summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Maw <jonathan.maw@codethink.co.uk>2013-06-28 10:30:15 +0000
committerJonathan Maw <jonathan.maw@codethink.co.uk>2013-06-28 10:30:15 +0000
commitdaba2f7416861898b2c01926ae6a2ef19fecfaab (patch)
tree6b159c5e7d612368e6bbb8e138ae3db15005c201
parent9a332ba261bea9e9f3c0915bc6f0c6a0d45a1d5d (diff)
parent606c24e3bd41207c395f24a56bcfcad791e265a5 (diff)
downloadsystemd-daba2f7416861898b2c01926ae6a2ef19fecfaab.tar.gz
Merge tag 'v204' into new-systemd
systemd 204
-rw-r--r--.gitignore22
-rw-r--r--.mailmap10
-rw-r--r--CODING_STYLE116
-rw-r--r--Makefile-man.am944
-rw-r--r--Makefile.am2031
-rw-r--r--NEWS581
-rw-r--r--README97
-rw-r--r--TODO625
-rwxr-xr-xautogen.sh4
-rw-r--r--catalog/systemd.catalog20
-rw-r--r--configure.ac183
-rw-r--r--docs/.gitignore1
-rw-r--r--docs/gudev/Makefile.am6
-rw-r--r--docs/libudev/Makefile.am6
-rw-r--r--docs/libudev/libudev-sections.txt1
-rw-r--r--hwdb/20-OUI.hwdb2708
-rw-r--r--hwdb/20-pci-vendor-model.hwdb66888
-rw-r--r--hwdb/20-pci-vendor-product.hwdb63993
-rw-r--r--hwdb/20-usb-vendor-model.hwdb49014
-rw-r--r--hwdb/20-usb-vendor-product.hwdb48138
-rwxr-xr-xhwdb/ids-update.pl16
-rw-r--r--keymaps/hewlett-packard-hdx9494nr3
-rw-r--r--keymaps/hewlett-packard_elitebook-8460p3
-rw-r--r--keymaps/lenovo-thinkpad-usb-keyboard-trackpoint2
-rw-r--r--keymaps/module-lenovo2
-rwxr-xr-xmake-directive-index.py215
-rwxr-xr-xmake-man-index.py165
-rw-r--r--make-man-rules.py101
-rw-r--r--man/.gitignore2
-rw-r--r--man/binfmt.d.xml4
-rw-r--r--man/bootchart.conf.xml37
-rw-r--r--man/bootup.xml167
-rw-r--r--man/crypttab.xml12
-rw-r--r--man/custom-html.xsl128
-rw-r--r--man/custom-man.xsl55
-rw-r--r--man/hostname.xml2
-rw-r--r--man/hostnamectl.xml4
-rw-r--r--man/journalctl.xml136
-rw-r--r--man/journald.conf.xml16
-rw-r--r--man/kernel-command-line.xml4
-rw-r--r--man/kernel-install.xml189
-rw-r--r--man/locale.conf.xml2
-rw-r--r--man/localectl.xml27
-rw-r--r--man/localtime.xml2
-rw-r--r--man/loginctl.xml27
-rw-r--r--man/logind.conf.xml67
-rw-r--r--man/machine-id.xml4
-rw-r--r--man/modules-load.d.xml6
-rw-r--r--man/nss-myhostname.xml8
-rw-r--r--man/os-release.xml22
-rw-r--r--man/pam_systemd.xml10
-rw-r--r--man/runlevel.xml4
-rw-r--r--man/sd-login.xml2
-rw-r--r--man/sd-readahead.xml2
-rw-r--r--man/sd_booted.xml9
-rw-r--r--man/sd_get_seats.xml31
-rw-r--r--man/sd_id128_to_string.xml17
-rw-r--r--man/sd_journal_add_match.xml68
-rw-r--r--man/sd_journal_get_catalog.xml14
-rw-r--r--man/sd_journal_get_cursor.xml2
-rw-r--r--man/sd_journal_get_fd.xml189
-rw-r--r--man/sd_journal_get_usage.xml12
-rw-r--r--man/sd_journal_seek_head.xml2
-rw-r--r--man/sd_listen_fds.xml2
-rw-r--r--man/sd_login_monitor_new.xml129
-rw-r--r--man/sd_notify.xml2
-rw-r--r--man/sd_pid_get_session.xml60
-rw-r--r--man/sd_readahead.xml2
-rw-r--r--man/sd_seat_get_active.xml2
-rw-r--r--man/sd_session_is_active.xml38
-rw-r--r--man/sd_uid_get_state.xml2
-rw-r--r--man/shutdown.xml2
-rw-r--r--man/sysctl.d.xml4
-rw-r--r--man/systemctl.xml2595
-rw-r--r--man/systemd-activate.xml183
-rw-r--r--man/systemd-analyze.xml114
-rw-r--r--man/systemd-ask-password.xml3
-rw-r--r--man/systemd-binfmt.service.xml2
-rw-r--r--man/systemd-bootchart.xml278
-rw-r--r--man/systemd-cat.xml2
-rw-r--r--man/systemd-cgls.xml23
-rw-r--r--man/systemd-cgtop.xml20
-rw-r--r--man/systemd-coredumpctl.xml16
-rw-r--r--man/systemd-cryptsetup-generator.xml30
-rw-r--r--man/systemd-cryptsetup@.service.xml2
-rw-r--r--man/systemd-delta.xml2
-rw-r--r--man/systemd-fsck@.service.xml2
-rw-r--r--man/systemd-fstab-generator.xml2
-rw-r--r--man/systemd-hostnamed.service.xml2
-rw-r--r--man/systemd-journal-gatewayd.service.xml80
-rw-r--r--man/systemd-journald.service.xml49
-rw-r--r--man/systemd-localed.service.xml2
-rw-r--r--man/systemd-logind.service.xml2
-rw-r--r--man/systemd-modules-load.service.xml4
-rw-r--r--man/systemd-nspawn.xml166
-rw-r--r--man/systemd-quotacheck.service.xml4
-rw-r--r--man/systemd-random-seed-load.service.xml2
-rw-r--r--man/systemd-readahead-replay.service.xml98
-rw-r--r--man/systemd-remount-fs.service.xml26
-rw-r--r--man/systemd-sleep.conf.xml181
-rw-r--r--man/systemd-suspend.service.xml50
-rw-r--r--man/systemd-system.conf.xml (renamed from man/systemd.conf.xml)57
-rw-r--r--man/systemd-timedated.service.xml2
-rw-r--r--man/systemd-tmpfiles.xml2
-rw-r--r--man/systemd-udevd.service.xml30
-rw-r--r--man/systemd-update-utmp-runlevel.service.xml2
-rw-r--r--man/systemd-user-sessions.service.xml2
-rw-r--r--man/systemd-vconsole-setup.service.xml4
-rw-r--r--man/systemd.automount.xml9
-rw-r--r--man/systemd.device.xml7
-rw-r--r--man/systemd.exec.xml284
-rw-r--r--man/systemd.journal-fields.xml43
-rw-r--r--man/systemd.kill.xml13
-rw-r--r--man/systemd.mount.xml41
-rw-r--r--man/systemd.path.xml55
-rw-r--r--man/systemd.service.xml241
-rw-r--r--man/systemd.snapshot.xml5
-rw-r--r--man/systemd.socket.xml42
-rw-r--r--man/systemd.special.xml699
-rw-r--r--man/systemd.swap.xml9
-rw-r--r--man/systemd.target.xml5
-rw-r--r--man/systemd.time.xml7
-rw-r--r--man/systemd.timer.xml23
-rw-r--r--man/systemd.unit.xml465
-rw-r--r--man/systemd.xml19
-rw-r--r--man/timedatectl.xml6
-rw-r--r--man/tmpfiles.d.xml15
-rw-r--r--man/udev.xml109
-rw-r--r--man/udevadm.xml6
-rw-r--r--man/vconsole.conf.xml4
-rw-r--r--po/pl.po392
-rw-r--r--rules/42-usb-hid-pm.rules2
-rw-r--r--rules/50-firmware.rules3
-rw-r--r--rules/50-udev-default.rules53
-rw-r--r--rules/60-persistent-storage.rules2
-rw-r--r--rules/80-drivers.rules12
-rw-r--r--rules/80-net-name-slot.rules3
-rw-r--r--shell-completion/bash/hostnamectl60
-rw-r--r--shell-completion/bash/journalctl105
-rw-r--r--shell-completion/bash/localectl75
-rw-r--r--shell-completion/bash/loginctl108
-rw-r--r--shell-completion/bash/systemctl219
-rw-r--r--shell-completion/bash/systemd-analyze76
-rw-r--r--shell-completion/bash/systemd-coredumpctl84
-rw-r--r--shell-completion/bash/timedatectl75
-rw-r--r--shell-completion/bash/udevadm103
-rw-r--r--shell-completion/systemd-bash-completion.sh607
-rw-r--r--shell-completion/systemd-zsh-completion.zsh97
-rw-r--r--src/activate/activate.c443
-rw-r--r--src/analyze/systemd-analyze.c1270
-rwxr-xr-xsrc/analyze/systemd-analyze.in328
-rw-r--r--src/ask-password/ask-password.c2
-rw-r--r--src/binfmt/binfmt.c135
l---------src/boot/Makefile1
-rw-r--r--src/boot/boot-efi.c190
-rw-r--r--src/boot/boot-loader.c132
-rw-r--r--src/boot/boot-loader.h25
-rw-r--r--src/boot/boot.h64
-rw-r--r--src/boot/bootctl.c288
l---------src/bootchart/Makefile1
-rw-r--r--src/bootchart/README83
-rw-r--r--src/bootchart/bootchart.c765
-rw-r--r--src/bootchart/bootchart.conf24
-rw-r--r--src/bootchart/bootchart.h164
-rw-r--r--src/bootchart/log.c420
-rwxr-xr-xsrc/bootchart/store.c504
-rw-r--r--src/bootchart/store.h35
-rw-r--r--src/bootchart/svg.c2234
-rw-r--r--src/bootchart/svg.h27
-rw-r--r--src/cgls/cgls.c89
-rw-r--r--src/cgtop/cgtop.c155
-rw-r--r--src/core/automount.c42
-rw-r--r--src/core/automount.h10
-rw-r--r--src/core/bus-errors.h13
-rw-r--r--src/core/cgroup-attr.c62
-rw-r--r--src/core/cgroup-attr.h12
-rw-r--r--src/core/cgroup-semantics.c333
-rw-r--r--src/core/cgroup-semantics.h43
-rw-r--r--src/core/cgroup.c112
-rw-r--r--src/core/cgroup.h5
-rw-r--r--src/core/condition.c5
-rw-r--r--src/core/condition.h4
-rw-r--r--src/core/dbus-execute.c10
-rw-r--r--src/core/dbus-execute.h5
-rw-r--r--src/core/dbus-job.c25
-rw-r--r--src/core/dbus-manager.c306
-rw-r--r--src/core/dbus-mount.c2
-rw-r--r--src/core/dbus-path.c6
-rw-r--r--src/core/dbus-service.c2
-rw-r--r--src/core/dbus-snapshot.c20
-rw-r--r--src/core/dbus-socket.c64
-rw-r--r--src/core/dbus-swap.c2
-rw-r--r--src/core/dbus-timer.c79
-rw-r--r--src/core/dbus-unit.c467
-rw-r--r--src/core/dbus-unit.h42
-rw-r--r--src/core/dbus.c38
-rw-r--r--src/core/device.c24
-rw-r--r--src/core/device.h4
-rw-r--r--src/core/execute.c370
-rw-r--r--src/core/execute.h20
-rw-r--r--src/core/hostname-setup.c3
-rw-r--r--src/core/ima-setup.c5
-rw-r--r--src/core/job.c119
-rw-r--r--src/core/job.h30
-rw-r--r--src/core/kill.h10
-rw-r--r--src/core/killall.c99
-rw-r--r--src/core/kmod-setup.c72
-rw-r--r--src/core/load-dropin.c129
-rw-r--r--src/core/load-dropin.h1
-rw-r--r--src/core/load-fragment-gperf.gperf.m454
-rw-r--r--src/core/load-fragment.c1772
-rw-r--r--src/core/load-fragment.h102
-rw-r--r--src/core/locale-setup.c5
-rw-r--r--src/core/loopback-setup.c93
-rw-r--r--src/core/machine-id-setup.c119
-rw-r--r--src/core/macros.systemd.in4
-rw-r--r--src/core/main.c395
-rw-r--r--src/core/manager.c422
-rw-r--r--src/core/manager.h18
-rw-r--r--src/core/mount-setup.c114
-rw-r--r--src/core/mount.c226
-rw-r--r--src/core/mount.h12
-rw-r--r--src/core/namespace.c237
-rw-r--r--src/core/namespace.h14
-rw-r--r--src/core/path.c258
-rw-r--r--src/core/path.h18
-rw-r--r--src/core/selinux-access.c28
-rw-r--r--src/core/selinux-setup.c5
-rw-r--r--src/core/service.c519
-rw-r--r--src/core/service.h28
-rw-r--r--src/core/shutdown.c5
-rw-r--r--src/core/smack-setup.c151
-rw-r--r--src/core/smack-setup.h26
-rw-r--r--src/core/snapshot.c5
-rw-r--r--src/core/snapshot.h4
-rw-r--r--src/core/socket.c199
-rw-r--r--src/core/socket.h23
-rw-r--r--src/core/special.h10
-rw-r--r--src/core/swap.c149
-rw-r--r--src/core/swap.h12
-rw-r--r--src/core/sync.c65
-rw-r--r--src/core/sync.h24
-rw-r--r--src/core/syscall-list.c4
-rw-r--r--src/core/syscall-list.h14
-rw-r--r--src/core/system.conf2
-rw-r--r--src/core/target.c4
-rw-r--r--src/core/target.h4
-rw-r--r--src/core/timer.c162
-rw-r--r--src/core/timer.h21
-rw-r--r--src/core/transaction.c30
-rw-r--r--src/core/transaction.h3
-rw-r--r--src/core/umount.c35
-rw-r--r--src/core/unit-printf.c82
-rw-r--r--src/core/unit.c714
-rw-r--r--src/core/unit.h64
-rw-r--r--src/core/user.conf2
-rw-r--r--src/cryptsetup/cryptsetup-generator.c365
-rw-r--r--src/cryptsetup/cryptsetup.c103
-rw-r--r--src/delta/delta.c14
l---------src/efi-boot-generator/Makefile1
-rw-r--r--src/efi-boot-generator/efi-boot-generator.c123
-rw-r--r--src/fsck/fsck.c14
-rw-r--r--src/fstab-generator/fstab-generator.c233
-rw-r--r--src/getty-generator/getty-generator.c3
-rw-r--r--src/hostname/hostnamectl.c69
-rw-r--r--src/hostname/hostnamed.c21
-rw-r--r--src/initctl/initctl.c22
-rw-r--r--src/journal/cat.c2
-rw-r--r--src/journal/catalog.c268
-rw-r--r--src/journal/catalog.h17
-rw-r--r--src/journal/coredump.c85
-rw-r--r--src/journal/coredumpctl.c35
-rw-r--r--src/journal/fsprg.c2
-rw-r--r--src/journal/fsprg.h10
-rw-r--r--src/journal/journal-file.c95
-rw-r--r--src/journal/journal-file.h8
-rw-r--r--src/journal/journal-gatewayd.c258
-rw-r--r--src/journal/journal-internal.h22
-rw-r--r--src/journal/journal-send.c96
-rw-r--r--src/journal/journal-vacuum.c4
-rw-r--r--src/journal/journalctl.c458
-rw-r--r--src/journal/journald-gperf.gperf7
-rw-r--r--src/journal/journald-kmsg.c8
-rw-r--r--src/journal/journald-native.c11
-rw-r--r--src/journal/journald-rate-limit.c17
-rw-r--r--src/journal/journald-server.c466
-rw-r--r--src/journal/journald-server.h20
-rw-r--r--src/journal/journald-stream.c11
-rw-r--r--src/journal/journald-syslog.c33
-rw-r--r--src/journal/journald-syslog.h2
-rw-r--r--src/journal/journald.c1
-rw-r--r--src/journal/journald.conf1
-rw-r--r--src/journal/libsystemd-journal.sym17
-rw-r--r--src/journal/lookup3.h8
-rw-r--r--src/journal/microhttpd-util.c37
-rw-r--r--src/journal/microhttpd-util.h28
-rw-r--r--src/journal/mmap-cache.c7
-rw-r--r--src/journal/sd-journal.c314
-rw-r--r--src/journal/test-catalog.c98
-rw-r--r--src/journal/test-journal-enum.c6
-rw-r--r--src/journal/test-journal-match.c21
-rw-r--r--src/journal/test-journal-stream.c10
-rw-r--r--src/journal/test-journal-syslog.c6
-rw-r--r--src/journal/test-journal-verify.c2
-rw-r--r--src/kernel-install/50-depmod.install8
-rw-r--r--src/kernel-install/90-loaderentry.install77
-rw-r--r--src/kernel-install/kernel-install123
l---------src/libsystemd-bus/Makefile1
-rw-r--r--src/libsystemd-bus/bus-bloom.c93
-rw-r--r--src/libsystemd-bus/bus-bloom.h30
-rw-r--r--src/libsystemd-bus/bus-control.c378
-rw-r--r--src/libsystemd-bus/bus-control.h27
-rw-r--r--src/libsystemd-bus/bus-error.c177
-rw-r--r--src/libsystemd-bus/bus-error.h31
-rw-r--r--src/libsystemd-bus/bus-internal.c256
-rw-r--r--src/libsystemd-bus/bus-internal.h198
-rw-r--r--src/libsystemd-bus/bus-kernel.c618
-rw-r--r--src/libsystemd-bus/bus-kernel.h32
-rw-r--r--src/libsystemd-bus/bus-match.c994
-rw-r--r--src/libsystemd-bus/bus-match.h82
-rw-r--r--src/libsystemd-bus/bus-message.c3494
-rw-r--r--src/libsystemd-bus/bus-message.h198
-rw-r--r--src/libsystemd-bus/bus-signature.c153
-rw-r--r--src/libsystemd-bus/bus-signature.h31
-rw-r--r--src/libsystemd-bus/bus-socket.c1059
-rw-r--r--src/libsystemd-bus/bus-socket.h36
-rw-r--r--src/libsystemd-bus/bus-type.c163
-rw-r--r--src/libsystemd-bus/bus-type.h34
-rw-r--r--src/libsystemd-bus/busctl.c340
-rw-r--r--src/libsystemd-bus/kdbus.h418
-rw-r--r--src/libsystemd-bus/sd-bus.c2425
-rw-r--r--src/libsystemd-bus/test-bus-chat.c576
-rw-r--r--src/libsystemd-bus/test-bus-kernel.c162
-rw-r--r--src/libsystemd-bus/test-bus-marshal.c175
-rw-r--r--src/libsystemd-bus/test-bus-match.c114
-rw-r--r--src/libsystemd-bus/test-bus-server.c223
-rw-r--r--src/libsystemd-bus/test-bus-signature.c116
-rw-r--r--src/libsystemd-daemon/sd-daemon.c66
-rw-r--r--src/libsystemd-id128/sd-id128.c64
-rw-r--r--src/libudev/libudev-device-private.c8
-rw-r--r--src/libudev/libudev-device.c156
-rw-r--r--src/libudev/libudev-enumerate.c14
-rw-r--r--src/libudev/libudev-hwdb.c10
-rw-r--r--src/libudev/libudev-monitor.c8
-rw-r--r--src/libudev/libudev-private.h6
-rw-r--r--src/libudev/libudev-queue.c4
-rw-r--r--src/libudev/libudev-util.c117
-rw-r--r--src/libudev/libudev.c2
-rw-r--r--src/libudev/libudev.h1
-rw-r--r--src/libudev/libudev.pc.in4
-rw-r--r--src/libudev/libudev.sym5
-rw-r--r--src/locale/kbd-model-map1
-rw-r--r--src/locale/localectl.c196
-rw-r--r--src/locale/localed.c38
-rw-r--r--src/login/70-uaccess.rules1
-rw-r--r--src/login/71-seat.rules.in4
-rw-r--r--src/login/inhibit.c85
-rw-r--r--src/login/libsystemd-login.sym22
-rw-r--r--src/login/loginctl.c328
-rw-r--r--src/login/logind-action.c18
-rw-r--r--src/login/logind-action.h6
-rw-r--r--src/login/logind-button.c36
-rw-r--r--src/login/logind-dbus.c607
-rw-r--r--src/login/logind-gperf.gperf4
-rw-r--r--src/login/logind-inhibit.c25
-rw-r--r--src/login/logind-seat-dbus.c70
-rw-r--r--src/login/logind-session-dbus.c78
-rw-r--r--src/login/logind-session.c32
-rw-r--r--src/login/logind-session.h33
-rw-r--r--src/login/logind-user-dbus.c58
-rw-r--r--src/login/logind-user.c17
-rw-r--r--src/login/logind-user.h4
-rw-r--r--src/login/logind.c163
-rw-r--r--src/login/logind.h23
-rw-r--r--src/login/org.freedesktop.login1.policy.in2
-rw-r--r--src/login/pam-module.c44
-rw-r--r--src/login/sd-login.c366
-rw-r--r--src/login/sysfs-show.c8
-rw-r--r--src/login/test-login.c31
-rw-r--r--src/login/uaccess.c91
-rw-r--r--src/login/user-sessions.c3
-rw-r--r--src/modules-load/modules-load.c188
-rw-r--r--src/notify/notify.c1
-rw-r--r--src/nspawn/nspawn.c489
l---------src/nss-myhostname/Makefile1
-rw-r--r--src/nss-myhostname/netlink.c256
-rw-r--r--src/nss-myhostname/nss-myhostname.c203
-rw-r--r--src/python-systemd/.gitignore2
-rw-r--r--src/python-systemd/_daemon.c325
-rw-r--r--src/python-systemd/_journal.c25
-rw-r--r--src/python-systemd/_reader.c1131
-rw-r--r--src/python-systemd/daemon.py54
-rw-r--r--src/python-systemd/docs/.gitignore1
-rw-r--r--src/python-systemd/docs/conf.py279
-rw-r--r--src/python-systemd/docs/daemon.rst16
-rw-r--r--src/python-systemd/docs/default.css196
-rw-r--r--src/python-systemd/docs/id128.rst40
-rw-r--r--src/python-systemd/docs/index.rst24
-rw-r--r--src/python-systemd/docs/journal.rst63
-rw-r--r--src/python-systemd/docs/layout.html17
-rw-r--r--src/python-systemd/docs/login.rst5
-rw-r--r--src/python-systemd/id128.c161
-rw-r--r--src/python-systemd/journal.py412
-rw-r--r--src/python-systemd/login.c176
-rw-r--r--src/python-systemd/pyutil.c46
-rw-r--r--src/python-systemd/pyutil.h49
-rw-r--r--src/quotacheck/quotacheck.c29
-rw-r--r--src/rc-local-generator/rc-local-generator.c2
-rw-r--r--src/readahead/readahead-analyze.c22
-rw-r--r--src/readahead/readahead-collect.c67
-rw-r--r--src/readahead/readahead-common.c40
-rw-r--r--src/readahead/readahead.c2
-rw-r--r--src/readahead/sd-readahead.c16
-rw-r--r--src/remount-fs/remount-fs.c3
-rw-r--r--src/reply-password/reply-password.c6
-rw-r--r--src/shared/MurmurHash3.c349
-rw-r--r--src/shared/MurmurHash3.h38
-rw-r--r--src/shared/acl-util.c60
-rw-r--r--src/shared/acl-util.h3
-rw-r--r--src/shared/ask-password-api.c27
-rw-r--r--src/shared/audit.c10
-rw-r--r--src/shared/calendarspec.c16
-rw-r--r--src/shared/capability.c3
-rw-r--r--src/shared/cgroup-label.c37
-rw-r--r--src/shared/cgroup-show.c167
-rw-r--r--src/shared/cgroup-show.h10
-rw-r--r--src/shared/cgroup-util.c1125
-rw-r--r--src/shared/cgroup-util.h52
-rw-r--r--src/shared/conf-files.c135
-rw-r--r--src/shared/conf-files.h5
-rw-r--r--src/shared/conf-parser.c817
-rw-r--r--src/shared/conf-parser.h107
-rw-r--r--src/shared/dbus-common.c105
-rw-r--r--src/shared/dbus-common.h26
-rw-r--r--src/shared/dbus-loop.c38
-rw-r--r--src/shared/efivars.c503
-rw-r--r--src/shared/efivars.h47
-rw-r--r--src/shared/env-util.c415
-rw-r--r--src/shared/env-util.h44
-rw-r--r--src/shared/exit-status.h2
-rw-r--r--src/shared/fileio-label.c55
-rw-r--r--src/shared/fileio-label.h29
-rw-r--r--src/shared/fileio.c596
-rw-r--r--src/shared/fileio.h37
-rw-r--r--src/shared/hashmap.c27
-rw-r--r--src/shared/hashmap.h37
-rw-r--r--src/shared/hwclock.c94
-rw-r--r--src/shared/install-printf.c132
-rw-r--r--src/shared/install-printf.h25
-rw-r--r--src/shared/install.c552
-rw-r--r--src/shared/install.h18
-rw-r--r--src/shared/label.c6
-rw-r--r--src/shared/label.h4
-rw-r--r--src/shared/log.c161
-rw-r--r--src/shared/log.h16
-rw-r--r--src/shared/logs-show.c186
-rw-r--r--src/shared/logs-show.h42
-rw-r--r--src/shared/macro.h87
-rw-r--r--src/shared/missing.h8
-rw-r--r--src/shared/output-mode.h44
-rw-r--r--src/shared/pager.c7
-rw-r--r--src/shared/pager.h6
-rw-r--r--src/shared/path-lookup.c30
-rw-r--r--src/shared/path-lookup.h4
-rw-r--r--src/shared/path-util.c56
-rw-r--r--src/shared/path-util.h34
-rw-r--r--src/shared/polkit.c10
-rw-r--r--src/shared/prioq.c305
-rw-r--r--src/shared/prioq.h40
-rw-r--r--src/shared/ratelimit.c2
-rw-r--r--src/shared/set.c15
-rw-r--r--src/shared/set.h13
-rw-r--r--src/shared/sleep-config.c179
-rw-r--r--src/shared/sleep-config.h26
-rw-r--r--src/shared/socket-util.c48
-rw-r--r--src/shared/socket-util.h12
-rw-r--r--src/shared/spawn-polkit-agent.c12
-rw-r--r--src/shared/specifier.c36
-rw-r--r--src/shared/specifier.h6
-rw-r--r--src/shared/strbuf.c51
-rw-r--r--src/shared/strv.c343
-rw-r--r--src/shared/strv.h49
-rw-r--r--src/shared/strxcpyx.c104
-rw-r--r--src/shared/strxcpyx.h31
-rw-r--r--src/shared/time-dst.c69
-rw-r--r--src/shared/time-util.c164
-rw-r--r--src/shared/time-util.h9
-rw-r--r--src/shared/unit-name.c34
-rw-r--r--src/shared/unit-name.h25
-rw-r--r--src/shared/utf8.c37
-rw-r--r--src/shared/utf8.h2
-rw-r--r--src/shared/util.c1520
-rw-r--r--src/shared/util.h287
-rw-r--r--src/shared/utmp-wtmp.c75
-rw-r--r--src/shared/virt.c33
-rw-r--r--src/shared/watchdog.c2
-rw-r--r--src/shutdownd/shutdownd.c69
-rw-r--r--src/sleep/sleep.c245
-rw-r--r--src/stdio-bridge/stdio-bridge.c418
-rw-r--r--src/sysctl/sysctl.c159
-rw-r--r--src/system-update-generator/system-update-generator.c7
-rw-r--r--src/systemctl/systemctl.c2611
-rw-r--r--src/systemd/sd-bus-protocol.h153
-rw-r--r--src/systemd/sd-bus.h210
-rw-r--r--src/systemd/sd-daemon.h10
-rw-r--r--src/systemd/sd-id128.h2
-rw-r--r--src/systemd/sd-journal.h29
-rw-r--r--src/systemd/sd-login.h31
-rw-r--r--src/systemd/sd-messages.h10
-rw-r--r--src/systemd/sd-shutdown.h4
-rw-r--r--src/test/test-cgroup-util.c183
-rw-r--r--src/test/test-cgroup.c16
-rw-r--r--src/test/test-efivars.c47
-rw-r--r--src/test/test-env-replace.c247
-rw-r--r--src/test/test-fileio.c145
-rw-r--r--src/test/test-hashmap.c508
-rw-r--r--src/test/test-id128.c27
-rw-r--r--src/test/test-ns.c14
-rw-r--r--src/test/test-path-util.c89
-rw-r--r--src/test/test-prioq.c166
-rw-r--r--src/test/test-sched-prio.c12
-rw-r--r--src/test/test-sleep.c30
-rw-r--r--src/test/test-strbuf.c93
-rw-r--r--src/test/test-strv.c251
-rw-r--r--src/test/test-strxcpyx.c101
-rw-r--r--src/test/test-time.c136
-rw-r--r--src/test/test-udev.c7
-rw-r--r--src/test/test-unit-file.c204
-rw-r--r--src/test/test-unit-name.c314
-rw-r--r--src/test/test-util.c472
-rw-r--r--src/timedate/timedatectl.c17
-rw-r--r--src/timedate/timedated.c113
-rw-r--r--src/tmpfiles/tmpfiles.c493
-rw-r--r--src/tty-ask-password-agent/tty-ask-password-agent.c16
-rw-r--r--src/udev/accelerometer/accelerometer.c48
-rw-r--r--src/udev/ata_id/ata_id.c320
-rw-r--r--src/udev/cdrom_id/cdrom_id.c6
-rw-r--r--src/udev/collect/collect.c20
-rw-r--r--src/udev/keymap/95-keyboard-force-release.rules2
-rw-r--r--src/udev/keymap/95-keymap.rules11
-rwxr-xr-xsrc/udev/keymap/findkeyboards2
-rw-r--r--src/udev/keymap/keymap.c2
-rw-r--r--src/udev/scsi_id/scsi_id.c34
-rw-r--r--src/udev/scsi_id/scsi_id.h18
-rw-r--r--src/udev/scsi_id/scsi_serial.c4
-rw-r--r--src/udev/udev-builtin-blkid.c18
-rw-r--r--src/udev/udev-builtin-btrfs.c2
-rw-r--r--src/udev/udev-builtin-firmware.c26
-rw-r--r--src/udev/udev-builtin-kmod.c2
-rw-r--r--src/udev/udev-builtin-net_id.c91
-rw-r--r--src/udev/udev-builtin-path_id.c45
-rw-r--r--src/udev/udev-builtin-uaccess.c3
-rw-r--r--src/udev/udev-builtin-usb_id.c59
-rw-r--r--src/udev/udev-builtin.c8
-rw-r--r--src/udev/udev-ctrl.c6
-rw-r--r--src/udev/udev-event.c71
-rw-r--r--src/udev/udev-node.c54
-rw-r--r--src/udev/udev-rules.c34
-rw-r--r--src/udev/udev-watch.c2
-rw-r--r--src/udev/udev.h13
-rw-r--r--src/udev/udevadm-hwdb.c99
-rw-r--r--src/udev/udevadm-info.c24
-rw-r--r--src/udev/udevadm-monitor.c2
-rw-r--r--src/udev/udevadm-test-builtin.c4
-rw-r--r--src/udev/udevadm-test.c10
-rw-r--r--src/udev/udevadm-trigger.c14
-rw-r--r--src/udev/udevadm.c2
-rw-r--r--src/udev/udevd.c155
-rw-r--r--src/update-utmp/update-utmp.c3
-rw-r--r--src/vconsole/vconsole-setup.c119
-rw-r--r--sysctl.d/.gitignore2
-rw-r--r--sysctl.d/50-coredump.conf.in (renamed from sysctl.d/coredump.conf.in)2
-rw-r--r--sysctl.d/50-default.conf24
-rw-r--r--test/.gitignore2
-rw-r--r--test/README.testsuite4
-rwxr-xr-xtest/TEST-01-BASIC/test.sh24
-rwxr-xr-xtest/TEST-02-CRYPTSETUP/test.sh18
l---------test/TEST-03-JOBS/Makefile1
-rwxr-xr-xtest/TEST-03-JOBS/test-jobs.sh41
-rwxr-xr-xtest/TEST-03-JOBS/test.sh249
-rw-r--r--test/end.service6
-rw-r--r--test/hello-after-sleep.target5
-rw-r--r--test/hello.service5
-rw-r--r--test/sleep.service6
-rw-r--r--test/testsuite.target6
-rwxr-xr-xtest/udev-test.pl2
-rw-r--r--test/unstoppable.service5
-rw-r--r--tmpfiles.d/systemd.conf2
-rw-r--r--tmpfiles.d/tmp.conf6
-rw-r--r--units/.gitignore9
-rw-r--r--units/basic.target5
-rw-r--r--units/debug-shell.service.in6
-rw-r--r--units/dev-hugepages.mount1
-rw-r--r--units/dev-mqueue.mount1
-rw-r--r--units/initrd-cleanup.service.in17
-rw-r--r--units/initrd-fs.target14
-rw-r--r--units/initrd-parse-etc.service.in21
-rw-r--r--units/initrd-root-fs.target (renamed from units/mail-transfer-agent.target)8
-rw-r--r--units/initrd-switch-root.service.in19
-rw-r--r--units/initrd-switch-root.target16
-rw-r--r--units/initrd-udevadm-cleanup-db.service.in18
-rw-r--r--units/initrd.target17
-rw-r--r--units/local-fs-pre.target1
-rw-r--r--units/local-fs.target3
-rw-r--r--units/multi-user.target2
-rw-r--r--units/network-online.target11
-rw-r--r--units/network.target1
-rw-r--r--units/nss-lookup.target2
-rw-r--r--units/nss-user-lookup.target2
-rw-r--r--units/paths.target10
-rw-r--r--units/proc-sys-fs-binfmt_misc.automount1
-rw-r--r--units/proc-sys-fs-binfmt_misc.mount1
-rw-r--r--units/remote-fs-pre.target2
-rw-r--r--units/remote-fs.target1
-rw-r--r--units/rpcbind.target1
-rw-r--r--units/sys-fs-fuse-connections.mount1
-rw-r--r--units/sys-kernel-config.mount1
-rw-r--r--units/sys-kernel-debug.mount1
-rw-r--r--units/syslog.socket5
-rw-r--r--units/syslog.target19
-rw-r--r--units/systemd-ask-password-console.path2
-rw-r--r--units/systemd-ask-password-console.service.in2
-rw-r--r--units/systemd-ask-password-wall.path2
-rw-r--r--units/systemd-journal-gatewayd.service.in3
-rw-r--r--units/systemd-journald.socket2
-rw-r--r--units/systemd-nspawn@.service.in18
-rw-r--r--units/systemd-readahead-done.timer2
-rw-r--r--units/systemd-remount-fs.service.in1
-rw-r--r--units/systemd-tmpfiles-clean.service.in2
-rw-r--r--units/systemd-tmpfiles-clean.timer2
-rw-r--r--units/systemd-tmpfiles-setup-dev.service.in17
-rw-r--r--units/systemd-tmpfiles-setup.service.in2
-rw-r--r--units/systemd-udev-settle.service.in15
-rw-r--r--units/systemd-udev-trigger.service.in5
-rw-r--r--units/systemd-udevd-control.socket1
-rw-r--r--units/systemd-udevd-kernel.socket1
-rw-r--r--units/systemd-udevd.service.in4
-rw-r--r--units/time-sync.target1
-rw-r--r--units/timers.target10
-rw-r--r--units/tmp.mount1
-rw-r--r--units/user/default.target1
-rw-r--r--units/user@.service.in10
-rw-r--r--xml_helper.py41
643 files changed, 173067 insertions, 132051 deletions
diff --git a/.gitignore b/.gitignore
index af62f2acad..c1fe85d656 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,7 +2,9 @@
/TAGS
/accelerometer
/ata_id
+/bootctl
/build-aux
+/busctl
/cdrom_id
/collect
/gtk-doc.make
@@ -22,7 +24,9 @@
/systemadm
/systemctl
/systemd
+/systemd-activate
/systemd-ac-power
+/systemd-analyze
/systemd-ask-password
/systemd-binfmt
/systemd-bootchart
@@ -36,6 +40,7 @@
/systemd-cryptsetup-generator
/systemd-delta
/systemd-detect-virt
+/systemd-efi-boot-generator
/systemd-fsck
/systemd-fstab-generator
/systemd-getty-generator
@@ -76,13 +81,22 @@
/systemd-user-sessions
/systemd-vconsole-setup
/tags
+/test-bus-chat
+/test-bus-kernel
+/test-bus-marshal
+/test-bus-match
+/test-bus-signature
+/test-bus-server
/test-calendarspec
/test-catalog
/test-cgroup
+/test-cgroup-util
/test-daemon
/test-date
+/test-efivars
/test-engine
/test-env-replace
+/test-fileio
/test-hostname
/test-id128
/test-inhibit
@@ -101,14 +115,20 @@
/test-loopback
/test-mmap-cache
/test-ns
+/test-path-util
+/test-prioq
/test-replace-var
/test-sched-prio
/test-sleep
/test-strip-tab-ansi
+/test-strbuf
/test-strv
+/test-strxcpyx
+/test-time
/test-udev
/test-unit-file
/test-unit-name
+/test-util
/test-watchdog
/timedatectl
/udevadm
@@ -125,6 +145,8 @@
*.lo
*.o
*.stamp
+*.pyc
+__pycache__/
*~
.deps/
.dirstamp
diff --git a/.mailmap b/.mailmap
index 12fb2c8e60..ddaf4d5708 100644
--- a/.mailmap
+++ b/.mailmap
@@ -50,3 +50,13 @@ Ted Ts'o <tytso@mit.edu>
Tobias Klauser <tklauser@access.unizh.ch>
Tobias Klauser <tklauser@access.unizh.ch> <tklauser@access.unizh.chbk>
Tobias Klauser <tklauser@access.unizh.ch> <klauser@access.unizh.ch>
+Patrick Mansfield <patmans@us.ibm.com>
+Christophe Varoqui <christophe.varoqui@free.fr>
+Daniel Stekloff <dsteklof@us.ibm.com>
+Michael Buesch <mbuesch@freenet.de>
+Olaf Hering <olh@suse.de>
+Robert Love <rml@tech9.net>
+Arnd Bergmann <arnd@arndb.de>
+Tom Rini <trini@kernel.crashing.org>
+Paul Mundt <lethal@linux-sh.org>
+Atul Sabharwal <atul.sabharwal@intel.com>
diff --git a/CODING_STYLE b/CODING_STYLE
index 04b4ed20e9..4b84479d20 100644
--- a/CODING_STYLE
+++ b/CODING_STYLE
@@ -1,27 +1,123 @@
- 8ch indent, no tabs
-- structs in MixedCase, variables, functions in lower_case
+- Variables and functions *must* be static, unless they have a
+ protoype, and are supposed to be exported.
-- the destructors always unregister the object from the next bigger
+- structs in MixedCase, variables + functions in lower_case
+
+- The destructors always unregister the object from the next bigger
object, not the other way around
-- to minimize strict aliasing violations we prefer unions over casting
+- To minimize strict aliasing violations we prefer unions over casting
-- for robustness reasons destructors should be able to destruct
+- For robustness reasons destructors should be able to destruct
half-initialized objects, too
-- error codes are returned as negative Exxx. i.e. return -EINVAL. There
+- Error codes are returned as negative Exxx. i.e. return -EINVAL. There
are some exceptions: for constructors its is OK to return NULL on
- OOM. For lookup functions NULL is fine too for "not found"
+ OOM. For lookup functions NULL is fine too for "not found".
+
+ Be strict with this. When you write a function that can fail due to
+ more than one cause, it *really* should have "int" as return value
+ for the error code.
+
+- Don't bother with error checking if writing to stdout/stderr worked.
+
+- Do not log errors from "library" code, only do so from "main
+ program" code.
+
+- Always check OOM. There's no excuse. In program code you can use
+ "log_oom()" for then printing a short message.
- Do not issue NSS requests (that includes user name and host name
lookups) from the main daemon as this might trigger deadlocks when
- we those lookups involve synchronously talking to services that we
+ those lookups involve synchronously talking to services that we
would need to start up
-- Do not access any directories outside of /etc, /dev, /lib from the
- init daemon to avoid deadlocks with the automounter
-
- Don't synchronously talk to any other service, due to risk of
deadlocks
+
+- Avoid fixed sized string buffers, unless you really know the maximum
+ size and that maximum size is small. They are a source of errors,
+ since they result in strings to be truncated. Often it is nicer to
+ use dynamic memory, or alloca(). If you do allocate fixed size
+ strings on the stack, then it's probably only OK if you either use a
+ maximum size such as LINE_MAX, or count in detail the maximum size a
+ string can have. Or in other words, if you use "char buf[256]" then
+ you are likely doing something wrong!
+
+- Stay uniform. For example, always use "usec_t" for time
+ values. Don't usec mix msec, and usec and whatnot.
+
+- Make use of _cleanup_free_ and friends. It makes your code much
+ nicer to read!
+
+- Be exceptionally careful when formatting and parsing floating point
+ numbers. Their syntax is locale dependent (i.e. "5.000" in en_US is
+ generally understood as 5, while on de_DE as 5000.).
+
+- Try to use this:
+
+ void foo() {
+ }
+
+ instead of this:
+
+ void foo()
+ {
+ }
+
+ But it's OK if you don't.
+
+- Don't write "foo ()", write "foo()".
+
+- Please use streq() and strneq() instead of strcmp(), strncmp() where applicable.
+
+- Please do not allocate variables on the stack in the middle of code,
+ even if C99 allows it. Wrong:
+
+ {
+ a = 5;
+ int b;
+ b = a;
+ }
+
+ Right:
+
+ {
+ int b;
+ a = 5;
+ b = a;
+ }
+
+- Unless you allocate an array, "double" is always the better choice
+ than "float". Processors speak "double" natively anyway, so this is
+ no speed benefit, and on calls like printf() "float"s get upgraded
+ to "double"s anyway, so there is no point.
+
+- Don't invoke functions when you allocate variables on the stack. Wrong:
+
+ {
+ int a = foobar();
+ uint64_t x = 7;
+ }
+
+ Right:
+
+ {
+ int a;
+ uint64_t x = 7;
+
+ a = foobar();
+ }
+
+- Use "goto" for cleaning up, and only use it for that. i.e. you may
+ only jump to the end of a function, and little else.
+
+- Think about the types you use. If a value cannot sensibly be
+ negative don't use "int", but use "unsigned".
+
+- Don't use types like "short". They *never* make sense. Use ints,
+ longs, long longs, all in unsigned+signed fashion, and the fixed
+ size types uint32_t and so on, but nothing else.
diff --git a/Makefile-man.am b/Makefile-man.am
new file mode 100644
index 0000000000..481423a963
--- /dev/null
+++ b/Makefile-man.am
@@ -0,0 +1,944 @@
+# Do not edit. Generated by make-man-rules.py.
+# Regenerate with 'make all update-man-list'.
+
+MANPAGES += \
+ man/bootup.7 \
+ man/daemon.7 \
+ man/halt.8 \
+ man/hostname.5 \
+ man/journalctl.1 \
+ man/journald.conf.5 \
+ man/kernel-command-line.7 \
+ man/kernel-install.8 \
+ man/locale.conf.5 \
+ man/localtime.5 \
+ man/machine-id.5 \
+ man/machine-info.5 \
+ man/os-release.5 \
+ man/runlevel.8 \
+ man/sd-daemon.3 \
+ man/sd-id128.3 \
+ man/sd-journal.3 \
+ man/sd_booted.3 \
+ man/sd_id128_get_machine.3 \
+ man/sd_id128_randomize.3 \
+ man/sd_id128_to_string.3 \
+ man/sd_is_fifo.3 \
+ man/sd_journal_add_match.3 \
+ man/sd_journal_get_catalog.3 \
+ man/sd_journal_get_cursor.3 \
+ man/sd_journal_get_cutoff_realtime_usec.3 \
+ man/sd_journal_get_data.3 \
+ man/sd_journal_get_fd.3 \
+ man/sd_journal_get_realtime_usec.3 \
+ man/sd_journal_get_usage.3 \
+ man/sd_journal_next.3 \
+ man/sd_journal_open.3 \
+ man/sd_journal_print.3 \
+ man/sd_journal_query_unique.3 \
+ man/sd_journal_seek_head.3 \
+ man/sd_journal_stream_fd.3 \
+ man/sd_listen_fds.3 \
+ man/sd_notify.3 \
+ man/shutdown.8 \
+ man/sysctl.d.5 \
+ man/systemctl.1 \
+ man/systemd-activate.8 \
+ man/systemd-analyze.1 \
+ man/systemd-ask-password-console.service.8 \
+ man/systemd-ask-password.1 \
+ man/systemd-cat.1 \
+ man/systemd-cgls.1 \
+ man/systemd-cgtop.1 \
+ man/systemd-delta.1 \
+ man/systemd-detect-virt.1 \
+ man/systemd-fsck@.service.8 \
+ man/systemd-fstab-generator.8 \
+ man/systemd-getty-generator.8 \
+ man/systemd-halt.service.8 \
+ man/systemd-inhibit.1 \
+ man/systemd-initctl.service.8 \
+ man/systemd-journald.service.8 \
+ man/systemd-machine-id-setup.1 \
+ man/systemd-notify.1 \
+ man/systemd-nspawn.1 \
+ man/systemd-remount-fs.service.8 \
+ man/systemd-shutdownd.service.8 \
+ man/systemd-sleep.conf.5 \
+ man/systemd-suspend.service.8 \
+ man/systemd-sysctl.service.8 \
+ man/systemd-system-update-generator.8 \
+ man/systemd-system.conf.5 \
+ man/systemd-tmpfiles.8 \
+ man/systemd-tty-ask-password-agent.1 \
+ man/systemd-udevd.service.8 \
+ man/systemd-update-utmp-runlevel.service.8 \
+ man/systemd.1 \
+ man/systemd.automount.5 \
+ man/systemd.device.5 \
+ man/systemd.exec.5 \
+ man/systemd.journal-fields.7 \
+ man/systemd.kill.5 \
+ man/systemd.mount.5 \
+ man/systemd.path.5 \
+ man/systemd.preset.5 \
+ man/systemd.service.5 \
+ man/systemd.snapshot.5 \
+ man/systemd.socket.5 \
+ man/systemd.special.7 \
+ man/systemd.swap.5 \
+ man/systemd.target.5 \
+ man/systemd.time.7 \
+ man/systemd.timer.5 \
+ man/systemd.unit.5 \
+ man/telinit.8 \
+ man/tmpfiles.d.5 \
+ man/udev.7 \
+ man/udevadm.8
+MANPAGES_ALIAS += \
+ man/SD_ALERT.3 \
+ man/SD_CRIT.3 \
+ man/SD_DEBUG.3 \
+ man/SD_EMERG.3 \
+ man/SD_ERR.3 \
+ man/SD_ID128_CONST_STR.3 \
+ man/SD_ID128_FORMAT_STR.3 \
+ man/SD_ID128_FORMAT_VAL.3 \
+ man/SD_ID128_MAKE.3 \
+ man/SD_INFO.3 \
+ man/SD_JOURNAL_APPEND.3 \
+ man/SD_JOURNAL_FOREACH.3 \
+ man/SD_JOURNAL_FOREACH_BACKWARDS.3 \
+ man/SD_JOURNAL_FOREACH_DATA.3 \
+ man/SD_JOURNAL_FOREACH_UNIQUE.3 \
+ man/SD_JOURNAL_INVALIDATE.3 \
+ man/SD_JOURNAL_LOCAL_ONLY.3 \
+ man/SD_JOURNAL_NOP.3 \
+ man/SD_JOURNAL_RUNTIME_ONLY.3 \
+ man/SD_JOURNAL_SUPPRESS_LOCATION.3 \
+ man/SD_JOURNAL_SYSTEM_ONLY.3 \
+ man/SD_LISTEN_FDS_START.3 \
+ man/SD_NOTICE.3 \
+ man/SD_WARNING.3 \
+ man/init.1 \
+ man/poweroff.8 \
+ man/reboot.8 \
+ man/sd_id128_equal.3 \
+ man/sd_id128_from_string.3 \
+ man/sd_id128_get_boot.3 \
+ man/sd_id128_t.3 \
+ man/sd_is_mq.3 \
+ man/sd_is_socket.3 \
+ man/sd_is_socket_inet.3 \
+ man/sd_is_socket_unix.3 \
+ man/sd_journal.3 \
+ man/sd_journal_add_conjunction.3 \
+ man/sd_journal_add_disjunction.3 \
+ man/sd_journal_close.3 \
+ man/sd_journal_enumerate_data.3 \
+ man/sd_journal_enumerate_unique.3 \
+ man/sd_journal_flush_matches.3 \
+ man/sd_journal_get_catalog_for_message_id.3 \
+ man/sd_journal_get_cutoff_monotonic_usec.3 \
+ man/sd_journal_get_data_threshold.3 \
+ man/sd_journal_get_events.3 \
+ man/sd_journal_get_monotonic_usec.3 \
+ man/sd_journal_get_timeout.3 \
+ man/sd_journal_next_skip.3 \
+ man/sd_journal_open_directory.3 \
+ man/sd_journal_perror.3 \
+ man/sd_journal_previous.3 \
+ man/sd_journal_previous_skip.3 \
+ man/sd_journal_printv.3 \
+ man/sd_journal_process.3 \
+ man/sd_journal_reliable_fd.3 \
+ man/sd_journal_restart_data.3 \
+ man/sd_journal_restart_unique.3 \
+ man/sd_journal_seek_cursor.3 \
+ man/sd_journal_seek_monotonic_usec.3 \
+ man/sd_journal_seek_realtime_usec.3 \
+ man/sd_journal_seek_tail.3 \
+ man/sd_journal_send.3 \
+ man/sd_journal_sendv.3 \
+ man/sd_journal_set_data_threshold.3 \
+ man/sd_journal_test_cursor.3 \
+ man/sd_journal_wait.3 \
+ man/sd_notifyf.3 \
+ man/systemd-ask-password-console.path.8 \
+ man/systemd-ask-password-wall.path.8 \
+ man/systemd-ask-password-wall.service.8 \
+ man/systemd-fsck-root.service.8 \
+ man/systemd-fsck.8 \
+ man/systemd-hibernate.service.8 \
+ man/systemd-hybrid-sleep.service.8 \
+ man/systemd-initctl.8 \
+ man/systemd-initctl.socket.8 \
+ man/systemd-journald.8 \
+ man/systemd-journald.socket.8 \
+ man/systemd-kexec.service.8 \
+ man/systemd-poweroff.service.8 \
+ man/systemd-reboot.service.8 \
+ man/systemd-remount-fs.8 \
+ man/systemd-shutdown.8 \
+ man/systemd-shutdownd.8 \
+ man/systemd-shutdownd.socket.8 \
+ man/systemd-sleep.8 \
+ man/systemd-sysctl.8 \
+ man/systemd-tmpfiles-clean.service.8 \
+ man/systemd-tmpfiles-clean.timer.8 \
+ man/systemd-tmpfiles-setup-dev.service.8 \
+ man/systemd-tmpfiles-setup.service.8 \
+ man/systemd-udevd-control.socket.8 \
+ man/systemd-udevd-kernel.socket.8 \
+ man/systemd-udevd.8 \
+ man/systemd-update-utmp-shutdown.service.8 \
+ man/systemd-update-utmp.8 \
+ man/systemd-user.conf.5
+man/SD_ALERT.3: man/sd-daemon.3
+man/SD_CRIT.3: man/sd-daemon.3
+man/SD_DEBUG.3: man/sd-daemon.3
+man/SD_EMERG.3: man/sd-daemon.3
+man/SD_ERR.3: man/sd-daemon.3
+man/SD_ID128_CONST_STR.3: man/sd-id128.3
+man/SD_ID128_FORMAT_STR.3: man/sd-id128.3
+man/SD_ID128_FORMAT_VAL.3: man/sd-id128.3
+man/SD_ID128_MAKE.3: man/sd-id128.3
+man/SD_INFO.3: man/sd-daemon.3
+man/SD_JOURNAL_APPEND.3: man/sd_journal_get_fd.3
+man/SD_JOURNAL_FOREACH.3: man/sd_journal_next.3
+man/SD_JOURNAL_FOREACH_BACKWARDS.3: man/sd_journal_next.3
+man/SD_JOURNAL_FOREACH_DATA.3: man/sd_journal_get_data.3
+man/SD_JOURNAL_FOREACH_UNIQUE.3: man/sd_journal_query_unique.3
+man/SD_JOURNAL_INVALIDATE.3: man/sd_journal_get_fd.3
+man/SD_JOURNAL_LOCAL_ONLY.3: man/sd_journal_open.3
+man/SD_JOURNAL_NOP.3: man/sd_journal_get_fd.3
+man/SD_JOURNAL_RUNTIME_ONLY.3: man/sd_journal_open.3
+man/SD_JOURNAL_SUPPRESS_LOCATION.3: man/sd_journal_print.3
+man/SD_JOURNAL_SYSTEM_ONLY.3: man/sd_journal_open.3
+man/SD_LISTEN_FDS_START.3: man/sd_listen_fds.3
+man/SD_NOTICE.3: man/sd-daemon.3
+man/SD_WARNING.3: man/sd-daemon.3
+man/init.1: man/systemd.1
+man/poweroff.8: man/halt.8
+man/reboot.8: man/halt.8
+man/sd_id128_equal.3: man/sd-id128.3
+man/sd_id128_from_string.3: man/sd_id128_to_string.3
+man/sd_id128_get_boot.3: man/sd_id128_get_machine.3
+man/sd_id128_t.3: man/sd-id128.3
+man/sd_is_mq.3: man/sd_is_fifo.3
+man/sd_is_socket.3: man/sd_is_fifo.3
+man/sd_is_socket_inet.3: man/sd_is_fifo.3
+man/sd_is_socket_unix.3: man/sd_is_fifo.3
+man/sd_journal.3: man/sd_journal_open.3
+man/sd_journal_add_conjunction.3: man/sd_journal_add_match.3
+man/sd_journal_add_disjunction.3: man/sd_journal_add_match.3
+man/sd_journal_close.3: man/sd_journal_open.3
+man/sd_journal_enumerate_data.3: man/sd_journal_get_data.3
+man/sd_journal_enumerate_unique.3: man/sd_journal_query_unique.3
+man/sd_journal_flush_matches.3: man/sd_journal_add_match.3
+man/sd_journal_get_catalog_for_message_id.3: man/sd_journal_get_catalog.3
+man/sd_journal_get_cutoff_monotonic_usec.3: man/sd_journal_get_cutoff_realtime_usec.3
+man/sd_journal_get_data_threshold.3: man/sd_journal_get_data.3
+man/sd_journal_get_events.3: man/sd_journal_get_fd.3
+man/sd_journal_get_monotonic_usec.3: man/sd_journal_get_realtime_usec.3
+man/sd_journal_get_timeout.3: man/sd_journal_get_fd.3
+man/sd_journal_next_skip.3: man/sd_journal_next.3
+man/sd_journal_open_directory.3: man/sd_journal_open.3
+man/sd_journal_perror.3: man/sd_journal_print.3
+man/sd_journal_previous.3: man/sd_journal_next.3
+man/sd_journal_previous_skip.3: man/sd_journal_next.3
+man/sd_journal_printv.3: man/sd_journal_print.3
+man/sd_journal_process.3: man/sd_journal_get_fd.3
+man/sd_journal_reliable_fd.3: man/sd_journal_get_fd.3
+man/sd_journal_restart_data.3: man/sd_journal_get_data.3
+man/sd_journal_restart_unique.3: man/sd_journal_query_unique.3
+man/sd_journal_seek_cursor.3: man/sd_journal_seek_head.3
+man/sd_journal_seek_monotonic_usec.3: man/sd_journal_seek_head.3
+man/sd_journal_seek_realtime_usec.3: man/sd_journal_seek_head.3
+man/sd_journal_seek_tail.3: man/sd_journal_seek_head.3
+man/sd_journal_send.3: man/sd_journal_print.3
+man/sd_journal_sendv.3: man/sd_journal_print.3
+man/sd_journal_set_data_threshold.3: man/sd_journal_get_data.3
+man/sd_journal_test_cursor.3: man/sd_journal_get_cursor.3
+man/sd_journal_wait.3: man/sd_journal_get_fd.3
+man/sd_notifyf.3: man/sd_notify.3
+man/systemd-ask-password-console.path.8: man/systemd-ask-password-console.service.8
+man/systemd-ask-password-wall.path.8: man/systemd-ask-password-console.service.8
+man/systemd-ask-password-wall.service.8: man/systemd-ask-password-console.service.8
+man/systemd-fsck-root.service.8: man/systemd-fsck@.service.8
+man/systemd-fsck.8: man/systemd-fsck@.service.8
+man/systemd-hibernate.service.8: man/systemd-suspend.service.8
+man/systemd-hybrid-sleep.service.8: man/systemd-suspend.service.8
+man/systemd-initctl.8: man/systemd-initctl.service.8
+man/systemd-initctl.socket.8: man/systemd-initctl.service.8
+man/systemd-journald.8: man/systemd-journald.service.8
+man/systemd-journald.socket.8: man/systemd-journald.service.8
+man/systemd-kexec.service.8: man/systemd-halt.service.8
+man/systemd-poweroff.service.8: man/systemd-halt.service.8
+man/systemd-reboot.service.8: man/systemd-halt.service.8
+man/systemd-remount-fs.8: man/systemd-remount-fs.service.8
+man/systemd-shutdown.8: man/systemd-halt.service.8
+man/systemd-shutdownd.8: man/systemd-shutdownd.service.8
+man/systemd-shutdownd.socket.8: man/systemd-shutdownd.service.8
+man/systemd-sleep.8: man/systemd-suspend.service.8
+man/systemd-sysctl.8: man/systemd-sysctl.service.8
+man/systemd-tmpfiles-clean.service.8: man/systemd-tmpfiles.8
+man/systemd-tmpfiles-clean.timer.8: man/systemd-tmpfiles.8
+man/systemd-tmpfiles-setup-dev.service.8: man/systemd-tmpfiles.8
+man/systemd-tmpfiles-setup.service.8: man/systemd-tmpfiles.8
+man/systemd-udevd-control.socket.8: man/systemd-udevd.service.8
+man/systemd-udevd-kernel.socket.8: man/systemd-udevd.service.8
+man/systemd-udevd.8: man/systemd-udevd.service.8
+man/systemd-update-utmp-shutdown.service.8: man/systemd-update-utmp-runlevel.service.8
+man/systemd-update-utmp.8: man/systemd-update-utmp-runlevel.service.8
+man/systemd-user.conf.5: man/systemd-system.conf.5
+man/SD_ALERT.html: man/sd-daemon.html
+ $(html-alias)
+
+man/SD_CRIT.html: man/sd-daemon.html
+ $(html-alias)
+
+man/SD_DEBUG.html: man/sd-daemon.html
+ $(html-alias)
+
+man/SD_EMERG.html: man/sd-daemon.html
+ $(html-alias)
+
+man/SD_ERR.html: man/sd-daemon.html
+ $(html-alias)
+
+man/SD_ID128_CONST_STR.html: man/sd-id128.html
+ $(html-alias)
+
+man/SD_ID128_FORMAT_STR.html: man/sd-id128.html
+ $(html-alias)
+
+man/SD_ID128_FORMAT_VAL.html: man/sd-id128.html
+ $(html-alias)
+
+man/SD_ID128_MAKE.html: man/sd-id128.html
+ $(html-alias)
+
+man/SD_INFO.html: man/sd-daemon.html
+ $(html-alias)
+
+man/SD_JOURNAL_APPEND.html: man/sd_journal_get_fd.html
+ $(html-alias)
+
+man/SD_JOURNAL_FOREACH.html: man/sd_journal_next.html
+ $(html-alias)
+
+man/SD_JOURNAL_FOREACH_BACKWARDS.html: man/sd_journal_next.html
+ $(html-alias)
+
+man/SD_JOURNAL_FOREACH_DATA.html: man/sd_journal_get_data.html
+ $(html-alias)
+
+man/SD_JOURNAL_FOREACH_UNIQUE.html: man/sd_journal_query_unique.html
+ $(html-alias)
+
+man/SD_JOURNAL_INVALIDATE.html: man/sd_journal_get_fd.html
+ $(html-alias)
+
+man/SD_JOURNAL_LOCAL_ONLY.html: man/sd_journal_open.html
+ $(html-alias)
+
+man/SD_JOURNAL_NOP.html: man/sd_journal_get_fd.html
+ $(html-alias)
+
+man/SD_JOURNAL_RUNTIME_ONLY.html: man/sd_journal_open.html
+ $(html-alias)
+
+man/SD_JOURNAL_SUPPRESS_LOCATION.html: man/sd_journal_print.html
+ $(html-alias)
+
+man/SD_JOURNAL_SYSTEM_ONLY.html: man/sd_journal_open.html
+ $(html-alias)
+
+man/SD_LISTEN_FDS_START.html: man/sd_listen_fds.html
+ $(html-alias)
+
+man/SD_NOTICE.html: man/sd-daemon.html
+ $(html-alias)
+
+man/SD_WARNING.html: man/sd-daemon.html
+ $(html-alias)
+
+man/init.html: man/systemd.html
+ $(html-alias)
+
+man/poweroff.html: man/halt.html
+ $(html-alias)
+
+man/reboot.html: man/halt.html
+ $(html-alias)
+
+man/sd_id128_equal.html: man/sd-id128.html
+ $(html-alias)
+
+man/sd_id128_from_string.html: man/sd_id128_to_string.html
+ $(html-alias)
+
+man/sd_id128_get_boot.html: man/sd_id128_get_machine.html
+ $(html-alias)
+
+man/sd_id128_t.html: man/sd-id128.html
+ $(html-alias)
+
+man/sd_is_mq.html: man/sd_is_fifo.html
+ $(html-alias)
+
+man/sd_is_socket.html: man/sd_is_fifo.html
+ $(html-alias)
+
+man/sd_is_socket_inet.html: man/sd_is_fifo.html
+ $(html-alias)
+
+man/sd_is_socket_unix.html: man/sd_is_fifo.html
+ $(html-alias)
+
+man/sd_journal.html: man/sd_journal_open.html
+ $(html-alias)
+
+man/sd_journal_add_conjunction.html: man/sd_journal_add_match.html
+ $(html-alias)
+
+man/sd_journal_add_disjunction.html: man/sd_journal_add_match.html
+ $(html-alias)
+
+man/sd_journal_close.html: man/sd_journal_open.html
+ $(html-alias)
+
+man/sd_journal_enumerate_data.html: man/sd_journal_get_data.html
+ $(html-alias)
+
+man/sd_journal_enumerate_unique.html: man/sd_journal_query_unique.html
+ $(html-alias)
+
+man/sd_journal_flush_matches.html: man/sd_journal_add_match.html
+ $(html-alias)
+
+man/sd_journal_get_catalog_for_message_id.html: man/sd_journal_get_catalog.html
+ $(html-alias)
+
+man/sd_journal_get_cutoff_monotonic_usec.html: man/sd_journal_get_cutoff_realtime_usec.html
+ $(html-alias)
+
+man/sd_journal_get_data_threshold.html: man/sd_journal_get_data.html
+ $(html-alias)
+
+man/sd_journal_get_events.html: man/sd_journal_get_fd.html
+ $(html-alias)
+
+man/sd_journal_get_monotonic_usec.html: man/sd_journal_get_realtime_usec.html
+ $(html-alias)
+
+man/sd_journal_get_timeout.html: man/sd_journal_get_fd.html
+ $(html-alias)
+
+man/sd_journal_next_skip.html: man/sd_journal_next.html
+ $(html-alias)
+
+man/sd_journal_open_directory.html: man/sd_journal_open.html
+ $(html-alias)
+
+man/sd_journal_perror.html: man/sd_journal_print.html
+ $(html-alias)
+
+man/sd_journal_previous.html: man/sd_journal_next.html
+ $(html-alias)
+
+man/sd_journal_previous_skip.html: man/sd_journal_next.html
+ $(html-alias)
+
+man/sd_journal_printv.html: man/sd_journal_print.html
+ $(html-alias)
+
+man/sd_journal_process.html: man/sd_journal_get_fd.html
+ $(html-alias)
+
+man/sd_journal_reliable_fd.html: man/sd_journal_get_fd.html
+ $(html-alias)
+
+man/sd_journal_restart_data.html: man/sd_journal_get_data.html
+ $(html-alias)
+
+man/sd_journal_restart_unique.html: man/sd_journal_query_unique.html
+ $(html-alias)
+
+man/sd_journal_seek_cursor.html: man/sd_journal_seek_head.html
+ $(html-alias)
+
+man/sd_journal_seek_monotonic_usec.html: man/sd_journal_seek_head.html
+ $(html-alias)
+
+man/sd_journal_seek_realtime_usec.html: man/sd_journal_seek_head.html
+ $(html-alias)
+
+man/sd_journal_seek_tail.html: man/sd_journal_seek_head.html
+ $(html-alias)
+
+man/sd_journal_send.html: man/sd_journal_print.html
+ $(html-alias)
+
+man/sd_journal_sendv.html: man/sd_journal_print.html
+ $(html-alias)
+
+man/sd_journal_set_data_threshold.html: man/sd_journal_get_data.html
+ $(html-alias)
+
+man/sd_journal_test_cursor.html: man/sd_journal_get_cursor.html
+ $(html-alias)
+
+man/sd_journal_wait.html: man/sd_journal_get_fd.html
+ $(html-alias)
+
+man/sd_notifyf.html: man/sd_notify.html
+ $(html-alias)
+
+man/systemd-ask-password-console.path.html: man/systemd-ask-password-console.service.html
+ $(html-alias)
+
+man/systemd-ask-password-wall.path.html: man/systemd-ask-password-console.service.html
+ $(html-alias)
+
+man/systemd-ask-password-wall.service.html: man/systemd-ask-password-console.service.html
+ $(html-alias)
+
+man/systemd-fsck-root.service.html: man/systemd-fsck@.service.html
+ $(html-alias)
+
+man/systemd-fsck.html: man/systemd-fsck@.service.html
+ $(html-alias)
+
+man/systemd-hibernate.service.html: man/systemd-suspend.service.html
+ $(html-alias)
+
+man/systemd-hybrid-sleep.service.html: man/systemd-suspend.service.html
+ $(html-alias)
+
+man/systemd-initctl.html: man/systemd-initctl.service.html
+ $(html-alias)
+
+man/systemd-initctl.socket.html: man/systemd-initctl.service.html
+ $(html-alias)
+
+man/systemd-journald.html: man/systemd-journald.service.html
+ $(html-alias)
+
+man/systemd-journald.socket.html: man/systemd-journald.service.html
+ $(html-alias)
+
+man/systemd-kexec.service.html: man/systemd-halt.service.html
+ $(html-alias)
+
+man/systemd-poweroff.service.html: man/systemd-halt.service.html
+ $(html-alias)
+
+man/systemd-reboot.service.html: man/systemd-halt.service.html
+ $(html-alias)
+
+man/systemd-remount-fs.html: man/systemd-remount-fs.service.html
+ $(html-alias)
+
+man/systemd-shutdown.html: man/systemd-halt.service.html
+ $(html-alias)
+
+man/systemd-shutdownd.html: man/systemd-shutdownd.service.html
+ $(html-alias)
+
+man/systemd-shutdownd.socket.html: man/systemd-shutdownd.service.html
+ $(html-alias)
+
+man/systemd-sleep.html: man/systemd-suspend.service.html
+ $(html-alias)
+
+man/systemd-sysctl.html: man/systemd-sysctl.service.html
+ $(html-alias)
+
+man/systemd-tmpfiles-clean.service.html: man/systemd-tmpfiles.html
+ $(html-alias)
+
+man/systemd-tmpfiles-clean.timer.html: man/systemd-tmpfiles.html
+ $(html-alias)
+
+man/systemd-tmpfiles-setup-dev.service.html: man/systemd-tmpfiles.html
+ $(html-alias)
+
+man/systemd-tmpfiles-setup.service.html: man/systemd-tmpfiles.html
+ $(html-alias)
+
+man/systemd-udevd-control.socket.html: man/systemd-udevd.service.html
+ $(html-alias)
+
+man/systemd-udevd-kernel.socket.html: man/systemd-udevd.service.html
+ $(html-alias)
+
+man/systemd-udevd.html: man/systemd-udevd.service.html
+ $(html-alias)
+
+man/systemd-update-utmp-shutdown.service.html: man/systemd-update-utmp-runlevel.service.html
+ $(html-alias)
+
+man/systemd-update-utmp.html: man/systemd-update-utmp-runlevel.service.html
+ $(html-alias)
+
+man/systemd-user.conf.html: man/systemd-system.conf.html
+ $(html-alias)
+
+
+if ENABLE_BINFMT
+MANPAGES += \
+ man/binfmt.d.5 \
+ man/systemd-binfmt.service.8
+MANPAGES_ALIAS += \
+ man/systemd-binfmt.8
+man/systemd-binfmt.8: man/systemd-binfmt.service.8
+man/systemd-binfmt.html: man/systemd-binfmt.service.html
+ $(html-alias)
+
+endif
+
+if ENABLE_BOOTCHART
+MANPAGES += \
+ man/bootchart.conf.5 \
+ man/systemd-bootchart.1
+MANPAGES_ALIAS += \
+ #
+
+
+endif
+
+if ENABLE_COREDUMP
+MANPAGES += \
+ man/systemd-coredumpctl.1
+MANPAGES_ALIAS += \
+ #
+
+
+endif
+
+if ENABLE_HOSTNAMED
+MANPAGES += \
+ man/hostnamectl.1 \
+ man/systemd-hostnamed.service.8
+MANPAGES_ALIAS += \
+ man/systemd-hostnamed.8
+man/systemd-hostnamed.8: man/systemd-hostnamed.service.8
+man/systemd-hostnamed.html: man/systemd-hostnamed.service.html
+ $(html-alias)
+
+endif
+
+if ENABLE_LOCALED
+MANPAGES += \
+ man/localectl.1 \
+ man/systemd-localed.service.8
+MANPAGES_ALIAS += \
+ man/systemd-localed.8
+man/systemd-localed.8: man/systemd-localed.service.8
+man/systemd-localed.html: man/systemd-localed.service.html
+ $(html-alias)
+
+endif
+
+if ENABLE_LOGIND
+MANPAGES += \
+ man/logind.conf.5 \
+ man/systemd-logind.service.8
+MANPAGES_ALIAS += \
+ man/systemd-logind.8
+man/systemd-logind.8: man/systemd-logind.service.8
+man/systemd-logind.html: man/systemd-logind.service.html
+ $(html-alias)
+
+endif
+
+if ENABLE_QUOTACHECK
+MANPAGES += \
+ man/systemd-quotacheck.service.8
+MANPAGES_ALIAS += \
+ man/systemd-quotacheck.8
+man/systemd-quotacheck.8: man/systemd-quotacheck.service.8
+man/systemd-quotacheck.html: man/systemd-quotacheck.service.html
+ $(html-alias)
+
+endif
+
+if ENABLE_RANDOMSEED
+MANPAGES += \
+ man/systemd-random-seed-load.service.8
+MANPAGES_ALIAS += \
+ man/systemd-random-seed-save.service.8 \
+ man/systemd-random-seed.8
+man/systemd-random-seed-save.service.8: man/systemd-random-seed-load.service.8
+man/systemd-random-seed.8: man/systemd-random-seed-load.service.8
+man/systemd-random-seed-save.service.html: man/systemd-random-seed-load.service.html
+ $(html-alias)
+
+man/systemd-random-seed.html: man/systemd-random-seed-load.service.html
+ $(html-alias)
+
+endif
+
+if ENABLE_READAHEAD
+MANPAGES += \
+ man/sd-readahead.3 \
+ man/sd_readahead.3 \
+ man/systemd-readahead-replay.service.8
+MANPAGES_ALIAS += \
+ man/systemd-readahead-collect.service.8 \
+ man/systemd-readahead-done.service.8 \
+ man/systemd-readahead-done.timer.8 \
+ man/systemd-readahead.8
+man/systemd-readahead-collect.service.8: man/systemd-readahead-replay.service.8
+man/systemd-readahead-done.service.8: man/systemd-readahead-replay.service.8
+man/systemd-readahead-done.timer.8: man/systemd-readahead-replay.service.8
+man/systemd-readahead.8: man/systemd-readahead-replay.service.8
+man/systemd-readahead-collect.service.html: man/systemd-readahead-replay.service.html
+ $(html-alias)
+
+man/systemd-readahead-done.service.html: man/systemd-readahead-replay.service.html
+ $(html-alias)
+
+man/systemd-readahead-done.timer.html: man/systemd-readahead-replay.service.html
+ $(html-alias)
+
+man/systemd-readahead.html: man/systemd-readahead-replay.service.html
+ $(html-alias)
+
+endif
+
+if ENABLE_TIMEDATED
+MANPAGES += \
+ man/systemd-timedated.service.8 \
+ man/timedatectl.1
+MANPAGES_ALIAS += \
+ man/systemd-timedated.8
+man/systemd-timedated.8: man/systemd-timedated.service.8
+man/systemd-timedated.html: man/systemd-timedated.service.html
+ $(html-alias)
+
+endif
+
+if ENABLE_VCONSOLE
+MANPAGES += \
+ man/systemd-vconsole-setup.service.8 \
+ man/vconsole.conf.5
+MANPAGES_ALIAS += \
+ man/systemd-vconsole-setup.8
+man/systemd-vconsole-setup.8: man/systemd-vconsole-setup.service.8
+man/systemd-vconsole-setup.html: man/systemd-vconsole-setup.service.html
+ $(html-alias)
+
+endif
+
+if HAVE_KMOD
+MANPAGES += \
+ man/modules-load.d.5 \
+ man/systemd-modules-load.service.8
+MANPAGES_ALIAS += \
+ man/systemd-modules-load.8
+man/systemd-modules-load.8: man/systemd-modules-load.service.8
+man/systemd-modules-load.html: man/systemd-modules-load.service.html
+ $(html-alias)
+
+endif
+
+if HAVE_LIBCRYPTSETUP
+MANPAGES += \
+ man/crypttab.5 \
+ man/systemd-cryptsetup-generator.8 \
+ man/systemd-cryptsetup@.service.8
+MANPAGES_ALIAS += \
+ man/systemd-cryptsetup.8
+man/systemd-cryptsetup.8: man/systemd-cryptsetup@.service.8
+man/systemd-cryptsetup.html: man/systemd-cryptsetup@.service.html
+ $(html-alias)
+
+endif
+
+if HAVE_MICROHTTPD
+MANPAGES += \
+ man/systemd-journal-gatewayd.service.8
+MANPAGES_ALIAS += \
+ man/systemd-journal-gatewayd.8 \
+ man/systemd-journal-gatewayd.socket.8
+man/systemd-journal-gatewayd.8: man/systemd-journal-gatewayd.service.8
+man/systemd-journal-gatewayd.socket.8: man/systemd-journal-gatewayd.service.8
+man/systemd-journal-gatewayd.html: man/systemd-journal-gatewayd.service.html
+ $(html-alias)
+
+man/systemd-journal-gatewayd.socket.html: man/systemd-journal-gatewayd.service.html
+ $(html-alias)
+
+endif
+
+if HAVE_MYHOSTNAME
+MANPAGES += \
+ man/nss-myhostname.8
+MANPAGES_ALIAS += \
+ #
+
+
+endif
+
+if HAVE_PAM
+MANPAGES += \
+ man/loginctl.1 \
+ man/pam_systemd.8 \
+ man/sd-login.3 \
+ man/sd_get_seats.3 \
+ man/sd_login_monitor_new.3 \
+ man/sd_pid_get_session.3 \
+ man/sd_seat_get_active.3 \
+ man/sd_session_is_active.3 \
+ man/sd_uid_get_state.3 \
+ man/systemd-user-sessions.service.8
+MANPAGES_ALIAS += \
+ man/sd_get_machine_names.3 \
+ man/sd_get_sessions.3 \
+ man/sd_get_uids.3 \
+ man/sd_login_monitor.3 \
+ man/sd_login_monitor_flush.3 \
+ man/sd_login_monitor_get_events.3 \
+ man/sd_login_monitor_get_fd.3 \
+ man/sd_login_monitor_get_timeout.3 \
+ man/sd_login_monitor_unref.3 \
+ man/sd_pid_get_machine_name.3 \
+ man/sd_pid_get_owner_uid.3 \
+ man/sd_pid_get_unit.3 \
+ man/sd_pid_get_user_unit.3 \
+ man/sd_seat_can_multi_session.3 \
+ man/sd_seat_get_sessions.3 \
+ man/sd_session_get_class.3 \
+ man/sd_session_get_display.3 \
+ man/sd_session_get_seat.3 \
+ man/sd_session_get_service.3 \
+ man/sd_session_get_state.3 \
+ man/sd_session_get_tty.3 \
+ man/sd_session_get_type.3 \
+ man/sd_session_get_uid.3 \
+ man/sd_uid_get_seats.3 \
+ man/sd_uid_get_sessions.3 \
+ man/sd_uid_is_on_seat.3 \
+ man/systemd-user-sessions.8
+man/sd_get_machine_names.3: man/sd_get_seats.3
+man/sd_get_sessions.3: man/sd_get_seats.3
+man/sd_get_uids.3: man/sd_get_seats.3
+man/sd_login_monitor.3: man/sd_login_monitor_new.3
+man/sd_login_monitor_flush.3: man/sd_login_monitor_new.3
+man/sd_login_monitor_get_events.3: man/sd_login_monitor_new.3
+man/sd_login_monitor_get_fd.3: man/sd_login_monitor_new.3
+man/sd_login_monitor_get_timeout.3: man/sd_login_monitor_new.3
+man/sd_login_monitor_unref.3: man/sd_login_monitor_new.3
+man/sd_pid_get_machine_name.3: man/sd_pid_get_session.3
+man/sd_pid_get_owner_uid.3: man/sd_pid_get_session.3
+man/sd_pid_get_unit.3: man/sd_pid_get_session.3
+man/sd_pid_get_user_unit.3: man/sd_pid_get_session.3
+man/sd_seat_can_multi_session.3: man/sd_seat_get_active.3
+man/sd_seat_get_sessions.3: man/sd_seat_get_active.3
+man/sd_session_get_class.3: man/sd_session_is_active.3
+man/sd_session_get_display.3: man/sd_session_is_active.3
+man/sd_session_get_seat.3: man/sd_session_is_active.3
+man/sd_session_get_service.3: man/sd_session_is_active.3
+man/sd_session_get_state.3: man/sd_session_is_active.3
+man/sd_session_get_tty.3: man/sd_session_is_active.3
+man/sd_session_get_type.3: man/sd_session_is_active.3
+man/sd_session_get_uid.3: man/sd_session_is_active.3
+man/sd_uid_get_seats.3: man/sd_uid_get_state.3
+man/sd_uid_get_sessions.3: man/sd_uid_get_state.3
+man/sd_uid_is_on_seat.3: man/sd_uid_get_state.3
+man/systemd-user-sessions.8: man/systemd-user-sessions.service.8
+man/sd_get_machine_names.html: man/sd_get_seats.html
+ $(html-alias)
+
+man/sd_get_sessions.html: man/sd_get_seats.html
+ $(html-alias)
+
+man/sd_get_uids.html: man/sd_get_seats.html
+ $(html-alias)
+
+man/sd_login_monitor.html: man/sd_login_monitor_new.html
+ $(html-alias)
+
+man/sd_login_monitor_flush.html: man/sd_login_monitor_new.html
+ $(html-alias)
+
+man/sd_login_monitor_get_events.html: man/sd_login_monitor_new.html
+ $(html-alias)
+
+man/sd_login_monitor_get_fd.html: man/sd_login_monitor_new.html
+ $(html-alias)
+
+man/sd_login_monitor_get_timeout.html: man/sd_login_monitor_new.html
+ $(html-alias)
+
+man/sd_login_monitor_unref.html: man/sd_login_monitor_new.html
+ $(html-alias)
+
+man/sd_pid_get_machine_name.html: man/sd_pid_get_session.html
+ $(html-alias)
+
+man/sd_pid_get_owner_uid.html: man/sd_pid_get_session.html
+ $(html-alias)
+
+man/sd_pid_get_unit.html: man/sd_pid_get_session.html
+ $(html-alias)
+
+man/sd_pid_get_user_unit.html: man/sd_pid_get_session.html
+ $(html-alias)
+
+man/sd_seat_can_multi_session.html: man/sd_seat_get_active.html
+ $(html-alias)
+
+man/sd_seat_get_sessions.html: man/sd_seat_get_active.html
+ $(html-alias)
+
+man/sd_session_get_class.html: man/sd_session_is_active.html
+ $(html-alias)
+
+man/sd_session_get_display.html: man/sd_session_is_active.html
+ $(html-alias)
+
+man/sd_session_get_seat.html: man/sd_session_is_active.html
+ $(html-alias)
+
+man/sd_session_get_service.html: man/sd_session_is_active.html
+ $(html-alias)
+
+man/sd_session_get_state.html: man/sd_session_is_active.html
+ $(html-alias)
+
+man/sd_session_get_tty.html: man/sd_session_is_active.html
+ $(html-alias)
+
+man/sd_session_get_type.html: man/sd_session_is_active.html
+ $(html-alias)
+
+man/sd_session_get_uid.html: man/sd_session_is_active.html
+ $(html-alias)
+
+man/sd_uid_get_seats.html: man/sd_uid_get_state.html
+ $(html-alias)
+
+man/sd_uid_get_sessions.html: man/sd_uid_get_state.html
+ $(html-alias)
+
+man/sd_uid_is_on_seat.html: man/sd_uid_get_state.html
+ $(html-alias)
+
+man/systemd-user-sessions.html: man/systemd-user-sessions.service.html
+ $(html-alias)
+
+endif
+
+if HAVE_PYTHON
+MANPAGES += \
+ man/systemd.directives.7 \
+ man/systemd.index.7
+MANPAGES_ALIAS += \
+ #
+
+
+endif
diff --git a/Makefile.am b/Makefile.am
index 474110a6e5..3a196a65e7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,6 +4,7 @@
#
# Copyright 2010-2012 Lennart Poettering
# Copyright 2010-2012 Kay Sievers
+# Copyright 2013 Zbigniew Jędrzejewski-Szmek
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
@@ -27,29 +28,32 @@ SUBDIRS = . po
# remove targets if the command fails
.DELETE_ON_ERROR:
-LIBUDEV_CURRENT=3
-LIBUDEV_REVISION=1
-LIBUDEV_AGE=2
+# keep intermediate files
+.SECONDARY:
+
+LIBUDEV_CURRENT=4
+LIBUDEV_REVISION=5
+LIBUDEV_AGE=3
LIBGUDEV_CURRENT=1
LIBGUDEV_REVISION=3
LIBGUDEV_AGE=1
-LIBSYSTEMD_LOGIN_CURRENT=3
-LIBSYSTEMD_LOGIN_REVISION=11
-LIBSYSTEMD_LOGIN_AGE=3
+LIBSYSTEMD_LOGIN_CURRENT=7
+LIBSYSTEMD_LOGIN_REVISION=1
+LIBSYSTEMD_LOGIN_AGE=7
LIBSYSTEMD_DAEMON_CURRENT=0
-LIBSYSTEMD_DAEMON_REVISION=7
+LIBSYSTEMD_DAEMON_REVISION=10
LIBSYSTEMD_DAEMON_AGE=0
LIBSYSTEMD_ID128_CURRENT=0
-LIBSYSTEMD_ID128_REVISION=17
+LIBSYSTEMD_ID128_REVISION=23
LIBSYSTEMD_ID128_AGE=0
-LIBSYSTEMD_JOURNAL_CURRENT=7
-LIBSYSTEMD_JOURNAL_REVISION=1
-LIBSYSTEMD_JOURNAL_AGE=7
+LIBSYSTEMD_JOURNAL_CURRENT=10
+LIBSYSTEMD_JOURNAL_REVISION=2
+LIBSYSTEMD_JOURNAL_AGE=10
# Dirs of external packages
dbuspolicydir=@dbuspolicydir@
@@ -60,14 +64,13 @@ pamlibdir=@pamlibdir@
pkgconfigdatadir=$(datadir)/pkgconfig
pkgconfiglibdir=$(libdir)/pkgconfig
polkitpolicydir=$(datadir)/polkit-1/actions
-bashcompletiondir=$(sysconfdir)/bash_completion.d
+bashcompletiondir=@bashcompletiondir@
rpmmacrosdir=$(sysconfdir)/rpm
sysvinitdir=$(SYSTEM_SYSVINIT_PATH)
sysvrcnddir=$(SYSTEM_SYSVRCND_PATH)
varlogdir=$(localstatedir)/log
systemdstatedir=$(localstatedir)/lib/systemd
catalogstatedir=$(systemdstatedir)/catalog
-hwdb_bin=/etc/udev/hwdb.bin
# Our own, non-special dirs
pkgsysconfdir=$(sysconfdir)/systemd
@@ -87,6 +90,7 @@ udevhomedir=$(udevlibexecdir)
udevrulesdir=$(udevlibexecdir)/rules.d
udevhwdbdir=$(udevlibexecdir)/hwdb.d
catalogdir=$(prefix)/lib/systemd/catalog
+kernelinstalldir = $(prefix)/lib/kernel/install.d
# And these are the special ones for /
rootprefix=@rootprefix@
@@ -94,6 +98,7 @@ rootbindir=$(rootprefix)/bin
rootlibexecdir=$(rootprefix)/lib/systemd
CLEANFILES = $(BUILT_SOURCES)
+DISTCLEANFILES =
EXTRA_DIST =
BUILT_SOURCES =
INSTALL_EXEC_HOOKS =
@@ -101,16 +106,18 @@ UNINSTALL_EXEC_HOOKS =
INSTALL_DATA_HOOKS =
UNINSTALL_DATA_HOOKS =
DISTCLEAN_LOCAL_HOOKS =
+CLEAN_LOCAL_HOOKS =
pkginclude_HEADERS =
noinst_LTLIBRARIES =
lib_LTLIBRARIES =
include_HEADERS =
+noinst_DATA =
pkgconfiglib_DATA =
+polkitpolicy_in_in_files =
polkitpolicy_in_files =
polkitpolicy_files =
dist_udevrules_DATA =
nodist_udevrules_DATA =
-dist_man_MANS =
dist_pkgsysconf_DATA =
dist_pkgdata_DATA =
dist_dbuspolicy_DATA =
@@ -118,22 +125,27 @@ dbusinterface_DATA =
dist_dbussystemservice_DATA =
check_PROGRAMS =
check_DATA =
+tests=
+manual_tests =
+if ENABLE_TESTS
+noinst_PROGRAMS = $(manual_tests) $(tests)
+TESTS = $(tests)
+else
noinst_PROGRAMS =
TESTS =
+endif
udevlibexec_PROGRAMS =
AM_CPPFLAGS = \
-include $(top_builddir)/config.h \
- -DSYSTEM_CONFIG_FILE=\"$(pkgsysconfdir)/system.conf\" \
+ -DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \
-DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" \
-DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" \
-DSYSTEM_SYSVINIT_PATH=\"$(SYSTEM_SYSVINIT_PATH)\" \
-DSYSTEM_SYSVRCND_PATH=\"$(SYSTEM_SYSVRCND_PATH)\" \
- -DUSER_CONFIG_FILE=\"$(pkgsysconfdir)/user.conf\" \
-DUSER_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/user\" \
-DUSER_DATA_UNIT_PATH=\"$(userunitdir)\" \
- -DCATALOG_PATH=\"$(catalogstatedir)\" \
- -DHWDB_BIN=\"$(hwdb_bin)\" \
+ -DCATALOG_DATABASE=\"$(catalogstatedir)/database\" \
-DSYSTEMD_CGROUP_AGENT_PATH=\"$(rootlibexecdir)/systemd-cgroups-agent\" \
-DSYSTEMD_BINARY_PATH=\"$(rootlibexecdir)/systemd\" \
-DSYSTEMD_SHUTDOWN_BINARY_PATH=\"$(rootlibexecdir)/systemd-shutdown\" \
@@ -152,6 +164,7 @@ AM_CPPFLAGS = \
-DX_SERVER=\"$(bindir)/X\" \
-DUDEVLIBEXECDIR=\"$(udevlibexecdir)\" \
-DPOLKIT_AGENT_BINARY_PATH=\"$(bindir)/pkttyagent\" \
+ -DQUOTACHECK=\"$(QUOTACHECK)\" \
-I $(top_srcdir)/src \
-I $(top_srcdir)/src/shared \
-I $(top_srcdir)/src/login \
@@ -161,23 +174,106 @@ AM_CPPFLAGS = \
-I $(top_srcdir)/src/core \
-I $(top_srcdir)/src/libudev \
-I $(top_srcdir)/src/udev \
+ -I $(top_srcdir)/src/libsystemd-bus \
$(OUR_CPPFLAGS)
AM_CFLAGS = $(OUR_CFLAGS)
AM_LDFLAGS = $(OUR_LDFLAGS)
# ------------------------------------------------------------------------------
-
define move-to-rootlibdir
if test "$(libdir)" != "$(rootlibdir)"; then \
$(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
so_img_name=$$(readlink $(DESTDIR)$(libdir)/$$libname) && \
so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
- ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \
+ $(LN_S) -f $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \
mv $(DESTDIR)$(libdir)/$$libname.* $(DESTDIR)$(rootlibdir); \
fi
endef
+INSTALL_DIRS =
+
+RUNLEVEL1_TARGET_WANTS =
+RUNLEVEL2_TARGET_WANTS =
+RUNLEVEL3_TARGET_WANTS =
+RUNLEVEL4_TARGET_WANTS =
+RUNLEVEL5_TARGET_WANTS =
+SHUTDOWN_TARGET_WANTS =
+LOCAL_FS_TARGET_WANTS =
+MULTI_USER_TARGET_WANTS =
+SYSINIT_TARGET_WANTS =
+SOCKETS_TARGET_WANTS =
+TIMERS_TARGET_WANTS =
+
+SYSTEM_UNIT_ALIASES =
+USER_UNIT_ALIASES =
+
+GENERAL_ALIASES =
+
+install-target-wants-hook:
+ what="$(RUNLEVEL1_TARGET_WANTS)" && wants=runlevel1.target && $(add-wants)
+ what="$(RUNLEVEL2_TARGET_WANTS)" && wants=runlevel2.target && $(add-wants)
+ what="$(RUNLEVEL3_TARGET_WANTS)" && wants=runlevel3.target && $(add-wants)
+ what="$(RUNLEVEL4_TARGET_WANTS)" && wants=runlevel4.target && $(add-wants)
+ what="$(RUNLEVEL5_TARGET_WANTS)" && wants=runlevel5.target && $(add-wants)
+ what="$(SHUTDOWN_TARGET_WANTS)" && wants=shutdown.target && $(add-wants)
+ what="$(LOCAL_FS_TARGET_WANTS)" && wants=local-fs.target && $(add-wants)
+ what="$(MULTI_USER_TARGET_WANTS)" && wants=multi-user.target && $(add-wants)
+ what="$(SYSINIT_TARGET_WANTS)" && wants=sysinit.target && $(add-wants)
+ what="$(SOCKETS_TARGET_WANTS)" && wants=sockets.target && $(add-wants)
+ what="$(TIMERS_TARGET_WANTS)" && wants=timers.target && $(add-wants)
+
+define add-wants
+ [ -z "$$what" ] || ( \
+ dir=$(DESTDIR)$(systemunitdir)/$$wants.wants && \
+ $(MKDIR_P) -m 0755 $$dir && \
+ cd $$dir && \
+ rm -f $$what && \
+ for i in $$what; do $(LN_S) ../$$i . || exit $$? ; done )
+endef
+
+install-directories-hook:
+ $(MKDIR_P) $(addprefix $(DESTDIR),$(INSTALL_DIRS))
+
+install-aliases-hook:
+ set -- $(SYSTEM_UNIT_ALIASES) && \
+ dir=$(systemunitdir) && $(install-aliases)
+ set -- $(USER_UNIT_ALIASES) && \
+ dir=$(userunitdir) && $(install-aliases)
+ set -- $(GENERAL_ALIASES) && \
+ dir= && $(install-aliases)
+
+define install-aliases
+ while [ -n "$$1" ]; do \
+ $(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \
+ rm -f $(DESTDIR)$$dir/$$2 && \
+ $(LN_S) $$1 $(DESTDIR)$$dir/$$2 && \
+ shift 2 || exit $$?; \
+ done
+endef
+
+INSTALL_EXEC_HOOKS += \
+ install-target-wants-hook \
+ install-directories-hook \
+ install-aliases-hook
+
+# ------------------------------------------------------------------------------
+AM_V_M4 = $(AM_V_M4_$(V))
+AM_V_M4_ = $(AM_V_M4_$(AM_DEFAULT_VERBOSITY))
+AM_V_M4_0 = @echo " M4 " $@;
+
+AM_V_XSLT = $(AM_V_XSLT_$(V))
+AM_V_XSLT_ = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY))
+AM_V_XSLT_0 = @echo " XSLT " $@;
+
+AM_V_GPERF = $(AM_V_GPERF_$(V))
+AM_V_GPERF_ = $(AM_V_GPERF_$(AM_DEFAULT_VERBOSITY))
+AM_V_GPERF_0 = @echo " GPERF " $@;
+
+AM_V_LN = $(AM_V_LN_$(V))
+AM_V_LN_ = $(AM_V_LN_$(AM_DEFAULT_VERBOSITY))
+AM_V_LN_0 = @echo " LN " $@;
+
# ------------------------------------------------------------------------------
rootbin_PROGRAMS = \
systemctl \
@@ -193,7 +289,15 @@ bin_PROGRAMS = \
systemd-stdio-bridge \
systemd-nspawn \
systemd-detect-virt \
- systemd-delta
+ systemd-delta \
+ systemd-analyze
+
+dist_bin_SCRIPTS = \
+ src/kernel-install/kernel-install
+
+dist_kernelinstall_SCRIPTS = \
+ src/kernel-install/50-depmod.install \
+ src/kernel-install/90-loaderentry.install
rootlibexec_PROGRAMS = \
systemd \
@@ -210,33 +314,36 @@ rootlibexec_PROGRAMS = \
systemd-sysctl \
systemd-sleep
-if HAVE_KMOD
-rootlibexec_PROGRAMS += \
- systemd-modules-load
-endif
-
systemgenerator_PROGRAMS = \
systemd-getty-generator \
systemd-fstab-generator \
systemd-system-update-generator
-dist_bin_SCRIPTS = \
- src/analyze/systemd-analyze
+systemd_analyze_SOURCES = \
+ src/analyze/systemd-analyze.c
-EXTRA_DIST += \
- src/analyze/systemd-analyze.in
+systemd_analyze_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(DBUS_CFLAGS)
-CLEANFILES += \
- src/analyze/systemd-analyze
+systemd_analyze_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-dbus.la
dist_bashcompletion_DATA = \
- shell-completion/systemd-bash-completion.sh
+ shell-completion/bash/journalctl \
+ shell-completion/bash/systemctl \
+ shell-completion/bash/systemd-analyze \
+ shell-completion/bash/udevadm
dist_tmpfiles_DATA = \
tmpfiles.d/systemd.conf \
tmpfiles.d/tmp.conf \
tmpfiles.d/x11.conf
+dist_sysctl_DATA = \
+ sysctl.d/50-default.conf
+
if HAVE_SYSV_COMPAT
dist_tmpfiles_DATA += \
tmpfiles.d/legacy.conf
@@ -254,12 +361,15 @@ dist_systemunit_DATA = \
units/kexec.target \
units/local-fs.target \
units/local-fs-pre.target \
+ units/initrd.target \
+ units/initrd-fs.target \
+ units/initrd-root-fs.target \
units/remote-fs.target \
units/remote-fs-pre.target \
units/network.target \
+ units/network-online.target \
units/nss-lookup.target \
units/nss-user-lookup.target \
- units/mail-transfer-agent.target \
units/hibernate.target \
units/hybrid-sleep.target \
units/poweroff.target \
@@ -273,6 +383,8 @@ dist_systemunit_DATA = \
units/sigpwr.target \
units/sleep.target \
units/sockets.target \
+ units/timers.target \
+ units/paths.target \
units/suspend.target \
units/swap.target \
units/systemd-initctl.socket \
@@ -292,10 +404,10 @@ dist_systemunit_DATA = \
units/quotaon.service \
units/systemd-ask-password-wall.path \
units/systemd-ask-password-console.path \
- units/syslog.target \
units/systemd-udevd-control.socket \
units/systemd-udevd-kernel.socket \
- units/system-update.target
+ units/system-update.target \
+ units/initrd-switch-root.target
nodist_systemunit_DATA = \
units/getty@.service \
@@ -307,6 +419,7 @@ nodist_systemunit_DATA = \
units/systemd-remount-fs.service \
units/systemd-update-utmp-runlevel.service \
units/systemd-update-utmp-shutdown.service \
+ units/systemd-tmpfiles-setup-dev.service \
units/systemd-tmpfiles-setup.service \
units/systemd-tmpfiles-clean.service \
units/systemd-ask-password-wall.service \
@@ -327,12 +440,12 @@ nodist_systemunit_DATA = \
units/systemd-udevd.service \
units/systemd-udev-trigger.service \
units/systemd-udev-settle.service \
- units/debug-shell.service
-
-if HAVE_KMOD
-nodist_systemunit_DATA += \
- units/systemd-modules-load.service
-endif
+ units/debug-shell.service \
+ units/initrd-parse-etc.service \
+ units/initrd-cleanup.service \
+ units/initrd-udevadm-cleanup-db.service \
+ units/initrd-switch-root.service \
+ units/systemd-nspawn@.service
dist_userunit_DATA = \
units/user/default.target \
@@ -352,6 +465,7 @@ EXTRA_DIST += \
units/systemd-remount-fs.service.in \
units/systemd-update-utmp-runlevel.service.in \
units/systemd-update-utmp-shutdown.service.in \
+ units/systemd-tmpfiles-setup-dev.service.in \
units/systemd-tmpfiles-setup.service.in \
units/systemd-tmpfiles-clean.service.in \
units/systemd-ask-password-wall.service.in \
@@ -374,27 +488,31 @@ EXTRA_DIST += \
units/systemd-hybrid-sleep.service.in \
units/systemd-suspend.service.in \
units/quotaon.service.in \
- introspect.awk \
- man/custom-html.xsl
+ units/initrd-parse-etc.service.in \
+ units/initrd-cleanup.service.in \
+ units/initrd-udevadm-cleanup-db.service.in \
+ units/initrd-switch-root.service.in \
+ units/systemd-nspawn@.service.in \
+ introspect.awk
-if HAVE_KMOD
-EXTRA_DIST += \
- units/systemd-modules-load.service.in
-endif
+CLEANFILES += \
+ units/console-shell.service.m4 \
+ units/console-getty.service.m4 \
+ units/rescue.service.m4
if HAVE_SYSV_COMPAT
nodist_systemunit_DATA += \
units/rc-local.service \
units/halt-local.service
-EXTRA_DIST += \
- units/rc-local.service.in \
- units/halt-local.service.in
-
systemgenerator_PROGRAMS += \
systemd-rc-local-generator
endif
+EXTRA_DIST += \
+ units/rc-local.service.in \
+ units/halt-local.service.in
+
dist_doc_DATA = \
README \
NEWS \
@@ -406,323 +524,77 @@ dist_doc_DATA = \
@INTLTOOL_POLICY_RULE@
# ------------------------------------------------------------------------------
-MANPAGES = \
- man/systemd.1 \
- man/systemctl.1 \
- man/systemd-cgls.1 \
- man/systemd-delta.1 \
- man/systemd-cgtop.1 \
- man/systemd-nspawn.1 \
- man/systemd-tmpfiles.8 \
- man/systemd-notify.1 \
- man/systemd.unit.5 \
- man/systemd.service.5 \
- man/systemd.socket.5 \
- man/systemd.mount.5 \
- man/systemd.automount.5 \
- man/systemd.swap.5 \
- man/systemd.timer.5 \
- man/systemd.path.5 \
- man/systemd.target.5 \
- man/systemd.device.5 \
- man/systemd.snapshot.5 \
- man/systemd.exec.5 \
- man/systemd.kill.5 \
- man/systemd.special.7 \
- man/systemd.journal-fields.7 \
- man/systemd.time.7 \
- man/kernel-command-line.7 \
- man/daemon.7 \
- man/bootup.7 \
- man/runlevel.8 \
- man/telinit.8 \
- man/halt.8 \
- man/shutdown.8 \
- man/pam_systemd.8 \
- man/systemd.conf.5 \
- man/tmpfiles.d.5 \
- man/hostname.5 \
- man/localtime.5 \
- man/machine-id.5 \
- man/locale.conf.5 \
- man/os-release.5 \
- man/machine-info.5 \
- man/sysctl.d.5 \
- man/systemd-sysctl.service.8 \
- man/systemd-ask-password.1 \
- man/systemd-cat.1 \
- man/systemd-machine-id-setup.1 \
- man/systemd-detect-virt.1 \
- man/journald.conf.5 \
- man/systemd-journald.service.8 \
- man/journalctl.1 \
- man/systemd-coredumpctl.1 \
- man/systemd-inhibit.1 \
- man/systemd-remount-fs.service.8 \
- man/systemd-update-utmp-runlevel.service.8 \
- man/systemd-initctl.service.8 \
- man/systemd-shutdownd.service.8 \
- man/systemd-suspend.service.8 \
- man/systemd-halt.service.8 \
- man/systemd-fsck@.service.8 \
- man/systemd-ask-password-console.service.8 \
- man/systemd-analyze.1 \
- man/systemd-tty-ask-password-agent.1 \
- man/systemd-getty-generator.8 \
- man/systemd-system-update-generator.8 \
- man/systemd-fstab-generator.8 \
- man/systemd.preset.5 \
- man/sd-id128.3 \
- man/sd_id128_to_string.3 \
- man/sd_id128_randomize.3 \
- man/sd_id128_get_machine.3 \
- man/sd-journal.3 \
- man/sd_journal_print.3 \
- man/sd_journal_stream_fd.3 \
- man/sd_journal_open.3 \
- man/sd_journal_next.3 \
- man/sd_journal_get_data.3 \
- man/sd_journal_get_realtime_usec.3 \
- man/sd_journal_get_cutoff_realtime_usec.3 \
- man/sd_journal_get_cursor.3 \
- man/sd_journal_get_fd.3 \
- man/sd_journal_get_usage.3 \
- man/sd_journal_add_match.3 \
- man/sd_journal_seek_head.3 \
- man/sd_journal_query_unique.3 \
- man/sd_journal_get_catalog.3
-
-MANPAGES_ALIAS = \
- man/reboot.8 \
- man/poweroff.8 \
- man/init.1 \
- man/systemd-sysctl.8 \
- man/systemd-journald.socket.8 \
- man/systemd-journald.8 \
- man/systemd-remount-fs.8 \
- man/systemd-update-utmp-shutdown.service.8 \
- man/systemd-update-utmp.8 \
- man/systemd-initctl.socket.8 \
- man/systemd-initctl.8 \
- man/systemd-shutdownd.socket.8 \
- man/systemd-shutdownd.8 \
- man/systemd-hibernate.service.8 \
- man/systemd-hybrid-sleep.service.8 \
- man/systemd-sleep.8 \
- man/systemd-shutdown.8 \
- man/systemd-poweroff.service.8 \
- man/systemd-reboot.service.8 \
- man/systemd-kexec.service.8 \
- man/systemd-fsck.8 \
- man/systemd-fsck-root.service.8 \
- man/systemd-ask-password-console.path.8 \
- man/systemd-ask-password-wall.service.8 \
- man/systemd-ask-password-wall.path.8 \
- man/systemd-tmpfiles-setup.service.8 \
- man/systemd-tmpfiles-clean.service.8 \
- man/systemd-tmpfiles-clean.timer.8 \
- man/sd_id128_t.3 \
- man/SD_ID128_MAKE.3 \
- man/SD_ID128_CONST_STR.3 \
- man/SD_ID128_FORMAT_STR.3 \
- man/SD_ID128_FORMAT_VAL.3 \
- man/sd_id128_equal.3 \
- man/sd_id128_from_string.3 \
- man/sd_id128_get_boot.3 \
- man/sd_journal_printv.3 \
- man/sd_journal_send.3 \
- man/sd_journal_sendv.3 \
- man/sd_journal_perror.3 \
- man/SD_JOURNAL_SUPPRESS_LOCATION.3 \
- man/sd_journal_open_directory.3 \
- man/sd_journal_close.3 \
- man/sd_journal.3 \
- man/SD_JOURNAL_RUNTIME_ONLY.3 \
- man/SD_JOURNAL_SYSTEM_ONLY.3 \
- man/SD_JOURNAL_LOCAL_ONLY.3 \
- man/sd_journal_previous.3 \
- man/sd_journal_next_skip.3 \
- man/sd_journal_previous_skip.3 \
- man/SD_JOURNAL_FOREACH.3 \
- man/SD_JOURNAL_FOREACH_BACKWARDS.3 \
- man/sd_journal_enumerate_data.3 \
- man/sd_journal_restart_data.3 \
- man/SD_JOURNAL_FOREACH_DATA.3 \
- man/sd_journal_get_monotonic_usec.3 \
- man/sd_journal_get_cutoff_monotonic_usec.3 \
- man/sd_journal_reliable_fd.3 \
- man/sd_journal_process.3 \
- man/sd_journal_wait.3 \
- man/SD_JOURNAL_NOP.3 \
- man/SD_JOURNAL_APPEND.3 \
- man/SD_JOURNAL_INVALIDATE.3 \
- man/sd_journal_add_disjunction.3 \
- man/sd_journal_flush_matches.3 \
- man/sd_journal_seek_tail.3 \
- man/sd_journal_seek_monotonic_usec.3 \
- man/sd_journal_seek_realtime_usec.3 \
- man/sd_journal_seek_cursor.3 \
- man/sd_journal_test_cursor.3 \
- man/sd_journal_enumerate_unique.3 \
- man/sd_journal_restart_unique.3 \
- man/SD_JOURNAL_FOREACH_UNIQUE.3 \
- man/sd_journal_get_catalog_for_message_id.3
-
-if HAVE_KMOD
-MANPAGES += \
- man/modules-load.d.5 \
- man/systemd-modules-load.service.8
-MANPAGES_ALIAS += \
- man/systemd-modules-load.8
-man/systemd-modules-load.8: man/systemd-modules-load.service.8
-endif
-
-if HAVE_MICROHTTPD
-MANPAGES += \
- man/systemd-journal-gatewayd.service.8
-MANPAGES_ALIAS += \
- man/systemd-journal-gatewayd.socket.8 \
- man/systemd-journal-gatewayd.8
-man/systemd-journal-gatewayd.socket.8: man/systemd-journal-gatewayd.service.8
-man/systemd-journal-gatewayd.8: man/systemd-journal-gatewayd.service.8
-endif
-if HAVE_MYHOSTNAME
-MANPAGES += \
- man/nss-myhostname.8
-endif
+MANPAGES =
+MANPAGES_ALIAS =
-man/reboot.8: man/halt.8
-man/poweroff.8: man/halt.8
-man/init.1: man/systemd.1
-man/systemd-sysctl.8: man/systemd-sysctl.service.8
-man/systemd-journald.socket.8: man/systemd-journald.service.8
-man/systemd-journald.8: man/systemd-journald.service.8
-man/systemd-remount-fs.8: man/systemd-remount-fs.service.8
-man/systemd-update-utmp-shutdown.service.8: man/systemd-update-utmp-runlevel.service.8
-man/systemd-update-utmp.8: man/systemd-update-utmp-runlevel.service.8
-man/systemd-initctl.socket.8: man/systemd-initctl.service.8
-man/systemd-initctl.8: man/systemd-initctl.service.8
-man/systemd-shutdownd.socket.8: man/systemd-shutdownd.service.8
-man/systemd-shutdownd.8: man/systemd-shutdownd.service.8
-man/systemd-hibernate.service.8: man/systemd-suspend.service.8
-man/systemd-hybrid-sleep.service.8: man/systemd-suspend.service.8
-man/systemd-sleep.8: man/systemd-suspend.service.8
-man/systemd-shutdown.8: man/systemd-halt.service.8
-man/systemd-poweroff.service.8: man/systemd-halt.service.8
-man/systemd-reboot.service.8: man/systemd-halt.service.8
-man/systemd-kexec.service.8: man/systemd-halt.service.8
-man/systemd-fsck.8: man/systemd-fsck@.service.8
-man/systemd-fsck-root.service.8: man/systemd-fsck@.service.8
-man/systemd-ask-password-console.path.8: man/systemd-ask-password-console.service.8
-man/systemd-ask-password-wall.service.8: man/systemd-ask-password-console.service.8
-man/systemd-ask-password-wall.path.8: man/systemd-ask-password-console.service.8
-man/systemd-tmpfiles-setup.service.8: man/systemd-tmpfiles.8
-man/systemd-tmpfiles-clean.service.8: man/systemd-tmpfiles.8
-man/systemd-tmpfiles-clean.timer.8: man/systemd-tmpfiles.8
-man/sd_id128_t.3: man/sd-id128.3
-man/SD_ID128_MAKE.3: man/sd-id128.3
-man/SD_ID128_CONST_STR.3: man/sd-id128.3
-man/SD_ID128_FORMAT_STR.3: man/sd-id128.3
-man/SD_ID128_FORMAT_VAL.3: man/sd-id128.3
-man/sd_id128_equal.3: man/sd-id128.3
-man/sd_id128_from_string.3: man/sd_id128_to_string.3
-man/sd_id128_get_boot.3: man/sd_id128_get_machine.3
-man/sd_journal_printv.3: man/sd_journal_print.3
-man/sd_journal_send.3: man/sd_journal_print.3
-man/sd_journal_sendv.3: man/sd_journal_print.3
-man/sd_journal_perror.3: man/sd_journal_print.3
-man/SD_JOURNAL_SUPPRESS_LOCATION.3: man/sd_journal_print.3
-man/sd_journal_open_directory.3: man/sd_journal_open.3
-man/sd_journal_close.3: man/sd_journal_open.3
-man/sd_journal.3: man/sd_journal_open.3
-man/SD_JOURNAL_RUNTIME_ONLY.3: man/sd_journal_open.3
-man/SD_JOURNAL_SYSTEM_ONLY.3: man/sd_journal_open.3
-man/SD_JOURNAL_LOCAL_ONLY.3: man/sd_journal_open.3
-man/sd_journal_previous.3: man/sd_journal_next.3
-man/sd_journal_next_skip.3: man/sd_journal_next.3
-man/sd_journal_previous_skip.3: man/sd_journal_next.3
-man/SD_JOURNAL_FOREACH.3: man/sd_journal_next.3
-man/SD_JOURNAL_FOREACH_BACKWARDS.3: man/sd_journal_next.3
-man/sd_journal_enumerate_data.3: man/sd_journal_get_data.3
-man/sd_journal_restart_data.3: man/sd_journal_get_data.3
-man/SD_JOURNAL_FOREACH_DATA.3: man/sd_journal_get_data.3
-man/sd_journal_get_monotonic_usec.3: man/sd_journal_get_realtime_usec.3
-man/sd_journal_get_cutoff_monotonic_usec.3: man/sd_journal_get_cutoff_realtime_usec.3
-man/sd_journal_reliable_fd.3: man/sd_journal_get_fd.3
-man/sd_journal_process.3: man/sd_journal_get_fd.3
-man/sd_journal_wait.3: man/sd_journal_get_fd.3
-man/SD_JOURNAL_NOP.3: man/sd_journal_get_fd.3
-man/SD_JOURNAL_APPEND.3: man/sd_journal_get_fd.3
-man/SD_JOURNAL_INVALIDATE.3: man/sd_journal_get_fd.3
-man/sd_journal_add_disjunction.3: man/sd_journal_add_match.3
-man/sd_journal_flush_matches.3: man/sd_journal_add_match.3
-man/sd_journal_seek_tail.3: man/sd_journal_seek_head.3
-man/sd_journal_seek_monotonic_usec.3: man/sd_journal_seek_head.3
-man/sd_journal_seek_realtime_usec.3: man/sd_journal_seek_head.3
-man/sd_journal_seek_cursor.3: man/sd_journal_seek_head.3
-man/sd_journal_test_cursor.3: man/sd_journal_get_cursor.3
-man/sd_journal_enumerate_unique.3: man/sd_journal_query_unique.3
-man/sd_journal_restart_unique.3: man/sd_journal_query_unique.3
-man/SD_JOURNAL_FOREACH_UNIQUE.3: man/sd_journal_query_unique.3
-man/sd_journal_get_catalog_for_message_id.3: man/sd_journal_get_catalog.3
+include Makefile-man.am
XML_FILES = \
${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubst %.7,%.xml,${patsubst %.8,%.xml,$(MANPAGES)}}}}}
+HTML_FILES = \
+ ${XML_FILES:.xml=.html}
+HTML_ALIAS = \
+ ${patsubst %.1,%.html,${patsubst %.3,%.html,${patsubst %.5,%.html,${patsubst %.7,%.html,${patsubst %.8,%.html,$(MANPAGES_ALIAS)}}}}}
if ENABLE_MANPAGES
man_MANS = \
$(MANPAGES) \
$(MANPAGES_ALIAS)
-noinst_DATA = \
- ${XML_FILES:.xml=.html}
+noinst_DATA += \
+ $(HTML_FILES) \
+ $(HTML_ALIAS)
CLEANFILES += \
- $(MANPAGES) \
- $(MANPAGES_ALIAS) \
- ${XML_FILES:.xml=.html}
+ $(man_MANS) \
+ $(HTML_FILES) \
+ $(HTML_ALIAS)
+
+docs/html/man:
+ $(AM_V_at)$(MKDIR_P) $(dir $@)
+ $(AM_V_LN)$(LN_S) -f ../../man $@
+
+noinst_DATA += \
+ docs/html/man
+
+CLEANFILES += \
+ docs/html/man
if HAVE_PYTHON
+man/index.html: man/systemd.index.html
+ $(AM_V_LN)$(LN_S) -f systemd.index.html $@
+
noinst_DATA += \
man/index.html
CLEANFILES += \
man/index.html
-man/index.html: make-man-index.py $(XML_FILES)
- $(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(PYTHON) $^ > $@
+XML_GLOB = $(wildcard $(top_srcdir)/man/*.xml $(top_builddir)/man/*.xml)
+NON_INDEX_XML_FILES = $(filter-out man/systemd.index.xml,$(XML_FILES))
+SOURCE_XML_FILES = $(filter-out man/systemd.directives.xml,$(NON_INDEX_XML_FILES))
-MANPAGES += \
- man/systemd.directives.5
+update-man-list: make-man-rules.py $(XML_GLOB)
+ $(AM_V_GEN)$(PYTHON) $^ > $(top_srcdir)/Makefile-man.tmp
+ $(AM_V_at)mv $(top_srcdir)/Makefile-man.tmp $(top_srcdir)/Makefile-man.am
+ @echo "Makefile-man.am has been regenerated"
-EXTRA_DIST += \
- man/index.html
+man/systemd.index.xml: make-man-index.py $(NON_INDEX_XML_FILES)
+ $(AM_V_at)$(MKDIR_P) $(dir $@)
+ $(AM_V_GEN)$(PYTHON) $< $@ $(filter-out $<,$^)
-XML_DIRECTIVE_FILES = \
- man/systemd.unit.xml \
- man/systemd.service.xml \
- man/systemd.socket.xml \
- man/systemd.mount.xml \
- man/systemd.automount.xml \
- man/systemd.swap.xml \
- man/systemd.target.xml \
- man/systemd.path.xml \
- man/systemd.timer.xml \
- man/systemd.snapshot.xml \
- man/systemd.exec.xml \
- man/systemd.kill.xml \
- man/systemd.device.xml \
- man/systemd.conf.xml \
- man/systemd.journal-fields.xml \
- man/systemd.time.xml
-
-man/systemd.directives.xml: make-directive-index.py $(XML_DIRECTIVE_FILES)
+man/systemd.directives.xml: make-directive-index.py $(SOURCE_XML_FILES)
$(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(PYTHON) $^ > $@
+ $(AM_V_GEN)$(PYTHON) $< $@ $(filter-out $<,$^)
EXTRA_DIST += \
+ man/systemd.index.xml \
+ man/index.html \
+ man/systemd.directives.xml
+
+CLEANFILES += \
+ man/systemd.index.xml \
man/systemd.directives.xml
endif
@@ -731,11 +603,12 @@ endif
EXTRA_DIST += \
$(XML_FILES) \
- ${XML_FILES:.xml=.html} \
- $(MANPAGES) \
- $(MANPAGES_ALIAS) \
+ $(HTML_FILES) \
+ $(HTML_ALIAS) \
+ $(dist_MANS) \
make-man-index.py \
- make-directive-index.py
+ make-directive-index.py \
+ xml_helper.py
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
@@ -755,6 +628,8 @@ libsystemd_shared_la_SOURCES = \
src/shared/util.h \
src/shared/virt.c \
src/shared/virt.h \
+ src/shared/efivars.c \
+ src/shared/efivars.h \
src/shared/path-util.c \
src/shared/path-util.h \
src/shared/time-util.c \
@@ -765,10 +640,18 @@ libsystemd_shared_la_SOURCES = \
src/shared/set.h \
src/shared/fdset.c \
src/shared/fdset.h \
+ src/shared/prioq.c \
+ src/shared/prioq.h \
+ src/shared/sleep-config.c \
+ src/shared/sleep-config.h \
src/shared/strv.c \
src/shared/strv.h \
+ src/shared/env-util.c \
+ src/shared/env-util.h \
src/shared/strbuf.c \
src/shared/strbuf.h \
+ src/shared/strxcpyx.c \
+ src/shared/strxcpyx.h \
src/shared/conf-parser.c \
src/shared/conf-parser.h \
src/shared/log.c \
@@ -798,8 +681,6 @@ libsystemd_shared_la_SOURCES = \
src/shared/watchdog.h \
src/shared/spawn-ask-password-agent.c \
src/shared/spawn-ask-password-agent.h \
- src/shared/specifier.c \
- src/shared/specifier.h \
src/shared/replace-var.c \
src/shared/replace-var.h \
src/shared/spawn-polkit-agent.c \
@@ -809,9 +690,12 @@ libsystemd_shared_la_SOURCES = \
src/shared/time-dst.c \
src/shared/time-dst.h \
src/shared/calendarspec.c \
- src/shared/calendarspec.h
-
-libsystemd_shared_la_LIBADD = libsystemd-daemon.la
+ src/shared/calendarspec.h \
+ src/shared/fileio.c \
+ src/shared/fileio.h \
+ src/shared/output-mode.h \
+ src/shared/MurmurHash3.c \
+ src/shared/MurmurHash3.h
#-------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
@@ -839,8 +723,12 @@ noinst_LTLIBRARIES += \
libsystemd_units_la_SOURCES = \
src/shared/install.c \
src/shared/install.h \
+ src/shared/install-printf.c \
+ src/shared/install-printf.h \
src/shared/path-lookup.c \
- src/shared/path-lookup.h
+ src/shared/path-lookup.h \
+ src/shared/specifier.c \
+ src/shared/specifier.h
libsystemd_units_la_CFLAGS = \
$(AM_CFLAGS) \
@@ -861,6 +749,8 @@ libsystemd_label_la_SOURCES = \
src/shared/mkdir.h \
src/shared/ask-password-api.c \
src/shared/ask-password-api.h \
+ src/shared/fileio-label.c \
+ src/shared/fileio-label.h \
src/shared/dev-setup.c \
src/shared/dev-setup.h
@@ -927,7 +817,8 @@ libsystemd_acl_la_CFLAGS = \
$(ACL_CFLAGS)
libsystemd_acl_la_LIBADD = \
- $(ACL_LIBS)
+ $(ACL_LIBS) \
+ libsystemd-shared.la
endif
# ------------------------------------------------------------------------------
@@ -1011,6 +902,8 @@ libsystemd_core_la_SOURCES = \
src/core/selinux-access.h \
src/core/selinux-setup.c \
src/core/selinux-setup.h \
+ src/core/smack-setup.c \
+ src/core/smack-setup.h \
src/core/ima-setup.c \
src/core/ima-setup.h \
src/core/locale-setup.h \
@@ -1031,6 +924,8 @@ libsystemd_core_la_SOURCES = \
src/core/tcpwrap.h \
src/core/cgroup-attr.c \
src/core/cgroup-attr.h \
+ src/core/cgroup-semantics.c \
+ src/core/cgroup-semantics.h \
src/core/securebits.h \
src/core/initreq.h \
src/core/special.h \
@@ -1044,7 +939,9 @@ libsystemd_core_la_SOURCES = \
src/core/syscall-list.c \
src/core/syscall-list.h \
src/core/audit-fd.c \
- src/core/audit-fd.h
+ src/core/audit-fd.h \
+ src/core/sync.c \
+ src/core/sync.h
if HAVE_KMOD
libsystemd_core_la_SOURCES += \
@@ -1064,7 +961,8 @@ libsystemd_core_la_CFLAGS = \
$(LIBWRAP_CFLAGS) \
$(PAM_CFLAGS) \
$(AUDIT_CFLAGS) \
- $(KMOD_CFLAGS)
+ $(KMOD_CFLAGS) \
+ -pthread
libsystemd_core_la_LIBADD = \
libsystemd-capability.la \
@@ -1102,7 +1000,7 @@ BUILT_SOURCES += \
src/core/syscall-list.txt: Makefile
$(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include sys/syscall.h - < /dev/null | $(AWK) '/^#define[ \t]+__NR_[^ ]+[ \t]+\(?.*[0-9]+.*\)?/ { sub(/__NR_/, "", $$2); print $$2; }' > $@
+ $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include sys/syscall.h - < /dev/null | $(AWK) '/^#define[ \t]+__NR_[^ ]+[ \t]+[0-9(]/ { sub(/__NR_/, "", $$2); print $$2; }' > $@
src/core/syscall-from-name.gperf: src/core/syscall-list.txt Makefile
$(AM_V_at)$(MKDIR_P) $(dir $@)
@@ -1110,11 +1008,11 @@ src/core/syscall-from-name.gperf: src/core/syscall-list.txt Makefile
src/core/syscall-from-name.h: src/core/syscall-from-name.gperf Makefile
$(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_syscall -H hash_syscall_name -p -C < $< > $@
+ $(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_syscall -H hash_syscall_name -p -C < $< > $@
src/core/syscall-to-name.h: src/core/syscall-list.txt Makefile
$(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const syscall_names[] = { "} { printf "[__NR_%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
+ $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const syscall_names[] = { "} { printf "[SYSCALL_TO_INDEX(__NR_%s)] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
# ------------------------------------------------------------------------------
systemd_SOURCES = \
@@ -1155,7 +1053,7 @@ dbusinterface_DATA += \
org.freedesktop.systemd1.Swap.xml \
org.freedesktop.systemd1.Path.xml
-polkitpolicy_in_in_files = \
+polkitpolicy_in_in_files += \
src/core/org.freedesktop.systemd1.policy.in.in
org.freedesktop.systemd1.%.xml: systemd
@@ -1174,43 +1072,42 @@ EXTRA_DIST += \
src/core/macros.systemd.in
CLEANFILES += \
- src/core/macros.systemd
+ src/core/macros.systemd \
+ src/core/org.freedesktop.systemd1.policy.in
# ------------------------------------------------------------------------------
-noinst_PROGRAMS += \
+manual_tests += \
test-engine \
- test-job-type \
test-ns \
test-loopback \
test-hostname \
test-daemon \
test-cgroup \
- test-env-replace \
- test-strv \
test-install \
test-watchdog \
- test-unit-name \
- test-log \
- test-unit-file \
- test-date \
- test-sleep \
- test-replace-var \
- test-sched-prio \
- test-calendarspec \
- test-strip-tab-ansi
+ test-log
-TESTS += \
+tests += \
test-job-type \
test-env-replace \
+ test-strbuf \
test-strv \
+ test-path-util \
+ test-strxcpyx \
test-unit-name \
test-unit-file \
+ test-util \
test-date \
test-sleep \
test-replace-var \
test-sched-prio \
test-calendarspec \
- test-strip-tab-ansi
+ test-strip-tab-ansi \
+ test-cgroup-util \
+ test-prioq \
+ test-fileio \
+ test-time \
+ test-hashmap
EXTRA_DIST += \
test/sched_idle_bad.service \
@@ -1261,9 +1158,24 @@ test_hostname_SOURCES = \
test_hostname_LDADD = \
libsystemd-core.la
+if ENABLE_EFI
+manual_tests += \
+ test-efivars
+
+test_efivars_SOURCES = \
+ src/test/test-efivars.c
+
+test_efivars_LDADD = \
+ libsystemd-shared.la
+endif
+
test_unit_name_SOURCES = \
src/test/test-unit-name.c
+test_unit_name_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(DBUS_CFLAGS)
+
test_unit_name_LDADD = \
libsystemd-core.la
@@ -1277,6 +1189,51 @@ test_unit_file_CFLAGS = \
test_unit_file_LDADD = \
libsystemd-core.la
+test_util_SOURCES = \
+ src/test/test-util.c
+
+test_util_CFLAGS = \
+ $(AM_CFLAGS)
+
+test_util_LDADD = \
+ libsystemd-core.la
+
+test_hashmap_SOURCES = \
+ src/test/test-hashmap.c
+
+test_hashmap_CFLAGS = \
+ $(AM_CFLAGS)
+
+test_hashmap_LDADD = \
+ libsystemd-core.la
+
+test_prioq_SOURCES = \
+ src/test/test-prioq.c
+
+test_prioq_CFLAGS = \
+ $(AM_CFLAGS)
+
+test_prioq_LDADD = \
+ libsystemd-core.la
+
+test_fileio_SOURCES = \
+ src/test/test-fileio.c
+
+test_fileio_CFLAGS = \
+ $(AM_CFLAGS)
+
+test_fileio_LDADD = \
+ libsystemd-core.la
+
+test_time_SOURCES = \
+ src/test/test-time.c
+
+test_time_CFLAGS = \
+ $(AM_CFLAGS)
+
+test_time_LDADD = \
+ libsystemd-core.la
+
test_log_SOURCES = \
src/test/test-log.c
@@ -1327,16 +1284,43 @@ test_cgroup_LDADD = \
libsystemd-label.la \
libsystemd-shared.la
+test_cgroup_util_SOURCES = \
+ src/test/test-cgroup-util.c
+
+test_cgroup_util_LDADD = \
+ libsystemd-label.la \
+ libsystemd-shared.la
+
test_env_replace_SOURCES = \
src/test/test-env-replace.c
test_env_replace_LDADD = \
libsystemd-shared.la
+test_strbuf_SOURCES = \
+ src/test/test-strbuf.c
+
+test_strbuf_LDADD = \
+ libsystemd-shared.la
+
test_strv_SOURCES = \
src/test/test-strv.c
test_strv_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-units.la \
+ libsystemd-id128-internal.la
+
+test_path_util_SOURCES = \
+ src/test/test-path-util.c
+
+test_path_util_LDADD = \
+ libsystemd-shared.la
+
+test_strxcpyx_SOURCES = \
+ src/test/test-strxcpyx.c
+
+test_strxcpyx_LDADD = \
libsystemd-shared.la
test_install_SOURCES = \
@@ -1349,7 +1333,8 @@ test_install_CFLAGS = \
test_install_LDADD = \
libsystemd-units.la \
libsystemd-label.la \
- libsystemd-shared.la
+ libsystemd-shared.la \
+ libsystemd-id128-internal.la
test_watchdog_SOURCES = \
src/test/test-watchdog.c
@@ -1423,8 +1408,8 @@ systemd_shutdown_LDADD = \
libsystemd-shared.la \
libudev.la
-if HAVE_KMOD
# ------------------------------------------------------------------------------
+if HAVE_KMOD
systemd_modules_load_SOURCES = \
src/modules-load/modules-load.c
@@ -1435,8 +1420,21 @@ systemd_modules_load_CFLAGS = \
systemd_modules_load_LDADD = \
libsystemd-shared.la \
$(KMOD_LIBS)
+
+rootlibexec_PROGRAMS += \
+ systemd-modules-load
+
+nodist_systemunit_DATA += \
+ units/systemd-modules-load.service
+
+SYSINIT_TARGET_WANTS += \
+ systemd-modules-load.service
+
endif
+EXTRA_DIST += \
+ units/systemd-modules-load.service.in
+
# ------------------------------------------------------------------------------
systemd_tmpfiles_SOURCES = \
src/tmpfiles/tmpfiles.c
@@ -1545,6 +1543,19 @@ systemd_system_update_generator_LDADD = \
libsystemd-shared.la
# ------------------------------------------------------------------------------
+if ENABLE_EFI
+systemgenerator_PROGRAMS += \
+ systemd-efi-boot-generator
+
+systemd_efi_boot_generator_SOURCES = \
+ src/efi-boot-generator/efi-boot-generator.c
+
+systemd_efi_boot_generator_LDADD = \
+ libsystemd-label.la \
+ libsystemd-shared.la
+endif
+
+# ------------------------------------------------------------------------------
systemd_rc_local_generator_SOURCES = \
src/rc-local-generator/rc-local-generator.c
@@ -1648,7 +1659,9 @@ systemd_stdio_bridge_SOURCES = \
src/stdio-bridge/stdio-bridge.c
systemd_stdio_bridge_LDADD = \
- libsystemd-shared.la
+ libsystemd-shared.la \
+ libsystemd-bus.la \
+ libsystemd-daemon.la
# ------------------------------------------------------------------------------
systemd_tty_ask_password_agent_SOURCES = \
@@ -1662,6 +1675,9 @@ systemd_tty_ask_password_agent_LDADD = \
libsystemd_daemon_la_SOURCES = \
src/libsystemd-daemon/sd-daemon.c
+libsystemd_daemon_internal_la_SOURCES = \
+ $(libsystemd_daemon_la_SOURCES)
+
libsystemd_daemon_la_CFLAGS = \
$(AM_CFLAGS) \
-fvisibility=hidden \
@@ -1669,7 +1685,6 @@ libsystemd_daemon_la_CFLAGS = \
libsystemd_daemon_la_LDFLAGS = \
$(AM_LDFLAGS) \
- -shared \
-version-info $(LIBSYSTEMD_DAEMON_CURRENT):$(LIBSYSTEMD_DAEMON_REVISION):$(LIBSYSTEMD_DAEMON_AGE) \
-Wl,--version-script=$(top_srcdir)/src/libsystemd-daemon/libsystemd-daemon.sym
@@ -1689,55 +1704,144 @@ UNINSTALL_EXEC_HOOKS += libsystemd-daemon-uninstall-hook
lib_LTLIBRARIES += \
libsystemd-daemon.la
+noinst_LTLIBRARIES += \
+ libsystemd-daemon-internal.la
+
pkgconfiglib_DATA += \
src/libsystemd-daemon/libsystemd-daemon.pc
-MANPAGES += \
- man/sd-daemon.3 \
- man/sd_notify.3 \
- man/sd_listen_fds.3 \
- man/sd_is_fifo.3 \
- man/sd_booted.3
-
-MANPAGES_ALIAS += \
- man/sd_is_socket.3 \
- man/sd_is_socket_unix.3 \
- man/sd_is_socket_inet.3 \
- man/sd_is_mq.3 \
- man/sd_notifyf.3 \
- man/SD_LISTEN_FDS_START.3 \
- man/SD_EMERG.3 \
- man/SD_ALERT.3 \
- man/SD_CRIT.3 \
- man/SD_ERR.3 \
- man/SD_WARNING.3 \
- man/SD_NOTICE.3 \
- man/SD_INFO.3 \
- man/SD_DEBUG.3
-
-man/sd_is_socket.3: man/sd_is_fifo.3
-man/sd_is_socket_unix.3: man/sd_is_fifo.3
-man/sd_is_socket_inet.3: man/sd_is_fifo.3
-man/sd_is_mq.3: man/sd_is_fifo.3
-man/sd_notifyf.3: man/sd_notify.3
-man/SD_LISTEN_FDS_START.3: man/sd_listen_fds.3
-man/SD_EMERG.3: man/sd-daemon.3
-man/SD_ALERT.3: man/sd-daemon.3
-man/SD_CRIT.3: man/sd-daemon.3
-man/SD_ERR.3: man/sd-daemon.3
-man/SD_WARNING.3: man/sd-daemon.3
-man/SD_NOTICE.3: man/sd-daemon.3
-man/SD_INFO.3: man/sd-daemon.3
-man/SD_DEBUG.3: man/sd-daemon.3
-
EXTRA_DIST += \
src/libsystemd-daemon/libsystemd-daemon.pc.in \
src/libsystemd-daemon/libsystemd-daemon.sym
# ------------------------------------------------------------------------------
+libsystemd_bus_la_SOURCES = \
+ src/systemd/sd-bus.h \
+ src/systemd/sd-bus-protocol.h \
+ src/libsystemd-bus/sd-bus.c \
+ src/libsystemd-bus/bus-control.c \
+ src/libsystemd-bus/bus-control.h \
+ src/libsystemd-bus/bus-error.c \
+ src/libsystemd-bus/bus-error.h \
+ src/libsystemd-bus/bus-internal.c \
+ src/libsystemd-bus/bus-internal.h \
+ src/libsystemd-bus/bus-socket.c \
+ src/libsystemd-bus/bus-socket.h \
+ src/libsystemd-bus/bus-kernel.c \
+ src/libsystemd-bus/bus-kernel.h \
+ src/libsystemd-bus/bus-message.c \
+ src/libsystemd-bus/bus-message.h \
+ src/libsystemd-bus/bus-signature.c \
+ src/libsystemd-bus/bus-signature.h \
+ src/libsystemd-bus/bus-type.c \
+ src/libsystemd-bus/bus-type.h \
+ src/libsystemd-bus/bus-match.c \
+ src/libsystemd-bus/bus-match.h \
+ src/libsystemd-bus/bus-bloom.c \
+ src/libsystemd-bus/bus-bloom.h \
+ src/libsystemd-bus/kdbus.h
+
+libsystemd_bus_la_LIBADD = \
+ libsystemd-id128-internal.la \
+ libsystemd-shared.la \
+ libsystemd-daemon.la
+
+noinst_LTLIBRARIES += \
+ libsystemd-bus.la
+
+tests += \
+ test-bus-marshal \
+ test-bus-signature \
+ test-bus-chat \
+ test-bus-server \
+ test-bus-match \
+ test-bus-kernel
+
+noinst_PROGRAMS += \
+ busctl
+
+test_bus_marshal_SOURCES = \
+ src/libsystemd-bus/test-bus-marshal.c
+
+test_bus_marshal_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-bus.la \
+ $(GLIB_LIBS) \
+ $(DBUS_LIBS)
+
+test_bus_marshal_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(GLIB_CFLAGS) \
+ $(DBUS_CFLAGS)
+
+test_bus_signature_SOURCES = \
+ src/libsystemd-bus/test-bus-signature.c
+
+test_bus_signature_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-bus.la
+
+test_bus_chat_SOURCES = \
+ src/libsystemd-bus/test-bus-chat.c
+
+test_bus_chat_CFLAGS = \
+ $(AM_CFLAGS) \
+ -pthread
+
+test_bus_chat_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-bus.la \
+ libsystemd-id128-internal.la
+
+test_bus_server_SOURCES = \
+ src/libsystemd-bus/test-bus-server.c
+
+test_bus_server_CFLAGS = \
+ $(AM_CFLAGS) \
+ -pthread
+
+test_bus_server_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-bus.la \
+ libsystemd-id128-internal.la
+
+test_bus_match_SOURCES = \
+ src/libsystemd-bus/test-bus-match.c
+
+test_bus_match_CFLAGS = \
+ $(AM_CFLAGS)
+
+test_bus_match_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-bus.la \
+ libsystemd-id128-internal.la
+
+test_bus_kernel_SOURCES = \
+ src/libsystemd-bus/test-bus-kernel.c
+
+test_bus_kernel_CFLAGS = \
+ $(AM_CFLAGS)
+
+test_bus_kernel_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-bus.la \
+ libsystemd-id128-internal.la
+
+busctl_SOURCES = \
+ src/libsystemd-bus/busctl.c
+
+busctl_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-bus.la
+
+# ------------------------------------------------------------------------------
if ENABLE_GTK_DOC
SUBDIRS += \
docs/libudev
+
+noinst_DATA += \
+ docs/html/libudev \
+ docs/html/gudev
endif
include_HEADERS += \
@@ -1768,7 +1872,9 @@ libudev_la_LDFLAGS = \
-Wl,--version-script=$(top_srcdir)/src/libudev/libudev.sym
libudev_la_LIBADD = \
- libsystemd-shared.la
+ libsystemd-shared.la \
+ libsystemd-daemon-internal.la \
+ libsystemd-id128-internal.la
pkgconfiglib_DATA += \
src/libudev/libudev.pc
@@ -1778,7 +1884,17 @@ EXTRA_DIST += \
src/libudev/libudev.sym
CLEANFILES += \
- src/libudev/libudev.pc
+ src/libudev/libudev.pc \
+ docs/html/libudev \
+ docs/html/gudev
+
+docs/html/libudev:
+ $(AM_V_at)$(MKDIR_P) $(dir $@)
+ $(AM_V_LN)$(LN_S) -f ../libudev/html $@
+
+docs/html/gudev:
+ $(AM_V_at)$(MKDIR_P) $(dir $@)
+ $(AM_V_LN)$(LN_S) -f ../gudev/html $@
# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
libudev-install-hook:
@@ -1807,25 +1923,9 @@ libudev_private_la_LIBADD = \
libsystemd-shared.la
# ------------------------------------------------------------------------------
-MANPAGES += \
- man/udev.7 \
- man/udevadm.8 \
- man/systemd-udevd.service.8
-
-MANPAGES_ALIAS += \
- man/systemd-udevd.8 \
- man/systemd-udevd-control.socket.8 \
- man/systemd-udevd-kernel.socket.8
-
-man/systemd-udevd.8: man/systemd-udevd.service.8
-man/systemd-udevd-control.socket.8: man/systemd-udevd.service.8
-man/systemd-udevd-kernel.socket.8: man/systemd-udevd.service.8
-
-udev-confdirs:
- -$(MKDIR_P) $(DESTDIR)$(sysconfdir)/udev/rules.d
- -$(MKDIR_P) $(DESTDIR)$(sysconfdir)/udev/hwdb.d
-
-INSTALL_DATA_HOOKS += udev-confdirs
+INSTALL_DIRS += \
+ $(sysconfdir)/udev/rules.d \
+ $(sysconfdir)/udev/hwdb.d
dist_udevrules_DATA += \
rules/99-systemd.rules \
@@ -1843,15 +1943,10 @@ dist_udevrules_DATA += \
rules/80-net-name-slot.rules \
rules/95-udev-late.rules
-if HAVE_KMOD
-dist_udevrules_DATA += \
- rules/80-drivers.rules
-endif
-
dist_udevhwdb_DATA = \
- hwdb/20-pci-vendor-product.hwdb \
+ hwdb/20-pci-vendor-model.hwdb \
hwdb/20-pci-classes.hwdb \
- hwdb/20-usb-vendor-product.hwdb \
+ hwdb/20-usb-vendor-model.hwdb \
hwdb/20-usb-classes.hwdb \
hwdb/20-bluetooth-vendor-product.hwdb \
hwdb/20-acpi-vendor.hwdb \
@@ -1883,17 +1978,14 @@ CLEANFILES += \
units/systemd-udev-trigger.service \
units/systemd-udev-settle.service
-systemd-install-hook:
- $(MKDIR_P) $(DESTDIR)$(systemunitdir)/sockets.target.wants
- ln -sf ../systemd-udevd-control.socket $(DESTDIR)$(systemunitdir)/sockets.target.wants/systemd-udevd-control.socket
- ln -sf ../systemd-udevd-kernel.socket $(DESTDIR)$(systemunitdir)/sockets.target.wants/systemd-udevd-kernel.socket
- $(MKDIR_P) $(DESTDIR)$(systemunitdir)/sysinit.target.wants
- ln -sf ../systemd-udevd.service $(DESTDIR)$(systemunitdir)/sysinit.target.wants/systemd-udevd.service
- ln -sf ../systemd-udev-trigger.service $(DESTDIR)$(systemunitdir)/sysinit.target.wants/systemd-udev-trigger.service
+SOCKETS_TARGET_WANTS += \
+ systemd-udevd-control.socket \
+ systemd-udevd-kernel.socket
+SYSINIT_TARGET_WANTS += \
+ systemd-udevd.service \
+ systemd-udev-trigger.service
-INSTALL_DATA_HOOKS += systemd-install-hook
-
-bin_PROGRAMS += \
+rootbin_PROGRAMS += \
udevadm
rootlibexec_PROGRAMS += \
@@ -1911,13 +2003,11 @@ libudev_core_la_SOURCES = \
src/udev/udev-ctrl.c \
src/udev/udev-builtin.c \
src/udev/udev-builtin-btrfs.c \
- src/udev/udev-builtin-firmware.c \
src/udev/udev-builtin-hwdb.c \
src/udev/udev-builtin-input_id.c \
src/udev/udev-builtin-net_id.c \
src/udev/udev-builtin-path_id.c \
- src/udev/udev-builtin-usb_id.c \
- src/libsystemd-daemon/sd-daemon.c
+ src/udev/udev-builtin-usb_id.c
libudev_core_la_CFLAGS = \
$(AM_CFLAGS) \
@@ -1927,6 +2017,7 @@ libudev_core_la_CFLAGS = \
libudev_core_la_LIBADD = \
libudev-private.la \
libsystemd-label.la \
+ libsystemd-daemon-internal.la \
libsystemd-shared.la \
$(BLKID_LIBS) \
$(KMOD_LIBS)
@@ -1935,9 +2026,20 @@ libudev_core_la_CPPFLAGS = \
$(AM_CPPFLAGS) \
-DFIRMWARE_PATH="$(FIRMWARE_PATH)"
+if ENABLE_FIRMWARE
+libudev_core_la_SOURCES += \
+ src/udev/udev-builtin-firmware.c
+
+dist_udevrules_DATA += \
+ rules/50-firmware.rules
+endif
+
if HAVE_KMOD
libudev_core_la_SOURCES += \
src/udev/udev-builtin-kmod.c
+
+dist_udevrules_DATA += \
+ rules/80-drivers.rules
endif
if HAVE_BLKID
@@ -1979,20 +2081,20 @@ udevadm_LDADD = \
# Update hwdb on installation. Do not bother if installing
# in DESTDIR, since this is likely for packaging purposes.
hwdb-update-hook:
- -test -n "$(DESTDIR)" || $(bindir)/udevadm hwdb --update
+ -test -n "$(DESTDIR)" || $(rootbindir)/udevadm hwdb --update
INSTALL_DATA_HOOKS += \
hwdb-update-hook
hwdb-remove-hook:
- -test -n "$(DESTDIR)" || rm -f $(HWDB_BIN)
+ -test -n "$(DESTDIR)" || rm -f /etc/udev/hwdb.bin
# ------------------------------------------------------------------------------
TESTS += \
test/udev-test.pl \
test/rules-test.sh
-noinst_PROGRAMS += \
+manual_tests += \
test-libudev \
test-udev
@@ -2271,7 +2373,6 @@ EXTRA_DIST += \
src/gudev/seed-example-enum.js \
src/gudev/seed-example.js
-
# ------------------------------------------------------------------------------
if ENABLE_KEYMAP
keymap_SOURCES = \
@@ -2341,6 +2442,8 @@ dist_udevkeymap_DATA = \
keymaps/hewlett-packard-tablet \
keymaps/hewlett-packard-tx2 \
keymaps/hewlett-packard_elitebook-8440p \
+ keymaps/hewlett-packard_elitebook-8460p \
+ keymaps/hewlett-packard-hdx9494nr \
keymaps/ibm-thinkpad-usb-keyboard-trackpoint \
keymaps/inventec-symphony_6.0_7.0 \
keymaps/lenovo-3000 \
@@ -2392,7 +2495,7 @@ src/udev/keymap/keys-from-name.gperf: src/udev/keymap/keys.txt Makefile
$(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@
src/udev/keymap/keys-from-name.h: src/udev/keymap/keys-from-name.gperf Makefile
- $(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@
+ $(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@
src/udev/keymap/keys-to-name.h: src/udev/keymap/keys.txt Makefile
$(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@
@@ -2427,12 +2530,12 @@ libsystemd_id128_la_CFLAGS = \
libsystemd_id128_la_LDFLAGS = \
$(AM_LDFLAGS) \
- -shared \
-version-info $(LIBSYSTEMD_ID128_CURRENT):$(LIBSYSTEMD_ID128_REVISION):$(LIBSYSTEMD_ID128_AGE) \
-Wl,--version-script=$(top_srcdir)/src/libsystemd-id128/libsystemd-id128.sym
libsystemd_id128_la_LIBADD = \
- libsystemd-shared.la
+ libsystemd-shared.la \
+ libsystemd-daemon-internal.la
libsystemd_id128_internal_la_SOURCES = \
$(libsystemd_id128_la_SOURCES)
@@ -2444,10 +2547,7 @@ test_id128_LDADD = \
libsystemd-shared.la \
libsystemd-id128-internal.la
-noinst_PROGRAMS += \
- test-id128
-
-TESTS += \
+tests += \
test-id128
pkginclude_HEADERS += \
@@ -2477,6 +2577,18 @@ EXTRA_DIST += \
src/libsystemd-id128/libsystemd-id128.sym
# ------------------------------------------------------------------------------
+
+rootlibexec_PROGRAMS += \
+ systemd-activate
+
+systemd_activate_SOURCES = \
+ src/activate/activate.c
+
+systemd_activate_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-daemon.la
+
+# ------------------------------------------------------------------------------
systemd_journald_SOURCES = \
src/journal/journald.c \
src/journal/journald-server.h
@@ -2505,6 +2617,11 @@ journalctl_LDADD = \
libsystemd-id128-internal.la \
libsystemd-logs.la
+if HAVE_ACL
+journalctl_LDADD += \
+ libsystemd-acl.la
+endif
+
if HAVE_QRENCODE
journalctl_SOURCES += \
src/journal/journal-qrcode.c \
@@ -2517,13 +2634,6 @@ journalctl_LDADD += \
$(QRENCODE_LIBS)
endif
-systemd_coredumpctl_SOURCES = \
- src/journal/coredumpctl.c
-
-systemd_coredumpctl_LDADD = \
- libsystemd-shared.la \
- libsystemd-journal.la
-
test_journal_SOURCES = \
src/journal/test-journal.c
@@ -2621,13 +2731,13 @@ libsystemd_journal_la_CFLAGS = \
libsystemd_journal_la_LDFLAGS = \
$(AM_LDFLAGS) \
- -shared \
-version-info $(LIBSYSTEMD_JOURNAL_CURRENT):$(LIBSYSTEMD_JOURNAL_REVISION):$(LIBSYSTEMD_JOURNAL_AGE) \
-Wl,--version-script=$(top_srcdir)/src/journal/libsystemd-journal.sym
libsystemd_journal_la_LIBADD = \
libsystemd-shared.la \
libsystemd-label.la \
+ libsystemd-daemon-internal.la \
libsystemd-id128-internal.la
libsystemd_journal_internal_la_SOURCES = \
@@ -2712,9 +2822,16 @@ libsystemd_journal_internal_la_LIBADD += \
$(GCRYPT_LIBS)
endif
-# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
+# move lib from $(libdir) to $(rootlibdir) and update devel link, if
+# needed. Also, grant read access to new journal files to members of
+# "adm" and "wheel".
libsystemd-journal-install-hook:
libname=libsystemd-journal.so && $(move-to-rootlibdir)
+ -$(MKDIR_P) $(DESTDIR)/var/log/journal
+ -chown 0:0 $(DESTDIR)/var/log/journal
+ -chmod 755 $(DESTDIR)/var/log/journal
+ -setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/
+ -setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/
libsystemd-journal-uninstall-hook:
rm -f $(DESTDIR)$(rootlibdir)/libsystemd-journal.so*
@@ -2722,6 +2839,8 @@ libsystemd-journal-uninstall-hook:
INSTALL_EXEC_HOOKS += libsystemd-journal-install-hook
UNINSTALL_EXEC_HOOKS += libsystemd-journal-uninstall-hook
+# ------------------------------------------------------------------------------
+
# Update catalog on installation. Do not bother if installing
# in DESTDIR, since this is likely for packaging purposes.
catalog-update-hook:
@@ -2736,26 +2855,19 @@ catalog-remove-hook:
UNINSTALL_DATA_HOOKS += \
catalog-remove-hook
-noinst_PROGRAMS += \
+manual_tests += \
+ test-journal-enum
+
+tests += \
test-journal \
test-journal-send \
test-journal-syslog \
test-journal-match \
- test-journal-enum \
test-journal-stream \
test-journal-verify \
test-mmap-cache \
test-catalog
-TESTS += \
- test-journal \
- test-journal-send \
- test-journal-syslog \
- test-journal-match \
- test-journal-stream \
- test-journal-verify \
- test-mmap-cache
-
pkginclude_HEADERS += \
src/systemd/sd-journal.h \
src/systemd/sd-messages.h
@@ -2773,7 +2885,6 @@ rootbin_PROGRAMS += \
journalctl
bin_PROGRAMS += \
- systemd-coredumpctl \
systemd-cat
dist_systemunit_DATA += \
@@ -2792,20 +2903,11 @@ pkgconfiglib_DATA += \
dist_catalog_DATA = \
catalog/systemd.catalog
-journal-install-data-hook:
- $(MKDIR_P) -m 0755 \
- $(DESTDIR)$(systemunitdir)/sockets.target.wants \
- $(DESTDIR)$(systemunitdir)/sysinit.target.wants
- ( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
- rm -f systemd-journald.socket && \
- $(LN_S) ../systemd-journald.socket )
- ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
- rm -f systemd-journald.service systemd-journal-flush.service && \
- $(LN_S) ../systemd-journald.service && \
- $(LN_S) ../systemd-journal-flush.service )
-
-INSTALL_DATA_HOOKS += \
- journal-install-data-hook
+SOCKETS_TARGET_WANTS += \
+ systemd-journald.socket
+SYSINIT_TARGET_WANTS += \
+ systemd-journald.service \
+ systemd-journal-flush.service
EXTRA_DIST += \
src/journal/libsystemd-journal.pc.in \
@@ -2817,15 +2919,17 @@ EXTRA_DIST += \
CLEANFILES += \
src/journal/journald-gperf.c
+# ------------------------------------------------------------------------------
if HAVE_MICROHTTPD
-
gatewayddocumentrootdir=$(pkgdatadir)/gatewayd
rootlibexec_PROGRAMS += \
systemd-journal-gatewayd
systemd_journal_gatewayd_SOURCES = \
- src/journal/journal-gatewayd.c
+ src/journal/journal-gatewayd.c \
+ src/journal/microhttpd-util.h \
+ src/journal/microhttpd-util.c
systemd_journal_gatewayd_LDADD = \
libsystemd-shared.la \
@@ -2833,6 +2937,7 @@ systemd_journal_gatewayd_LDADD = \
libsystemd-journal-internal.la \
libsystemd-id128-internal.la \
libsystemd-daemon.la \
+ libsystemd-bus.la \
$(MICROHTTPD_LIBS)
systemd_journal_gatewayd_CFLAGS = \
@@ -2872,15 +2977,28 @@ endif
rootlibexec_PROGRAMS += \
systemd-coredump
+systemd_coredumpctl_SOURCES = \
+ src/journal/coredumpctl.c
+
+systemd_coredumpctl_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-journal.la
+
+bin_PROGRAMS += \
+ systemd-coredumpctl
+
+dist_bashcompletion_DATA += \
+ shell-completion/bash/systemd-coredumpctl
+
sysctl_DATA = \
- sysctl.d/coredump.conf
+ sysctl.d/50-coredump.conf
CLEANFILES += \
- sysctl.d/coredump.conf
+ sysctl.d/50-coredump.conf
endif
EXTRA_DIST += \
- sysctl.d/coredump.conf.in
+ sysctl.d/50-coredump.conf.in
# ------------------------------------------------------------------------------
if ENABLE_BINFMT
@@ -2900,28 +3018,14 @@ dist_systemunit_DATA += \
nodist_systemunit_DATA += \
units/systemd-binfmt.service
-binfmt-install-data-hook:
- $(MKDIR_P) -m 0755 \
- $(DESTDIR)$(prefix)/lib/binfmt.d \
- $(DESTDIR)$(sysconfdir)/binfmt.d \
- $(DESTDIR)$(systemunitdir)/sysinit.target.wants
- ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
- rm -f systemd-binfmt.service \
- proc-sys-fs-binfmt_misc.automount && \
- $(LN_S) ../systemd-binfmt.service systemd-binfmt.service && \
- $(LN_S) ../proc-sys-fs-binfmt_misc.automount proc-sys-fs-binfmt_misc.automount )
+INSTALL_DIRS += \
+ $(prefix)/lib/binfmt.d \
+ $(sysconfdir)/binfmt.d
-INSTALL_DATA_HOOKS += \
- binfmt-install-data-hook
-
-MANPAGES += \
- man/binfmt.d.5 \
- man/systemd-binfmt.service.8
+SYSINIT_TARGET_WANTS += \
+ systemd-binfmt.service \
+ proc-sys-fs-binfmt_misc.automount
-MANPAGES_ALIAS += \
- man/systemd-binfmt.8
-
-man/systemd-binfmt.8: man/systemd-binfmt.service.8
endif
EXTRA_DIST += \
@@ -2941,24 +3045,8 @@ rootlibexec_PROGRAMS += \
nodist_systemunit_DATA += \
units/systemd-vconsole-setup.service
-vconsole-install-data-hook:
- $(MKDIR_P) -m 0755 \
- $(DESTDIR)$(systemunitdir)/sysinit.target.wants
- ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
- rm -f systemd-vconsole-setup.service && \
- $(LN_S) ../systemd-vconsole-setup.service systemd-vconsole-setup.service )
-
-INSTALL_DATA_HOOKS += \
- vconsole-install-data-hook
-
-MANPAGES += \
- man/vconsole.conf.5 \
- man/systemd-vconsole-setup.service.8
-
-MANPAGES_ALIAS += \
- man/systemd-vconsole-setup.8
-
-man/systemd-vconsole-setup.8: man/systemd-vconsole-setup.service.8
+SYSINIT_TARGET_WANTS += \
+ systemd-vconsole-setup.service
endif
EXTRA_DIST += \
@@ -2995,22 +3083,6 @@ nodist_systemunit_DATA += \
units/systemd-readahead-replay.service \
units/systemd-readahead-done.service
-MANPAGES += \
- man/sd_readahead.3 \
- man/sd-readahead.3 \
- man/systemd-readahead-replay.service.8
-
-MANPAGES_ALIAS += \
- man/systemd-readahead-collect.service.8 \
- man/systemd-readahead-done.service.8 \
- man/systemd-readahead-done.timer.8 \
- man/systemd-readahead.8
-
-man/systemd-readahead-collect.service.8: man/systemd-readahead-replay.service.8
-man/systemd-readahead-done.service.8: man/systemd-readahead-replay.service.8
-man/systemd-readahead-done.timer.8: man/systemd-readahead-replay.service.8
-man/systemd-readahead.8: man/systemd-readahead-replay.service.8
-
endif
EXTRA_DIST += \
@@ -3023,15 +3095,20 @@ if ENABLE_BOOTCHART
systemd_bootchart_SOURCES = \
src/bootchart/bootchart.c \
src/bootchart/bootchart.h \
- src/bootchart/log.c \
- src/bootchart/svg.c
+ src/bootchart/store.c \
+ src/bootchart/store.h \
+ src/bootchart/svg.c \
+ src/bootchart/svg.h
-MANPAGES += \
- man/systemd-bootchart.1
- man/bootchart.conf.5
+systemd_bootchart_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-journal.la
rootlibexec_PROGRAMS += \
systemd-bootchart
+
+dist_pkgsysconf_DATA += \
+ src/bootchart/bootchart.conf
endif
# ------------------------------------------------------------------------------
@@ -3047,15 +3124,6 @@ systemd_quotacheck_SOURCES = \
systemd_quotacheck_LDADD = \
libsystemd-shared.la
-
-MANPAGES += \
- man/systemd-quotacheck.service.8
-
-MANPAGES_ALIAS += \
- man/systemd-quotacheck.8
-
-man/systemd-quotacheck.8: man/systemd-quotacheck.service.8
-
endif
EXTRA_DIST += \
@@ -3080,29 +3148,10 @@ systemd_random_seed_LDADD = \
libsystemd-label.la \
libsystemd-shared.la
-randomseed-install-data-hook:
- $(MKDIR_P) -m 0755 \
- $(DESTDIR)$(systemunitdir)/shutdown.target.wants \
- $(DESTDIR)$(systemunitdir)/sysinit.target.wants
- ( cd $(DESTDIR)$(systemunitdir)/shutdown.target.wants && \
- rm -f systemd-random-seed-save.service && \
- $(LN_S) ../systemd-random-seed-save.service systemd-random-seed-save.service )
- ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
- rm -f systemd-random-seed-load.service && \
- $(LN_S) ../systemd-random-seed-load.service systemd-random-seed-load.service )
-
-INSTALL_DATA_HOOKS += \
- randomseed-install-data-hook
-
-MANPAGES += \
- man/systemd-random-seed-load.service.8
-
-MANPAGES_ALIAS += \
- man/systemd-random-seed-save.service.8 \
- man/systemd-random-seed.8
-
-man/systemd-random-seed-save.service.8: man/systemd-random-seed-load.service.8
-man/systemd-random-seed.8: man/systemd-random-seed-load.service.8
+SHUTDOWN_TARGET_WANTS += \
+ systemd-random-seed-save.service
+SYSINIT_TARGET_WANTS += \
+ systemd-random-seed-load.service
endif
@@ -3141,25 +3190,8 @@ systemd_cryptsetup_generator_LDADD = \
libsystemd-label.la \
libsystemd-shared.la
-cryptsetup-install-data-hook:
- $(MKDIR_P) -m 0755 \
- $(DESTDIR)$(systemunitdir)/sysinit.target.wants
- ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
- rm -f cryptsetup.target && \
- $(LN_S) ../cryptsetup.target cryptsetup.target )
-
-INSTALL_DATA_HOOKS += \
- cryptsetup-install-data-hook
-
-MANPAGES += \
- man/systemd-cryptsetup@.service.8 \
- man/systemd-cryptsetup-generator.8 \
- man/crypttab.5
-
-MANPAGES_ALIAS += \
- man/systemd-cryptsetup.8
-
-man/systemd-cryptsetup.8: man/systemd-cryptsetup@.service.8
+SYSINIT_TARGET_WANTS += \
+ cryptsetup.target
endif
@@ -3173,6 +3205,7 @@ systemd_hostnamed_CFLAGS = \
$(DBUS_CFLAGS)
systemd_hostnamed_LDADD = \
+ libsystemd-label.la \
libsystemd-shared.la \
libsystemd-daemon.la \
libsystemd-dbus.la
@@ -3200,21 +3233,8 @@ org.freedesktop.hostname1.xml: systemd-hostnamed
$(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
$(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
-hostnamed-install-data-hook:
- ( cd $(DESTDIR)$(systemunitdir) && \
- rm -f dbus-org.freedesktop.hostname1.service && \
- $(LN_S) systemd-hostnamed.service dbus-org.freedesktop.hostname1.service )
-
-INSTALL_DATA_HOOKS += \
- hostnamed-install-data-hook
-
-MANPAGES += \
- man/systemd-hostnamed.service.8
-
-MANPAGES_ALIAS += \
- man/systemd-hostnamed.8
-
-man/systemd-hostnamed.8: man/systemd-hostnamed.service.8
+SYSTEM_UNIT_ALIASES += \
+ systemd-hostnamed.service dbus-org.freedesktop.hostname1.service
hostnamectl_SOURCES = \
src/hostname/hostnamectl.c
@@ -3231,8 +3251,8 @@ hostnamectl_LDADD = \
bin_PROGRAMS += \
hostnamectl
-MANPAGES += \
- man/hostnamectl.1
+dist_bashcompletion_DATA += \
+ shell-completion/bash/hostnamectl
endif
@@ -3280,21 +3300,8 @@ org.freedesktop.locale1.xml: systemd-localed
$(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
$(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
-localed-install-data-hook:
- ( cd $(DESTDIR)$(systemunitdir) && \
- rm -f dbus-org.freedesktop.locale1.service && \
- $(LN_S) systemd-localed.service dbus-org.freedesktop.locale1.service )
-
-INSTALL_DATA_HOOKS += \
- localed-install-data-hook
-
-MANPAGES += \
- man/systemd-localed.service.8
-
-MANPAGES_ALIAS += \
- man/systemd-localed.8
-
-man/systemd-localed.8: man/systemd-localed.service.8
+SYSTEM_UNIT_ALIASES += \
+ systemd-localed.service dbus-org.freedesktop.locale1.service
dist_pkgdata_DATA += \
src/locale/kbd-model-map
@@ -3320,8 +3327,8 @@ localectl_LDADD = \
bin_PROGRAMS += \
localectl
-MANPAGES += \
- man/localectl.1
+dist_bashcompletion_DATA += \
+ shell-completion/bash/localectl
endif
@@ -3341,6 +3348,7 @@ systemd_timedated_CFLAGS = \
$(DBUS_CFLAGS)
systemd_timedated_LDADD = \
+ libsystemd-label.la \
libsystemd-shared.la \
libsystemd-daemon.la \
libsystemd-dbus.la
@@ -3368,24 +3376,12 @@ org.freedesktop.timedate1.xml: systemd-timedated
dbusinterface_DATA += \
org.freedesktop.timedate1.xml
-timedated-install-data-hook:
- $(MKDIR_P) -m 0755 \
- $(DESTDIR)$(prefix)/lib/systemd/ntp-units.d \
- $(DESTDIR)$(sysconfdir)/systemd/ntp-units.d
- ( cd $(DESTDIR)$(systemunitdir) && \
- rm -f dbus-org.freedesktop.timedate1.service && \
- $(LN_S) systemd-timedated.service dbus-org.freedesktop.timedate1.service )
+INSTALL_DIRS += \
+ $(prefix)/lib/systemd/ntp-units.d \
+ $(sysconfdir)/systemd/ntp-units.d
-INSTALL_DATA_HOOKS += \
- timedated-install-data-hook
-
-MANPAGES += \
- man/systemd-timedated.service.8
-
-MANPAGES_ALIAS += \
- man/systemd-timedated.8
-
-man/systemd-timedated.8: man/systemd-timedated.service.8
+SYSTEM_UNIT_ALIASES += \
+ systemd-timedated.service dbus-org.freedesktop.timedate1.service
timedatectl_SOURCES = \
src/timedate/timedatectl.c
@@ -3401,9 +3397,8 @@ timedatectl_LDADD = \
bin_PROGRAMS += \
timedatectl
-MANPAGES += \
- man/timedatectl.1
-
+dist_bashcompletion_DATA += \
+ shell-completion/bash/timedatectl
endif
polkitpolicy_in_files += \
@@ -3413,6 +3408,46 @@ EXTRA_DIST += \
units/systemd-timedated.service.in
# ------------------------------------------------------------------------------
+if ENABLE_EFI
+bootctl_SOURCES = \
+ src/boot/boot.h \
+ src/boot/boot-loader.h \
+ src/boot/bootctl.c \
+ src/boot/boot-loader.c \
+ src/boot/boot-efi.c
+
+bootctl_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-id128.la \
+ libsystemd-daemon.la
+
+bin_PROGRAMS += \
+ bootctl
+endif
+
+# ------------------------------------------------------------------------------
+if HAVE_MYHOSTNAME
+libnss_myhostname_la_SOURCES = \
+ src/nss-myhostname/nss-myhostname.c \
+ src/nss-myhostname/ifconf.h \
+ src/nss-myhostname/netlink.c
+
+libnss_myhostname_la_CFLAGS = \
+ $(AM_CFLAGS)
+
+libnss_myhostname_la_LDFLAGS = \
+ $(AM_LDFLAGS) \
+ -module \
+ -export-dynamic \
+ -avoid-version \
+ -shared \
+ -shrext .so.2
+
+lib_LTLIBRARIES += \
+ libnss_myhostname.la
+endif
+
+# ------------------------------------------------------------------------------
if ENABLE_LOGIND
systemd_logind_SOURCES = \
src/login/logind.c \
@@ -3446,8 +3481,8 @@ systemd_logind_CFLAGS = \
systemd_logind_LDADD = \
libsystemd-label.la \
- libsystemd-shared.la \
libsystemd-audit.la \
+ libsystemd-shared.la \
libsystemd-daemon.la \
libsystemd-dbus.la \
libudev.la
@@ -3486,6 +3521,9 @@ loginctl_LDADD = \
rootbin_PROGRAMS += \
loginctl
+dist_bashcompletion_DATA += \
+ shell-completion/bash/loginctl
+
systemd_inhibit_SOURCES = \
src/login/inhibit.c
@@ -3518,7 +3556,7 @@ test_inhibit_CFLAGS = \
$(AM_CFLAGS) \
$(DBUS_CFLAGS)
-noinst_PROGRAMS += \
+manual_tests += \
test-login \
test-inhibit
@@ -3531,12 +3569,12 @@ libsystemd_login_la_CFLAGS = \
libsystemd_login_la_LDFLAGS = \
$(AM_LDFLAGS) \
- -shared \
-version-info $(LIBSYSTEMD_LOGIN_CURRENT):$(LIBSYSTEMD_LOGIN_REVISION):$(LIBSYSTEMD_LOGIN_AGE) \
-Wl,--version-script=$(top_srcdir)/src/login/libsystemd-login.sym
libsystemd_login_la_LIBADD = \
- libsystemd-shared.la
+ libsystemd-shared.la \
+ libsystemd-daemon-internal.la
libsystemd_login_internal_la_SOURCES = \
$(libsystemd_login_la_SOURCES)
@@ -3560,37 +3598,16 @@ pam_systemd_la_LDFLAGS = \
-export-symbols-regex '^pam_sm_.*'
pam_systemd_la_LIBADD = \
- libsystemd-daemon.la \
libsystemd-audit.la \
libsystemd-dbus.la \
libsystemd-shared.la \
+ libsystemd-daemon-internal.la \
$(PAM_LIBS)
pamlib_LTLIBRARIES = \
pam_systemd.la
endif
-if HAVE_MYHOSTNAME
-libnss_myhostname_la_SOURCES = \
- src/nss-myhostname/nss-myhostname.c \
- src/nss-myhostname/ifconf.h \
- src/nss-myhostname/netlink.c
-
-libnss_myhostname_la_CFLAGS = \
- $(AM_CFLAGS)
-
-libnss_myhostname_la_LDFLAGS = \
- $(AM_LDFLAGS) \
- -module \
- -export-dynamic \
- -avoid-version \
- -shared \
- -shrext .so.2
-
-lib_LTLIBRARIES += \
- libnss_myhostname.la
-endif
-
# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
libsystemd-login-install-hook:
libname=libsystemd-login.so && $(move-to-rootlibdir)
@@ -3629,20 +3646,15 @@ pkgconfiglib_DATA += \
polkitpolicy_files += \
src/login/org.freedesktop.login1.policy
-logind-install-data-hook:
- $(MKDIR_P) -m 0755 \
- $(DESTDIR)$(systemunitdir)/multi-user.target.wants \
- $(DESTDIR)$(systemdstatedir)
- ( cd $(DESTDIR)$(systemunitdir) && \
- rm -f dbus-org.freedesktop.login1.service && \
- $(LN_S) systemd-logind.service dbus-org.freedesktop.login1.service)
- ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \
- rm -f systemd-logind.service systemd-user-sessions.service && \
- $(LN_S) ../systemd-logind.service systemd-logind.service && \
- $(LN_S) ../systemd-user-sessions.service systemd-user-sessions.service )
+INSTALL_DIRS += \
+ $(systemdstatedir)
-INSTALL_DATA_HOOKS += \
- logind-install-data-hook
+MULTI_USER_TARGET_WANTS += \
+ systemd-logind.service \
+ systemd-user-sessions.service
+
+SYSTEM_UNIT_ALIASES += \
+ systemd-logind.service dbus-org.freedesktop.login1.service
systemd_multi_seat_x_SOURCES = \
src/login/multi-seat-x.c
@@ -3662,66 +3674,6 @@ nodist_udevrules_DATA += \
src/login/71-seat.rules \
src/login/73-seat-late.rules
-MANPAGES += \
- man/systemd-logind.service.8 \
- man/logind.conf.5 \
- man/sd-login.3 \
- man/loginctl.1 \
- man/sd_login_monitor_new.3 \
- man/sd_pid_get_session.3 \
- man/sd_uid_get_state.3 \
- man/sd_session_is_active.3 \
- man/sd_seat_get_active.3 \
- man/sd_get_seats.3 \
- man/systemd-user-sessions.service.8
-
-MANPAGES_ALIAS += \
- man/sd_login_monitor_unref.3 \
- man/sd_login_monitor_flush.3 \
- man/sd_login_monitor_get_fd.3 \
- man/sd_login_monitor.3 \
- man/sd_session_get_uid.3 \
- man/sd_session_get_seat.3 \
- man/sd_session_get_service.3 \
- man/sd_session_get_state.3 \
- man/sd_session_get_type.3 \
- man/sd_session_get_class.3 \
- man/sd_session_get_display.3 \
- man/sd_pid_get_owner_uid.3 \
- man/sd_pid_get_unit.3 \
- man/sd_uid_is_on_seat.3 \
- man/sd_uid_get_sessions.3 \
- man/sd_uid_get_seats.3 \
- man/sd_seat_get_sessions.3 \
- man/sd_seat_can_multi_session.3 \
- man/sd_get_sessions.3 \
- man/sd_get_uids.3 \
- man/systemd-logind.8 \
- man/systemd-user-sessions.8
-
-man/systemd-logind.8: man/systemd-logind.service.8
-man/sd_login_monitor_unref.3: man/sd_login_monitor_new.3
-man/sd_login_monitor_flush.3: man/sd_login_monitor_new.3
-man/sd_login_monitor_get_fd.3: man/sd_login_monitor_new.3
-man/sd_login_monitor.3: man/sd_login_monitor_new.3
-man/sd_session_get_uid.3: man/sd_session_is_active.3
-man/sd_session_get_seat.3: man/sd_session_is_active.3
-man/sd_session_get_service.3: man/sd_session_is_active.3
-man/sd_session_get_state.3: man/sd_session_is_active.3
-man/sd_session_get_type.3: man/sd_session_is_active.3
-man/sd_session_get_class.3: man/sd_session_is_active.3
-man/sd_session_get_display.3: man/sd_session_is_active.3
-man/sd_pid_get_owner_uid.3: man/sd_pid_get_session.3
-man/sd_pid_get_unit.3: man/sd_pid_get_session.3
-man/sd_uid_is_on_seat.3: man/sd_uid_get_state.3
-man/sd_uid_get_sessions.3: man/sd_uid_get_state.3
-man/sd_uid_get_seats.3: man/sd_uid_get_state.3
-man/sd_seat_get_sessions.3: man/sd_seat_get_active.3
-man/sd_seat_can_multi_session.3: man/sd_seat_get_active.3
-man/sd_get_sessions.3: man/sd_get_seats.3
-man/sd_get_uids.3: man/sd_get_seats.3
-man/systemd-user-sessions.8: man/systemd-user-sessions.service.8
-
CLEANFILES += \
src/login/logind-gperf.c \
src/login/71-seat.rules \
@@ -3741,18 +3693,20 @@ EXTRA_DIST += \
units/systemd-user-sessions.service.in
# ------------------------------------------------------------------------------
-
if HAVE_PYTHON_DEVEL
-
pkgpyexec_LTLIBRARIES = \
- _journal.la
+ _journal.la \
+ id128.la \
+ _daemon.la \
+ _reader.la \
+ login.la
_journal_la_SOURCES = \
src/python-systemd/_journal.c
_journal_la_CFLAGS = \
$(AM_CFLAGS) \
- -fvisibility=default \
+ -fvisibility=default \
$(PYTHON_CFLAGS)
_journal_la_LDFLAGS = \
@@ -3765,53 +3719,172 @@ _journal_la_LIBADD = \
$(PYTHON_LIBS) \
libsystemd-journal.la
+id128_la_SOURCES = \
+ src/python-systemd/id128.c \
+ src/python-systemd/id128-constants.h \
+ src/python-systemd/pyutil.c \
+ src/python-systemd/pyutil.h
+
+id128_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ -fvisibility=default \
+ $(PYTHON_CFLAGS) \
+ -I$(top_builddir)/src/python-systemd
+
+id128_la_LDFLAGS = \
+ $(AM_LDFLAGS) \
+ -shared \
+ -module \
+ -avoid-version
+
+id128_la_LIBADD = \
+ $(PYTHON_LIBS) \
+ libsystemd-id128.la
+
+_daemon_la_SOURCES = \
+ src/python-systemd/_daemon.c \
+ src/python-systemd/pyutil.c \
+ src/python-systemd/pyutil.h
+
+_daemon_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ -fvisibility=default \
+ $(PYTHON_CFLAGS) \
+ -I$(top_builddir)/src/python-systemd
+
+_daemon_la_LDFLAGS = \
+ $(AM_LDFLAGS) \
+ -shared \
+ -module \
+ -avoid-version
+
+_daemon_la_LIBADD = \
+ $(PYTHON_LIBS) \
+ libsystemd-daemon.la
+
+_reader_la_SOURCES = \
+ src/python-systemd/_reader.c \
+ src/python-systemd/pyutil.c \
+ src/python-systemd/pyutil.h
+
+_reader_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ -fvisibility=default \
+ $(PYTHON_CFLAGS)
+
+_reader_la_LDFLAGS = \
+ $(AM_LDFLAGS) \
+ -shared \
+ -module \
+ -avoid-version
+
+_reader_la_LIBADD = \
+ $(PYTHON_LIBS) \
+ libsystemd-journal.la \
+ libsystemd-id128.la \
+ libsystemd-shared.la \
+ libsystemd-daemon-internal.la
+
+login_la_SOURCES = \
+ src/python-systemd/login.c \
+ src/python-systemd/pyutil.c \
+ src/python-systemd/pyutil.h
+
+login_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ -fvisibility=default \
+ $(PYTHON_CFLAGS)
+
+login_la_LDFLAGS = \
+ $(AM_LDFLAGS) \
+ -shared \
+ -module \
+ -avoid-version
+
+login_la_LIBADD = \
+ $(PYTHON_LIBS) \
+ libsystemd-journal.la \
+ libsystemd-login.la \
+ libsystemd-shared.la \
+ libsystemd-daemon-internal.la
+
dist_pkgpyexec_PYTHON = \
src/python-systemd/journal.py \
+ src/python-systemd/daemon.py \
src/python-systemd/__init__.py
+src/python-systemd/id128-constants.h: src/systemd/sd-messages.h Makefile
+ $(AM_V_at)$(MKDIR_P) $(dir $@)
+ $(AM_V_GEN)$(SED) -n -r 's/,//g; s/#define (SD_MESSAGE_[A-Z0-9_]+)\s.*/add_id(m, "\1", \1) JOINER/p' <$< >$@
+
+BUILT_SOURCES += \
+ src/python-systemd/id128-constants.h
+
+SPHINXOPTS = -D version=$(VERSION) -D release=$(VERSION)
+sphinx-%:
+ $(AM_V_at)test -n "$(SPHINX_BUILD)" || { echo " *** sphinx-build is not available"; exit 1; }
+ $(AM_V_GEN)PYTHONPATH=$(DESTDIR)$(pyexecdir) LD_LIBRARY_PATH=$(DESTDIR)$(libdir) $(SPHINX_BUILD) -b $* $(SPHINXOPTS) $(top_srcdir)/src/python-systemd/docs $(top_builddir)/docs/html/python-systemd/
+ $(AM_V_at)echo Output has been generated in $(abs_top_builddir)/docs/html/python-systemd/
+
+destdir-sphinx: all
+ dir="$$(mktemp -d /tmp/systemd-install.XXXXXX)" && \
+ $(MAKE) DESTDIR="$$dir" install && \
+ $(MAKE) DESTDIR="$$dir" sphinx-html && \
+ rm -rf "$$dir"
+
endif
+CLEAN_LOCAL_HOOKS += clean-sphinx
+
+clean-sphinx:
+ -rm -rf docs/html/python-systemd/
+
# ------------------------------------------------------------------------------
+substitutions = \
+ '|rootlibexecdir=$(rootlibexecdir)|' \
+ '|rootbindir=$(rootbindir)|' \
+ '|bindir=$(bindir)|' \
+ '|SYSTEMCTL=$(rootbindir)/systemctl|' \
+ '|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \
+ '|pkgsysconfdir=$(pkgsysconfdir)|' \
+ '|SYSTEM_CONFIG_UNIT_PATH=$(pkgsysconfdir)/system|' \
+ '|USER_CONFIG_UNIT_PATH=$(pkgsysconfdir)/user|' \
+ '|pkgdatadir=$(pkgdatadir)|' \
+ '|systemunitdir=$(systemunitdir)|' \
+ '|userunitdir=$(userunitdir)|' \
+ '|systempresetdir=$(systempresetdir)|' \
+ '|userpresetdir=$(userpresetdir)|' \
+ '|udevhwdbdir=$(udevhwdbdir)|' \
+ '|udevrulesdir=$(udevrulesdir)|' \
+ '|catalogdir=$(catalogdir)|' \
+ '|tmpfilesdir=$(tmpfilesdir)|' \
+ '|sysctldir=$(sysctldir)|' \
+ '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
+ '|PACKAGE_NAME=$(PACKAGE_NAME)|' \
+ '|PACKAGE_URL=$(PACKAGE_URL)|' \
+ '|RANDOM_SEED=$(localstatedir)/lib/random-seed|' \
+ '|prefix=$(prefix)|' \
+ '|exec_prefix=$(exec_prefix)|' \
+ '|libdir=$(libdir)|' \
+ '|includedir=$(includedir)|' \
+ '|VERSION=$(VERSION)|' \
+ '|rootprefix=$(rootprefix)|' \
+ '|udevlibexecdir=$(udevlibexecdir)|' \
+ '|SUSHELL=$(SUSHELL)|' \
+ '|DEBUGTTY=$(DEBUGTTY)|' \
+ '|KILL=$(KILL)|' \
+ '|QUOTAON=$(QUOTAON)|' \
+ '|QUOTACHECK=$(QUOTACHECK)|' \
+ '|SYSTEM_SYSVINIT_PATH=$(sysvinitdir)|' \
+ '|VARLOGDIR=$(varlogdir)|' \
+ '|RC_LOCAL_SCRIPT_PATH_START=$(RC_LOCAL_SCRIPT_PATH_START)|' \
+ '|RC_LOCAL_SCRIPT_PATH_STOP=$(RC_LOCAL_SCRIPT_PATH_STOP)|' \
+ '|PYTHON=$(PYTHON)|' \
+ '|PYTHON_BINARY=$(PYTHON_BINARY)|'
SED_PROCESS = \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
- $(SED) -e 's,@rootlibexecdir\@,$(rootlibexecdir),g' \
- -e 's,@rootbindir\@,$(rootbindir),g' \
- -e 's,@bindir\@,$(bindir),g' \
- -e 's,@SYSTEMCTL\@,$(rootbindir)/systemctl,g' \
- -e 's,@SYSTEMD_NOTIFY\@,$(rootbindir)/systemd-notify,g' \
- -e 's,@pkgsysconfdir\@,$(pkgsysconfdir),g' \
- -e 's,@pkgdatadir\@,$(pkgdatadir),g' \
- -e 's,@systemunitdir\@,$(systemunitdir),g' \
- -e 's,@userunitdir\@,$(userunitdir),g' \
- -e 's,@systempresetdir\@,$(systempresetdir),g' \
- -e 's,@userpresetdir\@,$(userpresetdir),g' \
- -e 's,@udevhwdbdir\@,$(udevhwdbdir),g' \
- -e 's,@udevrulesdir\@,$(udevrulesdir),g' \
- -e 's,@catalogdir\@,$(catalogdir),g' \
- -e 's,@tmpfilesdir\@,$(tmpfilesdir),g' \
- -e 's,@sysctldir\@,$(sysctldir),g' \
- -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
- -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
- -e 's,@PACKAGE_URL\@,$(PACKAGE_URL),g' \
- -e 's,@RANDOM_SEED\@,$(localstatedir)/lib/random-seed,g' \
- -e 's,@prefix\@,$(prefix),g' \
- -e 's,@exec_prefix\@,$(exec_prefix),g' \
- -e 's,@libdir\@,$(libdir),g' \
- -e 's,@includedir\@,$(includedir),g' \
- -e 's,@VERSION\@,$(VERSION),g' \
- -e 's,@rootprefix\@,$(rootprefix),g' \
- -e 's,@udevlibexecdir\@,$(udevlibexecdir),g' \
- -e 's,@sushell\@,$(sushell),g' \
- -e 's,@KILL\@,$(KILL),g' \
- -e 's,@QUOTAON\@,$(QUOTAON),g' \
- -e 's,@QUOTACHECK\@,$(QUOTACHECK),g' \
- -e 's,@SYSTEM_SYSVINIT_PATH\@,$(sysvinitdir),g' \
- -e 's,@VARLOGDIR\@,$(varlogdir),g' \
- -e 's,@RC_LOCAL_SCRIPT_PATH_START\@,$(RC_LOCAL_SCRIPT_PATH_START),g' \
- -e 's,@RC_LOCAL_SCRIPT_PATH_STOP\@,$(RC_LOCAL_SCRIPT_PATH_STOP),g' \
- -e 's,@PYTHON\@,$(PYTHON),g' \
- -e 's,@PYTHON_BINARY\@,$(PYTHON_BINARY),g' \
+ $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \
< $< > $@
units/%: units/%.in Makefile
@@ -3839,35 +3912,27 @@ src/%.policy.in: src/%.policy.in.in Makefile
$(SED_PROCESS)
$(AM_V_GEN)chmod +x $@
-src/analyze/systemd-analyze: %: %.in Makefile
- $(SED_PROCESS)
- $(AM_V_GEN)chmod +x $@
-
src/%.c: src/%.gperf
$(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(GPERF) < $< > $@
+ $(AM_V_GPERF)$(GPERF) < $< > $@
src/%: src/%.m4
$(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(M4) -P $(M4_DEFINES) < $< > $@
-
-M4_PROCESS_SYSTEM = \
- $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
- $(M4) -P $(M4_DEFINES) -DFOR_SYSTEM=1 < $< > $@
-
-M4_PROCESS_USER = \
- $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
- $(M4) -P $(M4_DEFINES) -DFOR_USER=1 < $< > $@
+ $(AM_V_M4)$(M4) -P $(M4_DEFINES) < $< > $@
units/%: units/%.m4 Makefile
- $(M4_PROCESS_SYSTEM)
+ $(AM_V_M4)$(MKDIR_P) $(dir $@)
+ $(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_SYSTEM=1 < $< > $@
units/user/%: units/%.m4 Makefile
- $(M4_PROCESS_USER)
+ $(AM_V_M4)$(MKDIR_P) $(dir $@)
+ $(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_USER=1 < $< > $@
+if ENABLE_POLKIT
nodist_polkitpolicy_DATA = \
$(polkitpolicy_files) \
$(polkitpolicy_in_in_files:.policy.in.in=.policy)
+endif
EXTRA_DIST += \
$(polkitpolicy_in_files) \
@@ -3876,51 +3941,65 @@ EXTRA_DIST += \
CLEANFILES += \
$(nodist_systemunit_DATA) \
$(nodist_userunit_DATA) \
- $(nodist_man_MANS) \
$(pkgconfigdata_DATA) \
$(pkgconfiglib_DATA) \
$(nodist_polkitpolicy_DATA)
+# ------------------------------------------------------------------------------
if ENABLE_MANPAGES
+man/custom-entities.ent: Makefile
+ $(AM_V_GEN)$(MKDIR_P) $(dir $@)
+ $(AM_V_GEN)(echo '<?xml version="1.0" encoding="utf-8" ?>' && \
+ echo '$(subst '|,<!ENTITY ,$(subst =, ",$(subst |',">,$(substitutions))))') \
+ > $@ # '
+
+DISTCLEANFILES += \
+ man/custom-entities.ent
+
XSLTPROC_FLAGS = \
--nonet \
--stringparam man.output.quietly 1 \
--stringparam funcsynopsis.style ansi \
- --stringparam man.th.extra1.suppress 1 \
--stringparam man.authors.section.enabled 0 \
- --stringparam man.copyright.section.enabled 0
+ --stringparam man.copyright.section.enabled 0 \
+ --stringparam systemd.version $(VERSION) \
+ --path '$(builddir)/man:$(srcdir)/man'
XSLTPROC_PROCESS_MAN = \
- $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
- $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+ $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-man.xsl $<
XSLTPROC_PROCESS_HTML = \
- $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
- $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $<
+ $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $<
-man/%.1: man/%.xml
+man/%.1: man/%.xml man/custom-man.xsl man/custom-entities.ent
$(XSLTPROC_PROCESS_MAN)
-man/%.3: man/%.xml
+man/%.3: man/%.xml man/custom-man.xsl man/custom-entities.ent
$(XSLTPROC_PROCESS_MAN)
-man/%.5: man/%.xml
+man/%.5: man/%.xml man/custom-man.xsl man/custom-entities.ent
$(XSLTPROC_PROCESS_MAN)
-man/%.7: man/%.xml
+man/%.7: man/%.xml man/custom-man.xsl man/custom-entities.ent
$(XSLTPROC_PROCESS_MAN)
-man/%.8: man/%.xml
+man/%.8: man/%.xml man/custom-man.xsl man/custom-entities.ent
$(XSLTPROC_PROCESS_MAN)
-man/%.html: man/%.xml man/custom-html.xsl
+man/%.html: man/%.xml man/custom-html.xsl man/custom-entities.ent
$(XSLTPROC_PROCESS_HTML)
-CLEANFILES += \
- $(dist_man_MANS) \
- ${XML_FILES:.xml=.html}
+define html-alias
+ $(AM_V_LN)$(LN_S) -f $(notdir $<) $@
+endef
+
endif
+EXTRA_DIST += \
+ man/custom-html.xsl \
+ man/custom-man.xsl
+
+# ------------------------------------------------------------------------------
DBUS_PREPROCESS = $(CPP) -P $(CFLAGS) $(DBUS_CFLAGS) -imacros dbus/dbus-protocol.h
CLEANFILES += \
@@ -3939,174 +4018,150 @@ docs/sysvinit/README: docs/sysvinit/README.in
docs/var-log/README: docs/var-log/README.in
$(SED_PROCESS)
-EXTRA_DIST += \
- docs/sysvinit/README.in \
- docs/var-log/README.in
-
CLEANFILES += \
docs/sysvinit/README \
docs/var-log/README
-
endif
EXTRA_DIST += \
+ docs/sysvinit/README.in \
+ docs/var-log/README.in
+
+EXTRA_DIST += \
shell-completion/systemd-zsh-completion.zsh
-systemd-install-data-hook:
- $(MKDIR_P) -m 0755 \
- $(DESTDIR)$(tmpfilesdir) \
- $(DESTDIR)$(sysconfdir)/tmpfiles.d \
- $(DESTDIR)$(prefix)/lib/modules-load.d \
- $(DESTDIR)$(sysconfdir)/modules-load.d \
- $(DESTDIR)$(prefix)/lib/sysctl.d \
- $(DESTDIR)$(sysconfdir)/sysctl.d \
- $(DESTDIR)$(systemshutdowndir) \
- $(DESTDIR)$(systemsleepdir) \
- $(DESTDIR)$(systemgeneratordir) \
- $(DESTDIR)$(usergeneratordir)
- $(MKDIR_P) -m 0755 \
- $(DESTDIR)$(systemunitdir) \
- $(DESTDIR)$(userunitdir) \
- $(DESTDIR)$(systemunitdir)/sysinit.target.wants \
- $(DESTDIR)$(systemunitdir)/sockets.target.wants \
- $(DESTDIR)$(systemunitdir)/basic.target.wants \
- $(DESTDIR)$(systemunitdir)/shutdown.target.wants \
- $(DESTDIR)$(systemunitdir)/local-fs.target.wants \
- $(DESTDIR)$(systemunitdir)/runlevel1.target.wants \
- $(DESTDIR)$(systemunitdir)/runlevel2.target.wants \
- $(DESTDIR)$(systemunitdir)/runlevel3.target.wants \
- $(DESTDIR)$(systemunitdir)/runlevel4.target.wants \
- $(DESTDIR)$(systemunitdir)/runlevel5.target.wants \
- $(DESTDIR)$(systemunitdir)/multi-user.target.wants \
- $(DESTDIR)$(systemunitdir)/graphical.target.wants \
- $(DESTDIR)$(pkgsysconfdir)/system \
- $(DESTDIR)$(pkgsysconfdir)/system/sysinit.target.wants \
- $(DESTDIR)$(pkgsysconfdir)/system/local-fs.target.wants \
- $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants \
- $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants \
- $(DESTDIR)$(pkgsysconfdir)/user \
- $(DESTDIR)$(dbussessionservicedir) \
- $(DESTDIR)$(sysconfdir)/xdg/systemd
- ( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
- rm -f user && \
- $(LN_S) $(pkgsysconfdir)/user user )
- ( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
- rm -f systemd-initctl.socket systemd-shutdownd.socket && \
- $(LN_S) ../systemd-initctl.socket systemd-initctl.socket && \
- $(LN_S) ../systemd-shutdownd.socket systemd-shutdownd.socket )
- ( cd $(DESTDIR)$(systemunitdir)/runlevel1.target.wants && \
- rm -f systemd-update-utmp-runlevel.service && \
- $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
- ( cd $(DESTDIR)$(systemunitdir)/runlevel2.target.wants && \
- rm -f systemd-update-utmp-runlevel.service && \
- $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
- ( cd $(DESTDIR)$(systemunitdir)/runlevel3.target.wants && \
- rm -f systemd-update-utmp-runlevel.service && \
- $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
- ( cd $(DESTDIR)$(systemunitdir)/runlevel4.target.wants && \
- rm -f systemd-update-utmp-runlevel.service && \
- $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
- ( cd $(DESTDIR)$(systemunitdir)/runlevel5.target.wants && \
- rm -f systemd-update-utmp-runlevel.service && \
- $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
- ( cd $(DESTDIR)$(systemunitdir)/shutdown.target.wants && \
- rm -f systemd-update-utmp-shutdown.service && \
- $(LN_S) ../systemd-update-utmp-shutdown.service systemd-update-utmp-shutdown.service )
- ( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \
- rm -f systemd-remount-fs.service \
- systemd-fsck-root.service \
- tmp.mount && \
- $(LN_S) ../systemd-remount-fs.service systemd-remount-fs.service && \
- $(LN_S) ../systemd-fsck-root.service systemd-fsck-root.service && \
- $(LN_S) ../tmp.mount tmp.mount )
- ( cd $(DESTDIR)$(userunitdir) && \
- rm -f shutdown.target sockets.target bluetooth.target printer.target sound.target && \
- $(LN_S) $(systemunitdir)/shutdown.target shutdown.target && \
- $(LN_S) $(systemunitdir)/sockets.target sockets.target && \
- $(LN_S) $(systemunitdir)/bluetooth.target bluetooth.target && \
- $(LN_S) $(systemunitdir)/printer.target printer.target && \
- $(LN_S) $(systemunitdir)/sound.target sound.target )
- ( cd $(DESTDIR)$(systemunitdir) && \
- rm -f runlevel0.target runlevel1.target runlevel2.target runlevel3.target runlevel4.target runlevel5.target runlevel6.target && \
- $(LN_S) poweroff.target runlevel0.target && \
- $(LN_S) rescue.target runlevel1.target && \
- $(LN_S) multi-user.target runlevel2.target && \
- $(LN_S) multi-user.target runlevel3.target && \
- $(LN_S) multi-user.target runlevel4.target && \
- $(LN_S) graphical.target runlevel5.target && \
- $(LN_S) reboot.target runlevel6.target )
- ( cd $(DESTDIR)$(systemunitdir) && \
- rm -f default.target ctrl-alt-del.target autovt@.service && \
- $(LN_S) graphical.target default.target && \
- $(LN_S) reboot.target ctrl-alt-del.target && \
- $(LN_S) getty@.service autovt@.service )
- ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \
- rm -f getty.target systemd-ask-password-wall.path && \
- $(LN_S) ../getty.target getty.target && \
- $(LN_S) ../systemd-ask-password-wall.path systemd-ask-password-wall.path)
- ( cd $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants && \
- rm -f getty@tty1.service && \
- $(LN_S) $(systemunitdir)/getty@.service getty@tty1.service )
- ( cd $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants && \
- rm -f remote-fs.target && \
- $(LN_S) $(systemunitdir)/remote-fs.target remote-fs.target )
- ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
- rm -f dev-hugepages.mount \
- dev-mqueue.mount \
- sys-kernel-config.mount \
- sys-kernel-debug.mount \
- sys-fs-fuse-connections.mount \
- systemd-tmpfiles-setup.service \
- systemd-sysctl.service \
- systemd-ask-password-console.path && \
- $(LN_S) ../dev-hugepages.mount dev-hugepages.mount && \
- $(LN_S) ../dev-mqueue.mount dev-mqueue.mount && \
- $(LN_S) ../sys-kernel-config.mount sys-kernel-config.mount && \
- $(LN_S) ../sys-kernel-debug.mount sys-kernel-debug.mount && \
- $(LN_S) ../sys-fs-fuse-connections.mount sys-fs-fuse-connections.mount && \
- $(LN_S) ../systemd-tmpfiles-setup.service systemd-tmpfiles-setup.service && \
- $(LN_S) ../systemd-sysctl.service systemd-sysctl.service && \
- $(LN_S) ../systemd-ask-password-console.path systemd-ask-password-console.path )
- ( cd $(DESTDIR)$(systemunitdir)/basic.target.wants && \
- rm -f systemd-tmpfiles-clean.timer && \
- $(LN_S) ../systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.timer )
- ( cd $(DESTDIR)$(dbussessionservicedir) && \
- rm -f org.freedesktop.systemd1.service && \
- $(LN_S) ../system-services/org.freedesktop.systemd1.service org.freedesktop.systemd1.service )
+SOCKETS_TARGET_WANTS += \
+ systemd-initctl.socket \
+ systemd-shutdownd.socket
-if HAVE_KMOD
- ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
- rm -f systemd-modules-load.service && \
- $(LN_S) ../systemd-modules-load.service systemd-modules-load.service )
+if HAVE_SYSV_COMPAT
+RUNLEVEL1_TARGET_WANTS += \
+ systemd-update-utmp-runlevel.service
+RUNLEVEL2_TARGET_WANTS += \
+ systemd-update-utmp-runlevel.service
+RUNLEVEL3_TARGET_WANTS += \
+ systemd-update-utmp-runlevel.service
+RUNLEVEL4_TARGET_WANTS += \
+ systemd-update-utmp-runlevel.service
+RUNLEVEL5_TARGET_WANTS += \
+ systemd-update-utmp-runlevel.service
+endif
+SHUTDOWN_TARGET_WANTS += \
+ systemd-update-utmp-shutdown.service
+LOCAL_FS_TARGET_WANTS += \
+ systemd-remount-fs.service \
+ systemd-fsck-root.service \
+ tmp.mount
+MULTI_USER_TARGET_WANTS += \
+ getty.target \
+ systemd-ask-password-wall.path
+SYSINIT_TARGET_WANTS += \
+ dev-hugepages.mount \
+ dev-mqueue.mount \
+ sys-kernel-config.mount \
+ sys-kernel-debug.mount \
+ sys-fs-fuse-connections.mount \
+ systemd-tmpfiles-setup-dev.service \
+ systemd-tmpfiles-setup.service \
+ systemd-sysctl.service \
+ systemd-ask-password-console.path
+TIMERS_TARGET_WANTS += \
+ systemd-tmpfiles-clean.timer
+
+if HAVE_SYSV_COMPAT
+SYSTEM_UNIT_ALIASES += \
+ poweroff.target runlevel0.target \
+ rescue.target runlevel1.target \
+ multi-user.target runlevel2.target \
+ multi-user.target runlevel3.target \
+ multi-user.target runlevel4.target \
+ graphical.target runlevel5.target \
+ reboot.target runlevel6.target
endif
+SYSTEM_UNIT_ALIASES += \
+ graphical.target default.target \
+ reboot.target ctrl-alt-del.target \
+ getty@.service autovt@.service
+
+USER_UNIT_ALIASES += \
+ $(systemunitdir)/shutdown.target shutdown.target \
+ $(systemunitdir)/sockets.target sockets.target \
+ $(systemunitdir)/timers.target timers.target \
+ $(systemunitdir)/paths.target paths.target \
+ $(systemunitdir)/bluetooth.target bluetooth.target \
+ $(systemunitdir)/printer.target printer.target \
+ $(systemunitdir)/sound.target sound.target \
+ $(systemunitdir)/smartcard.target smartcard.target
+
+GENERAL_ALIASES += \
+ $(systemunitdir)/remote-fs.target $(pkgsysconfdir)/system/multi-user.target.wants/remote-fs.target \
+ $(systemunitdir)/getty@.service $(pkgsysconfdir)/system/getty.target.wants/getty@tty1.service \
+ $(pkgsysconfdir)/user $(sysconfdir)/xdg/systemd/user \
+ ../system-services/org.freedesktop.systemd1.service $(dbussessionservicedir)/org.freedesktop.systemd1.service
+
+if HAVE_SYSV_COMPAT
+INSTALL_DIRS += \
+ $(systemunitdir)/runlevel1.target.wants \
+ $(systemunitdir)/runlevel2.target.wants \
+ $(systemunitdir)/runlevel3.target.wants \
+ $(systemunitdir)/runlevel4.target.wants \
+ $(systemunitdir)/runlevel5.target.wants
+endif
+
+INSTALL_DIRS += \
+ $(tmpfilesdir) \
+ $(sysconfdir)/tmpfiles.d \
+ $(prefix)/lib/modules-load.d \
+ $(sysconfdir)/modules-load.d \
+ $(prefix)/lib/sysctl.d \
+ $(sysconfdir)/sysctl.d \
+ $(prefix)/lib/kernel/install.d \
+ $(sysconfdir)/kernel/install.d \
+ $(systemshutdowndir) \
+ $(systemsleepdir) \
+ $(systemgeneratordir) \
+ $(usergeneratordir) \
+ \
+ $(userunitdir) \
+ $(pkgsysconfdir)/system \
+ $(pkgsysconfdir)/system/multi-user.target.wants \
+ $(pkgsysconfdir)/system/getty.target.wants \
+ $(pkgsysconfdir)/user \
+ $(dbussessionservicedir) \
+ $(sysconfdir)/xdg/systemd
+
install-exec-hook: $(INSTALL_EXEC_HOOKS)
uninstall-hook: $(UNINSTALL_DATA_HOOKS) $(UNINSTALL_EXEC_HOOKS)
-install-data-hook: systemd-install-data-hook $(INSTALL_DATA_HOOKS)
+install-data-hook: $(INSTALL_DATA_HOOKS)
distclean-local: $(DISTCLEAN_LOCAL_HOOKS)
-clean-local:
+clean-local: $(CLEAN_LOCAL_HOOKS)
rm -rf $(abs_srcdir)/install-tree
rm -f $(abs_srcdir)/hwdb/usb.ids $(abs_srcdir)/hwdb/pci.ids $(abs_srcdir)/hwdb/oui.txt \
- $(abs_srcdir)/hwdb/iab.txt
+ $(abs_srcdir)/hwdb/iab.txt
DISTCHECK_CONFIGURE_FLAGS = \
--with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \
--with-dbussessionservicedir=$$dc_install_base/$(dbussessionservicedir) \
--with-dbussystemservicedir=$$dc_install_base/$(dbussystemservicedir) \
--with-dbusinterfacedir=$$dc_install_base/$(dbusinterfacedir) \
+ --with-bashcompletiondir=$$dc_install_base/$(bashcompletiondir) \
--with-pamlibdir=$$dc_install_base/$(pamlibdir) \
--with-rootprefix=$$dc_install_base \
--disable-split-usr
-
if HAVE_SYSV_COMPAT
DISTCHECK_CONFIGURE_FLAGS += \
--with-sysvinit-path=$$dc_install_base/$(sysvinitdir) \
--with-sysvrcnd-path=$$dc_install_base/$(sysvrcnddir)
+else
+DISTCHECK_CONFIGURE_FLAGS += \
+ --with-sysvinit-path= \
+ --with-sysvrcnd-path=
endif
if ENABLE_GTK_DOC
@@ -4118,26 +4173,32 @@ hwdb-update:
( cd $(top_srcdir)/hwdb && \
wget -N http://www.linux-usb.org/usb.ids \
http://pci-ids.ucw.cz/v2.2/pci.ids \
- http://standards.ieee.org/develop/regauth/oui/oui.txt \
+ http://standards.ieee.org/develop/regauth/oui/oui.txt \
http://standards.ieee.org/develop/regauth/iab/iab.txt && \
./ids-update.pl )
+kdbus-update:
+ ( cd $(top_srcdir)/src/libsystemd-bus/ && \
+ wget -N https://d-bus.googlecode.com/git/kdbus.h )
+
upload: all distcheck
cp -v systemd-$(VERSION).tar.xz /home/lennart/git.fedora/systemd/
scp systemd-$(VERSION).tar.xz fdo:/srv/www.freedesktop.org/www/software/systemd/
scp man/*.html tango:public/systemd-man/
-doc-sync: all
+www_target = www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd
+doc-sync: all destdir-sphinx
gtkdoc-rebase --html-dir=docs/libudev/html --online
- rsync -av --delete docs/libudev/html/ --omit-dir-times www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd/libudev/
+ rsync -rlv --delete docs/libudev/html/ --omit-dir-times $(www_target)/libudev/
gtkdoc-rebase --html-dir=docs/gudev/html --online
- rsync -av --delete docs/gudev/html/ --omit-dir-times www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd/gudev/
- rsync -av --delete-excluded --include="*.html" --exclude="*" --omit-dir-times man/ www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd/man/
+ rsync -rlv --delete docs/gudev/html/ --omit-dir-times $(www_target)/gudev/
+ rsync -rlv --delete-excluded --include="*.html" --exclude="*" --omit-dir-times man/ $(www_target)/man/
+ rsync -rlv --delete --omit-dir-times docs/html/python-systemd/ $(www_target)/python-systemd/
git-tag:
git tag "v$(VERSION)" -m "systemd $(VERSION)"
install-tree: all
rm -rf $(abs_srcdir)/install-tree
- make install DESTDIR=$(abs_srcdir)/install-tree
+ $(MAKE) install DESTDIR=$(abs_srcdir)/install-tree
tree $(abs_srcdir)/install-tree
diff --git a/NEWS b/NEWS
index b04f1b5bc7..6cfe0dfc59 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,578 @@
systemd System and Service Manager
+CHANGES WITH 204:
+
+ * The Python bindings gained some minimal support for the APIs
+ exposed by libsystemd-logind.
+
+ * ConditionSecurity= gained support for detecting SMACK. Since
+ this condition already supports SELinux and AppArmor we only
+ miss IMA for this. Patches welcome!
+
+ Contributions from: Karol Lewandowski, Lennart Poettering,
+ Zbigniew Jędrzejewski-Szmek
+
+CHANGES WITH 203:
+
+ * systemd-nspawn will now create /etc/resolv.conf if
+ necessary, before bind-mounting the host's file onto it.
+
+ * systemd-nspawn will now store meta information about a
+ container on the container's cgroup as extended attribute
+ fields, including the root directory.
+
+ * The cgroup hierarchy has been reworked in many ways. All
+ objects any of the components systemd creates in the cgroup
+ tree are now suffixed. More specifically, user sessions are
+ now placed in cgroups suffixed with ".session", users in
+ cgroups suffixed with ".user", and nspawn containers in
+ cgroups suffixed with ".nspawn". Furthermore, all cgroup
+ names are now escaped in a simple scheme to avoid collision
+ of userspace object names with kernel filenames. This work
+ is preparation for making these objects relocatable in the
+ cgroup tree, in order to allow easy resource partitioning of
+ these objects without causing naming conflicts.
+
+ * systemctl list-dependencies gained the new switches
+ --plain, --reverse, --after and --before.
+
+ * systemd-inhibit now shows the process name of processes that
+ have taken an inhibitor lock.
+
+ * nss-myhostname will now also resolve "localhost"
+ implicitly. This makes /etc/hosts an optional file and
+ nicely handles that on IPv6 ::1 maps to both "localhost" and
+ the local hostname.
+
+ * libsystemd-logind.so gained a new call
+ sd_get_machine_names() to enumerate running containers and
+ VMs (currently only supported by very new libvirt and
+ nspawn). sd_login_monitor can now be used to watch
+ VMs/containers coming and going.
+
+ * .include is not allowed recursively anymore, and only in
+ unit files. Usually it is better to use drop-in snippets in
+ .d/*.conf anyway, as introduced with systemd 198.
+
+ * systemd-analyze gained a new "critical-chain" command that
+ determines the slowest chain of units run during system
+ boot-up. It is very useful for tracking down where
+ optimizing boot time is the most beneficial.
+
+ * systemd will no longer allow manipulating service paths in
+ the name=systemd:/system cgroup tree using ControlGroup= in
+ units. (But is still fine with it in all other dirs.)
+
+ * There's a new systemd-nspawn@.service service file that may
+ be used to easily run nspawn containers as system
+ services. With the container's root directory in
+ /var/lib/container/foobar it is now sufficient to run
+ "systemctl start systemd-nspawn@foobar.service" to boot it.
+
+ * systemd-cgls gained a new parameter "--machine" to list only
+ the processes within a certain container.
+
+ * ConditionSecurity= now can check for "apparmor". We still
+ are lacking checks for SMACK and IMA for this condition
+ check though. Patches welcome!
+
+ * A new configuration file /etc/systemd/sleep.conf has been
+ added that may be used to configure which kernel operation
+ systemd is supposed to execute when "suspend", "hibernate"
+ or "hybrid-sleep" is requested. This makes the new kernel
+ "freeze" state accessible to the user.
+
+ * ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape
+ the passed argument if applicable.
+
+ Contributions from: Auke Kok, Colin Guthrie, Colin Walters,
+ Cristian Rodríguez, Daniel Buch, Daniel Wallace, Dave Reisner,
+ Evangelos Foutras, Greg Kroah-Hartman, Harald Hoyer, Josh
+ Triplett, Kay Sievers, Lennart Poettering, Lukas Nykryn,
+ MUNEDA Takahiro, Mantas Mikulėnas, Mirco Tischler, Nathaniel
+ Chen, Nirbheek Chauhan, Ronny Chevalier, Ross Lagerwall, Tom
+ Gundersen, Umut Tezduyar, Ville Skyttä, Zbigniew
+ Jędrzejewski-Szmek
+
+CHANGES WITH 202:
+
+ * The output of 'systemctl list-jobs' got some polishing. The
+ '--type=' argument may now be passed more than once. A new
+ command 'systemctl list-sockets' has been added which shows
+ a list of kernel sockets systemd is listening on with the
+ socket units they belong to, plus the units these socket
+ units activate.
+
+ * The experimental libsystemd-bus library got substantial
+ updates to work in conjunction with the (also experimental)
+ kdbus kernel project. It works well enough to exchange
+ messages with some sophistication. Note that kdbus is not
+ ready yet, and the library is mostly an elaborate test case
+ for now, and not installable.
+
+ * systemd gained a new unit 'systemd-static-nodes.service'
+ that generates static device nodes earlier during boot, and
+ can run in conjunction with udev.
+
+ * libsystemd-login gained a new call sd_pid_get_user_unit()
+ to retrieve the user systemd unit a process is running
+ in. This is useful for systems where systemd is used as
+ session manager.
+
+ * systemd-nspawn now places all containers in the new /machine
+ top-level cgroup directory in the name=systemd
+ hierarchy. libvirt will soon do the same, so that we get a
+ uniform separation of /system, /user and /machine for system
+ services, user processes and containers/virtual
+ machines. This new cgroup hierarchy is also useful to stick
+ stable names to specific container instances, which can be
+ recognized later this way (this name may be controlled
+ via systemd-nspawn's new -M switch). libsystemd-login also
+ gained a new call sd_pid_get_machine_name() to retrieve the
+ name of the container/VM a specific process belongs to.
+
+ * bootchart can now store its data in the journal.
+
+ * libsystemd-journal gained a new call
+ sd_journal_add_conjunction() for AND expressions to the
+ matching logic. This can be used to express more complex
+ logical expressions.
+
+ * journactl can now take multiple --unit= and --user-unit=
+ switches.
+
+ * The cryptsetup logic now understands the "luks.key=" kernel
+ command line switch for specifying a file to read the
+ decryption key from. Also, if a configured key file is not
+ found the tool will now automatically fall back to prompting
+ the user.
+
+ * Python systemd.journal module was updated to wrap recently
+ added functions from libsystemd-journal. The interface was
+ changed to bring the low level interface in s.j._Reader
+ closer to the C API, and the high level interface in
+ s.j.Reader was updated to wrap and convert all data about
+ an entry.
+
+ Contributions from: Anatol Pomozov, Auke Kok, Harald Hoyer,
+ Henrik Grindal Bakken, Josh Triplett, Kay Sievers, Lennart
+ Poettering, Lukas Nykryn, Mantas Mikulėnas Marius Vollmer,
+ Martin Jansa, Martin Pitt, Michael Biebl, Michal Schmidt,
+ Mirco Tischler, Pali Rohar, Simon Peeters, Steven Hiscocks,
+ Tom Gundersen, Zbigniew Jędrzejewski-Szmek
+
+CHANGES WITH 201:
+
+ * journalctl --update-catalog now understands a new --root=
+ option to operate on catalogs found in a different root
+ directory.
+
+ * During shutdown after systemd has terminated all running
+ services a final killing loop kills all remaining left-over
+ processes. We will now print the name of these processes
+ when we send SIGKILL to them, since this usually indicates a
+ problem.
+
+ * If /etc/crypttab refers to password files stored on
+ configured mount points automatic dependencies will now be
+ generated to ensure the specific mount is established first
+ before the key file is attempted to be read.
+
+ * 'systemctl status' will now show information about the
+ network sockets a socket unit is listening on.
+
+ * 'systemctl status' will also shown information about any
+ drop-in configuration file for units. (Drop-In configuration
+ files in this context are files such as
+ /etc/systemd/systemd/foobar.service.d/*.conf)
+
+ * systemd-cgtop now optionally shows summed up CPU times of
+ cgroups. Press '%' while running cgtop to switch between
+ percentage and absolute mode. This is useful to determine
+ which cgroups use up the most CPU time over the entire
+ runtime of the system. systemd-cgtop has also been updated
+ to be 'pipeable' for processing with further shell tools.
+
+ * 'hostnamectl set-hostname' will now allow setting of FQDN
+ hostnames.
+
+ * The formatting and parsing of time span values has been
+ changed. The parser now understands fractional expressions
+ such as "5.5h". The formatter will now output fractional
+ expressions for all time spans under 1min, i.e. "5.123456s"
+ rather than "5s 123ms 456us". For time spans under 1s
+ millisecond values are shown, for those under 1ms
+ microsecond values are shown. This should greatly improve
+ all time-related output of systemd.
+
+ * libsystemd-login and libsystemd-journal gained new
+ functions for querying the poll() events mask and poll()
+ timeout value for integration into arbitrary event
+ loops.
+
+ * localectl gained the ability to list available X11 keymaps
+ (models, layouts, variants, options).
+
+ * 'systemd-analyze dot' gained the ability to filter for
+ specific units via shell-style globs, to create smaller,
+ more useful graphs. I.e. it's now possible to create simple
+ graphs of all the dependencies between only target units, or
+ of all units that Avahi has dependencies with.
+
+ Contributions from: Cristian Rodríguez, Dr. Tilmann Bubeck,
+ Harald Hoyer, Holger Hans Peter Freyther, Kay Sievers, Kelly
+ Anderson, Koen Kooi, Lennart Poettering, Maksim Melnikau,
+ Marc-Antoine Perennou, Marius Vollmer, Martin Pitt, Michal
+ Schmidt, Oleksii Shevchuk, Ronny Chevalier, Simon McVittie,
+ Steven Hiscocks, Thomas Weißschuh, Umut Tezduyar, Václav
+ Pavlín, Zbigniew Jędrzejewski-Szmek, Łukasz Stelmach
+
+CHANGES WITH 200:
+
+ * The boot-time readahead implementation for rotating media
+ will now read the read-ahead data in multiple passes which
+ consist of all read requests made in equidistant time
+ intervals. This means instead of strictly reading read-ahead
+ data in its physical order on disk we now try to find a
+ middle ground between physical and access time order.
+
+ * /etc/os-release files gained a new BUILD_ID= field for usage
+ on operating systems that provide continuous builds of OS
+ images.
+
+ Contributions from: Auke Kok, Eelco Dolstra, Kay Sievers,
+ Lennart Poettering, Lukas Nykryn, Martin Pitt, Václav Pavlín
+ William Douglas, Zbigniew Jędrzejewski-Szmek
+
+CHANGES WITH 199:
+
+ * systemd-python gained an API exposing libsystemd-daemon.
+
+ * The SMACK setup logic gained support for uploading CIPSO
+ security policy.
+
+ * Behaviour of PrivateTmp=, ReadWriteDirectories=,
+ ReadOnlyDirectories= and InaccessibleDirectories= has
+ changed. The private /tmp and /var/tmp directories are now
+ shared by all processes of a service (which means
+ ExecStartPre= may now leave data in /tmp that ExecStart= of
+ the same service can still access). When a service is
+ stopped its temporary directories are immediately deleted
+ (normal clean-up with tmpfiles is still done in addition to
+ this though).
+
+ * By default, systemd will now set a couple of sysctl
+ variables in the kernel: the safe sysrq options are turned
+ on, IP route verification is turned on, and source routing
+ disabled. The recently added hardlink and softlink
+ protection of the kernel is turned on. These settings should
+ be reasonably safe, and good defaults for all new systems.
+
+ * The predictable network naming logic may now be turned off
+ with a new kernel command line switch: net.ifnames=0.
+
+ * A new libsystemd-bus module has been added that implements a
+ pretty complete D-Bus client library. For details see:
+
+ http://lists.freedesktop.org/archives/systemd-devel/2013-March/009797.html
+
+ * journald will now explicitly flush the journal files to disk
+ at the latest 5min after each write. The file will then also
+ be marked offline until the next write. This should increase
+ reliability in case of a crash. The synchronization delay
+ can be configured via SyncIntervalSec= in journald.conf.
+
+ * There's a new remote-fs-setup.target unit that can be used
+ to pull in specific services when at least one remote file
+ system is to be mounted.
+
+ * There are new targets timers.target and paths.target as
+ canonical targets to pull user timer and path units in
+ from. This complements sockets.target with a similar
+ purpose for socket units.
+
+ * libudev gained a new call udev_device_set_attribute_value()
+ to set sysfs attributes of a device.
+
+ * The udev daemon now sets the default number of worker
+ processes executed in parallel based on the number of available
+ CPUs instead of the amount of available RAM. This is supposed
+ to provide a more reliable default and limit a too aggressive
+ paralellism for setups with 1000s of devices connected.
+
+ Contributions from: Auke Kok, Colin Walters, Cristian
+ Rodríguez, Daniel Buch, Dave Reisner, Frederic Crozat, Hannes
+ Reinecke, Harald Hoyer, Jan Alexander Steffens, Jan
+ Engelhardt, Josh Triplett, Kay Sievers, Lennart Poettering,
+ Mantas Mikulėnas, Martin Pitt, Mathieu Bridon, Michael Biebl,
+ Michal Schmidt, Michal Sekletar, Miklos Vajna, Nathaniel Chen,
+ Oleksii Shevchuk, Ozan Çağlayan, Thomas Hindoe Paaboel
+ Andersen, Tollef Fog Heen, Tom Gundersen, Umut Tezduyar,
+ Zbigniew Jędrzejewski-Szmek
+
+CHANGES WITH 198:
+
+ * Configuration of unit files may now be extended via drop-in
+ files without having to edit/override the unit files
+ themselves. More specifically, if the administrator wants to
+ change one value for a service file foobar.service he can
+ now do so by dropping in a configuration snippet into
+ /etc/systemd/system/foobar.service.d/*.conf. The unit logic
+ will load all these snippets and apply them on top of the
+ main unit configuration file, possibly extending or
+ overriding its settings. Using these drop-in snippets is
+ generally nicer than the two earlier options for changing
+ unit files locally: copying the files from
+ /usr/lib/systemd/system/ to /etc/systemd/system/ and editing
+ them there; or creating a new file in /etc/systemd/system/
+ that incorporates the original one via ".include". Drop-in
+ snippets into these .d/ directories can be placed in any
+ directory systemd looks for units in, and the usual
+ overriding semantics between /usr/lib, /etc and /run apply
+ for them too.
+
+ * Most unit file settings which take lists of items can now be
+ reset by assigning the empty string to them. For example,
+ normally, settings such as Environment=FOO=BAR append a new
+ environment variable assignment to the environment block,
+ each time they are used. By assigning Environment= the empty
+ string the environment block can be reset to empty. This is
+ particularly useful with the .d/*.conf drop-in snippets
+ mentioned above, since this adds the ability to reset list
+ settings from vendor unit files via these drop-ins.
+
+ * systemctl gained a new "list-dependencies" command for
+ listing the dependencies of a unit recursively.
+
+ * Inhibitors are now honored and listed by "systemctl
+ suspend", "systemctl poweroff" (and similar) too, not only
+ GNOME. These commands will also list active sessions by
+ other users.
+
+ * Resource limits (as exposed by the various control group
+ controllers) can now be controlled dynamically at runtime
+ for all units. More specifically, you can now use a command
+ like "systemctl set-cgroup-attr foobar.service cpu.shares
+ 2000" to alter the CPU shares a specific service gets. These
+ settings are stored persistently on disk, and thus allow the
+ administrator to easily adjust the resource usage of
+ services with a few simple commands. This dynamic resource
+ management logic is also available to other programs via the
+ bus. Almost any kernel cgroup attribute and controller is
+ supported.
+
+ * systemd-vconsole-setup will now copy all font settings to
+ all allocated VTs, where it previously applied them only to
+ the foreground VT.
+
+ * libsystemd-login gained the new sd_session_get_tty() API
+ call.
+
+ * This release drops support for a few legacy or
+ distribution-specific LSB facility names when parsing init
+ scripts: $x-display-manager, $mail-transfer-agent,
+ $mail-transport-agent, $mail-transfer-agent, $smtp,
+ $null. Also, the mail-transfer-agent.target unit backing
+ this has been removed. Distributions which want to retain
+ compatibility with this should carry the burden for
+ supporting this themselves and patch support for these back
+ in, if they really need to. Also, the facilities $syslog and
+ $local_fs are now ignored, since systemd does not support
+ early-boot LSB init scripts anymore, and these facilities
+ are implied anyway for normal services. syslog.target has
+ also been removed.
+
+ * There are new bus calls on PID1's Manager object for
+ cancelling jobs, and removing snapshot units. Previously,
+ both calls were only available on the Job and Snapshot
+ objects themselves.
+
+ * systemd-journal-gatewayd gained SSL support.
+
+ * The various "environment" files, such as /etc/locale.conf
+ now support continuation lines with a backslash ("\") as
+ last character in the line, similar in style (but different)
+ to how this is supported in shells.
+
+ * For normal user processes the _SYSTEMD_USER_UNIT= field is
+ now implicitly appended to every log entry logged. systemctl
+ has been updated to filter by this field when operating on a
+ user systemd instance.
+
+ * nspawn will now implicitly add the CAP_AUDIT_WRITE and
+ CAP_AUDIT_CONTROL capabilities to the capabilities set for
+ the container. This makes it easier to boot unmodified
+ Fedora systems in a container, which however still requires
+ audit=0 to be passed on the kernel command line. Auditing in
+ kernel and userspace is unfortunately still too broken in
+ context of containers, hence we recommend compiling it out
+ of the kernel or using audit=0. Hopefully this will be fixed
+ one day for good in the kernel.
+
+ * nspawn gained the new --bind= and --bind-ro= parameters to
+ bind mount specific directories from the host into the
+ container.
+
+ * nspawn will now mount its own devpts file system instance
+ into the container, in order not to leak pty devices from
+ the host into the container.
+
+ * systemd will now read the firmware boot time performance
+ information from the EFI variables, if the used boot loader
+ supports this, and takes it into account for boot performance
+ analysis via "systemd-analyze". This is currently supported
+ only in conjunction with Gummiboot, but could be supported
+ by other boot loaders too. For details see:
+
+ http://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface
+
+ * A new generator has been added that automatically mounts the
+ EFI System Partition (ESP) to /boot, if that directory
+ exists, is empty, and no other file system has been
+ configured to be mounted there.
+
+ * logind will now send out PrepareForSleep(false) out
+ unconditionally, after coming back from suspend. This may be
+ used by applications as asynchronous notification for
+ system resume events.
+
+ * "systemctl unlock-sessions" has been added, that allows
+ unlocking the screens of all user sessions at once, similar
+ how "systemctl lock-sessions" already locked all users
+ sessions. This is backed by a new D-Bus call UnlockSessions().
+
+ * "loginctl seat-status" will now show the master device of a
+ seat. (i.e. the device of a seat that needs to be around for
+ the seat to be considered available, usually the graphics
+ card).
+
+ * tmpfiles gained a new "X" line type, that allows
+ configuration of files and directories (with wildcards) that
+ shall be excluded from automatic cleanup ("aging").
+
+ * udev default rules set the device node permissions now only
+ at "add" events, and do not change them any longer with a
+ later "change" event.
+
+ * The log messages for lid events and power/sleep keypresses
+ now carry a message ID.
+
+ * We now have a substantially larger unit test suite, but this
+ continues to be work in progress.
+
+ * udevadm hwdb gained a new --root= parameter to change the
+ root directory to operate relative to.
+
+ * logind will now issue a background sync() request to the kernel
+ early at shutdown, so that dirty buffers are flushed to disk early
+ instead of at the last moment, in order to optimize shutdown
+ times a little.
+
+ * A new bootctl tool has been added that is an interface for
+ certain boot loader operations. This is currently a preview
+ and is likely to be extended into a small mechanism daemon
+ like timedated, localed, hostnamed, and can be used by
+ graphical UIs to enumerate available boot options, and
+ request boot into firmware operations.
+
+ * systemd-bootchart has been relicensed to LGPLv2.1+ to match
+ the rest of the package. It also has been updated to work
+ correctly in initrds.
+
+ * Policykit previously has been runtime optional, and is now
+ also compile time optional via a configure switch.
+
+ * systemd-analyze has been reimplemented in C. Also "systemctl
+ dot" has moved into systemd-analyze.
+
+ * "systemctl status" with no further parameters will now print
+ the status of all active or failed units.
+
+ * Operations such as "systemctl start" can now be executed
+ with a new mode "--irreversible" which may be used to queue
+ operations that cannot accidentally be reversed by a later
+ job queuing. This is by default used to make shutdown
+ requests more robust.
+
+ * The Python API of systemd now gained a new module for
+ reading journal files.
+
+ * A new tool kernel-install has been added that can install
+ kernel images according to the Boot Loader Specification:
+
+ http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec
+
+ * Boot time console output has been improved to provide
+ animated boot time output for hanging jobs.
+
+ * A new tool systemd-activate has been added which can be used
+ to test socket activation with, directly from the command
+ line. This should make it much easier to test and debug
+ socket activation in daemons.
+
+ * journalctl gained a new "--reverse" (or -r) option to show
+ journal output in reverse order (i.e. newest line first).
+
+ * journalctl gained a new "--pager-end" (or -e) option to jump
+ to immediately jump to the end of the journal in the
+ pager. This is only supported in conjunction with "less".
+
+ * journalctl gained a new "--user-unit=" option, that works
+ similar to "--unit=" but filters for user units rather than
+ system units.
+
+ * A number of unit files to ease adoption of systemd in
+ initrds has been added. This moves some minimal logic from
+ the various initrd implementations into systemd proper.
+
+ * The journal files are now owned by a new group
+ "systemd-journal", which exists specifically to allow access
+ to the journal, and nothing else. Previously, we used the
+ "adm" group for that, which however possibly covers more
+ than just journal/log file access. This new group is now
+ already used by systemd-journal-gatewayd to ensure this
+ daemon gets access to the journal files and as little else
+ as possible. Note that "make install" will also set FS ACLs
+ up for /var/log/journal to give "adm" and "wheel" read
+ access to it, in addition to "systemd-journal" which owns
+ the journal files. We recommend that packaging scripts also
+ add read access to "adm" + "wheel" to /var/log/journal, and
+ all existing/future journal files. To normal users and
+ administrators little changes, however packagers need to
+ ensure to create the "systemd-journal" system group at
+ package installation time.
+
+ * The systemd-journal-gatewayd now runs as unprivileged user
+ systemd-journal-gateway:systemd-journal-gateway. Packaging
+ scripts need to create these system user/group at
+ installation time.
+
+ * timedated now exposes a new boolean property CanNTP that
+ indicates whether a local NTP service is available or not.
+
+ * systemd-detect-virt will now also detect xen PVs
+
+ * The pstore file system is now mounted by default, if it is
+ available.
+
+ * In addition to the SELinux and IMA policies we will now also
+ load SMACK policies at early boot.
+
+ Contributions from: Adel Gadllah, Aleksander Morgado, Auke
+ Kok, Ayan George, Bastien Nocera, Colin Walters, Daniel Buch,
+ Daniel Wallace, Dave Reisner, David Herrmann, David Strauss,
+ Eelco Dolstra, Enrico Scholz, Frederic Crozat, Harald Hoyer,
+ Jan Janssen, Jonathan Callen, Kay Sievers, Lennart Poettering,
+ Lukas Nykryn, Mantas Mikulėnas, Marc-Antoine Perennou, Martin
+ Pitt, Mauro Dreissig, Max F. Albrecht, Michael Biebl, Michael
+ Olbrich, Michal Schmidt, Michal Sekletar, Michal Vyskocil,
+ Michał Bartoszkiewicz, Mirco Tischler, Nathaniel Chen, Nestor
+ Ovroy, Oleksii Shevchuk, Paul W. Frields, Piotr Drąg, Rob
+ Clark, Ryan Lortie, Simon McVittie, Simon Peeters, Steven
+ Hiscocks, Thomas Hindoe Paaboel Andersen, Tollef Fog Heen, Tom
+ Gundersen, Umut Tezduyar, William Giokas, Zbigniew
+ Jędrzejewski-Szmek, Zeeshan Ali (Khattak)
+
CHANGES WITH 197:
* Timer units now support calendar time events in addition to
@@ -180,7 +753,7 @@ CHANGES WITH 196:
the underlying file system of a journal file is capable of
properly reporting file change notifications, or whether
applications that want to reflect journal changes "live"
- need to recheck journal files continously in appropriate
+ need to recheck journal files continuously in appropriate
time intervals.
* It is now possible to set the "age" field for tmpfiles
@@ -513,7 +1086,7 @@ CHANGES WITH 190:
* There's now a new RPM macro definition for the system preset
dir: %_presetdir.
- * journald will now warn if it can't foward a message to the
+ * journald will now warn if it can't forward a message to the
syslog daemon because it's socket is full.
* timedated will no longer write or process /etc/timezone,
@@ -648,7 +1221,7 @@ CHANGES WITH 188:
the maximum number of iterations to run for. It also gained
-b, to run in batch mode (accepting no input).
- * The suffix ".service" may now be ommited on most systemctl
+ * The suffix ".service" may now be omitted on most systemctl
command lines involving service unit names.
* There's a new bus call in logind to lock all sessions, as
@@ -1137,7 +1710,7 @@ CHANGES WITH 44:
* Show /etc/os-release data in systemd-analyze output
- * Many bugfixes for the journal, including endianess fixes and
+ * Many bugfixes for the journal, including endianness fixes and
ensuring that disk space enforcement works
* sd-login.h is C++ comptaible again
diff --git a/README b/README
index 581e84598e..b8d1f42e25 100644
--- a/README
+++ b/README
@@ -31,13 +31,54 @@ AUTHOR:
LICENSE:
LGPLv2.1+ for all code
- except sd-daemon.[ch] and sd-readahead.[ch] which are MIT
- - except src/udev/ which is GPLv2.0+
+ - except src/udev/ which is (currently still) GPLv2+
REQUIREMENTS:
Linux kernel >= 2.6.39
- with devtmpfs
- with cgroups (but it's OK to disable all controllers)
- optional but strongly recommended: autofs4, ipv6
+ CONFIG_DEVTMPFS
+ CONFIG_CGROUPS (it's OK to disable all controllers)
+ CONFIG_INOTIFY_USER
+ CONFIG_SIGNALFD
+ CONFIG_TIMERFD
+ CONFIG_EPOLL
+ CONFIG_NET
+ CONFIG_SYSFS
+
+ Linux kernel >= 3.8 for Smack support
+
+ Udev will fail to work with the legacy layout:
+ CONFIG_SYSFS_DEPRECATED=n
+
+ Legacy hotplug slows down the system and confuses udev:
+ CONFIG_UEVENT_HELPER_PATH=""
+
+ Userspace firmware loading is deprecated, will go away, and
+ sometimes causes problems:
+ CONFIG_FW_LOADER_USER_HELPER=n
+
+ Some udev rules and virtualization detection relies on it:
+ CONFIG_DMIID
+
+ Mount and bind mount handling might require it:
+ CONFIG_FHANDLE
+
+ Optional but strongly recommended:
+ CONFIG_IPV6
+ CONFIG_AUTOFS4_FS
+ CONFIG_TMPFS_POSIX_ACL
+ CONFIG_TMPFS_XATTR
+ CONFIG_SECCOMP
+
+ For systemd-bootchart a kernel with procfs support and several
+ proc output options enabled is required:
+ CONFIG_PROC_FS
+ CONFIG_SCHEDSTATS
+ CONFIG_SCHED_DEBUG
+
+ For UEFI systems:
+ CONFIG_EFI_VARS
+ CONFIG_EFI_PARTITION
+
dbus >= 1.4.0
libcap
libblkid >= 2.20 (from util-linux) (optional)
@@ -61,6 +102,7 @@ REQUIREMENTS:
util-linux >= v2.19 (requires fsck -l, agetty -s)
sulogin (from util-linux >= 2.22 or sysvinit-tools, optional but recommended)
dracut (optional)
+ PolicyKit (optional)
When building from git you need the following additional dependencies:
@@ -73,20 +115,51 @@ REQUIREMENTS:
gperf
gtkdocize (optional)
python (optional)
+ sphinx (optional)
+ python-lxml (entirely optional)
When systemd-hostnamed is used it is strongly recommended to
install nss-myhostname to ensure that in a world of
dynamically changing hostnames the hostname stays resolvable
under all circumstances. In fact, systemd-hostnamed will warn
- if nss-myhostname is not installed. Packagers are encouraged to
- add a dependency on nss-myhostname to the package that
- includes systemd-hostnamed.
+ if nss-myhostname is not installed.
Note that D-Bus can link against libsystemd-login.so, which
results in a cyclic build dependency. To accommodate for this
please build D-Bus without systemd first, then build systemd,
then rebuild D-Bus with systemd support.
+ To build HTML documentation for python-systemd using sphinx,
+ please first install systemd (using 'make install'), and then
+ invoke sphinx-build with 'make sphinx-<target>', with <target>
+ being 'html' or 'latexpdf'. If using DESTDIR for installation,
+ pass the same DESTDIR to 'make sphinx-html' invocation.
+
+USERS AND GROUPS:
+ Default udev rules use the following standard system group
+ names, which need to be resolvable by getgrnam() at any time,
+ even in the very early boot stages, where no other databases
+ and network are available:
+
+ tty, dialout, kmem, video, audio, lp, floppy, cdrom, tape, disk
+
+ During runtime the journal daemon requires the
+ "systemd-journal" system group to exist. New journal files will
+ be readable by this group (but not writable) which may be used
+ to grant specific users read access.
+
+ It is also recommended to grant read access to all journal
+ files to the system groups "wheel" and "adm" with a command
+ like the following in the post installation script of the
+ package:
+
+ # setfacl -nm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx /var/log/journal/
+
+ The journal gateway daemon requires the
+ "systemd-journal-gateway" system user and group to
+ exist. During execution this network facing service will drop
+ privileges and assume this uid/gid for security reasons.
+
WARNINGS:
systemd will warn you during boot if /etc/mtab is not a
symlink to /proc/mounts. Please ensure that /etc/mtab is a
@@ -110,13 +183,3 @@ WARNINGS:
(e.g. ./configure CPPFLAGS='... -DVALGRIND=1'). Otherwise,
false positives will be triggered by code which violates
some rules but is actually safe.
-
-ENGINEERING AND CONSULTING SERVICES:
- ProFUSION <http://profusion.mobi> offers professional
- engineering and consulting services for systemd for embedded
- and other use. Please contact Gustavo Barbieri
- <barbieri@profusion.mobi> for more information.
-
- Disclaimer: This notice is not a recommendation or official
- endorsement. However, ProFUSION's upstream work has been very
- beneficial for the systemd project.
diff --git a/TODO b/TODO
index 73d7b7f1c4..4f5af140f0 100644
--- a/TODO
+++ b/TODO
@@ -1,10 +1,11 @@
Bugfixes:
+* systemctl status *.path shows all logs, not only the ones since the unit is
+ active
+
* check systemd-tmpfiles for selinux context hookup for mknod(), symlink() and similar
* swap units that are activated by one name but shown in the kernel under another are semi-broken
-* make anaconda write timeout=0 for encrypted devices
-
* Dangling symlinks of .automount unit files in .wants/ directories, set up
automount points even when the original .automount file did not exist
anymore. Only the .mount unit was still around.
@@ -13,146 +14,320 @@ Bugfixes:
* properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
-F18:
+Fedora 19:
+
+* external: maybe it is time to patch procps so that "ps" links to
+ libsystemd-logind to print a pretty service name, seat name, session
+ name in its output. Currently it only shows cgroup membership, but
+ that's sometimes kinda hard to parse for a human.
-* Retest multi-seat
+* cgroup attrs:
+ - update dbus interface docs in wiki
+
+* localed:
+ - localectl: support new converted x11→console keymaps
Features:
-* mount: turn dependency information from /proc/self/mountinfo into dependency information between systemd units.
+* Introduce a way how we can kill the main process of a service with KillSignal, but all processes with SIGKILL later on
+ https://bugzilla.redhat.com/show_bug.cgi?id=952634
-* udev: remove all (misguided from day 1) userspace firmware_class handling
+* maybe add a warning to the unit file parses whern the acces mode of unit files is non-sensical.
-* logind: optionally, ignore idle-hint logic for autosuspend, block suspend as long as a session is around
+* investigate endianess issues of UUID vs. GUID
-* service: when killing a service with SIGKILL always kill all processes, even if for SIGTERM we only killed the main process
+* see if we can fix https://bugs.freedesktop.org/show_bug.cgi?id=63672
+ without dropping the location cache entirely.
-* exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty.
+* dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we
+ should be able to safely try another attempt when the bus call LoadUnit() is invoked.
-* DeviceAllow/DeviceDeny: disallow everything by default, but whitelist /dev/zero, /dev/null and friends
+* if pam_systemd is invoked by su from a process that is outside of a
+ any session we should probably just become a NOP, since that's
+ usually not a real user session but just some system code that just
+ needs setuid().
-* service: watchdog logic: for testing purposes allow ping, but do not require pong
+* add a pam module that passes the hdd passphrase into the PAM stack and then expires it, for usage by gdm auto-login.
-* journald: when dropping msgs due to ratelimit make sure to write
- "dropped %u messages" not only when we are about to print the next
- message that works, but alraedy after a short tiemout
+* add a pam module that on password changes updates any LUKS slot where the password matches
-* journald: also get thread ID from client, plus thread name
+* maybe add a generator that looks for "systemd.run=" on the kernel cmdline for container usercases...
-* check if we can make journalctl by default use --follow mode inside of less if called without args?
+* timedatctl, localectl: possibly make some commands work without the daemon, for chroot situations...
-* Add a verbose mode to "systemctl start" and friends that explains what is being done or not done
+* logind: add Suspend() bus calls which take timestamps to fix double suspend issues when somebody hits suspend and closes laptop quickly.
-* journal is not closed properly at shutdown when run in a container?
+* we need dynamic units
-* journal: when waiting for journal additions in the client always sleep at least 1s or so, in order to minimize wakeups
+* add s.th. like "systemctl set-log-level debug"
-* When shutdown.target is queued begin with an asynchronous sync()?
+* cgtop: make cgtop useful in a container
-* add API to close/reopen/get fd for journal client fd in libsystemd-journal.
+* test/:
+ - add 'set -e' to scripts in test/
+ - make stuff in test/ work with separate output dir
+ - remove all the duplicated code in test/
-* maybe add API to send pairs of iovecs via sd_journal_send
+* suppress log output on shutdown when "quiet" is used
-* fallback to /dev/log based logging in libsystemd-journal, if we can't log natively?
+* systemctl delete x.snapshot leaves no trace in logs (at least at default level).
-* declare the local journal protocol stable in the wiki interface chart
+* make the coredump collector tool move itself into the user's cgroup
+ so that the coredump is properly written to the user's own journal
+ file.
-* journal: reuse XZ context
+* move /usr/lib/modules/$(uname -r)/modules.devname parsing from udevd to
+ kmod static-nodes
+ call kmod as an early service, and drop CAP_MKNOD from udevd.service
-* sd-journal: speed up sd_journal_get_data() with transparent hash table in bg
+* systemd-delta needs to be made aware of *.d/*.conf drop-in files for
+ units.
-* introduce ntp.service (or suchlike) as symlink that is used to arbitrate between various NTP implementations
+* seems that when we follow symlinks to units we prefer the symlink
+ destination path over /etc and /usr. We shouldn't do that. Instead
+ /etc should always override /run+/usr and also any symlink
+ destination.
-* timer units should get the ability to trigger when:
- - CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET)
- - DST changes
+* remove duplicate default deps logic from fstab-generator vs. mount.c
-* update the kernel's TZ (sys_tz) when DST changes
+* when isolating, try to figure out a way how we implicitly can order
+ all units we stop before the isolating unit...
-* sync down the system time to the RTC when:
- - CLOCK_REALTIME makes jumps (the user explicitely requested a time set)
- - DST/timezone changes && ntp is active && RTC-in-localtime (never do it without ntp)
- This takes care of syncing ntpdate updates to the RTC, and DST updates for localtime
- mode, it will never touch the RTC if the no reliable time source is active or the
- user did not request anything like it.
+* teach udev + logind's uaccess to somehow handle the "dead" device nodes from:
+ /lib/modules/$(uname -r)/modules.devname
+ and apply ACLs to them if they have TAG=="uaccess" in udev rules.
-* When we begin with system shutdown all kind of suspend/hibernation should be prohibited until shutdown/reboot
+* add ConditionArchitecture= or so
-* When we update the kernel all kind of hibernation should be prohibited until shutdown/reboot
+* teach ConditionKernelCommandLine= globs or regexes (in order to match foobar={no,0,off})
-* hwdb:
- - implement conditional properties (dmi matches)
- - hwdb --filter=ID_DRIVE_*
- - find out what to do for blockdevs and skipping scsi modaliases
- - move writing code to src/libudev/libudev-hwdb-private.c
+* we should log capabilities too
-* if booted in "quiet" mode, and an error happens, turn on status output again, so that the emergency mode isn't totally surprising
+* Support SO_REUSEPORT with socket activation:
+ - Let systemd maintain a pool of servers.
+ - Use for seamless upgrades, by running the new server before stopping the
+ old.
-* localectl: add listing support for X11 keymaps, by parsing /usr/share/X11/xkb/rules/xorg.lst
+* after all byte-wise realloc() is slow, even on glibc, so i guess we
+ need manual exponential loops after all
-* libunwind support for coredump pattern hook, and includes this in
- the message for coredumps. After all, libunwind is now capable to
- unwind coredumps since a few weeks ago. This probably requires that
- we have nice support for multi-line messages on display in logs-show.c.
+* BootLoaderSpec: drop allowing ext234 for $BOOT. Clarify that the
+ kernel has to be in $BOOT. Clarify that the boot loader should be
+ installed to the ESP. Define a way how an installer can figure out
+ whether a BLS compliant boot loader is installed.
-* figure out relation of --all and --full in the various tools
+* man: remove .include documentation, and instead push people to use .d/*.conf
-* journal: when writing journal auto-rotate if time jumps backwards
+* think about requeuing jobs when daemon-reload is issued? usecase:
+ the initrd issues a reload after fstab from the host is accessible
+ and we might want to requeue the mounts local-fs acquired through
+ that automatically.
-* introduce new "journal" group in place of adm? introduce groups for the various mini daemons?
+* rework specifier logic so that we can distuingish OOM errors from other errors
-* journal: add a setgid "adm" utility to invoke from libsystemd-journal, which passes fds via STDOUT and does PK access
+* systemd-inhibit: make taking delay locks useful: support sending SIGINT or SIGTERM on PrepareForSleep()
-* journactl: support negative filtering, i.e. FOOBAR!="waldo",
- and !FOOBAR for events without FOOBAR.
+* journal-or-kmsg is currently broken? See reverted commit 4a01181e460686d8b4a543b1dfa7f77c9e3c5ab8.
-* print nice message from systemctl --failed if there are no entries shown, and hook that into ExecStartPre of rescue.service/emergency.service
+* remove any syslog support from log.c -- we probably can't do this before split-off udev is gone for good
-* add libsystemd-password or so to query passwords during boot using the password agent logic
+* documentation: recommend to connect the timer units of a service to the service via Also= in [Install]
-* journal: when rotating, copy over old acls/access mode
+* add a tool that lists active timer units plus their next elapstion and the time the units ran last
-* journal: document why we do not give ownership to journal files to the user that created them but use FS ACLs for that
+* man: document the very specific env the shutdown drop-in tools live in
-* journal: send out marker messages every now and then, and immediately sync with fdatasync() afterwards, in order to have hourly guaranteed syncs.
+* shutdown logging: store to EFI var, and store to USB stick?
-* journal: when we haven't written anything in a while, sync to disk and mark file as offline, in order to be more often than not in a clean state
+* man: extend runlevel(8) to mention that runlevels suck, and are dead. Maybe add runlevel(7) with a note about that too
-* journal-send.c, log.c: when the log socket is clogged, and we drop, count this and write a message about this when it gets unclogged again.
+* systemctl: maybe add "systemctl add-wants" or so...
-* If we show an error about a unit (such as not showing up) and it has no Description string, then show a description string generated form the reverse of unit_name_mangle().
+* man: add more examples to man pages
-* fedup: add --unit to systemctl switch-root somehow
-* fedup: don't delete initrd on switch-root
-* fedup: generator
+* man: maybe sort directives in man pages, and take sections from --help and apply them to man too
-* journal: find a way to allow dropping history early, based on priority, other rules
+* write UI tool that pops up emergency messages from the journal as notification
-* journal: When used on NFS, check payload hashes
+* think about window-manager-run-as-user-service problem: exit 0 → activate shutdown.target; exit != 0 → restart service
-* journal: When used on NFS make sure wake up sd_journal_wait() every 2s, to handle missing inotify
+* msgcatalog determine default language of entries from the catalog
+ file name. i.e. foobar.de_DE.catalog would set the default entry
+ name for the entries to de_DE if they aren't explicitly suffixed
+ individually.
-* document that people can use file system ACLs to manage access to journal files, with example
+* use "log level" rather than "log priority" everywhere
-* timedated: export boolean that clarifies whether NTP is even available
+* timedate: have global on/off switches for auto-time (NTP), and auto-timezone that connman can subscribe to.
-* timedated: refuse time changes when NTP is on
+* Honour "-" prefix for InaccessibleDirectories= and ReadOnlyDirectories= to
+ suppress errors of the specified path doesn't exist
-* clean up date formatting and parsing so that all absolute/relative timestamps we format can also be parsed
+* dev-setup.c: when running in a container, create a tiny stub udev
+ database with the systemd tag set for all network interfaces found,
+ so that libudev reports them as present, and systemd's .device units
+ will be activated.
-* document unit_name_mangle()
+* merge unit_kill_common() and unit_kill_context()
-* add new command to systemctl: "systemctl system-reexec" which reexecs as many daemons as virtually possible
+* introduce ExecCondition= in services
-* introduce generic AUGMENT_PID=, AUGMENT_DEVICE= fields
+* EFI:
+ - fsck hookup for the ESP mount is missing
+ - write man page for efi boot generator
+ - honor language efi variables for default language selection (if there are any?)
+ - honor timezone efi variables for default timezone selection (if there are any?)
+ - introduce bootctl (backed by systemd-bootd) to control temporary and persistent default boot goal plus efi variables
+
+* maybe do not install getty@tty1.service symlink in /etc but in /usr?
+
+* re-enable "make check" for gtk-doc (broken for unknown reason)
+
+* fstab: add new mount option x-systemd-after=/foobar/waldo to allow manual dependencies to other mount points
+ https://bugzilla.redhat.com/show_bug.cgi?id=812826
+
+* print a nicer explanation if people use variable/specifier expansion in ExecStart= for the first word
+
+* mount: turn dependency information from /proc/self/mountinfo into dependency information between systemd units.
+
+* logind:
+ - logind: optionally, ignore idle-hint logic for autosuspend, block suspend as long as a session is around
+ - When we update the kernel all kind of hibernation should be prohibited until shutdown/reboot
+ - logind: wakelock/opportunistic suspend support
+ - Add pretty name for seats in logind
+ - logind: allow showing logout dialog from system?
+ - logind: spawn user@..service on login
+ - logind: non-local X11 server handling
+ - logind: add equivalent to sd_pid_get_owner_uid() to the D-Bus API
+ - pam: when leaving a session explicitly exclude the ReleaseSession() caller process from the killing spree
+ - logind: GetSessionByPID() should accept 0 as PID value
+ - we should probably handle SIGTERM/SIGINT to not leave dot files around, just in case
+
+* exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty.
+
+* DeviceAllow/DeviceDeny: disallow everything by default, but whitelist /dev/zero, /dev/null and friends
+
+* service: watchdog logic: for testing purposes allow ping, but do not require pong
+
+* journal:
+ - do not use magic msync() in src/journal/journal-file.c, just call fsync()
+ <alxchk> poettering: looks like msync just calls vfs_fsync
+ http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/mm/msync.c#n18
+ - import and delete pstore filesystem content at startup
+ - journald: also get thread ID from client, plus thread name
+ - journal: when waiting for journal additions in the client always sleep at least 1s or so, in order to minimize wakeups
+ - add API to close/reopen/get fd for journal client fd in libsystemd-journal.
+ - fallback to /dev/log based logging in libsystemd-journal, if we can't log natively?
+ - declare the local journal protocol stable in the wiki interface chart
+ - journal: reuse XZ context
+ - sd-journal: speed up sd_journal_get_data() with transparent hash table in bg
+ - journald: when dropping msgs due to ratelimit make sure to write
+ "dropped %u messages" not only when we are about to print the next
+ message that works, but alraedy after a short tiemout
+ - check if we can make journalctl by default use --follow mode inside of less if called without args?
+ - maybe add API to send pairs of iovecs via sd_journal_send
+ - journal: when writing journal auto-rotate if time jumps backwards
+ - journal: add a setgid "systemd-journal" utility to invoke from libsystemd-journal, which passes fds via STDOUT and does PK access
+ - journactl: support negative filtering, i.e. FOOBAR!="waldo",
+ and !FOOBAR for events without FOOBAR.
+ - journal: when rotating, copy over old acls/access mode
+ - journal: send out marker messages every now and then, and immediately sync with fdatasync() afterwards, in order to have hourly guaranteed syncs.
+ - journal-send.c, log.c: when the log socket is clogged, and we drop, count this and write a message about this when it gets unclogged again.
+ - journal: find a way to allow dropping history early, based on priority, other rules
+ - journal: When used on NFS, check payload hashes
+ - Introduce journalctl -b <nr> to show journal messages of a previous boot
+ - journald: check whether it is OK if the client can still modify delivered journal entries
+ - journal live copy, based on libneon (client) and libmicrohttpd (server)
+ - journald: add kernel cmdline option to disable ratelimiting for debug purposes
+ - refuse taking lower-case variable names in sd_journal_send() and friends.
+ - journald: we currently rotate only after MaxUse+MaxFilesize has been reached.
+ - journal: deal nicely with byte-by-byte copied files, especially regards header
+ - journalctl: show multiline log messages sanely, expand tabs, and show all valid utf8 messages
+ - journal: store euid in journal if it differs from uid
+ - journal: sanely deal with entries which are larger than the individual file size, but where the components would fit
+ - Replace utmp, wtmp, btmp, and lastlog completely with journal
+ - Port upower to use the journal for historical power information used in future calculations
+
+* document:
+ - document unit_name_mangle()
+ - document that deps in [Unit] sections ignore Alias= fileds in
+ [Install] units of other units, unless those units are disabled
+ - man: clarify that time-sync.target is not only sysv compat but also useful otherwise. Same for similar targets
+ - Document word splitting syntax for ExecStart= and friends
+ - document that units from /etc override those from /usr and /run
+ - document the exit codes when services fail before they are exec()ed
+ - document that service reload may be implemented as service reexec
+ - document in wiki how to map ical recurrence events to systemd timer unit calendar specifications
+
+* systemctl:
+ - systemctl list-jobs - show dependencies
+ - add systemctl switch to dump transaction without executing it
+ - Add a verbose mode to "systemctl start" and friends that explains what is being done or not done
+ - "systemctl disable" on a static unit prints no message and does
+ nothing. "systemctl enable" does nothing, and gives a bad message
+ about it. Should fix both to print nice actionable messages.
+ - print nice message from systemctl --failed if there are no entries shown, and hook that into ExecStartPre of rescue.service/emergency.service
+ - add new command to systemctl: "systemctl system-reexec" which reexecs as many daemons as virtually possible
+ - systemctl enable: improve the success messages (i.e. more human readable, less shell-like)
+ - systemctl enable: fail if target to alias into doesn't exist? maybe show how many units are enabled afterwards?
+ - systemctl: "Journal has been rotated since unit was started." message is misleading
+ - support "systemctl stop foobar@.service" to stop all units matching a certain template
+ - Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files"
+
+* introduce ntp.service (or suchlike) as symlink that is used to arbitrate between various NTP implementations
* deal with sendmail/postfix exclusivity
-* systemctl enable: improve the success messages (i.e. more human readable, less shell-like)
+* timer units:
+ - configurable jitter for timer events
+ - timer events with system resume
+ - timer units should get the ability to trigger when:
+ o CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET)
+ o DST changes
+ - Support 2012-02~4 as syntax for specifying the fourth to last day of the month.
-* systemctl enable: fail if target to alias into doesn't exist? maybe show how many units are enabled afterwards?
+* update the kernel's TZ (sys_tz) when DST changes
+
+* sync down the system time to the RTC when:
+ - CLOCK_REALTIME makes jumps (the user explicitely requested a time set)
+ - DST/timezone changes && ntp is active && RTC-in-localtime (never do it without ntp)
+ This takes care of syncing ntpdate updates to the RTC, and DST updates for localtime
+ mode, it will never touch the RTC if the no reliable time source is active or the
+ user did not request anything like it.
+
+* hwdb:
+ - implement conditional properties (dmi matches)
+ - hwdb --filter=ID_DRIVE_*
-* on shutdown: move utmp, wall, audit logic all into PID 1 itself, get rid of systemd-update-utmp-runlevel
+* if booted in "quiet" mode, and an error happens, turn on status
+ output again, so that the emergency mode isn't totally
+ surprising. Also, terminate plymouth.
+
+* libunwind support for coredump pattern hook, and includes this in
+ the message for coredumps. After all, libunwind is now capable to
+ unwind coredumps since a few weeks ago. This probably requires that
+ we have nice support for multi-line messages on display in
+ logs-show.c. Alternatively: use libelfutil, which seems to be the
+ better supported alternative.
+
+* figure out relation of --all and --full in the various tools
+
+* add libsystemd-password or so to query passwords during boot using the password agent logic
+
+* If we show an error about a unit (such as not showing up) and it has no Description string, then show a description string generated form the reverse of unit_name_mangle().
+
+* fedup: add --unit to systemctl switch-root somehow
+* fedup: don't delete initrd on switch-root
+* fedup: generator
+
+* timedated:
+ - timedated: refuse time changes when NTP is on
+
+* clean up date formatting and parsing so that all absolute/relative timestamps we format can also be parsed
+
+* introduce generic AUGMENT_PID=, AUGMENT_DEVICE= fields
+
+* on shutdown: move utmp, wall, audit logic all into PID 1 (or logind?), get rid of systemd-update-utmp-runlevel
* add "provisioning" instructions to setup an empty /etc + /var
- used to setup a new container from a shared /usr
@@ -166,39 +341,33 @@ Features:
* high level net_prio setting in execution context
-* Introduce journalctl -b <nr> to show journal messages of a previous boot
-
* hostnamed: before returning information from /etc/machine-info.conf check the modification data and reread. Similar for localed, ...
* currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab isn't
-* WorkingDirectory: support env var replacements like in ExecStart= so that people can use $HOME
-
* refuse boot if /etc/machine-id is not useful (or set taint?)
-* nspawn: consider changing users for -u with su, so that NSS resolving works correctly
-
-* nspawn: implement personality changes a la linux32(8)
-
-* cryptsetup-generator: warn if the password files are world-readable
-
-* cryptsetup-generator: add RequiresMountsFor= to cryptseup service files referencing a file, similar for devices
-
-* cryptsetup-generator: allow specification of passwords in crypttab itself
-
-* document that deps in [Unit] sections ignore Alias= fileds in
- [Install] units of other units, unless those units are disabled
-
-* systemctl: when powering down/suspending check for inhibitors, and warn.
-
-* instantiated [Install] for target units
- https://bugs.freedesktop.org/show_bug.cgi?id=54377
+* nspawn:
+ - nspawn: consider changing users for -u with su, so that NSS resolving works correctly
+ - nspawn: implement personality changes a la linux32(8)
+ - nspawn: --read-only is not applied recursively to submounts
+ - nspawn: make use of device cgroup controller by default
+ - bind mount read-only the cgroup tree higher than nspawn
+ - nspawn: investigate whether we can support the same as LXC's
+ lxc.network.type=phys mode, and pass through entire network
+ interfaces to the container
+ - nspawn: maybe add a way to drop additional caps, in addition to add additional caps
+ - nspawn: maybe explicitly reset loginuid?
+ - nspawn: make it work for dwalsh and shared /usr containers -- tmpfs mounts as command line parameters, selinux exec context
+
+* cryptsetup:
+ - cryptsetup-generator: allow specification of passwords in crypttab itself
+ - move cryptsetup key caching into kernel keyctl?
+ https://bugs.freedesktop.org/show_bug.cgi?id=54982
+ - support rd.luks.allow-discards= kernel cmdline params in cryptsetup generator
* move debug shell to tty6 and make sure this doesn't break the gettys on tty6
-* move cryptsetup key caching into kernel keyctl?
- https://bugs.freedesktop.org/show_bug.cgi?id=54982
-
* hw watchdog: optionally try to use the preset watchdog timeout instead of always overriding it
https://bugs.freedesktop.org/show_bug.cgi?id=54712
@@ -211,36 +380,20 @@ Features:
* come up with a nice way to write queue/read_ahead_kb for a block device without interfering with readahead
-* journald: add kernel cmdline option to disable ratelimiting for debug purposes
-
* move PID 1 segfaults to /var/lib/systemd/coredump?
-* Document word splitting syntax for ExecStart= and friends
-
* create /sbin/init symlinks from the build system
* Query Paul Moore about relabelling socket fds while they are open
-* journald: check whether it is OK if the client can still modify delivered journal entries
-
-* journal live copy, based on libneon (client) and libmicrohttpd
-
-* system-wide seccomp filter
-
* system.conf should have controls for cgroups
-* bind mount read-only the cgroup tree higher than nspawn
-
* allow writing multiple conditions in unit files on one line
* explore multiple service instances per listening socket idea
-* testing tool for socket activation: some binary that listens on a socket and passes it on using the usual socket activation protocol to some server.
-
* shutdown: don't read-only mount anything when running in container
-* nspawn: --read-only is not applied recursively to submounts
-
* MountFlags=shared acts as MountFlags=slave right now.
* ReadOnlyDirectories= is not applied recursively to submounts
@@ -252,8 +405,6 @@ Features:
when done. That means clients don't get a successful method reply,
but much rather a disconnect on success.
-* document that service reload may be implemented as service reexec
-
* remember which condition failed for services, not just the fact that something failed
* use opterr = 0 for all getopt tools
@@ -262,184 +413,78 @@ Features:
* allow services with no ExecStart= but with an ExecStop=
-* add proper journal support to "systemctl --user status ..."
-
-* add _SYSTEMD_USER_UNIT= field to journal entries
-
* dracut-shutdown needs to be ordered before unmounting /boot
* initialize the hostname from the fs label of /, if /etc/hostname does not exist?
* rename "userspace" to "core-os"
-* systemctl: "Journal has been rotated since unit was started." message is misleading
-
-* syscall filter: add knowledge about compat syscalls
-
-* syscall filter: don't enforce no new privs?
-
-* syscall filter: option to return EPERM rather than SIGSYS?
-
-* syscall filter: port to libseccomp
-
-* logind: wakelock/opportunistic suspend support
-
-* systemd-analyze post-boot is broken for initrd
-
-* systemd-analyze: data collection tools should be lightweight (few dependencies); data analysis tools can be heavyweight
-
-* man: clarify that time-sync.target is not only sysv compat but also useful otherwise. Same for similar targets
+* syscall filter:
+ - syscall filter: add knowledge about compat syscalls
+ - syscall filter: don't enforce no new privs?
+ - syscall filter: option to return EPERM rather than SIGSYS?
+ - syscall filter: port to libseccomp
+ - system-wide seccomp filter
* .device aliases need to be implemented with the "following" logic, probably.
-* refuse taking lower-case variable names in sd_journal_send() and friends.
-
* load-fragment: when loading a unit file via a chain of symlinks
verify that it isn't masked via any of the names traversed.
-* journald: we currently rotate only after MaxUse+MaxFilesize has been reached.
-
-* Document:
- - PID 1 D-Bus API
-
* introduce Type=pid-file
-* maybe allow services with ExecStop= set, but no ExecStart=?
-
-* efi: implement /forcefsck as uefi variables thus not requiring file system altering to trigger a file system check
-
-* efi: honor language efi variables for default language selection
-
-* efi: honor timezone efi variables for default timezone selection
-
-* efi: automatically mount EFI partition to /boot if no such entry exists in /etc/fstab and /boot is empty
- gummiboot exports the EFI system partion (ESP) device:
- /sys/firmware/efi/vars/LoaderDeviceIdentifier-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f/data
- Acpi(PNP0A03,0)/Pci(1F|2)/?/HD(Part1,Sig1FCBC57F-4BFC-4C2B-91A3-9C84FBCD9AF1)
- '/' is the separator for the device path list
- HD(Part1,Sig1FCBC57F-4BFC-4C2B-91A3-9C84FBCD9AF1) contains the GPT UUID of the ESP
-
-* read the bootloader performance data (raw TSC) in systemd-analyze
- /sys/firmware/efi/vars/LoaderTicksExec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f/data
- 19066159288
- /sys/firmware/efi/vars/LoaderTicksInit-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f/data
- 17442940316
- /sys/firmware/efi/vars/LoaderTicksStartMenu-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f/data
- (only set if the menu was active)
-
* change Requires=basic.target to RequisiteOverride=basic.target
-* support rd.luks.allow-discards= kernel cmdline params in cryptsetup generator
-
-* nspawn: make use of device cgroup controller by default
-
-* drop accountsservice's StandardOutput=syslog and Type=dbus fields
-
* when breaking cycles drop sysv services first, then services from /run, then from /etc, then from /usr
-* readahead: when bumping /sys readahead variable save mtime and compare later to detect changes
-
-* (attempt to) make Debianites happy:
- - implement .d/ auto includes for unit files
- - add syntax to reset ExecStart= lists (and similar)
-
* move passno parsing to fstab generator
-* improve !/proc/*/loginuid situation: make /proc/*/loginuid less dependent on CONFIG_AUDIT,
- or use the users cgroup information when /proc/*/loginuid is not available.
-
-* pam_systemd: try to get old session id from cgroup, if audit sessionid cannot be determined
-
-* pam: when leaving a session explicitly exclude the ReleaseSession() caller process from the killing spree
-
-* maybe introduce ~/.config/locale.conf and apply it within PAM
-
-* readahead: make use of EXT4_IOC_MOVE_EXT, as used by http://e4rat.sourceforge.net/
-
-* automount: implement expire
+* automount: implement expire:
+ - set superblock timeout AUTOFS_DEV_IOCTL_TIMEOUT_CMD
+ - periodically run AUTOFS_DEV_IOCTL_EXPIRE_CMD
+ - every timeout/4 (original autofs logic)
+ - blocking, needs a thread
+ - run until -EAGAIN
+ - receive expire packet on pipe if kernel tells the timeout is over
+ - call umount
+ - answer expire packet on pipe with AUTOFS_DEV_IOCTL_{READY,FAIL}_CMD
+ - AUTOFS_DEV_IOCTL_EXPIRE_CMD returns
* services which create their own subcgroups break cgroup-empty notification (needs to be fixed in the kernel)
-* don't delete /tmp/systemd-namespace-* before a process is gone down
-
-* vconsole: implement setterm -store -foreground xxx --background zzz
-
* ExecOnFailure=/usr/bin/foo
-* fedora: make sshd and pam_loginuid work in nspawn containers
-
-* fix utmp for console logins in containers
-
-* Add pretty name for seats in logind
-
* ConditionSecurity= should learn about IMA and SMACK
-* Auke: merge Auke's bootchart
-
-* udev: move to LGPL
-
-* udev systemd unify:
- - strpcpy(), strpcpyl(), strscpy(), strscpyl()
- - utf8 validator code
-
-* udev: scsi_id -> sg3_utils -> kill scsi_id
-
-* udev: add trigger --subsystem-match=usb/usb_device device
-
-* allow configuration of console width/height in vconsole.conf
+* udev:
+ - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n)
+ - move to LGPL
+ - unify utf8 validator code with shared/
+ - kill scsi_id
+ - add trigger --subsystem-match=usb/usb_device device
* cleanup syslog 'priority' vs. 'level' wording
-* dbus upstream still refers to dbus.target and shouldn't
-
* when a service has the same env var set twice we actually store it twice and return that in systemctl show -p... We should only show the last setting
* support container_ttys=
* introduce mix of BindTo and Requisite
-* journalctl: show multiline log messages sanely, expand tabs, and show all valid utf8 messages
-
* add DeleteSocketsOnStop=yes|no option to socket units
-* journal: store euid in journal if it differs from uid
-
* There's currently no way to cancel fsck (used to be possible via C-c or c on the console)
-* journal: sanely deal with entries which are larger than the individual file size, but where the components would fit
-
-* add command to systemctl to plot dependency graph as tree (see rhbz 795365)
-
* add option to sockets to avoid activation. Instead just drop packets/connections, see http://cyberelk.net/tim/2012/02/15/portreserve-systemd-solution/
* default unix qlen is too small (10). bump sysctl? add sockopt?
-* figure out whether we should leave dbus around during shutdown
-
-* dbus: in fedora, make the machine a symlink to /etc/machine-id
-
-* dbus: move dbus to early boot
-
-* logind: add equivalent to sd_pid_get_owner_uid() to the D-Bus API
-
-* journal: deal nicely with byte-by-byte copied files, especially regards header
-
-* journal: local deserializer of export mode, http server
-
-* document the exit codes when services fail before they are exec()ed
-
* save coredump in Windows/Mozilla minidump format
* support crash reporting operation modes (https://live.gnome.org/GnomeOS/Design/Whiteboards/ProblemReporting)
* clean up session cgroups that remain after logout (think sshd), but eventually run empty
-* support "systemctl stop foobar@.service" to stop all units matching a certain template
-
-* logind: allow showing logout dialog from system
-
-* document that %% can be used to write % in a string that is specifier extended
-
* when an instanced service exits, remove its parent cgroup too if possible.
* default to actual 32bit PIDs, via /proc/sys/kernel/pid_max
@@ -447,15 +492,11 @@ Features:
* be able to specify a forced restart of service A where service B depends on, in case B
needs to be auto-respawned?
-* Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files"
-
* when a bus name of a service disappears from the bus make sure to queue further activation requests
-* something like ConditionExec= or ExecStartPre= without failure state
-
* tmpfiles: apply "x" on "D" too (see patch from William Douglas)
-* don't set $HOME in services unless requested
+* for services: don't set $HOME in services unless requested
* hide PAM/TCPWrap options in fragment parser when compile time disabled
@@ -466,17 +507,11 @@ Features:
* move PAM code into its own binary
-* logind: spawn user@..service on login
-
-* logind: non-local X11 server handling
-
* implement Register= switch in .socket units to enable registration
in Avahi, RPC and other socket registration services.
* make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
-* readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
-
* support sd_notify() style notification when reload begins (RELOADING=1), reload is finished (READY=1), and add ReloadSignal= then to use in combination
* support sd_notify() style notification when shutting down, to make auto-exit bus services work (STOPPING=1)
@@ -490,7 +525,12 @@ Features:
* and a dbus call to generate target from current state
-* drop /.readahead on bigger upgrades with yum
+* readahead:
+ - drop /.readahead on bigger upgrades with yum
+ - move readahead files into /var (look for them with .path units?)
+ - readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
+ - readahead: when bumping /sys readahead variable save mtime and compare later to detect changes
+ - readahead: make use of EXT4_IOC_MOVE_EXT, as used by http://e4rat.sourceforge.net/
* add support for /bin/mount -s
@@ -509,21 +549,18 @@ Features:
- how to develop against journal browsing APIs
- the journal HTTP iface
- non-cgroup resource management
+ - dynamic resource management with cgroups
- refreshed, longer missions statement
- - using detect-virt
+ - calendar time events
+ - init=/bin/sh vs. "emergency" mode, vs. "rescue" mode, vs. "multi-user" mode, vs. "graphical" mode, and the debug shell
+ - how to create your own target
+ - instantiated apache, dovecot and so on
+ - hooking a script into various stages of shutdown/rearly booot
* allow port=0 in .socket units
-* move readahead files into /var (look for them with .path units?)
-
-* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
-
* support systemd.mask= on the kernel command line.
-* when key file cannot be found, read it from kbd in cryptsetup
-
-* reuse mkdtemp namespace dirs in /tmp?
-
* recreate systemd's D-Bus private socket file on SIGUSR2
* Support --test based on current system state
@@ -532,14 +569,8 @@ Features:
* maybe introduce ExecRestartPre=
-* configurable jitter for timer events
-
-* timer events with system resume
-
* dot output for --test showing the 'initial transaction'
-* writable cgroups dbus properties for live changes
-
* port over to LISTEN_FDS/LISTEN_PID:
- rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
- cups HAVEPATCH
@@ -553,11 +584,18 @@ Features:
* io priority during initialization
-* systemctl list-jobs - show dependencies
+* drop cap bounding set in readahead and other services
-* add systemctl switch to dump transaction without executing it
+* systemd-python:
+ - figure out a simple way to wait for journal events in a way that
+ works with ^C
+ - add documentation to systemd.daemon
-* drop cap bounding set in readahead and other services
+* bootchart:
+ - plot per-process IO utilization
+ - group processes based on service association (cgroups)
+ - document initcall_debug
+ - kernel cmdline "bootchart" option for simplicity?
External:
@@ -568,14 +606,13 @@ External:
- allow disabling of fd passing when connecting a AF_UNIX connection
- allow disabling of UID passing for AUTH EXTERNAL
- always pass cred data along each message
+ - teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
* fix alsa mixer restore to not print error when no config is stored
-* gnome-shell python script/glxinfo/is-accelerated must die
-
* make cryptsetup lower --iter-time
-* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup?
+* patch kernel for xattr support in /dev, /proc/, /sys?
* NTP: the kernel's 11-minutes-mode syncs the system time to the RTC, but only
in an ~30 minutes window. It does not adjust larger differences. Find a way
@@ -585,6 +622,24 @@ External:
* kernel: add device_type = "fb", "fbcon" to class "graphics"
+* drop accountsservice's StandardOutput=syslog and Type=dbus fields
+
+* dbus upstream still refers to dbus.target and shouldn't
+
+* dbus: in fedora, make /var/lib/dbus/machine-id a symlink to /etc/machine-id
+
+* add "# export SYSTEMD_PAGER=" to bash login
+
+* /usr/bin/service should actually show the new command line
+
+* fedora: suggest auto-restart on failure, but not on success and not on coredump. also, ask people to think about changing the start limit logic. Also point people to RestartPreventExitStatus=, SuccessExitStatus=
+
+* fedora: F20: go timer units all the way, leave cron.daily for cron
+
+* neither pkexec nor sudo initialize environ[] from the PAM environment?
+
+* fedora: update policy to declare access mode and ownership of unit files to root:root 0644, and add an rpmlint check for it
+
Regularly:
* look for close() vs. close_nointr() vs. close_nointr_nofail()
@@ -606,7 +661,3 @@ Regularly:
Scheduled for removal or fixing:
* xxxOverridable dependencies (probably: fix)
-
-* support for early-boot SysV services (definitely: remove)
-
-* insserv support (definitely: remove)
diff --git a/autogen.sh b/autogen.sh
index 33d8fcda23..86fe9b3785 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -54,7 +54,7 @@ args="$args \
fi
if [ "x$1" = "xc" ]; then
- ./configure CFLAGS='-g -O0 -Wp,-U_FORTIFY_SOURCE' $args
+ ./configure CFLAGS='-g -O0' $args
make clean
else
echo
@@ -62,6 +62,6 @@ else
echo "Initialized build system. For a common configuration please run:"
echo "----------------------------------------------------------------"
echo
- echo "./configure CFLAGS='-g -O0 -Wp,-U_FORTIFY_SOURCE' $args"
+ echo "./configure CFLAGS='-g -O0' $args"
echo
fi
diff --git a/catalog/systemd.catalog b/catalog/systemd.catalog
index 5dcbd4620a..62635c87b0 100644
--- a/catalog/systemd.catalog
+++ b/catalog/systemd.catalog
@@ -26,7 +26,6 @@
Subject: The Journal has been started
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
The system journal process has been starting up, opened the journal
files for writing and is now ready to process requests.
@@ -35,7 +34,6 @@ files for writing and is now ready to process requests.
Subject: The Journal has been stopped
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
The system journal process has shut down and closed all currently
active journal files.
@@ -45,7 +43,6 @@ Subject: Messages from a service have been suppressed
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: man:journald.conf(5)
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
A service has logged too many messages within a time period. Messages
from the service have been dropped.
@@ -61,7 +58,6 @@ RateLimitInterval= and RateLimitBurst= in
Subject: Journal messages have been missed
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
Kernel messages have been lost as the journal system has been unable
to process them quickly enough.
@@ -71,7 +67,6 @@ Subject: Process @COREDUMP_PID@ (@COREDUMP_COMM@) dumped core
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: man:core(5)
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
Process @COREDUMP_PID@ (@COREDUMP_COMM@) crashed and dumped core.
@@ -83,7 +78,6 @@ Subject: Speicherabbild für Prozess @COREDUMP_PID@ (@COREDUMP_COMM) generiert
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: man:core(5)
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
Prozess @COREDUMP_PID@ (@COREDUMP_COMM@) ist abgebrochen worden und
ein Speicherabbild wurde generiert.
@@ -96,7 +90,6 @@ Subject: A new session @SESSION_ID@ has been created for user @USER_ID@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
A new session with the ID @SESSION_ID@ has been created for the user @USER_ID@.
@@ -107,7 +100,6 @@ Subject: A session @SESSION_ID@ has been terminated
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
A session with the ID @SESSION_ID@ has been terminated.
@@ -116,7 +108,6 @@ Subject: A new seat @SEAT_ID@ is now available
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
A new seat @SEAT_ID@ has been configured and is now available.
@@ -125,7 +116,6 @@ Subject: A seat @SEAT_ID@ has now been removed
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
A seat @SEAT_ID@ has been removed and is no longer available.
@@ -133,7 +123,6 @@ A seat @SEAT_ID@ has been removed and is no longer available.
Subject: Time change
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
The system clock has been changed to @REALTIME@ microseconds after January 1st, 1970.
@@ -141,7 +130,6 @@ The system clock has been changed to @REALTIME@ microseconds after January 1st,
Subject: Zeitänderung
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
Die System-Zeit wurde geändert auf @REALTIME@ Mikrosekunden nach dem 1. Januar 1970.
@@ -149,7 +137,6 @@ Die System-Zeit wurde geändert auf @REALTIME@ Mikrosekunden nach dem 1. Januar
Subject: Time zone change to @TIMEZONE@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
The system time zone has been changed to @TIMEZONE@.
@@ -157,7 +144,6 @@ The system time zone has been changed to @TIMEZONE@.
Subject: System start-up is now complete
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
All system services necessary queued for starting at boot have been
successfully started. Note that this does not mean that the machine is
@@ -173,7 +159,6 @@ Userspace start-up required @USERSPACE_USEC@ microseconds.
Subject: System sleep state @SLEEP@ entered
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
The system has now entered the @SLEEP@ sleep state.
@@ -181,7 +166,6 @@ The system has now entered the @SLEEP@ sleep state.
Subject: System sleep state @SLEEP@ left
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
The system has now left the @SLEEP@ sleep state.
@@ -189,7 +173,6 @@ The system has now left the @SLEEP@ sleep state.
Subject: System shutdown initiated
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
Systemd shutdown has been initiated. The shutdown has now begun and
all system services are terminated and all file systems unmounted.
@@ -198,7 +181,6 @@ all system services are terminated and all file systems unmounted.
Subject: Unit @UNIT@ has begun with start-up
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
Unit @UNIT@ has begun starting up.
@@ -206,7 +188,6 @@ Unit @UNIT@ has begun starting up.
Subject: Unit @UNIT@ has finished start-up
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
Unit @UNIT@ has finished starting up.
@@ -216,7 +197,6 @@ The start-up result is @RESULT@.
Subject: Unit @UNIT@ has begun shutting down
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
Unit @UNIT@ has begun shutting down.
diff --git a/configure.ac b/configure.ac
index 7a3cd87511..e1278e8504 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,7 +20,7 @@
AC_PREREQ([2.64])
AC_INIT([systemd],
- [197],
+ [204],
[http://bugs.freedesktop.org/enter_bug.cgi?product=systemd],
[systemd],
[http://www.freedesktop.org/wiki/Software/systemd])
@@ -86,55 +86,23 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1])
AM_CONDITIONAL([HAVE_INTROSPECTION], [false])
enable_introspection=no])
-AC_PATH_TOOL(OBJCOPY, objcopy)
-AC_PATH_TOOL(STRINGS, strings)
-AC_PATH_TOOL(GPERF, gperf)
+AC_CHECK_TOOL(OBJCOPY, objcopy)
+AC_CHECK_TOOL(STRINGS, strings)
+AC_CHECK_TOOL(GPERF, gperf)
if test -z "$GPERF" ; then
AC_MSG_ERROR([*** gperf not found])
fi
-# we use python to build the man page index, and for systemd-python
-have_python=no
-have_python_devel=no
-
-AC_ARG_WITH([python],
- [AS_HELP_STRING([--without-python], [Disable building the man page index and systemd-python (default: test)])])
-
-AS_IF([test "x$with_python" != "xno"], [
- AM_PATH_PYTHON(,, [:])
- AS_IF([test "$PYTHON" != :], [have_python=yes])
-])
-AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
-AS_IF([test "x$PYTHON_BINARY" = "x"],
- [AS_IF([test "x$have_python" = "xyes"],
- [PYTHON_BINARY="`which "$PYTHON"`"],
- [PYTHON_BINARY=/usr/bin/python])])
-AC_ARG_VAR(PYTHON_BINARY, [Python binary used to launch installed scripts])
-
-AS_IF([test "x$with_python" != "xno"], [
- AC_PATH_PROG(PYTHON_CONFIG, python${PYTHON_VERSION}-config)
- AS_IF([test -n "$PYTHON_CONFIG"], [
- have_python_devel=yes
- PYTHON_CFLAGS="`$PYTHON_CONFIG --cflags`"
- PYTHON_LIBS="`$PYTHON_CONFIG --ldflags`"
- AC_SUBST(PYTHON_CFLAGS)
- AC_SUBST(PYTHON_LIBS)
- ])
-])
-AM_CONDITIONAL([HAVE_PYTHON_DEVEL], [test "$have_python_devel" = "yes"])
-
CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-pipe \
-Wall \
-Wextra \
-Wno-inline \
-Wundef \
- -Wformat=2 \
+ "-Wformat=2 -Wformat-security -Wformat-nonliteral" \
-Wlogical-op \
-Wsign-compare \
- -Wformat-security \
-Wmissing-include-dirs \
- -Wformat-nonliteral \
-Wold-style-definition \
-Wpointer-arith \
-Winit-self \
@@ -167,17 +135,55 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
--param=ssp-buffer-size=4])
AC_SUBST([OUR_CFLAGS], $with_cflags)
-CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
- -Wp,-D_FORTIFY_SOURCE=2])
+AS_CASE([$CFLAGS], [*-O[[12345g\ ]]*], [
+ CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
+ -Wp,-D_FORTIFY_SOURCE=2])], [
+ python_extra_cflags=-Wp,-U_FORTIFY_SOURCE
+ AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])])
AC_SUBST([OUR_CPPFLAGS], $with_cppflags)
CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
-Wl,--as-needed \
+ -Wl,--no-undefined \
-Wl,--gc-sections \
-Wl,-z,relro \
-Wl,-z,now])
AC_SUBST([OUR_LDFLAGS], $with_ldflags)
+# ------------------------------------------------------------------------------
+# we use python to build the man page index, and for systemd-python
+have_python=no
+have_python_devel=no
+
+AC_ARG_WITH([python],
+ [AS_HELP_STRING([--without-python], [Disable building the man page index and systemd-python (default: test)])])
+
+AS_IF([test "x$with_python" != "xno"], [
+ AM_PATH_PYTHON(,, [:])
+ AS_IF([test "$PYTHON" != :], [have_python=yes])
+])
+AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
+AS_IF([test "x$PYTHON_BINARY" = "x"],
+ [AS_IF([test "x$have_python" = "xyes"],
+ [PYTHON_BINARY="$(which "$PYTHON")"],
+ [PYTHON_BINARY=/usr/bin/python])])
+AC_ARG_VAR(PYTHON_BINARY, [Python binary used to launch installed scripts])
+
+AS_IF([test "x$with_python" != "xno"], [
+ AC_PATH_PROG(PYTHON_CONFIG, python${PYTHON_VERSION}-config)
+ AS_IF([test -n "$PYTHON_CONFIG"], [
+ have_python_devel=yes
+ PYTHON_CFLAGS="$($PYTHON_CONFIG --cflags) $python_extra_cflags"
+ PYTHON_LIBS="$($PYTHON_CONFIG --ldflags)"
+ AC_SUBST(PYTHON_CFLAGS)
+ AC_SUBST(PYTHON_LIBS)
+ AC_PATH_PROGS(SPHINX_BUILD, sphinx-build-${PYTHON_VERSION} sphinx-build)
+ ])
+])
+AM_CONDITIONAL([HAVE_PYTHON_DEVEL], [test "$have_python_devel" = "yes"])
+
+# ------------------------------------------------------------------------------
+
AC_SEARCH_LIBS([mq_open], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])])
AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([*** Dynamic linking loader library not found])])
@@ -269,12 +275,22 @@ if test "x$enable_selinux" != "xno"; then
fi
fi
AM_CONDITIONAL(HAVE_SELINUX, [test "$have_selinux" = "yes"])
-if test "x${have_selinux}" != xno ; then
- sushell=/sbin/sushell
-else
- sushell=/bin/bash
-fi
-AC_SUBST(sushell)
+
+AC_ARG_WITH(debug-shell,
+ AS_HELP_STRING([--with-debug-shell=PATH],
+ [Path to debug shell binary]),
+ [SUSHELL="$withval"],[
+ AS_IF([test "x${have_selinux}" != "xno"], [SUSHELL="/sbin/sushell"] , [SUSHELL="/bin/sh"])])
+
+AC_SUBST(SUSHELL)
+
+AC_ARG_WITH([debug-tty],
+ AS_HELP_STRING([--with-debug-tty=PATH],
+ [Specify the tty device for debug shell]),
+ [DEBUGTTY="$withval"],
+ [DEBUGTTY=/dev/tty9])
+
+AC_SUBST(DEBUGTTY)
# ------------------------------------------------------------------------------
have_xz=no
@@ -623,6 +639,24 @@ fi
AM_CONDITIONAL(ENABLE_COREDUMP, [test "$have_coredump" = "yes"])
# ------------------------------------------------------------------------------
+have_polkit=no
+AC_ARG_ENABLE(polkit, AS_HELP_STRING([--disable-polkit], [disable PolicyKit support]))
+if test "x$enable_polkit" != "xno"; then
+ AC_DEFINE(ENABLE_POLKIT, 1, [Define if PolicyKit support is to be enabled])
+ have_polkit=yes
+fi
+AM_CONDITIONAL(ENABLE_POLKIT, [test "x$have_polkit" = "xyes"])
+
+# ------------------------------------------------------------------------------
+have_efi=no
+AC_ARG_ENABLE(efi, AS_HELP_STRING([--disable-efi], [disable EFI support]))
+if test "x$enable_efi" != "xno"; then
+ AC_DEFINE(ENABLE_EFI, 1, [Define if EFI support is to be enabled])
+ have_efi=yes
+fi
+AM_CONDITIONAL(ENABLE_EFI, [test "x$have_efi" = "xyes"])
+
+# ------------------------------------------------------------------------------
AC_ARG_WITH(rc-local-script-path-start,
AS_HELP_STRING([--with-rc-local-script-path-start=PATH],
[Path to /etc/rc.local]),
@@ -660,6 +694,18 @@ AC_DEFINE_UNQUOTED(KBD_SETFONT, ["$KBD_SETFONT"], [Path of setfont])
AC_SUBST(KBD_LOADKEYS)
AC_SUBST(KBD_SETFONT)
+AC_ARG_WITH(telinit,
+ AS_HELP_STRING([--with-telinit=PATH],
+ [Path to telinit]),
+ [TELINIT="$withval"],
+ [TELINIT="/lib/upstart/telinit"])
+
+AC_DEFINE_UNQUOTED(TELINIT, ["$TELINIT"], [Path to telinit])
+
+AC_SUBST(TELINIT)
+
+AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
+
# ------------------------------------------------------------------------------
have_myhostname=no
AC_ARG_ENABLE(myhostname, AS_HELP_STRING([--disable-myhostname], [disable nss-myhostname support]))
@@ -682,8 +728,8 @@ AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"])
# ------------------------------------------------------------------------------
AC_ARG_WITH(firmware-path,
AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]],
- [Firmware search path (default=ROOTPREFIX/lib/firmware/updates:ROOTPREFIX/lib/firmware)]),
- [], [with_firmware_path="$rootprefix/lib/firmware/updates:$rootprefix/lib/firmware"])
+ [Firmware search path (default="")]),
+ [], [with_firmware_path=""])
OLD_IFS=$IFS
IFS=:
for i in $with_firmware_path; do
@@ -694,14 +740,17 @@ for i in $with_firmware_path; do
fi
done
IFS=$OLD_IFS
-AC_SUBST([FIRMWARE_PATH], [$FIRMWARE_PATH])
+AC_SUBST(FIRMWARE_PATH)
+AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ])
+AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"])
# ------------------------------------------------------------------------------
AC_ARG_ENABLE([gudev],
AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support @<:@default=enabled@:>@]),
[], [enable_gudev=yes])
-AS_IF([test "x$enable_gudev" = "xyes"], [ PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0]) ])
+AS_IF([test "x$enable_gudev" = "xyes"], [ PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0 gio-2.0]) ])
AM_CONDITIONAL([ENABLE_GUDEV], [test "x$enable_gudev" = "xyes"])
+AS_IF([test "x$enable_gudev" = "xyes"], [ AC_DEFINE(HAVE_GLIB, 1, [Define if glib is available]) ])
# ------------------------------------------------------------------------------
AC_ARG_ENABLE([keymap],
@@ -773,22 +822,31 @@ AC_ARG_WITH([tty-gid],
AC_ARG_WITH([dbuspolicydir],
AS_HELP_STRING([--with-dbuspolicydir=DIR], [D-Bus policy directory]),
[],
- [with_dbuspolicydir=`pkg-config --variable=sysconfdir dbus-1`/dbus-1/system.d])
+ [with_dbuspolicydir=$($PKG_CONFIG --variable=sysconfdir dbus-1)/dbus-1/system.d])
AC_ARG_WITH([dbussessionservicedir],
AS_HELP_STRING([--with-dbussessionservicedir=DIR], [D-Bus session service directory]),
[],
- [with_dbussessionservicedir=`pkg-config --variable=session_bus_services_dir dbus-1`])
+ [with_dbussessionservicedir=$($PKG_CONFIG --variable=session_bus_services_dir dbus-1)])
AC_ARG_WITH([dbussystemservicedir],
AS_HELP_STRING([--with-dbussystemservicedir=DIR], [D-Bus system service directory]),
[],
- [with_dbussystemservicedir=`pkg-config --variable=session_bus_services_dir dbus-1`/../system-services])
+ [with_dbussystemservicedir=$(readlink -m $($PKG_CONFIG --variable=session_bus_services_dir dbus-1)/../system-services)])
AC_ARG_WITH([dbusinterfacedir],
AS_HELP_STRING([--with-dbusinterfacedir=DIR], [D-Bus interface directory]),
[],
- [with_dbusinterfacedir=`pkg-config --variable=session_bus_services_dir dbus-1`/../interfaces])
+ [with_dbusinterfacedir=$(readlink -m $($PKG_CONFIG --variable=session_bus_services_dir dbus-1)/../interfaces)])
+
+AC_ARG_WITH([bashcompletiondir],
+ AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
+ [],
+ [AS_IF([$($PKG_CONFIG --exists bash-completion)], [
+ with_bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)
+ ] , [
+ with_bashcompletiondir=${datadir}/bash-completion/completions
+ ])])
AC_ARG_WITH([rootprefix],
AS_HELP_STRING([--with-rootprefix=DIR], [rootfs directory prefix for config files and kernel modules]),
@@ -817,10 +875,23 @@ AS_IF([test "x${enable_split_usr}" = "xyes"], [
AC_DEFINE(HAVE_SPLIT_USR, 1, [Define if /bin, /sbin aren't symlinks into /usr])
])
+# Work around intltoolize and gtk-doc problems in VPATH builds
+AM_CONDITIONAL([ENABLE_GTK_DOC_TESTS], [test "x$0" = "x./configure"],
+ [Define to do gtk-doc tests])
+AS_IF([test "x$0" != "x./configure"], [
+ AC_SUBST([INTLTOOL_UPDATE], [/bin/true])
+])
+
+AC_ARG_ENABLE(tests,
+ [AC_HELP_STRING([--disable-tests], [disable tests])],
+ enable_tests=$enableval, enable_tests=yes)
+AM_CONDITIONAL(ENABLE_TESTS, [test x$enable_tests = xyes])
+
AC_SUBST([dbuspolicydir], [$with_dbuspolicydir])
AC_SUBST([dbussessionservicedir], [$with_dbussessionservicedir])
AC_SUBST([dbussystemservicedir], [$with_dbussystemservicedir])
AC_SUBST([dbusinterfacedir], [$with_dbusinterfacedir])
+AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
AC_SUBST([pamlibdir], [$with_pamlibdir])
AC_SUBST([rootprefix], [$with_rootprefix])
AC_SUBST([rootlibdir], [$with_rootlibdir])
@@ -861,6 +932,8 @@ AC_MSG_RESULT([
timedated: ${have_timedated}
localed: ${have_localed}
coredump: ${have_coredump}
+ polkit: ${have_polkit}
+ efi: ${have_efi}
kmod: ${have_kmod}
blkid: ${have_blkid}
nss-myhostname: ${have_myhostname}
@@ -892,11 +965,13 @@ AC_MSG_RESULT([
D-Bus session dir: ${with_dbussessionservicedir}
D-Bus system dir: ${with_dbussystemservicedir}
D-Bus interfaces dir: ${with_dbusinterfacedir}
+ Bash completions dir: ${with_bashcompletiondir}
Extra start script: ${RC_LOCAL_SCRIPT_PATH_START}
Extra stop script: ${RC_LOCAL_SCRIPT_PATH_STOP}
+ Debug shell: ${SUSHELL} @ ${DEBUGTTY}
CFLAGS: ${OUR_CFLAGS} ${CFLAGS}
- CPPLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS}
+ CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS}
LDFLAGS: ${OUR_LDFLAGS} ${LDFLAGS}
PYTHON_CFLAGS: ${PYTHON_CFLAGS}
PYTHON_LIBS: ${PYTHON_LIBS}
diff --git a/docs/.gitignore b/docs/.gitignore
index e9fed442c2..f48033d321 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -1 +1,2 @@
/gtk-doc.make
+/html/
diff --git a/docs/gudev/Makefile.am b/docs/gudev/Makefile.am
index 26c8652b0a..659330303b 100644
--- a/docs/gudev/Makefile.am
+++ b/docs/gudev/Makefile.am
@@ -108,6 +108,8 @@ EXTRA_DIST += version.xml.in
# Comment this out if you want your docs-status tested during 'make check'
if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = cd $(top_srcdir)
-TESTS = $(GTKDOC_CHECK)
+if ENABLE_GTK_DOC_TESTS
+#TESTS_ENVIRONMENT = cd $(top_srcdir)
+#TESTS = $(GTKDOC_CHECK)
+endif
endif
diff --git a/docs/libudev/Makefile.am b/docs/libudev/Makefile.am
index 87196e8586..cf9a452e78 100644
--- a/docs/libudev/Makefile.am
+++ b/docs/libudev/Makefile.am
@@ -102,6 +102,8 @@ EXTRA_DIST += version.xml.in
# Comment this out if you want your docs-status tested during 'make check'
if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = cd $(top_srcdir)
-TESTS = $(GTKDOC_CHECK)
+if ENABLE_GTK_DOC_TESTS
+#TESTS_ENVIRONMENT = cd $(top_srcdir)
+#TESTS = $(GTKDOC_CHECK)
+endif
endif
diff --git a/docs/libudev/libudev-sections.txt b/docs/libudev/libudev-sections.txt
index 067a3f5b95..c1546458f4 100644
--- a/docs/libudev/libudev-sections.txt
+++ b/docs/libudev/libudev-sections.txt
@@ -53,6 +53,7 @@ udev_device_get_driver
udev_device_get_devnum
udev_device_get_action
udev_device_get_sysattr_value
+udev_device_set_sysattr_value
udev_device_get_sysattr_list_entry
udev_device_get_seqnum
udev_device_get_usec_since_initialized
diff --git a/hwdb/20-OUI.hwdb b/hwdb/20-OUI.hwdb
index be98198360..72795c6a6d 100644
--- a/hwdb/20-OUI.hwdb
+++ b/hwdb/20-OUI.hwdb
@@ -56,7 +56,7 @@ OUI:0050C2010*
ID_OUI_FROM_DATABASE=Moisture Systems
OUI:0050C2011*
- ID_OUI_FROM_DATABASE=BIHL & Wiedemann GmbH
+ ID_OUI_FROM_DATABASE=Bihl + Wiedemann GmbH
OUI:0050C2012*
ID_OUI_FROM_DATABASE=Floware System Solutions Ltd.
@@ -173,7 +173,7 @@ OUI:0050C2037*
ID_OUI_FROM_DATABASE=E.I.S.M.
OUI:0050C2038*
- ID_OUI_FROM_DATABASE=Ardmona Foods Limites
+ ID_OUI_FROM_DATABASE=Etheira Technologies
OUI:0050C2039*
ID_OUI_FROM_DATABASE=Apex Signal Corp
@@ -1622,7 +1622,7 @@ OUI:0050C2224*
ID_OUI_FROM_DATABASE=PANNOCOM Ltd.
OUI:0050C2225*
- ID_OUI_FROM_DATABASE=Pigeon Point Systems
+ ID_OUI_FROM_DATABASE=Pigeon Point Systems LLC
OUI:0050C2226*
ID_OUI_FROM_DATABASE=Ross Video Limited
@@ -1649,7 +1649,7 @@ OUI:0050C222D*
ID_OUI_FROM_DATABASE=asetek Inc.
OUI:0050C222E*
- ID_OUI_FROM_DATABASE=LORD INGEN IERIE
+ ID_OUI_FROM_DATABASE=LORD INGENIERIE
OUI:0050C222F*
ID_OUI_FROM_DATABASE=HTEC Limited
@@ -1730,7 +1730,7 @@ OUI:0050C2248*
ID_OUI_FROM_DATABASE=Dixtal Biomedica Ind. Com. Ltda.
OUI:0050C2249*
- ID_OUI_FROM_DATABASE=Dipl.-Ing. W. Bender GmbH & Co. KG
+ ID_OUI_FROM_DATABASE=Bender GmbH & Co. KG
OUI:0050C224A*
ID_OUI_FROM_DATABASE=CDS Rail
@@ -1859,7 +1859,7 @@ OUI:0050C2273*
ID_OUI_FROM_DATABASE=Servicios Condumex, S. A. de C. V.
OUI:0050C2274*
- ID_OUI_FROM_DATABASE=Fundación ROBOTIKER
+ ID_OUI_FROM_DATABASE=Fundación TECNALIA Research & Innovation
OUI:0050C2275*
ID_OUI_FROM_DATABASE=Extreme Engineering Solutions
@@ -2090,7 +2090,7 @@ OUI:0050C22C1*
ID_OUI_FROM_DATABASE=Stage Tec Entwicklungsgesellschaft für professionelle Audio
OUI:0050C22C2*
- ID_OUI_FROM_DATABASE=smarteye corporation
+ ID_OUI_FROM_DATABASE=Smarteye Corporation
OUI:0050C22C3*
ID_OUI_FROM_DATABASE=Digital SP Ltd
@@ -2351,7 +2351,7 @@ OUI:0050C2319*
ID_OUI_FROM_DATABASE=Invatron Systems Corp.
OUI:0050C231A*
- ID_OUI_FROM_DATABASE=IN-SNEC ZODIAC
+ ID_OUI_FROM_DATABASE=Zodiak Data Systems
OUI:0050C231B*
ID_OUI_FROM_DATABASE=Datacon
@@ -2606,7 +2606,7 @@ OUI:0050C236E*
ID_OUI_FROM_DATABASE=Minicom Advanced Systems Ltd
OUI:0050C236F*
- ID_OUI_FROM_DATABASE=SOFTHARD Technology Ltd
+ ID_OUI_FROM_DATABASE=XIMEA s.r.o.
OUI:0050C2370*
ID_OUI_FROM_DATABASE=Europe Technologies
@@ -2798,7 +2798,7 @@ OUI:0050C23AE*
ID_OUI_FROM_DATABASE=Hankuk Tapi Computer Co., Ltd
OUI:0050C23AF*
- ID_OUI_FROM_DATABASE=Norbit AS
+ ID_OUI_FROM_DATABASE=Norbit ODM AS
OUI:0050C23B0*
ID_OUI_FROM_DATABASE=Microtarget Tecnologia Digital Ltda.
@@ -3002,7 +3002,7 @@ OUI:0050C23F2*
ID_OUI_FROM_DATABASE=STL GmbH
OUI:0050C23F3*
- ID_OUI_FROM_DATABASE=Hytec Gerätebau GmbH
+ ID_OUI_FROM_DATABASE=Hytec Geraetebau GmbH
OUI:0050C23F4*
ID_OUI_FROM_DATABASE=MC TECHNOLOGY GmbH
@@ -3026,7 +3026,7 @@ OUI:0050C23FA*
ID_OUI_FROM_DATABASE=Tumsan
OUI:0050C23FB*
- ID_OUI_FROM_DATABASE=Pigeon Point Systems
+ ID_OUI_FROM_DATABASE=Pigeon Point Systems LLC
OUI:0050C23FC*
ID_OUI_FROM_DATABASE=Weinberger Deutschland GmbH
@@ -3035,7 +3035,7 @@ OUI:0050C23FD*
ID_OUI_FROM_DATABASE=HARTMANN software GbR
OUI:0050C23FE*
- ID_OUI_FROM_DATABASE=HaiVision Systems Incorporated
+ ID_OUI_FROM_DATABASE=HaiVision Systems Inc
OUI:0050C23FF*
ID_OUI_FROM_DATABASE=Cast Iron Systems
@@ -3149,7 +3149,7 @@ OUI:0050C2423*
ID_OUI_FROM_DATABASE=Power-One Inc.
OUI:0050C2424*
- ID_OUI_FROM_DATABASE=Metrolab Instruments SA
+ ID_OUI_FROM_DATABASE=Metrolab Technology SA
OUI:0050C2425*
ID_OUI_FROM_DATABASE=Pinnacle Technology
@@ -3221,7 +3221,7 @@ OUI:0050C243B*
ID_OUI_FROM_DATABASE=A3IP
OUI:0050C243C*
- ID_OUI_FROM_DATABASE=LaBarge
+ ID_OUI_FROM_DATABASE=Ducommun LaBarge Technologies, Inc
OUI:0050C243D*
ID_OUI_FROM_DATABASE=Ann Arbor Sensor Systems LLC
@@ -3347,7 +3347,7 @@ OUI:0050C2465*
ID_OUI_FROM_DATABASE=PDTS GmbH
OUI:0050C2466*
- ID_OUI_FROM_DATABASE=LoNAP Limited
+ ID_OUI_FROM_DATABASE=LONAP Limited
OUI:0050C2467*
ID_OUI_FROM_DATABASE=United Western Technologies
@@ -3524,7 +3524,7 @@ OUI:0050C24A0*
ID_OUI_FROM_DATABASE=Advanced technologies & Engineering (pty) Ltd
OUI:0050C24A1*
- ID_OUI_FROM_DATABASE=Pigeon Point Systems
+ ID_OUI_FROM_DATABASE=Pigeon Point Systems LLC
OUI:0050C24A2*
ID_OUI_FROM_DATABASE=SPECS GmbH
@@ -3656,7 +3656,7 @@ OUI:0050C24CC*
ID_OUI_FROM_DATABASE=ImpediMed Limited
OUI:0050C24CD*
- ID_OUI_FROM_DATABASE=Adasoft AG
+ ID_OUI_FROM_DATABASE=Bixi Systems AG
OUI:0050C24CE*
ID_OUI_FROM_DATABASE=Open Date Equipment Limited
@@ -3674,7 +3674,7 @@ OUI:0050C24D2*
ID_OUI_FROM_DATABASE=Twoway CATV SERVICE INC.
OUI:0050C24D3*
- ID_OUI_FROM_DATABASE=SOFTIN sp. z o.o.
+ ID_OUI_FROM_DATABASE=ELPROC sp. z o.o.
OUI:0050C24D4*
ID_OUI_FROM_DATABASE=Herholdt Controls srl
@@ -3812,7 +3812,7 @@ OUI:0050C2500*
ID_OUI_FROM_DATABASE=Orenco Systems, Inc.
OUI:0050C2501*
- ID_OUI_FROM_DATABASE=IBEX
+ ID_OUI_FROM_DATABASE=IBEX UK Limited
OUI:0050C2502*
ID_OUI_FROM_DATABASE=Criterion Systems Limited
@@ -3884,7 +3884,7 @@ OUI:0050C2518*
ID_OUI_FROM_DATABASE=Christ Elektronik GmbH
OUI:0050C2519*
- ID_OUI_FROM_DATABASE=DBM, LLC
+ ID_OUI_FROM_DATABASE=DBMCORP, Inc.
OUI:0050C251A*
ID_OUI_FROM_DATABASE=SpeasTech, Inc.
@@ -3956,7 +3956,7 @@ OUI:0050C2530*
ID_OUI_FROM_DATABASE=Innovation, Institute, Inc
OUI:0050C2531*
- ID_OUI_FROM_DATABASE=Orion Technologies, Inc.
+ ID_OUI_FROM_DATABASE=Orion Technologies, Incorporated
OUI:0050C2532*
ID_OUI_FROM_DATABASE=NVE Corporation
@@ -4094,7 +4094,7 @@ OUI:0050C255E*
ID_OUI_FROM_DATABASE=HANZAS ELEKTRONIKA, SIA
OUI:0050C255F*
- ID_OUI_FROM_DATABASE=Broad Reach Engineering
+ ID_OUI_FROM_DATABASE=Moog Broad Reach
OUI:0050C2560*
ID_OUI_FROM_DATABASE=Procon Electronics
@@ -4127,7 +4127,7 @@ OUI:0050C2569*
ID_OUI_FROM_DATABASE=Twinwin Technplogy Co.,Ltd.
OUI:0050C256A*
- ID_OUI_FROM_DATABASE=GRUPO EPELSA S. L.
+ ID_OUI_FROM_DATABASE=Grupo Epelsa S.L.
OUI:0050C256B*
ID_OUI_FROM_DATABASE=Dataton Utvecklings AB
@@ -4175,7 +4175,7 @@ OUI:0050C2579*
ID_OUI_FROM_DATABASE=Gastager Systemtechnik GmbH
OUI:0050C257A*
- ID_OUI_FROM_DATABASE=Pigeon Point Systems
+ ID_OUI_FROM_DATABASE=Pigeon Point Systems LLC
OUI:0050C257B*
ID_OUI_FROM_DATABASE=ptswitch
@@ -4553,7 +4553,7 @@ OUI:0050C25F7*
ID_OUI_FROM_DATABASE=Metrologic Group
OUI:0050C25F8*
- ID_OUI_FROM_DATABASE=Grupo Epelsa s. l.
+ ID_OUI_FROM_DATABASE=Grupo Epelsa S.L.
OUI:0050C25F9*
ID_OUI_FROM_DATABASE=ROTHARY Solutions AG
@@ -4607,7 +4607,7 @@ OUI:0050C2609*
ID_OUI_FROM_DATABASE=Toptech Systems, Inc.
OUI:0050C260A*
- ID_OUI_FROM_DATABASE=Gradual Tecnologia Ltda
+ ID_OUI_FROM_DATABASE=Gradual Tecnologia Ltda.
OUI:0050C260B*
ID_OUI_FROM_DATABASE=Shanghai QianJin Electronic Equipment Co. Ltd.
@@ -4844,7 +4844,7 @@ OUI:0050C2658*
ID_OUI_FROM_DATABASE=OpenPKG GmbH
OUI:0050C2659*
- ID_OUI_FROM_DATABASE=Dorsett's, Incorporated
+ ID_OUI_FROM_DATABASE=Dorsett Technologies, Inc.
OUI:0050C265A*
ID_OUI_FROM_DATABASE=Hisstema AB
@@ -5078,7 +5078,7 @@ OUI:0050C26A7*
ID_OUI_FROM_DATABASE=Hoer GmbH & Co. Industrie-Electronic KG
OUI:0050C26A8*
- ID_OUI_FROM_DATABASE=Intelligent Devices, Inc.
+ ID_OUI_FROM_DATABASE=Delcan Technologies, Inc
OUI:0050C26A9*
ID_OUI_FROM_DATABASE=Armida Technologies Corporation
@@ -5174,7 +5174,7 @@ OUI:0050C26C7*
ID_OUI_FROM_DATABASE=QuickCircuit Ltd.
OUI:0050C26C8*
- ID_OUI_FROM_DATABASE=B&S MEDIA Co., LTD.
+ ID_OUI_FROM_DATABASE=B&S MEDIA CO., LTD.
OUI:0050C26C9*
ID_OUI_FROM_DATABASE=NETAMI
@@ -5375,7 +5375,7 @@ OUI:0050C270A*
ID_OUI_FROM_DATABASE=Efficient Channel Coding
OUI:0050C270B*
- ID_OUI_FROM_DATABASE=B.E.A.R. Solutions (Australasia) Pty Ltd
+ ID_OUI_FROM_DATABASE=B.E.A.R. Solutions (Australasia) Pty, Ltd
OUI:0050C270C*
ID_OUI_FROM_DATABASE=Exertus
@@ -5501,7 +5501,7 @@ OUI:0050C2734*
ID_OUI_FROM_DATABASE=CardioMEMS Inc.
OUI:0050C2735*
- ID_OUI_FROM_DATABASE=Duma Video, Inc.
+ ID_OUI_FROM_DATABASE=Ant Lamp, Inc
OUI:0050C2736*
ID_OUI_FROM_DATABASE=Nika Ltd
@@ -5648,7 +5648,7 @@ OUI:0050C2765*
ID_OUI_FROM_DATABASE=Phytec Messtechnik GmbH
OUI:0050C2766*
- ID_OUI_FROM_DATABASE=EMTEC Elektronische Messtechnik GmbH
+ ID_OUI_FROM_DATABASE=Gutermann Technology GmbH
OUI:0050C2767*
ID_OUI_FROM_DATABASE=EID
@@ -5720,7 +5720,7 @@ OUI:0050C277D*
ID_OUI_FROM_DATABASE=Lincoln Industrial
OUI:0050C277E*
- ID_OUI_FROM_DATABASE=Cominfo, a.s.
+ ID_OUI_FROM_DATABASE=Cominfo Inc.
OUI:0050C277F*
ID_OUI_FROM_DATABASE=ACD Elektronik GmbH
@@ -5852,7 +5852,7 @@ OUI:0050C27A9*
ID_OUI_FROM_DATABASE=Delta Tau Data Systems, Inc
OUI:0050C27AA*
- ID_OUI_FROM_DATABASE=EPEL INDUSTRIAL
+ ID_OUI_FROM_DATABASE=Grupo Epelsa S.L.
OUI:0050C27AB*
ID_OUI_FROM_DATABASE=General Microsystems Sdn Bhd
@@ -6365,7 +6365,7 @@ OUI:0050C2856*
ID_OUI_FROM_DATABASE=CT Company
OUI:0050C2857*
- ID_OUI_FROM_DATABASE=EPEL INDUSTRIAL
+ ID_OUI_FROM_DATABASE=Grupo Epelsa S.L.
OUI:0050C2858*
ID_OUI_FROM_DATABASE=Wireless Acquisition LLC
@@ -6488,7 +6488,7 @@ OUI:0050C287F*
ID_OUI_FROM_DATABASE=Optoelettronica Italia S.r.l.
OUI:0050C2880*
- ID_OUI_FROM_DATABASE=Creation Technologies
+ ID_OUI_FROM_DATABASE=Creation Technologies Chicago
OUI:0050C2881*
ID_OUI_FROM_DATABASE=InnoTrans Communications, Inc.
@@ -6605,7 +6605,7 @@ OUI:0050C28A6*
ID_OUI_FROM_DATABASE=SELCO
OUI:0050C28A7*
- ID_OUI_FROM_DATABASE=EBPW LTD
+ ID_OUI_FROM_DATABASE=PIXEYE LTD
OUI:0050C28A8*
ID_OUI_FROM_DATABASE=ALTEK ELECTRONICS
@@ -6731,7 +6731,7 @@ OUI:0050C28D0*
ID_OUI_FROM_DATABASE=Saia-Burgess Controls AG
OUI:0050C28D1*
- ID_OUI_FROM_DATABASE=my-sen GmbH
+ ID_OUI_FROM_DATABASE=Bachmann Monitoring GmbH
OUI:0050C28D2*
ID_OUI_FROM_DATABASE=TTi Ltd
@@ -6869,7 +6869,7 @@ OUI:0050C28FE*
ID_OUI_FROM_DATABASE=Cross Country Systems AB
OUI:0050C28FF*
- ID_OUI_FROM_DATABASE=Luceat Spa
+ ID_OUI_FROM_DATABASE=Luceat
OUI:0050C2900*
ID_OUI_FROM_DATABASE=Magor Communications Corp
@@ -7121,7 +7121,7 @@ OUI:0050C2952*
ID_OUI_FROM_DATABASE=Tech Fass s.r.o.
OUI:0050C2953*
- ID_OUI_FROM_DATABASE=EPEL Industrial
+ ID_OUI_FROM_DATABASE=Grupo Epelsa S.L.
OUI:0050C2954*
ID_OUI_FROM_DATABASE=Phytec Messtechnik GmbH
@@ -7250,7 +7250,7 @@ OUI:0050C297D*
ID_OUI_FROM_DATABASE=Soehnle Professional GmbH & Co.KG
OUI:0050C297E*
- ID_OUI_FROM_DATABASE=Long Distance Technologies
+ ID_OUI_FROM_DATABASE=RF Industries
OUI:0050C297F*
ID_OUI_FROM_DATABASE=C&I Co.Ltd
@@ -7373,7 +7373,7 @@ OUI:0050C29A6*
ID_OUI_FROM_DATABASE=Metodo2
OUI:0050C29A7*
- ID_OUI_FROM_DATABASE=Thales Communications France
+ ID_OUI_FROM_DATABASE=Thales Communications & Security S.A.
OUI:0050C29A8*
ID_OUI_FROM_DATABASE=DOMIS SA
@@ -7553,7 +7553,7 @@ OUI:0050C29E2*
ID_OUI_FROM_DATABASE=E-ViEWS SAFETY SYSTEMS, INC
OUI:0050C29E3*
- ID_OUI_FROM_DATABASE=beON Automatenmanagement GmbH
+ ID_OUI_FROM_DATABASE=SAI Informationstechnik
OUI:0050C29E4*
ID_OUI_FROM_DATABASE=Pyxis Controls WLL
@@ -7748,7 +7748,7 @@ OUI:0050C2A23*
ID_OUI_FROM_DATABASE=Agility Mfg, Inc.
OUI:0050C2A24*
- ID_OUI_FROM_DATABASE=GRUPO EPELSA s.l.
+ ID_OUI_FROM_DATABASE=Grupo Epelsa S.L.
OUI:0050C2A25*
ID_OUI_FROM_DATABASE=Saia-Burgess Controls AG
@@ -8129,7 +8129,7 @@ OUI:0050C2AA2*
ID_OUI_FROM_DATABASE=ELPA sas
OUI:0050C2AA3*
- ID_OUI_FROM_DATABASE=Peek Traffic/US Traffic
+ ID_OUI_FROM_DATABASE=Peek Traffic Corporation
OUI:0050C2AA4*
ID_OUI_FROM_DATABASE=PSi Printer Systems international GmbH
@@ -8228,7 +8228,7 @@ OUI:0050C2AC3*
ID_OUI_FROM_DATABASE=Diversified Control, Inc.
OUI:0050C2AC4*
- ID_OUI_FROM_DATABASE=Orion Technologies, Inc.
+ ID_OUI_FROM_DATABASE=Orion Technologies, Incorporated
OUI:0050C2AC5*
ID_OUI_FROM_DATABASE=E-Motion System, Inc.
@@ -8510,7 +8510,7 @@ OUI:0050C2B22*
ID_OUI_FROM_DATABASE=FarSite Communications Limited
OUI:0050C2B23*
- ID_OUI_FROM_DATABASE=7 Marsyas Development a.s.
+ ID_OUI_FROM_DATABASE=Ronyo Technologies s.r.o.
OUI:0050C2B24*
ID_OUI_FROM_DATABASE=Teledyne Defence Limited
@@ -8747,7 +8747,7 @@ OUI:0050C2B72*
ID_OUI_FROM_DATABASE=Advanced Desktop Systems Ltd
OUI:0050C2B73*
- ID_OUI_FROM_DATABASE=ARKRAY, Inc.
+ ID_OUI_FROM_DATABASE=ARKRAY, Inc. Kyoto Laboratory
OUI:0050C2B74*
ID_OUI_FROM_DATABASE=AXED Jakubowski Wojciechowski sp.j.
@@ -8789,7 +8789,7 @@ OUI:0050C2B80*
ID_OUI_FROM_DATABASE=iScreen LLC
OUI:0050C2B81*
- ID_OUI_FROM_DATABASE=GHL GmbH & Co.KG
+ ID_OUI_FROM_DATABASE=GHL Advanced Technolgy GmbH & Co. KG
OUI:0050C2B82*
ID_OUI_FROM_DATABASE=TANABIKI Inc.
@@ -8810,7 +8810,7 @@ OUI:0050C2B87*
ID_OUI_FROM_DATABASE=EMAC, Inc.
OUI:0050C2B88*
- ID_OUI_FROM_DATABASE=GIgatronik Köln GmbH
+ ID_OUI_FROM_DATABASE=Gigatronik Köln GmbH
OUI:0050C2B89*
ID_OUI_FROM_DATABASE=ENTEC Electric & Electronic Co., LTD.
@@ -8819,7 +8819,7 @@ OUI:0050C2B8A*
ID_OUI_FROM_DATABASE=MicroPoise
OUI:0050C2B8B*
- ID_OUI_FROM_DATABASE=CSTI BV
+ ID_OUI_FROM_DATABASE=FBB
OUI:0050C2B8C*
ID_OUI_FROM_DATABASE=Keith & Koep GmbH
@@ -9083,7 +9083,7 @@ OUI:0050C2BE3*
ID_OUI_FROM_DATABASE=Jiskoot Ltd
OUI:0050C2BE4*
- ID_OUI_FROM_DATABASE=GRUPO EPELSA S.L.
+ ID_OUI_FROM_DATABASE=Grupo Epelsa S.L.
OUI:0050C2BE5*
ID_OUI_FROM_DATABASE=RF Code, Inc
@@ -9149,7 +9149,7 @@ OUI:0050C2BFA*
ID_OUI_FROM_DATABASE=Rohde & Schwarz Topex SA
OUI:0050C2BFB*
- ID_OUI_FROM_DATABASE=ecs srl
+ ID_OUI_FROM_DATABASE=ECS Srl
OUI:0050C2BFC*
ID_OUI_FROM_DATABASE=Altronix Corporation
@@ -9308,7 +9308,7 @@ OUI:0050C2C31*
ID_OUI_FROM_DATABASE=4D Technology Corporation
OUI:0050C2C32*
- ID_OUI_FROM_DATABASE=Procon Electronics Pty Ltd
+ ID_OUI_FROM_DATABASE=Procon Electronics
OUI:0050C2C34*
ID_OUI_FROM_DATABASE=Kyuhen
@@ -9320,7 +9320,7 @@ OUI:0050C2C36*
ID_OUI_FROM_DATABASE=SET GmbH
OUI:0050C2C37*
- ID_OUI_FROM_DATABASE=BEAR Solutions (Australasia) Pty Ltd
+ ID_OUI_FROM_DATABASE=B.E.A.R. Solutions (Australasia) Pty, Ltd
OUI:0050C2C38*
ID_OUI_FROM_DATABASE=Computer Automation Technology Inc
@@ -9632,7 +9632,7 @@ OUI:0050C2C9E*
ID_OUI_FROM_DATABASE=Rohde & Schwarz Topex SA
OUI:0050C2C9F*
- ID_OUI_FROM_DATABASE=Etherhome
+ ID_OUI_FROM_DATABASE=xxter b.v.
OUI:0050C2CA0*
ID_OUI_FROM_DATABASE=Kiefer technic GmbH
@@ -9755,7 +9755,7 @@ OUI:0050C2CC9*
ID_OUI_FROM_DATABASE=Promess GmbH
OUI:0050C2CCA*
- ID_OUI_FROM_DATABASE=SANMINA-SCI SHENZHEN
+ ID_OUI_FROM_DATABASE=SANMINA SHENZHEN
OUI:0050C2CCB*
ID_OUI_FROM_DATABASE=CaptiveAire Systems Inc.
@@ -9827,7 +9827,7 @@ OUI:0050C2CE1*
ID_OUI_FROM_DATABASE=Satellink Inc.
OUI:0050C2CE2*
- ID_OUI_FROM_DATABASE=Sicon srl
+ ID_OUI_FROM_DATABASE=Sicon s.r.l.
OUI:0050C2CE3*
ID_OUI_FROM_DATABASE=Industrial Automatics Design Bureau
@@ -9881,7 +9881,7 @@ OUI:0050C2CF4*
ID_OUI_FROM_DATABASE=Baudisch Electronic GmbH
OUI:0050C2CF5*
- ID_OUI_FROM_DATABASE=Aircell
+ ID_OUI_FROM_DATABASE=AirCell Inc.
OUI:0050C2CF6*
ID_OUI_FROM_DATABASE=Epec Oy
@@ -9896,7 +9896,7 @@ OUI:0050C2CF9*
ID_OUI_FROM_DATABASE=Elbit Systems of America
OUI:0050C2CFA*
- ID_OUI_FROM_DATABASE=GRUPO EPELSA S. L.
+ ID_OUI_FROM_DATABASE=Grupo Epelsa S.L.
OUI:0050C2CFB*
ID_OUI_FROM_DATABASE=New Embedded Technology
@@ -9911,7 +9911,7 @@ OUI:0050C2CFE*
ID_OUI_FROM_DATABASE=Techleader
OUI:0050C2CFF*
- ID_OUI_FROM_DATABASE=INFRASAFE INCORPORATED
+ ID_OUI_FROM_DATABASE=Infrasafe, Inc.
OUI:0050C2D00*
ID_OUI_FROM_DATABASE=Bodensee Gravitymeter Geosystem GmbH
@@ -10025,7 +10025,7 @@ OUI:0050C2D25*
ID_OUI_FROM_DATABASE=VAF Instruments BV
OUI:0050C2D26*
- ID_OUI_FROM_DATABASE=RCH
+ ID_OUI_FROM_DATABASE=RCH GROUP
OUI:0050C2D27*
ID_OUI_FROM_DATABASE=Fr.Sauter AG
@@ -10178,7 +10178,7 @@ OUI:0050C2D58*
ID_OUI_FROM_DATABASE=NIK-ELEKTRONIKA Ltd
OUI:0050C2D59*
- ID_OUI_FROM_DATABASE=Buanco System A/S
+ ID_OUI_FROM_DATABASE=BUANCO SYSTEM A/S
OUI:0050C2D5A*
ID_OUI_FROM_DATABASE=Embedded Monitoring Systems Ltd.
@@ -10238,7 +10238,7 @@ OUI:0050C2D6C*
ID_OUI_FROM_DATABASE=ALPHA Corporation
OUI:0050C2D6D*
- ID_OUI_FROM_DATABASE=Pro-Digital
+ ID_OUI_FROM_DATABASE=Pro-Digital Industria Eletronica
OUI:0050C2D6E*
ID_OUI_FROM_DATABASE=BC Illumination, Inc.
@@ -10328,7 +10328,7 @@ OUI:0050C2D8A*
ID_OUI_FROM_DATABASE=OptoLink Industria e Comercio Ltda
OUI:0050C2D8B*
- ID_OUI_FROM_DATABASE=Sicon srl
+ ID_OUI_FROM_DATABASE=Sicon s.r.l.
OUI:0050C2D8C*
ID_OUI_FROM_DATABASE=iRphotonics
@@ -10535,7 +10535,7 @@ OUI:0050C2DD0*
ID_OUI_FROM_DATABASE=IDC Solutions Pty Ltd
OUI:0050C2DD1*
- ID_OUI_FROM_DATABASE=Dr. Ing. K. Brankamp System Prozessautomation GmbH
+ ID_OUI_FROM_DATABASE=Brankamp GmbH
OUI:0050C2DD2*
ID_OUI_FROM_DATABASE=Electronic Applications, Inc.
@@ -10574,7 +10574,7 @@ OUI:0050C2DDD*
ID_OUI_FROM_DATABASE=A&A GENERAL SRL
OUI:0050C2DDE*
- ID_OUI_FROM_DATABASE=DRS RSTA
+ ID_OUI_FROM_DATABASE=DRS ITS
OUI:0050C2DDF*
ID_OUI_FROM_DATABASE=Device GmbH
@@ -10607,7 +10607,7 @@ OUI:0050C2DE8*
ID_OUI_FROM_DATABASE=Visual Productions
OUI:0050C2DE9*
- ID_OUI_FROM_DATABASE=Digatale Analoge COMponenten West Electronic Vertrieb GmbH
+ ID_OUI_FROM_DATABASE=Dacom West GmbH
OUI:0050C2DEA*
ID_OUI_FROM_DATABASE=Cerner Corporation
@@ -10631,7 +10631,7 @@ OUI:0050C2DF1*
ID_OUI_FROM_DATABASE=Saia-Burgess Controls AG
OUI:0050C2DF2*
- ID_OUI_FROM_DATABASE=Instrument Concepts
+ ID_OUI_FROM_DATABASE=Ocean Sonics
OUI:0050C2DF3*
ID_OUI_FROM_DATABASE=INSEVIS GmbH
@@ -10703,7 +10703,7 @@ OUI:0050C2E09*
ID_OUI_FROM_DATABASE=ATEME
OUI:0050C2E0A*
- ID_OUI_FROM_DATABASE=Sicon srl
+ ID_OUI_FROM_DATABASE=Sicon s.r.l.
OUI:0050C2E0B*
ID_OUI_FROM_DATABASE=Seartech
@@ -10727,7 +10727,7 @@ OUI:0050C2E11*
ID_OUI_FROM_DATABASE=RF Neulink
OUI:0050C2E12*
- ID_OUI_FROM_DATABASE=Innolex
+ ID_OUI_FROM_DATABASE=Kago Electronics BV
OUI:0050C2E13*
ID_OUI_FROM_DATABASE=Automation Assist Japan Company
@@ -10850,7 +10850,7 @@ OUI:0050C2E3B*
ID_OUI_FROM_DATABASE=Nanosolution Inc.
OUI:0050C2E3C*
- ID_OUI_FROM_DATABASE=GRUPO EPELSA S.L.
+ ID_OUI_FROM_DATABASE=Grupo Epelsa S.L.
OUI:0050C2E3D*
ID_OUI_FROM_DATABASE=Baudisch Electronic GmbH
@@ -10859,7 +10859,7 @@ OUI:0050C2E3E*
ID_OUI_FROM_DATABASE=Monnit Corp.
OUI:0050C2E3F*
- ID_OUI_FROM_DATABASE=VISITO S.R.L. IT10346660011
+ ID_OUI_FROM_DATABASE=VISITO S.R.L.
OUI:0050C2E40*
ID_OUI_FROM_DATABASE=Ecrin Systems
@@ -10994,7 +10994,7 @@ OUI:0050C2E6B*
ID_OUI_FROM_DATABASE=Sika Technology AG
OUI:0050C2E6C*
- ID_OUI_FROM_DATABASE=SAMSUNG LED Co.,Ltd.
+ ID_OUI_FROM_DATABASE=SAMSUNG Electronics Co.,Ltd.(LED Division)
OUI:0050C2E6D*
ID_OUI_FROM_DATABASE=Allerta Inc
@@ -11018,7 +11018,7 @@ OUI:0050C2E74*
ID_OUI_FROM_DATABASE=Will corp.
OUI:0050C2E75*
- ID_OUI_FROM_DATABASE=FSM Elektronik GmbH
+ ID_OUI_FROM_DATABASE=FSM AG
OUI:0050C2E76*
ID_OUI_FROM_DATABASE=Embedded Solution Bank Co., Ltd.
@@ -11249,7 +11249,7 @@ OUI:0050C2EC1*
ID_OUI_FROM_DATABASE=ANT Group s.r.l
OUI:0050C2EC2*
- ID_OUI_FROM_DATABASE=Ixonos Finland Ltd
+ ID_OUI_FROM_DATABASE=Ixonos Plc
OUI:0050C2EC3*
ID_OUI_FROM_DATABASE=Aplex Technology Inc.
@@ -11342,7 +11342,7 @@ OUI:0050C2EE0*
ID_OUI_FROM_DATABASE=osf Hansjuergen Meier GmbH & Co. KG
OUI:0050C2EE1*
- ID_OUI_FROM_DATABASE=Procon Electronics Pty Ltd
+ ID_OUI_FROM_DATABASE=Procon Electronics
OUI:0050C2EE2*
ID_OUI_FROM_DATABASE=System Industrie Electronic GmbH
@@ -11423,7 +11423,7 @@ OUI:0050C2EFB*
ID_OUI_FROM_DATABASE=Norbit ODM AS
OUI:0050C2EFD*
- ID_OUI_FROM_DATABASE=Sanmina-SCI
+ ID_OUI_FROM_DATABASE=Sanmina
OUI:0050C2EFE*
ID_OUI_FROM_DATABASE=PLR Information Systems Ltd.
@@ -11537,7 +11537,7 @@ OUI:0050C2F22*
ID_OUI_FROM_DATABASE=Harland Simon plc
OUI:0050C2F23*
- ID_OUI_FROM_DATABASE=Electro Motive Diesel
+ ID_OUI_FROM_DATABASE=Electro-Motive Diesel
OUI:0050C2F24*
ID_OUI_FROM_DATABASE=CT Company
@@ -11591,7 +11591,7 @@ OUI:0050C2F34*
ID_OUI_FROM_DATABASE=Sequip S+E GmbH
OUI:0050C2F35*
- ID_OUI_FROM_DATABASE=GRUPO EPELSA S.L.
+ ID_OUI_FROM_DATABASE=Grupo Epelsa S.L.
OUI:0050C2F36*
ID_OUI_FROM_DATABASE=Visitech AS
@@ -11849,7 +11849,7 @@ OUI:0050C2F8A*
ID_OUI_FROM_DATABASE=EMAC, Inc.
OUI:0050C2F8B*
- ID_OUI_FROM_DATABASE=Comlet Verteilte Systeme GmbH
+ ID_OUI_FROM_DATABASE=comlet Verteilte Systeme GmbH
OUI:0050C2F8C*
ID_OUI_FROM_DATABASE=UBSTechnology Co., Ltd
@@ -11885,7 +11885,7 @@ OUI:0050C2F96*
ID_OUI_FROM_DATABASE=JLCooper Electronics
OUI:0050C2F97*
- ID_OUI_FROM_DATABASE=Sicon srl
+ ID_OUI_FROM_DATABASE=Sicon s.r.l.
OUI:0050C2F98*
ID_OUI_FROM_DATABASE=Infotech North America
@@ -11996,7 +11996,7 @@ OUI:0050C2FBC*
ID_OUI_FROM_DATABASE=Leroy Somer
OUI:0050C2FBD*
- ID_OUI_FROM_DATABASE=FHF Funke + Huster Fernsig GmbH
+ ID_OUI_FROM_DATABASE=FHF Funke+Huster Fernsig GmbH
OUI:0050C2FBE*
ID_OUI_FROM_DATABASE=senTec Elektronik GmbH
@@ -12547,6 +12547,375 @@ OUI:40D855074*
OUI:40D855075*
ID_OUI_FROM_DATABASE=Teraflops
+OUI:40D855076*
+ ID_OUI_FROM_DATABASE=INTERNET PROTOCOLO LOGICA SL
+
+OUI:40D855077*
+ ID_OUI_FROM_DATABASE=TOEC TECHNOLOGY CO.,LTD
+
+OUI:40D855078*
+ ID_OUI_FROM_DATABASE=NACHI-FUJIKOSHI CORP
+
+OUI:40D855079*
+ ID_OUI_FROM_DATABASE=DelfiSolutions A/S
+
+OUI:40D85507A*
+ ID_OUI_FROM_DATABASE=4embedded
+
+OUI:40D85507B*
+ ID_OUI_FROM_DATABASE=IPS Technology Limited
+
+OUI:40D85507C*
+ ID_OUI_FROM_DATABASE=Agramkow Fluid Systems A/S
+
+OUI:40D85507D*
+ ID_OUI_FROM_DATABASE=Wuxi SiNeng New Energy Co., Ltd.
+
+OUI:40D85507E*
+ ID_OUI_FROM_DATABASE=TESCOM CORPORATION
+
+OUI:40D85507F*
+ ID_OUI_FROM_DATABASE=Wheatstone Corporation
+
+OUI:40D855080*
+ ID_OUI_FROM_DATABASE=Honeywell
+
+OUI:40D855081*
+ ID_OUI_FROM_DATABASE=Sicon srl
+
+OUI:40D855082*
+ ID_OUI_FROM_DATABASE=ard sa
+
+OUI:40D855083*
+ ID_OUI_FROM_DATABASE=DELOPT
+
+OUI:40D855084*
+ ID_OUI_FROM_DATABASE=Papendorf Software Engineering GmbH
+
+OUI:40D855085*
+ ID_OUI_FROM_DATABASE=Peek Traffic Corporation
+
+OUI:40D855086*
+ ID_OUI_FROM_DATABASE=DSP DESIGN
+
+OUI:40D855087*
+ ID_OUI_FROM_DATABASE=Bestel China
+
+OUI:40D855088*
+ ID_OUI_FROM_DATABASE=JEL SYSTEM CO., LTD.
+
+OUI:40D855089*
+ ID_OUI_FROM_DATABASE=WUHAN XINGTUXINKE ELECTRONIC CO.,LTD
+
+OUI:40D85508A*
+ ID_OUI_FROM_DATABASE=Leder Elektronik Design
+
+OUI:40D85508B*
+ ID_OUI_FROM_DATABASE=MeshWorks Wireless Oy
+
+OUI:40D85508C*
+ ID_OUI_FROM_DATABASE=Magnescale Co.,Ltd
+
+OUI:40D85508D*
+ ID_OUI_FROM_DATABASE=Boehme Nachrichtentechnik
+
+OUI:40D85508E*
+ ID_OUI_FROM_DATABASE=Lyngsoe Systems
+
+OUI:40D85508F*
+ ID_OUI_FROM_DATABASE=Excelitas
+
+OUI:40D855090*
+ ID_OUI_FROM_DATABASE=Axxess Identification Ltd
+
+OUI:40D855091*
+ ID_OUI_FROM_DATABASE=KDT
+
+OUI:40D855092*
+ ID_OUI_FROM_DATABASE=Wasserbauer GmbH
+
+OUI:40D855093*
+ ID_OUI_FROM_DATABASE=Sentry 360 Security
+
+OUI:40D855094*
+ ID_OUI_FROM_DATABASE=Nomad Digital Limited
+
+OUI:40D855095*
+ ID_OUI_FROM_DATABASE=Heart Force Medical
+
+OUI:40D855096*
+ ID_OUI_FROM_DATABASE=Comtel Electronics GmbH
+
+OUI:40D855097*
+ ID_OUI_FROM_DATABASE=Burton Technical Services LLC
+
+OUI:40D855098*
+ ID_OUI_FROM_DATABASE=Dave Srl
+
+OUI:40D855099*
+ ID_OUI_FROM_DATABASE=idcell co.ltd
+
+OUI:40D85509A*
+ ID_OUI_FROM_DATABASE=CoherentPlus Sdn Bhd
+
+OUI:40D85509B*
+ ID_OUI_FROM_DATABASE=Tokyo Denki Gijutsu Kogyo
+
+OUI:40D85509C*
+ ID_OUI_FROM_DATABASE=Keyware Solutions Inc.
+
+OUI:40D85509D*
+ ID_OUI_FROM_DATABASE=EMAC, Inc.
+
+OUI:40D85509E*
+ ID_OUI_FROM_DATABASE=NanoPulse, Inc.
+
+OUI:40D85509F*
+ ID_OUI_FROM_DATABASE=Bascules Robbe nv
+
+OUI:40D8550A0*
+ ID_OUI_FROM_DATABASE=Quantronix, Inc.
+
+OUI:40D8550A1*
+ ID_OUI_FROM_DATABASE=ADVALY SYSTEM Inc.
+
+OUI:40D8550A2*
+ ID_OUI_FROM_DATABASE=Xemex NV
+
+OUI:40D8550A3*
+ ID_OUI_FROM_DATABASE=Telefrank GmbH
+
+OUI:40D8550A4*
+ ID_OUI_FROM_DATABASE=Resch Electronic Innovation GmbH
+
+OUI:40D8550A5*
+ ID_OUI_FROM_DATABASE=WooshCom Corporation
+
+OUI:40D8550A6*
+ ID_OUI_FROM_DATABASE=Alumbra Produtos Elétricos e Eletrônicos Ltda
+
+OUI:40D8550A7*
+ ID_OUI_FROM_DATABASE=First Design System Inc.
+
+OUI:40D8550A8*
+ ID_OUI_FROM_DATABASE=Baudisch Electronic GmbH
+
+OUI:40D8550A9*
+ ID_OUI_FROM_DATABASE=Apantac LLC
+
+OUI:40D8550AA*
+ ID_OUI_FROM_DATABASE=Thermal Imaging Radar, LLC
+
+OUI:40D8550AB*
+ ID_OUI_FROM_DATABASE=Enel doo Belgrade
+
+OUI:40D8550AC*
+ ID_OUI_FROM_DATABASE=Fraunhofer HHI
+
+OUI:40D8550AD*
+ ID_OUI_FROM_DATABASE=Space Micro
+
+OUI:40D8550AE*
+ ID_OUI_FROM_DATABASE=GENERAL DYNAMICS C4 SYSTEMS
+
+OUI:40D8550AF*
+ ID_OUI_FROM_DATABASE=EnVerv Inc.
+
+OUI:40D8550B0*
+ ID_OUI_FROM_DATABASE=Micrologic
+
+OUI:40D8550B1*
+ ID_OUI_FROM_DATABASE=Nanjing TIANSU Automation Control System Co., Ltd.
+
+OUI:40D8550B2*
+ ID_OUI_FROM_DATABASE=Ever Trend Technology Development Limited
+
+OUI:40D8550B3*
+ ID_OUI_FROM_DATABASE=T.W.S. srl
+
+OUI:40D8550B4*
+ ID_OUI_FROM_DATABASE=MITSUBISHI ELECTRIC SYSTEM & SERVICE CO.,LTD.
+
+OUI:40D8550B5*
+ ID_OUI_FROM_DATABASE=DATA SHARING CONSULTING
+
+OUI:40D8550B6*
+ ID_OUI_FROM_DATABASE=Telvent
+
+OUI:40D8550B7*
+ ID_OUI_FROM_DATABASE=ACD Elektronik GmbH
+
+OUI:40D8550B8*
+ ID_OUI_FROM_DATABASE=Ferlin Trading BV
+
+OUI:40D8550B9*
+ ID_OUI_FROM_DATABASE=WxBR Sistemas de Telecomunicacoes Ltda
+
+OUI:40D8550BA*
+ ID_OUI_FROM_DATABASE=PCH Engineering A/S
+
+OUI:40D8550BB*
+ ID_OUI_FROM_DATABASE=Whiptail
+
+OUI:40D8550BC*
+ ID_OUI_FROM_DATABASE=Aplex Technology Inc.
+
+OUI:40D8550BD*
+ ID_OUI_FROM_DATABASE=iCOGNIZE GmbH
+
+OUI:40D8550BE*
+ ID_OUI_FROM_DATABASE=Manufacturing System Insights Inc
+
+OUI:40D8550BF*
+ ID_OUI_FROM_DATABASE=Shenzhen SETEC Power Co.,Ltd
+
+OUI:40D8550C0*
+ ID_OUI_FROM_DATABASE=ACT
+
+OUI:40D8550C1*
+ ID_OUI_FROM_DATABASE=Xepto Computing Inc
+
+OUI:40D8550C2*
+ ID_OUI_FROM_DATABASE=SC Techswarm SRL
+
+OUI:40D8550C3*
+ ID_OUI_FROM_DATABASE=APG CASH DRAWER
+
+OUI:40D8550C4*
+ ID_OUI_FROM_DATABASE=Inspired Systems
+
+OUI:40D8550C5*
+ ID_OUI_FROM_DATABASE=M.M. Elektrolab
+
+OUI:40D8550C6*
+ ID_OUI_FROM_DATABASE=comtime GmbH
+
+OUI:40D8550C7*
+ ID_OUI_FROM_DATABASE=insensiv GmbH
+
+OUI:40D8550C8*
+ ID_OUI_FROM_DATABASE=Mettler Toledo Hispeed
+
+OUI:40D8550C9*
+ ID_OUI_FROM_DATABASE=QUANTAFLOW
+
+OUI:40D8550CA*
+ ID_OUI_FROM_DATABASE=NEUTRIK AG
+
+OUI:40D8550CB*
+ ID_OUI_FROM_DATABASE=ReliOn Inc
+
+OUI:40D8550CC*
+ ID_OUI_FROM_DATABASE=ATEME
+
+OUI:40D8550CD*
+ ID_OUI_FROM_DATABASE=Logical Product
+
+OUI:40D8550CE*
+ ID_OUI_FROM_DATABASE=EST Analytical
+
+OUI:40D8550CF*
+ ID_OUI_FROM_DATABASE=Clark-MXR, Inc.
+
+OUI:40D8550D0*
+ ID_OUI_FROM_DATABASE=Icraft Oy
+
+OUI:40D8550D1*
+ ID_OUI_FROM_DATABASE=Cantada Inc
+
+OUI:40D8550D2*
+ ID_OUI_FROM_DATABASE=ELAN SYSTEMS
+
+OUI:40D8550D3*
+ ID_OUI_FROM_DATABASE=LECO Corporation
+
+OUI:40D8550D4*
+ ID_OUI_FROM_DATABASE=Mitsubishi Heavy Industries, Ltd.
+
+OUI:40D8550D5*
+ ID_OUI_FROM_DATABASE=Shimizu Electric Co., Ltd.
+
+OUI:40D8550D6*
+ ID_OUI_FROM_DATABASE=deskontrol electronics
+
+OUI:40D8550D7*
+ ID_OUI_FROM_DATABASE=Avant Technologies,Inc
+
+OUI:40D8550D8*
+ ID_OUI_FROM_DATABASE=NEXT! s.c. S.Piela B.Dryja
+
+OUI:40D8550D9*
+ ID_OUI_FROM_DATABASE=YUKO ELECTRIC CO.,LTD
+
+OUI:40D8550DA*
+ ID_OUI_FROM_DATABASE=Devialet SA
+
+OUI:40D8550DB*
+ ID_OUI_FROM_DATABASE=Top Connect OU
+
+OUI:40D8550DC*
+ ID_OUI_FROM_DATABASE=NVS Technologies Inc
+
+OUI:40D8550DD*
+ ID_OUI_FROM_DATABASE=Embed Limited
+
+OUI:40D8550DE*
+ ID_OUI_FROM_DATABASE=Vishay Nobel AB
+
+OUI:40D8550DF*
+ ID_OUI_FROM_DATABASE=Xadi Inc
+
+OUI:40D8550E0*
+ ID_OUI_FROM_DATABASE=Richter
+
+OUI:40D8550E1*
+ ID_OUI_FROM_DATABASE=STV Electronic GmbH
+
+OUI:40D8550E2*
+ ID_OUI_FROM_DATABASE=Keocko International
+
+OUI:40D8550E3*
+ ID_OUI_FROM_DATABASE=Medigus Ltd
+
+OUI:40D8550E4*
+ ID_OUI_FROM_DATABASE=ARAGO SYSTEMS
+
+OUI:40D8550E5*
+ ID_OUI_FROM_DATABASE=Triton Electronics LTD
+
+OUI:40D8550E6*
+ ID_OUI_FROM_DATABASE=Kyoritsu Electric Corp.
+
+OUI:40D8550E7*
+ ID_OUI_FROM_DATABASE=LIGHTSTAR
+
+OUI:40D8550E8*
+ ID_OUI_FROM_DATABASE=HEITEC AG
+
+OUI:40D8550E9*
+ ID_OUI_FROM_DATABASE=HAMEG GmbH
+
+OUI:40D8550EA*
+ ID_OUI_FROM_DATABASE=A-Z-E
+
+OUI:40D8550EB*
+ ID_OUI_FROM_DATABASE=WANTECH Networks
+
+OUI:40D8550EC*
+ ID_OUI_FROM_DATABASE=Sentry 360 Security
+
+OUI:40D8550ED*
+ ID_OUI_FROM_DATABASE=IntelliDesign Pty Ltd
+
+OUI:40D8550EE*
+ ID_OUI_FROM_DATABASE=Siegmar Zander HuSWare
+
+OUI:40D8550EF*
+ ID_OUI_FROM_DATABASE=GeneSys Elektronik GmbH
+
+OUI:40D8550F0*
+ ID_OUI_FROM_DATABASE=Redwood Systems
+
OUI:000000*
ID_OUI_FROM_DATABASE=XEROX CORPORATION
@@ -13388,7 +13757,7 @@ OUI:000119*
ID_OUI_FROM_DATABASE=RTUnet (Australia)
OUI:00011A*
- ID_OUI_FROM_DATABASE=EEH DataLink GmbH
+ ID_OUI_FROM_DATABASE=Hoffmann und Burmeister GbR
OUI:00011B*
ID_OUI_FROM_DATABASE=Unizone Technologies, Inc.
@@ -13715,7 +14084,7 @@ OUI:000186*
ID_OUI_FROM_DATABASE=Uwe Disch
OUI:000187*
- ID_OUI_FROM_DATABASE=i2SE GmbH
+ ID_OUI_FROM_DATABASE=I2SE GmbH
OUI:000188*
ID_OUI_FROM_DATABASE=LXCO Technologies ag
@@ -14057,7 +14426,7 @@ OUI:0001F7*
ID_OUI_FROM_DATABASE=Image Display Systems, Inc.
OUI:0001F8*
- ID_OUI_FROM_DATABASE=Adherent Systems, Ltd.
+ ID_OUI_FROM_DATABASE=Texio Technology Corporation
OUI:0001F9*
ID_OUI_FROM_DATABASE=TeraGlobal Communications Corp.
@@ -14828,7 +15197,7 @@ OUI:0002F8*
ID_OUI_FROM_DATABASE=SEAKR Engineering, Inc.
OUI:0002F9*
- ID_OUI_FROM_DATABASE=Mimos Semiconductor SDN BHD
+ ID_OUI_FROM_DATABASE=MIMOS Berhad
OUI:0002FA*
ID_OUI_FROM_DATABASE=DX Antenna Co., Ltd.
@@ -15653,7 +16022,7 @@ OUI:00040B*
ID_OUI_FROM_DATABASE=3com Europe Ltd.
OUI:00040C*
- ID_OUI_FROM_DATABASE=KANNO Work's Ltd.
+ ID_OUI_FROM_DATABASE=Kanno Works, Ltd.
OUI:00040D*
ID_OUI_FROM_DATABASE=Avaya, Inc.
@@ -15902,7 +16271,7 @@ OUI:00045E*
ID_OUI_FROM_DATABASE=PolyTrax Information Technology AG
OUI:00045F*
- ID_OUI_FROM_DATABASE=Evalue Technology, Inc.
+ ID_OUI_FROM_DATABASE=Avalue Technology, Inc.
OUI:000460*
ID_OUI_FROM_DATABASE=Knilink Technology, Inc.
@@ -16763,7 +17132,7 @@ OUI:00057F*
ID_OUI_FROM_DATABASE=Acqis Technology
OUI:000580*
- ID_OUI_FROM_DATABASE=Fibrolan Ltd.
+ ID_OUI_FROM_DATABASE=FibroLAN Ltd.
OUI:000581*
ID_OUI_FROM_DATABASE=Snell
@@ -16814,7 +17183,7 @@ OUI:000590*
ID_OUI_FROM_DATABASE=Swissvoice Ltd.
OUI:000591*
- ID_OUI_FROM_DATABASE=Active Silicon Ltd.
+ ID_OUI_FROM_DATABASE=Active Silicon Ltd
OUI:000592*
ID_OUI_FROM_DATABASE=Pultek Corp.
@@ -17021,7 +17390,7 @@ OUI:0005D5*
ID_OUI_FROM_DATABASE=Speedcom Wireless
OUI:0005D6*
- ID_OUI_FROM_DATABASE=Titan Wireless
+ ID_OUI_FROM_DATABASE=L-3 Linkabit
OUI:0005D7*
ID_OUI_FROM_DATABASE=Vista Imaging, Inc.
@@ -17108,13 +17477,13 @@ OUI:0005F2*
ID_OUI_FROM_DATABASE=Power R, Inc.
OUI:0005F3*
- ID_OUI_FROM_DATABASE=Weboyn
+ ID_OUI_FROM_DATABASE=Webyn
OUI:0005F4*
ID_OUI_FROM_DATABASE=System Base Co., Ltd.
OUI:0005F5*
- ID_OUI_FROM_DATABASE=OYO Geospace
+ ID_OUI_FROM_DATABASE=Geospace Technologies
OUI:0005F6*
ID_OUI_FROM_DATABASE=Young Chang Co. Ltd.
@@ -17324,10 +17693,10 @@ OUI:00063A*
ID_OUI_FROM_DATABASE=Dura Micro, Inc.
OUI:00063B*
- ID_OUI_FROM_DATABASE=Arcturus Networks, Inc.
+ ID_OUI_FROM_DATABASE=Arcturus Networks Inc.
OUI:00063C*
- ID_OUI_FROM_DATABASE=Intrinsyc Europe Ltd
+ ID_OUI_FROM_DATABASE=Intrinsyc Software International Inc.
OUI:00063D*
ID_OUI_FROM_DATABASE=Microwave Data Systems Inc.
@@ -17603,7 +17972,7 @@ OUI:000697*
ID_OUI_FROM_DATABASE=R & D Center
OUI:000698*
- ID_OUI_FROM_DATABASE=egnite Software GmbH
+ ID_OUI_FROM_DATABASE=egnite GmbH
OUI:000699*
ID_OUI_FROM_DATABASE=Vida Design Co.
@@ -17645,7 +18014,7 @@ OUI:0006A5*
ID_OUI_FROM_DATABASE=PINON Corp.
OUI:0006A6*
- ID_OUI_FROM_DATABASE=Artistic Licence (UK) Ltd
+ ID_OUI_FROM_DATABASE=Artistic Licence Engineering Ltd
OUI:0006A7*
ID_OUI_FROM_DATABASE=Primarion
@@ -17888,7 +18257,7 @@ OUI:0006F6*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
OUI:0006F7*
- ID_OUI_FROM_DATABASE=ALPS Electric Co,. Ltd.
+ ID_OUI_FROM_DATABASE=ALPS Co,. Ltd.
OUI:0006F8*
ID_OUI_FROM_DATABASE=CPU Technology, Inc.
@@ -17927,7 +18296,7 @@ OUI:000703*
ID_OUI_FROM_DATABASE=CSEE Transport
OUI:000704*
- ID_OUI_FROM_DATABASE=ALPS Electric Co,. Ltd.
+ ID_OUI_FROM_DATABASE=ALPS Co,. Ltd.
OUI:000705*
ID_OUI_FROM_DATABASE=Endress & Hauser GmbH & Co
@@ -17996,7 +18365,7 @@ OUI:00071A*
ID_OUI_FROM_DATABASE=Finedigital Inc.
OUI:00071B*
- ID_OUI_FROM_DATABASE=CDV Americas Ltd
+ ID_OUI_FROM_DATABASE=CDVI Americas Ltd
OUI:00071C*
ID_OUI_FROM_DATABASE=AT&T Fixed Wireless Services
@@ -18062,7 +18431,7 @@ OUI:000730*
ID_OUI_FROM_DATABASE=Hutchison OPTEL Telecom Technology Co., Ltd.
OUI:000731*
- ID_OUI_FROM_DATABASE=Ophir-Spiricon Inc
+ ID_OUI_FROM_DATABASE=Ophir-Spiricon LLC
OUI:000732*
ID_OUI_FROM_DATABASE=AAEON Technology Inc.
@@ -18107,7 +18476,7 @@ OUI:00073F*
ID_OUI_FROM_DATABASE=Woojyun Systec Co., Ltd.
OUI:000740*
- ID_OUI_FROM_DATABASE=Buffalo, Inc
+ ID_OUI_FROM_DATABASE=Buffalo Inc.
OUI:000741*
ID_OUI_FROM_DATABASE=Sierra Automated Systems
@@ -18170,7 +18539,7 @@ OUI:000754*
ID_OUI_FROM_DATABASE=Xyterra Computing, Inc.
OUI:000755*
- ID_OUI_FROM_DATABASE=Lafon SA
+ ID_OUI_FROM_DATABASE=Lafon
OUI:000756*
ID_OUI_FROM_DATABASE=Juyoung Telecom
@@ -18206,7 +18575,7 @@ OUI:000760*
ID_OUI_FROM_DATABASE=TOMIS Information & Telecom Corp.
OUI:000761*
- ID_OUI_FROM_DATABASE=Logitech SA
+ ID_OUI_FROM_DATABASE=Logitech Europe SA
OUI:000762*
ID_OUI_FROM_DATABASE=Group Sense Limited
@@ -18545,7 +18914,7 @@ OUI:0007D1*
ID_OUI_FROM_DATABASE=Spectrum Signal Processing Inc.
OUI:0007D2*
- ID_OUI_FROM_DATABASE=Logopak Systeme
+ ID_OUI_FROM_DATABASE=Logopak Systeme GmbH & Co. KG
OUI:0007D3*
ID_OUI_FROM_DATABASE=Stork Prints B.V.
@@ -18662,7 +19031,7 @@ OUI:0007F8*
ID_OUI_FROM_DATABASE=ITDevices, Inc.
OUI:0007F9*
- ID_OUI_FROM_DATABASE=Phonetics, Inc.
+ ID_OUI_FROM_DATABASE=Sensaphone
OUI:0007FA*
ID_OUI_FROM_DATABASE=ITT Co., Ltd.
@@ -18791,7 +19160,7 @@ OUI:000823*
ID_OUI_FROM_DATABASE=Texa Corp.
OUI:000824*
- ID_OUI_FROM_DATABASE=Copitrak Inc
+ ID_OUI_FROM_DATABASE=Nuance Document Imaging
OUI:000825*
ID_OUI_FROM_DATABASE=Acme Packet
@@ -19124,7 +19493,7 @@ OUI:0008AD*
ID_OUI_FROM_DATABASE=Toyo-Linx Co., Ltd.
OUI:0008AE*
- ID_OUI_FROM_DATABASE=PacketFront International AB
+ ID_OUI_FROM_DATABASE=PacketFront Network Products AB
OUI:0008AF*
ID_OUI_FROM_DATABASE=Novatec Corporation
@@ -19235,7 +19604,7 @@ OUI:0008D2*
ID_OUI_FROM_DATABASE=ZOOM Networks Inc.
OUI:0008D3*
- ID_OUI_FROM_DATABASE=Hercules Technologies S.A.
+ ID_OUI_FROM_DATABASE=Hercules Technologies S.A.S.
OUI:0008D4*
ID_OUI_FROM_DATABASE=IneoQuest Technologies, Inc
@@ -19340,7 +19709,7 @@ OUI:0008F5*
ID_OUI_FROM_DATABASE=YESTECHNOLOGY Co.,Ltd.
OUI:0008F6*
- ID_OUI_FROM_DATABASE=Sumitomo Electric System Solutions Co.,Ltd.
+ ID_OUI_FROM_DATABASE=Sumitomo Electric System Solutions Co., Ltd.
OUI:0008F7*
ID_OUI_FROM_DATABASE=Hitachi Ltd, Semiconductor & Integrated Circuits Gr
@@ -19532,7 +19901,7 @@ OUI:000935*
ID_OUI_FROM_DATABASE=Sandvine Incorporated
OUI:000936*
- ID_OUI_FROM_DATABASE=Ipetronik GmbH & Co.KG
+ ID_OUI_FROM_DATABASE=Ipetronik GmbH & Co. KG
OUI:000937*
ID_OUI_FROM_DATABASE=Inventec Appliance Corp
@@ -19943,7 +20312,7 @@ OUI:0009BE*
ID_OUI_FROM_DATABASE=Mamiya-OP Co.,Ltd.
OUI:0009BF*
- ID_OUI_FROM_DATABASE=Nintendo Co.,Ltd.
+ ID_OUI_FROM_DATABASE=Nintendo Co., Ltd.
OUI:0009C0*
ID_OUI_FROM_DATABASE=6WIND
@@ -20399,7 +20768,7 @@ OUI:000A57*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company - Standards
OUI:000A58*
- ID_OUI_FROM_DATABASE=Ingenieur-Büro Freyer & Siegel
+ ID_OUI_FROM_DATABASE=Freyer & Siegel Elektronik GmbH & Co. KG
OUI:000A59*
ID_OUI_FROM_DATABASE=HW server
@@ -21194,7 +21563,7 @@ OUI:000B61*
ID_OUI_FROM_DATABASE=Friedrich Lütze GmbH & Co. KG
OUI:000B62*
- ID_OUI_FROM_DATABASE=Ingenieurbüro für Elektronikdesign Ingo Mohnen
+ ID_OUI_FROM_DATABASE=ib-mohnen KG
OUI:000B63*
ID_OUI_FROM_DATABASE=Kaleidescape
@@ -21266,7 +21635,7 @@ OUI:000B79*
ID_OUI_FROM_DATABASE=X-COM, Inc.
OUI:000B7A*
- ID_OUI_FROM_DATABASE=Wave Science Inc.
+ ID_OUI_FROM_DATABASE=L-3 Linkabit
OUI:000B7B*
ID_OUI_FROM_DATABASE=Test-Um Inc.
@@ -21332,7 +21701,7 @@ OUI:000B8F*
ID_OUI_FROM_DATABASE=AKITA ELECTRONICS SYSTEMS CO.,LTD.
OUI:000B90*
- ID_OUI_FROM_DATABASE=Adva Optical Networking Inc.
+ ID_OUI_FROM_DATABASE=ADVA Optical Networking Ltd.
OUI:000B91*
ID_OUI_FROM_DATABASE=Aglaia Gesellschaft für Bildverarbeitung und Kommunikation mbH
@@ -21587,7 +21956,7 @@ OUI:000BE4*
ID_OUI_FROM_DATABASE=Hosiden Corporation
OUI:000BE5*
- ID_OUI_FROM_DATABASE=HIMS Korea Co., Ltd.
+ ID_OUI_FROM_DATABASE=HIMS International Corporation
OUI:000BE6*
ID_OUI_FROM_DATABASE=Datel Electronics
@@ -21896,7 +22265,7 @@ OUI:000C4C*
ID_OUI_FROM_DATABASE=Arcor AG&Co.
OUI:000C4D*
- ID_OUI_FROM_DATABASE=ACRA CONTROL
+ ID_OUI_FROM_DATABASE=Curtiss-Wright Controls Avionics & Electronics
OUI:000C4E*
ID_OUI_FROM_DATABASE=Winbest Technology CO,LT
@@ -21932,7 +22301,7 @@ OUI:000C59*
ID_OUI_FROM_DATABASE=Indyme Electronics, Inc.
OUI:000C5A*
- ID_OUI_FROM_DATABASE=IBSmm Industrieelektronik Multimedia
+ ID_OUI_FROM_DATABASE=IBSmm Embedded Electronics Consulting
OUI:000C5B*
ID_OUI_FROM_DATABASE=HANWANG TECHNOLOGY CO.,LTD
@@ -22487,7 +22856,7 @@ OUI:000D12*
ID_OUI_FROM_DATABASE=AXELL Corporation
OUI:000D13*
- ID_OUI_FROM_DATABASE=Wilhelm Rutenbeck GmbH&Co.
+ ID_OUI_FROM_DATABASE=Wilhelm Rutenbeck GmbH&Co.KG
OUI:000D14*
ID_OUI_FROM_DATABASE=Vtech Innovation LP dba Advanced American Telephones
@@ -22688,7 +23057,7 @@ OUI:000D55*
ID_OUI_FROM_DATABASE=SANYCOM Technology Co.,Ltd
OUI:000D56*
- ID_OUI_FROM_DATABASE=Dell PCBA Test
+ ID_OUI_FROM_DATABASE=Dell ESG PCBA Test
OUI:000D57*
ID_OUI_FROM_DATABASE=Fujitsu I-Network Systems Limited.
@@ -22736,7 +23105,7 @@ OUI:000D66*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
OUI:000D67*
- ID_OUI_FROM_DATABASE=BelAir Networks Inc.
+ ID_OUI_FROM_DATABASE=Ericsson
OUI:000D68*
ID_OUI_FROM_DATABASE=Vinci Systems, Inc.
@@ -22850,7 +23219,7 @@ OUI:000D8C*
ID_OUI_FROM_DATABASE=Shanghai Wedone Digital Ltd. CO.
OUI:000D8D*
- ID_OUI_FROM_DATABASE=ProLinx Communication Gateways, Inc.
+ ID_OUI_FROM_DATABASE=Prosoft Technology, Inc
OUI:000D8E*
ID_OUI_FROM_DATABASE=Koden Electronics Co., Ltd.
@@ -22943,7 +23312,7 @@ OUI:000DAC*
ID_OUI_FROM_DATABASE=Japan CBM Corporation
OUI:000DAD*
- ID_OUI_FROM_DATABASE=Dataprobe Inc
+ ID_OUI_FROM_DATABASE=Dataprobe, Inc.
OUI:000DAE*
ID_OUI_FROM_DATABASE=SAMSUNG HEAVY INDUSTRIES CO., LTD.
@@ -23615,7 +23984,7 @@ OUI:000E91*
ID_OUI_FROM_DATABASE=Navico Auckland Ltd
OUI:000E92*
- ID_OUI_FROM_DATABASE=Millinet Co., Ltd.
+ ID_OUI_FROM_DATABASE=Open Telecom
OUI:000E93*
ID_OUI_FROM_DATABASE=Milénio 3 Sistemas Electrónicos, Lda.
@@ -23645,7 +24014,7 @@ OUI:000E9B*
ID_OUI_FROM_DATABASE=Ambit Microsystems Corporation
OUI:000E9C*
- ID_OUI_FROM_DATABASE=Pemstar
+ ID_OUI_FROM_DATABASE=Benchmark Electronics
OUI:000E9D*
ID_OUI_FROM_DATABASE=Tiscali UK Ltd
@@ -24032,7 +24401,7 @@ OUI:000F1E*
ID_OUI_FROM_DATABASE=Chengdu KT Electric Co.of High & New Technology
OUI:000F1F*
- ID_OUI_FROM_DATABASE=WW PCBA Test
+ ID_OUI_FROM_DATABASE=Dell ESG PCBA Test
OUI:000F20*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company
@@ -24218,7 +24587,7 @@ OUI:000F5C*
ID_OUI_FROM_DATABASE=Day One Digital Media Limited
OUI:000F5D*
- ID_OUI_FROM_DATABASE=PacketFront International AB
+ ID_OUI_FROM_DATABASE=Genexis BV
OUI:000F5E*
ID_OUI_FROM_DATABASE=Veo
@@ -24326,7 +24695,7 @@ OUI:000F80*
ID_OUI_FROM_DATABASE=Trinity Security Systems,Inc.
OUI:000F81*
- ID_OUI_FROM_DATABASE=Secure Info Imaging
+ ID_OUI_FROM_DATABASE=PAL Pacific Inc.
OUI:000F82*
ID_OUI_FROM_DATABASE=Mortara Instrument, Inc.
@@ -24383,7 +24752,7 @@ OUI:000F93*
ID_OUI_FROM_DATABASE=Landis+Gyr Ltd.
OUI:000F94*
- ID_OUI_FROM_DATABASE=Genexis
+ ID_OUI_FROM_DATABASE=Genexis BV
OUI:000F95*
ID_OUI_FROM_DATABASE=ELECOM Co.,LTD Laneed Division
@@ -24500,7 +24869,7 @@ OUI:000FBA*
ID_OUI_FROM_DATABASE=Tevebox AB
OUI:000FBB*
- ID_OUI_FROM_DATABASE=Nokia Siemens Networks GmbH & Co. KG
+ ID_OUI_FROM_DATABASE=Nokia Siemens Networks GmbH & Co. KG.
OUI:000FBC*
ID_OUI_FROM_DATABASE=Onkey Technologies, Inc.
@@ -24647,7 +25016,7 @@ OUI:000FEB*
ID_OUI_FROM_DATABASE=Cylon Controls
OUI:000FEC*
- ID_OUI_FROM_DATABASE=Arkus Inc.
+ ID_OUI_FROM_DATABASE=ARKUS Inc.
OUI:000FED*
ID_OUI_FROM_DATABASE=Anam Electronics Co., Ltd
@@ -24935,7 +25304,7 @@ OUI:00104B*
ID_OUI_FROM_DATABASE=3COM CORPORATION
OUI:00104C*
- ID_OUI_FROM_DATABASE=LeCroy Corporation
+ ID_OUI_FROM_DATABASE=Teledyne LeCroy, Inc
OUI:00104D*
ID_OUI_FROM_DATABASE=SURTEC INDUSTRIES, INC.
@@ -25031,7 +25400,7 @@ OUI:00106B*
ID_OUI_FROM_DATABASE=SONUS NETWORKS, INC.
OUI:00106C*
- ID_OUI_FROM_DATABASE=Infratec AG
+ ID_OUI_FROM_DATABASE=EDNT GmbH
OUI:00106D*
ID_OUI_FROM_DATABASE=Axxcelera Broadband Wireless
@@ -25361,7 +25730,7 @@ OUI:0010D9*
ID_OUI_FROM_DATABASE=IBM JAPAN, FUJISAWA MT+D
OUI:0010DA*
- ID_OUI_FROM_DATABASE=MOTION ENGINEERING, INC.
+ ID_OUI_FROM_DATABASE=Kollmorgen Corp
OUI:0010DB*
ID_OUI_FROM_DATABASE=Juniper Networks, Inc.
@@ -25673,7 +26042,7 @@ OUI:001142*
ID_OUI_FROM_DATABASE=e-SMARTCOM INC.
OUI:001143*
- ID_OUI_FROM_DATABASE=DELL INC.
+ ID_OUI_FROM_DATABASE=Dell ESG PCBA Test
OUI:001144*
ID_OUI_FROM_DATABASE=Assurance Technology Corp
@@ -25865,7 +26234,7 @@ OUI:001182*
ID_OUI_FROM_DATABASE=IMI Norgren Ltd
OUI:001183*
- ID_OUI_FROM_DATABASE=Datalogic Mobile, Inc.
+ ID_OUI_FROM_DATABASE=Datalogic ADC, Inc.
OUI:001184*
ID_OUI_FROM_DATABASE=Humo Laboratory,Ltd.
@@ -25931,7 +26300,7 @@ OUI:001198*
ID_OUI_FROM_DATABASE=Prism Media Products Limited
OUI:001199*
- ID_OUI_FROM_DATABASE=2wcom GmbH
+ ID_OUI_FROM_DATABASE=2wcom Systems GmbH
OUI:00119A*
ID_OUI_FROM_DATABASE=Alkeria srl
@@ -26066,7 +26435,7 @@ OUI:0011C5*
ID_OUI_FROM_DATABASE=TEN Technology
OUI:0011C6*
- ID_OUI_FROM_DATABASE=Seagate Technology LLC
+ ID_OUI_FROM_DATABASE=Seagate Technology
OUI:0011C7*
ID_OUI_FROM_DATABASE=Raymarine UK Ltd
@@ -26249,7 +26618,7 @@ OUI:001202*
ID_OUI_FROM_DATABASE=Decrane Aerospace - Audio International Inc.
OUI:001203*
- ID_OUI_FROM_DATABASE=Activ Networks
+ ID_OUI_FROM_DATABASE=ActivNetworks
OUI:001204*
ID_OUI_FROM_DATABASE=u10 Networks, Inc.
@@ -26270,7 +26639,7 @@ OUI:001209*
ID_OUI_FROM_DATABASE=Fastrax Ltd
OUI:00120A*
- ID_OUI_FROM_DATABASE=Emerson Electric GmbH & Co. OHG
+ ID_OUI_FROM_DATABASE=Emerson Climate Technologies GmbH
OUI:00120B*
ID_OUI_FROM_DATABASE=Chinasys Technologies Limited
@@ -26333,7 +26702,7 @@ OUI:00121E*
ID_OUI_FROM_DATABASE=Juniper Networks, Inc.
OUI:00121F*
- ID_OUI_FROM_DATABASE=Harding Intruments
+ ID_OUI_FROM_DATABASE=Harding Instruments
OUI:001220*
ID_OUI_FROM_DATABASE=Cadco Systems
@@ -26429,7 +26798,7 @@ OUI:00123E*
ID_OUI_FROM_DATABASE=ERUNE technology Co., Ltd.
OUI:00123F*
- ID_OUI_FROM_DATABASE=Dell Inc
+ ID_OUI_FROM_DATABASE=Dell ESG PCBA Test
OUI:001240*
ID_OUI_FROM_DATABASE=AMOI ELECTRONICS CO.,LTD
@@ -26549,7 +26918,7 @@ OUI:001266*
ID_OUI_FROM_DATABASE=Swisscom Hospitality Services SA
OUI:001267*
- ID_OUI_FROM_DATABASE=Matsushita Electronic Components Co., Ltd.
+ ID_OUI_FROM_DATABASE=Panasonic Corporation
OUI:001268*
ID_OUI_FROM_DATABASE=IPS d.o.o.
@@ -26945,7 +27314,7 @@ OUI:0012EA*
ID_OUI_FROM_DATABASE=Trane
OUI:0012EB*
- ID_OUI_FROM_DATABASE=R2DI, LLC
+ ID_OUI_FROM_DATABASE=PDH Solutions, LLC
OUI:0012EC*
ID_OUI_FROM_DATABASE=Movacolor b.v.
@@ -27017,7 +27386,7 @@ OUI:001302*
ID_OUI_FROM_DATABASE=Intel Corporate
OUI:001303*
- ID_OUI_FROM_DATABASE=GateConnect Technologies GmbH
+ ID_OUI_FROM_DATABASE=GateConnect
OUI:001304*
ID_OUI_FROM_DATABASE=Flaircomm Technologies Co. LTD
@@ -27179,7 +27548,7 @@ OUI:001338*
ID_OUI_FROM_DATABASE=FRESENIUS-VIAL
OUI:001339*
- ID_OUI_FROM_DATABASE=EL-ME AG
+ ID_OUI_FROM_DATABASE=CCV Deutschland GmbH
OUI:00133A*
ID_OUI_FROM_DATABASE=VadaTech Inc.
@@ -27320,13 +27689,13 @@ OUI:001367*
ID_OUI_FROM_DATABASE=Narayon. Co., Ltd.
OUI:001368*
- ID_OUI_FROM_DATABASE=Maersk Data Defence
+ ID_OUI_FROM_DATABASE=Saab Danmark A/S
OUI:001369*
ID_OUI_FROM_DATABASE=Honda Electron Co., LED.
OUI:00136A*
- ID_OUI_FROM_DATABASE=Hach Lange SA
+ ID_OUI_FROM_DATABASE=Hach Lange Sarl
OUI:00136B*
ID_OUI_FROM_DATABASE=E-TEC
@@ -27350,7 +27719,7 @@ OUI:001371*
ID_OUI_FROM_DATABASE=Motorola Mobility, Inc.
OUI:001372*
- ID_OUI_FROM_DATABASE=Dell Inc.
+ ID_OUI_FROM_DATABASE=Dell ESG PCBA Test
OUI:001373*
ID_OUI_FROM_DATABASE=BLwave Electronics Co., Ltd
@@ -27368,7 +27737,7 @@ OUI:001377*
ID_OUI_FROM_DATABASE=Samsung Electronics CO., LTD
OUI:001378*
- ID_OUI_FROM_DATABASE=QSAN Technology, Inc.
+ ID_OUI_FROM_DATABASE=Qsan Technology, Inc.
OUI:001379*
ID_OUI_FROM_DATABASE=PONDER INFORMATION INDUSTRIES LTD.
@@ -27878,7 +28247,7 @@ OUI:001421*
ID_OUI_FROM_DATABASE=Total Wireless Technologies Pte. Ltd.
OUI:001422*
- ID_OUI_FROM_DATABASE=Dell Inc.
+ ID_OUI_FROM_DATABASE=Dell ESG PCBA Test
OUI:001423*
ID_OUI_FROM_DATABASE=J-S Co. NEUROCOM
@@ -27980,7 +28349,7 @@ OUI:001443*
ID_OUI_FROM_DATABASE=Consultronics Europe Ltd
OUI:001444*
- ID_OUI_FROM_DATABASE=Grundfos Electronics
+ ID_OUI_FROM_DATABASE=Grundfos Holding
OUI:001445*
ID_OUI_FROM_DATABASE=Telefon-Gradnja d.o.o.
@@ -28046,7 +28415,7 @@ OUI:001459*
ID_OUI_FROM_DATABASE=Moram Co., Ltd.
OUI:00145A*
- ID_OUI_FROM_DATABASE=Neratec AG
+ ID_OUI_FROM_DATABASE=Neratec Solutions AG
OUI:00145B*
ID_OUI_FROM_DATABASE=SeekerNet Inc.
@@ -28166,7 +28535,7 @@ OUI:001481*
ID_OUI_FROM_DATABASE=Multilink Inc
OUI:001482*
- ID_OUI_FROM_DATABASE=GoBackTV, Inc
+ ID_OUI_FROM_DATABASE=Aurora Networks
OUI:001483*
ID_OUI_FROM_DATABASE=eXS Inc.
@@ -28211,7 +28580,7 @@ OUI:001490*
ID_OUI_FROM_DATABASE=ASP Corporation
OUI:001491*
- ID_OUI_FROM_DATABASE=Daniels Electronics Ltd.
+ ID_OUI_FROM_DATABASE=Daniels Electronics Ltd. dbo Codan Rado Communications
OUI:001492*
ID_OUI_FROM_DATABASE=Liteon, Mobile Media Solution SBU
@@ -28301,7 +28670,7 @@ OUI:0014AE*
ID_OUI_FROM_DATABASE=Wizlogics Co., Ltd.
OUI:0014AF*
- ID_OUI_FROM_DATABASE=Datasym Inc.
+ ID_OUI_FROM_DATABASE=Datasym POS Inc.
OUI:0014B0*
ID_OUI_FROM_DATABASE=Naeil Community
@@ -28361,7 +28730,7 @@ OUI:0014C2*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company
OUI:0014C3*
- ID_OUI_FROM_DATABASE=Seagate Technology LLC
+ ID_OUI_FROM_DATABASE=Seagate Technology
OUI:0014C4*
ID_OUI_FROM_DATABASE=Vitelcom Mobile Technology
@@ -28517,7 +28886,7 @@ OUI:0014F6*
ID_OUI_FROM_DATABASE=Juniper Networks, Inc.
OUI:0014F7*
- ID_OUI_FROM_DATABASE=Crevis
+ ID_OUI_FROM_DATABASE=CREVIS Co., LTD
OUI:0014F8*
ID_OUI_FROM_DATABASE=Scientific Atlanta
@@ -29135,7 +29504,7 @@ OUI:0015C4*
ID_OUI_FROM_DATABASE=FLOVEL CO., LTD.
OUI:0015C5*
- ID_OUI_FROM_DATABASE=Dell Inc
+ ID_OUI_FROM_DATABASE=Dell ESG PCBA Test
OUI:0015C6*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -29237,7 +29606,7 @@ OUI:0015E6*
ID_OUI_FROM_DATABASE=MOBILE TECHNIKA Inc.
OUI:0015E7*
- ID_OUI_FROM_DATABASE=Quantec ProAudio
+ ID_OUI_FROM_DATABASE=Quantec Tontechnik
OUI:0015E8*
ID_OUI_FROM_DATABASE=Nortel
@@ -29387,7 +29756,7 @@ OUI:001618*
ID_OUI_FROM_DATABASE=HIVION Co., Ltd.
OUI:001619*
- ID_OUI_FROM_DATABASE=La Factoría de Comunicaciones Aplicadas,S.L.
+ ID_OUI_FROM_DATABASE=Lancelan Technologies S.L.
OUI:00161A*
ID_OUI_FROM_DATABASE=Dametric AB
@@ -29477,7 +29846,7 @@ OUI:001636*
ID_OUI_FROM_DATABASE=Quanta Computer Inc.
OUI:001637*
- ID_OUI_FROM_DATABASE=Citel Srl
+ ID_OUI_FROM_DATABASE=CITEL SpA
OUI:001638*
ID_OUI_FROM_DATABASE=TECOM Co., Ltd.
@@ -29645,7 +30014,7 @@ OUI:00166E*
ID_OUI_FROM_DATABASE=Arbitron Inc.
OUI:00166F*
- ID_OUI_FROM_DATABASE=Intel Corporation
+ ID_OUI_FROM_DATABASE=Intel Corporate
OUI:001670*
ID_OUI_FROM_DATABASE=SKNET Corporation
@@ -29666,10 +30035,10 @@ OUI:001675*
ID_OUI_FROM_DATABASE=Motorola Mobility, Inc.
OUI:001676*
- ID_OUI_FROM_DATABASE=Intel Corporation
+ ID_OUI_FROM_DATABASE=Intel Corporate
OUI:001677*
- ID_OUI_FROM_DATABASE=Bihl+Wiedemann GmbH
+ ID_OUI_FROM_DATABASE=Bihl + Wiedemann GmbH
OUI:001678*
ID_OUI_FROM_DATABASE=SHENZHEN BAOAN GAOKE ELECTRONICS CO., LTD
@@ -30011,10 +30380,10 @@ OUI:0016E9*
ID_OUI_FROM_DATABASE=Tiba Medical Inc
OUI:0016EA*
- ID_OUI_FROM_DATABASE=Intel Corporation
+ ID_OUI_FROM_DATABASE=Intel Corporate
OUI:0016EB*
- ID_OUI_FROM_DATABASE=Intel Corporation
+ ID_OUI_FROM_DATABASE=Intel Corporate
OUI:0016EC*
ID_OUI_FROM_DATABASE=Elitegroup Computer Systems Co., Ltd.
@@ -30050,7 +30419,7 @@ OUI:0016F6*
ID_OUI_FROM_DATABASE=Video Products Group
OUI:0016F7*
- ID_OUI_FROM_DATABASE=L-3 Communications, Electrodynamics, Inc.
+ ID_OUI_FROM_DATABASE=L-3 Communications, Aviation Recorders
OUI:0016F8*
ID_OUI_FROM_DATABASE=AVIQTECH TECHNOLOGY CO., LTD.
@@ -30203,7 +30572,7 @@ OUI:001729*
ID_OUI_FROM_DATABASE=Ubicod Co.LTD
OUI:00172A*
- ID_OUI_FROM_DATABASE=Proware Technology Corp.
+ ID_OUI_FROM_DATABASE=Proware Technology Corp.(By Unifosa)
OUI:00172B*
ID_OUI_FROM_DATABASE=Global Technologies Inc.
@@ -30674,7 +31043,7 @@ OUI:0017C7*
ID_OUI_FROM_DATABASE=MARA Systems Consulting AB
OUI:0017C8*
- ID_OUI_FROM_DATABASE=Kyocera Mita Corporation
+ ID_OUI_FROM_DATABASE=KYOCERA Document Solutions Inc.
OUI:0017C9*
ID_OUI_FROM_DATABASE=Samsung Electronics Co., Ltd.
@@ -30974,7 +31343,7 @@ OUI:00182C*
ID_OUI_FROM_DATABASE=Ascend Networks, Inc.
OUI:00182D*
- ID_OUI_FROM_DATABASE=Artec Group OÜ
+ ID_OUI_FROM_DATABASE=Artec Design
OUI:00182E*
ID_OUI_FROM_DATABASE=XStreamHD, LLC
@@ -31046,7 +31415,7 @@ OUI:001844*
ID_OUI_FROM_DATABASE=Heads Up Technologies, Inc.
OUI:001845*
- ID_OUI_FROM_DATABASE=NPL Pulsar Ltd.
+ ID_OUI_FROM_DATABASE=Pulsar-Telecom LLC.
OUI:001846*
ID_OUI_FROM_DATABASE=Crypto S.A.
@@ -31058,7 +31427,7 @@ OUI:001848*
ID_OUI_FROM_DATABASE=Vecima Networks Inc.
OUI:001849*
- ID_OUI_FROM_DATABASE=Pigeon Point Systems
+ ID_OUI_FROM_DATABASE=Pigeon Point Systems LLC
OUI:00184A*
ID_OUI_FROM_DATABASE=Catcher, Inc.
@@ -31139,7 +31508,7 @@ OUI:001863*
ID_OUI_FROM_DATABASE=Veritech Electronics Limited
OUI:001864*
- ID_OUI_FROM_DATABASE=Cybectec Inc.
+ ID_OUI_FROM_DATABASE=Eaton Corporation
OUI:001865*
ID_OUI_FROM_DATABASE=Siemens Healthcare Diagnostics Manufacturing Ltd
@@ -31148,7 +31517,7 @@ OUI:001866*
ID_OUI_FROM_DATABASE=Leutron Vision
OUI:001867*
- ID_OUI_FROM_DATABASE=Evolution Robotics Retail
+ ID_OUI_FROM_DATABASE=Datalogic ADC
OUI:001868*
ID_OUI_FROM_DATABASE=Scientific Atlanta, A Cisco Company
@@ -31256,7 +31625,7 @@ OUI:00188A*
ID_OUI_FROM_DATABASE=Infinova LLC
OUI:00188B*
- ID_OUI_FROM_DATABASE=Dell
+ ID_OUI_FROM_DATABASE=Dell ESG PCBA Test
OUI:00188C*
ID_OUI_FROM_DATABASE=Mobile Action Technology Inc.
@@ -31505,7 +31874,7 @@ OUI:0018DD*
ID_OUI_FROM_DATABASE=Silicondust Engineering Ltd
OUI:0018DE*
- ID_OUI_FROM_DATABASE=Intel Corporation
+ ID_OUI_FROM_DATABASE=Intel Corporate
OUI:0018DF*
ID_OUI_FROM_DATABASE=The Morey Corporation
@@ -31634,7 +32003,7 @@ OUI:001908*
ID_OUI_FROM_DATABASE=Duaxes Corporation
OUI:001909*
- ID_OUI_FROM_DATABASE=Devi A/S
+ ID_OUI_FROM_DATABASE=DEVI - Danfoss A/S
OUI:00190A*
ID_OUI_FROM_DATABASE=HASWARE INC.
@@ -31694,7 +32063,7 @@ OUI:00191C*
ID_OUI_FROM_DATABASE=Sensicast Systems
OUI:00191D*
- ID_OUI_FROM_DATABASE=Nintendo Co.,Ltd.
+ ID_OUI_FROM_DATABASE=Nintendo Co., Ltd.
OUI:00191E*
ID_OUI_FROM_DATABASE=Beyondwiz Co., Ltd.
@@ -31766,7 +32135,7 @@ OUI:001934*
ID_OUI_FROM_DATABASE=TRENDON TOUCH TECHNOLOGY CORP.
OUI:001935*
- ID_OUI_FROM_DATABASE=Duerr Dental GmbH & Co. KG
+ ID_OUI_FROM_DATABASE=DÜRR DENTAL AG
OUI:001936*
ID_OUI_FROM_DATABASE=STERLITE OPTICAL TECHNOLOGIES LIMITED
@@ -32081,7 +32450,7 @@ OUI:00199D*
ID_OUI_FROM_DATABASE=VIZIO, Inc.
OUI:00199E*
- ID_OUI_FROM_DATABASE=SHOWADENSHI ELECTRONICS,INC.
+ ID_OUI_FROM_DATABASE=Nifty
OUI:00199F*
ID_OUI_FROM_DATABASE=DKT A/S
@@ -32234,10 +32603,10 @@ OUI:0019D0*
ID_OUI_FROM_DATABASE=Cathexis
OUI:0019D1*
- ID_OUI_FROM_DATABASE=Intel Corporation
+ ID_OUI_FROM_DATABASE=Intel Corporate
OUI:0019D2*
- ID_OUI_FROM_DATABASE=Intel Corporation
+ ID_OUI_FROM_DATABASE=Intel Corporate
OUI:0019D3*
ID_OUI_FROM_DATABASE=TRAK Microwave
@@ -32249,7 +32618,7 @@ OUI:0019D5*
ID_OUI_FROM_DATABASE=IP Innovations, Inc.
OUI:0019D6*
- ID_OUI_FROM_DATABASE=LS Cable Ltd.
+ ID_OUI_FROM_DATABASE=LS Cable and System Ltd.
OUI:0019D7*
ID_OUI_FROM_DATABASE=FORTUNETEK CO., LTD
@@ -32399,7 +32768,7 @@ OUI:001A07*
ID_OUI_FROM_DATABASE=Arecont Vision
OUI:001A08*
- ID_OUI_FROM_DATABASE=Dalman Technical Services
+ ID_OUI_FROM_DATABASE=Simoco Ltd.
OUI:001A09*
ID_OUI_FROM_DATABASE=Wayfarer Transit Systems Ltd
@@ -32498,7 +32867,7 @@ OUI:001A28*
ID_OUI_FROM_DATABASE=ASWT Co., LTD. Taiwan Branch H.K.
OUI:001A29*
- ID_OUI_FROM_DATABASE=Techsonic Industries d/b/a Humminbird
+ ID_OUI_FROM_DATABASE=Johnson Outdoors Marine Electronics, Inc
OUI:001A2A*
ID_OUI_FROM_DATABASE=Arcadyan Technology Corporation
@@ -32852,7 +33221,7 @@ OUI:001A9E*
ID_OUI_FROM_DATABASE=ICON Digital International Limited
OUI:001A9F*
- ID_OUI_FROM_DATABASE=A-Link Europe Ltd
+ ID_OUI_FROM_DATABASE=A-Link Ltd
OUI:001AA0*
ID_OUI_FROM_DATABASE=Dell Inc
@@ -33776,7 +34145,7 @@ OUI:001BD2*
ID_OUI_FROM_DATABASE=ULTRA-X ASIA PACIFIC Inc.
OUI:001BD3*
- ID_OUI_FROM_DATABASE=Matsushita Electric Panasonic AVC
+ ID_OUI_FROM_DATABASE=Panasonic Corp. AVC Company
OUI:001BD4*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -33812,7 +34181,7 @@ OUI:001BDE*
ID_OUI_FROM_DATABASE=Renkus-Heinz, Inc.
OUI:001BDF*
- ID_OUI_FROM_DATABASE=Iskra MIS
+ ID_OUI_FROM_DATABASE=Iskra Sistemi d.d.
OUI:001BE0*
ID_OUI_FROM_DATABASE=TELENOT ELECTRONIC GmbH
@@ -34049,7 +34418,7 @@ OUI:001C2D*
ID_OUI_FROM_DATABASE=FlexRadio Systems
OUI:001C2E*
- ID_OUI_FROM_DATABASE=ProCurve Networking by HP
+ ID_OUI_FROM_DATABASE=HPN Supply Chain
OUI:001C2F*
ID_OUI_FROM_DATABASE=Pfister GmbH
@@ -34097,7 +34466,7 @@ OUI:001C3D*
ID_OUI_FROM_DATABASE=WaveStorm
OUI:001C3E*
- ID_OUI_FROM_DATABASE=ECKey Limited
+ ID_OUI_FROM_DATABASE=ECKey Corporation
OUI:001C3F*
ID_OUI_FROM_DATABASE=International Police Technologies, Inc.
@@ -34211,7 +34580,7 @@ OUI:001C63*
ID_OUI_FROM_DATABASE=TRUEN
OUI:001C64*
- ID_OUI_FROM_DATABASE=Cellnet+Hunt
+ ID_OUI_FROM_DATABASE=Landis+Gyr
OUI:001C65*
ID_OUI_FROM_DATABASE=JoeScan, Inc.
@@ -34805,7 +35174,7 @@ OUI:001D29*
ID_OUI_FROM_DATABASE=Doro AB
OUI:001D2A*
- ID_OUI_FROM_DATABASE=Tideway Electronic LTD
+ ID_OUI_FROM_DATABASE=SHENZHEN BUL-TECH CO.,LTD.
OUI:001D2B*
ID_OUI_FROM_DATABASE=Wuhan Pont Technology CO. , LTD
@@ -34994,7 +35363,7 @@ OUI:001D68*
ID_OUI_FROM_DATABASE=Thomson Telecom Belgium
OUI:001D69*
- ID_OUI_FROM_DATABASE=Knorr-Bremse AG
+ ID_OUI_FROM_DATABASE=Knorr-Bremse IT-Services GmbH
OUI:001D6A*
ID_OUI_FROM_DATABASE=Alpha Networks Inc.
@@ -35216,7 +35585,7 @@ OUI:001DB2*
ID_OUI_FROM_DATABASE=HOKKAIDO ELECTRIC ENGINEERING CO.,LTD.
OUI:001DB3*
- ID_OUI_FROM_DATABASE=ProCurve Networking by HP
+ ID_OUI_FROM_DATABASE=HPN Supply Chain
OUI:001DB4*
ID_OUI_FROM_DATABASE=KUMHO ENG CO.,LTD
@@ -35279,7 +35648,7 @@ OUI:001DC7*
ID_OUI_FROM_DATABASE=L-3 Communications Geneva Aerospace
OUI:001DC8*
- ID_OUI_FROM_DATABASE=ScadaMetrcs, LLC.
+ ID_OUI_FROM_DATABASE=Navionics Research Inc., dba SCADAmetrics
OUI:001DC9*
ID_OUI_FROM_DATABASE=GainSpan Corp.
@@ -35375,7 +35744,7 @@ OUI:001DE7*
ID_OUI_FROM_DATABASE=Marine Sonic Technology, Ltd.
OUI:001DE8*
- ID_OUI_FROM_DATABASE=Nikko Denki Tsushin Company(NDTC)
+ ID_OUI_FROM_DATABASE=Nikko Denki Tsushin Corporation(NDTC)
OUI:001DE9*
ID_OUI_FROM_DATABASE=Nokia Danmark A/S
@@ -35768,7 +36137,7 @@ OUI:001E6A*
ID_OUI_FROM_DATABASE=Beijing Bluexon Technology Co.,Ltd
OUI:001E6B*
- ID_OUI_FROM_DATABASE=Scientific Atlanta, A Cisco Company
+ ID_OUI_FROM_DATABASE=Cisco SPVTG
OUI:001E6C*
ID_OUI_FROM_DATABASE=Carbon Mountain LLC
@@ -36335,7 +36704,7 @@ OUI:001F27*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
OUI:001F28*
- ID_OUI_FROM_DATABASE=ProCurve Networking by HP
+ ID_OUI_FROM_DATABASE=HPN Supply Chain
OUI:001F29*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company
@@ -36413,7 +36782,7 @@ OUI:001F41*
ID_OUI_FROM_DATABASE=Ruckus Wireless
OUI:001F42*
- ID_OUI_FROM_DATABASE=Etherstack Pty Ltd
+ ID_OUI_FROM_DATABASE=Etherstack plc
OUI:001F43*
ID_OUI_FROM_DATABASE=ENTES ELEKTRONIK
@@ -36479,7 +36848,7 @@ OUI:001F57*
ID_OUI_FROM_DATABASE=Phonik Innovation Co.,LTD
OUI:001F58*
- ID_OUI_FROM_DATABASE=EMH Energiemesstechnik GmbH & co.KG
+ ID_OUI_FROM_DATABASE=EMH Energiemesstechnik GmbH
OUI:001F59*
ID_OUI_FROM_DATABASE=Kronback Tracers
@@ -36977,7 +37346,7 @@ OUI:001FFD*
ID_OUI_FROM_DATABASE=Indigo Mobile Technologies Corp.
OUI:001FFE*
- ID_OUI_FROM_DATABASE=ProCurve Networking by HP
+ ID_OUI_FROM_DATABASE=HPN Supply Chain
OUI:001FFF*
ID_OUI_FROM_DATABASE=Respironics, Inc.
@@ -37958,7 +38327,7 @@ OUI:002145*
ID_OUI_FROM_DATABASE=Semptian Technologies Ltd.
OUI:002146*
- ID_OUI_FROM_DATABASE=SCI Technology
+ ID_OUI_FROM_DATABASE=Sanmina-SCI
OUI:002147*
ID_OUI_FROM_DATABASE=Nintendo Co., Ltd.
@@ -38327,7 +38696,7 @@ OUI:0021C0*
ID_OUI_FROM_DATABASE=Mobile Appliance, Inc.
OUI:0021C1*
- ID_OUI_FROM_DATABASE=ABB Oy / Distribution Automation
+ ID_OUI_FROM_DATABASE=ABB Oy / Medium Voltage Products
OUI:0021C2*
ID_OUI_FROM_DATABASE=GL Communications Inc
@@ -38489,7 +38858,7 @@ OUI:0021F6*
ID_OUI_FROM_DATABASE=Oracle Corporation
OUI:0021F7*
- ID_OUI_FROM_DATABASE=ProCurve Networking by HP
+ ID_OUI_FROM_DATABASE=HPN Supply Chain
OUI:0021F8*
ID_OUI_FROM_DATABASE=Enseo, Inc.
@@ -38864,7 +39233,7 @@ OUI:002274*
ID_OUI_FROM_DATABASE=FamilyPhone AB
OUI:002275*
- ID_OUI_FROM_DATABASE=Belkin International, Inc.
+ ID_OUI_FROM_DATABASE=Belkin International Inc.
OUI:002276*
ID_OUI_FROM_DATABASE=Triple EYE B.V.
@@ -38900,10 +39269,10 @@ OUI:002280*
ID_OUI_FROM_DATABASE=A2B Electronics AB
OUI:002281*
- ID_OUI_FROM_DATABASE=Daintree Networks Inc
+ ID_OUI_FROM_DATABASE=Daintree Networks Pty
OUI:002282*
- ID_OUI_FROM_DATABASE=8086 Limited
+ ID_OUI_FROM_DATABASE=8086 Consultancy
OUI:002283*
ID_OUI_FROM_DATABASE=Juniper Networks
@@ -39017,7 +39386,7 @@ OUI:0022A7*
ID_OUI_FROM_DATABASE=Tyco Electronics AMP GmbH
OUI:0022A8*
- ID_OUI_FROM_DATABASE=Ouman Finland Oy
+ ID_OUI_FROM_DATABASE=Ouman Oy
OUI:0022A9*
ID_OUI_FROM_DATABASE=LG Electronics Inc
@@ -39113,7 +39482,7 @@ OUI:0022C7*
ID_OUI_FROM_DATABASE=SEGGER Microcontroller GmbH & Co. KG
OUI:0022C8*
- ID_OUI_FROM_DATABASE=Applied Instruments
+ ID_OUI_FROM_DATABASE=Applied Instruments B.V.
OUI:0022C9*
ID_OUI_FROM_DATABASE=Lenord, Bauer & Co GmbH
@@ -39239,7 +39608,7 @@ OUI:0022F2*
ID_OUI_FROM_DATABASE=SunPower Corp
OUI:0022F3*
- ID_OUI_FROM_DATABASE=SHARP CORPORATION
+ ID_OUI_FROM_DATABASE=SHARP Corporation
OUI:0022F4*
ID_OUI_FROM_DATABASE=AMPAK Technology, Inc.
@@ -39482,7 +39851,7 @@ OUI:002343*
ID_OUI_FROM_DATABASE=TEM AG
OUI:002344*
- ID_OUI_FROM_DATABASE=Objective Interface Systems
+ ID_OUI_FROM_DATABASE=Objective Interface Systems, Inc.
OUI:002345*
ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications
@@ -39656,7 +40025,7 @@ OUI:00237E*
ID_OUI_FROM_DATABASE=ELSTER GMBH
OUI:00237F*
- ID_OUI_FROM_DATABASE=PLANTRONICS
+ ID_OUI_FROM_DATABASE=PLANTRONICS, INC.
OUI:002380*
ID_OUI_FROM_DATABASE=Nanoteq
@@ -39698,7 +40067,7 @@ OUI:00238D*
ID_OUI_FROM_DATABASE=Techno Design Co., Ltd.
OUI:00238E*
- ID_OUI_FROM_DATABASE=ADB Broadband Italia
+ ID_OUI_FROM_DATABASE=Pirelli Tyre S.p.A.
OUI:00238F*
ID_OUI_FROM_DATABASE=NIDEC COPAL CORPORATION
@@ -39734,7 +40103,7 @@ OUI:002399*
ID_OUI_FROM_DATABASE=VD Division, Samsung Electronics Co.
OUI:00239A*
- ID_OUI_FROM_DATABASE=EasyData Software GmbH
+ ID_OUI_FROM_DATABASE=EasyData Hardware GmbH
OUI:00239B*
ID_OUI_FROM_DATABASE=Elster Solutions, LLC
@@ -40022,7 +40391,7 @@ OUI:0023FA*
ID_OUI_FROM_DATABASE=RG Nets, Inc.
OUI:0023FB*
- ID_OUI_FROM_DATABASE=IP Datatel, Inc.
+ ID_OUI_FROM_DATABASE=IP Datatel, LLC.
OUI:0023FC*
ID_OUI_FROM_DATABASE=Ultra Stereo Labs, Inc
@@ -40202,7 +40571,7 @@ OUI:002438*
ID_OUI_FROM_DATABASE=Brocade Communications Systems, Inc
OUI:002439*
- ID_OUI_FROM_DATABASE=Essential Viewing Systems Limited
+ ID_OUI_FROM_DATABASE=Digital Barriers Advanced Technologies
OUI:00243A*
ID_OUI_FROM_DATABASE=Ludl Electronic Products
@@ -40235,7 +40604,7 @@ OUI:002444*
ID_OUI_FROM_DATABASE=Nintendo Co., Ltd.
OUI:002445*
- ID_OUI_FROM_DATABASE=LiquidxStream Systems Inc.
+ ID_OUI_FROM_DATABASE=CommScope Canada Inc.
OUI:002446*
ID_OUI_FROM_DATABASE=MMB Research Inc.
@@ -40280,7 +40649,7 @@ OUI:002453*
ID_OUI_FROM_DATABASE=Initra d.o.o.
OUI:002454*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co., LTD
+ ID_OUI_FROM_DATABASE=Samsung Electronics CO., LTD
OUI:002455*
ID_OUI_FROM_DATABASE=MuLogic BV
@@ -41033,7 +41402,7 @@ OUI:002552*
ID_OUI_FROM_DATABASE=VXI CORPORATION
OUI:002553*
- ID_OUI_FROM_DATABASE=ADB Broadband Italia
+ ID_OUI_FROM_DATABASE=Pirelli Tyre S.p.A.
OUI:002554*
ID_OUI_FROM_DATABASE=Pixel8 Networks
@@ -41135,7 +41504,7 @@ OUI:002574*
ID_OUI_FROM_DATABASE=KUNIMI MEDIA DEVICE Co., Ltd.
OUI:002575*
- ID_OUI_FROM_DATABASE=FiberPlex Inc
+ ID_OUI_FROM_DATABASE=FiberPlex Technologies, LLC
OUI:002576*
ID_OUI_FROM_DATABASE=NELI TECHNOLOGIES
@@ -41315,7 +41684,7 @@ OUI:0025B1*
ID_OUI_FROM_DATABASE=Maya-Creation Corporation
OUI:0025B2*
- ID_OUI_FROM_DATABASE=LFK-Lenkflugkörpersysteme GmbH
+ ID_OUI_FROM_DATABASE=MBDA Deutschland GmbH
OUI:0025B3*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company
@@ -41408,7 +41777,7 @@ OUI:0025D0*
ID_OUI_FROM_DATABASE=Nokia Danmark A/S
OUI:0025D1*
- ID_OUI_FROM_DATABASE=Eastech Electronics (Taiwan) Inc.
+ ID_OUI_FROM_DATABASE=Eastern Asia Technology Limited
OUI:0025D2*
ID_OUI_FROM_DATABASE=InpegVision Co., Ltd
@@ -41540,7 +41909,7 @@ OUI:0025FE*
ID_OUI_FROM_DATABASE=Pilot Electronics Corporation
OUI:0025FF*
- ID_OUI_FROM_DATABASE=CreNova Technology GmbH
+ ID_OUI_FROM_DATABASE=CreNova Multimedia Co., Ltd
OUI:002600*
ID_OUI_FROM_DATABASE=TEAC Australia Pty Ltd.
@@ -41582,7 +41951,7 @@ OUI:00260C*
ID_OUI_FROM_DATABASE=Dataram
OUI:00260D*
- ID_OUI_FROM_DATABASE=Micronetics, Inc.
+ ID_OUI_FROM_DATABASE=Mercury Systems, Inc.
OUI:00260E*
ID_OUI_FROM_DATABASE=Ablaze Systems, LLC
@@ -41723,7 +42092,7 @@ OUI:00263B*
ID_OUI_FROM_DATABASE=Onbnetech
OUI:00263C*
- ID_OUI_FROM_DATABASE=Bachmann GmbH & Co. KG
+ ID_OUI_FROM_DATABASE=Bachmann Technology GmbH & Co. KG
OUI:00263D*
ID_OUI_FROM_DATABASE=MIA Corporation
@@ -41882,7 +42251,7 @@ OUI:002672*
ID_OUI_FROM_DATABASE=AAMP of America
OUI:002673*
- ID_OUI_FROM_DATABASE=RICOH COMPANY LTD.
+ ID_OUI_FROM_DATABASE=RICOH COMPANY,LTD.
OUI:002674*
ID_OUI_FROM_DATABASE=Electronic Solutions, Inc.
@@ -41999,7 +42368,7 @@ OUI:002699*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
OUI:00269A*
- ID_OUI_FROM_DATABASE=carina system co., ltd.
+ ID_OUI_FROM_DATABASE=Carina System Co., Ltd.
OUI:00269B*
ID_OUI_FROM_DATABASE=SOKRAT Ltd.
@@ -42068,7 +42437,7 @@ OUI:0026B1*
ID_OUI_FROM_DATABASE=Navis Auto Motive Systems, Inc.
OUI:0026B2*
- ID_OUI_FROM_DATABASE=Setrix AG
+ ID_OUI_FROM_DATABASE=Setrix GmbH
OUI:0026B3*
ID_OUI_FROM_DATABASE=Thales Communications Inc
@@ -42179,7 +42548,7 @@ OUI:0026D6*
ID_OUI_FROM_DATABASE=Ningbo Andy Optoelectronic Co., Ltd.
OUI:0026D7*
- ID_OUI_FROM_DATABASE=Xiamen BB Electron & Technology Co., Ltd.
+ ID_OUI_FROM_DATABASE=KM Electornic Technology Co., Ltd.
OUI:0026D8*
ID_OUI_FROM_DATABASE=Magic Point Inc.
@@ -42197,7 +42566,7 @@ OUI:0026DC*
ID_OUI_FROM_DATABASE=Optical Systems Design
OUI:0026DD*
- ID_OUI_FROM_DATABASE=Fival Corporation
+ ID_OUI_FROM_DATABASE=Fival Science & Technology Co.,Ltd.
OUI:0026DE*
ID_OUI_FROM_DATABASE=FDI MATELEC
@@ -42407,7 +42776,7 @@ OUI:002722*
ID_OUI_FROM_DATABASE=Ubiquiti Networks
OUI:0027F8*
- ID_OUI_FROM_DATABASE=Brocade Communications Systems, Inc
+ ID_OUI_FROM_DATABASE=Brocade Communications Systems, Inc.
OUI:002A6A*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -42713,7 +43082,7 @@ OUI:003061*
ID_OUI_FROM_DATABASE=MobyTEL
OUI:003062*
- ID_OUI_FROM_DATABASE=PATH 1 NETWORK TECHNOL'S INC.
+ ID_OUI_FROM_DATABASE=IP Video Networks Inc
OUI:003063*
ID_OUI_FROM_DATABASE=SANTERA SYSTEMS, INC.
@@ -43055,7 +43424,7 @@ OUI:0030D3*
ID_OUI_FROM_DATABASE=Agilent Technologies
OUI:0030D4*
- ID_OUI_FROM_DATABASE=AAE Systems, Inc
+ ID_OUI_FROM_DATABASE=AAE Systems, Inc.
OUI:0030D5*
ID_OUI_FROM_DATABASE=DResearch GmbH
@@ -43349,7 +43718,7 @@ OUI:004025*
ID_OUI_FROM_DATABASE=MOLECULAR DYNAMICS
OUI:004026*
- ID_OUI_FROM_DATABASE=Buffalo, Inc
+ ID_OUI_FROM_DATABASE=Buffalo Inc.
OUI:004027*
ID_OUI_FROM_DATABASE=SMC MASSACHUSETTS, INC.
@@ -43454,7 +43823,7 @@ OUI:004048*
ID_OUI_FROM_DATABASE=SMD INFORMATICA S.A.
OUI:004049*
- ID_OUI_FROM_DATABASE=Roche Diagnostics Ltd.
+ ID_OUI_FROM_DATABASE=Roche Diagnostics International Ltd.
OUI:00404A*
ID_OUI_FROM_DATABASE=WEST AUSTRALIAN DEPARTMENT
@@ -43685,7 +44054,7 @@ OUI:004095*
ID_OUI_FROM_DATABASE=R.P.T. INTERGROUPS INT'L LTD.
OUI:004096*
- ID_OUI_FROM_DATABASE=Cisco Systems, Inc.
+ ID_OUI_FROM_DATABASE=Cisco Systems
OUI:004097*
ID_OUI_FROM_DATABASE=DATEX DIVISION OF
@@ -44516,7 +44885,7 @@ OUI:0050B1*
ID_OUI_FROM_DATABASE=GIDDINGS & LEWIS
OUI:0050B2*
- ID_OUI_FROM_DATABASE=BRODEL AUTOMATION
+ ID_OUI_FROM_DATABASE=BRODEL GmbH
OUI:0050B3*
ID_OUI_FROM_DATABASE=VOICEBOARD CORPORATION
@@ -44734,6 +45103,9 @@ OUI:005218*
OUI:0054AF*
ID_OUI_FROM_DATABASE=Continental Automotive Systems Inc.
+OUI:005907*
+ ID_OUI_FROM_DATABASE=LenovoEMC Products USA, LLC
+
OUI:005CB1*
ID_OUI_FROM_DATABASE=Gospell DIGITAL TECHNOLOGY CO., LTD
@@ -45514,6 +45886,9 @@ OUI:006440*
OUI:0064A6*
ID_OUI_FROM_DATABASE=Maquet CardioVascular
+OUI:00664B*
+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+
OUI:006B9E*
ID_OUI_FROM_DATABASE=VIZIO Inc
@@ -45529,6 +45904,9 @@ OUI:0070B0*
OUI:0070B3*
ID_OUI_FROM_DATABASE=DATA RECALL LTD.
+OUI:0075E1*
+ ID_OUI_FROM_DATABASE=Ampt, LLC
+
OUI:00789E*
ID_OUI_FROM_DATABASE=SAGEMCOM
@@ -46223,7 +46601,7 @@ OUI:0080E4*
ID_OUI_FROM_DATABASE=NORTHWEST DIGITAL SYSTEMS, INC
OUI:0080E5*
- ID_OUI_FROM_DATABASE=LSI Logic Corporation
+ ID_OUI_FROM_DATABASE=NetApp, Inc
OUI:0080E6*
ID_OUI_FROM_DATABASE=PEER NETWORKS, INC.
@@ -46352,7 +46730,7 @@ OUI:009008*
ID_OUI_FROM_DATABASE=HanA Systems Inc.
OUI:009009*
- ID_OUI_FROM_DATABASE=i Controls, Inc.
+ ID_OUI_FROM_DATABASE=I Controls, Inc.
OUI:00900A*
ID_OUI_FROM_DATABASE=PROTON ELECTRONIC INDUSTRIAL CO., LTD.
@@ -46790,7 +47168,7 @@ OUI:00909A*
ID_OUI_FROM_DATABASE=ONE WORLD SYSTEMS, INC.
OUI:00909B*
- ID_OUI_FROM_DATABASE=IMAJE
+ ID_OUI_FROM_DATABASE=MARKEM-IMAJE
OUI:00909C*
ID_OUI_FROM_DATABASE=Motorola, Inc.
@@ -46988,7 +47366,7 @@ OUI:0090DC*
ID_OUI_FROM_DATABASE=TECO INFORMATION SYSTEMS
OUI:0090DD*
- ID_OUI_FROM_DATABASE=THE MIHARU COMMUNICATIONS CO., LTD.
+ ID_OUI_FROM_DATABASE=MIHARU COMMUNICATIONS Inc
OUI:0090DE*
ID_OUI_FROM_DATABASE=CARDKEY SYSTEMS, INC.
@@ -48016,6 +48394,9 @@ OUI:00B56D*
OUI:00B5D6*
ID_OUI_FROM_DATABASE=Omnibit Inc.
+OUI:00B78D*
+ ID_OUI_FROM_DATABASE=Nanjing Shining Electric Automation Co., Ltd
+
OUI:00B9F6*
ID_OUI_FROM_DATABASE=Shenzhen Super Rich Electronics Co.,Ltd
@@ -48814,6 +49195,9 @@ OUI:00C14F*
OUI:00C2C6*
ID_OUI_FROM_DATABASE=Intel Corporate
+OUI:00C5DB*
+ ID_OUI_FROM_DATABASE=Datatech Sistemas Digitales Avanzados SL
+
OUI:00C610*
ID_OUI_FROM_DATABASE=Apple, Inc.
@@ -49244,7 +49628,7 @@ OUI:00D08A*
ID_OUI_FROM_DATABASE=PHOTRON USA
OUI:00D08B*
- ID_OUI_FROM_DATABASE=ADVA Optical Networking Ltd
+ ID_OUI_FROM_DATABASE=ADVA Optical Networking Ltd.
OUI:00D08C*
ID_OUI_FROM_DATABASE=GENOA TECHNOLOGY, INC.
@@ -50066,13 +50450,13 @@ OUI:00E085*
ID_OUI_FROM_DATABASE=GLOBAL MAINTECH, INC.
OUI:00E086*
- ID_OUI_FROM_DATABASE=CYBEX COMPUTER PRODUCTS
+ ID_OUI_FROM_DATABASE=Emerson Network Power, Avocent Division
OUI:00E087*
ID_OUI_FROM_DATABASE=LeCroy - Networking Productions Division
OUI:00E088*
- ID_OUI_FROM_DATABASE=LTX CORPORATION
+ ID_OUI_FROM_DATABASE=LTX-Credence CORPORATION
OUI:00E089*
ID_OUI_FROM_DATABASE=ION Networks, Inc.
@@ -50530,6 +50914,9 @@ OUI:04180F*
OUI:0418D6*
ID_OUI_FROM_DATABASE=Ubiquiti Networks
+OUI:041BBA*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:041D10*
ID_OUI_FROM_DATABASE=Dream Ware Inc.
@@ -50569,6 +50956,9 @@ OUI:044A50*
OUI:044BFF*
ID_OUI_FROM_DATABASE=GuangZhou Hedy Digital Technology Co., Ltd
+OUI:044CEF*
+ ID_OUI_FROM_DATABASE=Fujian Sanao Technology Co.,Ltd
+
OUI:044FAA*
ID_OUI_FROM_DATABASE=Ruckus Wireless
@@ -50626,12 +51016,21 @@ OUI:0481AE*
OUI:04888C*
ID_OUI_FROM_DATABASE=Eifelwerk Butler Systeme GmbH
+OUI:0488E2*
+ ID_OUI_FROM_DATABASE=Beats Electronics LLC
+
OUI:048A15*
ID_OUI_FROM_DATABASE=Avaya, Inc
OUI:048B42*
ID_OUI_FROM_DATABASE=Skspruce Technology Limited
+OUI:048C03*
+ ID_OUI_FROM_DATABASE=ThinPAD Technology (Shenzhen)CO.,LTD
+
+OUI:048D38*
+ ID_OUI_FROM_DATABASE=Netcore Technology Inc.
+
OUI:0494A1*
ID_OUI_FROM_DATABASE=CATCH THE WIND INC
@@ -50645,7 +51044,10 @@ OUI:049F06*
ID_OUI_FROM_DATABASE=Smobile Co., Ltd.
OUI:049F81*
- ID_OUI_FROM_DATABASE=Simena, LLC
+ ID_OUI_FROM_DATABASE=Netscout Systems, Inc.
+
+OUI:04A151*
+ ID_OUI_FROM_DATABASE=NETGEAR INC.,
OUI:04A3F3*
ID_OUI_FROM_DATABASE=Emicon
@@ -50659,11 +51061,14 @@ OUI:04B3B6*
OUI:04B466*
ID_OUI_FROM_DATABASE=BSP Co., Ltd.
+OUI:04BFA8*
+ ID_OUI_FROM_DATABASE=ISB Corporation
+
OUI:04C05B*
ID_OUI_FROM_DATABASE=Tigo Energy
OUI:04C06F*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
OUI:04C1B9*
ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd.
@@ -50677,6 +51082,9 @@ OUI:04C880*
OUI:04CE14*
ID_OUI_FROM_DATABASE=Wilocity LTD.
+OUI:04CF25*
+ ID_OUI_FROM_DATABASE=MANYCOLORS, INC.
+
OUI:04D783*
ID_OUI_FROM_DATABASE=Y&H E&C Co.,LTD.
@@ -50684,7 +51092,10 @@ OUI:04DAD2*
ID_OUI_FROM_DATABASE=Cisco
OUI:04DD4C*
- ID_OUI_FROM_DATABASE=IPBlaze
+ ID_OUI_FROM_DATABASE=Velocytech
+
+OUI:04DF69*
+ ID_OUI_FROM_DATABASE=Car Connectivity Consortium
OUI:04E0C4*
ID_OUI_FROM_DATABASE=TRIUMPH-ADLER AG
@@ -50693,11 +51104,14 @@ OUI:04E1C8*
ID_OUI_FROM_DATABASE=IMS Soluções em Energia Ltda.
OUI:04E2F8*
- ID_OUI_FROM_DATABASE=AEP srl
+ ID_OUI_FROM_DATABASE=AEP Ticketing solutions srl
OUI:04E451*
ID_OUI_FROM_DATABASE=Texas Instruments
+OUI:04E536*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:04E548*
ID_OUI_FROM_DATABASE=Cohda Wireless Pty Ltd
@@ -51178,6 +51592,9 @@ OUI:080CC9*
OUI:080D84*
ID_OUI_FROM_DATABASE=GECO, Inc.
+OUI:080EA8*
+ ID_OUI_FROM_DATABASE=Velex s.r.l.
+
OUI:080FFA*
ID_OUI_FROM_DATABASE=KSP INC.
@@ -51217,6 +51634,9 @@ OUI:081FF3*
OUI:082522*
ID_OUI_FROM_DATABASE=ADVANSEE
+OUI:082719*
+ ID_OUI_FROM_DATABASE=APS systems/electronic AG
+
OUI:082AD0*
ID_OUI_FROM_DATABASE=SRD Innovations Inc.
@@ -51235,9 +51655,15 @@ OUI:0838A5*
OUI:083AB8*
ID_OUI_FROM_DATABASE=Shinoda Plasma Co., Ltd.
+OUI:083E0C*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
OUI:083E8E*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd
+OUI:08482C*
+ ID_OUI_FROM_DATABASE=Raycore Taiwan Co., LTD.
+
OUI:084E1C*
ID_OUI_FROM_DATABASE=H2A Systems, LLC
@@ -51253,12 +51679,18 @@ OUI:085B0E*
OUI:08606E*
ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
+OUI:086361*
+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+
OUI:0868D0*
ID_OUI_FROM_DATABASE=Japan System Design
OUI:0868EA*
ID_OUI_FROM_DATABASE=EITO ELECTRONICS CO., LTD.
+OUI:087045*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:087572*
ID_OUI_FROM_DATABASE=Obelux Oy
@@ -51274,6 +51706,9 @@ OUI:0876FF*
OUI:087999*
ID_OUI_FROM_DATABASE=AIM GmbH
+OUI:087A4C*
+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+
OUI:087BAA*
ID_OUI_FROM_DATABASE=SVYAZKOMPLEKTSERVICE, LLC
@@ -51283,6 +51718,9 @@ OUI:087CBE*
OUI:087D21*
ID_OUI_FROM_DATABASE=Altasec technology corporation
+OUI:088039*
+ ID_OUI_FROM_DATABASE=Cisco SPVTG
+
OUI:0881F4*
ID_OUI_FROM_DATABASE=Juniper Networks
@@ -51328,6 +51766,9 @@ OUI:08BBCC*
OUI:08BE09*
ID_OUI_FROM_DATABASE=Astrol Electronic AG
+OUI:08CC68*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:08D09F*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -51376,6 +51817,18 @@ OUI:08FAE0*
OUI:08FC52*
ID_OUI_FROM_DATABASE=OpenXS BV
+OUI:08FC88*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:0C0400*
+ ID_OUI_FROM_DATABASE=Jantar d.o.o.
+
+OUI:0C0535*
+ ID_OUI_FROM_DATABASE=Juniper Systems
+
+OUI:0C1105*
+ ID_OUI_FROM_DATABASE=Ringslink (Xiamen) Network Communication Technologies Co., Ltd
+
OUI:0C130B*
ID_OUI_FROM_DATABASE=Uniqoteq Ltd.
@@ -51394,12 +51847,21 @@ OUI:0C191F*
OUI:0C1DC2*
ID_OUI_FROM_DATABASE=SeAH Networks
+OUI:0C2724*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:0C2755*
ID_OUI_FROM_DATABASE=Valuable Techologies Limited
OUI:0C2A69*
ID_OUI_FROM_DATABASE=electric imp, incorporated
+OUI:0C2AE7*
+ ID_OUI_FROM_DATABASE=Beijing General Research Institute of Mining and Metallurgy
+
+OUI:0C2D89*
+ ID_OUI_FROM_DATABASE=QiiQ Communications Inc.
+
OUI:0C37DC*
ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
@@ -51433,6 +51895,9 @@ OUI:0C5A19*
OUI:0C6076*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
+OUI:0C6803*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:0C6E4F*
ID_OUI_FROM_DATABASE=PrimeVOLT Co., Ltd.
@@ -51457,12 +51922,21 @@ OUI:0C7D7C*
OUI:0C8230*
ID_OUI_FROM_DATABASE=SHENZHEN MAGNUS TECHNOLOGIES CO.,LTD
+OUI:0C8268*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
OUI:0C826A*
ID_OUI_FROM_DATABASE=Wuhan Huagong Genuine Optics Technology Co., Ltd
OUI:0C8411*
ID_OUI_FROM_DATABASE=A.O. Smith Water Products
+OUI:0C8484*
+ ID_OUI_FROM_DATABASE=Zenovia Electronics Inc.
+
+OUI:0C84DC*
+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
+
OUI:0C8525*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -51481,6 +51955,9 @@ OUI:0C924E*
OUI:0C93FB*
ID_OUI_FROM_DATABASE=BNS Solutions
+OUI:0C96BF*
+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+
OUI:0C9D56*
ID_OUI_FROM_DATABASE=Consort Controls Ltd
@@ -51526,6 +52003,9 @@ OUI:0CC66A*
OUI:0CC6AC*
ID_OUI_FROM_DATABASE=DAGS
+OUI:0CC81F*
+ ID_OUI_FROM_DATABASE=Summer Infant, Inc.
+
OUI:0CC9C6*
ID_OUI_FROM_DATABASE=Samwin Hong Kong Limited
@@ -51586,6 +52066,9 @@ OUI:0CEEE6*
OUI:0CEF7C*
ID_OUI_FROM_DATABASE=AnaCom Inc
+OUI:0CF019*
+ ID_OUI_FROM_DATABASE=Malgn Technology Co., Ltd.
+
OUI:0CF0B4*
ID_OUI_FROM_DATABASE=Globalsat International Technology Ltd
@@ -51595,6 +52078,9 @@ OUI:0CF361*
OUI:0CF3EE*
ID_OUI_FROM_DATABASE=EM Microelectronic
+OUI:0CF405*
+ ID_OUI_FROM_DATABASE=Beijing Signalway Technologies Co.,Ltd
+
OUI:0CF893*
ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
@@ -51610,6 +52096,9 @@ OUI:1000E8*
OUI:1000FD*
ID_OUI_FROM_DATABASE=LaonPeople
+OUI:1001CA*
+ ID_OUI_FROM_DATABASE=Ashley Butterworth
+
OUI:10090C*
ID_OUI_FROM_DATABASE=Janome Sewing Machine Co., Ltd.
@@ -51649,6 +52138,9 @@ OUI:10189E*
OUI:101B54*
ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+OUI:101C0C*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:101D51*
ID_OUI_FROM_DATABASE=ON-Q LLC dba ON-Q Mesh Networks
@@ -51658,6 +52150,9 @@ OUI:101DC0*
OUI:101F74*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company
+OUI:102831*
+ ID_OUI_FROM_DATABASE=Morion Inc.
+
OUI:102D96*
ID_OUI_FROM_DATABASE=Looxcie Inc.
@@ -51697,6 +52192,9 @@ OUI:104D77*
OUI:1056CA*
ID_OUI_FROM_DATABASE=Peplink International Ltd.
+OUI:105C3B*
+ ID_OUI_FROM_DATABASE=Perma-Pipe, Inc.
+
OUI:105CBF*
ID_OUI_FROM_DATABASE=DuroByte Inc
@@ -51721,6 +52219,9 @@ OUI:1065A3*
OUI:1065CF*
ID_OUI_FROM_DATABASE=IQSIM
+OUI:106682*
+ ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd.
+
OUI:10683F*
ID_OUI_FROM_DATABASE=LG Electronics
@@ -51736,9 +52237,18 @@ OUI:1071F9*
OUI:10768A*
ID_OUI_FROM_DATABASE=EoCell
+OUI:1077B1*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD
+
+OUI:1078CE*
+ ID_OUI_FROM_DATABASE=Hanvit SI, Inc.
+
OUI:1078D2*
ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD.
+OUI:107A86*
+ ID_OUI_FROM_DATABASE=U&U ENGINEERING INC.
+
OUI:1083D2*
ID_OUI_FROM_DATABASE=Microseven Systems, LLC
@@ -51751,6 +52261,9 @@ OUI:108CCF*
OUI:1093E9*
ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:109AB9*
+ ID_OUI_FROM_DATABASE=Tosibox Oy
+
OUI:109ADD*
ID_OUI_FROM_DATABASE=Apple, Inc.
@@ -51805,6 +52318,9 @@ OUI:10CCDB*
OUI:10D1DC*
ID_OUI_FROM_DATABASE=INSTAR Deutschland GmbH
+OUI:10D542*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:10DDB1*
ID_OUI_FROM_DATABASE=Apple
@@ -51829,6 +52345,9 @@ OUI:10EA59*
OUI:10EED9*
ID_OUI_FROM_DATABASE=Canoga Perkins Corporation
+OUI:10F311*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:10F3DB*
ID_OUI_FROM_DATABASE=Gridco Systems, Inc.
@@ -51859,6 +52378,9 @@ OUI:140C76*
OUI:14109F*
ID_OUI_FROM_DATABASE=Apple Inc
+OUI:141330*
+ ID_OUI_FROM_DATABASE=Anakreon UK LLP
+
OUI:14144B*
ID_OUI_FROM_DATABASE=FUJIAN STAR-NET COMMUNICATION CO.,LTD
@@ -51871,6 +52393,12 @@ OUI:141BBD*
OUI:141BF0*
ID_OUI_FROM_DATABASE=Intellimedia Systems Ltd
+OUI:1423D7*
+ ID_OUI_FROM_DATABASE=EUTRONIX CO., LTD.
+
+OUI:142D8B*
+ ID_OUI_FROM_DATABASE=Incipio Technologies, Inc
+
OUI:142DF5*
ID_OUI_FROM_DATABASE=Amphitech
@@ -51895,12 +52423,18 @@ OUI:143AEA*
OUI:143E60*
ID_OUI_FROM_DATABASE=Alcatel-Lucent
+OUI:1441E2*
+ ID_OUI_FROM_DATABASE=Monaco Enterprises, Inc.
+
OUI:144319*
ID_OUI_FROM_DATABASE=Creative&Link Technology Limited
OUI:144978*
ID_OUI_FROM_DATABASE=Digital Control Incorporated
+OUI:1449E0*
+ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co.,LTD.
+
OUI:144C1A*
ID_OUI_FROM_DATABASE=Max Communication GmbH
@@ -51934,6 +52468,9 @@ OUI:147DC5*
OUI:14825B*
ID_OUI_FROM_DATABASE=Hefei Radio Communication Technology Co., Ltd
+OUI:148692*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
OUI:1489FD*
ID_OUI_FROM_DATABASE=Samsung Electronics
@@ -51946,6 +52483,9 @@ OUI:148FC6*
OUI:149090*
ID_OUI_FROM_DATABASE=KongTop industrial(shen zhen)CO.,LTD
+OUI:149448*
+ ID_OUI_FROM_DATABASE=BLU CASTLE S.A.
+
OUI:149FE8*
ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd.
@@ -51958,6 +52498,9 @@ OUI:14A86B*
OUI:14A9E3*
ID_OUI_FROM_DATABASE=MST CORPORATION
+OUI:14ABF0*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
OUI:14B1C8*
ID_OUI_FROM_DATABASE=InfiniWing, Inc.
@@ -51973,6 +52516,9 @@ OUI:14CF8D*
OUI:14CF92*
ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO., LTD.
+OUI:14CFE2*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
OUI:14D4FE*
ID_OUI_FROM_DATABASE=Pace plc
@@ -52015,6 +52561,9 @@ OUI:14FEB5*
OUI:18002D*
ID_OUI_FROM_DATABASE=Sony Mobile Communications AB
+OUI:1800DB*
+ ID_OUI_FROM_DATABASE=Fitbit Inc.
+
OUI:1801E3*
ID_OUI_FROM_DATABASE=Elektrobit Wireless Communications Ltd
@@ -52051,9 +52600,15 @@ OUI:181725*
OUI:18193F*
ID_OUI_FROM_DATABASE=Tamtron Oy
+OUI:181EB0*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:182032*
ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:182666*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:182861*
ID_OUI_FROM_DATABASE=AirTies Wireless Networks
@@ -52066,12 +52621,18 @@ OUI:182B05*
OUI:182C91*
ID_OUI_FROM_DATABASE=Concept Development, Inc.
+OUI:1832A2*
+ ID_OUI_FROM_DATABASE=LAON TECHNOLOGY CO., LTD.
+
OUI:18339D*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
OUI:183451*
ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:1836FC*
+ ID_OUI_FROM_DATABASE=Elecsys International Corporation
+
OUI:183825*
ID_OUI_FROM_DATABASE=Wuhan Lingjiu High-tech Co.,Ltd.
@@ -52141,6 +52702,9 @@ OUI:1880CE*
OUI:1880F5*
ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd
+OUI:188410*
+ ID_OUI_FROM_DATABASE=CoreTrust Inc.
+
OUI:18863A*
ID_OUI_FROM_DATABASE=DIGITAL ART SYSTEM
@@ -52150,8 +52714,11 @@ OUI:1886AC*
OUI:188796*
ID_OUI_FROM_DATABASE=HTC Corporation
+OUI:188857*
+ ID_OUI_FROM_DATABASE=Beijing Jinhong Xi-Dian Information Technology Corp.
+
OUI:188ED5*
- ID_OUI_FROM_DATABASE=Philips Innovative Application NV
+ ID_OUI_FROM_DATABASE=TP Vision Belgium N.V. - innovation site Brugge
OUI:18922C*
ID_OUI_FROM_DATABASE=Virtual Instruments
@@ -52175,7 +52742,7 @@ OUI:18AD4D*
ID_OUI_FROM_DATABASE=Polostar Technology Corporation
OUI:18AEBB*
- ID_OUI_FROM_DATABASE=Siemens Programm- und Systementwicklung GmbH&Co.KG
+ ID_OUI_FROM_DATABASE=Siemens Convergence Creators GmbH&Co.KG
OUI:18AF9F*
ID_OUI_FROM_DATABASE=DIGITRONIC Automationsanlagen GmbH
@@ -52207,6 +52774,9 @@ OUI:18D071*
OUI:18D66A*
ID_OUI_FROM_DATABASE=Inmarsat
+OUI:18D6CF*
+ ID_OUI_FROM_DATABASE=Kurth Electronic GmbH
+
OUI:18D949*
ID_OUI_FROM_DATABASE=Qvis Labs, LLC
@@ -52225,6 +52795,9 @@ OUI:18E7F4*
OUI:18E80F*
ID_OUI_FROM_DATABASE=Viking Electronics Inc.
+OUI:18E8DD*
+ ID_OUI_FROM_DATABASE=MODULETEK
+
OUI:18EF63*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -52237,12 +52810,21 @@ OUI:18F650*
OUI:18F87A*
ID_OUI_FROM_DATABASE=i3 International Inc.
+OUI:18FA6F*
+ ID_OUI_FROM_DATABASE=ISC applied systems corp
+
OUI:18FC9F*
ID_OUI_FROM_DATABASE=Changhe Electronics Co., Ltd.
+OUI:18FE34*
+ ID_OUI_FROM_DATABASE=Espressif Inc.
+
OUI:1C0656*
ID_OUI_FROM_DATABASE=IDY Corporation
+OUI:1C08C1*
+ ID_OUI_FROM_DATABASE=Lg Innotek
+
OUI:1C0B52*
ID_OUI_FROM_DATABASE=EPICOM S.A
@@ -52268,7 +52850,7 @@ OUI:1C19DE*
ID_OUI_FROM_DATABASE=eyevis GmbH
OUI:1C1D67*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
OUI:1C334D*
ID_OUI_FROM_DATABASE=ITS Telecom
@@ -52279,18 +52861,30 @@ OUI:1C3477*
OUI:1C35F1*
ID_OUI_FROM_DATABASE=NEW Lift Neue Elektronische Wege Steuerungsbau GmbH
+OUI:1C37BF*
+ ID_OUI_FROM_DATABASE=Cloudium Systems Ltd.
+
OUI:1C3A4F*
ID_OUI_FROM_DATABASE=AccuSpec Electronics, LLC
OUI:1C3DE7*
ID_OUI_FROM_DATABASE=Sigma Koki Co.,Ltd.
+OUI:1C3E84*
+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
+
OUI:1C43EC*
ID_OUI_FROM_DATABASE=JAPAN CIRCUIT CO.,LTD
OUI:1C4593*
ID_OUI_FROM_DATABASE=Texas Instruments
+OUI:1C48F9*
+ ID_OUI_FROM_DATABASE=GN Netcom A/S
+
+OUI:1C4AF7*
+ ID_OUI_FROM_DATABASE=AMON INC
+
OUI:1C4BD6*
ID_OUI_FROM_DATABASE=AzureWave
@@ -52339,12 +52933,18 @@ OUI:1C6F65*
OUI:1C7508*
ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD.
+OUI:1C76CA*
+ ID_OUI_FROM_DATABASE=Terasic Technologies Inc.
+
OUI:1C7C11*
ID_OUI_FROM_DATABASE=EID
OUI:1C7C45*
ID_OUI_FROM_DATABASE=Vitek Industrial Video Products, Inc.
+OUI:1C7CC7*
+ ID_OUI_FROM_DATABASE=Coriant GmbH
+
OUI:1C7EE5*
ID_OUI_FROM_DATABASE=D-Link International
@@ -52393,6 +52993,9 @@ OUI:1CB17F*
OUI:1CB243*
ID_OUI_FROM_DATABASE=TDC A/S
+OUI:1CBA8C*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
OUI:1CBBA8*
ID_OUI_FROM_DATABASE=OJSC "Ufimskiy Zavod "Promsvyaz"
@@ -52426,6 +53029,9 @@ OUI:1CE192*
OUI:1CE2CC*
ID_OUI_FROM_DATABASE=Texas Instruments
+OUI:1CE62B*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:1CE6C7*
ID_OUI_FROM_DATABASE=Cisco
@@ -52435,6 +53041,9 @@ OUI:1CF061*
OUI:1CF5E7*
ID_OUI_FROM_DATABASE=Turtle Industry Co., Ltd.
+OUI:1CFA68*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
OUI:1CFEA7*
ID_OUI_FROM_DATABASE=IDentytech Solutins Ltd.
@@ -52448,7 +53057,7 @@ OUI:200505*
ID_OUI_FROM_DATABASE=RADMAX COMMUNICATION PRIVATE LIMITED
OUI:2005E8*
- ID_OUI_FROM_DATABASE=OOO "InProMedia"
+ ID_OUI_FROM_DATABASE=OOO InProMedia
OUI:200A5E*
ID_OUI_FROM_DATABASE=Xiangshan Giant Eagle Technology Developing co.,LTD
@@ -52468,6 +53077,9 @@ OUI:2016D8*
OUI:201A06*
ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD.
+OUI:201D03*
+ ID_OUI_FROM_DATABASE=Elatec GmbH
+
OUI:2021A5*
ID_OUI_FROM_DATABASE=LG Electronics Inc
@@ -52475,7 +53087,7 @@ OUI:202598*
ID_OUI_FROM_DATABASE=Teleview
OUI:202BC1*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
OUI:202CB7*
ID_OUI_FROM_DATABASE=Kong Yue Electronics & Information Industry (Xinhui) Ltd.
@@ -52507,6 +53119,9 @@ OUI:2046F9*
OUI:204AAA*
ID_OUI_FROM_DATABASE=Hanscan Spain S.A.
+OUI:204C6D*
+ ID_OUI_FROM_DATABASE=Hugo Brennenstuhl Gmbh & Co. KG.
+
OUI:204E6B*
ID_OUI_FROM_DATABASE=Axxana(israel) ltd
@@ -52603,6 +53218,9 @@ OUI:20BFDB*
OUI:20C1AF*
ID_OUI_FROM_DATABASE=i Wit Digital Co., Limited
+OUI:20C6EB*
+ ID_OUI_FROM_DATABASE=Panasonic Corporation AVC Networks Company
+
OUI:20C8B3*
ID_OUI_FROM_DATABASE=SHENZHEN BUL-TECH CO.,LTD.
@@ -52630,6 +53248,9 @@ OUI:20DC93*
OUI:20DCE6*
ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO., LTD.
+OUI:20DF3F*
+ ID_OUI_FROM_DATABASE=Nanjing SAC Power Grid Automation Co., Ltd.
+
OUI:20E52A*
ID_OUI_FROM_DATABASE=NETGEAR INC.,
@@ -52666,6 +53287,9 @@ OUI:2401C7*
OUI:240917*
ID_OUI_FROM_DATABASE=Devlin Electronics Limited
+OUI:240A64*
+ ID_OUI_FROM_DATABASE=AzureWaveTechnologies,Inc
+
OUI:240B2A*
ID_OUI_FROM_DATABASE=Viettel Group
@@ -52717,6 +53341,9 @@ OUI:24497B*
OUI:245FDF*
ID_OUI_FROM_DATABASE=KYOCERA Corporation
+OUI:246278*
+ ID_OUI_FROM_DATABASE=sysmocom - systems for mobile communications GmbH
+
OUI:246511*
ID_OUI_FROM_DATABASE=AVM GmbH
@@ -52726,12 +53353,18 @@ OUI:24694A*
OUI:2469A5*
ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+OUI:246AAB*
+ ID_OUI_FROM_DATABASE=IT-IS International
+
OUI:24767D*
ID_OUI_FROM_DATABASE=Cisco SPVTG
OUI:247703*
ID_OUI_FROM_DATABASE=Intel Corporate
+OUI:2481AA*
+ ID_OUI_FROM_DATABASE=KSH International Co., Ltd.
+
OUI:24828A*
ID_OUI_FROM_DATABASE=Prowave Technologies Ltd.
@@ -52744,6 +53377,9 @@ OUI:248707*
OUI:249442*
ID_OUI_FROM_DATABASE=OPEN ROAD SOLUTIONS , INC.
+OUI:249504*
+ ID_OUI_FROM_DATABASE=SFR
+
OUI:24A42C*
ID_OUI_FROM_DATABASE=KOUKAAM a.s.
@@ -52795,6 +53431,9 @@ OUI:24C0B3*
OUI:24C86E*
ID_OUI_FROM_DATABASE=Chaney Instrument Co.
+OUI:24C9A1*
+ ID_OUI_FROM_DATABASE=Ruckus Wireless
+
OUI:24C9DE*
ID_OUI_FROM_DATABASE=Genoray
@@ -52814,7 +53453,7 @@ OUI:24DAB6*
ID_OUI_FROM_DATABASE=Sistemas de Gestión Energética S.A. de C.V
OUI:24DBAC*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
OUI:24DBAD*
ID_OUI_FROM_DATABASE=ShopperTrak RCT Corporation
@@ -52825,6 +53464,12 @@ OUI:24DEC6*
OUI:24E6BA*
ID_OUI_FROM_DATABASE=JSC Zavod im. Kozitsky
+OUI:24EA40*
+ ID_OUI_FROM_DATABASE=Systeme Helmholz GmbH
+
+OUI:24EB65*
+ ID_OUI_FROM_DATABASE=SAET I.S. S.r.l.
+
OUI:24EC99*
ID_OUI_FROM_DATABASE=Askey Computer Corp
@@ -52837,6 +53482,9 @@ OUI:24F0FF*
OUI:24F2DD*
ID_OUI_FROM_DATABASE=Radiant Zemax LLC
+OUI:24FD52*
+ ID_OUI_FROM_DATABASE=Liteon Technology Corporation
+
OUI:2804E0*
ID_OUI_FROM_DATABASE=FERMAX ELECTRONICA S.A.U.
@@ -52864,6 +53512,9 @@ OUI:28162E*
OUI:2817CE*
ID_OUI_FROM_DATABASE=Omnisense Ltd
+OUI:281878*
+ ID_OUI_FROM_DATABASE=Microsoft Corporation
+
OUI:2818FD*
ID_OUI_FROM_DATABASE=Aditya Infotech Ltd.
@@ -52873,6 +53524,12 @@ OUI:2826A6*
OUI:2829D9*
ID_OUI_FROM_DATABASE=GlobalBeiMing technology (Beijing)Co. Ltd
+OUI:282CB2*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
+OUI:283152*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:283410*
ID_OUI_FROM_DATABASE=Enigma Diagnostics Limited
@@ -52900,11 +53557,14 @@ OUI:284846*
OUI:284C53*
ID_OUI_FROM_DATABASE=Intune Networks
+OUI:284FCE*
+ ID_OUI_FROM_DATABASE=Liaoning Wontel Science and Technology Development Co.,Ltd.
+
OUI:285132*
ID_OUI_FROM_DATABASE=Shenzhen Prayfly Technology Co.,Ltd
OUI:285FDB*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
OUI:286046*
ID_OUI_FROM_DATABASE=Lantech Communications Global, Inc.
@@ -52930,6 +53590,9 @@ OUI:2872C5*
OUI:2872F0*
ID_OUI_FROM_DATABASE=ATHENA
+OUI:287994*
+ ID_OUI_FROM_DATABASE=Realplay Digital Technology(Shenzhen) Co.,Ltd
+
OUI:28852D*
ID_OUI_FROM_DATABASE=Touch Networks
@@ -52972,6 +53635,9 @@ OUI:28AF0A*
OUI:28B0CC*
ID_OUI_FROM_DATABASE=Xenya d.o.o.
+OUI:28B2BD*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
OUI:28B3AB*
ID_OUI_FROM_DATABASE=Genmark Automation
@@ -52993,6 +53659,9 @@ OUI:28C718*
OUI:28C914*
ID_OUI_FROM_DATABASE=Taimag Corporation
+OUI:28CBEB*
+ ID_OUI_FROM_DATABASE=One
+
OUI:28CC01*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
@@ -53005,9 +53674,15 @@ OUI:28CD1C*
OUI:28CD4C*
ID_OUI_FROM_DATABASE=Individual Computers GmbH
+OUI:28CD9C*
+ ID_OUI_FROM_DATABASE=Shenzhen Dynamax Software Development Co.,Ltd.
+
OUI:28CFDA*
ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:28CFE9*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:28D1AF*
ID_OUI_FROM_DATABASE=Nokia Corporation
@@ -53020,6 +53695,9 @@ OUI:28D576*
OUI:28D997*
ID_OUI_FROM_DATABASE=Yuduan Mobile Co., Ltd.
+OUI:28DB81*
+ ID_OUI_FROM_DATABASE=Shanghai Guao Electronic Technology Co., Ltd
+
OUI:28E02C*
ID_OUI_FROM_DATABASE=Apple, Inc.
@@ -53044,11 +53722,14 @@ OUI:28EE2C*
OUI:28F358*
ID_OUI_FROM_DATABASE=2C - Trifonov & Co
+OUI:28F532*
+ ID_OUI_FROM_DATABASE=ADD-Engineering BV
+
OUI:28F606*
ID_OUI_FROM_DATABASE=Syes srl
OUI:28FBD3*
- ID_OUI_FROM_DATABASE=Shanghai RagenTek Communication Technology Co.,Ltd.
+ ID_OUI_FROM_DATABASE=Ragentek Technology Group
OUI:2C002C*
ID_OUI_FROM_DATABASE=UNOWHY
@@ -53074,12 +53755,18 @@ OUI:2C1EEA*
OUI:2C2172*
ID_OUI_FROM_DATABASE=Juniper Networks
+OUI:2C245F*
+ ID_OUI_FROM_DATABASE=Babolat VS
+
OUI:2C26C5*
ID_OUI_FROM_DATABASE=zte corporation
OUI:2C27D7*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company
+OUI:2C282D*
+ ID_OUI_FROM_DATABASE=BBK COMMUNICATIAO TECHNOLOGY CO.,LTD.
+
OUI:2C2D48*
ID_OUI_FROM_DATABASE=bct electronic GesmbH
@@ -53098,6 +53785,9 @@ OUI:2C36A0*
OUI:2C36F8*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:2C3996*
+ ID_OUI_FROM_DATABASE=SAGEMCOM
+
OUI:2C3A28*
ID_OUI_FROM_DATABASE=Fagor Electrónica
@@ -53119,9 +53809,15 @@ OUI:2C4401*
OUI:2C441B*
ID_OUI_FROM_DATABASE=Spectrum Medical Limited
+OUI:2C44FD*
+ ID_OUI_FROM_DATABASE=Hewlett Packard
+
OUI:2C542D*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:2C59E5*
+ ID_OUI_FROM_DATABASE=Hewlett Packard
+
OUI:2C5AA3*
ID_OUI_FROM_DATABASE=PROMATE ELECTRONIC CO.LTD
@@ -53134,18 +53830,21 @@ OUI:2C6289*
OUI:2C67FB*
ID_OUI_FROM_DATABASE=ShenZhen Zhengjili Electronics Co., LTD
+OUI:2C69BA*
+ ID_OUI_FROM_DATABASE=RF Controls, LLC
+
OUI:2C6BF5*
ID_OUI_FROM_DATABASE=Juniper networks
+OUI:2C72C3*
+ ID_OUI_FROM_DATABASE=Soundmatters
+
OUI:2C750F*
ID_OUI_FROM_DATABASE=Shanghai Dongzhou-Lawton Communication Technology Co. Ltd.
OUI:2C768A*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company
-OUI:2C7AFE*
- ID_OUI_FROM_DATABASE=IEE&E "Black" ops
-
OUI:2C7B5A*
ID_OUI_FROM_DATABASE=Milper Ltd
@@ -53164,6 +53863,12 @@ OUI:2C8BF2*
OUI:2C9127*
ID_OUI_FROM_DATABASE=Eintechno Corporation
+OUI:2C922C*
+ ID_OUI_FROM_DATABASE=Kishu Giken Kogyou Company Ltd,.
+
+OUI:2C9464*
+ ID_OUI_FROM_DATABASE=Cincoze Co., Ltd.
+
OUI:2C9717*
ID_OUI_FROM_DATABASE=I.C.Y. B.V.
@@ -53174,7 +53879,7 @@ OUI:2C9EFC*
ID_OUI_FROM_DATABASE=CANON INC.
OUI:2CA157*
- ID_OUI_FROM_DATABASE=ACROMATE, INC.
+ ID_OUI_FROM_DATABASE=acromate, Inc.
OUI:2CA780*
ID_OUI_FROM_DATABASE=True Technologies Inc.
@@ -53191,6 +53896,12 @@ OUI:2CB05D*
OUI:2CB0DF*
ID_OUI_FROM_DATABASE=Soliton Technologies Pvt Ltd
+OUI:2CB43A*
+ ID_OUI_FROM_DATABASE=Apple
+
+OUI:2CB693*
+ ID_OUI_FROM_DATABASE=Radware
+
OUI:2CB69D*
ID_OUI_FROM_DATABASE=RED Digital Cinema
@@ -53206,6 +53917,9 @@ OUI:2CCD27*
OUI:2CCD43*
ID_OUI_FROM_DATABASE=Summit Technology Group
+OUI:2CD05A*
+ ID_OUI_FROM_DATABASE=Liteon Technology Corporation
+
OUI:2CD1DA*
ID_OUI_FROM_DATABASE=Sanjole, Inc.
@@ -53233,8 +53947,14 @@ OUI:2CEDEB*
OUI:2CEE26*
ID_OUI_FROM_DATABASE=Petroleum Geo-Services
+OUI:2CF203*
+ ID_OUI_FROM_DATABASE=EMKO ELEKTRONIK SAN VE TIC AS
+
OUI:2CF4C5*
- ID_OUI_FROM_DATABASE=Avaya Inc
+ ID_OUI_FROM_DATABASE=Avaya, Inc
+
+OUI:30055C*
+ ID_OUI_FROM_DATABASE=Brother industries, LTD.
OUI:300B9C*
ID_OUI_FROM_DATABASE=Delta Mobile Systems, Inc.
@@ -53293,6 +54013,9 @@ OUI:3039F2*
OUI:303D08*
ID_OUI_FROM_DATABASE=GLINTT TES S.A.
+OUI:303EAD*
+ ID_OUI_FROM_DATABASE=Sonavox Canada Inc
+
OUI:304174*
ID_OUI_FROM_DATABASE=ALTEC LANSING LLC
@@ -53326,6 +54049,9 @@ OUI:305D38*
OUI:306118*
ID_OUI_FROM_DATABASE=Paradom Inc.
+OUI:3065EC*
+ ID_OUI_FROM_DATABASE=Wistron (ChongQing)
+
OUI:30688C*
ID_OUI_FROM_DATABASE=Reach Technology Inc.
@@ -53341,6 +54067,9 @@ OUI:306E5C*
OUI:3071B2*
ID_OUI_FROM_DATABASE=Hangzhou Prevail Optoelectronic Equipment Co.,LTD.
+OUI:30786B*
+ ID_OUI_FROM_DATABASE=TIANJIN Golden Pentagon Electronics Co., Ltd.
+
OUI:3078C2*
ID_OUI_FROM_DATABASE=Innowireless, Co. Ltd.
@@ -53354,7 +54083,10 @@ OUI:3085A9*
ID_OUI_FROM_DATABASE=Asustek Computer Inc
OUI:308730*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
+
+OUI:308999*
+ ID_OUI_FROM_DATABASE=Guangdong East Power Co.,
OUI:308CFB*
ID_OUI_FROM_DATABASE=Dropcam
@@ -53365,6 +54097,12 @@ OUI:3090AB*
OUI:3092F6*
ID_OUI_FROM_DATABASE=SHANGHAI SUNMON COMMUNICATION TECHNOGY CO.,LTD
+OUI:30AABD*
+ ID_OUI_FROM_DATABASE=Shanghai Reallytek Information Technology Co.,Ltd
+
+OUI:30AE7B*
+ ID_OUI_FROM_DATABASE=Deqing Dusun Electron CO., LTD
+
OUI:30AEF6*
ID_OUI_FROM_DATABASE=Radio Mobile Access
@@ -53383,6 +54121,9 @@ OUI:30CDA7*
OUI:30D357*
ID_OUI_FROM_DATABASE=Logosol, Inc.
+OUI:30D46A*
+ ID_OUI_FROM_DATABASE=Autosales Incorporated
+
OUI:30DE86*
ID_OUI_FROM_DATABASE=Cedac Software S.r.l.
@@ -53398,6 +54139,9 @@ OUI:30EB25*
OUI:30EFD1*
ID_OUI_FROM_DATABASE=Alstom Strongwish (Shenzhen) Co., Ltd.
+OUI:30F31D*
+ ID_OUI_FROM_DATABASE=zte corporation
+
OUI:30F33A*
ID_OUI_FROM_DATABASE=+plugg srl
@@ -53422,9 +54166,18 @@ OUI:340804*
OUI:34159E*
ID_OUI_FROM_DATABASE=Apple, Inc
+OUI:341A4C*
+ ID_OUI_FROM_DATABASE=SHENZHEN WEIBU ELECTRONICS CO.,LTD.
+
+OUI:341B22*
+ ID_OUI_FROM_DATABASE=Grandbeing Technology Co., Ltd
+
OUI:342109*
ID_OUI_FROM_DATABASE=Jensen Scandinavia AS
+OUI:3423BA*
+ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co.,LTD.
+
OUI:34255D*
ID_OUI_FROM_DATABASE=Shenzhen Loadcom Technology Co.,Ltd
@@ -53483,7 +54236,7 @@ OUI:3482DE*
ID_OUI_FROM_DATABASE=Kayo Technology, Inc.
OUI:348302*
- ID_OUI_FROM_DATABASE=iForcom Co., Ltd
+ ID_OUI_FROM_DATABASE=iFORCOM Co., Ltd
OUI:348446*
ID_OUI_FROM_DATABASE=Ericsson AB
@@ -53491,6 +54244,9 @@ OUI:348446*
OUI:34862A*
ID_OUI_FROM_DATABASE=Heinz Lackmann GmbH & Co KG
+OUI:3495DB*
+ ID_OUI_FROM_DATABASE=Logitec Corporation
+
OUI:3497FB*
ID_OUI_FROM_DATABASE=ADVANCED RF TECHNOLOGIES INC
@@ -53503,18 +54259,27 @@ OUI:3499D7*
OUI:349A0D*
ID_OUI_FROM_DATABASE=ZBD Displays Ltd
+OUI:349D90*
+ ID_OUI_FROM_DATABASE=Heinzmann GmbH & CO. KG
+
OUI:34A183*
ID_OUI_FROM_DATABASE=AWare, Inc
OUI:34A55D*
ID_OUI_FROM_DATABASE=TECHNOSOFT INTERNATIONAL SRL
+OUI:34A68C*
+ ID_OUI_FROM_DATABASE=Shine Profit Development Limited
+
OUI:34A709*
ID_OUI_FROM_DATABASE=Trevil srl
OUI:34A7BA*
ID_OUI_FROM_DATABASE=Fischer International Systems Corporation
+OUI:34A843*
+ ID_OUI_FROM_DATABASE=KYOCERA Display Corporation
+
OUI:34A84E*
ID_OUI_FROM_DATABASE=Cisco
@@ -53557,6 +54322,9 @@ OUI:34BDF9*
OUI:34BDFA*
ID_OUI_FROM_DATABASE=Cisco SPVTG
+OUI:34BF90*
+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd.
+
OUI:34C059*
ID_OUI_FROM_DATABASE=Apple
@@ -53567,7 +54335,7 @@ OUI:34C69A*
ID_OUI_FROM_DATABASE=Enecsys Ltd
OUI:34C731*
- ID_OUI_FROM_DATABASE=ALPS Electric Co,. Ltd.
+ ID_OUI_FROM_DATABASE=ALPS Co,. Ltd.
OUI:34C803*
ID_OUI_FROM_DATABASE=Nokia Corporation
@@ -53575,6 +54343,12 @@ OUI:34C803*
OUI:34C99D*
ID_OUI_FROM_DATABASE=EIDOLON COMMUNICATIONS TECHNOLOGY CO. LTD.
+OUI:34CD6D*
+ ID_OUI_FROM_DATABASE=CommSky Technologies
+
+OUI:34CDBE*
+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+
OUI:34CE94*
ID_OUI_FROM_DATABASE=Parsec (Pty) Ltd
@@ -53620,6 +54394,9 @@ OUI:34FC6F*
OUI:380197*
ID_OUI_FROM_DATABASE=Toshiba Samsung Storage Technolgoy Korea Corporation
+OUI:3806B4*
+ ID_OUI_FROM_DATABASE=A.D.C. GmbH
+
OUI:380A0A*
ID_OUI_FROM_DATABASE=Sky-City Communication and Electronics Limited Company
@@ -53629,12 +54406,18 @@ OUI:380A94*
OUI:380DD4*
ID_OUI_FROM_DATABASE=Primax Electronics LTD.
+OUI:380F4A*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:380FE4*
ID_OUI_FROM_DATABASE=Dedicated Network Partners Oy
OUI:3816D1*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+OUI:381766*
+ ID_OUI_FROM_DATABASE=PROMZAKAZ LTD.
+
OUI:38192F*
ID_OUI_FROM_DATABASE=Nokia Corporation
@@ -53642,7 +54425,7 @@ OUI:381C4A*
ID_OUI_FROM_DATABASE=SIMCom Wireless Solutions Co.,Ltd.
OUI:38229D*
- ID_OUI_FROM_DATABASE=ADB Broadband Italia
+ ID_OUI_FROM_DATABASE=Pirelli Tyre S.p.A.
OUI:3822D6*
ID_OUI_FROM_DATABASE=H3C Technologies Co., Limited
@@ -53659,6 +54442,9 @@ OUI:3831AC*
OUI:383F10*
ID_OUI_FROM_DATABASE=DBL Technology Ltd.
+OUI:384233*
+ ID_OUI_FROM_DATABASE=Wildeboer Bauteile GmbH
+
OUI:384369*
ID_OUI_FROM_DATABASE=Patrol Products Consortium LLC
@@ -53671,6 +54457,9 @@ OUI:384608*
OUI:38484C*
ID_OUI_FROM_DATABASE=Apple
+OUI:384FF0*
+ ID_OUI_FROM_DATABASE=Azurewave Technologies, Inc.
+
OUI:38521A*
ID_OUI_FROM_DATABASE=Alcatel-Lucent 7705
@@ -53692,6 +54481,9 @@ OUI:3863F6*
OUI:386645*
ID_OUI_FROM_DATABASE=OOSIC Technology CO.,Ltd
+OUI:386793*
+ ID_OUI_FROM_DATABASE=Asia Optical Co., Inc.
+
OUI:386BBB*
ID_OUI_FROM_DATABASE=Motorola Mobility, Inc.
@@ -53723,7 +54515,10 @@ OUI:38A5B6*
ID_OUI_FROM_DATABASE=SHENZHEN MEGMEET ELECTRICAL CO.,LTD
OUI:38A851*
- ID_OUI_FROM_DATABASE=Quickset International Inc
+ ID_OUI_FROM_DATABASE=Moog, Ing
+
+OUI:38A86B*
+ ID_OUI_FROM_DATABASE=Orga BV
OUI:38A95F*
ID_OUI_FROM_DATABASE=Actifio Inc
@@ -53762,7 +54557,7 @@ OUI:38DE60*
ID_OUI_FROM_DATABASE=Mohlenhoff GmbH
OUI:38E08E*
- ID_OUI_FROM_DATABASE=Mitsubishi Electric Co.
+ ID_OUI_FROM_DATABASE=Mitsubishi Electric Corporation
OUI:38E595*
ID_OUI_FROM_DATABASE=Shenzhen Gongjin Electronics Co.,Ltd
@@ -53809,6 +54604,9 @@ OUI:3C0754*
OUI:3C0771*
ID_OUI_FROM_DATABASE=Sony Corporation
+OUI:3C081E*
+ ID_OUI_FROM_DATABASE=Beijing Yupont Electric Power Technology Co.,Ltd
+
OUI:3C096D*
ID_OUI_FROM_DATABASE=Powerhouse Dynamics
@@ -53855,7 +54653,7 @@ OUI:3C3A73*
ID_OUI_FROM_DATABASE=Avaya, Inc
OUI:3C438E*
- ID_OUI_FROM_DATABASE=Motorola Mobility, Inc.
+ ID_OUI_FROM_DATABASE=Motorola Mobility, LLC.
OUI:3C4A92*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company
@@ -53914,6 +54712,12 @@ OUI:3C81D8*
OUI:3C83B5*
ID_OUI_FROM_DATABASE=Advance Vision Electronics Co. Ltd.
+OUI:3C86A8*
+ ID_OUI_FROM_DATABASE=Sangshin elecom .co,, LTD
+
+OUI:3C8AB0*
+ ID_OUI_FROM_DATABASE=Juniper Networks
+
OUI:3C8AE5*
ID_OUI_FROM_DATABASE=Tensun Information Technology(Hangzhou) Co.,LTD
@@ -53932,6 +54736,9 @@ OUI:3C94D5*
OUI:3C970E*
ID_OUI_FROM_DATABASE=Wistron InfoComm(Kunshan)Co.,Ltd.
+OUI:3C977E*
+ ID_OUI_FROM_DATABASE=IPS Technology Limited
+
OUI:3C98BF*
ID_OUI_FROM_DATABASE=Quest Controls, Inc.
@@ -53971,6 +54778,9 @@ OUI:3CC12C*
OUI:3CC1F6*
ID_OUI_FROM_DATABASE=Melange Systems Pvt. Ltd.
+OUI:3CC243*
+ ID_OUI_FROM_DATABASE=Nokia Corporation
+
OUI:3CC99E*
ID_OUI_FROM_DATABASE=Huiyang Technology Co., Ltd
@@ -54019,15 +54829,24 @@ OUI:3CF52C*
OUI:3CF72A*
ID_OUI_FROM_DATABASE=Nokia Corporation
+OUI:3CFB96*
+ ID_OUI_FROM_DATABASE=Emcraft Systems LLC
+
OUI:4001C6*
ID_OUI_FROM_DATABASE=3COM EUROPE LTD
OUI:40040C*
ID_OUI_FROM_DATABASE=A&T
+OUI:4007C0*
+ ID_OUI_FROM_DATABASE=Railtec Systems GmbH
+
OUI:400E67*
ID_OUI_FROM_DATABASE=Tremol Ltd.
+OUI:400E85*
+ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co.,LTD.
+
OUI:4012E4*
ID_OUI_FROM_DATABASE=Compass-EOS
@@ -54089,17 +54908,23 @@ OUI:404A03*
ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation
OUI:404D8E*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
OUI:4050E0*
ID_OUI_FROM_DATABASE=Milton Security Group LLC
+OUI:40516C*
+ ID_OUI_FROM_DATABASE=Grandex International Corporation
+
OUI:40520D*
ID_OUI_FROM_DATABASE=Pico Technology
OUI:405539*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:40560C*
+ ID_OUI_FROM_DATABASE=In Home Displays Ltd
+
OUI:405A9B*
ID_OUI_FROM_DATABASE=ANOVO
@@ -54121,6 +54946,9 @@ OUI:40618E*
OUI:40667A*
ID_OUI_FROM_DATABASE=mediola - connected living AG
+OUI:406826*
+ ID_OUI_FROM_DATABASE=Thales Optronics Limited
+
OUI:406AAB*
ID_OUI_FROM_DATABASE=RIM
@@ -54173,7 +55001,7 @@ OUI:40987B*
ID_OUI_FROM_DATABASE=Aisino Corporation
OUI:409FC7*
- ID_OUI_FROM_DATABASE=BAEKCHUN ENC Co., Ltd.
+ ID_OUI_FROM_DATABASE=BAEKCHUN I&C Co., Ltd.
OUI:40A6A4*
ID_OUI_FROM_DATABASE=PassivSystems Ltd
@@ -54184,6 +55012,9 @@ OUI:40A6D9*
OUI:40AC8D*
ID_OUI_FROM_DATABASE=Data Management, Inc.
+OUI:40B0FA*
+ ID_OUI_FROM_DATABASE=LG Electronics
+
OUI:40B2C8*
ID_OUI_FROM_DATABASE=Nortel Networks
@@ -54202,18 +55033,30 @@ OUI:40B7F3*
OUI:40BA61*
ID_OUI_FROM_DATABASE=Arima Communications Corp.
+OUI:40BC73*
+ ID_OUI_FROM_DATABASE=Cronoplast S.L.
+
OUI:40BC8B*
ID_OUI_FROM_DATABASE=itelio GmbH
+OUI:40BD9E*
+ ID_OUI_FROM_DATABASE=Physio-Control, Inc
+
OUI:40BF17*
ID_OUI_FROM_DATABASE=Digistar Telecom. SA
OUI:40C245*
ID_OUI_FROM_DATABASE=Shenzhen Hexicom Technology Co., Ltd.
+OUI:40C4D6*
+ ID_OUI_FROM_DATABASE=ChongQing Camyu Technology Development Co.,Ltd.
+
OUI:40C7C9*
ID_OUI_FROM_DATABASE=Naviit Inc.
+OUI:40CBA8*
+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+
OUI:40CD3A*
ID_OUI_FROM_DATABASE=Z3 Technology
@@ -54226,6 +55069,9 @@ OUI:40D40E*
OUI:40D559*
ID_OUI_FROM_DATABASE=MICRO S.E.R.I.
+OUI:40E730*
+ ID_OUI_FROM_DATABASE=DEY Storage Systems, Inc.
+
OUI:40E793*
ID_OUI_FROM_DATABASE=Shenzhen Siviton Technology Co.,Ltd
@@ -54241,6 +55087,9 @@ OUI:40F14C*
OUI:40F2E9*
ID_OUI_FROM_DATABASE=IBM
+OUI:40F308*
+ ID_OUI_FROM_DATABASE=Murata Manufactuaring Co.,Ltd.
+
OUI:40F407*
ID_OUI_FROM_DATABASE=Nintendo Co., Ltd.
@@ -54251,7 +55100,7 @@ OUI:40F52E*
ID_OUI_FROM_DATABASE=Leica Microsystems (Schweiz) AG
OUI:40FC89*
- ID_OUI_FROM_DATABASE=Motorola Mobility, Inc.
+ ID_OUI_FROM_DATABASE=Motorola Mobility, LLC.
OUI:4403A7*
ID_OUI_FROM_DATABASE=Cisco
@@ -54284,7 +55133,10 @@ OUI:442B03*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
OUI:44322A*
- ID_OUI_FROM_DATABASE=Avaya Inc
+ ID_OUI_FROM_DATABASE=Avaya, Inc
+
+OUI:4432C8*
+ ID_OUI_FROM_DATABASE=Technicolor USA Inc.
OUI:44334C*
ID_OUI_FROM_DATABASE=Shenzhen Bilian electronic CO.,LTD
@@ -54304,12 +55156,18 @@ OUI:4437E6*
OUI:443839*
ID_OUI_FROM_DATABASE=Cumulus Networks, inc
+OUI:4439C4*
+ ID_OUI_FROM_DATABASE=Universal Global Scientific Industrial Co.,Ltd
+
OUI:443D21*
ID_OUI_FROM_DATABASE=Nuvolt
OUI:443EB2*
ID_OUI_FROM_DATABASE=DEOTRON Co., LTD.
+OUI:444A65*
+ ID_OUI_FROM_DATABASE=Silverflare Ltd.
+
OUI:444C0C*
ID_OUI_FROM_DATABASE=Apple Inc
@@ -54346,6 +55204,9 @@ OUI:445F7A*
OUI:446132*
ID_OUI_FROM_DATABASE=ecobee inc
+OUI:44619C*
+ ID_OUI_FROM_DATABASE=FONsystem co. ltd.
+
OUI:4468AB*
ID_OUI_FROM_DATABASE=JUIN COMPANY, LIMITED
@@ -54368,7 +55229,7 @@ OUI:448312*
ID_OUI_FROM_DATABASE=Star-Net
OUI:448500*
- ID_OUI_FROM_DATABASE=Intel Corporation
+ ID_OUI_FROM_DATABASE=Intel Corporate
OUI:4487FC*
ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD.
@@ -54385,6 +55246,9 @@ OUI:448E81*
OUI:4491DB*
ID_OUI_FROM_DATABASE=Shanghai Huaqin Telecom Technology Co.,Ltd
+OUI:4494FC*
+ ID_OUI_FROM_DATABASE=NETGEAR INC.,
+
OUI:4495FA*
ID_OUI_FROM_DATABASE=Qingdao Santong Digital Technology Co.Ltd
@@ -54412,6 +55276,9 @@ OUI:44AA27*
OUI:44AAE8*
ID_OUI_FROM_DATABASE=Nanotec Electronic GmbH & Co. KG
+OUI:44ADD9*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:44B382*
ID_OUI_FROM_DATABASE=Kuang-chi Institute of Advanced Technology
@@ -54469,6 +55336,9 @@ OUI:44ED57*
OUI:44F459*
ID_OUI_FROM_DATABASE=Samsung Electronics
+OUI:44F849*
+ ID_OUI_FROM_DATABASE=Union Pacific Railroad
+
OUI:44FB42*
ID_OUI_FROM_DATABASE=Apple
@@ -54550,6 +55420,9 @@ OUI:4891F6*
OUI:489BE2*
ID_OUI_FROM_DATABASE=SCI Innovations Ltd
+OUI:489D24*
+ ID_OUI_FROM_DATABASE=Research In Motion
+
OUI:48A22D*
ID_OUI_FROM_DATABASE=Shenzhen Huaxuchang Telecom Technology Co.,Ltd
@@ -54625,9 +55498,15 @@ OUI:48F8B3*
OUI:48F8E1*
ID_OUI_FROM_DATABASE=Alcatel Lucent WT
+OUI:48F925*
+ ID_OUI_FROM_DATABASE=Maestronic
+
OUI:48FCB8*
ID_OUI_FROM_DATABASE=Woodstream Corporation
+OUI:4C0082*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:4C022E*
ID_OUI_FROM_DATABASE=CMR KOREA CO., LTD
@@ -54704,11 +55583,17 @@ OUI:4C5427*
ID_OUI_FROM_DATABASE=Linepro Sp. z o.o.
OUI:4C5499*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
OUI:4C5585*
ID_OUI_FROM_DATABASE=Hamilton Systems
+OUI:4C55B8*
+ ID_OUI_FROM_DATABASE=Turkcell Teknoloji
+
+OUI:4C55CC*
+ ID_OUI_FROM_DATABASE=ACKme Networks Pty Ltd
+
OUI:4C5DCD*
ID_OUI_FROM_DATABASE=Oy Finnish Electric Vehicle Technologies Ltd
@@ -54721,6 +55606,9 @@ OUI:4C60D5*
OUI:4C60DE*
ID_OUI_FROM_DATABASE=NETGEAR
+OUI:4C6255*
+ ID_OUI_FROM_DATABASE=SANMINA-SCI SYSTEM DE MEXICO S.A. DE C.V.
+
OUI:4C63EB*
ID_OUI_FROM_DATABASE=Application Solutions (Electronics and Vision) Ltd
@@ -54742,9 +55630,18 @@ OUI:4C774F*
OUI:4C7897*
ID_OUI_FROM_DATABASE=Arrowhead Alarm Products Ltd
+OUI:4C79BA*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:4C804F*
+ ID_OUI_FROM_DATABASE=Armstrong Monitoring Corp
+
OUI:4C8093*
ID_OUI_FROM_DATABASE=Intel Corporate
+OUI:4C82CF*
+ ID_OUI_FROM_DATABASE=Echostar Technologies
+
OUI:4C8B55*
ID_OUI_FROM_DATABASE=Grupo Digicon
@@ -54757,6 +55654,9 @@ OUI:4C8D79*
OUI:4C8FA5*
ID_OUI_FROM_DATABASE=Jastec
+OUI:4C9614*
+ ID_OUI_FROM_DATABASE=Juniper Networks
+
OUI:4C98EF*
ID_OUI_FROM_DATABASE=Zeo
@@ -54808,6 +55708,12 @@ OUI:4CC94F*
OUI:4CCA53*
ID_OUI_FROM_DATABASE=Skyera, Inc.
+OUI:4CCC34*
+ ID_OUI_FROM_DATABASE=Motorola Solutions Inc.
+
+OUI:4CD637*
+ ID_OUI_FROM_DATABASE=Qsono Electronics Co., Ltd
+
OUI:4CE676*
ID_OUI_FROM_DATABASE=Buffalo Inc.
@@ -54829,6 +55735,9 @@ OUI:5001BB*
OUI:50053D*
ID_OUI_FROM_DATABASE=CyWee Group Ltd
+OUI:500604*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:500B32*
ID_OUI_FROM_DATABASE=Foxda Technology Industrial(ShenZhen)Co.,LTD
@@ -54865,6 +55774,9 @@ OUI:502DF4*
OUI:502ECE*
ID_OUI_FROM_DATABASE=Asahi Electronics Co.,Ltd
+OUI:503275*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:503955*
ID_OUI_FROM_DATABASE=Cisco SPVTG
@@ -54892,9 +55804,15 @@ OUI:505663*
OUI:5057A8*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:505AC6*
+ ID_OUI_FROM_DATABASE=GUANGDONG SUPER TELECOM CO.,LTD.
+
OUI:506028*
ID_OUI_FROM_DATABASE=Xirrus Inc.
+OUI:5061D6*
+ ID_OUI_FROM_DATABASE=Indu-Sol GmbH
+
OUI:506313*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
@@ -54937,18 +55855,33 @@ OUI:508ACB*
OUI:508C77*
ID_OUI_FROM_DATABASE=DIRMEIER Schanktechnik GmbH &Co KG
+OUI:508D6F*
+ ID_OUI_FROM_DATABASE=CHAHOO Limited
+
OUI:50934F*
ID_OUI_FROM_DATABASE=Gradual Tecnologia Ltda.
OUI:509772*
ID_OUI_FROM_DATABASE=Westinghouse Digital
+OUI:509871*
+ ID_OUI_FROM_DATABASE=Inventum Technologies Private Limited
+
+OUI:509F27*
+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+
+OUI:50A0BF*
+ ID_OUI_FROM_DATABASE=Alba Fiber Systems Inc.
+
OUI:50A4C8*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
OUI:50A6E3*
ID_OUI_FROM_DATABASE=David Clark Company
+OUI:50A715*
+ ID_OUI_FROM_DATABASE=Aboundi, Inc.
+
OUI:50A733*
ID_OUI_FROM_DATABASE=Ruckus Wireless
@@ -54959,7 +55892,10 @@ OUI:50AF73*
ID_OUI_FROM_DATABASE=Shenzhen Bitland Information Technology Co., Ltd.
OUI:50B7C3*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD
+ ID_OUI_FROM_DATABASE=Samsung Electronics CO., LTD
+
+OUI:50B8A2*
+ ID_OUI_FROM_DATABASE=ImTech Technologies LLC,
OUI:50C58D*
ID_OUI_FROM_DATABASE=Juniper Networks
@@ -54970,6 +55906,9 @@ OUI:50C971*
OUI:50CCF8*
ID_OUI_FROM_DATABASE=Samsung Electro Mechanics
+OUI:50CD32*
+ ID_OUI_FROM_DATABASE=NanJing Chaoran Science & Technology Co.,Ltd.
+
OUI:50CE75*
ID_OUI_FROM_DATABASE=Measy Electronics Ltd
@@ -54986,7 +55925,7 @@ OUI:50EAD6*
ID_OUI_FROM_DATABASE=Apple, Inc.
OUI:50EB1A*
- ID_OUI_FROM_DATABASE=Brocade Communications Systems, Inc
+ ID_OUI_FROM_DATABASE=Brocade Communications Systems, Inc.
OUI:50ED94*
ID_OUI_FROM_DATABASE=Egatel SL
@@ -54994,6 +55933,9 @@ OUI:50ED94*
OUI:50F003*
ID_OUI_FROM_DATABASE=Open Stack, Inc.
+OUI:50F520*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:50F61A*
ID_OUI_FROM_DATABASE=Kunshan JADE Technologies co., Ltd.
@@ -55015,6 +55957,9 @@ OUI:5404A6*
OUI:54055F*
ID_OUI_FROM_DATABASE=Alcatel Lucent
+OUI:54112F*
+ ID_OUI_FROM_DATABASE=Sulzer Pump Solutions Finland Oy
+
OUI:54115F*
ID_OUI_FROM_DATABASE=Atamo Pty Ltd
@@ -55027,12 +55972,18 @@ OUI:541FD5*
OUI:542018*
ID_OUI_FROM_DATABASE=Tely Labs
+OUI:542160*
+ ID_OUI_FROM_DATABASE=Resolution Products
+
OUI:542696*
ID_OUI_FROM_DATABASE=Apple
OUI:542A9C*
ID_OUI_FROM_DATABASE=LSY Defense, LLC.
+OUI:542CEA*
+ ID_OUI_FROM_DATABASE=PROTECTRON
+
OUI:543131*
ID_OUI_FROM_DATABASE=Raster Vision Ltd
@@ -55057,6 +56008,9 @@ OUI:544A05*
OUI:5453ED*
ID_OUI_FROM_DATABASE=Sony Corporation
+OUI:545414*
+ ID_OUI_FROM_DATABASE=Digital RF Corea, Inc
+
OUI:545EBD*
ID_OUI_FROM_DATABASE=NL Technologies
@@ -55121,7 +56075,10 @@ OUI:54A04F*
ID_OUI_FROM_DATABASE=t-mac Technologies Ltd
OUI:54A51B*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
+
+OUI:54A619*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd
OUI:54A9D4*
ID_OUI_FROM_DATABASE=Minibar Systems
@@ -55180,6 +56137,9 @@ OUI:581626*
OUI:58170C*
ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB
+OUI:581CBD*
+ ID_OUI_FROM_DATABASE=Affinegy
+
OUI:581D91*
ID_OUI_FROM_DATABASE=Advanced Mobile Telecom co.,ltd.
@@ -55231,6 +56191,9 @@ OUI:5850E6*
OUI:5855CA*
ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:5856E8*
+ ID_OUI_FROM_DATABASE=Motorola Mobility Inc
+
OUI:58570D*
ID_OUI_FROM_DATABASE=Danfoss Solar Inverters
@@ -55261,6 +56224,12 @@ OUI:587521*
OUI:587675*
ID_OUI_FROM_DATABASE=Beijing ECHO Technologies Co.,Ltd
+OUI:587A4D*
+ ID_OUI_FROM_DATABASE=Stonesoft Corporation
+
+OUI:587E61*
+ ID_OUI_FROM_DATABASE=Hisense Electric Co., Ltd
+
OUI:587FC8*
ID_OUI_FROM_DATABASE=S2M
@@ -55342,6 +56311,9 @@ OUI:58D6D3*
OUI:58DB8D*
ID_OUI_FROM_DATABASE=Fast Co., Ltd.
+OUI:58E02C*
+ ID_OUI_FROM_DATABASE=Micro Technic A/S
+
OUI:58E476*
ID_OUI_FROM_DATABASE=CENTRON COMMUNICATIONS TECHNOLOGIES FUJIAN CO.,LTD
@@ -55363,6 +56335,9 @@ OUI:58ECE1*
OUI:58EECE*
ID_OUI_FROM_DATABASE=Icon Time Systems
+OUI:58F387*
+ ID_OUI_FROM_DATABASE=HCCP
+
OUI:58F67B*
ID_OUI_FROM_DATABASE=Xia Men UnionCore Technology LTD.
@@ -55390,6 +56365,9 @@ OUI:5C0E8B*
OUI:5C1437*
ID_OUI_FROM_DATABASE=Thyssenkrupp Aufzugswerke GmbH
+OUI:5C15E1*
+ ID_OUI_FROM_DATABASE=AIDC TECHNOLOGY (S) PTE LTD
+
OUI:5C16C7*
ID_OUI_FROM_DATABASE=Big Switch Networks
@@ -55405,12 +56383,18 @@ OUI:5C18B5*
OUI:5C20D0*
ID_OUI_FROM_DATABASE=Asoni Communication Co., Ltd.
+OUI:5C22C4*
+ ID_OUI_FROM_DATABASE=DAE EUN ELETRONICS CO., LTD
+
OUI:5C2479*
ID_OUI_FROM_DATABASE=Baltech AG
OUI:5C260A*
ID_OUI_FROM_DATABASE=Dell Inc.
+OUI:5C335C*
+ ID_OUI_FROM_DATABASE=Swissphone Telecom AG
+
OUI:5C338E*
ID_OUI_FROM_DATABASE=Alpha Networkc Inc.
@@ -55423,6 +56407,9 @@ OUI:5C35DA*
OUI:5C38E0*
ID_OUI_FROM_DATABASE=Shanghai Super Electronics Technology Co.,LTD
+OUI:5C3C27*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:5C4058*
ID_OUI_FROM_DATABASE=Jefferson Audio Video Systems, Inc.
@@ -55433,7 +56420,7 @@ OUI:5C4A26*
ID_OUI_FROM_DATABASE=Enguity Technology Corp
OUI:5C4CA9*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
OUI:5C5015*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -55480,6 +56467,9 @@ OUI:5C7757*
OUI:5C7D5E*
ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+OUI:5C8486*
+ ID_OUI_FROM_DATABASE=Brightsource Industries Israel LTD
+
OUI:5C864A*
ID_OUI_FROM_DATABASE=Secret Labs LLC
@@ -55501,6 +56491,9 @@ OUI:5C9AD8*
OUI:5CA39D*
ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO-MECHANICS CO., LTD.
+OUI:5CA3EB*
+ ID_OUI_FROM_DATABASE=Lokel s.r.o.
+
OUI:5CAC4C*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
@@ -55570,9 +56563,18 @@ OUI:5CEE79*
OUI:5CF207*
ID_OUI_FROM_DATABASE=Speco Technologies
+OUI:5CF370*
+ ID_OUI_FROM_DATABASE=CC&C Technologies, Inc
+
OUI:5CF3FC*
ID_OUI_FROM_DATABASE=IBM Corp
+OUI:5CF6DC*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD
+
+OUI:5CF8A1*
+ ID_OUI_FROM_DATABASE=Murata Manufactuaring Co.,Ltd.
+
OUI:5CF9DD*
ID_OUI_FROM_DATABASE=Dell Inc
@@ -55586,7 +56588,7 @@ OUI:600F77*
ID_OUI_FROM_DATABASE=SilverPlus, Inc
OUI:601199*
- ID_OUI_FROM_DATABASE=Data-Tester Inc.
+ ID_OUI_FROM_DATABASE=Siama Systems Inc
OUI:601283*
ID_OUI_FROM_DATABASE=Soluciones Tecnologicas para la Salud y el Bienestar SA
@@ -55603,6 +56605,9 @@ OUI:601929*
OUI:601D0F*
ID_OUI_FROM_DATABASE=Midnite Solar
+OUI:601E02*
+ ID_OUI_FROM_DATABASE=EltexAlatau
+
OUI:6021C0*
ID_OUI_FROM_DATABASE=Murata Manufactuaring Co.,Ltd.
@@ -55645,18 +56650,27 @@ OUI:6045BD*
OUI:604616*
ID_OUI_FROM_DATABASE=XIAMEN VANN INTELLIGENT CO., LTD
+OUI:604A1C*
+ ID_OUI_FROM_DATABASE=SUYIN Corporation
+
OUI:6052D0*
ID_OUI_FROM_DATABASE=FACTS Engineering
OUI:605464*
ID_OUI_FROM_DATABASE=Eyedro Green Solutions Inc.
+OUI:60601F*
+ ID_OUI_FROM_DATABASE=SZ DJI TECHNOLOGY CO.,LTD
+
OUI:6063FD*
ID_OUI_FROM_DATABASE=Transcend Communication Beijing Co.,Ltd.
OUI:606720*
ID_OUI_FROM_DATABASE=Intel Corporate
+OUI:60699B*
+ ID_OUI_FROM_DATABASE=isepos GmbH
+
OUI:606BBD*
ID_OUI_FROM_DATABASE=Samsung Electronics Co., LTD
@@ -55738,6 +56752,9 @@ OUI:60BC4C*
OUI:60BD91*
ID_OUI_FROM_DATABASE=Move Innovation
+OUI:60C397*
+ ID_OUI_FROM_DATABASE=2 Wire Inc
+
OUI:60C547*
ID_OUI_FROM_DATABASE=Apple, Inc.
@@ -55774,6 +56791,9 @@ OUI:60DA23*
OUI:60DE44*
ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+OUI:60E00E*
+ ID_OUI_FROM_DATABASE=SHINSEI ELECTRONICS CO LTD
+
OUI:60E956*
ID_OUI_FROM_DATABASE=Ayla Networks, Inc
@@ -55807,6 +56827,12 @@ OUI:60FACD*
OUI:60FB42*
ID_OUI_FROM_DATABASE=Apple, Inc
+OUI:60FE1E*
+ ID_OUI_FROM_DATABASE=China Palms Telecom.Ltd
+
+OUI:60FEC5*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:6400F1*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -55933,6 +56959,9 @@ OUI:646E6C*
OUI:647002*
ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO., LTD.
+OUI:6472D8*
+ ID_OUI_FROM_DATABASE=GooWi Technology Co.,Limited
+
OUI:6473E2*
ID_OUI_FROM_DATABASE=Arbiter Systems, Inc.
@@ -55958,7 +56987,7 @@ OUI:64808B*
ID_OUI_FROM_DATABASE=VG Controls, Inc.
OUI:648099*
- ID_OUI_FROM_DATABASE=Intel Corporation
+ ID_OUI_FROM_DATABASE=Intel Corporate
OUI:648125*
ID_OUI_FROM_DATABASE=Alphatron Marine BV
@@ -55967,7 +56996,10 @@ OUI:648788*
ID_OUI_FROM_DATABASE=Juniper Networks
OUI:6487D7*
- ID_OUI_FROM_DATABASE=ADB Broadband Italia
+ ID_OUI_FROM_DATABASE=Pirelli Tyre S.p.A.
+
+OUI:6488FF*
+ ID_OUI_FROM_DATABASE=Sichuan Changhong Electric Ltd.
OUI:64995D*
ID_OUI_FROM_DATABASE=LGE
@@ -55981,6 +57013,9 @@ OUI:6499A0*
OUI:649B24*
ID_OUI_FROM_DATABASE=V Technology Co., Ltd.
+OUI:649C81*
+ ID_OUI_FROM_DATABASE=Qualcomm iSkoot, Inc.
+
OUI:649C8E*
ID_OUI_FROM_DATABASE=Texas Instruments
@@ -56014,6 +57049,9 @@ OUI:64AE0C*
OUI:64AE88*
ID_OUI_FROM_DATABASE=Polytec GmbH
+OUI:64B310*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:64B64A*
ID_OUI_FROM_DATABASE=ViVOtech, Inc.
@@ -56026,6 +57064,9 @@ OUI:64BC11*
OUI:64C5AA*
ID_OUI_FROM_DATABASE=South African Broadcasting Corporation
+OUI:64C667*
+ ID_OUI_FROM_DATABASE=Barnes&Noble
+
OUI:64C6AF*
ID_OUI_FROM_DATABASE=AXERRA Networks Ltd
@@ -56065,6 +57106,9 @@ OUI:64DE1C*
OUI:64E161*
ID_OUI_FROM_DATABASE=DEP Corp.
+OUI:64E599*
+ ID_OUI_FROM_DATABASE=EFM Networks
+
OUI:64E682*
ID_OUI_FROM_DATABASE=Apple, Inc.
@@ -56096,7 +57140,7 @@ OUI:64FC8C*
ID_OUI_FROM_DATABASE=Zonar Systems
OUI:6805CA*
- ID_OUI_FROM_DATABASE=Intel Corporation
+ ID_OUI_FROM_DATABASE=Intel Corporate
OUI:680927*
ID_OUI_FROM_DATABASE=Apple, Inc.
@@ -56104,6 +57148,9 @@ OUI:680927*
OUI:68122D*
ID_OUI_FROM_DATABASE=Special Instrument Development Co., Ltd.
+OUI:681590*
+ ID_OUI_FROM_DATABASE=SAGEMCOM SAS
+
OUI:6815D3*
ID_OUI_FROM_DATABASE=Zaklady Elektroniki i Mechaniki Precyzyjnej R&G S.A.
@@ -56131,6 +57178,9 @@ OUI:68234B*
OUI:683B1E*
ID_OUI_FROM_DATABASE=Countwise LTD
+OUI:683EEC*
+ ID_OUI_FROM_DATABASE=ERECA
+
OUI:684352*
ID_OUI_FROM_DATABASE=Bhuu Limited
@@ -56143,12 +57193,18 @@ OUI:684CA8*
OUI:6851B7*
ID_OUI_FROM_DATABASE=PowerCloud Systems, Inc.
+OUI:6854ED*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent - Nuage
+
OUI:6854F5*
ID_OUI_FROM_DATABASE=enLighted Inc
OUI:68597F*
ID_OUI_FROM_DATABASE=Alcatel Lucent
+OUI:685B35*
+ ID_OUI_FROM_DATABASE=Apple inc
+
OUI:685B36*
ID_OUI_FROM_DATABASE=POWERTECH INDUSTRIAL CO., LTD.
@@ -56179,9 +57235,15 @@ OUI:687924*
OUI:6879ED*
ID_OUI_FROM_DATABASE=SHARP Corporation
+OUI:687CD5*
+ ID_OUI_FROM_DATABASE=Y Soft Corporation, a.s.
+
OUI:687F74*
ID_OUI_FROM_DATABASE=Cisco-Linksys, LLC
+OUI:68831A*
+ ID_OUI_FROM_DATABASE=Pandora Mobility Corporation
+
OUI:688470*
ID_OUI_FROM_DATABASE=eSSys Co.,Ltd
@@ -56209,9 +57271,15 @@ OUI:68967B*
OUI:68974B*
ID_OUI_FROM_DATABASE=Shenzhen Costar Electronics Co. Ltd.
+OUI:6897E8*
+ ID_OUI_FROM_DATABASE=Society of Motion Picture &amp; Television Engineers
+
OUI:689C5E*
ID_OUI_FROM_DATABASE=AcSiP Technology Corp.
+OUI:689C70*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:68A1B7*
ID_OUI_FROM_DATABASE=Honghao Mingchuan Technology (Beijing) CO.,Ltd.
@@ -56233,6 +57301,9 @@ OUI:68AB8A*
OUI:68AF13*
ID_OUI_FROM_DATABASE=Futura Mobility
+OUI:68B094*
+ ID_OUI_FROM_DATABASE=INESA ELECTRON CO.,LTD
+
OUI:68B43A*
ID_OUI_FROM_DATABASE=WaterFurnace International, Inc.
@@ -56269,6 +57340,9 @@ OUI:68D1FD*
OUI:68D925*
ID_OUI_FROM_DATABASE=ProSys Development Services
+OUI:68DB67*
+ ID_OUI_FROM_DATABASE=Nantong Coship Electronics Co., Ltd
+
OUI:68DB96*
ID_OUI_FROM_DATABASE=OPWILL Technologies CO .,LTD
@@ -56284,9 +57358,15 @@ OUI:68EBAE*
OUI:68EBC5*
ID_OUI_FROM_DATABASE=Angstrem Telecom
+OUI:68EC62*
+ ID_OUI_FROM_DATABASE=YODO Technology Corp. Ltd.
+
OUI:68ED43*
ID_OUI_FROM_DATABASE=Research In Motion
+OUI:68EE96*
+ ID_OUI_FROM_DATABASE=Cisco SPVTG
+
OUI:68EFBD*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -56353,9 +57433,15 @@ OUI:6C3E9C*
OUI:6C40C6*
ID_OUI_FROM_DATABASE=Nimbus Data Systems, Inc.
+OUI:6C416A*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:6C504D*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:6C5779*
+ ID_OUI_FROM_DATABASE=Aclima, Inc.
+
OUI:6C5A34*
ID_OUI_FROM_DATABASE=Shenzhen Haitianxiong Electronic Co., Ltd.
@@ -56368,6 +57454,9 @@ OUI:6C5D63*
OUI:6C5E7A*
ID_OUI_FROM_DATABASE=Ubiquitous Internet Telecom Co., Ltd
+OUI:6C6126*
+ ID_OUI_FROM_DATABASE=Rinicom Holdings
+
OUI:6C626D*
ID_OUI_FROM_DATABASE=Micro-Star INT'L CO., LTD
@@ -56386,9 +57475,15 @@ OUI:6C81FE*
OUI:6C8336*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+OUI:6C8686*
+ ID_OUI_FROM_DATABASE=Technonia
+
OUI:6C8814*
ID_OUI_FROM_DATABASE=Intel Corporate
+OUI:6C8B2F*
+ ID_OUI_FROM_DATABASE=zte corporation
+
OUI:6C8CDB*
ID_OUI_FROM_DATABASE=Otus Technologies Ltd
@@ -56440,6 +57535,9 @@ OUI:6CAE8B*
OUI:6CB311*
ID_OUI_FROM_DATABASE=Shenzhen Lianrui Electronics Co.,Ltd
+OUI:6CB7F4*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:6CBEE9*
ID_OUI_FROM_DATABASE=Alcatel-Lucent-IPD
@@ -56476,6 +57574,9 @@ OUI:6CE907*
OUI:6CE983*
ID_OUI_FROM_DATABASE=Gastron Co., LTD.
+OUI:6CECA1*
+ ID_OUI_FROM_DATABASE=SHENZHEN CLOU ELECTRONICS CO. LTD.
+
OUI:6CF049*
ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD.
@@ -56485,6 +57586,9 @@ OUI:6CF373*
OUI:6CF37F*
ID_OUI_FROM_DATABASE=Aruba Networks
+OUI:6CFA58*
+ ID_OUI_FROM_DATABASE=Avaya, Inc
+
OUI:6CFDB9*
ID_OUI_FROM_DATABASE=Proware Technologies Co Ltd.
@@ -56500,11 +57604,17 @@ OUI:700514*
OUI:700BC0*
ID_OUI_FROM_DATABASE=Dewav Technology Company
+OUI:700FEC*
+ ID_OUI_FROM_DATABASE=Poindus Systems Corp.
+
+OUI:70105C*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:701124*
ID_OUI_FROM_DATABASE=Apple
OUI:701404*
- ID_OUI_FROM_DATABASE=Limited Liability Company "Research Center "Bresler"
+ ID_OUI_FROM_DATABASE=Limited Liability Company
OUI:701A04*
ID_OUI_FROM_DATABASE=Liteon Tech Corp.
@@ -56542,8 +57652,11 @@ OUI:7032D5*
OUI:703811*
ID_OUI_FROM_DATABASE=Invensys Rail
+OUI:7038B4*
+ ID_OUI_FROM_DATABASE=Low Tech Solutions
+
OUI:7038EE*
- ID_OUI_FROM_DATABASE=Avaya Inc
+ ID_OUI_FROM_DATABASE=Avaya, Inc
OUI:703AD8*
ID_OUI_FROM_DATABASE=Shenzhen Afoundry Electronic Co., Ltd
@@ -56563,6 +57676,9 @@ OUI:704AAE*
OUI:704AE4*
ID_OUI_FROM_DATABASE=Rinstrum Pty Ltd
+OUI:7052C5*
+ ID_OUI_FROM_DATABASE=Avaya, Inc.
+
OUI:7054D2*
ID_OUI_FROM_DATABASE=PEGATRON CORPORATION
@@ -56623,6 +57739,9 @@ OUI:707EDE*
OUI:708105*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:70820E*
+ ID_OUI_FROM_DATABASE=as electronics GmbH
+
OUI:70828E*
ID_OUI_FROM_DATABASE=OleumTech Corporation
@@ -56662,6 +57781,9 @@ OUI:70B035*
OUI:70B08C*
ID_OUI_FROM_DATABASE=Shenou Communication Equipment Co.,Ltd
+OUI:70B14E*
+ ID_OUI_FROM_DATABASE=Pace plc
+
OUI:70B265*
ID_OUI_FROM_DATABASE=Hiltron s.r.l.
@@ -56671,6 +57793,9 @@ OUI:70B599*
OUI:70B921*
ID_OUI_FROM_DATABASE=FiberHome Telecommunication Technologies CO.,LTD
+OUI:70C6AC*
+ ID_OUI_FROM_DATABASE=Bosch Automotive Aftermarket
+
OUI:70CA9B*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -56698,6 +57823,9 @@ OUI:70DDA1*
OUI:70DEE2*
ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:70E027*
+ ID_OUI_FROM_DATABASE=HONGYU COMMUNICATION TECHNOLOGY LIMITED
+
OUI:70E139*
ID_OUI_FROM_DATABASE=3view Ltd
@@ -56734,6 +57862,9 @@ OUI:7415E2*
OUI:741E93*
ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd.
+OUI:74258A*
+ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited
+
OUI:74273C*
ID_OUI_FROM_DATABASE=ChangYang Technology (Nanjing) Co., LTD
@@ -56770,6 +57901,9 @@ OUI:74458A*
OUI:7446A0*
ID_OUI_FROM_DATABASE=Hewlett Packard
+OUI:744BE9*
+ ID_OUI_FROM_DATABASE=EXPLORER HYPERTECH CO.,LTD
+
OUI:744D79*
ID_OUI_FROM_DATABASE=Arrive Systems Inc.
@@ -56821,9 +57955,15 @@ OUI:747E1A*
OUI:747E2D*
ID_OUI_FROM_DATABASE=Beijing Thomson CITIC Digital Technology Co. LTD.
+OUI:74867A*
+ ID_OUI_FROM_DATABASE=Dell Inc PCBA Test
+
OUI:74888B*
ID_OUI_FROM_DATABASE=ADB Broadband Italia
+OUI:748E08*
+ ID_OUI_FROM_DATABASE=Bestek Corp.
+
OUI:748EF8*
ID_OUI_FROM_DATABASE=Brocade Communications Systems, Inc.
@@ -56837,7 +57977,7 @@ OUI:7493A4*
ID_OUI_FROM_DATABASE=Zebra Technologies Corp.
OUI:74943D*
- ID_OUI_FROM_DATABASE=Hemisphere GPS
+ ID_OUI_FROM_DATABASE=AgJunction
OUI:749975*
ID_OUI_FROM_DATABASE=IBM Corporation
@@ -56851,6 +57991,9 @@ OUI:74A4A7*
OUI:74A722*
ID_OUI_FROM_DATABASE=LG Electronics
+OUI:74ADB7*
+ ID_OUI_FROM_DATABASE=China Mobile Group Device Co.,Ltd.
+
OUI:74AE76*
ID_OUI_FROM_DATABASE=iNovo Broadband, Inc.
@@ -56866,12 +58009,21 @@ OUI:74BE08*
OUI:74BFA1*
ID_OUI_FROM_DATABASE=HYUNTECK
+OUI:74C99A*
+ ID_OUI_FROM_DATABASE=Ericsson AB
+
+OUI:74CA25*
+ ID_OUI_FROM_DATABASE=Calxeda, Inc.
+
OUI:74CD0C*
ID_OUI_FROM_DATABASE=Smith Myers Communications Ltd.
OUI:74CE56*
ID_OUI_FROM_DATABASE=Packet Force Technology Limited Company
+OUI:74D02B*
+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
+
OUI:74D0DC*
ID_OUI_FROM_DATABASE=ERICSSON AB
@@ -56920,6 +58072,9 @@ OUI:74F06D*
OUI:74F07D*
ID_OUI_FROM_DATABASE=BnCOM Co.,Ltd
+OUI:74F102*
+ ID_OUI_FROM_DATABASE=Beijing HCHCOM Technology Co., Ltd
+
OUI:74F612*
ID_OUI_FROM_DATABASE=Motorola Mobility, Inc.
@@ -56965,6 +58120,9 @@ OUI:781DBA*
OUI:781DFD*
ID_OUI_FROM_DATABASE=Jabil Inc
+OUI:781FDB*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:78223D*
ID_OUI_FROM_DATABASE=Affirmed Networks
@@ -56980,6 +58138,9 @@ OUI:782BCB*
OUI:782EEF*
ID_OUI_FROM_DATABASE=Nokia Corporation
+OUI:78303B*
+ ID_OUI_FROM_DATABASE=Stephen Technologies Co.,Limited
+
OUI:7830E1*
ID_OUI_FROM_DATABASE=UltraClenz, LLC
@@ -57007,12 +58168,21 @@ OUI:7846C4*
OUI:78471D*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+OUI:784B08*
+ ID_OUI_FROM_DATABASE=f.robotics acquisitions ltd
+
OUI:78510C*
ID_OUI_FROM_DATABASE=LiveU Ltd.
+OUI:78521A*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:785262*
ID_OUI_FROM_DATABASE=Shenzhen Hojy Software Co., Ltd.
+OUI:78542E*
+ ID_OUI_FROM_DATABASE=D-Link International
+
OUI:785517*
ID_OUI_FROM_DATABASE=SankyuElectronics
@@ -57053,7 +58223,10 @@ OUI:788973*
ID_OUI_FROM_DATABASE=CMC
OUI:788C54*
- ID_OUI_FROM_DATABASE=Enkom Technologies Ltd.
+ ID_OUI_FROM_DATABASE=Eltek Technologies LTD
+
+OUI:788DF7*
+ ID_OUI_FROM_DATABASE=Hitron Technologies. Inc
OUI:78929C*
ID_OUI_FROM_DATABASE=Intel Corporate
@@ -57064,6 +58237,9 @@ OUI:7898FD*
OUI:78995C*
ID_OUI_FROM_DATABASE=Nationz Technologies Inc
+OUI:789966*
+ ID_OUI_FROM_DATABASE=Musilab Electronics (DongGuan)Co.,Ltd.
+
OUI:78998F*
ID_OUI_FROM_DATABASE=MEDILINE ITALIA SRL
@@ -57076,6 +58252,9 @@ OUI:789F87*
OUI:78A051*
ID_OUI_FROM_DATABASE=iiNet Labs Pty Ltd
+OUI:78A106*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
OUI:78A183*
ID_OUI_FROM_DATABASE=Advidia
@@ -57100,9 +58279,15 @@ OUI:78A714*
OUI:78AB60*
ID_OUI_FROM_DATABASE=ABB Australia
+OUI:78ABBB*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD
+
OUI:78ACC0*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company
+OUI:78B3CE*
+ ID_OUI_FROM_DATABASE=Elo touch solutions
+
OUI:78B6C1*
ID_OUI_FROM_DATABASE=AOBO Telecom Co.,Ltd
@@ -57148,9 +58333,18 @@ OUI:78D129*
OUI:78D34F*
ID_OUI_FROM_DATABASE=Pace-O-Matic, Inc.
+OUI:78D38D*
+ ID_OUI_FROM_DATABASE=HONGKONG YUNLINK TECHNOLOGY LIMITED
+
+OUI:78D5B5*
+ ID_OUI_FROM_DATABASE=NAVIELEKTRO KY
+
OUI:78D6F0*
ID_OUI_FROM_DATABASE=Samsung Electro Mechanics
+OUI:78DAB3*
+ ID_OUI_FROM_DATABASE=GBO Technology
+
OUI:78DD08*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
@@ -57175,15 +58369,24 @@ OUI:78EC22*
OUI:78EF4C*
ID_OUI_FROM_DATABASE=Unetconvergence Co., Ltd.
+OUI:78F5E5*
+ ID_OUI_FROM_DATABASE=BEGA Gantenbrink-Leuchten KG
+
OUI:78F5FD*
ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+OUI:78F7BE*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:78F7D0*
ID_OUI_FROM_DATABASE=Silverbrook Research
OUI:78FE3D*
ID_OUI_FROM_DATABASE=Juniper Networks
+OUI:78FF57*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
OUI:7C0187*
ID_OUI_FROM_DATABASE=Curtis Instruments, Inc.
@@ -57196,6 +58399,9 @@ OUI:7C034C*
OUI:7C03D8*
ID_OUI_FROM_DATABASE=SAGEMCOM SAS
+OUI:7C0507*
+ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION
+
OUI:7C051E*
ID_OUI_FROM_DATABASE=RAFAEL LTD.
@@ -57212,7 +58418,7 @@ OUI:7C11BE*
ID_OUI_FROM_DATABASE=Apple, Inc.
OUI:7C1476*
- ID_OUI_FROM_DATABASE=Damall Technologies S.A.S. Di Ludovic Anselme Glaglanon & C.
+ ID_OUI_FROM_DATABASE=Damall Technologies SAS
OUI:7C160D*
ID_OUI_FROM_DATABASE=Saia-Burgess Controls AG
@@ -57274,6 +58480,9 @@ OUI:7C4FB5*
OUI:7C55E7*
ID_OUI_FROM_DATABASE=YSI, Inc.
+OUI:7C6097*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:7C6193*
ID_OUI_FROM_DATABASE=HTC Corporation
@@ -57322,6 +58531,9 @@ OUI:7C94B2*
OUI:7C9A9B*
ID_OUI_FROM_DATABASE=VSE valencia smart energy
+OUI:7CA15D*
+ ID_OUI_FROM_DATABASE=GN ReSound A/S
+
OUI:7CA29B*
ID_OUI_FROM_DATABASE=D.SignT GmbH & Co. KG
@@ -57331,8 +58543,11 @@ OUI:7CA61D*
OUI:7CACB2*
ID_OUI_FROM_DATABASE=Bosch Software Innovations GmbH
+OUI:7CAD74*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:7CB03E*
- ID_OUI_FROM_DATABASE=OSRAM AG
+ ID_OUI_FROM_DATABASE=OSRAM GmbH
OUI:7CB21B*
ID_OUI_FROM_DATABASE=Cisco SPVTG
@@ -57365,7 +58580,7 @@ OUI:7CC8D7*
ID_OUI_FROM_DATABASE=Damalisk
OUI:7CCB0D*
- ID_OUI_FROM_DATABASE=Aaxeon Technologies Inc.
+ ID_OUI_FROM_DATABASE=Antaira Technologies, LLC
OUI:7CCFCF*
ID_OUI_FROM_DATABASE=Shanghai SEARI Intelligent System Co., Ltd
@@ -57373,6 +58588,12 @@ OUI:7CCFCF*
OUI:7CD1C3*
ID_OUI_FROM_DATABASE=Apple Inc
+OUI:7CD762*
+ ID_OUI_FROM_DATABASE=Freestyle Technology Pty Ltd
+
+OUI:7CD844*
+ ID_OUI_FROM_DATABASE=Enmotus Inc
+
OUI:7CD9FE*
ID_OUI_FROM_DATABASE=New Cosmos Electric Co., Ltd.
@@ -57418,6 +58639,9 @@ OUI:7CF0BA*
OUI:7CF429*
ID_OUI_FROM_DATABASE=NUUO Inc.
+OUI:7CFADF*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:7CFE28*
ID_OUI_FROM_DATABASE=Salutron Inc.
@@ -57496,6 +58720,9 @@ OUI:804731*
OUI:804971*
ID_OUI_FROM_DATABASE=Apple Inc
+OUI:804B20*
+ ID_OUI_FROM_DATABASE=Ventilation Control
+
OUI:804F58*
ID_OUI_FROM_DATABASE=ThinkEco, Inc.
@@ -57517,6 +58744,9 @@ OUI:8065E9*
OUI:806629*
ID_OUI_FROM_DATABASE=Prescope Technologies CO.,LTD.
+OUI:806C8B*
+ ID_OUI_FROM_DATABASE=KAESER KOMPRESSOREN AG
+
OUI:806CBC*
ID_OUI_FROM_DATABASE=NET New Electronic Technology GmbH
@@ -57547,6 +58777,9 @@ OUI:808287*
OUI:808698*
ID_OUI_FROM_DATABASE=Netronics Technologies Inc.
+OUI:8086F2*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
OUI:808B5C*
ID_OUI_FROM_DATABASE=Shenzhen Runhuicheng Technology Co., Ltd
@@ -57566,7 +58799,7 @@ OUI:80946C*
ID_OUI_FROM_DATABASE=TOKYO RADAR CORPORATION
OUI:8096B1*
- ID_OUI_FROM_DATABASE=Motorola Mobility
+ ID_OUI_FROM_DATABASE=Motorola Mobility, LLC.
OUI:80971B*
ID_OUI_FROM_DATABASE=Altenergy Power System,Inc.
@@ -57595,6 +58828,9 @@ OUI:80B95C*
OUI:80BAAC*
ID_OUI_FROM_DATABASE=TeleAdapt Ltd
+OUI:80BBEB*
+ ID_OUI_FROM_DATABASE=Satmap Systems Ltd
+
OUI:80C16E*
ID_OUI_FROM_DATABASE=Hewlett Packard
@@ -57661,6 +58897,9 @@ OUI:841888*
OUI:841B5E*
ID_OUI_FROM_DATABASE=NETGEAR
+OUI:841E26*
+ ID_OUI_FROM_DATABASE=KERNEL-I Co.,LTD
+
OUI:842141*
ID_OUI_FROM_DATABASE=Shenzhen Ginwave Technologies Ltd.
@@ -57688,6 +58927,9 @@ OUI:842B50*
OUI:842BBC*
ID_OUI_FROM_DATABASE=Modelleisenbahn GmbH
+OUI:842F75*
+ ID_OUI_FROM_DATABASE=Innokas Group
+
OUI:8430E5*
ID_OUI_FROM_DATABASE=SkyHawke Technologies, LLC
@@ -57697,6 +58939,9 @@ OUI:843497*
OUI:843611*
ID_OUI_FROM_DATABASE=hyungseul publishing networks
+OUI:843835*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:843A4B*
ID_OUI_FROM_DATABASE=Intel Corporate
@@ -57721,6 +58966,9 @@ OUI:845787*
OUI:845DD7*
ID_OUI_FROM_DATABASE=Shenzhen Netcom Electronics Co.,Ltd
+OUI:846223*
+ ID_OUI_FROM_DATABASE=Shenzhen Coship Electronics Co., Ltd.
+
OUI:8462A6*
ID_OUI_FROM_DATABASE=EuroCB (Phils), Inc.
@@ -57745,6 +58993,9 @@ OUI:847E40*
OUI:8482F4*
ID_OUI_FROM_DATABASE=Beijing Huasun Unicreate Technology Co., Ltd
+OUI:848371*
+ ID_OUI_FROM_DATABASE=Avaya, Inc
+
OUI:848506*
ID_OUI_FROM_DATABASE=Apple Inc
@@ -57773,7 +59024,7 @@ OUI:84A6C8*
ID_OUI_FROM_DATABASE=Intel Corporate
OUI:84A8E4*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
OUI:84A991*
ID_OUI_FROM_DATABASE=Cyber Trans Japan Co.,Ltd.
@@ -57800,7 +59051,7 @@ OUI:84C9B2*
ID_OUI_FROM_DATABASE=D-Link International
OUI:84D32A*
- ID_OUI_FROM_DATABASE=IEEE P1905.1
+ ID_OUI_FROM_DATABASE=IEEE 1905.1
OUI:84D9C8*
ID_OUI_FROM_DATABASE=Unipattern Co.,
@@ -57808,12 +59059,21 @@ OUI:84D9C8*
OUI:84DB2F*
ID_OUI_FROM_DATABASE=Sierra Wireless Inc
+OUI:84DD20*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
OUI:84DE3D*
ID_OUI_FROM_DATABASE=Crystal Vision Ltd
OUI:84DF0C*
ID_OUI_FROM_DATABASE=NET2GRID BV
+OUI:84E4D9*
+ ID_OUI_FROM_DATABASE=Shenzhen NEED technology Ltd.
+
+OUI:84E629*
+ ID_OUI_FROM_DATABASE=Bluwan SA
+
OUI:84E714*
ID_OUI_FROM_DATABASE=Liang Herng Enterprise,Co.Ltd.
@@ -57823,45 +59083,72 @@ OUI:84EA99*
OUI:84ED33*
ID_OUI_FROM_DATABASE=BBMC Co.,Ltd
+OUI:84F493*
+ ID_OUI_FROM_DATABASE=OMS spol. s.r.o.
+
OUI:84F64C*
ID_OUI_FROM_DATABASE=Cross Point BV
OUI:84FCFE*
ID_OUI_FROM_DATABASE=Apple
+OUI:880355*
+ ID_OUI_FROM_DATABASE=Arcadyan Technology Corp.
+
+OUI:880905*
+ ID_OUI_FROM_DATABASE=MTMCommunications
+
OUI:881036*
ID_OUI_FROM_DATABASE=Panodic(ShenZhen) Electronics Limted
+OUI:88142B*
+ ID_OUI_FROM_DATABASE=Protonic Holland
+
OUI:881544*
ID_OUI_FROM_DATABASE=Meraki, Inc.
OUI:8818AE*
ID_OUI_FROM_DATABASE=Tamron Co., Ltd
+OUI:881FA1*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:882012*
ID_OUI_FROM_DATABASE=LMI Technologies
OUI:8821E3*
ID_OUI_FROM_DATABASE=Nebusens, S.L.
+OUI:882364*
+ ID_OUI_FROM_DATABASE=Watchnet DVR Inc
+
OUI:8823FE*
ID_OUI_FROM_DATABASE=TTTech Computertechnik AG
OUI:88252C*
ID_OUI_FROM_DATABASE=Arcadyan Technology Corporation
+OUI:882E5A*
+ ID_OUI_FROM_DATABASE=storONE
+
OUI:88308A*
ID_OUI_FROM_DATABASE=Murata Manufactuaring Co.,Ltd.
OUI:88329B*
ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co.,LTD.
+OUI:883314*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
OUI:8841C1*
ID_OUI_FROM_DATABASE=ORBISAT DA AMAZONIA IND E AEROL SA
OUI:8843E1*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:88462A*
+ ID_OUI_FROM_DATABASE=Telechips Inc.
+
OUI:884B39*
ID_OUI_FROM_DATABASE=Siemens AG, Healthcare Sector
@@ -57883,9 +59170,15 @@ OUI:885C4F*
OUI:88615A*
ID_OUI_FROM_DATABASE=Siano Mobile Silicon Ltd.
+OUI:88685C*
+ ID_OUI_FROM_DATABASE=Shenzhen ChuangDao & Perpetual Eternal Technology Co.,Ltd
+
OUI:886B76*
ID_OUI_FROM_DATABASE=CHINA HOPEFUL GROUP HOPEFUL ELECTRIC CO.,LTD
+OUI:887398*
+ ID_OUI_FROM_DATABASE=K2E Tekpoint
+
OUI:887556*
ID_OUI_FROM_DATABASE=Cisco
@@ -57898,6 +59191,9 @@ OUI:888717*
OUI:8887DD*
ID_OUI_FROM_DATABASE=DarbeeVision Inc.
+OUI:888964*
+ ID_OUI_FROM_DATABASE=GSI Electronics Inc.
+
OUI:888B5D*
ID_OUI_FROM_DATABASE=Storage Appliance Corporation
@@ -57922,6 +59218,9 @@ OUI:8897DF*
OUI:889821*
ID_OUI_FROM_DATABASE=TERAON
+OUI:889B39*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:889FFA*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
@@ -58033,6 +59332,9 @@ OUI:8C2DAA*
OUI:8C3330*
ID_OUI_FROM_DATABASE=EmFirst Co., Ltd.
+OUI:8C3C07*
+ ID_OUI_FROM_DATABASE=Skiva Technologies, Inc.
+
OUI:8C3C4A*
ID_OUI_FROM_DATABASE=NAKAYO TELECOMMUNICATIONS,INC.
@@ -58069,6 +59371,9 @@ OUI:8C5877*
OUI:8C598B*
ID_OUI_FROM_DATABASE=C Technologies AB
+OUI:8C5AF0*
+ ID_OUI_FROM_DATABASE=Exeltech Solar Products
+
OUI:8C5CA1*
ID_OUI_FROM_DATABASE=d-broad,INC
@@ -58105,6 +59410,9 @@ OUI:8C76C1*
OUI:8C7712*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+OUI:8C7716*
+ ID_OUI_FROM_DATABASE=LONGCHEER TELECOMMUNICATION LIMITED
+
OUI:8C7B9D*
ID_OUI_FROM_DATABASE=Apple, Inc.
@@ -58157,7 +59465,7 @@ OUI:8CB864*
ID_OUI_FROM_DATABASE=AcSiP Technology Corp.
OUI:8CC121*
- ID_OUI_FROM_DATABASE=Panasonic AVC Networks Company
+ ID_OUI_FROM_DATABASE=Panasonic Corporation AVC Networks Company
OUI:8CC5E1*
ID_OUI_FROM_DATABASE=ShenZhen Konka Telecommunication Technology Co.,Ltd
@@ -58165,6 +59473,9 @@ OUI:8CC5E1*
OUI:8CC7AA*
ID_OUI_FROM_DATABASE=Radinet Communications Inc.
+OUI:8CC7D0*
+ ID_OUI_FROM_DATABASE=zhejiang ebang communication co.,ltd
+
OUI:8CC8CD*
ID_OUI_FROM_DATABASE=Samsung Electronics Co., LTD
@@ -58201,6 +59512,9 @@ OUI:8CE7B3*
OUI:8CEEC6*
ID_OUI_FROM_DATABASE=Precepscion Pty. Ltd.
+OUI:8CF945*
+ ID_OUI_FROM_DATABASE=Power Automation pte Ltd
+
OUI:8CF9C9*
ID_OUI_FROM_DATABASE=MESADA Technology Co.,Ltd.
@@ -58249,6 +59563,9 @@ OUI:901900*
OUI:901B0E*
ID_OUI_FROM_DATABASE=Fujitsu Technology Solutions GmbH
+OUI:901D27*
+ ID_OUI_FROM_DATABASE=zte corporation
+
OUI:901EDD*
ID_OUI_FROM_DATABASE=GREAT COMPUTER CORPORATION
@@ -58285,6 +59602,9 @@ OUI:903D5A*
OUI:903D6B*
ID_OUI_FROM_DATABASE=Zicon Technology Corp.
+OUI:9046B7*
+ ID_OUI_FROM_DATABASE=Vadaro Pte Ltd
+
OUI:904716*
ID_OUI_FROM_DATABASE=RORZE CORPORATION
@@ -58306,6 +59626,9 @@ OUI:9055AE*
OUI:905682*
ID_OUI_FROM_DATABASE=Lenbrook Industries Limited
+OUI:905692*
+ ID_OUI_FROM_DATABASE=Autotalks Ltd.
+
OUI:9059AF*
ID_OUI_FROM_DATABASE=Texas Instruments
@@ -58333,6 +59656,9 @@ OUI:906EBB*
OUI:907025*
ID_OUI_FROM_DATABASE=Garea Microsys Co.,Ltd.
+OUI:907AF1*
+ ID_OUI_FROM_DATABASE=SNUPI Technologies
+
OUI:907F61*
ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd.
@@ -58423,11 +59749,14 @@ OUI:90D852*
OUI:90D92C*
ID_OUI_FROM_DATABASE=HUG-WITSCHI AG
+OUI:90DA4E*
+ ID_OUI_FROM_DATABASE=AVANU
+
OUI:90E0F0*
- ID_OUI_FROM_DATABASE=IEEE P1722
+ ID_OUI_FROM_DATABASE=Harman International
OUI:90E2BA*
- ID_OUI_FROM_DATABASE=Intel Corporation
+ ID_OUI_FROM_DATABASE=Intel Corporate
OUI:90E6BA*
ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
@@ -58498,17 +59827,23 @@ OUI:94319B*
OUI:9433DD*
ID_OUI_FROM_DATABASE=Taco Electronic Solutions, Inc.
+OUI:9436E0*
+ ID_OUI_FROM_DATABASE=Sichuan Bihong Broadcast &amp; Television New Technologies Co.,Ltd
+
OUI:9439E5*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
OUI:943AF0*
ID_OUI_FROM_DATABASE=Nokia Corporation
+OUI:9440A2*
+ ID_OUI_FROM_DATABASE=Anywave Communication Technologies, Inc.
+
OUI:944444*
ID_OUI_FROM_DATABASE=LG Innotek
OUI:944452*
- ID_OUI_FROM_DATABASE=Belkin International, Inc.
+ ID_OUI_FROM_DATABASE=Belkin International Inc.
OUI:944696*
ID_OUI_FROM_DATABASE=BaudTec Corporation
@@ -58516,6 +59851,9 @@ OUI:944696*
OUI:944A09*
ID_OUI_FROM_DATABASE=BitWise Controls
+OUI:945047*
+ ID_OUI_FROM_DATABASE=Rechnerbetriebsgruppe
+
OUI:945103*
ID_OUI_FROM_DATABASE=Samsung Electronics
@@ -58558,21 +59896,33 @@ OUI:948FEE*
OUI:949426*
ID_OUI_FROM_DATABASE=Apple
+OUI:9498A2*
+ ID_OUI_FROM_DATABASE=Shanghai LISTEN TECH.LTD
+
OUI:949BFD*
ID_OUI_FROM_DATABASE=Trans New Technology, Inc.
OUI:949C55*
ID_OUI_FROM_DATABASE=Alta Data Technologies
+OUI:949FB4*
+ ID_OUI_FROM_DATABASE=ChengDu JiaFaAnTai Technology Co.,Ltd
+
OUI:94A7BC*
ID_OUI_FROM_DATABASE=BodyMedia, Inc.
OUI:94AAB8*
ID_OUI_FROM_DATABASE=Joview(Beijing) Technology Co. Ltd.
+OUI:94ACCA*
+ ID_OUI_FROM_DATABASE=trivum technologies GmbH
+
OUI:94AE61*
ID_OUI_FROM_DATABASE=Alcatel Lucent
+OUI:94B8C5*
+ ID_OUI_FROM_DATABASE=RuggedCom Inc.
+
OUI:94BA31*
ID_OUI_FROM_DATABASE=Visiontec da Amazônia Ltda.
@@ -58597,12 +59947,18 @@ OUI:94CCB9*
OUI:94CDAC*
ID_OUI_FROM_DATABASE=Creowave Oy
+OUI:94CE2C*
+ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB
+
OUI:94D019*
ID_OUI_FROM_DATABASE=Cydle Corp.
OUI:94D723*
ID_OUI_FROM_DATABASE=Shanghai DareGlobal Technologies Co., Ltd
+OUI:94D771*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:94D93C*
ID_OUI_FROM_DATABASE=ENELPS
@@ -58636,6 +59992,9 @@ OUI:94E711*
OUI:94E848*
ID_OUI_FROM_DATABASE=FYLDE MICRO LTD
+OUI:94EBCD*
+ ID_OUI_FROM_DATABASE=Research In Motion Limited
+
OUI:94F692*
ID_OUI_FROM_DATABASE=Geminico co.,Ltd.
@@ -58666,6 +60025,12 @@ OUI:9803D8*
OUI:980C82*
ID_OUI_FROM_DATABASE=Samsung Electro Mechanics
+OUI:980D2E*
+ ID_OUI_FROM_DATABASE=HTC Corporation
+
+OUI:981094*
+ ID_OUI_FROM_DATABASE=Shenzhen Vsun communication technology Co.,ltd
+
OUI:98208E*
ID_OUI_FROM_DATABASE=Definium Technologies
@@ -58687,12 +60052,18 @@ OUI:982D56*
OUI:983000*
ID_OUI_FROM_DATABASE=Beijing KEMACOM Technologies Co., Ltd.
+OUI:983071*
+ ID_OUI_FROM_DATABASE=DAIKYUNG VASCOM
+
OUI:983571*
ID_OUI_FROM_DATABASE=Sub10 Systems Ltd
OUI:9835B8*
ID_OUI_FROM_DATABASE=Assembled Products Corporation
+OUI:983B16*
+ ID_OUI_FROM_DATABASE=AMPAK Technology Inc
+
OUI:983F9F*
ID_OUI_FROM_DATABASE=China SSJ (Suzhou) Network Technology Inc.
@@ -58706,7 +60077,7 @@ OUI:984A47*
ID_OUI_FROM_DATABASE=CHG Hospital Beds
OUI:984B4A*
- ID_OUI_FROM_DATABASE=Motorola Mobility Inc.
+ ID_OUI_FROM_DATABASE=Motorola Mobility, LLC.
OUI:984BE1*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company
@@ -58720,6 +60091,9 @@ OUI:984CD3*
OUI:984E97*
ID_OUI_FROM_DATABASE=Starlight Marketing (H. K.) Ltd.
+OUI:984FEE*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
OUI:9852B1*
ID_OUI_FROM_DATABASE=Samsung Electronics
@@ -58732,6 +60106,9 @@ OUI:98588A*
OUI:985945*
ID_OUI_FROM_DATABASE=Texas Instruments
+OUI:985C93*
+ ID_OUI_FROM_DATABASE=SBG Systems SAS
+
OUI:985E1B*
ID_OUI_FROM_DATABASE=ConversDigital Co., Ltd.
@@ -58771,6 +60148,9 @@ OUI:988EDD*
OUI:989080*
ID_OUI_FROM_DATABASE=Linkpower Network System Inc Ltd.
+OUI:9893CC*
+ ID_OUI_FROM_DATABASE=LG Electronics Inc.
+
OUI:989449*
ID_OUI_FROM_DATABASE=Skyworth Wireless Technology Ltd.
@@ -58780,6 +60160,9 @@ OUI:98A7B0*
OUI:98AAD7*
ID_OUI_FROM_DATABASE=BLUE WAVE NETWORKING CO LTD
+OUI:98B039*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent
+
OUI:98B8E3*
ID_OUI_FROM_DATABASE=Apple
@@ -58849,6 +60232,9 @@ OUI:9C066E*
OUI:9C0DAC*
ID_OUI_FROM_DATABASE=Tymphany HK Limited
+OUI:9C1465*
+ ID_OUI_FROM_DATABASE=Edata Elektronik San. ve Tic. A.Ş.
+
OUI:9C1874*
ID_OUI_FROM_DATABASE=Nokia Danmark A/S
@@ -58876,6 +60262,9 @@ OUI:9C3178*
OUI:9C31B6*
ID_OUI_FROM_DATABASE=Kulite Semiconductor Products Inc
+OUI:9C3AAF*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:9C417C*
ID_OUI_FROM_DATABASE=Hame Technology Co., Limited
@@ -58897,6 +60286,9 @@ OUI:9C4E36*
OUI:9C4E8E*
ID_OUI_FROM_DATABASE=ALT Systems Ltd
+OUI:9C4EBF*
+ ID_OUI_FROM_DATABASE=BoxCast
+
OUI:9C53CD*
ID_OUI_FROM_DATABASE=ENGICAM s.r.l.
@@ -58945,6 +60337,9 @@ OUI:9C7514*
OUI:9C77AA*
ID_OUI_FROM_DATABASE=NADASNV
+OUI:9C79AC*
+ ID_OUI_FROM_DATABASE=Suntec Software(Shanghai) Co., Ltd.
+
OUI:9C7BD2*
ID_OUI_FROM_DATABASE=NEOLAB Convergence
@@ -58969,6 +60364,9 @@ OUI:9C934E*
OUI:9C95F8*
ID_OUI_FROM_DATABASE=SmartDoor Systems, LLC
+OUI:9C9726*
+ ID_OUI_FROM_DATABASE=Technicolor
+
OUI:9C9811*
ID_OUI_FROM_DATABASE=Guangzhou Sunrise Electronics Development Co., Ltd
@@ -58981,6 +60379,9 @@ OUI:9CA134*
OUI:9CA3BA*
ID_OUI_FROM_DATABASE=SAKURA Internet Inc.
+OUI:9CA577*
+ ID_OUI_FROM_DATABASE=Osorno Enterprises Inc.
+
OUI:9CADEF*
ID_OUI_FROM_DATABASE=Obihai Technology, Inc.
@@ -58996,6 +60397,9 @@ OUI:9CB206*
OUI:9CB70D*
ID_OUI_FROM_DATABASE=Liteon Technology Corporation
+OUI:9CB793*
+ ID_OUI_FROM_DATABASE=Creatcomm Technology Inc.
+
OUI:9CC077*
ID_OUI_FROM_DATABASE=PrintCounts, LLC
@@ -59032,6 +60436,9 @@ OUI:9CE1D6*
OUI:9CE635*
ID_OUI_FROM_DATABASE=Nintendo Co., Ltd.
+OUI:9CE6E7*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:9CEBE8*
ID_OUI_FROM_DATABASE=BizLink (Kunshan) Co.,Ltd
@@ -59063,7 +60470,7 @@ OUI:A00BBA*
ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO-MECHANICS
OUI:A00CA1*
- ID_OUI_FROM_DATABASE=SKTB "SKiT"
+ ID_OUI_FROM_DATABASE=SKTB SKiT
OUI:A0133B*
ID_OUI_FROM_DATABASE=Copyright © HiTi Digital, Inc.
@@ -59077,6 +60484,9 @@ OUI:A01859*
OUI:A01917*
ID_OUI_FROM_DATABASE=Bertel S.p.a.
+OUI:A01C05*
+ ID_OUI_FROM_DATABASE=NIMAX TELECOM CO.,LTD.
+
OUI:A02195*
ID_OUI_FROM_DATABASE=Samsung Electronics Digital Imaging
@@ -59090,7 +60500,7 @@ OUI:A02EF3*
ID_OUI_FROM_DATABASE=United Integrated Services Co., Led.
OUI:A0369F*
- ID_OUI_FROM_DATABASE=Intel Corporation
+ ID_OUI_FROM_DATABASE=Intel Corporate
OUI:A036F0*
ID_OUI_FROM_DATABASE=Comprehensive Power
@@ -59131,6 +60541,9 @@ OUI:A0593A*
OUI:A05AA4*
ID_OUI_FROM_DATABASE=Grand Products Nevada, Inc.
+OUI:A05B21*
+ ID_OUI_FROM_DATABASE=ENVINET GmbH
+
OUI:A05DC1*
ID_OUI_FROM_DATABASE=TMCT Co., LTD.
@@ -59161,15 +60574,24 @@ OUI:A071A9*
OUI:A07332*
ID_OUI_FROM_DATABASE=Cashmaster International Limited
+OUI:A073FC*
+ ID_OUI_FROM_DATABASE=Rancore Technologies Private Limited
+
OUI:A07591*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
OUI:A078BA*
ID_OUI_FROM_DATABASE=Pantech Co., Ltd.
+OUI:A0821F*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:A082C7*
ID_OUI_FROM_DATABASE=P.T.I Co.,LTD
+OUI:A0861D*
+ ID_OUI_FROM_DATABASE=Chengdu Fuhuaxin Technology co.,Ltd
+
OUI:A086EC*
ID_OUI_FROM_DATABASE=SAEHAN HITEC Co., Ltd
@@ -59179,6 +60601,9 @@ OUI:A08869*
OUI:A088B4*
ID_OUI_FROM_DATABASE=Intel Corporate
+OUI:A08A87*
+ ID_OUI_FROM_DATABASE=HuiZhou KaiYue Electronic Co.,Ltd
+
OUI:A08C15*
ID_OUI_FROM_DATABASE=Gerhard D. Wempe KG
@@ -59197,6 +60622,9 @@ OUI:A098ED*
OUI:A09A5A*
ID_OUI_FROM_DATABASE=Time Domain
+OUI:A09BBD*
+ ID_OUI_FROM_DATABASE=Total Aviation Solutions Pty Ltd
+
OUI:A0A130*
ID_OUI_FROM_DATABASE=DLI Taiwan Branch office
@@ -59206,6 +60634,9 @@ OUI:A0A763*
OUI:A0AAFD*
ID_OUI_FROM_DATABASE=EraThink Technologies Corp.
+OUI:A0B100*
+ ID_OUI_FROM_DATABASE=ShenZhen Cando Electronics Co.,Ltd
+
OUI:A0B3CC*
ID_OUI_FROM_DATABASE=Hewlett Packard
@@ -59237,7 +60668,7 @@ OUI:A0DD97*
ID_OUI_FROM_DATABASE=PolarLink Technologies, Ltd
OUI:A0DDE5*
- ID_OUI_FROM_DATABASE=SHARP CORPORATION
+ ID_OUI_FROM_DATABASE=SHARP Corporation
OUI:A0DE05*
ID_OUI_FROM_DATABASE=JSC "Irbis-T"
@@ -59257,6 +60688,15 @@ OUI:A0E534*
OUI:A0E9DB*
ID_OUI_FROM_DATABASE=Ningbo FreeWings Technologies Co.,Ltd
+OUI:A0EB76*
+ ID_OUI_FROM_DATABASE=AirCUVE Inc.
+
+OUI:A0EC80*
+ ID_OUI_FROM_DATABASE=zte corporation
+
+OUI:A0EDCD*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:A0EF84*
ID_OUI_FROM_DATABASE=Seine Image Int'l Co., Ltd
@@ -59290,6 +60730,9 @@ OUI:A40CC3*
OUI:A4134E*
ID_OUI_FROM_DATABASE=Luxul
+OUI:A41566*
+ ID_OUI_FROM_DATABASE=Wei Fang Goertek Electronics Co.,Ltd
+
OUI:A41731*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
@@ -59356,6 +60799,9 @@ OUI:A45A1C*
OUI:A45C27*
ID_OUI_FROM_DATABASE=Nintendo Co., Ltd.
+OUI:A45D36*
+ ID_OUI_FROM_DATABASE=Hewlett Packard
+
OUI:A46706*
ID_OUI_FROM_DATABASE=Apple, Inc.
@@ -59368,6 +60814,9 @@ OUI:A479E4*
OUI:A47AA4*
ID_OUI_FROM_DATABASE=Motorola Mobility, Inc.
+OUI:A47ACF*
+ ID_OUI_FROM_DATABASE=VIBICOM COMMUNICATIONS INC.
+
OUI:A47C14*
ID_OUI_FROM_DATABASE=ChargeStorm AB
@@ -59395,6 +60844,9 @@ OUI:A49981*
OUI:A49B13*
ID_OUI_FROM_DATABASE=Burroughs Payment Systems, Inc.
+OUI:A49EDB*
+ ID_OUI_FROM_DATABASE=AutoCrib, Inc.
+
OUI:A4A24A*
ID_OUI_FROM_DATABASE=Cisco SPVTG
@@ -59428,6 +60880,9 @@ OUI:A4B2A7*
OUI:A4B36A*
ID_OUI_FROM_DATABASE=JSC SDO Chromatec
+OUI:A4B818*
+ ID_OUI_FROM_DATABASE=PENTA Gesellschaft für elektronische Industriedatenverarbeitung mbH
+
OUI:A4B980*
ID_OUI_FROM_DATABASE=Parking BOXX Inc.
@@ -59443,6 +60898,9 @@ OUI:A4C0E1*
OUI:A4C2AB*
ID_OUI_FROM_DATABASE=Hangzhou LEAD-IT Information & Technology Co.,Ltd
+OUI:A4D094*
+ ID_OUI_FROM_DATABASE=Erwin Peters Systemtechnik GmbH
+
OUI:A4D18F*
ID_OUI_FROM_DATABASE=Shenzhen Skyee Optical Fiber Communication Technology Ltd.
@@ -59452,6 +60910,9 @@ OUI:A4D1D1*
OUI:A4D1D2*
ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:A4D3B5*
+ ID_OUI_FROM_DATABASE=GLITEL Stropkov, s.r.o.
+
OUI:A4D856*
ID_OUI_FROM_DATABASE=Qualcomm Labs Inc.
@@ -59464,6 +60925,9 @@ OUI:A4DB2E*
OUI:A4DE50*
ID_OUI_FROM_DATABASE=Total Walther GmbH
+OUI:A4E0E6*
+ ID_OUI_FROM_DATABASE=FILIZOLA S.A. PESAGEM E AUTOMACAO
+
OUI:A4E32E*
ID_OUI_FROM_DATABASE=Silicon & Software Systems Ltd.
@@ -59476,6 +60940,12 @@ OUI:A4E731*
OUI:A4E7E4*
ID_OUI_FROM_DATABASE=Connex GmbH
+OUI:A4E991*
+ ID_OUI_FROM_DATABASE=SISTEMAS AUDIOVISUALES ITELSIS S.L.
+
+OUI:A4EBD3*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:A4ED4E*
ID_OUI_FROM_DATABASE=Motorola Mobility, Inc.
@@ -59485,15 +60955,27 @@ OUI:A4EE57*
OUI:A4EF52*
ID_OUI_FROM_DATABASE=Telewave Co., Ltd.
+OUI:A4F3C1*
+ ID_OUI_FROM_DATABASE=Open Source Robotics Foundation, Inc.
+
OUI:A4F7D0*
ID_OUI_FROM_DATABASE=LAN Accessories Co., Ltd.
+OUI:A4FB8D*
+ ID_OUI_FROM_DATABASE=Hangzhou Dunchong Technology Co.Ltd
+
+OUI:A4FCCE*
+ ID_OUI_FROM_DATABASE=Security Expert Ltd.
+
OUI:A80180*
ID_OUI_FROM_DATABASE=IMAGO Technologies GmbH
OUI:A80600*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+OUI:A8154D*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
OUI:A816B2*
ID_OUI_FROM_DATABASE=LG Electronics
@@ -59512,6 +60994,9 @@ OUI:A82066*
OUI:A826D9*
ID_OUI_FROM_DATABASE=HTC Corporation
+OUI:A8294C*
+ ID_OUI_FROM_DATABASE=Precision Optical Transceivers, Inc.
+
OUI:A82BD6*
ID_OUI_FROM_DATABASE=Shina System Co., Ltd
@@ -59545,6 +61030,9 @@ OUI:A85BB0*
OUI:A85BF3*
ID_OUI_FROM_DATABASE=Audivo GmbH
+OUI:A861AA*
+ ID_OUI_FROM_DATABASE=Cloudview Limited
+
OUI:A862A2*
ID_OUI_FROM_DATABASE=JIWUMEDIA CO., LTD.
@@ -59596,6 +61084,9 @@ OUI:A895B0*
OUI:A8968A*
ID_OUI_FROM_DATABASE=Apple
+OUI:A897DC*
+ ID_OUI_FROM_DATABASE=IBM
+
OUI:A898C6*
ID_OUI_FROM_DATABASE=Shinbo Co., Ltd.
@@ -59629,6 +61120,9 @@ OUI:A8CE90*
OUI:A8D0E5*
ID_OUI_FROM_DATABASE=Juniper Networks
+OUI:A8D236*
+ ID_OUI_FROM_DATABASE=Lightware Visual Engineering
+
OUI:A8D3C8*
ID_OUI_FROM_DATABASE=Wachendorff Elektronik GmbH & Co. KG
@@ -59653,6 +61147,9 @@ OUI:A8F94B*
OUI:A8FAD8*
ID_OUI_FROM_DATABASE=Apple
+OUI:A8FB70*
+ ID_OUI_FROM_DATABASE=WiseSec L.t.d
+
OUI:A8FCB7*
ID_OUI_FROM_DATABASE=Consolidated Resource Imaging
@@ -59701,6 +61198,9 @@ OUI:AC162D*
OUI:AC1702*
ID_OUI_FROM_DATABASE=Fibar Group sp. z o.o.
+OUI:AC1826*
+ ID_OUI_FROM_DATABASE=SEIKO EPSON CORPORATION
+
OUI:AC199F*
ID_OUI_FROM_DATABASE=SUNGROW POWER SUPPLY CO.,LTD.
@@ -59734,6 +61234,9 @@ OUI:AC3FA4*
OUI:AC40EA*
ID_OUI_FROM_DATABASE=C&T Solution Inc.
+OUI:AC4122*
+ ID_OUI_FROM_DATABASE=Eclipse Electronic Systems Inc.
+
OUI:AC44F2*
ID_OUI_FROM_DATABASE=Revolabs Inc
@@ -59746,6 +61249,9 @@ OUI:AC4AFE*
OUI:AC4BC8*
ID_OUI_FROM_DATABASE=Juniper Networks
+OUI:AC4E91*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:AC4FFC*
ID_OUI_FROM_DATABASE=SVS-VISTEK GmbH
@@ -59810,7 +61316,7 @@ OUI:AC8317*
ID_OUI_FROM_DATABASE=Shenzhen Furtunetel Communication Co., Ltd
OUI:AC83F0*
- ID_OUI_FROM_DATABASE=Magenta Video Networks
+ ID_OUI_FROM_DATABASE=ImmediaTV Corporation
OUI:AC8674*
ID_OUI_FROM_DATABASE=Open Mesh, Inc.
@@ -59851,6 +61357,9 @@ OUI:ACA430*
OUI:ACAB8D*
ID_OUI_FROM_DATABASE=Lyngso Marine A/S
+OUI:ACB313*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
OUI:ACBD0B*
ID_OUI_FROM_DATABASE=IMAC CO.,LTD
@@ -59950,6 +61459,9 @@ OUI:B01266*
OUI:B01408*
ID_OUI_FROM_DATABASE=LIGHTSPEED INTERNATIONAL CO.
+OUI:B01743*
+ ID_OUI_FROM_DATABASE=EDISON GLOBAL CIRCUITS LLC
+
OUI:B01B7C*
ID_OUI_FROM_DATABASE=Ontrol A.S.
@@ -59962,6 +61474,9 @@ OUI:B0358D*
OUI:B03829*
ID_OUI_FROM_DATABASE=Siliconware Precision Industries Co., Ltd.
+OUI:B03850*
+ ID_OUI_FROM_DATABASE=Nanjing CAS-ZDC IOT SYSTEM CO.,LTD
+
OUI:B0435D*
ID_OUI_FROM_DATABASE=NuLEDs, Inc.
@@ -59971,6 +61486,12 @@ OUI:B046FC*
OUI:B0487A*
ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO., LTD.
+OUI:B04C05*
+ ID_OUI_FROM_DATABASE=Fresenius Medical Care Deutschland GmbH
+
+OUI:B050BC*
+ ID_OUI_FROM_DATABASE=SHENZHEN BASICOM ELECTRONIC CO.,LTD.
+
OUI:B0518E*
ID_OUI_FROM_DATABASE=Holl technology CO.Ltd.
@@ -60001,15 +61522,24 @@ OUI:B075D5*
OUI:B077AC*
ID_OUI_FROM_DATABASE=Motorola Mobility, Inc.
+OUI:B0793C*
+ ID_OUI_FROM_DATABASE=Revolv Inc
+
OUI:B07994*
ID_OUI_FROM_DATABASE=Motorola Mobility LLC
OUI:B07D62*
ID_OUI_FROM_DATABASE=Dipl.-Ing. H. Horstmann GmbH
+OUI:B0808C*
+ ID_OUI_FROM_DATABASE=Laser Light Engines
+
OUI:B081D8*
ID_OUI_FROM_DATABASE=I-sys Corp
+OUI:B08807*
+ ID_OUI_FROM_DATABASE=Strata Worldwide
+
OUI:B08991*
ID_OUI_FROM_DATABASE=LGE
@@ -60055,6 +61585,9 @@ OUI:B0B2DC*
OUI:B0B32B*
ID_OUI_FROM_DATABASE=Slican Sp. z o.o.
+OUI:B0B448*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
OUI:B0B8D5*
ID_OUI_FROM_DATABASE=Nanjing Nengrui Auto Equipment CO.,Ltd
@@ -60151,6 +61684,9 @@ OUI:B40EDC*
OUI:B41489*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:B41513*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:B41DEF*
ID_OUI_FROM_DATABASE=Internet Laboratories, Inc.
@@ -60172,6 +61708,9 @@ OUI:B42CBE*
OUI:B431B8*
ID_OUI_FROM_DATABASE=Aviwest
+OUI:B4346C*
+ ID_OUI_FROM_DATABASE=MATSUNICHI DIGITAL TECHNOLOGY (HONG KONG) LIMITED
+
OUI:B43564*
ID_OUI_FROM_DATABASE=Fujian Tian Cheng Electron Science & Technical Development Co.,Ltd.
@@ -60199,6 +61738,9 @@ OUI:B451F9*
OUI:B45253*
ID_OUI_FROM_DATABASE=Seagate Technology
+OUI:B4527D*
+ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB
+
OUI:B45570*
ID_OUI_FROM_DATABASE=Borea
@@ -60262,6 +61804,9 @@ OUI:B4A4E3*
OUI:B4A5A9*
ID_OUI_FROM_DATABASE=MODI GmbH
+OUI:B4A95A*
+ ID_OUI_FROM_DATABASE=Avaya, Inc
+
OUI:B4AA4D*
ID_OUI_FROM_DATABASE=Ensequence, Inc.
@@ -60304,6 +61849,9 @@ OUI:B4D8A9*
OUI:B4D8DE*
ID_OUI_FROM_DATABASE=iota Computing, Inc.
+OUI:B4DD15*
+ ID_OUI_FROM_DATABASE=ControlThings Oy Ab
+
OUI:B4DF3B*
ID_OUI_FROM_DATABASE=Chromlech
@@ -60311,7 +61859,7 @@ OUI:B4DFFA*
ID_OUI_FROM_DATABASE=Litemax Electronics Inc.
OUI:B4E0CD*
- ID_OUI_FROM_DATABASE=IO Turbine, Inc.
+ ID_OUI_FROM_DATABASE=Fusion-io, Inc
OUI:B4E9B0*
ID_OUI_FROM_DATABASE=Cisco
@@ -60337,6 +61885,9 @@ OUI:B4F323*
OUI:B4FC75*
ID_OUI_FROM_DATABASE=SEMA Electronics(HK) CO.,LTD
+OUI:B4FE8C*
+ ID_OUI_FROM_DATABASE=Centro Sicurezza Italia SpA
+
OUI:B80305*
ID_OUI_FROM_DATABASE=Intel Corporate
@@ -60349,6 +61900,9 @@ OUI:B80B9D*
OUI:B81413*
ID_OUI_FROM_DATABASE=Keen High Holding(HK) Ltd.
+OUI:B81619*
+ ID_OUI_FROM_DATABASE=Motorola Mobility, Inc.
+
OUI:B817C2*
ID_OUI_FROM_DATABASE=Apple, Inc.
@@ -60361,6 +61915,9 @@ OUI:B820E7*
OUI:B82410*
ID_OUI_FROM_DATABASE=Magneti Marelli Slovakia s.r.o.
+OUI:B8241A*
+ ID_OUI_FROM_DATABASE=SWEDA INFORMATICA LTDA
+
OUI:B826D4*
ID_OUI_FROM_DATABASE=Furukawa Industrial S.A. Produtos Elétricos
@@ -60379,6 +61936,12 @@ OUI:B82ADC*
OUI:B82CA0*
ID_OUI_FROM_DATABASE=Honeywell HomMed
+OUI:B830A8*
+ ID_OUI_FROM_DATABASE=Road-Track Telematics Development
+
+OUI:B836D8*
+ ID_OUI_FROM_DATABASE=Videoswitch
+
OUI:B838CA*
ID_OUI_FROM_DATABASE=Kyokko Tsushin System CO.,LTD
@@ -60415,6 +61978,9 @@ OUI:B8616F*
OUI:B8621F*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:B863BC*
+ ID_OUI_FROM_DATABASE=ROBOTIS, Co, Ltd
+
OUI:B86491*
ID_OUI_FROM_DATABASE=CK Telecom Ltd
@@ -60439,6 +62005,9 @@ OUI:B8763F*
OUI:B877C3*
ID_OUI_FROM_DATABASE=Decagon Devices, Inc.
+OUI:B8782E*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:B8797E*
ID_OUI_FROM_DATABASE=Secure Meters (UK) Limited
@@ -60496,6 +62065,9 @@ OUI:B8A8AF*
OUI:B8AC6F*
ID_OUI_FROM_DATABASE=Dell Inc
+OUI:B8AE6E*
+ ID_OUI_FROM_DATABASE=Nintendo Co., Ltd.
+
OUI:B8AF67*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company
@@ -60523,6 +62095,9 @@ OUI:B8BB6D*
OUI:B8BEBF*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:B8C46F*
+ ID_OUI_FROM_DATABASE=PRIMMCON INDUSTRIES INC
+
OUI:B8C68E*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
@@ -60532,9 +62107,15 @@ OUI:B8C716*
OUI:B8C75D*
ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:B8C855*
+ ID_OUI_FROM_DATABASE=Shanghai GBCOM Communication Technology Co.,Ltd.
+
OUI:B8CA3A*
ID_OUI_FROM_DATABASE=Dell PCBA Test
+OUI:B8CD93*
+ ID_OUI_FROM_DATABASE=Penetek, Inc
+
OUI:B8CDA7*
ID_OUI_FROM_DATABASE=Maxeler Technologies Ltd.
@@ -60616,12 +62197,18 @@ OUI:BC1401*
OUI:BC15A6*
ID_OUI_FROM_DATABASE=Taiwan Jantek Electronics,Ltd.
+OUI:BC1665*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:BC20A4*
ID_OUI_FROM_DATABASE=Samsung Electronics
OUI:BC20BA*
ID_OUI_FROM_DATABASE=Inspur (Shandong) Electronic Information Co., Ltd
+OUI:BC261D*
+ ID_OUI_FROM_DATABASE=HONG KONG TECON TECHNOLOGY
+
OUI:BC2846*
ID_OUI_FROM_DATABASE=NextBIT Computing Pvt. Ltd.
@@ -60691,11 +62278,14 @@ OUI:BC6E76*
OUI:BC71C1*
ID_OUI_FROM_DATABASE=XTrillion, Inc.
+OUI:BC72B1*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:BC764E*
ID_OUI_FROM_DATABASE=Rackspace US, Inc.
OUI:BC7670*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
OUI:BC7737*
ID_OUI_FROM_DATABASE=Intel Corporate
@@ -60703,6 +62293,9 @@ OUI:BC7737*
OUI:BC779F*
ID_OUI_FROM_DATABASE=SBM Co., Ltd.
+OUI:BC79AD*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:BC7DD1*
ID_OUI_FROM_DATABASE=Radio Data Comms
@@ -60718,9 +62311,15 @@ OUI:BC83A7*
OUI:BC851F*
ID_OUI_FROM_DATABASE=Samsung Electronics
+OUI:BC8556*
+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
+
OUI:BC8B55*
ID_OUI_FROM_DATABASE=NPP ELIKS America Inc. DBA T&M Atlantic
+OUI:BC926B*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:BC99BC*
ID_OUI_FROM_DATABASE=FonSee Technology Inc.
@@ -60745,11 +62344,14 @@ OUI:BCB1F3*
OUI:BCB852*
ID_OUI_FROM_DATABASE=Cybera, Inc.
+OUI:BCBAE1*
+ ID_OUI_FROM_DATABASE=AREC Inc.
+
OUI:BCBBC9*
ID_OUI_FROM_DATABASE=Kellendonk Elektronik GmbH
OUI:BCC168*
- ID_OUI_FROM_DATABASE=DInBox Sverige AB
+ ID_OUI_FROM_DATABASE=DinBox Sverige AB
OUI:BCC23A*
ID_OUI_FROM_DATABASE=Thomson Video Networks
@@ -60757,6 +62359,9 @@ OUI:BCC23A*
OUI:BCC61A*
ID_OUI_FROM_DATABASE=SPECTRA EMBEDDED SYSTEMS
+OUI:BCC6DB*
+ ID_OUI_FROM_DATABASE=Nokia Corporation
+
OUI:BCC810*
ID_OUI_FROM_DATABASE=Cisco SPVTG
@@ -60766,6 +62371,9 @@ OUI:BCCD45*
OUI:BCCFCC*
ID_OUI_FROM_DATABASE=HTC Corporation
+OUI:BCD177*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
OUI:BCD5B6*
ID_OUI_FROM_DATABASE=d2d technologies
@@ -60815,7 +62423,7 @@ OUI:C02506*
ID_OUI_FROM_DATABASE=AVM GmbH
OUI:C027B9*
- ID_OUI_FROM_DATABASE=Beijing National Railway Research & Design Institute of Signal & Communication
+ ID_OUI_FROM_DATABASE=Beijing National Railway Research & Design Institute of Signal & Communication Co., Ltd.
OUI:C02973*
ID_OUI_FROM_DATABASE=Audyssey Laboratories Inc.
@@ -60829,6 +62437,9 @@ OUI:C02BFC*
OUI:C02C7A*
ID_OUI_FROM_DATABASE=Shen Zhen Horn audio Co., Ltd.
+OUI:C034B4*
+ ID_OUI_FROM_DATABASE=Gigastone Corporation
+
OUI:C035BD*
ID_OUI_FROM_DATABASE=Velocytech Aps
@@ -60838,6 +62449,9 @@ OUI:C038F9*
OUI:C03B8F*
ID_OUI_FROM_DATABASE=Minicom Digital Signage
+OUI:C03E0F*
+ ID_OUI_FROM_DATABASE=BSkyB Ltd
+
OUI:C03F0E*
ID_OUI_FROM_DATABASE=NETGEAR
@@ -60847,6 +62461,9 @@ OUI:C03F2A*
OUI:C041F6*
ID_OUI_FROM_DATABASE=LG Electronics Inc
+OUI:C04301*
+ ID_OUI_FROM_DATABASE=Epec Oy
+
OUI:C044E3*
ID_OUI_FROM_DATABASE=Shenzhen Sinkna Electronics Co., LTD
@@ -60856,6 +62473,9 @@ OUI:C0493D*
OUI:C04A00*
ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+OUI:C04DF7*
+ ID_OUI_FROM_DATABASE=SERELEC
+
OUI:C058A7*
ID_OUI_FROM_DATABASE=Pico Systems Co., Ltd.
@@ -60868,9 +62488,15 @@ OUI:C05E79*
OUI:C0626B*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:C06599*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:C06C0F*
ID_OUI_FROM_DATABASE=Dobbs Stanford
+OUI:C06C6D*
+ ID_OUI_FROM_DATABASE=MagneMotion, Inc.
+
OUI:C07E40*
ID_OUI_FROM_DATABASE=SHENZHEN XDK COMMUNICATION EQUIPMENT CO.,LTD
@@ -60883,6 +62509,9 @@ OUI:C0830A*
OUI:C0847A*
ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:C0885B*
+ ID_OUI_FROM_DATABASE=SnD Tech Co., Ltd.
+
OUI:C08ADE*
ID_OUI_FROM_DATABASE=Ruckus Wireless
@@ -60914,7 +62543,7 @@ OUI:C0A26D*
ID_OUI_FROM_DATABASE=Abbott Point of Care
OUI:C0A364*
- ID_OUI_FROM_DATABASE=3D Systems Burlington
+ ID_OUI_FROM_DATABASE=3D Systems Massachusetts
OUI:C0AA68*
ID_OUI_FROM_DATABASE=OSASI Technos Inc.
@@ -60932,7 +62561,7 @@ OUI:C0B8B1*
ID_OUI_FROM_DATABASE=BitBox Ltd
OUI:C0BAE6*
- ID_OUI_FROM_DATABASE=Application Solutions (Safety and Security) Ltd
+ ID_OUI_FROM_DATABASE=Application Solutions (Electronics and Vision) Ltd
OUI:C0BD42*
ID_OUI_FROM_DATABASE=ZPA Smart Energy a.s.
@@ -60940,6 +62569,9 @@ OUI:C0BD42*
OUI:C0C1C0*
ID_OUI_FROM_DATABASE=Cisco-Linksys, LLC
+OUI:C0C3B6*
+ ID_OUI_FROM_DATABASE=Automatic Systems
+
OUI:C0C520*
ID_OUI_FROM_DATABASE=Ruckus Wireless
@@ -60958,6 +62590,9 @@ OUI:C0D044*
OUI:C0D962*
ID_OUI_FROM_DATABASE=Askey Computer Corp.
+OUI:C0DA74*
+ ID_OUI_FROM_DATABASE=Hangzhou Sunyard Technology Co., Ltd.
+
OUI:C0DF77*
ID_OUI_FROM_DATABASE=Conrad Electronic SE
@@ -61000,6 +62635,9 @@ OUI:C417FE*
OUI:C4198B*
ID_OUI_FROM_DATABASE=Dominion Voting Systems Corporation
+OUI:C419EC*
+ ID_OUI_FROM_DATABASE=Qualisys AB
+
OUI:C41ECE*
ID_OUI_FROM_DATABASE=HMI Sources Ltd.
@@ -61009,6 +62647,9 @@ OUI:C4237A*
OUI:C4242E*
ID_OUI_FROM_DATABASE=Galvanic Applied Sciences Inc
+OUI:C42628*
+ ID_OUI_FROM_DATABASE=Airo Wireless
+
OUI:C42C03*
ID_OUI_FROM_DATABASE=Apple, Inc.
@@ -61030,14 +62671,20 @@ OUI:C43C3C*
OUI:C43DC7*
ID_OUI_FROM_DATABASE=NETGEAR
+OUI:C4438F*
+ ID_OUI_FROM_DATABASE=LG Electronics
+
OUI:C44567*
ID_OUI_FROM_DATABASE=SAMBON PRECISON and ELECTRONICS
OUI:C44619*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
+OUI:C44838*
+ ID_OUI_FROM_DATABASE=Satcom Direct, Inc.
+
OUI:C44AD0*
- ID_OUI_FROM_DATABASE=FIREFLIES RTLS
+ ID_OUI_FROM_DATABASE=FIREFLIES SYSTEMS
OUI:C44B44*
ID_OUI_FROM_DATABASE=Omniprint Inc.
@@ -61045,6 +62692,9 @@ OUI:C44B44*
OUI:C44EAC*
ID_OUI_FROM_DATABASE=Shenzhen Shiningworth Technology Co., Ltd.
+OUI:C45444*
+ ID_OUI_FROM_DATABASE=QUANTA COMPUTER INC.
+
OUI:C455A6*
ID_OUI_FROM_DATABASE=Cadac Holdings Ltd
@@ -61102,11 +62752,17 @@ OUI:C47D4F*
OUI:C47DCC*
ID_OUI_FROM_DATABASE=Motorola Solutions Inc.
+OUI:C47DFE*
+ ID_OUI_FROM_DATABASE=A.N. Solutions GmbH
+
+OUI:C47F51*
+ ID_OUI_FROM_DATABASE=Inventek Systems
+
OUI:C4823F*
ID_OUI_FROM_DATABASE=Fujian Newland Auto-ID Tech. Co,.Ltd.
OUI:C48508*
- ID_OUI_FROM_DATABASE=Intel Corporation
+ ID_OUI_FROM_DATABASE=Intel Corporate
OUI:C488E5*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
@@ -61138,6 +62794,9 @@ OUI:C4BA99*
OUI:C4C19F*
ID_OUI_FROM_DATABASE=National Oilwell Varco Instrumentation, Monitoring, and Optimization (NOV IMO)
+OUI:C4C755*
+ ID_OUI_FROM_DATABASE=Beijing HuaqinWorld Technology Co.,Ltd
+
OUI:C4CAD9*
ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited
@@ -61183,6 +62842,9 @@ OUI:C4F57C*
OUI:C4FCE4*
ID_OUI_FROM_DATABASE=DishTV NZ Ltd
+OUI:C80258*
+ ID_OUI_FROM_DATABASE=ITW GSE ApS
+
OUI:C802A6*
ID_OUI_FROM_DATABASE=Beijing Newmine Technology
@@ -61207,6 +62869,9 @@ OUI:C81AFE*
OUI:C81E8E*
ID_OUI_FROM_DATABASE=ADV Security (S) Pte Ltd
+OUI:C81F66*
+ ID_OUI_FROM_DATABASE=Dell Inc PCBA Test
+
OUI:C8208E*
ID_OUI_FROM_DATABASE=Storagedata
@@ -61309,6 +62974,9 @@ OUI:C88B47*
OUI:C8903E*
ID_OUI_FROM_DATABASE=Pakton Technologies
+OUI:C89346*
+ ID_OUI_FROM_DATABASE=MXCHIP Company Limited
+
OUI:C89383*
ID_OUI_FROM_DATABASE=Embedded Automation, Inc.
@@ -61346,7 +63014,7 @@ OUI:C8A729*
ID_OUI_FROM_DATABASE=SYStronics Co., Ltd.
OUI:C8AA21*
- ID_OUI_FROM_DATABASE=Motorola Mobility, Inc.
+ ID_OUI_FROM_DATABASE=Motorola Mobility, LLC.
OUI:C8AE9C*
ID_OUI_FROM_DATABASE=Shanghai TYD Elecronic Technology Co. Ltd
@@ -61354,6 +63022,9 @@ OUI:C8AE9C*
OUI:C8AF40*
ID_OUI_FROM_DATABASE=marco Systemanalyse und Entwicklung GmbH
+OUI:C8B373*
+ ID_OUI_FROM_DATABASE=Cisco-Linksys, LLC
+
OUI:C8BBD3*
ID_OUI_FROM_DATABASE=Embrane
@@ -61378,6 +63049,9 @@ OUI:C8CBB8*
OUI:C8CD72*
ID_OUI_FROM_DATABASE=SAGEMCOM
+OUI:C8D10B*
+ ID_OUI_FROM_DATABASE=Nokia Corporation
+
OUI:C8D15E*
ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
@@ -61396,21 +63070,33 @@ OUI:C8D5FE*
OUI:C8D719*
ID_OUI_FROM_DATABASE=Cisco Consumer Products, LLC
+OUI:C8DDC9*
+ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd.
+
OUI:C8DE51*
ID_OUI_FROM_DATABASE=Integra Networks, Inc.
OUI:C8DF7C*
ID_OUI_FROM_DATABASE=Nokia Corporation
+OUI:C8E0EB*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:C8E1A7*
ID_OUI_FROM_DATABASE=Vertu Corporation Limited
OUI:C8EE08*
ID_OUI_FROM_DATABASE=TANGTOP TECHNOLOGY CO.,LTD
+OUI:C8EEA6*
+ ID_OUI_FROM_DATABASE=Shenzhen SHX Technology Co., Ltd
+
OUI:C8EF2E*
ID_OUI_FROM_DATABASE=Beijing Gefei Tech. Co., Ltd
+OUI:C8F386*
+ ID_OUI_FROM_DATABASE=Shenzhen Xiaoniao Technology Co.,Ltd
+
OUI:C8F406*
ID_OUI_FROM_DATABASE=Avaya, Inc
@@ -61433,11 +63119,14 @@ OUI:C8FE30*
ID_OUI_FROM_DATABASE=Bejing DAYO Mobile Communication Technology Ltd.
OUI:CC0080*
- ID_OUI_FROM_DATABASE=TRUST SYSTEM Co.,
+ ID_OUI_FROM_DATABASE=BETTINI SRL
OUI:CC047C*
ID_OUI_FROM_DATABASE=G-WAY Microwave
+OUI:CC04B4*
+ ID_OUI_FROM_DATABASE=Select Comfort
+
OUI:CC051B*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
@@ -61450,12 +63139,18 @@ OUI:CC09C8*
OUI:CC0CDA*
ID_OUI_FROM_DATABASE=Miljovakt AS
+OUI:CC0DEC*
+ ID_OUI_FROM_DATABASE=Cisco SPVTG
+
OUI:CC14A6*
ID_OUI_FROM_DATABASE=Yichun MyEnergy Domain, Inc
OUI:CC187B*
ID_OUI_FROM_DATABASE=Manzanita Systems, Inc.
+OUI:CC1AFA*
+ ID_OUI_FROM_DATABASE=zte corporation
+
OUI:CC1EFF*
ID_OUI_FROM_DATABASE=Metrological Group BV
@@ -61468,12 +63163,18 @@ OUI:CC262D*
OUI:CC2D8C*
ID_OUI_FROM_DATABASE=LG ELECTRONICS INC
+OUI:CC33BB*
+ ID_OUI_FROM_DATABASE=SAGEMCOM SAS
+
OUI:CC34D7*
ID_OUI_FROM_DATABASE=GEWISS S.P.A.
OUI:CC3A61*
ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO MECHANICS CO., LTD.
+OUI:CC3C3F*
+ ID_OUI_FROM_DATABASE=SA.S.S. Datentechnik AG
+
OUI:CC3E5F*
ID_OUI_FROM_DATABASE=Hewlett Packard
@@ -61513,6 +63214,9 @@ OUI:CC5C75*
OUI:CC5D4E*
ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation
+OUI:CC5D57*
+ ID_OUI_FROM_DATABASE=Information System Research Institute,Inc.
+
OUI:CC60BB*
ID_OUI_FROM_DATABASE=Empower RF Systems
@@ -61559,7 +63263,7 @@ OUI:CC944A*
ID_OUI_FROM_DATABASE=Pfeiffer Vacuum GmbH
OUI:CC96A0*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
OUI:CC9E00*
ID_OUI_FROM_DATABASE=Nintendo Co., Ltd.
@@ -61568,7 +63272,7 @@ OUI:CCA374*
ID_OUI_FROM_DATABASE=Guangdong Guanglian Electronic Technology Co.Ltd
OUI:CCA462*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
OUI:CCAF78*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
@@ -61588,6 +63292,9 @@ OUI:CCB888*
OUI:CCB8F1*
ID_OUI_FROM_DATABASE=EAGLE KINGDOM TECHNOLOGIES LIMITED
+OUI:CCBD35*
+ ID_OUI_FROM_DATABASE=Steinel GmbH
+
OUI:CCBE71*
ID_OUI_FROM_DATABASE=OptiLogix BV
@@ -61615,6 +63322,9 @@ OUI:CCCD64*
OUI:CCCE40*
ID_OUI_FROM_DATABASE=Janteq Corp
+OUI:CCD29B*
+ ID_OUI_FROM_DATABASE=Shenzhen Bopengfa Elec&Technology CO.,Ltd
+
OUI:CCD539*
ID_OUI_FROM_DATABASE=Cisco
@@ -61630,6 +63340,9 @@ OUI:CCE798*
OUI:CCE7DF*
ID_OUI_FROM_DATABASE=American Magnetics, Inc.
+OUI:CCE8AC*
+ ID_OUI_FROM_DATABASE=SOYEA Technology Co.,Ltd.
+
OUI:CCEA1C*
ID_OUI_FROM_DATABASE=DCONWORKS Co., Ltd
@@ -61669,6 +63382,9 @@ OUI:CCFE3C*
OUI:D00790*
ID_OUI_FROM_DATABASE=Texas Instruments
+OUI:D00EA4*
+ ID_OUI_FROM_DATABASE=Porsche Cars North America
+
OUI:D0131E*
ID_OUI_FROM_DATABASE=Sunrex Technology Corp
@@ -61690,6 +63406,9 @@ OUI:D023DB*
OUI:D02788*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd
+OUI:D02DB3*
+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+
OUI:D03110*
ID_OUI_FROM_DATABASE=Ingenic Semiconductor Co.,Ltd
@@ -61702,6 +63421,9 @@ OUI:D046DC*
OUI:D04CC1*
ID_OUI_FROM_DATABASE=SINTRONES Technology Corp.
+OUI:D05099*
+ ID_OUI_FROM_DATABASE=ASRock Incorporation
+
OUI:D05162*
ID_OUI_FROM_DATABASE=Sony Mobile Communications AB
@@ -61744,6 +63466,9 @@ OUI:D0699E*
OUI:D0738E*
ID_OUI_FROM_DATABASE=DONG OH PRECISION CO., LTD.
+OUI:D073D5*
+ ID_OUI_FROM_DATABASE=LIFI LABS MANAGEMENT PTY LTD
+
OUI:D075BE*
ID_OUI_FROM_DATABASE=Reno A&E
@@ -61792,12 +63517,18 @@ OUI:D0B53D*
OUI:D0BB80*
ID_OUI_FROM_DATABASE=SHL Telemedicine International Ltd.
+OUI:D0BE2C*
+ ID_OUI_FROM_DATABASE=CNSLink Co., Ltd.
+
OUI:D0C1B1*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
OUI:D0C282*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:D0C789*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:D0CDE1*
ID_OUI_FROM_DATABASE=Scientech Electronics
@@ -61811,11 +63542,17 @@ OUI:D0D212*
ID_OUI_FROM_DATABASE=K2NET Co.,Ltd.
OUI:D0D286*
- ID_OUI_FROM_DATABASE=Beckman Coulter Biomedical K.K.
+ ID_OUI_FROM_DATABASE=Beckman Coulter K.K.
OUI:D0D3FC*
ID_OUI_FROM_DATABASE=Mios, Ltd.
+OUI:D0D412*
+ ID_OUI_FROM_DATABASE=ADB Broadband Italia
+
+OUI:D0D471*
+ ID_OUI_FROM_DATABASE=MVTECH co., Ltd
+
OUI:D0D6CC*
ID_OUI_FROM_DATABASE=Wintop
@@ -61843,12 +63580,18 @@ OUI:D0E54D*
OUI:D0E782*
ID_OUI_FROM_DATABASE=Azurewave Technologies, Inc.
+OUI:D0EB03*
+ ID_OUI_FROM_DATABASE=Zhehua technology limited
+
OUI:D0EB9E*
ID_OUI_FROM_DATABASE=Seowoo Inc.
OUI:D0F0DB*
ID_OUI_FROM_DATABASE=Ericsson
+OUI:D0F27F*
+ ID_OUI_FROM_DATABASE=SteadyServ Technoligies, LLC
+
OUI:D0F73B*
ID_OUI_FROM_DATABASE=Helmut Mauell GmbH
@@ -61858,12 +63601,24 @@ OUI:D4000D*
OUI:D40057*
ID_OUI_FROM_DATABASE=MC Technologies GmbH
+OUI:D40129*
+ ID_OUI_FROM_DATABASE=Broadcom Corporation
+
+OUI:D4016D*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
OUI:D4024A*
ID_OUI_FROM_DATABASE=Delphian Systems LLC
+OUI:D40BB9*
+ ID_OUI_FROM_DATABASE=Solid Semecs bv.
+
OUI:D40FB2*
ID_OUI_FROM_DATABASE=Applied Micro Electronics AME bv
+OUI:D41090*
+ ID_OUI_FROM_DATABASE=iNFORM Systems AG
+
OUI:D410CF*
ID_OUI_FROM_DATABASE=Huanshun Network Science and Technology Co., Ltd.
@@ -61906,6 +63661,9 @@ OUI:D429EA*
OUI:D42C3D*
ID_OUI_FROM_DATABASE=Sky Light Digital Limited
+OUI:D43A65*
+ ID_OUI_FROM_DATABASE=IGRS Engineering Lab Ltd.
+
OUI:D43AE9*
ID_OUI_FROM_DATABASE=DONGGUAN ipt INDUSTRIAL CO., LTD
@@ -61951,15 +63709,27 @@ OUI:D45C70*
OUI:D45D42*
ID_OUI_FROM_DATABASE=Nokia Corporation
+OUI:D464F7*
+ ID_OUI_FROM_DATABASE=CHENGDU USEE DIGITAL TECHNOLOGY CO., LTD
+
OUI:D466A8*
ID_OUI_FROM_DATABASE=Riedo Networks GmbH
+OUI:D467E7*
+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd.
+
+OUI:D46A91*
+ ID_OUI_FROM_DATABASE=Snap AV
+
OUI:D46CBF*
ID_OUI_FROM_DATABASE=Goodrich ISR
OUI:D46CDA*
ID_OUI_FROM_DATABASE=CSM GmbH
+OUI:D46E5C*
+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+
OUI:D46F42*
ID_OUI_FROM_DATABASE=WAXESS USA Inc
@@ -61967,7 +63737,7 @@ OUI:D479C3*
ID_OUI_FROM_DATABASE=Cameronet GmbH & Co. KG
OUI:D47B75*
- ID_OUI_FROM_DATABASE=HARTING Electronics GmbH & Co. KG
+ ID_OUI_FROM_DATABASE=HARTING Electronics GmbH
OUI:D4823E*
ID_OUI_FROM_DATABASE=Argosy Technologies, Ltd.
@@ -61999,6 +63769,9 @@ OUI:D4945A*
OUI:D494A1*
ID_OUI_FROM_DATABASE=Texas Instruments
+OUI:D49524*
+ ID_OUI_FROM_DATABASE=Clover Network, Inc.
+
OUI:D496DF*
ID_OUI_FROM_DATABASE=SUNGJIN C&T CO.,LTD
@@ -62020,27 +63793,42 @@ OUI:D4A02A*
OUI:D4A425*
ID_OUI_FROM_DATABASE=SMAX Technology Co., Ltd.
+OUI:D4A499*
+ ID_OUI_FROM_DATABASE=InView Technology Corporation
+
OUI:D4A928*
ID_OUI_FROM_DATABASE=GreenWave Reality Inc
OUI:D4AAFF*
ID_OUI_FROM_DATABASE=MICRO WORLD
+OUI:D4AC4E*
+ ID_OUI_FROM_DATABASE=BODi rS, LLC
+
OUI:D4AE52*
ID_OUI_FROM_DATABASE=Dell Inc
+OUI:D4B110*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:D4BED9*
ID_OUI_FROM_DATABASE=Dell Inc
OUI:D4BF2D*
ID_OUI_FROM_DATABASE=SE Controls Asia Pacific Ltd
+OUI:D4BF7F*
+ ID_OUI_FROM_DATABASE=UPVEL
+
OUI:D4C1FC*
ID_OUI_FROM_DATABASE=Nokia Corporation
OUI:D4C766*
ID_OUI_FROM_DATABASE=Acentic GmbH
+OUI:D4C9EF*
+ ID_OUI_FROM_DATABASE=Hewlett Packard
+
OUI:D4CA6D*
ID_OUI_FROM_DATABASE=Routerboard.com
@@ -62059,6 +63847,9 @@ OUI:D4D184*
OUI:D4D249*
ID_OUI_FROM_DATABASE=Power Ethernet
+OUI:D4D50D*
+ ID_OUI_FROM_DATABASE=Southwest Microwave, Inc
+
OUI:D4D748*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -62131,6 +63922,9 @@ OUI:D81BFE*
OUI:D81C14*
ID_OUI_FROM_DATABASE=Compacta International, Ltd.
+OUI:D81EDE*
+ ID_OUI_FROM_DATABASE=B&W Group Ltd
+
OUI:D824BD*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -62140,6 +63934,9 @@ OUI:D826B9*
OUI:D828C9*
ID_OUI_FROM_DATABASE=General Electric Consumer and Industrial
+OUI:D82916*
+ ID_OUI_FROM_DATABASE=Ascent Communication Technology
+
OUI:D82986*
ID_OUI_FROM_DATABASE=Best Wish Technology LTD
@@ -62159,7 +63956,7 @@ OUI:D8337F*
ID_OUI_FROM_DATABASE=Office FA.com Co.,Ltd.
OUI:D842AC*
- ID_OUI_FROM_DATABASE=FreeComm Data Communication Co.,Ltd.
+ ID_OUI_FROM_DATABASE=Shanghai Feixun Communication Co.,Ltd.
OUI:D84606*
ID_OUI_FROM_DATABASE=Silicon Valley Global Marketing
@@ -62179,6 +63976,12 @@ OUI:D85D4C*
OUI:D85D84*
ID_OUI_FROM_DATABASE=CAx soft GmbH
+OUI:D862DB*
+ ID_OUI_FROM_DATABASE=Eno Inc.
+
+OUI:D866C6*
+ ID_OUI_FROM_DATABASE=Shenzhen Daystar Technology Co.,ltd
+
OUI:D867D9*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -62239,6 +64042,12 @@ OUI:D8AF3B*
OUI:D8AFF1*
ID_OUI_FROM_DATABASE=Panasonic Appliances Company
+OUI:D8B02E*
+ ID_OUI_FROM_DATABASE=Guangzhou Zonerich Business Machine Co., Ltd
+
+OUI:D8B04C*
+ ID_OUI_FROM_DATABASE=Jinan USR IOT Technology Co., Ltd.
+
OUI:D8B12A*
ID_OUI_FROM_DATABASE=Panasonic Mobile Communications Co., Ltd.
@@ -62281,12 +64090,21 @@ OUI:D8D27C*
OUI:D8D385*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company
+OUI:D8D43C*
+ ID_OUI_FROM_DATABASE=Sony Corporation
+
OUI:D8D5B9*
ID_OUI_FROM_DATABASE=Rainforest Automation, Inc.
OUI:D8D67E*
ID_OUI_FROM_DATABASE=GSK CNC EQUIPMENT CO.,LTD
+OUI:D8DA52*
+ ID_OUI_FROM_DATABASE=APATOR S.A.
+
+OUI:D8DCE9*
+ ID_OUI_FROM_DATABASE=Kunshan Erlab ductless filtration system Co.,Ltd
+
OUI:D8DF0D*
ID_OUI_FROM_DATABASE=beroNet GmbH
@@ -62311,6 +64129,9 @@ OUI:D8F0F2*
OUI:D8FE8F*
ID_OUI_FROM_DATABASE=IDFone Co., Ltd.
+OUI:D8FEE3*
+ ID_OUI_FROM_DATABASE=D-Link International
+
OUI:DC0265*
ID_OUI_FROM_DATABASE=Meditech Kft
@@ -62324,7 +64145,7 @@ OUI:DC07C1*
ID_OUI_FROM_DATABASE=HangZhou QiYang Technology Co.,Ltd.
OUI:DC0B1A*
- ID_OUI_FROM_DATABASE=ADB Broadband SpA
+ ID_OUI_FROM_DATABASE=ADB Broadband Italia
OUI:DC0EA1*
ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD
@@ -62338,6 +64159,9 @@ OUI:DC175A*
OUI:DC1D9F*
ID_OUI_FROM_DATABASE=U & B tech
+OUI:DC1DD4*
+ ID_OUI_FROM_DATABASE=Microstep-MIS spol. s r.o.
+
OUI:DC1EA3*
ID_OUI_FROM_DATABASE=Accensus LLC
@@ -62351,7 +64175,10 @@ OUI:DC2B61*
ID_OUI_FROM_DATABASE=Apple, Inc.
OUI:DC2B66*
- ID_OUI_FROM_DATABASE=Infoblock
+ ID_OUI_FROM_DATABASE=InfoBLOCK S.A. de C.V.
+
+OUI:DC2BCA*
+ ID_OUI_FROM_DATABASE=Zera GmbH
OUI:DC2C26*
ID_OUI_FROM_DATABASE=Iton Technology Limited
@@ -62360,7 +64187,7 @@ OUI:DC2E6A*
ID_OUI_FROM_DATABASE=HCT. Co., Ltd.
OUI:DC309C*
- ID_OUI_FROM_DATABASE=SAY Systems Limited
+ ID_OUI_FROM_DATABASE=Heyrex Limited
OUI:DC3350*
ID_OUI_FROM_DATABASE=TechSAT GmbH
@@ -62389,6 +64216,12 @@ OUI:DC49C9*
OUI:DC4EDE*
ID_OUI_FROM_DATABASE=SHINYEI TECHNOLOGY CO., LTD.
+OUI:DC5726*
+ ID_OUI_FROM_DATABASE=Power-One
+
+OUI:DC647C*
+ ID_OUI_FROM_DATABASE=C.R.S. iiMotion GmbH
+
OUI:DC6F08*
ID_OUI_FROM_DATABASE=Bay Storage Technology
@@ -62398,6 +64231,9 @@ OUI:DC7144*
OUI:DC7B94*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:DC825B*
+ ID_OUI_FROM_DATABASE=JANUS, spol. s r.o.
+
OUI:DC85DE*
ID_OUI_FROM_DATABASE=Azurewave Technologies., inc.
@@ -62461,6 +64297,9 @@ OUI:DCD2FC*
OUI:DCD321*
ID_OUI_FROM_DATABASE=HUMAX co.,tld
+OUI:DCD52A*
+ ID_OUI_FROM_DATABASE=Sunny Heart Limited
+
OUI:DCD87F*
ID_OUI_FROM_DATABASE=Shenzhen JoinCyber Telecom Equipment Ltd
@@ -62497,6 +64336,9 @@ OUI:E00C7F*
OUI:E0143E*
ID_OUI_FROM_DATABASE=Modoosis Inc.
+OUI:E01877*
+ ID_OUI_FROM_DATABASE=Fujitsu Limited
+
OUI:E01C41*
ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
@@ -62536,6 +64378,9 @@ OUI:E02F6D*
OUI:E03005*
ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd
+OUI:E031D0*
+ ID_OUI_FROM_DATABASE=SZ Telstar CO., LTD
+
OUI:E039D7*
ID_OUI_FROM_DATABASE=Plexxi, Inc.
@@ -62569,15 +64414,27 @@ OUI:E061B2*
OUI:E06290*
ID_OUI_FROM_DATABASE=Jinan Jovision Science & Technology Co., Ltd.
+OUI:E063E5*
+ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB
+
OUI:E064BB*
ID_OUI_FROM_DATABASE=DigiView S.r.l.
+OUI:E067B3*
+ ID_OUI_FROM_DATABASE=C-Data Technology Co., Ltd
+
OUI:E06995*
ID_OUI_FROM_DATABASE=PEGATRON CORPORATION
OUI:E0757D*
ID_OUI_FROM_DATABASE=Motorola Mobility LLC
+OUI:E07C62*
+ ID_OUI_FROM_DATABASE=Whistle Labs, Inc.
+
+OUI:E07F88*
+ ID_OUI_FROM_DATABASE=EVIDENCE Network SIA
+
OUI:E08177*
ID_OUI_FROM_DATABASE=GreenBytes, Inc.
@@ -62624,7 +64481,7 @@ OUI:E0ABFE*
ID_OUI_FROM_DATABASE=Orb Networks, Inc.
OUI:E0AE5E*
- ID_OUI_FROM_DATABASE=ALPS Electric Co,. Ltd.
+ ID_OUI_FROM_DATABASE=ALPS Co,. Ltd.
OUI:E0AEED*
ID_OUI_FROM_DATABASE=LOENK
@@ -62650,6 +64507,9 @@ OUI:E0C2B7*
OUI:E0C3F3*
ID_OUI_FROM_DATABASE=ZTE Corporation
+OUI:E0C6B3*
+ ID_OUI_FROM_DATABASE=MilDef AB
+
OUI:E0C79D*
ID_OUI_FROM_DATABASE=Texas Instruments
@@ -62689,6 +64549,9 @@ OUI:E0DADC*
OUI:E0DB55*
ID_OUI_FROM_DATABASE=Dell Inc
+OUI:E0DCA0*
+ ID_OUI_FROM_DATABASE=Siemens Electrical Apparatus Ltd., Suzhou Chengdu Branch
+
OUI:E0E751*
ID_OUI_FROM_DATABASE=Nintendo Co., Ltd.
@@ -62698,6 +64561,9 @@ OUI:E0E8E8*
OUI:E0ED1A*
ID_OUI_FROM_DATABASE=vastriver Technology Co., Ltd
+OUI:E0EDC7*
+ ID_OUI_FROM_DATABASE=Shenzhen Friendcom Technology Development Co., Ltd
+
OUI:E0EE1B*
ID_OUI_FROM_DATABASE=Panasonic Automotive Systems Company of America
@@ -62710,6 +64576,9 @@ OUI:E0F211*
OUI:E0F379*
ID_OUI_FROM_DATABASE=Vaddio
+OUI:E0F5C6*
+ ID_OUI_FROM_DATABASE=Apple Inc
+
OUI:E0F5CA*
ID_OUI_FROM_DATABASE=CHENG UEI PRECISION INDUSTRY CO.,LTD.
@@ -62731,6 +64600,9 @@ OUI:E41C4B*
OUI:E41F13*
ID_OUI_FROM_DATABASE=IBM Corp
+OUI:E425E7*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:E425E9*
ID_OUI_FROM_DATABASE=Color-Chip
@@ -62749,6 +64621,9 @@ OUI:E42F26*
OUI:E42FF6*
ID_OUI_FROM_DATABASE=Unicore communication Inc.
+OUI:E432CB*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:E43593*
ID_OUI_FROM_DATABASE=Hangzhou GoTo technology Co.Ltd
@@ -62758,6 +64633,9 @@ OUI:E435FB*
OUI:E437D7*
ID_OUI_FROM_DATABASE=HENRI DEPAEPE S.A.S.
+OUI:E438F2*
+ ID_OUI_FROM_DATABASE=Advantage Controls
+
OUI:E43FA2*
ID_OUI_FROM_DATABASE=Wuxi DSP Technologies Inc.
@@ -62785,12 +64663,18 @@ OUI:E455EA*
OUI:E45614*
ID_OUI_FROM_DATABASE=Suttle Apparatus
+OUI:E457A8*
+ ID_OUI_FROM_DATABASE=Stuart Manufacturing, Inc.
+
OUI:E46449*
ID_OUI_FROM_DATABASE=Motorola Mobility, Inc.
OUI:E467BA*
ID_OUI_FROM_DATABASE=Danish Interpretation Systems A/S
+OUI:E468A3*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:E46C21*
ID_OUI_FROM_DATABASE=messMa GmbH
@@ -62800,12 +64684,21 @@ OUI:E47185*
OUI:E4751E*
ID_OUI_FROM_DATABASE=Getinge Sterilization AB
+OUI:E4776B*
+ ID_OUI_FROM_DATABASE=AARTESYS AG
+
OUI:E477D4*
ID_OUI_FROM_DATABASE=Minrray Industry Co.,Ltd
OUI:E47CF9*
ID_OUI_FROM_DATABASE=Samsung Electronics Co., LTD
+OUI:E47D5A*
+ ID_OUI_FROM_DATABASE=Beijing Hanbang Technology Corp.
+
+OUI:E481B3*
+ ID_OUI_FROM_DATABASE=Shenzhen ACT Industrial Co.,Ltd.
+
OUI:E48399*
ID_OUI_FROM_DATABASE=Motorola Mobility, Inc.
@@ -62884,6 +64777,12 @@ OUI:E4EEFD*
OUI:E4F365*
ID_OUI_FROM_DATABASE=Time-O-Matic, Inc.
+OUI:E4F3E3*
+ ID_OUI_FROM_DATABASE=Shanghai iComhome Co.,Ltd.
+
+OUI:E4F7A1*
+ ID_OUI_FROM_DATABASE=Datafox GmbH
+
OUI:E4FA1D*
ID_OUI_FROM_DATABASE=PAD Peripheral Advanced Design Inc.
@@ -62891,7 +64790,7 @@ OUI:E4FFDD*
ID_OUI_FROM_DATABASE=ELECTRON INDIA
OUI:E8039A*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD
+ ID_OUI_FROM_DATABASE=Samsung Electronics CO., LTD
OUI:E8040B*
ID_OUI_FROM_DATABASE=Apple, Inc.
@@ -62921,7 +64820,7 @@ OUI:E8102E*
ID_OUI_FROM_DATABASE=Really Simple Software, Inc
OUI:E81132*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD
+ ID_OUI_FROM_DATABASE=Samsung Electronics CO., LTD
OUI:E81324*
ID_OUI_FROM_DATABASE=GuangZhou Bonsoninfo System CO.,LTD
@@ -62932,6 +64831,9 @@ OUI:E82877*
OUI:E828D5*
ID_OUI_FROM_DATABASE=Cots Technology
+OUI:E82AEA*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
OUI:E82E24*
ID_OUI_FROM_DATABASE=Out of the Fog Research LLC
@@ -62951,7 +64853,7 @@ OUI:E83EFB*
ID_OUI_FROM_DATABASE=GEODESIC LTD.
OUI:E83EFC*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
OUI:E84040*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
@@ -62962,12 +64864,18 @@ OUI:E840F2*
OUI:E843B6*
ID_OUI_FROM_DATABASE=QNAP Systems, Inc.
+OUI:E8481F*
+ ID_OUI_FROM_DATABASE=Advanced Automotive Antennas
+
OUI:E84E06*
ID_OUI_FROM_DATABASE=EDUP INTERNATIONAL (HK) CO., LTD
OUI:E84ECE*
ID_OUI_FROM_DATABASE=Nintendo Co., Ltd.
+OUI:E8519D*
+ ID_OUI_FROM_DATABASE=Yeonhab Precision Co.,LTD
+
OUI:E85484*
ID_OUI_FROM_DATABASE=NEO INFORMATION SYSTEMS CO., LTD.
@@ -63010,8 +64918,11 @@ OUI:E878A1*
OUI:E87AF3*
ID_OUI_FROM_DATABASE=S5 Tech S.r.l.
+OUI:E880D8*
+ ID_OUI_FROM_DATABASE=GNTEK Electronics Co.,Ltd.
+
OUI:E8892C*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
OUI:E88D28*
ID_OUI_FROM_DATABASE=Apple
@@ -63019,12 +64930,18 @@ OUI:E88D28*
OUI:E88DF5*
ID_OUI_FROM_DATABASE=ZNYX Networks, Inc.
+OUI:E89218*
+ ID_OUI_FROM_DATABASE=Arcontia International AB
+
OUI:E892A4*
ID_OUI_FROM_DATABASE=LG Electronics
OUI:E8944C*
ID_OUI_FROM_DATABASE=Cogent Healthcare Systems Ltd
+OUI:E894F6*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
OUI:E8995A*
ID_OUI_FROM_DATABASE=PiiGAB, Processinformation i Goteborg AB
@@ -63073,6 +64990,12 @@ OUI:E8CBA1*
OUI:E8CC32*
ID_OUI_FROM_DATABASE=Micronet LTD
+OUI:E8CD2D*
+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+
+OUI:E8CE06*
+ ID_OUI_FROM_DATABASE=SkyHawke Technologies, LLC.
+
OUI:E8D0FA*
ID_OUI_FROM_DATABASE=MKS Instruments Deutschland GmbH
@@ -63085,6 +65008,9 @@ OUI:E8DA96*
OUI:E8DAAA*
ID_OUI_FROM_DATABASE=VideoHome Technology Corp.
+OUI:E8DE27*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
OUI:E8DFF2*
ID_OUI_FROM_DATABASE=PRF Co., Ltd.
@@ -63136,9 +65062,15 @@ OUI:EC233D*
OUI:EC2368*
ID_OUI_FROM_DATABASE=IntelliVoice Co.,Ltd.
+OUI:EC2C49*
+ ID_OUI_FROM_DATABASE=University of Tokyo
+
OUI:EC3091*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:EC3586*
+ ID_OUI_FROM_DATABASE=Apple`
+
OUI:EC3BF0*
ID_OUI_FROM_DATABASE=NovelSat
@@ -63268,6 +65200,9 @@ OUI:ECCD6D*
OUI:ECD00E*
ID_OUI_FROM_DATABASE=MiraeRecognition Co., Ltd.
+OUI:ECD040*
+ ID_OUI_FROM_DATABASE=GEA Farm Technologies GmbH
+
OUI:ECD19A*
ID_OUI_FROM_DATABASE=Zhuhai Liming Industries Co., Ltd
@@ -63337,12 +65272,18 @@ OUI:F013C3*
OUI:F01C13*
ID_OUI_FROM_DATABASE=LG Electronics
+OUI:F01FAF*
+ ID_OUI_FROM_DATABASE=Dell Inc PCBA Test
+
OUI:F0219D*
ID_OUI_FROM_DATABASE=Cal-Comp Electronics & Communications Company Ltd.
OUI:F02329*
ID_OUI_FROM_DATABASE=SHOWA DENKI CO.,LTD.
+OUI:F02405*
+ ID_OUI_FROM_DATABASE=OPUS High Technology Corporation
+
OUI:F02408*
ID_OUI_FROM_DATABASE=Talaris (Sweden) AB
@@ -63352,6 +65293,9 @@ OUI:F02572*
OUI:F0264C*
ID_OUI_FROM_DATABASE=Dr. Sigrist AG
+OUI:F02765*
+ ID_OUI_FROM_DATABASE=Murata Manufactuaring Co.,Ltd.
+
OUI:F02929*
ID_OUI_FROM_DATABASE=Cisco
@@ -63382,9 +65326,15 @@ OUI:F04DA2*
OUI:F05849*
ID_OUI_FROM_DATABASE=CareView Communications
+OUI:F05A09*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:F05D89*
ID_OUI_FROM_DATABASE=Dycon Limited
+OUI:F05DC8*
+ ID_OUI_FROM_DATABASE=Duracell Powermat
+
OUI:F05F5A*
ID_OUI_FROM_DATABASE=Getriebebau NORD GmbH and Co. KG
@@ -63400,9 +65350,15 @@ OUI:F065DD*
OUI:F06853*
ID_OUI_FROM_DATABASE=Integrated Corporation
+OUI:F06BCA*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:F073AE*
ID_OUI_FROM_DATABASE=PEAK-System Technik
+OUI:F07765*
+ ID_OUI_FROM_DATABASE=Sourcefire, Inc
+
OUI:F077D0*
ID_OUI_FROM_DATABASE=Xcellen
@@ -63412,9 +65368,15 @@ OUI:F07BCB*
OUI:F07D68*
ID_OUI_FROM_DATABASE=D-Link Corporation
+OUI:F07F0C*
+ ID_OUI_FROM_DATABASE=Leopold Kostal GmbH &Co. KG
+
OUI:F081AF*
ID_OUI_FROM_DATABASE=IRZ AUTOMATION TECHNOLOGIES LTD
+OUI:F084C9*
+ ID_OUI_FROM_DATABASE=zte corporation
+
OUI:F08BFE*
ID_OUI_FROM_DATABASE=COSTEL.,CO.LTD
@@ -63517,6 +65479,9 @@ OUI:F0EEBB*
OUI:F0F002*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
+OUI:F0F260*
+ ID_OUI_FROM_DATABASE=Mobitec AB
+
OUI:F0F644*
ID_OUI_FROM_DATABASE=Whitesky Science & Technology Co.,Ltd.
@@ -63550,6 +65515,9 @@ OUI:F40B93*
OUI:F40F9B*
ID_OUI_FROM_DATABASE=WAVELINK
+OUI:F415FD*
+ ID_OUI_FROM_DATABASE=Shanghai Pateo Electronic Equipment Manufacturing Co., Ltd.
+
OUI:F41BA1*
ID_OUI_FROM_DATABASE=Apple
@@ -63559,6 +65527,9 @@ OUI:F41E26*
OUI:F41F0B*
ID_OUI_FROM_DATABASE=YAMABISHI Corporation
+OUI:F41FC2*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:F436E1*
ID_OUI_FROM_DATABASE=Abilis Systems SARL
@@ -63610,6 +65581,9 @@ OUI:F4559C*
OUI:F455E0*
ID_OUI_FROM_DATABASE=Niceway CNC Technology Co.,Ltd.Hunan Province
+OUI:F45842*
+ ID_OUI_FROM_DATABASE=Boxx TV Ltd
+
OUI:F45FD4*
ID_OUI_FROM_DATABASE=Cisco SPVTG
@@ -63643,6 +65617,9 @@ OUI:F47B5E*
OUI:F47F35*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:F48139*
+ ID_OUI_FROM_DATABASE=CANON INC.
+
OUI:F48771*
ID_OUI_FROM_DATABASE=Infoblox
@@ -63658,6 +65635,9 @@ OUI:F49461*
OUI:F49466*
ID_OUI_FROM_DATABASE=CountMax, ltd
+OUI:F499AC*
+ ID_OUI_FROM_DATABASE=WEBER Schraubautomaten GmbH
+
OUI:F49F54*
ID_OUI_FROM_DATABASE=Samsung Electronics
@@ -63670,6 +65650,9 @@ OUI:F4ACC1*
OUI:F4B164*
ID_OUI_FROM_DATABASE=Lightning Telecommunications Technology Co. Ltd
+OUI:F4B381*
+ ID_OUI_FROM_DATABASE=WindowMaster A/S
+
OUI:F4B549*
ID_OUI_FROM_DATABASE=Yeastar Technology Co., Ltd.
@@ -63683,7 +65666,7 @@ OUI:F4C6D7*
ID_OUI_FROM_DATABASE=blackned GmbH
OUI:F4C714*
- ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd
+ ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
OUI:F4C795*
ID_OUI_FROM_DATABASE=WEY Elektronik AG
@@ -63718,6 +65701,12 @@ OUI:F4EC38*
OUI:F4F15A*
ID_OUI_FROM_DATABASE=Apple
+OUI:F4F5A5*
+ ID_OUI_FROM_DATABASE=Nokia corporation
+
+OUI:F4F951*
+ ID_OUI_FROM_DATABASE=Apple
+
OUI:F4FC32*
ID_OUI_FROM_DATABASE=Texas Instruments
@@ -63739,6 +65728,9 @@ OUI:F80BD0*
OUI:F80CF3*
ID_OUI_FROM_DATABASE=LG Electronics
+OUI:F80DEA*
+ ID_OUI_FROM_DATABASE=ZyCast Technology Inc.
+
OUI:F80F41*
ID_OUI_FROM_DATABASE=Wistron InfoComm(ZhongShan) Corporation
@@ -63760,12 +65752,18 @@ OUI:F81EDF*
OUI:F82285*
ID_OUI_FROM_DATABASE=Cypress Technology CO., LTD.
+OUI:F82BC8*
+ ID_OUI_FROM_DATABASE=Jiangsu Switter Co., Ltd
+
OUI:F82EDB*
ID_OUI_FROM_DATABASE=RTW GmbH & Co. KG
OUI:F82F5B*
ID_OUI_FROM_DATABASE=eGauge Systems LLC
+OUI:F82FA8*
+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
+
OUI:F83094*
ID_OUI_FROM_DATABASE=Alcatel-Lucent Telecom Limited
@@ -63778,9 +65776,15 @@ OUI:F83376*
OUI:F83553*
ID_OUI_FROM_DATABASE=Magenta Research Ltd.
+OUI:F835DD*
+ ID_OUI_FROM_DATABASE=Gemtek Technology Co., Ltd.
+
OUI:F83DFF*
ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
+OUI:F842FB*
+ ID_OUI_FROM_DATABASE=Yasuda Joho Co.,ltd.
+
OUI:F8462D*
ID_OUI_FROM_DATABASE=SYNTEC Incorporation
@@ -63793,6 +65797,9 @@ OUI:F84897*
OUI:F85063*
ID_OUI_FROM_DATABASE=Verathon
+OUI:F8516D*
+ ID_OUI_FROM_DATABASE=Denwa Technology Corp.
+
OUI:F852DF*
ID_OUI_FROM_DATABASE=VNL Europe AB
@@ -63811,6 +65818,9 @@ OUI:F86ECF*
OUI:F871FE*
ID_OUI_FROM_DATABASE=The Goldman Sachs Group, Inc.
+OUI:F872EA*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:F8769B*
ID_OUI_FROM_DATABASE=Neopis Co., Ltd.
@@ -63898,6 +65908,9 @@ OUI:F8D756*
OUI:F8D7BF*
ID_OUI_FROM_DATABASE=REV Ritter GmbH
+OUI:F8DADF*
+ ID_OUI_FROM_DATABASE=EcoTech, Inc.
+
OUI:F8DAE2*
ID_OUI_FROM_DATABASE=Beta LaserMike
@@ -63920,7 +65933,7 @@ OUI:F8E4FB*
ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc
OUI:F8E7B5*
- ID_OUI_FROM_DATABASE=µTech Engenharia e Automação LTDA
+ ID_OUI_FROM_DATABASE=µTech Tecnologia LTDA
OUI:F8E968*
ID_OUI_FROM_DATABASE=Egker Kft.
@@ -63952,6 +65965,9 @@ OUI:F8FB2F*
OUI:F8FE5C*
ID_OUI_FROM_DATABASE=Reciprocal Labs Corp
+OUI:F8FEA8*
+ ID_OUI_FROM_DATABASE=Technico Japan Corporation
+
OUI:FC0012*
ID_OUI_FROM_DATABASE=Toshiba Samsung Storage Technolgoy Korea Corporation
@@ -63973,6 +65989,9 @@ OUI:FC0FE6*
OUI:FC10BD*
ID_OUI_FROM_DATABASE=Control Sistematizado S.A.
+OUI:FC1186*
+ ID_OUI_FROM_DATABASE=Logic3 plc
+
OUI:FC1794*
ID_OUI_FROM_DATABASE=InterCreative Co., Ltd
@@ -63985,11 +66004,14 @@ OUI:FC1F19*
OUI:FC1FC0*
ID_OUI_FROM_DATABASE=EURECAM
+OUI:FC229C*
+ ID_OUI_FROM_DATABASE=Han Kyung I Net Co.,Ltd.
+
OUI:FC253F*
ID_OUI_FROM_DATABASE=Apple, Inc.
OUI:FC2A54*
- ID_OUI_FROM_DATABASE=connected data
+ ID_OUI_FROM_DATABASE=Connected Data, Inc.
OUI:FC2E2D*
ID_OUI_FROM_DATABASE=Lorom Industrial Co.LTD.
@@ -64000,15 +66022,24 @@ OUI:FC2F40*
OUI:FC3598*
ID_OUI_FROM_DATABASE=Favite Inc.
+OUI:FC35E6*
+ ID_OUI_FROM_DATABASE=Visteon corp
+
OUI:FC4463*
ID_OUI_FROM_DATABASE=Universal Audio
+OUI:FC4499*
+ ID_OUI_FROM_DATABASE=Swarco LEA d.o.o.
+
OUI:FC455F*
ID_OUI_FROM_DATABASE=JIANGXI SHANSHUI OPTOELECTRONIC TECHNOLOGY CO.,LTD
OUI:FC48EF*
ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+OUI:FC4BBC*
+ ID_OUI_FROM_DATABASE=Sunplus Technology Co., Ltd.
+
OUI:FC4DD4*
ID_OUI_FROM_DATABASE=Universal Global Scientific Industrial Co., Ltd.
@@ -64018,12 +66049,18 @@ OUI:FC5090*
OUI:FC52CE*
ID_OUI_FROM_DATABASE=Control iD
+OUI:FC58FA*
+ ID_OUI_FROM_DATABASE=Shen Zhen Shi Xin Zhong Xin Technology Co.,Ltd.
+
OUI:FC5B24*
ID_OUI_FROM_DATABASE=Weibel Scientific A/S
OUI:FC5B26*
ID_OUI_FROM_DATABASE=MikroBits
+OUI:FC6018*
+ ID_OUI_FROM_DATABASE=Zhejiang Kangtai Electric Co., Ltd.
+
OUI:FC6198*
ID_OUI_FROM_DATABASE=NEC Personal Products, Ltd
@@ -64051,6 +66088,9 @@ OUI:FC8329*
OUI:FC8399*
ID_OUI_FROM_DATABASE=Avaya, Inc
+OUI:FC8B97*
+ ID_OUI_FROM_DATABASE=Shenzhen Gongjin Electronics Co.,Ltd
+
OUI:FC8E7E*
ID_OUI_FROM_DATABASE=Pace plc
@@ -64108,6 +66148,12 @@ OUI:FCD4F6*
OUI:FCD6BD*
ID_OUI_FROM_DATABASE=Robert Bosch GmbH
+OUI:FCDB96*
+ ID_OUI_FROM_DATABASE=ENERVALLEY CO., LTD
+
+OUI:FCDD55*
+ ID_OUI_FROM_DATABASE=Shenzhen WeWins wireless Co.,Ltd
+
OUI:FCE192*
ID_OUI_FROM_DATABASE=Sichuan Jinwangtong Electronic Science&Technology Co,.Ltd
diff --git a/hwdb/20-pci-vendor-model.hwdb b/hwdb/20-pci-vendor-model.hwdb
new file mode 100644
index 0000000000..a8dcc31776
--- /dev/null
+++ b/hwdb/20-pci-vendor-model.hwdb
@@ -0,0 +1,66888 @@
+# This file is part of systemd.
+#
+# Data imported from: http://pci-ids.ucw.cz/v2.2/pci.ids
+
+pci:v00000010*
+ ID_VENDOR_FROM_DATABASE=Allied Telesis, Inc (Wrong ID)
+
+pci:v00000010d00008139*
+ ID_MODEL_FROM_DATABASE=AT-2500TX V3 Ethernet
+
+pci:v0000001C*
+ ID_VENDOR_FROM_DATABASE=PEAK-System Technik GmbH
+
+pci:v0000001Cd00000001*
+ ID_MODEL_FROM_DATABASE=PCAN-PCI CAN-Bus controller
+
+pci:v0000001Cd00000001sv0000001Csd00000004*
+ ID_MODEL_FROM_DATABASE=2 Channel CAN Bus SJC1000
+
+pci:v0000001Cd00000001sv0000001Csd00000005*
+ ID_MODEL_FROM_DATABASE=2 Channel CAN Bus SJC1000 (Optically Isolated)
+
+pci:v0000003D*
+ ID_VENDOR_FROM_DATABASE=Lockheed Martin-Marietta Corp
+
+pci:v00000059*
+ ID_VENDOR_FROM_DATABASE=Tiger Jet Network Inc. (Wrong ID)
+
+pci:v00000070*
+ ID_VENDOR_FROM_DATABASE=Hauppauge computer works Inc.
+
+pci:v00000070d00007801*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-1800 MCE
+
+pci:v00000071*
+ ID_VENDOR_FROM_DATABASE=Nebula Electronics Ltd.
+
+pci:v00000095*
+ ID_VENDOR_FROM_DATABASE=Silicon Image, Inc. (Wrong ID)
+
+pci:v00000095d00000680*
+ ID_MODEL_FROM_DATABASE=Ultra ATA/133 IDE RAID CONTROLLER CARD
+
+pci:v000000A7*
+ ID_VENDOR_FROM_DATABASE=Teles AG (Wrong ID)
+
+pci:v00000100*
+ ID_VENDOR_FROM_DATABASE=Ncipher Corp Ltd
+
+pci:v00000123*
+ ID_VENDOR_FROM_DATABASE=General Dynamics
+
+pci:v0000018A*
+ ID_VENDOR_FROM_DATABASE=LevelOne
+
+pci:v0000018Ad00000106*
+ ID_MODEL_FROM_DATABASE=FPC-0106TX misprogrammed [RTL81xx]
+
+pci:v0000021B*
+ ID_VENDOR_FROM_DATABASE=Compaq Computer Corporation
+
+pci:v0000021Bd00008139*
+ ID_MODEL_FROM_DATABASE=HNE-300 (RealTek RTL8139c) [iPaq Networking]
+
+pci:v00000270*
+ ID_VENDOR_FROM_DATABASE=Hauppauge computer works Inc. (Wrong ID)
+
+pci:v000002AC*
+ ID_VENDOR_FROM_DATABASE=SpeedStream
+
+pci:v000002ACd00001012*
+ ID_MODEL_FROM_DATABASE=1012 PCMCIA 10/100 Ethernet Card [RTL81xx]
+
+pci:v00000303*
+ ID_VENDOR_FROM_DATABASE=Hewlett-Packard Company (Wrong ID)
+
+pci:v00000308*
+ ID_VENDOR_FROM_DATABASE=ZyXEL Communications Corporation (Wrong ID)
+
+pci:v00000315*
+ ID_VENDOR_FROM_DATABASE=SK-Electronics Co., Ltd.
+
+pci:v00000357*
+ ID_VENDOR_FROM_DATABASE=TTTech Computertechnik AG (Wrong ID)
+
+pci:v00000357d0000000A*
+ ID_MODEL_FROM_DATABASE=TTP-Monitoring Card V2.0
+
+pci:v00000432*
+ ID_VENDOR_FROM_DATABASE=SCM Microsystems, Inc.
+
+pci:v00000432d00000001*
+ ID_MODEL_FROM_DATABASE=Pluto2 DVB-T Receiver for PCMCIA [EasyWatch MobilSet]
+
+pci:v00000675*
+ ID_VENDOR_FROM_DATABASE=Dynalink
+
+pci:v00000675d00001700*
+ ID_MODEL_FROM_DATABASE=IS64PH ISDN Adapter
+
+pci:v00000675d00001702*
+ ID_MODEL_FROM_DATABASE=IS64PH ISDN Adapter
+
+pci:v00000675d00001703*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
+
+pci:v00000675d00001704*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C)
+
+pci:v00000721*
+ ID_VENDOR_FROM_DATABASE=Sapphire, Inc.
+
+pci:v00000777*
+ ID_VENDOR_FROM_DATABASE=Ubiquiti Networks, Inc.
+
+pci:v00000795*
+ ID_VENDOR_FROM_DATABASE=Wired Inc.
+
+pci:v00000795d00006663*
+ ID_MODEL_FROM_DATABASE=Butane II (MPEG2 encoder board)
+
+pci:v00000795d00006666*
+ ID_MODEL_FROM_DATABASE=MediaPress (MPEG2 encoder board)
+
+pci:v000007D1*
+ ID_VENDOR_FROM_DATABASE=D-Link System Inc
+
+pci:v00000925*
+ ID_VENDOR_FROM_DATABASE=VIA Technologies, Inc. (Wrong ID)
+
+pci:v00000A89*
+ ID_VENDOR_FROM_DATABASE=BREA Technologies Inc
+
+pci:v00000B0B*
+ ID_VENDOR_FROM_DATABASE=Rhino Equipment Corp.
+
+pci:v00000B0Bd00000105*
+ ID_MODEL_FROM_DATABASE=Rhino R1T1
+
+pci:v00000B0Bd00000205*
+ ID_MODEL_FROM_DATABASE=Rhino R4FXO
+
+pci:v00000B0Bd00000206*
+ ID_MODEL_FROM_DATABASE=RCB4FXO 4-channel FXO analog telphony card
+
+pci:v00000B0Bd00000305*
+ ID_MODEL_FROM_DATABASE=Rhino R4T1
+
+pci:v00000B0Bd00000405*
+ ID_MODEL_FROM_DATABASE=Rhino R8FXX
+
+pci:v00000B0Bd00000406*
+ ID_MODEL_FROM_DATABASE=RCB8FXX 8-channel modular analog telphony card
+
+pci:v00000B0Bd00000505*
+ ID_MODEL_FROM_DATABASE=Rhino R24FXX
+
+pci:v00000B0Bd00000506*
+ ID_MODEL_FROM_DATABASE=RCB24FXS 24-Channel FXS analog telphony card
+
+pci:v00000B0Bd00000605*
+ ID_MODEL_FROM_DATABASE=Rhino R2T1
+
+pci:v00000B0Bd00000705*
+ ID_MODEL_FROM_DATABASE=Rhino R24FXS
+
+pci:v00000B0Bd00000706*
+ ID_MODEL_FROM_DATABASE=RCB24FXO 24-Channel FXO analog telphony card
+
+pci:v00000B0Bd00000905*
+ ID_MODEL_FROM_DATABASE=R1T3 Single T3 Digital Telephony Card
+
+pci:v00000B0Bd00000906*
+ ID_MODEL_FROM_DATABASE=RCB24FXX 24-channel modular analog telphony card
+
+pci:v00000B0Bd00000A06*
+ ID_MODEL_FROM_DATABASE=RCB672FXX 672-channel modular analog telphony card
+
+pci:v00000E11*
+ ID_VENDOR_FROM_DATABASE=Compaq Computer Corporation
+
+pci:v00000E11d00000001*
+ ID_MODEL_FROM_DATABASE=PCI to EISA Bridge
+
+pci:v00000E11d00000002*
+ ID_MODEL_FROM_DATABASE=PCI to ISA Bridge
+
+pci:v00000E11d00000046*
+ ID_MODEL_FROM_DATABASE=Smart Array 64xx
+
+pci:v00000E11d00000046sv00000E11sd00004091*
+ ID_MODEL_FROM_DATABASE=Smart Array 6i
+
+pci:v00000E11d00000046sv00000E11sd0000409A*
+ ID_MODEL_FROM_DATABASE=Smart Array 641
+
+pci:v00000E11d00000046sv00000E11sd0000409B*
+ ID_MODEL_FROM_DATABASE=Smart Array 642
+
+pci:v00000E11d00000046sv00000E11sd0000409C*
+ ID_MODEL_FROM_DATABASE=Smart Array 6400
+
+pci:v00000E11d00000046sv00000E11sd0000409D*
+ ID_MODEL_FROM_DATABASE=Smart Array 6400 EM
+
+pci:v00000E11d00000049*
+ ID_MODEL_FROM_DATABASE=NC7132 Gigabit Upgrade Module
+
+pci:v00000E11d0000004A*
+ ID_MODEL_FROM_DATABASE=NC6136 Gigabit Server Adapter
+
+pci:v00000E11d0000005A*
+ ID_MODEL_FROM_DATABASE=Remote Insight II board - Lights-Out
+
+pci:v00000E11d0000007C*
+ ID_MODEL_FROM_DATABASE=NC7770 1000BaseTX
+
+pci:v00000E11d0000007D*
+ ID_MODEL_FROM_DATABASE=NC6770 1000BaseTX
+
+pci:v00000E11d00000085*
+ ID_MODEL_FROM_DATABASE=NC7780 1000BaseTX
+
+pci:v00000E11d000000B1*
+ ID_MODEL_FROM_DATABASE=Remote Insight II board - PCI device
+
+pci:v00000E11d000000BB*
+ ID_MODEL_FROM_DATABASE=NC7760
+
+pci:v00000E11d000000CA*
+ ID_MODEL_FROM_DATABASE=NC7771
+
+pci:v00000E11d000000CB*
+ ID_MODEL_FROM_DATABASE=NC7781
+
+pci:v00000E11d000000CF*
+ ID_MODEL_FROM_DATABASE=NC7772
+
+pci:v00000E11d000000D0*
+ ID_MODEL_FROM_DATABASE=NC7782
+
+pci:v00000E11d000000D1*
+ ID_MODEL_FROM_DATABASE=NC7783
+
+pci:v00000E11d000000E3*
+ ID_MODEL_FROM_DATABASE=NC7761
+
+pci:v00000E11d00000508*
+ ID_MODEL_FROM_DATABASE=Netelligent 4/16 Token Ring
+
+pci:v00000E11d00001000*
+ ID_MODEL_FROM_DATABASE=Triflex/Pentium Bridge, Model 1000
+
+pci:v00000E11d00002000*
+ ID_MODEL_FROM_DATABASE=Triflex/Pentium Bridge, Model 2000
+
+pci:v00000E11d00003032*
+ ID_MODEL_FROM_DATABASE=QVision 1280/p
+
+pci:v00000E11d00003033*
+ ID_MODEL_FROM_DATABASE=QVision 1280/p
+
+pci:v00000E11d00003034*
+ ID_MODEL_FROM_DATABASE=QVision 1280/p
+
+pci:v00000E11d00004000*
+ ID_MODEL_FROM_DATABASE=4000 [Triflex]
+
+pci:v00000E11d00004040*
+ ID_MODEL_FROM_DATABASE=Integrated Array
+
+pci:v00000E11d00004048*
+ ID_MODEL_FROM_DATABASE=Compaq Raid LC2
+
+pci:v00000E11d00004050*
+ ID_MODEL_FROM_DATABASE=Smart Array 4200
+
+pci:v00000E11d00004051*
+ ID_MODEL_FROM_DATABASE=Smart Array 4250ES
+
+pci:v00000E11d00004058*
+ ID_MODEL_FROM_DATABASE=Smart Array 431
+
+pci:v00000E11d00004070*
+ ID_MODEL_FROM_DATABASE=Smart Array 5300
+
+pci:v00000E11d00004080*
+ ID_MODEL_FROM_DATABASE=Smart Array 5i
+
+pci:v00000E11d00004082*
+ ID_MODEL_FROM_DATABASE=Smart Array 532
+
+pci:v00000E11d00004083*
+ ID_MODEL_FROM_DATABASE=Smart Array 5312
+
+pci:v00000E11d00004091*
+ ID_MODEL_FROM_DATABASE=Smart Array 6i
+
+pci:v00000E11d0000409A*
+ ID_MODEL_FROM_DATABASE=Smart Array 641
+
+pci:v00000E11d0000409B*
+ ID_MODEL_FROM_DATABASE=Smart Array 642
+
+pci:v00000E11d0000409C*
+ ID_MODEL_FROM_DATABASE=Smart Array 6400
+
+pci:v00000E11d0000409D*
+ ID_MODEL_FROM_DATABASE=Smart Array 6400 EM
+
+pci:v00000E11d00006010*
+ ID_MODEL_FROM_DATABASE=HotPlug PCI Bridge 6010
+
+pci:v00000E11d00007020*
+ ID_MODEL_FROM_DATABASE=USB Controller
+
+pci:v00000E11d0000A0EC*
+ ID_MODEL_FROM_DATABASE=Fibre Channel Host Controller
+
+pci:v00000E11d0000A0F0*
+ ID_MODEL_FROM_DATABASE=Advanced System Management Controller
+
+pci:v00000E11d0000A0F0sv00000E11sd0000B0F3*
+ ID_MODEL_FROM_DATABASE=ProLiant DL360
+
+pci:v00000E11d0000A0F3*
+ ID_MODEL_FROM_DATABASE=Triflex PCI to ISA Bridge
+
+pci:v00000E11d0000A0F7*
+ ID_MODEL_FROM_DATABASE=PCI Hotplug Controller
+
+pci:v00000E11d0000A0F7sv00008086sd0000002A*
+ ID_MODEL_FROM_DATABASE=PCI Hotplug Controller A
+
+pci:v00000E11d0000A0F7sv00008086sd0000002B*
+ ID_MODEL_FROM_DATABASE=PCI Hotplug Controller B
+
+pci:v00000E11d0000A0F8*
+ ID_MODEL_FROM_DATABASE=ZFMicro Chipset USB
+
+pci:v00000E11d0000A0FC*
+ ID_MODEL_FROM_DATABASE=FibreChannel HBA Tachyon
+
+pci:v00000E11d0000AE10*
+ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller
+
+pci:v00000E11d0000AE10sv00000E11sd00004030*
+ ID_MODEL_FROM_DATABASE=Smart-2/P Array Controller
+
+pci:v00000E11d0000AE10sv00000E11sd00004031*
+ ID_MODEL_FROM_DATABASE=Smart-2SL Array Controller
+
+pci:v00000E11d0000AE10sv00000E11sd00004032*
+ ID_MODEL_FROM_DATABASE=Smart Array 3200 Controller
+
+pci:v00000E11d0000AE10sv00000E11sd00004033*
+ ID_MODEL_FROM_DATABASE=Smart Array 3100ES Controller
+
+pci:v00000E11d0000AE10sv00000E11sd00004034*
+ ID_MODEL_FROM_DATABASE=Smart Array 221 Controller
+
+pci:v00000E11d0000AE29*
+ ID_MODEL_FROM_DATABASE=MIS-L
+
+pci:v00000E11d0000AE2A*
+ ID_MODEL_FROM_DATABASE=MPC
+
+pci:v00000E11d0000AE2B*
+ ID_MODEL_FROM_DATABASE=MIS-E
+
+pci:v00000E11d0000AE31*
+ ID_MODEL_FROM_DATABASE=System Management Controller
+
+pci:v00000E11d0000AE32*
+ ID_MODEL_FROM_DATABASE=Netelligent 10/100 TX PCI UTP
+
+pci:v00000E11d0000AE33*
+ ID_MODEL_FROM_DATABASE=Triflex Dual EIDE Controller
+
+pci:v00000E11d0000AE34*
+ ID_MODEL_FROM_DATABASE=Netelligent 10 T PCI UTP
+
+pci:v00000E11d0000AE35*
+ ID_MODEL_FROM_DATABASE=Integrated NetFlex-3/P
+
+pci:v00000E11d0000AE40*
+ ID_MODEL_FROM_DATABASE=Netelligent Dual 10/100 TX PCI UTP
+
+pci:v00000E11d0000AE43*
+ ID_MODEL_FROM_DATABASE=Netelligent Integrated 10/100 TX UTP
+
+pci:v00000E11d0000AE69*
+ ID_MODEL_FROM_DATABASE=CETUS-L
+
+pci:v00000E11d0000AE6C*
+ ID_MODEL_FROM_DATABASE=Northstar
+
+pci:v00000E11d0000AE6D*
+ ID_MODEL_FROM_DATABASE=NorthStar CPU to PCI Bridge
+
+pci:v00000E11d0000B011*
+ ID_MODEL_FROM_DATABASE=Netelligent 10/100 TX Embedded UTP
+
+pci:v00000E11d0000B012*
+ ID_MODEL_FROM_DATABASE=Netelligent 10 T/2 PCI UTP/Coax
+
+pci:v00000E11d0000B01E*
+ ID_MODEL_FROM_DATABASE=NC3120 Fast Ethernet NIC
+
+pci:v00000E11d0000B01F*
+ ID_MODEL_FROM_DATABASE=NC3122 Fast Ethernet NIC
+
+pci:v00000E11d0000B02F*
+ ID_MODEL_FROM_DATABASE=NC1120 Ethernet NIC
+
+pci:v00000E11d0000B030*
+ ID_MODEL_FROM_DATABASE=Netelligent 10/100 TX UTP
+
+pci:v00000E11d0000B04A*
+ ID_MODEL_FROM_DATABASE=10/100 TX PCI Intel WOL UTP Controller
+
+pci:v00000E11d0000B060*
+ ID_MODEL_FROM_DATABASE=Smart Array 5300 Controller
+
+pci:v00000E11d0000B0C6*
+ ID_MODEL_FROM_DATABASE=NC3161 Fast Ethernet NIC
+
+pci:v00000E11d0000B0C7*
+ ID_MODEL_FROM_DATABASE=NC3160 Fast Ethernet NIC
+
+pci:v00000E11d0000B0D7*
+ ID_MODEL_FROM_DATABASE=NC3121 Fast Ethernet NIC
+
+pci:v00000E11d0000B0DD*
+ ID_MODEL_FROM_DATABASE=NC3131 Fast Ethernet NIC
+
+pci:v00000E11d0000B0DE*
+ ID_MODEL_FROM_DATABASE=NC3132 Fast Ethernet Module
+
+pci:v00000E11d0000B0DF*
+ ID_MODEL_FROM_DATABASE=NC6132 Gigabit Module
+
+pci:v00000E11d0000B0E0*
+ ID_MODEL_FROM_DATABASE=NC6133 Gigabit Module
+
+pci:v00000E11d0000B0E1*
+ ID_MODEL_FROM_DATABASE=NC3133 Fast Ethernet Module
+
+pci:v00000E11d0000B123*
+ ID_MODEL_FROM_DATABASE=NC6134 Gigabit NIC
+
+pci:v00000E11d0000B134*
+ ID_MODEL_FROM_DATABASE=NC3163 Fast Ethernet NIC
+
+pci:v00000E11d0000B13C*
+ ID_MODEL_FROM_DATABASE=NC3162 Fast Ethernet NIC
+
+pci:v00000E11d0000B144*
+ ID_MODEL_FROM_DATABASE=NC3123 Fast Ethernet NIC
+
+pci:v00000E11d0000B163*
+ ID_MODEL_FROM_DATABASE=NC3134 Fast Ethernet NIC
+
+pci:v00000E11d0000B164*
+ ID_MODEL_FROM_DATABASE=NC3165 Fast Ethernet Upgrade Module
+
+pci:v00000E11d0000B178*
+ ID_MODEL_FROM_DATABASE=Smart Array 5i/532
+
+pci:v00000E11d0000B178sv00000E11sd00004080*
+ ID_MODEL_FROM_DATABASE=Smart Array 5i
+
+pci:v00000E11d0000B178sv00000E11sd00004082*
+ ID_MODEL_FROM_DATABASE=Smart Array 532
+
+pci:v00000E11d0000B178sv00000E11sd00004083*
+ ID_MODEL_FROM_DATABASE=Smart Array 5312
+
+pci:v00000E11d0000B1A4*
+ ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter
+
+pci:v00000E11d0000B200*
+ ID_MODEL_FROM_DATABASE=Memory Hot-Plug Controller
+
+pci:v00000E11d0000B203*
+ ID_MODEL_FROM_DATABASE=Integrated Lights Out Controller
+
+pci:v00000E11d0000B204*
+ ID_MODEL_FROM_DATABASE=Integrated Lights Out Processor
+
+pci:v00000E11d0000C000*
+ ID_MODEL_FROM_DATABASE=Remote Insight Lights-Out Edition
+
+pci:v00000E11d0000F130*
+ ID_MODEL_FROM_DATABASE=NetFlex-3/P ThunderLAN 1.0
+
+pci:v00000E11d0000F150*
+ ID_MODEL_FROM_DATABASE=NetFlex-3/P ThunderLAN 2.3
+
+pci:v00000EAC*
+ ID_VENDOR_FROM_DATABASE=SHF Communication Technologies AG
+
+pci:v00000EACd00000008*
+ ID_MODEL_FROM_DATABASE=Ethernet Powerlink Managing Node 01
+
+pci:v00000F62*
+ ID_VENDOR_FROM_DATABASE=Acrox Technologies Co., Ltd.
+
+pci:v00001000*
+ ID_VENDOR_FROM_DATABASE=LSI Logic / Symbios Logic
+
+pci:v00001000d00000001*
+ ID_MODEL_FROM_DATABASE=53c810
+
+pci:v00001000d00000001sv00001000sd00001000*
+ ID_MODEL_FROM_DATABASE=LSI53C810AE PCI to SCSI I/O Processor
+
+pci:v00001000d00000002*
+ ID_MODEL_FROM_DATABASE=53c820
+
+pci:v00001000d00000003*
+ ID_MODEL_FROM_DATABASE=53c825
+
+pci:v00001000d00000003sv00001000sd00001000*
+ ID_MODEL_FROM_DATABASE=LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide)
+
+pci:v00001000d00000004*
+ ID_MODEL_FROM_DATABASE=53c815
+
+pci:v00001000d00000005*
+ ID_MODEL_FROM_DATABASE=53c810AP
+
+pci:v00001000d00000006*
+ ID_MODEL_FROM_DATABASE=53c860
+
+pci:v00001000d00000006sv00001000sd00001000*
+ ID_MODEL_FROM_DATABASE=LSI53C860E PCI to Ultra SCSI I/O Processor
+
+pci:v00001000d0000000A*
+ ID_MODEL_FROM_DATABASE=53c1510
+
+pci:v00001000d0000000Asv00000E11sd0000B143*
+ ID_MODEL_FROM_DATABASE=Integrated Dual Channel Wide Ultra2 SCSI Controller
+
+pci:v00001000d0000000Asv00001000sd00001000*
+ ID_MODEL_FROM_DATABASE=LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode)
+
+pci:v00001000d0000000B*
+ ID_MODEL_FROM_DATABASE=53C896/897
+
+pci:v00001000d0000000Bsv00000E11sd00006004*
+ ID_MODEL_FROM_DATABASE=EOB003 Series SCSI host adapter
+
+pci:v00001000d0000000Bsv00001000sd00001000*
+ ID_MODEL_FROM_DATABASE=LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller
+
+pci:v00001000d0000000Bsv00001000sd00001010*
+ ID_MODEL_FROM_DATABASE=LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter
+
+pci:v00001000d0000000Bsv00001000sd00001020*
+ ID_MODEL_FROM_DATABASE=LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter
+
+pci:v00001000d0000000Bsv000013E9sd00001000*
+ ID_MODEL_FROM_DATABASE=6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics)
+
+pci:v00001000d0000000C*
+ ID_MODEL_FROM_DATABASE=53c895
+
+pci:v00001000d0000000Csv00001000sd00001010*
+ ID_MODEL_FROM_DATABASE=LSI8951U PCI to Ultra2 SCSI host adapter
+
+pci:v00001000d0000000Csv00001000sd00001020*
+ ID_MODEL_FROM_DATABASE=LSI8952U PCI to Ultra2 SCSI host adapter
+
+pci:v00001000d0000000Csv00001DE1sd00003906*
+ ID_MODEL_FROM_DATABASE=DC-390U2B SCSI adapter
+
+pci:v00001000d0000000Csv00001DE1sd00003907*
+ ID_MODEL_FROM_DATABASE=DC-390U2W
+
+pci:v00001000d0000000D*
+ ID_MODEL_FROM_DATABASE=53c885
+
+pci:v00001000d0000000F*
+ ID_MODEL_FROM_DATABASE=53c875
+
+pci:v00001000d0000000Fsv00000E11sd00007004*
+ ID_MODEL_FROM_DATABASE=Embedded Ultra Wide SCSI Controller
+
+pci:v00001000d0000000Fsv00001000sd00001000*
+ ID_MODEL_FROM_DATABASE=LSI53C876/E PCI to Dual Channel SCSI Controller
+
+pci:v00001000d0000000Fsv00001000sd00001010*
+ ID_MODEL_FROM_DATABASE=LSI22801 PCI to Dual Channel Ultra SCSI host adapter
+
+pci:v00001000d0000000Fsv00001000sd00001020*
+ ID_MODEL_FROM_DATABASE=LSI22802 PCI to Dual Channel Ultra SCSI host adapter
+
+pci:v00001000d0000000Fsv00001092sd00008760*
+ ID_MODEL_FROM_DATABASE=FirePort 40 Dual SCSI Controller
+
+pci:v00001000d0000000Fsv00001775sd000010D0*
+ ID_MODEL_FROM_DATABASE=V5D Single Board Computer Wide Ultra SCSI
+
+pci:v00001000d0000000Fsv00001775sd000010D1*
+ ID_MODEL_FROM_DATABASE=V5D Single Board Computer Ultra SCSI
+
+pci:v00001000d0000000Fsv00001DE1sd00003904*
+ ID_MODEL_FROM_DATABASE=DC390F/U Ultra Wide SCSI Adapter
+
+pci:v00001000d0000000Fsv00004C53sd00001000*
+ ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard
+
+pci:v00001000d0000000Fsv00004C53sd00001050*
+ ID_MODEL_FROM_DATABASE=CT7 mainboard
+
+pci:v00001000d00000010*
+ ID_MODEL_FROM_DATABASE=53C1510
+
+pci:v00001000d00000010sv00000E11sd00004040*
+ ID_MODEL_FROM_DATABASE=Integrated Smart Array Controller
+
+pci:v00001000d00000010sv00000E11sd00004048*
+ ID_MODEL_FROM_DATABASE=RAID LC2 Controller
+
+pci:v00001000d00000010sv00001000sd00001000*
+ ID_MODEL_FROM_DATABASE=53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode)
+
+pci:v00001000d00000012*
+ ID_MODEL_FROM_DATABASE=53c895a
+
+pci:v00001000d00000012sv00001000sd00001000*
+ ID_MODEL_FROM_DATABASE=LSI53C895A PCI to Ultra2 SCSI Controller
+
+pci:v00001000d00000013*
+ ID_MODEL_FROM_DATABASE=53c875a
+
+pci:v00001000d00000013sv00001000sd00001000*
+ ID_MODEL_FROM_DATABASE=LSI53C875A PCI to Ultra SCSI Controller
+
+pci:v00001000d00000020*
+ ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter
+
+pci:v00001000d00000020sv00001000sd00001000*
+ ID_MODEL_FROM_DATABASE=LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller
+
+pci:v00001000d00000020sv0000107Bsd00001040*
+ ID_MODEL_FROM_DATABASE=Server Onboard 53C1010-33
+
+pci:v00001000d00000020sv00001DE1sd00001020*
+ ID_MODEL_FROM_DATABASE=DC-390U3W
+
+pci:v00001000d00000021*
+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter
+
+pci:v00001000d00000021sv00001000sd00001000*
+ ID_MODEL_FROM_DATABASE=LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller
+
+pci:v00001000d00000021sv00001000sd00001010*
+ ID_MODEL_FROM_DATABASE=Asus TR-DLS onboard 53C1010-66
+
+pci:v00001000d00000021sv0000103Csd00001300*
+ ID_MODEL_FROM_DATABASE=Ultra160 SCSI [AB306A]
+
+pci:v00001000d00000021sv0000103Csd00001310*
+ ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A9918A]
+
+pci:v00001000d00000021sv0000103Csd00001330*
+ ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A7059A]
+
+pci:v00001000d00000021sv0000103Csd00001340*
+ ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A7060A]
+
+pci:v00001000d00000021sv0000124Bsd00001070*
+ ID_MODEL_FROM_DATABASE=PMC-USCSI3
+
+pci:v00001000d00000021sv00004C53sd00001080*
+ ID_MODEL_FROM_DATABASE=CT8 mainboard
+
+pci:v00001000d00000021sv00004C53sd00001300*
+ ID_MODEL_FROM_DATABASE=P017 mezzanine (32-bit PMC)
+
+pci:v00001000d00000021sv00004C53sd00001310*
+ ID_MODEL_FROM_DATABASE=P017 mezzanine (64-bit PMC)
+
+pci:v00001000d0000002F*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 IOV [Thunderbolt]
+
+pci:v00001000d0000002Fsv00001028sd00001F3E*
+ ID_MODEL_FROM_DATABASE=SPERC 8
+
+pci:v00001000d00000030*
+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI
+
+pci:v00001000d00000030sv00000E11sd000000DA*
+ ID_MODEL_FROM_DATABASE=ProLiant ML 350
+
+pci:v00001000d00000030sv00001028sd00000123*
+ ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030
+
+pci:v00001000d00000030sv00001028sd0000014A*
+ ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030
+
+pci:v00001000d00000030sv00001028sd0000016C*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4)
+
+pci:v00001000d00000030sv00001028sd00000183*
+ ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030
+
+pci:v00001000d00000030sv00001028sd0000018A*
+ ID_MODEL_FROM_DATABASE=PERC 4/IM
+
+pci:v00001000d00000030sv00001028sd00001010*
+ ID_MODEL_FROM_DATABASE=LSI U320 SCSI Controller
+
+pci:v00001000d00000030sv0000103Csd000012C5*
+ ID_MODEL_FROM_DATABASE=Ultra320 SCSI [A7173A]
+
+pci:v00001000d00000030sv0000103Csd00001323*
+ ID_MODEL_FROM_DATABASE=Core I/O LAN/SCSI Combo [AB314A]
+
+pci:v00001000d00000030sv0000103Csd00003108*
+ ID_MODEL_FROM_DATABASE=Single Channel Ultra320 SCSI HBA G2
+
+pci:v00001000d00000030sv0000124Bsd00001170*
+ ID_MODEL_FROM_DATABASE=PMC-USCSI320
+
+pci:v00001000d00000030sv000015ADsd00001976*
+ ID_MODEL_FROM_DATABASE=LSI Logic Parallel SCSI Controller
+
+pci:v00001000d00000030sv00001734sd00001052*
+ ID_MODEL_FROM_DATABASE=PRIMERGY BX/RX/TX S2 series onboard SCSI(IME)
+
+pci:v00001000d00000031*
+ ID_MODEL_FROM_DATABASE=53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI
+
+pci:v00001000d00000032*
+ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI
+
+pci:v00001000d00000032sv00001000sd00001000*
+ ID_MODEL_FROM_DATABASE=LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller
+
+pci:v00001000d00000033*
+ ID_MODEL_FROM_DATABASE=1030ZC_53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI
+
+pci:v00001000d00000040*
+ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI
+
+pci:v00001000d00000040sv00001000sd00000033*
+ ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2XR
+
+pci:v00001000d00000040sv00001000sd00000066*
+ ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2XRWS
+
+pci:v00001000d00000041*
+ ID_MODEL_FROM_DATABASE=53C1035ZC PCI-X Fusion-MPT Dual Ultra320 SCSI
+
+pci:v00001000d00000050*
+ ID_MODEL_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS
+
+pci:v00001000d00000050sv00001028sd00001F04*
+ ID_MODEL_FROM_DATABASE=SAS 5/E
+
+pci:v00001000d00000050sv00001028sd00001F09*
+ ID_MODEL_FROM_DATABASE=SAS 5i/R
+
+pci:v00001000d00000054*
+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS
+
+pci:v00001000d00000054sv00001028sd00001F04*
+ ID_MODEL_FROM_DATABASE=SAS 5/E Adapter Controller
+
+pci:v00001000d00000054sv00001028sd00001F05*
+ ID_MODEL_FROM_DATABASE=SAS 5/i Adapter Controller
+
+pci:v00001000d00000054sv00001028sd00001F06*
+ ID_MODEL_FROM_DATABASE=SAS 5/i Integrated Controller
+
+pci:v00001000d00000054sv00001028sd00001F07*
+ ID_MODEL_FROM_DATABASE=SAS 5/iR Integrated RAID Controller
+
+pci:v00001000d00000054sv00001028sd00001F08*
+ ID_MODEL_FROM_DATABASE=SAS 5/iR Integrated RAID Controller
+
+pci:v00001000d00000054sv00001028sd00001F09*
+ ID_MODEL_FROM_DATABASE=SAS 5/iR Adapter RAID Controller
+
+pci:v00001000d00000054sv000015ADsd00001976*
+ ID_MODEL_FROM_DATABASE=SAS Controller
+
+pci:v00001000d00000055*
+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS
+
+pci:v00001000d00000055sv00001033sd00008336*
+ ID_MODEL_FROM_DATABASE=SAS1068
+
+pci:v00001000d00000056*
+ ID_MODEL_FROM_DATABASE=SAS1064ET PCI-Express Fusion-MPT SAS
+
+pci:v00001000d00000056sv00001014sd000003BB*
+ ID_MODEL_FROM_DATABASE=ServeRAID BR10il SAS/SATA Controller v2
+
+pci:v00001000d00000057*
+ ID_MODEL_FROM_DATABASE=M1064E MegaRAID SAS
+
+pci:v00001000d00000057sv00008086sd0000346C*
+ ID_MODEL_FROM_DATABASE=Embedded Software RAID Technology II (ESTRII)
+
+pci:v00001000d00000058*
+ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS
+
+pci:v00001000d00000058sv00001000sd00003140*
+ ID_MODEL_FROM_DATABASE=SAS3081E-R 8-Port SAS/SATA Host Bus Adapter
+
+pci:v00001000d00000058sv00001028sd0000021D*
+ ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated Workstations RAID Controller
+
+pci:v00001000d00000058sv00001028sd00001F0E*
+ ID_MODEL_FROM_DATABASE=SAS 6/iR Adapter RAID Controller
+
+pci:v00001000d00000058sv00001028sd00001F0F*
+ ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated Blades RAID Controller
+
+pci:v00001000d00000058sv00001028sd00001F10*
+ ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated RAID Controller
+
+pci:v00001000d00000058sv0000103Csd00003229*
+ ID_MODEL_FROM_DATABASE=SC44Ge Host Bus Adapter
+
+pci:v00001000d00000059*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 8208ELP/8208ELP
+
+pci:v00001000d0000005A*
+ ID_MODEL_FROM_DATABASE=SAS1066E PCI-Express Fusion-MPT SAS
+
+pci:v00001000d0000005B*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt]
+
+pci:v00001000d0000005Bsv00001000sd00009265*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9265-8i
+
+pci:v00001000d0000005Bsv00001000sd00009266*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9266-8i
+
+pci:v00001000d0000005Bsv00001000sd00009267*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9267-8i
+
+pci:v00001000d0000005Bsv00001000sd00009268*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9265CV-8i / 9270CV-8i
+
+pci:v00001000d0000005Bsv00001000sd00009269*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9266-4i
+
+pci:v00001000d0000005Bsv00001000sd00009270*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270-8i
+
+pci:v00001000d0000005Bsv00001000sd00009271*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-8i
+
+pci:v00001000d0000005Bsv00001000sd00009272*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9272-8i
+
+pci:v00001000d0000005Bsv00001000sd00009273*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270CV-8i
+
+pci:v00001000d0000005Bsv00001000sd00009274*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270-4i
+
+pci:v00001000d0000005Bsv00001000sd00009275*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-8iCC
+
+pci:v00001000d0000005Bsv00001000sd00009276*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-4i
+
+pci:v00001000d0000005Bsv00001000sd00009285*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9285-8e
+
+pci:v00001000d0000005Bsv00001000sd00009288*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9285CV-8e
+
+pci:v00001000d0000005Bsv00001000sd00009290*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286-8e
+
+pci:v00001000d0000005Bsv00001000sd00009291*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286CV-8e
+
+pci:v00001000d0000005Bsv00001000sd00009295*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286CV-8eCC
+
+pci:v00001000d0000005Bsv00001014sd0000040B*
+ ID_MODEL_FROM_DATABASE=ServeRAID M5110 SAS/SATA Controller
+
+pci:v00001000d0000005Bsv00001014sd00000412*
+ ID_MODEL_FROM_DATABASE=ServeRAID M5110e SAS/SATA Controller
+
+pci:v00001000d0000005Bsv00001028sd00001F2D*
+ ID_MODEL_FROM_DATABASE=PERC H810 Adapter
+
+pci:v00001000d0000005Bsv00001028sd00001F30*
+ ID_MODEL_FROM_DATABASE=PERC H710 Embedded
+
+pci:v00001000d0000005Bsv00001028sd00001F31*
+ ID_MODEL_FROM_DATABASE=PERC H710P Adapter
+
+pci:v00001000d0000005Bsv00001028sd00001F33*
+ ID_MODEL_FROM_DATABASE=PERC H710P Mini (for blades)
+
+pci:v00001000d0000005Bsv00001028sd00001F34*
+ ID_MODEL_FROM_DATABASE=PERC H710P Mini (for monolithics)
+
+pci:v00001000d0000005Bsv00001028sd00001F35*
+ ID_MODEL_FROM_DATABASE=PERC H710 Adapter
+
+pci:v00001000d0000005Bsv00001028sd00001F37*
+ ID_MODEL_FROM_DATABASE=PERC H710 Mini (for blades)
+
+pci:v00001000d0000005Bsv00001028sd00001F38*
+ ID_MODEL_FROM_DATABASE=PERC H710 Mini (for monolithics)
+
+pci:v00001000d0000005Bsv00008086sd00003513*
+ ID_MODEL_FROM_DATABASE=RMS25CB080 RAID Controller
+
+pci:v00001000d0000005C*
+ ID_MODEL_FROM_DATABASE=SAS1064A PCI-X Fusion-MPT SAS
+
+pci:v00001000d0000005D*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader]
+
+pci:v00001000d0000005E*
+ ID_MODEL_FROM_DATABASE=SAS1066 PCI-X Fusion-MPT SAS
+
+pci:v00001000d0000005F*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury]
+
+pci:v00001000d00000060*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078
+
+pci:v00001000d00000060sv00001000sd00001006*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 8888ELP
+
+pci:v00001000d00000060sv00001000sd0000100A*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 8708ELP
+
+pci:v00001000d00000060sv00001000sd0000100E*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 8884E
+
+pci:v00001000d00000060sv00001000sd0000100F*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 8708E
+
+pci:v00001000d00000060sv00001000sd00001010*
+ ID_MODEL_FROM_DATABASE=MegaRAID SATA 350-8ELP
+
+pci:v00001000d00000060sv00001000sd00001011*
+ ID_MODEL_FROM_DATABASE=MegaRAID SATA 350-4ELP
+
+pci:v00001000d00000060sv00001000sd00001012*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 8704ELP
+
+pci:v00001000d00000060sv00001000sd00001016*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 8880EM2
+
+pci:v00001000d00000060sv00001014sd00000363*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
+
+pci:v00001000d00000060sv00001014sd00000364*
+ ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8808E
+
+pci:v00001000d00000060sv00001014sd00000365*
+ ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8884E
+
+pci:v00001000d00000060sv00001014sd00000379*
+ ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8880EM2
+
+pci:v00001000d00000060sv00001028sd00001F0A*
+ ID_MODEL_FROM_DATABASE=PERC 6/E Adapter RAID Controller
+
+pci:v00001000d00000060sv00001028sd00001F0B*
+ ID_MODEL_FROM_DATABASE=PERC 6/i Adapter RAID Controller
+
+pci:v00001000d00000060sv00001028sd00001F0C*
+ ID_MODEL_FROM_DATABASE=PERC 6/i Integrated RAID Controller
+
+pci:v00001000d00000060sv00001028sd00001F0D*
+ ID_MODEL_FROM_DATABASE=PERC 6/i Integrated RAID Controller
+
+pci:v00001000d00000060sv00001028sd00001F11*
+ ID_MODEL_FROM_DATABASE=CERC 6/i Integrated RAID Controller
+
+pci:v00001000d00000060sv00001033sd0000835A*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
+
+pci:v00001000d00000060sv00001043sd0000824D*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
+
+pci:v00001000d00000060sv00001170sd0000002F*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
+
+pci:v00001000d00000060sv00001170sd00000036*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
+
+pci:v00001000d00000060sv000015D9sd0000C080*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
+
+pci:v00001000d00000060sv000017AAsd00006B7C*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
+
+pci:v00001000d00000060sv000018A1sd00000003*
+ ID_MODEL_FROM_DATABASE=LSI MegaRAID SAS PCI Express ROMB
+
+pci:v00001000d00000060sv00008086sd00001006*
+ ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS28EP
+
+pci:v00001000d00000060sv00008086sd0000100A*
+ ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS28EV
+
+pci:v00001000d00000060sv00008086sd00001010*
+ ID_MODEL_FROM_DATABASE=RAID Controller SRCSATA28E
+
+pci:v00001000d00000060sv00008086sd000034CC*
+ ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSAS28E
+
+pci:v00001000d00000060sv00008086sd000034CD*
+ ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSAS28E
+
+pci:v00001000d00000060sv00008086sd00003505*
+ ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSASMP2
+
+pci:v00001000d00000062*
+ ID_MODEL_FROM_DATABASE=SAS1078 PCI-Express Fusion-MPT SAS
+
+pci:v00001000d00000062sv00001000sd00000062*
+ ID_MODEL_FROM_DATABASE=SAS1078 PCI-Express Fusion-MPT SAS
+
+pci:v00001000d00000064*
+ ID_MODEL_FROM_DATABASE=SAS2116 PCI-Express Fusion-MPT SAS-2 [Meteor]
+
+pci:v00001000d00000065*
+ ID_MODEL_FROM_DATABASE=SAS2116 PCI-Express Fusion-MPT SAS-2 [Meteor]
+
+pci:v00001000d0000006E*
+ ID_MODEL_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2
+
+pci:v00001000d00000070*
+ ID_MODEL_FROM_DATABASE=SAS2004 PCI-Express Fusion-MPT SAS-2 [Spitfire]
+
+pci:v00001000d00000071*
+ ID_MODEL_FROM_DATABASE=MR SAS HBA 2004
+
+pci:v00001000d00000072*
+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]
+
+pci:v00001000d00000072sv00001028sd00001F1C*
+ ID_MODEL_FROM_DATABASE=6Gbps SAS HBA Adapter
+
+pci:v00001000d00000072sv00001028sd00001F1D*
+ ID_MODEL_FROM_DATABASE=PERC H200 Adapter
+
+pci:v00001000d00000072sv00001028sd00001F1E*
+ ID_MODEL_FROM_DATABASE=PERC H200 Integrated
+
+pci:v00001000d00000072sv00001028sd00001F1F*
+ ID_MODEL_FROM_DATABASE=PERC H200 Modular
+
+pci:v00001000d00000072sv00001028sd00001F20*
+ ID_MODEL_FROM_DATABASE=PERC H200 Embedded
+
+pci:v00001000d00000072sv00001028sd00001F22*
+ ID_MODEL_FROM_DATABASE=Internal Tape Adapter
+
+pci:v00001000d00000072sv00008086sd0000350F*
+ ID_MODEL_FROM_DATABASE=RMS2LL040 RAID Controller
+
+pci:v00001000d00000073*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon]
+
+pci:v00001000d00000073sv00001000sd00009240*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9240-8i
+
+pci:v00001000d00000073sv00001000sd00009241*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9240-4i
+
+pci:v00001000d00000073sv00001000sd000092A0*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9220-8i
+
+pci:v00001000d00000073sv00001014sd000003B1*
+ ID_MODEL_FROM_DATABASE=ServeRAID M1015 SAS/SATA Controller
+
+pci:v00001000d00000073sv00001028sd00001F4E*
+ ID_MODEL_FROM_DATABASE=PERC H310 Adapter
+
+pci:v00001000d00000073sv00001028sd00001F4F*
+ ID_MODEL_FROM_DATABASE=PERC H310 Integrated
+
+pci:v00001000d00000073sv00001028sd00001F50*
+ ID_MODEL_FROM_DATABASE=PERC H310 Mini Blades
+
+pci:v00001000d00000073sv00001028sd00001F51*
+ ID_MODEL_FROM_DATABASE=PERC H310 Mini Monolithics
+
+pci:v00001000d00000073sv00001028sd00001F52*
+ ID_MODEL_FROM_DATABASE=PERC H310 Embedded1
+
+pci:v00001000d00000073sv00001028sd00001F53*
+ ID_MODEL_FROM_DATABASE=PERC H310 Embedded2
+
+pci:v00001000d00000073sv00001028sd00001F54*
+ ID_MODEL_FROM_DATABASE=PERC H310 Reserved
+
+pci:v00001000d00000073sv00001054sd00003035*
+ ID_MODEL_FROM_DATABASE=LSI MegaRAID SAS 9240-8i
+
+pci:v00001000d00000073sv00001137sd00000072*
+ ID_MODEL_FROM_DATABASE=2004 iMR ROMB
+
+pci:v00001000d00000073sv00001137sd00000073*
+ ID_MODEL_FROM_DATABASE=2008 ROMB
+
+pci:v00001000d00000073sv00001137sd000000B0*
+ ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i
+
+pci:v00001000d00000073sv00001137sd000000B1*
+ ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i
+
+pci:v00001000d00000073sv000015D9sd00000400*
+ ID_MODEL_FROM_DATABASE=Supermicro SMC2008-iMR
+
+pci:v00001000d00000073sv00001734sd00001177*
+ ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607)
+
+pci:v00001000d00000073sv00008086sd0000350D*
+ ID_MODEL_FROM_DATABASE=RMS2AF040 RAID Controller
+
+pci:v00001000d00000073sv00008086sd00009240*
+ ID_MODEL_FROM_DATABASE=RAID Controller RS2WC080
+
+pci:v00001000d00000073sv00008086sd00009241*
+ ID_MODEL_FROM_DATABASE=RAID Controller RS2WC040
+
+pci:v00001000d00000074*
+ ID_MODEL_FROM_DATABASE=SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator]
+
+pci:v00001000d00000076*
+ ID_MODEL_FROM_DATABASE=SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator]
+
+pci:v00001000d00000077*
+ ID_MODEL_FROM_DATABASE=SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator]
+
+pci:v00001000d00000079*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator]
+
+pci:v00001000d00000079sv00001000sd00009251*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-4ix
+
+pci:v00001000d00000079sv00001000sd00009256*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-8ix
+
+pci:v00001000d00000079sv00001000sd00009260*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-4i
+
+pci:v00001000d00000079sv00001000sd00009261*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-8i
+
+pci:v00001000d00000079sv00001000sd00009262*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9262-8i
+
+pci:v00001000d00000079sv00001000sd00009263*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9261-8i
+
+pci:v00001000d00000079sv00001000sd00009264*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9264-8i
+
+pci:v00001000d00000079sv00001000sd00009267*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260CV-4i
+
+pci:v00001000d00000079sv00001000sd00009268*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260CV-8i
+
+pci:v00001000d00000079sv00001000sd00009275*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-8ex
+
+pci:v00001000d00000079sv00001000sd00009276*
+ ID_MODEL_FROM_DATABASE=MR9260-16i
+
+pci:v00001000d00000079sv00001000sd00009280*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-8e
+
+pci:v00001000d00000079sv00001000sd00009281*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9281-8E
+
+pci:v00001000d00000079sv00001000sd00009282*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-4i4e
+
+pci:v00001000d00000079sv00001000sd00009290*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280DE-24i4e
+
+pci:v00001000d00000079sv00001014sd000003B2*
+ ID_MODEL_FROM_DATABASE=ServeRAID M5015 SAS/SATA Controller
+
+pci:v00001000d00000079sv00001014sd000003B3*
+ ID_MODEL_FROM_DATABASE=ServeRAID M5025 SAS/SATA Controller
+
+pci:v00001000d00000079sv00001028sd00001F15*
+ ID_MODEL_FROM_DATABASE=PERC H800 Adapter
+
+pci:v00001000d00000079sv00001028sd00001F16*
+ ID_MODEL_FROM_DATABASE=PERC H700 Adapter
+
+pci:v00001000d00000079sv00001028sd00001F17*
+ ID_MODEL_FROM_DATABASE=PERC H700 Integrated
+
+pci:v00001000d00000079sv00001028sd00001F18*
+ ID_MODEL_FROM_DATABASE=PERC H700 Modular
+
+pci:v00001000d00000079sv00001028sd00001F1A*
+ ID_MODEL_FROM_DATABASE=PERC H800 Proto Adapter
+
+pci:v00001000d00000079sv00001028sd00001F1B*
+ ID_MODEL_FROM_DATABASE=PERC H700 Integrated
+
+pci:v00001000d00000079sv00001043sd00008480*
+ ID_MODEL_FROM_DATABASE=PIKE-2108 16PD
+
+pci:v00001000d00000079sv00001734sd00001176*
+ ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 5/6 512MB (D2616)
+
+pci:v00001000d00000079sv00001734sd00001177*
+ ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607)
+
+pci:v00001000d00000079sv00008086sd00009256*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260DE-8i
+
+pci:v00001000d00000079sv00008086sd00009260*
+ ID_MODEL_FROM_DATABASE=RAID Controller RS2BL040
+
+pci:v00001000d00000079sv00008086sd00009261*
+ ID_MODEL_FROM_DATABASE=RAID Controller RS2BL080
+
+pci:v00001000d00000079sv00008086sd00009264*
+ ID_MODEL_FROM_DATABASE=Warm Beach (Caster Lite)
+
+pci:v00001000d00000079sv00008086sd00009267*
+ ID_MODEL_FROM_DATABASE=RAID Controller RS2VB040
+
+pci:v00001000d00000079sv00008086sd00009268*
+ ID_MODEL_FROM_DATABASE=RAID Controller RS2VB080
+
+pci:v00001000d0000007C*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078DE
+
+pci:v00001000d0000007Csv00001014sd00000395*
+ ID_MODEL_FROM_DATABASE=ServeRAID-AR10is SAS/SATA Controller
+
+pci:v00001000d0000007E*
+ ID_MODEL_FROM_DATABASE=SSS6200 PCI-Express Flash SSD
+
+pci:v00001000d00000080*
+ ID_MODEL_FROM_DATABASE=SAS2208 PCI-Express Fusion-MPT SAS-2
+
+pci:v00001000d00000081*
+ ID_MODEL_FROM_DATABASE=SAS2208 PCI-Express Fusion-MPT SAS-2
+
+pci:v00001000d00000082*
+ ID_MODEL_FROM_DATABASE=SAS2208 PCI-Express Fusion-MPT SAS-2
+
+pci:v00001000d00000083*
+ ID_MODEL_FROM_DATABASE=SAS2208 PCI-Express Fusion-MPT SAS-2
+
+pci:v00001000d00000084*
+ ID_MODEL_FROM_DATABASE=SAS2208 PCI-Express Fusion-MPT SAS-2
+
+pci:v00001000d00000085*
+ ID_MODEL_FROM_DATABASE=SAS2208 PCI-Express Fusion-MPT SAS-2
+
+pci:v00001000d00000086*
+ ID_MODEL_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2
+
+pci:v00001000d00000087*
+ ID_MODEL_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2
+
+pci:v00001000d00000087sv00001590sd00000044*
+ ID_MODEL_FROM_DATABASE=H220i
+
+pci:v00001000d0000008F*
+ ID_MODEL_FROM_DATABASE=53c875J
+
+pci:v00001000d0000008Fsv00001092sd00008000*
+ ID_MODEL_FROM_DATABASE=FirePort 40 SCSI Controller
+
+pci:v00001000d0000008Fsv00001092sd00008760*
+ ID_MODEL_FROM_DATABASE=FirePort 40 Dual SCSI Host Adapter
+
+pci:v00001000d00000090*
+ ID_MODEL_FROM_DATABASE=SAS3108 PCI-Express Fusion-MPT SAS-3
+
+pci:v00001000d00000091*
+ ID_MODEL_FROM_DATABASE=SAS3108 PCI-Express Fusion-MPT SAS-3
+
+pci:v00001000d00000094*
+ ID_MODEL_FROM_DATABASE=SAS3108 PCI-Express Fusion-MPT SAS-3
+
+pci:v00001000d00000095*
+ ID_MODEL_FROM_DATABASE=SAS3108 PCI-Express Fusion-MPT SAS-3
+
+pci:v00001000d00000096*
+ ID_MODEL_FROM_DATABASE=SAS3004 PCI-Express Fusion-MPT SAS-3
+
+pci:v00001000d00000097*
+ ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3
+
+pci:v00001000d00000407*
+ ID_MODEL_FROM_DATABASE=MegaRAID
+
+pci:v00001000d00000407sv00001000sd00000530*
+ ID_MODEL_FROM_DATABASE=MegaRAID 530 SCSI 320-0X RAID Controller
+
+pci:v00001000d00000407sv00001000sd00000531*
+ ID_MODEL_FROM_DATABASE=MegaRAID 531 SCSI 320-4X RAID Controller
+
+pci:v00001000d00000407sv00001000sd00000532*
+ ID_MODEL_FROM_DATABASE=MegaRAID 532 SCSI 320-2X RAID Controller
+
+pci:v00001000d00000407sv00001028sd00000531*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC
+
+pci:v00001000d00000407sv00001028sd00000533*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC
+
+pci:v00001000d00000407sv00008086sd00000530*
+ ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCZCRX
+
+pci:v00001000d00000407sv00008086sd00000532*
+ ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCU42X
+
+pci:v00001000d00000408*
+ ID_MODEL_FROM_DATABASE=MegaRAID
+
+pci:v00001000d00000408sv00001000sd00000001*
+ ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-1E RAID Controller
+
+pci:v00001000d00000408sv00001000sd00000002*
+ ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2E RAID Controller
+
+pci:v00001000d00000408sv00001025sd0000004D*
+ ID_MODEL_FROM_DATABASE=MegaRAID ACER ROMB-2E RAID Controller
+
+pci:v00001000d00000408sv00001028sd00000001*
+ ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC4e/SC
+
+pci:v00001000d00000408sv00001028sd00000002*
+ ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC4e/DC
+
+pci:v00001000d00000408sv00001028sd00000012*
+ ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller RAC4
+
+pci:v00001000d00000408sv00001028sd00000015*
+ ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC5
+
+pci:v00001000d00000408sv00001028sd00001F03*
+ ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC5
+
+pci:v00001000d00000408sv00001734sd00001065*
+ ID_MODEL_FROM_DATABASE=FSC MegaRAID PCI Express ROMB
+
+pci:v00001000d00000408sv00008086sd00000002*
+ ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCU42E
+
+pci:v00001000d00000408sv00008086sd00003449*
+ ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SROMBU
+
+pci:v00001000d00000409*
+ ID_MODEL_FROM_DATABASE=MegaRAID
+
+pci:v00001000d00000409sv00001000sd00003004*
+ ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-4X RAID Controller
+
+pci:v00001000d00000409sv00001000sd00003008*
+ ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-8X RAID Controller
+
+pci:v00001000d00000409sv00008086sd00003008*
+ ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS28X
+
+pci:v00001000d00000409sv00008086sd00003431*
+ ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller Alief SROMBU42E
+
+pci:v00001000d00000409sv00008086sd00003499*
+ ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller Harwich SROMBU42E
+
+pci:v00001000d00000411*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068
+
+pci:v00001000d00000411sv00001000sd00001001*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 8408E
+
+pci:v00001000d00000411sv00001000sd00001002*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 8480E
+
+pci:v00001000d00000411sv00001000sd00001003*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 8344ELP
+
+pci:v00001000d00000411sv00001000sd00001004*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 8308ELP
+
+pci:v00001000d00000411sv00001000sd00001008*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 84016E
+
+pci:v00001000d00000411sv00001000sd0000100C*
+ ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-12E
+
+pci:v00001000d00000411sv00001000sd0000100D*
+ ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-16E
+
+pci:v00001000d00000411sv00001000sd00002004*
+ ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-8ELP
+
+pci:v00001000d00000411sv00001000sd00002005*
+ ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-4ELP
+
+pci:v00001000d00000411sv00001033sd00008287*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
+
+pci:v00001000d00000411sv00001054sd00003016*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS RoMB Server
+
+pci:v00001000d00000411sv00001734sd00001081*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
+
+pci:v00001000d00000411sv00001734sd000010A3*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
+
+pci:v00001000d00000411sv00008086sd00001001*
+ ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS18E
+
+pci:v00001000d00000411sv00008086sd00001003*
+ ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS144E
+
+pci:v00001000d00000411sv00008086sd00003500*
+ ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller
+
+pci:v00001000d00000411sv00008086sd00003501*
+ ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller
+
+pci:v00001000d00000411sv00008086sd00003504*
+ ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller
+
+pci:v00001000d00000413*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 [Verde ZCR]
+
+pci:v00001000d00000413sv00001000sd00001005*
+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 8300XLP
+
+pci:v00001000d00000621*
+ ID_MODEL_FROM_DATABASE=FC909 Fibre Channel Adapter
+
+pci:v00001000d00000622*
+ ID_MODEL_FROM_DATABASE=FC929 Fibre Channel Adapter
+
+pci:v00001000d00000622sv00001000sd00001020*
+ ID_MODEL_FROM_DATABASE=44929 O Dual Fibre Channel card
+
+pci:v00001000d00000623*
+ ID_MODEL_FROM_DATABASE=FC929 LAN
+
+pci:v00001000d00000624*
+ ID_MODEL_FROM_DATABASE=FC919 Fibre Channel Adapter
+
+pci:v00001000d00000625*
+ ID_MODEL_FROM_DATABASE=FC919 LAN
+
+pci:v00001000d00000626*
+ ID_MODEL_FROM_DATABASE=FC929X Fibre Channel Adapter
+
+pci:v00001000d00000626sv00001000sd00001010*
+ ID_MODEL_FROM_DATABASE=7202-XP-LC Dual Fibre Channel card
+
+pci:v00001000d00000627*
+ ID_MODEL_FROM_DATABASE=FC929X LAN
+
+pci:v00001000d00000628*
+ ID_MODEL_FROM_DATABASE=FC919X Fibre Channel Adapter
+
+pci:v00001000d00000629*
+ ID_MODEL_FROM_DATABASE=FC919X LAN
+
+pci:v00001000d00000640*
+ ID_MODEL_FROM_DATABASE=FC949X Fibre Channel Adapter
+
+pci:v00001000d00000642*
+ ID_MODEL_FROM_DATABASE=FC939X Fibre Channel Adapter
+
+pci:v00001000d00000646*
+ ID_MODEL_FROM_DATABASE=FC949ES Fibre Channel Adapter
+
+pci:v00001000d00000701*
+ ID_MODEL_FROM_DATABASE=83C885 NT50 DigitalScape Fast Ethernet
+
+pci:v00001000d00000702*
+ ID_MODEL_FROM_DATABASE=Yellowfin G-NIC gigabit ethernet
+
+pci:v00001000d00000702sv00001318sd00000000*
+ ID_MODEL_FROM_DATABASE=PEI100X
+
+pci:v00001000d00000804*
+ ID_MODEL_FROM_DATABASE=SA2010
+
+pci:v00001000d00000805*
+ ID_MODEL_FROM_DATABASE=SA2010ZC
+
+pci:v00001000d00000806*
+ ID_MODEL_FROM_DATABASE=SA2020
+
+pci:v00001000d00000807*
+ ID_MODEL_FROM_DATABASE=SA2020ZC
+
+pci:v00001000d00000901*
+ ID_MODEL_FROM_DATABASE=61C102
+
+pci:v00001000d00001000*
+ ID_MODEL_FROM_DATABASE=63C815
+
+pci:v00001000d00001960*
+ ID_MODEL_FROM_DATABASE=MegaRAID
+
+pci:v00001000d00001960sv00001000sd00000518*
+ ID_MODEL_FROM_DATABASE=MegaRAID 518 SCSI 320-2 Controller
+
+pci:v00001000d00001960sv00001000sd00000520*
+ ID_MODEL_FROM_DATABASE=MegaRAID 520 SCSI 320-1 Controller
+
+pci:v00001000d00001960sv00001000sd00000522*
+ ID_MODEL_FROM_DATABASE=MegaRAID 522 i4 133 RAID Controller
+
+pci:v00001000d00001960sv00001000sd00000523*
+ ID_MODEL_FROM_DATABASE=MegaRAID SATA 150-6 RAID Controller
+
+pci:v00001000d00001960sv00001000sd00004523*
+ ID_MODEL_FROM_DATABASE=MegaRAID SATA 150-4 RAID Controller
+
+pci:v00001000d00001960sv00001000sd0000A520*
+ ID_MODEL_FROM_DATABASE=MegaRAID ZCR SCSI 320-0 Controller
+
+pci:v00001000d00001960sv00001028sd00000518*
+ ID_MODEL_FROM_DATABASE=MegaRAID 518 DELL PERC 4/DC RAID Controller
+
+pci:v00001000d00001960sv00001028sd00000520*
+ ID_MODEL_FROM_DATABASE=MegaRAID 520 DELL PERC 4/SC RAID Controller
+
+pci:v00001000d00001960sv00001028sd00000531*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC
+
+pci:v00001000d00001960sv00001028sd00000533*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC
+
+pci:v00001000d00001960sv00008086sd00000520*
+ ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCU41L
+
+pci:v00001000d00001960sv00008086sd00000523*
+ ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS16
+
+pci:v00001000d00006001*
+ ID_MODEL_FROM_DATABASE=DX1 Multiformat Broadcast HD/SD Encoder/Decoder
+
+pci:v00001001*
+ ID_VENDOR_FROM_DATABASE=Kolter Electronic
+
+pci:v00001001d00000010*
+ ID_MODEL_FROM_DATABASE=PCI 1616 Measurement card with 32 digital I/O lines
+
+pci:v00001001d00000011*
+ ID_MODEL_FROM_DATABASE=OPTO-PCI Opto-Isolated digital I/O board
+
+pci:v00001001d00000012*
+ ID_MODEL_FROM_DATABASE=PCI-AD/DA Analogue I/O board
+
+pci:v00001001d00000013*
+ ID_MODEL_FROM_DATABASE=PCI-OPTO-RELAIS Digital I/O board with relay outputs
+
+pci:v00001001d00000014*
+ ID_MODEL_FROM_DATABASE=PCI-Counter/Timer Counter Timer board
+
+pci:v00001001d00000015*
+ ID_MODEL_FROM_DATABASE=PCI-DAC416 Analogue output board
+
+pci:v00001001d00000016*
+ ID_MODEL_FROM_DATABASE=PCI-MFB Analogue I/O board
+
+pci:v00001001d00000017*
+ ID_MODEL_FROM_DATABASE=PROTO-3 PCI Prototyping board
+
+pci:v00001001d00009100*
+ ID_MODEL_FROM_DATABASE=INI-9100/9100W SCSI Host
+
+pci:v00001002*
+ ID_VENDOR_FROM_DATABASE=Advanced Micro Devices, Inc. [AMD/ATI]
+
+pci:v00001002d00001304*
+ ID_MODEL_FROM_DATABASE=Kaveri
+
+pci:v00001002d00001305*
+ ID_MODEL_FROM_DATABASE=Kaveri
+
+pci:v00001002d00001306*
+ ID_MODEL_FROM_DATABASE=Kaveri
+
+pci:v00001002d00001307*
+ ID_MODEL_FROM_DATABASE=Kaveri
+
+pci:v00001002d00001314*
+ ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio [Radeon HD 6250/6310]
+
+pci:v00001002d00001314sv0000174Bsd00001001*
+ ID_MODEL_FROM_DATABASE=Sapphire PURE Fusion Mini
+
+pci:v00001002d00001714*
+ ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series]
+
+pci:v00001002d00001714sv0000103Csd0000168B*
+ ID_MODEL_FROM_DATABASE=ProBook 4535s
+
+pci:v00001002d00003150*
+ ID_MODEL_FROM_DATABASE=RV380/M24 [Mobility Radeon X600]
+
+pci:v00001002d00003150sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=nx8220
+
+pci:v00001002d00003151*
+ ID_MODEL_FROM_DATABASE=RV380 GL [FireMV 2400]
+
+pci:v00001002d00003152*
+ ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300]
+
+pci:v00001002d00003154*
+ ID_MODEL_FROM_DATABASE=RV380/M24 GL [Mobility FireGL V3200]
+
+pci:v00001002d00003155*
+ ID_MODEL_FROM_DATABASE=RV380 GL [FireMV 2400]
+
+pci:v00001002d00003171*
+ ID_MODEL_FROM_DATABASE=RV380 GL [FireMV 2400] (Secondary)
+
+pci:v00001002d00003E50*
+ ID_MODEL_FROM_DATABASE=RV380 [Radeon X600]
+
+pci:v00001002d00003E54*
+ ID_MODEL_FROM_DATABASE=RV380 GL [FireGL V3200]
+
+pci:v00001002d00003E70*
+ ID_MODEL_FROM_DATABASE=RV380 [Radeon X600] (Secondary)
+
+pci:v00001002d00004136*
+ ID_MODEL_FROM_DATABASE=RS100 [Mobility IGP 320M]
+
+pci:v00001002d00004137*
+ ID_MODEL_FROM_DATABASE=RS200 [Radeon IGP 340]
+
+pci:v00001002d00004144*
+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500]
+
+pci:v00001002d00004146*
+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9700 PRO]
+
+pci:v00001002d00004147*
+ ID_MODEL_FROM_DATABASE=R300 GL [FireGL Z1]
+
+pci:v00001002d00004148*
+ ID_MODEL_FROM_DATABASE=R350 [Radeon 9800/9800 SE]
+
+pci:v00001002d00004150*
+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series]
+
+pci:v00001002d00004150sv00001002sd00000002*
+ ID_MODEL_FROM_DATABASE=R9600 Pro primary (Asus OEM for HP)
+
+pci:v00001002d00004150sv00001002sd00000003*
+ ID_MODEL_FROM_DATABASE=R9600 Pro secondary (Asus OEM for HP)
+
+pci:v00001002d00004150sv00001002sd00004722*
+ ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 AGP Edition
+
+pci:v00001002d00004150sv00001458sd00004024*
+ ID_MODEL_FROM_DATABASE=Giga-Byte GV-R96128D (Primary)
+
+pci:v00001002d00004150sv0000148Csd00002064*
+ ID_MODEL_FROM_DATABASE=PowerColor R96A-C3N
+
+pci:v00001002d00004150sv0000148Csd00002066*
+ ID_MODEL_FROM_DATABASE=PowerColor R96A-C3N
+
+pci:v00001002d00004150sv0000174Bsd00007C19*
+ ID_MODEL_FROM_DATABASE=Sapphire Atlantis Radeon 9600 Pro
+
+pci:v00001002d00004150sv0000174Bsd00007C29*
+ ID_MODEL_FROM_DATABASE=GC-R9600PRO [Sapphire] (Primary)
+
+pci:v00001002d00004150sv000017EEsd00002002*
+ ID_MODEL_FROM_DATABASE=Radeon 9600 256Mb Primary
+
+pci:v00001002d00004150sv000018BCsd00000101*
+ ID_MODEL_FROM_DATABASE=GC-R9600PRO (Primary)
+
+pci:v00001002d00004151*
+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600 Series]
+
+pci:v00001002d00004151sv00001043sd0000C004*
+ ID_MODEL_FROM_DATABASE=A9600SE
+
+pci:v00001002d00004152*
+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series]
+
+pci:v00001002d00004152sv00001002sd00000002*
+ ID_MODEL_FROM_DATABASE=Radeon 9600XT
+
+pci:v00001002d00004152sv00001002sd00004772*
+ ID_MODEL_FROM_DATABASE=All-in-Wonder 9600 XT
+
+pci:v00001002d00004152sv00001043sd0000C002*
+ ID_MODEL_FROM_DATABASE=Radeon 9600 XT TVD
+
+pci:v00001002d00004152sv00001043sd0000C01A*
+ ID_MODEL_FROM_DATABASE=A9600XT/TD
+
+pci:v00001002d00004152sv00001462sd00009510*
+ ID_MODEL_FROM_DATABASE=RX9600XT (MS-8951)
+
+pci:v00001002d00004152sv0000174Bsd00007C29*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon 9600XT
+
+pci:v00001002d00004152sv00001787sd00004002*
+ ID_MODEL_FROM_DATABASE=Radeon 9600 XT
+
+pci:v00001002d00004153*
+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550]
+
+pci:v00001002d00004153sv00001043sd0000010C*
+ ID_MODEL_FROM_DATABASE=A9550GE/TD
+
+pci:v00001002d00004153sv00001462sd0000932C*
+ ID_MODEL_FROM_DATABASE=RX9550SE-TD128 (MS-8932)
+
+pci:v00001002d00004154*
+ ID_MODEL_FROM_DATABASE=RV350 GL [FireGL T2]
+
+pci:v00001002d00004155*
+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600]
+
+pci:v00001002d00004157*
+ ID_MODEL_FROM_DATABASE=RV350 GL [FireGL T2]
+
+pci:v00001002d00004158*
+ ID_MODEL_FROM_DATABASE=68800AX [Mach32]
+
+pci:v00001002d00004164*
+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary)
+
+pci:v00001002d00004165*
+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9700 PRO] (Secondary)
+
+pci:v00001002d00004166*
+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9700 PRO] (Secondary)
+
+pci:v00001002d00004168*
+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 SE] (Secondary)
+
+pci:v00001002d00004170*
+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary)
+
+pci:v00001002d00004170sv00001002sd00000003*
+ ID_MODEL_FROM_DATABASE=R9600 Pro secondary (Asus OEM for HP)
+
+pci:v00001002d00004170sv00001002sd00004723*
+ ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 AGP Edition (Secondary)
+
+pci:v00001002d00004170sv00001458sd00004025*
+ ID_MODEL_FROM_DATABASE=Giga-Byte GV-R96128D (Secondary)
+
+pci:v00001002d00004170sv0000148Csd00002067*
+ ID_MODEL_FROM_DATABASE=PowerColor R96A-C3N (Secondary)
+
+pci:v00001002d00004170sv0000174Bsd00007C28*
+ ID_MODEL_FROM_DATABASE=GC-R9600PRO [Sapphire] (Secondary)
+
+pci:v00001002d00004170sv000017EEsd00002003*
+ ID_MODEL_FROM_DATABASE=Radeon 9600 256Mb (Secondary)
+
+pci:v00001002d00004170sv000018BCsd00000100*
+ ID_MODEL_FROM_DATABASE=GC-R9600PRO (Secondary)
+
+pci:v00001002d00004171*
+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary)
+
+pci:v00001002d00004171sv00001043sd0000C005*
+ ID_MODEL_FROM_DATABASE=A9600SE (Secondary)
+
+pci:v00001002d00004172*
+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary)
+
+pci:v00001002d00004172sv00001002sd00000003*
+ ID_MODEL_FROM_DATABASE=Radeon 9600XT (Secondary)
+
+pci:v00001002d00004172sv00001002sd00004773*
+ ID_MODEL_FROM_DATABASE=All-in-Wonder 9600 XT (Secondary)
+
+pci:v00001002d00004172sv00001043sd0000C003*
+ ID_MODEL_FROM_DATABASE=A9600XT (Secondary)
+
+pci:v00001002d00004172sv00001043sd0000C01B*
+ ID_MODEL_FROM_DATABASE=A9600XT/TD (Secondary)
+
+pci:v00001002d00004172sv0000174Bsd00007C28*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon 9600XT (Secondary)
+
+pci:v00001002d00004172sv00001787sd00004003*
+ ID_MODEL_FROM_DATABASE=Radeon 9600 XT (Secondary)
+
+pci:v00001002d00004173*
+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (Secondary)
+
+pci:v00001002d00004173sv00001043sd0000010D*
+ ID_MODEL_FROM_DATABASE=A9550GE/TD (Secondary)
+
+pci:v00001002d00004242*
+ ID_MODEL_FROM_DATABASE=R200 [All-In-Wonder Radeon 8500 DV]
+
+pci:v00001002d00004242sv00001002sd000002AA*
+ ID_MODEL_FROM_DATABASE=Radeon 8500 AIW DV Edition
+
+pci:v00001002d00004336*
+ ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M]
+
+pci:v00001002d00004336sv00001002sd00004336*
+ ID_MODEL_FROM_DATABASE=Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M)
+
+pci:v00001002d00004336sv0000103Csd00000024*
+ ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Video
+
+pci:v00001002d00004336sv0000161Fsd00002029*
+ ID_MODEL_FROM_DATABASE=eMachines M5312 builtin Video
+
+pci:v00001002d00004337*
+ ID_MODEL_FROM_DATABASE=RS200M [Radeon IGP 330M/340M/345M/350M]
+
+pci:v00001002d00004337sv00001014sd0000053A*
+ ID_MODEL_FROM_DATABASE=ThinkPad R40e
+
+pci:v00001002d00004337sv0000103Csd00000850*
+ ID_MODEL_FROM_DATABASE=Radeon IGP 345M
+
+pci:v00001002d00004341*
+ ID_MODEL_FROM_DATABASE=IXP150 AC'97 Audio Controller
+
+pci:v00001002d00004342*
+ ID_MODEL_FROM_DATABASE=IXP200 3COM 3C920B Ethernet Controller
+
+pci:v00001002d00004345*
+ ID_MODEL_FROM_DATABASE=EHCI USB Controller
+
+pci:v00001002d00004347*
+ ID_MODEL_FROM_DATABASE=OHCI USB Controller #1
+
+pci:v00001002d00004348*
+ ID_MODEL_FROM_DATABASE=OHCI USB Controller #2
+
+pci:v00001002d00004349*
+ ID_MODEL_FROM_DATABASE=Dual Channel Bus Master PCI IDE Controller
+
+pci:v00001002d0000434D*
+ ID_MODEL_FROM_DATABASE=IXP AC'97 Modem
+
+pci:v00001002d00004353*
+ ID_MODEL_FROM_DATABASE=SMBus
+
+pci:v00001002d00004354*
+ ID_MODEL_FROM_DATABASE=215CT [Mach64 CT PCI]
+
+pci:v00001002d00004358*
+ ID_MODEL_FROM_DATABASE=210888CX [Mach64 CX]
+
+pci:v00001002d00004361*
+ ID_MODEL_FROM_DATABASE=IXP SB300 AC'97 Audio Controller
+
+pci:v00001002d00004363*
+ ID_MODEL_FROM_DATABASE=SMBus
+
+pci:v00001002d0000436E*
+ ID_MODEL_FROM_DATABASE=436E Serial ATA Controller
+
+pci:v00001002d00004370*
+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller
+
+pci:v00001002d00004370sv00001025sd00000079*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi
+
+pci:v00001002d00004370sv00001025sd00000091*
+ ID_MODEL_FROM_DATABASE=Aspire 5032WXMi
+
+pci:v00001002d00004370sv0000103Csd00002A05*
+ ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC
+
+pci:v00001002d00004370sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v00001002d00004370sv0000105Bsd00000C81*
+ ID_MODEL_FROM_DATABASE=Realtek ALC 653
+
+pci:v00001002d00004370sv0000107Bsd00000300*
+ ID_MODEL_FROM_DATABASE=MX6421
+
+pci:v00001002d00004370sv00001462sd00000131*
+ ID_MODEL_FROM_DATABASE=MS-1013 Notebook
+
+pci:v00001002d00004371*
+ ID_MODEL_FROM_DATABASE=IXP SB400 PCI-PCI Bridge
+
+pci:v00001002d00004371sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v00001002d00004371sv00001462sd00007217*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v00001002d00004372*
+ ID_MODEL_FROM_DATABASE=IXP SB400 SMBus Controller
+
+pci:v00001002d00004372sv00001025sd00000080*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi
+
+pci:v00001002d00004372sv0000103Csd00002A20*
+ ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC
+
+pci:v00001002d00004372sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v00001002d00004372sv00001462sd00000131*
+ ID_MODEL_FROM_DATABASE=MS-1013 Notebook
+
+pci:v00001002d00004372sv00001462sd00007217*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v00001002d00004373*
+ ID_MODEL_FROM_DATABASE=IXP SB400 USB2 Host Controller
+
+pci:v00001002d00004373sv00001025sd00000080*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi
+
+pci:v00001002d00004373sv0000103Csd00002A20*
+ ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC
+
+pci:v00001002d00004373sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v00001002d00004373sv00001462sd00007217*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v00001002d00004374*
+ ID_MODEL_FROM_DATABASE=IXP SB400 USB Host Controller
+
+pci:v00001002d00004374sv0000103Csd00002A20*
+ ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC
+
+pci:v00001002d00004374sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v00001002d00004374sv00001462sd00007217*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v00001002d00004375*
+ ID_MODEL_FROM_DATABASE=IXP SB400 USB Host Controller
+
+pci:v00001002d00004375sv00001025sd00000080*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi
+
+pci:v00001002d00004375sv0000103Csd00002A20*
+ ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC
+
+pci:v00001002d00004375sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v00001002d00004375sv00001462sd00007217*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v00001002d00004376*
+ ID_MODEL_FROM_DATABASE=IXP SB400 IDE Controller
+
+pci:v00001002d00004376sv00001025sd00000080*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi
+
+pci:v00001002d00004376sv0000103Csd00002A20*
+ ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC
+
+pci:v00001002d00004376sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v00001002d00004376sv00001462sd00000131*
+ ID_MODEL_FROM_DATABASE=MS-1013 Notebook
+
+pci:v00001002d00004376sv00001462sd00007217*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v00001002d00004377*
+ ID_MODEL_FROM_DATABASE=IXP SB400 PCI-ISA Bridge
+
+pci:v00001002d00004377sv00001025sd00000080*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMi
+
+pci:v00001002d00004377sv0000103Csd00002A20*
+ ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC
+
+pci:v00001002d00004377sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v00001002d00004377sv00001462sd00007217*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v00001002d00004378*
+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller
+
+pci:v00001002d00004378sv00001025sd00000080*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi
+
+pci:v00001002d00004378sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v00001002d00004378sv00001462sd00000131*
+ ID_MODEL_FROM_DATABASE=MS-1013 Notebook
+
+pci:v00001002d00004379*
+ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller
+
+pci:v00001002d00004379sv00001462sd00007141*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v00001002d0000437A*
+ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller
+
+pci:v00001002d0000437Asv00001002sd00004379*
+ ID_MODEL_FROM_DATABASE=4379 Serial ATA Controller
+
+pci:v00001002d0000437Asv00001002sd0000437A*
+ ID_MODEL_FROM_DATABASE=437A Serial ATA Controller
+
+pci:v00001002d0000437Asv00001462sd00007141*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v00001002d0000437Asv000014F1sd00008800*
+ ID_MODEL_FROM_DATABASE=Leadtek WinFast TV2000XP Expert
+
+pci:v00001002d0000437B*
+ ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller
+
+pci:v00001002d0000437Bsv00001002sd0000437B*
+ ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller
+
+pci:v00001002d0000437Bsv000010CFsd00001326*
+ ID_MODEL_FROM_DATABASE=Fujitsu Lifebook A3040
+
+pci:v00001002d0000437Bsv00001734sd000010B8*
+ ID_MODEL_FROM_DATABASE=Realtek High Definition Audio
+
+pci:v00001002d00004380*
+ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA
+
+pci:v00001002d00004380sv0000103Csd00002813*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v00001002d00004380sv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d00004380sv00001458sd0000B003*
+ ID_MODEL_FROM_DATABASE=GA-MA790FX-DS5 (rev. 1.0)
+
+pci:v00001002d00004380sv00001458sd0000B005*
+ ID_MODEL_FROM_DATABASE=Gigabyte GA-MA69G-S3H Motherboard
+
+pci:v00001002d00004380sv00001462sd00007327*
+ ID_MODEL_FROM_DATABASE=K9AG Neo2
+
+pci:v00001002d00004380sv000017F2sd00005999*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d00004381*
+ ID_MODEL_FROM_DATABASE=SB400 SATA Controller (RAID 5 mode)
+
+pci:v00001002d00004382*
+ ID_MODEL_FROM_DATABASE=SB600 AC97 Audio
+
+pci:v00001002d00004383*
+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA)
+
+pci:v00001002d00004383sv00001019sd00002120*
+ ID_MODEL_FROM_DATABASE=A785GM-M
+
+pci:v00001002d00004383sv0000103Csd00001611*
+ ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000
+
+pci:v00001002d00004383sv0000103Csd0000280A*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v00001002d00004383sv00001043sd00008230*
+ ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard
+
+pci:v00001002d00004383sv00001043sd0000836C*
+ ID_MODEL_FROM_DATABASE=M4A785TD Motherboard
+
+pci:v00001002d00004383sv00001043sd00008410*
+ ID_MODEL_FROM_DATABASE=M4A89GTD PRO/USB3 Motherboard
+
+pci:v00001002d00004383sv00001043sd0000841B*
+ ID_MODEL_FROM_DATABASE=M5A88-V EVO
+
+pci:v00001002d00004383sv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d00004383sv00001458sd0000A022*
+ ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard
+
+pci:v00001002d00004383sv000017F2sd00005000*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d00004384*
+ ID_MODEL_FROM_DATABASE=SBx00 PCI to PCI Bridge
+
+pci:v00001002d00004385*
+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller
+
+pci:v00001002d00004385sv00001019sd00002120*
+ ID_MODEL_FROM_DATABASE=A785GM-M
+
+pci:v00001002d00004385sv0000103Csd00001611*
+ ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000
+
+pci:v00001002d00004385sv0000103Csd0000280A*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v00001002d00004385sv00001043sd000082EF*
+ ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard
+
+pci:v00001002d00004385sv00001043sd00008389*
+ ID_MODEL_FROM_DATABASE=M4A785TD Motherboard
+
+pci:v00001002d00004385sv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d00004385sv00001458sd00004385*
+ ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard
+
+pci:v00001002d00004385sv00001462sd00007368*
+ ID_MODEL_FROM_DATABASE=K9AG Neo2
+
+pci:v00001002d00004385sv000015D9sd0000A811*
+ ID_MODEL_FROM_DATABASE=H8DGU
+
+pci:v00001002d00004385sv0000174Bsd00001001*
+ ID_MODEL_FROM_DATABASE=Sapphire PURE Fusion Mini
+
+pci:v00001002d00004385sv000017F2sd00005000*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d00004386*
+ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI)
+
+pci:v00001002d00004386sv0000103Csd0000280A*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v00001002d00004386sv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d00004386sv00001462sd00007368*
+ ID_MODEL_FROM_DATABASE=K9AG Neo2
+
+pci:v00001002d00004386sv000017F2sd00005000*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d00004387*
+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0)
+
+pci:v00001002d00004387sv0000103Csd0000280A*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v00001002d00004387sv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d00004387sv00001462sd00007368*
+ ID_MODEL_FROM_DATABASE=K9AG Neo2
+
+pci:v00001002d00004387sv000017F2sd00005000*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d00004388*
+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1)
+
+pci:v00001002d00004388sv0000103Csd0000280A*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v00001002d00004388sv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d00004388sv00001462sd00007368*
+ ID_MODEL_FROM_DATABASE=K9AG Neo2
+
+pci:v00001002d00004388sv000017F2sd00005000*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d00004389*
+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2)
+
+pci:v00001002d00004389sv0000103Csd0000280A*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v00001002d00004389sv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d00004389sv00001462sd00007368*
+ ID_MODEL_FROM_DATABASE=K9AG Neo2
+
+pci:v00001002d00004389sv000017F2sd00005000*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d0000438A*
+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3)
+
+pci:v00001002d0000438Asv0000103Csd0000280A*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v00001002d0000438Asv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d0000438Asv00001462sd00007368*
+ ID_MODEL_FROM_DATABASE=K9AG Neo2
+
+pci:v00001002d0000438Asv000017F2sd00005000*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d0000438B*
+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4)
+
+pci:v00001002d0000438Bsv0000103Csd0000280A*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v00001002d0000438Bsv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d0000438Bsv00001462sd00007368*
+ ID_MODEL_FROM_DATABASE=K9AG Neo2
+
+pci:v00001002d0000438Bsv000017F2sd00005000*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d0000438C*
+ ID_MODEL_FROM_DATABASE=SB600 IDE
+
+pci:v00001002d0000438Csv0000103Csd0000280A*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v00001002d0000438Csv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d0000438Csv00001458sd00005002*
+ ID_MODEL_FROM_DATABASE=Gigabyte GA-MA69G-S3H Motherboard
+
+pci:v00001002d0000438Csv00001462sd00007368*
+ ID_MODEL_FROM_DATABASE=K9AG Neo2
+
+pci:v00001002d0000438Csv000017F2sd00005000*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d0000438D*
+ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge
+
+pci:v00001002d0000438Dsv0000103Csd0000280A*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v00001002d0000438Dsv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d0000438Dsv00001462sd00007368*
+ ID_MODEL_FROM_DATABASE=K9AG Neo2
+
+pci:v00001002d0000438Dsv000017F2sd00005000*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d0000438E*
+ ID_MODEL_FROM_DATABASE=SB600 AC97 Modem
+
+pci:v00001002d00004390*
+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode]
+
+pci:v00001002d00004390sv00001043sd000082EF*
+ ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard
+
+pci:v00001002d00004390sv00001043sd00008389*
+ ID_MODEL_FROM_DATABASE=M4A785TD Motherboard
+
+pci:v00001002d00004390sv00001458sd0000B002*
+ ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard
+
+pci:v00001002d00004390sv00001849sd00004390*
+ ID_MODEL_FROM_DATABASE=Motherboard (one of many)
+
+pci:v00001002d00004391*
+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
+
+pci:v00001002d00004391sv0000103Csd00001611*
+ ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000
+
+pci:v00001002d00004391sv00001043sd000082EF*
+ ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard
+
+pci:v00001002d00004391sv00001043sd00008443*
+ ID_MODEL_FROM_DATABASE=M5A88-V EVO
+
+pci:v00001002d00004391sv0000174Bsd00001001*
+ ID_MODEL_FROM_DATABASE=Sapphire PURE Fusion Mini
+
+pci:v00001002d00004392*
+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [Non-RAID5 mode]
+
+pci:v00001002d00004393*
+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [RAID5 mode]
+
+pci:v00001002d00004394*
+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
+
+pci:v00001002d00004395*
+ ID_MODEL_FROM_DATABASE=SB8x0/SB9x0 SATA Controller [Storage mode]
+
+pci:v00001002d00004396*
+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller
+
+pci:v00001002d00004396sv00001019sd00002120*
+ ID_MODEL_FROM_DATABASE=A785GM-M
+
+pci:v00001002d00004396sv0000103Csd00001611*
+ ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000
+
+pci:v00001002d00004396sv00001043sd000082EF*
+ ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard
+
+pci:v00001002d00004396sv00001043sd00008443*
+ ID_MODEL_FROM_DATABASE=M5A88-V EVO
+
+pci:v00001002d00004396sv000015D9sd0000A811*
+ ID_MODEL_FROM_DATABASE=H8DGU
+
+pci:v00001002d00004396sv0000174Bsd00001001*
+ ID_MODEL_FROM_DATABASE=Sapphire PURE Fusion Mini
+
+pci:v00001002d00004397*
+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
+
+pci:v00001002d00004397sv00001019sd00002120*
+ ID_MODEL_FROM_DATABASE=A785GM-M
+
+pci:v00001002d00004397sv0000103Csd00001611*
+ ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000
+
+pci:v00001002d00004397sv00001043sd000082EF*
+ ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard
+
+pci:v00001002d00004397sv00001043sd00008443*
+ ID_MODEL_FROM_DATABASE=M5A88-V EVO
+
+pci:v00001002d00004397sv000015D9sd0000A811*
+ ID_MODEL_FROM_DATABASE=H8DGU
+
+pci:v00001002d00004397sv0000174Bsd00001001*
+ ID_MODEL_FROM_DATABASE=Sapphire PURE Fusion Mini
+
+pci:v00001002d00004398*
+ ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller
+
+pci:v00001002d00004398sv00001019sd00002120*
+ ID_MODEL_FROM_DATABASE=A785GM-M
+
+pci:v00001002d00004398sv00001043sd000082EF*
+ ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard
+
+pci:v00001002d00004398sv000015D9sd0000A811*
+ ID_MODEL_FROM_DATABASE=H8DGU
+
+pci:v00001002d00004399*
+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
+
+pci:v00001002d00004399sv00001019sd00002120*
+ ID_MODEL_FROM_DATABASE=A785GM-M
+
+pci:v00001002d00004399sv00001043sd000082EF*
+ ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard
+
+pci:v00001002d00004399sv00001043sd00008443*
+ ID_MODEL_FROM_DATABASE=M5A88-V EVO
+
+pci:v00001002d00004399sv0000174Bsd00001001*
+ ID_MODEL_FROM_DATABASE=Sapphire PURE Fusion Mini
+
+pci:v00001002d0000439C*
+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller
+
+pci:v00001002d0000439Csv00001019sd00002120*
+ ID_MODEL_FROM_DATABASE=A785GM-M
+
+pci:v00001002d0000439Csv00001043sd000082EF*
+ ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard
+
+pci:v00001002d0000439D*
+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller
+
+pci:v00001002d0000439Dsv00001019sd00002120*
+ ID_MODEL_FROM_DATABASE=A785GM-M
+
+pci:v00001002d0000439Dsv0000103Csd00001611*
+ ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000
+
+pci:v00001002d0000439Dsv00001043sd000082EF*
+ ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard
+
+pci:v00001002d0000439Dsv00001043sd00008443*
+ ID_MODEL_FROM_DATABASE=M5A88-V EVO
+
+pci:v00001002d0000439Dsv0000174Bsd00001001*
+ ID_MODEL_FROM_DATABASE=Sapphire PURE Fusion Mini
+
+pci:v00001002d000043A0*
+ ID_MODEL_FROM_DATABASE=SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0)
+
+pci:v00001002d000043A1*
+ ID_MODEL_FROM_DATABASE=SB700/SB800/SB900 PCI to PCI bridge (PCIE port 1)
+
+pci:v00001002d000043A2*
+ ID_MODEL_FROM_DATABASE=SB900 PCI to PCI bridge (PCIE port 2)
+
+pci:v00001002d000043A3*
+ ID_MODEL_FROM_DATABASE=SB900 PCI to PCI bridge (PCIE port 3)
+
+pci:v00001002d00004437*
+ ID_MODEL_FROM_DATABASE=RS250 [Mobility Radeon 7000 IGP]
+
+pci:v00001002d00004554*
+ ID_MODEL_FROM_DATABASE=210888ET [Mach64 ET]
+
+pci:v00001002d00004654*
+ ID_MODEL_FROM_DATABASE=Mach64 VT
+
+pci:v00001002d00004742*
+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X
+
+pci:v00001002d00004742sv00001002sd00000040*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X
+
+pci:v00001002d00004742sv00001002sd00000044*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X
+
+pci:v00001002d00004742sv00001002sd00000061*
+ ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X
+
+pci:v00001002d00004742sv00001002sd00000062*
+ ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X
+
+pci:v00001002d00004742sv00001002sd00000063*
+ ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X
+
+pci:v00001002d00004742sv00001002sd00000080*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X
+
+pci:v00001002d00004742sv00001002sd00000084*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X
+
+pci:v00001002d00004742sv00001002sd00004742*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X
+
+pci:v00001002d00004742sv00001002sd00008001*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X
+
+pci:v00001002d00004742sv00001028sd00000082*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X
+
+pci:v00001002d00004742sv00001028sd00004082*
+ ID_MODEL_FROM_DATABASE=Optiplex GX1 Onboard Display Adapter
+
+pci:v00001002d00004742sv00001028sd00008082*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X
+
+pci:v00001002d00004742sv00001028sd0000C082*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X
+
+pci:v00001002d00004742sv00008086sd00004152*
+ ID_MODEL_FROM_DATABASE=Xpert 98D AGP 2X
+
+pci:v00001002d00004742sv00008086sd0000464A*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X
+
+pci:v00001002d00004744*
+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 1X
+
+pci:v00001002d00004744sv00001002sd00004744*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP
+
+pci:v00001002d00004744sv00008086sd00004D55*
+ ID_MODEL_FROM_DATABASE=Rage 3D Pro AGP 1X [Intel MU440EX]
+
+pci:v00001002d00004749*
+ ID_MODEL_FROM_DATABASE=3D Rage PRO PCI
+
+pci:v00001002d00004749sv00001002sd00000061*
+ ID_MODEL_FROM_DATABASE=Rage Pro AIW
+
+pci:v00001002d00004749sv00001002sd00000062*
+ ID_MODEL_FROM_DATABASE=Rage Pro AIW
+
+pci:v00001002d0000474D*
+ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X
+
+pci:v00001002d0000474Dsv00001002sd00000004*
+ ID_MODEL_FROM_DATABASE=Xpert 98 RXL AGP 2X
+
+pci:v00001002d0000474Dsv00001002sd00000008*
+ ID_MODEL_FROM_DATABASE=Xpert 98 RXL AGP 2X
+
+pci:v00001002d0000474Dsv00001002sd00000080*
+ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X
+
+pci:v00001002d0000474Dsv00001002sd00000084*
+ ID_MODEL_FROM_DATABASE=Xpert 98 AGP 2X
+
+pci:v00001002d0000474Dsv00001002sd0000474D*
+ ID_MODEL_FROM_DATABASE=Rage XL AGP
+
+pci:v00001002d0000474Dsv00001033sd0000806A*
+ ID_MODEL_FROM_DATABASE=Rage XL AGP
+
+pci:v00001002d0000474E*
+ ID_MODEL_FROM_DATABASE=Rage XC AGP
+
+pci:v00001002d0000474Esv00001002sd0000474E*
+ ID_MODEL_FROM_DATABASE=Rage XC AGP
+
+pci:v00001002d0000474F*
+ ID_MODEL_FROM_DATABASE=Rage XL
+
+pci:v00001002d0000474Fsv00001002sd00000008*
+ ID_MODEL_FROM_DATABASE=Rage XL
+
+pci:v00001002d0000474Fsv00001002sd0000474F*
+ ID_MODEL_FROM_DATABASE=Rage XL
+
+pci:v00001002d00004750*
+ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI
+
+pci:v00001002d00004750sv00001002sd00000040*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo
+
+pci:v00001002d00004750sv00001002sd00000044*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo
+
+pci:v00001002d00004750sv00001002sd00000080*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo
+
+pci:v00001002d00004750sv00001002sd00000084*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo
+
+pci:v00001002d00004750sv00001002sd00004750*
+ ID_MODEL_FROM_DATABASE=Rage Pro Turbo
+
+pci:v00001002d00004752*
+ ID_MODEL_FROM_DATABASE=Rage XL PCI
+
+pci:v00001002d00004752sv00000E11sd0000001E*
+ ID_MODEL_FROM_DATABASE=Proliant Rage XL
+
+pci:v00001002d00004752sv00001002sd00000008*
+ ID_MODEL_FROM_DATABASE=Rage XL
+
+pci:v00001002d00004752sv00001002sd00004752*
+ ID_MODEL_FROM_DATABASE=Proliant Rage XL
+
+pci:v00001002d00004752sv00001002sd00008008*
+ ID_MODEL_FROM_DATABASE=Rage XL
+
+pci:v00001002d00004752sv00001014sd00000240*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00001002d00004752sv00001028sd000000CE*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1400
+
+pci:v00001002d00004752sv00001028sd000000D1*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2550
+
+pci:v00001002d00004752sv00001028sd000000D9*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2500
+
+pci:v00001002d00004752sv00001028sd00000134*
+ ID_MODEL_FROM_DATABASE=PowerEdge 600SC
+
+pci:v00001002d00004752sv00001028sd0000014A*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1750
+
+pci:v00001002d00004752sv00001028sd00000165*
+ ID_MODEL_FROM_DATABASE=PowerEdge 750
+
+pci:v00001002d00004752sv0000103Csd000010E1*
+ ID_MODEL_FROM_DATABASE=NetServer Rage XL
+
+pci:v00001002d00004752sv0000103Csd00003208*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G2
+
+pci:v00001002d00004752sv0000107Bsd00006400*
+ ID_MODEL_FROM_DATABASE=6400 Server
+
+pci:v00001002d00004752sv00001734sd0000007A*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard VGA
+
+pci:v00001002d00004752sv00001734sd00001073*
+ ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard
+
+pci:v00001002d00004752sv00008086sd00003411*
+ ID_MODEL_FROM_DATABASE=SDS2 Mainboard
+
+pci:v00001002d00004752sv00008086sd00003427*
+ ID_MODEL_FROM_DATABASE=S875WP1-E mainboard
+
+pci:v00001002d00004752sv00008086sd00005744*
+ ID_MODEL_FROM_DATABASE=S845WD1-E mainboard
+
+pci:v00001002d00004753*
+ ID_MODEL_FROM_DATABASE=Rage XC
+
+pci:v00001002d00004753sv00001002sd00004753*
+ ID_MODEL_FROM_DATABASE=Rage XC
+
+pci:v00001002d00004754*
+ ID_MODEL_FROM_DATABASE=3D Rage II/II+ PCI [Mach64 GT]
+
+pci:v00001002d00004755*
+ ID_MODEL_FROM_DATABASE=3D Rage II+ PCI [Mach64 GTB]
+
+pci:v00001002d00004756*
+ ID_MODEL_FROM_DATABASE=3D Rage IIC PCI [Mach64 GT IIC]
+
+pci:v00001002d00004756sv00001002sd00004756*
+ ID_MODEL_FROM_DATABASE=Rage IIC
+
+pci:v00001002d00004757*
+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP
+
+pci:v00001002d00004757sv00001002sd00004757*
+ ID_MODEL_FROM_DATABASE=Rage IIC AGP
+
+pci:v00001002d00004757sv00001028sd00000089*
+ ID_MODEL_FROM_DATABASE=Rage 3D IIC
+
+pci:v00001002d00004757sv00001028sd0000008E*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1300 onboard video
+
+pci:v00001002d00004757sv00001028sd00004082*
+ ID_MODEL_FROM_DATABASE=Rage 3D IIC
+
+pci:v00001002d00004757sv00001028sd00008082*
+ ID_MODEL_FROM_DATABASE=Rage 3D IIC
+
+pci:v00001002d00004757sv00001028sd0000C082*
+ ID_MODEL_FROM_DATABASE=Rage 3D IIC
+
+pci:v00001002d00004758*
+ ID_MODEL_FROM_DATABASE=210888GX [Mach64 GX PCI]
+
+pci:v00001002d00004759*
+ ID_MODEL_FROM_DATABASE=3D Rage IIC PCI
+
+pci:v00001002d0000475A*
+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP
+
+pci:v00001002d0000475Asv00001002sd00000084*
+ ID_MODEL_FROM_DATABASE=Rage 3D Pro AGP 2x XPERT 98
+
+pci:v00001002d0000475Asv00001002sd00000087*
+ ID_MODEL_FROM_DATABASE=Rage 3D IIC
+
+pci:v00001002d0000475Asv00001002sd0000475A*
+ ID_MODEL_FROM_DATABASE=Rage IIC AGP
+
+pci:v00001002d00004966*
+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series]
+
+pci:v00001002d00004966sv000010F1sd00000002*
+ ID_MODEL_FROM_DATABASE=RV250 If [Tachyon G9000 PRO]
+
+pci:v00001002d00004966sv0000148Csd00002039*
+ ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 Pro "Evil Commando"]
+
+pci:v00001002d00004966sv00001509sd00009A00*
+ ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 "AT009"]
+
+pci:v00001002d00004966sv00001681sd00000040*
+ ID_MODEL_FROM_DATABASE=RV250 If [3D prophet 9000]
+
+pci:v00001002d00004966sv0000174Bsd00007176*
+ ID_MODEL_FROM_DATABASE=RV250 If [Sapphire Radeon 9000 Pro]
+
+pci:v00001002d00004966sv0000174Bsd00007192*
+ ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 "Atlantis"]
+
+pci:v00001002d00004966sv000017AFsd00002005*
+ ID_MODEL_FROM_DATABASE=RV250 If [Excalibur Radeon 9000 Pro]
+
+pci:v00001002d00004966sv000017AFsd00002006*
+ ID_MODEL_FROM_DATABASE=RV250 If [Excalibur Radeon 9000]
+
+pci:v00001002d0000496E*
+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000] (Secondary)
+
+pci:v00001002d00004A49*
+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO AGP]
+
+pci:v00001002d00004A49sv0000174Bsd00002620*
+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 GTO AGP]
+
+pci:v00001002d00004A4A*
+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 GT AGP]
+
+pci:v00001002d00004A4B*
+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 AGP Series]
+
+pci:v00001002d00004A4D*
+ ID_MODEL_FROM_DATABASE=R420 GL [FireGL X3-256]
+
+pci:v00001002d00004A4E*
+ ID_MODEL_FROM_DATABASE=RV420/M18 [Mobility Radeon 9800]
+
+pci:v00001002d00004A4F*
+ ID_MODEL_FROM_DATABASE=R420 [Radeon X850 AGP]
+
+pci:v00001002d00004A50*
+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 XT Platinum Edition AGP]
+
+pci:v00001002d00004A54*
+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 VE AGP]
+
+pci:v00001002d00004A54sv00001002sd00004422*
+ ID_MODEL_FROM_DATABASE=All-In-Wonder X800 VE AGP
+
+pci:v00001002d00004A69*
+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO] (Secondary)
+
+pci:v00001002d00004A6A*
+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800] (Secondary)
+
+pci:v00001002d00004A6B*
+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 XT AGP] (Secondary)
+
+pci:v00001002d00004A70*
+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 XT Platinum Edition AGP] (Secondary)
+
+pci:v00001002d00004A74*
+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 VE] (Secondary)
+
+pci:v00001002d00004B49*
+ ID_MODEL_FROM_DATABASE=R481 [Radeon X850 XT AGP]
+
+pci:v00001002d00004B4B*
+ ID_MODEL_FROM_DATABASE=R481 [Radeon X850 PRO AGP]
+
+pci:v00001002d00004B4C*
+ ID_MODEL_FROM_DATABASE=R481 [Radeon X850 XT Platinum Edition AGP]
+
+pci:v00001002d00004B69*
+ ID_MODEL_FROM_DATABASE=R481 [Radeon X850 XT AGP] (Secondary)
+
+pci:v00001002d00004B6B*
+ ID_MODEL_FROM_DATABASE=R481 [Radeon X850 PRO AGP] (Secondary)
+
+pci:v00001002d00004B6C*
+ ID_MODEL_FROM_DATABASE=R481 [Radeon X850 XT Platinum Edition AGP] (Secondary)
+
+pci:v00001002d00004C42*
+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X
+
+pci:v00001002d00004C42sv00000E11sd0000B0E7*
+ ID_MODEL_FROM_DATABASE=Rage LT Pro (Compaq Presario 5240)
+
+pci:v00001002d00004C42sv00000E11sd0000B0E8*
+ ID_MODEL_FROM_DATABASE=Rage 3D LT Pro
+
+pci:v00001002d00004C42sv00000E11sd0000B10E*
+ ID_MODEL_FROM_DATABASE=3D Rage LT Pro (Compaq Armada 1750)
+
+pci:v00001002d00004C42sv00001002sd00000040*
+ ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X
+
+pci:v00001002d00004C42sv00001002sd00000044*
+ ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X
+
+pci:v00001002d00004C42sv00001002sd00004C42*
+ ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X
+
+pci:v00001002d00004C42sv00001002sd00008001*
+ ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X
+
+pci:v00001002d00004C42sv00001028sd00000085*
+ ID_MODEL_FROM_DATABASE=Rage 3D LT Pro
+
+pci:v00001002d00004C46*
+ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3
+
+pci:v00001002d00004C46sv00001002sd00000155*
+ ID_MODEL_FROM_DATABASE=IBM Thinkpad A22p
+
+pci:v00001002d00004C46sv00001014sd00000155*
+ ID_MODEL_FROM_DATABASE=IBM Thinkpad A22p
+
+pci:v00001002d00004C46sv00001028sd000000B1*
+ ID_MODEL_FROM_DATABASE=Latitude C600
+
+pci:v00001002d00004C47*
+ ID_MODEL_FROM_DATABASE=3D Rage IIC PCI / Mobility Radeon 7500/7500C
+
+pci:v00001002d00004C49*
+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI
+
+pci:v00001002d00004C49sv00001002sd00000004*
+ ID_MODEL_FROM_DATABASE=Rage LT Pro
+
+pci:v00001002d00004C49sv00001002sd00000040*
+ ID_MODEL_FROM_DATABASE=Rage LT Pro
+
+pci:v00001002d00004C49sv00001002sd00000044*
+ ID_MODEL_FROM_DATABASE=Rage LT Pro
+
+pci:v00001002d00004C49sv00001002sd00004C49*
+ ID_MODEL_FROM_DATABASE=Rage LT Pro
+
+pci:v00001002d00004C4D*
+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series
+
+pci:v00001002d00004C4Dsv00000E11sd0000B111*
+ ID_MODEL_FROM_DATABASE=Armada M700
+
+pci:v00001002d00004C4Dsv00000E11sd0000B160*
+ ID_MODEL_FROM_DATABASE=Armada E500
+
+pci:v00001002d00004C4Dsv00001002sd00000084*
+ ID_MODEL_FROM_DATABASE=Xpert 98 AGP 2X (Mobility)
+
+pci:v00001002d00004C4Dsv00001014sd00000154*
+ ID_MODEL_FROM_DATABASE=ThinkPad A20m/A21m
+
+pci:v00001002d00004C4Dsv00001028sd000000AA*
+ ID_MODEL_FROM_DATABASE=Latitude CPt
+
+pci:v00001002d00004C4Dsv00001028sd000000BB*
+ ID_MODEL_FROM_DATABASE=Latitude CPx
+
+pci:v00001002d00004C4Dsv00001179sd0000FF00*
+ ID_MODEL_FROM_DATABASE=Satellite 1715XCDS laptop
+
+pci:v00001002d00004C4Dsv000013BDsd00001019*
+ ID_MODEL_FROM_DATABASE=PC-AR10
+
+pci:v00001002d00004C50*
+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI
+
+pci:v00001002d00004C50sv00001002sd00004C50*
+ ID_MODEL_FROM_DATABASE=Rage LT Pro
+
+pci:v00001002d00004C52*
+ ID_MODEL_FROM_DATABASE=Rage Mobility-M1 PCI
+
+pci:v00001002d00004C52sv00001033sd00008112*
+ ID_MODEL_FROM_DATABASE=Versa Note VXi
+
+pci:v00001002d00004C54*
+ ID_MODEL_FROM_DATABASE=264LT [Mach64 LT]
+
+pci:v00001002d00004C57*
+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500]
+
+pci:v00001002d00004C57sv00001014sd00000517*
+ ID_MODEL_FROM_DATABASE=ThinkPad T30
+
+pci:v00001002d00004C57sv00001014sd00000530*
+ ID_MODEL_FROM_DATABASE=ThinkPad T42 2373-4WU
+
+pci:v00001002d00004C57sv00001028sd000000E6*
+ ID_MODEL_FROM_DATABASE=Radeon Mobility M7 LW (Dell Inspiron 8100)
+
+pci:v00001002d00004C57sv00001028sd0000012A*
+ ID_MODEL_FROM_DATABASE=Latitude C640
+
+pci:v00001002d00004C57sv00001043sd00001622*
+ ID_MODEL_FROM_DATABASE=Mobility Radeon M7 (L3C/S)
+
+pci:v00001002d00004C57sv0000144Dsd0000C006*
+ ID_MODEL_FROM_DATABASE=Radeon Mobility M7 LW in vpr Matrix 170B4
+
+pci:v00001002d00004C58*
+ ID_MODEL_FROM_DATABASE=RV200/M7 GL [Mobility FireGL 7800]
+
+pci:v00001002d00004C59*
+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series]
+
+pci:v00001002d00004C59sv00000E11sd0000B111*
+ ID_MODEL_FROM_DATABASE=Evo N600c
+
+pci:v00001002d00004C59sv00001014sd00000235*
+ ID_MODEL_FROM_DATABASE=ThinkPad A30/A30p (2652/2653)
+
+pci:v00001002d00004C59sv00001014sd00000239*
+ ID_MODEL_FROM_DATABASE=ThinkPad X22/X23/X24
+
+pci:v00001002d00004C59sv0000103Csd00000025*
+ ID_MODEL_FROM_DATABASE=XE4500 Notebook
+
+pci:v00001002d00004C59sv0000104Dsd000080E7*
+ ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
+
+pci:v00001002d00004C59sv0000104Dsd00008140*
+ ID_MODEL_FROM_DATABASE=PCG-Z1SP laptop
+
+pci:v00001002d00004C59sv00001509sd00001930*
+ ID_MODEL_FROM_DATABASE=Medion MD9703
+
+pci:v00001002d00004C66*
+ ID_MODEL_FROM_DATABASE=RV250/M9 GL [Mobility FireGL 9000/Radeon 9000]
+
+pci:v00001002d00004C66sv00001014sd0000054D*
+ ID_MODEL_FROM_DATABASE=ThinkPad T41
+
+pci:v00001002d00004C6E*
+ ID_MODEL_FROM_DATABASE=RV250/M9 [Mobility Radeon 9000] (Secondary)
+
+pci:v00001002d00004D46*
+ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 4X/Mobility M4
+
+pci:v00001002d00004D52*
+ ID_MODEL_FROM_DATABASE=Theater 550 PRO PCI [ATI TV Wonder 550]
+
+pci:v00001002d00004D53*
+ ID_MODEL_FROM_DATABASE=Theater 550 PRO PCIe
+
+pci:v00001002d00004E44*
+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9700/9700 PRO]
+
+pci:v00001002d00004E44sv00001002sd0000515E*
+ ID_MODEL_FROM_DATABASE=Radeon ES1000
+
+pci:v00001002d00004E44sv00001002sd00005965*
+ ID_MODEL_FROM_DATABASE=Radeon ES1000
+
+pci:v00001002d00004E45*
+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO/9700]
+
+pci:v00001002d00004E45sv00001002sd00000002*
+ ID_MODEL_FROM_DATABASE=Radeon R300 NE [Radeon 9500 Pro]
+
+pci:v00001002d00004E45sv00001681sd00000002*
+ ID_MODEL_FROM_DATABASE=Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro]
+
+pci:v00001002d00004E46*
+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9600 TX]
+
+pci:v00001002d00004E47*
+ ID_MODEL_FROM_DATABASE=R300 GL [FireGL X1]
+
+pci:v00001002d00004E48*
+ ID_MODEL_FROM_DATABASE=R350 [Radeon 9800 Series]
+
+pci:v00001002d00004E49*
+ ID_MODEL_FROM_DATABASE=R350 [Radeon 9800]
+
+pci:v00001002d00004E4A*
+ ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XXL/XT]
+
+pci:v00001002d00004E4Asv00001002sd00004E4A*
+ ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XT]
+
+pci:v00001002d00004E4B*
+ ID_MODEL_FROM_DATABASE=R350 GL [FireGL X2 AGP Pro]
+
+pci:v00001002d00004E50*
+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo]
+
+pci:v00001002d00004E50sv00001025sd0000005A*
+ ID_MODEL_FROM_DATABASE=TravelMate 290
+
+pci:v00001002d00004E50sv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v00001002d00004E50sv0000103Csd00000890*
+ ID_MODEL_FROM_DATABASE=NC6000 laptop
+
+pci:v00001002d00004E50sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P35 notebook
+
+pci:v00001002d00004E50sv00001462sd00000311*
+ ID_MODEL_FROM_DATABASE=MSI M510A
+
+pci:v00001002d00004E50sv00001734sd00001055*
+ ID_MODEL_FROM_DATABASE=Amilo M1420W
+
+pci:v00001002d00004E51*
+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series]
+
+pci:v00001002d00004E52*
+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9500/9700 SE]
+
+pci:v00001002d00004E52sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P35 notebook
+
+pci:v00001002d00004E54*
+ ID_MODEL_FROM_DATABASE=RV350/M10 GL [Mobility FireGL T2]
+
+pci:v00001002d00004E56*
+ ID_MODEL_FROM_DATABASE=RV360/M12 [Mobility Radeon 9550]
+
+pci:v00001002d00004E64*
+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9700 PRO] (Secondary)
+
+pci:v00001002d00004E65*
+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary)
+
+pci:v00001002d00004E65sv00001002sd00000003*
+ ID_MODEL_FROM_DATABASE=Radeon R300 NE [Radeon 9500 Pro]
+
+pci:v00001002d00004E65sv00001681sd00000003*
+ ID_MODEL_FROM_DATABASE=Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary)
+
+pci:v00001002d00004E66*
+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary)
+
+pci:v00001002d00004E67*
+ ID_MODEL_FROM_DATABASE=R300 GL [FireGL X1] (Secondary)
+
+pci:v00001002d00004E68*
+ ID_MODEL_FROM_DATABASE=R350 [Radeon 9800 PRO] (Secondary)
+
+pci:v00001002d00004E69*
+ ID_MODEL_FROM_DATABASE=R350 [Radeon 9800] (Secondary)
+
+pci:v00001002d00004E6A*
+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 XT] (Secondary)
+
+pci:v00001002d00004E6Asv00001002sd00004E6A*
+ ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XT] (Secondary)
+
+pci:v00001002d00004E6Asv00001002sd00004E71*
+ ID_MODEL_FROM_DATABASE=M10 NQ [Radeon Mobility 9600]
+
+pci:v00001002d00004E71*
+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600] (Secondary)
+
+pci:v00001002d00004F72*
+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series]
+
+pci:v00001002d00004F73*
+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (Secondary)
+
+pci:v00001002d00005044*
+ ID_MODEL_FROM_DATABASE=All-In-Wonder 128 PCI
+
+pci:v00001002d00005044sv00001002sd00000028*
+ ID_MODEL_FROM_DATABASE=Rage 128 AIW
+
+pci:v00001002d00005044sv00001002sd00000029*
+ ID_MODEL_FROM_DATABASE=Rage 128 AIW
+
+pci:v00001002d00005046*
+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS
+
+pci:v00001002d00005046sv00001002sd00000004*
+ ID_MODEL_FROM_DATABASE=Rage Fury Pro
+
+pci:v00001002d00005046sv00001002sd00000008*
+ ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro
+
+pci:v00001002d00005046sv00001002sd00000014*
+ ID_MODEL_FROM_DATABASE=Rage Fury Pro
+
+pci:v00001002d00005046sv00001002sd00000018*
+ ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro
+
+pci:v00001002d00005046sv00001002sd00000028*
+ ID_MODEL_FROM_DATABASE=Rage 128 Pro AIW AGP
+
+pci:v00001002d00005046sv00001002sd0000002A*
+ ID_MODEL_FROM_DATABASE=Rage 128 Pro AIW AGP
+
+pci:v00001002d00005046sv00001002sd00000048*
+ ID_MODEL_FROM_DATABASE=Rage Fury Pro
+
+pci:v00001002d00005046sv00001002sd00002000*
+ ID_MODEL_FROM_DATABASE=Rage Fury MAXX AGP 4x (TMDS) (VGA device)
+
+pci:v00001002d00005046sv00001002sd00002001*
+ ID_MODEL_FROM_DATABASE=Rage Fury MAXX AGP 4x (TMDS) (Extra device?!)
+
+pci:v00001002d00005050*
+ ID_MODEL_FROM_DATABASE=Rage128 [Xpert 128 PCI]
+
+pci:v00001002d00005050sv00001002sd00000008*
+ ID_MODEL_FROM_DATABASE=Xpert 128
+
+pci:v00001002d00005052*
+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4X TMDS
+
+pci:v00001002d00005144*
+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon]
+
+pci:v00001002d00005144sv00001002sd00000008*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE
+
+pci:v00001002d00005144sv00001002sd00000009*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon
+
+pci:v00001002d00005144sv00001002sd0000000A*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon
+
+pci:v00001002d00005144sv00001002sd0000001A*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon
+
+pci:v00001002d00005144sv00001002sd00000029*
+ ID_MODEL_FROM_DATABASE=Radeon AIW
+
+pci:v00001002d00005144sv00001002sd00000038*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon
+
+pci:v00001002d00005144sv00001002sd00000039*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon
+
+pci:v00001002d00005144sv00001002sd0000008A*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon
+
+pci:v00001002d00005144sv00001002sd000000BA*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon
+
+pci:v00001002d00005144sv00001002sd00000139*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon
+
+pci:v00001002d00005144sv00001002sd0000028A*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon
+
+pci:v00001002d00005144sv00001002sd000002AA*
+ ID_MODEL_FROM_DATABASE=Radeon AIW
+
+pci:v00001002d00005144sv00001002sd0000053A*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon
+
+pci:v00001002d00005148*
+ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800]
+
+pci:v00001002d00005148sv00001002sd0000010A*
+ ID_MODEL_FROM_DATABASE=FireGL 8800 64Mb
+
+pci:v00001002d00005148sv00001002sd00000152*
+ ID_MODEL_FROM_DATABASE=FireGL 8800 128Mb
+
+pci:v00001002d00005148sv00001002sd00000162*
+ ID_MODEL_FROM_DATABASE=FireGL 8700 32Mb
+
+pci:v00001002d00005148sv00001002sd00000172*
+ ID_MODEL_FROM_DATABASE=FireGL 8700 64Mb
+
+pci:v00001002d0000514C*
+ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE]
+
+pci:v00001002d0000514Csv00001002sd0000003A*
+ ID_MODEL_FROM_DATABASE=Radeon R200 QL [Radeon 8500 LE]
+
+pci:v00001002d0000514Csv00001002sd0000013A*
+ ID_MODEL_FROM_DATABASE=Radeon 8500
+
+pci:v00001002d0000514Csv0000148Csd00002026*
+ ID_MODEL_FROM_DATABASE=R200 QL [Radeon 8500 Evil Master II Multi Display Edition]
+
+pci:v00001002d0000514Csv00001681sd00000010*
+ ID_MODEL_FROM_DATABASE=Radeon 8500 [3D Prophet 8500 128Mb]
+
+pci:v00001002d0000514Csv0000174Bsd00007149*
+ ID_MODEL_FROM_DATABASE=Radeon R200 QL [Sapphire Radeon 8500 LE]
+
+pci:v00001002d0000514Csv00001787sd00000F08*
+ ID_MODEL_FROM_DATABASE=Radeon R200 QL [PowerMagic Radeon 8500]
+
+pci:v00001002d0000514D*
+ ID_MODEL_FROM_DATABASE=R200 [Radeon 9100]
+
+pci:v00001002d00005157*
+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE]
+
+pci:v00001002d00005157sv00001002sd0000013A*
+ ID_MODEL_FROM_DATABASE=Radeon 7500
+
+pci:v00001002d00005157sv00001002sd00000F2B*
+ ID_MODEL_FROM_DATABASE=ALL-IN-WONDER VE PCI
+
+pci:v00001002d00005157sv00001002sd0000103A*
+ ID_MODEL_FROM_DATABASE=Dell Optiplex GX260
+
+pci:v00001002d00005157sv00001458sd00004000*
+ ID_MODEL_FROM_DATABASE=RV200 QW [RADEON 7500 PRO MAYA AR]
+
+pci:v00001002d00005157sv0000148Csd00002024*
+ ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500LE Dual Display]
+
+pci:v00001002d00005157sv0000148Csd00002025*
+ ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 Evil Master Multi Display Edition]
+
+pci:v00001002d00005157sv0000148Csd00002036*
+ ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 PCI Dual Display]
+
+pci:v00001002d00005157sv0000174Bsd00007146*
+ ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 LE]
+
+pci:v00001002d00005157sv0000174Bsd00007147*
+ ID_MODEL_FROM_DATABASE=RV200 QW [Sapphire Radeon 7500LE]
+
+pci:v00001002d00005157sv0000174Bsd00007161*
+ ID_MODEL_FROM_DATABASE=Radeon RV200 QW [Radeon 7500 LE]
+
+pci:v00001002d00005157sv000017AFsd00000202*
+ ID_MODEL_FROM_DATABASE=RV200 QW [Excalibur Radeon 7500LE]
+
+pci:v00001002d00005159*
+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE]
+
+pci:v00001002d00005159sv00001002sd0000000A*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE
+
+pci:v00001002d00005159sv00001002sd0000000B*
+ ID_MODEL_FROM_DATABASE=Radeon 7000
+
+pci:v00001002d00005159sv00001002sd00000038*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE
+
+pci:v00001002d00005159sv00001002sd0000003A*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE
+
+pci:v00001002d00005159sv00001002sd000000BA*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE
+
+pci:v00001002d00005159sv00001002sd0000013A*
+ ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE
+
+pci:v00001002d00005159sv00001002sd00000908*
+ ID_MODEL_FROM_DATABASE=XVR-100 (supplied by Sun)
+
+pci:v00001002d00005159sv00001014sd0000029A*
+ ID_MODEL_FROM_DATABASE=Remote Supervisor Adapter II (RSA2)
+
+pci:v00001002d00005159sv00001014sd000002C8*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00001002d00005159sv00001028sd0000016C*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1850 Embedded Radeon 7000/VE
+
+pci:v00001002d00005159sv00001028sd0000016D*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2850 Embedded Radeon 7000-M
+
+pci:v00001002d00005159sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 Embedded Radeon 7000/VE
+
+pci:v00001002d00005159sv00001028sd0000019A*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC1425
+
+pci:v00001002d00005159sv0000103Csd00001292*
+ ID_MODEL_FROM_DATABASE=Radeon 7000
+
+pci:v00001002d00005159sv00001043sd0000C00A*
+ ID_MODEL_FROM_DATABASE=A7000/T/64M
+
+pci:v00001002d00005159sv00001458sd00004002*
+ ID_MODEL_FROM_DATABASE=RV100 QY [RADEON 7000 PRO MAYA AV Series]
+
+pci:v00001002d00005159sv0000148Csd00002003*
+ ID_MODEL_FROM_DATABASE=RV100 QY [Radeon 7000 Multi-Display Edition]
+
+pci:v00001002d00005159sv0000148Csd00002023*
+ ID_MODEL_FROM_DATABASE=RV100 QY [Radeon 7000 Evil Master Multi-Display]
+
+pci:v00001002d00005159sv0000174Bsd00000280*
+ ID_MODEL_FROM_DATABASE=Radeon RV100 QY [Radeon 7000/VE]
+
+pci:v00001002d00005159sv0000174Bsd00007112*
+ ID_MODEL_FROM_DATABASE=RV100 QY [Sapphire Radeon VE 7000]
+
+pci:v00001002d00005159sv0000174Bsd00007C28*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon VE 7000 DDR
+
+pci:v00001002d00005159sv00001787sd00000202*
+ ID_MODEL_FROM_DATABASE=RV100 QY [Excalibur Radeon 7000]
+
+pci:v00001002d00005159sv000017EEsd00001001*
+ ID_MODEL_FROM_DATABASE=Radeon 7000 64MB DDR + DVI
+
+pci:v00001002d0000515E*
+ ID_MODEL_FROM_DATABASE=ES1000
+
+pci:v00001002d0000515Esv00001028sd000001BB*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1955 Embedded ATI ES1000
+
+pci:v00001002d0000515Esv00001028sd000001DF*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC440
+
+pci:v00001002d0000515Esv00001028sd000001E6*
+ ID_MODEL_FROM_DATABASE=PowerEdge 860
+
+pci:v00001002d0000515Esv00001028sd000001F0*
+ ID_MODEL_FROM_DATABASE=PowerEdge R900 Embedded ATI ES1000
+
+pci:v00001002d0000515Esv00001028sd00000205*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2970 Embedded ATI ES1000
+
+pci:v00001002d0000515Esv00001028sd0000020B*
+ ID_MODEL_FROM_DATABASE=PowerEdge T605 Embedded ATI ES1000
+
+pci:v00001002d0000515Esv00001028sd0000020F*
+ ID_MODEL_FROM_DATABASE=PowerEdge R300 Embedded ATI ES1000
+
+pci:v00001002d0000515Esv00001028sd00000210*
+ ID_MODEL_FROM_DATABASE=PowerEdge T300 Embedded ATI ES1000
+
+pci:v00001002d0000515Esv00001028sd00000221*
+ ID_MODEL_FROM_DATABASE=PowerEdge R805 Embedded ATI ES1000
+
+pci:v00001002d0000515Esv00001028sd00000223*
+ ID_MODEL_FROM_DATABASE=PowerEdge R905 Embedded ATI ES1000
+
+pci:v00001002d0000515Esv00001028sd00000225*
+ ID_MODEL_FROM_DATABASE=PowerEdge T105 Embedded ATI ES1000
+
+pci:v00001002d0000515Esv00001028sd0000023C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R200 Embedded ATI ES1000
+
+pci:v00001002d0000515Esv0000103Csd00001304*
+ ID_MODEL_FROM_DATABASE=Integrity iLO2 Advanced KVM VGA [AD307A]
+
+pci:v00001002d0000515Esv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00001002d0000515Esv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00001002d0000515Esv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board
+
+pci:v00001002d00005245*
+ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI
+
+pci:v00001002d00005245sv00001002sd00000008*
+ ID_MODEL_FROM_DATABASE=Xpert 128
+
+pci:v00001002d00005245sv00001002sd00000028*
+ ID_MODEL_FROM_DATABASE=Rage 128 AIW
+
+pci:v00001002d00005245sv00001002sd00000029*
+ ID_MODEL_FROM_DATABASE=Rage 128 AIW
+
+pci:v00001002d00005245sv00001002sd00000068*
+ ID_MODEL_FROM_DATABASE=Rage 128 AIW
+
+pci:v00001002d00005246*
+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x
+
+pci:v00001002d00005246sv00001002sd00000004*
+ ID_MODEL_FROM_DATABASE=Magnum/Xpert 128/Xpert 99
+
+pci:v00001002d00005246sv00001002sd00000008*
+ ID_MODEL_FROM_DATABASE=Magnum/Xpert128/X99/Xpert2000
+
+pci:v00001002d00005246sv00001002sd00000028*
+ ID_MODEL_FROM_DATABASE=Rage 128 AIW AGP
+
+pci:v00001002d00005246sv00001002sd00000044*
+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000
+
+pci:v00001002d00005246sv00001002sd00000068*
+ ID_MODEL_FROM_DATABASE=Rage 128 AIW AGP
+
+pci:v00001002d00005246sv00001002sd00000448*
+ ID_MODEL_FROM_DATABASE=Rage Fury
+
+pci:v00001002d0000524B*
+ ID_MODEL_FROM_DATABASE=Rage 128 VR PCI
+
+pci:v00001002d0000524C*
+ ID_MODEL_FROM_DATABASE=Rage 128 VR AGP
+
+pci:v00001002d0000524Csv00001002sd00000008*
+ ID_MODEL_FROM_DATABASE=Xpert 99/Xpert 2000
+
+pci:v00001002d0000524Csv00001002sd00000088*
+ ID_MODEL_FROM_DATABASE=Xpert 99
+
+pci:v00001002d00005346*
+ ID_MODEL_FROM_DATABASE=Rage 128 SF/4x AGP 2x
+
+pci:v00001002d00005346sv00001002sd00000048*
+ ID_MODEL_FROM_DATABASE=RAGE 128 16MB VGA TVOUT AMC PAL
+
+pci:v00001002d0000534D*
+ ID_MODEL_FROM_DATABASE=Rage 128 4X AGP 4x
+
+pci:v00001002d0000534Dsv00001002sd00000008*
+ ID_MODEL_FROM_DATABASE=Xpert 99/Xpert 2000
+
+pci:v00001002d0000534Dsv00001002sd00000018*
+ ID_MODEL_FROM_DATABASE=Xpert 2000
+
+pci:v00001002d00005354*
+ ID_MODEL_FROM_DATABASE=Mach 64 VT
+
+pci:v00001002d00005354sv00001002sd00005654*
+ ID_MODEL_FROM_DATABASE=Mach 64 reference
+
+pci:v00001002d00005446*
+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x
+
+pci:v00001002d00005446sv00001002sd00000004*
+ ID_MODEL_FROM_DATABASE=Rage Fury Pro
+
+pci:v00001002d00005446sv00001002sd00000008*
+ ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro
+
+pci:v00001002d00005446sv00001002sd00000018*
+ ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro
+
+pci:v00001002d00005446sv00001002sd00000028*
+ ID_MODEL_FROM_DATABASE=Rage 128 AIW Pro AGP
+
+pci:v00001002d00005446sv00001002sd00000029*
+ ID_MODEL_FROM_DATABASE=Rage 128 AIW
+
+pci:v00001002d00005446sv00001002sd0000002A*
+ ID_MODEL_FROM_DATABASE=Rage 128 AIW Pro AGP
+
+pci:v00001002d00005446sv00001002sd0000002B*
+ ID_MODEL_FROM_DATABASE=Rage 128 AIW
+
+pci:v00001002d00005446sv00001002sd00000048*
+ ID_MODEL_FROM_DATABASE=Xpert 2000 Pro
+
+pci:v00001002d00005452*
+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra4XL VR-R AGP
+
+pci:v00001002d00005452sv00001002sd0000001C*
+ ID_MODEL_FROM_DATABASE=Rage 128 Pro 4XL
+
+pci:v00001002d00005452sv0000103Csd00001279*
+ ID_MODEL_FROM_DATABASE=Rage 128 Pro 4XL
+
+pci:v00001002d00005460*
+ ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300]
+
+pci:v00001002d00005460sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00001002d00005461*
+ ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300]
+
+pci:v00001002d00005462*
+ ID_MODEL_FROM_DATABASE=RV380/M24C [Mobility Radeon X600 SE]
+
+pci:v00001002d00005464*
+ ID_MODEL_FROM_DATABASE=RV370/M22 GL [Mobility FireGL V3100]
+
+pci:v00001002d00005549*
+ ID_MODEL_FROM_DATABASE=R423 [Radeon X800 GTO]
+
+pci:v00001002d0000554A*
+ ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT Platinum Edition]
+
+pci:v00001002d0000554B*
+ ID_MODEL_FROM_DATABASE=R423 [Radeon X800 GT/SE]
+
+pci:v00001002d0000554Bsv00001002sd00000302*
+ ID_MODEL_FROM_DATABASE=Radeon X800 SE
+
+pci:v00001002d0000554D*
+ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL]
+
+pci:v00001002d0000554Dsv00001002sd00000322*
+ ID_MODEL_FROM_DATABASE=All-In-Wonder X800 XL
+
+pci:v00001002d0000554Dsv00001458sd00002124*
+ ID_MODEL_FROM_DATABASE=GV-R80L256V-B (AGP)
+
+pci:v00001002d0000554E*
+ ID_MODEL_FROM_DATABASE=R430 [All-In-Wonder X800 GT]
+
+pci:v00001002d0000554F*
+ ID_MODEL_FROM_DATABASE=R430 [Radeon X800]
+
+pci:v00001002d00005550*
+ ID_MODEL_FROM_DATABASE=R423 GL [FireGL V7100]
+
+pci:v00001002d00005551*
+ ID_MODEL_FROM_DATABASE=R423 GL [FireGL V5100]
+
+pci:v00001002d00005569*
+ ID_MODEL_FROM_DATABASE=R423 [Radeon X800 PRO] (Secondary)
+
+pci:v00001002d0000556B*
+ ID_MODEL_FROM_DATABASE=R423 [Radeon X800 GT] (Secondary)
+
+pci:v00001002d0000556D*
+ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (Secondary)
+
+pci:v00001002d0000556Dsv00001458sd00002125*
+ ID_MODEL_FROM_DATABASE=GV-R80L256V-B (AGP)
+
+pci:v00001002d0000556F*
+ ID_MODEL_FROM_DATABASE=R430 [Radeon X800] (Secondary)
+
+pci:v00001002d00005571*
+ ID_MODEL_FROM_DATABASE=R423 GL [FireGL V5100] (Secondary)
+
+pci:v00001002d0000564B*
+ ID_MODEL_FROM_DATABASE=RV410/M26 GL [Mobility FireGL V5000]
+
+pci:v00001002d0000564F*
+ ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700 XL]
+
+pci:v00001002d00005652*
+ ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700]
+
+pci:v00001002d00005653*
+ ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700]
+
+pci:v00001002d00005653sv00001025sd00000080*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMi
+
+pci:v00001002d00005653sv0000103Csd00000940*
+ ID_MODEL_FROM_DATABASE=HP Compaq NW8240 Mobile Workstation
+
+pci:v00001002d00005654*
+ ID_MODEL_FROM_DATABASE=264VT [Mach64 VT]
+
+pci:v00001002d00005654sv00001002sd00005654*
+ ID_MODEL_FROM_DATABASE=Mach64VT Reference
+
+pci:v00001002d00005655*
+ ID_MODEL_FROM_DATABASE=264VT3 [Mach64 VT3]
+
+pci:v00001002d00005656*
+ ID_MODEL_FROM_DATABASE=264VT4 [Mach64 VT4]
+
+pci:v00001002d00005657*
+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X550 XTX / X700]
+
+pci:v00001002d00005830*
+ ID_MODEL_FROM_DATABASE=RS300 Host Bridge
+
+pci:v00001002d00005831*
+ ID_MODEL_FROM_DATABASE=RS300 Host Bridge
+
+pci:v00001002d00005832*
+ ID_MODEL_FROM_DATABASE=RS300 Host Bridge
+
+pci:v00001002d00005833*
+ ID_MODEL_FROM_DATABASE=RS300 Host Bridge
+
+pci:v00001002d00005834*
+ ID_MODEL_FROM_DATABASE=RS300 [Radeon 9100 IGP]
+
+pci:v00001002d00005835*
+ ID_MODEL_FROM_DATABASE=RS300M [Mobility Radeon 9100 IGP]
+
+pci:v00001002d00005838*
+ ID_MODEL_FROM_DATABASE=RS300 AGP Bridge
+
+pci:v00001002d00005854*
+ ID_MODEL_FROM_DATABASE=RS480 [Radeon Xpress 200 Series] (Secondary)
+
+pci:v00001002d00005874*
+ ID_MODEL_FROM_DATABASE=RS480 [Radeon Xpress 1150] (Secondary)
+
+pci:v00001002d00005940*
+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Secondary)
+
+pci:v00001002d00005940sv000017AFsd00002021*
+ ID_MODEL_FROM_DATABASE=Excalibur Radeon 9250 (Secondary)
+
+pci:v00001002d00005941*
+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary)
+
+pci:v00001002d00005941sv00001458sd00004019*
+ ID_MODEL_FROM_DATABASE=Gigabyte Radeon 9200
+
+pci:v00001002d00005941sv0000174Bsd00007C12*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon 9200
+
+pci:v00001002d00005941sv000017AFsd0000200D*
+ ID_MODEL_FROM_DATABASE=Excalibur Radeon 9200
+
+pci:v00001002d00005941sv000018BCsd00000050*
+ ID_MODEL_FROM_DATABASE=GeXcube GC-R9200-C3 (Secondary)
+
+pci:v00001002d00005944*
+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE PCI]
+
+pci:v00001002d00005950*
+ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge
+
+pci:v00001002d00005950sv00001025sd00000080*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi
+
+pci:v00001002d00005950sv0000103Csd0000280A*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v00001002d00005950sv0000103Csd00002A20*
+ ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC
+
+pci:v00001002d00005950sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v00001002d00005950sv00001462sd00000131*
+ ID_MODEL_FROM_DATABASE=MS-1013 Notebook
+
+pci:v00001002d00005950sv00001462sd00007217*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v00001002d00005951*
+ ID_MODEL_FROM_DATABASE=RX480/RX482 Host Bridge
+
+pci:v00001002d00005952*
+ ID_MODEL_FROM_DATABASE=RD580 Host Bridge
+
+pci:v00001002d00005954*
+ ID_MODEL_FROM_DATABASE=RS480 [Radeon Xpress 200 Series]
+
+pci:v00001002d00005954sv00001002sd00005954*
+ ID_MODEL_FROM_DATABASE=RV370 [Radeon Xpress 200G Series]
+
+pci:v00001002d00005955*
+ ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200]
+
+pci:v00001002d00005955sv00001002sd00005955*
+ ID_MODEL_FROM_DATABASE=RS480 0x5955 [Radeon XPRESS 200M 5955 (PCIE)]
+
+pci:v00001002d00005955sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v00001002d00005955sv00001462sd00000131*
+ ID_MODEL_FROM_DATABASE=MS-1013 Notebook
+
+pci:v00001002d00005956*
+ ID_MODEL_FROM_DATABASE=RD790 Host Bridge
+
+pci:v00001002d00005957*
+ ID_MODEL_FROM_DATABASE=RX780/RX790 Host Bridge
+
+pci:v00001002d00005957sv00001849sd00005957*
+ ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard
+
+pci:v00001002d00005958*
+ ID_MODEL_FROM_DATABASE=RD780 Host Bridge
+
+pci:v00001002d00005960*
+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO]
+
+pci:v00001002d00005960sv000017AFsd00002020*
+ ID_MODEL_FROM_DATABASE=Excalibur Radeon 9250
+
+pci:v00001002d00005961*
+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200]
+
+pci:v00001002d00005961sv00001002sd00002F72*
+ ID_MODEL_FROM_DATABASE=All-in-Wonder 9200 Series
+
+pci:v00001002d00005961sv00001019sd00004C30*
+ ID_MODEL_FROM_DATABASE=Radeon 9200 VIVO
+
+pci:v00001002d00005961sv000012ABsd00005961*
+ ID_MODEL_FROM_DATABASE=YUAN SMARTVGA Radeon 9200
+
+pci:v00001002d00005961sv00001458sd00004018*
+ ID_MODEL_FROM_DATABASE=Gigabyte Radeon 9200
+
+pci:v00001002d00005961sv0000174Bsd00007C13*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon 9200
+
+pci:v00001002d00005961sv000017AFsd0000200C*
+ ID_MODEL_FROM_DATABASE=Excalibur Radeon 9200
+
+pci:v00001002d00005961sv000018BCsd00000050*
+ ID_MODEL_FROM_DATABASE=Radeon 9200 Game Buster
+
+pci:v00001002d00005961sv000018BCsd00000051*
+ ID_MODEL_FROM_DATABASE=GeXcube GC-R9200-C3
+
+pci:v00001002d00005961sv000018BCsd00000053*
+ ID_MODEL_FROM_DATABASE=Radeon 9200 Game Buster VIVO
+
+pci:v00001002d00005962*
+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200]
+
+pci:v00001002d00005964*
+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE]
+
+pci:v00001002d00005964sv00001002sd00005964*
+ ID_MODEL_FROM_DATABASE=Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz
+
+pci:v00001002d00005964sv00001043sd0000C006*
+ ID_MODEL_FROM_DATABASE=ASUS Radeon 9200 SE / TD / 128M
+
+pci:v00001002d00005964sv00001458sd00004018*
+ ID_MODEL_FROM_DATABASE=Radeon 9200 SE
+
+pci:v00001002d00005964sv00001458sd00004032*
+ ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB
+
+pci:v00001002d00005964sv0000147Bsd00006191*
+ ID_MODEL_FROM_DATABASE=R9200SE-DT
+
+pci:v00001002d00005964sv0000148Csd00002073*
+ ID_MODEL_FROM_DATABASE=CN-AG92E
+
+pci:v00001002d00005964sv0000174Bsd00007C13*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon 9200 SE
+
+pci:v00001002d00005964sv00001787sd00005964*
+ ID_MODEL_FROM_DATABASE=Excalibur 9200SE VIVO 128M
+
+pci:v00001002d00005964sv000017AFsd00002012*
+ ID_MODEL_FROM_DATABASE=Radeon 9200 SE Excalibur
+
+pci:v00001002d00005964sv000018BCsd00000170*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon 9200 SE 128MB Game Buster
+
+pci:v00001002d00005964sv000018BCsd00000173*
+ ID_MODEL_FROM_DATABASE=GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]
+
+pci:v00001002d00005965*
+ ID_MODEL_FROM_DATABASE=RV280 GL [FireMV 2200 PCI]
+
+pci:v00001002d00005974*
+ ID_MODEL_FROM_DATABASE=RS482/RS485 [Radeon Xpress 1100/1150]
+
+pci:v00001002d00005974sv0000103Csd0000280A*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v00001002d00005974sv00001462sd00007141*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v00001002d00005975*
+ ID_MODEL_FROM_DATABASE=RS482M [Mobility Radeon Xpress 200]
+
+pci:v00001002d00005978*
+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx0 port A)
+
+pci:v00001002d00005978sv00001849sd00005957*
+ ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard
+
+pci:v00001002d00005979*
+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx0 port B)
+
+pci:v00001002d0000597A*
+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port A)
+
+pci:v00001002d0000597B*
+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port B)
+
+pci:v00001002d0000597C*
+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port C)
+
+pci:v00001002d0000597D*
+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port D)
+
+pci:v00001002d0000597E*
+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port E)
+
+pci:v00001002d0000597Esv00001849sd00005957*
+ ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard
+
+pci:v00001002d0000597F*
+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port F)
+
+pci:v00001002d0000597Fsv00001849sd00005957*
+ ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard
+
+pci:v00001002d00005980*
+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx1 port A)
+
+pci:v00001002d00005981*
+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx1 port B)
+
+pci:v00001002d00005982*
+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (NB-SB link)
+
+pci:v00001002d00005A10*
+ ID_MODEL_FROM_DATABASE=RD890 Northbridge only dual slot (2x16) PCI-e GFX Hydra part
+
+pci:v00001002d00005A11*
+ ID_MODEL_FROM_DATABASE=RD890 Northbridge only single slot PCI-e GFX Hydra part
+
+pci:v00001002d00005A12*
+ ID_MODEL_FROM_DATABASE=RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part
+
+pci:v00001002d00005A12sv000015D9sd0000A811*
+ ID_MODEL_FROM_DATABASE=H8DGU
+
+pci:v00001002d00005A13*
+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (external gfx0 port A)
+
+pci:v00001002d00005A14*
+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (external gfx0 port B)
+
+pci:v00001002d00005A15*
+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port A)
+
+pci:v00001002d00005A16*
+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port B)
+
+pci:v00001002d00005A17*
+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port C)
+
+pci:v00001002d00005A18*
+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port D)
+
+pci:v00001002d00005A18sv000015D9sd0000A811*
+ ID_MODEL_FROM_DATABASE=H8DGU
+
+pci:v00001002d00005A19*
+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port E)
+
+pci:v00001002d00005A1A*
+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port F)
+
+pci:v00001002d00005A1B*
+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port G)
+
+pci:v00001002d00005A1C*
+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port H)
+
+pci:v00001002d00005A1D*
+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (external gfx1 port A)
+
+pci:v00001002d00005A1E*
+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (external gfx1 port B)
+
+pci:v00001002d00005A1F*
+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (NB-SB link)
+
+pci:v00001002d00005A1Fsv000015D9sd0000A811*
+ ID_MODEL_FROM_DATABASE=H8DGU
+
+pci:v00001002d00005A20*
+ ID_MODEL_FROM_DATABASE=RD890S PCI Express bridge for GPP2 port 1
+
+pci:v00001002d00005A23*
+ ID_MODEL_FROM_DATABASE=RD990 I/O Memory Management Unit (IOMMU)
+
+pci:v00001002d00005A33*
+ ID_MODEL_FROM_DATABASE=Radeon Xpress 200 Host Bridge
+
+pci:v00001002d00005A34*
+ ID_MODEL_FROM_DATABASE=RS480 PCI-X Root Port
+
+pci:v00001002d00005A36*
+ ID_MODEL_FROM_DATABASE=RS480 PCI Bridge
+
+pci:v00001002d00005A37*
+ ID_MODEL_FROM_DATABASE=RS480 PCI Bridge
+
+pci:v00001002d00005A38*
+ ID_MODEL_FROM_DATABASE=RS480 PCI Bridge
+
+pci:v00001002d00005A39*
+ ID_MODEL_FROM_DATABASE=RS480 PCI Bridge
+
+pci:v00001002d00005A3F*
+ ID_MODEL_FROM_DATABASE=RS480 PCI Bridge
+
+pci:v00001002d00005A3Fsv00001462sd00007217*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v00001002d00005A41*
+ ID_MODEL_FROM_DATABASE=RS400 [Radeon Xpress 200]
+
+pci:v00001002d00005A42*
+ ID_MODEL_FROM_DATABASE=RS400M [Radeon Xpress 200M]
+
+pci:v00001002d00005A61*
+ ID_MODEL_FROM_DATABASE=RC410 [Radeon Xpress 200/1100]
+
+pci:v00001002d00005A62*
+ ID_MODEL_FROM_DATABASE=RC410M [Mobility Radeon Xpress 200M]
+
+pci:v00001002d00005B60*
+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300]
+
+pci:v00001002d00005B60sv00001043sd0000002A*
+ ID_MODEL_FROM_DATABASE=Extreme AX300SE-X
+
+pci:v00001002d00005B60sv00001043sd0000032E*
+ ID_MODEL_FROM_DATABASE=Extreme AX300/TD
+
+pci:v00001002d00005B60sv00001458sd00002102*
+ ID_MODEL_FROM_DATABASE=GV-RX30S128D (X300SE)
+
+pci:v00001002d00005B60sv00001462sd00000400*
+ ID_MODEL_FROM_DATABASE=RX300SE-TD128E (MS-8940 REV:200)
+
+pci:v00001002d00005B60sv00001462sd00000402*
+ ID_MODEL_FROM_DATABASE=RX300SE-TD128E (MS-8940)
+
+pci:v00001002d00005B60sv0000174Bsd00000500*
+ ID_MODEL_FROM_DATABASE=Radeon X300 (PCIE)
+
+pci:v00001002d00005B60sv0000196Dsd00001086*
+ ID_MODEL_FROM_DATABASE=X300SE HM
+
+pci:v00001002d00005B62*
+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X600/X600 SE]
+
+pci:v00001002d00005B63*
+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300/X550/X1050 Series]
+
+pci:v00001002d00005B64*
+ ID_MODEL_FROM_DATABASE=RV370 GL [FireGL V3100]
+
+pci:v00001002d00005B65*
+ ID_MODEL_FROM_DATABASE=RV370 GL [FireMV 2200]
+
+pci:v00001002d00005B66*
+ ID_MODEL_FROM_DATABASE=RV370X
+
+pci:v00001002d00005B70*
+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE]
+
+pci:v00001002d00005B70sv00001462sd00000403*
+ ID_MODEL_FROM_DATABASE=Radeon X300 SE 128MB DDR
+
+pci:v00001002d00005B70sv0000174Bsd00000501*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon X300 SE
+
+pci:v00001002d00005B70sv0000196Dsd00001087*
+ ID_MODEL_FROM_DATABASE=Radeon X300 SE HyperMemory
+
+pci:v00001002d00005B72*
+ ID_MODEL_FROM_DATABASE=RV380 [Radeon X300/X550/X1050 Series] (Secondary)
+
+pci:v00001002d00005B73*
+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300/X550/X1050 Series] (Secondary)
+
+pci:v00001002d00005B74*
+ ID_MODEL_FROM_DATABASE=RV370 GL [FireGL V3100] (Secondary)
+
+pci:v00001002d00005B75*
+ ID_MODEL_FROM_DATABASE=RV370 GL [FireMV 2200] (Secondary)
+
+pci:v00001002d00005C61*
+ ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP]
+
+pci:v00001002d00005C63*
+ ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP]
+
+pci:v00001002d00005C63sv00001002sd00005C63*
+ ID_MODEL_FROM_DATABASE=Apple iBook G4 2004
+
+pci:v00001002d00005C63sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30 notebook
+
+pci:v00001002d00005D44*
+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary)
+
+pci:v00001002d00005D44sv00001458sd00004019*
+ ID_MODEL_FROM_DATABASE=Radeon 9200 SE (Secondary)
+
+pci:v00001002d00005D44sv00001458sd00004032*
+ ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB
+
+pci:v00001002d00005D44sv0000147Bsd00006190*
+ ID_MODEL_FROM_DATABASE=R9200SE-DT (Secondary)
+
+pci:v00001002d00005D44sv0000174Bsd00007C12*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon 9200 SE (Secondary)
+
+pci:v00001002d00005D44sv00001787sd00005965*
+ ID_MODEL_FROM_DATABASE=Excalibur 9200SE VIVO 128M (Secondary)
+
+pci:v00001002d00005D44sv000017AFsd00002013*
+ ID_MODEL_FROM_DATABASE=Radeon 9200 SE Excalibur (Secondary)
+
+pci:v00001002d00005D44sv000018BCsd00000171*
+ ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB Game Buster (Secondary)
+
+pci:v00001002d00005D44sv000018BCsd00000172*
+ ID_MODEL_FROM_DATABASE=GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]
+
+pci:v00001002d00005D45*
+ ID_MODEL_FROM_DATABASE=RV280 GL [FireMV 2200 PCI] (Secondary)
+
+pci:v00001002d00005D48*
+ ID_MODEL_FROM_DATABASE=R423/M28 [Mobility Radeon X800 XT]
+
+pci:v00001002d00005D49*
+ ID_MODEL_FROM_DATABASE=R423/M28 GL [Mobility FireGL V5100]
+
+pci:v00001002d00005D4A*
+ ID_MODEL_FROM_DATABASE=R423/M28 [Mobility Radeon X800]
+
+pci:v00001002d00005D4D*
+ ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT Platinum Edition]
+
+pci:v00001002d00005D4E*
+ ID_MODEL_FROM_DATABASE=R480 [Radeon X850 SE]
+
+pci:v00001002d00005D4F*
+ ID_MODEL_FROM_DATABASE=R480 [Radeon X800 GTO]
+
+pci:v00001002d00005D50*
+ ID_MODEL_FROM_DATABASE=R480 GL [FireGL V7200]
+
+pci:v00001002d00005D52*
+ ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT]
+
+pci:v00001002d00005D52sv00001002sd00000B12*
+ ID_MODEL_FROM_DATABASE=PowerColor X850XT PCIe (Primary)
+
+pci:v00001002d00005D52sv00001002sd00000B13*
+ ID_MODEL_FROM_DATABASE=PowerColor X850XT PCIe (Secondary)
+
+pci:v00001002d00005D57*
+ ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT]
+
+pci:v00001002d00005D6D*
+ ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT Platinum Edition] (Secondary)
+
+pci:v00001002d00005D6F*
+ ID_MODEL_FROM_DATABASE=R480 [Radeon X800 GTO] (Secondary)
+
+pci:v00001002d00005D72*
+ ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] (Secondary)
+
+pci:v00001002d00005D77*
+ ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT] (Secondary)
+
+pci:v00001002d00005E48*
+ ID_MODEL_FROM_DATABASE=RV410 GL [FireGL V5000]
+
+pci:v00001002d00005E49*
+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700 Series]
+
+pci:v00001002d00005E4A*
+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700 XT]
+
+pci:v00001002d00005E4B*
+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700 PRO]
+
+pci:v00001002d00005E4C*
+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700 SE]
+
+pci:v00001002d00005E4D*
+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700]
+
+pci:v00001002d00005E4Dsv0000148Csd00002116*
+ ID_MODEL_FROM_DATABASE=PowerColor Bravo X700
+
+pci:v00001002d00005E4F*
+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700]
+
+pci:v00001002d00005E4Fsv00001569sd00001E4F*
+ ID_MODEL_FROM_DATABASE=Radeon X550 XT
+
+pci:v00001002d00005E6B*
+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700 PRO] (Secondary)
+
+pci:v00001002d00005E6D*
+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Secondary)
+
+pci:v00001002d00005E6Dsv0000148Csd00002117*
+ ID_MODEL_FROM_DATABASE=PowerColor Bravo X700
+
+pci:v00001002d00005F57*
+ ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT]
+
+pci:v00001002d00006600*
+ ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8670A/8750M]
+
+pci:v00001002d00006601*
+ ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8730M]
+
+pci:v00001002d00006602*
+ ID_MODEL_FROM_DATABASE=Mars
+
+pci:v00001002d00006603*
+ ID_MODEL_FROM_DATABASE=Mars
+
+pci:v00001002d00006606*
+ ID_MODEL_FROM_DATABASE=Mars XTX [Radeon HD 8790M]
+
+pci:v00001002d00006607*
+ ID_MODEL_FROM_DATABASE=Mars LE [Radeon HD 8530M]
+
+pci:v00001002d00006610*
+ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8600 Series]
+
+pci:v00001002d00006611*
+ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8500 Series]
+
+pci:v00001002d00006613*
+ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8500 Series]
+
+pci:v00001002d00006620*
+ ID_MODEL_FROM_DATABASE=Mars
+
+pci:v00001002d00006621*
+ ID_MODEL_FROM_DATABASE=Mars PRO
+
+pci:v00001002d00006623*
+ ID_MODEL_FROM_DATABASE=Mars
+
+pci:v00001002d00006631*
+ ID_MODEL_FROM_DATABASE=Oland
+
+pci:v00001002d00006640*
+ ID_MODEL_FROM_DATABASE=Saturn XT
+
+pci:v00001002d00006641*
+ ID_MODEL_FROM_DATABASE=Saturn PRO
+
+pci:v00001002d00006649*
+ ID_MODEL_FROM_DATABASE=Bonaire
+
+pci:v00001002d00006650*
+ ID_MODEL_FROM_DATABASE=Bonaire
+
+pci:v00001002d00006651*
+ ID_MODEL_FROM_DATABASE=Bonaire
+
+pci:v00001002d00006658*
+ ID_MODEL_FROM_DATABASE=Bonaire
+
+pci:v00001002d0000665C*
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770]
+
+pci:v00001002d0000665Csv00001043sd00000452*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7790 DirectCU II OC
+
+pci:v00001002d0000665Csv00001462sd00002930*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7790 OC
+
+pci:v00001002d0000665Csv00001462sd00002932*
+ ID_MODEL_FROM_DATABASE=Radeon HD 8770
+
+pci:v00001002d0000665Csv00001682sd00003310*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7790 Black Edition 2 GB
+
+pci:v00001002d0000665Csv0000174Bsd0000E253*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7790 Dual-X OC
+
+pci:v00001002d0000665Csv00001787sd00002329*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7790 TurboDuo
+
+pci:v00001002d00006660*
+ ID_MODEL_FROM_DATABASE=Sun XT [Radeon HD 8600M Series]
+
+pci:v00001002d00006663*
+ ID_MODEL_FROM_DATABASE=Sun PRO [Radeon HD 8500M Series]
+
+pci:v00001002d00006667*
+ ID_MODEL_FROM_DATABASE=Sun
+
+pci:v00001002d0000666F*
+ ID_MODEL_FROM_DATABASE=Sun LE
+
+pci:v00001002d00006670*
+ ID_MODEL_FROM_DATABASE=Hainan
+
+pci:v00001002d00006704*
+ ID_MODEL_FROM_DATABASE=Cayman PRO GL [FirePro V7900]
+
+pci:v00001002d00006707*
+ ID_MODEL_FROM_DATABASE=Cayman LE GL [FirePro V5900]
+
+pci:v00001002d00006718*
+ ID_MODEL_FROM_DATABASE=Cayman XT [Radeon HD 6970]
+
+pci:v00001002d00006719*
+ ID_MODEL_FROM_DATABASE=Cayman PRO [Radeon HD 6950]
+
+pci:v00001002d0000671C*
+ ID_MODEL_FROM_DATABASE=Antilles [Radeon HD 6990]
+
+pci:v00001002d0000671D*
+ ID_MODEL_FROM_DATABASE=Antilles [Radeon HD 6990]
+
+pci:v00001002d0000671F*
+ ID_MODEL_FROM_DATABASE=Cayman CE [Radeon HD 6930]
+
+pci:v00001002d00006720*
+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M]
+
+pci:v00001002d00006720sv00001028sd0000048F*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6990M
+
+pci:v00001002d00006720sv00001028sd00000490*
+ ID_MODEL_FROM_DATABASE=Alienware M17x R3 Radeon HD 6970M
+
+pci:v00001002d00006720sv00001028sd000004A4*
+ ID_MODEL_FROM_DATABASE=FirePro M8900
+
+pci:v00001002d00006720sv00001028sd000004BA*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6990M
+
+pci:v00001002d00006720sv00001028sd0000053F*
+ ID_MODEL_FROM_DATABASE=FirePro M8900
+
+pci:v00001002d00006720sv0000106Bsd00000B00*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6970M
+
+pci:v00001002d00006720sv00001558sd00005102*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6970M
+
+pci:v00001002d00006720sv00001558sd00005104*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6990M
+
+pci:v00001002d00006720sv00001558sd00007201*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6990M
+
+pci:v00001002d00006720sv0000174Bsd0000E188*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6970M
+
+pci:v00001002d00006724*
+ ID_MODEL_FROM_DATABASE=Blackcomb [Mobility Radeon HD 6000 series]
+
+pci:v00001002d00006725*
+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6900M Series]
+
+pci:v00001002d00006738*
+ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870]
+
+pci:v00001002d00006738sv00001682sd00003103*
+ ID_MODEL_FROM_DATABASE=Radeon HD 8670
+
+pci:v00001002d00006738sv00001787sd0000201A*
+ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870 X2]
+
+pci:v00001002d00006738sv00001787sd0000201B*
+ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870 X2]
+
+pci:v00001002d00006739*
+ ID_MODEL_FROM_DATABASE=Barts PRO [Radeon HD 6850]
+
+pci:v00001002d00006739sv00001043sd000003B4*
+ ID_MODEL_FROM_DATABASE=EAH6850 [Radeon HD 6850]
+
+pci:v00001002d0000673E*
+ ID_MODEL_FROM_DATABASE=Barts LE [Radeon HD 6790]
+
+pci:v00001002d0000673Esv0000148Csd00007720*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7720 OEM
+
+pci:v00001002d00006740*
+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT]
+
+pci:v00001002d00006740sv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00001002d00006741*
+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6600M/6700M/7600M Series]
+
+pci:v00001002d00006741sv0000106Bsd000000E2*
+ ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", Late 2011]
+
+pci:v00001002d00006742*
+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M]
+
+pci:v00001002d00006742sv00001043sd00001D82*
+ ID_MODEL_FROM_DATABASE=K53SK Laptop Radeon HD 7610M
+
+pci:v00001002d00006742sv00008086sd00002111*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6625M
+
+pci:v00001002d00006743*
+ ID_MODEL_FROM_DATABASE=Whistler [Radeon E6760]
+
+pci:v00001002d00006749*
+ ID_MODEL_FROM_DATABASE=Turks GL [FirePro V4900]
+
+pci:v00001002d0000674A*
+ ID_MODEL_FROM_DATABASE=Turks GL [FirePro V3900]
+
+pci:v00001002d00006750*
+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A / 7650A]
+
+pci:v00001002d00006751*
+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 7670A]
+
+pci:v00001002d00006758*
+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670]
+
+pci:v00001002d00006759*
+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570]
+
+pci:v00001002d00006759sv0000148Csd00007570*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7570
+
+pci:v00001002d00006759sv0000174Bsd00007570*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7570
+
+pci:v00001002d0000675D*
+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 7570]
+
+pci:v00001002d0000675F*
+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510]
+
+pci:v00001002d0000675Fsv0000148Csd00006510*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6510
+
+pci:v00001002d0000675Fsv0000174Bsd00006510*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6510
+
+pci:v00001002d0000675Fsv0000174Bsd00007510*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7510
+
+pci:v00001002d0000675Fsv00001787sd00002012*
+ ID_MODEL_FROM_DATABASE=Radeon HD 5570 2GB GDDR3
+
+pci:v00001002d0000675Fsv00001787sd00002314*
+ ID_MODEL_FROM_DATABASE=Radeon HD 5570 1GB DDR2/GDDR3
+
+pci:v00001002d00006760*
+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series]
+
+pci:v00001002d00006760sv00001028sd000004CC*
+ ID_MODEL_FROM_DATABASE=Vostro 3350
+
+pci:v00001002d00006760sv00001043sd000084A0*
+ ID_MODEL_FROM_DATABASE=Seymour XT [Radeon HD 6470M]
+
+pci:v00001002d00006761*
+ ID_MODEL_FROM_DATABASE=Seymour LP [Radeon HD 6430M]
+
+pci:v00001002d00006763*
+ ID_MODEL_FROM_DATABASE=Seymour [Radeon E6460]
+
+pci:v00001002d00006764*
+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M Series]
+
+pci:v00001002d00006765*
+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M Series]
+
+pci:v00001002d00006766*
+ ID_MODEL_FROM_DATABASE=Caicos
+
+pci:v00001002d00006767*
+ ID_MODEL_FROM_DATABASE=Caicos
+
+pci:v00001002d00006768*
+ ID_MODEL_FROM_DATABASE=Caicos
+
+pci:v00001002d00006770*
+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A]
+
+pci:v00001002d00006771*
+ ID_MODEL_FROM_DATABASE=Caicos XTX [Radeon HD 8490]
+
+pci:v00001002d00006772*
+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7450A]
+
+pci:v00001002d00006778*
+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470]
+
+pci:v00001002d00006778sv00001462sd0000B493*
+ ID_MODEL_FROM_DATABASE=Radeon HD 8470 OEM
+
+pci:v00001002d00006779*
+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450]
+
+pci:v00001002d00006779sv0000148Csd00008450*
+ ID_MODEL_FROM_DATABASE=Radeon HD 8450 OEM
+
+pci:v00001002d00006779sv0000174Bsd00007450*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7450
+
+pci:v00001002d00006779sv0000174Bsd0000E164*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6450 1 GB DDR3
+
+pci:v00001002d00006779sv000017AFsd00008450*
+ ID_MODEL_FROM_DATABASE=Radeon HD 8450 OEM
+
+pci:v00001002d0000677B*
+ ID_MODEL_FROM_DATABASE=Caicos PRO [Radeon HD 7450]
+
+pci:v00001002d00006780*
+ ID_MODEL_FROM_DATABASE=Tahiti XT GL [FirePro W9000]
+
+pci:v00001002d00006784*
+ ID_MODEL_FROM_DATABASE=Tahiti [ATI FirePro V (FireGL V) Graphics Adapter]
+
+pci:v00001002d00006788*
+ ID_MODEL_FROM_DATABASE=Tahiti [ATI FirePro V (FireGL V) Graphics Adapter]
+
+pci:v00001002d0000678A*
+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series]
+
+pci:v00001002d0000678Asv00001002sd0000030C*
+ ID_MODEL_FROM_DATABASE=FirePro W8000
+
+pci:v00001002d0000678Asv00001002sd00000310*
+ ID_MODEL_FROM_DATABASE=FirePro S9000
+
+pci:v00001002d0000678Asv00001002sd00000B2A*
+ ID_MODEL_FROM_DATABASE=FirePro S10000
+
+pci:v00001002d0000678Asv00001028sd0000030C*
+ ID_MODEL_FROM_DATABASE=FirePro W8000
+
+pci:v00001002d00006790*
+ ID_MODEL_FROM_DATABASE=Tahiti
+
+pci:v00001002d00006791*
+ ID_MODEL_FROM_DATABASE=Tahiti
+
+pci:v00001002d00006792*
+ ID_MODEL_FROM_DATABASE=Tahiti
+
+pci:v00001002d00006798*
+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970]
+
+pci:v00001002d00006798sv00001002sd00003000*
+ ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition]
+
+pci:v00001002d00006798sv00001043sd0000041C*
+ ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II
+
+pci:v00001002d00006798sv00001043sd00000420*
+ ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP
+
+pci:v00001002d00006798sv00001043sd00000444*
+ ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP
+
+pci:v00001002d00006798sv00001043sd00000448*
+ ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP
+
+pci:v00001002d00006798sv00001043sd0000044A*
+ ID_MODEL_FROM_DATABASE=Tahiti XT2 [Matrix HD 7970]
+
+pci:v00001002d00006798sv00001043sd0000044C*
+ ID_MODEL_FROM_DATABASE=Tahiti XT2 [Matrix HD 7970 Platinum]
+
+pci:v00001002d00006798sv00001043sd00009999*
+ ID_MODEL_FROM_DATABASE=ARES II
+
+pci:v00001002d00006798sv00001092sd00003000*
+ ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition]
+
+pci:v00001002d00006798sv00001458sd00002261*
+ ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition OC]
+
+pci:v00001002d00006798sv00001682sd00003211*
+ ID_MODEL_FROM_DATABASE=Double D HD 7970 Black Edition
+
+pci:v00001002d00006798sv00001682sd00003213*
+ ID_MODEL_FROM_DATABASE=HD 7970 Black Edition
+
+pci:v00001002d00006798sv00001682sd00003214*
+ ID_MODEL_FROM_DATABASE=Double D HD 7970
+
+pci:v00001002d00006798sv00001787sd0000201C*
+ ID_MODEL_FROM_DATABASE=HD 7970 IceQ X²
+
+pci:v00001002d00006798sv00001787sd00002317*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7990
+
+pci:v00001002d00006798sv00001787sd00003000*
+ ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition]
+
+pci:v00001002d00006799*
+ ID_MODEL_FROM_DATABASE=New Zealand [Radeon HD 7900 Series]
+
+pci:v00001002d0000679A*
+ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950]
+
+pci:v00001002d0000679Asv00001002sd00000B01*
+ ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM
+
+pci:v00001002d0000679Asv00001002sd00003000*
+ ID_MODEL_FROM_DATABASE=Tahiti PRO2 [Radeon HD 7950 Boost]
+
+pci:v00001002d0000679Asv00001462sd00003000*
+ ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM
+
+pci:v00001002d0000679B*
+ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990]
+
+pci:v00001002d0000679E*
+ ID_MODEL_FROM_DATABASE=Tahiti LE [Radeon HD 7870 XT]
+
+pci:v00001002d0000679F*
+ ID_MODEL_FROM_DATABASE=Tahiti
+
+pci:v00001002d00006800*
+ ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M]
+
+pci:v00001002d00006800sv00001002sd00000124*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7970M
+
+pci:v00001002d00006800sv00008086sd00002110*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7970M
+
+pci:v00001002d00006800sv00008086sd00002111*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7970M
+
+pci:v00001002d00006801*
+ ID_MODEL_FROM_DATABASE=Neptune [Radeon HD 8970M]
+
+pci:v00001002d00006801sv00001002sd00000124*
+ ID_MODEL_FROM_DATABASE=Radeon HD 8970M
+
+pci:v00001002d00006801sv00008086sd00002110*
+ ID_MODEL_FROM_DATABASE=Radeon HD 8970M
+
+pci:v00001002d00006801sv00008086sd00002111*
+ ID_MODEL_FROM_DATABASE=Radeon HD 8970M
+
+pci:v00001002d00006802*
+ ID_MODEL_FROM_DATABASE=Wimbledon
+
+pci:v00001002d00006806*
+ ID_MODEL_FROM_DATABASE=Neptune
+
+pci:v00001002d00006808*
+ ID_MODEL_FROM_DATABASE=Pitcairn XT GL [FirePro W7000]
+
+pci:v00001002d00006808sv00001002sd00000310*
+ ID_MODEL_FROM_DATABASE=FirePro S7000
+
+pci:v00001002d00006809*
+ ID_MODEL_FROM_DATABASE=Pitcairn LE GL [FirePro W5000]
+
+pci:v00001002d00006810*
+ ID_MODEL_FROM_DATABASE=Pitcairn
+
+pci:v00001002d00006811*
+ ID_MODEL_FROM_DATABASE=Pitcairn
+
+pci:v00001002d00006816*
+ ID_MODEL_FROM_DATABASE=Pitcairn
+
+pci:v00001002d00006817*
+ ID_MODEL_FROM_DATABASE=Pitcairn
+
+pci:v00001002d00006818*
+ ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition]
+
+pci:v00001002d00006818sv00001002sd00000B05*
+ ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 8870 OEM]
+
+pci:v00001002d00006819*
+ ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850]
+
+pci:v00001002d00006819sv0000174Bsd0000E221*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon HD 7850 2 GB GDDR5 DVI-I/DVI-D/HDMI/DP
+
+pci:v00001002d00006820*
+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8800M Series]
+
+pci:v00001002d00006821*
+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8800M Series]
+
+pci:v00001002d00006823*
+ ID_MODEL_FROM_DATABASE=Venus PRO [Radeon HD 8800M Series]
+
+pci:v00001002d00006824*
+ ID_MODEL_FROM_DATABASE=Chelsea [Radeon HD 7700M Series]
+
+pci:v00001002d00006825*
+ ID_MODEL_FROM_DATABASE=Heathrow XT [Radeon HD 7870M]
+
+pci:v00001002d00006825sv00008086sd00002111*
+ ID_MODEL_FROM_DATABASE=Chelsea PRO
+
+pci:v00001002d00006826*
+ ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7700M Series]
+
+pci:v00001002d00006827*
+ ID_MODEL_FROM_DATABASE=Heathrow PRO [Radeon HD 7850M/8850M]
+
+pci:v00001002d00006828*
+ ID_MODEL_FROM_DATABASE=Cape Verde PRO [FirePro W600]
+
+pci:v00001002d00006829*
+ ID_MODEL_FROM_DATABASE=Cape Verde
+
+pci:v00001002d0000682B*
+ ID_MODEL_FROM_DATABASE=Venus LE [Radeon HD 8800M Series]
+
+pci:v00001002d0000682D*
+ ID_MODEL_FROM_DATABASE=Chelsea XT GL [FirePro M4000]
+
+pci:v00001002d0000682F*
+ ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7730M]
+
+pci:v00001002d00006830*
+ ID_MODEL_FROM_DATABASE=Cape Verde [Radeon HD 7800M Series]
+
+pci:v00001002d00006831*
+ ID_MODEL_FROM_DATABASE=Cape Verde [AMD Radeon HD 7700M Series]
+
+pci:v00001002d00006837*
+ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730]
+
+pci:v00001002d00006837sv00001787sd00003000*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6570
+
+pci:v00001002d00006838*
+ ID_MODEL_FROM_DATABASE=Cape Verde
+
+pci:v00001002d00006839*
+ ID_MODEL_FROM_DATABASE=Cape Verde
+
+pci:v00001002d0000683B*
+ ID_MODEL_FROM_DATABASE=Cape Verde [Radeon HD 7700 Series]
+
+pci:v00001002d0000683D*
+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770 GHz Edition]
+
+pci:v00001002d0000683Dsv00001002sd00000030*
+ ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM
+
+pci:v00001002d0000683Dsv00001019sd00000030*
+ ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM
+
+pci:v00001002d0000683Dsv0000103Csd00006890*
+ ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM
+
+pci:v00001002d0000683F*
+ ID_MODEL_FROM_DATABASE=Cape Verde PRO [Radeon HD 7750]
+
+pci:v00001002d00006840*
+ ID_MODEL_FROM_DATABASE=Thames XT [Radeon HD 7670M]
+
+pci:v00001002d00006841*
+ ID_MODEL_FROM_DATABASE=Thames [Radeon 7550M/7570M/7650M]
+
+pci:v00001002d00006842*
+ ID_MODEL_FROM_DATABASE=Thames LE [Radeon HD 7000M Series]
+
+pci:v00001002d00006843*
+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7670M]
+
+pci:v00001002d00006849*
+ ID_MODEL_FROM_DATABASE=Lombok [AMD Radeon HD 7400 Series]
+
+pci:v00001002d00006880*
+ ID_MODEL_FROM_DATABASE=Cypress
+
+pci:v00001002d00006888*
+ ID_MODEL_FROM_DATABASE=Cypress XT [FirePro V8800]
+
+pci:v00001002d00006889*
+ ID_MODEL_FROM_DATABASE=Cypress PRO [FirePro V7800]
+
+pci:v00001002d00006889sv00001002sd00000301*
+ ID_MODEL_FROM_DATABASE=FirePro V7800P
+
+pci:v00001002d0000688A*
+ ID_MODEL_FROM_DATABASE=Cypress XT [FirePro V9800]
+
+pci:v00001002d0000688Asv00001002sd0000030C*
+ ID_MODEL_FROM_DATABASE=FirePro V9800P
+
+pci:v00001002d0000688C*
+ ID_MODEL_FROM_DATABASE=Cypress XT GL [FireStream 9370]
+
+pci:v00001002d0000688D*
+ ID_MODEL_FROM_DATABASE=Cypress PRO GL [FireStream 9350]
+
+pci:v00001002d00006898*
+ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870]
+
+pci:v00001002d00006898sv00001002sd00000B00*
+ ID_MODEL_FROM_DATABASE=Radeon HD 5870 Eyefinity⁶ Edition
+
+pci:v00001002d00006898sv0000106Bsd000000D0*
+ ID_MODEL_FROM_DATABASE=Radeon HD 5870 Mac Edition
+
+pci:v00001002d00006898sv00001462sd00008032*
+ ID_MODEL_FROM_DATABASE=Radeon HD 5870 1 GB GDDR5
+
+pci:v00001002d00006898sv0000174Bsd00006870*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6870 1600SP Edition
+
+pci:v00001002d00006899*
+ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850]
+
+pci:v00001002d00006899sv00001043sd00000330*
+ ID_MODEL_FROM_DATABASE=Radeon HD 5850
+
+pci:v00001002d00006899sv0000174Bsd0000237B*
+ ID_MODEL_FROM_DATABASE=Radeon HD 5850 X2
+
+pci:v00001002d00006899sv0000174Bsd00006850*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6850 1440SP Edition
+
+pci:v00001002d0000689B*
+ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 6800 Series]
+
+pci:v00001002d0000689C*
+ ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970]
+
+pci:v00001002d0000689Csv00001043sd00000352*
+ ID_MODEL_FROM_DATABASE=ARES
+
+pci:v00001002d0000689D*
+ ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970]
+
+pci:v00001002d0000689E*
+ ID_MODEL_FROM_DATABASE=Cypress LE [Radeon HD 5830]
+
+pci:v00001002d000068A0*
+ ID_MODEL_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5870]
+
+pci:v00001002d000068A0sv00001028sd000012EF*
+ ID_MODEL_FROM_DATABASE=FirePro M7820
+
+pci:v00001002d000068A0sv0000103Csd00001520*
+ ID_MODEL_FROM_DATABASE=FirePro M7820
+
+pci:v00001002d000068A1*
+ ID_MODEL_FROM_DATABASE=Broadway PRO [Mobility Radeon HD 5850]
+
+pci:v00001002d000068A1sv0000106Bsd000000CC*
+ ID_MODEL_FROM_DATABASE=iMac MC511 Mobility Radeon HD 5850 MXM Module
+
+pci:v00001002d000068A8*
+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M]
+
+pci:v00001002d000068A8sv0000103Csd0000159B*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6850M
+
+pci:v00001002d000068A9*
+ ID_MODEL_FROM_DATABASE=Juniper XT [FirePro V5800]
+
+pci:v00001002d000068B8*
+ ID_MODEL_FROM_DATABASE=Juniper XT [Radeon HD 5770]
+
+pci:v00001002d000068B8sv0000106Bsd000000CF*
+ ID_MODEL_FROM_DATABASE=MacPro5,1 [Mac Pro 2.8GHz DDR3]
+
+pci:v00001002d000068B9*
+ ID_MODEL_FROM_DATABASE=Juniper LE [Radeon HD 5670 640SP Edition]
+
+pci:v00001002d000068BA*
+ ID_MODEL_FROM_DATABASE=Juniper XT [Radeon HD 6770]
+
+pci:v00001002d000068BE*
+ ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 5750]
+
+pci:v00001002d000068BEsv0000148Csd00003000*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6750
+
+pci:v00001002d000068BF*
+ ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 6750]
+
+pci:v00001002d000068BFsv0000174Bsd00006750*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6750
+
+pci:v00001002d000068C0*
+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M]
+
+pci:v00001002d000068C0sv0000103Csd00001521*
+ ID_MODEL_FROM_DATABASE=Madison XT [FirePro M5800]
+
+pci:v00001002d000068C0sv0000103Csd00001593*
+ ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570
+
+pci:v00001002d000068C0sv0000103Csd00001596*
+ ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570
+
+pci:v00001002d000068C0sv0000103Csd00001599*
+ ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570
+
+pci:v00001002d000068C1*
+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6550M]
+
+pci:v00001002d000068C1sv00001025sd0000033D*
+ ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650
+
+pci:v00001002d000068C1sv00001025sd00000347*
+ ID_MODEL_FROM_DATABASE=Aspire 7740G
+
+pci:v00001002d000068C1sv0000103Csd00001521*
+ ID_MODEL_FROM_DATABASE=Madison Pro [FirePro M5800]
+
+pci:v00001002d000068C7*
+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A]
+
+pci:v00001002d000068C8*
+ ID_MODEL_FROM_DATABASE=Redwood XT GL [FirePro V4800]
+
+pci:v00001002d000068C9*
+ ID_MODEL_FROM_DATABASE=Redwood PRO GL [FirePro V3800]
+
+pci:v00001002d000068D8*
+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670]
+
+pci:v00001002d000068D8sv00001787sd00003000*
+ ID_MODEL_FROM_DATABASE=Radeon HD 5730
+
+pci:v00001002d000068D9*
+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5570]
+
+pci:v00001002d000068D9sv0000148Csd00003000*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6510
+
+pci:v00001002d000068D9sv0000148Csd00003001*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6610
+
+pci:v00001002d000068DA*
+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550]
+
+pci:v00001002d000068DAsv0000148Csd00003000*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6390
+
+pci:v00001002d000068DAsv0000148Csd00003001*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6490
+
+pci:v00001002d000068DE*
+ ID_MODEL_FROM_DATABASE=Redwood
+
+pci:v00001002d000068E0*
+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470]
+
+pci:v00001002d000068E0sv0000103Csd00001486*
+ ID_MODEL_FROM_DATABASE=TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450)
+
+pci:v00001002d000068E1*
+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430]
+
+pci:v00001002d000068E1sv0000148Csd00007350*
+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350]
+
+pci:v00001002d000068E1sv00001545sd00005450*
+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450]
+
+pci:v00001002d000068E1sv0000174Bsd00005470*
+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5470]
+
+pci:v00001002d000068E1sv0000174Bsd00006350*
+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6350]
+
+pci:v00001002d000068E1sv000017AFsd00003015*
+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350]
+
+pci:v00001002d000068E1sv000017AFsd00008350*
+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 8350 OEM]
+
+pci:v00001002d000068E4*
+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M]
+
+pci:v00001002d000068E5*
+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M]
+
+pci:v00001002d000068E5sv0000148Csd00007350*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7350
+
+pci:v00001002d000068E8*
+ ID_MODEL_FROM_DATABASE=Cedar
+
+pci:v00001002d000068E9*
+ ID_MODEL_FROM_DATABASE=Cedar [ATI FirePro (FireGL) Graphics Adapter]
+
+pci:v00001002d000068F1*
+ ID_MODEL_FROM_DATABASE=Cedar GL [FirePro 2460]
+
+pci:v00001002d000068F2*
+ ID_MODEL_FROM_DATABASE=Cedar GL [FirePro 2270]
+
+pci:v00001002d000068F8*
+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7300 Series]
+
+pci:v00001002d000068F9*
+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350 Series]
+
+pci:v00001002d000068F9sv00001019sd00000001*
+ ID_MODEL_FROM_DATABASE=Radeon HD 5450
+
+pci:v00001002d000068F9sv00001019sd00000019*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6350
+
+pci:v00001002d000068F9sv00001028sd0000010E*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00001002d000068F9sv00001043sd000003C2*
+ ID_MODEL_FROM_DATABASE=EAH5450 SILENT/DI/512MD2 (LP)
+
+pci:v00001002d000068F9sv0000148Csd00003001*
+ ID_MODEL_FROM_DATABASE=Radeon HD 5530/6250
+
+pci:v00001002d000068F9sv0000148Csd00003002*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6290
+
+pci:v00001002d000068F9sv0000148Csd00003003*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6230
+
+pci:v00001002d000068F9sv0000148Csd00003004*
+ ID_MODEL_FROM_DATABASE=Radeon HD 6350
+
+pci:v00001002d000068F9sv0000148Csd00007350*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7350
+
+pci:v00001002d000068F9sv0000174Bsd00005470*
+ ID_MODEL_FROM_DATABASE=Radeon HD 5470
+
+pci:v00001002d000068F9sv0000174Bsd00005490*
+ ID_MODEL_FROM_DATABASE=Radeon HD 5490
+
+pci:v00001002d000068F9sv0000174Bsd00005530*
+ ID_MODEL_FROM_DATABASE=Radeon HD 5530
+
+pci:v00001002d000068F9sv0000174Bsd00007350*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7350
+
+pci:v00001002d000068FA*
+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350]
+
+pci:v00001002d000068FAsv000017AFsd00003015*
+ ID_MODEL_FROM_DATABASE=Radeon HD 7350
+
+pci:v00001002d000068FE*
+ ID_MODEL_FROM_DATABASE=Cedar LE
+
+pci:v00001002d0000700F*
+ ID_MODEL_FROM_DATABASE=RS100 AGP Bridge
+
+pci:v00001002d00007010*
+ ID_MODEL_FROM_DATABASE=RS200/RS250 AGP Bridge
+
+pci:v00001002d00007100*
+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XT]
+
+pci:v00001002d00007101*
+ ID_MODEL_FROM_DATABASE=R520/M58 [Mobility Radeon X1800 XT]
+
+pci:v00001002d00007102*
+ ID_MODEL_FROM_DATABASE=R520/M58 [Mobility Radeon X1800]
+
+pci:v00001002d00007104*
+ ID_MODEL_FROM_DATABASE=R520 GL [FireGL V7200]
+
+pci:v00001002d00007109*
+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XL]
+
+pci:v00001002d00007109sv00001002sd00000322*
+ ID_MODEL_FROM_DATABASE=All-in-Wonder X1800XL
+
+pci:v00001002d00007109sv00001002sd00000D02*
+ ID_MODEL_FROM_DATABASE=Radeon X1800 CrossFire Edition
+
+pci:v00001002d0000710A*
+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO]
+
+pci:v00001002d0000710Asv00001002sd00000B12*
+ ID_MODEL_FROM_DATABASE=Radeon X1800 GTO²
+
+pci:v00001002d0000710B*
+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO]
+
+pci:v00001002d00007120*
+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary)
+
+pci:v00001002d00007124*
+ ID_MODEL_FROM_DATABASE=R520 GL [FireGL V7200] (Secondary)
+
+pci:v00001002d00007129*
+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary)
+
+pci:v00001002d00007129sv00001002sd00000323*
+ ID_MODEL_FROM_DATABASE=All-In-Wonder X1800 XL (Secondary)
+
+pci:v00001002d00007129sv00001002sd00000D03*
+ ID_MODEL_FROM_DATABASE=Radeon X1800 CrossFire Edition (Secondary)
+
+pci:v00001002d00007140*
+ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550/X1600 Series]
+
+pci:v00001002d00007142*
+ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series]
+
+pci:v00001002d00007142sv00001002sd00000322*
+ ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition
+
+pci:v00001002d00007142sv00001043sd00000142*
+ ID_MODEL_FROM_DATABASE=EAX1300PRO/TD/256M
+
+pci:v00001002d00007143*
+ ID_MODEL_FROM_DATABASE=RV505 [Radeon X1300/X1550 Series]
+
+pci:v00001002d00007145*
+ ID_MODEL_FROM_DATABASE=RV515/M54 [Mobility Radeon X1400]
+
+pci:v00001002d00007145sv000017AAsd00002006*
+ ID_MODEL_FROM_DATABASE=Thinkpad T60 model 2007
+
+pci:v00001002d00007146*
+ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550]
+
+pci:v00001002d00007146sv00001002sd00000322*
+ ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition
+
+pci:v00001002d00007146sv00001545sd00001996*
+ ID_MODEL_FROM_DATABASE=Radeon X1300 512MB PCI-e
+
+pci:v00001002d00007147*
+ ID_MODEL_FROM_DATABASE=RV505 [Radeon X1550 64-bit]
+
+pci:v00001002d00007149*
+ ID_MODEL_FROM_DATABASE=RV515/M52 [Mobility Radeon X1300]
+
+pci:v00001002d0000714A*
+ ID_MODEL_FROM_DATABASE=RV515/M52 [Mobility Radeon X1300]
+
+pci:v00001002d00007152*
+ ID_MODEL_FROM_DATABASE=RV515 GL [FireGL V3300]
+
+pci:v00001002d00007153*
+ ID_MODEL_FROM_DATABASE=RV515 GL [FireGL V3350]
+
+pci:v00001002d0000715F*
+ ID_MODEL_FROM_DATABASE=RV505 CE [Radeon X1550 64-bit]
+
+pci:v00001002d00007162*
+ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (Secondary)
+
+pci:v00001002d00007162sv00001002sd00000323*
+ ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition (Secondary)
+
+pci:v00001002d00007163*
+ ID_MODEL_FROM_DATABASE=RV505 [Radeon X1550 Series] (Secondary)
+
+pci:v00001002d00007166*
+ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550 Series] (Secondary)
+
+pci:v00001002d00007166sv00001002sd00000323*
+ ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition (Secondary)
+
+pci:v00001002d00007166sv00001545sd00001997*
+ ID_MODEL_FROM_DATABASE=Radeon X1300 512MB PCI-e (Secondary)
+
+pci:v00001002d00007167*
+ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1550 64-bit] (Secondary)
+
+pci:v00001002d00007172*
+ ID_MODEL_FROM_DATABASE=RV515 GL [FireGL V3300] (Secondary)
+
+pci:v00001002d00007173*
+ ID_MODEL_FROM_DATABASE=RV515 GL [FireGL V3350] (Secondary)
+
+pci:v00001002d00007181*
+ ID_MODEL_FROM_DATABASE=RV516 [Radeon X1600/X1650 Series]
+
+pci:v00001002d00007183*
+ ID_MODEL_FROM_DATABASE=RV516 [Radeon X1300/X1550 Series]
+
+pci:v00001002d00007186*
+ ID_MODEL_FROM_DATABASE=RV516/M64 [Mobility Radeon X1450]
+
+pci:v00001002d00007187*
+ ID_MODEL_FROM_DATABASE=RV516 [Radeon X1300/X1550 Series]
+
+pci:v00001002d00007188*
+ ID_MODEL_FROM_DATABASE=RV516/M64-S [Mobility Radeon X2300]
+
+pci:v00001002d00007188sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=6910p
+
+pci:v00001002d0000718A*
+ ID_MODEL_FROM_DATABASE=RV516/M64 [Mobility Radeon X2300]
+
+pci:v00001002d0000718B*
+ ID_MODEL_FROM_DATABASE=RV516/M62 [Mobility Radeon X1350]
+
+pci:v00001002d0000718C*
+ ID_MODEL_FROM_DATABASE=RV516/M62-CSP64 [Mobility Radeon X1350]
+
+pci:v00001002d0000718D*
+ ID_MODEL_FROM_DATABASE=RV516/M64-CSP128 [Mobility Radeon X1450]
+
+pci:v00001002d00007193*
+ ID_MODEL_FROM_DATABASE=RV516 [Radeon X1550 Series]
+
+pci:v00001002d00007196*
+ ID_MODEL_FROM_DATABASE=RV516/M62-S [Mobility Radeon X1350]
+
+pci:v00001002d0000719B*
+ ID_MODEL_FROM_DATABASE=RV516 GL [FireMV 2250]
+
+pci:v00001002d0000719F*
+ ID_MODEL_FROM_DATABASE=RV516 [Radeon X1550 Series]
+
+pci:v00001002d000071A0*
+ ID_MODEL_FROM_DATABASE=RV516 [Radeon X1300/X1550 Series] (Secondary)
+
+pci:v00001002d000071A1*
+ ID_MODEL_FROM_DATABASE=RV516 [Radeon X1600/X1650 Series] (Secondary)
+
+pci:v00001002d000071A3*
+ ID_MODEL_FROM_DATABASE=RV516 [Radeon X1300/X1550 Series] (Secondary)
+
+pci:v00001002d000071A7*
+ ID_MODEL_FROM_DATABASE=RV516 [Radeon X1300/X1550 Series] (Secondary)
+
+pci:v00001002d000071BB*
+ ID_MODEL_FROM_DATABASE=RV516 GL [FireMV 2250] (Secondary)
+
+pci:v00001002d000071C0*
+ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 XT/X1650 GTO]
+
+pci:v00001002d000071C0sv00001002sd0000E160*
+ ID_MODEL_FROM_DATABASE=Radeon X1650 GTO
+
+pci:v00001002d000071C0sv0000174Bsd0000E160*
+ ID_MODEL_FROM_DATABASE=Radeon X1650 GTO
+
+pci:v00001002d000071C1*
+ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO]
+
+pci:v00001002d000071C1sv0000174Bsd00000880*
+ ID_MODEL_FROM_DATABASE=Radeon X1700 FSC
+
+pci:v00001002d000071C2*
+ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 PRO]
+
+pci:v00001002d000071C4*
+ ID_MODEL_FROM_DATABASE=RV530/M56 GL [Mobility FireGL V5200]
+
+pci:v00001002d000071C4sv000017AAsd00002007*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60p
+
+pci:v00001002d000071C5*
+ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600]
+
+pci:v00001002d000071C5sv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00001002d000071C5sv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq NW8440
+
+pci:v00001002d000071C5sv00001043sd000010B2*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v00001002d000071C5sv0000106Bsd00000080*
+ ID_MODEL_FROM_DATABASE=MacBook Pro
+
+pci:v00001002d000071C6*
+ ID_MODEL_FROM_DATABASE=RV530LE [Radeon X1600/X1650 PRO]
+
+pci:v00001002d000071C7*
+ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO]
+
+pci:v00001002d000071C7sv00001787sd00003000*
+ ID_MODEL_FROM_DATABASE=PowerColor X1650 PRO AGP
+
+pci:v00001002d000071CE*
+ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1300 XT/X1600 PRO]
+
+pci:v00001002d000071D2*
+ ID_MODEL_FROM_DATABASE=RV530 GL [FireGL V3400]
+
+pci:v00001002d000071D4*
+ ID_MODEL_FROM_DATABASE=RV530/M66 GL [Mobility FireGL V5250]
+
+pci:v00001002d000071D5*
+ ID_MODEL_FROM_DATABASE=RV530/M66-P [Mobility Radeon X1700]
+
+pci:v00001002d000071D6*
+ ID_MODEL_FROM_DATABASE=RV530/M66-XT [Mobility Radeon X1700]
+
+pci:v00001002d000071DE*
+ ID_MODEL_FROM_DATABASE=RV530/M66 [Mobility Radeon X1700/X2500]
+
+pci:v00001002d000071E0*
+ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary)
+
+pci:v00001002d000071E0sv0000174Bsd0000E161*
+ ID_MODEL_FROM_DATABASE=Radeon X1600 GTO (Secondary)
+
+pci:v00001002d000071E1*
+ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary)
+
+pci:v00001002d000071E1sv0000174Bsd00000881*
+ ID_MODEL_FROM_DATABASE=Radeon X1700 FSC (Secondary)
+
+pci:v00001002d000071E2*
+ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary)
+
+pci:v00001002d000071E6*
+ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1650] (Secondary)
+
+pci:v00001002d000071E7*
+ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary)
+
+pci:v00001002d000071E7sv00001787sd00003001*
+ ID_MODEL_FROM_DATABASE=Radeon X1650 PRO AGP
+
+pci:v00001002d000071F2*
+ ID_MODEL_FROM_DATABASE=RV530 GL [FireGL V3400] (Secondary)
+
+pci:v00001002d00007210*
+ ID_MODEL_FROM_DATABASE=RV550/M71 [Mobility Radeon HD 2300]
+
+pci:v00001002d00007211*
+ ID_MODEL_FROM_DATABASE=RV550/M71 [Mobility Radeon X2300 HD]
+
+pci:v00001002d00007240*
+ ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XTX]
+
+pci:v00001002d00007240sv00001002sd00000D02*
+ ID_MODEL_FROM_DATABASE=Radeon X1950 CrossFire Edition
+
+pci:v00001002d00007244*
+ ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XT]
+
+pci:v00001002d00007248*
+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1950]
+
+pci:v00001002d00007249*
+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT]
+
+pci:v00001002d00007249sv00001002sd00000412*
+ ID_MODEL_FROM_DATABASE=All-In-Wonder X1900
+
+pci:v00001002d00007249sv00001002sd00000B12*
+ ID_MODEL_FROM_DATABASE=Radeon X1900 XT/XTX
+
+pci:v00001002d00007249sv00001002sd00000D02*
+ ID_MODEL_FROM_DATABASE=Radeon X1900 CrossFire Edition
+
+pci:v00001002d00007249sv00001043sd00000160*
+ ID_MODEL_FROM_DATABASE=Radeon X1900 XTX 512 MB GDDR3
+
+pci:v00001002d0000724B*
+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT]
+
+pci:v00001002d0000724Bsv00001002sd00000B12*
+ ID_MODEL_FROM_DATABASE=Radeon X1900 (Primary)
+
+pci:v00001002d0000724Bsv00001002sd00000B13*
+ ID_MODEL_FROM_DATABASE=Radeon X1900 (Secondary)
+
+pci:v00001002d0000724E*
+ ID_MODEL_FROM_DATABASE=R580 GL [FireGL V7350]
+
+pci:v00001002d00007269*
+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (Secondary)
+
+pci:v00001002d0000726B*
+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT] (Secondary)
+
+pci:v00001002d0000726E*
+ ID_MODEL_FROM_DATABASE=R580 [AMD Stream Processor] (Secondary)
+
+pci:v00001002d00007280*
+ ID_MODEL_FROM_DATABASE=RV570 [Radeon X1950 PRO]
+
+pci:v00001002d00007288*
+ ID_MODEL_FROM_DATABASE=RV570 [Radeon X1950 GT]
+
+pci:v00001002d00007291*
+ ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 XT]
+
+pci:v00001002d00007291sv00001462sd00000810*
+ ID_MODEL_FROM_DATABASE=Radeon X1700 SE
+
+pci:v00001002d00007293*
+ ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 GT]
+
+pci:v00001002d000072A0*
+ ID_MODEL_FROM_DATABASE=RV570 [Radeon X1950 PRO] (Secondary)
+
+pci:v00001002d000072A8*
+ ID_MODEL_FROM_DATABASE=RV570 [Radeon X1950 GT] (Secondary)
+
+pci:v00001002d000072B1*
+ ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 XT] (Secondary)
+
+pci:v00001002d000072B3*
+ ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 GT] (Secondary)
+
+pci:v00001002d00007833*
+ ID_MODEL_FROM_DATABASE=RS350 Host Bridge
+
+pci:v00001002d00007834*
+ ID_MODEL_FROM_DATABASE=RS350 [Radeon 9100 PRO/XT IGP]
+
+pci:v00001002d00007835*
+ ID_MODEL_FROM_DATABASE=RS350M [Mobility Radeon 9000 IGP]
+
+pci:v00001002d00007838*
+ ID_MODEL_FROM_DATABASE=RS350 AGP Bridge
+
+pci:v00001002d00007910*
+ ID_MODEL_FROM_DATABASE=RS690 Host Bridge
+
+pci:v00001002d00007910sv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d00007910sv000017F2sd00005000*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d00007911*
+ ID_MODEL_FROM_DATABASE=RS690 Host Bridge
+
+pci:v00001002d00007912*
+ ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (Internal gfx)
+
+pci:v00001002d00007913*
+ ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Graphics Port 0)
+
+pci:v00001002d00007915*
+ ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 1)
+
+pci:v00001002d00007916*
+ ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 2)
+
+pci:v00001002d00007917*
+ ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 3)
+
+pci:v00001002d00007917sv00001002sd00007910*
+ ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge
+
+pci:v00001002d00007919*
+ ID_MODEL_FROM_DATABASE=RS690 HDMI Audio [Radeon Xpress 1200 Series]
+
+pci:v00001002d00007919sv00001179sd00007919*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d00007919sv000017F2sd00005000*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d0000791E*
+ ID_MODEL_FROM_DATABASE=RS690 [Radeon X1200]
+
+pci:v00001002d0000791Esv00001462sd00007327*
+ ID_MODEL_FROM_DATABASE=K9AG Neo2
+
+pci:v00001002d0000791Esv000017F2sd00005000*
+ ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard
+
+pci:v00001002d0000791F*
+ ID_MODEL_FROM_DATABASE=RS690M [Radeon Xpress 1200/1250/1270]
+
+pci:v00001002d0000791Fsv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001002d00007930*
+ ID_MODEL_FROM_DATABASE=RS600 Host Bridge
+
+pci:v00001002d00007932*
+ ID_MODEL_FROM_DATABASE=RS600 PCI to PCI Bridge (Internal gfx)
+
+pci:v00001002d00007933*
+ ID_MODEL_FROM_DATABASE=RS600 PCI to PCI Bridge (PCI Express Graphics Port 0)
+
+pci:v00001002d00007935*
+ ID_MODEL_FROM_DATABASE=RS600 PCI to PCI Bridge (PCI Express Port 1)
+
+pci:v00001002d00007936*
+ ID_MODEL_FROM_DATABASE=RS600 PCI to PCI Bridge (PCI Express Port 2)
+
+pci:v00001002d00007937*
+ ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 3)
+
+pci:v00001002d0000793B*
+ ID_MODEL_FROM_DATABASE=RS600 HDMI Audio [Radeon Xpress 1250]
+
+pci:v00001002d0000793F*
+ ID_MODEL_FROM_DATABASE=RS690M [Radeon Xpress 1200/1250/1270] (Secondary)
+
+pci:v00001002d00007941*
+ ID_MODEL_FROM_DATABASE=RS600 [Radeon Xpress 1250]
+
+pci:v00001002d00007942*
+ ID_MODEL_FROM_DATABASE=RS600M [Radeon Xpress 1250]
+
+pci:v00001002d0000796E*
+ ID_MODEL_FROM_DATABASE=RS740 [Radeon 2100]
+
+pci:v00001002d00009400*
+ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT]
+
+pci:v00001002d00009400sv00001002sd00002552*
+ ID_MODEL_FROM_DATABASE=Radeon HD 2900 XT
+
+pci:v00001002d00009400sv00001002sd00003000*
+ ID_MODEL_FROM_DATABASE=Radeon HD 2900 PRO
+
+pci:v00001002d00009400sv00001002sd00003142*
+ ID_MODEL_FROM_DATABASE=HIS Radeon HD 2900XT 512MB GDDR3 VIVO PCIe
+
+pci:v00001002d00009401*
+ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 XT]
+
+pci:v00001002d00009403*
+ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO]
+
+pci:v00001002d00009405*
+ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 GT]
+
+pci:v00001002d0000940A*
+ ID_MODEL_FROM_DATABASE=R600 GL [FireGL V8650]
+
+pci:v00001002d0000940B*
+ ID_MODEL_FROM_DATABASE=R600 GL [FireGL V8600]
+
+pci:v00001002d0000940F*
+ ID_MODEL_FROM_DATABASE=R600 GL [FireGL V7600]
+
+pci:v00001002d00009440*
+ ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4870]
+
+pci:v00001002d00009441*
+ ID_MODEL_FROM_DATABASE=R700 [Radeon HD 4870 X2]
+
+pci:v00001002d00009442*
+ ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4850]
+
+pci:v00001002d00009442sv00001002sd00000502*
+ ID_MODEL_FROM_DATABASE=MSI Radeon HD 4850 512MB GDDR3
+
+pci:v00001002d00009442sv0000174Bsd0000E810*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon HD 4850 512MB GDDR3
+
+pci:v00001002d00009443*
+ ID_MODEL_FROM_DATABASE=R700 [Radeon HD 4850 X2]
+
+pci:v00001002d00009444*
+ ID_MODEL_FROM_DATABASE=RV770 GL [FirePro V8750]
+
+pci:v00001002d00009446*
+ ID_MODEL_FROM_DATABASE=RV770 GL [FirePro V7760]
+
+pci:v00001002d0000944A*
+ ID_MODEL_FROM_DATABASE=RV770/M98L [Mobility Radeon HD 4850]
+
+pci:v00001002d0000944B*
+ ID_MODEL_FROM_DATABASE=RV770/M98 [Mobility Radeon HD 4850 X2]
+
+pci:v00001002d0000944C*
+ ID_MODEL_FROM_DATABASE=RV770 LE [Radeon HD 4830]
+
+pci:v00001002d0000944E*
+ ID_MODEL_FROM_DATABASE=RV770 CE [Radeon HD 4710]
+
+pci:v00001002d0000944Esv0000174Bsd00003261*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon HD 4810
+
+pci:v00001002d00009450*
+ ID_MODEL_FROM_DATABASE=RV770 GL [FireStream 9270]
+
+pci:v00001002d00009452*
+ ID_MODEL_FROM_DATABASE=RV770 GL [FireStream 9250]
+
+pci:v00001002d00009456*
+ ID_MODEL_FROM_DATABASE=RV770 GL [FirePro V8700]
+
+pci:v00001002d0000945A*
+ ID_MODEL_FROM_DATABASE=RV770/M98-XT [Mobility Radeon HD 4870]
+
+pci:v00001002d00009460*
+ ID_MODEL_FROM_DATABASE=RV790 [Radeon HD 4890]
+
+pci:v00001002d00009462*
+ ID_MODEL_FROM_DATABASE=RV790 [Radeon HD 4860]
+
+pci:v00001002d0000946A*
+ ID_MODEL_FROM_DATABASE=RV770 GL [FirePro M7750]
+
+pci:v00001002d00009480*
+ ID_MODEL_FROM_DATABASE=RV730/M96 [Mobility Radeon HD 4650/5165]
+
+pci:v00001002d00009480sv0000103Csd00003628*
+ ID_MODEL_FROM_DATABASE=ATI Mobility Radeon HD 4650 [dv6-1190en]
+
+pci:v00001002d00009488*
+ ID_MODEL_FROM_DATABASE=RV730/M96-XT [Mobility Radeon HD 4670]
+
+pci:v00001002d00009489*
+ ID_MODEL_FROM_DATABASE=RV730/M96 GL [Mobility FireGL V5725]
+
+pci:v00001002d00009490*
+ ID_MODEL_FROM_DATABASE=RV730 XT [Radeon HD 4670]
+
+pci:v00001002d00009490sv0000174Bsd0000E880*
+ ID_MODEL_FROM_DATABASE=Radeon HD 4670 512MB DDR3
+
+pci:v00001002d00009491*
+ ID_MODEL_FROM_DATABASE=RV730/M96-CSP [Radeon E4690]
+
+pci:v00001002d00009495*
+ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series]
+
+pci:v00001002d00009495sv00001002sd00000028*
+ ID_MODEL_FROM_DATABASE=Radeon HD 4650/4670 AGP
+
+pci:v00001002d00009495sv00001092sd00000028*
+ ID_MODEL_FROM_DATABASE=Radeon HD 4670 AGP 512MB DDR2
+
+pci:v00001002d00009495sv00001458sd00000028*
+ ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP
+
+pci:v00001002d00009495sv00001682sd00000028*
+ ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP
+
+pci:v00001002d00009495sv0000174Bsd00000028*
+ ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP DDR2
+
+pci:v00001002d00009498*
+ ID_MODEL_FROM_DATABASE=RV730 PRO [Radeon HD 4650]
+
+pci:v00001002d0000949C*
+ ID_MODEL_FROM_DATABASE=RV730 GL [FirePro V7750]
+
+pci:v00001002d0000949E*
+ ID_MODEL_FROM_DATABASE=RV730 GL [FirePro V5700]
+
+pci:v00001002d0000949F*
+ ID_MODEL_FROM_DATABASE=RV730 GL [FirePro V3750]
+
+pci:v00001002d000094A0*
+ ID_MODEL_FROM_DATABASE=RV740/M97 [Mobility Radeon HD 4830]
+
+pci:v00001002d000094A1*
+ ID_MODEL_FROM_DATABASE=RV740/M97-XT [Mobility Radeon HD 4860]
+
+pci:v00001002d000094A3*
+ ID_MODEL_FROM_DATABASE=RV740/M97 GL [FirePro M7740]
+
+pci:v00001002d000094B3*
+ ID_MODEL_FROM_DATABASE=RV740 PRO [Radeon HD 4770]
+
+pci:v00001002d000094B4*
+ ID_MODEL_FROM_DATABASE=RV740 PRO [Radeon HD 4750]
+
+pci:v00001002d000094C1*
+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO/XT]
+
+pci:v00001002d000094C1sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00001002d000094C1sv00001028sd00000D02*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00001002d000094C3*
+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO]
+
+pci:v00001002d000094C3sv00001028sd00000302*
+ ID_MODEL_FROM_DATABASE=Radeon HD 2400 Pro
+
+pci:v00001002d000094C3sv0000174Bsd0000E400*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon HD 2400 PRO
+
+pci:v00001002d000094C3sv000018BCsd00003550*
+ ID_MODEL_FROM_DATABASE=GeCube Radeon HD 2400 PRO
+
+pci:v00001002d000094C4*
+ ID_MODEL_FROM_DATABASE=RV610 LE [Radeon HD 2400 PRO AGP]
+
+pci:v00001002d000094C5*
+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 LE]
+
+pci:v00001002d000094C7*
+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2350]
+
+pci:v00001002d000094C8*
+ ID_MODEL_FROM_DATABASE=RV610/M74 [Mobility Radeon HD 2400 XT]
+
+pci:v00001002d000094C9*
+ ID_MODEL_FROM_DATABASE=RV610/M72-S [Mobility Radeon HD 2400]
+
+pci:v00001002d000094C9sv00001002sd000094C9*
+ ID_MODEL_FROM_DATABASE=Radeon HD2400
+
+pci:v00001002d000094CB*
+ ID_MODEL_FROM_DATABASE=RV610 [Radeon E2400]
+
+pci:v00001002d000094CC*
+ ID_MODEL_FROM_DATABASE=RV610 LE [Radeon HD 2400 PRO PCI]
+
+pci:v00001002d00009500*
+ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3850 X2]
+
+pci:v00001002d00009501*
+ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3870]
+
+pci:v00001002d00009501sv0000174Bsd0000E620*
+ ID_MODEL_FROM_DATABASE=Sapphire Radeon HD 3870 PCIe 2.0
+
+pci:v00001002d00009504*
+ ID_MODEL_FROM_DATABASE=RV670/M88 [Mobility Radeon HD 3850]
+
+pci:v00001002d00009505*
+ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850]
+
+pci:v00001002d00009505sv0000148Csd00003000*
+ ID_MODEL_FROM_DATABASE=Radeon HD 3850
+
+pci:v00001002d00009505sv0000174Bsd00003000*
+ ID_MODEL_FROM_DATABASE=Radeon HD 3690/3850
+
+pci:v00001002d00009505sv00001787sd00003000*
+ ID_MODEL_FROM_DATABASE=Radeon HD 3690
+
+pci:v00001002d00009506*
+ ID_MODEL_FROM_DATABASE=RV670/M88 [Mobility Radeon HD 3850 X2]
+
+pci:v00001002d00009507*
+ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3830]
+
+pci:v00001002d00009508*
+ ID_MODEL_FROM_DATABASE=RV670/M88-XT [Mobility Radeon HD 3870]
+
+pci:v00001002d00009509*
+ ID_MODEL_FROM_DATABASE=RV670/M88 [Mobility Radeon HD 3870 X2]
+
+pci:v00001002d0000950F*
+ ID_MODEL_FROM_DATABASE=R680 [Radeon HD 3870 X2]
+
+pci:v00001002d00009511*
+ ID_MODEL_FROM_DATABASE=RV670 GL [FireGL V7700]
+
+pci:v00001002d00009513*
+ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3850 X2]
+
+pci:v00001002d00009515*
+ ID_MODEL_FROM_DATABASE=RV670 PRO [Radeon HD 3850 AGP]
+
+pci:v00001002d00009519*
+ ID_MODEL_FROM_DATABASE=RV670 GL [FireStream 9170]
+
+pci:v00001002d00009540*
+ ID_MODEL_FROM_DATABASE=RV710 [Radeon HD 4550]
+
+pci:v00001002d0000954F*
+ ID_MODEL_FROM_DATABASE=RV710 [Radeon HD 4350/4550]
+
+pci:v00001002d0000954Fsv00001462sd00001618*
+ ID_MODEL_FROM_DATABASE=R4350 MD512H (MS-V161)
+
+pci:v00001002d00009552*
+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550]
+
+pci:v00001002d00009552sv00001028sd00001103*
+ ID_MODEL_FROM_DATABASE=M92 [Mobility Radeon HD 4330]
+
+pci:v00001002d00009552sv00001458sd000021AC*
+ ID_MODEL_FROM_DATABASE=Radeon HD 4350
+
+pci:v00001002d00009552sv00001458sd000021ED*
+ ID_MODEL_FROM_DATABASE=Radeon HD 4550
+
+pci:v00001002d00009552sv0000148Csd00003000*
+ ID_MODEL_FROM_DATABASE=Radeon HD 4350 Go! Green 512MB GDDR3
+
+pci:v00001002d00009552sv0000174Bsd00003000*
+ ID_MODEL_FROM_DATABASE=Radeon HD 4350/4550 HyperMemory DDR2
+
+pci:v00001002d00009553*
+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v]
+
+pci:v00001002d00009553sv00001179sd0000FF82*
+ ID_MODEL_FROM_DATABASE=Satellite L505-13T GPU (Mobility Radeon HD 5145)
+
+pci:v00001002d00009555*
+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4350/4550]
+
+pci:v00001002d00009555sv0000103Csd00001411*
+ ID_MODEL_FROM_DATABASE=ProBook 4720s GPU (Mobility Radeon HD 4350)
+
+pci:v00001002d00009557*
+ ID_MODEL_FROM_DATABASE=RV711 GL [FirePro RG220]
+
+pci:v00001002d0000955F*
+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330]
+
+pci:v00001002d00009580*
+ ID_MODEL_FROM_DATABASE=RV630 [Radeon HD 2600 PRO]
+
+pci:v00001002d00009581*
+ ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600]
+
+pci:v00001002d00009583*
+ ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT/2700]
+
+pci:v00001002d00009583sv0000106Bsd00000083*
+ ID_MODEL_FROM_DATABASE=iMac 7,1
+
+pci:v00001002d00009583sv00001734sd00001107*
+ ID_MODEL_FROM_DATABASE=Mobility Radeon HD 2700
+
+pci:v00001002d00009586*
+ ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT AGP]
+
+pci:v00001002d00009587*
+ ID_MODEL_FROM_DATABASE=RV630 PRO [Radeon HD 2600 PRO AGP]
+
+pci:v00001002d00009588*
+ ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT]
+
+pci:v00001002d00009588sv00001458sd0000216C*
+ ID_MODEL_FROM_DATABASE=Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H)
+
+pci:v00001002d00009589*
+ ID_MODEL_FROM_DATABASE=RV630 PRO [Radeon HD 2600 PRO]
+
+pci:v00001002d00009589sv00001787sd00003000*
+ ID_MODEL_FROM_DATABASE=Radeon HD 3610
+
+pci:v00001002d0000958A*
+ ID_MODEL_FROM_DATABASE=RV630 [Radeon HD 2600 X2]
+
+pci:v00001002d0000958B*
+ ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT]
+
+pci:v00001002d0000958C*
+ ID_MODEL_FROM_DATABASE=RV630 GL [FireGL V5600]
+
+pci:v00001002d0000958D*
+ ID_MODEL_FROM_DATABASE=RV630 GL [FireGL V3600]
+
+pci:v00001002d00009591*
+ ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3650]
+
+pci:v00001002d00009591sv00001002sd00009591*
+ ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3650
+
+pci:v00001002d00009593*
+ ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3670]
+
+pci:v00001002d00009595*
+ ID_MODEL_FROM_DATABASE=RV635/M86 GL [Mobility FireGL V5700]
+
+pci:v00001002d00009596*
+ ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP]
+
+pci:v00001002d00009596sv00001043sd00000028*
+ ID_MODEL_FROM_DATABASE=EAH3650 SILENT/HTDI/512M/A
+
+pci:v00001002d00009597*
+ ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP]
+
+pci:v00001002d00009598*
+ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580]
+
+pci:v00001002d00009598sv00001002sd00009598*
+ ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3600
+
+pci:v00001002d00009598sv00001043sd000001D6*
+ ID_MODEL_FROM_DATABASE=EAH3650 Silent
+
+pci:v00001002d00009598sv00001043sd00003001*
+ ID_MODEL_FROM_DATABASE=Radeon HD 4570
+
+pci:v00001002d00009598sv0000174Bsd00003001*
+ ID_MODEL_FROM_DATABASE=Radeon HD 3750
+
+pci:v00001002d00009598sv0000174Bsd00004580*
+ ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 4580]
+
+pci:v00001002d00009599*
+ ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP]
+
+pci:v00001002d000095C0*
+ ID_MODEL_FROM_DATABASE=RV620 PRO [Radeon HD 3470]
+
+pci:v00001002d000095C0sv00001002sd000095C0*
+ ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3470
+
+pci:v00001002d000095C2*
+ ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3410/3430]
+
+pci:v00001002d000095C4*
+ ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3450/3470]
+
+pci:v00001002d000095C4sv00001002sd000095C4*
+ ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3400
+
+pci:v00001002d000095C5*
+ ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450]
+
+pci:v00001002d000095C5sv00001028sd00000342*
+ ID_MODEL_FROM_DATABASE=OptiPlex 980
+
+pci:v00001002d000095C6*
+ ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450 AGP]
+
+pci:v00001002d000095C9*
+ ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450 PCI]
+
+pci:v00001002d000095CC*
+ ID_MODEL_FROM_DATABASE=RV620 GL [FirePro V3700]
+
+pci:v00001002d000095CF*
+ ID_MODEL_FROM_DATABASE=RV620 GL [FirePro 2260]
+
+pci:v00001002d0000960F*
+ ID_MODEL_FROM_DATABASE=RS780 HDMI Audio [Radeon (HD) 3000 Series]
+
+pci:v00001002d00009610*
+ ID_MODEL_FROM_DATABASE=RS780 [Radeon HD 3200]
+
+pci:v00001002d00009610sv00001458sd0000D000*
+ ID_MODEL_FROM_DATABASE=GA-MA78GM-S2H Motherboard
+
+pci:v00001002d00009611*
+ ID_MODEL_FROM_DATABASE=RS780C [Radeon 3100]
+
+pci:v00001002d00009612*
+ ID_MODEL_FROM_DATABASE=RS780M [Mobility Radeon HD 3200]
+
+pci:v00001002d00009613*
+ ID_MODEL_FROM_DATABASE=RS780MC [Mobility Radeon HD 3100]
+
+pci:v00001002d00009614*
+ ID_MODEL_FROM_DATABASE=RS780D [Radeon HD 3300]
+
+pci:v00001002d00009616*
+ ID_MODEL_FROM_DATABASE=RS780L [Radeon 3000]
+
+pci:v00001002d00009640*
+ ID_MODEL_FROM_DATABASE=BeaverCreek [Radeon HD 6550D]
+
+pci:v00001002d00009641*
+ ID_MODEL_FROM_DATABASE=BeaverCreek [Radeon HD 6620G]
+
+pci:v00001002d00009642*
+ ID_MODEL_FROM_DATABASE=Sumo [Radeon HD 6370D]
+
+pci:v00001002d00009643*
+ ID_MODEL_FROM_DATABASE=Sumo [Radeon HD 6380G]
+
+pci:v00001002d00009644*
+ ID_MODEL_FROM_DATABASE=Sumo [Radeon HD 6410D]
+
+pci:v00001002d00009645*
+ ID_MODEL_FROM_DATABASE=Sumo [Radeon HD 6410D]
+
+pci:v00001002d00009647*
+ ID_MODEL_FROM_DATABASE=BeaverCreek [Radeon HD 6520G]
+
+pci:v00001002d00009648*
+ ID_MODEL_FROM_DATABASE=Sumo [Radeon HD 6480G]
+
+pci:v00001002d00009649*
+ ID_MODEL_FROM_DATABASE=Sumo [Radeon HD 6480G]
+
+pci:v00001002d0000964A*
+ ID_MODEL_FROM_DATABASE=BeaverCreek [Radeon HD 6530D]
+
+pci:v00001002d0000964B*
+ ID_MODEL_FROM_DATABASE=Sumo
+
+pci:v00001002d0000964C*
+ ID_MODEL_FROM_DATABASE=Sumo
+
+pci:v00001002d0000964E*
+ ID_MODEL_FROM_DATABASE=Sumo
+
+pci:v00001002d0000964F*
+ ID_MODEL_FROM_DATABASE=Sumo
+
+pci:v00001002d0000970F*
+ ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series]
+
+pci:v00001002d0000970Fsv00001019sd00002120*
+ ID_MODEL_FROM_DATABASE=A785GM-M
+
+pci:v00001002d0000970Fsv00001043sd000083A2*
+ ID_MODEL_FROM_DATABASE=M4A785TD Motherboard
+
+pci:v00001002d0000970Fsv00001043sd0000843E*
+ ID_MODEL_FROM_DATABASE=M5A88-V EVO
+
+pci:v00001002d00009710*
+ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4200]
+
+pci:v00001002d00009710sv00001019sd00002120*
+ ID_MODEL_FROM_DATABASE=A785GM-M
+
+pci:v00001002d00009710sv00001043sd000083A2*
+ ID_MODEL_FROM_DATABASE=M4A785TD Motherboard
+
+pci:v00001002d00009712*
+ ID_MODEL_FROM_DATABASE=RS880M [Mobility Radeon HD 4225/4250]
+
+pci:v00001002d00009713*
+ ID_MODEL_FROM_DATABASE=RS880M [Mobility Radeon HD 4100]
+
+pci:v00001002d00009714*
+ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4290]
+
+pci:v00001002d00009715*
+ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4250]
+
+pci:v00001002d00009715sv00001043sd0000843E*
+ ID_MODEL_FROM_DATABASE=M5A88-V EVO
+
+pci:v00001002d00009802*
+ ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310]
+
+pci:v00001002d00009802sv0000174Bsd00001001*
+ ID_MODEL_FROM_DATABASE=Sapphire PURE Fusion Mini
+
+pci:v00001002d00009803*
+ ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310]
+
+pci:v00001002d00009804*
+ ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6250]
+
+pci:v00001002d00009805*
+ ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6250]
+
+pci:v00001002d00009806*
+ ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6320]
+
+pci:v00001002d00009807*
+ ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6290]
+
+pci:v00001002d00009808*
+ ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 7340]
+
+pci:v00001002d00009809*
+ ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 7310]
+
+pci:v00001002d0000980A*
+ ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 7290]
+
+pci:v00001002d00009830*
+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400]
+
+pci:v00001002d00009831*
+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400E]
+
+pci:v00001002d00009832*
+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8330]
+
+pci:v00001002d00009833*
+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8330E]
+
+pci:v00001002d00009834*
+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8210]
+
+pci:v00001002d00009835*
+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8310E]
+
+pci:v00001002d00009836*
+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280]
+
+pci:v00001002d00009837*
+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280E]
+
+pci:v00001002d00009838*
+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8240]
+
+pci:v00001002d00009839*
+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8180]
+
+pci:v00001002d0000983A*
+ ID_MODEL_FROM_DATABASE=Kabini
+
+pci:v00001002d0000983B*
+ ID_MODEL_FROM_DATABASE=Kabini
+
+pci:v00001002d0000983C*
+ ID_MODEL_FROM_DATABASE=Kabini
+
+pci:v00001002d0000983D*
+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8250]
+
+pci:v00001002d0000983E*
+ ID_MODEL_FROM_DATABASE=Kabini
+
+pci:v00001002d0000983F*
+ ID_MODEL_FROM_DATABASE=Kabini
+
+pci:v00001002d00009901*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7660D]
+
+pci:v00001002d00009902*
+ ID_MODEL_FROM_DATABASE=Trinity HDMI Audio Controller
+
+pci:v00001002d00009903*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G]
+
+pci:v00001002d00009904*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7560D]
+
+pci:v00001002d00009905*
+ ID_MODEL_FROM_DATABASE=Trinity [FirePro A300 Series Graphics]
+
+pci:v00001002d00009906*
+ ID_MODEL_FROM_DATABASE=Trinity [FirePro A300 Series Graphics]
+
+pci:v00001002d00009907*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7620G]
+
+pci:v00001002d00009908*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7600G]
+
+pci:v00001002d00009909*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7500G]
+
+pci:v00001002d0000990A*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7500G]
+
+pci:v00001002d0000990B*
+ ID_MODEL_FROM_DATABASE=Richland [Radeon HD 8650G]
+
+pci:v00001002d0000990C*
+ ID_MODEL_FROM_DATABASE=Richland [Radeon HD 8670D]
+
+pci:v00001002d0000990D*
+ ID_MODEL_FROM_DATABASE=Richland [Radeon HD 8550G]
+
+pci:v00001002d0000990E*
+ ID_MODEL_FROM_DATABASE=Richland [Radeon HD 8570D]
+
+pci:v00001002d0000990F*
+ ID_MODEL_FROM_DATABASE=Richland [Radeon HD 8610G]
+
+pci:v00001002d00009910*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7660G]
+
+pci:v00001002d00009913*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G]
+
+pci:v00001002d00009917*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7620G]
+
+pci:v00001002d00009918*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7600G]
+
+pci:v00001002d00009919*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7500G]
+
+pci:v00001002d00009990*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7520G]
+
+pci:v00001002d00009991*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7540D]
+
+pci:v00001002d00009992*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7420G]
+
+pci:v00001002d00009993*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7480D]
+
+pci:v00001002d00009994*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7400G]
+
+pci:v00001002d00009995*
+ ID_MODEL_FROM_DATABASE=Richland [Radeon HD 8450G]
+
+pci:v00001002d00009996*
+ ID_MODEL_FROM_DATABASE=Richland [Radeon HD 8470D]
+
+pci:v00001002d00009997*
+ ID_MODEL_FROM_DATABASE=Richland [Radeon HD 8350G]
+
+pci:v00001002d00009998*
+ ID_MODEL_FROM_DATABASE=Richland [Radeon HD 8370D]
+
+pci:v00001002d00009999*
+ ID_MODEL_FROM_DATABASE=Richland [Radeon HD 8510G]
+
+pci:v00001002d0000999A*
+ ID_MODEL_FROM_DATABASE=Richland [Radeon HD 8410G]
+
+pci:v00001002d0000999B*
+ ID_MODEL_FROM_DATABASE=Richland [Radeon HD 8310G]
+
+pci:v00001002d0000999C*
+ ID_MODEL_FROM_DATABASE=Richland
+
+pci:v00001002d0000999D*
+ ID_MODEL_FROM_DATABASE=Richland
+
+pci:v00001002d000099A0*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7520G]
+
+pci:v00001002d000099A2*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7420G]
+
+pci:v00001002d000099A4*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7400G]
+
+pci:v00001002d0000AA00*
+ ID_MODEL_FROM_DATABASE=R600 HDMI Audio [Radeon HD 2900 Series]
+
+pci:v00001002d0000AA08*
+ ID_MODEL_FROM_DATABASE=RV630 HDMI Audio [Radeon HD 2600 Series]
+
+pci:v00001002d0000AA10*
+ ID_MODEL_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series]
+
+pci:v00001002d0000AA10sv0000174Bsd0000AA10*
+ ID_MODEL_FROM_DATABASE=Sapphire HD 2400 PRO audio device
+
+pci:v00001002d0000AA10sv000018BCsd0000AA10*
+ ID_MODEL_FROM_DATABASE=GeCube Radeon HD 2400 PRO HDCP-capable digital-only audio device
+
+pci:v00001002d0000AA18*
+ ID_MODEL_FROM_DATABASE=RV670/680 HDMI Audio [Radeon HD 3690/3800 Series]
+
+pci:v00001002d0000AA20*
+ ID_MODEL_FROM_DATABASE=RV635 HDMI Audio [Radeon HD 3600 Series]
+
+pci:v00001002d0000AA28*
+ ID_MODEL_FROM_DATABASE=RV620 HDMI Audio [Radeon HD 3400 Series]
+
+pci:v00001002d0000AA30*
+ ID_MODEL_FROM_DATABASE=RV770 HDMI Audio [Radeon HD 4850/4870]
+
+pci:v00001002d0000AA30sv0000174Bsd0000AA30*
+ ID_MODEL_FROM_DATABASE=Sapphire HD 4850 512MB GDDR3 PCI-E Dual Slot Fansink
+
+pci:v00001002d0000AA38*
+ ID_MODEL_FROM_DATABASE=RV710/730 HDMI Audio [Radeon HD 4000 series]
+
+pci:v00001002d0000AA38sv0000103Csd00003628*
+ ID_MODEL_FROM_DATABASE=ATI RV710/730 [dv6-1190en]
+
+pci:v00001002d0000AA38sv0000174Bsd0000AA38*
+ ID_MODEL_FROM_DATABASE=R700 Audio Device [Radeon HD 4000 Series]
+
+pci:v00001002d0000AA50*
+ ID_MODEL_FROM_DATABASE=Cypress HDMI Audio [Radeon HD 5800 Series]
+
+pci:v00001002d0000AA58*
+ ID_MODEL_FROM_DATABASE=Juniper HDMI Audio [Radeon HD 5700 Series]
+
+pci:v00001002d0000AA60*
+ ID_MODEL_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series]
+
+pci:v00001002d0000AA60sv00001025sd0000033D*
+ ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650
+
+pci:v00001002d0000AA60sv00001025sd00000347*
+ ID_MODEL_FROM_DATABASE=Aspire 7740G
+
+pci:v00001002d0000AA68*
+ ID_MODEL_FROM_DATABASE=Cedar HDMI Audio [Radeon HD 5400/6300 Series]
+
+pci:v00001002d0000AA68sv00001028sd0000AA68*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00001002d0000AA80*
+ ID_MODEL_FROM_DATABASE=Cayman/Antilles HDMI Audio [Radeon HD 6900 Series]
+
+pci:v00001002d0000AA88*
+ ID_MODEL_FROM_DATABASE=Barts HDMI Audio [Radeon HD 6800 Series]
+
+pci:v00001002d0000AA90*
+ ID_MODEL_FROM_DATABASE=Turks/Whistler HDMI Audio [Radeon HD 6000 Series]
+
+pci:v00001002d0000AA90sv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00001002d0000AA98*
+ ID_MODEL_FROM_DATABASE=Caicos HDMI Audio [Radeon HD 6400 Series]
+
+pci:v00001002d0000AA98sv0000174Bsd0000AA98*
+ ID_MODEL_FROM_DATABASE=Sapphire HD 6450 1GB DDR3
+
+pci:v00001002d0000AAA0*
+ ID_MODEL_FROM_DATABASE=Tahiti XT HDMI Audio [Radeon HD 7970 Series]
+
+pci:v00001002d0000AAB0*
+ ID_MODEL_FROM_DATABASE=Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]
+
+pci:v00001002d0000AC00*
+ ID_MODEL_FROM_DATABASE=Theater 600 Pro
+
+pci:v00001002d0000AC02*
+ ID_MODEL_FROM_DATABASE=TV Wonder HD 600 PCIe
+
+pci:v00001002d0000AC12*
+ ID_MODEL_FROM_DATABASE=Theater HD T507 (DVB-T) TV tuner/capture device
+
+pci:v00001002d0000CAB0*
+ ID_MODEL_FROM_DATABASE=RS100 Host Bridge
+
+pci:v00001002d0000CAB2*
+ ID_MODEL_FROM_DATABASE=RS200 Host Bridge
+
+pci:v00001002d0000CAB3*
+ ID_MODEL_FROM_DATABASE=RS250 Host Bridge
+
+pci:v00001002d0000CBB2*
+ ID_MODEL_FROM_DATABASE=RS200 Host Bridge
+
+pci:v00001003*
+ ID_VENDOR_FROM_DATABASE=ULSI Systems
+
+pci:v00001003d00000201*
+ ID_MODEL_FROM_DATABASE=US201
+
+pci:v00001004*
+ ID_VENDOR_FROM_DATABASE=VLSI Technology Inc
+
+pci:v00001004d00000005*
+ ID_MODEL_FROM_DATABASE=82C592-FC1
+
+pci:v00001004d00000006*
+ ID_MODEL_FROM_DATABASE=82C593-FC1
+
+pci:v00001004d00000007*
+ ID_MODEL_FROM_DATABASE=82C594-AFC2
+
+pci:v00001004d00000008*
+ ID_MODEL_FROM_DATABASE=82C596/7 [Wildcat]
+
+pci:v00001004d00000009*
+ ID_MODEL_FROM_DATABASE=82C597-AFC2
+
+pci:v00001004d0000000C*
+ ID_MODEL_FROM_DATABASE=82C541 [Lynx]
+
+pci:v00001004d0000000D*
+ ID_MODEL_FROM_DATABASE=82C543 [Lynx]
+
+pci:v00001004d00000101*
+ ID_MODEL_FROM_DATABASE=82C532
+
+pci:v00001004d00000102*
+ ID_MODEL_FROM_DATABASE=82C534 [Eagle]
+
+pci:v00001004d00000103*
+ ID_MODEL_FROM_DATABASE=82C538
+
+pci:v00001004d00000104*
+ ID_MODEL_FROM_DATABASE=82C535
+
+pci:v00001004d00000105*
+ ID_MODEL_FROM_DATABASE=82C147
+
+pci:v00001004d00000200*
+ ID_MODEL_FROM_DATABASE=82C975
+
+pci:v00001004d00000280*
+ ID_MODEL_FROM_DATABASE=82C925
+
+pci:v00001004d00000304*
+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio
+
+pci:v00001004d00000304sv00001004sd00000304*
+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio
+
+pci:v00001004d00000304sv0000122Dsd00001206*
+ ID_MODEL_FROM_DATABASE=DSP368 Audio
+
+pci:v00001004d00000304sv00001483sd00005020*
+ ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio
+
+pci:v00001004d00000305*
+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport
+
+pci:v00001004d00000305sv00001004sd00000305*
+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport
+
+pci:v00001004d00000305sv0000122Dsd00001207*
+ ID_MODEL_FROM_DATABASE=DSP368 Audio Gameport
+
+pci:v00001004d00000305sv00001483sd00005021*
+ ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio Gameport
+
+pci:v00001004d00000306*
+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers
+
+pci:v00001004d00000306sv00001004sd00000306*
+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers
+
+pci:v00001004d00000306sv0000122Dsd00001208*
+ ID_MODEL_FROM_DATABASE=DSP368 Audio Support Registers
+
+pci:v00001004d00000306sv00001483sd00005022*
+ ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio Support Registers
+
+pci:v00001004d00000307*
+ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio
+
+pci:v00001004d00000307sv00001004sd00000703*
+ ID_MODEL_FROM_DATABASE=Philips Rhythmic Edge PSC703
+
+pci:v00001004d00000307sv00001004sd00000705*
+ ID_MODEL_FROM_DATABASE=Philips Seismic Edge PSC705
+
+pci:v00001004d00000307sv00001004sd00000706*
+ ID_MODEL_FROM_DATABASE=Philips Acoustic Edge PSC706
+
+pci:v00001004d00000308*
+ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio Gameport
+
+pci:v00001004d00000702*
+ ID_MODEL_FROM_DATABASE=VAS96011 [Golden Gate II]
+
+pci:v00001004d00000703*
+ ID_MODEL_FROM_DATABASE=Tollgate
+
+pci:v00001005*
+ ID_VENDOR_FROM_DATABASE=Avance Logic Inc. [ALI]
+
+pci:v00001005d00002064*
+ ID_MODEL_FROM_DATABASE=ALG2032/2064
+
+pci:v00001005d00002128*
+ ID_MODEL_FROM_DATABASE=ALG2364A
+
+pci:v00001005d00002301*
+ ID_MODEL_FROM_DATABASE=ALG2301
+
+pci:v00001005d00002302*
+ ID_MODEL_FROM_DATABASE=ALG2302
+
+pci:v00001005d00002364*
+ ID_MODEL_FROM_DATABASE=ALG2364
+
+pci:v00001005d00002464*
+ ID_MODEL_FROM_DATABASE=ALG2364A
+
+pci:v00001005d00002501*
+ ID_MODEL_FROM_DATABASE=ALG2564A/25128A
+
+pci:v00001006*
+ ID_VENDOR_FROM_DATABASE=Reply Group
+
+pci:v00001007*
+ ID_VENDOR_FROM_DATABASE=NetFrame Systems Inc
+
+pci:v00001008*
+ ID_VENDOR_FROM_DATABASE=Epson
+
+pci:v0000100A*
+ ID_VENDOR_FROM_DATABASE=Phoenix Technologies
+
+pci:v0000100B*
+ ID_VENDOR_FROM_DATABASE=National Semiconductor Corporation
+
+pci:v0000100Bd00000001*
+ ID_MODEL_FROM_DATABASE=DP83810
+
+pci:v0000100Bd00000002*
+ ID_MODEL_FROM_DATABASE=87415/87560 IDE
+
+pci:v0000100Bd0000000E*
+ ID_MODEL_FROM_DATABASE=87560 Legacy I/O
+
+pci:v0000100Bd0000000F*
+ ID_MODEL_FROM_DATABASE=FireWire Controller
+
+pci:v0000100Bd00000011*
+ ID_MODEL_FROM_DATABASE=NS87560 National PCI System I/O
+
+pci:v0000100Bd00000012*
+ ID_MODEL_FROM_DATABASE=USB Controller
+
+pci:v0000100Bd00000020*
+ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller
+
+pci:v0000100Bd00000020sv0000103Csd00000024*
+ ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Network
+
+pci:v0000100Bd00000020sv000012D9sd0000000C*
+ ID_MODEL_FROM_DATABASE=Aculab E1/T1 PMXc cPCI carrier card
+
+pci:v0000100Bd00000020sv00001385sd0000F311*
+ ID_MODEL_FROM_DATABASE=FA311 / FA312 (FA311 with WoL HW)
+
+pci:v0000100Bd00000020sv00001385sd0000F312*
+ ID_MODEL_FROM_DATABASE=FA312 (rev. A1) Fast Ethernet PCI Adapter
+
+pci:v0000100Bd00000021*
+ ID_MODEL_FROM_DATABASE=PC87200 PCI to ISA Bridge
+
+pci:v0000100Bd00000022*
+ ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller
+
+pci:v0000100Bd00000022sv00001186sd00004900*
+ ID_MODEL_FROM_DATABASE=DGE-500T
+
+pci:v0000100Bd00000022sv00001385sd0000621A*
+ ID_MODEL_FROM_DATABASE=GA621
+
+pci:v0000100Bd00000022sv00001385sd0000622A*
+ ID_MODEL_FROM_DATABASE=GA622T
+
+pci:v0000100Bd00000028*
+ ID_MODEL_FROM_DATABASE=Geode GX2 Host Bridge
+
+pci:v0000100Bd0000002A*
+ ID_MODEL_FROM_DATABASE=CS5535 South Bridge
+
+pci:v0000100Bd0000002B*
+ ID_MODEL_FROM_DATABASE=CS5535 ISA bridge
+
+pci:v0000100Bd0000002D*
+ ID_MODEL_FROM_DATABASE=CS5535 IDE
+
+pci:v0000100Bd0000002E*
+ ID_MODEL_FROM_DATABASE=CS5535 Audio
+
+pci:v0000100Bd0000002F*
+ ID_MODEL_FROM_DATABASE=CS5535 USB
+
+pci:v0000100Bd00000030*
+ ID_MODEL_FROM_DATABASE=Geode GX2 Graphics Processor
+
+pci:v0000100Bd00000035*
+ ID_MODEL_FROM_DATABASE=DP83065 [Saturn] 10/100/1000 Ethernet Controller
+
+pci:v0000100Bd00000500*
+ ID_MODEL_FROM_DATABASE=SCx200 Bridge
+
+pci:v0000100Bd00000501*
+ ID_MODEL_FROM_DATABASE=SCx200 SMI
+
+pci:v0000100Bd00000502*
+ ID_MODEL_FROM_DATABASE=SCx200, SC1100 IDE controller
+
+pci:v0000100Bd00000502sv0000100Bsd00000502*
+ ID_MODEL_FROM_DATABASE=IDE Controller
+
+pci:v0000100Bd00000503*
+ ID_MODEL_FROM_DATABASE=SCx200, SC1100 Audio Controller
+
+pci:v0000100Bd00000503sv0000100Bsd00000503*
+ ID_MODEL_FROM_DATABASE=XpressAudio controller
+
+pci:v0000100Bd00000504*
+ ID_MODEL_FROM_DATABASE=SCx200 Video
+
+pci:v0000100Bd00000505*
+ ID_MODEL_FROM_DATABASE=SCx200 XBus
+
+pci:v0000100Bd00000510*
+ ID_MODEL_FROM_DATABASE=SC1100 Bridge
+
+pci:v0000100Bd00000510sv0000100Bsd00000500*
+ ID_MODEL_FROM_DATABASE=GPIO and LPC support bridge
+
+pci:v0000100Bd00000511*
+ ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI
+
+pci:v0000100Bd00000511sv0000100Bsd00000501*
+ ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI bridge
+
+pci:v0000100Bd00000515*
+ ID_MODEL_FROM_DATABASE=SC1100 XBus
+
+pci:v0000100Bd00000515sv0000100Bsd00000505*
+ ID_MODEL_FROM_DATABASE=SC1100 PCI to XBus bridge
+
+pci:v0000100Bd0000D001*
+ ID_MODEL_FROM_DATABASE=87410 IDE
+
+pci:v0000100C*
+ ID_VENDOR_FROM_DATABASE=Tseng Labs Inc
+
+pci:v0000100Cd00003202*
+ ID_MODEL_FROM_DATABASE=ET4000/W32p rev A
+
+pci:v0000100Cd00003205*
+ ID_MODEL_FROM_DATABASE=ET4000/W32p rev B
+
+pci:v0000100Cd00003206*
+ ID_MODEL_FROM_DATABASE=ET4000/W32p rev C
+
+pci:v0000100Cd00003207*
+ ID_MODEL_FROM_DATABASE=ET4000/W32p rev D
+
+pci:v0000100Cd00003208*
+ ID_MODEL_FROM_DATABASE=ET6000
+
+pci:v0000100Cd00004702*
+ ID_MODEL_FROM_DATABASE=ET6300
+
+pci:v0000100D*
+ ID_VENDOR_FROM_DATABASE=AST Research Inc
+
+pci:v0000100E*
+ ID_VENDOR_FROM_DATABASE=Weitek
+
+pci:v0000100Ed00009000*
+ ID_MODEL_FROM_DATABASE=P9000 Viper
+
+pci:v0000100Ed00009001*
+ ID_MODEL_FROM_DATABASE=P9000 Viper
+
+pci:v0000100Ed00009002*
+ ID_MODEL_FROM_DATABASE=P9000 Viper
+
+pci:v0000100Ed00009100*
+ ID_MODEL_FROM_DATABASE=P9100 Viper Pro/SE
+
+pci:v00001010*
+ ID_VENDOR_FROM_DATABASE=Video Logic, Ltd.
+
+pci:v00001011*
+ ID_VENDOR_FROM_DATABASE=Digital Equipment Corporation
+
+pci:v00001011d00000001*
+ ID_MODEL_FROM_DATABASE=DECchip 21050
+
+pci:v00001011d00000002*
+ ID_MODEL_FROM_DATABASE=DECchip 21040 [Tulip]
+
+pci:v00001011d00000004*
+ ID_MODEL_FROM_DATABASE=DECchip 21030 [TGA]
+
+pci:v00001011d00000007*
+ ID_MODEL_FROM_DATABASE=NVRAM [Zephyr NVRAM]
+
+pci:v00001011d00000008*
+ ID_MODEL_FROM_DATABASE=KZPSA [KZPSA]
+
+pci:v00001011d00000009*
+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet]
+
+pci:v00001011d00000009sv00001025sd00000310*
+ ID_MODEL_FROM_DATABASE=21140 Fast Ethernet
+
+pci:v00001011d00000009sv000010B8sd00002001*
+ ID_MODEL_FROM_DATABASE=SMC9332BDT EtherPower 10/100
+
+pci:v00001011d00000009sv000010B8sd00002002*
+ ID_MODEL_FROM_DATABASE=SMC9332BVT EtherPower T4 10/100
+
+pci:v00001011d00000009sv000010B8sd00002003*
+ ID_MODEL_FROM_DATABASE=SMC9334BDT EtherPower 10/100 (1-port)
+
+pci:v00001011d00000009sv00001109sd00002400*
+ ID_MODEL_FROM_DATABASE=ANA-6944A/TX Fast Ethernet
+
+pci:v00001011d00000009sv00001112sd00002300*
+ ID_MODEL_FROM_DATABASE=RNS2300 Fast Ethernet
+
+pci:v00001011d00000009sv00001112sd00002320*
+ ID_MODEL_FROM_DATABASE=RNS2320 Fast Ethernet
+
+pci:v00001011d00000009sv00001112sd00002340*
+ ID_MODEL_FROM_DATABASE=RNS2340 Fast Ethernet
+
+pci:v00001011d00000009sv00001113sd00001207*
+ ID_MODEL_FROM_DATABASE=EN-1207-TX Fast Ethernet
+
+pci:v00001011d00000009sv00001186sd00001100*
+ ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet
+
+pci:v00001011d00000009sv00001186sd00001112*
+ ID_MODEL_FROM_DATABASE=DFE-570TX Fast Ethernet
+
+pci:v00001011d00000009sv00001186sd00001140*
+ ID_MODEL_FROM_DATABASE=DFE-660 Cardbus Ethernet 10/100
+
+pci:v00001011d00000009sv00001186sd00001142*
+ ID_MODEL_FROM_DATABASE=DFE-660 Cardbus Ethernet 10/100
+
+pci:v00001011d00000009sv000011F6sd00000503*
+ ID_MODEL_FROM_DATABASE=Freedomline Fast Ethernet
+
+pci:v00001011d00000009sv00001282sd00009100*
+ ID_MODEL_FROM_DATABASE=AEF-380TXD Fast Ethernet
+
+pci:v00001011d00000009sv00001385sd00001100*
+ ID_MODEL_FROM_DATABASE=FA310TX Fast Ethernet
+
+pci:v00001011d00000009sv00002646sd00000001*
+ ID_MODEL_FROM_DATABASE=KNE100TX Fast Ethernet
+
+pci:v00001011d0000000A*
+ ID_MODEL_FROM_DATABASE=21230 Video Codec
+
+pci:v00001011d0000000D*
+ ID_MODEL_FROM_DATABASE=PBXGB [TGA2]
+
+pci:v00001011d0000000F*
+ ID_MODEL_FROM_DATABASE=PCI-to-PDQ Interface Chip [PFI]
+
+pci:v00001011d0000000Fsv00001011sd0000DEF1*
+ ID_MODEL_FROM_DATABASE=FDDI controller (DEFPA)
+
+pci:v00001011d0000000Fsv0000103Csd0000DEF1*
+ ID_MODEL_FROM_DATABASE=FDDI controller (3X-DEFPA)
+
+pci:v00001011d00000014*
+ ID_MODEL_FROM_DATABASE=DECchip 21041 [Tulip Pass 3]
+
+pci:v00001011d00000014sv00001186sd00000100*
+ ID_MODEL_FROM_DATABASE=DE-530+
+
+pci:v00001011d00000016*
+ ID_MODEL_FROM_DATABASE=DGLPB [OPPO]
+
+pci:v00001011d00000017*
+ ID_MODEL_FROM_DATABASE=PV-PCI Graphics Controller (ZLXp-L)
+
+pci:v00001011d00000018*
+ ID_MODEL_FROM_DATABASE=Memory Channel interface
+
+pci:v00001011d00000019*
+ ID_MODEL_FROM_DATABASE=DECchip 21142/43
+
+pci:v00001011d00000019sv00001011sd0000500A*
+ ID_MODEL_FROM_DATABASE=DE500A Fast Ethernet
+
+pci:v00001011d00000019sv00001011sd0000500B*
+ ID_MODEL_FROM_DATABASE=DE500B Fast Ethernet
+
+pci:v00001011d00000019sv00001014sd00000001*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus
+
+pci:v00001011d00000019sv00001025sd00000315*
+ ID_MODEL_FROM_DATABASE=ALN315 Fast Ethernet
+
+pci:v00001011d00000019sv00001033sd0000800C*
+ ID_MODEL_FROM_DATABASE=PC-9821-CS01 100BASE-TX Interface Card
+
+pci:v00001011d00000019sv00001033sd0000800D*
+ ID_MODEL_FROM_DATABASE=PC-9821NR-B06 100BASE-TX Interface Card
+
+pci:v00001011d00000019sv0000103Csd0000125A*
+ ID_MODEL_FROM_DATABASE=10/100Base-TX (PCI) [A5506B]
+
+pci:v00001011d00000019sv0000108Dsd00000016*
+ ID_MODEL_FROM_DATABASE=Rapidfire 2327 10/100 Ethernet
+
+pci:v00001011d00000019sv0000108Dsd00000017*
+ ID_MODEL_FROM_DATABASE=GoCard 2250 Ethernet 10/100 Cardbus
+
+pci:v00001011d00000019sv000010B8sd00002005*
+ ID_MODEL_FROM_DATABASE=SMC8032DT Extreme Ethernet 10/100
+
+pci:v00001011d00000019sv000010B8sd00008034*
+ ID_MODEL_FROM_DATABASE=SMC8034 Extreme Ethernet 10/100
+
+pci:v00001011d00000019sv000010EFsd00008169*
+ ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet
+
+pci:v00001011d00000019sv00001109sd00002A00*
+ ID_MODEL_FROM_DATABASE=ANA-6911A/TX Fast Ethernet
+
+pci:v00001011d00000019sv00001109sd00002B00*
+ ID_MODEL_FROM_DATABASE=ANA-6911A/TXC Fast Ethernet
+
+pci:v00001011d00000019sv00001109sd00003000*
+ ID_MODEL_FROM_DATABASE=ANA-6922/TX Fast Ethernet
+
+pci:v00001011d00000019sv00001113sd00001207*
+ ID_MODEL_FROM_DATABASE=Cheetah Fast Ethernet
+
+pci:v00001011d00000019sv00001113sd00002220*
+ ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet
+
+pci:v00001011d00000019sv0000115Dsd00000002*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v00001011d00000019sv00001179sd00000203*
+ ID_MODEL_FROM_DATABASE=Fast Ethernet
+
+pci:v00001011d00000019sv00001179sd00000204*
+ ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet
+
+pci:v00001011d00000019sv00001186sd00001100*
+ ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet
+
+pci:v00001011d00000019sv00001186sd00001101*
+ ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet
+
+pci:v00001011d00000019sv00001186sd00001102*
+ ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet
+
+pci:v00001011d00000019sv00001186sd00001112*
+ ID_MODEL_FROM_DATABASE=DFE-570TX Quad Fast Ethernet
+
+pci:v00001011d00000019sv00001259sd00002800*
+ ID_MODEL_FROM_DATABASE=AT-2800Tx Fast Ethernet
+
+pci:v00001011d00000019sv00001266sd00000004*
+ ID_MODEL_FROM_DATABASE=Eagle Fast EtherMAX
+
+pci:v00001011d00000019sv000012AFsd00000019*
+ ID_MODEL_FROM_DATABASE=NetFlyer Cardbus Fast Ethernet
+
+pci:v00001011d00000019sv00001374sd00000001*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100
+
+pci:v00001011d00000019sv00001374sd00000002*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100
+
+pci:v00001011d00000019sv00001374sd00000007*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100
+
+pci:v00001011d00000019sv00001374sd00000008*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100
+
+pci:v00001011d00000019sv00001385sd00002100*
+ ID_MODEL_FROM_DATABASE=FA510
+
+pci:v00001011d00000019sv00001395sd00000001*
+ ID_MODEL_FROM_DATABASE=10/100 Ethernet CardBus PC Card
+
+pci:v00001011d00000019sv000013D1sd0000AB01*
+ ID_MODEL_FROM_DATABASE=EtherFast 10/100 Cardbus (PCMPC200)
+
+pci:v00001011d00000019sv00001498sd0000000A*
+ ID_MODEL_FROM_DATABASE=TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter
+
+pci:v00001011d00000019sv00001498sd0000000B*
+ ID_MODEL_FROM_DATABASE=TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter
+
+pci:v00001011d00000019sv00001498sd0000000C*
+ ID_MODEL_FROM_DATABASE=TPMC880-12 Single 10Base2 PMC Ethernet Adapter
+
+pci:v00001011d00000019sv000014CBsd00000100*
+ ID_MODEL_FROM_DATABASE=LNDL-100N 100Base-TX Ethernet PC Card
+
+pci:v00001011d00000019sv00001668sd00002000*
+ ID_MODEL_FROM_DATABASE=FastNet Pro (PE2000)
+
+pci:v00001011d00000019sv00002646sd00000001*
+ ID_MODEL_FROM_DATABASE=KNE100TX
+
+pci:v00001011d00000019sv00002646sd00000002*
+ ID_MODEL_FROM_DATABASE=KNE-CB4TX
+
+pci:v00001011d00000019sv00008086sd00000001*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32
+
+pci:v00001011d0000001A*
+ ID_MODEL_FROM_DATABASE=Farallon PN9000SX Gigabit Ethernet
+
+pci:v00001011d00000021*
+ ID_MODEL_FROM_DATABASE=DECchip 21052
+
+pci:v00001011d00000022*
+ ID_MODEL_FROM_DATABASE=DECchip 21150
+
+pci:v00001011d00000023*
+ ID_MODEL_FROM_DATABASE=DECchip 21150
+
+pci:v00001011d00000024*
+ ID_MODEL_FROM_DATABASE=DECchip 21152
+
+pci:v00001011d00000025*
+ ID_MODEL_FROM_DATABASE=DECchip 21153
+
+pci:v00001011d00000026*
+ ID_MODEL_FROM_DATABASE=DECchip 21154
+
+pci:v00001011d00000034*
+ ID_MODEL_FROM_DATABASE=56k Modem Cardbus
+
+pci:v00001011d00000034sv00001374sd00000003*
+ ID_MODEL_FROM_DATABASE=56k Modem Cardbus
+
+pci:v00001011d00000045*
+ ID_MODEL_FROM_DATABASE=DECchip 21553
+
+pci:v00001011d00000046*
+ ID_MODEL_FROM_DATABASE=DECchip 21554
+
+pci:v00001011d00000046sv00000E11sd00004050*
+ ID_MODEL_FROM_DATABASE=Smart Array 4200 Controller
+
+pci:v00001011d00000046sv00000E11sd00004051*
+ ID_MODEL_FROM_DATABASE=Smart Array 4250ES Controller
+
+pci:v00001011d00000046sv00000E11sd00004058*
+ ID_MODEL_FROM_DATABASE=Smart Array 431 Controller
+
+pci:v00001011d00000046sv0000103Csd000010C2*
+ ID_MODEL_FROM_DATABASE=NetRAID-4M
+
+pci:v00001011d00000046sv000012D9sd0000000A*
+ ID_MODEL_FROM_DATABASE=IP Telephony card
+
+pci:v00001011d00000046sv00004C53sd00001050*
+ ID_MODEL_FROM_DATABASE=CT7 mainboard
+
+pci:v00001011d00000046sv00004C53sd00001051*
+ ID_MODEL_FROM_DATABASE=CE7 mainboard
+
+pci:v00001011d00000046sv00009005sd00000364*
+ ID_MODEL_FROM_DATABASE=5400S (Mustang)
+
+pci:v00001011d00000046sv00009005sd00000365*
+ ID_MODEL_FROM_DATABASE=5400S (Mustang)
+
+pci:v00001011d00000046sv00009005sd00001364*
+ ID_MODEL_FROM_DATABASE=Dell PowerEdge RAID Controller 2
+
+pci:v00001011d00000046sv00009005sd00001365*
+ ID_MODEL_FROM_DATABASE=Dell PowerEdge RAID Controller 2
+
+pci:v00001011d00000046sv0000E4BFsd00001000*
+ ID_MODEL_FROM_DATABASE=CC8-1-BLUES
+
+pci:v00001011d00001065*
+ ID_MODEL_FROM_DATABASE=StrongARM DC21285
+
+pci:v00001011d00001065sv00001069sd00000020*
+ ID_MODEL_FROM_DATABASE=DAC960P / DAC1164P
+
+pci:v00001012*
+ ID_VENDOR_FROM_DATABASE=Micronics Computers Inc
+
+pci:v00001013*
+ ID_VENDOR_FROM_DATABASE=Cirrus Logic
+
+pci:v00001013d00000038*
+ ID_MODEL_FROM_DATABASE=GD 7548
+
+pci:v00001013d00000040*
+ ID_MODEL_FROM_DATABASE=GD 7555 Flat Panel GUI Accelerator
+
+pci:v00001013d0000004C*
+ ID_MODEL_FROM_DATABASE=GD 7556 Video/Graphics LCD/CRT Ctrlr
+
+pci:v00001013d000000A0*
+ ID_MODEL_FROM_DATABASE=GD 5430/40 [Alpine]
+
+pci:v00001013d000000A2*
+ ID_MODEL_FROM_DATABASE=GD 5432 [Alpine]
+
+pci:v00001013d000000A4*
+ ID_MODEL_FROM_DATABASE=GD 5434-4 [Alpine]
+
+pci:v00001013d000000A8*
+ ID_MODEL_FROM_DATABASE=GD 5434-8 [Alpine]
+
+pci:v00001013d000000AC*
+ ID_MODEL_FROM_DATABASE=GD 5436 [Alpine]
+
+pci:v00001013d000000B0*
+ ID_MODEL_FROM_DATABASE=GD 5440
+
+pci:v00001013d000000B8*
+ ID_MODEL_FROM_DATABASE=GD 5446
+
+pci:v00001013d000000BC*
+ ID_MODEL_FROM_DATABASE=GD 5480
+
+pci:v00001013d000000BCsv00001013sd000000BC*
+ ID_MODEL_FROM_DATABASE=CL-GD5480
+
+pci:v00001013d000000D0*
+ ID_MODEL_FROM_DATABASE=GD 5462
+
+pci:v00001013d000000D2*
+ ID_MODEL_FROM_DATABASE=GD 5462 [Laguna I]
+
+pci:v00001013d000000D4*
+ ID_MODEL_FROM_DATABASE=GD 5464 [Laguna]
+
+pci:v00001013d000000D5*
+ ID_MODEL_FROM_DATABASE=GD 5464 BD [Laguna]
+
+pci:v00001013d000000D6*
+ ID_MODEL_FROM_DATABASE=GD 5465 [Laguna]
+
+pci:v00001013d000000D6sv000013CEsd00008031*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 2 Megapixel, Dual Head
+
+pci:v00001013d000000D6sv000013CFsd00008031*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 2 Megapixel, Dual Head
+
+pci:v00001013d000000E8*
+ ID_MODEL_FROM_DATABASE=GD 5436U
+
+pci:v00001013d00001100*
+ ID_MODEL_FROM_DATABASE=CL 6729
+
+pci:v00001013d00001110*
+ ID_MODEL_FROM_DATABASE=PD 6832 PCMCIA/CardBus Ctrlr
+
+pci:v00001013d00001112*
+ ID_MODEL_FROM_DATABASE=PD 6834 PCMCIA/CardBus Ctrlr
+
+pci:v00001013d00001113*
+ ID_MODEL_FROM_DATABASE=PD 6833 PCMCIA/CardBus Ctrlr
+
+pci:v00001013d00001200*
+ ID_MODEL_FROM_DATABASE=GD 7542 [Nordic]
+
+pci:v00001013d00001202*
+ ID_MODEL_FROM_DATABASE=GD 7543 [Viking]
+
+pci:v00001013d00001204*
+ ID_MODEL_FROM_DATABASE=GD 7541 [Nordic Light]
+
+pci:v00001013d00004000*
+ ID_MODEL_FROM_DATABASE=MD 5620 [CLM Data Fax Voice]
+
+pci:v00001013d00004400*
+ ID_MODEL_FROM_DATABASE=CD 4400
+
+pci:v00001013d00006001*
+ ID_MODEL_FROM_DATABASE=CS 4610/11 [CrystalClear SoundFusion Audio Accelerator]
+
+pci:v00001013d00006001sv00001014sd00001010*
+ ID_MODEL_FROM_DATABASE=CS4610 SoundFusion Audio Accelerator
+
+pci:v00001013d00006003*
+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator]
+
+pci:v00001013d00006003sv00001013sd00004280*
+ ID_MODEL_FROM_DATABASE=Crystal SoundFusion PCI Audio Accelerator
+
+pci:v00001013d00006003sv00001014sd00000153*
+ ID_MODEL_FROM_DATABASE=ThinkPad 600X/A20m
+
+pci:v00001013d00006003sv0000153Bsd0000112E*
+ ID_MODEL_FROM_DATABASE=DMX XFire 1024
+
+pci:v00001013d00006003sv0000153Bsd00001136*
+ ID_MODEL_FROM_DATABASE=SiXPack 5.1+
+
+pci:v00001013d00006003sv00001681sd00000050*
+ ID_MODEL_FROM_DATABASE=Game Theater XP
+
+pci:v00001013d00006003sv00001681sd0000A010*
+ ID_MODEL_FROM_DATABASE=Gamesurround Fortissimo II
+
+pci:v00001013d00006003sv00001681sd0000A011*
+ ID_MODEL_FROM_DATABASE=Gamesurround Fortissimo III 7.1
+
+pci:v00001013d00006003sv00005053sd00003357*
+ ID_MODEL_FROM_DATABASE=Santa Cruz
+
+pci:v00001013d00006004*
+ ID_MODEL_FROM_DATABASE=CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator]
+
+pci:v00001013d00006005*
+ ID_MODEL_FROM_DATABASE=Crystal CS4281 PCI Audio
+
+pci:v00001013d00006005sv00001013sd00004281*
+ ID_MODEL_FROM_DATABASE=Crystal CS4281 PCI Audio
+
+pci:v00001013d00006005sv000010CFsd000010A8*
+ ID_MODEL_FROM_DATABASE=Crystal CS4281 PCI Audio
+
+pci:v00001013d00006005sv000010CFsd000010A9*
+ ID_MODEL_FROM_DATABASE=Crystal CS4281 PCI Audio
+
+pci:v00001013d00006005sv000010CFsd000010AA*
+ ID_MODEL_FROM_DATABASE=Crystal CS4281 PCI Audio
+
+pci:v00001013d00006005sv000010CFsd000010AB*
+ ID_MODEL_FROM_DATABASE=Crystal CS4281 PCI Audio
+
+pci:v00001013d00006005sv000010CFsd000010AC*
+ ID_MODEL_FROM_DATABASE=Crystal CS4281 PCI Audio
+
+pci:v00001013d00006005sv000010CFsd000010AD*
+ ID_MODEL_FROM_DATABASE=Crystal CS4281 PCI Audio
+
+pci:v00001013d00006005sv000010CFsd000010B4*
+ ID_MODEL_FROM_DATABASE=Crystal CS4281 PCI Audio
+
+pci:v00001013d00006005sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Crystal CS4281 PCI Audio
+
+pci:v00001013d00006005sv000014C0sd0000000C*
+ ID_MODEL_FROM_DATABASE=Crystal CS4281 PCI Audio
+
+pci:v00001014*
+ ID_VENDOR_FROM_DATABASE=IBM
+
+pci:v00001014d00000002*
+ ID_MODEL_FROM_DATABASE=PCI to MCA Bridge
+
+pci:v00001014d00000005*
+ ID_MODEL_FROM_DATABASE=Processor to I/O Controller [Alta Lite]
+
+pci:v00001014d00000007*
+ ID_MODEL_FROM_DATABASE=Processor to I/O Controller [Alta MP]
+
+pci:v00001014d0000000A*
+ ID_MODEL_FROM_DATABASE=PCI to ISA Bridge (IBM27-82376) [Fire Coral]
+
+pci:v00001014d00000017*
+ ID_MODEL_FROM_DATABASE=CPU to PCI Bridge
+
+pci:v00001014d00000018*
+ ID_MODEL_FROM_DATABASE=TR Auto LANstreamer
+
+pci:v00001014d0000001B*
+ ID_MODEL_FROM_DATABASE=GXT-150P
+
+pci:v00001014d0000001C*
+ ID_MODEL_FROM_DATABASE=Carrera
+
+pci:v00001014d0000001D*
+ ID_MODEL_FROM_DATABASE=SCSI-2 FAST PCI Adapter (82G2675)
+
+pci:v00001014d00000020*
+ ID_MODEL_FROM_DATABASE=GXT1000 Graphics Adapter
+
+pci:v00001014d00000022*
+ ID_MODEL_FROM_DATABASE=PCI to PCI Bridge (IBM27-82351)
+
+pci:v00001014d0000002D*
+ ID_MODEL_FROM_DATABASE=Processor to I/O Controller [Python]
+
+pci:v00001014d0000002E*
+ ID_MODEL_FROM_DATABASE=SCSI RAID Adapter [ServeRAID]
+
+pci:v00001014d0000002Esv00001014sd0000002E*
+ ID_MODEL_FROM_DATABASE=ServeRAID-3x
+
+pci:v00001014d0000002Esv00001014sd0000022E*
+ ID_MODEL_FROM_DATABASE=ServeRAID-4H
+
+pci:v00001014d00000031*
+ ID_MODEL_FROM_DATABASE=2 Port Serial Adapter
+
+pci:v00001014d00000031sv00001014sd00000031*
+ ID_MODEL_FROM_DATABASE=2721 WAN IOA - 2 Port Sync Serial Adapter
+
+pci:v00001014d00000036*
+ ID_MODEL_FROM_DATABASE=PCI to 32-bit LocalBus Bridge [Miami]
+
+pci:v00001014d00000037*
+ ID_MODEL_FROM_DATABASE=PowerPC to PCI Bridge (IBM27-82660)
+
+pci:v00001014d0000003A*
+ ID_MODEL_FROM_DATABASE=CPU to PCI Bridge
+
+pci:v00001014d0000003C*
+ ID_MODEL_FROM_DATABASE=GXT250P/GXT255P Graphics Adapter
+
+pci:v00001014d0000003E*
+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller
+
+pci:v00001014d0000003Esv00001014sd0000003E*
+ ID_MODEL_FROM_DATABASE=Token-Ring Adapter
+
+pci:v00001014d0000003Esv00001014sd000000CD*
+ ID_MODEL_FROM_DATABASE=Token-Ring Adapter + Wake-On-LAN
+
+pci:v00001014d0000003Esv00001014sd000000CE*
+ ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter 2
+
+pci:v00001014d0000003Esv00001014sd000000CF*
+ ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter Special
+
+pci:v00001014d0000003Esv00001014sd000000E4*
+ ID_MODEL_FROM_DATABASE=High-Speed 100/16/4 Token-Ring Adapter
+
+pci:v00001014d0000003Esv00001014sd000000E5*
+ ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter 2 + Wake-On-LAN
+
+pci:v00001014d0000003Esv00001014sd0000016D*
+ ID_MODEL_FROM_DATABASE=iSeries 2744 Card
+
+pci:v00001014d00000045*
+ ID_MODEL_FROM_DATABASE=SSA Adapter
+
+pci:v00001014d00000046*
+ ID_MODEL_FROM_DATABASE=MPIC interrupt controller
+
+pci:v00001014d00000047*
+ ID_MODEL_FROM_DATABASE=PCI to PCI Bridge
+
+pci:v00001014d00000048*
+ ID_MODEL_FROM_DATABASE=PCI to PCI Bridge
+
+pci:v00001014d00000049*
+ ID_MODEL_FROM_DATABASE=Warhead SCSI Controller
+
+pci:v00001014d0000004E*
+ ID_MODEL_FROM_DATABASE=ATM Controller (14104e00)
+
+pci:v00001014d0000004F*
+ ID_MODEL_FROM_DATABASE=ATM Controller (14104f00)
+
+pci:v00001014d00000050*
+ ID_MODEL_FROM_DATABASE=ATM Controller (14105000)
+
+pci:v00001014d00000053*
+ ID_MODEL_FROM_DATABASE=25 MBit ATM Controller
+
+pci:v00001014d00000054*
+ ID_MODEL_FROM_DATABASE=GXT500P/GXT550P Graphics Adapter
+
+pci:v00001014d00000057*
+ ID_MODEL_FROM_DATABASE=MPEG PCI Bridge
+
+pci:v00001014d00000058*
+ ID_MODEL_FROM_DATABASE=SSA Adapter [Advanced SerialRAID/X]
+
+pci:v00001014d0000005E*
+ ID_MODEL_FROM_DATABASE=GXT800P Graphics Adapter
+
+pci:v00001014d0000007C*
+ ID_MODEL_FROM_DATABASE=ATM Controller (14107c00)
+
+pci:v00001014d0000007D*
+ ID_MODEL_FROM_DATABASE=3780IDSP [MWave]
+
+pci:v00001014d0000008B*
+ ID_MODEL_FROM_DATABASE=EADS PCI to PCI Bridge
+
+pci:v00001014d0000008E*
+ ID_MODEL_FROM_DATABASE=GXT3000P Graphics Adapter
+
+pci:v00001014d00000090*
+ ID_MODEL_FROM_DATABASE=GXT 3000P
+
+pci:v00001014d00000090sv00001014sd0000008E*
+ ID_MODEL_FROM_DATABASE=GXT-3000P
+
+pci:v00001014d00000091*
+ ID_MODEL_FROM_DATABASE=SSA Adapter
+
+pci:v00001014d00000095*
+ ID_MODEL_FROM_DATABASE=20H2999 PCI Docking Bridge
+
+pci:v00001014d00000096*
+ ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller
+
+pci:v00001014d00000096sv00001014sd00000097*
+ ID_MODEL_FROM_DATABASE=iSeries 2778 DASD IOA
+
+pci:v00001014d00000096sv00001014sd00000098*
+ ID_MODEL_FROM_DATABASE=iSeries 2763 DASD IOA
+
+pci:v00001014d00000096sv00001014sd00000099*
+ ID_MODEL_FROM_DATABASE=iSeries 2748 DASD IOA
+
+pci:v00001014d0000009F*
+ ID_MODEL_FROM_DATABASE=PCI 4758 Cryptographic Accelerator
+
+pci:v00001014d000000A5*
+ ID_MODEL_FROM_DATABASE=ATM Controller (1410a500)
+
+pci:v00001014d000000A6*
+ ID_MODEL_FROM_DATABASE=ATM 155MBPS MM Controller (1410a600)
+
+pci:v00001014d000000B7*
+ ID_MODEL_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1]
+
+pci:v00001014d000000B7sv00001092sd000000B8*
+ ID_MODEL_FROM_DATABASE=FireGL1 AGP 32Mb
+
+pci:v00001014d000000B8*
+ ID_MODEL_FROM_DATABASE=GXT2000P Graphics Adapter
+
+pci:v00001014d000000BE*
+ ID_MODEL_FROM_DATABASE=ATM 622MBPS Controller (1410be00)
+
+pci:v00001014d000000DC*
+ ID_MODEL_FROM_DATABASE=Advanced Systems Management Adapter (ASMA)
+
+pci:v00001014d000000FC*
+ ID_MODEL_FROM_DATABASE=CPC710 Dual Bridge and Memory Controller (PCI-64)
+
+pci:v00001014d00000105*
+ ID_MODEL_FROM_DATABASE=CPC710 Dual Bridge and Memory Controller (PCI-32)
+
+pci:v00001014d0000010F*
+ ID_MODEL_FROM_DATABASE=Remote Supervisor Adapter (RSA)
+
+pci:v00001014d00000142*
+ ID_MODEL_FROM_DATABASE=Yotta Video Compositor Input
+
+pci:v00001014d00000142sv00001014sd00000143*
+ ID_MODEL_FROM_DATABASE=Yotta Input Controller (ytin)
+
+pci:v00001014d00000144*
+ ID_MODEL_FROM_DATABASE=Yotta Video Compositor Output
+
+pci:v00001014d00000144sv00001014sd00000145*
+ ID_MODEL_FROM_DATABASE=Yotta Output Controller (ytout)
+
+pci:v00001014d00000156*
+ ID_MODEL_FROM_DATABASE=405GP PLB to PCI Bridge
+
+pci:v00001014d0000015E*
+ ID_MODEL_FROM_DATABASE=622Mbps ATM PCI Adapter
+
+pci:v00001014d00000160*
+ ID_MODEL_FROM_DATABASE=64bit/66MHz PCI ATM 155 MMF
+
+pci:v00001014d0000016E*
+ ID_MODEL_FROM_DATABASE=GXT4000P Graphics Adapter
+
+pci:v00001014d00000170*
+ ID_MODEL_FROM_DATABASE=GXT6000P Graphics Adapter
+
+pci:v00001014d0000017D*
+ ID_MODEL_FROM_DATABASE=GXT300P Graphics Adapter
+
+pci:v00001014d00000180*
+ ID_MODEL_FROM_DATABASE=Snipe chipset SCSI controller
+
+pci:v00001014d00000180sv00001014sd00000241*
+ ID_MODEL_FROM_DATABASE=iSeries 2757 DASD IOA
+
+pci:v00001014d00000180sv00001014sd00000264*
+ ID_MODEL_FROM_DATABASE=Quad Channel PCI-X U320 SCSI RAID Adapter (2780)
+
+pci:v00001014d00000188*
+ ID_MODEL_FROM_DATABASE=EADS-X PCI-X to PCI-X Bridge
+
+pci:v00001014d000001A7*
+ ID_MODEL_FROM_DATABASE=PCI-X to PCI-X Bridge
+
+pci:v00001014d000001BD*
+ ID_MODEL_FROM_DATABASE=ServeRAID Controller
+
+pci:v00001014d000001BDsv00001014sd000001BD*
+ ID_MODEL_FROM_DATABASE=ServeRAID 4Lx
+
+pci:v00001014d000001BDsv00001014sd000001BE*
+ ID_MODEL_FROM_DATABASE=ServeRAID-4M
+
+pci:v00001014d000001BDsv00001014sd000001BF*
+ ID_MODEL_FROM_DATABASE=ServeRAID-4L
+
+pci:v00001014d000001BDsv00001014sd00000208*
+ ID_MODEL_FROM_DATABASE=ServeRAID-4Mx
+
+pci:v00001014d000001BDsv00001014sd0000020E*
+ ID_MODEL_FROM_DATABASE=ServeRAID-4Lx
+
+pci:v00001014d000001BDsv00001014sd0000022E*
+ ID_MODEL_FROM_DATABASE=ServeRAID-4H
+
+pci:v00001014d000001BDsv00001014sd00000258*
+ ID_MODEL_FROM_DATABASE=ServeRAID-5i
+
+pci:v00001014d000001BDsv00001014sd00000259*
+ ID_MODEL_FROM_DATABASE=ServeRAID-5i
+
+pci:v00001014d000001C1*
+ ID_MODEL_FROM_DATABASE=64bit/66MHz PCI ATM 155 UTP
+
+pci:v00001014d000001E6*
+ ID_MODEL_FROM_DATABASE=Cryptographic Accelerator
+
+pci:v00001014d000001EF*
+ ID_MODEL_FROM_DATABASE=PowerPC 440GP PCI Bridge
+
+pci:v00001014d000001EFsv00001734sd0000102B*
+ ID_MODEL_FROM_DATABASE=PCEAS PCI-X Dual Port ESCON Adapter
+
+pci:v00001014d000001EFsv00001734sd000010F8*
+ ID_MODEL_FROM_DATABASE=PCEAT PCI-Express Dual Port ESCON Adapter
+
+pci:v00001014d000001FF*
+ ID_MODEL_FROM_DATABASE=10/100 Mbps Ethernet
+
+pci:v00001014d00000219*
+ ID_MODEL_FROM_DATABASE=Multiport Serial Adapter
+
+pci:v00001014d00000219sv00001014sd0000021A*
+ ID_MODEL_FROM_DATABASE=Dual RVX
+
+pci:v00001014d00000219sv00001014sd00000251*
+ ID_MODEL_FROM_DATABASE=Internal Modem/RVX
+
+pci:v00001014d00000219sv00001014sd00000252*
+ ID_MODEL_FROM_DATABASE=Quad Internal Modem
+
+pci:v00001014d0000021B*
+ ID_MODEL_FROM_DATABASE=GXT6500P Graphics Adapter
+
+pci:v00001014d0000021C*
+ ID_MODEL_FROM_DATABASE=GXT4500P Graphics Adapter
+
+pci:v00001014d00000233*
+ ID_MODEL_FROM_DATABASE=GXT135P Graphics Adapter
+
+pci:v00001014d0000028C*
+ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller
+
+pci:v00001014d0000028Csv00001014sd0000028D*
+ ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR SAS RAID Adapter (572E)
+
+pci:v00001014d0000028Csv00001014sd000002BE*
+ ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B)
+
+pci:v00001014d0000028Csv00001014sd000002C0*
+ ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR U320 SCSI Adapter (571A)
+
+pci:v00001014d0000028Csv00001014sd0000030D*
+ ID_MODEL_FROM_DATABASE=PCI-X DDR Auxiliary Cache Adapter (575B)
+
+pci:v00001014d000002A1*
+ ID_MODEL_FROM_DATABASE=Calgary PCI-X Host Bridge
+
+pci:v00001014d000002BD*
+ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller
+
+pci:v00001014d000002BDsv00001014sd000002C1*
+ ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS Adapter (572A/572C)
+
+pci:v00001014d000002BDsv00001014sd000002C2*
+ ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572B/571D)
+
+pci:v00001014d000002BDsv00001014sd00000338*
+ ID_MODEL_FROM_DATABASE=PCI-X DDR Auxiliary Cache Adapter (575C)
+
+pci:v00001014d00000302*
+ ID_MODEL_FROM_DATABASE=Winnipeg PCI-X Host Bridge
+
+pci:v00001014d00000308*
+ ID_MODEL_FROM_DATABASE=CalIOC2 PCI-E Root Port
+
+pci:v00001014d00000314*
+ ID_MODEL_FROM_DATABASE=ZISC 036 Neural accelerator card
+
+pci:v00001014d0000032D*
+ ID_MODEL_FROM_DATABASE=Axon - Cell Companion Chip
+
+pci:v00001014d0000032Dsv00001014sd000003A1*
+ ID_MODEL_FROM_DATABASE=PCIe PowerXCell 8i Cell Accelerator Board
+
+pci:v00001014d00000339*
+ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller
+
+pci:v00001014d00000339sv00001014sd0000030A*
+ ID_MODEL_FROM_DATABASE=PCIe 3Gb SAS RAID Adapter (574E)
+
+pci:v00001014d00000339sv00001014sd0000033A*
+ ID_MODEL_FROM_DATABASE=PCIe 3Gb SAS Adapter (57B3)
+
+pci:v00001014d00000339sv00001014sd0000035C*
+ ID_MODEL_FROM_DATABASE=PCIe x8 Internal 3Gb SAS adapter (57CC)
+
+pci:v00001014d00000339sv00001014sd00000360*
+ ID_MODEL_FROM_DATABASE=PCI-E Auxiliary Cache Adapter (57B7)
+
+pci:v00001014d0000033D*
+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA)
+
+pci:v00001014d0000033Dsv00001014sd0000033C*
+ ID_MODEL_FROM_DATABASE=PCIe2 1.8GB Cache 6Gb SAS RAID Adapter Tri-port (57B5)
+
+pci:v00001014d0000033Dsv00001014sd00000353*
+ ID_MODEL_FROM_DATABASE=PCIe2 3.1GB Cache 6Gb SAS RAID Enclosure (57C3)
+
+pci:v00001014d0000033Dsv00001014sd00000354*
+ ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Dual-port (57C4)
+
+pci:v00001014d0000033Dsv00001014sd00000356*
+ ID_MODEL_FROM_DATABASE=PCIe2 1.8GB Cache 6Gb SAS RAID & SSD Adapter (574D)
+
+pci:v00001014d0000033Dsv00001014sd0000035F*
+ ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Quad-port (57B2)
+
+pci:v00001014d0000034A*
+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC)
+
+pci:v00001014d0000034Asv00001014sd0000033B*
+ ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS RAID Adapter Quad-port (57B4)
+
+pci:v00001014d0000034Asv00001014sd00000355*
+ ID_MODEL_FROM_DATABASE=PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57B1)
+
+pci:v00001014d0000034Asv00001014sd00000357*
+ ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Quad-port (57C6)
+
+pci:v00001014d0000034Asv00001014sd0000035D*
+ ID_MODEL_FROM_DATABASE=PCIe3 1.8GB Cache RAID SAS Adapter Quad-port 6GB (57C8)
+
+pci:v00001014d0000034Asv00001014sd0000035E*
+ ID_MODEL_FROM_DATABASE=PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57CE)
+
+pci:v00001014d0000034Asv00001014sd000003FB*
+ ID_MODEL_FROM_DATABASE=PCIe3 28GB Cache RAID SAS Enclosure 6Gb x 16 (57D5)
+
+pci:v00001014d00003022*
+ ID_MODEL_FROM_DATABASE=QLA3022 Network Adapter
+
+pci:v00001014d00004022*
+ ID_MODEL_FROM_DATABASE=QLA3022 Network Adapter
+
+pci:v00001014d0000FFFF*
+ ID_MODEL_FROM_DATABASE=MPIC-2 interrupt controller
+
+pci:v00001015*
+ ID_VENDOR_FROM_DATABASE=LSI Logic Corp of Canada
+
+pci:v00001016*
+ ID_VENDOR_FROM_DATABASE=ICL Personal Systems
+
+pci:v00001017*
+ ID_VENDOR_FROM_DATABASE=SPEA Software AG
+
+pci:v00001017d00005343*
+ ID_MODEL_FROM_DATABASE=SPEA 3D Accelerator
+
+pci:v00001018*
+ ID_VENDOR_FROM_DATABASE=Unisys Systems
+
+pci:v00001019*
+ ID_VENDOR_FROM_DATABASE=Elitegroup Computer Systems
+
+pci:v0000101A*
+ ID_VENDOR_FROM_DATABASE=AT&T GIS (NCR)
+
+pci:v0000101Ad00000005*
+ ID_MODEL_FROM_DATABASE=100VG ethernet
+
+pci:v0000101Ad00000007*
+ ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G
+
+pci:v0000101Ad00000007sv0000101Asd00000019*
+ ID_MODEL_FROM_DATABASE=BYNET BIC2C
+
+pci:v0000101Ad00000007sv0000101Asd0000001C*
+ ID_MODEL_FROM_DATABASE=BYNET BIC2G
+
+pci:v0000101Ad00000007sv0000101Asd0000001F*
+ ID_MODEL_FROM_DATABASE=BYNET BIC4G
+
+pci:v0000101Ad00000009*
+ ID_MODEL_FROM_DATABASE=PQS Memory Controller
+
+pci:v0000101Ad0000000A*
+ ID_MODEL_FROM_DATABASE=BYNET BPCI Adapter
+
+pci:v0000101Ad0000000B*
+ ID_MODEL_FROM_DATABASE=BYNET 4 Port BYA Switch (BYA4P)
+
+pci:v0000101Ad0000000C*
+ ID_MODEL_FROM_DATABASE=BYNET 4 Port BYA Switch (BYA4G)
+
+pci:v0000101Ad00000010*
+ ID_MODEL_FROM_DATABASE=NCR AMC Memory Controller
+
+pci:v0000101Ad00001DC1*
+ ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M
+
+pci:v0000101Ad00001DC1sv0000101Asd00000019*
+ ID_MODEL_FROM_DATABASE=BIC2M
+
+pci:v0000101Ad00001DC1sv0000101Asd0000001F*
+ ID_MODEL_FROM_DATABASE=BIC4M
+
+pci:v0000101Ad00001DC1sv0000101Asd00000ECE*
+ ID_MODEL_FROM_DATABASE=BYA4M
+
+pci:v0000101Ad00001FA8*
+ ID_MODEL_FROM_DATABASE=BYNET Multi-port BIC Adapter (XBIC Based)
+
+pci:v0000101Ad00001FA8sv0000101Asd000000C3*
+ ID_MODEL_FROM_DATABASE=BYNET BIC2SE
+
+pci:v0000101B*
+ ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor
+
+pci:v0000101Bd00000452*
+ ID_MODEL_FROM_DATABASE=VSC452 [SuperBMC]
+
+pci:v0000101C*
+ ID_VENDOR_FROM_DATABASE=Western Digital
+
+pci:v0000101Cd00000193*
+ ID_MODEL_FROM_DATABASE=33C193A
+
+pci:v0000101Cd00000196*
+ ID_MODEL_FROM_DATABASE=33C196A
+
+pci:v0000101Cd00000197*
+ ID_MODEL_FROM_DATABASE=33C197A
+
+pci:v0000101Cd00000296*
+ ID_MODEL_FROM_DATABASE=33C296A
+
+pci:v0000101Cd00003193*
+ ID_MODEL_FROM_DATABASE=7193
+
+pci:v0000101Cd00003197*
+ ID_MODEL_FROM_DATABASE=7197
+
+pci:v0000101Cd00003296*
+ ID_MODEL_FROM_DATABASE=33C296A
+
+pci:v0000101Cd00004296*
+ ID_MODEL_FROM_DATABASE=34C296
+
+pci:v0000101Cd00009710*
+ ID_MODEL_FROM_DATABASE=Pipeline 9710
+
+pci:v0000101Cd00009712*
+ ID_MODEL_FROM_DATABASE=Pipeline 9712
+
+pci:v0000101Cd0000C24A*
+ ID_MODEL_FROM_DATABASE=90C
+
+pci:v0000101D*
+ ID_VENDOR_FROM_DATABASE=Maxim Integrated Products
+
+pci:v0000101E*
+ ID_VENDOR_FROM_DATABASE=American Megatrends Inc.
+
+pci:v0000101Ed00000009*
+ ID_MODEL_FROM_DATABASE=MegaRAID 428 Ultra RAID Controller (rev 03)
+
+pci:v0000101Ed00001960*
+ ID_MODEL_FROM_DATABASE=MegaRAID
+
+pci:v0000101Ed00001960sv0000101Esd00000471*
+ ID_MODEL_FROM_DATABASE=MegaRAID 471 Enterprise 1600 RAID Controller
+
+pci:v0000101Ed00001960sv0000101Esd00000475*
+ ID_MODEL_FROM_DATABASE=MegaRAID 475 Express 500/500LC RAID Controller
+
+pci:v0000101Ed00001960sv0000101Esd00000477*
+ ID_MODEL_FROM_DATABASE=MegaRAID 477 Elite 3100 RAID Controller
+
+pci:v0000101Ed00001960sv0000101Esd00000493*
+ ID_MODEL_FROM_DATABASE=MegaRAID 493 Elite 1600 RAID Controller
+
+pci:v0000101Ed00001960sv0000101Esd00000494*
+ ID_MODEL_FROM_DATABASE=MegaRAID 494 Elite 1650 RAID Controller
+
+pci:v0000101Ed00001960sv0000101Esd00000503*
+ ID_MODEL_FROM_DATABASE=MegaRAID 503 Enterprise 1650 RAID Controller
+
+pci:v0000101Ed00001960sv0000101Esd00000511*
+ ID_MODEL_FROM_DATABASE=MegaRAID 511 i4 IDE RAID Controller
+
+pci:v0000101Ed00001960sv0000101Esd00000522*
+ ID_MODEL_FROM_DATABASE=MegaRAID 522 i4133 RAID Controller
+
+pci:v0000101Ed00001960sv00001028sd00000471*
+ ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/QC
+
+pci:v0000101Ed00001960sv00001028sd00000475*
+ ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/SC
+
+pci:v0000101Ed00001960sv00001028sd00000493*
+ ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/DC
+
+pci:v0000101Ed00001960sv00001028sd00000511*
+ ID_MODEL_FROM_DATABASE=PowerEdge Cost Effective RAID Controller ATA100/4Ch
+
+pci:v0000101Ed00001960sv0000103Csd000060E7*
+ ID_MODEL_FROM_DATABASE=NetRAID-1M
+
+pci:v0000101Ed00009010*
+ ID_MODEL_FROM_DATABASE=MegaRAID 428 Ultra RAID Controller
+
+pci:v0000101Ed00009030*
+ ID_MODEL_FROM_DATABASE=EIDE Controller
+
+pci:v0000101Ed00009031*
+ ID_MODEL_FROM_DATABASE=EIDE Controller
+
+pci:v0000101Ed00009032*
+ ID_MODEL_FROM_DATABASE=EIDE & SCSI Controller
+
+pci:v0000101Ed00009033*
+ ID_MODEL_FROM_DATABASE=SCSI Controller
+
+pci:v0000101Ed00009040*
+ ID_MODEL_FROM_DATABASE=Multimedia card
+
+pci:v0000101Ed00009060*
+ ID_MODEL_FROM_DATABASE=MegaRAID 434 Ultra GT RAID Controller
+
+pci:v0000101Ed00009063*
+ ID_MODEL_FROM_DATABASE=MegaRAC
+
+pci:v0000101Ed00009063sv0000101Esd00000767*
+ ID_MODEL_FROM_DATABASE=Dell Remote Assistant Card 2
+
+pci:v0000101F*
+ ID_VENDOR_FROM_DATABASE=PictureTel
+
+pci:v00001020*
+ ID_VENDOR_FROM_DATABASE=Hitachi Computer Products
+
+pci:v00001021*
+ ID_VENDOR_FROM_DATABASE=OKI Electric Industry Co. Ltd.
+
+pci:v00001022*
+ ID_VENDOR_FROM_DATABASE=Advanced Micro Devices, Inc. [AMD]
+
+pci:v00001022d00001100*
+ ID_MODEL_FROM_DATABASE=K8 [Athlon64/Opteron] HyperTransport Technology Configuration
+
+pci:v00001022d00001101*
+ ID_MODEL_FROM_DATABASE=K8 [Athlon64/Opteron] Address Map
+
+pci:v00001022d00001102*
+ ID_MODEL_FROM_DATABASE=K8 [Athlon64/Opteron] DRAM Controller
+
+pci:v00001022d00001103*
+ ID_MODEL_FROM_DATABASE=K8 [Athlon64/Opteron] Miscellaneous Control
+
+pci:v00001022d00001200*
+ ID_MODEL_FROM_DATABASE=Family 10h Processor HyperTransport Configuration
+
+pci:v00001022d00001201*
+ ID_MODEL_FROM_DATABASE=Family 10h Processor Address Map
+
+pci:v00001022d00001202*
+ ID_MODEL_FROM_DATABASE=Family 10h Processor DRAM Controller
+
+pci:v00001022d00001203*
+ ID_MODEL_FROM_DATABASE=Family 10h Processor Miscellaneous Control
+
+pci:v00001022d00001204*
+ ID_MODEL_FROM_DATABASE=Family 10h Processor Link Control
+
+pci:v00001022d00001300*
+ ID_MODEL_FROM_DATABASE=Family 11h Processor HyperTransport Configuration
+
+pci:v00001022d00001301*
+ ID_MODEL_FROM_DATABASE=Family 11h Processor Address Map
+
+pci:v00001022d00001302*
+ ID_MODEL_FROM_DATABASE=Family 11h Processor DRAM Controller
+
+pci:v00001022d00001303*
+ ID_MODEL_FROM_DATABASE=Family 11h Processor Miscellaneous Control
+
+pci:v00001022d00001304*
+ ID_MODEL_FROM_DATABASE=Family 11h Processor Link Control
+
+pci:v00001022d00001400*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Function 0
+
+pci:v00001022d00001401*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Function 1
+
+pci:v00001022d00001402*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Function 2
+
+pci:v00001022d00001403*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Function 3
+
+pci:v00001022d00001404*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Function 4
+
+pci:v00001022d00001405*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Function 5
+
+pci:v00001022d00001410*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Complex
+
+pci:v00001022d00001412*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
+
+pci:v00001022d00001413*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
+
+pci:v00001022d00001414*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
+
+pci:v00001022d00001415*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
+
+pci:v00001022d00001416*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
+
+pci:v00001022d00001417*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
+
+pci:v00001022d00001418*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
+
+pci:v00001022d00001419*
+ ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) I/O Memory Management Unit
+
+pci:v00001022d00001439*
+ ID_MODEL_FROM_DATABASE=Family 16h Processor Functions 5:1
+
+pci:v00001022d00001510*
+ ID_MODEL_FROM_DATABASE=Family 14h Processor Root Complex
+
+pci:v00001022d00001510sv0000174Bsd00001001*
+ ID_MODEL_FROM_DATABASE=Sapphire PURE Fusion Mini
+
+pci:v00001022d00001512*
+ ID_MODEL_FROM_DATABASE=Family 14h Processor Root Port
+
+pci:v00001022d00001512sv0000174Bsd00001001*
+ ID_MODEL_FROM_DATABASE=Sapphire PURE Fusion Mini
+
+pci:v00001022d00001513*
+ ID_MODEL_FROM_DATABASE=Family 14h Processor Root Port
+
+pci:v00001022d00001514*
+ ID_MODEL_FROM_DATABASE=Family 14h Processor Root Port
+
+pci:v00001022d00001515*
+ ID_MODEL_FROM_DATABASE=Family 14h Processor Root Port
+
+pci:v00001022d00001516*
+ ID_MODEL_FROM_DATABASE=Family 14h Processor Root Port
+
+pci:v00001022d00001530*
+ ID_MODEL_FROM_DATABASE=Family 16h Processor Function 0
+
+pci:v00001022d00001531*
+ ID_MODEL_FROM_DATABASE=Family 16h Processor Function 1
+
+pci:v00001022d00001532*
+ ID_MODEL_FROM_DATABASE=Family 16h Processor Function 2
+
+pci:v00001022d00001533*
+ ID_MODEL_FROM_DATABASE=Family 16h Processor Function 3
+
+pci:v00001022d00001534*
+ ID_MODEL_FROM_DATABASE=Family 16h Processor Function 4
+
+pci:v00001022d00001535*
+ ID_MODEL_FROM_DATABASE=Family 16h Processor Function 5
+
+pci:v00001022d00001536*
+ ID_MODEL_FROM_DATABASE=Family 16h Processor Root Complex
+
+pci:v00001022d00001538*
+ ID_MODEL_FROM_DATABASE=Family 16h Processor Function 0
+
+pci:v00001022d00001600*
+ ID_MODEL_FROM_DATABASE=Family 15h Processor Function 0
+
+pci:v00001022d00001601*
+ ID_MODEL_FROM_DATABASE=Family 15h Processor Function 1
+
+pci:v00001022d00001602*
+ ID_MODEL_FROM_DATABASE=Family 15h Processor Function 2
+
+pci:v00001022d00001603*
+ ID_MODEL_FROM_DATABASE=Family 15h Processor Function 3
+
+pci:v00001022d00001604*
+ ID_MODEL_FROM_DATABASE=Family 15h Processor Function 4
+
+pci:v00001022d00001605*
+ ID_MODEL_FROM_DATABASE=Family 15h Processor Function 5
+
+pci:v00001022d00001700*
+ ID_MODEL_FROM_DATABASE=Family 12h/14h Processor Function 0
+
+pci:v00001022d00001701*
+ ID_MODEL_FROM_DATABASE=Family 12h/14h Processor Function 1
+
+pci:v00001022d00001702*
+ ID_MODEL_FROM_DATABASE=Family 12h/14h Processor Function 2
+
+pci:v00001022d00001703*
+ ID_MODEL_FROM_DATABASE=Family 12h/14h Processor Function 3
+
+pci:v00001022d00001704*
+ ID_MODEL_FROM_DATABASE=Family 12h/14h Processor Function 4
+
+pci:v00001022d00001705*
+ ID_MODEL_FROM_DATABASE=Family 12h Processor Root Complex
+
+pci:v00001022d00001707*
+ ID_MODEL_FROM_DATABASE=Family 12h Processor Root Port
+
+pci:v00001022d00001708*
+ ID_MODEL_FROM_DATABASE=Family 12h Processor Root Port
+
+pci:v00001022d00001709*
+ ID_MODEL_FROM_DATABASE=Family 12h Processor Root Port
+
+pci:v00001022d0000170A*
+ ID_MODEL_FROM_DATABASE=Family 12h Processor Root Port
+
+pci:v00001022d0000170B*
+ ID_MODEL_FROM_DATABASE=Family 12h Processor Root Port
+
+pci:v00001022d0000170C*
+ ID_MODEL_FROM_DATABASE=Family 12h Processor Root Port
+
+pci:v00001022d0000170D*
+ ID_MODEL_FROM_DATABASE=Family 12h Processor Root Port
+
+pci:v00001022d00001716*
+ ID_MODEL_FROM_DATABASE=Family 12h/14h Processor Function 5
+
+pci:v00001022d00001718*
+ ID_MODEL_FROM_DATABASE=Family 12h/14h Processor Function 6
+
+pci:v00001022d00001719*
+ ID_MODEL_FROM_DATABASE=Family 12h/14h Processor Function 7
+
+pci:v00001022d00002000*
+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE]
+
+pci:v00001022d00002000sv00001014sd00002000*
+ ID_MODEL_FROM_DATABASE=NetFinity 10/100 Fast Ethernet
+
+pci:v00001022d00002000sv00001022sd00002000*
+ ID_MODEL_FROM_DATABASE=PCnet - Fast 79C971
+
+pci:v00001022d00002000sv0000103Csd0000104C*
+ ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter
+
+pci:v00001022d00002000sv0000103Csd00001064*
+ ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter
+
+pci:v00001022d00002000sv0000103Csd00001065*
+ ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter
+
+pci:v00001022d00002000sv0000103Csd0000106C*
+ ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter
+
+pci:v00001022d00002000sv0000103Csd0000106E*
+ ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter
+
+pci:v00001022d00002000sv0000103Csd000010EA*
+ ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter
+
+pci:v00001022d00002000sv00001113sd00001220*
+ ID_MODEL_FROM_DATABASE=EN1220 10/100 Fast Ethernet
+
+pci:v00001022d00002000sv00001259sd00002450*
+ ID_MODEL_FROM_DATABASE=AT-2450 10/100 Fast Ethernet
+
+pci:v00001022d00002000sv00001259sd00002454*
+ ID_MODEL_FROM_DATABASE=AT-2450v4 10Mb Ethernet Adapter
+
+pci:v00001022d00002000sv00001259sd00002700*
+ ID_MODEL_FROM_DATABASE=AT-2700TX 10/100 Fast Ethernet
+
+pci:v00001022d00002000sv00001259sd00002701*
+ ID_MODEL_FROM_DATABASE=AT-2700FX 100Mb Ethernet
+
+pci:v00001022d00002000sv00001259sd00002702*
+ ID_MODEL_FROM_DATABASE=AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet
+
+pci:v00001022d00002000sv00001259sd00002703*
+ ID_MODEL_FROM_DATABASE=AT-2701FX
+
+pci:v00001022d00002000sv00001259sd00002704*
+ ID_MODEL_FROM_DATABASE=AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet
+
+pci:v00001022d00002000sv00004C53sd00001000*
+ ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard
+
+pci:v00001022d00002000sv00004C53sd00001010*
+ ID_MODEL_FROM_DATABASE=CP5/CR6 mainboard
+
+pci:v00001022d00002000sv00004C53sd00001020*
+ ID_MODEL_FROM_DATABASE=VR6 mainboard
+
+pci:v00001022d00002000sv00004C53sd00001030*
+ ID_MODEL_FROM_DATABASE=PC5 mainboard
+
+pci:v00001022d00002000sv00004C53sd00001040*
+ ID_MODEL_FROM_DATABASE=CL7 mainboard
+
+pci:v00001022d00002000sv00004C53sd00001060*
+ ID_MODEL_FROM_DATABASE=PC7 mainboard
+
+pci:v00001022d00002001*
+ ID_MODEL_FROM_DATABASE=79c978 [HomePNA]
+
+pci:v00001022d00002001sv00001092sd00000A78*
+ ID_MODEL_FROM_DATABASE=Multimedia Home Network Adapter
+
+pci:v00001022d00002001sv00001668sd00000299*
+ ID_MODEL_FROM_DATABASE=ActionLink Home Network Adapter
+
+pci:v00001022d00002003*
+ ID_MODEL_FROM_DATABASE=Am 1771 MBW [Alchemy]
+
+pci:v00001022d00002020*
+ ID_MODEL_FROM_DATABASE=53c974 [PCscsi]
+
+pci:v00001022d00002040*
+ ID_MODEL_FROM_DATABASE=79c974
+
+pci:v00001022d00002080*
+ ID_MODEL_FROM_DATABASE=CS5536 [Geode companion] Host Bridge
+
+pci:v00001022d00002081*
+ ID_MODEL_FROM_DATABASE=Geode LX Video
+
+pci:v00001022d00002082*
+ ID_MODEL_FROM_DATABASE=Geode LX AES Security Block
+
+pci:v00001022d0000208F*
+ ID_MODEL_FROM_DATABASE=CS5536 GeodeLink PCI South Bridge
+
+pci:v00001022d00002090*
+ ID_MODEL_FROM_DATABASE=CS5536 [Geode companion] ISA
+
+pci:v00001022d00002091*
+ ID_MODEL_FROM_DATABASE=CS5536 [Geode companion] FLASH
+
+pci:v00001022d00002093*
+ ID_MODEL_FROM_DATABASE=CS5536 [Geode companion] Audio
+
+pci:v00001022d00002094*
+ ID_MODEL_FROM_DATABASE=CS5536 [Geode companion] OHC
+
+pci:v00001022d00002095*
+ ID_MODEL_FROM_DATABASE=CS5536 [Geode companion] EHC
+
+pci:v00001022d00002096*
+ ID_MODEL_FROM_DATABASE=CS5536 [Geode companion] UDC
+
+pci:v00001022d00002097*
+ ID_MODEL_FROM_DATABASE=CS5536 [Geode companion] UOC
+
+pci:v00001022d0000209A*
+ ID_MODEL_FROM_DATABASE=CS5536 [Geode companion] IDE
+
+pci:v00001022d00003000*
+ ID_MODEL_FROM_DATABASE=ELanSC520 Microcontroller
+
+pci:v00001022d000043A0*
+ ID_MODEL_FROM_DATABASE=Hudson PCI to PCI bridge (PCIE port 0)
+
+pci:v00001022d000043A1*
+ ID_MODEL_FROM_DATABASE=Hudson PCI to PCI bridge (PCIE port 1)
+
+pci:v00001022d000043A2*
+ ID_MODEL_FROM_DATABASE=Hudson PCI to PCI bridge (PCIE port 2)
+
+pci:v00001022d000043A3*
+ ID_MODEL_FROM_DATABASE=Hudson PCI to PCI bridge (PCIE port 3)
+
+pci:v00001022d00007006*
+ ID_MODEL_FROM_DATABASE=AMD-751 [Irongate] System Controller
+
+pci:v00001022d00007007*
+ ID_MODEL_FROM_DATABASE=AMD-751 [Irongate] AGP Bridge
+
+pci:v00001022d0000700A*
+ ID_MODEL_FROM_DATABASE=AMD-IGR4 AGP Host to PCI Bridge
+
+pci:v00001022d0000700B*
+ ID_MODEL_FROM_DATABASE=AMD-IGR4 PCI to PCI Bridge
+
+pci:v00001022d0000700C*
+ ID_MODEL_FROM_DATABASE=AMD-760 MP [IGD4-2P] System Controller
+
+pci:v00001022d0000700D*
+ ID_MODEL_FROM_DATABASE=AMD-760 MP [IGD4-2P] AGP Bridge
+
+pci:v00001022d0000700E*
+ ID_MODEL_FROM_DATABASE=AMD-760 [IGD4-1P] System Controller
+
+pci:v00001022d0000700F*
+ ID_MODEL_FROM_DATABASE=AMD-760 [IGD4-1P] AGP Bridge
+
+pci:v00001022d00007400*
+ ID_MODEL_FROM_DATABASE=AMD-755 [Cobra] ISA
+
+pci:v00001022d00007401*
+ ID_MODEL_FROM_DATABASE=AMD-755 [Cobra] IDE
+
+pci:v00001022d00007403*
+ ID_MODEL_FROM_DATABASE=AMD-755 [Cobra] ACPI
+
+pci:v00001022d00007404*
+ ID_MODEL_FROM_DATABASE=AMD-755 [Cobra] USB
+
+pci:v00001022d00007408*
+ ID_MODEL_FROM_DATABASE=AMD-756 [Viper] ISA
+
+pci:v00001022d00007409*
+ ID_MODEL_FROM_DATABASE=AMD-756 [Viper] IDE
+
+pci:v00001022d0000740B*
+ ID_MODEL_FROM_DATABASE=AMD-756 [Viper] ACPI
+
+pci:v00001022d0000740C*
+ ID_MODEL_FROM_DATABASE=AMD-756 [Viper] USB
+
+pci:v00001022d00007410*
+ ID_MODEL_FROM_DATABASE=AMD-766 [ViperPlus] ISA
+
+pci:v00001022d00007411*
+ ID_MODEL_FROM_DATABASE=AMD-766 [ViperPlus] IDE
+
+pci:v00001022d00007413*
+ ID_MODEL_FROM_DATABASE=AMD-766 [ViperPlus] ACPI
+
+pci:v00001022d00007414*
+ ID_MODEL_FROM_DATABASE=AMD-766 [ViperPlus] USB
+
+pci:v00001022d00007440*
+ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ISA
+
+pci:v00001022d00007440sv00001043sd00008044*
+ ID_MODEL_FROM_DATABASE=A7M-D Mainboard
+
+pci:v00001022d00007441*
+ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] IDE
+
+pci:v00001022d00007443*
+ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ACPI
+
+pci:v00001022d00007443sv00001043sd00008044*
+ ID_MODEL_FROM_DATABASE=A7M-D Mainboard
+
+pci:v00001022d00007445*
+ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] Audio
+
+pci:v00001022d00007446*
+ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] MC97 Modem
+
+pci:v00001022d00007448*
+ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] PCI
+
+pci:v00001022d00007449*
+ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] USB
+
+pci:v00001022d00007450*
+ ID_MODEL_FROM_DATABASE=AMD-8131 PCI-X Bridge
+
+pci:v00001022d00007451*
+ ID_MODEL_FROM_DATABASE=AMD-8131 PCI-X IOAPIC
+
+pci:v00001022d00007454*
+ ID_MODEL_FROM_DATABASE=AMD-8151 System Controller
+
+pci:v00001022d00007455*
+ ID_MODEL_FROM_DATABASE=AMD-8151 AGP Bridge
+
+pci:v00001022d00007458*
+ ID_MODEL_FROM_DATABASE=AMD-8132 PCI-X Bridge
+
+pci:v00001022d00007459*
+ ID_MODEL_FROM_DATABASE=AMD-8132 PCI-X IOAPIC
+
+pci:v00001022d00007460*
+ ID_MODEL_FROM_DATABASE=AMD-8111 PCI
+
+pci:v00001022d00007460sv0000161Fsd00003017*
+ ID_MODEL_FROM_DATABASE=HDAMB
+
+pci:v00001022d00007461*
+ ID_MODEL_FROM_DATABASE=AMD-8111 USB
+
+pci:v00001022d00007462*
+ ID_MODEL_FROM_DATABASE=AMD-8111 Ethernet
+
+pci:v00001022d00007463*
+ ID_MODEL_FROM_DATABASE=AMD-8111 USB EHCI
+
+pci:v00001022d00007464*
+ ID_MODEL_FROM_DATABASE=AMD-8111 USB OHCI
+
+pci:v00001022d00007464sv0000161Fsd00003017*
+ ID_MODEL_FROM_DATABASE=HDAMB
+
+pci:v00001022d00007468*
+ ID_MODEL_FROM_DATABASE=AMD-8111 LPC
+
+pci:v00001022d00007468sv0000161Fsd00003017*
+ ID_MODEL_FROM_DATABASE=HDAMB
+
+pci:v00001022d00007469*
+ ID_MODEL_FROM_DATABASE=AMD-8111 IDE
+
+pci:v00001022d00007469sv00001022sd00002B80*
+ ID_MODEL_FROM_DATABASE=AMD-8111 IDE [Quartet]
+
+pci:v00001022d00007469sv0000161Fsd00003017*
+ ID_MODEL_FROM_DATABASE=HDAMB
+
+pci:v00001022d0000746A*
+ ID_MODEL_FROM_DATABASE=AMD-8111 SMBus 2.0
+
+pci:v00001022d0000746B*
+ ID_MODEL_FROM_DATABASE=AMD-8111 ACPI
+
+pci:v00001022d0000746Bsv0000161Fsd00003017*
+ ID_MODEL_FROM_DATABASE=HDAMB
+
+pci:v00001022d0000746D*
+ ID_MODEL_FROM_DATABASE=AMD-8111 AC97 Audio
+
+pci:v00001022d0000746Dsv0000161Fsd00003017*
+ ID_MODEL_FROM_DATABASE=HDAMB
+
+pci:v00001022d0000746E*
+ ID_MODEL_FROM_DATABASE=AMD-8111 MC97 Modem
+
+pci:v00001022d0000756B*
+ ID_MODEL_FROM_DATABASE=AMD-8111 ACPI
+
+pci:v00001022d00007800*
+ ID_MODEL_FROM_DATABASE=FCH SATA Controller [IDE mode]
+
+pci:v00001022d00007801*
+ ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode]
+
+pci:v00001022d00007801sv0000103Csd0000168B*
+ ID_MODEL_FROM_DATABASE=ProBook 4535s Notebook
+
+pci:v00001022d00007802*
+ ID_MODEL_FROM_DATABASE=FCH SATA Controller [RAID mode]
+
+pci:v00001022d00007803*
+ ID_MODEL_FROM_DATABASE=FCH SATA Controller [RAID mode]
+
+pci:v00001022d00007804*
+ ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode]
+
+pci:v00001022d00007805*
+ ID_MODEL_FROM_DATABASE=FCH SATA Controller [RAID mode]
+
+pci:v00001022d00007806*
+ ID_MODEL_FROM_DATABASE=FCH SD Flash Controller
+
+pci:v00001022d00007807*
+ ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller
+
+pci:v00001022d00007808*
+ ID_MODEL_FROM_DATABASE=FCH USB EHCI Controller
+
+pci:v00001022d00007809*
+ ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller
+
+pci:v00001022d0000780B*
+ ID_MODEL_FROM_DATABASE=FCH SMBus Controller
+
+pci:v00001022d0000780C*
+ ID_MODEL_FROM_DATABASE=FCH IDE Controller
+
+pci:v00001022d0000780D*
+ ID_MODEL_FROM_DATABASE=FCH Azalia Controller
+
+pci:v00001022d0000780E*
+ ID_MODEL_FROM_DATABASE=FCH LPC Bridge
+
+pci:v00001022d0000780F*
+ ID_MODEL_FROM_DATABASE=FCH PCI Bridge
+
+pci:v00001022d00007812*
+ ID_MODEL_FROM_DATABASE=FCH USB XHCI Controller
+
+pci:v00001022d00007813*
+ ID_MODEL_FROM_DATABASE=FCH SD Flash Controller
+
+pci:v00001022d00007814*
+ ID_MODEL_FROM_DATABASE=FCH USB XHCI Controller
+
+pci:v00001022d00009600*
+ ID_MODEL_FROM_DATABASE=RS780 Host Bridge
+
+pci:v00001022d00009600sv00001043sd000082F1*
+ ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard
+
+pci:v00001022d00009601*
+ ID_MODEL_FROM_DATABASE=RS880 Host Bridge
+
+pci:v00001022d00009601sv00001019sd00002120*
+ ID_MODEL_FROM_DATABASE=A785GM-M
+
+pci:v00001022d00009601sv00001043sd0000843E*
+ ID_MODEL_FROM_DATABASE=M5A88-V EVO
+
+pci:v00001022d00009602*
+ ID_MODEL_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (int gfx)
+
+pci:v00001022d00009603*
+ ID_MODEL_FROM_DATABASE=RS780 PCI to PCI bridge (ext gfx port 0)
+
+pci:v00001022d00009604*
+ ID_MODEL_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (PCIE port 0)
+
+pci:v00001022d00009605*
+ ID_MODEL_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (PCIE port 1)
+
+pci:v00001022d00009606*
+ ID_MODEL_FROM_DATABASE=RS780 PCI to PCI bridge (PCIE port 2)
+
+pci:v00001022d00009607*
+ ID_MODEL_FROM_DATABASE=RS780 PCI to PCI bridge (PCIE port 3)
+
+pci:v00001022d00009608*
+ ID_MODEL_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (PCIE port 4)
+
+pci:v00001022d00009609*
+ ID_MODEL_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (PCIE port 5)
+
+pci:v00001022d0000960A*
+ ID_MODEL_FROM_DATABASE=RS780 PCI to PCI bridge (NB-SB link)
+
+pci:v00001022d0000960B*
+ ID_MODEL_FROM_DATABASE=RS780 PCI to PCI bridge (ext gfx port 1)
+
+pci:v00001023*
+ ID_VENDOR_FROM_DATABASE=Trident Microsystems
+
+pci:v00001023d00000194*
+ ID_MODEL_FROM_DATABASE=82C194
+
+pci:v00001023d00002000*
+ ID_MODEL_FROM_DATABASE=4DWave DX
+
+pci:v00001023d00002001*
+ ID_MODEL_FROM_DATABASE=4DWave NX
+
+pci:v00001023d00002001sv0000122Dsd00001400*
+ ID_MODEL_FROM_DATABASE=Trident PCI288-Q3DII (NX)
+
+pci:v00001023d00002100*
+ ID_MODEL_FROM_DATABASE=CyberBlade XP4m32
+
+pci:v00001023d00002200*
+ ID_MODEL_FROM_DATABASE=XGI Volari XP5
+
+pci:v00001023d00008400*
+ ID_MODEL_FROM_DATABASE=CyberBlade/i7
+
+pci:v00001023d00008400sv00001023sd00008400*
+ ID_MODEL_FROM_DATABASE=CyberBlade i7 AGP
+
+pci:v00001023d00008420*
+ ID_MODEL_FROM_DATABASE=CyberBlade/i7d
+
+pci:v00001023d00008420sv00000E11sd0000B15A*
+ ID_MODEL_FROM_DATABASE=CyberBlade i7 AGP
+
+pci:v00001023d00008500*
+ ID_MODEL_FROM_DATABASE=CyberBlade/i1
+
+pci:v00001023d00008520*
+ ID_MODEL_FROM_DATABASE=CyberBlade i1
+
+pci:v00001023d00008520sv00000E11sd0000B16E*
+ ID_MODEL_FROM_DATABASE=CyberBlade i1 AGP
+
+pci:v00001023d00008520sv00001023sd00008520*
+ ID_MODEL_FROM_DATABASE=CyberBlade i1 AGP
+
+pci:v00001023d00008620*
+ ID_MODEL_FROM_DATABASE=CyberBlade/i1
+
+pci:v00001023d00008620sv00001014sd00000502*
+ ID_MODEL_FROM_DATABASE=ThinkPad R30/T30
+
+pci:v00001023d00008620sv00001014sd00001025*
+ ID_MODEL_FROM_DATABASE=Travelmate 352TE
+
+pci:v00001023d00008820*
+ ID_MODEL_FROM_DATABASE=CyberBlade XPAi1
+
+pci:v00001023d00009320*
+ ID_MODEL_FROM_DATABASE=TGUI 9320
+
+pci:v00001023d00009350*
+ ID_MODEL_FROM_DATABASE=GUI Accelerator
+
+pci:v00001023d00009360*
+ ID_MODEL_FROM_DATABASE=Flat panel GUI Accelerator
+
+pci:v00001023d00009382*
+ ID_MODEL_FROM_DATABASE=Cyber 9382 [Reference design]
+
+pci:v00001023d00009383*
+ ID_MODEL_FROM_DATABASE=Cyber 9383 [Reference design]
+
+pci:v00001023d00009385*
+ ID_MODEL_FROM_DATABASE=Cyber 9385 [Reference design]
+
+pci:v00001023d00009386*
+ ID_MODEL_FROM_DATABASE=Cyber 9386
+
+pci:v00001023d00009388*
+ ID_MODEL_FROM_DATABASE=Cyber 9388
+
+pci:v00001023d00009397*
+ ID_MODEL_FROM_DATABASE=Cyber 9397
+
+pci:v00001023d0000939A*
+ ID_MODEL_FROM_DATABASE=Cyber 9397DVD
+
+pci:v00001023d00009420*
+ ID_MODEL_FROM_DATABASE=TGUI 9420
+
+pci:v00001023d00009430*
+ ID_MODEL_FROM_DATABASE=TGUI 9430
+
+pci:v00001023d00009440*
+ ID_MODEL_FROM_DATABASE=TGUI 9440
+
+pci:v00001023d00009460*
+ ID_MODEL_FROM_DATABASE=TGUI 9460
+
+pci:v00001023d00009470*
+ ID_MODEL_FROM_DATABASE=TGUI 9470
+
+pci:v00001023d00009520*
+ ID_MODEL_FROM_DATABASE=Cyber 9520
+
+pci:v00001023d00009525*
+ ID_MODEL_FROM_DATABASE=Cyber 9525
+
+pci:v00001023d00009540*
+ ID_MODEL_FROM_DATABASE=Cyber 9540
+
+pci:v00001023d00009660*
+ ID_MODEL_FROM_DATABASE=TGUI 9660/938x/968x
+
+pci:v00001023d00009680*
+ ID_MODEL_FROM_DATABASE=TGUI 9680
+
+pci:v00001023d00009682*
+ ID_MODEL_FROM_DATABASE=TGUI 9682
+
+pci:v00001023d00009683*
+ ID_MODEL_FROM_DATABASE=TGUI 9683
+
+pci:v00001023d00009685*
+ ID_MODEL_FROM_DATABASE=ProVIDIA 9685
+
+pci:v00001023d00009750*
+ ID_MODEL_FROM_DATABASE=3DImage 9750
+
+pci:v00001023d00009750sv00001014sd00009750*
+ ID_MODEL_FROM_DATABASE=3DImage 9750
+
+pci:v00001023d00009750sv00001023sd00009750*
+ ID_MODEL_FROM_DATABASE=3DImage 9750
+
+pci:v00001023d00009753*
+ ID_MODEL_FROM_DATABASE=TGUI 9753
+
+pci:v00001023d00009754*
+ ID_MODEL_FROM_DATABASE=TGUI 9754
+
+pci:v00001023d00009759*
+ ID_MODEL_FROM_DATABASE=TGUI 975
+
+pci:v00001023d00009783*
+ ID_MODEL_FROM_DATABASE=TGUI 9783
+
+pci:v00001023d00009785*
+ ID_MODEL_FROM_DATABASE=TGUI 9785
+
+pci:v00001023d00009850*
+ ID_MODEL_FROM_DATABASE=3DImage 9850
+
+pci:v00001023d00009880*
+ ID_MODEL_FROM_DATABASE=Blade 3D PCI/AGP
+
+pci:v00001023d00009880sv00001023sd00009880*
+ ID_MODEL_FROM_DATABASE=Blade 3D
+
+pci:v00001023d00009910*
+ ID_MODEL_FROM_DATABASE=CyberBlade/XP
+
+pci:v00001023d00009930*
+ ID_MODEL_FROM_DATABASE=CyberBlade/XPm
+
+pci:v00001023d00009960*
+ ID_MODEL_FROM_DATABASE=CyberBlade XP2
+
+pci:v00001024*
+ ID_VENDOR_FROM_DATABASE=Zenith Data Systems
+
+pci:v00001025*
+ ID_VENDOR_FROM_DATABASE=Acer Incorporated [ALI]
+
+pci:v00001025d00001435*
+ ID_MODEL_FROM_DATABASE=M1435
+
+pci:v00001025d00001445*
+ ID_MODEL_FROM_DATABASE=M1445
+
+pci:v00001025d00001449*
+ ID_MODEL_FROM_DATABASE=M1449
+
+pci:v00001025d00001451*
+ ID_MODEL_FROM_DATABASE=M1451
+
+pci:v00001025d00001461*
+ ID_MODEL_FROM_DATABASE=M1461
+
+pci:v00001025d00001489*
+ ID_MODEL_FROM_DATABASE=M1489
+
+pci:v00001025d00001511*
+ ID_MODEL_FROM_DATABASE=M1511
+
+pci:v00001025d00001512*
+ ID_MODEL_FROM_DATABASE=ALI M1512 Aladdin
+
+pci:v00001025d00001513*
+ ID_MODEL_FROM_DATABASE=M1513
+
+pci:v00001025d00001521*
+ ID_MODEL_FROM_DATABASE=ALI M1521 Aladdin III CPU Bridge
+
+pci:v00001025d00001521sv000010B9sd00001521*
+ ID_MODEL_FROM_DATABASE=ALI M1521 Aladdin III CPU Bridge
+
+pci:v00001025d00001523*
+ ID_MODEL_FROM_DATABASE=ALI M1523 ISA Bridge
+
+pci:v00001025d00001523sv000010B9sd00001523*
+ ID_MODEL_FROM_DATABASE=ALI M1523 ISA Bridge
+
+pci:v00001025d00001531*
+ ID_MODEL_FROM_DATABASE=M1531 Northbridge [Aladdin IV/IV+]
+
+pci:v00001025d00001533*
+ ID_MODEL_FROM_DATABASE=M1533 PCI-to-ISA Bridge
+
+pci:v00001025d00001533sv000010B9sd00001533*
+ ID_MODEL_FROM_DATABASE=ALI M1533 Aladdin IV/V ISA South Bridge
+
+pci:v00001025d00001535*
+ ID_MODEL_FROM_DATABASE=M1535 PCI Bridge + Super I/O + FIR
+
+pci:v00001025d00001541*
+ ID_MODEL_FROM_DATABASE=M1541 Northbridge [Aladdin V]
+
+pci:v00001025d00001541sv000010B9sd00001541*
+ ID_MODEL_FROM_DATABASE=ALI M1541 Aladdin V/V+ AGP+PCI North Bridge
+
+pci:v00001025d00001542*
+ ID_MODEL_FROM_DATABASE=M1542 Northbridge [Aladdin V]
+
+pci:v00001025d00001543*
+ ID_MODEL_FROM_DATABASE=M1543 PCI-to-ISA Bridge + Super I/O + FIR
+
+pci:v00001025d00001561*
+ ID_MODEL_FROM_DATABASE=M1561 Northbridge [Aladdin 7]
+
+pci:v00001025d00001621*
+ ID_MODEL_FROM_DATABASE=M1621 Northbridge [Aladdin-Pro II]
+
+pci:v00001025d00001631*
+ ID_MODEL_FROM_DATABASE=M1631 Northbridge+3D Graphics [Aladdin TNT2]
+
+pci:v00001025d00001641*
+ ID_MODEL_FROM_DATABASE=M1641 Northbridge [Aladdin-Pro IV]
+
+pci:v00001025d00001647*
+ ID_MODEL_FROM_DATABASE=M1647 [MaGiK1] PCI North Bridge
+
+pci:v00001025d00001671*
+ ID_MODEL_FROM_DATABASE=M1671 Northbridge [ALADDiN-P4]
+
+pci:v00001025d00001672*
+ ID_MODEL_FROM_DATABASE=Northbridge [CyberALADDiN-P4]
+
+pci:v00001025d00003141*
+ ID_MODEL_FROM_DATABASE=M3141
+
+pci:v00001025d00003143*
+ ID_MODEL_FROM_DATABASE=M3143
+
+pci:v00001025d00003145*
+ ID_MODEL_FROM_DATABASE=M3145
+
+pci:v00001025d00003147*
+ ID_MODEL_FROM_DATABASE=M3147
+
+pci:v00001025d00003149*
+ ID_MODEL_FROM_DATABASE=M3149
+
+pci:v00001025d00003151*
+ ID_MODEL_FROM_DATABASE=M3151
+
+pci:v00001025d00003307*
+ ID_MODEL_FROM_DATABASE=M3307 MPEG-I Video Controller
+
+pci:v00001025d00003309*
+ ID_MODEL_FROM_DATABASE=M3309 MPEG-II Video w/ Software Audio Decoder
+
+pci:v00001025d00003321*
+ ID_MODEL_FROM_DATABASE=M3321 MPEG-II Audio/Video Decoder
+
+pci:v00001025d00005212*
+ ID_MODEL_FROM_DATABASE=M4803
+
+pci:v00001025d00005215*
+ ID_MODEL_FROM_DATABASE=ALI PCI EIDE Controller
+
+pci:v00001025d00005217*
+ ID_MODEL_FROM_DATABASE=M5217H
+
+pci:v00001025d00005219*
+ ID_MODEL_FROM_DATABASE=M5219
+
+pci:v00001025d00005225*
+ ID_MODEL_FROM_DATABASE=M5225
+
+pci:v00001025d00005229*
+ ID_MODEL_FROM_DATABASE=M5229
+
+pci:v00001025d00005235*
+ ID_MODEL_FROM_DATABASE=M5235
+
+pci:v00001025d00005237*
+ ID_MODEL_FROM_DATABASE=M5237 PCI USB Host Controller
+
+pci:v00001025d00005240*
+ ID_MODEL_FROM_DATABASE=EIDE Controller
+
+pci:v00001025d00005241*
+ ID_MODEL_FROM_DATABASE=PCMCIA Bridge
+
+pci:v00001025d00005242*
+ ID_MODEL_FROM_DATABASE=General Purpose Controller
+
+pci:v00001025d00005243*
+ ID_MODEL_FROM_DATABASE=PCI to PCI Bridge Controller
+
+pci:v00001025d00005244*
+ ID_MODEL_FROM_DATABASE=Floppy Disk Controller
+
+pci:v00001025d00005247*
+ ID_MODEL_FROM_DATABASE=M1541 PCI to PCI Bridge
+
+pci:v00001025d00005251*
+ ID_MODEL_FROM_DATABASE=M5251 P1394 Controller
+
+pci:v00001025d00005427*
+ ID_MODEL_FROM_DATABASE=PCI to AGP Bridge
+
+pci:v00001025d00005451*
+ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device
+
+pci:v00001025d00005453*
+ ID_MODEL_FROM_DATABASE=M5453 PCI AC-Link Controller Modem Device
+
+pci:v00001025d00007101*
+ ID_MODEL_FROM_DATABASE=M7101 PCI PMU Power Management Controller
+
+pci:v00001025d00007101sv000010B9sd00007101*
+ ID_MODEL_FROM_DATABASE=M7101 PCI PMU Power Management Controller
+
+pci:v00001025d00009602*
+ ID_MODEL_FROM_DATABASE=AMD RS780/RS880 PCI to PCI bridge (int gfx)
+
+pci:v00001028*
+ ID_VENDOR_FROM_DATABASE=Dell
+
+pci:v00001028d00000001*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/Si
+
+pci:v00001028d00000001sv00001028sd00000001*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2400
+
+pci:v00001028d00000002*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di
+
+pci:v00001028d00000002sv00001028sd00000002*
+ ID_MODEL_FROM_DATABASE=PowerEdge 4400
+
+pci:v00001028d00000002sv00001028sd000000D1*
+ ID_MODEL_FROM_DATABASE=PERC 3/DiV [Viper]
+
+pci:v00001028d00000002sv00001028sd000000D9*
+ ID_MODEL_FROM_DATABASE=PERC 3/DiL [Lexus]
+
+pci:v00001028d00000003*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Si
+
+pci:v00001028d00000003sv00001028sd00000003*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2450
+
+pci:v00001028d00000004*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di [Iguana]
+
+pci:v00001028d00000004sv00001028sd00000004*
+ ID_MODEL_FROM_DATABASE=PERC 3/DiF [Iguana]
+
+pci:v00001028d00000006*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di
+
+pci:v00001028d00000007*
+ ID_MODEL_FROM_DATABASE=Remote Access Card III
+
+pci:v00001028d00000008*
+ ID_MODEL_FROM_DATABASE=Remote Access Card III
+
+pci:v00001028d00000009*
+ ID_MODEL_FROM_DATABASE=Remote Access Card III: BMC/SMIC device not present
+
+pci:v00001028d0000000A*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di
+
+pci:v00001028d0000000Asv00001028sd00000106*
+ ID_MODEL_FROM_DATABASE=PERC 3/DiJ [Jaguar]
+
+pci:v00001028d0000000Asv00001028sd0000011B*
+ ID_MODEL_FROM_DATABASE=PERC 3/DiD [Dagger]
+
+pci:v00001028d0000000Asv00001028sd00000121*
+ ID_MODEL_FROM_DATABASE=PERC 3/DiB [Boxster]
+
+pci:v00001028d0000000C*
+ ID_MODEL_FROM_DATABASE=Embedded Remote Access or ERA/O
+
+pci:v00001028d0000000D*
+ ID_MODEL_FROM_DATABASE=Embedded Remote Access: BMC/SMIC device
+
+pci:v00001028d0000000E*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4/Di
+
+pci:v00001028d0000000F*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4/Di
+
+pci:v00001028d0000000Fsv00001028sd0000014A*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1750
+
+pci:v00001028d00000010*
+ ID_MODEL_FROM_DATABASE=Remote Access Card 4
+
+pci:v00001028d00000011*
+ ID_MODEL_FROM_DATABASE=Remote Access Card 4 Daughter Card
+
+pci:v00001028d00000012*
+ ID_MODEL_FROM_DATABASE=Remote Access Card 4 Daughter Card Virtual UART
+
+pci:v00001028d00000013*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4
+
+pci:v00001028d00000013sv00001028sd0000016C*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Si
+
+pci:v00001028d00000013sv00001028sd0000016D*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di
+
+pci:v00001028d00000013sv00001028sd0000016E*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di
+
+pci:v00001028d00000013sv00001028sd0000016F*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di
+
+pci:v00001028d00000013sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di
+
+pci:v00001028d00000014*
+ ID_MODEL_FROM_DATABASE=Remote Access Card 4 Daughter Card SMIC interface
+
+pci:v00001028d00000015*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5
+
+pci:v00001028d00000015sv00001028sd00001F01*
+ ID_MODEL_FROM_DATABASE=PERC 5/E Adapter RAID Controller
+
+pci:v00001028d00000015sv00001028sd00001F02*
+ ID_MODEL_FROM_DATABASE=PERC 5/i Adapter RAID Controller
+
+pci:v00001028d00000015sv00001028sd00001F03*
+ ID_MODEL_FROM_DATABASE=PERC 5/i Integrated RAID Controller
+
+pci:v00001028d00000016*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller S300
+
+pci:v00001028d00000016sv00001028sd00001F24*
+ ID_MODEL_FROM_DATABASE=PERC S300 Controller
+
+pci:v00001029*
+ ID_VENDOR_FROM_DATABASE=Siemens Nixdorf IS
+
+pci:v0000102A*
+ ID_VENDOR_FROM_DATABASE=LSI Logic
+
+pci:v0000102Ad00000000*
+ ID_MODEL_FROM_DATABASE=HYDRA
+
+pci:v0000102Ad00000010*
+ ID_MODEL_FROM_DATABASE=ASPEN
+
+pci:v0000102Ad0000001F*
+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers
+
+pci:v0000102Ad0000001Fsv00009005sd0000000F*
+ ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller
+
+pci:v0000102Ad0000001Fsv00009005sd00000106*
+ ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller
+
+pci:v0000102Ad0000001Fsv00009005sd0000A180*
+ ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller
+
+pci:v0000102Ad000000C5*
+ ID_MODEL_FROM_DATABASE=AIC-7899 U160/m SCSI Controller
+
+pci:v0000102Ad000000C5sv00001028sd000000C5*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2550/2650/4600
+
+pci:v0000102Ad000000CF*
+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m
+
+pci:v0000102Ad000000CFsv00001028sd00000106*
+ ID_MODEL_FROM_DATABASE=PowerEdge 4600
+
+pci:v0000102Ad000000CFsv00001028sd00000121*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2650
+
+pci:v0000102B*
+ ID_VENDOR_FROM_DATABASE=Matrox Electronics Systems Ltd.
+
+pci:v0000102Bd00000010*
+ ID_MODEL_FROM_DATABASE=MGA-I [Impression?]
+
+pci:v0000102Bd00000100*
+ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique]
+
+pci:v0000102Bd00000518*
+ ID_MODEL_FROM_DATABASE=MGA-II [Athena]
+
+pci:v0000102Bd00000519*
+ ID_MODEL_FROM_DATABASE=MGA 2064W [Millennium]
+
+pci:v0000102Bd0000051A*
+ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique]
+
+pci:v0000102Bd0000051Asv0000102Bsd00000100*
+ ID_MODEL_FROM_DATABASE=MGA-1064SG Mystique
+
+pci:v0000102Bd0000051Asv0000102Bsd00001100*
+ ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique
+
+pci:v0000102Bd0000051Asv0000102Bsd00001200*
+ ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique
+
+pci:v0000102Bd0000051Asv00001100sd0000102B*
+ ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique
+
+pci:v0000102Bd0000051Asv0000110Asd00000018*
+ ID_MODEL_FROM_DATABASE=Scenic Pro C5 (D1025)
+
+pci:v0000102Bd0000051B*
+ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II]
+
+pci:v0000102Bd0000051Bsv0000102Bsd0000051B*
+ ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II
+
+pci:v0000102Bd0000051Bsv0000102Bsd00001100*
+ ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II
+
+pci:v0000102Bd0000051Bsv0000102Bsd00001200*
+ ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II
+
+pci:v0000102Bd0000051Bsv0000102Bsd00002100*
+ ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II
+
+pci:v0000102Bd0000051E*
+ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] AGP
+
+pci:v0000102Bd0000051F*
+ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] AGP
+
+pci:v0000102Bd00000520*
+ ID_MODEL_FROM_DATABASE=MGA G200
+
+pci:v0000102Bd00000520sv0000102Bsd0000DBC2*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000520sv0000102Bsd0000DBC8*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000520sv0000102Bsd0000DBE2*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000520sv0000102Bsd0000DBE8*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000520sv0000102Bsd0000FF03*
+ ID_MODEL_FROM_DATABASE=Millennium G200 SD
+
+pci:v0000102Bd00000520sv0000102Bsd0000FF04*
+ ID_MODEL_FROM_DATABASE=Marvel G200
+
+pci:v0000102Bd00000521*
+ ID_MODEL_FROM_DATABASE=MGA G200 AGP
+
+pci:v0000102Bd00000521sv00001014sd0000FF03*
+ ID_MODEL_FROM_DATABASE=Millennium G200 AGP
+
+pci:v0000102Bd00000521sv0000102Bsd000048E9*
+ ID_MODEL_FROM_DATABASE=Mystique G200 AGP
+
+pci:v0000102Bd00000521sv0000102Bsd000048F8*
+ ID_MODEL_FROM_DATABASE=Millennium G200 SD AGP
+
+pci:v0000102Bd00000521sv0000102Bsd00004A60*
+ ID_MODEL_FROM_DATABASE=Millennium G200 LE AGP
+
+pci:v0000102Bd00000521sv0000102Bsd00004A64*
+ ID_MODEL_FROM_DATABASE=Millennium G200 AGP
+
+pci:v0000102Bd00000521sv0000102Bsd0000C93C*
+ ID_MODEL_FROM_DATABASE=Millennium G200 AGP
+
+pci:v0000102Bd00000521sv0000102Bsd0000C9B0*
+ ID_MODEL_FROM_DATABASE=Millennium G200 AGP
+
+pci:v0000102Bd00000521sv0000102Bsd0000C9BC*
+ ID_MODEL_FROM_DATABASE=Millennium G200 AGP
+
+pci:v0000102Bd00000521sv0000102Bsd0000CA60*
+ ID_MODEL_FROM_DATABASE=Millennium G250 LE AGP
+
+pci:v0000102Bd00000521sv0000102Bsd0000CA6C*
+ ID_MODEL_FROM_DATABASE=Millennium G250 AGP
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBBC*
+ ID_MODEL_FROM_DATABASE=Millennium G200 AGP
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBC2*
+ ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Dual G200)
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBC3*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBC8*
+ ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Dual G200)
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBD2*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBD3*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBD4*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBD5*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBD8*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBD9*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBE2*
+ ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Quad G200)
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBE3*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBE8*
+ ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Quad G200)
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBF2*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBF3*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBF4*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBF5*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBF8*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000DBF9*
+ ID_MODEL_FROM_DATABASE=G200 Multi-Monitor
+
+pci:v0000102Bd00000521sv0000102Bsd0000F806*
+ ID_MODEL_FROM_DATABASE=Mystique G200 Video AGP
+
+pci:v0000102Bd00000521sv0000102Bsd0000FF00*
+ ID_MODEL_FROM_DATABASE=MGA-G200 AGP
+
+pci:v0000102Bd00000521sv0000102Bsd0000FF02*
+ ID_MODEL_FROM_DATABASE=Mystique G200 AGP
+
+pci:v0000102Bd00000521sv0000102Bsd0000FF03*
+ ID_MODEL_FROM_DATABASE=Millennium G200 AGP
+
+pci:v0000102Bd00000521sv0000102Bsd0000FF04*
+ ID_MODEL_FROM_DATABASE=Marvel G200 AGP
+
+pci:v0000102Bd00000521sv0000110Asd00000032*
+ ID_MODEL_FROM_DATABASE=MGA-G200 AGP
+
+pci:v0000102Bd00000522*
+ ID_MODEL_FROM_DATABASE=MGA G200e [Pilot] ServerEngines (SEP1)
+
+pci:v0000102Bd00000522sv0000103Csd000031FA*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v0000102Bd00000525*
+ ID_MODEL_FROM_DATABASE=MGA G400/G450
+
+pci:v0000102Bd00000525sv00000E11sd0000B16F*
+ ID_MODEL_FROM_DATABASE=MGA-G400 AGP
+
+pci:v0000102Bd00000525sv0000102Bsd00000328*
+ ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SDRAM
+
+pci:v0000102Bd00000525sv0000102Bsd00000338*
+ ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SDRAM
+
+pci:v0000102Bd00000525sv0000102Bsd00000378*
+ ID_MODEL_FROM_DATABASE=Millennium G400 32Mb SDRAM
+
+pci:v0000102Bd00000525sv0000102Bsd00000541*
+ ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head
+
+pci:v0000102Bd00000525sv0000102Bsd00000542*
+ ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LX
+
+pci:v0000102Bd00000525sv0000102Bsd00000543*
+ ID_MODEL_FROM_DATABASE=Millennium G450 Single Head LX
+
+pci:v0000102Bd00000525sv0000102Bsd00000641*
+ ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Dual Head
+
+pci:v0000102Bd00000525sv0000102Bsd00000642*
+ ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Dual Head LX
+
+pci:v0000102Bd00000525sv0000102Bsd00000643*
+ ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Single Head LX
+
+pci:v0000102Bd00000525sv0000102Bsd000007C0*
+ ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LE
+
+pci:v0000102Bd00000525sv0000102Bsd000007C1*
+ ID_MODEL_FROM_DATABASE=Millennium G450 SDR Dual Head LE
+
+pci:v0000102Bd00000525sv0000102Bsd00000D41*
+ ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head PCI
+
+pci:v0000102Bd00000525sv0000102Bsd00000D42*
+ ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LX PCI
+
+pci:v0000102Bd00000525sv0000102Bsd00000D43*
+ ID_MODEL_FROM_DATABASE=Millennium G450 32Mb Dual Head PCI
+
+pci:v0000102Bd00000525sv0000102Bsd00000E00*
+ ID_MODEL_FROM_DATABASE=Marvel G450 eTV
+
+pci:v0000102Bd00000525sv0000102Bsd00000E01*
+ ID_MODEL_FROM_DATABASE=Marvel G450 eTV
+
+pci:v0000102Bd00000525sv0000102Bsd00000E02*
+ ID_MODEL_FROM_DATABASE=Marvel G450 eTV
+
+pci:v0000102Bd00000525sv0000102Bsd00000E03*
+ ID_MODEL_FROM_DATABASE=Marvel G450 eTV
+
+pci:v0000102Bd00000525sv0000102Bsd00000F80*
+ ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile
+
+pci:v0000102Bd00000525sv0000102Bsd00000F81*
+ ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile
+
+pci:v0000102Bd00000525sv0000102Bsd00000F82*
+ ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile DVI
+
+pci:v0000102Bd00000525sv0000102Bsd00000F83*
+ ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile DVI
+
+pci:v0000102Bd00000525sv0000102Bsd000019D8*
+ ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SGRAM
+
+pci:v0000102Bd00000525sv0000102Bsd000019F8*
+ ID_MODEL_FROM_DATABASE=Millennium G400 32Mb SGRAM
+
+pci:v0000102Bd00000525sv0000102Bsd00002159*
+ ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head 16Mb
+
+pci:v0000102Bd00000525sv0000102Bsd00002179*
+ ID_MODEL_FROM_DATABASE=Millennium G400 MAX/Dual Head 32Mb
+
+pci:v0000102Bd00000525sv0000102Bsd0000217D*
+ ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head Max
+
+pci:v0000102Bd00000525sv0000102Bsd000023C0*
+ ID_MODEL_FROM_DATABASE=Millennium G450
+
+pci:v0000102Bd00000525sv0000102Bsd000023C1*
+ ID_MODEL_FROM_DATABASE=Millennium G450
+
+pci:v0000102Bd00000525sv0000102Bsd000023C2*
+ ID_MODEL_FROM_DATABASE=Millennium G450 DVI
+
+pci:v0000102Bd00000525sv0000102Bsd000023C3*
+ ID_MODEL_FROM_DATABASE=Millennium G450 DVI
+
+pci:v0000102Bd00000525sv0000102Bsd00002F58*
+ ID_MODEL_FROM_DATABASE=Millennium G400
+
+pci:v0000102Bd00000525sv0000102Bsd00002F78*
+ ID_MODEL_FROM_DATABASE=Millennium G400
+
+pci:v0000102Bd00000525sv0000102Bsd00003693*
+ ID_MODEL_FROM_DATABASE=Marvel G400 AGP
+
+pci:v0000102Bd00000525sv0000102Bsd00005DD0*
+ ID_MODEL_FROM_DATABASE=4Sight II
+
+pci:v0000102Bd00000525sv0000102Bsd00005F50*
+ ID_MODEL_FROM_DATABASE=4Sight II
+
+pci:v0000102Bd00000525sv0000102Bsd00005F51*
+ ID_MODEL_FROM_DATABASE=4Sight II
+
+pci:v0000102Bd00000525sv0000102Bsd00005F52*
+ ID_MODEL_FROM_DATABASE=4Sight II
+
+pci:v0000102Bd00000525sv0000102Bsd00009010*
+ ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head
+
+pci:v0000102Bd00000525sv00001458sd00000400*
+ ID_MODEL_FROM_DATABASE=GA-G400
+
+pci:v0000102Bd00000525sv00001705sd00000001*
+ ID_MODEL_FROM_DATABASE=Millennium G450 32MB SGRAM
+
+pci:v0000102Bd00000525sv00001705sd00000002*
+ ID_MODEL_FROM_DATABASE=Millennium G450 16MB SGRAM
+
+pci:v0000102Bd00000525sv00001705sd00000003*
+ ID_MODEL_FROM_DATABASE=Millennium G450 32MB
+
+pci:v0000102Bd00000525sv00001705sd00000004*
+ ID_MODEL_FROM_DATABASE=Millennium G450 16MB
+
+pci:v0000102Bd00000527*
+ ID_MODEL_FROM_DATABASE=Parhelia
+
+pci:v0000102Bd00000527sv0000102Bsd00000840*
+ ID_MODEL_FROM_DATABASE=Parhelia 128Mb
+
+pci:v0000102Bd00000527sv0000102Bsd00000850*
+ ID_MODEL_FROM_DATABASE=Parhelia 256MB
+
+pci:v0000102Bd00000527sv0000102Bsd00000870*
+ ID_MODEL_FROM_DATABASE=MED2mp-DVI
+
+pci:v0000102Bd00000527sv0000102Bsd00000880*
+ ID_MODEL_FROM_DATABASE=P-256 Edge Overlap Controller
+
+pci:v0000102Bd00000528*
+ ID_MODEL_FROM_DATABASE=Parhelia
+
+pci:v0000102Bd00000528sv0000102Bsd00001020*
+ ID_MODEL_FROM_DATABASE=Parhelia 128MB
+
+pci:v0000102Bd00000528sv0000102Bsd00001030*
+ ID_MODEL_FROM_DATABASE=Parhelia 256 MB Dual DVI
+
+pci:v0000102Bd00000528sv0000102Bsd00001040*
+ ID_MODEL_FROM_DATABASE=MED2mp-DVI
+
+pci:v0000102Bd00000528sv0000102Bsd00001050*
+ ID_MODEL_FROM_DATABASE=Sono S20
+
+pci:v0000102Bd00000528sv0000102Bsd00001060*
+ ID_MODEL_FROM_DATABASE=PJ-30L
+
+pci:v0000102Bd00000528sv0000102Bsd00001070*
+ ID_MODEL_FROM_DATABASE=PJ-40L
+
+pci:v0000102Bd00000528sv0000102Bsd00001421*
+ ID_MODEL_FROM_DATABASE=MED5mp
+
+pci:v0000102Bd00000528sv0000102Bsd00001431*
+ ID_MODEL_FROM_DATABASE=MED3mp-DVI
+
+pci:v0000102Bd00000528sv0000102Bsd00001451*
+ ID_MODEL_FROM_DATABASE=MED5mp-DVI
+
+pci:v0000102Bd00000528sv0000102Bsd00001491*
+ ID_MODEL_FROM_DATABASE=MED2mp-DVI
+
+pci:v0000102Bd00000528sv0000102Bsd000014B1*
+ ID_MODEL_FROM_DATABASE=MED3mp-DVI
+
+pci:v0000102Bd00000528sv0000102Bsd000014C1*
+ ID_MODEL_FROM_DATABASE=MED5mp-DVI
+
+pci:v0000102Bd00000528sv0000102Bsd000014E1*
+ ID_MODEL_FROM_DATABASE=Parhelia PCI 256MB
+
+pci:v0000102Bd00000528sv0000102Bsd000014F1*
+ ID_MODEL_FROM_DATABASE=Parhelia Precision SGT
+
+pci:v0000102Bd00000528sv0000102Bsd00001501*
+ ID_MODEL_FROM_DATABASE=ATC-4MP
+
+pci:v0000102Bd00000528sv0000102Bsd00001511*
+ ID_MODEL_FROM_DATABASE=ATC-4MP
+
+pci:v0000102Bd00000528sv0000102Bsd00001521*
+ ID_MODEL_FROM_DATABASE=TheatreVUE T30
+
+pci:v0000102Bd00000528sv0000102Bsd00001531*
+ ID_MODEL_FROM_DATABASE=TheatreVUE T20
+
+pci:v0000102Bd00000528sv0000102Bsd00001541*
+ ID_MODEL_FROM_DATABASE=MED2mp-DVI
+
+pci:v0000102Bd00000528sv0000102Bsd00001551*
+ ID_MODEL_FROM_DATABASE=MED3mp-DVI
+
+pci:v0000102Bd00000528sv0000102Bsd00001561*
+ ID_MODEL_FROM_DATABASE=MED5mp-DVI
+
+pci:v0000102Bd00000528sv0000102Bsd00001571*
+ ID_MODEL_FROM_DATABASE=Parhelia DL256 PCI
+
+pci:v0000102Bd00000528sv0000102Bsd00001591*
+ ID_MODEL_FROM_DATABASE=Parhelia Precision SDT
+
+pci:v0000102Bd00000528sv0000102Bsd000015A1*
+ ID_MODEL_FROM_DATABASE=MED4mp-DVI
+
+pci:v0000102Bd00000528sv0000102Bsd00002011*
+ ID_MODEL_FROM_DATABASE=Parhelia HR256
+
+pci:v0000102Bd00000528sv0000102Bsd00002021*
+ ID_MODEL_FROM_DATABASE=QID Pro
+
+pci:v0000102Bd00000528sv0000102Bsd00002061*
+ ID_MODEL_FROM_DATABASE=PJ-40LP
+
+pci:v0000102Bd00000528sv0000102Bsd00002081*
+ ID_MODEL_FROM_DATABASE=EWS Quad
+
+pci:v0000102Bd00000528sv0000102Bsd00002411*
+ ID_MODEL_FROM_DATABASE=PPX-OUT8
+
+pci:v0000102Bd00000528sv0000102Bsd00002421*
+ ID_MODEL_FROM_DATABASE=VPX-OUT8
+
+pci:v0000102Bd00000528sv0000102Bsd00002441*
+ ID_MODEL_FROM_DATABASE=PPX-OUT4
+
+pci:v0000102Bd00000528sv0000102Bsd00002451*
+ ID_MODEL_FROM_DATABASE=VPX-OUT4
+
+pci:v0000102Bd00000528sv0000102Bsd00002491*
+ ID_MODEL_FROM_DATABASE=LPX-OUT4
+
+pci:v0000102Bd00000530*
+ ID_MODEL_FROM_DATABASE=MGA G200EV
+
+pci:v0000102Bd00000532*
+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450
+
+pci:v0000102Bd00000532sv00001028sd00000235*
+ ID_MODEL_FROM_DATABASE=PowerEdge R710 MGA G200eW WPCM450
+
+pci:v0000102Bd00000532sv00001028sd00000236*
+ ID_MODEL_FROM_DATABASE=PowerEdge R610 MGA G200eW WPCM450
+
+pci:v0000102Bd00000532sv00001028sd00000237*
+ ID_MODEL_FROM_DATABASE=PowerEdge T610 MGA G200eW WPCM450
+
+pci:v0000102Bd00000532sv00001028sd00000287*
+ ID_MODEL_FROM_DATABASE=PowerEdge M610 MGA G200eW WPCM450
+
+pci:v0000102Bd00000532sv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 MGA G200eW WPCM450
+
+pci:v0000102Bd00000532sv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 MGA G200eW WPCM450
+
+pci:v0000102Bd00000532sv00001028sd0000029C*
+ ID_MODEL_FROM_DATABASE=PowerEdge M710 MGA G200eW WPCM450
+
+pci:v0000102Bd00000532sv00001028sd000002A4*
+ ID_MODEL_FROM_DATABASE=PowerEdge T310 MGA G200eW WPCM450
+
+pci:v0000102Bd00000532sv000015D9sd0000A811*
+ ID_MODEL_FROM_DATABASE=H8DGU
+
+pci:v0000102Bd00000533*
+ ID_MODEL_FROM_DATABASE=MGA G200EH
+
+pci:v0000102Bd00000533sv0000103Csd00003381*
+ ID_MODEL_FROM_DATABASE=iLO4
+
+pci:v0000102Bd00000534*
+ ID_MODEL_FROM_DATABASE=G200eR2
+
+pci:v0000102Bd00000540*
+ ID_MODEL_FROM_DATABASE=M91XX
+
+pci:v0000102Bd00000540sv0000102Bsd00002080*
+ ID_MODEL_FROM_DATABASE=M9140 LP PCIe x16
+
+pci:v0000102Bd00000540sv0000102Bsd000020C0*
+ ID_MODEL_FROM_DATABASE=Xenia
+
+pci:v0000102Bd00000540sv0000102Bsd000020C1*
+ ID_MODEL_FROM_DATABASE=Xenia Pro
+
+pci:v0000102Bd00000540sv0000102Bsd00002100*
+ ID_MODEL_FROM_DATABASE=M9120 PCIe x16
+
+pci:v0000102Bd00000540sv0000102Bsd00002140*
+ ID_MODEL_FROM_DATABASE=M9125 PCIe x16
+
+pci:v0000102Bd00000540sv0000102Bsd00002180*
+ ID_MODEL_FROM_DATABASE=M9120 Plus LP PCIe x16
+
+pci:v0000102Bd00000540sv0000102Bsd000021C0*
+ ID_MODEL_FROM_DATABASE=M9120 Plus LP PCIe x1
+
+pci:v0000102Bd00000540sv0000102Bsd00002200*
+ ID_MODEL_FROM_DATABASE=VDA1164 Output Board
+
+pci:v0000102Bd00000540sv0000102Bsd00002240*
+ ID_MODEL_FROM_DATABASE=M9148 LP PCIe x16
+
+pci:v0000102Bd00000540sv0000102Bsd00002241*
+ ID_MODEL_FROM_DATABASE=M9138 LP PCIe x16
+
+pci:v0000102Bd00000540sv0000102Bsd00002280*
+ ID_MODEL_FROM_DATABASE=M9188 ATX PCIe x16
+
+pci:v0000102Bd00000540sv0000102Bsd000022C0*
+ ID_MODEL_FROM_DATABASE=M9128 LP PCIe x16
+
+pci:v0000102Bd00000D10*
+ ID_MODEL_FROM_DATABASE=MGA Ultima/Impression
+
+pci:v0000102Bd00001000*
+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva]
+
+pci:v0000102Bd00001000sv0000102Bsd0000FF01*
+ ID_MODEL_FROM_DATABASE=Productiva G100
+
+pci:v0000102Bd00001000sv0000102Bsd0000FF05*
+ ID_MODEL_FROM_DATABASE=Productiva G100 Multi-Monitor
+
+pci:v0000102Bd00001001*
+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP
+
+pci:v0000102Bd00001001sv0000102Bsd00001001*
+ ID_MODEL_FROM_DATABASE=MGA-G100 AGP
+
+pci:v0000102Bd00001001sv0000102Bsd0000FF00*
+ ID_MODEL_FROM_DATABASE=MGA-G100 AGP
+
+pci:v0000102Bd00001001sv0000102Bsd0000FF01*
+ ID_MODEL_FROM_DATABASE=MGA-G100 Productiva AGP
+
+pci:v0000102Bd00001001sv0000102Bsd0000FF03*
+ ID_MODEL_FROM_DATABASE=Millennium G100 AGP
+
+pci:v0000102Bd00001001sv0000102Bsd0000FF04*
+ ID_MODEL_FROM_DATABASE=MGA-G100 AGP
+
+pci:v0000102Bd00001001sv0000102Bsd0000FF05*
+ ID_MODEL_FROM_DATABASE=MGA-G100 Productiva AGP Multi-Monitor
+
+pci:v0000102Bd00001001sv0000110Asd0000001E*
+ ID_MODEL_FROM_DATABASE=MGA-G100 AGP
+
+pci:v0000102Bd00002007*
+ ID_MODEL_FROM_DATABASE=MGA Mistral
+
+pci:v0000102Bd00002527*
+ ID_MODEL_FROM_DATABASE=Millennium G550
+
+pci:v0000102Bd00002527sv0000102Bsd00000F83*
+ ID_MODEL_FROM_DATABASE=Millennium G550
+
+pci:v0000102Bd00002527sv0000102Bsd00000F84*
+ ID_MODEL_FROM_DATABASE=Millennium G550 Dual Head DDR 32Mb
+
+pci:v0000102Bd00002527sv0000102Bsd00001E41*
+ ID_MODEL_FROM_DATABASE=Millennium G550
+
+pci:v0000102Bd00002527sv0000102Bsd00002300*
+ ID_MODEL_FROM_DATABASE=Millennium G550 LP PCIE
+
+pci:v0000102Bd00002537*
+ ID_MODEL_FROM_DATABASE=Millenium P650/P750
+
+pci:v0000102Bd00002537sv0000102Bsd00001820*
+ ID_MODEL_FROM_DATABASE=Millennium P750 64MB
+
+pci:v0000102Bd00002537sv0000102Bsd00001830*
+ ID_MODEL_FROM_DATABASE=Millennium P650 64MB
+
+pci:v0000102Bd00002537sv0000102Bsd00001850*
+ ID_MODEL_FROM_DATABASE=RAD2mp
+
+pci:v0000102Bd00002537sv0000102Bsd00001860*
+ ID_MODEL_FROM_DATABASE=RAD3mp
+
+pci:v0000102Bd00002537sv0000102Bsd00001880*
+ ID_MODEL_FROM_DATABASE=Sono S10
+
+pci:v0000102Bd00002537sv0000102Bsd00001C10*
+ ID_MODEL_FROM_DATABASE=QID 128MB
+
+pci:v0000102Bd00002537sv0000102Bsd00002811*
+ ID_MODEL_FROM_DATABASE=Millennium P650 Low-profile PCI 64MB
+
+pci:v0000102Bd00002537sv0000102Bsd00002821*
+ ID_MODEL_FROM_DATABASE=Millenium P650 Low-profile PCI
+
+pci:v0000102Bd00002537sv0000102Bsd00002841*
+ ID_MODEL_FROM_DATABASE=RAD PCI
+
+pci:v0000102Bd00002537sv0000102Bsd00002851*
+ ID_MODEL_FROM_DATABASE=Spectrum PCI
+
+pci:v0000102Bd00002537sv0000102Bsd00002871*
+ ID_MODEL_FROM_DATABASE=EpicA TC2
+
+pci:v0000102Bd00002537sv0000102Bsd00002C11*
+ ID_MODEL_FROM_DATABASE=QID Low-profile PCI
+
+pci:v0000102Bd00002537sv0000102Bsd00002C21*
+ ID_MODEL_FROM_DATABASE=QID LP PCI LW
+
+pci:v0000102Bd00002537sv0000102Bsd00002C31*
+ ID_MODEL_FROM_DATABASE=QID LP PCI
+
+pci:v0000102Bd00002537sv0000102Bsd00002C41*
+ ID_MODEL_FROM_DATABASE=EpicA TC4
+
+pci:v0000102Bd00002537sv0000102Bsd00003001*
+ ID_MODEL_FROM_DATABASE=Extio F1400
+
+pci:v0000102Bd00002537sv0000102Bsd00003011*
+ ID_MODEL_FROM_DATABASE=Extio F1220
+
+pci:v0000102Bd00002537sv0000102Bsd00003041*
+ ID_MODEL_FROM_DATABASE=RG-200DL
+
+pci:v0000102Bd00002537sv0000102Bsd00003051*
+ ID_MODEL_FROM_DATABASE=RG-400SL
+
+pci:v0000102Bd00002537sv0000102Bsd00003061*
+ ID_MODEL_FROM_DATABASE=Extio F1420
+
+pci:v0000102Bd00002537sv0000102Bsd00003081*
+ ID_MODEL_FROM_DATABASE=Extio F1240
+
+pci:v0000102Bd00002538*
+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe
+
+pci:v0000102Bd00002538sv0000102Bsd00000847*
+ ID_MODEL_FROM_DATABASE=RAD PCIe
+
+pci:v0000102Bd00002538sv0000102Bsd000008C7*
+ ID_MODEL_FROM_DATABASE=Millennium P650 PCIe 128MB
+
+pci:v0000102Bd00002538sv0000102Bsd00000907*
+ ID_MODEL_FROM_DATABASE=Millennium P650 PCIe 64MB
+
+pci:v0000102Bd00002538sv0000102Bsd00000947*
+ ID_MODEL_FROM_DATABASE=Parhelia APVe
+
+pci:v0000102Bd00002538sv0000102Bsd00000987*
+ ID_MODEL_FROM_DATABASE=ATC PCIe 4MP
+
+pci:v0000102Bd00002538sv0000102Bsd00001047*
+ ID_MODEL_FROM_DATABASE=Millennium P650 LP PCIe 128MB
+
+pci:v0000102Bd00002538sv0000102Bsd00001087*
+ ID_MODEL_FROM_DATABASE=Millennium P650 LP PCIe 64MB
+
+pci:v0000102Bd00002538sv0000102Bsd00001801*
+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe x1
+
+pci:v0000102Bd00002538sv0000102Bsd00002538*
+ ID_MODEL_FROM_DATABASE=Parhelia APVe
+
+pci:v0000102Bd00002538sv0000102Bsd00003007*
+ ID_MODEL_FROM_DATABASE=QID Low-profile PCIe
+
+pci:v0000102Bd00002538sv0000102Bsd00003087*
+ ID_MODEL_FROM_DATABASE=Aurora VX3mp
+
+pci:v0000102Bd00002538sv0000102Bsd000030C7*
+ ID_MODEL_FROM_DATABASE=QID LP PCIe
+
+pci:v0000102Bd00002539*
+ ID_MODEL_FROM_DATABASE=Millennium P690
+
+pci:v0000102Bd00002539sv0000102Bsd00000040*
+ ID_MODEL_FROM_DATABASE=Millenium P690 PCIe x16
+
+pci:v0000102Bd00002539sv0000102Bsd00000042*
+ ID_MODEL_FROM_DATABASE=ONYX
+
+pci:v0000102Bd00002539sv0000102Bsd00000043*
+ ID_MODEL_FROM_DATABASE=SPECTRA
+
+pci:v0000102Bd00002539sv0000102Bsd00000080*
+ ID_MODEL_FROM_DATABASE=Millenium P690 Plus LP PCIe x16
+
+pci:v0000102Bd00002539sv0000102Bsd00000081*
+ ID_MODEL_FROM_DATABASE=Millenium P690 LP PCIe x16
+
+pci:v0000102Bd00002539sv0000102Bsd00000082*
+ ID_MODEL_FROM_DATABASE=RAD LPX PCIe x16
+
+pci:v0000102Bd00002539sv0000102Bsd000000C0*
+ ID_MODEL_FROM_DATABASE=Millenium P690 Plus LP PCI
+
+pci:v0000102Bd00002539sv0000102Bsd000000C2*
+ ID_MODEL_FROM_DATABASE=Millenium P690 LP PCI
+
+pci:v0000102Bd00002539sv0000102Bsd000000C3*
+ ID_MODEL_FROM_DATABASE=RAD LPX PCI
+
+pci:v0000102Bd00002539sv0000102Bsd00000101*
+ ID_MODEL_FROM_DATABASE=Millenium P690 PCI
+
+pci:v0000102Bd00002539sv0000102Bsd00000140*
+ ID_MODEL_FROM_DATABASE=Millenium P690 LP PCIe x1
+
+pci:v0000102Bd00002539sv0000102Bsd00000180*
+ ID_MODEL_FROM_DATABASE=Display Wall IP Decode 128 MB
+
+pci:v0000102Bd00004164*
+ ID_MODEL_FROM_DATABASE=Morphis QxT frame grabber
+
+pci:v0000102Bd000043B4*
+ ID_MODEL_FROM_DATABASE=Morphis Qxt encoding engine
+
+pci:v0000102Bd00004510*
+ ID_MODEL_FROM_DATABASE=Morphis COM port
+
+pci:v0000102Bd00004536*
+ ID_MODEL_FROM_DATABASE=VIA Framegrabber
+
+pci:v0000102Bd00004686*
+ ID_MODEL_FROM_DATABASE=Concord GX (customized Intel 82541)
+
+pci:v0000102Bd0000475B*
+ ID_MODEL_FROM_DATABASE=Solios eCL/XCL-B frame grabber
+
+pci:v0000102Bd0000475D*
+ ID_MODEL_FROM_DATABASE=Vio frame grabber family
+
+pci:v0000102Bd0000475Dsv0000102Bsd00004B90*
+ ID_MODEL_FROM_DATABASE=Vio Duo frame grabber (single channel)
+
+pci:v0000102Bd0000475Dsv0000102Bsd00004B91*
+ ID_MODEL_FROM_DATABASE=Vio Duo frame grabber
+
+pci:v0000102Bd0000475Dsv0000102Bsd00004B92*
+ ID_MODEL_FROM_DATABASE=Vio Analog frame grabber
+
+pci:v0000102Bd0000475Dsv0000102Bsd00004B93*
+ ID_MODEL_FROM_DATABASE=Vio SDI Frame Grabber
+
+pci:v0000102Bd0000475Dsv0000102Bsd00004B94*
+ ID_MODEL_FROM_DATABASE=Vio DVI-A frame grabber
+
+pci:v0000102Bd0000475F*
+ ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber
+
+pci:v0000102Bd0000475Fsv0000102Bsd0000475F*
+ ID_MODEL_FROM_DATABASE=Solios eCL/XCL-F frame grabber
+
+pci:v0000102Bd0000475Fsv0000102Bsd00004D5F*
+ ID_MODEL_FROM_DATABASE=Solios eV-CL (single-Full) frame grabber
+
+pci:v0000102Bd0000475Fsv0000102Bsd00004E5F*
+ ID_MODEL_FROM_DATABASE=Solios eM-CL (single-Full) frame grabber
+
+pci:v0000102Bd000047A1*
+ ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber
+
+pci:v0000102Bd000047A1sv0000102Bsd00004BE0*
+ ID_MODEL_FROM_DATABASE=Solios eA/XA (single) frame grabber
+
+pci:v0000102Bd000047A1sv0000102Bsd00004BE1*
+ ID_MODEL_FROM_DATABASE=Solios eA/XA (dual) frame grabber
+
+pci:v0000102Bd000047A1sv0000102Bsd00004BE2*
+ ID_MODEL_FROM_DATABASE=Solios eA/XA (quad) frame grabber
+
+pci:v0000102Bd000047A2*
+ ID_MODEL_FROM_DATABASE=Solios COM port
+
+pci:v0000102Bd000047C1*
+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber
+
+pci:v0000102Bd000047C1sv0000102Bsd00000000*
+ ID_MODEL_FROM_DATABASE=Solios frame grabber
+
+pci:v0000102Bd000047C1sv0000102Bsd00004B80*
+ ID_MODEL_FROM_DATABASE=Solios eCL/XCL (single-Medium) frame grabber
+
+pci:v0000102Bd000047C1sv0000102Bsd00004B81*
+ ID_MODEL_FROM_DATABASE=Solios eCL/XCL (dual-Base) frame grabber
+
+pci:v0000102Bd000047C1sv0000102Bsd00004D80*
+ ID_MODEL_FROM_DATABASE=Solios eV-CL (single-Medium) frame grabber
+
+pci:v0000102Bd000047C1sv0000102Bsd00004D81*
+ ID_MODEL_FROM_DATABASE=Solios eV-CL (dual-Base) frame grabber
+
+pci:v0000102Bd000047C1sv0000102Bsd00004E80*
+ ID_MODEL_FROM_DATABASE=Solios eM-CL (single-Medium) frame grabber
+
+pci:v0000102Bd000047C1sv0000102Bsd00004E81*
+ ID_MODEL_FROM_DATABASE=Solios eM-CL (dual-Base) frame grabber
+
+pci:v0000102Bd000047C2*
+ ID_MODEL_FROM_DATABASE=Solios COM port
+
+pci:v0000102Bd00004949*
+ ID_MODEL_FROM_DATABASE=Radient frame grabber family
+
+pci:v0000102Bd00004949sv0000102Bsd00000010*
+ ID_MODEL_FROM_DATABASE=Radient eCL (Single-full) frame grabber
+
+pci:v0000102Bd00004949sv0000102Bsd00000020*
+ ID_MODEL_FROM_DATABASE=Radient eCL (Dual-base) frame grabber
+
+pci:v0000102Bd00004949sv0000102Bsd00000030*
+ ID_MODEL_FROM_DATABASE=Radient eCL (Dual-full) frame grabber
+
+pci:v0000102Bd00004949sv0000102Bsd00000040*
+ ID_MODEL_FROM_DATABASE=Radient eCL (Quad-base) frame grabber
+
+pci:v0000102Bd00004949sv0000102Bsd00000050*
+ ID_MODEL_FROM_DATABASE=Radient eCL (Golden) frame grabber
+
+pci:v0000102Bd00004CDC*
+ ID_MODEL_FROM_DATABASE=Morphis JPEG2000 accelerator
+
+pci:v0000102Bd00004F54*
+ ID_MODEL_FROM_DATABASE=Morphis (e)Quad frame grabber
+
+pci:v0000102Bd00004FC5*
+ ID_MODEL_FROM_DATABASE=Morphis (e)Dual frame grabber
+
+pci:v0000102Bd00005E10*
+ ID_MODEL_FROM_DATABASE=Morphis aux I/O
+
+pci:v0000102Bd00006573*
+ ID_MODEL_FROM_DATABASE=Shark 10/100 Multiport SwitchNIC
+
+pci:v0000102C*
+ ID_VENDOR_FROM_DATABASE=Chips and Technologies
+
+pci:v0000102Cd000000B8*
+ ID_MODEL_FROM_DATABASE=F64310
+
+pci:v0000102Cd000000C0*
+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo
+
+pci:v0000102Cd000000C0sv0000102Csd000000C0*
+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo
+
+pci:v0000102Cd000000C0sv00004C53sd00001000*
+ ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard
+
+pci:v0000102Cd000000C0sv00004C53sd00001010*
+ ID_MODEL_FROM_DATABASE=CP5/CR6 mainboard
+
+pci:v0000102Cd000000C0sv00004C53sd00001020*
+ ID_MODEL_FROM_DATABASE=VR6 mainboard
+
+pci:v0000102Cd000000C0sv00004C53sd00001030*
+ ID_MODEL_FROM_DATABASE=PC5 mainboard
+
+pci:v0000102Cd000000C0sv00004C53sd00001050*
+ ID_MODEL_FROM_DATABASE=CT7 mainboard
+
+pci:v0000102Cd000000C0sv00004C53sd00001051*
+ ID_MODEL_FROM_DATABASE=CE7 mainboard
+
+pci:v0000102Cd000000D0*
+ ID_MODEL_FROM_DATABASE=F65545
+
+pci:v0000102Cd000000D8*
+ ID_MODEL_FROM_DATABASE=F65545
+
+pci:v0000102Cd000000DC*
+ ID_MODEL_FROM_DATABASE=F65548
+
+pci:v0000102Cd000000E0*
+ ID_MODEL_FROM_DATABASE=F65550
+
+pci:v0000102Cd000000E4*
+ ID_MODEL_FROM_DATABASE=F65554
+
+pci:v0000102Cd000000E5*
+ ID_MODEL_FROM_DATABASE=F65555 HiQVPro
+
+pci:v0000102Cd000000E5sv00000E11sd0000B049*
+ ID_MODEL_FROM_DATABASE=Armada 1700 Laptop Display Controller
+
+pci:v0000102Cd000000E5sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Satellite Pro/Satellite
+
+pci:v0000102Cd000000F0*
+ ID_MODEL_FROM_DATABASE=F68554
+
+pci:v0000102Cd000000F4*
+ ID_MODEL_FROM_DATABASE=F68554 HiQVision
+
+pci:v0000102Cd000000F5*
+ ID_MODEL_FROM_DATABASE=F68555
+
+pci:v0000102Cd00000C30*
+ ID_MODEL_FROM_DATABASE=F69030
+
+pci:v0000102Cd00000C30sv00004C53sd00001000*
+ ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard
+
+pci:v0000102Cd00000C30sv00004C53sd00001050*
+ ID_MODEL_FROM_DATABASE=CT7 mainboard
+
+pci:v0000102Cd00000C30sv00004C53sd00001051*
+ ID_MODEL_FROM_DATABASE=CE7 mainboard
+
+pci:v0000102Cd00000C30sv00004C53sd00001080*
+ ID_MODEL_FROM_DATABASE=CT8 mainboard
+
+pci:v0000102D*
+ ID_VENDOR_FROM_DATABASE=Wyse Technology Inc.
+
+pci:v0000102Dd000050DC*
+ ID_MODEL_FROM_DATABASE=3328 Audio
+
+pci:v0000102E*
+ ID_VENDOR_FROM_DATABASE=Olivetti Advanced Technology
+
+pci:v0000102F*
+ ID_VENDOR_FROM_DATABASE=Toshiba America
+
+pci:v0000102Fd00000009*
+ ID_MODEL_FROM_DATABASE=r4x00
+
+pci:v0000102Fd0000000A*
+ ID_MODEL_FROM_DATABASE=TX3927 MIPS RISC PCI Controller
+
+pci:v0000102Fd00000020*
+ ID_MODEL_FROM_DATABASE=ATM Meteor 155
+
+pci:v0000102Fd00000020sv0000102Fsd000000F8*
+ ID_MODEL_FROM_DATABASE=ATM Meteor 155
+
+pci:v0000102Fd00000030*
+ ID_MODEL_FROM_DATABASE=TC35815CF PCI 10/100 Mbit Ethernet Controller
+
+pci:v0000102Fd00000031*
+ ID_MODEL_FROM_DATABASE=TC35815CF PCI 10/100 Mbit Ethernet Controller with WOL
+
+pci:v0000102Fd00000032*
+ ID_MODEL_FROM_DATABASE=TC35815CF PCI 10/100 Mbit Ethernet Controller on TX4939
+
+pci:v0000102Fd00000105*
+ ID_MODEL_FROM_DATABASE=TC86C001 [goku-s] IDE
+
+pci:v0000102Fd00000106*
+ ID_MODEL_FROM_DATABASE=TC86C001 [goku-s] USB 1.1 Host
+
+pci:v0000102Fd00000107*
+ ID_MODEL_FROM_DATABASE=TC86C001 [goku-s] USB Device Controller
+
+pci:v0000102Fd00000108*
+ ID_MODEL_FROM_DATABASE=TC86C001 [goku-s] I2C/SIO/GPIO Controller
+
+pci:v0000102Fd00000180*
+ ID_MODEL_FROM_DATABASE=TX4927/38 MIPS RISC PCI Controller
+
+pci:v0000102Fd00000181*
+ ID_MODEL_FROM_DATABASE=TX4925 MIPS RISC PCI Controller
+
+pci:v0000102Fd00000182*
+ ID_MODEL_FROM_DATABASE=TX4937 MIPS RISC PCI Controller
+
+pci:v0000102Fd000001B4*
+ ID_MODEL_FROM_DATABASE=Celleb platform IDE interface
+
+pci:v0000102Fd000001B5*
+ ID_MODEL_FROM_DATABASE=SCC USB 2.0 EHCI controller
+
+pci:v0000102Fd000001B6*
+ ID_MODEL_FROM_DATABASE=SCC USB 1.1 OHCI controller
+
+pci:v00001030*
+ ID_VENDOR_FROM_DATABASE=TMC Research
+
+pci:v00001031*
+ ID_VENDOR_FROM_DATABASE=Miro Computer Products AG
+
+pci:v00001031d00005601*
+ ID_MODEL_FROM_DATABASE=DC20 ASIC
+
+pci:v00001031d00005607*
+ ID_MODEL_FROM_DATABASE=Video I/O & motion JPEG compressor
+
+pci:v00001031d00005631*
+ ID_MODEL_FROM_DATABASE=Media 3D
+
+pci:v00001031d00006057*
+ ID_MODEL_FROM_DATABASE=MiroVideo DC10/DC30+
+
+pci:v00001032*
+ ID_VENDOR_FROM_DATABASE=Compaq
+
+pci:v00001033*
+ ID_VENDOR_FROM_DATABASE=NEC Corporation
+
+pci:v00001033d00000000*
+ ID_MODEL_FROM_DATABASE=Vr4181A USB Host or Function Control Unit
+
+pci:v00001033d00000001*
+ ID_MODEL_FROM_DATABASE=PCI to 486-like bus Bridge
+
+pci:v00001033d00000002*
+ ID_MODEL_FROM_DATABASE=PCI to VL98 Bridge
+
+pci:v00001033d00000003*
+ ID_MODEL_FROM_DATABASE=ATM Controller
+
+pci:v00001033d00000004*
+ ID_MODEL_FROM_DATABASE=R4000 PCI Bridge
+
+pci:v00001033d00000005*
+ ID_MODEL_FROM_DATABASE=PCI to 486-like bus Bridge
+
+pci:v00001033d00000006*
+ ID_MODEL_FROM_DATABASE=PC-9800 Graphic Accelerator
+
+pci:v00001033d00000007*
+ ID_MODEL_FROM_DATABASE=PCI to UX-Bus Bridge
+
+pci:v00001033d00000008*
+ ID_MODEL_FROM_DATABASE=PC-9800 Graphic Accelerator
+
+pci:v00001033d00000009*
+ ID_MODEL_FROM_DATABASE=PCI to PC9800 Core-Graph Bridge
+
+pci:v00001033d00000016*
+ ID_MODEL_FROM_DATABASE=PCI to VL Bridge
+
+pci:v00001033d0000001A*
+ ID_MODEL_FROM_DATABASE=[Nile II]
+
+pci:v00001033d00000021*
+ ID_MODEL_FROM_DATABASE=Vrc4373 [Nile I]
+
+pci:v00001033d00000029*
+ ID_MODEL_FROM_DATABASE=PowerVR PCX1
+
+pci:v00001033d0000002A*
+ ID_MODEL_FROM_DATABASE=PowerVR 3D
+
+pci:v00001033d0000002C*
+ ID_MODEL_FROM_DATABASE=Star Alpha 2
+
+pci:v00001033d0000002D*
+ ID_MODEL_FROM_DATABASE=PCI to C-bus Bridge
+
+pci:v00001033d00000035*
+ ID_MODEL_FROM_DATABASE=OHCI USB Controller
+
+pci:v00001033d00000035sv00001033sd00000035*
+ ID_MODEL_FROM_DATABASE=USB Controller
+
+pci:v00001033d00000035sv0000103Csd00001293*
+ ID_MODEL_FROM_DATABASE=USB add-in card
+
+pci:v00001033d00000035sv0000103Csd00001294*
+ ID_MODEL_FROM_DATABASE=USB 2.0 add-in card
+
+pci:v00001033d00000035sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=USB
+
+pci:v00001033d00000035sv000012EEsd00007000*
+ ID_MODEL_FROM_DATABASE=Root Hub
+
+pci:v00001033d00000035sv000014C2sd00000105*
+ ID_MODEL_FROM_DATABASE=PTI-205N USB 2.0 Host Controller
+
+pci:v00001033d00000035sv00001799sd00000001*
+ ID_MODEL_FROM_DATABASE=Root Hub
+
+pci:v00001033d00000035sv00001931sd0000000A*
+ ID_MODEL_FROM_DATABASE=GlobeTrotter Fusion Quad Lite (PPP data)
+
+pci:v00001033d00000035sv00001931sd0000000B*
+ ID_MODEL_FROM_DATABASE=GlobeTrotter Fusion Quad Lite (GSM data)
+
+pci:v00001033d00000035sv0000807Dsd00000035*
+ ID_MODEL_FROM_DATABASE=PCI-USB2 (OHCI subsystem)
+
+pci:v00001033d0000003B*
+ ID_MODEL_FROM_DATABASE=PCI to C-bus Bridge
+
+pci:v00001033d0000003E*
+ ID_MODEL_FROM_DATABASE=NAPCCARD Cardbus Controller
+
+pci:v00001033d00000046*
+ ID_MODEL_FROM_DATABASE=PowerVR PCX2 [midas]
+
+pci:v00001033d0000005A*
+ ID_MODEL_FROM_DATABASE=Vrc5074 [Nile 4]
+
+pci:v00001033d00000063*
+ ID_MODEL_FROM_DATABASE=uPD72862 [Firewarden] IEEE1394 OHCI 1.0 Link Controller
+
+pci:v00001033d00000067*
+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset
+
+pci:v00001033d00000067sv00001010sd00000020*
+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb
+
+pci:v00001033d00000067sv00001010sd00000080*
+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 16Mb
+
+pci:v00001033d00000067sv00001010sd00000088*
+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 16Mb
+
+pci:v00001033d00000067sv00001010sd00000090*
+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 16Mb
+
+pci:v00001033d00000067sv00001010sd00000098*
+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 16Mb
+
+pci:v00001033d00000067sv00001010sd000000A0*
+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb
+
+pci:v00001033d00000067sv00001010sd000000A8*
+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 32Mb
+
+pci:v00001033d00000067sv00001010sd00000120*
+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb
+
+pci:v00001033d00000072*
+ ID_MODEL_FROM_DATABASE=uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr
+
+pci:v00001033d00000074*
+ ID_MODEL_FROM_DATABASE=56k Voice Modem
+
+pci:v00001033d00000074sv00001033sd00008014*
+ ID_MODEL_FROM_DATABASE=RCV56ACF 56k Voice Modem
+
+pci:v00001033d0000009B*
+ ID_MODEL_FROM_DATABASE=Vrc5476
+
+pci:v00001033d000000A5*
+ ID_MODEL_FROM_DATABASE=VRC4173
+
+pci:v00001033d000000A6*
+ ID_MODEL_FROM_DATABASE=VRC5477 AC97
+
+pci:v00001033d000000CD*
+ ID_MODEL_FROM_DATABASE=uPD72870 [Firewarden] IEEE1394a OHCI 1.0 Link/3-port PHY Controller
+
+pci:v00001033d000000CDsv000012EEsd00008011*
+ ID_MODEL_FROM_DATABASE=Root hub
+
+pci:v00001033d000000CE*
+ ID_MODEL_FROM_DATABASE=uPD72871 [Firewarden] IEEE1394a OHCI 1.0 Link/1-port PHY Controller
+
+pci:v00001033d000000DF*
+ ID_MODEL_FROM_DATABASE=Vr4131
+
+pci:v00001033d000000E0*
+ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller
+
+pci:v00001033d000000E0sv000012EEsd00007001*
+ ID_MODEL_FROM_DATABASE=Root hub
+
+pci:v00001033d000000E0sv000014C2sd00000205*
+ ID_MODEL_FROM_DATABASE=PTI-205N USB 2.0 Host Controller
+
+pci:v00001033d000000E0sv00001799sd00000002*
+ ID_MODEL_FROM_DATABASE=Root Hub
+
+pci:v00001033d000000E0sv0000807Dsd00001043*
+ ID_MODEL_FROM_DATABASE=PCI-USB2 (EHCI subsystem)
+
+pci:v00001033d000000E7*
+ ID_MODEL_FROM_DATABASE=uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller
+
+pci:v00001033d000000F2*
+ ID_MODEL_FROM_DATABASE=uPD72874 [Firewarden] IEEE1394a OHCI 1.1 Link/3-port PHY Controller
+
+pci:v00001033d000000F3*
+ ID_MODEL_FROM_DATABASE=uPD6113x Multimedia Decoder/Processor [EMMA2]
+
+pci:v00001033d0000010C*
+ ID_MODEL_FROM_DATABASE=VR7701
+
+pci:v00001033d00000125*
+ ID_MODEL_FROM_DATABASE=uPD720400 PCI Express - PCI/PCI-X Bridge
+
+pci:v00001033d0000013A*
+ ID_MODEL_FROM_DATABASE=Dual Tuner/MPEG Encoder
+
+pci:v00001033d00000194*
+ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller
+
+pci:v00001033d00000194sv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00001033d00000194sv00001028sd000004B2*
+ ID_MODEL_FROM_DATABASE=Vostro 3350
+
+pci:v00001033d00000194sv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00001033d00000194sv00001043sd00008413*
+ ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard
+
+pci:v00001033d00000194sv00001B96sd00000001*
+ ID_MODEL_FROM_DATABASE=USB 3.0 PCIe Card
+
+pci:v00001033d000001E7*
+ ID_MODEL_FROM_DATABASE=uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller
+
+pci:v00001033d000001F2*
+ ID_MODEL_FROM_DATABASE=uPD72874 [Firewarden] IEEE1394a OHCI 1.1 Link/3-port PHY Controller
+
+pci:v00001034*
+ ID_VENDOR_FROM_DATABASE=Framatome Connectors USA Inc.
+
+pci:v00001035*
+ ID_VENDOR_FROM_DATABASE=Comp. & Comm. Research Lab
+
+pci:v00001036*
+ ID_VENDOR_FROM_DATABASE=Future Domain Corp.
+
+pci:v00001036d00000000*
+ ID_MODEL_FROM_DATABASE=TMC-18C30 [36C70]
+
+pci:v00001037*
+ ID_VENDOR_FROM_DATABASE=Hitachi Micro Systems
+
+pci:v00001038*
+ ID_VENDOR_FROM_DATABASE=AMP, Inc
+
+pci:v00001039*
+ ID_VENDOR_FROM_DATABASE=Silicon Integrated Systems [SiS]
+
+pci:v00001039d00000001*
+ ID_MODEL_FROM_DATABASE=AGP Port (virtual PCI-to-PCI bridge)
+
+pci:v00001039d00000002*
+ ID_MODEL_FROM_DATABASE=AGP Port (virtual PCI-to-PCI bridge)
+
+pci:v00001039d00000003*
+ ID_MODEL_FROM_DATABASE=AGP Port (virtual PCI-to-PCI bridge)
+
+pci:v00001039d00000004*
+ ID_MODEL_FROM_DATABASE=PCI-to-PCI bridge
+
+pci:v00001039d00000006*
+ ID_MODEL_FROM_DATABASE=85C501/2/3
+
+pci:v00001039d00000008*
+ ID_MODEL_FROM_DATABASE=SiS85C503/5513 (LPC Bridge)
+
+pci:v00001039d00000009*
+ ID_MODEL_FROM_DATABASE=5595 Power Management Controller
+
+pci:v00001039d0000000A*
+ ID_MODEL_FROM_DATABASE=PCI-to-PCI bridge
+
+pci:v00001039d00000016*
+ ID_MODEL_FROM_DATABASE=SiS961/2/3 SMBus controller
+
+pci:v00001039d00000018*
+ ID_MODEL_FROM_DATABASE=SiS85C503/5513 (LPC Bridge)
+
+pci:v00001039d00000180*
+ ID_MODEL_FROM_DATABASE=RAID bus controller 180 SATA/PATA [SiS]
+
+pci:v00001039d00000181*
+ ID_MODEL_FROM_DATABASE=SATA
+
+pci:v00001039d00000182*
+ ID_MODEL_FROM_DATABASE=182 SATA/RAID Controller
+
+pci:v00001039d00000182sv00001734sd00001095*
+ ID_MODEL_FROM_DATABASE=D2030-A1
+
+pci:v00001039d00000186*
+ ID_MODEL_FROM_DATABASE=AHCI Controller (0106)
+
+pci:v00001039d00000190*
+ ID_MODEL_FROM_DATABASE=190 Ethernet Adapter
+
+pci:v00001039d00000191*
+ ID_MODEL_FROM_DATABASE=191 Gigabit Ethernet Adapter
+
+pci:v00001039d00000200*
+ ID_MODEL_FROM_DATABASE=5597/5598/6326 VGA
+
+pci:v00001039d00000200sv00001039sd00000000*
+ ID_MODEL_FROM_DATABASE=SiS5597 SVGA (Shared RAM)
+
+pci:v00001039d00000204*
+ ID_MODEL_FROM_DATABASE=82C204
+
+pci:v00001039d00000205*
+ ID_MODEL_FROM_DATABASE=SG86C205
+
+pci:v00001039d00000300*
+ ID_MODEL_FROM_DATABASE=300/305 PCI/AGP VGA Display Adapter
+
+pci:v00001039d00000300sv0000107Dsd00002720*
+ ID_MODEL_FROM_DATABASE=Leadtek WinFast VR300
+
+pci:v00001039d00000310*
+ ID_MODEL_FROM_DATABASE=315H PCI/AGP VGA Display Adapter
+
+pci:v00001039d00000315*
+ ID_MODEL_FROM_DATABASE=315 PCI/AGP VGA Display Adapter
+
+pci:v00001039d00000325*
+ ID_MODEL_FROM_DATABASE=315PRO PCI/AGP VGA Display Adapter
+
+pci:v00001039d00000330*
+ ID_MODEL_FROM_DATABASE=330 [Xabre] PCI/AGP VGA Display Adapter
+
+pci:v00001039d00000406*
+ ID_MODEL_FROM_DATABASE=85C501/2
+
+pci:v00001039d00000496*
+ ID_MODEL_FROM_DATABASE=85C496
+
+pci:v00001039d00000530*
+ ID_MODEL_FROM_DATABASE=530 Host
+
+pci:v00001039d00000540*
+ ID_MODEL_FROM_DATABASE=540 Host
+
+pci:v00001039d00000550*
+ ID_MODEL_FROM_DATABASE=550 Host
+
+pci:v00001039d00000597*
+ ID_MODEL_FROM_DATABASE=5513C
+
+pci:v00001039d00000601*
+ ID_MODEL_FROM_DATABASE=85C601
+
+pci:v00001039d00000620*
+ ID_MODEL_FROM_DATABASE=620 Host
+
+pci:v00001039d00000630*
+ ID_MODEL_FROM_DATABASE=630 Host
+
+pci:v00001039d00000633*
+ ID_MODEL_FROM_DATABASE=633 Host
+
+pci:v00001039d00000635*
+ ID_MODEL_FROM_DATABASE=635 Host
+
+pci:v00001039d00000645*
+ ID_MODEL_FROM_DATABASE=SiS645 Host & Memory & AGP Controller
+
+pci:v00001039d00000646*
+ ID_MODEL_FROM_DATABASE=SiS645DX Host & Memory & AGP Controller
+
+pci:v00001039d00000648*
+ ID_MODEL_FROM_DATABASE=645xx
+
+pci:v00001039d00000649*
+ ID_MODEL_FROM_DATABASE=SiS649 Host
+
+pci:v00001039d00000650*
+ ID_MODEL_FROM_DATABASE=650/M650 Host
+
+pci:v00001039d00000651*
+ ID_MODEL_FROM_DATABASE=651 Host
+
+pci:v00001039d00000655*
+ ID_MODEL_FROM_DATABASE=655 Host
+
+pci:v00001039d00000660*
+ ID_MODEL_FROM_DATABASE=660 Host
+
+pci:v00001039d00000661*
+ ID_MODEL_FROM_DATABASE=661FX/M661FX/M661MX Host
+
+pci:v00001039d00000662*
+ ID_MODEL_FROM_DATABASE=662 Host
+
+pci:v00001039d00000671*
+ ID_MODEL_FROM_DATABASE=671MX
+
+pci:v00001039d00000730*
+ ID_MODEL_FROM_DATABASE=730 Host
+
+pci:v00001039d00000733*
+ ID_MODEL_FROM_DATABASE=733 Host
+
+pci:v00001039d00000735*
+ ID_MODEL_FROM_DATABASE=735 Host
+
+pci:v00001039d00000740*
+ ID_MODEL_FROM_DATABASE=740 Host
+
+pci:v00001039d00000741*
+ ID_MODEL_FROM_DATABASE=741/741GX/M741 Host
+
+pci:v00001039d00000741sv00001849sd00000741*
+ ID_MODEL_FROM_DATABASE=K7S41/K7S41GX motherboard
+
+pci:v00001039d00000745*
+ ID_MODEL_FROM_DATABASE=745 Host
+
+pci:v00001039d00000746*
+ ID_MODEL_FROM_DATABASE=746 Host
+
+pci:v00001039d00000755*
+ ID_MODEL_FROM_DATABASE=755 Host
+
+pci:v00001039d00000760*
+ ID_MODEL_FROM_DATABASE=760/M760 Host
+
+pci:v00001039d00000761*
+ ID_MODEL_FROM_DATABASE=761/M761 Host
+
+pci:v00001039d00000761sv00001734sd00001099*
+ ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard
+
+pci:v00001039d00000900*
+ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet
+
+pci:v00001039d00000900sv00001019sd00000A14*
+ ID_MODEL_FROM_DATABASE=K7S5A motherboard
+
+pci:v00001039d00000900sv00001039sd00000900*
+ ID_MODEL_FROM_DATABASE=SiS900 10/100 Ethernet Adapter onboard [Asus P4SC-EA]
+
+pci:v00001039d00000900sv00001043sd00008035*
+ ID_MODEL_FROM_DATABASE=CUSI-FX motherboard
+
+pci:v00001039d00000900sv00001043sd000080A7*
+ ID_MODEL_FROM_DATABASE=Motherboard P4S800D-X
+
+pci:v00001039d00000900sv00001462sd00000900*
+ ID_MODEL_FROM_DATABASE=MS-6701 motherboard
+
+pci:v00001039d00000961*
+ ID_MODEL_FROM_DATABASE=SiS961 [MuTIOL Media IO]
+
+pci:v00001039d00000962*
+ ID_MODEL_FROM_DATABASE=SiS962 [MuTIOL Media IO] LPC Controller
+
+pci:v00001039d00000963*
+ ID_MODEL_FROM_DATABASE=SiS963 [MuTIOL Media IO] LPC Controller
+
+pci:v00001039d00000964*
+ ID_MODEL_FROM_DATABASE=SiS964 [MuTIOL Media IO] LPC Controller
+
+pci:v00001039d00000965*
+ ID_MODEL_FROM_DATABASE=SiS965 [MuTIOL Media IO]
+
+pci:v00001039d00000966*
+ ID_MODEL_FROM_DATABASE=SiS966 [MuTIOL Media IO]
+
+pci:v00001039d00000968*
+ ID_MODEL_FROM_DATABASE=SiS968 [MuTIOL Media IO]
+
+pci:v00001039d00001180*
+ ID_MODEL_FROM_DATABASE=SATA Controller / IDE mode
+
+pci:v00001039d00001182*
+ ID_MODEL_FROM_DATABASE=SATA Controller / RAID mode
+
+pci:v00001039d00001183*
+ ID_MODEL_FROM_DATABASE=SATA Controller / IDE mode
+
+pci:v00001039d00001184*
+ ID_MODEL_FROM_DATABASE=AHCI Controller / RAID mode
+
+pci:v00001039d00001185*
+ ID_MODEL_FROM_DATABASE=AHCI IDE Controller (0106)
+
+pci:v00001039d00003602*
+ ID_MODEL_FROM_DATABASE=83C602
+
+pci:v00001039d00005107*
+ ID_MODEL_FROM_DATABASE=5107
+
+pci:v00001039d00005300*
+ ID_MODEL_FROM_DATABASE=SiS540 PCI Display Adapter
+
+pci:v00001039d00005315*
+ ID_MODEL_FROM_DATABASE=550 PCI/AGP VGA Display Adapter
+
+pci:v00001039d00005401*
+ ID_MODEL_FROM_DATABASE=486 PCI Chipset
+
+pci:v00001039d00005511*
+ ID_MODEL_FROM_DATABASE=5511/5512
+
+pci:v00001039d00005513*
+ ID_MODEL_FROM_DATABASE=5513 IDE Controller
+
+pci:v00001039d00005513sv00001019sd00000970*
+ ID_MODEL_FROM_DATABASE=P6STP-FL motherboard
+
+pci:v00001039d00005513sv00001039sd00005513*
+ ID_MODEL_FROM_DATABASE=SiS5513 EIDE Controller (A,B step)
+
+pci:v00001039d00005513sv00001043sd00008035*
+ ID_MODEL_FROM_DATABASE=CUSI-FX motherboard
+
+pci:v00001039d00005513sv00001462sd00007010*
+ ID_MODEL_FROM_DATABASE=MS-6701 motherboard
+
+pci:v00001039d00005513sv00001631sd00005513*
+ ID_MODEL_FROM_DATABASE=GA-8SIML Rev1.0 Motherboard
+
+pci:v00001039d00005513sv00001734sd00001095*
+ ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard
+
+pci:v00001039d00005517*
+ ID_MODEL_FROM_DATABASE=5517
+
+pci:v00001039d00005571*
+ ID_MODEL_FROM_DATABASE=5571
+
+pci:v00001039d00005581*
+ ID_MODEL_FROM_DATABASE=5581 Pentium Chipset
+
+pci:v00001039d00005582*
+ ID_MODEL_FROM_DATABASE=5582
+
+pci:v00001039d00005591*
+ ID_MODEL_FROM_DATABASE=5591/5592 Host
+
+pci:v00001039d00005596*
+ ID_MODEL_FROM_DATABASE=5596 Pentium Chipset
+
+pci:v00001039d00005597*
+ ID_MODEL_FROM_DATABASE=5597 [SiS5582]
+
+pci:v00001039d00005600*
+ ID_MODEL_FROM_DATABASE=5600 Host
+
+pci:v00001039d00006204*
+ ID_MODEL_FROM_DATABASE=Video decoder & MPEG interface
+
+pci:v00001039d00006205*
+ ID_MODEL_FROM_DATABASE=VGA Controller
+
+pci:v00001039d00006236*
+ ID_MODEL_FROM_DATABASE=6236 3D-AGP
+
+pci:v00001039d00006300*
+ ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter
+
+pci:v00001039d00006300sv00001019sd00000970*
+ ID_MODEL_FROM_DATABASE=P6STP-FL motherboard
+
+pci:v00001039d00006300sv00001043sd00008035*
+ ID_MODEL_FROM_DATABASE=CUSI-FX motherboard
+
+pci:v00001039d00006300sv0000104Dsd000080E2*
+ ID_MODEL_FROM_DATABASE=VAIO PCV-J200
+
+pci:v00001039d00006306*
+ ID_MODEL_FROM_DATABASE=530/620 PCI/AGP VGA Display Adapter
+
+pci:v00001039d00006325*
+ ID_MODEL_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter
+
+pci:v00001039d00006325sv00001039sd00006325*
+ ID_MODEL_FROM_DATABASE=SiS 651 onboard [Asus P4SC-EA]
+
+pci:v00001039d00006325sv00001631sd00001004*
+ ID_MODEL_FROM_DATABASE=SiS 651C onboard [Gigabyte GA-8SIML Rev1.0]
+
+pci:v00001039d00006326*
+ ID_MODEL_FROM_DATABASE=86C326 5598/6326
+
+pci:v00001039d00006326sv00001039sd00006326*
+ ID_MODEL_FROM_DATABASE=SiS6326 GUI Accelerator
+
+pci:v00001039d00006326sv00001092sd00000A50*
+ ID_MODEL_FROM_DATABASE=SpeedStar A50
+
+pci:v00001039d00006326sv00001092sd00000A70*
+ ID_MODEL_FROM_DATABASE=SpeedStar A70
+
+pci:v00001039d00006326sv00001092sd00004910*
+ ID_MODEL_FROM_DATABASE=SpeedStar A70
+
+pci:v00001039d00006326sv00001092sd00004920*
+ ID_MODEL_FROM_DATABASE=SpeedStar A70
+
+pci:v00001039d00006326sv000010B0sd00006326*
+ ID_MODEL_FROM_DATABASE=S6110-B (AGP)
+
+pci:v00001039d00006326sv00001569sd00006326*
+ ID_MODEL_FROM_DATABASE=SiS6326 GUI Accelerator
+
+pci:v00001039d00006330*
+ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter
+
+pci:v00001039d00006330sv00001039sd00006330*
+ ID_MODEL_FROM_DATABASE=[M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter
+
+pci:v00001039d00006330sv00001043sd00008113*
+ ID_MODEL_FROM_DATABASE=SiS Real 256E (ASUS P5S800-VM motherboard)
+
+pci:v00001039d00006330sv00001458sd0000D000*
+ ID_MODEL_FROM_DATABASE=SiS661FX GUI 2D/3D Accelerator
+
+pci:v00001039d00006330sv00001734sd00001099*
+ ID_MODEL_FROM_DATABASE=D2030-A1
+
+pci:v00001039d00006350*
+ ID_MODEL_FROM_DATABASE=770/670 PCIE VGA Display Adapter
+
+pci:v00001039d00006351*
+ ID_MODEL_FROM_DATABASE=771/671 PCIE VGA Display Adapter
+
+pci:v00001039d00007001*
+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller
+
+pci:v00001039d00007001sv00001019sd00000A14*
+ ID_MODEL_FROM_DATABASE=K7S5A motherboard
+
+pci:v00001039d00007001sv00001039sd00007000*
+ ID_MODEL_FROM_DATABASE=Onboard USB Controller
+
+pci:v00001039d00007001sv00001462sd00005470*
+ ID_MODEL_FROM_DATABASE=ECS K7SOM+ motherboard
+
+pci:v00001039d00007001sv00001462sd00007010*
+ ID_MODEL_FROM_DATABASE=MS-6701 motherboard
+
+pci:v00001039d00007001sv00001734sd00001095*
+ ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard
+
+pci:v00001039d00007002*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller
+
+pci:v00001039d00007002sv00001462sd00005470*
+ ID_MODEL_FROM_DATABASE=K7SOM+ 5.2C Motherboard
+
+pci:v00001039d00007002sv00001462sd00007010*
+ ID_MODEL_FROM_DATABASE=MS-6701 motherboard
+
+pci:v00001039d00007002sv00001509sd00007002*
+ ID_MODEL_FROM_DATABASE=Onboard USB Controller
+
+pci:v00001039d00007002sv00001734sd00001095*
+ ID_MODEL_FROM_DATABASE=D2030-A1
+
+pci:v00001039d00007007*
+ ID_MODEL_FROM_DATABASE=FireWire Controller
+
+pci:v00001039d00007007sv00001462sd0000701D*
+ ID_MODEL_FROM_DATABASE=MS-6701
+
+pci:v00001039d00007012*
+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller
+
+pci:v00001039d00007012sv00001019sd00000F05*
+ ID_MODEL_FROM_DATABASE=A928 (i-Buddie)
+
+pci:v00001039d00007012sv00001039sd00007012*
+ ID_MODEL_FROM_DATABASE=SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller
+
+pci:v00001039d00007012sv00001043sd0000818F*
+ ID_MODEL_FROM_DATABASE=A8S-X Motherboard
+
+pci:v00001039d00007012sv000013F6sd00000300*
+ ID_MODEL_FROM_DATABASE=CMI9739(A) on ECS K7SOM+ motherboard
+
+pci:v00001039d00007012sv00001462sd00005850*
+ ID_MODEL_FROM_DATABASE=MSI 648 Max (MS-6585)
+
+pci:v00001039d00007012sv00001462sd00007010*
+ ID_MODEL_FROM_DATABASE=MS-6701 motherboard
+
+pci:v00001039d00007012sv000015BDsd00001001*
+ ID_MODEL_FROM_DATABASE=DFI 661FX motherboard
+
+pci:v00001039d00007012sv00001734sd0000109F*
+ ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard
+
+pci:v00001039d00007012sv00001849sd00007012*
+ ID_MODEL_FROM_DATABASE=K7S41GX motherboard
+
+pci:v00001039d00007013*
+ ID_MODEL_FROM_DATABASE=AC'97 Modem Controller
+
+pci:v00001039d00007016*
+ ID_MODEL_FROM_DATABASE=SiS7016 PCI Fast Ethernet Adapter
+
+pci:v00001039d00007016sv00001039sd00007016*
+ ID_MODEL_FROM_DATABASE=SiS7016 10/100 Ethernet Adapter
+
+pci:v00001039d00007018*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv00001014sd000001B6*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv00001014sd000001B7*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv00001019sd00007018*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv00001025sd0000000E*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv00001025sd00000018*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv00001039sd00007018*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv00001043sd00001453*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv00001043sd0000800B*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv0000104Dsd000080E2*
+ ID_MODEL_FROM_DATABASE=VAIO PCV-J200
+
+pci:v00001039d00007018sv00001054sd00007018*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv0000107Dsd00005330*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv0000107Dsd00005350*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv00001170sd00003209*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv00001462sd0000400A*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv000014A4sd00002089*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv000014CDsd00002194*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv000014FFsd00001100*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv0000152Dsd00008808*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv00001558sd00001103*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv00001558sd00002200*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv00001563sd00007018*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv000015C5sd00000111*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv0000270Fsd0000A171*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007018sv0000A0A0sd00000022*
+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator
+
+pci:v00001039d00007019*
+ ID_MODEL_FROM_DATABASE=SiS7019 Audio Accelerator
+
+pci:v00001039d00007502*
+ ID_MODEL_FROM_DATABASE=Azalia Audio Controller
+
+pci:v0000103A*
+ ID_VENDOR_FROM_DATABASE=Seiko Epson Corporation
+
+pci:v0000103B*
+ ID_VENDOR_FROM_DATABASE=Tatung Corp. Of America
+
+pci:v0000103C*
+ ID_VENDOR_FROM_DATABASE=Hewlett-Packard Company
+
+pci:v0000103Cd00001005*
+ ID_MODEL_FROM_DATABASE=A4977A Visualize EG
+
+pci:v0000103Cd00001008*
+ ID_MODEL_FROM_DATABASE=Visualize FX
+
+pci:v0000103Cd00001028*
+ ID_MODEL_FROM_DATABASE=Tach TL Fibre Channel Host Adapter
+
+pci:v0000103Cd00001029*
+ ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter
+
+pci:v0000103Cd00001029sv0000107Esd0000000F*
+ ID_MODEL_FROM_DATABASE=Interphase 5560 Fibre Channel Adapter
+
+pci:v0000103Cd00001029sv00009004sd00009210*
+ ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller
+
+pci:v0000103Cd00001029sv00009004sd00009211*
+ ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller
+
+pci:v0000103Cd0000102A*
+ ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter
+
+pci:v0000103Cd0000102Asv0000107Esd0000000E*
+ ID_MODEL_FROM_DATABASE=Interphase 5540/5541 Fibre Channel Adapter
+
+pci:v0000103Cd0000102Asv00009004sd00009110*
+ ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller
+
+pci:v0000103Cd0000102Asv00009004sd00009111*
+ ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller
+
+pci:v0000103Cd00001030*
+ ID_MODEL_FROM_DATABASE=J2585A DeskDirect 10/100VG NIC
+
+pci:v0000103Cd00001031*
+ ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter
+
+pci:v0000103Cd00001031sv0000103Csd00001040*
+ ID_MODEL_FROM_DATABASE=J2973A DeskDirect 10BaseT NIC
+
+pci:v0000103Cd00001031sv0000103Csd00001041*
+ ID_MODEL_FROM_DATABASE=J2585B DeskDirect 10/100VG NIC
+
+pci:v0000103Cd00001031sv0000103Csd00001042*
+ ID_MODEL_FROM_DATABASE=J2970A DeskDirect 10BaseT/2 NIC
+
+pci:v0000103Cd00001040*
+ ID_MODEL_FROM_DATABASE=J2973A DeskDirect 10BaseT NIC
+
+pci:v0000103Cd00001041*
+ ID_MODEL_FROM_DATABASE=J2585B DeskDirect 10/100 NIC
+
+pci:v0000103Cd00001042*
+ ID_MODEL_FROM_DATABASE=J2970A DeskDirect 10BaseT/2 NIC
+
+pci:v0000103Cd00001048*
+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART
+
+pci:v0000103Cd00001048sv0000103Csd00001049*
+ ID_MODEL_FROM_DATABASE=Tosca Console
+
+pci:v0000103Cd00001048sv0000103Csd0000104A*
+ ID_MODEL_FROM_DATABASE=Tosca Secondary
+
+pci:v0000103Cd00001048sv0000103Csd0000104B*
+ ID_MODEL_FROM_DATABASE=Maestro SP2
+
+pci:v0000103Cd00001048sv0000103Csd00001223*
+ ID_MODEL_FROM_DATABASE=Superdome Console
+
+pci:v0000103Cd00001048sv0000103Csd00001226*
+ ID_MODEL_FROM_DATABASE=Keystone SP2
+
+pci:v0000103Cd00001048sv0000103Csd00001227*
+ ID_MODEL_FROM_DATABASE=Powerbar SP2
+
+pci:v0000103Cd00001048sv0000103Csd00001282*
+ ID_MODEL_FROM_DATABASE=Everest SP2
+
+pci:v0000103Cd00001048sv0000103Csd00001301*
+ ID_MODEL_FROM_DATABASE=Diva RMP3
+
+pci:v0000103Cd00001054*
+ ID_MODEL_FROM_DATABASE=PCI Local Bus Adapter
+
+pci:v0000103Cd00001064*
+ ID_MODEL_FROM_DATABASE=79C970 PCnet Ethernet Controller
+
+pci:v0000103Cd0000108B*
+ ID_MODEL_FROM_DATABASE=Visualize FXe
+
+pci:v0000103Cd000010C1*
+ ID_MODEL_FROM_DATABASE=NetServer Smart IRQ Router
+
+pci:v0000103Cd000010ED*
+ ID_MODEL_FROM_DATABASE=TopTools Remote Control
+
+pci:v0000103Cd000010F0*
+ ID_MODEL_FROM_DATABASE=rio System Bus Adapter
+
+pci:v0000103Cd000010F1*
+ ID_MODEL_FROM_DATABASE=rio I/O Controller
+
+pci:v0000103Cd00001219*
+ ID_MODEL_FROM_DATABASE=NetServer PCI Hot-Plug Controller
+
+pci:v0000103Cd0000121A*
+ ID_MODEL_FROM_DATABASE=NetServer SMIC Controller
+
+pci:v0000103Cd0000121B*
+ ID_MODEL_FROM_DATABASE=NetServer Legacy COM Port Decoder
+
+pci:v0000103Cd0000121C*
+ ID_MODEL_FROM_DATABASE=NetServer PCI COM Port Decoder
+
+pci:v0000103Cd00001229*
+ ID_MODEL_FROM_DATABASE=zx1 System Bus Adapter
+
+pci:v0000103Cd0000122A*
+ ID_MODEL_FROM_DATABASE=zx1 I/O Controller
+
+pci:v0000103Cd0000122E*
+ ID_MODEL_FROM_DATABASE=PCI-X Local Bus Adapter
+
+pci:v0000103Cd0000127B*
+ ID_MODEL_FROM_DATABASE=sx1000 System Bus Adapter
+
+pci:v0000103Cd0000127C*
+ ID_MODEL_FROM_DATABASE=sx1000 I/O Controller
+
+pci:v0000103Cd00001290*
+ ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port
+
+pci:v0000103Cd00001290sv0000103Csd00001291*
+ ID_MODEL_FROM_DATABASE=Diva SP2
+
+pci:v0000103Cd00001291*
+ ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port
+
+pci:v0000103Cd000012B4*
+ ID_MODEL_FROM_DATABASE=zx1 QuickSilver AGP8x Local Bus Adapter
+
+pci:v0000103Cd000012EB*
+ ID_MODEL_FROM_DATABASE=sx2000 System Bus Adapter
+
+pci:v0000103Cd000012EC*
+ ID_MODEL_FROM_DATABASE=sx2000 I/O Controller
+
+pci:v0000103Cd000012EE*
+ ID_MODEL_FROM_DATABASE=PCI-X 2.0 Local Bus Adapter
+
+pci:v0000103Cd00001302*
+ ID_MODEL_FROM_DATABASE=RMP-3 Shared Memory Driver
+
+pci:v0000103Cd00001303*
+ ID_MODEL_FROM_DATABASE=RMP-3 (Remote Management Processor)
+
+pci:v0000103Cd00002910*
+ ID_MODEL_FROM_DATABASE=E2910A PCIBus Exerciser
+
+pci:v0000103Cd00002925*
+ ID_MODEL_FROM_DATABASE=E2925A 32 Bit, 33 MHzPCI Exerciser & Analyzer
+
+pci:v0000103Cd00003206*
+ ID_MODEL_FROM_DATABASE=Adaptec Embedded Serial ATA HostRAID
+
+pci:v0000103Cd00003220*
+ ID_MODEL_FROM_DATABASE=Smart Array P600
+
+pci:v0000103Cd00003220sv0000103Csd00003225*
+ ID_MODEL_FROM_DATABASE=3 Gb/s SAS RAID
+
+pci:v0000103Cd00003230*
+ ID_MODEL_FROM_DATABASE=Smart Array Controller
+
+pci:v0000103Cd00003230sv0000103Csd00003223*
+ ID_MODEL_FROM_DATABASE=Smart Array P800
+
+pci:v0000103Cd00003230sv0000103Csd00003234*
+ ID_MODEL_FROM_DATABASE=P400 SAS Controller
+
+pci:v0000103Cd00003230sv0000103Csd00003235*
+ ID_MODEL_FROM_DATABASE=P400i SAS Controller
+
+pci:v0000103Cd00003230sv0000103Csd00003237*
+ ID_MODEL_FROM_DATABASE=E500 SAS Controller
+
+pci:v0000103Cd00003230sv0000103Csd0000323D*
+ ID_MODEL_FROM_DATABASE=P700m SAS Controller
+
+pci:v0000103Cd00003238*
+ ID_MODEL_FROM_DATABASE=Smart Array E200i (SAS Controller)
+
+pci:v0000103Cd00003238sv0000103Csd00003211*
+ ID_MODEL_FROM_DATABASE=Smart Array E200i
+
+pci:v0000103Cd00003238sv0000103Csd00003212*
+ ID_MODEL_FROM_DATABASE=Smart Array E200
+
+pci:v0000103Cd0000323A*
+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers
+
+pci:v0000103Cd0000323Asv0000103Csd00003241*
+ ID_MODEL_FROM_DATABASE=Smart Array P212
+
+pci:v0000103Cd0000323Asv0000103Csd00003243*
+ ID_MODEL_FROM_DATABASE=Smart Array P410
+
+pci:v0000103Cd0000323Asv0000103Csd00003245*
+ ID_MODEL_FROM_DATABASE=Smart Array P410i
+
+pci:v0000103Cd0000323Asv0000103Csd00003247*
+ ID_MODEL_FROM_DATABASE=Smart Array P411
+
+pci:v0000103Cd0000323Asv0000103Csd00003249*
+ ID_MODEL_FROM_DATABASE=Smart Array P812
+
+pci:v0000103Cd0000323Asv0000103Csd0000324A*
+ ID_MODEL_FROM_DATABASE=HP Smart Array 712m (Mezzanine RAID controller)
+
+pci:v0000103Cd0000323Asv0000103Csd0000324B*
+ ID_MODEL_FROM_DATABASE=Smart Array P711m (Mezzanine RAID controller)
+
+pci:v0000103Cd0000323B*
+ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers
+
+pci:v0000103Cd0000323Bsv0000103Csd00003350*
+ ID_MODEL_FROM_DATABASE=P222
+
+pci:v0000103Cd0000323Bsv0000103Csd00003351*
+ ID_MODEL_FROM_DATABASE=P420
+
+pci:v0000103Cd0000323Bsv0000103Csd00003352*
+ ID_MODEL_FROM_DATABASE=P421
+
+pci:v0000103Cd0000323Bsv0000103Csd00003354*
+ ID_MODEL_FROM_DATABASE=P420i
+
+pci:v0000103Cd0000323Bsv0000103Csd00003355*
+ ID_MODEL_FROM_DATABASE=P220i
+
+pci:v0000103Cd0000323C*
+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers
+
+pci:v0000103Cd0000323Csv0000103Csd00001920*
+ ID_MODEL_FROM_DATABASE=Smart Array
+
+pci:v0000103Cd0000323Csv0000103Csd00001921*
+ ID_MODEL_FROM_DATABASE=Smart Array
+
+pci:v0000103Cd0000323Csv0000103Csd00001922*
+ ID_MODEL_FROM_DATABASE=Smart Array
+
+pci:v0000103Cd0000323Csv0000103Csd00001923*
+ ID_MODEL_FROM_DATABASE=Smart Array
+
+pci:v0000103Cd0000323Csv0000103Csd00001924*
+ ID_MODEL_FROM_DATABASE=Smart Array
+
+pci:v0000103Cd0000323Csv0000103Csd00001925*
+ ID_MODEL_FROM_DATABASE=Smart Array
+
+pci:v0000103Cd0000323Csv0000103Csd00001926*
+ ID_MODEL_FROM_DATABASE=Smart Array
+
+pci:v0000103Cd0000323Csv0000103Csd00001927*
+ ID_MODEL_FROM_DATABASE=Smart Array
+
+pci:v0000103Cd0000323Csv0000103Csd00001928*
+ ID_MODEL_FROM_DATABASE=Smart Array
+
+pci:v0000103Cd00003300*
+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller
+
+pci:v0000103Cd00003300sv0000103Csd00003304*
+ ID_MODEL_FROM_DATABASE=iLO2
+
+pci:v0000103Cd00003300sv0000103Csd00003305*
+ ID_MODEL_FROM_DATABASE=iLO2
+
+pci:v0000103Cd00003300sv0000103Csd00003309*
+ ID_MODEL_FROM_DATABASE=iLO2 GXL/iLO3 GXE
+
+pci:v0000103Cd00003300sv0000103Csd0000330E*
+ ID_MODEL_FROM_DATABASE=iLO3
+
+pci:v0000103Cd00003300sv0000103Csd00003381*
+ ID_MODEL_FROM_DATABASE=iLO4
+
+pci:v0000103Cd00003301*
+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port
+
+pci:v0000103Cd00003301sv0000103Csd00003304*
+ ID_MODEL_FROM_DATABASE=iLO2
+
+pci:v0000103Cd00003301sv0000103Csd00003305*
+ ID_MODEL_FROM_DATABASE=iLO2
+
+pci:v0000103Cd00003301sv0000103Csd0000330E*
+ ID_MODEL_FROM_DATABASE=iLO3
+
+pci:v0000103Cd00003301sv0000103Csd00003381*
+ ID_MODEL_FROM_DATABASE=iLO4
+
+pci:v0000103Cd00003302*
+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface
+
+pci:v0000103Cd00003302sv0000103Csd00003304*
+ ID_MODEL_FROM_DATABASE=iLO2
+
+pci:v0000103Cd00003302sv0000103Csd00003305*
+ ID_MODEL_FROM_DATABASE=iLO2
+
+pci:v0000103Cd00003302sv0000103Csd0000330E*
+ ID_MODEL_FROM_DATABASE=iLO3
+
+pci:v0000103Cd00003302sv0000103Csd00003381*
+ ID_MODEL_FROM_DATABASE=iLO4
+
+pci:v0000103Cd00003305*
+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out (iLO2) Controller
+
+pci:v0000103Cd00003306*
+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support
+
+pci:v0000103Cd00003306sv0000103Csd0000330E*
+ ID_MODEL_FROM_DATABASE=iLO3
+
+pci:v0000103Cd00003306sv0000103Csd00003381*
+ ID_MODEL_FROM_DATABASE=iLO4
+
+pci:v0000103Cd00003307*
+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging
+
+pci:v0000103Cd00003307sv0000103Csd00003309*
+ ID_MODEL_FROM_DATABASE=iLO 2
+
+pci:v0000103Cd00003307sv0000103Csd0000330E*
+ ID_MODEL_FROM_DATABASE=iLO3
+
+pci:v0000103Cd00003307sv0000103Csd00003381*
+ ID_MODEL_FROM_DATABASE=iLO4
+
+pci:v0000103Cd00003308*
+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer
+
+pci:v0000103Cd00003308sv0000103Csd0000330E*
+ ID_MODEL_FROM_DATABASE=iLO3
+
+pci:v0000103Cd00003308sv0000103Csd00003381*
+ ID_MODEL_FROM_DATABASE=iLO4
+
+pci:v0000103Cd0000402F*
+ ID_MODEL_FROM_DATABASE=PCIe Root Port
+
+pci:v0000103Cd00004030*
+ ID_MODEL_FROM_DATABASE=zx2 System Bus Adapter
+
+pci:v0000103Cd00004031*
+ ID_MODEL_FROM_DATABASE=zx2 I/O Controller
+
+pci:v0000103Cd00004037*
+ ID_MODEL_FROM_DATABASE=PCIe Local Bus Adapter
+
+pci:v0000103Cd0000403B*
+ ID_MODEL_FROM_DATABASE=PCIe Root Port
+
+pci:v0000103Cd000060E8*
+ ID_MODEL_FROM_DATABASE=NetRAID-2M : ZX1/M (OEM AMI MegaRAID 493)
+
+pci:v0000103E*
+ ID_VENDOR_FROM_DATABASE=Solliday Engineering
+
+pci:v0000103F*
+ ID_VENDOR_FROM_DATABASE=Synopsys/Logic Modeling Group
+
+pci:v00001040*
+ ID_VENDOR_FROM_DATABASE=Accelgraphics Inc.
+
+pci:v00001041*
+ ID_VENDOR_FROM_DATABASE=Computrend
+
+pci:v00001042*
+ ID_VENDOR_FROM_DATABASE=Micron
+
+pci:v00001042d00001000*
+ ID_MODEL_FROM_DATABASE=PC Tech RZ1000
+
+pci:v00001042d00001001*
+ ID_MODEL_FROM_DATABASE=PC Tech RZ1001
+
+pci:v00001042d00003000*
+ ID_MODEL_FROM_DATABASE=Samurai_0
+
+pci:v00001042d00003010*
+ ID_MODEL_FROM_DATABASE=Samurai_1
+
+pci:v00001042d00003020*
+ ID_MODEL_FROM_DATABASE=Samurai_IDE
+
+pci:v00001043*
+ ID_VENDOR_FROM_DATABASE=ASUSTeK Computer Inc.
+
+pci:v00001043d00000675*
+ ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D
+
+pci:v00001043d00000675sv00000675sd00001704*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C)
+
+pci:v00001043d00000675sv00000675sd00001707*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
+
+pci:v00001043d00000675sv000010CFsd0000105E*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
+
+pci:v00001043d00009602*
+ ID_MODEL_FROM_DATABASE=AMD RS780/RS880 PCI to PCI bridge (int gfx)
+
+pci:v00001043d00009602sv00001043sd000083A2*
+ ID_MODEL_FROM_DATABASE=M4A785TD Motherboard
+
+pci:v00001044*
+ ID_VENDOR_FROM_DATABASE=Adaptec (formerly DPT)
+
+pci:v00001044d00001012*
+ ID_MODEL_FROM_DATABASE=Domino RAID Engine
+
+pci:v00001044d0000A400*
+ ID_MODEL_FROM_DATABASE=SmartCache/Raid I-IV Controller
+
+pci:v00001044d0000A500*
+ ID_MODEL_FROM_DATABASE=PCI Bridge
+
+pci:v00001044d0000A501*
+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller
+
+pci:v00001044d0000A501sv00001044sd0000C001*
+ ID_MODEL_FROM_DATABASE=PM1554U2 Ultra2 Single Channel
+
+pci:v00001044d0000A501sv00001044sd0000C002*
+ ID_MODEL_FROM_DATABASE=PM1654U2 Ultra2 Single Channel
+
+pci:v00001044d0000A501sv00001044sd0000C003*
+ ID_MODEL_FROM_DATABASE=PM1564U3 Ultra3 Single Channel
+
+pci:v00001044d0000A501sv00001044sd0000C004*
+ ID_MODEL_FROM_DATABASE=PM1564U3 Ultra3 Dual Channel
+
+pci:v00001044d0000A501sv00001044sd0000C005*
+ ID_MODEL_FROM_DATABASE=PM1554U2 Ultra2 Single Channel (NON ACPI)
+
+pci:v00001044d0000A501sv00001044sd0000C00A*
+ ID_MODEL_FROM_DATABASE=PM2554U2 Ultra2 Single Channel
+
+pci:v00001044d0000A501sv00001044sd0000C00B*
+ ID_MODEL_FROM_DATABASE=PM2654U2 Ultra2 Single Channel
+
+pci:v00001044d0000A501sv00001044sd0000C00C*
+ ID_MODEL_FROM_DATABASE=PM2664U3 Ultra3 Single Channel
+
+pci:v00001044d0000A501sv00001044sd0000C00D*
+ ID_MODEL_FROM_DATABASE=PM2664U3 Ultra3 Dual Channel
+
+pci:v00001044d0000A501sv00001044sd0000C00E*
+ ID_MODEL_FROM_DATABASE=PM2554U2 Ultra2 Single Channel (NON ACPI)
+
+pci:v00001044d0000A501sv00001044sd0000C00F*
+ ID_MODEL_FROM_DATABASE=PM2654U2 Ultra2 Single Channel (NON ACPI)
+
+pci:v00001044d0000A501sv00001044sd0000C014*
+ ID_MODEL_FROM_DATABASE=PM3754U2 Ultra2 Single Channel (NON ACPI)
+
+pci:v00001044d0000A501sv00001044sd0000C015*
+ ID_MODEL_FROM_DATABASE=PM3755U2B Ultra2 Single Channel (NON ACPI)
+
+pci:v00001044d0000A501sv00001044sd0000C016*
+ ID_MODEL_FROM_DATABASE=PM3755F Fibre Channel (NON ACPI)
+
+pci:v00001044d0000A501sv00001044sd0000C01E*
+ ID_MODEL_FROM_DATABASE=PM3757U2 Ultra2 Single Channel
+
+pci:v00001044d0000A501sv00001044sd0000C01F*
+ ID_MODEL_FROM_DATABASE=PM3757U2 Ultra2 Dual Channel
+
+pci:v00001044d0000A501sv00001044sd0000C020*
+ ID_MODEL_FROM_DATABASE=PM3767U3 Ultra3 Dual Channel
+
+pci:v00001044d0000A501sv00001044sd0000C021*
+ ID_MODEL_FROM_DATABASE=PM3767U3 Ultra3 Quad Channel
+
+pci:v00001044d0000A501sv00001044sd0000C028*
+ ID_MODEL_FROM_DATABASE=PM2865U3 Ultra3 Single Channel
+
+pci:v00001044d0000A501sv00001044sd0000C029*
+ ID_MODEL_FROM_DATABASE=PM2865U3 Ultra3 Dual Channel
+
+pci:v00001044d0000A501sv00001044sd0000C02A*
+ ID_MODEL_FROM_DATABASE=PM2865F Fibre Channel
+
+pci:v00001044d0000A501sv00001044sd0000C03C*
+ ID_MODEL_FROM_DATABASE=2000S Ultra3 Single Channel
+
+pci:v00001044d0000A501sv00001044sd0000C03D*
+ ID_MODEL_FROM_DATABASE=2000S Ultra3 Dual Channel
+
+pci:v00001044d0000A501sv00001044sd0000C03E*
+ ID_MODEL_FROM_DATABASE=2000F Fibre Channel
+
+pci:v00001044d0000A501sv00001044sd0000C046*
+ ID_MODEL_FROM_DATABASE=3000S Ultra3 Single Channel
+
+pci:v00001044d0000A501sv00001044sd0000C047*
+ ID_MODEL_FROM_DATABASE=3000S Ultra3 Dual Channel
+
+pci:v00001044d0000A501sv00001044sd0000C048*
+ ID_MODEL_FROM_DATABASE=3000F Fibre Channel
+
+pci:v00001044d0000A501sv00001044sd0000C050*
+ ID_MODEL_FROM_DATABASE=5000S Ultra3 Single Channel
+
+pci:v00001044d0000A501sv00001044sd0000C051*
+ ID_MODEL_FROM_DATABASE=5000S Ultra3 Dual Channel
+
+pci:v00001044d0000A501sv00001044sd0000C052*
+ ID_MODEL_FROM_DATABASE=5000F Fibre Channel
+
+pci:v00001044d0000A501sv00001044sd0000C05A*
+ ID_MODEL_FROM_DATABASE=2400A UDMA Four Channel
+
+pci:v00001044d0000A501sv00001044sd0000C05B*
+ ID_MODEL_FROM_DATABASE=2400A UDMA Four Channel DAC
+
+pci:v00001044d0000A501sv00001044sd0000C064*
+ ID_MODEL_FROM_DATABASE=3010S Ultra3 Dual Channel
+
+pci:v00001044d0000A501sv00001044sd0000C065*
+ ID_MODEL_FROM_DATABASE=3410S Ultra160 Four Channel
+
+pci:v00001044d0000A501sv00001044sd0000C066*
+ ID_MODEL_FROM_DATABASE=3010S Fibre Channel
+
+pci:v00001044d0000A511*
+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller
+
+pci:v00001044d0000A511sv00001044sd0000C032*
+ ID_MODEL_FROM_DATABASE=ASR-2005S I2O Zero Channel
+
+pci:v00001044d0000A511sv00001044sd0000C035*
+ ID_MODEL_FROM_DATABASE=ASR-2010S I2O Zero Channel
+
+pci:v00001044d0000C066*
+ ID_MODEL_FROM_DATABASE=3010S Ultra3 Dual Channel
+
+pci:v00001045*
+ ID_VENDOR_FROM_DATABASE=OPTi Inc.
+
+pci:v00001045d0000A0F8*
+ ID_MODEL_FROM_DATABASE=82C750 [Vendetta] USB Controller
+
+pci:v00001045d0000C101*
+ ID_MODEL_FROM_DATABASE=92C264
+
+pci:v00001045d0000C178*
+ ID_MODEL_FROM_DATABASE=92C178
+
+pci:v00001045d0000C556*
+ ID_MODEL_FROM_DATABASE=82X556 [Viper]
+
+pci:v00001045d0000C557*
+ ID_MODEL_FROM_DATABASE=82C557 [Viper-M]
+
+pci:v00001045d0000C558*
+ ID_MODEL_FROM_DATABASE=82C558 [Viper-M ISA+IDE]
+
+pci:v00001045d0000C567*
+ ID_MODEL_FROM_DATABASE=82C750 [Vendetta], device 0
+
+pci:v00001045d0000C568*
+ ID_MODEL_FROM_DATABASE=82C750 [Vendetta], device 1
+
+pci:v00001045d0000C569*
+ ID_MODEL_FROM_DATABASE=82C579 [Viper XPress+ Chipset]
+
+pci:v00001045d0000C621*
+ ID_MODEL_FROM_DATABASE=82C621 [Viper-M/N+]
+
+pci:v00001045d0000C700*
+ ID_MODEL_FROM_DATABASE=82C700 [FireStar]
+
+pci:v00001045d0000C701*
+ ID_MODEL_FROM_DATABASE=82C701 [FireStar Plus]
+
+pci:v00001045d0000C814*
+ ID_MODEL_FROM_DATABASE=82C814 [Firebridge 1]
+
+pci:v00001045d0000C822*
+ ID_MODEL_FROM_DATABASE=82C822
+
+pci:v00001045d0000C824*
+ ID_MODEL_FROM_DATABASE=82C824
+
+pci:v00001045d0000C825*
+ ID_MODEL_FROM_DATABASE=82C825 [Firebridge 2]
+
+pci:v00001045d0000C832*
+ ID_MODEL_FROM_DATABASE=82C832
+
+pci:v00001045d0000C861*
+ ID_MODEL_FROM_DATABASE=82C861
+
+pci:v00001045d0000C881*
+ ID_MODEL_FROM_DATABASE=82C881 [FireLink] 1394 OHCI Link Controller
+
+pci:v00001045d0000C895*
+ ID_MODEL_FROM_DATABASE=82C895
+
+pci:v00001045d0000C935*
+ ID_MODEL_FROM_DATABASE=EV1935 ECTIVA MachOne PCIAudio
+
+pci:v00001045d0000D568*
+ ID_MODEL_FROM_DATABASE=82C825 [Firebridge 2]
+
+pci:v00001045d0000D721*
+ ID_MODEL_FROM_DATABASE=IDE [FireStar]
+
+pci:v00001046*
+ ID_VENDOR_FROM_DATABASE=IPC Corporation, Ltd.
+
+pci:v00001047*
+ ID_VENDOR_FROM_DATABASE=Genoa Systems Corp
+
+pci:v00001048*
+ ID_VENDOR_FROM_DATABASE=Elsa AG
+
+pci:v00001048d00000C60*
+ ID_MODEL_FROM_DATABASE=Gladiac MX
+
+pci:v00001048d00000D22*
+ ID_MODEL_FROM_DATABASE=Quadro4 900XGL [ELSA GLoria4 900XGL]
+
+pci:v00001048d00001000*
+ ID_MODEL_FROM_DATABASE=QuickStep 1000
+
+pci:v00001048d00003000*
+ ID_MODEL_FROM_DATABASE=QuickStep 3000
+
+pci:v00001048d00008901*
+ ID_MODEL_FROM_DATABASE=Gloria XL
+
+pci:v00001048d00008901sv00001048sd00000935*
+ ID_MODEL_FROM_DATABASE=GLoria XL (Virge)
+
+pci:v00001049*
+ ID_VENDOR_FROM_DATABASE=Fountain Technologies, Inc.
+
+pci:v0000104A*
+ ID_VENDOR_FROM_DATABASE=STMicroelectronics
+
+pci:v0000104Ad00000000*
+ ID_MODEL_FROM_DATABASE=STLS2F Host Bridge
+
+pci:v0000104Ad00000008*
+ ID_MODEL_FROM_DATABASE=STG 2000X
+
+pci:v0000104Ad00000009*
+ ID_MODEL_FROM_DATABASE=STG 1764X
+
+pci:v0000104Ad00000010*
+ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series]
+
+pci:v0000104Ad00000010sv0000104Asd00004018*
+ ID_MODEL_FROM_DATABASE=ST PowerVR Kyro (64MB AGP TVO)
+
+pci:v0000104Ad00000010sv00001681sd00000028*
+ ID_MODEL_FROM_DATABASE=3D Prophet 4000XT
+
+pci:v0000104Ad00000010sv00001681sd0000C010*
+ ID_MODEL_FROM_DATABASE=3D Prophet 4500 TV-Out
+
+pci:v0000104Ad00000010sv00001681sd0000C069*
+ ID_MODEL_FROM_DATABASE=3D Prophet 4000XT
+
+pci:v0000104Ad00000201*
+ ID_MODEL_FROM_DATABASE=STPC Vega Northbridge
+
+pci:v0000104Ad00000209*
+ ID_MODEL_FROM_DATABASE=STPC Consumer/Industrial North- and Southbridge
+
+pci:v0000104Ad0000020A*
+ ID_MODEL_FROM_DATABASE=STPC Atlas/ConsumerS/Consumer IIA Northbridge
+
+pci:v0000104Ad0000020B*
+ ID_MODEL_FROM_DATABASE=STPC Consumer II ISA Bridge
+
+pci:v0000104Ad00000210*
+ ID_MODEL_FROM_DATABASE=STPC Atlas ISA Bridge
+
+pci:v0000104Ad0000021A*
+ ID_MODEL_FROM_DATABASE=STPC Consumer S Southbridge
+
+pci:v0000104Ad0000021B*
+ ID_MODEL_FROM_DATABASE=STPC Consumer IIA Southbridge
+
+pci:v0000104Ad00000220*
+ ID_MODEL_FROM_DATABASE=STPC Industrial PCI to PCCard bridge
+
+pci:v0000104Ad00000228*
+ ID_MODEL_FROM_DATABASE=STPC Atlas IDE
+
+pci:v0000104Ad00000229*
+ ID_MODEL_FROM_DATABASE=STPC Vega IDE
+
+pci:v0000104Ad00000230*
+ ID_MODEL_FROM_DATABASE=STPC Atlas/Vega OHCI USB Controller
+
+pci:v0000104Ad00000238*
+ ID_MODEL_FROM_DATABASE=STPC Vega LAN
+
+pci:v0000104Ad00000500*
+ ID_MODEL_FROM_DATABASE=ST70137 [Unicorn] ADSL DMT Transceiver
+
+pci:v0000104Ad00000500sv0000104Asd00000500*
+ ID_MODEL_FROM_DATABASE=BeWAN ADSL PCI st
+
+pci:v0000104Ad00000564*
+ ID_MODEL_FROM_DATABASE=STPC Client Northbridge
+
+pci:v0000104Ad00000981*
+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
+
+pci:v0000104Ad00001746*
+ ID_MODEL_FROM_DATABASE=STG 1764X
+
+pci:v0000104Ad00002774*
+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
+
+pci:v0000104Ad00003520*
+ ID_MODEL_FROM_DATABASE=MPEG-II decoder card
+
+pci:v0000104Ad000055CC*
+ ID_MODEL_FROM_DATABASE=STPC Client Southbridge
+
+pci:v0000104B*
+ ID_VENDOR_FROM_DATABASE=BusLogic
+
+pci:v0000104Bd00000140*
+ ID_MODEL_FROM_DATABASE=BT-946C (old) [multimaster 01]
+
+pci:v0000104Bd00001040*
+ ID_MODEL_FROM_DATABASE=BT-946C (BA80C30) [MultiMaster 10]
+
+pci:v0000104Bd00008130*
+ ID_MODEL_FROM_DATABASE=Flashpoint LT
+
+pci:v0000104C*
+ ID_VENDOR_FROM_DATABASE=Texas Instruments
+
+pci:v0000104Cd00000500*
+ ID_MODEL_FROM_DATABASE=100 MBit LAN Controller
+
+pci:v0000104Cd00000508*
+ ID_MODEL_FROM_DATABASE=TMS380C2X Compressor Interface
+
+pci:v0000104Cd00001000*
+ ID_MODEL_FROM_DATABASE=Eagle i/f AS
+
+pci:v0000104Cd0000104C*
+ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller
+
+pci:v0000104Cd00003D04*
+ ID_MODEL_FROM_DATABASE=TVP4010 [Permedia]
+
+pci:v0000104Cd00003D07*
+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2]
+
+pci:v0000104Cd00003D07sv00001011sd00004D10*
+ ID_MODEL_FROM_DATABASE=Comet
+
+pci:v0000104Cd00003D07sv00001040sd0000000F*
+ ID_MODEL_FROM_DATABASE=AccelStar II
+
+pci:v0000104Cd00003D07sv00001040sd00000011*
+ ID_MODEL_FROM_DATABASE=AccelStar II
+
+pci:v0000104Cd00003D07sv00001048sd00000A31*
+ ID_MODEL_FROM_DATABASE=WINNER 2000
+
+pci:v0000104Cd00003D07sv00001048sd00000A32*
+ ID_MODEL_FROM_DATABASE=GLoria Synergy
+
+pci:v0000104Cd00003D07sv00001048sd00000A34*
+ ID_MODEL_FROM_DATABASE=GLoria Synergy
+
+pci:v0000104Cd00003D07sv00001048sd00000A35*
+ ID_MODEL_FROM_DATABASE=GLoria Synergy
+
+pci:v0000104Cd00003D07sv00001048sd00000A36*
+ ID_MODEL_FROM_DATABASE=GLoria Synergy
+
+pci:v0000104Cd00003D07sv00001048sd00000A43*
+ ID_MODEL_FROM_DATABASE=GLoria Synergy
+
+pci:v0000104Cd00003D07sv00001048sd00000A44*
+ ID_MODEL_FROM_DATABASE=GLoria Synergy
+
+pci:v0000104Cd00003D07sv0000107Dsd00002633*
+ ID_MODEL_FROM_DATABASE=WinFast 3D L2300
+
+pci:v0000104Cd00003D07sv00001092sd00000126*
+ ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO
+
+pci:v0000104Cd00003D07sv00001092sd00000127*
+ ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO
+
+pci:v0000104Cd00003D07sv00001092sd00000136*
+ ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO
+
+pci:v0000104Cd00003D07sv00001092sd00000141*
+ ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO
+
+pci:v0000104Cd00003D07sv00001092sd00000146*
+ ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO
+
+pci:v0000104Cd00003D07sv00001092sd00000148*
+ ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO
+
+pci:v0000104Cd00003D07sv00001092sd00000149*
+ ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO
+
+pci:v0000104Cd00003D07sv00001092sd00000152*
+ ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO
+
+pci:v0000104Cd00003D07sv00001092sd00000154*
+ ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO
+
+pci:v0000104Cd00003D07sv00001092sd00000155*
+ ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO
+
+pci:v0000104Cd00003D07sv00001092sd00000156*
+ ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO
+
+pci:v0000104Cd00003D07sv00001092sd00000157*
+ ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO
+
+pci:v0000104Cd00003D07sv00001097sd00003D01*
+ ID_MODEL_FROM_DATABASE=Jeronimo Pro
+
+pci:v0000104Cd00003D07sv00001102sd0000100F*
+ ID_MODEL_FROM_DATABASE=Graphics Blaster Extreme
+
+pci:v0000104Cd00003D07sv00003D3Dsd00000100*
+ ID_MODEL_FROM_DATABASE=Reference Permedia 2 3D
+
+pci:v0000104Cd00008000*
+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller
+
+pci:v0000104Cd00008000sv0000105Esd00008003*
+ ID_MODEL_FROM_DATABASE=FireBoard200
+
+pci:v0000104Cd00008000sv00001443sd00008003*
+ ID_MODEL_FROM_DATABASE=FireBoard200
+
+pci:v0000104Cd00008000sv00001443sd00008005*
+ ID_MODEL_FROM_DATABASE=FireBoard400
+
+pci:v0000104Cd00008000sv00001443sd00008006*
+ ID_MODEL_FROM_DATABASE=FireBoard400
+
+pci:v0000104Cd00008000sv0000E4BFsd00001010*
+ ID_MODEL_FROM_DATABASE=CF1-1-SNARE
+
+pci:v0000104Cd00008000sv0000E4BFsd00001020*
+ ID_MODEL_FROM_DATABASE=CF1-2-SNARE
+
+pci:v0000104Cd00008000sv0000E4BFsd00001040*
+ ID_MODEL_FROM_DATABASE=FireCompact400
+
+pci:v0000104Cd00008009*
+ ID_MODEL_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller
+
+pci:v0000104Cd00008009sv0000104Dsd00008032*
+ ID_MODEL_FROM_DATABASE=8032 OHCI i.LINK (IEEE 1394) Controller
+
+pci:v0000104Cd00008009sv00001443sd00008010*
+ ID_MODEL_FROM_DATABASE=FireBoard400-OHCI
+
+pci:v0000104Cd00008017*
+ ID_MODEL_FROM_DATABASE=PCI4410 FireWire Controller
+
+pci:v0000104Cd00008019*
+ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller
+
+pci:v0000104Cd00008019sv000011BDsd0000000A*
+ ID_MODEL_FROM_DATABASE=Studio DV500-1394
+
+pci:v0000104Cd00008019sv000011BDsd0000000E*
+ ID_MODEL_FROM_DATABASE=Studio DV
+
+pci:v0000104Cd00008019sv00001443sd00008010*
+ ID_MODEL_FROM_DATABASE=FireBoard400-OHCI
+
+pci:v0000104Cd00008019sv0000E4BFsd00001010*
+ ID_MODEL_FROM_DATABASE=CF2-1-CYMBAL
+
+pci:v0000104Cd00008020*
+ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link)
+
+pci:v0000104Cd00008020sv00001028sd000000D8*
+ ID_MODEL_FROM_DATABASE=Precision 530
+
+pci:v0000104Cd00008020sv0000104Dsd000080E2*
+ ID_MODEL_FROM_DATABASE=VAIO PCV-J200
+
+pci:v0000104Cd00008020sv000011BDsd0000000F*
+ ID_MODEL_FROM_DATABASE=Studio DV500-1394
+
+pci:v0000104Cd00008020sv000011BDsd0000001C*
+ ID_MODEL_FROM_DATABASE=Excalibur 4.1
+
+pci:v0000104Cd00008020sv00001443sd00008010*
+ ID_MODEL_FROM_DATABASE=FireBoard400-OHCI
+
+pci:v0000104Cd00008021*
+ ID_MODEL_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated)
+
+pci:v0000104Cd00008021sv0000104Dsd000080DF*
+ ID_MODEL_FROM_DATABASE=Vaio PCG-FX403
+
+pci:v0000104Cd00008021sv0000104Dsd000080E7*
+ ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
+
+pci:v0000104Cd00008022*
+ ID_MODEL_FROM_DATABASE=TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx]
+
+pci:v0000104Cd00008022sv0000104Csd00008023*
+ ID_MODEL_FROM_DATABASE=TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
+
+pci:v0000104Cd00008023*
+ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx]
+
+pci:v0000104Cd00008023sv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v0000104Cd00008023sv00001043sd0000808B*
+ ID_MODEL_FROM_DATABASE=K8N4-E Mainboard
+
+pci:v0000104Cd00008023sv00001043sd0000815B*
+ ID_MODEL_FROM_DATABASE=P5W DH Deluxe Motherboard
+
+pci:v0000104Cd00008023sv00001443sd00008023*
+ ID_MODEL_FROM_DATABASE=FireCard400
+
+pci:v0000104Cd00008023sv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v0000104Cd00008024*
+ ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)
+
+pci:v0000104Cd00008024sv0000107Dsd00006620*
+ ID_MODEL_FROM_DATABASE=Winfast DV2000 FireWire Controller
+
+pci:v0000104Cd00008024sv00001443sd00008024*
+ ID_MODEL_FROM_DATABASE=FireBoard Blue
+
+pci:v0000104Cd00008024sv00001458sd00001000*
+ ID_MODEL_FROM_DATABASE=Motherboard
+
+pci:v0000104Cd00008025*
+ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller
+
+pci:v0000104Cd00008025sv00001043sd0000813C*
+ ID_MODEL_FROM_DATABASE=P5P series mainboard
+
+pci:v0000104Cd00008025sv00001443sd00008025*
+ ID_MODEL_FROM_DATABASE=FireBoard800
+
+pci:v0000104Cd00008025sv00001458sd00001000*
+ ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
+
+pci:v0000104Cd00008025sv00001546sd00008025*
+ ID_MODEL_FROM_DATABASE=FWB-PCI01
+
+pci:v0000104Cd00008025sv000017FCsd00008025*
+ ID_MODEL_FROM_DATABASE=GIC3800
+
+pci:v0000104Cd00008026*
+ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link)
+
+pci:v0000104Cd00008026sv00001025sd00000035*
+ ID_MODEL_FROM_DATABASE=TravelMate 660
+
+pci:v0000104Cd00008026sv00001025sd0000003C*
+ ID_MODEL_FROM_DATABASE=Aspire 2001WLCi (Compaq CL50 motherboard)
+
+pci:v0000104Cd00008026sv0000103Csd00000025*
+ ID_MODEL_FROM_DATABASE=XE4500 Notebook
+
+pci:v0000104Cd00008026sv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=NX9500
+
+pci:v0000104Cd00008026sv00001043sd0000808D*
+ ID_MODEL_FROM_DATABASE=A7V333 mainboard.
+
+pci:v0000104Cd00008027*
+ ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller
+
+pci:v0000104Cd00008027sv00001028sd000000E5*
+ ID_MODEL_FROM_DATABASE=Latitude C810
+
+pci:v0000104Cd00008027sv00001028sd000000E6*
+ ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller (Dell Inspiron 8100)
+
+pci:v0000104Cd00008029*
+ ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller
+
+pci:v0000104Cd00008029sv00001028sd00000163*
+ ID_MODEL_FROM_DATABASE=Latitude D505
+
+pci:v0000104Cd00008029sv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v0000104Cd00008029sv00001071sd00008160*
+ ID_MODEL_FROM_DATABASE=MIM2900
+
+pci:v0000104Cd0000802B*
+ ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller
+
+pci:v0000104Cd0000802Bsv00001028sd00000139*
+ ID_MODEL_FROM_DATABASE=Latitude D400
+
+pci:v0000104Cd0000802Bsv00001028sd0000014E*
+ ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D800)
+
+pci:v0000104Cd0000802E*
+ ID_MODEL_FROM_DATABASE=PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller
+
+pci:v0000104Cd0000802Esv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v0000104Cd00008031*
+ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller
+
+pci:v0000104Cd00008031sv00001025sd00000080*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMi
+
+pci:v0000104Cd00008031sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v0000104Cd00008031sv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v0000104Cd00008031sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v0000104Cd00008032*
+ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller
+
+pci:v0000104Cd00008032sv00001025sd00000080*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMi
+
+pci:v0000104Cd00008032sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v0000104Cd00008032sv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v0000104Cd00008032sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v0000104Cd00008033*
+ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller
+
+pci:v0000104Cd00008033sv00001025sd00000080*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMi
+
+pci:v0000104Cd00008033sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v0000104Cd00008033sv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v0000104Cd00008033sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v0000104Cd00008034*
+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller
+
+pci:v0000104Cd00008034sv00001025sd00000080*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMi
+
+pci:v0000104Cd00008034sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v0000104Cd00008034sv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v0000104Cd00008034sv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v0000104Cd00008035*
+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller
+
+pci:v0000104Cd00008035sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v0000104Cd00008035sv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v0000104Cd00008036*
+ ID_MODEL_FROM_DATABASE=PCI6515 Cardbus Controller
+
+pci:v0000104Cd00008038*
+ ID_MODEL_FROM_DATABASE=PCI6515 SmartCard Controller
+
+pci:v0000104Cd00008039*
+ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller
+
+pci:v0000104Cd00008039sv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v0000104Cd00008039sv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v0000104Cd00008039sv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v0000104Cd00008039sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v0000104Cd0000803A*
+ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller
+
+pci:v0000104Cd0000803Asv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=nx9420
+
+pci:v0000104Cd0000803Asv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v0000104Cd0000803Asv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v0000104Cd0000803Asv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v0000104Cd0000803B*
+ ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
+
+pci:v0000104Cd0000803Bsv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=nx9420
+
+pci:v0000104Cd0000803Bsv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v0000104Cd0000803Bsv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v0000104Cd0000803C*
+ ID_MODEL_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller
+
+pci:v0000104Cd0000803Csv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=nx9420
+
+pci:v0000104Cd0000803Csv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v0000104Cd0000803D*
+ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller
+
+pci:v0000104Cd0000803Dsv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v0000104Cd0000803Dsv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v0000104Cd0000803Dsv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=nc8430
+
+pci:v0000104Cd0000803Dsv0000103Csd000030AA*
+ ID_MODEL_FROM_DATABASE=nc6310
+
+pci:v0000104Cd00008101*
+ ID_MODEL_FROM_DATABASE=TSB43DB42 IEEE-1394a-2000 Controller (PHY/Link)
+
+pci:v0000104Cd00008201*
+ ID_MODEL_FROM_DATABASE=PCI1620 Firmware Loading Function
+
+pci:v0000104Cd00008204*
+ ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 PCI Firmware Loading Function
+
+pci:v0000104Cd00008204sv00001028sd00000139*
+ ID_MODEL_FROM_DATABASE=Latitude D400
+
+pci:v0000104Cd00008204sv00001028sd0000014E*
+ ID_MODEL_FROM_DATABASE=Latitude D800
+
+pci:v0000104Cd00008231*
+ ID_MODEL_FROM_DATABASE=XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge
+
+pci:v0000104Cd00008231sv00005678sd00001234*
+ ID_MODEL_FROM_DATABASE=DC-1394 PCIe
+
+pci:v0000104Cd00008232*
+ ID_MODEL_FROM_DATABASE=XIO3130 PCI Express Switch (Upstream)
+
+pci:v0000104Cd00008233*
+ ID_MODEL_FROM_DATABASE=XIO3130 PCI Express Switch (Downstream)
+
+pci:v0000104Cd00008235*
+ ID_MODEL_FROM_DATABASE=XIO2200A IEEE-1394a-2000 Controller (PHY/Link)
+
+pci:v0000104Cd00008235sv00005678sd00001234*
+ ID_MODEL_FROM_DATABASE=DC-1394 PCIe
+
+pci:v0000104Cd0000823E*
+ ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express]
+
+pci:v0000104Cd0000823F*
+ ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express]
+
+pci:v0000104Cd0000823Fsv00001546sd0000803C*
+ ID_MODEL_FROM_DATABASE=FWB-PCIE1X11B
+
+pci:v0000104Cd00008240*
+ ID_MODEL_FROM_DATABASE=XIO2001 PCI Express-to-PCI Bridge
+
+pci:v0000104Cd00008241*
+ ID_MODEL_FROM_DATABASE=TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller
+
+pci:v0000104Cd00008400*
+ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface
+
+pci:v0000104Cd00008400sv00001186sd00003B00*
+ ID_MODEL_FROM_DATABASE=DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus]
+
+pci:v0000104Cd00008400sv00001186sd00003B01*
+ ID_MODEL_FROM_DATABASE=DWL-520+ 22Mbps PCI Wireless Adapter
+
+pci:v0000104Cd00008400sv00001395sd00002201*
+ ID_MODEL_FROM_DATABASE=WL22-PC
+
+pci:v0000104Cd00008400sv000016ABsd00008501*
+ ID_MODEL_FROM_DATABASE=WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter
+
+pci:v0000104Cd00008401*
+ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface
+
+pci:v0000104Cd00009000*
+ ID_MODEL_FROM_DATABASE=Wireless Interface (of unknown type)
+
+pci:v0000104Cd00009065*
+ ID_MODEL_FROM_DATABASE=TMS320DM642
+
+pci:v0000104Cd00009066*
+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface
+
+pci:v0000104Cd00009066sv00000308sd00003404*
+ ID_MODEL_FROM_DATABASE=G-102 v1 802.11g Wireless Cardbus Adapter
+
+pci:v0000104Cd00009066sv00000308sd00003406*
+ ID_MODEL_FROM_DATABASE=G-162 v2 802.11g Wireless Cardbus Adapter
+
+pci:v0000104Cd00009066sv0000104Csd00009066*
+ ID_MODEL_FROM_DATABASE=WL212 Sitecom Wireless Network PCI-Card 100M (Version 1)
+
+pci:v0000104Cd00009066sv0000104Csd00009067*
+ ID_MODEL_FROM_DATABASE=TNETW1130GVF
+
+pci:v0000104Cd00009066sv0000104Csd00009096*
+ ID_MODEL_FROM_DATABASE=Trendnet TEW-412PC Wireless PCI Adapter (Version A)
+
+pci:v0000104Cd00009066sv00001186sd00003B04*
+ ID_MODEL_FROM_DATABASE=DWL-G520+ Wireless PCI Adapter
+
+pci:v0000104Cd00009066sv00001186sd00003B05*
+ ID_MODEL_FROM_DATABASE=DWL-G650+ AirPlusG+ CardBus Wireless LAN
+
+pci:v0000104Cd00009066sv00001186sd00003B08*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.B1)
+
+pci:v0000104Cd00009066sv00001385sd00004C00*
+ ID_MODEL_FROM_DATABASE=WG311v2 802.11g Wireless PCI Adapter
+
+pci:v0000104Cd00009066sv000013D1sd0000ABA0*
+ ID_MODEL_FROM_DATABASE=SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+
+
+pci:v0000104Cd00009066sv000014EAsd0000AB07*
+ ID_MODEL_FROM_DATABASE=GW-NS54GM Wireless Cardbus Adapter
+
+pci:v0000104Cd00009066sv000016ECsd0000010D*
+ ID_MODEL_FROM_DATABASE=USR5416 802.11g Wireless Turbo PCI Adapter
+
+pci:v0000104Cd00009066sv000016ECsd0000010E*
+ ID_MODEL_FROM_DATABASE=USR5410 802.11g Wireless Cardbus Adapter
+
+pci:v0000104Cd00009066sv00001737sd00000033*
+ ID_MODEL_FROM_DATABASE=WPC54G v2 802.11g Wireless-G Notebook Adapter
+
+pci:v0000104Cd00009066sv000017CFsd00000032*
+ ID_MODEL_FROM_DATABASE=G-162 v1 802.11g Wireless Cardbus Adapter
+
+pci:v0000104Cd00009066sv000017CFsd00000033*
+ ID_MODEL_FROM_DATABASE=Z-Com XG650 Wireless miniPCI 802.11b/g
+
+pci:v0000104Cd00009066sv0000187Esd0000340B*
+ ID_MODEL_FROM_DATABASE=G-302 v2 802.11g Wireless PCI Adapter
+
+pci:v0000104Cd00009066sv0000187Esd0000340C*
+ ID_MODEL_FROM_DATABASE=G-360 v2 802.11g Wireless PCI Adapter
+
+pci:v0000104Cd0000A001*
+ ID_MODEL_FROM_DATABASE=TDC1570
+
+pci:v0000104Cd0000A100*
+ ID_MODEL_FROM_DATABASE=TDC1561
+
+pci:v0000104Cd0000A102*
+ ID_MODEL_FROM_DATABASE=TNETA1575 HyperSAR Plus w/PCI Host i/f & UTOPIA i/f
+
+pci:v0000104Cd0000A106*
+ ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416
+
+pci:v0000104Cd0000A106sv0000175Csd00005000*
+ ID_MODEL_FROM_DATABASE=ASI50xx Audio Adapter
+
+pci:v0000104Cd0000A106sv0000175Csd00006400*
+ ID_MODEL_FROM_DATABASE=ASI6400 Cobranet series
+
+pci:v0000104Cd0000A106sv0000175Csd00008700*
+ ID_MODEL_FROM_DATABASE=ASI87xx Radio Tuner card
+
+pci:v0000104Cd0000AC10*
+ ID_MODEL_FROM_DATABASE=PCI1050
+
+pci:v0000104Cd0000AC11*
+ ID_MODEL_FROM_DATABASE=PCI1053
+
+pci:v0000104Cd0000AC12*
+ ID_MODEL_FROM_DATABASE=PCI1130
+
+pci:v0000104Cd0000AC13*
+ ID_MODEL_FROM_DATABASE=PCI1031
+
+pci:v0000104Cd0000AC15*
+ ID_MODEL_FROM_DATABASE=PCI1131
+
+pci:v0000104Cd0000AC16*
+ ID_MODEL_FROM_DATABASE=PCI1250
+
+pci:v0000104Cd0000AC16sv00001014sd00000092*
+ ID_MODEL_FROM_DATABASE=ThinkPad 600
+
+pci:v0000104Cd0000AC17*
+ ID_MODEL_FROM_DATABASE=PCI1220
+
+pci:v0000104Cd0000AC18*
+ ID_MODEL_FROM_DATABASE=PCI1260
+
+pci:v0000104Cd0000AC19*
+ ID_MODEL_FROM_DATABASE=PCI1221
+
+pci:v0000104Cd0000AC1A*
+ ID_MODEL_FROM_DATABASE=PCI1210
+
+pci:v0000104Cd0000AC1B*
+ ID_MODEL_FROM_DATABASE=PCI1450
+
+pci:v0000104Cd0000AC1Bsv00000E11sd0000B113*
+ ID_MODEL_FROM_DATABASE=Armada M700
+
+pci:v0000104Cd0000AC1Bsv00001014sd00000130*
+ ID_MODEL_FROM_DATABASE=ThinkPad 600X/A21m/T20/T22
+
+pci:v0000104Cd0000AC1C*
+ ID_MODEL_FROM_DATABASE=PCI1225
+
+pci:v0000104Cd0000AC1Csv00000E11sd0000B121*
+ ID_MODEL_FROM_DATABASE=Armada E500
+
+pci:v0000104Cd0000AC1Csv00001028sd00000088*
+ ID_MODEL_FROM_DATABASE=Latitude CPi A400XT
+
+pci:v0000104Cd0000AC1D*
+ ID_MODEL_FROM_DATABASE=PCI1251A
+
+pci:v0000104Cd0000AC1E*
+ ID_MODEL_FROM_DATABASE=PCI1211
+
+pci:v0000104Cd0000AC1F*
+ ID_MODEL_FROM_DATABASE=PCI1251B
+
+pci:v0000104Cd0000AC20*
+ ID_MODEL_FROM_DATABASE=TI 2030
+
+pci:v0000104Cd0000AC21*
+ ID_MODEL_FROM_DATABASE=PCI2031
+
+pci:v0000104Cd0000AC22*
+ ID_MODEL_FROM_DATABASE=PCI2032 PCI Docking Bridge
+
+pci:v0000104Cd0000AC23*
+ ID_MODEL_FROM_DATABASE=PCI2250 PCI-to-PCI Bridge
+
+pci:v0000104Cd0000AC28*
+ ID_MODEL_FROM_DATABASE=PCI2050 PCI-to-PCI Bridge
+
+pci:v0000104Cd0000AC2C*
+ ID_MODEL_FROM_DATABASE=PCI2060 PCI-to-PCI Bridge
+
+pci:v0000104Cd0000AC30*
+ ID_MODEL_FROM_DATABASE=PCI1260 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC40*
+ ID_MODEL_FROM_DATABASE=PCI4450 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC41*
+ ID_MODEL_FROM_DATABASE=PCI4410 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC42*
+ ID_MODEL_FROM_DATABASE=PCI4451 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC42sv00001028sd000000E6*
+ ID_MODEL_FROM_DATABASE=PCI4451 PC card CardBus Controller (Inspiron 8100)
+
+pci:v0000104Cd0000AC44*
+ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC44sv00001028sd00000149*
+ ID_MODEL_FROM_DATABASE=Inspiron 5100
+
+pci:v0000104Cd0000AC44sv00001028sd00000163*
+ ID_MODEL_FROM_DATABASE=Latitude D505
+
+pci:v0000104Cd0000AC44sv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v0000104Cd0000AC44sv00001071sd00008160*
+ ID_MODEL_FROM_DATABASE=MIM2000
+
+pci:v0000104Cd0000AC46*
+ ID_MODEL_FROM_DATABASE=PCI4520 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC46sv00001014sd00000552*
+ ID_MODEL_FROM_DATABASE=ThinkPad
+
+pci:v0000104Cd0000AC47*
+ ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC47sv00001028sd00000139*
+ ID_MODEL_FROM_DATABASE=Latitude D400
+
+pci:v0000104Cd0000AC47sv00001028sd0000013F*
+ ID_MODEL_FROM_DATABASE=Precision M60
+
+pci:v0000104Cd0000AC47sv00001028sd0000014E*
+ ID_MODEL_FROM_DATABASE=Latitude D800
+
+pci:v0000104Cd0000AC48*
+ ID_MODEL_FROM_DATABASE=PCI7610 PC Card Cardbus Controller
+
+pci:v0000104Cd0000AC49*
+ ID_MODEL_FROM_DATABASE=PCI7410 PC Card Cardbus Controller
+
+pci:v0000104Cd0000AC4A*
+ ID_MODEL_FROM_DATABASE=PCI7510,7610 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC4Asv00001028sd00000139*
+ ID_MODEL_FROM_DATABASE=Latitude D400
+
+pci:v0000104Cd0000AC4Asv00001028sd0000014E*
+ ID_MODEL_FROM_DATABASE=Latitude D800
+
+pci:v0000104Cd0000AC4B*
+ ID_MODEL_FROM_DATABASE=PCI7610 SD/MMC controller
+
+pci:v0000104Cd0000AC4C*
+ ID_MODEL_FROM_DATABASE=PCI7610 Memory Stick controller
+
+pci:v0000104Cd0000AC50*
+ ID_MODEL_FROM_DATABASE=PCI1410 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC51*
+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC51sv00000E11sd0000004E*
+ ID_MODEL_FROM_DATABASE=Evo N600c
+
+pci:v0000104Cd0000AC51sv00001014sd00000148*
+ ID_MODEL_FROM_DATABASE=ThinkPad A20m
+
+pci:v0000104Cd0000AC51sv00001014sd0000023B*
+ ID_MODEL_FROM_DATABASE=ThinkPad T23
+
+pci:v0000104Cd0000AC51sv00001028sd000000B1*
+ ID_MODEL_FROM_DATABASE=Latitude C600
+
+pci:v0000104Cd0000AC51sv00001028sd0000012A*
+ ID_MODEL_FROM_DATABASE=Latitude C640
+
+pci:v0000104Cd0000AC51sv00001033sd000080CD*
+ ID_MODEL_FROM_DATABASE=Versa Note VXi
+
+pci:v0000104Cd0000AC51sv000010CFsd00001095*
+ ID_MODEL_FROM_DATABASE=Lifebook S-4510/C6155
+
+pci:v0000104Cd0000AC51sv0000E4BFsd00001000*
+ ID_MODEL_FROM_DATABASE=CP2-2-HIPHOP
+
+pci:v0000104Cd0000AC52*
+ ID_MODEL_FROM_DATABASE=PCI1451 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC53*
+ ID_MODEL_FROM_DATABASE=PCI1421 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC54*
+ ID_MODEL_FROM_DATABASE=PCI1620 PC Card Controller
+
+pci:v0000104Cd0000AC54sv0000103Csd000008B0*
+ ID_MODEL_FROM_DATABASE=tc1100 tablet
+
+pci:v0000104Cd0000AC55*
+ ID_MODEL_FROM_DATABASE=PCI1520 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC55sv00001014sd00000512*
+ ID_MODEL_FROM_DATABASE=ThinkPad T30/T40
+
+pci:v0000104Cd0000AC55sv0000103Csd00000025*
+ ID_MODEL_FROM_DATABASE=XE4500 Notebook
+
+pci:v0000104Cd0000AC56*
+ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller
+
+pci:v0000104Cd0000AC56sv00001014sd00000512*
+ ID_MODEL_FROM_DATABASE=ThinkPad R50e
+
+pci:v0000104Cd0000AC56sv00001014sd00000528*
+ ID_MODEL_FROM_DATABASE=ThinkPad R40e
+
+pci:v0000104Cd0000AC56sv000017AAsd00002012*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v0000104Cd0000AC60*
+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller
+
+pci:v0000104Cd0000AC60sv0000175Csd00005100*
+ ID_MODEL_FROM_DATABASE=ASI51xx Audio Adapter
+
+pci:v0000104Cd0000AC60sv0000175Csd00006100*
+ ID_MODEL_FROM_DATABASE=ASI61xx Audio Adapter
+
+pci:v0000104Cd0000AC60sv0000175Csd00006200*
+ ID_MODEL_FROM_DATABASE=ASI62xx Audio Adapter
+
+pci:v0000104Cd0000AC60sv0000175Csd00008800*
+ ID_MODEL_FROM_DATABASE=ASI88xx Audio Adapter
+
+pci:v0000104Cd0000AC60sv0000186Fsd00003001*
+ ID_MODEL_FROM_DATABASE=WR-G303 PCI radio receiver
+
+pci:v0000104Cd0000AC60sv0000186Fsd00003005*
+ ID_MODEL_FROM_DATABASE=WR-G305 PCI radio receiver
+
+pci:v0000104Cd0000AC60sv0000186Fsd00003101*
+ ID_MODEL_FROM_DATABASE=WR-G313 PCI radio receiver
+
+pci:v0000104Cd0000AC60sv0000186Fsd00003105*
+ ID_MODEL_FROM_DATABASE=WR-G315 PCI radio receiver
+
+pci:v0000104Cd0000AC8D*
+ ID_MODEL_FROM_DATABASE=PCI 7620
+
+pci:v0000104Cd0000AC8E*
+ ID_MODEL_FROM_DATABASE=PCI7420 CardBus Controller
+
+pci:v0000104Cd0000AC8Esv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v0000104Cd0000AC8F*
+ ID_MODEL_FROM_DATABASE=PCI7420/7620 Combo CardBus, 1394a-2000 OHCI and SD/MS-Pro Controller
+
+pci:v0000104Cd0000AC8Fsv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v0000104Cd0000B001*
+ ID_MODEL_FROM_DATABASE=TMS320C6424
+
+pci:v0000104Cd0000FE00*
+ ID_MODEL_FROM_DATABASE=FireWire Host Controller
+
+pci:v0000104Cd0000FE03*
+ ID_MODEL_FROM_DATABASE=12C01A FireWire Host Controller
+
+pci:v0000104D*
+ ID_VENDOR_FROM_DATABASE=Sony Corporation
+
+pci:v0000104Dd00008004*
+ ID_MODEL_FROM_DATABASE=DTL-H2500 [Playstation development board]
+
+pci:v0000104Dd00008009*
+ ID_MODEL_FROM_DATABASE=CXD1947Q i.LINK Controller
+
+pci:v0000104Dd00008039*
+ ID_MODEL_FROM_DATABASE=CXD3222 i.LINK Controller
+
+pci:v0000104Dd00008056*
+ ID_MODEL_FROM_DATABASE=Rockwell HCF 56K modem
+
+pci:v0000104Dd0000808A*
+ ID_MODEL_FROM_DATABASE=Memory Stick Controller
+
+pci:v0000104Dd000081CE*
+ ID_MODEL_FROM_DATABASE=SxS Pro memory card
+
+pci:v0000104E*
+ ID_VENDOR_FROM_DATABASE=Oak Technology, Inc
+
+pci:v0000104Ed00000017*
+ ID_MODEL_FROM_DATABASE=OTI-64017
+
+pci:v0000104Ed00000107*
+ ID_MODEL_FROM_DATABASE=OTI-107 [Spitfire]
+
+pci:v0000104Ed00000109*
+ ID_MODEL_FROM_DATABASE=Video Adapter
+
+pci:v0000104Ed00000111*
+ ID_MODEL_FROM_DATABASE=OTI-64111 [Spitfire]
+
+pci:v0000104Ed00000217*
+ ID_MODEL_FROM_DATABASE=OTI-64217
+
+pci:v0000104Ed00000317*
+ ID_MODEL_FROM_DATABASE=OTI-64317
+
+pci:v0000104F*
+ ID_VENDOR_FROM_DATABASE=Co-time Computer Ltd
+
+pci:v00001050*
+ ID_VENDOR_FROM_DATABASE=Winbond Electronics Corp
+
+pci:v00001050d00000000*
+ ID_MODEL_FROM_DATABASE=NE2000
+
+pci:v00001050d00000001*
+ ID_MODEL_FROM_DATABASE=W83769F
+
+pci:v00001050d00000033*
+ ID_MODEL_FROM_DATABASE=W89C33D 802.11 a/b/g BB/MAC
+
+pci:v00001050d00000105*
+ ID_MODEL_FROM_DATABASE=W82C105
+
+pci:v00001050d00000840*
+ ID_MODEL_FROM_DATABASE=W89C840
+
+pci:v00001050d00000840sv00001050sd00000001*
+ ID_MODEL_FROM_DATABASE=W89C840 Ethernet Adapter
+
+pci:v00001050d00000840sv00001050sd00000840*
+ ID_MODEL_FROM_DATABASE=W89C840 Ethernet Adapter
+
+pci:v00001050d00000940*
+ ID_MODEL_FROM_DATABASE=W89C940
+
+pci:v00001050d00005A5A*
+ ID_MODEL_FROM_DATABASE=W89C940F
+
+pci:v00001050d00006692*
+ ID_MODEL_FROM_DATABASE=W6692
+
+pci:v00001050d00006692sv00001043sd00001702*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, W)
+
+pci:v00001050d00006692sv00001043sd00001703*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
+
+pci:v00001050d00006692sv00001043sd00001707*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
+
+pci:v00001050d00006692sv0000144Fsd00001702*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, W)
+
+pci:v00001050d00006692sv0000144Fsd00001703*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
+
+pci:v00001050d00006692sv0000144Fsd00001707*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
+
+pci:v00001050d00009921*
+ ID_MODEL_FROM_DATABASE=W99200F MPEG-1 Video Encoder
+
+pci:v00001050d00009922*
+ ID_MODEL_FROM_DATABASE=W99200F/W9922PF MPEG-1/2 Video Encoder
+
+pci:v00001050d00009970*
+ ID_MODEL_FROM_DATABASE=W9970CF
+
+pci:v00001051*
+ ID_VENDOR_FROM_DATABASE=Anigma, Inc.
+
+pci:v00001052*
+ ID_VENDOR_FROM_DATABASE=?Young Micro Systems
+
+pci:v00001053*
+ ID_VENDOR_FROM_DATABASE=Young Micro Systems
+
+pci:v00001054*
+ ID_VENDOR_FROM_DATABASE=Hitachi, Ltd
+
+pci:v00001054d00003009*
+ ID_MODEL_FROM_DATABASE=2Gbps Fibre Channel to PCI HBA 3009
+
+pci:v00001054d0000300A*
+ ID_MODEL_FROM_DATABASE=4Gbps Fibre Channel to PCI-X HBA 300a
+
+pci:v00001054d0000300B*
+ ID_MODEL_FROM_DATABASE=4Gbps Fibre Channel to PCI-X HBA 300b
+
+pci:v00001054d0000300F*
+ ID_MODEL_FROM_DATABASE=ColdFusion 3 Chipset Processor to I/O Controller
+
+pci:v00001054d00003010*
+ ID_MODEL_FROM_DATABASE=ColdFusion 3 Chipset Memory Controller Hub
+
+pci:v00001054d00003011*
+ ID_MODEL_FROM_DATABASE=ColdFusion 3e Chipset Processor to I/O Controller
+
+pci:v00001054d00003012*
+ ID_MODEL_FROM_DATABASE=ColdFusion 3e Chipset Memory Controller Hub
+
+pci:v00001054d00003017*
+ ID_MODEL_FROM_DATABASE=Unassigned Hitachi Shared FC Device 3017
+
+pci:v00001054d0000301B*
+ ID_MODEL_FROM_DATABASE=Virtual VGA Device
+
+pci:v00001054d0000301D*
+ ID_MODEL_FROM_DATABASE=PCIe-to-PCIe Bridge with Virtualization IO Assist Feature
+
+pci:v00001054d00003020*
+ ID_MODEL_FROM_DATABASE=FIVE-EX based Fibre Channel to PCIe HBA
+
+pci:v00001054d0000302C*
+ ID_MODEL_FROM_DATABASE=M001 PCI Express Switch Upstream Port
+
+pci:v00001054d0000302D*
+ ID_MODEL_FROM_DATABASE=M001 PCI Express Switch Downstream Port
+
+pci:v00001054d00003505*
+ ID_MODEL_FROM_DATABASE=SH7751 PCI Controller (PCIC)
+
+pci:v00001054d0000350E*
+ ID_MODEL_FROM_DATABASE=SH7751R PCI Controller (PCIC)
+
+pci:v00001055*
+ ID_VENDOR_FROM_DATABASE=Efar Microsystems
+
+pci:v00001055d00009130*
+ ID_MODEL_FROM_DATABASE=SLC90E66 [Victory66] IDE
+
+pci:v00001055d00009460*
+ ID_MODEL_FROM_DATABASE=SLC90E66 [Victory66] ISA
+
+pci:v00001055d00009462*
+ ID_MODEL_FROM_DATABASE=SLC90E66 [Victory66] USB
+
+pci:v00001055d00009463*
+ ID_MODEL_FROM_DATABASE=SLC90E66 [Victory66] ACPI
+
+pci:v00001055d0000E420*
+ ID_MODEL_FROM_DATABASE=LAN9420/LAN9420i
+
+pci:v00001056*
+ ID_VENDOR_FROM_DATABASE=ICL
+
+pci:v00001057*
+ ID_VENDOR_FROM_DATABASE=Motorola
+
+pci:v00001057d00000001*
+ ID_MODEL_FROM_DATABASE=MPC105 [Eagle]
+
+pci:v00001057d00000002*
+ ID_MODEL_FROM_DATABASE=MPC106 [Grackle]
+
+pci:v00001057d00000003*
+ ID_MODEL_FROM_DATABASE=MPC8240 [Kahlua]
+
+pci:v00001057d00000004*
+ ID_MODEL_FROM_DATABASE=MPC107
+
+pci:v00001057d00000006*
+ ID_MODEL_FROM_DATABASE=MPC8245 [Unity]
+
+pci:v00001057d00000008*
+ ID_MODEL_FROM_DATABASE=MPC8540
+
+pci:v00001057d00000009*
+ ID_MODEL_FROM_DATABASE=MPC8560
+
+pci:v00001057d00000012*
+ ID_MODEL_FROM_DATABASE=MPC8548 [PowerQUICC III]
+
+pci:v00001057d00000100*
+ ID_MODEL_FROM_DATABASE=MC145575 [HFC-PCI]
+
+pci:v00001057d00000431*
+ ID_MODEL_FROM_DATABASE=KTI829c 100VG
+
+pci:v00001057d00001073*
+ ID_MODEL_FROM_DATABASE=Nokia N770
+
+pci:v00001057d00001219*
+ ID_MODEL_FROM_DATABASE=Nokia N800
+
+pci:v00001057d00001801*
+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor
+
+pci:v00001057d00001801sv000014FBsd00000101*
+ ID_MODEL_FROM_DATABASE=Transas Radar Imitator Board [RIM]
+
+pci:v00001057d00001801sv000014FBsd00000102*
+ ID_MODEL_FROM_DATABASE=Transas Radar Imitator Board [RIM-2]
+
+pci:v00001057d00001801sv000014FBsd00000202*
+ ID_MODEL_FROM_DATABASE=Transas Radar Integrator Board [RIB-2]
+
+pci:v00001057d00001801sv000014FBsd00000611*
+ ID_MODEL_FROM_DATABASE=1 channel CAN bus Controller [CanPci-1]
+
+pci:v00001057d00001801sv000014FBsd00000612*
+ ID_MODEL_FROM_DATABASE=2 channels CAN bus Controller [CanPci-2]
+
+pci:v00001057d00001801sv000014FBsd00000613*
+ ID_MODEL_FROM_DATABASE=3 channels CAN bus Controller [CanPci-3]
+
+pci:v00001057d00001801sv000014FBsd00000614*
+ ID_MODEL_FROM_DATABASE=4 channels CAN bus Controller [CanPci-4]
+
+pci:v00001057d00001801sv000014FBsd00000621*
+ ID_MODEL_FROM_DATABASE=1 channel CAN bus Controller [CanPci2-1]
+
+pci:v00001057d00001801sv000014FBsd00000622*
+ ID_MODEL_FROM_DATABASE=2 channels CAN bus Controller [CanPci2-2]
+
+pci:v00001057d00001801sv000014FBsd00000810*
+ ID_MODEL_FROM_DATABASE=Transas VTS Radar Integrator Board [RIB-4]
+
+pci:v00001057d00001801sv0000175Csd00004200*
+ ID_MODEL_FROM_DATABASE=ASI4215 Audio Adapter
+
+pci:v00001057d00001801sv0000175Csd00004300*
+ ID_MODEL_FROM_DATABASE=ASI43xx Audio Adapter
+
+pci:v00001057d00001801sv0000175Csd00004400*
+ ID_MODEL_FROM_DATABASE=ASI4401 Audio Adapter
+
+pci:v00001057d00001801sv0000ECC0sd00000010*
+ ID_MODEL_FROM_DATABASE=Darla
+
+pci:v00001057d00001801sv0000ECC0sd00000020*
+ ID_MODEL_FROM_DATABASE=Gina
+
+pci:v00001057d00001801sv0000ECC0sd00000030*
+ ID_MODEL_FROM_DATABASE=Layla rev.0
+
+pci:v00001057d00001801sv0000ECC0sd00000031*
+ ID_MODEL_FROM_DATABASE=Layla rev.1
+
+pci:v00001057d00001801sv0000ECC0sd00000040*
+ ID_MODEL_FROM_DATABASE=Darla24 rev.0
+
+pci:v00001057d00001801sv0000ECC0sd00000041*
+ ID_MODEL_FROM_DATABASE=Darla24 rev.1
+
+pci:v00001057d00001801sv0000ECC0sd00000050*
+ ID_MODEL_FROM_DATABASE=Gina24 rev.0
+
+pci:v00001057d00001801sv0000ECC0sd00000051*
+ ID_MODEL_FROM_DATABASE=Gina24 rev.1
+
+pci:v00001057d00001801sv0000ECC0sd00000070*
+ ID_MODEL_FROM_DATABASE=Mona rev.0
+
+pci:v00001057d00001801sv0000ECC0sd00000071*
+ ID_MODEL_FROM_DATABASE=Mona rev.1
+
+pci:v00001057d00001801sv0000ECC0sd00000072*
+ ID_MODEL_FROM_DATABASE=Mona rev.2
+
+pci:v00001057d000018C0*
+ ID_MODEL_FROM_DATABASE=MPC8265A/8266/8272
+
+pci:v00001057d000018C1*
+ ID_MODEL_FROM_DATABASE=MPC8271/MPC8272
+
+pci:v00001057d00003052*
+ ID_MODEL_FROM_DATABASE=SM56 Data Fax Modem
+
+pci:v00001057d00003410*
+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor
+
+pci:v00001057d00003410sv0000ECC0sd00000050*
+ ID_MODEL_FROM_DATABASE=Gina24 rev.0
+
+pci:v00001057d00003410sv0000ECC0sd00000051*
+ ID_MODEL_FROM_DATABASE=Gina24 rev.1
+
+pci:v00001057d00003410sv0000ECC0sd00000060*
+ ID_MODEL_FROM_DATABASE=Layla24
+
+pci:v00001057d00003410sv0000ECC0sd00000070*
+ ID_MODEL_FROM_DATABASE=Mona rev.0
+
+pci:v00001057d00003410sv0000ECC0sd00000071*
+ ID_MODEL_FROM_DATABASE=Mona rev.1
+
+pci:v00001057d00003410sv0000ECC0sd00000072*
+ ID_MODEL_FROM_DATABASE=Mona rev.2
+
+pci:v00001057d00003410sv0000ECC0sd00000080*
+ ID_MODEL_FROM_DATABASE=Mia rev.0
+
+pci:v00001057d00003410sv0000ECC0sd00000081*
+ ID_MODEL_FROM_DATABASE=Mia rev.1
+
+pci:v00001057d00003410sv0000ECC0sd00000090*
+ ID_MODEL_FROM_DATABASE=Indigo
+
+pci:v00001057d00003410sv0000ECC0sd000000A0*
+ ID_MODEL_FROM_DATABASE=Indigo IO
+
+pci:v00001057d00003410sv0000ECC0sd000000B0*
+ ID_MODEL_FROM_DATABASE=Indigo DJ
+
+pci:v00001057d00003410sv0000ECC0sd00000100*
+ ID_MODEL_FROM_DATABASE=3G
+
+pci:v00001057d00004801*
+ ID_MODEL_FROM_DATABASE=Raven
+
+pci:v00001057d00004802*
+ ID_MODEL_FROM_DATABASE=Falcon
+
+pci:v00001057d00004803*
+ ID_MODEL_FROM_DATABASE=Hawk
+
+pci:v00001057d00004806*
+ ID_MODEL_FROM_DATABASE=CPX8216
+
+pci:v00001057d00004D68*
+ ID_MODEL_FROM_DATABASE=20268
+
+pci:v00001057d00005600*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem
+
+pci:v00001057d00005600sv00001057sd00000300*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem
+
+pci:v00001057d00005600sv00001057sd00000301*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Voice Modem
+
+pci:v00001057d00005600sv00001057sd00000302*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem
+
+pci:v00001057d00005600sv00001057sd00005600*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem
+
+pci:v00001057d00005600sv000013D2sd00000300*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem
+
+pci:v00001057d00005600sv000013D2sd00000301*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem
+
+pci:v00001057d00005600sv000013D2sd00000302*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem
+
+pci:v00001057d00005600sv00001436sd00000300*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem
+
+pci:v00001057d00005600sv00001436sd00000301*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem
+
+pci:v00001057d00005600sv00001436sd00000302*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem
+
+pci:v00001057d00005600sv0000144Fsd0000100C*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem
+
+pci:v00001057d00005600sv00001494sd00000300*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem
+
+pci:v00001057d00005600sv00001494sd00000301*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem
+
+pci:v00001057d00005600sv000014C8sd00000300*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem
+
+pci:v00001057d00005600sv000014C8sd00000302*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem
+
+pci:v00001057d00005600sv00001668sd00000300*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem
+
+pci:v00001057d00005600sv00001668sd00000302*
+ ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem
+
+pci:v00001057d00005608*
+ ID_MODEL_FROM_DATABASE=Wildcard X100P
+
+pci:v00001057d00005803*
+ ID_MODEL_FROM_DATABASE=MPC5200
+
+pci:v00001057d00005806*
+ ID_MODEL_FROM_DATABASE=MCF54 Coldfire
+
+pci:v00001057d00005808*
+ ID_MODEL_FROM_DATABASE=MPC8220
+
+pci:v00001057d00005809*
+ ID_MODEL_FROM_DATABASE=MPC5200B
+
+pci:v00001057d00006400*
+ ID_MODEL_FROM_DATABASE=MPC190 Security Processor (S1 family, encryption)
+
+pci:v00001057d00006405*
+ ID_MODEL_FROM_DATABASE=MPC184 Security Processor (S1 family)
+
+pci:v00001058*
+ ID_VENDOR_FROM_DATABASE=Electronics & Telecommunications RSH
+
+pci:v00001059*
+ ID_VENDOR_FROM_DATABASE=Kontron
+
+pci:v0000105A*
+ ID_VENDOR_FROM_DATABASE=Promise Technology, Inc.
+
+pci:v0000105Ad00000D30*
+ ID_MODEL_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100)
+
+pci:v0000105Ad00000D30sv00001043sd00008042*
+ ID_MODEL_FROM_DATABASE=AV7266-E South Bridge Promise RAID
+
+pci:v0000105Ad00000D30sv0000105Asd00004D33*
+ ID_MODEL_FROM_DATABASE=Ultra100
+
+pci:v0000105Ad00000D38*
+ ID_MODEL_FROM_DATABASE=20263
+
+pci:v0000105Ad00000D38sv0000105Asd00004D39*
+ ID_MODEL_FROM_DATABASE=Fasttrak66
+
+pci:v0000105Ad00001275*
+ ID_MODEL_FROM_DATABASE=20275
+
+pci:v0000105Ad00003318*
+ ID_MODEL_FROM_DATABASE=PDC20318 (SATA150 TX4)
+
+pci:v0000105Ad00003319*
+ ID_MODEL_FROM_DATABASE=PDC20319 (FastTrak S150 TX4)
+
+pci:v0000105Ad00003319sv0000105Asd00003319*
+ ID_MODEL_FROM_DATABASE=FastTrak S150 TX4 4 port SATA PCI board
+
+pci:v0000105Ad00003319sv00008086sd00003427*
+ ID_MODEL_FROM_DATABASE=S875WP1-E mainboard
+
+pci:v0000105Ad00003371*
+ ID_MODEL_FROM_DATABASE=PDC20371 (FastTrak S150 TX2plus)
+
+pci:v0000105Ad00003373*
+ ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378)
+
+pci:v0000105Ad00003373sv00001043sd000080F5*
+ ID_MODEL_FROM_DATABASE=K8V Deluxe/PC-DL Deluxe motherboard
+
+pci:v0000105Ad00003373sv00001462sd0000590D*
+ ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
+
+pci:v0000105Ad00003373sv00001462sd0000702E*
+ ID_MODEL_FROM_DATABASE=K8T NEO FIS2R motherboard
+
+pci:v0000105Ad00003375*
+ ID_MODEL_FROM_DATABASE=PDC20375 (SATA150 TX2plus)
+
+pci:v0000105Ad00003376*
+ ID_MODEL_FROM_DATABASE=PDC20376 (FastTrak 376)
+
+pci:v0000105Ad00003376sv00001043sd0000809E*
+ ID_MODEL_FROM_DATABASE=A7V8X motherboard
+
+pci:v0000105Ad00003515*
+ ID_MODEL_FROM_DATABASE=PDC40719 [FastTrak TX4300/TX4310]
+
+pci:v0000105Ad00003519*
+ ID_MODEL_FROM_DATABASE=PDC40519 (FastTrak TX4200)
+
+pci:v0000105Ad00003570*
+ ID_MODEL_FROM_DATABASE=PDC20771 [FastTrak TX2300]
+
+pci:v0000105Ad00003571*
+ ID_MODEL_FROM_DATABASE=PDC20571 (FastTrak TX2200)
+
+pci:v0000105Ad00003574*
+ ID_MODEL_FROM_DATABASE=PDC20579 SATAII 150 IDE Controller
+
+pci:v0000105Ad00003577*
+ ID_MODEL_FROM_DATABASE=PDC40779 (SATA 300 779)
+
+pci:v0000105Ad00003D17*
+ ID_MODEL_FROM_DATABASE=PDC40718 (SATA 300 TX4)
+
+pci:v0000105Ad00003D18*
+ ID_MODEL_FROM_DATABASE=PDC20518/PDC40518 (SATAII 150 TX4)
+
+pci:v0000105Ad00003D73*
+ ID_MODEL_FROM_DATABASE=PDC40775 (SATA 300 TX2plus)
+
+pci:v0000105Ad00003D75*
+ ID_MODEL_FROM_DATABASE=PDC20575 (SATAII150 TX2plus)
+
+pci:v0000105Ad00003F20*
+ ID_MODEL_FROM_DATABASE=PDC42819 [FastTrak TX2650/TX4650]
+
+pci:v0000105Ad00004302*
+ ID_MODEL_FROM_DATABASE=80333 [SuperTrak EX4350]
+
+pci:v0000105Ad00004D30*
+ ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100)
+
+pci:v0000105Ad00004D30sv0000105Asd00004D33*
+ ID_MODEL_FROM_DATABASE=Ultra100
+
+pci:v0000105Ad00004D30sv0000105Asd00004D39*
+ ID_MODEL_FROM_DATABASE=FastTrak100
+
+pci:v0000105Ad00004D30sv00008086sd00005744*
+ ID_MODEL_FROM_DATABASE=S845WD1-E mainboard
+
+pci:v0000105Ad00004D33*
+ ID_MODEL_FROM_DATABASE=20246
+
+pci:v0000105Ad00004D33sv0000105Asd00004D33*
+ ID_MODEL_FROM_DATABASE=20246 IDE Controller
+
+pci:v0000105Ad00004D38*
+ ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66)
+
+pci:v0000105Ad00004D38sv0000105Asd00004D30*
+ ID_MODEL_FROM_DATABASE=Ultra Device on SuperTrak
+
+pci:v0000105Ad00004D38sv0000105Asd00004D33*
+ ID_MODEL_FROM_DATABASE=Ultra66
+
+pci:v0000105Ad00004D38sv0000105Asd00004D39*
+ ID_MODEL_FROM_DATABASE=FastTrak66
+
+pci:v0000105Ad00004D68*
+ ID_MODEL_FROM_DATABASE=PDC20268 [Ultra100 TX2]
+
+pci:v0000105Ad00004D68sv0000105Asd00004D68*
+ ID_MODEL_FROM_DATABASE=Ultra100 TX2
+
+pci:v0000105Ad00004D69*
+ ID_MODEL_FROM_DATABASE=20269
+
+pci:v0000105Ad00004D69sv0000105Asd00004D68*
+ ID_MODEL_FROM_DATABASE=Ultra133TX2
+
+pci:v0000105Ad00005275*
+ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite)
+
+pci:v0000105Ad00005275sv00001043sd0000807E*
+ ID_MODEL_FROM_DATABASE=A7V333 motherboard.
+
+pci:v0000105Ad00005275sv0000105Asd00000275*
+ ID_MODEL_FROM_DATABASE=SuperTrak SX6000 IDE
+
+pci:v0000105Ad00005275sv0000105Asd00001275*
+ ID_MODEL_FROM_DATABASE=MBFastTrak133 Lite (tm) Controller (RAID mode)
+
+pci:v0000105Ad00005275sv00001458sd0000B001*
+ ID_MODEL_FROM_DATABASE=MBUltra 133
+
+pci:v0000105Ad00005300*
+ ID_MODEL_FROM_DATABASE=DC5300
+
+pci:v0000105Ad00006268*
+ ID_MODEL_FROM_DATABASE=PDC20270 (FastTrak100 LP/TX2/TX4)
+
+pci:v0000105Ad00006268sv0000105Asd00004D68*
+ ID_MODEL_FROM_DATABASE=FastTrak100 TX2
+
+pci:v0000105Ad00006269*
+ ID_MODEL_FROM_DATABASE=PDC20271 (FastTrak TX2000)
+
+pci:v0000105Ad00006269sv0000105Asd00006269*
+ ID_MODEL_FROM_DATABASE=FastTrak TX2/TX2000
+
+pci:v0000105Ad00006300*
+ ID_MODEL_FROM_DATABASE=PDC81731 [FastTrak SX8300]
+
+pci:v0000105Ad00006621*
+ ID_MODEL_FROM_DATABASE=PDC20621 (FastTrak S150 SX4/FastTrak SX4000 lite)
+
+pci:v0000105Ad00006622*
+ ID_MODEL_FROM_DATABASE=PDC20621 [SATA150 SX4] 4 Channel IDE RAID Controller
+
+pci:v0000105Ad00006624*
+ ID_MODEL_FROM_DATABASE=PDC20621 [FastTrak SX4100]
+
+pci:v0000105Ad00006626*
+ ID_MODEL_FROM_DATABASE=PDC20618 (Ultra 618)
+
+pci:v0000105Ad00006629*
+ ID_MODEL_FROM_DATABASE=PDC20619 (FastTrak TX4000)
+
+pci:v0000105Ad00007275*
+ ID_MODEL_FROM_DATABASE=PDC20277 (SBFastTrak133 Lite)
+
+pci:v0000105Ad00008002*
+ ID_MODEL_FROM_DATABASE=SATAII150 SX8
+
+pci:v0000105Ad00008350*
+ ID_MODEL_FROM_DATABASE=80333 [SuperTrak EX8350/EX16350], 80331 [SuperTrak EX8300/EX16300]
+
+pci:v0000105Ad00008650*
+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller]
+
+pci:v0000105Ad00008650sv0000105Asd00004600*
+ ID_MODEL_FROM_DATABASE=SuperTrak EX4650A
+
+pci:v0000105Ad00008650sv0000105Asd00004601*
+ ID_MODEL_FROM_DATABASE=SuperTrak EX4650
+
+pci:v0000105Ad00008650sv0000105Asd00004610*
+ ID_MODEL_FROM_DATABASE=SuperTrak EX4650EL
+
+pci:v0000105Ad00008650sv0000105Asd00008600*
+ ID_MODEL_FROM_DATABASE=SuperTrak EX8650EL
+
+pci:v0000105Ad00008650sv0000105Asd00008601*
+ ID_MODEL_FROM_DATABASE=SuperTrak EX8650A
+
+pci:v0000105Ad00008650sv0000105Asd00008602*
+ ID_MODEL_FROM_DATABASE=SuperTrak EX8654
+
+pci:v0000105Ad00008650sv0000105Asd00008603*
+ ID_MODEL_FROM_DATABASE=SuperTrak EX8658
+
+pci:v0000105Ad00008650sv0000105Asd00008604*
+ ID_MODEL_FROM_DATABASE=SuperTrak EX8650
+
+pci:v0000105Ad00008650sv0000105Asd00008610*
+ ID_MODEL_FROM_DATABASE=SuperTrak EX8650M
+
+pci:v0000105Ad00008650sv0000105Asd0000A600*
+ ID_MODEL_FROM_DATABASE=SuperTrak EX12650
+
+pci:v0000105Ad00008650sv0000105Asd0000B600*
+ ID_MODEL_FROM_DATABASE=SuperTrak EX16650
+
+pci:v0000105Ad00008650sv0000105Asd0000B601*
+ ID_MODEL_FROM_DATABASE=SuperTrak EX16654
+
+pci:v0000105Ad00008650sv0000105Asd0000B602*
+ ID_MODEL_FROM_DATABASE=SuperTrak EX16658
+
+pci:v0000105Ad00008760*
+ ID_MODEL_FROM_DATABASE=PM8010 [SuperTrak EX SAS and SATA 6G RAID Controller]
+
+pci:v0000105Ad0000C350*
+ ID_MODEL_FROM_DATABASE=80333 [SuperTrak EX12350]
+
+pci:v0000105Ad0000E350*
+ ID_MODEL_FROM_DATABASE=80333 [SuperTrak EX24350]
+
+pci:v0000105B*
+ ID_VENDOR_FROM_DATABASE=Foxconn International, Inc.
+
+pci:v0000105C*
+ ID_VENDOR_FROM_DATABASE=Wipro Infotech Limited
+
+pci:v0000105D*
+ ID_VENDOR_FROM_DATABASE=Number 9 Computer Company
+
+pci:v0000105Dd00002309*
+ ID_MODEL_FROM_DATABASE=Imagine 128
+
+pci:v0000105Dd00002339*
+ ID_MODEL_FROM_DATABASE=Imagine 128-II
+
+pci:v0000105Dd00002339sv0000105Dsd00000000*
+ ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
+
+pci:v0000105Dd00002339sv0000105Dsd00000001*
+ ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
+
+pci:v0000105Dd00002339sv0000105Dsd00000002*
+ ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
+
+pci:v0000105Dd00002339sv0000105Dsd00000003*
+ ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
+
+pci:v0000105Dd00002339sv0000105Dsd00000004*
+ ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
+
+pci:v0000105Dd00002339sv0000105Dsd00000005*
+ ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
+
+pci:v0000105Dd00002339sv0000105Dsd00000006*
+ ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
+
+pci:v0000105Dd00002339sv0000105Dsd00000007*
+ ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
+
+pci:v0000105Dd00002339sv0000105Dsd00000008*
+ ID_MODEL_FROM_DATABASE=Imagine 128 series 2e 4Mb DRAM
+
+pci:v0000105Dd00002339sv0000105Dsd00000009*
+ ID_MODEL_FROM_DATABASE=Imagine 128 series 2e 4Mb DRAM
+
+pci:v0000105Dd00002339sv0000105Dsd0000000A*
+ ID_MODEL_FROM_DATABASE=Imagine 128 series 2 8Mb VRAM
+
+pci:v0000105Dd00002339sv0000105Dsd0000000B*
+ ID_MODEL_FROM_DATABASE=Imagine 128 series 2 8Mb H-VRAM
+
+pci:v0000105Dd00002339sv000011A4sd0000000A*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel
+
+pci:v0000105Dd00002339sv000013CCsd00000000*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel
+
+pci:v0000105Dd00002339sv000013CCsd00000004*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel
+
+pci:v0000105Dd00002339sv000013CCsd00000005*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel
+
+pci:v0000105Dd00002339sv000013CCsd00000006*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel
+
+pci:v0000105Dd00002339sv000013CCsd00000008*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel
+
+pci:v0000105Dd00002339sv000013CCsd00000009*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel
+
+pci:v0000105Dd00002339sv000013CCsd0000000A*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel
+
+pci:v0000105Dd00002339sv000013CCsd0000000C*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel
+
+pci:v0000105Dd0000493D*
+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride]
+
+pci:v0000105Dd0000493Dsv000011A4sd0000000A*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
+
+pci:v0000105Dd0000493Dsv000011A4sd0000000B*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
+
+pci:v0000105Dd0000493Dsv000013CCsd00000002*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 4 Megapixel, Dual Head
+
+pci:v0000105Dd0000493Dsv000013CCsd00000003*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
+
+pci:v0000105Dd0000493Dsv000013CCsd00000007*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
+
+pci:v0000105Dd0000493Dsv000013CCsd00000008*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
+
+pci:v0000105Dd0000493Dsv000013CCsd00000009*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
+
+pci:v0000105Dd0000493Dsv000013CCsd0000000A*
+ ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
+
+pci:v0000105Dd00005348*
+ ID_MODEL_FROM_DATABASE=Revolution 4
+
+pci:v0000105Dd00005348sv0000105Dsd00000037*
+ ID_MODEL_FROM_DATABASE=Revolution IV-FP AGP (For SGI 1600SW)
+
+pci:v0000105Dd00005348sv000011A4sd00000028*
+ ID_MODEL_FROM_DATABASE=PVS5600M
+
+pci:v0000105Dd00005348sv000011A4sd00000038*
+ ID_MODEL_FROM_DATABASE=PVS5600D
+
+pci:v0000105E*
+ ID_VENDOR_FROM_DATABASE=Vtech Computers Ltd
+
+pci:v0000105F*
+ ID_VENDOR_FROM_DATABASE=Infotronic America Inc
+
+pci:v00001060*
+ ID_VENDOR_FROM_DATABASE=United Microelectronics [UMC]
+
+pci:v00001060d00000001*
+ ID_MODEL_FROM_DATABASE=UM82C881
+
+pci:v00001060d00000002*
+ ID_MODEL_FROM_DATABASE=UM82C886
+
+pci:v00001060d00000101*
+ ID_MODEL_FROM_DATABASE=UM8673F
+
+pci:v00001060d00000881*
+ ID_MODEL_FROM_DATABASE=UM8881
+
+pci:v00001060d00000886*
+ ID_MODEL_FROM_DATABASE=UM8886F
+
+pci:v00001060d00000891*
+ ID_MODEL_FROM_DATABASE=UM8891A
+
+pci:v00001060d00001001*
+ ID_MODEL_FROM_DATABASE=UM886A
+
+pci:v00001060d0000673A*
+ ID_MODEL_FROM_DATABASE=UM8886BF
+
+pci:v00001060d0000673B*
+ ID_MODEL_FROM_DATABASE=EIDE Master/DMA
+
+pci:v00001060d00008710*
+ ID_MODEL_FROM_DATABASE=UM8710
+
+pci:v00001060d0000886A*
+ ID_MODEL_FROM_DATABASE=UM8886A
+
+pci:v00001060d00008881*
+ ID_MODEL_FROM_DATABASE=UM8881F
+
+pci:v00001060d00008886*
+ ID_MODEL_FROM_DATABASE=UM8886F
+
+pci:v00001060d0000888A*
+ ID_MODEL_FROM_DATABASE=UM8886A
+
+pci:v00001060d00008891*
+ ID_MODEL_FROM_DATABASE=UM8891A
+
+pci:v00001060d00009017*
+ ID_MODEL_FROM_DATABASE=UM9017F
+
+pci:v00001060d00009018*
+ ID_MODEL_FROM_DATABASE=UM9018
+
+pci:v00001060d00009026*
+ ID_MODEL_FROM_DATABASE=UM9026
+
+pci:v00001060d0000E881*
+ ID_MODEL_FROM_DATABASE=UM8881N
+
+pci:v00001060d0000E886*
+ ID_MODEL_FROM_DATABASE=UM8886N
+
+pci:v00001060d0000E88A*
+ ID_MODEL_FROM_DATABASE=UM8886N
+
+pci:v00001060d0000E891*
+ ID_MODEL_FROM_DATABASE=UM8891N
+
+pci:v00001061*
+ ID_VENDOR_FROM_DATABASE=I.I.T.
+
+pci:v00001061d00000001*
+ ID_MODEL_FROM_DATABASE=AGX016
+
+pci:v00001061d00000002*
+ ID_MODEL_FROM_DATABASE=IIT3204/3501
+
+pci:v00001062*
+ ID_VENDOR_FROM_DATABASE=Maspar Computer Corp
+
+pci:v00001063*
+ ID_VENDOR_FROM_DATABASE=Ocean Office Automation
+
+pci:v00001064*
+ ID_VENDOR_FROM_DATABASE=Alcatel
+
+pci:v00001064d00001102*
+ ID_MODEL_FROM_DATABASE=Dynamite 2840 (ADSL PCI modem)
+
+pci:v00001065*
+ ID_VENDOR_FROM_DATABASE=Texas Microsystems
+
+pci:v00001066*
+ ID_VENDOR_FROM_DATABASE=PicoPower Technology
+
+pci:v00001066d00000000*
+ ID_MODEL_FROM_DATABASE=PT80C826
+
+pci:v00001066d00000001*
+ ID_MODEL_FROM_DATABASE=PT86C521 [Vesuvius v1] Host Bridge
+
+pci:v00001066d00000002*
+ ID_MODEL_FROM_DATABASE=PT86C523 [Vesuvius v3] PCI-ISA Bridge Master
+
+pci:v00001066d00000003*
+ ID_MODEL_FROM_DATABASE=PT86C524 [Nile] PCI-to-PCI Bridge
+
+pci:v00001066d00000004*
+ ID_MODEL_FROM_DATABASE=PT86C525 [Nile-II] PCI-to-PCI Bridge
+
+pci:v00001066d00000005*
+ ID_MODEL_FROM_DATABASE=National PC87550 System Controller
+
+pci:v00001066d00008002*
+ ID_MODEL_FROM_DATABASE=PT86C523 [Vesuvius v3] PCI-ISA Bridge Slave
+
+pci:v00001067*
+ ID_VENDOR_FROM_DATABASE=Mitsubishi Electric
+
+pci:v00001067d00000301*
+ ID_MODEL_FROM_DATABASE=AccelGraphics AccelECLIPSE
+
+pci:v00001067d00000304*
+ ID_MODEL_FROM_DATABASE=AccelGALAXY A2100 [OEM Evans & Sutherland]
+
+pci:v00001067d00000308*
+ ID_MODEL_FROM_DATABASE=Tornado 3000 [OEM Evans & Sutherland]
+
+pci:v00001067d00001002*
+ ID_MODEL_FROM_DATABASE=VG500 [VolumePro Volume Rendering Accelerator]
+
+pci:v00001068*
+ ID_VENDOR_FROM_DATABASE=Diversified Technology
+
+pci:v00001069*
+ ID_VENDOR_FROM_DATABASE=Mylex Corporation
+
+pci:v00001069d00000001*
+ ID_MODEL_FROM_DATABASE=DAC960P
+
+pci:v00001069d00000002*
+ ID_MODEL_FROM_DATABASE=DAC960PD
+
+pci:v00001069d00000010*
+ ID_MODEL_FROM_DATABASE=DAC960PG
+
+pci:v00001069d00000020*
+ ID_MODEL_FROM_DATABASE=DAC960LA
+
+pci:v00001069d00000050*
+ ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device
+
+pci:v00001069d00000050sv00001069sd00000050*
+ ID_MODEL_FROM_DATABASE=AcceleRAID 352 support Device
+
+pci:v00001069d00000050sv00001069sd00000052*
+ ID_MODEL_FROM_DATABASE=AcceleRAID 170 support Device
+
+pci:v00001069d00000050sv00001069sd00000054*
+ ID_MODEL_FROM_DATABASE=AcceleRAID 160 support Device
+
+pci:v00001069d0000B166*
+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device
+
+pci:v00001069d0000B166sv00001014sd00000242*
+ ID_MODEL_FROM_DATABASE=iSeries 2872 DASD IOA
+
+pci:v00001069d0000B166sv00001014sd00000266*
+ ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI Adapter
+
+pci:v00001069d0000B166sv00001014sd00000278*
+ ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI RAID Adapter
+
+pci:v00001069d0000B166sv00001014sd000002D3*
+ ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI Adapter
+
+pci:v00001069d0000B166sv00001014sd000002D4*
+ ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI RAID Adapter
+
+pci:v00001069d0000B166sv00001069sd00000200*
+ ID_MODEL_FROM_DATABASE=AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID
+
+pci:v00001069d0000B166sv00001069sd00000202*
+ ID_MODEL_FROM_DATABASE=AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID
+
+pci:v00001069d0000B166sv00001069sd00000204*
+ ID_MODEL_FROM_DATABASE=AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID
+
+pci:v00001069d0000B166sv00001069sd00000206*
+ ID_MODEL_FROM_DATABASE=AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID
+
+pci:v00001069d0000BA55*
+ ID_MODEL_FROM_DATABASE=eXtremeRAID 1100 support Device
+
+pci:v00001069d0000BA56*
+ ID_MODEL_FROM_DATABASE=eXtremeRAID 2000/3000 support Device
+
+pci:v00001069d0000BA56sv00001069sd00000030*
+ ID_MODEL_FROM_DATABASE=eXtremeRAID 3000 support Device
+
+pci:v00001069d0000BA56sv00001069sd00000040*
+ ID_MODEL_FROM_DATABASE=eXtremeRAID 2000 support Device
+
+pci:v00001069d0000BA57*
+ ID_MODEL_FROM_DATABASE=eXtremeRAID 4000/5000 support Device
+
+pci:v00001069d0000BA57sv00001069sd00000072*
+ ID_MODEL_FROM_DATABASE=eXtremeRAID 5000 support Device
+
+pci:v0000106A*
+ ID_VENDOR_FROM_DATABASE=Aten Research Inc
+
+pci:v0000106B*
+ ID_VENDOR_FROM_DATABASE=Apple Inc.
+
+pci:v0000106Bd00000001*
+ ID_MODEL_FROM_DATABASE=Bandit PowerPC host bridge
+
+pci:v0000106Bd00000002*
+ ID_MODEL_FROM_DATABASE=Grand Central I/O
+
+pci:v0000106Bd00000003*
+ ID_MODEL_FROM_DATABASE=Control Video
+
+pci:v0000106Bd00000004*
+ ID_MODEL_FROM_DATABASE=PlanB Video-In
+
+pci:v0000106Bd00000007*
+ ID_MODEL_FROM_DATABASE=O'Hare I/O
+
+pci:v0000106Bd0000000C*
+ ID_MODEL_FROM_DATABASE=DOS on Mac
+
+pci:v0000106Bd0000000E*
+ ID_MODEL_FROM_DATABASE=Hydra Mac I/O
+
+pci:v0000106Bd00000010*
+ ID_MODEL_FROM_DATABASE=Heathrow Mac I/O
+
+pci:v0000106Bd00000017*
+ ID_MODEL_FROM_DATABASE=Paddington Mac I/O
+
+pci:v0000106Bd00000018*
+ ID_MODEL_FROM_DATABASE=UniNorth FireWire
+
+pci:v0000106Bd00000019*
+ ID_MODEL_FROM_DATABASE=KeyLargo USB
+
+pci:v0000106Bd0000001E*
+ ID_MODEL_FROM_DATABASE=UniNorth Internal PCI
+
+pci:v0000106Bd0000001F*
+ ID_MODEL_FROM_DATABASE=UniNorth PCI
+
+pci:v0000106Bd00000020*
+ ID_MODEL_FROM_DATABASE=UniNorth AGP
+
+pci:v0000106Bd00000021*
+ ID_MODEL_FROM_DATABASE=UniNorth GMAC (Sun GEM)
+
+pci:v0000106Bd00000022*
+ ID_MODEL_FROM_DATABASE=KeyLargo Mac I/O
+
+pci:v0000106Bd00000024*
+ ID_MODEL_FROM_DATABASE=UniNorth/Pangea GMAC (Sun GEM)
+
+pci:v0000106Bd00000025*
+ ID_MODEL_FROM_DATABASE=KeyLargo/Pangea Mac I/O
+
+pci:v0000106Bd00000026*
+ ID_MODEL_FROM_DATABASE=KeyLargo/Pangea USB
+
+pci:v0000106Bd00000027*
+ ID_MODEL_FROM_DATABASE=UniNorth/Pangea AGP
+
+pci:v0000106Bd00000028*
+ ID_MODEL_FROM_DATABASE=UniNorth/Pangea PCI
+
+pci:v0000106Bd00000029*
+ ID_MODEL_FROM_DATABASE=UniNorth/Pangea Internal PCI
+
+pci:v0000106Bd0000002D*
+ ID_MODEL_FROM_DATABASE=UniNorth 1.5 AGP
+
+pci:v0000106Bd0000002E*
+ ID_MODEL_FROM_DATABASE=UniNorth 1.5 PCI
+
+pci:v0000106Bd0000002F*
+ ID_MODEL_FROM_DATABASE=UniNorth 1.5 Internal PCI
+
+pci:v0000106Bd00000030*
+ ID_MODEL_FROM_DATABASE=UniNorth/Pangea FireWire
+
+pci:v0000106Bd00000031*
+ ID_MODEL_FROM_DATABASE=UniNorth 2 FireWire
+
+pci:v0000106Bd00000031sv0000106Bsd00005811*
+ ID_MODEL_FROM_DATABASE=iBook G4 2004
+
+pci:v0000106Bd00000032*
+ ID_MODEL_FROM_DATABASE=UniNorth 2 GMAC (Sun GEM)
+
+pci:v0000106Bd00000033*
+ ID_MODEL_FROM_DATABASE=UniNorth 2 ATA/100
+
+pci:v0000106Bd00000034*
+ ID_MODEL_FROM_DATABASE=UniNorth 2 AGP
+
+pci:v0000106Bd00000035*
+ ID_MODEL_FROM_DATABASE=UniNorth 2 PCI
+
+pci:v0000106Bd00000036*
+ ID_MODEL_FROM_DATABASE=UniNorth 2 Internal PCI
+
+pci:v0000106Bd0000003B*
+ ID_MODEL_FROM_DATABASE=UniNorth/Intrepid ATA/100
+
+pci:v0000106Bd0000003E*
+ ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid Mac I/O
+
+pci:v0000106Bd0000003F*
+ ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB
+
+pci:v0000106Bd00000040*
+ ID_MODEL_FROM_DATABASE=K2 KeyLargo USB
+
+pci:v0000106Bd00000041*
+ ID_MODEL_FROM_DATABASE=K2 KeyLargo Mac/IO
+
+pci:v0000106Bd00000042*
+ ID_MODEL_FROM_DATABASE=K2 FireWire
+
+pci:v0000106Bd00000043*
+ ID_MODEL_FROM_DATABASE=K2 ATA/100
+
+pci:v0000106Bd00000045*
+ ID_MODEL_FROM_DATABASE=K2 HT-PCI Bridge
+
+pci:v0000106Bd00000046*
+ ID_MODEL_FROM_DATABASE=K2 HT-PCI Bridge
+
+pci:v0000106Bd00000047*
+ ID_MODEL_FROM_DATABASE=K2 HT-PCI Bridge
+
+pci:v0000106Bd00000048*
+ ID_MODEL_FROM_DATABASE=K2 HT-PCI Bridge
+
+pci:v0000106Bd00000049*
+ ID_MODEL_FROM_DATABASE=K2 HT-PCI Bridge
+
+pci:v0000106Bd0000004A*
+ ID_MODEL_FROM_DATABASE=CPC945 HT Bridge
+
+pci:v0000106Bd0000004B*
+ ID_MODEL_FROM_DATABASE=U3 AGP
+
+pci:v0000106Bd0000004C*
+ ID_MODEL_FROM_DATABASE=K2 GMAC (Sun GEM)
+
+pci:v0000106Bd0000004F*
+ ID_MODEL_FROM_DATABASE=Shasta Mac I/O
+
+pci:v0000106Bd00000050*
+ ID_MODEL_FROM_DATABASE=Shasta IDE
+
+pci:v0000106Bd00000051*
+ ID_MODEL_FROM_DATABASE=Shasta (Sun GEM)
+
+pci:v0000106Bd00000052*
+ ID_MODEL_FROM_DATABASE=Shasta Firewire
+
+pci:v0000106Bd00000053*
+ ID_MODEL_FROM_DATABASE=Shasta PCI Bridge
+
+pci:v0000106Bd00000054*
+ ID_MODEL_FROM_DATABASE=Shasta PCI Bridge
+
+pci:v0000106Bd00000055*
+ ID_MODEL_FROM_DATABASE=Shasta PCI Bridge
+
+pci:v0000106Bd00000056*
+ ID_MODEL_FROM_DATABASE=U4 PCIe
+
+pci:v0000106Bd00000057*
+ ID_MODEL_FROM_DATABASE=U3 HT Bridge
+
+pci:v0000106Bd00000058*
+ ID_MODEL_FROM_DATABASE=U3L AGP Bridge
+
+pci:v0000106Bd00000059*
+ ID_MODEL_FROM_DATABASE=U3H AGP Bridge
+
+pci:v0000106Bd0000005B*
+ ID_MODEL_FROM_DATABASE=CPC945 PCIe Bridge
+
+pci:v0000106Bd00000066*
+ ID_MODEL_FROM_DATABASE=Intrepid2 AGP Bridge
+
+pci:v0000106Bd00000067*
+ ID_MODEL_FROM_DATABASE=Intrepid2 PCI Bridge
+
+pci:v0000106Bd00000068*
+ ID_MODEL_FROM_DATABASE=Intrepid2 PCI Bridge
+
+pci:v0000106Bd00000069*
+ ID_MODEL_FROM_DATABASE=Intrepid2 ATA/100
+
+pci:v0000106Bd0000006A*
+ ID_MODEL_FROM_DATABASE=Intrepid2 Firewire
+
+pci:v0000106Bd0000006B*
+ ID_MODEL_FROM_DATABASE=Intrepid2 GMAC (Sun GEM)
+
+pci:v0000106Bd00000074*
+ ID_MODEL_FROM_DATABASE=U4 HT Bridge
+
+pci:v0000106Bd00001645*
+ ID_MODEL_FROM_DATABASE=Broadcom NetXtreme BCM5701 Gigabit Ethernet
+
+pci:v0000106C*
+ ID_VENDOR_FROM_DATABASE=Hynix Semiconductor
+
+pci:v0000106Cd00008139*
+ ID_MODEL_FROM_DATABASE=8139c 100BaseTX Ethernet Controller
+
+pci:v0000106Cd00008801*
+ ID_MODEL_FROM_DATABASE=Dual Pentium ISA/PCI Motherboard
+
+pci:v0000106Cd00008802*
+ ID_MODEL_FROM_DATABASE=PowerPC ISA/PCI Motherboard
+
+pci:v0000106Cd00008803*
+ ID_MODEL_FROM_DATABASE=Dual Window Graphics Accelerator
+
+pci:v0000106Cd00008804*
+ ID_MODEL_FROM_DATABASE=LAN Controller
+
+pci:v0000106Cd00008805*
+ ID_MODEL_FROM_DATABASE=100-BaseT LAN
+
+pci:v0000106D*
+ ID_VENDOR_FROM_DATABASE=Sequent Computer Systems
+
+pci:v0000106E*
+ ID_VENDOR_FROM_DATABASE=DFI, Inc
+
+pci:v0000106F*
+ ID_VENDOR_FROM_DATABASE=City Gate Development Ltd
+
+pci:v00001070*
+ ID_VENDOR_FROM_DATABASE=Daewoo Telecom Ltd
+
+pci:v00001071*
+ ID_VENDOR_FROM_DATABASE=Mitac
+
+pci:v00001071d00008160*
+ ID_MODEL_FROM_DATABASE=Mitac 8060B Mobile Platform
+
+pci:v00001072*
+ ID_VENDOR_FROM_DATABASE=GIT Co Ltd
+
+pci:v00001073*
+ ID_VENDOR_FROM_DATABASE=Yamaha Corporation
+
+pci:v00001073d00000001*
+ ID_MODEL_FROM_DATABASE=3D GUI Accelerator
+
+pci:v00001073d00000002*
+ ID_MODEL_FROM_DATABASE=YGV615 [RPA3 3D-Graphics Controller]
+
+pci:v00001073d00000003*
+ ID_MODEL_FROM_DATABASE=YMF-740
+
+pci:v00001073d00000004*
+ ID_MODEL_FROM_DATABASE=YMF-724
+
+pci:v00001073d00000004sv00001073sd00000004*
+ ID_MODEL_FROM_DATABASE=YMF724-Based PCI Audio Adapter
+
+pci:v00001073d00000005*
+ ID_MODEL_FROM_DATABASE=DS1 Audio
+
+pci:v00001073d00000005sv00001073sd00000005*
+ ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC
+
+pci:v00001073d00000006*
+ ID_MODEL_FROM_DATABASE=DS1 Audio
+
+pci:v00001073d00000008*
+ ID_MODEL_FROM_DATABASE=DS1 Audio
+
+pci:v00001073d00000008sv00001073sd00000008*
+ ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC
+
+pci:v00001073d0000000A*
+ ID_MODEL_FROM_DATABASE=DS1L Audio
+
+pci:v00001073d0000000Asv00001073sd00000004*
+ ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC
+
+pci:v00001073d0000000Asv00001073sd0000000A*
+ ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC
+
+pci:v00001073d0000000Asv00008086sd00004D55*
+ ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC [Intel MU440EX]
+
+pci:v00001073d0000000C*
+ ID_MODEL_FROM_DATABASE=YMF-740C [DS-1L Audio Controller]
+
+pci:v00001073d0000000Csv0000107Asd0000000C*
+ ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC
+
+pci:v00001073d0000000D*
+ ID_MODEL_FROM_DATABASE=YMF-724F [DS-1 Audio Controller]
+
+pci:v00001073d0000000Dsv00001073sd0000000D*
+ ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC
+
+pci:v00001073d00000010*
+ ID_MODEL_FROM_DATABASE=YMF-744B [DS-1S Audio Controller]
+
+pci:v00001073d00000010sv00001073sd00000006*
+ ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC
+
+pci:v00001073d00000010sv00001073sd00000010*
+ ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC
+
+pci:v00001073d00000012*
+ ID_MODEL_FROM_DATABASE=YMF-754 [DS-1E Audio Controller]
+
+pci:v00001073d00000012sv00001073sd00000012*
+ ID_MODEL_FROM_DATABASE=DS-XG PCI Audio Codec
+
+pci:v00001073d00000020*
+ ID_MODEL_FROM_DATABASE=DS-1 Audio
+
+pci:v00001073d00001000*
+ ID_MODEL_FROM_DATABASE=SW1000XG [XG Factory]
+
+pci:v00001073d00002000*
+ ID_MODEL_FROM_DATABASE=DS2416 Digital Mixing Card
+
+pci:v00001073d00002000sv00001073sd00002000*
+ ID_MODEL_FROM_DATABASE=DS2416 Digital Mixing Card
+
+pci:v00001074*
+ ID_VENDOR_FROM_DATABASE=NexGen Microsystems
+
+pci:v00001074d00004E78*
+ ID_MODEL_FROM_DATABASE=82c500/1
+
+pci:v00001075*
+ ID_VENDOR_FROM_DATABASE=Advanced Integrations Research
+
+pci:v00001076*
+ ID_VENDOR_FROM_DATABASE=Chaintech Computer Co. Ltd
+
+pci:v00001077*
+ ID_VENDOR_FROM_DATABASE=QLogic Corp.
+
+pci:v00001077d00001016*
+ ID_MODEL_FROM_DATABASE=ISP10160 Single Channel Ultra3 SCSI Processor
+
+pci:v00001077d00001020*
+ ID_MODEL_FROM_DATABASE=ISP1020 Fast-wide SCSI
+
+pci:v00001077d00001022*
+ ID_MODEL_FROM_DATABASE=ISP1022 Fast-wide SCSI
+
+pci:v00001077d00001080*
+ ID_MODEL_FROM_DATABASE=ISP1080 SCSI Host Adapter
+
+pci:v00001077d00001216*
+ ID_MODEL_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor
+
+pci:v00001077d00001216sv0000101Esd00008471*
+ ID_MODEL_FROM_DATABASE=QLA12160 on AMI MegaRAID
+
+pci:v00001077d00001216sv0000101Esd00008493*
+ ID_MODEL_FROM_DATABASE=QLA12160 on AMI MegaRAID
+
+pci:v00001077d00001240*
+ ID_MODEL_FROM_DATABASE=ISP1240 SCSI Host Adapter
+
+pci:v00001077d00001280*
+ ID_MODEL_FROM_DATABASE=ISP1280 SCSI Host Adapter
+
+pci:v00001077d00002020*
+ ID_MODEL_FROM_DATABASE=ISP2020A Fast!SCSI Basic Adapter
+
+pci:v00001077d00002031*
+ ID_MODEL_FROM_DATABASE=ISP8324-based 16Gb Fibre Channel to PCI Express Adapter
+
+pci:v00001077d00002100*
+ ID_MODEL_FROM_DATABASE=QLA2100 64-bit Fibre Channel Adapter
+
+pci:v00001077d00002100sv00001077sd00000001*
+ ID_MODEL_FROM_DATABASE=QLA2100 64-bit Fibre Channel Adapter
+
+pci:v00001077d00002200*
+ ID_MODEL_FROM_DATABASE=QLA2200 64-bit Fibre Channel Adapter
+
+pci:v00001077d00002200sv00001077sd00000002*
+ ID_MODEL_FROM_DATABASE=QLA2200
+
+pci:v00001077d00002300*
+ ID_MODEL_FROM_DATABASE=QLA2300 64-bit Fibre Channel Adapter
+
+pci:v00001077d00002312*
+ ID_MODEL_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA
+
+pci:v00001077d00002312sv0000103Csd00000131*
+ ID_MODEL_FROM_DATABASE=2Gb Fibre Channel - Single port [A7538A]
+
+pci:v00001077d00002312sv0000103Csd000012BA*
+ ID_MODEL_FROM_DATABASE=2Gb Fibre Channel - Dual port [A6826A]
+
+pci:v00001077d00002322*
+ ID_MODEL_FROM_DATABASE=ISP2322-based 2Gb Fibre Channel to PCI-X HBA
+
+pci:v00001077d00002422*
+ ID_MODEL_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA
+
+pci:v00001077d00002422sv0000103Csd000012D7*
+ ID_MODEL_FROM_DATABASE=4Gb Fibre Channel [AB379A]
+
+pci:v00001077d00002422sv0000103Csd000012DD*
+ ID_MODEL_FROM_DATABASE=4Gb Fibre Channel [AB429A]
+
+pci:v00001077d00002432*
+ ID_MODEL_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA
+
+pci:v00001077d00002532*
+ ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA
+
+pci:v00001077d00002532sv00001077sd00000167*
+ ID_MODEL_FROM_DATABASE=QME2572 Dual Port FC8 HBA Mezzanine
+
+pci:v00001077d00003022*
+ ID_MODEL_FROM_DATABASE=ISP4022-based Ethernet NIC
+
+pci:v00001077d00003032*
+ ID_MODEL_FROM_DATABASE=ISP4032-based Ethernet IPv6 NIC
+
+pci:v00001077d00004010*
+ ID_MODEL_FROM_DATABASE=ISP4010-based iSCSI TOE HBA
+
+pci:v00001077d00004022*
+ ID_MODEL_FROM_DATABASE=ISP4022-based iSCSI TOE HBA
+
+pci:v00001077d00004032*
+ ID_MODEL_FROM_DATABASE=ISP4032-based iSCSI TOE IPv6 HBA
+
+pci:v00001077d00005432*
+ ID_MODEL_FROM_DATABASE=SP232-based 4Gb Fibre Channel to PCI Express HBA
+
+pci:v00001077d00006312*
+ ID_MODEL_FROM_DATABASE=SP202-based 2Gb Fibre Channel to PCI-X HBA
+
+pci:v00001077d00006322*
+ ID_MODEL_FROM_DATABASE=SP212-based 2Gb Fibre Channel to PCI-X HBA
+
+pci:v00001077d00007220*
+ ID_MODEL_FROM_DATABASE=IBA7220 InfiniBand HCA
+
+pci:v00001077d00007322*
+ ID_MODEL_FROM_DATABASE=IBA7322 QDR InfiniBand HCA
+
+pci:v00001077d00008000*
+ ID_MODEL_FROM_DATABASE=10GbE Converged Network Adapter (TCP/IP Networking)
+
+pci:v00001077d00008001*
+ ID_MODEL_FROM_DATABASE=10GbE Converged Network Adapter (FCoE)
+
+pci:v00001077d00008020*
+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller
+
+pci:v00001077d00008020sv0000103Csd00003346*
+ ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter
+
+pci:v00001077d00008020sv0000103Csd00003733*
+ ID_MODEL_FROM_DATABASE=NC523SFP 10Gb 2-port Server Adapter
+
+pci:v00001077d00008020sv00001077sd00000203*
+ ID_MODEL_FROM_DATABASE=8200 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking)
+
+pci:v00001077d00008020sv00001077sd00000207*
+ ID_MODEL_FROM_DATABASE=8200 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking)
+
+pci:v00001077d00008020sv00001077sd0000020B*
+ ID_MODEL_FROM_DATABASE=3200 Series Dual Port 10Gb Intelligent Ethernet Adapter
+
+pci:v00001077d00008020sv00001077sd0000020C*
+ ID_MODEL_FROM_DATABASE=3200 Series Quad Port 1Gb Intelligent Ethernet Adapter
+
+pci:v00001077d00008020sv00001077sd0000020F*
+ ID_MODEL_FROM_DATABASE=3200 Series Single Port 10Gb Intelligent Ethernet Adapter
+
+pci:v00001077d00008020sv00001077sd00000210*
+ ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card
+
+pci:v00001077d00008021*
+ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE)
+
+pci:v00001077d00008021sv0000103Csd00003348*
+ ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter
+
+pci:v00001077d00008021sv00001077sd00000211*
+ ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card, FCoE
+
+pci:v00001077d00008022*
+ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI)
+
+pci:v00001077d00008022sv0000103Csd00003347*
+ ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter
+
+pci:v00001077d00008022sv00001077sd00000212*
+ ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card, iSCSI
+
+pci:v00001077d00008030*
+ ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller
+
+pci:v00001077d00008030sv00001077sd00000243*
+ ID_MODEL_FROM_DATABASE=8300 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking)
+
+pci:v00001077d00008030sv00001077sd00000246*
+ ID_MODEL_FROM_DATABASE=8300 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking)
+
+pci:v00001077d00008031*
+ ID_MODEL_FROM_DATABASE=8300 Series 10GbE Converged Network Adapter (FCoE)
+
+pci:v00001077d00008032*
+ ID_MODEL_FROM_DATABASE=8300 Series 10GbE Converged Network Adapter (iSCSI)
+
+pci:v00001077d00008432*
+ ID_MODEL_FROM_DATABASE=ISP2432M-based 10GbE Converged Network Adapter (CNA)
+
+pci:v00001078*
+ ID_VENDOR_FROM_DATABASE=Cyrix Corporation
+
+pci:v00001078d00000000*
+ ID_MODEL_FROM_DATABASE=5510 [Grappa]
+
+pci:v00001078d00000001*
+ ID_MODEL_FROM_DATABASE=PCI Master
+
+pci:v00001078d00000002*
+ ID_MODEL_FROM_DATABASE=5520 [Cognac]
+
+pci:v00001078d00000100*
+ ID_MODEL_FROM_DATABASE=5530 Legacy [Kahlua]
+
+pci:v00001078d00000101*
+ ID_MODEL_FROM_DATABASE=5530 SMI [Kahlua]
+
+pci:v00001078d00000102*
+ ID_MODEL_FROM_DATABASE=5530 IDE [Kahlua]
+
+pci:v00001078d00000103*
+ ID_MODEL_FROM_DATABASE=5530 Audio [Kahlua]
+
+pci:v00001078d00000104*
+ ID_MODEL_FROM_DATABASE=5530 Video [Kahlua]
+
+pci:v00001078d00000400*
+ ID_MODEL_FROM_DATABASE=ZFMicro PCI Bridge
+
+pci:v00001078d00000401*
+ ID_MODEL_FROM_DATABASE=ZFMicro Chipset SMI
+
+pci:v00001078d00000402*
+ ID_MODEL_FROM_DATABASE=ZFMicro Chipset IDE
+
+pci:v00001078d00000403*
+ ID_MODEL_FROM_DATABASE=ZFMicro Expansion Bus
+
+pci:v00001079*
+ ID_VENDOR_FROM_DATABASE=I-Bus
+
+pci:v0000107A*
+ ID_VENDOR_FROM_DATABASE=NetWorth
+
+pci:v0000107B*
+ ID_VENDOR_FROM_DATABASE=Gateway, Inc.
+
+pci:v0000107C*
+ ID_VENDOR_FROM_DATABASE=LG Electronics [Lucky Goldstar Co. Ltd]
+
+pci:v0000107D*
+ ID_VENDOR_FROM_DATABASE=LeadTek Research Inc.
+
+pci:v0000107Dd00000000*
+ ID_MODEL_FROM_DATABASE=P86C850
+
+pci:v0000107E*
+ ID_VENDOR_FROM_DATABASE=Interphase Corporation
+
+pci:v0000107Ed00000001*
+ ID_MODEL_FROM_DATABASE=5515 ATM Adapter [Flipper]
+
+pci:v0000107Ed00000002*
+ ID_MODEL_FROM_DATABASE=100 VG AnyLan Controller
+
+pci:v0000107Ed00000004*
+ ID_MODEL_FROM_DATABASE=5526 Fibre Channel Host Adapter
+
+pci:v0000107Ed00000005*
+ ID_MODEL_FROM_DATABASE=x526 Fibre Channel Host Adapter
+
+pci:v0000107Ed00000008*
+ ID_MODEL_FROM_DATABASE=5525/5575 ATM Adapter (155 Mbit) [Atlantic]
+
+pci:v0000107Ed00009003*
+ ID_MODEL_FROM_DATABASE=5535-4P-BRI-ST
+
+pci:v0000107Ed00009007*
+ ID_MODEL_FROM_DATABASE=5535-4P-BRI-U
+
+pci:v0000107Ed00009008*
+ ID_MODEL_FROM_DATABASE=5535-1P-SR
+
+pci:v0000107Ed0000900C*
+ ID_MODEL_FROM_DATABASE=5535-1P-SR-ST
+
+pci:v0000107Ed0000900E*
+ ID_MODEL_FROM_DATABASE=5535-1P-SR-U
+
+pci:v0000107Ed00009011*
+ ID_MODEL_FROM_DATABASE=5535-1P-PRI
+
+pci:v0000107Ed00009013*
+ ID_MODEL_FROM_DATABASE=5535-2P-PRI
+
+pci:v0000107Ed00009023*
+ ID_MODEL_FROM_DATABASE=5536-4P-BRI-ST
+
+pci:v0000107Ed00009027*
+ ID_MODEL_FROM_DATABASE=5536-4P-BRI-U
+
+pci:v0000107Ed00009031*
+ ID_MODEL_FROM_DATABASE=5536-1P-PRI
+
+pci:v0000107Ed00009033*
+ ID_MODEL_FROM_DATABASE=5536-2P-PRI
+
+pci:v0000107F*
+ ID_VENDOR_FROM_DATABASE=Data Technology Corporation
+
+pci:v0000107Fd00000802*
+ ID_MODEL_FROM_DATABASE=SL82C105
+
+pci:v00001080*
+ ID_VENDOR_FROM_DATABASE=Contaq Microsystems
+
+pci:v00001080d00000600*
+ ID_MODEL_FROM_DATABASE=82C599
+
+pci:v00001080d0000C691*
+ ID_MODEL_FROM_DATABASE=Cypress CY82C691
+
+pci:v00001080d0000C693*
+ ID_MODEL_FROM_DATABASE=82c693
+
+pci:v00001081*
+ ID_VENDOR_FROM_DATABASE=Supermac Technology
+
+pci:v00001081d00000D47*
+ ID_MODEL_FROM_DATABASE=Radius PCI to NuBUS Bridge
+
+pci:v00001082*
+ ID_VENDOR_FROM_DATABASE=EFA Corporation of America
+
+pci:v00001083*
+ ID_VENDOR_FROM_DATABASE=Forex Computer Corporation
+
+pci:v00001083d00000001*
+ ID_MODEL_FROM_DATABASE=FR710
+
+pci:v00001084*
+ ID_VENDOR_FROM_DATABASE=Parador
+
+pci:v00001085*
+ ID_VENDOR_FROM_DATABASE=Tulip Computers Int.B.V.
+
+pci:v00001086*
+ ID_VENDOR_FROM_DATABASE=J. Bond Computer Systems
+
+pci:v00001087*
+ ID_VENDOR_FROM_DATABASE=Cache Computer
+
+pci:v00001088*
+ ID_VENDOR_FROM_DATABASE=Microcomputer Systems (M) Son
+
+pci:v00001089*
+ ID_VENDOR_FROM_DATABASE=Data General Corporation
+
+pci:v0000108A*
+ ID_VENDOR_FROM_DATABASE=SBS Technologies
+
+pci:v0000108Ad00000001*
+ ID_MODEL_FROM_DATABASE=VME Bridge Model 617
+
+pci:v0000108Ad00000010*
+ ID_MODEL_FROM_DATABASE=VME Bridge Model 618
+
+pci:v0000108Ad00000040*
+ ID_MODEL_FROM_DATABASE=dataBLIZZARD
+
+pci:v0000108Ad00003000*
+ ID_MODEL_FROM_DATABASE=VME Bridge Model 2706
+
+pci:v0000108C*
+ ID_VENDOR_FROM_DATABASE=Oakleigh Systems Inc.
+
+pci:v0000108D*
+ ID_VENDOR_FROM_DATABASE=Olicom
+
+pci:v0000108Dd00000001*
+ ID_MODEL_FROM_DATABASE=Token-Ring 16/4 PCI Adapter (3136/3137)
+
+pci:v0000108Dd00000002*
+ ID_MODEL_FROM_DATABASE=16/4 Token Ring
+
+pci:v0000108Dd00000004*
+ ID_MODEL_FROM_DATABASE=RapidFire 3139 Token-Ring 16/4 PCI Adapter
+
+pci:v0000108Dd00000004sv0000108Dsd00000004*
+ ID_MODEL_FROM_DATABASE=OC-3139/3140 RapidFire Token-Ring 16/4 Adapter
+
+pci:v0000108Dd00000005*
+ ID_MODEL_FROM_DATABASE=GoCard 3250 Token-Ring 16/4 CardBus PC Card
+
+pci:v0000108Dd00000006*
+ ID_MODEL_FROM_DATABASE=OC-3530 RapidFire Token-Ring 100
+
+pci:v0000108Dd00000007*
+ ID_MODEL_FROM_DATABASE=RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter
+
+pci:v0000108Dd00000007sv0000108Dsd00000007*
+ ID_MODEL_FROM_DATABASE=OC-3141 RapidFire Token-Ring 16/4 Adapter
+
+pci:v0000108Dd00000008*
+ ID_MODEL_FROM_DATABASE=RapidFire 3540 HSTR 100/16/4 PCI Adapter
+
+pci:v0000108Dd00000008sv0000108Dsd00000008*
+ ID_MODEL_FROM_DATABASE=OC-3540 RapidFire HSTR 100/16/4 Adapter
+
+pci:v0000108Dd00000011*
+ ID_MODEL_FROM_DATABASE=OC-2315
+
+pci:v0000108Dd00000012*
+ ID_MODEL_FROM_DATABASE=OC-2325
+
+pci:v0000108Dd00000013*
+ ID_MODEL_FROM_DATABASE=OC-2183/2185
+
+pci:v0000108Dd00000014*
+ ID_MODEL_FROM_DATABASE=OC-2326
+
+pci:v0000108Dd00000019*
+ ID_MODEL_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter
+
+pci:v0000108Dd00000019sv0000108Dsd00000016*
+ ID_MODEL_FROM_DATABASE=OC-2327 Rapidfire 10/100 Ethernet Adapter
+
+pci:v0000108Dd00000019sv0000108Dsd00000017*
+ ID_MODEL_FROM_DATABASE=OC-2250 GoCard 10/100 Ethernet Adapter
+
+pci:v0000108Dd00000021*
+ ID_MODEL_FROM_DATABASE=OC-6151/6152 [RapidFire ATM 155]
+
+pci:v0000108Dd00000022*
+ ID_MODEL_FROM_DATABASE=ATM Adapter
+
+pci:v0000108E*
+ ID_VENDOR_FROM_DATABASE=Oracle/SUN
+
+pci:v0000108Ed00000001*
+ ID_MODEL_FROM_DATABASE=EBUS
+
+pci:v0000108Ed00001000*
+ ID_MODEL_FROM_DATABASE=EBUS
+
+pci:v0000108Ed00001001*
+ ID_MODEL_FROM_DATABASE=Happy Meal 10/100 Ethernet [hme]
+
+pci:v0000108Ed00001100*
+ ID_MODEL_FROM_DATABASE=RIO EBUS
+
+pci:v0000108Ed00001100sv0000108Esd00001100*
+ ID_MODEL_FROM_DATABASE=RIO EBUS on Blade 100 motherboard
+
+pci:v0000108Ed00001101*
+ ID_MODEL_FROM_DATABASE=RIO 10/100 Ethernet [eri]
+
+pci:v0000108Ed00001101sv0000108Esd00001101*
+ ID_MODEL_FROM_DATABASE=RIO GEM on Blade 100 motherboard
+
+pci:v0000108Ed00001102*
+ ID_MODEL_FROM_DATABASE=RIO 1394
+
+pci:v0000108Ed00001102sv0000108Esd00001102*
+ ID_MODEL_FROM_DATABASE=RIO 1394 on Blade 100 motherboard
+
+pci:v0000108Ed00001103*
+ ID_MODEL_FROM_DATABASE=RIO USB
+
+pci:v0000108Ed00001103sv0000108Esd00001103*
+ ID_MODEL_FROM_DATABASE=RIO USB on Blade 100 motherboard
+
+pci:v0000108Ed00001647*
+ ID_MODEL_FROM_DATABASE=Broadcom 570x 10/100/1000 Ethernet [bge]
+
+pci:v0000108Ed00001648*
+ ID_MODEL_FROM_DATABASE=Broadcom 570x 10/100/1000 Ethernet [bge]
+
+pci:v0000108Ed000016A7*
+ ID_MODEL_FROM_DATABASE=Broadcom 570x 10/100/1000 Ethernet [bge]
+
+pci:v0000108Ed000016A8*
+ ID_MODEL_FROM_DATABASE=Broadcom 570x 10/100/1000 Ethernet [bge]
+
+pci:v0000108Ed00002BAD*
+ ID_MODEL_FROM_DATABASE=GEM 10/100/1000 Ethernet [ge]
+
+pci:v0000108Ed00005000*
+ ID_MODEL_FROM_DATABASE=Simba Advanced PCI Bridge
+
+pci:v0000108Ed00005000sv0000108Esd00005000*
+ ID_MODEL_FROM_DATABASE=Netra AX1105-500
+
+pci:v0000108Ed00005043*
+ ID_MODEL_FROM_DATABASE=SunPCI Co-processor
+
+pci:v0000108Ed00005CA0*
+ ID_MODEL_FROM_DATABASE=Crypto Accelerator 6000 [mca]
+
+pci:v0000108Ed00006300*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006301*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006302*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006303*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006310*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006311*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006312*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006313*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006320*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006323*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006330*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006331*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006332*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006333*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006340*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006343*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006350*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006353*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed00006722*
+ ID_MODEL_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
+
+pci:v0000108Ed0000676E*
+ ID_MODEL_FROM_DATABASE=SunPCiIII
+
+pci:v0000108Ed00007063*
+ ID_MODEL_FROM_DATABASE=SunPCiII / SunPCiIIpro
+
+pci:v0000108Ed00008000*
+ ID_MODEL_FROM_DATABASE=Psycho PCI Bus Module
+
+pci:v0000108Ed00008001*
+ ID_MODEL_FROM_DATABASE=Schizo PCI Bus Module
+
+pci:v0000108Ed00008002*
+ ID_MODEL_FROM_DATABASE=Schizo+ PCI Bus Module
+
+pci:v0000108Ed000080F0*
+ ID_MODEL_FROM_DATABASE=PCIe switch [px]
+
+pci:v0000108Ed000080F8*
+ ID_MODEL_FROM_DATABASE=PCIe switch [px]
+
+pci:v0000108Ed00009010*
+ ID_MODEL_FROM_DATABASE=PCIe/PCI bridge switch [pxb_plx]
+
+pci:v0000108Ed00009020*
+ ID_MODEL_FROM_DATABASE=PCIe/PCI bridge switch [pxb_plx]
+
+pci:v0000108Ed00009102*
+ ID_MODEL_FROM_DATABASE=Davicom Fast Ethernet driver for Davicom DM9102A [dmfe]
+
+pci:v0000108Ed0000A000*
+ ID_MODEL_FROM_DATABASE=Psycho UPA-PCI Bus Module [pcipsy]
+
+pci:v0000108Ed0000A001*
+ ID_MODEL_FROM_DATABASE=Psycho UPA-PCI Bus Module [pcipsy]
+
+pci:v0000108Ed0000A001sv0000108Esd0000A001*
+ ID_MODEL_FROM_DATABASE=Ultra IIe on Blade 100 motherboard
+
+pci:v0000108Ed0000A801*
+ ID_MODEL_FROM_DATABASE=Schizo Fireplane-PCI bus bridge module [pcisch]
+
+pci:v0000108Ed0000AAAA*
+ ID_MODEL_FROM_DATABASE=Multithreaded Shared 10GbE Ethernet Network Controller
+
+pci:v0000108Ed0000ABBA*
+ ID_MODEL_FROM_DATABASE=Cassini 10/100/1000
+
+pci:v0000108Ed0000ABCD*
+ ID_MODEL_FROM_DATABASE=Multithreaded 10-Gigabit Ethernet Network Controller
+
+pci:v0000108Ed0000C416*
+ ID_MODEL_FROM_DATABASE=Sun Fire System/System Controller Interface chip [sbbc]
+
+pci:v0000108F*
+ ID_VENDOR_FROM_DATABASE=Systemsoft
+
+pci:v00001090*
+ ID_VENDOR_FROM_DATABASE=Compro Computer Services, Inc.
+
+pci:v00001090d00004610*
+ ID_MODEL_FROM_DATABASE=PCI RTOM
+
+pci:v00001090d00004620*
+ ID_MODEL_FROM_DATABASE=GPIO HSD
+
+pci:v00001091*
+ ID_VENDOR_FROM_DATABASE=Intergraph Corporation
+
+pci:v00001091d00000020*
+ ID_MODEL_FROM_DATABASE=3D graphics processor
+
+pci:v00001091d00000021*
+ ID_MODEL_FROM_DATABASE=3D graphics processor w/Texturing
+
+pci:v00001091d00000040*
+ ID_MODEL_FROM_DATABASE=3D graphics frame buffer
+
+pci:v00001091d00000041*
+ ID_MODEL_FROM_DATABASE=3D graphics frame buffer
+
+pci:v00001091d00000060*
+ ID_MODEL_FROM_DATABASE=Proprietary bus bridge
+
+pci:v00001091d000000E4*
+ ID_MODEL_FROM_DATABASE=Powerstorm 4D50T
+
+pci:v00001091d00000720*
+ ID_MODEL_FROM_DATABASE=Motion JPEG codec
+
+pci:v00001091d00000780*
+ ID_MODEL_FROM_DATABASE=Intense3D Wildcat 3410 (MSMT496)
+
+pci:v00001091d000007A0*
+ ID_MODEL_FROM_DATABASE=Sun Expert3D-Lite Graphics Accelerator
+
+pci:v00001091d00001091*
+ ID_MODEL_FROM_DATABASE=Sun Expert3D Graphics Accelerator
+
+pci:v00001092*
+ ID_VENDOR_FROM_DATABASE=Diamond Multimedia Systems
+
+pci:v00001092d00000028*
+ ID_MODEL_FROM_DATABASE=Viper V770
+
+pci:v00001092d00000028sv00001092sd00004A00*
+ ID_MODEL_FROM_DATABASE=Viper V770 32MB
+
+pci:v00001092d000000A0*
+ ID_MODEL_FROM_DATABASE=Speedstar Pro SE
+
+pci:v00001092d000000A8*
+ ID_MODEL_FROM_DATABASE=Speedstar 64
+
+pci:v00001092d00000550*
+ ID_MODEL_FROM_DATABASE=Viper V550
+
+pci:v00001092d000008D4*
+ ID_MODEL_FROM_DATABASE=Supra 2260 Modem
+
+pci:v00001092d0000094C*
+ ID_MODEL_FROM_DATABASE=SupraExpress 56i Pro
+
+pci:v00001092d00001001*
+ ID_MODEL_FROM_DATABASE=Video Crunch It 1001 capture card
+
+pci:v00001092d00001092*
+ ID_MODEL_FROM_DATABASE=Viper V330
+
+pci:v00001092d00006120*
+ ID_MODEL_FROM_DATABASE=Maximum DVD
+
+pci:v00001092d00008810*
+ ID_MODEL_FROM_DATABASE=Stealth SE
+
+pci:v00001092d00008811*
+ ID_MODEL_FROM_DATABASE=Stealth 64/SE
+
+pci:v00001092d00008880*
+ ID_MODEL_FROM_DATABASE=Stealth
+
+pci:v00001092d00008881*
+ ID_MODEL_FROM_DATABASE=Stealth
+
+pci:v00001092d000088B0*
+ ID_MODEL_FROM_DATABASE=Stealth 64
+
+pci:v00001092d000088B1*
+ ID_MODEL_FROM_DATABASE=Stealth 64
+
+pci:v00001092d000088C0*
+ ID_MODEL_FROM_DATABASE=Stealth 64
+
+pci:v00001092d000088C1*
+ ID_MODEL_FROM_DATABASE=Stealth 64
+
+pci:v00001092d000088D0*
+ ID_MODEL_FROM_DATABASE=Stealth 64
+
+pci:v00001092d000088D1*
+ ID_MODEL_FROM_DATABASE=Stealth 64
+
+pci:v00001092d000088F0*
+ ID_MODEL_FROM_DATABASE=Stealth 64
+
+pci:v00001092d000088F1*
+ ID_MODEL_FROM_DATABASE=Stealth 64
+
+pci:v00001092d00009999*
+ ID_MODEL_FROM_DATABASE=DMD-I0928-1 "Monster sound" sound chip
+
+pci:v00001093*
+ ID_VENDOR_FROM_DATABASE=National Instruments
+
+pci:v00001093d00000160*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-96
+
+pci:v00001093d00000162*
+ ID_MODEL_FROM_DATABASE=PCI-MIO-16XE-50
+
+pci:v00001093d00001150*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-32HS High Speed Digital I/O Board
+
+pci:v00001093d00001170*
+ ID_MODEL_FROM_DATABASE=PCI-MIO-16XE-10
+
+pci:v00001093d00001180*
+ ID_MODEL_FROM_DATABASE=PCI-MIO-16E-1
+
+pci:v00001093d00001190*
+ ID_MODEL_FROM_DATABASE=PCI-MIO-16E-4
+
+pci:v00001093d000011B0*
+ ID_MODEL_FROM_DATABASE=PXI-6070E
+
+pci:v00001093d000011C0*
+ ID_MODEL_FROM_DATABASE=PXI-6040e
+
+pci:v00001093d000011D0*
+ ID_MODEL_FROM_DATABASE=PXI-6030e
+
+pci:v00001093d00001270*
+ ID_MODEL_FROM_DATABASE=PCI-6032e
+
+pci:v00001093d00001310*
+ ID_MODEL_FROM_DATABASE=PCI-6602
+
+pci:v00001093d00001330*
+ ID_MODEL_FROM_DATABASE=PCI-6031E
+
+pci:v00001093d00001340*
+ ID_MODEL_FROM_DATABASE=PCI-6033e
+
+pci:v00001093d00001350*
+ ID_MODEL_FROM_DATABASE=PCI-6071E
+
+pci:v00001093d00001360*
+ ID_MODEL_FROM_DATABASE=PXI-6602
+
+pci:v00001093d000014E0*
+ ID_MODEL_FROM_DATABASE=PCI-6110
+
+pci:v00001093d000014F0*
+ ID_MODEL_FROM_DATABASE=PCI-6111
+
+pci:v00001093d00001580*
+ ID_MODEL_FROM_DATABASE=PXI-6031E
+
+pci:v00001093d000015B0*
+ ID_MODEL_FROM_DATABASE=PXI-6071E
+
+pci:v00001093d00001710*
+ ID_MODEL_FROM_DATABASE=PXI-6509
+
+pci:v00001093d000017D0*
+ ID_MODEL_FROM_DATABASE=PCI-6503
+
+pci:v00001093d00001870*
+ ID_MODEL_FROM_DATABASE=PCI-6713
+
+pci:v00001093d00001880*
+ ID_MODEL_FROM_DATABASE=PCI-6711
+
+pci:v00001093d000018B0*
+ ID_MODEL_FROM_DATABASE=PCI-6052E
+
+pci:v00001093d000018C0*
+ ID_MODEL_FROM_DATABASE=PXI-6052E
+
+pci:v00001093d00002410*
+ ID_MODEL_FROM_DATABASE=PCI-6733
+
+pci:v00001093d00002420*
+ ID_MODEL_FROM_DATABASE=PXI-6733
+
+pci:v00001093d00002430*
+ ID_MODEL_FROM_DATABASE=PCI-6731
+
+pci:v00001093d00002880*
+ ID_MODEL_FROM_DATABASE=DAQCard-6601
+
+pci:v00001093d00002890*
+ ID_MODEL_FROM_DATABASE=PCI-6036E
+
+pci:v00001093d000028C0*
+ ID_MODEL_FROM_DATABASE=PCI-6014
+
+pci:v00001093d00002A60*
+ ID_MODEL_FROM_DATABASE=PCI-6023E
+
+pci:v00001093d00002A70*
+ ID_MODEL_FROM_DATABASE=PCI-6024E
+
+pci:v00001093d00002A80*
+ ID_MODEL_FROM_DATABASE=PCI-6025E
+
+pci:v00001093d00002AB0*
+ ID_MODEL_FROM_DATABASE=PXI-6025e
+
+pci:v00001093d00002B80*
+ ID_MODEL_FROM_DATABASE=PXI-6713
+
+pci:v00001093d00002B90*
+ ID_MODEL_FROM_DATABASE=PXI-6711
+
+pci:v00001093d00002C60*
+ ID_MODEL_FROM_DATABASE=PCI-6601
+
+pci:v00001093d00002C70*
+ ID_MODEL_FROM_DATABASE=PXI-6601
+
+pci:v00001093d00002C80*
+ ID_MODEL_FROM_DATABASE=PCI-6035E
+
+pci:v00001093d00002CA0*
+ ID_MODEL_FROM_DATABASE=PCI-6034E
+
+pci:v00001093d00002CC0*
+ ID_MODEL_FROM_DATABASE=PXI-6608
+
+pci:v00001093d00002DB0*
+ ID_MODEL_FROM_DATABASE=PCI-6608
+
+pci:v00001093d00007085*
+ ID_MODEL_FROM_DATABASE=PCI-6509
+
+pci:v00001093d000070A9*
+ ID_MODEL_FROM_DATABASE=PCI-6528 (Digital I/O at 60V)
+
+pci:v00001093d000070AA*
+ ID_MODEL_FROM_DATABASE=PCI-6229
+
+pci:v00001093d000070AB*
+ ID_MODEL_FROM_DATABASE=PCI-6259
+
+pci:v00001093d000070AC*
+ ID_MODEL_FROM_DATABASE=PCI-6289
+
+pci:v00001093d000070AE*
+ ID_MODEL_FROM_DATABASE=PXI-6220
+
+pci:v00001093d000070AF*
+ ID_MODEL_FROM_DATABASE=PCI-6221
+
+pci:v00001093d000070B0*
+ ID_MODEL_FROM_DATABASE=PCI-6220
+
+pci:v00001093d000070B4*
+ ID_MODEL_FROM_DATABASE=PCI-6250
+
+pci:v00001093d000070B6*
+ ID_MODEL_FROM_DATABASE=PCI-6280
+
+pci:v00001093d000070B7*
+ ID_MODEL_FROM_DATABASE=PCI-6254
+
+pci:v00001093d000070B8*
+ ID_MODEL_FROM_DATABASE=PCI-6251 [M Series - High Speed Multifunction DAQ]
+
+pci:v00001093d000070BC*
+ ID_MODEL_FROM_DATABASE=PCI-6284
+
+pci:v00001093d000070BD*
+ ID_MODEL_FROM_DATABASE=PCI-6281
+
+pci:v00001093d000070BF*
+ ID_MODEL_FROM_DATABASE=PXI-6281
+
+pci:v00001093d000070C0*
+ ID_MODEL_FROM_DATABASE=PCI-6143
+
+pci:v00001093d000070F2*
+ ID_MODEL_FROM_DATABASE=PCI-6224
+
+pci:v00001093d00007144*
+ ID_MODEL_FROM_DATABASE=PXI-5124 (12-bit 200 MS/s Digitizer)
+
+pci:v00001093d0000716C*
+ ID_MODEL_FROM_DATABASE=PCI-6225
+
+pci:v00001093d0000717D*
+ ID_MODEL_FROM_DATABASE=PCIE-6251
+
+pci:v00001093d0000717F*
+ ID_MODEL_FROM_DATABASE=PCIe-6259
+
+pci:v00001093d000071BC*
+ ID_MODEL_FROM_DATABASE=PCI-6221 (37pin)
+
+pci:v00001093d000071D0*
+ ID_MODEL_FROM_DATABASE=PXI-6143
+
+pci:v00001093d0000B001*
+ ID_MODEL_FROM_DATABASE=IMAQ-PCI-1408
+
+pci:v00001093d0000B011*
+ ID_MODEL_FROM_DATABASE=IMAQ-PXI-1408
+
+pci:v00001093d0000B021*
+ ID_MODEL_FROM_DATABASE=IMAQ-PCI-1424
+
+pci:v00001093d0000B031*
+ ID_MODEL_FROM_DATABASE=IMAQ-PCI-1413
+
+pci:v00001093d0000B041*
+ ID_MODEL_FROM_DATABASE=IMAQ-PCI-1407
+
+pci:v00001093d0000B051*
+ ID_MODEL_FROM_DATABASE=IMAQ-PXI-1407
+
+pci:v00001093d0000B061*
+ ID_MODEL_FROM_DATABASE=IMAQ-PCI-1411
+
+pci:v00001093d0000B071*
+ ID_MODEL_FROM_DATABASE=IMAQ-PCI-1422
+
+pci:v00001093d0000B081*
+ ID_MODEL_FROM_DATABASE=IMAQ-PXI-1422
+
+pci:v00001093d0000B091*
+ ID_MODEL_FROM_DATABASE=IMAQ-PXI-1411
+
+pci:v00001093d0000C4C4*
+ ID_MODEL_FROM_DATABASE=PXIe-4353
+
+pci:v00001093d0000C801*
+ ID_MODEL_FROM_DATABASE=PCI-GPIB
+
+pci:v00001093d0000C831*
+ ID_MODEL_FROM_DATABASE=PCI-GPIB bridge
+
+pci:v00001094*
+ ID_VENDOR_FROM_DATABASE=First International Computers [FIC]
+
+pci:v00001095*
+ ID_VENDOR_FROM_DATABASE=Silicon Image, Inc.
+
+pci:v00001095d00000240*
+ ID_MODEL_FROM_DATABASE=Adaptec AAR-1210SA SATA HostRAID Controller
+
+pci:v00001095d00000640*
+ ID_MODEL_FROM_DATABASE=PCI0640
+
+pci:v00001095d00000643*
+ ID_MODEL_FROM_DATABASE=PCI0643
+
+pci:v00001095d00000646*
+ ID_MODEL_FROM_DATABASE=PCI0646
+
+pci:v00001095d00000647*
+ ID_MODEL_FROM_DATABASE=PCI0647
+
+pci:v00001095d00000648*
+ ID_MODEL_FROM_DATABASE=PCI0648
+
+pci:v00001095d00000648sv00001043sd00008025*
+ ID_MODEL_FROM_DATABASE=CUBX motherboard
+
+pci:v00001095d00000649*
+ ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller
+
+pci:v00001095d00000649sv00000E11sd0000005D*
+ ID_MODEL_FROM_DATABASE=Integrated Ultra ATA-100 Dual Channel Controller
+
+pci:v00001095d00000649sv00000E11sd0000007E*
+ ID_MODEL_FROM_DATABASE=Integrated Ultra ATA-100 IDE RAID Controller
+
+pci:v00001095d00000649sv0000101Esd00000649*
+ ID_MODEL_FROM_DATABASE=AMI MegaRAID IDE 100 Controller
+
+pci:v00001095d00000650*
+ ID_MODEL_FROM_DATABASE=PBC0650A
+
+pci:v00001095d00000670*
+ ID_MODEL_FROM_DATABASE=USB0670
+
+pci:v00001095d00000670sv00001095sd00000670*
+ ID_MODEL_FROM_DATABASE=USB0670
+
+pci:v00001095d00000673*
+ ID_MODEL_FROM_DATABASE=USB0673
+
+pci:v00001095d00000680*
+ ID_MODEL_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller
+
+pci:v00001095d00000680sv00001095sd00000680*
+ ID_MODEL_FROM_DATABASE=SiI 0680 ATA/133 Controller
+
+pci:v00001095d00000680sv00001095sd00003680*
+ ID_MODEL_FROM_DATABASE=Winic W-680 (Silicon Image 680 based)
+
+pci:v00001095d00003112*
+ ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller
+
+pci:v00001095d00003112sv00001095sd00003112*
+ ID_MODEL_FROM_DATABASE=SiI 3112 SATALink Controller
+
+pci:v00001095d00003112sv00001095sd00006112*
+ ID_MODEL_FROM_DATABASE=SiI 3112 SATARaid Controller
+
+pci:v00001095d00003112sv00009005sd00000250*
+ ID_MODEL_FROM_DATABASE=SATAConnect 1205SA Host Controller
+
+pci:v00001095d00003114*
+ ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller
+
+pci:v00001095d00003114sv00001095sd00003114*
+ ID_MODEL_FROM_DATABASE=SiI 3114 SATALink Controller
+
+pci:v00001095d00003114sv00001095sd00006114*
+ ID_MODEL_FROM_DATABASE=SiI 3114 SATARaid Controller
+
+pci:v00001095d00003124*
+ ID_MODEL_FROM_DATABASE=SiI 3124 PCI-X Serial ATA Controller
+
+pci:v00001095d00003124sv00001095sd00003124*
+ ID_MODEL_FROM_DATABASE=SiI 3124 PCI-X Serial ATA Controller
+
+pci:v00001095d00003132*
+ ID_MODEL_FROM_DATABASE=SiI 3132 Serial ATA Raid II Controller
+
+pci:v00001095d00003512*
+ ID_MODEL_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller
+
+pci:v00001095d00003512sv00001095sd00003512*
+ ID_MODEL_FROM_DATABASE=SiI 3512 SATALink Controller
+
+pci:v00001095d00003512sv00001095sd00006512*
+ ID_MODEL_FROM_DATABASE=SiI 3512 SATARaid Controller
+
+pci:v00001095d00003531*
+ ID_MODEL_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller
+
+pci:v00001096*
+ ID_VENDOR_FROM_DATABASE=Alacron
+
+pci:v00001097*
+ ID_VENDOR_FROM_DATABASE=Appian Technology
+
+pci:v00001098*
+ ID_VENDOR_FROM_DATABASE=Quantum Designs (H.K.) Ltd
+
+pci:v00001098d00000001*
+ ID_MODEL_FROM_DATABASE=QD-8500
+
+pci:v00001098d00000002*
+ ID_MODEL_FROM_DATABASE=QD-8580
+
+pci:v00001099*
+ ID_VENDOR_FROM_DATABASE=Samsung Electronics Co., Ltd
+
+pci:v0000109A*
+ ID_VENDOR_FROM_DATABASE=Packard Bell
+
+pci:v0000109B*
+ ID_VENDOR_FROM_DATABASE=Gemlight Computer Ltd.
+
+pci:v0000109C*
+ ID_VENDOR_FROM_DATABASE=Megachips Corporation
+
+pci:v0000109D*
+ ID_VENDOR_FROM_DATABASE=Zida Technologies Ltd.
+
+pci:v0000109E*
+ ID_VENDOR_FROM_DATABASE=Brooktree Corporation
+
+pci:v0000109Ed00000310*
+ ID_MODEL_FROM_DATABASE=Bt848 Video Capture
+
+pci:v0000109Ed0000032E*
+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture
+
+pci:v0000109Ed00000350*
+ ID_MODEL_FROM_DATABASE=Bt848 Video Capture
+
+pci:v0000109Ed00000351*
+ ID_MODEL_FROM_DATABASE=Bt849A Video capture
+
+pci:v0000109Ed00000369*
+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture
+
+pci:v0000109Ed00000369sv00001002sd00000001*
+ ID_MODEL_FROM_DATABASE=TV-Wonder
+
+pci:v0000109Ed00000369sv00001002sd00000003*
+ ID_MODEL_FROM_DATABASE=TV-Wonder/VE
+
+pci:v0000109Ed0000036C*
+ ID_MODEL_FROM_DATABASE=Bt879(??) Video Capture
+
+pci:v0000109Ed0000036Csv000013E9sd00000070*
+ ID_MODEL_FROM_DATABASE=Win/TV (Video Section)
+
+pci:v0000109Ed0000036E*
+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture
+
+pci:v0000109Ed0000036Esv00000070sd000013EB*
+ ID_MODEL_FROM_DATABASE=WinTV Series
+
+pci:v0000109Ed0000036Esv00000070sd0000FF01*
+ ID_MODEL_FROM_DATABASE=Viewcast Osprey 200
+
+pci:v0000109Ed0000036Esv00000071sd00000101*
+ ID_MODEL_FROM_DATABASE=DigiTV PCI
+
+pci:v0000109Ed0000036Esv0000107Dsd00006606*
+ ID_MODEL_FROM_DATABASE=WinFast TV 2000
+
+pci:v0000109Ed0000036Esv000011BDsd00000012*
+ ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver)
+
+pci:v0000109Ed0000036Esv000011BDsd0000001C*
+ ID_MODEL_FROM_DATABASE=PCTV Sat (DBC receiver)
+
+pci:v0000109Ed0000036Esv0000127Asd00000001*
+ ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC
+
+pci:v0000109Ed0000036Esv0000127Asd00000002*
+ ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller PAL BG
+
+pci:v0000109Ed0000036Esv0000127Asd00000003*
+ ID_MODEL_FROM_DATABASE=Bt878a Mediastream Controller PAL BG
+
+pci:v0000109Ed0000036Esv0000127Asd00000048*
+ ID_MODEL_FROM_DATABASE=Bt878/832 Mediastream Controller
+
+pci:v0000109Ed0000036Esv0000144Fsd00003000*
+ ID_MODEL_FROM_DATABASE=MagicTView CPH060 - Video
+
+pci:v0000109Ed0000036Esv00001461sd00000002*
+ ID_MODEL_FROM_DATABASE=TV98 Series (TV/No FM/Remote)
+
+pci:v0000109Ed0000036Esv00001461sd00000003*
+ ID_MODEL_FROM_DATABASE=AverMedia UltraTV PCI 350
+
+pci:v0000109Ed0000036Esv00001461sd00000004*
+ ID_MODEL_FROM_DATABASE=AVerTV WDM Video Capture
+
+pci:v0000109Ed0000036Esv00001461sd00000761*
+ ID_MODEL_FROM_DATABASE=AverTV DVB-T
+
+pci:v0000109Ed0000036Esv00001461sd00000771*
+ ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771
+
+pci:v0000109Ed0000036Esv000014F1sd00000001*
+ ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC
+
+pci:v0000109Ed0000036Esv000014F1sd00000002*
+ ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller PAL BG
+
+pci:v0000109Ed0000036Esv000014F1sd00000003*
+ ID_MODEL_FROM_DATABASE=Bt878a Mediastream Controller PAL BG
+
+pci:v0000109Ed0000036Esv000014F1sd00000048*
+ ID_MODEL_FROM_DATABASE=Bt878/832 Mediastream Controller
+
+pci:v0000109Ed0000036Esv00001822sd00000001*
+ ID_MODEL_FROM_DATABASE=VisionPlus DVB card
+
+pci:v0000109Ed0000036Esv00001851sd00001850*
+ ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video
+
+pci:v0000109Ed0000036Esv00001851sd00001851*
+ ID_MODEL_FROM_DATABASE=FlyVideo II
+
+pci:v0000109Ed0000036Esv00001852sd00001852*
+ ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video (with FM Tuner)
+
+pci:v0000109Ed0000036Esv000018ACsd0000D500*
+ ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Lite
+
+pci:v0000109Ed0000036Esv0000270Fsd0000FC00*
+ ID_MODEL_FROM_DATABASE=Digitop DTT-1000
+
+pci:v0000109Ed0000036Esv0000BD11sd00001200*
+ ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver)
+
+pci:v0000109Ed0000036F*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture
+
+pci:v0000109Ed0000036Fsv0000127Asd00000044*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv0000127Asd00000122*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I
+
+pci:v0000109Ed0000036Fsv0000127Asd00000144*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv0000127Asd00000222*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG
+
+pci:v0000109Ed0000036Fsv0000127Asd00000244*
+ ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv0000127Asd00000322*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv0000127Asd00000422*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv0000127Asd00001122*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I
+
+pci:v0000109Ed0000036Fsv0000127Asd00001222*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG
+
+pci:v0000109Ed0000036Fsv0000127Asd00001322*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv0000127Asd00001522*
+ ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL I
+
+pci:v0000109Ed0000036Fsv0000127Asd00001622*
+ ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL BG
+
+pci:v0000109Ed0000036Fsv0000127Asd00001722*
+ ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv000014F1sd00000044*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv000014F1sd00000122*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I
+
+pci:v0000109Ed0000036Fsv000014F1sd00000144*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv000014F1sd00000222*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG
+
+pci:v0000109Ed0000036Fsv000014F1sd00000244*
+ ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv000014F1sd00000322*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv000014F1sd00000422*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv000014F1sd00001122*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I
+
+pci:v0000109Ed0000036Fsv000014F1sd00001222*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG
+
+pci:v0000109Ed0000036Fsv000014F1sd00001322*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv000014F1sd00001522*
+ ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL I
+
+pci:v0000109Ed0000036Fsv000014F1sd00001622*
+ ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL BG
+
+pci:v0000109Ed0000036Fsv000014F1sd00001722*
+ ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC
+
+pci:v0000109Ed0000036Fsv00001851sd00001850*
+ ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video
+
+pci:v0000109Ed0000036Fsv00001851sd00001851*
+ ID_MODEL_FROM_DATABASE=FlyVideo II
+
+pci:v0000109Ed0000036Fsv00001852sd00001852*
+ ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video (with FM Tuner)
+
+pci:v0000109Ed00000370*
+ ID_MODEL_FROM_DATABASE=Bt880 Video Capture
+
+pci:v0000109Ed00000370sv00001851sd00001850*
+ ID_MODEL_FROM_DATABASE=FlyVideo'98
+
+pci:v0000109Ed00000370sv00001851sd00001851*
+ ID_MODEL_FROM_DATABASE=FlyVideo'98 EZ - video
+
+pci:v0000109Ed00000370sv00001852sd00001852*
+ ID_MODEL_FROM_DATABASE=FlyVideo'98 (with FM Tuner)
+
+pci:v0000109Ed00000878*
+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture
+
+pci:v0000109Ed00000878sv00000070sd000013EB*
+ ID_MODEL_FROM_DATABASE=WinTV Series
+
+pci:v0000109Ed00000878sv00000070sd0000FF01*
+ ID_MODEL_FROM_DATABASE=Viewcast Osprey 200
+
+pci:v0000109Ed00000878sv00000071sd00000101*
+ ID_MODEL_FROM_DATABASE=DigiTV PCI
+
+pci:v0000109Ed00000878sv00001002sd00000001*
+ ID_MODEL_FROM_DATABASE=TV-Wonder
+
+pci:v0000109Ed00000878sv00001002sd00000003*
+ ID_MODEL_FROM_DATABASE=TV-Wonder/VE
+
+pci:v0000109Ed00000878sv000011BDsd00000012*
+ ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver, audio section)
+
+pci:v0000109Ed00000878sv000011BDsd0000001C*
+ ID_MODEL_FROM_DATABASE=PCTV Sat (DBC receiver)
+
+pci:v0000109Ed00000878sv0000127Asd00000001*
+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section)
+
+pci:v0000109Ed00000878sv0000127Asd00000002*
+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section)
+
+pci:v0000109Ed00000878sv0000127Asd00000003*
+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section)
+
+pci:v0000109Ed00000878sv0000127Asd00000048*
+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section)
+
+pci:v0000109Ed00000878sv000013E9sd00000070*
+ ID_MODEL_FROM_DATABASE=Win/TV (Audio Section)
+
+pci:v0000109Ed00000878sv0000144Fsd00003000*
+ ID_MODEL_FROM_DATABASE=MagicTView CPH060 - Audio
+
+pci:v0000109Ed00000878sv00001461sd00000002*
+ ID_MODEL_FROM_DATABASE=Avermedia PCTV98 Audio Capture
+
+pci:v0000109Ed00000878sv00001461sd00000003*
+ ID_MODEL_FROM_DATABASE=UltraTV PCI 350
+
+pci:v0000109Ed00000878sv00001461sd00000004*
+ ID_MODEL_FROM_DATABASE=AVerTV WDM Audio Capture
+
+pci:v0000109Ed00000878sv00001461sd00000761*
+ ID_MODEL_FROM_DATABASE=AVerTV DVB-T
+
+pci:v0000109Ed00000878sv00001461sd00000771*
+ ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771
+
+pci:v0000109Ed00000878sv000014F1sd00000001*
+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section)
+
+pci:v0000109Ed00000878sv000014F1sd00000002*
+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section)
+
+pci:v0000109Ed00000878sv000014F1sd00000003*
+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section)
+
+pci:v0000109Ed00000878sv000014F1sd00000048*
+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section)
+
+pci:v0000109Ed00000878sv00001822sd00000001*
+ ID_MODEL_FROM_DATABASE=VisionPlus DVB Card
+
+pci:v0000109Ed00000878sv000018ACsd0000D500*
+ ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Lite
+
+pci:v0000109Ed00000878sv0000270Fsd0000FC00*
+ ID_MODEL_FROM_DATABASE=Digitop DTT-1000
+
+pci:v0000109Ed00000878sv0000BD11sd00001200*
+ ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver, audio section)
+
+pci:v0000109Ed00000879*
+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture
+
+pci:v0000109Ed00000879sv0000127Asd00000044*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv0000127Asd00000122*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv0000127Asd00000144*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv0000127Asd00000222*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv0000127Asd00000244*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv0000127Asd00000322*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv0000127Asd00000422*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv0000127Asd00001122*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv0000127Asd00001222*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv0000127Asd00001322*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv0000127Asd00001522*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv0000127Asd00001622*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv0000127Asd00001722*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv000014F1sd00000044*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv000014F1sd00000122*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv000014F1sd00000144*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv000014F1sd00000222*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv000014F1sd00000244*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv000014F1sd00000322*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv000014F1sd00000422*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv000014F1sd00001122*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv000014F1sd00001222*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv000014F1sd00001322*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv000014F1sd00001522*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv000014F1sd00001622*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000879sv000014F1sd00001722*
+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section)
+
+pci:v0000109Ed00000880*
+ ID_MODEL_FROM_DATABASE=Bt880 Audio Capture
+
+pci:v0000109Ed00002115*
+ ID_MODEL_FROM_DATABASE=BtV 2115 Mediastream controller
+
+pci:v0000109Ed00002125*
+ ID_MODEL_FROM_DATABASE=BtV 2125 Mediastream controller
+
+pci:v0000109Ed00002164*
+ ID_MODEL_FROM_DATABASE=BtV 2164
+
+pci:v0000109Ed00002165*
+ ID_MODEL_FROM_DATABASE=BtV 2165
+
+pci:v0000109Ed00008230*
+ ID_MODEL_FROM_DATABASE=Bt8230 ATM Segment/Reassembly Ctrlr (SRC)
+
+pci:v0000109Ed00008472*
+ ID_MODEL_FROM_DATABASE=Bt8472
+
+pci:v0000109Ed00008474*
+ ID_MODEL_FROM_DATABASE=Bt8474
+
+pci:v0000109F*
+ ID_VENDOR_FROM_DATABASE=Trigem Computer Inc.
+
+pci:v000010A0*
+ ID_VENDOR_FROM_DATABASE=Meidensha Corporation
+
+pci:v000010A1*
+ ID_VENDOR_FROM_DATABASE=Juko Electronics Ind. Co. Ltd
+
+pci:v000010A2*
+ ID_VENDOR_FROM_DATABASE=Quantum Corporation
+
+pci:v000010A3*
+ ID_VENDOR_FROM_DATABASE=Everex Systems Inc
+
+pci:v000010A4*
+ ID_VENDOR_FROM_DATABASE=Globe Manufacturing Sales
+
+pci:v000010A5*
+ ID_VENDOR_FROM_DATABASE=Smart Link Ltd.
+
+pci:v000010A5d00003052*
+ ID_MODEL_FROM_DATABASE=SmartPCI562 56K Modem
+
+pci:v000010A5d00005449*
+ ID_MODEL_FROM_DATABASE=SmartPCI561 modem
+
+pci:v000010A6*
+ ID_VENDOR_FROM_DATABASE=Informtech Industrial Ltd.
+
+pci:v000010A7*
+ ID_VENDOR_FROM_DATABASE=Benchmarq Microelectronics
+
+pci:v000010A8*
+ ID_VENDOR_FROM_DATABASE=Sierra Semiconductor
+
+pci:v000010A8d00000000*
+ ID_MODEL_FROM_DATABASE=STB Horizon 64
+
+pci:v000010A9*
+ ID_VENDOR_FROM_DATABASE=Silicon Graphics Intl. Corp.
+
+pci:v000010A9d00000001*
+ ID_MODEL_FROM_DATABASE=Crosstalk to PCI Bridge
+
+pci:v000010A9d00000002*
+ ID_MODEL_FROM_DATABASE=Linc I/O controller
+
+pci:v000010A9d00000003*
+ ID_MODEL_FROM_DATABASE=IOC3 I/O controller
+
+pci:v000010A9d00000004*
+ ID_MODEL_FROM_DATABASE=O2 MACE
+
+pci:v000010A9d00000005*
+ ID_MODEL_FROM_DATABASE=RAD Audio
+
+pci:v000010A9d00000006*
+ ID_MODEL_FROM_DATABASE=HPCEX
+
+pci:v000010A9d00000007*
+ ID_MODEL_FROM_DATABASE=RPCEX
+
+pci:v000010A9d00000008*
+ ID_MODEL_FROM_DATABASE=DiVO VIP
+
+pci:v000010A9d00000009*
+ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet
+
+pci:v000010A9d00000009sv000010A9sd00008002*
+ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet
+
+pci:v000010A9d00000010*
+ ID_MODEL_FROM_DATABASE=AMP Video I/O
+
+pci:v000010A9d00000011*
+ ID_MODEL_FROM_DATABASE=GRIP
+
+pci:v000010A9d00000012*
+ ID_MODEL_FROM_DATABASE=SGH PSHAC GSN
+
+pci:v000010A9d00000208*
+ ID_MODEL_FROM_DATABASE=SSIM1 SAS Adapter
+
+pci:v000010A9d00001001*
+ ID_MODEL_FROM_DATABASE=Magic Carpet
+
+pci:v000010A9d00001002*
+ ID_MODEL_FROM_DATABASE=Lithium
+
+pci:v000010A9d00001003*
+ ID_MODEL_FROM_DATABASE=Dual JPEG 1
+
+pci:v000010A9d00001004*
+ ID_MODEL_FROM_DATABASE=Dual JPEG 2
+
+pci:v000010A9d00001005*
+ ID_MODEL_FROM_DATABASE=Dual JPEG 3
+
+pci:v000010A9d00001006*
+ ID_MODEL_FROM_DATABASE=Dual JPEG 4
+
+pci:v000010A9d00001007*
+ ID_MODEL_FROM_DATABASE=Dual JPEG 5
+
+pci:v000010A9d00001008*
+ ID_MODEL_FROM_DATABASE=Cesium
+
+pci:v000010A9d0000100A*
+ ID_MODEL_FROM_DATABASE=IOC4 I/O controller
+
+pci:v000010A9d00001504*
+ ID_MODEL_FROM_DATABASE=SSIM1 Fibre Channel Adapter
+
+pci:v000010A9d00002001*
+ ID_MODEL_FROM_DATABASE=Fibre Channel
+
+pci:v000010A9d00002002*
+ ID_MODEL_FROM_DATABASE=ASDE
+
+pci:v000010A9d00004001*
+ ID_MODEL_FROM_DATABASE=TIO-CE PCI Express Bridge
+
+pci:v000010A9d00004002*
+ ID_MODEL_FROM_DATABASE=TIO-CE PCI Express Port
+
+pci:v000010A9d00008001*
+ ID_MODEL_FROM_DATABASE=O2 1394
+
+pci:v000010A9d00008002*
+ ID_MODEL_FROM_DATABASE=G-net NT
+
+pci:v000010AA*
+ ID_VENDOR_FROM_DATABASE=ACC Microelectronics
+
+pci:v000010AAd00000000*
+ ID_MODEL_FROM_DATABASE=ACCM 2188
+
+pci:v000010AAd00002051*
+ ID_MODEL_FROM_DATABASE=2051 CPU bridge
+
+pci:v000010AAd00005842*
+ ID_MODEL_FROM_DATABASE=2051 ISA bridge
+
+pci:v000010AB*
+ ID_VENDOR_FROM_DATABASE=Digicom
+
+pci:v000010AC*
+ ID_VENDOR_FROM_DATABASE=Honeywell IAC
+
+pci:v000010AD*
+ ID_VENDOR_FROM_DATABASE=Symphony Labs
+
+pci:v000010ADd00000001*
+ ID_MODEL_FROM_DATABASE=W83769F
+
+pci:v000010ADd00000003*
+ ID_MODEL_FROM_DATABASE=SL82C103
+
+pci:v000010ADd00000005*
+ ID_MODEL_FROM_DATABASE=SL82C105
+
+pci:v000010ADd00000103*
+ ID_MODEL_FROM_DATABASE=SL82c103
+
+pci:v000010ADd00000105*
+ ID_MODEL_FROM_DATABASE=SL82c105
+
+pci:v000010ADd00000565*
+ ID_MODEL_FROM_DATABASE=W83C553F/W83C554F
+
+pci:v000010AE*
+ ID_VENDOR_FROM_DATABASE=Cornerstone Technology
+
+pci:v000010AF*
+ ID_VENDOR_FROM_DATABASE=Micro Computer Systems Inc
+
+pci:v000010B0*
+ ID_VENDOR_FROM_DATABASE=CardExpert Technology
+
+pci:v000010B1*
+ ID_VENDOR_FROM_DATABASE=Cabletron Systems Inc
+
+pci:v000010B2*
+ ID_VENDOR_FROM_DATABASE=Raytheon Company
+
+pci:v000010B3*
+ ID_VENDOR_FROM_DATABASE=Databook Inc
+
+pci:v000010B3d00003106*
+ ID_MODEL_FROM_DATABASE=DB87144
+
+pci:v000010B3d0000B106*
+ ID_MODEL_FROM_DATABASE=DB87144
+
+pci:v000010B4*
+ ID_VENDOR_FROM_DATABASE=STB Systems Inc
+
+pci:v000010B4d00001B1D*
+ ID_MODEL_FROM_DATABASE=Velocity 128 3D
+
+pci:v000010B4d00001B1Dsv000010B4sd0000237E*
+ ID_MODEL_FROM_DATABASE=Velocity 4400
+
+pci:v000010B5*
+ ID_VENDOR_FROM_DATABASE=PLX Technology, Inc.
+
+pci:v000010B5d00000001*
+ ID_MODEL_FROM_DATABASE=i960 PCI bus interface
+
+pci:v000010B5d00000557*
+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d00000557sv000010B5sd00009030*
+ ID_MODEL_FROM_DATABASE=Digium Tormenta 2 T400P-SS7 or E400P-SS7 Quad T1 or E1 PCI card
+
+pci:v000010B5d00001000*
+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d00001000sv000010B5sd00009030*
+ ID_MODEL_FROM_DATABASE=ATCOM AT400P Quad T1 PCI card
+
+pci:v000010B5d00001024*
+ ID_MODEL_FROM_DATABASE=Acromag, Inc. IndustryPack Carrier Card
+
+pci:v000010B5d00001042*
+ ID_MODEL_FROM_DATABASE=Brandywine / jxi2, Inc. - PMC-SyncClock32, IRIG A & B, Nasa 36
+
+pci:v000010B5d0000106A*
+ ID_MODEL_FROM_DATABASE=Dual OX16C952 4 port serial adapter [Megawolf Romulus/4]
+
+pci:v000010B5d00001076*
+ ID_MODEL_FROM_DATABASE=VScom 800 8 port serial adaptor
+
+pci:v000010B5d00001077*
+ ID_MODEL_FROM_DATABASE=VScom 400 4 port serial adaptor
+
+pci:v000010B5d00001078*
+ ID_MODEL_FROM_DATABASE=VScom 210 2 port serial and 1 port parallel adaptor
+
+pci:v000010B5d00001103*
+ ID_MODEL_FROM_DATABASE=VScom 200 2 port serial adaptor
+
+pci:v000010B5d00001146*
+ ID_MODEL_FROM_DATABASE=VScom 010 1 port parallel adaptor
+
+pci:v000010B5d00001147*
+ ID_MODEL_FROM_DATABASE=VScom 020 2 port parallel adaptor
+
+pci:v000010B5d00002000*
+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d00002000sv000010B5sd00009030*
+ ID_MODEL_FROM_DATABASE=ATCOM AE400P Quad E1 PCI card
+
+pci:v000010B5d00002540*
+ ID_MODEL_FROM_DATABASE=IXXAT CAN-Interface PC-I 04/PCI
+
+pci:v000010B5d00002724*
+ ID_MODEL_FROM_DATABASE=Thales PCSM Security Card
+
+pci:v000010B5d00003376*
+ ID_MODEL_FROM_DATABASE=Cosateq 4 Port CAN Card
+
+pci:v000010B5d00004000*
+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d00004000sv000010B5sd00009030*
+ ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V400P/ATCOM TE400P Quad E1/T1/J1 PCI card
+
+pci:v000010B5d00004001*
+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d00004001sv000010B5sd00009030*
+ ID_MODEL_FROM_DATABASE=ATCOM A400PE Quad E1 PCI card
+
+pci:v000010B5d00004002*
+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d00004002sv000010B5sd00009030*
+ ID_MODEL_FROM_DATABASE=ATCOM A400PT Quad T1 PCI card
+
+pci:v000010B5d00006140*
+ ID_MODEL_FROM_DATABASE=PCI6140 32-bit 33MHz PCI-to-PCI Bridge
+
+pci:v000010B5d00006150*
+ ID_MODEL_FROM_DATABASE=PCI6150 32-bit 33MHz PCI-to-PCI Bridge
+
+pci:v000010B5d00006152*
+ ID_MODEL_FROM_DATABASE=PCI6152 32-bit 66MHz PCI-to-PCI Bridge
+
+pci:v000010B5d00006154*
+ ID_MODEL_FROM_DATABASE=PCI6154 64-bit 66MHz PCI-to-PCI Bridge
+
+pci:v000010B5d00006254*
+ ID_MODEL_FROM_DATABASE=PCI6254 64-bit 66MHz PCI-to-PCI Bridge
+
+pci:v000010B5d00006466*
+ ID_MODEL_FROM_DATABASE=PCI6466 64-bit 66MHz PCI-to-PCI Bridge
+
+pci:v000010B5d00006520*
+ ID_MODEL_FROM_DATABASE=PCI6520 64-bit 133MHz PCI-X-to-PCI-X Bridge
+
+pci:v000010B5d00006540*
+ ID_MODEL_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge
+
+pci:v000010B5d00006540sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11 Single Board Computer
+
+pci:v000010B5d00006540sv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v000010B5d00006541*
+ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side)
+
+pci:v000010B5d00006541sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11 Single Board Computer
+
+pci:v000010B5d00006541sv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v000010B5d00006542*
+ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side)
+
+pci:v000010B5d00006542sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11 Single Board Computer
+
+pci:v000010B5d00006542sv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v000010B5d00008111*
+ ID_MODEL_FROM_DATABASE=PEX 8111 PCI Express-to-PCI Bridge
+
+pci:v000010B5d00008112*
+ ID_MODEL_FROM_DATABASE=PEX8112 x1 Lane PCI Express-to-PCI Bridge
+
+pci:v000010B5d00008114*
+ ID_MODEL_FROM_DATABASE=PEX 8114 PCI Express-to-PCI/PCI-X Bridge
+
+pci:v000010B5d00008311*
+ ID_MODEL_FROM_DATABASE=PEX8311 x1 Lane PCI Express-to-Generic Local Bus Bridge
+
+pci:v000010B5d00008505*
+ ID_MODEL_FROM_DATABASE=PEX 8505 5-lane, 5-port PCI Express Switch
+
+pci:v000010B5d00008508*
+ ID_MODEL_FROM_DATABASE=PEX 8508 8-lane, 5-port PCI Express Switch
+
+pci:v000010B5d00008509*
+ ID_MODEL_FROM_DATABASE=PEX 8509 8-lane, 8-port PCI Express Switch
+
+pci:v000010B5d00008512*
+ ID_MODEL_FROM_DATABASE=PEX 8512 12-lane, 5-port PCI Express Switch
+
+pci:v000010B5d00008516*
+ ID_MODEL_FROM_DATABASE=PEX 8516 Versatile PCI Express Switch
+
+pci:v000010B5d00008517*
+ ID_MODEL_FROM_DATABASE=PEX 8517 16-lane, 5-port PCI Express Switch
+
+pci:v000010B5d00008518*
+ ID_MODEL_FROM_DATABASE=PEX 8518 16-lane, 5-port PCI Express Switch
+
+pci:v000010B5d00008524*
+ ID_MODEL_FROM_DATABASE=PEX 8524 24-lane, 6-port PCI Express Switch
+
+pci:v000010B5d00008525*
+ ID_MODEL_FROM_DATABASE=PEX 8525 24-lane, 5-port PCI Express Switch
+
+pci:v000010B5d00008532*
+ ID_MODEL_FROM_DATABASE=PEX 8532 Versatile PCI Express Switch
+
+pci:v000010B5d00008533*
+ ID_MODEL_FROM_DATABASE=PEX 8533 32-lane, 6-port PCI Express Switch
+
+pci:v000010B5d00008547*
+ ID_MODEL_FROM_DATABASE=PEX 8547 48-lane, 3-port PCI Express Switch
+
+pci:v000010B5d00008548*
+ ID_MODEL_FROM_DATABASE=PEX 8548 48-lane, 9-port PCI Express Switch
+
+pci:v000010B5d00008604*
+ ID_MODEL_FROM_DATABASE=PEX 8604 4-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008605*
+ ID_MODEL_FROM_DATABASE=PEX 8605 PCI Express 4-port Gen2 Switch
+
+pci:v000010B5d00008606*
+ ID_MODEL_FROM_DATABASE=PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008608*
+ ID_MODEL_FROM_DATABASE=PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008609*
+ ID_MODEL_FROM_DATABASE=PEX 8609 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA
+
+pci:v000010B5d00008612*
+ ID_MODEL_FROM_DATABASE=PEX 8612 12-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008613*
+ ID_MODEL_FROM_DATABASE=PEX 8613 12-lane, 3-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008614*
+ ID_MODEL_FROM_DATABASE=PEX 8614 12-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008615*
+ ID_MODEL_FROM_DATABASE=PEX 8615 12-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA
+
+pci:v000010B5d00008616*
+ ID_MODEL_FROM_DATABASE=PEX 8616 16-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008617*
+ ID_MODEL_FROM_DATABASE=PEX 8617 16-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch with P2P
+
+pci:v000010B5d00008618*
+ ID_MODEL_FROM_DATABASE=PEX 8618 16-lane, 16-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008619*
+ ID_MODEL_FROM_DATABASE=PEX 8619 16-lane, 16-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA
+
+pci:v000010B5d00008624*
+ ID_MODEL_FROM_DATABASE=PEX 8624 24-lane, 6-Port PCI Express Gen 2 (5.0 GT/s) Switch [ExpressLane]
+
+pci:v000010B5d00008624sv000013A3sd00001845*
+ ID_MODEL_FROM_DATABASE=DX1845 Acceleration Card
+
+pci:v000010B5d00008625*
+ ID_MODEL_FROM_DATABASE=PEX 8625 24-lane, 24-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008632*
+ ID_MODEL_FROM_DATABASE=PEX 8632 32-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008636*
+ ID_MODEL_FROM_DATABASE=PEX 8636 36-lane, 24-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008647*
+ ID_MODEL_FROM_DATABASE=PEX 8647 48-Lane, 3-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008648*
+ ID_MODEL_FROM_DATABASE=PEX 8648 48-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008649*
+ ID_MODEL_FROM_DATABASE=PEX 8649 48-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008664*
+ ID_MODEL_FROM_DATABASE=PEX 8664 64-lane, 16-Port PCI Express Gen 2 (5.0 GT/s) Switch
+
+pci:v000010B5d00008680*
+ ID_MODEL_FROM_DATABASE=PEX 8680 80-lane, 20-Port PCI Express Gen 2 (5.0 GT/s) Multi-Root Switch
+
+pci:v000010B5d00008696*
+ ID_MODEL_FROM_DATABASE=PEX 8696 96-lane, 24-Port PCI Express Gen 2 (5.0 GT/s) Multi-Root Switch
+
+pci:v000010B5d00008717*
+ ID_MODEL_FROM_DATABASE=PEX 8717 16-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch with DMA
+
+pci:v000010B5d00008718*
+ ID_MODEL_FROM_DATABASE=PEX 8718 16-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch
+
+pci:v000010B5d00008732*
+ ID_MODEL_FROM_DATABASE=PEX 8732 32-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch
+
+pci:v000010B5d00008734*
+ ID_MODEL_FROM_DATABASE=PEX 8734 32-lane, 8-Port PCI Express Gen 3 (8.0GT/s) Switch
+
+pci:v000010B5d000087B0*
+ ID_MODEL_FROM_DATABASE=PEX 8732 32-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch
+
+pci:v000010B5d00009016*
+ ID_MODEL_FROM_DATABASE=PLX 9016 8-port serial controller
+
+pci:v000010B5d00009030*
+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d00009030sv000010B5sd00002695*
+ ID_MODEL_FROM_DATABASE=Hilscher CIF50-PB/DPS Profibus
+
+pci:v000010B5d00009030sv000010B5sd00002862*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board
+
+pci:v000010B5d00009030sv000010B5sd00002906*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board
+
+pci:v000010B5d00009030sv000010B5sd00002940*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board
+
+pci:v000010B5d00009030sv000010B5sd00002977*
+ ID_MODEL_FROM_DATABASE=IXXAT iPC-I XC16/PCI CAN Board
+
+pci:v000010B5d00009030sv000010B5sd00002978*
+ ID_MODEL_FROM_DATABASE=SH ARC-PCIu/SH ARC-PCI104/SH ARC-PCIe SOHARD ARCNET card
+
+pci:v000010B5d00009030sv000010B5sd00003025*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board
+
+pci:v000010B5d00009030sv000010B5sd00003068*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board
+
+pci:v000010B5d00009030sv000010B5sd00003463*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D (v2) (3V/5V): Timecode Reader Board
+
+pci:v000010B5d00009030sv000012FEsd00000111*
+ ID_MODEL_FROM_DATABASE=CPCI-ASIO4 (ESD 4-port Serial Interface Board)
+
+pci:v000010B5d00009030sv00001369sd00009C01*
+ ID_MODEL_FROM_DATABASE=VX222v2
+
+pci:v000010B5d00009030sv00001369sd00009D01*
+ ID_MODEL_FROM_DATABASE=VX222-Mic
+
+pci:v000010B5d00009030sv00001369sd00009D02*
+ ID_MODEL_FROM_DATABASE=VX222-Mic
+
+pci:v000010B5d00009030sv00001369sd00009E01*
+ ID_MODEL_FROM_DATABASE=PCX924v2
+
+pci:v000010B5d00009030sv00001369sd00009F01*
+ ID_MODEL_FROM_DATABASE=PCX924-Mic
+
+pci:v000010B5d00009030sv00001369sd00009F02*
+ ID_MODEL_FROM_DATABASE=PCX924-Mic
+
+pci:v000010B5d00009030sv00001369sd0000A001*
+ ID_MODEL_FROM_DATABASE=PCX22v2
+
+pci:v000010B5d00009030sv00001369sd0000A701*
+ ID_MODEL_FROM_DATABASE=LCM220v2
+
+pci:v000010B5d00009030sv00001369sd0000A801*
+ ID_MODEL_FROM_DATABASE=LCM200
+
+pci:v000010B5d00009030sv00001397sd00003136*
+ ID_MODEL_FROM_DATABASE=4xS0-ISDN PCI Adapter
+
+pci:v000010B5d00009030sv00001397sd00003137*
+ ID_MODEL_FROM_DATABASE=S2M-E1-ISDN PCI Adapter
+
+pci:v000010B5d00009030sv00001518sd00000200*
+ ID_MODEL_FROM_DATABASE=Kontron ThinkIO-C
+
+pci:v000010B5d00009030sv000015EDsd00001002*
+ ID_MODEL_FROM_DATABASE=MCCS 8-port Serial Hot Swap
+
+pci:v000010B5d00009030sv000015EDsd00001003*
+ ID_MODEL_FROM_DATABASE=MCCS 16-port Serial Hot Swap
+
+pci:v000010B5d00009030sv0000E1C5sd00000001*
+ ID_MODEL_FROM_DATABASE=TE1-PCI
+
+pci:v000010B5d00009030sv0000E1C5sd00000005*
+ ID_MODEL_FROM_DATABASE=TA1-PCI
+
+pci:v000010B5d00009030sv0000E1C5sd00000006*
+ ID_MODEL_FROM_DATABASE=TA1-PCI4
+
+pci:v000010B5d00009036*
+ ID_MODEL_FROM_DATABASE=9036
+
+pci:v000010B5d00009050*
+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge
+
+pci:v000010B5d00009050sv000010B5sd00001067*
+ ID_MODEL_FROM_DATABASE=IXXAT CAN i165
+
+pci:v000010B5d00009050sv000010B5sd0000114E*
+ ID_MODEL_FROM_DATABASE=Wasco WITIO PCI168extended
+
+pci:v000010B5d00009050sv000010B5sd00001169*
+ ID_MODEL_FROM_DATABASE=Wasco OPTOIO32standard 32 digital in, 32 digital out
+
+pci:v000010B5d00009050sv000010B5sd00001172*
+ ID_MODEL_FROM_DATABASE=IK220 (Heidenhain)
+
+pci:v000010B5d00009050sv000010B5sd00002036*
+ ID_MODEL_FROM_DATABASE=SatPak GPS
+
+pci:v000010B5d00009050sv000010B5sd00002221*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI LV: Timecode Reader Board
+
+pci:v000010B5d00009050sv000010B5sd00002273*
+ ID_MODEL_FROM_DATABASE=SH ARC-PCI SOHARD ARCNET card
+
+pci:v000010B5d00009050sv000010B5sd00002431*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D: Timecode Reader Board
+
+pci:v000010B5d00009050sv000010B5sd00002905*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCI TS: Time Synchronisation Board
+
+pci:v000010B5d00009050sv000010B5sd00003196*
+ ID_MODEL_FROM_DATABASE=Goramo PLX200SYN sync serial card
+
+pci:v000010B5d00009050sv000010B5sd00009050*
+ ID_MODEL_FROM_DATABASE=PCI-I04 PCI Passive PC/CAN Interface
+
+pci:v000010B5d00009050sv00001369sd00008901*
+ ID_MODEL_FROM_DATABASE=PCX11+ PCI
+
+pci:v000010B5d00009050sv00001369sd00008F01*
+ ID_MODEL_FROM_DATABASE=VX222
+
+pci:v000010B5d00009050sv00001369sd00009401*
+ ID_MODEL_FROM_DATABASE=PCX924
+
+pci:v000010B5d00009050sv00001369sd00009501*
+ ID_MODEL_FROM_DATABASE=PCX22
+
+pci:v000010B5d00009050sv00001498sd00000362*
+ ID_MODEL_FROM_DATABASE=TPMC866 8 Channel Serial Card
+
+pci:v000010B5d00009050sv00001522sd00000001*
+ ID_MODEL_FROM_DATABASE=RockForce 4 Port V.90 Data/Fax/Voice Modem
+
+pci:v000010B5d00009050sv00001522sd00000002*
+ ID_MODEL_FROM_DATABASE=RockForce 2 Port V.90 Data/Fax/Voice Modem
+
+pci:v000010B5d00009050sv00001522sd00000003*
+ ID_MODEL_FROM_DATABASE=RockForce 6 Port V.90 Data/Fax/Voice Modem
+
+pci:v000010B5d00009050sv00001522sd00000004*
+ ID_MODEL_FROM_DATABASE=RockForce 8 Port V.90 Data/Fax/Voice Modem
+
+pci:v000010B5d00009050sv00001522sd00000010*
+ ID_MODEL_FROM_DATABASE=RockForce2000 4 Port V.90 Data/Fax/Voice Modem
+
+pci:v000010B5d00009050sv00001522sd00000020*
+ ID_MODEL_FROM_DATABASE=RockForce2000 2 Port V.90 Data/Fax/Voice Modem
+
+pci:v000010B5d00009050sv000015EDsd00001000*
+ ID_MODEL_FROM_DATABASE=Macrolink MCCS 8-port Serial
+
+pci:v000010B5d00009050sv000015EDsd00001001*
+ ID_MODEL_FROM_DATABASE=Macrolink MCCS 16-port Serial
+
+pci:v000010B5d00009050sv000015EDsd00001002*
+ ID_MODEL_FROM_DATABASE=Macrolink MCCS 8-port Serial Hot Swap
+
+pci:v000010B5d00009050sv000015EDsd00001003*
+ ID_MODEL_FROM_DATABASE=Macrolink MCCS 16-port Serial Hot Swap
+
+pci:v000010B5d00009050sv00005654sd00002036*
+ ID_MODEL_FROM_DATABASE=OpenSwitch 6 Telephony card
+
+pci:v000010B5d00009050sv00005654sd00003132*
+ ID_MODEL_FROM_DATABASE=OpenSwitch 12 Telephony card
+
+pci:v000010B5d00009050sv00005654sd00005634*
+ ID_MODEL_FROM_DATABASE=OpenLine4 Telephony Card
+
+pci:v000010B5d00009050sv0000D531sd0000C002*
+ ID_MODEL_FROM_DATABASE=PCIntelliCAN 2xSJA1000 CAN bus
+
+pci:v000010B5d00009050sv0000D84Dsd00004006*
+ ID_MODEL_FROM_DATABASE=EX-4006 1P
+
+pci:v000010B5d00009050sv0000D84Dsd00004008*
+ ID_MODEL_FROM_DATABASE=EX-4008 1P EPP/ECP
+
+pci:v000010B5d00009050sv0000D84Dsd00004014*
+ ID_MODEL_FROM_DATABASE=EX-4014 2P
+
+pci:v000010B5d00009050sv0000D84Dsd00004018*
+ ID_MODEL_FROM_DATABASE=EX-4018 3P EPP/ECP
+
+pci:v000010B5d00009050sv0000D84Dsd00004025*
+ ID_MODEL_FROM_DATABASE=EX-4025 1S(16C550) RS-232
+
+pci:v000010B5d00009050sv0000D84Dsd00004027*
+ ID_MODEL_FROM_DATABASE=EX-4027 1S(16C650) RS-232
+
+pci:v000010B5d00009050sv0000D84Dsd00004028*
+ ID_MODEL_FROM_DATABASE=EX-4028 1S(16C850) RS-232
+
+pci:v000010B5d00009050sv0000D84Dsd00004036*
+ ID_MODEL_FROM_DATABASE=EX-4036 2S(16C650) RS-232
+
+pci:v000010B5d00009050sv0000D84Dsd00004037*
+ ID_MODEL_FROM_DATABASE=EX-4037 2S(16C650) RS-232
+
+pci:v000010B5d00009050sv0000D84Dsd00004038*
+ ID_MODEL_FROM_DATABASE=EX-4038 2S(16C850) RS-232
+
+pci:v000010B5d00009050sv0000D84Dsd00004052*
+ ID_MODEL_FROM_DATABASE=EX-4052 1S(16C550) RS-422/485
+
+pci:v000010B5d00009050sv0000D84Dsd00004053*
+ ID_MODEL_FROM_DATABASE=EX-4053 2S(16C550) RS-422/485
+
+pci:v000010B5d00009050sv0000D84Dsd00004055*
+ ID_MODEL_FROM_DATABASE=EX-4055 4S(16C550) RS-232
+
+pci:v000010B5d00009050sv0000D84Dsd00004058*
+ ID_MODEL_FROM_DATABASE=EX-4055 4S(16C650) RS-232
+
+pci:v000010B5d00009050sv0000D84Dsd00004065*
+ ID_MODEL_FROM_DATABASE=EX-4065 8S(16C550) RS-232
+
+pci:v000010B5d00009050sv0000D84Dsd00004068*
+ ID_MODEL_FROM_DATABASE=EX-4068 8S(16C650) RS-232
+
+pci:v000010B5d00009050sv0000D84Dsd00004078*
+ ID_MODEL_FROM_DATABASE=EX-4078 2S(16C552) RS-232+1P
+
+pci:v000010B5d00009052*
+ ID_MODEL_FROM_DATABASE=PCI9052 PCI <-> IOBus Bridge
+
+pci:v000010B5d00009054*
+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d00009054sv000010B5sd00002455*
+ ID_MODEL_FROM_DATABASE=Wessex Techology PHIL-PCI
+
+pci:v000010B5d00009054sv000010B5sd00002696*
+ ID_MODEL_FROM_DATABASE=Innes Corp AM Radcap card
+
+pci:v000010B5d00009054sv000010B5sd00002717*
+ ID_MODEL_FROM_DATABASE=Innes Corp Auricon card
+
+pci:v000010B5d00009054sv000010B5sd00002844*
+ ID_MODEL_FROM_DATABASE=Innes Corp TVS Encoder card
+
+pci:v000010B5d00009054sv000012C7sd00004001*
+ ID_MODEL_FROM_DATABASE=Intel Dialogic DM/V960-4T1 PCI
+
+pci:v000010B5d00009054sv000012D9sd00000002*
+ ID_MODEL_FROM_DATABASE=PCI Prosody Card rev 1.5
+
+pci:v000010B5d00009054sv000014B4sd0000D100*
+ ID_MODEL_FROM_DATABASE=Dektec DTA-100
+
+pci:v000010B5d00009054sv000014B4sd0000D114*
+ ID_MODEL_FROM_DATABASE=Dektec DTA-120
+
+pci:v000010B5d00009054sv000016DFsd00000011*
+ ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM PCI
+
+pci:v000010B5d00009054sv000016DFsd00000012*
+ ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 8
+
+pci:v000010B5d00009054sv000016DFsd00000013*
+ ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 8 (without CAS Signaling)
+
+pci:v000010B5d00009054sv000016DFsd00000014*
+ ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 4
+
+pci:v000010B5d00009054sv000016DFsd00000015*
+ ID_MODEL_FROM_DATABASE=PIKA Daytona MM
+
+pci:v000010B5d00009054sv000016DFsd00000016*
+ ID_MODEL_FROM_DATABASE=PIKA InLine MM
+
+pci:v000010B5d00009056*
+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d00009056sv000010B5sd00002979*
+ ID_MODEL_FROM_DATABASE=CellinkBlade 11 - CPCI board VoATM AAL1
+
+pci:v000010B5d00009056sv000010B5sd00003268*
+ ID_MODEL_FROM_DATABASE=IXXAT iPC-I XC16/PCIe CAN Board
+
+pci:v000010B5d00009056sv000010B5sd00003352*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe HD: Timecode Reader Board
+
+pci:v000010B5d00009056sv000010B5sd00003353*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe D: Timecode Reader Board
+
+pci:v000010B5d00009056sv000010B5sd00003354*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe LV: Timecode Reader Board
+
+pci:v000010B5d00009056sv000010B5sd00003355*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe L: Timecode Reader Board
+
+pci:v000010B5d00009056sv000010B5sd00003415*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCIe TS: Time Synchronisation Board
+
+pci:v000010B5d00009056sv000010B5sd00003493*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe 3G: Timecode Reader Board
+
+pci:v000010B5d00009056sv00001369sd0000C001*
+ ID_MODEL_FROM_DATABASE=LX6464ES
+
+pci:v000010B5d00009056sv00001369sd0000C201*
+ ID_MODEL_FROM_DATABASE=LX1616ES
+
+pci:v000010B5d00009056sv000014B4sd0000D10A*
+ ID_MODEL_FROM_DATABASE=DekTec DTA-110T
+
+pci:v000010B5d00009056sv000014B4sd0000D140*
+ ID_MODEL_FROM_DATABASE=Dektec DTA-140
+
+pci:v000010B5d00009056sv00001A0Esd0000006F*
+ ID_MODEL_FROM_DATABASE=Dektec DTA-111
+
+pci:v000010B5d00009060*
+ ID_MODEL_FROM_DATABASE=PCI9060 32-bit 33MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d0000906D*
+ ID_MODEL_FROM_DATABASE=9060SD
+
+pci:v000010B5d0000906Dsv0000125Csd00000640*
+ ID_MODEL_FROM_DATABASE=Aries 16000P
+
+pci:v000010B5d0000906E*
+ ID_MODEL_FROM_DATABASE=9060ES
+
+pci:v000010B5d00009080*
+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d00009080sv0000103Csd000010EB*
+ ID_MODEL_FROM_DATABASE=(Agilent) E2777B 83K Series Optical Communication Interface
+
+pci:v000010B5d00009080sv0000103Csd000010EC*
+ ID_MODEL_FROM_DATABASE=(Agilent) E6978-66442 PCI CIC
+
+pci:v000010B5d00009080sv000010B5sd00001123*
+ ID_MODEL_FROM_DATABASE=Sectra KK631 encryption board
+
+pci:v000010B5d00009080sv000010B5sd00009080*
+ ID_MODEL_FROM_DATABASE=9080 [real subsystem ID not set]
+
+pci:v000010B5d00009080sv000012D9sd00000002*
+ ID_MODEL_FROM_DATABASE=PCI Prosody Card
+
+pci:v000010B5d00009080sv000012DFsd00004422*
+ ID_MODEL_FROM_DATABASE=4422PCI ["Do-All" Telemetry Data Aquisition System]
+
+pci:v000010B5d00009080sv00001369sd00009601*
+ ID_MODEL_FROM_DATABASE=PCX822np
+
+pci:v000010B5d00009080sv00001369sd0000A102*
+ ID_MODEL_FROM_DATABASE=PCX822v2
+
+pci:v000010B5d00009080sv00001369sd0000A201*
+ ID_MODEL_FROM_DATABASE=PCX442
+
+pci:v000010B5d00009080sv00001369sd0000A301*
+ ID_MODEL_FROM_DATABASE=LCM440v2
+
+pci:v000010B5d00009080sv00001369sd0000A401*
+ ID_MODEL_FROM_DATABASE=VX822
+
+pci:v000010B5d00009080sv00001369sd0000A402*
+ ID_MODEL_FROM_DATABASE=VX822v2
+
+pci:v000010B5d00009080sv00001369sd0000A901*
+ ID_MODEL_FROM_DATABASE=LCM420
+
+pci:v000010B5d00009080sv00001369sd0000AA01*
+ ID_MODEL_FROM_DATABASE=VX820v2
+
+pci:v000010B5d00009080sv00001517sd0000000B*
+ ID_MODEL_FROM_DATABASE=ECSG-1R3ADC-PMC Clock synthesizer
+
+pci:v000010B5d00009656*
+ ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge
+
+pci:v000010B5d00009656sv00001517sd0000000F*
+ ID_MODEL_FROM_DATABASE=ECDR-GC314-PMC Receiver
+
+pci:v000010B5d00009656sv00001885sd00000700*
+ ID_MODEL_FROM_DATABASE=Tsunami FPGA PMC with Altera Stratix S40
+
+pci:v000010B5d00009656sv00001885sd00000701*
+ ID_MODEL_FROM_DATABASE=Tsunami FPGA PMC with Altera Stratix S30
+
+pci:v000010B5d0000A100*
+ ID_MODEL_FROM_DATABASE=Blackmagic Design DeckLink
+
+pci:v000010B5d0000BB04*
+ ID_MODEL_FROM_DATABASE=B&B 3PCIOSD1A Isolated PCI Serial
+
+pci:v000010B5d0000C001*
+ ID_MODEL_FROM_DATABASE=CronyxOmega-PCI (8-port RS232)
+
+pci:v000010B5d0000D00D*
+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d0000D00Dsv000010B5sd00009030*
+ ID_MODEL_FROM_DATABASE=Digium Tormenta 2 T400P or E400P Quad T1 or E1 PCI card
+
+pci:v000010B5d0000D33D*
+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d0000D33Dsv000010B5sd00009030*
+ ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V401PT Quad T1/J1 PCI card
+
+pci:v000010B5d0000D44D*
+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
+
+pci:v000010B5d0000D44Dsv000010B5sd000017F6*
+ ID_MODEL_FROM_DATABASE=Allo CP100P/E 1-port E1/T1/J1 PCI/PCIe card
+
+pci:v000010B5d0000D44Dsv000010B5sd000017F7*
+ ID_MODEL_FROM_DATABASE=Allo CP400P/E 4-port E1/T1/J1 PCI/PCIe card
+
+pci:v000010B5d0000D44Dsv000010B5sd000017F8*
+ ID_MODEL_FROM_DATABASE=Allo CP200P/E 2-port E1/T1/J1 PCI/PCIe card
+
+pci:v000010B5d0000D44Dsv000010B5sd00009030*
+ ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V401PE Quad E1 PCI card
+
+pci:v000010B6*
+ ID_VENDOR_FROM_DATABASE=Madge Networks
+
+pci:v000010B6d00000001*
+ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode
+
+pci:v000010B6d00000002*
+ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk2
+
+pci:v000010B6d00000002sv000010B6sd00000002*
+ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk2
+
+pci:v000010B6d00000002sv000010B6sd00000006*
+ ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter
+
+pci:v000010B6d00000003*
+ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3
+
+pci:v000010B6d00000003sv00000E11sd0000B0FD*
+ ID_MODEL_FROM_DATABASE=Compaq NC4621 PCI, 4/16, WOL
+
+pci:v000010B6d00000003sv000010B6sd00000003*
+ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3
+
+pci:v000010B6d00000003sv000010B6sd00000007*
+ ID_MODEL_FROM_DATABASE=Presto PCI Plus Adapter
+
+pci:v000010B6d00000004*
+ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk1
+
+pci:v000010B6d00000006*
+ ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter
+
+pci:v000010B6d00000006sv000010B6sd00000006*
+ ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter
+
+pci:v000010B6d00000007*
+ ID_MODEL_FROM_DATABASE=Presto PCI Adapter
+
+pci:v000010B6d00000007sv000010B6sd00000007*
+ ID_MODEL_FROM_DATABASE=Presto PCI
+
+pci:v000010B6d00000009*
+ ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI-HS Ringnode
+
+pci:v000010B6d00000009sv000010B6sd00000009*
+ ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI-HS Ringnode
+
+pci:v000010B6d0000000A*
+ ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI Ringnode
+
+pci:v000010B6d0000000Asv000010B6sd0000000A*
+ ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI Ringnode
+
+pci:v000010B6d0000000B*
+ ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2
+
+pci:v000010B6d0000000Bsv000010B6sd00000008*
+ ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2
+
+pci:v000010B6d0000000Bsv000010B6sd0000000B*
+ ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter Mk2
+
+pci:v000010B6d0000000C*
+ ID_MODEL_FROM_DATABASE=RapidFire 3140V2 16/4 TR Adapter
+
+pci:v000010B6d0000000Csv000010B6sd0000000C*
+ ID_MODEL_FROM_DATABASE=RapidFire 3140V2 16/4 TR Adapter
+
+pci:v000010B6d00001000*
+ ID_MODEL_FROM_DATABASE=Collage 25/155 ATM Client Adapter
+
+pci:v000010B6d00001001*
+ ID_MODEL_FROM_DATABASE=Collage 155 ATM Server Adapter
+
+pci:v000010B7*
+ ID_VENDOR_FROM_DATABASE=3Com Corporation
+
+pci:v000010B7d00000001*
+ ID_MODEL_FROM_DATABASE=3c985 1000BaseSX (SX/TX)
+
+pci:v000010B7d00000013*
+ ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675)
+
+pci:v000010B7d00000013sv000010B7sd00002031*
+ ID_MODEL_FROM_DATABASE=3CRDAG675 11a/b/g Wireless PCI Adapter
+
+pci:v000010B7d00000910*
+ ID_MODEL_FROM_DATABASE=3C910-A01
+
+pci:v000010B7d00001006*
+ ID_MODEL_FROM_DATABASE=MINI PCI type 3B Data Fax Modem
+
+pci:v000010B7d00001007*
+ ID_MODEL_FROM_DATABASE=Mini PCI 56k Winmodem
+
+pci:v000010B7d00001007sv000010B7sd0000615B*
+ ID_MODEL_FROM_DATABASE=Mini PCI 56K Modem
+
+pci:v000010B7d00001007sv000010B7sd0000615C*
+ ID_MODEL_FROM_DATABASE=Mini PCI 56K Modem
+
+pci:v000010B7d00001201*
+ ID_MODEL_FROM_DATABASE=3c982-TXM 10/100baseTX Dual Port A [Hydra]
+
+pci:v000010B7d00001202*
+ ID_MODEL_FROM_DATABASE=3c982-TXM 10/100baseTX Dual Port B [Hydra]
+
+pci:v000010B7d00001700*
+ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell]
+
+pci:v000010B7d00001700sv00001043sd000080EB*
+ ID_MODEL_FROM_DATABASE=A7V600/P4P800/K8V motherboard
+
+pci:v000010B7d00001700sv000010B7sd00000010*
+ ID_MODEL_FROM_DATABASE=3C940 Gigabit LOM Ethernet Adapter
+
+pci:v000010B7d00001700sv000010B7sd00000020*
+ ID_MODEL_FROM_DATABASE=3C941 Gigabit LOM Ethernet Adapter
+
+pci:v000010B7d00001700sv0000147Bsd00001407*
+ ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard
+
+pci:v000010B7d00003390*
+ ID_MODEL_FROM_DATABASE=3c339 TokenLink Velocity
+
+pci:v000010B7d00003590*
+ ID_MODEL_FROM_DATABASE=3c359 TokenLink Velocity XL
+
+pci:v000010B7d00003590sv000010B7sd00003590*
+ ID_MODEL_FROM_DATABASE=TokenLink Velocity XL Adapter (3C359/359B)
+
+pci:v000010B7d00004500*
+ ID_MODEL_FROM_DATABASE=3c450 HomePNA [Tornado]
+
+pci:v000010B7d00005055*
+ ID_MODEL_FROM_DATABASE=3c555 Laptop Hurricane
+
+pci:v000010B7d00005057*
+ ID_MODEL_FROM_DATABASE=3c575 Megahertz 10/100 LAN CardBus [Boomerang]
+
+pci:v000010B7d00005057sv000010B7sd00005A57*
+ ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card
+
+pci:v000010B7d00005157*
+ ID_MODEL_FROM_DATABASE=3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone]
+
+pci:v000010B7d00005157sv000010B7sd00005B57*
+ ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card
+
+pci:v000010B7d00005257*
+ ID_MODEL_FROM_DATABASE=3cCFE575CT CardBus [Cyclone]
+
+pci:v000010B7d00005257sv000010B7sd00005C57*
+ ID_MODEL_FROM_DATABASE=FE575C-3Com 10/100 LAN CardBus-Fast Ethernet
+
+pci:v000010B7d00005900*
+ ID_MODEL_FROM_DATABASE=3c590 10BaseT [Vortex]
+
+pci:v000010B7d00005920*
+ ID_MODEL_FROM_DATABASE=3c592 EISA 10mbps Demon/Vortex
+
+pci:v000010B7d00005950*
+ ID_MODEL_FROM_DATABASE=3c595 100BaseTX [Vortex]
+
+pci:v000010B7d00005951*
+ ID_MODEL_FROM_DATABASE=3c595 100BaseT4 [Vortex]
+
+pci:v000010B7d00005952*
+ ID_MODEL_FROM_DATABASE=3c595 100Base-MII [Vortex]
+
+pci:v000010B7d00005970*
+ ID_MODEL_FROM_DATABASE=3c597 EISA Fast Demon/Vortex
+
+pci:v000010B7d00005B57*
+ ID_MODEL_FROM_DATABASE=3c595 Megahertz 10/100 LAN CardBus [Boomerang]
+
+pci:v000010B7d00005B57sv000010B7sd00005B57*
+ ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card
+
+pci:v000010B7d00006000*
+ ID_MODEL_FROM_DATABASE=3CRSHPW796 [OfficeConnect Wireless CardBus]
+
+pci:v000010B7d00006001*
+ ID_MODEL_FROM_DATABASE=3com 3CRWE154G72 [Office Connect Wireless LAN Adapter]
+
+pci:v000010B7d00006055*
+ ID_MODEL_FROM_DATABASE=3c556 Hurricane CardBus [Cyclone]
+
+pci:v000010B7d00006056*
+ ID_MODEL_FROM_DATABASE=3c556B CardBus [Tornado]
+
+pci:v000010B7d00006056sv000010B7sd00006556*
+ ID_MODEL_FROM_DATABASE=10/100 Mini PCI Ethernet Adapter
+
+pci:v000010B7d00006560*
+ ID_MODEL_FROM_DATABASE=3cCFE656 CardBus [Cyclone]
+
+pci:v000010B7d00006560sv000010B7sd0000656A*
+ ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus
+
+pci:v000010B7d00006561*
+ ID_MODEL_FROM_DATABASE=3cCFEM656 10/100 LAN+56K Modem CardBus
+
+pci:v000010B7d00006561sv000010B7sd0000656B*
+ ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus
+
+pci:v000010B7d00006562*
+ ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone]
+
+pci:v000010B7d00006562sv000010B7sd0000656B*
+ ID_MODEL_FROM_DATABASE=3CCFEM656B 10/100 LAN+56K Modem CardBus
+
+pci:v000010B7d00006563*
+ ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+56K Modem CardBus
+
+pci:v000010B7d00006563sv000010B7sd0000656B*
+ ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus
+
+pci:v000010B7d00006564*
+ ID_MODEL_FROM_DATABASE=3cXFEM656C 10/100 LAN+Winmodem CardBus [Tornado]
+
+pci:v000010B7d00007646*
+ ID_MODEL_FROM_DATABASE=3cSOHO100-TX Hurricane
+
+pci:v000010B7d00007770*
+ ID_MODEL_FROM_DATABASE=3CRWE777 PCI Wireless Adapter [Airconnect]
+
+pci:v000010B7d00007940*
+ ID_MODEL_FROM_DATABASE=3c803 FDDILink UTP Controller
+
+pci:v000010B7d00007980*
+ ID_MODEL_FROM_DATABASE=3c804 FDDILink SAS Controller
+
+pci:v000010B7d00007990*
+ ID_MODEL_FROM_DATABASE=3c805 FDDILink DAS Controller
+
+pci:v000010B7d000080EB*
+ ID_MODEL_FROM_DATABASE=3c940B 10/100/1000Base-T
+
+pci:v000010B7d00008811*
+ ID_MODEL_FROM_DATABASE=Token ring
+
+pci:v000010B7d00009000*
+ ID_MODEL_FROM_DATABASE=3c900 10BaseT [Boomerang]
+
+pci:v000010B7d00009001*
+ ID_MODEL_FROM_DATABASE=3c900 10Mbps Combo [Boomerang]
+
+pci:v000010B7d00009004*
+ ID_MODEL_FROM_DATABASE=3c900B-TPO Etherlink XL [Cyclone]
+
+pci:v000010B7d00009004sv000010B7sd00009004*
+ ID_MODEL_FROM_DATABASE=3C900B-TPO Etherlink XL TPO 10Mb
+
+pci:v000010B7d00009005*
+ ID_MODEL_FROM_DATABASE=3c900B-Combo Etherlink XL [Cyclone]
+
+pci:v000010B7d00009005sv000010B7sd00009005*
+ ID_MODEL_FROM_DATABASE=3C900B-Combo Etherlink XL Combo
+
+pci:v000010B7d00009006*
+ ID_MODEL_FROM_DATABASE=3c900B-TPC Etherlink XL [Cyclone]
+
+pci:v000010B7d0000900A*
+ ID_MODEL_FROM_DATABASE=3c900B-FL 10base-FL [Cyclone]
+
+pci:v000010B7d00009050*
+ ID_MODEL_FROM_DATABASE=3c905 100BaseTX [Boomerang]
+
+pci:v000010B7d00009051*
+ ID_MODEL_FROM_DATABASE=3c905 100BaseT4 [Boomerang]
+
+pci:v000010B7d00009054*
+ ID_MODEL_FROM_DATABASE=3C905B-TX Fast Etherlink XL PCI
+
+pci:v000010B7d00009054sv000010B7sd00009054*
+ ID_MODEL_FROM_DATABASE=3C905B-TX Fast Etherlink XL PCI
+
+pci:v000010B7d00009055*
+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone]
+
+pci:v000010B7d00009055sv00001028sd00000080*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000081*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000082*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000083*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000084*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000085*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000086*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000087*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000088*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000089*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000090*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000091*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000092*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000093*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000094*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000095*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000096*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000097*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000098*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv00001028sd00000099*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009055sv000010B7sd00009055*
+ ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
+
+pci:v000010B7d00009056*
+ ID_MODEL_FROM_DATABASE=3c905B-T4 Fast EtherLink XL [Cyclone]
+
+pci:v000010B7d00009058*
+ ID_MODEL_FROM_DATABASE=3c905B Deluxe Etherlink 10/100/BNC [Cyclone]
+
+pci:v000010B7d0000905A*
+ ID_MODEL_FROM_DATABASE=3c905B-FX Fast Etherlink XL FX 100baseFx [Cyclone]
+
+pci:v000010B7d00009200*
+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado]
+
+pci:v000010B7d00009200sv00001028sd00000095*
+ ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller
+
+pci:v000010B7d00009200sv00001028sd00000097*
+ ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller
+
+pci:v000010B7d00009200sv00001028sd000000B4*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX110
+
+pci:v000010B7d00009200sv00001028sd000000D8*
+ ID_MODEL_FROM_DATABASE=Precision 530
+
+pci:v000010B7d00009200sv00001028sd000000FE*
+ ID_MODEL_FROM_DATABASE=Optiplex GX240
+
+pci:v000010B7d00009200sv00001028sd0000012A*
+ ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller [Latitude C640]
+
+pci:v000010B7d00009200sv000010B7sd00001000*
+ ID_MODEL_FROM_DATABASE=3C905CX-TX/TX-M Fast Etherlink for PC Management NIC
+
+pci:v000010B7d00009200sv000010B7sd00007000*
+ ID_MODEL_FROM_DATABASE=10/100 Mini PCI Ethernet Adapter
+
+pci:v000010B7d00009200sv000010F1sd00002466*
+ ID_MODEL_FROM_DATABASE=Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller)
+
+pci:v000010B7d00009200sv0000144Dsd0000C005*
+ ID_MODEL_FROM_DATABASE=X10 Laptop
+
+pci:v000010B7d00009201*
+ ID_MODEL_FROM_DATABASE=3C920B-EMB Integrated Fast Ethernet Controller [Tornado]
+
+pci:v000010B7d00009201sv00001043sd000080AB*
+ ID_MODEL_FROM_DATABASE=A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller
+
+pci:v000010B7d00009202*
+ ID_MODEL_FROM_DATABASE=3Com 3C920B-EMB-WNM Integrated Fast Ethernet Controller
+
+pci:v000010B7d00009210*
+ ID_MODEL_FROM_DATABASE=3C920B-EMB-WNM Integrated Fast Ethernet Controller
+
+pci:v000010B7d00009300*
+ ID_MODEL_FROM_DATABASE=3CSOHO100B-TX 910-A01 [tulip]
+
+pci:v000010B7d00009800*
+ ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter [Cyclone]
+
+pci:v000010B7d00009800sv000010B7sd00009800*
+ ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter
+
+pci:v000010B7d00009805*
+ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T]
+
+pci:v000010B7d00009805sv000010B7sd00001201*
+ ID_MODEL_FROM_DATABASE=EtherLink Server 10/100 Dual Port A
+
+pci:v000010B7d00009805sv000010B7sd00001202*
+ ID_MODEL_FROM_DATABASE=EtherLink Server 10/100 Dual Port B
+
+pci:v000010B7d00009805sv000010B7sd00009805*
+ ID_MODEL_FROM_DATABASE=3c980 10/100baseTX NIC [Python-T]
+
+pci:v000010B7d00009805sv000010F1sd00002462*
+ ID_MODEL_FROM_DATABASE=Thunder K7 S2462
+
+pci:v000010B7d00009900*
+ ID_MODEL_FROM_DATABASE=3C990-TX [Typhoon]
+
+pci:v000010B7d00009902*
+ ID_MODEL_FROM_DATABASE=3CR990-TX-95 [Typhoon 56-bit]
+
+pci:v000010B7d00009903*
+ ID_MODEL_FROM_DATABASE=3CR990-TX-97 [Typhoon 168-bit]
+
+pci:v000010B7d00009904*
+ ID_MODEL_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2]
+
+pci:v000010B7d00009904sv000010B7sd00001000*
+ ID_MODEL_FROM_DATABASE=3CR990B-TX-M [Typhoon2]
+
+pci:v000010B7d00009904sv000010B7sd00002000*
+ ID_MODEL_FROM_DATABASE=3CR990BSVR [Typhoon2 Server]
+
+pci:v000010B7d00009905*
+ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber]
+
+pci:v000010B7d00009905sv000010B7sd00001101*
+ ID_MODEL_FROM_DATABASE=3CR990-FX-95 [Typhoon Fiber 56-bit]
+
+pci:v000010B7d00009905sv000010B7sd00001102*
+ ID_MODEL_FROM_DATABASE=3CR990-FX-97 [Typhoon Fiber 168-bit]
+
+pci:v000010B7d00009905sv000010B7sd00002101*
+ ID_MODEL_FROM_DATABASE=3CR990-FX-95 Server [Typhoon Fiber 56-bit]
+
+pci:v000010B7d00009905sv000010B7sd00002102*
+ ID_MODEL_FROM_DATABASE=3CR990-FX-97 Server [Typhoon Fiber 168-bit]
+
+pci:v000010B7d00009908*
+ ID_MODEL_FROM_DATABASE=3CR990SVR95 [Typhoon Server 56-bit]
+
+pci:v000010B7d00009909*
+ ID_MODEL_FROM_DATABASE=3CR990SVR97 [Typhoon Server 168-bit]
+
+pci:v000010B7d0000990A*
+ ID_MODEL_FROM_DATABASE=3C990SVR [Typhoon Server]
+
+pci:v000010B7d0000990B*
+ ID_MODEL_FROM_DATABASE=3C990SVR [Typhoon Server]
+
+pci:v000010B8*
+ ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp [SMC]
+
+pci:v000010B8d00000005*
+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter
+
+pci:v000010B8d00000005sv00001055sd0000E000*
+ ID_MODEL_FROM_DATABASE=LANEPIC 10/100 [EVB171Q-PCI]
+
+pci:v000010B8d00000005sv00001055sd0000E002*
+ ID_MODEL_FROM_DATABASE=LANEPIC 10/100 [EVB171G-PCI]
+
+pci:v000010B8d00000005sv000010B8sd0000A011*
+ ID_MODEL_FROM_DATABASE=EtherPower II 10/100
+
+pci:v000010B8d00000005sv000010B8sd0000A014*
+ ID_MODEL_FROM_DATABASE=EtherPower II 10/100
+
+pci:v000010B8d00000005sv000010B8sd0000A015*
+ ID_MODEL_FROM_DATABASE=EtherPower II 10/100
+
+pci:v000010B8d00000005sv000010B8sd0000A016*
+ ID_MODEL_FROM_DATABASE=EtherPower II 10/100
+
+pci:v000010B8d00000005sv000010B8sd0000A017*
+ ID_MODEL_FROM_DATABASE=EtherPower II 10/100
+
+pci:v000010B8d00000006*
+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter
+
+pci:v000010B8d00000006sv00001055sd0000E100*
+ ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
+
+pci:v000010B8d00000006sv00001055sd0000E102*
+ ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
+
+pci:v000010B8d00000006sv00001055sd0000E300*
+ ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
+
+pci:v000010B8d00000006sv00001055sd0000E302*
+ ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
+
+pci:v000010B8d00000006sv000010B8sd0000A012*
+ ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
+
+pci:v000010B8d00000006sv000013A2sd00008002*
+ ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
+
+pci:v000010B8d00000006sv000013A2sd00008006*
+ ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
+
+pci:v000010B8d00001000*
+ ID_MODEL_FROM_DATABASE=FDC 37c665
+
+pci:v000010B8d00001001*
+ ID_MODEL_FROM_DATABASE=FDC 37C922
+
+pci:v000010B8d0000A011*
+ ID_MODEL_FROM_DATABASE=83C170QF
+
+pci:v000010B8d0000B106*
+ ID_MODEL_FROM_DATABASE=SMC34C90
+
+pci:v000010B9*
+ ID_VENDOR_FROM_DATABASE=ULi Electronics Inc.
+
+pci:v000010B9d00000101*
+ ID_MODEL_FROM_DATABASE=CMI8338/C3DX PCI Audio Device
+
+pci:v000010B9d00000111*
+ ID_MODEL_FROM_DATABASE=C-Media CMI8738/C3DX Audio Device (OEM)
+
+pci:v000010B9d00000111sv000010B9sd00000111*
+ ID_MODEL_FROM_DATABASE=C-Media CMI8738/C3DX Audio Device (OEM)
+
+pci:v000010B9d00000780*
+ ID_MODEL_FROM_DATABASE=Multi-IO Card
+
+pci:v000010B9d00000782*
+ ID_MODEL_FROM_DATABASE=Multi-IO Card
+
+pci:v000010B9d00001435*
+ ID_MODEL_FROM_DATABASE=M1435
+
+pci:v000010B9d00001445*
+ ID_MODEL_FROM_DATABASE=M1445
+
+pci:v000010B9d00001449*
+ ID_MODEL_FROM_DATABASE=M1449
+
+pci:v000010B9d00001451*
+ ID_MODEL_FROM_DATABASE=M1451
+
+pci:v000010B9d00001461*
+ ID_MODEL_FROM_DATABASE=M1461
+
+pci:v000010B9d00001489*
+ ID_MODEL_FROM_DATABASE=M1489
+
+pci:v000010B9d00001511*
+ ID_MODEL_FROM_DATABASE=M1511 [Aladdin]
+
+pci:v000010B9d00001512*
+ ID_MODEL_FROM_DATABASE=M1512 [Aladdin]
+
+pci:v000010B9d00001513*
+ ID_MODEL_FROM_DATABASE=M1513 [Aladdin]
+
+pci:v000010B9d00001521*
+ ID_MODEL_FROM_DATABASE=M1521 [Aladdin III]
+
+pci:v000010B9d00001521sv000010B9sd00001521*
+ ID_MODEL_FROM_DATABASE=ALI M1521 Aladdin III CPU Bridge
+
+pci:v000010B9d00001523*
+ ID_MODEL_FROM_DATABASE=M1523
+
+pci:v000010B9d00001523sv000010B9sd00001523*
+ ID_MODEL_FROM_DATABASE=ALI M1523 ISA Bridge
+
+pci:v000010B9d00001531*
+ ID_MODEL_FROM_DATABASE=M1531 [Aladdin IV]
+
+pci:v000010B9d00001533*
+ ID_MODEL_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+]
+
+pci:v000010B9d00001533sv00001014sd0000053B*
+ ID_MODEL_FROM_DATABASE=ThinkPad R40e
+
+pci:v000010B9d00001533sv000010B9sd00001533*
+ ID_MODEL_FROM_DATABASE=ALi M1533 Aladdin IV/V ISA Bridge
+
+pci:v000010B9d00001541*
+ ID_MODEL_FROM_DATABASE=M1541
+
+pci:v000010B9d00001541sv000010B9sd00001541*
+ ID_MODEL_FROM_DATABASE=ALI M1541 Aladdin V/V+ AGP System Controller
+
+pci:v000010B9d00001543*
+ ID_MODEL_FROM_DATABASE=M1543
+
+pci:v000010B9d00001563*
+ ID_MODEL_FROM_DATABASE=M1563 HyperTransport South Bridge
+
+pci:v000010B9d00001563sv000010B9sd00001563*
+ ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
+
+pci:v000010B9d00001563sv00001849sd00001563*
+ ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
+
+pci:v000010B9d00001573*
+ ID_MODEL_FROM_DATABASE=PCI to LPC Controller
+
+pci:v000010B9d00001575*
+ ID_MODEL_FROM_DATABASE=M1575 South Bridge
+
+pci:v000010B9d00001621*
+ ID_MODEL_FROM_DATABASE=M1621
+
+pci:v000010B9d00001631*
+ ID_MODEL_FROM_DATABASE=ALI M1631 PCI North Bridge Aladdin Pro III
+
+pci:v000010B9d00001632*
+ ID_MODEL_FROM_DATABASE=M1632M Northbridge+Trident
+
+pci:v000010B9d00001641*
+ ID_MODEL_FROM_DATABASE=ALI M1641 PCI North Bridge Aladdin Pro IV
+
+pci:v000010B9d00001644*
+ ID_MODEL_FROM_DATABASE=M1644/M1644T Northbridge+Trident
+
+pci:v000010B9d00001646*
+ ID_MODEL_FROM_DATABASE=M1646 Northbridge+Trident
+
+pci:v000010B9d00001647*
+ ID_MODEL_FROM_DATABASE=M1647 Northbridge [MAGiK 1 / MobileMAGiK 1]
+
+pci:v000010B9d00001651*
+ ID_MODEL_FROM_DATABASE=M1651/M1651T Northbridge [Aladdin-Pro 5/5M,Aladdin-Pro 5T/5TM]
+
+pci:v000010B9d00001671*
+ ID_MODEL_FROM_DATABASE=M1671 Super P4 Northbridge [AGP4X,PCI and SDR/DDR]
+
+pci:v000010B9d00001672*
+ ID_MODEL_FROM_DATABASE=M1672 Northbridge [CyberALADDiN-P4]
+
+pci:v000010B9d00001681*
+ ID_MODEL_FROM_DATABASE=M1681 P4 Northbridge [AGP8X,HyperTransport and SDR/DDR]
+
+pci:v000010B9d00001687*
+ ID_MODEL_FROM_DATABASE=M1687 K8 Northbridge [AGP8X and HyperTransport]
+
+pci:v000010B9d00001689*
+ ID_MODEL_FROM_DATABASE=M1689 K8 Northbridge [Super K8 Single Chip]
+
+pci:v000010B9d00001695*
+ ID_MODEL_FROM_DATABASE=M1695 K8 Northbridge [PCI Express and HyperTransport]
+
+pci:v000010B9d00001697*
+ ID_MODEL_FROM_DATABASE=M1697 HTT Host Bridge
+
+pci:v000010B9d00003141*
+ ID_MODEL_FROM_DATABASE=M3141
+
+pci:v000010B9d00003143*
+ ID_MODEL_FROM_DATABASE=M3143
+
+pci:v000010B9d00003145*
+ ID_MODEL_FROM_DATABASE=M3145
+
+pci:v000010B9d00003147*
+ ID_MODEL_FROM_DATABASE=M3147
+
+pci:v000010B9d00003149*
+ ID_MODEL_FROM_DATABASE=M3149
+
+pci:v000010B9d00003151*
+ ID_MODEL_FROM_DATABASE=M3151
+
+pci:v000010B9d00003307*
+ ID_MODEL_FROM_DATABASE=M3307
+
+pci:v000010B9d00003309*
+ ID_MODEL_FROM_DATABASE=M3309
+
+pci:v000010B9d00003323*
+ ID_MODEL_FROM_DATABASE=M3325 Video/Audio Decoder
+
+pci:v000010B9d00005212*
+ ID_MODEL_FROM_DATABASE=M4803
+
+pci:v000010B9d00005215*
+ ID_MODEL_FROM_DATABASE=MS4803
+
+pci:v000010B9d00005217*
+ ID_MODEL_FROM_DATABASE=M5217H
+
+pci:v000010B9d00005219*
+ ID_MODEL_FROM_DATABASE=M5219
+
+pci:v000010B9d00005225*
+ ID_MODEL_FROM_DATABASE=M5225
+
+pci:v000010B9d00005228*
+ ID_MODEL_FROM_DATABASE=M5228 ALi ATA/RAID Controller
+
+pci:v000010B9d00005229*
+ ID_MODEL_FROM_DATABASE=M5229 IDE
+
+pci:v000010B9d00005229sv00001014sd0000050F*
+ ID_MODEL_FROM_DATABASE=ThinkPad R30
+
+pci:v000010B9d00005229sv00001014sd0000053D*
+ ID_MODEL_FROM_DATABASE=ThinkPad R40e
+
+pci:v000010B9d00005229sv0000103Csd00000024*
+ ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin IDE
+
+pci:v000010B9d00005229sv0000103Csd00000025*
+ ID_MODEL_FROM_DATABASE=XE4500 Notebook
+
+pci:v000010B9d00005229sv00001043sd00008053*
+ ID_MODEL_FROM_DATABASE=A7A266 Motherboard IDE
+
+pci:v000010B9d00005229sv00001849sd00005229*
+ ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard IDE (PATA)
+
+pci:v000010B9d00005235*
+ ID_MODEL_FROM_DATABASE=M5225
+
+pci:v000010B9d00005237*
+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller
+
+pci:v000010B9d00005237sv00001014sd00000540*
+ ID_MODEL_FROM_DATABASE=ThinkPad R40e
+
+pci:v000010B9d00005237sv0000103Csd00000024*
+ ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin USB
+
+pci:v000010B9d00005237sv0000103Csd00000025*
+ ID_MODEL_FROM_DATABASE=XE4500 Notebook
+
+pci:v000010B9d00005237sv0000104Dsd0000810F*
+ ID_MODEL_FROM_DATABASE=VAIO PCG-U1 USB/OHCI Revision 1.0
+
+pci:v000010B9d00005237sv000010B9sd00005237*
+ ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
+
+pci:v000010B9d00005237sv00001849sd00005237*
+ ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
+
+pci:v000010B9d00005239*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller
+
+pci:v000010B9d00005239sv000010B9sd00005239*
+ ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
+
+pci:v000010B9d00005239sv00001849sd00005239*
+ ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
+
+pci:v000010B9d00005243*
+ ID_MODEL_FROM_DATABASE=M1541 PCI to AGP Controller
+
+pci:v000010B9d00005246*
+ ID_MODEL_FROM_DATABASE=AGP8X Controller
+
+pci:v000010B9d00005247*
+ ID_MODEL_FROM_DATABASE=PCI to AGP Controller
+
+pci:v000010B9d00005249*
+ ID_MODEL_FROM_DATABASE=M5249 HTT to PCI Bridge
+
+pci:v000010B9d0000524B*
+ ID_MODEL_FROM_DATABASE=PCI Express Root Port
+
+pci:v000010B9d0000524C*
+ ID_MODEL_FROM_DATABASE=PCI Express Root Port
+
+pci:v000010B9d0000524D*
+ ID_MODEL_FROM_DATABASE=PCI Express Root Port
+
+pci:v000010B9d0000524E*
+ ID_MODEL_FROM_DATABASE=PCI Express Root Port
+
+pci:v000010B9d00005251*
+ ID_MODEL_FROM_DATABASE=M5251 P1394 OHCI 1.0 Controller
+
+pci:v000010B9d00005253*
+ ID_MODEL_FROM_DATABASE=M5253 P1394 OHCI 1.1 Controller
+
+pci:v000010B9d00005261*
+ ID_MODEL_FROM_DATABASE=M5261 Ethernet Controller
+
+pci:v000010B9d00005263*
+ ID_MODEL_FROM_DATABASE=ULi 1689,1573 integrated ethernet.
+
+pci:v000010B9d00005281*
+ ID_MODEL_FROM_DATABASE=ALi M5281 Serial ATA / RAID Host Controller
+
+pci:v000010B9d00005287*
+ ID_MODEL_FROM_DATABASE=ULi 5287 SATA
+
+pci:v000010B9d00005288*
+ ID_MODEL_FROM_DATABASE=ULi M5288 SATA
+
+pci:v000010B9d00005288sv00001043sd00008056*
+ ID_MODEL_FROM_DATABASE=A8R-MVP Mainboard
+
+pci:v000010B9d00005289*
+ ID_MODEL_FROM_DATABASE=ULi 5289 SATA
+
+pci:v000010B9d00005450*
+ ID_MODEL_FROM_DATABASE=Lucent Technologies Soft Modem AMR
+
+pci:v000010B9d00005451*
+ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device
+
+pci:v000010B9d00005451sv00001014sd00000506*
+ ID_MODEL_FROM_DATABASE=ThinkPad R30
+
+pci:v000010B9d00005451sv00001014sd0000053E*
+ ID_MODEL_FROM_DATABASE=ThinkPad R40e
+
+pci:v000010B9d00005451sv0000103Csd00000024*
+ ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Audio
+
+pci:v000010B9d00005451sv0000103Csd00000025*
+ ID_MODEL_FROM_DATABASE=XE4500 Notebook
+
+pci:v000010B9d00005453*
+ ID_MODEL_FROM_DATABASE=M5453 PCI AC-Link Controller Modem Device
+
+pci:v000010B9d00005455*
+ ID_MODEL_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device
+
+pci:v000010B9d00005455sv000010B9sd00005455*
+ ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
+
+pci:v000010B9d00005455sv00001849sd00000850*
+ ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
+
+pci:v000010B9d00005457*
+ ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller
+
+pci:v000010B9d00005457sv00001014sd00000535*
+ ID_MODEL_FROM_DATABASE=ThinkPad R40e
+
+pci:v000010B9d00005457sv0000103Csd00000024*
+ ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Modem Device
+
+pci:v000010B9d00005457sv0000103Csd00000025*
+ ID_MODEL_FROM_DATABASE=XE4500 Notebook
+
+pci:v000010B9d00005459*
+ ID_MODEL_FROM_DATABASE=SmartLink SmartPCI561 56K Modem
+
+pci:v000010B9d0000545A*
+ ID_MODEL_FROM_DATABASE=SmartLink SmartPCI563 56K Modem
+
+pci:v000010B9d00005461*
+ ID_MODEL_FROM_DATABASE=HD Audio Controller
+
+pci:v000010B9d00005471*
+ ID_MODEL_FROM_DATABASE=M5471 Memory Stick Controller
+
+pci:v000010B9d00005473*
+ ID_MODEL_FROM_DATABASE=M5473 SD-MMC Controller
+
+pci:v000010B9d00007101*
+ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU]
+
+pci:v000010B9d00007101sv00001014sd00000510*
+ ID_MODEL_FROM_DATABASE=ThinkPad R30
+
+pci:v000010B9d00007101sv00001014sd0000053C*
+ ID_MODEL_FROM_DATABASE=ThinkPad R40e
+
+pci:v000010B9d00007101sv0000103Csd00000024*
+ ID_MODEL_FROM_DATABASE=Pavilion ze4400
+
+pci:v000010B9d00007101sv0000103Csd00000025*
+ ID_MODEL_FROM_DATABASE=XE4500 Notebook
+
+pci:v000010B9d00007101sv00001849sd00007101*
+ ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
+
+pci:v000010BA*
+ ID_VENDOR_FROM_DATABASE=Mitsubishi Electric Corp.
+
+pci:v000010BAd00000301*
+ ID_MODEL_FROM_DATABASE=AccelGraphics AccelECLIPSE
+
+pci:v000010BAd00000304*
+ ID_MODEL_FROM_DATABASE=AccelGALAXY A2100 [OEM Evans & Sutherland]
+
+pci:v000010BAd00000308*
+ ID_MODEL_FROM_DATABASE=Tornado 3000 [OEM Evans & Sutherland]
+
+pci:v000010BAd00000308sv000010DDsd00000024*
+ ID_MODEL_FROM_DATABASE=Tornado 3000
+
+pci:v000010BAd00001002*
+ ID_MODEL_FROM_DATABASE=VG500 [VolumePro Volume Rendering Accelerator]
+
+pci:v000010BB*
+ ID_VENDOR_FROM_DATABASE=Dapha Electronics Corporation
+
+pci:v000010BC*
+ ID_VENDOR_FROM_DATABASE=Advanced Logic Research
+
+pci:v000010BD*
+ ID_VENDOR_FROM_DATABASE=Surecom Technology
+
+pci:v000010BDd00000E34*
+ ID_MODEL_FROM_DATABASE=NE-34
+
+pci:v000010BE*
+ ID_VENDOR_FROM_DATABASE=Tseng Labs International Co.
+
+pci:v000010BF*
+ ID_VENDOR_FROM_DATABASE=Most Inc
+
+pci:v000010C0*
+ ID_VENDOR_FROM_DATABASE=Boca Research Inc.
+
+pci:v000010C1*
+ ID_VENDOR_FROM_DATABASE=ICM Co., Ltd.
+
+pci:v000010C2*
+ ID_VENDOR_FROM_DATABASE=Auspex Systems Inc.
+
+pci:v000010C3*
+ ID_VENDOR_FROM_DATABASE=Samsung Semiconductors, Inc.
+
+pci:v000010C4*
+ ID_VENDOR_FROM_DATABASE=Award Software International Inc.
+
+pci:v000010C5*
+ ID_VENDOR_FROM_DATABASE=Xerox Corporation
+
+pci:v000010C6*
+ ID_VENDOR_FROM_DATABASE=Rambus Inc.
+
+pci:v000010C7*
+ ID_VENDOR_FROM_DATABASE=Media Vision
+
+pci:v000010C8*
+ ID_VENDOR_FROM_DATABASE=Neomagic Corporation
+
+pci:v000010C8d00000001*
+ ID_MODEL_FROM_DATABASE=NM2070 [MagicGraph 128]
+
+pci:v000010C8d00000002*
+ ID_MODEL_FROM_DATABASE=NM2090 [MagicGraph 128V]
+
+pci:v000010C8d00000003*
+ ID_MODEL_FROM_DATABASE=NM2093 [MagicGraph 128ZV]
+
+pci:v000010C8d00000004*
+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD]
+
+pci:v000010C8d00000004sv00001014sd000000BA*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv00001025sd00001007*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv00001028sd00000074*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv00001028sd00000075*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv00001028sd0000007D*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv00001028sd0000007E*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv00001033sd0000802F*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv0000104Dsd0000801B*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv0000104Dsd0000802F*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv0000104Dsd0000830B*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv000010BAsd00000E00*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv000010C8sd00000004*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv000010CFsd00001029*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv000010F7sd00008308*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv000010F7sd00008309*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv000010F7sd0000830B*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv000010F7sd0000830D*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000004sv000010F7sd00008312*
+ ID_MODEL_FROM_DATABASE=MagicGraph 128XD
+
+pci:v000010C8d00000005*
+ ID_MODEL_FROM_DATABASE=NM2200 [MagicGraph 256AV]
+
+pci:v000010C8d00000005sv00001014sd000000DD*
+ ID_MODEL_FROM_DATABASE=ThinkPad 570
+
+pci:v000010C8d00000005sv00001028sd00000088*
+ ID_MODEL_FROM_DATABASE=Latitude CPi A
+
+pci:v000010C8d00000006*
+ ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX]
+
+pci:v000010C8d00000006sv00001014sd00000152*
+ ID_MODEL_FROM_DATABASE=ThinkPad 600X
+
+pci:v000010C8d00000016*
+ ID_MODEL_FROM_DATABASE=NM2380 [MagicMedia 256XL+]
+
+pci:v000010C8d00000016sv000010C8sd00000016*
+ ID_MODEL_FROM_DATABASE=MagicMedia 256XL+
+
+pci:v000010C8d00000025*
+ ID_MODEL_FROM_DATABASE=NM2230 [MagicGraph 256AV+]
+
+pci:v000010C8d00000083*
+ ID_MODEL_FROM_DATABASE=NM2093 [MagicGraph 128ZV+]
+
+pci:v000010C8d00008005*
+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio]
+
+pci:v000010C8d00008005sv00000E11sd0000B0D1*
+ ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Discovery
+
+pci:v000010C8d00008005sv00000E11sd0000B126*
+ ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Durango
+
+pci:v000010C8d00008005sv00001014sd000000DD*
+ ID_MODEL_FROM_DATABASE=ThinkPad 390/i1720/i1721
+
+pci:v000010C8d00008005sv00001025sd00001003*
+ ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on TravelMate 720
+
+pci:v000010C8d00008005sv00001028sd00000088*
+ ID_MODEL_FROM_DATABASE=Latitude CPi A
+
+pci:v000010C8d00008005sv00001028sd0000008F*
+ ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Colorado Inspiron
+
+pci:v000010C8d00008005sv0000103Csd00000007*
+ ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Voyager II
+
+pci:v000010C8d00008005sv0000103Csd00000008*
+ ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Voyager III
+
+pci:v000010C8d00008005sv0000103Csd0000000D*
+ ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Omnibook 900
+
+pci:v000010C8d00008005sv000010C8sd00008005*
+ ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on FireAnt
+
+pci:v000010C8d00008005sv0000110Asd00008005*
+ ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device
+
+pci:v000010C8d00008005sv000014C0sd00000004*
+ ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device
+
+pci:v000010C8d00008006*
+ ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX Audio]
+
+pci:v000010C8d00008016*
+ ID_MODEL_FROM_DATABASE=NM2380 [MagicMedia 256XL+ Audio]
+
+pci:v000010C9*
+ ID_VENDOR_FROM_DATABASE=Dataexpert Corporation
+
+pci:v000010CA*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Microelectr., Inc.
+
+pci:v000010CB*
+ ID_VENDOR_FROM_DATABASE=Omron Corporation
+
+pci:v000010CC*
+ ID_VENDOR_FROM_DATABASE=Mai Logic Incorporated
+
+pci:v000010CCd00000660*
+ ID_MODEL_FROM_DATABASE=Articia S Host Bridge
+
+pci:v000010CCd00000661*
+ ID_MODEL_FROM_DATABASE=Articia S PCI Bridge
+
+pci:v000010CD*
+ ID_VENDOR_FROM_DATABASE=Advanced System Products, Inc
+
+pci:v000010CDd00001100*
+ ID_MODEL_FROM_DATABASE=ASC1100
+
+pci:v000010CDd00001200*
+ ID_MODEL_FROM_DATABASE=ASC1200 [(abp940) Fast SCSI-II]
+
+pci:v000010CDd00001300*
+ ID_MODEL_FROM_DATABASE=ABP940-U / ABP960-U
+
+pci:v000010CDd00001300sv000010CDsd00001310*
+ ID_MODEL_FROM_DATABASE=ASC1300 SCSI Adapter
+
+pci:v000010CDd00001300sv00001195sd00001320*
+ ID_MODEL_FROM_DATABASE=Ultra-SCSI CardBus PC Card REX CB31
+
+pci:v000010CDd00002300*
+ ID_MODEL_FROM_DATABASE=ABP940-UW
+
+pci:v000010CDd00002500*
+ ID_MODEL_FROM_DATABASE=ABP940-U2W
+
+pci:v000010CDd00002700*
+ ID_MODEL_FROM_DATABASE=ABP3950-U3W
+
+pci:v000010CE*
+ ID_VENDOR_FROM_DATABASE=Radius
+
+pci:v000010CF*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Limited.
+
+pci:v000010CFd000001EF*
+ ID_MODEL_FROM_DATABASE=PCEA4 PCI-Express Dual Port ESCON Adapter
+
+pci:v000010CFd00001414*
+ ID_MODEL_FROM_DATABASE=On-board USB 1.1 companion controller
+
+pci:v000010CFd00001415*
+ ID_MODEL_FROM_DATABASE=On-board USB 2.0 EHCI controller
+
+pci:v000010CFd00001422*
+ ID_MODEL_FROM_DATABASE=E8410 nVidia graphics adapter
+
+pci:v000010CFd0000142D*
+ ID_MODEL_FROM_DATABASE=HD audio (Realtek ALC262)
+
+pci:v000010CFd00001430*
+ ID_MODEL_FROM_DATABASE=82566MM Intel 1Gb copper LAN interface
+
+pci:v000010CFd00001623*
+ ID_MODEL_FROM_DATABASE=PCEA4 PCI-Express Dual Port ESCON Adapter
+
+pci:v000010CFd00002001*
+ ID_MODEL_FROM_DATABASE=mb86605
+
+pci:v000010CFd0000200C*
+ ID_MODEL_FROM_DATABASE=MB86613L IEEE1394 OHCI 1.0 Controller
+
+pci:v000010CFd00002010*
+ ID_MODEL_FROM_DATABASE=MB86613S IEEE1394 OHCI 1.1 Controller
+
+pci:v000010CFd00002019*
+ ID_MODEL_FROM_DATABASE=MB86295S [CORAL P]
+
+pci:v000010CFd0000201E*
+ ID_MODEL_FROM_DATABASE=MB86296S [CORAL PA]
+
+pci:v000010CFd0000202B*
+ ID_MODEL_FROM_DATABASE=MB86297A [Carmine Graphics Controller]
+
+pci:v000010D1*
+ ID_VENDOR_FROM_DATABASE=FuturePlus Systems Corp.
+
+pci:v000010D2*
+ ID_VENDOR_FROM_DATABASE=Molex Incorporated
+
+pci:v000010D3*
+ ID_VENDOR_FROM_DATABASE=Jabil Circuit Inc
+
+pci:v000010D4*
+ ID_VENDOR_FROM_DATABASE=Hualon Microelectronics
+
+pci:v000010D5*
+ ID_VENDOR_FROM_DATABASE=Autologic Inc.
+
+pci:v000010D6*
+ ID_VENDOR_FROM_DATABASE=Cetia
+
+pci:v000010D7*
+ ID_VENDOR_FROM_DATABASE=BCM Advanced Research
+
+pci:v000010D8*
+ ID_VENDOR_FROM_DATABASE=Advanced Peripherals Labs
+
+pci:v000010D9*
+ ID_VENDOR_FROM_DATABASE=Macronix, Inc. [MXIC]
+
+pci:v000010D9d00000431*
+ ID_MODEL_FROM_DATABASE=MX98715
+
+pci:v000010D9d00000512*
+ ID_MODEL_FROM_DATABASE=MX98713
+
+pci:v000010D9d00000531*
+ ID_MODEL_FROM_DATABASE=MX987x5
+
+pci:v000010D9d00000531sv00001186sd00001200*
+ ID_MODEL_FROM_DATABASE=DFE-540TX ProFAST 10/100 Adapter
+
+pci:v000010D9d00008625*
+ ID_MODEL_FROM_DATABASE=MX86250
+
+pci:v000010D9d00008626*
+ ID_MODEL_FROM_DATABASE=Macronix MX86251 + 3Dfx Voodoo Rush
+
+pci:v000010D9d00008888*
+ ID_MODEL_FROM_DATABASE=MX86200
+
+pci:v000010DA*
+ ID_VENDOR_FROM_DATABASE=Compaq IPG-Austin
+
+pci:v000010DAd00000508*
+ ID_MODEL_FROM_DATABASE=TC4048 Token Ring 4/16
+
+pci:v000010DAd00003390*
+ ID_MODEL_FROM_DATABASE=Tl3c3x9
+
+pci:v000010DB*
+ ID_VENDOR_FROM_DATABASE=Rohm LSI Systems, Inc.
+
+pci:v000010DC*
+ ID_VENDOR_FROM_DATABASE=CERN/ECP/EDU
+
+pci:v000010DCd00000001*
+ ID_MODEL_FROM_DATABASE=STAR/RD24 SCI-PCI (PMC)
+
+pci:v000010DCd00000002*
+ ID_MODEL_FROM_DATABASE=TAR/RD24 SCI-PCI (PMC)
+
+pci:v000010DCd00000021*
+ ID_MODEL_FROM_DATABASE=HIPPI destination
+
+pci:v000010DCd00000022*
+ ID_MODEL_FROM_DATABASE=HIPPI source
+
+pci:v000010DCd000010DC*
+ ID_MODEL_FROM_DATABASE=ATT2C15-3 FPGA
+
+pci:v000010DD*
+ ID_VENDOR_FROM_DATABASE=Evans & Sutherland
+
+pci:v000010DDd00000100*
+ ID_MODEL_FROM_DATABASE=Lightning 1200
+
+pci:v000010DDd00000100sv000010DDsd00000023*
+ ID_MODEL_FROM_DATABASE=Lightning 1200 15+16M
+
+pci:v000010DE*
+ ID_VENDOR_FROM_DATABASE=NVIDIA Corporation
+
+pci:v000010DEd00000008*
+ ID_MODEL_FROM_DATABASE=NV1 [EDGE 3D]
+
+pci:v000010DEd00000009*
+ ID_MODEL_FROM_DATABASE=NV1 [EDGE 3D]
+
+pci:v000010DEd00000020*
+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT]
+
+pci:v000010DEd00000020sv00001043sd00000200*
+ ID_MODEL_FROM_DATABASE=V3400 TNT
+
+pci:v000010DEd00000020sv00001048sd00000C18*
+ ID_MODEL_FROM_DATABASE=Erazor II SGRAM
+
+pci:v000010DEd00000020sv00001048sd00000C19*
+ ID_MODEL_FROM_DATABASE=Erazor II
+
+pci:v000010DEd00000020sv00001048sd00000C1B*
+ ID_MODEL_FROM_DATABASE=Erazor II
+
+pci:v000010DEd00000020sv00001048sd00000C1C*
+ ID_MODEL_FROM_DATABASE=Erazor II
+
+pci:v000010DEd00000020sv00001092sd00000550*
+ ID_MODEL_FROM_DATABASE=Viper V550
+
+pci:v000010DEd00000020sv00001092sd00000552*
+ ID_MODEL_FROM_DATABASE=Viper V550
+
+pci:v000010DEd00000020sv00001092sd00004804*
+ ID_MODEL_FROM_DATABASE=Viper V550
+
+pci:v000010DEd00000020sv00001092sd00004808*
+ ID_MODEL_FROM_DATABASE=Viper V550
+
+pci:v000010DEd00000020sv00001092sd00004810*
+ ID_MODEL_FROM_DATABASE=Viper V550
+
+pci:v000010DEd00000020sv00001092sd00004812*
+ ID_MODEL_FROM_DATABASE=Viper V550
+
+pci:v000010DEd00000020sv00001092sd00004815*
+ ID_MODEL_FROM_DATABASE=Viper V550
+
+pci:v000010DEd00000020sv00001092sd00004820*
+ ID_MODEL_FROM_DATABASE=Viper V550 with TV out
+
+pci:v000010DEd00000020sv00001092sd00004822*
+ ID_MODEL_FROM_DATABASE=Viper V550
+
+pci:v000010DEd00000020sv00001092sd00004904*
+ ID_MODEL_FROM_DATABASE=Viper V550
+
+pci:v000010DEd00000020sv00001092sd00004914*
+ ID_MODEL_FROM_DATABASE=Viper V550
+
+pci:v000010DEd00000020sv00001092sd00008225*
+ ID_MODEL_FROM_DATABASE=Viper V550
+
+pci:v000010DEd00000020sv000010B4sd0000273D*
+ ID_MODEL_FROM_DATABASE=Velocity 4400
+
+pci:v000010DEd00000020sv000010B4sd0000273E*
+ ID_MODEL_FROM_DATABASE=Velocity 4400
+
+pci:v000010DEd00000020sv000010B4sd00002740*
+ ID_MODEL_FROM_DATABASE=Velocity 4400
+
+pci:v000010DEd00000020sv000010DEsd00000020*
+ ID_MODEL_FROM_DATABASE=Riva TNT
+
+pci:v000010DEd00000020sv00001102sd00001015*
+ ID_MODEL_FROM_DATABASE=Graphics Blaster CT6710
+
+pci:v000010DEd00000020sv00001102sd00001016*
+ ID_MODEL_FROM_DATABASE=Graphics Blaster RIVA TNT
+
+pci:v000010DEd00000028*
+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro]
+
+pci:v000010DEd00000028sv00001043sd00000200*
+ ID_MODEL_FROM_DATABASE=AGP-V3800 SGRAM
+
+pci:v000010DEd00000028sv00001043sd00000201*
+ ID_MODEL_FROM_DATABASE=AGP-V3800 SDRAM
+
+pci:v000010DEd00000028sv00001043sd00000205*
+ ID_MODEL_FROM_DATABASE=PCI-V3800
+
+pci:v000010DEd00000028sv00001043sd00004000*
+ ID_MODEL_FROM_DATABASE=AGP-V3800PRO
+
+pci:v000010DEd00000028sv00001048sd00000C21*
+ ID_MODEL_FROM_DATABASE=Synergy II
+
+pci:v000010DEd00000028sv00001048sd00000C28*
+ ID_MODEL_FROM_DATABASE=Erazor III
+
+pci:v000010DEd00000028sv00001048sd00000C29*
+ ID_MODEL_FROM_DATABASE=Erazor III
+
+pci:v000010DEd00000028sv00001048sd00000C2A*
+ ID_MODEL_FROM_DATABASE=Erazor III
+
+pci:v000010DEd00000028sv00001048sd00000C2B*
+ ID_MODEL_FROM_DATABASE=Erazor III
+
+pci:v000010DEd00000028sv00001048sd00000C31*
+ ID_MODEL_FROM_DATABASE=Erazor III Pro
+
+pci:v000010DEd00000028sv00001048sd00000C32*
+ ID_MODEL_FROM_DATABASE=Erazor III Pro
+
+pci:v000010DEd00000028sv00001048sd00000C33*
+ ID_MODEL_FROM_DATABASE=Erazor III Pro
+
+pci:v000010DEd00000028sv00001048sd00000C34*
+ ID_MODEL_FROM_DATABASE=Erazor III Pro
+
+pci:v000010DEd00000028sv0000107Dsd00002134*
+ ID_MODEL_FROM_DATABASE=WinFast 3D S320 II + TV-Out
+
+pci:v000010DEd00000028sv00001092sd00004804*
+ ID_MODEL_FROM_DATABASE=Viper V770
+
+pci:v000010DEd00000028sv00001092sd00004A00*
+ ID_MODEL_FROM_DATABASE=Viper V770
+
+pci:v000010DEd00000028sv00001092sd00004A02*
+ ID_MODEL_FROM_DATABASE=Viper V770 Ultra
+
+pci:v000010DEd00000028sv00001092sd00005A00*
+ ID_MODEL_FROM_DATABASE=RIVA TNT2/TNT2 Pro
+
+pci:v000010DEd00000028sv00001092sd00005A40*
+ ID_MODEL_FROM_DATABASE=Viper V770D AGP
+
+pci:v000010DEd00000028sv00001092sd00006A02*
+ ID_MODEL_FROM_DATABASE=Viper V770 Ultra
+
+pci:v000010DEd00000028sv00001092sd00007A02*
+ ID_MODEL_FROM_DATABASE=Viper V770 Ultra
+
+pci:v000010DEd00000028sv000010DEsd00000005*
+ ID_MODEL_FROM_DATABASE=RIVA TNT2 Pro
+
+pci:v000010DEd00000028sv000010DEsd0000000F*
+ ID_MODEL_FROM_DATABASE=Compaq NVIDIA TNT2 Pro
+
+pci:v000010DEd00000028sv00001102sd00001020*
+ ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2
+
+pci:v000010DEd00000028sv00001102sd00001026*
+ ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Digital
+
+pci:v000010DEd00000028sv00001462sd00008806*
+ ID_MODEL_FROM_DATABASE=MS-8806 AGPhantom Graphics Card
+
+pci:v000010DEd00000028sv000014AFsd00005810*
+ ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor
+
+pci:v000010DEd00000029*
+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra]
+
+pci:v000010DEd00000029sv00001043sd00000200*
+ ID_MODEL_FROM_DATABASE=AGP-V3800 Deluxe
+
+pci:v000010DEd00000029sv00001043sd00000201*
+ ID_MODEL_FROM_DATABASE=AGP-V3800 Ultra SDRAM
+
+pci:v000010DEd00000029sv00001043sd00000205*
+ ID_MODEL_FROM_DATABASE=PCI-V3800 Ultra
+
+pci:v000010DEd00000029sv00001048sd00000C2E*
+ ID_MODEL_FROM_DATABASE=Erazor III Ultra
+
+pci:v000010DEd00000029sv00001048sd00000C2F*
+ ID_MODEL_FROM_DATABASE=Erazor III Ultra
+
+pci:v000010DEd00000029sv00001048sd00000C30*
+ ID_MODEL_FROM_DATABASE=Erazor III Ultra
+
+pci:v000010DEd00000029sv00001102sd00001021*
+ ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra
+
+pci:v000010DEd00000029sv00001102sd00001029*
+ ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra
+
+pci:v000010DEd00000029sv00001102sd0000102F*
+ ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra
+
+pci:v000010DEd00000029sv000014AFsd00005820*
+ ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor 32
+
+pci:v000010DEd00000029sv00004843sd00004F34*
+ ID_MODEL_FROM_DATABASE=Dynamite
+
+pci:v000010DEd0000002A*
+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2]
+
+pci:v000010DEd0000002B*
+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2]
+
+pci:v000010DEd0000002C*
+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT]
+
+pci:v000010DEd0000002Csv00001043sd00000200*
+ ID_MODEL_FROM_DATABASE=AGP-V3800 Combat SDRAM
+
+pci:v000010DEd0000002Csv00001043sd00000201*
+ ID_MODEL_FROM_DATABASE=AGP-V3800 Combat
+
+pci:v000010DEd0000002Csv00001048sd00000C20*
+ ID_MODEL_FROM_DATABASE=TNT2 Vanta
+
+pci:v000010DEd0000002Csv00001048sd00000C21*
+ ID_MODEL_FROM_DATABASE=TNT2 Vanta
+
+pci:v000010DEd0000002Csv00001048sd00000C25*
+ ID_MODEL_FROM_DATABASE=TNT2 Vanta 16MB
+
+pci:v000010DEd0000002Csv00001092sd00006820*
+ ID_MODEL_FROM_DATABASE=Viper V730
+
+pci:v000010DEd0000002Csv00001102sd00001031*
+ ID_MODEL_FROM_DATABASE=CT6938 VANTA 8MB
+
+pci:v000010DEd0000002Csv00001102sd00001034*
+ ID_MODEL_FROM_DATABASE=CT6894 VANTA 16MB
+
+pci:v000010DEd0000002Csv000014AFsd00005008*
+ ID_MODEL_FROM_DATABASE=Maxi Gamer Phoenix 2
+
+pci:v000010DEd0000002D*
+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro]
+
+pci:v000010DEd0000002Dsv00001043sd00000200*
+ ID_MODEL_FROM_DATABASE=AGP-V3800M
+
+pci:v000010DEd0000002Dsv00001043sd00000201*
+ ID_MODEL_FROM_DATABASE=AGP-V3800M
+
+pci:v000010DEd0000002Dsv00001048sd00000C3A*
+ ID_MODEL_FROM_DATABASE=Erazor III LT
+
+pci:v000010DEd0000002Dsv00001048sd00000C3B*
+ ID_MODEL_FROM_DATABASE=Erazor III LT
+
+pci:v000010DEd0000002Dsv0000107Dsd00002137*
+ ID_MODEL_FROM_DATABASE=WinFast 3D S325
+
+pci:v000010DEd0000002Dsv000010DEsd00000006*
+ ID_MODEL_FROM_DATABASE=RIVA TNT2 Model 64/Model 64 Pro
+
+pci:v000010DEd0000002Dsv000010DEsd0000001E*
+ ID_MODEL_FROM_DATABASE=M64 AGP4x
+
+pci:v000010DEd0000002Dsv00001102sd00001023*
+ ID_MODEL_FROM_DATABASE=CT6892 RIVA TNT2 Value
+
+pci:v000010DEd0000002Dsv00001102sd00001024*
+ ID_MODEL_FROM_DATABASE=CT6932 RIVA TNT2 Value 32Mb
+
+pci:v000010DEd0000002Dsv00001102sd0000102C*
+ ID_MODEL_FROM_DATABASE=CT6931 RIVA TNT2 Value [Jumper]
+
+pci:v000010DEd0000002Dsv00001102sd00001030*
+ ID_MODEL_FROM_DATABASE=CT6931 RIVA TNT2 Value
+
+pci:v000010DEd0000002Dsv0000110Asd0000006F*
+ ID_MODEL_FROM_DATABASE=GM1000-16
+
+pci:v000010DEd0000002Dsv0000110Asd00000081*
+ ID_MODEL_FROM_DATABASE=GM1000-16
+
+pci:v000010DEd0000002Dsv00001462sd00008808*
+ ID_MODEL_FROM_DATABASE=MSI-8808
+
+pci:v000010DEd0000002Dsv000014AFsd00005620*
+ ID_MODEL_FROM_DATABASE=Gamer Cougar Video Edition
+
+pci:v000010DEd0000002Dsv00001554sd00001041*
+ ID_MODEL_FROM_DATABASE=Pixelview RIVA TNT2 M64
+
+pci:v000010DEd0000002Dsv00001569sd0000002D*
+ ID_MODEL_FROM_DATABASE=Palit Microsystems Daytona TNT2 M64
+
+pci:v000010DEd00000034*
+ ID_MODEL_FROM_DATABASE=MCP04 SMBus
+
+pci:v000010DEd00000035*
+ ID_MODEL_FROM_DATABASE=MCP04 IDE
+
+pci:v000010DEd00000036*
+ ID_MODEL_FROM_DATABASE=MCP04 Serial ATA Controller
+
+pci:v000010DEd00000037*
+ ID_MODEL_FROM_DATABASE=MCP04 Ethernet Controller
+
+pci:v000010DEd00000038*
+ ID_MODEL_FROM_DATABASE=MCP04 Ethernet Controller
+
+pci:v000010DEd0000003A*
+ ID_MODEL_FROM_DATABASE=MCP04 AC'97 Audio Controller
+
+pci:v000010DEd0000003B*
+ ID_MODEL_FROM_DATABASE=MCP04 USB Controller
+
+pci:v000010DEd0000003C*
+ ID_MODEL_FROM_DATABASE=MCP04 USB Controller
+
+pci:v000010DEd0000003D*
+ ID_MODEL_FROM_DATABASE=MCP04 PCI Bridge
+
+pci:v000010DEd0000003E*
+ ID_MODEL_FROM_DATABASE=MCP04 Serial ATA Controller
+
+pci:v000010DEd00000040*
+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 Ultra]
+
+pci:v000010DEd00000041*
+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800]
+
+pci:v000010DEd00000041sv00001043sd0000817B*
+ ID_MODEL_FROM_DATABASE=V9999 Gamer Edition
+
+pci:v000010DEd00000041sv0000107Dsd00002992*
+ ID_MODEL_FROM_DATABASE=WinFast A400
+
+pci:v000010DEd00000041sv00001458sd0000310F*
+ ID_MODEL_FROM_DATABASE=Geforce 6800 GV-N6812
+
+pci:v000010DEd00000042*
+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 LE]
+
+pci:v000010DEd00000042sv0000107Dsd0000299B*
+ ID_MODEL_FROM_DATABASE=WinFast A400 LE
+
+pci:v000010DEd00000043*
+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 XE]
+
+pci:v000010DEd00000044*
+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 XT]
+
+pci:v000010DEd00000045*
+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT]
+
+pci:v000010DEd00000045sv00001458sd00003140*
+ ID_MODEL_FROM_DATABASE=GV-N68T256D
+
+pci:v000010DEd00000047*
+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GS]
+
+pci:v000010DEd00000047sv00001682sd00002109*
+ ID_MODEL_FROM_DATABASE=GeForce 6800 GS
+
+pci:v000010DEd00000048*
+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 XT]
+
+pci:v000010DEd0000004E*
+ ID_MODEL_FROM_DATABASE=NV40GL [Quadro FX 4000]
+
+pci:v000010DEd00000050*
+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge
+
+pci:v000010DEd00000050sv00001043sd0000815A*
+ ID_MODEL_FROM_DATABASE=K8N4-E or A8N-E Mainboard
+
+pci:v000010DEd00000050sv000010F1sd00002865*
+ ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865)
+
+pci:v000010DEd00000050sv00001458sd00000C11*
+ ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
+
+pci:v000010DEd00000050sv00001462sd00007100*
+ ID_MODEL_FROM_DATABASE=MSI K8N Diamond
+
+pci:v000010DEd00000050sv00001462sd00007125*
+ ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard
+
+pci:v000010DEd00000050sv0000147Bsd00001C1A*
+ ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard
+
+pci:v000010DEd00000050sv00001565sd00003402*
+ ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard
+
+pci:v000010DEd00000051*
+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge
+
+pci:v000010DEd00000051sv00001028sd00000225*
+ ID_MODEL_FROM_DATABASE=PowerEdge T105 ISA Bridge
+
+pci:v000010DEd00000052*
+ ID_MODEL_FROM_DATABASE=CK804 SMBus
+
+pci:v000010DEd00000052sv00001028sd00000225*
+ ID_MODEL_FROM_DATABASE=PowerEdge T105 SMBus
+
+pci:v000010DEd00000052sv00001043sd0000815A*
+ ID_MODEL_FROM_DATABASE=K8N4-E or A8N-E Mainboard
+
+pci:v000010DEd00000052sv000010F1sd00002865*
+ ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865)
+
+pci:v000010DEd00000052sv00001458sd00000C11*
+ ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
+
+pci:v000010DEd00000052sv00001462sd00007100*
+ ID_MODEL_FROM_DATABASE=MSI K8N Diamond
+
+pci:v000010DEd00000052sv00001462sd00007125*
+ ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard
+
+pci:v000010DEd00000052sv0000147Bsd00001C1A*
+ ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard
+
+pci:v000010DEd00000052sv00001565sd00003402*
+ ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard
+
+pci:v000010DEd00000053*
+ ID_MODEL_FROM_DATABASE=CK804 IDE
+
+pci:v000010DEd00000053sv00001043sd0000815A*
+ ID_MODEL_FROM_DATABASE=K8N4-E or A8N-E Mainboard
+
+pci:v000010DEd00000053sv000010F1sd00002865*
+ ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865)
+
+pci:v000010DEd00000053sv00001458sd00005002*
+ ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
+
+pci:v000010DEd00000053sv00001462sd00007100*
+ ID_MODEL_FROM_DATABASE=MSI K8N Diamond
+
+pci:v000010DEd00000053sv00001462sd00007125*
+ ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard
+
+pci:v000010DEd00000053sv0000147Bsd00001C1A*
+ ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard
+
+pci:v000010DEd00000053sv00001565sd00003402*
+ ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard
+
+pci:v000010DEd00000054*
+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller
+
+pci:v000010DEd00000054sv00001028sd00000225*
+ ID_MODEL_FROM_DATABASE=PowerEdge T105 Serial ATA
+
+pci:v000010DEd00000054sv00001043sd0000815A*
+ ID_MODEL_FROM_DATABASE=A8N-E Mainboard
+
+pci:v000010DEd00000054sv000010F1sd00002865*
+ ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865)
+
+pci:v000010DEd00000054sv00001458sd0000B003*
+ ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
+
+pci:v000010DEd00000054sv00001462sd00007100*
+ ID_MODEL_FROM_DATABASE=MSI K8N Diamond
+
+pci:v000010DEd00000054sv00001462sd00007125*
+ ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard
+
+pci:v000010DEd00000054sv0000147Bsd00001C1A*
+ ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard
+
+pci:v000010DEd00000054sv00001565sd00005401*
+ ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard
+
+pci:v000010DEd00000055*
+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller
+
+pci:v000010DEd00000055sv00001028sd00000225*
+ ID_MODEL_FROM_DATABASE=PowerEdge T105 Serial ATA
+
+pci:v000010DEd00000055sv00001043sd0000815A*
+ ID_MODEL_FROM_DATABASE=K8N4-E or A8N-E Mainboard
+
+pci:v000010DEd00000055sv000010F1sd00002865*
+ ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865)
+
+pci:v000010DEd00000055sv00001458sd0000B003*
+ ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
+
+pci:v000010DEd00000055sv00001462sd00007125*
+ ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard
+
+pci:v000010DEd00000055sv0000147Bsd00001C1A*
+ ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard
+
+pci:v000010DEd00000055sv00001565sd00005401*
+ ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard
+
+pci:v000010DEd00000056*
+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller
+
+pci:v000010DEd00000057*
+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller
+
+pci:v000010DEd00000057sv00001043sd00008141*
+ ID_MODEL_FROM_DATABASE=K8N4-E or A8N-E Mainboard
+
+pci:v000010DEd00000057sv000010DEsd0000CB84*
+ ID_MODEL_FROM_DATABASE=NF4 Lanparty
+
+pci:v000010DEd00000057sv000010F1sd00002865*
+ ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865)
+
+pci:v000010DEd00000057sv00001458sd0000E000*
+ ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
+
+pci:v000010DEd00000057sv00001462sd00007100*
+ ID_MODEL_FROM_DATABASE=MSI K8N Diamond
+
+pci:v000010DEd00000057sv00001462sd00007125*
+ ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard
+
+pci:v000010DEd00000057sv0000147Bsd00001C1A*
+ ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard
+
+pci:v000010DEd00000057sv00001565sd00002501*
+ ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard
+
+pci:v000010DEd00000058*
+ ID_MODEL_FROM_DATABASE=CK804 AC'97 Modem
+
+pci:v000010DEd00000059*
+ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller
+
+pci:v000010DEd00000059sv00001043sd0000812A*
+ ID_MODEL_FROM_DATABASE=K8N4-E or A8N-E Mainboard
+
+pci:v000010DEd00000059sv000010F1sd00002865*
+ ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865)
+
+pci:v000010DEd00000059sv00001462sd00007585*
+ ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard
+
+pci:v000010DEd00000059sv0000147Bsd00001C1A*
+ ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard
+
+pci:v000010DEd00000059sv00001565sd00008211*
+ ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard
+
+pci:v000010DEd0000005A*
+ ID_MODEL_FROM_DATABASE=CK804 USB Controller
+
+pci:v000010DEd0000005Asv00001028sd00000225*
+ ID_MODEL_FROM_DATABASE=PowerEdge T105 onboard USB
+
+pci:v000010DEd0000005Asv00001043sd0000815A*
+ ID_MODEL_FROM_DATABASE=K8N4-E or A8N-E Mainboard
+
+pci:v000010DEd0000005Asv000010F1sd00002865*
+ ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865)
+
+pci:v000010DEd0000005Asv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
+
+pci:v000010DEd0000005Asv00001462sd00007100*
+ ID_MODEL_FROM_DATABASE=MSI K8N Diamond
+
+pci:v000010DEd0000005Asv00001462sd00007125*
+ ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard
+
+pci:v000010DEd0000005Asv0000147Bsd00001C1A*
+ ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard
+
+pci:v000010DEd0000005Asv00001565sd00003402*
+ ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard
+
+pci:v000010DEd0000005B*
+ ID_MODEL_FROM_DATABASE=CK804 USB Controller
+
+pci:v000010DEd0000005Bsv00001028sd00000225*
+ ID_MODEL_FROM_DATABASE=PowerEdge T105 onboard USB
+
+pci:v000010DEd0000005Bsv00001043sd0000815A*
+ ID_MODEL_FROM_DATABASE=K8N4-E or A8N-E Mainboard
+
+pci:v000010DEd0000005Bsv000010F1sd00002865*
+ ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865)
+
+pci:v000010DEd0000005Bsv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
+
+pci:v000010DEd0000005Bsv00001462sd00007100*
+ ID_MODEL_FROM_DATABASE=MSI K8N Diamond
+
+pci:v000010DEd0000005Bsv00001462sd00007125*
+ ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard
+
+pci:v000010DEd0000005Bsv0000147Bsd00001C1A*
+ ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard
+
+pci:v000010DEd0000005Bsv00001565sd00003402*
+ ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard
+
+pci:v000010DEd0000005C*
+ ID_MODEL_FROM_DATABASE=CK804 PCI Bridge
+
+pci:v000010DEd0000005D*
+ ID_MODEL_FROM_DATABASE=CK804 PCIE Bridge
+
+pci:v000010DEd0000005E*
+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller
+
+pci:v000010DEd0000005Esv00001028sd00000225*
+ ID_MODEL_FROM_DATABASE=PowerEdge T105 Memory Controller
+
+pci:v000010DEd0000005Esv00001043sd0000815A*
+ ID_MODEL_FROM_DATABASE=A8N-E Mainboard
+
+pci:v000010DEd0000005Esv000010DEsd0000005E*
+ ID_MODEL_FROM_DATABASE=ECS Elitegroup NFORCE3-A939 motherboard.
+
+pci:v000010DEd0000005Esv000010F1sd00002865*
+ ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865)
+
+pci:v000010DEd0000005Esv000010F1sd00002891*
+ ID_MODEL_FROM_DATABASE=Thunder K8SRE Mainboard
+
+pci:v000010DEd0000005Esv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
+
+pci:v000010DEd0000005Esv00001462sd00007100*
+ ID_MODEL_FROM_DATABASE=K8N Diamond Mainboard
+
+pci:v000010DEd0000005Esv00001462sd00007125*
+ ID_MODEL_FROM_DATABASE=K8N Neo4-F Mainboard
+
+pci:v000010DEd0000005Esv0000147Bsd00001C1A*
+ ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard
+
+pci:v000010DEd0000005Esv00001565sd00003402*
+ ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard
+
+pci:v000010DEd0000005F*
+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller
+
+pci:v000010DEd00000060*
+ ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge
+
+pci:v000010DEd00000060sv00001043sd000080AD*
+ ID_MODEL_FROM_DATABASE=A7N8X Mainboard
+
+pci:v000010DEd00000060sv0000147Bsd00001C02*
+ ID_MODEL_FROM_DATABASE=NF7-S/NF7 (nVidia-nForce2) 2.X
+
+pci:v000010DEd00000060sv0000A0A0sd000003BA*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd00000064*
+ ID_MODEL_FROM_DATABASE=nForce2 SMBus (MCP)
+
+pci:v000010DEd00000064sv0000147Bsd00001C02*
+ ID_MODEL_FROM_DATABASE=NF7-S/NF7 (nVidia-nForce2) 2.X
+
+pci:v000010DEd00000064sv0000A0A0sd000003BB*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd00000065*
+ ID_MODEL_FROM_DATABASE=nForce2 IDE
+
+pci:v000010DEd00000065sv000010DEsd00000C11*
+ ID_MODEL_FROM_DATABASE=nForce 2 EIDE Controller
+
+pci:v000010DEd00000065sv0000A0A0sd000003B2*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd00000066*
+ ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller
+
+pci:v000010DEd00000066sv00001043sd000080A7*
+ ID_MODEL_FROM_DATABASE=A7N8X Mainboard onboard nForce2 Ethernet
+
+pci:v000010DEd00000066sv000010DEsd00000C11*
+ ID_MODEL_FROM_DATABASE=nForce MCP-T Networking Adapter
+
+pci:v000010DEd00000066sv0000A0A0sd000003B3*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd00000067*
+ ID_MODEL_FROM_DATABASE=nForce2 USB Controller
+
+pci:v000010DEd00000067sv00001043sd00000C11*
+ ID_MODEL_FROM_DATABASE=A7N8X Mainboard
+
+pci:v000010DEd00000067sv0000A0A0sd000003B4*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd00000068*
+ ID_MODEL_FROM_DATABASE=nForce2 USB Controller
+
+pci:v000010DEd00000068sv00001043sd00000C11*
+ ID_MODEL_FROM_DATABASE=A7N8X Mainboard
+
+pci:v000010DEd00000068sv0000A0A0sd000003B4*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd0000006A*
+ ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP)
+
+pci:v000010DEd0000006Asv00001043sd00008095*
+ ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP)
+
+pci:v000010DEd0000006Asv0000A0A0sd00000304*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd0000006B*
+ ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit
+
+pci:v000010DEd0000006Bsv000010DEsd0000006B*
+ ID_MODEL_FROM_DATABASE=nForce2 MCP Audio Processing Unit
+
+pci:v000010DEd0000006Bsv0000A0A0sd00000304*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd0000006C*
+ ID_MODEL_FROM_DATABASE=nForce2 External PCI Bridge
+
+pci:v000010DEd0000006D*
+ ID_MODEL_FROM_DATABASE=nForce2 PCI Bridge
+
+pci:v000010DEd0000006E*
+ ID_MODEL_FROM_DATABASE=nForce2 FireWire (IEEE 1394) Controller
+
+pci:v000010DEd0000006Esv0000A0A0sd00000306*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd00000080*
+ ID_MODEL_FROM_DATABASE=MCP2A ISA bridge
+
+pci:v000010DEd00000080sv0000147Bsd00001C09*
+ ID_MODEL_FROM_DATABASE=NV7 Motherboard
+
+pci:v000010DEd00000084*
+ ID_MODEL_FROM_DATABASE=MCP2A SMBus
+
+pci:v000010DEd00000084sv0000147Bsd00001C09*
+ ID_MODEL_FROM_DATABASE=NV7 Motherboard
+
+pci:v000010DEd00000085*
+ ID_MODEL_FROM_DATABASE=MCP2A IDE
+
+pci:v000010DEd00000085sv0000147Bsd00001C09*
+ ID_MODEL_FROM_DATABASE=NV7 Motherboard
+
+pci:v000010DEd00000086*
+ ID_MODEL_FROM_DATABASE=MCP2A Ethernet Controller
+
+pci:v000010DEd00000087*
+ ID_MODEL_FROM_DATABASE=MCP2A USB Controller
+
+pci:v000010DEd00000087sv0000147Bsd00001C09*
+ ID_MODEL_FROM_DATABASE=NV7 Motherboard
+
+pci:v000010DEd00000088*
+ ID_MODEL_FROM_DATABASE=MCP2A USB Controller
+
+pci:v000010DEd00000088sv0000147Bsd00001C09*
+ ID_MODEL_FROM_DATABASE=NV7 Motherboard
+
+pci:v000010DEd0000008A*
+ ID_MODEL_FROM_DATABASE=MCP2S AC'97 Audio Controller
+
+pci:v000010DEd0000008Asv0000147Bsd00001C09*
+ ID_MODEL_FROM_DATABASE=NV7 Motherboard
+
+pci:v000010DEd0000008B*
+ ID_MODEL_FROM_DATABASE=MCP2A PCI Bridge
+
+pci:v000010DEd0000008C*
+ ID_MODEL_FROM_DATABASE=MCP2A Ethernet Controller
+
+pci:v000010DEd0000008E*
+ ID_MODEL_FROM_DATABASE=nForce2 Serial ATA Controller
+
+pci:v000010DEd00000090*
+ ID_MODEL_FROM_DATABASE=G70 [GeForce 7800 GTX]
+
+pci:v000010DEd00000091*
+ ID_MODEL_FROM_DATABASE=G70 [GeForce 7800 GTX]
+
+pci:v000010DEd00000092*
+ ID_MODEL_FROM_DATABASE=G70 [GeForce 7800 GT]
+
+pci:v000010DEd00000093*
+ ID_MODEL_FROM_DATABASE=G70 [GeForce 7800 GS]
+
+pci:v000010DEd00000095*
+ ID_MODEL_FROM_DATABASE=G70 [GeForce 7800 SLI]
+
+pci:v000010DEd00000097*
+ ID_MODEL_FROM_DATABASE=G70 [GeForce GTS 250]
+
+pci:v000010DEd00000098*
+ ID_MODEL_FROM_DATABASE=G70M [GeForce Go 7800]
+
+pci:v000010DEd00000099*
+ ID_MODEL_FROM_DATABASE=G70M [GeForce Go 7800 GTX]
+
+pci:v000010DEd0000009D*
+ ID_MODEL_FROM_DATABASE=G70GL [Quadro FX 4500]
+
+pci:v000010DEd000000A0*
+ ID_MODEL_FROM_DATABASE=NV5 [Aladdin TNT2]
+
+pci:v000010DEd000000A0sv000014AFsd00005810*
+ ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor
+
+pci:v000010DEd000000C0*
+ ID_MODEL_FROM_DATABASE=NV41 [GeForce 6800 GS]
+
+pci:v000010DEd000000C1*
+ ID_MODEL_FROM_DATABASE=NV41 [GeForce 6800]
+
+pci:v000010DEd000000C2*
+ ID_MODEL_FROM_DATABASE=NV41 [GeForce 6800 LE]
+
+pci:v000010DEd000000C3*
+ ID_MODEL_FROM_DATABASE=NV41 [GeForce 6800 XT]
+
+pci:v000010DEd000000C5*
+ ID_MODEL_FROM_DATABASE=NV41
+
+pci:v000010DEd000000C6*
+ ID_MODEL_FROM_DATABASE=NV41
+
+pci:v000010DEd000000C7*
+ ID_MODEL_FROM_DATABASE=NV41
+
+pci:v000010DEd000000C8*
+ ID_MODEL_FROM_DATABASE=NV41M [GeForce Go 6800]
+
+pci:v000010DEd000000C9*
+ ID_MODEL_FROM_DATABASE=NV41M [GeForce Go 6800 Ultra]
+
+pci:v000010DEd000000CC*
+ ID_MODEL_FROM_DATABASE=NV41GLM [Quadro FX Go1400]
+
+pci:v000010DEd000000CD*
+ ID_MODEL_FROM_DATABASE=NV41GL [Quadro FX 3450/4000 SDI]
+
+pci:v000010DEd000000CDsv000010DEsd0000029B*
+ ID_MODEL_FROM_DATABASE=wx4300 Workstation
+
+pci:v000010DEd000000CE*
+ ID_MODEL_FROM_DATABASE=NV41GL [Quadro FX 1400]
+
+pci:v000010DEd000000CF*
+ ID_MODEL_FROM_DATABASE=NV41
+
+pci:v000010DEd000000D0*
+ ID_MODEL_FROM_DATABASE=nForce3 LPC Bridge
+
+pci:v000010DEd000000D1*
+ ID_MODEL_FROM_DATABASE=nForce3 Host Bridge
+
+pci:v000010DEd000000D2*
+ ID_MODEL_FROM_DATABASE=nForce3 AGP Bridge
+
+pci:v000010DEd000000D3*
+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller
+
+pci:v000010DEd000000D4*
+ ID_MODEL_FROM_DATABASE=nForce3 SMBus
+
+pci:v000010DEd000000D5*
+ ID_MODEL_FROM_DATABASE=nForce3 IDE
+
+pci:v000010DEd000000D6*
+ ID_MODEL_FROM_DATABASE=nForce3 Ethernet
+
+pci:v000010DEd000000D7*
+ ID_MODEL_FROM_DATABASE=nForce3 USB 1.1
+
+pci:v000010DEd000000D8*
+ ID_MODEL_FROM_DATABASE=nForce3 USB 2.0
+
+pci:v000010DEd000000D9*
+ ID_MODEL_FROM_DATABASE=nForce3 Audio
+
+pci:v000010DEd000000DA*
+ ID_MODEL_FROM_DATABASE=nForce3 Audio
+
+pci:v000010DEd000000DD*
+ ID_MODEL_FROM_DATABASE=nForce3 PCI Bridge
+
+pci:v000010DEd000000DF*
+ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller
+
+pci:v000010DEd000000DFsv00001043sd000080A7*
+ ID_MODEL_FROM_DATABASE=K8N-E
+
+pci:v000010DEd000000DFsv0000105Bsd00000C43*
+ ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA
+
+pci:v000010DEd000000DFsv0000147Bsd00001C0B*
+ ID_MODEL_FROM_DATABASE=NF8 Mainboard
+
+pci:v000010DEd000000E0*
+ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge
+
+pci:v000010DEd000000E0sv00001043sd0000813F*
+ ID_MODEL_FROM_DATABASE=K8N-E
+
+pci:v000010DEd000000E0sv000010DEsd00000C11*
+ ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA
+
+pci:v000010DEd000000E0sv00001462sd00007030*
+ ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0
+
+pci:v000010DEd000000E0sv0000147Bsd00001C0B*
+ ID_MODEL_FROM_DATABASE=NF8 Mainboard
+
+pci:v000010DEd000000E0sv00001849sd000000E0*
+ ID_MODEL_FROM_DATABASE=Motherboard (one of many)
+
+pci:v000010DEd000000E1*
+ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge
+
+pci:v000010DEd000000E1sv00001043sd0000813F*
+ ID_MODEL_FROM_DATABASE=K8N-E
+
+pci:v000010DEd000000E1sv00001462sd00007030*
+ ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0
+
+pci:v000010DEd000000E1sv0000147Bsd00001C0B*
+ ID_MODEL_FROM_DATABASE=NF8 Mainboard
+
+pci:v000010DEd000000E1sv00001849sd000000E1*
+ ID_MODEL_FROM_DATABASE=Motherboard (one of many)
+
+pci:v000010DEd000000E2*
+ ID_MODEL_FROM_DATABASE=nForce3 250Gb AGP Host to PCI Bridge
+
+pci:v000010DEd000000E3*
+ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller
+
+pci:v000010DEd000000E3sv00001043sd0000813F*
+ ID_MODEL_FROM_DATABASE=K8N-E
+
+pci:v000010DEd000000E3sv0000105Bsd00000C43*
+ ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA
+
+pci:v000010DEd000000E3sv0000147Bsd00001C0B*
+ ID_MODEL_FROM_DATABASE=NF8 Mainboard
+
+pci:v000010DEd000000E3sv00001849sd000000E3*
+ ID_MODEL_FROM_DATABASE=Motherboard (one of many)
+
+pci:v000010DEd000000E4*
+ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management
+
+pci:v000010DEd000000E4sv00001043sd0000813F*
+ ID_MODEL_FROM_DATABASE=K8N-E
+
+pci:v000010DEd000000E4sv0000105Bsd00000C43*
+ ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA
+
+pci:v000010DEd000000E4sv00001462sd00007030*
+ ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0
+
+pci:v000010DEd000000E4sv0000147Bsd00001C0B*
+ ID_MODEL_FROM_DATABASE=NF8 Mainboard
+
+pci:v000010DEd000000E4sv00001849sd000000E4*
+ ID_MODEL_FROM_DATABASE=Motherboard (one of many)
+
+pci:v000010DEd000000E5*
+ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5)
+
+pci:v000010DEd000000E5sv00001043sd0000813F*
+ ID_MODEL_FROM_DATABASE=K8N-E
+
+pci:v000010DEd000000E5sv0000105Bsd00000C43*
+ ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA
+
+pci:v000010DEd000000E5sv00001462sd00007030*
+ ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0
+
+pci:v000010DEd000000E5sv0000147Bsd00001C0B*
+ ID_MODEL_FROM_DATABASE=NF8 Mainboard
+
+pci:v000010DEd000000E5sv00001849sd000000E5*
+ ID_MODEL_FROM_DATABASE=Motherboard (one of many)
+
+pci:v000010DEd000000E5sv0000F849sd000000E5*
+ ID_MODEL_FROM_DATABASE=Motherboard (one of many)
+
+pci:v000010DEd000000E6*
+ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller
+
+pci:v000010DEd000000E7*
+ ID_MODEL_FROM_DATABASE=CK8S USB Controller
+
+pci:v000010DEd000000E7sv00001043sd0000813F*
+ ID_MODEL_FROM_DATABASE=K8N-E
+
+pci:v000010DEd000000E7sv0000105Bsd00000C43*
+ ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA
+
+pci:v000010DEd000000E7sv00001462sd00007030*
+ ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0
+
+pci:v000010DEd000000E7sv0000147Bsd00001C0B*
+ ID_MODEL_FROM_DATABASE=NF8 Mainboard
+
+pci:v000010DEd000000E7sv00001849sd000000E7*
+ ID_MODEL_FROM_DATABASE=Motherboard (one of many)
+
+pci:v000010DEd000000E8*
+ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller
+
+pci:v000010DEd000000E8sv00001043sd0000813F*
+ ID_MODEL_FROM_DATABASE=K8N-E
+
+pci:v000010DEd000000E8sv0000105Bsd00000C43*
+ ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA
+
+pci:v000010DEd000000E8sv00001462sd00007030*
+ ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0
+
+pci:v000010DEd000000E8sv0000147Bsd00001C0B*
+ ID_MODEL_FROM_DATABASE=NF8 Mainboard
+
+pci:v000010DEd000000E8sv00001849sd000000E8*
+ ID_MODEL_FROM_DATABASE=Motherboard (one of many)
+
+pci:v000010DEd000000EA*
+ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller
+
+pci:v000010DEd000000EAsv00001043sd0000819D*
+ ID_MODEL_FROM_DATABASE=K8N-E
+
+pci:v000010DEd000000EAsv0000105Bsd00000C43*
+ ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA
+
+pci:v000010DEd000000EAsv00001462sd0000B010*
+ ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0
+
+pci:v000010DEd000000EAsv0000147Bsd00001C0B*
+ ID_MODEL_FROM_DATABASE=NF8 Mainboard
+
+pci:v000010DEd000000ED*
+ ID_MODEL_FROM_DATABASE=nForce3 250Gb PCI-to-PCI Bridge
+
+pci:v000010DEd000000EE*
+ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller 2
+
+pci:v000010DEd000000F1*
+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT]
+
+pci:v000010DEd000000F1sv00001043sd000081A6*
+ ID_MODEL_FROM_DATABASE=N6600GT TD 128M AGP
+
+pci:v000010DEd000000F1sv00001043sd000081C6*
+ ID_MODEL_FROM_DATABASE=N6600GT TD 128M AGP
+
+pci:v000010DEd000000F1sv00001458sd00003150*
+ ID_MODEL_FROM_DATABASE=GV-N66T128VP
+
+pci:v000010DEd000000F1sv00001554sd00001191*
+ ID_MODEL_FROM_DATABASE=PixelView PV-N43UA (128KD)
+
+pci:v000010DEd000000F1sv00001682sd00002119*
+ ID_MODEL_FROM_DATABASE=GeForce 6600 GT AGP
+
+pci:v000010DEd000000F2*
+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600]
+
+pci:v000010DEd000000F2sv00001554sd00001194*
+ ID_MODEL_FROM_DATABASE=PixelView PV-N43AT (256KD)
+
+pci:v000010DEd000000F2sv00001682sd0000211C*
+ ID_MODEL_FROM_DATABASE=GeForce 6600 256MB DDR DUAL DVI TV
+
+pci:v000010DEd000000F3*
+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6200]
+
+pci:v000010DEd000000F4*
+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 LE]
+
+pci:v000010DEd000000F5*
+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7800 GS]
+
+pci:v000010DEd000000F6*
+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6800 GS/XT]
+
+pci:v000010DEd000000F6sv00001682sd0000217E*
+ ID_MODEL_FROM_DATABASE=XFX GeForce 6800 XTreme 256MB DDR3 AGP
+
+pci:v000010DEd000000F8*
+ ID_MODEL_FROM_DATABASE=NV40GL [Quadro FX 3400/4400]
+
+pci:v000010DEd000000F9*
+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT/GTO/Ultra]
+
+pci:v000010DEd000000F9sv000010DEsd000000F9*
+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT]
+
+pci:v000010DEd000000F9sv00001682sd00002120*
+ ID_MODEL_FROM_DATABASE=GEFORCE 6800 GT PCI-E
+
+pci:v000010DEd000000FA*
+ ID_MODEL_FROM_DATABASE=NV36 [GeForce PCX 5750]
+
+pci:v000010DEd000000FB*
+ ID_MODEL_FROM_DATABASE=NV38 [GeForce PCX 5900]
+
+pci:v000010DEd000000FC*
+ ID_MODEL_FROM_DATABASE=NV37GL [Quadro FX 330/GeForce PCX 5300]
+
+pci:v000010DEd000000FD*
+ ID_MODEL_FROM_DATABASE=NV37GL [Quadro PCI-E Series]
+
+pci:v000010DEd000000FE*
+ ID_MODEL_FROM_DATABASE=NV38GL [Quadro FX 1300]
+
+pci:v000010DEd000000FF*
+ ID_MODEL_FROM_DATABASE=NV18 [GeForce PCX 4300]
+
+pci:v000010DEd00000100*
+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR]
+
+pci:v000010DEd00000100sv00001043sd00000200*
+ ID_MODEL_FROM_DATABASE=AGP-V6600 SGRAM
+
+pci:v000010DEd00000100sv00001043sd00000201*
+ ID_MODEL_FROM_DATABASE=AGP-V6600 SDRAM
+
+pci:v000010DEd00000100sv00001043sd00004008*
+ ID_MODEL_FROM_DATABASE=AGP-V6600 SGRAM
+
+pci:v000010DEd00000100sv00001043sd00004009*
+ ID_MODEL_FROM_DATABASE=AGP-V6600 SDRAM
+
+pci:v000010DEd00000100sv00001048sd00000C41*
+ ID_MODEL_FROM_DATABASE=Erazor X
+
+pci:v000010DEd00000100sv00001048sd00000C43*
+ ID_MODEL_FROM_DATABASE=ERAZOR X PCI
+
+pci:v000010DEd00000100sv00001048sd00000C48*
+ ID_MODEL_FROM_DATABASE=Synergy Force
+
+pci:v000010DEd00000100sv00001102sd0000102D*
+ ID_MODEL_FROM_DATABASE=CT6941 GeForce 256
+
+pci:v000010DEd00000100sv000014AFsd00005022*
+ ID_MODEL_FROM_DATABASE=3D Prophet SE
+
+pci:v000010DEd00000101*
+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR]
+
+pci:v000010DEd00000101sv00001043sd00000202*
+ ID_MODEL_FROM_DATABASE=AGP-V6800 DDR
+
+pci:v000010DEd00000101sv00001043sd0000400A*
+ ID_MODEL_FROM_DATABASE=AGP-V6800 DDR SGRAM
+
+pci:v000010DEd00000101sv00001043sd0000400B*
+ ID_MODEL_FROM_DATABASE=AGP-V6800 DDR SDRAM
+
+pci:v000010DEd00000101sv00001048sd00000C42*
+ ID_MODEL_FROM_DATABASE=Erazor X
+
+pci:v000010DEd00000101sv0000107Dsd00002822*
+ ID_MODEL_FROM_DATABASE=WinFast GeForce 256
+
+pci:v000010DEd00000101sv00001102sd0000102E*
+ ID_MODEL_FROM_DATABASE=CT6970/CT6971
+
+pci:v000010DEd00000101sv000014AFsd00005021*
+ ID_MODEL_FROM_DATABASE=3D Prophet DDR-DVI
+
+pci:v000010DEd00000103*
+ ID_MODEL_FROM_DATABASE=NV10GL [Quadro]
+
+pci:v000010DEd00000103sv00001048sd00000C40*
+ ID_MODEL_FROM_DATABASE=GLoria II-64
+
+pci:v000010DEd00000103sv00001048sd00000C44*
+ ID_MODEL_FROM_DATABASE=GLoria II
+
+pci:v000010DEd00000103sv00001048sd00000C45*
+ ID_MODEL_FROM_DATABASE=GLoria II
+
+pci:v000010DEd00000103sv00001048sd00000C4A*
+ ID_MODEL_FROM_DATABASE=GLoria II-64 Pro
+
+pci:v000010DEd00000103sv00001048sd00000C4B*
+ ID_MODEL_FROM_DATABASE=GLoria II-64 Pro DVII
+
+pci:v000010DEd00000110*
+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400]
+
+pci:v000010DEd00000110sv00001043sd00004015*
+ ID_MODEL_FROM_DATABASE=AGP-V7100 Pro
+
+pci:v000010DEd00000110sv00001043sd00004021*
+ ID_MODEL_FROM_DATABASE=V7100 Deluxe Combo
+
+pci:v000010DEd00000110sv00001043sd00004031*
+ ID_MODEL_FROM_DATABASE=V7100 Pro with TV output
+
+pci:v000010DEd00000110sv00001048sd00000C60*
+ ID_MODEL_FROM_DATABASE=Gladiac MX
+
+pci:v000010DEd00000110sv00001048sd00000C61*
+ ID_MODEL_FROM_DATABASE=Gladiac 511PCI
+
+pci:v000010DEd00000110sv00001048sd00000C63*
+ ID_MODEL_FROM_DATABASE=Gladiac 511TV-OUT 32MB
+
+pci:v000010DEd00000110sv00001048sd00000C64*
+ ID_MODEL_FROM_DATABASE=Gladiac 511TV-OUT 64MB
+
+pci:v000010DEd00000110sv00001048sd00000C65*
+ ID_MODEL_FROM_DATABASE=Gladiac 511TWIN
+
+pci:v000010DEd00000110sv00001048sd00000C66*
+ ID_MODEL_FROM_DATABASE=Gladiac 311
+
+pci:v000010DEd00000110sv000010B0sd00000001*
+ ID_MODEL_FROM_DATABASE=GeForce2 MX Jumbo TV
+
+pci:v000010DEd00000110sv000010DEsd00000091*
+ ID_MODEL_FROM_DATABASE=Dell OEM GeForce 2 MX 400
+
+pci:v000010DEd00000110sv000010DEsd000000A1*
+ ID_MODEL_FROM_DATABASE=Apple OEM GeForce2 MX
+
+pci:v000010DEd00000110sv00001462sd00008523*
+ ID_MODEL_FROM_DATABASE=MS-8852
+
+pci:v000010DEd00000110sv00001462sd00008817*
+ ID_MODEL_FROM_DATABASE=MSI GeForce2 MX400 Pro32S [MS-8817]
+
+pci:v000010DEd00000110sv000014AFsd00007102*
+ ID_MODEL_FROM_DATABASE=3D Prophet II MX
+
+pci:v000010DEd00000110sv000014AFsd00007103*
+ ID_MODEL_FROM_DATABASE=3D Prophet II MX Dual-Display
+
+pci:v000010DEd00000110sv00001545sd00000023*
+ ID_MODEL_FROM_DATABASE=Xtasy Rev. B2
+
+pci:v000010DEd00000110sv00001554sd00001081*
+ ID_MODEL_FROM_DATABASE=MVGA-NVG11AM(400)
+
+pci:v000010DEd00000111*
+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX200]
+
+pci:v000010DEd00000112*
+ ID_MODEL_FROM_DATABASE=NV11M [GeForce2 Go]
+
+pci:v000010DEd00000113*
+ ID_MODEL_FROM_DATABASE=NV11GL [Quadro2 MXR/EX/Go]
+
+pci:v000010DEd00000140*
+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT]
+
+pci:v000010DEd00000140sv00001458sd00003125*
+ ID_MODEL_FROM_DATABASE=GV-NX66T128D
+
+pci:v000010DEd00000140sv00001458sd00003126*
+ ID_MODEL_FROM_DATABASE=GV-NX66T256DE
+
+pci:v000010DEd00000140sv00001462sd00008939*
+ ID_MODEL_FROM_DATABASE=MS-8983
+
+pci:v000010DEd00000141*
+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600]
+
+pci:v000010DEd00000141sv00001043sd000081B0*
+ ID_MODEL_FROM_DATABASE=EN6600 Silencer
+
+pci:v000010DEd00000141sv0000107Dsd0000593A*
+ ID_MODEL_FROM_DATABASE=LR2A22 128MB TV OUT
+
+pci:v000010DEd00000141sv0000107Dsd0000597B*
+ ID_MODEL_FROM_DATABASE=WINFAST PX6600
+
+pci:v000010DEd00000141sv00001458sd00003124*
+ ID_MODEL_FROM_DATABASE=GV-NX66128DP Turbo Force Edition
+
+pci:v000010DEd00000142*
+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 LE]
+
+pci:v000010DEd00000143*
+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 VE]
+
+pci:v000010DEd00000144*
+ ID_MODEL_FROM_DATABASE=NV43M [GeForce Go 6600]
+
+pci:v000010DEd00000145*
+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6610 XL]
+
+pci:v000010DEd00000146*
+ ID_MODEL_FROM_DATABASE=NV43M [GeForce Go6200 TE / 6600 TE]
+
+pci:v000010DEd00000147*
+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6700 XL]
+
+pci:v000010DEd00000148*
+ ID_MODEL_FROM_DATABASE=NV43M [GeForce Go 6600]
+
+pci:v000010DEd00000149*
+ ID_MODEL_FROM_DATABASE=NV43M [GeForce Go 6600 GT]
+
+pci:v000010DEd0000014A*
+ ID_MODEL_FROM_DATABASE=NV43 [Quadro NVS 440]
+
+pci:v000010DEd0000014B*
+ ID_MODEL_FROM_DATABASE=NV43
+
+pci:v000010DEd0000014D*
+ ID_MODEL_FROM_DATABASE=NV43GL [Quadro FX 550]
+
+pci:v000010DEd0000014E*
+ ID_MODEL_FROM_DATABASE=NV43GL [Quadro FX 540]
+
+pci:v000010DEd0000014F*
+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6200]
+
+pci:v000010DEd00000150*
+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro]
+
+pci:v000010DEd00000150sv00001043sd00004016*
+ ID_MODEL_FROM_DATABASE=V7700 AGP Video Card
+
+pci:v000010DEd00000150sv00001043sd0000402A*
+ ID_MODEL_FROM_DATABASE=AGP-V7700
+
+pci:v000010DEd00000150sv00001048sd00000C50*
+ ID_MODEL_FROM_DATABASE=Gladiac
+
+pci:v000010DEd00000150sv00001048sd00000C52*
+ ID_MODEL_FROM_DATABASE=Gladiac-64
+
+pci:v000010DEd00000150sv0000107Dsd00002840*
+ ID_MODEL_FROM_DATABASE=WinFast GeForce2 GTS with TV output
+
+pci:v000010DEd00000150sv0000107Dsd00002842*
+ ID_MODEL_FROM_DATABASE=WinFast GeForce 2 Pro
+
+pci:v000010DEd00000150sv000010DEsd0000002E*
+ ID_MODEL_FROM_DATABASE=GeForce2 GTS
+
+pci:v000010DEd00000150sv00001462sd0000815A*
+ ID_MODEL_FROM_DATABASE=MS-8815
+
+pci:v000010DEd00000150sv00001462sd00008831*
+ ID_MODEL_FROM_DATABASE=Creative GeForce2 Pro
+
+pci:v000010DEd00000151*
+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti]
+
+pci:v000010DEd00000151sv00001043sd0000405F*
+ ID_MODEL_FROM_DATABASE=V7700Ti
+
+pci:v000010DEd00000151sv00001462sd00005506*
+ ID_MODEL_FROM_DATABASE=Creative 3D Blaster GeForce2 Titanium
+
+pci:v000010DEd00000151sv00001462sd00008364*
+ ID_MODEL_FROM_DATABASE=MS-8836
+
+pci:v000010DEd00000152*
+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ultra]
+
+pci:v000010DEd00000152sv00001048sd00000C56*
+ ID_MODEL_FROM_DATABASE=GLADIAC Ultra
+
+pci:v000010DEd00000153*
+ ID_MODEL_FROM_DATABASE=NV15GL [Quadro2 Pro]
+
+pci:v000010DEd00000160*
+ ID_MODEL_FROM_DATABASE=NV44 [GeForce 6500]
+
+pci:v000010DEd00000161*
+ ID_MODEL_FROM_DATABASE=NV44 [GeForce 6200 TurboCache]
+
+pci:v000010DEd00000162*
+ ID_MODEL_FROM_DATABASE=NV44 [GeForce 6200 SE TurboCache]
+
+pci:v000010DEd00000163*
+ ID_MODEL_FROM_DATABASE=NV44 [GeForce 6200 LE]
+
+pci:v000010DEd00000164*
+ ID_MODEL_FROM_DATABASE=NV44M [GeForce Go 6200]
+
+pci:v000010DEd00000165*
+ ID_MODEL_FROM_DATABASE=NV44 [Quadro NVS 285]
+
+pci:v000010DEd00000166*
+ ID_MODEL_FROM_DATABASE=NV44M [GeForce Go 6400]
+
+pci:v000010DEd00000167*
+ ID_MODEL_FROM_DATABASE=NV44M [GeForce Go 6200]
+
+pci:v000010DEd00000168*
+ ID_MODEL_FROM_DATABASE=NV44M [GeForce Go 6400]
+
+pci:v000010DEd00000169*
+ ID_MODEL_FROM_DATABASE=NV44 [GeForce 6250]
+
+pci:v000010DEd0000016A*
+ ID_MODEL_FROM_DATABASE=NV44 [GeForce 7100 GS]
+
+pci:v000010DEd0000016D*
+ ID_MODEL_FROM_DATABASE=NV44
+
+pci:v000010DEd0000016E*
+ ID_MODEL_FROM_DATABASE=NV44
+
+pci:v000010DEd0000016F*
+ ID_MODEL_FROM_DATABASE=NV44
+
+pci:v000010DEd00000170*
+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 460]
+
+pci:v000010DEd00000170sv00001462sd00008630*
+ ID_MODEL_FROM_DATABASE=MS-8863
+
+pci:v000010DEd00000171*
+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440]
+
+pci:v000010DEd00000171sv000010B0sd00000002*
+ ID_MODEL_FROM_DATABASE=Gainward Pro/600 TV
+
+pci:v000010DEd00000171sv000010DEsd00000008*
+ ID_MODEL_FROM_DATABASE=Apple OEM GeForce4 MX 440
+
+pci:v000010DEd00000171sv00001462sd00008661*
+ ID_MODEL_FROM_DATABASE=G4MX440-VTP
+
+pci:v000010DEd00000171sv00001462sd00008730*
+ ID_MODEL_FROM_DATABASE=MX440SES-T (MS-8873)
+
+pci:v000010DEd00000171sv00001462sd00008743*
+ ID_MODEL_FROM_DATABASE=MS-8874
+
+pci:v000010DEd00000171sv00001462sd00008852*
+ ID_MODEL_FROM_DATABASE=GeForce4 MX440 PCI
+
+pci:v000010DEd00000171sv0000147Bsd00008F00*
+ ID_MODEL_FROM_DATABASE=Abit Siluro GeForce4MX440
+
+pci:v000010DEd00000172*
+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 420]
+
+pci:v000010DEd00000172sv00001462sd00008730*
+ ID_MODEL_FROM_DATABASE=MS-8873
+
+pci:v000010DEd00000172sv00001462sd00008784*
+ ID_MODEL_FROM_DATABASE=MS-8878
+
+pci:v000010DEd00000173*
+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440-SE]
+
+pci:v000010DEd00000174*
+ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 440 Go]
+
+pci:v000010DEd00000175*
+ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go]
+
+pci:v000010DEd00000176*
+ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M]
+
+pci:v000010DEd00000176sv0000103Csd000008B0*
+ ID_MODEL_FROM_DATABASE=tc1100 tablet
+
+pci:v000010DEd00000176sv0000144Dsd0000C005*
+ ID_MODEL_FROM_DATABASE=X10 Laptop
+
+pci:v000010DEd00000176sv00004C53sd00001090*
+ ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard
+
+pci:v000010DEd00000177*
+ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 460 Go]
+
+pci:v000010DEd00000178*
+ ID_MODEL_FROM_DATABASE=NV17GL [Quadro4 550 XGL]
+
+pci:v000010DEd00000179*
+ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 440 Go 64M]
+
+pci:v000010DEd00000179sv000010DEsd00000179*
+ ID_MODEL_FROM_DATABASE=GeForce4 MX (Mac)
+
+pci:v000010DEd0000017A*
+ ID_MODEL_FROM_DATABASE=NV17GL [Quadro NVS]
+
+pci:v000010DEd0000017B*
+ ID_MODEL_FROM_DATABASE=NV17GL [Quadro4 550 XGL]
+
+pci:v000010DEd0000017C*
+ ID_MODEL_FROM_DATABASE=NV17GL [Quadro4 500 GoGL]
+
+pci:v000010DEd0000017F*
+ ID_MODEL_FROM_DATABASE=NV17
+
+pci:v000010DEd00000181*
+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x]
+
+pci:v000010DEd00000181sv00001043sd00008063*
+ ID_MODEL_FROM_DATABASE=GeForce4 MX 440 AGP 8X
+
+pci:v000010DEd00000181sv00001043sd0000806F*
+ ID_MODEL_FROM_DATABASE=V9180 Magic
+
+pci:v000010DEd00000181sv00001462sd00008880*
+ ID_MODEL_FROM_DATABASE=MS-StarForce GeForce4 MX 440 with AGP8X
+
+pci:v000010DEd00000181sv00001462sd00008900*
+ ID_MODEL_FROM_DATABASE=MS-8890 GeForce 4 MX440 AGP8X
+
+pci:v000010DEd00000181sv00001462sd00009350*
+ ID_MODEL_FROM_DATABASE=MSI GeForce4 MX T8X with AGP8X
+
+pci:v000010DEd00000181sv0000147Bsd00008F0D*
+ ID_MODEL_FROM_DATABASE=Siluro GF4 MX-8X
+
+pci:v000010DEd00000181sv00001554sd00001111*
+ ID_MODEL_FROM_DATABASE=PixelView MVGA-NVG18A
+
+pci:v000010DEd00000182*
+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440SE AGP 8x]
+
+pci:v000010DEd00000183*
+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 420 AGP 8x]
+
+pci:v000010DEd00000184*
+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX]
+
+pci:v000010DEd00000185*
+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 4000]
+
+pci:v000010DEd00000186*
+ ID_MODEL_FROM_DATABASE=NV18M [GeForce4 448 Go]
+
+pci:v000010DEd00000187*
+ ID_MODEL_FROM_DATABASE=NV18M [GeForce4 488 Go]
+
+pci:v000010DEd00000188*
+ ID_MODEL_FROM_DATABASE=NV18GL [Quadro4 580 XGL]
+
+pci:v000010DEd00000189*
+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX with AGP8X (Mac)]
+
+pci:v000010DEd0000018A*
+ ID_MODEL_FROM_DATABASE=NV18GL [Quadro NVS 280 SD]
+
+pci:v000010DEd0000018B*
+ ID_MODEL_FROM_DATABASE=NV18GL [Quadro4 380 XGL]
+
+pci:v000010DEd0000018C*
+ ID_MODEL_FROM_DATABASE=NV18GL [Quadro NVS 50 PCI]
+
+pci:v000010DEd0000018D*
+ ID_MODEL_FROM_DATABASE=NV18M [GeForce4 448 Go]
+
+pci:v000010DEd0000018F*
+ ID_MODEL_FROM_DATABASE=NV18
+
+pci:v000010DEd00000190*
+ ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 GTS / 8800 GTX]
+
+pci:v000010DEd00000191*
+ ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 GTX]
+
+pci:v000010DEd00000192*
+ ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 GTS]
+
+pci:v000010DEd00000193*
+ ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 GTS]
+
+pci:v000010DEd00000193sv0000107Dsd000020BD*
+ ID_MODEL_FROM_DATABASE=WinFast PX 8800 GTS TDH
+
+pci:v000010DEd00000194*
+ ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 Ultra]
+
+pci:v000010DEd00000197*
+ ID_MODEL_FROM_DATABASE=G80GL [Tesla C870]
+
+pci:v000010DEd0000019D*
+ ID_MODEL_FROM_DATABASE=G80GL [Quadro FX 5600]
+
+pci:v000010DEd0000019E*
+ ID_MODEL_FROM_DATABASE=G80GL [Quadro FX 4600]
+
+pci:v000010DEd000001A0*
+ ID_MODEL_FROM_DATABASE=nForce 220/420 NV11 [GeForce2 MX]
+
+pci:v000010DEd000001A4*
+ ID_MODEL_FROM_DATABASE=nForce CPU bridge
+
+pci:v000010DEd000001AB*
+ ID_MODEL_FROM_DATABASE=nForce 420 Memory Controller (DDR)
+
+pci:v000010DEd000001AC*
+ ID_MODEL_FROM_DATABASE=nForce 220/420 Memory Controller
+
+pci:v000010DEd000001AD*
+ ID_MODEL_FROM_DATABASE=nForce 220/420 Memory Controller
+
+pci:v000010DEd000001B0*
+ ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit
+
+pci:v000010DEd000001B1*
+ ID_MODEL_FROM_DATABASE=nForce AC'97 Audio Controller
+
+pci:v000010DEd000001B2*
+ ID_MODEL_FROM_DATABASE=nForce ISA Bridge
+
+pci:v000010DEd000001B4*
+ ID_MODEL_FROM_DATABASE=nForce PCI System Management
+
+pci:v000010DEd000001B7*
+ ID_MODEL_FROM_DATABASE=nForce AGP to PCI Bridge
+
+pci:v000010DEd000001B8*
+ ID_MODEL_FROM_DATABASE=nForce PCI-to-PCI bridge
+
+pci:v000010DEd000001BC*
+ ID_MODEL_FROM_DATABASE=nForce IDE
+
+pci:v000010DEd000001C1*
+ ID_MODEL_FROM_DATABASE=nForce AC'97 Modem Controller
+
+pci:v000010DEd000001C2*
+ ID_MODEL_FROM_DATABASE=nForce USB Controller
+
+pci:v000010DEd000001C3*
+ ID_MODEL_FROM_DATABASE=nForce Ethernet Controller
+
+pci:v000010DEd000001D0*
+ ID_MODEL_FROM_DATABASE=G72 [GeForce 7350 LE]
+
+pci:v000010DEd000001D1*
+ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE]
+
+pci:v000010DEd000001D1sv0000107Dsd00005EFA*
+ ID_MODEL_FROM_DATABASE=WinFast PX7300LE-TD128
+
+pci:v000010DEd000001D1sv0000107Dsd00005EFB*
+ ID_MODEL_FROM_DATABASE=WinFast PX7300LE-TD256
+
+pci:v000010DEd000001D1sv00001462sd00000345*
+ ID_MODEL_FROM_DATABASE=7300LE PCI Express Graphics Adapter
+
+pci:v000010DEd000001D2*
+ ID_MODEL_FROM_DATABASE=G72 [GeForce 7550 LE]
+
+pci:v000010DEd000001D3*
+ ID_MODEL_FROM_DATABASE=G72 [GeForce 7200 GS / 7300 SE]
+
+pci:v000010DEd000001D5*
+ ID_MODEL_FROM_DATABASE=G72
+
+pci:v000010DEd000001D6*
+ ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7200]
+
+pci:v000010DEd000001D7*
+ ID_MODEL_FROM_DATABASE=G72M [Quadro NVS 110M/GeForce Go 7300]
+
+pci:v000010DEd000001D8*
+ ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7400]
+
+pci:v000010DEd000001D8sv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v000010DEd000001D9*
+ ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7450]
+
+pci:v000010DEd000001DA*
+ ID_MODEL_FROM_DATABASE=G72M [Quadro NVS 110M]
+
+pci:v000010DEd000001DB*
+ ID_MODEL_FROM_DATABASE=G72M [Quadro NVS 120M]
+
+pci:v000010DEd000001DC*
+ ID_MODEL_FROM_DATABASE=G72GLM [Quadro FX 350M]
+
+pci:v000010DEd000001DD*
+ ID_MODEL_FROM_DATABASE=G72 [GeForce 7500 LE]
+
+pci:v000010DEd000001DE*
+ ID_MODEL_FROM_DATABASE=G72GL [Quadro FX 350]
+
+pci:v000010DEd000001DEsv000010DEsd000001DC*
+ ID_MODEL_FROM_DATABASE=Quadro FX Go350M
+
+pci:v000010DEd000001DF*
+ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 GS]
+
+pci:v000010DEd000001E0*
+ ID_MODEL_FROM_DATABASE=nForce2 IGP2
+
+pci:v000010DEd000001E0sv0000147Bsd00001C09*
+ ID_MODEL_FROM_DATABASE=NV7 Motherboard
+
+pci:v000010DEd000001E8*
+ ID_MODEL_FROM_DATABASE=nForce2 AGP
+
+pci:v000010DEd000001EA*
+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 0
+
+pci:v000010DEd000001EAsv0000A0A0sd000003B9*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd000001EB*
+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 1
+
+pci:v000010DEd000001EBsv0000A0A0sd000003B9*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd000001EC*
+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 2
+
+pci:v000010DEd000001ECsv0000A0A0sd000003B9*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd000001ED*
+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 3
+
+pci:v000010DEd000001EDsv0000A0A0sd000003B9*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd000001EE*
+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 4
+
+pci:v000010DEd000001EEsv000010DEsd000001EE*
+ ID_MODEL_FROM_DATABASE=MSI Delta-L nForce2 memory controller
+
+pci:v000010DEd000001EEsv0000A0A0sd000003B9*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd000001EF*
+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 5
+
+pci:v000010DEd000001EFsv0000A0A0sd000003B9*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd000001F0*
+ ID_MODEL_FROM_DATABASE=C17 [GeForce4 MX IGP]
+
+pci:v000010DEd000001F0sv0000A0A0sd000003B5*
+ ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard
+
+pci:v000010DEd00000200*
+ ID_MODEL_FROM_DATABASE=NV20 [GeForce3]
+
+pci:v000010DEd00000200sv00001043sd0000402F*
+ ID_MODEL_FROM_DATABASE=AGP-V8200 DDR
+
+pci:v000010DEd00000200sv00001048sd00000C70*
+ ID_MODEL_FROM_DATABASE=GLADIAC 920
+
+pci:v000010DEd00000201*
+ ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 200]
+
+pci:v000010DEd00000202*
+ ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 500]
+
+pci:v000010DEd00000202sv00001043sd0000405B*
+ ID_MODEL_FROM_DATABASE=V8200 T5
+
+pci:v000010DEd00000202sv00001545sd0000002F*
+ ID_MODEL_FROM_DATABASE=Xtasy 6964
+
+pci:v000010DEd00000203*
+ ID_MODEL_FROM_DATABASE=NV20GL [Quadro DCC]
+
+pci:v000010DEd00000211*
+ ID_MODEL_FROM_DATABASE=NV48 [GeForce 6800]
+
+pci:v000010DEd00000212*
+ ID_MODEL_FROM_DATABASE=NV48 [GeForce 6800 LE]
+
+pci:v000010DEd00000215*
+ ID_MODEL_FROM_DATABASE=NV48 [GeForce 6800 GT]
+
+pci:v000010DEd00000218*
+ ID_MODEL_FROM_DATABASE=NV48 [GeForce 6800 XT]
+
+pci:v000010DEd00000221*
+ ID_MODEL_FROM_DATABASE=NV44A [GeForce 6200]
+
+pci:v000010DEd00000221sv00001043sd000081E1*
+ ID_MODEL_FROM_DATABASE=N6200/TD/256M/A
+
+pci:v000010DEd00000221sv00003842sd0000A341*
+ ID_MODEL_FROM_DATABASE=256A8N341DX
+
+pci:v000010DEd00000222*
+ ID_MODEL_FROM_DATABASE=NV44 [GeForce 6200 A-LE]
+
+pci:v000010DEd00000224*
+ ID_MODEL_FROM_DATABASE=NV44
+
+pci:v000010DEd00000240*
+ ID_MODEL_FROM_DATABASE=C51PV [GeForce 6150]
+
+pci:v000010DEd00000240sv00001043sd000081CD*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM
+
+pci:v000010DEd00000240sv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd00000241*
+ ID_MODEL_FROM_DATABASE=C51 [GeForce 6150 LE]
+
+pci:v000010DEd00000242*
+ ID_MODEL_FROM_DATABASE=C51G [GeForce 6100]
+
+pci:v000010DEd00000242sv0000105Bsd00000CAD*
+ ID_MODEL_FROM_DATABASE=Winfast 6100K8MB
+
+pci:v000010DEd00000243*
+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge
+
+pci:v000010DEd00000244*
+ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150]
+
+pci:v000010DEd00000244sv0000103Csd000030B5*
+ ID_MODEL_FROM_DATABASE=Presario V3242AU
+
+pci:v000010DEd00000244sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd00000244sv000010DEsd00000244*
+ ID_MODEL_FROM_DATABASE=GeForce Go 6150
+
+pci:v000010DEd00000245*
+ ID_MODEL_FROM_DATABASE=C51 [Quadro NVS 210S/GeForce 6150LE]
+
+pci:v000010DEd00000246*
+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge
+
+pci:v000010DEd00000247*
+ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6100]
+
+pci:v000010DEd00000247sv00001043sd00001382*
+ ID_MODEL_FROM_DATABASE=MCP51 PCI-X GeForce Go 6100
+
+pci:v000010DEd00000248*
+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge
+
+pci:v000010DEd00000249*
+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge
+
+pci:v000010DEd0000024A*
+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge
+
+pci:v000010DEd0000024B*
+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge
+
+pci:v000010DEd0000024C*
+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge
+
+pci:v000010DEd0000024D*
+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge
+
+pci:v000010DEd0000024E*
+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge
+
+pci:v000010DEd0000024F*
+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge
+
+pci:v000010DEd00000250*
+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4600]
+
+pci:v000010DEd00000251*
+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400]
+
+pci:v000010DEd00000251sv00001043sd00008023*
+ ID_MODEL_FROM_DATABASE=v8440 GeForce 4 Ti4400
+
+pci:v000010DEd00000251sv000010DEsd00000251*
+ ID_MODEL_FROM_DATABASE=PNY GeForce4 Ti 4400
+
+pci:v000010DEd00000251sv00001462sd00008710*
+ ID_MODEL_FROM_DATABASE=PNY GeForce4 Ti 4400
+
+pci:v000010DEd00000252*
+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti]
+
+pci:v000010DEd00000253*
+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4200]
+
+pci:v000010DEd00000253sv0000107Dsd00002896*
+ ID_MODEL_FROM_DATABASE=WinFast A250 LE TD (Dual VGA/TV-out/DVI)
+
+pci:v000010DEd00000253sv0000147Bsd00008F09*
+ ID_MODEL_FROM_DATABASE=Siluro (Dual VGA/TV-out/DVI)
+
+pci:v000010DEd00000258*
+ ID_MODEL_FROM_DATABASE=NV25GL [Quadro4 900 XGL]
+
+pci:v000010DEd00000259*
+ ID_MODEL_FROM_DATABASE=NV25GL [Quadro4 750 XGL]
+
+pci:v000010DEd0000025B*
+ ID_MODEL_FROM_DATABASE=NV25GL [Quadro4 700 XGL]
+
+pci:v000010DEd00000260*
+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge
+
+pci:v000010DEd00000260sv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd00000260sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd00000260sv00001043sd000081BC*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd00000260sv00001458sd00005001*
+ ID_MODEL_FROM_DATABASE=GA-M55plus-S3G
+
+pci:v000010DEd00000260sv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd00000261*
+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge
+
+pci:v000010DEd00000261sv0000105Bsd00000CAD*
+ ID_MODEL_FROM_DATABASE=Winfast 6100K8MB
+
+pci:v000010DEd00000262*
+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge
+
+pci:v000010DEd00000263*
+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge
+
+pci:v000010DEd00000264*
+ ID_MODEL_FROM_DATABASE=MCP51 SMBus
+
+pci:v000010DEd00000264sv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd00000264sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd00000264sv00001043sd000081BC*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd00000264sv0000105Bsd00000CAD*
+ ID_MODEL_FROM_DATABASE=Winfast 6100K8MB
+
+pci:v000010DEd00000264sv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd00000265*
+ ID_MODEL_FROM_DATABASE=MCP51 IDE
+
+pci:v000010DEd00000265sv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd00000265sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd00000265sv00001043sd000081BC*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd00000265sv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd00000265sv0000F05Bsd00000CAD*
+ ID_MODEL_FROM_DATABASE=Winfast 6100K8MB
+
+pci:v000010DEd00000266*
+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller
+
+pci:v000010DEd00000266sv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd00000266sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd00000266sv00001043sd000081BC*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd00000266sv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd00000267*
+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller
+
+pci:v000010DEd00000267sv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd00000267sv00001043sd000081BC*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd00000267sv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd00000268*
+ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller
+
+pci:v000010DEd00000269*
+ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller
+
+pci:v000010DEd00000269sv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd00000269sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd00000269sv00001043sd00008141*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd00000269sv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd0000026A*
+ ID_MODEL_FROM_DATABASE=MCP51 MCI
+
+pci:v000010DEd0000026B*
+ ID_MODEL_FROM_DATABASE=MCP51 AC97 Audio Controller
+
+pci:v000010DEd0000026Bsv0000105Bsd00000CAD*
+ ID_MODEL_FROM_DATABASE=Winfast 6100K8MB
+
+pci:v000010DEd0000026C*
+ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio
+
+pci:v000010DEd0000026Csv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd0000026Csv0000103Csd000030B5*
+ ID_MODEL_FROM_DATABASE=Presario V3242AU
+
+pci:v000010DEd0000026Csv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd0000026Csv000010DEsd0000CB84*
+ ID_MODEL_FROM_DATABASE=ASUSTeK Computer Inc. A8N-VM CSM Mainboard
+
+pci:v000010DEd0000026Csv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd0000026D*
+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller
+
+pci:v000010DEd0000026Dsv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd0000026Dsv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd0000026Dsv00001043sd000081BC*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd0000026Dsv0000105Bsd00000CAD*
+ ID_MODEL_FROM_DATABASE=Winfast 6100K8MB
+
+pci:v000010DEd0000026Dsv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd0000026E*
+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller
+
+pci:v000010DEd0000026Esv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd0000026Esv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd0000026Esv00001043sd000081BC*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd0000026Esv0000105Bsd00000CAD*
+ ID_MODEL_FROM_DATABASE=Winfast 6100K8MB
+
+pci:v000010DEd0000026Esv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd0000026F*
+ ID_MODEL_FROM_DATABASE=MCP51 PCI Bridge
+
+pci:v000010DEd0000026Fsv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd00000270*
+ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge
+
+pci:v000010DEd00000270sv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd00000270sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd00000270sv00001043sd000081BC*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd00000270sv0000105Bsd00000CAD*
+ ID_MODEL_FROM_DATABASE=Winfast 6100K8MB
+
+pci:v000010DEd00000270sv00001458sd00005001*
+ ID_MODEL_FROM_DATABASE=GA-M55plus-S3G
+
+pci:v000010DEd00000270sv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd00000271*
+ ID_MODEL_FROM_DATABASE=MCP51 PMU
+
+pci:v000010DEd00000271sv0000103Csd000030B5*
+ ID_MODEL_FROM_DATABASE=Presario V3242AU
+
+pci:v000010DEd00000271sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd00000272*
+ ID_MODEL_FROM_DATABASE=MCP51 Memory Controller 0
+
+pci:v000010DEd00000272sv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd00000272sv0000105Bsd00000CAD*
+ ID_MODEL_FROM_DATABASE=Winfast 6100K8MB
+
+pci:v000010DEd0000027E*
+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2
+
+pci:v000010DEd0000027Esv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd0000027Esv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd0000027Esv00001043sd000081CD*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd0000027Esv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-M55plus-S3G
+
+pci:v000010DEd0000027Esv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd0000027F*
+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3
+
+pci:v000010DEd0000027Fsv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd0000027Fsv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd0000027Fsv00001043sd000081CD*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd0000027Fsv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-M55plus-S3G
+
+pci:v000010DEd0000027Fsv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd00000280*
+ ID_MODEL_FROM_DATABASE=NV28 [GeForce4 Ti 4800]
+
+pci:v000010DEd00000281*
+ ID_MODEL_FROM_DATABASE=NV28 [GeForce4 Ti 4200 AGP 8x]
+
+pci:v000010DEd00000282*
+ ID_MODEL_FROM_DATABASE=NV28 [GeForce4 Ti 4800 SE]
+
+pci:v000010DEd00000286*
+ ID_MODEL_FROM_DATABASE=NV28M [GeForce4 Ti 4200 Go AGP 8x]
+
+pci:v000010DEd00000288*
+ ID_MODEL_FROM_DATABASE=NV28GL [Quadro4 980 XGL]
+
+pci:v000010DEd00000289*
+ ID_MODEL_FROM_DATABASE=NV28GL [Quadro4 780 XGL]
+
+pci:v000010DEd0000028C*
+ ID_MODEL_FROM_DATABASE=NV28GLM [Quadro4 Go700]
+
+pci:v000010DEd00000290*
+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GTX]
+
+pci:v000010DEd00000291*
+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GT/GTO]
+
+pci:v000010DEd00000291sv000010DEsd0000042B*
+ ID_MODEL_FROM_DATABASE=NX7900GTO-T2D512E [7900 GTO]
+
+pci:v000010DEd00000292*
+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GS]
+
+pci:v000010DEd00000293*
+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GX2]
+
+pci:v000010DEd00000294*
+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GX2]
+
+pci:v000010DEd00000295*
+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT]
+
+pci:v000010DEd00000295sv00001043sd00008225*
+ ID_MODEL_FROM_DATABASE=GeForce 7950 GT
+
+pci:v000010DEd00000295sv0000107Dsd00002A68*
+ ID_MODEL_FROM_DATABASE=WinFast PX7950GT TDH
+
+pci:v000010DEd00000295sv00001462sd00000663*
+ ID_MODEL_FROM_DATABASE=NX7950GT-VT2D512EZ-HD
+
+pci:v000010DEd00000297*
+ ID_MODEL_FROM_DATABASE=G71M [GeForce Go 7950 GTX]
+
+pci:v000010DEd00000298*
+ ID_MODEL_FROM_DATABASE=G71M [GeForce Go 7900 GS]
+
+pci:v000010DEd00000299*
+ ID_MODEL_FROM_DATABASE=G71M [GeForce Go 7900 GTX]
+
+pci:v000010DEd0000029A*
+ ID_MODEL_FROM_DATABASE=G71GLM [Quadro FX 2500M]
+
+pci:v000010DEd0000029B*
+ ID_MODEL_FROM_DATABASE=G71GLM [Quadro FX 1500M]
+
+pci:v000010DEd0000029C*
+ ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 5500]
+
+pci:v000010DEd0000029D*
+ ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 3500]
+
+pci:v000010DEd0000029Dsv00001028sd0000019B*
+ ID_MODEL_FROM_DATABASE=G71GLM [Quadro FX 3500M]
+
+pci:v000010DEd0000029E*
+ ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 1500]
+
+pci:v000010DEd0000029F*
+ ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 4500 X2]
+
+pci:v000010DEd000002A0*
+ ID_MODEL_FROM_DATABASE=NV2A [XGPU]
+
+pci:v000010DEd000002A5*
+ ID_MODEL_FROM_DATABASE=MCPX CPU Bridge
+
+pci:v000010DEd000002A6*
+ ID_MODEL_FROM_DATABASE=MCPX Memory Controller
+
+pci:v000010DEd000002E0*
+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT]
+
+pci:v000010DEd000002E0sv000002E0sd00002249*
+ ID_MODEL_FROM_DATABASE=GF 7600GT 560M 256MB DDR3 DUAL DVI TV
+
+pci:v000010DEd000002E1*
+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS]
+
+pci:v000010DEd000002E1sv00001682sd0000222B*
+ ID_MODEL_FROM_DATABASE=PV-T73K-UAL3 (256MB)
+
+pci:v000010DEd000002E1sv00001682sd00002247*
+ ID_MODEL_FROM_DATABASE=GF 7600GS 512MB DDR2
+
+pci:v000010DEd000002E2*
+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT]
+
+pci:v000010DEd000002E3*
+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GS]
+
+pci:v000010DEd000002E4*
+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT]
+
+pci:v000010DEd000002E4sv00001682sd00002271*
+ ID_MODEL_FROM_DATABASE=PV-T71A-YDF7 (512MB)
+
+pci:v000010DEd000002F0*
+ ID_MODEL_FROM_DATABASE=C51 Host Bridge
+
+pci:v000010DEd000002F0sv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd000002F0sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd000002F0sv00001043sd000081CD*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd000002F0sv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd000002F1*
+ ID_MODEL_FROM_DATABASE=C51 Host Bridge
+
+pci:v000010DEd000002F1sv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-M55plus-S3G
+
+pci:v000010DEd000002F2*
+ ID_MODEL_FROM_DATABASE=C51 Host Bridge
+
+pci:v000010DEd000002F3*
+ ID_MODEL_FROM_DATABASE=C51 Host Bridge
+
+pci:v000010DEd000002F4*
+ ID_MODEL_FROM_DATABASE=C51 Host Bridge
+
+pci:v000010DEd000002F5*
+ ID_MODEL_FROM_DATABASE=C51 Host Bridge
+
+pci:v000010DEd000002F6*
+ ID_MODEL_FROM_DATABASE=C51 Host Bridge
+
+pci:v000010DEd000002F7*
+ ID_MODEL_FROM_DATABASE=C51 Host Bridge
+
+pci:v000010DEd000002F8*
+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5
+
+pci:v000010DEd000002F8sv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd000002F8sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd000002F8sv00001043sd000081CD*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd000002F8sv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-M55plus-S3G
+
+pci:v000010DEd000002F8sv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd000002F9*
+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4
+
+pci:v000010DEd000002F9sv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd000002F9sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd000002F9sv00001043sd000081CD*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd000002F9sv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-M55plus-S3G
+
+pci:v000010DEd000002F9sv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd000002FA*
+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0
+
+pci:v000010DEd000002FAsv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd000002FAsv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd000002FAsv00001043sd000081CD*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd000002FAsv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-M55plus-S3G
+
+pci:v000010DEd000002FAsv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd000002FB*
+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge
+
+pci:v000010DEd000002FC*
+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge
+
+pci:v000010DEd000002FCsv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd000002FD*
+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge
+
+pci:v000010DEd000002FDsv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd000002FE*
+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1
+
+pci:v000010DEd000002FEsv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd000002FEsv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd000002FEsv00001043sd000081CD*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd000002FEsv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-M55plus-S3G
+
+pci:v000010DEd000002FEsv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd000002FF*
+ ID_MODEL_FROM_DATABASE=C51 Host Bridge
+
+pci:v000010DEd000002FFsv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000010DEd000002FFsv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v000010DEd000002FFsv00001043sd000081CD*
+ ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard
+
+pci:v000010DEd000002FFsv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-M55plus-S3G
+
+pci:v000010DEd000002FFsv00001462sd00007207*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series
+
+pci:v000010DEd00000300*
+ ID_MODEL_FROM_DATABASE=NV30 [GeForce FX]
+
+pci:v000010DEd00000301*
+ ID_MODEL_FROM_DATABASE=NV30 [GeForce FX 5800 Ultra]
+
+pci:v000010DEd00000302*
+ ID_MODEL_FROM_DATABASE=NV30 [GeForce FX 5800]
+
+pci:v000010DEd00000308*
+ ID_MODEL_FROM_DATABASE=NV30GL [Quadro FX 2000]
+
+pci:v000010DEd00000309*
+ ID_MODEL_FROM_DATABASE=NV30GL [Quadro FX 1000]
+
+pci:v000010DEd00000311*
+ ID_MODEL_FROM_DATABASE=NV31 [GeForce FX 5600 Ultra]
+
+pci:v000010DEd00000312*
+ ID_MODEL_FROM_DATABASE=NV31 [GeForce FX 5600]
+
+pci:v000010DEd00000314*
+ ID_MODEL_FROM_DATABASE=NV31 [GeForce FX 5600XT]
+
+pci:v000010DEd00000314sv00001043sd0000814A*
+ ID_MODEL_FROM_DATABASE=V9560XT/TD
+
+pci:v000010DEd00000316*
+ ID_MODEL_FROM_DATABASE=NV31M
+
+pci:v000010DEd00000318*
+ ID_MODEL_FROM_DATABASE=NV31GL
+
+pci:v000010DEd0000031A*
+ ID_MODEL_FROM_DATABASE=NV31M [GeForce FX Go5600]
+
+pci:v000010DEd0000031B*
+ ID_MODEL_FROM_DATABASE=NV31M [GeForce FX Go5650]
+
+pci:v000010DEd0000031C*
+ ID_MODEL_FROM_DATABASE=NV31GLM [Quadro FX Go700]
+
+pci:v000010DEd00000320*
+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200]
+
+pci:v000010DEd00000321*
+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200 Ultra]
+
+pci:v000010DEd00000322*
+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200]
+
+pci:v000010DEd00000322sv00001043sd000002FB*
+ ID_MODEL_FROM_DATABASE=V9250 Magic
+
+pci:v000010DEd00000322sv00001043sd00008180*
+ ID_MODEL_FROM_DATABASE=V9520-X/TD/128M
+
+pci:v000010DEd00000322sv0000107Dsd00002967*
+ ID_MODEL_FROM_DATABASE=WinFast A340T 128MB
+
+pci:v000010DEd00000322sv00001462sd00009110*
+ ID_MODEL_FROM_DATABASE=MS-8911 (FX5200-TD128)
+
+pci:v000010DEd00000322sv00001462sd00009171*
+ ID_MODEL_FROM_DATABASE=MS-8917 (FX5200-T128)
+
+pci:v000010DEd00000322sv00001462sd00009360*
+ ID_MODEL_FROM_DATABASE=MS-8936 (FX5200-T128)
+
+pci:v000010DEd00000322sv00001682sd00001351*
+ ID_MODEL_FROM_DATABASE=GeForce FX 5200
+
+pci:v000010DEd00000323*
+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200LE]
+
+pci:v000010DEd00000324*
+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M]
+
+pci:v000010DEd00000324sv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v000010DEd00000324sv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=Pavilion ZD7000 laptop
+
+pci:v000010DEd00000324sv00001071sd00008160*
+ ID_MODEL_FROM_DATABASE=MIM2000
+
+pci:v000010DEd00000325*
+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5250]
+
+pci:v000010DEd00000326*
+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5500]
+
+pci:v000010DEd00000326sv00001458sd0000310D*
+ ID_MODEL_FROM_DATABASE=GeForce FX 5500 128 MB
+
+pci:v000010DEd00000326sv00001682sd00002034*
+ ID_MODEL_FROM_DATABASE=GeForce 5500 256 MB
+
+pci:v000010DEd00000327*
+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5100]
+
+pci:v000010DEd00000328*
+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 32M/64M]
+
+pci:v000010DEd00000329*
+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200]
+
+pci:v000010DEd00000329sv000010DEsd00000010*
+ ID_MODEL_FROM_DATABASE=Powerbook G4
+
+pci:v000010DEd0000032A*
+ ID_MODEL_FROM_DATABASE=NV34GL [Quadro NVS 280 PCI]
+
+pci:v000010DEd0000032B*
+ ID_MODEL_FROM_DATABASE=NV34GL [Quadro FX 500/600 PCI]
+
+pci:v000010DEd0000032C*
+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5300 / Go5350]
+
+pci:v000010DEd0000032D*
+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5100]
+
+pci:v000010DEd0000032E*
+ ID_MODEL_FROM_DATABASE=NV34
+
+pci:v000010DEd0000032F*
+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200]
+
+pci:v000010DEd00000330*
+ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900 Ultra]
+
+pci:v000010DEd00000330sv00001043sd00008137*
+ ID_MODEL_FROM_DATABASE=V9950 Ultra / 256 MB
+
+pci:v000010DEd00000331*
+ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900]
+
+pci:v000010DEd00000331sv00001043sd00008145*
+ ID_MODEL_FROM_DATABASE=V9950GE
+
+pci:v000010DEd00000332*
+ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900XT]
+
+pci:v000010DEd00000333*
+ ID_MODEL_FROM_DATABASE=NV38 [GeForce FX 5950 Ultra]
+
+pci:v000010DEd00000334*
+ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900ZT]
+
+pci:v000010DEd00000334sv00001462sd00009373*
+ ID_MODEL_FROM_DATABASE=FX5900ZT-VTD128 (MS-8937)
+
+pci:v000010DEd00000338*
+ ID_MODEL_FROM_DATABASE=NV35GL [Quadro FX 3000]
+
+pci:v000010DEd0000033F*
+ ID_MODEL_FROM_DATABASE=NV35GL [Quadro FX 700]
+
+pci:v000010DEd00000341*
+ ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700 Ultra]
+
+pci:v000010DEd00000341sv00001462sd00009380*
+ ID_MODEL_FROM_DATABASE=MS-8938 (FX5700U-TD128)
+
+pci:v000010DEd00000342*
+ ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700]
+
+pci:v000010DEd00000343*
+ ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700LE]
+
+pci:v000010DEd00000344*
+ ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700VE]
+
+pci:v000010DEd00000347*
+ ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700]
+
+pci:v000010DEd00000347sv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=NX9500
+
+pci:v000010DEd00000348*
+ ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700]
+
+pci:v000010DEd0000034C*
+ ID_MODEL_FROM_DATABASE=NV36 [Quadro FX Go1000]
+
+pci:v000010DEd0000034D*
+ ID_MODEL_FROM_DATABASE=NV36
+
+pci:v000010DEd0000034E*
+ ID_MODEL_FROM_DATABASE=NV36GL [Quadro FX 1100]
+
+pci:v000010DEd00000360*
+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge
+
+pci:v000010DEd00000361*
+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge
+
+pci:v000010DEd00000361sv00001028sd00000221*
+ ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 LPC Bridge
+
+pci:v000010DEd00000362*
+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge
+
+pci:v000010DEd00000362sv0000147Bsd00001C24*
+ ID_MODEL_FROM_DATABASE=KN9 series mainboard
+
+pci:v000010DEd00000363*
+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge
+
+pci:v000010DEd00000364*
+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge
+
+pci:v000010DEd00000364sv00001028sd00000221*
+ ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 LPC Bridge
+
+pci:v000010DEd00000365*
+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge
+
+pci:v000010DEd00000366*
+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge
+
+pci:v000010DEd00000367*
+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge
+
+pci:v000010DEd00000368*
+ ID_MODEL_FROM_DATABASE=MCP55 SMBus
+
+pci:v000010DEd00000368sv00001028sd0000020C*
+ ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 SMBus
+
+pci:v000010DEd00000368sv00001028sd00000221*
+ ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 SMBus
+
+pci:v000010DEd00000368sv0000147Bsd00001C24*
+ ID_MODEL_FROM_DATABASE=KN9 series mainboard
+
+pci:v000010DEd00000369*
+ ID_MODEL_FROM_DATABASE=MCP55 Memory Controller
+
+pci:v000010DEd00000369sv0000147Bsd00001C24*
+ ID_MODEL_FROM_DATABASE=KN9 series mainboard
+
+pci:v000010DEd0000036A*
+ ID_MODEL_FROM_DATABASE=MCP55 Memory Controller
+
+pci:v000010DEd0000036B*
+ ID_MODEL_FROM_DATABASE=MCP55 SMU
+
+pci:v000010DEd0000036C*
+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller
+
+pci:v000010DEd0000036Csv00001028sd0000020C*
+ ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 USB Controller
+
+pci:v000010DEd0000036Csv00001028sd00000221*
+ ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 USB Controller
+
+pci:v000010DEd0000036Csv0000147Bsd00001C24*
+ ID_MODEL_FROM_DATABASE=KN9 series mainboard
+
+pci:v000010DEd0000036D*
+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller
+
+pci:v000010DEd0000036Dsv00001028sd0000020C*
+ ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 USB Controller
+
+pci:v000010DEd0000036Dsv00001028sd00000221*
+ ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 USB Controller
+
+pci:v000010DEd0000036Dsv0000147Bsd00001C24*
+ ID_MODEL_FROM_DATABASE=KN9 series mainboard
+
+pci:v000010DEd0000036E*
+ ID_MODEL_FROM_DATABASE=MCP55 IDE
+
+pci:v000010DEd0000036Esv0000147Bsd00001C24*
+ ID_MODEL_FROM_DATABASE=KN9 series mainboard
+
+pci:v000010DEd00000370*
+ ID_MODEL_FROM_DATABASE=MCP55 PCI bridge
+
+pci:v000010DEd00000371*
+ ID_MODEL_FROM_DATABASE=MCP55 High Definition Audio
+
+pci:v000010DEd00000371sv0000147Bsd00001C24*
+ ID_MODEL_FROM_DATABASE=KN9 series mainboard
+
+pci:v000010DEd00000372*
+ ID_MODEL_FROM_DATABASE=MCP55 Ethernet
+
+pci:v000010DEd00000373*
+ ID_MODEL_FROM_DATABASE=MCP55 Ethernet
+
+pci:v000010DEd00000373sv0000147Bsd00001C24*
+ ID_MODEL_FROM_DATABASE=KN9 series mainboard
+
+pci:v000010DEd00000374*
+ ID_MODEL_FROM_DATABASE=MCP55 PCI Express bridge
+
+pci:v000010DEd00000375*
+ ID_MODEL_FROM_DATABASE=MCP55 PCI Express bridge
+
+pci:v000010DEd00000376*
+ ID_MODEL_FROM_DATABASE=MCP55 PCI Express bridge
+
+pci:v000010DEd00000377*
+ ID_MODEL_FROM_DATABASE=MCP55 PCI Express bridge
+
+pci:v000010DEd00000378*
+ ID_MODEL_FROM_DATABASE=MCP55 PCI Express bridge
+
+pci:v000010DEd0000037A*
+ ID_MODEL_FROM_DATABASE=MCP55 Memory Controller
+
+pci:v000010DEd0000037E*
+ ID_MODEL_FROM_DATABASE=MCP55 SATA Controller
+
+pci:v000010DEd0000037F*
+ ID_MODEL_FROM_DATABASE=MCP55 SATA Controller
+
+pci:v000010DEd0000037Fsv00001028sd00000221*
+ ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 SATA Controller
+
+pci:v000010DEd0000037Fsv0000147Bsd00001C24*
+ ID_MODEL_FROM_DATABASE=KN9 series mainboard
+
+pci:v000010DEd0000038B*
+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7650 GS]
+
+pci:v000010DEd00000390*
+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7650 GS]
+
+pci:v000010DEd00000391*
+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT]
+
+pci:v000010DEd00000391sv00001458sd00003427*
+ ID_MODEL_FROM_DATABASE=GV-NX76T128D-RH
+
+pci:v000010DEd00000392*
+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS]
+
+pci:v000010DEd00000392sv00001462sd00000622*
+ ID_MODEL_FROM_DATABASE=NX7600GS-T2D256EH
+
+pci:v000010DEd00000393*
+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT]
+
+pci:v000010DEd00000393sv000010DEsd00000412*
+ ID_MODEL_FROM_DATABASE=NX7300GT-TD256EH
+
+pci:v000010DEd00000393sv00001462sd00000412*
+ ID_MODEL_FROM_DATABASE=NX7300GT-TD256EH
+
+pci:v000010DEd00000394*
+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 LE]
+
+pci:v000010DEd00000395*
+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT]
+
+pci:v000010DEd00000396*
+ ID_MODEL_FROM_DATABASE=G73
+
+pci:v000010DEd00000397*
+ ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7700]
+
+pci:v000010DEd00000398*
+ ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600]
+
+pci:v000010DEd00000398sv00001025sd0000006C*
+ ID_MODEL_FROM_DATABASE=Acer 9814 WKMI
+
+pci:v000010DEd00000399*
+ ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600 GT]
+
+pci:v000010DEd0000039A*
+ ID_MODEL_FROM_DATABASE=G73M [Quadro NVS 300M]
+
+pci:v000010DEd0000039B*
+ ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7900 SE]
+
+pci:v000010DEd0000039C*
+ ID_MODEL_FROM_DATABASE=G73GLM [Quadro FX 550M]
+
+pci:v000010DEd0000039Csv000010DEsd0000039C*
+ ID_MODEL_FROM_DATABASE=Quadro FX 560M
+
+pci:v000010DEd0000039D*
+ ID_MODEL_FROM_DATABASE=G73
+
+pci:v000010DEd0000039E*
+ ID_MODEL_FROM_DATABASE=G73GL [Quadro FX 560]
+
+pci:v000010DEd0000039F*
+ ID_MODEL_FROM_DATABASE=G73
+
+pci:v000010DEd000003A0*
+ ID_MODEL_FROM_DATABASE=C55 Host Bridge
+
+pci:v000010DEd000003A1*
+ ID_MODEL_FROM_DATABASE=C55 Host Bridge
+
+pci:v000010DEd000003A2*
+ ID_MODEL_FROM_DATABASE=C55 Host Bridge
+
+pci:v000010DEd000003A3*
+ ID_MODEL_FROM_DATABASE=C55 Host Bridge
+
+pci:v000010DEd000003A4*
+ ID_MODEL_FROM_DATABASE=C55 Host Bridge
+
+pci:v000010DEd000003A5*
+ ID_MODEL_FROM_DATABASE=C55 Host Bridge
+
+pci:v000010DEd000003A6*
+ ID_MODEL_FROM_DATABASE=C55 Host Bridge
+
+pci:v000010DEd000003A7*
+ ID_MODEL_FROM_DATABASE=C55 Host Bridge
+
+pci:v000010DEd000003A8*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003A9*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003AA*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003AB*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003AC*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003AD*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003AE*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003AF*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003B0*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003B1*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003B2*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003B3*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003B4*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003B5*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003B6*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003B7*
+ ID_MODEL_FROM_DATABASE=C55 PCI Express bridge
+
+pci:v000010DEd000003B8*
+ ID_MODEL_FROM_DATABASE=C55 PCI Express bridge
+
+pci:v000010DEd000003B9*
+ ID_MODEL_FROM_DATABASE=C55 PCI Express bridge
+
+pci:v000010DEd000003BA*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003BB*
+ ID_MODEL_FROM_DATABASE=C55 PCI Express bridge
+
+pci:v000010DEd000003BC*
+ ID_MODEL_FROM_DATABASE=C55 Memory Controller
+
+pci:v000010DEd000003D0*
+ ID_MODEL_FROM_DATABASE=C61 [GeForce 6150SE nForce 430]
+
+pci:v000010DEd000003D0sv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003D1*
+ ID_MODEL_FROM_DATABASE=C61 [GeForce 6100 nForce 405]
+
+pci:v000010DEd000003D2*
+ ID_MODEL_FROM_DATABASE=C61 [GeForce 6100 nForce 400]
+
+pci:v000010DEd000003D5*
+ ID_MODEL_FROM_DATABASE=C61 [GeForce 6100 nForce 420]
+
+pci:v000010DEd000003D6*
+ ID_MODEL_FROM_DATABASE=C61 [GeForce 7025 / nForce 630a]
+
+pci:v000010DEd000003E0*
+ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge
+
+pci:v000010DEd000003E0sv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003E0sv00001849sd000003E0*
+ ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board
+
+pci:v000010DEd000003E1*
+ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge
+
+pci:v000010DEd000003E1sv00001043sd000083A4*
+ ID_MODEL_FROM_DATABASE=M4N68T series motherboard
+
+pci:v000010DEd000003E2*
+ ID_MODEL_FROM_DATABASE=MCP61 Host Bridge
+
+pci:v000010DEd000003E2sv00001043sd000083A4*
+ ID_MODEL_FROM_DATABASE=M4N68T series motherboard
+
+pci:v000010DEd000003E3*
+ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge
+
+pci:v000010DEd000003E4*
+ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio
+
+pci:v000010DEd000003E5*
+ ID_MODEL_FROM_DATABASE=MCP61 Ethernet
+
+pci:v000010DEd000003E6*
+ ID_MODEL_FROM_DATABASE=MCP61 Ethernet
+
+pci:v000010DEd000003E7*
+ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller
+
+pci:v000010DEd000003E8*
+ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge
+
+pci:v000010DEd000003E8sv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003E8sv00001849sd000003E8*
+ ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board
+
+pci:v000010DEd000003E9*
+ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge
+
+pci:v000010DEd000003E9sv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003E9sv00001849sd000003E9*
+ ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board
+
+pci:v000010DEd000003EA*
+ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller
+
+pci:v000010DEd000003EAsv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003EAsv00001849sd000003EA*
+ ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board
+
+pci:v000010DEd000003EB*
+ ID_MODEL_FROM_DATABASE=MCP61 SMBus
+
+pci:v000010DEd000003EBsv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003EBsv00001043sd000083A4*
+ ID_MODEL_FROM_DATABASE=M4N68T series motherboard
+
+pci:v000010DEd000003EBsv00001849sd000003EB*
+ ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board
+
+pci:v000010DEd000003EC*
+ ID_MODEL_FROM_DATABASE=MCP61 IDE
+
+pci:v000010DEd000003ECsv00001025sd00000392*
+ ID_MODEL_FROM_DATABASE=ET1350
+
+pci:v000010DEd000003ECsv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003ECsv00001043sd000083A4*
+ ID_MODEL_FROM_DATABASE=M4N68T series motherboard
+
+pci:v000010DEd000003ECsv00001849sd000003EC*
+ ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board
+
+pci:v000010DEd000003EE*
+ ID_MODEL_FROM_DATABASE=MCP61 Ethernet
+
+pci:v000010DEd000003EF*
+ ID_MODEL_FROM_DATABASE=MCP61 Ethernet
+
+pci:v000010DEd000003EFsv00001025sd00008000*
+ ID_MODEL_FROM_DATABASE=ET1350
+
+pci:v000010DEd000003EFsv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003EFsv00001043sd000083A4*
+ ID_MODEL_FROM_DATABASE=M4N68T series motherboard
+
+pci:v000010DEd000003EFsv00001849sd000003EF*
+ ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board
+
+pci:v000010DEd000003F0*
+ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio
+
+pci:v000010DEd000003F0sv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003F0sv00001043sd00008415*
+ ID_MODEL_FROM_DATABASE=M4N68T series motherboard
+
+pci:v000010DEd000003F0sv00001849sd00000888*
+ ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board
+
+pci:v000010DEd000003F1*
+ ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller
+
+pci:v000010DEd000003F1sv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003F1sv00001043sd000083A4*
+ ID_MODEL_FROM_DATABASE=M4N68T series motherboard
+
+pci:v000010DEd000003F1sv00001849sd000003F1*
+ ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board
+
+pci:v000010DEd000003F2*
+ ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller
+
+pci:v000010DEd000003F2sv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003F2sv00001043sd000083A4*
+ ID_MODEL_FROM_DATABASE=M4N68T series motherboard
+
+pci:v000010DEd000003F2sv00001849sd000003F2*
+ ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board
+
+pci:v000010DEd000003F3*
+ ID_MODEL_FROM_DATABASE=MCP61 PCI bridge
+
+pci:v000010DEd000003F3sv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003F3sv00001849sd000003F3*
+ ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board
+
+pci:v000010DEd000003F4*
+ ID_MODEL_FROM_DATABASE=MCP61 SMU
+
+pci:v000010DEd000003F5*
+ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller
+
+pci:v000010DEd000003F5sv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003F5sv00001043sd000083A4*
+ ID_MODEL_FROM_DATABASE=M4N68T series motherboard
+
+pci:v000010DEd000003F5sv00001849sd000003EB*
+ ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board
+
+pci:v000010DEd000003F6*
+ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller
+
+pci:v000010DEd000003F6sv00001028sd0000020E*
+ ID_MODEL_FROM_DATABASE=Inspiron 531
+
+pci:v000010DEd000003F6sv00001043sd000083A4*
+ ID_MODEL_FROM_DATABASE=M4N68T series motherboard
+
+pci:v000010DEd000003F6sv00001849sd000003F6*
+ ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board
+
+pci:v000010DEd000003F7*
+ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller
+
+pci:v000010DEd00000400*
+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GTS]
+
+pci:v000010DEd00000400sv00001043sd00008241*
+ ID_MODEL_FROM_DATABASE=EN8600GTS
+
+pci:v000010DEd00000401*
+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT]
+
+pci:v000010DEd00000402*
+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT]
+
+pci:v000010DEd00000402sv00001458sd00003455*
+ ID_MODEL_FROM_DATABASE=GV-NX86T512H
+
+pci:v000010DEd00000402sv00001462sd00000910*
+ ID_MODEL_FROM_DATABASE=NX8600GT-T2D256EZ
+
+pci:v000010DEd00000403*
+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GS]
+
+pci:v000010DEd00000404*
+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8400 GS]
+
+pci:v000010DEd00000404sv00001462sd00001230*
+ ID_MODEL_FROM_DATABASE=NX8400GS-TD256E
+
+pci:v000010DEd00000405*
+ ID_MODEL_FROM_DATABASE=G84M [GeForce 9500M GS]
+
+pci:v000010DEd00000406*
+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8300 GS]
+
+pci:v000010DEd00000407*
+ ID_MODEL_FROM_DATABASE=G84M [GeForce 8600M GT]
+
+pci:v000010DEd00000408*
+ ID_MODEL_FROM_DATABASE=G84M [GeForce 9650M GS]
+
+pci:v000010DEd00000409*
+ ID_MODEL_FROM_DATABASE=G84M [GeForce 8700M GT]
+
+pci:v000010DEd0000040A*
+ ID_MODEL_FROM_DATABASE=G84GL [Quadro FX 370]
+
+pci:v000010DEd0000040B*
+ ID_MODEL_FROM_DATABASE=G84GLM [Quadro NVS 320M]
+
+pci:v000010DEd0000040C*
+ ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 570M]
+
+pci:v000010DEd0000040Csv000017AAsd000020D9*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61p
+
+pci:v000010DEd0000040D*
+ ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 1600M]
+
+pci:v000010DEd0000040E*
+ ID_MODEL_FROM_DATABASE=G84GL [Quadro FX 570]
+
+pci:v000010DEd0000040F*
+ ID_MODEL_FROM_DATABASE=G84GL [Quadro FX 1700]
+
+pci:v000010DEd00000410*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce GT 330]
+
+pci:v000010DEd00000414*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GT]
+
+pci:v000010DEd00000420*
+ ID_MODEL_FROM_DATABASE=G86 [GeForce 8400 SE]
+
+pci:v000010DEd00000421*
+ ID_MODEL_FROM_DATABASE=G86 [GeForce 8500 GT]
+
+pci:v000010DEd00000421sv00001462sd00000960*
+ ID_MODEL_FROM_DATABASE=NX8500GT-TD512EH/M2
+
+pci:v000010DEd00000422*
+ ID_MODEL_FROM_DATABASE=G86 [GeForce 8400 GS]
+
+pci:v000010DEd00000423*
+ ID_MODEL_FROM_DATABASE=G86 [GeForce 8300 GS]
+
+pci:v000010DEd00000424*
+ ID_MODEL_FROM_DATABASE=G86 [GeForce 8400 GS]
+
+pci:v000010DEd00000425*
+ ID_MODEL_FROM_DATABASE=G86M [GeForce 8600M GS]
+
+pci:v000010DEd00000425sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v000010DEd00000426*
+ ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GT]
+
+pci:v000010DEd00000427*
+ ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GS]
+
+pci:v000010DEd00000427sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v000010DEd00000427sv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v000010DEd00000428*
+ ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M G]
+
+pci:v000010DEd00000429*
+ ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 140M]
+
+pci:v000010DEd00000429sv000017AAsd000020D8*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v000010DEd0000042A*
+ ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 130M]
+
+pci:v000010DEd0000042B*
+ ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 135M]
+
+pci:v000010DEd0000042C*
+ ID_MODEL_FROM_DATABASE=G86 [GeForce 9400 GT]
+
+pci:v000010DEd0000042D*
+ ID_MODEL_FROM_DATABASE=G86GLM [Quadro FX 360M]
+
+pci:v000010DEd0000042E*
+ ID_MODEL_FROM_DATABASE=G86M [GeForce 9300M G]
+
+pci:v000010DEd0000042F*
+ ID_MODEL_FROM_DATABASE=G86 [Quadro NVS 290]
+
+pci:v000010DEd00000440*
+ ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge
+
+pci:v000010DEd00000441*
+ ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge
+
+pci:v000010DEd00000442*
+ ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge
+
+pci:v000010DEd00000442sv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v000010DEd00000443*
+ ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge
+
+pci:v000010DEd00000444*
+ ID_MODEL_FROM_DATABASE=MCP65 Memory Controller
+
+pci:v000010DEd00000444sv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v000010DEd00000445*
+ ID_MODEL_FROM_DATABASE=MCP65 Memory Controller
+
+pci:v000010DEd00000446*
+ ID_MODEL_FROM_DATABASE=MCP65 SMBus
+
+pci:v000010DEd00000446sv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v000010DEd00000447*
+ ID_MODEL_FROM_DATABASE=MCP65 SMU
+
+pci:v000010DEd00000447sv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v000010DEd00000448*
+ ID_MODEL_FROM_DATABASE=MCP65 IDE
+
+pci:v000010DEd00000448sv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v000010DEd00000449*
+ ID_MODEL_FROM_DATABASE=MCP65 PCI bridge
+
+pci:v000010DEd00000449sv000010DEsd0000CB84*
+ ID_MODEL_FROM_DATABASE=HP Pavilion dv9668eg Laptop
+
+pci:v000010DEd0000044A*
+ ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio
+
+pci:v000010DEd0000044Asv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v000010DEd0000044B*
+ ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio
+
+pci:v000010DEd0000044C*
+ ID_MODEL_FROM_DATABASE=MCP65 AHCI Controller
+
+pci:v000010DEd0000044D*
+ ID_MODEL_FROM_DATABASE=MCP65 AHCI Controller
+
+pci:v000010DEd0000044E*
+ ID_MODEL_FROM_DATABASE=MCP65 AHCI Controller
+
+pci:v000010DEd0000044F*
+ ID_MODEL_FROM_DATABASE=MCP65 AHCI Controller
+
+pci:v000010DEd00000450*
+ ID_MODEL_FROM_DATABASE=MCP65 Ethernet
+
+pci:v000010DEd00000450sv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v000010DEd00000451*
+ ID_MODEL_FROM_DATABASE=MCP65 Ethernet
+
+pci:v000010DEd00000452*
+ ID_MODEL_FROM_DATABASE=MCP65 Ethernet
+
+pci:v000010DEd00000453*
+ ID_MODEL_FROM_DATABASE=MCP65 Ethernet
+
+pci:v000010DEd00000454*
+ ID_MODEL_FROM_DATABASE=MCP65 USB 1.1 OHCI Controller
+
+pci:v000010DEd00000454sv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v000010DEd00000455*
+ ID_MODEL_FROM_DATABASE=MCP65 USB 2.0 EHCI Controller
+
+pci:v000010DEd00000455sv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v000010DEd00000456*
+ ID_MODEL_FROM_DATABASE=MCP65 USB Controller
+
+pci:v000010DEd00000457*
+ ID_MODEL_FROM_DATABASE=MCP65 USB Controller
+
+pci:v000010DEd00000458*
+ ID_MODEL_FROM_DATABASE=MCP65 PCI Express bridge
+
+pci:v000010DEd00000458sv000010DEsd00000000*
+ ID_MODEL_FROM_DATABASE=MCP65 PCI Express bridge
+
+pci:v000010DEd00000459*
+ ID_MODEL_FROM_DATABASE=MCP65 PCI Express bridge
+
+pci:v000010DEd00000459sv000010DEsd00000000*
+ ID_MODEL_FROM_DATABASE=MCP65 PCI Express bridge
+
+pci:v000010DEd0000045A*
+ ID_MODEL_FROM_DATABASE=MCP65 PCI Express bridge
+
+pci:v000010DEd0000045Asv000010DEsd00000000*
+ ID_MODEL_FROM_DATABASE=MCP65 PCI Express bridge
+
+pci:v000010DEd0000045B*
+ ID_MODEL_FROM_DATABASE=MCP65 PCI Express bridge
+
+pci:v000010DEd0000045Bsv000010DEsd00000000*
+ ID_MODEL_FROM_DATABASE=MCP65 PCI Express bridge
+
+pci:v000010DEd0000045C*
+ ID_MODEL_FROM_DATABASE=MCP65 SATA Controller
+
+pci:v000010DEd0000045D*
+ ID_MODEL_FROM_DATABASE=MCP65 SATA Controller
+
+pci:v000010DEd0000045Dsv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v000010DEd0000045E*
+ ID_MODEL_FROM_DATABASE=MCP65 SATA Controller
+
+pci:v000010DEd0000045F*
+ ID_MODEL_FROM_DATABASE=MCP65 SATA Controller
+
+pci:v000010DEd00000531*
+ ID_MODEL_FROM_DATABASE=C67 [GeForce 7150M / nForce 630M]
+
+pci:v000010DEd00000533*
+ ID_MODEL_FROM_DATABASE=C67 [GeForce 7000M / nForce 610M]
+
+pci:v000010DEd0000053A*
+ ID_MODEL_FROM_DATABASE=C68 [GeForce 7050 PV / nForce 630a]
+
+pci:v000010DEd0000053B*
+ ID_MODEL_FROM_DATABASE=C68 [GeForce 7050 PV / nForce 630a]
+
+pci:v000010DEd0000053Bsv00001043sd00008308*
+ ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord
+
+pci:v000010DEd0000053E*
+ ID_MODEL_FROM_DATABASE=C68 [GeForce 7025 / nForce 630a]
+
+pci:v000010DEd00000541*
+ ID_MODEL_FROM_DATABASE=MCP67 Memory Controller
+
+pci:v000010DEd00000542*
+ ID_MODEL_FROM_DATABASE=MCP67 SMBus
+
+pci:v000010DEd00000542sv00001043sd00008308*
+ ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord
+
+pci:v000010DEd00000543*
+ ID_MODEL_FROM_DATABASE=MCP67 Co-processor
+
+pci:v000010DEd00000547*
+ ID_MODEL_FROM_DATABASE=MCP67 Memory Controller
+
+pci:v000010DEd00000547sv00001043sd00008308*
+ ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord
+
+pci:v000010DEd00000547sv00001849sd00000547*
+ ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready
+
+pci:v000010DEd00000548*
+ ID_MODEL_FROM_DATABASE=MCP67 ISA Bridge
+
+pci:v000010DEd00000548sv00001043sd00008308*
+ ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard
+
+pci:v000010DEd0000054C*
+ ID_MODEL_FROM_DATABASE=MCP67 Ethernet
+
+pci:v000010DEd0000054Csv00001043sd00008308*
+ ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord
+
+pci:v000010DEd0000054Csv00001849sd0000054C*
+ ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready, MCP67 Gigabit Ethernet
+
+pci:v000010DEd0000054D*
+ ID_MODEL_FROM_DATABASE=MCP67 Ethernet
+
+pci:v000010DEd0000054E*
+ ID_MODEL_FROM_DATABASE=MCP67 Ethernet
+
+pci:v000010DEd0000054F*
+ ID_MODEL_FROM_DATABASE=MCP67 Ethernet
+
+pci:v000010DEd00000550*
+ ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller
+
+pci:v000010DEd00000550sv00001043sd00008308*
+ ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard
+
+pci:v000010DEd00000554*
+ ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller
+
+pci:v000010DEd00000554sv00001043sd00008308*
+ ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard
+
+pci:v000010DEd00000555*
+ ID_MODEL_FROM_DATABASE=MCP67 SATA Controller
+
+pci:v000010DEd00000555sv00001043sd00008308*
+ ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard
+
+pci:v000010DEd0000055C*
+ ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio
+
+pci:v000010DEd0000055Csv00001043sd00008290*
+ ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard
+
+pci:v000010DEd0000055D*
+ ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio
+
+pci:v000010DEd0000055E*
+ ID_MODEL_FROM_DATABASE=MCP67 OHCI USB 1.1 Controller
+
+pci:v000010DEd0000055Esv00001043sd00008308*
+ ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard
+
+pci:v000010DEd0000055F*
+ ID_MODEL_FROM_DATABASE=MCP67 EHCI USB 2.0 Controller
+
+pci:v000010DEd0000055Fsv00001043sd00008308*
+ ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard
+
+pci:v000010DEd00000560*
+ ID_MODEL_FROM_DATABASE=MCP67 IDE Controller
+
+pci:v000010DEd00000560sv0000F043sd00008308*
+ ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard
+
+pci:v000010DEd00000561*
+ ID_MODEL_FROM_DATABASE=MCP67 PCI Bridge
+
+pci:v000010DEd00000562*
+ ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge
+
+pci:v000010DEd00000562sv00001849sd00000562*
+ ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready
+
+pci:v000010DEd00000563*
+ ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge
+
+pci:v000010DEd00000568*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller
+
+pci:v000010DEd00000568sv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd00000568sv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd00000568sv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd00000568sv00001849sd00000568*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller
+
+pci:v000010DEd00000569*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge
+
+pci:v000010DEd00000569sv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd00000569sv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd00000569sv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd00000569sv00001849sd00000569*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge
+
+pci:v000010DEd0000056A*
+ ID_MODEL_FROM_DATABASE=MCP73 [nForce 630i] USB 2.0 Controller (EHCI)
+
+pci:v000010DEd0000056Asv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd0000056C*
+ ID_MODEL_FROM_DATABASE=MCP73 IDE
+
+pci:v000010DEd0000056Csv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd0000056Csv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd0000056D*
+ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge
+
+pci:v000010DEd0000056Dsv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd0000056E*
+ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge
+
+pci:v000010DEd0000056Esv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd0000056F*
+ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge
+
+pci:v000010DEd0000056Fsv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000005B1*
+ ID_MODEL_FROM_DATABASE=NF200 PCIe 2.0 switch
+
+pci:v000010DEd000005B8*
+ ID_MODEL_FROM_DATABASE=NF200 PCIe 2.0 switch for GTX 295
+
+pci:v000010DEd000005BE*
+ ID_MODEL_FROM_DATABASE=NF200 PCIe 2.0 switch for Quadro Plex S4 / Tesla S870 / Tesla S1070 / Tesla S2050
+
+pci:v000010DEd000005E0*
+ ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 295]
+
+pci:v000010DEd000005E1*
+ ID_MODEL_FROM_DATABASE=GT200 [GeForce GTX 280]
+
+pci:v000010DEd000005E2*
+ ID_MODEL_FROM_DATABASE=GT200 [GeForce GTX 260]
+
+pci:v000010DEd000005E3*
+ ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 285]
+
+pci:v000010DEd000005E6*
+ ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 275]
+
+pci:v000010DEd000005E7*
+ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060]
+
+pci:v000010DEd000005EA*
+ ID_MODEL_FROM_DATABASE=GT200 [GeForce GTX 260]
+
+pci:v000010DEd000005EB*
+ ID_MODEL_FROM_DATABASE=GT200 [GeForce GTX 295]
+
+pci:v000010DEd000005ED*
+ ID_MODEL_FROM_DATABASE=GT200GL [Quadro Plex 2200 D2]
+
+pci:v000010DEd000005F1*
+ ID_MODEL_FROM_DATABASE=GT200 [GeForce GTX 280]
+
+pci:v000010DEd000005F2*
+ ID_MODEL_FROM_DATABASE=GT200 [GeForce GTX 260]
+
+pci:v000010DEd000005F8*
+ ID_MODEL_FROM_DATABASE=GT200GL [Quadro Plex 2200 S4]
+
+pci:v000010DEd000005F9*
+ ID_MODEL_FROM_DATABASE=GT200GL [Quadro CX]
+
+pci:v000010DEd000005FD*
+ ID_MODEL_FROM_DATABASE=GT200GL [Quadro FX 5800]
+
+pci:v000010DEd000005FE*
+ ID_MODEL_FROM_DATABASE=GT200GL [Quadro FX 4800]
+
+pci:v000010DEd000005FF*
+ ID_MODEL_FROM_DATABASE=GT200GL [Quadro FX 3800]
+
+pci:v000010DEd00000600*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GTS 512]
+
+pci:v000010DEd00000601*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GT]
+
+pci:v000010DEd00000602*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT]
+
+pci:v000010DEd00000603*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce GT 230 OEM]
+
+pci:v000010DEd00000604*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GX2]
+
+pci:v000010DEd00000605*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GT]
+
+pci:v000010DEd00000606*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GS]
+
+pci:v000010DEd00000607*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 240]
+
+pci:v000010DEd00000608*
+ ID_MODEL_FROM_DATABASE=G92M [GeForce 9800M GTX]
+
+pci:v000010DEd00000609*
+ ID_MODEL_FROM_DATABASE=G92M [GeForce 8800M GTS]
+
+pci:v000010DEd0000060A*
+ ID_MODEL_FROM_DATABASE=G92M [GeForce GTX 280M]
+
+pci:v000010DEd0000060B*
+ ID_MODEL_FROM_DATABASE=G92M [GeForce 9800M GT]
+
+pci:v000010DEd0000060C*
+ ID_MODEL_FROM_DATABASE=G92M [GeForce 8800M GTX]
+
+pci:v000010DEd0000060D*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GS]
+
+pci:v000010DEd0000060F*
+ ID_MODEL_FROM_DATABASE=G92M [GeForce GTX 285M]
+
+pci:v000010DEd00000610*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce 9600 GSO]
+
+pci:v000010DEd00000610sv00001682sd00002385*
+ ID_MODEL_FROM_DATABASE=GeForce 9600 GSO 768mb
+
+pci:v000010DEd00000611*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT]
+
+pci:v000010DEd00000611sv0000107Dsd00002AB0*
+ ID_MODEL_FROM_DATABASE=Winfast PX8800 GT PCI-E
+
+pci:v000010DEd00000611sv000019DAsd00001040*
+ ID_MODEL_FROM_DATABASE=ZT-88TES2P-FSP
+
+pci:v000010DEd00000612*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GTX / 9800 GTX+]
+
+pci:v000010DEd00000613*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GTX+]
+
+pci:v000010DEd00000614*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GT]
+
+pci:v000010DEd00000614sv0000107Dsd00002AB3*
+ ID_MODEL_FROM_DATABASE=WinFast PX9800 GT (S-Fanpipe)
+
+pci:v000010DEd00000615*
+ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250]
+
+pci:v000010DEd00000615sv00003842sd00001150*
+ ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 512-P3-1150-TR
+
+pci:v000010DEd00000615sv00003842sd00001151*
+ ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 512-P3-1151-TR
+
+pci:v000010DEd00000615sv00003842sd00001155*
+ ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 01G-P3-1155-TR
+
+pci:v000010DEd00000615sv00003842sd00001156*
+ ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 01G-P3-1156-TR
+
+pci:v000010DEd00000617*
+ ID_MODEL_FROM_DATABASE=G92M [GeForce 9800M GTX]
+
+pci:v000010DEd00000618*
+ ID_MODEL_FROM_DATABASE=G92M [GeForce GTX 260M]
+
+pci:v000010DEd00000619*
+ ID_MODEL_FROM_DATABASE=G92GL [Quadro FX 4700 X2]
+
+pci:v000010DEd0000061A*
+ ID_MODEL_FROM_DATABASE=G92GL [Quadro FX 3700]
+
+pci:v000010DEd0000061B*
+ ID_MODEL_FROM_DATABASE=G92GL [Quadro VX 200]
+
+pci:v000010DEd0000061C*
+ ID_MODEL_FROM_DATABASE=G92GLM [Quadro FX 3600M]
+
+pci:v000010DEd0000061D*
+ ID_MODEL_FROM_DATABASE=G92GLM [Quadro FX 2800M]
+
+pci:v000010DEd0000061E*
+ ID_MODEL_FROM_DATABASE=G92GLM [Quadro FX 3700M]
+
+pci:v000010DEd0000061F*
+ ID_MODEL_FROM_DATABASE=G92GLM [Quadro FX 3800M]
+
+pci:v000010DEd00000620*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9800 GT]
+
+pci:v000010DEd00000621*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce GT 230]
+
+pci:v000010DEd00000622*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT]
+
+pci:v000010DEd00000622sv0000107Dsd00002AC1*
+ ID_MODEL_FROM_DATABASE=WinFast PX9600GT 1024MB
+
+pci:v000010DEd00000622sv00001458sd00003481*
+ ID_MODEL_FROM_DATABASE=GV-NX96T512HP
+
+pci:v000010DEd00000623*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GS]
+
+pci:v000010DEd00000624*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT Green Edition]
+
+pci:v000010DEd00000625*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GSO 512]
+
+pci:v000010DEd00000626*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce GT 130]
+
+pci:v000010DEd00000627*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce GT 140]
+
+pci:v000010DEd00000628*
+ ID_MODEL_FROM_DATABASE=G94M [GeForce 9800M GTS]
+
+pci:v000010DEd0000062A*
+ ID_MODEL_FROM_DATABASE=G94M [GeForce 9700M GTS]
+
+pci:v000010DEd0000062B*
+ ID_MODEL_FROM_DATABASE=G94M [GeForce 9800M GS]
+
+pci:v000010DEd0000062C*
+ ID_MODEL_FROM_DATABASE=G94M [GeForce 9800M GTS]
+
+pci:v000010DEd0000062D*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT]
+
+pci:v000010DEd0000062E*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT]
+
+pci:v000010DEd0000062F*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9800 S]
+
+pci:v000010DEd00000630*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT]
+
+pci:v000010DEd00000631*
+ ID_MODEL_FROM_DATABASE=G94M [GeForce GTS 160M]
+
+pci:v000010DEd00000632*
+ ID_MODEL_FROM_DATABASE=G94M [GeForce GTS 150M]
+
+pci:v000010DEd00000633*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce GT 220]
+
+pci:v000010DEd00000635*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GSO]
+
+pci:v000010DEd00000637*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT]
+
+pci:v000010DEd00000638*
+ ID_MODEL_FROM_DATABASE=G94GL [Quadro FX 1800]
+
+pci:v000010DEd0000063A*
+ ID_MODEL_FROM_DATABASE=G94GLM [Quadro FX 2700M]
+
+pci:v000010DEd0000063F*
+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GE]
+
+pci:v000010DEd00000640*
+ ID_MODEL_FROM_DATABASE=G96 [GeForce 9500 GT]
+
+pci:v000010DEd00000641*
+ ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT]
+
+pci:v000010DEd00000643*
+ ID_MODEL_FROM_DATABASE=G96 [GeForce 9500 GT]
+
+pci:v000010DEd00000644*
+ ID_MODEL_FROM_DATABASE=G96 [GeForce 9500 GS]
+
+pci:v000010DEd00000645*
+ ID_MODEL_FROM_DATABASE=G96 [GeForce 9500 GS]
+
+pci:v000010DEd00000646*
+ ID_MODEL_FROM_DATABASE=G96 [GeForce GT 120]
+
+pci:v000010DEd00000647*
+ ID_MODEL_FROM_DATABASE=G96M [GeForce 9600M GT]
+
+pci:v000010DEd00000648*
+ ID_MODEL_FROM_DATABASE=G96M [GeForce 9600M GS]
+
+pci:v000010DEd00000649*
+ ID_MODEL_FROM_DATABASE=G96M [GeForce 9600M GT]
+
+pci:v000010DEd0000064A*
+ ID_MODEL_FROM_DATABASE=G96M [GeForce 9700M GT]
+
+pci:v000010DEd0000064B*
+ ID_MODEL_FROM_DATABASE=G96M [GeForce 9500M G]
+
+pci:v000010DEd0000064C*
+ ID_MODEL_FROM_DATABASE=G96M [GeForce 9650M GT]
+
+pci:v000010DEd0000064D*
+ ID_MODEL_FROM_DATABASE=G96 [GeForce 9600 GT]
+
+pci:v000010DEd0000064E*
+ ID_MODEL_FROM_DATABASE=G96 [GeForce 9600 GT / 9800 GT]
+
+pci:v000010DEd00000651*
+ ID_MODEL_FROM_DATABASE=G96M [GeForce G 110M]
+
+pci:v000010DEd00000652*
+ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 130M]
+
+pci:v000010DEd00000653*
+ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 120M]
+
+pci:v000010DEd00000654*
+ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 220M]
+
+pci:v000010DEd00000655*
+ ID_MODEL_FROM_DATABASE=G96 [GeForce GT 120]
+
+pci:v000010DEd00000656*
+ ID_MODEL_FROM_DATABASE=G96 [GeForce 9650 S]
+
+pci:v000010DEd00000658*
+ ID_MODEL_FROM_DATABASE=G96GL [Quadro FX 380]
+
+pci:v000010DEd00000659*
+ ID_MODEL_FROM_DATABASE=G96GL [Quadro FX 580]
+
+pci:v000010DEd0000065A*
+ ID_MODEL_FROM_DATABASE=G96GLM [Quadro FX 1700M]
+
+pci:v000010DEd0000065B*
+ ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT]
+
+pci:v000010DEd0000065C*
+ ID_MODEL_FROM_DATABASE=G96GLM [Quadro FX 770M]
+
+pci:v000010DEd0000065D*
+ ID_MODEL_FROM_DATABASE=G96 [GeForce 9500 GA / 9600 GT / GTS 250]
+
+pci:v000010DEd0000065F*
+ ID_MODEL_FROM_DATABASE=G96 [GeForce G210]
+
+pci:v000010DEd000006C0*
+ ID_MODEL_FROM_DATABASE=GF100 [GeForce GTX 480]
+
+pci:v000010DEd000006C4*
+ ID_MODEL_FROM_DATABASE=GF100 [GeForce GTX 465]
+
+pci:v000010DEd000006CA*
+ ID_MODEL_FROM_DATABASE=GF100M [GeForce GTX 480M]
+
+pci:v000010DEd000006CB*
+ ID_MODEL_FROM_DATABASE=GF100 [GeForce GTX 480]
+
+pci:v000010DEd000006CD*
+ ID_MODEL_FROM_DATABASE=GF100 [GeForce GTX 470]
+
+pci:v000010DEd000006D1*
+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla C2050 / C2070]
+
+pci:v000010DEd000006D1sv000010DEsd00000771*
+ ID_MODEL_FROM_DATABASE=Tesla C2050
+
+pci:v000010DEd000006D1sv000010DEsd00000772*
+ ID_MODEL_FROM_DATABASE=Tesla C2070
+
+pci:v000010DEd000006D2*
+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070]
+
+pci:v000010DEd000006D2sv000010DEsd00000774*
+ ID_MODEL_FROM_DATABASE=Tesla M2070
+
+pci:v000010DEd000006D2sv000010DEsd00000830*
+ ID_MODEL_FROM_DATABASE=Tesla M2070
+
+pci:v000010DEd000006D2sv000010DEsd00000842*
+ ID_MODEL_FROM_DATABASE=Tesla M2070
+
+pci:v000010DEd000006D2sv000010DEsd0000088F*
+ ID_MODEL_FROM_DATABASE=Tesla X2070
+
+pci:v000010DEd000006D2sv000010DEsd00000908*
+ ID_MODEL_FROM_DATABASE=Tesla M2070
+
+pci:v000010DEd000006D8*
+ ID_MODEL_FROM_DATABASE=GF100GL [Quadro 6000]
+
+pci:v000010DEd000006D9*
+ ID_MODEL_FROM_DATABASE=GF100GL [Quadro 5000]
+
+pci:v000010DEd000006DA*
+ ID_MODEL_FROM_DATABASE=GF100GLM [Quadro 5000M]
+
+pci:v000010DEd000006DC*
+ ID_MODEL_FROM_DATABASE=GF100GL [Quadro 6000]
+
+pci:v000010DEd000006DD*
+ ID_MODEL_FROM_DATABASE=GF100GL [Quadro 4000]
+
+pci:v000010DEd000006DE*
+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor]
+
+pci:v000010DEd000006DEsv000010DEsd00000773*
+ ID_MODEL_FROM_DATABASE=Tesla S2050
+
+pci:v000010DEd000006DEsv000010DEsd0000082F*
+ ID_MODEL_FROM_DATABASE=Tesla M2050
+
+pci:v000010DEd000006DEsv000010DEsd00000840*
+ ID_MODEL_FROM_DATABASE=Tesla X2070
+
+pci:v000010DEd000006DEsv000010DEsd00000842*
+ ID_MODEL_FROM_DATABASE=Tesla M2050
+
+pci:v000010DEd000006DEsv000010DEsd00000846*
+ ID_MODEL_FROM_DATABASE=Tesla M2050
+
+pci:v000010DEd000006DEsv000010DEsd00000866*
+ ID_MODEL_FROM_DATABASE=Tesla M2050
+
+pci:v000010DEd000006DEsv000010DEsd00000907*
+ ID_MODEL_FROM_DATABASE=Tesla M2050
+
+pci:v000010DEd000006DEsv000010DEsd0000091E*
+ ID_MODEL_FROM_DATABASE=Tesla M2050
+
+pci:v000010DEd000006DF*
+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070-Q]
+
+pci:v000010DEd000006DFsv000010DEsd0000084D*
+ ID_MODEL_FROM_DATABASE=Tesla M2070-Q
+
+pci:v000010DEd000006DFsv000010DEsd0000087F*
+ ID_MODEL_FROM_DATABASE=Tesla M2070-Q
+
+pci:v000010DEd000006E0*
+ ID_MODEL_FROM_DATABASE=G98 [GeForce 9300 GE]
+
+pci:v000010DEd000006E1*
+ ID_MODEL_FROM_DATABASE=G98 [GeForce 9300 GS]
+
+pci:v000010DEd000006E2*
+ ID_MODEL_FROM_DATABASE=G98 [GeForce 8400]
+
+pci:v000010DEd000006E3*
+ ID_MODEL_FROM_DATABASE=G98 [GeForce 8300 GS]
+
+pci:v000010DEd000006E4*
+ ID_MODEL_FROM_DATABASE=G98 [GeForce 8400 GS Rev. 2]
+
+pci:v000010DEd000006E4sv00001458sd00003475*
+ ID_MODEL_FROM_DATABASE=GV-NX84S256HE [GeForce 8400 GS]
+
+pci:v000010DEd000006E5*
+ ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS]
+
+pci:v000010DEd000006E6*
+ ID_MODEL_FROM_DATABASE=G98 [GeForce G 100]
+
+pci:v000010DEd000006E7*
+ ID_MODEL_FROM_DATABASE=G98 [GeForce 9300 SE]
+
+pci:v000010DEd000006E8*
+ ID_MODEL_FROM_DATABASE=G98M [GeForce 9200M GS]
+
+pci:v000010DEd000006E9*
+ ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS]
+
+pci:v000010DEd000006E9sv00001043sd000019B2*
+ ID_MODEL_FROM_DATABASE=U6V laptop
+
+pci:v000010DEd000006EA*
+ ID_MODEL_FROM_DATABASE=G98M [Quadro NVS 150M]
+
+pci:v000010DEd000006EB*
+ ID_MODEL_FROM_DATABASE=G98M [Quadro NVS 160M]
+
+pci:v000010DEd000006EC*
+ ID_MODEL_FROM_DATABASE=G98M [GeForce G 105M]
+
+pci:v000010DEd000006ED*
+ ID_MODEL_FROM_DATABASE=G98 [GeForce 9600 GT / 9800 GT]
+
+pci:v000010DEd000006EE*
+ ID_MODEL_FROM_DATABASE=G98 [GeForce 9600 GT / 9800 GT]
+
+pci:v000010DEd000006EF*
+ ID_MODEL_FROM_DATABASE=G98M [GeForce G 103M]
+
+pci:v000010DEd000006F1*
+ ID_MODEL_FROM_DATABASE=G98M [GeForce G 105M]
+
+pci:v000010DEd000006F8*
+ ID_MODEL_FROM_DATABASE=G98 [Quadro NVS 420]
+
+pci:v000010DEd000006F9*
+ ID_MODEL_FROM_DATABASE=G98GL [Quadro FX 370 LP]
+
+pci:v000010DEd000006FA*
+ ID_MODEL_FROM_DATABASE=G98 [Quadro NVS 450]
+
+pci:v000010DEd000006FB*
+ ID_MODEL_FROM_DATABASE=G98GLM [Quadro FX 370M]
+
+pci:v000010DEd000006FD*
+ ID_MODEL_FROM_DATABASE=G98 [Quadro NVS 295]
+
+pci:v000010DEd000006FF*
+ ID_MODEL_FROM_DATABASE=G98 [HICx16 + Graphics]
+
+pci:v000010DEd000006FFsv000010DEsd00000711*
+ ID_MODEL_FROM_DATABASE=HICx8 + Graphics
+
+pci:v000010DEd00000751*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller
+
+pci:v000010DEd00000751sv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd00000751sv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd00000751sv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd00000751sv00001849sd00000751*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller
+
+pci:v000010DEd00000752*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus
+
+pci:v000010DEd00000752sv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd00000752sv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd00000752sv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd00000752sv00001849sd00000752*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 SMBus
+
+pci:v000010DEd00000753*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor
+
+pci:v000010DEd00000753sv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd00000753sv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd00000753sv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd00000753sv00001849sd00000753*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Co-Processor
+
+pci:v000010DEd00000754*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller
+
+pci:v000010DEd00000754sv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd00000754sv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd00000754sv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd00000754sv00001849sd00000754*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller
+
+pci:v000010DEd00000759*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE
+
+pci:v000010DEd00000759sv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd00000759sv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd00000759sv00001849sd00000759*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 IDE
+
+pci:v000010DEd0000075A*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge
+
+pci:v000010DEd0000075Asv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd0000075Asv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd0000075Asv00001849sd0000075A*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Bridge
+
+pci:v000010DEd0000075B*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge
+
+pci:v000010DEd0000075Bsv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd0000075Bsv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd0000075Bsv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd0000075Bsv00001849sd0000075B*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge
+
+pci:v000010DEd0000075C*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge
+
+pci:v000010DEd0000075Csv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd0000075Csv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd0000075Csv00001849sd0000075C*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 LPC Bridge
+
+pci:v000010DEd0000075D*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge
+
+pci:v000010DEd0000075Dsv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd00000760*
+ ID_MODEL_FROM_DATABASE=MCP77 Ethernet
+
+pci:v000010DEd00000760sv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd00000760sv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd00000760sv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd00000760sv00001849sd00000760*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Ethernet
+
+pci:v000010DEd00000761*
+ ID_MODEL_FROM_DATABASE=MCP77 Ethernet
+
+pci:v000010DEd00000762*
+ ID_MODEL_FROM_DATABASE=MCP77 Ethernet
+
+pci:v000010DEd00000763*
+ ID_MODEL_FROM_DATABASE=MCP77 Ethernet
+
+pci:v000010DEd00000774*
+ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio
+
+pci:v000010DEd00000774sv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd00000774sv00001043sd000082FE*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd00000774sv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd00000774sv00001849sd00003662*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 High Definition Audio
+
+pci:v000010DEd00000778*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge
+
+pci:v000010DEd00000778sv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd00000778sv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd00000778sv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd00000778sv00001849sd00000778*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge
+
+pci:v000010DEd0000077A*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge
+
+pci:v000010DEd0000077Asv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd0000077Asv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd0000077Asv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd0000077Asv00001849sd0000077A*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Bridge
+
+pci:v000010DEd0000077B*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller
+
+pci:v000010DEd0000077Bsv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd0000077Bsv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd0000077Bsv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd0000077Bsv00001849sd0000077B*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller
+
+pci:v000010DEd0000077C*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller
+
+pci:v000010DEd0000077Csv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd0000077Csv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd0000077Csv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd0000077Csv00001849sd0000077C*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller
+
+pci:v000010DEd0000077D*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller
+
+pci:v000010DEd0000077Dsv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd0000077Dsv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd0000077Dsv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd0000077Dsv00001849sd0000077D*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller
+
+pci:v000010DEd0000077E*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller
+
+pci:v000010DEd0000077Esv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd0000077Esv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd0000077Esv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd0000077Esv00001849sd0000077E*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller
+
+pci:v000010DEd000007C0*
+ ID_MODEL_FROM_DATABASE=MCP73 Host Bridge
+
+pci:v000010DEd000007C0sv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007C1*
+ ID_MODEL_FROM_DATABASE=MCP73 Host Bridge
+
+pci:v000010DEd000007C1sv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007C2*
+ ID_MODEL_FROM_DATABASE=MCP73 Host Bridge
+
+pci:v000010DEd000007C5*
+ ID_MODEL_FROM_DATABASE=MCP73 Host Bridge
+
+pci:v000010DEd000007C8*
+ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller
+
+pci:v000010DEd000007C8sv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007C8sv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007CB*
+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller
+
+pci:v000010DEd000007CBsv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007CBsv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007CD*
+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller
+
+pci:v000010DEd000007CDsv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007CDsv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007CE*
+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller
+
+pci:v000010DEd000007CEsv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007CEsv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007CF*
+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller
+
+pci:v000010DEd000007CFsv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007CFsv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007D0*
+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller
+
+pci:v000010DEd000007D0sv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007D0sv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007D1*
+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller
+
+pci:v000010DEd000007D1sv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007D1sv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007D2*
+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller
+
+pci:v000010DEd000007D2sv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007D2sv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007D3*
+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller
+
+pci:v000010DEd000007D3sv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007D3sv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007D6*
+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller
+
+pci:v000010DEd000007D6sv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007D6sv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007D7*
+ ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge
+
+pci:v000010DEd000007D7sv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007D7sv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007D8*
+ ID_MODEL_FROM_DATABASE=MCP73 SMBus
+
+pci:v000010DEd000007D8sv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007D8sv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007D9*
+ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller
+
+pci:v000010DEd000007D9sv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007D9sv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007DA*
+ ID_MODEL_FROM_DATABASE=MCP73 Co-processor
+
+pci:v000010DEd000007DAsv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007DC*
+ ID_MODEL_FROM_DATABASE=MCP73 Ethernet
+
+pci:v000010DEd000007DD*
+ ID_MODEL_FROM_DATABASE=MCP73 Ethernet
+
+pci:v000010DEd000007DE*
+ ID_MODEL_FROM_DATABASE=MCP73 Ethernet
+
+pci:v000010DEd000007DF*
+ ID_MODEL_FROM_DATABASE=MCP73 Ethernet
+
+pci:v000010DEd000007E0*
+ ID_MODEL_FROM_DATABASE=C73 [GeForce 7150 / nForce 630i]
+
+pci:v000010DEd000007E0sv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd000007E1*
+ ID_MODEL_FROM_DATABASE=C73 [GeForce 7100 / nForce 630i]
+
+pci:v000010DEd000007E1sv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007E2*
+ ID_MODEL_FROM_DATABASE=C73 [GeForce 7050 / nForce 630i]
+
+pci:v000010DEd000007E3*
+ ID_MODEL_FROM_DATABASE=C73 [GeForce 7050 / nForce 610i]
+
+pci:v000010DEd000007E5*
+ ID_MODEL_FROM_DATABASE=C73 [GeForce 7100 / nForce 620i]
+
+pci:v000010DEd000007F0*
+ ID_MODEL_FROM_DATABASE=MCP73 IDE
+
+pci:v000010DEd000007F4*
+ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i SATA
+
+pci:v000010DEd000007F4sv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007F8*
+ ID_MODEL_FROM_DATABASE=MCP73 SATA RAID Controller
+
+pci:v000010DEd000007FC*
+ ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio
+
+pci:v000010DEd000007FCsv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007FCsv000010DEsd000007FC*
+ ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio
+
+pci:v000010DEd000007FE*
+ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB
+
+pci:v000010DEd000007FEsv00001019sd0000297A*
+ ID_MODEL_FROM_DATABASE=MCP73PVT-SM
+
+pci:v000010DEd000007FEsv00001AFAsd00007150*
+ ID_MODEL_FROM_DATABASE=JW-IN7150-HD
+
+pci:v000010DEd00000844*
+ ID_MODEL_FROM_DATABASE=C77 [GeForce 9100M G]
+
+pci:v000010DEd00000845*
+ ID_MODEL_FROM_DATABASE=C77 [GeForce 8200M G]
+
+pci:v000010DEd00000846*
+ ID_MODEL_FROM_DATABASE=C77 [GeForce 9200]
+
+pci:v000010DEd00000847*
+ ID_MODEL_FROM_DATABASE=C78 [GeForce 9100]
+
+pci:v000010DEd00000847sv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd00000848*
+ ID_MODEL_FROM_DATABASE=C77 [GeForce 8300]
+
+pci:v000010DEd00000849*
+ ID_MODEL_FROM_DATABASE=C77 [GeForce 8200]
+
+pci:v000010DEd00000849sv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd00000849sv00001849sd00000849*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 GeForce 8200
+
+pci:v000010DEd0000084A*
+ ID_MODEL_FROM_DATABASE=C77 [nForce 730a]
+
+pci:v000010DEd0000084B*
+ ID_MODEL_FROM_DATABASE=C77 [GeForce 8200]
+
+pci:v000010DEd0000084C*
+ ID_MODEL_FROM_DATABASE=C77 [nForce 780a/980a SLI]
+
+pci:v000010DEd0000084D*
+ ID_MODEL_FROM_DATABASE=C77 [nForce 750a SLI]
+
+pci:v000010DEd0000084Dsv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D mGPU
+
+pci:v000010DEd0000084F*
+ ID_MODEL_FROM_DATABASE=C77 [GeForce 8100 / nForce 720a]
+
+pci:v000010DEd00000860*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9300]
+
+pci:v000010DEd00000861*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400]
+
+pci:v000010DEd00000862*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M G]
+
+pci:v000010DEd00000863*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M]
+
+pci:v000010DEd00000864*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9300]
+
+pci:v000010DEd00000865*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9300/ION]
+
+pci:v000010DEd00000866*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M G]
+
+pci:v000010DEd00000867*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400]
+
+pci:v000010DEd00000867sv0000106Bsd000000AD*
+ ID_MODEL_FROM_DATABASE=iMac 9,1
+
+pci:v000010DEd00000868*
+ ID_MODEL_FROM_DATABASE=C79 [nForce 760i SLI]
+
+pci:v000010DEd00000869*
+ ID_MODEL_FROM_DATABASE=MCP7A [GeForce 9400]
+
+pci:v000010DEd0000086A*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400]
+
+pci:v000010DEd0000086C*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9300 / nForce 730i]
+
+pci:v000010DEd0000086D*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9200]
+
+pci:v000010DEd0000086E*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9100M G]
+
+pci:v000010DEd0000086F*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9200M G]
+
+pci:v000010DEd00000870*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M]
+
+pci:v000010DEd00000871*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9200]
+
+pci:v000010DEd00000872*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M]
+
+pci:v000010DEd00000873*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M]
+
+pci:v000010DEd00000874*
+ ID_MODEL_FROM_DATABASE=C79 [ION]
+
+pci:v000010DEd00000876*
+ ID_MODEL_FROM_DATABASE=ION VGA [GeForce 9400M]
+
+pci:v000010DEd0000087A*
+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400]
+
+pci:v000010DEd0000087D*
+ ID_MODEL_FROM_DATABASE=ION VGA
+
+pci:v000010DEd0000087Dsv000019DAsd0000A123*
+ ID_MODEL_FROM_DATABASE=IONITX-F-E
+
+pci:v000010DEd0000087E*
+ ID_MODEL_FROM_DATABASE=ION LE VGA
+
+pci:v000010DEd0000087F*
+ ID_MODEL_FROM_DATABASE=ION LE VGA
+
+pci:v000010DEd000008A2*
+ ID_MODEL_FROM_DATABASE=MCP89 [GeForce 320M]
+
+pci:v000010DEd000008A3*
+ ID_MODEL_FROM_DATABASE=MCP89 [GeForce 320M]
+
+pci:v000010DEd000008A4*
+ ID_MODEL_FROM_DATABASE=MCP89 [GeForce 320M]
+
+pci:v000010DEd00000A20*
+ ID_MODEL_FROM_DATABASE=GT216 [GeForce GT 220]
+
+pci:v000010DEd00000A20sv00001043sd00008311*
+ ID_MODEL_FROM_DATABASE=ENGT220/DI/1GD3(LP)/V2
+
+pci:v000010DEd00000A21*
+ ID_MODEL_FROM_DATABASE=GT216M [GeForce GT 330M]
+
+pci:v000010DEd00000A22*
+ ID_MODEL_FROM_DATABASE=GT216 [GeForce 315]
+
+pci:v000010DEd00000A23*
+ ID_MODEL_FROM_DATABASE=GT216 [GeForce 210]
+
+pci:v000010DEd00000A26*
+ ID_MODEL_FROM_DATABASE=GT216 [GeForce 405]
+
+pci:v000010DEd00000A27*
+ ID_MODEL_FROM_DATABASE=GT216 [GeForce 405]
+
+pci:v000010DEd00000A28*
+ ID_MODEL_FROM_DATABASE=GT216M [GeForce GT 230M]
+
+pci:v000010DEd00000A29*
+ ID_MODEL_FROM_DATABASE=GT216M [GeForce GT 330M]
+
+pci:v000010DEd00000A2A*
+ ID_MODEL_FROM_DATABASE=GT216M [GeForce GT 230M]
+
+pci:v000010DEd00000A2B*
+ ID_MODEL_FROM_DATABASE=GT216M [GeForce GT 330M]
+
+pci:v000010DEd00000A2C*
+ ID_MODEL_FROM_DATABASE=GT216M [NVS 5100M]
+
+pci:v000010DEd00000A2D*
+ ID_MODEL_FROM_DATABASE=GT216M [GeForce GT 320M]
+
+pci:v000010DEd00000A30*
+ ID_MODEL_FROM_DATABASE=GT216 [GeForce 505]
+
+pci:v000010DEd00000A32*
+ ID_MODEL_FROM_DATABASE=GT216 [GeForce GT 415]
+
+pci:v000010DEd00000A34*
+ ID_MODEL_FROM_DATABASE=GT216M [GeForce GT 240M]
+
+pci:v000010DEd00000A35*
+ ID_MODEL_FROM_DATABASE=GT216M [GeForce GT 325M]
+
+pci:v000010DEd00000A38*
+ ID_MODEL_FROM_DATABASE=GT216GL [Quadro 400]
+
+pci:v000010DEd00000A3C*
+ ID_MODEL_FROM_DATABASE=GT216GLM [Quadro FX 880M]
+
+pci:v000010DEd00000A60*
+ ID_MODEL_FROM_DATABASE=GT218 [GeForce G210]
+
+pci:v000010DEd00000A62*
+ ID_MODEL_FROM_DATABASE=GT218 [GeForce 205]
+
+pci:v000010DEd00000A63*
+ ID_MODEL_FROM_DATABASE=GT218 [GeForce 310]
+
+pci:v000010DEd00000A64*
+ ID_MODEL_FROM_DATABASE=GT218 [ION]
+
+pci:v000010DEd00000A65*
+ ID_MODEL_FROM_DATABASE=GT218 [GeForce 210]
+
+pci:v000010DEd00000A65sv00001043sd00008334*
+ ID_MODEL_FROM_DATABASE=EN210 SILENT
+
+pci:v000010DEd00000A66*
+ ID_MODEL_FROM_DATABASE=GT218 [GeForce 310]
+
+pci:v000010DEd00000A67*
+ ID_MODEL_FROM_DATABASE=GT218 [GeForce 315]
+
+pci:v000010DEd00000A68*
+ ID_MODEL_FROM_DATABASE=GT218M [GeForce G 105M]
+
+pci:v000010DEd00000A69*
+ ID_MODEL_FROM_DATABASE=GT218M [GeForce G 105M]
+
+pci:v000010DEd00000A6A*
+ ID_MODEL_FROM_DATABASE=GT218M [NVS 2100M]
+
+pci:v000010DEd00000A6C*
+ ID_MODEL_FROM_DATABASE=GT218M [NVS 3100M]
+
+pci:v000010DEd00000A6Csv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v000010DEd00000A6Csv000017AAsd00002142*
+ ID_MODEL_FROM_DATABASE=ThinkPad T410
+
+pci:v000010DEd00000A6E*
+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 305M]
+
+pci:v000010DEd00000A6F*
+ ID_MODEL_FROM_DATABASE=GT218 [ION]
+
+pci:v000010DEd00000A70*
+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 310M]
+
+pci:v000010DEd00000A71*
+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 305M]
+
+pci:v000010DEd00000A72*
+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 310M]
+
+pci:v000010DEd00000A73*
+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 305M]
+
+pci:v000010DEd00000A74*
+ ID_MODEL_FROM_DATABASE=GT218M [GeForce G210M]
+
+pci:v000010DEd00000A75*
+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 310M]
+
+pci:v000010DEd00000A76*
+ ID_MODEL_FROM_DATABASE=GT218 [ION 2]
+
+pci:v000010DEd00000A78*
+ ID_MODEL_FROM_DATABASE=GT218GL [Quadro FX 380 LP]
+
+pci:v000010DEd00000A7A*
+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M]
+
+pci:v000010DEd00000A7B*
+ ID_MODEL_FROM_DATABASE=GT218 [GeForce 505]
+
+pci:v000010DEd00000A7C*
+ ID_MODEL_FROM_DATABASE=GT218GLM [Quadro FX 380M]
+
+pci:v000010DEd00000A80*
+ ID_MODEL_FROM_DATABASE=MCP79 Host Bridge
+
+pci:v000010DEd00000A81*
+ ID_MODEL_FROM_DATABASE=MCP79 Host Bridge
+
+pci:v000010DEd00000A82*
+ ID_MODEL_FROM_DATABASE=MCP79 Host Bridge
+
+pci:v000010DEd00000A83*
+ ID_MODEL_FROM_DATABASE=MCP79 Host Bridge
+
+pci:v000010DEd00000A84*
+ ID_MODEL_FROM_DATABASE=MCP79 Host Bridge
+
+pci:v000010DEd00000A85*
+ ID_MODEL_FROM_DATABASE=MCP79 Host Bridge
+
+pci:v000010DEd00000A86*
+ ID_MODEL_FROM_DATABASE=MCP79 Host Bridge
+
+pci:v000010DEd00000A87*
+ ID_MODEL_FROM_DATABASE=MCP79 Host Bridge
+
+pci:v000010DEd00000A88*
+ ID_MODEL_FROM_DATABASE=MCP79 Memory Controller
+
+pci:v000010DEd00000A89*
+ ID_MODEL_FROM_DATABASE=MCP79 Memory Controller
+
+pci:v000010DEd00000A98*
+ ID_MODEL_FROM_DATABASE=MCP79 Memory Controller
+
+pci:v000010DEd00000A98sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=iMac 9,1
+
+pci:v000010DEd00000AA0*
+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge
+
+pci:v000010DEd00000AA0sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AA2*
+ ID_MODEL_FROM_DATABASE=MCP79 SMBus
+
+pci:v000010DEd00000AA2sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AA2sv000019DAsd0000A123*
+ ID_MODEL_FROM_DATABASE=IONITX-F-E
+
+pci:v000010DEd00000AA3*
+ ID_MODEL_FROM_DATABASE=MCP79 Co-processor
+
+pci:v000010DEd00000AA3sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AA3sv000019DAsd0000A123*
+ ID_MODEL_FROM_DATABASE=IONITX-F-E
+
+pci:v000010DEd00000AA4*
+ ID_MODEL_FROM_DATABASE=MCP79 Memory Controller
+
+pci:v000010DEd00000AA4sv000019DAsd0000A123*
+ ID_MODEL_FROM_DATABASE=IONITX-F-E
+
+pci:v000010DEd00000AA5*
+ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller
+
+pci:v000010DEd00000AA5sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AA5sv000019DAsd0000A123*
+ ID_MODEL_FROM_DATABASE=IONITX-F-E
+
+pci:v000010DEd00000AA6*
+ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller
+
+pci:v000010DEd00000AA6sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AA6sv000019DAsd0000A123*
+ ID_MODEL_FROM_DATABASE=IONITX-F-E
+
+pci:v000010DEd00000AA7*
+ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller
+
+pci:v000010DEd00000AA7sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AA7sv000019DAsd0000A123*
+ ID_MODEL_FROM_DATABASE=IONITX-F-E
+
+pci:v000010DEd00000AA8*
+ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller
+
+pci:v000010DEd00000AA9*
+ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller
+
+pci:v000010DEd00000AA9sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AA9sv000019DAsd0000A123*
+ ID_MODEL_FROM_DATABASE=IONITX-F-E
+
+pci:v000010DEd00000AAA*
+ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller
+
+pci:v000010DEd00000AAB*
+ ID_MODEL_FROM_DATABASE=MCP79 PCI Bridge
+
+pci:v000010DEd00000AABsv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AAC*
+ ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge
+
+pci:v000010DEd00000AAD*
+ ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge
+
+pci:v000010DEd00000AADsv000019DAsd0000A123*
+ ID_MODEL_FROM_DATABASE=IONITX-F-E
+
+pci:v000010DEd00000AAE*
+ ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge
+
+pci:v000010DEd00000AAEsv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AAF*
+ ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge
+
+pci:v000010DEd00000AB0*
+ ID_MODEL_FROM_DATABASE=MCP79 Ethernet
+
+pci:v000010DEd00000AB0sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AB0sv000019DAsd0000A123*
+ ID_MODEL_FROM_DATABASE=IONITX-F-E
+
+pci:v000010DEd00000AB1*
+ ID_MODEL_FROM_DATABASE=MCP79 Ethernet
+
+pci:v000010DEd00000AB2*
+ ID_MODEL_FROM_DATABASE=MCP79 Ethernet
+
+pci:v000010DEd00000AB3*
+ ID_MODEL_FROM_DATABASE=MCP79 Ethernet
+
+pci:v000010DEd00000AB4*
+ ID_MODEL_FROM_DATABASE=MCP79 SATA Controller
+
+pci:v000010DEd00000AB4sv000019DAsd0000A123*
+ ID_MODEL_FROM_DATABASE=IONITX-F-E
+
+pci:v000010DEd00000AB5*
+ ID_MODEL_FROM_DATABASE=MCP79 SATA Controller
+
+pci:v000010DEd00000AB6*
+ ID_MODEL_FROM_DATABASE=MCP79 SATA Controller
+
+pci:v000010DEd00000AB7*
+ ID_MODEL_FROM_DATABASE=MCP79 SATA Controller
+
+pci:v000010DEd00000AB8*
+ ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller
+
+pci:v000010DEd00000AB9*
+ ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller
+
+pci:v000010DEd00000AB9sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000ABA*
+ ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller
+
+pci:v000010DEd00000ABB*
+ ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller
+
+pci:v000010DEd00000ABC*
+ ID_MODEL_FROM_DATABASE=MCP79 RAID Controller
+
+pci:v000010DEd00000ABD*
+ ID_MODEL_FROM_DATABASE=MCP79 RAID Controller
+
+pci:v000010DEd00000ABE*
+ ID_MODEL_FROM_DATABASE=MCP79 RAID Controller
+
+pci:v000010DEd00000ABF*
+ ID_MODEL_FROM_DATABASE=MCP79 RAID Controller
+
+pci:v000010DEd00000AC0*
+ ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio
+
+pci:v000010DEd00000AC0sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AC1*
+ ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio
+
+pci:v000010DEd00000AC2*
+ ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio
+
+pci:v000010DEd00000AC3*
+ ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio
+
+pci:v000010DEd00000AC4*
+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge
+
+pci:v000010DEd00000AC4sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AC5*
+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge
+
+pci:v000010DEd00000AC6*
+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge
+
+pci:v000010DEd00000AC6sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AC7*
+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge
+
+pci:v000010DEd00000AC7sv000010DEsd0000CB79*
+ ID_MODEL_FROM_DATABASE=Apple iMac 9,1
+
+pci:v000010DEd00000AC8*
+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge
+
+pci:v000010DEd00000AD0*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode)
+
+pci:v000010DEd00000AD0sv00001462sd00007508*
+ ID_MODEL_FROM_DATABASE=K9N2GM-FIH
+
+pci:v000010DEd00000AD0sv00001849sd00000AD0*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 IDE
+
+pci:v000010DEd00000AD4*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller
+
+pci:v000010DEd00000AD4sv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000010DEd00000AD4sv00001043sd000082E8*
+ ID_MODEL_FROM_DATABASE=M3N72-D
+
+pci:v000010DEd00000AD4sv00001849sd00000AD4*
+ ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 AHCI Controller
+
+pci:v000010DEd00000AD8*
+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (RAID mode)
+
+pci:v000010DEd00000BE2*
+ ID_MODEL_FROM_DATABASE=High Definition Audio Controller
+
+pci:v000010DEd00000BE2sv00001043sd00008311*
+ ID_MODEL_FROM_DATABASE=ENGT220/DI/1GD3(LP)/V2
+
+pci:v000010DEd00000BE3*
+ ID_MODEL_FROM_DATABASE=High Definition Audio Controller
+
+pci:v000010DEd00000BE3sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v000010DEd00000BE3sv000010DEsd0000066D*
+ ID_MODEL_FROM_DATABASE=G98 [GeForce 8400GS]
+
+pci:v000010DEd00000BE4*
+ ID_MODEL_FROM_DATABASE=High Definition Audio Controller
+
+pci:v000010DEd00000BE5*
+ ID_MODEL_FROM_DATABASE=GF100 High Definition Audio Controller
+
+pci:v000010DEd00000BE9*
+ ID_MODEL_FROM_DATABASE=GF106 High Definition Audio Controller
+
+pci:v000010DEd00000BE9sv00001558sd00008687*
+ ID_MODEL_FROM_DATABASE=CLEVO/KAPOK W860CU
+
+pci:v000010DEd00000BE9sv00003842sd00001452*
+ ID_MODEL_FROM_DATABASE=GeForce GTS 450
+
+pci:v000010DEd00000BEA*
+ ID_MODEL_FROM_DATABASE=GF108 High Definition Audio Controller
+
+pci:v000010DEd00000BEAsv00003842sd00001430*
+ ID_MODEL_FROM_DATABASE=GeForce GT 430
+
+pci:v000010DEd00000BEB*
+ ID_MODEL_FROM_DATABASE=GF104 High Definition Audio Controller
+
+pci:v000010DEd00000BEBsv00001462sd00002322*
+ ID_MODEL_FROM_DATABASE=N460GTX Cyclone 1GD5/OC
+
+pci:v000010DEd00000BEE*
+ ID_MODEL_FROM_DATABASE=GF116 High Definition Audio Controller
+
+pci:v000010DEd00000CA0*
+ ID_MODEL_FROM_DATABASE=GT215 [GeForce GT 330]
+
+pci:v000010DEd00000CA2*
+ ID_MODEL_FROM_DATABASE=GT215 [GeForce GT 320]
+
+pci:v000010DEd00000CA3*
+ ID_MODEL_FROM_DATABASE=GT215 [GeForce GT 240]
+
+pci:v000010DEd00000CA4*
+ ID_MODEL_FROM_DATABASE=GT215 [GeForce GT 340]
+
+pci:v000010DEd00000CA5*
+ ID_MODEL_FROM_DATABASE=GT215 [GeForce GT 220]
+
+pci:v000010DEd00000CA7*
+ ID_MODEL_FROM_DATABASE=GT215 [GeForce GT 330]
+
+pci:v000010DEd00000CA8*
+ ID_MODEL_FROM_DATABASE=GT215M [GeForce GTS 260M]
+
+pci:v000010DEd00000CA9*
+ ID_MODEL_FROM_DATABASE=GT215M [GeForce GTS 250M]
+
+pci:v000010DEd00000CAC*
+ ID_MODEL_FROM_DATABASE=GT215 [GeForce GT 220/315]
+
+pci:v000010DEd00000CAF*
+ ID_MODEL_FROM_DATABASE=GT215M [GeForce GT 335M]
+
+pci:v000010DEd00000CB0*
+ ID_MODEL_FROM_DATABASE=GT215M [GeForce GTS 350M]
+
+pci:v000010DEd00000CB1*
+ ID_MODEL_FROM_DATABASE=GT215M [GeForce GTS 360M]
+
+pci:v000010DEd00000CBC*
+ ID_MODEL_FROM_DATABASE=GT215GLM [Quadro FX 1800M]
+
+pci:v000010DEd00000D60*
+ ID_MODEL_FROM_DATABASE=MCP89 HOST Bridge
+
+pci:v000010DEd00000D68*
+ ID_MODEL_FROM_DATABASE=MCP89 Memory Controller
+
+pci:v000010DEd00000D69*
+ ID_MODEL_FROM_DATABASE=MCP89 Memory Controller
+
+pci:v000010DEd00000D76*
+ ID_MODEL_FROM_DATABASE=MCP89 PCI Express Bridge
+
+pci:v000010DEd00000D79*
+ ID_MODEL_FROM_DATABASE=MCP89 SMBus
+
+pci:v000010DEd00000D7A*
+ ID_MODEL_FROM_DATABASE=MCP89 Co-Processor
+
+pci:v000010DEd00000D7B*
+ ID_MODEL_FROM_DATABASE=MCP89 Memory Controller
+
+pci:v000010DEd00000D7D*
+ ID_MODEL_FROM_DATABASE=MCP89 Ethernet
+
+pci:v000010DEd00000D80*
+ ID_MODEL_FROM_DATABASE=MCP89 LPC Bridge
+
+pci:v000010DEd00000D85*
+ ID_MODEL_FROM_DATABASE=MCP89 SATA Controller
+
+pci:v000010DEd00000D88*
+ ID_MODEL_FROM_DATABASE=MCP89 SATA Controller (AHCI mode)
+
+pci:v000010DEd00000D89*
+ ID_MODEL_FROM_DATABASE=MCP89 SATA Controller (AHCI mode)
+
+pci:v000010DEd00000D8D*
+ ID_MODEL_FROM_DATABASE=MCP89 SATA Controller (RAID mode)
+
+pci:v000010DEd00000D94*
+ ID_MODEL_FROM_DATABASE=MCP89 High Definition Audio
+
+pci:v000010DEd00000D9C*
+ ID_MODEL_FROM_DATABASE=MCP89 OHCI USB 1.1 Controller
+
+pci:v000010DEd00000D9D*
+ ID_MODEL_FROM_DATABASE=MCP89 EHCI USB 2.0 Controller
+
+pci:v000010DEd00000DC0*
+ ID_MODEL_FROM_DATABASE=GF106 [GeForce GT 440]
+
+pci:v000010DEd00000DC4*
+ ID_MODEL_FROM_DATABASE=GF106 [GeForce GTS 450]
+
+pci:v000010DEd00000DC5*
+ ID_MODEL_FROM_DATABASE=GF106 [GeForce GTS 450 OEM]
+
+pci:v000010DEd00000DC6*
+ ID_MODEL_FROM_DATABASE=GF106 [GeForce GTS 450]
+
+pci:v000010DEd00000DCD*
+ ID_MODEL_FROM_DATABASE=GF106M [GeForce GT 555M]
+
+pci:v000010DEd00000DCE*
+ ID_MODEL_FROM_DATABASE=GF106M [GeForce GT 555M]
+
+pci:v000010DEd00000DD1*
+ ID_MODEL_FROM_DATABASE=GF106M [GeForce GTX 460M]
+
+pci:v000010DEd00000DD1sv00001558sd00008687*
+ ID_MODEL_FROM_DATABASE=CLEVO/KAPOK W860CU
+
+pci:v000010DEd00000DD2*
+ ID_MODEL_FROM_DATABASE=GF106M [GeForce GT 445M]
+
+pci:v000010DEd00000DD3*
+ ID_MODEL_FROM_DATABASE=GF106M [GeForce GT 435M]
+
+pci:v000010DEd00000DD6*
+ ID_MODEL_FROM_DATABASE=GF106M [GeForce GT 550M]
+
+pci:v000010DEd00000DD8*
+ ID_MODEL_FROM_DATABASE=GF106GL [Quadro 2000]
+
+pci:v000010DEd00000DD8sv000010DEsd00000914*
+ ID_MODEL_FROM_DATABASE=Quadro 2000D
+
+pci:v000010DEd00000DDA*
+ ID_MODEL_FROM_DATABASE=GF106GLM [Quadro 2000M]
+
+pci:v000010DEd00000DE0*
+ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 440]
+
+pci:v000010DEd00000DE1*
+ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 430]
+
+pci:v000010DEd00000DE1sv00003842sd00001430*
+ ID_MODEL_FROM_DATABASE=GeForce GT 430
+
+pci:v000010DEd00000DE2*
+ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 420]
+
+pci:v000010DEd00000DE3*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 635M]
+
+pci:v000010DEd00000DE4*
+ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 520]
+
+pci:v000010DEd00000DE5*
+ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 530]
+
+pci:v000010DEd00000DE8*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 620M]
+
+pci:v000010DEd00000DE9*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M]
+
+pci:v000010DEd00000DEA*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M]
+
+pci:v000010DEd00000DEAsv000017AAsd0000365A*
+ ID_MODEL_FROM_DATABASE=GeForce 615
+
+pci:v000010DEd00000DEAsv000017AAsd0000365B*
+ ID_MODEL_FROM_DATABASE=GeForce 615
+
+pci:v000010DEd00000DEAsv000017AAsd0000365E*
+ ID_MODEL_FROM_DATABASE=GeForce 615
+
+pci:v000010DEd00000DEAsv000017AAsd00003660*
+ ID_MODEL_FROM_DATABASE=GeForce 615
+
+pci:v000010DEd00000DEAsv000017AAsd0000366C*
+ ID_MODEL_FROM_DATABASE=GeForce 615
+
+pci:v000010DEd00000DEB*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 555M]
+
+pci:v000010DEd00000DEC*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 525M]
+
+pci:v000010DEd00000DED*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 520M]
+
+pci:v000010DEd00000DEE*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 415M]
+
+pci:v000010DEd00000DEF*
+ ID_MODEL_FROM_DATABASE=GF108M [NVS 5400M]
+
+pci:v000010DEd00000DF0*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 425M]
+
+pci:v000010DEd00000DF1*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 420M]
+
+pci:v000010DEd00000DF2*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 435M]
+
+pci:v000010DEd00000DF3*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 420M]
+
+pci:v000010DEd00000DF4*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 540M]
+
+pci:v000010DEd00000DF5*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 525M]
+
+pci:v000010DEd00000DF6*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 550M]
+
+pci:v000010DEd00000DF7*
+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 520M]
+
+pci:v000010DEd00000DF8*
+ ID_MODEL_FROM_DATABASE=GF108GL [Quadro 600]
+
+pci:v000010DEd00000DF9*
+ ID_MODEL_FROM_DATABASE=GF108GLM [Quadro 500M]
+
+pci:v000010DEd00000DFA*
+ ID_MODEL_FROM_DATABASE=GF108GLM [Quadro 1000M]
+
+pci:v000010DEd00000DFC*
+ ID_MODEL_FROM_DATABASE=GF108GLM [NVS 5200M]
+
+pci:v000010DEd00000E08*
+ ID_MODEL_FROM_DATABASE=GF119 HDMI Audio Controller
+
+pci:v000010DEd00000E08sv000010B0sd0000104A*
+ ID_MODEL_FROM_DATABASE=Gainward GeForce GT 610
+
+pci:v000010DEd00000E09*
+ ID_MODEL_FROM_DATABASE=GF110 High Definition Audio Controller
+
+pci:v000010DEd00000E0A*
+ ID_MODEL_FROM_DATABASE=GK104 HDMI Audio Controller
+
+pci:v000010DEd00000E0C*
+ ID_MODEL_FROM_DATABASE=GF114 HDMI Audio Controller
+
+pci:v000010DEd00000E1A*
+ ID_MODEL_FROM_DATABASE=GK110 HDMI Audio [GeForce GTX Titan]
+
+pci:v000010DEd00000E1B*
+ ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller
+
+pci:v000010DEd00000E1Bsv00001043sd00008428*
+ ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5
+
+pci:v000010DEd00000E22*
+ ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460]
+
+pci:v000010DEd00000E22sv00001462sd00002322*
+ ID_MODEL_FROM_DATABASE=N460GTX Cyclone 1GD5/OC
+
+pci:v000010DEd00000E23*
+ ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460 SE]
+
+pci:v000010DEd00000E24*
+ ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460 OEM]
+
+pci:v000010DEd00000E30*
+ ID_MODEL_FROM_DATABASE=GF104M [GeForce GTX 470M]
+
+pci:v000010DEd00000E31*
+ ID_MODEL_FROM_DATABASE=GF104M [GeForce GTX 485M]
+
+pci:v000010DEd00000E3A*
+ ID_MODEL_FROM_DATABASE=GF104GLM [Quadro 3000M]
+
+pci:v000010DEd00000E3B*
+ ID_MODEL_FROM_DATABASE=GF104GLM [Quadro 4000M]
+
+pci:v000010DEd00000F00*
+ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 630]
+
+pci:v000010DEd00000F01*
+ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 620]
+
+pci:v000010DEd00000FC0*
+ ID_MODEL_FROM_DATABASE=GK107 [GeForce GT 640 OEM]
+
+pci:v000010DEd00000FC1*
+ ID_MODEL_FROM_DATABASE=GK107 [GeForce GT 640]
+
+pci:v000010DEd00000FC2*
+ ID_MODEL_FROM_DATABASE=GK107 [GeForce GT 630 OEM]
+
+pci:v000010DEd00000FC6*
+ ID_MODEL_FROM_DATABASE=GK107 [GeForce GTX 650]
+
+pci:v000010DEd00000FC6sv00001043sd00008428*
+ ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5
+
+pci:v000010DEd00000FD1*
+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M]
+
+pci:v000010DEd00000FD1sv00001043sd00001597*
+ ID_MODEL_FROM_DATABASE=GeForce GT 650M
+
+pci:v000010DEd00000FD1sv00001043sd000015A7*
+ ID_MODEL_FROM_DATABASE=GeForce GT 650M
+
+pci:v000010DEd00000FD1sv00001043sd00002103*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v000010DEd00000FD1sv00001043sd00002105*
+ ID_MODEL_FROM_DATABASE=GeForce GT 650M
+
+pci:v000010DEd00000FD1sv00001043sd00002141*
+ ID_MODEL_FROM_DATABASE=GeForce GT 650M
+
+pci:v000010DEd00000FD2*
+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M]
+
+pci:v000010DEd00000FD3*
+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M LE]
+
+pci:v000010DEd00000FD4*
+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GTX 660M]
+
+pci:v000010DEd00000FD5*
+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M Mac Edition]
+
+pci:v000010DEd00000FD8*
+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M Mac Edition]
+
+pci:v000010DEd00000FD9*
+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 645M]
+
+pci:v000010DEd00000FDF*
+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 740M]
+
+pci:v000010DEd00000FE0*
+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GTX 660M OEM]
+
+pci:v000010DEd00000FE1*
+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 730M]
+
+pci:v000010DEd00000FE3*
+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M]
+
+pci:v000010DEd00000FE4*
+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 750M]
+
+pci:v000010DEd00000FE5*
+ ID_MODEL_FROM_DATABASE=GK107 [GeForce K340 USM]
+
+pci:v000010DEd00000FE6*
+ ID_MODEL_FROM_DATABASE=GK107 [NVS K1 USM]
+
+pci:v000010DEd00000FEF*
+ ID_MODEL_FROM_DATABASE=GK107GL [GRID K340]
+
+pci:v000010DEd00000FF1*
+ ID_MODEL_FROM_DATABASE=GK107 [NVS 1000]
+
+pci:v000010DEd00000FF2*
+ ID_MODEL_FROM_DATABASE=GK107GL [GRID K1]
+
+pci:v000010DEd00000FF5*
+ ID_MODEL_FROM_DATABASE=GK107GL [Tesla K1 USM]
+
+pci:v000010DEd00000FF7*
+ ID_MODEL_FROM_DATABASE=GK107GL [Quadro K1 USM]
+
+pci:v000010DEd00000FF9*
+ ID_MODEL_FROM_DATABASE=GK107GL [Quadro K2000D]
+
+pci:v000010DEd00000FFA*
+ ID_MODEL_FROM_DATABASE=GK107GL [Quadro K600]
+
+pci:v000010DEd00000FFB*
+ ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K2000M]
+
+pci:v000010DEd00000FFC*
+ ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K1000M]
+
+pci:v000010DEd00000FFD*
+ ID_MODEL_FROM_DATABASE=GK107 [NVS 510]
+
+pci:v000010DEd00000FFE*
+ ID_MODEL_FROM_DATABASE=GK107GL [Quadro K2000]
+
+pci:v000010DEd00000FFF*
+ ID_MODEL_FROM_DATABASE=GK107GL [Quadro 410]
+
+pci:v000010DEd00001003*
+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan LE]
+
+pci:v000010DEd00001005*
+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan]
+
+pci:v000010DEd00001005sv00001043sd00008451*
+ ID_MODEL_FROM_DATABASE=GTXTITAN-6GD5
+
+pci:v000010DEd00001005sv000010DEsd00001035*
+ ID_MODEL_FROM_DATABASE=GeForce GTX Titan
+
+pci:v000010DEd00001005sv00003842sd00002790*
+ ID_MODEL_FROM_DATABASE=GeForce GTX Titan
+
+pci:v000010DEd00001005sv00003842sd00002791*
+ ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC
+
+pci:v000010DEd00001005sv00003842sd00002793*
+ ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Signature
+
+pci:v000010DEd00001005sv00003842sd00002794*
+ ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper
+
+pci:v000010DEd00001005sv00003842sd00002795*
+ ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper Signature
+
+pci:v000010DEd0000101F*
+ ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20]
+
+pci:v000010DEd00001020*
+ ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20X]
+
+pci:v000010DEd00001021*
+ ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20Xm]
+
+pci:v000010DEd00001022*
+ ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20c]
+
+pci:v000010DEd00001026*
+ ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20s]
+
+pci:v000010DEd00001028*
+ ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20m]
+
+pci:v000010DEd00001040*
+ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 520]
+
+pci:v000010DEd00001042*
+ ID_MODEL_FROM_DATABASE=GF119 [GeForce 510]
+
+pci:v000010DEd00001048*
+ ID_MODEL_FROM_DATABASE=GF119 [GeForce 605]
+
+pci:v000010DEd00001049*
+ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 620 OEM]
+
+pci:v000010DEd0000104A*
+ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 610]
+
+pci:v000010DEd0000104Asv000010B0sd0000104A*
+ ID_MODEL_FROM_DATABASE=Gainward GeForce GT 610
+
+pci:v000010DEd0000104B*
+ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 625 OEM]
+
+pci:v000010DEd00001050*
+ ID_MODEL_FROM_DATABASE=GF119M [GeForce GT 520M]
+
+pci:v000010DEd00001051*
+ ID_MODEL_FROM_DATABASE=GF119M [GeForce GT 520MX]
+
+pci:v000010DEd00001052*
+ ID_MODEL_FROM_DATABASE=GF119M [GeForce GT 520M]
+
+pci:v000010DEd00001054*
+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 410M]
+
+pci:v000010DEd00001055*
+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 410M]
+
+pci:v000010DEd00001056*
+ ID_MODEL_FROM_DATABASE=GF119M [NVS 4200M]
+
+pci:v000010DEd00001057*
+ ID_MODEL_FROM_DATABASE=GF119M [Quadro NVS 4200M]
+
+pci:v000010DEd00001058*
+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M]
+
+pci:v000010DEd00001058sv00001043sd000010AC*
+ ID_MODEL_FROM_DATABASE=GeForce GT 610M
+
+pci:v000010DEd00001058sv00001043sd000010BC*
+ ID_MODEL_FROM_DATABASE=GeForce GT 610M
+
+pci:v000010DEd00001058sv00001043sd00001652*
+ ID_MODEL_FROM_DATABASE=GeForce GT 610M
+
+pci:v000010DEd0000105A*
+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M]
+
+pci:v000010DEd0000105Asv00001043sd00002111*
+ ID_MODEL_FROM_DATABASE=GeForce GT 610M
+
+pci:v000010DEd0000105Asv00001043sd00002112*
+ ID_MODEL_FROM_DATABASE=GeForce GT 610M
+
+pci:v000010DEd0000105B*
+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M]
+
+pci:v000010DEd0000107C*
+ ID_MODEL_FROM_DATABASE=GF119 [NVS 315]
+
+pci:v000010DEd0000107D*
+ ID_MODEL_FROM_DATABASE=GF119 [NVS 310]
+
+pci:v000010DEd00001080*
+ ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 580]
+
+pci:v000010DEd00001081*
+ ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 570]
+
+pci:v000010DEd00001081sv000010DEsd0000087E*
+ ID_MODEL_FROM_DATABASE=Leadtek WinFast GTX 570
+
+pci:v000010DEd00001082*
+ ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 560 Ti OEM]
+
+pci:v000010DEd00001084*
+ ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 560 OEM]
+
+pci:v000010DEd00001086*
+ ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 570 Rev. 2]
+
+pci:v000010DEd00001087*
+ ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 560 Ti 448 Cores]
+
+pci:v000010DEd00001088*
+ ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 590]
+
+pci:v000010DEd00001089*
+ ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 580]
+
+pci:v000010DEd0000108B*
+ ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 580]
+
+pci:v000010DEd0000108E*
+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2090]
+
+pci:v000010DEd00001091*
+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090]
+
+pci:v000010DEd00001091sv000010DEsd0000088E*
+ ID_MODEL_FROM_DATABASE=Tesla X2090
+
+pci:v000010DEd00001091sv000010DEsd00000891*
+ ID_MODEL_FROM_DATABASE=Tesla X2090
+
+pci:v000010DEd00001094*
+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2075]
+
+pci:v000010DEd00001094sv000010DEsd00000888*
+ ID_MODEL_FROM_DATABASE=Tesla M2075
+
+pci:v000010DEd00001096*
+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2050 / C2075]
+
+pci:v000010DEd00001096sv000010DEsd00000910*
+ ID_MODEL_FROM_DATABASE=Tesla C2075
+
+pci:v000010DEd00001096sv000010DEsd00000911*
+ ID_MODEL_FROM_DATABASE=Tesla C2050
+
+pci:v000010DEd0000109A*
+ ID_MODEL_FROM_DATABASE=GF100GLM [Quadro 5010M]
+
+pci:v000010DEd0000109B*
+ ID_MODEL_FROM_DATABASE=GF100GL [Quadro 7000]
+
+pci:v000010DEd0000109Bsv000010DEsd00000918*
+ ID_MODEL_FROM_DATABASE=Quadro 7000
+
+pci:v000010DEd000010C0*
+ ID_MODEL_FROM_DATABASE=GT218 [GeForce 9300 GS Rev. 2]
+
+pci:v000010DEd000010C3*
+ ID_MODEL_FROM_DATABASE=GT218 [GeForce 8400 GS Rev. 3]
+
+pci:v000010DEd000010C5*
+ ID_MODEL_FROM_DATABASE=GT218 [GeForce 405]
+
+pci:v000010DEd000010D8*
+ ID_MODEL_FROM_DATABASE=GT218 [NVS 300]
+
+pci:v000010DEd00001140*
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M / GT 620M/625M/630M/720M]
+
+pci:v000010DEd00001140sv00001025sd0000064A*
+ ID_MODEL_FROM_DATABASE=GeForce GT 620M
+
+pci:v000010DEd00001140sv00001025sd0000064C*
+ ID_MODEL_FROM_DATABASE=GeForce GT 620M
+
+pci:v000010DEd00001140sv00001025sd00000691*
+ ID_MODEL_FROM_DATABASE=GeForce 710M
+
+pci:v000010DEd00001140sv00001025sd00000719*
+ ID_MODEL_FROM_DATABASE=GeForce GT 620M
+
+pci:v000010DEd00001140sv00001025sd00000725*
+ ID_MODEL_FROM_DATABASE=GeForce GT 620M
+
+pci:v000010DEd00001140sv00001025sd0000072B*
+ ID_MODEL_FROM_DATABASE=GeForce GT 620M
+
+pci:v000010DEd00001140sv00001025sd00000773*
+ ID_MODEL_FROM_DATABASE=GeForce 710M
+
+pci:v000010DEd00001140sv00001028sd0000054D*
+ ID_MODEL_FROM_DATABASE=GeForce GT 630M
+
+pci:v000010DEd00001140sv00001028sd0000054E*
+ ID_MODEL_FROM_DATABASE=GeForce GT 630M
+
+pci:v000010DEd00001140sv00001028sd00000554*
+ ID_MODEL_FROM_DATABASE=GeForce GT 620M
+
+pci:v000010DEd00001140sv00001028sd00000557*
+ ID_MODEL_FROM_DATABASE=GeForce GT 620M
+
+pci:v000010DEd00001140sv00001028sd00000565*
+ ID_MODEL_FROM_DATABASE=GeForce GT 630M
+
+pci:v000010DEd00001140sv00001043sd000010DD*
+ ID_MODEL_FROM_DATABASE=NVS 5200M
+
+pci:v000010DEd00001140sv00001043sd000010ED*
+ ID_MODEL_FROM_DATABASE=NVS 5200M
+
+pci:v000010DEd00001140sv00001043sd000011FD*
+ ID_MODEL_FROM_DATABASE=GeForce GT 720M
+
+pci:v000010DEd00001140sv00001043sd0000124D*
+ ID_MODEL_FROM_DATABASE=GeForce GT 720M
+
+pci:v000010DEd00001140sv00001043sd0000126D*
+ ID_MODEL_FROM_DATABASE=GeForce GT 720M
+
+pci:v000010DEd00001140sv00001043sd000014C7*
+ ID_MODEL_FROM_DATABASE=GeForce GT 720M
+
+pci:v000010DEd00001140sv00001043sd00001507*
+ ID_MODEL_FROM_DATABASE=GeForce GT 620M
+
+pci:v000010DEd00001140sv00001043sd00002132*
+ ID_MODEL_FROM_DATABASE=GeForce GT 620M
+
+pci:v000010DEd00001140sv00001043sd00002136*
+ ID_MODEL_FROM_DATABASE=NVS 5200M
+
+pci:v000010DEd00001140sv00001043sd000021BA*
+ ID_MODEL_FROM_DATABASE=GeForce GT 720M
+
+pci:v000010DEd00001140sv00001043sd000021FA*
+ ID_MODEL_FROM_DATABASE=GeForce GT 720M
+
+pci:v000010DEd00001140sv00001043sd0000220A*
+ ID_MODEL_FROM_DATABASE=GeForce GT 720M
+
+pci:v000010DEd00001140sv0000144Dsd0000C0D7*
+ ID_MODEL_FROM_DATABASE=GeForce GT 620M
+
+pci:v000010DEd00001140sv0000144Dsd0000C652*
+ ID_MODEL_FROM_DATABASE=GeForce GT 620M
+
+pci:v000010DEd00001140sv000017AAsd00002200*
+ ID_MODEL_FROM_DATABASE=NVS 5200M
+
+pci:v000010DEd00001140sv000017AAsd00003901*
+ ID_MODEL_FROM_DATABASE=GeForce 610M / GT 620M
+
+pci:v000010DEd00001140sv000017AAsd00003904*
+ ID_MODEL_FROM_DATABASE=GeForce GT 620M/625M
+
+pci:v000010DEd00001140sv000017AAsd00003983*
+ ID_MODEL_FROM_DATABASE=GeForce 610M
+
+pci:v000010DEd00001140sv000017AAsd0000500D*
+ ID_MODEL_FROM_DATABASE=GeForce GT 620M
+
+pci:v000010DEd00001180*
+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680]
+
+pci:v000010DEd00001180sv00003842sd00003682*
+ ID_MODEL_FROM_DATABASE=GeForce GTX 680 Mac Edition
+
+pci:v000010DEd00001183*
+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 Ti]
+
+pci:v000010DEd00001185*
+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 OEM]
+
+pci:v000010DEd00001188*
+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 690]
+
+pci:v000010DEd00001189*
+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 670]
+
+pci:v000010DEd0000118A*
+ ID_MODEL_FROM_DATABASE=GK104GL [GRID K520]
+
+pci:v000010DEd0000118B*
+ ID_MODEL_FROM_DATABASE=GK104 [GeForce K2 USM]
+
+pci:v000010DEd0000118C*
+ ID_MODEL_FROM_DATABASE=GK104 [NVS K2 USM]
+
+pci:v000010DEd0000118F*
+ ID_MODEL_FROM_DATABASE=GK104GL [Tesla K10]
+
+pci:v000010DEd0000119F*
+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 780M]
+
+pci:v000010DEd000011A0*
+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 680M]
+
+pci:v000010DEd000011A1*
+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 670MX]
+
+pci:v000010DEd000011A2*
+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 675MX Mac Edition]
+
+pci:v000010DEd000011A3*
+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 680MX]
+
+pci:v000010DEd000011A7*
+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 675MX]
+
+pci:v000010DEd000011B0*
+ ID_MODEL_FROM_DATABASE=GK104GL [Quadro K2 USM]
+
+pci:v000010DEd000011B1*
+ ID_MODEL_FROM_DATABASE=GK104GL [Tesla K2 USM]
+
+pci:v000010DEd000011BA*
+ ID_MODEL_FROM_DATABASE=GK104GL [Quadro K5000]
+
+pci:v000010DEd000011BB*
+ ID_MODEL_FROM_DATABASE=GK104GL [Quadro 4100]
+
+pci:v000010DEd000011BC*
+ ID_MODEL_FROM_DATABASE=GK104GLM [Quadro K5000M]
+
+pci:v000010DEd000011BD*
+ ID_MODEL_FROM_DATABASE=GK104GLM [Quadro K4000M]
+
+pci:v000010DEd000011BE*
+ ID_MODEL_FROM_DATABASE=GK104GLM [Quadro K3000M]
+
+pci:v000010DEd000011BF*
+ ID_MODEL_FROM_DATABASE=GK104GL [GRID K2]
+
+pci:v000010DEd000011C0*
+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 660]
+
+pci:v000010DEd000011C2*
+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost]
+
+pci:v000010DEd000011C2sv00001043sd0000845B*
+ ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost DirectCU II OC
+
+pci:v000010DEd000011C2sv00001462sd00002874*
+ ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost TwinFrozr II OC
+
+pci:v000010DEd000011C2sv00001569sd000011C2*
+ ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost OC
+
+pci:v000010DEd000011C2sv000019DAsd00001281*
+ ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost OC
+
+pci:v000010DEd000011C2sv00003842sd00003657*
+ ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost
+
+pci:v000010DEd000011C2sv00003842sd00003658*
+ ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost Superclocked
+
+pci:v000010DEd000011C3*
+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti OEM]
+
+pci:v000010DEd000011C3sv000010DEsd00001030*
+ ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti OEM
+
+pci:v000010DEd000011C4*
+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 645 OEM]
+
+pci:v000010DEd000011C6*
+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti]
+
+pci:v000010DEd000011E0*
+ ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 770M]
+
+pci:v000010DEd000011E2*
+ ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 765M]
+
+pci:v000010DEd000011E3*
+ ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M]
+
+pci:v000010DEd000011FA*
+ ID_MODEL_FROM_DATABASE=GK106GL [Quadro K4000]
+
+pci:v000010DEd00001200*
+ ID_MODEL_FROM_DATABASE=GF114 [GeForce GTX 560 Ti]
+
+pci:v000010DEd00001201*
+ ID_MODEL_FROM_DATABASE=GF114 [GeForce GTX 560]
+
+pci:v000010DEd00001202*
+ ID_MODEL_FROM_DATABASE=GF114 [GeForce GTX 560 Ti OEM]
+
+pci:v000010DEd00001203*
+ ID_MODEL_FROM_DATABASE=GF114 [GeForce GTX 460 SE v2]
+
+pci:v000010DEd00001205*
+ ID_MODEL_FROM_DATABASE=GF114 [GeForce GTX 460 v2]
+
+pci:v000010DEd00001206*
+ ID_MODEL_FROM_DATABASE=GF114 [GeForce GTX 555]
+
+pci:v000010DEd00001207*
+ ID_MODEL_FROM_DATABASE=GF114 [GeForce GT 645 OEM]
+
+pci:v000010DEd00001208*
+ ID_MODEL_FROM_DATABASE=GF114 [GeForce GTX 560 SE]
+
+pci:v000010DEd00001210*
+ ID_MODEL_FROM_DATABASE=GF114M [GeForce GTX 570M]
+
+pci:v000010DEd00001211*
+ ID_MODEL_FROM_DATABASE=GF114M [GeForce GTX 580M]
+
+pci:v000010DEd00001212*
+ ID_MODEL_FROM_DATABASE=GF114M [GeForce GTX 675M]
+
+pci:v000010DEd00001213*
+ ID_MODEL_FROM_DATABASE=GF114M [GeForce GTX 670M]
+
+pci:v000010DEd00001241*
+ ID_MODEL_FROM_DATABASE=GF116 [GeForce GT 545 OEM]
+
+pci:v000010DEd00001243*
+ ID_MODEL_FROM_DATABASE=GF116 [GeForce GT 545]
+
+pci:v000010DEd00001244*
+ ID_MODEL_FROM_DATABASE=GF116 [GeForce GTX 550 Ti]
+
+pci:v000010DEd00001245*
+ ID_MODEL_FROM_DATABASE=GF116 [GeForce GTS 450 Rev. 2]
+
+pci:v000010DEd00001246*
+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 550M]
+
+pci:v000010DEd00001247*
+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M]
+
+pci:v000010DEd00001247sv00001043sd00001752*
+ ID_MODEL_FROM_DATABASE=GeForce GT 555M
+
+pci:v000010DEd00001247sv00001043sd00002050*
+ ID_MODEL_FROM_DATABASE=GeForce GT 555M
+
+pci:v000010DEd00001247sv00001043sd00002051*
+ ID_MODEL_FROM_DATABASE=GeForce GT 555M
+
+pci:v000010DEd00001247sv00001043sd0000212A*
+ ID_MODEL_FROM_DATABASE=GeForce GT 635M
+
+pci:v000010DEd00001247sv00001043sd0000212B*
+ ID_MODEL_FROM_DATABASE=GeForce GT 635M
+
+pci:v000010DEd00001247sv00001043sd0000212C*
+ ID_MODEL_FROM_DATABASE=GeForce GT 635M
+
+pci:v000010DEd00001248*
+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M]
+
+pci:v000010DEd00001249*
+ ID_MODEL_FROM_DATABASE=GF116 [GeForce GTS 450 Rev. 3]
+
+pci:v000010DEd0000124B*
+ ID_MODEL_FROM_DATABASE=GF116 [GeForce GT 640 OEM]
+
+pci:v000010DEd0000124D*
+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M]
+
+pci:v000010DEd00001251*
+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 560M]
+
+pci:v000010DEd00001280*
+ ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 635]
+
+pci:v000010DEd00001290*
+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M]
+
+pci:v000010DEd00001291*
+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 735M]
+
+pci:v000010DEd00001292*
+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M]
+
+pci:v000010DEd00001293*
+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M]
+
+pci:v000010DEd00001294*
+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M]
+
+pci:v000010DEd000012A0*
+ ID_MODEL_FROM_DATABASE=GK208
+
+pci:v000010DF*
+ ID_VENDOR_FROM_DATABASE=Emulex Corporation
+
+pci:v000010DFd00000720*
+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk)
+
+pci:v000010DFd00000722*
+ ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk)
+
+pci:v000010DFd00000723*
+ ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator + Target (Skyhawk)
+
+pci:v000010DFd00000724*
+ ID_MODEL_FROM_DATABASE=OneConnect FCoE Initiator (Skyhawk)
+
+pci:v000010DFd00000728*
+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk-VF)
+
+pci:v000010DFd0000072A*
+ ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk-VF)
+
+pci:v000010DFd0000072B*
+ ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator + Target (Skyhawk-VF)
+
+pci:v000010DFd0000072C*
+ ID_MODEL_FROM_DATABASE=OneConnect FCoE Initiator (Skyhawk-VF)
+
+pci:v000010DFd00001AE5*
+ ID_MODEL_FROM_DATABASE=LP6000 Fibre Channel Host Adapter
+
+pci:v000010DFd0000E100*
+ ID_MODEL_FROM_DATABASE=Proteus-X: LightPulse IOV Fibre Channel Host Adapter
+
+pci:v000010DFd0000E131*
+ ID_MODEL_FROM_DATABASE=LightPulse 8Gb/s PCIe Shared I/O Fibre Channel Adapter
+
+pci:v000010DFd0000E180*
+ ID_MODEL_FROM_DATABASE=Proteus-X: LightPulse IOV Fibre Channel Host Adapter
+
+pci:v000010DFd0000E200*
+ ID_MODEL_FROM_DATABASE=Lancer-X: LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000E208*
+ ID_MODEL_FROM_DATABASE=LightPulse 16Gb Fibre Channel Host Adapter (Lancer-VF)
+
+pci:v000010DFd0000E220*
+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer)
+
+pci:v000010DFd0000E240*
+ ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Lancer)
+
+pci:v000010DFd0000E260*
+ ID_MODEL_FROM_DATABASE=OneConnect FCoE Initiator (Lancer)
+
+pci:v000010DFd0000E268*
+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Converged Network Adapter (Lancer-VF)
+
+pci:v000010DFd0000F011*
+ ID_MODEL_FROM_DATABASE=Saturn: LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000F015*
+ ID_MODEL_FROM_DATABASE=Saturn: LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000F085*
+ ID_MODEL_FROM_DATABASE=LP850 Fibre Channel Host Adapter
+
+pci:v000010DFd0000F095*
+ ID_MODEL_FROM_DATABASE=LP952 Fibre Channel Host Adapter
+
+pci:v000010DFd0000F098*
+ ID_MODEL_FROM_DATABASE=LP982 Fibre Channel Host Adapter
+
+pci:v000010DFd0000F0A1*
+ ID_MODEL_FROM_DATABASE=Thor LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000F0A5*
+ ID_MODEL_FROM_DATABASE=Thor LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000F0B5*
+ ID_MODEL_FROM_DATABASE=Viper LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000F0D1*
+ ID_MODEL_FROM_DATABASE=Helios LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000F0D5*
+ ID_MODEL_FROM_DATABASE=Helios LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000F0E1*
+ ID_MODEL_FROM_DATABASE=Zephyr LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000F0E5*
+ ID_MODEL_FROM_DATABASE=Zephyr LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000F0F5*
+ ID_MODEL_FROM_DATABASE=Neptune LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000F100*
+ ID_MODEL_FROM_DATABASE=Saturn-X: LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000F111*
+ ID_MODEL_FROM_DATABASE=Saturn-X LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000F112*
+ ID_MODEL_FROM_DATABASE=Saturn-X LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000F180*
+ ID_MODEL_FROM_DATABASE=LPSe12002 EmulexSecure Fibre Channel Adapter
+
+pci:v000010DFd0000F700*
+ ID_MODEL_FROM_DATABASE=LP7000 Fibre Channel Host Adapter
+
+pci:v000010DFd0000F701*
+ ID_MODEL_FROM_DATABASE=LP7000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)
+
+pci:v000010DFd0000F800*
+ ID_MODEL_FROM_DATABASE=LP8000 Fibre Channel Host Adapter
+
+pci:v000010DFd0000F801*
+ ID_MODEL_FROM_DATABASE=LP8000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)
+
+pci:v000010DFd0000F900*
+ ID_MODEL_FROM_DATABASE=LP9000 Fibre Channel Host Adapter
+
+pci:v000010DFd0000F901*
+ ID_MODEL_FROM_DATABASE=LP9000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)
+
+pci:v000010DFd0000F980*
+ ID_MODEL_FROM_DATABASE=LP9802 Fibre Channel Host Adapter
+
+pci:v000010DFd0000F981*
+ ID_MODEL_FROM_DATABASE=LP9802 Fibre Channel Host Adapter Alternate ID
+
+pci:v000010DFd0000F982*
+ ID_MODEL_FROM_DATABASE=LP9802 Fibre Channel Host Adapter Alternate ID
+
+pci:v000010DFd0000FA00*
+ ID_MODEL_FROM_DATABASE=Thor-X LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000FB00*
+ ID_MODEL_FROM_DATABASE=Viper LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000FC00*
+ ID_MODEL_FROM_DATABASE=Thor-X LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000FC00sv000010DFsd0000FC00*
+ ID_MODEL_FROM_DATABASE=LP10000 LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000FC10*
+ ID_MODEL_FROM_DATABASE=Helios-X LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000FC20*
+ ID_MODEL_FROM_DATABASE=Zephyr-X LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000FC40*
+ ID_MODEL_FROM_DATABASE=Saturn-X: LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000FC50*
+ ID_MODEL_FROM_DATABASE=Proteus-X: LightPulse IOV Fibre Channel Host Adapter
+
+pci:v000010DFd0000FD00*
+ ID_MODEL_FROM_DATABASE=Helios-X LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000FD11*
+ ID_MODEL_FROM_DATABASE=Helios-X LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000FD12*
+ ID_MODEL_FROM_DATABASE=Helios-X LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000FE00*
+ ID_MODEL_FROM_DATABASE=Zephyr-X LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000FE05*
+ ID_MODEL_FROM_DATABASE=Zephyr-X: LightPulse FCoE Adapter
+
+pci:v000010DFd0000FE11*
+ ID_MODEL_FROM_DATABASE=Zephyr-X LightPulse Fibre Channel Host Adapter
+
+pci:v000010DFd0000FE12*
+ ID_MODEL_FROM_DATABASE=Zephyr-X LightPulse FCoE Adapter
+
+pci:v000010DFd0000FF00*
+ ID_MODEL_FROM_DATABASE=Neptune LightPulse Fibre Channel Host Adapter
+
+pci:v000010E0*
+ ID_VENDOR_FROM_DATABASE=Integrated Micro Solutions Inc.
+
+pci:v000010E0d00005026*
+ ID_MODEL_FROM_DATABASE=IMS5026/27/28
+
+pci:v000010E0d00005027*
+ ID_MODEL_FROM_DATABASE=IMS5027
+
+pci:v000010E0d00005028*
+ ID_MODEL_FROM_DATABASE=IMS5028
+
+pci:v000010E0d00008849*
+ ID_MODEL_FROM_DATABASE=IMS8849
+
+pci:v000010E0d00008853*
+ ID_MODEL_FROM_DATABASE=IMS8853
+
+pci:v000010E0d00009128*
+ ID_MODEL_FROM_DATABASE=IMS9128 [Twin turbo 128]
+
+pci:v000010E1*
+ ID_VENDOR_FROM_DATABASE=Tekram Technology Co.,Ltd.
+
+pci:v000010E1d00000391*
+ ID_MODEL_FROM_DATABASE=TRM-S1040
+
+pci:v000010E1d00000391sv000010E1sd00000391*
+ ID_MODEL_FROM_DATABASE=DC-315U SCSI-3 Host Adapter
+
+pci:v000010E1d0000690C*
+ ID_MODEL_FROM_DATABASE=DC-690c
+
+pci:v000010E1d0000DC29*
+ ID_MODEL_FROM_DATABASE=DC-290
+
+pci:v000010E2*
+ ID_VENDOR_FROM_DATABASE=Aptix Corporation
+
+pci:v000010E3*
+ ID_VENDOR_FROM_DATABASE=Tundra Semiconductor Corp.
+
+pci:v000010E3d00000000*
+ ID_MODEL_FROM_DATABASE=CA91C042 [Universe]
+
+pci:v000010E3d00000108*
+ ID_MODEL_FROM_DATABASE=Tsi108 Host Bridge for Single PowerPC
+
+pci:v000010E3d00000148*
+ ID_MODEL_FROM_DATABASE=Tsi148 [Tempe]
+
+pci:v000010E3d00000148sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=VR11 Single Board Computer
+
+pci:v000010E3d00000860*
+ ID_MODEL_FROM_DATABASE=CA91C860 [QSpan]
+
+pci:v000010E3d00000862*
+ ID_MODEL_FROM_DATABASE=CA91C862A [QSpan-II]
+
+pci:v000010E3d00008260*
+ ID_MODEL_FROM_DATABASE=CA91L8200B [Dual PCI PowerSpan II]
+
+pci:v000010E3d00008261*
+ ID_MODEL_FROM_DATABASE=CA91L8260B [Single PCI PowerSpan II]
+
+pci:v000010E3d0000A108*
+ ID_MODEL_FROM_DATABASE=Tsi109 Host Bridge for Dual PowerPC
+
+pci:v000010E4*
+ ID_VENDOR_FROM_DATABASE=Tandem Computers
+
+pci:v000010E4d00008029*
+ ID_MODEL_FROM_DATABASE=Realtek 8029 Network Card
+
+pci:v000010E5*
+ ID_VENDOR_FROM_DATABASE=Micro Industries Corporation
+
+pci:v000010E6*
+ ID_VENDOR_FROM_DATABASE=Gainbery Computer Products Inc.
+
+pci:v000010E7*
+ ID_VENDOR_FROM_DATABASE=Vadem
+
+pci:v000010E8*
+ ID_VENDOR_FROM_DATABASE=Applied Micro Circuits Corp.
+
+pci:v000010E8d00001072*
+ ID_MODEL_FROM_DATABASE=INES GPIB-PCI (AMCC5920 based)
+
+pci:v000010E8d00002011*
+ ID_MODEL_FROM_DATABASE=Q-Motion Video Capture/Edit board
+
+pci:v000010E8d00004750*
+ ID_MODEL_FROM_DATABASE=S5930 [Matchmaker]
+
+pci:v000010E8d00005920*
+ ID_MODEL_FROM_DATABASE=S5920
+
+pci:v000010E8d00008043*
+ ID_MODEL_FROM_DATABASE=LANai4.x [Myrinet LANai interface chip]
+
+pci:v000010E8d00008062*
+ ID_MODEL_FROM_DATABASE=S5933_PARASTATION
+
+pci:v000010E8d0000807D*
+ ID_MODEL_FROM_DATABASE=S5933 [Matchmaker]
+
+pci:v000010E8d00008088*
+ ID_MODEL_FROM_DATABASE=Kongsberg Spacetec Format Synchronizer
+
+pci:v000010E8d00008089*
+ ID_MODEL_FROM_DATABASE=Kongsberg Spacetec Serial Output Board
+
+pci:v000010E8d0000809C*
+ ID_MODEL_FROM_DATABASE=S5933_HEPC3
+
+pci:v000010E8d000080B9*
+ ID_MODEL_FROM_DATABASE=Harmonix Hi-Card P8 (4x active ISDN BRI)
+
+pci:v000010E8d000080D7*
+ ID_MODEL_FROM_DATABASE=PCI-9112
+
+pci:v000010E8d000080D8*
+ ID_MODEL_FROM_DATABASE=PCI-7200
+
+pci:v000010E8d000080D9*
+ ID_MODEL_FROM_DATABASE=PCI-9118
+
+pci:v000010E8d000080DA*
+ ID_MODEL_FROM_DATABASE=PCI-9812
+
+pci:v000010E8d000080FC*
+ ID_MODEL_FROM_DATABASE=APCI1500 Signal processing controller (16 dig. inputs + 16 dig. outputs)
+
+pci:v000010E8d0000811A*
+ ID_MODEL_FROM_DATABASE=PCI-IEEE1355-DS-DE Interface
+
+pci:v000010E8d0000814C*
+ ID_MODEL_FROM_DATABASE=Fastcom ESCC-PCI (Commtech, Inc.)
+
+pci:v000010E8d00008170*
+ ID_MODEL_FROM_DATABASE=S5933 [Matchmaker] (Chipset Development Tool)
+
+pci:v000010E8d000081E6*
+ ID_MODEL_FROM_DATABASE=Multimedia video controller
+
+pci:v000010E8d0000828D*
+ ID_MODEL_FROM_DATABASE=APCI3001 Signal processing controller (up to 16 analog inputs)
+
+pci:v000010E8d00008291*
+ ID_MODEL_FROM_DATABASE=Fastcom 232/8-PCI (Commtech, Inc.)
+
+pci:v000010E8d000082C4*
+ ID_MODEL_FROM_DATABASE=Fastcom 422/4-PCI (Commtech, Inc.)
+
+pci:v000010E8d000082C5*
+ ID_MODEL_FROM_DATABASE=Fastcom 422/2-PCI (Commtech, Inc.)
+
+pci:v000010E8d000082C6*
+ ID_MODEL_FROM_DATABASE=Fastcom IG422/1-PCI (Commtech, Inc.)
+
+pci:v000010E8d000082C7*
+ ID_MODEL_FROM_DATABASE=Fastcom IG232/2-PCI (Commtech, Inc.)
+
+pci:v000010E8d000082CA*
+ ID_MODEL_FROM_DATABASE=Fastcom 232/4-PCI (Commtech, Inc.)
+
+pci:v000010E8d000082DB*
+ ID_MODEL_FROM_DATABASE=AJA HDNTV HD SDI Framestore
+
+pci:v000010E8d000082E2*
+ ID_MODEL_FROM_DATABASE=Fastcom DIO24H-PCI (Commtech, Inc.)
+
+pci:v000010E8d00008406*
+ ID_MODEL_FROM_DATABASE=PCIcanx/PCIcan CAN interface [Kvaser AB]
+
+pci:v000010E8d00008407*
+ ID_MODEL_FROM_DATABASE=PCIcan II CAN interface (A1021, PCB-07, PCB-08) [Kvaser AB]
+
+pci:v000010E8d00008851*
+ ID_MODEL_FROM_DATABASE=S5933 on Innes Corp FM Radio Capture card
+
+pci:v000010E9*
+ ID_VENDOR_FROM_DATABASE=Alps Electric Co., Ltd.
+
+pci:v000010EA*
+ ID_VENDOR_FROM_DATABASE=Integraphics
+
+pci:v000010EAd00001680*
+ ID_MODEL_FROM_DATABASE=IGA-1680
+
+pci:v000010EAd00001682*
+ ID_MODEL_FROM_DATABASE=IGA-1682
+
+pci:v000010EAd00001683*
+ ID_MODEL_FROM_DATABASE=IGA-1683
+
+pci:v000010EAd00002000*
+ ID_MODEL_FROM_DATABASE=CyberPro 2000
+
+pci:v000010EAd00002010*
+ ID_MODEL_FROM_DATABASE=CyberPro 2000A
+
+pci:v000010EAd00005000*
+ ID_MODEL_FROM_DATABASE=CyberPro 5000
+
+pci:v000010EAd00005050*
+ ID_MODEL_FROM_DATABASE=CyberPro 5050
+
+pci:v000010EAd00005202*
+ ID_MODEL_FROM_DATABASE=CyberPro 5202
+
+pci:v000010EAd00005252*
+ ID_MODEL_FROM_DATABASE=CyberPro5252
+
+pci:v000010EB*
+ ID_VENDOR_FROM_DATABASE=Artists Graphics
+
+pci:v000010EBd00000101*
+ ID_MODEL_FROM_DATABASE=3GA
+
+pci:v000010EBd00008111*
+ ID_MODEL_FROM_DATABASE=Twist3 Frame Grabber
+
+pci:v000010EC*
+ ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Co., Ltd.
+
+pci:v000010ECd00000139*
+ ID_MODEL_FROM_DATABASE=Zonet Zen3200
+
+pci:v000010ECd00000880*
+ ID_MODEL_FROM_DATABASE=Realtek 880 High Definition Audio
+
+pci:v000010ECd00000883*
+ ID_MODEL_FROM_DATABASE=Realtek 883 High Definition Audio
+
+pci:v000010ECd00000885*
+ ID_MODEL_FROM_DATABASE=Realtek 885 High Definition Audio
+
+pci:v000010ECd00000888*
+ ID_MODEL_FROM_DATABASE=Realtek 888 High Definition Audio
+
+pci:v000010ECd00000892*
+ ID_MODEL_FROM_DATABASE=Realtek 892 High Definition Audio
+
+pci:v000010ECd00005209*
+ ID_MODEL_FROM_DATABASE=RTS5209 PCI Express Card Reader
+
+pci:v000010ECd00005229*
+ ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader
+
+pci:v000010ECd00005288*
+ ID_MODEL_FROM_DATABASE=Barossa PCI Express Card Reader
+
+pci:v000010ECd00008029*
+ ID_MODEL_FROM_DATABASE=RTL-8029(AS)
+
+pci:v000010ECd00008029sv000010B8sd00002011*
+ ID_MODEL_FROM_DATABASE=EZ-Card (SMC1208)
+
+pci:v000010ECd00008029sv000010ECsd00008029*
+ ID_MODEL_FROM_DATABASE=RTL-8029(AS)
+
+pci:v000010ECd00008029sv00001113sd00001208*
+ ID_MODEL_FROM_DATABASE=EN1208
+
+pci:v000010ECd00008029sv00001186sd00000300*
+ ID_MODEL_FROM_DATABASE=DE-528
+
+pci:v000010ECd00008029sv00001259sd00002400*
+ ID_MODEL_FROM_DATABASE=AT-2400
+
+pci:v000010ECd00008029sv00001AF4sd00001100*
+ ID_MODEL_FROM_DATABASE=Qemu virtual machine
+
+pci:v000010ECd00008129*
+ ID_MODEL_FROM_DATABASE=RTL-8129
+
+pci:v000010ECd00008129sv000010ECsd00008129*
+ ID_MODEL_FROM_DATABASE=RT8129 Fast Ethernet Adapter
+
+pci:v000010ECd00008129sv000011ECsd00008129*
+ ID_MODEL_FROM_DATABASE=RT8129 Fast Ethernet Adapter
+
+pci:v000010ECd00008136*
+ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller
+
+pci:v000010ECd00008136sv0000103Csd00002AB1*
+ ID_MODEL_FROM_DATABASE=Pavillion p6774
+
+pci:v000010ECd00008136sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v000010ECd00008136sv00001179sd0000FF64*
+ ID_MODEL_FROM_DATABASE=RTL8102E PCI-E Fast Ethernet NIC
+
+pci:v000010ECd00008138*
+ ID_MODEL_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter
+
+pci:v000010ECd00008138sv000010ECsd00008138*
+ ID_MODEL_FROM_DATABASE=RT8139 (B/C) Fast Ethernet Adapter
+
+pci:v000010ECd00008139*
+ ID_MODEL_FROM_DATABASE=RTL-8139/8139C/8139C+
+
+pci:v000010ECd00008139sv00000357sd0000000A*
+ ID_MODEL_FROM_DATABASE=TTP-Monitoring Card V2.0
+
+pci:v000010ECd00008139sv00001025sd0000005A*
+ ID_MODEL_FROM_DATABASE=TravelMate 290
+
+pci:v000010ECd00008139sv00001025sd00008920*
+ ID_MODEL_FROM_DATABASE=ALN-325
+
+pci:v000010ECd00008139sv00001025sd00008921*
+ ID_MODEL_FROM_DATABASE=ALN-325
+
+pci:v000010ECd00008139sv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=NX9500
+
+pci:v000010ECd00008139sv0000103Csd00002A20*
+ ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC
+
+pci:v000010ECd00008139sv0000103Csd000030D9*
+ ID_MODEL_FROM_DATABASE=Presario C700
+
+pci:v000010ECd00008139sv00001043sd00001045*
+ ID_MODEL_FROM_DATABASE=L8400B or L3C/S notebook
+
+pci:v000010ECd00008139sv00001043sd00008109*
+ ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard
+
+pci:v000010ECd00008139sv00001071sd00008160*
+ ID_MODEL_FROM_DATABASE=MIM2000
+
+pci:v000010ECd00008139sv000010BDsd00000320*
+ ID_MODEL_FROM_DATABASE=EP-320X-R
+
+pci:v000010ECd00008139sv000010F7sd00008338*
+ ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop
+
+pci:v000010ECd00008139sv00001113sd0000EC01*
+ ID_MODEL_FROM_DATABASE=FNC-0107TX
+
+pci:v000010ECd00008139sv00001186sd00001300*
+ ID_MODEL_FROM_DATABASE=DFE-538TX
+
+pci:v000010ECd00008139sv00001186sd00001320*
+ ID_MODEL_FROM_DATABASE=SN5200
+
+pci:v000010ECd00008139sv00001186sd00008139*
+ ID_MODEL_FROM_DATABASE=DRN-32TX
+
+pci:v000010ECd00008139sv000011F6sd00008139*
+ ID_MODEL_FROM_DATABASE=FN22-3(A) LinxPRO Ethernet Adapter
+
+pci:v000010ECd00008139sv00001259sd00002500*
+ ID_MODEL_FROM_DATABASE=AT-2500TX
+
+pci:v000010ECd00008139sv00001259sd00002503*
+ ID_MODEL_FROM_DATABASE=AT-2500TX/ACPI
+
+pci:v000010ECd00008139sv00001385sd0000F31D*
+ ID_MODEL_FROM_DATABASE=FA311 v2
+
+pci:v000010ECd00008139sv00001395sd00002100*
+ ID_MODEL_FROM_DATABASE=AMB2100
+
+pci:v000010ECd00008139sv00001429sd0000D010*
+ ID_MODEL_FROM_DATABASE=ND010/ND012
+
+pci:v000010ECd00008139sv00001432sd00009130*
+ ID_MODEL_FROM_DATABASE=EN-9130TX
+
+pci:v000010ECd00008139sv00001436sd00008139*
+ ID_MODEL_FROM_DATABASE=RT8139
+
+pci:v000010ECd00008139sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30/P35 notebook
+
+pci:v000010ECd00008139sv00001458sd0000E000*
+ ID_MODEL_FROM_DATABASE=GA-7VM400M/7VT600 Motherboard
+
+pci:v000010ECd00008139sv00001462sd00000131*
+ ID_MODEL_FROM_DATABASE=MS-1013 Notebook
+
+pci:v000010ECd00008139sv00001462sd0000217C*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v000010ECd00008139sv00001462sd0000788C*
+ ID_MODEL_FROM_DATABASE=865PE Neo2-V Mainboard
+
+pci:v000010ECd00008139sv0000146Csd00001439*
+ ID_MODEL_FROM_DATABASE=FE-1439TX
+
+pci:v000010ECd00008139sv00001489sd00006001*
+ ID_MODEL_FROM_DATABASE=GF100TXRII
+
+pci:v000010ECd00008139sv00001489sd00006002*
+ ID_MODEL_FROM_DATABASE=GF100TXRA
+
+pci:v000010ECd00008139sv0000149Csd0000139A*
+ ID_MODEL_FROM_DATABASE=LFE-8139ATX
+
+pci:v000010ECd00008139sv0000149Csd00008139*
+ ID_MODEL_FROM_DATABASE=LFE-8139TX
+
+pci:v000010ECd00008139sv000014CBsd00000200*
+ ID_MODEL_FROM_DATABASE=LNR-100 Family 10/100 Base-TX Ethernet
+
+pci:v000010ECd00008139sv00001565sd00002300*
+ ID_MODEL_FROM_DATABASE=P4TSV Onboard LAN (RTL8100B)
+
+pci:v000010ECd00008139sv00001631sd00007003*
+ ID_MODEL_FROM_DATABASE=Onboard RTL8111 on GA-8SIML Rev1.0 Mainboard
+
+pci:v000010ECd00008139sv00001695sd00009001*
+ ID_MODEL_FROM_DATABASE=Onboard RTL8101L 10/100 MBit
+
+pci:v000010ECd00008139sv000016ECsd000000FF*
+ ID_MODEL_FROM_DATABASE=USR997900A
+
+pci:v000010ECd00008139sv00001799sd00005000*
+ ID_MODEL_FROM_DATABASE=F5D5000 PCI Card/Desktop Network PCI Card
+
+pci:v000010ECd00008139sv00001799sd00005010*
+ ID_MODEL_FROM_DATABASE=F5D5010 CardBus Notebook Network Card
+
+pci:v000010ECd00008139sv0000187Esd00003303*
+ ID_MODEL_FROM_DATABASE=FN312
+
+pci:v000010ECd00008139sv00001904sd00008139*
+ ID_MODEL_FROM_DATABASE=RTL8139D Fast Ethernet Adapter
+
+pci:v000010ECd00008139sv00002646sd00000001*
+ ID_MODEL_FROM_DATABASE=KNE120TX
+
+pci:v000010ECd00008139sv00008E2Esd00007000*
+ ID_MODEL_FROM_DATABASE=KF-230TX
+
+pci:v000010ECd00008139sv00008E2Esd00007100*
+ ID_MODEL_FROM_DATABASE=KF-230TX/2
+
+pci:v000010ECd00008139sv0000A0A0sd00000007*
+ ID_MODEL_FROM_DATABASE=ALN-325C
+
+pci:v000010ECd00008167*
+ ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet
+
+pci:v000010ECd00008167sv00001458sd0000E000*
+ ID_MODEL_FROM_DATABASE=GA-MA69G-S3H Motherboard
+
+pci:v000010ECd00008167sv00001462sd0000235C*
+ ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard
+
+pci:v000010ECd00008167sv00001462sd0000236C*
+ ID_MODEL_FROM_DATABASE=945P Neo3-F motherboard
+
+pci:v000010ECd00008168*
+ ID_MODEL_FROM_DATABASE=RTL8111/8168 PCI Express Gigabit Ethernet controller
+
+pci:v000010ECd00008168sv00001019sd00008168*
+ ID_MODEL_FROM_DATABASE=RTL8111/8168 PCI Express Gigabit Ethernet controller
+
+pci:v000010ECd00008168sv00001028sd000004B2*
+ ID_MODEL_FROM_DATABASE=Vostro 3350
+
+pci:v000010ECd00008168sv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v000010ECd00008168sv0000103Csd00001611*
+ ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000
+
+pci:v000010ECd00008168sv00001043sd000011F5*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v000010ECd00008168sv00001043sd000016D5*
+ ID_MODEL_FROM_DATABASE=U6V/U31J laptop
+
+pci:v000010ECd00008168sv00001043sd000081AA*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v000010ECd00008168sv00001043sd000082C6*
+ ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard
+
+pci:v000010ECd00008168sv00001043sd000083A3*
+ ID_MODEL_FROM_DATABASE=M4A785TD Motherboard
+
+pci:v000010ECd00008168sv00001043sd00008432*
+ ID_MODEL_FROM_DATABASE=P8P67 and other motherboards
+
+pci:v000010ECd00008168sv00001043sd00008505*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v000010ECd00008168sv0000105Bsd00000D7C*
+ ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard
+
+pci:v000010ECd00008168sv000010ECsd00008168*
+ ID_MODEL_FROM_DATABASE=RTL8111/8168 PCI Express Gigabit Ethernet controller
+
+pci:v000010ECd00008168sv00001458sd0000E000*
+ ID_MODEL_FROM_DATABASE=Motherboard
+
+pci:v000010ECd00008168sv00001462sd0000238C*
+ ID_MODEL_FROM_DATABASE=Onboard RTL8111b on MSI P965 Platinum Mainboard
+
+pci:v000010ECd00008168sv00001462sd0000368C*
+ ID_MODEL_FROM_DATABASE=K9AG Neo2
+
+pci:v000010ECd00008168sv00001462sd00007522*
+ ID_MODEL_FROM_DATABASE=X58 Pro-E
+
+pci:v000010ECd00008168sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v000010ECd00008168sv00001849sd00008168*
+ ID_MODEL_FROM_DATABASE=Motherboard (one of many)
+
+pci:v000010ECd00008168sv00008086sd0000D615*
+ ID_MODEL_FROM_DATABASE=Desktop Board D510MO/D525MW
+
+pci:v000010ECd00008169*
+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller
+
+pci:v000010ECd00008169sv00001025sd00000079*
+ ID_MODEL_FROM_DATABASE=Aspire 5024WLMi
+
+pci:v000010ECd00008169sv000010BDsd00003202*
+ ID_MODEL_FROM_DATABASE=EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter
+
+pci:v000010ECd00008169sv000010ECsd00008169*
+ ID_MODEL_FROM_DATABASE=RTL8169/8110 Family PCI Gigabit Ethernet NIC
+
+pci:v000010ECd00008169sv00001259sd0000C107*
+ ID_MODEL_FROM_DATABASE=CG-LAPCIGT
+
+pci:v000010ECd00008169sv00001371sd0000434E*
+ ID_MODEL_FROM_DATABASE=ProG-2000L
+
+pci:v000010ECd00008169sv00001385sd0000311A*
+ ID_MODEL_FROM_DATABASE=GA311
+
+pci:v000010ECd00008169sv00001385sd00005200*
+ ID_MODEL_FROM_DATABASE=GA511 Gigabit PC Card
+
+pci:v000010ECd00008169sv00001458sd0000E000*
+ ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard
+
+pci:v000010ECd00008169sv00001462sd0000030C*
+ ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 mainboard
+
+pci:v000010ECd00008169sv00001462sd0000065C*
+ ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065)
+
+pci:v000010ECd00008169sv00001462sd0000702C*
+ ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard
+
+pci:v000010ECd00008169sv00001462sd00007094*
+ ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0
+
+pci:v000010ECd00008169sv000016ECsd0000011F*
+ ID_MODEL_FROM_DATABASE=USR997903
+
+pci:v000010ECd00008169sv00001734sd00001091*
+ ID_MODEL_FROM_DATABASE=D2030-A1
+
+pci:v000010ECd00008169sv0000A0A0sd00000449*
+ ID_MODEL_FROM_DATABASE=AK86-L motherboard
+
+pci:v000010ECd00008171*
+ ID_MODEL_FROM_DATABASE=RTL8191SEvA Wireless LAN Controller
+
+pci:v000010ECd00008172*
+ ID_MODEL_FROM_DATABASE=RTL8191SEvB Wireless LAN Controller
+
+pci:v000010ECd00008173*
+ ID_MODEL_FROM_DATABASE=RTL8192SE Wireless LAN Controller
+
+pci:v000010ECd00008174*
+ ID_MODEL_FROM_DATABASE=RTL8192SE Wireless LAN Controller
+
+pci:v000010ECd00008176*
+ ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter
+
+pci:v000010ECd00008176sv00001A3Bsd00001139*
+ ID_MODEL_FROM_DATABASE=AW-NE139H Half-size Mini PCIe Card
+
+pci:v000010ECd00008177*
+ ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter
+
+pci:v000010ECd00008178*
+ ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter
+
+pci:v000010ECd00008179*
+ ID_MODEL_FROM_DATABASE=RTL8188EE Wireless Network Adapter
+
+pci:v000010ECd00008180*
+ ID_MODEL_FROM_DATABASE=RTL8180L 802.11b MAC
+
+pci:v000010ECd00008180sv00001385sd00004700*
+ ID_MODEL_FROM_DATABASE=MA521 802.11b Wireless PC Card
+
+pci:v000010ECd00008180sv00001737sd00000019*
+ ID_MODEL_FROM_DATABASE=WPC11v4 802.11b Wireless-B Notebook Adapter
+
+pci:v000010ECd00008185*
+ ID_MODEL_FROM_DATABASE=RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller
+
+pci:v000010ECd00008190*
+ ID_MODEL_FROM_DATABASE=RTL8190 802.11n Wireless LAN
+
+pci:v000010ECd00008191*
+ ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter
+
+pci:v000010ECd00008192*
+ ID_MODEL_FROM_DATABASE=RTL8192E/RTL8192SE Wireless LAN Controller
+
+pci:v000010ECd00008193*
+ ID_MODEL_FROM_DATABASE=RTL8192DE Wireless LAN Controller
+
+pci:v000010ECd00008197*
+ ID_MODEL_FROM_DATABASE=SmartLAN56 56K Modem
+
+pci:v000010ECd00008199*
+ ID_MODEL_FROM_DATABASE=RTL8187SE Wireless LAN Controller
+
+pci:v000010ECd00008199sv00001462sd00006894*
+ ID_MODEL_FROM_DATABASE=MN54G2 / MS-6894 Wireless Mini PCIe Card
+
+pci:v000010ECd00008723*
+ ID_MODEL_FROM_DATABASE=RTL8723AE PCIe Wireless Network Adapter
+
+pci:v000010ED*
+ ID_VENDOR_FROM_DATABASE=Ascii Corporation
+
+pci:v000010EDd00007310*
+ ID_MODEL_FROM_DATABASE=V7310
+
+pci:v000010EE*
+ ID_VENDOR_FROM_DATABASE=Xilinx Corporation
+
+pci:v000010EEd00000001*
+ ID_MODEL_FROM_DATABASE=EUROCOM for PCI (ECOMP)
+
+pci:v000010EEd00000002*
+ ID_MODEL_FROM_DATABASE=Octal E1/T1 for PCI ETP Card
+
+pci:v000010EEd00000007*
+ ID_MODEL_FROM_DATABASE=Default PCIe endpoint ID
+
+pci:v000010EEd00000205*
+ ID_MODEL_FROM_DATABASE=Wildcard TE205P
+
+pci:v000010EEd00000210*
+ ID_MODEL_FROM_DATABASE=Wildcard TE210P
+
+pci:v000010EEd00000300*
+ ID_MODEL_FROM_DATABASE=Spartan 3 Designs (Xilinx IP)
+
+pci:v000010EEd00000314*
+ ID_MODEL_FROM_DATABASE=Wildcard TE405P/TE410P (1st Gen)
+
+pci:v000010EEd00000405*
+ ID_MODEL_FROM_DATABASE=Wildcard TE405P (2nd Gen)
+
+pci:v000010EEd00000410*
+ ID_MODEL_FROM_DATABASE=Wildcard TE410P (2nd Gen)
+
+pci:v000010EEd00000600*
+ ID_MODEL_FROM_DATABASE=Xilinx 6 Designs (Xilinx IP)
+
+pci:v000010EEd00002B00*
+ ID_MODEL_FROM_DATABASE=Zomojo Zcard
+
+pci:v000010EEd00003FC0*
+ ID_MODEL_FROM_DATABASE=RME Digi96
+
+pci:v000010EEd00003FC1*
+ ID_MODEL_FROM_DATABASE=RME Digi96/8
+
+pci:v000010EEd00003FC2*
+ ID_MODEL_FROM_DATABASE=RME Digi96/8 Pro
+
+pci:v000010EEd00003FC3*
+ ID_MODEL_FROM_DATABASE=RME Digi96/8 Pad
+
+pci:v000010EEd00003FC4*
+ ID_MODEL_FROM_DATABASE=RME Digi9652 (Hammerfall)
+
+pci:v000010EEd00003FC5*
+ ID_MODEL_FROM_DATABASE=RME Hammerfall DSP
+
+pci:v000010EEd00003FC6*
+ ID_MODEL_FROM_DATABASE=RME Hammerfall DSP MADI
+
+pci:v000010EEd00008380*
+ ID_MODEL_FROM_DATABASE=Ellips ProfiXpress Profibus Master
+
+pci:v000010EEd00008381*
+ ID_MODEL_FROM_DATABASE=Ellips Santos Frame Grabber
+
+pci:v000010EEd0000D154*
+ ID_MODEL_FROM_DATABASE=Copley Controls CAN card (PCI-CAN-02)
+
+pci:v000010EEd0000EBF0*
+ ID_MODEL_FROM_DATABASE=SED Systems Modulator/Demodulator
+
+pci:v000010EEd0000EBF1*
+ ID_MODEL_FROM_DATABASE=SED Systems Audio Interface Card
+
+pci:v000010EEd0000EBF2*
+ ID_MODEL_FROM_DATABASE=SED Systems Common PCI Interface
+
+pci:v000010EF*
+ ID_VENDOR_FROM_DATABASE=Racore Computer Products, Inc.
+
+pci:v000010EFd00008154*
+ ID_MODEL_FROM_DATABASE=M815x Token Ring Adapter
+
+pci:v000010F0*
+ ID_VENDOR_FROM_DATABASE=Peritek Corporation
+
+pci:v000010F1*
+ ID_VENDOR_FROM_DATABASE=Tyan Computer
+
+pci:v000010F1d00002865*
+ ID_MODEL_FROM_DATABASE=Tyan Thunder K8E S2865
+
+pci:v000010F1d00005300*
+ ID_MODEL_FROM_DATABASE=Tyan S5380 Mainboard
+
+pci:v000010F2*
+ ID_VENDOR_FROM_DATABASE=Achme Computer, Inc.
+
+pci:v000010F3*
+ ID_VENDOR_FROM_DATABASE=Alaris, Inc.
+
+pci:v000010F4*
+ ID_VENDOR_FROM_DATABASE=S-MOS Systems, Inc.
+
+pci:v000010F5*
+ ID_VENDOR_FROM_DATABASE=NKK Corporation
+
+pci:v000010F5d0000A001*
+ ID_MODEL_FROM_DATABASE=NDR4000 [NR4600 Bridge]
+
+pci:v000010F6*
+ ID_VENDOR_FROM_DATABASE=Creative Electronic Systems SA
+
+pci:v000010F7*
+ ID_VENDOR_FROM_DATABASE=Matsushita Electric Industrial Co., Ltd.
+
+pci:v000010F8*
+ ID_VENDOR_FROM_DATABASE=Altos India Ltd
+
+pci:v000010F9*
+ ID_VENDOR_FROM_DATABASE=PC Direct
+
+pci:v000010FA*
+ ID_VENDOR_FROM_DATABASE=Truevision
+
+pci:v000010FAd0000000C*
+ ID_MODEL_FROM_DATABASE=TARGA 1000
+
+pci:v000010FB*
+ ID_VENDOR_FROM_DATABASE=Thesys Gesellschaft fuer Mikroelektronik mbH
+
+pci:v000010FBd0000186F*
+ ID_MODEL_FROM_DATABASE=TH 6255
+
+pci:v000010FC*
+ ID_VENDOR_FROM_DATABASE=I-O Data Device, Inc.
+
+pci:v000010FCd00000003*
+ ID_MODEL_FROM_DATABASE=Cardbus IDE Controller
+
+pci:v000010FCd00000005*
+ ID_MODEL_FROM_DATABASE=Cardbus SCSI CBSC II
+
+pci:v000010FD*
+ ID_VENDOR_FROM_DATABASE=Soyo Computer, Inc
+
+pci:v000010FE*
+ ID_VENDOR_FROM_DATABASE=Fast Multimedia AG
+
+pci:v000010FF*
+ ID_VENDOR_FROM_DATABASE=NCube
+
+pci:v00001100*
+ ID_VENDOR_FROM_DATABASE=Jazz Multimedia
+
+pci:v00001101*
+ ID_VENDOR_FROM_DATABASE=Initio Corporation
+
+pci:v00001101d00000002*
+ ID_MODEL_FROM_DATABASE=INI-920 Ultra SCSI Adapter
+
+pci:v00001101d00001060*
+ ID_MODEL_FROM_DATABASE=INI-A100U2W
+
+pci:v00001101d00001622*
+ ID_MODEL_FROM_DATABASE=INI-1623 PCI SATA-II Controller
+
+pci:v00001101d00009100*
+ ID_MODEL_FROM_DATABASE=INI-9100/9100W
+
+pci:v00001101d00009400*
+ ID_MODEL_FROM_DATABASE=INI-940 Fast Wide SCSI Adapter
+
+pci:v00001101d00009401*
+ ID_MODEL_FROM_DATABASE=INI-935 Fast Wide SCSI Adapter
+
+pci:v00001101d00009500*
+ ID_MODEL_FROM_DATABASE=INI-950 SCSI Adapter
+
+pci:v00001101d00009502*
+ ID_MODEL_FROM_DATABASE=INI-950P Ultra Wide SCSI Adapter
+
+pci:v00001102*
+ ID_VENDOR_FROM_DATABASE=Creative Labs
+
+pci:v00001102d00000002*
+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1
+
+pci:v00001102d00000002sv0000100Asd00001102*
+ ID_MODEL_FROM_DATABASE=SB Live! 5.1 Digital OEM SB0220 EMU10K1-JFF
+
+pci:v00001102d00000002sv00001102sd00000020*
+ ID_MODEL_FROM_DATABASE=CT4850 SBLive! Value
+
+pci:v00001102d00000002sv00001102sd00000021*
+ ID_MODEL_FROM_DATABASE=CT4620 SBLive!
+
+pci:v00001102d00000002sv00001102sd0000002F*
+ ID_MODEL_FROM_DATABASE=SBLive! mainboard implementation
+
+pci:v00001102d00000002sv00001102sd0000100A*
+ ID_MODEL_FROM_DATABASE=SB Live! 5.1 Digital OEM [SB0220]
+
+pci:v00001102d00000002sv00001102sd00004001*
+ ID_MODEL_FROM_DATABASE=E-mu APS
+
+pci:v00001102d00000002sv00001102sd00008022*
+ ID_MODEL_FROM_DATABASE=CT4780 SBLive! Value
+
+pci:v00001102d00000002sv00001102sd00008023*
+ ID_MODEL_FROM_DATABASE=CT4790 SoundBlaster PCI512
+
+pci:v00001102d00000002sv00001102sd00008024*
+ ID_MODEL_FROM_DATABASE=CT4760 SBLive!
+
+pci:v00001102d00000002sv00001102sd00008025*
+ ID_MODEL_FROM_DATABASE=SBLive! Mainboard Implementation
+
+pci:v00001102d00000002sv00001102sd00008026*
+ ID_MODEL_FROM_DATABASE=CT4830 SBLive! Value
+
+pci:v00001102d00000002sv00001102sd00008027*
+ ID_MODEL_FROM_DATABASE=CT4832 SBLive! Value
+
+pci:v00001102d00000002sv00001102sd00008028*
+ ID_MODEL_FROM_DATABASE=CT4760 SBLive! OEM version
+
+pci:v00001102d00000002sv00001102sd00008031*
+ ID_MODEL_FROM_DATABASE=CT4831 SBLive! Value
+
+pci:v00001102d00000002sv00001102sd00008040*
+ ID_MODEL_FROM_DATABASE=CT4760 SBLive!
+
+pci:v00001102d00000002sv00001102sd00008051*
+ ID_MODEL_FROM_DATABASE=CT4850 SBLive! Value
+
+pci:v00001102d00000002sv00001102sd00008061*
+ ID_MODEL_FROM_DATABASE=SBLive! Player 5.1
+
+pci:v00001102d00000002sv00001102sd00008064*
+ ID_MODEL_FROM_DATABASE=SBLive! 5.1 Model SB0100
+
+pci:v00001102d00000002sv00001102sd00008065*
+ ID_MODEL_FROM_DATABASE=SBLive! 5.1 Digital Model SB0220
+
+pci:v00001102d00000002sv00001102sd00008066*
+ ID_MODEL_FROM_DATABASE=Live! 5.1 Digital [SB0228]
+
+pci:v00001102d00000002sv00001102sd00008067*
+ ID_MODEL_FROM_DATABASE=SBLive! 5.1 eMicro 28028
+
+pci:v00001102d00000004*
+ ID_MODEL_FROM_DATABASE=SB Audigy
+
+pci:v00001102d00000004sv00001102sd00000051*
+ ID_MODEL_FROM_DATABASE=SB0090 Audigy Player
+
+pci:v00001102d00000004sv00001102sd00000053*
+ ID_MODEL_FROM_DATABASE=SB0090 Audigy Player/OEM
+
+pci:v00001102d00000004sv00001102sd00000058*
+ ID_MODEL_FROM_DATABASE=SB0090 Audigy Player/OEM
+
+pci:v00001102d00000004sv00001102sd00001002*
+ ID_MODEL_FROM_DATABASE=SB Audigy2 Platinum
+
+pci:v00001102d00000004sv00001102sd00001007*
+ ID_MODEL_FROM_DATABASE=SB0240 Audigy 2 Platinum 6.1
+
+pci:v00001102d00000004sv00001102sd00001009*
+ ID_MODEL_FROM_DATABASE=SB Audigy2 OEM HP
+
+pci:v00001102d00000004sv00001102sd00002001*
+ ID_MODEL_FROM_DATABASE=SB Audigy 2 ZS Platinum Pro
+
+pci:v00001102d00000004sv00001102sd00002002*
+ ID_MODEL_FROM_DATABASE=SB Audigy 2 ZS (SB0350)
+
+pci:v00001102d00000004sv00001102sd00004001*
+ ID_MODEL_FROM_DATABASE=E-MU 1010
+
+pci:v00001102d00000004sv00001102sd00004002*
+ ID_MODEL_FROM_DATABASE=E-MU 0404
+
+pci:v00001102d00000005*
+ ID_MODEL_FROM_DATABASE=SB X-Fi
+
+pci:v00001102d00000005sv00001102sd00000021*
+ ID_MODEL_FROM_DATABASE=X-Fi Platinum
+
+pci:v00001102d00000005sv00001102sd0000002C*
+ ID_MODEL_FROM_DATABASE=X-Fi XtremeGamer FATAL1TY PRO
+
+pci:v00001102d00000005sv00001102sd00001003*
+ ID_MODEL_FROM_DATABASE=X-Fi XtremeMusic
+
+pci:v00001102d00000006*
+ ID_MODEL_FROM_DATABASE=[SB Live! Value] EMU10k1X
+
+pci:v00001102d00000007*
+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster
+
+pci:v00001102d00000007sv00001102sd00000007*
+ ID_MODEL_FROM_DATABASE=SBLive! 24bit
+
+pci:v00001102d00000007sv00001102sd00001001*
+ ID_MODEL_FROM_DATABASE=SB0310 Audigy LS
+
+pci:v00001102d00000007sv00001102sd00001002*
+ ID_MODEL_FROM_DATABASE=SB0312 Audigy LS
+
+pci:v00001102d00000007sv00001102sd00001006*
+ ID_MODEL_FROM_DATABASE=SB0410 SBLive! 24-bit
+
+pci:v00001102d00000007sv00001102sd0000100A*
+ ID_MODEL_FROM_DATABASE=SB0570 [SB Audigy SE]
+
+pci:v00001102d00000007sv00001102sd00001012*
+ ID_MODEL_FROM_DATABASE=SB0790 X-Fi XA
+
+pci:v00001102d00000007sv00001102sd00001013*
+ ID_MODEL_FROM_DATABASE=Soundblaster X-Fi Xtreme Audio
+
+pci:v00001102d00000007sv00001462sd00001009*
+ ID_MODEL_FROM_DATABASE=K8N Diamond
+
+pci:v00001102d00000008*
+ ID_MODEL_FROM_DATABASE=SB0400 Audigy2 Value
+
+pci:v00001102d00000008sv00001102sd00000008*
+ ID_MODEL_FROM_DATABASE=EMU0404 Digital Audio System
+
+pci:v00001102d00000008sv00001102sd00004004*
+ ID_MODEL_FROM_DATABASE=EMU1010 Digital Audio System [MAEM8960]
+
+pci:v00001102d00000009*
+ ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG
+
+pci:v00001102d00000009sv00001102sd00000010*
+ ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG
+
+pci:v00001102d00000009sv00001102sd00000018*
+ ID_MODEL_FROM_DATABASE=SB1040
+
+pci:v00001102d0000000B*
+ ID_MODEL_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series]
+
+pci:v00001102d0000000Bsv00001102sd00000041*
+ ID_MODEL_FROM_DATABASE=SB0880 [SoundBlaster X-Fi Titanium PCI-e]
+
+pci:v00001102d00004001*
+ ID_MODEL_FROM_DATABASE=SB Audigy FireWire Port
+
+pci:v00001102d00004001sv00001102sd00000010*
+ ID_MODEL_FROM_DATABASE=SB Audigy FireWire Port
+
+pci:v00001102d00007002*
+ ID_MODEL_FROM_DATABASE=SB Live! Game Port
+
+pci:v00001102d00007002sv00001102sd00000020*
+ ID_MODEL_FROM_DATABASE=Gameport Joystick
+
+pci:v00001102d00007003*
+ ID_MODEL_FROM_DATABASE=SB Audigy Game Port
+
+pci:v00001102d00007003sv00001102sd00000040*
+ ID_MODEL_FROM_DATABASE=SB Audigy Game Port
+
+pci:v00001102d00007003sv00001102sd00000060*
+ ID_MODEL_FROM_DATABASE=SB Audigy2 MIDI/Game Port
+
+pci:v00001102d00007004*
+ ID_MODEL_FROM_DATABASE=[SB Live! Value] Input device controller
+
+pci:v00001102d00007005*
+ ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port
+
+pci:v00001102d00007005sv00001102sd00001001*
+ ID_MODEL_FROM_DATABASE=SB0310 Audigy LS MIDI/Game port
+
+pci:v00001102d00007005sv00001102sd00001002*
+ ID_MODEL_FROM_DATABASE=SB0312 Audigy LS MIDI/Game port
+
+pci:v00001102d00007006*
+ ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG PCI to PCIe Bridge
+
+pci:v00001102d00008938*
+ ID_MODEL_FROM_DATABASE=Ectiva EV1938
+
+pci:v00001102d00008938sv00001033sd000080E5*
+ ID_MODEL_FROM_DATABASE=SlimTower-Jim (NEC)
+
+pci:v00001102d00008938sv00001071sd00007150*
+ ID_MODEL_FROM_DATABASE=Mitac 7150
+
+pci:v00001102d00008938sv0000110Asd00005938*
+ ID_MODEL_FROM_DATABASE=Siemens Scenic Mobile 510PIII
+
+pci:v00001102d00008938sv000013BDsd0000100C*
+ ID_MODEL_FROM_DATABASE=Ceres-C (Sharp, Intel BX)
+
+pci:v00001102d00008938sv000013BDsd0000100D*
+ ID_MODEL_FROM_DATABASE=Sharp, Intel Banister
+
+pci:v00001102d00008938sv000013BDsd0000100E*
+ ID_MODEL_FROM_DATABASE=TwinHead P09S/P09S3 (Sharp)
+
+pci:v00001102d00008938sv000013BDsd0000F6F1*
+ ID_MODEL_FROM_DATABASE=Marlin (Sharp)
+
+pci:v00001102d00008938sv000014FFsd00000E70*
+ ID_MODEL_FROM_DATABASE=P88TE (TWINHEAD INTERNATIONAL Corp)
+
+pci:v00001102d00008938sv000014FFsd0000C401*
+ ID_MODEL_FROM_DATABASE=Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp)
+
+pci:v00001102d00008938sv0000156Dsd0000B400*
+ ID_MODEL_FROM_DATABASE=G400 - Geo (AlphaTop (Taiwan))
+
+pci:v00001102d00008938sv0000156Dsd0000B550*
+ ID_MODEL_FROM_DATABASE=G560 (AlphaTop (Taiwan))
+
+pci:v00001102d00008938sv0000156Dsd0000B560*
+ ID_MODEL_FROM_DATABASE=G560 (AlphaTop (Taiwan))
+
+pci:v00001102d00008938sv0000156Dsd0000B700*
+ ID_MODEL_FROM_DATABASE=G700/U700 (AlphaTop (Taiwan))
+
+pci:v00001102d00008938sv0000156Dsd0000B795*
+ ID_MODEL_FROM_DATABASE=G795 (AlphaTop (Taiwan))
+
+pci:v00001102d00008938sv0000156Dsd0000B797*
+ ID_MODEL_FROM_DATABASE=G797 (AlphaTop (Taiwan))
+
+pci:v00001103*
+ ID_VENDOR_FROM_DATABASE=HighPoint Technologies, Inc.
+
+pci:v00001103d00000003*
+ ID_MODEL_FROM_DATABASE=HPT343/345/346/363
+
+pci:v00001103d00000004*
+ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N
+
+pci:v00001103d00000004sv00001103sd00000001*
+ ID_MODEL_FROM_DATABASE=HPT370A
+
+pci:v00001103d00000004sv00001103sd00000004*
+ ID_MODEL_FROM_DATABASE=HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4)
+
+pci:v00001103d00000004sv00001103sd00000005*
+ ID_MODEL_FROM_DATABASE=HPT370 UDMA100
+
+pci:v00001103d00000004sv00001103sd00000006*
+ ID_MODEL_FROM_DATABASE=HPT302/302N
+
+pci:v00001103d00000005*
+ ID_MODEL_FROM_DATABASE=HPT372A/372N
+
+pci:v00001103d00000006*
+ ID_MODEL_FROM_DATABASE=HPT302/302N
+
+pci:v00001103d00000007*
+ ID_MODEL_FROM_DATABASE=HPT371/371N
+
+pci:v00001103d00000008*
+ ID_MODEL_FROM_DATABASE=HPT374
+
+pci:v00001103d00000009*
+ ID_MODEL_FROM_DATABASE=HPT372N
+
+pci:v00001103d00000620*
+ ID_MODEL_FROM_DATABASE=RocketRAID 620 2 Port SATA-III Controller
+
+pci:v00001103d00000622*
+ ID_MODEL_FROM_DATABASE=RocketRAID 622 2 Port SATA-III Controller
+
+pci:v00001103d00000640*
+ ID_MODEL_FROM_DATABASE=RocketRAID 640 4 Port SATA-III Controller
+
+pci:v00001103d00001720*
+ ID_MODEL_FROM_DATABASE=RocketRAID 1720 (2x SATA II RAID Controller)
+
+pci:v00001103d00001740*
+ ID_MODEL_FROM_DATABASE=RocketRAID 1740
+
+pci:v00001103d00001742*
+ ID_MODEL_FROM_DATABASE=RocketRAID 1742
+
+pci:v00001103d00002210*
+ ID_MODEL_FROM_DATABASE=RocketRAID 2210 SATA-II Controller
+
+pci:v00001103d00002300*
+ ID_MODEL_FROM_DATABASE=RocketRAID 230x 4 Port SATA-II Controller
+
+pci:v00001103d00002310*
+ ID_MODEL_FROM_DATABASE=RocketRAID 2310 4 Port SATA-II Controller
+
+pci:v00001103d00002320*
+ ID_MODEL_FROM_DATABASE=RocketRAID 2320 SATA-II Controller
+
+pci:v00001103d00002322*
+ ID_MODEL_FROM_DATABASE=RocketRAID 2322 SATA-II Controller
+
+pci:v00001103d00002340*
+ ID_MODEL_FROM_DATABASE=RocketRAID 2340 16 Port SATA-II Controller
+
+pci:v00001103d00002640*
+ ID_MODEL_FROM_DATABASE=RocketRAID 2640 SAS/SATA Controller
+
+pci:v00001103d00002722*
+ ID_MODEL_FROM_DATABASE=RocketRAID 2722
+
+pci:v00001103d00002740*
+ ID_MODEL_FROM_DATABASE=RocketRAID 2740
+
+pci:v00001103d00002744*
+ ID_MODEL_FROM_DATABASE=RocketRaid 2744
+
+pci:v00001103d00002782*
+ ID_MODEL_FROM_DATABASE=RocketRAID 2782
+
+pci:v00001103d00003120*
+ ID_MODEL_FROM_DATABASE=RocketRAID 3120
+
+pci:v00001103d00003220*
+ ID_MODEL_FROM_DATABASE=RocketRAID 3220
+
+pci:v00001103d00003320*
+ ID_MODEL_FROM_DATABASE=RocketRAID 3320
+
+pci:v00001103d00004310*
+ ID_MODEL_FROM_DATABASE=RocketRaid 4310
+
+pci:v00001104*
+ ID_VENDOR_FROM_DATABASE=RasterOps Corp.
+
+pci:v00001105*
+ ID_VENDOR_FROM_DATABASE=Sigma Designs, Inc.
+
+pci:v00001105d00001105*
+ ID_MODEL_FROM_DATABASE=REALmagic Xcard MPEG 1/2/3/4 DVD Decoder
+
+pci:v00001105d00008300*
+ ID_MODEL_FROM_DATABASE=REALmagic Hollywood Plus DVD Decoder
+
+pci:v00001105d00008400*
+ ID_MODEL_FROM_DATABASE=EM840x REALmagic DVD/MPEG-2 Audio/Video Decoder
+
+pci:v00001105d00008401*
+ ID_MODEL_FROM_DATABASE=EM8401 REALmagic DVD/MPEG-2 A/V Decoder
+
+pci:v00001105d00008470*
+ ID_MODEL_FROM_DATABASE=EM8470 REALmagic DVD/MPEG-4 A/V Decoder
+
+pci:v00001105d00008471*
+ ID_MODEL_FROM_DATABASE=EM8471 REALmagic DVD/MPEG-4 A/V Decoder
+
+pci:v00001105d00008475*
+ ID_MODEL_FROM_DATABASE=EM8475 REALmagic DVD/MPEG-4 A/V Decoder
+
+pci:v00001105d00008475sv00001105sd00000001*
+ ID_MODEL_FROM_DATABASE=REALmagic X-Card
+
+pci:v00001105d00008476*
+ ID_MODEL_FROM_DATABASE=EM8476 REALmagic DVD/MPEG-4 A/V Decoder
+
+pci:v00001105d00008476sv0000127Dsd00000000*
+ ID_MODEL_FROM_DATABASE=CineView II
+
+pci:v00001105d00008485*
+ ID_MODEL_FROM_DATABASE=EM8485 REALmagic DVD/MPEG-4 A/V Decoder
+
+pci:v00001105d00008486*
+ ID_MODEL_FROM_DATABASE=EM8486 REALmagic DVD/MPEG-4 A/V Decoder
+
+pci:v00001105d0000C622*
+ ID_MODEL_FROM_DATABASE=EM8622L MPEG-4.10 (H.264) and SMPTE 421M (VC-1) A/V Decoder
+
+pci:v00001106*
+ ID_VENDOR_FROM_DATABASE=VIA Technologies, Inc.
+
+pci:v00001106d00000102*
+ ID_MODEL_FROM_DATABASE=Embedded VIA Ethernet Controller
+
+pci:v00001106d00000130*
+ ID_MODEL_FROM_DATABASE=VT6305 1394.A Controller
+
+pci:v00001106d00000198*
+ ID_MODEL_FROM_DATABASE=P4X600 Host Bridge
+
+pci:v00001106d00000204*
+ ID_MODEL_FROM_DATABASE=K8M800 Host Bridge
+
+pci:v00001106d00000208*
+ ID_MODEL_FROM_DATABASE=PT890 Host Bridge
+
+pci:v00001106d00000238*
+ ID_MODEL_FROM_DATABASE=K8T890 Host Bridge
+
+pci:v00001106d00000258*
+ ID_MODEL_FROM_DATABASE=PT880 Host Bridge
+
+pci:v00001106d00000259*
+ ID_MODEL_FROM_DATABASE=CN333/CN400/PM880 Host Bridge
+
+pci:v00001106d00000269*
+ ID_MODEL_FROM_DATABASE=KT880 Host Bridge
+
+pci:v00001106d00000282*
+ ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge
+
+pci:v00001106d00000282sv00001043sd000080A3*
+ ID_MODEL_FROM_DATABASE=A8V Deluxe
+
+pci:v00001106d00000290*
+ ID_MODEL_FROM_DATABASE=K8M890 Host Bridge
+
+pci:v00001106d00000293*
+ ID_MODEL_FROM_DATABASE=PM896 Host Bridge
+
+pci:v00001106d00000296*
+ ID_MODEL_FROM_DATABASE=P4M800 Host Bridge
+
+pci:v00001106d00000305*
+ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133]
+
+pci:v00001106d00000305sv00001019sd00000987*
+ ID_MODEL_FROM_DATABASE=K7VZA Mainboard
+
+pci:v00001106d00000305sv00001043sd00008033*
+ ID_MODEL_FROM_DATABASE=A7V Mainboard
+
+pci:v00001106d00000305sv00001043sd0000803E*
+ ID_MODEL_FROM_DATABASE=A7V-E Mainboard
+
+pci:v00001106d00000305sv00001043sd00008042*
+ ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard
+
+pci:v00001106d00000305sv0000147Bsd0000A401*
+ ID_MODEL_FROM_DATABASE=KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard
+
+pci:v00001106d00000308*
+ ID_MODEL_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge
+
+pci:v00001106d00000308sv00001043sd00008199*
+ ID_MODEL_FROM_DATABASE=P4V800D-X Mainboard
+
+pci:v00001106d00000308sv00001849sd00000308*
+ ID_MODEL_FROM_DATABASE=Motherboard
+
+pci:v00001106d00000314*
+ ID_MODEL_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge
+
+pci:v00001106d00000324*
+ ID_MODEL_FROM_DATABASE=CX700/VX700 Host Bridge
+
+pci:v00001106d00000327*
+ ID_MODEL_FROM_DATABASE=P4M890 Host Bridge
+
+pci:v00001106d00000336*
+ ID_MODEL_FROM_DATABASE=K8M890CE Host Bridge
+
+pci:v00001106d00000340*
+ ID_MODEL_FROM_DATABASE=PT900 Host Bridge
+
+pci:v00001106d00000351*
+ ID_MODEL_FROM_DATABASE=K8T890CF Host Bridge
+
+pci:v00001106d00000353*
+ ID_MODEL_FROM_DATABASE=VX800 Host Bridge
+
+pci:v00001106d00000364*
+ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge
+
+pci:v00001106d00000364sv00001043sd000081CE*
+ ID_MODEL_FROM_DATABASE=P5VD2-VM mothervoard
+
+pci:v00001106d00000391*
+ ID_MODEL_FROM_DATABASE=VT8371 [KX133]
+
+pci:v00001106d00000409*
+ ID_MODEL_FROM_DATABASE=VX855/VX875 Host Bridge: Host Control
+
+pci:v00001106d00000410*
+ ID_MODEL_FROM_DATABASE=VX900 Host Bridge: Host Control
+
+pci:v00001106d00000415*
+ ID_MODEL_FROM_DATABASE=VT6415 PATA IDE Host Controller
+
+pci:v00001106d00000415sv00001043sd0000838F*
+ ID_MODEL_FROM_DATABASE=M5A88-V EVO
+
+pci:v00001106d00000501*
+ ID_MODEL_FROM_DATABASE=VT8501 [Apollo MVP4]
+
+pci:v00001106d00000505*
+ ID_MODEL_FROM_DATABASE=VT82C505
+
+pci:v00001106d00000561*
+ ID_MODEL_FROM_DATABASE=VT82C576MV
+
+pci:v00001106d00000571*
+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE
+
+pci:v00001106d00000571sv00001019sd00000985*
+ ID_MODEL_FROM_DATABASE=P6VXA Motherboard
+
+pci:v00001106d00000571sv00001019sd00000A81*
+ ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235)
+
+pci:v00001106d00000571sv00001043sd00008052*
+ ID_MODEL_FROM_DATABASE=VT8233A Bus Master ATA100/66/33 IDE
+
+pci:v00001106d00000571sv00001043sd0000808C*
+ ID_MODEL_FROM_DATABASE=A7V8X / A7V333 motherboard
+
+pci:v00001106d00000571sv00001043sd000080A1*
+ ID_MODEL_FROM_DATABASE=A7V8X-X motherboard rev. 1.01
+
+pci:v00001106d00000571sv00001043sd000080ED*
+ ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard
+
+pci:v00001106d00000571sv00001106sd00000571*
+ ID_MODEL_FROM_DATABASE=VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE
+
+pci:v00001106d00000571sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Magnia Z310
+
+pci:v00001106d00000571sv00001297sd0000F641*
+ ID_MODEL_FROM_DATABASE=FX41 motherboard
+
+pci:v00001106d00000571sv00001458sd00005002*
+ ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard
+
+pci:v00001106d00000571sv00001462sd00005901*
+ ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
+
+pci:v00001106d00000571sv00001462sd00007020*
+ ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard
+
+pci:v00001106d00000571sv00001462sd00007094*
+ ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0
+
+pci:v00001106d00000571sv00001462sd00007120*
+ ID_MODEL_FROM_DATABASE=KT4AV motherboard
+
+pci:v00001106d00000571sv00001462sd00007181*
+ ID_MODEL_FROM_DATABASE=K8MM3-V mainboard
+
+pci:v00001106d00000571sv0000147Bsd00001407*
+ ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard
+
+pci:v00001106d00000571sv00001849sd00000571*
+ ID_MODEL_FROM_DATABASE=K7VT series Motherboards
+
+pci:v00001106d00000576*
+ ID_MODEL_FROM_DATABASE=VT82C576 3V [Apollo Master]
+
+pci:v00001106d00000581*
+ ID_MODEL_FROM_DATABASE=CX700/VX700 RAID Controller
+
+pci:v00001106d00000581sv00001106sd00000581*
+ ID_MODEL_FROM_DATABASE=Wrong IDE ID
+
+pci:v00001106d00000585*
+ ID_MODEL_FROM_DATABASE=VT82C585VP [Apollo VP1/VPX]
+
+pci:v00001106d00000586*
+ ID_MODEL_FROM_DATABASE=VT82C586/A/B PCI-to-ISA [Apollo VP]
+
+pci:v00001106d00000586sv00001106sd00000000*
+ ID_MODEL_FROM_DATABASE=MVP3 ISA Bridge
+
+pci:v00001106d00000591*
+ ID_MODEL_FROM_DATABASE=VT8237A SATA 2-Port Controller
+
+pci:v00001106d00000595*
+ ID_MODEL_FROM_DATABASE=VT82C595 [Apollo VP2]
+
+pci:v00001106d00000596*
+ ID_MODEL_FROM_DATABASE=VT82C596 ISA [Mobile South]
+
+pci:v00001106d00000596sv00001106sd00000000*
+ ID_MODEL_FROM_DATABASE=VT82C596/A/B PCI to ISA Bridge
+
+pci:v00001106d00000596sv00001458sd00000596*
+ ID_MODEL_FROM_DATABASE=VT82C596/A/B PCI to ISA Bridge
+
+pci:v00001106d00000597*
+ ID_MODEL_FROM_DATABASE=VT82C597 [Apollo VP3]
+
+pci:v00001106d00000598*
+ ID_MODEL_FROM_DATABASE=VT82C598 [Apollo MVP3]
+
+pci:v00001106d00000601*
+ ID_MODEL_FROM_DATABASE=VT8601 [Apollo ProMedia]
+
+pci:v00001106d00000605*
+ ID_MODEL_FROM_DATABASE=VT8605 [ProSavage PM133]
+
+pci:v00001106d00000605sv0000103Csd00001254*
+ ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard]
+
+pci:v00001106d00000605sv00001043sd0000802C*
+ ID_MODEL_FROM_DATABASE=CUV4X mainboard
+
+pci:v00001106d00000680*
+ ID_MODEL_FROM_DATABASE=VT82C680 [Apollo P6]
+
+pci:v00001106d00000686*
+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South]
+
+pci:v00001106d00000686sv00001019sd00000985*
+ ID_MODEL_FROM_DATABASE=P6VXA Motherboard
+
+pci:v00001106d00000686sv0000103Csd00001256*
+ ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard]
+
+pci:v00001106d00000686sv00001043sd0000802C*
+ ID_MODEL_FROM_DATABASE=CUV4X mainboard
+
+pci:v00001106d00000686sv00001043sd00008033*
+ ID_MODEL_FROM_DATABASE=A7V Mainboard
+
+pci:v00001106d00000686sv00001043sd0000803E*
+ ID_MODEL_FROM_DATABASE=A7V-E Mainboard
+
+pci:v00001106d00000686sv00001043sd00008040*
+ ID_MODEL_FROM_DATABASE=A7M266 Mainboard
+
+pci:v00001106d00000686sv00001043sd00008042*
+ ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard
+
+pci:v00001106d00000686sv00001106sd00000000*
+ ID_MODEL_FROM_DATABASE=VT82C686/A PCI to ISA Bridge
+
+pci:v00001106d00000686sv00001106sd00000686*
+ ID_MODEL_FROM_DATABASE=VT82C686/A PCI to ISA Bridge
+
+pci:v00001106d00000686sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Magnia Z310
+
+pci:v00001106d00000686sv0000147Bsd0000A702*
+ ID_MODEL_FROM_DATABASE=KG7-Lite Mainboard
+
+pci:v00001106d00000691*
+ ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x]
+
+pci:v00001106d00000691sv00001019sd00000985*
+ ID_MODEL_FROM_DATABASE=P6VXA Motherboard
+
+pci:v00001106d00000691sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Magnia Z310
+
+pci:v00001106d00000691sv00001458sd00000691*
+ ID_MODEL_FROM_DATABASE=VT82C691 Apollo Pro System Controller
+
+pci:v00001106d00000693*
+ ID_MODEL_FROM_DATABASE=VT82C693 [Apollo Pro Plus]
+
+pci:v00001106d00000698*
+ ID_MODEL_FROM_DATABASE=VT82C693A [Apollo Pro133 AGP]
+
+pci:v00001106d00000926*
+ ID_MODEL_FROM_DATABASE=VT82C926 [Amazon]
+
+pci:v00001106d00001000*
+ ID_MODEL_FROM_DATABASE=VT82C570MV
+
+pci:v00001106d00001106*
+ ID_MODEL_FROM_DATABASE=VT82C570MV
+
+pci:v00001106d00001122*
+ ID_MODEL_FROM_DATABASE=VX800/VX820 Chrome 9 HC3 Integrated Graphics
+
+pci:v00001106d00001204*
+ ID_MODEL_FROM_DATABASE=K8M800 Host Bridge
+
+pci:v00001106d00001208*
+ ID_MODEL_FROM_DATABASE=PT890 Host Bridge
+
+pci:v00001106d00001238*
+ ID_MODEL_FROM_DATABASE=K8T890 Host Bridge
+
+pci:v00001106d00001258*
+ ID_MODEL_FROM_DATABASE=PT880 Host Bridge
+
+pci:v00001106d00001259*
+ ID_MODEL_FROM_DATABASE=CN333/CN400/PM880 Host Bridge
+
+pci:v00001106d00001269*
+ ID_MODEL_FROM_DATABASE=KT880 Host Bridge
+
+pci:v00001106d00001282*
+ ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge
+
+pci:v00001106d00001290*
+ ID_MODEL_FROM_DATABASE=K8M890 Host Bridge
+
+pci:v00001106d00001293*
+ ID_MODEL_FROM_DATABASE=PM896 Host Bridge
+
+pci:v00001106d00001296*
+ ID_MODEL_FROM_DATABASE=P4M800 Host Bridge
+
+pci:v00001106d00001308*
+ ID_MODEL_FROM_DATABASE=PT894 Host Bridge
+
+pci:v00001106d00001314*
+ ID_MODEL_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge
+
+pci:v00001106d00001324*
+ ID_MODEL_FROM_DATABASE=CX700/VX700 Host Bridge
+
+pci:v00001106d00001327*
+ ID_MODEL_FROM_DATABASE=P4M890 Host Bridge
+
+pci:v00001106d00001336*
+ ID_MODEL_FROM_DATABASE=K8M890CE Host Bridge
+
+pci:v00001106d00001340*
+ ID_MODEL_FROM_DATABASE=PT900 Host Bridge
+
+pci:v00001106d00001351*
+ ID_MODEL_FROM_DATABASE=VT3351 Host Bridge
+
+pci:v00001106d00001353*
+ ID_MODEL_FROM_DATABASE=VX800/VX820 Error Reporting
+
+pci:v00001106d00001364*
+ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge
+
+pci:v00001106d00001409*
+ ID_MODEL_FROM_DATABASE=VX855/VX875 Error Reporting
+
+pci:v00001106d00001410*
+ ID_MODEL_FROM_DATABASE=VX900 Error Reporting
+
+pci:v00001106d00001571*
+ ID_MODEL_FROM_DATABASE=VT82C576M/VT82C586
+
+pci:v00001106d00001595*
+ ID_MODEL_FROM_DATABASE=VT82C595/97 [Apollo VP2/97]
+
+pci:v00001106d00001732*
+ ID_MODEL_FROM_DATABASE=VT1732 [Envy24 II] PCI Multi-Channel Audio Controller
+
+pci:v00001106d00002106*
+ ID_MODEL_FROM_DATABASE=VIA Rhine Family Fast Ethernet Adapter (VT6105)
+
+pci:v00001106d00002204*
+ ID_MODEL_FROM_DATABASE=K8M800 Host Bridge
+
+pci:v00001106d00002208*
+ ID_MODEL_FROM_DATABASE=PT890 Host Bridge
+
+pci:v00001106d00002238*
+ ID_MODEL_FROM_DATABASE=K8T890 Host Bridge
+
+pci:v00001106d00002258*
+ ID_MODEL_FROM_DATABASE=PT880 Host Bridge
+
+pci:v00001106d00002259*
+ ID_MODEL_FROM_DATABASE=CN333/CN400/PM880 CPU Host Bridge
+
+pci:v00001106d00002269*
+ ID_MODEL_FROM_DATABASE=KT880 Host Bridge
+
+pci:v00001106d00002282*
+ ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge
+
+pci:v00001106d00002290*
+ ID_MODEL_FROM_DATABASE=K8M890 Host Bridge
+
+pci:v00001106d00002293*
+ ID_MODEL_FROM_DATABASE=PM896 Host Bridge
+
+pci:v00001106d00002296*
+ ID_MODEL_FROM_DATABASE=P4M800 Host Bridge
+
+pci:v00001106d00002308*
+ ID_MODEL_FROM_DATABASE=PT894 Host Bridge
+
+pci:v00001106d00002314*
+ ID_MODEL_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge
+
+pci:v00001106d00002324*
+ ID_MODEL_FROM_DATABASE=CX700/VX700 Host Bridge
+
+pci:v00001106d00002327*
+ ID_MODEL_FROM_DATABASE=P4M890 Host Bridge
+
+pci:v00001106d00002336*
+ ID_MODEL_FROM_DATABASE=K8M890CE Host Bridge
+
+pci:v00001106d00002340*
+ ID_MODEL_FROM_DATABASE=PT900 Host Bridge
+
+pci:v00001106d00002351*
+ ID_MODEL_FROM_DATABASE=VT3351 Host Bridge
+
+pci:v00001106d00002353*
+ ID_MODEL_FROM_DATABASE=VX800/VX820 Host Bus Control
+
+pci:v00001106d00002364*
+ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge
+
+pci:v00001106d00002409*
+ ID_MODEL_FROM_DATABASE=VX855/VX875 Host Bus Control
+
+pci:v00001106d00002410*
+ ID_MODEL_FROM_DATABASE=VX900 CPU Bus Controller
+
+pci:v00001106d0000287A*
+ ID_MODEL_FROM_DATABASE=VT8251 PCI to PCI Bridge
+
+pci:v00001106d0000287B*
+ ID_MODEL_FROM_DATABASE=VT8251 Host Bridge
+
+pci:v00001106d0000287C*
+ ID_MODEL_FROM_DATABASE=VT8251 PCIE Root Port
+
+pci:v00001106d0000287D*
+ ID_MODEL_FROM_DATABASE=VT8251 PCIE Root Port
+
+pci:v00001106d0000287E*
+ ID_MODEL_FROM_DATABASE=VT8237/8251 Ultra VLINK Controller
+
+pci:v00001106d00003022*
+ ID_MODEL_FROM_DATABASE=CLE266
+
+pci:v00001106d00003038*
+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller
+
+pci:v00001106d00003038sv00000925sd00001234*
+ ID_MODEL_FROM_DATABASE=VA-502 Mainboard
+
+pci:v00001106d00003038sv00001019sd00000985*
+ ID_MODEL_FROM_DATABASE=P6VXA Motherboard
+
+pci:v00001106d00003038sv00001019sd00000A81*
+ ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235)
+
+pci:v00001106d00003038sv00001043sd00008080*
+ ID_MODEL_FROM_DATABASE=A7V333 motherboard
+
+pci:v00001106d00003038sv00001043sd0000808C*
+ ID_MODEL_FROM_DATABASE=VT6202 USB2.0 4 port controller
+
+pci:v00001106d00003038sv00001043sd000080A1*
+ ID_MODEL_FROM_DATABASE=A7V8X-X motherboard
+
+pci:v00001106d00003038sv00001043sd000080ED*
+ ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard
+
+pci:v00001106d00003038sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Magnia Z310
+
+pci:v00001106d00003038sv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard
+
+pci:v00001106d00003038sv00001462sd00005901*
+ ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
+
+pci:v00001106d00003038sv00001462sd00007020*
+ ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard
+
+pci:v00001106d00003038sv00001462sd00007094*
+ ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0
+
+pci:v00001106d00003038sv00001462sd00007120*
+ ID_MODEL_FROM_DATABASE=KT4AV motherboard
+
+pci:v00001106d00003038sv00001462sd00007181*
+ ID_MODEL_FROM_DATABASE=K8MM3-V mainboard
+
+pci:v00001106d00003038sv0000147Bsd00001407*
+ ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard
+
+pci:v00001106d00003038sv0000182Dsd0000201D*
+ ID_MODEL_FROM_DATABASE=CN-029 USB2.0 4 port PCI Card
+
+pci:v00001106d00003038sv00001849sd00003038*
+ ID_MODEL_FROM_DATABASE=K7VT series Motherboards
+
+pci:v00001106d00003038sv000019DAsd0000A179*
+ ID_MODEL_FROM_DATABASE=ZBOX nano VD01
+
+pci:v00001106d00003040*
+ ID_MODEL_FROM_DATABASE=VT82C586B ACPI
+
+pci:v00001106d00003043*
+ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine]
+
+pci:v00001106d00003043sv000010BDsd00000000*
+ ID_MODEL_FROM_DATABASE=VT86C100A Fast Ethernet Adapter
+
+pci:v00001106d00003043sv00001106sd00000100*
+ ID_MODEL_FROM_DATABASE=VT86C100A Fast Ethernet Adapter
+
+pci:v00001106d00003043sv00001186sd00001400*
+ ID_MODEL_FROM_DATABASE=DFE-530TX rev A
+
+pci:v00001106d00003044*
+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller
+
+pci:v00001106d00003044sv00000010sd00000001*
+ ID_MODEL_FROM_DATABASE=IEEE 1394 4port DCST 1394-3+1B
+
+pci:v00001106d00003044sv00001025sd0000005A*
+ ID_MODEL_FROM_DATABASE=TravelMate 290
+
+pci:v00001106d00003044sv0000103Csd00002A20*
+ ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC
+
+pci:v00001106d00003044sv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Media Center PC m7590n
+
+pci:v00001106d00003044sv00001043sd0000808A*
+ ID_MODEL_FROM_DATABASE=A8V/A8N/P4P800 series motherboard
+
+pci:v00001106d00003044sv00001043sd000081FE*
+ ID_MODEL_FROM_DATABASE=Motherboard
+
+pci:v00001106d00003044sv00001458sd00001000*
+ ID_MODEL_FROM_DATABASE=GA-7VT600-1394 Motherboard
+
+pci:v00001106d00003044sv00001462sd0000207D*
+ ID_MODEL_FROM_DATABASE=K8NGM2 series motherboard
+
+pci:v00001106d00003044sv00001462sd0000217D*
+ ID_MODEL_FROM_DATABASE=Aspire L250
+
+pci:v00001106d00003044sv00001462sd0000590D*
+ ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
+
+pci:v00001106d00003044sv00001462sd0000702D*
+ ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard
+
+pci:v00001106d00003044sv00001462sd0000971D*
+ ID_MODEL_FROM_DATABASE=MS-6917
+
+pci:v00001106d00003050*
+ ID_MODEL_FROM_DATABASE=VT82C596 Power Management
+
+pci:v00001106d00003051*
+ ID_MODEL_FROM_DATABASE=VT82C596 Power Management
+
+pci:v00001106d00003053*
+ ID_MODEL_FROM_DATABASE=VT6105M [Rhine-III]
+
+pci:v00001106d00003057*
+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI]
+
+pci:v00001106d00003057sv00001019sd00000985*
+ ID_MODEL_FROM_DATABASE=P6VXA Motherboard
+
+pci:v00001106d00003057sv00001019sd00000987*
+ ID_MODEL_FROM_DATABASE=K7VZA Motherboard
+
+pci:v00001106d00003057sv00001043sd00008033*
+ ID_MODEL_FROM_DATABASE=A7V Mainboard
+
+pci:v00001106d00003057sv00001043sd0000803E*
+ ID_MODEL_FROM_DATABASE=A7V-E Mainboard
+
+pci:v00001106d00003057sv00001043sd00008040*
+ ID_MODEL_FROM_DATABASE=A7M266 Mainboard
+
+pci:v00001106d00003057sv00001043sd00008042*
+ ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard
+
+pci:v00001106d00003057sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Magnia Z310
+
+pci:v00001106d00003058*
+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller
+
+pci:v00001106d00003058sv00000E11sd00000097*
+ ID_MODEL_FROM_DATABASE=SoundMax Digital Integrated Audio
+
+pci:v00001106d00003058sv00000E11sd0000B194*
+ ID_MODEL_FROM_DATABASE=Soundmax integrated digital audio
+
+pci:v00001106d00003058sv00001019sd00000985*
+ ID_MODEL_FROM_DATABASE=P6VXA Motherboard
+
+pci:v00001106d00003058sv00001019sd00000987*
+ ID_MODEL_FROM_DATABASE=K7VZA Motherboard
+
+pci:v00001106d00003058sv0000103Csd00001251*
+ ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard]
+
+pci:v00001106d00003058sv00001043sd00001106*
+ ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard
+
+pci:v00001106d00003058sv00001106sd00004511*
+ ID_MODEL_FROM_DATABASE=Onboard Audio on EP7KXA
+
+pci:v00001106d00003058sv00001106sd0000AA03*
+ ID_MODEL_FROM_DATABASE=VT1612A AC'97 Audio Controller
+
+pci:v00001106d00003058sv000011D4sd00005348*
+ ID_MODEL_FROM_DATABASE=AD1881A audio
+
+pci:v00001106d00003058sv00001458sd00007600*
+ ID_MODEL_FROM_DATABASE=Onboard Audio
+
+pci:v00001106d00003058sv00001462sd00003091*
+ ID_MODEL_FROM_DATABASE=MS-6309 Onboard Audio
+
+pci:v00001106d00003058sv00001462sd00003092*
+ ID_MODEL_FROM_DATABASE=MS-6309 v2.x Mainboard (VIA VT1611A codec)
+
+pci:v00001106d00003058sv00001462sd00003300*
+ ID_MODEL_FROM_DATABASE=MS-6330 Onboard Audio
+
+pci:v00001106d00003058sv000015DDsd00007609*
+ ID_MODEL_FROM_DATABASE=Onboard Audio
+
+pci:v00001106d00003059*
+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller
+
+pci:v00001106d00003059sv00001019sd00000A81*
+ ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235)
+
+pci:v00001106d00003059sv00001019sd00001877*
+ ID_MODEL_FROM_DATABASE=K8M800-M2 (V2.0) onboard audio
+
+pci:v00001106d00003059sv00001043sd00008095*
+ ID_MODEL_FROM_DATABASE=A7V8X Motherboard (Realtek ALC650 codec)
+
+pci:v00001106d00003059sv00001043sd000080A1*
+ ID_MODEL_FROM_DATABASE=A7V8X-X Motherboard
+
+pci:v00001106d00003059sv00001043sd000080B0*
+ ID_MODEL_FROM_DATABASE=A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX])
+
+pci:v00001106d00003059sv00001043sd0000810D*
+ ID_MODEL_FROM_DATABASE=Asus P5VD1-X (AD1888 codec [SoundMax])
+
+pci:v00001106d00003059sv00001043sd0000812A*
+ ID_MODEL_FROM_DATABASE=A8V Deluxe motherboard (Realtek ALC850 codec)
+
+pci:v00001106d00003059sv000010ECsd00008168*
+ ID_MODEL_FROM_DATABASE=High Definition Audio
+
+pci:v00001106d00003059sv00001106sd00003059*
+ ID_MODEL_FROM_DATABASE=L7VMM2 Motherboard
+
+pci:v00001106d00003059sv00001106sd00004161*
+ ID_MODEL_FROM_DATABASE=K7VT2 motherboard
+
+pci:v00001106d00003059sv00001106sd00004170*
+ ID_MODEL_FROM_DATABASE=PCPartner P4M800-8237R Motherboard
+
+pci:v00001106d00003059sv00001106sd00004552*
+ ID_MODEL_FROM_DATABASE=Soyo KT-600 Dragon Plus (Realtek ALC 650)
+
+pci:v00001106d00003059sv00001297sd0000C160*
+ ID_MODEL_FROM_DATABASE=FX41 motherboard (Realtek ALC650 codec)
+
+pci:v00001106d00003059sv00001413sd0000147B*
+ ID_MODEL_FROM_DATABASE=KV8 Pro motherboard onboard audio
+
+pci:v00001106d00003059sv00001458sd0000A002*
+ ID_MODEL_FROM_DATABASE=GA-7VAX Onboard Audio (Realtek ALC650)
+
+pci:v00001106d00003059sv00001462sd00000080*
+ ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard
+
+pci:v00001106d00003059sv00001462sd00003800*
+ ID_MODEL_FROM_DATABASE=KT266 onboard audio
+
+pci:v00001106d00003059sv00001462sd00005901*
+ ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
+
+pci:v00001106d00003059sv00001462sd00007181*
+ ID_MODEL_FROM_DATABASE=K8MM3-V mainboard
+
+pci:v00001106d00003059sv0000147Bsd00001407*
+ ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard
+
+pci:v00001106d00003059sv00001695sd0000300C*
+ ID_MODEL_FROM_DATABASE=EP-8KRA2+ Mainboard
+
+pci:v00001106d00003059sv00001849sd00000850*
+ ID_MODEL_FROM_DATABASE=ASRock 775Dual-880 Pro onboard audio (Realtek ALC850)
+
+pci:v00001106d00003059sv00001849sd00009739*
+ ID_MODEL_FROM_DATABASE=P4VT8 Mainboard (C-Media CMI9739A codec)
+
+pci:v00001106d00003059sv00001849sd00009761*
+ ID_MODEL_FROM_DATABASE=K7VT series Motherboards
+
+pci:v00001106d00003059sv00004005sd00004710*
+ ID_MODEL_FROM_DATABASE=MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P)
+
+pci:v00001106d00003059sv0000A0A0sd000001B6*
+ ID_MODEL_FROM_DATABASE=AK77-8XN onboard audio
+
+pci:v00001106d00003059sv0000A0A0sd00000342*
+ ID_MODEL_FROM_DATABASE=AK86-L motherboard
+
+pci:v00001106d00003065*
+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II]
+
+pci:v00001106d00003065sv00001043sd000080A1*
+ ID_MODEL_FROM_DATABASE=A7V8X-X Motherboard
+
+pci:v00001106d00003065sv00001043sd000080ED*
+ ID_MODEL_FROM_DATABASE=A7V600-X Motherboard
+
+pci:v00001106d00003065sv00001106sd00000102*
+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine II] Embeded Ethernet Controller on VT8235
+
+pci:v00001106d00003065sv00001186sd00001400*
+ ID_MODEL_FROM_DATABASE=DFE-530TX rev A
+
+pci:v00001106d00003065sv00001186sd00001401*
+ ID_MODEL_FROM_DATABASE=DFE-530TX rev B
+
+pci:v00001106d00003065sv000013B9sd00001421*
+ ID_MODEL_FROM_DATABASE=LD-10/100AL PCI Fast Ethernet Adapter (rev.B)
+
+pci:v00001106d00003065sv00001462sd00007061*
+ ID_MODEL_FROM_DATABASE=MS-7061
+
+pci:v00001106d00003065sv00001462sd00007181*
+ ID_MODEL_FROM_DATABASE=K8MM3-V mainboard
+
+pci:v00001106d00003065sv0000147Bsd00001C09*
+ ID_MODEL_FROM_DATABASE=NV7 Motherboard
+
+pci:v00001106d00003065sv00001695sd00003005*
+ ID_MODEL_FROM_DATABASE=VT6103
+
+pci:v00001106d00003065sv00001695sd0000300C*
+ ID_MODEL_FROM_DATABASE=Realtek ALC655 sound chip
+
+pci:v00001106d00003065sv00001849sd00003065*
+ ID_MODEL_FROM_DATABASE=K7VT series Motherboards
+
+pci:v00001106d00003068*
+ ID_MODEL_FROM_DATABASE=AC'97 Modem Controller
+
+pci:v00001106d00003068sv00001462sd0000309E*
+ ID_MODEL_FROM_DATABASE=MS-6309 Saturn Motherboard
+
+pci:v00001106d00003074*
+ ID_MODEL_FROM_DATABASE=VT8233 PCI to ISA Bridge
+
+pci:v00001106d00003074sv00001043sd00008052*
+ ID_MODEL_FROM_DATABASE=VT8233A
+
+pci:v00001106d00003091*
+ ID_MODEL_FROM_DATABASE=VT8633 [Apollo Pro266]
+
+pci:v00001106d00003099*
+ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333]
+
+pci:v00001106d00003099sv00001043sd00008064*
+ ID_MODEL_FROM_DATABASE=A7V266-E Mainboard
+
+pci:v00001106d00003099sv00001043sd0000807F*
+ ID_MODEL_FROM_DATABASE=A7V333 Mainboard
+
+pci:v00001106d00003099sv00001849sd00003099*
+ ID_MODEL_FROM_DATABASE=K7VT2 motherboard
+
+pci:v00001106d00003101*
+ ID_MODEL_FROM_DATABASE=VT8653 Host Bridge
+
+pci:v00001106d00003102*
+ ID_MODEL_FROM_DATABASE=VT8662 Host Bridge
+
+pci:v00001106d00003103*
+ ID_MODEL_FROM_DATABASE=VT8615 Host Bridge
+
+pci:v00001106d00003104*
+ ID_MODEL_FROM_DATABASE=USB 2.0
+
+pci:v00001106d00003104sv00001019sd00000A81*
+ ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235)
+
+pci:v00001106d00003104sv00001043sd0000808C*
+ ID_MODEL_FROM_DATABASE=A7V8X motherboard
+
+pci:v00001106d00003104sv00001043sd000080A1*
+ ID_MODEL_FROM_DATABASE=A7V8X-X motherboard rev 1.01
+
+pci:v00001106d00003104sv00001043sd000080ED*
+ ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard
+
+pci:v00001106d00003104sv00001106sd00003104*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller
+
+pci:v00001106d00003104sv00001297sd0000F641*
+ ID_MODEL_FROM_DATABASE=FX41 motherboard
+
+pci:v00001106d00003104sv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard
+
+pci:v00001106d00003104sv00001462sd00005901*
+ ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
+
+pci:v00001106d00003104sv00001462sd00007020*
+ ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard
+
+pci:v00001106d00003104sv00001462sd00007094*
+ ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0
+
+pci:v00001106d00003104sv00001462sd00007120*
+ ID_MODEL_FROM_DATABASE=KT4AV motherboard
+
+pci:v00001106d00003104sv00001462sd00007181*
+ ID_MODEL_FROM_DATABASE=K8MM3-V mainboard
+
+pci:v00001106d00003104sv0000147Bsd00001407*
+ ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard
+
+pci:v00001106d00003104sv0000182Dsd0000201D*
+ ID_MODEL_FROM_DATABASE=CN-029 USB 2.0 4 port PCI Card
+
+pci:v00001106d00003104sv00001849sd00003104*
+ ID_MODEL_FROM_DATABASE=K7VT series Motherboards
+
+pci:v00001106d00003104sv000019DAsd0000A179*
+ ID_MODEL_FROM_DATABASE=ZBOX nano VD01
+
+pci:v00001106d00003106*
+ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III]
+
+pci:v00001106d00003106sv00001106sd00000105*
+ ID_MODEL_FROM_DATABASE=VT6106S [Rhine-III]
+
+pci:v00001106d00003106sv00001186sd00001403*
+ ID_MODEL_FROM_DATABASE=DFE-530TX rev C
+
+pci:v00001106d00003106sv00001186sd00001405*
+ ID_MODEL_FROM_DATABASE=DFE-520TX Fast Ethernet PCI Adapter
+
+pci:v00001106d00003106sv00001186sd00001406*
+ ID_MODEL_FROM_DATABASE=DFE-530TX+ rev F2
+
+pci:v00001106d00003106sv00001186sd00001407*
+ ID_MODEL_FROM_DATABASE=DFE-538TX
+
+pci:v00001106d00003108*
+ ID_MODEL_FROM_DATABASE=K8M800/K8N800/K8N800A [S3 UniChrome Pro]
+
+pci:v00001106d00003109*
+ ID_MODEL_FROM_DATABASE=VT8233C PCI to ISA Bridge
+
+pci:v00001106d00003112*
+ ID_MODEL_FROM_DATABASE=VT8361 [KLE133] Host Bridge
+
+pci:v00001106d00003113*
+ ID_MODEL_FROM_DATABASE=VPX/VPX2 PCI to PCI Bridge Controller
+
+pci:v00001106d00003116*
+ ID_MODEL_FROM_DATABASE=VT8375 [KM266/KL266] Host Bridge
+
+pci:v00001106d00003116sv00001297sd0000F641*
+ ID_MODEL_FROM_DATABASE=FX41 motherboard
+
+pci:v00001106d00003118*
+ ID_MODEL_FROM_DATABASE=CN400/PM800/PM880/PN800/PN880 [S3 UniChrome Pro]
+
+pci:v00001106d00003119*
+ ID_MODEL_FROM_DATABASE=VT6120/VT6121/VT6122 Gigabit Ethernet Adapter
+
+pci:v00001106d00003122*
+ ID_MODEL_FROM_DATABASE=VT8623 [Apollo CLE266] integrated CastleRock graphics
+
+pci:v00001106d00003123*
+ ID_MODEL_FROM_DATABASE=VT8623 [Apollo CLE266]
+
+pci:v00001106d00003128*
+ ID_MODEL_FROM_DATABASE=VT8753 [P4X266 AGP]
+
+pci:v00001106d00003133*
+ ID_MODEL_FROM_DATABASE=VT3133 Host Bridge
+
+pci:v00001106d00003142*
+ ID_MODEL_FROM_DATABASE=VT6651 WiFi Adapter, 802.11b
+
+pci:v00001106d00003147*
+ ID_MODEL_FROM_DATABASE=VT8233A ISA Bridge
+
+pci:v00001106d00003147sv00001043sd0000808C*
+ ID_MODEL_FROM_DATABASE=A7V333 motherboard
+
+pci:v00001106d00003148*
+ ID_MODEL_FROM_DATABASE=P4M266 Host Bridge
+
+pci:v00001106d00003149*
+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller
+
+pci:v00001106d00003149sv00001043sd000080ED*
+ ID_MODEL_FROM_DATABASE=A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard
+
+pci:v00001106d00003149sv00001458sd0000B003*
+ ID_MODEL_FROM_DATABASE=GA-7VM400AM(F) Motherboard
+
+pci:v00001106d00003149sv00001462sd00005901*
+ ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
+
+pci:v00001106d00003149sv00001462sd00007020*
+ ID_MODEL_FROM_DATABASE=K8T Neo 2 Motherboard
+
+pci:v00001106d00003149sv00001462sd00007094*
+ ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0
+
+pci:v00001106d00003149sv00001462sd00007181*
+ ID_MODEL_FROM_DATABASE=K8MM3-V mainboard
+
+pci:v00001106d00003149sv0000147Bsd00001407*
+ ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard
+
+pci:v00001106d00003149sv0000147Bsd00001408*
+ ID_MODEL_FROM_DATABASE=KV7
+
+pci:v00001106d00003149sv00001849sd00003149*
+ ID_MODEL_FROM_DATABASE=K7VT6 motherboard
+
+pci:v00001106d00003149sv0000A0A0sd000004AD*
+ ID_MODEL_FROM_DATABASE=AK86-L motherboard
+
+pci:v00001106d00003156*
+ ID_MODEL_FROM_DATABASE=P/KN266 Host Bridge
+
+pci:v00001106d00003157*
+ ID_MODEL_FROM_DATABASE=CX700/VX700 [S3 UniChrome Pro]
+
+pci:v00001106d00003164*
+ ID_MODEL_FROM_DATABASE=VT6410 ATA133 RAID controller
+
+pci:v00001106d00003164sv00001043sd000080F4*
+ ID_MODEL_FROM_DATABASE=P4P800 Mainboard Deluxe ATX
+
+pci:v00001106d00003164sv00001462sd00007028*
+ ID_MODEL_FROM_DATABASE=915P/G Neo2
+
+pci:v00001106d00003168*
+ ID_MODEL_FROM_DATABASE=P4X333/P4X400/PT800 AGP Bridge
+
+pci:v00001106d00003168sv00001849sd00003168*
+ ID_MODEL_FROM_DATABASE=P4VT8 Mainboard
+
+pci:v00001106d00003177*
+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge
+
+pci:v00001106d00003177sv00001019sd00000A81*
+ ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235)
+
+pci:v00001106d00003177sv00001043sd0000808C*
+ ID_MODEL_FROM_DATABASE=A7V8X motherboard
+
+pci:v00001106d00003177sv00001043sd000080A1*
+ ID_MODEL_FROM_DATABASE=A7V8X-X motherboard
+
+pci:v00001106d00003177sv00001106sd00000000*
+ ID_MODEL_FROM_DATABASE=KT4AV motherboard
+
+pci:v00001106d00003177sv00001297sd0000F641*
+ ID_MODEL_FROM_DATABASE=FX41 motherboard
+
+pci:v00001106d00003177sv00001458sd00005001*
+ ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard
+
+pci:v00001106d00003177sv00001849sd00003177*
+ ID_MODEL_FROM_DATABASE=K7VT series Motherboards
+
+pci:v00001106d00003178*
+ ID_MODEL_FROM_DATABASE=ProSavageDDR P4N333 Host Bridge
+
+pci:v00001106d00003188*
+ ID_MODEL_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge
+
+pci:v00001106d00003188sv00001043sd000080A3*
+ ID_MODEL_FROM_DATABASE=K8V Deluxe/K8V-X motherboard
+
+pci:v00001106d00003188sv0000147Bsd00001407*
+ ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard
+
+pci:v00001106d00003189*
+ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge
+
+pci:v00001106d00003189sv00001043sd0000807F*
+ ID_MODEL_FROM_DATABASE=A7V8X motherboard
+
+pci:v00001106d00003189sv00001106sd00000000*
+ ID_MODEL_FROM_DATABASE=KT4AV motherboard (KT400A)
+
+pci:v00001106d00003189sv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard
+
+pci:v00001106d00003189sv00001849sd00003189*
+ ID_MODEL_FROM_DATABASE=K7VT series Motherboards
+
+pci:v00001106d00003204*
+ ID_MODEL_FROM_DATABASE=K8M800 Host Bridge
+
+pci:v00001106d00003205*
+ ID_MODEL_FROM_DATABASE=VT8378 [KM400/A] Chipset Host Bridge
+
+pci:v00001106d00003205sv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-7VM400M Motherboard
+
+pci:v00001106d00003208*
+ ID_MODEL_FROM_DATABASE=PT890 Host Bridge
+
+pci:v00001106d00003213*
+ ID_MODEL_FROM_DATABASE=VPX/VPX2 PCI to PCI Bridge Controller
+
+pci:v00001106d00003218*
+ ID_MODEL_FROM_DATABASE=K8T800M Host Bridge
+
+pci:v00001106d00003227*
+ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South]
+
+pci:v00001106d00003227sv00001043sd000080ED*
+ ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard
+
+pci:v00001106d00003227sv00001106sd00003227*
+ ID_MODEL_FROM_DATABASE=DFI KT600-AL / Soltek SL-B9D-FGR Motherboard
+
+pci:v00001106d00003227sv00001458sd00005001*
+ ID_MODEL_FROM_DATABASE=GA-7VT600 Motherboard
+
+pci:v00001106d00003227sv0000147Bsd00001407*
+ ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard
+
+pci:v00001106d00003227sv00001849sd00003227*
+ ID_MODEL_FROM_DATABASE=K7VT4 motherboard
+
+pci:v00001106d00003230*
+ ID_MODEL_FROM_DATABASE=K8M890CE/K8N890CE [Chrome 9]
+
+pci:v00001106d00003238*
+ ID_MODEL_FROM_DATABASE=K8T890 Host Bridge
+
+pci:v00001106d00003249*
+ ID_MODEL_FROM_DATABASE=VT6421 IDE/SATA Controller
+
+pci:v00001106d0000324A*
+ ID_MODEL_FROM_DATABASE=CX700/VX700 PCI to PCI Bridge
+
+pci:v00001106d0000324B*
+ ID_MODEL_FROM_DATABASE=CX700/VX700 Host Bridge
+
+pci:v00001106d0000324E*
+ ID_MODEL_FROM_DATABASE=CX700/VX700 Internal Module Bus
+
+pci:v00001106d00003253*
+ ID_MODEL_FROM_DATABASE=VT6655 WiFi Adapter, 802.11a/b/g
+
+pci:v00001106d00003258*
+ ID_MODEL_FROM_DATABASE=PT880 Host Bridge
+
+pci:v00001106d00003259*
+ ID_MODEL_FROM_DATABASE=CN333/CN400/PM880 Host Bridge
+
+pci:v00001106d00003260*
+ ID_MODEL_FROM_DATABASE=VIA Chrome9 HC IGP
+
+pci:v00001106d00003269*
+ ID_MODEL_FROM_DATABASE=KT880 Host Bridge
+
+pci:v00001106d00003282*
+ ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge
+
+pci:v00001106d00003287*
+ ID_MODEL_FROM_DATABASE=VT8251 PCI to ISA Bridge
+
+pci:v00001106d00003288*
+ ID_MODEL_FROM_DATABASE=VT8237A/VT8251 HDA Controller
+
+pci:v00001106d00003288sv000019DAsd0000A179*
+ ID_MODEL_FROM_DATABASE=ZBOX VD01
+
+pci:v00001106d00003290*
+ ID_MODEL_FROM_DATABASE=K8M890 Host Bridge
+
+pci:v00001106d00003296*
+ ID_MODEL_FROM_DATABASE=P4M800 Host Bridge
+
+pci:v00001106d00003324*
+ ID_MODEL_FROM_DATABASE=CX700/VX700 Host Bridge
+
+pci:v00001106d00003327*
+ ID_MODEL_FROM_DATABASE=P4M890 Host Bridge
+
+pci:v00001106d00003336*
+ ID_MODEL_FROM_DATABASE=K8M890CE Host Bridge
+
+pci:v00001106d00003337*
+ ID_MODEL_FROM_DATABASE=VT8237A PCI to ISA Bridge
+
+pci:v00001106d00003340*
+ ID_MODEL_FROM_DATABASE=PT900 Host Bridge
+
+pci:v00001106d00003343*
+ ID_MODEL_FROM_DATABASE=P4M890 [S3 UniChrome Pro]
+
+pci:v00001106d00003344*
+ ID_MODEL_FROM_DATABASE=CN700/P4M800 Pro/P4M800 CE/VN800 Graphics [S3 UniChrome Pro]
+
+pci:v00001106d00003349*
+ ID_MODEL_FROM_DATABASE=VT8251 AHCI/SATA 4-Port Controller
+
+pci:v00001106d00003351*
+ ID_MODEL_FROM_DATABASE=VT3351 Host Bridge
+
+pci:v00001106d00003353*
+ ID_MODEL_FROM_DATABASE=VX800 PCI to PCI Bridge
+
+pci:v00001106d00003364*
+ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge
+
+pci:v00001106d00003371*
+ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 [Chrome 9 HC]
+
+pci:v00001106d00003372*
+ ID_MODEL_FROM_DATABASE=VT8237S PCI to ISA Bridge
+
+pci:v00001106d0000337A*
+ ID_MODEL_FROM_DATABASE=VT8237A PCI to PCI Bridge
+
+pci:v00001106d0000337B*
+ ID_MODEL_FROM_DATABASE=VT8237A Host Bridge
+
+pci:v00001106d00003403*
+ ID_MODEL_FROM_DATABASE=VT6315 Series Firewire Controller
+
+pci:v00001106d00003403sv00001043sd00008374*
+ ID_MODEL_FROM_DATABASE=M5A88-V EVO
+
+pci:v00001106d00003403sv00001043sd00008384*
+ ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard
+
+pci:v00001106d00003409*
+ ID_MODEL_FROM_DATABASE=VX855/VX875 DRAM Bus Control
+
+pci:v00001106d00003410*
+ ID_MODEL_FROM_DATABASE=VX900 DRAM Bus Control
+
+pci:v00001106d00003410sv000019DAsd0000A179*
+ ID_MODEL_FROM_DATABASE=ZBOX nano VD01
+
+pci:v00001106d00003432*
+ ID_MODEL_FROM_DATABASE=VL80x xHCI USB 3.0 Controller
+
+pci:v00001106d00004149*
+ ID_MODEL_FROM_DATABASE=VIA VT6420 (ATA133) Controller
+
+pci:v00001106d00004204*
+ ID_MODEL_FROM_DATABASE=K8M800 Host Bridge
+
+pci:v00001106d00004208*
+ ID_MODEL_FROM_DATABASE=PT890 Host Bridge
+
+pci:v00001106d00004238*
+ ID_MODEL_FROM_DATABASE=K8T890 Host Bridge
+
+pci:v00001106d00004258*
+ ID_MODEL_FROM_DATABASE=PT880 Host Bridge
+
+pci:v00001106d00004259*
+ ID_MODEL_FROM_DATABASE=CN333/CN400/PM880 Host Bridge
+
+pci:v00001106d00004269*
+ ID_MODEL_FROM_DATABASE=KT880 Host Bridge
+
+pci:v00001106d00004282*
+ ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge
+
+pci:v00001106d00004290*
+ ID_MODEL_FROM_DATABASE=K8M890 Host Bridge
+
+pci:v00001106d00004293*
+ ID_MODEL_FROM_DATABASE=PM896 Host Bridge
+
+pci:v00001106d00004296*
+ ID_MODEL_FROM_DATABASE=P4M800 Host Bridge
+
+pci:v00001106d00004308*
+ ID_MODEL_FROM_DATABASE=PT894 Host Bridge
+
+pci:v00001106d00004314*
+ ID_MODEL_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge
+
+pci:v00001106d00004324*
+ ID_MODEL_FROM_DATABASE=CX700/VX700 Host Bridge
+
+pci:v00001106d00004327*
+ ID_MODEL_FROM_DATABASE=P4M890 Host Bridge
+
+pci:v00001106d00004336*
+ ID_MODEL_FROM_DATABASE=K8M890CE Host Bridge
+
+pci:v00001106d00004340*
+ ID_MODEL_FROM_DATABASE=PT900 Host Bridge
+
+pci:v00001106d00004351*
+ ID_MODEL_FROM_DATABASE=VT3351 Host Bridge
+
+pci:v00001106d00004353*
+ ID_MODEL_FROM_DATABASE=VX800/VX820 Power Management Control
+
+pci:v00001106d00004364*
+ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge
+
+pci:v00001106d00004409*
+ ID_MODEL_FROM_DATABASE=VX855/VX875 Power Management Control
+
+pci:v00001106d00004410*
+ ID_MODEL_FROM_DATABASE=VX900 Power Management and Chip Testing Control
+
+pci:v00001106d00004410sv000019DAsd0000A179*
+ ID_MODEL_FROM_DATABASE=ZBOX nano VD01
+
+pci:v00001106d00005030*
+ ID_MODEL_FROM_DATABASE=VT82C596 ACPI [Apollo PRO]
+
+pci:v00001106d00005122*
+ ID_MODEL_FROM_DATABASE=VX855/VX875 Chrome 9 HCM Integrated Graphics
+
+pci:v00001106d00005208*
+ ID_MODEL_FROM_DATABASE=PT890 I/O APIC Interrupt Controller
+
+pci:v00001106d00005238*
+ ID_MODEL_FROM_DATABASE=K8T890 I/O APIC Interrupt Controller
+
+pci:v00001106d00005287*
+ ID_MODEL_FROM_DATABASE=VT8251 Serial ATA Controller
+
+pci:v00001106d00005290*
+ ID_MODEL_FROM_DATABASE=K8M890 I/O APIC Interrupt Controller
+
+pci:v00001106d00005308*
+ ID_MODEL_FROM_DATABASE=PT894 I/O APIC Interrupt Controller
+
+pci:v00001106d00005324*
+ ID_MODEL_FROM_DATABASE=VX800 Serial ATA and EIDE Controller
+
+pci:v00001106d00005327*
+ ID_MODEL_FROM_DATABASE=P4M890 I/O APIC Interrupt Controller
+
+pci:v00001106d00005336*
+ ID_MODEL_FROM_DATABASE=K8M890CE I/O APIC Interrupt Controller
+
+pci:v00001106d00005340*
+ ID_MODEL_FROM_DATABASE=PT900 I/O APIC Interrupt Controller
+
+pci:v00001106d00005351*
+ ID_MODEL_FROM_DATABASE=VT3351 I/O APIC Interrupt Controller
+
+pci:v00001106d00005353*
+ ID_MODEL_FROM_DATABASE=VX800/VX820 APIC and Central Traffic Control
+
+pci:v00001106d00005364*
+ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 I/O APIC Interrupt Controller
+
+pci:v00001106d00005372*
+ ID_MODEL_FROM_DATABASE=VT8237/8251 Serial ATA Controller
+
+pci:v00001106d00005409*
+ ID_MODEL_FROM_DATABASE=VX855/VX875 APIC and Central Traffic Control
+
+pci:v00001106d00005410*
+ ID_MODEL_FROM_DATABASE=VX900 APIC and Central Traffic Control
+
+pci:v00001106d00006100*
+ ID_MODEL_FROM_DATABASE=VT85C100A [Rhine II]
+
+pci:v00001106d00006287*
+ ID_MODEL_FROM_DATABASE=SATA RAID Controller
+
+pci:v00001106d00006290*
+ ID_MODEL_FROM_DATABASE=K8M890CE Host Bridge
+
+pci:v00001106d00006327*
+ ID_MODEL_FROM_DATABASE=P4M890 Security Device
+
+pci:v00001106d00006353*
+ ID_MODEL_FROM_DATABASE=VX800/VX820 Scratch Registers
+
+pci:v00001106d00006364*
+ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Security Device
+
+pci:v00001106d00006409*
+ ID_MODEL_FROM_DATABASE=VX855/VX875 Scratch Registers
+
+pci:v00001106d00006410*
+ ID_MODEL_FROM_DATABASE=VX900 Scratch Registers
+
+pci:v00001106d00006410sv000019DAsd0000A179*
+ ID_MODEL_FROM_DATABASE=ZBOX nano VD01
+
+pci:v00001106d00007122*
+ ID_MODEL_FROM_DATABASE=VX900 Graphics [Chrome9 HD]
+
+pci:v00001106d00007204*
+ ID_MODEL_FROM_DATABASE=K8M800 Host Bridge
+
+pci:v00001106d00007205*
+ ID_MODEL_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome]
+
+pci:v00001106d00007205sv00001458sd0000D000*
+ ID_MODEL_FROM_DATABASE=Gigabyte GA-7VM400(A)M(F) Motherboard
+
+pci:v00001106d00007205sv00001462sd00007061*
+ ID_MODEL_FROM_DATABASE=MS-7061
+
+pci:v00001106d00007208*
+ ID_MODEL_FROM_DATABASE=PT890 Host Bridge
+
+pci:v00001106d00007238*
+ ID_MODEL_FROM_DATABASE=K8T890 Host Bridge
+
+pci:v00001106d00007258*
+ ID_MODEL_FROM_DATABASE=PT880 Host Bridge
+
+pci:v00001106d00007259*
+ ID_MODEL_FROM_DATABASE=CN333/CN400/PM880 Host Bridge
+
+pci:v00001106d00007269*
+ ID_MODEL_FROM_DATABASE=KT880 Host Bridge
+
+pci:v00001106d00007282*
+ ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge
+
+pci:v00001106d00007290*
+ ID_MODEL_FROM_DATABASE=K8M890 Host Bridge
+
+pci:v00001106d00007293*
+ ID_MODEL_FROM_DATABASE=PM896 Host Bridge
+
+pci:v00001106d00007296*
+ ID_MODEL_FROM_DATABASE=P4M800 Host Bridge
+
+pci:v00001106d00007308*
+ ID_MODEL_FROM_DATABASE=PT894 Host Bridge
+
+pci:v00001106d00007314*
+ ID_MODEL_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge
+
+pci:v00001106d00007324*
+ ID_MODEL_FROM_DATABASE=CX700/VX700 Host Bridge
+
+pci:v00001106d00007327*
+ ID_MODEL_FROM_DATABASE=P4M890 Host Bridge
+
+pci:v00001106d00007336*
+ ID_MODEL_FROM_DATABASE=K8M890CE Host Bridge
+
+pci:v00001106d00007340*
+ ID_MODEL_FROM_DATABASE=PT900 Host Bridge
+
+pci:v00001106d00007351*
+ ID_MODEL_FROM_DATABASE=VT3351 Host Bridge
+
+pci:v00001106d00007353*
+ ID_MODEL_FROM_DATABASE=VX800/VX820 North-South Module Interface Control
+
+pci:v00001106d00007364*
+ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge
+
+pci:v00001106d00007409*
+ ID_MODEL_FROM_DATABASE=VX855/VX875 North-South Module Interface Control
+
+pci:v00001106d00007410*
+ ID_MODEL_FROM_DATABASE=VX900 North-South Module Interface Control
+
+pci:v00001106d00007410sv000019DAsd0000A179*
+ ID_MODEL_FROM_DATABASE=ZBOX nano VD01
+
+pci:v00001106d00008231*
+ ID_MODEL_FROM_DATABASE=VT8231 [PCI-to-ISA Bridge]
+
+pci:v00001106d00008235*
+ ID_MODEL_FROM_DATABASE=VT8235 ACPI
+
+pci:v00001106d00008305*
+ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133 AGP]
+
+pci:v00001106d00008324*
+ ID_MODEL_FROM_DATABASE=CX700/VX700 PCI to ISA Bridge
+
+pci:v00001106d00008353*
+ ID_MODEL_FROM_DATABASE=VX800/VX820 Bus Control and Power Management
+
+pci:v00001106d00008391*
+ ID_MODEL_FROM_DATABASE=VT8371 [KX133 AGP]
+
+pci:v00001106d00008400*
+ ID_MODEL_FROM_DATABASE=MVP4
+
+pci:v00001106d00008409*
+ ID_MODEL_FROM_DATABASE=VX855/VX875 Bus Control and Power Management
+
+pci:v00001106d00008410*
+ ID_MODEL_FROM_DATABASE=VX900 Bus Control and Power Management
+
+pci:v00001106d00008410sv000019DAsd0000A179*
+ ID_MODEL_FROM_DATABASE=ZBOX VD01
+
+pci:v00001106d00008500*
+ ID_MODEL_FROM_DATABASE=KLE133/PLE133/PLE133T
+
+pci:v00001106d00008501*
+ ID_MODEL_FROM_DATABASE=VT8501 [Apollo MVP4 AGP]
+
+pci:v00001106d00008596*
+ ID_MODEL_FROM_DATABASE=VT82C596 [Apollo PRO AGP]
+
+pci:v00001106d00008597*
+ ID_MODEL_FROM_DATABASE=VT82C597 [Apollo VP3 AGP]
+
+pci:v00001106d00008598*
+ ID_MODEL_FROM_DATABASE=VT82C598/694x [Apollo MVP3/Pro133x AGP]
+
+pci:v00001106d00008598sv00001019sd00000985*
+ ID_MODEL_FROM_DATABASE=P6VXA Motherboard
+
+pci:v00001106d00008601*
+ ID_MODEL_FROM_DATABASE=VT8601 [Apollo ProMedia AGP]
+
+pci:v00001106d00008605*
+ ID_MODEL_FROM_DATABASE=VT8605 [PM133 AGP]
+
+pci:v00001106d00008691*
+ ID_MODEL_FROM_DATABASE=VT82C691 [Apollo Pro]
+
+pci:v00001106d00008693*
+ ID_MODEL_FROM_DATABASE=VT82C693 [Apollo Pro Plus] PCI Bridge
+
+pci:v00001106d00008A25*
+ ID_MODEL_FROM_DATABASE=PL133/PL133T [S3 ProSavage]
+
+pci:v00001106d00008A26*
+ ID_MODEL_FROM_DATABASE=KL133/KL133A/KM133/KM133A [S3 ProSavage]
+
+pci:v00001106d00008D01*
+ ID_MODEL_FROM_DATABASE=PN133/PN133T [S3 Twister]
+
+pci:v00001106d00008D04*
+ ID_MODEL_FROM_DATABASE=KM266/P4M266/P4M266A/P4N266 [S3 ProSavageDDR]
+
+pci:v00001106d00009001*
+ ID_MODEL_FROM_DATABASE=VX900 Serial ATA Controller
+
+pci:v00001106d00009530*
+ ID_MODEL_FROM_DATABASE=Secure Digital Memory Card Controller
+
+pci:v00001106d000095D0*
+ ID_MODEL_FROM_DATABASE=SDIO Host Controller
+
+pci:v00001106d0000A208*
+ ID_MODEL_FROM_DATABASE=PT890 PCI to PCI Bridge Controller
+
+pci:v00001106d0000A238*
+ ID_MODEL_FROM_DATABASE=K8T890 PCI to PCI Bridge Controller
+
+pci:v00001106d0000A327*
+ ID_MODEL_FROM_DATABASE=P4M890 PCI to PCI Bridge Controller
+
+pci:v00001106d0000A353*
+ ID_MODEL_FROM_DATABASE=VX8xx South-North Module Interface Control
+
+pci:v00001106d0000A364*
+ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 PCI to PCI Bridge Controller
+
+pci:v00001106d0000A409*
+ ID_MODEL_FROM_DATABASE=VX855/VX875 USB Device Controller
+
+pci:v00001106d0000A410*
+ ID_MODEL_FROM_DATABASE=VX900 PCI Express Root Port 0
+
+pci:v00001106d0000B091*
+ ID_MODEL_FROM_DATABASE=VT8633 [Apollo Pro266 AGP]
+
+pci:v00001106d0000B099*
+ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333 AGP]
+
+pci:v00001106d0000B101*
+ ID_MODEL_FROM_DATABASE=VT8653 AGP Bridge
+
+pci:v00001106d0000B102*
+ ID_MODEL_FROM_DATABASE=VT8362 AGP Bridge
+
+pci:v00001106d0000B103*
+ ID_MODEL_FROM_DATABASE=VT8615 AGP Bridge
+
+pci:v00001106d0000B112*
+ ID_MODEL_FROM_DATABASE=VT8361 [KLE133] AGP Bridge
+
+pci:v00001106d0000B113*
+ ID_MODEL_FROM_DATABASE=VPX/VPX2 I/O APIC Interrupt Controller
+
+pci:v00001106d0000B115*
+ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] PCI Bridge
+
+pci:v00001106d0000B168*
+ ID_MODEL_FROM_DATABASE=VT8235 PCI Bridge
+
+pci:v00001106d0000B188*
+ ID_MODEL_FROM_DATABASE=VT8237/8251 PCI bridge [K8M890/K8T800/K8T890 South]
+
+pci:v00001106d0000B188sv0000147Bsd00001407*
+ ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard
+
+pci:v00001106d0000B198*
+ ID_MODEL_FROM_DATABASE=VT8237/VX700 PCI Bridge
+
+pci:v00001106d0000B213*
+ ID_MODEL_FROM_DATABASE=VPX/VPX2 I/O APIC Interrupt Controller
+
+pci:v00001106d0000B353*
+ ID_MODEL_FROM_DATABASE=VX855/VX875/VX900 PCI to PCI Bridge
+
+pci:v00001106d0000B410*
+ ID_MODEL_FROM_DATABASE=VX900 PCI Express Root Port 1
+
+pci:v00001106d0000B999*
+ ID_MODEL_FROM_DATABASE=[K8T890 North / VT8237 South] PCI Bridge
+
+pci:v00001106d0000C208*
+ ID_MODEL_FROM_DATABASE=PT890 PCI to PCI Bridge Controller
+
+pci:v00001106d0000C238*
+ ID_MODEL_FROM_DATABASE=K8T890 PCI to PCI Bridge Controller
+
+pci:v00001106d0000C327*
+ ID_MODEL_FROM_DATABASE=P4M890 PCI to PCI Bridge Controller
+
+pci:v00001106d0000C340*
+ ID_MODEL_FROM_DATABASE=PT900 PCI to PCI Bridge Controller
+
+pci:v00001106d0000C353*
+ ID_MODEL_FROM_DATABASE=VX800/VX820 PCI Express Root Port
+
+pci:v00001106d0000C364*
+ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 PCI to PCI Bridge Controller
+
+pci:v00001106d0000C409*
+ ID_MODEL_FROM_DATABASE=VX855/VX875 EIDE Controller
+
+pci:v00001106d0000C410*
+ ID_MODEL_FROM_DATABASE=VX900 PCI Express Root Port 2
+
+pci:v00001106d0000D104*
+ ID_MODEL_FROM_DATABASE=VT8237R USB UDCI Controller
+
+pci:v00001106d0000D208*
+ ID_MODEL_FROM_DATABASE=PT890 PCI to PCI Bridge Controller
+
+pci:v00001106d0000D213*
+ ID_MODEL_FROM_DATABASE=VPX/VPX2 PCI to PCI Bridge Controller
+
+pci:v00001106d0000D238*
+ ID_MODEL_FROM_DATABASE=K8T890 PCI to PCI Bridge Controller
+
+pci:v00001106d0000D340*
+ ID_MODEL_FROM_DATABASE=PT900 PCI to PCI Bridge Controller
+
+pci:v00001106d0000D410*
+ ID_MODEL_FROM_DATABASE=VX900 PCI Express Root Port 3
+
+pci:v00001106d0000E208*
+ ID_MODEL_FROM_DATABASE=PT890 PCI to PCI Bridge Controller
+
+pci:v00001106d0000E238*
+ ID_MODEL_FROM_DATABASE=K8T890 PCI to PCI Bridge Controller
+
+pci:v00001106d0000E340*
+ ID_MODEL_FROM_DATABASE=PT900 PCI to PCI Bridge Controller
+
+pci:v00001106d0000E353*
+ ID_MODEL_FROM_DATABASE=VX800/VX820 PCI Express Root Port
+
+pci:v00001106d0000F208*
+ ID_MODEL_FROM_DATABASE=PT890 PCI to PCI Bridge Controller
+
+pci:v00001106d0000F238*
+ ID_MODEL_FROM_DATABASE=K8T890 PCI to PCI Bridge Controller
+
+pci:v00001106d0000F340*
+ ID_MODEL_FROM_DATABASE=PT900 PCI to PCI Bridge Controller
+
+pci:v00001106d0000F353*
+ ID_MODEL_FROM_DATABASE=VX800/VX820 PCI Express Root Port
+
+pci:v00001107*
+ ID_VENDOR_FROM_DATABASE=Stratus Computers
+
+pci:v00001107d00000576*
+ ID_MODEL_FROM_DATABASE=VIA VT82C570MV [Apollo] (Wrong vendor ID!)
+
+pci:v00001108*
+ ID_VENDOR_FROM_DATABASE=Proteon, Inc.
+
+pci:v00001108d00000100*
+ ID_MODEL_FROM_DATABASE=p1690plus_AA
+
+pci:v00001108d00000101*
+ ID_MODEL_FROM_DATABASE=p1690plus_AB
+
+pci:v00001108d00000105*
+ ID_MODEL_FROM_DATABASE=P1690Plus
+
+pci:v00001108d00000108*
+ ID_MODEL_FROM_DATABASE=P1690Plus
+
+pci:v00001108d00000138*
+ ID_MODEL_FROM_DATABASE=P1690Plus
+
+pci:v00001108d00000139*
+ ID_MODEL_FROM_DATABASE=P1690Plus
+
+pci:v00001108d0000013C*
+ ID_MODEL_FROM_DATABASE=P1690Plus
+
+pci:v00001108d0000013D*
+ ID_MODEL_FROM_DATABASE=P1690Plus
+
+pci:v00001109*
+ ID_VENDOR_FROM_DATABASE=Cogent Data Technologies, Inc.
+
+pci:v00001109d00001400*
+ ID_MODEL_FROM_DATABASE=EM110TX [EX110TX]
+
+pci:v0000110A*
+ ID_VENDOR_FROM_DATABASE=Siemens Nixdorf AG
+
+pci:v0000110Ad00000002*
+ ID_MODEL_FROM_DATABASE=Pirahna 2-port
+
+pci:v0000110Ad00000005*
+ ID_MODEL_FROM_DATABASE=Tulip controller, power management, switch extender
+
+pci:v0000110Ad00000006*
+ ID_MODEL_FROM_DATABASE=FSC PINC (I/O-APIC)
+
+pci:v0000110Ad00000015*
+ ID_MODEL_FROM_DATABASE=FSC Multiprocessor Interrupt Controller
+
+pci:v0000110Ad0000001D*
+ ID_MODEL_FROM_DATABASE=FSC Copernicus Management Controller
+
+pci:v0000110Ad0000007B*
+ ID_MODEL_FROM_DATABASE=FSC Remote Service Controller, mailbox device
+
+pci:v0000110Ad0000007C*
+ ID_MODEL_FROM_DATABASE=FSC Remote Service Controller, shared memory device
+
+pci:v0000110Ad0000007D*
+ ID_MODEL_FROM_DATABASE=FSC Remote Service Controller, SMIC device
+
+pci:v0000110Ad00002101*
+ ID_MODEL_FROM_DATABASE=HST SAPHIR V Primary PCI (ISDN/PMx)
+
+pci:v0000110Ad00002102*
+ ID_MODEL_FROM_DATABASE=DSCC4 PEB/PEF 20534 DMA Supported Serial Communication Controller with 4 Channels
+
+pci:v0000110Ad00002104*
+ ID_MODEL_FROM_DATABASE=Eicon Diva 2.02 compatible passive ISDN card
+
+pci:v0000110Ad00003141*
+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5611 (Profibus Adapter)
+
+pci:v0000110Ad00003142*
+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613A1 (Profibus Adapter)
+
+pci:v0000110Ad00004021*
+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter)
+
+pci:v0000110Ad00004029*
+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613A2 (Profibus Adapter)
+
+pci:v0000110Ad00004035*
+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1613 A2
+
+pci:v0000110Ad00004942*
+ ID_MODEL_FROM_DATABASE=FPGA I-Bus Tracer for MBD
+
+pci:v0000110Ad00006120*
+ ID_MODEL_FROM_DATABASE=SZB6120
+
+pci:v0000110B*
+ ID_VENDOR_FROM_DATABASE=Chromatic Research Inc.
+
+pci:v0000110Bd00000001*
+ ID_MODEL_FROM_DATABASE=Mpact Media Processor
+
+pci:v0000110Bd00000004*
+ ID_MODEL_FROM_DATABASE=Mpact 2
+
+pci:v0000110C*
+ ID_VENDOR_FROM_DATABASE=Mini-Max Technology, Inc.
+
+pci:v0000110D*
+ ID_VENDOR_FROM_DATABASE=Znyx Advanced Systems
+
+pci:v0000110E*
+ ID_VENDOR_FROM_DATABASE=CPU Technology
+
+pci:v0000110F*
+ ID_VENDOR_FROM_DATABASE=Ross Technology
+
+pci:v00001110*
+ ID_VENDOR_FROM_DATABASE=Powerhouse Systems
+
+pci:v00001110d00006037*
+ ID_MODEL_FROM_DATABASE=Firepower Powerized SMP I/O ASIC
+
+pci:v00001110d00006073*
+ ID_MODEL_FROM_DATABASE=Firepower Powerized SMP I/O ASIC
+
+pci:v00001111*
+ ID_VENDOR_FROM_DATABASE=Santa Cruz Operation
+
+pci:v00001112*
+ ID_VENDOR_FROM_DATABASE=Osicom Technologies Inc
+
+pci:v00001112d00002200*
+ ID_MODEL_FROM_DATABASE=FDDI Adapter
+
+pci:v00001112d00002300*
+ ID_MODEL_FROM_DATABASE=Fast Ethernet Adapter
+
+pci:v00001112d00002340*
+ ID_MODEL_FROM_DATABASE=4 Port Fast Ethernet Adapter
+
+pci:v00001112d00002400*
+ ID_MODEL_FROM_DATABASE=ATM Adapter
+
+pci:v00001113*
+ ID_VENDOR_FROM_DATABASE=Accton Technology Corporation
+
+pci:v00001113d00001211*
+ ID_MODEL_FROM_DATABASE=SMC2-1211TX
+
+pci:v00001113d00001211sv0000103Csd00001207*
+ ID_MODEL_FROM_DATABASE=EN-1207D Fast Ethernet Adapter
+
+pci:v00001113d00001211sv00001113sd00001211*
+ ID_MODEL_FROM_DATABASE=EN-1207D Fast Ethernet Adapter
+
+pci:v00001113d00001216*
+ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter
+
+pci:v00001113d00001216sv00001113sd00001216*
+ ID_MODEL_FROM_DATABASE=EN1207F series PCI Fast Ethernet Adapter
+
+pci:v00001113d00001216sv00001113sd00002220*
+ ID_MODEL_FROM_DATABASE=EN2220A Cardbus Fast Ethernet Adapter
+
+pci:v00001113d00001216sv00001113sd00002242*
+ ID_MODEL_FROM_DATABASE=EN2242 10/100 Ethernet Mini-PCI Card
+
+pci:v00001113d00001216sv0000111Asd00001020*
+ ID_MODEL_FROM_DATABASE=SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?]
+
+pci:v00001113d00001217*
+ ID_MODEL_FROM_DATABASE=EN-1217 Ethernet Adapter
+
+pci:v00001113d00005105*
+ ID_MODEL_FROM_DATABASE=10Mbps Network card
+
+pci:v00001113d00009211*
+ ID_MODEL_FROM_DATABASE=EN-1207D Fast Ethernet Adapter
+
+pci:v00001113d00009211sv00001113sd00009211*
+ ID_MODEL_FROM_DATABASE=EN-1207D Fast Ethernet Adapter
+
+pci:v00001113d00009511*
+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible Fast Ethernet
+
+pci:v00001113d0000D301*
+ ID_MODEL_FROM_DATABASE=CPWNA100 (Philips wireless PCMCIA)
+
+pci:v00001113d0000EC02*
+ ID_MODEL_FROM_DATABASE=SMC 1244TX v3
+
+pci:v00001113d0000EE23*
+ ID_MODEL_FROM_DATABASE=SMCWPCIT-G 108Mbps Wireless PCI adapter
+
+pci:v00001114*
+ ID_VENDOR_FROM_DATABASE=Atmel Corporation
+
+pci:v00001114d00000506*
+ ID_MODEL_FROM_DATABASE=at76c506 802.11b Wireless Network Adaptor
+
+pci:v00001115*
+ ID_VENDOR_FROM_DATABASE=3D Labs
+
+pci:v00001116*
+ ID_VENDOR_FROM_DATABASE=Data Translation
+
+pci:v00001116d00000022*
+ ID_MODEL_FROM_DATABASE=DT3001
+
+pci:v00001116d00000023*
+ ID_MODEL_FROM_DATABASE=DT3002
+
+pci:v00001116d00000024*
+ ID_MODEL_FROM_DATABASE=DT3003
+
+pci:v00001116d00000025*
+ ID_MODEL_FROM_DATABASE=DT3004
+
+pci:v00001116d00000026*
+ ID_MODEL_FROM_DATABASE=DT3005
+
+pci:v00001116d00000027*
+ ID_MODEL_FROM_DATABASE=DT3001-PGL
+
+pci:v00001116d00000028*
+ ID_MODEL_FROM_DATABASE=DT3003-PGL
+
+pci:v00001116d00000051*
+ ID_MODEL_FROM_DATABASE=DT322
+
+pci:v00001116d00000060*
+ ID_MODEL_FROM_DATABASE=DT340
+
+pci:v00001116d00000069*
+ ID_MODEL_FROM_DATABASE=DT332
+
+pci:v00001116d000080C2*
+ ID_MODEL_FROM_DATABASE=DT3162
+
+pci:v00001117*
+ ID_VENDOR_FROM_DATABASE=Datacube, Inc
+
+pci:v00001117d00009500*
+ ID_MODEL_FROM_DATABASE=Max-1C SVGA card
+
+pci:v00001117d00009501*
+ ID_MODEL_FROM_DATABASE=Max-1C image processing
+
+pci:v00001118*
+ ID_VENDOR_FROM_DATABASE=Berg Electronics
+
+pci:v00001119*
+ ID_VENDOR_FROM_DATABASE=ICP Vortex Computersysteme GmbH
+
+pci:v00001119d00000000*
+ ID_MODEL_FROM_DATABASE=GDT 6000/6020/6050
+
+pci:v00001119d00000001*
+ ID_MODEL_FROM_DATABASE=GDT 6000B/6010
+
+pci:v00001119d00000002*
+ ID_MODEL_FROM_DATABASE=GDT 6110/6510
+
+pci:v00001119d00000003*
+ ID_MODEL_FROM_DATABASE=GDT 6120/6520
+
+pci:v00001119d00000004*
+ ID_MODEL_FROM_DATABASE=GDT 6530
+
+pci:v00001119d00000005*
+ ID_MODEL_FROM_DATABASE=GDT 6550
+
+pci:v00001119d00000006*
+ ID_MODEL_FROM_DATABASE=GDT 6117/6517
+
+pci:v00001119d00000007*
+ ID_MODEL_FROM_DATABASE=GDT 6127/6527
+
+pci:v00001119d00000008*
+ ID_MODEL_FROM_DATABASE=GDT 6537
+
+pci:v00001119d00000009*
+ ID_MODEL_FROM_DATABASE=GDT 6557/6557-ECC
+
+pci:v00001119d0000000A*
+ ID_MODEL_FROM_DATABASE=GDT 6115/6515
+
+pci:v00001119d0000000B*
+ ID_MODEL_FROM_DATABASE=GDT 6125/6525
+
+pci:v00001119d0000000C*
+ ID_MODEL_FROM_DATABASE=GDT 6535
+
+pci:v00001119d0000000D*
+ ID_MODEL_FROM_DATABASE=GDT 6555/6555-ECC
+
+pci:v00001119d00000100*
+ ID_MODEL_FROM_DATABASE=GDT 6117RP/6517RP
+
+pci:v00001119d00000101*
+ ID_MODEL_FROM_DATABASE=GDT 6127RP/6527RP
+
+pci:v00001119d00000102*
+ ID_MODEL_FROM_DATABASE=GDT 6537RP
+
+pci:v00001119d00000103*
+ ID_MODEL_FROM_DATABASE=GDT 6557RP
+
+pci:v00001119d00000104*
+ ID_MODEL_FROM_DATABASE=GDT 6111RP/6511RP
+
+pci:v00001119d00000105*
+ ID_MODEL_FROM_DATABASE=GDT 6121RP/6521RP
+
+pci:v00001119d00000110*
+ ID_MODEL_FROM_DATABASE=GDT 6117RD/6517RD
+
+pci:v00001119d00000111*
+ ID_MODEL_FROM_DATABASE=GDT 6127RD/6527RD
+
+pci:v00001119d00000112*
+ ID_MODEL_FROM_DATABASE=GDT 6537RD
+
+pci:v00001119d00000113*
+ ID_MODEL_FROM_DATABASE=GDT 6557RD
+
+pci:v00001119d00000114*
+ ID_MODEL_FROM_DATABASE=GDT 6111RD/6511RD
+
+pci:v00001119d00000115*
+ ID_MODEL_FROM_DATABASE=GDT 6121RD/6521RD
+
+pci:v00001119d00000118*
+ ID_MODEL_FROM_DATABASE=GDT 6118RD/6518RD/6618RD
+
+pci:v00001119d00000119*
+ ID_MODEL_FROM_DATABASE=GDT 6128RD/6528RD/6628RD
+
+pci:v00001119d0000011A*
+ ID_MODEL_FROM_DATABASE=GDT 6538RD/6638RD
+
+pci:v00001119d0000011B*
+ ID_MODEL_FROM_DATABASE=GDT 6558RD/6658RD
+
+pci:v00001119d00000120*
+ ID_MODEL_FROM_DATABASE=GDT 6117RP2/6517RP2
+
+pci:v00001119d00000121*
+ ID_MODEL_FROM_DATABASE=GDT 6127RP2/6527RP2
+
+pci:v00001119d00000122*
+ ID_MODEL_FROM_DATABASE=GDT 6537RP2
+
+pci:v00001119d00000123*
+ ID_MODEL_FROM_DATABASE=GDT 6557RP2
+
+pci:v00001119d00000124*
+ ID_MODEL_FROM_DATABASE=GDT 6111RP2/6511RP2
+
+pci:v00001119d00000125*
+ ID_MODEL_FROM_DATABASE=GDT 6121RP2/6521RP2
+
+pci:v00001119d00000136*
+ ID_MODEL_FROM_DATABASE=GDT 6113RS/6513RS
+
+pci:v00001119d00000137*
+ ID_MODEL_FROM_DATABASE=GDT 6123RS/6523RS
+
+pci:v00001119d00000138*
+ ID_MODEL_FROM_DATABASE=GDT 6118RS/6518RS/6618RS
+
+pci:v00001119d00000139*
+ ID_MODEL_FROM_DATABASE=GDT 6128RS/6528RS/6628RS
+
+pci:v00001119d0000013A*
+ ID_MODEL_FROM_DATABASE=GDT 6538RS/6638RS
+
+pci:v00001119d0000013B*
+ ID_MODEL_FROM_DATABASE=GDT 6558RS/6658RS
+
+pci:v00001119d0000013C*
+ ID_MODEL_FROM_DATABASE=GDT 6533RS/6633RS
+
+pci:v00001119d0000013D*
+ ID_MODEL_FROM_DATABASE=GDT 6543RS/6643RS
+
+pci:v00001119d0000013E*
+ ID_MODEL_FROM_DATABASE=GDT 6553RS/6653RS
+
+pci:v00001119d0000013F*
+ ID_MODEL_FROM_DATABASE=GDT 6563RS/6663RS
+
+pci:v00001119d00000166*
+ ID_MODEL_FROM_DATABASE=GDT 7113RN/7513RN/7613RN
+
+pci:v00001119d00000167*
+ ID_MODEL_FROM_DATABASE=GDT 7123RN/7523RN/7623RN
+
+pci:v00001119d00000168*
+ ID_MODEL_FROM_DATABASE=GDT 7118RN/7518RN/7518RN
+
+pci:v00001119d00000169*
+ ID_MODEL_FROM_DATABASE=GDT 7128RN/7528RN/7628RN
+
+pci:v00001119d0000016A*
+ ID_MODEL_FROM_DATABASE=GDT 7538RN/7638RN
+
+pci:v00001119d0000016B*
+ ID_MODEL_FROM_DATABASE=GDT 7558RN/7658RN
+
+pci:v00001119d0000016C*
+ ID_MODEL_FROM_DATABASE=GDT 7533RN/7633RN
+
+pci:v00001119d0000016D*
+ ID_MODEL_FROM_DATABASE=GDT 7543RN/7643RN
+
+pci:v00001119d0000016E*
+ ID_MODEL_FROM_DATABASE=GDT 7553RN/7653RN
+
+pci:v00001119d0000016F*
+ ID_MODEL_FROM_DATABASE=GDT 7563RN/7663RN
+
+pci:v00001119d000001D6*
+ ID_MODEL_FROM_DATABASE=GDT 4x13RZ
+
+pci:v00001119d000001D7*
+ ID_MODEL_FROM_DATABASE=GDT 4x23RZ
+
+pci:v00001119d000001F6*
+ ID_MODEL_FROM_DATABASE=GDT 8x13RZ
+
+pci:v00001119d000001F7*
+ ID_MODEL_FROM_DATABASE=GDT 8x23RZ
+
+pci:v00001119d000001FC*
+ ID_MODEL_FROM_DATABASE=GDT 8x33RZ
+
+pci:v00001119d000001FD*
+ ID_MODEL_FROM_DATABASE=GDT 8x43RZ
+
+pci:v00001119d000001FE*
+ ID_MODEL_FROM_DATABASE=GDT 8x53RZ
+
+pci:v00001119d000001FF*
+ ID_MODEL_FROM_DATABASE=GDT 8x63RZ
+
+pci:v00001119d00000210*
+ ID_MODEL_FROM_DATABASE=GDT 6519RD/6619RD
+
+pci:v00001119d00000211*
+ ID_MODEL_FROM_DATABASE=GDT 6529RD/6629RD
+
+pci:v00001119d00000260*
+ ID_MODEL_FROM_DATABASE=GDT 7519RN/7619RN
+
+pci:v00001119d00000261*
+ ID_MODEL_FROM_DATABASE=GDT 7529RN/7629RN
+
+pci:v00001119d000002FF*
+ ID_MODEL_FROM_DATABASE=GDT MAXRP
+
+pci:v00001119d00000300*
+ ID_MODEL_FROM_DATABASE=GDT NEWRX
+
+pci:v00001119d00000301*
+ ID_MODEL_FROM_DATABASE=GDT NEWRX2
+
+pci:v0000111A*
+ ID_VENDOR_FROM_DATABASE=Efficient Networks, Inc
+
+pci:v0000111Ad00000000*
+ ID_MODEL_FROM_DATABASE=155P-MF1 (FPGA)
+
+pci:v0000111Ad00000002*
+ ID_MODEL_FROM_DATABASE=155P-MF1 (ASIC)
+
+pci:v0000111Ad00000003*
+ ID_MODEL_FROM_DATABASE=ENI-25P ATM
+
+pci:v0000111Ad00000003sv0000111Asd00000000*
+ ID_MODEL_FROM_DATABASE=ENI-25p Miniport ATM Adapter
+
+pci:v0000111Ad00000005*
+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI)
+
+pci:v0000111Ad00000005sv0000111Asd00000001*
+ ID_MODEL_FROM_DATABASE=ENI-3010 ATM
+
+pci:v0000111Ad00000005sv0000111Asd00000009*
+ ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=0)
+
+pci:v0000111Ad00000005sv0000111Asd00000101*
+ ID_MODEL_FROM_DATABASE=ENI-3010 ATM
+
+pci:v0000111Ad00000005sv0000111Asd00000109*
+ ID_MODEL_FROM_DATABASE=ENI-3060CO ADSL (VPI=0)
+
+pci:v0000111Ad00000005sv0000111Asd00000809*
+ ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=0 or 8)
+
+pci:v0000111Ad00000005sv0000111Asd00000909*
+ ID_MODEL_FROM_DATABASE=ENI-3060CO ADSL (VPI=0 or 8)
+
+pci:v0000111Ad00000005sv0000111Asd00000A09*
+ ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=<0..15>)
+
+pci:v0000111Ad00000007*
+ ID_MODEL_FROM_DATABASE=SpeedStream ADSL
+
+pci:v0000111Ad00000007sv0000111Asd00001001*
+ ID_MODEL_FROM_DATABASE=ENI-3061 ADSL [ASIC]
+
+pci:v0000111Ad00001020*
+ ID_MODEL_FROM_DATABASE=SpeedStream PCI 10/100 Network Card
+
+pci:v0000111Ad00001203*
+ ID_MODEL_FROM_DATABASE=SpeedStream 1023 Wireless PCI Adapter
+
+pci:v0000111B*
+ ID_VENDOR_FROM_DATABASE=Teledyne Electronic Systems
+
+pci:v0000111C*
+ ID_VENDOR_FROM_DATABASE=Tricord Systems Inc.
+
+pci:v0000111Cd00000001*
+ ID_MODEL_FROM_DATABASE=Powerbis Bridge
+
+pci:v0000111D*
+ ID_VENDOR_FROM_DATABASE=Integrated Device Technology, Inc. [IDT]
+
+pci:v0000111Dd00000001*
+ ID_MODEL_FROM_DATABASE=IDT77201/77211 155Mbps ATM SAR Controller [NICStAR]
+
+pci:v0000111Dd00000003*
+ ID_MODEL_FROM_DATABASE=IDT77222/77252 155Mbps ATM MICRO ABR SAR Controller
+
+pci:v0000111Dd00000004*
+ ID_MODEL_FROM_DATABASE=IDT77V252 155Mbps ATM MICRO ABR SAR Controller
+
+pci:v0000111Dd00000005*
+ ID_MODEL_FROM_DATABASE=IDT77V222 155Mbps ATM MICRO ABR SAR Controller
+
+pci:v0000111Dd00008018*
+ ID_MODEL_FROM_DATABASE=PES12N3A PCI Express Switch
+
+pci:v0000111Dd0000801C*
+ ID_MODEL_FROM_DATABASE=PES24N3A PCI Express Switch
+
+pci:v0000111Dd00008028*
+ ID_MODEL_FROM_DATABASE=PES4T4 PCI Express Switch
+
+pci:v0000111Dd0000802B*
+ ID_MODEL_FROM_DATABASE=PES8T5A PCI Express Switch
+
+pci:v0000111Dd0000802C*
+ ID_MODEL_FROM_DATABASE=PES16T4 PCI Express Switch
+
+pci:v0000111Dd0000802D*
+ ID_MODEL_FROM_DATABASE=PES16T7 PCI Express Switch
+
+pci:v0000111Dd0000802E*
+ ID_MODEL_FROM_DATABASE=PES24T6 PCI Express Switch
+
+pci:v0000111Dd0000802F*
+ ID_MODEL_FROM_DATABASE=PES32T8 PCI Express Switch
+
+pci:v0000111Dd00008032*
+ ID_MODEL_FROM_DATABASE=PES48T12 PCI Express Switch
+
+pci:v0000111Dd00008034*
+ ID_MODEL_FROM_DATABASE=PES16/22/34H16 PCI Express Switch
+
+pci:v0000111Dd00008035*
+ ID_MODEL_FROM_DATABASE=PES32H8 PCI Express Switch
+
+pci:v0000111Dd00008036*
+ ID_MODEL_FROM_DATABASE=PES48H12 PCI Express Switch
+
+pci:v0000111Dd00008037*
+ ID_MODEL_FROM_DATABASE=PES64H16 PCI Express Switch
+
+pci:v0000111Dd00008039*
+ ID_MODEL_FROM_DATABASE=PES3T3 PCI Express Switch
+
+pci:v0000111Dd0000803A*
+ ID_MODEL_FROM_DATABASE=PES4T4 PCI Express Switch
+
+pci:v0000111Dd0000803C*
+ ID_MODEL_FROM_DATABASE=PES5T5 PCI Express Switch
+
+pci:v0000111Dd0000803D*
+ ID_MODEL_FROM_DATABASE=PES6T5 PCI Express Switch
+
+pci:v0000111Dd00008048*
+ ID_MODEL_FROM_DATABASE=PES8NT2 PCI Express Switch
+
+pci:v0000111Dd00008049*
+ ID_MODEL_FROM_DATABASE=PES8NT2 PCI Express Switch
+
+pci:v0000111Dd0000804A*
+ ID_MODEL_FROM_DATABASE=PES8NT2 PCI Express Internal NTB
+
+pci:v0000111Dd0000804B*
+ ID_MODEL_FROM_DATABASE=PES8NT2 PCI Express External NTB
+
+pci:v0000111Dd0000804C*
+ ID_MODEL_FROM_DATABASE=PES16NT2 PCI Express Switch
+
+pci:v0000111Dd0000804D*
+ ID_MODEL_FROM_DATABASE=PES16NT2 PCI Express Switch
+
+pci:v0000111Dd0000804E*
+ ID_MODEL_FROM_DATABASE=PES16NT2 PCI Express Internal NTB
+
+pci:v0000111Dd0000804F*
+ ID_MODEL_FROM_DATABASE=PES16NT2 PCI Express External NTB
+
+pci:v0000111Dd00008058*
+ ID_MODEL_FROM_DATABASE=PES12NT3 PCI Express Switch
+
+pci:v0000111Dd00008059*
+ ID_MODEL_FROM_DATABASE=PES12NT3 PCI Express Switch
+
+pci:v0000111Dd0000805A*
+ ID_MODEL_FROM_DATABASE=PES12NT3 PCI Express Internal NTB
+
+pci:v0000111Dd0000805B*
+ ID_MODEL_FROM_DATABASE=PES12NT3 PCI Express External NTB
+
+pci:v0000111Dd0000805C*
+ ID_MODEL_FROM_DATABASE=PES24NT3 PCI Express Switch
+
+pci:v0000111Dd0000805D*
+ ID_MODEL_FROM_DATABASE=PES24NT3 PCI Express Switch
+
+pci:v0000111Dd0000805E*
+ ID_MODEL_FROM_DATABASE=PES24NT3 PCI Express Internal NTB
+
+pci:v0000111Dd0000805F*
+ ID_MODEL_FROM_DATABASE=PES24NT3 PCI Express External NTB
+
+pci:v0000111Dd00008060*
+ ID_MODEL_FROM_DATABASE=PES16T4G2 PCI Express Gen2 Switch
+
+pci:v0000111Dd00008061*
+ ID_MODEL_FROM_DATABASE=PES12T3G2 PCI Express Gen2 Switch
+
+pci:v0000111Dd00008068*
+ ID_MODEL_FROM_DATABASE=PES6T6G2 PCI Express Gen2 Switch
+
+pci:v0000111Dd0000806A*
+ ID_MODEL_FROM_DATABASE=PES24T3G2 PCI Express Gen2 Switch
+
+pci:v0000111Dd0000806Asv000014C1sd0000000C*
+ ID_MODEL_FROM_DATABASE=10G-PCIE2-8B2
+
+pci:v0000111Dd0000806C*
+ ID_MODEL_FROM_DATABASE=PES16T4A/4T4G2 PCI Express Gen2 Switch
+
+pci:v0000111Dd0000806E*
+ ID_MODEL_FROM_DATABASE=PES24T6G2 PCI Express Gen2 Switch
+
+pci:v0000111Dd0000806F*
+ ID_MODEL_FROM_DATABASE=HIO524G2 PCI Express Gen2 Switch
+
+pci:v0000111E*
+ ID_VENDOR_FROM_DATABASE=Eldec
+
+pci:v0000111F*
+ ID_VENDOR_FROM_DATABASE=Precision Digital Images
+
+pci:v0000111Fd00004A47*
+ ID_MODEL_FROM_DATABASE=Precision MX Video engine interface
+
+pci:v0000111Fd00005243*
+ ID_MODEL_FROM_DATABASE=Frame capture bus interface
+
+pci:v00001120*
+ ID_VENDOR_FROM_DATABASE=EMC Corporation
+
+pci:v00001121*
+ ID_VENDOR_FROM_DATABASE=Zilog
+
+pci:v00001122*
+ ID_VENDOR_FROM_DATABASE=Multi-tech Systems, Inc.
+
+pci:v00001123*
+ ID_VENDOR_FROM_DATABASE=Excellent Design, Inc.
+
+pci:v00001124*
+ ID_VENDOR_FROM_DATABASE=Leutron Vision AG
+
+pci:v00001124d00002581*
+ ID_MODEL_FROM_DATABASE=Picport Monochrome
+
+pci:v00001125*
+ ID_VENDOR_FROM_DATABASE=Eurocore
+
+pci:v00001126*
+ ID_VENDOR_FROM_DATABASE=Vigra
+
+pci:v00001127*
+ ID_VENDOR_FROM_DATABASE=FORE Systems Inc
+
+pci:v00001127d00000200*
+ ID_MODEL_FROM_DATABASE=ForeRunner PCA-200 ATM
+
+pci:v00001127d00000210*
+ ID_MODEL_FROM_DATABASE=PCA-200PC
+
+pci:v00001127d00000250*
+ ID_MODEL_FROM_DATABASE=ATM
+
+pci:v00001127d00000300*
+ ID_MODEL_FROM_DATABASE=ForeRunner PCA-200EPC ATM
+
+pci:v00001127d00000310*
+ ID_MODEL_FROM_DATABASE=ATM
+
+pci:v00001127d00000400*
+ ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM Adapter
+
+pci:v00001127d00000400sv00001127sd00000400*
+ ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM
+
+pci:v00001129*
+ ID_VENDOR_FROM_DATABASE=Firmworks
+
+pci:v0000112A*
+ ID_VENDOR_FROM_DATABASE=Hermes Electronics Company, Ltd.
+
+pci:v0000112B*
+ ID_VENDOR_FROM_DATABASE=Linotype - Hell AG
+
+pci:v0000112C*
+ ID_VENDOR_FROM_DATABASE=Zenith Data Systems
+
+pci:v0000112D*
+ ID_VENDOR_FROM_DATABASE=Ravicad
+
+pci:v0000112E*
+ ID_VENDOR_FROM_DATABASE=Infomedia Microelectronics Inc.
+
+pci:v0000112F*
+ ID_VENDOR_FROM_DATABASE=Dalsa Inc.
+
+pci:v0000112Fd00000000*
+ ID_MODEL_FROM_DATABASE=MVC IC-PCI
+
+pci:v0000112Fd00000001*
+ ID_MODEL_FROM_DATABASE=MVC IM-PCI Video frame grabber/processor
+
+pci:v0000112Fd00000008*
+ ID_MODEL_FROM_DATABASE=PC-CamLink PCI framegrabber
+
+pci:v00001130*
+ ID_VENDOR_FROM_DATABASE=Computervision
+
+pci:v00001131*
+ ID_VENDOR_FROM_DATABASE=Philips Semiconductors
+
+pci:v00001131d00001561*
+ ID_MODEL_FROM_DATABASE=USB 1.1 Host Controller
+
+pci:v00001131d00001561sv00001775sd0000C200*
+ ID_MODEL_FROM_DATABASE=C2K onboard USB 1.1 host controller
+
+pci:v00001131d00001562*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Host Controller
+
+pci:v00001131d00001562sv00001775sd0000C200*
+ ID_MODEL_FROM_DATABASE=C2K onboard USB 2.0 host controller
+
+pci:v00001131d00003400*
+ ID_MODEL_FROM_DATABASE=SmartPCI56(UCB1500) 56K Modem
+
+pci:v00001131d00005400*
+ ID_MODEL_FROM_DATABASE=TriMedia TM1000/1100
+
+pci:v00001131d00005400sv000012CAsd00000000*
+ ID_MODEL_FROM_DATABASE=BlueICE
+
+pci:v00001131d00005402*
+ ID_MODEL_FROM_DATABASE=TriMedia TM1300
+
+pci:v00001131d00005402sv00001244sd00000F00*
+ ID_MODEL_FROM_DATABASE=Fritz!Card DSL
+
+pci:v00001131d00005402sv000015EBsd00001300*
+ ID_MODEL_FROM_DATABASE=DT1300
+
+pci:v00001131d00005402sv000015EBsd00001302*
+ ID_MODEL_FROM_DATABASE=DT1302
+
+pci:v00001131d00005402sv000015EBsd00001304*
+ ID_MODEL_FROM_DATABASE=DT1304
+
+pci:v00001131d00005402sv000015EBsd00001305*
+ ID_MODEL_FROM_DATABASE=DT1305
+
+pci:v00001131d00005402sv000015EBsd00001306*
+ ID_MODEL_FROM_DATABASE=PMCDT1306
+
+pci:v00001131d00005402sv000015EBsd00001308*
+ ID_MODEL_FROM_DATABASE=DT1308
+
+pci:v00001131d00005402sv000015EBsd00001331*
+ ID_MODEL_FROM_DATABASE=DT1301 with SAA7121
+
+pci:v00001131d00005402sv000015EBsd00001337*
+ ID_MODEL_FROM_DATABASE=DT1301 with SAA7127
+
+pci:v00001131d00005402sv000015EBsd00002D3D*
+ ID_MODEL_FROM_DATABASE=X3D
+
+pci:v00001131d00005402sv000015EBsd00007022*
+ ID_MODEL_FROM_DATABASE=PTM1300
+
+pci:v00001131d00005405*
+ ID_MODEL_FROM_DATABASE=TriMedia TM1500
+
+pci:v00001131d00005405sv00001136sd00000005*
+ ID_MODEL_FROM_DATABASE=LCP-1500
+
+pci:v00001131d00005406*
+ ID_MODEL_FROM_DATABASE=TriMedia TM1700
+
+pci:v00001131d0000540B*
+ ID_MODEL_FROM_DATABASE=PNX1005 Media Processor
+
+pci:v00001131d0000540Bsv00001131sd00000020*
+ ID_MODEL_FROM_DATABASE=PNXLite PCI Demo Board
+
+pci:v00001131d00007130*
+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder
+
+pci:v00001131d00007130sv00000000sd00004016*
+ ID_MODEL_FROM_DATABASE=Behold TV 401
+
+pci:v00001131d00007130sv00000000sd00004051*
+ ID_MODEL_FROM_DATABASE=Behold TV 405 FM
+
+pci:v00001131d00007130sv00000000sd00005051*
+ ID_MODEL_FROM_DATABASE=Behold TV 505 RDS
+
+pci:v00001131d00007130sv00000000sd0000505B*
+ ID_MODEL_FROM_DATABASE=Behold TV 505 RDS
+
+pci:v00001131d00007130sv0000102Bsd000048D0*
+ ID_MODEL_FROM_DATABASE=Matrox CronosPlus
+
+pci:v00001131d00007130sv00001048sd0000226B*
+ ID_MODEL_FROM_DATABASE=ELSA EX-VISION 300TV
+
+pci:v00001131d00007130sv0000107Dsd00006655*
+ ID_MODEL_FROM_DATABASE=WinFast DTV1000S
+
+pci:v00001131d00007130sv00001131sd00000000*
+ ID_MODEL_FROM_DATABASE=SAA7130-based TV tuner card
+
+pci:v00001131d00007130sv00001131sd00002001*
+ ID_MODEL_FROM_DATABASE=10MOONS PCI TV CAPTURE CARD
+
+pci:v00001131d00007130sv00001131sd00002005*
+ ID_MODEL_FROM_DATABASE=Techcom (India) TV Tuner Card (SSD-TV-670)
+
+pci:v00001131d00007130sv00001458sd00009006*
+ ID_MODEL_FROM_DATABASE=GT-PS700 DVB-S tuner
+
+pci:v00001131d00007130sv00001461sd0000050C*
+ ID_MODEL_FROM_DATABASE=Nagase Sangyo TransGear 3000TV
+
+pci:v00001131d00007130sv00001461sd000010FF*
+ ID_MODEL_FROM_DATABASE=AVerMedia DVD EZMaker
+
+pci:v00001131d00007130sv00001461sd00002108*
+ ID_MODEL_FROM_DATABASE=AverMedia AverTV/305
+
+pci:v00001131d00007130sv00001461sd00002115*
+ ID_MODEL_FROM_DATABASE=AverMedia AverTV Studio 305
+
+pci:v00001131d00007130sv0000153Bsd00001152*
+ ID_MODEL_FROM_DATABASE=Terratec Cinergy 200 TV
+
+pci:v00001131d00007130sv0000185Bsd0000C100*
+ ID_MODEL_FROM_DATABASE=Compro VideoMate TV PVR/FM
+
+pci:v00001131d00007130sv0000185Bsd0000C901*
+ ID_MODEL_FROM_DATABASE=Videomate DVB-T200
+
+pci:v00001131d00007130sv00005168sd00000138*
+ ID_MODEL_FROM_DATABASE=LifeView FlyVIDEO2000
+
+pci:v00001131d00007130sv00005ACEsd00005010*
+ ID_MODEL_FROM_DATABASE=Behold TV 501
+
+pci:v00001131d00007130sv00005ACEsd00005050*
+ ID_MODEL_FROM_DATABASE=Behold TV 505 FM
+
+pci:v00001131d00007133*
+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder
+
+pci:v00001131d00007133sv00000000sd00004091*
+ ID_MODEL_FROM_DATABASE=Beholder BeholdTV 409 FM
+
+pci:v00001131d00007133sv00000000sd00005071*
+ ID_MODEL_FROM_DATABASE=Behold TV 507 RDS
+
+pci:v00001131d00007133sv00000000sd0000507B*
+ ID_MODEL_FROM_DATABASE=Behold TV 507 RDS
+
+pci:v00001131d00007133sv00000000sd00005201*
+ ID_MODEL_FROM_DATABASE=Behold TV Columbus
+
+pci:v00001131d00007133sv00000070sd00006701*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-1110
+
+pci:v00001131d00007133sv00001019sd00004CB5*
+ ID_MODEL_FROM_DATABASE=Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM)
+
+pci:v00001131d00007133sv00001043sd00000210*
+ ID_MODEL_FROM_DATABASE=FlyTV mini Asus Digimatrix
+
+pci:v00001131d00007133sv00001043sd00004843*
+ ID_MODEL_FROM_DATABASE=ASUS TV-FM 7133
+
+pci:v00001131d00007133sv00001043sd00004845*
+ ID_MODEL_FROM_DATABASE=TV-FM 7135
+
+pci:v00001131d00007133sv00001043sd00004862*
+ ID_MODEL_FROM_DATABASE=P7131 Dual
+
+pci:v00001131d00007133sv00001043sd00004876*
+ ID_MODEL_FROM_DATABASE=My Cinema-P7131 Hybrid
+
+pci:v00001131d00007133sv00001131sd00000000*
+ ID_MODEL_FROM_DATABASE=SAA713x-based TV tuner card
+
+pci:v00001131d00007133sv00001131sd00002001*
+ ID_MODEL_FROM_DATABASE=Proteus Pro [philips reference design]
+
+pci:v00001131d00007133sv00001131sd00002018*
+ ID_MODEL_FROM_DATABASE=Tiger reference design
+
+pci:v00001131d00007133sv00001131sd00004EE9*
+ ID_MODEL_FROM_DATABASE=MonsterTV Mobile
+
+pci:v00001131d00007133sv00001131sd00007133*
+ ID_MODEL_FROM_DATABASE=Pinnacle PCTV 301i
+
+pci:v00001131d00007133sv000011BDsd0000002B*
+ ID_MODEL_FROM_DATABASE=PCTV Stereo
+
+pci:v00001131d00007133sv000011BDsd0000002E*
+ ID_MODEL_FROM_DATABASE=PCTV 110i (saa7133)
+
+pci:v00001131d00007133sv000012ABsd00000800*
+ ID_MODEL_FROM_DATABASE=PURPLE TV
+
+pci:v00001131d00007133sv000013C2sd00002804*
+ ID_MODEL_FROM_DATABASE=Technotrend Budget T-3000 Hybrid
+
+pci:v00001131d00007133sv00001421sd00000335*
+ ID_MODEL_FROM_DATABASE=Instant TV DVB-T Cardbus
+
+pci:v00001131d00007133sv00001421sd00001370*
+ ID_MODEL_FROM_DATABASE=Instant TV (saa7135)
+
+pci:v00001131d00007133sv00001435sd00007330*
+ ID_MODEL_FROM_DATABASE=VFG7330
+
+pci:v00001131d00007133sv00001435sd00007350*
+ ID_MODEL_FROM_DATABASE=VFG7350
+
+pci:v00001131d00007133sv00001458sd00009001*
+ ID_MODEL_FROM_DATABASE=GC-PTV-TAF Hybrid TV card
+
+pci:v00001131d00007133sv00001458sd00009002*
+ ID_MODEL_FROM_DATABASE=GT-PTV-TAF-RH DVB-T/Analog TV/FM tuner
+
+pci:v00001131d00007133sv00001458sd00009003*
+ ID_MODEL_FROM_DATABASE=GT-PTV-AF-RH Analog TV/FM tuner
+
+pci:v00001131d00007133sv00001458sd00009004*
+ ID_MODEL_FROM_DATABASE=GT-P8000 DVB-T/Analog TV/FM tuner
+
+pci:v00001131d00007133sv00001458sd00009005*
+ ID_MODEL_FROM_DATABASE=GT-P6000 Analog TV/FM tuner
+
+pci:v00001131d00007133sv00001458sd00009008*
+ ID_MODEL_FROM_DATABASE=GT-P5100 Analog TV tuner
+
+pci:v00001131d00007133sv00001461sd00001044*
+ ID_MODEL_FROM_DATABASE=AVerTVHD MCE A180
+
+pci:v00001131d00007133sv00001461sd00004836*
+ ID_MODEL_FROM_DATABASE=M10D Hybrid DVBT
+
+pci:v00001131d00007133sv00001461sd0000861E*
+ ID_MODEL_FROM_DATABASE=M105 PAL/SECAM/NTSC/FM Tuner
+
+pci:v00001131d00007133sv00001461sd0000A14B*
+ ID_MODEL_FROM_DATABASE=AVerTV Studio 509
+
+pci:v00001131d00007133sv00001461sd0000A836*
+ ID_MODEL_FROM_DATABASE=M115 DVB-T, PAL/SECAM/NTSC Tuner
+
+pci:v00001131d00007133sv00001461sd0000F01D*
+ ID_MODEL_FROM_DATABASE=DVB-T Super 007
+
+pci:v00001131d00007133sv00001461sd0000F31F*
+ ID_MODEL_FROM_DATABASE=Avermedia AVerTV GO 007 FM
+
+pci:v00001131d00007133sv00001461sd0000F936*
+ ID_MODEL_FROM_DATABASE=Hybrid+FM PCI (rev A16D)
+
+pci:v00001131d00007133sv00001462sd00006231*
+ ID_MODEL_FROM_DATABASE=TV@nywhere Plus
+
+pci:v00001131d00007133sv00001489sd00000214*
+ ID_MODEL_FROM_DATABASE=LifeView FlyTV Platinum FM
+
+pci:v00001131d00007133sv000014C0sd00001212*
+ ID_MODEL_FROM_DATABASE=LifeView FlyTV Platinum Mini2
+
+pci:v00001131d00007133sv0000153Bsd00001160*
+ ID_MODEL_FROM_DATABASE=Cinergy 250 PCI TV
+
+pci:v00001131d00007133sv0000153Bsd00001162*
+ ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 mobile
+
+pci:v00001131d00007133sv000017DEsd00007350*
+ ID_MODEL_FROM_DATABASE=ATSC 110 Digital / Analog HDTV Tuner
+
+pci:v00001131d00007133sv000017DEsd00007352*
+ ID_MODEL_FROM_DATABASE=ATSC 115 Digital / Analog HDTV Tuner
+
+pci:v00001131d00007133sv0000185Bsd0000C100*
+ ID_MODEL_FROM_DATABASE=VideoMate TV
+
+pci:v00001131d00007133sv0000185Bsd0000C900*
+ ID_MODEL_FROM_DATABASE=VideoMate T750
+
+pci:v00001131d00007133sv00005168sd00000306*
+ ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T DUO
+
+pci:v00001131d00007133sv00005168sd00000319*
+ ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio
+
+pci:v00001131d00007133sv00005168sd00000502*
+ ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T Duo CardBus
+
+pci:v00001131d00007133sv00005168sd00000520*
+ ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio CardBus
+
+pci:v00001131d00007133sv00005168sd00001502*
+ ID_MODEL_FROM_DATABASE=LifeView FlyTV CardBus
+
+pci:v00001131d00007133sv00005168sd00002502*
+ ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T CardBus
+
+pci:v00001131d00007133sv00005168sd00002520*
+ ID_MODEL_FROM_DATABASE=LifeView FlyDVB-S Duo CardBus
+
+pci:v00001131d00007133sv00005168sd00003502*
+ ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T Hybrid CardBus
+
+pci:v00001131d00007133sv00005168sd00003520*
+ ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio N CardBus
+
+pci:v00001131d00007133sv00005ACEsd00005030*
+ ID_MODEL_FROM_DATABASE=Behold TV 503 FM
+
+pci:v00001131d00007133sv00005ACEsd00005090*
+ ID_MODEL_FROM_DATABASE=Behold TV 509 FM
+
+pci:v00001131d00007133sv00005ACEsd00006090*
+ ID_MODEL_FROM_DATABASE=Behold TV 609 FM
+
+pci:v00001131d00007133sv00005ACEsd00006091*
+ ID_MODEL_FROM_DATABASE=Behold TV 609 FM
+
+pci:v00001131d00007133sv00005ACEsd00006092*
+ ID_MODEL_FROM_DATABASE=Behold TV 609 RDS
+
+pci:v00001131d00007133sv00005ACEsd00006093*
+ ID_MODEL_FROM_DATABASE=Behold TV 609 RDS
+
+pci:v00001131d00007133sv00005ACEsd00006190*
+ ID_MODEL_FROM_DATABASE=Behold TV M6
+
+pci:v00001131d00007133sv00005ACEsd00006191*
+ ID_MODEL_FROM_DATABASE=Behold TV M63
+
+pci:v00001131d00007133sv00005ACEsd00006193*
+ ID_MODEL_FROM_DATABASE=Behold TV M6 Extra
+
+pci:v00001131d00007133sv00005ACEsd00006290*
+ ID_MODEL_FROM_DATABASE=Behold TV H6
+
+pci:v00001131d00007133sv00005ACEsd00007090*
+ ID_MODEL_FROM_DATABASE=Behold TV A7
+
+pci:v00001131d00007133sv00005ACEsd00007190*
+ ID_MODEL_FROM_DATABASE=Behold TV H7
+
+pci:v00001131d00007133sv00005ACEsd00007595*
+ ID_MODEL_FROM_DATABASE=Behold TV X7
+
+pci:v00001131d00007134*
+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder
+
+pci:v00001131d00007134sv00000000sd00004036*
+ ID_MODEL_FROM_DATABASE=Behold TV 403
+
+pci:v00001131d00007134sv00000000sd00004037*
+ ID_MODEL_FROM_DATABASE=Behold TV 403 FM
+
+pci:v00001131d00007134sv00000000sd00004071*
+ ID_MODEL_FROM_DATABASE=Behold TV 407 FM
+
+pci:v00001131d00007134sv00001019sd00004CB4*
+ ID_MODEL_FROM_DATABASE=Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM)
+
+pci:v00001131d00007134sv00001043sd00000210*
+ ID_MODEL_FROM_DATABASE=Digimatrix TV
+
+pci:v00001131d00007134sv00001043sd00004840*
+ ID_MODEL_FROM_DATABASE=ASUS TV-FM 7134
+
+pci:v00001131d00007134sv00001043sd00004842*
+ ID_MODEL_FROM_DATABASE=TV-FM 7134
+
+pci:v00001131d00007134sv00001131sd00000000*
+ ID_MODEL_FROM_DATABASE=SAA713x-based TV tuner card
+
+pci:v00001131d00007134sv00001131sd00002004*
+ ID_MODEL_FROM_DATABASE=EUROPA V3 reference design
+
+pci:v00001131d00007134sv00001131sd00004E85*
+ ID_MODEL_FROM_DATABASE=SKNet Monster TV
+
+pci:v00001131d00007134sv00001131sd00006752*
+ ID_MODEL_FROM_DATABASE=EMPRESS
+
+pci:v00001131d00007134sv000011BDsd0000002B*
+ ID_MODEL_FROM_DATABASE=PCTV Stereo
+
+pci:v00001131d00007134sv000011BDsd0000002D*
+ ID_MODEL_FROM_DATABASE=PCTV 300i DVB-T + PAL
+
+pci:v00001131d00007134sv00001461sd00002C00*
+ ID_MODEL_FROM_DATABASE=AverTV Hybrid+FM PCI
+
+pci:v00001131d00007134sv00001461sd00009715*
+ ID_MODEL_FROM_DATABASE=AVerTV Studio 307
+
+pci:v00001131d00007134sv00001461sd0000A70A*
+ ID_MODEL_FROM_DATABASE=Avermedia AVerTV 307
+
+pci:v00001131d00007134sv00001461sd0000A70B*
+ ID_MODEL_FROM_DATABASE=AverMedia M156 / Medion 2819
+
+pci:v00001131d00007134sv00001461sd0000D6EE*
+ ID_MODEL_FROM_DATABASE=Cardbus TV/Radio (E500)
+
+pci:v00001131d00007134sv00001471sd0000B7E9*
+ ID_MODEL_FROM_DATABASE=AVerTV Cardbus plus
+
+pci:v00001131d00007134sv0000153Bsd00001142*
+ ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 TV
+
+pci:v00001131d00007134sv0000153Bsd00001143*
+ ID_MODEL_FROM_DATABASE=Terratec Cinergy 600 TV
+
+pci:v00001131d00007134sv0000153Bsd00001158*
+ ID_MODEL_FROM_DATABASE=Terratec Cinergy 600 TV MK3
+
+pci:v00001131d00007134sv00001540sd00009524*
+ ID_MODEL_FROM_DATABASE=ProVideo PV952
+
+pci:v00001131d00007134sv000016BEsd00000003*
+ ID_MODEL_FROM_DATABASE=Medion 7134
+
+pci:v00001131d00007134sv0000185Bsd0000C200*
+ ID_MODEL_FROM_DATABASE=Compro VideoMate Gold+ Pal
+
+pci:v00001131d00007134sv0000185Bsd0000C900*
+ ID_MODEL_FROM_DATABASE=Videomate DVB-T300
+
+pci:v00001131d00007134sv00001894sd0000A006*
+ ID_MODEL_FROM_DATABASE=KNC One TV-Station DVR
+
+pci:v00001131d00007134sv00001894sd0000FE01*
+ ID_MODEL_FROM_DATABASE=KNC One TV-Station RDS / Typhoon TV Tuner RDS
+
+pci:v00001131d00007134sv00005168sd00000138*
+ ID_MODEL_FROM_DATABASE=FLY TV PRIME 34FM
+
+pci:v00001131d00007134sv00005168sd00000300*
+ ID_MODEL_FROM_DATABASE=FlyDVB-S
+
+pci:v00001131d00007134sv00005ACEsd00005070*
+ ID_MODEL_FROM_DATABASE=Behold TV 507 FM
+
+pci:v00001131d00007134sv00005ACEsd00006070*
+ ID_MODEL_FROM_DATABASE=Behold TV 607 FM
+
+pci:v00001131d00007134sv00005ACEsd00006071*
+ ID_MODEL_FROM_DATABASE=Behold TV 607 FM
+
+pci:v00001131d00007134sv00005ACEsd00006072*
+ ID_MODEL_FROM_DATABASE=Behold TV 607 RDS
+
+pci:v00001131d00007134sv00005ACEsd00006073*
+ ID_MODEL_FROM_DATABASE=Behold TV 607 RDS
+
+pci:v00001131d00007145*
+ ID_MODEL_FROM_DATABASE=SAA7145
+
+pci:v00001131d00007146*
+ ID_MODEL_FROM_DATABASE=SAA7146
+
+pci:v00001131d00007146sv0000110Asd00000000*
+ ID_MODEL_FROM_DATABASE=Fujitsu/Siemens DVB-C card rev1.5
+
+pci:v00001131d00007146sv0000110Asd0000FFFF*
+ ID_MODEL_FROM_DATABASE=Fujitsu/Siemens DVB-C card rev1.5
+
+pci:v00001131d00007146sv00001124sd00002581*
+ ID_MODEL_FROM_DATABASE=Leutron Vision PicPort
+
+pci:v00001131d00007146sv00001131sd00004F56*
+ ID_MODEL_FROM_DATABASE=KNC1 DVB-S Budget
+
+pci:v00001131d00007146sv00001131sd00004F60*
+ ID_MODEL_FROM_DATABASE=Fujitsu-Siemens Activy DVB-S Budget Rev AL
+
+pci:v00001131d00007146sv00001131sd00004F61*
+ ID_MODEL_FROM_DATABASE=Activy DVB-S Budget Rev GR
+
+pci:v00001131d00007146sv00001131sd00005F61*
+ ID_MODEL_FROM_DATABASE=Activy DVB-T Budget
+
+pci:v00001131d00007146sv0000114Bsd00002003*
+ ID_MODEL_FROM_DATABASE=DVRaptor Video Edit/Capture Card
+
+pci:v00001131d00007146sv000011BDsd00000006*
+ ID_MODEL_FROM_DATABASE=DV500 Overlay
+
+pci:v00001131d00007146sv000011BDsd0000000A*
+ ID_MODEL_FROM_DATABASE=DV500 Overlay
+
+pci:v00001131d00007146sv000011BDsd0000000F*
+ ID_MODEL_FROM_DATABASE=DV500 Overlay
+
+pci:v00001131d00007146sv000013C2sd00000000*
+ ID_MODEL_FROM_DATABASE=Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5
+
+pci:v00001131d00007146sv000013C2sd00000001*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev1.3 or rev1.6
+
+pci:v00001131d00007146sv000013C2sd00000002*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1
+
+pci:v00001131d00007146sv000013C2sd00000003*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1
+
+pci:v00001131d00007146sv000013C2sd00000004*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1
+
+pci:v00001131d00007146sv000013C2sd00000006*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev1.3 or rev1.6
+
+pci:v00001131d00007146sv000013C2sd00000008*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB-T
+
+pci:v00001131d00007146sv000013C2sd0000000A*
+ ID_MODEL_FROM_DATABASE=Octal/Technotrend DVB-C for iTV
+
+pci:v00001131d00007146sv000013C2sd0000000E*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.3
+
+pci:v00001131d00007146sv000013C2sd00001003*
+ ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card
+
+pci:v00001131d00007146sv000013C2sd00001004*
+ ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card
+
+pci:v00001131d00007146sv000013C2sd00001005*
+ ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card
+
+pci:v00001131d00007146sv000013C2sd0000100C*
+ ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card
+
+pci:v00001131d00007146sv000013C2sd0000100F*
+ ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card
+
+pci:v00001131d00007146sv000013C2sd00001010*
+ ID_MODEL_FROM_DATABASE=DVB C-1500
+
+pci:v00001131d00007146sv000013C2sd00001011*
+ ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card
+
+pci:v00001131d00007146sv000013C2sd00001012*
+ ID_MODEL_FROM_DATABASE=DVB T-1500
+
+pci:v00001131d00007146sv000013C2sd00001013*
+ ID_MODEL_FROM_DATABASE=SATELCO Multimedia DVB
+
+pci:v00001131d00007146sv000013C2sd00001016*
+ ID_MODEL_FROM_DATABASE=WinTV-NOVA-SE DVB card
+
+pci:v00001131d00007146sv000013C2sd00001018*
+ ID_MODEL_FROM_DATABASE=DVB S-1401
+
+pci:v00001131d00007146sv000013C2sd00001019*
+ ID_MODEL_FROM_DATABASE=S2-3200
+
+pci:v00001131d00007146sv000013C2sd00001102*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1
+
+pci:v00001131d00007146sv0000153Bsd00001155*
+ ID_MODEL_FROM_DATABASE=Cinergy 1200 DVB-S
+
+pci:v00001131d00007146sv0000153Bsd00001156*
+ ID_MODEL_FROM_DATABASE=Terratec Cynergy 1200C
+
+pci:v00001131d00007146sv0000153Bsd00001157*
+ ID_MODEL_FROM_DATABASE=Cinergy 1200 DVB-T
+
+pci:v00001131d00007146sv00001894sd00000020*
+ ID_MODEL_FROM_DATABASE=KNC One DVB-C V1.0
+
+pci:v00001131d00007146sv00001894sd00000023*
+ ID_MODEL_FROM_DATABASE=TVStation DVB-C plus
+
+pci:v00001131d00007160*
+ ID_MODEL_FROM_DATABASE=SAA7160
+
+pci:v00001131d00007160sv00001458sd00009009*
+ ID_MODEL_FROM_DATABASE=E8000 DVB-T/Analog TV/FM tuner
+
+pci:v00001131d00007162*
+ ID_MODEL_FROM_DATABASE=SAA7162
+
+pci:v00001131d00007162sv000011BDsd00000101*
+ ID_MODEL_FROM_DATABASE=Pinnacle PCTV 7010iX TV Card
+
+pci:v00001131d00007164*
+ ID_MODEL_FROM_DATABASE=SAA7164
+
+pci:v00001131d00007164sv00000070sd00008800*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2250
+
+pci:v00001131d00007164sv00000070sd00008810*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2250
+
+pci:v00001131d00007164sv00000070sd00008851*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2250
+
+pci:v00001131d00007164sv00000070sd00008853*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2250
+
+pci:v00001131d00007164sv00000070sd00008880*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2250
+
+pci:v00001131d00007164sv00000070sd00008891*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2250
+
+pci:v00001131d00007164sv00000070sd000088A0*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2250
+
+pci:v00001131d00007164sv00000070sd000088A1*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2250
+
+pci:v00001131d00007164sv00000070sd00008900*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2200
+
+pci:v00001131d00007164sv00000070sd00008901*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2200
+
+pci:v00001131d00007164sv00000070sd00008940*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2200 (submodel 89619)
+
+pci:v00001131d00007164sv00000070sd00008951*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2200
+
+pci:v00001131d00007164sv00000070sd00008953*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2200
+
+pci:v00001131d00007164sv00000070sd00008980*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2200
+
+pci:v00001131d00007164sv00000070sd00008991*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2200
+
+pci:v00001131d00007164sv00000070sd00008993*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2200
+
+pci:v00001131d00007164sv00000070sd000089A0*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2200
+
+pci:v00001131d00007164sv00000070sd000089A1*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-2200
+
+pci:v00001131d00007231*
+ ID_MODEL_FROM_DATABASE=SAA7231
+
+pci:v00001131d00007231sv00005ACEsd00008000*
+ ID_MODEL_FROM_DATABASE=Behold TV H8
+
+pci:v00001131d00007231sv00005ACEsd00008100*
+ ID_MODEL_FROM_DATABASE=Behold TV A8
+
+pci:v00001131d00009730*
+ ID_MODEL_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller
+
+pci:v00001131d00009730sv00001131sd00000000*
+ ID_MODEL_FROM_DATABASE=Integrated Multimedia and Peripheral Controller
+
+pci:v00001132*
+ ID_VENDOR_FROM_DATABASE=Mitel Corp.
+
+pci:v00001133*
+ ID_VENDOR_FROM_DATABASE=Dialogic Corporation
+
+pci:v00001133d00007701*
+ ID_MODEL_FROM_DATABASE=Eiconcard C90
+
+pci:v00001133d00007711*
+ ID_MODEL_FROM_DATABASE=Eiconcard C91
+
+pci:v00001133d00007901*
+ ID_MODEL_FROM_DATABASE=EiconCard S90
+
+pci:v00001133d00007902*
+ ID_MODEL_FROM_DATABASE=EiconCard S90
+
+pci:v00001133d00007911*
+ ID_MODEL_FROM_DATABASE=EiconCard S91
+
+pci:v00001133d00007912*
+ ID_MODEL_FROM_DATABASE=EiconCard S91
+
+pci:v00001133d00007921*
+ ID_MODEL_FROM_DATABASE=Eiconcard S92
+
+pci:v00001133d00007941*
+ ID_MODEL_FROM_DATABASE=EiconCard S94
+
+pci:v00001133d00007942*
+ ID_MODEL_FROM_DATABASE=EiconCard S94
+
+pci:v00001133d00007943*
+ ID_MODEL_FROM_DATABASE=EiconCard S94
+
+pci:v00001133d00007944*
+ ID_MODEL_FROM_DATABASE=EiconCard S94
+
+pci:v00001133d00007945*
+ ID_MODEL_FROM_DATABASE=Eiconcard S94
+
+pci:v00001133d00007948*
+ ID_MODEL_FROM_DATABASE=Eiconcard S94 64bit/66MHz
+
+pci:v00001133d00009711*
+ ID_MODEL_FROM_DATABASE=Eiconcard S91 V2
+
+pci:v00001133d00009911*
+ ID_MODEL_FROM_DATABASE=Eiconcard S91 V2
+
+pci:v00001133d00009941*
+ ID_MODEL_FROM_DATABASE=Eiconcard S94 V2
+
+pci:v00001133d00009A41*
+ ID_MODEL_FROM_DATABASE=Eiconcard S94 PCIe
+
+pci:v00001133d0000B921*
+ ID_MODEL_FROM_DATABASE=EiconCard P92
+
+pci:v00001133d0000B922*
+ ID_MODEL_FROM_DATABASE=EiconCard P92
+
+pci:v00001133d0000B923*
+ ID_MODEL_FROM_DATABASE=EiconCard P92
+
+pci:v00001133d0000E001*
+ ID_MODEL_FROM_DATABASE=Diva Pro 2.0 S/T
+
+pci:v00001133d0000E002*
+ ID_MODEL_FROM_DATABASE=Diva 2.0 S/T PCI
+
+pci:v00001133d0000E003*
+ ID_MODEL_FROM_DATABASE=Diva Pro 2.0 U
+
+pci:v00001133d0000E004*
+ ID_MODEL_FROM_DATABASE=Diva 2.0 U PCI
+
+pci:v00001133d0000E005*
+ ID_MODEL_FROM_DATABASE=Diva 2.01 S/T PCI
+
+pci:v00001133d0000E006*
+ ID_MODEL_FROM_DATABASE=Diva CT S/T PCI
+
+pci:v00001133d0000E007*
+ ID_MODEL_FROM_DATABASE=Diva CT U PCI
+
+pci:v00001133d0000E008*
+ ID_MODEL_FROM_DATABASE=Diva CT Lite S/T PCI
+
+pci:v00001133d0000E009*
+ ID_MODEL_FROM_DATABASE=Diva CT Lite U PCI
+
+pci:v00001133d0000E00A*
+ ID_MODEL_FROM_DATABASE=Diva ISDN+V.90 PCI
+
+pci:v00001133d0000E00B*
+ ID_MODEL_FROM_DATABASE=Diva ISDN PCI 2.02
+
+pci:v00001133d0000E00C*
+ ID_MODEL_FROM_DATABASE=Diva 2.02 PCI U
+
+pci:v00001133d0000E00D*
+ ID_MODEL_FROM_DATABASE=Diva Pro 3.0 PCI
+
+pci:v00001133d0000E00E*
+ ID_MODEL_FROM_DATABASE=Diva ISDN+CT S/T PCI Rev 2
+
+pci:v00001133d0000E010*
+ ID_MODEL_FROM_DATABASE=Diva Server BRI-2M PCI
+
+pci:v00001133d0000E010sv0000110Asd00000021*
+ ID_MODEL_FROM_DATABASE=Fujitsu Siemens ISDN S0
+
+pci:v00001133d0000E011*
+ ID_MODEL_FROM_DATABASE=Diva Server BRI S/T Rev 2
+
+pci:v00001133d0000E012*
+ ID_MODEL_FROM_DATABASE=Diva Server 4BRI-8M PCI
+
+pci:v00001133d0000E013*
+ ID_MODEL_FROM_DATABASE=4BRI
+
+pci:v00001133d0000E013sv00001133sd00001300*
+ ID_MODEL_FROM_DATABASE=Diva V-4BRI-8 PCI v2
+
+pci:v00001133d0000E013sv00001133sd0000E013*
+ ID_MODEL_FROM_DATABASE=Diva 4BRI-8 PCI v2
+
+pci:v00001133d0000E014*
+ ID_MODEL_FROM_DATABASE=Diva Server PRI-30M PCI
+
+pci:v00001133d0000E015*
+ ID_MODEL_FROM_DATABASE=Diva PRI PCI v2
+
+pci:v00001133d0000E016*
+ ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI PCI
+
+pci:v00001133d0000E017*
+ ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI Rev 2
+
+pci:v00001133d0000E017sv00001133sd0000E017*
+ ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI-8M 2.0 PCI
+
+pci:v00001133d0000E018*
+ ID_MODEL_FROM_DATABASE=BRI
+
+pci:v00001133d0000E018sv00001133sd00001800*
+ ID_MODEL_FROM_DATABASE=Diva V-BRI-2 PCI v2
+
+pci:v00001133d0000E018sv00001133sd0000E018*
+ ID_MODEL_FROM_DATABASE=Diva BRI-2 PCI v2
+
+pci:v00001133d0000E019*
+ ID_MODEL_FROM_DATABASE=Diva Server Voice PRI Rev 2
+
+pci:v00001133d0000E019sv00001133sd0000E019*
+ ID_MODEL_FROM_DATABASE=Diva Server Voice PRI 2.0 PCI
+
+pci:v00001133d0000E01A*
+ ID_MODEL_FROM_DATABASE=Diva BRI-2FX PCI v2
+
+pci:v00001133d0000E01B*
+ ID_MODEL_FROM_DATABASE=Diva Server Voice BRI-2M 2.0 PCI
+
+pci:v00001133d0000E01Bsv00001133sd0000E01B*
+ ID_MODEL_FROM_DATABASE=Diva Server Voice BRI-2M 2.0 PCI
+
+pci:v00001133d0000E01C*
+ ID_MODEL_FROM_DATABASE=PRI
+
+pci:v00001133d0000E01Csv00001133sd00001C01*
+ ID_MODEL_FROM_DATABASE=Diva PRI/E1/T1-8 PCI v3
+
+pci:v00001133d0000E01Csv00001133sd00001C02*
+ ID_MODEL_FROM_DATABASE=Diva PRI/T1-24 PCI(e) v3
+
+pci:v00001133d0000E01Csv00001133sd00001C03*
+ ID_MODEL_FROM_DATABASE=Diva PRI/E1-30 PCI(e) v3
+
+pci:v00001133d0000E01Csv00001133sd00001C04*
+ ID_MODEL_FROM_DATABASE=Diva PRI/E1/T1-CTI PCI(e) v3
+
+pci:v00001133d0000E01Csv00001133sd00001C05*
+ ID_MODEL_FROM_DATABASE=Diva V-PRI/T1-24 PCI(e) v3
+
+pci:v00001133d0000E01Csv00001133sd00001C06*
+ ID_MODEL_FROM_DATABASE=Diva V-PRI/E1-30 PCI(e) v3
+
+pci:v00001133d0000E01Csv00001133sd00001C07*
+ ID_MODEL_FROM_DATABASE=Diva Server PRI/E1/T1-8 Cornet NQ
+
+pci:v00001133d0000E01Csv00001133sd00001C08*
+ ID_MODEL_FROM_DATABASE=Diva Server PRI/T1-24 Cornet NQ
+
+pci:v00001133d0000E01Csv00001133sd00001C09*
+ ID_MODEL_FROM_DATABASE=Diva Server PRI/E1-30 Cornet NQ
+
+pci:v00001133d0000E01Csv00001133sd00001C0A*
+ ID_MODEL_FROM_DATABASE=Diva Server PRI/E1/T1 Cornet NQ
+
+pci:v00001133d0000E01Csv00001133sd00001C0B*
+ ID_MODEL_FROM_DATABASE=Diva Server V-PRI/T1-24 Cornet NQ
+
+pci:v00001133d0000E01Csv00001133sd00001C0C*
+ ID_MODEL_FROM_DATABASE=Diva Server V-PRI/E1-30 Cornet NQ
+
+pci:v00001133d0000E01E*
+ ID_MODEL_FROM_DATABASE=2PRI
+
+pci:v00001133d0000E01Esv00001133sd00001E01*
+ ID_MODEL_FROM_DATABASE=Diva 2PRI/E1/T1-60 PCI v1
+
+pci:v00001133d0000E01Esv00001133sd0000E01E*
+ ID_MODEL_FROM_DATABASE=Diva V-2PRI/E1/T1-60 PCI v1
+
+pci:v00001133d0000E020*
+ ID_MODEL_FROM_DATABASE=4PRI
+
+pci:v00001133d0000E020sv00001133sd00002001*
+ ID_MODEL_FROM_DATABASE=Diva 4PRI/E1/T1-120 PCI v1
+
+pci:v00001133d0000E020sv00001133sd0000E020*
+ ID_MODEL_FROM_DATABASE=Diva V-4PRI/E1/T1-120 PCI v1
+
+pci:v00001133d0000E022*
+ ID_MODEL_FROM_DATABASE=Analog-2
+
+pci:v00001133d0000E022sv00001133sd00002200*
+ ID_MODEL_FROM_DATABASE=Diva V-Analog-2 PCI v1
+
+pci:v00001133d0000E022sv00001133sd0000E022*
+ ID_MODEL_FROM_DATABASE=Diva Analog-2 PCI v1
+
+pci:v00001133d0000E024*
+ ID_MODEL_FROM_DATABASE=Analog-4
+
+pci:v00001133d0000E024sv00001133sd00002400*
+ ID_MODEL_FROM_DATABASE=Diva V-Analog-4 PCI v1
+
+pci:v00001133d0000E024sv00001133sd0000E024*
+ ID_MODEL_FROM_DATABASE=Diva Analog-4 PCI v1
+
+pci:v00001133d0000E028*
+ ID_MODEL_FROM_DATABASE=Analog-8
+
+pci:v00001133d0000E028sv00001133sd00002800*
+ ID_MODEL_FROM_DATABASE=Diva V-Analog-8 PCI v1
+
+pci:v00001133d0000E028sv00001133sd0000E028*
+ ID_MODEL_FROM_DATABASE=Diva Analog-8 PCI v1
+
+pci:v00001133d0000E02A*
+ ID_MODEL_FROM_DATABASE=Diva IPM-300 PCI v1
+
+pci:v00001133d0000E02C*
+ ID_MODEL_FROM_DATABASE=Diva IPM-600 PCI v1
+
+pci:v00001133d0000E02E*
+ ID_MODEL_FROM_DATABASE=4BRI
+
+pci:v00001133d0000E02Esv00001133sd00002E01*
+ ID_MODEL_FROM_DATABASE=Diva V-4BRI-8 PCIe v2
+
+pci:v00001133d0000E02Esv00001133sd0000E02E*
+ ID_MODEL_FROM_DATABASE=Diva 4BRI-8 PCIe v2
+
+pci:v00001133d0000E032*
+ ID_MODEL_FROM_DATABASE=BRI
+
+pci:v00001133d0000E032sv00001133sd00003201*
+ ID_MODEL_FROM_DATABASE=Diva V-BRI-2 PCIe v2
+
+pci:v00001133d0000E032sv00001133sd0000E032*
+ ID_MODEL_FROM_DATABASE=Diva BRI-2 PCIe v2
+
+pci:v00001133d0000E034*
+ ID_MODEL_FROM_DATABASE=Diva BRI-CTI PCI v2
+
+pci:v00001134*
+ ID_VENDOR_FROM_DATABASE=Mercury Computer Systems
+
+pci:v00001134d00000001*
+ ID_MODEL_FROM_DATABASE=Raceway Bridge
+
+pci:v00001134d00000002*
+ ID_MODEL_FROM_DATABASE=Dual PCI to RapidIO Bridge
+
+pci:v00001134d0000000B*
+ ID_MODEL_FROM_DATABASE=POET Serial RapidIO Bridge
+
+pci:v00001134d0000000D*
+ ID_MODEL_FROM_DATABASE=POET PSDMS Device
+
+pci:v00001135*
+ ID_VENDOR_FROM_DATABASE=Fuji Xerox Co Ltd
+
+pci:v00001135d00000001*
+ ID_MODEL_FROM_DATABASE=Printer controller
+
+pci:v00001136*
+ ID_VENDOR_FROM_DATABASE=Momentum Data Systems
+
+pci:v00001136d00000002*
+ ID_MODEL_FROM_DATABASE=PCI-JTAG
+
+pci:v00001137*
+ ID_VENDOR_FROM_DATABASE=Cisco Systems Inc
+
+pci:v00001137d00000023*
+ ID_MODEL_FROM_DATABASE=VIC 81 PCIe Upstream Port
+
+pci:v00001137d00000040*
+ ID_MODEL_FROM_DATABASE=VIC PCIe Upstream Port
+
+pci:v00001137d00000041*
+ ID_MODEL_FROM_DATABASE=VIC PCIe Downstream Port
+
+pci:v00001137d00000042*
+ ID_MODEL_FROM_DATABASE=VIC Management Controller
+
+pci:v00001137d00000042sv00001137sd00000047*
+ ID_MODEL_FROM_DATABASE=VIC P81E PCIe Management Controller
+
+pci:v00001137d00000043*
+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC
+
+pci:v00001137d00000043sv00001137sd00000047*
+ ID_MODEL_FROM_DATABASE=VIC P81E PCIe Ethernet NIC
+
+pci:v00001137d00000043sv00001137sd00000048*
+ ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine Ethernet NIC
+
+pci:v00001137d00000043sv00001137sd0000004F*
+ ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine Ethernet NIC
+
+pci:v00001137d00000043sv00001137sd00000084*
+ ID_MODEL_FROM_DATABASE=VIC 1240 MLOM Ethernet NIC
+
+pci:v00001137d00000043sv00001137sd00000085*
+ ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Ethernet NIC
+
+pci:v00001137d00000044*
+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic
+
+pci:v00001137d00000044sv00001137sd00000047*
+ ID_MODEL_FROM_DATABASE=VIC P81E PCIe Ethernet NIC Dynamic
+
+pci:v00001137d00000044sv00001137sd00000048*
+ ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine Ethernet NIC Dynamic
+
+pci:v00001137d00000044sv00001137sd0000004F*
+ ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine Ethernet NIC Dynamic
+
+pci:v00001137d00000044sv00001137sd00000084*
+ ID_MODEL_FROM_DATABASE=VIC 1240 MLOM Ethernet NIC Dynamic
+
+pci:v00001137d00000044sv00001137sd00000085*
+ ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Ethernet NIC Dynamic
+
+pci:v00001137d00000045*
+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA
+
+pci:v00001137d00000045sv00001137sd00000047*
+ ID_MODEL_FROM_DATABASE=VIC P81E PCIe FCoE HBA
+
+pci:v00001137d00000045sv00001137sd00000048*
+ ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine FCoE HBA
+
+pci:v00001137d00000045sv00001137sd0000004F*
+ ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine FCoE HBA
+
+pci:v00001137d0000004E*
+ ID_MODEL_FROM_DATABASE=VIC 82 PCIe Upstream Port
+
+pci:v00001137d000000CF*
+ ID_MODEL_FROM_DATABASE=VIC Userspace NIC
+
+pci:v00001138*
+ ID_VENDOR_FROM_DATABASE=Ziatech Corporation
+
+pci:v00001138d00008905*
+ ID_MODEL_FROM_DATABASE=8905 [STD 32 Bridge]
+
+pci:v00001139*
+ ID_VENDOR_FROM_DATABASE=Dynamic Pictures, Inc
+
+pci:v00001139d00000001*
+ ID_MODEL_FROM_DATABASE=VGA Compatable 3D Graphics
+
+pci:v0000113A*
+ ID_VENDOR_FROM_DATABASE=FWB Inc
+
+pci:v0000113B*
+ ID_VENDOR_FROM_DATABASE=Network Computing Devices
+
+pci:v0000113C*
+ ID_VENDOR_FROM_DATABASE=Cyclone Microsystems, Inc.
+
+pci:v0000113Cd00000000*
+ ID_MODEL_FROM_DATABASE=PCI-9060 i960 Bridge
+
+pci:v0000113Cd00000001*
+ ID_MODEL_FROM_DATABASE=PCI-SDK [PCI i960 Evaluation Platform]
+
+pci:v0000113Cd00000911*
+ ID_MODEL_FROM_DATABASE=PCI-911 [i960Jx-based Intelligent I/O Controller]
+
+pci:v0000113Cd00000912*
+ ID_MODEL_FROM_DATABASE=PCI-912 [i960CF-based Intelligent I/O Controller]
+
+pci:v0000113Cd00000913*
+ ID_MODEL_FROM_DATABASE=PCI-913
+
+pci:v0000113Cd00000914*
+ ID_MODEL_FROM_DATABASE=PCI-914 [I/O Controller w/ secondary PCI bus]
+
+pci:v0000113D*
+ ID_VENDOR_FROM_DATABASE=Leading Edge Products Inc
+
+pci:v0000113E*
+ ID_VENDOR_FROM_DATABASE=Sanyo Electric Co - Computer Engineering Dept
+
+pci:v0000113F*
+ ID_VENDOR_FROM_DATABASE=Equinox Systems, Inc.
+
+pci:v0000113Fd00000808*
+ ID_MODEL_FROM_DATABASE=SST-64P Adapter
+
+pci:v0000113Fd00001010*
+ ID_MODEL_FROM_DATABASE=SST-128P Adapter
+
+pci:v0000113Fd000080C0*
+ ID_MODEL_FROM_DATABASE=SST-16P DB Adapter
+
+pci:v0000113Fd000080C4*
+ ID_MODEL_FROM_DATABASE=SST-16P RJ Adapter
+
+pci:v0000113Fd000080C8*
+ ID_MODEL_FROM_DATABASE=SST-16P Adapter
+
+pci:v0000113Fd00008888*
+ ID_MODEL_FROM_DATABASE=SST-4P Adapter
+
+pci:v0000113Fd00009090*
+ ID_MODEL_FROM_DATABASE=SST-8P Adapter
+
+pci:v00001140*
+ ID_VENDOR_FROM_DATABASE=Intervoice Inc
+
+pci:v00001141*
+ ID_VENDOR_FROM_DATABASE=Crest Microsystem Inc
+
+pci:v00001142*
+ ID_VENDOR_FROM_DATABASE=Alliance Semiconductor Corporation
+
+pci:v00001142d00003210*
+ ID_MODEL_FROM_DATABASE=AP6410
+
+pci:v00001142d00006422*
+ ID_MODEL_FROM_DATABASE=ProVideo 6422
+
+pci:v00001142d00006424*
+ ID_MODEL_FROM_DATABASE=ProVideo 6424
+
+pci:v00001142d00006425*
+ ID_MODEL_FROM_DATABASE=ProMotion AT25
+
+pci:v00001142d0000643D*
+ ID_MODEL_FROM_DATABASE=ProMotion AT3D
+
+pci:v00001143*
+ ID_VENDOR_FROM_DATABASE=NetPower, Inc
+
+pci:v00001144*
+ ID_VENDOR_FROM_DATABASE=Cincinnati Milacron
+
+pci:v00001144d00000001*
+ ID_MODEL_FROM_DATABASE=Noservo controller
+
+pci:v00001145*
+ ID_VENDOR_FROM_DATABASE=Workbit Corporation
+
+pci:v00001145d00008007*
+ ID_MODEL_FROM_DATABASE=NinjaSCSI-32 Workbit
+
+pci:v00001145d0000F007*
+ ID_MODEL_FROM_DATABASE=NinjaSCSI-32 KME
+
+pci:v00001145d0000F010*
+ ID_MODEL_FROM_DATABASE=NinjaSCSI-32 Workbit
+
+pci:v00001145d0000F012*
+ ID_MODEL_FROM_DATABASE=NinjaSCSI-32 Logitec
+
+pci:v00001145d0000F013*
+ ID_MODEL_FROM_DATABASE=NinjaSCSI-32 Logitec
+
+pci:v00001145d0000F015*
+ ID_MODEL_FROM_DATABASE=NinjaSCSI-32 Melco
+
+pci:v00001145d0000F020*
+ ID_MODEL_FROM_DATABASE=NinjaSCSI-32 Sony PCGA-DVD51
+
+pci:v00001145d0000F021*
+ ID_MODEL_FROM_DATABASE=NinjaPATA-32 Delkin Cardbus UDMA
+
+pci:v00001145d0000F024*
+ ID_MODEL_FROM_DATABASE=NinjaPATA-32 Delkin Cardbus UDMA
+
+pci:v00001145d0000F103*
+ ID_MODEL_FROM_DATABASE=NinjaPATA-32 Delkin Cardbus UDMA
+
+pci:v00001146*
+ ID_VENDOR_FROM_DATABASE=Force Computers
+
+pci:v00001147*
+ ID_VENDOR_FROM_DATABASE=Interface Corp
+
+pci:v00001148*
+ ID_VENDOR_FROM_DATABASE=SysKonnect
+
+pci:v00001148d00004000*
+ ID_MODEL_FROM_DATABASE=FDDI Adapter
+
+pci:v00001148d00004000sv00000E11sd0000B03B*
+ ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI DAS Fibre SC
+
+pci:v00001148d00004000sv00000E11sd0000B03C*
+ ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS Fibre SC
+
+pci:v00001148d00004000sv00000E11sd0000B03D*
+ ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI DAS UTP
+
+pci:v00001148d00004000sv00000E11sd0000B03E*
+ ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS UTP
+
+pci:v00001148d00004000sv00000E11sd0000B03F*
+ ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS Fibre MIC
+
+pci:v00001148d00004000sv00001148sd00005521*
+ ID_MODEL_FROM_DATABASE=FDDI SK-5521 (SK-NET FDDI-UP)
+
+pci:v00001148d00004000sv00001148sd00005522*
+ ID_MODEL_FROM_DATABASE=FDDI SK-5522 (SK-NET FDDI-UP DAS)
+
+pci:v00001148d00004000sv00001148sd00005541*
+ ID_MODEL_FROM_DATABASE=FDDI SK-5541 (SK-NET FDDI-FP)
+
+pci:v00001148d00004000sv00001148sd00005543*
+ ID_MODEL_FROM_DATABASE=FDDI SK-5543 (SK-NET FDDI-LP)
+
+pci:v00001148d00004000sv00001148sd00005544*
+ ID_MODEL_FROM_DATABASE=FDDI SK-5544 (SK-NET FDDI-LP DAS)
+
+pci:v00001148d00004000sv00001148sd00005821*
+ ID_MODEL_FROM_DATABASE=FDDI SK-5821 (SK-NET FDDI-UP64)
+
+pci:v00001148d00004000sv00001148sd00005822*
+ ID_MODEL_FROM_DATABASE=FDDI SK-5822 (SK-NET FDDI-UP64 DAS)
+
+pci:v00001148d00004000sv00001148sd00005841*
+ ID_MODEL_FROM_DATABASE=FDDI SK-5841 (SK-NET FDDI-FP64)
+
+pci:v00001148d00004000sv00001148sd00005843*
+ ID_MODEL_FROM_DATABASE=FDDI SK-5843 (SK-NET FDDI-LP64)
+
+pci:v00001148d00004000sv00001148sd00005844*
+ ID_MODEL_FROM_DATABASE=FDDI SK-5844 (SK-NET FDDI-LP64 DAS)
+
+pci:v00001148d00004200*
+ ID_MODEL_FROM_DATABASE=Token Ring adapter
+
+pci:v00001148d00004300*
+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link)
+
+pci:v00001148d00004300sv00001148sd00009821*
+ ID_MODEL_FROM_DATABASE=SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T)
+
+pci:v00001148d00004300sv00001148sd00009822*
+ ID_MODEL_FROM_DATABASE=SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link)
+
+pci:v00001148d00004300sv00001148sd00009841*
+ ID_MODEL_FROM_DATABASE=SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX)
+
+pci:v00001148d00004300sv00001148sd00009842*
+ ID_MODEL_FROM_DATABASE=SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link)
+
+pci:v00001148d00004300sv00001148sd00009843*
+ ID_MODEL_FROM_DATABASE=SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX)
+
+pci:v00001148d00004300sv00001148sd00009844*
+ ID_MODEL_FROM_DATABASE=SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link)
+
+pci:v00001148d00004300sv00001148sd00009861*
+ ID_MODEL_FROM_DATABASE=SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition)
+
+pci:v00001148d00004300sv00001148sd00009862*
+ ID_MODEL_FROM_DATABASE=SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link)
+
+pci:v00001148d00004300sv00001148sd00009871*
+ ID_MODEL_FROM_DATABASE=SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX)
+
+pci:v00001148d00004300sv00001148sd00009872*
+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link)
+
+pci:v00001148d00004300sv00001259sd00002970*
+ ID_MODEL_FROM_DATABASE=AT-2970SX Gigabit Ethernet Adapter
+
+pci:v00001148d00004300sv00001259sd00002971*
+ ID_MODEL_FROM_DATABASE=AT-2970LX Gigabit Ethernet Adapter
+
+pci:v00001148d00004300sv00001259sd00002972*
+ ID_MODEL_FROM_DATABASE=AT-2970TX Gigabit Ethernet Adapter
+
+pci:v00001148d00004300sv00001259sd00002973*
+ ID_MODEL_FROM_DATABASE=AT-2971SX Gigabit Ethernet Adapter
+
+pci:v00001148d00004300sv00001259sd00002974*
+ ID_MODEL_FROM_DATABASE=AT-2971T Gigabit Ethernet Adapter
+
+pci:v00001148d00004300sv00001259sd00002975*
+ ID_MODEL_FROM_DATABASE=AT-2970SX/2SC Gigabit Ethernet Adapter
+
+pci:v00001148d00004300sv00001259sd00002976*
+ ID_MODEL_FROM_DATABASE=AT-2970LX/2SC Gigabit Ethernet Adapter
+
+pci:v00001148d00004300sv00001259sd00002977*
+ ID_MODEL_FROM_DATABASE=AT-2970TX/2TX Gigabit Ethernet Adapter
+
+pci:v00001148d00004320*
+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC
+
+pci:v00001148d00004320sv00001148sd00000121*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8001 Adapter
+
+pci:v00001148d00004320sv00001148sd00000221*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8002 Adapter
+
+pci:v00001148d00004320sv00001148sd00000321*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8003 Adapter
+
+pci:v00001148d00004320sv00001148sd00000421*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8004 Adapter
+
+pci:v00001148d00004320sv00001148sd00000621*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8006 Adapter
+
+pci:v00001148d00004320sv00001148sd00000721*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8007 Adapter
+
+pci:v00001148d00004320sv00001148sd00000821*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8008 Adapter
+
+pci:v00001148d00004320sv00001148sd00000921*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8009 Adapter
+
+pci:v00001148d00004320sv00001148sd00001121*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8011 Adapter
+
+pci:v00001148d00004320sv00001148sd00001221*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8012 Adapter
+
+pci:v00001148d00004320sv00001148sd00003221*
+ ID_MODEL_FROM_DATABASE=SK-9521 V2.0 10/100/1000Base-T Adapter
+
+pci:v00001148d00004320sv00001148sd00005021*
+ ID_MODEL_FROM_DATABASE=SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter
+
+pci:v00001148d00004320sv00001148sd00005041*
+ ID_MODEL_FROM_DATABASE=SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter
+
+pci:v00001148d00004320sv00001148sd00005043*
+ ID_MODEL_FROM_DATABASE=SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter
+
+pci:v00001148d00004320sv00001148sd00005051*
+ ID_MODEL_FROM_DATABASE=SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter
+
+pci:v00001148d00004320sv00001148sd00005061*
+ ID_MODEL_FROM_DATABASE=SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter
+
+pci:v00001148d00004320sv00001148sd00005071*
+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter
+
+pci:v00001148d00004320sv00001148sd00009521*
+ ID_MODEL_FROM_DATABASE=SK-9521 10/100/1000Base-T Adapter
+
+pci:v00001148d00004400*
+ ID_MODEL_FROM_DATABASE=SK-9Dxx Gigabit Ethernet Adapter
+
+pci:v00001148d00004500*
+ ID_MODEL_FROM_DATABASE=SK-9Mxx Gigabit Ethernet Adapter
+
+pci:v00001148d00009000*
+ ID_MODEL_FROM_DATABASE=SK-9S21 10/100/1000Base-T Server Adapter, PCI-X, Copper RJ-45
+
+pci:v00001148d00009843*
+ ID_MODEL_FROM_DATABASE=[Fujitsu] Gigabit Ethernet
+
+pci:v00001148d00009E00*
+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45
+
+pci:v00001148d00009E00sv00001148sd00002100*
+ ID_MODEL_FROM_DATABASE=SK-9E21 Server Adapter
+
+pci:v00001148d00009E00sv00001148sd000021D0*
+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter
+
+pci:v00001148d00009E00sv00001148sd00002200*
+ ID_MODEL_FROM_DATABASE=SK-9E22 Server Adapter
+
+pci:v00001148d00009E00sv00001148sd00008100*
+ ID_MODEL_FROM_DATABASE=SK-9E81 Server Adapter
+
+pci:v00001148d00009E00sv00001148sd00008200*
+ ID_MODEL_FROM_DATABASE=SK-9E82 Server Adapter
+
+pci:v00001148d00009E00sv00001148sd00009100*
+ ID_MODEL_FROM_DATABASE=SK-9E91 Server Adapter
+
+pci:v00001148d00009E00sv00001148sd00009200*
+ ID_MODEL_FROM_DATABASE=SK-9E92 Server Adapter
+
+pci:v00001148d00009E01*
+ ID_MODEL_FROM_DATABASE=SK-9E21M 10/100/1000Base-T Adapter
+
+pci:v00001149*
+ ID_VENDOR_FROM_DATABASE=Win System Corporation
+
+pci:v0000114A*
+ ID_VENDOR_FROM_DATABASE=VMIC
+
+pci:v0000114Ad00005565*
+ ID_MODEL_FROM_DATABASE=GE-IP PCI5565,PMC5565 Reflective Memory Node
+
+pci:v0000114Ad00005579*
+ ID_MODEL_FROM_DATABASE=VMIPCI-5579 (Reflective Memory Card)
+
+pci:v0000114Ad00005587*
+ ID_MODEL_FROM_DATABASE=VMIPCI-5587 (Reflective Memory Card)
+
+pci:v0000114Ad00006504*
+ ID_MODEL_FROM_DATABASE=VMIC PCI 7755 FPGA
+
+pci:v0000114Ad00007587*
+ ID_MODEL_FROM_DATABASE=VMIVME-7587
+
+pci:v0000114B*
+ ID_VENDOR_FROM_DATABASE=Canopus Co., Ltd
+
+pci:v0000114C*
+ ID_VENDOR_FROM_DATABASE=Annabooks
+
+pci:v0000114D*
+ ID_VENDOR_FROM_DATABASE=IC Corporation
+
+pci:v0000114E*
+ ID_VENDOR_FROM_DATABASE=Nikon Systems Inc
+
+pci:v0000114F*
+ ID_VENDOR_FROM_DATABASE=Digi International
+
+pci:v0000114Fd00000002*
+ ID_MODEL_FROM_DATABASE=AccelePort EPC
+
+pci:v0000114Fd00000003*
+ ID_MODEL_FROM_DATABASE=RightSwitch SE-6
+
+pci:v0000114Fd00000004*
+ ID_MODEL_FROM_DATABASE=AccelePort Xem
+
+pci:v0000114Fd00000005*
+ ID_MODEL_FROM_DATABASE=AccelePort Xr
+
+pci:v0000114Fd00000006*
+ ID_MODEL_FROM_DATABASE=AccelePort Xr,C/X
+
+pci:v0000114Fd00000009*
+ ID_MODEL_FROM_DATABASE=AccelePort Xr/J
+
+pci:v0000114Fd0000000A*
+ ID_MODEL_FROM_DATABASE=AccelePort EPC/J
+
+pci:v0000114Fd0000000C*
+ ID_MODEL_FROM_DATABASE=DataFirePRIme T1 (1-port)
+
+pci:v0000114Fd0000000D*
+ ID_MODEL_FROM_DATABASE=SyncPort 2-Port (x.25/FR)
+
+pci:v0000114Fd00000011*
+ ID_MODEL_FROM_DATABASE=AccelePort 8r EIA-232 (IBM)
+
+pci:v0000114Fd00000012*
+ ID_MODEL_FROM_DATABASE=AccelePort 8r EIA-422
+
+pci:v0000114Fd00000013*
+ ID_MODEL_FROM_DATABASE=AccelePort Xr
+
+pci:v0000114Fd00000014*
+ ID_MODEL_FROM_DATABASE=AccelePort 8r EIA-422
+
+pci:v0000114Fd00000015*
+ ID_MODEL_FROM_DATABASE=AccelePort Xem
+
+pci:v0000114Fd00000016*
+ ID_MODEL_FROM_DATABASE=AccelePort EPC/X
+
+pci:v0000114Fd00000017*
+ ID_MODEL_FROM_DATABASE=AccelePort C/X
+
+pci:v0000114Fd0000001A*
+ ID_MODEL_FROM_DATABASE=DataFirePRIme E1 (1-port)
+
+pci:v0000114Fd0000001B*
+ ID_MODEL_FROM_DATABASE=AccelePort C/X (IBM)
+
+pci:v0000114Fd0000001C*
+ ID_MODEL_FROM_DATABASE=AccelePort Xr (SAIP)
+
+pci:v0000114Fd0000001D*
+ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI
+
+pci:v0000114Fd0000001Dsv0000114Fsd00000050*
+ ID_MODEL_FROM_DATABASE=DataFire RAS E1 Adapter
+
+pci:v0000114Fd0000001Dsv0000114Fsd00000051*
+ ID_MODEL_FROM_DATABASE=DataFire RAS Dual E1 Adapter
+
+pci:v0000114Fd0000001Dsv0000114Fsd00000052*
+ ID_MODEL_FROM_DATABASE=DataFire RAS T1 Adapter
+
+pci:v0000114Fd0000001Dsv0000114Fsd00000053*
+ ID_MODEL_FROM_DATABASE=DataFire RAS Dual T1 Adapter
+
+pci:v0000114Fd00000023*
+ ID_MODEL_FROM_DATABASE=AccelePort RAS
+
+pci:v0000114Fd00000024*
+ ID_MODEL_FROM_DATABASE=DataFire RAS B4 ST/U
+
+pci:v0000114Fd00000024sv0000114Fsd00000030*
+ ID_MODEL_FROM_DATABASE=DataFire RAS BRI U Adapter
+
+pci:v0000114Fd00000024sv0000114Fsd00000031*
+ ID_MODEL_FROM_DATABASE=DataFire RAS BRI S/T Adapter
+
+pci:v0000114Fd00000026*
+ ID_MODEL_FROM_DATABASE=AccelePort 4r 920
+
+pci:v0000114Fd00000027*
+ ID_MODEL_FROM_DATABASE=AccelePort Xr 920
+
+pci:v0000114Fd00000028*
+ ID_MODEL_FROM_DATABASE=ClassicBoard 4
+
+pci:v0000114Fd00000029*
+ ID_MODEL_FROM_DATABASE=ClassicBoard 8
+
+pci:v0000114Fd00000034*
+ ID_MODEL_FROM_DATABASE=AccelePort 2r 920
+
+pci:v0000114Fd00000035*
+ ID_MODEL_FROM_DATABASE=DataFire DSP T1/E1/PRI cPCI
+
+pci:v0000114Fd00000040*
+ ID_MODEL_FROM_DATABASE=AccelePort Xp
+
+pci:v0000114Fd00000040sv0000114Fsd00000042*
+ ID_MODEL_FROM_DATABASE=AccelePort 2p PCI
+
+pci:v0000114Fd00000040sv0000114Fsd00000043*
+ ID_MODEL_FROM_DATABASE=AccelePort 4p PCI
+
+pci:v0000114Fd00000040sv0000114Fsd00000044*
+ ID_MODEL_FROM_DATABASE=AccelePort 8p PCI
+
+pci:v0000114Fd00000040sv0000114Fsd00000045*
+ ID_MODEL_FROM_DATABASE=AccelePort 16p PCI
+
+pci:v0000114Fd00000040sv0000114Fsd0000004E*
+ ID_MODEL_FROM_DATABASE=AccelePort 32p PCI
+
+pci:v0000114Fd00000042*
+ ID_MODEL_FROM_DATABASE=AccelePort 2p
+
+pci:v0000114Fd00000043*
+ ID_MODEL_FROM_DATABASE=AccelePort 4p
+
+pci:v0000114Fd00000044*
+ ID_MODEL_FROM_DATABASE=AccelePort 8p
+
+pci:v0000114Fd00000045*
+ ID_MODEL_FROM_DATABASE=AccelePort 16p
+
+pci:v0000114Fd0000004E*
+ ID_MODEL_FROM_DATABASE=AccelePort 32p
+
+pci:v0000114Fd00000070*
+ ID_MODEL_FROM_DATABASE=Datafire Micro V IOM2 (Europe)
+
+pci:v0000114Fd00000071*
+ ID_MODEL_FROM_DATABASE=Datafire Micro V (Europe)
+
+pci:v0000114Fd00000072*
+ ID_MODEL_FROM_DATABASE=Datafire Micro V IOM2 (North America)
+
+pci:v0000114Fd00000073*
+ ID_MODEL_FROM_DATABASE=Datafire Micro V (North America)
+
+pci:v0000114Fd000000B0*
+ ID_MODEL_FROM_DATABASE=Digi Neo 4
+
+pci:v0000114Fd000000B1*
+ ID_MODEL_FROM_DATABASE=Digi Neo 8
+
+pci:v0000114Fd000000C8*
+ ID_MODEL_FROM_DATABASE=Digi Neo 2 DB9
+
+pci:v0000114Fd000000C9*
+ ID_MODEL_FROM_DATABASE=Digi Neo 2 DB9 PRI
+
+pci:v0000114Fd000000CA*
+ ID_MODEL_FROM_DATABASE=Digi Neo 2 RJ45
+
+pci:v0000114Fd000000CB*
+ ID_MODEL_FROM_DATABASE=Digi Neo 2 RJ45 PRI
+
+pci:v0000114Fd000000CC*
+ ID_MODEL_FROM_DATABASE=Digi Neo 1 422
+
+pci:v0000114Fd000000CD*
+ ID_MODEL_FROM_DATABASE=Digi Neo 1 422 485
+
+pci:v0000114Fd000000CE*
+ ID_MODEL_FROM_DATABASE=Digi Neo 2 422 485
+
+pci:v0000114Fd000000D0*
+ ID_MODEL_FROM_DATABASE=ClassicBoard 4 422
+
+pci:v0000114Fd000000D1*
+ ID_MODEL_FROM_DATABASE=ClassicBoard 8 422
+
+pci:v0000114Fd000000F1*
+ ID_MODEL_FROM_DATABASE=Digi Neo PCI-E 4 port
+
+pci:v0000114Fd000000F4*
+ ID_MODEL_FROM_DATABASE=Digi Neo 4 (IBM version)
+
+pci:v0000114Fd00006001*
+ ID_MODEL_FROM_DATABASE=Avanstar
+
+pci:v00001150*
+ ID_VENDOR_FROM_DATABASE=Thinking Machines Corp
+
+pci:v00001151*
+ ID_VENDOR_FROM_DATABASE=JAE Electronics Inc.
+
+pci:v00001152*
+ ID_VENDOR_FROM_DATABASE=Megatek
+
+pci:v00001153*
+ ID_VENDOR_FROM_DATABASE=Land Win Electronic Corp
+
+pci:v00001154*
+ ID_VENDOR_FROM_DATABASE=Melco Inc
+
+pci:v00001155*
+ ID_VENDOR_FROM_DATABASE=Pine Technology Ltd
+
+pci:v00001156*
+ ID_VENDOR_FROM_DATABASE=Periscope Engineering
+
+pci:v00001157*
+ ID_VENDOR_FROM_DATABASE=Avsys Corporation
+
+pci:v00001158*
+ ID_VENDOR_FROM_DATABASE=Voarx R & D Inc
+
+pci:v00001158d00003011*
+ ID_MODEL_FROM_DATABASE=Tokenet/vg 1001/10m anylan
+
+pci:v00001158d00009050*
+ ID_MODEL_FROM_DATABASE=Lanfleet/Truevalue
+
+pci:v00001158d00009051*
+ ID_MODEL_FROM_DATABASE=Lanfleet/Truevalue
+
+pci:v00001159*
+ ID_VENDOR_FROM_DATABASE=Mutech Corp
+
+pci:v00001159d00000001*
+ ID_MODEL_FROM_DATABASE=MV-1000
+
+pci:v00001159d00000002*
+ ID_MODEL_FROM_DATABASE=MV-1500
+
+pci:v0000115A*
+ ID_VENDOR_FROM_DATABASE=Harlequin Ltd
+
+pci:v0000115B*
+ ID_VENDOR_FROM_DATABASE=Parallax Graphics
+
+pci:v0000115C*
+ ID_VENDOR_FROM_DATABASE=Photron Ltd.
+
+pci:v0000115D*
+ ID_VENDOR_FROM_DATABASE=Xircom
+
+pci:v0000115Dd00000003*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd00000003sv00001014sd00000181*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
+
+pci:v0000115Dd00000003sv00001014sd00001181*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
+
+pci:v0000115Dd00000003sv00001014sd00008181*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
+
+pci:v0000115Dd00000003sv00001014sd00009181*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
+
+pci:v0000115Dd00000003sv0000115Dsd00000181*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd00000003sv0000115Dsd00000182*
+ ID_MODEL_FROM_DATABASE=RealPort2 CardBus Ethernet 10/100 (R2BE-100)
+
+pci:v0000115Dd00000003sv0000115Dsd00001181*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd00000003sv00001179sd00000181*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd00000003sv00008086sd00008181*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 Adapter
+
+pci:v0000115Dd00000003sv00008086sd00009181*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 Adapter
+
+pci:v0000115Dd00000005*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd00000005sv00001014sd00000182*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
+
+pci:v0000115Dd00000005sv00001014sd00001182*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
+
+pci:v0000115Dd00000005sv0000115Dsd00000182*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd00000005sv0000115Dsd00001182*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd00000007*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd00000007sv00001014sd00000182*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
+
+pci:v0000115Dd00000007sv00001014sd00001182*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
+
+pci:v0000115Dd00000007sv0000115Dsd00000182*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd00000007sv0000115Dsd00001182*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd0000000B*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd0000000Bsv00001014sd00000183*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
+
+pci:v0000115Dd0000000Bsv0000115Dsd00000183*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd0000000C*
+ ID_MODEL_FROM_DATABASE=Mini-PCI V.90 56k Modem
+
+pci:v0000115Dd0000000F*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd0000000Fsv00001014sd00000183*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
+
+pci:v0000115Dd0000000Fsv0000115Dsd00000183*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100
+
+pci:v0000115Dd000000D4*
+ ID_MODEL_FROM_DATABASE=Mini-PCI K56Flex Modem
+
+pci:v0000115Dd00000101*
+ ID_MODEL_FROM_DATABASE=Cardbus 56k modem
+
+pci:v0000115Dd00000101sv0000115Dsd00001081*
+ ID_MODEL_FROM_DATABASE=Cardbus 56k Modem
+
+pci:v0000115Dd00000103*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem
+
+pci:v0000115Dd00000103sv00001014sd00009181*
+ ID_MODEL_FROM_DATABASE=Cardbus 56k Modem
+
+pci:v0000115Dd00000103sv00001115sd00001181*
+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 100 + 56k Modem
+
+pci:v0000115Dd00000103sv0000115Dsd00001181*
+ ID_MODEL_FROM_DATABASE=CBEM56G-100 Ethernet + 56k Modem
+
+pci:v0000115Dd00000103sv00008086sd00009181*
+ ID_MODEL_FROM_DATABASE=PRO/100 LAN + Modem56 CardBus
+
+pci:v0000115E*
+ ID_VENDOR_FROM_DATABASE=Peer Protocols Inc
+
+pci:v0000115F*
+ ID_VENDOR_FROM_DATABASE=Maxtor Corporation
+
+pci:v00001160*
+ ID_VENDOR_FROM_DATABASE=Megasoft Inc
+
+pci:v00001161*
+ ID_VENDOR_FROM_DATABASE=PFU Limited
+
+pci:v00001162*
+ ID_VENDOR_FROM_DATABASE=OA Laboratory Co Ltd
+
+pci:v00001163*
+ ID_VENDOR_FROM_DATABASE=Rendition
+
+pci:v00001163d00000001*
+ ID_MODEL_FROM_DATABASE=Verite 1000
+
+pci:v00001163d00002000*
+ ID_MODEL_FROM_DATABASE=Verite V2000/V2100/V2200
+
+pci:v00001163d00002000sv00001092sd00002000*
+ ID_MODEL_FROM_DATABASE=Stealth II S220
+
+pci:v00001164*
+ ID_VENDOR_FROM_DATABASE=Advanced Peripherals Technologies
+
+pci:v00001165*
+ ID_VENDOR_FROM_DATABASE=Imagraph Corporation
+
+pci:v00001165d00000001*
+ ID_MODEL_FROM_DATABASE=Motion TPEG Recorder/Player with audio
+
+pci:v00001166*
+ ID_VENDOR_FROM_DATABASE=Broadcom
+
+pci:v00001166d00000000*
+ ID_MODEL_FROM_DATABASE=CMIC-LE
+
+pci:v00001166d00000005*
+ ID_MODEL_FROM_DATABASE=CNB20-LE Host Bridge
+
+pci:v00001166d00000006*
+ ID_MODEL_FROM_DATABASE=CNB20HE Host Bridge
+
+pci:v00001166d00000007*
+ ID_MODEL_FROM_DATABASE=CNB20-LE Host Bridge
+
+pci:v00001166d00000008*
+ ID_MODEL_FROM_DATABASE=CNB20HE Host Bridge
+
+pci:v00001166d00000009*
+ ID_MODEL_FROM_DATABASE=CNB20LE Host Bridge
+
+pci:v00001166d00000010*
+ ID_MODEL_FROM_DATABASE=CIOB30
+
+pci:v00001166d00000011*
+ ID_MODEL_FROM_DATABASE=CMIC-HE
+
+pci:v00001166d00000012*
+ ID_MODEL_FROM_DATABASE=CMIC-WS Host Bridge (GC-LE chipset)
+
+pci:v00001166d00000013*
+ ID_MODEL_FROM_DATABASE=CNB20-HE Host Bridge
+
+pci:v00001166d00000014*
+ ID_MODEL_FROM_DATABASE=CMIC-LE Host Bridge (GC-LE chipset)
+
+pci:v00001166d00000015*
+ ID_MODEL_FROM_DATABASE=CMIC-GC Host Bridge
+
+pci:v00001166d00000016*
+ ID_MODEL_FROM_DATABASE=CMIC-GC Host Bridge
+
+pci:v00001166d00000017*
+ ID_MODEL_FROM_DATABASE=GCNB-LE Host Bridge
+
+pci:v00001166d00000031*
+ ID_MODEL_FROM_DATABASE=HT1100 HPX0 HT Host Bridge
+
+pci:v00001166d00000036*
+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] PCI/PCI-X Bridge
+
+pci:v00001166d00000101*
+ ID_MODEL_FROM_DATABASE=CIOB-X2 PCI-X I/O Bridge
+
+pci:v00001166d00000103*
+ ID_MODEL_FROM_DATABASE=EPB PCI-Express to PCI-X Bridge
+
+pci:v00001166d00000104*
+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] PCI/PCI-X Bridge
+
+pci:v00001166d00000110*
+ ID_MODEL_FROM_DATABASE=CIOB-E I/O Bridge with Gigabit Ethernet
+
+pci:v00001166d00000130*
+ ID_MODEL_FROM_DATABASE=BCM5780 [HT2000] PCI-X bridge
+
+pci:v00001166d00000132*
+ ID_MODEL_FROM_DATABASE=BCM5780 [HT2000] PCI-Express Bridge
+
+pci:v00001166d00000132sv00001166sd00000132*
+ ID_MODEL_FROM_DATABASE=HT2000 PCI-Express bridge
+
+pci:v00001166d00000140*
+ ID_MODEL_FROM_DATABASE=HT2100 PCI-Express Bridge
+
+pci:v00001166d00000141*
+ ID_MODEL_FROM_DATABASE=HT2100 PCI-Express Bridge
+
+pci:v00001166d00000142*
+ ID_MODEL_FROM_DATABASE=HT2100 PCI-Express Bridge
+
+pci:v00001166d00000144*
+ ID_MODEL_FROM_DATABASE=HT2100 PCI-Express Bridge
+
+pci:v00001166d00000200*
+ ID_MODEL_FROM_DATABASE=OSB4 South Bridge
+
+pci:v00001166d00000201*
+ ID_MODEL_FROM_DATABASE=CSB5 South Bridge
+
+pci:v00001166d00000201sv00004C53sd00001080*
+ ID_MODEL_FROM_DATABASE=CT8 mainboard
+
+pci:v00001166d00000203*
+ ID_MODEL_FROM_DATABASE=CSB6 South Bridge
+
+pci:v00001166d00000203sv00001734sd00001012*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series
+
+pci:v00001166d00000205*
+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] Legacy South Bridge
+
+pci:v00001166d00000211*
+ ID_MODEL_FROM_DATABASE=OSB4 IDE Controller
+
+pci:v00001166d00000212*
+ ID_MODEL_FROM_DATABASE=CSB5 IDE Controller
+
+pci:v00001166d00000212sv00001028sd0000014A*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1750
+
+pci:v00001166d00000212sv00001028sd0000810B*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1650/2550
+
+pci:v00001166d00000212sv00004C53sd00001080*
+ ID_MODEL_FROM_DATABASE=CT8 mainboard
+
+pci:v00001166d00000213*
+ ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller
+
+pci:v00001166d00000213sv00001028sd00004134*
+ ID_MODEL_FROM_DATABASE=PowerEdge 600SC
+
+pci:v00001166d00000213sv00001028sd0000C134*
+ ID_MODEL_FROM_DATABASE=Poweredge SC600
+
+pci:v00001166d00000213sv00001734sd00001012*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard IDE
+
+pci:v00001166d00000214*
+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] IDE
+
+pci:v00001166d00000214sv00001028sd00000205*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 IDE
+
+pci:v00001166d00000217*
+ ID_MODEL_FROM_DATABASE=CSB6 IDE Controller
+
+pci:v00001166d00000217sv00001028sd00004134*
+ ID_MODEL_FROM_DATABASE=Poweredge SC600
+
+pci:v00001166d0000021B*
+ ID_MODEL_FROM_DATABASE=HT1100 HD Audio
+
+pci:v00001166d00000220*
+ ID_MODEL_FROM_DATABASE=OSB4/CSB5 OHCI USB Controller
+
+pci:v00001166d00000220sv00004C53sd00001080*
+ ID_MODEL_FROM_DATABASE=CT8 mainboard
+
+pci:v00001166d00000221*
+ ID_MODEL_FROM_DATABASE=CSB6 OHCI USB Controller
+
+pci:v00001166d00000221sv00001734sd00001012*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard OHCI
+
+pci:v00001166d00000223*
+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] USB
+
+pci:v00001166d00000223sv00001028sd00000205*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 USB Controller
+
+pci:v00001166d00000223sv00001028sd0000020B*
+ ID_MODEL_FROM_DATABASE=PowerEdge T605 HT1000 USB Controller
+
+pci:v00001166d00000225*
+ ID_MODEL_FROM_DATABASE=CSB5 LPC bridge
+
+pci:v00001166d00000227*
+ ID_MODEL_FROM_DATABASE=GCLE-2 Host Bridge
+
+pci:v00001166d00000227sv00001734sd00001012*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series
+
+pci:v00001166d00000230*
+ ID_MODEL_FROM_DATABASE=CSB5 LPC bridge
+
+pci:v00001166d00000230sv00004C53sd00001080*
+ ID_MODEL_FROM_DATABASE=CT8 mainboard
+
+pci:v00001166d00000234*
+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] LPC
+
+pci:v00001166d00000234sv00001028sd00000205*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 LPC
+
+pci:v00001166d00000234sv00001028sd0000020B*
+ ID_MODEL_FROM_DATABASE=PowerEdge T605 HT1000 LPC
+
+pci:v00001166d00000235*
+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] XIOAPIC0-2
+
+pci:v00001166d00000238*
+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] WDTimer
+
+pci:v00001166d00000240*
+ ID_MODEL_FROM_DATABASE=K2 SATA
+
+pci:v00001166d00000241*
+ ID_MODEL_FROM_DATABASE=RAIDCore RC4000
+
+pci:v00001166d00000242*
+ ID_MODEL_FROM_DATABASE=RAIDCore BC4000
+
+pci:v00001166d0000024A*
+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (Native SATA Mode)
+
+pci:v00001166d0000024Asv00001028sd0000020B*
+ ID_MODEL_FROM_DATABASE=PowerEdge T605 onboard SATA Controller
+
+pci:v00001166d0000024B*
+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (PATA/IDE Mode)
+
+pci:v00001166d0000024Bsv00001028sd00000205*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 SATA controller
+
+pci:v00001166d00000406*
+ ID_MODEL_FROM_DATABASE=HT1100 PCI-X Bridge
+
+pci:v00001166d00000408*
+ ID_MODEL_FROM_DATABASE=HT1100 Legacy Device
+
+pci:v00001166d0000040A*
+ ID_MODEL_FROM_DATABASE=HT1100 ISA-LPC Bridge
+
+pci:v00001166d0000040Asv00001028sd00000223*
+ ID_MODEL_FROM_DATABASE=PowerEdge R905 HT1100 ISA-LPC Bridge
+
+pci:v00001166d00000410*
+ ID_MODEL_FROM_DATABASE=HT1100 SATA Controller (Native SATA Mode)
+
+pci:v00001166d00000411*
+ ID_MODEL_FROM_DATABASE=HT1100 SATA Controller (PATA / IDE Mode)
+
+pci:v00001166d00000412*
+ ID_MODEL_FROM_DATABASE=HT1100 USB OHCI Controller
+
+pci:v00001166d00000414*
+ ID_MODEL_FROM_DATABASE=HT1100 USB EHCI Controller
+
+pci:v00001166d00000416*
+ ID_MODEL_FROM_DATABASE=HT1100 USB EHCI Controller (with Debug Port)
+
+pci:v00001166d00000420*
+ ID_MODEL_FROM_DATABASE=HT1100 PCI-Express Bridge
+
+pci:v00001166d00000421*
+ ID_MODEL_FROM_DATABASE=HT1100 SAS/SATA Controller
+
+pci:v00001166d00000422*
+ ID_MODEL_FROM_DATABASE=HT1100 PCI-Express Bridge
+
+pci:v00001167*
+ ID_VENDOR_FROM_DATABASE=Mutoh Industries Inc
+
+pci:v00001168*
+ ID_VENDOR_FROM_DATABASE=Thine Electronics Inc
+
+pci:v00001169*
+ ID_VENDOR_FROM_DATABASE=Centre for Development of Advanced Computing
+
+pci:v0000116A*
+ ID_VENDOR_FROM_DATABASE=Luminex Software, Inc.
+
+pci:v0000116Ad00006100*
+ ID_MODEL_FROM_DATABASE=Bus/Tag Channel
+
+pci:v0000116Ad00006800*
+ ID_MODEL_FROM_DATABASE=Escon Channel
+
+pci:v0000116Ad00007100*
+ ID_MODEL_FROM_DATABASE=Bus/Tag Channel
+
+pci:v0000116Ad00007800*
+ ID_MODEL_FROM_DATABASE=Escon Channel
+
+pci:v0000116B*
+ ID_VENDOR_FROM_DATABASE=Connectware Inc
+
+pci:v0000116C*
+ ID_VENDOR_FROM_DATABASE=Intelligent Resources Integrated Systems
+
+pci:v0000116D*
+ ID_VENDOR_FROM_DATABASE=Martin-Marietta
+
+pci:v0000116E*
+ ID_VENDOR_FROM_DATABASE=Electronics for Imaging
+
+pci:v0000116F*
+ ID_VENDOR_FROM_DATABASE=Workstation Technology
+
+pci:v00001170*
+ ID_VENDOR_FROM_DATABASE=Inventec Corporation
+
+pci:v00001171*
+ ID_VENDOR_FROM_DATABASE=Loughborough Sound Images Plc
+
+pci:v00001172*
+ ID_VENDOR_FROM_DATABASE=Altera Corporation
+
+pci:v00001173*
+ ID_VENDOR_FROM_DATABASE=Adobe Systems, Inc
+
+pci:v00001174*
+ ID_VENDOR_FROM_DATABASE=Bridgeport Machines
+
+pci:v00001175*
+ ID_VENDOR_FROM_DATABASE=Mitron Computer Inc.
+
+pci:v00001176*
+ ID_VENDOR_FROM_DATABASE=SBE Incorporated
+
+pci:v00001177*
+ ID_VENDOR_FROM_DATABASE=Silicon Engineering
+
+pci:v00001178*
+ ID_VENDOR_FROM_DATABASE=Alfa, Inc.
+
+pci:v00001178d0000AFA1*
+ ID_MODEL_FROM_DATABASE=Fast Ethernet Adapter
+
+pci:v00001179*
+ ID_VENDOR_FROM_DATABASE=Toshiba America Info Systems
+
+pci:v00001179d00000102*
+ ID_MODEL_FROM_DATABASE=Extended IDE Controller
+
+pci:v00001179d00000103*
+ ID_MODEL_FROM_DATABASE=EX-IDE Type-B
+
+pci:v00001179d00000404*
+ ID_MODEL_FROM_DATABASE=DVD Decoder card
+
+pci:v00001179d00000406*
+ ID_MODEL_FROM_DATABASE=Tecra Video Capture device
+
+pci:v00001179d00000407*
+ ID_MODEL_FROM_DATABASE=DVD Decoder card (Version 2)
+
+pci:v00001179d00000601*
+ ID_MODEL_FROM_DATABASE=CPU to PCI bridge
+
+pci:v00001179d00000601sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Satellite Pro
+
+pci:v00001179d00000602*
+ ID_MODEL_FROM_DATABASE=PCI to ISA bridge
+
+pci:v00001179d00000603*
+ ID_MODEL_FROM_DATABASE=ToPIC95 PCI to CardBus Bridge for Notebooks
+
+pci:v00001179d00000604*
+ ID_MODEL_FROM_DATABASE=PCI-Docking Host bridge
+
+pci:v00001179d0000060A*
+ ID_MODEL_FROM_DATABASE=ToPIC95
+
+pci:v00001179d0000060Asv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Satellite Pro
+
+pci:v00001179d0000060F*
+ ID_MODEL_FROM_DATABASE=ToPIC97
+
+pci:v00001179d0000060Fsv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Satellite 4010
+
+pci:v00001179d00000617*
+ ID_MODEL_FROM_DATABASE=ToPIC100 PCI to Cardbus Bridge with ZV Support
+
+pci:v00001179d00000618*
+ ID_MODEL_FROM_DATABASE=CPU to PCI and PCI to ISA bridge
+
+pci:v00001179d00000701*
+ ID_MODEL_FROM_DATABASE=FIR Port Type-O
+
+pci:v00001179d00000804*
+ ID_MODEL_FROM_DATABASE=TC6371AF SmartMedia Controller
+
+pci:v00001179d00000805*
+ ID_MODEL_FROM_DATABASE=SD TypA Controller
+
+pci:v00001179d00000D01*
+ ID_MODEL_FROM_DATABASE=FIR Port Type-DO
+
+pci:v00001179d00000D01sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=FIR Port Type-DO
+
+pci:v0000117A*
+ ID_VENDOR_FROM_DATABASE=A-Trend Technology
+
+pci:v0000117B*
+ ID_VENDOR_FROM_DATABASE=L G Electronics, Inc.
+
+pci:v0000117C*
+ ID_VENDOR_FROM_DATABASE=ATTO Technology, Inc.
+
+pci:v0000117Cd0000002C*
+ ID_MODEL_FROM_DATABASE=SAS RAID Adapter
+
+pci:v0000117Cd00000030*
+ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter
+
+pci:v0000117Cd00000030sv0000117Csd00008013*
+ ID_MODEL_FROM_DATABASE=ExpressPCI UL4D
+
+pci:v0000117Cd00000030sv0000117Csd00008014*
+ ID_MODEL_FROM_DATABASE=ExpressPCI UL4S
+
+pci:v0000117Cd00000030sv0000117Csd00008027*
+ ID_MODEL_FROM_DATABASE=ExpressPCI UL5D
+
+pci:v0000117Cd00000030sv0000117Csd0000802F*
+ ID_MODEL_FROM_DATABASE=ExpressPCI UL5D Low Profile
+
+pci:v0000117Cd00000033*
+ ID_MODEL_FROM_DATABASE=SAS Adapter
+
+pci:v0000117D*
+ ID_VENDOR_FROM_DATABASE=Becton & Dickinson
+
+pci:v0000117E*
+ ID_VENDOR_FROM_DATABASE=T/R Systems
+
+pci:v0000117F*
+ ID_VENDOR_FROM_DATABASE=Integrated Circuit Systems
+
+pci:v00001180*
+ ID_VENDOR_FROM_DATABASE=Ricoh Co Ltd
+
+pci:v00001180d00000465*
+ ID_MODEL_FROM_DATABASE=RL5c465
+
+pci:v00001180d00000466*
+ ID_MODEL_FROM_DATABASE=RL5c466
+
+pci:v00001180d00000475*
+ ID_MODEL_FROM_DATABASE=RL5c475
+
+pci:v00001180d00000475sv0000144Dsd0000C006*
+ ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 CardBus bridge
+
+pci:v00001180d00000476*
+ ID_MODEL_FROM_DATABASE=RL5c476 II
+
+pci:v00001180d00000476sv00001014sd00000185*
+ ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series
+
+pci:v00001180d00000476sv00001014sd0000056C*
+ ID_MODEL_FROM_DATABASE=ThinkPad Z60t
+
+pci:v00001180d00000476sv00001028sd0000014F*
+ ID_MODEL_FROM_DATABASE=Latitude X300 laptop
+
+pci:v00001180d00000476sv00001028sd00000188*
+ ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop
+
+pci:v00001180d00000476sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00001180d00000476sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00001180d00000476sv00001043sd00001237*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v00001180d00000476sv00001043sd00001967*
+ ID_MODEL_FROM_DATABASE=V6800V
+
+pci:v00001180d00000476sv00001043sd00001987*
+ ID_MODEL_FROM_DATABASE=Asus A4K and Z81K notebooks, possibly others ( mid-2005 machines )
+
+pci:v00001180d00000476sv0000104Dsd000080DF*
+ ID_MODEL_FROM_DATABASE=Vaio PCG-FX403
+
+pci:v00001180d00000476sv0000104Dsd000080E7*
+ ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
+
+pci:v00001180d00000476sv0000104Dsd0000814E*
+ ID_MODEL_FROM_DATABASE=VAIO GRZ390Z
+
+pci:v00001180d00000476sv000010F7sd00008338*
+ ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop
+
+pci:v00001180d00000476sv0000144Dsd0000C005*
+ ID_MODEL_FROM_DATABASE=X10 Laptop
+
+pci:v00001180d00000476sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30/P35 notebook
+
+pci:v00001180d00000476sv000014EFsd00000220*
+ ID_MODEL_FROM_DATABASE=PCD-RP-220S
+
+pci:v00001180d00000476sv000017AAsd0000201C*
+ ID_MODEL_FROM_DATABASE=ThinkPad X60s
+
+pci:v00001180d00000476sv000017AAsd000020C4*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00001180d00000477*
+ ID_MODEL_FROM_DATABASE=RL5c477
+
+pci:v00001180d00000478*
+ ID_MODEL_FROM_DATABASE=RL5c478
+
+pci:v00001180d00000478sv00001014sd00000184*
+ ID_MODEL_FROM_DATABASE=ThinkPad A30p
+
+pci:v00001180d00000511*
+ ID_MODEL_FROM_DATABASE=R5C511
+
+pci:v00001180d00000522*
+ ID_MODEL_FROM_DATABASE=R5C522 IEEE 1394 Controller
+
+pci:v00001180d00000522sv00001014sd000001CF*
+ ID_MODEL_FROM_DATABASE=ThinkPad A30p
+
+pci:v00001180d00000522sv00001043sd00001967*
+ ID_MODEL_FROM_DATABASE=V6800V
+
+pci:v00001180d00000551*
+ ID_MODEL_FROM_DATABASE=R5C551 IEEE 1394 Controller
+
+pci:v00001180d00000551sv0000144Dsd0000C006*
+ ID_MODEL_FROM_DATABASE=vpr Matrix 170B4
+
+pci:v00001180d00000552*
+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller
+
+pci:v00001180d00000552sv00001014sd00000511*
+ ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series
+
+pci:v00001180d00000552sv00001028sd0000014F*
+ ID_MODEL_FROM_DATABASE=Latitude X300 laptop
+
+pci:v00001180d00000552sv00001028sd00000188*
+ ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop
+
+pci:v00001180d00000552sv00001043sd00001237*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v00001180d00000552sv00001043sd00001757*
+ ID_MODEL_FROM_DATABASE=M2400N laptop
+
+pci:v00001180d00000552sv0000144Dsd0000C005*
+ ID_MODEL_FROM_DATABASE=X10 Laptop
+
+pci:v00001180d00000552sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30/P35 notebook
+
+pci:v00001180d00000552sv000017AAsd0000201E*
+ ID_MODEL_FROM_DATABASE=ThinkPad X60s
+
+pci:v00001180d00000554*
+ ID_MODEL_FROM_DATABASE=R5C554
+
+pci:v00001180d00000575*
+ ID_MODEL_FROM_DATABASE=R5C575 SD Bus Host Adapter
+
+pci:v00001180d00000576*
+ ID_MODEL_FROM_DATABASE=R5C576 SD Bus Host Adapter
+
+pci:v00001180d00000592*
+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter
+
+pci:v00001180d00000592sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00001180d00000592sv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00001180d00000592sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00001180d00000592sv0000103Csd000030B5*
+ ID_MODEL_FROM_DATABASE=Presario V3242AU
+
+pci:v00001180d00000592sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v00001180d00000592sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00001180d00000592sv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v00001180d00000592sv00001043sd00001237*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v00001180d00000592sv00001043sd00001967*
+ ID_MODEL_FROM_DATABASE=V6800V
+
+pci:v00001180d00000592sv0000144Dsd0000C018*
+ ID_MODEL_FROM_DATABASE=X20 IV
+
+pci:v00001180d00000592sv000017AAsd000020CA*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00001180d00000811*
+ ID_MODEL_FROM_DATABASE=R5C811
+
+pci:v00001180d00000822*
+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter
+
+pci:v00001180d00000822sv00001014sd00000556*
+ ID_MODEL_FROM_DATABASE=ThinkPad X60s / Z60t
+
+pci:v00001180d00000822sv00001014sd00000598*
+ ID_MODEL_FROM_DATABASE=ThinkPad Z60m
+
+pci:v00001180d00000822sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00001180d00000822sv00001028sd00000188*
+ ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop
+
+pci:v00001180d00000822sv00001028sd000001A2*
+ ID_MODEL_FROM_DATABASE=Inspiron 9200
+
+pci:v00001180d00000822sv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00001180d00000822sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00001180d00000822sv0000103Csd000003B5*
+ ID_MODEL_FROM_DATABASE=Presario V3242AU
+
+pci:v00001180d00000822sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v00001180d00000822sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00001180d00000822sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00001180d00000822sv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v00001180d00000822sv00001043sd00001237*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v00001180d00000822sv00001043sd00001967*
+ ID_MODEL_FROM_DATABASE=ASUS V6800V
+
+pci:v00001180d00000822sv000010F7sd00008338*
+ ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop
+
+pci:v00001180d00000822sv0000144Dsd0000C018*
+ ID_MODEL_FROM_DATABASE=X20 IV
+
+pci:v00001180d00000822sv000017AAsd0000201D*
+ ID_MODEL_FROM_DATABASE=ThinkPad X60s
+
+pci:v00001180d00000822sv000017AAsd000020C7*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00001180d00000822sv000017AAsd000020C8*
+ ID_MODEL_FROM_DATABASE=ThinkPad W500
+
+pci:v00001180d00000832*
+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller
+
+pci:v00001180d00000832sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00001180d00000832sv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00001180d00000832sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00001180d00000832sv0000103Csd000030B5*
+ ID_MODEL_FROM_DATABASE=Presario V3242AU
+
+pci:v00001180d00000832sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v00001180d00000832sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00001180d00000832sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00001180d00000832sv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v00001180d00000841*
+ ID_MODEL_FROM_DATABASE=R5C841 CardBus/SD/SDIO/MMC/MS/MSPro/xD/IEEE1394
+
+pci:v00001180d00000843*
+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller
+
+pci:v00001180d00000843sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00001180d00000843sv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00001180d00000843sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00001180d00000843sv00001028sd000001F5*
+ ID_MODEL_FROM_DATABASE=Dell Inspiron 1501
+
+pci:v00001180d00000843sv00001028sd0000024F*
+ ID_MODEL_FROM_DATABASE=Dell Latitude e6500
+
+pci:v00001180d00000843sv0000103Csd000003B5*
+ ID_MODEL_FROM_DATABASE=Presario V3242AU
+
+pci:v00001180d00000843sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v00001180d00000843sv00001183sd00000843*
+ ID_MODEL_FROM_DATABASE=Alienware Aurora m9700
+
+pci:v00001180d00000852*
+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller
+
+pci:v00001180d00000852sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00001180d00000852sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00001180d00000852sv0000103Csd000030B5*
+ ID_MODEL_FROM_DATABASE=Presario V3242AU
+
+pci:v00001180d00000852sv0000103Csd000030B7*
+ ID_MODEL_FROM_DATABASE=Presario V6133CL
+
+pci:v00001180d00000852sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00001180d00000852sv0000103Csd000030CF*
+ ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop
+
+pci:v00001180d00000852sv00001043sd00001967*
+ ID_MODEL_FROM_DATABASE=V6800V
+
+pci:v00001180d00000852sv00001180sd00000852*
+ ID_MODEL_FROM_DATABASE=Pavilion 2410us
+
+pci:v00001180d00000852sv00001324sd000010CF*
+ ID_MODEL_FROM_DATABASE=P7120
+
+pci:v00001180d0000E230*
+ ID_MODEL_FROM_DATABASE=R5U2xx (R5U230 / R5U231 / R5U241) [Memory Stick Host Controller]
+
+pci:v00001180d0000E476*
+ ID_MODEL_FROM_DATABASE=CardBus bridge
+
+pci:v00001180d0000E476sv00001028sd0000040A*
+ ID_MODEL_FROM_DATABASE=Latitude E6410
+
+pci:v00001180d0000E476sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00001180d0000E822*
+ ID_MODEL_FROM_DATABASE=MMC/SD Host Controller
+
+pci:v00001180d0000E822sv00001028sd0000040A*
+ ID_MODEL_FROM_DATABASE=Latitude E6410
+
+pci:v00001180d0000E822sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00001180d0000E823*
+ ID_MODEL_FROM_DATABASE=PCIe SDXC/MMC Host Controller
+
+pci:v00001180d0000E832*
+ ID_MODEL_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller
+
+pci:v00001180d0000E832sv00001028sd0000040A*
+ ID_MODEL_FROM_DATABASE=Latitude E6410
+
+pci:v00001180d0000E832sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00001180d0000E852*
+ ID_MODEL_FROM_DATABASE=PCIe xD-Picture Card Controller
+
+pci:v00001181*
+ ID_VENDOR_FROM_DATABASE=Telmatics International
+
+pci:v00001183*
+ ID_VENDOR_FROM_DATABASE=Fujikura Ltd
+
+pci:v00001184*
+ ID_VENDOR_FROM_DATABASE=Forks Inc
+
+pci:v00001185*
+ ID_VENDOR_FROM_DATABASE=Dataworld International Ltd
+
+pci:v00001186*
+ ID_VENDOR_FROM_DATABASE=D-Link System Inc
+
+pci:v00001186d00001002*
+ ID_MODEL_FROM_DATABASE=DL10050 Sundance Ethernet
+
+pci:v00001186d00001002sv00001186sd00001002*
+ ID_MODEL_FROM_DATABASE=DFE-550TX/FX
+
+pci:v00001186d00001002sv00001186sd00001012*
+ ID_MODEL_FROM_DATABASE=DFE-580TX
+
+pci:v00001186d00001025*
+ ID_MODEL_FROM_DATABASE=AirPlus Xtreme G DWL-G650 Adapter
+
+pci:v00001186d00001026*
+ ID_MODEL_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter
+
+pci:v00001186d00001043*
+ ID_MODEL_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter
+
+pci:v00001186d00001300*
+ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet
+
+pci:v00001186d00001300sv00001186sd00001300*
+ ID_MODEL_FROM_DATABASE=DFE-538TX 10/100 Ethernet Adapter
+
+pci:v00001186d00001300sv00001186sd00001301*
+ ID_MODEL_FROM_DATABASE=DFE-530TX+ 10/100 Ethernet Adapter
+
+pci:v00001186d00001300sv00001186sd00001303*
+ ID_MODEL_FROM_DATABASE=DFE-528TX 10/100 Fast Ethernet PCI Adapter
+
+pci:v00001186d00001340*
+ ID_MODEL_FROM_DATABASE=DFE-690TXD CardBus PC Card
+
+pci:v00001186d00001540*
+ ID_MODEL_FROM_DATABASE=DFE-680TX
+
+pci:v00001186d00001541*
+ ID_MODEL_FROM_DATABASE=DFE-680TXD CardBus PC Card
+
+pci:v00001186d00001561*
+ ID_MODEL_FROM_DATABASE=DRP-32TXD Cardbus PC Card
+
+pci:v00001186d00003300*
+ ID_MODEL_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L]
+
+pci:v00001186d00003300sv00001186sd00003300*
+ ID_MODEL_FROM_DATABASE=DWL-610 Wireless Cardbus Adapter
+
+pci:v00001186d00003300sv00001186sd00003301*
+ ID_MODEL_FROM_DATABASE=DWL-510 Wireless PCI Adapter
+
+pci:v00001186d00003A10*
+ ID_MODEL_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter(rev.B)
+
+pci:v00001186d00003A11*
+ ID_MODEL_FROM_DATABASE=AirXpert DWL-AG520 Wireless PCI Adapter(rev.B)
+
+pci:v00001186d00004000*
+ ID_MODEL_FROM_DATABASE=DL2000-based Gigabit Ethernet
+
+pci:v00001186d00004001*
+ ID_MODEL_FROM_DATABASE=DGE-550SX PCI-X Gigabit Ethernet Adapter
+
+pci:v00001186d00004300*
+ ID_MODEL_FROM_DATABASE=DGE-528T Gigabit Ethernet Adapter
+
+pci:v00001186d00004300sv00001186sd00004B10*
+ ID_MODEL_FROM_DATABASE=DGE-560T PCI Express (x1) Gigabit Ethernet Adapter
+
+pci:v00001186d00004302*
+ ID_MODEL_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter (rev.C1) [Realtek RTL8169]
+
+pci:v00001186d00004B00*
+ ID_MODEL_FROM_DATABASE=DGE-560T PCI Express Gigabit Ethernet Adapter
+
+pci:v00001186d00004B01*
+ ID_MODEL_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter (rev 11)
+
+pci:v00001186d00004B02*
+ ID_MODEL_FROM_DATABASE=DGE-560SX PCI Express Gigabit Ethernet Adapter
+
+pci:v00001186d00004B03*
+ ID_MODEL_FROM_DATABASE=DGE-550T Gigabit Ethernet Adapter V.B1
+
+pci:v00001186d00004C00*
+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter
+
+pci:v00001186d00004C00sv00001186sd00004C00*
+ ID_MODEL_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter
+
+pci:v00001186d00008400*
+ ID_MODEL_FROM_DATABASE=D-Link DWL-650+ CardBus PC Card
+
+pci:v00001187*
+ ID_VENDOR_FROM_DATABASE=Advanced Technology Laboratories, Inc.
+
+pci:v00001188*
+ ID_VENDOR_FROM_DATABASE=Shima Seiki Manufacturing Ltd.
+
+pci:v00001189*
+ ID_VENDOR_FROM_DATABASE=Matsushita Electronics Co Ltd
+
+pci:v0000118A*
+ ID_VENDOR_FROM_DATABASE=Hilevel Technology
+
+pci:v0000118B*
+ ID_VENDOR_FROM_DATABASE=Hypertec Pty Limited
+
+pci:v0000118C*
+ ID_VENDOR_FROM_DATABASE=Corollary, Inc
+
+pci:v0000118Cd00000014*
+ ID_MODEL_FROM_DATABASE=PCIB [C-bus II to PCI bus host bridge chip]
+
+pci:v0000118Cd00001117*
+ ID_MODEL_FROM_DATABASE=Intel 8-way XEON Profusion Chipset [Cache Coherency Filter]
+
+pci:v0000118D*
+ ID_VENDOR_FROM_DATABASE=BitFlow Inc
+
+pci:v0000118Dd00000001*
+ ID_MODEL_FROM_DATABASE=Raptor-PCI framegrabber
+
+pci:v0000118Dd00000012*
+ ID_MODEL_FROM_DATABASE=Model 12 Road Runner Frame Grabber
+
+pci:v0000118Dd00000014*
+ ID_MODEL_FROM_DATABASE=Model 14 Road Runner Frame Grabber
+
+pci:v0000118Dd00000024*
+ ID_MODEL_FROM_DATABASE=Model 24 Road Runner Frame Grabber
+
+pci:v0000118Dd00000044*
+ ID_MODEL_FROM_DATABASE=Model 44 Road Runner Frame Grabber
+
+pci:v0000118Dd00000112*
+ ID_MODEL_FROM_DATABASE=Model 12 Road Runner Frame Grabber
+
+pci:v0000118Dd00000114*
+ ID_MODEL_FROM_DATABASE=Model 14 Road Runner Frame Grabber
+
+pci:v0000118Dd00000124*
+ ID_MODEL_FROM_DATABASE=Model 24 Road Runner Frame Grabber
+
+pci:v0000118Dd00000144*
+ ID_MODEL_FROM_DATABASE=Model 44 Road Runner Frame Grabber
+
+pci:v0000118Dd00000212*
+ ID_MODEL_FROM_DATABASE=Model 12 Road Runner Frame Grabber
+
+pci:v0000118Dd00000214*
+ ID_MODEL_FROM_DATABASE=Model 14 Road Runner Frame Grabber
+
+pci:v0000118Dd00000224*
+ ID_MODEL_FROM_DATABASE=Model 24 Road Runner Frame Grabber
+
+pci:v0000118Dd00000244*
+ ID_MODEL_FROM_DATABASE=Model 44 Road Runner Frame Grabber
+
+pci:v0000118Dd00000312*
+ ID_MODEL_FROM_DATABASE=Model 12 Road Runner Frame Grabber
+
+pci:v0000118Dd00000314*
+ ID_MODEL_FROM_DATABASE=Model 14 Road Runner Frame Grabber
+
+pci:v0000118Dd00000324*
+ ID_MODEL_FROM_DATABASE=Model 24 Road Runner Frame Grabber
+
+pci:v0000118Dd00000344*
+ ID_MODEL_FROM_DATABASE=Model 44 Road Runner Frame Grabber
+
+pci:v0000118E*
+ ID_VENDOR_FROM_DATABASE=Hermstedt GmbH
+
+pci:v0000118F*
+ ID_VENDOR_FROM_DATABASE=Green Logic
+
+pci:v00001190*
+ ID_VENDOR_FROM_DATABASE=Tripace
+
+pci:v00001190d0000C731*
+ ID_MODEL_FROM_DATABASE=TP-910/920/940 PCI Ultra(Wide) SCSI Adapter
+
+pci:v00001191*
+ ID_VENDOR_FROM_DATABASE=Artop Electronic Corp
+
+pci:v00001191d00000003*
+ ID_MODEL_FROM_DATABASE=SCSI Cache Host Adapter
+
+pci:v00001191d00000004*
+ ID_MODEL_FROM_DATABASE=ATP8400
+
+pci:v00001191d00000005*
+ ID_MODEL_FROM_DATABASE=ATP850UF
+
+pci:v00001191d00000006*
+ ID_MODEL_FROM_DATABASE=ATP860 NO-BIOS
+
+pci:v00001191d00000007*
+ ID_MODEL_FROM_DATABASE=ATP860
+
+pci:v00001191d00000008*
+ ID_MODEL_FROM_DATABASE=ATP865 NO-ROM
+
+pci:v00001191d00000009*
+ ID_MODEL_FROM_DATABASE=ATP865
+
+pci:v00001191d0000000A*
+ ID_MODEL_FROM_DATABASE=ATP867-A
+
+pci:v00001191d0000000B*
+ ID_MODEL_FROM_DATABASE=ATP867-B
+
+pci:v00001191d0000000D*
+ ID_MODEL_FROM_DATABASE=ATP8620
+
+pci:v00001191d0000000E*
+ ID_MODEL_FROM_DATABASE=ATP8620
+
+pci:v00001191d00008002*
+ ID_MODEL_FROM_DATABASE=AEC6710 SCSI-2 Host Adapter
+
+pci:v00001191d00008010*
+ ID_MODEL_FROM_DATABASE=AEC6712UW SCSI
+
+pci:v00001191d00008020*
+ ID_MODEL_FROM_DATABASE=AEC6712U SCSI
+
+pci:v00001191d00008030*
+ ID_MODEL_FROM_DATABASE=AEC6712S SCSI
+
+pci:v00001191d00008040*
+ ID_MODEL_FROM_DATABASE=AEC6712D SCSI
+
+pci:v00001191d00008050*
+ ID_MODEL_FROM_DATABASE=AEC6712SUW SCSI
+
+pci:v00001191d00008060*
+ ID_MODEL_FROM_DATABASE=AEC6712 SCSI
+
+pci:v00001191d00008080*
+ ID_MODEL_FROM_DATABASE=AEC67160 SCSI
+
+pci:v00001191d00008081*
+ ID_MODEL_FROM_DATABASE=AEC67160S SCSI
+
+pci:v00001191d0000808A*
+ ID_MODEL_FROM_DATABASE=AEC67162 2-ch. LVD SCSI
+
+pci:v00001192*
+ ID_VENDOR_FROM_DATABASE=Densan Company Ltd
+
+pci:v00001193*
+ ID_VENDOR_FROM_DATABASE=Zeitnet Inc.
+
+pci:v00001193d00000001*
+ ID_MODEL_FROM_DATABASE=1221
+
+pci:v00001193d00000002*
+ ID_MODEL_FROM_DATABASE=1225
+
+pci:v00001194*
+ ID_VENDOR_FROM_DATABASE=Toucan Technology
+
+pci:v00001195*
+ ID_VENDOR_FROM_DATABASE=Ratoc System Inc
+
+pci:v00001196*
+ ID_VENDOR_FROM_DATABASE=Hytec Electronics Ltd
+
+pci:v00001197*
+ ID_VENDOR_FROM_DATABASE=Gage Applied Sciences, Inc.
+
+pci:v00001197d0000010C*
+ ID_MODEL_FROM_DATABASE=CompuScope 82G 8bit 2GS/s Analog Input Card
+
+pci:v00001198*
+ ID_VENDOR_FROM_DATABASE=Lambda Systems Inc
+
+pci:v00001199*
+ ID_VENDOR_FROM_DATABASE=Attachmate Corporation
+
+pci:v00001199d00000101*
+ ID_MODEL_FROM_DATABASE=Advanced ISCA/PCI Adapter
+
+pci:v00001199d00006832*
+ ID_MODEL_FROM_DATABASE=Sierra Wireless MC8780 Device
+
+pci:v0000119A*
+ ID_VENDOR_FROM_DATABASE=Mind Share, Inc.
+
+pci:v0000119B*
+ ID_VENDOR_FROM_DATABASE=Omega Micro Inc.
+
+pci:v0000119Bd00001221*
+ ID_MODEL_FROM_DATABASE=82C092G
+
+pci:v0000119C*
+ ID_VENDOR_FROM_DATABASE=Information Technology Inst.
+
+pci:v0000119D*
+ ID_VENDOR_FROM_DATABASE=Bug, Inc. Sapporo Japan
+
+pci:v0000119E*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Microelectronics Ltd.
+
+pci:v0000119Ed00000001*
+ ID_MODEL_FROM_DATABASE=FireStream 155
+
+pci:v0000119Ed00000003*
+ ID_MODEL_FROM_DATABASE=FireStream 50
+
+pci:v0000119F*
+ ID_VENDOR_FROM_DATABASE=Bull HN Information Systems
+
+pci:v000011A0*
+ ID_VENDOR_FROM_DATABASE=Convex Computer Corporation
+
+pci:v000011A1*
+ ID_VENDOR_FROM_DATABASE=Hamamatsu Photonics K.K.
+
+pci:v000011A2*
+ ID_VENDOR_FROM_DATABASE=Sierra Research and Technology
+
+pci:v000011A3*
+ ID_VENDOR_FROM_DATABASE=Deuretzbacher GmbH & Co. Eng. KG
+
+pci:v000011A4*
+ ID_VENDOR_FROM_DATABASE=Barco Graphics NV
+
+pci:v000011A5*
+ ID_VENDOR_FROM_DATABASE=Microunity Systems Eng. Inc
+
+pci:v000011A6*
+ ID_VENDOR_FROM_DATABASE=Pure Data Ltd.
+
+pci:v000011A7*
+ ID_VENDOR_FROM_DATABASE=Power Computing Corp.
+
+pci:v000011A8*
+ ID_VENDOR_FROM_DATABASE=Systech Corp.
+
+pci:v000011A9*
+ ID_VENDOR_FROM_DATABASE=InnoSys Inc.
+
+pci:v000011A9d00004240*
+ ID_MODEL_FROM_DATABASE=AMCC S933Q Intelligent Serial Card
+
+pci:v000011AA*
+ ID_VENDOR_FROM_DATABASE=Actel
+
+pci:v000011AB*
+ ID_VENDOR_FROM_DATABASE=Marvell Technology Group Ltd.
+
+pci:v000011ABd00000146*
+ ID_MODEL_FROM_DATABASE=GT-64010/64010A System Controller
+
+pci:v000011ABd00000F53*
+ ID_MODEL_FROM_DATABASE=88E6318 Link Street network controller
+
+pci:v000011ABd000011AB*
+ ID_MODEL_FROM_DATABASE=MV88SE614x SATA II PCI-E controller
+
+pci:v000011ABd0000138F*
+ ID_MODEL_FROM_DATABASE=W8300 802.11 Adapter (rev 07)
+
+pci:v000011ABd00001FA6*
+ ID_MODEL_FROM_DATABASE=Marvell W8300 802.11 Adapter
+
+pci:v000011ABd00001FA6sv00001186sd00003B08*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.A1)
+
+pci:v000011ABd00001FA7*
+ ID_MODEL_FROM_DATABASE=88W8310 and 88W8000G [Libertas] 802.11g client chipset
+
+pci:v000011ABd00001FAA*
+ ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless
+
+pci:v000011ABd00001FAAsv00001385sd00004E00*
+ ID_MODEL_FROM_DATABASE=WG511v2 54 Mbps Wireless PC Card
+
+pci:v000011ABd00001FAAsv00001385sd00006B00*
+ ID_MODEL_FROM_DATABASE=WG311v3 802.11g Wireless PCI Adapter
+
+pci:v000011ABd00001FAAsv00001737sd00000040*
+ ID_MODEL_FROM_DATABASE=WPC54G v5 802.11g Wireless-G Notebook Adapter
+
+pci:v000011ABd00002211*
+ ID_MODEL_FROM_DATABASE=88SB2211 PCI Express to PCI Bridge
+
+pci:v000011ABd00002A01*
+ ID_MODEL_FROM_DATABASE=88W8335 [Libertas] 802.11b/g Wireless
+
+pci:v000011ABd00002A02*
+ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless
+
+pci:v000011ABd00002A02sv000007D1sd00003B02*
+ ID_MODEL_FROM_DATABASE=DIR-615 rev. A1 Mini PCI Wireless Module
+
+pci:v000011ABd00002A02sv00001385sd00007C00*
+ ID_MODEL_FROM_DATABASE=WN511T RangeMax Next 300 Mbps Wireless PC Card
+
+pci:v000011ABd00002A02sv00001385sd00007C01*
+ ID_MODEL_FROM_DATABASE=WN511T RangeMax Next 300 Mbps Wireless Notebook Adapter
+
+pci:v000011ABd00002A02sv00001385sd00007E00*
+ ID_MODEL_FROM_DATABASE=WN311T RangeMax Next 300 Mbps Wireless PCI Adapter
+
+pci:v000011ABd00002A02sv00001799sd0000801B*
+ ID_MODEL_FROM_DATABASE=F5D8011 v2 802.11n N1 Wireless Notebook Card
+
+pci:v000011ABd00002A08*
+ ID_MODEL_FROM_DATABASE=88W8362e [TopDog] 802.11a/b/g/n Wireless
+
+pci:v000011ABd00002A0A*
+ ID_MODEL_FROM_DATABASE=88W8363 [TopDog] 802.11n Wireless
+
+pci:v000011ABd00002A0C*
+ ID_MODEL_FROM_DATABASE=88W8363 [TopDog] 802.11n Wireless
+
+pci:v000011ABd00002A24*
+ ID_MODEL_FROM_DATABASE=88W8363 [TopDog] 802.11n Wireless
+
+pci:v000011ABd00002A2B*
+ ID_MODEL_FROM_DATABASE=88W8687 [TopDog] 802.11b/g Wireless
+
+pci:v000011ABd00002A30*
+ ID_MODEL_FROM_DATABASE=88W8687 [TopDog] 802.11b/g Wireless
+
+pci:v000011ABd00002A40*
+ ID_MODEL_FROM_DATABASE=88W8366 [TopDog] 802.11n Wireless
+
+pci:v000011ABd00002A43*
+ ID_MODEL_FROM_DATABASE=88W8366 [TopDog] 802.11n Wireless
+
+pci:v000011ABd00004101*
+ ID_MODEL_FROM_DATABASE=OLPC Cafe Controller Secure Digital Controller
+
+pci:v000011ABd00004320*
+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller
+
+pci:v000011ABd00004320sv00001019sd00000F38*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (ECS)
+
+pci:v000011ABd00004320sv00001019sd00008001*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (ECS)
+
+pci:v000011ABd00004320sv00001043sd0000173C*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Asus)
+
+pci:v000011ABd00004320sv00001043sd0000811A*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Asus)
+
+pci:v000011ABd00004320sv0000105Bsd00000C19*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Foxconn)
+
+pci:v000011ABd00004320sv000010B8sd0000B452*
+ ID_MODEL_FROM_DATABASE=EZ Card 1000 (SMC9452TXV.2)
+
+pci:v000011ABd00004320sv000011ABsd00000121*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8001
+
+pci:v000011ABd00004320sv000011ABsd00000321*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8003
+
+pci:v000011ABd00004320sv000011ABsd00001021*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8010
+
+pci:v000011ABd00004320sv000011ABsd00004320*
+ ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus)
+
+pci:v000011ABd00004320sv000011ABsd00005021*
+ ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit)
+
+pci:v000011ABd00004320sv000011ABsd00009521*
+ ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit)
+
+pci:v000011ABd00004320sv00001458sd0000E000*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte)
+
+pci:v000011ABd00004320sv0000147Bsd00001406*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Abit)
+
+pci:v000011ABd00004320sv000015D4sd00000047*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Iwill)
+
+pci:v000011ABd00004320sv00001695sd00009025*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Epox)
+
+pci:v000011ABd00004320sv000017F2sd00001C03*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Albatron)
+
+pci:v000011ABd00004320sv0000270Fsd00002803*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Chaintech)
+
+pci:v000011ABd00004340*
+ ID_MODEL_FROM_DATABASE=88E8021 PCI-X IPMI Gigabit Ethernet Controller
+
+pci:v000011ABd00004341*
+ ID_MODEL_FROM_DATABASE=88E8022 PCI-X IPMI Gigabit Ethernet Controller
+
+pci:v000011ABd00004342*
+ ID_MODEL_FROM_DATABASE=88E8061 PCI-E IPMI Gigabit Ethernet Controller
+
+pci:v000011ABd00004343*
+ ID_MODEL_FROM_DATABASE=88E8062 PCI-E IPMI Gigabit Ethernet Controller
+
+pci:v000011ABd00004344*
+ ID_MODEL_FROM_DATABASE=88E8021 PCI-X IPMI Gigabit Ethernet Controller
+
+pci:v000011ABd00004345*
+ ID_MODEL_FROM_DATABASE=88E8022 PCI-X IPMI Gigabit Ethernet Controller
+
+pci:v000011ABd00004346*
+ ID_MODEL_FROM_DATABASE=88E8061 PCI-E IPMI Gigabit Ethernet Controller
+
+pci:v000011ABd00004347*
+ ID_MODEL_FROM_DATABASE=88E8062 PCI-E IPMI Gigabit Ethernet Controller
+
+pci:v000011ABd00004347sv00004C53sd000010D0*
+ ID_MODEL_FROM_DATABASE=Telum ASLP10 PrAMC Gigabit Ethernet
+
+pci:v000011ABd00004350*
+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller
+
+pci:v000011ABd00004350sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (Toshiba)
+
+pci:v000011ABd00004350sv000011ABsd00003521*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8035
+
+pci:v000011ABd00004350sv00001854sd0000000D*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004350sv00001854sd0000000E*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004350sv00001854sd0000000F*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004350sv00001854sd00000011*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004350sv00001854sd00000012*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004350sv00001854sd00000016*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004350sv00001854sd00000017*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004350sv00001854sd00000018*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004350sv00001854sd00000019*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004350sv00001854sd0000001C*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004350sv00001854sd0000001E*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004350sv00001854sd00000020*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004351*
+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller
+
+pci:v000011ABd00004351sv0000107Bsd00004009*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Wistron)
+
+pci:v000011ABd00004351sv000010F7sd00008338*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Panasonic)
+
+pci:v000011ABd00004351sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Toshiba)
+
+pci:v000011ABd00004351sv00001179sd0000FF00*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Compal)
+
+pci:v000011ABd00004351sv00001179sd0000FF10*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Inventec)
+
+pci:v000011ABd00004351sv000011ABsd00003621*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8036
+
+pci:v000011ABd00004351sv000013D1sd0000AC12*
+ ID_MODEL_FROM_DATABASE=Abocom EFE3K - 10/100 Ethernet Expresscard
+
+pci:v000011ABd00004351sv0000161Fsd0000203D*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Arima)
+
+pci:v000011ABd00004351sv00001854sd0000000D*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004351sv00001854sd0000000E*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004351sv00001854sd0000000F*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004351sv00001854sd00000011*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004351sv00001854sd00000012*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004351sv00001854sd00000016*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004351sv00001854sd00000017*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004351sv00001854sd00000018*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004351sv00001854sd00000019*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004351sv00001854sd0000001C*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004351sv00001854sd0000001E*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004351sv00001854sd00000020*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
+
+pci:v000011ABd00004352*
+ ID_MODEL_FROM_DATABASE=88E8038 PCI-E Fast Ethernet Controller
+
+pci:v000011ABd00004353*
+ ID_MODEL_FROM_DATABASE=88E8039 PCI-E Fast Ethernet Controller
+
+pci:v000011ABd00004353sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v000011ABd00004354*
+ ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller
+
+pci:v000011ABd00004354sv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v000011ABd00004355*
+ ID_MODEL_FROM_DATABASE=88E8040T PCI-E Fast Ethernet Controller
+
+pci:v000011ABd00004355sv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v000011ABd00004356*
+ ID_MODEL_FROM_DATABASE=88EC033 PCI-E Fast Ethernet Controller
+
+pci:v000011ABd00004357*
+ ID_MODEL_FROM_DATABASE=88E8042 PCI-E Fast Ethernet Controller
+
+pci:v000011ABd0000435A*
+ ID_MODEL_FROM_DATABASE=88E8048 PCI-E Fast Ethernet Controller
+
+pci:v000011ABd00004360*
+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller
+
+pci:v000011ABd00004360sv00001043sd00008134*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Asus)
+
+pci:v000011ABd00004360sv0000107Bsd00004009*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Wistron)
+
+pci:v000011ABd00004360sv000011ABsd00005221*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8052
+
+pci:v000011ABd00004360sv00001458sd0000E000*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte)
+
+pci:v000011ABd00004360sv00001462sd0000052C*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (MSI)
+
+pci:v000011ABd00004360sv00001849sd00008052*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (ASRock)
+
+pci:v000011ABd00004360sv0000A0A0sd00000509*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Aopen)
+
+pci:v000011ABd00004361*
+ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller
+
+pci:v000011ABd00004361sv0000107Bsd00003015*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Gateway)
+
+pci:v000011ABd00004361sv000011ABsd00005021*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Intel)
+
+pci:v000011ABd00004361sv00008086sd00003063*
+ ID_MODEL_FROM_DATABASE=D925XCVLK mainboard
+
+pci:v000011ABd00004361sv00008086sd00003439*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Intel)
+
+pci:v000011ABd00004362*
+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller
+
+pci:v000011ABd00004362sv0000103Csd00002A0D*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Asus)
+
+pci:v000011ABd00004362sv00001043sd00008142*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus)
+
+pci:v000011ABd00004362sv0000109Fsd00003197*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Trigem)
+
+pci:v000011ABd00004362sv000010F7sd00008338*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Panasonic)
+
+pci:v000011ABd00004362sv000010FDsd0000A430*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (SOYO)
+
+pci:v000011ABd00004362sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Toshiba)
+
+pci:v000011ABd00004362sv00001179sd0000FF00*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Compal)
+
+pci:v000011ABd00004362sv00001179sd0000FF10*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Inventec)
+
+pci:v000011ABd00004362sv000011ABsd00005321*
+ ID_MODEL_FROM_DATABASE=Marvell RDK-8053
+
+pci:v000011ABd00004362sv00001297sd0000C240*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)
+
+pci:v000011ABd00004362sv00001297sd0000C241*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)
+
+pci:v000011ABd00004362sv00001297sd0000C242*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)
+
+pci:v000011ABd00004362sv00001297sd0000C243*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)
+
+pci:v000011ABd00004362sv00001297sd0000C244*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)
+
+pci:v000011ABd00004362sv000013D1sd0000AC11*
+ ID_MODEL_FROM_DATABASE=EGE5K - Giga Ethernet Expresscard
+
+pci:v000011ABd00004362sv00001458sd0000E000*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte)
+
+pci:v000011ABd00004362sv00001462sd0000058C*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (MSI)
+
+pci:v000011ABd00004362sv000014C0sd00000012*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Compal)
+
+pci:v000011ABd00004362sv00001558sd000004A0*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Clevo)
+
+pci:v000011ABd00004362sv000015BDsd00001003*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (DFI)
+
+pci:v000011ABd00004362sv0000161Fsd0000203C*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Arima)
+
+pci:v000011ABd00004362sv0000161Fsd0000203D*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Arima)
+
+pci:v000011ABd00004362sv00001695sd00009029*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Epox)
+
+pci:v000011ABd00004362sv000017F2sd00002C08*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Albatron)
+
+pci:v000011ABd00004362sv000017FFsd00000585*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Quanta)
+
+pci:v000011ABd00004362sv00001849sd00008053*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (ASRock)
+
+pci:v000011ABd00004362sv00001854sd0000000B*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
+
+pci:v000011ABd00004362sv00001854sd0000000C*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
+
+pci:v000011ABd00004362sv00001854sd00000010*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
+
+pci:v000011ABd00004362sv00001854sd00000013*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
+
+pci:v000011ABd00004362sv00001854sd00000014*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
+
+pci:v000011ABd00004362sv00001854sd00000015*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
+
+pci:v000011ABd00004362sv00001854sd0000001A*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
+
+pci:v000011ABd00004362sv00001854sd0000001B*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
+
+pci:v000011ABd00004362sv00001854sd0000001D*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
+
+pci:v000011ABd00004362sv00001854sd0000001F*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
+
+pci:v000011ABd00004362sv00001854sd00000021*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
+
+pci:v000011ABd00004362sv00001854sd00000022*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
+
+pci:v000011ABd00004362sv0000270Fsd00002801*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Chaintech)
+
+pci:v000011ABd00004362sv0000A0A0sd00000506*
+ ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Aopen)
+
+pci:v000011ABd00004363*
+ ID_MODEL_FROM_DATABASE=88E8055 PCI-E Gigabit Ethernet Controller
+
+pci:v000011ABd00004364*
+ ID_MODEL_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller
+
+pci:v000011ABd00004364sv00001043sd000081F8*
+ ID_MODEL_FROM_DATABASE=Motherboard
+
+pci:v000011ABd00004364sv000011BAsd000000BA*
+ ID_MODEL_FROM_DATABASE=8056 Gigabit Ethernet Controller
+
+pci:v000011ABd00004365*
+ ID_MODEL_FROM_DATABASE=88E8070 based Ethernet Controller
+
+pci:v000011ABd00004366*
+ ID_MODEL_FROM_DATABASE=88EC036 PCI-E Gigabit Ethernet Controller
+
+pci:v000011ABd00004367*
+ ID_MODEL_FROM_DATABASE=88EC032 Ethernet Controller
+
+pci:v000011ABd00004368*
+ ID_MODEL_FROM_DATABASE=88EC034 Ethernet Controller
+
+pci:v000011ABd00004369*
+ ID_MODEL_FROM_DATABASE=88EC042 Ethernet Controller
+
+pci:v000011ABd0000436A*
+ ID_MODEL_FROM_DATABASE=88E8058 PCI-E Gigabit Ethernet Controller
+
+pci:v000011ABd0000436Asv000011ABsd000000BA*
+ ID_MODEL_FROM_DATABASE=Imac 8,1 Wired Ethernet Adapter
+
+pci:v000011ABd0000436B*
+ ID_MODEL_FROM_DATABASE=88E8071 PCI-E Gigabit Ethernet Controller
+
+pci:v000011ABd0000436C*
+ ID_MODEL_FROM_DATABASE=88E8072 PCI-E Gigabit Ethernet Controller
+
+pci:v000011ABd0000436D*
+ ID_MODEL_FROM_DATABASE=88E8055 PCI-E Gigabit Ethernet Controller
+
+pci:v000011ABd00004370*
+ ID_MODEL_FROM_DATABASE=88E8075 PCI-E Gigabit Ethernet Controller
+
+pci:v000011ABd00004380*
+ ID_MODEL_FROM_DATABASE=88E8057 PCI-E Gigabit Ethernet Controller
+
+pci:v000011ABd00004381*
+ ID_MODEL_FROM_DATABASE=Yukon Optima 88E8059 [PCIe Gigabit Ethernet Controller with AVB]
+
+pci:v000011ABd00004611*
+ ID_MODEL_FROM_DATABASE=GT-64115 System Controller
+
+pci:v000011ABd00004620*
+ ID_MODEL_FROM_DATABASE=GT-64120/64120A/64121A System Controller
+
+pci:v000011ABd00004801*
+ ID_MODEL_FROM_DATABASE=GT-48001
+
+pci:v000011ABd00005005*
+ ID_MODEL_FROM_DATABASE=Belkin F5D5005 Gigabit Desktop Network PCI Card
+
+pci:v000011ABd00005040*
+ ID_MODEL_FROM_DATABASE=MV88SX5040 4-port SATA I PCI-X Controller
+
+pci:v000011ABd00005041*
+ ID_MODEL_FROM_DATABASE=MV88SX5041 4-port SATA I PCI-X Controller
+
+pci:v000011ABd00005080*
+ ID_MODEL_FROM_DATABASE=MV88SX5080 8-port SATA I PCI-X Controller
+
+pci:v000011ABd00005081*
+ ID_MODEL_FROM_DATABASE=MV88SX5081 8-port SATA I PCI-X Controller
+
+pci:v000011ABd00005181*
+ ID_MODEL_FROM_DATABASE=88f5181 [Orion-1] ARM SoC
+
+pci:v000011ABd00005182*
+ ID_MODEL_FROM_DATABASE=88f5182 [Orion-NAS] ARM SoC
+
+pci:v000011ABd00005281*
+ ID_MODEL_FROM_DATABASE=88f5281 [Orion-2] ARM SoC
+
+pci:v000011ABd00006041*
+ ID_MODEL_FROM_DATABASE=MV88SX6041 4-port SATA II PCI-X Controller
+
+pci:v000011ABd00006042*
+ ID_MODEL_FROM_DATABASE=88SX6042 PCI-X 4-Port SATA-II
+
+pci:v000011ABd00006081*
+ ID_MODEL_FROM_DATABASE=MV88SX6081 8-port SATA II PCI-X Controller
+
+pci:v000011ABd00006101*
+ ID_MODEL_FROM_DATABASE=88SE6101/6102 single-port PATA133 interface
+
+pci:v000011ABd00006101sv00001043sd000082E0*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v000011ABd00006111*
+ ID_MODEL_FROM_DATABASE=88SE6111 1-port PATA133(IDE) and 1-port SATA II Controllers
+
+pci:v000011ABd00006121*
+ ID_MODEL_FROM_DATABASE=88SE6121 SATA II / PATA Controller
+
+pci:v000011ABd00006141*
+ ID_MODEL_FROM_DATABASE=88SE614x SATA II PCI-E controller
+
+pci:v000011ABd00006145*
+ ID_MODEL_FROM_DATABASE=88SE6145 SATA II PCI-E controller
+
+pci:v000011ABd00006180*
+ ID_MODEL_FROM_DATABASE=88F6180 [Kirkwood] ARM SoC
+
+pci:v000011ABd00006192*
+ ID_MODEL_FROM_DATABASE=88F6190/6192 [Kirkwood] ARM SoC
+
+pci:v000011ABd00006281*
+ ID_MODEL_FROM_DATABASE=88F6281 [Kirkwood] ARM SoC
+
+pci:v000011ABd00006381*
+ ID_MODEL_FROM_DATABASE=MV78xx0 [Discovery Innovation] ARM SoC
+
+pci:v000011ABd00006440*
+ ID_MODEL_FROM_DATABASE=88SE6440 SAS/SATA PCIe controller
+
+pci:v000011ABd00006450*
+ ID_MODEL_FROM_DATABASE=64560 System Controller
+
+pci:v000011ABd00006460*
+ ID_MODEL_FROM_DATABASE=MV64360/64361/64362 System Controller
+
+pci:v000011ABd00006480*
+ ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller
+
+pci:v000011ABd00006480sv00001775sd0000C200*
+ ID_MODEL_FROM_DATABASE=C2K CompactPCI single board computer
+
+pci:v000011ABd00006485*
+ ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller, Revision B
+
+pci:v000011ABd00007042*
+ ID_MODEL_FROM_DATABASE=88SX7042 PCI-e 4-port SATA-II
+
+pci:v000011ABd00007042sv000016B8sd0000434B*
+ ID_MODEL_FROM_DATABASE=Tempo SATA E4P
+
+pci:v000011ABd00007810*
+ ID_MODEL_FROM_DATABASE=MV78100 [Discovery Innovation] ARM SoC
+
+pci:v000011ABd00007820*
+ ID_MODEL_FROM_DATABASE=MV78200 [Discovery Innovation] ARM SoC
+
+pci:v000011ABd0000F003*
+ ID_MODEL_FROM_DATABASE=GT-64010 Primary Image Piranha Image Generator
+
+pci:v000011AC*
+ ID_VENDOR_FROM_DATABASE=Canon Information Systems Research Aust.
+
+pci:v000011AD*
+ ID_VENDOR_FROM_DATABASE=Lite-On Communications Inc
+
+pci:v000011ADd00000002*
+ ID_MODEL_FROM_DATABASE=LNE100TX
+
+pci:v000011ADd00000002sv000011ADsd00000002*
+ ID_MODEL_FROM_DATABASE=LNE100TX
+
+pci:v000011ADd00000002sv000011ADsd00000003*
+ ID_MODEL_FROM_DATABASE=LNE100TX
+
+pci:v000011ADd00000002sv000011ADsd0000F003*
+ ID_MODEL_FROM_DATABASE=LNE100TX
+
+pci:v000011ADd00000002sv000011ADsd0000FFFF*
+ ID_MODEL_FROM_DATABASE=LNE100TX
+
+pci:v000011ADd00000002sv00001385sd0000F004*
+ ID_MODEL_FROM_DATABASE=FA310TX
+
+pci:v000011ADd00000002sv00002646sd0000F002*
+ ID_MODEL_FROM_DATABASE=KNE110TX EtheRx Fast Ethernet
+
+pci:v000011ADd0000C115*
+ ID_MODEL_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100]
+
+pci:v000011ADd0000C115sv000011ADsd0000C001*
+ ID_MODEL_FROM_DATABASE=LNE100TX [ver 2.0]
+
+pci:v000011ADd0000C115sv00002646sd0000000B*
+ ID_MODEL_FROM_DATABASE=KNE111TX
+
+pci:v000011AE*
+ ID_VENDOR_FROM_DATABASE=Aztech System Ltd
+
+pci:v000011AF*
+ ID_VENDOR_FROM_DATABASE=Avid Technology Inc.
+
+pci:v000011AFd00000001*
+ ID_MODEL_FROM_DATABASE=Cinema
+
+pci:v000011AFd0000EE40*
+ ID_MODEL_FROM_DATABASE=Digidesign Audiomedia III
+
+pci:v000011B0*
+ ID_VENDOR_FROM_DATABASE=V3 Semiconductor Inc.
+
+pci:v000011B0d00000002*
+ ID_MODEL_FROM_DATABASE=V300PSC
+
+pci:v000011B0d00000292*
+ ID_MODEL_FROM_DATABASE=V292PBC [Am29030/40 Bridge]
+
+pci:v000011B0d00000960*
+ ID_MODEL_FROM_DATABASE=V96xPBC
+
+pci:v000011B0d0000C960*
+ ID_MODEL_FROM_DATABASE=V96DPC
+
+pci:v000011B1*
+ ID_VENDOR_FROM_DATABASE=Apricot Computers
+
+pci:v000011B2*
+ ID_VENDOR_FROM_DATABASE=Eastman Kodak
+
+pci:v000011B3*
+ ID_VENDOR_FROM_DATABASE=Barr Systems Inc.
+
+pci:v000011B4*
+ ID_VENDOR_FROM_DATABASE=Leitch Technology International
+
+pci:v000011B5*
+ ID_VENDOR_FROM_DATABASE=Radstone Technology Plc
+
+pci:v000011B6*
+ ID_VENDOR_FROM_DATABASE=United Video Corp
+
+pci:v000011B7*
+ ID_VENDOR_FROM_DATABASE=Motorola
+
+pci:v000011B8*
+ ID_VENDOR_FROM_DATABASE=XPoint Technologies, Inc
+
+pci:v000011B8d00000001*
+ ID_MODEL_FROM_DATABASE=Quad PeerMaster
+
+pci:v000011B9*
+ ID_VENDOR_FROM_DATABASE=Pathlight Technology Inc.
+
+pci:v000011B9d0000C0ED*
+ ID_MODEL_FROM_DATABASE=SSA Controller
+
+pci:v000011BA*
+ ID_VENDOR_FROM_DATABASE=Videotron Corp
+
+pci:v000011BB*
+ ID_VENDOR_FROM_DATABASE=Pyramid Technology
+
+pci:v000011BC*
+ ID_VENDOR_FROM_DATABASE=Network Peripherals Inc
+
+pci:v000011BCd00000001*
+ ID_MODEL_FROM_DATABASE=NP-PCI
+
+pci:v000011BD*
+ ID_VENDOR_FROM_DATABASE=Pinnacle Systems Inc.
+
+pci:v000011BDd0000002E*
+ ID_MODEL_FROM_DATABASE=PCTV 40i
+
+pci:v000011BDd00000040*
+ ID_MODEL_FROM_DATABASE=Royal TS Function 1
+
+pci:v000011BDd00000040sv000011BDsd00000044*
+ ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Tuner 1
+
+pci:v000011BDd00000040sv000011BDsd00000045*
+ ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Tuner 1
+
+pci:v000011BDd00000041*
+ ID_MODEL_FROM_DATABASE=RoyalTS Function 2
+
+pci:v000011BDd00000041sv000011BDsd00000044*
+ ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Tuner 2
+
+pci:v000011BDd00000041sv000011BDsd00000045*
+ ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Tuner 2
+
+pci:v000011BDd00000042*
+ ID_MODEL_FROM_DATABASE=Royal TS Function 3
+
+pci:v000011BDd00000042sv000011BDsd00000044*
+ ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Common
+
+pci:v000011BDd00000042sv000011BDsd00000045*
+ ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Common
+
+pci:v000011BDd00000051*
+ ID_MODEL_FROM_DATABASE=PCTV HD 800i
+
+pci:v000011BDd0000BEDE*
+ ID_MODEL_FROM_DATABASE=AV/DV Studio Capture Card
+
+pci:v000011BE*
+ ID_VENDOR_FROM_DATABASE=International Microcircuits Inc
+
+pci:v000011BF*
+ ID_VENDOR_FROM_DATABASE=Astrodesign, Inc.
+
+pci:v000011C0*
+ ID_VENDOR_FROM_DATABASE=Hewlett Packard
+
+pci:v000011C1*
+ ID_VENDOR_FROM_DATABASE=LSI Corporation
+
+pci:v000011C1d00000440*
+ ID_MODEL_FROM_DATABASE=56k WinModem
+
+pci:v000011C1d00000440sv00001033sd00008015*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
+
+pci:v000011C1d00000440sv00001033sd00008047*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
+
+pci:v000011C1d00000440sv00001033sd0000804F*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
+
+pci:v000011C1d00000440sv000010CFsd0000102C*
+ ID_MODEL_FROM_DATABASE=LB LT Modem V.90 56k
+
+pci:v000011C1d00000440sv000010CFsd0000104A*
+ ID_MODEL_FROM_DATABASE=BIBLO LT Modem 56k
+
+pci:v000011C1d00000440sv000010CFsd0000105F*
+ ID_MODEL_FROM_DATABASE=LB2 LT Modem V.90 56k
+
+pci:v000011C1d00000440sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Internal V.90 Modem
+
+pci:v000011C1d00000440sv000011C1sd00000440*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
+
+pci:v000011C1d00000440sv0000122Dsd00004101*
+ ID_MODEL_FROM_DATABASE=MDP7800-U Modem
+
+pci:v000011C1d00000440sv0000122Dsd00004102*
+ ID_MODEL_FROM_DATABASE=MDP7800SP-U Modem
+
+pci:v000011C1d00000440sv000013E0sd00000040*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
+
+pci:v000011C1d00000440sv000013E0sd00000440*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
+
+pci:v000011C1d00000440sv000013E0sd00000441*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
+
+pci:v000011C1d00000440sv000013E0sd00000450*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
+
+pci:v000011C1d00000440sv000013E0sd0000F100*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
+
+pci:v000011C1d00000440sv000013E0sd0000F101*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
+
+pci:v000011C1d00000440sv0000144Dsd00002101*
+ ID_MODEL_FROM_DATABASE=LT56PV Modem
+
+pci:v000011C1d00000440sv0000149Fsd00000440*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
+
+pci:v000011C1d00000441*
+ ID_MODEL_FROM_DATABASE=56k WinModem
+
+pci:v000011C1d00000441sv00001033sd0000804D*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax
+
+pci:v000011C1d00000441sv00001033sd00008065*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax
+
+pci:v000011C1d00000441sv00001092sd00000440*
+ ID_MODEL_FROM_DATABASE=Supra 56i
+
+pci:v000011C1d00000441sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Internal V.90 Modem
+
+pci:v000011C1d00000441sv000011C1sd00000440*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax
+
+pci:v000011C1d00000441sv000011C1sd00000441*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax
+
+pci:v000011C1d00000441sv0000122Dsd00004100*
+ ID_MODEL_FROM_DATABASE=MDP7800-U Modem
+
+pci:v000011C1d00000441sv000013E0sd00000040*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax
+
+pci:v000011C1d00000441sv000013E0sd00000100*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax
+
+pci:v000011C1d00000441sv000013E0sd00000410*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax
+
+pci:v000011C1d00000441sv000013E0sd00000420*
+ ID_MODEL_FROM_DATABASE=TelePath Internet 56k WinModem
+
+pci:v000011C1d00000441sv000013E0sd00000440*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax
+
+pci:v000011C1d00000441sv000013E0sd00000443*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax
+
+pci:v000011C1d00000441sv000013E0sd0000F102*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax
+
+pci:v000011C1d00000441sv00001416sd00009804*
+ ID_MODEL_FROM_DATABASE=CommWave 56k Modem
+
+pci:v000011C1d00000441sv0000141Dsd00000440*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax
+
+pci:v000011C1d00000441sv0000144Fsd00000441*
+ ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DF Modem
+
+pci:v000011C1d00000441sv0000144Fsd00000449*
+ ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DF Modem
+
+pci:v000011C1d00000441sv0000144Fsd0000110D*
+ ID_MODEL_FROM_DATABASE=Lucent Win Modem
+
+pci:v000011C1d00000441sv00001468sd00000441*
+ ID_MODEL_FROM_DATABASE=Presario 56k V.90 DF Modem
+
+pci:v000011C1d00000441sv00001668sd00000440*
+ ID_MODEL_FROM_DATABASE=Lucent Win Modem
+
+pci:v000011C1d00000442*
+ ID_MODEL_FROM_DATABASE=56k WinModem
+
+pci:v000011C1d00000442sv000011C1sd00000440*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
+
+pci:v000011C1d00000442sv000011C1sd00000442*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
+
+pci:v000011C1d00000442sv000013E0sd00000412*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
+
+pci:v000011C1d00000442sv000013E0sd00000442*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
+
+pci:v000011C1d00000442sv000013FCsd00002471*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
+
+pci:v000011C1d00000442sv0000144Dsd00002104*
+ ID_MODEL_FROM_DATABASE=LT56PT Modem
+
+pci:v000011C1d00000442sv0000144Fsd00001104*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
+
+pci:v000011C1d00000442sv0000149Fsd00000440*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
+
+pci:v000011C1d00000442sv00001668sd00000440*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
+
+pci:v000011C1d00000443*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000444*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000445*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000445sv00008086sd00002203*
+ ID_MODEL_FROM_DATABASE=PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card)
+
+pci:v000011C1d00000445sv00008086sd00002204*
+ ID_MODEL_FROM_DATABASE=PRO/100+ MiniPCI on Armada E500
+
+pci:v000011C1d00000446*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000447*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000448*
+ ID_MODEL_FROM_DATABASE=WinModem 56k
+
+pci:v000011C1d00000448sv00001014sd00000131*
+ ID_MODEL_FROM_DATABASE=Lucent Win Modem
+
+pci:v000011C1d00000448sv00001033sd00008066*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
+
+pci:v000011C1d00000448sv000013E0sd00000030*
+ ID_MODEL_FROM_DATABASE=56k Voice Modem
+
+pci:v000011C1d00000448sv000013E0sd00000040*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
+
+pci:v000011C1d00000448sv00001668sd00002400*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k (MiniPCI Ethernet+Modem)
+
+pci:v000011C1d00000449*
+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k
+
+pci:v000011C1d00000449sv00000E11sd0000B14D*
+ ID_MODEL_FROM_DATABASE=56k V.90 Modem
+
+pci:v000011C1d00000449sv00001014sd0000018C*
+ ID_MODEL_FROM_DATABASE=ThinkPad 600X
+
+pci:v000011C1d00000449sv000013E0sd00000020*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax
+
+pci:v000011C1d00000449sv000013E0sd00000041*
+ ID_MODEL_FROM_DATABASE=TelePath Internet 56k WinModem
+
+pci:v000011C1d00000449sv00001436sd00000440*
+ ID_MODEL_FROM_DATABASE=Lucent Win Modem
+
+pci:v000011C1d00000449sv0000144Fsd00000449*
+ ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DFi Modem
+
+pci:v000011C1d00000449sv00001468sd00000410*
+ ID_MODEL_FROM_DATABASE=IBM ThinkPad T23
+
+pci:v000011C1d00000449sv00001468sd00000440*
+ ID_MODEL_FROM_DATABASE=Lucent Win Modem
+
+pci:v000011C1d00000449sv00001468sd00000449*
+ ID_MODEL_FROM_DATABASE=Presario 56k V.90 DFi Modem
+
+pci:v000011C1d0000044A*
+ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex)
+
+pci:v000011C1d0000044Asv000010CFsd00001072*
+ ID_MODEL_FROM_DATABASE=LB Global LT Modem
+
+pci:v000011C1d0000044Asv000013E0sd00000012*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
+
+pci:v000011C1d0000044Asv000013E0sd00000042*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
+
+pci:v000011C1d0000044Asv0000144Fsd00001005*
+ ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
+
+pci:v000011C1d0000044B*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d0000044C*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d0000044D*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d0000044E*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d0000044F*
+ ID_MODEL_FROM_DATABASE=V90 WildWire Modem
+
+pci:v000011C1d00000450*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000450sv00001033sd000080A8*
+ ID_MODEL_FROM_DATABASE=Versa Note Vxi
+
+pci:v000011C1d00000450sv0000144Fsd00004005*
+ ID_MODEL_FROM_DATABASE=Magnia SG20
+
+pci:v000011C1d00000450sv00001468sd00000450*
+ ID_MODEL_FROM_DATABASE=Evo N600c
+
+pci:v000011C1d00000451*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000452*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000453*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000454*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000455*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000456*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000457*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000458*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000459*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d0000045A*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d0000045C*
+ ID_MODEL_FROM_DATABASE=LT WinModem
+
+pci:v000011C1d00000461*
+ ID_MODEL_FROM_DATABASE=V90 WildWire Modem
+
+pci:v000011C1d00000462*
+ ID_MODEL_FROM_DATABASE=V90 WildWire Modem
+
+pci:v000011C1d00000480*
+ ID_MODEL_FROM_DATABASE=Venus Modem (V90, 56KFlex)
+
+pci:v000011C1d0000048C*
+ ID_MODEL_FROM_DATABASE=V.92 56K WinModem
+
+pci:v000011C1d0000048F*
+ ID_MODEL_FROM_DATABASE=V.92 56k WinModem
+
+pci:v000011C1d00000620*
+ ID_MODEL_FROM_DATABASE=Lucent V.92 Data/Fax Modem
+
+pci:v000011C1d00002600*
+ ID_MODEL_FROM_DATABASE=StarPro26XX family (SP2601, SP2603, SP2612) DSP
+
+pci:v000011C1d00005400*
+ ID_MODEL_FROM_DATABASE=OR3TP12 FPSC
+
+pci:v000011C1d00005656*
+ ID_MODEL_FROM_DATABASE=Venus Modem
+
+pci:v000011C1d00005801*
+ ID_MODEL_FROM_DATABASE=USB
+
+pci:v000011C1d00005802*
+ ID_MODEL_FROM_DATABASE=USS-312 USB Controller
+
+pci:v000011C1d00005803*
+ ID_MODEL_FROM_DATABASE=USS-344S USB Controller
+
+pci:v000011C1d00005811*
+ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller
+
+pci:v000011C1d00005811sv0000103Csd00002A34*
+ ID_MODEL_FROM_DATABASE=Pavilion a1677c
+
+pci:v000011C1d00005811sv0000103Csd00002A9E*
+ ID_MODEL_FROM_DATABASE=Pavilion p6310f
+
+pci:v000011C1d00005811sv00001043sd00008294*
+ ID_MODEL_FROM_DATABASE=LSI FW322/323 IEEE 1394a FireWire Controller
+
+pci:v000011C1d00005811sv00008086sd0000524C*
+ ID_MODEL_FROM_DATABASE=D865PERL mainboard
+
+pci:v000011C1d00005811sv0000DEADsd00000800*
+ ID_MODEL_FROM_DATABASE=FireWire Host Bus Adapter
+
+pci:v000011C1d00005901*
+ ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller
+
+pci:v000011C1d00005901sv000011C1sd00005900*
+ ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller
+
+pci:v000011C1d00005901sv00001443sd00000643*
+ ID_MODEL_FROM_DATABASE=FireBoard800-e V.2
+
+pci:v000011C1d00005901sv00001546sd00000643*
+ ID_MODEL_FROM_DATABASE=FWB-PCIE1X2x
+
+pci:v000011C1d00005903*
+ ID_MODEL_FROM_DATABASE=FW533 [TrueFire] PCIe 1394a Controller
+
+pci:v000011C1d00008110*
+ ID_MODEL_FROM_DATABASE=T8110 H.100/H.110 TDM switch
+
+pci:v000011C1d00008110sv000012D9sd0000000C*
+ ID_MODEL_FROM_DATABASE=E1/T1 PMXc cPCI carrier card
+
+pci:v000011C1d0000AB10*
+ ID_MODEL_FROM_DATABASE=WL60010 Wireless LAN MAC
+
+pci:v000011C1d0000AB11*
+ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC
+
+pci:v000011C1d0000AB11sv000011C1sd0000AB12*
+ ID_MODEL_FROM_DATABASE=WaveLAN 11abg Cardbus card (Model 1102)
+
+pci:v000011C1d0000AB11sv000011C1sd0000AB13*
+ ID_MODEL_FROM_DATABASE=WaveLAN 11abg MiniPCI card (Model 0512)
+
+pci:v000011C1d0000AB11sv000011C1sd0000AB15*
+ ID_MODEL_FROM_DATABASE=WaveLAN 11abg Cardbus card (Model 1106)
+
+pci:v000011C1d0000AB11sv000011C1sd0000AB16*
+ ID_MODEL_FROM_DATABASE=WaveLAN 11abg MiniPCI card (Model 0516)
+
+pci:v000011C1d0000AB20*
+ ID_MODEL_FROM_DATABASE=ORiNOCO PCI Adapter
+
+pci:v000011C1d0000AB21*
+ ID_MODEL_FROM_DATABASE=Agere Wireless PCI Adapter
+
+pci:v000011C1d0000AB30*
+ ID_MODEL_FROM_DATABASE=Hermes2 Mini-PCI WaveLAN a/b/g
+
+pci:v000011C1d0000AB30sv000014CDsd00002012*
+ ID_MODEL_FROM_DATABASE=Hermes2 Mini-PCI WaveLAN a/b/g
+
+pci:v000011C1d0000ED00*
+ ID_MODEL_FROM_DATABASE=ET-131x PCI-E Ethernet Controller
+
+pci:v000011C1d0000ED01*
+ ID_MODEL_FROM_DATABASE=ET-131x PCI-E Ethernet Controller
+
+pci:v000011C2*
+ ID_VENDOR_FROM_DATABASE=Sand Microelectronics
+
+pci:v000011C3*
+ ID_VENDOR_FROM_DATABASE=NEC Corporation
+
+pci:v000011C4*
+ ID_VENDOR_FROM_DATABASE=Document Technologies, Inc
+
+pci:v000011C5*
+ ID_VENDOR_FROM_DATABASE=Shiva Corporation
+
+pci:v000011C6*
+ ID_VENDOR_FROM_DATABASE=Dainippon Screen Mfg. Co. Ltd
+
+pci:v000011C7*
+ ID_VENDOR_FROM_DATABASE=D.C.M. Data Systems
+
+pci:v000011C8*
+ ID_VENDOR_FROM_DATABASE=Dolphin Interconnect Solutions AS
+
+pci:v000011C8d00000658*
+ ID_MODEL_FROM_DATABASE=PSB32 SCI-Adapter D31x
+
+pci:v000011C8d0000D665*
+ ID_MODEL_FROM_DATABASE=PSB64 SCI-Adapter D32x
+
+pci:v000011C8d0000D667*
+ ID_MODEL_FROM_DATABASE=PSB66 SCI-Adapter D33x
+
+pci:v000011C9*
+ ID_VENDOR_FROM_DATABASE=Magma
+
+pci:v000011C9d00000010*
+ ID_MODEL_FROM_DATABASE=16-line serial port w/- DMA
+
+pci:v000011C9d00000011*
+ ID_MODEL_FROM_DATABASE=4-line serial port w/- DMA
+
+pci:v000011CA*
+ ID_VENDOR_FROM_DATABASE=LSI Systems, Inc
+
+pci:v000011CB*
+ ID_VENDOR_FROM_DATABASE=Specialix Research Ltd.
+
+pci:v000011CBd00002000*
+ ID_MODEL_FROM_DATABASE=PCI_9050
+
+pci:v000011CBd00002000sv000011CBsd00000200*
+ ID_MODEL_FROM_DATABASE=SX
+
+pci:v000011CBd00002000sv000011CBsd0000B008*
+ ID_MODEL_FROM_DATABASE=I/O8+
+
+pci:v000011CBd00004000*
+ ID_MODEL_FROM_DATABASE=SUPI_1
+
+pci:v000011CBd00008000*
+ ID_MODEL_FROM_DATABASE=T225
+
+pci:v000011CC*
+ ID_VENDOR_FROM_DATABASE=Michels & Kleberhoff Computer GmbH
+
+pci:v000011CD*
+ ID_VENDOR_FROM_DATABASE=HAL Computer Systems, Inc.
+
+pci:v000011CE*
+ ID_VENDOR_FROM_DATABASE=Netaccess
+
+pci:v000011CF*
+ ID_VENDOR_FROM_DATABASE=Pioneer Electronic Corporation
+
+pci:v000011D0*
+ ID_VENDOR_FROM_DATABASE=Lockheed Martin Federal Systems-Manassas
+
+pci:v000011D1*
+ ID_VENDOR_FROM_DATABASE=Auravision
+
+pci:v000011D1d000001F7*
+ ID_MODEL_FROM_DATABASE=VxP524
+
+pci:v000011D1d000001F9*
+ ID_MODEL_FROM_DATABASE=VxP951
+
+pci:v000011D2*
+ ID_VENDOR_FROM_DATABASE=Intercom Inc.
+
+pci:v000011D3*
+ ID_VENDOR_FROM_DATABASE=Trancell Systems Inc
+
+pci:v000011D4*
+ ID_VENDOR_FROM_DATABASE=Analog Devices
+
+pci:v000011D4d00001535*
+ ID_MODEL_FROM_DATABASE=Blackfin BF535 processor
+
+pci:v000011D4d00001805*
+ ID_MODEL_FROM_DATABASE=SM56 PCI modem
+
+pci:v000011D5*
+ ID_VENDOR_FROM_DATABASE=Ikon Corporation
+
+pci:v000011D5d00000115*
+ ID_MODEL_FROM_DATABASE=10115
+
+pci:v000011D5d00000117*
+ ID_MODEL_FROM_DATABASE=10117
+
+pci:v000011D6*
+ ID_VENDOR_FROM_DATABASE=Tekelec Telecom
+
+pci:v000011D7*
+ ID_VENDOR_FROM_DATABASE=Trenton Technology, Inc.
+
+pci:v000011D8*
+ ID_VENDOR_FROM_DATABASE=Image Technologies Development
+
+pci:v000011D9*
+ ID_VENDOR_FROM_DATABASE=TEC Corporation
+
+pci:v000011DA*
+ ID_VENDOR_FROM_DATABASE=Novell
+
+pci:v000011DB*
+ ID_VENDOR_FROM_DATABASE=Sega Enterprises Ltd
+
+pci:v000011DC*
+ ID_VENDOR_FROM_DATABASE=Questra Corporation
+
+pci:v000011DD*
+ ID_VENDOR_FROM_DATABASE=Crosfield Electronics Limited
+
+pci:v000011DE*
+ ID_VENDOR_FROM_DATABASE=Zoran Corporation
+
+pci:v000011DEd00006017*
+ ID_MODEL_FROM_DATABASE=miroVIDEO DC30
+
+pci:v000011DEd00006057*
+ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset
+
+pci:v000011DEd00006057sv00001031sd00007EFE*
+ ID_MODEL_FROM_DATABASE=DC10 Plus
+
+pci:v000011DEd00006057sv00001031sd0000FC00*
+ ID_MODEL_FROM_DATABASE=MiroVIDEO DC50, Motion JPEG Capture/CODEC Board
+
+pci:v000011DEd00006057sv000012F8sd00008A02*
+ ID_MODEL_FROM_DATABASE=Tekram Video Kit
+
+pci:v000011DEd00006057sv000013CAsd00004231*
+ ID_MODEL_FROM_DATABASE=JPEG/TV Card
+
+pci:v000011DEd00006120*
+ ID_MODEL_FROM_DATABASE=ZR36120
+
+pci:v000011DEd00006120sv00001328sd0000F001*
+ ID_MODEL_FROM_DATABASE=Cinemaster C DVD Decoder
+
+pci:v000011DEd00006120sv000013C2sd00000000*
+ ID_MODEL_FROM_DATABASE=MediaFocus Satellite TV Card
+
+pci:v000011DEd00006120sv00001DE1sd00009FFF*
+ ID_MODEL_FROM_DATABASE=Video Kit C210
+
+pci:v000011DF*
+ ID_VENDOR_FROM_DATABASE=New Wave PDG
+
+pci:v000011E0*
+ ID_VENDOR_FROM_DATABASE=Cray Communications A/S
+
+pci:v000011E1*
+ ID_VENDOR_FROM_DATABASE=GEC Plessey Semi Inc.
+
+pci:v000011E2*
+ ID_VENDOR_FROM_DATABASE=Samsung Information Systems America
+
+pci:v000011E3*
+ ID_VENDOR_FROM_DATABASE=Quicklogic Corporation
+
+pci:v000011E3d00000001*
+ ID_MODEL_FROM_DATABASE=COM-ON-AIR Dosch&Amand DECT
+
+pci:v000011E3d00000560*
+ ID_MODEL_FROM_DATABASE=QL5064 Companion Design Demo Board
+
+pci:v000011E3d00005030*
+ ID_MODEL_FROM_DATABASE=PC Watchdog
+
+pci:v000011E3d00008417*
+ ID_MODEL_FROM_DATABASE=QL5064 [QuickPCI] PCI v2.2 bridge for SMT417 Dual TMS320C6416T PMC Module
+
+pci:v000011E4*
+ ID_VENDOR_FROM_DATABASE=Second Wave Inc
+
+pci:v000011E5*
+ ID_VENDOR_FROM_DATABASE=IIX Consulting
+
+pci:v000011E6*
+ ID_VENDOR_FROM_DATABASE=Mitsui-Zosen System Research
+
+pci:v000011E7*
+ ID_VENDOR_FROM_DATABASE=Toshiba America, Elec. Company
+
+pci:v000011E8*
+ ID_VENDOR_FROM_DATABASE=Digital Processing Systems Inc.
+
+pci:v000011E9*
+ ID_VENDOR_FROM_DATABASE=Highwater Designs Ltd.
+
+pci:v000011EA*
+ ID_VENDOR_FROM_DATABASE=Elsag Bailey
+
+pci:v000011EB*
+ ID_VENDOR_FROM_DATABASE=Formation Inc.
+
+pci:v000011EC*
+ ID_VENDOR_FROM_DATABASE=Coreco Inc
+
+pci:v000011ECd0000000D*
+ ID_MODEL_FROM_DATABASE=Oculus-F/64P
+
+pci:v000011ECd00001800*
+ ID_MODEL_FROM_DATABASE=Cobra/C6
+
+pci:v000011ED*
+ ID_VENDOR_FROM_DATABASE=Mediamatics
+
+pci:v000011EE*
+ ID_VENDOR_FROM_DATABASE=Dome Imaging Systems Inc
+
+pci:v000011EF*
+ ID_VENDOR_FROM_DATABASE=Nicolet Technologies B.V.
+
+pci:v000011F0*
+ ID_VENDOR_FROM_DATABASE=Compu-Shack
+
+pci:v000011F0d00004231*
+ ID_MODEL_FROM_DATABASE=FDDI
+
+pci:v000011F0d00004232*
+ ID_MODEL_FROM_DATABASE=FASTline UTP Quattro
+
+pci:v000011F0d00004233*
+ ID_MODEL_FROM_DATABASE=FASTline FO
+
+pci:v000011F0d00004234*
+ ID_MODEL_FROM_DATABASE=FASTline UTP
+
+pci:v000011F0d00004235*
+ ID_MODEL_FROM_DATABASE=FASTline-II UTP
+
+pci:v000011F0d00004236*
+ ID_MODEL_FROM_DATABASE=FASTline-II FO
+
+pci:v000011F0d00004731*
+ ID_MODEL_FROM_DATABASE=GIGAline
+
+pci:v000011F1*
+ ID_VENDOR_FROM_DATABASE=Symbios Logic Inc
+
+pci:v000011F2*
+ ID_VENDOR_FROM_DATABASE=Picture Tel Japan K.K.
+
+pci:v000011F3*
+ ID_VENDOR_FROM_DATABASE=Keithley Metrabyte
+
+pci:v000011F3d00000011*
+ ID_MODEL_FROM_DATABASE=KPCI-PIO24
+
+pci:v000011F4*
+ ID_VENDOR_FROM_DATABASE=Kinetic Systems Corporation
+
+pci:v000011F4d00002915*
+ ID_MODEL_FROM_DATABASE=CAMAC controller
+
+pci:v000011F5*
+ ID_VENDOR_FROM_DATABASE=Computing Devices International
+
+pci:v000011F6*
+ ID_VENDOR_FROM_DATABASE=Compex
+
+pci:v000011F6d00000112*
+ ID_MODEL_FROM_DATABASE=ENet100VG4
+
+pci:v000011F6d00000113*
+ ID_MODEL_FROM_DATABASE=FreedomLine 100
+
+pci:v000011F6d00001401*
+ ID_MODEL_FROM_DATABASE=ReadyLink 2000
+
+pci:v000011F6d00002011*
+ ID_MODEL_FROM_DATABASE=RL100-ATX 10/100
+
+pci:v000011F6d00002011sv000011F6sd00002011*
+ ID_MODEL_FROM_DATABASE=RL100-ATX
+
+pci:v000011F6d00002201*
+ ID_MODEL_FROM_DATABASE=ReadyLink 100TX (Winbond W89C840)
+
+pci:v000011F6d00002201sv000011F6sd00002011*
+ ID_MODEL_FROM_DATABASE=ReadyLink 100TX
+
+pci:v000011F6d00009881*
+ ID_MODEL_FROM_DATABASE=RL100TX Fast Ethernet
+
+pci:v000011F7*
+ ID_VENDOR_FROM_DATABASE=Scientific Atlanta
+
+pci:v000011F8*
+ ID_VENDOR_FROM_DATABASE=PMC-Sierra Inc.
+
+pci:v000011F8d00005220*
+ ID_MODEL_FROM_DATABASE=BR522x [PMC-Sierra maxRAID SAS Controller]
+
+pci:v000011F8d00007364*
+ ID_MODEL_FROM_DATABASE=PM7364 [FREEDM - 32 Frame Engine & Datalink Mgr]
+
+pci:v000011F8d00007375*
+ ID_MODEL_FROM_DATABASE=PM7375 [LASAR-155 ATM SAR]
+
+pci:v000011F8d00007384*
+ ID_MODEL_FROM_DATABASE=PM7384 [FREEDM - 84P672 Frm Engine & Datalink Mgr]
+
+pci:v000011F8d00008000*
+ ID_MODEL_FROM_DATABASE=PM8000 [SPC - SAS Protocol Controller]
+
+pci:v000011F9*
+ ID_VENDOR_FROM_DATABASE=I-Cube Inc
+
+pci:v000011FA*
+ ID_VENDOR_FROM_DATABASE=Kasan Electronics Company, Ltd.
+
+pci:v000011FB*
+ ID_VENDOR_FROM_DATABASE=Datel Inc
+
+pci:v000011FC*
+ ID_VENDOR_FROM_DATABASE=Silicon Magic
+
+pci:v000011FD*
+ ID_VENDOR_FROM_DATABASE=High Street Consultants
+
+pci:v000011FE*
+ ID_VENDOR_FROM_DATABASE=Comtrol Corporation
+
+pci:v000011FEd00000001*
+ ID_MODEL_FROM_DATABASE=RocketPort 32 port w/external I/F
+
+pci:v000011FEd00000002*
+ ID_MODEL_FROM_DATABASE=RocketPort 8 port w/external I/F
+
+pci:v000011FEd00000003*
+ ID_MODEL_FROM_DATABASE=RocketPort 16 port w/external I/F
+
+pci:v000011FEd00000004*
+ ID_MODEL_FROM_DATABASE=RocketPort 4 port w/quad cable
+
+pci:v000011FEd00000005*
+ ID_MODEL_FROM_DATABASE=RocketPort 8 port w/octa cable
+
+pci:v000011FEd00000006*
+ ID_MODEL_FROM_DATABASE=RocketPort 8 port w/RJ11 connectors
+
+pci:v000011FEd00000007*
+ ID_MODEL_FROM_DATABASE=RocketPort 4 port w/RJ11 connectors
+
+pci:v000011FEd00000008*
+ ID_MODEL_FROM_DATABASE=RocketPort 8 port w/ DB78 SNI (Siemens) connector
+
+pci:v000011FEd00000009*
+ ID_MODEL_FROM_DATABASE=RocketPort 16 port w/ DB78 SNI (Siemens) connector
+
+pci:v000011FEd0000000A*
+ ID_MODEL_FROM_DATABASE=RocketPort Plus 4 port
+
+pci:v000011FEd0000000B*
+ ID_MODEL_FROM_DATABASE=RocketPort Plus 8 port
+
+pci:v000011FEd0000000C*
+ ID_MODEL_FROM_DATABASE=RocketModem 6 port
+
+pci:v000011FEd0000000D*
+ ID_MODEL_FROM_DATABASE=RocketModem 4-port
+
+pci:v000011FEd0000000E*
+ ID_MODEL_FROM_DATABASE=RocketPort Plus 2 port RS232
+
+pci:v000011FEd0000000F*
+ ID_MODEL_FROM_DATABASE=RocketPort Plus 2 port RS422
+
+pci:v000011FEd00000040*
+ ID_MODEL_FROM_DATABASE=RocketPort Infinity Octa, 8port, RJ45
+
+pci:v000011FEd00000041*
+ ID_MODEL_FROM_DATABASE=RocketPort Infinity 32port, External Interface
+
+pci:v000011FEd00000042*
+ ID_MODEL_FROM_DATABASE=RocketPort Infinity 8port, External Interface
+
+pci:v000011FEd00000043*
+ ID_MODEL_FROM_DATABASE=RocketPort Infinity 16port, External Interface
+
+pci:v000011FEd00000044*
+ ID_MODEL_FROM_DATABASE=RocketPort Infinity Quad, 4port, DB
+
+pci:v000011FEd00000045*
+ ID_MODEL_FROM_DATABASE=RocketPort Infinity Octa, 8port, DB
+
+pci:v000011FEd00000047*
+ ID_MODEL_FROM_DATABASE=RocketPort Infinity 4port, RJ45
+
+pci:v000011FEd0000004F*
+ ID_MODEL_FROM_DATABASE=RocketPort Infinity 2port, SMPTE
+
+pci:v000011FEd00000052*
+ ID_MODEL_FROM_DATABASE=RocketPort Infinity Octa, 8port, SMPTE
+
+pci:v000011FEd00000801*
+ ID_MODEL_FROM_DATABASE=RocketPort UPCI 32 port w/external I/F
+
+pci:v000011FEd00000802*
+ ID_MODEL_FROM_DATABASE=RocketPort UPCI 8 port w/external I/F
+
+pci:v000011FEd00000803*
+ ID_MODEL_FROM_DATABASE=RocketPort UPCI 16 port w/external I/F
+
+pci:v000011FEd00000805*
+ ID_MODEL_FROM_DATABASE=RocketPort UPCI 8 port w/octa cable
+
+pci:v000011FEd0000080C*
+ ID_MODEL_FROM_DATABASE=RocketModem III 8 port
+
+pci:v000011FEd0000080D*
+ ID_MODEL_FROM_DATABASE=RocketModem III 4 port
+
+pci:v000011FEd00000810*
+ ID_MODEL_FROM_DATABASE=RocketPort UPCI Plus 4 port RS232
+
+pci:v000011FEd00000811*
+ ID_MODEL_FROM_DATABASE=RocketPort UPCI Plus 8 port RS232
+
+pci:v000011FEd00000812*
+ ID_MODEL_FROM_DATABASE=RocketPort UPCI Plus 8 port RS422
+
+pci:v000011FEd00000903*
+ ID_MODEL_FROM_DATABASE=RocketPort Compact PCI 16 port w/external I/F
+
+pci:v000011FEd00008015*
+ ID_MODEL_FROM_DATABASE=RocketPort 4-port UART 16954
+
+pci:v000011FF*
+ ID_VENDOR_FROM_DATABASE=Scion Corporation
+
+pci:v000011FFd00000003*
+ ID_MODEL_FROM_DATABASE=AG-5
+
+pci:v00001200*
+ ID_VENDOR_FROM_DATABASE=CSS Corporation
+
+pci:v00001201*
+ ID_VENDOR_FROM_DATABASE=Vista Controls Corp
+
+pci:v00001202*
+ ID_VENDOR_FROM_DATABASE=Network General Corp.
+
+pci:v00001202d00004300*
+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter
+
+pci:v00001202d00004300sv00001202sd00009841*
+ ID_MODEL_FROM_DATABASE=SK-9841 LX
+
+pci:v00001202d00004300sv00001202sd00009842*
+ ID_MODEL_FROM_DATABASE=SK-9841 LX dual link
+
+pci:v00001202d00004300sv00001202sd00009843*
+ ID_MODEL_FROM_DATABASE=SK-9843 SX
+
+pci:v00001202d00004300sv00001202sd00009844*
+ ID_MODEL_FROM_DATABASE=SK-9843 SX dual link
+
+pci:v00001203*
+ ID_VENDOR_FROM_DATABASE=Bayer Corporation, Agfa Division
+
+pci:v00001204*
+ ID_VENDOR_FROM_DATABASE=Lattice Semiconductor Corporation
+
+pci:v00001205*
+ ID_VENDOR_FROM_DATABASE=Array Corporation
+
+pci:v00001206*
+ ID_VENDOR_FROM_DATABASE=Amdahl Corporation
+
+pci:v00001208*
+ ID_VENDOR_FROM_DATABASE=Parsytec GmbH
+
+pci:v00001208d00004853*
+ ID_MODEL_FROM_DATABASE=HS-Link Device
+
+pci:v00001209*
+ ID_VENDOR_FROM_DATABASE=SCI Systems Inc
+
+pci:v0000120A*
+ ID_VENDOR_FROM_DATABASE=Synaptel
+
+pci:v0000120B*
+ ID_VENDOR_FROM_DATABASE=Adaptive Solutions
+
+pci:v0000120C*
+ ID_VENDOR_FROM_DATABASE=Technical Corp.
+
+pci:v0000120D*
+ ID_VENDOR_FROM_DATABASE=Compression Labs, Inc.
+
+pci:v0000120E*
+ ID_VENDOR_FROM_DATABASE=Cyclades Corporation
+
+pci:v0000120Ed00000100*
+ ID_MODEL_FROM_DATABASE=Cyclom-Y below first megabyte
+
+pci:v0000120Ed00000101*
+ ID_MODEL_FROM_DATABASE=Cyclom-Y above first megabyte
+
+pci:v0000120Ed00000102*
+ ID_MODEL_FROM_DATABASE=Cyclom-4Y below first megabyte
+
+pci:v0000120Ed00000103*
+ ID_MODEL_FROM_DATABASE=Cyclom-4Y above first megabyte
+
+pci:v0000120Ed00000104*
+ ID_MODEL_FROM_DATABASE=Cyclom-8Y below first megabyte
+
+pci:v0000120Ed00000105*
+ ID_MODEL_FROM_DATABASE=Cyclom-8Y above first megabyte
+
+pci:v0000120Ed00000200*
+ ID_MODEL_FROM_DATABASE=Cyclades-Z below first megabyte
+
+pci:v0000120Ed00000201*
+ ID_MODEL_FROM_DATABASE=Cyclades-Z above first megabyte
+
+pci:v0000120Ed00000300*
+ ID_MODEL_FROM_DATABASE=PC300/RSV or /X21 (2 ports)
+
+pci:v0000120Ed00000301*
+ ID_MODEL_FROM_DATABASE=PC300/RSV or /X21 (1 port)
+
+pci:v0000120Ed00000310*
+ ID_MODEL_FROM_DATABASE=PC300/TE (2 ports)
+
+pci:v0000120Ed00000311*
+ ID_MODEL_FROM_DATABASE=PC300/TE (1 port)
+
+pci:v0000120Ed00000320*
+ ID_MODEL_FROM_DATABASE=PC300/TE-M (2 ports)
+
+pci:v0000120Ed00000321*
+ ID_MODEL_FROM_DATABASE=PC300/TE-M (1 port)
+
+pci:v0000120Ed00000400*
+ ID_MODEL_FROM_DATABASE=PC400
+
+pci:v0000120F*
+ ID_VENDOR_FROM_DATABASE=Essential Communications
+
+pci:v0000120Fd00000001*
+ ID_MODEL_FROM_DATABASE=Roadrunner serial HIPPI
+
+pci:v00001210*
+ ID_VENDOR_FROM_DATABASE=Hyperparallel Technologies
+
+pci:v00001211*
+ ID_VENDOR_FROM_DATABASE=Braintech Inc
+
+pci:v00001212*
+ ID_VENDOR_FROM_DATABASE=Kingston Technology Corp.
+
+pci:v00001213*
+ ID_VENDOR_FROM_DATABASE=Applied Intelligent Systems, Inc.
+
+pci:v00001214*
+ ID_VENDOR_FROM_DATABASE=Performance Technologies, Inc.
+
+pci:v00001215*
+ ID_VENDOR_FROM_DATABASE=Interware Co., Ltd
+
+pci:v00001216*
+ ID_VENDOR_FROM_DATABASE=Purup Prepress A/S
+
+pci:v00001217*
+ ID_VENDOR_FROM_DATABASE=O2 Micro, Inc.
+
+pci:v00001217d000000F7*
+ ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394)
+
+pci:v00001217d000000F7sv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001217d000010F7*
+ ID_MODEL_FROM_DATABASE=1394 OHCI Compliant Host Controller
+
+pci:v00001217d000011F7*
+ ID_MODEL_FROM_DATABASE=OZ600 1394a-2000 Controller
+
+pci:v00001217d000011F7sv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00001217d000013F7*
+ ID_MODEL_FROM_DATABASE=1394 OHCI Compliant Host Controller
+
+pci:v00001217d00006729*
+ ID_MODEL_FROM_DATABASE=OZ6729
+
+pci:v00001217d0000673A*
+ ID_MODEL_FROM_DATABASE=OZ6730
+
+pci:v00001217d00006832*
+ ID_MODEL_FROM_DATABASE=OZ6832/6833 CardBus Controller
+
+pci:v00001217d00006836*
+ ID_MODEL_FROM_DATABASE=OZ6836/6860 CardBus Controller
+
+pci:v00001217d00006872*
+ ID_MODEL_FROM_DATABASE=OZ6812 CardBus Controller
+
+pci:v00001217d00006925*
+ ID_MODEL_FROM_DATABASE=OZ6922 CardBus Controller
+
+pci:v00001217d00006933*
+ ID_MODEL_FROM_DATABASE=OZ6933/711E1 CardBus/SmartCardBus Controller
+
+pci:v00001217d00006933sv00001025sd00001016*
+ ID_MODEL_FROM_DATABASE=Travelmate 612 TX
+
+pci:v00001217d00006972*
+ ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller
+
+pci:v00001217d00006972sv00001014sd0000020C*
+ ID_MODEL_FROM_DATABASE=ThinkPad R30
+
+pci:v00001217d00006972sv00001028sd00000152*
+ ID_MODEL_FROM_DATABASE=Latitude D500
+
+pci:v00001217d00006972sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Magnia Z310
+
+pci:v00001217d00007110*
+ ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator
+
+pci:v00001217d00007110sv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v00001217d00007110sv0000103Csd00000890*
+ ID_MODEL_FROM_DATABASE=NC6000 laptop
+
+pci:v00001217d00007110sv00001734sd0000106C*
+ ID_MODEL_FROM_DATABASE=Amilo A1645
+
+pci:v00001217d00007112*
+ ID_MODEL_FROM_DATABASE=OZ711EC1/M1 SmartCardBus/MemoryCardBus Controller
+
+pci:v00001217d00007113*
+ ID_MODEL_FROM_DATABASE=OZ711EC1 SmartCardBus Controller
+
+pci:v00001217d00007113sv00001025sd00000035*
+ ID_MODEL_FROM_DATABASE=TravelMate 660
+
+pci:v00001217d00007114*
+ ID_MODEL_FROM_DATABASE=OZ711M1/MC1 4-in-1 MemoryCardBus Controller
+
+pci:v00001217d00007120*
+ ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller
+
+pci:v00001217d00007120sv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001217d00007130*
+ ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller
+
+pci:v00001217d00007130sv00001179sd0000FF50*
+ ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E
+
+pci:v00001217d00007134*
+ ID_MODEL_FROM_DATABASE=OZ711MP1/MS1 MemoryCardBus Controller
+
+pci:v00001217d00007135*
+ ID_MODEL_FROM_DATABASE=Cardbus bridge
+
+pci:v00001217d00007136*
+ ID_MODEL_FROM_DATABASE=OZ711SP1 Memory CardBus Controller
+
+pci:v00001217d000071E2*
+ ID_MODEL_FROM_DATABASE=OZ711E2 SmartCardBus Controller
+
+pci:v00001217d00007212*
+ ID_MODEL_FROM_DATABASE=OZ711M2 4-in-1 MemoryCardBus Controller
+
+pci:v00001217d00007213*
+ ID_MODEL_FROM_DATABASE=OZ6933E CardBus Controller
+
+pci:v00001217d00007223*
+ ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller
+
+pci:v00001217d00007223sv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v00001217d00007223sv0000103Csd00000890*
+ ID_MODEL_FROM_DATABASE=NC6000 laptop
+
+pci:v00001217d00007223sv000010CFsd000011C4*
+ ID_MODEL_FROM_DATABASE=Lifebook P5020D Laptop
+
+pci:v00001217d00007233*
+ ID_MODEL_FROM_DATABASE=OZ711MP3/MS3 4-in-1 MemoryCardBus Controller
+
+pci:v00001217d00008120*
+ ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller
+
+pci:v00001217d00008130*
+ ID_MODEL_FROM_DATABASE=Integrated MS/MSPRO/xD Controller
+
+pci:v00001217d00008320*
+ ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller
+
+pci:v00001217d00008320sv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00001217d00008321*
+ ID_MODEL_FROM_DATABASE=Integrated MMC/SD controller
+
+pci:v00001217d00008330*
+ ID_MODEL_FROM_DATABASE=OZ600 MS/xD Controller
+
+pci:v00001217d00008330sv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00001217d00008331*
+ ID_MODEL_FROM_DATABASE=O2 Flash Memory Card
+
+pci:v00001218*
+ ID_VENDOR_FROM_DATABASE=Hybricon Corp.
+
+pci:v00001219*
+ ID_VENDOR_FROM_DATABASE=First Virtual Corporation
+
+pci:v0000121A*
+ ID_VENDOR_FROM_DATABASE=3Dfx Interactive, Inc.
+
+pci:v0000121Ad00000001*
+ ID_MODEL_FROM_DATABASE=Voodoo
+
+pci:v0000121Ad00000002*
+ ID_MODEL_FROM_DATABASE=Voodoo 2
+
+pci:v0000121Ad00000003*
+ ID_MODEL_FROM_DATABASE=Voodoo Banshee
+
+pci:v0000121Ad00000003sv00001092sd00000003*
+ ID_MODEL_FROM_DATABASE=Monster Fusion
+
+pci:v0000121Ad00000003sv00001092sd00004000*
+ ID_MODEL_FROM_DATABASE=Monster Fusion
+
+pci:v0000121Ad00000003sv00001092sd00004002*
+ ID_MODEL_FROM_DATABASE=Monster Fusion
+
+pci:v0000121Ad00000003sv00001092sd00004801*
+ ID_MODEL_FROM_DATABASE=Monster Fusion AGP
+
+pci:v0000121Ad00000003sv00001092sd00004803*
+ ID_MODEL_FROM_DATABASE=Monster Fusion AGP
+
+pci:v0000121Ad00000003sv00001092sd00008030*
+ ID_MODEL_FROM_DATABASE=Monster Fusion
+
+pci:v0000121Ad00000003sv00001092sd00008035*
+ ID_MODEL_FROM_DATABASE=Monster Fusion AGP
+
+pci:v0000121Ad00000003sv000010B0sd00000001*
+ ID_MODEL_FROM_DATABASE=Dragon 4000
+
+pci:v0000121Ad00000003sv00001102sd00001017*
+ ID_MODEL_FROM_DATABASE=3D Blaster Banshee PCI (CT6760)
+
+pci:v0000121Ad00000003sv00001102sd00001018*
+ ID_MODEL_FROM_DATABASE=3D Blaster Banshee VE
+
+pci:v0000121Ad00000003sv0000121Asd00000001*
+ ID_MODEL_FROM_DATABASE=Voodoo Banshee AGP
+
+pci:v0000121Ad00000003sv0000121Asd00000003*
+ ID_MODEL_FROM_DATABASE=Voodoo Banshee AGP SGRAM
+
+pci:v0000121Ad00000003sv0000121Asd00000004*
+ ID_MODEL_FROM_DATABASE=Voodoo Banshee
+
+pci:v0000121Ad00000003sv0000139Csd00000016*
+ ID_MODEL_FROM_DATABASE=Raven
+
+pci:v0000121Ad00000003sv0000139Csd00000017*
+ ID_MODEL_FROM_DATABASE=Raven
+
+pci:v0000121Ad00000003sv000014AFsd00000002*
+ ID_MODEL_FROM_DATABASE=Maxi Gamer Phoenix
+
+pci:v0000121Ad00000004*
+ ID_MODEL_FROM_DATABASE=Voodoo Banshee [Velocity 100]
+
+pci:v0000121Ad00000005*
+ ID_MODEL_FROM_DATABASE=Voodoo 3
+
+pci:v0000121Ad00000005sv0000121Asd00000004*
+ ID_MODEL_FROM_DATABASE=Voodoo3 AGP
+
+pci:v0000121Ad00000005sv0000121Asd00000030*
+ ID_MODEL_FROM_DATABASE=Voodoo3 AGP
+
+pci:v0000121Ad00000005sv0000121Asd00000031*
+ ID_MODEL_FROM_DATABASE=Voodoo3 AGP
+
+pci:v0000121Ad00000005sv0000121Asd00000034*
+ ID_MODEL_FROM_DATABASE=Voodoo3 AGP
+
+pci:v0000121Ad00000005sv0000121Asd00000036*
+ ID_MODEL_FROM_DATABASE=Voodoo3 2000 PCI
+
+pci:v0000121Ad00000005sv0000121Asd00000037*
+ ID_MODEL_FROM_DATABASE=Voodoo3 AGP
+
+pci:v0000121Ad00000005sv0000121Asd00000038*
+ ID_MODEL_FROM_DATABASE=Voodoo3 AGP
+
+pci:v0000121Ad00000005sv0000121Asd0000003A*
+ ID_MODEL_FROM_DATABASE=Voodoo3 AGP
+
+pci:v0000121Ad00000005sv0000121Asd00000044*
+ ID_MODEL_FROM_DATABASE=Voodoo3
+
+pci:v0000121Ad00000005sv0000121Asd0000004B*
+ ID_MODEL_FROM_DATABASE=Velocity 100
+
+pci:v0000121Ad00000005sv0000121Asd0000004C*
+ ID_MODEL_FROM_DATABASE=Velocity 200
+
+pci:v0000121Ad00000005sv0000121Asd0000004D*
+ ID_MODEL_FROM_DATABASE=Voodoo3 AGP
+
+pci:v0000121Ad00000005sv0000121Asd0000004E*
+ ID_MODEL_FROM_DATABASE=Voodoo3 AGP
+
+pci:v0000121Ad00000005sv0000121Asd00000051*
+ ID_MODEL_FROM_DATABASE=Voodoo3 AGP
+
+pci:v0000121Ad00000005sv0000121Asd00000052*
+ ID_MODEL_FROM_DATABASE=Voodoo3 AGP
+
+pci:v0000121Ad00000005sv0000121Asd00000057*
+ ID_MODEL_FROM_DATABASE=Voodoo3 3000 PCI
+
+pci:v0000121Ad00000005sv0000121Asd00000060*
+ ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (NTSC)
+
+pci:v0000121Ad00000005sv0000121Asd00000061*
+ ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (PAL)
+
+pci:v0000121Ad00000005sv0000121Asd00000062*
+ ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (SECAM)
+
+pci:v0000121Ad00000009*
+ ID_MODEL_FROM_DATABASE=Voodoo 4 / Voodoo 5
+
+pci:v0000121Ad00000009sv0000121Asd00000003*
+ ID_MODEL_FROM_DATABASE=Voodoo5 PCI 5500
+
+pci:v0000121Ad00000009sv0000121Asd00000009*
+ ID_MODEL_FROM_DATABASE=Voodoo5 AGP 5500/6000
+
+pci:v0000121Ad00000057*
+ ID_MODEL_FROM_DATABASE=Voodoo 3/3000 [Avenger]
+
+pci:v0000121B*
+ ID_VENDOR_FROM_DATABASE=Advanced Telecommunications Modules
+
+pci:v0000121C*
+ ID_VENDOR_FROM_DATABASE=Nippon Texaco., Ltd
+
+pci:v0000121D*
+ ID_VENDOR_FROM_DATABASE=LiPPERT ADLINK Technology GmbH
+
+pci:v0000121E*
+ ID_VENDOR_FROM_DATABASE=CSPI
+
+pci:v0000121Ed00000201*
+ ID_MODEL_FROM_DATABASE=Myrinet 2000 Scalable Cluster Interconnect
+
+pci:v0000121F*
+ ID_VENDOR_FROM_DATABASE=Arcus Technology, Inc.
+
+pci:v00001220*
+ ID_VENDOR_FROM_DATABASE=Ariel Corporation
+
+pci:v00001220d00001220*
+ ID_MODEL_FROM_DATABASE=AMCC 5933 TMS320C80 DSP/Imaging board
+
+pci:v00001221*
+ ID_VENDOR_FROM_DATABASE=Contec Co., Ltd
+
+pci:v00001221d00009172*
+ ID_MODEL_FROM_DATABASE=PO-64L(PCI)H [Isolated Digital Output Board for PCI]
+
+pci:v00001221d000091A2*
+ ID_MODEL_FROM_DATABASE=PO-32L(PCI)H [Isolated Digital Output Board for PCI]
+
+pci:v00001221d000091C3*
+ ID_MODEL_FROM_DATABASE=DA16-16(LPCI)L [Un-insulated highly precise analog output board for Low Profile PCI]
+
+pci:v00001221d0000B152*
+ ID_MODEL_FROM_DATABASE=DIO-96D2-LPCI
+
+pci:v00001221d0000C103*
+ ID_MODEL_FROM_DATABASE=ADA16-32/2(PCI)F [High-Speed Analog I/O Board for PCI]
+
+pci:v00001222*
+ ID_VENDOR_FROM_DATABASE=Ancor Communications, Inc.
+
+pci:v00001223*
+ ID_VENDOR_FROM_DATABASE=Artesyn Communication Products
+
+pci:v00001223d00000003*
+ ID_MODEL_FROM_DATABASE=PM/Link
+
+pci:v00001223d00000004*
+ ID_MODEL_FROM_DATABASE=PM/T1
+
+pci:v00001223d00000005*
+ ID_MODEL_FROM_DATABASE=PM/E1
+
+pci:v00001223d00000008*
+ ID_MODEL_FROM_DATABASE=PM/SLS
+
+pci:v00001223d00000009*
+ ID_MODEL_FROM_DATABASE=BajaSpan Resource Target
+
+pci:v00001223d0000000A*
+ ID_MODEL_FROM_DATABASE=BajaSpan Section 0
+
+pci:v00001223d0000000B*
+ ID_MODEL_FROM_DATABASE=BajaSpan Section 1
+
+pci:v00001223d0000000C*
+ ID_MODEL_FROM_DATABASE=BajaSpan Section 2
+
+pci:v00001223d0000000D*
+ ID_MODEL_FROM_DATABASE=BajaSpan Section 3
+
+pci:v00001223d0000000E*
+ ID_MODEL_FROM_DATABASE=PM/PPC
+
+pci:v00001224*
+ ID_VENDOR_FROM_DATABASE=Interactive Images
+
+pci:v00001225*
+ ID_VENDOR_FROM_DATABASE=Power I/O, Inc.
+
+pci:v00001227*
+ ID_VENDOR_FROM_DATABASE=Tech-Source
+
+pci:v00001227d00000006*
+ ID_MODEL_FROM_DATABASE=Raptor GFX 8P
+
+pci:v00001227d00000023*
+ ID_MODEL_FROM_DATABASE=Raptor GFX [1100T]
+
+pci:v00001227d00000045*
+ ID_MODEL_FROM_DATABASE=Raptor 4000-L [Linux version]
+
+pci:v00001227d0000004A*
+ ID_MODEL_FROM_DATABASE=Raptor 4000-LR-L [Linux version]
+
+pci:v00001228*
+ ID_VENDOR_FROM_DATABASE=Norsk Elektro Optikk A/S
+
+pci:v00001229*
+ ID_VENDOR_FROM_DATABASE=Data Kinesis Inc.
+
+pci:v0000122A*
+ ID_VENDOR_FROM_DATABASE=Integrated Telecom
+
+pci:v0000122B*
+ ID_VENDOR_FROM_DATABASE=LG Industrial Systems Co., Ltd
+
+pci:v0000122C*
+ ID_VENDOR_FROM_DATABASE=Sican GmbH
+
+pci:v0000122D*
+ ID_VENDOR_FROM_DATABASE=Aztech System Ltd
+
+pci:v0000122Dd00001206*
+ ID_MODEL_FROM_DATABASE=368DSP
+
+pci:v0000122Dd00001400*
+ ID_MODEL_FROM_DATABASE=Trident PCI288-Q3DII (NX)
+
+pci:v0000122Dd000050DC*
+ ID_MODEL_FROM_DATABASE=3328 Audio
+
+pci:v0000122Dd000050DCsv0000122Dsd00000001*
+ ID_MODEL_FROM_DATABASE=3328 Audio
+
+pci:v0000122Dd000080DA*
+ ID_MODEL_FROM_DATABASE=3328 Audio
+
+pci:v0000122Dd000080DAsv0000122Dsd00000001*
+ ID_MODEL_FROM_DATABASE=3328 Audio
+
+pci:v0000122E*
+ ID_VENDOR_FROM_DATABASE=Xyratex
+
+pci:v0000122Ed00007722*
+ ID_MODEL_FROM_DATABASE=Napatech XL1
+
+pci:v0000122Ed00007724*
+ ID_MODEL_FROM_DATABASE=Napatech XL2/XA
+
+pci:v0000122Ed00007729*
+ ID_MODEL_FROM_DATABASE=Napatech XD
+
+pci:v0000122F*
+ ID_VENDOR_FROM_DATABASE=Andrew Corporation
+
+pci:v00001230*
+ ID_VENDOR_FROM_DATABASE=Fishcamp Engineering
+
+pci:v00001231*
+ ID_VENDOR_FROM_DATABASE=Woodward McCoach, Inc.
+
+pci:v00001231d000004E1*
+ ID_MODEL_FROM_DATABASE=Desktop PCI Telephony 4
+
+pci:v00001231d000005E1*
+ ID_MODEL_FROM_DATABASE=Desktop PCI Telephony 5/6
+
+pci:v00001231d00000D00*
+ ID_MODEL_FROM_DATABASE=LightParser
+
+pci:v00001231d00000D02*
+ ID_MODEL_FROM_DATABASE=LightParser 2
+
+pci:v00001231d00000D13*
+ ID_MODEL_FROM_DATABASE=Desktop PCI L1/L3 Telephony
+
+pci:v00001232*
+ ID_VENDOR_FROM_DATABASE=GPT Limited
+
+pci:v00001233*
+ ID_VENDOR_FROM_DATABASE=Bus-Tech, Inc.
+
+pci:v00001235*
+ ID_VENDOR_FROM_DATABASE=Risq Modular Systems, Inc.
+
+pci:v00001236*
+ ID_VENDOR_FROM_DATABASE=Sigma Designs Corporation
+
+pci:v00001236d00000000*
+ ID_MODEL_FROM_DATABASE=RealMagic64/GX
+
+pci:v00001236d00006401*
+ ID_MODEL_FROM_DATABASE=REALmagic 64/GX (SD 6425)
+
+pci:v00001237*
+ ID_VENDOR_FROM_DATABASE=Alta Technology Corporation
+
+pci:v00001238*
+ ID_VENDOR_FROM_DATABASE=Adtran
+
+pci:v00001239*
+ ID_VENDOR_FROM_DATABASE=3DO Company
+
+pci:v0000123A*
+ ID_VENDOR_FROM_DATABASE=Visicom Laboratories, Inc.
+
+pci:v0000123B*
+ ID_VENDOR_FROM_DATABASE=Seeq Technology, Inc.
+
+pci:v0000123C*
+ ID_VENDOR_FROM_DATABASE=Century Systems, Inc.
+
+pci:v0000123D*
+ ID_VENDOR_FROM_DATABASE=Engineering Design Team, Inc.
+
+pci:v0000123Dd00000000*
+ ID_MODEL_FROM_DATABASE=EasyConnect 8/32
+
+pci:v0000123Dd00000002*
+ ID_MODEL_FROM_DATABASE=EasyConnect 8/64
+
+pci:v0000123Dd00000003*
+ ID_MODEL_FROM_DATABASE=EasyIO
+
+pci:v0000123E*
+ ID_VENDOR_FROM_DATABASE=Simutech, Inc.
+
+pci:v0000123F*
+ ID_VENDOR_FROM_DATABASE=C-Cube Microsystems
+
+pci:v0000123Fd000000E4*
+ ID_MODEL_FROM_DATABASE=MPEG
+
+pci:v0000123Fd00008120*
+ ID_MODEL_FROM_DATABASE=E4?
+
+pci:v0000123Fd00008120sv000011BDsd00000006*
+ ID_MODEL_FROM_DATABASE=DV500 E4
+
+pci:v0000123Fd00008120sv000011BDsd0000000A*
+ ID_MODEL_FROM_DATABASE=DV500 E4
+
+pci:v0000123Fd00008120sv000011BDsd0000000F*
+ ID_MODEL_FROM_DATABASE=DV500 E4
+
+pci:v0000123Fd00008120sv00001809sd00000016*
+ ID_MODEL_FROM_DATABASE=Emuzed MAUI-III PCI PVR FM TV
+
+pci:v0000123Fd00008888*
+ ID_MODEL_FROM_DATABASE=Cinemaster C 3.0 DVD Decoder
+
+pci:v0000123Fd00008888sv00001002sd00000001*
+ ID_MODEL_FROM_DATABASE=Cinemaster C 3.0 DVD Decoder
+
+pci:v0000123Fd00008888sv00001002sd00000002*
+ ID_MODEL_FROM_DATABASE=Cinemaster C 3.0 DVD Decoder
+
+pci:v0000123Fd00008888sv00001328sd00000001*
+ ID_MODEL_FROM_DATABASE=Cinemaster C 3.0 DVD Decoder
+
+pci:v00001240*
+ ID_VENDOR_FROM_DATABASE=Marathon Technologies Corp.
+
+pci:v00001241*
+ ID_VENDOR_FROM_DATABASE=DSC Communications
+
+pci:v00001242*
+ ID_VENDOR_FROM_DATABASE=JNI Corporation
+
+pci:v00001242d00001560*
+ ID_MODEL_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller
+
+pci:v00001242d00001560sv00001242sd00006562*
+ ID_MODEL_FROM_DATABASE=FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter
+
+pci:v00001242d00001560sv00001242sd0000656A*
+ ID_MODEL_FROM_DATABASE=FCX-6562 PCI-X Fibre Channel Adapter
+
+pci:v00001242d00004643*
+ ID_MODEL_FROM_DATABASE=FCI-1063 Fibre Channel Adapter
+
+pci:v00001242d00006562*
+ ID_MODEL_FROM_DATABASE=FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter
+
+pci:v00001242d0000656A*
+ ID_MODEL_FROM_DATABASE=FCX-6562 PCI-X Fibre Channel Adapter
+
+pci:v00001243*
+ ID_VENDOR_FROM_DATABASE=Delphax
+
+pci:v00001244*
+ ID_VENDOR_FROM_DATABASE=AVM GmbH
+
+pci:v00001244d00000700*
+ ID_MODEL_FROM_DATABASE=B1 ISDN
+
+pci:v00001244d00000800*
+ ID_MODEL_FROM_DATABASE=C4 ISDN
+
+pci:v00001244d00000A00*
+ ID_MODEL_FROM_DATABASE=A1 ISDN [Fritz]
+
+pci:v00001244d00000A00sv00001244sd00000A00*
+ ID_MODEL_FROM_DATABASE=FRITZ!Card ISDN Controller
+
+pci:v00001244d00000E00*
+ ID_MODEL_FROM_DATABASE=Fritz!PCI v2.0 ISDN
+
+pci:v00001244d00001100*
+ ID_MODEL_FROM_DATABASE=C2 ISDN
+
+pci:v00001244d00001200*
+ ID_MODEL_FROM_DATABASE=T1 ISDN
+
+pci:v00001244d00002700*
+ ID_MODEL_FROM_DATABASE=Fritz!Card DSL SL
+
+pci:v00001244d00002900*
+ ID_MODEL_FROM_DATABASE=Fritz!Card DSL v2.0
+
+pci:v00001245*
+ ID_VENDOR_FROM_DATABASE=A.P.D., S.A.
+
+pci:v00001246*
+ ID_VENDOR_FROM_DATABASE=Dipix Technologies, Inc.
+
+pci:v00001247*
+ ID_VENDOR_FROM_DATABASE=Xylon Research, Inc.
+
+pci:v00001248*
+ ID_VENDOR_FROM_DATABASE=Central Data Corporation
+
+pci:v00001249*
+ ID_VENDOR_FROM_DATABASE=Samsung Electronics Co., Ltd.
+
+pci:v0000124A*
+ ID_VENDOR_FROM_DATABASE=AEG Electrocom GmbH
+
+pci:v0000124B*
+ ID_VENDOR_FROM_DATABASE=SBS/Greenspring Modular I/O
+
+pci:v0000124Bd00000040*
+ ID_MODEL_FROM_DATABASE=PCI-40A or cPCI-200 Quad IndustryPack carrier
+
+pci:v0000124Bd00000040sv0000124Bsd00009080*
+ ID_MODEL_FROM_DATABASE=PCI9080 Bridge
+
+pci:v0000124C*
+ ID_VENDOR_FROM_DATABASE=Solitron Technologies, Inc.
+
+pci:v0000124D*
+ ID_VENDOR_FROM_DATABASE=Stallion Technologies, Inc.
+
+pci:v0000124Dd00000000*
+ ID_MODEL_FROM_DATABASE=EasyConnection 8/32
+
+pci:v0000124Dd00000002*
+ ID_MODEL_FROM_DATABASE=EasyConnection 8/64
+
+pci:v0000124Dd00000003*
+ ID_MODEL_FROM_DATABASE=EasyIO
+
+pci:v0000124Dd00000004*
+ ID_MODEL_FROM_DATABASE=EasyConnection/RA
+
+pci:v0000124E*
+ ID_VENDOR_FROM_DATABASE=Cylink
+
+pci:v0000124F*
+ ID_VENDOR_FROM_DATABASE=Infortrend Technology, Inc.
+
+pci:v0000124Fd00000041*
+ ID_MODEL_FROM_DATABASE=IFT-2000 Series RAID Controller
+
+pci:v00001250*
+ ID_VENDOR_FROM_DATABASE=Hitachi Microcomputer System Ltd
+
+pci:v00001251*
+ ID_VENDOR_FROM_DATABASE=VLSI Solutions Oy
+
+pci:v00001253*
+ ID_VENDOR_FROM_DATABASE=Guzik Technical Enterprises
+
+pci:v00001254*
+ ID_VENDOR_FROM_DATABASE=Linear Systems Ltd.
+
+pci:v00001254d00000065*
+ ID_MODEL_FROM_DATABASE=DVB Master FD
+
+pci:v00001254d0000007C*
+ ID_MODEL_FROM_DATABASE=DVB Master Quad/o
+
+pci:v00001255*
+ ID_VENDOR_FROM_DATABASE=Optibase Ltd
+
+pci:v00001255d00001110*
+ ID_MODEL_FROM_DATABASE=MPEG Forge
+
+pci:v00001255d00001210*
+ ID_MODEL_FROM_DATABASE=MPEG Fusion
+
+pci:v00001255d00002110*
+ ID_MODEL_FROM_DATABASE=VideoPlex
+
+pci:v00001255d00002120*
+ ID_MODEL_FROM_DATABASE=VideoPlex CC
+
+pci:v00001255d00002130*
+ ID_MODEL_FROM_DATABASE=VideoQuest
+
+pci:v00001256*
+ ID_VENDOR_FROM_DATABASE=Perceptive Solutions, Inc.
+
+pci:v00001256d00004201*
+ ID_MODEL_FROM_DATABASE=PCI-2220I
+
+pci:v00001256d00004401*
+ ID_MODEL_FROM_DATABASE=PCI-2240I
+
+pci:v00001256d00005201*
+ ID_MODEL_FROM_DATABASE=PCI-2000
+
+pci:v00001257*
+ ID_VENDOR_FROM_DATABASE=Vertex Networks, Inc.
+
+pci:v00001258*
+ ID_VENDOR_FROM_DATABASE=Gilbarco, Inc.
+
+pci:v00001259*
+ ID_VENDOR_FROM_DATABASE=Allied Telesis
+
+pci:v00001259d00002560*
+ ID_MODEL_FROM_DATABASE=AT-2560 Fast Ethernet Adapter (i82557B)
+
+pci:v00001259d00002801*
+ ID_MODEL_FROM_DATABASE=AT-2801FX (RTL-8139)
+
+pci:v00001259d0000A117*
+ ID_MODEL_FROM_DATABASE=RTL81xx Fast Ethernet
+
+pci:v00001259d0000A11E*
+ ID_MODEL_FROM_DATABASE=RTL81xx Fast Ethernet
+
+pci:v00001259d0000A120*
+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
+
+pci:v0000125A*
+ ID_VENDOR_FROM_DATABASE=ABB Power Systems
+
+pci:v0000125B*
+ ID_VENDOR_FROM_DATABASE=Asix Electronics Corporation
+
+pci:v0000125Bd00001400*
+ ID_MODEL_FROM_DATABASE=AX88141 Fast Ethernet Controller
+
+pci:v0000125Bd00001400sv00001186sd00001100*
+ ID_MODEL_FROM_DATABASE=AX8814X Based PCI Fast Ethernet Adapter
+
+pci:v0000125C*
+ ID_VENDOR_FROM_DATABASE=Aurora Technologies, Inc.
+
+pci:v0000125Cd00000101*
+ ID_MODEL_FROM_DATABASE=Saturn 4520P
+
+pci:v0000125Cd00000640*
+ ID_MODEL_FROM_DATABASE=Aries 16000P
+
+pci:v0000125D*
+ ID_VENDOR_FROM_DATABASE=ESS Technology
+
+pci:v0000125Dd00000000*
+ ID_MODEL_FROM_DATABASE=ES336H Fax Modem (Early Model)
+
+pci:v0000125Dd00001948*
+ ID_MODEL_FROM_DATABASE=ES1948 Maestro-1
+
+pci:v0000125Dd00001968*
+ ID_MODEL_FROM_DATABASE=ES1968 Maestro 2
+
+pci:v0000125Dd00001968sv00001028sd00000085*
+ ID_MODEL_FROM_DATABASE=ES1968 Maestro-2 PCI
+
+pci:v0000125Dd00001968sv00001033sd00008051*
+ ID_MODEL_FROM_DATABASE=ES1968 Maestro-2 Audiodrive
+
+pci:v0000125Dd00001969*
+ ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive
+
+pci:v0000125Dd00001969sv00001014sd00000166*
+ ID_MODEL_FROM_DATABASE=ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard
+
+pci:v0000125Dd00001969sv0000125Dsd00008888*
+ ID_MODEL_FROM_DATABASE=Solo-1 Audio Adapter
+
+pci:v0000125Dd00001969sv0000153Bsd0000111B*
+ ID_MODEL_FROM_DATABASE=Terratec 128i PCI
+
+pci:v0000125Dd00001978*
+ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E
+
+pci:v0000125Dd00001978sv00000E11sd0000B112*
+ ID_MODEL_FROM_DATABASE=Armada M700/E500
+
+pci:v0000125Dd00001978sv00001033sd0000803C*
+ ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive
+
+pci:v0000125Dd00001978sv00001033sd00008058*
+ ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive
+
+pci:v0000125Dd00001978sv00001092sd00004000*
+ ID_MODEL_FROM_DATABASE=Monster Sound MX400
+
+pci:v0000125Dd00001978sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive
+
+pci:v0000125Dd00001988*
+ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1
+
+pci:v0000125Dd00001988sv00000E11sd00000098*
+ ID_MODEL_FROM_DATABASE=Evo N600c
+
+pci:v0000125Dd00001988sv00001092sd00004100*
+ ID_MODEL_FROM_DATABASE=Sonic Impact S100
+
+pci:v0000125Dd00001988sv0000125Dsd00000431*
+ ID_MODEL_FROM_DATABASE=Allegro AudioDrive
+
+pci:v0000125Dd00001988sv0000125Dsd00001988*
+ ID_MODEL_FROM_DATABASE=ESS Allegro-1 Audiodrive
+
+pci:v0000125Dd00001988sv0000125Dsd00001998*
+ ID_MODEL_FROM_DATABASE=Allegro AudioDrive
+
+pci:v0000125Dd00001988sv0000125Dsd00001999*
+ ID_MODEL_FROM_DATABASE=Allegro-1 AudioDrive
+
+pci:v0000125Dd00001989*
+ ID_MODEL_FROM_DATABASE=ESS Modem
+
+pci:v0000125Dd00001989sv0000125Dsd00001989*
+ ID_MODEL_FROM_DATABASE=ESS Modem
+
+pci:v0000125Dd00001998*
+ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator
+
+pci:v0000125Dd00001998sv00001028sd000000B1*
+ ID_MODEL_FROM_DATABASE=Latitude C600
+
+pci:v0000125Dd00001998sv00001028sd000000E5*
+ ID_MODEL_FROM_DATABASE=Latitude C810
+
+pci:v0000125Dd00001998sv00001028sd000000E6*
+ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i (Dell Inspiron 8100)
+
+pci:v0000125Dd00001999*
+ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Modem Accelerator
+
+pci:v0000125Dd0000199A*
+ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator
+
+pci:v0000125Dd0000199B*
+ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Modem Accelerator
+
+pci:v0000125Dd00002808*
+ ID_MODEL_FROM_DATABASE=ES336H Fax Modem (Later Model)
+
+pci:v0000125Dd00002838*
+ ID_MODEL_FROM_DATABASE=ES2838/2839 SuperLink Modem
+
+pci:v0000125Dd00002898*
+ ID_MODEL_FROM_DATABASE=ES2898 Modem
+
+pci:v0000125Dd00002898sv0000125Dsd00000424*
+ ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem
+
+pci:v0000125Dd00002898sv0000125Dsd00000425*
+ ID_MODEL_FROM_DATABASE=ES56T-PI Data Fax Modem
+
+pci:v0000125Dd00002898sv0000125Dsd00000426*
+ ID_MODEL_FROM_DATABASE=ES56V-PI Data Fax Modem
+
+pci:v0000125Dd00002898sv0000125Dsd00000427*
+ ID_MODEL_FROM_DATABASE=VW-PI Data Fax Modem
+
+pci:v0000125Dd00002898sv0000125Dsd00000428*
+ ID_MODEL_FROM_DATABASE=ES56ST-PI Data Fax Modem
+
+pci:v0000125Dd00002898sv0000125Dsd00000429*
+ ID_MODEL_FROM_DATABASE=ES56SV-PI Data Fax Modem
+
+pci:v0000125Dd00002898sv0000147Asd0000C001*
+ ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem
+
+pci:v0000125Dd00002898sv0000148Dsd00001030*
+ ID_MODEL_FROM_DATABASE=HCF WV-PI56 [ESS ES56-PI Data Fax Modem]
+
+pci:v0000125Dd00002898sv000014FEsd00000428*
+ ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem
+
+pci:v0000125Dd00002898sv000014FEsd00000429*
+ ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem
+
+pci:v0000125E*
+ ID_VENDOR_FROM_DATABASE=Specialvideo Engineering SRL
+
+pci:v0000125F*
+ ID_VENDOR_FROM_DATABASE=Concurrent Technologies, Inc.
+
+pci:v00001260*
+ ID_VENDOR_FROM_DATABASE=Intersil Corporation
+
+pci:v00001260d00003872*
+ ID_MODEL_FROM_DATABASE=ISL3872 [Prism 3]
+
+pci:v00001260d00003872sv00001468sd00000202*
+ ID_MODEL_FROM_DATABASE=LAN-Express IEEE 802.11b Wireless LAN
+
+pci:v00001260d00003873*
+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3]
+
+pci:v00001260d00003873sv000010CFsd00001169*
+ ID_MODEL_FROM_DATABASE=MBH7WM01-8734 802.11b Wireless Mini PCI Card [ISL3874]
+
+pci:v00001260d00003873sv00001186sd00003501*
+ ID_MODEL_FROM_DATABASE=DWL-520 Wireless PCI Adapter (rev A or B) [ISL3874]
+
+pci:v00001260d00003873sv00001186sd00003700*
+ ID_MODEL_FROM_DATABASE=DWL-520 Wireless PCI Adapter (rev E1) [ISL3872]
+
+pci:v00001260d00003873sv00001385sd00004105*
+ ID_MODEL_FROM_DATABASE=MA311 802.11b wireless adapter [ISL3874]
+
+pci:v00001260d00003873sv00001668sd00000414*
+ ID_MODEL_FROM_DATABASE=HWP01170-01 802.11b PCI Wireless Adapter
+
+pci:v00001260d00003873sv000016A5sd00001601*
+ ID_MODEL_FROM_DATABASE=AIR.mate PC-400 PCI Wireless LAN Adapter
+
+pci:v00001260d00003873sv00001737sd00003874*
+ ID_MODEL_FROM_DATABASE=WMP11 v1 802.11b Wireless-B PCI Adapter [ISL3874]
+
+pci:v00001260d00003873sv00004033sd00007033*
+ ID_MODEL_FROM_DATABASE=PCW200 802.11b Wireless PCI Adapter [ISL3874]
+
+pci:v00001260d00003873sv00008086sd00002510*
+ ID_MODEL_FROM_DATABASE=M3AWEB Wireless 802.11b MiniPCI Adapter
+
+pci:v00001260d00003873sv00008086sd00002513*
+ ID_MODEL_FROM_DATABASE=Wireless 802.11b MiniPCI Adapter
+
+pci:v00001260d00003877*
+ ID_MODEL_FROM_DATABASE=ISL3877 [Prism Indigo]
+
+pci:v00001260d00003886*
+ ID_MODEL_FROM_DATABASE=ISL3886 [Prism Javelin/Prism Xbow]
+
+pci:v00001260d00003886sv000017CFsd00000037*
+ ID_MODEL_FROM_DATABASE=XG-901 and clones Wireless Adapter
+
+pci:v00001260d00003890*
+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow]
+
+pci:v00001260d00003890sv000010B8sd00002802*
+ ID_MODEL_FROM_DATABASE=SMC2802W V1 Wireless PCI Adapter [ISL3890]
+
+pci:v00001260d00003890sv000010B8sd00002835*
+ ID_MODEL_FROM_DATABASE=SMC2835W Wireless Cardbus Adapter
+
+pci:v00001260d00003890sv000010B8sd0000A835*
+ ID_MODEL_FROM_DATABASE=SMC2835W V2 Wireless Cardbus Adapter
+
+pci:v00001260d00003890sv00001113sd00004203*
+ ID_MODEL_FROM_DATABASE=WN4201B
+
+pci:v00001260d00003890sv00001113sd00008201*
+ ID_MODEL_FROM_DATABASE=T-Com T-Sinus 154pcicard Wireless PCI Adapter
+
+pci:v00001260d00003890sv00001113sd0000B301*
+ ID_MODEL_FROM_DATABASE=T-Sinus 154card Cardbus
+
+pci:v00001260d00003890sv00001113sd0000EE03*
+ ID_MODEL_FROM_DATABASE=SMC2802W V2 Wireless PCI Adapter [ISL3886]
+
+pci:v00001260d00003890sv00001113sd0000EE08*
+ ID_MODEL_FROM_DATABASE=SMC2835W V3 EU Wireless Cardbus Adapter
+
+pci:v00001260d00003890sv00001186sd00003202*
+ ID_MODEL_FROM_DATABASE=DWL-G650 A1 Wireless Adapter
+
+pci:v00001260d00003890sv00001259sd0000C104*
+ ID_MODEL_FROM_DATABASE=CG-WLCB54GT Wireless Adapter
+
+pci:v00001260d00003890sv00001260sd00000000*
+ ID_MODEL_FROM_DATABASE=WG511 v1 54 Mbps Wireless PC Card
+
+pci:v00001260d00003890sv00001385sd00004800*
+ ID_MODEL_FROM_DATABASE=WG511 v2/v3 54 Mbps Wireless PC Card
+
+pci:v00001260d00003890sv000016A5sd00001605*
+ ID_MODEL_FROM_DATABASE=ALLNET ALL0271 Wireless PCI Adapter
+
+pci:v00001260d00003890sv000017CFsd00000014*
+ ID_MODEL_FROM_DATABASE=XG-600 and clones Wireless Adapter
+
+pci:v00001260d00003890sv000017CFsd00000020*
+ ID_MODEL_FROM_DATABASE=XG-900 and clones Wireless Adapter
+
+pci:v00001260d00003890sv0000187Esd00003403*
+ ID_MODEL_FROM_DATABASE=G-110 802.11g Wireless Cardbus Adapter
+
+pci:v00001260d00008130*
+ ID_MODEL_FROM_DATABASE=HMP8130 NTSC/PAL Video Decoder
+
+pci:v00001260d00008131*
+ ID_MODEL_FROM_DATABASE=HMP8131 NTSC/PAL Video Decoder
+
+pci:v00001260d0000FFFF*
+ ID_MODEL_FROM_DATABASE=ISL3886IK
+
+pci:v00001260d0000FFFFsv00001260sd00000000*
+ ID_MODEL_FROM_DATABASE=Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter
+
+pci:v00001261*
+ ID_VENDOR_FROM_DATABASE=Matsushita-Kotobuki Electronics Industries, Ltd.
+
+pci:v00001262*
+ ID_VENDOR_FROM_DATABASE=ES Computer Company, Ltd.
+
+pci:v00001263*
+ ID_VENDOR_FROM_DATABASE=Sonic Solutions
+
+pci:v00001264*
+ ID_VENDOR_FROM_DATABASE=Aval Nagasaki Corporation
+
+pci:v00001265*
+ ID_VENDOR_FROM_DATABASE=Casio Computer Co., Ltd.
+
+pci:v00001266*
+ ID_VENDOR_FROM_DATABASE=Microdyne Corporation
+
+pci:v00001266d00000001*
+ ID_MODEL_FROM_DATABASE=NE10/100 Adapter (i82557B)
+
+pci:v00001266d00001910*
+ ID_MODEL_FROM_DATABASE=NE2000Plus (RT8029) Ethernet Adapter
+
+pci:v00001266d00001910sv00001266sd00001910*
+ ID_MODEL_FROM_DATABASE=NE2000Plus Ethernet Adapter
+
+pci:v00001267*
+ ID_VENDOR_FROM_DATABASE=S. A. Telecommunications
+
+pci:v00001267d00005352*
+ ID_MODEL_FROM_DATABASE=PCR2101
+
+pci:v00001267d00005A4B*
+ ID_MODEL_FROM_DATABASE=Telsat Turbo
+
+pci:v00001268*
+ ID_VENDOR_FROM_DATABASE=Tektronix
+
+pci:v00001269*
+ ID_VENDOR_FROM_DATABASE=Thomson-CSF/TTM
+
+pci:v0000126A*
+ ID_VENDOR_FROM_DATABASE=Lexmark International, Inc.
+
+pci:v0000126B*
+ ID_VENDOR_FROM_DATABASE=Adax, Inc.
+
+pci:v0000126C*
+ ID_VENDOR_FROM_DATABASE=Northern Telecom
+
+pci:v0000126Cd00001211*
+ ID_MODEL_FROM_DATABASE=10/100BaseTX [RTL81xx]
+
+pci:v0000126Cd0000126C*
+ ID_MODEL_FROM_DATABASE=802.11b Wireless Ethernet Adapter
+
+pci:v0000126D*
+ ID_VENDOR_FROM_DATABASE=Splash Technology, Inc.
+
+pci:v0000126E*
+ ID_VENDOR_FROM_DATABASE=Sumitomo Metal Industries, Ltd.
+
+pci:v0000126F*
+ ID_VENDOR_FROM_DATABASE=Silicon Motion, Inc.
+
+pci:v0000126Fd00000501*
+ ID_MODEL_FROM_DATABASE=SM501 VoyagerGX Rev. AA
+
+pci:v0000126Fd00000510*
+ ID_MODEL_FROM_DATABASE=SM501 VoyagerGX Rev. B
+
+pci:v0000126Fd00000710*
+ ID_MODEL_FROM_DATABASE=SM710 LynxEM
+
+pci:v0000126Fd00000712*
+ ID_MODEL_FROM_DATABASE=SM712 LynxEM+
+
+pci:v0000126Fd00000720*
+ ID_MODEL_FROM_DATABASE=SM720 Lynx3DM
+
+pci:v0000126Fd00000730*
+ ID_MODEL_FROM_DATABASE=SM731 Cougar3DR
+
+pci:v0000126Fd00000810*
+ ID_MODEL_FROM_DATABASE=SM810 LynxE
+
+pci:v0000126Fd00000811*
+ ID_MODEL_FROM_DATABASE=SM811 LynxE
+
+pci:v0000126Fd00000820*
+ ID_MODEL_FROM_DATABASE=SM820 Lynx3D
+
+pci:v0000126Fd00000910*
+ ID_MODEL_FROM_DATABASE=SM910
+
+pci:v00001270*
+ ID_VENDOR_FROM_DATABASE=Olympus Optical Co., Ltd.
+
+pci:v00001271*
+ ID_VENDOR_FROM_DATABASE=GW Instruments
+
+pci:v00001272*
+ ID_VENDOR_FROM_DATABASE=Telematics International
+
+pci:v00001273*
+ ID_VENDOR_FROM_DATABASE=Hughes Network Systems
+
+pci:v00001273d00000002*
+ ID_MODEL_FROM_DATABASE=DirecPC
+
+pci:v00001274*
+ ID_VENDOR_FROM_DATABASE=Ensoniq
+
+pci:v00001274d00001171*
+ ID_MODEL_FROM_DATABASE=ES1373 [AudioPCI] (also Creative Labs CT5803)
+
+pci:v00001274d00001371*
+ ID_MODEL_FROM_DATABASE=ES1371 [AudioPCI-97]
+
+pci:v00001274d00001371sv00000E11sd00000024*
+ ID_MODEL_FROM_DATABASE=AudioPCI on Motherboard Compaq Deskpro
+
+pci:v00001274d00001371sv00000E11sd0000B1A7*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI
+
+pci:v00001274d00001371sv00001033sd000080AC*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI
+
+pci:v00001274d00001371sv00001042sd00001854*
+ ID_MODEL_FROM_DATABASE=Tazer
+
+pci:v00001274d00001371sv0000107Bsd00008054*
+ ID_MODEL_FROM_DATABASE=Tabor2
+
+pci:v00001274d00001371sv00001274sd00001371*
+ ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI64V, AudioPCI128
+
+pci:v00001274d00001371sv00001274sd00008001*
+ ID_MODEL_FROM_DATABASE=CT4751 board
+
+pci:v00001274d00001371sv00001462sd00006470*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A
+
+pci:v00001274d00001371sv00001462sd00006560*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10
+
+pci:v00001274d00001371sv00001462sd00006630*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A
+
+pci:v00001274d00001371sv00001462sd00006631*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A
+
+pci:v00001274d00001371sv00001462sd00006632*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A
+
+pci:v00001274d00001371sv00001462sd00006633*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A
+
+pci:v00001274d00001371sv00001462sd00006820*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00
+
+pci:v00001274d00001371sv00001462sd00006822*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A
+
+pci:v00001274d00001371sv00001462sd00006830*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00
+
+pci:v00001274d00001371sv00001462sd00006880*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00
+
+pci:v00001274d00001371sv00001462sd00006900*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00
+
+pci:v00001274d00001371sv00001462sd00006910*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6191
+
+pci:v00001274d00001371sv00001462sd00006930*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6193
+
+pci:v00001274d00001371sv00001462sd00006990*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A
+
+pci:v00001274d00001371sv00001462sd00006991*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A
+
+pci:v00001274d00001371sv000014A4sd00002077*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KR639
+
+pci:v00001274d00001371sv000014A4sd00002105*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MR800
+
+pci:v00001274d00001371sv000014A4sd00002107*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MR801
+
+pci:v00001274d00001371sv000014A4sd00002172*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard DR739
+
+pci:v00001274d00001371sv00001509sd00009902*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KW11
+
+pci:v00001274d00001371sv00001509sd00009903*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KW31
+
+pci:v00001274d00001371sv00001509sd00009904*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KA11
+
+pci:v00001274d00001371sv00001509sd00009905*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KC13
+
+pci:v00001274d00001371sv0000152Dsd00008801*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard CP810E
+
+pci:v00001274d00001371sv0000152Dsd00008802*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard CP810
+
+pci:v00001274d00001371sv0000152Dsd00008803*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3810E
+
+pci:v00001274d00001371sv0000152Dsd00008804*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3810-S
+
+pci:v00001274d00001371sv0000152Dsd00008805*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3820-S
+
+pci:v00001274d00001371sv0000270Fsd00002001*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6CTR
+
+pci:v00001274d00001371sv0000270Fsd00002200*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WTX
+
+pci:v00001274d00001371sv0000270Fsd00003000*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WSV
+
+pci:v00001274d00001371sv0000270Fsd00003100*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WIV2
+
+pci:v00001274d00001371sv0000270Fsd00003102*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WIV
+
+pci:v00001274d00001371sv0000270Fsd00007060*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6ASA2
+
+pci:v00001274d00001371sv00008086sd00004249*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BI440ZX
+
+pci:v00001274d00001371sv00008086sd0000424C*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BL440ZX
+
+pci:v00001274d00001371sv00008086sd0000425A*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BZ440ZX
+
+pci:v00001274d00001371sv00008086sd00004341*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Cayman
+
+pci:v00001274d00001371sv00008086sd00004343*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Cape Cod
+
+pci:v00001274d00001371sv00008086sd00004541*
+ ID_MODEL_FROM_DATABASE=D815EEA Motherboard
+
+pci:v00001274d00001371sv00008086sd00004649*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Fire Island
+
+pci:v00001274d00001371sv00008086sd0000464A*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard FJ440ZX
+
+pci:v00001274d00001371sv00008086sd00004D4F*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Montreal
+
+pci:v00001274d00001371sv00008086sd00004F43*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard OC440LX
+
+pci:v00001274d00001371sv00008086sd00005243*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard RC440BX
+
+pci:v00001274d00001371sv00008086sd00005352*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard SunRiver
+
+pci:v00001274d00001371sv00008086sd00005643*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Vancouver
+
+pci:v00001274d00001371sv00008086sd00005753*
+ ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard WS440BX
+
+pci:v00001274d00005000*
+ ID_MODEL_FROM_DATABASE=ES1370 [AudioPCI]
+
+pci:v00001274d00005880*
+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI]
+
+pci:v00001274d00005880sv00001274sd00002000*
+ ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI128
+
+pci:v00001274d00005880sv00001274sd00002003*
+ ID_MODEL_FROM_DATABASE=Creative SoundBlaster AudioPCI 128
+
+pci:v00001274d00005880sv00001274sd00005880*
+ ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI128
+
+pci:v00001274d00005880sv00001274sd00008001*
+ ID_MODEL_FROM_DATABASE=Sound Blaster 16PCI 4.1ch
+
+pci:v00001274d00005880sv00001458sd0000A000*
+ ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6OXET
+
+pci:v00001274d00005880sv00001462sd00006880*
+ ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard MS-6188 1.00
+
+pci:v00001274d00005880sv0000270Fsd00002001*
+ ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6CTR
+
+pci:v00001274d00005880sv0000270Fsd00002200*
+ ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6WTX
+
+pci:v00001274d00005880sv0000270Fsd00007040*
+ ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6ATA4
+
+pci:v00001274d00008001*
+ ID_MODEL_FROM_DATABASE=CT5880 [AudioPCI]
+
+pci:v00001274d00008002*
+ ID_MODEL_FROM_DATABASE=5880A [AudioPCI]
+
+pci:v00001275*
+ ID_VENDOR_FROM_DATABASE=Network Appliance Corporation
+
+pci:v00001276*
+ ID_VENDOR_FROM_DATABASE=Switched Network Technologies, Inc.
+
+pci:v00001277*
+ ID_VENDOR_FROM_DATABASE=Comstream
+
+pci:v00001278*
+ ID_VENDOR_FROM_DATABASE=Transtech Parallel Systems Ltd.
+
+pci:v00001278d00000701*
+ ID_MODEL_FROM_DATABASE=TPE3/TM3 PowerPC Node
+
+pci:v00001278d00000710*
+ ID_MODEL_FROM_DATABASE=TPE5 PowerPC PCI board
+
+pci:v00001278d00001100*
+ ID_MODEL_FROM_DATABASE=PMC-FPGA02
+
+pci:v00001278d00001101*
+ ID_MODEL_FROM_DATABASE=TS-C43 card with 4 ADSP-TS101 processors
+
+pci:v00001279*
+ ID_VENDOR_FROM_DATABASE=Transmeta Corporation
+
+pci:v00001279d00000060*
+ ID_MODEL_FROM_DATABASE=TM8000 Northbridge
+
+pci:v00001279d00000061*
+ ID_MODEL_FROM_DATABASE=TM8000 AGP bridge
+
+pci:v00001279d00000295*
+ ID_MODEL_FROM_DATABASE=Northbridge
+
+pci:v00001279d00000395*
+ ID_MODEL_FROM_DATABASE=LongRun Northbridge
+
+pci:v00001279d00000396*
+ ID_MODEL_FROM_DATABASE=SDRAM controller
+
+pci:v00001279d00000397*
+ ID_MODEL_FROM_DATABASE=BIOS scratchpad
+
+pci:v0000127A*
+ ID_VENDOR_FROM_DATABASE=Rockwell International
+
+pci:v0000127Ad00001002*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem
+
+pci:v0000127Ad00001002sv00001092sd0000094C*
+ ID_MODEL_FROM_DATABASE=SupraExpress 56i PRO [Diamond SUP2380]
+
+pci:v0000127Ad00001002sv0000122Dsd00004002*
+ ID_MODEL_FROM_DATABASE=HPG / MDP3858-U
+
+pci:v0000127Ad00001002sv0000122Dsd00004005*
+ ID_MODEL_FROM_DATABASE=MDP3858-E
+
+pci:v0000127Ad00001002sv0000122Dsd00004007*
+ ID_MODEL_FROM_DATABASE=MDP3858-A/-NZ
+
+pci:v0000127Ad00001002sv0000122Dsd00004012*
+ ID_MODEL_FROM_DATABASE=MDP3858-SA
+
+pci:v0000127Ad00001002sv0000122Dsd00004017*
+ ID_MODEL_FROM_DATABASE=MDP3858-W
+
+pci:v0000127Ad00001002sv0000122Dsd00004018*
+ ID_MODEL_FROM_DATABASE=MDP3858-W
+
+pci:v0000127Ad00001002sv0000127Asd00001002*
+ ID_MODEL_FROM_DATABASE=Rockwell 56K D/F HCF Modem
+
+pci:v0000127Ad00001003*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem
+
+pci:v0000127Ad00001003sv00000E11sd0000B0BC*
+ ID_MODEL_FROM_DATABASE=229-DF Zephyr
+
+pci:v0000127Ad00001003sv00000E11sd0000B114*
+ ID_MODEL_FROM_DATABASE=229-DF Cheetah
+
+pci:v0000127Ad00001003sv00001033sd0000802B*
+ ID_MODEL_FROM_DATABASE=229-DF
+
+pci:v0000127Ad00001003sv000013DFsd00001003*
+ ID_MODEL_FROM_DATABASE=PCI56RX Modem
+
+pci:v0000127Ad00001003sv000013E0sd00000117*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v0000127Ad00001003sv000013E0sd00000147*
+ ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R3 Spain V.90 Modem
+
+pci:v0000127Ad00001003sv000013E0sd00000197*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v0000127Ad00001003sv000013E0sd000001C7*
+ ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R3 WW V.90 Modem
+
+pci:v0000127Ad00001003sv000013E0sd000001F7*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v0000127Ad00001003sv00001436sd00001003*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v0000127Ad00001003sv00001436sd00001103*
+ ID_MODEL_FROM_DATABASE=IBM 5614PM3G V.90 Modem
+
+pci:v0000127Ad00001003sv00001436sd00001602*
+ ID_MODEL_FROM_DATABASE=Compaq 229-DF Ducati
+
+pci:v0000127Ad00001004*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem
+
+pci:v0000127Ad00001004sv00001048sd00001500*
+ ID_MODEL_FROM_DATABASE=MicroLink 56k Modem
+
+pci:v0000127Ad00001004sv000010CFsd00001059*
+ ID_MODEL_FROM_DATABASE=Fujitsu 229-DFRT
+
+pci:v0000127Ad00001005*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
+
+pci:v0000127Ad00001005sv00001005sd0000127A*
+ ID_MODEL_FROM_DATABASE=AOpen FM56-P
+
+pci:v0000127Ad00001005sv00001033sd00008029*
+ ID_MODEL_FROM_DATABASE=229-DFSV
+
+pci:v0000127Ad00001005sv00001033sd00008054*
+ ID_MODEL_FROM_DATABASE=Modem
+
+pci:v0000127Ad00001005sv000010CFsd0000103C*
+ ID_MODEL_FROM_DATABASE=Fujitsu
+
+pci:v0000127Ad00001005sv000010CFsd00001055*
+ ID_MODEL_FROM_DATABASE=Fujitsu 229-DFSV
+
+pci:v0000127Ad00001005sv000010CFsd00001056*
+ ID_MODEL_FROM_DATABASE=Fujitsu 229-DFSV
+
+pci:v0000127Ad00001005sv0000122Dsd00004003*
+ ID_MODEL_FROM_DATABASE=MDP3858SP-U
+
+pci:v0000127Ad00001005sv0000122Dsd00004006*
+ ID_MODEL_FROM_DATABASE=Packard Bell MDP3858V-E
+
+pci:v0000127Ad00001005sv0000122Dsd00004008*
+ ID_MODEL_FROM_DATABASE=MDP3858SP-A/SP-NZ
+
+pci:v0000127Ad00001005sv0000122Dsd00004009*
+ ID_MODEL_FROM_DATABASE=MDP3858SP-E
+
+pci:v0000127Ad00001005sv0000122Dsd00004010*
+ ID_MODEL_FROM_DATABASE=MDP3858V-U
+
+pci:v0000127Ad00001005sv0000122Dsd00004011*
+ ID_MODEL_FROM_DATABASE=MDP3858SP-SA
+
+pci:v0000127Ad00001005sv0000122Dsd00004013*
+ ID_MODEL_FROM_DATABASE=MDP3858V-A/V-NZ
+
+pci:v0000127Ad00001005sv0000122Dsd00004015*
+ ID_MODEL_FROM_DATABASE=MDP3858SP-W
+
+pci:v0000127Ad00001005sv0000122Dsd00004016*
+ ID_MODEL_FROM_DATABASE=MDP3858V-W
+
+pci:v0000127Ad00001005sv0000122Dsd00004019*
+ ID_MODEL_FROM_DATABASE=MDP3858V-SA
+
+pci:v0000127Ad00001005sv000013DFsd00001005*
+ ID_MODEL_FROM_DATABASE=PCI56RVP Modem
+
+pci:v0000127Ad00001005sv000013E0sd00000187*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v0000127Ad00001005sv000013E0sd000001A7*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v0000127Ad00001005sv000013E0sd000001B7*
+ ID_MODEL_FROM_DATABASE=IBM DF-1156IV+/R3 Spain V.90 Modem
+
+pci:v0000127Ad00001005sv000013E0sd000001D7*
+ ID_MODEL_FROM_DATABASE=IBM DF-1156IV+/R3 WW V.90 Modem
+
+pci:v0000127Ad00001005sv00001436sd00001005*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v0000127Ad00001005sv00001436sd00001105*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v0000127Ad00001005sv00001437sd00001105*
+ ID_MODEL_FROM_DATABASE=IBM 5614PS3G V.90 Modem
+
+pci:v0000127Ad00001022*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v0000127Ad00001022sv00001436sd00001303*
+ ID_MODEL_FROM_DATABASE=M3-5614PM3G V.90 Modem
+
+pci:v0000127Ad00001023*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem
+
+pci:v0000127Ad00001023sv0000122Dsd00004020*
+ ID_MODEL_FROM_DATABASE=Packard Bell MDP3858-WE
+
+pci:v0000127Ad00001023sv0000122Dsd00004023*
+ ID_MODEL_FROM_DATABASE=MDP3858-UE
+
+pci:v0000127Ad00001023sv000013E0sd00000247*
+ ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R6 Spain V.90 Modem
+
+pci:v0000127Ad00001023sv000013E0sd00000297*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v0000127Ad00001023sv000013E0sd000002C7*
+ ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R6 WW V.90 Modem
+
+pci:v0000127Ad00001023sv00001436sd00001203*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v0000127Ad00001023sv00001436sd00001303*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v0000127Ad00001024*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem
+
+pci:v0000127Ad00001025*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
+
+pci:v0000127Ad00001025sv000010CFsd0000106A*
+ ID_MODEL_FROM_DATABASE=Fujitsu 235-DFSV
+
+pci:v0000127Ad00001025sv0000122Dsd00004021*
+ ID_MODEL_FROM_DATABASE=Packard Bell MDP3858V-WE
+
+pci:v0000127Ad00001025sv0000122Dsd00004022*
+ ID_MODEL_FROM_DATABASE=MDP3858SP-WE
+
+pci:v0000127Ad00001025sv0000122Dsd00004024*
+ ID_MODEL_FROM_DATABASE=MDP3858V-UE
+
+pci:v0000127Ad00001025sv0000122Dsd00004025*
+ ID_MODEL_FROM_DATABASE=MDP3858SP-UE
+
+pci:v0000127Ad00001026*
+ ID_MODEL_FROM_DATABASE=HCF 56k PCI Speakerphone Modem
+
+pci:v0000127Ad00001032*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v0000127Ad00001033*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v0000127Ad00001034*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v0000127Ad00001035*
+ ID_MODEL_FROM_DATABASE=HCF 56k PCI Speakerphone Modem
+
+pci:v0000127Ad00001036*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v0000127Ad00001085*
+ ID_MODEL_FROM_DATABASE=HCF 56k Volcano PCI Modem
+
+pci:v0000127Ad00002004*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
+
+pci:v0000127Ad00002005*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem
+
+pci:v0000127Ad00002005sv0000104Dsd00008044*
+ ID_MODEL_FROM_DATABASE=229-DFSV
+
+pci:v0000127Ad00002005sv0000104Dsd00008045*
+ ID_MODEL_FROM_DATABASE=229-DFSV
+
+pci:v0000127Ad00002005sv0000104Dsd00008055*
+ ID_MODEL_FROM_DATABASE=PBE/Aztech 235W-DFSV
+
+pci:v0000127Ad00002005sv0000104Dsd00008056*
+ ID_MODEL_FROM_DATABASE=235-DFSV
+
+pci:v0000127Ad00002005sv0000104Dsd0000805A*
+ ID_MODEL_FROM_DATABASE=Modem
+
+pci:v0000127Ad00002005sv0000104Dsd0000805F*
+ ID_MODEL_FROM_DATABASE=Modem
+
+pci:v0000127Ad00002005sv0000104Dsd00008074*
+ ID_MODEL_FROM_DATABASE=Modem
+
+pci:v0000127Ad00002013*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem
+
+pci:v0000127Ad00002013sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Modem
+
+pci:v0000127Ad00002013sv00001179sd0000FF00*
+ ID_MODEL_FROM_DATABASE=Modem
+
+pci:v0000127Ad00002014*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem
+
+pci:v0000127Ad00002014sv000010CFsd00001057*
+ ID_MODEL_FROM_DATABASE=Fujitsu Citicorp III
+
+pci:v0000127Ad00002014sv0000122Dsd00004050*
+ ID_MODEL_FROM_DATABASE=MSP3880-U
+
+pci:v0000127Ad00002014sv0000122Dsd00004055*
+ ID_MODEL_FROM_DATABASE=MSP3880-W
+
+pci:v0000127Ad00002015*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
+
+pci:v0000127Ad00002015sv000010CFsd00001063*
+ ID_MODEL_FROM_DATABASE=Fujitsu
+
+pci:v0000127Ad00002015sv000010CFsd00001064*
+ ID_MODEL_FROM_DATABASE=Fujitsu
+
+pci:v0000127Ad00002015sv00001468sd00002015*
+ ID_MODEL_FROM_DATABASE=Fujitsu
+
+pci:v0000127Ad00002016*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem
+
+pci:v0000127Ad00002016sv0000122Dsd00004051*
+ ID_MODEL_FROM_DATABASE=MSP3880V-W
+
+pci:v0000127Ad00002016sv0000122Dsd00004052*
+ ID_MODEL_FROM_DATABASE=MSP3880SP-W
+
+pci:v0000127Ad00002016sv0000122Dsd00004054*
+ ID_MODEL_FROM_DATABASE=MSP3880V-U
+
+pci:v0000127Ad00002016sv0000122Dsd00004056*
+ ID_MODEL_FROM_DATABASE=MSP3880SP-U
+
+pci:v0000127Ad00002016sv0000122Dsd00004057*
+ ID_MODEL_FROM_DATABASE=MSP3880SP-A
+
+pci:v0000127Ad00004311*
+ ID_MODEL_FROM_DATABASE=Riptide HSF 56k PCI Modem
+
+pci:v0000127Ad00004311sv0000127Asd00004311*
+ ID_MODEL_FROM_DATABASE=Ring Modular? Riptide HSF RT HP Dom
+
+pci:v0000127Ad00004311sv000013E0sd00000210*
+ ID_MODEL_FROM_DATABASE=HP-GVC
+
+pci:v0000127Ad00004320*
+ ID_MODEL_FROM_DATABASE=Riptide PCI Audio Controller
+
+pci:v0000127Ad00004320sv00001235sd00004320*
+ ID_MODEL_FROM_DATABASE=Riptide PCI Audio Controller
+
+pci:v0000127Ad00004321*
+ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem
+
+pci:v0000127Ad00004321sv00001235sd00004321*
+ ID_MODEL_FROM_DATABASE=Hewlett Packard DF
+
+pci:v0000127Ad00004321sv00001235sd00004324*
+ ID_MODEL_FROM_DATABASE=Hewlett Packard DF
+
+pci:v0000127Ad00004321sv000013E0sd00000210*
+ ID_MODEL_FROM_DATABASE=Hewlett Packard DF
+
+pci:v0000127Ad00004321sv0000144Dsd00002321*
+ ID_MODEL_FROM_DATABASE=Riptide
+
+pci:v0000127Ad00004322*
+ ID_MODEL_FROM_DATABASE=Riptide PCI Game Controller
+
+pci:v0000127Ad00004322sv00001235sd00004322*
+ ID_MODEL_FROM_DATABASE=Riptide PCI Game Controller
+
+pci:v0000127Ad00008234*
+ ID_MODEL_FROM_DATABASE=RapidFire 616X ATM155 Adapter
+
+pci:v0000127Ad00008234sv0000108Dsd00000022*
+ ID_MODEL_FROM_DATABASE=RapidFire 616X ATM155 Adapter
+
+pci:v0000127Ad00008234sv0000108Dsd00000027*
+ ID_MODEL_FROM_DATABASE=RapidFire 616X ATM155 Adapter
+
+pci:v0000127B*
+ ID_VENDOR_FROM_DATABASE=Pixera Corporation
+
+pci:v0000127C*
+ ID_VENDOR_FROM_DATABASE=Crosspoint Solutions, Inc.
+
+pci:v0000127D*
+ ID_VENDOR_FROM_DATABASE=Vela Research
+
+pci:v0000127E*
+ ID_VENDOR_FROM_DATABASE=Winnov, L.P.
+
+pci:v0000127Ed00000010*
+ ID_MODEL_FROM_DATABASE=Videum 1000 Plus
+
+pci:v0000127F*
+ ID_VENDOR_FROM_DATABASE=Fujifilm
+
+pci:v00001280*
+ ID_VENDOR_FROM_DATABASE=Photoscript Group Ltd.
+
+pci:v00001281*
+ ID_VENDOR_FROM_DATABASE=Yokogawa Electric Corporation
+
+pci:v00001282*
+ ID_VENDOR_FROM_DATABASE=Davicom Semiconductor, Inc.
+
+pci:v00001282d00006585*
+ ID_MODEL_FROM_DATABASE=DM562P V90 Modem
+
+pci:v00001282d00009009*
+ ID_MODEL_FROM_DATABASE=Ethernet 100/10 MBit
+
+pci:v00001282d00009100*
+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
+
+pci:v00001282d00009102*
+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
+
+pci:v00001282d00009102sv00000291sd00008212*
+ ID_MODEL_FROM_DATABASE=DM9102A (DM9102AE, SM9102AF) Ethernet 100/10 MBit
+
+pci:v00001282d00009132*
+ ID_MODEL_FROM_DATABASE=Ethernet 100/10 MBit
+
+pci:v00001283*
+ ID_VENDOR_FROM_DATABASE=Integrated Technology Express, Inc.
+
+pci:v00001283d0000673A*
+ ID_MODEL_FROM_DATABASE=IT8330G
+
+pci:v00001283d00008152*
+ ID_MODEL_FROM_DATABASE=IT8152F/G Advanced RISC-to-PCI Companion Chip
+
+pci:v00001283d00008211*
+ ID_MODEL_FROM_DATABASE=ITE 8211F Single Channel UDMA 133
+
+pci:v00001283d00008211sv00001043sd00008138*
+ ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard
+
+pci:v00001283d00008212*
+ ID_MODEL_FROM_DATABASE=IT8212 Dual channel ATA RAID controller
+
+pci:v00001283d00008212sv00001283sd00000001*
+ ID_MODEL_FROM_DATABASE=IT/ITE8212 Dual channel ATA RAID controller
+
+pci:v00001283d00008213*
+ ID_MODEL_FROM_DATABASE=IT8213 IDE Controller
+
+pci:v00001283d00008213sv00001458sd0000B000*
+ ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard
+
+pci:v00001283d00008330*
+ ID_MODEL_FROM_DATABASE=IT8330G
+
+pci:v00001283d00008872*
+ ID_MODEL_FROM_DATABASE=IT8874F PCI Dual Serial Port Controller
+
+pci:v00001283d00008888*
+ ID_MODEL_FROM_DATABASE=IT8888F/G PCI to ISA Bridge with SMB [Golden Gate]
+
+pci:v00001283d00008889*
+ ID_MODEL_FROM_DATABASE=IT8889F PCI to ISA Bridge
+
+pci:v00001283d0000E886*
+ ID_MODEL_FROM_DATABASE=IT8330G
+
+pci:v00001284*
+ ID_VENDOR_FROM_DATABASE=Sahara Networks, Inc.
+
+pci:v00001285*
+ ID_VENDOR_FROM_DATABASE=Platform Technologies, Inc.
+
+pci:v00001285d00000100*
+ ID_MODEL_FROM_DATABASE=AGOGO sound chip (aka ESS Maestro 1)
+
+pci:v00001286*
+ ID_VENDOR_FROM_DATABASE=Mazet GmbH
+
+pci:v00001287*
+ ID_VENDOR_FROM_DATABASE=M-Pact, Inc.
+
+pci:v00001287d0000001E*
+ ID_MODEL_FROM_DATABASE=LS220D DVD Decoder
+
+pci:v00001287d0000001F*
+ ID_MODEL_FROM_DATABASE=LS220C DVD Decoder
+
+pci:v00001288*
+ ID_VENDOR_FROM_DATABASE=Timestep Corporation
+
+pci:v00001289*
+ ID_VENDOR_FROM_DATABASE=AVC Technology, Inc.
+
+pci:v0000128A*
+ ID_VENDOR_FROM_DATABASE=Asante Technologies, Inc.
+
+pci:v0000128B*
+ ID_VENDOR_FROM_DATABASE=Transwitch Corporation
+
+pci:v0000128C*
+ ID_VENDOR_FROM_DATABASE=Retix Corporation
+
+pci:v0000128D*
+ ID_VENDOR_FROM_DATABASE=G2 Networks, Inc.
+
+pci:v0000128Dd00000021*
+ ID_MODEL_FROM_DATABASE=ATM155 Adapter
+
+pci:v0000128E*
+ ID_VENDOR_FROM_DATABASE=Hoontech Corporation/Samho Multi Tech Ltd.
+
+pci:v0000128Ed00000008*
+ ID_MODEL_FROM_DATABASE=ST128 WSS/SB
+
+pci:v0000128Ed00000009*
+ ID_MODEL_FROM_DATABASE=ST128 SAM9407
+
+pci:v0000128Ed0000000A*
+ ID_MODEL_FROM_DATABASE=ST128 Game Port
+
+pci:v0000128Ed0000000B*
+ ID_MODEL_FROM_DATABASE=ST128 MPU Port
+
+pci:v0000128Ed0000000C*
+ ID_MODEL_FROM_DATABASE=ST128 Ctrl Port
+
+pci:v0000128F*
+ ID_VENDOR_FROM_DATABASE=Tateno Dennou, Inc.
+
+pci:v00001290*
+ ID_VENDOR_FROM_DATABASE=Sord Computer Corporation
+
+pci:v00001291*
+ ID_VENDOR_FROM_DATABASE=NCS Computer Italia
+
+pci:v00001292*
+ ID_VENDOR_FROM_DATABASE=Tritech Microelectronics Inc
+
+pci:v00001292d0000FC02*
+ ID_MODEL_FROM_DATABASE=Pyramid3D TR25202
+
+pci:v00001293*
+ ID_VENDOR_FROM_DATABASE=Media Reality Technology
+
+pci:v00001294*
+ ID_VENDOR_FROM_DATABASE=Rhetorex, Inc.
+
+pci:v00001295*
+ ID_VENDOR_FROM_DATABASE=Imagenation Corporation
+
+pci:v00001295d00000800*
+ ID_MODEL_FROM_DATABASE=PXR800
+
+pci:v00001295d00001000*
+ ID_MODEL_FROM_DATABASE=PXD1000
+
+pci:v00001296*
+ ID_VENDOR_FROM_DATABASE=Kofax Image Products
+
+pci:v00001297*
+ ID_VENDOR_FROM_DATABASE=Holco Enterprise Co, Ltd/Shuttle Computer
+
+pci:v00001298*
+ ID_VENDOR_FROM_DATABASE=Spellcaster Telecommunications Inc.
+
+pci:v00001299*
+ ID_VENDOR_FROM_DATABASE=Knowledge Technology Lab.
+
+pci:v0000129A*
+ ID_VENDOR_FROM_DATABASE=VMetro, inc.
+
+pci:v0000129Ad00000615*
+ ID_MODEL_FROM_DATABASE=PBT-615 PCI-X Bus Analyzer
+
+pci:v0000129Ad00001100*
+ ID_MODEL_FROM_DATABASE=PMC-FPGA05
+
+pci:v0000129Ad00001106*
+ ID_MODEL_FROM_DATABASE=XMC-FPGA05F, PCI interface
+
+pci:v0000129Ad00001107*
+ ID_MODEL_FROM_DATABASE=XMC-FPGA05F, PCIe interface
+
+pci:v0000129Ad00001108*
+ ID_MODEL_FROM_DATABASE=XMC-FPGA05D, PCI interface
+
+pci:v0000129Ad00001109*
+ ID_MODEL_FROM_DATABASE=XMC-FPGA05D, PCIe interface
+
+pci:v0000129B*
+ ID_VENDOR_FROM_DATABASE=Image Access
+
+pci:v0000129C*
+ ID_VENDOR_FROM_DATABASE=Jaycor
+
+pci:v0000129D*
+ ID_VENDOR_FROM_DATABASE=Compcore Multimedia, Inc.
+
+pci:v0000129E*
+ ID_VENDOR_FROM_DATABASE=Victor Company of Japan, Ltd.
+
+pci:v0000129F*
+ ID_VENDOR_FROM_DATABASE=OEC Medical Systems, Inc.
+
+pci:v000012A0*
+ ID_VENDOR_FROM_DATABASE=Allen-Bradley Company
+
+pci:v000012A1*
+ ID_VENDOR_FROM_DATABASE=Simpact Associates, Inc.
+
+pci:v000012A2*
+ ID_VENDOR_FROM_DATABASE=Newgen Systems Corporation
+
+pci:v000012A3*
+ ID_VENDOR_FROM_DATABASE=Lucent Technologies
+
+pci:v000012A3d00008105*
+ ID_MODEL_FROM_DATABASE=T8105 H100 Digital Switch
+
+pci:v000012A4*
+ ID_VENDOR_FROM_DATABASE=NTT Electronics Technology Company
+
+pci:v000012A5*
+ ID_VENDOR_FROM_DATABASE=Vision Dynamics Ltd.
+
+pci:v000012A6*
+ ID_VENDOR_FROM_DATABASE=Scalable Networks, Inc.
+
+pci:v000012A7*
+ ID_VENDOR_FROM_DATABASE=AMO GmbH
+
+pci:v000012A8*
+ ID_VENDOR_FROM_DATABASE=News Datacom
+
+pci:v000012A9*
+ ID_VENDOR_FROM_DATABASE=Xiotech Corporation
+
+pci:v000012AA*
+ ID_VENDOR_FROM_DATABASE=SDL Communications, Inc.
+
+pci:v000012AB*
+ ID_VENDOR_FROM_DATABASE=Yuan Yuan Enterprise Co., Ltd.
+
+pci:v000012ABd00000000*
+ ID_MODEL_FROM_DATABASE=MPG160/Kuroutoshikou ITVC15-STVLP
+
+pci:v000012ABd00000002*
+ ID_MODEL_FROM_DATABASE=AU8830 [Vortex2] Based Sound Card With A3D Support
+
+pci:v000012ABd00000003*
+ ID_MODEL_FROM_DATABASE=T507 (DVB-T) TV tuner/capture device
+
+pci:v000012ABd00002300*
+ ID_MODEL_FROM_DATABASE=Club-3D Zap TV2100
+
+pci:v000012ABd00003000*
+ ID_MODEL_FROM_DATABASE=MPG-200C PCI DVD Decoder Card
+
+pci:v000012ABd00004789*
+ ID_MODEL_FROM_DATABASE=MPC788 MiniPCI Hybrid TV Tuner
+
+pci:v000012ABd0000FFF3*
+ ID_MODEL_FROM_DATABASE=MPG600/Kuroutoshikou ITVC16-STVLP
+
+pci:v000012ABd0000FFFF*
+ ID_MODEL_FROM_DATABASE=MPG600/Kuroutoshikou ITVC16-STVLP
+
+pci:v000012AC*
+ ID_VENDOR_FROM_DATABASE=Measurex Corporation
+
+pci:v000012AD*
+ ID_VENDOR_FROM_DATABASE=Multidata GmbH
+
+pci:v000012AE*
+ ID_VENDOR_FROM_DATABASE=Alteon Networks Inc.
+
+pci:v000012AEd00000001*
+ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet
+
+pci:v000012AEd00000001sv00001014sd00000104*
+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet-SX PCI Adapter
+
+pci:v000012AEd00000001sv000012AEsd00000001*
+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet-SX (Universal)
+
+pci:v000012AEd00000002*
+ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper)
+
+pci:v000012AEd00000002sv000010A9sd00008002*
+ ID_MODEL_FROM_DATABASE=Acenic Gigabit Ethernet
+
+pci:v000012AEd00000002sv000012AEsd00000002*
+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet-T (3C986-T)
+
+pci:v000012AEd000000FA*
+ ID_MODEL_FROM_DATABASE=Farallon PN9100-T Gigabit Ethernet
+
+pci:v000012AF*
+ ID_VENDOR_FROM_DATABASE=TDK USA Corp
+
+pci:v000012B0*
+ ID_VENDOR_FROM_DATABASE=Jorge Scientific Corp
+
+pci:v000012B1*
+ ID_VENDOR_FROM_DATABASE=GammaLink
+
+pci:v000012B2*
+ ID_VENDOR_FROM_DATABASE=General Signal Networks
+
+pci:v000012B3*
+ ID_VENDOR_FROM_DATABASE=Inter-Face Co Ltd
+
+pci:v000012B4*
+ ID_VENDOR_FROM_DATABASE=FutureTel Inc
+
+pci:v000012B5*
+ ID_VENDOR_FROM_DATABASE=Granite Systems Inc.
+
+pci:v000012B6*
+ ID_VENDOR_FROM_DATABASE=Natural Microsystems
+
+pci:v000012B7*
+ ID_VENDOR_FROM_DATABASE=Cognex Modular Vision Systems Div. - Acumen Inc.
+
+pci:v000012B8*
+ ID_VENDOR_FROM_DATABASE=Korg
+
+pci:v000012B9*
+ ID_VENDOR_FROM_DATABASE=3Com Corp, Modem Division
+
+pci:v000012B9d00001006*
+ ID_MODEL_FROM_DATABASE=WinModem
+
+pci:v000012B9d00001006sv000012B9sd0000005C*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 3472)
+
+pci:v000012B9d00001006sv000012B9sd0000005E*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 662975)
+
+pci:v000012B9d00001006sv000012B9sd00000062*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 662978)
+
+pci:v000012B9d00001006sv000012B9sd00000068*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 5690)
+
+pci:v000012B9d00001006sv000012B9sd0000007A*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 662974)
+
+pci:v000012B9d00001006sv000012B9sd0000007F*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 5698, 5699)
+
+pci:v000012B9d00001006sv000012B9sd00000080*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 2975, 3528)
+
+pci:v000012B9d00001006sv000012B9sd00000081*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Models 2974, 3529)
+
+pci:v000012B9d00001006sv000012B9sd00000091*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 2978)
+
+pci:v000012B9d00001007*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem
+
+pci:v000012B9d00001007sv000012B9sd000000A3*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Model 3595)
+
+pci:v000012B9d00001007sv000012B9sd000000C4*
+ ID_MODEL_FROM_DATABASE=U.S. Robotics V.92 Voice Faxmodem (2884A/B/C)
+
+pci:v000012B9d00001008*
+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610
+
+pci:v000012B9d00001008sv000012B9sd000000A2*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal FAX Modem (Model 2977)
+
+pci:v000012B9d00001008sv000012B9sd000000AA*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 2976)
+
+pci:v000012B9d00001008sv000012B9sd000000AB*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 5609)
+
+pci:v000012B9d00001008sv000012B9sd000000AC*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 3298)
+
+pci:v000012B9d00001008sv000012B9sd000000AD*
+ ID_MODEL_FROM_DATABASE=USR 56k Internal FAX Modem (Model 5610)
+
+pci:v000012B9d00001008sv000012B9sd000000D3*
+ ID_MODEL_FROM_DATABASE=USR 56K Internal V92 FAX Modem (Model 5610)
+
+pci:v000012B9d00001008sv000012B9sd0000BABA*
+ ID_MODEL_FROM_DATABASE=USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk]
+
+pci:v000012BA*
+ ID_VENDOR_FROM_DATABASE=BittWare, Inc.
+
+pci:v000012BB*
+ ID_VENDOR_FROM_DATABASE=Nippon Unisoft Corporation
+
+pci:v000012BC*
+ ID_VENDOR_FROM_DATABASE=Array Microsystems
+
+pci:v000012BD*
+ ID_VENDOR_FROM_DATABASE=Computerm Corp.
+
+pci:v000012BE*
+ ID_VENDOR_FROM_DATABASE=Anchor Chips Inc.
+
+pci:v000012BEd00003041*
+ ID_MODEL_FROM_DATABASE=AN3041Q CO-MEM
+
+pci:v000012BEd00003042*
+ ID_MODEL_FROM_DATABASE=AN3042Q CO-MEM Lite
+
+pci:v000012BEd00003042sv000012BEsd00003042*
+ ID_MODEL_FROM_DATABASE=Anchor Chips Lite Evaluation Board
+
+pci:v000012BF*
+ ID_VENDOR_FROM_DATABASE=Fujifilm Microdevices
+
+pci:v000012C0*
+ ID_VENDOR_FROM_DATABASE=Infimed
+
+pci:v000012C1*
+ ID_VENDOR_FROM_DATABASE=GMM Research Corp
+
+pci:v000012C2*
+ ID_VENDOR_FROM_DATABASE=Mentec Limited
+
+pci:v000012C3*
+ ID_VENDOR_FROM_DATABASE=Holtek Microelectronics Inc
+
+pci:v000012C3d00000058*
+ ID_MODEL_FROM_DATABASE=PCI NE2K Ethernet
+
+pci:v000012C3d00005598*
+ ID_MODEL_FROM_DATABASE=PCI NE2K Ethernet
+
+pci:v000012C4*
+ ID_VENDOR_FROM_DATABASE=Connect Tech Inc
+
+pci:v000012C4d00000001*
+ ID_MODEL_FROM_DATABASE=Blue HEAT/PCI 8 (RS232/CL/RJ11)
+
+pci:v000012C4d00000002*
+ ID_MODEL_FROM_DATABASE=Blue HEAT/PCI 4 (RS232)
+
+pci:v000012C4d00000003*
+ ID_MODEL_FROM_DATABASE=Blue HEAT/PCI 2 (RS232)
+
+pci:v000012C4d00000004*
+ ID_MODEL_FROM_DATABASE=Blue HEAT/PCI 8 (UNIV, RS485)
+
+pci:v000012C4d00000005*
+ ID_MODEL_FROM_DATABASE=Blue HEAT/PCI 4+4/6+2 (UNIV, RS232/485)
+
+pci:v000012C4d00000006*
+ ID_MODEL_FROM_DATABASE=Blue HEAT/PCI 4 (OPTO, RS485)
+
+pci:v000012C4d00000007*
+ ID_MODEL_FROM_DATABASE=Blue HEAT/PCI 2+2 (RS232/485)
+
+pci:v000012C4d00000008*
+ ID_MODEL_FROM_DATABASE=Blue HEAT/PCI 2 (OPTO, Tx, RS485)
+
+pci:v000012C4d00000009*
+ ID_MODEL_FROM_DATABASE=Blue HEAT/PCI 2+6 (RS232/485)
+
+pci:v000012C4d0000000A*
+ ID_MODEL_FROM_DATABASE=Blue HEAT/PCI 8 (Tx, RS485)
+
+pci:v000012C4d0000000B*
+ ID_MODEL_FROM_DATABASE=Blue HEAT/PCI 4 (Tx, RS485)
+
+pci:v000012C4d0000000C*
+ ID_MODEL_FROM_DATABASE=Blue HEAT/PCI 2 (20 MHz, RS485)
+
+pci:v000012C4d0000000D*
+ ID_MODEL_FROM_DATABASE=Blue HEAT/PCI 2 PTM
+
+pci:v000012C4d00000100*
+ ID_MODEL_FROM_DATABASE=NT960/PCI
+
+pci:v000012C4d00000201*
+ ID_MODEL_FROM_DATABASE=cPCI Titan - 2 Port
+
+pci:v000012C4d00000202*
+ ID_MODEL_FROM_DATABASE=cPCI Titan - 4 Port
+
+pci:v000012C4d00000300*
+ ID_MODEL_FROM_DATABASE=CTI PCI UART 2 (RS232)
+
+pci:v000012C4d00000301*
+ ID_MODEL_FROM_DATABASE=CTI PCI UART 4 (RS232)
+
+pci:v000012C4d00000302*
+ ID_MODEL_FROM_DATABASE=CTI PCI UART 8 (RS232)
+
+pci:v000012C4d00000310*
+ ID_MODEL_FROM_DATABASE=CTI PCI UART 1+1 (RS232/485)
+
+pci:v000012C4d00000311*
+ ID_MODEL_FROM_DATABASE=CTI PCI UART 2+2 (RS232/485)
+
+pci:v000012C4d00000312*
+ ID_MODEL_FROM_DATABASE=CTI PCI UART 4+4 (RS232/485)
+
+pci:v000012C4d00000320*
+ ID_MODEL_FROM_DATABASE=CTI PCI UART 2
+
+pci:v000012C4d00000321*
+ ID_MODEL_FROM_DATABASE=CTI PCI UART 4
+
+pci:v000012C4d00000322*
+ ID_MODEL_FROM_DATABASE=CTI PCI UART 8
+
+pci:v000012C4d00000330*
+ ID_MODEL_FROM_DATABASE=CTI PCI UART 2 (RS485)
+
+pci:v000012C4d00000331*
+ ID_MODEL_FROM_DATABASE=CTI PCI UART 4 (RS485)
+
+pci:v000012C4d00000332*
+ ID_MODEL_FROM_DATABASE=CTI PCI UART 8 (RS485)
+
+pci:v000012C5*
+ ID_VENDOR_FROM_DATABASE=Picture Elements Incorporated
+
+pci:v000012C5d0000007E*
+ ID_MODEL_FROM_DATABASE=Imaging/Scanning Subsystem Engine
+
+pci:v000012C5d0000007F*
+ ID_MODEL_FROM_DATABASE=Imaging/Scanning Subsystem Engine
+
+pci:v000012C5d00000081*
+ ID_MODEL_FROM_DATABASE=PCIVST [Grayscale Thresholding Engine]
+
+pci:v000012C5d00000085*
+ ID_MODEL_FROM_DATABASE=Video Simulator/Sender
+
+pci:v000012C5d00000086*
+ ID_MODEL_FROM_DATABASE=THR2 Multi-scale Thresholder
+
+pci:v000012C6*
+ ID_VENDOR_FROM_DATABASE=Mitani Corporation
+
+pci:v000012C7*
+ ID_VENDOR_FROM_DATABASE=Dialogic Corp
+
+pci:v000012C7d00000546*
+ ID_MODEL_FROM_DATABASE=Springware D/120JCT-LS
+
+pci:v000012C7d00000647*
+ ID_MODEL_FROM_DATABASE=Springware D/240JCT-T1
+
+pci:v000012C7d00000676*
+ ID_MODEL_FROM_DATABASE=Springware D/41JCT-LS
+
+pci:v000012C7d00000685*
+ ID_MODEL_FROM_DATABASE=Springware D/480JCT-2T1
+
+pci:v000012C8*
+ ID_VENDOR_FROM_DATABASE=G Force Co, Ltd
+
+pci:v000012C9*
+ ID_VENDOR_FROM_DATABASE=Gigi Operations
+
+pci:v000012CA*
+ ID_VENDOR_FROM_DATABASE=Integrated Computing Engines
+
+pci:v000012CB*
+ ID_VENDOR_FROM_DATABASE=Antex Electronics Corporation
+
+pci:v000012CBd00000027*
+ ID_MODEL_FROM_DATABASE=SC4 (StudioCard)
+
+pci:v000012CBd0000002E*
+ ID_MODEL_FROM_DATABASE=StudioCard 2000
+
+pci:v000012CC*
+ ID_VENDOR_FROM_DATABASE=Pluto Technologies International
+
+pci:v000012CD*
+ ID_VENDOR_FROM_DATABASE=Aims Lab
+
+pci:v000012CE*
+ ID_VENDOR_FROM_DATABASE=Netspeed Inc.
+
+pci:v000012CF*
+ ID_VENDOR_FROM_DATABASE=Prophet Systems, Inc.
+
+pci:v000012D0*
+ ID_VENDOR_FROM_DATABASE=GDE Systems, Inc.
+
+pci:v000012D1*
+ ID_VENDOR_FROM_DATABASE=PSITech
+
+pci:v000012D2*
+ ID_VENDOR_FROM_DATABASE=NVidia / SGS Thomson (Joint Venture)
+
+pci:v000012D2d00000008*
+ ID_MODEL_FROM_DATABASE=NV1
+
+pci:v000012D2d00000009*
+ ID_MODEL_FROM_DATABASE=DAC64
+
+pci:v000012D2d00000018*
+ ID_MODEL_FROM_DATABASE=Riva128
+
+pci:v000012D2d00000018sv00001048sd00000C10*
+ ID_MODEL_FROM_DATABASE=VICTORY Erazor
+
+pci:v000012D2d00000018sv0000107Bsd00008030*
+ ID_MODEL_FROM_DATABASE=STB Velocity 128
+
+pci:v000012D2d00000018sv00001092sd00000350*
+ ID_MODEL_FROM_DATABASE=Viper V330
+
+pci:v000012D2d00000018sv00001092sd00001092*
+ ID_MODEL_FROM_DATABASE=Viper V330
+
+pci:v000012D2d00000018sv000010B4sd00001B1B*
+ ID_MODEL_FROM_DATABASE=STB Velocity 128
+
+pci:v000012D2d00000018sv000010B4sd00001B1D*
+ ID_MODEL_FROM_DATABASE=STB Velocity 128
+
+pci:v000012D2d00000018sv000010B4sd00001B1E*
+ ID_MODEL_FROM_DATABASE=STB Velocity 128, PAL TV-Out
+
+pci:v000012D2d00000018sv000010B4sd00001B20*
+ ID_MODEL_FROM_DATABASE=STB Velocity 128 Sapphire
+
+pci:v000012D2d00000018sv000010B4sd00001B21*
+ ID_MODEL_FROM_DATABASE=STB Velocity 128
+
+pci:v000012D2d00000018sv000010B4sd00001B22*
+ ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP, NTSC TV-Out
+
+pci:v000012D2d00000018sv000010B4sd00001B23*
+ ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP, PAL TV-Out
+
+pci:v000012D2d00000018sv000010B4sd00001B27*
+ ID_MODEL_FROM_DATABASE=STB Velocity 128 DVD
+
+pci:v000012D2d00000018sv000010B4sd00001B88*
+ ID_MODEL_FROM_DATABASE=MVP Pro 128
+
+pci:v000012D2d00000018sv000010B4sd0000222A*
+ ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP
+
+pci:v000012D2d00000018sv000010B4sd00002230*
+ ID_MODEL_FROM_DATABASE=STB Velocity 128
+
+pci:v000012D2d00000018sv000010B4sd00002232*
+ ID_MODEL_FROM_DATABASE=STB Velocity 128
+
+pci:v000012D2d00000018sv000010B4sd00002235*
+ ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP
+
+pci:v000012D2d00000018sv00002A15sd000054A3*
+ ID_MODEL_FROM_DATABASE=3DVision-SAGP / 3DexPlorer 3000
+
+pci:v000012D2d00000019*
+ ID_MODEL_FROM_DATABASE=Riva128ZX
+
+pci:v000012D2d00000020*
+ ID_MODEL_FROM_DATABASE=TNT
+
+pci:v000012D2d00000028*
+ ID_MODEL_FROM_DATABASE=TNT2
+
+pci:v000012D2d00000029*
+ ID_MODEL_FROM_DATABASE=UTNT2
+
+pci:v000012D2d0000002C*
+ ID_MODEL_FROM_DATABASE=VTNT2
+
+pci:v000012D2d000000A0*
+ ID_MODEL_FROM_DATABASE=ITNT2
+
+pci:v000012D3*
+ ID_VENDOR_FROM_DATABASE=Vingmed Sound A/S
+
+pci:v000012D4*
+ ID_VENDOR_FROM_DATABASE=Ulticom (Formerly DGM&S)
+
+pci:v000012D4d00000200*
+ ID_MODEL_FROM_DATABASE=T1 Card
+
+pci:v000012D5*
+ ID_VENDOR_FROM_DATABASE=Equator Technologies Inc
+
+pci:v000012D5d00000003*
+ ID_MODEL_FROM_DATABASE=BSP16
+
+pci:v000012D5d00001000*
+ ID_MODEL_FROM_DATABASE=BSP15
+
+pci:v000012D6*
+ ID_VENDOR_FROM_DATABASE=Analogic Corp
+
+pci:v000012D7*
+ ID_VENDOR_FROM_DATABASE=Biotronic SRL
+
+pci:v000012D8*
+ ID_VENDOR_FROM_DATABASE=Pericom Semiconductor
+
+pci:v000012D8d000001A7*
+ ID_MODEL_FROM_DATABASE=PI7C21P100 PCI to PCI Bridge
+
+pci:v000012D8d0000400A*
+ ID_MODEL_FROM_DATABASE=PI7C9X442SL PCI Express Bridge Port
+
+pci:v000012D8d0000400E*
+ ID_MODEL_FROM_DATABASE=PI7C9X442SL USB OHCI Controller
+
+pci:v000012D8d0000400F*
+ ID_MODEL_FROM_DATABASE=PI7C9X442SL USB EHCI Controller
+
+pci:v000012D8d000071E2*
+ ID_MODEL_FROM_DATABASE=PI7C7300A/PI7C7300D PCI-to-PCI Bridge
+
+pci:v000012D8d000071E3*
+ ID_MODEL_FROM_DATABASE=PI7C7300A/PI7C7300D PCI-to-PCI Bridge (Secondary Bus 2)
+
+pci:v000012D8d00008140*
+ ID_MODEL_FROM_DATABASE=PI7C8140A PCI-to-PCI Bridge
+
+pci:v000012D8d00008148*
+ ID_MODEL_FROM_DATABASE=PI7C8148A/PI7C8148B PCI-to-PCI Bridge
+
+pci:v000012D8d00008150*
+ ID_MODEL_FROM_DATABASE=PCI to PCI Bridge
+
+pci:v000012D8d00008152*
+ ID_MODEL_FROM_DATABASE=PI7C8152A/PI7C8152B/PI7C8152BI PCI-to-PCI Bridge
+
+pci:v000012D8d00008154*
+ ID_MODEL_FROM_DATABASE=PI7C8154A/PI7C8154B/PI7C8154BI PCI-to-PCI Bridge
+
+pci:v000012D8d0000E110*
+ ID_MODEL_FROM_DATABASE=PI7C9X110 PCI Express to PCI bridge
+
+pci:v000012D8d0000E110sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11 CompactPCI Bridge
+
+pci:v000012D8d0000E111*
+ ID_MODEL_FROM_DATABASE=PI7C9X111SL PCIe-to-PCI Reversible Bridge
+
+pci:v000012D8d0000E130*
+ ID_MODEL_FROM_DATABASE=PCI Express to PCI-XPI7C9X130 PCI-X Bridge
+
+pci:v000012D9*
+ ID_VENDOR_FROM_DATABASE=Aculab PLC
+
+pci:v000012D9d00000002*
+ ID_MODEL_FROM_DATABASE=PCI Prosody
+
+pci:v000012D9d00000004*
+ ID_MODEL_FROM_DATABASE=cPCI Prosody
+
+pci:v000012D9d00000005*
+ ID_MODEL_FROM_DATABASE=Aculab E1/T1 PCI card
+
+pci:v000012D9d00001078*
+ ID_MODEL_FROM_DATABASE=Prosody X class e1000 device
+
+pci:v000012D9d00001078sv000012D9sd0000000D*
+ ID_MODEL_FROM_DATABASE=Prosody X PCI
+
+pci:v000012D9d00001078sv000012D9sd0000000E*
+ ID_MODEL_FROM_DATABASE=Prosody X cPCI
+
+pci:v000012DA*
+ ID_VENDOR_FROM_DATABASE=True Time Inc.
+
+pci:v000012DB*
+ ID_VENDOR_FROM_DATABASE=Annapolis Micro Systems, Inc
+
+pci:v000012DC*
+ ID_VENDOR_FROM_DATABASE=Symicron Computer Communication Ltd.
+
+pci:v000012DD*
+ ID_VENDOR_FROM_DATABASE=Management Graphics
+
+pci:v000012DE*
+ ID_VENDOR_FROM_DATABASE=Rainbow Technologies
+
+pci:v000012DEd00000200*
+ ID_MODEL_FROM_DATABASE=CryptoSwift CS200
+
+pci:v000012DF*
+ ID_VENDOR_FROM_DATABASE=SBS Technologies Inc
+
+pci:v000012E0*
+ ID_VENDOR_FROM_DATABASE=Chase Research
+
+pci:v000012E0d00000010*
+ ID_MODEL_FROM_DATABASE=ST16C654 Quad UART
+
+pci:v000012E0d00000020*
+ ID_MODEL_FROM_DATABASE=ST16C654 Quad UART
+
+pci:v000012E0d00000030*
+ ID_MODEL_FROM_DATABASE=ST16C654 Quad UART
+
+pci:v000012E1*
+ ID_VENDOR_FROM_DATABASE=Nintendo Co, Ltd
+
+pci:v000012E2*
+ ID_VENDOR_FROM_DATABASE=Datum Inc. Bancomm-Timing Division
+
+pci:v000012E3*
+ ID_VENDOR_FROM_DATABASE=Imation Corp - Medical Imaging Systems
+
+pci:v000012E4*
+ ID_VENDOR_FROM_DATABASE=Brooktrout Technology Inc
+
+pci:v000012E5*
+ ID_VENDOR_FROM_DATABASE=Apex Semiconductor Inc
+
+pci:v000012E6*
+ ID_VENDOR_FROM_DATABASE=Cirel Systems
+
+pci:v000012E7*
+ ID_VENDOR_FROM_DATABASE=Sunsgroup Corporation
+
+pci:v000012E8*
+ ID_VENDOR_FROM_DATABASE=Crisc Corp
+
+pci:v000012E9*
+ ID_VENDOR_FROM_DATABASE=GE Spacenet
+
+pci:v000012EA*
+ ID_VENDOR_FROM_DATABASE=Zuken
+
+pci:v000012EB*
+ ID_VENDOR_FROM_DATABASE=Aureal Semiconductor
+
+pci:v000012EBd00000001*
+ ID_MODEL_FROM_DATABASE=Vortex 1
+
+pci:v000012EBd00000001sv0000104Dsd00008036*
+ ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor
+
+pci:v000012EBd00000001sv00001092sd00002000*
+ ID_MODEL_FROM_DATABASE=Sonic Impact A3D
+
+pci:v000012EBd00000001sv00001092sd00002100*
+ ID_MODEL_FROM_DATABASE=Sonic Impact A3D
+
+pci:v000012EBd00000001sv00001092sd00002110*
+ ID_MODEL_FROM_DATABASE=Sonic Impact A3D
+
+pci:v000012EBd00000001sv00001092sd00002200*
+ ID_MODEL_FROM_DATABASE=Sonic Impact A3D
+
+pci:v000012EBd00000001sv0000122Dsd00001002*
+ ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor
+
+pci:v000012EBd00000001sv000012EBsd00000001*
+ ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor
+
+pci:v000012EBd00000001sv00005053sd00003355*
+ ID_MODEL_FROM_DATABASE=Montego
+
+pci:v000012EBd00000002*
+ ID_MODEL_FROM_DATABASE=Vortex 2
+
+pci:v000012EBd00000002sv0000104Dsd00008049*
+ ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor
+
+pci:v000012EBd00000002sv0000104Dsd0000807B*
+ ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor
+
+pci:v000012EBd00000002sv00001092sd00003000*
+ ID_MODEL_FROM_DATABASE=Monster Sound II
+
+pci:v000012EBd00000002sv00001092sd00003001*
+ ID_MODEL_FROM_DATABASE=Monster Sound II
+
+pci:v000012EBd00000002sv00001092sd00003002*
+ ID_MODEL_FROM_DATABASE=Monster Sound II
+
+pci:v000012EBd00000002sv00001092sd00003003*
+ ID_MODEL_FROM_DATABASE=Monster Sound II
+
+pci:v000012EBd00000002sv00001092sd00003004*
+ ID_MODEL_FROM_DATABASE=Monster Sound II
+
+pci:v000012EBd00000002sv000012EBsd00000002*
+ ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor
+
+pci:v000012EBd00000002sv000012EBsd00000088*
+ ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor
+
+pci:v000012EBd00000002sv0000144Dsd00003510*
+ ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor
+
+pci:v000012EBd00000002sv00005053sd00003356*
+ ID_MODEL_FROM_DATABASE=Montego II
+
+pci:v000012EBd00000003*
+ ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
+
+pci:v000012EBd00000003sv0000104Dsd00008049*
+ ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
+
+pci:v000012EBd00000003sv0000104Dsd00008077*
+ ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
+
+pci:v000012EBd00000003sv0000109Fsd00001000*
+ ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
+
+pci:v000012EBd00000003sv000012EBsd00000003*
+ ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
+
+pci:v000012EBd00000003sv00001462sd00006780*
+ ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
+
+pci:v000012EBd00000003sv000014A4sd00002073*
+ ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
+
+pci:v000012EBd00000003sv000014A4sd00002091*
+ ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
+
+pci:v000012EBd00000003sv000014A4sd00002104*
+ ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
+
+pci:v000012EBd00000003sv000014A4sd00002106*
+ ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
+
+pci:v000012EBd00008803*
+ ID_MODEL_FROM_DATABASE=Vortex 56k Software Modem
+
+pci:v000012EBd00008803sv000012EBsd00008803*
+ ID_MODEL_FROM_DATABASE=Vortex 56k Software Modem
+
+pci:v000012EC*
+ ID_VENDOR_FROM_DATABASE=3A International, Inc.
+
+pci:v000012ED*
+ ID_VENDOR_FROM_DATABASE=Optivision Inc.
+
+pci:v000012EE*
+ ID_VENDOR_FROM_DATABASE=Orange Micro
+
+pci:v000012EF*
+ ID_VENDOR_FROM_DATABASE=Vienna Systems
+
+pci:v000012F0*
+ ID_VENDOR_FROM_DATABASE=Pentek
+
+pci:v000012F1*
+ ID_VENDOR_FROM_DATABASE=Sorenson Vision Inc
+
+pci:v000012F2*
+ ID_VENDOR_FROM_DATABASE=Gammagraphx, Inc.
+
+pci:v000012F3*
+ ID_VENDOR_FROM_DATABASE=Radstone Technology
+
+pci:v000012F4*
+ ID_VENDOR_FROM_DATABASE=Megatel
+
+pci:v000012F5*
+ ID_VENDOR_FROM_DATABASE=Forks
+
+pci:v000012F6*
+ ID_VENDOR_FROM_DATABASE=Dawson France
+
+pci:v000012F7*
+ ID_VENDOR_FROM_DATABASE=Cognex
+
+pci:v000012F8*
+ ID_VENDOR_FROM_DATABASE=Electronic Design GmbH
+
+pci:v000012F8d00000002*
+ ID_MODEL_FROM_DATABASE=VideoMaker
+
+pci:v000012F9*
+ ID_VENDOR_FROM_DATABASE=Four Fold Ltd
+
+pci:v000012FB*
+ ID_VENDOR_FROM_DATABASE=Spectrum Signal Processing
+
+pci:v000012FBd00000001*
+ ID_MODEL_FROM_DATABASE=PMC-MAI
+
+pci:v000012FBd000000F5*
+ ID_MODEL_FROM_DATABASE=F5 Dakar
+
+pci:v000012FBd000002AD*
+ ID_MODEL_FROM_DATABASE=PMC-2MAI
+
+pci:v000012FBd00002ADC*
+ ID_MODEL_FROM_DATABASE=ePMC-2ADC
+
+pci:v000012FBd00003100*
+ ID_MODEL_FROM_DATABASE=PRO-3100
+
+pci:v000012FBd00003500*
+ ID_MODEL_FROM_DATABASE=PRO-3500
+
+pci:v000012FBd00004D4F*
+ ID_MODEL_FROM_DATABASE=Modena
+
+pci:v000012FBd00008120*
+ ID_MODEL_FROM_DATABASE=ePMC-8120
+
+pci:v000012FBd0000DA62*
+ ID_MODEL_FROM_DATABASE=Daytona C6201 PCI (Hurricane)
+
+pci:v000012FBd0000DB62*
+ ID_MODEL_FROM_DATABASE=Ingliston XBIF
+
+pci:v000012FBd0000DC62*
+ ID_MODEL_FROM_DATABASE=Ingliston PLX9054
+
+pci:v000012FBd0000DD62*
+ ID_MODEL_FROM_DATABASE=Ingliston JTAG/ISP
+
+pci:v000012FBd0000EDDC*
+ ID_MODEL_FROM_DATABASE=ePMC-MSDDC
+
+pci:v000012FBd0000FA01*
+ ID_MODEL_FROM_DATABASE=ePMC-FPGA
+
+pci:v000012FC*
+ ID_VENDOR_FROM_DATABASE=Capital Equipment Corp
+
+pci:v000012FD*
+ ID_VENDOR_FROM_DATABASE=I2S
+
+pci:v000012FE*
+ ID_VENDOR_FROM_DATABASE=ESD Electronic System Design GmbH
+
+pci:v000012FF*
+ ID_VENDOR_FROM_DATABASE=Lexicon
+
+pci:v00001300*
+ ID_VENDOR_FROM_DATABASE=Harman International Industries Inc
+
+pci:v00001302*
+ ID_VENDOR_FROM_DATABASE=Computer Sciences Corp
+
+pci:v00001303*
+ ID_VENDOR_FROM_DATABASE=Innovative Integration
+
+pci:v00001303d00000030*
+ ID_MODEL_FROM_DATABASE=X3-SDF 4-channel XMC acquisition board
+
+pci:v00001304*
+ ID_VENDOR_FROM_DATABASE=Juniper Networks
+
+pci:v00001305*
+ ID_VENDOR_FROM_DATABASE=Netphone, Inc
+
+pci:v00001306*
+ ID_VENDOR_FROM_DATABASE=Duet Technologies
+
+pci:v00001307*
+ ID_VENDOR_FROM_DATABASE=Measurement Computing
+
+pci:v00001307d00000001*
+ ID_MODEL_FROM_DATABASE=PCI-DAS1602/16
+
+pci:v00001307d0000000B*
+ ID_MODEL_FROM_DATABASE=PCI-DIO48H
+
+pci:v00001307d0000000C*
+ ID_MODEL_FROM_DATABASE=PCI-PDISO8
+
+pci:v00001307d0000000D*
+ ID_MODEL_FROM_DATABASE=PCI-PDISO16
+
+pci:v00001307d0000000F*
+ ID_MODEL_FROM_DATABASE=PCI-DAS1200
+
+pci:v00001307d00000010*
+ ID_MODEL_FROM_DATABASE=PCI-DAS1602/12
+
+pci:v00001307d00000014*
+ ID_MODEL_FROM_DATABASE=PCI-DIO24H
+
+pci:v00001307d00000015*
+ ID_MODEL_FROM_DATABASE=PCI-DIO24H/CTR3
+
+pci:v00001307d00000016*
+ ID_MODEL_FROM_DATABASE=PCI-DIO48H/CTR15
+
+pci:v00001307d00000017*
+ ID_MODEL_FROM_DATABASE=PCI-DIO96H
+
+pci:v00001307d00000018*
+ ID_MODEL_FROM_DATABASE=PCI-CTR05
+
+pci:v00001307d00000019*
+ ID_MODEL_FROM_DATABASE=PCI-DAS1200/JR
+
+pci:v00001307d0000001A*
+ ID_MODEL_FROM_DATABASE=PCI-DAS1001
+
+pci:v00001307d0000001B*
+ ID_MODEL_FROM_DATABASE=PCI-DAS1002
+
+pci:v00001307d0000001C*
+ ID_MODEL_FROM_DATABASE=PCI-DAS1602JR/16
+
+pci:v00001307d0000001D*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6402/16
+
+pci:v00001307d0000001E*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6402/12
+
+pci:v00001307d0000001F*
+ ID_MODEL_FROM_DATABASE=PCI-DAS16/M1
+
+pci:v00001307d00000020*
+ ID_MODEL_FROM_DATABASE=PCI-DDA02/12
+
+pci:v00001307d00000021*
+ ID_MODEL_FROM_DATABASE=PCI-DDA04/12
+
+pci:v00001307d00000022*
+ ID_MODEL_FROM_DATABASE=PCI-DDA08/12
+
+pci:v00001307d00000023*
+ ID_MODEL_FROM_DATABASE=PCI-DDA02/16
+
+pci:v00001307d00000024*
+ ID_MODEL_FROM_DATABASE=PCI-DDA04/16
+
+pci:v00001307d00000025*
+ ID_MODEL_FROM_DATABASE=PCI-DDA08/16
+
+pci:v00001307d00000026*
+ ID_MODEL_FROM_DATABASE=PCI-DAC04/12-HS
+
+pci:v00001307d00000027*
+ ID_MODEL_FROM_DATABASE=PCI-DAC04/16-HS
+
+pci:v00001307d00000028*
+ ID_MODEL_FROM_DATABASE=PCI-DIO24
+
+pci:v00001307d00000029*
+ ID_MODEL_FROM_DATABASE=PCI-DAS08
+
+pci:v00001307d0000002C*
+ ID_MODEL_FROM_DATABASE=PCI-INT32
+
+pci:v00001307d00000033*
+ ID_MODEL_FROM_DATABASE=PCI-DUAL-AC5
+
+pci:v00001307d00000034*
+ ID_MODEL_FROM_DATABASE=PCI-DAS-TC
+
+pci:v00001307d00000035*
+ ID_MODEL_FROM_DATABASE=PCI-DAS64/M1/16
+
+pci:v00001307d00000036*
+ ID_MODEL_FROM_DATABASE=PCI-DAS64/M2/16
+
+pci:v00001307d00000037*
+ ID_MODEL_FROM_DATABASE=PCI-DAS64/M3/16
+
+pci:v00001307d0000004C*
+ ID_MODEL_FROM_DATABASE=PCI-DAS1000
+
+pci:v00001307d0000004D*
+ ID_MODEL_FROM_DATABASE=PCI-QUAD04
+
+pci:v00001307d00000052*
+ ID_MODEL_FROM_DATABASE=PCI-DAS4020/12
+
+pci:v00001307d00000053*
+ ID_MODEL_FROM_DATABASE=PCIM-DDA06/16
+
+pci:v00001307d00000054*
+ ID_MODEL_FROM_DATABASE=PCI-DIO96
+
+pci:v00001307d0000005D*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6023
+
+pci:v00001307d0000005E*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6025
+
+pci:v00001307d0000005F*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6030
+
+pci:v00001307d00000060*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6031
+
+pci:v00001307d00000061*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6032
+
+pci:v00001307d00000062*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6033
+
+pci:v00001307d00000063*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6034
+
+pci:v00001307d00000064*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6035
+
+pci:v00001307d00000065*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6040
+
+pci:v00001307d00000066*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6052
+
+pci:v00001307d00000067*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6070
+
+pci:v00001307d00000068*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6071
+
+pci:v00001307d0000006F*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6036
+
+pci:v00001307d00000070*
+ ID_MODEL_FROM_DATABASE=PCI-DAC6702
+
+pci:v00001307d00000078*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6013
+
+pci:v00001307d00000079*
+ ID_MODEL_FROM_DATABASE=PCI-DAS6014
+
+pci:v00001307d00000115*
+ ID_MODEL_FROM_DATABASE=PCIe-DAS1602/16
+
+pci:v00001308*
+ ID_VENDOR_FROM_DATABASE=Jato Technologies Inc.
+
+pci:v00001308d00000001*
+ ID_MODEL_FROM_DATABASE=NetCelerator Adapter
+
+pci:v00001308d00000001sv00001308sd00000001*
+ ID_MODEL_FROM_DATABASE=NetCelerator Adapter
+
+pci:v00001309*
+ ID_VENDOR_FROM_DATABASE=AB Semiconductor Ltd
+
+pci:v0000130A*
+ ID_VENDOR_FROM_DATABASE=Mitsubishi Electric Microcomputer
+
+pci:v0000130B*
+ ID_VENDOR_FROM_DATABASE=Colorgraphic Communications Corp
+
+pci:v0000130C*
+ ID_VENDOR_FROM_DATABASE=Ambex Technologies, Inc
+
+pci:v0000130D*
+ ID_VENDOR_FROM_DATABASE=Accelerix Inc
+
+pci:v0000130E*
+ ID_VENDOR_FROM_DATABASE=Yamatake-Honeywell Co. Ltd
+
+pci:v0000130F*
+ ID_VENDOR_FROM_DATABASE=Advanet Inc
+
+pci:v00001310*
+ ID_VENDOR_FROM_DATABASE=Gespac
+
+pci:v00001311*
+ ID_VENDOR_FROM_DATABASE=Videoserver, Inc
+
+pci:v00001312*
+ ID_VENDOR_FROM_DATABASE=Acuity Imaging, Inc
+
+pci:v00001313*
+ ID_VENDOR_FROM_DATABASE=Yaskawa Electric Co.
+
+pci:v00001315*
+ ID_VENDOR_FROM_DATABASE=Wavesat
+
+pci:v00001316*
+ ID_VENDOR_FROM_DATABASE=Teradyne Inc
+
+pci:v00001317*
+ ID_VENDOR_FROM_DATABASE=ADMtek
+
+pci:v00001317d00000981*
+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
+
+pci:v00001317d00000985*
+ ID_MODEL_FROM_DATABASE=NC100 Network Everywhere Fast Ethernet 10/100
+
+pci:v00001317d00000985sv00001734sd0000100C*
+ ID_MODEL_FROM_DATABASE=Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter
+
+pci:v00001317d00001985*
+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
+
+pci:v00001317d00001985sv00001385sd0000511A*
+ ID_MODEL_FROM_DATABASE=FA511
+
+pci:v00001317d00001985sv00001395sd00002103*
+ ID_MODEL_FROM_DATABASE=CB100-EZ (4-LED version)
+
+pci:v00001317d00002850*
+ ID_MODEL_FROM_DATABASE=HSP MicroModem 56
+
+pci:v00001317d00005120*
+ ID_MODEL_FROM_DATABASE=ADM5120 OpenGate System-on-Chip
+
+pci:v00001317d00008201*
+ ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface
+
+pci:v00001317d00008201sv000010B8sd00002635*
+ ID_MODEL_FROM_DATABASE=SMC2635W v1 802.11b Wireless Cardbus Adapter
+
+pci:v00001317d00008201sv00001317sd00008201*
+ ID_MODEL_FROM_DATABASE=SMC2635W v2 802.11b Wireless Cardbus Adapter
+
+pci:v00001317d00008211*
+ ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface
+
+pci:v00001317d00009511*
+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
+
+pci:v00001318*
+ ID_VENDOR_FROM_DATABASE=Packet Engines Inc.
+
+pci:v00001318d00000911*
+ ID_MODEL_FROM_DATABASE=GNIC-II PCI Gigabit Ethernet [Hamachi]
+
+pci:v00001319*
+ ID_VENDOR_FROM_DATABASE=Fortemedia, Inc
+
+pci:v00001319d00000801*
+ ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801]
+
+pci:v00001319d00000801sv00001319sd00001319*
+ ID_MODEL_FROM_DATABASE=FM801 PCI Audio
+
+pci:v00001319d00000802*
+ ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801 game port]
+
+pci:v00001319d00000802sv00001319sd00001319*
+ ID_MODEL_FROM_DATABASE=FM801 PCI Joystick
+
+pci:v00001319d00001000*
+ ID_MODEL_FROM_DATABASE=FM801 PCI Audio
+
+pci:v00001319d00001001*
+ ID_MODEL_FROM_DATABASE=FM801 PCI Joystick
+
+pci:v0000131A*
+ ID_VENDOR_FROM_DATABASE=Finisar Corp.
+
+pci:v0000131C*
+ ID_VENDOR_FROM_DATABASE=Nippon Electro-Sensory Devices Corp
+
+pci:v0000131D*
+ ID_VENDOR_FROM_DATABASE=Sysmic, Inc.
+
+pci:v0000131E*
+ ID_VENDOR_FROM_DATABASE=Xinex Networks Inc
+
+pci:v0000131F*
+ ID_VENDOR_FROM_DATABASE=Siig Inc
+
+pci:v0000131Fd00001000*
+ ID_MODEL_FROM_DATABASE=CyberSerial (1-port) 16550
+
+pci:v0000131Fd00001001*
+ ID_MODEL_FROM_DATABASE=CyberSerial (1-port) 16650
+
+pci:v0000131Fd00001002*
+ ID_MODEL_FROM_DATABASE=CyberSerial (1-port) 16850
+
+pci:v0000131Fd00001010*
+ ID_MODEL_FROM_DATABASE=Duet 1S(16550)+1P
+
+pci:v0000131Fd00001011*
+ ID_MODEL_FROM_DATABASE=Duet 1S(16650)+1P
+
+pci:v0000131Fd00001012*
+ ID_MODEL_FROM_DATABASE=Duet 1S(16850)+1P
+
+pci:v0000131Fd00001020*
+ ID_MODEL_FROM_DATABASE=CyberParallel (1-port)
+
+pci:v0000131Fd00001021*
+ ID_MODEL_FROM_DATABASE=CyberParallel (2-port)
+
+pci:v0000131Fd00001030*
+ ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16550
+
+pci:v0000131Fd00001031*
+ ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16650
+
+pci:v0000131Fd00001032*
+ ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16850
+
+pci:v0000131Fd00001034*
+ ID_MODEL_FROM_DATABASE=Trio 2S(16550)+1P
+
+pci:v0000131Fd00001035*
+ ID_MODEL_FROM_DATABASE=Trio 2S(16650)+1P
+
+pci:v0000131Fd00001036*
+ ID_MODEL_FROM_DATABASE=Trio 2S(16850)+1P
+
+pci:v0000131Fd00001050*
+ ID_MODEL_FROM_DATABASE=CyberSerial (4-port) 16550
+
+pci:v0000131Fd00001051*
+ ID_MODEL_FROM_DATABASE=CyberSerial (4-port) 16650
+
+pci:v0000131Fd00001052*
+ ID_MODEL_FROM_DATABASE=CyberSerial (4-port) 16850
+
+pci:v0000131Fd00002000*
+ ID_MODEL_FROM_DATABASE=CyberSerial (1-port) 16550
+
+pci:v0000131Fd00002001*
+ ID_MODEL_FROM_DATABASE=CyberSerial (1-port) 16650
+
+pci:v0000131Fd00002002*
+ ID_MODEL_FROM_DATABASE=CyberSerial (1-port) 16850
+
+pci:v0000131Fd00002010*
+ ID_MODEL_FROM_DATABASE=Duet 1S(16550)+1P
+
+pci:v0000131Fd00002011*
+ ID_MODEL_FROM_DATABASE=Duet 1S(16650)+1P
+
+pci:v0000131Fd00002012*
+ ID_MODEL_FROM_DATABASE=Duet 1S(16850)+1P
+
+pci:v0000131Fd00002020*
+ ID_MODEL_FROM_DATABASE=CyberParallel (1-port)
+
+pci:v0000131Fd00002021*
+ ID_MODEL_FROM_DATABASE=CyberParallel (2-port)
+
+pci:v0000131Fd00002030*
+ ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16550
+
+pci:v0000131Fd00002030sv0000131Fsd00002030*
+ ID_MODEL_FROM_DATABASE=PCI Serial Card
+
+pci:v0000131Fd00002031*
+ ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16650
+
+pci:v0000131Fd00002032*
+ ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16850
+
+pci:v0000131Fd00002040*
+ ID_MODEL_FROM_DATABASE=Trio 1S(16550)+2P
+
+pci:v0000131Fd00002041*
+ ID_MODEL_FROM_DATABASE=Trio 1S(16650)+2P
+
+pci:v0000131Fd00002042*
+ ID_MODEL_FROM_DATABASE=Trio 1S(16850)+2P
+
+pci:v0000131Fd00002050*
+ ID_MODEL_FROM_DATABASE=CyberSerial (4-port) 16550
+
+pci:v0000131Fd00002051*
+ ID_MODEL_FROM_DATABASE=CyberSerial (4-port) 16650
+
+pci:v0000131Fd00002052*
+ ID_MODEL_FROM_DATABASE=CyberSerial (4-port) 16850
+
+pci:v0000131Fd00002060*
+ ID_MODEL_FROM_DATABASE=Trio 2S(16550)+1P
+
+pci:v0000131Fd00002061*
+ ID_MODEL_FROM_DATABASE=Trio 2S(16650)+1P
+
+pci:v0000131Fd00002062*
+ ID_MODEL_FROM_DATABASE=Trio 2S(16850)+1P
+
+pci:v0000131Fd00002081*
+ ID_MODEL_FROM_DATABASE=CyberSerial (8-port) ST16654
+
+pci:v00001320*
+ ID_VENDOR_FROM_DATABASE=Crypto AG
+
+pci:v00001321*
+ ID_VENDOR_FROM_DATABASE=Arcobel Graphics BV
+
+pci:v00001322*
+ ID_VENDOR_FROM_DATABASE=MTT Co., Ltd
+
+pci:v00001323*
+ ID_VENDOR_FROM_DATABASE=Dome Inc
+
+pci:v00001324*
+ ID_VENDOR_FROM_DATABASE=Sphere Communications
+
+pci:v00001325*
+ ID_VENDOR_FROM_DATABASE=Salix Technologies, Inc
+
+pci:v00001326*
+ ID_VENDOR_FROM_DATABASE=Seachange international
+
+pci:v00001327*
+ ID_VENDOR_FROM_DATABASE=Voss scientific
+
+pci:v00001328*
+ ID_VENDOR_FROM_DATABASE=quadrant international
+
+pci:v00001329*
+ ID_VENDOR_FROM_DATABASE=Productivity Enhancement
+
+pci:v0000132A*
+ ID_VENDOR_FROM_DATABASE=Microcom Inc.
+
+pci:v0000132B*
+ ID_VENDOR_FROM_DATABASE=Broadband Technologies
+
+pci:v0000132C*
+ ID_VENDOR_FROM_DATABASE=Micrel Inc
+
+pci:v0000132D*
+ ID_VENDOR_FROM_DATABASE=Integrated Silicon Solution, Inc.
+
+pci:v00001330*
+ ID_VENDOR_FROM_DATABASE=MMC Networks
+
+pci:v00001331*
+ ID_VENDOR_FROM_DATABASE=RadiSys Corporation
+
+pci:v00001331d00000030*
+ ID_MODEL_FROM_DATABASE=ENP-2611
+
+pci:v00001331d00008200*
+ ID_MODEL_FROM_DATABASE=82600 Host Bridge
+
+pci:v00001331d00008201*
+ ID_MODEL_FROM_DATABASE=82600 IDE
+
+pci:v00001331d00008202*
+ ID_MODEL_FROM_DATABASE=82600 USB
+
+pci:v00001331d00008210*
+ ID_MODEL_FROM_DATABASE=82600 PCI Bridge
+
+pci:v00001332*
+ ID_VENDOR_FROM_DATABASE=Micro Memory
+
+pci:v00001332d00005415*
+ ID_MODEL_FROM_DATABASE=MM-5415CN PCI Memory Module with Battery Backup
+
+pci:v00001332d00005425*
+ ID_MODEL_FROM_DATABASE=MM-5425CN PCI 64/66 Memory Module with Battery Backup
+
+pci:v00001332d00006140*
+ ID_MODEL_FROM_DATABASE=MM-6140D
+
+pci:v00001334*
+ ID_VENDOR_FROM_DATABASE=Redcreek Communications, Inc
+
+pci:v00001335*
+ ID_VENDOR_FROM_DATABASE=Videomail, Inc
+
+pci:v00001337*
+ ID_VENDOR_FROM_DATABASE=Third Planet Publishing
+
+pci:v00001338*
+ ID_VENDOR_FROM_DATABASE=BT Electronics
+
+pci:v0000133A*
+ ID_VENDOR_FROM_DATABASE=Vtel Corp
+
+pci:v0000133B*
+ ID_VENDOR_FROM_DATABASE=Softcom Microsystems
+
+pci:v0000133C*
+ ID_VENDOR_FROM_DATABASE=Holontech Corp
+
+pci:v0000133D*
+ ID_VENDOR_FROM_DATABASE=SS Technologies
+
+pci:v0000133E*
+ ID_VENDOR_FROM_DATABASE=Virtual Computer Corp
+
+pci:v0000133F*
+ ID_VENDOR_FROM_DATABASE=SCM Microsystems
+
+pci:v00001340*
+ ID_VENDOR_FROM_DATABASE=Atalla Corp
+
+pci:v00001341*
+ ID_VENDOR_FROM_DATABASE=Kyoto Microcomputer Co
+
+pci:v00001342*
+ ID_VENDOR_FROM_DATABASE=Promax Systems Inc
+
+pci:v00001343*
+ ID_VENDOR_FROM_DATABASE=Phylon Communications Inc
+
+pci:v00001344*
+ ID_VENDOR_FROM_DATABASE=Micron Technology Inc
+
+pci:v00001344d00005150*
+ ID_MODEL_FROM_DATABASE=RealSSD P320h
+
+pci:v00001344d00005151*
+ ID_MODEL_FROM_DATABASE=RealSSD P320m
+
+pci:v00001344d00005152*
+ ID_MODEL_FROM_DATABASE=RealSSD P320s
+
+pci:v00001344d00005153*
+ ID_MODEL_FROM_DATABASE=RealSSD P325m
+
+pci:v00001344d00005160*
+ ID_MODEL_FROM_DATABASE=RealSSD P420h
+
+pci:v00001344d00005161*
+ ID_MODEL_FROM_DATABASE=RealSSD P420m
+
+pci:v00001344d00005163*
+ ID_MODEL_FROM_DATABASE=RealSSD P425m
+
+pci:v00001345*
+ ID_VENDOR_FROM_DATABASE=Arescom Inc
+
+pci:v00001347*
+ ID_VENDOR_FROM_DATABASE=Odetics
+
+pci:v00001349*
+ ID_VENDOR_FROM_DATABASE=Sumitomo Electric Industries, Ltd.
+
+pci:v0000134A*
+ ID_VENDOR_FROM_DATABASE=DTC Technology Corp.
+
+pci:v0000134Ad00000001*
+ ID_MODEL_FROM_DATABASE=Domex 536
+
+pci:v0000134Ad00000002*
+ ID_MODEL_FROM_DATABASE=Domex DMX3194UP SCSI Adapter
+
+pci:v0000134B*
+ ID_VENDOR_FROM_DATABASE=ARK Research Corp.
+
+pci:v0000134C*
+ ID_VENDOR_FROM_DATABASE=Chori Joho System Co. Ltd
+
+pci:v0000134D*
+ ID_VENDOR_FROM_DATABASE=PCTel Inc
+
+pci:v0000134Dd00002189*
+ ID_MODEL_FROM_DATABASE=HSP56 MicroModem
+
+pci:v0000134Dd00002486*
+ ID_MODEL_FROM_DATABASE=2304WT V.92 MDC Modem
+
+pci:v0000134Dd00007890*
+ ID_MODEL_FROM_DATABASE=HSP MicroModem 56
+
+pci:v0000134Dd00007890sv0000134Dsd00000001*
+ ID_MODEL_FROM_DATABASE=PCT789 adapter
+
+pci:v0000134Dd00007891*
+ ID_MODEL_FROM_DATABASE=HSP MicroModem 56
+
+pci:v0000134Dd00007891sv0000134Dsd00000001*
+ ID_MODEL_FROM_DATABASE=HSP MicroModem 56
+
+pci:v0000134Dd00007892*
+ ID_MODEL_FROM_DATABASE=HSP MicroModem 56
+
+pci:v0000134Dd00007893*
+ ID_MODEL_FROM_DATABASE=HSP MicroModem 56
+
+pci:v0000134Dd00007894*
+ ID_MODEL_FROM_DATABASE=HSP MicroModem 56
+
+pci:v0000134Dd00007895*
+ ID_MODEL_FROM_DATABASE=HSP MicroModem 56
+
+pci:v0000134Dd00007896*
+ ID_MODEL_FROM_DATABASE=HSP MicroModem 56
+
+pci:v0000134Dd00007897*
+ ID_MODEL_FROM_DATABASE=HSP MicroModem 56
+
+pci:v0000134E*
+ ID_VENDOR_FROM_DATABASE=CSTI
+
+pci:v0000134F*
+ ID_VENDOR_FROM_DATABASE=Algo System Co Ltd
+
+pci:v00001350*
+ ID_VENDOR_FROM_DATABASE=Systec Co. Ltd
+
+pci:v00001351*
+ ID_VENDOR_FROM_DATABASE=Sonix Inc
+
+pci:v00001353*
+ ID_VENDOR_FROM_DATABASE=Vierling Communication SAS
+
+pci:v00001353d00000002*
+ ID_MODEL_FROM_DATABASE=Proserver
+
+pci:v00001353d00000003*
+ ID_MODEL_FROM_DATABASE=PCI-FUT
+
+pci:v00001353d00000004*
+ ID_MODEL_FROM_DATABASE=PCI-S0
+
+pci:v00001353d00000005*
+ ID_MODEL_FROM_DATABASE=PCI-FUT-S0
+
+pci:v00001354*
+ ID_VENDOR_FROM_DATABASE=Dwave System Inc
+
+pci:v00001355*
+ ID_VENDOR_FROM_DATABASE=Kratos Analytical Ltd
+
+pci:v00001356*
+ ID_VENDOR_FROM_DATABASE=The Logical Co
+
+pci:v00001359*
+ ID_VENDOR_FROM_DATABASE=Prisa Networks
+
+pci:v0000135A*
+ ID_VENDOR_FROM_DATABASE=Brain Boxes
+
+pci:v0000135Ad00000A61*
+ ID_MODEL_FROM_DATABASE=UC-324 [VELOCITY RS422/485]
+
+pci:v0000135B*
+ ID_VENDOR_FROM_DATABASE=Giganet Inc
+
+pci:v0000135C*
+ ID_VENDOR_FROM_DATABASE=Quatech Inc
+
+pci:v0000135Cd00000010*
+ ID_MODEL_FROM_DATABASE=QSC-100
+
+pci:v0000135Cd00000020*
+ ID_MODEL_FROM_DATABASE=DSC-100
+
+pci:v0000135Cd00000030*
+ ID_MODEL_FROM_DATABASE=DSC-200/300
+
+pci:v0000135Cd00000040*
+ ID_MODEL_FROM_DATABASE=QSC-200/300
+
+pci:v0000135Cd00000050*
+ ID_MODEL_FROM_DATABASE=ESC-100D
+
+pci:v0000135Cd00000060*
+ ID_MODEL_FROM_DATABASE=ESC-100M
+
+pci:v0000135Cd000000F0*
+ ID_MODEL_FROM_DATABASE=MPAC-100 Syncronous Serial Card (Zilog 85230)
+
+pci:v0000135Cd00000170*
+ ID_MODEL_FROM_DATABASE=QSCLP-100
+
+pci:v0000135Cd00000180*
+ ID_MODEL_FROM_DATABASE=DSCLP-100
+
+pci:v0000135Cd00000190*
+ ID_MODEL_FROM_DATABASE=SSCLP-100
+
+pci:v0000135Cd000001A0*
+ ID_MODEL_FROM_DATABASE=QSCLP-200/300
+
+pci:v0000135Cd000001B0*
+ ID_MODEL_FROM_DATABASE=DSCLP-200/300
+
+pci:v0000135Cd000001C0*
+ ID_MODEL_FROM_DATABASE=SSCLP-200/300
+
+pci:v0000135Cd00000258*
+ ID_MODEL_FROM_DATABASE=DSPSX-200/300
+
+pci:v0000135D*
+ ID_VENDOR_FROM_DATABASE=ABB Network Partner AB
+
+pci:v0000135E*
+ ID_VENDOR_FROM_DATABASE=Sealevel Systems Inc
+
+pci:v0000135Ed00005101*
+ ID_MODEL_FROM_DATABASE=Route 56.PCI - Multi-Protocol Serial Interface (Zilog Z16C32)
+
+pci:v0000135Ed00007101*
+ ID_MODEL_FROM_DATABASE=Single Port RS-232/422/485/530
+
+pci:v0000135Ed00007201*
+ ID_MODEL_FROM_DATABASE=Dual Port RS-232/422/485 Interface
+
+pci:v0000135Ed00007202*
+ ID_MODEL_FROM_DATABASE=Dual Port RS-232 Interface
+
+pci:v0000135Ed00007401*
+ ID_MODEL_FROM_DATABASE=Four Port RS-232 Interface
+
+pci:v0000135Ed00007402*
+ ID_MODEL_FROM_DATABASE=Four Port RS-422/485 Interface
+
+pci:v0000135Ed00007801*
+ ID_MODEL_FROM_DATABASE=Eight Port RS-232 Interface
+
+pci:v0000135Ed00007804*
+ ID_MODEL_FROM_DATABASE=Eight Port RS-232/422/485 Interface
+
+pci:v0000135Ed00008001*
+ ID_MODEL_FROM_DATABASE=8001 Digital I/O Adapter
+
+pci:v0000135F*
+ ID_VENDOR_FROM_DATABASE=I-Data International A-S
+
+pci:v00001360*
+ ID_VENDOR_FROM_DATABASE=Meinberg Funkuhren
+
+pci:v00001360d00000101*
+ ID_MODEL_FROM_DATABASE=PCI32 DCF77 Radio Clock
+
+pci:v00001360d00000102*
+ ID_MODEL_FROM_DATABASE=PCI509 DCF77 Radio Clock
+
+pci:v00001360d00000103*
+ ID_MODEL_FROM_DATABASE=PCI510 DCF77 Radio Clock
+
+pci:v00001360d00000104*
+ ID_MODEL_FROM_DATABASE=PCI511 DCF77 Radio Clock
+
+pci:v00001360d00000105*
+ ID_MODEL_FROM_DATABASE=PEX511 DCF77 Radio Clock (PCI Express)
+
+pci:v00001360d00000106*
+ ID_MODEL_FROM_DATABASE=PZF180PEX High Precision DCF77 Radio Clock (PCI Express)
+
+pci:v00001360d00000201*
+ ID_MODEL_FROM_DATABASE=GPS167PCI GPS Receiver
+
+pci:v00001360d00000202*
+ ID_MODEL_FROM_DATABASE=GPS168PCI GPS Receiver
+
+pci:v00001360d00000203*
+ ID_MODEL_FROM_DATABASE=GPS169PCI GPS Receiver
+
+pci:v00001360d00000204*
+ ID_MODEL_FROM_DATABASE=GPS170PCI GPS Receiver
+
+pci:v00001360d00000205*
+ ID_MODEL_FROM_DATABASE=GPS170PEX GPS Receiver (PCI Express)
+
+pci:v00001360d00000206*
+ ID_MODEL_FROM_DATABASE=GPS180PEX GPS Receiver (PCI Express)
+
+pci:v00001360d00000301*
+ ID_MODEL_FROM_DATABASE=TCR510PCI IRIG Timecode Reader
+
+pci:v00001360d00000302*
+ ID_MODEL_FROM_DATABASE=TCR167PCI IRIG Timecode Reader
+
+pci:v00001360d00000303*
+ ID_MODEL_FROM_DATABASE=TCR511PCI IRIG Timecode Reader
+
+pci:v00001360d00000304*
+ ID_MODEL_FROM_DATABASE=TCR511PEX IRIG Timecode Reader (PCI Express)
+
+pci:v00001360d00000305*
+ ID_MODEL_FROM_DATABASE=TCR170PEX IRIG Timecode Reader (PCI Express)
+
+pci:v00001360d00000306*
+ ID_MODEL_FROM_DATABASE=TCR180PEX IRIG Timecode Reader (PCI Express)
+
+pci:v00001360d00000501*
+ ID_MODEL_FROM_DATABASE=PTP270PEX PTP/IEEE1588 slave card (PCI Express)
+
+pci:v00001360d00000601*
+ ID_MODEL_FROM_DATABASE=FRC511PEX Free Running Clock (PCI Express)
+
+pci:v00001361*
+ ID_VENDOR_FROM_DATABASE=Soliton Systems K.K.
+
+pci:v00001362*
+ ID_VENDOR_FROM_DATABASE=Fujifacom Corporation
+
+pci:v00001363*
+ ID_VENDOR_FROM_DATABASE=Phoenix Technology Ltd
+
+pci:v00001364*
+ ID_VENDOR_FROM_DATABASE=ATM Communications Inc
+
+pci:v00001365*
+ ID_VENDOR_FROM_DATABASE=Hypercope GmbH
+
+pci:v00001366*
+ ID_VENDOR_FROM_DATABASE=Teijin Seiki Co. Ltd
+
+pci:v00001367*
+ ID_VENDOR_FROM_DATABASE=Hitachi Zosen Corporation
+
+pci:v00001368*
+ ID_VENDOR_FROM_DATABASE=Skyware Corporation
+
+pci:v00001369*
+ ID_VENDOR_FROM_DATABASE=Digigram
+
+pci:v0000136A*
+ ID_VENDOR_FROM_DATABASE=High Soft Tech
+
+pci:v0000136Ad00000004*
+ ID_MODEL_FROM_DATABASE=HST Saphir VII mini PCI
+
+pci:v0000136Ad00000007*
+ ID_MODEL_FROM_DATABASE=HST Saphir III E MultiLink 4
+
+pci:v0000136Ad00000008*
+ ID_MODEL_FROM_DATABASE=HST Saphir III E MultiLink 8
+
+pci:v0000136Ad0000000A*
+ ID_MODEL_FROM_DATABASE=HST Saphir III E MultiLink 2
+
+pci:v0000136B*
+ ID_VENDOR_FROM_DATABASE=Kawasaki Steel Corporation
+
+pci:v0000136Bd0000FF01*
+ ID_MODEL_FROM_DATABASE=KL5A72002 Motion JPEG
+
+pci:v0000136C*
+ ID_VENDOR_FROM_DATABASE=Adtek System Science Co Ltd
+
+pci:v0000136D*
+ ID_VENDOR_FROM_DATABASE=Gigalabs Inc
+
+pci:v0000136F*
+ ID_VENDOR_FROM_DATABASE=Applied Magic Inc
+
+pci:v00001370*
+ ID_VENDOR_FROM_DATABASE=ATL Products
+
+pci:v00001371*
+ ID_VENDOR_FROM_DATABASE=CNet Technology Inc
+
+pci:v00001371d0000434E*
+ ID_MODEL_FROM_DATABASE=GigaCard Network Adapter
+
+pci:v00001371d0000434Esv00001371sd0000434E*
+ ID_MODEL_FROM_DATABASE=N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L)
+
+pci:v00001373*
+ ID_VENDOR_FROM_DATABASE=Silicon Vision Inc
+
+pci:v00001374*
+ ID_VENDOR_FROM_DATABASE=Silicom Ltd.
+
+pci:v00001374d00000024*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Giga Ethernet BGE Bypass Server Adapter
+
+pci:v00001374d00000025*
+ ID_MODEL_FROM_DATABASE=Silicom Quad port Giga Ethernet BGE Bypass Server Adapter
+
+pci:v00001374d00000026*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Fiber Giga Ethernet 546 Bypass Server Adapter
+
+pci:v00001374d00000027*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Fiber LX Giga Ethernet 546 Bypass Server Adapter
+
+pci:v00001374d00000029*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Copper Giga Ethernet 546GB Bypass Server Adapter
+
+pci:v00001374d0000002A*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Fiber Giga Ethernet 546 TAP/Bypass Server Adapter
+
+pci:v00001374d0000002B*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Copper Fast Ethernet 546 TAP/Bypass Server Adapter (PXE2TBI)
+
+pci:v00001374d0000002C*
+ ID_MODEL_FROM_DATABASE=Silicom Quad port Copper Giga Ethernet 546GB Bypass Server Adapter (PXG4BPI)
+
+pci:v00001374d0000002D*
+ ID_MODEL_FROM_DATABASE=Silicom Quad port Fiber-SX Giga Ethernet 546GB Bypass Server Adapter (PXG4BPFI)
+
+pci:v00001374d0000002E*
+ ID_MODEL_FROM_DATABASE=Silicom Quad port Fiber-LX Giga Ethernet 546GB Bypass Server Adapter (PXG4BPFI-LX)
+
+pci:v00001374d0000002F*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Fiber-SX Giga Ethernet 546GB Low profile Bypass Server Adapter (PXG2BPFIL)
+
+pci:v00001374d00000030*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Fiber-LX Giga Ethernet 546GB Low profile Bypass Server Adapter
+
+pci:v00001374d00000031*
+ ID_MODEL_FROM_DATABASE=Silicom Quad port Copper Giga Ethernet PCI-E Bypass Server Adapter
+
+pci:v00001374d00000032*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Copper Fast Ethernet 546 TAP/Bypass Server Adapter
+
+pci:v00001374d00000034*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Copper Giga Ethernet PCI-E BGE Bypass Server Adapter
+
+pci:v00001374d00000035*
+ ID_MODEL_FROM_DATABASE=Silicom Quad port Copper Giga Ethernet PCI-E BGE Bypass Server Adapter
+
+pci:v00001374d00000036*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Fiber Giga Ethernet PCI-E BGE Bypass Server Adapter
+
+pci:v00001374d00000037*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Copper Ethernet PCI-E Intel based Bypass Server Adapter
+
+pci:v00001374d00000038*
+ ID_MODEL_FROM_DATABASE=Silicom Quad port Copper Ethernet PCI-E Intel based Bypass Server Adapter
+
+pci:v00001374d00000039*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Fiber-SX Ethernet PCI-E Intel based Bypass Server Adapter
+
+pci:v00001374d0000003A*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Fiber-LX Ethernet PCI-E Intel based Bypass Server Adapter
+
+pci:v00001374d0000003B*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Fiber Ethernet PMC Intel based Bypass Server Adapter (PMCX2BPFI)
+
+pci:v00001374d0000003C*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Copper Ethernet PCI-X BGE based Bypass Server Adapter (PXG2BPRB)
+
+pci:v00001374d0000003D*
+ ID_MODEL_FROM_DATABASE=2-port Copper GBE Bypass with Caviume 1010 PCI-X
+
+pci:v00001374d0000003E*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Fiber Giga Ethernet PCI-E 571 TAP/Bypass Server Adapter (PEG2TBFI)
+
+pci:v00001374d0000003F*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Copper Giga Ethernet PCI-X 546 TAP/Bypass Server Adapter (PXG2TBI)
+
+pci:v00001374d00000040*
+ ID_MODEL_FROM_DATABASE=Silicom Quad port Fiber-SX Giga Ethernet 571 Bypass Server Adapter (PEG4BPFI)
+
+pci:v00001374d00000042*
+ ID_MODEL_FROM_DATABASE=4-port Copper GBE PMC-X Bypass
+
+pci:v00001374d00000043*
+ ID_MODEL_FROM_DATABASE=Silicom Quad port Fiber-SX Giga Ethernet 546 Bypass Server Adapter (PXG4BPFID)
+
+pci:v00001374d00000045*
+ ID_MODEL_FROM_DATABASE=Silicom 6 port Copper Giga Ethernet 546 Bypass Server Adapter (PXG6BPI)
+
+pci:v00001374d00000046*
+ ID_MODEL_FROM_DATABASE=4-port bypass PCI-E w disconnect low profile
+
+pci:v00001374d00000047*
+ ID_MODEL_FROM_DATABASE=Silicom Dual port Fiber-SX Giga Ethernet 571 Bypass Disconnect Server Adapter (PEG2BPFID)
+
+pci:v00001374d0000004A*
+ ID_MODEL_FROM_DATABASE=Silicom Quad port Fiber-LX Giga Ethernet 571 Bypass Server Adapter (PEG4BPFI-LX)
+
+pci:v00001374d0000004D*
+ ID_MODEL_FROM_DATABASE=Dual port Copper Giga Ethernet PCI-E Bypass Server Adapter
+
+pci:v00001374d00000401*
+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet ExpressModule Bypass Server Adapter
+
+pci:v00001374d00000420*
+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet ExpressModule Bypass Server Adapter
+
+pci:v00001374d00000460*
+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Express Module Bypass Server Adapter
+
+pci:v00001374d00000461*
+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet ExpressModule Bypass Server Adapter
+
+pci:v00001374d00000462*
+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet ExpressModule Bypass Server Adapter
+
+pci:v00001374d00000470*
+ ID_MODEL_FROM_DATABASE=Octal-port Copper Gigabit Ethernet Express Module Bypass Server Adapter
+
+pci:v00001374d00000482*
+ ID_MODEL_FROM_DATABASE=Dual-port Fiber (SR) 10 Gigabit Ethernet ExpressModule Bypass Server Adapter
+
+pci:v00001374d00000483*
+ ID_MODEL_FROM_DATABASE=Dual-port Fiber (LR) 10 Gigabit Ethernet ExpressModule Bypass Server Adapter
+
+pci:v00001375*
+ ID_VENDOR_FROM_DATABASE=Argosystems Inc
+
+pci:v00001376*
+ ID_VENDOR_FROM_DATABASE=LMC
+
+pci:v00001377*
+ ID_VENDOR_FROM_DATABASE=Electronic Equipment Production & Distribution GmbH
+
+pci:v00001378*
+ ID_VENDOR_FROM_DATABASE=Telemann Co. Ltd
+
+pci:v00001379*
+ ID_VENDOR_FROM_DATABASE=Asahi Kasei Microsystems Co Ltd
+
+pci:v0000137A*
+ ID_VENDOR_FROM_DATABASE=Mark of the Unicorn Inc
+
+pci:v0000137Ad00000001*
+ ID_MODEL_FROM_DATABASE=PCI-324 Audiowire Interface
+
+pci:v0000137B*
+ ID_VENDOR_FROM_DATABASE=PPT Vision
+
+pci:v0000137C*
+ ID_VENDOR_FROM_DATABASE=Iwatsu Electric Co Ltd
+
+pci:v0000137D*
+ ID_VENDOR_FROM_DATABASE=Dynachip Corporation
+
+pci:v0000137E*
+ ID_VENDOR_FROM_DATABASE=Patriot Scientific Corporation
+
+pci:v0000137F*
+ ID_VENDOR_FROM_DATABASE=Japan Satellite Systems Inc
+
+pci:v00001380*
+ ID_VENDOR_FROM_DATABASE=Sanritz Automation Co Ltd
+
+pci:v00001381*
+ ID_VENDOR_FROM_DATABASE=Brains Co. Ltd
+
+pci:v00001382*
+ ID_VENDOR_FROM_DATABASE=Marian - Electronic & Software
+
+pci:v00001382d00000001*
+ ID_MODEL_FROM_DATABASE=ARC88 audio recording card
+
+pci:v00001382d00002008*
+ ID_MODEL_FROM_DATABASE=Prodif 96 Pro sound system
+
+pci:v00001382d00002048*
+ ID_MODEL_FROM_DATABASE=Prodif Plus sound system
+
+pci:v00001382d00002088*
+ ID_MODEL_FROM_DATABASE=Marc 8 Midi sound system
+
+pci:v00001382d000020C8*
+ ID_MODEL_FROM_DATABASE=Marc A sound system
+
+pci:v00001382d00004008*
+ ID_MODEL_FROM_DATABASE=Marc 2 sound system
+
+pci:v00001382d00004010*
+ ID_MODEL_FROM_DATABASE=Marc 2 Pro sound system
+
+pci:v00001382d00004048*
+ ID_MODEL_FROM_DATABASE=Marc 4 MIDI sound system
+
+pci:v00001382d00004088*
+ ID_MODEL_FROM_DATABASE=Marc 4 Digi sound system
+
+pci:v00001382d00004248*
+ ID_MODEL_FROM_DATABASE=Marc X sound system
+
+pci:v00001382d00004424*
+ ID_MODEL_FROM_DATABASE=TRACE D4 Sound System
+
+pci:v00001383*
+ ID_VENDOR_FROM_DATABASE=Controlnet Inc
+
+pci:v00001384*
+ ID_VENDOR_FROM_DATABASE=Reality Simulation Systems Inc
+
+pci:v00001385*
+ ID_VENDOR_FROM_DATABASE=Netgear
+
+pci:v00001385d0000006B*
+ ID_MODEL_FROM_DATABASE=WA301 802.11b Wireless PCI Adapter
+
+pci:v00001385d00004100*
+ ID_MODEL_FROM_DATABASE=MA301 802.11b Wireless PCI Adapter
+
+pci:v00001385d00004601*
+ ID_MODEL_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card
+
+pci:v00001385d0000620A*
+ ID_MODEL_FROM_DATABASE=GA620 Gigabit Ethernet
+
+pci:v00001385d0000630A*
+ ID_MODEL_FROM_DATABASE=GA630 Gigabit Ethernet
+
+pci:v00001386*
+ ID_VENDOR_FROM_DATABASE=Video Domain Technologies
+
+pci:v00001387*
+ ID_VENDOR_FROM_DATABASE=Systran Corp
+
+pci:v00001388*
+ ID_VENDOR_FROM_DATABASE=Hitachi Information Technology Co Ltd
+
+pci:v00001389*
+ ID_VENDOR_FROM_DATABASE=Applicom International
+
+pci:v00001389d00000001*
+ ID_MODEL_FROM_DATABASE=PCI1500PFB [Intelligent fieldbus adaptor]
+
+pci:v0000138A*
+ ID_VENDOR_FROM_DATABASE=Fusion Micromedia Corp
+
+pci:v0000138Ad0000003D*
+ ID_MODEL_FROM_DATABASE=VFS491 Validity Sensor
+
+pci:v0000138B*
+ ID_VENDOR_FROM_DATABASE=Tokimec Inc
+
+pci:v0000138C*
+ ID_VENDOR_FROM_DATABASE=Silicon Reality
+
+pci:v0000138D*
+ ID_VENDOR_FROM_DATABASE=Future Techno Designs pte Ltd
+
+pci:v0000138E*
+ ID_VENDOR_FROM_DATABASE=Basler GmbH
+
+pci:v0000138F*
+ ID_VENDOR_FROM_DATABASE=Patapsco Designs Inc
+
+pci:v00001390*
+ ID_VENDOR_FROM_DATABASE=Concept Development Inc
+
+pci:v00001391*
+ ID_VENDOR_FROM_DATABASE=Development Concepts Inc
+
+pci:v00001392*
+ ID_VENDOR_FROM_DATABASE=Medialight Inc
+
+pci:v00001393*
+ ID_VENDOR_FROM_DATABASE=Moxa Technologies Co Ltd
+
+pci:v00001393d00000001*
+ ID_MODEL_FROM_DATABASE=UC7000 Serial
+
+pci:v00001393d00001020*
+ ID_MODEL_FROM_DATABASE=CP102 (2-port RS-232 PCI)
+
+pci:v00001393d00001021*
+ ID_MODEL_FROM_DATABASE=CP102UL (2-port RS-232 Universal PCI)
+
+pci:v00001393d00001022*
+ ID_MODEL_FROM_DATABASE=CP102U (2-port RS-232 Universal PCI)
+
+pci:v00001393d00001023*
+ ID_MODEL_FROM_DATABASE=CP-102UF
+
+pci:v00001393d00001024*
+ ID_MODEL_FROM_DATABASE=CP-102E (2-port RS-232 Smart PCI Express Serial Board)
+
+pci:v00001393d00001025*
+ ID_MODEL_FROM_DATABASE=CP-102EL (2-port RS-232 Smart PCI Express Serial Board)
+
+pci:v00001393d00001040*
+ ID_MODEL_FROM_DATABASE=Smartio C104H/PCI
+
+pci:v00001393d00001041*
+ ID_MODEL_FROM_DATABASE=CP104U (4-port RS-232 Universal PCI)
+
+pci:v00001393d00001042*
+ ID_MODEL_FROM_DATABASE=CP104JU (4-port RS-232 Universal PCI)
+
+pci:v00001393d00001043*
+ ID_MODEL_FROM_DATABASE=CP104EL (4-port RS-232 Smart PCI Express)
+
+pci:v00001393d00001044*
+ ID_MODEL_FROM_DATABASE=POS104UL (4-port RS-232 Universal PCI)
+
+pci:v00001393d00001045*
+ ID_MODEL_FROM_DATABASE=CP-104EL-A (4-port RS-232 PCI Express Serial Board)
+
+pci:v00001393d00001080*
+ ID_MODEL_FROM_DATABASE=CB108 (8-port RS-232 PC/104-plus Module)
+
+pci:v00001393d00001140*
+ ID_MODEL_FROM_DATABASE=CT-114 series
+
+pci:v00001393d00001141*
+ ID_MODEL_FROM_DATABASE=Industrio CP-114
+
+pci:v00001393d00001142*
+ ID_MODEL_FROM_DATABASE=CB114 (4-port RS-232/422/485 PC/104-plus Module)
+
+pci:v00001393d00001143*
+ ID_MODEL_FROM_DATABASE=CP-114UL (4-port RS-232/422/485 Smart Universal PCI Serial Board)
+
+pci:v00001393d00001144*
+ ID_MODEL_FROM_DATABASE=CP-114EL (4-port RS-232/422/485 Smart PCI Express Serial Board)
+
+pci:v00001393d00001180*
+ ID_MODEL_FROM_DATABASE=CP118U (8-port RS-232/422/485 Smart Universal PCI)
+
+pci:v00001393d00001181*
+ ID_MODEL_FROM_DATABASE=CP118EL (8-port RS-232/422/485 Smart PCI Express)
+
+pci:v00001393d00001182*
+ ID_MODEL_FROM_DATABASE=CP-118EL-A (8-port RS-232/422/485 PCI Express Serial Board)
+
+pci:v00001393d00001320*
+ ID_MODEL_FROM_DATABASE=CP132 (2-port RS-422/485 PCI)
+
+pci:v00001393d00001321*
+ ID_MODEL_FROM_DATABASE=CP132U (2-Port RS-422/485 Universal PCI)
+
+pci:v00001393d00001322*
+ ID_MODEL_FROM_DATABASE=CP-132EL (2-port RS-422/485 Smart PCI Express Serial Board)
+
+pci:v00001393d00001340*
+ ID_MODEL_FROM_DATABASE=CP134U (4-Port RS-422/485 Universal PCI)
+
+pci:v00001393d00001341*
+ ID_MODEL_FROM_DATABASE=CB134I (4-port RS-422/485 PC/104-plus Module)
+
+pci:v00001393d00001380*
+ ID_MODEL_FROM_DATABASE=CP138U (8-port RS-232/422/485 Smart Universal PCI)
+
+pci:v00001393d00001680*
+ ID_MODEL_FROM_DATABASE=Smartio C168H/PCI
+
+pci:v00001393d00001681*
+ ID_MODEL_FROM_DATABASE=CP-168U V2 Smart Serial Board (8-port RS-232)
+
+pci:v00001393d00001682*
+ ID_MODEL_FROM_DATABASE=CP168EL (8-port RS-232 Smart PCI Express)
+
+pci:v00001393d00001683*
+ ID_MODEL_FROM_DATABASE=CP-168EL-A (8-port RS-232 PCI Express Serial Board)
+
+pci:v00001393d00002040*
+ ID_MODEL_FROM_DATABASE=Intellio CP-204J
+
+pci:v00001393d00002180*
+ ID_MODEL_FROM_DATABASE=Intellio C218 Turbo PCI
+
+pci:v00001393d00003200*
+ ID_MODEL_FROM_DATABASE=Intellio C320 Turbo PCI
+
+pci:v00001394*
+ ID_VENDOR_FROM_DATABASE=Level One Communications
+
+pci:v00001394d00000001*
+ ID_MODEL_FROM_DATABASE=LXT1001 Gigabit Ethernet
+
+pci:v00001394d00000001sv00001186sd00004800*
+ ID_MODEL_FROM_DATABASE=DGE-500SX
+
+pci:v00001394d00000001sv00001394sd00000001*
+ ID_MODEL_FROM_DATABASE=NetCelerator Adapter
+
+pci:v00001395*
+ ID_VENDOR_FROM_DATABASE=Ambicom Inc
+
+pci:v00001396*
+ ID_VENDOR_FROM_DATABASE=Cipher Systems Inc
+
+pci:v00001397*
+ ID_VENDOR_FROM_DATABASE=Cologne Chip Designs GmbH
+
+pci:v00001397d000008B4*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S]
+
+pci:v00001397d000008B4sv00001397sd0000B520*
+ ID_MODEL_FROM_DATABASE=HFC-4S [IOB4ST]
+
+pci:v00001397d000008B4sv00001397sd0000B540*
+ ID_MODEL_FROM_DATABASE=HFC-4S [Swyx 4xS0 SX2 QuadBri]
+
+pci:v00001397d000008B4sv00001397sd0000B550*
+ ID_MODEL_FROM_DATABASE=HFC-4S [Junghanns quadBRI]
+
+pci:v00001397d000008B4sv00001397sd0000B556*
+ ID_MODEL_FROM_DATABASE=HFC-4S [Junghanns DuoDBRI]
+
+pci:v00001397d000008B4sv00001397sd0000E888*
+ ID_MODEL_FROM_DATABASE=HFC-4S [OpenVox B200P / B400P]
+
+pci:v00001397d000016B8*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S]
+
+pci:v00001397d000016B8sv00001397sd0000B562*
+ ID_MODEL_FROM_DATABASE=HFC-8S [IOB8ST]
+
+pci:v00001397d00002BD0*
+ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI]
+
+pci:v00001397d00002BD0sv00000675sd00001704*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C)
+
+pci:v00001397d00002BD0sv00000675sd00001708*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C, ACPI)
+
+pci:v00001397d00002BD0sv00001397sd00002BD0*
+ ID_MODEL_FROM_DATABASE=ISDN Board
+
+pci:v00001397d00002BD0sv0000E4BFsd00001000*
+ ID_MODEL_FROM_DATABASE=CI1-1-Harp
+
+pci:v00001397d000030B1*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1]
+
+pci:v00001397d0000B700*
+ ID_MODEL_FROM_DATABASE=ISDN network controller PrimuX S0 [HFC-PCI]
+
+pci:v00001397d0000F001*
+ ID_MODEL_FROM_DATABASE=GSM Network Controller [HFC-4GSM]
+
+pci:v00001398*
+ ID_VENDOR_FROM_DATABASE=Clarion co. Ltd
+
+pci:v00001399*
+ ID_VENDOR_FROM_DATABASE=Rios systems Co Ltd
+
+pci:v0000139A*
+ ID_VENDOR_FROM_DATABASE=Alacritech Inc
+
+pci:v0000139Ad00000001*
+ ID_MODEL_FROM_DATABASE=Quad Port 10/100 Server Accelerator
+
+pci:v0000139Ad00000003*
+ ID_MODEL_FROM_DATABASE=Single Port 10/100 Server Accelerator
+
+pci:v0000139Ad00000005*
+ ID_MODEL_FROM_DATABASE=Single Port Gigabit Server Accelerator
+
+pci:v0000139B*
+ ID_VENDOR_FROM_DATABASE=Mediasonic Multimedia Systems Ltd
+
+pci:v0000139C*
+ ID_VENDOR_FROM_DATABASE=Quantum 3d Inc
+
+pci:v0000139D*
+ ID_VENDOR_FROM_DATABASE=EPL limited
+
+pci:v0000139E*
+ ID_VENDOR_FROM_DATABASE=Media4
+
+pci:v0000139F*
+ ID_VENDOR_FROM_DATABASE=Aethra s.r.l.
+
+pci:v000013A0*
+ ID_VENDOR_FROM_DATABASE=Crystal Group Inc
+
+pci:v000013A1*
+ ID_VENDOR_FROM_DATABASE=Kawasaki Heavy Industries Ltd
+
+pci:v000013A2*
+ ID_VENDOR_FROM_DATABASE=Ositech Communications Inc
+
+pci:v000013A3*
+ ID_VENDOR_FROM_DATABASE=Hifn Inc.
+
+pci:v000013A3d00000005*
+ ID_MODEL_FROM_DATABASE=7751 Security Processor
+
+pci:v000013A3d00000006*
+ ID_MODEL_FROM_DATABASE=6500 Public Key Processor
+
+pci:v000013A3d00000007*
+ ID_MODEL_FROM_DATABASE=7811 Security Processor
+
+pci:v000013A3d00000012*
+ ID_MODEL_FROM_DATABASE=7951 Security Processor
+
+pci:v000013A3d00000014*
+ ID_MODEL_FROM_DATABASE=78XX Security Processor
+
+pci:v000013A3d00000016*
+ ID_MODEL_FROM_DATABASE=8065 Security Processor
+
+pci:v000013A3d00000017*
+ ID_MODEL_FROM_DATABASE=8165 Security Processor
+
+pci:v000013A3d00000018*
+ ID_MODEL_FROM_DATABASE=8154 Security Processor
+
+pci:v000013A3d0000001D*
+ ID_MODEL_FROM_DATABASE=7956 Security Processor
+
+pci:v000013A3d0000001F*
+ ID_MODEL_FROM_DATABASE=7855 Security Processor
+
+pci:v000013A3d00000020*
+ ID_MODEL_FROM_DATABASE=7955 Security Processor
+
+pci:v000013A3d00000026*
+ ID_MODEL_FROM_DATABASE=8155 Security Processor
+
+pci:v000013A3d0000002E*
+ ID_MODEL_FROM_DATABASE=9630 Compression Processor
+
+pci:v000013A3d0000002F*
+ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor
+
+pci:v000013A3d0000002Fsv000013A3sd00001600*
+ ID_MODEL_FROM_DATABASE=DR1600 Acceleration Card
+
+pci:v000013A3d0000002Fsv000013A3sd00001605*
+ ID_MODEL_FROM_DATABASE=DR1605 Acceleration Card
+
+pci:v000013A3d0000002Fsv000013A3sd00001610*
+ ID_MODEL_FROM_DATABASE=DR1610 Acceleration Card
+
+pci:v000013A3d0000002Fsv000013A3sd00001615*
+ ID_MODEL_FROM_DATABASE=DR1615 Acceleration Card
+
+pci:v000013A3d0000002Fsv000013A3sd00001620*
+ ID_MODEL_FROM_DATABASE=DR1620 Acceleration Card
+
+pci:v000013A3d0000002Fsv000013A3sd00001625*
+ ID_MODEL_FROM_DATABASE=DR1625 Acceleration Card
+
+pci:v000013A3d00000033*
+ ID_MODEL_FROM_DATABASE=8201 Acceleration Processor
+
+pci:v000013A3d00000033sv000013A3sd00000036*
+ ID_MODEL_FROM_DATABASE=DX1710 Acceleration Card
+
+pci:v000013A3d00000034*
+ ID_MODEL_FROM_DATABASE=8202 Acceleration Processor
+
+pci:v000013A3d00000034sv000013A3sd00000036*
+ ID_MODEL_FROM_DATABASE=DX1720 Acceleration Card
+
+pci:v000013A3d00000035*
+ ID_MODEL_FROM_DATABASE=8203 Acceleration Processor
+
+pci:v000013A3d00000035sv000013A3sd00000036*
+ ID_MODEL_FROM_DATABASE=DX1730 Acceleration Card
+
+pci:v000013A3d00000037*
+ ID_MODEL_FROM_DATABASE=8204 Acceleration Processor
+
+pci:v000013A3d00000037sv000013A3sd00000036*
+ ID_MODEL_FROM_DATABASE=DX1740 Acceleration Card
+
+pci:v000013A4*
+ ID_VENDOR_FROM_DATABASE=Rascom Inc
+
+pci:v000013A5*
+ ID_VENDOR_FROM_DATABASE=Audio Digital Imaging Inc
+
+pci:v000013A6*
+ ID_VENDOR_FROM_DATABASE=Videonics Inc
+
+pci:v000013A7*
+ ID_VENDOR_FROM_DATABASE=Teles AG
+
+pci:v000013A8*
+ ID_VENDOR_FROM_DATABASE=Exar Corp.
+
+pci:v000013A8d00000152*
+ ID_MODEL_FROM_DATABASE=XR17C/D152 Dual PCI UART
+
+pci:v000013A8d00000154*
+ ID_MODEL_FROM_DATABASE=XR17C154 Quad UART
+
+pci:v000013A8d00000158*
+ ID_MODEL_FROM_DATABASE=XR17C158 Octal UART
+
+pci:v000013A8d00000252*
+ ID_MODEL_FROM_DATABASE=XR17V252 Dual UART PCI controller
+
+pci:v000013A8d00000254*
+ ID_MODEL_FROM_DATABASE=XR17V254 Quad UART PCI controller
+
+pci:v000013A8d00000258*
+ ID_MODEL_FROM_DATABASE=XR17V258 Octal UART PCI controller
+
+pci:v000013A9*
+ ID_VENDOR_FROM_DATABASE=Siemens Medical Systems, Ultrasound Group
+
+pci:v000013AA*
+ ID_VENDOR_FROM_DATABASE=Broadband Networks Inc
+
+pci:v000013AB*
+ ID_VENDOR_FROM_DATABASE=Arcom Control Systems Ltd
+
+pci:v000013AC*
+ ID_VENDOR_FROM_DATABASE=Motion Media Technology Ltd
+
+pci:v000013AD*
+ ID_VENDOR_FROM_DATABASE=Nexus Inc
+
+pci:v000013AE*
+ ID_VENDOR_FROM_DATABASE=ALD Technology Ltd
+
+pci:v000013AF*
+ ID_VENDOR_FROM_DATABASE=T.Sqware
+
+pci:v000013B0*
+ ID_VENDOR_FROM_DATABASE=Maxspeed Corp
+
+pci:v000013B1*
+ ID_VENDOR_FROM_DATABASE=Tamura corporation
+
+pci:v000013B2*
+ ID_VENDOR_FROM_DATABASE=Techno Chips Co. Ltd
+
+pci:v000013B3*
+ ID_VENDOR_FROM_DATABASE=Lanart Corporation
+
+pci:v000013B4*
+ ID_VENDOR_FROM_DATABASE=Wellbean Co Inc
+
+pci:v000013B5*
+ ID_VENDOR_FROM_DATABASE=ARM
+
+pci:v000013B6*
+ ID_VENDOR_FROM_DATABASE=Dlog GmbH
+
+pci:v000013B7*
+ ID_VENDOR_FROM_DATABASE=Logic Devices Inc
+
+pci:v000013B8*
+ ID_VENDOR_FROM_DATABASE=Nokia Telecommunications oy
+
+pci:v000013B9*
+ ID_VENDOR_FROM_DATABASE=Elecom Co Ltd
+
+pci:v000013BA*
+ ID_VENDOR_FROM_DATABASE=Oxford Instruments
+
+pci:v000013BB*
+ ID_VENDOR_FROM_DATABASE=Sanyo Technosound Co Ltd
+
+pci:v000013BC*
+ ID_VENDOR_FROM_DATABASE=Bitran Corporation
+
+pci:v000013BD*
+ ID_VENDOR_FROM_DATABASE=Sharp corporation
+
+pci:v000013BE*
+ ID_VENDOR_FROM_DATABASE=Miroku Jyoho Service Co. Ltd
+
+pci:v000013BF*
+ ID_VENDOR_FROM_DATABASE=Sharewave Inc
+
+pci:v000013C0*
+ ID_VENDOR_FROM_DATABASE=Microgate Corporation
+
+pci:v000013C0d00000010*
+ ID_MODEL_FROM_DATABASE=SyncLink Adapter v1
+
+pci:v000013C0d00000020*
+ ID_MODEL_FROM_DATABASE=SyncLink SCC Adapter
+
+pci:v000013C0d00000030*
+ ID_MODEL_FROM_DATABASE=SyncLink Multiport Adapter
+
+pci:v000013C0d00000070*
+ ID_MODEL_FROM_DATABASE=SyncLink GT Adapter
+
+pci:v000013C0d00000080*
+ ID_MODEL_FROM_DATABASE=SyncLink GT4 Adapter
+
+pci:v000013C0d000000A0*
+ ID_MODEL_FROM_DATABASE=SyncLink GT2 Adapter
+
+pci:v000013C0d00000210*
+ ID_MODEL_FROM_DATABASE=SyncLink Adapter v2
+
+pci:v000013C1*
+ ID_VENDOR_FROM_DATABASE=3ware Inc
+
+pci:v000013C1d00001000*
+ ID_MODEL_FROM_DATABASE=5xxx/6xxx-series PATA-RAID
+
+pci:v000013C1d00001001*
+ ID_MODEL_FROM_DATABASE=7xxx/8xxx-series PATA/SATA-RAID
+
+pci:v000013C1d00001001sv000013C1sd00001001*
+ ID_MODEL_FROM_DATABASE=7xxx/8xxx-series PATA/SATA-RAID
+
+pci:v000013C1d00001002*
+ ID_MODEL_FROM_DATABASE=9xxx-series SATA-RAID
+
+pci:v000013C1d00001003*
+ ID_MODEL_FROM_DATABASE=9550SX SATA-II RAID PCI-X
+
+pci:v000013C1d00001004*
+ ID_MODEL_FROM_DATABASE=9650SE SATA-II RAID PCIe
+
+pci:v000013C1d00001005*
+ ID_MODEL_FROM_DATABASE=9690SA SAS/SATA-II RAID PCIe
+
+pci:v000013C1d00001010*
+ ID_MODEL_FROM_DATABASE=9750 SAS2/SATA-II RAID PCIe
+
+pci:v000013C2*
+ ID_VENDOR_FROM_DATABASE=Technotrend Systemtechnik GmbH
+
+pci:v000013C2d0000000E*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.3
+
+pci:v000013C2d00001019*
+ ID_MODEL_FROM_DATABASE=TTechnoTrend-budget DVB S2-3200
+
+pci:v000013C3*
+ ID_VENDOR_FROM_DATABASE=Janz Computer AG
+
+pci:v000013C4*
+ ID_VENDOR_FROM_DATABASE=Phase Metrics
+
+pci:v000013C5*
+ ID_VENDOR_FROM_DATABASE=Alphi Technology Corp
+
+pci:v000013C6*
+ ID_VENDOR_FROM_DATABASE=Condor Engineering Inc
+
+pci:v000013C6d00000520*
+ ID_MODEL_FROM_DATABASE=CEI-520 A429 Card
+
+pci:v000013C6d00000620*
+ ID_MODEL_FROM_DATABASE=CEI-620 A429 Card
+
+pci:v000013C6d00000820*
+ ID_MODEL_FROM_DATABASE=CEI-820 A429 Card
+
+pci:v000013C6d00000830*
+ ID_MODEL_FROM_DATABASE=CEI-830 A429 Card
+
+pci:v000013C6d00001004*
+ ID_MODEL_FROM_DATABASE=P-SER Multi-channel PMC to RS-485/422/232 adapter
+
+pci:v000013C7*
+ ID_VENDOR_FROM_DATABASE=Blue Chip Technology Ltd
+
+pci:v000013C7d00000ADC*
+ ID_MODEL_FROM_DATABASE=PCI-ADC
+
+pci:v000013C7d00000B10*
+ ID_MODEL_FROM_DATABASE=PCI-PIO
+
+pci:v000013C7d00000D10*
+ ID_MODEL_FROM_DATABASE=PCI-DIO
+
+pci:v000013C7d0000524C*
+ ID_MODEL_FROM_DATABASE=PCI-RLY
+
+pci:v000013C7d00005744*
+ ID_MODEL_FROM_DATABASE=PCI-WDT
+
+pci:v000013C8*
+ ID_VENDOR_FROM_DATABASE=Apptech Inc
+
+pci:v000013C9*
+ ID_VENDOR_FROM_DATABASE=Eaton Corporation
+
+pci:v000013CA*
+ ID_VENDOR_FROM_DATABASE=Iomega Corporation
+
+pci:v000013CB*
+ ID_VENDOR_FROM_DATABASE=Yano Electric Co Ltd
+
+pci:v000013CC*
+ ID_VENDOR_FROM_DATABASE=Metheus Corporation
+
+pci:v000013CD*
+ ID_VENDOR_FROM_DATABASE=Compatible Systems Corporation
+
+pci:v000013CE*
+ ID_VENDOR_FROM_DATABASE=Cocom A/S
+
+pci:v000013CF*
+ ID_VENDOR_FROM_DATABASE=Studio Audio & Video Ltd
+
+pci:v000013D0*
+ ID_VENDOR_FROM_DATABASE=Techsan Electronics Co Ltd
+
+pci:v000013D0d00002103*
+ ID_MODEL_FROM_DATABASE=B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card
+
+pci:v000013D0d00002104*
+ ID_MODEL_FROM_DATABASE=B2C2 FlexCopIII DVB chip / Technisat SkyStar2 DVB card (rev 01)
+
+pci:v000013D0d00002200*
+ ID_MODEL_FROM_DATABASE=B2C2 FlexCopIII DVB chip / Technisat SkyStar2 DVB card
+
+pci:v000013D1*
+ ID_VENDOR_FROM_DATABASE=Abocom Systems Inc
+
+pci:v000013D1d0000AB02*
+ ID_MODEL_FROM_DATABASE=ADMtek Centaur-C rev 17 [D-Link DFE-680TX] CardBus Fast Ethernet Adapter
+
+pci:v000013D1d0000AB03*
+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
+
+pci:v000013D1d0000AB06*
+ ID_MODEL_FROM_DATABASE=RTL8139 [FE2000VX] CardBus Fast Ethernet Attached Port Adapter
+
+pci:v000013D1d0000AB08*
+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
+
+pci:v000013D2*
+ ID_VENDOR_FROM_DATABASE=Shark Multimedia Inc
+
+pci:v000013D4*
+ ID_VENDOR_FROM_DATABASE=Graphics Microsystems Inc
+
+pci:v000013D5*
+ ID_VENDOR_FROM_DATABASE=Media 100 Inc
+
+pci:v000013D6*
+ ID_VENDOR_FROM_DATABASE=K.I. Technology Co Ltd
+
+pci:v000013D7*
+ ID_VENDOR_FROM_DATABASE=Toshiba Engineering Corporation
+
+pci:v000013D8*
+ ID_VENDOR_FROM_DATABASE=Phobos corporation
+
+pci:v000013D9*
+ ID_VENDOR_FROM_DATABASE=Apex PC Solutions Inc
+
+pci:v000013DA*
+ ID_VENDOR_FROM_DATABASE=Intresource Systems pte Ltd
+
+pci:v000013DB*
+ ID_VENDOR_FROM_DATABASE=Janich & Klass Computertechnik GmbH
+
+pci:v000013DC*
+ ID_VENDOR_FROM_DATABASE=Netboost Corporation
+
+pci:v000013DD*
+ ID_VENDOR_FROM_DATABASE=Multimedia Bundle Inc
+
+pci:v000013DE*
+ ID_VENDOR_FROM_DATABASE=ABB Robotics Products AB
+
+pci:v000013DF*
+ ID_VENDOR_FROM_DATABASE=E-Tech Inc
+
+pci:v000013DFd00000001*
+ ID_MODEL_FROM_DATABASE=PCI56RVP Modem
+
+pci:v000013DFd00000001sv000013DFsd00000001*
+ ID_MODEL_FROM_DATABASE=PCI56RVP Modem
+
+pci:v000013E0*
+ ID_VENDOR_FROM_DATABASE=GVC Corporation
+
+pci:v000013E1*
+ ID_VENDOR_FROM_DATABASE=Silicom Multimedia Systems Inc
+
+pci:v000013E2*
+ ID_VENDOR_FROM_DATABASE=Dynamics Research Corporation
+
+pci:v000013E3*
+ ID_VENDOR_FROM_DATABASE=Nest Inc
+
+pci:v000013E4*
+ ID_VENDOR_FROM_DATABASE=Calculex Inc
+
+pci:v000013E5*
+ ID_VENDOR_FROM_DATABASE=Telesoft Design Ltd
+
+pci:v000013E6*
+ ID_VENDOR_FROM_DATABASE=Argosy research Inc
+
+pci:v000013E7*
+ ID_VENDOR_FROM_DATABASE=NAC Incorporated
+
+pci:v000013E8*
+ ID_VENDOR_FROM_DATABASE=Chip Express Corporation
+
+pci:v000013E9*
+ ID_VENDOR_FROM_DATABASE=Intraserver Technology Inc
+
+pci:v000013EA*
+ ID_VENDOR_FROM_DATABASE=Dallas Semiconductor
+
+pci:v000013EB*
+ ID_VENDOR_FROM_DATABASE=Hauppauge Computer Works Inc
+
+pci:v000013EC*
+ ID_VENDOR_FROM_DATABASE=Zydacron Inc
+
+pci:v000013ECd0000000A*
+ ID_MODEL_FROM_DATABASE=NPC-RC01 Remote control receiver
+
+pci:v000013ED*
+ ID_VENDOR_FROM_DATABASE=Raytheion E-Systems
+
+pci:v000013EE*
+ ID_VENDOR_FROM_DATABASE=Hayes Microcomputer Products Inc
+
+pci:v000013EF*
+ ID_VENDOR_FROM_DATABASE=Coppercom Inc
+
+pci:v000013F0*
+ ID_VENDOR_FROM_DATABASE=Sundance Technology Inc / IC Plus Corp
+
+pci:v000013F0d00000200*
+ ID_MODEL_FROM_DATABASE=IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY
+
+pci:v000013F0d00000200sv00001043sd00008213*
+ ID_MODEL_FROM_DATABASE=NX1001
+
+pci:v000013F0d00000201*
+ ID_MODEL_FROM_DATABASE=ST201 Sundance Ethernet
+
+pci:v000013F0d00001021*
+ ID_MODEL_FROM_DATABASE=TC902x Gigabit Ethernet
+
+pci:v000013F0d00001023*
+ ID_MODEL_FROM_DATABASE=IP1000 Family Gigabit Ethernet
+
+pci:v000013F0d00001023sv00001043sd00008180*
+ ID_MODEL_FROM_DATABASE=NX1101
+
+pci:v000013F1*
+ ID_VENDOR_FROM_DATABASE=Oce' - Technologies B.V.
+
+pci:v000013F2*
+ ID_VENDOR_FROM_DATABASE=Ford Microelectronics Inc
+
+pci:v000013F3*
+ ID_VENDOR_FROM_DATABASE=Mcdata Corporation
+
+pci:v000013F4*
+ ID_VENDOR_FROM_DATABASE=Troika Networks, Inc.
+
+pci:v000013F4d00001401*
+ ID_MODEL_FROM_DATABASE=Zentai Fibre Channel Adapter
+
+pci:v000013F5*
+ ID_VENDOR_FROM_DATABASE=Kansai Electric Co. Ltd
+
+pci:v000013F6*
+ ID_VENDOR_FROM_DATABASE=C-Media Electronics Inc
+
+pci:v000013F6d00000011*
+ ID_MODEL_FROM_DATABASE=CMI8738
+
+pci:v000013F6d00000100*
+ ID_MODEL_FROM_DATABASE=CM8338A
+
+pci:v000013F6d00000100sv000013F6sd0000FFFF*
+ ID_MODEL_FROM_DATABASE=CMI8338/C3DX PCI Audio Device
+
+pci:v000013F6d00000101*
+ ID_MODEL_FROM_DATABASE=CM8338B
+
+pci:v000013F6d00000101sv000013F6sd00000101*
+ ID_MODEL_FROM_DATABASE=CMI8338-031 PCI Audio Device
+
+pci:v000013F6d00000111*
+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio
+
+pci:v000013F6d00000111sv00001019sd00000970*
+ ID_MODEL_FROM_DATABASE=P6STP-FL motherboard
+
+pci:v000013F6d00000111sv00001043sd00008035*
+ ID_MODEL_FROM_DATABASE=CUSI-FX motherboard
+
+pci:v000013F6d00000111sv00001043sd00008077*
+ ID_MODEL_FROM_DATABASE=CMI8738 6-channel audio controller
+
+pci:v000013F6d00000111sv00001043sd000080E2*
+ ID_MODEL_FROM_DATABASE=CMI8738 6ch-MX
+
+pci:v000013F6d00000111sv000013F6sd00000111*
+ ID_MODEL_FROM_DATABASE=CMI8738/C3DX PCI Audio Device
+
+pci:v000013F6d00000111sv000013F6sd00009761*
+ ID_MODEL_FROM_DATABASE=Theatron Agrippa
+
+pci:v000013F6d00000111sv0000153Bsd00001144*
+ ID_MODEL_FROM_DATABASE=Aureon 5.1
+
+pci:v000013F6d00000111sv0000153Bsd00001170*
+ ID_MODEL_FROM_DATABASE=Aureon 7.1
+
+pci:v000013F6d00000111sv00001681sd0000A000*
+ ID_MODEL_FROM_DATABASE=Gamesurround MUSE XL
+
+pci:v000013F6d00000111sv000017ABsd00000604*
+ ID_MODEL_FROM_DATABASE=PSC604 Dynamic Edge
+
+pci:v000013F6d00000111sv000017ABsd00000605*
+ ID_MODEL_FROM_DATABASE=PSC605 Sonic Edge
+
+pci:v000013F6d00000111sv000017ABsd00007777*
+ ID_MODEL_FROM_DATABASE=PSC605 Sonic Edge
+
+pci:v000013F6d00000111sv0000270Fsd00001103*
+ ID_MODEL_FROM_DATABASE=CT-7NJS Ultra motherboard
+
+pci:v000013F6d00000111sv0000270Fsd0000F462*
+ ID_MODEL_FROM_DATABASE=7NJL1 motherboard
+
+pci:v000013F6d00000111sv0000584Dsd00003731*
+ ID_MODEL_FROM_DATABASE=Digital X-Mystique
+
+pci:v000013F6d00000111sv0000584Dsd00003741*
+ ID_MODEL_FROM_DATABASE=X-Plosion 7.1
+
+pci:v000013F6d00000111sv0000584Dsd00003751*
+ ID_MODEL_FROM_DATABASE=X-Raider 7.1
+
+pci:v000013F6d00000111sv0000584Dsd00003761*
+ ID_MODEL_FROM_DATABASE=X-Mystique 7.1 LP
+
+pci:v000013F6d00000111sv0000584Dsd00003771*
+ ID_MODEL_FROM_DATABASE=X-Mystique 7.1 LP Value
+
+pci:v000013F6d00000111sv00007284sd00008384*
+ ID_MODEL_FROM_DATABASE=Striker 7.1
+
+pci:v000013F6d00000211*
+ ID_MODEL_FROM_DATABASE=CM8738
+
+pci:v000013F6d00005011*
+ ID_MODEL_FROM_DATABASE=CM8888 [Oxygen Express]
+
+pci:v000013F6d00005011sv000013F6sd00005011*
+ ID_MODEL_FROM_DATABASE=HDA Controller
+
+pci:v000013F6d00008788*
+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio]
+
+pci:v000013F6d00008788sv00001043sd00008269*
+ ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar D2)
+
+pci:v000013F6d00008788sv00001043sd00008275*
+ ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar DX)
+
+pci:v000013F6d00008788sv00001043sd000082B7*
+ ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar D2X)
+
+pci:v000013F6d00008788sv00001043sd00008314*
+ ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar HDAV1.3)
+
+pci:v000013F6d00008788sv00001043sd00008327*
+ ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar DX)
+
+pci:v000013F6d00008788sv00001043sd0000834F*
+ ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar D1)
+
+pci:v000013F6d00008788sv00001043sd0000835C*
+ ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar Essence STX)
+
+pci:v000013F6d00008788sv00001043sd0000835D*
+ ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar ST)
+
+pci:v000013F6d00008788sv00001043sd0000835E*
+ ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar HDAV1.3 Slim)
+
+pci:v000013F6d00008788sv00001043sd0000838E*
+ ID_MODEL_FROM_DATABASE=Virtuoso 66 (Xonar DS)
+
+pci:v000013F6d00008788sv00001043sd00008428*
+ ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar Xense)
+
+pci:v000013F6d00008788sv00001043sd00008467*
+ ID_MODEL_FROM_DATABASE=CMI8786 (Xonar DG)
+
+pci:v000013F6d00008788sv000013F6sd00008782*
+ ID_MODEL_FROM_DATABASE=PCI 2.0 HD Audio
+
+pci:v000013F6d00008788sv000013F6sd0000FFFF*
+ ID_MODEL_FROM_DATABASE=CMI8787-HG2PCI
+
+pci:v000013F6d00008788sv000014C3sd00001710*
+ ID_MODEL_FROM_DATABASE=HiFier Fantasia
+
+pci:v000013F6d00008788sv000014C3sd00001711*
+ ID_MODEL_FROM_DATABASE=HiFier Serenade
+
+pci:v000013F6d00008788sv00001A58sd00000910*
+ ID_MODEL_FROM_DATABASE=Barracuda AC-1
+
+pci:v000013F6d00008788sv0000415Asd00005431*
+ ID_MODEL_FROM_DATABASE=X-Meridian 7.1
+
+pci:v000013F6d00008788sv00005431sd0000017A*
+ ID_MODEL_FROM_DATABASE=X-Meridian 7.1 2G
+
+pci:v000013F6d00008788sv0000584Dsd00003781*
+ ID_MODEL_FROM_DATABASE=HDA X-Purity 7.1 Platinum
+
+pci:v000013F6d00008788sv00007284sd00009761*
+ ID_MODEL_FROM_DATABASE=CLARO
+
+pci:v000013F6d00008788sv00007284sd00009781*
+ ID_MODEL_FROM_DATABASE=CLARO halo
+
+pci:v000013F6d00008788sv00007284sd00009783*
+ ID_MODEL_FROM_DATABASE=eCLARO
+
+pci:v000013F6d00008788sv00007284sd00009787*
+ ID_MODEL_FROM_DATABASE=CLARO II
+
+pci:v000013F7*
+ ID_VENDOR_FROM_DATABASE=Wildfire Communications
+
+pci:v000013F8*
+ ID_VENDOR_FROM_DATABASE=Ad Lib Multimedia Inc
+
+pci:v000013F9*
+ ID_VENDOR_FROM_DATABASE=NTT Advanced Technology Corp.
+
+pci:v000013FA*
+ ID_VENDOR_FROM_DATABASE=Pentland Systems Ltd
+
+pci:v000013FB*
+ ID_VENDOR_FROM_DATABASE=Aydin Corp
+
+pci:v000013FC*
+ ID_VENDOR_FROM_DATABASE=Computer Peripherals International
+
+pci:v000013FD*
+ ID_VENDOR_FROM_DATABASE=Micro Science Inc
+
+pci:v000013FE*
+ ID_VENDOR_FROM_DATABASE=Advantech Co. Ltd
+
+pci:v000013FEd00001240*
+ ID_MODEL_FROM_DATABASE=PCI-1240 4-channel stepper motor controller card
+
+pci:v000013FEd00001600*
+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0)
+
+pci:v000013FEd00001600sv00001601sd00000002*
+ ID_MODEL_FROM_DATABASE=PCI-1601 2-port unisolated RS-422/485
+
+pci:v000013FEd00001600sv00001602sd00000002*
+ ID_MODEL_FROM_DATABASE=PCI-1602 2-port isolated RS-422/485
+
+pci:v000013FEd00001600sv00001612sd00000004*
+ ID_MODEL_FROM_DATABASE=PCI-1612 4-port RS-232/422/485
+
+pci:v000013FEd00001603*
+ ID_MODEL_FROM_DATABASE=PCI-1603 2-port isolated RS-232/current loop
+
+pci:v000013FEd00001604*
+ ID_MODEL_FROM_DATABASE=PCI-1604 2-port RS-232
+
+pci:v000013FEd000016FF*
+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD)
+
+pci:v000013FEd000016FFsv00001601sd00000000*
+ ID_MODEL_FROM_DATABASE=PCI-1601 2-port unisolated RS-422/485 PCI communications card
+
+pci:v000013FEd000016FFsv00001602sd00000000*
+ ID_MODEL_FROM_DATABASE=PCI-1602 2-port isolated RS-422/485
+
+pci:v000013FEd000016FFsv00001612sd00000000*
+ ID_MODEL_FROM_DATABASE=PCI-1612 4-port RS-232/422/485
+
+pci:v000013FEd00001711*
+ ID_MODEL_FROM_DATABASE=PCI-1711 16-channel data acquisition card 12-bit, 100kS/s
+
+pci:v000013FEd00001733*
+ ID_MODEL_FROM_DATABASE=PCI-1733 32-channel isolated digital input card
+
+pci:v000013FEd00001752*
+ ID_MODEL_FROM_DATABASE=PCI-1752
+
+pci:v000013FEd00001754*
+ ID_MODEL_FROM_DATABASE=PCI-1754
+
+pci:v000013FEd00001756*
+ ID_MODEL_FROM_DATABASE=PCI-1756
+
+pci:v000013FF*
+ ID_VENDOR_FROM_DATABASE=Silicon Spice Inc
+
+pci:v00001400*
+ ID_VENDOR_FROM_DATABASE=Artx Inc
+
+pci:v00001400d00001401*
+ ID_MODEL_FROM_DATABASE=9432 TX
+
+pci:v00001401*
+ ID_VENDOR_FROM_DATABASE=CR-Systems A/S
+
+pci:v00001402*
+ ID_VENDOR_FROM_DATABASE=Meilhaus Electronic GmbH
+
+pci:v00001402d00000630*
+ ID_MODEL_FROM_DATABASE=ME-630
+
+pci:v00001402d00000940*
+ ID_MODEL_FROM_DATABASE=ME-94
+
+pci:v00001402d00000950*
+ ID_MODEL_FROM_DATABASE=ME-95
+
+pci:v00001402d00000960*
+ ID_MODEL_FROM_DATABASE=ME-96
+
+pci:v00001402d00001000*
+ ID_MODEL_FROM_DATABASE=ME-1000
+
+pci:v00001402d0000100A*
+ ID_MODEL_FROM_DATABASE=ME-1000
+
+pci:v00001402d0000100B*
+ ID_MODEL_FROM_DATABASE=ME-1000
+
+pci:v00001402d00001400*
+ ID_MODEL_FROM_DATABASE=ME-1400
+
+pci:v00001402d0000140A*
+ ID_MODEL_FROM_DATABASE=ME-1400A
+
+pci:v00001402d0000140B*
+ ID_MODEL_FROM_DATABASE=ME-1400B
+
+pci:v00001402d0000140C*
+ ID_MODEL_FROM_DATABASE=ME-1400C
+
+pci:v00001402d0000140D*
+ ID_MODEL_FROM_DATABASE=ME-1400D
+
+pci:v00001402d0000140E*
+ ID_MODEL_FROM_DATABASE=ME-1400E
+
+pci:v00001402d000014EA*
+ ID_MODEL_FROM_DATABASE=ME-1400EA
+
+pci:v00001402d000014EB*
+ ID_MODEL_FROM_DATABASE=ME-1400EB
+
+pci:v00001402d00001604*
+ ID_MODEL_FROM_DATABASE=ME-1600/4U
+
+pci:v00001402d00001608*
+ ID_MODEL_FROM_DATABASE=ME-1600/8U
+
+pci:v00001402d0000160C*
+ ID_MODEL_FROM_DATABASE=ME-1600/12U
+
+pci:v00001402d0000160F*
+ ID_MODEL_FROM_DATABASE=ME-1600/16U
+
+pci:v00001402d0000168F*
+ ID_MODEL_FROM_DATABASE=ME-1600/16U8I
+
+pci:v00001402d00004610*
+ ID_MODEL_FROM_DATABASE=ME-4610
+
+pci:v00001402d00004650*
+ ID_MODEL_FROM_DATABASE=ME-4650
+
+pci:v00001402d00004660*
+ ID_MODEL_FROM_DATABASE=ME-4660
+
+pci:v00001402d00004661*
+ ID_MODEL_FROM_DATABASE=ME-4660I
+
+pci:v00001402d00004662*
+ ID_MODEL_FROM_DATABASE=ME-4660
+
+pci:v00001402d00004663*
+ ID_MODEL_FROM_DATABASE=ME-4660I
+
+pci:v00001402d00004670*
+ ID_MODEL_FROM_DATABASE=ME-4670
+
+pci:v00001402d00004671*
+ ID_MODEL_FROM_DATABASE=ME-4670I
+
+pci:v00001402d00004672*
+ ID_MODEL_FROM_DATABASE=ME-4670S
+
+pci:v00001402d00004673*
+ ID_MODEL_FROM_DATABASE=ME-4670IS
+
+pci:v00001402d00004680*
+ ID_MODEL_FROM_DATABASE=ME-4680
+
+pci:v00001402d00004681*
+ ID_MODEL_FROM_DATABASE=ME-4680I
+
+pci:v00001402d00004682*
+ ID_MODEL_FROM_DATABASE=ME-4680S
+
+pci:v00001402d00004683*
+ ID_MODEL_FROM_DATABASE=ME-4680IS
+
+pci:v00001402d00006004*
+ ID_MODEL_FROM_DATABASE=ME-6000/4
+
+pci:v00001402d00006008*
+ ID_MODEL_FROM_DATABASE=ME-6000/8
+
+pci:v00001402d0000600F*
+ ID_MODEL_FROM_DATABASE=ME-6000/16
+
+pci:v00001402d00006014*
+ ID_MODEL_FROM_DATABASE=ME-6000I/4
+
+pci:v00001402d00006018*
+ ID_MODEL_FROM_DATABASE=ME-6000I/8
+
+pci:v00001402d0000601F*
+ ID_MODEL_FROM_DATABASE=ME-6000I/16
+
+pci:v00001402d00006034*
+ ID_MODEL_FROM_DATABASE=ME-6000ISLE/4
+
+pci:v00001402d00006038*
+ ID_MODEL_FROM_DATABASE=ME-6000ISLE/8
+
+pci:v00001402d0000603F*
+ ID_MODEL_FROM_DATABASE=ME-6000ISLE/16
+
+pci:v00001402d00006044*
+ ID_MODEL_FROM_DATABASE=ME-6000/4/DIO
+
+pci:v00001402d00006048*
+ ID_MODEL_FROM_DATABASE=ME-6000/8/DIO
+
+pci:v00001402d0000604F*
+ ID_MODEL_FROM_DATABASE=ME-6000/16/DIO
+
+pci:v00001402d00006054*
+ ID_MODEL_FROM_DATABASE=ME-6000I/4/DIO
+
+pci:v00001402d00006058*
+ ID_MODEL_FROM_DATABASE=ME-6000I/8/DIO
+
+pci:v00001402d0000605F*
+ ID_MODEL_FROM_DATABASE=ME-6000I/16/DIO
+
+pci:v00001402d00006074*
+ ID_MODEL_FROM_DATABASE=ME-6000ISLE/4/DIO
+
+pci:v00001402d00006078*
+ ID_MODEL_FROM_DATABASE=ME-6000ISLE/8/DIO
+
+pci:v00001402d0000607F*
+ ID_MODEL_FROM_DATABASE=ME-6000ISLE/16/DIO
+
+pci:v00001402d00006104*
+ ID_MODEL_FROM_DATABASE=ME-6100/4
+
+pci:v00001402d00006108*
+ ID_MODEL_FROM_DATABASE=ME-6100/8
+
+pci:v00001402d0000610F*
+ ID_MODEL_FROM_DATABASE=ME-6100/16
+
+pci:v00001402d00006114*
+ ID_MODEL_FROM_DATABASE=ME-6100I/4
+
+pci:v00001402d00006118*
+ ID_MODEL_FROM_DATABASE=ME-6100I/8
+
+pci:v00001402d0000611F*
+ ID_MODEL_FROM_DATABASE=ME-6100I/16
+
+pci:v00001402d00006134*
+ ID_MODEL_FROM_DATABASE=ME-6100ISLE/4
+
+pci:v00001402d00006138*
+ ID_MODEL_FROM_DATABASE=ME-6100ISLE/8
+
+pci:v00001402d0000613F*
+ ID_MODEL_FROM_DATABASE=ME-6100ISLE/16
+
+pci:v00001402d00006144*
+ ID_MODEL_FROM_DATABASE=ME-6100/4/DIO
+
+pci:v00001402d00006148*
+ ID_MODEL_FROM_DATABASE=ME-6100/8/DIO
+
+pci:v00001402d0000614F*
+ ID_MODEL_FROM_DATABASE=ME-6100/16/DIO
+
+pci:v00001402d00006154*
+ ID_MODEL_FROM_DATABASE=ME-6100I/4/DIO
+
+pci:v00001402d00006158*
+ ID_MODEL_FROM_DATABASE=ME-6100I/8/DIO
+
+pci:v00001402d0000615F*
+ ID_MODEL_FROM_DATABASE=ME-6100I/16/DIO
+
+pci:v00001402d00006174*
+ ID_MODEL_FROM_DATABASE=ME-6100ISLE/4/DIO
+
+pci:v00001402d00006178*
+ ID_MODEL_FROM_DATABASE=ME-6100ISLE/8/DIO
+
+pci:v00001402d0000617F*
+ ID_MODEL_FROM_DATABASE=ME-6100ISLE/16/DIO
+
+pci:v00001402d00006259*
+ ID_MODEL_FROM_DATABASE=ME-6200I/9/DIO
+
+pci:v00001402d00006359*
+ ID_MODEL_FROM_DATABASE=ME-6300I/9/DIO
+
+pci:v00001402d0000810A*
+ ID_MODEL_FROM_DATABASE=ME-8100A
+
+pci:v00001402d0000810B*
+ ID_MODEL_FROM_DATABASE=ME-8100B
+
+pci:v00001402d0000820A*
+ ID_MODEL_FROM_DATABASE=ME-8200A
+
+pci:v00001402d0000820B*
+ ID_MODEL_FROM_DATABASE=ME-8200B
+
+pci:v00001403*
+ ID_VENDOR_FROM_DATABASE=Ascor Inc
+
+pci:v00001404*
+ ID_VENDOR_FROM_DATABASE=Fundamental Software Inc
+
+pci:v00001405*
+ ID_VENDOR_FROM_DATABASE=Excalibur Systems Inc
+
+pci:v00001406*
+ ID_VENDOR_FROM_DATABASE=Oce' Printing Systems GmbH
+
+pci:v00001407*
+ ID_VENDOR_FROM_DATABASE=Lava Computer mfg Inc
+
+pci:v00001407d00000100*
+ ID_MODEL_FROM_DATABASE=Lava Dual Serial
+
+pci:v00001407d00000101*
+ ID_MODEL_FROM_DATABASE=Lava Quatro A
+
+pci:v00001407d00000102*
+ ID_MODEL_FROM_DATABASE=Lava Quatro B
+
+pci:v00001407d00000110*
+ ID_MODEL_FROM_DATABASE=Lava DSerial-PCI Port A
+
+pci:v00001407d00000111*
+ ID_MODEL_FROM_DATABASE=Lava DSerial-PCI Port B
+
+pci:v00001407d00000120*
+ ID_MODEL_FROM_DATABASE=Quattro-PCI A
+
+pci:v00001407d00000121*
+ ID_MODEL_FROM_DATABASE=Quattro-PCI B
+
+pci:v00001407d00000180*
+ ID_MODEL_FROM_DATABASE=Lava Octo A
+
+pci:v00001407d00000181*
+ ID_MODEL_FROM_DATABASE=Lava Octo B
+
+pci:v00001407d00000200*
+ ID_MODEL_FROM_DATABASE=Lava Port Plus
+
+pci:v00001407d00000201*
+ ID_MODEL_FROM_DATABASE=Lava Quad A
+
+pci:v00001407d00000202*
+ ID_MODEL_FROM_DATABASE=Lava Quad B
+
+pci:v00001407d00000220*
+ ID_MODEL_FROM_DATABASE=Lava Quattro PCI Ports A/B
+
+pci:v00001407d00000221*
+ ID_MODEL_FROM_DATABASE=Lava Quattro PCI Ports C/D
+
+pci:v00001407d00000400*
+ ID_MODEL_FROM_DATABASE=Lava 8255-PIO-PCI
+
+pci:v00001407d00000500*
+ ID_MODEL_FROM_DATABASE=Lava Single Serial
+
+pci:v00001407d00000520*
+ ID_MODEL_FROM_DATABASE=Lava RS422-SS-PCI
+
+pci:v00001407d00000600*
+ ID_MODEL_FROM_DATABASE=Lava Port 650
+
+pci:v00001407d00008000*
+ ID_MODEL_FROM_DATABASE=Lava Parallel
+
+pci:v00001407d00008001*
+ ID_MODEL_FROM_DATABASE=Dual parallel port controller A
+
+pci:v00001407d00008002*
+ ID_MODEL_FROM_DATABASE=Lava Dual Parallel port A
+
+pci:v00001407d00008003*
+ ID_MODEL_FROM_DATABASE=Lava Dual Parallel port B
+
+pci:v00001407d00008800*
+ ID_MODEL_FROM_DATABASE=BOCA Research IOPPAR
+
+pci:v00001408*
+ ID_VENDOR_FROM_DATABASE=Aloka Co. Ltd
+
+pci:v00001409*
+ ID_VENDOR_FROM_DATABASE=Timedia Technology Co Ltd
+
+pci:v00001409d00007168*
+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART)
+
+pci:v00001409d00007168sv00001409sd00000002*
+ ID_MODEL_FROM_DATABASE=SER4036A3V (2x RS232 port)
+
+pci:v00001409d00007168sv00001409sd00004027*
+ ID_MODEL_FROM_DATABASE=SER4027A (1x RS232 port)
+
+pci:v00001409d00007168sv00001409sd00004037*
+ ID_MODEL_FROM_DATABASE=SER4037A (2x RS232 port)
+
+pci:v00001409d00007168sv00001409sd00004056*
+ ID_MODEL_FROM_DATABASE=SER4056A (4x RS232)
+
+pci:v00001409d00007168sv00001409sd00005027*
+ ID_MODEL_FROM_DATABASE=SER4027D
+
+pci:v00001409d00007168sv00001409sd00005037*
+ ID_MODEL_FROM_DATABASE=SER4037D (2x RS232 port)
+
+pci:v00001409d00007168sv00001409sd00005066*
+ ID_MODEL_FROM_DATABASE=SER4066R (8x RS232)
+
+pci:v00001409d00007168sv00001409sd00006056*
+ ID_MODEL_FROM_DATABASE=SER4056D (4x RS232 port)
+
+pci:v00001409d00007268*
+ ID_MODEL_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port)
+
+pci:v00001409d00007268sv00001409sd00000103*
+ ID_MODEL_FROM_DATABASE=PAR4008A
+
+pci:v00001409d00007268sv00001409sd00000104*
+ ID_MODEL_FROM_DATABASE=PAR4018A
+
+pci:v0000140A*
+ ID_VENDOR_FROM_DATABASE=DSP Research Inc
+
+pci:v0000140B*
+ ID_VENDOR_FROM_DATABASE=GE Intelligent Platforms
+
+pci:v0000140C*
+ ID_VENDOR_FROM_DATABASE=Elmic Systems Inc
+
+pci:v0000140D*
+ ID_VENDOR_FROM_DATABASE=Matsushita Electric Works Ltd
+
+pci:v0000140E*
+ ID_VENDOR_FROM_DATABASE=Goepel Electronic GmbH
+
+pci:v0000140F*
+ ID_VENDOR_FROM_DATABASE=Salient Systems Corp
+
+pci:v00001410*
+ ID_VENDOR_FROM_DATABASE=Midas lab Inc
+
+pci:v00001411*
+ ID_VENDOR_FROM_DATABASE=Ikos Systems Inc
+
+pci:v00001412*
+ ID_VENDOR_FROM_DATABASE=VIA Technologies Inc.
+
+pci:v00001412d00001712*
+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller
+
+pci:v00001412d00001712sv00001412sd00001712*
+ ID_MODEL_FROM_DATABASE=Hoontech ST Audio DSP 24
+
+pci:v00001412d00001712sv00001412sd00003632*
+ ID_MODEL_FROM_DATABASE=M-Audio Delta Audiophile 192
+
+pci:v00001412d00001712sv00001412sd0000D630*
+ ID_MODEL_FROM_DATABASE=M-Audio Delta 1010
+
+pci:v00001412d00001712sv00001412sd0000D631*
+ ID_MODEL_FROM_DATABASE=M-Audio Delta DiO
+
+pci:v00001412d00001712sv00001412sd0000D632*
+ ID_MODEL_FROM_DATABASE=M-Audio Delta 66
+
+pci:v00001412d00001712sv00001412sd0000D633*
+ ID_MODEL_FROM_DATABASE=M-Audio Delta 44
+
+pci:v00001412d00001712sv00001412sd0000D634*
+ ID_MODEL_FROM_DATABASE=M-Audio Delta Audiophile 2496
+
+pci:v00001412d00001712sv00001412sd0000D635*
+ ID_MODEL_FROM_DATABASE=M-Audio Delta TDIF
+
+pci:v00001412d00001712sv00001412sd0000D637*
+ ID_MODEL_FROM_DATABASE=M-Audio Delta RBUS
+
+pci:v00001412d00001712sv00001412sd0000D638*
+ ID_MODEL_FROM_DATABASE=M-Audio Delta 410
+
+pci:v00001412d00001712sv00001412sd0000D63B*
+ ID_MODEL_FROM_DATABASE=M-Audio Delta 1010LT
+
+pci:v00001412d00001712sv00001412sd0000D63C*
+ ID_MODEL_FROM_DATABASE=Digigram VX442
+
+pci:v00001412d00001712sv00001416sd00001712*
+ ID_MODEL_FROM_DATABASE=Hoontech ST Audio DSP 24 Media 7.1
+
+pci:v00001412d00001712sv0000153Bsd00001115*
+ ID_MODEL_FROM_DATABASE=EWS88 MT
+
+pci:v00001412d00001712sv0000153Bsd00001125*
+ ID_MODEL_FROM_DATABASE=EWS88 MT (Master)
+
+pci:v00001412d00001712sv0000153Bsd0000112B*
+ ID_MODEL_FROM_DATABASE=EWS88 D
+
+pci:v00001412d00001712sv0000153Bsd0000112C*
+ ID_MODEL_FROM_DATABASE=EWS88 D (Master)
+
+pci:v00001412d00001712sv0000153Bsd00001130*
+ ID_MODEL_FROM_DATABASE=EWX 24/96
+
+pci:v00001412d00001712sv0000153Bsd00001138*
+ ID_MODEL_FROM_DATABASE=DMX 6fire 24/96
+
+pci:v00001412d00001712sv0000153Bsd00001151*
+ ID_MODEL_FROM_DATABASE=PHASE88
+
+pci:v00001412d00001712sv000016CEsd00001040*
+ ID_MODEL_FROM_DATABASE=Edirol DA-2496
+
+pci:v00001412d00001724*
+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller
+
+pci:v00001412d00001724sv000010B0sd00000200*
+ ID_MODEL_FROM_DATABASE=Hollywood@Home 7.1
+
+pci:v00001412d00001724sv00001412sd00001724*
+ ID_MODEL_FROM_DATABASE=Albatron PX865PE 7.1
+
+pci:v00001412d00001724sv00001412sd00003630*
+ ID_MODEL_FROM_DATABASE=M-Audio Revolution 7.1
+
+pci:v00001412d00001724sv00001412sd00003631*
+ ID_MODEL_FROM_DATABASE=M-Audio Revolution 5.1
+
+pci:v00001412d00001724sv0000153Bsd00001145*
+ ID_MODEL_FROM_DATABASE=Aureon 7.1 Space
+
+pci:v00001412d00001724sv0000153Bsd00001147*
+ ID_MODEL_FROM_DATABASE=Aureon 5.1 Sky
+
+pci:v00001412d00001724sv0000153Bsd00001150*
+ ID_MODEL_FROM_DATABASE=PHASE 22
+
+pci:v00001412d00001724sv0000153Bsd00001153*
+ ID_MODEL_FROM_DATABASE=Aureon 7.1 Universe
+
+pci:v00001412d00001724sv000017ABsd00001906*
+ ID_MODEL_FROM_DATABASE=PSC 724 [Ultimate Edge]
+
+pci:v00001412d00001724sv0000270Fsd0000F641*
+ ID_MODEL_FROM_DATABASE=ZNF3-150
+
+pci:v00001412d00001724sv0000270Fsd0000F645*
+ ID_MODEL_FROM_DATABASE=ZNF3-250
+
+pci:v00001412d00001724sv00003130sd00004154*
+ ID_MODEL_FROM_DATABASE=MAYA 44 MKII
+
+pci:v00001413*
+ ID_VENDOR_FROM_DATABASE=Addonics
+
+pci:v00001414*
+ ID_VENDOR_FROM_DATABASE=Microsoft Corporation
+
+pci:v00001414d00000001*
+ ID_MODEL_FROM_DATABASE=MN-120 (ADMtek Centaur-C based)
+
+pci:v00001414d00000002*
+ ID_MODEL_FROM_DATABASE=MN-130 (ADMtek Centaur-P based)
+
+pci:v00001414d00005353*
+ ID_MODEL_FROM_DATABASE=Hyper-V virtual VGA
+
+pci:v00001414d00005801*
+ ID_MODEL_FROM_DATABASE=XMA Decoder (Xenon)
+
+pci:v00001414d00005802*
+ ID_MODEL_FROM_DATABASE=SATA Controller - CdRom (Xenon)
+
+pci:v00001414d00005803*
+ ID_MODEL_FROM_DATABASE=SATA Controller - Disk (Xenon)
+
+pci:v00001414d00005804*
+ ID_MODEL_FROM_DATABASE=OHCI Controller 0 (Xenon)
+
+pci:v00001414d00005805*
+ ID_MODEL_FROM_DATABASE=EHCI Controller 0 (Xenon)
+
+pci:v00001414d00005806*
+ ID_MODEL_FROM_DATABASE=OHCI Controller 1 (Xenon)
+
+pci:v00001414d00005807*
+ ID_MODEL_FROM_DATABASE=EHCI Controller 1 (Xenon)
+
+pci:v00001414d0000580A*
+ ID_MODEL_FROM_DATABASE=Fast Ethernet Adapter (Xenon)
+
+pci:v00001414d0000580B*
+ ID_MODEL_FROM_DATABASE=Secure Flash Controller (Xenon)
+
+pci:v00001414d0000580D*
+ ID_MODEL_FROM_DATABASE=System Management Controller (Xenon)
+
+pci:v00001414d00005811*
+ ID_MODEL_FROM_DATABASE=Xenos GPU (Xenon)
+
+pci:v00001415*
+ ID_VENDOR_FROM_DATABASE=Oxford Semiconductor Ltd
+
+pci:v00001415d00008401*
+ ID_MODEL_FROM_DATABASE=OX9162 Mode 1 (8-bit bus)
+
+pci:v00001415d00008403*
+ ID_MODEL_FROM_DATABASE=OX9162 Mode 0 (parallel port)
+
+pci:v00001415d00009500*
+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Disabled)
+
+pci:v00001415d00009501*
+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart)
+
+pci:v00001415d00009501sv000012C4sd00000201*
+ ID_MODEL_FROM_DATABASE=Titan/cPCI (2 port)
+
+pci:v00001415d00009501sv000012C4sd00000202*
+ ID_MODEL_FROM_DATABASE=Titan/cPCI (4 port)
+
+pci:v00001415d00009501sv000012C4sd00000203*
+ ID_MODEL_FROM_DATABASE=Titan/cPCI (8 port)
+
+pci:v00001415d00009501sv000012C4sd00000210*
+ ID_MODEL_FROM_DATABASE=Titan/104-Plus (8 port, p1-4)
+
+pci:v00001415d00009501sv0000131Fsd00002050*
+ ID_MODEL_FROM_DATABASE=CyberPro (4-port)
+
+pci:v00001415d00009501sv0000131Fsd00002051*
+ ID_MODEL_FROM_DATABASE=CyberSerial 4S Plus
+
+pci:v00001415d00009501sv000015EDsd00002000*
+ ID_MODEL_FROM_DATABASE=MCCR Serial p0-3 of 8
+
+pci:v00001415d00009501sv000015EDsd00002001*
+ ID_MODEL_FROM_DATABASE=MCCR Serial p0-3 of 16
+
+pci:v00001415d00009505*
+ ID_MODEL_FROM_DATABASE=OXuPCI952 (Dual 16C950 UART)
+
+pci:v00001415d0000950A*
+ ID_MODEL_FROM_DATABASE=EXSYS EX-41092 Dual 16950 Serial adapter
+
+pci:v00001415d0000950B*
+ ID_MODEL_FROM_DATABASE=OXCB950 Cardbus 16950 UART
+
+pci:v00001415d00009510*
+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (Disabled)
+
+pci:v00001415d00009510sv000012C4sd00000200*
+ ID_MODEL_FROM_DATABASE=Titan/cPCI (Unused)
+
+pci:v00001415d00009511*
+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus)
+
+pci:v00001415d00009511sv000012C4sd00000211*
+ ID_MODEL_FROM_DATABASE=Titan/104-Plus (8 port, p5-8)
+
+pci:v00001415d00009511sv000015EDsd00002000*
+ ID_MODEL_FROM_DATABASE=MCCR Serial p4-7 of 8
+
+pci:v00001415d00009511sv000015EDsd00002001*
+ ID_MODEL_FROM_DATABASE=MCCR Serial p4-15 of 16
+
+pci:v00001415d00009512*
+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (32bit bus)
+
+pci:v00001415d00009513*
+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (parallel port)
+
+pci:v00001415d00009521*
+ ID_MODEL_FROM_DATABASE=OX16PCI952 (Dual 16950 UART)
+
+pci:v00001415d00009523*
+ ID_MODEL_FROM_DATABASE=OX16PCI952 Integrated Parallel Port
+
+pci:v00001415d0000C158*
+ ID_MODEL_FROM_DATABASE=OXPCIe952 Dual 16C950 UART
+
+pci:v00001415d0000C158sv0000E4BFsd0000C504*
+ ID_MODEL_FROM_DATABASE=CP4-SCAT Wireless Technologies Carrier Board
+
+pci:v00001415d0000C158sv0000E4BFsd0000D551*
+ ID_MODEL_FROM_DATABASE=DU1-MUSTANG Dual-Port RS-485 Interface
+
+pci:v00001415d0000C308*
+ ID_MODEL_FROM_DATABASE=EX-44016 16-port serial
+
+pci:v00001416*
+ ID_VENDOR_FROM_DATABASE=Multiwave Innovation pte Ltd
+
+pci:v00001417*
+ ID_VENDOR_FROM_DATABASE=Convergenet Technologies Inc
+
+pci:v00001418*
+ ID_VENDOR_FROM_DATABASE=Kyushu electronics systems Inc
+
+pci:v00001419*
+ ID_VENDOR_FROM_DATABASE=Excel Switching Corp
+
+pci:v0000141A*
+ ID_VENDOR_FROM_DATABASE=Apache Micro Peripherals Inc
+
+pci:v0000141B*
+ ID_VENDOR_FROM_DATABASE=Zoom Telephonics Inc
+
+pci:v0000141D*
+ ID_VENDOR_FROM_DATABASE=Digitan Systems Inc
+
+pci:v0000141E*
+ ID_VENDOR_FROM_DATABASE=Fanuc Ltd
+
+pci:v0000141F*
+ ID_VENDOR_FROM_DATABASE=Visiontech Ltd
+
+pci:v00001420*
+ ID_VENDOR_FROM_DATABASE=Psion Dacom plc
+
+pci:v00001420d00008002*
+ ID_MODEL_FROM_DATABASE=Gold Card NetGlobal 56k+10/100Mb CardBus (Ethernet part)
+
+pci:v00001420d00008003*
+ ID_MODEL_FROM_DATABASE=Gold Card NetGlobal 56k+10/100Mb CardBus (Modem part)
+
+pci:v00001421*
+ ID_VENDOR_FROM_DATABASE=Ads Technologies Inc
+
+pci:v00001422*
+ ID_VENDOR_FROM_DATABASE=Ygrec Systems Co Ltd
+
+pci:v00001423*
+ ID_VENDOR_FROM_DATABASE=Custom Technology Corp.
+
+pci:v00001424*
+ ID_VENDOR_FROM_DATABASE=Videoserver Connections
+
+pci:v00001425*
+ ID_VENDOR_FROM_DATABASE=Chelsio Communications Inc
+
+pci:v00001425d0000000B*
+ ID_MODEL_FROM_DATABASE=T210 Protocol Engine
+
+pci:v00001425d0000000C*
+ ID_MODEL_FROM_DATABASE=T204 Protocol Engine
+
+pci:v00001425d00000022*
+ ID_MODEL_FROM_DATABASE=10GbE Ethernet Adapter
+
+pci:v00001425d00000030*
+ ID_MODEL_FROM_DATABASE=T310 10GbE Single Port Adapter
+
+pci:v00001425d00000030sv0000103Csd0000705E*
+ ID_MODEL_FROM_DATABASE=PCIe 10GBase-SR [AD386A]
+
+pci:v00001425d00000031*
+ ID_MODEL_FROM_DATABASE=T320 10GbE Dual Port Adapter
+
+pci:v00001425d00000032*
+ ID_MODEL_FROM_DATABASE=T302 1GbE Dual Port Adapter
+
+pci:v00001425d00000033*
+ ID_MODEL_FROM_DATABASE=T304 1GbE Quad Port Adapter
+
+pci:v00001425d00000034*
+ ID_MODEL_FROM_DATABASE=B320 10GbE Dual Port Adapter
+
+pci:v00001425d00000035*
+ ID_MODEL_FROM_DATABASE=S310-CR 10GbE Single Port Adapter
+
+pci:v00001425d00000036*
+ ID_MODEL_FROM_DATABASE=S320-LP-CR 10GbE Dual Port Adapter
+
+pci:v00001425d00000037*
+ ID_MODEL_FROM_DATABASE=N320-G2-CR 10GbE Dual Port Adapter
+
+pci:v00001425d00004001*
+ ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00004002*
+ ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00004003*
+ ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00004004*
+ ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00004005*
+ ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00004006*
+ ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller
+
+pci:v00001425d00004007*
+ ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller
+
+pci:v00001425d00004008*
+ ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller
+
+pci:v00001425d00004009*
+ ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000400A*
+ ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000400B*
+ ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller
+
+pci:v00001425d0000400C*
+ ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000400D*
+ ID_MODEL_FROM_DATABASE=T480 Unified Wire Ethernet Controller
+
+pci:v00001425d0000400E*
+ ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller
+
+pci:v00001425d0000400F*
+ ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Ethernet Controller
+
+pci:v00001425d00004080*
+ ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Ethernet Controller
+
+pci:v00001425d00004081*
+ ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Ethernet Controller
+
+pci:v00001425d00004082*
+ ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Ethernet Controller
+
+pci:v00001425d00004083*
+ ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller
+
+pci:v00001425d00004084*
+ ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller
+
+pci:v00001425d00004085*
+ ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller
+
+pci:v00001425d00004086*
+ ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Ethernet Controller
+
+pci:v00001425d00004087*
+ ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Ethernet Controller
+
+pci:v00001425d00004401*
+ ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00004402*
+ ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00004403*
+ ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00004404*
+ ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00004405*
+ ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00004406*
+ ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller
+
+pci:v00001425d00004407*
+ ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller
+
+pci:v00001425d00004408*
+ ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller
+
+pci:v00001425d00004409*
+ ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000440A*
+ ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000440B*
+ ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller
+
+pci:v00001425d0000440C*
+ ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000440D*
+ ID_MODEL_FROM_DATABASE=T480 Unified Wire Ethernet Controller
+
+pci:v00001425d0000440E*
+ ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller
+
+pci:v00001425d0000440F*
+ ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Ethernet Controller
+
+pci:v00001425d00004480*
+ ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Ethernet Controller
+
+pci:v00001425d00004481*
+ ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Ethernet Controller
+
+pci:v00001425d00004482*
+ ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Ethernet Controller
+
+pci:v00001425d00004483*
+ ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller
+
+pci:v00001425d00004484*
+ ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller
+
+pci:v00001425d00004485*
+ ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller
+
+pci:v00001425d00004486*
+ ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Ethernet Controller
+
+pci:v00001425d00004487*
+ ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Ethernet Controller
+
+pci:v00001425d00004501*
+ ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Storage Controller
+
+pci:v00001425d00004502*
+ ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Storage Controller
+
+pci:v00001425d00004503*
+ ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Storage Controller
+
+pci:v00001425d00004504*
+ ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Storage Controller
+
+pci:v00001425d00004505*
+ ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Storage Controller
+
+pci:v00001425d00004506*
+ ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Storage Controller
+
+pci:v00001425d00004507*
+ ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Storage Controller
+
+pci:v00001425d00004508*
+ ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Storage Controller
+
+pci:v00001425d00004509*
+ ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Storage Controller
+
+pci:v00001425d0000450A*
+ ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Storage Controller
+
+pci:v00001425d0000450B*
+ ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Storage Controller
+
+pci:v00001425d0000450C*
+ ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Storage Controller
+
+pci:v00001425d0000450D*
+ ID_MODEL_FROM_DATABASE=T480 Unified Wire Storage Controller
+
+pci:v00001425d0000450E*
+ ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Storage Controller
+
+pci:v00001425d0000450F*
+ ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Storage Controller
+
+pci:v00001425d00004580*
+ ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Storage Controller
+
+pci:v00001425d00004581*
+ ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Storage Controller
+
+pci:v00001425d00004582*
+ ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Storage Controller
+
+pci:v00001425d00004583*
+ ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Storage Controller
+
+pci:v00001425d00004584*
+ ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Storage Controller
+
+pci:v00001425d00004585*
+ ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Storage Controller
+
+pci:v00001425d00004586*
+ ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Storage Controller
+
+pci:v00001425d00004587*
+ ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Storage Controller
+
+pci:v00001425d00004601*
+ ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Storage Controller
+
+pci:v00001425d00004602*
+ ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Storage Controller
+
+pci:v00001425d00004603*
+ ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Storage Controller
+
+pci:v00001425d00004604*
+ ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Storage Controller
+
+pci:v00001425d00004605*
+ ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Storage Controller
+
+pci:v00001425d00004606*
+ ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Storage Controller
+
+pci:v00001425d00004607*
+ ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Storage Controller
+
+pci:v00001425d00004608*
+ ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Storage Controller
+
+pci:v00001425d00004609*
+ ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Storage Controller
+
+pci:v00001425d0000460A*
+ ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Storage Controller
+
+pci:v00001425d0000460B*
+ ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Storage Controller
+
+pci:v00001425d0000460C*
+ ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Storage Controller
+
+pci:v00001425d0000460D*
+ ID_MODEL_FROM_DATABASE=T480 Unified Wire Storage Controller
+
+pci:v00001425d0000460E*
+ ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Storage Controller
+
+pci:v00001425d0000460F*
+ ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Storage Controller
+
+pci:v00001425d00004680*
+ ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Storage Controller
+
+pci:v00001425d00004681*
+ ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Storage Controller
+
+pci:v00001425d00004682*
+ ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Storage Controller
+
+pci:v00001425d00004683*
+ ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Storage Controller
+
+pci:v00001425d00004684*
+ ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Storage Controller
+
+pci:v00001425d00004685*
+ ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Storage Controller
+
+pci:v00001425d00004686*
+ ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Storage Controller
+
+pci:v00001425d00004687*
+ ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Storage Controller
+
+pci:v00001425d00004701*
+ ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00004702*
+ ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00004703*
+ ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00004704*
+ ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00004705*
+ ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00004706*
+ ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller
+
+pci:v00001425d00004707*
+ ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller
+
+pci:v00001425d00004708*
+ ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller
+
+pci:v00001425d00004709*
+ ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000470A*
+ ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000470B*
+ ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller
+
+pci:v00001425d0000470C*
+ ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000470D*
+ ID_MODEL_FROM_DATABASE=T480 Unified Wire Ethernet Controller
+
+pci:v00001425d0000470E*
+ ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller
+
+pci:v00001425d0000470F*
+ ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Ethernet Controller
+
+pci:v00001425d00004780*
+ ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Ethernet Controller
+
+pci:v00001425d00004781*
+ ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Ethernet Controller
+
+pci:v00001425d00004782*
+ ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Ethernet Controller
+
+pci:v00001425d00004783*
+ ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller
+
+pci:v00001425d00004784*
+ ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller
+
+pci:v00001425d00004785*
+ ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller
+
+pci:v00001425d00004786*
+ ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Ethernet Controller
+
+pci:v00001425d00004787*
+ ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Ethernet Controller
+
+pci:v00001425d00004801*
+ ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00004802*
+ ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00004803*
+ ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00004804*
+ ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00004805*
+ ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00004806*
+ ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller
+
+pci:v00001425d00004807*
+ ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller
+
+pci:v00001425d00004808*
+ ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller
+
+pci:v00001425d00004809*
+ ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000480A*
+ ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000480B*
+ ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller
+
+pci:v00001425d0000480C*
+ ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000480D*
+ ID_MODEL_FROM_DATABASE=T480 Unified Wire Ethernet Controller
+
+pci:v00001425d0000480E*
+ ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller
+
+pci:v00001425d0000480F*
+ ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Ethernet Controller
+
+pci:v00001425d00004880*
+ ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Ethernet Controller
+
+pci:v00001425d00004881*
+ ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Ethernet Controller
+
+pci:v00001425d00004882*
+ ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Ethernet Controller
+
+pci:v00001425d00004883*
+ ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller
+
+pci:v00001425d00004884*
+ ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller
+
+pci:v00001425d00004885*
+ ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller
+
+pci:v00001425d00004886*
+ ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Ethernet Controller
+
+pci:v00001425d00004887*
+ ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Ethernet Controller
+
+pci:v00001425d00005001*
+ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005002*
+ ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005003*
+ ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005004*
+ ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00005005*
+ ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00005006*
+ ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Ethernet Controller
+
+pci:v00001425d00005007*
+ ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Ethernet Controller
+
+pci:v00001425d00005008*
+ ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Ethernet Controller
+
+pci:v00001425d00005009*
+ ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000500A*
+ ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000500B*
+ ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Ethernet Controller
+
+pci:v00001425d0000500C*
+ ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000500D*
+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller
+
+pci:v00001425d0000500E*
+ ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Ethernet Controller
+
+pci:v00001425d0000500F*
+ ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Ethernet Controller
+
+pci:v00001425d00005010*
+ ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005011*
+ ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005012*
+ ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005013*
+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005401*
+ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005402*
+ ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005403*
+ ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005404*
+ ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00005405*
+ ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00005406*
+ ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Ethernet Controller
+
+pci:v00001425d00005407*
+ ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Ethernet Controller
+
+pci:v00001425d00005408*
+ ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Ethernet Controller
+
+pci:v00001425d00005409*
+ ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000540A*
+ ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000540B*
+ ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Ethernet Controller
+
+pci:v00001425d0000540C*
+ ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000540D*
+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller
+
+pci:v00001425d0000540E*
+ ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Ethernet Controller
+
+pci:v00001425d0000540F*
+ ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Ethernet Controller
+
+pci:v00001425d00005410*
+ ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005411*
+ ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005412*
+ ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005413*
+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005501*
+ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller
+
+pci:v00001425d00005502*
+ ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Storage Controller
+
+pci:v00001425d00005503*
+ ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Storage Controller
+
+pci:v00001425d00005504*
+ ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Storage Controller
+
+pci:v00001425d00005505*
+ ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Storage Controller
+
+pci:v00001425d00005506*
+ ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Storage Controller
+
+pci:v00001425d00005507*
+ ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Storage Controller
+
+pci:v00001425d00005508*
+ ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Storage Controller
+
+pci:v00001425d00005509*
+ ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Storage Controller
+
+pci:v00001425d0000550A*
+ ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Storage Controller
+
+pci:v00001425d0000550B*
+ ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Storage Controller
+
+pci:v00001425d0000550C*
+ ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Storage Controller
+
+pci:v00001425d0000550D*
+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Storage Controller
+
+pci:v00001425d0000550E*
+ ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Storage Controller
+
+pci:v00001425d0000550F*
+ ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Storage Controller
+
+pci:v00001425d00005510*
+ ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Storage Controller
+
+pci:v00001425d00005511*
+ ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Storage Controller
+
+pci:v00001425d00005512*
+ ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Storage Controller
+
+pci:v00001425d00005513*
+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Storage Controller
+
+pci:v00001425d00005601*
+ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller
+
+pci:v00001425d00005602*
+ ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Storage Controller
+
+pci:v00001425d00005603*
+ ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Storage Controller
+
+pci:v00001425d00005604*
+ ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Storage Controller
+
+pci:v00001425d00005605*
+ ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Storage Controller
+
+pci:v00001425d00005606*
+ ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Storage Controller
+
+pci:v00001425d00005607*
+ ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Storage Controller
+
+pci:v00001425d00005608*
+ ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Storage Controller
+
+pci:v00001425d00005609*
+ ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Storage Controller
+
+pci:v00001425d0000560A*
+ ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Storage Controller
+
+pci:v00001425d0000560B*
+ ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Storage Controller
+
+pci:v00001425d0000560C*
+ ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Storage Controller
+
+pci:v00001425d0000560D*
+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Storage Controller
+
+pci:v00001425d0000560E*
+ ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Storage Controller
+
+pci:v00001425d0000560F*
+ ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Storage Controller
+
+pci:v00001425d00005610*
+ ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Storage Controller
+
+pci:v00001425d00005611*
+ ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Storage Controller
+
+pci:v00001425d00005612*
+ ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Storage Controller
+
+pci:v00001425d00005613*
+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Storage Controller
+
+pci:v00001425d00005701*
+ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005702*
+ ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005703*
+ ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005704*
+ ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00005705*
+ ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00005706*
+ ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Ethernet Controller
+
+pci:v00001425d00005707*
+ ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Ethernet Controller
+
+pci:v00001425d00005708*
+ ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Ethernet Controller
+
+pci:v00001425d00005709*
+ ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000570A*
+ ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000570B*
+ ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Ethernet Controller
+
+pci:v00001425d0000570C*
+ ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000570D*
+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller
+
+pci:v00001425d0000570E*
+ ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Ethernet Controller
+
+pci:v00001425d0000570F*
+ ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Ethernet Controller
+
+pci:v00001425d00005710*
+ ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005711*
+ ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005712*
+ ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005713*
+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005801*
+ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005802*
+ ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005803*
+ ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005804*
+ ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00005805*
+ ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Ethernet Controller
+
+pci:v00001425d00005806*
+ ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Ethernet Controller
+
+pci:v00001425d00005807*
+ ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Ethernet Controller
+
+pci:v00001425d00005808*
+ ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Ethernet Controller
+
+pci:v00001425d00005809*
+ ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000580A*
+ ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000580B*
+ ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Ethernet Controller
+
+pci:v00001425d0000580C*
+ ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Ethernet Controller
+
+pci:v00001425d0000580D*
+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller
+
+pci:v00001425d0000580E*
+ ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Ethernet Controller
+
+pci:v00001425d0000580F*
+ ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Ethernet Controller
+
+pci:v00001425d00005810*
+ ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005811*
+ ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005812*
+ ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller
+
+pci:v00001425d00005813*
+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller
+
+pci:v00001425d0000A000*
+ ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller
+
+pci:v00001426*
+ ID_VENDOR_FROM_DATABASE=Storage Technology Corp.
+
+pci:v00001427*
+ ID_VENDOR_FROM_DATABASE=Better On-Line Solutions
+
+pci:v00001428*
+ ID_VENDOR_FROM_DATABASE=Edec Co Ltd
+
+pci:v00001429*
+ ID_VENDOR_FROM_DATABASE=Unex Technology Corp.
+
+pci:v0000142A*
+ ID_VENDOR_FROM_DATABASE=Kingmax Technology Inc
+
+pci:v0000142B*
+ ID_VENDOR_FROM_DATABASE=Radiolan
+
+pci:v0000142C*
+ ID_VENDOR_FROM_DATABASE=Minton Optic Industry Co Ltd
+
+pci:v0000142D*
+ ID_VENDOR_FROM_DATABASE=Pix stream Inc
+
+pci:v0000142E*
+ ID_VENDOR_FROM_DATABASE=Vitec Multimedia
+
+pci:v0000142Ed00004020*
+ ID_MODEL_FROM_DATABASE=VM2-2 [Video Maker 2] MPEG1/2 Encoder
+
+pci:v0000142Ed00004337*
+ ID_MODEL_FROM_DATABASE=VM2-2-C7 [Video Maker 2 rev. C7] MPEG1/2 Encoder
+
+pci:v0000142F*
+ ID_VENDOR_FROM_DATABASE=Radicom Research Inc
+
+pci:v00001430*
+ ID_VENDOR_FROM_DATABASE=ITT Aerospace/Communications Division
+
+pci:v00001431*
+ ID_VENDOR_FROM_DATABASE=Gilat Satellite Networks
+
+pci:v00001432*
+ ID_VENDOR_FROM_DATABASE=Edimax Computer Co.
+
+pci:v00001432d00009130*
+ ID_MODEL_FROM_DATABASE=RTL81xx Fast Ethernet
+
+pci:v00001433*
+ ID_VENDOR_FROM_DATABASE=Eltec Elektronik GmbH
+
+pci:v00001435*
+ ID_VENDOR_FROM_DATABASE=RTD Embedded Technologies, Inc.
+
+pci:v00001435d00004520*
+ ID_MODEL_FROM_DATABASE=PCI4520
+
+pci:v00001435d00006020*
+ ID_MODEL_FROM_DATABASE=SPM6020
+
+pci:v00001435d00006030*
+ ID_MODEL_FROM_DATABASE=SPM6030
+
+pci:v00001435d00006420*
+ ID_MODEL_FROM_DATABASE=SPM186420
+
+pci:v00001435d00006430*
+ ID_MODEL_FROM_DATABASE=SPM176430
+
+pci:v00001435d00006431*
+ ID_MODEL_FROM_DATABASE=SPM176431
+
+pci:v00001435d00007520*
+ ID_MODEL_FROM_DATABASE=DM7520
+
+pci:v00001435d00007540*
+ ID_MODEL_FROM_DATABASE=SDM7540
+
+pci:v00001435d00007820*
+ ID_MODEL_FROM_DATABASE=DM7820
+
+pci:v00001436*
+ ID_VENDOR_FROM_DATABASE=CIS Technology Inc
+
+pci:v00001437*
+ ID_VENDOR_FROM_DATABASE=Nissin Inc Co
+
+pci:v00001438*
+ ID_VENDOR_FROM_DATABASE=Atmel-dream
+
+pci:v00001439*
+ ID_VENDOR_FROM_DATABASE=Outsource Engineering & Mfg. Inc
+
+pci:v0000143A*
+ ID_VENDOR_FROM_DATABASE=Stargate Solutions Inc
+
+pci:v0000143B*
+ ID_VENDOR_FROM_DATABASE=Canon Research Center, America
+
+pci:v0000143C*
+ ID_VENDOR_FROM_DATABASE=Amlogic Inc
+
+pci:v0000143D*
+ ID_VENDOR_FROM_DATABASE=Tamarack Microelectronics Inc
+
+pci:v0000143E*
+ ID_VENDOR_FROM_DATABASE=Jones Futurex Inc
+
+pci:v0000143F*
+ ID_VENDOR_FROM_DATABASE=Lightwell Co Ltd - Zax Division
+
+pci:v00001440*
+ ID_VENDOR_FROM_DATABASE=ALGOL Corp.
+
+pci:v00001441*
+ ID_VENDOR_FROM_DATABASE=AGIE Ltd
+
+pci:v00001442*
+ ID_VENDOR_FROM_DATABASE=Phoenix Contact GmbH & Co.
+
+pci:v00001443*
+ ID_VENDOR_FROM_DATABASE=Unibrain S.A.
+
+pci:v00001444*
+ ID_VENDOR_FROM_DATABASE=TRW
+
+pci:v00001445*
+ ID_VENDOR_FROM_DATABASE=Logical DO Ltd
+
+pci:v00001446*
+ ID_VENDOR_FROM_DATABASE=Graphin Co Ltd
+
+pci:v00001447*
+ ID_VENDOR_FROM_DATABASE=AIM GmBH
+
+pci:v00001448*
+ ID_VENDOR_FROM_DATABASE=Alesis Studio Electronics
+
+pci:v00001449*
+ ID_VENDOR_FROM_DATABASE=TUT Systems Inc
+
+pci:v0000144A*
+ ID_VENDOR_FROM_DATABASE=Adlink Technology
+
+pci:v0000144Ad00006208*
+ ID_MODEL_FROM_DATABASE=PCI-6208V
+
+pci:v0000144Ad00007250*
+ ID_MODEL_FROM_DATABASE=PCI-7250
+
+pci:v0000144Ad00007296*
+ ID_MODEL_FROM_DATABASE=PCI-7296
+
+pci:v0000144Ad00007432*
+ ID_MODEL_FROM_DATABASE=PCI-7432
+
+pci:v0000144Ad00007433*
+ ID_MODEL_FROM_DATABASE=PCI-7433
+
+pci:v0000144Ad00007434*
+ ID_MODEL_FROM_DATABASE=PCI-7434
+
+pci:v0000144Ad00007841*
+ ID_MODEL_FROM_DATABASE=PCI-7841
+
+pci:v0000144Ad00008133*
+ ID_MODEL_FROM_DATABASE=PCI-8133
+
+pci:v0000144Ad00008164*
+ ID_MODEL_FROM_DATABASE=PCI-8164
+
+pci:v0000144Ad00008554*
+ ID_MODEL_FROM_DATABASE=PCI-8554
+
+pci:v0000144Ad00009111*
+ ID_MODEL_FROM_DATABASE=PCI-9111
+
+pci:v0000144Ad00009113*
+ ID_MODEL_FROM_DATABASE=PCI-9113
+
+pci:v0000144Ad00009114*
+ ID_MODEL_FROM_DATABASE=PCI-9114
+
+pci:v0000144B*
+ ID_VENDOR_FROM_DATABASE=Verint Systems Inc.
+
+pci:v0000144C*
+ ID_VENDOR_FROM_DATABASE=Catalina Research Inc
+
+pci:v0000144D*
+ ID_VENDOR_FROM_DATABASE=Samsung Electronics Co Ltd
+
+pci:v0000144E*
+ ID_VENDOR_FROM_DATABASE=OLITEC
+
+pci:v0000144F*
+ ID_VENDOR_FROM_DATABASE=Askey Computer Corp.
+
+pci:v00001450*
+ ID_VENDOR_FROM_DATABASE=Octave Communications Ind.
+
+pci:v00001451*
+ ID_VENDOR_FROM_DATABASE=SP3D Chip Design GmBH
+
+pci:v00001453*
+ ID_VENDOR_FROM_DATABASE=MYCOM Inc
+
+pci:v00001454*
+ ID_VENDOR_FROM_DATABASE=Altiga Networks
+
+pci:v00001455*
+ ID_VENDOR_FROM_DATABASE=Logic Plus Plus Inc
+
+pci:v00001456*
+ ID_VENDOR_FROM_DATABASE=Advanced Hardware Architectures
+
+pci:v00001457*
+ ID_VENDOR_FROM_DATABASE=Nuera Communications Inc
+
+pci:v00001458*
+ ID_VENDOR_FROM_DATABASE=Gigabyte Technology Co., Ltd
+
+pci:v00001459*
+ ID_VENDOR_FROM_DATABASE=DOOIN Electronics
+
+pci:v0000145A*
+ ID_VENDOR_FROM_DATABASE=Escalate Networks Inc
+
+pci:v0000145B*
+ ID_VENDOR_FROM_DATABASE=PRAIM SRL
+
+pci:v0000145C*
+ ID_VENDOR_FROM_DATABASE=Cryptek
+
+pci:v0000145D*
+ ID_VENDOR_FROM_DATABASE=Gallant Computer Inc
+
+pci:v0000145E*
+ ID_VENDOR_FROM_DATABASE=Aashima Technology B.V.
+
+pci:v0000145F*
+ ID_VENDOR_FROM_DATABASE=Baldor Electric Company
+
+pci:v0000145Fd00000001*
+ ID_MODEL_FROM_DATABASE=NextMove PCI
+
+pci:v00001460*
+ ID_VENDOR_FROM_DATABASE=DYNARC INC
+
+pci:v00001461*
+ ID_VENDOR_FROM_DATABASE=Avermedia Technologies Inc
+
+pci:v00001461d0000A3CE*
+ ID_MODEL_FROM_DATABASE=M179
+
+pci:v00001461d0000A3CF*
+ ID_MODEL_FROM_DATABASE=M179
+
+pci:v00001461d0000A836*
+ ID_MODEL_FROM_DATABASE=M115 DVB-T, PAL/SECAM/NTSC Tuner
+
+pci:v00001461d0000E836*
+ ID_MODEL_FROM_DATABASE=M115S Hybrid Analog/DVB PAL/SECAM/NTSC Tuner
+
+pci:v00001461d0000F436*
+ ID_MODEL_FROM_DATABASE=AVerTV Hybrid+FM
+
+pci:v00001462*
+ ID_VENDOR_FROM_DATABASE=Micro-Star International Co., Ltd.
+
+pci:v00001463*
+ ID_VENDOR_FROM_DATABASE=Fast Corporation
+
+pci:v00001464*
+ ID_VENDOR_FROM_DATABASE=Interactive Circuits & Systems Ltd
+
+pci:v00001465*
+ ID_VENDOR_FROM_DATABASE=GN NETTEST Telecom DIV.
+
+pci:v00001466*
+ ID_VENDOR_FROM_DATABASE=Designpro Inc.
+
+pci:v00001467*
+ ID_VENDOR_FROM_DATABASE=DIGICOM SPA
+
+pci:v00001468*
+ ID_VENDOR_FROM_DATABASE=AMBIT Microsystem Corp.
+
+pci:v00001469*
+ ID_VENDOR_FROM_DATABASE=Cleveland Motion Controls
+
+pci:v0000146A*
+ ID_VENDOR_FROM_DATABASE=IFR
+
+pci:v0000146B*
+ ID_VENDOR_FROM_DATABASE=Parascan Technologies Ltd
+
+pci:v0000146C*
+ ID_VENDOR_FROM_DATABASE=Ruby Tech Corp.
+
+pci:v0000146Cd00001430*
+ ID_MODEL_FROM_DATABASE=FE-1430TX Fast Ethernet PCI Adapter
+
+pci:v0000146D*
+ ID_VENDOR_FROM_DATABASE=Tachyon, INC.
+
+pci:v0000146E*
+ ID_VENDOR_FROM_DATABASE=Williams Electronics Games, Inc.
+
+pci:v0000146F*
+ ID_VENDOR_FROM_DATABASE=Multi Dimensional Consulting Inc
+
+pci:v00001470*
+ ID_VENDOR_FROM_DATABASE=Bay Networks
+
+pci:v00001471*
+ ID_VENDOR_FROM_DATABASE=Integrated Telecom Express Inc
+
+pci:v00001472*
+ ID_VENDOR_FROM_DATABASE=DAIKIN Industries, Ltd
+
+pci:v00001473*
+ ID_VENDOR_FROM_DATABASE=ZAPEX Technologies Inc
+
+pci:v00001474*
+ ID_VENDOR_FROM_DATABASE=Doug Carson & Associates
+
+pci:v00001475*
+ ID_VENDOR_FROM_DATABASE=PICAZO Communications
+
+pci:v00001476*
+ ID_VENDOR_FROM_DATABASE=MORTARA Instrument Inc
+
+pci:v00001477*
+ ID_VENDOR_FROM_DATABASE=Net Insight
+
+pci:v00001478*
+ ID_VENDOR_FROM_DATABASE=DIATREND Corporation
+
+pci:v00001479*
+ ID_VENDOR_FROM_DATABASE=TORAY Industries Inc
+
+pci:v0000147A*
+ ID_VENDOR_FROM_DATABASE=FORMOSA Industrial Computing
+
+pci:v0000147B*
+ ID_VENDOR_FROM_DATABASE=ABIT Computer Corp.
+
+pci:v0000147Bd00001084*
+ ID_MODEL_FROM_DATABASE=IP35 [Dark Raider]
+
+pci:v0000147C*
+ ID_VENDOR_FROM_DATABASE=AWARE, Inc.
+
+pci:v0000147D*
+ ID_VENDOR_FROM_DATABASE=Interworks Computer Products
+
+pci:v0000147E*
+ ID_VENDOR_FROM_DATABASE=Matsushita Graphic Communication Systems, Inc.
+
+pci:v0000147F*
+ ID_VENDOR_FROM_DATABASE=NIHON UNISYS, Ltd.
+
+pci:v00001480*
+ ID_VENDOR_FROM_DATABASE=SCII Telecom
+
+pci:v00001481*
+ ID_VENDOR_FROM_DATABASE=BIOPAC Systems Inc
+
+pci:v00001482*
+ ID_VENDOR_FROM_DATABASE=ISYTEC - Integrierte Systemtechnik GmBH
+
+pci:v00001482d00000001*
+ ID_MODEL_FROM_DATABASE=PCI-16 Host Interface for ITC-16
+
+pci:v00001483*
+ ID_VENDOR_FROM_DATABASE=LABWAY Corporation
+
+pci:v00001484*
+ ID_VENDOR_FROM_DATABASE=Logic Corporation
+
+pci:v00001485*
+ ID_VENDOR_FROM_DATABASE=ERMA - Electronic GmBH
+
+pci:v00001486*
+ ID_VENDOR_FROM_DATABASE=L3 Communications Telemetry & Instrumentation
+
+pci:v00001487*
+ ID_VENDOR_FROM_DATABASE=MARQUETTE Medical Systems
+
+pci:v00001488*
+ ID_VENDOR_FROM_DATABASE=KONTRON Electronik GmBH
+
+pci:v00001489*
+ ID_VENDOR_FROM_DATABASE=KYE Systems Corporation
+
+pci:v0000148A*
+ ID_VENDOR_FROM_DATABASE=OPTO
+
+pci:v0000148B*
+ ID_VENDOR_FROM_DATABASE=INNOMEDIALOGIC Inc.
+
+pci:v0000148C*
+ ID_VENDOR_FROM_DATABASE=C.P. Technology Co. Ltd
+
+pci:v0000148D*
+ ID_VENDOR_FROM_DATABASE=DIGICOM Systems, Inc.
+
+pci:v0000148Dd00001003*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem
+
+pci:v0000148E*
+ ID_VENDOR_FROM_DATABASE=OSI Plus Corporation
+
+pci:v0000148F*
+ ID_VENDOR_FROM_DATABASE=Plant Equipment, Inc.
+
+pci:v00001490*
+ ID_VENDOR_FROM_DATABASE=Stone Microsystems PTY Ltd.
+
+pci:v00001491*
+ ID_VENDOR_FROM_DATABASE=ZEAL Corporation
+
+pci:v00001492*
+ ID_VENDOR_FROM_DATABASE=Time Logic Corporation
+
+pci:v00001493*
+ ID_VENDOR_FROM_DATABASE=MAKER Communications
+
+pci:v00001494*
+ ID_VENDOR_FROM_DATABASE=WINTOP Technology, Inc.
+
+pci:v00001495*
+ ID_VENDOR_FROM_DATABASE=TOKAI Communications Industry Co. Ltd
+
+pci:v00001496*
+ ID_VENDOR_FROM_DATABASE=JOYTECH Computer Co., Ltd.
+
+pci:v00001497*
+ ID_VENDOR_FROM_DATABASE=SMA Regelsysteme GmBH
+
+pci:v00001497d00001497*
+ ID_MODEL_FROM_DATABASE=SMA Technologie AG
+
+pci:v00001498*
+ ID_VENDOR_FROM_DATABASE=TEWS Technologies GmbH
+
+pci:v00001498d00000330*
+ ID_MODEL_FROM_DATABASE=TPMC816 2 Channel CAN bus controller.
+
+pci:v00001498d0000035D*
+ ID_MODEL_FROM_DATABASE=TPMC861 4-Channel Isolated Serial Interface RS422/RS485
+
+pci:v00001498d00000385*
+ ID_MODEL_FROM_DATABASE=TPMC901 Extended CAN bus with 2/4/6 CAN controller
+
+pci:v00001498d000021CC*
+ ID_MODEL_FROM_DATABASE=TCP460 CompactPCI 16 Channel Serial Interface RS232/RS422
+
+pci:v00001498d000021CD*
+ ID_MODEL_FROM_DATABASE=TCP461 CompactPCI 8 Channel Serial Interface RS232/RS422
+
+pci:v00001498d00003064*
+ ID_MODEL_FROM_DATABASE=TPCI100 (2 Slot IndustryPack PCI Carrier)
+
+pci:v00001498d000030C8*
+ ID_MODEL_FROM_DATABASE=TPCI200
+
+pci:v00001499*
+ ID_VENDOR_FROM_DATABASE=EMTEC CO., Ltd
+
+pci:v0000149A*
+ ID_VENDOR_FROM_DATABASE=ANDOR Technology Ltd
+
+pci:v0000149B*
+ ID_VENDOR_FROM_DATABASE=SEIKO Instruments Inc
+
+pci:v0000149C*
+ ID_VENDOR_FROM_DATABASE=OVISLINK Corp.
+
+pci:v0000149D*
+ ID_VENDOR_FROM_DATABASE=NEWTEK Inc
+
+pci:v0000149Dd00000001*
+ ID_MODEL_FROM_DATABASE=Video Toaster for PC
+
+pci:v0000149E*
+ ID_VENDOR_FROM_DATABASE=Mapletree Networks Inc.
+
+pci:v0000149F*
+ ID_VENDOR_FROM_DATABASE=LECTRON Co Ltd
+
+pci:v000014A0*
+ ID_VENDOR_FROM_DATABASE=SOFTING GmBH
+
+pci:v000014A1*
+ ID_VENDOR_FROM_DATABASE=Systembase Co Ltd
+
+pci:v000014A2*
+ ID_VENDOR_FROM_DATABASE=Millennium Engineering Inc
+
+pci:v000014A3*
+ ID_VENDOR_FROM_DATABASE=Maverick Networks
+
+pci:v000014A4*
+ ID_VENDOR_FROM_DATABASE=Broadcom Corporation (Wrong ID)
+
+pci:v000014A4d00004318*
+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller
+
+pci:v000014A5*
+ ID_VENDOR_FROM_DATABASE=XIONICS Document Technologies Inc
+
+pci:v000014A6*
+ ID_VENDOR_FROM_DATABASE=INOVA Computers GmBH & Co KG
+
+pci:v000014A7*
+ ID_VENDOR_FROM_DATABASE=MYTHOS Systems Inc
+
+pci:v000014A8*
+ ID_VENDOR_FROM_DATABASE=FEATRON Technologies Corporation
+
+pci:v000014A9*
+ ID_VENDOR_FROM_DATABASE=HIVERTEC Inc
+
+pci:v000014AA*
+ ID_VENDOR_FROM_DATABASE=Advanced MOS Technology Inc
+
+pci:v000014AB*
+ ID_VENDOR_FROM_DATABASE=Mentor Graphics Corp.
+
+pci:v000014AC*
+ ID_VENDOR_FROM_DATABASE=Novaweb Technologies Inc
+
+pci:v000014AD*
+ ID_VENDOR_FROM_DATABASE=Time Space Radio AB
+
+pci:v000014AE*
+ ID_VENDOR_FROM_DATABASE=CTI, Inc
+
+pci:v000014AF*
+ ID_VENDOR_FROM_DATABASE=Guillemot Corporation
+
+pci:v000014AFd00007102*
+ ID_MODEL_FROM_DATABASE=3D Prophet II MX
+
+pci:v000014B0*
+ ID_VENDOR_FROM_DATABASE=BST Communication Technology Ltd
+
+pci:v000014B1*
+ ID_VENDOR_FROM_DATABASE=Nextcom K.K.
+
+pci:v000014B2*
+ ID_VENDOR_FROM_DATABASE=ENNOVATE Networks Inc
+
+pci:v000014B3*
+ ID_VENDOR_FROM_DATABASE=XPEED Inc
+
+pci:v000014B3d00000000*
+ ID_MODEL_FROM_DATABASE=DSL NIC
+
+pci:v000014B4*
+ ID_VENDOR_FROM_DATABASE=PHILIPS Business Electronics B.V.
+
+pci:v000014B5*
+ ID_VENDOR_FROM_DATABASE=Creamware GmBH
+
+pci:v000014B5d00000200*
+ ID_MODEL_FROM_DATABASE=Scope
+
+pci:v000014B5d00000300*
+ ID_MODEL_FROM_DATABASE=Pulsar
+
+pci:v000014B5d00000400*
+ ID_MODEL_FROM_DATABASE=PulsarSRB
+
+pci:v000014B5d00000600*
+ ID_MODEL_FROM_DATABASE=Pulsar2
+
+pci:v000014B5d00000800*
+ ID_MODEL_FROM_DATABASE=DSP-Board
+
+pci:v000014B5d00000900*
+ ID_MODEL_FROM_DATABASE=DSP-Board
+
+pci:v000014B5d00000A00*
+ ID_MODEL_FROM_DATABASE=DSP-Board
+
+pci:v000014B5d00000B00*
+ ID_MODEL_FROM_DATABASE=DSP-Board
+
+pci:v000014B6*
+ ID_VENDOR_FROM_DATABASE=Quantum Data Corp.
+
+pci:v000014B7*
+ ID_VENDOR_FROM_DATABASE=PROXIM Inc
+
+pci:v000014B7d00000001*
+ ID_MODEL_FROM_DATABASE=Symphony 4110
+
+pci:v000014B8*
+ ID_VENDOR_FROM_DATABASE=Techsoft Technology Co Ltd
+
+pci:v000014B9*
+ ID_VENDOR_FROM_DATABASE=Cisco Aironet Wireless Communications
+
+pci:v000014B9d00000001*
+ ID_MODEL_FROM_DATABASE=PC4800
+
+pci:v000014B9d00000340*
+ ID_MODEL_FROM_DATABASE=PC4800
+
+pci:v000014B9d00000350*
+ ID_MODEL_FROM_DATABASE=350 series 802.11b Wireless LAN Adapter
+
+pci:v000014B9d00004500*
+ ID_MODEL_FROM_DATABASE=PC4500
+
+pci:v000014B9d00004800*
+ ID_MODEL_FROM_DATABASE=Cisco Aironet 340 802.11b Wireless LAN Adapter/Aironet PC4800
+
+pci:v000014B9d0000A504*
+ ID_MODEL_FROM_DATABASE=Cisco Aironet Wireless 802.11b
+
+pci:v000014B9d0000A505*
+ ID_MODEL_FROM_DATABASE=Cisco Aironet CB20a 802.11a Wireless LAN Adapter
+
+pci:v000014B9d0000A506*
+ ID_MODEL_FROM_DATABASE=Cisco Aironet Mini PCI b/g
+
+pci:v000014BA*
+ ID_VENDOR_FROM_DATABASE=INTERNIX Inc.
+
+pci:v000014BAd00000600*
+ ID_MODEL_FROM_DATABASE=ARC-PCI/22
+
+pci:v000014BB*
+ ID_VENDOR_FROM_DATABASE=SEMTECH Corporation
+
+pci:v000014BC*
+ ID_VENDOR_FROM_DATABASE=Globespan Semiconductor Inc.
+
+pci:v000014BCd0000D002*
+ ID_MODEL_FROM_DATABASE=Pulsar [PCI ADSL Card]
+
+pci:v000014BCd0000D00F*
+ ID_MODEL_FROM_DATABASE=Pulsar [PCI ADSL Card]
+
+pci:v000014BD*
+ ID_VENDOR_FROM_DATABASE=CARDIO Control N.V.
+
+pci:v000014BE*
+ ID_VENDOR_FROM_DATABASE=L3 Communications
+
+pci:v000014BF*
+ ID_VENDOR_FROM_DATABASE=SPIDER Communications Inc.
+
+pci:v000014C0*
+ ID_VENDOR_FROM_DATABASE=COMPAL Electronics Inc
+
+pci:v000014C1*
+ ID_VENDOR_FROM_DATABASE=MYRICOM Inc.
+
+pci:v000014C1d00000008*
+ ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC
+
+pci:v000014C1d00000008sv000014C1sd00000008*
+ ID_MODEL_FROM_DATABASE=10G-PCIE-8A
+
+pci:v000014C1d00000008sv000014C1sd00000009*
+ ID_MODEL_FROM_DATABASE=10G-PCIE-8A (MSI-X firmware)
+
+pci:v000014C1d00000008sv000014C1sd0000000A*
+ ID_MODEL_FROM_DATABASE=10G-PCIE-8B
+
+pci:v000014C1d00008043*
+ ID_MODEL_FROM_DATABASE=Myrinet 2000 Scalable Cluster Interconnect
+
+pci:v000014C1d00008043sv0000103Csd00001240*
+ ID_MODEL_FROM_DATABASE=Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM)
+
+pci:v000014C2*
+ ID_VENDOR_FROM_DATABASE=DTK Computer
+
+pci:v000014C3*
+ ID_VENDOR_FROM_DATABASE=MEDIATEK Corp.
+
+pci:v000014C4*
+ ID_VENDOR_FROM_DATABASE=IWASAKI Information Systems Co Ltd
+
+pci:v000014C5*
+ ID_VENDOR_FROM_DATABASE=Automation Products AB
+
+pci:v000014C6*
+ ID_VENDOR_FROM_DATABASE=Data Race Inc
+
+pci:v000014C7*
+ ID_VENDOR_FROM_DATABASE=Modular Technology Holdings Ltd
+
+pci:v000014C8*
+ ID_VENDOR_FROM_DATABASE=Turbocomm Tech. Inc.
+
+pci:v000014C9*
+ ID_VENDOR_FROM_DATABASE=ODIN Telesystems Inc
+
+pci:v000014CA*
+ ID_VENDOR_FROM_DATABASE=PE Logic Corp.
+
+pci:v000014CB*
+ ID_VENDOR_FROM_DATABASE=Billionton Systems Inc
+
+pci:v000014CC*
+ ID_VENDOR_FROM_DATABASE=NAKAYO Telecommunications Inc
+
+pci:v000014CD*
+ ID_VENDOR_FROM_DATABASE=Universal Scientific Ind.
+
+pci:v000014CE*
+ ID_VENDOR_FROM_DATABASE=Whistle Communications
+
+pci:v000014CF*
+ ID_VENDOR_FROM_DATABASE=TEK Microsystems Inc.
+
+pci:v000014D0*
+ ID_VENDOR_FROM_DATABASE=Ericsson Axe R & D
+
+pci:v000014D1*
+ ID_VENDOR_FROM_DATABASE=Computer Hi-Tech Co Ltd
+
+pci:v000014D2*
+ ID_VENDOR_FROM_DATABASE=Titan Electronics Inc
+
+pci:v000014D2d00008001*
+ ID_MODEL_FROM_DATABASE=VScom 010L 1 port parallel adaptor
+
+pci:v000014D2d00008002*
+ ID_MODEL_FROM_DATABASE=VScom 020L 2 port parallel adaptor
+
+pci:v000014D2d00008010*
+ ID_MODEL_FROM_DATABASE=VScom 100L 1 port serial adaptor
+
+pci:v000014D2d00008011*
+ ID_MODEL_FROM_DATABASE=VScom 110L 1 port serial and 1 port parallel adaptor
+
+pci:v000014D2d00008020*
+ ID_MODEL_FROM_DATABASE=VScom 200L 1 or 2 port serial adaptor
+
+pci:v000014D2d00008021*
+ ID_MODEL_FROM_DATABASE=VScom 210L 2 port serial and 1 port parallel adaptor
+
+pci:v000014D2d00008028*
+ ID_MODEL_FROM_DATABASE=VScom 200I/200I-SI 2-port serial adapter
+
+pci:v000014D2d00008040*
+ ID_MODEL_FROM_DATABASE=VScom 400L 4 port serial adaptor
+
+pci:v000014D2d00008043*
+ ID_MODEL_FROM_DATABASE=VScom 430L 4-port serial and 3-port parallel adapter
+
+pci:v000014D2d00008048*
+ ID_MODEL_FROM_DATABASE=VScom 400I 4-port serial adapter
+
+pci:v000014D2d00008080*
+ ID_MODEL_FROM_DATABASE=VScom 800L 8 port serial adaptor
+
+pci:v000014D2d00008088*
+ ID_MODEL_FROM_DATABASE=VScom 800I 8-port serial adapter
+
+pci:v000014D2d0000A000*
+ ID_MODEL_FROM_DATABASE=VScom 010H 1 port parallel adaptor
+
+pci:v000014D2d0000A001*
+ ID_MODEL_FROM_DATABASE=VScom 100H 1 port serial adaptor
+
+pci:v000014D2d0000A003*
+ ID_MODEL_FROM_DATABASE=VScom 400H 4 port serial adaptor
+
+pci:v000014D2d0000A004*
+ ID_MODEL_FROM_DATABASE=VScom 400HF1 4 port serial adaptor
+
+pci:v000014D2d0000A005*
+ ID_MODEL_FROM_DATABASE=VScom 200H 2 port serial adaptor
+
+pci:v000014D2d0000A007*
+ ID_MODEL_FROM_DATABASE=VScom PCI800EH (PCIe) 8-port serial adapter Port 1-4
+
+pci:v000014D2d0000A008*
+ ID_MODEL_FROM_DATABASE=VScom PCI800EH (PCIe) 8-port serial adapter Port 5-8
+
+pci:v000014D2d0000A009*
+ ID_MODEL_FROM_DATABASE=VScom PCI400EH (PCIe) 4-port serial adapter
+
+pci:v000014D2d0000E001*
+ ID_MODEL_FROM_DATABASE=VScom 010HV2 1 port parallel adaptor
+
+pci:v000014D2d0000E010*
+ ID_MODEL_FROM_DATABASE=VScom 100HV2 1 port serial adaptor
+
+pci:v000014D2d0000E020*
+ ID_MODEL_FROM_DATABASE=VScom 200HV2 2 port serial adaptor
+
+pci:v000014D3*
+ ID_VENDOR_FROM_DATABASE=CIRTECH (UK) Ltd
+
+pci:v000014D4*
+ ID_VENDOR_FROM_DATABASE=Panacom Technology Corp
+
+pci:v000014D5*
+ ID_VENDOR_FROM_DATABASE=Nitsuko Corporation
+
+pci:v000014D6*
+ ID_VENDOR_FROM_DATABASE=Accusys Inc
+
+pci:v000014D6d00006101*
+ ID_MODEL_FROM_DATABASE=ACS-61xxx, PCIe to SAS/SATA RAID HBA
+
+pci:v000014D6d00006201*
+ ID_MODEL_FROM_DATABASE=ACS-62xxx, External PCIe to SAS/SATA RAID controller
+
+pci:v000014D7*
+ ID_VENDOR_FROM_DATABASE=Hirakawa Hewtech Corp
+
+pci:v000014D8*
+ ID_VENDOR_FROM_DATABASE=HOPF Elektronik GmBH
+
+pci:v000014D9*
+ ID_VENDOR_FROM_DATABASE=Alliance Semiconductor Corporation
+
+pci:v000014D9d00000010*
+ ID_MODEL_FROM_DATABASE=AP1011/SP1011 HyperTransport-PCI Bridge [Sturgeon]
+
+pci:v000014D9d00009000*
+ ID_MODEL_FROM_DATABASE=AS90L10204/10208 HyperTransport to PCI-X Bridge
+
+pci:v000014DA*
+ ID_VENDOR_FROM_DATABASE=National Aerospace Laboratories
+
+pci:v000014DB*
+ ID_VENDOR_FROM_DATABASE=AFAVLAB Technology Inc
+
+pci:v000014DBd00002120*
+ ID_MODEL_FROM_DATABASE=TK9902
+
+pci:v000014DBd00002182*
+ ID_MODEL_FROM_DATABASE=AFAVLAB Technology Inc. 8-port serial card
+
+pci:v000014DC*
+ ID_VENDOR_FROM_DATABASE=Amplicon Liveline Ltd
+
+pci:v000014DCd00000000*
+ ID_MODEL_FROM_DATABASE=PCI230
+
+pci:v000014DCd00000001*
+ ID_MODEL_FROM_DATABASE=PCI242
+
+pci:v000014DCd00000002*
+ ID_MODEL_FROM_DATABASE=PCI244
+
+pci:v000014DCd00000003*
+ ID_MODEL_FROM_DATABASE=PCI247
+
+pci:v000014DCd00000004*
+ ID_MODEL_FROM_DATABASE=PCI248
+
+pci:v000014DCd00000005*
+ ID_MODEL_FROM_DATABASE=PCI249
+
+pci:v000014DCd00000006*
+ ID_MODEL_FROM_DATABASE=PCI260
+
+pci:v000014DCd00000007*
+ ID_MODEL_FROM_DATABASE=PCI224
+
+pci:v000014DCd00000008*
+ ID_MODEL_FROM_DATABASE=PCI234
+
+pci:v000014DCd00000009*
+ ID_MODEL_FROM_DATABASE=PCI236
+
+pci:v000014DCd0000000A*
+ ID_MODEL_FROM_DATABASE=PCI272
+
+pci:v000014DCd0000000B*
+ ID_MODEL_FROM_DATABASE=PCI215
+
+pci:v000014DD*
+ ID_VENDOR_FROM_DATABASE=Boulder Design Labs Inc
+
+pci:v000014DE*
+ ID_VENDOR_FROM_DATABASE=Applied Integration Corporation
+
+pci:v000014DF*
+ ID_VENDOR_FROM_DATABASE=ASIC Communications Corp
+
+pci:v000014E1*
+ ID_VENDOR_FROM_DATABASE=INVERTEX
+
+pci:v000014E2*
+ ID_VENDOR_FROM_DATABASE=INFOLIBRIA
+
+pci:v000014E3*
+ ID_VENDOR_FROM_DATABASE=AMTELCO
+
+pci:v000014E4*
+ ID_VENDOR_FROM_DATABASE=Broadcom Corporation
+
+pci:v000014E4d00000576*
+ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n
+
+pci:v000014E4d00000800*
+ ID_MODEL_FROM_DATABASE=Sentry5 Chipcommon I/O Controller
+
+pci:v000014E4d00000804*
+ ID_MODEL_FROM_DATABASE=Sentry5 PCI Bridge
+
+pci:v000014E4d00000805*
+ ID_MODEL_FROM_DATABASE=Sentry5 MIPS32 CPU
+
+pci:v000014E4d00000806*
+ ID_MODEL_FROM_DATABASE=Sentry5 Ethernet Controller
+
+pci:v000014E4d0000080B*
+ ID_MODEL_FROM_DATABASE=Sentry5 Crypto Accelerator
+
+pci:v000014E4d0000080F*
+ ID_MODEL_FROM_DATABASE=Sentry5 DDR/SDR RAM Controller
+
+pci:v000014E4d00000811*
+ ID_MODEL_FROM_DATABASE=Sentry5 External Interface Core
+
+pci:v000014E4d00000816*
+ ID_MODEL_FROM_DATABASE=BCM3302 Sentry5 MIPS32 CPU
+
+pci:v000014E4d00001600*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express
+
+pci:v000014E4d00001600sv00001028sd000001C1*
+ ID_MODEL_FROM_DATABASE=Precision 490
+
+pci:v000014E4d00001600sv00001028sd000001C2*
+ ID_MODEL_FROM_DATABASE=Latitude D620
+
+pci:v000014E4d00001600sv0000103Csd00003015*
+ ID_MODEL_FROM_DATABASE=PCIe LAN on Motherboard
+
+pci:v000014E4d00001600sv0000107Bsd00005048*
+ ID_MODEL_FROM_DATABASE=E4500 Onboard
+
+pci:v000014E4d00001600sv00001259sd00002705*
+ ID_MODEL_FROM_DATABASE=AT-2711FX
+
+pci:v000014E4d00001601*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752M Gigabit Ethernet PCI Express
+
+pci:v000014E4d00001612*
+ ID_MODEL_FROM_DATABASE=BCM70012 Video Decoder [Crystal HD]
+
+pci:v000014E4d00001615*
+ ID_MODEL_FROM_DATABASE=BCM70015 Video Decoder [Crystal HD]
+
+pci:v000014E4d00001639*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet
+
+pci:v000014E4d00001639sv00001028sd00000235*
+ ID_MODEL_FROM_DATABASE=PowerEdge R710 BCM5709 Gigabit Ethernet
+
+pci:v000014E4d00001639sv00001028sd00000236*
+ ID_MODEL_FROM_DATABASE=PowerEdge R610 BCM5709 Gigabit Ethernet
+
+pci:v000014E4d00001639sv00001028sd00000237*
+ ID_MODEL_FROM_DATABASE=PowerEdge T610 BCM5709 Gigabit Ethernet
+
+pci:v000014E4d00001639sv0000103Csd00007055*
+ ID_MODEL_FROM_DATABASE=NC382i Integrated Multi-port PCI Express Gigabit Server Adapter
+
+pci:v000014E4d00001639sv0000103Csd00007059*
+ ID_MODEL_FROM_DATABASE=NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter
+
+pci:v000014E4d00001639sv000010A9sd00008027*
+ ID_MODEL_FROM_DATABASE=Quad port Gigabit Ethernet Controller
+
+pci:v000014E4d0000163A*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet
+
+pci:v000014E4d0000163Asv00001028sd0000027B*
+ ID_MODEL_FROM_DATABASE=PowerEdge M805 Broadcom NetXtreme II BCM5709S
+
+pci:v000014E4d0000163Asv00001028sd0000029C*
+ ID_MODEL_FROM_DATABASE=PowerEdge M710 BCM5709S Gigabit Ethernet
+
+pci:v000014E4d0000163Asv0000103Csd0000171D*
+ ID_MODEL_FROM_DATABASE=NC382m Dual Port 1GbE Multifunction BL-c Adapter
+
+pci:v000014E4d0000163Asv0000103Csd00007056*
+ ID_MODEL_FROM_DATABASE=NC382i Integrated Quad Port PCI Express Gigabit Server Adapter
+
+pci:v000014E4d0000163B*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet
+
+pci:v000014E4d0000163Bsv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 BCM5716 Gigabit Ethernet
+
+pci:v000014E4d0000163Bsv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 BCM5716 Gigabit Ethernet
+
+pci:v000014E4d0000163Bsv00001028sd000002F1*
+ ID_MODEL_FROM_DATABASE=PowerEdge R510 BCM5716 Gigabit Ethernet
+
+pci:v000014E4d0000163C*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716S Gigabit Ethernet
+
+pci:v000014E4d0000163D*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57811 10-Gigabit Ethernet
+
+pci:v000014E4d0000163E*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57811 10 Gigabit Ethernet Multi Function
+
+pci:v000014E4d0000163F*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57811 10-Gigabit Ethernet Virtual Function
+
+pci:v000014E4d00001641*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM57787 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001642*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM57764 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001643*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5725 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001644*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet
+
+pci:v000014E4d00001644sv00001014sd00000277*
+ ID_MODEL_FROM_DATABASE=Broadcom Vigil B5700 1000Base-T
+
+pci:v000014E4d00001644sv00001028sd000000D1*
+ ID_MODEL_FROM_DATABASE=Broadcom BCM5700
+
+pci:v000014E4d00001644sv00001028sd00000106*
+ ID_MODEL_FROM_DATABASE=Broadcom BCM5700
+
+pci:v000014E4d00001644sv00001028sd00000109*
+ ID_MODEL_FROM_DATABASE=Broadcom BCM5700 1000Base-T
+
+pci:v000014E4d00001644sv00001028sd0000010A*
+ ID_MODEL_FROM_DATABASE=Broadcom BCM5700 1000BaseTX
+
+pci:v000014E4d00001644sv000010B7sd00001000*
+ ID_MODEL_FROM_DATABASE=3C996-T 1000Base-T
+
+pci:v000014E4d00001644sv000010B7sd00001001*
+ ID_MODEL_FROM_DATABASE=3C996B-T 1000Base-T
+
+pci:v000014E4d00001644sv000010B7sd00001002*
+ ID_MODEL_FROM_DATABASE=3C996C-T 1000Base-T
+
+pci:v000014E4d00001644sv000010B7sd00001003*
+ ID_MODEL_FROM_DATABASE=3C997-T 1000Base-T Dual Port
+
+pci:v000014E4d00001644sv000010B7sd00001004*
+ ID_MODEL_FROM_DATABASE=3C996-SX 1000Base-SX
+
+pci:v000014E4d00001644sv000010B7sd00001005*
+ ID_MODEL_FROM_DATABASE=3C997-SX 1000Base-SX Dual Port
+
+pci:v000014E4d00001644sv000010B7sd00001008*
+ ID_MODEL_FROM_DATABASE=3C942 Gigabit LOM (31X31)
+
+pci:v000014E4d00001644sv000014E4sd00000002*
+ ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-SX
+
+pci:v000014E4d00001644sv000014E4sd00000003*
+ ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-SX
+
+pci:v000014E4d00001644sv000014E4sd00000004*
+ ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-T
+
+pci:v000014E4d00001644sv000014E4sd00001028*
+ ID_MODEL_FROM_DATABASE=NetXtreme 1000BaseTX
+
+pci:v000014E4d00001644sv000014E4sd00001644*
+ ID_MODEL_FROM_DATABASE=BCM5700 1000Base-T
+
+pci:v000014E4d00001645*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet
+
+pci:v000014E4d00001645sv00000E11sd0000007C*
+ ID_MODEL_FROM_DATABASE=NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)
+
+pci:v000014E4d00001645sv00000E11sd0000007D*
+ ID_MODEL_FROM_DATABASE=NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)
+
+pci:v000014E4d00001645sv00000E11sd00000085*
+ ID_MODEL_FROM_DATABASE=NC7780 Gigabit Server Adapter (embedded, WOL)
+
+pci:v000014E4d00001645sv00000E11sd00000099*
+ ID_MODEL_FROM_DATABASE=NC7780 Gigabit Server Adapter (embedded, WOL)
+
+pci:v000014E4d00001645sv00000E11sd0000009A*
+ ID_MODEL_FROM_DATABASE=NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)
+
+pci:v000014E4d00001645sv00000E11sd000000C1*
+ ID_MODEL_FROM_DATABASE=NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)
+
+pci:v000014E4d00001645sv00001028sd00000121*
+ ID_MODEL_FROM_DATABASE=Broadcom BCM5701 1000Base-T
+
+pci:v000014E4d00001645sv0000103Csd0000128A*
+ ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T (HP, OEM 3COM)
+
+pci:v000014E4d00001645sv0000103Csd0000128B*
+ ID_MODEL_FROM_DATABASE=1000Base-SX (PCI) [A7073A]
+
+pci:v000014E4d00001645sv0000103Csd000012A4*
+ ID_MODEL_FROM_DATABASE=Core Lan 1000Base-T
+
+pci:v000014E4d00001645sv0000103Csd000012C1*
+ ID_MODEL_FROM_DATABASE=IOX Core Lan 1000Base-T [A7109AX]
+
+pci:v000014E4d00001645sv0000103Csd00001300*
+ ID_MODEL_FROM_DATABASE=Core LAN/SCSI Combo [A6794A]
+
+pci:v000014E4d00001645sv000010A9sd00008010*
+ ID_MODEL_FROM_DATABASE=IO9/IO10 Gigabit Ethernet (Copper)
+
+pci:v000014E4d00001645sv000010A9sd00008011*
+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet (Copper)
+
+pci:v000014E4d00001645sv000010A9sd00008012*
+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet (Fiber)
+
+pci:v000014E4d00001645sv000010B7sd00001004*
+ ID_MODEL_FROM_DATABASE=3C996-SX 1000Base-SX
+
+pci:v000014E4d00001645sv000010B7sd00001006*
+ ID_MODEL_FROM_DATABASE=3C996B-T 1000Base-T
+
+pci:v000014E4d00001645sv000010B7sd00001007*
+ ID_MODEL_FROM_DATABASE=3C1000-T 1000Base-T
+
+pci:v000014E4d00001645sv000010B7sd00001008*
+ ID_MODEL_FROM_DATABASE=3C940-BR01 1000Base-T
+
+pci:v000014E4d00001645sv000014E4sd00000001*
+ ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T
+
+pci:v000014E4d00001645sv000014E4sd00000005*
+ ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T
+
+pci:v000014E4d00001645sv000014E4sd00000006*
+ ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T
+
+pci:v000014E4d00001645sv000014E4sd00000007*
+ ID_MODEL_FROM_DATABASE=BCM5701 1000Base-SX
+
+pci:v000014E4d00001645sv000014E4sd00000008*
+ ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T
+
+pci:v000014E4d00001645sv000014E4sd00001645*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet
+
+pci:v000014E4d00001645sv000014E4sd00008008*
+ ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T
+
+pci:v000014E4d00001646*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet
+
+pci:v000014E4d00001646sv00000E11sd000000BB*
+ ID_MODEL_FROM_DATABASE=NC7760 1000BaseTX
+
+pci:v000014E4d00001646sv00001028sd00000126*
+ ID_MODEL_FROM_DATABASE=Broadcom BCM5702 1000BaseTX
+
+pci:v000014E4d00001646sv000014E4sd00008009*
+ ID_MODEL_FROM_DATABASE=BCM5702 1000BaseTX
+
+pci:v000014E4d00001647*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet
+
+pci:v000014E4d00001647sv00000E11sd00000099*
+ ID_MODEL_FROM_DATABASE=NC7780 1000BaseTX
+
+pci:v000014E4d00001647sv00000E11sd0000009A*
+ ID_MODEL_FROM_DATABASE=NC7770 1000BaseTX
+
+pci:v000014E4d00001647sv000010A9sd00008010*
+ ID_MODEL_FROM_DATABASE=SGI IO9 Gigabit Ethernet (Copper)
+
+pci:v000014E4d00001647sv000014E4sd00000009*
+ ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX
+
+pci:v000014E4d00001647sv000014E4sd0000000A*
+ ID_MODEL_FROM_DATABASE=BCM5703 1000BaseSX
+
+pci:v000014E4d00001647sv000014E4sd0000000B*
+ ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX
+
+pci:v000014E4d00001647sv000014E4sd00008009*
+ ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX
+
+pci:v000014E4d00001647sv000014E4sd0000800A*
+ ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX
+
+pci:v000014E4d00001648*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet
+
+pci:v000014E4d00001648sv00000E11sd000000CF*
+ ID_MODEL_FROM_DATABASE=NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
+
+pci:v000014E4d00001648sv00000E11sd000000D0*
+ ID_MODEL_FROM_DATABASE=NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
+
+pci:v000014E4d00001648sv00000E11sd000000D1*
+ ID_MODEL_FROM_DATABASE=NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
+
+pci:v000014E4d00001648sv00001028sd0000014A*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1750
+
+pci:v000014E4d00001648sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 Broadcom NetXtreme BCM5704
+
+pci:v000014E4d00001648sv0000103Csd0000310F*
+ ID_MODEL_FROM_DATABASE=NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
+
+pci:v000014E4d00001648sv000010A9sd00008013*
+ ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (PCI-X,Copper)
+
+pci:v000014E4d00001648sv000010A9sd00008018*
+ ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (A330)
+
+pci:v000014E4d00001648sv000010A9sd0000801A*
+ ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (IA-blade)
+
+pci:v000014E4d00001648sv000010A9sd0000801B*
+ ID_MODEL_FROM_DATABASE=Quad Port Gigabit Ethernet (PCI-E,Copper)
+
+pci:v000014E4d00001648sv000010B7sd00002000*
+ ID_MODEL_FROM_DATABASE=3C998-T Dual Port 10/100/1000 PCI-X
+
+pci:v000014E4d00001648sv000010B7sd00003000*
+ ID_MODEL_FROM_DATABASE=3C999-T Quad Port 10/100/1000 PCI-X
+
+pci:v000014E4d00001648sv00001166sd00001648*
+ ID_MODEL_FROM_DATABASE=NetXtreme CIOB-E 1000Base-T
+
+pci:v000014E4d00001648sv00001734sd0000100B*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard LAN
+
+pci:v000014E4d00001649*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S_2 Gigabit Ethernet
+
+pci:v000014E4d0000164A*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet
+
+pci:v000014E4d0000164Asv0000103Csd00001709*
+ ID_MODEL_FROM_DATABASE=NC371i Integrated PCI-X Multifunction Gigabit Server Adapter
+
+pci:v000014E4d0000164Asv0000103Csd00003070*
+ ID_MODEL_FROM_DATABASE=NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter
+
+pci:v000014E4d0000164Asv0000103Csd00003101*
+ ID_MODEL_FROM_DATABASE=NC370T MultifuNCtion Gigabit Server Adapter
+
+pci:v000014E4d0000164Asv0000103Csd00003106*
+ ID_MODEL_FROM_DATABASE=NC370i Multifunction Gigabit Server Adapter
+
+pci:v000014E4d0000164C*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet
+
+pci:v000014E4d0000164Csv00001028sd000001F0*
+ ID_MODEL_FROM_DATABASE=PowerEdge R900 Broadcom NetXtreme II BCM5708
+
+pci:v000014E4d0000164Csv00001028sd00000205*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2970 Broadcom NetXtreme II BCM5708
+
+pci:v000014E4d0000164Csv00001028sd0000020B*
+ ID_MODEL_FROM_DATABASE=PowerEdge T605 Broadcom NetXtreme II BCM5708
+
+pci:v000014E4d0000164Csv00001028sd00000221*
+ ID_MODEL_FROM_DATABASE=PowerEdge R805 Broadcom NetXtreme II BCM5708
+
+pci:v000014E4d0000164Csv00001028sd00000223*
+ ID_MODEL_FROM_DATABASE=PowerEdge R905 Broadcom NetXtreme II BCM5708
+
+pci:v000014E4d0000164Csv00001028sd00001F12*
+ ID_MODEL_FROM_DATABASE=PowerEdge R805/R905 Broadcom NetXtreme II BCM5708
+
+pci:v000014E4d0000164Csv0000103Csd00007037*
+ ID_MODEL_FROM_DATABASE=NC373T PCI Express Multifunction Gigabit Server Adapter
+
+pci:v000014E4d0000164Csv0000103Csd00007038*
+ ID_MODEL_FROM_DATABASE=NC373i Integrated Multifunction Gigabit Server Adapter
+
+pci:v000014E4d0000164Csv0000103Csd00007045*
+ ID_MODEL_FROM_DATABASE=NC374m PCI Express Dual Port Multifunction Gigabit Server Adapter
+
+pci:v000014E4d0000164D*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702FE Gigabit Ethernet
+
+pci:v000014E4d0000164E*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest]
+
+pci:v000014E4d0000164Esv0000103Csd0000171C*
+ ID_MODEL_FROM_DATABASE=NC532m Dual Port 10GbE Multifunction BL-C Adapter
+
+pci:v000014E4d0000164Esv0000103Csd00007058*
+ ID_MODEL_FROM_DATABASE=NC532i Dual Port 10GbE Multifunction BL-C Adapter
+
+pci:v000014E4d0000164F*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711 10-Gigabit PCIe
+
+pci:v000014E4d00001650*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe
+
+pci:v000014E4d00001650sv0000103Csd0000171C*
+ ID_MODEL_FROM_DATABASE=NC532m Dual Port 10GbE Multifunction BL-C Adapter
+
+pci:v000014E4d00001650sv0000103Csd00007058*
+ ID_MODEL_FROM_DATABASE=NC532i Dual Port 10GbE Multifunction BL-C Adapter
+
+pci:v000014E4d00001653*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet
+
+pci:v000014E4d00001653sv00000E11sd000000E3*
+ ID_MODEL_FROM_DATABASE=NC7761 Gigabit Server Adapter
+
+pci:v000014E4d00001653sv00001734sd00001073*
+ ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard
+
+pci:v000014E4d00001654*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet
+
+pci:v000014E4d00001654sv00000E11sd000000E3*
+ ID_MODEL_FROM_DATABASE=NC7761 Gigabit Server Adapter
+
+pci:v000014E4d00001654sv0000103Csd00003100*
+ ID_MODEL_FROM_DATABASE=NC1020 ProLiant Gigabit Server Adapter 32 PCI
+
+pci:v000014E4d00001654sv0000103Csd00003226*
+ ID_MODEL_FROM_DATABASE=NC150T 4-port Gigabit Combo Switch & Adapter
+
+pci:v000014E4d00001655*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5717 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001656*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5718 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001657*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5719 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001659*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express
+
+pci:v000014E4d00001659sv00001014sd000002C6*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v000014E4d00001659sv00001028sd000001E6*
+ ID_MODEL_FROM_DATABASE=PowerEdge 860
+
+pci:v000014E4d00001659sv00001028sd0000023C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R200 Broadcom NetXtreme BCM5721
+
+pci:v000014E4d00001659sv0000103Csd0000170B*
+ ID_MODEL_FROM_DATABASE=NC320m PCI Express Dual Port Gigabit Server Adapter
+
+pci:v000014E4d00001659sv0000103Csd00007031*
+ ID_MODEL_FROM_DATABASE=NC320T PCIe Gigabit Server Adapter
+
+pci:v000014E4d00001659sv0000103Csd00007032*
+ ID_MODEL_FROM_DATABASE=NC320i PCIe Gigabit Server Adapter
+
+pci:v000014E4d00001659sv00001734sd00001061*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard LAN
+
+pci:v000014E4d0000165A*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express
+
+pci:v000014E4d0000165Asv00001014sd00000378*
+ ID_MODEL_FROM_DATABASE=IBM System x3350 (Machine type 4192)
+
+pci:v000014E4d0000165Asv00001028sd0000020F*
+ ID_MODEL_FROM_DATABASE=PowerEdge R300 Broadcom NetXtreme 5722
+
+pci:v000014E4d0000165Asv00001028sd00000210*
+ ID_MODEL_FROM_DATABASE=PowerEdge T300 Broadcom NetXtreme 5722
+
+pci:v000014E4d0000165Asv00001028sd00000225*
+ ID_MODEL_FROM_DATABASE=PowerEdge T105 Broadcom NetXtreme 5722
+
+pci:v000014E4d0000165Asv0000103Csd00007051*
+ ID_MODEL_FROM_DATABASE=NC105i PCIe Gigabit Server Adapter
+
+pci:v000014E4d0000165Asv0000103Csd00007052*
+ ID_MODEL_FROM_DATABASE=NC105T PCIe Gigabit Server Adapter
+
+pci:v000014E4d0000165B*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5723 Gigabit Ethernet PCIe
+
+pci:v000014E4d0000165Bsv0000103Csd0000705D*
+ ID_MODEL_FROM_DATABASE=NC107i Integrated PCI Express Gigabit Server Adapter
+
+pci:v000014E4d0000165C*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5724 Gigabit Ethernet PCIe
+
+pci:v000014E4d0000165D*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet
+
+pci:v000014E4d0000165Dsv00001028sd0000865D*
+ ID_MODEL_FROM_DATABASE=Latitude D400
+
+pci:v000014E4d0000165Dsv000014E4sd0000165D*
+ ID_MODEL_FROM_DATABASE=Dell Latitude D600
+
+pci:v000014E4d0000165E*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet
+
+pci:v000014E4d0000165Esv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v000014E4d0000165Esv0000103Csd00000890*
+ ID_MODEL_FROM_DATABASE=NC6000 laptop
+
+pci:v000014E4d0000165Esv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v000014E4d0000165Esv000010CFsd00001279*
+ ID_MODEL_FROM_DATABASE=LifeBook E8010D
+
+pci:v000014E4d0000165F*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5720 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001662*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57712 10 Gigabit Ethernet
+
+pci:v000014E4d00001663*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57712 10 Gigabit Ethernet Multi Function
+
+pci:v000014E4d00001665*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5717 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001668*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5714 Gigabit Ethernet
+
+pci:v000014E4d00001668sv0000103Csd00007039*
+ ID_MODEL_FROM_DATABASE=NC324i PCIe Dual Port Gigabit Server Adapter
+
+pci:v000014E4d00001669*
+ ID_MODEL_FROM_DATABASE=NetXtreme 5714S Gigabit Ethernet
+
+pci:v000014E4d0000166A*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5780 Gigabit Ethernet
+
+pci:v000014E4d0000166Asv0000103Csd00007035*
+ ID_MODEL_FROM_DATABASE=NC325i Integrated Dual port PCIe Express Gigabit Server Adapter
+
+pci:v000014E4d0000166B*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5780S Gigabit Ethernet
+
+pci:v000014E4d0000166E*
+ ID_MODEL_FROM_DATABASE=570x 10/100 Integrated Controller
+
+pci:v000014E4d0000166F*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57712 10 Gigabit Ethernet Virtual Function
+
+pci:v000014E4d00001672*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754M Gigabit Ethernet PCI Express
+
+pci:v000014E4d00001673*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5755M Gigabit Ethernet PCI Express
+
+pci:v000014E4d00001674*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5756ME Gigabit Ethernet PCI Express
+
+pci:v000014E4d00001677*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express
+
+pci:v000014E4d00001677sv00001028sd00000176*
+ ID_MODEL_FROM_DATABASE=Dimension XPS Gen 4
+
+pci:v000014E4d00001677sv00001028sd00000177*
+ ID_MODEL_FROM_DATABASE=Dimension 8400
+
+pci:v000014E4d00001677sv00001028sd00000179*
+ ID_MODEL_FROM_DATABASE=Optiplex GX280
+
+pci:v000014E4d00001677sv00001028sd00000182*
+ ID_MODEL_FROM_DATABASE=Latitude D610
+
+pci:v000014E4d00001677sv00001028sd00000187*
+ ID_MODEL_FROM_DATABASE=Precision M70
+
+pci:v000014E4d00001677sv00001028sd000001A8*
+ ID_MODEL_FROM_DATABASE=Precision 380
+
+pci:v000014E4d00001677sv00001028sd000001AD*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX620
+
+pci:v000014E4d00001677sv0000103Csd00003006*
+ ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV)
+
+pci:v000014E4d00001677sv00001462sd0000028C*
+ ID_MODEL_FROM_DATABASE=915P/G Neo2
+
+pci:v000014E4d00001677sv00001734sd0000105D*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v000014E4d00001678*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715 Gigabit Ethernet
+
+pci:v000014E4d00001678sv0000103Csd0000703E*
+ ID_MODEL_FROM_DATABASE=NC326i PCIe Dual Port Gigabit Server Adapter
+
+pci:v000014E4d00001679*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet
+
+pci:v000014E4d00001679sv0000103Csd00001707*
+ ID_MODEL_FROM_DATABASE=NC326m PCIe Dual Port Adapter
+
+pci:v000014E4d00001679sv0000103Csd0000170C*
+ ID_MODEL_FROM_DATABASE=NC325m PCIe Quad Port Adapter
+
+pci:v000014E4d00001679sv0000103Csd0000703C*
+ ID_MODEL_FROM_DATABASE=NC326i PCIe Dual Port Gigabit Server Adapter
+
+pci:v000014E4d0000167A*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express
+
+pci:v000014E4d0000167Asv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v000014E4d0000167Asv00001028sd000001DE*
+ ID_MODEL_FROM_DATABASE=Precision 390
+
+pci:v000014E4d0000167Asv00001028sd000001DF*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC440
+
+pci:v000014E4d0000167Asv00001028sd00000214*
+ ID_MODEL_FROM_DATABASE=Precision T3400
+
+pci:v000014E4d0000167Asv00001028sd0000021E*
+ ID_MODEL_FROM_DATABASE=Precision T5400
+
+pci:v000014E4d0000167B*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5755 Gigabit Ethernet PCI Express
+
+pci:v000014E4d0000167Bsv0000103Csd0000280A*
+ ID_MODEL_FROM_DATABASE=DC5750 Microtower
+
+pci:v000014E4d0000167D*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express
+
+pci:v000014E4d0000167Dsv00001014sd00000577*
+ ID_MODEL_FROM_DATABASE=ThinkPad Z60t
+
+pci:v000014E4d0000167Dsv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=HP nx8220
+
+pci:v000014E4d0000167Dsv0000103Csd00000940*
+ ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation
+
+pci:v000014E4d0000167Dsv000017AAsd00002081*
+ ID_MODEL_FROM_DATABASE=ThinkPad R60e
+
+pci:v000014E4d0000167E*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751F Fast Ethernet PCI Express
+
+pci:v000014E4d0000167F*
+ ID_MODEL_FROM_DATABASE=NetLink BCM5787F Fast Ethernet PCI Express
+
+pci:v000014E4d00001680*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5761e Gigabit Ethernet PCIe
+
+pci:v000014E4d00001681*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5761 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001682*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM57762 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001683*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM57767 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001684*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5764M Gigabit Ethernet PCIe
+
+pci:v000014E4d00001685*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57500S Gigabit Ethernet
+
+pci:v000014E4d00001686*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM57766 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001687*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5762 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001688*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5761 10/100/1000BASE-T Ethernet
+
+pci:v000014E4d00001688sv00001259sd00002708*
+ ID_MODEL_FROM_DATABASE=AT-2712 FX
+
+pci:v000014E4d0000168A*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet
+
+pci:v000014E4d0000168Asv00001028sd00001F5C*
+ ID_MODEL_FROM_DATABASE=BCM57800 10-Gigabit Ethernet
+
+pci:v000014E4d0000168Asv00001028sd00001F5D*
+ ID_MODEL_FROM_DATABASE=BCM57800 10-Gigabit Ethernet
+
+pci:v000014E4d0000168Asv00001028sd00001F67*
+ ID_MODEL_FROM_DATABASE=BCM57800 1-Gigabit Ethernet
+
+pci:v000014E4d0000168Asv00001028sd00001F68*
+ ID_MODEL_FROM_DATABASE=BCM57800 1-Gigabit Ethernet
+
+pci:v000014E4d0000168D*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet
+
+pci:v000014E4d0000168E*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet
+
+pci:v000014E4d0000168Esv0000103Csd00001798*
+ ID_MODEL_FROM_DATABASE=Flex-10 10Gb 2-port 530FLB Adapter [Meru]
+
+pci:v000014E4d00001690*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM57760 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001691*
+ ID_MODEL_FROM_DATABASE=NetLink BCM57788 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001691sv00001028sd000004AA*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v000014E4d00001692*
+ ID_MODEL_FROM_DATABASE=NetLink BCM57780 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001692sv00001025sd0000033D*
+ ID_MODEL_FROM_DATABASE=Aspire 7740G
+
+pci:v000014E4d00001693*
+ ID_MODEL_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express
+
+pci:v000014E4d00001693sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v000014E4d00001693sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=6710b
+
+pci:v000014E4d00001694*
+ ID_MODEL_FROM_DATABASE=NetLink BCM57790 Gigabit Ethernet PCIe
+
+pci:v000014E4d00001696*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet
+
+pci:v000014E4d00001696sv0000103Csd000012BC*
+ ID_MODEL_FROM_DATABASE=d530 CMT (DG746A)
+
+pci:v000014E4d00001696sv000014E4sd0000000D*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 1000Base-T
+
+pci:v000014E4d00001698*
+ ID_MODEL_FROM_DATABASE=NetLink BCM5784M Gigabit Ethernet PCIe
+
+pci:v000014E4d00001699*
+ ID_MODEL_FROM_DATABASE=NetLink BCM5785 Gigabit Ethernet
+
+pci:v000014E4d0000169A*
+ ID_MODEL_FROM_DATABASE=NetLink BCM5786 Gigabit Ethernet PCI Express
+
+pci:v000014E4d0000169B*
+ ID_MODEL_FROM_DATABASE=NetLink BCM5787 Gigabit Ethernet PCI Express
+
+pci:v000014E4d0000169C*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet
+
+pci:v000014E4d0000169Csv0000103Csd0000308B*
+ ID_MODEL_FROM_DATABASE=MX6125
+
+pci:v000014E4d0000169Csv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v000014E4d0000169Csv0000144Dsd0000C018*
+ ID_MODEL_FROM_DATABASE=X20
+
+pci:v000014E4d0000169Csv00001462sd0000590C*
+ ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
+
+pci:v000014E4d0000169D*
+ ID_MODEL_FROM_DATABASE=NetLink BCM5789 Gigabit Ethernet PCI Express
+
+pci:v000014E4d000016A0*
+ ID_MODEL_FROM_DATABASE=NetLink BCM5785 Fast Ethernet
+
+pci:v000014E4d000016A1*
+ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10 Gigabit Ethernet
+
+pci:v000014E4d000016A2*
+ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet
+
+pci:v000014E4d000016A4*
+ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function
+
+pci:v000014E4d000016A5*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function
+
+pci:v000014E4d000016A5sv00001028sd00001F5C*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function
+
+pci:v000014E4d000016A5sv00001028sd00001F5D*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function
+
+pci:v000014E4d000016A5sv00001028sd00001F67*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function
+
+pci:v000014E4d000016A5sv00001028sd00001F68*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function
+
+pci:v000014E4d000016A6*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet
+
+pci:v000014E4d000016A6sv00000E11sd000000BB*
+ ID_MODEL_FROM_DATABASE=NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T)
+
+pci:v000014E4d000016A6sv00001028sd00000126*
+ ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T
+
+pci:v000014E4d000016A6sv000014E4sd0000000C*
+ ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T
+
+pci:v000014E4d000016A6sv000014E4sd00008009*
+ ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T
+
+pci:v000014E4d000016A7*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet
+
+pci:v000014E4d000016A7sv00000E11sd000000CA*
+ ID_MODEL_FROM_DATABASE=NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
+
+pci:v000014E4d000016A7sv00000E11sd000000CB*
+ ID_MODEL_FROM_DATABASE=NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
+
+pci:v000014E4d000016A7sv00001014sd0000026F*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v000014E4d000016A7sv000014E4sd00000009*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T
+
+pci:v000014E4d000016A7sv000014E4sd0000000A*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-SX
+
+pci:v000014E4d000016A7sv000014E4sd0000000B*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T
+
+pci:v000014E4d000016A7sv000014E4sd0000800A*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T
+
+pci:v000014E4d000016A8*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet
+
+pci:v000014E4d000016A8sv0000103Csd0000132B*
+ ID_MODEL_FROM_DATABASE=PCI-X 1000Mbps Dual-port Built-in
+
+pci:v000014E4d000016A8sv000010A9sd00008014*
+ ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (PCI-X,Fiber)
+
+pci:v000014E4d000016A8sv000010A9sd0000801C*
+ ID_MODEL_FROM_DATABASE=Quad Port Gigabit Ethernet (PCI-E,Fiber)
+
+pci:v000014E4d000016A8sv000010B7sd00002001*
+ ID_MODEL_FROM_DATABASE=3C998-SX Dual Port 1000-SX PCI-X
+
+pci:v000014E4d000016A9*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function
+
+pci:v000014E4d000016A9sv00001028sd00001F5C*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function
+
+pci:v000014E4d000016A9sv00001028sd00001F5D*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function
+
+pci:v000014E4d000016A9sv00001028sd00001F67*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function
+
+pci:v000014E4d000016A9sv00001028sd00001F68*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function
+
+pci:v000014E4d000016AA*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet
+
+pci:v000014E4d000016AAsv0000103Csd00003102*
+ ID_MODEL_FROM_DATABASE=NC370F MultifuNCtion Gigabit Server Adapter
+
+pci:v000014E4d000016AAsv0000103Csd0000310C*
+ ID_MODEL_FROM_DATABASE=NC370i Multifunction Gigabit Server Adapter
+
+pci:v000014E4d000016AB*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Multi Function
+
+pci:v000014E4d000016AC*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet
+
+pci:v000014E4d000016ACsv00001014sd00000304*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet
+
+pci:v000014E4d000016ACsv00001028sd000001BB*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1955 Broadcom NetXtreme II BCM5708S
+
+pci:v000014E4d000016ACsv00001028sd0000020C*
+ ID_MODEL_FROM_DATABASE=PowerEdge M605 Broadcom NetXtreme II BCM5708S
+
+pci:v000014E4d000016ACsv0000103Csd00001706*
+ ID_MODEL_FROM_DATABASE=NC373m Multifunction Gigabit Server Adapter
+
+pci:v000014E4d000016ACsv0000103Csd00007038*
+ ID_MODEL_FROM_DATABASE=NC373i PCI Express Multifunction Gigabit Server Adapter
+
+pci:v000014E4d000016ACsv0000103Csd0000703B*
+ ID_MODEL_FROM_DATABASE=NC373i Integrated Multifunction Gigabit Server Adapter
+
+pci:v000014E4d000016ACsv0000103Csd0000703D*
+ ID_MODEL_FROM_DATABASE=NC373F PCI Express Multifunction Gigabit Server Adapter
+
+pci:v000014E4d000016AD*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function
+
+pci:v000014E4d000016AE*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function
+
+pci:v000014E4d000016AF*
+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function
+
+pci:v000014E4d000016B0*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM57761 Gigabit Ethernet PCIe
+
+pci:v000014E4d000016B1*
+ ID_MODEL_FROM_DATABASE=NetLink BCM57781 Gigabit Ethernet PCIe
+
+pci:v000014E4d000016B2*
+ ID_MODEL_FROM_DATABASE=NetLink BCM57791 Gigabit Ethernet PCIe
+
+pci:v000014E4d000016B3*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM57786 Gigabit Ethernet PCIe
+
+pci:v000014E4d000016B4*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM57765 Gigabit Ethernet PCIe
+
+pci:v000014E4d000016B5*
+ ID_MODEL_FROM_DATABASE=NetLink BCM57785 Gigabit Ethernet PCIe
+
+pci:v000014E4d000016B6*
+ ID_MODEL_FROM_DATABASE=NetLink BCM57795 Gigabit Ethernet PCIe
+
+pci:v000014E4d000016B7*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM57782 Gigabit Ethernet PCIe
+
+pci:v000014E4d000016BC*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM57765 Memory Card Reader
+
+pci:v000014E4d000016C6*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet
+
+pci:v000014E4d000016C6sv000010B7sd00001100*
+ ID_MODEL_FROM_DATABASE=3C1000B-T 10/100/1000 PCI
+
+pci:v000014E4d000016C6sv000014E4sd0000000C*
+ ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T
+
+pci:v000014E4d000016C6sv000014E4sd00008009*
+ ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T
+
+pci:v000014E4d000016C7*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet
+
+pci:v000014E4d000016C7sv00000E11sd000000CA*
+ ID_MODEL_FROM_DATABASE=NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
+
+pci:v000014E4d000016C7sv00000E11sd000000CB*
+ ID_MODEL_FROM_DATABASE=NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
+
+pci:v000014E4d000016C7sv0000103Csd000012C3*
+ ID_MODEL_FROM_DATABASE=Combo FC/GigE-SX [A9782A]
+
+pci:v000014E4d000016C7sv0000103Csd000012CA*
+ ID_MODEL_FROM_DATABASE=Combo FC/GigE-T [A9784A]
+
+pci:v000014E4d000016C7sv0000103Csd00001321*
+ ID_MODEL_FROM_DATABASE=Core I/O LAN/SCSI Combo [AB314A]
+
+pci:v000014E4d000016C7sv000014E4sd00000009*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T
+
+pci:v000014E4d000016C7sv000014E4sd0000000A*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-SX
+
+pci:v000014E4d000016DD*
+ ID_MODEL_FROM_DATABASE=NetLink BCM5781 Gigabit Ethernet PCI Express
+
+pci:v000014E4d000016F3*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5727 Gigabit Ethernet PCIe
+
+pci:v000014E4d000016F7*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5753 Gigabit Ethernet PCI Express
+
+pci:v000014E4d000016FD*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express
+
+pci:v000014E4d000016FDsv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v000014E4d000016FDsv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v000014E4d000016FE*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5753F Fast Ethernet PCI Express
+
+pci:v000014E4d0000170C*
+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX
+
+pci:v000014E4d0000170Csv00001028sd00000188*
+ ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop
+
+pci:v000014E4d0000170Csv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v000014E4d0000170Csv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v000014E4d0000170Csv00001028sd000001AF*
+ ID_MODEL_FROM_DATABASE=Inspiron 6400
+
+pci:v000014E4d0000170Csv00001028sd000001CD*
+ ID_MODEL_FROM_DATABASE=Inspiron 9400 Laptop
+
+pci:v000014E4d0000170Csv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v000014E4d0000170Csv00001028sd000001D8*
+ ID_MODEL_FROM_DATABASE=Inspiron E1405
+
+pci:v000014E4d0000170Csv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v000014E4d0000170Csv0000103Csd000030A2*
+ ID_MODEL_FROM_DATABASE=NX7300 laptop
+
+pci:v000014E4d0000170Csv000014E4sd0000170C*
+ ID_MODEL_FROM_DATABASE=HP Compaq 6720t Mobile Thin Client
+
+pci:v000014E4d0000170D*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX
+
+pci:v000014E4d0000170Dsv00001014sd00000545*
+ ID_MODEL_FROM_DATABASE=ThinkPad R40e
+
+pci:v000014E4d0000170E*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX
+
+pci:v000014E4d00001712*
+ ID_MODEL_FROM_DATABASE=NetLink BCM5906 Fast Ethernet PCI Express
+
+pci:v000014E4d00001713*
+ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express
+
+pci:v000014E4d00001713sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v000014E4d00001713sv00001028sd00000209*
+ ID_MODEL_FROM_DATABASE=XPS M1330
+
+pci:v000014E4d00001713sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v000014E4d00001713sv000017AAsd00003A23*
+ ID_MODEL_FROM_DATABASE=IdeaPad S10e
+
+pci:v000014E4d00003352*
+ ID_MODEL_FROM_DATABASE=BCM3352
+
+pci:v000014E4d00003360*
+ ID_MODEL_FROM_DATABASE=BCM3360
+
+pci:v000014E4d00004210*
+ ID_MODEL_FROM_DATABASE=BCM4210 iLine10 HomePNA 2.0
+
+pci:v000014E4d00004211*
+ ID_MODEL_FROM_DATABASE=BCM4211 iLine10 HomePNA 2.0 + V.90 56k modem
+
+pci:v000014E4d00004212*
+ ID_MODEL_FROM_DATABASE=BCM4212 v.90 56k modem
+
+pci:v000014E4d00004220*
+ ID_MODEL_FROM_DATABASE=802-11b/g Wireless PCI controller, packaged as a Linksys WPC54G ver 1.2 PCMCIA card
+
+pci:v000014E4d00004222*
+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express
+
+pci:v000014E4d00004301*
+ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller
+
+pci:v000014E4d00004301sv00001028sd00000407*
+ ID_MODEL_FROM_DATABASE=TrueMobile 1180 Onboard WLAN
+
+pci:v000014E4d00004301sv00001043sd00000120*
+ ID_MODEL_FROM_DATABASE=WL-103b Wireless LAN PC Card
+
+pci:v000014E4d00004301sv000016A5sd00001602*
+ ID_MODEL_FROM_DATABASE=B-300 802.11b Wireless CardBus Adapter
+
+pci:v000014E4d00004301sv00001737sd00004301*
+ ID_MODEL_FROM_DATABASE=WMP11 v2.7 802.11b Wireless-B PCI Adapter
+
+pci:v000014E4d00004305*
+ ID_MODEL_FROM_DATABASE=BCM4307 V.90 56k Modem
+
+pci:v000014E4d00004306*
+ ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless LAN controller
+
+pci:v000014E4d00004307*
+ ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless LAN Controller
+
+pci:v000014E4d00004310*
+ ID_MODEL_FROM_DATABASE=BCM4310 Chipcommon I/OController
+
+pci:v000014E4d00004311*
+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN
+
+pci:v000014E4d00004311sv00001028sd00000007*
+ ID_MODEL_FROM_DATABASE=Wireless 1390 WLAN Mini-Card
+
+pci:v000014E4d00004311sv00001028sd00000008*
+ ID_MODEL_FROM_DATABASE=Wireless 1390 WLAN ExpressCard
+
+pci:v000014E4d00004311sv0000103Csd00001363*
+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
+
+pci:v000014E4d00004311sv0000103Csd00001364*
+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
+
+pci:v000014E4d00004311sv0000103Csd00001365*
+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
+
+pci:v000014E4d00004311sv0000103Csd00001374*
+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
+
+pci:v000014E4d00004311sv0000103Csd00001375*
+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
+
+pci:v000014E4d00004311sv0000103Csd00001376*
+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
+
+pci:v000014E4d00004311sv0000103Csd00001377*
+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
+
+pci:v000014E4d00004311sv0000103Csd0000137F*
+ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller
+
+pci:v000014E4d00004311sv0000103Csd00001380*
+ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller
+
+pci:v000014E4d00004311sv000014E4sd00004311*
+ ID_MODEL_FROM_DATABASE=BCM94311MCG
+
+pci:v000014E4d00004312*
+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g
+
+pci:v000014E4d00004312sv00001028sd00000007*
+ ID_MODEL_FROM_DATABASE=Wireless 1490 Dual Band WLAN Mini-Card
+
+pci:v000014E4d00004312sv00001028sd00000008*
+ ID_MODEL_FROM_DATABASE=Wireless 1490 Dual Band WLAN ExpressCard
+
+pci:v000014E4d00004312sv0000103Csd0000135A*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004312sv0000103Csd0000135F*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004312sv0000103Csd00001360*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004312sv0000103Csd00001361*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004312sv0000103Csd00001362*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004312sv0000103Csd00001370*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004312sv0000103Csd00001371*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004312sv0000103Csd00001372*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004312sv0000103Csd00001373*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004312sv0000103Csd000030B5*
+ ID_MODEL_FROM_DATABASE=Presario V3242AU
+
+pci:v000014E4d00004312sv0000106Bsd00000089*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004312sv00001371sd0000103C*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11 Multiband-netwerkadapter(6715s)
+
+pci:v000014E4d00004313*
+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a
+
+pci:v000014E4d00004315*
+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY
+
+pci:v000014E4d00004315sv00001028sd0000000B*
+ ID_MODEL_FROM_DATABASE=Wireless 1395 WLAN Mini-Card
+
+pci:v000014E4d00004315sv00001028sd0000000C*
+ ID_MODEL_FROM_DATABASE=Wireless 1397 WLAN Mini-Card
+
+pci:v000014E4d00004315sv0000103Csd0000137C*
+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g Wireless LAN Controller
+
+pci:v000014E4d00004315sv0000103Csd0000137D*
+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g Wireless LAN Controller
+
+pci:v000014E4d00004315sv0000103Csd00001507*
+ ID_MODEL_FROM_DATABASE=U98Z049.00 Wireless Mini PCIe Card
+
+pci:v000014E4d00004315sv0000105Bsd0000E003*
+ ID_MODEL_FROM_DATABASE=T77H030.00 Wireless Mini PCIe Card
+
+pci:v000014E4d00004315sv0000105Bsd0000E01B*
+ ID_MODEL_FROM_DATABASE=T77H106.00 Wireless Half-size Mini PCIe Card
+
+pci:v000014E4d00004318*
+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller
+
+pci:v000014E4d00004318sv00001028sd00000005*
+ ID_MODEL_FROM_DATABASE=Wireless 1370 WLAN Mini-PCI Card
+
+pci:v000014E4d00004318sv00001028sd00000006*
+ ID_MODEL_FROM_DATABASE=Wireless 1370 WLAN PC Card
+
+pci:v000014E4d00004318sv0000103Csd00001355*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN
+
+pci:v000014E4d00004318sv0000103Csd00001356*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN
+
+pci:v000014E4d00004318sv0000103Csd00001357*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN
+
+pci:v000014E4d00004318sv00001043sd0000100F*
+ ID_MODEL_FROM_DATABASE=WL-138G v2 / WL-138gE / WL-100gE
+
+pci:v000014E4d00004318sv00001043sd0000120F*
+ ID_MODEL_FROM_DATABASE=A6U notebook embedded card
+
+pci:v000014E4d00004318sv00001154sd00000355*
+ ID_MODEL_FROM_DATABASE=Buffalo WLI2-PCI-G54S High Speed Mode Wireless Adapter
+
+pci:v000014E4d00004318sv00001468sd00000311*
+ ID_MODEL_FROM_DATABASE=Aspire 3022WLMi, 5024WLMi, 5020
+
+pci:v000014E4d00004318sv00001468sd00000312*
+ ID_MODEL_FROM_DATABASE=TravelMate 2410
+
+pci:v000014E4d00004318sv000014E4sd00000449*
+ ID_MODEL_FROM_DATABASE=Gateway 7510GX
+
+pci:v000014E4d00004318sv000016ECsd00000119*
+ ID_MODEL_FROM_DATABASE=U.S.Robotics Wireless MAXg PC Card
+
+pci:v000014E4d00004318sv00001737sd00000042*
+ ID_MODEL_FROM_DATABASE=WMP54GS v1.1 802.11g Wireless-G PCI Adapter with SpeedBooster
+
+pci:v000014E4d00004318sv00001737sd00000048*
+ ID_MODEL_FROM_DATABASE=WPC54G v3 802.11g Wireless-G Notebook Adapter
+
+pci:v000014E4d00004318sv00001737sd00000049*
+ ID_MODEL_FROM_DATABASE=WPC54GS v2 802.11g Wireless-G Notebook Adapter with SpeedBooster
+
+pci:v000014E4d00004318sv00001799sd00007000*
+ ID_MODEL_FROM_DATABASE=F5D7000 v4000 Wireless G Desktop Card
+
+pci:v000014E4d00004318sv00001799sd00007001*
+ ID_MODEL_FROM_DATABASE=F5D7001 v2000 Wireless G Plus Desktop Card
+
+pci:v000014E4d00004318sv00001799sd00007010*
+ ID_MODEL_FROM_DATABASE=F5D7010 v4000 Wireless G Notebook Card
+
+pci:v000014E4d00004318sv00001799sd00007011*
+ ID_MODEL_FROM_DATABASE=F5D7011 v2000 High-Speed Mode Wireless G Notebook Card
+
+pci:v000014E4d00004319*
+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver
+
+pci:v000014E4d00004319sv00001028sd00000005*
+ ID_MODEL_FROM_DATABASE=Wireless 1470 Dual Band WLAN Mini-PCI Card
+
+pci:v000014E4d00004319sv00001028sd00000006*
+ ID_MODEL_FROM_DATABASE=Wireless 1470 Dual Band WLAN PC Card
+
+pci:v000014E4d00004319sv0000103Csd00001358*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004319sv0000103Csd00001359*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004319sv0000103Csd0000135A*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004320*
+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller
+
+pci:v000014E4d00004320sv00001028sd00000001*
+ ID_MODEL_FROM_DATABASE=TrueMobile 1300 WLAN Mini-PCI Card
+
+pci:v000014E4d00004320sv00001028sd00000002*
+ ID_MODEL_FROM_DATABASE=TrueMobile 1300 WLAN PC Card
+
+pci:v000014E4d00004320sv00001028sd00000003*
+ ID_MODEL_FROM_DATABASE=Wireless 1350 WLAN Mini-PCI Card
+
+pci:v000014E4d00004320sv00001028sd00000004*
+ ID_MODEL_FROM_DATABASE=Wireless 1350 WLAN PC Card
+
+pci:v000014E4d00004320sv0000103Csd000012F4*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN
+
+pci:v000014E4d00004320sv0000103Csd000012F8*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN
+
+pci:v000014E4d00004320sv0000103Csd000012FA*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN
+
+pci:v000014E4d00004320sv0000103Csd000012FB*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN
+
+pci:v000014E4d00004320sv00001043sd0000100F*
+ ID_MODEL_FROM_DATABASE=WL-100G
+
+pci:v000014E4d00004320sv00001057sd00007025*
+ ID_MODEL_FROM_DATABASE=WN825G
+
+pci:v000014E4d00004320sv0000106Bsd0000004E*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004320sv00001154sd00000330*
+ ID_MODEL_FROM_DATABASE=Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter
+
+pci:v000014E4d00004320sv0000144Fsd00007050*
+ ID_MODEL_FROM_DATABASE=eMachines M6805 802.11g Built-in Wireless
+
+pci:v000014E4d00004320sv0000144Fsd00007051*
+ ID_MODEL_FROM_DATABASE=Sonnet Aria Extreme PCI
+
+pci:v000014E4d00004320sv00001737sd00000013*
+ ID_MODEL_FROM_DATABASE=WMP54G v1 802.11g PCI Adapter
+
+pci:v000014E4d00004320sv00001737sd00000014*
+ ID_MODEL_FROM_DATABASE=WMP54G v2 802.11g PCI Adapter
+
+pci:v000014E4d00004320sv00001737sd00000015*
+ ID_MODEL_FROM_DATABASE=WMP54GS v1.0 802.11g Wireless-G PCI Adapter with SpeedBooster
+
+pci:v000014E4d00004320sv00001737sd00004320*
+ ID_MODEL_FROM_DATABASE=WPC54G v1 / WPC54GS v1 802.11g Wireless-G Notebook Adapter
+
+pci:v000014E4d00004320sv00001799sd00007000*
+ ID_MODEL_FROM_DATABASE=F5D7000 v1000 Wireless G Desktop Card
+
+pci:v000014E4d00004320sv00001799sd00007001*
+ ID_MODEL_FROM_DATABASE=F5D7001 v1000 Wireless G Plus Desktop Card
+
+pci:v000014E4d00004320sv00001799sd00007010*
+ ID_MODEL_FROM_DATABASE=F5D7010 v1000 Wireless G Notebook Card
+
+pci:v000014E4d00004320sv00001799sd00007011*
+ ID_MODEL_FROM_DATABASE=F5D7011 v1000 High-Speed Mode Wireless G Notebook Card
+
+pci:v000014E4d00004320sv0000185Fsd00001220*
+ ID_MODEL_FROM_DATABASE=TravelMate 290E WLAN Mini-PCI Card
+
+pci:v000014E4d00004321*
+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a Wireless Network Controller
+
+pci:v000014E4d00004322*
+ ID_MODEL_FROM_DATABASE=BCM4322 802.11bgn Wireless Network Controller
+
+pci:v000014E4d00004324*
+ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller
+
+pci:v000014E4d00004324sv00001028sd00000001*
+ ID_MODEL_FROM_DATABASE=Truemobile 1400
+
+pci:v000014E4d00004324sv00001028sd00000002*
+ ID_MODEL_FROM_DATABASE=TrueMobile 1400 Dual Band WLAN PC Card
+
+pci:v000014E4d00004324sv00001028sd00000003*
+ ID_MODEL_FROM_DATABASE=Truemobile 1450 MiniPCI
+
+pci:v000014E4d00004324sv00001028sd00000004*
+ ID_MODEL_FROM_DATABASE=Wireless 1450 Dual Band WLAN PC Card
+
+pci:v000014E4d00004324sv0000103Csd000012F9*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004324sv0000103Csd000012FC*
+ ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
+
+pci:v000014E4d00004325*
+ ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller
+
+pci:v000014E4d00004325sv00001414sd00000003*
+ ID_MODEL_FROM_DATABASE=Wireless Notebook Adapter MN-720
+
+pci:v000014E4d00004325sv00001414sd00000004*
+ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter MN-730
+
+pci:v000014E4d00004326*
+ ID_MODEL_FROM_DATABASE=BCM4307 Chipcommon I/O Controller?
+
+pci:v000014E4d00004328*
+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n
+
+pci:v000014E4d00004328sv00001028sd00000009*
+ ID_MODEL_FROM_DATABASE=Wireless 1500 Draft 802.11n WLAN Mini-Card
+
+pci:v000014E4d00004328sv00001028sd0000000A*
+ ID_MODEL_FROM_DATABASE=Wireless 1500 Draft 802.11n WLAN Mini-card
+
+pci:v000014E4d00004328sv0000103Csd00001366*
+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller
+
+pci:v000014E4d00004328sv0000103Csd00001367*
+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller
+
+pci:v000014E4d00004328sv0000103Csd00001368*
+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller
+
+pci:v000014E4d00004328sv0000103Csd00001369*
+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller
+
+pci:v000014E4d00004328sv0000106Bsd00000087*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004328sv0000106Bsd00000088*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004328sv0000106Bsd0000008B*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004328sv0000106Bsd0000008C*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004328sv0000106Bsd00000090*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004328sv000014E4sd00004328*
+ ID_MODEL_FROM_DATABASE=BCM4328 802.11a/b/g/n
+
+pci:v000014E4d00004328sv00001737sd00000066*
+ ID_MODEL_FROM_DATABASE=WPC600N v1 802.11a/b/g/n Wireless-N CardBus Adapter
+
+pci:v000014E4d00004328sv00001737sd00000068*
+ ID_MODEL_FROM_DATABASE=WEC600N v1 802.11a/b/g/n Wireless-N ExpressCard
+
+pci:v000014E4d00004329*
+ ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n
+
+pci:v000014E4d00004329sv00001385sd00007B00*
+ ID_MODEL_FROM_DATABASE=WN511B RangeMax NEXT Wireless Notebook Adapter
+
+pci:v000014E4d00004329sv00001385sd00007D00*
+ ID_MODEL_FROM_DATABASE=WN311B RangeMax Next 270 Mbps Wireless PCI Adapter
+
+pci:v000014E4d00004329sv00001737sd00000058*
+ ID_MODEL_FROM_DATABASE=WPC300N v1 Wireless-N Notebook Adapter
+
+pci:v000014E4d0000432A*
+ ID_MODEL_FROM_DATABASE=BCM4321 802.11an Wireless Network Controller
+
+pci:v000014E4d0000432B*
+ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller
+
+pci:v000014E4d0000432Bsv00001028sd0000000D*
+ ID_MODEL_FROM_DATABASE=Wireless 1510 Wireless-N WLAN Mini-Card
+
+pci:v000014E4d0000432Bsv0000106Bsd0000008D*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d0000432Bsv0000106Bsd0000008E*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d0000432C*
+ ID_MODEL_FROM_DATABASE=BCM4322 802.11b/g/n
+
+pci:v000014E4d0000432Csv00001799sd0000D311*
+ ID_MODEL_FROM_DATABASE=Dynex DX-NNBX 802.11n WLAN Cardbus Card
+
+pci:v000014E4d0000432D*
+ ID_MODEL_FROM_DATABASE=BCM4322 802.11an Wireless Network Controller
+
+pci:v000014E4d00004331*
+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n
+
+pci:v000014E4d00004331sv0000106Bsd000000D6*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004331sv0000106Bsd000000E4*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004331sv0000106Bsd000000EF*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004331sv0000106Bsd000000F4*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004331sv0000106Bsd000000F5*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004331sv0000106Bsd0000010E*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004331sv0000106Bsd0000010F*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004333*
+ ID_MODEL_FROM_DATABASE=Serial (EDGE/GPRS modem part of Option GT Combo Edge)
+
+pci:v000014E4d00004344*
+ ID_MODEL_FROM_DATABASE=EDGE/GPRS data and 802.11b/g combo cardbus [GC89]
+
+pci:v000014E4d00004350*
+ ID_MODEL_FROM_DATABASE=BCM43222 Wireless Network Adapter
+
+pci:v000014E4d00004353*
+ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n
+
+pci:v000014E4d00004353sv00001028sd0000000E*
+ ID_MODEL_FROM_DATABASE=Wireless 1520 Half-size Mini PCIe Card
+
+pci:v000014E4d00004353sv0000103Csd00001509*
+ ID_MODEL_FROM_DATABASE=WMIB-275N Half-size Mini PCIe Card
+
+pci:v000014E4d00004353sv0000106Bsd00000093*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004353sv0000106Bsd000000D1*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004353sv0000106Bsd000000E9*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v000014E4d00004357*
+ ID_MODEL_FROM_DATABASE=BCM43225 802.11b/g/n
+
+pci:v000014E4d00004357sv0000105Bsd0000E021*
+ ID_MODEL_FROM_DATABASE=T77H103.00 Wireless Half-size Mini PCIe Card
+
+pci:v000014E4d00004358*
+ ID_MODEL_FROM_DATABASE=BCM43227 802.11b/g/n
+
+pci:v000014E4d00004359*
+ ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n
+
+pci:v000014E4d00004359sv00001028sd00000011*
+ ID_MODEL_FROM_DATABASE=Wireless 1530 Half-size Mini PCIe Card
+
+pci:v000014E4d00004359sv0000103Csd0000182C*
+ ID_MODEL_FROM_DATABASE=BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter
+
+pci:v000014E4d00004365*
+ ID_MODEL_FROM_DATABASE=BCM43142 802.11b/g/n
+
+pci:v000014E4d00004365sv00001028sd00000016*
+ ID_MODEL_FROM_DATABASE=Wireless 1704 802.11n + BT 4.0
+
+pci:v000014E4d000043B1*
+ ID_MODEL_FROM_DATABASE=BCM4352 802.11ac Wireless Network Adapter
+
+pci:v000014E4d00004401*
+ ID_MODEL_FROM_DATABASE=BCM4401 100Base-T
+
+pci:v000014E4d00004401sv00001025sd00000035*
+ ID_MODEL_FROM_DATABASE=TravelMate 660
+
+pci:v000014E4d00004401sv0000103Csd000008B0*
+ ID_MODEL_FROM_DATABASE=tc1100 tablet
+
+pci:v000014E4d00004401sv00001043sd000080A8*
+ ID_MODEL_FROM_DATABASE=A7V8X motherboard
+
+pci:v000014E4d00004402*
+ ID_MODEL_FROM_DATABASE=BCM4402 Integrated 10/100BaseT
+
+pci:v000014E4d00004403*
+ ID_MODEL_FROM_DATABASE=BCM4402 V.90 56k Modem
+
+pci:v000014E4d00004410*
+ ID_MODEL_FROM_DATABASE=BCM4413 iLine32 HomePNA 2.0
+
+pci:v000014E4d00004411*
+ ID_MODEL_FROM_DATABASE=BCM4413 V.90 56k modem
+
+pci:v000014E4d00004412*
+ ID_MODEL_FROM_DATABASE=BCM4412 10/100BaseT
+
+pci:v000014E4d00004430*
+ ID_MODEL_FROM_DATABASE=BCM44xx CardBus iLine32 HomePNA 2.0
+
+pci:v000014E4d00004432*
+ ID_MODEL_FROM_DATABASE=BCM4432 CardBus 10/100BaseT
+
+pci:v000014E4d00004610*
+ ID_MODEL_FROM_DATABASE=BCM4610 Sentry5 PCI to SB Bridge
+
+pci:v000014E4d00004611*
+ ID_MODEL_FROM_DATABASE=BCM4610 Sentry5 iLine32 HomePNA 1.0
+
+pci:v000014E4d00004612*
+ ID_MODEL_FROM_DATABASE=BCM4610 Sentry5 V.90 56k Modem
+
+pci:v000014E4d00004613*
+ ID_MODEL_FROM_DATABASE=BCM4610 Sentry5 Ethernet Controller
+
+pci:v000014E4d00004614*
+ ID_MODEL_FROM_DATABASE=BCM4610 Sentry5 External Interface
+
+pci:v000014E4d00004615*
+ ID_MODEL_FROM_DATABASE=BCM4610 Sentry5 USB Controller
+
+pci:v000014E4d00004704*
+ ID_MODEL_FROM_DATABASE=BCM4704 PCI to SB Bridge
+
+pci:v000014E4d00004705*
+ ID_MODEL_FROM_DATABASE=BCM4704 Sentry5 802.11b Wireless LAN Controller
+
+pci:v000014E4d00004706*
+ ID_MODEL_FROM_DATABASE=BCM4704 Sentry5 Ethernet Controller
+
+pci:v000014E4d00004707*
+ ID_MODEL_FROM_DATABASE=BCM4704 Sentry5 USB Controller
+
+pci:v000014E4d00004708*
+ ID_MODEL_FROM_DATABASE=BCM4704 Crypto Accelerator
+
+pci:v000014E4d00004710*
+ ID_MODEL_FROM_DATABASE=BCM4710 Sentry5 PCI to SB Bridge
+
+pci:v000014E4d00004711*
+ ID_MODEL_FROM_DATABASE=BCM47xx Sentry5 iLine32 HomePNA 2.0
+
+pci:v000014E4d00004712*
+ ID_MODEL_FROM_DATABASE=BCM47xx V.92 56k modem
+
+pci:v000014E4d00004713*
+ ID_MODEL_FROM_DATABASE=Sentry5 Ethernet Controller
+
+pci:v000014E4d00004714*
+ ID_MODEL_FROM_DATABASE=BCM47xx Sentry5 External Interface
+
+pci:v000014E4d00004715*
+ ID_MODEL_FROM_DATABASE=Sentry5 USB Controller
+
+pci:v000014E4d00004716*
+ ID_MODEL_FROM_DATABASE=BCM47xx Sentry5 USB Host Controller
+
+pci:v000014E4d00004717*
+ ID_MODEL_FROM_DATABASE=BCM47xx Sentry5 USB Device Controller
+
+pci:v000014E4d00004718*
+ ID_MODEL_FROM_DATABASE=Sentry5 Crypto Accelerator
+
+pci:v000014E4d00004719*
+ ID_MODEL_FROM_DATABASE=BCM47xx/53xx RoboSwitch Core
+
+pci:v000014E4d00004720*
+ ID_MODEL_FROM_DATABASE=BCM4712 MIPS CPU
+
+pci:v000014E4d00004727*
+ ID_MODEL_FROM_DATABASE=BCM4313 802.11b/g/n Wireless LAN Controller
+
+pci:v000014E4d00004727sv00001028sd00000010*
+ ID_MODEL_FROM_DATABASE=Inspiron M5010 / XPS 8300
+
+pci:v000014E4d00005365*
+ ID_MODEL_FROM_DATABASE=BCM5365P Sentry5 Host Bridge
+
+pci:v000014E4d00005600*
+ ID_MODEL_FROM_DATABASE=BCM5600 StrataSwitch 24+2 Ethernet Switch Controller
+
+pci:v000014E4d00005605*
+ ID_MODEL_FROM_DATABASE=BCM5605 StrataSwitch 24+2 Ethernet Switch Controller
+
+pci:v000014E4d00005615*
+ ID_MODEL_FROM_DATABASE=BCM5615 StrataSwitch 24+2 Ethernet Switch Controller
+
+pci:v000014E4d00005625*
+ ID_MODEL_FROM_DATABASE=BCM5625 StrataSwitch 24+2 Ethernet Switch Controller
+
+pci:v000014E4d00005645*
+ ID_MODEL_FROM_DATABASE=BCM5645 StrataSwitch 24+2 Ethernet Switch Controller
+
+pci:v000014E4d00005670*
+ ID_MODEL_FROM_DATABASE=BCM5670 8-Port 10GE Ethernet Switch Fabric
+
+pci:v000014E4d00005680*
+ ID_MODEL_FROM_DATABASE=BCM5680 G-Switch 8 Port Gigabit Ethernet Switch Controller
+
+pci:v000014E4d00005690*
+ ID_MODEL_FROM_DATABASE=BCM5690 12-port Multi-Layer Gigabit Ethernet Switch
+
+pci:v000014E4d00005691*
+ ID_MODEL_FROM_DATABASE=BCM5691 GE/10GE 8+2 Gigabit Ethernet Switch Controller
+
+pci:v000014E4d00005692*
+ ID_MODEL_FROM_DATABASE=BCM5692 12-port Multi-Layer Gigabit Ethernet Switch
+
+pci:v000014E4d00005695*
+ ID_MODEL_FROM_DATABASE=BCM5695 12-port + HiGig Multi-Layer Gigabit Ethernet Switch
+
+pci:v000014E4d00005698*
+ ID_MODEL_FROM_DATABASE=BCM5698 12-port Multi-Layer Gigabit Ethernet Switch
+
+pci:v000014E4d00005820*
+ ID_MODEL_FROM_DATABASE=BCM5820 Crypto Accelerator
+
+pci:v000014E4d00005821*
+ ID_MODEL_FROM_DATABASE=BCM5821 Crypto Accelerator
+
+pci:v000014E4d00005822*
+ ID_MODEL_FROM_DATABASE=BCM5822 Crypto Accelerator
+
+pci:v000014E4d00005823*
+ ID_MODEL_FROM_DATABASE=BCM5823 Crypto Accelerator
+
+pci:v000014E4d00005824*
+ ID_MODEL_FROM_DATABASE=BCM5824 Crypto Accelerator
+
+pci:v000014E4d00005840*
+ ID_MODEL_FROM_DATABASE=BCM5840 Crypto Accelerator
+
+pci:v000014E4d00005841*
+ ID_MODEL_FROM_DATABASE=BCM5841 Crypto Accelerator
+
+pci:v000014E4d00005850*
+ ID_MODEL_FROM_DATABASE=BCM5850 Crypto Accelerator
+
+pci:v000014E4d00008602*
+ ID_MODEL_FROM_DATABASE=BCM7400/BCM7405 Serial ATA Controller
+
+pci:v000014E4d0000A8D8*
+ ID_MODEL_FROM_DATABASE=BCM43224/5 Wireless Network Adapter
+
+pci:v000014E4d0000B302*
+ ID_MODEL_FROM_DATABASE=BCM56302 StrataXGS 24x1GE 2x10GE Switch Controller
+
+pci:v000014E4d0000B334*
+ ID_MODEL_FROM_DATABASE=BCM56334 StrataXGS 24x1GE 4x10GE Switch Controller
+
+pci:v000014E4d0000B800*
+ ID_MODEL_FROM_DATABASE=BCM56800 StrataXGS 10GE Switch Controller
+
+pci:v000014E4d0000B842*
+ ID_MODEL_FROM_DATABASE=BCM56842 Trident 10GE Switch Controller
+
+pci:v000014E5*
+ ID_VENDOR_FROM_DATABASE=Pixelfusion Ltd
+
+pci:v000014E6*
+ ID_VENDOR_FROM_DATABASE=SHINING Technology Inc
+
+pci:v000014E7*
+ ID_VENDOR_FROM_DATABASE=3CX
+
+pci:v000014E8*
+ ID_VENDOR_FROM_DATABASE=RAYCER Inc
+
+pci:v000014E9*
+ ID_VENDOR_FROM_DATABASE=GARNETS System CO Ltd
+
+pci:v000014EA*
+ ID_VENDOR_FROM_DATABASE=Planex Communications, Inc
+
+pci:v000014EAd0000AB06*
+ ID_MODEL_FROM_DATABASE=FNW-3603-TX CardBus Fast Ethernet
+
+pci:v000014EAd0000AB07*
+ ID_MODEL_FROM_DATABASE=RTL81xx RealTek Ethernet
+
+pci:v000014EAd0000AB08*
+ ID_MODEL_FROM_DATABASE=FNW-3602-TX CardBus Fast Ethernet
+
+pci:v000014EB*
+ ID_VENDOR_FROM_DATABASE=SEIKO EPSON Corp
+
+pci:v000014EC*
+ ID_VENDOR_FROM_DATABASE=Agilent Technologies
+
+pci:v000014ECd00000000*
+ ID_MODEL_FROM_DATABASE=Aciris Digitizer (malformed ID)
+
+pci:v000014ED*
+ ID_VENDOR_FROM_DATABASE=DATAKINETICS Ltd
+
+pci:v000014EE*
+ ID_VENDOR_FROM_DATABASE=MASPRO KENKOH Corp
+
+pci:v000014EF*
+ ID_VENDOR_FROM_DATABASE=CARRY Computer ENG. CO Ltd
+
+pci:v000014F0*
+ ID_VENDOR_FROM_DATABASE=CANON RESEACH CENTRE FRANCE
+
+pci:v000014F1*
+ ID_VENDOR_FROM_DATABASE=Conexant Systems, Inc.
+
+pci:v000014F1d00001002*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001003*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001004*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001005*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001006*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001022*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001023*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001024*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001025*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001026*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001032*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001033*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem
+
+pci:v000014F1d00001033sv00001033sd00008077*
+ ID_MODEL_FROM_DATABASE=NEC
+
+pci:v000014F1d00001033sv0000122Dsd00004027*
+ ID_MODEL_FROM_DATABASE=Dell Zeus - MDP3880-W(B) Data Fax Modem
+
+pci:v000014F1d00001033sv0000122Dsd00004030*
+ ID_MODEL_FROM_DATABASE=Dell Mercury - MDP3880-U(B) Data Fax Modem
+
+pci:v000014F1d00001033sv0000122Dsd00004034*
+ ID_MODEL_FROM_DATABASE=Dell Thor - MDP3880-W(U) Data Fax Modem
+
+pci:v000014F1d00001033sv000013E0sd0000020D*
+ ID_MODEL_FROM_DATABASE=Dell Copper
+
+pci:v000014F1d00001033sv000013E0sd0000020E*
+ ID_MODEL_FROM_DATABASE=Dell Silver
+
+pci:v000014F1d00001033sv000013E0sd00000261*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v000014F1d00001033sv000013E0sd00000290*
+ ID_MODEL_FROM_DATABASE=Compaq Goldwing
+
+pci:v000014F1d00001033sv000013E0sd000002A0*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v000014F1d00001033sv000013E0sd000002B0*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v000014F1d00001033sv000013E0sd000002C0*
+ ID_MODEL_FROM_DATABASE=Compaq Scooter
+
+pci:v000014F1d00001033sv000013E0sd000002D0*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v000014F1d00001033sv0000144Fsd00001500*
+ ID_MODEL_FROM_DATABASE=IBM P85-DF (1)
+
+pci:v000014F1d00001033sv0000144Fsd00001501*
+ ID_MODEL_FROM_DATABASE=IBM P85-DF (2)
+
+pci:v000014F1d00001033sv0000144Fsd0000150A*
+ ID_MODEL_FROM_DATABASE=IBM P85-DF (3)
+
+pci:v000014F1d00001033sv0000144Fsd0000150B*
+ ID_MODEL_FROM_DATABASE=IBM P85-DF Low Profile (1)
+
+pci:v000014F1d00001033sv0000144Fsd00001510*
+ ID_MODEL_FROM_DATABASE=IBM P85-DF Low Profile (2)
+
+pci:v000014F1d00001034*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem
+
+pci:v000014F1d00001035*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
+
+pci:v000014F1d00001035sv000010CFsd00001098*
+ ID_MODEL_FROM_DATABASE=Fujitsu P85-DFSV
+
+pci:v000014F1d00001036*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem
+
+pci:v000014F1d00001036sv0000104Dsd00008067*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001036sv0000122Dsd00004029*
+ ID_MODEL_FROM_DATABASE=MDP3880SP-W
+
+pci:v000014F1d00001036sv0000122Dsd00004031*
+ ID_MODEL_FROM_DATABASE=MDP3880SP-U
+
+pci:v000014F1d00001036sv000013E0sd00000209*
+ ID_MODEL_FROM_DATABASE=Dell Titanium
+
+pci:v000014F1d00001036sv000013E0sd0000020A*
+ ID_MODEL_FROM_DATABASE=Dell Graphite
+
+pci:v000014F1d00001036sv000013E0sd00000260*
+ ID_MODEL_FROM_DATABASE=Gateway Red Owl
+
+pci:v000014F1d00001036sv000013E0sd00000270*
+ ID_MODEL_FROM_DATABASE=Gateway White Horse
+
+pci:v000014F1d00001052*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Worldwide)
+
+pci:v000014F1d00001053*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Worldwide)
+
+pci:v000014F1d00001054*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem (Worldwide)
+
+pci:v000014F1d00001055*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Worldwide)
+
+pci:v000014F1d00001056*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide)
+
+pci:v000014F1d00001057*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide)
+
+pci:v000014F1d00001059*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem (Worldwide)
+
+pci:v000014F1d00001063*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem
+
+pci:v000014F1d00001064*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem
+
+pci:v000014F1d00001065*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
+
+pci:v000014F1d00001066*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem
+
+pci:v000014F1d00001066sv0000122Dsd00004033*
+ ID_MODEL_FROM_DATABASE=Dell Athena - MDP3900V-U
+
+pci:v000014F1d00001085*
+ ID_MODEL_FROM_DATABASE=HCF V90 56k Data/Fax/Voice/Spkp PCI Modem
+
+pci:v000014F1d000010B6*
+ ID_MODEL_FROM_DATABASE=CX06834-11 HCF V.92 56k Data/Fax/Voice/Spkp Modem
+
+pci:v000014F1d00001433*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem
+
+pci:v000014F1d00001434*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem
+
+pci:v000014F1d00001435*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
+
+pci:v000014F1d00001436*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem
+
+pci:v000014F1d00001453*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem
+
+pci:v000014F1d00001453sv000013E0sd00000240*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v000014F1d00001453sv000013E0sd00000250*
+ ID_MODEL_FROM_DATABASE=IBM
+
+pci:v000014F1d00001453sv0000144Fsd00001502*
+ ID_MODEL_FROM_DATABASE=IBM P95-DF (1)
+
+pci:v000014F1d00001453sv0000144Fsd00001503*
+ ID_MODEL_FROM_DATABASE=IBM P95-DF (2)
+
+pci:v000014F1d00001454*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem
+
+pci:v000014F1d00001455*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
+
+pci:v000014F1d00001456*
+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem
+
+pci:v000014F1d00001456sv0000122Dsd00004035*
+ ID_MODEL_FROM_DATABASE=Dell Europa - MDP3900V-W
+
+pci:v000014F1d00001456sv0000122Dsd00004302*
+ ID_MODEL_FROM_DATABASE=Dell MP3930V-W(C) MiniPCI
+
+pci:v000014F1d00001610*
+ ID_MODEL_FROM_DATABASE=ADSL AccessRunner PCI Arbitration Device
+
+pci:v000014F1d00001611*
+ ID_MODEL_FROM_DATABASE=AccessRunner PCI ADSL Interface Device
+
+pci:v000014F1d00001620*
+ ID_MODEL_FROM_DATABASE=AccessRunner V2 PCI ADSL Arbitration Device
+
+pci:v000014F1d00001621*
+ ID_MODEL_FROM_DATABASE=AccessRunner V2 PCI ADSL Interface Device
+
+pci:v000014F1d00001622*
+ ID_MODEL_FROM_DATABASE=AccessRunner V2 PCI ADSL Yukon WAN Adapter
+
+pci:v000014F1d00001803*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001803sv00000E11sd00000023*
+ ID_MODEL_FROM_DATABASE=623-LAN Grizzly
+
+pci:v000014F1d00001803sv00000E11sd00000043*
+ ID_MODEL_FROM_DATABASE=623-LAN Yogi
+
+pci:v000014F1d00001811*
+ ID_MODEL_FROM_DATABASE=MiniPCI Network Adapter
+
+pci:v000014F1d00001815*
+ ID_MODEL_FROM_DATABASE=HCF 56k Modem
+
+pci:v000014F1d00001815sv00000E11sd00000022*
+ ID_MODEL_FROM_DATABASE=Grizzly
+
+pci:v000014F1d00001815sv00000E11sd00000042*
+ ID_MODEL_FROM_DATABASE=Yogi
+
+pci:v000014F1d00002003*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem
+
+pci:v000014F1d00002004*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem
+
+pci:v000014F1d00002005*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
+
+pci:v000014F1d00002006*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem
+
+pci:v000014F1d00002013*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem
+
+pci:v000014F1d00002013sv00000E11sd0000B195*
+ ID_MODEL_FROM_DATABASE=Bear
+
+pci:v000014F1d00002013sv00000E11sd0000B196*
+ ID_MODEL_FROM_DATABASE=Seminole 1
+
+pci:v000014F1d00002013sv00000E11sd0000B1BE*
+ ID_MODEL_FROM_DATABASE=Seminole 2
+
+pci:v000014F1d00002013sv00001025sd00008013*
+ ID_MODEL_FROM_DATABASE=Acer
+
+pci:v000014F1d00002013sv00001033sd0000809D*
+ ID_MODEL_FROM_DATABASE=NEC
+
+pci:v000014F1d00002013sv00001033sd000080BC*
+ ID_MODEL_FROM_DATABASE=NEC
+
+pci:v000014F1d00002013sv0000155Dsd00006793*
+ ID_MODEL_FROM_DATABASE=HP
+
+pci:v000014F1d00002013sv0000155Dsd00008850*
+ ID_MODEL_FROM_DATABASE=E Machines
+
+pci:v000014F1d00002014*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem
+
+pci:v000014F1d00002015*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
+
+pci:v000014F1d00002016*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem
+
+pci:v000014F1d00002043*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (WorldW SmartDAA)
+
+pci:v000014F1d00002044*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (WorldW SmartDAA)
+
+pci:v000014F1d00002045*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA)
+
+pci:v000014F1d00002045sv000014F1sd00002045*
+ ID_MODEL_FROM_DATABASE=Generic SoftK56
+
+pci:v000014F1d00002046*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (WorldW SmartDAA)
+
+pci:v000014F1d00002063*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (SmartDAA)
+
+pci:v000014F1d00002064*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (SmartDAA)
+
+pci:v000014F1d00002065*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (SmartDAA)
+
+pci:v000014F1d00002066*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (SmartDAA)
+
+pci:v000014F1d00002093*
+ ID_MODEL_FROM_DATABASE=HSF 56k Modem
+
+pci:v000014F1d00002093sv0000155Dsd00002F07*
+ ID_MODEL_FROM_DATABASE=Legend
+
+pci:v000014F1d00002143*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Cell Modem (Mob WorldW SmartDAA)
+
+pci:v000014F1d00002144*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Cell Modem (Mob WorldW SmartDAA)
+
+pci:v000014F1d00002145*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/HS)/Cell Modem (Mob WorldW SmartDAA)
+
+pci:v000014F1d00002146*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp/Cell Modem (Mob WorldW SmartDAA)
+
+pci:v000014F1d00002163*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Cell Modem (Mob SmartDAA)
+
+pci:v000014F1d00002164*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Cell Modem (Mob SmartDAA)
+
+pci:v000014F1d00002165*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/HS)/Cell Modem (Mob SmartDAA)
+
+pci:v000014F1d00002166*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp/Cell Modem (Mob SmartDAA)
+
+pci:v000014F1d00002343*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax CardBus Modem (Mob WorldW SmartDAA)
+
+pci:v000014F1d00002344*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice CardBus Modem (Mob WorldW SmartDAA)
+
+pci:v000014F1d00002345*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/HS) CardBus Modem (Mob WorldW SmartDAA)
+
+pci:v000014F1d00002346*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp CardBus Modem (Mob WorldW SmartDAA)
+
+pci:v000014F1d00002363*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax CardBus Modem (Mob SmartDAA)
+
+pci:v000014F1d00002364*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice CardBus Modem (Mob SmartDAA)
+
+pci:v000014F1d00002365*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/HS) CardBus Modem (Mob SmartDAA)
+
+pci:v000014F1d00002366*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp CardBus Modem (Mob SmartDAA)
+
+pci:v000014F1d00002443*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA)
+
+pci:v000014F1d00002443sv0000104Dsd00008075*
+ ID_MODEL_FROM_DATABASE=Modem
+
+pci:v000014F1d00002443sv0000104Dsd00008083*
+ ID_MODEL_FROM_DATABASE=Modem
+
+pci:v000014F1d00002443sv0000104Dsd00008097*
+ ID_MODEL_FROM_DATABASE=Modem
+
+pci:v000014F1d00002444*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (Mob WorldW SmartDAA)
+
+pci:v000014F1d00002445*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/HS) Modem (Mob WorldW SmartDAA)
+
+pci:v000014F1d00002446*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (Mob WorldW SmartDAA)
+
+pci:v000014F1d00002463*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob SmartDAA)
+
+pci:v000014F1d00002464*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (Mob SmartDAA)
+
+pci:v000014F1d00002465*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/HS) Modem (Mob SmartDAA)
+
+pci:v000014F1d00002466*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (Mob SmartDAA)
+
+pci:v000014F1d00002F00*
+ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem
+
+pci:v000014F1d00002F00sv000013E0sd00008D84*
+ ID_MODEL_FROM_DATABASE=IBM HSFi V.90
+
+pci:v000014F1d00002F00sv000013E0sd00008D85*
+ ID_MODEL_FROM_DATABASE=Compaq Stinger
+
+pci:v000014F1d00002F00sv000014F1sd00002004*
+ ID_MODEL_FROM_DATABASE=Dynalink 56PMi
+
+pci:v000014F1d00002F02*
+ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Data/Fax
+
+pci:v000014F1d00002F11*
+ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem
+
+pci:v000014F1d00002F20*
+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem
+
+pci:v000014F1d00002F20sv000014F1sd0000200C*
+ ID_MODEL_FROM_DATABASE=Soft Data Fax Modem with SmartCP
+
+pci:v000014F1d00002F20sv000014F1sd0000200F*
+ ID_MODEL_FROM_DATABASE=Dimension 3000
+
+pci:v000014F1d00002F30*
+ ID_MODEL_FROM_DATABASE=SoftV92 SpeakerPhone SoftRing Modem with SmartSP
+
+pci:v000014F1d00002F30sv000014F1sd00002014*
+ ID_MODEL_FROM_DATABASE=Devolo MikroLink 56K Modem PCI
+
+pci:v000014F1d00002F50*
+ ID_MODEL_FROM_DATABASE=Conexant SoftK56 Data/Fax Modem
+
+pci:v000014F1d00005B7A*
+ ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder
+
+pci:v000014F1d00005B7Asv00000070sd00007444*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-1600
+
+pci:v000014F1d00005B7Asv0000107Dsd00006F34*
+ ID_MODEL_FROM_DATABASE=WinFast DVR3100 H
+
+pci:v000014F1d00005B7Asv00005854sd00003343*
+ ID_MODEL_FROM_DATABASE=GoTView PCI DVD3 Hybrid
+
+pci:v000014F1d00008200*
+ ID_MODEL_FROM_DATABASE=CX25850
+
+pci:v000014F1d00008234*
+ ID_MODEL_FROM_DATABASE=RS8234 ATM SAR Controller [ServiceSAR Plus]
+
+pci:v000014F1d00008800*
+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder
+
+pci:v000014F1d00008800sv00000070sd00002801*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models
+
+pci:v000014F1d00008800sv00000070sd00003400*
+ ID_MODEL_FROM_DATABASE=WinTV 34604
+
+pci:v000014F1d00008800sv00000070sd00003401*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV 34xxx models
+
+pci:v000014F1d00008800sv00000070sd00006902*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD
+
+pci:v000014F1d00008800sv00000070sd00007801*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-1800 MCE
+
+pci:v000014F1d00008800sv00000070sd00009001*
+ ID_MODEL_FROM_DATABASE=Nova-T DVB-T
+
+pci:v000014F1d00008800sv00000070sd00009200*
+ ID_MODEL_FROM_DATABASE=Nova-SE2 DVB-S
+
+pci:v000014F1d00008800sv00000070sd00009202*
+ ID_MODEL_FROM_DATABASE=Nova-S-Plus DVB-S
+
+pci:v000014F1d00008800sv00000070sd00009402*
+ ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid
+
+pci:v000014F1d00008800sv00000070sd00009600*
+ ID_MODEL_FROM_DATABASE=WinTV 88x Video
+
+pci:v000014F1d00008800sv00000070sd00009802*
+ ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid (Low Profile)
+
+pci:v000014F1d00008800sv00001002sd000000F8*
+ ID_MODEL_FROM_DATABASE=ATI TV Wonder Pro
+
+pci:v000014F1d00008800sv00001002sd0000A101*
+ ID_MODEL_FROM_DATABASE=HDTV Wonder
+
+pci:v000014F1d00008800sv00001043sd00004823*
+ ID_MODEL_FROM_DATABASE=ASUS PVR-416
+
+pci:v000014F1d00008800sv0000107Dsd00006611*
+ ID_MODEL_FROM_DATABASE=Winfast TV 2000XP Expert
+
+pci:v000014F1d00008800sv0000107Dsd00006613*
+ ID_MODEL_FROM_DATABASE=Leadtek Winfast 2000XP Expert
+
+pci:v000014F1d00008800sv0000107Dsd00006620*
+ ID_MODEL_FROM_DATABASE=Leadtek Winfast DV2000
+
+pci:v000014F1d00008800sv0000107Dsd0000663C*
+ ID_MODEL_FROM_DATABASE=Leadtek PVR 2000
+
+pci:v000014F1d00008800sv0000107Dsd0000665F*
+ ID_MODEL_FROM_DATABASE=WinFast DTV1000-T
+
+pci:v000014F1d00008800sv000010FCsd0000D003*
+ ID_MODEL_FROM_DATABASE=IODATA GV-VCP3/PCI
+
+pci:v000014F1d00008800sv000010FCsd0000D035*
+ ID_MODEL_FROM_DATABASE=IODATA GV/BCTV7E
+
+pci:v000014F1d00008800sv00001421sd00000334*
+ ID_MODEL_FROM_DATABASE=Instant TV DVB-T PCI
+
+pci:v000014F1d00008800sv00001461sd0000000A*
+ ID_MODEL_FROM_DATABASE=AVerTV 303 (M126)
+
+pci:v000014F1d00008800sv00001461sd0000000B*
+ ID_MODEL_FROM_DATABASE=AverTV Studio 303 (M126)
+
+pci:v000014F1d00008800sv00001461sd00008011*
+ ID_MODEL_FROM_DATABASE=UltraTV Media Center PCI 550
+
+pci:v000014F1d00008800sv00001462sd00008606*
+ ID_MODEL_FROM_DATABASE=MSI TV-@nywhere Master
+
+pci:v000014F1d00008800sv000014C7sd00000107*
+ ID_MODEL_FROM_DATABASE=GDI Black Gold
+
+pci:v000014F1d00008800sv000014F1sd00000187*
+ ID_MODEL_FROM_DATABASE=Conexant DVB-T reference design
+
+pci:v000014F1d00008800sv000014F1sd00000342*
+ ID_MODEL_FROM_DATABASE=Digital-Logic MICROSPACE Entertainment Center (MEC)
+
+pci:v000014F1d00008800sv0000153Bsd00001166*
+ ID_MODEL_FROM_DATABASE=Cinergy 1400 DVB-T
+
+pci:v000014F1d00008800sv00001540sd00002580*
+ ID_MODEL_FROM_DATABASE=Provideo PV259
+
+pci:v000014F1d00008800sv00001554sd00004811*
+ ID_MODEL_FROM_DATABASE=PixelView
+
+pci:v000014F1d00008800sv00001554sd00004813*
+ ID_MODEL_FROM_DATABASE=Club 3D ZAP1000 MCE Edition
+
+pci:v000014F1d00008800sv000017DEsd000008A1*
+ ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T with cx22702
+
+pci:v000014F1d00008800sv000017DEsd000008A6*
+ ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T
+
+pci:v000014F1d00008800sv000017DEsd000008B2*
+ ID_MODEL_FROM_DATABASE=KWorld DVB-S 100
+
+pci:v000014F1d00008800sv000017DEsd0000A8A6*
+ ID_MODEL_FROM_DATABASE=digitalnow DNTV Live! DVB-T
+
+pci:v000014F1d00008800sv00001822sd00000025*
+ ID_MODEL_FROM_DATABASE=digitalnow DNTV Live! DVB-T Pro
+
+pci:v000014F1d00008800sv0000185Bsd0000E000*
+ ID_MODEL_FROM_DATABASE=VideoMate X500
+
+pci:v000014F1d00008800sv000018ACsd0000D500*
+ ID_MODEL_FROM_DATABASE=FusionHDTV 5 Gold
+
+pci:v000014F1d00008800sv000018ACsd0000D810*
+ ID_MODEL_FROM_DATABASE=FusionHDTV 3 Gold-Q
+
+pci:v000014F1d00008800sv000018ACsd0000D820*
+ ID_MODEL_FROM_DATABASE=FusionHDTV 3 Gold-T
+
+pci:v000014F1d00008800sv000018ACsd0000DB00*
+ ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T1
+
+pci:v000014F1d00008800sv000018ACsd0000DB11*
+ ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Plus
+
+pci:v000014F1d00008800sv000018ACsd0000DB50*
+ ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Dual Digital
+
+pci:v000014F1d00008800sv00005654sd00002388*
+ ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid TV Tuner Card
+
+pci:v000014F1d00008800sv00007063sd00003000*
+ ID_MODEL_FROM_DATABASE=pcHDTV HD3000 HDTV
+
+pci:v000014F1d00008800sv00007063sd00005500*
+ ID_MODEL_FROM_DATABASE=pcHDTV HD-5500
+
+pci:v000014F1d00008801*
+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port]
+
+pci:v000014F1d00008801sv00000070sd00002801*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models
+
+pci:v000014F1d00008801sv0000185Bsd0000E000*
+ ID_MODEL_FROM_DATABASE=VideoMate X500
+
+pci:v000014F1d00008801sv00005654sd00002388*
+ ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid Audio AVStream Device
+
+pci:v000014F1d00008801sv00007063sd00005500*
+ ID_MODEL_FROM_DATABASE=pcHDTV HD-5500
+
+pci:v000014F1d00008802*
+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port]
+
+pci:v000014F1d00008802sv00000070sd00002801*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models
+
+pci:v000014F1d00008802sv00000070sd00006902*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD
+
+pci:v000014F1d00008802sv00000070sd00009002*
+ ID_MODEL_FROM_DATABASE=Nova-T DVB-T Model 909
+
+pci:v000014F1d00008802sv00000070sd00009402*
+ ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid
+
+pci:v000014F1d00008802sv00000070sd00009600*
+ ID_MODEL_FROM_DATABASE=WinTV 88x MPEG Encoder
+
+pci:v000014F1d00008802sv00001043sd00004823*
+ ID_MODEL_FROM_DATABASE=ASUS PVR-416
+
+pci:v000014F1d00008802sv0000107Dsd0000663C*
+ ID_MODEL_FROM_DATABASE=Leadtek PVR 2000
+
+pci:v000014F1d00008802sv0000107Dsd0000665F*
+ ID_MODEL_FROM_DATABASE=WinFast DTV1000-T
+
+pci:v000014F1d00008802sv000014F1sd00000187*
+ ID_MODEL_FROM_DATABASE=Conexant DVB-T reference design
+
+pci:v000014F1d00008802sv000017DEsd000008A1*
+ ID_MODEL_FROM_DATABASE=XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture
+
+pci:v000014F1d00008802sv000017DEsd000008A6*
+ ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T
+
+pci:v000014F1d00008802sv000018ACsd0000D500*
+ ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Gold
+
+pci:v000014F1d00008802sv000018ACsd0000D810*
+ ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-Q
+
+pci:v000014F1d00008802sv000018ACsd0000D820*
+ ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-T
+
+pci:v000014F1d00008802sv000018ACsd0000DB00*
+ ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T1
+
+pci:v000014F1d00008802sv000018ACsd0000DB10*
+ ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T Plus
+
+pci:v000014F1d00008802sv00005654sd00002388*
+ ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid TS Capture Device
+
+pci:v000014F1d00008802sv00007063sd00003000*
+ ID_MODEL_FROM_DATABASE=pcHDTV HD3000 HDTV
+
+pci:v000014F1d00008802sv00007063sd00005500*
+ ID_MODEL_FROM_DATABASE=pcHDTV HD-5500
+
+pci:v000014F1d00008804*
+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port]
+
+pci:v000014F1d00008804sv00000070sd00006902*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD
+
+pci:v000014F1d00008804sv00000070sd00009002*
+ ID_MODEL_FROM_DATABASE=Nova-T DVB-T Model 909
+
+pci:v000014F1d00008804sv00000070sd00009402*
+ ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid
+
+pci:v000014F1d00008804sv00007063sd00005500*
+ ID_MODEL_FROM_DATABASE=pcHDTV HD-5500
+
+pci:v000014F1d00008811*
+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port]
+
+pci:v000014F1d00008811sv00000070sd00003400*
+ ID_MODEL_FROM_DATABASE=WinTV 34604
+
+pci:v000014F1d00008811sv00000070sd00003401*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV 34xxx models
+
+pci:v000014F1d00008811sv00000070sd00006902*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD
+
+pci:v000014F1d00008811sv00000070sd00009402*
+ ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid
+
+pci:v000014F1d00008811sv00000070sd00009600*
+ ID_MODEL_FROM_DATABASE=WinTV 88x Audio
+
+pci:v000014F1d00008811sv00001462sd00008606*
+ ID_MODEL_FROM_DATABASE=MSI TV-@nywhere Master
+
+pci:v000014F1d00008811sv000018ACsd0000D500*
+ ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Gold
+
+pci:v000014F1d00008811sv000018ACsd0000D810*
+ ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-Q
+
+pci:v000014F1d00008811sv000018ACsd0000D820*
+ ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-T
+
+pci:v000014F1d00008811sv000018ACsd0000DB00*
+ ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T1
+
+pci:v000014F1d00008811sv00005654sd00002388*
+ ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid Audio Capture Device
+
+pci:v000014F1d00008852*
+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder
+
+pci:v000014F1d00008852sv00000070sd00008010*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV HVR-1400 ExpressCard
+
+pci:v000014F1d00008852sv0000107Dsd00006F22*
+ ID_MODEL_FROM_DATABASE=WinFast PxTV1200
+
+pci:v000014F1d00008852sv00001461sd0000C039*
+ ID_MODEL_FROM_DATABASE=AVerTV Hybrid Express (A577)
+
+pci:v000014F1d00008852sv0000153Bsd0000117E*
+ ID_MODEL_FROM_DATABASE=Cinergy T PCIe Dual
+
+pci:v000014F1d00008852sv000018ACsd0000DB78*
+ ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Dual Express
+
+pci:v000014F1d00008880*
+ ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb
+
+pci:v000014F1d00008880sv00000070sd0000C108*
+ ID_MODEL_FROM_DATABASE=WinTV-HVR-4400-HD model 1278
+
+pci:v000014F1d00008880sv00005654sd00002389*
+ ID_MODEL_FROM_DATABASE=GoTView X5 DVD Hybrid PCI-E
+
+pci:v000014F1d00008880sv00005654sd00002390*
+ ID_MODEL_FROM_DATABASE=GoTView X5 3D HYBRID PCI-E
+
+pci:v000014F2*
+ ID_VENDOR_FROM_DATABASE=MOBILITY Electronics
+
+pci:v000014F2d00000120*
+ ID_MODEL_FROM_DATABASE=EV1000 bridge
+
+pci:v000014F2d00000121*
+ ID_MODEL_FROM_DATABASE=EV1000 Parallel port
+
+pci:v000014F2d00000122*
+ ID_MODEL_FROM_DATABASE=EV1000 Serial port
+
+pci:v000014F2d00000123*
+ ID_MODEL_FROM_DATABASE=EV1000 Keyboard controller
+
+pci:v000014F2d00000124*
+ ID_MODEL_FROM_DATABASE=EV1000 Mouse controller
+
+pci:v000014F3*
+ ID_VENDOR_FROM_DATABASE=BroadLogic
+
+pci:v000014F3d00002030*
+ ID_MODEL_FROM_DATABASE=2030 DVB-S Satellite Receiver
+
+pci:v000014F3d00002035*
+ ID_MODEL_FROM_DATABASE=2035 DVB-S Satellite Receiver
+
+pci:v000014F3d00002050*
+ ID_MODEL_FROM_DATABASE=2050 DVB-T Terrestrial (Cable) Receiver
+
+pci:v000014F3d00002060*
+ ID_MODEL_FROM_DATABASE=2060 ATSC Terrestrial (Cable) Receiver
+
+pci:v000014F4*
+ ID_VENDOR_FROM_DATABASE=TOKYO Electronic Industry CO Ltd
+
+pci:v000014F5*
+ ID_VENDOR_FROM_DATABASE=SOPAC Ltd
+
+pci:v000014F6*
+ ID_VENDOR_FROM_DATABASE=COYOTE Technologies LLC
+
+pci:v000014F7*
+ ID_VENDOR_FROM_DATABASE=WOLF Technology Inc
+
+pci:v000014F8*
+ ID_VENDOR_FROM_DATABASE=AUDIOCODES Inc
+
+pci:v000014F8d00002077*
+ ID_MODEL_FROM_DATABASE=TP-240 dual span E1 VoIP PCI card
+
+pci:v000014F9*
+ ID_VENDOR_FROM_DATABASE=AG COMMUNICATIONS
+
+pci:v000014FA*
+ ID_VENDOR_FROM_DATABASE=WANDEL & GOLTERMANN
+
+pci:v000014FB*
+ ID_VENDOR_FROM_DATABASE=TRANSAS MARINE (UK) Ltd
+
+pci:v000014FC*
+ ID_VENDOR_FROM_DATABASE=Quadrics Ltd
+
+pci:v000014FCd00000000*
+ ID_MODEL_FROM_DATABASE=QsNet Elan3 Network Adapter
+
+pci:v000014FCd00000001*
+ ID_MODEL_FROM_DATABASE=QsNetII Elan4 Network Adapter
+
+pci:v000014FCd00000002*
+ ID_MODEL_FROM_DATABASE=QsNetIII Elan5 Network Adapter
+
+pci:v000014FD*
+ ID_VENDOR_FROM_DATABASE=JAPAN Computer Industry Inc
+
+pci:v000014FE*
+ ID_VENDOR_FROM_DATABASE=ARCHTEK TELECOM Corp
+
+pci:v000014FF*
+ ID_VENDOR_FROM_DATABASE=TWINHEAD INTERNATIONAL Corp
+
+pci:v00001500*
+ ID_VENDOR_FROM_DATABASE=DELTA Electronics, Inc
+
+pci:v00001500d00001360*
+ ID_MODEL_FROM_DATABASE=RTL81xx RealTek Ethernet
+
+pci:v00001501*
+ ID_VENDOR_FROM_DATABASE=BANKSOFT CANADA Ltd
+
+pci:v00001502*
+ ID_VENDOR_FROM_DATABASE=MITSUBISHI ELECTRIC LOGISTICS SUPPORT Co Ltd
+
+pci:v00001503*
+ ID_VENDOR_FROM_DATABASE=KAWASAKI LSI USA Inc
+
+pci:v00001504*
+ ID_VENDOR_FROM_DATABASE=KAISER Electronics
+
+pci:v00001505*
+ ID_VENDOR_FROM_DATABASE=ITA INGENIEURBURO FUR TESTAUFGABEN GmbH
+
+pci:v00001506*
+ ID_VENDOR_FROM_DATABASE=CHAMELEON Systems Inc
+
+pci:v00001507*
+ ID_VENDOR_FROM_DATABASE=Motorola ?? / HTEC
+
+pci:v00001507d00000001*
+ ID_MODEL_FROM_DATABASE=MPC105 [Eagle]
+
+pci:v00001507d00000002*
+ ID_MODEL_FROM_DATABASE=MPC106 [Grackle]
+
+pci:v00001507d00000003*
+ ID_MODEL_FROM_DATABASE=MPC8240 [Kahlua]
+
+pci:v00001507d00000100*
+ ID_MODEL_FROM_DATABASE=MC145575 [HFC-PCI]
+
+pci:v00001507d00000431*
+ ID_MODEL_FROM_DATABASE=KTI829c 100VG
+
+pci:v00001507d00004801*
+ ID_MODEL_FROM_DATABASE=Raven
+
+pci:v00001507d00004802*
+ ID_MODEL_FROM_DATABASE=Falcon
+
+pci:v00001507d00004803*
+ ID_MODEL_FROM_DATABASE=Hawk
+
+pci:v00001507d00004806*
+ ID_MODEL_FROM_DATABASE=CPX8216
+
+pci:v00001508*
+ ID_VENDOR_FROM_DATABASE=HONDA CONNECTORS/MHOTRONICS Inc
+
+pci:v00001509*
+ ID_VENDOR_FROM_DATABASE=FIRST INTERNATIONAL Computer Inc
+
+pci:v0000150A*
+ ID_VENDOR_FROM_DATABASE=FORVUS RESEARCH Inc
+
+pci:v0000150B*
+ ID_VENDOR_FROM_DATABASE=YAMASHITA Systems Corp
+
+pci:v0000150C*
+ ID_VENDOR_FROM_DATABASE=KYOPAL CO Ltd
+
+pci:v0000150D*
+ ID_VENDOR_FROM_DATABASE=WARPSPPED Inc
+
+pci:v0000150E*
+ ID_VENDOR_FROM_DATABASE=C-PORT Corp
+
+pci:v0000150F*
+ ID_VENDOR_FROM_DATABASE=INTEC GmbH
+
+pci:v00001510*
+ ID_VENDOR_FROM_DATABASE=BEHAVIOR TECH Computer Corp
+
+pci:v00001511*
+ ID_VENDOR_FROM_DATABASE=CENTILLIUM Technology Corp
+
+pci:v00001512*
+ ID_VENDOR_FROM_DATABASE=ROSUN Technologies Inc
+
+pci:v00001513*
+ ID_VENDOR_FROM_DATABASE=Raychem
+
+pci:v00001514*
+ ID_VENDOR_FROM_DATABASE=TFL LAN Inc
+
+pci:v00001515*
+ ID_VENDOR_FROM_DATABASE=Advent design
+
+pci:v00001516*
+ ID_VENDOR_FROM_DATABASE=MYSON Technology Inc
+
+pci:v00001516d00000800*
+ ID_MODEL_FROM_DATABASE=MTD-8xx 100/10M Ethernet PCI Adapter
+
+pci:v00001516d00000803*
+ ID_MODEL_FROM_DATABASE=SURECOM EP-320X-S 100/10M Ethernet PCI Adapter
+
+pci:v00001516d00000803sv00001320sd000010BD*
+ ID_MODEL_FROM_DATABASE=SURECOM EP-320X-S 100/10M Ethernet PCI Adapter
+
+pci:v00001516d00000891*
+ ID_MODEL_FROM_DATABASE=MTD-8xx 100/10M Ethernet PCI Adapter
+
+pci:v00001517*
+ ID_VENDOR_FROM_DATABASE=ECHOTEK Corp
+
+pci:v00001518*
+ ID_VENDOR_FROM_DATABASE=Kontron Modular Computers GmbH
+
+pci:v00001519*
+ ID_VENDOR_FROM_DATABASE=TELEFON AKTIEBOLAGET LM Ericsson
+
+pci:v0000151A*
+ ID_VENDOR_FROM_DATABASE=Globetek
+
+pci:v0000151Ad00001002*
+ ID_MODEL_FROM_DATABASE=PCI-1002
+
+pci:v0000151Ad00001004*
+ ID_MODEL_FROM_DATABASE=PCI-1004
+
+pci:v0000151Ad00001008*
+ ID_MODEL_FROM_DATABASE=PCI-1008
+
+pci:v0000151B*
+ ID_VENDOR_FROM_DATABASE=COMBOX Ltd
+
+pci:v0000151C*
+ ID_VENDOR_FROM_DATABASE=DIGITAL AUDIO LABS Inc
+
+pci:v0000151Cd00000003*
+ ID_MODEL_FROM_DATABASE=Prodif T 2496
+
+pci:v0000151Cd00004000*
+ ID_MODEL_FROM_DATABASE=Prodif 88
+
+pci:v0000151D*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Computer Products Of America
+
+pci:v0000151E*
+ ID_VENDOR_FROM_DATABASE=MATRIX Corp
+
+pci:v0000151F*
+ ID_VENDOR_FROM_DATABASE=TOPIC SEMICONDUCTOR Corp
+
+pci:v0000151Fd00000000*
+ ID_MODEL_FROM_DATABASE=TP560 Data/Fax/Voice 56k modem
+
+pci:v00001520*
+ ID_VENDOR_FROM_DATABASE=CHAPLET System Inc
+
+pci:v00001521*
+ ID_VENDOR_FROM_DATABASE=BELL Corp
+
+pci:v00001522*
+ ID_VENDOR_FROM_DATABASE=MainPine Ltd
+
+pci:v00001522d00000100*
+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge
+
+pci:v00001522d00000100sv00001522sd00000200*
+ ID_MODEL_FROM_DATABASE=RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem
+
+pci:v00001522d00000100sv00001522sd00000300*
+ ID_MODEL_FROM_DATABASE=RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem
+
+pci:v00001522d00000100sv00001522sd00000400*
+ ID_MODEL_FROM_DATABASE=RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem
+
+pci:v00001522d00000100sv00001522sd00000500*
+ ID_MODEL_FROM_DATABASE=RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem
+
+pci:v00001522d00000100sv00001522sd00000600*
+ ID_MODEL_FROM_DATABASE=RockForce+ 2 Port V.90 Data/Fax/Voice Modem
+
+pci:v00001522d00000100sv00001522sd00000700*
+ ID_MODEL_FROM_DATABASE=RockForce+ 4 Port V.90 Data/Fax/Voice Modem
+
+pci:v00001522d00000100sv00001522sd00000800*
+ ID_MODEL_FROM_DATABASE=RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem
+
+pci:v00001522d00000100sv00001522sd00000C00*
+ ID_MODEL_FROM_DATABASE=RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem
+
+pci:v00001522d00000100sv00001522sd00000D00*
+ ID_MODEL_FROM_DATABASE=RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem
+
+pci:v00001522d00000100sv00001522sd00001D00*
+ ID_MODEL_FROM_DATABASE=RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem
+
+pci:v00001522d00000100sv00001522sd00002000*
+ ID_MODEL_FROM_DATABASE=RockForceD1 1 Port V.90 Data Modem
+
+pci:v00001522d00000100sv00001522sd00002100*
+ ID_MODEL_FROM_DATABASE=RockForceF1 1 Port V.34 Super-G3 Fax Modem
+
+pci:v00001522d00000100sv00001522sd00002200*
+ ID_MODEL_FROM_DATABASE=RockForceD2 2 Port V.90 Data Modem
+
+pci:v00001522d00000100sv00001522sd00002300*
+ ID_MODEL_FROM_DATABASE=RockForceF2 2 Port V.34 Super-G3 Fax Modem
+
+pci:v00001522d00000100sv00001522sd00002400*
+ ID_MODEL_FROM_DATABASE=RockForceD4 4 Port V.90 Data Modem
+
+pci:v00001522d00000100sv00001522sd00002500*
+ ID_MODEL_FROM_DATABASE=RockForceF4 4 Port V.34 Super-G3 Fax Modem
+
+pci:v00001522d00000100sv00001522sd00002600*
+ ID_MODEL_FROM_DATABASE=RockForceD8 8 Port V.90 Data Modem
+
+pci:v00001522d00000100sv00001522sd00002700*
+ ID_MODEL_FROM_DATABASE=RockForceF8 8 Port V.34 Super-G3 Fax Modem
+
+pci:v00001522d00000100sv00001522sd00003000*
+ ID_MODEL_FROM_DATABASE=IQ Express D1 - 1 Port V.92 Data Modem
+
+pci:v00001522d00000100sv00001522sd00003100*
+ ID_MODEL_FROM_DATABASE=IQ Express F1 - 1 Port V.34 Super-G3 Fax Modem
+
+pci:v00001522d00000100sv00001522sd00003200*
+ ID_MODEL_FROM_DATABASE=IQ Express D2 - 2 Port V.92 Data Modem
+
+pci:v00001522d00000100sv00001522sd00003300*
+ ID_MODEL_FROM_DATABASE=IQ Express F2 - 2 Port V.34 Super-G3 Fax Modem
+
+pci:v00001522d00000100sv00001522sd00003400*
+ ID_MODEL_FROM_DATABASE=IQ Express D4 - 4 Port V.92 Data Modem
+
+pci:v00001522d00000100sv00001522sd00003500*
+ ID_MODEL_FROM_DATABASE=IQ Express F4 - 4 Port V.34 Super-G3 Fax Modem
+
+pci:v00001522d00000100sv00001522sd00003C00*
+ ID_MODEL_FROM_DATABASE=IQ Express D8 - 8 Port V.92 Data Modem
+
+pci:v00001522d00000100sv00001522sd00003D00*
+ ID_MODEL_FROM_DATABASE=IQ Express F8 - 8 Port V.34 Super-G3 Fax Modem
+
+pci:v00001522d00004000*
+ ID_MODEL_FROM_DATABASE=PCI Express UART
+
+pci:v00001522d00004000sv00001522sd00004001*
+ ID_MODEL_FROM_DATABASE=IQ Express 1-port V.34 Super-G3 Fax
+
+pci:v00001522d00004000sv00001522sd00004002*
+ ID_MODEL_FROM_DATABASE=IQ Express 2-port V.34 Super-G3 Fax
+
+pci:v00001522d00004000sv00001522sd00004004*
+ ID_MODEL_FROM_DATABASE=IQ Express 4-port V.34 Super-G3 Fax
+
+pci:v00001522d00004000sv00001522sd00004008*
+ ID_MODEL_FROM_DATABASE=IQ Express 8-port V.34 Super-G3 Fax
+
+pci:v00001522d00004000sv00001522sd00004100*
+ ID_MODEL_FROM_DATABASE=IQ Express SideBand
+
+pci:v00001523*
+ ID_VENDOR_FROM_DATABASE=MUSIC Semiconductors
+
+pci:v00001524*
+ ID_VENDOR_FROM_DATABASE=ENE Technology Inc
+
+pci:v00001524d00000510*
+ ID_MODEL_FROM_DATABASE=CB710 Memory Card Reader Controller
+
+pci:v00001524d00000510sv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=NX9500
+
+pci:v00001524d00000520*
+ ID_MODEL_FROM_DATABASE=FLASH memory: ENE Technology Inc:
+
+pci:v00001524d00000530*
+ ID_MODEL_FROM_DATABASE=ENE PCI Memory Stick Card Reader Controller
+
+pci:v00001524d00000550*
+ ID_MODEL_FROM_DATABASE=ENE PCI Secure Digital Card Reader Controller
+
+pci:v00001524d00000551*
+ ID_MODEL_FROM_DATABASE=SD/MMC Card Reader Controller
+
+pci:v00001524d00000610*
+ ID_MODEL_FROM_DATABASE=PCI Smart Card Reader Controller
+
+pci:v00001524d00000720*
+ ID_MODEL_FROM_DATABASE=Memory Stick Card Reader Controller
+
+pci:v00001524d00000730*
+ ID_MODEL_FROM_DATABASE=ENE PCI Memory Stick Card Reader Controller
+
+pci:v00001524d00000750*
+ ID_MODEL_FROM_DATABASE=ENE PCI SmartMedia / xD Card Reader Controller
+
+pci:v00001524d00000751*
+ ID_MODEL_FROM_DATABASE=ENE PCI Secure Digital / MMC Card Reader Controller
+
+pci:v00001524d00001211*
+ ID_MODEL_FROM_DATABASE=CB1211 Cardbus Controller
+
+pci:v00001524d00001225*
+ ID_MODEL_FROM_DATABASE=CB1225 Cardbus Controller
+
+pci:v00001524d00001410*
+ ID_MODEL_FROM_DATABASE=CB1410 Cardbus Controller
+
+pci:v00001524d00001410sv00001025sd0000003C*
+ ID_MODEL_FROM_DATABASE=CL50 motherboard
+
+pci:v00001524d00001410sv00001025sd0000005A*
+ ID_MODEL_FROM_DATABASE=TravelMate 290
+
+pci:v00001524d00001411*
+ ID_MODEL_FROM_DATABASE=CB-710/2/4 Cardbus Controller
+
+pci:v00001524d00001411sv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=NX9500
+
+pci:v00001524d00001412*
+ ID_MODEL_FROM_DATABASE=CB-712/4 Cardbus Controller
+
+pci:v00001524d00001420*
+ ID_MODEL_FROM_DATABASE=CB1420 Cardbus Controller
+
+pci:v00001524d00001421*
+ ID_MODEL_FROM_DATABASE=CB-720/2/4 Cardbus Controller
+
+pci:v00001524d00001422*
+ ID_MODEL_FROM_DATABASE=CB-722/4 Cardbus Controller
+
+pci:v00001525*
+ ID_VENDOR_FROM_DATABASE=IMPACT Technologies
+
+pci:v00001526*
+ ID_VENDOR_FROM_DATABASE=ISS, Inc
+
+pci:v00001527*
+ ID_VENDOR_FROM_DATABASE=SOLECTRON
+
+pci:v00001528*
+ ID_VENDOR_FROM_DATABASE=ACKSYS
+
+pci:v00001529*
+ ID_VENDOR_FROM_DATABASE=AMERICAN MICROSystems Inc
+
+pci:v0000152A*
+ ID_VENDOR_FROM_DATABASE=QUICKTURN DESIGN Systems
+
+pci:v0000152B*
+ ID_VENDOR_FROM_DATABASE=FLYTECH Technology CO Ltd
+
+pci:v0000152C*
+ ID_VENDOR_FROM_DATABASE=MACRAIGOR Systems LLC
+
+pci:v0000152D*
+ ID_VENDOR_FROM_DATABASE=QUANTA Computer Inc
+
+pci:v0000152E*
+ ID_VENDOR_FROM_DATABASE=MELEC Inc
+
+pci:v0000152F*
+ ID_VENDOR_FROM_DATABASE=PHILIPS - CRYPTO
+
+pci:v00001530*
+ ID_VENDOR_FROM_DATABASE=ACQIS Technology Inc
+
+pci:v00001531*
+ ID_VENDOR_FROM_DATABASE=CHRYON Corp
+
+pci:v00001532*
+ ID_VENDOR_FROM_DATABASE=ECHELON Corp
+
+pci:v00001532d00000020*
+ ID_MODEL_FROM_DATABASE=LonWorks PCLTA-20 PCI LonTalk Adapter
+
+pci:v00001533*
+ ID_VENDOR_FROM_DATABASE=BALTIMORE
+
+pci:v00001534*
+ ID_VENDOR_FROM_DATABASE=ROAD Corp
+
+pci:v00001535*
+ ID_VENDOR_FROM_DATABASE=EVERGREEN Technologies Inc
+
+pci:v00001536*
+ ID_VENDOR_FROM_DATABASE=ACTIS Computer
+
+pci:v00001537*
+ ID_VENDOR_FROM_DATABASE=DATALEX COMMUNCATIONS
+
+pci:v00001538*
+ ID_VENDOR_FROM_DATABASE=ARALION Inc
+
+pci:v00001538d00000303*
+ ID_MODEL_FROM_DATABASE=ARS106S Ultra ATA 133/100/66 Host Controller
+
+pci:v00001539*
+ ID_VENDOR_FROM_DATABASE=ATELIER INFORMATIQUES et ELECTRONIQUE ETUDES S.A.
+
+pci:v0000153A*
+ ID_VENDOR_FROM_DATABASE=ONO SOKKI
+
+pci:v0000153B*
+ ID_VENDOR_FROM_DATABASE=TERRATEC Electronic GmbH
+
+pci:v0000153Bd00001144*
+ ID_MODEL_FROM_DATABASE=Aureon 5.1
+
+pci:v0000153Bd00001147*
+ ID_MODEL_FROM_DATABASE=Aureon 5.1 Sky
+
+pci:v0000153Bd00001158*
+ ID_MODEL_FROM_DATABASE=Philips Semiconductors SAA7134 (rev 01) [Terratec Cinergy 600 TV]
+
+pci:v0000153C*
+ ID_VENDOR_FROM_DATABASE=ANTAL Electronic
+
+pci:v0000153D*
+ ID_VENDOR_FROM_DATABASE=FILANET Corp
+
+pci:v0000153E*
+ ID_VENDOR_FROM_DATABASE=TECHWELL Inc
+
+pci:v0000153F*
+ ID_VENDOR_FROM_DATABASE=MIPS Technologies, Inc.
+
+pci:v0000153Fd00000001*
+ ID_MODEL_FROM_DATABASE=SOC-it 101 System Controller
+
+pci:v00001540*
+ ID_VENDOR_FROM_DATABASE=PROVIDEO MULTIMEDIA Co Ltd
+
+pci:v00001541*
+ ID_VENDOR_FROM_DATABASE=MACHONE Communications
+
+pci:v00001542*
+ ID_VENDOR_FROM_DATABASE=Concurrent Computer Corporation
+
+pci:v00001542d00009260*
+ ID_MODEL_FROM_DATABASE=RCIM-II Real-Time Clock & Interrupt Module
+
+pci:v00001543*
+ ID_VENDOR_FROM_DATABASE=SILICON Laboratories
+
+pci:v00001543d00003052*
+ ID_MODEL_FROM_DATABASE=Intel 537 [Winmodem]
+
+pci:v00001543d00004C22*
+ ID_MODEL_FROM_DATABASE=Si3036 MC'97 DAA
+
+pci:v00001544*
+ ID_VENDOR_FROM_DATABASE=DCM DATA Systems
+
+pci:v00001545*
+ ID_VENDOR_FROM_DATABASE=VISIONTEK
+
+pci:v00001546*
+ ID_VENDOR_FROM_DATABASE=IOI Technology Corp
+
+pci:v00001547*
+ ID_VENDOR_FROM_DATABASE=MITUTOYO Corp
+
+pci:v00001548*
+ ID_VENDOR_FROM_DATABASE=JET PROPULSION Laboratory
+
+pci:v00001549*
+ ID_VENDOR_FROM_DATABASE=INTERCONNECT Systems Solutions
+
+pci:v0000154A*
+ ID_VENDOR_FROM_DATABASE=MAX Technologies Inc
+
+pci:v0000154B*
+ ID_VENDOR_FROM_DATABASE=COMPUTEX Co Ltd
+
+pci:v0000154C*
+ ID_VENDOR_FROM_DATABASE=VISUAL Technology Inc
+
+pci:v0000154D*
+ ID_VENDOR_FROM_DATABASE=PAN INTERNATIONAL Industrial Corp
+
+pci:v0000154E*
+ ID_VENDOR_FROM_DATABASE=SERVOTEST Ltd
+
+pci:v0000154F*
+ ID_VENDOR_FROM_DATABASE=STRATABEAM Technology
+
+pci:v00001550*
+ ID_VENDOR_FROM_DATABASE=OPEN NETWORK Co Ltd
+
+pci:v00001551*
+ ID_VENDOR_FROM_DATABASE=SMART Electronic DEVELOPMENT GmBH
+
+pci:v00001552*
+ ID_VENDOR_FROM_DATABASE=RACAL AIRTECH Ltd
+
+pci:v00001553*
+ ID_VENDOR_FROM_DATABASE=CHICONY Electronics Co Ltd
+
+pci:v00001554*
+ ID_VENDOR_FROM_DATABASE=PROLINK Microsystems Corp
+
+pci:v00001555*
+ ID_VENDOR_FROM_DATABASE=GESYTEC GmBH
+
+pci:v00001556*
+ ID_VENDOR_FROM_DATABASE=PLD APPLICATIONS
+
+pci:v00001557*
+ ID_VENDOR_FROM_DATABASE=MEDIASTAR Co Ltd
+
+pci:v00001558*
+ ID_VENDOR_FROM_DATABASE=CLEVO/KAPOK Computer
+
+pci:v00001559*
+ ID_VENDOR_FROM_DATABASE=SI LOGIC Ltd
+
+pci:v0000155A*
+ ID_VENDOR_FROM_DATABASE=INNOMEDIA Inc
+
+pci:v0000155B*
+ ID_VENDOR_FROM_DATABASE=PROTAC INTERNATIONAL Corp
+
+pci:v0000155C*
+ ID_VENDOR_FROM_DATABASE=Cemax-Icon Inc
+
+pci:v0000155D*
+ ID_VENDOR_FROM_DATABASE=Mac System Co Ltd
+
+pci:v0000155E*
+ ID_VENDOR_FROM_DATABASE=LP Elektronik GmbH
+
+pci:v0000155F*
+ ID_VENDOR_FROM_DATABASE=Perle Systems Ltd
+
+pci:v00001560*
+ ID_VENDOR_FROM_DATABASE=Terayon Communications Systems
+
+pci:v00001561*
+ ID_VENDOR_FROM_DATABASE=Viewgraphics Inc
+
+pci:v00001562*
+ ID_VENDOR_FROM_DATABASE=Symbol Technologies
+
+pci:v00001563*
+ ID_VENDOR_FROM_DATABASE=A-Trend Technology Co Ltd
+
+pci:v00001564*
+ ID_VENDOR_FROM_DATABASE=Yamakatsu Electronics Industry Co Ltd
+
+pci:v00001565*
+ ID_VENDOR_FROM_DATABASE=Biostar Microtech Int'l Corp
+
+pci:v00001566*
+ ID_VENDOR_FROM_DATABASE=Ardent Technologies Inc
+
+pci:v00001567*
+ ID_VENDOR_FROM_DATABASE=Jungsoft
+
+pci:v00001568*
+ ID_VENDOR_FROM_DATABASE=DDK Electronics Inc
+
+pci:v00001569*
+ ID_VENDOR_FROM_DATABASE=Palit Microsystems Inc.
+
+pci:v0000156A*
+ ID_VENDOR_FROM_DATABASE=Avtec Systems
+
+pci:v0000156B*
+ ID_VENDOR_FROM_DATABASE=2wire Inc
+
+pci:v0000156C*
+ ID_VENDOR_FROM_DATABASE=Vidac Electronics GmbH
+
+pci:v0000156D*
+ ID_VENDOR_FROM_DATABASE=Alpha-Top Corp
+
+pci:v0000156E*
+ ID_VENDOR_FROM_DATABASE=Alfa Inc
+
+pci:v0000156F*
+ ID_VENDOR_FROM_DATABASE=M-Systems Flash Disk Pioneers Ltd
+
+pci:v00001570*
+ ID_VENDOR_FROM_DATABASE=Lecroy Corp
+
+pci:v00001571*
+ ID_VENDOR_FROM_DATABASE=Contemporary Controls
+
+pci:v00001571d0000A001*
+ ID_MODEL_FROM_DATABASE=CCSI PCI20-485 ARCnet
+
+pci:v00001571d0000A002*
+ ID_MODEL_FROM_DATABASE=CCSI PCI20-485D ARCnet
+
+pci:v00001571d0000A003*
+ ID_MODEL_FROM_DATABASE=CCSI PCI20-485X ARCnet
+
+pci:v00001571d0000A004*
+ ID_MODEL_FROM_DATABASE=CCSI PCI20-CXB ARCnet
+
+pci:v00001571d0000A005*
+ ID_MODEL_FROM_DATABASE=CCSI PCI20-CXS ARCnet
+
+pci:v00001571d0000A006*
+ ID_MODEL_FROM_DATABASE=CCSI PCI20-FOG-SMA ARCnet
+
+pci:v00001571d0000A007*
+ ID_MODEL_FROM_DATABASE=CCSI PCI20-FOG-ST ARCnet
+
+pci:v00001571d0000A008*
+ ID_MODEL_FROM_DATABASE=CCSI PCI20-TB5 ARCnet
+
+pci:v00001571d0000A009*
+ ID_MODEL_FROM_DATABASE=CCSI PCI20-5-485 5Mbit ARCnet
+
+pci:v00001571d0000A00A*
+ ID_MODEL_FROM_DATABASE=CCSI PCI20-5-485D 5Mbit ARCnet
+
+pci:v00001571d0000A00B*
+ ID_MODEL_FROM_DATABASE=CCSI PCI20-5-485X 5Mbit ARCnet
+
+pci:v00001571d0000A00C*
+ ID_MODEL_FROM_DATABASE=CCSI PCI20-5-FOG-ST 5Mbit ARCnet
+
+pci:v00001571d0000A00D*
+ ID_MODEL_FROM_DATABASE=CCSI PCI20-5-FOG-SMA 5Mbit ARCnet
+
+pci:v00001571d0000A201*
+ ID_MODEL_FROM_DATABASE=CCSI PCI22-485 10Mbit ARCnet
+
+pci:v00001571d0000A202*
+ ID_MODEL_FROM_DATABASE=CCSI PCI22-485D 10Mbit ARCnet
+
+pci:v00001571d0000A203*
+ ID_MODEL_FROM_DATABASE=CCSI PCI22-485X 10Mbit ARCnet
+
+pci:v00001571d0000A204*
+ ID_MODEL_FROM_DATABASE=CCSI PCI22-CHB 10Mbit ARCnet
+
+pci:v00001571d0000A205*
+ ID_MODEL_FROM_DATABASE=CCSI PCI22-FOG_ST 10Mbit ARCnet
+
+pci:v00001571d0000A206*
+ ID_MODEL_FROM_DATABASE=CCSI PCI22-THB 10Mbit ARCnet
+
+pci:v00001572*
+ ID_VENDOR_FROM_DATABASE=Otis Elevator Company
+
+pci:v00001573*
+ ID_VENDOR_FROM_DATABASE=Lattice - Vantis
+
+pci:v00001574*
+ ID_VENDOR_FROM_DATABASE=Fairchild Semiconductor
+
+pci:v00001575*
+ ID_VENDOR_FROM_DATABASE=Voltaire Advanced Data Security Ltd
+
+pci:v00001576*
+ ID_VENDOR_FROM_DATABASE=Viewcast COM
+
+pci:v00001578*
+ ID_VENDOR_FROM_DATABASE=HITT
+
+pci:v00001578d00004D34*
+ ID_MODEL_FROM_DATABASE=VPMK4 [Video Processor Mk IV]
+
+pci:v00001578d00005615*
+ ID_MODEL_FROM_DATABASE=VPMK3 [Video Processor Mk III]
+
+pci:v00001579*
+ ID_VENDOR_FROM_DATABASE=Dual Technology Corp
+
+pci:v0000157A*
+ ID_VENDOR_FROM_DATABASE=Japan Elecronics Ind Inc
+
+pci:v0000157B*
+ ID_VENDOR_FROM_DATABASE=Star Multimedia Corp
+
+pci:v0000157C*
+ ID_VENDOR_FROM_DATABASE=Eurosoft (UK)
+
+pci:v0000157Cd00008001*
+ ID_MODEL_FROM_DATABASE=Fix2000 PCI Y2K Compliance Card
+
+pci:v0000157D*
+ ID_VENDOR_FROM_DATABASE=Gemflex Networks
+
+pci:v0000157E*
+ ID_VENDOR_FROM_DATABASE=Transition Networks
+
+pci:v0000157F*
+ ID_VENDOR_FROM_DATABASE=PX Instruments Technology Ltd
+
+pci:v00001580*
+ ID_VENDOR_FROM_DATABASE=Primex Aerospace Co
+
+pci:v00001581*
+ ID_VENDOR_FROM_DATABASE=SEH Computertechnik GmbH
+
+pci:v00001582*
+ ID_VENDOR_FROM_DATABASE=Cytec Corp
+
+pci:v00001583*
+ ID_VENDOR_FROM_DATABASE=Inet Technologies Inc
+
+pci:v00001584*
+ ID_VENDOR_FROM_DATABASE=Uniwill Computer Corp
+
+pci:v00001585*
+ ID_VENDOR_FROM_DATABASE=Logitron
+
+pci:v00001586*
+ ID_VENDOR_FROM_DATABASE=Lancast Inc
+
+pci:v00001587*
+ ID_VENDOR_FROM_DATABASE=Konica Corp
+
+pci:v00001588*
+ ID_VENDOR_FROM_DATABASE=Solidum Systems Corp
+
+pci:v00001589*
+ ID_VENDOR_FROM_DATABASE=Atlantek Microsystems Pty Ltd
+
+pci:v00001589d00000008*
+ ID_MODEL_FROM_DATABASE=Leutron Vision PicPortExpress CL
+
+pci:v00001589d00000009*
+ ID_MODEL_FROM_DATABASE=Leutron Vision PicPortExpress CL Stereo
+
+pci:v0000158A*
+ ID_VENDOR_FROM_DATABASE=Digalog Systems Inc
+
+pci:v0000158B*
+ ID_VENDOR_FROM_DATABASE=Allied Data Technologies
+
+pci:v0000158C*
+ ID_VENDOR_FROM_DATABASE=Hitachi Semiconductor & Devices Sales Co Ltd
+
+pci:v0000158D*
+ ID_VENDOR_FROM_DATABASE=Point Multimedia Systems
+
+pci:v0000158E*
+ ID_VENDOR_FROM_DATABASE=Lara Technology Inc
+
+pci:v0000158F*
+ ID_VENDOR_FROM_DATABASE=Ditect Coop
+
+pci:v00001590*
+ ID_VENDOR_FROM_DATABASE=Hewlett-Packard Company
+
+pci:v00001590d00000001*
+ ID_MODEL_FROM_DATABASE=Eagle Cluster Manager
+
+pci:v00001590d00000002*
+ ID_MODEL_FROM_DATABASE=Osprey Cluster Manager
+
+pci:v00001590d00000003*
+ ID_MODEL_FROM_DATABASE=Harrier Cluster Manager
+
+pci:v00001590d0000A01D*
+ ID_MODEL_FROM_DATABASE=FC044X Fibre Channel HBA
+
+pci:v00001591*
+ ID_VENDOR_FROM_DATABASE=ARN
+
+pci:v00001592*
+ ID_VENDOR_FROM_DATABASE=Syba Tech Ltd
+
+pci:v00001592d00000781*
+ ID_MODEL_FROM_DATABASE=Multi-IO Card
+
+pci:v00001592d00000782*
+ ID_MODEL_FROM_DATABASE=Parallel Port Card 2xEPP
+
+pci:v00001592d00000783*
+ ID_MODEL_FROM_DATABASE=Multi-IO Card
+
+pci:v00001592d00000785*
+ ID_MODEL_FROM_DATABASE=Multi-IO Card
+
+pci:v00001592d00000786*
+ ID_MODEL_FROM_DATABASE=Multi-IO Card
+
+pci:v00001592d00000787*
+ ID_MODEL_FROM_DATABASE=Multi-IO Card
+
+pci:v00001592d00000788*
+ ID_MODEL_FROM_DATABASE=Multi-IO Card
+
+pci:v00001592d0000078A*
+ ID_MODEL_FROM_DATABASE=Multi-IO Card
+
+pci:v00001593*
+ ID_VENDOR_FROM_DATABASE=Bops Inc
+
+pci:v00001594*
+ ID_VENDOR_FROM_DATABASE=Netgame Ltd
+
+pci:v00001595*
+ ID_VENDOR_FROM_DATABASE=Diva Systems Corp
+
+pci:v00001596*
+ ID_VENDOR_FROM_DATABASE=Folsom Research Inc
+
+pci:v00001597*
+ ID_VENDOR_FROM_DATABASE=Memec Design Services
+
+pci:v00001598*
+ ID_VENDOR_FROM_DATABASE=Granite Microsystems
+
+pci:v00001599*
+ ID_VENDOR_FROM_DATABASE=Delta Electronics Inc
+
+pci:v0000159A*
+ ID_VENDOR_FROM_DATABASE=General Instrument
+
+pci:v0000159B*
+ ID_VENDOR_FROM_DATABASE=Faraday Technology Corp
+
+pci:v0000159C*
+ ID_VENDOR_FROM_DATABASE=Stratus Computer Systems
+
+pci:v0000159D*
+ ID_VENDOR_FROM_DATABASE=Ningbo Harrison Electronics Co Ltd
+
+pci:v0000159E*
+ ID_VENDOR_FROM_DATABASE=A-Max Technology Co Ltd
+
+pci:v0000159F*
+ ID_VENDOR_FROM_DATABASE=Galea Network Security
+
+pci:v000015A0*
+ ID_VENDOR_FROM_DATABASE=Compumaster SRL
+
+pci:v000015A1*
+ ID_VENDOR_FROM_DATABASE=Geocast Network Systems
+
+pci:v000015A2*
+ ID_VENDOR_FROM_DATABASE=Catalyst Enterprises Inc
+
+pci:v000015A2d00000001*
+ ID_MODEL_FROM_DATABASE=TA700 PCI Bus Analyzer/Exerciser
+
+pci:v000015A3*
+ ID_VENDOR_FROM_DATABASE=Italtel
+
+pci:v000015A4*
+ ID_VENDOR_FROM_DATABASE=X-Net OY
+
+pci:v000015A5*
+ ID_VENDOR_FROM_DATABASE=Toyota Macs Inc
+
+pci:v000015A6*
+ ID_VENDOR_FROM_DATABASE=Sunlight Ultrasound Technologies Ltd
+
+pci:v000015A7*
+ ID_VENDOR_FROM_DATABASE=SSE Telecom Inc
+
+pci:v000015A8*
+ ID_VENDOR_FROM_DATABASE=Shanghai Communications Technologies Center
+
+pci:v000015AA*
+ ID_VENDOR_FROM_DATABASE=Moreton Bay
+
+pci:v000015AB*
+ ID_VENDOR_FROM_DATABASE=Bluesteel Networks Inc
+
+pci:v000015AC*
+ ID_VENDOR_FROM_DATABASE=North Atlantic Instruments
+
+pci:v000015AD*
+ ID_VENDOR_FROM_DATABASE=VMware
+
+pci:v000015ADd00000405*
+ ID_MODEL_FROM_DATABASE=SVGA II Adapter
+
+pci:v000015ADd00000710*
+ ID_MODEL_FROM_DATABASE=SVGA Adapter
+
+pci:v000015ADd00000720*
+ ID_MODEL_FROM_DATABASE=VMXNET Ethernet Controller
+
+pci:v000015ADd00000740*
+ ID_MODEL_FROM_DATABASE=Virtual Machine Communication Interface
+
+pci:v000015ADd00000770*
+ ID_MODEL_FROM_DATABASE=USB2 EHCI Controller
+
+pci:v000015ADd00000774*
+ ID_MODEL_FROM_DATABASE=USB1.1 UHCI Controller
+
+pci:v000015ADd00000778*
+ ID_MODEL_FROM_DATABASE=USB3 xHCI Controller
+
+pci:v000015ADd00000790*
+ ID_MODEL_FROM_DATABASE=PCI bridge
+
+pci:v000015ADd000007A0*
+ ID_MODEL_FROM_DATABASE=PCI Express Root Port
+
+pci:v000015ADd000007B0*
+ ID_MODEL_FROM_DATABASE=VMXNET3 Ethernet Controller
+
+pci:v000015ADd000007C0*
+ ID_MODEL_FROM_DATABASE=PVSCSI SCSI Controller
+
+pci:v000015ADd00000801*
+ ID_MODEL_FROM_DATABASE=Virtual Machine Interface
+
+pci:v000015ADd00000801sv000015ADsd00000800*
+ ID_MODEL_FROM_DATABASE=Hypervisor ROM Interface
+
+pci:v000015ADd00001977*
+ ID_MODEL_FROM_DATABASE=HD Audio Controller
+
+pci:v000015AE*
+ ID_VENDOR_FROM_DATABASE=Amersham Pharmacia Biotech
+
+pci:v000015B0*
+ ID_VENDOR_FROM_DATABASE=Zoltrix International Ltd
+
+pci:v000015B1*
+ ID_VENDOR_FROM_DATABASE=Source Technology Inc
+
+pci:v000015B2*
+ ID_VENDOR_FROM_DATABASE=Mosaid Technologies Inc
+
+pci:v000015B3*
+ ID_VENDOR_FROM_DATABASE=Mellanox Technologies
+
+pci:v000015B3d00000191*
+ ID_MODEL_FROM_DATABASE=MT25408 [ConnectX IB Flash Recovery]
+
+pci:v000015B3d000001F6*
+ ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3 Flash Recovery]
+
+pci:v000015B3d000001FF*
+ ID_MODEL_FROM_DATABASE=MT27600 Family [Connect-IB Flash Recovery]
+
+pci:v000015B3d00001002*
+ ID_MODEL_FROM_DATABASE=MT25400 Family [ConnectX-2 Virtual Function]
+
+pci:v000015B3d00001003*
+ ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3]
+
+pci:v000015B3d00001004*
+ ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3 Virtual Function]
+
+pci:v000015B3d00001005*
+ ID_MODEL_FROM_DATABASE=MT27510 Family
+
+pci:v000015B3d00001006*
+ ID_MODEL_FROM_DATABASE=MT27511 Family
+
+pci:v000015B3d00001007*
+ ID_MODEL_FROM_DATABASE=MT27520 Family [ConnectX-3 Pro]
+
+pci:v000015B3d00001008*
+ ID_MODEL_FROM_DATABASE=MT27520 Family [ConnectX-3 Pro Virtual Function]
+
+pci:v000015B3d00001009*
+ ID_MODEL_FROM_DATABASE=MT27530 Family
+
+pci:v000015B3d0000100A*
+ ID_MODEL_FROM_DATABASE=MT27531 Family
+
+pci:v000015B3d0000100B*
+ ID_MODEL_FROM_DATABASE=MT27540 Family
+
+pci:v000015B3d0000100C*
+ ID_MODEL_FROM_DATABASE=MT27541 Family
+
+pci:v000015B3d0000100D*
+ ID_MODEL_FROM_DATABASE=MT27550 Family
+
+pci:v000015B3d0000100E*
+ ID_MODEL_FROM_DATABASE=MT27551 Family
+
+pci:v000015B3d0000100F*
+ ID_MODEL_FROM_DATABASE=MT27560 Family
+
+pci:v000015B3d00001010*
+ ID_MODEL_FROM_DATABASE=MT27561 Family
+
+pci:v000015B3d00001011*
+ ID_MODEL_FROM_DATABASE=MT27600 [Connect-IB]
+
+pci:v000015B3d00001012*
+ ID_MODEL_FROM_DATABASE=MT27600 Family [Connect-IB Virtual Function]
+
+pci:v000015B3d00001013*
+ ID_MODEL_FROM_DATABASE=MT27620 Family
+
+pci:v000015B3d00001014*
+ ID_MODEL_FROM_DATABASE=MT27621 Family
+
+pci:v000015B3d00001015*
+ ID_MODEL_FROM_DATABASE=MT27630 Family
+
+pci:v000015B3d00001016*
+ ID_MODEL_FROM_DATABASE=MT27631 Family
+
+pci:v000015B3d00005274*
+ ID_MODEL_FROM_DATABASE=MT21108 InfiniBridge
+
+pci:v000015B3d00005A44*
+ ID_MODEL_FROM_DATABASE=MT23108 InfiniHost
+
+pci:v000015B3d00005A45*
+ ID_MODEL_FROM_DATABASE=MT23108 [Infinihost HCA Flash Recovery]
+
+pci:v000015B3d00005A46*
+ ID_MODEL_FROM_DATABASE=MT23108 PCI Bridge
+
+pci:v000015B3d00005E8C*
+ ID_MODEL_FROM_DATABASE=MT24204 [InfiniHost III Lx HCA]
+
+pci:v000015B3d00005E8D*
+ ID_MODEL_FROM_DATABASE=MT25204 [InfiniHost III Lx HCA Flash Recovery]
+
+pci:v000015B3d00006274*
+ ID_MODEL_FROM_DATABASE=MT25204 [InfiniHost III Lx HCA]
+
+pci:v000015B3d00006278*
+ ID_MODEL_FROM_DATABASE=MT25208 InfiniHost III Ex (Tavor compatibility mode)
+
+pci:v000015B3d00006279*
+ ID_MODEL_FROM_DATABASE=MT25208 [InfiniHost III Ex HCA Flash Recovery]
+
+pci:v000015B3d00006282*
+ ID_MODEL_FROM_DATABASE=MT25208 [InfiniHost III Ex]
+
+pci:v000015B3d00006340*
+ ID_MODEL_FROM_DATABASE=MT25408 [ConnectX VPI - IB SDR / 10GigE]
+
+pci:v000015B3d0000634A*
+ ID_MODEL_FROM_DATABASE=MT25418 [ConnectX VPI PCIe 2.0 2.5GT/s - IB DDR / 10GigE]
+
+pci:v000015B3d00006368*
+ ID_MODEL_FROM_DATABASE=MT25448 [ConnectX EN 10GigE, PCIe 2.0 2.5GT/s]
+
+pci:v000015B3d00006372*
+ ID_MODEL_FROM_DATABASE=MT25408 [ConnectX EN 10GigE 10GBaseT, PCIe 2.0 2.5GT/s]
+
+pci:v000015B3d00006732*
+ ID_MODEL_FROM_DATABASE=MT26418 [ConnectX VPI PCIe 2.0 5GT/s - IB DDR / 10GigE]
+
+pci:v000015B3d0000673C*
+ ID_MODEL_FROM_DATABASE=MT26428 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE]
+
+pci:v000015B3d00006746*
+ ID_MODEL_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+]
+
+pci:v000015B3d00006746sv0000103Csd00001781*
+ ID_MODEL_FROM_DATABASE=NC543i 1-port 4x QDR IB/Flex-10 10Gb Adapter
+
+pci:v000015B3d00006746sv0000103Csd00003349*
+ ID_MODEL_FROM_DATABASE=NC543i 2-port 4xQDR IB/10Gb Adapter
+
+pci:v000015B3d00006750*
+ ID_MODEL_FROM_DATABASE=MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s]
+
+pci:v000015B3d0000675A*
+ ID_MODEL_FROM_DATABASE=MT25408 [ConnectX EN 10GigE 10GBaseT, PCIe Gen2 5GT/s]
+
+pci:v000015B3d00006764*
+ ID_MODEL_FROM_DATABASE=MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s Virtualization+]
+
+pci:v000015B3d00006764sv0000103Csd00003313*
+ ID_MODEL_FROM_DATABASE=HP NC542m Dual Port Flex-10 10GbE BLc Adapter
+
+pci:v000015B3d0000676E*
+ ID_MODEL_FROM_DATABASE=MT26478 [ConnectX EN 40GigE, PCIe 2.0 5GT/s]
+
+pci:v000015B3d00006778*
+ ID_MODEL_FROM_DATABASE=MT26488 [ConnectX VPI PCIe 2.0 5GT/s - IB DDR / 10GigE Virtualization+]
+
+pci:v000015B4*
+ ID_VENDOR_FROM_DATABASE=CCI/TRIAD
+
+pci:v000015B5*
+ ID_VENDOR_FROM_DATABASE=Cimetrics Inc
+
+pci:v000015B6*
+ ID_VENDOR_FROM_DATABASE=Texas Memory Systems Inc
+
+pci:v000015B6d00000001*
+ ID_MODEL_FROM_DATABASE=XP15 DSP Accelerator
+
+pci:v000015B6d00000002*
+ ID_MODEL_FROM_DATABASE=XP30 DSP Accelerator
+
+pci:v000015B6d00000003*
+ ID_MODEL_FROM_DATABASE=XP00 Data Acquisition Device
+
+pci:v000015B6d00000004*
+ ID_MODEL_FROM_DATABASE=XP35 DSP Accelerator
+
+pci:v000015B6d00000007*
+ ID_MODEL_FROM_DATABASE=XP100 DSP Accelerator [XP100-T0]
+
+pci:v000015B6d00000008*
+ ID_MODEL_FROM_DATABASE=XP100 DSP Accelerator [XP100-T1]
+
+pci:v000015B6d00000009*
+ ID_MODEL_FROM_DATABASE=XP100 DSP Accelerator [XP100-E0]
+
+pci:v000015B6d0000000A*
+ ID_MODEL_FROM_DATABASE=XP100 DSP Accelerator [XP100-E1]
+
+pci:v000015B6d0000000E*
+ ID_MODEL_FROM_DATABASE=XP100 DSP Accelerator [XP100-0]
+
+pci:v000015B6d0000000F*
+ ID_MODEL_FROM_DATABASE=XP100 DSP Accelerator [XP100-1]
+
+pci:v000015B6d00000010*
+ ID_MODEL_FROM_DATABASE=XP100 DSP Accelerator [XP100-P0]
+
+pci:v000015B6d00000011*
+ ID_MODEL_FROM_DATABASE=XP100 DSP Accelerator [XP100-P1]
+
+pci:v000015B6d00000012*
+ ID_MODEL_FROM_DATABASE=XP100 DSP Accelerator [XP100-P2]
+
+pci:v000015B6d00000013*
+ ID_MODEL_FROM_DATABASE=XP100 DSP Accelerator [XP100-P3]
+
+pci:v000015B6d00000014*
+ ID_MODEL_FROM_DATABASE=RamSan Flash SSD
+
+pci:v000015B6d00000015*
+ ID_MODEL_FROM_DATABASE=ZBox
+
+pci:v000015B7*
+ ID_VENDOR_FROM_DATABASE=Sandisk Corp
+
+pci:v000015B8*
+ ID_VENDOR_FROM_DATABASE=ADDI-DATA GmbH
+
+pci:v000015B8d00001001*
+ ID_MODEL_FROM_DATABASE=APCI1516 SP controller (16 digi outputs)
+
+pci:v000015B8d00001003*
+ ID_MODEL_FROM_DATABASE=APCI1032 SP controller (32 digi inputs w/ opto coupler)
+
+pci:v000015B8d00001004*
+ ID_MODEL_FROM_DATABASE=APCI2032 SP controller (32 digi outputs)
+
+pci:v000015B8d00001005*
+ ID_MODEL_FROM_DATABASE=APCI2200 SP controller (8/16 digi outputs (relay))
+
+pci:v000015B8d00001006*
+ ID_MODEL_FROM_DATABASE=APCI1564 SP controller (32 digi ins, 32 digi outs)
+
+pci:v000015B8d0000100A*
+ ID_MODEL_FROM_DATABASE=APCI1696 SP controller (96 TTL I/Os)
+
+pci:v000015B8d00003001*
+ ID_MODEL_FROM_DATABASE=APCI3501 SP controller (analog output board)
+
+pci:v000015B8d0000300F*
+ ID_MODEL_FROM_DATABASE=APCI3600 Noise and vibration measurement board
+
+pci:v000015B8d00007001*
+ ID_MODEL_FROM_DATABASE=APCI7420 2-port Serial Controller
+
+pci:v000015B8d00007002*
+ ID_MODEL_FROM_DATABASE=APCI7300 Serial Controller
+
+pci:v000015B9*
+ ID_VENDOR_FROM_DATABASE=Maestro Digital Communications
+
+pci:v000015BA*
+ ID_VENDOR_FROM_DATABASE=Impacct Technology Corp
+
+pci:v000015BB*
+ ID_VENDOR_FROM_DATABASE=Portwell Inc
+
+pci:v000015BC*
+ ID_VENDOR_FROM_DATABASE=Agilent Technologies
+
+pci:v000015BCd00000100*
+ ID_MODEL_FROM_DATABASE=HPFC-5600 Tachyon DX2+ FC
+
+pci:v000015BCd00000103*
+ ID_MODEL_FROM_DATABASE=QX4 PCI Express quad 4-gigabit Fibre Channel controller
+
+pci:v000015BCd00000105*
+ ID_MODEL_FROM_DATABASE=Celerity FC-42XS Fibre Channel Adapter
+
+pci:v000015BCd00000105sv0000117Csd00000022*
+ ID_MODEL_FROM_DATABASE=Celerity FC-42XS Fibre Channel Adapter
+
+pci:v000015BCd00001100*
+ ID_MODEL_FROM_DATABASE=E8001-66442 PCI Express CIC
+
+pci:v000015BCd00002922*
+ ID_MODEL_FROM_DATABASE=64 Bit, 133MHz PCI-X Exerciser & Protocol Checker
+
+pci:v000015BCd00002928*
+ ID_MODEL_FROM_DATABASE=64 Bit, 66MHz PCI Exerciser & Analyzer
+
+pci:v000015BCd00002929*
+ ID_MODEL_FROM_DATABASE=64 Bit, 133MHz PCI-X Analyzer & Exerciser
+
+pci:v000015BD*
+ ID_VENDOR_FROM_DATABASE=DFI Inc
+
+pci:v000015BE*
+ ID_VENDOR_FROM_DATABASE=Sola Electronics
+
+pci:v000015BF*
+ ID_VENDOR_FROM_DATABASE=High Tech Computer Corp (HTC)
+
+pci:v000015C0*
+ ID_VENDOR_FROM_DATABASE=BVM Ltd
+
+pci:v000015C1*
+ ID_VENDOR_FROM_DATABASE=Quantel
+
+pci:v000015C2*
+ ID_VENDOR_FROM_DATABASE=Newer Technology Inc
+
+pci:v000015C3*
+ ID_VENDOR_FROM_DATABASE=Taiwan Mycomp Co Ltd
+
+pci:v000015C4*
+ ID_VENDOR_FROM_DATABASE=EVSX Inc
+
+pci:v000015C5*
+ ID_VENDOR_FROM_DATABASE=Procomp Informatics Ltd
+
+pci:v000015C5d00008010*
+ ID_MODEL_FROM_DATABASE=1394b - 1394 Firewire 3-Port Host Adapter Card
+
+pci:v000015C6*
+ ID_VENDOR_FROM_DATABASE=Technical University of Budapest
+
+pci:v000015C7*
+ ID_VENDOR_FROM_DATABASE=Tateyama System Laboratory Co Ltd
+
+pci:v000015C7d00000349*
+ ID_MODEL_FROM_DATABASE=Tateyama C-PCI PLC/NC card Rev.01A
+
+pci:v000015C8*
+ ID_VENDOR_FROM_DATABASE=Penta Media Co Ltd
+
+pci:v000015C9*
+ ID_VENDOR_FROM_DATABASE=Serome Technology Inc
+
+pci:v000015CA*
+ ID_VENDOR_FROM_DATABASE=Bitboys OY
+
+pci:v000015CB*
+ ID_VENDOR_FROM_DATABASE=AG Electronics Ltd
+
+pci:v000015CC*
+ ID_VENDOR_FROM_DATABASE=Hotrail Inc
+
+pci:v000015CD*
+ ID_VENDOR_FROM_DATABASE=Dreamtech Co Ltd
+
+pci:v000015CE*
+ ID_VENDOR_FROM_DATABASE=Genrad Inc
+
+pci:v000015CF*
+ ID_VENDOR_FROM_DATABASE=Hilscher GmbH
+
+pci:v000015CFd00000000*
+ ID_MODEL_FROM_DATABASE=CIFX 50E-DP(M/S)
+
+pci:v000015D1*
+ ID_VENDOR_FROM_DATABASE=Infineon Technologies AG
+
+pci:v000015D2*
+ ID_VENDOR_FROM_DATABASE=FIC (First International Computer Inc)
+
+pci:v000015D3*
+ ID_VENDOR_FROM_DATABASE=NDS Technologies Israel Ltd
+
+pci:v000015D4*
+ ID_VENDOR_FROM_DATABASE=Iwill Corp
+
+pci:v000015D5*
+ ID_VENDOR_FROM_DATABASE=Tatung Co
+
+pci:v000015D6*
+ ID_VENDOR_FROM_DATABASE=Entridia Corp
+
+pci:v000015D7*
+ ID_VENDOR_FROM_DATABASE=Rockwell-Collins Inc
+
+pci:v000015D8*
+ ID_VENDOR_FROM_DATABASE=Cybernetics Technology Co Ltd
+
+pci:v000015D9*
+ ID_VENDOR_FROM_DATABASE=Super Micro Computer Inc
+
+pci:v000015DA*
+ ID_VENDOR_FROM_DATABASE=Cyberfirm Inc
+
+pci:v000015DB*
+ ID_VENDOR_FROM_DATABASE=Applied Computing Systems Inc
+
+pci:v000015DC*
+ ID_VENDOR_FROM_DATABASE=Litronic Inc
+
+pci:v000015DCd00000001*
+ ID_MODEL_FROM_DATABASE=Argus 300 PCI Cryptography Module
+
+pci:v000015DD*
+ ID_VENDOR_FROM_DATABASE=Sigmatel Inc
+
+pci:v000015DE*
+ ID_VENDOR_FROM_DATABASE=Malleable Technologies Inc
+
+pci:v000015DF*
+ ID_VENDOR_FROM_DATABASE=Infinilink Corp
+
+pci:v000015E0*
+ ID_VENDOR_FROM_DATABASE=Cacheflow Inc
+
+pci:v000015E1*
+ ID_VENDOR_FROM_DATABASE=Voice Technologies Group Inc
+
+pci:v000015E2*
+ ID_VENDOR_FROM_DATABASE=Quicknet Technologies Inc
+
+pci:v000015E2d00000500*
+ ID_MODEL_FROM_DATABASE=PhoneJack-PCI
+
+pci:v000015E3*
+ ID_VENDOR_FROM_DATABASE=Networth Technologies Inc
+
+pci:v000015E4*
+ ID_VENDOR_FROM_DATABASE=VSN Systemen BV
+
+pci:v000015E5*
+ ID_VENDOR_FROM_DATABASE=Valley technologies Inc
+
+pci:v000015E6*
+ ID_VENDOR_FROM_DATABASE=Agere Inc
+
+pci:v000015E7*
+ ID_VENDOR_FROM_DATABASE=Get Engineering Corp
+
+pci:v000015E8*
+ ID_VENDOR_FROM_DATABASE=National Datacomm Corp
+
+pci:v000015E8d00000130*
+ ID_MODEL_FROM_DATABASE=Wireless PCI Card
+
+pci:v000015E8d00000131*
+ ID_MODEL_FROM_DATABASE=NCP130A2 Wireless NIC
+
+pci:v000015E9*
+ ID_VENDOR_FROM_DATABASE=Pacific Digital Corp
+
+pci:v000015E9d00001841*
+ ID_MODEL_FROM_DATABASE=ADMA-100 DiscStaQ ATA Controller
+
+pci:v000015EA*
+ ID_VENDOR_FROM_DATABASE=Tokyo Denshi Sekei K.K.
+
+pci:v000015EB*
+ ID_VENDOR_FROM_DATABASE=DResearch Digital Media Systems GmbH
+
+pci:v000015EC*
+ ID_VENDOR_FROM_DATABASE=Beckhoff GmbH
+
+pci:v000015ECd00003101*
+ ID_MODEL_FROM_DATABASE=FC3101 Profibus DP 1 Channel PCI
+
+pci:v000015ECd00005102*
+ ID_MODEL_FROM_DATABASE=FC5102
+
+pci:v000015ED*
+ ID_VENDOR_FROM_DATABASE=Macrolink Inc
+
+pci:v000015EE*
+ ID_VENDOR_FROM_DATABASE=In Win Development Inc
+
+pci:v000015EF*
+ ID_VENDOR_FROM_DATABASE=Intelligent Paradigm Inc
+
+pci:v000015F0*
+ ID_VENDOR_FROM_DATABASE=B-Tree Systems Inc
+
+pci:v000015F1*
+ ID_VENDOR_FROM_DATABASE=Times N Systems Inc
+
+pci:v000015F2*
+ ID_VENDOR_FROM_DATABASE=Diagnostic Instruments Inc
+
+pci:v000015F3*
+ ID_VENDOR_FROM_DATABASE=Digitmedia Corp
+
+pci:v000015F4*
+ ID_VENDOR_FROM_DATABASE=Valuesoft
+
+pci:v000015F5*
+ ID_VENDOR_FROM_DATABASE=Power Micro Research
+
+pci:v000015F6*
+ ID_VENDOR_FROM_DATABASE=Extreme Packet Device Inc
+
+pci:v000015F7*
+ ID_VENDOR_FROM_DATABASE=Banctec
+
+pci:v000015F8*
+ ID_VENDOR_FROM_DATABASE=Koga Electronics Co
+
+pci:v000015F9*
+ ID_VENDOR_FROM_DATABASE=Zenith Electronics Corp
+
+pci:v000015FA*
+ ID_VENDOR_FROM_DATABASE=J.P. Axzam Corp
+
+pci:v000015FB*
+ ID_VENDOR_FROM_DATABASE=Zilog Inc
+
+pci:v000015FC*
+ ID_VENDOR_FROM_DATABASE=Techsan Electronics Co Ltd
+
+pci:v000015FD*
+ ID_VENDOR_FROM_DATABASE=N-CUBED.NET
+
+pci:v000015FE*
+ ID_VENDOR_FROM_DATABASE=Kinpo Electronics Inc
+
+pci:v000015FF*
+ ID_VENDOR_FROM_DATABASE=Fastpoint Technologies Inc
+
+pci:v00001600*
+ ID_VENDOR_FROM_DATABASE=Northrop Grumman - Canada Ltd
+
+pci:v00001601*
+ ID_VENDOR_FROM_DATABASE=Tenta Technology
+
+pci:v00001602*
+ ID_VENDOR_FROM_DATABASE=Prosys-tec Inc
+
+pci:v00001603*
+ ID_VENDOR_FROM_DATABASE=Nokia Wireless Communications
+
+pci:v00001604*
+ ID_VENDOR_FROM_DATABASE=Central System Research Co Ltd
+
+pci:v00001605*
+ ID_VENDOR_FROM_DATABASE=Pairgain Technologies
+
+pci:v00001606*
+ ID_VENDOR_FROM_DATABASE=Europop AG
+
+pci:v00001607*
+ ID_VENDOR_FROM_DATABASE=Lava Semiconductor Manufacturing Inc
+
+pci:v00001608*
+ ID_VENDOR_FROM_DATABASE=Automated Wagering International
+
+pci:v00001609*
+ ID_VENDOR_FROM_DATABASE=Scimetric Instruments Inc
+
+pci:v00001612*
+ ID_VENDOR_FROM_DATABASE=Telesynergy Research Inc.
+
+pci:v00001618*
+ ID_VENDOR_FROM_DATABASE=Stone Ridge Technology
+
+pci:v00001618d00000001*
+ ID_MODEL_FROM_DATABASE=RDX 11
+
+pci:v00001618d00000002*
+ ID_MODEL_FROM_DATABASE=HFT-01
+
+pci:v00001618d00000400*
+ ID_MODEL_FROM_DATABASE=FarSync T2P (2 port X.21/V.35/V.24)
+
+pci:v00001618d00000440*
+ ID_MODEL_FROM_DATABASE=FarSync T4P (4 port X.21/V.35/V.24)
+
+pci:v00001618d00000610*
+ ID_MODEL_FROM_DATABASE=FarSync T1U (1 port X.21/V.35/V.24)
+
+pci:v00001618d00000620*
+ ID_MODEL_FROM_DATABASE=FarSync T2U (2 port X.21/V.35/V.24)
+
+pci:v00001618d00000640*
+ ID_MODEL_FROM_DATABASE=FarSync T4U (4 port X.21/V.35/V.24)
+
+pci:v00001618d00001610*
+ ID_MODEL_FROM_DATABASE=FarSync TE1 (T1,E1)
+
+pci:v00001618d00002610*
+ ID_MODEL_FROM_DATABASE=FarSync DSL-S1 (SHDSL)
+
+pci:v00001618d00003640*
+ ID_MODEL_FROM_DATABASE=FarSync T4E (4-port X.21/V.35/V.24)
+
+pci:v00001618d00004620*
+ ID_MODEL_FROM_DATABASE=FarSync T2Ue PCI Express (2-port X.21/V.35/V.24)
+
+pci:v00001618d00004640*
+ ID_MODEL_FROM_DATABASE=FarSync T4Ue PCI Express (4-port X.21/V.35/V.24)
+
+pci:v00001619*
+ ID_VENDOR_FROM_DATABASE=FarSite Communications Ltd
+
+pci:v00001619d00000400*
+ ID_MODEL_FROM_DATABASE=FarSync T2P (2 port X.21/V.35/V.24)
+
+pci:v00001619d00000440*
+ ID_MODEL_FROM_DATABASE=FarSync T4P (4 port X.21/V.35/V.24)
+
+pci:v00001619d00000610*
+ ID_MODEL_FROM_DATABASE=FarSync T1U (1 port X.21/V.35/V.24)
+
+pci:v00001619d00000620*
+ ID_MODEL_FROM_DATABASE=FarSync T2U (2 port X.21/V.35/V.24)
+
+pci:v00001619d00000640*
+ ID_MODEL_FROM_DATABASE=FarSync T4U (4 port X.21/V.35/V.24)
+
+pci:v00001619d00001610*
+ ID_MODEL_FROM_DATABASE=FarSync TE1 (T1,E1)
+
+pci:v00001619d00002610*
+ ID_MODEL_FROM_DATABASE=FarSync DSL-S1 (SHDSL)
+
+pci:v00001619d00003640*
+ ID_MODEL_FROM_DATABASE=FarSync T4E (4-port X.21/V.35/V.24)
+
+pci:v00001619d00004620*
+ ID_MODEL_FROM_DATABASE=FarSync T2Ue PCI Express (2-port X.21/V.35/V.24)
+
+pci:v00001619d00004640*
+ ID_MODEL_FROM_DATABASE=FarSync T4Ue PCI Express (4-port X.21/V.35/V.24)
+
+pci:v0000161F*
+ ID_VENDOR_FROM_DATABASE=Rioworks
+
+pci:v00001626*
+ ID_VENDOR_FROM_DATABASE=TDK Semiconductor Corp.
+
+pci:v00001626d00008410*
+ ID_MODEL_FROM_DATABASE=RTL81xx Fast Ethernet
+
+pci:v00001629*
+ ID_VENDOR_FROM_DATABASE=Kongsberg Spacetec AS
+
+pci:v00001629d00001003*
+ ID_MODEL_FROM_DATABASE=Format synchronizer v3.0
+
+pci:v00001629d00001006*
+ ID_MODEL_FROM_DATABASE=Format synchronizer, model 10500
+
+pci:v00001629d00001007*
+ ID_MODEL_FROM_DATABASE=Format synchronizer, model 21000
+
+pci:v00001629d00002002*
+ ID_MODEL_FROM_DATABASE=Fast Universal Data Output
+
+pci:v00001631*
+ ID_VENDOR_FROM_DATABASE=Packard Bell B.V.
+
+pci:v00001638*
+ ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp [SMC]
+
+pci:v00001638d00001100*
+ ID_MODEL_FROM_DATABASE=SMC2602W EZConnect / Addtron AWA-100 / Eumitcom PCI WL11000
+
+pci:v0000163C*
+ ID_VENDOR_FROM_DATABASE=Smart Link Ltd.
+
+pci:v0000163Cd00003052*
+ ID_MODEL_FROM_DATABASE=SmartLink SmartPCI562 56K Modem
+
+pci:v0000163Cd00005449*
+ ID_MODEL_FROM_DATABASE=SmartPCI561 Modem
+
+pci:v00001641*
+ ID_VENDOR_FROM_DATABASE=MKNet Corp.
+
+pci:v00001657*
+ ID_VENDOR_FROM_DATABASE=Brocade Communications Systems, Inc.
+
+pci:v00001657d00000013*
+ ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA
+
+pci:v00001657d00000013sv0000103Csd00001742*
+ ID_MODEL_FROM_DATABASE=HP 82B 8Gbps dual port FC HBA
+
+pci:v00001657d00000013sv0000103Csd00001744*
+ ID_MODEL_FROM_DATABASE=HP 42B 4Gbps dual port FC HBA
+
+pci:v00001657d00000013sv00001657sd00000014*
+ ID_MODEL_FROM_DATABASE=425/825 4Gbps/8Gbps PCIe dual port FC HBA
+
+pci:v00001657d00000014*
+ ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA
+
+pci:v00001657d00000014sv00001657sd00000014*
+ ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - FCOE
+
+pci:v00001657d00000014sv00001657sd00000015*
+ ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - LL
+
+pci:v00001657d00000017*
+ ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA
+
+pci:v00001657d00000017sv0000103Csd00001741*
+ ID_MODEL_FROM_DATABASE=HP 41B 4Gbps single port FC HBA
+
+pci:v00001657d00000017sv0000103Csd00001743*
+ ID_MODEL_FROM_DATABASE=HP 81B 8Gbps single port FC HBA
+
+pci:v00001657d00000017sv00001657sd00000014*
+ ID_MODEL_FROM_DATABASE=415/815 4Gbps/8Gbps single port PCIe FC HBA
+
+pci:v00001657d00000021*
+ ID_MODEL_FROM_DATABASE=804 8Gbps FC HBA for HP Bladesystem c-class
+
+pci:v00001657d00000022*
+ ID_MODEL_FROM_DATABASE=1867/1860: 16Gbps/10Gbps Fabric Adapter
+
+pci:v00001657d00000022sv00001657sd00000022*
+ ID_MODEL_FROM_DATABASE=10Gbps CNA - FCOE
+
+pci:v00001657d00000022sv00001657sd00000023*
+ ID_MODEL_FROM_DATABASE=10Gbps CNA - LL
+
+pci:v00001657d00000022sv00001657sd00000024*
+ ID_MODEL_FROM_DATABASE=16Gbps FC HBA
+
+pci:v00001657d00000646*
+ ID_MODEL_FROM_DATABASE=400 4Gbps PCIe FC HBA
+
+pci:v0000165A*
+ ID_VENDOR_FROM_DATABASE=Epix Inc
+
+pci:v0000165Ad0000C100*
+ ID_MODEL_FROM_DATABASE=PIXCI(R) CL1 Camera Link Video Capture Board [custom QL5232]
+
+pci:v0000165Ad0000D200*
+ ID_MODEL_FROM_DATABASE=PIXCI(R) D2X Digital Video Capture Board [custom QL5232]
+
+pci:v0000165Ad0000D300*
+ ID_MODEL_FROM_DATABASE=PIXCI(R) D3X Digital Video Capture Board [custom QL5232]
+
+pci:v0000165D*
+ ID_VENDOR_FROM_DATABASE=Hsing Tech. Enterprise Co., Ltd.
+
+pci:v0000165F*
+ ID_VENDOR_FROM_DATABASE=Linux Media Labs, LLC
+
+pci:v0000165Fd00001020*
+ ID_MODEL_FROM_DATABASE=LMLM4 MPEG-4 encoder
+
+pci:v00001661*
+ ID_VENDOR_FROM_DATABASE=Worldspace Corp.
+
+pci:v00001668*
+ ID_VENDOR_FROM_DATABASE=Actiontec Electronics Inc
+
+pci:v00001668d00000100*
+ ID_MODEL_FROM_DATABASE=Mini-PCI bridge
+
+pci:v0000166D*
+ ID_VENDOR_FROM_DATABASE=Broadcom Corporation
+
+pci:v0000166Dd00000001*
+ ID_MODEL_FROM_DATABASE=SiByte BCM1125/1125H/1250 System-on-a-Chip PCI
+
+pci:v0000166Dd00000002*
+ ID_MODEL_FROM_DATABASE=SiByte BCM1125H/1250 System-on-a-Chip HyperTransport
+
+pci:v0000166Dd00000012*
+ ID_MODEL_FROM_DATABASE=SiByte BCM1280/BCM1480 System-on-a-Chip PCI-X
+
+pci:v0000166Dd00000014*
+ ID_MODEL_FROM_DATABASE=Sibyte BCM1280/BCM1480 System-on-a-Chip HyperTransport
+
+pci:v00001677*
+ ID_VENDOR_FROM_DATABASE=Bernecker + Rainer
+
+pci:v00001677d0000104E*
+ ID_MODEL_FROM_DATABASE=5LS172.6 B&R Dual CAN Interface Card
+
+pci:v00001677d000012D7*
+ ID_MODEL_FROM_DATABASE=5LS172.61 B&R Dual CAN Interface Card
+
+pci:v00001677d000020AD*
+ ID_MODEL_FROM_DATABASE=5ACPCI.MFIO-K01 Profibus DP / K-Feldbus / COM
+
+pci:v00001678*
+ ID_VENDOR_FROM_DATABASE=NetEffect
+
+pci:v00001678d00000100*
+ ID_MODEL_FROM_DATABASE=NE020 10Gb Accelerated Ethernet Adapter (iWARP RNIC)
+
+pci:v00001679*
+ ID_VENDOR_FROM_DATABASE=Tokyo Electron Device Ltd.
+
+pci:v00001679d00003000*
+ ID_MODEL_FROM_DATABASE=SD Standard host controller [Ellen]
+
+pci:v0000167B*
+ ID_VENDOR_FROM_DATABASE=ZyDAS Technology Corp.
+
+pci:v0000167Bd00002102*
+ ID_MODEL_FROM_DATABASE=ZyDAS ZD1202
+
+pci:v0000167Bd00002102sv0000187Esd00003406*
+ ID_MODEL_FROM_DATABASE=ZyAIR B-122 CardBus 11Mbs Wireless LAN Card
+
+pci:v0000167Bd00002102sv0000187Esd00003407*
+ ID_MODEL_FROM_DATABASE=ZyAIR B-320 802.11b Wireless PCI Adapter
+
+pci:v0000167Bd00002116*
+ ID_MODEL_FROM_DATABASE=ZD1212B Wireless Adapter
+
+pci:v0000167D*
+ ID_VENDOR_FROM_DATABASE=Samsung Electro-Mechanics Co., Ltd.
+
+pci:v0000167Dd0000A000*
+ ID_MODEL_FROM_DATABASE=MagicLAN SWL-2210P 802.11b [Intersil ISL3874]
+
+pci:v0000167E*
+ ID_VENDOR_FROM_DATABASE=ONNTO Corp.
+
+pci:v00001681*
+ ID_VENDOR_FROM_DATABASE=Hercules
+
+pci:v00001682*
+ ID_VENDOR_FROM_DATABASE=XFX Pine Group Inc.
+
+pci:v00001688*
+ ID_VENDOR_FROM_DATABASE=CastleNet Technology Inc.
+
+pci:v00001688d00001170*
+ ID_MODEL_FROM_DATABASE=WLAN 802.11b card
+
+pci:v0000168C*
+ ID_VENDOR_FROM_DATABASE=Qualcomm Atheros
+
+pci:v0000168Cd00000007*
+ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a]
+
+pci:v0000168Cd00000007sv00001737sd00000007*
+ ID_MODEL_FROM_DATABASE=WPC54A Wireless PC Card
+
+pci:v0000168Cd00000007sv00001B47sd00000100*
+ ID_MODEL_FROM_DATABASE=Harmony 8450CN Wireless CardBus Module
+
+pci:v0000168Cd00000007sv00001B47sd00000110*
+ ID_MODEL_FROM_DATABASE=Skyline 4030 / Harmony 8450 802.11a Wireless CardBus Adapter
+
+pci:v0000168Cd00000007sv00008086sd00002501*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5000 LAN PCI Adapter Module
+
+pci:v0000168Cd00000011*
+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001A 802.11a]
+
+pci:v0000168Cd00000012*
+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab]
+
+pci:v0000168Cd00000012sv00001186sd00003A03*
+ ID_MODEL_FROM_DATABASE=AirPro DWL-A650 Wireless Cardbus Adapter (rev.B)
+
+pci:v0000168Cd00000012sv00001186sd00003A04*
+ ID_MODEL_FROM_DATABASE=AirPro DWL-AB650 Multimode Wireless Cardbus Adapter
+
+pci:v0000168Cd00000012sv00001186sd00003A05*
+ ID_MODEL_FROM_DATABASE=AirPro DWL-AB520 Multimode Wireless PCI Adapter
+
+pci:v0000168Cd00000012sv0000126Csd00008031*
+ ID_MODEL_FROM_DATABASE=2201 Mobile Adapter
+
+pci:v0000168Cd00000012sv00001385sd00004400*
+ ID_MODEL_FROM_DATABASE=WAB501 802.11ab Wireless CardBus Card
+
+pci:v0000168Cd00000012sv00001B47sd0000AA00*
+ ID_MODEL_FROM_DATABASE=8460 802.11ab Wireless CardBus Adapter
+
+pci:v0000168Cd00000013*
+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter
+
+pci:v0000168Cd00000013sv00000308sd00003402*
+ ID_MODEL_FROM_DATABASE=AG-100 802.11ag Wireless Cardbus Adapter
+
+pci:v0000168Cd00000013sv00000308sd00003405*
+ ID_MODEL_FROM_DATABASE=G-102 v2 802.11g Wireless Cardbus Adapter
+
+pci:v0000168Cd00000013sv00000308sd00003408*
+ ID_MODEL_FROM_DATABASE=G-170S 802.11g Wireless CardBus Adapter
+
+pci:v0000168Cd00000013sv00000E11sd000000E5*
+ ID_MODEL_FROM_DATABASE=NC6000/NC8000 laptop
+
+pci:v0000168Cd00000013sv000010B7sd00006002*
+ ID_MODEL_FROM_DATABASE=3CRWE154A72 802.11abg Cardbus Adapter
+
+pci:v0000168Cd00000013sv00001113sd0000D301*
+ ID_MODEL_FROM_DATABASE=Philips CPWNA100 Wireless CardBus adapter
+
+pci:v0000168Cd00000013sv00001113sd0000EE23*
+ ID_MODEL_FROM_DATABASE=SMCWPCIT-G 108Mbps Wireless PCI adapter
+
+pci:v0000168Cd00000013sv00001154sd0000033B*
+ ID_MODEL_FROM_DATABASE=Buffalo WLI-CB-AMG54
+
+pci:v0000168Cd00000013sv00001154sd0000034E*
+ ID_MODEL_FROM_DATABASE=Buffalo WLI-CB-AG108HP 802.11abg Cardbus Adapter
+
+pci:v0000168Cd00000013sv00001186sd00003202*
+ ID_MODEL_FROM_DATABASE=DWL-G650 (Rev B3,B5) Wireless cardbus adapter
+
+pci:v0000168Cd00000013sv00001186sd00003203*
+ ID_MODEL_FROM_DATABASE=AirPlus DWL-G520 Wireless PCI Adapter (rev. A)
+
+pci:v0000168Cd00000013sv00001186sd00003A07*
+ ID_MODEL_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter
+
+pci:v0000168Cd00000013sv00001186sd00003A08*
+ ID_MODEL_FROM_DATABASE=AirXpert DWL-AG520 Wireless PCI Adapter
+
+pci:v0000168Cd00000013sv00001186sd00003A12*
+ ID_MODEL_FROM_DATABASE=D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C)
+
+pci:v0000168Cd00000013sv00001186sd00003A13*
+ ID_MODEL_FROM_DATABASE=AirPlus DWL-G520 Wireless PCI Adapter (rev. B)
+
+pci:v0000168Cd00000013sv00001186sd00003A14*
+ ID_MODEL_FROM_DATABASE=AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.A)
+
+pci:v0000168Cd00000013sv00001186sd00003A17*
+ ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-G680 Wireless Cardbus Adapter
+
+pci:v0000168Cd00000013sv00001186sd00003A18*
+ ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-G550 Wireless PCI Adapter
+
+pci:v0000168Cd00000013sv00001186sd00003A1A*
+ ID_MODEL_FROM_DATABASE=WNA-2330 802.11bg Wireless CardBus Adapter
+
+pci:v0000168Cd00000013sv00001186sd00003A63*
+ ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter
+
+pci:v0000168Cd00000013sv00001186sd00003A93*
+ ID_MODEL_FROM_DATABASE=Conceptronic C54I Wireless 801.11g PCI card
+
+pci:v0000168Cd00000013sv00001186sd00003A94*
+ ID_MODEL_FROM_DATABASE=Conceptronic C54C 802.11g Wireless Cardbus Adapter
+
+pci:v0000168Cd00000013sv00001186sd00003AB0*
+ ID_MODEL_FROM_DATABASE=Allnet ALL0281 Wireless PCI Card
+
+pci:v0000168Cd00000013sv00001385sd00004600*
+ ID_MODEL_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card
+
+pci:v0000168Cd00000013sv00001385sd00004610*
+ ID_MODEL_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card
+
+pci:v0000168Cd00000013sv00001385sd00004900*
+ ID_MODEL_FROM_DATABASE=WG311v1 802.11g Wireless PCI Adapter
+
+pci:v0000168Cd00000013sv00001385sd00004A00*
+ ID_MODEL_FROM_DATABASE=WAG311 802.11a/g Wireless PCI Adapter
+
+pci:v0000168Cd00000013sv00001385sd00004B00*
+ ID_MODEL_FROM_DATABASE=WG511T 108 Mbps Wireless PC Card (rev.A/B)
+
+pci:v0000168Cd00000013sv00001385sd00004D00*
+ ID_MODEL_FROM_DATABASE=WG311T 108 Mbps Wireless PCI Adapter (rev.A2)
+
+pci:v0000168Cd00000013sv00001385sd00004F00*
+ ID_MODEL_FROM_DATABASE=WG511U Double 108 Mbps Wireless PC Card
+
+pci:v0000168Cd00000013sv00001385sd00005A00*
+ ID_MODEL_FROM_DATABASE=WG311T 108 Mbps Wireless PCI Adapter (rev.A3)
+
+pci:v0000168Cd00000013sv00001385sd00005B00*
+ ID_MODEL_FROM_DATABASE=WG511T 108 Mbps Wireless PC Card (rev.C)
+
+pci:v0000168Cd00000013sv00001385sd00005D00*
+ ID_MODEL_FROM_DATABASE=WPN511 RangeMax Wireless PC Card
+
+pci:v0000168Cd00000013sv00001458sd0000E911*
+ ID_MODEL_FROM_DATABASE=GN-WIAG02
+
+pci:v0000168Cd00000013sv00001468sd00000403*
+ ID_MODEL_FROM_DATABASE=U10H014 802.11g Cardbus Adapter
+
+pci:v0000168Cd00000013sv00001468sd00000408*
+ ID_MODEL_FROM_DATABASE=ThinkPad 11b/g Wireless LAN Mini PCI Adapter
+
+pci:v0000168Cd00000013sv000014B7sd00000A10*
+ ID_MODEL_FROM_DATABASE=8480-WD 802.11abg Cardbus Adapter
+
+pci:v0000168Cd00000013sv000014B7sd00000A60*
+ ID_MODEL_FROM_DATABASE=8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter
+
+pci:v0000168Cd00000013sv000014B7sd0000AA30*
+ ID_MODEL_FROM_DATABASE=8800-FC 802.11bg Cardbus Adapter
+
+pci:v0000168Cd00000013sv000014B7sd0000AA40*
+ ID_MODEL_FROM_DATABASE=8470-WD 802.11bg Cardbus Adapter
+
+pci:v0000168Cd00000013sv000014B9sd0000CB21*
+ ID_MODEL_FROM_DATABASE=CB21 802.11a/b/g Cardbus Adapter
+
+pci:v0000168Cd00000013sv00001668sd00001026*
+ ID_MODEL_FROM_DATABASE=IBM HighRate 11 a/b/g Wireless CardBus Adapter
+
+pci:v0000168Cd00000013sv0000168Csd00000013*
+ ID_MODEL_FROM_DATABASE=AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter
+
+pci:v0000168Cd00000013sv0000168Csd00001025*
+ ID_MODEL_FROM_DATABASE=DWL-G650B2 Wireless CardBus Adapter
+
+pci:v0000168Cd00000013sv0000168Csd00001027*
+ ID_MODEL_FROM_DATABASE=Engenius NL-3054CB ARIES b/g CardBus Adapter
+
+pci:v0000168Cd00000013sv0000168Csd00001042*
+ ID_MODEL_FROM_DATABASE=Ubiquiti Networks SuperRange a/b/g Cardbus Adapter
+
+pci:v0000168Cd00000013sv0000168Csd00001051*
+ ID_MODEL_FROM_DATABASE=EZ Connect g 802.11g 108Mbps Wireless PCI Adapter
+
+pci:v0000168Cd00000013sv0000168Csd00002026*
+ ID_MODEL_FROM_DATABASE=Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter
+
+pci:v0000168Cd00000013sv0000168Csd00002027*
+ ID_MODEL_FROM_DATABASE=D-Link AirPlus DWL-G520 Wireless PCI Adapter (rev. A)
+
+pci:v0000168Cd00000013sv0000168Csd00002041*
+ ID_MODEL_FROM_DATABASE=Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter
+
+pci:v0000168Cd00000013sv0000168Csd00002042*
+ ID_MODEL_FROM_DATABASE=Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter
+
+pci:v0000168Cd00000013sv0000168Csd00002051*
+ ID_MODEL_FROM_DATABASE=TRENDnet TEW-443PI Wireless PCI Adapter
+
+pci:v0000168Cd00000013sv000016A5sd0000160A*
+ ID_MODEL_FROM_DATABASE=BWP712 802.11bg Wireless CardBus Adapter
+
+pci:v0000168Cd00000013sv000016ABsd00007302*
+ ID_MODEL_FROM_DATABASE=Trust Speedshare Turbo Pro Wireless PCI Adapter
+
+pci:v0000168Cd00000013sv00001737sd00000017*
+ ID_MODEL_FROM_DATABASE=WPC55AG
+
+pci:v0000168Cd00000013sv00001737sd00000026*
+ ID_MODEL_FROM_DATABASE=WMP55AG v1.1
+
+pci:v0000168Cd00000013sv00001737sd00000035*
+ ID_MODEL_FROM_DATABASE=WPC55AG v1.2 802.11abg Cardbus Adapter
+
+pci:v0000168Cd00000013sv00001737sd00000036*
+ ID_MODEL_FROM_DATABASE=WMP55AG v1.2 802.11abg PCI Adapter
+
+pci:v0000168Cd00000013sv00001799sd00003000*
+ ID_MODEL_FROM_DATABASE=F6D3000 Dual-Band Wireless A+G Desktop Card
+
+pci:v0000168Cd00000013sv00001799sd00003010*
+ ID_MODEL_FROM_DATABASE=F6D3010 Dual-Band Wireless A+G Notebook Card
+
+pci:v0000168Cd00000013sv000017CFsd00000042*
+ ID_MODEL_FROM_DATABASE=Z-COMAX Highpower XG-622H (400mw) 802.11b/g mini-PCI Adapter
+
+pci:v0000168Cd00000013sv0000185Fsd00001012*
+ ID_MODEL_FROM_DATABASE=CM9 Wireless a/b/g MiniPCI Adapter
+
+pci:v0000168Cd00000013sv0000185Fsd00002012*
+ ID_MODEL_FROM_DATABASE=Wistron NeWeb WLAN a+b+g model CB9
+
+pci:v0000168Cd00000013sv0000A727sd00006801*
+ ID_MODEL_FROM_DATABASE=3CRXJK10075 OfficeConnect Wireless 108Mbps 11g XJACK PC Card
+
+pci:v0000168Cd0000001A*
+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg]
+
+pci:v0000168Cd0000001Asv00001052sd0000168C*
+ ID_MODEL_FROM_DATABASE=Sweex Wireless Lan PC Card 54Mbps
+
+pci:v0000168Cd0000001Asv00001113sd0000EE20*
+ ID_MODEL_FROM_DATABASE=SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU)
+
+pci:v0000168Cd0000001Asv00001113sd0000EE24*
+ ID_MODEL_FROM_DATABASE=SMC Wireless PCI Card WPCI-G
+
+pci:v0000168Cd0000001Asv00001186sd00003A15*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.D1)
+
+pci:v0000168Cd0000001Asv00001186sd00003A16*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G510 Wireless PCI Adapter(rev.B)
+
+pci:v0000168Cd0000001Asv00001186sd00003A1C*
+ ID_MODEL_FROM_DATABASE=WNA-1330 Notebook Adapter
+
+pci:v0000168Cd0000001Asv00001186sd00003A1D*
+ ID_MODEL_FROM_DATABASE=WDA-1320 Desktop Adapter
+
+pci:v0000168Cd0000001Asv00001186sd00003A23*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G520+A Wireless PCI Adapter
+
+pci:v0000168Cd0000001Asv00001186sd00003A24*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G650+A Wireless Cardbus Adapter
+
+pci:v0000168Cd0000001Asv00001186sd00003B08*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.C1)
+
+pci:v0000168Cd0000001Asv0000168Csd0000001A*
+ ID_MODEL_FROM_DATABASE=Belkin FD7000
+
+pci:v0000168Cd0000001Asv0000168Csd00001052*
+ ID_MODEL_FROM_DATABASE=TP-Link TL-WN510G Wireless CardBus Adapter
+
+pci:v0000168Cd0000001Asv0000168Csd00002052*
+ ID_MODEL_FROM_DATABASE=Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G]
+
+pci:v0000168Cd0000001Asv000016ECsd00000122*
+ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter Model 5418
+
+pci:v0000168Cd0000001Asv00001737sd00000053*
+ ID_MODEL_FROM_DATABASE=WPC54G v7 802.11g Wireless-G Notebook Adapter
+
+pci:v0000168Cd0000001Asv00001799sd0000700C*
+ ID_MODEL_FROM_DATABASE=F5D7000 v5000 Wireless G Desktop Card
+
+pci:v0000168Cd0000001Asv00001799sd0000701D*
+ ID_MODEL_FROM_DATABASE=F5D7010 v5000 Wireless G Notebook Card
+
+pci:v0000168Cd0000001Asv000017F9sd00000008*
+ ID_MODEL_FROM_DATABASE=DX-WGNBC 802.11bg Wireless CardBus Adapter
+
+pci:v0000168Cd0000001Asv000017F9sd00000018*
+ ID_MODEL_FROM_DATABASE=DX-WGDTC 802.11bg Wireless PCI Adapter
+
+pci:v0000168Cd0000001B*
+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg]
+
+pci:v0000168Cd0000001Bsv00000777sd00001107*
+ ID_MODEL_FROM_DATABASE=UB5 802.11a Wireless Mini PCI Adapter
+
+pci:v0000168Cd0000001Bsv00000777sd00003002*
+ ID_MODEL_FROM_DATABASE=XR2 802.11g Wireless Mini PCI Adapter
+
+pci:v0000168Cd0000001Bsv00000777sd00003005*
+ ID_MODEL_FROM_DATABASE=XR5 802.11a Wireless Mini PCI Adapter
+
+pci:v0000168Cd0000001Bsv00000777sd00003009*
+ ID_MODEL_FROM_DATABASE=XR9 900MHz Wireless Mini PCI Adapter
+
+pci:v0000168Cd0000001Bsv00001154sd0000034E*
+ ID_MODEL_FROM_DATABASE=WLI-CB-AG108HP 802.11abg Wireless CardBus Adapter
+
+pci:v0000168Cd0000001Bsv00001186sd00003A19*
+ ID_MODEL_FROM_DATABASE=D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter
+
+pci:v0000168Cd0000001Bsv00001186sd00003A22*
+ ID_MODEL_FROM_DATABASE=AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.B)
+
+pci:v0000168Cd0000001Bsv000011ADsd00005001*
+ ID_MODEL_FROM_DATABASE=WN5301A 802.11bg Wireless PCI Adapter
+
+pci:v0000168Cd0000001Bsv00001458sd0000E901*
+ ID_MODEL_FROM_DATABASE=GN-WI01HT Wireless a/b/g MiniPCI Adapter
+
+pci:v0000168Cd0000001Bsv0000168Csd0000001B*
+ ID_MODEL_FROM_DATABASE=Wireless LAN PCI LiteOn
+
+pci:v0000168Cd0000001Bsv0000168Csd00001062*
+ ID_MODEL_FROM_DATABASE=IPN-W100CB 802.11abg Wireless CardBus Adapter
+
+pci:v0000168Cd0000001Bsv0000168Csd00002062*
+ ID_MODEL_FROM_DATABASE=EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG)
+
+pci:v0000168Cd0000001Bsv0000168Csd00002063*
+ ID_MODEL_FROM_DATABASE=EnGenius EMP-8602 (400mw) or Compex WLM54AG
+
+pci:v0000168Cd0000001Bsv000017F9sd0000000B*
+ ID_MODEL_FROM_DATABASE=WL-711A 802.11abg Wireless CardBus Adapter
+
+pci:v0000168Cd0000001Bsv000017F9sd0000000C*
+ ID_MODEL_FROM_DATABASE=WPIA-112AG 802.11abg Wireless PCI Adapter
+
+pci:v0000168Cd0000001Bsv000017F9sd0000000D*
+ ID_MODEL_FROM_DATABASE=PC-686X 802.11abg Wireless Mini PCI Adapter
+
+pci:v0000168Cd0000001Bsv0000185Fsd00001600*
+ ID_MODEL_FROM_DATABASE=DCMA-82 High Power WLAN 802.11a/b/g mini-PCI Module (Super A/G, eXtended Range, 400mW)
+
+pci:v0000168Cd0000001Bsv00001948sd00003ABA*
+ ID_MODEL_FROM_DATABASE=RBTBJ-AW 802.11abg Wireless Cardbus Adapter
+
+pci:v0000168Cd0000001Bsv0000A727sd00006804*
+ ID_MODEL_FROM_DATABASE=Wireless 11a/b/g PC Card with XJACK(r) Antenna
+
+pci:v0000168Cd0000001C*
+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express)
+
+pci:v0000168Cd0000001Csv00000777sd00003006*
+ ID_MODEL_FROM_DATABASE=SRX 802.11abg Wireless ExpressCard Adapter
+
+pci:v0000168Cd0000001Csv0000103Csd0000137A*
+ ID_MODEL_FROM_DATABASE=AR5BXB63 (Foxconn) 802.11bg Mini PCIe NIC
+
+pci:v0000168Cd0000001Csv0000106Bsd00000086*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v0000168Cd0000001Csv0000144Fsd00007106*
+ ID_MODEL_FROM_DATABASE=WLL3140 (Toshiba PA3501U-1MPC) 802.11bg Wireless Mini PCIe Card
+
+pci:v0000168Cd0000001Csv0000144Fsd00007128*
+ ID_MODEL_FROM_DATABASE=WLL3141 (Toshiba PA3613U-1MPC) 802.11bg Wireless Mini PCIe Card
+
+pci:v0000168Cd0000001Csv00001468sd00000428*
+ ID_MODEL_FROM_DATABASE=AR5BXB63 802.11bg NIC
+
+pci:v0000168Cd0000001Csv00001468sd0000042A*
+ ID_MODEL_FROM_DATABASE=AR5007EG 802.11bg NIC
+
+pci:v0000168Cd0000001Csv0000147Bsd00001033*
+ ID_MODEL_FROM_DATABASE=AirPace Wi-Fi
+
+pci:v0000168Cd0000001Csv0000168Csd0000001C*
+ ID_MODEL_FROM_DATABASE=AR242x 802.11abg NIC (PCI Express)
+
+pci:v0000168Cd0000001Csv0000168Csd00003061*
+ ID_MODEL_FROM_DATABASE=AR5006EGS 802.11bg NIC (2.4GHz, PCI Express)
+
+pci:v0000168Cd0000001Csv0000168Csd00003062*
+ ID_MODEL_FROM_DATABASE=AR5006EXS 802.11abg NIC (2.4/5.0GHz, PCI Express)
+
+pci:v0000168Cd0000001Csv0000168Csd00003063*
+ ID_MODEL_FROM_DATABASE=AR5006EX 802.11abg NIC (2.4/5.0GHz, PCI Express)
+
+pci:v0000168Cd0000001Csv0000168Csd00003065*
+ ID_MODEL_FROM_DATABASE=AR5006EG 802.11bg NIC (2.4GHz, PCI Express)
+
+pci:v0000168Cd0000001Csv0000168Csd00003067*
+ ID_MODEL_FROM_DATABASE=AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
+
+pci:v0000168Cd0000001Csv00001A3Bsd00001026*
+ ID_MODEL_FROM_DATABASE=AW-GE780 802.11bg Wireless Mini PCIe Card
+
+pci:v0000168Cd0000001D*
+ ID_MODEL_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg]
+
+pci:v0000168Cd0000001Dsv00001799sd0000720B*
+ ID_MODEL_FROM_DATABASE=F5D7000 v8000 Wireless G Desktop Card
+
+pci:v0000168Cd0000001Dsv00001799sd0000721B*
+ ID_MODEL_FROM_DATABASE=F5D7010 v8000 Wireless G Notebook Card
+
+pci:v0000168Cd00000020*
+ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC
+
+pci:v0000168Cd00000020sv00000308sd00003407*
+ ID_MODEL_FROM_DATABASE=M-102 802.11g Wireless Cardbus Adapter
+
+pci:v0000168Cd00000020sv00001186sd00003A67*
+ ID_MODEL_FROM_DATABASE=DWL-G650M Super G MIMO Wireless Notebook Adapter
+
+pci:v0000168Cd00000020sv00001186sd00003A68*
+ ID_MODEL_FROM_DATABASE=DWL-G520M Wireless 108G MIMO Desktop Adapter
+
+pci:v0000168Cd00000020sv0000187Esd0000340E*
+ ID_MODEL_FROM_DATABASE=M-302 802.11g Wireless PCI Adapter
+
+pci:v0000168Cd00000020sv00001976sd00002003*
+ ID_MODEL_FROM_DATABASE=TEW-601PC 802.11g Wireless CardBus Adapter
+
+pci:v0000168Cd00000023*
+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn]
+
+pci:v0000168Cd00000023sv00000308sd0000340B*
+ ID_MODEL_FROM_DATABASE=NWD-170N 802.11bgn Wireless CardBus Adapter
+
+pci:v0000168Cd00000023sv00001154sd00000365*
+ ID_MODEL_FROM_DATABASE=Buffalo WLP-CB-AG300 802.11abgn Cardbus Adapter
+
+pci:v0000168Cd00000023sv00001154sd00000367*
+ ID_MODEL_FROM_DATABASE=WLI-CB-AG301N 802.11abgn Wireless CardBus Adapter
+
+pci:v0000168Cd00000023sv00001186sd00003A6A*
+ ID_MODEL_FROM_DATABASE=DWA-642 802.11n RangeBooster N CardBus Adapter
+
+pci:v0000168Cd00000023sv00001186sd00003A6B*
+ ID_MODEL_FROM_DATABASE=DWA-547 802.11n RangeBooster N 650 DeskTop Adapter
+
+pci:v0000168Cd00000023sv00001186sd00003A6D*
+ ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A1)
+
+pci:v0000168Cd00000023sv00001186sd00003A76*
+ ID_MODEL_FROM_DATABASE=DWA-645 802.11n RangeBooster N 650 Notebook Adapter (rev A1)
+
+pci:v0000168Cd00000023sv00001737sd00000059*
+ ID_MODEL_FROM_DATABASE=WPC300N v2 Wireless-N Notebook Adapter
+
+pci:v0000168Cd00000023sv00001737sd00000069*
+ ID_MODEL_FROM_DATABASE=WPC100 v1 802.11n RangePlus Wireless Notebook Adapter
+
+pci:v0000168Cd00000023sv00001737sd00000072*
+ ID_MODEL_FROM_DATABASE=WMP110 v1 802.11n RangePlus Wireless PCI Adapter
+
+pci:v0000168Cd00000023sv00001799sd00008011*
+ ID_MODEL_FROM_DATABASE=F5D8011 v1 802.11n N1 Wireless Notebook Card
+
+pci:v0000168Cd00000023sv0000187Esd00003411*
+ ID_MODEL_FROM_DATABASE=NWD-370N 802.11n Wireless PCI Adapter
+
+pci:v0000168Cd00000023sv00001976sd00002008*
+ ID_MODEL_FROM_DATABASE=TEW-621PC 802.11bgn Wireless CardBus Adapter
+
+pci:v0000168Cd00000024*
+ ID_MODEL_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express)
+
+pci:v0000168Cd00000024sv0000106Bsd00000087*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v0000168Cd00000024sv00001186sd00003A70*
+ ID_MODEL_FROM_DATABASE=DWA-556 Xtreme N PCI Express Desktop Adapter
+
+pci:v0000168Cd00000027*
+ ID_MODEL_FROM_DATABASE=AR9160 Wireless Network Adapter [AR9001 802.11(a)bgn]
+
+pci:v0000168Cd00000027sv00000777sd00004082*
+ ID_MODEL_FROM_DATABASE=SR71-A 802.11abgn Wireless Mini PCI Adapter
+
+pci:v0000168Cd00000029*
+ ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter
+
+pci:v0000168Cd00000029sv00000777sd00004005*
+ ID_MODEL_FROM_DATABASE=SR71-15 802.11an Mini PCI Adapter
+
+pci:v0000168Cd00000029sv00001186sd00003A7A*
+ ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A2)
+
+pci:v0000168Cd00000029sv00001186sd00003A7D*
+ ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A3)
+
+pci:v0000168Cd0000002A*
+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express)
+
+pci:v0000168Cd0000002Asv00000777sd00004F05*
+ ID_MODEL_FROM_DATABASE=SR71-X 802.11abgn Wireless ExpressCard Adapter [AR9280]
+
+pci:v0000168Cd0000002Asv0000103Csd00003041*
+ ID_MODEL_FROM_DATABASE=AR5BHB92-H 802.11abgn Wireless Half-size Mini PCIe Card [AR9280]
+
+pci:v0000168Cd0000002Asv0000105Bsd0000E006*
+ ID_MODEL_FROM_DATABASE=T77H053.00 802.11bgn Wireless Mini PCIe Card [AR9281]
+
+pci:v0000168Cd0000002Asv0000105Bsd0000E01F*
+ ID_MODEL_FROM_DATABASE=T77H047.31 802.11bgn Wireless Half-size Mini PCIe Card [AR9283]
+
+pci:v0000168Cd0000002Asv0000106Bsd0000008F*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v0000168Cd0000002Asv000011ADsd00006600*
+ ID_MODEL_FROM_DATABASE=WN6600A 802.11bgn Wireless Mini PCIe Card [AR9281]
+
+pci:v0000168Cd0000002Asv0000144Fsd00007141*
+ ID_MODEL_FROM_DATABASE=WLL6080 802.11bgn Wireless Mini PCIe Card [AR9281]
+
+pci:v0000168Cd0000002Asv0000168Csd00000203*
+ ID_MODEL_FROM_DATABASE=DW1525 802.11abgn WLAN PCIe Card [AR9280]
+
+pci:v0000168Cd0000002Asv00001A32sd00000303*
+ ID_MODEL_FROM_DATABASE=EM303 802.11bgn Wireless Mini PCIe Card [AR9281]
+
+pci:v0000168Cd0000002Asv00001A32sd00000306*
+ ID_MODEL_FROM_DATABASE=EM306 802.11bgn Wireless Half-size Mini PCIe Card [AR9283]
+
+pci:v0000168Cd0000002Asv00001A3Bsd00001067*
+ ID_MODEL_FROM_DATABASE=AW-NE771 802.11bgn Wireless Mini PCIe Card [AR9281]
+
+pci:v0000168Cd0000002Asv00001A3Bsd00001081*
+ ID_MODEL_FROM_DATABASE=AW-NE773 802.11abgn Wireless Half-size Mini PCIe Card [AR9280]
+
+pci:v0000168Cd0000002B*
+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express)
+
+pci:v0000168Cd0000002Bsv00001028sd00000204*
+ ID_MODEL_FROM_DATABASE=Wireless 1502 802.11bgn Half-size Mini PCIe Card
+
+pci:v0000168Cd0000002Bsv00001028sd00000205*
+ ID_MODEL_FROM_DATABASE=Wireless 1702 802.11bgn Half-size Mini PCIe Card [AR9002WB-1NGCD]
+
+pci:v0000168Cd0000002Bsv0000103Csd0000303F*
+ ID_MODEL_FROM_DATABASE=U98Z062.10 802.11bgn Wireless Half-size Mini PCIe Card
+
+pci:v0000168Cd0000002Bsv0000103Csd00003040*
+ ID_MODEL_FROM_DATABASE=U98Z062.12 802.11bgn Wireless Half-size Mini PCIe Card
+
+pci:v0000168Cd0000002Bsv0000105Bsd0000E017*
+ ID_MODEL_FROM_DATABASE=T77H126.00 802.11bgn Wireless Half-size Mini PCIe Card
+
+pci:v0000168Cd0000002Bsv0000105Bsd0000E023*
+ ID_MODEL_FROM_DATABASE=T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card
+
+pci:v0000168Cd0000002Bsv00001113sd0000E811*
+ ID_MODEL_FROM_DATABASE=WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card
+
+pci:v0000168Cd0000002Bsv0000185Fsd000030AF*
+ ID_MODEL_FROM_DATABASE=DNXA-95 802.11bgn Wireless Half-size Mini PCIe Card
+
+pci:v0000168Cd0000002Bsv00001931sd00000023*
+ ID_MODEL_FROM_DATABASE=Option GTM67x PCIe WiFi Adapter
+
+pci:v0000168Cd0000002Bsv00001A3Bsd00001089*
+ ID_MODEL_FROM_DATABASE=AW-NE785 / AW-NE785H 802.11bgn Wireless Full or Half-size Mini PCIe Card
+
+pci:v0000168Cd0000002Bsv00001A3Bsd00002C37*
+ ID_MODEL_FROM_DATABASE=AW-NB037H 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD]
+
+pci:v0000168Cd0000002Bsv00001B9Asd00000401*
+ ID_MODEL_FROM_DATABASE=XW204E 802.11bgn Wireless Half-size Mini PCIe Card
+
+pci:v0000168Cd0000002Bsv00001B9Asd00000C03*
+ ID_MODEL_FROM_DATABASE=WB214E 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD]
+
+pci:v0000168Cd0000002C*
+ ID_MODEL_FROM_DATABASE=AR2427 802.11bg Wireless Network Adapter (PCI-Express)
+
+pci:v0000168Cd0000002D*
+ ID_MODEL_FROM_DATABASE=AR9227 Wireless Network Adapter
+
+pci:v0000168Cd0000002E*
+ ID_MODEL_FROM_DATABASE=AR9287 Wireless Network Adapter (PCI-Express)
+
+pci:v0000168Cd00000030*
+ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter
+
+pci:v0000168Cd00000030sv0000103Csd00001627*
+ ID_MODEL_FROM_DATABASE=AR9380/HB112 802.11abgn 3×3 Wi-Fi Adapter
+
+pci:v0000168Cd00000030sv0000106Bsd0000009A*
+ ID_MODEL_FROM_DATABASE=AirPort Extreme
+
+pci:v0000168Cd00000030sv00001186sd00003A7E*
+ ID_MODEL_FROM_DATABASE=DWA-566 Wireless N 300 Dual Band PCIe Desktop Adapter
+
+pci:v0000168Cd00000030sv00001A56sd00002000*
+ ID_MODEL_FROM_DATABASE=Killer Wireless-N 1102 Half-size Mini PCIe Card [AR9382]
+
+pci:v0000168Cd00000030sv00001A56sd00002001*
+ ID_MODEL_FROM_DATABASE=Killer Wireless-N 1103 Half-size Mini PCIe Card [AR9380]
+
+pci:v0000168Cd00000032*
+ ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter
+
+pci:v0000168Cd00000032sv0000103Csd00001838*
+ ID_MODEL_FROM_DATABASE=AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter
+
+pci:v0000168Cd00000033*
+ ID_MODEL_FROM_DATABASE=AR9580 Wireless Network Adapter
+
+pci:v0000168Cd00000034*
+ ID_MODEL_FROM_DATABASE=AR9462 Wireless Network Adapter
+
+pci:v0000168Cd00000036*
+ ID_MODEL_FROM_DATABASE=QCA9565 / AR9565 Wireless Network Adapter
+
+pci:v0000168Cd0000003C*
+ ID_MODEL_FROM_DATABASE=QCA988x 802.11ac Wireless Network Adapter
+
+pci:v0000168Cd00000207*
+ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a]
+
+pci:v0000168Cd00001014*
+ ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC
+
+pci:v0000168Cd00001014sv00001014sd0000058A*
+ ID_MODEL_FROM_DATABASE=ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6)
+
+pci:v0000168Cd00009013*
+ ID_MODEL_FROM_DATABASE=AR5002X Wireless Network Adapter
+
+pci:v0000168Cd0000FF19*
+ ID_MODEL_FROM_DATABASE=AR5006X Wireless Network Adapter
+
+pci:v0000168Cd0000FF1C*
+ ID_MODEL_FROM_DATABASE=AR5008 Wireless Network Adapter
+
+pci:v0000168Cd0000FF1D*
+ ID_MODEL_FROM_DATABASE=AR922x Wireless Network Adapter
+
+pci:v0000168Cd0000FF1Dsv0000168Csd0000EE1C*
+ ID_MODEL_FROM_DATABASE=AR9220-AC1A [AVM Fritz!Box FON WLAN 7270 v3]
+
+pci:v00001695*
+ ID_VENDOR_FROM_DATABASE=EPoX Computer Co., Ltd.
+
+pci:v0000169C*
+ ID_VENDOR_FROM_DATABASE=Netcell Corporation
+
+pci:v0000169Cd00000044*
+ ID_MODEL_FROM_DATABASE=Revolution Storage Processing Card
+
+pci:v0000169D*
+ ID_VENDOR_FROM_DATABASE=Club-3D VB (Wrong ID)
+
+pci:v000016A5*
+ ID_VENDOR_FROM_DATABASE=Tekram Technology Co.,Ltd.
+
+pci:v000016AB*
+ ID_VENDOR_FROM_DATABASE=Global Sun Technology Inc
+
+pci:v000016ABd00001100*
+ ID_MODEL_FROM_DATABASE=GL24110P
+
+pci:v000016ABd00001101*
+ ID_MODEL_FROM_DATABASE=PLX9052 PCMCIA-to-PCI Wireless LAN
+
+pci:v000016ABd00001102*
+ ID_MODEL_FROM_DATABASE=PCMCIA-to-PCI Wireless Network Bridge
+
+pci:v000016ABd00008501*
+ ID_MODEL_FROM_DATABASE=WL-8305 Wireless LAN PCI Adapter
+
+pci:v000016AE*
+ ID_VENDOR_FROM_DATABASE=SafeNet Inc
+
+pci:v000016AEd00000001*
+ ID_MODEL_FROM_DATABASE=SafeXcel 1140
+
+pci:v000016AEd0000000A*
+ ID_MODEL_FROM_DATABASE=SafeXcel 1841
+
+pci:v000016AEd00001141*
+ ID_MODEL_FROM_DATABASE=SafeXcel 1141
+
+pci:v000016AEd00001841*
+ ID_MODEL_FROM_DATABASE=SafeXcel 1842
+
+pci:v000016AF*
+ ID_VENDOR_FROM_DATABASE=SparkLAN Communications, Inc.
+
+pci:v000016B4*
+ ID_VENDOR_FROM_DATABASE=Aspex Semiconductor Ltd
+
+pci:v000016B8*
+ ID_VENDOR_FROM_DATABASE=Sonnet Technologies, Inc.
+
+pci:v000016BE*
+ ID_VENDOR_FROM_DATABASE=Creatix Polymedia GmbH
+
+pci:v000016C6*
+ ID_VENDOR_FROM_DATABASE=Micrel-Kendin
+
+pci:v000016C6d00008695*
+ ID_MODEL_FROM_DATABASE=Centaur KS8695 ARM processor
+
+pci:v000016C6d00008842*
+ ID_MODEL_FROM_DATABASE=KSZ8842-PMQL 2-Port Ethernet Switch
+
+pci:v000016C8*
+ ID_VENDOR_FROM_DATABASE=Octasic Inc.
+
+pci:v000016C9*
+ ID_VENDOR_FROM_DATABASE=EONIC B.V. The Netherlands
+
+pci:v000016CA*
+ ID_VENDOR_FROM_DATABASE=CENATEK Inc
+
+pci:v000016CAd00000001*
+ ID_MODEL_FROM_DATABASE=Rocket Drive DL
+
+pci:v000016CD*
+ ID_VENDOR_FROM_DATABASE=Advantech Co. Ltd
+
+pci:v000016CDd00000101*
+ ID_MODEL_FROM_DATABASE=DirectPCI SRAM for DPX-11x series
+
+pci:v000016CDd00000102*
+ ID_MODEL_FROM_DATABASE=DirectPCI SRAM for DPX-S/C/E-series
+
+pci:v000016CDd00000103*
+ ID_MODEL_FROM_DATABASE=DirectPCI ROM for DPX-11x series
+
+pci:v000016CDd00000104*
+ ID_MODEL_FROM_DATABASE=DirectPCI ROM for DPX-S/C/E-series
+
+pci:v000016CDd00000105*
+ ID_MODEL_FROM_DATABASE=DirectPCI I/O for DPX-114/DPX-115
+
+pci:v000016CDd00000106*
+ ID_MODEL_FROM_DATABASE=DirectPCI I/O for DPX-116
+
+pci:v000016CDd00000107*
+ ID_MODEL_FROM_DATABASE=DirectPCI I/O for DPX-116U
+
+pci:v000016CDd00000108*
+ ID_MODEL_FROM_DATABASE=DirectPCI I/O for DPX-117
+
+pci:v000016CDd00000109*
+ ID_MODEL_FROM_DATABASE=DirectPCI I/O for DPX-112
+
+pci:v000016CDd0000010A*
+ ID_MODEL_FROM_DATABASE=DirectPCI I/O for DPX-C/E-series
+
+pci:v000016CDd0000010B*
+ ID_MODEL_FROM_DATABASE=DirectPCI I/O for DPX-S series
+
+pci:v000016CE*
+ ID_VENDOR_FROM_DATABASE=Roland Corp.
+
+pci:v000016D5*
+ ID_VENDOR_FROM_DATABASE=Acromag, Inc.
+
+pci:v000016D5d00000504*
+ ID_MODEL_FROM_DATABASE=PMC-DX504 Reconfigurable FPGA with LVDS I/O
+
+pci:v000016D5d00000520*
+ ID_MODEL_FROM_DATABASE=PMC520 Serial Communication, 232 Octal
+
+pci:v000016D5d00000521*
+ ID_MODEL_FROM_DATABASE=PMC521 Serial Communication, 422/485 Octal
+
+pci:v000016D5d00001020*
+ ID_MODEL_FROM_DATABASE=PMC-AX1020 Reconfigurable FPGA with A/D & D/A
+
+pci:v000016D5d00001065*
+ ID_MODEL_FROM_DATABASE=PMC-AX1065 Reconfigurable FPGA with A/D & D/A
+
+pci:v000016D5d00002004*
+ ID_MODEL_FROM_DATABASE=PMC-DX2004 Reconfigurable FPGA with LVDS I/O
+
+pci:v000016D5d00002020*
+ ID_MODEL_FROM_DATABASE=PMC-AX2020 Reconfigurable FPGA with A/D & D/A
+
+pci:v000016D5d00002065*
+ ID_MODEL_FROM_DATABASE=PMC-AX2065 Reconfigurable FPGA with A/D & D/A
+
+pci:v000016D5d00003020*
+ ID_MODEL_FROM_DATABASE=PMC-AX3020 Reconfigurable FPGA with A/D & D/A
+
+pci:v000016D5d00003065*
+ ID_MODEL_FROM_DATABASE=PMC-AX3065 Reconfigurable FPGA with A/D & D/A
+
+pci:v000016D5d00004243*
+ ID_MODEL_FROM_DATABASE=PMC424, APC424, AcPC424 Digital I/O and Counter Timer Module
+
+pci:v000016D5d00004248*
+ ID_MODEL_FROM_DATABASE=PMC464, APC464, AcPC464 Digital I/O and Counter Timer Module
+
+pci:v000016D5d0000424B*
+ ID_MODEL_FROM_DATABASE=PMC-DX2002 Reconfigurable FPGA with Differential I/O
+
+pci:v000016D5d00004253*
+ ID_MODEL_FROM_DATABASE=PMC-DX503 Reconfigurable FPGA with TTL and Differential I/O
+
+pci:v000016D5d00004312*
+ ID_MODEL_FROM_DATABASE=PMC-CX1002 Reconfigurable Conduction-Cooled FPGA Virtex-II with Differential I/O
+
+pci:v000016D5d00004313*
+ ID_MODEL_FROM_DATABASE=PMC-CX1003 Reconfigurable Conduction-Cooled FPGA Virtex-II with CMOS and Differential I/O
+
+pci:v000016D5d00004322*
+ ID_MODEL_FROM_DATABASE=PMC-CX2002 Reconfigurable Conduction-Cooled FPGA Virtex-II with Differential I/O
+
+pci:v000016D5d00004323*
+ ID_MODEL_FROM_DATABASE=PMC-CX2003 Reconfigurable Conduction-Cooled FPGA Virtex-II with CMOS and Differential I/O
+
+pci:v000016D5d00004350*
+ ID_MODEL_FROM_DATABASE=PMC-DX501 Reconfigurable Digital I/O Module
+
+pci:v000016D5d00004353*
+ ID_MODEL_FROM_DATABASE=PMC-DX2003 Reconfigurable FPGA with TTL and Differential I/O
+
+pci:v000016D5d00004357*
+ ID_MODEL_FROM_DATABASE=PMC-DX502 Reconfigurable Differential I/O Module
+
+pci:v000016D5d00004457*
+ ID_MODEL_FROM_DATABASE=PMC730, APC730, AcPC730 Multifunction Module
+
+pci:v000016D5d0000464D*
+ ID_MODEL_FROM_DATABASE=PMC408 32-Channel Digital Input/Output Module
+
+pci:v000016D5d00004850*
+ ID_MODEL_FROM_DATABASE=PMC220-16 12-Bit Analog Output Module
+
+pci:v000016D5d00004A42*
+ ID_MODEL_FROM_DATABASE=PMC483, APC483, AcPC483 Counter Timer Module
+
+pci:v000016D5d00004A50*
+ ID_MODEL_FROM_DATABASE=PMC484, APC484, AcPC484 Counter Timer Module
+
+pci:v000016D5d00004A56*
+ ID_MODEL_FROM_DATABASE=PMC230 16-Bit Analog Output Module
+
+pci:v000016D5d00004B47*
+ ID_MODEL_FROM_DATABASE=PMC330, APC330, AcPC330 Analog Input Module, 16-bit A/D
+
+pci:v000016D5d00004C40*
+ ID_MODEL_FROM_DATABASE=PMC-LX40 Reconfigurable Virtex-4 FPGA with plug-in I/O
+
+pci:v000016D5d00004C60*
+ ID_MODEL_FROM_DATABASE=PMC-LX60 Reconfigurable Virtex-4 FPGA with plug-in I/O
+
+pci:v000016D5d00004D4D*
+ ID_MODEL_FROM_DATABASE=PMC341, APC341, AcPC341 Analog Input Module, Simultaneous Sample & Hold
+
+pci:v000016D5d00004D4E*
+ ID_MODEL_FROM_DATABASE=PMC482, APC482, AcPC482 Counter Timer Board
+
+pci:v000016D5d0000524D*
+ ID_MODEL_FROM_DATABASE=PMC-DX2001 Reconfigurable FPGA with TTL I/O
+
+pci:v000016D5d00005335*
+ ID_MODEL_FROM_DATABASE=PMC-SX35 Reconfigurable Virtex-4 FPGA with plug-in I/O
+
+pci:v000016D5d00005456*
+ ID_MODEL_FROM_DATABASE=PMC470 48-Channel Digital Input/Output Module
+
+pci:v000016D5d00005601*
+ ID_MODEL_FROM_DATABASE=PMC-VLX85 Reconfigurable Virtex-5 FPGA with plug-in I/O
+
+pci:v000016D5d00005602*
+ ID_MODEL_FROM_DATABASE=PMC-VLX110 Reconfigurable Virtex-5 FPGA with plug-in I/O
+
+pci:v000016D5d00005603*
+ ID_MODEL_FROM_DATABASE=PMC-VSX95 Reconfigurable Virtex-5 FPGA with plug-in I/O
+
+pci:v000016D5d00005604*
+ ID_MODEL_FROM_DATABASE=PMC-VLX155 Reconfigurable Virtex-5 FPGA with plug-in I/O
+
+pci:v000016D5d00005605*
+ ID_MODEL_FROM_DATABASE=PMC-VFX70 Reconfigurable Virtex-5 FPGA with plug-in I/O
+
+pci:v000016D5d00005606*
+ ID_MODEL_FROM_DATABASE=PMC-VLX155-1M Reconfigurable Virtex-5 FPGA with plug-in I/O
+
+pci:v000016D5d00005701*
+ ID_MODEL_FROM_DATABASE=PMC-SLX150: Reconfigurable Spartan-6 FPGA with plug-in I/O
+
+pci:v000016D5d00005702*
+ ID_MODEL_FROM_DATABASE=PMC-SLX150-1M: Reconfigurable Spartan-6 FPGA with plug-in I/O
+
+pci:v000016D5d00005801*
+ ID_MODEL_FROM_DATABASE=XMC-VLX85 Reconfigurable Virtex-5 FPGA with plug-in I/O
+
+pci:v000016D5d00005802*
+ ID_MODEL_FROM_DATABASE=XMC-VLX110 Reconfigurable Virtex-5 FPGA with plug-in I/O
+
+pci:v000016D5d00005803*
+ ID_MODEL_FROM_DATABASE=XMC-VSX95 Reconfigurable Virtex-5 FPGA with plug-in I/O
+
+pci:v000016D5d00005804*
+ ID_MODEL_FROM_DATABASE=XMC-VLX155 Reconfigurable Virtex-5 FPGA with plug-in I/O
+
+pci:v000016D5d00005807*
+ ID_MODEL_FROM_DATABASE=XMC-SLX150: Reconfigurable Spartan-6 FPGA with plug-in I/O
+
+pci:v000016D5d00005808*
+ ID_MODEL_FROM_DATABASE=XMC-SLX150-1M: Reconfigurable Spartan-6 FPGA with plug-in I/O
+
+pci:v000016D5d00005901*
+ ID_MODEL_FROM_DATABASE=APCe8650 PCI Express IndustryPack Carrier Card
+
+pci:v000016D5d00006301*
+ ID_MODEL_FROM_DATABASE=XMC Module with user-configurable Virtex-6 FPGA, 240k logic cells, SFP front I/O
+
+pci:v000016D5d00006302*
+ ID_MODEL_FROM_DATABASE=XMC Module with user-configurable Virtex-6 FPGA, 365k logic cells, SFP front I/O
+
+pci:v000016D5d00006303*
+ ID_MODEL_FROM_DATABASE=XMC Module with user-configurable Virtex-6 FPGA, 240k logic cells, no front I/O
+
+pci:v000016D5d00006304*
+ ID_MODEL_FROM_DATABASE=XMC Module with user-configurable Virtex-6 FPGA, 365k logic cells, no front I/O
+
+pci:v000016DA*
+ ID_VENDOR_FROM_DATABASE=Advantech Co., Ltd.
+
+pci:v000016DAd00000011*
+ ID_MODEL_FROM_DATABASE=INES GPIB-PCI
+
+pci:v000016DF*
+ ID_VENDOR_FROM_DATABASE=PIKA Technologies Inc.
+
+pci:v000016E2*
+ ID_VENDOR_FROM_DATABASE=Geotest-MTS
+
+pci:v000016E3*
+ ID_VENDOR_FROM_DATABASE=European Space Agency
+
+pci:v000016E3d00001E0F*
+ ID_MODEL_FROM_DATABASE=LEON2FT Processor
+
+pci:v000016E5*
+ ID_VENDOR_FROM_DATABASE=Intellon Corp.
+
+pci:v000016E5d00006000*
+ ID_MODEL_FROM_DATABASE=INT6000 Ethernet-to-Powerline Bridge [HomePlug AV]
+
+pci:v000016E5d00006300*
+ ID_MODEL_FROM_DATABASE=INT6300 Ethernet-to-Powerline Bridge [HomePlug AV]
+
+pci:v000016EC*
+ ID_VENDOR_FROM_DATABASE=U.S. Robotics
+
+pci:v000016ECd000000ED*
+ ID_MODEL_FROM_DATABASE=USR997900
+
+pci:v000016ECd00000116*
+ ID_MODEL_FROM_DATABASE=USR997902 10/100/1000 Mbps PCI Network Card
+
+pci:v000016ECd00002F00*
+ ID_MODEL_FROM_DATABASE=USR5660A (USR265660A, USR5660A-BP) 56K PCI Faxmodem
+
+pci:v000016ECd00003685*
+ ID_MODEL_FROM_DATABASE=Wireless Access PCI Adapter Model 022415
+
+pci:v000016ECd00004320*
+ ID_MODEL_FROM_DATABASE=USR997904 10/100/1000 64-bit NIC (Marvell Yukon)
+
+pci:v000016ECd0000AB06*
+ ID_MODEL_FROM_DATABASE=USR997901A 10/100 Cardbus NIC
+
+pci:v000016ED*
+ ID_VENDOR_FROM_DATABASE=Sycron N. V.
+
+pci:v000016EDd00001001*
+ ID_MODEL_FROM_DATABASE=UMIO communication card
+
+pci:v000016F3*
+ ID_VENDOR_FROM_DATABASE=Jetway Information Co., Ltd.
+
+pci:v000016F4*
+ ID_VENDOR_FROM_DATABASE=Vweb Corp
+
+pci:v000016F4d00008000*
+ ID_MODEL_FROM_DATABASE=VW2010
+
+pci:v000016F6*
+ ID_VENDOR_FROM_DATABASE=VideoTele.com, Inc.
+
+pci:v00001702*
+ ID_VENDOR_FROM_DATABASE=Internet Machines Corporation (IMC)
+
+pci:v00001705*
+ ID_VENDOR_FROM_DATABASE=Digital First, Inc.
+
+pci:v0000170B*
+ ID_VENDOR_FROM_DATABASE=NetOctave
+
+pci:v0000170Bd00000100*
+ ID_MODEL_FROM_DATABASE=NSP2000-SSL crypto accelerator
+
+pci:v0000170C*
+ ID_VENDOR_FROM_DATABASE=YottaYotta Inc.
+
+pci:v00001719*
+ ID_VENDOR_FROM_DATABASE=EZChip Technologies
+
+pci:v00001725*
+ ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor
+
+pci:v00001725d00007174*
+ ID_MODEL_FROM_DATABASE=VSC7174 PCI/PCI-X Serial ATA Host Bus Controller
+
+pci:v0000172A*
+ ID_VENDOR_FROM_DATABASE=Accelerated Encryption
+
+pci:v0000172Ad000013C8*
+ ID_MODEL_FROM_DATABASE=AEP SureWare Runner 1000V3
+
+pci:v00001734*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Technology Solutions
+
+pci:v00001735*
+ ID_VENDOR_FROM_DATABASE=Aten International Co. Ltd.
+
+pci:v00001737*
+ ID_VENDOR_FROM_DATABASE=Linksys
+
+pci:v00001737d00000029*
+ ID_MODEL_FROM_DATABASE=WPG54G ver. 4 PCI Card
+
+pci:v00001737d00001032*
+ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter
+
+pci:v00001737d00001032sv00001737sd00000015*
+ ID_MODEL_FROM_DATABASE=EG1032 v2 Instant Gigabit Network Adapter
+
+pci:v00001737d00001032sv00001737sd00000024*
+ ID_MODEL_FROM_DATABASE=EG1032 v3 Instant Gigabit Network Adapter
+
+pci:v00001737d00001064*
+ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter
+
+pci:v00001737d00001064sv00001737sd00000016*
+ ID_MODEL_FROM_DATABASE=EG1064 v2 Instant Gigabit Network Adapter
+
+pci:v00001737d0000AB08*
+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
+
+pci:v00001737d0000AB09*
+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
+
+pci:v0000173B*
+ ID_VENDOR_FROM_DATABASE=Altima (nee Broadcom)
+
+pci:v0000173Bd000003E8*
+ ID_MODEL_FROM_DATABASE=AC1000 Gigabit Ethernet
+
+pci:v0000173Bd000003E9*
+ ID_MODEL_FROM_DATABASE=AC1001 Gigabit Ethernet
+
+pci:v0000173Bd000003EA*
+ ID_MODEL_FROM_DATABASE=AC9100 Gigabit Ethernet
+
+pci:v0000173Bd000003EAsv0000173Bsd00000001*
+ ID_MODEL_FROM_DATABASE=AC1002
+
+pci:v0000173Bd000003EB*
+ ID_MODEL_FROM_DATABASE=AC1003 Gigabit Ethernet
+
+pci:v00001743*
+ ID_VENDOR_FROM_DATABASE=Peppercon AG
+
+pci:v00001743d00008139*
+ ID_MODEL_FROM_DATABASE=ROL/F-100 Fast Ethernet Adapter with ROL
+
+pci:v00001745*
+ ID_VENDOR_FROM_DATABASE=ViXS Systems, Inc.
+
+pci:v00001745d00002020*
+ ID_MODEL_FROM_DATABASE=XCode II Series
+
+pci:v00001745d00002100*
+ ID_MODEL_FROM_DATABASE=XCode 2100 Series
+
+pci:v00001749*
+ ID_VENDOR_FROM_DATABASE=RLX Technologies
+
+pci:v0000174B*
+ ID_VENDOR_FROM_DATABASE=PC Partner Limited
+
+pci:v0000174D*
+ ID_VENDOR_FROM_DATABASE=WellX Telecom SA
+
+pci:v0000175C*
+ ID_VENDOR_FROM_DATABASE=AudioScience Inc
+
+pci:v0000175E*
+ ID_VENDOR_FROM_DATABASE=Sanera Systems, Inc.
+
+pci:v00001760*
+ ID_VENDOR_FROM_DATABASE=TEDIA spol. s r. o.
+
+pci:v00001771*
+ ID_VENDOR_FROM_DATABASE=InnoVISION Multimedia Ltd.
+
+pci:v00001775*
+ ID_VENDOR_FROM_DATABASE=GE Intelligent Platforms
+
+pci:v0000177D*
+ ID_VENDOR_FROM_DATABASE=Cavium Networks
+
+pci:v0000177Dd00000001*
+ ID_MODEL_FROM_DATABASE=Nitrox XL N1
+
+pci:v0000177Dd00000003*
+ ID_MODEL_FROM_DATABASE=Nitrox XL N1 Lite
+
+pci:v0000177Dd00000004*
+ ID_MODEL_FROM_DATABASE=Octeon (and older) FIPS
+
+pci:v0000177Dd00000005*
+ ID_MODEL_FROM_DATABASE=Octeon CN38XX Network Processor Pass 3.x
+
+pci:v0000177Dd00000006*
+ ID_MODEL_FROM_DATABASE=RoHS
+
+pci:v0000177Dd00000010*
+ ID_MODEL_FROM_DATABASE=Nitrox XL NPX
+
+pci:v0000177Dd00000020*
+ ID_MODEL_FROM_DATABASE=Octeon CN31XX Network Processor
+
+pci:v0000177Dd00000030*
+ ID_MODEL_FROM_DATABASE=Octeon CN30XX Network Processor
+
+pci:v0000177Dd00000040*
+ ID_MODEL_FROM_DATABASE=Octeon CN58XX Network Processor
+
+pci:v0000177Dd00000050*
+ ID_MODEL_FROM_DATABASE=Octeon CN57XX Network Processor (CN54XX/CN55XX/CN56XX)
+
+pci:v0000177Dd00000070*
+ ID_MODEL_FROM_DATABASE=Octeon CN50XX Network Processor
+
+pci:v0000177Dd00000080*
+ ID_MODEL_FROM_DATABASE=Octeon CN52XX Network Processor
+
+pci:v0000177Dd00000090*
+ ID_MODEL_FROM_DATABASE=Octeon II CN63XX Network Processor
+
+pci:v0000177Dd00000091*
+ ID_MODEL_FROM_DATABASE=Octeon II CN68XX Network Processor
+
+pci:v0000177Dd00000092*
+ ID_MODEL_FROM_DATABASE=Octeon II CN65XX Network Processor
+
+pci:v0000177Dd00000093*
+ ID_MODEL_FROM_DATABASE=Octeon II CN61XX Network Processor
+
+pci:v0000177Dd00000094*
+ ID_MODEL_FROM_DATABASE=Octeon Fusion CNF71XX Cell processor
+
+pci:v0000177Dd00000095*
+ ID_MODEL_FROM_DATABASE=Octeon III CN78XX Network Processor
+
+pci:v0000177Dd00000096*
+ ID_MODEL_FROM_DATABASE=Octeon III CN70XX Network Processor
+
+pci:v00001787*
+ ID_VENDOR_FROM_DATABASE=Hightech Information System Ltd.
+
+pci:v00001789*
+ ID_VENDOR_FROM_DATABASE=Ennyah Technologies Corp.
+
+pci:v00001796*
+ ID_VENDOR_FROM_DATABASE=Research Centre Juelich
+
+pci:v00001796d00000001*
+ ID_MODEL_FROM_DATABASE=SIS1100 [Gigabit link]
+
+pci:v00001796d00000002*
+ ID_MODEL_FROM_DATABASE=HOTlink
+
+pci:v00001796d00000003*
+ ID_MODEL_FROM_DATABASE=Counter Timer
+
+pci:v00001796d00000004*
+ ID_MODEL_FROM_DATABASE=CAMAC Controller
+
+pci:v00001796d00000005*
+ ID_MODEL_FROM_DATABASE=PROFIBUS
+
+pci:v00001796d00000006*
+ ID_MODEL_FROM_DATABASE=AMCC HOTlink
+
+pci:v00001796d0000000D*
+ ID_MODEL_FROM_DATABASE=Synchronisation Slave
+
+pci:v00001796d0000000E*
+ ID_MODEL_FROM_DATABASE=SIS1100-eCMC
+
+pci:v00001796d0000000F*
+ ID_MODEL_FROM_DATABASE=TDC (GPX)
+
+pci:v00001796d00000010*
+ ID_MODEL_FROM_DATABASE=PCIe Counter Timer
+
+pci:v00001796d00000011*
+ ID_MODEL_FROM_DATABASE=SIS1100-e single link
+
+pci:v00001796d00000012*
+ ID_MODEL_FROM_DATABASE=SIS1100-e quad link
+
+pci:v00001797*
+ ID_VENDOR_FROM_DATABASE=Techwell Inc.
+
+pci:v00001797d00006801*
+ ID_MODEL_FROM_DATABASE=TW6802 multimedia video card
+
+pci:v00001797d00006802*
+ ID_MODEL_FROM_DATABASE=TW6802 multimedia other device
+
+pci:v00001797d00006810*
+ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller
+
+pci:v00001797d00006811*
+ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller
+
+pci:v00001797d00006812*
+ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller
+
+pci:v00001797d00006813*
+ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller
+
+pci:v00001799*
+ ID_VENDOR_FROM_DATABASE=Belkin
+
+pci:v00001799d00006001*
+ ID_MODEL_FROM_DATABASE=F5D6001 Wireless PCI Card [Realtek RTL8180]
+
+pci:v00001799d00006020*
+ ID_MODEL_FROM_DATABASE=F5D6020 v3000 Wireless PCMCIA Card [Realtek RTL8180]
+
+pci:v00001799d00006060*
+ ID_MODEL_FROM_DATABASE=F5D6060 Wireless PDA Card
+
+pci:v00001799d0000700F*
+ ID_MODEL_FROM_DATABASE=F5D7000 v7000 Wireless G Desktop Card [Realtek RTL8185]
+
+pci:v00001799d0000701F*
+ ID_MODEL_FROM_DATABASE=F5D7010 v7000 Wireless G Notebook Card [Realtek RTL8185]
+
+pci:v0000179A*
+ ID_VENDOR_FROM_DATABASE=id Quantique
+
+pci:v0000179Ad00000001*
+ ID_MODEL_FROM_DATABASE=Quantis PCI 16Mbps
+
+pci:v0000179C*
+ ID_VENDOR_FROM_DATABASE=Data Patterns
+
+pci:v0000179Cd00000557*
+ ID_MODEL_FROM_DATABASE=DP-PCI-557 [PCI 1553B]
+
+pci:v0000179Cd00000566*
+ ID_MODEL_FROM_DATABASE=DP-PCI-566 [Intelligent PCI 1553B]
+
+pci:v0000179Cd00001152*
+ ID_MODEL_FROM_DATABASE=DP-cPCI-1152 (8-channel Isolated ADC Module)
+
+pci:v0000179Cd00005031*
+ ID_MODEL_FROM_DATABASE=DP-CPCI-5031-Synchro Module
+
+pci:v0000179Cd00005112*
+ ID_MODEL_FROM_DATABASE=DP-cPCI-5112 [MM-Carrier]
+
+pci:v0000179Cd00005121*
+ ID_MODEL_FROM_DATABASE=DP-CPCI-5121-IP Carrier
+
+pci:v0000179Cd00005211*
+ ID_MODEL_FROM_DATABASE=DP-CPCI-5211-IP Carrier
+
+pci:v0000179Cd00005679*
+ ID_MODEL_FROM_DATABASE=AGE Display Module
+
+pci:v000017A0*
+ ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc
+
+pci:v000017A0d00007163*
+ ID_MODEL_FROM_DATABASE=GL9701 PCIe to PCI Bridge
+
+pci:v000017A0d00008083*
+ ID_MODEL_FROM_DATABASE=GL880 USB 1.1 UHCI controller
+
+pci:v000017A0d00008084*
+ ID_MODEL_FROM_DATABASE=GL880 USB 2.0 EHCI controller
+
+pci:v000017AA*
+ ID_VENDOR_FROM_DATABASE=Lenovo
+
+pci:v000017AB*
+ ID_VENDOR_FROM_DATABASE=Phillips Components
+
+pci:v000017AF*
+ ID_VENDOR_FROM_DATABASE=Hightech Information System Ltd.
+
+pci:v000017B3*
+ ID_VENDOR_FROM_DATABASE=Hawking Technologies
+
+pci:v000017B3d0000AB08*
+ ID_MODEL_FROM_DATABASE=PN672TX 10/100 Ethernet
+
+pci:v000017B4*
+ ID_VENDOR_FROM_DATABASE=Indra Networks, Inc.
+
+pci:v000017B4d00000011*
+ ID_MODEL_FROM_DATABASE=WebEnhance 100 GZIP Compression Card
+
+pci:v000017B4d00000012*
+ ID_MODEL_FROM_DATABASE=WebEnhance 200 GZIP Compression Card
+
+pci:v000017B4d00000015*
+ ID_MODEL_FROM_DATABASE=WebEnhance 300 GZIP Compression Card
+
+pci:v000017B4d00000016*
+ ID_MODEL_FROM_DATABASE=StorCompress 300 GZIP Compression Card
+
+pci:v000017B4d00000017*
+ ID_MODEL_FROM_DATABASE=StorSecure 300 GZIP Compression and AES Encryption Card
+
+pci:v000017C0*
+ ID_VENDOR_FROM_DATABASE=Wistron Corp.
+
+pci:v000017C2*
+ ID_VENDOR_FROM_DATABASE=Newisys, Inc.
+
+pci:v000017CB*
+ ID_VENDOR_FROM_DATABASE=Airgo Networks, Inc.
+
+pci:v000017CBd00000001*
+ ID_MODEL_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card
+
+pci:v000017CBd00000001sv00001385sd00005C00*
+ ID_MODEL_FROM_DATABASE=WGM511 Pre-N 802.11g Wireless CardBus Adapter
+
+pci:v000017CBd00000001sv00001737sd00000045*
+ ID_MODEL_FROM_DATABASE=WMP54GX v1 802.11g Wireless-G PCI Adapter with SRX
+
+pci:v000017CBd00000002*
+ ID_MODEL_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card
+
+pci:v000017CBd00000002sv00001385sd00006D00*
+ ID_MODEL_FROM_DATABASE=WPNT511 RangeMax 240 Mbps Wireless CardBus Adapter
+
+pci:v000017CBd00000002sv00001737sd00000054*
+ ID_MODEL_FROM_DATABASE=WPC54GX4 v1 802.11g Wireless-G Notebook Adapter with SRX400
+
+pci:v000017CC*
+ ID_VENDOR_FROM_DATABASE=NetChip Technology, Inc
+
+pci:v000017CCd00002280*
+ ID_MODEL_FROM_DATABASE=USB 2.0
+
+pci:v000017CF*
+ ID_VENDOR_FROM_DATABASE=Z-Com, Inc.
+
+pci:v000017D3*
+ ID_VENDOR_FROM_DATABASE=Areca Technology Corp.
+
+pci:v000017D3d00001110*
+ ID_MODEL_FROM_DATABASE=ARC-1110 4-Port PCI-X to SATA RAID Controller
+
+pci:v000017D3d00001120*
+ ID_MODEL_FROM_DATABASE=ARC-1120 8-Port PCI-X to SATA RAID Controller
+
+pci:v000017D3d00001130*
+ ID_MODEL_FROM_DATABASE=ARC-1130 12-Port PCI-X to SATA RAID Controller
+
+pci:v000017D3d00001160*
+ ID_MODEL_FROM_DATABASE=ARC-1160 16-Port PCI-X to SATA RAID Controller
+
+pci:v000017D3d00001170*
+ ID_MODEL_FROM_DATABASE=ARC-1170 24-Port PCI-X to SATA RAID Controller
+
+pci:v000017D3d00001201*
+ ID_MODEL_FROM_DATABASE=ARC-1200 2-Port PCI-Express to SATA II RAID Controller
+
+pci:v000017D3d00001210*
+ ID_MODEL_FROM_DATABASE=ARC-1210 4-Port PCI-Express to SATA RAID Controller
+
+pci:v000017D3d00001220*
+ ID_MODEL_FROM_DATABASE=ARC-1220 8-Port PCI-Express to SATA RAID Controller
+
+pci:v000017D3d00001222*
+ ID_MODEL_FROM_DATABASE=ARC-1222 8-Port PCI-Express to SAS/SATA II RAID Controller
+
+pci:v000017D3d00001230*
+ ID_MODEL_FROM_DATABASE=ARC-1230 12-Port PCI-Express to SATA RAID Controller
+
+pci:v000017D3d00001260*
+ ID_MODEL_FROM_DATABASE=ARC-1260 16-Port PCI-Express to SATA RAID Controller
+
+pci:v000017D3d00001280*
+ ID_MODEL_FROM_DATABASE=ARC-1280/1280ML 24-Port PCI-Express to SATA II RAID Controller
+
+pci:v000017D3d00001280sv000017D3sd00001221*
+ ID_MODEL_FROM_DATABASE=ARC-1221 8-Port PCI-Express to SATA RAID Controller
+
+pci:v000017D3d00001300*
+ ID_MODEL_FROM_DATABASE=ARC-1300ix-16 16-Port PCI-Express to SAS Non-RAID Host Adapter
+
+pci:v000017D3d00001680*
+ ID_MODEL_FROM_DATABASE=ARC-1680 8 port PCIe/PCI-X to SAS/SATA II RAID Controller
+
+pci:v000017D3d00001680sv000017D3sd00001212*
+ ID_MODEL_FROM_DATABASE=ARC-1212 4-Port PCIe to SAS/SATA II RAID Controller
+
+pci:v000017D3d00001880*
+ ID_MODEL_FROM_DATABASE=ARC-1880 8/12 port PCIe/PCI-X to SAS/SATA II RAID Controller
+
+pci:v000017D5*
+ ID_VENDOR_FROM_DATABASE=Exar Corp.
+
+pci:v000017D5d00005731*
+ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X
+
+pci:v000017D5d00005732*
+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0
+
+pci:v000017D5d00005831*
+ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X
+
+pci:v000017D5d00005831sv0000103Csd000012D5*
+ ID_MODEL_FROM_DATABASE=PCI-X 133MHz 10GbE SR Fiber
+
+pci:v000017D5d00005831sv000010A9sd00008020*
+ ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet (PCI-X, Fiber)
+
+pci:v000017D5d00005831sv000010A9sd00008024*
+ ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet (PCI-X, Fiber)
+
+pci:v000017D5d00005832*
+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0
+
+pci:v000017D5d00005832sv0000103Csd00001337*
+ ID_MODEL_FROM_DATABASE=PCI-X 266MHz 10GigE SR [AD385A]
+
+pci:v000017D5d00005832sv000010A9sd00008021*
+ ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet II (PCI-X, Fiber)
+
+pci:v000017D5d00005832sv000017D5sd00006020*
+ ID_MODEL_FROM_DATABASE=Xframe II SR
+
+pci:v000017D5d00005832sv000017D5sd00006021*
+ ID_MODEL_FROM_DATABASE=Xframe II SR, Low Profile
+
+pci:v000017D5d00005832sv000017D5sd00006022*
+ ID_MODEL_FROM_DATABASE=Xframe E SR
+
+pci:v000017D5d00005832sv000017D5sd00006420*
+ ID_MODEL_FROM_DATABASE=Xframe II LR
+
+pci:v000017D5d00005832sv000017D5sd00006421*
+ ID_MODEL_FROM_DATABASE=Xframe II LR, Low Profile
+
+pci:v000017D5d00005832sv000017D5sd00006422*
+ ID_MODEL_FROM_DATABASE=Xframe E LR
+
+pci:v000017D5d00005832sv000017D5sd00006C20*
+ ID_MODEL_FROM_DATABASE=Xframe II CX4
+
+pci:v000017D5d00005832sv000017D5sd00006C21*
+ ID_MODEL_FROM_DATABASE=Xframe II CX4, Low Profile
+
+pci:v000017D5d00005832sv000017D5sd00006C22*
+ ID_MODEL_FROM_DATABASE=Xframe E CX4
+
+pci:v000017D5d00005833*
+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe
+
+pci:v000017D5d00005833sv000017D5sd00006030*
+ ID_MODEL_FROM_DATABASE=X3110 Single Port SR
+
+pci:v000017D5d00005833sv000017D5sd00006031*
+ ID_MODEL_FROM_DATABASE=X3120 Dual Port SR
+
+pci:v000017D5d00005833sv000017D5sd00006430*
+ ID_MODEL_FROM_DATABASE=X3110 Single Port LR
+
+pci:v000017D5d00005833sv000017D5sd00006431*
+ ID_MODEL_FROM_DATABASE=X3120 Dual Port LR
+
+pci:v000017D5d00005833sv000017D5sd00007030*
+ ID_MODEL_FROM_DATABASE=X3110 Single Port LRM
+
+pci:v000017D5d00005833sv000017D5sd00007031*
+ ID_MODEL_FROM_DATABASE=X3120 Dual Port LRM
+
+pci:v000017D5d00005833sv000017D5sd00007430*
+ ID_MODEL_FROM_DATABASE=X3110 Single Port 10GBase-T
+
+pci:v000017D5d00005833sv000017D5sd00007431*
+ ID_MODEL_FROM_DATABASE=X3120 Dual Port 10GBase-T
+
+pci:v000017D5d00005833sv000017D5sd00007830*
+ ID_MODEL_FROM_DATABASE=X3110 Single Port 10GBase-CR
+
+pci:v000017D5d00005833sv000017D5sd00007831*
+ ID_MODEL_FROM_DATABASE=X3120 Dual Port 10GBase-CR
+
+pci:v000017DB*
+ ID_VENDOR_FROM_DATABASE=Cray Inc
+
+pci:v000017DBd00000101*
+ ID_MODEL_FROM_DATABASE=XT Series [Seastar] 3D Toroidal Router
+
+pci:v000017DE*
+ ID_VENDOR_FROM_DATABASE=KWorld Computer Co. Ltd.
+
+pci:v000017E4*
+ ID_VENDOR_FROM_DATABASE=Sectra AB
+
+pci:v000017E4d00000001*
+ ID_MODEL_FROM_DATABASE=KK671 Cardbus encryption board
+
+pci:v000017E4d00000002*
+ ID_MODEL_FROM_DATABASE=KK672 Cardbus encryption board
+
+pci:v000017E6*
+ ID_VENDOR_FROM_DATABASE=Entropic Communications Inc.
+
+pci:v000017E6d00000010*
+ ID_MODEL_FROM_DATABASE=EN2010 [c.Link] MoCA Network Controller (Coax, PCI interface)
+
+pci:v000017E6d00000011*
+ ID_MODEL_FROM_DATABASE=EN2010 [c.Link] MoCA Network Controller (Coax, MPEG interface)
+
+pci:v000017E6d00000021*
+ ID_MODEL_FROM_DATABASE=EN2210 [c.Link] MoCA Network Controller (Coax)
+
+pci:v000017E6d00000025*
+ ID_MODEL_FROM_DATABASE=EN2510 [c.Link] MoCA Network Controller (Coax, PCIe interface)
+
+pci:v000017E6d00000027*
+ ID_MODEL_FROM_DATABASE=EN2710 [c.Link] MoCA 2.0 Network Controller (Coax, PCIe interface)
+
+pci:v000017EE*
+ ID_VENDOR_FROM_DATABASE=Connect Components Ltd
+
+pci:v000017F2*
+ ID_VENDOR_FROM_DATABASE=Albatron Corp.
+
+pci:v000017F3*
+ ID_VENDOR_FROM_DATABASE=RDC Semiconductor, Inc.
+
+pci:v000017F3d00001010*
+ ID_MODEL_FROM_DATABASE=R1010 IDE Controller
+
+pci:v000017F3d00006020*
+ ID_MODEL_FROM_DATABASE=R6020 North Bridge
+
+pci:v000017F3d00006021*
+ ID_MODEL_FROM_DATABASE=R6021 Host Bridge
+
+pci:v000017F3d00006030*
+ ID_MODEL_FROM_DATABASE=R6030 ISA Bridge
+
+pci:v000017F3d00006031*
+ ID_MODEL_FROM_DATABASE=R6031 ISA Bridge
+
+pci:v000017F3d00006040*
+ ID_MODEL_FROM_DATABASE=R6040 MAC Controller
+
+pci:v000017F3d00006060*
+ ID_MODEL_FROM_DATABASE=R6060 USB 1.1 Controller
+
+pci:v000017F3d00006061*
+ ID_MODEL_FROM_DATABASE=R6061 USB 2.0 Controller
+
+pci:v000017F7*
+ ID_VENDOR_FROM_DATABASE=Topdek Semiconductor Inc.
+
+pci:v000017F9*
+ ID_VENDOR_FROM_DATABASE=Gemtek Technology Co., Ltd
+
+pci:v000017FC*
+ ID_VENDOR_FROM_DATABASE=IOGEAR, Inc.
+
+pci:v000017FE*
+ ID_VENDOR_FROM_DATABASE=InProComm Inc.
+
+pci:v000017FEd00002120*
+ ID_MODEL_FROM_DATABASE=IPN 2120 802.11b
+
+pci:v000017FEd00002120sv00001737sd00000020*
+ ID_MODEL_FROM_DATABASE=WMP11 v4 802.11b Wireless-B PCI Adapter
+
+pci:v000017FEd00002220*
+ ID_MODEL_FROM_DATABASE=IPN 2220 802.11g
+
+pci:v000017FEd00002220sv00001468sd00000305*
+ ID_MODEL_FROM_DATABASE=T60N871 802.11g Mini PCI Wireless Adapter
+
+pci:v000017FEd00002220sv00001737sd00000029*
+ ID_MODEL_FROM_DATABASE=WPC54G v4 802.11g Wireless-G Notebook Adapter
+
+pci:v000017FF*
+ ID_VENDOR_FROM_DATABASE=Benq Corporation
+
+pci:v00001803*
+ ID_VENDOR_FROM_DATABASE=ProdaSafe GmbH
+
+pci:v00001805*
+ ID_VENDOR_FROM_DATABASE=Euresys S.A.
+
+pci:v00001809*
+ ID_VENDOR_FROM_DATABASE=Lumanate, Inc.
+
+pci:v00001813*
+ ID_VENDOR_FROM_DATABASE=Ambient Technologies Inc
+
+pci:v00001813d00004000*
+ ID_MODEL_FROM_DATABASE=HaM controllerless modem
+
+pci:v00001813d00004000sv000016BEsd00000001*
+ ID_MODEL_FROM_DATABASE=V9x HAM Data Fax Modem
+
+pci:v00001813d00004100*
+ ID_MODEL_FROM_DATABASE=HaM plus Data Fax Modem
+
+pci:v00001813d00004100sv000016BEsd00000002*
+ ID_MODEL_FROM_DATABASE=V9x HAM 1394
+
+pci:v00001814*
+ ID_VENDOR_FROM_DATABASE=Ralink corp.
+
+pci:v00001814d00000101*
+ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460
+
+pci:v00001814d00000101sv00001043sd00000127*
+ ID_MODEL_FROM_DATABASE=WiFi-b add-on Card
+
+pci:v00001814d00000101sv00001371sd00000010*
+ ID_MODEL_FROM_DATABASE=Minitar MNW2BPCI Wireless PCI Card
+
+pci:v00001814d00000101sv00001462sd00006828*
+ ID_MODEL_FROM_DATABASE=PC11B2 (MS-6828) Wireless 11b PCI Card
+
+pci:v00001814d00000200*
+ ID_MODEL_FROM_DATABASE=RT2500 802.11g PCI [PC54G2]
+
+pci:v00001814d00000201*
+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg
+
+pci:v00001814d00000201sv00001043sd0000130F*
+ ID_MODEL_FROM_DATABASE=WL-130g
+
+pci:v00001814d00000201sv00001186sd00003C00*
+ ID_MODEL_FROM_DATABASE=DWL-G650X Wireless 11g CardBus Adapter
+
+pci:v00001814d00000201sv00001371sd0000001E*
+ ID_MODEL_FROM_DATABASE=CWC-854 Wireless-G CardBus Adapter
+
+pci:v00001814d00000201sv00001371sd0000001F*
+ ID_MODEL_FROM_DATABASE=CWM-854 Wireless-G Mini PCI Adapter
+
+pci:v00001814d00000201sv00001371sd00000020*
+ ID_MODEL_FROM_DATABASE=CWP-854 Wireless-G PCI Adapter
+
+pci:v00001814d00000201sv00001458sd0000E381*
+ ID_MODEL_FROM_DATABASE=GN-WMKG 802.11b/g Wireless CardBus Adapter
+
+pci:v00001814d00000201sv00001458sd0000E931*
+ ID_MODEL_FROM_DATABASE=GN-WIKG 802.11b/g mini-PCI Adapter
+
+pci:v00001814d00000201sv00001462sd00006833*
+ ID_MODEL_FROM_DATABASE=Unknown 802.11g mini-PCI Adapter
+
+pci:v00001814d00000201sv00001462sd00006835*
+ ID_MODEL_FROM_DATABASE=Wireless 11G CardBus CB54G2
+
+pci:v00001814d00000201sv00001737sd00000032*
+ ID_MODEL_FROM_DATABASE=WMP54G v4.0 PCI Adapter
+
+pci:v00001814d00000201sv00001799sd0000700A*
+ ID_MODEL_FROM_DATABASE=F5D7000 v2000/v3000 Wireless G Desktop Card
+
+pci:v00001814d00000201sv00001799sd0000701A*
+ ID_MODEL_FROM_DATABASE=F5D7010 v2000/v3000 Wireless G Notebook Card
+
+pci:v00001814d00000201sv00001814sd00002560*
+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg
+
+pci:v00001814d00000201sv0000182Dsd00009073*
+ ID_MODEL_FROM_DATABASE=WL-115 Wireless Network PCI Adapter
+
+pci:v00001814d00000201sv0000185Fsd000022A0*
+ ID_MODEL_FROM_DATABASE=CN-WF513 Wireless Cardbus Adapter
+
+pci:v00001814d00000201sv000018EBsd00005312*
+ ID_MODEL_FROM_DATABASE=WL531P IEEE 802.11g PCI Card-EU
+
+pci:v00001814d00000201sv00001948sd00003C00*
+ ID_MODEL_FROM_DATABASE=C54RC v1 Wireless 11g CardBus Adapter
+
+pci:v00001814d00000201sv00001948sd00003C01*
+ ID_MODEL_FROM_DATABASE=C54Ri v1 Wireless 11g PCI Adapter
+
+pci:v00001814d00000300*
+ ID_MODEL_FROM_DATABASE=Wireless Adapter Canyon CN-WF511
+
+pci:v00001814d00000301*
+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI
+
+pci:v00001814d00000301sv00001186sd00003C08*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E1)
+
+pci:v00001814d00000301sv00001186sd00003C09*
+ ID_MODEL_FROM_DATABASE=DWL-G510 Rev C
+
+pci:v00001814d00000301sv000013D1sd0000ABE3*
+ ID_MODEL_FROM_DATABASE=miniPCI Pluscom 802.11 a/b/g
+
+pci:v00001814d00000301sv00001458sd0000E933*
+ ID_MODEL_FROM_DATABASE=GN-WI01GS
+
+pci:v00001814d00000301sv00001458sd0000E934*
+ ID_MODEL_FROM_DATABASE=GN-WP01GS
+
+pci:v00001814d00000301sv00001737sd00000055*
+ ID_MODEL_FROM_DATABASE=WMP54G v4.1
+
+pci:v00001814d00000301sv00001799sd0000700E*
+ ID_MODEL_FROM_DATABASE=F5D7000 v6000 Wireless G Desktop Card
+
+pci:v00001814d00000301sv00001799sd0000701E*
+ ID_MODEL_FROM_DATABASE=F5D7010 v6000 Wireless G Notebook Card
+
+pci:v00001814d00000301sv000017F9sd00000012*
+ ID_MODEL_FROM_DATABASE=AWLC3026T 802.11g Wireless CardBus Adapter
+
+pci:v00001814d00000301sv00001814sd00002561*
+ ID_MODEL_FROM_DATABASE=EW-7108PCg/EW-7128g
+
+pci:v00001814d00000302*
+ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g
+
+pci:v00001814d00000302sv00001186sd00003A71*
+ ID_MODEL_FROM_DATABASE=DWA-510 Wireless G Desktop Adapter
+
+pci:v00001814d00000302sv00001186sd00003C08*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E2)
+
+pci:v00001814d00000302sv00001186sd00003C09*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G510 Wireless Network Adapter (Rev.C)
+
+pci:v00001814d00000302sv00001462sd0000B834*
+ ID_MODEL_FROM_DATABASE=PC54G3 Wireless 11g PCI Card
+
+pci:v00001814d00000302sv00001948sd00003C23*
+ ID_MODEL_FROM_DATABASE=C54RC v2 Wireless 11g CardBus Adapter
+
+pci:v00001814d00000302sv00001948sd00003C24*
+ ID_MODEL_FROM_DATABASE=C54Ri v2 Wireless 11g PCI Adapter
+
+pci:v00001814d00000401*
+ ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO
+
+pci:v00001814d00000401sv00001737sd00000052*
+ ID_MODEL_FROM_DATABASE=WPC54GR v1 802.11g Wireless-G Notebook Adapter with RangeBooster
+
+pci:v00001814d00000401sv000017F9sd00000011*
+ ID_MODEL_FROM_DATABASE=WPCR-137G 802.11bg Wireless CardBus Adapter
+
+pci:v00001814d00000401sv000017F9sd00000016*
+ ID_MODEL_FROM_DATABASE=WPIR-119GH 802.11bg Wireless Desktop Adapter
+
+pci:v00001814d00000601*
+ ID_MODEL_FROM_DATABASE=RT2800 802.11n PCI
+
+pci:v00001814d00000601sv00001799sd0000801C*
+ ID_MODEL_FROM_DATABASE=F5D8011 v3 802.11n N1 Wireless Notebook Card
+
+pci:v00001814d00000601sv0000187Esd00003412*
+ ID_MODEL_FROM_DATABASE=NWD-310N 802.11n Wireless PCI Adapter
+
+pci:v00001814d00000681*
+ ID_MODEL_FROM_DATABASE=RT2890 Wireless 802.11n PCIe
+
+pci:v00001814d00000681sv00001458sd0000E939*
+ ID_MODEL_FROM_DATABASE=GN-WS30N-RH 802.11bgn Mini PCIe Card
+
+pci:v00001814d00000701*
+ ID_MODEL_FROM_DATABASE=RT2760 Wireless 802.11n 1T/2R
+
+pci:v00001814d00000701sv00001737sd00000074*
+ ID_MODEL_FROM_DATABASE=WMP110 v2 802.11n RangePlus Wireless PCI Adapter
+
+pci:v00001814d00000781*
+ ID_MODEL_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe
+
+pci:v00001814d00003060*
+ ID_MODEL_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R
+
+pci:v00001814d00003060sv00001186sd00003C04*
+ ID_MODEL_FROM_DATABASE=DWA-525 Wireless N 150 Desktop Adapter (rev.A1)
+
+pci:v00001814d00003062*
+ ID_MODEL_FROM_DATABASE=RT3062 Wireless 802.11n 2T/2R
+
+pci:v00001814d00003090*
+ ID_MODEL_FROM_DATABASE=RT3090 Wireless 802.11n 1T/1R PCIe
+
+pci:v00001814d00003090sv000013BDsd00001057*
+ ID_MODEL_FROM_DATABASE=GN-WS32L-RH Half-size Mini PCIe Card
+
+pci:v00001814d00003091*
+ ID_MODEL_FROM_DATABASE=RT3091 Wireless 802.11n 1T/2R PCIe
+
+pci:v00001814d00003092*
+ ID_MODEL_FROM_DATABASE=RT3092 Wireless 802.11n 2T/2R PCIe
+
+pci:v00001814d00003290*
+ ID_MODEL_FROM_DATABASE=RT3290 Wireless 802.11n 1T/1R PCIe
+
+pci:v00001814d00003298*
+ ID_MODEL_FROM_DATABASE=RT3290 Bluetooth
+
+pci:v00001814d00003592*
+ ID_MODEL_FROM_DATABASE=RT3592 Wireless 802.11abgn 2T/2R PCIe
+
+pci:v00001814d00005360*
+ ID_MODEL_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R
+
+pci:v00001814d00005360sv00001186sd00003C05*
+ ID_MODEL_FROM_DATABASE=DWA-525 Wireless N 150 Desktop Adapter (rev.A2)
+
+pci:v00001814d00005360sv000020F4sd0000703A*
+ ID_MODEL_FROM_DATABASE=TEW-703PI N150 Wireless PCI Adapter
+
+pci:v00001814d00005390*
+ ID_MODEL_FROM_DATABASE=RT5390 Wireless 802.11n 1T/1R PCIe
+
+pci:v00001814d00005390sv0000103Csd00001636*
+ ID_MODEL_FROM_DATABASE=U98Z077.00 Half-size Mini PCIe Card
+
+pci:v00001814d0000539F*
+ ID_MODEL_FROM_DATABASE=RT5390 [802.11 b/g/n 1T1R G-band PCI Express Single Chip]
+
+pci:v00001814d0000539Fsv0000103Csd00001637*
+ ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 PCIe wireless card
+
+pci:v00001814d0000E932*
+ ID_MODEL_FROM_DATABASE=RT2560F 802.11 b/g PCI
+
+pci:v00001815*
+ ID_VENDOR_FROM_DATABASE=Devolo AG
+
+pci:v00001820*
+ ID_VENDOR_FROM_DATABASE=InfiniCon Systems Inc.
+
+pci:v00001822*
+ ID_VENDOR_FROM_DATABASE=Twinhan Technology Co. Ltd
+
+pci:v00001822d00004E35*
+ ID_MODEL_FROM_DATABASE=Mantis DTV PCI Bridge Controller [Ver 1.0]
+
+pci:v0000182D*
+ ID_VENDOR_FROM_DATABASE=SiteCom Europe BV
+
+pci:v0000182Dd00003069*
+ ID_MODEL_FROM_DATABASE=ISDN PCI DC-105V2
+
+pci:v0000182Dd00009790*
+ ID_MODEL_FROM_DATABASE=WL-121 Wireless Network Adapter 100g+ [Ver.3]
+
+pci:v0000182E*
+ ID_VENDOR_FROM_DATABASE=Raza Microelectronics, Inc.
+
+pci:v0000182Ed00000008*
+ ID_MODEL_FROM_DATABASE=XLR516 Processor
+
+pci:v0000182F*
+ ID_VENDOR_FROM_DATABASE=Broadcom
+
+pci:v0000182Fd0000000B*
+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (RAID Mode)
+
+pci:v00001830*
+ ID_VENDOR_FROM_DATABASE=Credence Systems Corporation
+
+pci:v0000183B*
+ ID_VENDOR_FROM_DATABASE=MikroM GmbH
+
+pci:v0000183Bd000008A7*
+ ID_MODEL_FROM_DATABASE=MVC100 DVI
+
+pci:v0000183Bd000008A8*
+ ID_MODEL_FROM_DATABASE=MVC101 SDI
+
+pci:v0000183Bd000008A9*
+ ID_MODEL_FROM_DATABASE=MVC102 DVI+Audio
+
+pci:v0000183Bd000008B0*
+ ID_MODEL_FROM_DATABASE=MVC200-DC
+
+pci:v00001846*
+ ID_VENDOR_FROM_DATABASE=Alcatel-Lucent
+
+pci:v00001849*
+ ID_VENDOR_FROM_DATABASE=ASRock Incorporation
+
+pci:v0000184A*
+ ID_VENDOR_FROM_DATABASE=Thales Computers
+
+pci:v0000184Ad00001100*
+ ID_MODEL_FROM_DATABASE=MAX II cPLD
+
+pci:v00001851*
+ ID_VENDOR_FROM_DATABASE=Microtune, Inc.
+
+pci:v00001852*
+ ID_VENDOR_FROM_DATABASE=Anritsu Corp.
+
+pci:v00001853*
+ ID_VENDOR_FROM_DATABASE=SMSC Automotive Infotainment System Group
+
+pci:v00001854*
+ ID_VENDOR_FROM_DATABASE=LG Electronics, Inc.
+
+pci:v0000185B*
+ ID_VENDOR_FROM_DATABASE=Compro Technology, Inc.
+
+pci:v0000185Bd00001489*
+ ID_MODEL_FROM_DATABASE=VideoMate Vista T100
+
+pci:v0000185F*
+ ID_VENDOR_FROM_DATABASE=Wistron NeWeb Corp.
+
+pci:v00001864*
+ ID_VENDOR_FROM_DATABASE=SilverBack
+
+pci:v00001864d00002110*
+ ID_MODEL_FROM_DATABASE=ISNAP 2110
+
+pci:v00001867*
+ ID_VENDOR_FROM_DATABASE=Topspin Communications
+
+pci:v00001867d00005A44*
+ ID_MODEL_FROM_DATABASE=MT23108 InfiniHost HCA
+
+pci:v00001867d00005A45*
+ ID_MODEL_FROM_DATABASE=MT23108 InfiniHost HCA flash recovery
+
+pci:v00001867d00005A46*
+ ID_MODEL_FROM_DATABASE=MT23108 InfiniHost HCA bridge
+
+pci:v00001867d00006278*
+ ID_MODEL_FROM_DATABASE=MT25208 InfiniHost III Ex (Tavor compatibility mode)
+
+pci:v00001867d00006282*
+ ID_MODEL_FROM_DATABASE=MT25208 InfiniHost III Ex
+
+pci:v0000186C*
+ ID_VENDOR_FROM_DATABASE=Humusoft, s.r.o.
+
+pci:v0000186Cd00000612*
+ ID_MODEL_FROM_DATABASE=AD612 Data Acquisition Device
+
+pci:v0000186Cd00000614*
+ ID_MODEL_FROM_DATABASE=MF614 Multifunction I/O Card
+
+pci:v0000186Cd00000622*
+ ID_MODEL_FROM_DATABASE=AD622 Data Acquisition Device
+
+pci:v0000186Cd00000624*
+ ID_MODEL_FROM_DATABASE=MF624 Multifunction I/O Card
+
+pci:v0000186Cd00000625*
+ ID_MODEL_FROM_DATABASE=MF625 3-phase Motor Driver
+
+pci:v0000186F*
+ ID_VENDOR_FROM_DATABASE=WiNRADiO Communications
+
+pci:v00001876*
+ ID_VENDOR_FROM_DATABASE=L-3 Communications
+
+pci:v00001876d0000A101*
+ ID_MODEL_FROM_DATABASE=VigraWATCH PCI
+
+pci:v00001876d0000A102*
+ ID_MODEL_FROM_DATABASE=VigraWATCH PMC
+
+pci:v00001876d0000A103*
+ ID_MODEL_FROM_DATABASE=Vigra I/O
+
+pci:v0000187E*
+ ID_VENDOR_FROM_DATABASE=ZyXEL Communications Corporation
+
+pci:v0000187Ed00003403*
+ ID_MODEL_FROM_DATABASE=ZyAir G-110 802.11g
+
+pci:v0000187Ed0000340E*
+ ID_MODEL_FROM_DATABASE=M-302 802.11g XtremeMIMO
+
+pci:v00001885*
+ ID_VENDOR_FROM_DATABASE=Avvida Systems Inc.
+
+pci:v00001888*
+ ID_VENDOR_FROM_DATABASE=Varisys Ltd
+
+pci:v00001888d00000301*
+ ID_MODEL_FROM_DATABASE=VMFX1 FPGA PMC module
+
+pci:v00001888d00000601*
+ ID_MODEL_FROM_DATABASE=VSM2 dual PMC carrier
+
+pci:v00001888d00000710*
+ ID_MODEL_FROM_DATABASE=VS14x series PowerPC PCI board
+
+pci:v00001888d00000720*
+ ID_MODEL_FROM_DATABASE=VS24x series PowerPC PCI board
+
+pci:v0000188A*
+ ID_VENDOR_FROM_DATABASE=Ample Communications, Inc
+
+pci:v00001890*
+ ID_VENDOR_FROM_DATABASE=Egenera, Inc.
+
+pci:v00001894*
+ ID_VENDOR_FROM_DATABASE=KNC One
+
+pci:v00001896*
+ ID_VENDOR_FROM_DATABASE=B&B Electronics Manufacturing Company, Inc.
+
+pci:v00001896d00004202*
+ ID_MODEL_FROM_DATABASE=MIport 3PCIU2 2-port Serial
+
+pci:v00001896d00004204*
+ ID_MODEL_FROM_DATABASE=MIport 3PCIU4 4-port Serial
+
+pci:v00001896d00004208*
+ ID_MODEL_FROM_DATABASE=MIport 3PCIU8 8-port Serial
+
+pci:v00001896d00004211*
+ ID_MODEL_FROM_DATABASE=MIport 3PCIOU1 1-port Isolated Serial
+
+pci:v00001896d00004212*
+ ID_MODEL_FROM_DATABASE=MIport 3PCIOU2 2-port Isolated Serial
+
+pci:v00001896d00004214*
+ ID_MODEL_FROM_DATABASE=MIport 3PCIOU4 4-port Isolated Serial
+
+pci:v00001896d0000BB10*
+ ID_MODEL_FROM_DATABASE=3PCI2 2-Port Serial
+
+pci:v00001896d0000BB11*
+ ID_MODEL_FROM_DATABASE=3PCIO1 1-Port Isolated Serial
+
+pci:v00001897*
+ ID_VENDOR_FROM_DATABASE=AMtek
+
+pci:v000018A1*
+ ID_VENDOR_FROM_DATABASE=Astute Networks Inc.
+
+pci:v000018A2*
+ ID_VENDOR_FROM_DATABASE=Stretch Inc.
+
+pci:v000018A2d00000002*
+ ID_MODEL_FROM_DATABASE=VRC6016 16-Channel PCIe DVR Card
+
+pci:v000018A3*
+ ID_VENDOR_FROM_DATABASE=AT&T
+
+pci:v000018AC*
+ ID_VENDOR_FROM_DATABASE=DViCO Corporation
+
+pci:v000018ACd0000D500*
+ ID_MODEL_FROM_DATABASE=FusionHDTV 5
+
+pci:v000018ACd0000D800*
+ ID_MODEL_FROM_DATABASE=FusionHDTV 3 Gold
+
+pci:v000018ACd0000D810*
+ ID_MODEL_FROM_DATABASE=FusionHDTV 3 Gold-Q
+
+pci:v000018ACd0000D820*
+ ID_MODEL_FROM_DATABASE=FusionHDTV 3 Gold-T
+
+pci:v000018ACd0000DB30*
+ ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Pro
+
+pci:v000018ACd0000DB40*
+ ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Hybrid
+
+pci:v000018ACd0000DB78*
+ ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Dual Express
+
+pci:v000018B8*
+ ID_VENDOR_FROM_DATABASE=Ammasso
+
+pci:v000018B8d0000B001*
+ ID_MODEL_FROM_DATABASE=AMSO 1100 iWARP/RDMA Gigabit Ethernet Coprocessor
+
+pci:v000018BC*
+ ID_VENDOR_FROM_DATABASE=Info-Tek Corp.
+
+pci:v000018C3*
+ ID_VENDOR_FROM_DATABASE=Micronas Semiconductor Holding AG
+
+pci:v000018C3d00000720*
+ ID_MODEL_FROM_DATABASE=nGene PCI-Express Multimedia Controller
+
+pci:v000018C3d00000720sv000007CAsd0000032E*
+ ID_MODEL_FROM_DATABASE=Hybrid M779 PCI-E
+
+pci:v000018C8*
+ ID_VENDOR_FROM_DATABASE=Cray Inc
+
+pci:v000018C9*
+ ID_VENDOR_FROM_DATABASE=ARVOO Engineering BV
+
+pci:v000018CA*
+ ID_VENDOR_FROM_DATABASE=XGI Technology Inc. (eXtreme Graphics Innovation)
+
+pci:v000018CAd00000020*
+ ID_MODEL_FROM_DATABASE=Z7/Z9 (XG20 core)
+
+pci:v000018CAd00000021*
+ ID_MODEL_FROM_DATABASE=Z9s/Z9m (XG21 core)
+
+pci:v000018CAd00000027*
+ ID_MODEL_FROM_DATABASE=Z11/Z11M
+
+pci:v000018CAd00000040*
+ ID_MODEL_FROM_DATABASE=Volari V3XT/V5/V8
+
+pci:v000018CAd00000047*
+ ID_MODEL_FROM_DATABASE=Volari 8300 (chip: XP10, codename: XG47)
+
+pci:v000018D2*
+ ID_VENDOR_FROM_DATABASE=Sitecom Europe BV (Wrong ID)
+
+pci:v000018D2d00003069*
+ ID_MODEL_FROM_DATABASE=DC-105v2 ISDN controller
+
+pci:v000018D8*
+ ID_VENDOR_FROM_DATABASE=Dialogue Technology Corp.
+
+pci:v000018DD*
+ ID_VENDOR_FROM_DATABASE=Artimi Inc
+
+pci:v000018DDd00004C6F*
+ ID_MODEL_FROM_DATABASE=Artimi RTMI-100 UWB adapter
+
+pci:v000018E6*
+ ID_VENDOR_FROM_DATABASE=MPL AG
+
+pci:v000018E6d00000001*
+ ID_MODEL_FROM_DATABASE=OSCI [Octal Serial Communication Interface]
+
+pci:v000018EB*
+ ID_VENDOR_FROM_DATABASE=Advance Multimedia Internet Technology, Inc.
+
+pci:v000018EC*
+ ID_VENDOR_FROM_DATABASE=Cesnet, z.s.p.o.
+
+pci:v000018ECd00006D05*
+ ID_MODEL_FROM_DATABASE=ML555
+
+pci:v000018ECd00006D05sv000018ECsd00000100*
+ ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces)
+
+pci:v000018ECd00006D05sv000018ECsd00000200*
+ ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G
+
+pci:v000018ECd00006D05sv000018ECsd00000201*
+ ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G
+
+pci:v000018ECd00006D05sv000018ECsd00000300*
+ ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G
+
+pci:v000018ECd00006D05sv000018ECsd00000302*
+ ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G
+
+pci:v000018ECd00006D05sv000018ECsd00004200*
+ ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G
+
+pci:v000018ECd00006D05sv000018ECsd0000FF00*
+ ID_MODEL_FROM_DATABASE=Testing design
+
+pci:v000018ECd00006D05sv000018ECsd0000FF01*
+ ID_MODEL_FROM_DATABASE=Boot design
+
+pci:v000018ECd0000C006*
+ ID_MODEL_FROM_DATABASE=COMBO6
+
+pci:v000018ECd0000C006sv000018ECsd0000D001*
+ ID_MODEL_FROM_DATABASE=COMBO-4MTX
+
+pci:v000018ECd0000C006sv000018ECsd0000D002*
+ ID_MODEL_FROM_DATABASE=COMBO-4SFP
+
+pci:v000018ECd0000C006sv000018ECsd0000D003*
+ ID_MODEL_FROM_DATABASE=COMBO-4SFPRO
+
+pci:v000018ECd0000C006sv000018ECsd0000D004*
+ ID_MODEL_FROM_DATABASE=COMBO-2XFP
+
+pci:v000018ECd0000C032*
+ ID_MODEL_FROM_DATABASE=COMBO-LXT110
+
+pci:v000018ECd0000C032sv000018ECsd00000100*
+ ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces)
+
+pci:v000018ECd0000C032sv000018ECsd00000200*
+ ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G
+
+pci:v000018ECd0000C032sv000018ECsd00000201*
+ ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G
+
+pci:v000018ECd0000C032sv000018ECsd00000300*
+ ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G
+
+pci:v000018ECd0000C032sv000018ECsd00000302*
+ ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G
+
+pci:v000018ECd0000C032sv000018ECsd00004200*
+ ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G
+
+pci:v000018ECd0000C032sv000018ECsd0000FF00*
+ ID_MODEL_FROM_DATABASE=Testing design
+
+pci:v000018ECd0000C032sv000018ECsd0000FF01*
+ ID_MODEL_FROM_DATABASE=Boot design
+
+pci:v000018ECd0000C045*
+ ID_MODEL_FROM_DATABASE=COMBO6E
+
+pci:v000018ECd0000C050*
+ ID_MODEL_FROM_DATABASE=COMBO-PTM
+
+pci:v000018ECd0000C058*
+ ID_MODEL_FROM_DATABASE=COMBO6X
+
+pci:v000018ECd0000C058sv000018ECsd0000D001*
+ ID_MODEL_FROM_DATABASE=COMBO-4MTX
+
+pci:v000018ECd0000C058sv000018ECsd0000D002*
+ ID_MODEL_FROM_DATABASE=COMBO-4SFP
+
+pci:v000018ECd0000C058sv000018ECsd0000D003*
+ ID_MODEL_FROM_DATABASE=COMBO-4SFPRO
+
+pci:v000018ECd0000C058sv000018ECsd0000D004*
+ ID_MODEL_FROM_DATABASE=COMBO-2XFP
+
+pci:v000018ECd0000C132*
+ ID_MODEL_FROM_DATABASE=COMBO-LXT155
+
+pci:v000018ECd0000C132sv000018ECsd00000100*
+ ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces)
+
+pci:v000018ECd0000C132sv000018ECsd00000200*
+ ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G
+
+pci:v000018ECd0000C132sv000018ECsd00000201*
+ ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G
+
+pci:v000018ECd0000C132sv000018ECsd00000300*
+ ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G
+
+pci:v000018ECd0000C132sv000018ECsd00000302*
+ ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G
+
+pci:v000018ECd0000C132sv000018ECsd00004200*
+ ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G
+
+pci:v000018ECd0000C132sv000018ECsd0000FF00*
+ ID_MODEL_FROM_DATABASE=Testing design
+
+pci:v000018ECd0000C132sv000018ECsd0000FF01*
+ ID_MODEL_FROM_DATABASE=Boot design
+
+pci:v000018ECd0000C232*
+ ID_MODEL_FROM_DATABASE=COMBO-FXT100
+
+pci:v000018ECd0000C232sv000018ECsd00000100*
+ ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces)
+
+pci:v000018ECd0000C232sv000018ECsd00000200*
+ ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G
+
+pci:v000018ECd0000C232sv000018ECsd00000201*
+ ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G
+
+pci:v000018ECd0000C232sv000018ECsd00000300*
+ ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G
+
+pci:v000018ECd0000C232sv000018ECsd00000302*
+ ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G
+
+pci:v000018ECd0000C232sv000018ECsd00004200*
+ ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G
+
+pci:v000018ECd0000C232sv000018ECsd0000FF00*
+ ID_MODEL_FROM_DATABASE=Testing design
+
+pci:v000018ECd0000C232sv000018ECsd0000FF01*
+ ID_MODEL_FROM_DATABASE=Boot design
+
+pci:v000018EE*
+ ID_VENDOR_FROM_DATABASE=Chenming Mold Ind. Corp.
+
+pci:v000018F1*
+ ID_VENDOR_FROM_DATABASE=Spectrum GmbH
+
+pci:v000018F4*
+ ID_VENDOR_FROM_DATABASE=Napatech A/S
+
+pci:v000018F4d00000031*
+ ID_MODEL_FROM_DATABASE=NT20X Network Adapter
+
+pci:v000018F4d00000051*
+ ID_MODEL_FROM_DATABASE=NT20X Capture Card
+
+pci:v000018F4d00000061*
+ ID_MODEL_FROM_DATABASE=NT20E Capture Card
+
+pci:v000018F4d00000064*
+ ID_MODEL_FROM_DATABASE=NT20E Inline Card
+
+pci:v000018F4d00000071*
+ ID_MODEL_FROM_DATABASE=NT4E Capture Card
+
+pci:v000018F4d00000074*
+ ID_MODEL_FROM_DATABASE=NT4E Inline Card
+
+pci:v000018F4d00000081*
+ ID_MODEL_FROM_DATABASE=NT4E 4-port Expansion Card
+
+pci:v000018F4d00000091*
+ ID_MODEL_FROM_DATABASE=NT20X Capture Card [New Rev]
+
+pci:v000018F4d000000A1*
+ ID_MODEL_FROM_DATABASE=NT4E-STD Capture Card
+
+pci:v000018F4d000000A4*
+ ID_MODEL_FROM_DATABASE=NT4E-STD Inline Card
+
+pci:v000018F4d000000B1*
+ ID_MODEL_FROM_DATABASE=NTBPE Optical Bypass Adapter
+
+pci:v000018F4d000000C5*
+ ID_MODEL_FROM_DATABASE=NT20E2 Network Adapter 2x10Gb
+
+pci:v000018F4d000000D5*
+ ID_MODEL_FROM_DATABASE=NT40E2-4 Network Adapter 4x10Gb
+
+pci:v000018F4d000000E5*
+ ID_MODEL_FROM_DATABASE=NT40E2-1 Network Adapter 1x40Gb
+
+pci:v000018F4d000000F5*
+ ID_MODEL_FROM_DATABASE=NT4E2-4T-BP Network Adapter 4x1Gb with Electrical Bypass
+
+pci:v000018F6*
+ ID_VENDOR_FROM_DATABASE=NextIO
+
+pci:v000018F6d00001000*
+ ID_MODEL_FROM_DATABASE=[Nexsis] Switch Virtual P2P PCIe Bridge
+
+pci:v000018F6d00001001*
+ ID_MODEL_FROM_DATABASE=[Texsis] Switch Virtual P2P PCIe Bridge
+
+pci:v000018F6d00001050*
+ ID_MODEL_FROM_DATABASE=[Nexsis] Switch Virtual P2P PCI Bridge
+
+pci:v000018F6d00001051*
+ ID_MODEL_FROM_DATABASE=[Texsis] Switch Virtual P2P PCI Bridge
+
+pci:v000018F6d00002000*
+ ID_MODEL_FROM_DATABASE=[Nexsis] Switch Integrated Mgmt. Endpoint
+
+pci:v000018F6d00002001*
+ ID_MODEL_FROM_DATABASE=[Texsis] Switch Integrated Mgmt. Endpoint
+
+pci:v000018F7*
+ ID_VENDOR_FROM_DATABASE=Commtech, Inc.
+
+pci:v000018F7d00000001*
+ ID_MODEL_FROM_DATABASE=ESCC-PCI-335 Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d00000002*
+ ID_MODEL_FROM_DATABASE=422/4-PCI-335 Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d00000003*
+ ID_MODEL_FROM_DATABASE=232/4-1M-PCI Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d00000004*
+ ID_MODEL_FROM_DATABASE=422/2-PCI-335 Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d00000005*
+ ID_MODEL_FROM_DATABASE=IGESCC-PCI-ISO/1 Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d0000000A*
+ ID_MODEL_FROM_DATABASE=232/4-PCI-335 Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d0000000B*
+ ID_MODEL_FROM_DATABASE=232/8-PCI-335 Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d0000000F*
+ ID_MODEL_FROM_DATABASE=FSCC Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d00000010*
+ ID_MODEL_FROM_DATABASE=GSCC Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d00000011*
+ ID_MODEL_FROM_DATABASE=QSSB Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d00000014*
+ ID_MODEL_FROM_DATABASE=SuperFSCC Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d00000015*
+ ID_MODEL_FROM_DATABASE=SuperFSCC-104-LVDS Serial PC/104+ Adapter [Fastcom]
+
+pci:v000018F7d00000016*
+ ID_MODEL_FROM_DATABASE=FSCC-232 RS-232 Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d00000017*
+ ID_MODEL_FROM_DATABASE=SuperFSCC-104 Serial PC/104+ Adapter [Fastcom]
+
+pci:v000018F7d00000018*
+ ID_MODEL_FROM_DATABASE=SuperFSCC/4 Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d00000019*
+ ID_MODEL_FROM_DATABASE=SuperFSCC Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d0000001A*
+ ID_MODEL_FROM_DATABASE=SuperFSCC-LVDS Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d0000001B*
+ ID_MODEL_FROM_DATABASE=FSCC/4 Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d0000001C*
+ ID_MODEL_FROM_DATABASE=SuperFSCC/4-LVDS Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d0000001D*
+ ID_MODEL_FROM_DATABASE=FSCC Serial PCI Adapter [Fastcom]
+
+pci:v000018F7d0000001E*
+ ID_MODEL_FROM_DATABASE=SuperFSCC/4 Serial PCIe Adapter [Fastcom]
+
+pci:v000018F7d0000001F*
+ ID_MODEL_FROM_DATABASE=SuperFSCC/4 Serial cPCI Adapter [Fastcom]
+
+pci:v000018F7d00000020*
+ ID_MODEL_FROM_DATABASE=422/4-PCIe Serial PCIe Adapter [Fastcom]
+
+pci:v000018F7d00000021*
+ ID_MODEL_FROM_DATABASE=422/8-PCIe Serial PCIe Adapter [Fastcom]
+
+pci:v000018F7d00000022*
+ ID_MODEL_FROM_DATABASE=SuperFSCC/4-LVDS Serial PCIe Adapter [Fastcom]
+
+pci:v000018FB*
+ ID_VENDOR_FROM_DATABASE=Resilience Corporation
+
+pci:v00001904*
+ ID_VENDOR_FROM_DATABASE=Hangzhou Silan Microelectronics Co., Ltd.
+
+pci:v00001904d00002031*
+ ID_MODEL_FROM_DATABASE=SC92031 PCI Fast Ethernet Adapter
+
+pci:v00001904d00008139*
+ ID_MODEL_FROM_DATABASE=RTL8139D [Realtek] PCI 10/100BaseTX ethernet adaptor
+
+pci:v00001905*
+ ID_VENDOR_FROM_DATABASE=Micronas USA, Inc.
+
+pci:v00001912*
+ ID_VENDOR_FROM_DATABASE=Renesas Technology Corp.
+
+pci:v00001912d00000002*
+ ID_MODEL_FROM_DATABASE=SH7780 PCI Controller (PCIC)
+
+pci:v00001912d00000011*
+ ID_MODEL_FROM_DATABASE=SH7757 PCIe End-Point [PBI]
+
+pci:v00001912d00000012*
+ ID_MODEL_FROM_DATABASE=SH7757 PCIe-PCI Bridge [PPB]
+
+pci:v00001912d00000013*
+ ID_MODEL_FROM_DATABASE=SH7757 PCIe Switch [PS]
+
+pci:v00001912d00000014*
+ ID_MODEL_FROM_DATABASE=uPD720201 USB 3.0 Host Controller
+
+pci:v00001912d00000015*
+ ID_MODEL_FROM_DATABASE=uPD720202 USB 3.0 Host Controller
+
+pci:v00001919*
+ ID_VENDOR_FROM_DATABASE=Soltek Computer Inc.
+
+pci:v00001923*
+ ID_VENDOR_FROM_DATABASE=Sangoma Technologies Corp.
+
+pci:v00001923d00000040*
+ ID_MODEL_FROM_DATABASE=A200/Remora FXO/FXS Analog AFT card
+
+pci:v00001923d00000100*
+ ID_MODEL_FROM_DATABASE=A104d QUAD T1/E1 AFT card
+
+pci:v00001923d00000300*
+ ID_MODEL_FROM_DATABASE=A101 single-port T1/E1
+
+pci:v00001923d00000400*
+ ID_MODEL_FROM_DATABASE=A104u Quad T1/E1 AFT
+
+pci:v00001924*
+ ID_VENDOR_FROM_DATABASE=Solarflare Communications
+
+pci:v00001924d00000703*
+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm]
+
+pci:v00001924d00000703sv000010B8sd00000102*
+ ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A2) [TigerCard]
+
+pci:v00001924d00000703sv000010B8sd00000103*
+ ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard]
+
+pci:v00001924d00000703sv000010B8sd00000201*
+ ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard]
+
+pci:v00001924d00000703sv00001924sd00000101*
+ ID_MODEL_FROM_DATABASE=SFE4001-A1
+
+pci:v00001924d00000703sv00001924sd00000102*
+ ID_MODEL_FROM_DATABASE=SFE4001-A2
+
+pci:v00001924d00000703sv00001924sd00000103*
+ ID_MODEL_FROM_DATABASE=SFE4001-A3
+
+pci:v00001924d00000703sv00001924sd00000201*
+ ID_MODEL_FROM_DATABASE=SFE4002-A1
+
+pci:v00001924d00000703sv00001924sd00000301*
+ ID_MODEL_FROM_DATABASE=SFE4003-A1
+
+pci:v00001924d00000703sv00001924sd00000302*
+ ID_MODEL_FROM_DATABASE=SFE4003-A2
+
+pci:v00001924d00000703sv00001924sd00000303*
+ ID_MODEL_FROM_DATABASE=SFE4003-A3
+
+pci:v00001924d00000703sv00001924sd00000304*
+ ID_MODEL_FROM_DATABASE=SFE4003-A4
+
+pci:v00001924d00000703sv00001924sd00000500*
+ ID_MODEL_FROM_DATABASE=SFE4005-A0
+
+pci:v00001924d00000710*
+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm]
+
+pci:v00001924d00000710sv000010B8sd00000103*
+ ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard]
+
+pci:v00001924d00000710sv000010B8sd00000201*
+ ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard]
+
+pci:v00001924d00000710sv00001924sd00000102*
+ ID_MODEL_FROM_DATABASE=SFE4001-A2
+
+pci:v00001924d00000710sv00001924sd00000103*
+ ID_MODEL_FROM_DATABASE=SFE4001-A3
+
+pci:v00001924d00000710sv00001924sd00000201*
+ ID_MODEL_FROM_DATABASE=SFE4002-A1
+
+pci:v00001924d00000710sv00001924sd00000302*
+ ID_MODEL_FROM_DATABASE=SFE4003-A2
+
+pci:v00001924d00000710sv00001924sd00000303*
+ ID_MODEL_FROM_DATABASE=SFE4003-A3
+
+pci:v00001924d00000710sv00001924sd00000304*
+ ID_MODEL_FROM_DATABASE=SFE4003-A4
+
+pci:v00001924d00000710sv00001924sd00000500*
+ ID_MODEL_FROM_DATABASE=SFE4005-A0
+
+pci:v00001924d00000710sv00001924sd00005102*
+ ID_MODEL_FROM_DATABASE=SFN4111T-A2
+
+pci:v00001924d00000710sv00001924sd00005103*
+ ID_MODEL_FROM_DATABASE=SFN4111T-R3
+
+pci:v00001924d00000710sv00001924sd00005104*
+ ID_MODEL_FROM_DATABASE=SFN4111T-R4
+
+pci:v00001924d00000710sv00001924sd00005105*
+ ID_MODEL_FROM_DATABASE=SFN4111T-R5
+
+pci:v00001924d00000710sv00001924sd00005201*
+ ID_MODEL_FROM_DATABASE=SFN4112F-R1
+
+pci:v00001924d00000710sv00001924sd00005202*
+ ID_MODEL_FROM_DATABASE=SFN4112F-R2
+
+pci:v00001924d00000803*
+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm]
+
+pci:v00001924d00000803sv00001924sd00001201*
+ ID_MODEL_FROM_DATABASE=SFA6902F-R1 SFP+ AOE Adapter
+
+pci:v00001924d00000803sv00001924sd00006200*
+ ID_MODEL_FROM_DATABASE=SFN5122F-R0 SFP+ Server Adapter
+
+pci:v00001924d00000803sv00001924sd00006201*
+ ID_MODEL_FROM_DATABASE=SFN5122F-R1 SFP+ Server Adapter
+
+pci:v00001924d00000803sv00001924sd00006202*
+ ID_MODEL_FROM_DATABASE=SFN5122F-R2 SFP+ Server Adapter
+
+pci:v00001924d00000803sv00001924sd00006204*
+ ID_MODEL_FROM_DATABASE=SFN5122F-R4 SFP+ Server Adapter
+
+pci:v00001924d00000803sv00001924sd00006205*
+ ID_MODEL_FROM_DATABASE=SFN5122F-R5 SFP+ Server Adapter
+
+pci:v00001924d00000803sv00001924sd00006206*
+ ID_MODEL_FROM_DATABASE=SFN5122F-R6 SFP+ Server Adapter
+
+pci:v00001924d00000803sv00001924sd00006207*
+ ID_MODEL_FROM_DATABASE=SFN5122F-R7 SFP+ Server Adapter
+
+pci:v00001924d00000803sv00001924sd00006210*
+ ID_MODEL_FROM_DATABASE=SFN5322F-R0 SFP+ Precision Time Synchronization Server Adapter
+
+pci:v00001924d00000803sv00001924sd00006211*
+ ID_MODEL_FROM_DATABASE=SFN5322F-R1 SFP+ Precision Time Synchronization Server Adapter
+
+pci:v00001924d00000803sv00001924sd00006217*
+ ID_MODEL_FROM_DATABASE=SFN5322F-R7 SFP+ Precision Time Synchronization Server Adapter
+
+pci:v00001924d00000803sv00001924sd00006227*
+ ID_MODEL_FROM_DATABASE=SFN6122F-R7 SFP+ Server Adapter
+
+pci:v00001924d00000803sv00001924sd00006237*
+ ID_MODEL_FROM_DATABASE=SFN6322F-R7 SFP+ Precision Time Synchronization Server Adapter
+
+pci:v00001924d00000803sv00001924sd00006501*
+ ID_MODEL_FROM_DATABASE=SFN5802K-R1 Mezzanine Adapter
+
+pci:v00001924d00000803sv00001924sd00006511*
+ ID_MODEL_FROM_DATABASE=SFN5814H-R1 Mezzanine Adapter
+
+pci:v00001924d00000803sv00001924sd00006521*
+ ID_MODEL_FROM_DATABASE=SFN5812H-R1 Mezzanine Adapter
+
+pci:v00001924d00000803sv00001924sd00006562*
+ ID_MODEL_FROM_DATABASE=SFN6832F-R2 SFP+ Mezzanine Adapter
+
+pci:v00001924d00000803sv00001924sd00006A05*
+ ID_MODEL_FROM_DATABASE=SFN5112F-R5 SFP+ Server Adapter
+
+pci:v00001924d00000803sv00001924sd00006A06*
+ ID_MODEL_FROM_DATABASE=SFN5112F-R6 SFP+ Server Adapter
+
+pci:v00001924d00000803sv00001924sd00007206*
+ ID_MODEL_FROM_DATABASE=SFN5162F-R6 SFP+ Server Adapter
+
+pci:v00001924d00000803sv00001924sd00007207*
+ ID_MODEL_FROM_DATABASE=SFN5162F-R7 SFP+ Server Adapter
+
+pci:v00001924d00000803sv00001924sd00007A06*
+ ID_MODEL_FROM_DATABASE=SFN5152F-R6 SFP+ Server Adapter
+
+pci:v00001924d00000803sv00001924sd00007A07*
+ ID_MODEL_FROM_DATABASE=SFN5152F-R7 SFP+ Server Adapter
+
+pci:v00001924d00000813*
+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm]
+
+pci:v00001924d00000813sv00001924sd00006100*
+ ID_MODEL_FROM_DATABASE=SFN5121T-R0 10GBASE-T Server Adapter
+
+pci:v00001924d00000813sv00001924sd00006102*
+ ID_MODEL_FROM_DATABASE=SFN5121T-R2 10GBASE-T Server Adapter
+
+pci:v00001924d00000813sv00001924sd00006103*
+ ID_MODEL_FROM_DATABASE=SFN5121T-R3 10GBASE-T Server Adapter
+
+pci:v00001924d00000813sv00001924sd00006104*
+ ID_MODEL_FROM_DATABASE=SFN5121T-R4 10GBASE-T Server Adapter
+
+pci:v00001924d00000813sv00001924sd00006902*
+ ID_MODEL_FROM_DATABASE=SFN5111T-R2 10GBASE-T Server Adapter
+
+pci:v00001924d00000813sv00001924sd00006904*
+ ID_MODEL_FROM_DATABASE=SFN5111T-R4 10GBASE-T Server Adapter
+
+pci:v00001924d00000813sv00001924sd00007104*
+ ID_MODEL_FROM_DATABASE=SFN5161T-R4 10GBASE-T Server Adapter
+
+pci:v00001924d00000813sv00001924sd00007904*
+ ID_MODEL_FROM_DATABASE=SFN5151T-R4 10GBASE-T Server Adapter
+
+pci:v00001924d00001803*
+ ID_MODEL_FROM_DATABASE=SFC9020 Virtual Function [Solarstorm]
+
+pci:v00001924d00001813*
+ ID_MODEL_FROM_DATABASE=SFL9021 Virtual Function [Solarstorm]
+
+pci:v00001924d00006703*
+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm]
+
+pci:v00001924d00006703sv000010B8sd00000102*
+ ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A2) [TigerCard]
+
+pci:v00001924d00006703sv000010B8sd00000103*
+ ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard]
+
+pci:v00001924d00006703sv000010B8sd00000201*
+ ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard]
+
+pci:v00001924d00006703sv00001924sd00000101*
+ ID_MODEL_FROM_DATABASE=SFE4001-A1
+
+pci:v00001924d00006703sv00001924sd00000102*
+ ID_MODEL_FROM_DATABASE=SFE4001-A2
+
+pci:v00001924d00006703sv00001924sd00000103*
+ ID_MODEL_FROM_DATABASE=SFE4001-A3
+
+pci:v00001924d00006703sv00001924sd00000201*
+ ID_MODEL_FROM_DATABASE=SFE4002-A1
+
+pci:v00001924d00006703sv00001924sd00000301*
+ ID_MODEL_FROM_DATABASE=SFE4003-A1
+
+pci:v00001924d00006703sv00001924sd00000302*
+ ID_MODEL_FROM_DATABASE=SFE4003-A2
+
+pci:v00001924d00006703sv00001924sd00000303*
+ ID_MODEL_FROM_DATABASE=SFE4003-A3
+
+pci:v00001924d00006703sv00001924sd00000304*
+ ID_MODEL_FROM_DATABASE=SFE4003-A4
+
+pci:v00001924d00006703sv00001924sd00000500*
+ ID_MODEL_FROM_DATABASE=SFE4005-A0
+
+pci:v00001924d0000C101*
+ ID_MODEL_FROM_DATABASE=EF1-21022T [EtherFabric]
+
+pci:v0000192A*
+ ID_VENDOR_FROM_DATABASE=BiTMICRO Networks Inc.
+
+pci:v0000192E*
+ ID_VENDOR_FROM_DATABASE=TransDimension
+
+pci:v00001931*
+ ID_VENDOR_FROM_DATABASE=Option N.V.
+
+pci:v00001931d0000000C*
+ ID_MODEL_FROM_DATABASE=Qualcomm MSM6275 UMTS chip
+
+pci:v00001932*
+ ID_VENDOR_FROM_DATABASE=DiBcom
+
+pci:v0000193C*
+ ID_VENDOR_FROM_DATABASE=MAXIM Integrated Products
+
+pci:v0000193F*
+ ID_VENDOR_FROM_DATABASE=Comtech AHA Corp.
+
+pci:v0000193Fd00000001*
+ ID_MODEL_FROM_DATABASE=AHA36x-PCIX
+
+pci:v0000193Fd00000360*
+ ID_MODEL_FROM_DATABASE=AHA360-PCIe
+
+pci:v0000193Fd00000363*
+ ID_MODEL_FROM_DATABASE=AHA363-PCIe
+
+pci:v0000193Fd00000364*
+ ID_MODEL_FROM_DATABASE=AHA364-PCIe
+
+pci:v0000193Fd00000367*
+ ID_MODEL_FROM_DATABASE=AHA367-PCIe
+
+pci:v0000193Fd00000370*
+ ID_MODEL_FROM_DATABASE=AHA370-PCIe
+
+pci:v00001942*
+ ID_VENDOR_FROM_DATABASE=ClearSpeed Technology plc
+
+pci:v00001942d0000E511*
+ ID_MODEL_FROM_DATABASE=Advance X620 accelerator card
+
+pci:v00001942d0000E521*
+ ID_MODEL_FROM_DATABASE=Advance e620 accelerator card
+
+pci:v00001947*
+ ID_VENDOR_FROM_DATABASE=C-guys, Inc.
+
+pci:v00001947d00004743*
+ ID_MODEL_FROM_DATABASE=CG200 Dual SD/SDIO Host controller device
+
+pci:v00001948*
+ ID_VENDOR_FROM_DATABASE=Alpha Networks Inc.
+
+pci:v0000194A*
+ ID_VENDOR_FROM_DATABASE=DapTechnology B.V.
+
+pci:v0000194Ad00001111*
+ ID_MODEL_FROM_DATABASE=FireSpy3850
+
+pci:v0000194Ad00001112*
+ ID_MODEL_FROM_DATABASE=FireSpy450b
+
+pci:v0000194Ad00001113*
+ ID_MODEL_FROM_DATABASE=FireSpy450bT
+
+pci:v0000194Ad00001114*
+ ID_MODEL_FROM_DATABASE=FireSpy850
+
+pci:v0000194Ad00001115*
+ ID_MODEL_FROM_DATABASE=FireSpy850bT
+
+pci:v0000194Ad00001200*
+ ID_MODEL_FROM_DATABASE=FireTrac 3460bT
+
+pci:v0000194Ad00001201*
+ ID_MODEL_FROM_DATABASE=FireTrac 3460bT (fallback firmware)
+
+pci:v0000194Ad00001202*
+ ID_MODEL_FROM_DATABASE=FireTrac 3460bT
+
+pci:v0000194Ad00001203*
+ ID_MODEL_FROM_DATABASE=FireTrac 3460bT (fallback firmware)
+
+pci:v00001954*
+ ID_VENDOR_FROM_DATABASE=One Stop Systems, Inc.
+
+pci:v00001957*
+ ID_VENDOR_FROM_DATABASE=Freescale Semiconductor Inc
+
+pci:v00001957d00000012*
+ ID_MODEL_FROM_DATABASE=MPC8548E
+
+pci:v00001957d00000013*
+ ID_MODEL_FROM_DATABASE=MPC8548
+
+pci:v00001957d00000014*
+ ID_MODEL_FROM_DATABASE=MPC8543E
+
+pci:v00001957d00000015*
+ ID_MODEL_FROM_DATABASE=MPC8543
+
+pci:v00001957d00000018*
+ ID_MODEL_FROM_DATABASE=MPC8547E
+
+pci:v00001957d00000019*
+ ID_MODEL_FROM_DATABASE=MPC8545E
+
+pci:v00001957d0000001A*
+ ID_MODEL_FROM_DATABASE=MPC8545
+
+pci:v00001957d00000020*
+ ID_MODEL_FROM_DATABASE=MPC8568E
+
+pci:v00001957d00000021*
+ ID_MODEL_FROM_DATABASE=MPC8568
+
+pci:v00001957d00000022*
+ ID_MODEL_FROM_DATABASE=MPC8567E
+
+pci:v00001957d00000023*
+ ID_MODEL_FROM_DATABASE=MPC8567
+
+pci:v00001957d00000030*
+ ID_MODEL_FROM_DATABASE=MPC8533E
+
+pci:v00001957d00000031*
+ ID_MODEL_FROM_DATABASE=MPC8533
+
+pci:v00001957d00000032*
+ ID_MODEL_FROM_DATABASE=MPC8544E
+
+pci:v00001957d00000033*
+ ID_MODEL_FROM_DATABASE=MPC8544
+
+pci:v00001957d00000040*
+ ID_MODEL_FROM_DATABASE=MPC8572E
+
+pci:v00001957d00000041*
+ ID_MODEL_FROM_DATABASE=MPC8572
+
+pci:v00001957d00000050*
+ ID_MODEL_FROM_DATABASE=MPC8536E
+
+pci:v00001957d00000051*
+ ID_MODEL_FROM_DATABASE=MPC8536
+
+pci:v00001957d00000052*
+ ID_MODEL_FROM_DATABASE=MPC8535E
+
+pci:v00001957d00000053*
+ ID_MODEL_FROM_DATABASE=MPC8535
+
+pci:v00001957d00000060*
+ ID_MODEL_FROM_DATABASE=MPC8569
+
+pci:v00001957d00000061*
+ ID_MODEL_FROM_DATABASE=MPC8569E
+
+pci:v00001957d00000070*
+ ID_MODEL_FROM_DATABASE=P2020E
+
+pci:v00001957d00000071*
+ ID_MODEL_FROM_DATABASE=P2020
+
+pci:v00001957d00000078*
+ ID_MODEL_FROM_DATABASE=P2010E
+
+pci:v00001957d00000079*
+ ID_MODEL_FROM_DATABASE=P2010
+
+pci:v00001957d00000080*
+ ID_MODEL_FROM_DATABASE=MPC8349E
+
+pci:v00001957d00000081*
+ ID_MODEL_FROM_DATABASE=MPC8349
+
+pci:v00001957d00000082*
+ ID_MODEL_FROM_DATABASE=MPC8347E TBGA
+
+pci:v00001957d00000083*
+ ID_MODEL_FROM_DATABASE=MPC8347 TBGA
+
+pci:v00001957d00000084*
+ ID_MODEL_FROM_DATABASE=MPC8347E PBGA
+
+pci:v00001957d00000085*
+ ID_MODEL_FROM_DATABASE=MPC8347 PBGA
+
+pci:v00001957d00000086*
+ ID_MODEL_FROM_DATABASE=MPC8343E
+
+pci:v00001957d00000087*
+ ID_MODEL_FROM_DATABASE=MPC8343
+
+pci:v00001957d000000B4*
+ ID_MODEL_FROM_DATABASE=MPC8315E
+
+pci:v00001957d000000C2*
+ ID_MODEL_FROM_DATABASE=MPC8379E
+
+pci:v00001957d000000C3*
+ ID_MODEL_FROM_DATABASE=MPC8379
+
+pci:v00001957d000000C4*
+ ID_MODEL_FROM_DATABASE=MPC8378E
+
+pci:v00001957d000000C5*
+ ID_MODEL_FROM_DATABASE=MPC8378
+
+pci:v00001957d000000C6*
+ ID_MODEL_FROM_DATABASE=MPC8377E
+
+pci:v00001957d000000C7*
+ ID_MODEL_FROM_DATABASE=MPC8377
+
+pci:v00001957d00000100*
+ ID_MODEL_FROM_DATABASE=P1020E
+
+pci:v00001957d00000101*
+ ID_MODEL_FROM_DATABASE=P1020
+
+pci:v00001957d00000102*
+ ID_MODEL_FROM_DATABASE=P1021E
+
+pci:v00001957d00000103*
+ ID_MODEL_FROM_DATABASE=P1021
+
+pci:v00001957d00000108*
+ ID_MODEL_FROM_DATABASE=P1011E
+
+pci:v00001957d00000109*
+ ID_MODEL_FROM_DATABASE=P1011
+
+pci:v00001957d0000010A*
+ ID_MODEL_FROM_DATABASE=P1012E
+
+pci:v00001957d0000010B*
+ ID_MODEL_FROM_DATABASE=P1012
+
+pci:v00001957d00000110*
+ ID_MODEL_FROM_DATABASE=P1022E
+
+pci:v00001957d00000111*
+ ID_MODEL_FROM_DATABASE=P1022
+
+pci:v00001957d00000111sv00001C7Fsd00005200*
+ ID_MODEL_FROM_DATABASE=EB5200
+
+pci:v00001957d00000118*
+ ID_MODEL_FROM_DATABASE=P1013E
+
+pci:v00001957d00000119*
+ ID_MODEL_FROM_DATABASE=P1013
+
+pci:v00001957d00000128*
+ ID_MODEL_FROM_DATABASE=P1010
+
+pci:v00001957d00000400*
+ ID_MODEL_FROM_DATABASE=P4080E
+
+pci:v00001957d00000401*
+ ID_MODEL_FROM_DATABASE=P4080
+
+pci:v00001957d00000408*
+ ID_MODEL_FROM_DATABASE=P4040E
+
+pci:v00001957d00000409*
+ ID_MODEL_FROM_DATABASE=P4040
+
+pci:v00001957d0000580C*
+ ID_MODEL_FROM_DATABASE=MPC5121e
+
+pci:v00001957d00007010*
+ ID_MODEL_FROM_DATABASE=MPC8641 PCI Host Bridge
+
+pci:v00001957d00007011*
+ ID_MODEL_FROM_DATABASE=MPC8641D PCI Host Bridge
+
+pci:v00001957d00007018*
+ ID_MODEL_FROM_DATABASE=MPC8610
+
+pci:v00001958*
+ ID_VENDOR_FROM_DATABASE=Faster Technology, LLC.
+
+pci:v00001959*
+ ID_VENDOR_FROM_DATABASE=PA Semi, Inc
+
+pci:v00001959d0000A000*
+ ID_MODEL_FROM_DATABASE=PA6T Core
+
+pci:v00001959d0000A001*
+ ID_MODEL_FROM_DATABASE=PWRficient Host Bridge
+
+pci:v00001959d0000A002*
+ ID_MODEL_FROM_DATABASE=PWRficient PCI-Express Port
+
+pci:v00001959d0000A003*
+ ID_MODEL_FROM_DATABASE=PWRficient SMBus Controller
+
+pci:v00001959d0000A004*
+ ID_MODEL_FROM_DATABASE=PWRficient 16550 UART
+
+pci:v00001959d0000A005*
+ ID_MODEL_FROM_DATABASE=PWRficient Gigabit Ethernet
+
+pci:v00001959d0000A006*
+ ID_MODEL_FROM_DATABASE=PWRficient 10-Gigabit Ethernet
+
+pci:v00001959d0000A007*
+ ID_MODEL_FROM_DATABASE=PWRficient DMA Controller
+
+pci:v00001959d0000A008*
+ ID_MODEL_FROM_DATABASE=PWRficient LPC/Localbus Interface
+
+pci:v00001959d0000A009*
+ ID_MODEL_FROM_DATABASE=PWRficient L2 Cache
+
+pci:v00001959d0000A00A*
+ ID_MODEL_FROM_DATABASE=PWRficient DDR2 Memory Controller
+
+pci:v00001959d0000A00B*
+ ID_MODEL_FROM_DATABASE=PWRficient SERDES
+
+pci:v00001959d0000A00C*
+ ID_MODEL_FROM_DATABASE=PWRficient System/Debug Controller
+
+pci:v00001959d0000A00D*
+ ID_MODEL_FROM_DATABASE=PWRficient PCI-Express Internal Endpoint
+
+pci:v00001966*
+ ID_VENDOR_FROM_DATABASE=Orad Hi-Tec Systems
+
+pci:v00001966d00001975*
+ ID_MODEL_FROM_DATABASE=DVG64 family
+
+pci:v00001966d00001977*
+ ID_MODEL_FROM_DATABASE=DVG128 family
+
+pci:v00001969*
+ ID_VENDOR_FROM_DATABASE=Qualcomm Atheros
+
+pci:v00001969d00001026*
+ ID_MODEL_FROM_DATABASE=AR8121/AR8113/AR8114 Gigabit or Fast Ethernet
+
+pci:v00001969d00001026sv00001043sd00008304*
+ ID_MODEL_FROM_DATABASE=P5KPL-CM Motherboard
+
+pci:v00001969d00001048*
+ ID_MODEL_FROM_DATABASE=Attansic L1 Gigabit Ethernet
+
+pci:v00001969d00001048sv00001043sd00008226*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard
+
+pci:v00001969d00001062*
+ ID_MODEL_FROM_DATABASE=AR8132 Fast Ethernet
+
+pci:v00001969d00001063*
+ ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet
+
+pci:v00001969d00001063sv00001458sd0000E000*
+ ID_MODEL_FROM_DATABASE=GA-G31M-ES2L Motherboard
+
+pci:v00001969d00001066*
+ ID_MODEL_FROM_DATABASE=Attansic L2c Gigabit Ethernet
+
+pci:v00001969d00001067*
+ ID_MODEL_FROM_DATABASE=Attansic L1c Gigabit Ethernet
+
+pci:v00001969d00001073*
+ ID_MODEL_FROM_DATABASE=AR8151 v1.0 Gigabit Ethernet
+
+pci:v00001969d00001083*
+ ID_MODEL_FROM_DATABASE=AR8151 v2.0 Gigabit Ethernet
+
+pci:v00001969d00001090*
+ ID_MODEL_FROM_DATABASE=AR8162 Fast Ethernet
+
+pci:v00001969d00001091*
+ ID_MODEL_FROM_DATABASE=AR8161 Gigabit Ethernet
+
+pci:v00001969d00001091sv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00001969d000010A0*
+ ID_MODEL_FROM_DATABASE=QCA8172 Fast Ethernet
+
+pci:v00001969d000010A1*
+ ID_MODEL_FROM_DATABASE=QCA8171 Gigabit Ethernet
+
+pci:v00001969d00002048*
+ ID_MODEL_FROM_DATABASE=Attansic L2 Fast Ethernet
+
+pci:v00001969d00002060*
+ ID_MODEL_FROM_DATABASE=AR8152 v1.1 Fast Ethernet
+
+pci:v00001969d00002062*
+ ID_MODEL_FROM_DATABASE=AR8152 v2.0 Fast Ethernet
+
+pci:v00001969d0000E091*
+ ID_MODEL_FROM_DATABASE=Killer E2200 Gigabit Ethernet Controller
+
+pci:v0000196A*
+ ID_VENDOR_FROM_DATABASE=Sensory Networks Inc.
+
+pci:v0000196Ad00000101*
+ ID_MODEL_FROM_DATABASE=NodalCore C-1000 Content Classification Accelerator
+
+pci:v0000196Ad00000102*
+ ID_MODEL_FROM_DATABASE=NodalCore C-2000 Content Classification Accelerator
+
+pci:v0000196Ad00000105*
+ ID_MODEL_FROM_DATABASE=NodalCore C-3000 Content Classification Accelerator
+
+pci:v0000196D*
+ ID_VENDOR_FROM_DATABASE=Club-3D BV
+
+pci:v00001971*
+ ID_VENDOR_FROM_DATABASE=AGEIA Technologies, Inc.
+
+pci:v00001971d00001011*
+ ID_MODEL_FROM_DATABASE=Physics Processing Unit [PhysX]
+
+pci:v00001971d00001011sv00001043sd00000001*
+ ID_MODEL_FROM_DATABASE=PhysX P1
+
+pci:v00001974*
+ ID_VENDOR_FROM_DATABASE=Eberspaecher Electronics
+
+pci:v00001976*
+ ID_VENDOR_FROM_DATABASE=TRENDnet
+
+pci:v00001977*
+ ID_VENDOR_FROM_DATABASE=Parsec
+
+pci:v0000197B*
+ ID_VENDOR_FROM_DATABASE=JMicron Technology Corp.
+
+pci:v0000197Bd00000250*
+ ID_MODEL_FROM_DATABASE=JMC250 PCI Express Gigabit Ethernet Controller
+
+pci:v0000197Bd00000260*
+ ID_MODEL_FROM_DATABASE=JMC260 PCI Express Fast Ethernet Controller
+
+pci:v0000197Bd00000368*
+ ID_MODEL_FROM_DATABASE=JMB368 IDE controller
+
+pci:v0000197Bd00002360*
+ ID_MODEL_FROM_DATABASE=JMB360 AHCI Controller
+
+pci:v0000197Bd00002361*
+ ID_MODEL_FROM_DATABASE=JMB361 AHCI/IDE
+
+pci:v0000197Bd00002361sv00001462sd00007235*
+ ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard
+
+pci:v0000197Bd00002362*
+ ID_MODEL_FROM_DATABASE=JMB362 SATA Controller
+
+pci:v0000197Bd00002362sv00001043sd00008460*
+ ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard
+
+pci:v0000197Bd00002363*
+ ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller
+
+pci:v0000197Bd00002363sv00001043sd000081E4*
+ ID_MODEL_FROM_DATABASE=P5B [JMB363]
+
+pci:v0000197Bd00002363sv00001458sd0000B000*
+ ID_MODEL_FROM_DATABASE=Motherboard
+
+pci:v0000197Bd00002363sv00001849sd00002363*
+ ID_MODEL_FROM_DATABASE=Motherboard (one of many)
+
+pci:v0000197Bd00002364*
+ ID_MODEL_FROM_DATABASE=JMB364 AHCI Controller
+
+pci:v0000197Bd00002365*
+ ID_MODEL_FROM_DATABASE=JMB365 AHCI/IDE
+
+pci:v0000197Bd00002366*
+ ID_MODEL_FROM_DATABASE=JMB366 AHCI/IDE
+
+pci:v0000197Bd00002368*
+ ID_MODEL_FROM_DATABASE=JMB368 IDE controller
+
+pci:v0000197Bd00002369*
+ ID_MODEL_FROM_DATABASE=JMB369 Serial ATA Controller
+
+pci:v0000197Bd00002380*
+ ID_MODEL_FROM_DATABASE=IEEE 1394 Host Controller
+
+pci:v0000197Bd00002381*
+ ID_MODEL_FROM_DATABASE=Standard SD Host Controller
+
+pci:v0000197Bd00002382*
+ ID_MODEL_FROM_DATABASE=SD/MMC Host Controller
+
+pci:v0000197Bd00002383*
+ ID_MODEL_FROM_DATABASE=MS Host Controller
+
+pci:v0000197Bd00002384*
+ ID_MODEL_FROM_DATABASE=xD Host Controller
+
+pci:v0000197Bd00002386*
+ ID_MODEL_FROM_DATABASE=Standard SD Host Controller
+
+pci:v0000197Bd00002387*
+ ID_MODEL_FROM_DATABASE=SD/MMC Host Controller
+
+pci:v0000197Bd00002388*
+ ID_MODEL_FROM_DATABASE=MS Host Controller
+
+pci:v0000197Bd00002389*
+ ID_MODEL_FROM_DATABASE=xD Host Controller
+
+pci:v0000197Bd00002391*
+ ID_MODEL_FROM_DATABASE=Standard SD Host Controller
+
+pci:v0000197Bd00002392*
+ ID_MODEL_FROM_DATABASE=SD/MMC Host Controller
+
+pci:v0000197Bd00002393*
+ ID_MODEL_FROM_DATABASE=MS Host Controller
+
+pci:v0000197Bd00002394*
+ ID_MODEL_FROM_DATABASE=xD Host Controller
+
+pci:v00001982*
+ ID_VENDOR_FROM_DATABASE=Distant Early Warning Communications Inc
+
+pci:v00001982d00001600*
+ ID_MODEL_FROM_DATABASE=OX16C954 HOST-A
+
+pci:v00001982d000016FF*
+ ID_MODEL_FROM_DATABASE=OX16C954 HOST-B
+
+pci:v00001989*
+ ID_VENDOR_FROM_DATABASE=Montilio Inc.
+
+pci:v00001989d00000001*
+ ID_MODEL_FROM_DATABASE=RapidFile Bridge
+
+pci:v00001989d00008001*
+ ID_MODEL_FROM_DATABASE=RapidFile
+
+pci:v0000198A*
+ ID_VENDOR_FROM_DATABASE=Nallatech Ltd.
+
+pci:v00001993*
+ ID_VENDOR_FROM_DATABASE=Innominate Security Technologies AG
+
+pci:v00001999*
+ ID_VENDOR_FROM_DATABASE=A-Logics
+
+pci:v00001999d0000A900*
+ ID_MODEL_FROM_DATABASE=AM-7209 Video Processor
+
+pci:v0000199A*
+ ID_VENDOR_FROM_DATABASE=Pulse-LINK, Inc.
+
+pci:v0000199D*
+ ID_VENDOR_FROM_DATABASE=Xsigo Systems
+
+pci:v0000199Dd00008209*
+ ID_MODEL_FROM_DATABASE=Virtual NIC Device
+
+pci:v0000199Dd0000890A*
+ ID_MODEL_FROM_DATABASE=Virtual HBA Device
+
+pci:v0000199F*
+ ID_VENDOR_FROM_DATABASE=Auvitek
+
+pci:v0000199Fd00008501*
+ ID_MODEL_FROM_DATABASE=AU85X1 PCI REV1.1
+
+pci:v0000199Fd00008521*
+ ID_MODEL_FROM_DATABASE=AU8521 TV card
+
+pci:v000019A2*
+ ID_VENDOR_FROM_DATABASE=Emulex Corporation
+
+pci:v000019A2d00000200*
+ ID_MODEL_FROM_DATABASE=BladeEngine 10Gb PCI-E iSCSI adapter
+
+pci:v000019A2d00000201*
+ ID_MODEL_FROM_DATABASE=BladeEngine 10Gb PCIe Network Adapter
+
+pci:v000019A2d00000211*
+ ID_MODEL_FROM_DATABASE=BladeEngine2 10Gb Gen2 PCIe Network Adapter
+
+pci:v000019A2d00000212*
+ ID_MODEL_FROM_DATABASE=BladeEngine2 10Gb Gen2 PCIe iSCSI Adapter
+
+pci:v000019A2d00000221*
+ ID_MODEL_FROM_DATABASE=BladeEngine3 10Gb Gen2 PCIe Network Adapter
+
+pci:v000019A2d00000222*
+ ID_MODEL_FROM_DATABASE=BladeEngine3 10Gb Gen2 PCIe iSCSI Adapter
+
+pci:v000019A2d00000700*
+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC
+
+pci:v000019A2d00000700sv0000103Csd00001747*
+ ID_MODEL_FROM_DATABASE=NC550SFP DualPort 10GbE Server Adapter
+
+pci:v000019A2d00000700sv0000103Csd00001749*
+ ID_MODEL_FROM_DATABASE=NC550SFP Dual Port Server Adapter
+
+pci:v000019A2d00000700sv0000103Csd0000174A*
+ ID_MODEL_FROM_DATABASE=NC551m Dual Port FlexFabric 10Gb Adapter
+
+pci:v000019A2d00000700sv0000103Csd0000174B*
+ ID_MODEL_FROM_DATABASE=StorageWorks NC550 DualPort Converged Network Adapter
+
+pci:v000019A2d00000700sv0000103Csd00003314*
+ ID_MODEL_FROM_DATABASE=NC551i Dual Port FlexFabric 10Gb Adapter
+
+pci:v000019A2d00000702*
+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator
+
+pci:v000019A2d00000704*
+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator
+
+pci:v000019A2d00000710*
+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3)
+
+pci:v000019A2d00000710sv0000103Csd00003315*
+ ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter
+
+pci:v000019A2d00000710sv0000103Csd00003340*
+ ID_MODEL_FROM_DATABASE=NC552SFP 2-port 10Gb Server Adapter
+
+pci:v000019A2d00000710sv0000103Csd00003341*
+ ID_MODEL_FROM_DATABASE=NC552m 10Gb 2-port FlexFabric Converged Network Adapter
+
+pci:v000019A2d00000710sv0000103Csd00003345*
+ ID_MODEL_FROM_DATABASE=NC553m 10Gb 2-port FlexFabric Converged Network Adapter
+
+pci:v000019A2d00000712*
+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator (be3)
+
+pci:v000019A2d00000714*
+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3)
+
+pci:v000019A2d00000714sv0000103Csd00003315*
+ ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter
+
+pci:v000019A8*
+ ID_VENDOR_FROM_DATABASE=DAQDATA GmbH
+
+pci:v000019AC*
+ ID_VENDOR_FROM_DATABASE=Kasten Chase Applied Research
+
+pci:v000019ACd00000001*
+ ID_MODEL_FROM_DATABASE=ACA2400 Crypto Accelerator
+
+pci:v000019AE*
+ ID_VENDOR_FROM_DATABASE=Progeny Systems Corporation
+
+pci:v000019AEd00000520*
+ ID_MODEL_FROM_DATABASE=4135 HFT Interface Controller
+
+pci:v000019AEd00000521*
+ ID_MODEL_FROM_DATABASE=Decimator
+
+pci:v000019C1*
+ ID_VENDOR_FROM_DATABASE=Exegy Inc.
+
+pci:v000019D1*
+ ID_VENDOR_FROM_DATABASE=Motorola Expedience
+
+pci:v000019D4*
+ ID_VENDOR_FROM_DATABASE=Quixant Limited
+
+pci:v000019DA*
+ ID_VENDOR_FROM_DATABASE=ZOTAC International (MCO) Ltd.
+
+pci:v000019DE*
+ ID_VENDOR_FROM_DATABASE=Pico Computing
+
+pci:v000019E2*
+ ID_VENDOR_FROM_DATABASE=Vector Informatik GmbH
+
+pci:v000019E3*
+ ID_VENDOR_FROM_DATABASE=DDRdrive LLC
+
+pci:v000019E3d00005801*
+ ID_MODEL_FROM_DATABASE=DDRdrive X1
+
+pci:v000019E3d00005808*
+ ID_MODEL_FROM_DATABASE=DDRdrive X8
+
+pci:v000019E3d0000DD52*
+ ID_MODEL_FROM_DATABASE=DDRdrive X1-30
+
+pci:v000019E7*
+ ID_VENDOR_FROM_DATABASE=NET (Network Equipment Technologies)
+
+pci:v000019E7d00001001*
+ ID_MODEL_FROM_DATABASE=STIX DSP Card
+
+pci:v000019E7d00001002*
+ ID_MODEL_FROM_DATABASE=STIX - 1 Port T1/E1 Card
+
+pci:v000019E7d00001003*
+ ID_MODEL_FROM_DATABASE=STIX - 2 Port T1/E1 Card
+
+pci:v000019E7d00001004*
+ ID_MODEL_FROM_DATABASE=STIX - 4 Port T1/E1 Card
+
+pci:v000019E7d00001005*
+ ID_MODEL_FROM_DATABASE=STIX - 4 Port FXS Card
+
+pci:v000019EE*
+ ID_VENDOR_FROM_DATABASE=Netronome Systems, Inc.
+
+pci:v000019F1*
+ ID_VENDOR_FROM_DATABASE=BFG Tech
+
+pci:v000019FF*
+ ID_VENDOR_FROM_DATABASE=Eclipse Electronic Systems, Inc.
+
+pci:v00001A03*
+ ID_VENDOR_FROM_DATABASE=ASPEED Technology, Inc.
+
+pci:v00001A03d00001150*
+ ID_MODEL_FROM_DATABASE=AST1150 PCI-to-PCI Bridge
+
+pci:v00001A03d00002000*
+ ID_MODEL_FROM_DATABASE=ASPEED Graphics Family
+
+pci:v00001A07*
+ ID_VENDOR_FROM_DATABASE=Kvaser AB
+
+pci:v00001A07d00000006*
+ ID_MODEL_FROM_DATABASE=CAN interface PC104+ HS/HS
+
+pci:v00001A07d00000007*
+ ID_MODEL_FROM_DATABASE=CAN interface PCIcanx II HS or HS/HS
+
+pci:v00001A07d00000008*
+ ID_MODEL_FROM_DATABASE=CAN interface PCIEcan HS or HS/HS
+
+pci:v00001A07d00000009*
+ ID_MODEL_FROM_DATABASE=CAN interface PCI104 HS/HS
+
+pci:v00001A08*
+ ID_VENDOR_FROM_DATABASE=Sierra semiconductor
+
+pci:v00001A08d00000000*
+ ID_MODEL_FROM_DATABASE=SC15064
+
+pci:v00001A0E*
+ ID_VENDOR_FROM_DATABASE=DekTec Digital Video B.V.
+
+pci:v00001A0Ed0000083F*
+ ID_MODEL_FROM_DATABASE=DTA-2111 VHF/UHF Modulator
+
+pci:v00001A17*
+ ID_VENDOR_FROM_DATABASE=Force10 Networks, Inc.
+
+pci:v00001A17d00008002*
+ ID_MODEL_FROM_DATABASE=PB-10GE-2P 10GbE Security Card
+
+pci:v00001A1D*
+ ID_VENDOR_FROM_DATABASE=GFaI e.V.
+
+pci:v00001A1Dd00001A17*
+ ID_MODEL_FROM_DATABASE=Meta Networks MTP-1G IDPS NIC
+
+pci:v00001A1E*
+ ID_VENDOR_FROM_DATABASE=3Leaf Systems, Inc.
+
+pci:v00001A22*
+ ID_VENDOR_FROM_DATABASE=Ambric Inc.
+
+pci:v00001A29*
+ ID_VENDOR_FROM_DATABASE=Fortinet, Inc.
+
+pci:v00001A2B*
+ ID_VENDOR_FROM_DATABASE=Ascom AG
+
+pci:v00001A2Bd00000000*
+ ID_MODEL_FROM_DATABASE=GESP v1.2
+
+pci:v00001A2Bd00000001*
+ ID_MODEL_FROM_DATABASE=GESP v1.3
+
+pci:v00001A2Bd00000002*
+ ID_MODEL_FROM_DATABASE=ECOMP v1.3
+
+pci:v00001A2Bd00000005*
+ ID_MODEL_FROM_DATABASE=ETP v1.4
+
+pci:v00001A2Bd0000000A*
+ ID_MODEL_FROM_DATABASE=ETP-104 v1.1
+
+pci:v00001A2Bd0000000E*
+ ID_MODEL_FROM_DATABASE=DSLP-104 v1.1
+
+pci:v00001A32*
+ ID_VENDOR_FROM_DATABASE=Quanta Microsystems, Inc
+
+pci:v00001A3B*
+ ID_VENDOR_FROM_DATABASE=AzureWave
+
+pci:v00001A3Bd00001112*
+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express)
+
+pci:v00001A41*
+ ID_VENDOR_FROM_DATABASE=Tilera Corp.
+
+pci:v00001A41d00000001*
+ ID_MODEL_FROM_DATABASE=TILE64 processor
+
+pci:v00001A41d00000002*
+ ID_MODEL_FROM_DATABASE=TILEPro processor
+
+pci:v00001A41d00000200*
+ ID_MODEL_FROM_DATABASE=TILE-Gx36 processor
+
+pci:v00001A4A*
+ ID_VENDOR_FROM_DATABASE=SLAC National Accelerator Lab PPA-REG
+
+pci:v00001A4Ad00001000*
+ ID_MODEL_FROM_DATABASE=MCOR Power Supply Controller
+
+pci:v00001A4Ad00001010*
+ ID_MODEL_FROM_DATABASE=AMC EVR - Stockholm Timing Board
+
+pci:v00001A4Ad00002000*
+ ID_MODEL_FROM_DATABASE=PGPCard - 4 Lane
+
+pci:v00001A4Ad00002010*
+ ID_MODEL_FROM_DATABASE=PCI-Express EVR
+
+pci:v00001A51*
+ ID_VENDOR_FROM_DATABASE=Hectronic AB
+
+pci:v00001A55*
+ ID_VENDOR_FROM_DATABASE=Rohde & Schwarz DVS GmbH
+
+pci:v00001A55d00000010*
+ ID_MODEL_FROM_DATABASE=SDStationOEM
+
+pci:v00001A55d00000011*
+ ID_MODEL_FROM_DATABASE=SDStationOEM II
+
+pci:v00001A55d00000020*
+ ID_MODEL_FROM_DATABASE=Centaurus
+
+pci:v00001A55d00000021*
+ ID_MODEL_FROM_DATABASE=Centaurus II
+
+pci:v00001A55d00000022*
+ ID_MODEL_FROM_DATABASE=Centaurus II LT
+
+pci:v00001A55d00000030*
+ ID_MODEL_FROM_DATABASE=CLIPSTER-VPU 1.x (Hugo)
+
+pci:v00001A55d00000040*
+ ID_MODEL_FROM_DATABASE=Hydra Cinema (JPEG)
+
+pci:v00001A55d00000050*
+ ID_MODEL_FROM_DATABASE=CLIPSTER-VPU 2.x (DigiLab)
+
+pci:v00001A55d00000060*
+ ID_MODEL_FROM_DATABASE=CLIPSTER-DCI 2.x (HydraX)
+
+pci:v00001A55d00000061*
+ ID_MODEL_FROM_DATABASE=Atomix
+
+pci:v00001A55d00000062*
+ ID_MODEL_FROM_DATABASE=Atomix LT
+
+pci:v00001A55d00000063*
+ ID_MODEL_FROM_DATABASE=Atomix HDMI
+
+pci:v00001A55d00000064*
+ ID_MODEL_FROM_DATABASE=Atomix STAN
+
+pci:v00001A55d00000065*
+ ID_MODEL_FROM_DATABASE=Atomix HDMI STAN
+
+pci:v00001A55d00000070*
+ ID_MODEL_FROM_DATABASE=RED Rocket
+
+pci:v00001A55d00000090*
+ ID_MODEL_FROM_DATABASE=CinePlay
+
+pci:v00001A56*
+ ID_VENDOR_FROM_DATABASE=Bigfoot Networks, Inc.
+
+pci:v00001A57*
+ ID_VENDOR_FROM_DATABASE=Highly Reliable Systems
+
+pci:v00001A58*
+ ID_VENDOR_FROM_DATABASE=Razer USA Ltd.
+
+pci:v00001A5D*
+ ID_VENDOR_FROM_DATABASE=Celoxica
+
+pci:v00001A5E*
+ ID_VENDOR_FROM_DATABASE=Aprius Inc.
+
+pci:v00001A5F*
+ ID_VENDOR_FROM_DATABASE=System TALKS Inc.
+
+pci:v00001A68*
+ ID_VENDOR_FROM_DATABASE=VirtenSys Limited
+
+pci:v00001A71*
+ ID_VENDOR_FROM_DATABASE=XenSource, Inc.
+
+pci:v00001A73*
+ ID_VENDOR_FROM_DATABASE=Violin Memory, Inc
+
+pci:v00001A73d00000001*
+ ID_MODEL_FROM_DATABASE=Mozart [Memory Appliance 1010]
+
+pci:v00001A76*
+ ID_VENDOR_FROM_DATABASE=Wavesat
+
+pci:v00001A77*
+ ID_VENDOR_FROM_DATABASE=Lightfleet Corporation
+
+pci:v00001A78*
+ ID_VENDOR_FROM_DATABASE=Virident Systems Inc.
+
+pci:v00001A78d00000031*
+ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive
+
+pci:v00001A78d00000031sv00001A78sd00000034*
+ ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 3]
+
+pci:v00001A78d00000031sv00001A78sd00000037*
+ ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 3D]
+
+pci:v00001A78d00000031sv00001A78sd00000038*
+ ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 4]
+
+pci:v00001A78d00000031sv00001A78sd00000039*
+ ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 4D]
+
+pci:v00001A78d00000040*
+ ID_MODEL_FROM_DATABASE=FlashMAX II
+
+pci:v00001A84*
+ ID_VENDOR_FROM_DATABASE=Commex Technologies
+
+pci:v00001A84d00000001*
+ ID_MODEL_FROM_DATABASE=Vulcan SP HT6210 10-Gigabit Ethernet (rev 02)
+
+pci:v00001A88*
+ ID_VENDOR_FROM_DATABASE=MEN Mikro Elektronik
+
+pci:v00001A88d00004D45*
+ ID_MODEL_FROM_DATABASE=Multifunction IP core
+
+pci:v00001A8C*
+ ID_VENDOR_FROM_DATABASE=Verigy Pte. Ltd.
+
+pci:v00001A8Cd00001100*
+ ID_MODEL_FROM_DATABASE=E8001-66443 PCI Express CIC
+
+pci:v00001A8E*
+ ID_VENDOR_FROM_DATABASE=DRS Technologies
+
+pci:v00001A8Ed00002090*
+ ID_MODEL_FROM_DATABASE=Model 2090 PCI Express
+
+pci:v00001AA8*
+ ID_VENDOR_FROM_DATABASE=Ciprico, Inc.
+
+pci:v00001AA8d00000009*
+ ID_MODEL_FROM_DATABASE=RAIDCore Controller
+
+pci:v00001AA8d0000000A*
+ ID_MODEL_FROM_DATABASE=RAIDCore Controller
+
+pci:v00001AAE*
+ ID_VENDOR_FROM_DATABASE=Global Velocity, Inc.
+
+pci:v00001AB6*
+ ID_VENDOR_FROM_DATABASE=CalDigit, Inc.
+
+pci:v00001AB6d00006201*
+ ID_MODEL_FROM_DATABASE=RAID Card
+
+pci:v00001AB8*
+ ID_VENDOR_FROM_DATABASE=Parallels, Inc.
+
+pci:v00001AB8d00004000*
+ ID_MODEL_FROM_DATABASE=Virtual Machine Communication Interface
+
+pci:v00001AB8d00004005*
+ ID_MODEL_FROM_DATABASE=Accelerated Virtual Video Adapter
+
+pci:v00001AB8d00004006*
+ ID_MODEL_FROM_DATABASE=Memory Ballooning Controller
+
+pci:v00001AB9*
+ ID_VENDOR_FROM_DATABASE=Espia Srl
+
+pci:v00001ACC*
+ ID_VENDOR_FROM_DATABASE=Point of View B.V
+
+pci:v00001AD7*
+ ID_VENDOR_FROM_DATABASE=Spectracom Corporation
+
+pci:v00001AD7d00008000*
+ ID_MODEL_FROM_DATABASE=TSync-PCIe Time Code Processor
+
+pci:v00001AD7d00009100*
+ ID_MODEL_FROM_DATABASE=TPRO-PCI-66U Timecode Reader/Generator
+
+pci:v00001ADE*
+ ID_VENDOR_FROM_DATABASE=Spin Master Ltd.
+
+pci:v00001ADEd00001501*
+ ID_MODEL_FROM_DATABASE=Swipetech barcode scanner
+
+pci:v00001AE0*
+ ID_VENDOR_FROM_DATABASE=Google, Inc.
+
+pci:v00001AE7*
+ ID_VENDOR_FROM_DATABASE=First Wise Media GmbH
+
+pci:v00001AE7d00000520*
+ ID_MODEL_FROM_DATABASE=HFC-S PCI A [X-TENSIONS XC-520]
+
+pci:v00001AE8*
+ ID_VENDOR_FROM_DATABASE=Silicon Software GmbH
+
+pci:v00001AE8d00000A40*
+ ID_MODEL_FROM_DATABASE=microEnable IV-BASE x1
+
+pci:v00001AE8d00000A41*
+ ID_MODEL_FROM_DATABASE=microEnable IV-FULL x1
+
+pci:v00001AE8d00000A44*
+ ID_MODEL_FROM_DATABASE=microEnable IV-FULL x4
+
+pci:v00001AE8d00000E44*
+ ID_MODEL_FROM_DATABASE=microEnable IV-GigE x4
+
+pci:v00001AEC*
+ ID_VENDOR_FROM_DATABASE=Wolfson Microelectronics
+
+pci:v00001AED*
+ ID_VENDOR_FROM_DATABASE=Fusion-io
+
+pci:v00001AEDd00001003*
+ ID_MODEL_FROM_DATABASE=ioDimm3 (v1.2)
+
+pci:v00001AEDd00001005*
+ ID_MODEL_FROM_DATABASE=ioDimm3
+
+pci:v00001AEDd00001005sv00001014sd000003C3*
+ ID_MODEL_FROM_DATABASE=High IOPS SSD PCIe Adapter
+
+pci:v00001AEDd00001005sv0000103Csd0000176F*
+ ID_MODEL_FROM_DATABASE=1.28TB MLC PCIe ioDrive Duo
+
+pci:v00001AEDd00001005sv0000103Csd00001770*
+ ID_MODEL_FROM_DATABASE=5.2TB MLC PCIe ioDrive Octal
+
+pci:v00001AEDd00001005sv0000103Csd0000178B*
+ ID_MODEL_FROM_DATABASE=160GB SLC PCIe ioDrive
+
+pci:v00001AEDd00001005sv0000103Csd0000178C*
+ ID_MODEL_FROM_DATABASE=320GB MLC PCIe ioDrive
+
+pci:v00001AEDd00001005sv0000103Csd0000178D*
+ ID_MODEL_FROM_DATABASE=320GB SLC PCIe ioDrive Duo
+
+pci:v00001AEDd00001005sv0000103Csd0000178E*
+ ID_MODEL_FROM_DATABASE=640GB MLC PCIe ioDrive Duo
+
+pci:v00001AEDd00001006*
+ ID_MODEL_FROM_DATABASE=ioXtreme
+
+pci:v00001AEDd00001007*
+ ID_MODEL_FROM_DATABASE=ioXtreme Pro
+
+pci:v00001AEDd00001008*
+ ID_MODEL_FROM_DATABASE=ioXtreme-2
+
+pci:v00001AEDd00002001*
+ ID_MODEL_FROM_DATABASE=ioDrive2
+
+pci:v00001AEE*
+ ID_VENDOR_FROM_DATABASE=Caustic Graphics Inc.
+
+pci:v00001AF4*
+ ID_VENDOR_FROM_DATABASE=Red Hat, Inc
+
+pci:v00001AF4d00001000*
+ ID_MODEL_FROM_DATABASE=Virtio network device
+
+pci:v00001AF4d00001001*
+ ID_MODEL_FROM_DATABASE=Virtio block device
+
+pci:v00001AF4d00001002*
+ ID_MODEL_FROM_DATABASE=Virtio memory balloon
+
+pci:v00001AF4d00001003*
+ ID_MODEL_FROM_DATABASE=Virtio console
+
+pci:v00001AF4d00001004*
+ ID_MODEL_FROM_DATABASE=Virtio SCSI
+
+pci:v00001AF4d00001005*
+ ID_MODEL_FROM_DATABASE=Virtio RNG
+
+pci:v00001AF4d00001009*
+ ID_MODEL_FROM_DATABASE=Virtio filesystem
+
+pci:v00001AF5*
+ ID_VENDOR_FROM_DATABASE=Netezza Corp.
+
+pci:v00001AFA*
+ ID_VENDOR_FROM_DATABASE=J & W Electronics Co., Ltd.
+
+pci:v00001B03*
+ ID_VENDOR_FROM_DATABASE=Magnum Semiconductor, Inc,
+
+pci:v00001B03d00006100*
+ ID_MODEL_FROM_DATABASE=DXT/DXTPro Multiformat Broadcast HD/SD Encoder/Decoder/Transcoder
+
+pci:v00001B08*
+ ID_VENDOR_FROM_DATABASE=MSC Vertriebs GmbH
+
+pci:v00001B13*
+ ID_VENDOR_FROM_DATABASE=Jaton Corp
+
+pci:v00001B1A*
+ ID_VENDOR_FROM_DATABASE=K&F Computing Research Co.
+
+pci:v00001B1Ad00000E70*
+ ID_MODEL_FROM_DATABASE=GRAPE
+
+pci:v00001B21*
+ ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc.
+
+pci:v00001B21d00000611*
+ ID_MODEL_FROM_DATABASE=ASM1061 SATA IDE Controller
+
+pci:v00001B21d00000612*
+ ID_MODEL_FROM_DATABASE=ASM1062 Serial ATA Controller
+
+pci:v00001B21d00001042*
+ ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller
+
+pci:v00001B21d00001080*
+ ID_MODEL_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge
+
+pci:v00001B36*
+ ID_VENDOR_FROM_DATABASE=Red Hat, Inc.
+
+pci:v00001B37*
+ ID_VENDOR_FROM_DATABASE=Signal Processing Devices Sweden AB
+
+pci:v00001B37d00000014*
+ ID_MODEL_FROM_DATABASE=ADQ412
+
+pci:v00001B3A*
+ ID_VENDOR_FROM_DATABASE=Westar Display Technologies
+
+pci:v00001B3Ad00007589*
+ ID_MODEL_FROM_DATABASE=HRED J2000 - JPEG 2000 Video Codec Device
+
+pci:v00001B3E*
+ ID_VENDOR_FROM_DATABASE=Teradata Corp.
+
+pci:v00001B3Ed00001FA8*
+ ID_MODEL_FROM_DATABASE=BYNET BIC2SE/X
+
+pci:v00001B3Ed00001FA8sv00001B3Esd000000A3*
+ ID_MODEL_FROM_DATABASE=BYNET BIC2SX
+
+pci:v00001B3Ed00001FA8sv00001B3Esd000000C3*
+ ID_MODEL_FROM_DATABASE=BYNET BIC2SE
+
+pci:v00001B40*
+ ID_VENDOR_FROM_DATABASE=Schooner Information Technology, Inc.
+
+pci:v00001B47*
+ ID_VENDOR_FROM_DATABASE=Numascale AS
+
+pci:v00001B47d00000601*
+ ID_MODEL_FROM_DATABASE=NumaChip N601
+
+pci:v00001B47d00000602*
+ ID_MODEL_FROM_DATABASE=NumaChip N602
+
+pci:v00001B4B*
+ ID_VENDOR_FROM_DATABASE=Marvell Technology Group Ltd.
+
+pci:v00001B4Bd00000640*
+ ID_MODEL_FROM_DATABASE=88SE9128 SATA III 6Gb/s RAID Controller
+
+pci:v00001B4Bd00009120*
+ ID_MODEL_FROM_DATABASE=88SE9120 SATA 6Gb/s Controller
+
+pci:v00001B4Bd00009123*
+ ID_MODEL_FROM_DATABASE=88SE9123 PCIe SATA 6.0 Gb/s controller
+
+pci:v00001B4Bd00009125*
+ ID_MODEL_FROM_DATABASE=88SE9125 PCIe SATA 6.0 Gb/s controller
+
+pci:v00001B4Bd00009128*
+ ID_MODEL_FROM_DATABASE=88SE9128 PCIe SATA 6 Gb/s RAID controller
+
+pci:v00001B4Bd00009130*
+ ID_MODEL_FROM_DATABASE=88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo
+
+pci:v00001B4Bd00009130sv00001043sd00008438*
+ ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard
+
+pci:v00001B4Bd00009172*
+ ID_MODEL_FROM_DATABASE=88SE9172 SATA 6Gb/s Controller
+
+pci:v00001B4Bd0000917A*
+ ID_MODEL_FROM_DATABASE=88SE9172 SATA III 6Gb/s RAID Controller
+
+pci:v00001B4Bd00009192*
+ ID_MODEL_FROM_DATABASE=88SE9172 SATA III 6Gb/s RAID Controller
+
+pci:v00001B4Bd000091A0*
+ ID_MODEL_FROM_DATABASE=88SE91A0 SATA 6Gb/s Controller
+
+pci:v00001B4Bd000091A4*
+ ID_MODEL_FROM_DATABASE=88SE912x IDE Controller
+
+pci:v00001B4Bd00009230*
+ ID_MODEL_FROM_DATABASE=88SE9230 PCIe SATA 6Gb/s Controller
+
+pci:v00001B4Bd00009480*
+ ID_MODEL_FROM_DATABASE=88SE9480 SAS/SATA 6Gb/s RAID controller
+
+pci:v00001B55*
+ ID_VENDOR_FROM_DATABASE=NetUP Inc.
+
+pci:v00001B55d00002A2C*
+ ID_MODEL_FROM_DATABASE=Dual DVB-S2-CI card
+
+pci:v00001B55d0000E2E4*
+ ID_MODEL_FROM_DATABASE=Dual DVB-T/C-CI RF card
+
+pci:v00001B55d0000E5F4*
+ ID_MODEL_FROM_DATABASE=MPEG2 and H264 Encoder-Transcoder
+
+pci:v00001B55d0000F1C4*
+ ID_MODEL_FROM_DATABASE=Dual ASI-RX/TX-CI card
+
+pci:v00001B6F*
+ ID_VENDOR_FROM_DATABASE=Etron Technology, Inc.
+
+pci:v00001B6Fd00007023*
+ ID_MODEL_FROM_DATABASE=EJ168 USB 3.0 Host Controller
+
+pci:v00001B6Fd00007052*
+ ID_MODEL_FROM_DATABASE=EJ188/EJ198 USB 3.0 Host Controller
+
+pci:v00001B73*
+ ID_VENDOR_FROM_DATABASE=Fresco Logic
+
+pci:v00001B73d00001000*
+ ID_MODEL_FROM_DATABASE=FL1000G USB 3.0 Host Controller
+
+pci:v00001B73d00001000sv00001D5Csd00001000*
+ ID_MODEL_FROM_DATABASE=Anker USB 3.0 Express Card
+
+pci:v00001B73d00001009*
+ ID_MODEL_FROM_DATABASE=FL1009 USB 3.0 Host Controller
+
+pci:v00001B74*
+ ID_VENDOR_FROM_DATABASE=OpenVox Communication Co. Ltd.
+
+pci:v00001B74d00000115*
+ ID_MODEL_FROM_DATABASE=D115P/D115E Single-port E1/T1 card
+
+pci:v00001B74d0000D130*
+ ID_MODEL_FROM_DATABASE=D130P/D130E Single-port E1/T1 card (3rd GEN)
+
+pci:v00001B74d0000D210*
+ ID_MODEL_FROM_DATABASE=D210P/D210E Dual-port E1/T1 card(2nd generation)
+
+pci:v00001B74d0000D230*
+ ID_MODEL_FROM_DATABASE=D230 Dual-port E1/T1 card (2nd generation)
+
+pci:v00001B74d0000D410*
+ ID_MODEL_FROM_DATABASE=D410/430 Quad-port E1/T1 card
+
+pci:v00001B74d0000D430*
+ ID_MODEL_FROM_DATABASE=D410/430 Quad-port E1/T1 card
+
+pci:v00001B85*
+ ID_VENDOR_FROM_DATABASE=OCZ Technology Group, Inc.
+
+pci:v00001B85d00001041*
+ ID_MODEL_FROM_DATABASE=RevoDrive 3 X2 PCI-Express SSD 240 GB (Marvell Controller)
+
+pci:v00001B96*
+ ID_VENDOR_FROM_DATABASE=Western Digital
+
+pci:v00001B9A*
+ ID_VENDOR_FROM_DATABASE=XAVi Technologies Corp.
+
+pci:v00001BAD*
+ ID_VENDOR_FROM_DATABASE=ReFLEX CES
+
+pci:v00001BB0*
+ ID_VENDOR_FROM_DATABASE=SimpliVity Corporation
+
+pci:v00001BB0d00000002*
+ ID_MODEL_FROM_DATABASE=OmniCube Accelerator OA-3000
+
+pci:v00001BB3*
+ ID_VENDOR_FROM_DATABASE=Bluecherry
+
+pci:v00001BB3d00004304*
+ ID_MODEL_FROM_DATABASE=BC-04120A MPEG4 4 port video encoder / decoder
+
+pci:v00001BB3d00004309*
+ ID_MODEL_FROM_DATABASE=BC-08240A MPEG4 4 port video encoder / decoder
+
+pci:v00001BB3d00004310*
+ ID_MODEL_FROM_DATABASE=BC-16480A MPEG4 16 port video encoder / decoder
+
+pci:v00001BB3d00004E04*
+ ID_MODEL_FROM_DATABASE=BC-04120A 4 port MPEG4 video encoder / decoder
+
+pci:v00001BB3d00004E09*
+ ID_MODEL_FROM_DATABASE=BC-08240A 8 port MPEG4 video encoder / decoder
+
+pci:v00001BB3d00004E10*
+ ID_MODEL_FROM_DATABASE=BC-16480A 16 port MPEG4 video encoder / decoder
+
+pci:v00001BB3d00005304*
+ ID_MODEL_FROM_DATABASE=BC-H04120A 4 port H.264 video and audio encoder / decoder
+
+pci:v00001BB3d00005308*
+ ID_MODEL_FROM_DATABASE=BC-H08240A 8 port H.264 video and audio encoder / decoder
+
+pci:v00001BB3d00005310*
+ ID_MODEL_FROM_DATABASE=BC-H16480A 16 port H.264 video and audio encoder / decoder
+
+pci:v00001BB5*
+ ID_VENDOR_FROM_DATABASE=Quantenna Communications, Inc.
+
+pci:v00001BBF*
+ ID_VENDOR_FROM_DATABASE=Maxeler Technologies Ltd.
+
+pci:v00001BBFd00000003*
+ ID_MODEL_FROM_DATABASE=MAX3
+
+pci:v00001BBFd00000004*
+ ID_MODEL_FROM_DATABASE=MAX4
+
+pci:v00001BF4*
+ ID_VENDOR_FROM_DATABASE=VTI Instruments Corporation
+
+pci:v00001C1C*
+ ID_VENDOR_FROM_DATABASE=Symphony
+
+pci:v00001C1Cd00000001*
+ ID_MODEL_FROM_DATABASE=82C101
+
+pci:v00001C2C*
+ ID_VENDOR_FROM_DATABASE=Fiberblaze
+
+pci:v00001C32*
+ ID_VENDOR_FROM_DATABASE=Highland Technology, Inc.
+
+pci:v00001C3B*
+ ID_VENDOR_FROM_DATABASE=Accensus, LLC
+
+pci:v00001C3Bd00000200*
+ ID_MODEL_FROM_DATABASE=Telas2
+
+pci:v00001C3Bd00000300*
+ ID_MODEL_FROM_DATABASE=Telas 2.V
+
+pci:v00001C44*
+ ID_VENDOR_FROM_DATABASE=Enmotus Inc
+
+pci:v00001C44d00008000*
+ ID_MODEL_FROM_DATABASE=8000 Storage IO Controller
+
+pci:v00001C7F*
+ ID_VENDOR_FROM_DATABASE=Elektrobit Austria GmbH
+
+pci:v00001C7Fd00005100*
+ ID_MODEL_FROM_DATABASE=EB5100
+
+pci:v00001C8A*
+ ID_VENDOR_FROM_DATABASE=TSF5 Corporation
+
+pci:v00001C8Ad00000001*
+ ID_MODEL_FROM_DATABASE=Hunter PCI Express
+
+pci:v00001CB1*
+ ID_VENDOR_FROM_DATABASE=Collion UG & Co.KG
+
+pci:v00001D44*
+ ID_VENDOR_FROM_DATABASE=DPT
+
+pci:v00001D44d0000A400*
+ ID_MODEL_FROM_DATABASE=PM2x24/PM3224
+
+pci:v00001D5C*
+ ID_VENDOR_FROM_DATABASE=Fantasia Trading LLC
+
+pci:v00001DE1*
+ ID_VENDOR_FROM_DATABASE=Tekram Technology Co.,Ltd.
+
+pci:v00001DE1d00000391*
+ ID_MODEL_FROM_DATABASE=TRM-S1040
+
+pci:v00001DE1d00002020*
+ ID_MODEL_FROM_DATABASE=DC-390
+
+pci:v00001DE1d0000690C*
+ ID_MODEL_FROM_DATABASE=690c
+
+pci:v00001DE1d0000DC29*
+ ID_MODEL_FROM_DATABASE=DC290
+
+pci:v00001FC0*
+ ID_VENDOR_FROM_DATABASE=Ascom (Finland) Oy
+
+pci:v00001FC0d00000300*
+ ID_MODEL_FROM_DATABASE=E2200 Dual E1/Rawpipe Card
+
+pci:v00001FC0d00000301*
+ ID_MODEL_FROM_DATABASE=C5400 SHDSL/E1 Card
+
+pci:v00001FC1*
+ ID_VENDOR_FROM_DATABASE=QLogic, Corp.
+
+pci:v00001FC1d0000000D*
+ ID_MODEL_FROM_DATABASE=IBA6110 InfiniBand HCA
+
+pci:v00001FC1d00000010*
+ ID_MODEL_FROM_DATABASE=IBA6120 InfiniBand HCA
+
+pci:v00001FC9*
+ ID_VENDOR_FROM_DATABASE=Tehuti Networks Ltd.
+
+pci:v00001FC9d00003009*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC
+
+pci:v00001FC9d00003010*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC
+
+pci:v00001FC9d00003010sv00000000sd00003002*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port XFP SmartNIC
+
+pci:v00001FC9d00003010sv00000000sd00003004*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC
+
+pci:v00001FC9d00003010sv00000000sd00003008*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port CX4 SmartNIC
+
+pci:v00001FC9d00003014*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port
+
+pci:v00001FC9d00003014sv00000000sd00003003*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port XFP Low Profile SmartNIC
+
+pci:v00001FC9d00003014sv00000000sd00003005*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC
+
+pci:v00001FC9d00003014sv00000000sd00003014*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC
+
+pci:v00001FC9d00003110*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SmartNIC
+
+pci:v00001FC9d00003110sv00000000sd00003004*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC
+
+pci:v00001FC9d00003114*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC
+
+pci:v00001FC9d00003114sv00000000sd00003005*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC
+
+pci:v00001FC9d00003114sv00000000sd00003011*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC
+
+pci:v00001FC9d00003114sv00000000sd00003012*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC
+
+pci:v00001FC9d00003114sv00000000sd00003014*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC
+
+pci:v00001FC9d00003310*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE SFP+ Single Port SmartNIC
+
+pci:v00001FC9d00003310sv00000000sd00003004*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC
+
+pci:v00001FC9d00003314*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC
+
+pci:v00001FC9d00003314sv00000000sd00003005*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC
+
+pci:v00001FC9d00003314sv00000000sd00003011*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC
+
+pci:v00001FC9d00003314sv00000000sd00003012*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC
+
+pci:v00001FC9d00003314sv00000000sd00003014*
+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC
+
+pci:v00001FCE*
+ ID_VENDOR_FROM_DATABASE=Cognio Inc.
+
+pci:v00001FCEd00000001*
+ ID_MODEL_FROM_DATABASE=Spectrum Analyzer PC Card (SAgE)
+
+pci:v00001FD4*
+ ID_VENDOR_FROM_DATABASE=SUNIX Co., Ltd.
+
+pci:v00001FD4d00000001*
+ ID_MODEL_FROM_DATABASE=Matrix multiport serial adapter
+
+pci:v00001FD4d00001999*
+ ID_MODEL_FROM_DATABASE=Multiport serial controller
+
+pci:v00002000*
+ ID_VENDOR_FROM_DATABASE=Smart Link Ltd.
+
+pci:v00002000d00002800*
+ ID_MODEL_FROM_DATABASE=SmartPCI2800 V.92 PCI Soft DFT
+
+pci:v00002001*
+ ID_VENDOR_FROM_DATABASE=Temporal Research Ltd
+
+pci:v00002003*
+ ID_VENDOR_FROM_DATABASE=Smart Link Ltd.
+
+pci:v00002003d00008800*
+ ID_MODEL_FROM_DATABASE=LM-I56N
+
+pci:v00002004*
+ ID_VENDOR_FROM_DATABASE=Smart Link Ltd.
+
+pci:v000020F4*
+ ID_VENDOR_FROM_DATABASE=TRENDnet
+
+pci:v00002116*
+ ID_VENDOR_FROM_DATABASE=ZyDAS Technology Corp.
+
+pci:v000021C3*
+ ID_VENDOR_FROM_DATABASE=21st Century Computer Corp.
+
+pci:v00002304*
+ ID_VENDOR_FROM_DATABASE=Colorgraphic Communications Corp.
+
+pci:v00002348*
+ ID_VENDOR_FROM_DATABASE=Racore
+
+pci:v00002348d00002010*
+ ID_MODEL_FROM_DATABASE=8142 100VG/AnyLAN
+
+pci:v00002646*
+ ID_VENDOR_FROM_DATABASE=Kingston Technologies
+
+pci:v0000270B*
+ ID_VENDOR_FROM_DATABASE=Xantel Corporation
+
+pci:v0000270F*
+ ID_VENDOR_FROM_DATABASE=Chaintech Computer Co. Ltd
+
+pci:v00002711*
+ ID_VENDOR_FROM_DATABASE=AVID Technology Inc.
+
+pci:v00002955*
+ ID_VENDOR_FROM_DATABASE=Connectix Virtual PC
+
+pci:v00002955d00006E61*
+ ID_MODEL_FROM_DATABASE=OHCI USB 1.1 controller
+
+pci:v00002A15*
+ ID_VENDOR_FROM_DATABASE=3D Vision(???)
+
+pci:v00003000*
+ ID_VENDOR_FROM_DATABASE=Hansol Electronics Inc.
+
+pci:v00003142*
+ ID_VENDOR_FROM_DATABASE=Post Impression Systems.
+
+pci:v000031AB*
+ ID_VENDOR_FROM_DATABASE=Zonet
+
+pci:v000031ABd00001FAA*
+ ID_MODEL_FROM_DATABASE=ZEW1602 802.11b/g Wireless Adapter
+
+pci:v00003388*
+ ID_VENDOR_FROM_DATABASE=Hint Corp
+
+pci:v00003388d00000013*
+ ID_MODEL_FROM_DATABASE=HiNT HC4 PCI to ISDN bridge, Multimedia audio controller
+
+pci:v00003388d00000014*
+ ID_MODEL_FROM_DATABASE=HiNT HC4 PCI to ISDN bridge, Network controller
+
+pci:v00003388d00000020*
+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (transparent mode)
+
+pci:v00003388d00000021*
+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode)
+
+pci:v00003388d00000021sv00001775sd0000C200*
+ ID_MODEL_FROM_DATABASE=C2K CompactPCI interface bridge
+
+pci:v00003388d00000021sv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00003388d00000021sv00004C53sd00001050*
+ ID_MODEL_FROM_DATABASE=CT7 mainboard
+
+pci:v00003388d00000021sv00004C53sd00001080*
+ ID_MODEL_FROM_DATABASE=CT8 mainboard
+
+pci:v00003388d00000021sv00004C53sd00001090*
+ ID_MODEL_FROM_DATABASE=Cx9 mainboard
+
+pci:v00003388d00000021sv00004C53sd000010A0*
+ ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard
+
+pci:v00003388d00000021sv00004C53sd00003010*
+ ID_MODEL_FROM_DATABASE=PPCI mezzanine (32-bit PMC)
+
+pci:v00003388d00000021sv00004C53sd00003011*
+ ID_MODEL_FROM_DATABASE=PPCI mezzanine (64-bit PMC)
+
+pci:v00003388d00000021sv00004C53sd00004000*
+ ID_MODEL_FROM_DATABASE=PMCCARR1 carrier board
+
+pci:v00003388d00000022*
+ ID_MODEL_FROM_DATABASE=HiNT HB4 PCI-PCI Bridge (PCI6150)
+
+pci:v00003388d00000026*
+ ID_MODEL_FROM_DATABASE=HB2 PCI-PCI Bridge
+
+pci:v00003388d00001018*
+ ID_MODEL_FROM_DATABASE=Audiotrak INCA88
+
+pci:v00003388d00001019*
+ ID_MODEL_FROM_DATABASE=Miditrak 2120
+
+pci:v00003388d0000101A*
+ ID_MODEL_FROM_DATABASE=E.Band [AudioTrak Inca88]
+
+pci:v00003388d0000101B*
+ ID_MODEL_FROM_DATABASE=E.Band [AudioTrak Inca88]
+
+pci:v00003388d00008011*
+ ID_MODEL_FROM_DATABASE=VXPro II Chipset
+
+pci:v00003388d00008011sv00003388sd00008011*
+ ID_MODEL_FROM_DATABASE=VXPro II Chipset CPU to PCI Bridge
+
+pci:v00003388d00008012*
+ ID_MODEL_FROM_DATABASE=VXPro II Chipset
+
+pci:v00003388d00008012sv00003388sd00008012*
+ ID_MODEL_FROM_DATABASE=VXPro II Chipset PCI to ISA Bridge
+
+pci:v00003388d00008013*
+ ID_MODEL_FROM_DATABASE=VXPro II IDE
+
+pci:v00003388d00008013sv00003388sd00008013*
+ ID_MODEL_FROM_DATABASE=VXPro II Chipset EIDE Controller
+
+pci:v00003388d0000A103*
+ ID_MODEL_FROM_DATABASE=Blackmagic Design DeckLink HD Pro
+
+pci:v00003411*
+ ID_VENDOR_FROM_DATABASE=Quantum Designs (H.K.) Inc
+
+pci:v00003442*
+ ID_VENDOR_FROM_DATABASE=Bihl+Wiedemann GmbH
+
+pci:v00003442d00001783*
+ ID_MODEL_FROM_DATABASE=AS-i 3.0 cPCI Master
+
+pci:v00003442d00001922*
+ ID_MODEL_FROM_DATABASE=AS-i 3.0 PCI Master
+
+pci:v00003475*
+ ID_VENDOR_FROM_DATABASE=Arastra Inc.
+
+pci:v00003513*
+ ID_VENDOR_FROM_DATABASE=ARCOM Control Systems Ltd
+
+pci:v000037D9*
+ ID_VENDOR_FROM_DATABASE=ITD Firm ltd.
+
+pci:v000037D9d00001138*
+ ID_MODEL_FROM_DATABASE=SCHD-PH-8 Phase detector
+
+pci:v00003842*
+ ID_VENDOR_FROM_DATABASE=eVga.com. Corp.
+
+pci:v000038EF*
+ ID_VENDOR_FROM_DATABASE=4Links
+
+pci:v00003D3D*
+ ID_VENDOR_FROM_DATABASE=3DLabs
+
+pci:v00003D3Dd00000001*
+ ID_MODEL_FROM_DATABASE=GLINT 300SX
+
+pci:v00003D3Dd00000002*
+ ID_MODEL_FROM_DATABASE=GLINT 500TX
+
+pci:v00003D3Dd00000002sv00000000sd00000000*
+ ID_MODEL_FROM_DATABASE=GLoria L
+
+pci:v00003D3Dd00000003*
+ ID_MODEL_FROM_DATABASE=GLINT Delta
+
+pci:v00003D3Dd00000003sv00000000sd00000000*
+ ID_MODEL_FROM_DATABASE=GLoria XL
+
+pci:v00003D3Dd00000004*
+ ID_MODEL_FROM_DATABASE=Permedia
+
+pci:v00003D3Dd00000005*
+ ID_MODEL_FROM_DATABASE=Permedia
+
+pci:v00003D3Dd00000006*
+ ID_MODEL_FROM_DATABASE=GLINT MX
+
+pci:v00003D3Dd00000006sv00000000sd00000000*
+ ID_MODEL_FROM_DATABASE=GLoria XL
+
+pci:v00003D3Dd00000006sv00001048sd00000A42*
+ ID_MODEL_FROM_DATABASE=GLoria XXL
+
+pci:v00003D3Dd00000007*
+ ID_MODEL_FROM_DATABASE=3D Extreme
+
+pci:v00003D3Dd00000008*
+ ID_MODEL_FROM_DATABASE=GLINT Gamma G1
+
+pci:v00003D3Dd00000008sv00001048sd00000A42*
+ ID_MODEL_FROM_DATABASE=GLoria XXL
+
+pci:v00003D3Dd00000009*
+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D
+
+pci:v00003D3Dd00000009sv00001040sd00000011*
+ ID_MODEL_FROM_DATABASE=AccelStar II
+
+pci:v00003D3Dd00000009sv00001048sd00000A42*
+ ID_MODEL_FROM_DATABASE=GLoria XXL
+
+pci:v00003D3Dd00000009sv000013E9sd00001000*
+ ID_MODEL_FROM_DATABASE=6221L-4U
+
+pci:v00003D3Dd00000009sv00003D3Dsd00000100*
+ ID_MODEL_FROM_DATABASE=AccelStar II 3D Accelerator
+
+pci:v00003D3Dd00000009sv00003D3Dsd00000111*
+ ID_MODEL_FROM_DATABASE=Permedia 3:16
+
+pci:v00003D3Dd00000009sv00003D3Dsd00000114*
+ ID_MODEL_FROM_DATABASE=Santa Ana
+
+pci:v00003D3Dd00000009sv00003D3Dsd00000116*
+ ID_MODEL_FROM_DATABASE=Oxygen GVX1
+
+pci:v00003D3Dd00000009sv00003D3Dsd00000119*
+ ID_MODEL_FROM_DATABASE=Scirocco
+
+pci:v00003D3Dd00000009sv00003D3Dsd00000120*
+ ID_MODEL_FROM_DATABASE=Santa Ana PCL
+
+pci:v00003D3Dd00000009sv00003D3Dsd00000125*
+ ID_MODEL_FROM_DATABASE=Oxygen VX1
+
+pci:v00003D3Dd00000009sv00003D3Dsd00000127*
+ ID_MODEL_FROM_DATABASE=Permedia3 Create!
+
+pci:v00003D3Dd0000000A*
+ ID_MODEL_FROM_DATABASE=GLINT R3
+
+pci:v00003D3Dd0000000Asv00003D3Dsd00000121*
+ ID_MODEL_FROM_DATABASE=Oxygen VX1
+
+pci:v00003D3Dd0000000C*
+ ID_MODEL_FROM_DATABASE=GLINT R3 [Oxygen VX1]
+
+pci:v00003D3Dd0000000Csv00003D3Dsd00000144*
+ ID_MODEL_FROM_DATABASE=Oxygen VX1-4X AGP [Permedia 4]
+
+pci:v00003D3Dd0000000D*
+ ID_MODEL_FROM_DATABASE=GLint R4 rev A
+
+pci:v00003D3Dd0000000E*
+ ID_MODEL_FROM_DATABASE=GLINT Gamma G2
+
+pci:v00003D3Dd00000011*
+ ID_MODEL_FROM_DATABASE=GLint R4 rev B
+
+pci:v00003D3Dd00000012*
+ ID_MODEL_FROM_DATABASE=GLint R5 rev A
+
+pci:v00003D3Dd00000013*
+ ID_MODEL_FROM_DATABASE=GLint R5 rev B
+
+pci:v00003D3Dd00000020*
+ ID_MODEL_FROM_DATABASE=VP10 visual processor
+
+pci:v00003D3Dd00000022*
+ ID_MODEL_FROM_DATABASE=VP10 visual processor
+
+pci:v00003D3Dd00000024*
+ ID_MODEL_FROM_DATABASE=VP9 visual processor
+
+pci:v00003D3Dd0000002C*
+ ID_MODEL_FROM_DATABASE=Wildcat Realizm 100/200
+
+pci:v00003D3Dd00000030*
+ ID_MODEL_FROM_DATABASE=Wildcat Realizm 800
+
+pci:v00003D3Dd00000032*
+ ID_MODEL_FROM_DATABASE=Wildcat Realizm 500
+
+pci:v00003D3Dd00000100*
+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D
+
+pci:v00003D3Dd000007A1*
+ ID_MODEL_FROM_DATABASE=Wildcat III 6210
+
+pci:v00003D3Dd000007A2*
+ ID_MODEL_FROM_DATABASE=Sun XVR-500 Graphics Accelerator
+
+pci:v00003D3Dd000007A3*
+ ID_MODEL_FROM_DATABASE=Wildcat IV 7210
+
+pci:v00003D3Dd00001004*
+ ID_MODEL_FROM_DATABASE=Permedia
+
+pci:v00003D3Dd00003D04*
+ ID_MODEL_FROM_DATABASE=Permedia
+
+pci:v00003D3Dd0000FFFF*
+ ID_MODEL_FROM_DATABASE=Glint VGA
+
+pci:v00004005*
+ ID_VENDOR_FROM_DATABASE=Avance Logic Inc.
+
+pci:v00004005d00000300*
+ ID_MODEL_FROM_DATABASE=ALS300 PCI Audio Device
+
+pci:v00004005d00000308*
+ ID_MODEL_FROM_DATABASE=ALS300+ PCI Audio Device
+
+pci:v00004005d00000309*
+ ID_MODEL_FROM_DATABASE=PCI Input Controller
+
+pci:v00004005d00001064*
+ ID_MODEL_FROM_DATABASE=ALG-2064
+
+pci:v00004005d00002064*
+ ID_MODEL_FROM_DATABASE=ALG-2064i
+
+pci:v00004005d00002128*
+ ID_MODEL_FROM_DATABASE=ALG-2364A GUI Accelerator
+
+pci:v00004005d00002301*
+ ID_MODEL_FROM_DATABASE=ALG-2301
+
+pci:v00004005d00002302*
+ ID_MODEL_FROM_DATABASE=ALG-2302
+
+pci:v00004005d00002303*
+ ID_MODEL_FROM_DATABASE=AVG-2302 GUI Accelerator
+
+pci:v00004005d00002364*
+ ID_MODEL_FROM_DATABASE=ALG-2364A
+
+pci:v00004005d00002464*
+ ID_MODEL_FROM_DATABASE=ALG-2464
+
+pci:v00004005d00002501*
+ ID_MODEL_FROM_DATABASE=ALG-2564A/25128A
+
+pci:v00004005d00004000*
+ ID_MODEL_FROM_DATABASE=ALS4000 Audio Chipset
+
+pci:v00004005d00004000sv00004005sd00004000*
+ ID_MODEL_FROM_DATABASE=ALS4000 Audio Chipset
+
+pci:v00004005d00004710*
+ ID_MODEL_FROM_DATABASE=ALC200/200P
+
+pci:v00004033*
+ ID_VENDOR_FROM_DATABASE=Addtron Technology Co, Inc.
+
+pci:v00004033d00001360*
+ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet
+
+pci:v00004040*
+ ID_VENDOR_FROM_DATABASE=NetXen Incorporated
+
+pci:v00004040d00000001*
+ ID_MODEL_FROM_DATABASE=NXB-10GXSR 10-Gigabit Ethernet PCIe Adapter with SR-XFP optical interface
+
+pci:v00004040d00000001sv0000103Csd00007047*
+ ID_MODEL_FROM_DATABASE=NC510F PCIe 10-Gigabit Server Adapter
+
+pci:v00004040d00000002*
+ ID_MODEL_FROM_DATABASE=NXB-10GCX4 10-Gigabit Ethernet PCIe Adapter with CX4 copper interface
+
+pci:v00004040d00000002sv0000103Csd00007048*
+ ID_MODEL_FROM_DATABASE=NC510c PCIe 10-Gigabit Server Adapter
+
+pci:v00004040d00000003*
+ ID_MODEL_FROM_DATABASE=NXB-4GCU Quad Gigabit Ethernet PCIe Adapter with 1000-BASE-T interface
+
+pci:v00004040d00000004*
+ ID_MODEL_FROM_DATABASE=BladeCenter-H 10-Gigabit Ethernet High Speed Daughter Card
+
+pci:v00004040d00000005*
+ ID_MODEL_FROM_DATABASE=NetXen Dual Port 10GbE Multifunction Adapter for c-Class
+
+pci:v00004040d00000005sv0000103Csd0000170E*
+ ID_MODEL_FROM_DATABASE=NC512m Dual Port 10GbE Multifunction BL-C Adapter
+
+pci:v00004040d00000024*
+ ID_MODEL_FROM_DATABASE=XG Mgmt
+
+pci:v00004040d00000025*
+ ID_MODEL_FROM_DATABASE=XG Mgmt
+
+pci:v00004040d00000100*
+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter
+
+pci:v00004040d00000100sv0000103Csd0000171B*
+ ID_MODEL_FROM_DATABASE=NC522m Dual Port 10GbE Multifunction BL-c Adapter
+
+pci:v00004040d00000100sv0000103Csd00001740*
+ ID_MODEL_FROM_DATABASE=NC375T PCI Express Quad Port Gigabit Server Adapter
+
+pci:v00004040d00000100sv0000103Csd00003251*
+ ID_MODEL_FROM_DATABASE=NC375i 1G w/NC524SFP 10G Module
+
+pci:v00004040d00000100sv0000103Csd0000705A*
+ ID_MODEL_FROM_DATABASE=NC375i Integrated Quad Port Multifunction Gigabit Server Adapter
+
+pci:v00004040d00000100sv0000103Csd0000705B*
+ ID_MODEL_FROM_DATABASE=NC522SFP Dual Port 10GbE Server Adapter
+
+pci:v00004040d00000100sv0000152Dsd0000896B*
+ ID_MODEL_FROM_DATABASE=TG20 Dual Port 10GbE Server/Storage Adapter
+
+pci:v00004040d00000100sv00004040sd00000124*
+ ID_MODEL_FROM_DATABASE=NX3031 Quad Port Gigabit Server Adapter
+
+pci:v00004040d00000100sv00004040sd00000126*
+ ID_MODEL_FROM_DATABASE=Dual Port SFP+ 10GbE Server Adapter
+
+pci:v00004143*
+ ID_VENDOR_FROM_DATABASE=Digital Equipment Corp
+
+pci:v00004144*
+ ID_VENDOR_FROM_DATABASE=Alpha Data
+
+pci:v00004144d00000044*
+ ID_MODEL_FROM_DATABASE=ADM-XRCIIPro
+
+pci:v00004150*
+ ID_VENDOR_FROM_DATABASE=ONA Electroerosion
+
+pci:v00004150d00000001*
+ ID_MODEL_FROM_DATABASE=PCI32TLITE FILSTRUP1 PCI to VME Bridge Controller
+
+pci:v00004150d00000006*
+ ID_MODEL_FROM_DATABASE=PCI32TLITE UART 16550 Opencores
+
+pci:v00004150d00000007*
+ ID_MODEL_FROM_DATABASE=PCI32TLITE CAN Controller Opencores
+
+pci:v0000415A*
+ ID_VENDOR_FROM_DATABASE=Auzentech, Inc.
+
+pci:v0000416C*
+ ID_VENDOR_FROM_DATABASE=Aladdin Knowledge Systems
+
+pci:v0000416Cd00000100*
+ ID_MODEL_FROM_DATABASE=AladdinCARD
+
+pci:v0000416Cd00000200*
+ ID_MODEL_FROM_DATABASE=CPC
+
+pci:v00004321*
+ ID_VENDOR_FROM_DATABASE=Tata Power Strategic Electronics Division
+
+pci:v0000434E*
+ ID_VENDOR_FROM_DATABASE=CAST Navigation LLC
+
+pci:v00004444*
+ ID_VENDOR_FROM_DATABASE=Internext Compression Inc
+
+pci:v00004444d00000016*
+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder
+
+pci:v00004444d00000016sv00000070sd00000003*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 250
+
+pci:v00004444d00000016sv00000070sd00000009*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 150
+
+pci:v00004444d00000016sv00000070sd00000801*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 150
+
+pci:v00004444d00000016sv00000070sd00000807*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 150
+
+pci:v00004444d00000016sv00000070sd00004001*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 250
+
+pci:v00004444d00000016sv00000070sd00004009*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 250
+
+pci:v00004444d00000016sv00000070sd00004801*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 250
+
+pci:v00004444d00000016sv00000070sd00004803*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 250
+
+pci:v00004444d00000016sv00000070sd00008003*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 150
+
+pci:v00004444d00000016sv00000070sd00008801*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 150
+
+pci:v00004444d00000016sv00000070sd0000C801*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 150
+
+pci:v00004444d00000016sv00000070sd0000E807*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 500 (1st unit)
+
+pci:v00004444d00000016sv00000070sd0000E817*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 500 (2nd unit)
+
+pci:v00004444d00000016sv00000070sd0000FF92*
+ ID_MODEL_FROM_DATABASE=WiNTV PVR-550
+
+pci:v00004444d00000016sv00000270sd00000801*
+ ID_MODEL_FROM_DATABASE=WinTV PVR 150
+
+pci:v00004444d00000016sv0000104Dsd0000013D*
+ ID_MODEL_FROM_DATABASE=ENX-26 TV Encoder
+
+pci:v00004444d00000016sv000010FCsd0000D038*
+ ID_MODEL_FROM_DATABASE=GV-MVP/RX2W (1st unit)
+
+pci:v00004444d00000016sv000010FCsd0000D039*
+ ID_MODEL_FROM_DATABASE=GV-MVP/RX2W (2nd unit)
+
+pci:v00004444d00000016sv000012ABsd0000FFF3*
+ ID_MODEL_FROM_DATABASE=MPG600
+
+pci:v00004444d00000016sv000012ABsd0000FFFF*
+ ID_MODEL_FROM_DATABASE=MPG600
+
+pci:v00004444d00000016sv00001461sd0000C00A*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK3 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C00B*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK3 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C00C*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, JAPAN version, Philips FI1286MK2 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C010*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Philips FI1236MK3 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C011*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC+FM, Philips FM1236MK3 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C018*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Philips FQ1236MK5 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C019*
+ ID_MODEL_FROM_DATABASE=UltraTV 1500 MCE, a.k.a. M113 PCI Analog TV (NTSC+FM, Philips FQ1236MK5 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C01A*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK5 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C01B*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK5 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C030*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC-J, Partsnic tuner)
+
+pci:v00004444d00000016sv00001461sd0000C031*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC-J+FM, Partsnic tuner)
+
+pci:v00004444d00000016sv00001461sd0000C032*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Partsnic tuner)
+
+pci:v00004444d00000016sv00001461sd0000C033*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Partsnic tuner)
+
+pci:v00004444d00000016sv00001461sd0000C034*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Partsnic tuner)
+
+pci:v00004444d00000016sv00001461sd0000C035*
+ ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC+FM, Partsnic tuner)
+
+pci:v00004444d00000016sv00001461sd0000C03F*
+ ID_MODEL_FROM_DATABASE=C115 PCI video capture card (no tuner)
+
+pci:v00004444d00000016sv00001461sd0000C136*
+ ID_MODEL_FROM_DATABASE=M104 mini-PCI Analog TV
+
+pci:v00004444d00000016sv00001461sd0000C20A*
+ ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK3 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C218*
+ ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC, Philips FQ1236MK5 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C219*
+ ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC+FM, Philips FQ1236MK5 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C21A*
+ ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK5 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C21B*
+ ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM+FM, Philips FM1216MK5 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C230*
+ ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC-J, Partsnic tuner)
+
+pci:v00004444d00000016sv00001461sd0000C231*
+ ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC-J+FM, Partsnic tuner)
+
+pci:v00004444d00000016sv00001461sd0000C232*
+ ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Partsnic tuner)
+
+pci:v00004444d00000016sv00001461sd0000C233*
+ ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM+FM, Partsnic tuner)
+
+pci:v00004444d00000016sv00001461sd0000C234*
+ ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC, Partsnic tuner)
+
+pci:v00004444d00000016sv00001461sd0000C235*
+ ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC+FM, Partsnic tuner)
+
+pci:v00004444d00000016sv00001461sd0000C337*
+ ID_MODEL_FROM_DATABASE=E106 AVerMedia AVerTV Video Capture
+
+pci:v00004444d00000016sv00001461sd0000C439*
+ ID_MODEL_FROM_DATABASE=M116 AVerMedia AVerTV MCE 116 Plus (NTSC/PAL/SECAM+FM+REMOTE, Xceive 2028 tuner)
+
+pci:v00004444d00000016sv00001461sd0000C5FF*
+ ID_MODEL_FROM_DATABASE=C755 AVerTV Video Capture card (no tuner)
+
+pci:v00004444d00000016sv00001461sd0000C6FF*
+ ID_MODEL_FROM_DATABASE=C115 PCI video capture card (no tuner)
+
+pci:v00004444d00000016sv00001461sd0000C739*
+ ID_MODEL_FROM_DATABASE=M785 AVerMedia PCI Analog TV (NTSC/PAL/SECAM+FM, Xceive 2028 tuner)
+
+pci:v00004444d00000016sv00009005sd00000092*
+ ID_MODEL_FROM_DATABASE=VideOh! AVC-2010
+
+pci:v00004444d00000016sv00009005sd00000093*
+ ID_MODEL_FROM_DATABASE=VideOh! AVC-2410
+
+pci:v00004444d00000803*
+ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder
+
+pci:v00004444d00000803sv00000070sd00004000*
+ ID_MODEL_FROM_DATABASE=WinTV PVR-350
+
+pci:v00004444d00000803sv00000070sd00004001*
+ ID_MODEL_FROM_DATABASE=WinTV PVR-250
+
+pci:v00004444d00000803sv00000070sd00004800*
+ ID_MODEL_FROM_DATABASE=WinTV PVR-350 (V1)
+
+pci:v00004444d00000803sv000012ABsd00000000*
+ ID_MODEL_FROM_DATABASE=MPG160
+
+pci:v00004444d00000803sv00001461sd0000A3CE*
+ ID_MODEL_FROM_DATABASE=M179
+
+pci:v00004444d00000803sv00001461sd0000A3CF*
+ ID_MODEL_FROM_DATABASE=M179
+
+pci:v00004468*
+ ID_VENDOR_FROM_DATABASE=Bridgeport machines
+
+pci:v00004594*
+ ID_VENDOR_FROM_DATABASE=Cogetec Informatique Inc
+
+pci:v000045FB*
+ ID_VENDOR_FROM_DATABASE=Baldor Electric Company
+
+pci:v00004624*
+ ID_VENDOR_FROM_DATABASE=Budker Institute of Nuclear Physics
+
+pci:v00004624d0000ADC1*
+ ID_MODEL_FROM_DATABASE=ADC200ME High speed ADC
+
+pci:v00004624d0000DE01*
+ ID_MODEL_FROM_DATABASE=DL200ME High resolution delay line PCI based card
+
+pci:v00004624d0000DE02*
+ ID_MODEL_FROM_DATABASE=DL200ME Middle resolution delay line PCI based card
+
+pci:v00004680*
+ ID_VENDOR_FROM_DATABASE=Umax Computer Corp
+
+pci:v00004843*
+ ID_VENDOR_FROM_DATABASE=Hercules Computer Technology Inc
+
+pci:v00004916*
+ ID_VENDOR_FROM_DATABASE=RedCreek Communications Inc
+
+pci:v00004916d00001960*
+ ID_MODEL_FROM_DATABASE=RedCreek PCI adapter
+
+pci:v00004943*
+ ID_VENDOR_FROM_DATABASE=Growth Networks
+
+pci:v0000494F*
+ ID_VENDOR_FROM_DATABASE=ACCES I/O Products, Inc.
+
+pci:v0000494Fd00000520*
+ ID_MODEL_FROM_DATABASE=PCI-IDO-48
+
+pci:v0000494Fd00000920*
+ ID_MODEL_FROM_DATABASE=PCI-IDI-48
+
+pci:v0000494Fd00000C50*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-24H
+
+pci:v0000494Fd00000C51*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-24D
+
+pci:v0000494Fd00000C60*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-48(H)
+
+pci:v0000494Fd00000C68*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-72
+
+pci:v0000494Fd00000C70*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-96
+
+pci:v0000494Fd00000C78*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-120
+
+pci:v0000494Fd00000DC8*
+ ID_MODEL_FROM_DATABASE=PCI-IDIO-16
+
+pci:v0000494Fd00000E50*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-24S
+
+pci:v0000494Fd00000E51*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-24H(C)
+
+pci:v0000494Fd00000E52*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-24D(C)
+
+pci:v0000494Fd00000E60*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-48S(H)
+
+pci:v0000494Fd00000E61*
+ ID_MODEL_FROM_DATABASE=P104-DIO-24S
+
+pci:v0000494Fd00000F00*
+ ID_MODEL_FROM_DATABASE=PCI-IIRO-8
+
+pci:v0000494Fd00000F01*
+ ID_MODEL_FROM_DATABASE=LPCI-IIRO-8
+
+pci:v0000494Fd00000F08*
+ ID_MODEL_FROM_DATABASE=PCI-IIRO-16
+
+pci:v0000494Fd00001050*
+ ID_MODEL_FROM_DATABASE=PCI-422/485-2
+
+pci:v0000494Fd00001058*
+ ID_MODEL_FROM_DATABASE=PCI-COM422/4
+
+pci:v0000494Fd00001059*
+ ID_MODEL_FROM_DATABASE=PCI-COM485/4
+
+pci:v0000494Fd00001068*
+ ID_MODEL_FROM_DATABASE=PCI-COM422/8
+
+pci:v0000494Fd00001069*
+ ID_MODEL_FROM_DATABASE=PCI-COM485/8
+
+pci:v0000494Fd00001088*
+ ID_MODEL_FROM_DATABASE=PCI-COM232/1
+
+pci:v0000494Fd00001090*
+ ID_MODEL_FROM_DATABASE=PCI-COM232/2
+
+pci:v0000494Fd000010A8*
+ ID_MODEL_FROM_DATABASE=P104-COM232-8
+
+pci:v0000494Fd000010C9*
+ ID_MODEL_FROM_DATABASE=PCI-COM-1S
+
+pci:v0000494Fd000010D0*
+ ID_MODEL_FROM_DATABASE=PCI-COM2S
+
+pci:v0000494Fd000010E8*
+ ID_MODEL_FROM_DATABASE=PCI-COM-8SM
+
+pci:v0000494Fd00001148*
+ ID_MODEL_FROM_DATABASE=PCI-ICM-1S
+
+pci:v0000494Fd00001150*
+ ID_MODEL_FROM_DATABASE=PCI-ICM-2S
+
+pci:v0000494Fd00001158*
+ ID_MODEL_FROM_DATABASE=PCI-ICM422/4
+
+pci:v0000494Fd00001159*
+ ID_MODEL_FROM_DATABASE=PCI-ICM485/4
+
+pci:v0000494Fd00001250*
+ ID_MODEL_FROM_DATABASE=PCI-WDG-2S
+
+pci:v0000494Fd000012D0*
+ ID_MODEL_FROM_DATABASE=PCI-WDG-IMPAC
+
+pci:v0000494Fd000022C0*
+ ID_MODEL_FROM_DATABASE=PCI-WDG-CSM
+
+pci:v0000494Fd00002C50*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-96CT
+
+pci:v0000494Fd00002C58*
+ ID_MODEL_FROM_DATABASE=PCI-DIO-96C3
+
+pci:v0000494Fd00005ED0*
+ ID_MODEL_FROM_DATABASE=PCI-DAC
+
+pci:v0000494Fd00006C90*
+ ID_MODEL_FROM_DATABASE=PCI-DA12-2
+
+pci:v0000494Fd00006C98*
+ ID_MODEL_FROM_DATABASE=PCI-DA12-4
+
+pci:v0000494Fd00006CA0*
+ ID_MODEL_FROM_DATABASE=PCI-DA12-6
+
+pci:v0000494Fd00006CA8*
+ ID_MODEL_FROM_DATABASE=PCI-DA12-8
+
+pci:v0000494Fd00006CA9*
+ ID_MODEL_FROM_DATABASE=PCI-DA12-8V
+
+pci:v0000494Fd00006CB0*
+ ID_MODEL_FROM_DATABASE=PCI-DA12-16
+
+pci:v0000494Fd00006CB1*
+ ID_MODEL_FROM_DATABASE=PCI-DA12-16V
+
+pci:v0000494Fd00008EF0*
+ ID_MODEL_FROM_DATABASE=P104-FAS16-16
+
+pci:v0000494Fd0000ACA8*
+ ID_MODEL_FROM_DATABASE=PCI-AI12-16
+
+pci:v0000494Fd0000ACA9*
+ ID_MODEL_FROM_DATABASE=PCI-AI12-16A
+
+pci:v0000494Fd0000ECA8*
+ ID_MODEL_FROM_DATABASE=PCI-AIO12-16
+
+pci:v0000494Fd0000ECA9*
+ ID_MODEL_FROM_DATABASE=PCI-A12-16
+
+pci:v0000494Fd0000ECAA*
+ ID_MODEL_FROM_DATABASE=PCI-A12-16A
+
+pci:v0000494Fd0000ECE8*
+ ID_MODEL_FROM_DATABASE=PCI-A16-16
+
+pci:v00004978*
+ ID_VENDOR_FROM_DATABASE=Axil Computer Inc
+
+pci:v00004A14*
+ ID_VENDOR_FROM_DATABASE=NetVin
+
+pci:v00004A14d00005000*
+ ID_MODEL_FROM_DATABASE=NV5000SC
+
+pci:v00004A14d00005000sv00004A14sd00005000*
+ ID_MODEL_FROM_DATABASE=RT8029-Based Ethernet Adapter
+
+pci:v00004B10*
+ ID_VENDOR_FROM_DATABASE=Buslogic Inc.
+
+pci:v00004C48*
+ ID_VENDOR_FROM_DATABASE=LUNG HWA Electronics
+
+pci:v00004C53*
+ ID_VENDOR_FROM_DATABASE=SBS Technologies
+
+pci:v00004C53d00000000*
+ ID_MODEL_FROM_DATABASE=PLUSTEST device
+
+pci:v00004C53d00000000sv00004C53sd00003000*
+ ID_MODEL_FROM_DATABASE=PLUSTEST card (PC104+)
+
+pci:v00004C53d00000000sv00004C53sd00003001*
+ ID_MODEL_FROM_DATABASE=PLUSTEST card (PMC)
+
+pci:v00004C53d00000001*
+ ID_MODEL_FROM_DATABASE=PLUSTEST-MM device
+
+pci:v00004C53d00000001sv00004C53sd00003002*
+ ID_MODEL_FROM_DATABASE=PLUSTEST-MM card (PMC)
+
+pci:v00004CA1*
+ ID_VENDOR_FROM_DATABASE=Seanix Technology Inc
+
+pci:v00004D51*
+ ID_VENDOR_FROM_DATABASE=MediaQ Inc.
+
+pci:v00004D51d00000200*
+ ID_MODEL_FROM_DATABASE=MQ-200
+
+pci:v00004D54*
+ ID_VENDOR_FROM_DATABASE=Microtechnica Co Ltd
+
+pci:v00004D56*
+ ID_VENDOR_FROM_DATABASE=MATRIX VISION GmbH
+
+pci:v00004D56d00000000*
+ ID_MODEL_FROM_DATABASE=[mvHYPERION-CLe/CLb] CameraLink PCI Express x1 Frame Grabber
+
+pci:v00004D56d00000001*
+ ID_MODEL_FROM_DATABASE=[mvHYPERION-CLf/CLm] CameraLink PCI Express x4 Frame Grabber
+
+pci:v00004D56d00000010*
+ ID_MODEL_FROM_DATABASE=[mvHYPERION-16R16/-32R16] 16 Video Channel PCI Express x4 Frame Grabber
+
+pci:v00004D56d00000020*
+ ID_MODEL_FROM_DATABASE=[mvHYPERION-HD-SDI] HD-SDI PCI Express x4 Frame Grabber
+
+pci:v00004D56d00000030*
+ ID_MODEL_FROM_DATABASE=[mvHYPERION-HD-SDI-Merger] HD-SDI PCI Express x4 Frame Grabber
+
+pci:v00004DDC*
+ ID_VENDOR_FROM_DATABASE=ILC Data Device Corp
+
+pci:v00004DDCd00000100*
+ ID_MODEL_FROM_DATABASE=DD-42924I5-300 (ARINC 429 Data Bus)
+
+pci:v00004DDCd00000801*
+ ID_MODEL_FROM_DATABASE=BU-65570I1 MIL-STD-1553 Test and Simulation
+
+pci:v00004DDCd00000802*
+ ID_MODEL_FROM_DATABASE=BU-65570I2 MIL-STD-1553 Test and Simulation
+
+pci:v00004DDCd00000811*
+ ID_MODEL_FROM_DATABASE=BU-65572I1 MIL-STD-1553 Test and Simulation
+
+pci:v00004DDCd00000812*
+ ID_MODEL_FROM_DATABASE=BU-65572I2 MIL-STD-1553 Test and Simulation
+
+pci:v00004DDCd00000881*
+ ID_MODEL_FROM_DATABASE=BU-65570T1 MIL-STD-1553 Test and Simulation
+
+pci:v00004DDCd00000882*
+ ID_MODEL_FROM_DATABASE=BU-65570T2 MIL-STD-1553 Test and Simulation
+
+pci:v00004DDCd00000891*
+ ID_MODEL_FROM_DATABASE=BU-65572T1 MIL-STD-1553 Test and Simulation
+
+pci:v00004DDCd00000892*
+ ID_MODEL_FROM_DATABASE=BU-65572T2 MIL-STD-1553 Test and Simulation
+
+pci:v00004DDCd00000901*
+ ID_MODEL_FROM_DATABASE=BU-65565C1 MIL-STD-1553 Data Bus
+
+pci:v00004DDCd00000902*
+ ID_MODEL_FROM_DATABASE=BU-65565C2 MIL-STD-1553 Data Bus
+
+pci:v00004DDCd00000903*
+ ID_MODEL_FROM_DATABASE=BU-65565C3 MIL-STD-1553 Data Bus
+
+pci:v00004DDCd00000904*
+ ID_MODEL_FROM_DATABASE=BU-65565C4 MIL-STD-1553 Data Bus
+
+pci:v00004DDCd00000B01*
+ ID_MODEL_FROM_DATABASE=BU-65569I1 MIL-STD-1553 Data Bus
+
+pci:v00004DDCd00000B02*
+ ID_MODEL_FROM_DATABASE=BU-65569I2 MIL-STD-1553 Data Bus
+
+pci:v00004DDCd00000B03*
+ ID_MODEL_FROM_DATABASE=BU-65569I3 MIL-STD-1553 Data Bus
+
+pci:v00004DDCd00000B04*
+ ID_MODEL_FROM_DATABASE=BU-65569I4 MIL-STD-1553 Data Bus
+
+pci:v00005045*
+ ID_VENDOR_FROM_DATABASE=University of Toronto
+
+pci:v00005045d00004243*
+ ID_MODEL_FROM_DATABASE=BLASTbus PCI Interface Card v1
+
+pci:v00005046*
+ ID_VENDOR_FROM_DATABASE=GemTek Technology Corporation
+
+pci:v00005046d00001001*
+ ID_MODEL_FROM_DATABASE=PCI Radio
+
+pci:v00005053*
+ ID_VENDOR_FROM_DATABASE=Voyetra Technologies
+
+pci:v00005053d00002010*
+ ID_MODEL_FROM_DATABASE=Daytona Audio Adapter
+
+pci:v000050B2*
+ ID_VENDOR_FROM_DATABASE=TerraTec Electronic GmbH
+
+pci:v000050B2d00001111*
+ ID_MODEL_FROM_DATABASE=Terratec XLerate
+
+pci:v00005136*
+ ID_VENDOR_FROM_DATABASE=S S Technologies
+
+pci:v00005143*
+ ID_VENDOR_FROM_DATABASE=Qualcomm Inc
+
+pci:v00005145*
+ ID_VENDOR_FROM_DATABASE=Ensoniq (Old)
+
+pci:v00005145d00003031*
+ ID_MODEL_FROM_DATABASE=Concert AudioPCI
+
+pci:v00005168*
+ ID_VENDOR_FROM_DATABASE=Animation Technologies Inc.
+
+pci:v00005168d00000300*
+ ID_MODEL_FROM_DATABASE=FlyDVB-S
+
+pci:v00005168d00000301*
+ ID_MODEL_FROM_DATABASE=FlyDVB-T
+
+pci:v00005301*
+ ID_VENDOR_FROM_DATABASE=Alliance Semiconductor Corp.
+
+pci:v00005301d00000001*
+ ID_MODEL_FROM_DATABASE=ProMotion aT3D
+
+pci:v00005333*
+ ID_VENDOR_FROM_DATABASE=S3 Graphics Ltd.
+
+pci:v00005333d00000551*
+ ID_MODEL_FROM_DATABASE=Plato/PX (system)
+
+pci:v00005333d00005631*
+ ID_MODEL_FROM_DATABASE=86c325 [ViRGE]
+
+pci:v00005333d00008800*
+ ID_MODEL_FROM_DATABASE=86c866 [Vision 866]
+
+pci:v00005333d00008801*
+ ID_MODEL_FROM_DATABASE=86c964 [Vision 964]
+
+pci:v00005333d00008810*
+ ID_MODEL_FROM_DATABASE=86c764_0 [Trio 32 vers 0]
+
+pci:v00005333d00008811*
+ ID_MODEL_FROM_DATABASE=86c764/765 [Trio32/64/64V+]
+
+pci:v00005333d00008812*
+ ID_MODEL_FROM_DATABASE=86cM65 [Aurora64V+]
+
+pci:v00005333d00008813*
+ ID_MODEL_FROM_DATABASE=86c764_3 [Trio 32/64 vers 3]
+
+pci:v00005333d00008814*
+ ID_MODEL_FROM_DATABASE=86c767 [Trio 64UV+]
+
+pci:v00005333d00008815*
+ ID_MODEL_FROM_DATABASE=86cM65 [Aurora 128]
+
+pci:v00005333d0000883D*
+ ID_MODEL_FROM_DATABASE=86c988 [ViRGE/VX]
+
+pci:v00005333d00008870*
+ ID_MODEL_FROM_DATABASE=FireGL
+
+pci:v00005333d00008880*
+ ID_MODEL_FROM_DATABASE=86c868 [Vision 868 VRAM] vers 0
+
+pci:v00005333d00008881*
+ ID_MODEL_FROM_DATABASE=86c868 [Vision 868 VRAM] vers 1
+
+pci:v00005333d00008882*
+ ID_MODEL_FROM_DATABASE=86c868 [Vision 868 VRAM] vers 2
+
+pci:v00005333d00008883*
+ ID_MODEL_FROM_DATABASE=86c868 [Vision 868 VRAM] vers 3
+
+pci:v00005333d000088B0*
+ ID_MODEL_FROM_DATABASE=86c928 [Vision 928 VRAM] vers 0
+
+pci:v00005333d000088B1*
+ ID_MODEL_FROM_DATABASE=86c928 [Vision 928 VRAM] vers 1
+
+pci:v00005333d000088B2*
+ ID_MODEL_FROM_DATABASE=86c928 [Vision 928 VRAM] vers 2
+
+pci:v00005333d000088B3*
+ ID_MODEL_FROM_DATABASE=86c928 [Vision 928 VRAM] vers 3
+
+pci:v00005333d000088C0*
+ ID_MODEL_FROM_DATABASE=86c864 [Vision 864 DRAM] vers 0
+
+pci:v00005333d000088C1*
+ ID_MODEL_FROM_DATABASE=86c864 [Vision 864 DRAM] vers 1
+
+pci:v00005333d000088C2*
+ ID_MODEL_FROM_DATABASE=86c864 [Vision 864-P DRAM] vers 2
+
+pci:v00005333d000088C3*
+ ID_MODEL_FROM_DATABASE=86c864 [Vision 864-P DRAM] vers 3
+
+pci:v00005333d000088D0*
+ ID_MODEL_FROM_DATABASE=86c964 [Vision 964 VRAM] vers 0
+
+pci:v00005333d000088D1*
+ ID_MODEL_FROM_DATABASE=86c964 [Vision 964 VRAM] vers 1
+
+pci:v00005333d000088D2*
+ ID_MODEL_FROM_DATABASE=86c964 [Vision 964-P VRAM] vers 2
+
+pci:v00005333d000088D3*
+ ID_MODEL_FROM_DATABASE=86c964 [Vision 964-P VRAM] vers 3
+
+pci:v00005333d000088F0*
+ ID_MODEL_FROM_DATABASE=86c968 [Vision 968 VRAM] rev 0
+
+pci:v00005333d000088F1*
+ ID_MODEL_FROM_DATABASE=86c968 [Vision 968 VRAM] rev 1
+
+pci:v00005333d000088F2*
+ ID_MODEL_FROM_DATABASE=86c968 [Vision 968 VRAM] rev 2
+
+pci:v00005333d000088F3*
+ ID_MODEL_FROM_DATABASE=86c968 [Vision 968 VRAM] rev 3
+
+pci:v00005333d00008900*
+ ID_MODEL_FROM_DATABASE=86c755 [Trio 64V2/DX]
+
+pci:v00005333d00008900sv00005333sd00008900*
+ ID_MODEL_FROM_DATABASE=86C775 Trio64V2/DX
+
+pci:v00005333d00008901*
+ ID_MODEL_FROM_DATABASE=86c775/86c785 [Trio 64V2/DX or /GX]
+
+pci:v00005333d00008901sv00005333sd00008901*
+ ID_MODEL_FROM_DATABASE=86C775 Trio64V2/DX, 86C785 Trio64V2/GX
+
+pci:v00005333d00008902*
+ ID_MODEL_FROM_DATABASE=Plato/PX
+
+pci:v00005333d00008903*
+ ID_MODEL_FROM_DATABASE=Trio 3D business multimedia
+
+pci:v00005333d00008904*
+ ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D]
+
+pci:v00005333d00008904sv00001014sd000000DB*
+ ID_MODEL_FROM_DATABASE=Integrated Trio3D
+
+pci:v00005333d00008904sv00004843sd0000314A*
+ ID_MODEL_FROM_DATABASE=Terminator 128/3D GLH
+
+pci:v00005333d00008904sv00005333sd00008904*
+ ID_MODEL_FROM_DATABASE=86C365 Trio3D AGP
+
+pci:v00005333d00008905*
+ ID_MODEL_FROM_DATABASE=Trio 64V+ family
+
+pci:v00005333d00008906*
+ ID_MODEL_FROM_DATABASE=Trio 64V+ family
+
+pci:v00005333d00008907*
+ ID_MODEL_FROM_DATABASE=Trio 64V+ family
+
+pci:v00005333d00008908*
+ ID_MODEL_FROM_DATABASE=Trio 64V+ family
+
+pci:v00005333d00008909*
+ ID_MODEL_FROM_DATABASE=Trio 64V+ family
+
+pci:v00005333d0000890A*
+ ID_MODEL_FROM_DATABASE=Trio 64V+ family
+
+pci:v00005333d0000890B*
+ ID_MODEL_FROM_DATABASE=Trio 64V+ family
+
+pci:v00005333d0000890C*
+ ID_MODEL_FROM_DATABASE=Trio 64V+ family
+
+pci:v00005333d0000890D*
+ ID_MODEL_FROM_DATABASE=Trio 64V+ family
+
+pci:v00005333d0000890E*
+ ID_MODEL_FROM_DATABASE=Trio 64V+ family
+
+pci:v00005333d0000890F*
+ ID_MODEL_FROM_DATABASE=Trio 64V+ family
+
+pci:v00005333d00008A01*
+ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX]
+
+pci:v00005333d00008A01sv00000E11sd0000B032*
+ ID_MODEL_FROM_DATABASE=ViRGE/GX
+
+pci:v00005333d00008A01sv000010B4sd00001617*
+ ID_MODEL_FROM_DATABASE=Nitro 3D
+
+pci:v00005333d00008A01sv000010B4sd00001717*
+ ID_MODEL_FROM_DATABASE=Nitro 3D
+
+pci:v00005333d00008A01sv00005333sd00008A01*
+ ID_MODEL_FROM_DATABASE=ViRGE/DX
+
+pci:v00005333d00008A10*
+ ID_MODEL_FROM_DATABASE=ViRGE/GX2
+
+pci:v00005333d00008A10sv00001092sd00008A10*
+ ID_MODEL_FROM_DATABASE=Stealth 3D 4000
+
+pci:v00005333d00008A13*
+ ID_MODEL_FROM_DATABASE=86c360 [Trio 3D/1X], 86c362, 86c368 [Trio 3D/2X]
+
+pci:v00005333d00008A13sv00005333sd00008A13*
+ ID_MODEL_FROM_DATABASE=Trio3D/2X
+
+pci:v00005333d00008A20*
+ ID_MODEL_FROM_DATABASE=86c794 [Savage 3D]
+
+pci:v00005333d00008A20sv00005333sd00008A20*
+ ID_MODEL_FROM_DATABASE=86C391 Savage3D
+
+pci:v00005333d00008A21*
+ ID_MODEL_FROM_DATABASE=86c390 [Savage 3D/MV]
+
+pci:v00005333d00008A21sv00005333sd00008A21*
+ ID_MODEL_FROM_DATABASE=86C390 Savage3D/MV
+
+pci:v00005333d00008A22*
+ ID_MODEL_FROM_DATABASE=Savage 4
+
+pci:v00005333d00008A22sv00001033sd00008068*
+ ID_MODEL_FROM_DATABASE=Savage 4
+
+pci:v00005333d00008A22sv00001033sd00008069*
+ ID_MODEL_FROM_DATABASE=Savage 4
+
+pci:v00005333d00008A22sv00001033sd00008110*
+ ID_MODEL_FROM_DATABASE=Savage 4 LT
+
+pci:v00005333d00008A22sv0000105Dsd00000018*
+ ID_MODEL_FROM_DATABASE=SR9 8Mb SDRAM
+
+pci:v00005333d00008A22sv0000105Dsd0000002A*
+ ID_MODEL_FROM_DATABASE=SR9 Pro 16Mb SDRAM
+
+pci:v00005333d00008A22sv0000105Dsd0000003A*
+ ID_MODEL_FROM_DATABASE=SR9 Pro 32Mb SDRAM
+
+pci:v00005333d00008A22sv0000105Dsd0000092F*
+ ID_MODEL_FROM_DATABASE=SR9 Pro+ 16Mb SGRAM
+
+pci:v00005333d00008A22sv00001092sd00004207*
+ ID_MODEL_FROM_DATABASE=Stealth III S540
+
+pci:v00005333d00008A22sv00001092sd00004800*
+ ID_MODEL_FROM_DATABASE=Stealth III S540
+
+pci:v00005333d00008A22sv00001092sd00004807*
+ ID_MODEL_FROM_DATABASE=SpeedStar A90
+
+pci:v00005333d00008A22sv00001092sd00004808*
+ ID_MODEL_FROM_DATABASE=Stealth III S540
+
+pci:v00005333d00008A22sv00001092sd00004809*
+ ID_MODEL_FROM_DATABASE=Stealth III S540
+
+pci:v00005333d00008A22sv00001092sd0000480E*
+ ID_MODEL_FROM_DATABASE=Stealth III S540
+
+pci:v00005333d00008A22sv00001092sd00004904*
+ ID_MODEL_FROM_DATABASE=Stealth III S520
+
+pci:v00005333d00008A22sv00001092sd00004905*
+ ID_MODEL_FROM_DATABASE=SpeedStar A200
+
+pci:v00005333d00008A22sv00001092sd00004A09*
+ ID_MODEL_FROM_DATABASE=Stealth III S540
+
+pci:v00005333d00008A22sv00001092sd00004A0B*
+ ID_MODEL_FROM_DATABASE=Stealth III S540 Xtreme
+
+pci:v00005333d00008A22sv00001092sd00004A0F*
+ ID_MODEL_FROM_DATABASE=Stealth III S540
+
+pci:v00005333d00008A22sv00001092sd00004E01*
+ ID_MODEL_FROM_DATABASE=Stealth III S540
+
+pci:v00005333d00008A22sv00001102sd0000101D*
+ ID_MODEL_FROM_DATABASE=3d Blaster Savage 4
+
+pci:v00005333d00008A22sv00001102sd0000101E*
+ ID_MODEL_FROM_DATABASE=3d Blaster Savage 4
+
+pci:v00005333d00008A22sv00005333sd00008100*
+ ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 100
+
+pci:v00005333d00008A22sv00005333sd00008110*
+ ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 110
+
+pci:v00005333d00008A22sv00005333sd00008125*
+ ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 125
+
+pci:v00005333d00008A22sv00005333sd00008143*
+ ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 143
+
+pci:v00005333d00008A22sv00005333sd00008A22*
+ ID_MODEL_FROM_DATABASE=86C394-397 Savage4
+
+pci:v00005333d00008A22sv00005333sd00008A2E*
+ ID_MODEL_FROM_DATABASE=86C394-397 Savage4 32bit
+
+pci:v00005333d00008A22sv00005333sd00009125*
+ ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SGRAM 125
+
+pci:v00005333d00008A22sv00005333sd00009143*
+ ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SGRAM 143
+
+pci:v00005333d00008A23*
+ ID_MODEL_FROM_DATABASE=Savage 4
+
+pci:v00005333d00008A25*
+ ID_MODEL_FROM_DATABASE=ProSavage PM133
+
+pci:v00005333d00008A25sv00000303sd00000303*
+ ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard]
+
+pci:v00005333d00008A26*
+ ID_MODEL_FROM_DATABASE=ProSavage KM133
+
+pci:v00005333d00008C00*
+ ID_MODEL_FROM_DATABASE=ViRGE/M3
+
+pci:v00005333d00008C01*
+ ID_MODEL_FROM_DATABASE=ViRGE/MX
+
+pci:v00005333d00008C01sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=ViRGE/MX
+
+pci:v00005333d00008C02*
+ ID_MODEL_FROM_DATABASE=ViRGE/MX+
+
+pci:v00005333d00008C03*
+ ID_MODEL_FROM_DATABASE=ViRGE/MX+MV
+
+pci:v00005333d00008C10*
+ ID_MODEL_FROM_DATABASE=86C270-294 [SavageMX-MV]
+
+pci:v00005333d00008C11*
+ ID_MODEL_FROM_DATABASE=82C270-294 [SavageMX]
+
+pci:v00005333d00008C12*
+ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX-MV]
+
+pci:v00005333d00008C12sv00001014sd0000017F*
+ ID_MODEL_FROM_DATABASE=ThinkPad T20/T22
+
+pci:v00005333d00008C12sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=86C584 SuperSavage/IXC Toshiba
+
+pci:v00005333d00008C13*
+ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX]
+
+pci:v00005333d00008C13sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Magnia Z310
+
+pci:v00005333d00008C22*
+ ID_MODEL_FROM_DATABASE=SuperSavage MX/128
+
+pci:v00005333d00008C24*
+ ID_MODEL_FROM_DATABASE=SuperSavage MX/64
+
+pci:v00005333d00008C26*
+ ID_MODEL_FROM_DATABASE=SuperSavage MX/64C
+
+pci:v00005333d00008C2A*
+ ID_MODEL_FROM_DATABASE=SuperSavage IX/128 SDR
+
+pci:v00005333d00008C2B*
+ ID_MODEL_FROM_DATABASE=SuperSavage IX/128 DDR
+
+pci:v00005333d00008C2C*
+ ID_MODEL_FROM_DATABASE=SuperSavage IX/64 SDR
+
+pci:v00005333d00008C2D*
+ ID_MODEL_FROM_DATABASE=SuperSavage IX/64 DDR
+
+pci:v00005333d00008C2E*
+ ID_MODEL_FROM_DATABASE=SuperSavage IX/C SDR
+
+pci:v00005333d00008C2Esv00001014sd000001FC*
+ ID_MODEL_FROM_DATABASE=ThinkPad T23
+
+pci:v00005333d00008C2F*
+ ID_MODEL_FROM_DATABASE=SuperSavage IX/C DDR
+
+pci:v00005333d00008D01*
+ ID_MODEL_FROM_DATABASE=86C380 [ProSavageDDR K4M266]
+
+pci:v00005333d00008D02*
+ ID_MODEL_FROM_DATABASE=VT8636A [ProSavage KN133] AGP4X VGA Controller (TwisterK)
+
+pci:v00005333d00008D03*
+ ID_MODEL_FROM_DATABASE=VT8751 [ProSavageDDR P4M266]
+
+pci:v00005333d00008D04*
+ ID_MODEL_FROM_DATABASE=VT8375 [ProSavage8 KM266/KL266]
+
+pci:v00005333d00008E00*
+ ID_MODEL_FROM_DATABASE=DeltaChrome
+
+pci:v00005333d00008E26*
+ ID_MODEL_FROM_DATABASE=ProSavage
+
+pci:v00005333d00008E40*
+ ID_MODEL_FROM_DATABASE=2300E Graphics Processor
+
+pci:v00005333d00008E48*
+ ID_MODEL_FROM_DATABASE=Matrix [Chrome S25 / S27]
+
+pci:v00005333d00008E48sv00005333sd00000130*
+ ID_MODEL_FROM_DATABASE=Chrome S27 256M DDR2
+
+pci:v00005333d00009043*
+ ID_MODEL_FROM_DATABASE=Chrome 430 GT
+
+pci:v00005333d00009045*
+ ID_MODEL_FROM_DATABASE=Chrome 430 ULP / 435 ULP / 440 GTX
+
+pci:v00005333d00009060*
+ ID_MODEL_FROM_DATABASE=Chrome 530 GT
+
+pci:v00005333d00009102*
+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000]
+
+pci:v00005333d00009102sv00001092sd00005932*
+ ID_MODEL_FROM_DATABASE=Viper II Z200
+
+pci:v00005333d00009102sv00001092sd00005934*
+ ID_MODEL_FROM_DATABASE=Viper II Z200
+
+pci:v00005333d00009102sv00001092sd00005952*
+ ID_MODEL_FROM_DATABASE=Viper II Z200
+
+pci:v00005333d00009102sv00001092sd00005954*
+ ID_MODEL_FROM_DATABASE=Viper II Z200
+
+pci:v00005333d00009102sv00001092sd00005A35*
+ ID_MODEL_FROM_DATABASE=Viper II Z200
+
+pci:v00005333d00009102sv00001092sd00005A37*
+ ID_MODEL_FROM_DATABASE=Viper II Z200
+
+pci:v00005333d00009102sv00001092sd00005A55*
+ ID_MODEL_FROM_DATABASE=Viper II Z200
+
+pci:v00005333d00009102sv00001092sd00005A57*
+ ID_MODEL_FROM_DATABASE=Viper II Z200
+
+pci:v00005333d0000CA00*
+ ID_MODEL_FROM_DATABASE=SonicVibes
+
+pci:v00005431*
+ ID_VENDOR_FROM_DATABASE=AuzenTech, Inc.
+
+pci:v0000544C*
+ ID_VENDOR_FROM_DATABASE=Teralogic Inc
+
+pci:v0000544Cd00000350*
+ ID_MODEL_FROM_DATABASE=TL880-based HDTV/ATSC tuner
+
+pci:v00005452*
+ ID_VENDOR_FROM_DATABASE=SCANLAB AG
+
+pci:v00005452d00003443*
+ ID_MODEL_FROM_DATABASE=RTC4
+
+pci:v00005455*
+ ID_VENDOR_FROM_DATABASE=Technische University Berlin
+
+pci:v00005455d00004458*
+ ID_MODEL_FROM_DATABASE=S5933
+
+pci:v00005456*
+ ID_VENDOR_FROM_DATABASE=GoTView
+
+pci:v00005519*
+ ID_VENDOR_FROM_DATABASE=Cnet Technologies, Inc.
+
+pci:v00005544*
+ ID_VENDOR_FROM_DATABASE=Dunord Technologies
+
+pci:v00005544d00000001*
+ ID_MODEL_FROM_DATABASE=I-30xx Scanner Interface
+
+pci:v00005555*
+ ID_VENDOR_FROM_DATABASE=Genroco, Inc
+
+pci:v00005555d00000003*
+ ID_MODEL_FROM_DATABASE=TURBOstor HFP-832 [HiPPI NIC]
+
+pci:v00005646*
+ ID_VENDOR_FROM_DATABASE=Vector Fabrics BV
+
+pci:v00005654*
+ ID_VENDOR_FROM_DATABASE=VoiceTronix Pty Ltd
+
+pci:v00005700*
+ ID_VENDOR_FROM_DATABASE=Netpower
+
+pci:v0000584D*
+ ID_VENDOR_FROM_DATABASE=AuzenTech Co., Ltd.
+
+pci:v00005851*
+ ID_VENDOR_FROM_DATABASE=Exacq Technologies
+
+pci:v00005853*
+ ID_VENDOR_FROM_DATABASE=XenSource, Inc.
+
+pci:v00005853d00000001*
+ ID_MODEL_FROM_DATABASE=Xen Platform Device
+
+pci:v00005853d0000C110*
+ ID_MODEL_FROM_DATABASE=Virtualized HID
+
+pci:v00005853d0000C147*
+ ID_MODEL_FROM_DATABASE=Virtualized Graphics Device
+
+pci:v00005854*
+ ID_VENDOR_FROM_DATABASE=GoTView
+
+pci:v00005ACE*
+ ID_VENDOR_FROM_DATABASE=Beholder International Ltd.
+
+pci:v0000631C*
+ ID_VENDOR_FROM_DATABASE=SmartInfra Ltd
+
+pci:v0000631Cd00001652*
+ ID_MODEL_FROM_DATABASE=PXI-1652 Signal Generator
+
+pci:v0000631Cd00002504*
+ ID_MODEL_FROM_DATABASE=PXI-2504 Signal Interrogator
+
+pci:v00006356*
+ ID_VENDOR_FROM_DATABASE=UltraStor
+
+pci:v00006374*
+ ID_VENDOR_FROM_DATABASE=c't Magazin fuer Computertechnik
+
+pci:v00006374d00006773*
+ ID_MODEL_FROM_DATABASE=GPPCI
+
+pci:v00006409*
+ ID_VENDOR_FROM_DATABASE=Logitec Corp.
+
+pci:v00006549*
+ ID_VENDOR_FROM_DATABASE=Teradici Corp.
+
+pci:v00006549d00001200*
+ ID_MODEL_FROM_DATABASE=TERA1200 PC-over-IP Host
+
+pci:v00006666*
+ ID_VENDOR_FROM_DATABASE=Decision Computer International Co.
+
+pci:v00006666d00000001*
+ ID_MODEL_FROM_DATABASE=PCCOM4
+
+pci:v00006666d00000002*
+ ID_MODEL_FROM_DATABASE=PCCOM8
+
+pci:v00006666d00000004*
+ ID_MODEL_FROM_DATABASE=PCCOM2
+
+pci:v00006666d00000101*
+ ID_MODEL_FROM_DATABASE=PCI 8255/8254 I/O Card
+
+pci:v00006666d00000200*
+ ID_MODEL_FROM_DATABASE=12-bit AD/DA Card
+
+pci:v00006666d00000201*
+ ID_MODEL_FROM_DATABASE=14-bit AD/DA Card
+
+pci:v00006666d00001011*
+ ID_MODEL_FROM_DATABASE=Industrial Card
+
+pci:v00006666d00001021*
+ ID_MODEL_FROM_DATABASE=8 photo couple 8 relay Card
+
+pci:v00006666d00001022*
+ ID_MODEL_FROM_DATABASE=4 photo couple 4 relay Card
+
+pci:v00006666d00001025*
+ ID_MODEL_FROM_DATABASE=16 photo couple 16 relay Card
+
+pci:v00006666d00004000*
+ ID_MODEL_FROM_DATABASE=WatchDog Card
+
+pci:v00006688*
+ ID_VENDOR_FROM_DATABASE=Zycoo Co., Ltd
+
+pci:v00006900*
+ ID_VENDOR_FROM_DATABASE=Red Hat, Inc.
+
+pci:v00007063*
+ ID_VENDOR_FROM_DATABASE=pcHDTV
+
+pci:v00007063d00002000*
+ ID_MODEL_FROM_DATABASE=HD-2000
+
+pci:v00007063d00003000*
+ ID_MODEL_FROM_DATABASE=HD-3000
+
+pci:v00007063d00005500*
+ ID_MODEL_FROM_DATABASE=HD5500 HDTV
+
+pci:v00007284*
+ ID_VENDOR_FROM_DATABASE=HT OMEGA Inc.
+
+pci:v00007604*
+ ID_VENDOR_FROM_DATABASE=O.N. Electronic Co Ltd.
+
+pci:v00007BDE*
+ ID_VENDOR_FROM_DATABASE=MIDAC Corporation
+
+pci:v00007FED*
+ ID_VENDOR_FROM_DATABASE=PowerTV
+
+pci:v00008008*
+ ID_VENDOR_FROM_DATABASE=Quancom Electronic GmbH
+
+pci:v00008008d00000010*
+ ID_MODEL_FROM_DATABASE=WDOG1 [PCI-Watchdog 1]
+
+pci:v00008008d00000011*
+ ID_MODEL_FROM_DATABASE=PWDOG2 [PCI-Watchdog 2]
+
+pci:v00008008d00000015*
+ ID_MODEL_FROM_DATABASE=Clock77/PCI & Clock77/PCIe (DCF-77 receiver)
+
+pci:v0000807D*
+ ID_VENDOR_FROM_DATABASE=Asustek Computer, Inc.
+
+pci:v00008086*
+ ID_VENDOR_FROM_DATABASE=Intel Corporation
+
+pci:v00008086d00000007*
+ ID_MODEL_FROM_DATABASE=82379AB
+
+pci:v00008086d00000008*
+ ID_MODEL_FROM_DATABASE=Extended Express System Support Controller
+
+pci:v00008086d00000039*
+ ID_MODEL_FROM_DATABASE=21145 Fast Ethernet
+
+pci:v00008086d00000040*
+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller
+
+pci:v00008086d00000041*
+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port
+
+pci:v00008086d00000042*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller
+
+pci:v00008086d00000043*
+ ID_MODEL_FROM_DATABASE=Core Processor Secondary PCI Express Root Port
+
+pci:v00008086d00000044*
+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller
+
+pci:v00008086d00000044sv00001025sd00000347*
+ ID_MODEL_FROM_DATABASE=Aspire 7740G
+
+pci:v00008086d00000044sv00001025sd00000487*
+ ID_MODEL_FROM_DATABASE=TravelMate 5742
+
+pci:v00008086d00000044sv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d00000045*
+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port
+
+pci:v00008086d00000046*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller
+
+pci:v00008086d00000046sv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d00000047*
+ ID_MODEL_FROM_DATABASE=Core Processor Secondary PCI Express Root Port
+
+pci:v00008086d00000048*
+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller
+
+pci:v00008086d00000049*
+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port
+
+pci:v00008086d0000004A*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller
+
+pci:v00008086d0000004B*
+ ID_MODEL_FROM_DATABASE=Core Processor Secondary PCI Express Root Port
+
+pci:v00008086d00000050*
+ ID_MODEL_FROM_DATABASE=Core Processor Thermal Management Controller
+
+pci:v00008086d00000069*
+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller
+
+pci:v00008086d00000082*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak]
+
+pci:v00008086d00000082sv00008086sd00001301*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN
+
+pci:v00008086d00000082sv00008086sd00001306*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG
+
+pci:v00008086d00000082sv00008086sd00001307*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 BG
+
+pci:v00008086d00000082sv00008086sd00001321*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN
+
+pci:v00008086d00000082sv00008086sd00001326*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG
+
+pci:v00008086d00000083*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak]
+
+pci:v00008086d00000083sv00008086sd00001205*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN
+
+pci:v00008086d00000083sv00008086sd00001206*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG
+
+pci:v00008086d00000083sv00008086sd00001225*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN
+
+pci:v00008086d00000083sv00008086sd00001226*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG
+
+pci:v00008086d00000083sv00008086sd00001305*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN
+
+pci:v00008086d00000083sv00008086sd00001306*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG
+
+pci:v00008086d00000083sv00008086sd00001325*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN
+
+pci:v00008086d00000083sv00008086sd00001326*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG
+
+pci:v00008086d00000084*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak]
+
+pci:v00008086d00000084sv00008086sd00001215*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN
+
+pci:v00008086d00000084sv00008086sd00001216*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG
+
+pci:v00008086d00000084sv00008086sd00001315*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN
+
+pci:v00008086d00000084sv00008086sd00001316*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG
+
+pci:v00008086d00000085*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak]
+
+pci:v00008086d00000085sv00008086sd00001311*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN
+
+pci:v00008086d00000085sv00008086sd00001316*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG
+
+pci:v00008086d00000087*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak]
+
+pci:v00008086d00000087sv00008086sd00001301*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN
+
+pci:v00008086d00000087sv00008086sd00001306*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG
+
+pci:v00008086d00000087sv00008086sd00001321*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN
+
+pci:v00008086d00000087sv00008086sd00001326*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG
+
+pci:v00008086d00000089*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak]
+
+pci:v00008086d00000089sv00008086sd00001311*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN
+
+pci:v00008086d00000089sv00008086sd00001316*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG
+
+pci:v00008086d0000008A*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak]
+
+pci:v00008086d0000008Asv00008086sd00005305*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN
+
+pci:v00008086d0000008Asv00008086sd00005307*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG
+
+pci:v00008086d0000008Asv00008086sd00005325*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN
+
+pci:v00008086d0000008Asv00008086sd00005327*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG
+
+pci:v00008086d0000008B*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak]
+
+pci:v00008086d0000008Bsv00008086sd00005315*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN
+
+pci:v00008086d0000008Bsv00008086sd00005317*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG
+
+pci:v00008086d00000090*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak]
+
+pci:v00008086d00000090sv00008086sd00005211*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN
+
+pci:v00008086d00000090sv00008086sd00005215*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN
+
+pci:v00008086d00000090sv00008086sd00005216*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG
+
+pci:v00008086d00000091*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak]
+
+pci:v00008086d00000091sv00008086sd00005201*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN
+
+pci:v00008086d00000091sv00008086sd00005205*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN
+
+pci:v00008086d00000091sv00008086sd00005206*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG
+
+pci:v00008086d00000091sv00008086sd00005207*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BG
+
+pci:v00008086d00000091sv00008086sd00005221*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN
+
+pci:v00008086d00000091sv00008086sd00005225*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN
+
+pci:v00008086d00000091sv00008086sd00005226*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG
+
+pci:v00008086d00000100*
+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller
+
+pci:v00008086d00000100sv00001028sd000004AA*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00008086d00000100sv00001043sd0000844D*
+ ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard
+
+pci:v00008086d00000101*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port
+
+pci:v00008086d00000101sv00001028sd000004B2*
+ ID_MODEL_FROM_DATABASE=Vostro 3350
+
+pci:v00008086d00000101sv0000106Bsd000000DC*
+ ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00000102*
+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller
+
+pci:v00008086d00000102sv00001028sd000004AA*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00008086d00000104*
+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller
+
+pci:v00008086d00000104sv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00008086d00000104sv00001028sd000004B2*
+ ID_MODEL_FROM_DATABASE=Vostro 3350
+
+pci:v00008086d00000104sv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00008086d00000104sv0000106Bsd000000DC*
+ ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00000105*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port
+
+pci:v00008086d00000105sv0000106Bsd000000DC*
+ ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00000106*
+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller
+
+pci:v00008086d00000108*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 Processor Family DRAM Controller
+
+pci:v00008086d00000109*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port
+
+pci:v00008086d0000010A*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 Processor Family Integrated Graphics Controller
+
+pci:v00008086d0000010B*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family Integrated Graphics Controller
+
+pci:v00008086d0000010C*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family DRAM Controller
+
+pci:v00008086d0000010D*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port
+
+pci:v00008086d0000010E*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family Integrated Graphics Controller
+
+pci:v00008086d00000112*
+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller
+
+pci:v00008086d00000116*
+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller
+
+pci:v00008086d00000116sv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00008086d00000122*
+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller
+
+pci:v00008086d00000126*
+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller
+
+pci:v00008086d00000126sv00001028sd000004CC*
+ ID_MODEL_FROM_DATABASE=Vostro 3350
+
+pci:v00008086d00000150*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller
+
+pci:v00008086d00000150sv00001043sd000084CA*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v00008086d00000151*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port
+
+pci:v00008086d00000151sv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d00000151sv00001043sd000084CA*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v00008086d00000152*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
+
+pci:v00008086d00000152sv00001043sd000084CA*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v00008086d00000153*
+ ID_MODEL_FROM_DATABASE=3rd Gen Core Processor Thermal Subsystem
+
+pci:v00008086d00000153sv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00000154*
+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller
+
+pci:v00008086d00000154sv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d00000154sv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00000155*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port
+
+pci:v00008086d00000156*
+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller
+
+pci:v00008086d00000158*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller
+
+pci:v00008086d00000159*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port
+
+pci:v00008086d0000015A*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge Graphics Controller
+
+pci:v00008086d0000015C*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller
+
+pci:v00008086d0000015D*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port
+
+pci:v00008086d0000015E*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
+
+pci:v00008086d00000162*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
+
+pci:v00008086d00000166*
+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller
+
+pci:v00008086d00000166sv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00000166sv00001043sd00002103*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d0000016A*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
+
+pci:v00008086d00000172*
+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
+
+pci:v00008086d00000176*
+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller
+
+pci:v00008086d00000309*
+ ID_MODEL_FROM_DATABASE=80303 I/O Processor PCI-to-PCI Bridge
+
+pci:v00008086d0000030D*
+ ID_MODEL_FROM_DATABASE=80312 I/O Companion Chip PCI-to-PCI Bridge
+
+pci:v00008086d00000326*
+ ID_MODEL_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A
+
+pci:v00008086d00000326sv0000103Csd00003208*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G2
+
+pci:v00008086d00000326sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d00000327*
+ ID_MODEL_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B
+
+pci:v00008086d00000327sv0000103Csd00003208*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G2
+
+pci:v00008086d00000327sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d00000329*
+ ID_MODEL_FROM_DATABASE=6700PXH PCI Express-to-PCI Bridge A
+
+pci:v00008086d0000032A*
+ ID_MODEL_FROM_DATABASE=6700PXH PCI Express-to-PCI Bridge B
+
+pci:v00008086d0000032C*
+ ID_MODEL_FROM_DATABASE=6702PXH PCI Express-to-PCI Bridge A
+
+pci:v00008086d00000330*
+ ID_MODEL_FROM_DATABASE=80332 [Dobson] I/O processor (A-Segment Bridge)
+
+pci:v00008086d00000331*
+ ID_MODEL_FROM_DATABASE=80332 [Dobson] I/O processor (A-Segment IOAPIC)
+
+pci:v00008086d00000332*
+ ID_MODEL_FROM_DATABASE=80332 [Dobson] I/O processor (B-Segment Bridge)
+
+pci:v00008086d00000333*
+ ID_MODEL_FROM_DATABASE=80332 [Dobson] I/O processor (B-Segment IOAPIC)
+
+pci:v00008086d00000334*
+ ID_MODEL_FROM_DATABASE=80332 [Dobson] I/O processor (ATU)
+
+pci:v00008086d00000335*
+ ID_MODEL_FROM_DATABASE=80331 [Lindsay] I/O processor (PCI-X Bridge)
+
+pci:v00008086d00000336*
+ ID_MODEL_FROM_DATABASE=80331 [Lindsay] I/O processor (ATU)
+
+pci:v00008086d00000340*
+ ID_MODEL_FROM_DATABASE=41210 [Lanai] Serial to Parallel PCI Bridge (A-Segment Bridge)
+
+pci:v00008086d00000341*
+ ID_MODEL_FROM_DATABASE=41210 [Lanai] Serial to Parallel PCI Bridge (B-Segment Bridge)
+
+pci:v00008086d00000370*
+ ID_MODEL_FROM_DATABASE=80333 Segment-A PCI Express-to-PCI Express Bridge
+
+pci:v00008086d00000371*
+ ID_MODEL_FROM_DATABASE=80333 A-Bus IOAPIC
+
+pci:v00008086d00000372*
+ ID_MODEL_FROM_DATABASE=80333 Segment-B PCI Express-to-PCI Express Bridge
+
+pci:v00008086d00000373*
+ ID_MODEL_FROM_DATABASE=80333 B-Bus IOAPIC
+
+pci:v00008086d00000374*
+ ID_MODEL_FROM_DATABASE=80333 Address Translation Unit
+
+pci:v00008086d00000402*
+ ID_MODEL_FROM_DATABASE=Haswell Integrated Graphics Controller
+
+pci:v00008086d00000406*
+ ID_MODEL_FROM_DATABASE=Haswell Integrated Graphics Controller
+
+pci:v00008086d0000040A*
+ ID_MODEL_FROM_DATABASE=Haswell Integrated Graphics Controller
+
+pci:v00008086d00000412*
+ ID_MODEL_FROM_DATABASE=Haswell Integrated Graphics Controller
+
+pci:v00008086d00000416*
+ ID_MODEL_FROM_DATABASE=Haswell Integrated Graphics Controller
+
+pci:v00008086d0000041A*
+ ID_MODEL_FROM_DATABASE=Haswell Integrated Graphics Controller
+
+pci:v00008086d00000436*
+ ID_MODEL_FROM_DATABASE=DH8900CC Null Device
+
+pci:v00008086d00000438*
+ ID_MODEL_FROM_DATABASE=DH8900CC Series Gigabit Network Connection
+
+pci:v00008086d0000043A*
+ ID_MODEL_FROM_DATABASE=DH8900CC Series Gigabit Fiber Network Connection
+
+pci:v00008086d0000043C*
+ ID_MODEL_FROM_DATABASE=DH8900CC Series Gigabit Backplane Network Connection
+
+pci:v00008086d00000440*
+ ID_MODEL_FROM_DATABASE=DH8900CC Series Gigabit SFP Network Connection
+
+pci:v00008086d00000482*
+ ID_MODEL_FROM_DATABASE=82375EB/SB PCI to EISA Bridge
+
+pci:v00008086d00000483*
+ ID_MODEL_FROM_DATABASE=82424TX/ZX [Saturn] CPU to PCI bridge
+
+pci:v00008086d00000484*
+ ID_MODEL_FROM_DATABASE=82378ZB/IB, 82379AB (SIO, SIO.A) PCI to ISA Bridge
+
+pci:v00008086d00000486*
+ ID_MODEL_FROM_DATABASE=82425EX/ZX [Aries] PCIset with ISA bridge
+
+pci:v00008086d000004A3*
+ ID_MODEL_FROM_DATABASE=82434LX/NX [Mercury/Neptune] Processor to PCI bridge
+
+pci:v00008086d000004D0*
+ ID_MODEL_FROM_DATABASE=82437FX [Triton FX]
+
+pci:v00008086d00000500*
+ ID_MODEL_FROM_DATABASE=E8870 Processor bus control
+
+pci:v00008086d00000501*
+ ID_MODEL_FROM_DATABASE=E8870 Memory controller
+
+pci:v00008086d00000502*
+ ID_MODEL_FROM_DATABASE=E8870 Scalability Port 0
+
+pci:v00008086d00000503*
+ ID_MODEL_FROM_DATABASE=E8870 Scalability Port 1
+
+pci:v00008086d00000510*
+ ID_MODEL_FROM_DATABASE=E8870IO Hub Interface Port 0 registers (8-bit compatibility port)
+
+pci:v00008086d00000511*
+ ID_MODEL_FROM_DATABASE=E8870IO Hub Interface Port 1 registers
+
+pci:v00008086d00000512*
+ ID_MODEL_FROM_DATABASE=E8870IO Hub Interface Port 2 registers
+
+pci:v00008086d00000513*
+ ID_MODEL_FROM_DATABASE=E8870IO Hub Interface Port 3 registers
+
+pci:v00008086d00000514*
+ ID_MODEL_FROM_DATABASE=E8870IO Hub Interface Port 4 registers
+
+pci:v00008086d00000515*
+ ID_MODEL_FROM_DATABASE=E8870IO General SIOH registers
+
+pci:v00008086d00000516*
+ ID_MODEL_FROM_DATABASE=E8870IO RAS registers
+
+pci:v00008086d00000530*
+ ID_MODEL_FROM_DATABASE=E8870SP Scalability Port 0 registers
+
+pci:v00008086d00000531*
+ ID_MODEL_FROM_DATABASE=E8870SP Scalability Port 1 registers
+
+pci:v00008086d00000532*
+ ID_MODEL_FROM_DATABASE=E8870SP Scalability Port 2 registers
+
+pci:v00008086d00000533*
+ ID_MODEL_FROM_DATABASE=E8870SP Scalability Port 3 registers
+
+pci:v00008086d00000534*
+ ID_MODEL_FROM_DATABASE=E8870SP Scalability Port 4 registers
+
+pci:v00008086d00000535*
+ ID_MODEL_FROM_DATABASE=E8870SP Scalability Port 5 registers
+
+pci:v00008086d00000536*
+ ID_MODEL_FROM_DATABASE=E8870SP Interleave registers 0 and 1
+
+pci:v00008086d00000537*
+ ID_MODEL_FROM_DATABASE=E8870SP Interleave registers 2 and 3
+
+pci:v00008086d00000600*
+ ID_MODEL_FROM_DATABASE=RAID Controller
+
+pci:v00008086d00000600sv00008086sd00000136*
+ ID_MODEL_FROM_DATABASE=SRCU31L
+
+pci:v00008086d00000600sv00008086sd000001AF*
+ ID_MODEL_FROM_DATABASE=SRCZCR
+
+pci:v00008086d00000600sv00008086sd000001C1*
+ ID_MODEL_FROM_DATABASE=ICP Vortex GDT8546RZ
+
+pci:v00008086d00000600sv00008086sd000001F7*
+ ID_MODEL_FROM_DATABASE=SCRU32
+
+pci:v00008086d0000061F*
+ ID_MODEL_FROM_DATABASE=80303 I/O Processor
+
+pci:v00008086d00000700*
+ ID_MODEL_FROM_DATABASE=CE Media Processor A/V Bridge
+
+pci:v00008086d00000701*
+ ID_MODEL_FROM_DATABASE=CE Media Processor NAND Flash Controller
+
+pci:v00008086d00000703*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Media Control Unit 1
+
+pci:v00008086d00000704*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Video Capture Interface
+
+pci:v00008086d00000707*
+ ID_MODEL_FROM_DATABASE=CE Media Processor SPI Slave
+
+pci:v00008086d00000708*
+ ID_MODEL_FROM_DATABASE=CE Media Processor 4100
+
+pci:v00008086d00000800*
+ ID_MODEL_FROM_DATABASE=Moorestown SPI Ctrl 0
+
+pci:v00008086d00000801*
+ ID_MODEL_FROM_DATABASE=Moorestown SPI Ctrl 1
+
+pci:v00008086d00000802*
+ ID_MODEL_FROM_DATABASE=Moorestown I2C 0
+
+pci:v00008086d00000803*
+ ID_MODEL_FROM_DATABASE=Moorestown I2C 1
+
+pci:v00008086d00000804*
+ ID_MODEL_FROM_DATABASE=Moorestown I2C 2
+
+pci:v00008086d00000805*
+ ID_MODEL_FROM_DATABASE=Moorestown Keyboard Ctrl
+
+pci:v00008086d00000806*
+ ID_MODEL_FROM_DATABASE=Moorestown USB Ctrl
+
+pci:v00008086d00000807*
+ ID_MODEL_FROM_DATABASE=Moorestown SD Host Ctrl 0
+
+pci:v00008086d00000808*
+ ID_MODEL_FROM_DATABASE=Moorestown SD Host Ctrl 1
+
+pci:v00008086d00000809*
+ ID_MODEL_FROM_DATABASE=Moorestown NAND Ctrl
+
+pci:v00008086d0000080A*
+ ID_MODEL_FROM_DATABASE=Moorestown Audio Ctrl
+
+pci:v00008086d0000080B*
+ ID_MODEL_FROM_DATABASE=Moorestown ISP
+
+pci:v00008086d0000080C*
+ ID_MODEL_FROM_DATABASE=Moorestown Security Controller
+
+pci:v00008086d0000080D*
+ ID_MODEL_FROM_DATABASE=Moorestown External Displays
+
+pci:v00008086d0000080E*
+ ID_MODEL_FROM_DATABASE=Moorestown SCU IPC
+
+pci:v00008086d0000080F*
+ ID_MODEL_FROM_DATABASE=Moorestown GPIO Controller
+
+pci:v00008086d00000810*
+ ID_MODEL_FROM_DATABASE=Moorestown Power Management Unit
+
+pci:v00008086d00000811*
+ ID_MODEL_FROM_DATABASE=Moorestown OTG Ctrl
+
+pci:v00008086d00000812*
+ ID_MODEL_FROM_DATABASE=Moorestown SPI Ctrl 2
+
+pci:v00008086d00000813*
+ ID_MODEL_FROM_DATABASE=Moorestown SC DMA
+
+pci:v00008086d00000814*
+ ID_MODEL_FROM_DATABASE=Moorestown LPE DMA
+
+pci:v00008086d00000815*
+ ID_MODEL_FROM_DATABASE=Moorestown SSP0
+
+pci:v00008086d00000885*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150
+
+pci:v00008086d00000885sv00008086sd00001305*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN
+
+pci:v00008086d00000885sv00008086sd00001307*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG
+
+pci:v00008086d00000885sv00008086sd00001325*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN
+
+pci:v00008086d00000885sv00008086sd00001327*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG
+
+pci:v00008086d00000886*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150
+
+pci:v00008086d00000886sv00008086sd00001315*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN
+
+pci:v00008086d00000886sv00008086sd00001317*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG
+
+pci:v00008086d00000887*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230
+
+pci:v00008086d00000887sv00008086sd00004062*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN
+
+pci:v00008086d00000887sv00008086sd00004462*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN
+
+pci:v00008086d00000888*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230
+
+pci:v00008086d00000888sv00008086sd00004262*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN
+
+pci:v00008086d0000088E*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235
+
+pci:v00008086d0000088Esv00008086sd00004060*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN
+
+pci:v00008086d0000088Esv00008086sd00004460*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN
+
+pci:v00008086d0000088F*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235
+
+pci:v00008086d0000088Fsv00008086sd00004260*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN
+
+pci:v00008086d00000890*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200
+
+pci:v00008086d00000890sv00008086sd00004022*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN
+
+pci:v00008086d00000890sv00008086sd00004422*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN
+
+pci:v00008086d00000890sv00008086sd00004822*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN
+
+pci:v00008086d00000891*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200
+
+pci:v00008086d00000891sv00008086sd00004222*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN
+
+pci:v00008086d00000892*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135
+
+pci:v00008086d00000892sv00008086sd00000062*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN
+
+pci:v00008086d00000892sv00008086sd00000462*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN
+
+pci:v00008086d00000893*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135
+
+pci:v00008086d00000893sv00008086sd00000262*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN
+
+pci:v00008086d00000894*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105
+
+pci:v00008086d00000894sv00008086sd00000022*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN
+
+pci:v00008086d00000894sv00008086sd00000422*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN
+
+pci:v00008086d00000894sv00008086sd00000822*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN
+
+pci:v00008086d00000895*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105
+
+pci:v00008086d00000895sv00008086sd00000222*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN
+
+pci:v00008086d00000896*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130
+
+pci:v00008086d00000896sv00008086sd00005005*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN
+
+pci:v00008086d00000896sv00008086sd00005007*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG
+
+pci:v00008086d00000896sv00008086sd00005025*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN
+
+pci:v00008086d00000896sv00008086sd00005027*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG
+
+pci:v00008086d00000897*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130
+
+pci:v00008086d00000897sv00008086sd00005015*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN
+
+pci:v00008086d00000897sv00008086sd00005017*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG
+
+pci:v00008086d000008AE*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100
+
+pci:v00008086d000008AEsv00008086sd00001005*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN
+
+pci:v00008086d000008AEsv00008086sd00001007*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG
+
+pci:v00008086d000008AEsv00008086sd00001025*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN
+
+pci:v00008086d000008AEsv00008086sd00001027*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG
+
+pci:v00008086d000008AF*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100
+
+pci:v00008086d000008AFsv00008086sd00001015*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN
+
+pci:v00008086d000008AFsv00008086sd00001017*
+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG
+
+pci:v00008086d000008B1*
+ ID_MODEL_FROM_DATABASE=Wireless 7260
+
+pci:v00008086d000008B1sv00008086sd00004060*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd00004062*
+ ID_MODEL_FROM_DATABASE=Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd00004070*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260
+
+pci:v00008086d000008B1sv00008086sd00004160*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd00004162*
+ ID_MODEL_FROM_DATABASE=Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd00004170*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260
+
+pci:v00008086d000008B1sv00008086sd00004460*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd00004462*
+ ID_MODEL_FROM_DATABASE=Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd00004470*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260
+
+pci:v00008086d000008B1sv00008086sd0000486E*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260
+
+pci:v00008086d000008B1sv00008086sd00004870*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260
+
+pci:v00008086d000008B1sv00008086sd00004A6C*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260
+
+pci:v00008086d000008B1sv00008086sd00004A6E*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260
+
+pci:v00008086d000008B1sv00008086sd00004A70*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260
+
+pci:v00008086d000008B1sv00008086sd0000C020*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd0000C060*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd0000C062*
+ ID_MODEL_FROM_DATABASE=Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd0000C070*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260
+
+pci:v00008086d000008B1sv00008086sd0000C160*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd0000C162*
+ ID_MODEL_FROM_DATABASE=Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd0000C170*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260
+
+pci:v00008086d000008B1sv00008086sd0000C420*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd0000C460*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd0000C462*
+ ID_MODEL_FROM_DATABASE=Wireless-N 7260
+
+pci:v00008086d000008B1sv00008086sd0000C470*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260
+
+pci:v00008086d000008B2*
+ ID_MODEL_FROM_DATABASE=Wireless 7260
+
+pci:v00008086d000008B2sv00008086sd00004220*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260
+
+pci:v00008086d000008B2sv00008086sd00004260*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260
+
+pci:v00008086d000008B2sv00008086sd00004262*
+ ID_MODEL_FROM_DATABASE=Wireless-N 7260
+
+pci:v00008086d000008B2sv00008086sd00004270*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260
+
+pci:v00008086d000008B2sv00008086sd0000C220*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260
+
+pci:v00008086d000008B2sv00008086sd0000C260*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260
+
+pci:v00008086d000008B2sv00008086sd0000C262*
+ ID_MODEL_FROM_DATABASE=Wireless-N 7260
+
+pci:v00008086d000008B2sv00008086sd0000C270*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260
+
+pci:v00008086d000008B3*
+ ID_MODEL_FROM_DATABASE=Wireless 3160
+
+pci:v00008086d000008B3sv00008086sd00000060*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 3160
+
+pci:v00008086d000008B3sv00008086sd00000062*
+ ID_MODEL_FROM_DATABASE=Wireless-N 3160
+
+pci:v00008086d000008B3sv00008086sd00000070*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160
+
+pci:v00008086d000008B3sv00008086sd00000170*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160
+
+pci:v00008086d000008B3sv00008086sd00000470*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160
+
+pci:v00008086d000008B3sv00008086sd00008060*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless N-3160
+
+pci:v00008086d000008B3sv00008086sd00008062*
+ ID_MODEL_FROM_DATABASE=Wireless N-3160
+
+pci:v00008086d000008B3sv00008086sd00008070*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160
+
+pci:v00008086d000008B3sv00008086sd00008170*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160
+
+pci:v00008086d000008B3sv00008086sd00008470*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160
+
+pci:v00008086d000008B4*
+ ID_MODEL_FROM_DATABASE=Wireless 3160
+
+pci:v00008086d000008B4sv00008086sd00000270*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160
+
+pci:v00008086d000008B4sv00008086sd00008270*
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160
+
+pci:v00008086d00000960*
+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor/Bridge
+
+pci:v00008086d00000962*
+ ID_MODEL_FROM_DATABASE=80960RM (i960RM) Bridge
+
+pci:v00008086d00000964*
+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor/Bridge
+
+pci:v00008086d00000A04*
+ ID_MODEL_FROM_DATABASE=Haswell-ULT DRAM Controller
+
+pci:v00008086d00000A06*
+ ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller
+
+pci:v00008086d00000A16*
+ ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller
+
+pci:v00008086d00000A22*
+ ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller
+
+pci:v00008086d00000A26*
+ ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller
+
+pci:v00008086d00000A2A*
+ ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller
+
+pci:v00008086d00000BE0*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BE1*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BE1sv0000105Bsd00000D7C*
+ ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard
+
+pci:v00008086d00000BE2*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BE3*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BE4*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BE5*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BE6*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BE7*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BE8*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BE9*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BEA*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BEB*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BEC*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BED*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BEE*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BEF*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
+
+pci:v00008086d00000BF0*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
+
+pci:v00008086d00000BF1*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
+
+pci:v00008086d00000BF2*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
+
+pci:v00008086d00000BF3*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
+
+pci:v00008086d00000BF4*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
+
+pci:v00008086d00000BF5*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
+
+pci:v00008086d00000BF5sv0000105Bsd00000D7C*
+ ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard
+
+pci:v00008086d00000BF6*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
+
+pci:v00008086d00000BF7*
+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
+
+pci:v00008086d00000C00*
+ ID_MODEL_FROM_DATABASE=Haswell DRAM Controller
+
+pci:v00008086d00000C01*
+ ID_MODEL_FROM_DATABASE=Haswell PCI Express x16 Controller
+
+pci:v00008086d00000C04*
+ ID_MODEL_FROM_DATABASE=Haswell DRAM Controller
+
+pci:v00008086d00000C05*
+ ID_MODEL_FROM_DATABASE=Haswell PCI Express x8 Controller
+
+pci:v00008086d00000C08*
+ ID_MODEL_FROM_DATABASE=Haswell DRAM Controller
+
+pci:v00008086d00000C09*
+ ID_MODEL_FROM_DATABASE=Haswell PCI Express x4 Controller
+
+pci:v00008086d00000C0C*
+ ID_MODEL_FROM_DATABASE=Haswell HD Audio Controller
+
+pci:v00008086d00000C46*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 PCI Express Root Port 1
+
+pci:v00008086d00000C47*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 PCI Express Root Port 2
+
+pci:v00008086d00000C48*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 PCI Express Root Port 3
+
+pci:v00008086d00000C49*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 PCI Express Root Port 4
+
+pci:v00008086d00000C4E*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 NTB Primary
+
+pci:v00008086d00000C54*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C55*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 DFX 1
+
+pci:v00008086d00000C56*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 DFX 2
+
+pci:v00008086d00000C59*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 SMBus 2.0 Controller 0
+
+pci:v00008086d00000C5A*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 SMBus 2.0 Controller 1
+
+pci:v00008086d00000C5B*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 SMBus Controller 2
+
+pci:v00008086d00000C5C*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 SMBus Controller 3
+
+pci:v00008086d00000C5D*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 SMBus Controller 4
+
+pci:v00008086d00000C5E*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 SMBus Controller 5
+
+pci:v00008086d00000C5F*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 UART
+
+pci:v00008086d00000C60*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Integrated Legacy Bus
+
+pci:v00008086d00000C70*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C71*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C72*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C73*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C74*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C75*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C76*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C77*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C78*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C79*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C7A*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C7B*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C7C*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C7D*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C7E*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000C7F*
+ ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
+
+pci:v00008086d00000D00*
+ ID_MODEL_FROM_DATABASE=Crystal Well DRAM Controller
+
+pci:v00008086d00000D01*
+ ID_MODEL_FROM_DATABASE=Crystal Well PCI Express x16 Controller
+
+pci:v00008086d00000D04*
+ ID_MODEL_FROM_DATABASE=Crystal Well DRAM Controller
+
+pci:v00008086d00000D05*
+ ID_MODEL_FROM_DATABASE=Crystal Well PCI Express x8 Controller
+
+pci:v00008086d00000D09*
+ ID_MODEL_FROM_DATABASE=Crystal Well PCI Express x4 Controller
+
+pci:v00008086d00000D0C*
+ ID_MODEL_FROM_DATABASE=Crystal Well HD Audio Controller
+
+pci:v00008086d00000D16*
+ ID_MODEL_FROM_DATABASE=Crystal Well Integrated Graphics Controller
+
+pci:v00008086d00000D26*
+ ID_MODEL_FROM_DATABASE=Crystal Well Integrated Graphics Controller
+
+pci:v00008086d00000D36*
+ ID_MODEL_FROM_DATABASE=Crystal Well Integrated Graphics Controller
+
+pci:v00008086d00000E00*
+ ID_MODEL_FROM_DATABASE=Ivytown DMI2
+
+pci:v00008086d00000E01*
+ ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port in DMI2 Mode
+
+pci:v00008086d00000E02*
+ ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 1a
+
+pci:v00008086d00000E03*
+ ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 1b
+
+pci:v00008086d00000E04*
+ ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 2a
+
+pci:v00008086d00000E05*
+ ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 2b
+
+pci:v00008086d00000E06*
+ ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 2c
+
+pci:v00008086d00000E07*
+ ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 2d
+
+pci:v00008086d00000E08*
+ ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 3a
+
+pci:v00008086d00000E09*
+ ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 3b
+
+pci:v00008086d00000E0A*
+ ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 3c
+
+pci:v00008086d00000E0B*
+ ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 3d
+
+pci:v00008086d00000E1C*
+ ID_MODEL_FROM_DATABASE=Ivytown Debug and Error Injection Related Registers
+
+pci:v00008086d00000E1D*
+ ID_MODEL_FROM_DATABASE=Ivytown R2PCIe
+
+pci:v00008086d00000E1E*
+ ID_MODEL_FROM_DATABASE=Ivytown Semaphore and Scratchpad Configuration Registers
+
+pci:v00008086d00000E1F*
+ ID_MODEL_FROM_DATABASE=Ivytown Semaphore and Scratchpad Configuration Registers
+
+pci:v00008086d00000E20*
+ ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 0
+
+pci:v00008086d00000E21*
+ ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 1
+
+pci:v00008086d00000E22*
+ ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 2
+
+pci:v00008086d00000E23*
+ ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 3
+
+pci:v00008086d00000E24*
+ ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 4
+
+pci:v00008086d00000E25*
+ ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 5
+
+pci:v00008086d00000E26*
+ ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 6
+
+pci:v00008086d00000E27*
+ ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 7
+
+pci:v00008086d00000E28*
+ ID_MODEL_FROM_DATABASE=Ivytown VTd/Memory Map/Misc
+
+pci:v00008086d00000E29*
+ ID_MODEL_FROM_DATABASE=Ivytown Memory Hotplug
+
+pci:v00008086d00000E2A*
+ ID_MODEL_FROM_DATABASE=Ivytown IIO RAS
+
+pci:v00008086d00000E2C*
+ ID_MODEL_FROM_DATABASE=Ivytown IOAPIC
+
+pci:v00008086d00000E2E*
+ ID_MODEL_FROM_DATABASE=Ivytown CBDMA
+
+pci:v00008086d00000E2F*
+ ID_MODEL_FROM_DATABASE=Ivytown CBDMA
+
+pci:v00008086d00000E30*
+ ID_MODEL_FROM_DATABASE=Ivytown Home Agent 0
+
+pci:v00008086d00000E32*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Link 0
+
+pci:v00008086d00000E33*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Link 1
+
+pci:v00008086d00000E34*
+ ID_MODEL_FROM_DATABASE=Ivytown PCI Express Ring Performance Monitoring
+
+pci:v00008086d00000E36*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Ring Performance Ring Monitoring
+
+pci:v00008086d00000E37*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Ring Performance Ring Monitoring
+
+pci:v00008086d00000E38*
+ ID_MODEL_FROM_DATABASE=Ivytown Home Agent 1
+
+pci:v00008086d00000E3A*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Link 2
+
+pci:v00008086d00000E3E*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Ring Performance Ring Monitoring
+
+pci:v00008086d00000E3F*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Ring Performance Ring Monitoring
+
+pci:v00008086d00000E40*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Link 2
+
+pci:v00008086d00000E41*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Ring Registers
+
+pci:v00008086d00000E43*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Link Reut 2
+
+pci:v00008086d00000E44*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Link Reut 2
+
+pci:v00008086d00000E60*
+ ID_MODEL_FROM_DATABASE=Ivytown Home Agent 1
+
+pci:v00008086d00000E68*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Target Address/Thermal Registers
+
+pci:v00008086d00000E6A*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel Target Address Decoder Registers
+
+pci:v00008086d00000E6B*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel Target Address Decoder Registers
+
+pci:v00008086d00000E6C*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel Target Address Decoder Registers
+
+pci:v00008086d00000E6D*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel Target Address Decoder Registers
+
+pci:v00008086d00000E71*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 RAS Registers
+
+pci:v00008086d00000E79*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 RAS Registers
+
+pci:v00008086d00000E80*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Link 0
+
+pci:v00008086d00000E81*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Ring Registers
+
+pci:v00008086d00000E83*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Link Reut 0
+
+pci:v00008086d00000E84*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Link Reut 0
+
+pci:v00008086d00000E90*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Link 1
+
+pci:v00008086d00000E93*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Link 1
+
+pci:v00008086d00000E94*
+ ID_MODEL_FROM_DATABASE=Ivytown QPI Link Reut 1
+
+pci:v00008086d00000EA0*
+ ID_MODEL_FROM_DATABASE=Ivytown Home Agent 0
+
+pci:v00008086d00000EA8*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Target Address/Thermal Registers
+
+pci:v00008086d00000EAA*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel Target Address Decoder Registers
+
+pci:v00008086d00000EAB*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel Target Address Decoder Registers
+
+pci:v00008086d00000EAC*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel Target Address Decoder Registers
+
+pci:v00008086d00000EAD*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel Target Address Decoder Registers
+
+pci:v00008086d00000EB0*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 Thermal Control 0
+
+pci:v00008086d00000EB1*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 Thermal Control 1
+
+pci:v00008086d00000EB2*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0
+
+pci:v00008086d00000EB3*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1
+
+pci:v00008086d00000EB4*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 Thermal Control 2
+
+pci:v00008086d00000EB5*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 Thermal Control 3
+
+pci:v00008086d00000EB6*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2
+
+pci:v00008086d00000EB7*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3
+
+pci:v00008086d00000EC0*
+ ID_MODEL_FROM_DATABASE=Ivytown Power Control Unit 0
+
+pci:v00008086d00000EC1*
+ ID_MODEL_FROM_DATABASE=Ivytown Power Control Unit 1
+
+pci:v00008086d00000EC2*
+ ID_MODEL_FROM_DATABASE=Ivytown Power Control Unit 2
+
+pci:v00008086d00000EC3*
+ ID_MODEL_FROM_DATABASE=Ivytown Power Control Unit 3
+
+pci:v00008086d00000EC4*
+ ID_MODEL_FROM_DATABASE=Ivytown Power Control Unit 4
+
+pci:v00008086d00000EC8*
+ ID_MODEL_FROM_DATABASE=Ivytown System Address Decoder
+
+pci:v00008086d00000EC9*
+ ID_MODEL_FROM_DATABASE=Ivytown Broadcast Registers
+
+pci:v00008086d00000ECA*
+ ID_MODEL_FROM_DATABASE=Ivytown Broadcast Registers
+
+pci:v00008086d00000ED8*
+ ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+
+pci:v00008086d00000ED9*
+ ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+
+pci:v00008086d00000EDC*
+ ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+
+pci:v00008086d00000EDD*
+ ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+
+pci:v00008086d00000EDE*
+ ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+
+pci:v00008086d00000EDF*
+ ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+
+pci:v00008086d00000EE0*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EE1*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EE2*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EE3*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EE4*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EE5*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EE6*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EE7*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EE8*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EE9*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EEA*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EEB*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EEC*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EED*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EEE*
+ ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+
+pci:v00008086d00000EF0*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 Thermal Control 0
+
+pci:v00008086d00000EF1*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 Thermal Control 1
+
+pci:v00008086d00000EF2*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0
+
+pci:v00008086d00000EF3*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1
+
+pci:v00008086d00000EF4*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 Thermal Control 2
+
+pci:v00008086d00000EF5*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 Thermal Control 3
+
+pci:v00008086d00000EF6*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2
+
+pci:v00008086d00000EF7*
+ ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3
+
+pci:v00008086d00000EF8*
+ ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+
+pci:v00008086d00000EF9*
+ ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+
+pci:v00008086d00000EFA*
+ ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+
+pci:v00008086d00000EFB*
+ ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+
+pci:v00008086d00000EFC*
+ ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+
+pci:v00008086d00000EFD*
+ ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+
+pci:v00008086d00000F00*
+ ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit
+
+pci:v00008086d00000F01*
+ ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit
+
+pci:v00008086d00000F02*
+ ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit
+
+pci:v00008086d00000F03*
+ ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit
+
+pci:v00008086d00000F04*
+ ID_MODEL_FROM_DATABASE=ValleyView High Definition Audio Controller
+
+pci:v00008086d00000F05*
+ ID_MODEL_FROM_DATABASE=ValleyView High Definition Audio Controller
+
+pci:v00008086d00000F06*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO1 DMA Controller
+
+pci:v00008086d00000F07*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO1 DMA Controller
+
+pci:v00008086d00000F08*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO1 PWM Controller
+
+pci:v00008086d00000F09*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO1 PWM Controller
+
+pci:v00008086d00000F0A*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #1
+
+pci:v00008086d00000F0B*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #1
+
+pci:v00008086d00000F0C*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #2
+
+pci:v00008086d00000F0D*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #2
+
+pci:v00008086d00000F0E*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO1 SPI Controller
+
+pci:v00008086d00000F0F*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO1 SPI Controller
+
+pci:v00008086d00000F10*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO1 Controller
+
+pci:v00008086d00000F11*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO1 Controller
+
+pci:v00008086d00000F12*
+ ID_MODEL_FROM_DATABASE=ValleyView SMBus Controller
+
+pci:v00008086d00000F13*
+ ID_MODEL_FROM_DATABASE=ValleyView SMBus Controller
+
+pci:v00008086d00000F14*
+ ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller
+
+pci:v00008086d00000F15*
+ ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller
+
+pci:v00008086d00000F16*
+ ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller
+
+pci:v00008086d00000F17*
+ ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller
+
+pci:v00008086d00000F18*
+ ID_MODEL_FROM_DATABASE=ValleyView SEC
+
+pci:v00008086d00000F19*
+ ID_MODEL_FROM_DATABASE=ValleyView SEC
+
+pci:v00008086d00000F1A*
+ ID_MODEL_FROM_DATABASE=ValleyView SEC
+
+pci:v00008086d00000F1B*
+ ID_MODEL_FROM_DATABASE=ValleyView SEC
+
+pci:v00008086d00000F1C*
+ ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit
+
+pci:v00008086d00000F1D*
+ ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit
+
+pci:v00008086d00000F1E*
+ ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit
+
+pci:v00008086d00000F1F*
+ ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit
+
+pci:v00008086d00000F20*
+ ID_MODEL_FROM_DATABASE=ValleyView 4-Port SATA Storage Controller
+
+pci:v00008086d00000F21*
+ ID_MODEL_FROM_DATABASE=ValleyView 4-Port SATA Storage Controller
+
+pci:v00008086d00000F22*
+ ID_MODEL_FROM_DATABASE=ValleyView 6-Port SATA AHCI Controller
+
+pci:v00008086d00000F23*
+ ID_MODEL_FROM_DATABASE=ValleyView 6-Port SATA AHCI Controller
+
+pci:v00008086d00000F24*
+ ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller
+
+pci:v00008086d00000F25*
+ ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller
+
+pci:v00008086d00000F26*
+ ID_MODEL_FROM_DATABASE=ValleyView 2-Port SATA Storage Controller
+
+pci:v00008086d00000F27*
+ ID_MODEL_FROM_DATABASE=ValleyView 2-Port SATA Storage Controller
+
+pci:v00008086d00000F28*
+ ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller
+
+pci:v00008086d00000F29*
+ ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller
+
+pci:v00008086d00000F2A*
+ ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller
+
+pci:v00008086d00000F2B*
+ ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller
+
+pci:v00008086d00000F2E*
+ ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller
+
+pci:v00008086d00000F2F*
+ ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller
+
+pci:v00008086d00000F30*
+ ID_MODEL_FROM_DATABASE=ValleyView Gen7
+
+pci:v00008086d00000F31*
+ ID_MODEL_FROM_DATABASE=ValleyView Gen7
+
+pci:v00008086d00000F32*
+ ID_MODEL_FROM_DATABASE=ValleyView Gen7
+
+pci:v00008086d00000F33*
+ ID_MODEL_FROM_DATABASE=ValleyView Gen7
+
+pci:v00008086d00000F34*
+ ID_MODEL_FROM_DATABASE=ValleyView USB Enhanced Host Controller
+
+pci:v00008086d00000F35*
+ ID_MODEL_FROM_DATABASE=ValleyView USB xHCI Host Controller
+
+pci:v00008086d00000F36*
+ ID_MODEL_FROM_DATABASE=ValleyView USB xHCI Host Controller
+
+pci:v00008086d00000F37*
+ ID_MODEL_FROM_DATABASE=ValleyView OTG
+
+pci:v00008086d00000F38*
+ ID_MODEL_FROM_DATABASE=ValleyView ISP
+
+pci:v00008086d00000F39*
+ ID_MODEL_FROM_DATABASE=ValleyView ISP
+
+pci:v00008086d00000F3A*
+ ID_MODEL_FROM_DATABASE=ValleyView ISP
+
+pci:v00008086d00000F3B*
+ ID_MODEL_FROM_DATABASE=ValleyView ISP
+
+pci:v00008086d00000F3C*
+ ID_MODEL_FROM_DATABASE=ValleyView ISP
+
+pci:v00008086d00000F3D*
+ ID_MODEL_FROM_DATABASE=ValleyView ISP
+
+pci:v00008086d00000F3E*
+ ID_MODEL_FROM_DATABASE=ValleyView ISP
+
+pci:v00008086d00000F3F*
+ ID_MODEL_FROM_DATABASE=ValleyView ISP
+
+pci:v00008086d00000F40*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO2 DMA Controller
+
+pci:v00008086d00000F41*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #1
+
+pci:v00008086d00000F42*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #2
+
+pci:v00008086d00000F43*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #3
+
+pci:v00008086d00000F44*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #4
+
+pci:v00008086d00000F45*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #5
+
+pci:v00008086d00000F46*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #6
+
+pci:v00008086d00000F47*
+ ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #7
+
+pci:v00008086d00000F48*
+ ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port
+
+pci:v00008086d00000F49*
+ ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port
+
+pci:v00008086d00000F4A*
+ ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port
+
+pci:v00008086d00000F4B*
+ ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port
+
+pci:v00008086d00000F4C*
+ ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port
+
+pci:v00008086d00000F4D*
+ ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port
+
+pci:v00008086d00000F4E*
+ ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port
+
+pci:v00008086d00000F4F*
+ ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port
+
+pci:v00008086d00000F50*
+ ID_MODEL_FROM_DATABASE=ValleyView MIPI-HSI Controller
+
+pci:v00008086d00001000*
+ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber)
+
+pci:v00008086d00001000sv00000E11sd0000B0DF*
+ ID_MODEL_FROM_DATABASE=NC6132 Gigabit Ethernet Adapter (1000-SX)
+
+pci:v00008086d00001000sv00000E11sd0000B0E0*
+ ID_MODEL_FROM_DATABASE=NC6133 Gigabit Ethernet Adapter (1000-LX)
+
+pci:v00008086d00001000sv00000E11sd0000B123*
+ ID_MODEL_FROM_DATABASE=NC6134 Gigabit Ethernet Adapter (1000-LX)
+
+pci:v00008086d00001000sv00001014sd00000119*
+ ID_MODEL_FROM_DATABASE=Netfinity Gigabit Ethernet SX Adapter
+
+pci:v00008086d00001000sv00008086sd00001000*
+ ID_MODEL_FROM_DATABASE=PRO/1000 Gigabit Server Adapter
+
+pci:v00008086d00001001*
+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber)
+
+pci:v00008086d00001001sv00000E11sd0000004A*
+ ID_MODEL_FROM_DATABASE=NC6136 Gigabit Server Adapter
+
+pci:v00008086d00001001sv00001014sd000001EA*
+ ID_MODEL_FROM_DATABASE=Netfinity Gigabit Ethernet SX Adapter
+
+pci:v00008086d00001001sv00008086sd00001002*
+ ID_MODEL_FROM_DATABASE=PRO/1000 F Server Adapter
+
+pci:v00008086d00001001sv00008086sd00001003*
+ ID_MODEL_FROM_DATABASE=PRO/1000 F Server Adapter
+
+pci:v00008086d00001002*
+ ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II
+
+pci:v00008086d00001002sv00008086sd0000200E*
+ ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II
+
+pci:v00008086d00001002sv00008086sd00002013*
+ ID_MODEL_FROM_DATABASE=Pro 100 SR Mobile Combo Adapter
+
+pci:v00008086d00001002sv00008086sd00002017*
+ ID_MODEL_FROM_DATABASE=Pro 100 S Combo Mobile Adapter
+
+pci:v00008086d00001004*
+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d00001004sv00000E11sd00000049*
+ ID_MODEL_FROM_DATABASE=NC7132 Gigabit Upgrade Module
+
+pci:v00008086d00001004sv00000E11sd0000B1A4*
+ ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter
+
+pci:v00008086d00001004sv00001014sd000010F2*
+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Server Adapter
+
+pci:v00008086d00001004sv00008086sd00001004*
+ ID_MODEL_FROM_DATABASE=PRO/1000 T Server Adapter
+
+pci:v00008086d00001004sv00008086sd00002004*
+ ID_MODEL_FROM_DATABASE=PRO/1000 T Server Adapter
+
+pci:v00008086d00001008*
+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d00001008sv00001014sd00000269*
+ ID_MODEL_FROM_DATABASE=iSeries 1000/100/10 Ethernet Adapter
+
+pci:v00008086d00001008sv00001028sd0000011B*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1650/2550
+
+pci:v00008086d00001008sv00001028sd0000011C*
+ ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection
+
+pci:v00008086d00001008sv00008086sd00001107*
+ ID_MODEL_FROM_DATABASE=PRO/1000 XT Server Adapter
+
+pci:v00008086d00001008sv00008086sd00002107*
+ ID_MODEL_FROM_DATABASE=PRO/1000 XT Server Adapter
+
+pci:v00008086d00001008sv00008086sd00002110*
+ ID_MODEL_FROM_DATABASE=PRO/1000 XT Desktop Adapter
+
+pci:v00008086d00001008sv00008086sd00003108*
+ ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection
+
+pci:v00008086d00001009*
+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber)
+
+pci:v00008086d00001009sv00001014sd00000268*
+ ID_MODEL_FROM_DATABASE=iSeries Gigabit Ethernet Adapter
+
+pci:v00008086d00001009sv00008086sd00001109*
+ ID_MODEL_FROM_DATABASE=PRO/1000 XF Server Adapter
+
+pci:v00008086d00001009sv00008086sd00002109*
+ ID_MODEL_FROM_DATABASE=PRO/1000 XF Server Adapter
+
+pci:v00008086d0000100A*
+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller
+
+pci:v00008086d0000100C*
+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d0000100Csv00008086sd00001112*
+ ID_MODEL_FROM_DATABASE=PRO/1000 T Desktop Adapter
+
+pci:v00008086d0000100Csv00008086sd00002112*
+ ID_MODEL_FROM_DATABASE=PRO/1000 T Desktop Adapter
+
+pci:v00008086d0000100D*
+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM)
+
+pci:v00008086d0000100Dsv00001028sd00000123*
+ ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection
+
+pci:v00008086d0000100Dsv00001079sd0000891F*
+ ID_MODEL_FROM_DATABASE=82544GC Based Network Connection
+
+pci:v00008086d0000100Dsv00004C53sd00001080*
+ ID_MODEL_FROM_DATABASE=CT8 mainboard
+
+pci:v00008086d0000100Dsv00008086sd0000110D*
+ ID_MODEL_FROM_DATABASE=82544GC Based Network Connection
+
+pci:v00008086d0000100E*
+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller
+
+pci:v00008086d0000100Esv00001014sd00000265*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d0000100Esv00001014sd00000267*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d0000100Esv00001014sd0000026A*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d0000100Esv00001028sd0000002E*
+ ID_MODEL_FROM_DATABASE=Optiplex GX260
+
+pci:v00008086d0000100Esv00001028sd00000134*
+ ID_MODEL_FROM_DATABASE=PowerEdge 600SC
+
+pci:v00008086d0000100Esv00001028sd00000151*
+ ID_MODEL_FROM_DATABASE=Optiplex GX270
+
+pci:v00008086d0000100Esv0000107Bsd00008920*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter
+
+pci:v00008086d0000100Esv00008086sd0000001E*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter
+
+pci:v00008086d0000100Esv00008086sd0000002E*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter
+
+pci:v00008086d0000100Esv00008086sd00001376*
+ ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter
+
+pci:v00008086d0000100Esv00008086sd00001476*
+ ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter
+
+pci:v00008086d0000100F*
+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d0000100Fsv00001014sd00000269*
+ ID_MODEL_FROM_DATABASE=iSeries 1000/100/10 Ethernet Adapter
+
+pci:v00008086d0000100Fsv00001014sd0000028E*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d0000100Fsv000015ADsd00000750*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Single Port Adapter
+
+pci:v00008086d0000100Fsv00008086sd00001000*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d0000100Fsv00008086sd00001001*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter
+
+pci:v00008086d00001010*
+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d00001010sv00000E11sd000000DB*
+ ID_MODEL_FROM_DATABASE=NC7170 Gigabit Server Adapter
+
+pci:v00008086d00001010sv00001014sd0000027C*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Adapter
+
+pci:v00008086d00001010sv000015ADsd00000760*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Adapter
+
+pci:v00008086d00001010sv000018FBsd00007872*
+ ID_MODEL_FROM_DATABASE=RESlink-X
+
+pci:v00008086d00001010sv00001FC1sd00000026*
+ ID_MODEL_FROM_DATABASE=Niagara 2260 Bypass Card
+
+pci:v00008086d00001010sv00004C53sd00001080*
+ ID_MODEL_FROM_DATABASE=CT8 mainboard
+
+pci:v00008086d00001010sv00004C53sd000010A0*
+ ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard
+
+pci:v00008086d00001010sv00008086sd00001011*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter
+
+pci:v00008086d00001010sv00008086sd00001012*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter
+
+pci:v00008086d00001010sv00008086sd0000101A*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection
+
+pci:v00008086d00001010sv00008086sd00003424*
+ ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard
+
+pci:v00008086d00001011*
+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber)
+
+pci:v00008086d00001011sv00001014sd00000268*
+ ID_MODEL_FROM_DATABASE=iSeries Gigabit Ethernet Adapter
+
+pci:v00008086d00001011sv00008086sd00001002*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter
+
+pci:v00008086d00001011sv00008086sd00001003*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter (LX)
+
+pci:v00008086d00001012*
+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber)
+
+pci:v00008086d00001012sv00000E11sd000000DC*
+ ID_MODEL_FROM_DATABASE=NC6170 Gigabit Server Adapter
+
+pci:v00008086d00001012sv00008086sd00001012*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter
+
+pci:v00008086d00001013*
+ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller
+
+pci:v00008086d00001013sv00008086sd00000013*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d00001013sv00008086sd00001013*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d00001013sv00008086sd00001113*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter
+
+pci:v00008086d00001014*
+ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller
+
+pci:v00008086d00001014sv00008086sd00000014*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Connection
+
+pci:v00008086d00001014sv00008086sd00001014*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d00001015*
+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (LOM)
+
+pci:v00008086d00001015sv00008086sd00001015*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection
+
+pci:v00008086d00001016*
+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile)
+
+pci:v00008086d00001016sv00001014sd0000052C*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection
+
+pci:v00008086d00001016sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection
+
+pci:v00008086d00001016sv00008086sd00001016*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection
+
+pci:v00008086d00001017*
+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller
+
+pci:v00008086d00001017sv00008086sd00001017*
+ ID_MODEL_FROM_DATABASE=PR0/1000 MT Desktop Connection
+
+pci:v00008086d00001018*
+ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller
+
+pci:v00008086d00001018sv00008086sd00001018*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection
+
+pci:v00008086d00001019*
+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller
+
+pci:v00008086d00001019sv00001458sd00001019*
+ ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
+
+pci:v00008086d00001019sv00001458sd0000E000*
+ ID_MODEL_FROM_DATABASE=Intel Gigabit Ethernet (Kenai II)
+
+pci:v00008086d00001019sv00008086sd00001019*
+ ID_MODEL_FROM_DATABASE=PRO/1000 CT Desktop Connection
+
+pci:v00008086d00001019sv00008086sd0000301F*
+ ID_MODEL_FROM_DATABASE=D865PERL mainboard
+
+pci:v00008086d00001019sv00008086sd00003025*
+ ID_MODEL_FROM_DATABASE=D875PBZ motherboard
+
+pci:v00008086d00001019sv00008086sd0000302C*
+ ID_MODEL_FROM_DATABASE=Intel 82865G Mainboard (D865GBF)
+
+pci:v00008086d00001019sv00008086sd00003427*
+ ID_MODEL_FROM_DATABASE=S875WP1-E mainboard
+
+pci:v00008086d0000101A*
+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Mobile)
+
+pci:v00008086d0000101Asv00008086sd0000101A*
+ ID_MODEL_FROM_DATABASE=PRO/1000 CT Mobile Connection
+
+pci:v00008086d0000101D*
+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller
+
+pci:v00008086d0000101Dsv00008086sd00001000*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Quad Port Server Adapter
+
+pci:v00008086d0000101E*
+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile)
+
+pci:v00008086d0000101Esv00001014sd00000549*
+ ID_MODEL_FROM_DATABASE=Thinkpad
+
+pci:v00008086d0000101Esv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection
+
+pci:v00008086d0000101Esv00008086sd0000101E*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection
+
+pci:v00008086d00001026*
+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller
+
+pci:v00008086d00001026sv00001028sd00000169*
+ ID_MODEL_FROM_DATABASE=Precision 470
+
+pci:v00008086d00001026sv00008086sd00001000*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Connection
+
+pci:v00008086d00001026sv00008086sd00001001*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter
+
+pci:v00008086d00001026sv00008086sd00001002*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter
+
+pci:v00008086d00001026sv00008086sd00001003*
+ ID_MODEL_FROM_DATABASE=PRO/1000 GT Server Adapter
+
+pci:v00008086d00001026sv00008086sd00001026*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Connection
+
+pci:v00008086d00001027*
+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller
+
+pci:v00008086d00001027sv0000103Csd00003103*
+ ID_MODEL_FROM_DATABASE=NC310F PCI-X Gigabit Server Adapter
+
+pci:v00008086d00001027sv00008086sd00001001*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX)
+
+pci:v00008086d00001027sv00008086sd00001002*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX)
+
+pci:v00008086d00001027sv00008086sd00001003*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX)
+
+pci:v00008086d00001027sv00008086sd00001027*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter
+
+pci:v00008086d00001028*
+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller
+
+pci:v00008086d00001028sv00008086sd00001028*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MB Server Connection
+
+pci:v00008086d00001029*
+ ID_MODEL_FROM_DATABASE=82559 Ethernet Controller
+
+pci:v00008086d00001030*
+ ID_MODEL_FROM_DATABASE=82559 InBusiness 10/100
+
+pci:v00008086d00001031*
+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller
+
+pci:v00008086d00001031sv00001014sd00000209*
+ ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series
+
+pci:v00008086d00001031sv0000104Dsd000080E7*
+ ID_MODEL_FROM_DATABASE=Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
+
+pci:v00008086d00001031sv0000104Dsd0000813C*
+ ID_MODEL_FROM_DATABASE=Vaio PCG-GRV616G
+
+pci:v00008086d00001031sv0000107Bsd00005350*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00001031sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00001031sv0000144Dsd0000C000*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00001031sv0000144Dsd0000C001*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00001031sv0000144Dsd0000C003*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00001031sv0000144Dsd0000C006*
+ ID_MODEL_FROM_DATABASE=vpr Matrix 170B4
+
+pci:v00008086d00001032*
+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE Ethernet Controller
+
+pci:v00008086d00001033*
+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM (LOM) Ethernet Controller
+
+pci:v00008086d00001034*
+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM Ethernet Controller
+
+pci:v00008086d00001035*
+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3)/82562EH (LOM) Ethernet Controller
+
+pci:v00008086d00001036*
+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) 82562EH Ethernet Controller
+
+pci:v00008086d00001037*
+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) Chipset Ethernet Controller
+
+pci:v00008086d00001038*
+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller
+
+pci:v00008086d00001038sv00000E11sd00000098*
+ ID_MODEL_FROM_DATABASE=Evo N600c
+
+pci:v00008086d00001039*
+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller
+
+pci:v00008086d00001039sv00001014sd00000267*
+ ID_MODEL_FROM_DATABASE=NetVista A30p
+
+pci:v00008086d00001039sv0000114Asd00000582*
+ ID_MODEL_FROM_DATABASE=PC8 onboard ethernet ETH1
+
+pci:v00008086d0000103A*
+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (CNR) Ethernet Controller
+
+pci:v00008086d0000103B*
+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VM (LOM) Ethernet Controller
+
+pci:v00008086d0000103C*
+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VM (CNR) Ethernet Controller
+
+pci:v00008086d0000103D*
+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller
+
+pci:v00008086d0000103Dsv00001014sd00000522*
+ ID_MODEL_FROM_DATABASE=ThinkPad R40
+
+pci:v00008086d0000103Dsv00001028sd00002002*
+ ID_MODEL_FROM_DATABASE=Latitude D500
+
+pci:v00008086d0000103Dsv00008086sd0000103D*
+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller
+
+pci:v00008086d0000103E*
+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VM (MOB) Ethernet Controller
+
+pci:v00008086d00001040*
+ ID_MODEL_FROM_DATABASE=536EP Data Fax Modem
+
+pci:v00008086d00001040sv000016BEsd00001040*
+ ID_MODEL_FROM_DATABASE=V.9X DSP Data Fax Modem
+
+pci:v00008086d00001043*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter
+
+pci:v00008086d00001043sv0000103Csd000008B0*
+ ID_MODEL_FROM_DATABASE=tc1100 tablet
+
+pci:v00008086d00001043sv00008086sd00002522*
+ ID_MODEL_FROM_DATABASE=Samsung X10/P30 integrated WLAN
+
+pci:v00008086d00001043sv00008086sd00002527*
+ ID_MODEL_FROM_DATABASE=MIM2000/Centrino
+
+pci:v00008086d00001043sv00008086sd00002561*
+ ID_MODEL_FROM_DATABASE=Dell Latitude D800
+
+pci:v00008086d00001043sv00008086sd00002581*
+ ID_MODEL_FROM_DATABASE=Toshiba Satellite M10
+
+pci:v00008086d00001048*
+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller
+
+pci:v00008086d00001048sv00008086sd0000A01F*
+ ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter
+
+pci:v00008086d00001048sv00008086sd0000A11F*
+ ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter
+
+pci:v00008086d00001049*
+ ID_MODEL_FROM_DATABASE=82566MM Gigabit Network Connection
+
+pci:v00008086d00001049sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00001049sv000017AAsd000020B9*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61/R61
+
+pci:v00008086d0000104A*
+ ID_MODEL_FROM_DATABASE=82566DM Gigabit Network Connection
+
+pci:v00008086d0000104B*
+ ID_MODEL_FROM_DATABASE=82566DC Gigabit Network Connection
+
+pci:v00008086d0000104C*
+ ID_MODEL_FROM_DATABASE=82562V 10/100 Network Connection
+
+pci:v00008086d0000104D*
+ ID_MODEL_FROM_DATABASE=82566MC Gigabit Network Connection
+
+pci:v00008086d00001050*
+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller
+
+pci:v00008086d00001050sv00001028sd0000019D*
+ ID_MODEL_FROM_DATABASE=Dimension 3000
+
+pci:v00008086d00001050sv00001462sd0000728C*
+ ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728)
+
+pci:v00008086d00001050sv00001462sd0000758C*
+ ID_MODEL_FROM_DATABASE=MS-6758 (875P Neo)
+
+pci:v00008086d00001050sv00008086sd00003020*
+ ID_MODEL_FROM_DATABASE=D865PERL mainboard
+
+pci:v00008086d00001050sv00008086sd0000302F*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GBF
+
+pci:v00008086d00001050sv00008086sd00003427*
+ ID_MODEL_FROM_DATABASE=S875WP1-E mainboard
+
+pci:v00008086d00001051*
+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) integrated LAN Controller
+
+pci:v00008086d00001052*
+ ID_MODEL_FROM_DATABASE=PRO/100 VM Network Connection
+
+pci:v00008086d00001053*
+ ID_MODEL_FROM_DATABASE=PRO/100 VM Network Connection
+
+pci:v00008086d00001054*
+ ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection
+
+pci:v00008086d00001055*
+ ID_MODEL_FROM_DATABASE=PRO/100 VM Network Connection
+
+pci:v00008086d00001056*
+ ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection
+
+pci:v00008086d00001057*
+ ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection
+
+pci:v00008086d00001059*
+ ID_MODEL_FROM_DATABASE=82551QM Ethernet Controller
+
+pci:v00008086d0000105B*
+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d0000105E*
+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller
+
+pci:v00008086d0000105Esv0000103Csd00007044*
+ ID_MODEL_FROM_DATABASE=NC360T PCI Express Dual Port Gigabit Server Adapter
+
+pci:v00008086d0000105Esv0000103Csd0000704E*
+ ID_MODEL_FROM_DATABASE=Dual Port 1000Base-T (PCIe) [AD337A]
+
+pci:v00008086d0000105Esv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d0000105Esv00001775sd00006003*
+ ID_MODEL_FROM_DATABASE=Telum GE-QT
+
+pci:v00008086d0000105Esv00008086sd0000005E*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Connection
+
+pci:v00008086d0000105Esv00008086sd0000105E*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Network Connection
+
+pci:v00008086d0000105Esv00008086sd000010D5*
+ ID_MODEL_FROM_DATABASE=82571PT Gigabit PT Quad Port Server ExpressModule
+
+pci:v00008086d0000105Esv00008086sd0000115E*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter
+
+pci:v00008086d0000105Esv00008086sd0000125E*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter
+
+pci:v00008086d0000105Esv00008086sd0000135E*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter
+
+pci:v00008086d0000105F*
+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller
+
+pci:v00008086d0000105Fsv0000103Csd0000704F*
+ ID_MODEL_FROM_DATABASE=Dual Port 1000Base-SX (PCIe) [AD338A]
+
+pci:v00008086d0000105Fsv00008086sd0000005A*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter
+
+pci:v00008086d0000105Fsv00008086sd0000115F*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter
+
+pci:v00008086d0000105Fsv00008086sd0000125F*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter
+
+pci:v00008086d0000105Fsv00008086sd0000135F*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter
+
+pci:v00008086d00001060*
+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller
+
+pci:v00008086d00001060sv00008086sd00000060*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PB Dual Port Server Connection
+
+pci:v00008086d00001060sv00008086sd00001060*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PB Dual Port Server Connection
+
+pci:v00008086d00001064*
+ ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller
+
+pci:v00008086d00001064sv00001043sd000080F8*
+ ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard
+
+pci:v00008086d00001065*
+ ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE Ethernet Controller
+
+pci:v00008086d00001066*
+ ID_MODEL_FROM_DATABASE=82562 EM/EX/GX - PRO/100 VM (LOM) Ethernet Controller
+
+pci:v00008086d00001067*
+ ID_MODEL_FROM_DATABASE=82562 EM/EX/GX - PRO/100 VM Ethernet Controller
+
+pci:v00008086d00001068*
+ ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller Mobile
+
+pci:v00008086d00001069*
+ ID_MODEL_FROM_DATABASE=82562EM/EX/GX - PRO/100 VM (LOM) Ethernet Controller Mobile
+
+pci:v00008086d0000106A*
+ ID_MODEL_FROM_DATABASE=82562G - PRO/100 VE (LOM) Ethernet Controller
+
+pci:v00008086d0000106B*
+ ID_MODEL_FROM_DATABASE=82562G - PRO/100 VE Ethernet Controller Mobile
+
+pci:v00008086d00001075*
+ ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller
+
+pci:v00008086d00001075sv00001028sd00000165*
+ ID_MODEL_FROM_DATABASE=PowerEdge 750
+
+pci:v00008086d00001075sv00008086sd00000075*
+ ID_MODEL_FROM_DATABASE=PRO/1000 CT Network Connection
+
+pci:v00008086d00001075sv00008086sd00001075*
+ ID_MODEL_FROM_DATABASE=PRO/1000 CT Network Connection
+
+pci:v00008086d00001076*
+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller
+
+pci:v00008086d00001076sv00001028sd00000165*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d00001076sv00001028sd0000016D*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d00001076sv00001028sd0000019A*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d00001076sv00001028sd0000106D*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d00001076sv00008086sd00000076*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d00001076sv00008086sd00001076*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection
+
+pci:v00008086d00001076sv00008086sd00001176*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter
+
+pci:v00008086d00001076sv00008086sd00001276*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Adapter
+
+pci:v00008086d00001077*
+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller
+
+pci:v00008086d00001077sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection
+
+pci:v00008086d00001077sv00008086sd00000077*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection
+
+pci:v00008086d00001077sv00008086sd00001077*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection
+
+pci:v00008086d00001078*
+ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller
+
+pci:v00008086d00001078sv00008086sd00001078*
+ ID_MODEL_FROM_DATABASE=82541ER-based Network Connection
+
+pci:v00008086d00001079*
+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller
+
+pci:v00008086d00001079sv0000103Csd000012A6*
+ ID_MODEL_FROM_DATABASE=Dual Port 1000Base-T [A9900A]
+
+pci:v00008086d00001079sv0000103Csd000012CF*
+ ID_MODEL_FROM_DATABASE=Core Dual Port 1000Base-T [AB352A]
+
+pci:v00008086d00001079sv00001775sd000010D0*
+ ID_MODEL_FROM_DATABASE=V5D Single Board Computer Gigabit Ethernet
+
+pci:v00008086d00001079sv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d00001079sv00001FC1sd00000027*
+ ID_MODEL_FROM_DATABASE=Niagara 2261 Failover NIC
+
+pci:v00008086d00001079sv00004C53sd00001090*
+ ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard
+
+pci:v00008086d00001079sv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d00001079sv00008086sd00000079*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection
+
+pci:v00008086d00001079sv00008086sd00001079*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection
+
+pci:v00008086d00001079sv00008086sd00001179*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter
+
+pci:v00008086d00001079sv00008086sd0000117A*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter
+
+pci:v00008086d0000107A*
+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller
+
+pci:v00008086d0000107Asv0000103Csd000012A8*
+ ID_MODEL_FROM_DATABASE=Dual Port 1000base-SX [A9899A]
+
+pci:v00008086d0000107Asv00008086sd0000107A*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter
+
+pci:v00008086d0000107Asv00008086sd0000127A*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter
+
+pci:v00008086d0000107B*
+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller
+
+pci:v00008086d0000107Bsv00008086sd0000007B*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MB Dual Port Server Connection
+
+pci:v00008086d0000107Bsv00008086sd0000107B*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MB Dual Port Server Connection
+
+pci:v00008086d0000107C*
+ ID_MODEL_FROM_DATABASE=82541PI Gigabit Ethernet Controller
+
+pci:v00008086d0000107Csv00008086sd00001376*
+ ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter
+
+pci:v00008086d0000107Csv00008086sd00001476*
+ ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter
+
+pci:v00008086d0000107D*
+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d0000107Dsv00008086sd00001082*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter
+
+pci:v00008086d0000107Dsv00008086sd00001084*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter
+
+pci:v00008086d0000107Dsv00008086sd00001092*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter
+
+pci:v00008086d0000107E*
+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber)
+
+pci:v00008086d0000107Esv00008086sd00001084*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter
+
+pci:v00008086d0000107Esv00008086sd00001085*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter
+
+pci:v00008086d0000107Esv00008086sd00001094*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter
+
+pci:v00008086d0000107F*
+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller
+
+pci:v00008086d00001080*
+ ID_MODEL_FROM_DATABASE=FA82537EP 56K V.92 Data/Fax Modem PCI
+
+pci:v00008086d00001081*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB LAN Controller Copper
+
+pci:v00008086d00001082*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB LAN Controller fiber
+
+pci:v00008086d00001083*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB LAN Controller SERDES
+
+pci:v00008086d00001084*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Redirection
+
+pci:v00008086d00001085*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB Serial Port Redirection
+
+pci:v00008086d00001086*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB IPMI/KCS0
+
+pci:v00008086d00001087*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB UHCI Redirection
+
+pci:v00008086d00001089*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB BT
+
+pci:v00008086d0000108A*
+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller
+
+pci:v00008086d0000108Asv00008086sd0000108A*
+ ID_MODEL_FROM_DATABASE=PRO/1000 P Dual Port Server Adapter
+
+pci:v00008086d0000108Asv00008086sd0000118A*
+ ID_MODEL_FROM_DATABASE=PRO/1000 P Dual Port Server Adapter
+
+pci:v00008086d0000108B*
+ ID_MODEL_FROM_DATABASE=82573V Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d0000108Bsv00001462sd0000176C*
+ ID_MODEL_FROM_DATABASE=on board on MSI 945P - NEO (MS-7176)
+
+pci:v00008086d0000108C*
+ ID_MODEL_FROM_DATABASE=82573E Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d0000108E*
+ ID_MODEL_FROM_DATABASE=82573E KCS (Active Management)
+
+pci:v00008086d0000108F*
+ ID_MODEL_FROM_DATABASE=Active Management Technology - SOL
+
+pci:v00008086d00001091*
+ ID_MODEL_FROM_DATABASE=PRO/100 VM Network Connection
+
+pci:v00008086d00001092*
+ ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection
+
+pci:v00008086d00001093*
+ ID_MODEL_FROM_DATABASE=PRO/100 VM Network Connection
+
+pci:v00008086d00001094*
+ ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection
+
+pci:v00008086d00001095*
+ ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection
+
+pci:v00008086d00001096*
+ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d00001096sv000015D9sd00001096*
+ ID_MODEL_FROM_DATABASE=Motherboard
+
+pci:v00008086d00001096sv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d00001096sv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board
+
+pci:v00008086d00001097*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB DPT LAN Controller (Fiber)
+
+pci:v00008086d00001098*
+ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Serdes)
+
+pci:v00008086d00001099*
+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d00001099sv00008086sd00001099*
+ ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter
+
+pci:v00008086d0000109A*
+ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller
+
+pci:v00008086d0000109Asv00001179sd0000FF10*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PL
+
+pci:v00008086d0000109Asv000017AAsd00002001*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60
+
+pci:v00008086d0000109Asv000017AAsd0000207E*
+ ID_MODEL_FROM_DATABASE=ThinkPad X60s
+
+pci:v00008086d0000109Asv00008086sd0000109A*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PL Network Connection
+
+pci:v00008086d0000109Asv00008086sd0000309C*
+ ID_MODEL_FROM_DATABASE=Desktop Board D945GTP
+
+pci:v00008086d0000109Asv00008086sd000030A5*
+ ID_MODEL_FROM_DATABASE=Desktop Board D975XBX
+
+pci:v00008086d0000109B*
+ ID_MODEL_FROM_DATABASE=82546GB PRO/1000 GF Quad Port Server Adapter
+
+pci:v00008086d0000109E*
+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller
+
+pci:v00008086d0000109Esv00008086sd0000A01F*
+ ID_MODEL_FROM_DATABASE=PRO/10GbE CX4 Server Adapter
+
+pci:v00008086d0000109Esv00008086sd0000A11F*
+ ID_MODEL_FROM_DATABASE=PRO/10GbE CX4 Server Adapter
+
+pci:v00008086d000010A0*
+ ID_MODEL_FROM_DATABASE=82571EB PRO/1000 AT Quad Port Bypass Adapter
+
+pci:v00008086d000010A1*
+ ID_MODEL_FROM_DATABASE=82571EB PRO/1000 AF Quad Port Bypass Adapter
+
+pci:v00008086d000010A4*
+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller
+
+pci:v00008086d000010A4sv00008086sd000010A4*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port Server Adapter
+
+pci:v00008086d000010A4sv00008086sd000011A4*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port Server Adapter
+
+pci:v00008086d000010A5*
+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber)
+
+pci:v00008086d000010A5sv00008086sd000010A5*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PF Quad Port Server Adapter
+
+pci:v00008086d000010A5sv00008086sd000010A6*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PF Quad Port Server Adapter
+
+pci:v00008086d000010A6*
+ ID_MODEL_FROM_DATABASE=82599EB 10-Gigabit Dummy Function
+
+pci:v00008086d000010A7*
+ ID_MODEL_FROM_DATABASE=82575EB Gigabit Network Connection
+
+pci:v00008086d000010A7sv00008086sd000010A8*
+ ID_MODEL_FROM_DATABASE=82575EB Gigabit Riser Card
+
+pci:v00008086d000010A9*
+ ID_MODEL_FROM_DATABASE=82575EB Gigabit Backplane Connection
+
+pci:v00008086d000010B0*
+ ID_MODEL_FROM_DATABASE=82573L PRO/1000 PL Network Connection
+
+pci:v00008086d000010B2*
+ ID_MODEL_FROM_DATABASE=82573V PRO/1000 PM Network Connection
+
+pci:v00008086d000010B3*
+ ID_MODEL_FROM_DATABASE=82573E PRO/1000 PM Network Connection
+
+pci:v00008086d000010B4*
+ ID_MODEL_FROM_DATABASE=82573L PRO/1000 PL Network Connection
+
+pci:v00008086d000010B5*
+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d000010B5sv0000103Csd00003109*
+ ID_MODEL_FROM_DATABASE=NC340T PCI-X Quad-port Gigabit Server Adapter
+
+pci:v00008086d000010B5sv00008086sd00001099*
+ ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter
+
+pci:v00008086d000010B5sv00008086sd00001199*
+ ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter
+
+pci:v00008086d000010B6*
+ ID_MODEL_FROM_DATABASE=82598 10GbE PCI-Express Ethernet Controller
+
+pci:v00008086d000010B9*
+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d000010B9sv0000103Csd0000704A*
+ ID_MODEL_FROM_DATABASE=HP 110T PCIe Gigabit Server Adapter
+
+pci:v00008086d000010B9sv00008086sd00001083*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Desktop Adapter
+
+pci:v00008086d000010B9sv00008086sd00001093*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Desktop Adapter
+
+pci:v00008086d000010BA*
+ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d000010BB*
+ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Serdes)
+
+pci:v00008086d000010BC*
+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper)
+
+pci:v00008086d000010BCsv0000103Csd0000704B*
+ ID_MODEL_FROM_DATABASE=NC364T PCI Express Quad Port Gigabit Server Adapter
+
+pci:v00008086d000010BCsv0000108Esd000011BC*
+ ID_MODEL_FROM_DATABASE=x4 PCI-Express Quad Gigabit Ethernet UTP Low Profile Adapter
+
+pci:v00008086d000010BCsv00008086sd000010BC*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port LP Server Adapter
+
+pci:v00008086d000010BCsv00008086sd000011BC*
+ ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port LP Server Adapter
+
+pci:v00008086d000010BD*
+ ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection
+
+pci:v00008086d000010BDsv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=OptiPlex 755
+
+pci:v00008086d000010BF*
+ ID_MODEL_FROM_DATABASE=82567LF Gigabit Network Connection
+
+pci:v00008086d000010C0*
+ ID_MODEL_FROM_DATABASE=82562V-2 10/100 Network Connection
+
+pci:v00008086d000010C0sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d000010C2*
+ ID_MODEL_FROM_DATABASE=82562G-2 10/100 Network Connection
+
+pci:v00008086d000010C3*
+ ID_MODEL_FROM_DATABASE=82562GT-2 10/100 Network Connection
+
+pci:v00008086d000010C4*
+ ID_MODEL_FROM_DATABASE=82562GT 10/100 Network Connection
+
+pci:v00008086d000010C5*
+ ID_MODEL_FROM_DATABASE=82562G 10/100 Network Connection
+
+pci:v00008086d000010C6*
+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection
+
+pci:v00008086d000010C6sv00008086sd0000A05F*
+ ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Dual Port Server Adapter
+
+pci:v00008086d000010C6sv00008086sd0000A15F*
+ ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Dual Port Server Adapter
+
+pci:v00008086d000010C7*
+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection
+
+pci:v00008086d000010C7sv00001014sd0000037F*
+ ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter
+
+pci:v00008086d000010C7sv00001014sd00000380*
+ ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter
+
+pci:v00008086d000010C7sv00008086sd0000A05F*
+ ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter
+
+pci:v00008086d000010C7sv00008086sd0000A15F*
+ ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter
+
+pci:v00008086d000010C7sv00008086sd0000A16F*
+ ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter
+
+pci:v00008086d000010C8*
+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection
+
+pci:v00008086d000010C8sv00008086sd0000A10C*
+ ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter
+
+pci:v00008086d000010C8sv00008086sd0000A11C*
+ ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter
+
+pci:v00008086d000010C8sv00008086sd0000A12C*
+ ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter
+
+pci:v00008086d000010C9*
+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection
+
+pci:v00008086d000010C9sv0000103Csd000031EF*
+ ID_MODEL_FROM_DATABASE=NC362i Integrated Dual port Gigabit Server Adapter
+
+pci:v00008086d000010C9sv0000103Csd0000323F*
+ ID_MODEL_FROM_DATABASE=NC362i Integrated Dual port Gigabit Server Adapter
+
+pci:v00008086d000010C9sv000010A9sd00008028*
+ ID_MODEL_FROM_DATABASE=UV-BaseIO dual-port GbE
+
+pci:v00008086d000010C9sv000013A3sd00000037*
+ ID_MODEL_FROM_DATABASE=DS4100 Secure Multi-Gigabit Server Adapter with Compression
+
+pci:v00008086d000010C9sv000015D9sd0000A811*
+ ID_MODEL_FROM_DATABASE=H8DGU
+
+pci:v00008086d000010C9sv00008086sd0000A01C*
+ ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter
+
+pci:v00008086d000010C9sv00008086sd0000A03C*
+ ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter
+
+pci:v00008086d000010C9sv00008086sd0000A04C*
+ ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter
+
+pci:v00008086d000010CA*
+ ID_MODEL_FROM_DATABASE=82576 Virtual Function
+
+pci:v00008086d000010CB*
+ ID_MODEL_FROM_DATABASE=82567V Gigabit Network Connection
+
+pci:v00008086d000010CC*
+ ID_MODEL_FROM_DATABASE=82567LM-2 Gigabit Network Connection
+
+pci:v00008086d000010CD*
+ ID_MODEL_FROM_DATABASE=82567LF-2 Gigabit Network Connection
+
+pci:v00008086d000010CE*
+ ID_MODEL_FROM_DATABASE=82567V-2 Gigabit Network Connection
+
+pci:v00008086d000010D3*
+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection
+
+pci:v00008086d000010D3sv0000103Csd00003250*
+ ID_MODEL_FROM_DATABASE=NC112T PCI Express single Port Gigabit Server Adapter
+
+pci:v00008086d000010D3sv000010A9sd00008029*
+ ID_MODEL_FROM_DATABASE=Prism XL Single Port Gigabit Ethernet
+
+pci:v00008086d000010D3sv000015D9sd0000060A*
+ ID_MODEL_FROM_DATABASE=X7SPA-H/X7SPA-HF Motherboard
+
+pci:v00008086d000010D3sv00008086sd00000001*
+ ID_MODEL_FROM_DATABASE=Gigabit CT2 Desktop Adapter
+
+pci:v00008086d000010D3sv00008086sd0000A01F*
+ ID_MODEL_FROM_DATABASE=Gigabit CT Desktop Adapter
+
+pci:v00008086d000010D3sv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d000010D3sv0000E4BFsd000050C2*
+ ID_MODEL_FROM_DATABASE=PC2-LIMBO
+
+pci:v00008086d000010D4*
+ ID_MODEL_FROM_DATABASE=Matrox Concord GE (customized Intel 82574)
+
+pci:v00008086d000010D5*
+ ID_MODEL_FROM_DATABASE=82571PT Gigabit PT Quad Port Server ExpressModule
+
+pci:v00008086d000010D6*
+ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection
+
+pci:v00008086d000010D6sv00008086sd000010D6*
+ ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter
+
+pci:v00008086d000010D6sv00008086sd0000145A*
+ ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter
+
+pci:v00008086d000010D6sv00008086sd0000147A*
+ ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter
+
+pci:v00008086d000010D8*
+ ID_MODEL_FROM_DATABASE=82599EB 10 Gigabit Unprogrammed
+
+pci:v00008086d000010D9*
+ ID_MODEL_FROM_DATABASE=82571EB Dual Port Gigabit Mezzanine Adapter
+
+pci:v00008086d000010D9sv0000103Csd00001716*
+ ID_MODEL_FROM_DATABASE=NC360m Dual Port 1GbE BL-c Adapter
+
+pci:v00008086d000010DA*
+ ID_MODEL_FROM_DATABASE=82571EB Quad Port Gigabit Mezzanine Adapter
+
+pci:v00008086d000010DAsv0000103Csd00001717*
+ ID_MODEL_FROM_DATABASE=NC364m Quad Port 1GbE BL-c Adapter
+
+pci:v00008086d000010DB*
+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit Dual Port Network Connection
+
+pci:v00008086d000010DD*
+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection
+
+pci:v00008086d000010DE*
+ ID_MODEL_FROM_DATABASE=82567LM-3 Gigabit Network Connection
+
+pci:v00008086d000010DF*
+ ID_MODEL_FROM_DATABASE=82567LF-3 Gigabit Network Connection
+
+pci:v00008086d000010E1*
+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection
+
+pci:v00008086d000010E1sv00008086sd0000A15F*
+ ID_MODEL_FROM_DATABASE=10-Gigabit SR Dual Port Express Module
+
+pci:v00008086d000010E2*
+ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection
+
+pci:v00008086d000010E2sv00008086sd000010E2*
+ ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter
+
+pci:v00008086d000010E5*
+ ID_MODEL_FROM_DATABASE=82567LM-4 Gigabit Network Connection
+
+pci:v00008086d000010E6*
+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection
+
+pci:v00008086d000010E6sv00008086sd0000A01F*
+ ID_MODEL_FROM_DATABASE=Gigabit EF Dual Port Server Adapter
+
+pci:v00008086d000010E6sv00008086sd0000A02F*
+ ID_MODEL_FROM_DATABASE=Gigabit EF Dual Port Server Adapter
+
+pci:v00008086d000010E7*
+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection
+
+pci:v00008086d000010E7sv0000103Csd000031FF*
+ ID_MODEL_FROM_DATABASE=NC362i Integrated Dual Port BL-c Gigabit Server Adapter
+
+pci:v00008086d000010E8*
+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection
+
+pci:v00008086d000010E8sv00008086sd0000A02B*
+ ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Server Adapter
+
+pci:v00008086d000010E8sv00008086sd0000A02C*
+ ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Server Adapter
+
+pci:v00008086d000010EA*
+ ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection
+
+pci:v00008086d000010EAsv00001028sd0000040A*
+ ID_MODEL_FROM_DATABASE=Latitude E6410
+
+pci:v00008086d000010EAsv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d000010EAsv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d000010EB*
+ ID_MODEL_FROM_DATABASE=82577LC Gigabit Network Connection
+
+pci:v00008086d000010EC*
+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection
+
+pci:v00008086d000010ECsv00008086sd0000A01F*
+ ID_MODEL_FROM_DATABASE=10-Gigabit CX4 Dual Port Server Adapter
+
+pci:v00008086d000010ECsv00008086sd0000A11F*
+ ID_MODEL_FROM_DATABASE=10-Gigabit CX4 Dual Port Server Adapter
+
+pci:v00008086d000010ED*
+ ID_MODEL_FROM_DATABASE=82599 Ethernet Controller Virtual Function
+
+pci:v00008086d000010EF*
+ ID_MODEL_FROM_DATABASE=82578DM Gigabit Network Connection
+
+pci:v00008086d000010EFsv00001028sd000002DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 980
+
+pci:v00008086d000010F0*
+ ID_MODEL_FROM_DATABASE=82578DC Gigabit Network Connection
+
+pci:v00008086d000010F1*
+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection
+
+pci:v00008086d000010F1sv00008086sd0000A20F*
+ ID_MODEL_FROM_DATABASE=10-Gigabit AF DA Dual Port Server Adapter
+
+pci:v00008086d000010F1sv00008086sd0000A21F*
+ ID_MODEL_FROM_DATABASE=10-Gigabit AF DA Dual Port Server Adapter
+
+pci:v00008086d000010F4*
+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection
+
+pci:v00008086d000010F4sv00008086sd0000106F*
+ ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter
+
+pci:v00008086d000010F4sv00008086sd0000A06F*
+ ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter
+
+pci:v00008086d000010F5*
+ ID_MODEL_FROM_DATABASE=82567LM Gigabit Network Connection
+
+pci:v00008086d000010F6*
+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection
+
+pci:v00008086d000010F7*
+ ID_MODEL_FROM_DATABASE=10 Gigabit BR KX4 Dual Port Network Connection
+
+pci:v00008086d000010F7sv0000108Esd00007B12*
+ ID_MODEL_FROM_DATABASE=Sun Dual 10GbE PCIe 2.0 FEM
+
+pci:v00008086d000010F7sv00008086sd0000000D*
+ ID_MODEL_FROM_DATABASE=Ethernet Mezzanine Adapter X520-KX4-2
+
+pci:v00008086d000010F8*
+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection
+
+pci:v00008086d000010F8sv00001028sd00001F63*
+ ID_MODEL_FROM_DATABASE=10GbE 2P X520k bNDC
+
+pci:v00008086d000010F8sv0000103Csd000017D2*
+ ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560M Adapter
+
+pci:v00008086d000010F8sv0000103Csd000018D0*
+ ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560FLB Adapter
+
+pci:v00008086d000010F8sv00008086sd0000000C*
+ ID_MODEL_FROM_DATABASE=Ethernet X520 10GbE Dual Port KX4-KR Mezz
+
+pci:v00008086d000010F9*
+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection
+
+pci:v00008086d000010FB*
+ ID_MODEL_FROM_DATABASE=82599EB 10-Gigabit SFI/SFP+ Network Connection
+
+pci:v00008086d000010FBsv00001028sd00001F72*
+ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X520/I350 rNDC
+
+pci:v00008086d000010FBsv0000103Csd000017D0*
+ ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560FLR-SFP+ Adapter
+
+pci:v00008086d000010FBsv0000103Csd000017D2*
+ ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560M Adapter
+
+pci:v00008086d000010FBsv0000103Csd000017D3*
+ ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560SFP+ Adapter
+
+pci:v00008086d000010FBsv0000103Csd0000211B*
+ ID_MODEL_FROM_DATABASE=Ethernet 10Gb 1-port P560FLR-SFP+ Adapter
+
+pci:v00008086d000010FBsv0000103Csd00002147*
+ ID_MODEL_FROM_DATABASE=Ethernet 10Gb 1-port 561i Adapter
+
+pci:v00008086d000010FBsv0000108Esd00007B11*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2
+
+pci:v00008086d000010FBsv00001734sd000011A9*
+ ID_MODEL_FROM_DATABASE=10 Gigabit Dual Port Network Connection
+
+pci:v00008086d000010FBsv00008086sd00000002*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-DA2
+
+pci:v00008086d000010FBsv00008086sd00000003*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2
+
+pci:v00008086d000010FBsv00008086sd00000006*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-1
+
+pci:v00008086d000010FBsv00008086sd0000000A*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-1
+
+pci:v00008086d000010FBsv00008086sd0000000C*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2
+
+pci:v00008086d000010FBsv00008086sd00007A11*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2
+
+pci:v00008086d000010FBsv00008086sd00007A12*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2
+
+pci:v00008086d000010FC*
+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection
+
+pci:v00008086d000010FE*
+ ID_MODEL_FROM_DATABASE=82552 10/100 Network Connection
+
+pci:v00008086d00001107*
+ ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter (LX)
+
+pci:v00008086d00001130*
+ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub
+
+pci:v00008086d00001130sv00001025sd00001016*
+ ID_MODEL_FROM_DATABASE=Travelmate 612 TX
+
+pci:v00008086d00001130sv00001043sd00008027*
+ ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard
+
+pci:v00008086d00001130sv0000104Dsd000080DF*
+ ID_MODEL_FROM_DATABASE=Vaio PCG-FX403
+
+pci:v00008086d00001130sv00008086sd00004532*
+ ID_MODEL_FROM_DATABASE=D815EEA2 mainboard
+
+pci:v00008086d00001130sv00008086sd00004557*
+ ID_MODEL_FROM_DATABASE=D815EGEW Mainboard
+
+pci:v00008086d00001131*
+ ID_MODEL_FROM_DATABASE=82815 815 Chipset AGP Bridge
+
+pci:v00008086d00001132*
+ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC)
+
+pci:v00008086d00001132sv00001025sd00001016*
+ ID_MODEL_FROM_DATABASE=Travelmate 612 TX
+
+pci:v00008086d00001132sv0000103Csd00002001*
+ ID_MODEL_FROM_DATABASE=e-pc 40
+
+pci:v00008086d00001132sv0000104Dsd000080DF*
+ ID_MODEL_FROM_DATABASE=Vaio PCG-FX403
+
+pci:v00008086d00001132sv00008086sd00004532*
+ ID_MODEL_FROM_DATABASE=D815EEA2 Mainboard
+
+pci:v00008086d00001132sv00008086sd00004541*
+ ID_MODEL_FROM_DATABASE=D815EEA Motherboard
+
+pci:v00008086d00001132sv00008086sd00004557*
+ ID_MODEL_FROM_DATABASE=D815EGEW Mainboard
+
+pci:v00008086d00001161*
+ ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub Advanced Programmable Interrupt Controller
+
+pci:v00008086d00001161sv00008086sd00001161*
+ ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub APIC
+
+pci:v00008086d00001162*
+ ID_MODEL_FROM_DATABASE=Xscale 80200 Big Endian Companion Chip
+
+pci:v00008086d00001200*
+ ID_MODEL_FROM_DATABASE=IXP1200 Network Processor
+
+pci:v00008086d00001200sv0000172Asd00000000*
+ ID_MODEL_FROM_DATABASE=AEP SSL Accelerator
+
+pci:v00008086d00001209*
+ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller
+
+pci:v00008086d00001209sv0000140Bsd00000610*
+ ID_MODEL_FROM_DATABASE=PMC610 quad Ethernet board
+
+pci:v00008086d00001209sv00004C53sd00001050*
+ ID_MODEL_FROM_DATABASE=CT7 mainboard
+
+pci:v00008086d00001209sv00004C53sd00001051*
+ ID_MODEL_FROM_DATABASE=CE7 mainboard
+
+pci:v00008086d00001209sv00004C53sd00001070*
+ ID_MODEL_FROM_DATABASE=PC6 mainboard
+
+pci:v00008086d00001221*
+ ID_MODEL_FROM_DATABASE=82092AA PCI to PCMCIA Bridge
+
+pci:v00008086d00001222*
+ ID_MODEL_FROM_DATABASE=82092AA IDE Controller
+
+pci:v00008086d00001223*
+ ID_MODEL_FROM_DATABASE=SAA7116
+
+pci:v00008086d00001225*
+ ID_MODEL_FROM_DATABASE=82452KX/GX [Orion]
+
+pci:v00008086d00001226*
+ ID_MODEL_FROM_DATABASE=82596 PRO/10 PCI
+
+pci:v00008086d00001227*
+ ID_MODEL_FROM_DATABASE=82865 EtherExpress PRO/100A
+
+pci:v00008086d00001228*
+ ID_MODEL_FROM_DATABASE=82556 EtherExpress PRO/100 Smart
+
+pci:v00008086d00001229*
+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100
+
+pci:v00008086d00001229sv00000E11sd00003001*
+ ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
+
+pci:v00008086d00001229sv00000E11sd00003002*
+ ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
+
+pci:v00008086d00001229sv00000E11sd00003003*
+ ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
+
+pci:v00008086d00001229sv00000E11sd00003004*
+ ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
+
+pci:v00008086d00001229sv00000E11sd00003005*
+ ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
+
+pci:v00008086d00001229sv00000E11sd00003006*
+ ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
+
+pci:v00008086d00001229sv00000E11sd00003007*
+ ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
+
+pci:v00008086d00001229sv00000E11sd0000B01E*
+ ID_MODEL_FROM_DATABASE=NC3120 Fast Ethernet NIC
+
+pci:v00008086d00001229sv00000E11sd0000B01F*
+ ID_MODEL_FROM_DATABASE=NC3122 Fast Ethernet NIC (dual port)
+
+pci:v00008086d00001229sv00000E11sd0000B02F*
+ ID_MODEL_FROM_DATABASE=NC1120 Ethernet NIC
+
+pci:v00008086d00001229sv00000E11sd0000B04A*
+ ID_MODEL_FROM_DATABASE=Netelligent 10/100TX NIC with Wake on LAN
+
+pci:v00008086d00001229sv00000E11sd0000B0C6*
+ ID_MODEL_FROM_DATABASE=NC3161 Fast Ethernet NIC (embedded, WOL)
+
+pci:v00008086d00001229sv00000E11sd0000B0C7*
+ ID_MODEL_FROM_DATABASE=NC3160 Fast Ethernet NIC (embedded)
+
+pci:v00008086d00001229sv00000E11sd0000B0D7*
+ ID_MODEL_FROM_DATABASE=NC3121 Fast Ethernet NIC (WOL)
+
+pci:v00008086d00001229sv00000E11sd0000B0DD*
+ ID_MODEL_FROM_DATABASE=NC3131 Fast Ethernet NIC (dual port)
+
+pci:v00008086d00001229sv00000E11sd0000B0DE*
+ ID_MODEL_FROM_DATABASE=NC3132 Fast Ethernet Module (dual port)
+
+pci:v00008086d00001229sv00000E11sd0000B0E1*
+ ID_MODEL_FROM_DATABASE=NC3133 Fast Ethernet Module (100-FX)
+
+pci:v00008086d00001229sv00000E11sd0000B134*
+ ID_MODEL_FROM_DATABASE=NC3163 Fast Ethernet NIC (embedded, WOL)
+
+pci:v00008086d00001229sv00000E11sd0000B13C*
+ ID_MODEL_FROM_DATABASE=NC3162 Fast Ethernet NIC (embedded)
+
+pci:v00008086d00001229sv00000E11sd0000B144*
+ ID_MODEL_FROM_DATABASE=NC3123 Fast Ethernet NIC (WOL)
+
+pci:v00008086d00001229sv00000E11sd0000B163*
+ ID_MODEL_FROM_DATABASE=NC3134 Fast Ethernet NIC (dual port)
+
+pci:v00008086d00001229sv00000E11sd0000B164*
+ ID_MODEL_FROM_DATABASE=NC3135 Fast Ethernet Upgrade Module (dual port)
+
+pci:v00008086d00001229sv00000E11sd0000B1A4*
+ ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter
+
+pci:v00008086d00001229sv00001014sd0000005C*
+ ID_MODEL_FROM_DATABASE=82558B Ethernet Pro 10/100
+
+pci:v00008086d00001229sv00001014sd000001BC*
+ ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LAN On Motherboard
+
+pci:v00008086d00001229sv00001014sd000001F1*
+ ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter
+
+pci:v00008086d00001229sv00001014sd000001F2*
+ ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter
+
+pci:v00008086d00001229sv00001014sd00000207*
+ ID_MODEL_FROM_DATABASE=Ethernet Pro/100 S
+
+pci:v00008086d00001229sv00001014sd00000232*
+ ID_MODEL_FROM_DATABASE=10/100 Dual Port Server Adapter
+
+pci:v00008086d00001229sv00001014sd0000023A*
+ ID_MODEL_FROM_DATABASE=ThinkPad R30
+
+pci:v00008086d00001229sv00001014sd0000105C*
+ ID_MODEL_FROM_DATABASE=Netfinity 10/100
+
+pci:v00008086d00001229sv00001014sd00002205*
+ ID_MODEL_FROM_DATABASE=ThinkPad A22p
+
+pci:v00008086d00001229sv00001014sd0000305C*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Management Adapter
+
+pci:v00008086d00001229sv00001014sd0000405C*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Adapter with Alert on LAN
+
+pci:v00008086d00001229sv00001014sd0000505C*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Secure Management Adapter
+
+pci:v00008086d00001229sv00001014sd0000605C*
+ ID_MODEL_FROM_DATABASE=10/100 EtherJet Secure Management Adapter
+
+pci:v00008086d00001229sv00001014sd0000705C*
+ ID_MODEL_FROM_DATABASE=10/100 Netfinity 10/100 Ethernet Security Adapter
+
+pci:v00008086d00001229sv00001014sd0000805C*
+ ID_MODEL_FROM_DATABASE=10/100 Netfinity 10/100 Ethernet Security Adapter
+
+pci:v00008086d00001229sv00001028sd0000009B*
+ ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter
+
+pci:v00008086d00001229sv00001028sd000000CE*
+ ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter
+
+pci:v00008086d00001229sv00001033sd00008000*
+ ID_MODEL_FROM_DATABASE=PC-9821X-B06
+
+pci:v00008086d00001229sv00001033sd00008016*
+ ID_MODEL_FROM_DATABASE=PK-UG-X006
+
+pci:v00008086d00001229sv00001033sd0000801F*
+ ID_MODEL_FROM_DATABASE=PK-UG-X006
+
+pci:v00008086d00001229sv00001033sd00008026*
+ ID_MODEL_FROM_DATABASE=PK-UG-X006
+
+pci:v00008086d00001229sv00001033sd00008063*
+ ID_MODEL_FROM_DATABASE=82559-based Fast Ethernet Adapter
+
+pci:v00008086d00001229sv00001033sd00008064*
+ ID_MODEL_FROM_DATABASE=82559-based Fast Ethernet Adapter
+
+pci:v00008086d00001229sv0000103Csd000010C0*
+ ID_MODEL_FROM_DATABASE=NetServer 10/100TX
+
+pci:v00008086d00001229sv0000103Csd000010C3*
+ ID_MODEL_FROM_DATABASE=NetServer 10/100TX
+
+pci:v00008086d00001229sv0000103Csd000010CA*
+ ID_MODEL_FROM_DATABASE=NetServer 10/100TX
+
+pci:v00008086d00001229sv0000103Csd000010CB*
+ ID_MODEL_FROM_DATABASE=NetServer 10/100TX
+
+pci:v00008086d00001229sv0000103Csd000010E3*
+ ID_MODEL_FROM_DATABASE=NetServer 10/100TX
+
+pci:v00008086d00001229sv0000103Csd000010E4*
+ ID_MODEL_FROM_DATABASE=NetServer 10/100TX
+
+pci:v00008086d00001229sv0000103Csd00001200*
+ ID_MODEL_FROM_DATABASE=NetServer 10/100TX
+
+pci:v00008086d00001229sv0000108Esd000010CF*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100(B)
+
+pci:v00008086d00001229sv000010C3sd00001100*
+ ID_MODEL_FROM_DATABASE=SmartEther100 SC1100
+
+pci:v00008086d00001229sv000010CFsd00001115*
+ ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100)
+
+pci:v00008086d00001229sv000010CFsd00001143*
+ ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100)
+
+pci:v00008086d00001229sv0000110Asd0000008B*
+ ID_MODEL_FROM_DATABASE=82551QM Fast Ethernet Multifuction PCI/CardBus Controller
+
+pci:v00008086d00001229sv0000114Asd00000582*
+ ID_MODEL_FROM_DATABASE=PC8 onboard ethernet ETH2
+
+pci:v00008086d00001229sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100)
+
+pci:v00008086d00001229sv00001179sd00000002*
+ ID_MODEL_FROM_DATABASE=PCI FastEther LAN on Docker
+
+pci:v00008086d00001229sv00001179sd00000003*
+ ID_MODEL_FROM_DATABASE=8255x-based Fast Ethernet
+
+pci:v00008086d00001229sv00001259sd00002560*
+ ID_MODEL_FROM_DATABASE=AT-2560 100
+
+pci:v00008086d00001229sv00001259sd00002561*
+ ID_MODEL_FROM_DATABASE=AT-2560 100 FX Ethernet Adapter
+
+pci:v00008086d00001229sv00001266sd00000001*
+ ID_MODEL_FROM_DATABASE=NE10/100 Adapter
+
+pci:v00008086d00001229sv000013E9sd00001000*
+ ID_MODEL_FROM_DATABASE=6221L-4U
+
+pci:v00008086d00001229sv0000144Dsd00002501*
+ ID_MODEL_FROM_DATABASE=SEM-2000 MiniPCI LAN Adapter
+
+pci:v00008086d00001229sv0000144Dsd00002502*
+ ID_MODEL_FROM_DATABASE=SEM-2100IL MiniPCI LAN Adapter
+
+pci:v00008086d00001229sv00001668sd00001100*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem)
+
+pci:v00008086d00001229sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d00001229sv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d00001229sv00004C53sd00001080*
+ ID_MODEL_FROM_DATABASE=CT8 mainboard
+
+pci:v00008086d00001229sv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d00001229sv00008086sd00000001*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (TX)
+
+pci:v00008086d00001229sv00008086sd00000002*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (T4)
+
+pci:v00008086d00001229sv00008086sd00000003*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/10+
+
+pci:v00008086d00001229sv00008086sd00000004*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 WfM
+
+pci:v00008086d00001229sv00008086sd00000005*
+ ID_MODEL_FROM_DATABASE=82557 10/100
+
+pci:v00008086d00001229sv00008086sd00000006*
+ ID_MODEL_FROM_DATABASE=82557 10/100 with Wake on LAN
+
+pci:v00008086d00001229sv00008086sd00000007*
+ ID_MODEL_FROM_DATABASE=82558 10/100 Adapter
+
+pci:v00008086d00001229sv00008086sd00000008*
+ ID_MODEL_FROM_DATABASE=82558 10/100 with Wake on LAN
+
+pci:v00008086d00001229sv00008086sd00000009*
+ ID_MODEL_FROM_DATABASE=82558B PRO/100+ PCI (TP)
+
+pci:v00008086d00001229sv00008086sd0000000A*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter
+
+pci:v00008086d00001229sv00008086sd0000000B*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+
+
+pci:v00008086d00001229sv00008086sd0000000C*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter
+
+pci:v00008086d00001229sv00008086sd0000000D*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Alert On LAN II* Adapter
+
+pci:v00008086d00001229sv00008086sd0000000E*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter with Alert On LAN*
+
+pci:v00008086d00001229sv00008086sd0000000F*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter
+
+pci:v00008086d00001229sv00008086sd00000010*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Management Adapter
+
+pci:v00008086d00001229sv00008086sd00000011*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Management Adapter
+
+pci:v00008086d00001229sv00008086sd00000012*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Advanced Management Adapter (D)
+
+pci:v00008086d00001229sv00008086sd00000013*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Advanced Management Adapter (E)
+
+pci:v00008086d00001229sv00008086sd00000030*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Management Adapter with Alert On LAN* GC
+
+pci:v00008086d00001229sv00008086sd00000031*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter
+
+pci:v00008086d00001229sv00008086sd00000040*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter
+
+pci:v00008086d00001229sv00008086sd00000041*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter
+
+pci:v00008086d00001229sv00008086sd00000042*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter
+
+pci:v00008086d00001229sv00008086sd00000050*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter
+
+pci:v00008086d00001229sv00008086sd00001009*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Server Adapter
+
+pci:v00008086d00001229sv00008086sd0000100C*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Server Adapter (PILA8470B)
+
+pci:v00008086d00001229sv00008086sd00001012*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter (D)
+
+pci:v00008086d00001229sv00008086sd00001013*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter (E)
+
+pci:v00008086d00001229sv00008086sd00001015*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Dual Port Server Adapter
+
+pci:v00008086d00001229sv00008086sd00001017*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Dual Port Server Adapter
+
+pci:v00008086d00001229sv00008086sd00001030*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server
+
+pci:v00008086d00001229sv00008086sd00001040*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter
+
+pci:v00008086d00001229sv00008086sd00001041*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter
+
+pci:v00008086d00001229sv00008086sd00001042*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter
+
+pci:v00008086d00001229sv00008086sd00001050*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter
+
+pci:v00008086d00001229sv00008086sd00001051*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter
+
+pci:v00008086d00001229sv00008086sd00001052*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter
+
+pci:v00008086d00001229sv00008086sd000010F0*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Dual Port Adapter
+
+pci:v00008086d00001229sv00008086sd00001229*
+ ID_MODEL_FROM_DATABASE=82557/8/9 [Ethernet Pro 100]
+
+pci:v00008086d00001229sv00008086sd00002009*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Adapter
+
+pci:v00008086d00001229sv00008086sd0000200D*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Cardbus
+
+pci:v00008086d00001229sv00008086sd0000200E*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 LAN+V90 Cardbus Modem
+
+pci:v00008086d00001229sv00008086sd0000200F*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Adapter
+
+pci:v00008086d00001229sv00008086sd00002010*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Combo Adapter
+
+pci:v00008086d00001229sv00008086sd00002013*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Combo Adapter
+
+pci:v00008086d00001229sv00008086sd00002016*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Adapter
+
+pci:v00008086d00001229sv00008086sd00002017*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Combo Mobile Adapter
+
+pci:v00008086d00001229sv00008086sd00002018*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Adapter
+
+pci:v00008086d00001229sv00008086sd00002019*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Combo Mobile Adapter
+
+pci:v00008086d00001229sv00008086sd00002101*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Adapter
+
+pci:v00008086d00001229sv00008086sd00002102*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter
+
+pci:v00008086d00001229sv00008086sd00002103*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter
+
+pci:v00008086d00001229sv00008086sd00002104*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter
+
+pci:v00008086d00001229sv00008086sd00002105*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter
+
+pci:v00008086d00001229sv00008086sd00002106*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Adapter
+
+pci:v00008086d00001229sv00008086sd00002107*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection
+
+pci:v00008086d00001229sv00008086sd00002108*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection
+
+pci:v00008086d00001229sv00008086sd00002200*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter
+
+pci:v00008086d00001229sv00008086sd00002201*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter
+
+pci:v00008086d00001229sv00008086sd00002202*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter
+
+pci:v00008086d00001229sv00008086sd00002203*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
+
+pci:v00008086d00001229sv00008086sd00002204*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
+
+pci:v00008086d00001229sv00008086sd00002205*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter
+
+pci:v00008086d00001229sv00008086sd00002206*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter
+
+pci:v00008086d00001229sv00008086sd00002207*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter
+
+pci:v00008086d00001229sv00008086sd00002208*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter
+
+pci:v00008086d00001229sv00008086sd00002402*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
+
+pci:v00008086d00001229sv00008086sd00002407*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
+
+pci:v00008086d00001229sv00008086sd00002408*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
+
+pci:v00008086d00001229sv00008086sd00002409*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
+
+pci:v00008086d00001229sv00008086sd0000240F*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
+
+pci:v00008086d00001229sv00008086sd00002410*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
+
+pci:v00008086d00001229sv00008086sd00002411*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
+
+pci:v00008086d00001229sv00008086sd00002412*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
+
+pci:v00008086d00001229sv00008086sd00002413*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
+
+pci:v00008086d00001229sv00008086sd00003000*
+ ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LAN on Motherboard
+
+pci:v00008086d00001229sv00008086sd00003001*
+ ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Basic Alert on LAN*
+
+pci:v00008086d00001229sv00008086sd00003002*
+ ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN II*
+
+pci:v00008086d00001229sv00008086sd00003006*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection
+
+pci:v00008086d00001229sv00008086sd00003007*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection
+
+pci:v00008086d00001229sv00008086sd00003008*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection
+
+pci:v00008086d00001229sv00008086sd00003010*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection
+
+pci:v00008086d00001229sv00008086sd00003011*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection
+
+pci:v00008086d00001229sv00008086sd00003012*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection
+
+pci:v00008086d00001229sv00008086sd0000301A*
+ ID_MODEL_FROM_DATABASE=S845WD1-E mainboard
+
+pci:v00008086d00001229sv00008086sd00003411*
+ ID_MODEL_FROM_DATABASE=SDS2 Mainboard
+
+pci:v00008086d0000122D*
+ ID_MODEL_FROM_DATABASE=430FX - 82437FX TSC [Triton I]
+
+pci:v00008086d0000122E*
+ ID_MODEL_FROM_DATABASE=82371FB PIIX ISA [Triton I]
+
+pci:v00008086d00001230*
+ ID_MODEL_FROM_DATABASE=82371FB PIIX IDE [Triton I]
+
+pci:v00008086d00001231*
+ ID_MODEL_FROM_DATABASE=DSVD Modem
+
+pci:v00008086d00001234*
+ ID_MODEL_FROM_DATABASE=430MX - 82371MX Mobile PCI I/O IDE Xcelerator (MPIIX)
+
+pci:v00008086d00001235*
+ ID_MODEL_FROM_DATABASE=430MX - 82437MX Mob. System Ctrlr (MTSC) & 82438MX Data Path (MTDP)
+
+pci:v00008086d00001237*
+ ID_MODEL_FROM_DATABASE=440FX - 82441FX PMC [Natoma]
+
+pci:v00008086d00001237sv00001AF4sd00001100*
+ ID_MODEL_FROM_DATABASE=Qemu virtual machine
+
+pci:v00008086d00001239*
+ ID_MODEL_FROM_DATABASE=82371FB PIIX IDE Interface
+
+pci:v00008086d0000123B*
+ ID_MODEL_FROM_DATABASE=82380PB PCI to PCI Docking Bridge
+
+pci:v00008086d0000123C*
+ ID_MODEL_FROM_DATABASE=82380AB (MISA) Mobile PCI-to-ISA Bridge
+
+pci:v00008086d0000123D*
+ ID_MODEL_FROM_DATABASE=683053 Programmable Interrupt Device
+
+pci:v00008086d0000123E*
+ ID_MODEL_FROM_DATABASE=82466GX (IHPC) Integrated Hot-Plug Controller (hidden mode)
+
+pci:v00008086d0000123F*
+ ID_MODEL_FROM_DATABASE=82466GX Integrated Hot-Plug Controller (IHPC)
+
+pci:v00008086d00001240*
+ ID_MODEL_FROM_DATABASE=82752 (752) AGP Graphics Accelerator
+
+pci:v00008086d0000124B*
+ ID_MODEL_FROM_DATABASE=82380FB (MPCI2) Mobile Docking Controller
+
+pci:v00008086d00001250*
+ ID_MODEL_FROM_DATABASE=430HX - 82439HX TXC [Triton II]
+
+pci:v00008086d00001360*
+ ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub PCI Bridge
+
+pci:v00008086d00001361*
+ ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub Controller (HRes)
+
+pci:v00008086d00001361sv00008086sd00001361*
+ ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub Controller (HRes)
+
+pci:v00008086d00001361sv00008086sd00008000*
+ ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub Controller (HRes)
+
+pci:v00008086d00001460*
+ ID_MODEL_FROM_DATABASE=82870P2 P64H2 Hub PCI Bridge
+
+pci:v00008086d00001461*
+ ID_MODEL_FROM_DATABASE=82870P2 P64H2 I/OxAPIC
+
+pci:v00008086d00001461sv000015D9sd00003480*
+ ID_MODEL_FROM_DATABASE=P4DP6
+
+pci:v00008086d00001461sv00004C53sd00001090*
+ ID_MODEL_FROM_DATABASE=Cx9/Vx9 mainboard
+
+pci:v00008086d00001462*
+ ID_MODEL_FROM_DATABASE=82870P2 P64H2 Hot Plug Controller
+
+pci:v00008086d00001501*
+ ID_MODEL_FROM_DATABASE=82567V-3 Gigabit Network Connection
+
+pci:v00008086d00001502*
+ ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection
+
+pci:v00008086d00001502sv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00008086d00001503*
+ ID_MODEL_FROM_DATABASE=82579V Gigabit Network Connection
+
+pci:v00008086d00001503sv00001043sd0000849C*
+ ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard
+
+pci:v00008086d00001507*
+ ID_MODEL_FROM_DATABASE=Ethernet Express Module X520-P2
+
+pci:v00008086d00001508*
+ ID_MODEL_FROM_DATABASE=82598EB Gigabit BX Network Connection
+
+pci:v00008086d0000150A*
+ ID_MODEL_FROM_DATABASE=82576NS Gigabit Network Connection
+
+pci:v00008086d0000150B*
+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT2 Server Adapter
+
+pci:v00008086d0000150Bsv00008086sd0000A10C*
+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT2 Server Adapter
+
+pci:v00008086d0000150Bsv00008086sd0000A11C*
+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT2 Server Adapter
+
+pci:v00008086d0000150Bsv00008086sd0000A12C*
+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT2 Server Adapter
+
+pci:v00008086d0000150C*
+ ID_MODEL_FROM_DATABASE=82583V Gigabit Network Connection
+
+pci:v00008086d0000150D*
+ ID_MODEL_FROM_DATABASE=82576 Gigabit Backplane Connection
+
+pci:v00008086d0000150Dsv00008086sd0000A10C*
+ ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Mezzanine Card
+
+pci:v00008086d0000150E*
+ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection
+
+pci:v00008086d0000150Esv0000103Csd00001780*
+ ID_MODEL_FROM_DATABASE=NC365T 4-port Ethernet Server Adapter
+
+pci:v00008086d0000150Esv00008086sd000012A1*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T4
+
+pci:v00008086d0000150Esv00008086sd000012A2*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T4
+
+pci:v00008086d0000150F*
+ ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection
+
+pci:v00008086d00001510*
+ ID_MODEL_FROM_DATABASE=82580 Gigabit Backplane Connection
+
+pci:v00008086d00001511*
+ ID_MODEL_FROM_DATABASE=82580 Gigabit SFP Connection
+
+pci:v00008086d00001514*
+ ID_MODEL_FROM_DATABASE=Ethernet X520 10GbE Dual Port KX4 Mezz
+
+pci:v00008086d00001514sv00008086sd0000000B*
+ ID_MODEL_FROM_DATABASE=Ethernet X520 10GbE Dual Port KX4 Mezz
+
+pci:v00008086d00001515*
+ ID_MODEL_FROM_DATABASE=X540 Ethernet Controller Virtual Function
+
+pci:v00008086d00001516*
+ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection
+
+pci:v00008086d00001516sv00008086sd000012B1*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T2
+
+pci:v00008086d00001516sv00008086sd000012B2*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T2
+
+pci:v00008086d00001517*
+ ID_MODEL_FROM_DATABASE=82599ES 10 Gigabit Network Connection
+
+pci:v00008086d00001517sv00001137sd0000006A*
+ ID_MODEL_FROM_DATABASE=UCS CNA M61KR-I Intel Converged Network Adapter
+
+pci:v00008086d00001518*
+ ID_MODEL_FROM_DATABASE=82576NS SerDes Gigabit Network Connection
+
+pci:v00008086d0000151C*
+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit TN Network Connection
+
+pci:v00008086d0000151Csv0000108Esd00007B13*
+ ID_MODEL_FROM_DATABASE=Dual 10GBASE-T LP
+
+pci:v00008086d00001520*
+ ID_MODEL_FROM_DATABASE=I350 Ethernet Controller Virtual Function
+
+pci:v00008086d00001521*
+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection
+
+pci:v00008086d00001521sv00001028sd00001F60*
+ ID_MODEL_FROM_DATABASE=Intel GbE 4P I350crNDC
+
+pci:v00008086d00001521sv00001028sd00001F62*
+ ID_MODEL_FROM_DATABASE=Intel GbE 2P I350crNDC
+
+pci:v00008086d00001521sv0000103Csd000017D1*
+ ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366FLR Adapter
+
+pci:v00008086d00001521sv0000103Csd0000337F*
+ ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361i Adapter
+
+pci:v00008086d00001521sv0000103Csd00003380*
+ ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366i Adapter
+
+pci:v00008086d00001521sv0000103Csd0000339E*
+ ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361T Adapter
+
+pci:v00008086d00001521sv0000108Esd00007B16*
+ ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 ExpressModule, UTP
+
+pci:v00008086d00001521sv0000108Esd00007B18*
+ ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP
+
+pci:v00008086d00001521sv000010A9sd0000802A*
+ ID_MODEL_FROM_DATABASE=UV2-BaseIO dual-port GbE
+
+pci:v00008086d00001521sv00008086sd00000001*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4
+
+pci:v00008086d00001521sv00008086sd00000002*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2
+
+pci:v00008086d00001521sv00008086sd000000A1*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4
+
+pci:v00008086d00001521sv00008086sd000000A2*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2
+
+pci:v00008086d00001521sv00008086sd00005001*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4
+
+pci:v00008086d00001521sv00008086sd00005002*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2
+
+pci:v00008086d00001522*
+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection
+
+pci:v00008086d00001522sv0000108Esd00007B17*
+ ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 ExpressModule, MMF
+
+pci:v00008086d00001522sv0000108Esd00007B19*
+ ID_MODEL_FROM_DATABASE=Dual Port GbE PCIe 2.0 Low Profile Adapter, MMF
+
+pci:v00008086d00001522sv00008086sd00000002*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2
+
+pci:v00008086d00001522sv00008086sd00000003*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F4
+
+pci:v00008086d00001522sv00008086sd00000004*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F2
+
+pci:v00008086d00001522sv00008086sd000000A3*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F4
+
+pci:v00008086d00001522sv00008086sd000000A4*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F2
+
+pci:v00008086d00001523*
+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection
+
+pci:v00008086d00001523sv0000103Csd00001784*
+ ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter
+
+pci:v00008086d00001523sv0000103Csd000018D1*
+ ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter
+
+pci:v00008086d00001523sv0000103Csd0000339F*
+ ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366M Adapter
+
+pci:v00008086d00001523sv00008086sd00001F52*
+ ID_MODEL_FROM_DATABASE=1GbE 4P I350 Mezz
+
+pci:v00008086d00001524*
+ ID_MODEL_FROM_DATABASE=I350 Gigabit Connection
+
+pci:v00008086d00001525*
+ ID_MODEL_FROM_DATABASE=82567V-4 Gigabit Network Connection
+
+pci:v00008086d00001526*
+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection
+
+pci:v00008086d00001526sv00008086sd0000A05C*
+ ID_MODEL_FROM_DATABASE=Gigabit ET2 Quad Port Server Adapter
+
+pci:v00008086d00001526sv00008086sd0000A06C*
+ ID_MODEL_FROM_DATABASE=Gigabit ET2 Quad Port Server Adapter
+
+pci:v00008086d00001527*
+ ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection
+
+pci:v00008086d00001527sv00008086sd00000001*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-F4
+
+pci:v00008086d00001527sv00008086sd00000002*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-F4
+
+pci:v00008086d00001528*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2
+
+pci:v00008086d00001528sv00001028sd00001F61*
+ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X540/I350 rNDC
+
+pci:v00008086d00001528sv0000103Csd0000192D*
+ ID_MODEL_FROM_DATABASE=561FLR-T 2-port 10Gb Ethernet Adapter
+
+pci:v00008086d00001528sv0000103Csd0000211A*
+ ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 561T Adapter
+
+pci:v00008086d00001528sv0000108Esd00007B14*
+ ID_MODEL_FROM_DATABASE=Sun Dual Port 10 GbE PCIe 2.0 ExpressModule, Base-T
+
+pci:v00008086d00001528sv0000108Esd00007B15*
+ ID_MODEL_FROM_DATABASE=Sun Dual Port 10 GbE PCIe 2.0 Low Profile Adapter, Base-T
+
+pci:v00008086d00001528sv00001137sd000000BF*
+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2
+
+pci:v00008086d00001528sv00008086sd00000001*
+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2
+
+pci:v00008086d00001528sv00008086sd00000002*
+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T1
+
+pci:v00008086d00001528sv00008086sd0000001A*
+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2
+
+pci:v00008086d00001528sv00008086sd000000A2*
+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T1
+
+pci:v00008086d00001528sv00008086sd00001F61*
+ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X540/I350 rNDC
+
+pci:v00008086d00001528sv00008086sd00005003*
+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X540-t Adapter
+
+pci:v00008086d00001529*
+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection with FCoE
+
+pci:v00008086d0000152A*
+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection with FCoE
+
+pci:v00008086d00001533*
+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection
+
+pci:v00008086d00001533sv0000103Csd00000003*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1
+
+pci:v00008086d00001533sv00008086sd00000001*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1
+
+pci:v00008086d00001533sv00008086sd00000002*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1
+
+pci:v00008086d00001534*
+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection
+
+pci:v00008086d00001536*
+ ID_MODEL_FROM_DATABASE=I210 Gigabit Fiber Network Connection
+
+pci:v00008086d00001537*
+ ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection
+
+pci:v00008086d00001538*
+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection
+
+pci:v00008086d00001539*
+ ID_MODEL_FROM_DATABASE=I211 Gigabit Network Connection
+
+pci:v00008086d0000153A*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM
+
+pci:v00008086d0000153B*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection I217-V
+
+pci:v00008086d00001547*
+ ID_MODEL_FROM_DATABASE=DSL3510 Thunderbolt Port [Cactus Ridge]
+
+pci:v00008086d00001549*
+ ID_MODEL_FROM_DATABASE=DSL3510 Thunderbolt Controller [Cactus Ridge]
+
+pci:v00008086d0000154A*
+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4
+
+pci:v00008086d0000154Asv00008086sd0000011A*
+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4
+
+pci:v00008086d0000154Asv00008086sd0000011B*
+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4
+
+pci:v00008086d0000154Asv00008086sd0000011C*
+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4
+
+pci:v00008086d0000154D*
+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter
+
+pci:v00008086d0000154Dsv00008086sd00007B11*
+ ID_MODEL_FROM_DATABASE=10GbE 2P X520 Adapter
+
+pci:v00008086d00001557*
+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Network Connection
+
+pci:v00008086d00001559*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection I218-V
+
+pci:v00008086d0000155A*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection I218-LM
+
+pci:v00008086d00001560*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X540-AT1
+
+pci:v00008086d0000157B*
+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection
+
+pci:v00008086d00001960*
+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor
+
+pci:v00008086d00001960sv0000101Esd00000431*
+ ID_MODEL_FROM_DATABASE=MegaRAID 431 RAID Controller
+
+pci:v00008086d00001960sv0000101Esd00000438*
+ ID_MODEL_FROM_DATABASE=MegaRAID 438 Ultra2 LVD RAID Controller
+
+pci:v00008086d00001960sv0000101Esd00000466*
+ ID_MODEL_FROM_DATABASE=MegaRAID 466 Express Plus RAID Controller
+
+pci:v00008086d00001960sv0000101Esd00000467*
+ ID_MODEL_FROM_DATABASE=MegaRAID 467 Enterprise 1500 RAID Controller
+
+pci:v00008086d00001960sv0000101Esd00000490*
+ ID_MODEL_FROM_DATABASE=MegaRAID 490 Express 300 RAID Controller
+
+pci:v00008086d00001960sv0000101Esd00000762*
+ ID_MODEL_FROM_DATABASE=MegaRAID 762 Express RAID Controller
+
+pci:v00008086d00001960sv0000101Esd000009A0*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC
+
+pci:v00008086d00001960sv00001028sd00000467*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/DC
+
+pci:v00008086d00001960sv00001028sd00001111*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC
+
+pci:v00008086d00001960sv0000103Csd000003A2*
+ ID_MODEL_FROM_DATABASE=MegaRAID
+
+pci:v00008086d00001960sv0000103Csd000010C6*
+ ID_MODEL_FROM_DATABASE=MegaRAID 438, NetRAID-3Si
+
+pci:v00008086d00001960sv0000103Csd000010C7*
+ ID_MODEL_FROM_DATABASE=MegaRAID T5, Integrated NetRAID
+
+pci:v00008086d00001960sv0000103Csd000010CC*
+ ID_MODEL_FROM_DATABASE=MegaRAID, Integrated NetRAID
+
+pci:v00008086d00001960sv0000103Csd000010CD*
+ ID_MODEL_FROM_DATABASE=NetRAID-1Si
+
+pci:v00008086d00001960sv0000105Asd00000000*
+ ID_MODEL_FROM_DATABASE=SuperTrak
+
+pci:v00008086d00001960sv0000105Asd00002168*
+ ID_MODEL_FROM_DATABASE=SuperTrak Pro
+
+pci:v00008086d00001960sv0000105Asd00005168*
+ ID_MODEL_FROM_DATABASE=SuperTrak66/100
+
+pci:v00008086d00001960sv00001111sd00001111*
+ ID_MODEL_FROM_DATABASE=MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC
+
+pci:v00008086d00001960sv00001111sd00001112*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC
+
+pci:v00008086d00001960sv0000113Csd000003A2*
+ ID_MODEL_FROM_DATABASE=MegaRAID
+
+pci:v00008086d00001960sv0000E4BFsd00001010*
+ ID_MODEL_FROM_DATABASE=CG1-RADIO
+
+pci:v00008086d00001960sv0000E4BFsd00001020*
+ ID_MODEL_FROM_DATABASE=CU2-QUARTET
+
+pci:v00008086d00001960sv0000E4BFsd00001040*
+ ID_MODEL_FROM_DATABASE=CU1-CHORUS
+
+pci:v00008086d00001960sv0000E4BFsd00003100*
+ ID_MODEL_FROM_DATABASE=CX1-BAND
+
+pci:v00008086d00001962*
+ ID_MODEL_FROM_DATABASE=80960RM (i960RM) Microprocessor
+
+pci:v00008086d00001962sv0000105Asd00000000*
+ ID_MODEL_FROM_DATABASE=SuperTrak SX6000 I2O CPU
+
+pci:v00008086d00001A21*
+ ID_MODEL_FROM_DATABASE=82840 840 [Carmel] Chipset Host Bridge (Hub A)
+
+pci:v00008086d00001A23*
+ ID_MODEL_FROM_DATABASE=82840 840 [Carmel] Chipset AGP Bridge
+
+pci:v00008086d00001A24*
+ ID_MODEL_FROM_DATABASE=82840 840 [Carmel] Chipset PCI Bridge (Hub B)
+
+pci:v00008086d00001A30*
+ ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge
+
+pci:v00008086d00001A30sv00001028sd0000010E*
+ ID_MODEL_FROM_DATABASE=Optiplex GX240
+
+pci:v00008086d00001A30sv000015D9sd00003280*
+ ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard
+
+pci:v00008086d00001A31*
+ ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset AGP Bridge
+
+pci:v00008086d00001A38*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine
+
+pci:v00008086d00001A38sv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d00001A38sv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board
+
+pci:v00008086d00001A48*
+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller
+
+pci:v00008086d00001A48sv00008086sd0000A01F*
+ ID_MODEL_FROM_DATABASE=PRO/10GbE SR Server Adapter
+
+pci:v00008086d00001A48sv00008086sd0000A11F*
+ ID_MODEL_FROM_DATABASE=PRO/10GbE SR Server Adapter
+
+pci:v00008086d00001B48*
+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller
+
+pci:v00008086d00001B48sv00008086sd0000A01F*
+ ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter
+
+pci:v00008086d00001B48sv00008086sd0000A11F*
+ ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter
+
+pci:v00008086d00001C00*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 4 port SATA IDE Controller
+
+pci:v00008086d00001C01*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 4 port SATA IDE Controller
+
+pci:v00008086d00001C02*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller
+
+pci:v00008086d00001C02sv00001028sd000004AA*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00008086d00001C02sv00001043sd0000844D*
+ ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard
+
+pci:v00008086d00001C03*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller
+
+pci:v00008086d00001C03sv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00008086d00001C03sv00001028sd000004B2*
+ ID_MODEL_FROM_DATABASE=Vostro 3350
+
+pci:v00008086d00001C03sv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00008086d00001C03sv00008086sd00007270*
+ ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00001C04*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA RAID Controller
+
+pci:v00008086d00001C05*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA RAID Controller
+
+pci:v00008086d00001C08*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 2 port SATA IDE Controller
+
+pci:v00008086d00001C09*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 2 port SATA IDE Controller
+
+pci:v00008086d00001C10*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1
+
+pci:v00008086d00001C10sv00001028sd000004AA*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00008086d00001C10sv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00008086d00001C10sv00008086sd00007270*
+ ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00001C12*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2
+
+pci:v00008086d00001C12sv00001028sd000004AA*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00008086d00001C12sv00008086sd00007270*
+ ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00001C14*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3
+
+pci:v00008086d00001C14sv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00008086d00001C14sv00008086sd00007270*
+ ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00001C16*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 4
+
+pci:v00008086d00001C16sv00001028sd000004AA*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00008086d00001C18*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5
+
+pci:v00008086d00001C18sv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00008086d00001C1A*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6
+
+pci:v00008086d00001C1Asv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00008086d00001C1C*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 7
+
+pci:v00008086d00001C1E*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8
+
+pci:v00008086d00001C20*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller
+
+pci:v00008086d00001C20sv00001028sd00000490*
+ ID_MODEL_FROM_DATABASE=Alienware M17x R3
+
+pci:v00008086d00001C20sv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00008086d00001C20sv00001028sd000004AA*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00008086d00001C20sv00001028sd000004B2*
+ ID_MODEL_FROM_DATABASE=Vostro 3350
+
+pci:v00008086d00001C20sv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00008086d00001C20sv00001043sd00008418*
+ ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard
+
+pci:v00008086d00001C20sv00008086sd00002008*
+ ID_MODEL_FROM_DATABASE=DQ67SW board
+
+pci:v00008086d00001C20sv00008086sd00007270*
+ ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00001C22*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller
+
+pci:v00008086d00001C22sv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00008086d00001C22sv00001028sd000004AA*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00008086d00001C22sv00001028sd000004B2*
+ ID_MODEL_FROM_DATABASE=Vostro 3350
+
+pci:v00008086d00001C22sv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00008086d00001C22sv00001043sd0000844D*
+ ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard
+
+pci:v00008086d00001C22sv00008086sd00007270*
+ ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00001C24*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family Thermal Management Controller
+
+pci:v00008086d00001C25*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family DMI to PCI Bridge
+
+pci:v00008086d00001C26*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1
+
+pci:v00008086d00001C26sv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00008086d00001C26sv00001028sd000004AA*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00008086d00001C26sv00001028sd000004B2*
+ ID_MODEL_FROM_DATABASE=Vostro 3350
+
+pci:v00008086d00001C26sv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00008086d00001C26sv00001043sd0000844D*
+ ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard
+
+pci:v00008086d00001C26sv00008086sd00007270*
+ ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00001C27*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1
+
+pci:v00008086d00001C27sv00008086sd00007270*
+ ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00001C2C*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #5
+
+pci:v00008086d00001C2Csv00008086sd00007270*
+ ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00001C2D*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2
+
+pci:v00008086d00001C2Dsv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00008086d00001C2Dsv00001028sd000004AA*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00008086d00001C2Dsv00001028sd000004B2*
+ ID_MODEL_FROM_DATABASE=Vostro 3350
+
+pci:v00008086d00001C2Dsv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00008086d00001C2Dsv00001043sd0000844D*
+ ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard
+
+pci:v00008086d00001C2Dsv00008086sd00007270*
+ ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00001C33*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LAN Controller
+
+pci:v00008086d00001C35*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family VECI Controller
+
+pci:v00008086d00001C3A*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1
+
+pci:v00008086d00001C3Asv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00008086d00001C3Asv00001028sd000004AA*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00008086d00001C3Asv00001028sd000004B2*
+ ID_MODEL_FROM_DATABASE=Vostro 3350
+
+pci:v00008086d00001C3Asv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00008086d00001C3Asv00001043sd0000844D*
+ ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard
+
+pci:v00008086d00001C3Asv00008086sd00007270*
+ ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00001C3B*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #2
+
+pci:v00008086d00001C3C*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family IDE-r Controller
+
+pci:v00008086d00001C3D*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family KT Controller
+
+pci:v00008086d00001C40*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
+
+pci:v00008086d00001C41*
+ ID_MODEL_FROM_DATABASE=Mobile SFF 6 Series Chipset Family LPC Controller
+
+pci:v00008086d00001C42*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
+
+pci:v00008086d00001C43*
+ ID_MODEL_FROM_DATABASE=Mobile 6 Series Chipset Family LPC Controller
+
+pci:v00008086d00001C44*
+ ID_MODEL_FROM_DATABASE=Z68 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C45*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
+
+pci:v00008086d00001C46*
+ ID_MODEL_FROM_DATABASE=P67 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C46sv00001043sd0000844D*
+ ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard
+
+pci:v00008086d00001C47*
+ ID_MODEL_FROM_DATABASE=UM67 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C48*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
+
+pci:v00008086d00001C49*
+ ID_MODEL_FROM_DATABASE=HM65 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C49sv00008086sd00007270*
+ ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
+
+pci:v00008086d00001C4A*
+ ID_MODEL_FROM_DATABASE=H67 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C4Asv00001028sd000004AA*
+ ID_MODEL_FROM_DATABASE=XPS 8300
+
+pci:v00008086d00001C4B*
+ ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C4Bsv00001028sd000004B2*
+ ID_MODEL_FROM_DATABASE=Vostro 3350
+
+pci:v00008086d00001C4Bsv00001028sd000004DA*
+ ID_MODEL_FROM_DATABASE=Vostro 3750
+
+pci:v00008086d00001C4C*
+ ID_MODEL_FROM_DATABASE=Q65 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C4D*
+ ID_MODEL_FROM_DATABASE=QS67 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C4E*
+ ID_MODEL_FROM_DATABASE=Q67 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C4F*
+ ID_MODEL_FROM_DATABASE=QM67 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C4Fsv00001028sd000004A3*
+ ID_MODEL_FROM_DATABASE=Precision M4600
+
+pci:v00008086d00001C50*
+ ID_MODEL_FROM_DATABASE=B65 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C51*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
+
+pci:v00008086d00001C52*
+ ID_MODEL_FROM_DATABASE=C202 Chipset Family LPC Controller
+
+pci:v00008086d00001C53*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
+
+pci:v00008086d00001C54*
+ ID_MODEL_FROM_DATABASE=C204 Chipset Family LPC Controller
+
+pci:v00008086d00001C55*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
+
+pci:v00008086d00001C56*
+ ID_MODEL_FROM_DATABASE=C206 Chipset Family LPC Controller
+
+pci:v00008086d00001C57*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
+
+pci:v00008086d00001C58*
+ ID_MODEL_FROM_DATABASE=Upgraded B65 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C59*
+ ID_MODEL_FROM_DATABASE=Upgraded HM67 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C5A*
+ ID_MODEL_FROM_DATABASE=Upgraded Q67 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C5B*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
+
+pci:v00008086d00001C5C*
+ ID_MODEL_FROM_DATABASE=H61 Express Chipset Family LPC Controller
+
+pci:v00008086d00001C5D*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
+
+pci:v00008086d00001C5E*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
+
+pci:v00008086d00001C5F*
+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
+
+pci:v00008086d00001D00*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset 4-Port SATA IDE Controller
+
+pci:v00008086d00001D02*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset 6-Port SATA AHCI Controller
+
+pci:v00008086d00001D04*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller
+
+pci:v00008086d00001D06*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA Premium RAID Controller
+
+pci:v00008086d00001D08*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset 2-Port SATA IDE Controller
+
+pci:v00008086d00001D10*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 1
+
+pci:v00008086d00001D11*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 1
+
+pci:v00008086d00001D12*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 2
+
+pci:v00008086d00001D13*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 2
+
+pci:v00008086d00001D14*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 3
+
+pci:v00008086d00001D15*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 3
+
+pci:v00008086d00001D16*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 4
+
+pci:v00008086d00001D17*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 4
+
+pci:v00008086d00001D18*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 5
+
+pci:v00008086d00001D19*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 5
+
+pci:v00008086d00001D1A*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 6
+
+pci:v00008086d00001D1B*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 6
+
+pci:v00008086d00001D1C*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 7
+
+pci:v00008086d00001D1D*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 7
+
+pci:v00008086d00001D1E*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 8
+
+pci:v00008086d00001D1F*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 8
+
+pci:v00008086d00001D20*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset High Definition Audio Controller
+
+pci:v00008086d00001D22*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset SMBus Host Controller
+
+pci:v00008086d00001D24*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset Thermal Management Controller
+
+pci:v00008086d00001D25*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset DMI to PCI Bridge
+
+pci:v00008086d00001D26*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset USB2 Enhanced Host Controller #1
+
+pci:v00008086d00001D2D*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset USB2 Enhanced Host Controller #2
+
+pci:v00008086d00001D33*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset LAN Controller
+
+pci:v00008086d00001D35*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset VECI Controller
+
+pci:v00008086d00001D3A*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset MEI Controller #1
+
+pci:v00008086d00001D3B*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset MEI Controller #2
+
+pci:v00008086d00001D3C*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset IDE-r Controller
+
+pci:v00008086d00001D3D*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset KT Controller
+
+pci:v00008086d00001D3E*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset PCI Express Virtual Root Port
+
+pci:v00008086d00001D3F*
+ ID_MODEL_FROM_DATABASE=C608/C606/X79 series chipset PCI Express Virtual Switch Port
+
+pci:v00008086d00001D40*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset LPC Controller
+
+pci:v00008086d00001D41*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset LPC Controller
+
+pci:v00008086d00001D50*
+ ID_MODEL_FROM_DATABASE=C608 chipset Dual 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D54*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D55*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D58*
+ ID_MODEL_FROM_DATABASE=C606 chipset Dual 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D59*
+ ID_MODEL_FROM_DATABASE=C604/X79 series chipset 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D5A*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA Storage Control Unit
+
+pci:v00008086d00001D5B*
+ ID_MODEL_FROM_DATABASE=C602 chipset 4-Port SATA Storage Control Unit
+
+pci:v00008086d00001D5C*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D5D*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D5E*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA Storage Control Unit
+
+pci:v00008086d00001D5F*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset 4-Port SATA Storage Control Unit
+
+pci:v00008086d00001D60*
+ ID_MODEL_FROM_DATABASE=C608 chipset Dual 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D64*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D65*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D68*
+ ID_MODEL_FROM_DATABASE=C606 chipset Dual 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D69*
+ ID_MODEL_FROM_DATABASE=C604/X79 series chipset 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D6A*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA Storage Control Unit
+
+pci:v00008086d00001D6B*
+ ID_MODEL_FROM_DATABASE=C602 chipset 4-Port SATA Storage Control Unit
+
+pci:v00008086d00001D6C*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D6D*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset 4-Port SATA/SAS Storage Control Unit
+
+pci:v00008086d00001D6E*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA Storage Control Unit
+
+pci:v00008086d00001D6F*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset 4-Port SATA Storage Control Unit
+
+pci:v00008086d00001D70*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset SMBus Controller 0
+
+pci:v00008086d00001D71*
+ ID_MODEL_FROM_DATABASE=C608/C606/X79 series chipset SMBus Controller 1
+
+pci:v00008086d00001D72*
+ ID_MODEL_FROM_DATABASE=C608 chipset SMBus Controller 2
+
+pci:v00008086d00001D74*
+ ID_MODEL_FROM_DATABASE=C608/C606/X79 series chipset PCI Express Upstream Port
+
+pci:v00008086d00001D76*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset Multi-Function Glue
+
+pci:v00008086d00001E00*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 4-port SATA Controller [IDE mode]
+
+pci:v00008086d00001E01*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family 4-port SATA Controller [IDE mode]
+
+pci:v00008086d00001E02*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode]
+
+pci:v00008086d00001E02sv00001043sd000084CA*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v00008086d00001E03*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode]
+
+pci:v00008086d00001E03sv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d00001E03sv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00001E04*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SATA Controller [RAID mode]
+
+pci:v00008086d00001E05*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset SATA Controller [RAID mode]
+
+pci:v00008086d00001E06*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SATA Controller [RAID mode]
+
+pci:v00008086d00001E07*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family SATA Controller [RAID mode]
+
+pci:v00008086d00001E08*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 2-port SATA Controller [IDE mode]
+
+pci:v00008086d00001E09*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family 2-port SATA Controller [IDE mode]
+
+pci:v00008086d00001E0E*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SATA Controller [RAID mode]
+
+pci:v00008086d00001E10*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1
+
+pci:v00008086d00001E10sv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d00001E10sv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00001E10sv00001043sd000084CA*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v00008086d00001E12*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2
+
+pci:v00008086d00001E12sv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d00001E12sv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00001E14*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 3
+
+pci:v00008086d00001E16*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4
+
+pci:v00008086d00001E16sv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d00001E18*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5
+
+pci:v00008086d00001E18sv00001043sd000084CA*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v00008086d00001E1A*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 6
+
+pci:v00008086d00001E1C*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 7
+
+pci:v00008086d00001E1E*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 8
+
+pci:v00008086d00001E20*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller
+
+pci:v00008086d00001E20sv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d00001E20sv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00001E20sv00001043sd00008415*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v00008086d00001E22*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller
+
+pci:v00008086d00001E22sv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d00001E22sv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00001E22sv00001043sd000084CA*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v00008086d00001E24*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family Thermal Management Controller
+
+pci:v00008086d00001E24sv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00001E25*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family DMI to PCI Bridge
+
+pci:v00008086d00001E26*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1
+
+pci:v00008086d00001E26sv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d00001E26sv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00001E26sv00001043sd000084CA*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v00008086d00001E2D*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2
+
+pci:v00008086d00001E2Dsv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d00001E2Dsv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00001E2Dsv00001043sd000084CA*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v00008086d00001E31*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller
+
+pci:v00008086d00001E31sv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d00001E31sv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00001E31sv00001043sd000084CA*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v00008086d00001E33*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family LAN Controller
+
+pci:v00008086d00001E3A*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1
+
+pci:v00008086d00001E3Asv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d00001E3Asv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00001E3Asv00001043sd000084CA*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v00008086d00001E3B*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #2
+
+pci:v00008086d00001E3C*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family IDE-r Controller
+
+pci:v00008086d00001E3D*
+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family KT Controller
+
+pci:v00008086d00001E41*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E42*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E43*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E44*
+ ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller
+
+pci:v00008086d00001E45*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E46*
+ ID_MODEL_FROM_DATABASE=Z75 Express Chipset LPC Controller
+
+pci:v00008086d00001E47*
+ ID_MODEL_FROM_DATABASE=Q77 Express Chipset LPC Controller
+
+pci:v00008086d00001E48*
+ ID_MODEL_FROM_DATABASE=Q75 Express Chipset LPC Controller
+
+pci:v00008086d00001E49*
+ ID_MODEL_FROM_DATABASE=B75 Express Chipset LPC Controller
+
+pci:v00008086d00001E4A*
+ ID_MODEL_FROM_DATABASE=H77 Express Chipset LPC Controller
+
+pci:v00008086d00001E4Asv00001043sd000084CA*
+ ID_MODEL_FROM_DATABASE=P8H77-I Motherboard
+
+pci:v00008086d00001E4B*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E4C*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E4D*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E4E*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E4F*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E50*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E51*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E52*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E53*
+ ID_MODEL_FROM_DATABASE=C216 Series Chipset LPC Controller
+
+pci:v00008086d00001E54*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E55*
+ ID_MODEL_FROM_DATABASE=QM77 Express Chipset LPC Controller
+
+pci:v00008086d00001E56*
+ ID_MODEL_FROM_DATABASE=QS77 Express Chipset LPC Controller
+
+pci:v00008086d00001E57*
+ ID_MODEL_FROM_DATABASE=HM77 Express Chipset LPC Controller
+
+pci:v00008086d00001E58*
+ ID_MODEL_FROM_DATABASE=UM77 Express Chipset LPC Controller
+
+pci:v00008086d00001E59*
+ ID_MODEL_FROM_DATABASE=HM76 Express Chipset LPC Controller
+
+pci:v00008086d00001E59sv00001043sd00001477*
+ ID_MODEL_FROM_DATABASE=N56VZ
+
+pci:v00008086d00001E59sv00001043sd00001517*
+ ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A
+
+pci:v00008086d00001E5A*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E5B*
+ ID_MODEL_FROM_DATABASE=UM77 Express Chipset LPC Controller
+
+pci:v00008086d00001E5C*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E5D*
+ ID_MODEL_FROM_DATABASE=HM75 Express Chipset LPC Controller
+
+pci:v00008086d00001E5E*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001E5F*
+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller
+
+pci:v00008086d00001F00*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F01*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F02*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F03*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F04*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F05*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F06*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F07*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F08*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F09*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F0A*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F0B*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F0C*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F0D*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F0E*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F0F*
+ ID_MODEL_FROM_DATABASE=Avoton SSA-Cunit
+
+pci:v00008086d00001F10*
+ ID_MODEL_FROM_DATABASE=Avoton PCIe Root Port 1
+
+pci:v00008086d00001F11*
+ ID_MODEL_FROM_DATABASE=Avoton PCIe Root Port 2
+
+pci:v00008086d00001F12*
+ ID_MODEL_FROM_DATABASE=Avoton PCIe Root Port 3
+
+pci:v00008086d00001F13*
+ ID_MODEL_FROM_DATABASE=Avoton PCIe Root Port 4
+
+pci:v00008086d00001F14*
+ ID_MODEL_FROM_DATABASE=Avoton RAS
+
+pci:v00008086d00001F15*
+ ID_MODEL_FROM_DATABASE=Avoton SMBus 2.0
+
+pci:v00008086d00001F16*
+ ID_MODEL_FROM_DATABASE=Avoton RCEC
+
+pci:v00008086d00001F18*
+ ID_MODEL_FROM_DATABASE=Avoton nCPM
+
+pci:v00008086d00001F19*
+ ID_MODEL_FROM_DATABASE=Avoton nCPM
+
+pci:v00008086d00001F20*
+ ID_MODEL_FROM_DATABASE=Avoton 4-Port IDE SATA2 Controller
+
+pci:v00008086d00001F21*
+ ID_MODEL_FROM_DATABASE=Avoton 4-Port IDE SATA2 Controller
+
+pci:v00008086d00001F22*
+ ID_MODEL_FROM_DATABASE=Avoton AHCI SATA2 Controller
+
+pci:v00008086d00001F23*
+ ID_MODEL_FROM_DATABASE=Avoton AHCI SATA2 Controller
+
+pci:v00008086d00001F24*
+ ID_MODEL_FROM_DATABASE=Avoton RAID SATA2 Controller
+
+pci:v00008086d00001F25*
+ ID_MODEL_FROM_DATABASE=Avoton RAID SATA2 Controller
+
+pci:v00008086d00001F26*
+ ID_MODEL_FROM_DATABASE=Avoton RAID SATA2 Controller
+
+pci:v00008086d00001F27*
+ ID_MODEL_FROM_DATABASE=Avoton RAID SATA2 Controller
+
+pci:v00008086d00001F2C*
+ ID_MODEL_FROM_DATABASE=Avoton USB Enhanced Host Controller
+
+pci:v00008086d00001F2E*
+ ID_MODEL_FROM_DATABASE=Avoton RAID SATA2 Controller
+
+pci:v00008086d00001F2F*
+ ID_MODEL_FROM_DATABASE=Avoton RAID SATA2 Controller
+
+pci:v00008086d00001F30*
+ ID_MODEL_FROM_DATABASE=Avoton 2-Port IDE SATA3 Controller
+
+pci:v00008086d00001F31*
+ ID_MODEL_FROM_DATABASE=Avoton 2-Port IDE SATA3 Controller
+
+pci:v00008086d00001F32*
+ ID_MODEL_FROM_DATABASE=Avoton AHCI SATA3 Controller
+
+pci:v00008086d00001F33*
+ ID_MODEL_FROM_DATABASE=Avoton AHCI SATA3 Controller
+
+pci:v00008086d00001F34*
+ ID_MODEL_FROM_DATABASE=Avoton RAID SATA3 Controller
+
+pci:v00008086d00001F35*
+ ID_MODEL_FROM_DATABASE=Avoton RAID SATA3 Controller
+
+pci:v00008086d00001F36*
+ ID_MODEL_FROM_DATABASE=Avoton RAID SATA3 Controller
+
+pci:v00008086d00001F37*
+ ID_MODEL_FROM_DATABASE=Avoton RAID SATA3 Controller
+
+pci:v00008086d00001F38*
+ ID_MODEL_FROM_DATABASE=Avoton PCU
+
+pci:v00008086d00001F39*
+ ID_MODEL_FROM_DATABASE=Avoton PCU
+
+pci:v00008086d00001F3A*
+ ID_MODEL_FROM_DATABASE=Avoton PCU
+
+pci:v00008086d00001F3B*
+ ID_MODEL_FROM_DATABASE=Avoton PCU
+
+pci:v00008086d00001F3C*
+ ID_MODEL_FROM_DATABASE=Avoton PCU SMBus
+
+pci:v00008086d00001F3D*
+ ID_MODEL_FROM_DATABASE=Avoton PCU SMBus
+
+pci:v00008086d00001F3E*
+ ID_MODEL_FROM_DATABASE=Avoton RAID SATA3 Controller
+
+pci:v00008086d00001F3F*
+ ID_MODEL_FROM_DATABASE=Avoton RAID SATA3 Controller
+
+pci:v00008086d00001F40*
+ ID_MODEL_FROM_DATABASE=Avoton GbE x4 1000base-KX
+
+pci:v00008086d00001F41*
+ ID_MODEL_FROM_DATABASE=Avoton GbE x4 SGMII
+
+pci:v00008086d00001F42*
+ ID_MODEL_FROM_DATABASE=Avoton GbE
+
+pci:v00008086d00001F43*
+ ID_MODEL_FROM_DATABASE=Avoton GbE EEPROM-less
+
+pci:v00008086d00001F44*
+ ID_MODEL_FROM_DATABASE=Avoton GbE Virtual Function
+
+pci:v00008086d00001F45*
+ ID_MODEL_FROM_DATABASE=Avoton GbE 2500base-KX
+
+pci:v00008086d00002250*
+ ID_MODEL_FROM_DATABASE=Xeon Phi Coprocessor 5110P
+
+pci:v00008086d00002310*
+ ID_MODEL_FROM_DATABASE=DH89xxCC LPC Controller
+
+pci:v00008086d00002323*
+ ID_MODEL_FROM_DATABASE=DH89xxCC 4 Port SATA AHCI Controller
+
+pci:v00008086d00002330*
+ ID_MODEL_FROM_DATABASE=DH89xxCC SMBus Controller
+
+pci:v00008086d00002331*
+ ID_MODEL_FROM_DATABASE=DH89xxCC Chap Counter
+
+pci:v00008086d00002332*
+ ID_MODEL_FROM_DATABASE=DH89xxCC Thermal Subsystem
+
+pci:v00008086d00002334*
+ ID_MODEL_FROM_DATABASE=DH89xxCC USB2 Enhanced Host Controller #1
+
+pci:v00008086d00002335*
+ ID_MODEL_FROM_DATABASE=DH89xxCC USB2 Enhanced Host Controller #1
+
+pci:v00008086d00002342*
+ ID_MODEL_FROM_DATABASE=DH89xxCC PCI Express Root Port #1
+
+pci:v00008086d00002343*
+ ID_MODEL_FROM_DATABASE=DH89xxCC PCI Express Root Port #1
+
+pci:v00008086d00002344*
+ ID_MODEL_FROM_DATABASE=DH89xxCC PCI Express Root Port #2
+
+pci:v00008086d00002345*
+ ID_MODEL_FROM_DATABASE=DH89xxCC PCI Express Root Port #2
+
+pci:v00008086d00002346*
+ ID_MODEL_FROM_DATABASE=DH89xxCC PCI Express Root Port #3
+
+pci:v00008086d00002347*
+ ID_MODEL_FROM_DATABASE=DH89xxCC PCI Express Root Port #3
+
+pci:v00008086d00002348*
+ ID_MODEL_FROM_DATABASE=DH89xxCC PCI Express Root Port #4
+
+pci:v00008086d00002349*
+ ID_MODEL_FROM_DATABASE=DH89xxCC PCI Express Root Port #4
+
+pci:v00008086d00002360*
+ ID_MODEL_FROM_DATABASE=DH89xxCC Watchdog Timer
+
+pci:v00008086d00002364*
+ ID_MODEL_FROM_DATABASE=DH89xxCC MEI 0
+
+pci:v00008086d00002365*
+ ID_MODEL_FROM_DATABASE=DH89xxCC MEI 1
+
+pci:v00008086d00002410*
+ ID_MODEL_FROM_DATABASE=82801AA ISA Bridge (LPC)
+
+pci:v00008086d00002411*
+ ID_MODEL_FROM_DATABASE=82801AA IDE Controller
+
+pci:v00008086d00002412*
+ ID_MODEL_FROM_DATABASE=82801AA USB Controller
+
+pci:v00008086d00002413*
+ ID_MODEL_FROM_DATABASE=82801AA SMBus Controller
+
+pci:v00008086d00002415*
+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller
+
+pci:v00008086d00002415sv00001028sd00000095*
+ ID_MODEL_FROM_DATABASE=Precision Workstation 220 Integrated Digital Audio
+
+pci:v00008086d00002415sv00001028sd000000B4*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX110
+
+pci:v00008086d00002415sv0000110Asd00000051*
+ ID_MODEL_FROM_DATABASE=Activy 2xx
+
+pci:v00008086d00002415sv000011D4sd00000040*
+ ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio
+
+pci:v00008086d00002415sv000011D4sd00000048*
+ ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio
+
+pci:v00008086d00002415sv000011D4sd00005340*
+ ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio
+
+pci:v00008086d00002415sv00001734sd00001025*
+ ID_MODEL_FROM_DATABASE=Activy 3xx
+
+pci:v00008086d00002416*
+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Modem Controller
+
+pci:v00008086d00002418*
+ ID_MODEL_FROM_DATABASE=82801AA PCI Bridge
+
+pci:v00008086d00002420*
+ ID_MODEL_FROM_DATABASE=82801AB ISA Bridge (LPC)
+
+pci:v00008086d00002421*
+ ID_MODEL_FROM_DATABASE=82801AB IDE Controller
+
+pci:v00008086d00002422*
+ ID_MODEL_FROM_DATABASE=82801AB USB Controller
+
+pci:v00008086d00002423*
+ ID_MODEL_FROM_DATABASE=82801AB SMBus Controller
+
+pci:v00008086d00002425*
+ ID_MODEL_FROM_DATABASE=82801AB AC'97 Audio Controller
+
+pci:v00008086d00002425sv000011D4sd00000040*
+ ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio
+
+pci:v00008086d00002425sv000011D4sd00000048*
+ ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio
+
+pci:v00008086d00002426*
+ ID_MODEL_FROM_DATABASE=82801AB AC'97 Modem Controller
+
+pci:v00008086d00002428*
+ ID_MODEL_FROM_DATABASE=82801AB PCI Bridge
+
+pci:v00008086d00002440*
+ ID_MODEL_FROM_DATABASE=82801BA ISA Bridge (LPC)
+
+pci:v00008086d00002440sv00008086sd00005744*
+ ID_MODEL_FROM_DATABASE=S845WD1-E
+
+pci:v00008086d00002442*
+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1
+
+pci:v00008086d00002442sv00001014sd000001C6*
+ ID_MODEL_FROM_DATABASE=Netvista A40/A40p
+
+pci:v00008086d00002442sv00001025sd00001016*
+ ID_MODEL_FROM_DATABASE=Travelmate 612 TX
+
+pci:v00008086d00002442sv00001028sd000000C7*
+ ID_MODEL_FROM_DATABASE=Dimension 8100
+
+pci:v00008086d00002442sv00001028sd000000D8*
+ ID_MODEL_FROM_DATABASE=Precision 530
+
+pci:v00008086d00002442sv00001028sd0000010E*
+ ID_MODEL_FROM_DATABASE=Optiplex GX240
+
+pci:v00008086d00002442sv0000103Csd0000126F*
+ ID_MODEL_FROM_DATABASE=e-pc 40
+
+pci:v00008086d00002442sv00001043sd00008027*
+ ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard
+
+pci:v00008086d00002442sv0000104Dsd000080DF*
+ ID_MODEL_FROM_DATABASE=Vaio PCG-FX403
+
+pci:v00008086d00002442sv0000147Bsd00000507*
+ ID_MODEL_FROM_DATABASE=TH7II-RAID
+
+pci:v00008086d00002442sv00008086sd00004532*
+ ID_MODEL_FROM_DATABASE=D815EEA2 mainboard
+
+pci:v00008086d00002442sv00008086sd00004557*
+ ID_MODEL_FROM_DATABASE=D815EGEW Mainboard
+
+pci:v00008086d00002442sv00008086sd00005744*
+ ID_MODEL_FROM_DATABASE=S845WD1-E mainboard
+
+pci:v00008086d00002443*
+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller
+
+pci:v00008086d00002443sv00001014sd000001C6*
+ ID_MODEL_FROM_DATABASE=Netvista A40/A40p
+
+pci:v00008086d00002443sv00001025sd00001016*
+ ID_MODEL_FROM_DATABASE=Travelmate 612 TX
+
+pci:v00008086d00002443sv00001028sd000000C7*
+ ID_MODEL_FROM_DATABASE=Dimension 8100
+
+pci:v00008086d00002443sv00001028sd000000D8*
+ ID_MODEL_FROM_DATABASE=Precision 530
+
+pci:v00008086d00002443sv00001028sd0000010E*
+ ID_MODEL_FROM_DATABASE=Optiplex GX240
+
+pci:v00008086d00002443sv0000103Csd0000126F*
+ ID_MODEL_FROM_DATABASE=e-pc 40
+
+pci:v00008086d00002443sv00001043sd00008027*
+ ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard
+
+pci:v00008086d00002443sv0000104Dsd000080DF*
+ ID_MODEL_FROM_DATABASE=Vaio PCG-FX403
+
+pci:v00008086d00002443sv0000147Bsd00000507*
+ ID_MODEL_FROM_DATABASE=TH7II-RAID
+
+pci:v00008086d00002443sv000015D9sd00003280*
+ ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard
+
+pci:v00008086d00002443sv00008086sd00004532*
+ ID_MODEL_FROM_DATABASE=D815EEA2 mainboard
+
+pci:v00008086d00002443sv00008086sd00004557*
+ ID_MODEL_FROM_DATABASE=D815EGEW Mainboard
+
+pci:v00008086d00002443sv00008086sd00005744*
+ ID_MODEL_FROM_DATABASE=S845WD1-E mainboard
+
+pci:v00008086d00002444*
+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1
+
+pci:v00008086d00002444sv00001025sd00001016*
+ ID_MODEL_FROM_DATABASE=Travelmate 612 TX
+
+pci:v00008086d00002444sv00001028sd000000C7*
+ ID_MODEL_FROM_DATABASE=Dimension 8100
+
+pci:v00008086d00002444sv00001028sd000000D8*
+ ID_MODEL_FROM_DATABASE=Precision 530
+
+pci:v00008086d00002444sv00001028sd0000010E*
+ ID_MODEL_FROM_DATABASE=Optiplex GX240
+
+pci:v00008086d00002444sv0000103Csd0000126F*
+ ID_MODEL_FROM_DATABASE=e-pc 40
+
+pci:v00008086d00002444sv00001043sd00008027*
+ ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard
+
+pci:v00008086d00002444sv0000104Dsd000080DF*
+ ID_MODEL_FROM_DATABASE=Vaio PCG-FX403
+
+pci:v00008086d00002444sv0000147Bsd00000507*
+ ID_MODEL_FROM_DATABASE=TH7II-RAID
+
+pci:v00008086d00002444sv00008086sd00004532*
+ ID_MODEL_FROM_DATABASE=D815EEA2 mainboard
+
+pci:v00008086d00002444sv00008086sd00005744*
+ ID_MODEL_FROM_DATABASE=S845WD1-E mainboard
+
+pci:v00008086d00002445*
+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller
+
+pci:v00008086d00002445sv00000E11sd0000000B*
+ ID_MODEL_FROM_DATABASE=Compaq Deskpro EN Audio
+
+pci:v00008086d00002445sv00000E11sd00000088*
+ ID_MODEL_FROM_DATABASE=Evo D500
+
+pci:v00008086d00002445sv00001014sd000001C6*
+ ID_MODEL_FROM_DATABASE=Netvista A40/A40p
+
+pci:v00008086d00002445sv00001025sd00001016*
+ ID_MODEL_FROM_DATABASE=Travelmate 612 TX
+
+pci:v00008086d00002445sv00001028sd000000D8*
+ ID_MODEL_FROM_DATABASE=Precision 530
+
+pci:v00008086d00002445sv0000103Csd0000126F*
+ ID_MODEL_FROM_DATABASE=e-pc 40
+
+pci:v00008086d00002445sv0000104Dsd000080DF*
+ ID_MODEL_FROM_DATABASE=Vaio PCG-FX403
+
+pci:v00008086d00002445sv00001462sd00003370*
+ ID_MODEL_FROM_DATABASE=STAC9721 AC
+
+pci:v00008086d00002445sv0000147Bsd00000507*
+ ID_MODEL_FROM_DATABASE=TH7II-RAID
+
+pci:v00008086d00002445sv00008086sd00004557*
+ ID_MODEL_FROM_DATABASE=D815EGEW Mainboard
+
+pci:v00008086d00002446*
+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller
+
+pci:v00008086d00002446sv00001025sd00001016*
+ ID_MODEL_FROM_DATABASE=Travelmate 612 TX
+
+pci:v00008086d00002446sv0000104Dsd000080DF*
+ ID_MODEL_FROM_DATABASE=Vaio PCG-FX403
+
+pci:v00008086d00002448*
+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge
+
+pci:v00008086d00002448sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d00002448sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation
+
+pci:v00008086d00002448sv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d00002448sv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d00002448sv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d00002448sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002448sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002448sv0000105Bsd00000D7C*
+ ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard
+
+pci:v00008086d00002448sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30 notebook
+
+pci:v00008086d00002448sv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d00002448sv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-D525TUD
+
+pci:v00008086d00002448sv00001734sd00001055*
+ ID_MODEL_FROM_DATABASE=Amilo M1420
+
+pci:v00008086d00002448sv000017AAsd000020AE*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002448sv00008086sd0000544B*
+ ID_MODEL_FROM_DATABASE=Desktop Board D425KT
+
+pci:v00008086d00002448sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002449*
+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller
+
+pci:v00008086d00002449sv00000E11sd00000012*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM
+
+pci:v00008086d00002449sv00000E11sd00000091*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00001014sd000001CE*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00001014sd000001DC*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00001014sd000001EB*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00001014sd000001EC*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00001014sd00000202*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00001014sd00000205*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00001014sd00000217*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00001014sd00000234*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00001014sd0000023D*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00001014sd00000244*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00001014sd00000245*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00001014sd00000265*
+ ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection
+
+pci:v00008086d00002449sv00001014sd00000267*
+ ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection
+
+pci:v00008086d00002449sv00001014sd0000026A*
+ ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection
+
+pci:v00008086d00002449sv0000109Fsd0000315D*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv0000109Fsd00003181*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00001179sd0000FF01*
+ ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection
+
+pci:v00008086d00002449sv00001186sd00007801*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv0000144Dsd00002602*
+ ID_MODEL_FROM_DATABASE=HomePNA 1M CNR
+
+pci:v00008086d00002449sv00008086sd00003010*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00008086sd00003011*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM
+
+pci:v00008086d00002449sv00008086sd00003012*
+ ID_MODEL_FROM_DATABASE=82562EH based Phoneline
+
+pci:v00008086d00002449sv00008086sd00003013*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE
+
+pci:v00008086d00002449sv00008086sd00003014*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM
+
+pci:v00008086d00002449sv00008086sd00003015*
+ ID_MODEL_FROM_DATABASE=82562EH based Phoneline
+
+pci:v00008086d00002449sv00008086sd00003016*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo
+
+pci:v00008086d00002449sv00008086sd00003017*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile
+
+pci:v00008086d00002449sv00008086sd00003018*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100
+
+pci:v00008086d0000244A*
+ ID_MODEL_FROM_DATABASE=82801BAM IDE U100 Controller
+
+pci:v00008086d0000244Asv00001025sd00001016*
+ ID_MODEL_FROM_DATABASE=Travelmate 612TX
+
+pci:v00008086d0000244Asv0000104Dsd000080DF*
+ ID_MODEL_FROM_DATABASE=Vaio PCG-FX403
+
+pci:v00008086d0000244B*
+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller
+
+pci:v00008086d0000244Bsv00001014sd000001C6*
+ ID_MODEL_FROM_DATABASE=Netvista A40/A40p
+
+pci:v00008086d0000244Bsv00001028sd000000C7*
+ ID_MODEL_FROM_DATABASE=Dimension 8100
+
+pci:v00008086d0000244Bsv00001028sd000000D8*
+ ID_MODEL_FROM_DATABASE=Precision 530
+
+pci:v00008086d0000244Bsv00001028sd0000010E*
+ ID_MODEL_FROM_DATABASE=Optiplex GX240
+
+pci:v00008086d0000244Bsv0000103Csd0000126F*
+ ID_MODEL_FROM_DATABASE=e-pc 40
+
+pci:v00008086d0000244Bsv00001043sd00008027*
+ ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard
+
+pci:v00008086d0000244Bsv0000147Bsd00000507*
+ ID_MODEL_FROM_DATABASE=TH7II-RAID
+
+pci:v00008086d0000244Bsv000015D9sd00003280*
+ ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard
+
+pci:v00008086d0000244Bsv00008086sd00004532*
+ ID_MODEL_FROM_DATABASE=D815EEA2 mainboard
+
+pci:v00008086d0000244Bsv00008086sd00004557*
+ ID_MODEL_FROM_DATABASE=D815EGEW Mainboard
+
+pci:v00008086d0000244Bsv00008086sd00005744*
+ ID_MODEL_FROM_DATABASE=S845WD1-E mainboard
+
+pci:v00008086d0000244C*
+ ID_MODEL_FROM_DATABASE=82801BAM ISA Bridge (LPC)
+
+pci:v00008086d0000244E*
+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge
+
+pci:v00008086d0000244Esv00001014sd00000267*
+ ID_MODEL_FROM_DATABASE=NetVista A30p
+
+pci:v00008086d0000244Esv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d0000244Esv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d0000244Esv00001028sd000002DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 980
+
+pci:v00008086d0000244Esv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d0000244Esv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d0000244Esv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server
+
+pci:v00008086d0000244Esv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d0000244Esv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=Motherboard
+
+pci:v00008086d0000244Esv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d0000244Esv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d00002450*
+ ID_MODEL_FROM_DATABASE=82801E ISA Bridge (LPC)
+
+pci:v00008086d00002452*
+ ID_MODEL_FROM_DATABASE=82801E USB Controller
+
+pci:v00008086d00002453*
+ ID_MODEL_FROM_DATABASE=82801E SMBus Controller
+
+pci:v00008086d00002459*
+ ID_MODEL_FROM_DATABASE=82801E Ethernet Controller 0
+
+pci:v00008086d0000245B*
+ ID_MODEL_FROM_DATABASE=82801E IDE U100 Controller
+
+pci:v00008086d0000245D*
+ ID_MODEL_FROM_DATABASE=82801E Ethernet Controller 1
+
+pci:v00008086d0000245E*
+ ID_MODEL_FROM_DATABASE=82801E PCI Bridge
+
+pci:v00008086d00002480*
+ ID_MODEL_FROM_DATABASE=82801CA LPC Interface Controller
+
+pci:v00008086d00002482*
+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1
+
+pci:v00008086d00002482sv00000E11sd00000030*
+ ID_MODEL_FROM_DATABASE=Evo N600c
+
+pci:v00008086d00002482sv00001014sd00000220*
+ ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series
+
+pci:v00008086d00002482sv0000104Dsd000080E7*
+ ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
+
+pci:v00008086d00002482sv000015D9sd00003480*
+ ID_MODEL_FROM_DATABASE=P4DP6
+
+pci:v00008086d00002482sv00008086sd00001958*
+ ID_MODEL_FROM_DATABASE=vpr Matrix 170B4
+
+pci:v00008086d00002482sv00008086sd00003424*
+ ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard
+
+pci:v00008086d00002482sv00008086sd00004541*
+ ID_MODEL_FROM_DATABASE=Latitude C640
+
+pci:v00008086d00002483*
+ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller
+
+pci:v00008086d00002483sv00001014sd00000220*
+ ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series
+
+pci:v00008086d00002483sv0000104Dsd000080E7*
+ ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
+
+pci:v00008086d00002483sv000015D9sd00003480*
+ ID_MODEL_FROM_DATABASE=P4DP6
+
+pci:v00008086d00002483sv00008086sd00001958*
+ ID_MODEL_FROM_DATABASE=vpr Matrix 170B4
+
+pci:v00008086d00002484*
+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2
+
+pci:v00008086d00002484sv00000E11sd00000030*
+ ID_MODEL_FROM_DATABASE=Evo N600c
+
+pci:v00008086d00002484sv00001014sd00000220*
+ ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series
+
+pci:v00008086d00002484sv0000104Dsd000080E7*
+ ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
+
+pci:v00008086d00002484sv000015D9sd00003480*
+ ID_MODEL_FROM_DATABASE=P4DP6
+
+pci:v00008086d00002484sv00008086sd00001958*
+ ID_MODEL_FROM_DATABASE=vpr Matrix 170B4
+
+pci:v00008086d00002485*
+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller
+
+pci:v00008086d00002485sv00001013sd00005959*
+ ID_MODEL_FROM_DATABASE=Crystal WMD Audio Codec
+
+pci:v00008086d00002485sv00001014sd00000222*
+ ID_MODEL_FROM_DATABASE=ThinkPad A30/A30p/T23
+
+pci:v00008086d00002485sv00001014sd00000508*
+ ID_MODEL_FROM_DATABASE=ThinkPad T30
+
+pci:v00008086d00002485sv00001014sd0000051C*
+ ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series
+
+pci:v00008086d00002485sv00001043sd00001583*
+ ID_MODEL_FROM_DATABASE=L3C (SPDIF)
+
+pci:v00008086d00002485sv00001043sd00001623*
+ ID_MODEL_FROM_DATABASE=L2B (no SPDIF)
+
+pci:v00008086d00002485sv00001043sd00001643*
+ ID_MODEL_FROM_DATABASE=L3F
+
+pci:v00008086d00002485sv0000104Dsd000080E7*
+ ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
+
+pci:v00008086d00002485sv0000144Dsd0000C006*
+ ID_MODEL_FROM_DATABASE=vpr Matrix 170B4
+
+pci:v00008086d00002486*
+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller
+
+pci:v00008086d00002486sv00001014sd00000223*
+ ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series
+
+pci:v00008086d00002486sv00001014sd00000503*
+ ID_MODEL_FROM_DATABASE=ThinkPad R31
+
+pci:v00008086d00002486sv00001014sd0000051A*
+ ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series
+
+pci:v00008086d00002486sv0000101Fsd00001025*
+ ID_MODEL_FROM_DATABASE=620 Series
+
+pci:v00008086d00002486sv00001043sd00001496*
+ ID_MODEL_FROM_DATABASE=PCtel HSP56 MR
+
+pci:v00008086d00002486sv0000104Dsd000080E7*
+ ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
+
+pci:v00008086d00002486sv0000134Dsd00004C21*
+ ID_MODEL_FROM_DATABASE=Dell Inspiron 2100 internal modem
+
+pci:v00008086d00002486sv0000144Dsd00002115*
+ ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 internal modem
+
+pci:v00008086d00002486sv000014F1sd00005421*
+ ID_MODEL_FROM_DATABASE=MD56ORD V.92 MDC Modem
+
+pci:v00008086d00002487*
+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3
+
+pci:v00008086d00002487sv00000E11sd00000030*
+ ID_MODEL_FROM_DATABASE=Evo N600c
+
+pci:v00008086d00002487sv00001014sd00000220*
+ ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series
+
+pci:v00008086d00002487sv0000104Dsd000080E7*
+ ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
+
+pci:v00008086d00002487sv000015D9sd00003480*
+ ID_MODEL_FROM_DATABASE=P4DP6
+
+pci:v00008086d00002487sv00008086sd00001958*
+ ID_MODEL_FROM_DATABASE=vpr Matrix 170B4
+
+pci:v00008086d0000248A*
+ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller
+
+pci:v00008086d0000248Asv00000E11sd00000030*
+ ID_MODEL_FROM_DATABASE=Evo N600c
+
+pci:v00008086d0000248Asv00001014sd00000220*
+ ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series
+
+pci:v00008086d0000248Asv0000104Dsd000080E7*
+ ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
+
+pci:v00008086d0000248Asv00008086sd00001958*
+ ID_MODEL_FROM_DATABASE=vpr Matrix 170B4
+
+pci:v00008086d0000248Asv00008086sd00004541*
+ ID_MODEL_FROM_DATABASE=Latitude C640
+
+pci:v00008086d0000248B*
+ ID_MODEL_FROM_DATABASE=82801CA Ultra ATA Storage Controller
+
+pci:v00008086d0000248Bsv000015D9sd00003480*
+ ID_MODEL_FROM_DATABASE=P4DP6
+
+pci:v00008086d0000248C*
+ ID_MODEL_FROM_DATABASE=82801CAM ISA Bridge (LPC)
+
+pci:v00008086d000024C0*
+ ID_MODEL_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge
+
+pci:v00008086d000024C0sv00001014sd00000267*
+ ID_MODEL_FROM_DATABASE=NetVista A30p
+
+pci:v00008086d000024C0sv00001462sd00005800*
+ ID_MODEL_FROM_DATABASE=845PE Max (MS-6580)
+
+pci:v00008086d000024C1*
+ ID_MODEL_FROM_DATABASE=82801DBL (ICH4-L) IDE Controller
+
+pci:v00008086d000024C2*
+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1
+
+pci:v00008086d000024C2sv00001014sd00000267*
+ ID_MODEL_FROM_DATABASE=NetVista A30p
+
+pci:v00008086d000024C2sv00001014sd0000052D*
+ ID_MODEL_FROM_DATABASE=ThinkPad
+
+pci:v00008086d000024C2sv00001025sd0000005A*
+ ID_MODEL_FROM_DATABASE=TravelMate 290
+
+pci:v00008086d000024C2sv00001028sd00000126*
+ ID_MODEL_FROM_DATABASE=Optiplex GX260
+
+pci:v00008086d000024C2sv00001028sd00000163*
+ ID_MODEL_FROM_DATABASE=Latitude D505
+
+pci:v00008086d000024C2sv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v00008086d000024C2sv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v00008086d000024C2sv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v00008086d000024C2sv0000103Csd00000890*
+ ID_MODEL_FROM_DATABASE=NC6000 laptop
+
+pci:v00008086d000024C2sv0000103Csd000008B0*
+ ID_MODEL_FROM_DATABASE=tc1100 tablet
+
+pci:v00008086d000024C2sv00001043sd00008089*
+ ID_MODEL_FROM_DATABASE=P4B533
+
+pci:v00008086d000024C2sv00001071sd00008160*
+ ID_MODEL_FROM_DATABASE=MIM2000
+
+pci:v00008086d000024C2sv0000114Asd00000582*
+ ID_MODEL_FROM_DATABASE=PC8 onboard USB 1.x
+
+pci:v00008086d000024C2sv0000144Dsd0000C005*
+ ID_MODEL_FROM_DATABASE=X10 Laptop
+
+pci:v00008086d000024C2sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30/P35 notebook
+
+pci:v00008086d000024C2sv00001462sd00005800*
+ ID_MODEL_FROM_DATABASE=845PE Max (MS-6580)
+
+pci:v00008086d000024C2sv00001509sd00002990*
+ ID_MODEL_FROM_DATABASE=Averatec 5110H laptop
+
+pci:v00008086d000024C2sv00001734sd00001004*
+ ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
+
+pci:v00008086d000024C2sv00001734sd00001055*
+ ID_MODEL_FROM_DATABASE=Amilo M1420
+
+pci:v00008086d000024C2sv00004C53sd00001090*
+ ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard
+
+pci:v00008086d000024C2sv00008086sd000024C2*
+ ID_MODEL_FROM_DATABASE=Latitude X300
+
+pci:v00008086d000024C2sv00008086sd00004541*
+ ID_MODEL_FROM_DATABASE=Latitude D400/D500
+
+pci:v00008086d000024C2sv0000E4BFsd00000CC9*
+ ID_MODEL_FROM_DATABASE=CC9-SAMBA
+
+pci:v00008086d000024C2sv0000E4BFsd00000CD2*
+ ID_MODEL_FROM_DATABASE=CD2-BEBOP
+
+pci:v00008086d000024C3*
+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller
+
+pci:v00008086d000024C3sv00001014sd00000267*
+ ID_MODEL_FROM_DATABASE=NetVista A30p
+
+pci:v00008086d000024C3sv00001014sd0000052D*
+ ID_MODEL_FROM_DATABASE=ThinkPad
+
+pci:v00008086d000024C3sv00001025sd0000005A*
+ ID_MODEL_FROM_DATABASE=TravelMate 290
+
+pci:v00008086d000024C3sv00001028sd00000126*
+ ID_MODEL_FROM_DATABASE=Optiplex GX260
+
+pci:v00008086d000024C3sv00001028sd0000014F*
+ ID_MODEL_FROM_DATABASE=Latitude X300
+
+pci:v00008086d000024C3sv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v00008086d000024C3sv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v00008086d000024C3sv0000103Csd00000890*
+ ID_MODEL_FROM_DATABASE=NC6000 laptop
+
+pci:v00008086d000024C3sv0000103Csd000008B0*
+ ID_MODEL_FROM_DATABASE=tc1100 tablet
+
+pci:v00008086d000024C3sv00001071sd00008160*
+ ID_MODEL_FROM_DATABASE=MIM2000
+
+pci:v00008086d000024C3sv0000114Asd00000582*
+ ID_MODEL_FROM_DATABASE=PC8 onboard SMbus
+
+pci:v00008086d000024C3sv0000144Dsd0000C005*
+ ID_MODEL_FROM_DATABASE=X10 Laptop
+
+pci:v00008086d000024C3sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30/P35 notebook
+
+pci:v00008086d000024C3sv00001458sd000024C2*
+ ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra
+
+pci:v00008086d000024C3sv00001462sd00005800*
+ ID_MODEL_FROM_DATABASE=845PE Max (MS-6580)
+
+pci:v00008086d000024C3sv00001734sd00001004*
+ ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
+
+pci:v00008086d000024C3sv00001734sd00001055*
+ ID_MODEL_FROM_DATABASE=Amilo M1420
+
+pci:v00008086d000024C3sv00004C53sd00001090*
+ ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard
+
+pci:v00008086d000024C3sv0000E4BFsd00000CC9*
+ ID_MODEL_FROM_DATABASE=CC9-SAMBA
+
+pci:v00008086d000024C3sv0000E4BFsd00000CD2*
+ ID_MODEL_FROM_DATABASE=CD2-BEBOP
+
+pci:v00008086d000024C4*
+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2
+
+pci:v00008086d000024C4sv00001014sd00000267*
+ ID_MODEL_FROM_DATABASE=NetVista A30p
+
+pci:v00008086d000024C4sv00001014sd0000052D*
+ ID_MODEL_FROM_DATABASE=ThinkPad
+
+pci:v00008086d000024C4sv00001025sd0000005A*
+ ID_MODEL_FROM_DATABASE=TravelMate 290
+
+pci:v00008086d000024C4sv00001028sd00000126*
+ ID_MODEL_FROM_DATABASE=Optiplex GX260
+
+pci:v00008086d000024C4sv00001028sd00000163*
+ ID_MODEL_FROM_DATABASE=Latitude D505
+
+pci:v00008086d000024C4sv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v00008086d000024C4sv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v00008086d000024C4sv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v00008086d000024C4sv0000103Csd00000890*
+ ID_MODEL_FROM_DATABASE=NC6000 laptop
+
+pci:v00008086d000024C4sv0000103Csd000008B0*
+ ID_MODEL_FROM_DATABASE=tc1100 tablet
+
+pci:v00008086d000024C4sv00001043sd00008089*
+ ID_MODEL_FROM_DATABASE=P4B533
+
+pci:v00008086d000024C4sv00001071sd00008160*
+ ID_MODEL_FROM_DATABASE=MIM2000
+
+pci:v00008086d000024C4sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30/P35 notebook
+
+pci:v00008086d000024C4sv00001462sd00005800*
+ ID_MODEL_FROM_DATABASE=845PE Max (MS-6580)
+
+pci:v00008086d000024C4sv00001509sd00002990*
+ ID_MODEL_FROM_DATABASE=Averatec 5110H
+
+pci:v00008086d000024C4sv00001734sd00001004*
+ ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
+
+pci:v00008086d000024C4sv00004C53sd00001090*
+ ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard
+
+pci:v00008086d000024C4sv00008086sd000024C2*
+ ID_MODEL_FROM_DATABASE=Latitude X300
+
+pci:v00008086d000024C4sv00008086sd00004541*
+ ID_MODEL_FROM_DATABASE=Latitude D400/D500
+
+pci:v00008086d000024C4sv0000E4BFsd00000CC9*
+ ID_MODEL_FROM_DATABASE=CC9-SAMBA
+
+pci:v00008086d000024C4sv0000E4BFsd00000CD2*
+ ID_MODEL_FROM_DATABASE=CD2-BEBOP
+
+pci:v00008086d000024C5*
+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller
+
+pci:v00008086d000024C5sv00000E11sd000000B8*
+ ID_MODEL_FROM_DATABASE=Analog Devices Inc. codec [SoundMAX]
+
+pci:v00008086d000024C5sv00001014sd00000267*
+ ID_MODEL_FROM_DATABASE=NetVista A30p
+
+pci:v00008086d000024C5sv00001014sd00000537*
+ ID_MODEL_FROM_DATABASE=ThinkPad T41
+
+pci:v00008086d000024C5sv00001014sd0000055F*
+ ID_MODEL_FROM_DATABASE=Thinkpad R50e model 1634
+
+pci:v00008086d000024C5sv00001025sd0000005A*
+ ID_MODEL_FROM_DATABASE=TravelMate 290
+
+pci:v00008086d000024C5sv00001028sd00000139*
+ ID_MODEL_FROM_DATABASE=Latitude D400
+
+pci:v00008086d000024C5sv00001028sd0000014F*
+ ID_MODEL_FROM_DATABASE=Latitude X300
+
+pci:v00008086d000024C5sv00001028sd00000152*
+ ID_MODEL_FROM_DATABASE=Latitude D500
+
+pci:v00008086d000024C5sv00001028sd00000163*
+ ID_MODEL_FROM_DATABASE=Latitude D505
+
+pci:v00008086d000024C5sv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m [SigmaTel STAC9750,51]
+
+pci:v00008086d000024C5sv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v00008086d000024C5sv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v00008086d000024C5sv0000103Csd00000890*
+ ID_MODEL_FROM_DATABASE=NC6000 laptop
+
+pci:v00008086d000024C5sv0000103Csd000008B0*
+ ID_MODEL_FROM_DATABASE=tc1100 tablet
+
+pci:v00008086d000024C5sv00001043sd00001713*
+ ID_MODEL_FROM_DATABASE=M2400N/M6800N laptop
+
+pci:v00008086d000024C5sv00001043sd000080B0*
+ ID_MODEL_FROM_DATABASE=P4B533
+
+pci:v00008086d000024C5sv00001071sd00008160*
+ ID_MODEL_FROM_DATABASE=MIM2000
+
+pci:v00008086d000024C5sv00001179sd00000201*
+ ID_MODEL_FROM_DATABASE=Toshiba Tecra M1
+
+pci:v00008086d000024C5sv0000144Dsd0000C005*
+ ID_MODEL_FROM_DATABASE=X10 Laptop
+
+pci:v00008086d000024C5sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30/P35 notebook
+
+pci:v00008086d000024C5sv00001458sd0000A002*
+ ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra
+
+pci:v00008086d000024C5sv00001462sd00005800*
+ ID_MODEL_FROM_DATABASE=845PE Max (MS-6580)
+
+pci:v00008086d000024C5sv00001734sd00001005*
+ ID_MODEL_FROM_DATABASE=D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T
+
+pci:v00008086d000024C5sv00001734sd00001055*
+ ID_MODEL_FROM_DATABASE=Amilo M1420
+
+pci:v00008086d000024C5sv00008086sd000024C5*
+ ID_MODEL_FROM_DATABASE=Dell Dimension 2400
+
+pci:v00008086d000024C6*
+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller
+
+pci:v00008086d000024C6sv00001014sd00000524*
+ ID_MODEL_FROM_DATABASE=ThinkPad T41
+
+pci:v00008086d000024C6sv00001014sd00000525*
+ ID_MODEL_FROM_DATABASE=ThinkPad
+
+pci:v00008086d000024C6sv00001014sd00000559*
+ ID_MODEL_FROM_DATABASE=ThinkPad R50e
+
+pci:v00008086d000024C6sv00001025sd0000003C*
+ ID_MODEL_FROM_DATABASE=Aspire 2001WLCi (Compal CL50 motherboard) implementation
+
+pci:v00008086d000024C6sv00001025sd0000005A*
+ ID_MODEL_FROM_DATABASE=TravelMate 290
+
+pci:v00008086d000024C6sv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v00008086d000024C6sv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v00008086d000024C6sv0000103Csd00000890*
+ ID_MODEL_FROM_DATABASE=NC6000 laptop
+
+pci:v00008086d000024C6sv0000103Csd000008B0*
+ ID_MODEL_FROM_DATABASE=tc1100 tablet
+
+pci:v00008086d000024C6sv00001043sd00001716*
+ ID_MODEL_FROM_DATABASE=M2400N laptop
+
+pci:v00008086d000024C6sv00001043sd00001826*
+ ID_MODEL_FROM_DATABASE=M6800N
+
+pci:v00008086d000024C6sv00001071sd00008160*
+ ID_MODEL_FROM_DATABASE=MIM2000
+
+pci:v00008086d000024C6sv0000134Dsd00004C21*
+ ID_MODEL_FROM_DATABASE=Latitude D500
+
+pci:v00008086d000024C6sv0000144Dsd00002115*
+ ID_MODEL_FROM_DATABASE=X10 Laptop
+
+pci:v00008086d000024C6sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30/P35 notebook
+
+pci:v00008086d000024C6sv000014F1sd00005422*
+ ID_MODEL_FROM_DATABASE=D480 MDC V.9x Modem
+
+pci:v00008086d000024C7*
+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3
+
+pci:v00008086d000024C7sv00001014sd00000267*
+ ID_MODEL_FROM_DATABASE=NetVista A30p
+
+pci:v00008086d000024C7sv00001014sd0000052D*
+ ID_MODEL_FROM_DATABASE=ThinkPad
+
+pci:v00008086d000024C7sv00001025sd0000005A*
+ ID_MODEL_FROM_DATABASE=TravelMate 290
+
+pci:v00008086d000024C7sv00001028sd00000126*
+ ID_MODEL_FROM_DATABASE=Optiplex GX260
+
+pci:v00008086d000024C7sv00001028sd00000163*
+ ID_MODEL_FROM_DATABASE=Latitude D505
+
+pci:v00008086d000024C7sv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v00008086d000024C7sv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v00008086d000024C7sv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v00008086d000024C7sv0000103Csd00000890*
+ ID_MODEL_FROM_DATABASE=NC6000 laptop
+
+pci:v00008086d000024C7sv0000103Csd000008B0*
+ ID_MODEL_FROM_DATABASE=tc1100 tablet
+
+pci:v00008086d000024C7sv00001043sd00008089*
+ ID_MODEL_FROM_DATABASE=P4B533
+
+pci:v00008086d000024C7sv00001071sd00008160*
+ ID_MODEL_FROM_DATABASE=MIM2000
+
+pci:v00008086d000024C7sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30/P35 notebook
+
+pci:v00008086d000024C7sv00001462sd00005800*
+ ID_MODEL_FROM_DATABASE=845PE Max (MS-6580)
+
+pci:v00008086d000024C7sv00001509sd00002990*
+ ID_MODEL_FROM_DATABASE=Averatec 5110H
+
+pci:v00008086d000024C7sv00001734sd00001004*
+ ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
+
+pci:v00008086d000024C7sv00004C53sd00001090*
+ ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard
+
+pci:v00008086d000024C7sv00008086sd000024C2*
+ ID_MODEL_FROM_DATABASE=Latitude X300
+
+pci:v00008086d000024C7sv00008086sd00004541*
+ ID_MODEL_FROM_DATABASE=Latitude D400/D500
+
+pci:v00008086d000024C7sv0000E4BFsd00000CC9*
+ ID_MODEL_FROM_DATABASE=CC9-SAMBA
+
+pci:v00008086d000024C7sv0000E4BFsd00000CD2*
+ ID_MODEL_FROM_DATABASE=CD2-BEBOP
+
+pci:v00008086d000024CA*
+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller
+
+pci:v00008086d000024CAsv00001014sd0000052D*
+ ID_MODEL_FROM_DATABASE=ThinkPad
+
+pci:v00008086d000024CAsv00001025sd0000005A*
+ ID_MODEL_FROM_DATABASE=TravelMate 290
+
+pci:v00008086d000024CAsv00001028sd0000014F*
+ ID_MODEL_FROM_DATABASE=Latitude X300
+
+pci:v00008086d000024CAsv00001028sd00000163*
+ ID_MODEL_FROM_DATABASE=Latitude D505
+
+pci:v00008086d000024CAsv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v00008086d000024CAsv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v00008086d000024CAsv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v00008086d000024CAsv0000103Csd00000890*
+ ID_MODEL_FROM_DATABASE=NC6000 laptop
+
+pci:v00008086d000024CAsv0000103Csd000008B0*
+ ID_MODEL_FROM_DATABASE=tc1100 tablet
+
+pci:v00008086d000024CAsv00001071sd00008160*
+ ID_MODEL_FROM_DATABASE=MIM2000
+
+pci:v00008086d000024CAsv0000144Dsd0000C005*
+ ID_MODEL_FROM_DATABASE=X10 Laptop
+
+pci:v00008086d000024CAsv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30/P35 notebook
+
+pci:v00008086d000024CAsv00001734sd00001055*
+ ID_MODEL_FROM_DATABASE=Amilo M1420
+
+pci:v00008086d000024CAsv00008086sd00004541*
+ ID_MODEL_FROM_DATABASE=Latitude D400/D500
+
+pci:v00008086d000024CB*
+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller
+
+pci:v00008086d000024CBsv00001014sd00000267*
+ ID_MODEL_FROM_DATABASE=NetVista A30p
+
+pci:v00008086d000024CBsv00001028sd00000126*
+ ID_MODEL_FROM_DATABASE=Optiplex GX260
+
+pci:v00008086d000024CBsv00001043sd00008089*
+ ID_MODEL_FROM_DATABASE=P4B533
+
+pci:v00008086d000024CBsv0000114Asd00000582*
+ ID_MODEL_FROM_DATABASE=PC8 onboard IDE
+
+pci:v00008086d000024CBsv00001458sd000024C2*
+ ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra
+
+pci:v00008086d000024CBsv00001462sd00005800*
+ ID_MODEL_FROM_DATABASE=845PE Max (MS-6580)
+
+pci:v00008086d000024CBsv00001734sd00001004*
+ ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
+
+pci:v00008086d000024CBsv00004C53sd00001090*
+ ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard
+
+pci:v00008086d000024CBsv0000E4BFsd00000CC9*
+ ID_MODEL_FROM_DATABASE=CC9-SAMBA
+
+pci:v00008086d000024CBsv0000E4BFsd00000CD2*
+ ID_MODEL_FROM_DATABASE=CD2-BEBOP
+
+pci:v00008086d000024CC*
+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge
+
+pci:v00008086d000024CCsv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30 notebook
+
+pci:v00008086d000024CCsv00001734sd00001055*
+ ID_MODEL_FROM_DATABASE=Amilo M1420
+
+pci:v00008086d000024CD*
+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller
+
+pci:v00008086d000024CDsv00001014sd00000267*
+ ID_MODEL_FROM_DATABASE=NetVista A30p
+
+pci:v00008086d000024CDsv00001014sd0000052E*
+ ID_MODEL_FROM_DATABASE=ThinkPad
+
+pci:v00008086d000024CDsv00001025sd0000005A*
+ ID_MODEL_FROM_DATABASE=TravelMate 290
+
+pci:v00008086d000024CDsv00001028sd0000011D*
+ ID_MODEL_FROM_DATABASE=Latitude D600
+
+pci:v00008086d000024CDsv00001028sd00000126*
+ ID_MODEL_FROM_DATABASE=Optiplex GX260
+
+pci:v00008086d000024CDsv00001028sd00000139*
+ ID_MODEL_FROM_DATABASE=Latitude D400
+
+pci:v00008086d000024CDsv00001028sd00000152*
+ ID_MODEL_FROM_DATABASE=Latitude D500
+
+pci:v00008086d000024CDsv00001028sd00000163*
+ ID_MODEL_FROM_DATABASE=Latitude D505
+
+pci:v00008086d000024CDsv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v00008086d000024CDsv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v00008086d000024CDsv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v00008086d000024CDsv0000103Csd00000890*
+ ID_MODEL_FROM_DATABASE=NC6000 laptop
+
+pci:v00008086d000024CDsv0000103Csd000008B0*
+ ID_MODEL_FROM_DATABASE=tc1100 tablet
+
+pci:v00008086d000024CDsv00001043sd00008089*
+ ID_MODEL_FROM_DATABASE=P4B533
+
+pci:v00008086d000024CDsv00001071sd00008160*
+ ID_MODEL_FROM_DATABASE=MIM2000
+
+pci:v00008086d000024CDsv0000114Asd00000582*
+ ID_MODEL_FROM_DATABASE=PC8 onboard USB 2.0
+
+pci:v00008086d000024CDsv00001179sd0000FF00*
+ ID_MODEL_FROM_DATABASE=Satellite 2430
+
+pci:v00008086d000024CDsv0000144Dsd0000C005*
+ ID_MODEL_FROM_DATABASE=X10 Laptop
+
+pci:v00008086d000024CDsv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30/P35 notebook
+
+pci:v00008086d000024CDsv00001462sd00003981*
+ ID_MODEL_FROM_DATABASE=845PE Max (MS-6580)
+
+pci:v00008086d000024CDsv00001509sd00001968*
+ ID_MODEL_FROM_DATABASE=Averatec 5110H
+
+pci:v00008086d000024CDsv00001734sd00001004*
+ ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
+
+pci:v00008086d000024CDsv00001734sd00001055*
+ ID_MODEL_FROM_DATABASE=Amilo M1420
+
+pci:v00008086d000024CDsv00004C53sd00001090*
+ ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard
+
+pci:v00008086d000024CDsv00008086sd000024C2*
+ ID_MODEL_FROM_DATABASE=Latitude X300
+
+pci:v00008086d000024CDsv0000E4BFsd00000CC9*
+ ID_MODEL_FROM_DATABASE=CC9-SAMBA
+
+pci:v00008086d000024CDsv0000E4BFsd00000CD2*
+ ID_MODEL_FROM_DATABASE=CD2-BEBOP
+
+pci:v00008086d000024D0*
+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) LPC Interface Bridge
+
+pci:v00008086d000024D1*
+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller
+
+pci:v00008086d000024D1sv00001028sd00000169*
+ ID_MODEL_FROM_DATABASE=Precision 470
+
+pci:v00008086d000024D1sv00001028sd0000019A*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC1425
+
+pci:v00008086d000024D1sv0000103Csd000012BC*
+ ID_MODEL_FROM_DATABASE=d530 CMT (DG746A)
+
+pci:v00008086d000024D1sv0000103Csd00003208*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G2
+
+pci:v00008086d000024D1sv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P4P800 series motherboard
+
+pci:v00008086d000024D1sv00001458sd000024D1*
+ ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
+
+pci:v00008086d000024D1sv00001462sd00007280*
+ ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728)
+
+pci:v00008086d000024D1sv00001462sd00007650*
+ ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065)
+
+pci:v00008086d000024D1sv00001565sd00005200*
+ ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G)
+
+pci:v00008086d000024D1sv000015D9sd00004580*
+ ID_MODEL_FROM_DATABASE=P4SCE Mainboard
+
+pci:v00008086d000024D1sv00008086sd00003427*
+ ID_MODEL_FROM_DATABASE=S875WP1-E mainboard
+
+pci:v00008086d000024D1sv00008086sd00004246*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GBF
+
+pci:v00008086d000024D1sv00008086sd00004C43*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GLC
+
+pci:v00008086d000024D1sv00008086sd0000524C*
+ ID_MODEL_FROM_DATABASE=D865PERL mainboard
+
+pci:v00008086d000024D2*
+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1
+
+pci:v00008086d000024D2sv00001014sd000002DD*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00008086d000024D2sv00001014sd000002ED*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00008086d000024D2sv00001028sd00000169*
+ ID_MODEL_FROM_DATABASE=Precision 470
+
+pci:v00008086d000024D2sv00001028sd0000016C*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI
+
+pci:v00008086d000024D2sv00001028sd0000016D*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI
+
+pci:v00008086d000024D2sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI
+
+pci:v00008086d000024D2sv00001028sd00000183*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1800
+
+pci:v00008086d000024D2sv00001028sd0000019A*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC1425
+
+pci:v00008086d000024D2sv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=NX9500
+
+pci:v00008086d000024D2sv0000103Csd000012BC*
+ ID_MODEL_FROM_DATABASE=d530 CMT (DG746A)
+
+pci:v00008086d000024D2sv0000103Csd00003208*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G2
+
+pci:v00008086d000024D2sv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard
+
+pci:v00008086d000024D2sv00001458sd000024D2*
+ ID_MODEL_FROM_DATABASE=GA-8IPE1000/8KNXP motherboard
+
+pci:v00008086d000024D2sv00001462sd00007280*
+ ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728)
+
+pci:v00008086d000024D2sv00001565sd00003101*
+ ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G)
+
+pci:v00008086d000024D2sv000015D9sd00004580*
+ ID_MODEL_FROM_DATABASE=P4SCE Mainboard
+
+pci:v00008086d000024D2sv00001734sd0000101C*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard UHCI
+
+pci:v00008086d000024D2sv00008086sd00003427*
+ ID_MODEL_FROM_DATABASE=S875WP1-E mainboard
+
+pci:v00008086d000024D2sv00008086sd00004246*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GBF
+
+pci:v00008086d000024D2sv00008086sd00004C43*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GLC
+
+pci:v00008086d000024D2sv00008086sd0000524C*
+ ID_MODEL_FROM_DATABASE=D865PERL mainboard
+
+pci:v00008086d000024D3*
+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller
+
+pci:v00008086d000024D3sv00001014sd000002DD*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00008086d000024D3sv00001014sd000002ED*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00008086d000024D3sv00001028sd00000156*
+ ID_MODEL_FROM_DATABASE=Precision 360
+
+pci:v00008086d000024D3sv00001028sd00000169*
+ ID_MODEL_FROM_DATABASE=Precision 470
+
+pci:v00008086d000024D3sv0000103Csd000012BC*
+ ID_MODEL_FROM_DATABASE=d330 uT
+
+pci:v00008086d000024D3sv0000103Csd00003208*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G2
+
+pci:v00008086d000024D3sv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard
+
+pci:v00008086d000024D3sv00001458sd000024D2*
+ ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
+
+pci:v00008086d000024D3sv00001462sd00007280*
+ ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728)
+
+pci:v00008086d000024D3sv00001462sd00007650*
+ ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065)
+
+pci:v00008086d000024D3sv00001565sd00003101*
+ ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G)
+
+pci:v00008086d000024D3sv000015D9sd00004580*
+ ID_MODEL_FROM_DATABASE=P4SCE Mainboard
+
+pci:v00008086d000024D3sv00001734sd0000101C*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series SMBus
+
+pci:v00008086d000024D3sv00008086sd00003427*
+ ID_MODEL_FROM_DATABASE=S875WP1-E mainboard
+
+pci:v00008086d000024D3sv00008086sd00004246*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GBF
+
+pci:v00008086d000024D3sv00008086sd00004C43*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GLC
+
+pci:v00008086d000024D3sv00008086sd0000524C*
+ ID_MODEL_FROM_DATABASE=D865PERL mainboard
+
+pci:v00008086d000024D4*
+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2
+
+pci:v00008086d000024D4sv00001014sd000002DD*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00008086d000024D4sv00001014sd000002ED*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00008086d000024D4sv00001028sd00000169*
+ ID_MODEL_FROM_DATABASE=Precision 470
+
+pci:v00008086d000024D4sv00001028sd0000016C*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI
+
+pci:v00008086d000024D4sv00001028sd0000016D*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI
+
+pci:v00008086d000024D4sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI
+
+pci:v00008086d000024D4sv00001028sd00000183*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1800
+
+pci:v00008086d000024D4sv00001028sd0000019A*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC1425
+
+pci:v00008086d000024D4sv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=NX9500
+
+pci:v00008086d000024D4sv0000103Csd000012BC*
+ ID_MODEL_FROM_DATABASE=d530 CMT (DG746A)
+
+pci:v00008086d000024D4sv0000103Csd00003208*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G2
+
+pci:v00008086d000024D4sv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard
+
+pci:v00008086d000024D4sv00001458sd000024D2*
+ ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
+
+pci:v00008086d000024D4sv00001462sd00007280*
+ ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728)
+
+pci:v00008086d000024D4sv00001462sd00007650*
+ ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065)
+
+pci:v00008086d000024D4sv00001565sd00003101*
+ ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G)
+
+pci:v00008086d000024D4sv000015D9sd00004580*
+ ID_MODEL_FROM_DATABASE=P4SCE Mainboard
+
+pci:v00008086d000024D4sv00001734sd0000101C*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI
+
+pci:v00008086d000024D4sv00008086sd00003427*
+ ID_MODEL_FROM_DATABASE=S875WP1-E mainboard
+
+pci:v00008086d000024D4sv00008086sd00004246*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GBF
+
+pci:v00008086d000024D4sv00008086sd00004C43*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GLC
+
+pci:v00008086d000024D4sv00008086sd0000524C*
+ ID_MODEL_FROM_DATABASE=D865PERL mainboard
+
+pci:v00008086d000024D5*
+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller
+
+pci:v00008086d000024D5sv0000100Asd0000147B*
+ ID_MODEL_FROM_DATABASE=Abit IS7-E motherboard
+
+pci:v00008086d000024D5sv00001028sd00000169*
+ ID_MODEL_FROM_DATABASE=Precision 470
+
+pci:v00008086d000024D5sv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=NX9500
+
+pci:v00008086d000024D5sv0000103Csd000012BC*
+ ID_MODEL_FROM_DATABASE=d330 uT
+
+pci:v00008086d000024D5sv00001043sd000080F3*
+ ID_MODEL_FROM_DATABASE=P4P800 series motherboard
+
+pci:v00008086d000024D5sv00001043sd0000810F*
+ ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard
+
+pci:v00008086d000024D5sv00001458sd0000A002*
+ ID_MODEL_FROM_DATABASE=GA-8IPE1000/8KNXP motherboard
+
+pci:v00008086d000024D5sv00001462sd00000080*
+ ID_MODEL_FROM_DATABASE=865PE Neo2-V (MS-6788) Mainboard
+
+pci:v00008086d000024D5sv00001462sd00007280*
+ ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728)
+
+pci:v00008086d000024D5sv00001462sd00007650*
+ ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065)
+
+pci:v00008086d000024D5sv00008086sd0000A000*
+ ID_MODEL_FROM_DATABASE=D865PERL mainboard
+
+pci:v00008086d000024D5sv00008086sd0000E000*
+ ID_MODEL_FROM_DATABASE=D865PERL mainboard
+
+pci:v00008086d000024D5sv00008086sd0000E001*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GBF
+
+pci:v00008086d000024D5sv00008086sd0000E002*
+ ID_MODEL_FROM_DATABASE=SoundMax Intergrated Digital Audio
+
+pci:v00008086d000024D6*
+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller
+
+pci:v00008086d000024D6sv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=NX9500
+
+pci:v00008086d000024D7*
+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3
+
+pci:v00008086d000024D7sv00001014sd000002ED*
+ ID_MODEL_FROM_DATABASE=xSeries server mainboard
+
+pci:v00008086d000024D7sv00001028sd00000169*
+ ID_MODEL_FROM_DATABASE=Precision 470
+
+pci:v00008086d000024D7sv00001028sd0000016C*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI
+
+pci:v00008086d000024D7sv00001028sd0000016D*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI
+
+pci:v00008086d000024D7sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI
+
+pci:v00008086d000024D7sv00001028sd00000183*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1800
+
+pci:v00008086d000024D7sv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=NX9500
+
+pci:v00008086d000024D7sv0000103Csd000012BC*
+ ID_MODEL_FROM_DATABASE=d530 CMT (DG746A)
+
+pci:v00008086d000024D7sv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard
+
+pci:v00008086d000024D7sv00001458sd000024D2*
+ ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
+
+pci:v00008086d000024D7sv00001462sd00007280*
+ ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728)
+
+pci:v00008086d000024D7sv00001462sd00007650*
+ ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065)
+
+pci:v00008086d000024D7sv00001565sd00003101*
+ ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G)
+
+pci:v00008086d000024D7sv000015D9sd00004580*
+ ID_MODEL_FROM_DATABASE=P4SCE Mainboard
+
+pci:v00008086d000024D7sv00001734sd0000101C*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI
+
+pci:v00008086d000024D7sv00008086sd00003427*
+ ID_MODEL_FROM_DATABASE=S875WP1-E mainboard
+
+pci:v00008086d000024D7sv00008086sd00004246*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GBF
+
+pci:v00008086d000024D7sv00008086sd00004C43*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GLC
+
+pci:v00008086d000024D7sv00008086sd0000524C*
+ ID_MODEL_FROM_DATABASE=D865PERL mainboard
+
+pci:v00008086d000024DB*
+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller
+
+pci:v00008086d000024DBsv00001014sd000002DD*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00008086d000024DBsv00001014sd000002ED*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00008086d000024DBsv00001028sd00000169*
+ ID_MODEL_FROM_DATABASE=Precision 470
+
+pci:v00008086d000024DBsv00001028sd0000016C*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1850 IDE Controller
+
+pci:v00008086d000024DBsv00001028sd0000016D*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2850 IDE Controller
+
+pci:v00008086d000024DBsv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 IDE Controller
+
+pci:v00008086d000024DBsv00001028sd0000019A*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC1425
+
+pci:v00008086d000024DBsv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=NX9500
+
+pci:v00008086d000024DBsv0000103Csd000012BC*
+ ID_MODEL_FROM_DATABASE=d530 CMT (DG746A)
+
+pci:v00008086d000024DBsv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard
+
+pci:v00008086d000024DBsv00001458sd000024D2*
+ ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
+
+pci:v00008086d000024DBsv00001462sd00007280*
+ ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728)
+
+pci:v00008086d000024DBsv00001462sd00007580*
+ ID_MODEL_FROM_DATABASE=MSI 875P
+
+pci:v00008086d000024DBsv00001462sd00007650*
+ ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065)
+
+pci:v00008086d000024DBsv00001565sd00003101*
+ ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G)
+
+pci:v00008086d000024DBsv000015D9sd00004580*
+ ID_MODEL_FROM_DATABASE=P4SCE Mainboard
+
+pci:v00008086d000024DBsv00001734sd0000101C*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard IDE
+
+pci:v00008086d000024DBsv00008086sd000024DB*
+ ID_MODEL_FROM_DATABASE=P4C800 Mainboard
+
+pci:v00008086d000024DBsv00008086sd00003427*
+ ID_MODEL_FROM_DATABASE=S875WP1-E mainboard
+
+pci:v00008086d000024DBsv00008086sd00004246*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GBF
+
+pci:v00008086d000024DBsv00008086sd00004C43*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GLC
+
+pci:v00008086d000024DBsv00008086sd0000524C*
+ ID_MODEL_FROM_DATABASE=D865PERL mainboard
+
+pci:v00008086d000024DC*
+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) LPC Interface Bridge
+
+pci:v00008086d000024DD*
+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller
+
+pci:v00008086d000024DDsv00001014sd000002DD*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00008086d000024DDsv00001014sd000002ED*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00008086d000024DDsv00001028sd00000169*
+ ID_MODEL_FROM_DATABASE=Precision 470
+
+pci:v00008086d000024DDsv00001028sd0000016C*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard EHCI
+
+pci:v00008086d000024DDsv00001028sd0000016D*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard EHCI
+
+pci:v00008086d000024DDsv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard EHCI
+
+pci:v00008086d000024DDsv00001028sd00000183*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1800
+
+pci:v00008086d000024DDsv00001028sd0000019A*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC1425
+
+pci:v00008086d000024DDsv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=NX9500
+
+pci:v00008086d000024DDsv0000103Csd000012BC*
+ ID_MODEL_FROM_DATABASE=d530 CMT (DG746A)
+
+pci:v00008086d000024DDsv0000103Csd00003208*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G2
+
+pci:v00008086d000024DDsv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard
+
+pci:v00008086d000024DDsv00001458sd00005006*
+ ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
+
+pci:v00008086d000024DDsv00001462sd00007280*
+ ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728)
+
+pci:v00008086d000024DDsv00001462sd00007650*
+ ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065)
+
+pci:v00008086d000024DDsv00008086sd00003427*
+ ID_MODEL_FROM_DATABASE=S875WP1-E mainboard
+
+pci:v00008086d000024DDsv00008086sd00004246*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GBF
+
+pci:v00008086d000024DDsv00008086sd00004C43*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GLC
+
+pci:v00008086d000024DDsv00008086sd0000524C*
+ ID_MODEL_FROM_DATABASE=D865PERL mainboard
+
+pci:v00008086d000024DE*
+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4
+
+pci:v00008086d000024DEsv00001014sd000002ED*
+ ID_MODEL_FROM_DATABASE=xSeries server mainboard
+
+pci:v00008086d000024DEsv00001028sd00000169*
+ ID_MODEL_FROM_DATABASE=Precision 470
+
+pci:v00008086d000024DEsv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard
+
+pci:v00008086d000024DEsv00001458sd000024D2*
+ ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
+
+pci:v00008086d000024DEsv00001462sd00007280*
+ ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728)
+
+pci:v00008086d000024DEsv00001462sd00007650*
+ ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065)
+
+pci:v00008086d000024DEsv00001565sd00003101*
+ ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G)
+
+pci:v00008086d000024DEsv000015D9sd00004580*
+ ID_MODEL_FROM_DATABASE=P4SCE Mainboard
+
+pci:v00008086d000024DEsv00001734sd0000101C*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI
+
+pci:v00008086d000024DEsv00008086sd00003427*
+ ID_MODEL_FROM_DATABASE=S875WP1-E mainboard
+
+pci:v00008086d000024DEsv00008086sd00004246*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GBF
+
+pci:v00008086d000024DEsv00008086sd00004C43*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GLC
+
+pci:v00008086d000024DEsv00008086sd0000524C*
+ ID_MODEL_FROM_DATABASE=D865PERL mainboard
+
+pci:v00008086d000024DF*
+ ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller
+
+pci:v00008086d00002500*
+ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH)
+
+pci:v00008086d00002500sv00001028sd00000095*
+ ID_MODEL_FROM_DATABASE=Precision Workstation 220 Chipset
+
+pci:v00008086d00002500sv00001043sd0000801C*
+ ID_MODEL_FROM_DATABASE=P3C-2000 system chipset
+
+pci:v00008086d00002501*
+ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH)
+
+pci:v00008086d00002501sv00001043sd0000801C*
+ ID_MODEL_FROM_DATABASE=P3C-2000 system chipset
+
+pci:v00008086d0000250B*
+ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge
+
+pci:v00008086d0000250F*
+ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset AGP Bridge
+
+pci:v00008086d00002520*
+ ID_MODEL_FROM_DATABASE=82805AA MTH Memory Translator Hub
+
+pci:v00008086d00002521*
+ ID_MODEL_FROM_DATABASE=82804AA MRH-S Memory Repeater Hub for SDRAM
+
+pci:v00008086d00002530*
+ ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH)
+
+pci:v00008086d00002530sv00001028sd000000C7*
+ ID_MODEL_FROM_DATABASE=Dimension 8100
+
+pci:v00008086d00002530sv0000147Bsd00000507*
+ ID_MODEL_FROM_DATABASE=TH7II-RAID
+
+pci:v00008086d00002531*
+ ID_MODEL_FROM_DATABASE=82860 860 (Wombat) Chipset Host Bridge (MCH)
+
+pci:v00008086d00002531sv00001028sd000000D8*
+ ID_MODEL_FROM_DATABASE=Precision 530
+
+pci:v00008086d00002532*
+ ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset AGP Bridge
+
+pci:v00008086d00002533*
+ ID_MODEL_FROM_DATABASE=82860 860 (Wombat) Chipset AGP Bridge
+
+pci:v00008086d00002534*
+ ID_MODEL_FROM_DATABASE=82860 860 (Wombat) Chipset PCI Bridge
+
+pci:v00008086d00002540*
+ ID_MODEL_FROM_DATABASE=E7500 Memory Controller Hub
+
+pci:v00008086d00002540sv000015D9sd00003480*
+ ID_MODEL_FROM_DATABASE=P4DP6
+
+pci:v00008086d00002541*
+ ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller
+
+pci:v00008086d00002541sv000015D9sd00003480*
+ ID_MODEL_FROM_DATABASE=P4DP6
+
+pci:v00008086d00002541sv00004C53sd00001090*
+ ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard
+
+pci:v00008086d00002541sv00008086sd00003424*
+ ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard
+
+pci:v00008086d00002543*
+ ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B PCI-to-PCI Bridge
+
+pci:v00008086d00002544*
+ ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B RASUM Controller
+
+pci:v00008086d00002544sv00004C53sd00001090*
+ ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard
+
+pci:v00008086d00002545*
+ ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface C PCI-to-PCI Bridge
+
+pci:v00008086d00002546*
+ ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface C RASUM Controller
+
+pci:v00008086d00002547*
+ ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface D PCI-to-PCI Bridge
+
+pci:v00008086d00002548*
+ ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface D RASUM Controller
+
+pci:v00008086d0000254C*
+ ID_MODEL_FROM_DATABASE=E7501 Memory Controller Hub
+
+pci:v00008086d0000254Csv00004C53sd00001090*
+ ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard
+
+pci:v00008086d0000254Csv00008086sd00003424*
+ ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard
+
+pci:v00008086d00002550*
+ ID_MODEL_FROM_DATABASE=E7505 Memory Controller Hub
+
+pci:v00008086d00002551*
+ ID_MODEL_FROM_DATABASE=E7505/E7205 Series RAS Controller
+
+pci:v00008086d00002552*
+ ID_MODEL_FROM_DATABASE=E7505/E7205 PCI-to-AGP Bridge
+
+pci:v00008086d00002553*
+ ID_MODEL_FROM_DATABASE=E7505 Hub Interface B PCI-to-PCI Bridge
+
+pci:v00008086d00002554*
+ ID_MODEL_FROM_DATABASE=E7505 Hub Interface B PCI-to-PCI Bridge RAS Controller
+
+pci:v00008086d0000255D*
+ ID_MODEL_FROM_DATABASE=E7205 Memory Controller Hub
+
+pci:v00008086d00002560*
+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface
+
+pci:v00008086d00002560sv00001028sd00000126*
+ ID_MODEL_FROM_DATABASE=Optiplex GX260
+
+pci:v00008086d00002560sv00001458sd00002560*
+ ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra
+
+pci:v00008086d00002560sv00001462sd00005800*
+ ID_MODEL_FROM_DATABASE=845PE Max (MS-6580)
+
+pci:v00008086d00002561*
+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE Host-to-AGP Bridge
+
+pci:v00008086d00002562*
+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device
+
+pci:v00008086d00002562sv00000E11sd000000B9*
+ ID_MODEL_FROM_DATABASE=Evo D510 SFF
+
+pci:v00008086d00002562sv00001014sd00000267*
+ ID_MODEL_FROM_DATABASE=NetVista A30p
+
+pci:v00008086d00002562sv00001734sd00001003*
+ ID_MODEL_FROM_DATABASE=D1521 Mainboard (Fujitsu-Siemens)
+
+pci:v00008086d00002562sv00001734sd00001004*
+ ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
+
+pci:v00008086d00002570*
+ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface
+
+pci:v00008086d00002570sv0000103Csd0000006A*
+ ID_MODEL_FROM_DATABASE=NX9500
+
+pci:v00008086d00002570sv0000103Csd000012BC*
+ ID_MODEL_FROM_DATABASE=d330 uT
+
+pci:v00008086d00002570sv00001043sd000080F2*
+ ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard
+
+pci:v00008086d00002570sv00001458sd00002570*
+ ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
+
+pci:v00008086d00002571*
+ ID_MODEL_FROM_DATABASE=82865G/PE/P AGP Bridge
+
+pci:v00008086d00002572*
+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller
+
+pci:v00008086d00002572sv00001028sd0000019D*
+ ID_MODEL_FROM_DATABASE=Dimension 3000
+
+pci:v00008086d00002572sv0000103Csd000012BC*
+ ID_MODEL_FROM_DATABASE=D530 sff(dc578av)
+
+pci:v00008086d00002572sv00001043sd000080A5*
+ ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard
+
+pci:v00008086d00002572sv00001462sd00007650*
+ ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065)
+
+pci:v00008086d00002572sv00001734sd0000101B*
+ ID_MODEL_FROM_DATABASE=Fujitsu-Siemens Scenic E300 i865GV
+
+pci:v00008086d00002572sv00008086sd00004246*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GBF
+
+pci:v00008086d00002572sv00008086sd00004C43*
+ ID_MODEL_FROM_DATABASE=Desktop Board D865GLC
+
+pci:v00008086d00002573*
+ ID_MODEL_FROM_DATABASE=82865G/PE/P PCI to CSA Bridge
+
+pci:v00008086d00002576*
+ ID_MODEL_FROM_DATABASE=82865G/PE/P Processor to I/O Memory Interface
+
+pci:v00008086d00002578*
+ ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub
+
+pci:v00008086d00002578sv00001458sd00002578*
+ ID_MODEL_FROM_DATABASE=GA-8KNXP motherboard (875P)
+
+pci:v00008086d00002578sv00001462sd00007580*
+ ID_MODEL_FROM_DATABASE=MS-6758 (875P Neo)
+
+pci:v00008086d00002578sv000015D9sd00004580*
+ ID_MODEL_FROM_DATABASE=P4SCE Motherboard
+
+pci:v00008086d00002579*
+ ID_MODEL_FROM_DATABASE=82875P Processor to AGP Controller
+
+pci:v00008086d0000257B*
+ ID_MODEL_FROM_DATABASE=82875P/E7210 Processor to PCI to CSA Bridge
+
+pci:v00008086d0000257E*
+ ID_MODEL_FROM_DATABASE=82875P/E7210 Processor to I/O Memory Interface
+
+pci:v00008086d00002580*
+ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub
+
+pci:v00008086d00002580sv00001458sd00002580*
+ ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard
+
+pci:v00008086d00002580sv00001462sd00007028*
+ ID_MODEL_FROM_DATABASE=915P/G Neo2
+
+pci:v00008086d00002580sv00001734sd0000105B*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v00008086d00002581*
+ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL PCI Express Root Port
+
+pci:v00008086d00002582*
+ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller
+
+pci:v00008086d00002582sv00001028sd00001079*
+ ID_MODEL_FROM_DATABASE=Optiplex GX280
+
+pci:v00008086d00002582sv0000103Csd00003006*
+ ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV)
+
+pci:v00008086d00002582sv00001043sd00002582*
+ ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard
+
+pci:v00008086d00002582sv00001458sd00002582*
+ ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard
+
+pci:v00008086d00002582sv00001734sd0000105B*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v00008086d00002582sv00001849sd00002582*
+ ID_MODEL_FROM_DATABASE=ASRock P4Dual-915GL
+
+pci:v00008086d00002584*
+ ID_MODEL_FROM_DATABASE=82925X/XE Memory Controller Hub
+
+pci:v00008086d00002584sv00001028sd00000177*
+ ID_MODEL_FROM_DATABASE=Dimension 8400
+
+pci:v00008086d00002585*
+ ID_MODEL_FROM_DATABASE=82925X/XE PCI Express Root Port
+
+pci:v00008086d00002588*
+ ID_MODEL_FROM_DATABASE=E7220/E7221 Memory Controller Hub
+
+pci:v00008086d00002589*
+ ID_MODEL_FROM_DATABASE=E7220/E7221 PCI Express Root Port
+
+pci:v00008086d0000258A*
+ ID_MODEL_FROM_DATABASE=E7221 Integrated Graphics Controller
+
+pci:v00008086d00002590*
+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller
+
+pci:v00008086d00002590sv00001014sd00000575*
+ ID_MODEL_FROM_DATABASE=ThinkPad Z60t
+
+pci:v00008086d00002590sv00001028sd00000182*
+ ID_MODEL_FROM_DATABASE=Dell Latitude C610
+
+pci:v00008086d00002590sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v00008086d00002590sv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d00002590sv0000104Dsd000081B7*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-S3XP
+
+pci:v00008086d00002590sv0000A304sd000081B7*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-S3XP
+
+pci:v00008086d00002590sv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d00002590sv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d00002590sv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d00002591*
+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM Express PCI Express Root Port
+
+pci:v00008086d00002591sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation
+
+pci:v00008086d00002592*
+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller
+
+pci:v00008086d00002592sv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d00002592sv0000103Csd0000308A*
+ ID_MODEL_FROM_DATABASE=NC6220
+
+pci:v00008086d00002592sv00001043sd00001881*
+ ID_MODEL_FROM_DATABASE=GMA 900 915GM Integrated Graphics
+
+pci:v00008086d00002592sv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d00002592sv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d00002592sv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d000025A1*
+ ID_MODEL_FROM_DATABASE=6300ESB LPC Interface Controller
+
+pci:v00008086d000025A2*
+ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller
+
+pci:v00008086d000025A2sv00001734sd00001073*
+ ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard
+
+pci:v00008086d000025A2sv00001775sd000010D0*
+ ID_MODEL_FROM_DATABASE=V5D Single Board Computer IDE
+
+pci:v00008086d000025A2sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d000025A2sv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d000025A2sv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d000025A2sv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d000025A3*
+ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller
+
+pci:v00008086d000025A3sv00001734sd00001073*
+ ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard
+
+pci:v00008086d000025A3sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d000025A3sv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d000025A3sv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d000025A3sv00004C53sd000010D0*
+ ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC
+
+pci:v00008086d000025A3sv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d000025A4*
+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller
+
+pci:v00008086d000025A4sv00001734sd00001073*
+ ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard
+
+pci:v00008086d000025A4sv00001775sd000010D0*
+ ID_MODEL_FROM_DATABASE=V5D Single Board Computer
+
+pci:v00008086d000025A4sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d000025A4sv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d000025A4sv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d000025A4sv00004C53sd000010D0*
+ ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC
+
+pci:v00008086d000025A4sv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d000025A6*
+ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller
+
+pci:v00008086d000025A6sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d000025A6sv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d000025A6sv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d000025A7*
+ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Modem Controller
+
+pci:v00008086d000025A9*
+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller
+
+pci:v00008086d000025A9sv00001734sd00001073*
+ ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard
+
+pci:v00008086d000025A9sv00001775sd000010D0*
+ ID_MODEL_FROM_DATABASE=V5D Single Board Computer USB
+
+pci:v00008086d000025A9sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d000025A9sv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d000025A9sv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d000025A9sv00004C53sd000010D0*
+ ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC
+
+pci:v00008086d000025A9sv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d000025AA*
+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller
+
+pci:v00008086d000025AAsv00001734sd00001073*
+ ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard
+
+pci:v00008086d000025AAsv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d000025AAsv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d000025AAsv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d000025AAsv00004C53sd000010D0*
+ ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC
+
+pci:v00008086d000025AAsv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d000025AB*
+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer
+
+pci:v00008086d000025ABsv00001734sd00001073*
+ ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard
+
+pci:v00008086d000025ABsv00001775sd000010D0*
+ ID_MODEL_FROM_DATABASE=V5D Single Board Computer
+
+pci:v00008086d000025ABsv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d000025ABsv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d000025ABsv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d000025ABsv00004C53sd000010D0*
+ ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC
+
+pci:v00008086d000025ABsv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d000025AC*
+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller
+
+pci:v00008086d000025ACsv00001734sd00001073*
+ ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard
+
+pci:v00008086d000025ACsv00001775sd000010D0*
+ ID_MODEL_FROM_DATABASE=V5D Single Board Computer
+
+pci:v00008086d000025ACsv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d000025ACsv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d000025ACsv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d000025ACsv00004C53sd000010D0*
+ ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC
+
+pci:v00008086d000025ACsv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d000025AD*
+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller
+
+pci:v00008086d000025ADsv00001734sd00001073*
+ ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard
+
+pci:v00008086d000025ADsv00001775sd000010D0*
+ ID_MODEL_FROM_DATABASE=V5D Single Board Computer USB 2.0
+
+pci:v00008086d000025ADsv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d000025ADsv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d000025ADsv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d000025ADsv00004C53sd000010D0*
+ ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC
+
+pci:v00008086d000025ADsv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d000025AE*
+ ID_MODEL_FROM_DATABASE=6300ESB 64-bit PCI-X Bridge
+
+pci:v00008086d000025B0*
+ ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller
+
+pci:v00008086d000025B0sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d000025B0sv00004C53sd000010D0*
+ ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC
+
+pci:v00008086d000025B0sv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d000025C0*
+ ID_MODEL_FROM_DATABASE=5000X Chipset Memory Controller Hub
+
+pci:v00008086d000025D0*
+ ID_MODEL_FROM_DATABASE=5000Z Chipset Memory Controller Hub
+
+pci:v00008086d000025D4*
+ ID_MODEL_FROM_DATABASE=5000V Chipset Memory Controller Hub
+
+pci:v00008086d000025D4sv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d000025D8*
+ ID_MODEL_FROM_DATABASE=5000P Chipset Memory Controller Hub
+
+pci:v00008086d000025D8sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d000025D8sv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board
+
+pci:v00008086d000025E2*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 2
+
+pci:v00008086d000025E3*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 3
+
+pci:v00008086d000025E4*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 4
+
+pci:v00008086d000025E5*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 5
+
+pci:v00008086d000025E6*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 6
+
+pci:v00008086d000025E7*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 7
+
+pci:v00008086d000025F0*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers
+
+pci:v00008086d000025F0sv00001028sd000001BB*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1955 FSB Registers
+
+pci:v00008086d000025F0sv0000103Csd000031FD*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d000025F0sv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d000025F0sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d000025F0sv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board
+
+pci:v00008086d000025F1*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers
+
+pci:v00008086d000025F1sv0000103Csd000031FD*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d000025F1sv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d000025F1sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d000025F1sv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board
+
+pci:v00008086d000025F3*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers
+
+pci:v00008086d000025F3sv0000103Csd000031FD*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d000025F3sv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d000025F3sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d000025F3sv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board
+
+pci:v00008086d000025F5*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers
+
+pci:v00008086d000025F5sv0000103Csd000031FD*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d000025F5sv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d000025F5sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d000025F5sv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board
+
+pci:v00008086d000025F6*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers
+
+pci:v00008086d000025F6sv0000103Csd000031FD*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d000025F6sv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d000025F6sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d000025F6sv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board
+
+pci:v00008086d000025F7*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x8 Port 2-3
+
+pci:v00008086d000025F8*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x8 Port 4-5
+
+pci:v00008086d000025F9*
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x8 Port 6-7
+
+pci:v00008086d000025FA*
+ ID_MODEL_FROM_DATABASE=5000X Chipset PCI Express x16 Port 4-7
+
+pci:v00008086d00002600*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 Hub Interface 1.5
+
+pci:v00008086d00002600sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 Hub Interface
+
+pci:v00008086d00002601*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x4 Port D
+
+pci:v00008086d00002602*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x4 Port C0
+
+pci:v00008086d00002603*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x4 Port C1
+
+pci:v00008086d00002604*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x4 Port B0
+
+pci:v00008086d00002605*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x4 Port B1
+
+pci:v00008086d00002606*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x4 Port A0
+
+pci:v00008086d00002607*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x4 Port A1
+
+pci:v00008086d00002608*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x8 Port C
+
+pci:v00008086d00002609*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x8 Port B
+
+pci:v00008086d0000260A*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x8 Port A
+
+pci:v00008086d0000260C*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 IMI Registers
+
+pci:v00008086d00002610*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 FSB Registers
+
+pci:v00008086d00002611*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 Address Mapping Registers
+
+pci:v00008086d00002612*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 RAS Registers
+
+pci:v00008086d00002613*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 Reserved Registers
+
+pci:v00008086d00002614*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 Reserved Registers
+
+pci:v00008086d00002615*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 Miscellaneous Registers
+
+pci:v00008086d00002617*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 Reserved Registers
+
+pci:v00008086d00002618*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 Reserved Registers
+
+pci:v00008086d00002619*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 Reserved Registers
+
+pci:v00008086d0000261A*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 Reserved Registers
+
+pci:v00008086d0000261B*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 Reserved Registers
+
+pci:v00008086d0000261C*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 Reserved Registers
+
+pci:v00008086d0000261D*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 Reserved Registers
+
+pci:v00008086d0000261E*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 Reserved Registers
+
+pci:v00008086d00002620*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 eXternal Memory Bridge
+
+pci:v00008086d00002620sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 Memory Bridge
+
+pci:v00008086d00002621*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Miscellaneous Registers
+
+pci:v00008086d00002621sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 XMB Registers
+
+pci:v00008086d00002622*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Memory Interleaving Registers
+
+pci:v00008086d00002622sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 Memory Interleaving Registers
+
+pci:v00008086d00002623*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB DDR Initialization and Calibration
+
+pci:v00008086d00002623sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 DDR Initialization and Calibration
+
+pci:v00008086d00002624*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers
+
+pci:v00008086d00002624sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers
+
+pci:v00008086d00002625*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers
+
+pci:v00008086d00002625sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers
+
+pci:v00008086d00002626*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers
+
+pci:v00008086d00002626sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers
+
+pci:v00008086d00002627*
+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers
+
+pci:v00008086d00002627sv00001028sd00000170*
+ ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers
+
+pci:v00008086d00002640*
+ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge
+
+pci:v00008086d00002640sv00001462sd00007028*
+ ID_MODEL_FROM_DATABASE=915P/G Neo2
+
+pci:v00008086d00002640sv00001734sd0000105C*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v00008086d00002640sv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d00002640sv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d00002640sv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d00002641*
+ ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge
+
+pci:v00008086d00002641sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v00008086d00002641sv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d00002642*
+ ID_MODEL_FROM_DATABASE=82801FW/FRW (ICH6W/ICH6RW) LPC Interface Bridge
+
+pci:v00008086d00002651*
+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller
+
+pci:v00008086d00002651sv00001028sd00000179*
+ ID_MODEL_FROM_DATABASE=Optiplex GX280
+
+pci:v00008086d00002651sv00001043sd00002601*
+ ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard
+
+pci:v00008086d00002651sv00001734sd0000105C*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v00008086d00002651sv00008086sd00004147*
+ ID_MODEL_FROM_DATABASE=D915GAG Motherboard
+
+pci:v00008086d00002651sv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d00002651sv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d00002651sv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d00002652*
+ ID_MODEL_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller
+
+pci:v00008086d00002652sv00001028sd00000177*
+ ID_MODEL_FROM_DATABASE=Dimension 8400
+
+pci:v00008086d00002652sv00001462sd00007028*
+ ID_MODEL_FROM_DATABASE=915P/G Neo2
+
+pci:v00008086d00002653*
+ ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) SATA Controller
+
+pci:v00008086d00002658*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1
+
+pci:v00008086d00002658sv00001028sd00000177*
+ ID_MODEL_FROM_DATABASE=Dimension 8400
+
+pci:v00008086d00002658sv00001028sd00000179*
+ ID_MODEL_FROM_DATABASE=Optiplex GX280
+
+pci:v00008086d00002658sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v00008086d00002658sv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d00002658sv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard
+
+pci:v00008086d00002658sv00001458sd00002558*
+ ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard
+
+pci:v00008086d00002658sv00001462sd00007028*
+ ID_MODEL_FROM_DATABASE=915P/G Neo2
+
+pci:v00008086d00002658sv00001734sd0000105C*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v00008086d00002658sv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d00002658sv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d00002658sv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d00002659*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2
+
+pci:v00008086d00002659sv00001028sd00000177*
+ ID_MODEL_FROM_DATABASE=Dimension 8400
+
+pci:v00008086d00002659sv00001028sd00000179*
+ ID_MODEL_FROM_DATABASE=Optiplex GX280
+
+pci:v00008086d00002659sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v00008086d00002659sv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d00002659sv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard
+
+pci:v00008086d00002659sv00001458sd00002659*
+ ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard
+
+pci:v00008086d00002659sv00001462sd00007028*
+ ID_MODEL_FROM_DATABASE=915P/G Neo2
+
+pci:v00008086d00002659sv00001734sd0000105C*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v00008086d00002659sv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d00002659sv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d00002659sv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d0000265A*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3
+
+pci:v00008086d0000265Asv00001028sd00000177*
+ ID_MODEL_FROM_DATABASE=Dimension 8400
+
+pci:v00008086d0000265Asv00001028sd00000179*
+ ID_MODEL_FROM_DATABASE=Optiplex GX280
+
+pci:v00008086d0000265Asv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v00008086d0000265Asv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d0000265Asv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard
+
+pci:v00008086d0000265Asv00001458sd0000265A*
+ ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard
+
+pci:v00008086d0000265Asv00001462sd00007028*
+ ID_MODEL_FROM_DATABASE=915P/G Neo2
+
+pci:v00008086d0000265Asv00001734sd0000105C*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v00008086d0000265Asv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d0000265Asv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d0000265Asv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d0000265B*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4
+
+pci:v00008086d0000265Bsv00001028sd00000177*
+ ID_MODEL_FROM_DATABASE=Dimension 8400
+
+pci:v00008086d0000265Bsv00001028sd00000179*
+ ID_MODEL_FROM_DATABASE=Optiplex GX280
+
+pci:v00008086d0000265Bsv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d0000265Bsv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard
+
+pci:v00008086d0000265Bsv00001458sd0000265A*
+ ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard
+
+pci:v00008086d0000265Bsv00001462sd00007028*
+ ID_MODEL_FROM_DATABASE=915P/G Neo2
+
+pci:v00008086d0000265Bsv00001734sd0000105C*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v00008086d0000265Bsv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d0000265Bsv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d0000265Bsv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d0000265C*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller
+
+pci:v00008086d0000265Csv00001028sd00000177*
+ ID_MODEL_FROM_DATABASE=Dimension 8400
+
+pci:v00008086d0000265Csv00001028sd00000179*
+ ID_MODEL_FROM_DATABASE=Optiplex GX280
+
+pci:v00008086d0000265Csv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v00008086d0000265Csv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d0000265Csv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard
+
+pci:v00008086d0000265Csv00001458sd00005006*
+ ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard
+
+pci:v00008086d0000265Csv00001462sd00007028*
+ ID_MODEL_FROM_DATABASE=915P/G Neo2
+
+pci:v00008086d0000265Csv00001734sd0000105C*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v00008086d0000265Csv00008086sd0000265C*
+ ID_MODEL_FROM_DATABASE=Dimension 3100
+
+pci:v00008086d0000265Csv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d0000265Csv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d0000265Csv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d00002660*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1
+
+pci:v00008086d00002660sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation
+
+pci:v00008086d00002660sv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d00002660sv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d00002660sv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d00002660sv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d00002662*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2
+
+pci:v00008086d00002662sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation
+
+pci:v00008086d00002662sv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d00002662sv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d00002662sv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d00002664*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3
+
+pci:v00008086d00002664sv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d00002664sv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d00002664sv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d00002666*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4
+
+pci:v00008086d00002666sv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d00002666sv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d00002666sv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d00002668*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller
+
+pci:v00008086d00002668sv00001014sd000005B7*
+ ID_MODEL_FROM_DATABASE=ThinkPad Z60t
+
+pci:v00008086d00002668sv0000103Csd00002A09*
+ ID_MODEL_FROM_DATABASE=PufferM-UL8E
+
+pci:v00008086d00002668sv00001043sd00001173*
+ ID_MODEL_FROM_DATABASE=Asus A6VC
+
+pci:v00008086d00002668sv00001043sd0000814E*
+ ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard
+
+pci:v00008086d00002668sv00001462sd00007028*
+ ID_MODEL_FROM_DATABASE=915P/G Neo2
+
+pci:v00008086d0000266A*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller
+
+pci:v00008086d0000266Asv00001028sd00000177*
+ ID_MODEL_FROM_DATABASE=Dimension 8400
+
+pci:v00008086d0000266Asv00001028sd00000179*
+ ID_MODEL_FROM_DATABASE=Optiplex GX280
+
+pci:v00008086d0000266Asv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard
+
+pci:v00008086d0000266Asv00001458sd0000266A*
+ ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard
+
+pci:v00008086d0000266Asv00001462sd00007028*
+ ID_MODEL_FROM_DATABASE=915P/G Neo2
+
+pci:v00008086d0000266Asv00001734sd0000105C*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v00008086d0000266Asv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d0000266Asv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d0000266Asv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d0000266C*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) LAN Controller
+
+pci:v00008086d0000266D*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller
+
+pci:v00008086d0000266Dsv00001025sd0000006A*
+ ID_MODEL_FROM_DATABASE=Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop)
+
+pci:v00008086d0000266Dsv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v00008086d0000266Dsv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d0000266E*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller
+
+pci:v00008086d0000266Esv00001025sd0000006A*
+ ID_MODEL_FROM_DATABASE=Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop)
+
+pci:v00008086d0000266Esv00001028sd00000177*
+ ID_MODEL_FROM_DATABASE=Dimension 8400
+
+pci:v00008086d0000266Esv00001028sd00000179*
+ ID_MODEL_FROM_DATABASE=Optiplex GX280
+
+pci:v00008086d0000266Esv00001028sd00000182*
+ ID_MODEL_FROM_DATABASE=Latitude D610 Laptop
+
+pci:v00008086d0000266Esv00001028sd00000187*
+ ID_MODEL_FROM_DATABASE=Dell Precision M70 Laptop
+
+pci:v00008086d0000266Esv00001028sd00000188*
+ ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop
+
+pci:v00008086d0000266Esv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v00008086d0000266Esv0000103Csd00000944*
+ ID_MODEL_FROM_DATABASE=Compaq NC6220
+
+pci:v00008086d0000266Esv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d0000266Esv0000103Csd00003006*
+ ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV)
+
+pci:v00008086d0000266Esv00001458sd0000A002*
+ ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard
+
+pci:v00008086d0000266Esv0000152Dsd00000745*
+ ID_MODEL_FROM_DATABASE=Packard Bell A8550 Laptop
+
+pci:v00008086d0000266Esv00001734sd0000105A*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v00008086d0000266F*
+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller
+
+pci:v00008086d0000266Fsv00001028sd00000177*
+ ID_MODEL_FROM_DATABASE=Dimension 8400
+
+pci:v00008086d0000266Fsv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v00008086d0000266Fsv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d0000266Fsv00001043sd000080A6*
+ ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard
+
+pci:v00008086d0000266Fsv00001458sd0000266F*
+ ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard
+
+pci:v00008086d0000266Fsv00001462sd00007028*
+ ID_MODEL_FROM_DATABASE=915P/G Neo2
+
+pci:v00008086d0000266Fsv00001734sd0000105C*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v00008086d0000266Fsv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d0000266Fsv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d0000266Fsv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d00002670*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller
+
+pci:v00008086d00002670sv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d00002670sv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d00002670sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d00002670sv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board
+
+pci:v00008086d00002680*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SATA IDE Controller
+
+pci:v00008086d00002681*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller
+
+pci:v00008086d00002681sv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d00002681sv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d00002681sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d00002681sv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board
+
+pci:v00008086d00002682*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller
+
+pci:v00008086d00002682sv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=Adaptec Serial ATA HostRAID
+
+pci:v00008086d00002683*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller
+
+pci:v00008086d00002688*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1
+
+pci:v00008086d00002688sv00001028sd000001BB*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB
+
+pci:v00008086d00002688sv00001028sd000001F0*
+ ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB
+
+pci:v00008086d00002688sv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d00002688sv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d00002688sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d00002688sv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board
+
+pci:v00008086d00002689*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2
+
+pci:v00008086d00002689sv00001028sd000001BB*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB
+
+pci:v00008086d00002689sv00001028sd000001F0*
+ ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB
+
+pci:v00008086d00002689sv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d00002689sv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d00002689sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d00002689sv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board
+
+pci:v00008086d0000268A*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3
+
+pci:v00008086d0000268Asv00001028sd000001F0*
+ ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB
+
+pci:v00008086d0000268Asv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d0000268Asv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d0000268Asv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d0000268Asv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board
+
+pci:v00008086d0000268B*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4
+
+pci:v00008086d0000268Bsv00001028sd000001F0*
+ ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB
+
+pci:v00008086d0000268Bsv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d0000268Bsv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board
+
+pci:v00008086d0000268C*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller
+
+pci:v00008086d0000268Csv00001028sd000001BB*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB
+
+pci:v00008086d0000268Csv00001028sd000001F0*
+ ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB
+
+pci:v00008086d0000268Csv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d0000268Csv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d0000268Csv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d0000268Csv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board
+
+pci:v00008086d00002690*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1
+
+pci:v00008086d00002690sv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d00002690sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d00002692*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 2
+
+pci:v00008086d00002692sv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d00002694*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 3
+
+pci:v00008086d00002696*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 4
+
+pci:v00008086d00002698*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB AC '97 Audio Controller
+
+pci:v00008086d00002699*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB AC '97 Modem Controller
+
+pci:v00008086d0000269A*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB High Definition Audio Controller
+
+pci:v00008086d0000269B*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller
+
+pci:v00008086d0000269Bsv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d0000269Bsv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d0000269Bsv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d0000269Bsv00008086sd00003476*
+ ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board
+
+pci:v00008086d0000269E*
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller
+
+pci:v00008086d0000269Esv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d0000269Esv000015D9sd00008680*
+ ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard
+
+pci:v00008086d0000269Esv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d00002770*
+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub
+
+pci:v00008086d00002770sv00001028sd000001AD*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX620
+
+pci:v00008086d00002770sv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d00002770sv00001043sd0000817A*
+ ID_MODEL_FROM_DATABASE=P5LD2-VM Mainboard
+
+pci:v00008086d00002770sv0000107Bsd00005048*
+ ID_MODEL_FROM_DATABASE=E4500
+
+pci:v00008086d00002770sv00008086sd0000544E*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d00002771*
+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL PCI Express Root Port
+
+pci:v00008086d00002772*
+ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller
+
+pci:v00008086d00002772sv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d00002772sv00008086sd0000544E*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d00002772sv00008086sd0000D605*
+ ID_MODEL_FROM_DATABASE=Intel Desktop Board D945GCCR
+
+pci:v00008086d00002774*
+ ID_MODEL_FROM_DATABASE=82955X Memory Controller Hub
+
+pci:v00008086d00002775*
+ ID_MODEL_FROM_DATABASE=82955X PCI Express Root Port
+
+pci:v00008086d00002776*
+ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller
+
+pci:v00008086d00002778*
+ ID_MODEL_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub
+
+pci:v00008086d00002778sv00001028sd000001DF*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC440
+
+pci:v00008086d00002778sv00001028sd000001E6*
+ ID_MODEL_FROM_DATABASE=PowerEdge 860
+
+pci:v00008086d00002779*
+ ID_MODEL_FROM_DATABASE=E7230/3000/3010 PCI Express Root Port
+
+pci:v00008086d0000277A*
+ ID_MODEL_FROM_DATABASE=82975X/3010 PCI Express Root Port
+
+pci:v00008086d0000277C*
+ ID_MODEL_FROM_DATABASE=82975X Memory Controller Hub
+
+pci:v00008086d0000277Csv00001043sd00008178*
+ ID_MODEL_FROM_DATABASE=P5WDG2 WS Professional motherboard
+
+pci:v00008086d0000277D*
+ ID_MODEL_FROM_DATABASE=82975X PCI Express Root Port
+
+pci:v00008086d00002782*
+ ID_MODEL_FROM_DATABASE=82915G Integrated Graphics Controller
+
+pci:v00008086d00002782sv00001043sd00002582*
+ ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard
+
+pci:v00008086d00002782sv00001734sd0000105B*
+ ID_MODEL_FROM_DATABASE=Scenic W620
+
+pci:v00008086d00002792*
+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller
+
+pci:v00008086d00002792sv0000103Csd0000099C*
+ ID_MODEL_FROM_DATABASE=NX6110/NC6120
+
+pci:v00008086d00002792sv00001043sd00001881*
+ ID_MODEL_FROM_DATABASE=GMA 900 915GM Integrated Graphics
+
+pci:v00008086d00002792sv0000E4BFsd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v00008086d00002792sv0000E4BFsd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v00008086d00002792sv0000E4BFsd000058B1*
+ ID_MODEL_FROM_DATABASE=XB1
+
+pci:v00008086d000027A0*
+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub
+
+pci:v00008086d000027A0sv00001025sd0000006C*
+ ID_MODEL_FROM_DATABASE=9814 WKMI
+
+pci:v00008086d000027A0sv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00008086d000027A0sv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d000027A0sv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v00008086d000027A0sv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027A0sv00001043sd00001237*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v00008086d000027A0sv000017AAsd00002015*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60
+
+pci:v00008086d000027A0sv000017AAsd00002017*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v00008086d000027A1*
+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port
+
+pci:v00008086d000027A1sv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d000027A1sv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027A2*
+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller
+
+pci:v00008086d000027A2sv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v00008086d000027A2sv000017AAsd0000201A*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v00008086d000027A2sv00009902sd00001584*
+ ID_MODEL_FROM_DATABASE=CCE MPL-D10H120F
+
+pci:v00008086d000027A6*
+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller
+
+pci:v00008086d000027A6sv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v00008086d000027A6sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (secondary)
+
+pci:v00008086d000027A6sv000017AAsd0000201A*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v00008086d000027AC*
+ ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub
+
+pci:v00008086d000027ACsv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027AD*
+ ID_MODEL_FROM_DATABASE=Mobile 945GSE Express PCI Express Root Port
+
+pci:v00008086d000027AE*
+ ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Integrated Graphics Controller
+
+pci:v00008086d000027AEsv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (primary)
+
+pci:v00008086d000027B0*
+ ID_MODEL_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge
+
+pci:v00008086d000027B0sv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d000027B0sv00008086sd0000544E*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027B8*
+ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge
+
+pci:v00008086d000027B8sv00001028sd000001E6*
+ ID_MODEL_FROM_DATABASE=PowerEdge 860
+
+pci:v00008086d000027B8sv00001043sd00008179*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard
+
+pci:v00008086d000027B8sv0000107Bsd00005048*
+ ID_MODEL_FROM_DATABASE=E4500
+
+pci:v00008086d000027B8sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027B8sv00008086sd0000544E*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027B9*
+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge
+
+pci:v00008086d000027B9sv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00008086d000027B9sv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d000027B9sv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v00008086d000027B9sv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027B9sv000010F7sd00008338*
+ ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop
+
+pci:v00008086d000027B9sv000017AAsd00002009*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v00008086d000027BC*
+ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller
+
+pci:v00008086d000027BCsv0000105Bsd00000D7C*
+ ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard
+
+pci:v00008086d000027BCsv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d000027BCsv00001458sd00005001*
+ ID_MODEL_FROM_DATABASE=GA-D525TUD
+
+pci:v00008086d000027BCsv00008086sd00004F4D*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D510MO
+
+pci:v00008086d000027BCsv00008086sd0000544B*
+ ID_MODEL_FROM_DATABASE=Desktop Board D425KT
+
+pci:v00008086d000027BD*
+ ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) LPC Interface Bridge
+
+pci:v00008086d000027BDsv00001025sd0000006C*
+ ID_MODEL_FROM_DATABASE=9814 WKMI
+
+pci:v00008086d000027C0*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode]
+
+pci:v00008086d000027C0sv00001028sd000001AD*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX620
+
+pci:v00008086d000027C0sv00001028sd000001DF*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC440
+
+pci:v00008086d000027C0sv00001028sd000001E6*
+ ID_MODEL_FROM_DATABASE=PowerEdge 860
+
+pci:v00008086d000027C0sv00001043sd00008179*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard
+
+pci:v00008086d000027C0sv0000107Bsd00005048*
+ ID_MODEL_FROM_DATABASE=E4500
+
+pci:v00008086d000027C0sv00001462sd00002310*
+ ID_MODEL_FROM_DATABASE=MSI Hetis 945
+
+pci:v00008086d000027C0sv00001462sd00007236*
+ ID_MODEL_FROM_DATABASE=945P Neo3-F Rev. 2.2 motherboard
+
+pci:v00008086d000027C0sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027C0sv00008086sd0000544B*
+ ID_MODEL_FROM_DATABASE=Desktop Board D425KT
+
+pci:v00008086d000027C0sv00008086sd0000544E*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027C1*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode]
+
+pci:v00008086d000027C1sv00001028sd000001DF*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC440
+
+pci:v00008086d000027C1sv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d000027C1sv0000105Bsd00000D7C*
+ ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard
+
+pci:v00008086d000027C1sv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d000027C1sv00001458sd0000B005*
+ ID_MODEL_FROM_DATABASE=GA-D525TUD
+
+pci:v00008086d000027C1sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027C1sv00008086sd00004F4D*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D510MO
+
+pci:v00008086d000027C1sv00008086sd00005842*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D975XBX
+
+pci:v00008086d000027C3*
+ ID_MODEL_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode]
+
+pci:v00008086d000027C3sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027C3sv00008086sd0000544E*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027C4*
+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode]
+
+pci:v00008086d000027C4sv00001025sd0000006C*
+ ID_MODEL_FROM_DATABASE=9814 WKMI
+
+pci:v00008086d000027C4sv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00008086d000027C4sv000017AAsd0000200E*
+ ID_MODEL_FROM_DATABASE=Thinkpad T60 model 2007
+
+pci:v00008086d000027C5*
+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode]
+
+pci:v00008086d000027C5sv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d000027C5sv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027C5sv000017AAsd0000200D*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v00008086d000027C6*
+ ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) SATA Controller [RAID mode]
+
+pci:v00008086d000027C8*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1
+
+pci:v00008086d000027C8sv00001025sd0000006C*
+ ID_MODEL_FROM_DATABASE=9814 WKMI
+
+pci:v00008086d000027C8sv00001028sd000001AD*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX620
+
+pci:v00008086d000027C8sv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00008086d000027C8sv00001028sd000001DF*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC440
+
+pci:v00008086d000027C8sv00001028sd000001E6*
+ ID_MODEL_FROM_DATABASE=PowerEdge 860
+
+pci:v00008086d000027C8sv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d000027C8sv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d000027C8sv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v00008086d000027C8sv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027C8sv00001043sd00001237*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v00008086d000027C8sv00001043sd00008179*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard
+
+pci:v00008086d000027C8sv0000105Bsd00000D7C*
+ ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard
+
+pci:v00008086d000027C8sv0000107Bsd00005048*
+ ID_MODEL_FROM_DATABASE=E4500
+
+pci:v00008086d000027C8sv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d000027C8sv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=GA-D525TUD
+
+pci:v00008086d000027C8sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027C8sv000017AAsd0000200A*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v00008086d000027C8sv00008086sd00004F4D*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D510MO
+
+pci:v00008086d000027C8sv00008086sd0000544B*
+ ID_MODEL_FROM_DATABASE=Desktop Board D425KT
+
+pci:v00008086d000027C8sv00008086sd0000544E*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027C9*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2
+
+pci:v00008086d000027C9sv00001025sd0000006C*
+ ID_MODEL_FROM_DATABASE=9814 WKMI
+
+pci:v00008086d000027C9sv00001028sd000001AD*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX620
+
+pci:v00008086d000027C9sv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00008086d000027C9sv00001028sd000001DF*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC440
+
+pci:v00008086d000027C9sv00001028sd000001E6*
+ ID_MODEL_FROM_DATABASE=PowerEdge 860
+
+pci:v00008086d000027C9sv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d000027C9sv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d000027C9sv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v00008086d000027C9sv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027C9sv00001043sd00001237*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v00008086d000027C9sv00001043sd00008179*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard
+
+pci:v00008086d000027C9sv0000105Bsd00000D7C*
+ ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard
+
+pci:v00008086d000027C9sv0000107Bsd00005048*
+ ID_MODEL_FROM_DATABASE=E4500
+
+pci:v00008086d000027C9sv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d000027C9sv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=GA-D525TUD
+
+pci:v00008086d000027C9sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027C9sv000017AAsd0000200A*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v00008086d000027C9sv00008086sd00004F4D*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D510MO
+
+pci:v00008086d000027C9sv00008086sd0000544B*
+ ID_MODEL_FROM_DATABASE=Desktop Board D425KT
+
+pci:v00008086d000027C9sv00008086sd0000544E*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027CA*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3
+
+pci:v00008086d000027CAsv00001025sd0000006C*
+ ID_MODEL_FROM_DATABASE=9814 WKMI
+
+pci:v00008086d000027CAsv00001028sd000001AD*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX620
+
+pci:v00008086d000027CAsv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00008086d000027CAsv00001028sd000001DF*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC440
+
+pci:v00008086d000027CAsv00001028sd000001E6*
+ ID_MODEL_FROM_DATABASE=PowerEdge 860
+
+pci:v00008086d000027CAsv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d000027CAsv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d000027CAsv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v00008086d000027CAsv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027CAsv00001043sd00001237*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v00008086d000027CAsv00001043sd00008179*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard
+
+pci:v00008086d000027CAsv0000105Bsd00000D7C*
+ ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard
+
+pci:v00008086d000027CAsv0000107Bsd00005048*
+ ID_MODEL_FROM_DATABASE=E4500
+
+pci:v00008086d000027CAsv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d000027CAsv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=GA-D525TUD
+
+pci:v00008086d000027CAsv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027CAsv000017AAsd0000200A*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v00008086d000027CAsv00008086sd00004F4D*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D510MO
+
+pci:v00008086d000027CAsv00008086sd0000544E*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027CB*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4
+
+pci:v00008086d000027CBsv00001025sd0000006C*
+ ID_MODEL_FROM_DATABASE=9814 WKMI
+
+pci:v00008086d000027CBsv00001028sd000001AD*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX620
+
+pci:v00008086d000027CBsv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00008086d000027CBsv00001028sd000001DF*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC440
+
+pci:v00008086d000027CBsv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d000027CBsv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d000027CBsv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v00008086d000027CBsv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027CBsv00001043sd00001237*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v00008086d000027CBsv00001043sd00008179*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard
+
+pci:v00008086d000027CBsv0000105Bsd00000D7C*
+ ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard
+
+pci:v00008086d000027CBsv0000107Bsd00005048*
+ ID_MODEL_FROM_DATABASE=E4500
+
+pci:v00008086d000027CBsv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d000027CBsv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=GA-D525TUD
+
+pci:v00008086d000027CBsv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027CBsv000017AAsd0000200A*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v00008086d000027CBsv00008086sd00004F4D*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D510MO
+
+pci:v00008086d000027CBsv00008086sd0000544E*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027CC*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller
+
+pci:v00008086d000027CCsv00001025sd0000006C*
+ ID_MODEL_FROM_DATABASE=9814 WKMI
+
+pci:v00008086d000027CCsv00001028sd000001AD*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX620
+
+pci:v00008086d000027CCsv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00008086d000027CCsv00001028sd000001DF*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC440
+
+pci:v00008086d000027CCsv00001028sd000001E6*
+ ID_MODEL_FROM_DATABASE=PowerEdge 860
+
+pci:v00008086d000027CCsv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d000027CCsv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d000027CCsv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v00008086d000027CCsv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027CCsv00001043sd00001237*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v00008086d000027CCsv00001043sd00008179*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard
+
+pci:v00008086d000027CCsv0000105Bsd00000D7C*
+ ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard
+
+pci:v00008086d000027CCsv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d000027CCsv00001458sd00005006*
+ ID_MODEL_FROM_DATABASE=GA-D525TUD
+
+pci:v00008086d000027CCsv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027CCsv000017AAsd0000200B*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v00008086d000027CCsv00008086sd00004F4D*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D510MO
+
+pci:v00008086d000027CCsv00008086sd0000544B*
+ ID_MODEL_FROM_DATABASE=Desktop Board D425KT
+
+pci:v00008086d000027CCsv00008086sd0000544E*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027D0*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1
+
+pci:v00008086d000027D0sv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d000027D0sv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027D0sv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d000027D0sv00001458sd00005001*
+ ID_MODEL_FROM_DATABASE=GA-D525TUD
+
+pci:v00008086d000027D0sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027D0sv00008086sd0000544B*
+ ID_MODEL_FROM_DATABASE=Desktop Board D425KT
+
+pci:v00008086d000027D2*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2
+
+pci:v00008086d000027D2sv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d000027D2sv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027D2sv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d000027D2sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027D2sv00008086sd0000544B*
+ ID_MODEL_FROM_DATABASE=Desktop Board D425KT
+
+pci:v00008086d000027D4*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3
+
+pci:v00008086d000027D4sv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d000027D4sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027D4sv00008086sd0000544B*
+ ID_MODEL_FROM_DATABASE=Desktop Board D425KT
+
+pci:v00008086d000027D6*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4
+
+pci:v00008086d000027D6sv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027D6sv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d000027D6sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027D6sv00008086sd0000544B*
+ ID_MODEL_FROM_DATABASE=Desktop Board D425KT
+
+pci:v00008086d000027D8*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller
+
+pci:v00008086d000027D8sv00001025sd0000006C*
+ ID_MODEL_FROM_DATABASE=9814 WKMI
+
+pci:v00008086d000027D8sv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00008086d000027D8sv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d000027D8sv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d000027D8sv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v00008086d000027D8sv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027D8sv00001043sd00001123*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v00008086d000027D8sv00001043sd000013C4*
+ ID_MODEL_FROM_DATABASE=Asus G2P
+
+pci:v00008086d000027D8sv00001043sd0000817F*
+ ID_MODEL_FROM_DATABASE=P5LD2-VM Mainboard (Realtek ALC 882 codec)
+
+pci:v00008086d000027D8sv00001043sd00008290*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard
+
+pci:v00008086d000027D8sv00001043sd000082EA*
+ ID_MODEL_FROM_DATABASE=P5KPL-CM Motherboard
+
+pci:v00008086d000027D8sv0000105Bsd00000D7C*
+ ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard
+
+pci:v00008086d000027D8sv0000107Bsd00005048*
+ ID_MODEL_FROM_DATABASE=E4500
+
+pci:v00008086d000027D8sv000010F7sd00008338*
+ ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop
+
+pci:v00008086d000027D8sv00001179sd0000FF10*
+ ID_MODEL_FROM_DATABASE=Toshiba Satellite A100-796 audio (Realtek ALC861)
+
+pci:v00008086d000027D8sv00001179sd0000FF31*
+ ID_MODEL_FROM_DATABASE=AC97 Data Fax SoftModem with SmartCP
+
+pci:v00008086d000027D8sv00001447sd00001043*
+ ID_MODEL_FROM_DATABASE=Asus A8JP (Analog Devices AD1986A)
+
+pci:v00008086d000027D8sv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d000027D8sv00001458sd0000A002*
+ ID_MODEL_FROM_DATABASE=GA-D525TUD (Realtek ALC887)
+
+pci:v00008086d000027D8sv00001458sd0000A102*
+ ID_MODEL_FROM_DATABASE=GA-8I945PG-RH Mainboard
+
+pci:v00008086d000027D8sv0000152Dsd00000753*
+ ID_MODEL_FROM_DATABASE=Softmodem
+
+pci:v00008086d000027D8sv00001734sd000010AD*
+ ID_MODEL_FROM_DATABASE=Conexant softmodem SmartCP
+
+pci:v00008086d000027D8sv000017AAsd00002010*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v00008086d000027D8sv000017AAsd00003802*
+ ID_MODEL_FROM_DATABASE=Lenovo 3000 C200 audio [Realtek ALC861VD]
+
+pci:v00008086d000027D8sv00008086sd00001112*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027D8sv00008086sd000027D8*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027D8sv00008086sd0000D618*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D510MO
+
+pci:v00008086d000027D8sv00008384sd00007680*
+ ID_MODEL_FROM_DATABASE=STAC9221 HD Audio Codec
+
+pci:v00008086d000027DA*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller
+
+pci:v00008086d000027DAsv00001025sd0000006C*
+ ID_MODEL_FROM_DATABASE=9814 WKMI
+
+pci:v00008086d000027DAsv00001028sd000001AD*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX620
+
+pci:v00008086d000027DAsv00001028sd000001D7*
+ ID_MODEL_FROM_DATABASE=XPS M1210
+
+pci:v00008086d000027DAsv00001028sd000001DF*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC440
+
+pci:v00008086d000027DAsv00001028sd000001E6*
+ ID_MODEL_FROM_DATABASE=PowerEdge 860
+
+pci:v00008086d000027DAsv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d000027DAsv00001043sd00008179*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard
+
+pci:v00008086d000027DAsv0000105Bsd00000D7C*
+ ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard
+
+pci:v00008086d000027DAsv000010F7sd00008338*
+ ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop
+
+pci:v00008086d000027DAsv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d000027DAsv00001458sd00005001*
+ ID_MODEL_FROM_DATABASE=GA-8I945PG-RH/GA-D525TUD Mainboard
+
+pci:v00008086d000027DAsv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027DAsv000017AAsd0000200F*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v00008086d000027DAsv00008086sd00004F4D*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D510MO
+
+pci:v00008086d000027DAsv00008086sd0000544B*
+ ID_MODEL_FROM_DATABASE=Desktop Board D425KT
+
+pci:v00008086d000027DAsv00008086sd0000544E*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027DAsv00008086sd00005842*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D975XBX
+
+pci:v00008086d000027DC*
+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family LAN Controller
+
+pci:v00008086d000027DCsv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d000027DCsv00008086sd0000308D*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027DD*
+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Modem Controller
+
+pci:v00008086d000027DE*
+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller
+
+pci:v00008086d000027DEsv00001028sd000001AD*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX620
+
+pci:v00008086d000027DEsv00001462sd00007267*
+ ID_MODEL_FROM_DATABASE=Realtek ALC883 Audio Controller
+
+pci:v00008086d000027DEsv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11 integrated audio (AD1981BL codec)
+
+pci:v00008086d000027DF*
+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller
+
+pci:v00008086d000027DFsv00001028sd000001DF*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC440
+
+pci:v00008086d000027DFsv00001028sd000001E6*
+ ID_MODEL_FROM_DATABASE=PowerEdge 860
+
+pci:v00008086d000027DFsv0000103Csd00002A3B*
+ ID_MODEL_FROM_DATABASE=Pavilion A1512X
+
+pci:v00008086d000027DFsv0000103Csd0000309F*
+ ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook
+
+pci:v00008086d000027DFsv0000103Csd000030A1*
+ ID_MODEL_FROM_DATABASE=NC2400
+
+pci:v00008086d000027DFsv0000103Csd000030A3*
+ ID_MODEL_FROM_DATABASE=Compaq nw8440
+
+pci:v00008086d000027DFsv00001043sd00001237*
+ ID_MODEL_FROM_DATABASE=A6J-Q008
+
+pci:v00008086d000027DFsv00001043sd00008179*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard
+
+pci:v00008086d000027DFsv0000107Bsd00005048*
+ ID_MODEL_FROM_DATABASE=E4500
+
+pci:v00008086d000027DFsv000010F7sd00008338*
+ ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop
+
+pci:v00008086d000027DFsv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027DFsv000017AAsd0000200C*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series
+
+pci:v00008086d000027DFsv00008086sd0000544E*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP
+
+pci:v00008086d000027E0*
+ ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 5
+
+pci:v00008086d000027E0sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d000027E2*
+ ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 6
+
+pci:v00008086d000027E2sv00001775sd000011CC*
+ ID_MODEL_FROM_DATABASE=CC11/CL11
+
+pci:v00008086d00002810*
+ ID_MODEL_FROM_DATABASE=82801HB/HR (ICH8/R) LPC Interface Controller
+
+pci:v00008086d00002810sv00001043sd000081EC*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v00008086d00002811*
+ ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller
+
+pci:v00008086d00002811sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002811sv000017AAsd000020B6*
+ ID_MODEL_FROM_DATABASE=T61
+
+pci:v00008086d00002811sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002812*
+ ID_MODEL_FROM_DATABASE=82801HH (ICH8DH) LPC Interface Controller
+
+pci:v00008086d00002814*
+ ID_MODEL_FROM_DATABASE=82801HO (ICH8DO) LPC Interface Controller
+
+pci:v00008086d00002815*
+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller
+
+pci:v00008086d00002815sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00008086d00002815sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d00002815sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d00002815sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00008086d00002815sv0000103Csd000030D9*
+ ID_MODEL_FROM_DATABASE=Presario C700
+
+pci:v00008086d00002815sv0000104Dsd00009005*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E
+
+pci:v00008086d00002815sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002820*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode]
+
+pci:v00008086d00002820sv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d00002820sv00001462sd00007235*
+ ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard
+
+pci:v00008086d00002821*
+ ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA Controller [AHCI mode]
+
+pci:v00008086d00002822*
+ ID_MODEL_FROM_DATABASE=82801 SATA Controller [RAID mode]
+
+pci:v00008086d00002822sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002823*
+ ID_MODEL_FROM_DATABASE=Wellsburg sSATA RAID Controller
+
+pci:v00008086d00002824*
+ ID_MODEL_FROM_DATABASE=82801HB (ICH8) 4 port SATA Controller [AHCI mode]
+
+pci:v00008086d00002824sv00001043sd000081EC*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v00008086d00002825*
+ ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode]
+
+pci:v00008086d00002825sv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d00002825sv00001462sd00007235*
+ ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard
+
+pci:v00008086d00002826*
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller
+
+pci:v00008086d00002827*
+ ID_MODEL_FROM_DATABASE=Wellsburg sSATA RAID Controller
+
+pci:v00008086d00002828*
+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode]
+
+pci:v00008086d00002828sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d00002828sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d00002828sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002829*
+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode]
+
+pci:v00008086d00002829sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00008086d00002829sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d00002829sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002829sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00008086d00002829sv0000103Csd000030D9*
+ ID_MODEL_FROM_DATABASE=Presario C700
+
+pci:v00008086d00002829sv0000104Dsd00009005*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E
+
+pci:v00008086d00002829sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002829sv000017AAsd000020A7*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002829sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d0000282A*
+ ID_MODEL_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode]
+
+pci:v00008086d0000282Asv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d0000282Asv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d00002830*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1
+
+pci:v00008086d00002830sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Acer Aspire 5920G
+
+pci:v00008086d00002830sv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d00002830sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d00002830sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d00002830sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002830sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00008086d00002830sv0000103Csd000030D9*
+ ID_MODEL_FROM_DATABASE=Presario C700
+
+pci:v00008086d00002830sv00001043sd000081EC*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v00008086d00002830sv0000104Dsd00009005*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E
+
+pci:v00008086d00002830sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002830sv00001462sd00007235*
+ ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard
+
+pci:v00008086d00002830sv000017AAsd000020AA*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002830sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002831*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2
+
+pci:v00008086d00002831sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00008086d00002831sv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d00002831sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d00002831sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d00002831sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002831sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00008086d00002831sv0000103Csd000030D9*
+ ID_MODEL_FROM_DATABASE=Presario C700
+
+pci:v00008086d00002831sv00001043sd000081EC*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v00008086d00002831sv0000104Dsd00009005*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E
+
+pci:v00008086d00002831sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002831sv00001462sd00007235*
+ ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard
+
+pci:v00008086d00002831sv000017AAsd000020AA*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002831sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002832*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3
+
+pci:v00008086d00002832sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00008086d00002832sv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d00002832sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d00002832sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d00002832sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002832sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00008086d00002832sv0000103Csd000030D9*
+ ID_MODEL_FROM_DATABASE=Presario C700
+
+pci:v00008086d00002832sv00001043sd000081EC*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v00008086d00002832sv0000104Dsd00009005*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E
+
+pci:v00008086d00002832sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002832sv000017AAsd000020AA*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002832sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002833*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4
+
+pci:v00008086d00002833sv00001043sd000081EC*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v00008086d00002834*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4
+
+pci:v00008086d00002834sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00008086d00002834sv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d00002834sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d00002834sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d00002834sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002834sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00008086d00002834sv00001043sd000081EC*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v00008086d00002834sv0000104Dsd00009005*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E
+
+pci:v00008086d00002834sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002834sv00001462sd00007235*
+ ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard
+
+pci:v00008086d00002834sv000017AAsd000020AA*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002834sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002835*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5
+
+pci:v00008086d00002835sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Acer Aspire 5920G
+
+pci:v00008086d00002835sv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d00002835sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d00002835sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d00002835sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002835sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00008086d00002835sv00001043sd000081EC*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v00008086d00002835sv0000104Dsd00009005*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E
+
+pci:v00008086d00002835sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002835sv000017AAsd000020AA*
+ ID_MODEL_FROM_DATABASE=ThinkPad T60
+
+pci:v00008086d00002835sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002836*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1
+
+pci:v00008086d00002836sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00008086d00002836sv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d00002836sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d00002836sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d00002836sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002836sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00008086d00002836sv0000103Csd000030D9*
+ ID_MODEL_FROM_DATABASE=Presario C700
+
+pci:v00008086d00002836sv00001043sd000081EC*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v00008086d00002836sv0000104Dsd00009005*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E
+
+pci:v00008086d00002836sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002836sv00001462sd00007235*
+ ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard
+
+pci:v00008086d00002836sv000017AAsd000020AB*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002836sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d0000283A*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2
+
+pci:v00008086d0000283Asv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Acer Aspire 5920G
+
+pci:v00008086d0000283Asv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d0000283Asv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d0000283Asv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d0000283Asv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d0000283Asv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00008086d0000283Asv00001043sd000081EC*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v00008086d0000283Asv0000104Dsd00009005*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E
+
+pci:v00008086d0000283Asv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d0000283Asv000017AAsd000020AB*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d0000283Asv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d0000283E*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller
+
+pci:v00008086d0000283Esv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00008086d0000283Esv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d0000283Esv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d0000283Esv0000103Csd000030D9*
+ ID_MODEL_FROM_DATABASE=Presario C700
+
+pci:v00008086d0000283Esv00001043sd000081EC*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v00008086d0000283Esv0000104Dsd00009005*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E
+
+pci:v00008086d0000283Esv0000104Dsd00009008*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C
+
+pci:v00008086d0000283Esv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d0000283Esv00001462sd00007235*
+ ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard
+
+pci:v00008086d0000283Esv000017AAsd000020A9*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d0000283Esv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d0000283F*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1
+
+pci:v00008086d0000283Fsv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d0000283Fsv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d0000283Fsv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d0000283Fsv000017AAsd000020AD*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002841*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2
+
+pci:v00008086d00002841sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002841sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002841sv000017AAsd000020AD*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002843*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3
+
+pci:v00008086d00002843sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002843sv000017AAsd000020AD*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002845*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4
+
+pci:v00008086d00002845sv000017AAsd000020AD*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002847*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5
+
+pci:v00008086d00002847sv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d00002847sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002847sv000017AAsd000020AD*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002849*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 6
+
+pci:v00008086d0000284B*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller
+
+pci:v00008086d0000284Bsv00001025sd0000011F*
+ ID_MODEL_FROM_DATABASE=Realtek ALC268 audio codec
+
+pci:v00008086d0000284Bsv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00008086d0000284Bsv00001025sd00000145*
+ ID_MODEL_FROM_DATABASE=Realtek ALC889 (Aspire 8920G w. Dolby Theather)
+
+pci:v00008086d0000284Bsv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d0000284Bsv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d0000284Bsv00001028sd000001F9*
+ ID_MODEL_FROM_DATABASE=Dell Latitude D630
+
+pci:v00008086d0000284Bsv00001028sd000001FF*
+ ID_MODEL_FROM_DATABASE=Dell Precision M4300
+
+pci:v00008086d0000284Bsv00001028sd00000256*
+ ID_MODEL_FROM_DATABASE=Studio 1735
+
+pci:v00008086d0000284Bsv0000103Csd00002802*
+ ID_MODEL_FROM_DATABASE=HP Compaq dc7700p
+
+pci:v00008086d0000284Bsv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d0000284Bsv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d0000284Bsv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00008086d0000284Bsv00001043sd00001339*
+ ID_MODEL_FROM_DATABASE=Asus M51S series
+
+pci:v00008086d0000284Bsv00001043sd000081EC*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v00008086d0000284Bsv0000104Dsd00009005*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E
+
+pci:v00008086d0000284Bsv0000104Dsd00009008*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C
+
+pci:v00008086d0000284Bsv0000104Dsd00009016*
+ ID_MODEL_FROM_DATABASE=Sony VAIO VGN-AR51M
+
+pci:v00008086d0000284Bsv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d0000284Bsv000014F1sd00005051*
+ ID_MODEL_FROM_DATABASE=Presario C700
+
+pci:v00008086d0000284Bsv000017AAsd000020AC*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d0000284Bsv00008384sd00007616*
+ ID_MODEL_FROM_DATABASE=Dell Vostro 1400
+
+pci:v00008086d0000284Bsv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d0000284F*
+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) Thermal Reporting Device
+
+pci:v00008086d00002850*
+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller
+
+pci:v00008086d00002850sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Aspire 5920G
+
+pci:v00008086d00002850sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d00002850sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d00002850sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002850sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00008086d00002850sv0000103Csd000030D9*
+ ID_MODEL_FROM_DATABASE=Presario C700
+
+pci:v00008086d00002850sv0000104Dsd00009005*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E
+
+pci:v00008086d00002850sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002850sv000017AAsd000020A6*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002850sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002912*
+ ID_MODEL_FROM_DATABASE=82801IH (ICH9DH) LPC Interface Controller
+
+pci:v00008086d00002914*
+ ID_MODEL_FROM_DATABASE=82801IO (ICH9DO) LPC Interface Controller
+
+pci:v00008086d00002914sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002916*
+ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller
+
+pci:v00008086d00002916sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002916sv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d00002916sv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v00008086d00002917*
+ ID_MODEL_FROM_DATABASE=ICH9M-E LPC Interface Controller
+
+pci:v00008086d00002917sv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d00002918*
+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller
+
+pci:v00008086d00002918sv00001028sd00000236*
+ ID_MODEL_FROM_DATABASE=PowerEdge R610 82801IB (ICH9) LPC Interface Controller
+
+pci:v00008086d00002918sv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d00002919*
+ ID_MODEL_FROM_DATABASE=ICH9M LPC Interface Controller
+
+pci:v00008086d00002920*
+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode]
+
+pci:v00008086d00002920sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002920sv00001028sd0000020F*
+ ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard SATA Controller
+
+pci:v00008086d00002920sv00001028sd00000210*
+ ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard SATA Controller
+
+pci:v00008086d00002920sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002920sv00001028sd0000023C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard SATA Controller
+
+pci:v00008086d00002920sv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d00002921*
+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode]
+
+pci:v00008086d00002921sv00001028sd00000235*
+ ID_MODEL_FROM_DATABASE=PowerEdge R710 SATA IDE Controller
+
+pci:v00008086d00002921sv00001028sd00000236*
+ ID_MODEL_FROM_DATABASE=PowerEdge R610 SATA IDE Controller
+
+pci:v00008086d00002921sv00001028sd00000237*
+ ID_MODEL_FROM_DATABASE=PowerEdge T610 SATA IDE Controller
+
+pci:v00008086d00002921sv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d00002922*
+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode]
+
+pci:v00008086d00002922sv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v00008086d00002923*
+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 4 port SATA Controller [AHCI mode]
+
+pci:v00008086d00002925*
+ ID_MODEL_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode]
+
+pci:v00008086d00002925sv00001734sd000010E0*
+ ID_MODEL_FROM_DATABASE=System Board D2542
+
+pci:v00008086d00002925sv00008086sd00002925*
+ ID_MODEL_FROM_DATABASE=System Board D2542
+
+pci:v00008086d00002926*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode]
+
+pci:v00008086d00002926sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002926sv00001028sd0000020F*
+ ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard SATA Controller
+
+pci:v00008086d00002926sv00001028sd00000210*
+ ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard SATA Controller
+
+pci:v00008086d00002926sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002926sv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d00002926sv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d00002928*
+ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode]
+
+pci:v00008086d00002929*
+ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode]
+
+pci:v00008086d00002929sv0000103Csd00003628*
+ ID_MODEL_FROM_DATABASE=dv6-1190en
+
+pci:v00008086d00002929sv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d0000292C*
+ ID_MODEL_FROM_DATABASE=82801IEM (ICH9M-E) SATA Controller [RAID mode]
+
+pci:v00008086d0000292D*
+ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode]
+
+pci:v00008086d0000292Dsv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d00002930*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller
+
+pci:v00008086d00002930sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002930sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002930sv0000103Csd00003628*
+ ID_MODEL_FROM_DATABASE=dv6-1190en
+
+pci:v00008086d00002930sv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d00002930sv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d00002930sv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v00008086d00002930sv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d00002932*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) Thermal Subsystem
+
+pci:v00008086d00002932sv0000103Csd00003628*
+ ID_MODEL_FROM_DATABASE=dv6-1190en
+
+pci:v00008086d00002934*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1
+
+pci:v00008086d00002934sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002934sv00001028sd0000020F*
+ ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI
+
+pci:v00008086d00002934sv00001028sd00000210*
+ ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI
+
+pci:v00008086d00002934sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002934sv00001028sd00000235*
+ ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller
+
+pci:v00008086d00002934sv00001028sd00000236*
+ ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller
+
+pci:v00008086d00002934sv00001028sd00000237*
+ ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller
+
+pci:v00008086d00002934sv00001028sd0000023C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI
+
+pci:v00008086d00002934sv00001028sd00000287*
+ ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI
+
+pci:v00008086d00002934sv00001028sd0000029C*
+ ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller
+
+pci:v00008086d00002934sv00001028sd00002011*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002934sv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d00002934sv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d00002934sv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v00008086d00002934sv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d00002935*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2
+
+pci:v00008086d00002935sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002935sv00001028sd0000020F*
+ ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI
+
+pci:v00008086d00002935sv00001028sd00000210*
+ ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI
+
+pci:v00008086d00002935sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002935sv00001028sd00000235*
+ ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller
+
+pci:v00008086d00002935sv00001028sd00000236*
+ ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller
+
+pci:v00008086d00002935sv00001028sd00000237*
+ ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller
+
+pci:v00008086d00002935sv00001028sd0000023C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI
+
+pci:v00008086d00002935sv00001028sd00000287*
+ ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI
+
+pci:v00008086d00002935sv00001028sd0000029C*
+ ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller
+
+pci:v00008086d00002935sv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d00002935sv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d00002935sv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v00008086d00002935sv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d00002936*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3
+
+pci:v00008086d00002936sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002936sv00001028sd0000020F*
+ ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI
+
+pci:v00008086d00002936sv00001028sd00000210*
+ ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI
+
+pci:v00008086d00002936sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002936sv00001028sd00000237*
+ ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller
+
+pci:v00008086d00002936sv00001028sd0000023C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI
+
+pci:v00008086d00002936sv00001028sd00000287*
+ ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI
+
+pci:v00008086d00002936sv00001028sd0000029C*
+ ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller
+
+pci:v00008086d00002936sv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d00002936sv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d00002936sv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v00008086d00002936sv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d00002937*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4
+
+pci:v00008086d00002937sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002937sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002937sv00001028sd00000235*
+ ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller
+
+pci:v00008086d00002937sv00001028sd00000236*
+ ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller
+
+pci:v00008086d00002937sv00001028sd00000237*
+ ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller
+
+pci:v00008086d00002937sv00001028sd00000287*
+ ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI
+
+pci:v00008086d00002937sv00001028sd0000029C*
+ ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller
+
+pci:v00008086d00002937sv00001028sd00002011*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002937sv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d00002937sv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d00002937sv00008086sd00002937*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002937sv00008086sd00002942*
+ ID_MODEL_FROM_DATABASE=828011 (ICH9 Family ) USB UHCI Controller
+
+pci:v00008086d00002937sv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v00008086d00002937sv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d00002938*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5
+
+pci:v00008086d00002938sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002938sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002938sv00001028sd00000235*
+ ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller
+
+pci:v00008086d00002938sv00001028sd00000236*
+ ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller
+
+pci:v00008086d00002938sv00001028sd00000237*
+ ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller
+
+pci:v00008086d00002938sv00001028sd00000287*
+ ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI
+
+pci:v00008086d00002938sv00001028sd0000029C*
+ ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller
+
+pci:v00008086d00002938sv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d00002938sv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d00002938sv00008086sd00002938*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002938sv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v00008086d00002938sv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d00002939*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6
+
+pci:v00008086d00002939sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002939sv00001028sd00000210*
+ ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI
+
+pci:v00008086d00002939sv00001028sd00000237*
+ ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller
+
+pci:v00008086d00002939sv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d00002939sv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d00002939sv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v00008086d00002939sv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d0000293A*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1
+
+pci:v00008086d0000293Asv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d0000293Asv00001028sd0000020F*
+ ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard EHCI
+
+pci:v00008086d0000293Asv00001028sd00000210*
+ ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard EHCI
+
+pci:v00008086d0000293Asv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d0000293Asv00001028sd00000235*
+ ID_MODEL_FROM_DATABASE=PowerEdge R710 USB EHCI Controller
+
+pci:v00008086d0000293Asv00001028sd00000236*
+ ID_MODEL_FROM_DATABASE=PowerEdge R610 USB EHCI Controller
+
+pci:v00008086d0000293Asv00001028sd00000237*
+ ID_MODEL_FROM_DATABASE=PowerEdge T610 USB EHCI Controller
+
+pci:v00008086d0000293Asv00001028sd0000023C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard EHCI
+
+pci:v00008086d0000293Asv00001028sd00000287*
+ ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard EHCI
+
+pci:v00008086d0000293Asv00001028sd0000029C*
+ ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller
+
+pci:v00008086d0000293Asv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d0000293Asv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d0000293Asv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v00008086d0000293Asv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d0000293C*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2
+
+pci:v00008086d0000293Csv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d0000293Csv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d0000293Csv00001028sd00000235*
+ ID_MODEL_FROM_DATABASE=PowerEdge R710 USB EHCI Controller
+
+pci:v00008086d0000293Csv00001028sd00000236*
+ ID_MODEL_FROM_DATABASE=PowerEdge R610 USB EHCI Controller
+
+pci:v00008086d0000293Csv00001028sd00000237*
+ ID_MODEL_FROM_DATABASE=PowerEdge T610 USB EHCI Controller
+
+pci:v00008086d0000293Csv00001028sd00000287*
+ ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard EHCI
+
+pci:v00008086d0000293Csv00001028sd0000029C*
+ ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller
+
+pci:v00008086d0000293Csv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d0000293Csv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d0000293Csv00008086sd0000293C*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d0000293Csv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v00008086d0000293Csv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d0000293E*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller
+
+pci:v00008086d0000293Esv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d0000293Esv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d0000293Esv0000103Csd00003628*
+ ID_MODEL_FROM_DATABASE=dv6-1190en
+
+pci:v00008086d0000293Esv00001043sd0000829F*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d0000293Esv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d0000293Esv00008086sd0000293E*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d0000293Esv00008086sd00002940*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d0000293Esv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d00002940*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1
+
+pci:v00008086d00002940sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002940sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002940sv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d00002940sv00008086sd00002940*
+ ID_MODEL_FROM_DATABASE=Optiplex 755
+
+pci:v00008086d00002942*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 2
+
+pci:v00008086d00002942sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002944*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3
+
+pci:v00008086d00002944sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002946*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4
+
+pci:v00008086d00002946sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002948*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5
+
+pci:v00008086d00002948sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d00002948sv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d0000294A*
+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6
+
+pci:v00008086d0000294Asv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d0000294Asv00001043sd00008277*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d0000294C*
+ ID_MODEL_FROM_DATABASE=82566DC-2 Gigabit Network Connection
+
+pci:v00008086d0000294Csv000017AAsd0000302E*
+ ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection
+
+pci:v00008086d00002970*
+ ID_MODEL_FROM_DATABASE=82946GZ/PL/GL Memory Controller Hub
+
+pci:v00008086d00002971*
+ ID_MODEL_FROM_DATABASE=82946GZ/PL/GL PCI Express Root Port
+
+pci:v00008086d00002972*
+ ID_MODEL_FROM_DATABASE=82946GZ/GL Integrated Graphics Controller
+
+pci:v00008086d00002973*
+ ID_MODEL_FROM_DATABASE=82946GZ/GL Integrated Graphics Controller
+
+pci:v00008086d00002974*
+ ID_MODEL_FROM_DATABASE=82946GZ/GL HECI Controller
+
+pci:v00008086d00002975*
+ ID_MODEL_FROM_DATABASE=82946GZ/GL HECI Controller
+
+pci:v00008086d00002976*
+ ID_MODEL_FROM_DATABASE=82946GZ/GL PT IDER Controller
+
+pci:v00008086d00002977*
+ ID_MODEL_FROM_DATABASE=82946GZ/GL KT Controller
+
+pci:v00008086d00002980*
+ ID_MODEL_FROM_DATABASE=82G35 Express DRAM Controller
+
+pci:v00008086d00002981*
+ ID_MODEL_FROM_DATABASE=82G35 Express PCI Express Root Port
+
+pci:v00008086d00002982*
+ ID_MODEL_FROM_DATABASE=82G35 Express Integrated Graphics Controller
+
+pci:v00008086d00002983*
+ ID_MODEL_FROM_DATABASE=82G35 Express Integrated Graphics Controller
+
+pci:v00008086d00002984*
+ ID_MODEL_FROM_DATABASE=82G35 Express HECI Controller
+
+pci:v00008086d00002990*
+ ID_MODEL_FROM_DATABASE=82Q963/Q965 Memory Controller Hub
+
+pci:v00008086d00002990sv00001028sd000001DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 745
+
+pci:v00008086d00002991*
+ ID_MODEL_FROM_DATABASE=82Q963/Q965 PCI Express Root Port
+
+pci:v00008086d00002992*
+ ID_MODEL_FROM_DATABASE=82Q963/Q965 Integrated Graphics Controller
+
+pci:v00008086d00002993*
+ ID_MODEL_FROM_DATABASE=82Q963/Q965 Integrated Graphics Controller
+
+pci:v00008086d00002994*
+ ID_MODEL_FROM_DATABASE=82Q963/Q965 HECI Controller
+
+pci:v00008086d00002995*
+ ID_MODEL_FROM_DATABASE=82Q963/Q965 HECI Controller
+
+pci:v00008086d00002996*
+ ID_MODEL_FROM_DATABASE=82Q963/Q965 PT IDER Controller
+
+pci:v00008086d00002997*
+ ID_MODEL_FROM_DATABASE=82Q963/Q965 KT Controller
+
+pci:v00008086d000029A0*
+ ID_MODEL_FROM_DATABASE=82P965/G965 Memory Controller Hub
+
+pci:v00008086d000029A0sv00001043sd000081EA*
+ ID_MODEL_FROM_DATABASE=P5B
+
+pci:v00008086d000029A0sv00001462sd00007276*
+ ID_MODEL_FROM_DATABASE=MS-7276 [G965MDH]
+
+pci:v00008086d000029A1*
+ ID_MODEL_FROM_DATABASE=82P965/G965 PCI Express Root Port
+
+pci:v00008086d000029A2*
+ ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller
+
+pci:v00008086d000029A2sv00001462sd00007276*
+ ID_MODEL_FROM_DATABASE=MS-7276 [G965MDH]
+
+pci:v00008086d000029A3*
+ ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller
+
+pci:v00008086d000029A4*
+ ID_MODEL_FROM_DATABASE=82P965/G965 HECI Controller
+
+pci:v00008086d000029A5*
+ ID_MODEL_FROM_DATABASE=82P965/G965 HECI Controller
+
+pci:v00008086d000029A6*
+ ID_MODEL_FROM_DATABASE=82P965/G965 PT IDER Controller
+
+pci:v00008086d000029A7*
+ ID_MODEL_FROM_DATABASE=82P965/G965 KT Controller
+
+pci:v00008086d000029B0*
+ ID_MODEL_FROM_DATABASE=82Q35 Express DRAM Controller
+
+pci:v00008086d000029B0sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=OptiPlex 755
+
+pci:v00008086d000029B1*
+ ID_MODEL_FROM_DATABASE=82Q35 Express PCI Express Root Port
+
+pci:v00008086d000029B1sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=OptiPlex 755
+
+pci:v00008086d000029B2*
+ ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller
+
+pci:v00008086d000029B2sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=OptiPlex 755
+
+pci:v00008086d000029B3*
+ ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller
+
+pci:v00008086d000029B3sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=OptiPlex 755
+
+pci:v00008086d000029B4*
+ ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller
+
+pci:v00008086d000029B4sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=OptiPlex 755
+
+pci:v00008086d000029B5*
+ ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller
+
+pci:v00008086d000029B6*
+ ID_MODEL_FROM_DATABASE=82Q35 Express PT IDER Controller
+
+pci:v00008086d000029B6sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=OptiPlex 755
+
+pci:v00008086d000029B7*
+ ID_MODEL_FROM_DATABASE=82Q35 Express Serial KT Controller
+
+pci:v00008086d000029B7sv00001028sd00000211*
+ ID_MODEL_FROM_DATABASE=OptiPlex 755
+
+pci:v00008086d000029C0*
+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller
+
+pci:v00008086d000029C0sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d000029C0sv00001043sd00008276*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d000029C0sv00001043sd000082B0*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard
+
+pci:v00008086d000029C0sv00001462sd00007360*
+ ID_MODEL_FROM_DATABASE=G33/P35 Neo
+
+pci:v00008086d000029C0sv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v00008086d000029C1*
+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port
+
+pci:v00008086d000029C1sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d000029C1sv00001043sd00008276*
+ ID_MODEL_FROM_DATABASE=P5K PRO Motherboard
+
+pci:v00008086d000029C2*
+ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller
+
+pci:v00008086d000029C2sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d000029C2sv00001043sd000082B0*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard
+
+pci:v00008086d000029C3*
+ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller
+
+pci:v00008086d000029C3sv00001028sd0000020D*
+ ID_MODEL_FROM_DATABASE=Inspiron 530
+
+pci:v00008086d000029C3sv00001043sd000082B0*
+ ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard
+
+pci:v00008086d000029C4*
+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller
+
+pci:v00008086d000029C4sv00008086sd00005044*
+ ID_MODEL_FROM_DATABASE=Desktop Board DP35DP
+
+pci:v00008086d000029C5*
+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller
+
+pci:v00008086d000029C6*
+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PT IDER Controller
+
+pci:v00008086d000029C7*
+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express Serial KT Controller
+
+pci:v00008086d000029CF*
+ ID_MODEL_FROM_DATABASE=Virtual HECI Controller
+
+pci:v00008086d000029D0*
+ ID_MODEL_FROM_DATABASE=82Q33 Express DRAM Controller
+
+pci:v00008086d000029D1*
+ ID_MODEL_FROM_DATABASE=82Q33 Express PCI Express Root Port
+
+pci:v00008086d000029D2*
+ ID_MODEL_FROM_DATABASE=82Q33 Express Integrated Graphics Controller
+
+pci:v00008086d000029D3*
+ ID_MODEL_FROM_DATABASE=82Q33 Express Integrated Graphics Controller
+
+pci:v00008086d000029D4*
+ ID_MODEL_FROM_DATABASE=82Q33 Express MEI Controller
+
+pci:v00008086d000029D5*
+ ID_MODEL_FROM_DATABASE=82Q33 Express MEI Controller
+
+pci:v00008086d000029D6*
+ ID_MODEL_FROM_DATABASE=82Q33 Express PT IDER Controller
+
+pci:v00008086d000029D7*
+ ID_MODEL_FROM_DATABASE=82Q33 Express Serial KT Controller
+
+pci:v00008086d000029E0*
+ ID_MODEL_FROM_DATABASE=82X38/X48 Express DRAM Controller
+
+pci:v00008086d000029E1*
+ ID_MODEL_FROM_DATABASE=82X38/X48 Express Host-Primary PCI Express Bridge
+
+pci:v00008086d000029E4*
+ ID_MODEL_FROM_DATABASE=82X38/X48 Express MEI Controller
+
+pci:v00008086d000029E5*
+ ID_MODEL_FROM_DATABASE=82X38/X48 Express MEI Controller
+
+pci:v00008086d000029E6*
+ ID_MODEL_FROM_DATABASE=82X38/X48 Express PT IDER Controller
+
+pci:v00008086d000029E7*
+ ID_MODEL_FROM_DATABASE=82X38/X48 Express Serial KT Controller
+
+pci:v00008086d000029E9*
+ ID_MODEL_FROM_DATABASE=82X38/X48 Express Host-Secondary PCI Express Bridge
+
+pci:v00008086d000029F0*
+ ID_MODEL_FROM_DATABASE=3200/3210 Chipset DRAM Controller
+
+pci:v00008086d000029F1*
+ ID_MODEL_FROM_DATABASE=3200/3210 Chipset Host-Primary PCI Express Bridge
+
+pci:v00008086d000029F4*
+ ID_MODEL_FROM_DATABASE=3200/3210 Chipset MEI Controller
+
+pci:v00008086d000029F5*
+ ID_MODEL_FROM_DATABASE=3200/3210 Chipset MEI Controller
+
+pci:v00008086d000029F6*
+ ID_MODEL_FROM_DATABASE=3200/3210 Chipset PT IDER Controller
+
+pci:v00008086d000029F7*
+ ID_MODEL_FROM_DATABASE=3200/3210 Chipset Serial KT Controller
+
+pci:v00008086d000029F9*
+ ID_MODEL_FROM_DATABASE=3210 Chipset Host-Secondary PCI Express Bridge
+
+pci:v00008086d00002A00*
+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub
+
+pci:v00008086d00002A00sv00001025sd00000121*
+ ID_MODEL_FROM_DATABASE=Acer Aspire 5920G
+
+pci:v00008086d00002A00sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d00002A00sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d00002A00sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002A00sv0000103Csd000030CC*
+ ID_MODEL_FROM_DATABASE=Pavilion dv6700
+
+pci:v00008086d00002A00sv0000103Csd000030D9*
+ ID_MODEL_FROM_DATABASE=Presario C700
+
+pci:v00008086d00002A00sv0000104Dsd00009005*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E
+
+pci:v00008086d00002A00sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002A00sv000017AAsd000020B1*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61
+
+pci:v00008086d00002A00sv000017AAsd000020B3*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61/R61
+
+pci:v00008086d00002A00sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002A01*
+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 PCI Express Root Port
+
+pci:v00008086d00002A02*
+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary)
+
+pci:v00008086d00002A02sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Inspiron 1420
+
+pci:v00008086d00002A02sv00001028sd000001F9*
+ ID_MODEL_FROM_DATABASE=Latitude D630
+
+pci:v00008086d00002A02sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d00002A02sv0000103Csd000030D9*
+ ID_MODEL_FROM_DATABASE=Presario C700
+
+pci:v00008086d00002A02sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002A02sv000017AAsd000020B5*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61/R61
+
+pci:v00008086d00002A02sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002A03*
+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary)
+
+pci:v00008086d00002A03sv00001028sd000001F3*
+ ID_MODEL_FROM_DATABASE=Dell Inspiron 1420
+
+pci:v00008086d00002A03sv0000103Csd000030C0*
+ ID_MODEL_FROM_DATABASE=Compaq 6710b
+
+pci:v00008086d00002A03sv0000103Csd000030D9*
+ ID_MODEL_FROM_DATABASE=Presario C700
+
+pci:v00008086d00002A03sv0000104Dsd0000902D*
+ ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E
+
+pci:v00008086d00002A03sv000017AAsd000020B5*
+ ID_MODEL_FROM_DATABASE=ThinkPad T61/R61
+
+pci:v00008086d00002A03sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002A04*
+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller
+
+pci:v00008086d00002A04sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002A05*
+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller
+
+pci:v00008086d00002A06*
+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 PT IDER Controller
+
+pci:v00008086d00002A06sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002A07*
+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 KT Controller
+
+pci:v00008086d00002A07sv0000103Csd000030C1*
+ ID_MODEL_FROM_DATABASE=Compaq 6910p
+
+pci:v00008086d00002A10*
+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Memory Controller Hub
+
+pci:v00008086d00002A10sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002A11*
+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 PCI Express Root Port
+
+pci:v00008086d00002A12*
+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller
+
+pci:v00008086d00002A12sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002A13*
+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller
+
+pci:v00008086d00002A13sv0000E4BFsd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v00008086d00002A14*
+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 MEI Controller
+
+pci:v00008086d00002A15*
+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 MEI Controller
+
+pci:v00008086d00002A16*
+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 PT IDER Controller
+
+pci:v00008086d00002A17*
+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 KT Controller
+
+pci:v00008086d00002A40*
+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Memory Controller Hub
+
+pci:v00008086d00002A40sv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d00002A41*
+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset PCI Express Graphics Port
+
+pci:v00008086d00002A41sv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d00002A42*
+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002A42sv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d00002A43*
+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002A43sv0000E4BFsd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v00008086d00002A44*
+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset MEI Controller
+
+pci:v00008086d00002A45*
+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset MEI Controller
+
+pci:v00008086d00002A46*
+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset PT IDER Controller
+
+pci:v00008086d00002A47*
+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset AMT SOL Redirection
+
+pci:v00008086d00002A50*
+ ID_MODEL_FROM_DATABASE=Cantiga MEI Controller
+
+pci:v00008086d00002A51*
+ ID_MODEL_FROM_DATABASE=Cantiga MEI Controller
+
+pci:v00008086d00002A52*
+ ID_MODEL_FROM_DATABASE=Cantiga PT IDER Controller
+
+pci:v00008086d00002A53*
+ ID_MODEL_FROM_DATABASE=Cantiga AMT SOL Redirection
+
+pci:v00008086d00002B00*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family System Configuration Controller 1
+
+pci:v00008086d00002B02*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family System Configuration Controller 2
+
+pci:v00008086d00002B04*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Power Controller
+
+pci:v00008086d00002B08*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Caching Agent 0
+
+pci:v00008086d00002B0C*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Caching Agent 1
+
+pci:v00008086d00002B10*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Home Agent 0
+
+pci:v00008086d00002B13*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Memory Controller 0c
+
+pci:v00008086d00002B14*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Memory Controller 0a
+
+pci:v00008086d00002B16*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Memory Controller 0b
+
+pci:v00008086d00002B18*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Home Agent 1
+
+pci:v00008086d00002B1B*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Memory Controller 1c
+
+pci:v00008086d00002B1C*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Memory Controller 1a
+
+pci:v00008086d00002B1E*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Memory Controller 1b
+
+pci:v00008086d00002B20*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 0
+
+pci:v00008086d00002B22*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family System Configuration Controller 3
+
+pci:v00008086d00002B24*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 1
+
+pci:v00008086d00002B28*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 2
+
+pci:v00008086d00002B2A*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family System Configuration Controller 4
+
+pci:v00008086d00002B2C*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 3
+
+pci:v00008086d00002B30*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 4
+
+pci:v00008086d00002B34*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 5
+
+pci:v00008086d00002B38*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 6
+
+pci:v00008086d00002B3C*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 7
+
+pci:v00008086d00002B40*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Router Port 0-1
+
+pci:v00008086d00002B42*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Router Port 2-3
+
+pci:v00008086d00002B44*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Router Port 4-5
+
+pci:v00008086d00002B46*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Router Port 6-7
+
+pci:v00008086d00002B48*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Test and Debug 0
+
+pci:v00008086d00002B4C*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Test and Debug 1
+
+pci:v00008086d00002B50*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 0: REUT control/status
+
+pci:v00008086d00002B52*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 0: Misc. control/status
+
+pci:v00008086d00002B54*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 1: REUT control/status
+
+pci:v00008086d00002B56*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 1: Misc. control/status
+
+pci:v00008086d00002B58*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 2: REUT control/status
+
+pci:v00008086d00002B5A*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 2: Misc. control/status
+
+pci:v00008086d00002B5C*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 3: REUT control/status
+
+pci:v00008086d00002B5E*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 3: Misc. control/status
+
+pci:v00008086d00002B60*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family SMI Physical Port 0: REUT control/status
+
+pci:v00008086d00002B62*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family SMI Physical Port 0: Misc control/status
+
+pci:v00008086d00002B64*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family SMI Physical Port 1: REUT control/status
+
+pci:v00008086d00002B66*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family SMI Physical Port 1: Misc control/status
+
+pci:v00008086d00002B68*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 8
+
+pci:v00008086d00002B6C*
+ ID_MODEL_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 9
+
+pci:v00008086d00002C01*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 QuickPath Architecture System Address Decoder
+
+pci:v00008086d00002C10*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 QPI Link 0
+
+pci:v00008086d00002C11*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 QPI Physical 0
+
+pci:v00008086d00002C14*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 QPI Link 1
+
+pci:v00008086d00002C15*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 QPI Physical 1
+
+pci:v00008086d00002C18*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller
+
+pci:v00008086d00002C19*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Target Address Decoder
+
+pci:v00008086d00002C1A*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller RAS Registers
+
+pci:v00008086d00002C1C*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Test Registers
+
+pci:v00008086d00002C20*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Control Registers
+
+pci:v00008086d00002C21*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Address Registers
+
+pci:v00008086d00002C22*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Rank Registers
+
+pci:v00008086d00002C23*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Thermal Control Registers
+
+pci:v00008086d00002C28*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Control Registers
+
+pci:v00008086d00002C29*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Address Registers
+
+pci:v00008086d00002C2A*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Rank Registers
+
+pci:v00008086d00002C2B*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Thermal Control Registers
+
+pci:v00008086d00002C30*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Control Registers
+
+pci:v00008086d00002C31*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Address Registers
+
+pci:v00008086d00002C32*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Rank Registers
+
+pci:v00008086d00002C33*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Thermal Control Registers
+
+pci:v00008086d00002C40*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 QuickPath Architecture Generic Non-Core Registers
+
+pci:v00008086d00002C41*
+ ID_MODEL_FROM_DATABASE=Xeon 5500/Core i7 QuickPath Architecture Generic Non-Core Registers
+
+pci:v00008086d00002C50*
+ ID_MODEL_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
+
+pci:v00008086d00002C51*
+ ID_MODEL_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
+
+pci:v00008086d00002C52*
+ ID_MODEL_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
+
+pci:v00008086d00002C53*
+ ID_MODEL_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
+
+pci:v00008086d00002C54*
+ ID_MODEL_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
+
+pci:v00008086d00002C55*
+ ID_MODEL_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
+
+pci:v00008086d00002C56*
+ ID_MODEL_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
+
+pci:v00008086d00002C57*
+ ID_MODEL_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
+
+pci:v00008086d00002C58*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
+
+pci:v00008086d00002C59*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
+
+pci:v00008086d00002C5A*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
+
+pci:v00008086d00002C5B*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
+
+pci:v00008086d00002C5C*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
+
+pci:v00008086d00002C5D*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
+
+pci:v00008086d00002C5E*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
+
+pci:v00008086d00002C5F*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
+
+pci:v00008086d00002C61*
+ ID_MODEL_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-core Registers
+
+pci:v00008086d00002C62*
+ ID_MODEL_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-core Registers
+
+pci:v00008086d00002C70*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series QuickPath Architecture Generic Non-core Registers
+
+pci:v00008086d00002C81*
+ ID_MODEL_FROM_DATABASE=Core Processor QuickPath Architecture System Address Decoder
+
+pci:v00008086d00002C90*
+ ID_MODEL_FROM_DATABASE=Core Processor QPI Link 0
+
+pci:v00008086d00002C91*
+ ID_MODEL_FROM_DATABASE=Core Processor QPI Physical 0
+
+pci:v00008086d00002C98*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Memory Controller
+
+pci:v00008086d00002C99*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Memory Controller Target Address Decoder
+
+pci:v00008086d00002C9A*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Memory Controller Test Registers
+
+pci:v00008086d00002C9C*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Memory Controller Test Registers
+
+pci:v00008086d00002CA0*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 0 Control Registers
+
+pci:v00008086d00002CA1*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 0 Address Registers
+
+pci:v00008086d00002CA2*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 0 Rank Registers
+
+pci:v00008086d00002CA3*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 0 Thermal Control Registers
+
+pci:v00008086d00002CA8*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 1 Control Registers
+
+pci:v00008086d00002CA9*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 1 Address Registers
+
+pci:v00008086d00002CAA*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 1 Rank Registers
+
+pci:v00008086d00002CAB*
+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 1 Thermal Control Registers
+
+pci:v00008086d00002CC1*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI System Address Decoder
+
+pci:v00008086d00002CD0*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Link 0
+
+pci:v00008086d00002CD1*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Physical 0
+
+pci:v00008086d00002CD4*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Link 1
+
+pci:v00008086d00002CD5*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Physical 1
+
+pci:v00008086d00002CD8*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Registers
+
+pci:v00008086d00002CD9*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Target Address Decoder
+
+pci:v00008086d00002CDA*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller RAS Registers
+
+pci:v00008086d00002CDC*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Test Registers
+
+pci:v00008086d00002CE0*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 0 Control
+
+pci:v00008086d00002CE1*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 0 Address
+
+pci:v00008086d00002CE2*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 0 Rank
+
+pci:v00008086d00002CE3*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 0 Thermal Control
+
+pci:v00008086d00002CE8*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 1 Control
+
+pci:v00008086d00002CE9*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 1 Address
+
+pci:v00008086d00002CEA*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 1 Rank
+
+pci:v00008086d00002CEB*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 1 Thermal Control
+
+pci:v00008086d00002CF0*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 2 Control
+
+pci:v00008086d00002CF1*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 2 Address
+
+pci:v00008086d00002CF2*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 2 Rank
+
+pci:v00008086d00002CF3*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 2 Thermal Control
+
+pci:v00008086d00002D01*
+ ID_MODEL_FROM_DATABASE=Core Processor QuickPath Architecture System Address Decoder
+
+pci:v00008086d00002D10*
+ ID_MODEL_FROM_DATABASE=Core Processor QPI Link 0
+
+pci:v00008086d00002D11*
+ ID_MODEL_FROM_DATABASE=Core Processor QPI Physical 0
+
+pci:v00008086d00002D12*
+ ID_MODEL_FROM_DATABASE=Core Processor Reserved
+
+pci:v00008086d00002D13*
+ ID_MODEL_FROM_DATABASE=Core Processor Reserved
+
+pci:v00008086d00002D81*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series QuickPath Architecture System Address Decoder
+
+pci:v00008086d00002D90*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series QPI Link 0
+
+pci:v00008086d00002D91*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series QPI Physical 0
+
+pci:v00008086d00002D92*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Mirror Port Link 0
+
+pci:v00008086d00002D93*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Mirror Port Link 1
+
+pci:v00008086d00002D94*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series QPI Link 1
+
+pci:v00008086d00002D95*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series QPI Physical 1
+
+pci:v00008086d00002D98*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Registers
+
+pci:v00008086d00002D99*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Target Address Decoder
+
+pci:v00008086d00002D9A*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller RAS Registers
+
+pci:v00008086d00002D9C*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Test Registers
+
+pci:v00008086d00002DA0*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 0 Control
+
+pci:v00008086d00002DA1*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 0 Address
+
+pci:v00008086d00002DA2*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 0 Rank
+
+pci:v00008086d00002DA3*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 0 Thermal Control
+
+pci:v00008086d00002DA8*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 1 Control
+
+pci:v00008086d00002DA9*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 1 Address
+
+pci:v00008086d00002DAA*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 1 Rank
+
+pci:v00008086d00002DAB*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 1 Thermal Control
+
+pci:v00008086d00002DB0*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 2 Control
+
+pci:v00008086d00002DB1*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 2 Address
+
+pci:v00008086d00002DB2*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 2 Rank
+
+pci:v00008086d00002DB3*
+ ID_MODEL_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 2 Thermal Control
+
+pci:v00008086d00002E00*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller
+
+pci:v00008086d00002E01*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port
+
+pci:v00008086d00002E02*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002E03*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002E04*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller
+
+pci:v00008086d00002E05*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller
+
+pci:v00008086d00002E06*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset PT IDER Controller
+
+pci:v00008086d00002E07*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Serial KT Controller
+
+pci:v00008086d00002E10*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller
+
+pci:v00008086d00002E11*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port
+
+pci:v00008086d00002E12*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002E13*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002E14*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller
+
+pci:v00008086d00002E15*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller
+
+pci:v00008086d00002E16*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset PT IDER Controller
+
+pci:v00008086d00002E17*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Serial KT Controller
+
+pci:v00008086d00002E20*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller
+
+pci:v00008086d00002E20sv00001043sd000082D3*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00002E20sv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
+
+pci:v00008086d00002E21*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port
+
+pci:v00008086d00002E21sv00001043sd000082D3*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00002E21sv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard
+
+pci:v00008086d00002E22*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002E22sv00001458sd0000D000*
+ ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard
+
+pci:v00008086d00002E23*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002E23sv00001458sd0000D000*
+ ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard
+
+pci:v00008086d00002E24*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller
+
+pci:v00008086d00002E25*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller
+
+pci:v00008086d00002E26*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset PT IDER Controller
+
+pci:v00008086d00002E27*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Serial KT Controller
+
+pci:v00008086d00002E29*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port
+
+pci:v00008086d00002E30*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller
+
+pci:v00008086d00002E31*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port
+
+pci:v00008086d00002E32*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002E33*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002E34*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller
+
+pci:v00008086d00002E35*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller
+
+pci:v00008086d00002E36*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset PT IDER Controller
+
+pci:v00008086d00002E37*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Serial KT Controller
+
+pci:v00008086d00002E40*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller
+
+pci:v00008086d00002E41*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port
+
+pci:v00008086d00002E42*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002E43*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002E44*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller
+
+pci:v00008086d00002E45*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller
+
+pci:v00008086d00002E46*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset PT IDER Controller
+
+pci:v00008086d00002E47*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Serial KT Controller
+
+pci:v00008086d00002E50*
+ ID_MODEL_FROM_DATABASE=CE Media Processor CE3100
+
+pci:v00008086d00002E52*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Clock and Reset Controller
+
+pci:v00008086d00002E58*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Interrupt Controller
+
+pci:v00008086d00002E5A*
+ ID_MODEL_FROM_DATABASE=CE Media Processor CE3100 A/V Bridge
+
+pci:v00008086d00002E5B*
+ ID_MODEL_FROM_DATABASE=Graphics Media Accelerator 500 Graphics
+
+pci:v00008086d00002E5C*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Video Decoder
+
+pci:v00008086d00002E5D*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Transport Stream Interface
+
+pci:v00008086d00002E5E*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Transport Stream Processor 0
+
+pci:v00008086d00002E5F*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Audio DSP
+
+pci:v00008086d00002E60*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Audio Interfaces
+
+pci:v00008086d00002E61*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Video Display Controller
+
+pci:v00008086d00002E62*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Video Processing Unit
+
+pci:v00008086d00002E63*
+ ID_MODEL_FROM_DATABASE=CE Media Processor HDMI Tx Interface
+
+pci:v00008086d00002E65*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Expansion Bus Interface
+
+pci:v00008086d00002E66*
+ ID_MODEL_FROM_DATABASE=CE Media Processor UART
+
+pci:v00008086d00002E67*
+ ID_MODEL_FROM_DATABASE=CE Media Processor General Purpose I/Os
+
+pci:v00008086d00002E68*
+ ID_MODEL_FROM_DATABASE=CE Media Processor I2C Interface
+
+pci:v00008086d00002E69*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Smart Card Interface
+
+pci:v00008086d00002E6A*
+ ID_MODEL_FROM_DATABASE=CE Media Processor SPI Master Interface
+
+pci:v00008086d00002E6E*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Gigabit Ethernet Controller
+
+pci:v00008086d00002E6F*
+ ID_MODEL_FROM_DATABASE=CE Media Processor Media Timing Unit
+
+pci:v00008086d00002E70*
+ ID_MODEL_FROM_DATABASE=CE Media Processor USB
+
+pci:v00008086d00002E71*
+ ID_MODEL_FROM_DATABASE=CE Media Processor SATA
+
+pci:v00008086d00002E73*
+ ID_MODEL_FROM_DATABASE=CE Media Processor CE3100 PCI Express
+
+pci:v00008086d00002E90*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller
+
+pci:v00008086d00002E91*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port
+
+pci:v00008086d00002E92*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002E93*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
+
+pci:v00008086d00002E94*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller
+
+pci:v00008086d00002E95*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller
+
+pci:v00008086d00002E96*
+ ID_MODEL_FROM_DATABASE=4 Series Chipset PT IDER Controller
+
+pci:v00008086d00002F00*
+ ID_MODEL_FROM_DATABASE=Haswell-E DMI2
+
+pci:v00008086d00002F01*
+ ID_MODEL_FROM_DATABASE=Haswell-E PCI Express Root Port 0
+
+pci:v00008086d00002F02*
+ ID_MODEL_FROM_DATABASE=Haswell-E PCI Express Root Port 1
+
+pci:v00008086d00002F03*
+ ID_MODEL_FROM_DATABASE=Haswell-E PCI Express Root Port 1
+
+pci:v00008086d00002F04*
+ ID_MODEL_FROM_DATABASE=Haswell-E PCI Express Root Port 2
+
+pci:v00008086d00002F05*
+ ID_MODEL_FROM_DATABASE=Haswell-E PCI Express Root Port 2
+
+pci:v00008086d00002F06*
+ ID_MODEL_FROM_DATABASE=Haswell-E PCI Express Root Port 2
+
+pci:v00008086d00002F07*
+ ID_MODEL_FROM_DATABASE=Haswell-E PCI Express Root Port 2
+
+pci:v00008086d00002F08*
+ ID_MODEL_FROM_DATABASE=Haswell-E PCI Express Root Port 3
+
+pci:v00008086d00002F09*
+ ID_MODEL_FROM_DATABASE=Haswell-E PCI Express Root Port 3
+
+pci:v00008086d00002F0A*
+ ID_MODEL_FROM_DATABASE=Haswell-E PCI Express Root Port 3
+
+pci:v00008086d00002F0B*
+ ID_MODEL_FROM_DATABASE=Haswell-E PCI Express Root Port 3
+
+pci:v00008086d00002F1D*
+ ID_MODEL_FROM_DATABASE=Haswell-E PCIe Ring Interface
+
+pci:v00008086d00002F1E*
+ ID_MODEL_FROM_DATABASE=Haswell-E Scratchpad & Semaphore Registers
+
+pci:v00008086d00002F1F*
+ ID_MODEL_FROM_DATABASE=Haswell-E Scratchpad & Semaphore Registers
+
+pci:v00008086d00002F20*
+ ID_MODEL_FROM_DATABASE=Haswell-E DMA Channel 0
+
+pci:v00008086d00002F21*
+ ID_MODEL_FROM_DATABASE=Haswell-E DMA Channel 1
+
+pci:v00008086d00002F22*
+ ID_MODEL_FROM_DATABASE=Haswell-E DMA Channel 2
+
+pci:v00008086d00002F23*
+ ID_MODEL_FROM_DATABASE=Haswell-E DMA Channel 3
+
+pci:v00008086d00002F24*
+ ID_MODEL_FROM_DATABASE=Haswell-E DMA Channel 4
+
+pci:v00008086d00002F25*
+ ID_MODEL_FROM_DATABASE=Haswell-E DMA Channel 5
+
+pci:v00008086d00002F26*
+ ID_MODEL_FROM_DATABASE=Haswell-E DMA Channel 6
+
+pci:v00008086d00002F27*
+ ID_MODEL_FROM_DATABASE=Haswell-E DMA Channel 7
+
+pci:v00008086d00002F28*
+ ID_MODEL_FROM_DATABASE=Haswell-E Address Map, VTd_Misc, System Management
+
+pci:v00008086d00002F29*
+ ID_MODEL_FROM_DATABASE=Haswell-E Hot Plug
+
+pci:v00008086d00002F2A*
+ ID_MODEL_FROM_DATABASE=Haswell-E RAS, Control Status and Global Errors
+
+pci:v00008086d00002F2C*
+ ID_MODEL_FROM_DATABASE=Haswell-E I/O Apic
+
+pci:v00008086d00002F2E*
+ ID_MODEL_FROM_DATABASE=Haswell-E RAID 5/6
+
+pci:v00008086d00002F2F*
+ ID_MODEL_FROM_DATABASE=Haswell-E RAID 5/6
+
+pci:v00008086d00002F30*
+ ID_MODEL_FROM_DATABASE=Haswell-E Home Agent 0
+
+pci:v00008086d00002F32*
+ ID_MODEL_FROM_DATABASE=Haswell-E QPI Link 0
+
+pci:v00008086d00002F33*
+ ID_MODEL_FROM_DATABASE=Haswell-E QPI Link 1
+
+pci:v00008086d00002F34*
+ ID_MODEL_FROM_DATABASE=Haswell-E PCIe Ring Interface
+
+pci:v00008086d00002F36*
+ ID_MODEL_FROM_DATABASE=Haswell-E R3 QPI Link 0 & 1 Monitoring
+
+pci:v00008086d00002F37*
+ ID_MODEL_FROM_DATABASE=Haswell-E R3 QPI Link 0 & 1 Monitoring
+
+pci:v00008086d00002F38*
+ ID_MODEL_FROM_DATABASE=Haswell-E Home Agent 1
+
+pci:v00008086d00002F3A*
+ ID_MODEL_FROM_DATABASE=Haswell-E QPI Link 2
+
+pci:v00008086d00002F3E*
+ ID_MODEL_FROM_DATABASE=Haswell-E R3 QPI Link 2 Monitoring
+
+pci:v00008086d00002F3F*
+ ID_MODEL_FROM_DATABASE=Haswell-E R3 QPI Link 2 Monitoring
+
+pci:v00008086d00002F40*
+ ID_MODEL_FROM_DATABASE=Haswell-E QPI Link 2
+
+pci:v00008086d00002F41*
+ ID_MODEL_FROM_DATABASE=Haswell-E R3 QPI Link 2 Monitoring
+
+pci:v00008086d00002F43*
+ ID_MODEL_FROM_DATABASE=Haswell-E QPI Link 2
+
+pci:v00008086d00002F60*
+ ID_MODEL_FROM_DATABASE=Haswell-E Home Agent 1
+
+pci:v00008086d00002F68*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Target Address, Thermal & RAS Registers
+
+pci:v00008086d00002F6A*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Channel Target Address Decoder
+
+pci:v00008086d00002F6B*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Channel Target Address Decoder
+
+pci:v00008086d00002F6C*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Channel Target Address Decoder
+
+pci:v00008086d00002F6D*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Channel Target Address Decoder
+
+pci:v00008086d00002F6E*
+ ID_MODEL_FROM_DATABASE=Haswell-E DDRIO Channel 2/3 Broadcast
+
+pci:v00008086d00002F6F*
+ ID_MODEL_FROM_DATABASE=Haswell-E DDRIO Global Broadcast
+
+pci:v00008086d00002F70*
+ ID_MODEL_FROM_DATABASE=Haswell-E Home Agent 0 Debug
+
+pci:v00008086d00002F71*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 0 Target Address, Thermal & RAS Registers
+
+pci:v00008086d00002F78*
+ ID_MODEL_FROM_DATABASE=Haswell-E Home Agent 1 Debug
+
+pci:v00008086d00002F79*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Target Address, Thermal & RAS Registers
+
+pci:v00008086d00002F7D*
+ ID_MODEL_FROM_DATABASE=Haswell-E Scratchpad & Semaphore Registers
+
+pci:v00008086d00002F80*
+ ID_MODEL_FROM_DATABASE=Haswell-E QPI Link 0
+
+pci:v00008086d00002F81*
+ ID_MODEL_FROM_DATABASE=Haswell-E R3 QPI Link 0 & 1 Monitoring
+
+pci:v00008086d00002F83*
+ ID_MODEL_FROM_DATABASE=Haswell-E QPI Link 0
+
+pci:v00008086d00002F90*
+ ID_MODEL_FROM_DATABASE=Haswell-E QPI Link 1
+
+pci:v00008086d00002F93*
+ ID_MODEL_FROM_DATABASE=Haswell-E QPI Link 1
+
+pci:v00008086d00002FA0*
+ ID_MODEL_FROM_DATABASE=Haswell-E Home Agent 0
+
+pci:v00008086d00002FA8*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 0 Target Address, Thermal & RAS Registers
+
+pci:v00008086d00002FAA*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 0 Channel Target Address Decoder
+
+pci:v00008086d00002FAB*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 0 Channel Target Address Decoder
+
+pci:v00008086d00002FAC*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 0 Channel Target Address Decoder
+
+pci:v00008086d00002FAD*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 0 Channel Target Address Decoder
+
+pci:v00008086d00002FAE*
+ ID_MODEL_FROM_DATABASE=Haswell-E DDRIO Channel 0/1 Broadcast
+
+pci:v00008086d00002FAF*
+ ID_MODEL_FROM_DATABASE=Haswell-E DDRIO Global Broadcast
+
+pci:v00008086d00002FB0*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 0 Channel 0 Thermal Control
+
+pci:v00008086d00002FB1*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 0 Channel 1 Thermal Control
+
+pci:v00008086d00002FB2*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 0 Channel 0 ERROR Registers
+
+pci:v00008086d00002FB3*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 0 Channel 1 ERROR Registers
+
+pci:v00008086d00002FB4*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 0 Channel 2 Thermal Control
+
+pci:v00008086d00002FB5*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 0 Channel 3 Thermal Control
+
+pci:v00008086d00002FB8*
+ ID_MODEL_FROM_DATABASE=Haswell-E DDRIO (VMSE) 2 & 3
+
+pci:v00008086d00002FB9*
+ ID_MODEL_FROM_DATABASE=Haswell-E DDRIO (VMSE) 2 & 3
+
+pci:v00008086d00002FBA*
+ ID_MODEL_FROM_DATABASE=Haswell-E DDRIO (VMSE) 2 & 3
+
+pci:v00008086d00002FBB*
+ ID_MODEL_FROM_DATABASE=Haswell-E DDRIO (VMSE) 2 & 3
+
+pci:v00008086d00002FBC*
+ ID_MODEL_FROM_DATABASE=Haswell-E DDRIO (VMSE) 0 & 1
+
+pci:v00008086d00002FBD*
+ ID_MODEL_FROM_DATABASE=Haswell-E DDRIO (VMSE) 0 & 1
+
+pci:v00008086d00002FBE*
+ ID_MODEL_FROM_DATABASE=Haswell-E DDRIO (VMSE) 0 & 1
+
+pci:v00008086d00002FBF*
+ ID_MODEL_FROM_DATABASE=Haswell-E DDRIO (VMSE) 0 & 1
+
+pci:v00008086d00002FC0*
+ ID_MODEL_FROM_DATABASE=Haswell-E Power Control Unit
+
+pci:v00008086d00002FC1*
+ ID_MODEL_FROM_DATABASE=Haswell-E Power Control Unit
+
+pci:v00008086d00002FC2*
+ ID_MODEL_FROM_DATABASE=Power Control Unit
+
+pci:v00008086d00002FC3*
+ ID_MODEL_FROM_DATABASE=Power Control Unit
+
+pci:v00008086d00002FC4*
+ ID_MODEL_FROM_DATABASE=Power Control Unit
+
+pci:v00008086d00002FC5*
+ ID_MODEL_FROM_DATABASE=Power Control Unit
+
+pci:v00008086d00002FD0*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Channel 0 Thermal Control
+
+pci:v00008086d00002FD1*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Channel 1 Thermal Control
+
+pci:v00008086d00002FD2*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Channel 0 ERROR Registers
+
+pci:v00008086d00002FD3*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Channel 1 ERROR Registers
+
+pci:v00008086d00002FD4*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Channel 2 Thermal Control
+
+pci:v00008086d00002FD5*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Channel 3 Thermal Control
+
+pci:v00008086d00002FD6*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Channel 2 ERROR Registers
+
+pci:v00008086d00002FD7*
+ ID_MODEL_FROM_DATABASE=Haswell-E Integrated Memory Controller 1 Channel 3 ERROR Registers
+
+pci:v00008086d00002FE0*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FE1*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FE2*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FE3*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FE4*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FE5*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FE6*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FE7*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FE8*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FE9*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FEA*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FEB*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FEC*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FED*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FEE*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FEF*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FF0*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FF1*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FF2*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FF3*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FF4*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FF5*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FF6*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FF7*
+ ID_MODEL_FROM_DATABASE=Haswell-E Unicast Registers
+
+pci:v00008086d00002FF8*
+ ID_MODEL_FROM_DATABASE=Haswell-E Buffered Ring Agent
+
+pci:v00008086d00002FF9*
+ ID_MODEL_FROM_DATABASE=Haswell-E Buffered Ring Agent
+
+pci:v00008086d00002FFA*
+ ID_MODEL_FROM_DATABASE=Haswell-E Buffered Ring Agent
+
+pci:v00008086d00002FFB*
+ ID_MODEL_FROM_DATABASE=Haswell-E Buffered Ring Agent
+
+pci:v00008086d00002FFC*
+ ID_MODEL_FROM_DATABASE=Haswell-E System Address Decoder & Broadcast Registers
+
+pci:v00008086d00002FFD*
+ ID_MODEL_FROM_DATABASE=Haswell-E System Address Decoder & Broadcast Registers
+
+pci:v00008086d00002FFE*
+ ID_MODEL_FROM_DATABASE=Haswell-E System Address Decoder & Broadcast Registers
+
+pci:v00008086d00003200*
+ ID_MODEL_FROM_DATABASE=GD31244 PCI-X SATA HBA
+
+pci:v00008086d00003200sv00001775sd0000C200*
+ ID_MODEL_FROM_DATABASE=C2K onboard SATA host bus adapter
+
+pci:v00008086d00003310*
+ ID_MODEL_FROM_DATABASE=IOP348 I/O Processor
+
+pci:v00008086d00003310sv00001054sd00003030*
+ ID_MODEL_FROM_DATABASE=HRA380 Hitachi RAID Adapter to PCIe
+
+pci:v00008086d00003310sv00001054sd00003034*
+ ID_MODEL_FROM_DATABASE=HRA381 Hitachi RAID Adapter to PCIe
+
+pci:v00008086d00003313*
+ ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (SL8e) in IOC Mode SAS/SATA
+
+pci:v00008086d0000331B*
+ ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (SL8x) in IOC Mode SAS/SATA
+
+pci:v00008086d00003331*
+ ID_MODEL_FROM_DATABASE=IOC340 I/O Controller (VV8e) SAS/SATA
+
+pci:v00008086d00003339*
+ ID_MODEL_FROM_DATABASE=IOC340 I/O Controller (VV8x) SAS/SATA
+
+pci:v00008086d00003340*
+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller
+
+pci:v00008086d00003340sv00001014sd00000529*
+ ID_MODEL_FROM_DATABASE=Thinkpad T40 series
+
+pci:v00008086d00003340sv00001025sd0000005A*
+ ID_MODEL_FROM_DATABASE=TravelMate 290
+
+pci:v00008086d00003340sv0000103Csd0000088C*
+ ID_MODEL_FROM_DATABASE=NC8000 laptop
+
+pci:v00008086d00003340sv0000103Csd00000890*
+ ID_MODEL_FROM_DATABASE=NC6000 laptop
+
+pci:v00008086d00003340sv0000103Csd000008B0*
+ ID_MODEL_FROM_DATABASE=tc1100 tablet
+
+pci:v00008086d00003340sv0000144Dsd0000C005*
+ ID_MODEL_FROM_DATABASE=X10 Laptop
+
+pci:v00008086d00003340sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30/P35 notebook
+
+pci:v00008086d00003341*
+ ID_MODEL_FROM_DATABASE=82855PM Processor to AGP Controller
+
+pci:v00008086d00003341sv0000144Dsd0000C00C*
+ ID_MODEL_FROM_DATABASE=P30 notebook
+
+pci:v00008086d00003363*
+ ID_MODEL_FROM_DATABASE=IOC340 I/O Controller in IOC Mode SAS/SATA
+
+pci:v00008086d00003382*
+ ID_MODEL_FROM_DATABASE=81342 [Chevelon] I/O Processor (ATUe)
+
+pci:v00008086d000033C3*
+ ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (SL8De) in IOC Mode SAS/SATA
+
+pci:v00008086d000033CB*
+ ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (SL8Dx) in IOC Mode SAS/SATA
+
+pci:v00008086d00003400*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port
+
+pci:v00008086d00003401*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port
+
+pci:v00008086d00003402*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port
+
+pci:v00008086d00003403*
+ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port
+
+pci:v00008086d00003403sv00001028sd00000236*
+ ID_MODEL_FROM_DATABASE=PowerEdge R610 I/O Hub to ESI Port
+
+pci:v00008086d00003403sv00001028sd00000287*
+ ID_MODEL_FROM_DATABASE=PowerEdge M610 I/O Hub to ESI Port
+
+pci:v00008086d00003403sv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 I/O Hub to ESI Port
+
+pci:v00008086d00003403sv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 I/O Hub to ESI Port
+
+pci:v00008086d00003403sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server
+
+pci:v00008086d00003404*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port
+
+pci:v00008086d00003405*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port
+
+pci:v00008086d00003406*
+ ID_MODEL_FROM_DATABASE=5520 I/O Hub to ESI Port
+
+pci:v00008086d00003406sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant G6 series
+
+pci:v00008086d00003407*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port
+
+pci:v00008086d00003408*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 1
+
+pci:v00008086d00003408sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant G6 series
+
+pci:v00008086d00003409*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 2
+
+pci:v00008086d0000340A*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 3
+
+pci:v00008086d0000340Asv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server
+
+pci:v00008086d0000340B*
+ ID_MODEL_FROM_DATABASE=5520/X58 I/O Hub PCI Express Root Port 4
+
+pci:v00008086d0000340C*
+ ID_MODEL_FROM_DATABASE=5520/X58 I/O Hub PCI Express Root Port 5
+
+pci:v00008086d0000340D*
+ ID_MODEL_FROM_DATABASE=5520/X58 I/O Hub PCI Express Root Port 6
+
+pci:v00008086d0000340E*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 7
+
+pci:v00008086d0000340Esv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server
+
+pci:v00008086d0000340F*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 8
+
+pci:v00008086d00003410*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub PCI Express Root Port 9
+
+pci:v00008086d00003411*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub PCI Express Root Port 10
+
+pci:v00008086d00003418*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 Physical Layer Port 0
+
+pci:v00008086d00003419*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500 Physical Layer Port 1
+
+pci:v00008086d00003420*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub PCI Express Root Port 0
+
+pci:v00008086d00003421*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub PCI Express Root Port 0
+
+pci:v00008086d00003422*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers
+
+pci:v00008086d00003422sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant G6 series
+
+pci:v00008086d00003423*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub Control Status and RAS Registers
+
+pci:v00008086d00003423sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant G6 series
+
+pci:v00008086d00003425*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 Physical and Link Layer Registers Port 0
+
+pci:v00008086d00003426*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 Routing and Protocol Layer Registers Port 0
+
+pci:v00008086d00003427*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500 Physical and Link Layer Registers Port 1
+
+pci:v00008086d00003428*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500 Routing & Protocol Layer Register Port 1
+
+pci:v00008086d00003429*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
+
+pci:v00008086d0000342A*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
+
+pci:v00008086d0000342B*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
+
+pci:v00008086d0000342C*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
+
+pci:v00008086d0000342D*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub I/OxAPIC Interrupt Controller
+
+pci:v00008086d0000342E*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub System Management Registers
+
+pci:v00008086d0000342Esv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant G6 series
+
+pci:v00008086d0000342F*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 Trusted Execution Technology Registers
+
+pci:v00008086d00003430*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
+
+pci:v00008086d00003431*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
+
+pci:v00008086d00003432*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
+
+pci:v00008086d00003433*
+ ID_MODEL_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
+
+pci:v00008086d00003438*
+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub Throttle Registers
+
+pci:v00008086d00003500*
+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port
+
+pci:v00008086d00003500sv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d00003500sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d00003501*
+ ID_MODEL_FROM_DATABASE=6310ESB PCI Express Upstream Port
+
+pci:v00008086d00003504*
+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB I/OxAPIC Interrupt Controller
+
+pci:v00008086d00003505*
+ ID_MODEL_FROM_DATABASE=6310ESB I/OxAPIC Interrupt Controller
+
+pci:v00008086d0000350C*
+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge
+
+pci:v00008086d0000350Csv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d0000350Csv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d0000350D*
+ ID_MODEL_FROM_DATABASE=6310ESB PCI Express to PCI-X Bridge
+
+pci:v00008086d00003510*
+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1
+
+pci:v00008086d00003510sv0000103Csd000031FE*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G3
+
+pci:v00008086d00003510sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d00003511*
+ ID_MODEL_FROM_DATABASE=6310ESB PCI Express Downstream Port E1
+
+pci:v00008086d00003514*
+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E2
+
+pci:v00008086d00003515*
+ ID_MODEL_FROM_DATABASE=6310ESB PCI Express Downstream Port E2
+
+pci:v00008086d00003518*
+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E3
+
+pci:v00008086d00003518sv000015D9sd00009680*
+ ID_MODEL_FROM_DATABASE=X7DBN Motherboard
+
+pci:v00008086d00003519*
+ ID_MODEL_FROM_DATABASE=6310ESB PCI Express Downstream Port E3
+
+pci:v00008086d00003575*
+ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge
+
+pci:v00008086d00003575sv00000E11sd00000030*
+ ID_MODEL_FROM_DATABASE=Evo N600c
+
+pci:v00008086d00003575sv00001014sd0000021D*
+ ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series
+
+pci:v00008086d00003575sv0000104Dsd000080E7*
+ ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
+
+pci:v00008086d00003576*
+ ID_MODEL_FROM_DATABASE=82830M/MP AGP Bridge
+
+pci:v00008086d00003577*
+ ID_MODEL_FROM_DATABASE=82830M/MG Integrated Graphics Controller
+
+pci:v00008086d00003577sv00001014sd00000513*
+ ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series
+
+pci:v00008086d00003578*
+ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge
+
+pci:v00008086d00003580*
+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller
+
+pci:v00008086d00003580sv00001014sd0000055C*
+ ID_MODEL_FROM_DATABASE=ThinkPad R50e
+
+pci:v00008086d00003580sv00001028sd00000139*
+ ID_MODEL_FROM_DATABASE=Latitude D400
+
+pci:v00008086d00003580sv00001028sd0000014F*
+ ID_MODEL_FROM_DATABASE=Latitude X300
+
+pci:v00008086d00003580sv00001028sd00000152*
+ ID_MODEL_FROM_DATABASE=Latitude D500
+
+pci:v00008086d00003580sv00001028sd00000163*
+ ID_MODEL_FROM_DATABASE=Latitude D505
+
+pci:v00008086d00003580sv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v00008086d00003580sv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v00008086d00003580sv0000114Asd00000582*
+ ID_MODEL_FROM_DATABASE=PC8
+
+pci:v00008086d00003580sv00001734sd00001055*
+ ID_MODEL_FROM_DATABASE=Amilo M1420
+
+pci:v00008086d00003580sv00001775sd000010D0*
+ ID_MODEL_FROM_DATABASE=V5D Single Board Computer
+
+pci:v00008086d00003580sv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d00003580sv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d00003580sv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d00003580sv0000E4BFsd00000CC9*
+ ID_MODEL_FROM_DATABASE=CC9-SAMBA
+
+pci:v00008086d00003580sv0000E4BFsd00000CD2*
+ ID_MODEL_FROM_DATABASE=CD2-BEBOP
+
+pci:v00008086d00003581*
+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to AGP Controller
+
+pci:v00008086d00003581sv00001734sd00001055*
+ ID_MODEL_FROM_DATABASE=Amilo M1420
+
+pci:v00008086d00003582*
+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device
+
+pci:v00008086d00003582sv00001014sd00000562*
+ ID_MODEL_FROM_DATABASE=ThinkPad R50e
+
+pci:v00008086d00003582sv00001028sd00000139*
+ ID_MODEL_FROM_DATABASE=Latitude D400
+
+pci:v00008086d00003582sv00001028sd0000014F*
+ ID_MODEL_FROM_DATABASE=Latitude X300
+
+pci:v00008086d00003582sv00001028sd00000152*
+ ID_MODEL_FROM_DATABASE=Latitude D500
+
+pci:v00008086d00003582sv00001028sd00000163*
+ ID_MODEL_FROM_DATABASE=Latitude D505
+
+pci:v00008086d00003582sv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v00008086d00003582sv0000114Asd00000582*
+ ID_MODEL_FROM_DATABASE=PC8 integrated graphics
+
+pci:v00008086d00003582sv00001775sd000010D0*
+ ID_MODEL_FROM_DATABASE=V5D Single Board Computer VGA
+
+pci:v00008086d00003582sv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d00003582sv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d00003582sv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d00003582sv0000E4BFsd00000CC9*
+ ID_MODEL_FROM_DATABASE=CC9-SAMBA
+
+pci:v00008086d00003582sv0000E4BFsd00000CD2*
+ ID_MODEL_FROM_DATABASE=CD2-BEBOP
+
+pci:v00008086d00003584*
+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller
+
+pci:v00008086d00003584sv00001014sd0000055D*
+ ID_MODEL_FROM_DATABASE=ThinkPad R50e
+
+pci:v00008086d00003584sv00001028sd00000139*
+ ID_MODEL_FROM_DATABASE=Latitude D400
+
+pci:v00008086d00003584sv00001028sd0000014F*
+ ID_MODEL_FROM_DATABASE=Latitude X300
+
+pci:v00008086d00003584sv00001028sd00000152*
+ ID_MODEL_FROM_DATABASE=Latitude D500
+
+pci:v00008086d00003584sv00001028sd00000163*
+ ID_MODEL_FROM_DATABASE=Latitude D505
+
+pci:v00008086d00003584sv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v00008086d00003584sv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v00008086d00003584sv0000114Asd00000582*
+ ID_MODEL_FROM_DATABASE=PC8
+
+pci:v00008086d00003584sv00001734sd00001055*
+ ID_MODEL_FROM_DATABASE=Amilo M1420
+
+pci:v00008086d00003584sv00001775sd000010D0*
+ ID_MODEL_FROM_DATABASE=V5D Single Board Computer
+
+pci:v00008086d00003584sv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d00003584sv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d00003584sv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d00003585*
+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller
+
+pci:v00008086d00003585sv00001014sd0000055E*
+ ID_MODEL_FROM_DATABASE=ThinkPad R50e
+
+pci:v00008086d00003585sv00001028sd00000139*
+ ID_MODEL_FROM_DATABASE=Latitude D400
+
+pci:v00008086d00003585sv00001028sd0000014F*
+ ID_MODEL_FROM_DATABASE=Latitude X300
+
+pci:v00008086d00003585sv00001028sd00000152*
+ ID_MODEL_FROM_DATABASE=Latitude D500
+
+pci:v00008086d00003585sv00001028sd00000163*
+ ID_MODEL_FROM_DATABASE=Latitude D505
+
+pci:v00008086d00003585sv00001028sd0000018D*
+ ID_MODEL_FROM_DATABASE=Inspiron 700m/710m
+
+pci:v00008086d00003585sv00001028sd00000196*
+ ID_MODEL_FROM_DATABASE=Inspiron 5160
+
+pci:v00008086d00003585sv0000114Asd00000582*
+ ID_MODEL_FROM_DATABASE=PC8
+
+pci:v00008086d00003585sv00001734sd00001055*
+ ID_MODEL_FROM_DATABASE=Amilo M1420
+
+pci:v00008086d00003585sv00001775sd000010D0*
+ ID_MODEL_FROM_DATABASE=V5D Single Board Computer
+
+pci:v00008086d00003585sv00001775sd0000CE90*
+ ID_MODEL_FROM_DATABASE=CE9
+
+pci:v00008086d00003585sv00004C53sd000010B0*
+ ID_MODEL_FROM_DATABASE=CL9 mainboard
+
+pci:v00008086d00003585sv00004C53sd000010E0*
+ ID_MODEL_FROM_DATABASE=PSL09 PrPMC
+
+pci:v00008086d0000358C*
+ ID_MODEL_FROM_DATABASE=82854 GMCH
+
+pci:v00008086d0000358E*
+ ID_MODEL_FROM_DATABASE=82854 GMCH Integrated Graphics Device
+
+pci:v00008086d00003590*
+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub
+
+pci:v00008086d00003590sv00001014sd000002DD*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00008086d00003590sv00001028sd0000016C*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1850 Memory Controller Hub
+
+pci:v00008086d00003590sv00001028sd0000016D*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2850 Memory Controller Hub
+
+pci:v00008086d00003590sv00001028sd0000019A*
+ ID_MODEL_FROM_DATABASE=PowerEdge SC1425
+
+pci:v00008086d00003590sv00001734sd0000103E*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series
+
+pci:v00008086d00003590sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d00003590sv00004C53sd000010D0*
+ ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC
+
+pci:v00008086d00003591*
+ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers
+
+pci:v00008086d00003591sv00001014sd000002DD*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00008086d00003591sv00001028sd00000169*
+ ID_MODEL_FROM_DATABASE=Precision 470
+
+pci:v00008086d00003591sv0000103Csd00003208*
+ ID_MODEL_FROM_DATABASE=ProLiant DL140 G2
+
+pci:v00008086d00003591sv00004C53sd000010D0*
+ ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC
+
+pci:v00008086d00003592*
+ ID_MODEL_FROM_DATABASE=E7320 Memory Controller Hub
+
+pci:v00008086d00003592sv00001734sd00001073*
+ ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard
+
+pci:v00008086d00003593*
+ ID_MODEL_FROM_DATABASE=E7320 Error Reporting Registers
+
+pci:v00008086d00003593sv00001734sd00001073*
+ ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard
+
+pci:v00008086d00003594*
+ ID_MODEL_FROM_DATABASE=E7520 DMA Controller
+
+pci:v00008086d00003594sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d00003594sv00004C53sd000010D0*
+ ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC
+
+pci:v00008086d00003595*
+ ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A
+
+pci:v00008086d00003595sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d00003596*
+ ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A1
+
+pci:v00008086d00003597*
+ ID_MODEL_FROM_DATABASE=E7525/E7520 PCI Express Port B
+
+pci:v00008086d00003597sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d00003598*
+ ID_MODEL_FROM_DATABASE=E7520 PCI Express Port B1
+
+pci:v00008086d00003598sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d00003599*
+ ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C
+
+pci:v00008086d00003599sv00001775sd00001100*
+ ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer
+
+pci:v00008086d0000359A*
+ ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C1
+
+pci:v00008086d0000359B*
+ ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 Extended Configuration Registers
+
+pci:v00008086d0000359Bsv00001014sd000002DD*
+ ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard
+
+pci:v00008086d0000359E*
+ ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub
+
+pci:v00008086d0000359Esv00001028sd00000169*
+ ID_MODEL_FROM_DATABASE=Precision 470
+
+pci:v00008086d000035B0*
+ ID_MODEL_FROM_DATABASE=3100 Chipset Memory I/O Controller Hub
+
+pci:v00008086d000035B1*
+ ID_MODEL_FROM_DATABASE=3100 DRAM Controller Error Reporting Registers
+
+pci:v00008086d000035B5*
+ ID_MODEL_FROM_DATABASE=3100 Chipset Enhanced DMA Controller
+
+pci:v00008086d000035B6*
+ ID_MODEL_FROM_DATABASE=3100 Chipset PCI Express Port A
+
+pci:v00008086d000035B7*
+ ID_MODEL_FROM_DATABASE=3100 Chipset PCI Express Port A1
+
+pci:v00008086d000035C8*
+ ID_MODEL_FROM_DATABASE=3100 Extended Configuration Test Overflow Registers
+
+pci:v00008086d00003600*
+ ID_MODEL_FROM_DATABASE=7300 Chipset Memory Controller Hub
+
+pci:v00008086d00003604*
+ ID_MODEL_FROM_DATABASE=7300 Chipset PCI Express Port 1
+
+pci:v00008086d00003605*
+ ID_MODEL_FROM_DATABASE=7300 Chipset PCI Express Port 2
+
+pci:v00008086d00003606*
+ ID_MODEL_FROM_DATABASE=7300 Chipset PCI Express Port 3
+
+pci:v00008086d00003607*
+ ID_MODEL_FROM_DATABASE=7300 Chipset PCI Express Port 4
+
+pci:v00008086d00003608*
+ ID_MODEL_FROM_DATABASE=7300 Chipset PCI Express Port 5
+
+pci:v00008086d00003609*
+ ID_MODEL_FROM_DATABASE=7300 Chipset PCI Express Port 6
+
+pci:v00008086d0000360A*
+ ID_MODEL_FROM_DATABASE=7300 Chipset PCI Express Port 7
+
+pci:v00008086d0000360B*
+ ID_MODEL_FROM_DATABASE=7300 Chipset QuickData Technology Device
+
+pci:v00008086d0000360C*
+ ID_MODEL_FROM_DATABASE=7300 Chipset FSB Registers
+
+pci:v00008086d0000360Csv00001028sd000001F0*
+ ID_MODEL_FROM_DATABASE=PowerEdge R900 7300 Chipset FSB Registers
+
+pci:v00008086d0000360D*
+ ID_MODEL_FROM_DATABASE=7300 Chipset Snoop Filter Registers
+
+pci:v00008086d0000360E*
+ ID_MODEL_FROM_DATABASE=7300 Chipset Debug and Miscellaneous Registers
+
+pci:v00008086d0000360F*
+ ID_MODEL_FROM_DATABASE=7300 Chipset FBD Branch 0 Registers
+
+pci:v00008086d00003610*
+ ID_MODEL_FROM_DATABASE=7300 Chipset FBD Branch 1 Registers
+
+pci:v00008086d00003700*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d00003701*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d00003702*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d00003703*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d00003704*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d00003705*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d00003706*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d00003707*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d00003708*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d00003709*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d0000370A*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d0000370B*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d0000370C*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d0000370D*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d0000370E*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d0000370F*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 DMI
+
+pci:v00008086d00003710*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
+
+pci:v00008086d00003711*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
+
+pci:v00008086d00003712*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
+
+pci:v00008086d00003713*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
+
+pci:v00008086d00003714*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
+
+pci:v00008086d00003715*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
+
+pci:v00008086d00003716*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
+
+pci:v00008086d00003717*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
+
+pci:v00008086d00003718*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
+
+pci:v00008086d00003719*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
+
+pci:v00008086d0000371A*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Link
+
+pci:v00008086d0000371B*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Routing and Protocol
+
+pci:v00008086d0000371D*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 QPI Routing and Protocol
+
+pci:v00008086d00003720*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 PCI Express Root Port 0
+
+pci:v00008086d00003721*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 PCI Express Root Port 1
+
+pci:v00008086d00003722*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 PCI Express Root Port 2
+
+pci:v00008086d00003723*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 PCI Express Root Port 3
+
+pci:v00008086d00003724*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 PCI Express Root Port 4
+
+pci:v00008086d00003725*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 NTB Primary
+
+pci:v00008086d00003726*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 NTB Primary
+
+pci:v00008086d00003727*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 NTB Secondary
+
+pci:v00008086d00003728*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Core
+
+pci:v00008086d00003729*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Core
+
+pci:v00008086d0000372A*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Core
+
+pci:v00008086d0000372B*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Core
+
+pci:v00008086d0000372C*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 Reserved
+
+pci:v00008086d0000373F*
+ ID_MODEL_FROM_DATABASE=Xeon C5500/C3500 IOxAPIC
+
+pci:v00008086d00003A00*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) 4-port SATA IDE Controller
+
+pci:v00008086d00003A02*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) SATA AHCI Controller
+
+pci:v00008086d00003A05*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) SATA RAID Controller
+
+pci:v00008086d00003A06*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) 2-port SATA IDE Controller
+
+pci:v00008086d00003A14*
+ ID_MODEL_FROM_DATABASE=82801JDO (ICH10DO) LPC Interface Controller
+
+pci:v00008086d00003A16*
+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller
+
+pci:v00008086d00003A16sv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 LPC Interface Controller
+
+pci:v00008086d00003A16sv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 LPC Interface Controller
+
+pci:v00008086d00003A16sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant G6 series
+
+pci:v00008086d00003A16sv00001043sd000082D4*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A16sv00001458sd00005001*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard
+
+pci:v00008086d00003A18*
+ ID_MODEL_FROM_DATABASE=82801JIB (ICH10) LPC Interface Controller
+
+pci:v00008086d00003A1A*
+ ID_MODEL_FROM_DATABASE=82801JD (ICH10D) LPC Interface Controller
+
+pci:v00008086d00003A20*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1
+
+pci:v00008086d00003A20sv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 SATA IDE Controller
+
+pci:v00008086d00003A20sv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 SATA IDE Controller
+
+pci:v00008086d00003A22*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller
+
+pci:v00008086d00003A22sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant G6 series
+
+pci:v00008086d00003A22sv00001043sd000082D4*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A22sv00001458sd0000B005*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
+
+pci:v00008086d00003A25*
+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller
+
+pci:v00008086d00003A25sv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE R410)
+
+pci:v00008086d00003A25sv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE T410)
+
+pci:v00008086d00003A25sv00001028sd000002F1*
+ ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE R510)
+
+pci:v00008086d00003A26*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2
+
+pci:v00008086d00003A26sv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 SATA IDE Controller
+
+pci:v00008086d00003A26sv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 SATA IDE Controller
+
+pci:v00008086d00003A30*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller
+
+pci:v00008086d00003A30sv00001043sd000082D4*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A30sv00001458sd00005001*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
+
+pci:v00008086d00003A32*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) Thermal Subsystem
+
+pci:v00008086d00003A34*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1
+
+pci:v00008086d00003A34sv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller
+
+pci:v00008086d00003A34sv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller
+
+pci:v00008086d00003A34sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant G6 series
+
+pci:v00008086d00003A34sv00001043sd000082D4*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A34sv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard
+
+pci:v00008086d00003A35*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2
+
+pci:v00008086d00003A35sv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller
+
+pci:v00008086d00003A35sv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller
+
+pci:v00008086d00003A35sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant G6 series
+
+pci:v00008086d00003A35sv00001043sd000082D4*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A35sv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard
+
+pci:v00008086d00003A36*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3
+
+pci:v00008086d00003A36sv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller
+
+pci:v00008086d00003A36sv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller
+
+pci:v00008086d00003A36sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant G6 series
+
+pci:v00008086d00003A36sv00001043sd000082D4*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A36sv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard
+
+pci:v00008086d00003A37*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4
+
+pci:v00008086d00003A37sv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller
+
+pci:v00008086d00003A37sv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller
+
+pci:v00008086d00003A37sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant G6 series
+
+pci:v00008086d00003A37sv00001043sd000082D4*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A37sv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=Motherboard
+
+pci:v00008086d00003A38*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5
+
+pci:v00008086d00003A38sv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller
+
+pci:v00008086d00003A38sv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller
+
+pci:v00008086d00003A38sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server
+
+pci:v00008086d00003A38sv00001043sd000082D4*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A38sv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=Motherboard
+
+pci:v00008086d00003A39*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6
+
+pci:v00008086d00003A39sv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller
+
+pci:v00008086d00003A39sv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller
+
+pci:v00008086d00003A39sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server
+
+pci:v00008086d00003A39sv00001043sd000082D4*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A39sv00001458sd00005004*
+ ID_MODEL_FROM_DATABASE=Motherboard
+
+pci:v00008086d00003A3A*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1
+
+pci:v00008086d00003A3Asv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 USB EHCI Controller
+
+pci:v00008086d00003A3Asv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 USB EHCI Controller
+
+pci:v00008086d00003A3Asv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant G6 series
+
+pci:v00008086d00003A3Asv00001043sd000082D4*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A3Asv00001458sd00005006*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard
+
+pci:v00008086d00003A3C*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2
+
+pci:v00008086d00003A3Csv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 USB EHCI Controller
+
+pci:v00008086d00003A3Csv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 USB EHCI Controller
+
+pci:v00008086d00003A3Csv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant G6 series
+
+pci:v00008086d00003A3Csv00001043sd000082D4*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A3Csv00001458sd00005006*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard
+
+pci:v00008086d00003A3E*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller
+
+pci:v00008086d00003A3Esv00001043sd00008311*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A3Esv00001458sd0000A002*
+ ID_MODEL_FROM_DATABASE=GA-EP45-UD3R Motherboard
+
+pci:v00008086d00003A3Esv00001458sd0000A102*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
+
+pci:v00008086d00003A40*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1
+
+pci:v00008086d00003A40sv00001028sd0000028C*
+ ID_MODEL_FROM_DATABASE=PowerEdge R410 PCI Express Port 1
+
+pci:v00008086d00003A40sv00001028sd0000028D*
+ ID_MODEL_FROM_DATABASE=PowerEdge T410 PCI Express Port 1
+
+pci:v00008086d00003A40sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server
+
+pci:v00008086d00003A40sv00001043sd000082D4*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A40sv00001043sd000082EA*
+ ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard
+
+pci:v00008086d00003A40sv00001458sd00005001*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
+
+pci:v00008086d00003A42*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Port 2
+
+pci:v00008086d00003A44*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 3
+
+pci:v00008086d00003A44sv00001043sd000082EA*
+ ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard
+
+pci:v00008086d00003A46*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4
+
+pci:v00008086d00003A46sv00001043sd000082EA*
+ ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard
+
+pci:v00008086d00003A46sv00001458sd00005001*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard
+
+pci:v00008086d00003A48*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5
+
+pci:v00008086d00003A48sv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server
+
+pci:v00008086d00003A48sv00001043sd000082EA*
+ ID_MODEL_FROM_DATABASE=P6T Deluxe Motherboard
+
+pci:v00008086d00003A48sv00001458sd00005001*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard
+
+pci:v00008086d00003A4A*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6
+
+pci:v00008086d00003A4Asv0000103Csd0000330B*
+ ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server
+
+pci:v00008086d00003A4Asv00001043sd000082D4*
+ ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard
+
+pci:v00008086d00003A4Asv00001043sd000082EA*
+ ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard
+
+pci:v00008086d00003A4Asv00001458sd00005001*
+ ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
+
+pci:v00008086d00003A4C*
+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) Gigabit Ethernet Controller
+
+pci:v00008086d00003A51*
+ ID_MODEL_FROM_DATABASE=82801JDO (ICH10DO) VECI Controller
+
+pci:v00008086d00003A55*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) Virtual SATA Controller
+
+pci:v00008086d00003A60*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) SMBus Controller
+
+pci:v00008086d00003A62*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) Thermal Subsystem
+
+pci:v00008086d00003A64*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) USB UHCI Controller #1
+
+pci:v00008086d00003A65*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) USB UHCI Controller #2
+
+pci:v00008086d00003A66*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) USB UHCI Controller #3
+
+pci:v00008086d00003A67*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) USB UHCI Controller #4
+
+pci:v00008086d00003A68*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) USB UHCI Controller #5
+
+pci:v00008086d00003A69*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) USB UHCI Controller #6
+
+pci:v00008086d00003A6A*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) USB2 EHCI Controller #1
+
+pci:v00008086d00003A6C*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) USB2 EHCI Controller #2
+
+pci:v00008086d00003A6E*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) HD Audio Controller
+
+pci:v00008086d00003A70*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) PCI Express Port 1
+
+pci:v00008086d00003A72*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) PCI Express Port 2
+
+pci:v00008086d00003A74*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) PCI Express Port 3
+
+pci:v00008086d00003A76*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) PCI Express Port 4
+
+pci:v00008086d00003A78*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) PCI Express Port 5
+
+pci:v00008086d00003A7A*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) PCI Express Port 6
+
+pci:v00008086d00003A7C*
+ ID_MODEL_FROM_DATABASE=82801JD/DO (ICH10 Family) Gigabit Ethernet Controller
+
+pci:v00008086d00003B00*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B01*
+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B02*
+ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B03*
+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B04*
+ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B05*
+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B06*
+ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B07*
+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B07sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d00003B07sv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d00003B08*
+ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B09*
+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B09sv00001025sd00000347*
+ ID_MODEL_FROM_DATABASE=Aspire 7740G
+
+pci:v00008086d00003B0A*
+ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B0Asv00001028sd000002DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 980
+
+pci:v00008086d00003B0B*
+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B0C*
+ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B0D*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B0E*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B0F*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B10*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B11*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B12*
+ ID_MODEL_FROM_DATABASE=3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B13*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B14*
+ ID_MODEL_FROM_DATABASE=3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B15*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B16*
+ ID_MODEL_FROM_DATABASE=3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B17*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B18*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B19*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B1A*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B1B*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B1C*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B1D*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B1E*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B1F*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
+
+pci:v00008086d00003B20*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller
+
+pci:v00008086d00003B21*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller
+
+pci:v00008086d00003B22*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller
+
+pci:v00008086d00003B22sv00001028sd000002DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 980
+
+pci:v00008086d00003B23*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller
+
+pci:v00008086d00003B25*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller
+
+pci:v00008086d00003B26*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller
+
+pci:v00008086d00003B28*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller
+
+pci:v00008086d00003B29*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller
+
+pci:v00008086d00003B29sv00001025sd00000347*
+ ID_MODEL_FROM_DATABASE=Aspire 7740G
+
+pci:v00008086d00003B2C*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller
+
+pci:v00008086d00003B2D*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller
+
+pci:v00008086d00003B2Dsv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d00003B2E*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller
+
+pci:v00008086d00003B2Esv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d00003B2F*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller
+
+pci:v00008086d00003B2Fsv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d00003B2Fsv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d00003B30*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller
+
+pci:v00008086d00003B30sv00001025sd00000347*
+ ID_MODEL_FROM_DATABASE=Aspire 7740G
+
+pci:v00008086d00003B30sv00001028sd000002DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 980
+
+pci:v00008086d00003B30sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d00003B30sv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d00003B32*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem
+
+pci:v00008086d00003B32sv00001025sd00000347*
+ ID_MODEL_FROM_DATABASE=Aspire 7740G
+
+pci:v00008086d00003B34*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller
+
+pci:v00008086d00003B34sv00001025sd00000347*
+ ID_MODEL_FROM_DATABASE=Aspire 7740G
+
+pci:v00008086d00003B34sv00001028sd000002DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 980
+
+pci:v00008086d00003B34sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d00003B34sv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d00003B36*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
+
+pci:v00008086d00003B37*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
+
+pci:v00008086d00003B38*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
+
+pci:v00008086d00003B39*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
+
+pci:v00008086d00003B3A*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
+
+pci:v00008086d00003B3B*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
+
+pci:v00008086d00003B3C*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller
+
+pci:v00008086d00003B3Csv00001025sd00000347*
+ ID_MODEL_FROM_DATABASE=Aspire 7740G
+
+pci:v00008086d00003B3Csv00001028sd000002DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 980
+
+pci:v00008086d00003B3Csv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d00003B3Csv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d00003B3E*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
+
+pci:v00008086d00003B3F*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
+
+pci:v00008086d00003B40*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
+
+pci:v00008086d00003B41*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset LAN Controller
+
+pci:v00008086d00003B42*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1
+
+pci:v00008086d00003B42sv00001028sd000002DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 980
+
+pci:v00008086d00003B42sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d00003B44*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2
+
+pci:v00008086d00003B44sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d00003B46*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3
+
+pci:v00008086d00003B46sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d00003B48*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4
+
+pci:v00008086d00003B48sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d00003B4A*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5
+
+pci:v00008086d00003B4Asv00001028sd000002DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 980
+
+pci:v00008086d00003B4C*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 6
+
+pci:v00008086d00003B4E*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 7
+
+pci:v00008086d00003B50*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 8
+
+pci:v00008086d00003B53*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset VECI Controller
+
+pci:v00008086d00003B56*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio
+
+pci:v00008086d00003B56sv00001025sd00000347*
+ ID_MODEL_FROM_DATABASE=Aspire 7740G
+
+pci:v00008086d00003B56sv00001028sd000002DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 980
+
+pci:v00008086d00003B56sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d00003B56sv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d00003B57*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio
+
+pci:v00008086d00003B64*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller
+
+pci:v00008086d00003B64sv00001025sd00000347*
+ ID_MODEL_FROM_DATABASE=Aspire 7740G
+
+pci:v00008086d00003B64sv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d00003B65*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller
+
+pci:v00008086d00003B66*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PT IDER Controller
+
+pci:v00008086d00003B67*
+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset KT Controller
+
+pci:v00008086d00003B67sv0000E4BFsd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v00008086d00003C00*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMI2
+
+pci:v00008086d00003C01*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMI2 in PCI Express Mode
+
+pci:v00008086d00003C02*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 1a
+
+pci:v00008086d00003C03*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 1b
+
+pci:v00008086d00003C04*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 2a
+
+pci:v00008086d00003C05*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 2b
+
+pci:v00008086d00003C06*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 2c
+
+pci:v00008086d00003C07*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 2d
+
+pci:v00008086d00003C08*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode
+
+pci:v00008086d00003C09*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 3b
+
+pci:v00008086d00003C0A*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 3c
+
+pci:v00008086d00003C0B*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 3d
+
+pci:v00008086d00003C0D*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Non-Transparent Bridge
+
+pci:v00008086d00003C0E*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Non-Transparent Bridge
+
+pci:v00008086d00003C0F*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Non-Transparent Bridge
+
+pci:v00008086d00003C20*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 0
+
+pci:v00008086d00003C21*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 1
+
+pci:v00008086d00003C22*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 2
+
+pci:v00008086d00003C23*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 3
+
+pci:v00008086d00003C24*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 4
+
+pci:v00008086d00003C25*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 5
+
+pci:v00008086d00003C26*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 6
+
+pci:v00008086d00003C27*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 7
+
+pci:v00008086d00003C28*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Address Map, VTd_Misc, System Management
+
+pci:v00008086d00003C2A*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Control Status and Global Errors
+
+pci:v00008086d00003C2C*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 I/O APIC
+
+pci:v00008086d00003C2E*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMA
+
+pci:v00008086d00003C2F*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMA
+
+pci:v00008086d00003C40*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 IIO Switch and IRP Performance Monitor
+
+pci:v00008086d00003C43*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Ring to PCI Express Performance Monitor
+
+pci:v00008086d00003C44*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Ring to QuickPath Interconnect Link 0 Performance Monitor
+
+pci:v00008086d00003C45*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Ring to QuickPath Interconnect Link 1 Performance Monitor
+
+pci:v00008086d00003C46*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Processor Home Agent Performance Monitoring
+
+pci:v00008086d00003C71*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller RAS Registers
+
+pci:v00008086d00003C80*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 QPI Link 0
+
+pci:v00008086d00003C83*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 QPI Link Reut 0
+
+pci:v00008086d00003C84*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 QPI Link Reut 0
+
+pci:v00008086d00003C90*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 QPI Link 1
+
+pci:v00008086d00003C93*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 QPI Link Reut 1
+
+pci:v00008086d00003C94*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 QPI Link Reut 1
+
+pci:v00008086d00003CA0*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Processor Home Agent
+
+pci:v00008086d00003CA8*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Registers
+
+pci:v00008086d00003CAA*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 0
+
+pci:v00008086d00003CAB*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 1
+
+pci:v00008086d00003CAC*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 2
+
+pci:v00008086d00003CAD*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 3
+
+pci:v00008086d00003CAE*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 4
+
+pci:v00008086d00003CB0*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 0
+
+pci:v00008086d00003CB1*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 1
+
+pci:v00008086d00003CB2*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 0
+
+pci:v00008086d00003CB3*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 1
+
+pci:v00008086d00003CB4*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 2
+
+pci:v00008086d00003CB5*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 3
+
+pci:v00008086d00003CB6*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 2
+
+pci:v00008086d00003CB7*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 3
+
+pci:v00008086d00003CB8*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DDRIO
+
+pci:v00008086d00003CC0*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Power Control Unit 0
+
+pci:v00008086d00003CC1*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Power Control Unit 1
+
+pci:v00008086d00003CC2*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Power Control Unit 2
+
+pci:v00008086d00003CD0*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Power Control Unit 3
+
+pci:v00008086d00003CE0*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Interrupt Control Registers
+
+pci:v00008086d00003CE3*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Semaphore and Scratchpad Configuration Registers
+
+pci:v00008086d00003CE4*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 R2PCIe
+
+pci:v00008086d00003CE6*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 QuickPath Interconnect Agent Ring Registers
+
+pci:v00008086d00003CE8*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 0
+
+pci:v00008086d00003CE9*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 5
+
+pci:v00008086d00003CEA*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 1
+
+pci:v00008086d00003CEB*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 6
+
+pci:v00008086d00003CEC*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 3
+
+pci:v00008086d00003CED*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 7
+
+pci:v00008086d00003CEE*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 4
+
+pci:v00008086d00003CEF*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 8
+
+pci:v00008086d00003CF4*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 0
+
+pci:v00008086d00003CF5*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 1
+
+pci:v00008086d00003CF6*
+ ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 System Address Decoder
+
+pci:v00008086d00004000*
+ ID_MODEL_FROM_DATABASE=5400 Chipset Memory Controller Hub
+
+pci:v00008086d00004001*
+ ID_MODEL_FROM_DATABASE=5400 Chipset Memory Controller Hub
+
+pci:v00008086d00004003*
+ ID_MODEL_FROM_DATABASE=5400 Chipset Memory Controller Hub
+
+pci:v00008086d00004021*
+ ID_MODEL_FROM_DATABASE=5400 Chipset PCI Express Port 1
+
+pci:v00008086d00004022*
+ ID_MODEL_FROM_DATABASE=5400 Chipset PCI Express Port 2
+
+pci:v00008086d00004023*
+ ID_MODEL_FROM_DATABASE=5400 Chipset PCI Express Port 3
+
+pci:v00008086d00004024*
+ ID_MODEL_FROM_DATABASE=5400 Chipset PCI Express Port 4
+
+pci:v00008086d00004025*
+ ID_MODEL_FROM_DATABASE=5400 Chipset PCI Express Port 5
+
+pci:v00008086d00004026*
+ ID_MODEL_FROM_DATABASE=5400 Chipset PCI Express Port 6
+
+pci:v00008086d00004027*
+ ID_MODEL_FROM_DATABASE=5400 Chipset PCI Express Port 7
+
+pci:v00008086d00004028*
+ ID_MODEL_FROM_DATABASE=5400 Chipset PCI Express Port 8
+
+pci:v00008086d00004029*
+ ID_MODEL_FROM_DATABASE=5400 Chipset PCI Express Port 9
+
+pci:v00008086d0000402D*
+ ID_MODEL_FROM_DATABASE=5400 Chipset IBIST Registers
+
+pci:v00008086d0000402E*
+ ID_MODEL_FROM_DATABASE=5400 Chipset IBIST Registers
+
+pci:v00008086d0000402F*
+ ID_MODEL_FROM_DATABASE=5400 Chipset QuickData Technology Device
+
+pci:v00008086d00004030*
+ ID_MODEL_FROM_DATABASE=5400 Chipset FSB Registers
+
+pci:v00008086d00004031*
+ ID_MODEL_FROM_DATABASE=5400 Chipset CE/SF Registers
+
+pci:v00008086d00004032*
+ ID_MODEL_FROM_DATABASE=5400 Chipset IOxAPIC
+
+pci:v00008086d00004035*
+ ID_MODEL_FROM_DATABASE=5400 Chipset FBD Registers
+
+pci:v00008086d00004036*
+ ID_MODEL_FROM_DATABASE=5400 Chipset FBD Registers
+
+pci:v00008086d00004100*
+ ID_MODEL_FROM_DATABASE=Moorestown Graphics and Video
+
+pci:v00008086d00004108*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
+
+pci:v00008086d00004109*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
+
+pci:v00008086d0000410A*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
+
+pci:v00008086d0000410B*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
+
+pci:v00008086d0000410C*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
+
+pci:v00008086d0000410D*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
+
+pci:v00008086d0000410E*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
+
+pci:v00008086d0000410F*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
+
+pci:v00008086d00004114*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx PCI Host Bridge #1
+
+pci:v00008086d00004115*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx PCI Host Bridge #2
+
+pci:v00008086d00004116*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx PCI Host Bridge #3
+
+pci:v00008086d00004117*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx PCI Host Bridge #4
+
+pci:v00008086d00004220*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection
+
+pci:v00008086d00004220sv0000103Csd00000934*
+ ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220
+
+pci:v00008086d00004220sv0000103Csd000012F6*
+ ID_MODEL_FROM_DATABASE=nc6120/nx8220/nw8240
+
+pci:v00008086d00004220sv00008086sd00002701*
+ ID_MODEL_FROM_DATABASE=WM3B2300BG Mini-PCI Card
+
+pci:v00008086d00004220sv00008086sd00002712*
+ ID_MODEL_FROM_DATABASE=IBM ThinkPad R50e
+
+pci:v00008086d00004220sv00008086sd00002721*
+ ID_MODEL_FROM_DATABASE=Dell B130 laptop integrated WLAN
+
+pci:v00008086d00004220sv00008086sd00002722*
+ ID_MODEL_FROM_DATABASE=Dell Latitude D600
+
+pci:v00008086d00004220sv00008086sd00002731*
+ ID_MODEL_FROM_DATABASE=Samsung P35 integrated WLAN
+
+pci:v00008086d00004222*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection
+
+pci:v00008086d00004222sv0000103Csd0000135C*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection
+
+pci:v00008086d00004222sv00008086sd00001000*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection
+
+pci:v00008086d00004222sv00008086sd00001001*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection
+
+pci:v00008086d00004222sv00008086sd00001005*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection
+
+pci:v00008086d00004222sv00008086sd00001034*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection
+
+pci:v00008086d00004222sv00008086sd00001044*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection
+
+pci:v00008086d00004222sv00008086sd00001C00*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection
+
+pci:v00008086d00004223*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection
+
+pci:v00008086d00004223sv00001000sd00008086*
+ ID_MODEL_FROM_DATABASE=mPCI 3B Americas/Europe ZZA
+
+pci:v00008086d00004223sv00001001sd00008086*
+ ID_MODEL_FROM_DATABASE=mPCI 3B Europe ZZE
+
+pci:v00008086d00004223sv00001002sd00008086*
+ ID_MODEL_FROM_DATABASE=mPCI 3B Japan ZZJ
+
+pci:v00008086d00004223sv00001003sd00008086*
+ ID_MODEL_FROM_DATABASE=mPCI 3B High-Band ZZH
+
+pci:v00008086d00004223sv00001351sd0000103C*
+ ID_MODEL_FROM_DATABASE=Compaq NC6220
+
+pci:v00008086d00004224*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection
+
+pci:v00008086d00004227*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection
+
+pci:v00008086d00004227sv00008086sd00001011*
+ ID_MODEL_FROM_DATABASE=ThinkPad R60e/X60s
+
+pci:v00008086d00004227sv00008086sd00001014*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection
+
+pci:v00008086d00004229*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection
+
+pci:v00008086d00004229sv00008086sd00001100*
+ ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C
+
+pci:v00008086d00004229sv00008086sd00001101*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN
+
+pci:v00008086d0000422B*
+ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300
+
+pci:v00008086d0000422Bsv00008086sd00001101*
+ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN
+
+pci:v00008086d0000422Bsv00008086sd00001121*
+ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN
+
+pci:v00008086d0000422C*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200
+
+pci:v00008086d0000422Csv00008086sd00001301*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN
+
+pci:v00008086d0000422Csv00008086sd00001306*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG
+
+pci:v00008086d0000422Csv00008086sd00001307*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 BG
+
+pci:v00008086d0000422Csv00008086sd00001321*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN
+
+pci:v00008086d0000422Csv00008086sd00001326*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG
+
+pci:v00008086d00004230*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection
+
+pci:v00008086d00004230sv00008086sd00001110*
+ ID_MODEL_FROM_DATABASE=Lenovo ThinkPad T51
+
+pci:v00008086d00004230sv00008086sd00001111*
+ ID_MODEL_FROM_DATABASE=Lenovo ThinkPad T61
+
+pci:v00008086d00004232*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100
+
+pci:v00008086d00004232sv00008086sd00001201*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN
+
+pci:v00008086d00004232sv00008086sd00001204*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN
+
+pci:v00008086d00004232sv00008086sd00001205*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN
+
+pci:v00008086d00004232sv00008086sd00001206*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG
+
+pci:v00008086d00004232sv00008086sd00001221*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN
+
+pci:v00008086d00004232sv00008086sd00001224*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN
+
+pci:v00008086d00004232sv00008086sd00001225*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN
+
+pci:v00008086d00004232sv00008086sd00001226*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG
+
+pci:v00008086d00004232sv00008086sd00001301*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN
+
+pci:v00008086d00004232sv00008086sd00001304*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN
+
+pci:v00008086d00004232sv00008086sd00001305*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN
+
+pci:v00008086d00004232sv00008086sd00001306*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG
+
+pci:v00008086d00004232sv00008086sd00001321*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN
+
+pci:v00008086d00004232sv00008086sd00001324*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN
+
+pci:v00008086d00004232sv00008086sd00001325*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN
+
+pci:v00008086d00004232sv00008086sd00001326*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG
+
+pci:v00008086d00004235*
+ ID_MODEL_FROM_DATABASE=Ultimate N WiFi Link 5300
+
+pci:v00008086d00004236*
+ ID_MODEL_FROM_DATABASE=Ultimate N WiFi Link 5300
+
+pci:v00008086d00004237*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection
+
+pci:v00008086d00004237sv00008086sd00001211*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN
+
+pci:v00008086d00004237sv00008086sd00001214*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN
+
+pci:v00008086d00004237sv00008086sd00001215*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN
+
+pci:v00008086d00004237sv00008086sd00001216*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG
+
+pci:v00008086d00004237sv00008086sd00001311*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN
+
+pci:v00008086d00004237sv00008086sd00001314*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN
+
+pci:v00008086d00004237sv00008086sd00001315*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN
+
+pci:v00008086d00004237sv00008086sd00001316*
+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG
+
+pci:v00008086d00004238*
+ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300
+
+pci:v00008086d00004238sv00008086sd00001111*
+ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN
+
+pci:v00008086d00004239*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200
+
+pci:v00008086d00004239sv00008086sd00001311*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN
+
+pci:v00008086d00004239sv00008086sd00001316*
+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG
+
+pci:v00008086d0000423A*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5350 AGN [Echo Peak] Network Connection
+
+pci:v00008086d0000423B*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5350 AGN [Echo Peak] Network Connection
+
+pci:v00008086d0000423C*
+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150
+
+pci:v00008086d0000423Csv00008086sd00001201*
+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN
+
+pci:v00008086d0000423Csv00008086sd00001206*
+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG
+
+pci:v00008086d0000423Csv00008086sd00001221*
+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN
+
+pci:v00008086d0000423Csv00008086sd00001301*
+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN
+
+pci:v00008086d0000423Csv00008086sd00001306*
+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG
+
+pci:v00008086d0000423Csv00008086sd00001321*
+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN
+
+pci:v00008086d0000423D*
+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150
+
+pci:v00008086d0000423Dsv00008086sd00001211*
+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN
+
+pci:v00008086d0000423Dsv00008086sd00001216*
+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG
+
+pci:v00008086d0000423Dsv00008086sd00001311*
+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN
+
+pci:v00008086d0000423Dsv00008086sd00001316*
+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG
+
+pci:v00008086d0000444E*
+ ID_MODEL_FROM_DATABASE=Turbo Memory Controller
+
+pci:v00008086d00005001*
+ ID_MODEL_FROM_DATABASE=LE80578
+
+pci:v00008086d00005002*
+ ID_MODEL_FROM_DATABASE=LE80578 Graphics Processor Unit
+
+pci:v00008086d00005009*
+ ID_MODEL_FROM_DATABASE=LE80578 Video Display Controller
+
+pci:v00008086d0000500D*
+ ID_MODEL_FROM_DATABASE=LE80578 Expansion Bus
+
+pci:v00008086d0000500E*
+ ID_MODEL_FROM_DATABASE=LE80578 UART Controller
+
+pci:v00008086d0000500F*
+ ID_MODEL_FROM_DATABASE=LE80578 General Purpose IO
+
+pci:v00008086d00005010*
+ ID_MODEL_FROM_DATABASE=LE80578 I2C Controller
+
+pci:v00008086d00005012*
+ ID_MODEL_FROM_DATABASE=LE80578 Serial Peripheral Interface Bus
+
+pci:v00008086d00005020*
+ ID_MODEL_FROM_DATABASE=EP80579 Memory Controller Hub
+
+pci:v00008086d00005021*
+ ID_MODEL_FROM_DATABASE=EP80579 DRAM Error Reporting Registers
+
+pci:v00008086d00005023*
+ ID_MODEL_FROM_DATABASE=EP80579 EDMA Controller
+
+pci:v00008086d00005024*
+ ID_MODEL_FROM_DATABASE=EP80579 PCI Express Port PEA0
+
+pci:v00008086d00005025*
+ ID_MODEL_FROM_DATABASE=EP80579 PCI Express Port PEA1
+
+pci:v00008086d00005028*
+ ID_MODEL_FROM_DATABASE=EP80579 S-ATA IDE
+
+pci:v00008086d00005029*
+ ID_MODEL_FROM_DATABASE=EP80579 S-ATA AHCI
+
+pci:v00008086d0000502A*
+ ID_MODEL_FROM_DATABASE=EP80579 S-ATA Reserved
+
+pci:v00008086d0000502B*
+ ID_MODEL_FROM_DATABASE=EP80579 S-ATA Reserved
+
+pci:v00008086d0000502C*
+ ID_MODEL_FROM_DATABASE=EP80579 Integrated Processor ASU
+
+pci:v00008086d0000502D*
+ ID_MODEL_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist ASU
+
+pci:v00008086d0000502E*
+ ID_MODEL_FROM_DATABASE=EP80579 Reserved
+
+pci:v00008086d0000502F*
+ ID_MODEL_FROM_DATABASE=EP80579 Reserved
+
+pci:v00008086d00005030*
+ ID_MODEL_FROM_DATABASE=EP80579 Reserved
+
+pci:v00008086d00005031*
+ ID_MODEL_FROM_DATABASE=EP80579 LPC Bus
+
+pci:v00008086d00005032*
+ ID_MODEL_FROM_DATABASE=EP80579 SMBus Controller
+
+pci:v00008086d00005033*
+ ID_MODEL_FROM_DATABASE=EP80579 USB 1.1 Controller
+
+pci:v00008086d00005035*
+ ID_MODEL_FROM_DATABASE=EP80579 USB 2.0 Controller
+
+pci:v00008086d00005037*
+ ID_MODEL_FROM_DATABASE=EP80579 PCI-PCI Bridge (transparent mode)
+
+pci:v00008086d00005039*
+ ID_MODEL_FROM_DATABASE=EP80579 Controller Area Network (CAN) interface #1
+
+pci:v00008086d0000503A*
+ ID_MODEL_FROM_DATABASE=EP80579 Controller Area Network (CAN) interface #2
+
+pci:v00008086d0000503B*
+ ID_MODEL_FROM_DATABASE=EP80579 Synchronous Serial Port (SPP)
+
+pci:v00008086d0000503C*
+ ID_MODEL_FROM_DATABASE=EP80579 IEEE 1588 Hardware Assist
+
+pci:v00008086d0000503D*
+ ID_MODEL_FROM_DATABASE=EP80579 Local Expansion Bus
+
+pci:v00008086d0000503E*
+ ID_MODEL_FROM_DATABASE=EP80579 Global Control Unit (GCU)
+
+pci:v00008086d0000503F*
+ ID_MODEL_FROM_DATABASE=EP80579 Reserved
+
+pci:v00008086d00005040*
+ ID_MODEL_FROM_DATABASE=EP80579 Integrated Processor Gigabit Ethernet MAC
+
+pci:v00008086d00005041*
+ ID_MODEL_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC
+
+pci:v00008086d00005042*
+ ID_MODEL_FROM_DATABASE=EP80579 Reserved
+
+pci:v00008086d00005043*
+ ID_MODEL_FROM_DATABASE=EP80579 Reserved
+
+pci:v00008086d00005044*
+ ID_MODEL_FROM_DATABASE=EP80579 Integrated Processor Gigabit Ethernet MAC
+
+pci:v00008086d00005045*
+ ID_MODEL_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC
+
+pci:v00008086d00005046*
+ ID_MODEL_FROM_DATABASE=EP80579 Reserved
+
+pci:v00008086d00005047*
+ ID_MODEL_FROM_DATABASE=EP80579 Reserved
+
+pci:v00008086d00005048*
+ ID_MODEL_FROM_DATABASE=EP80579 Integrated Processor Gigabit Ethernet MAC
+
+pci:v00008086d00005049*
+ ID_MODEL_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC
+
+pci:v00008086d0000504A*
+ ID_MODEL_FROM_DATABASE=EP80579 Reserved
+
+pci:v00008086d0000504B*
+ ID_MODEL_FROM_DATABASE=EP80579 Reserved
+
+pci:v00008086d0000504C*
+ ID_MODEL_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist TDM
+
+pci:v00008086d00005200*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server
+
+pci:v00008086d00005201*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server
+
+pci:v00008086d00005201sv00008086sd00000001*
+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Ethernet Adapter
+
+pci:v00008086d0000530D*
+ ID_MODEL_FROM_DATABASE=80310 (IOP) IO Processor
+
+pci:v00008086d000065C0*
+ ID_MODEL_FROM_DATABASE=5100 Chipset Memory Controller Hub
+
+pci:v00008086d000065E2*
+ ID_MODEL_FROM_DATABASE=5100 Chipset PCI Express x4 Port 2
+
+pci:v00008086d000065E3*
+ ID_MODEL_FROM_DATABASE=5100 Chipset PCI Express x4 Port 3
+
+pci:v00008086d000065E4*
+ ID_MODEL_FROM_DATABASE=5100 Chipset PCI Express x4 Port 4
+
+pci:v00008086d000065E5*
+ ID_MODEL_FROM_DATABASE=5100 Chipset PCI Express x4 Port 5
+
+pci:v00008086d000065E6*
+ ID_MODEL_FROM_DATABASE=5100 Chipset PCI Express x4 Port 6
+
+pci:v00008086d000065E7*
+ ID_MODEL_FROM_DATABASE=5100 Chipset PCI Express x4 Port 7
+
+pci:v00008086d000065F0*
+ ID_MODEL_FROM_DATABASE=5100 Chipset FSB Registers
+
+pci:v00008086d000065F0sv00001028sd0000020F*
+ ID_MODEL_FROM_DATABASE=PowerEdge R300
+
+pci:v00008086d000065F0sv00001028sd00000210*
+ ID_MODEL_FROM_DATABASE=PowerEdge T300
+
+pci:v00008086d000065F1*
+ ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers
+
+pci:v00008086d000065F1sv00001028sd00000210*
+ ID_MODEL_FROM_DATABASE=PowerEdge T300
+
+pci:v00008086d000065F3*
+ ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers
+
+pci:v00008086d000065F5*
+ ID_MODEL_FROM_DATABASE=5100 Chipset DDR Channel 0 Registers
+
+pci:v00008086d000065F6*
+ ID_MODEL_FROM_DATABASE=5100 Chipset DDR Channel 1 Registers
+
+pci:v00008086d000065F7*
+ ID_MODEL_FROM_DATABASE=5100 Chipset PCI Express x8 Port 2-3
+
+pci:v00008086d000065F8*
+ ID_MODEL_FROM_DATABASE=5100 Chipset PCI Express x8 Port 4-5
+
+pci:v00008086d000065F9*
+ ID_MODEL_FROM_DATABASE=5100 Chipset PCI Express x8 Port 6-7
+
+pci:v00008086d000065FA*
+ ID_MODEL_FROM_DATABASE=5100 Chipset PCI Express x16 Port 4-7
+
+pci:v00008086d000065FF*
+ ID_MODEL_FROM_DATABASE=5100 Chipset DMA Engine
+
+pci:v00008086d00007000*
+ ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II]
+
+pci:v00008086d00007000sv00001AF4sd00001100*
+ ID_MODEL_FROM_DATABASE=Qemu virtual machine
+
+pci:v00008086d00007010*
+ ID_MODEL_FROM_DATABASE=82371SB PIIX3 IDE [Natoma/Triton II]
+
+pci:v00008086d00007010sv00001AF4sd00001100*
+ ID_MODEL_FROM_DATABASE=Qemu virtual machine
+
+pci:v00008086d00007020*
+ ID_MODEL_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II]
+
+pci:v00008086d00007020sv00001AF4sd00001100*
+ ID_MODEL_FROM_DATABASE=Qemu virtual machine
+
+pci:v00008086d00007030*
+ ID_MODEL_FROM_DATABASE=430VX - 82437VX TVX [Triton VX]
+
+pci:v00008086d00007050*
+ ID_MODEL_FROM_DATABASE=Intercast Video Capture Card
+
+pci:v00008086d00007051*
+ ID_MODEL_FROM_DATABASE=PB 642365-003 (Business Video Conferencing Card)
+
+pci:v00008086d00007100*
+ ID_MODEL_FROM_DATABASE=430TX - 82439TX MTXC
+
+pci:v00008086d00007110*
+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ISA
+
+pci:v00008086d00007110sv000015ADsd00001976*
+ ID_MODEL_FROM_DATABASE=Virtual Machine Chipset
+
+pci:v00008086d00007111*
+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 IDE
+
+pci:v00008086d00007111sv000015ADsd00001976*
+ ID_MODEL_FROM_DATABASE=Virtual Machine Chipset
+
+pci:v00008086d00007112*
+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 USB
+
+pci:v00008086d00007112sv000015ADsd00001976*
+ ID_MODEL_FROM_DATABASE=Virtual Machine Chipset
+
+pci:v00008086d00007113*
+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI
+
+pci:v00008086d00007113sv000015ADsd00001976*
+ ID_MODEL_FROM_DATABASE=Virtual Machine Chipset
+
+pci:v00008086d00007113sv00001AF4sd00001100*
+ ID_MODEL_FROM_DATABASE=Qemu virtual machine
+
+pci:v00008086d00007120*
+ ID_MODEL_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub)
+
+pci:v00008086d00007120sv00004C53sd00001040*
+ ID_MODEL_FROM_DATABASE=CL7 mainboard
+
+pci:v00008086d00007120sv00004C53sd00001060*
+ ID_MODEL_FROM_DATABASE=PC7 mainboard
+
+pci:v00008086d00007121*
+ ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller
+
+pci:v00008086d00007121sv00004C53sd00001040*
+ ID_MODEL_FROM_DATABASE=CL7 mainboard
+
+pci:v00008086d00007121sv00004C53sd00001060*
+ ID_MODEL_FROM_DATABASE=PC7 mainboard
+
+pci:v00008086d00007121sv00008086sd00004341*
+ ID_MODEL_FROM_DATABASE=Cayman (CA810) Mainboard
+
+pci:v00008086d00007122*
+ ID_MODEL_FROM_DATABASE=82810 DC-100 (GMCH) Graphics Memory Controller Hub
+
+pci:v00008086d00007123*
+ ID_MODEL_FROM_DATABASE=82810 DC-100 (CGC) Chipset Graphics Controller
+
+pci:v00008086d00007124*
+ ID_MODEL_FROM_DATABASE=82810E DC-133 (GMCH) Graphics Memory Controller Hub
+
+pci:v00008086d00007124sv00001028sd000000B4*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX110
+
+pci:v00008086d00007125*
+ ID_MODEL_FROM_DATABASE=82810E DC-133 (CGC) Chipset Graphics Controller
+
+pci:v00008086d00007125sv00001028sd000000B4*
+ ID_MODEL_FROM_DATABASE=OptiPlex GX110
+
+pci:v00008086d00007126*
+ ID_MODEL_FROM_DATABASE=82810 DC-133 System and Graphics Controller
+
+pci:v00008086d00007128*
+ ID_MODEL_FROM_DATABASE=82810-M DC-100 System and Graphics Controller
+
+pci:v00008086d0000712A*
+ ID_MODEL_FROM_DATABASE=82810-M DC-133 System and Graphics Controller
+
+pci:v00008086d00007180*
+ ID_MODEL_FROM_DATABASE=440LX/EX - 82443LX/EX Host bridge
+
+pci:v00008086d00007181*
+ ID_MODEL_FROM_DATABASE=440LX/EX - 82443LX/EX AGP bridge
+
+pci:v00008086d00007190*
+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge
+
+pci:v00008086d00007190sv00000E11sd00000500*
+ ID_MODEL_FROM_DATABASE=Armada 1750 Laptop System Chipset
+
+pci:v00008086d00007190sv00000E11sd0000B110*
+ ID_MODEL_FROM_DATABASE=Armada M700/E500
+
+pci:v00008086d00007190sv00001028sd0000008E*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1300 mainboard
+
+pci:v00008086d00007190sv00001043sd0000803B*
+ ID_MODEL_FROM_DATABASE=CUBX-L/E Mainboard
+
+pci:v00008086d00007190sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Toshiba Tecra 8100 Laptop System Chipset
+
+pci:v00008086d00007190sv000015ADsd00001976*
+ ID_MODEL_FROM_DATABASE=Virtual Machine Chipset
+
+pci:v00008086d00007190sv00004C53sd00001050*
+ ID_MODEL_FROM_DATABASE=CT7 mainboard
+
+pci:v00008086d00007190sv00004C53sd00001051*
+ ID_MODEL_FROM_DATABASE=CE7 mainboard
+
+pci:v00008086d00007191*
+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX AGP bridge
+
+pci:v00008086d00007191sv00001028sd0000008E*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1300 mainboard
+
+pci:v00008086d00007192*
+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled)
+
+pci:v00008086d00007192sv00000E11sd00000460*
+ ID_MODEL_FROM_DATABASE=Armada 1700 Laptop System Chipset
+
+pci:v00008086d00007192sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Satellite 4010
+
+pci:v00008086d00007192sv00004C53sd00001000*
+ ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard
+
+pci:v00008086d00007192sv00008086sd00007190*
+ ID_MODEL_FROM_DATABASE=Dell PowerEdge 350
+
+pci:v00008086d00007194*
+ ID_MODEL_FROM_DATABASE=82440MX Host Bridge
+
+pci:v00008086d00007194sv00001033sd00000000*
+ ID_MODEL_FROM_DATABASE=Versa Note Vxi
+
+pci:v00008086d00007194sv00004C53sd000010A0*
+ ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard
+
+pci:v00008086d00007195*
+ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller
+
+pci:v00008086d00007195sv00001033sd000080CC*
+ ID_MODEL_FROM_DATABASE=Versa Note VXi
+
+pci:v00008086d00007195sv000010CFsd00001099*
+ ID_MODEL_FROM_DATABASE=QSound_SigmaTel Stac97 PCI Audio
+
+pci:v00008086d00007195sv000011D4sd00000040*
+ ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio
+
+pci:v00008086d00007195sv000011D4sd00000048*
+ ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio
+
+pci:v00008086d00007196*
+ ID_MODEL_FROM_DATABASE=82440MX AC'97 Modem Controller
+
+pci:v00008086d00007198*
+ ID_MODEL_FROM_DATABASE=82440MX ISA Bridge
+
+pci:v00008086d00007199*
+ ID_MODEL_FROM_DATABASE=82440MX EIDE Controller
+
+pci:v00008086d0000719A*
+ ID_MODEL_FROM_DATABASE=82440MX USB Universal Host Controller
+
+pci:v00008086d0000719B*
+ ID_MODEL_FROM_DATABASE=82440MX Power Management Controller
+
+pci:v00008086d000071A0*
+ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge
+
+pci:v00008086d000071A0sv00004C53sd00001050*
+ ID_MODEL_FROM_DATABASE=CT7 mainboard
+
+pci:v00008086d000071A0sv00004C53sd00001051*
+ ID_MODEL_FROM_DATABASE=CE7 mainboard
+
+pci:v00008086d000071A1*
+ ID_MODEL_FROM_DATABASE=440GX - 82443GX AGP bridge
+
+pci:v00008086d000071A2*
+ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (AGP disabled)
+
+pci:v00008086d000071A2sv00004C53sd00001000*
+ ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard
+
+pci:v00008086d00007600*
+ ID_MODEL_FROM_DATABASE=82372FB PIIX5 ISA
+
+pci:v00008086d00007601*
+ ID_MODEL_FROM_DATABASE=82372FB PIIX5 IDE
+
+pci:v00008086d00007602*
+ ID_MODEL_FROM_DATABASE=82372FB PIIX5 USB
+
+pci:v00008086d00007603*
+ ID_MODEL_FROM_DATABASE=82372FB PIIX5 SMBus
+
+pci:v00008086d00007800*
+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator
+
+pci:v00008086d00007800sv0000003Dsd00000008*
+ ID_MODEL_FROM_DATABASE=Starfighter AGP
+
+pci:v00008086d00007800sv0000003Dsd0000000B*
+ ID_MODEL_FROM_DATABASE=Starfighter AGP
+
+pci:v00008086d00007800sv00001092sd00000100*
+ ID_MODEL_FROM_DATABASE=Stealth II G460
+
+pci:v00008086d00007800sv000010B4sd0000201A*
+ ID_MODEL_FROM_DATABASE=Lightspeed 740
+
+pci:v00008086d00007800sv000010B4sd0000202F*
+ ID_MODEL_FROM_DATABASE=Lightspeed 740
+
+pci:v00008086d00007800sv00008086sd00000000*
+ ID_MODEL_FROM_DATABASE=Terminator 2x/i
+
+pci:v00008086d00007800sv00008086sd00000100*
+ ID_MODEL_FROM_DATABASE=Intel740 Graphics Accelerator
+
+pci:v00008086d00008002*
+ ID_MODEL_FROM_DATABASE=Trusted Execution Technology Registers
+
+pci:v00008086d00008003*
+ ID_MODEL_FROM_DATABASE=Trusted Execution Technology Registers
+
+pci:v00008086d00008100*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo)
+
+pci:v00008086d00008108*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) Graphics Controller
+
+pci:v00008086d00008110*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) PCI Express Port 1
+
+pci:v00008086d00008112*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) PCI Express Port 2
+
+pci:v00008086d00008114*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) USB UHCI #1
+
+pci:v00008086d00008115*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) USB UHCI #2
+
+pci:v00008086d00008116*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) USB UHCI #3
+
+pci:v00008086d00008117*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) USB EHCI #1
+
+pci:v00008086d00008118*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) USB Client Controller
+
+pci:v00008086d00008119*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) LPC Bridge
+
+pci:v00008086d0000811A*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) IDE Controller
+
+pci:v00008086d0000811B*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) HD Audio Controller
+
+pci:v00008086d0000811C*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) SDIO Controller #1
+
+pci:v00008086d0000811D*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) SDIO Controller #2
+
+pci:v00008086d0000811E*
+ ID_MODEL_FROM_DATABASE=System Controller Hub (SCH Poulsbo) SDIO Controller #3
+
+pci:v00008086d00008180*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx PCI Express Port 3
+
+pci:v00008086d00008181*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx PCI Express Port 4
+
+pci:v00008086d00008182*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
+
+pci:v00008086d00008183*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx Configuration Unit
+
+pci:v00008086d00008184*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx PCI Express Port 1
+
+pci:v00008086d00008185*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx PCI Express Port 2
+
+pci:v00008086d00008186*
+ ID_MODEL_FROM_DATABASE=Atom Processor E6xx LPC Bridge
+
+pci:v00008086d000084C4*
+ ID_MODEL_FROM_DATABASE=450KX/GX [Orion] - 82454KX/GX PCI bridge
+
+pci:v00008086d000084C5*
+ ID_MODEL_FROM_DATABASE=450KX/GX [Orion] - 82453KX/GX Memory controller
+
+pci:v00008086d000084CA*
+ ID_MODEL_FROM_DATABASE=450NX - 82451NX Memory & I/O Controller
+
+pci:v00008086d000084CB*
+ ID_MODEL_FROM_DATABASE=450NX - 82454NX/84460GX PCI Expander Bridge
+
+pci:v00008086d000084E0*
+ ID_MODEL_FROM_DATABASE=460GX - 84460GX System Address Controller (SAC)
+
+pci:v00008086d000084E1*
+ ID_MODEL_FROM_DATABASE=460GX - 84460GX System Data Controller (SDC)
+
+pci:v00008086d000084E2*
+ ID_MODEL_FROM_DATABASE=460GX - 84460GX AGP Bridge (GXB function 2)
+
+pci:v00008086d000084E3*
+ ID_MODEL_FROM_DATABASE=460GX - 84460GX Memory Address Controller (MAC)
+
+pci:v00008086d000084E4*
+ ID_MODEL_FROM_DATABASE=460GX - 84460GX Memory Data Controller (MDC)
+
+pci:v00008086d000084E6*
+ ID_MODEL_FROM_DATABASE=460GX - 82466GX Wide and fast PCI eXpander Bridge (WXB)
+
+pci:v00008086d000084EA*
+ ID_MODEL_FROM_DATABASE=460GX - 84460GX AGP Bridge (GXB function 1)
+
+pci:v00008086d00008500*
+ ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100)
+
+pci:v00008086d00008500sv00001993sd00000DED*
+ ID_MODEL_FROM_DATABASE=mGuard-PCI AV#2
+
+pci:v00008086d00008500sv00001993sd00000DEE*
+ ID_MODEL_FROM_DATABASE=mGuard-PCI AV#1
+
+pci:v00008086d00008500sv00001993sd00000DEF*
+ ID_MODEL_FROM_DATABASE=mGuard-PCI AV#0
+
+pci:v00008086d00008800*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T PCI Express Port
+
+pci:v00008086d00008801*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T Packet Hub
+
+pci:v00008086d00008802*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T Gigabit Ethernet Controller
+
+pci:v00008086d00008803*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T General Purpose IO Controller
+
+pci:v00008086d00008804*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T USB OHCI Controller #4
+
+pci:v00008086d00008805*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T USB OHCI Controller #5
+
+pci:v00008086d00008806*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T USB OHCI Controller #6
+
+pci:v00008086d00008807*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T USB2 EHCI Controller #2
+
+pci:v00008086d00008808*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T USB Client Controller
+
+pci:v00008086d00008809*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T SDIO Controller #1
+
+pci:v00008086d0000880A*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T SDIO Controller #2
+
+pci:v00008086d0000880B*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T SATA AHCI Controller
+
+pci:v00008086d0000880C*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T USB OHCI Controller #1
+
+pci:v00008086d0000880D*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T USB OHCI Controller #2
+
+pci:v00008086d0000880E*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T USB OHCI Controller #3
+
+pci:v00008086d0000880F*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T USB2 EHCI Controller #1
+
+pci:v00008086d00008810*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T DMA Controller #1
+
+pci:v00008086d00008811*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T UART Controller 0
+
+pci:v00008086d00008812*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T UART Controller 1
+
+pci:v00008086d00008813*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T UART Controller 2
+
+pci:v00008086d00008814*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T UART Controller 3
+
+pci:v00008086d00008815*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T DMA Controller #2
+
+pci:v00008086d00008816*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T Serial Peripheral Interface Bus
+
+pci:v00008086d00008817*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T I2C Controller
+
+pci:v00008086d00008818*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T Controller Area Network (CAN) Controller
+
+pci:v00008086d00008819*
+ ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T IEEE 1588 Hardware Assist
+
+pci:v00008086d00008C00*
+ ID_MODEL_FROM_DATABASE=Lynx Point 4-port SATA Controller 1 [IDE mode]
+
+pci:v00008086d00008C01*
+ ID_MODEL_FROM_DATABASE=Lynx Point 4-port SATA Controller 1 [IDE mode]
+
+pci:v00008086d00008C02*
+ ID_MODEL_FROM_DATABASE=Lynx Point 6-port SATA Controller 1 [AHCI mode]
+
+pci:v00008086d00008C03*
+ ID_MODEL_FROM_DATABASE=Lynx Point 6-port SATA Controller 1 [AHCI mode]
+
+pci:v00008086d00008C04*
+ ID_MODEL_FROM_DATABASE=Lynx Point SATA Controller 1 [RAID mode]
+
+pci:v00008086d00008C05*
+ ID_MODEL_FROM_DATABASE=Lynx Point SATA Controller 1 [RAID mode]
+
+pci:v00008086d00008C06*
+ ID_MODEL_FROM_DATABASE=Lynx Point SATA Controller 1 [RAID mode]
+
+pci:v00008086d00008C07*
+ ID_MODEL_FROM_DATABASE=Lynx Point SATA Controller 1 [RAID mode]
+
+pci:v00008086d00008C08*
+ ID_MODEL_FROM_DATABASE=Lynx Point 2-port SATA Controller 2 [IDE mode]
+
+pci:v00008086d00008C09*
+ ID_MODEL_FROM_DATABASE=Lynx Point 2-port SATA Controller 2 [IDE mode]
+
+pci:v00008086d00008C0E*
+ ID_MODEL_FROM_DATABASE=Lynx Point SATA Controller 1 [RAID mode]
+
+pci:v00008086d00008C0F*
+ ID_MODEL_FROM_DATABASE=Lynx Point SATA Controller 1 [RAID mode]
+
+pci:v00008086d00008C10*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #1
+
+pci:v00008086d00008C11*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #1
+
+pci:v00008086d00008C12*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #2
+
+pci:v00008086d00008C13*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #2
+
+pci:v00008086d00008C14*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #3
+
+pci:v00008086d00008C15*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #3
+
+pci:v00008086d00008C16*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #4
+
+pci:v00008086d00008C17*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #4
+
+pci:v00008086d00008C18*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #5
+
+pci:v00008086d00008C19*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #5
+
+pci:v00008086d00008C1A*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #6
+
+pci:v00008086d00008C1B*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #6
+
+pci:v00008086d00008C1C*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #7
+
+pci:v00008086d00008C1D*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #7
+
+pci:v00008086d00008C1E*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #8
+
+pci:v00008086d00008C1F*
+ ID_MODEL_FROM_DATABASE=Lynx Point PCI Express Root Port #8
+
+pci:v00008086d00008C20*
+ ID_MODEL_FROM_DATABASE=Lynx Point High Definition Audio Controller
+
+pci:v00008086d00008C21*
+ ID_MODEL_FROM_DATABASE=Lynx Point High Definition Audio Controller
+
+pci:v00008086d00008C22*
+ ID_MODEL_FROM_DATABASE=Lynx Point SMBus Controller
+
+pci:v00008086d00008C23*
+ ID_MODEL_FROM_DATABASE=Lynx Point CHAP Counters
+
+pci:v00008086d00008C24*
+ ID_MODEL_FROM_DATABASE=Lynx Point Thermal Management Controller
+
+pci:v00008086d00008C26*
+ ID_MODEL_FROM_DATABASE=Lynx Point USB Enhanced Host Controller #1
+
+pci:v00008086d00008C2D*
+ ID_MODEL_FROM_DATABASE=Lynx Point USB Enhanced Host Controller #2
+
+pci:v00008086d00008C31*
+ ID_MODEL_FROM_DATABASE=Lynx Point USB xHCI Host Controller
+
+pci:v00008086d00008C33*
+ ID_MODEL_FROM_DATABASE=Lynx Point LAN Controller
+
+pci:v00008086d00008C34*
+ ID_MODEL_FROM_DATABASE=Lynx Point NAND Controller
+
+pci:v00008086d00008C3A*
+ ID_MODEL_FROM_DATABASE=Lynx Point MEI Controller #1
+
+pci:v00008086d00008C3B*
+ ID_MODEL_FROM_DATABASE=Lynx Point MEI Controller #2
+
+pci:v00008086d00008C3C*
+ ID_MODEL_FROM_DATABASE=Lynx Point IDE-r Controller
+
+pci:v00008086d00008C3D*
+ ID_MODEL_FROM_DATABASE=Lynx Point KT Controller
+
+pci:v00008086d00008C40*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C41*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C42*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C43*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C44*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C45*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C46*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C47*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C48*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C49*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C4A*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C4B*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C4C*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C4D*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C4E*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C4F*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C50*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C51*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C52*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C53*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C54*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C55*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C56*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C57*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C58*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C59*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C5A*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C5B*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C5C*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C5D*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C5E*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008C5F*
+ ID_MODEL_FROM_DATABASE=Lynx Point LPC Controller
+
+pci:v00008086d00008D00*
+ ID_MODEL_FROM_DATABASE=Wellsburg 4-port SATA Controller [IDE mode]
+
+pci:v00008086d00008D02*
+ ID_MODEL_FROM_DATABASE=Wellsburg 6-Port SATA Controller [AHCI mode]
+
+pci:v00008086d00008D04*
+ ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode]
+
+pci:v00008086d00008D06*
+ ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode]
+
+pci:v00008086d00008D08*
+ ID_MODEL_FROM_DATABASE=Wellsburg 2-port SATA Controller [IDE mode]
+
+pci:v00008086d00008D0E*
+ ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode]
+
+pci:v00008086d00008D10*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #1
+
+pci:v00008086d00008D11*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #1
+
+pci:v00008086d00008D12*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #2
+
+pci:v00008086d00008D13*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #2
+
+pci:v00008086d00008D14*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #3
+
+pci:v00008086d00008D15*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #3
+
+pci:v00008086d00008D16*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #4
+
+pci:v00008086d00008D17*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #4
+
+pci:v00008086d00008D18*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #5
+
+pci:v00008086d00008D19*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #5
+
+pci:v00008086d00008D1A*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #6
+
+pci:v00008086d00008D1B*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #6
+
+pci:v00008086d00008D1C*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #7
+
+pci:v00008086d00008D1D*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #7
+
+pci:v00008086d00008D1E*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #8
+
+pci:v00008086d00008D1F*
+ ID_MODEL_FROM_DATABASE=Wellsburg PCI Express Root Port #8
+
+pci:v00008086d00008D20*
+ ID_MODEL_FROM_DATABASE=Wellsburg HD Audio Controller
+
+pci:v00008086d00008D21*
+ ID_MODEL_FROM_DATABASE=Wellsburg HD Audio Controller
+
+pci:v00008086d00008D22*
+ ID_MODEL_FROM_DATABASE=Wellsburg SMBus Controller
+
+pci:v00008086d00008D24*
+ ID_MODEL_FROM_DATABASE=Wellsburg Thermal Subsystem
+
+pci:v00008086d00008D26*
+ ID_MODEL_FROM_DATABASE=Wellsburg USB Enhanced Host Controller #1
+
+pci:v00008086d00008D2D*
+ ID_MODEL_FROM_DATABASE=Wellsburg USB Enhanced Host Controller #2
+
+pci:v00008086d00008D31*
+ ID_MODEL_FROM_DATABASE=Wellsburg USB xHCI Host Controller
+
+pci:v00008086d00008D33*
+ ID_MODEL_FROM_DATABASE=Wellsburg LAN Controller
+
+pci:v00008086d00008D34*
+ ID_MODEL_FROM_DATABASE=Wellsburg NAND Controller
+
+pci:v00008086d00008D3A*
+ ID_MODEL_FROM_DATABASE=Wellsburg MEI Controller #1
+
+pci:v00008086d00008D3B*
+ ID_MODEL_FROM_DATABASE=Wellsburg MEI Controller #2
+
+pci:v00008086d00008D3C*
+ ID_MODEL_FROM_DATABASE=Wellsburg IDE-r Controller
+
+pci:v00008086d00008D3D*
+ ID_MODEL_FROM_DATABASE=Wellsburg KT Controller
+
+pci:v00008086d00008D40*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D41*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D42*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D43*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D44*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D45*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D46*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D47*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D48*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D49*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D4A*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D4B*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D4C*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D4D*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D4E*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D4F*
+ ID_MODEL_FROM_DATABASE=Wellsburg LPC Controller
+
+pci:v00008086d00008D60*
+ ID_MODEL_FROM_DATABASE=Wellsburg sSATA Controller [IDE mode]
+
+pci:v00008086d00008D62*
+ ID_MODEL_FROM_DATABASE=Wellsburg sSATA Controller [AHCI mode]
+
+pci:v00008086d00008D64*
+ ID_MODEL_FROM_DATABASE=Wellsburg sSATA Controller [RAID mode]
+
+pci:v00008086d00008D66*
+ ID_MODEL_FROM_DATABASE=Wellsburg sSATA Controller [RAID mode]
+
+pci:v00008086d00008D68*
+ ID_MODEL_FROM_DATABASE=Wellsburg sSATA Controller [IDE mode]
+
+pci:v00008086d00008D6E*
+ ID_MODEL_FROM_DATABASE=Wellsburg sSATA Controller [RAID mode]
+
+pci:v00008086d00008D7C*
+ ID_MODEL_FROM_DATABASE=Wellsburg EPSS
+
+pci:v00008086d00008D7D*
+ ID_MODEL_FROM_DATABASE=Wellsburg MS SMBus 0
+
+pci:v00008086d00008D7E*
+ ID_MODEL_FROM_DATABASE=Wellsburg MS SMBus 1
+
+pci:v00008086d00008D7F*
+ ID_MODEL_FROM_DATABASE=Wellsburg MS SMBus 2
+
+pci:v00008086d00009000*
+ ID_MODEL_FROM_DATABASE=IXP2000 Family Network Processor
+
+pci:v00008086d00009001*
+ ID_MODEL_FROM_DATABASE=IXP2400 Network Processor
+
+pci:v00008086d00009002*
+ ID_MODEL_FROM_DATABASE=IXP2300 Network Processor
+
+pci:v00008086d00009004*
+ ID_MODEL_FROM_DATABASE=IXP2800 Network Processor
+
+pci:v00008086d00009621*
+ ID_MODEL_FROM_DATABASE=Integrated RAID
+
+pci:v00008086d00009622*
+ ID_MODEL_FROM_DATABASE=Integrated RAID
+
+pci:v00008086d00009641*
+ ID_MODEL_FROM_DATABASE=Integrated RAID
+
+pci:v00008086d000096A1*
+ ID_MODEL_FROM_DATABASE=Integrated RAID
+
+pci:v00008086d00009C00*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [IDE mode]
+
+pci:v00008086d00009C01*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [IDE mode]
+
+pci:v00008086d00009C02*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode]
+
+pci:v00008086d00009C03*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode]
+
+pci:v00008086d00009C04*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode]
+
+pci:v00008086d00009C05*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode]
+
+pci:v00008086d00009C06*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode]
+
+pci:v00008086d00009C07*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode]
+
+pci:v00008086d00009C08*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 2 [IDE mode]
+
+pci:v00008086d00009C09*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 2 [IDE mode]
+
+pci:v00008086d00009C0A*
+ ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved]
+
+pci:v00008086d00009C0B*
+ ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved]
+
+pci:v00008086d00009C0C*
+ ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved]
+
+pci:v00008086d00009C0D*
+ ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved]
+
+pci:v00008086d00009C0E*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode]
+
+pci:v00008086d00009C0F*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode]
+
+pci:v00008086d00009C10*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 1
+
+pci:v00008086d00009C11*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 1
+
+pci:v00008086d00009C12*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 2
+
+pci:v00008086d00009C13*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 2
+
+pci:v00008086d00009C14*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 3
+
+pci:v00008086d00009C15*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 3
+
+pci:v00008086d00009C16*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 4
+
+pci:v00008086d00009C17*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 4
+
+pci:v00008086d00009C18*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 5
+
+pci:v00008086d00009C19*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 5
+
+pci:v00008086d00009C1A*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 6
+
+pci:v00008086d00009C1B*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 6
+
+pci:v00008086d00009C1C*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 7
+
+pci:v00008086d00009C1D*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 7
+
+pci:v00008086d00009C1E*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 8
+
+pci:v00008086d00009C1F*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 8
+
+pci:v00008086d00009C20*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller
+
+pci:v00008086d00009C21*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller
+
+pci:v00008086d00009C22*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller
+
+pci:v00008086d00009C23*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP CHAP Counters
+
+pci:v00008086d00009C24*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP Thermal
+
+pci:v00008086d00009C26*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1
+
+pci:v00008086d00009C2D*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #2
+
+pci:v00008086d00009C31*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC
+
+pci:v00008086d00009C35*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SDIO Controller
+
+pci:v00008086d00009C36*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP Audio DSP Controller
+
+pci:v00008086d00009C3A*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0
+
+pci:v00008086d00009C3B*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #1
+
+pci:v00008086d00009C3C*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI IDER
+
+pci:v00008086d00009C3D*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI KT
+
+pci:v00008086d00009C40*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller
+
+pci:v00008086d00009C41*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller
+
+pci:v00008086d00009C42*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller
+
+pci:v00008086d00009C43*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller
+
+pci:v00008086d00009C44*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller
+
+pci:v00008086d00009C45*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller
+
+pci:v00008086d00009C46*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller
+
+pci:v00008086d00009C47*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller
+
+pci:v00008086d00009C60*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP Low Power Sub-System DMA
+
+pci:v00008086d00009C61*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP I2C Controller #0
+
+pci:v00008086d00009C62*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP I2C Controller #1
+
+pci:v00008086d00009C63*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP UART Controller #0
+
+pci:v00008086d00009C64*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP UART Controller #1
+
+pci:v00008086d00009C65*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SPI Controller #0
+
+pci:v00008086d00009C66*
+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SPI Controller #1
+
+pci:v00008086d0000A000*
+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge
+
+pci:v00008086d0000A000sv00001458sd00005000*
+ ID_MODEL_FROM_DATABASE=GA-D525TUD
+
+pci:v00008086d0000A000sv00008086sd00004F4D*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D510MO
+
+pci:v00008086d0000A000sv00008086sd0000544B*
+ ID_MODEL_FROM_DATABASE=Desktop Board D425KT
+
+pci:v00008086d0000A001*
+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
+
+pci:v00008086d0000A001sv00001458sd0000D000*
+ ID_MODEL_FROM_DATABASE=GA-D525TUD
+
+pci:v00008086d0000A001sv00008086sd00004F4D*
+ ID_MODEL_FROM_DATABASE=DeskTop Board D510MO
+
+pci:v00008086d0000A001sv00008086sd0000544B*
+ ID_MODEL_FROM_DATABASE=Desktop Board D425KT
+
+pci:v00008086d0000A002*
+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
+
+pci:v00008086d0000A003*
+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx CHAPS counter
+
+pci:v00008086d0000A010*
+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge
+
+pci:v00008086d0000A010sv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d0000A011*
+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
+
+pci:v00008086d0000A011sv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d0000A012*
+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
+
+pci:v00008086d0000A012sv0000144Dsd0000C072*
+ ID_MODEL_FROM_DATABASE=Notebook N150P
+
+pci:v00008086d0000A013*
+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx CHAPS counter
+
+pci:v00008086d0000A620*
+ ID_MODEL_FROM_DATABASE=6400/6402 Advanced Memory Buffer (AMB)
+
+pci:v00008086d0000B152*
+ ID_MODEL_FROM_DATABASE=21152 PCI-to-PCI Bridge
+
+pci:v00008086d0000B152sv00008086sd0000B152*
+ ID_MODEL_FROM_DATABASE=21152 PCI-to-PCI Bridge
+
+pci:v00008086d0000B154*
+ ID_MODEL_FROM_DATABASE=21154 PCI-to-PCI Bridge
+
+pci:v00008086d0000B555*
+ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge
+
+pci:v00008086d0000B555sv000012C7sd00005005*
+ ID_MODEL_FROM_DATABASE=SS7HD PCI Adaptor Card
+
+pci:v00008086d0000B555sv000012C7sd00005006*
+ ID_MODEL_FROM_DATABASE=SS7HDC cPCI Adaptor Card
+
+pci:v00008086d0000B555sv000012D9sd0000000A*
+ ID_MODEL_FROM_DATABASE=PCI VoIP Gateway
+
+pci:v00008086d0000B555sv00004C53sd00001050*
+ ID_MODEL_FROM_DATABASE=CT7 mainboard
+
+pci:v00008086d0000B555sv00004C53sd00001051*
+ ID_MODEL_FROM_DATABASE=CE7 mainboard
+
+pci:v00008086d0000B555sv0000E4BFsd00001000*
+ ID_MODEL_FROM_DATABASE=CC8-1-BLUES
+
+pci:v00008086d0000D130*
+ ID_MODEL_FROM_DATABASE=Core Processor DMI
+
+pci:v00008086d0000D131*
+ ID_MODEL_FROM_DATABASE=Core Processor DMI
+
+pci:v00008086d0000D131sv00001028sd000002DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 980
+
+pci:v00008086d0000D132*
+ ID_MODEL_FROM_DATABASE=Core Processor DMI
+
+pci:v00008086d0000D132sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d0000D133*
+ ID_MODEL_FROM_DATABASE=Core Processor DMI
+
+pci:v00008086d0000D134*
+ ID_MODEL_FROM_DATABASE=Core Processor DMI
+
+pci:v00008086d0000D135*
+ ID_MODEL_FROM_DATABASE=Core Processor DMI
+
+pci:v00008086d0000D136*
+ ID_MODEL_FROM_DATABASE=Core Processor DMI
+
+pci:v00008086d0000D137*
+ ID_MODEL_FROM_DATABASE=Core Processor DMI
+
+pci:v00008086d0000D138*
+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1
+
+pci:v00008086d0000D138sv00001028sd000002DA*
+ ID_MODEL_FROM_DATABASE=OptiPlex 980
+
+pci:v00008086d0000D138sv00001028sd0000040B*
+ ID_MODEL_FROM_DATABASE=Latitude E6510
+
+pci:v00008086d0000D139*
+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 2
+
+pci:v00008086d0000D13A*
+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 3
+
+pci:v00008086d0000D13B*
+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 4
+
+pci:v00008086d0000D150*
+ ID_MODEL_FROM_DATABASE=Core Processor QPI Link
+
+pci:v00008086d0000D151*
+ ID_MODEL_FROM_DATABASE=Core Processor QPI Routing and Protocol Registers
+
+pci:v00008086d0000D155*
+ ID_MODEL_FROM_DATABASE=Core Processor System Management Registers
+
+pci:v00008086d0000D156*
+ ID_MODEL_FROM_DATABASE=Core Processor Semaphore and Scratchpad Registers
+
+pci:v00008086d0000D157*
+ ID_MODEL_FROM_DATABASE=Core Processor System Control and Status Registers
+
+pci:v00008086d0000D158*
+ ID_MODEL_FROM_DATABASE=Core Processor Miscellaneous Registers
+
+pci:v000080EE*
+ ID_VENDOR_FROM_DATABASE=InnoTek Systemberatung GmbH
+
+pci:v000080EEd0000BEEF*
+ ID_MODEL_FROM_DATABASE=VirtualBox Graphics Adapter
+
+pci:v000080EEd0000CAFE*
+ ID_MODEL_FROM_DATABASE=VirtualBox Guest Service
+
+pci:v00008322*
+ ID_VENDOR_FROM_DATABASE=Sodick America Corp.
+
+pci:v00008384*
+ ID_VENDOR_FROM_DATABASE=SigmaTel
+
+pci:v00008401*
+ ID_VENDOR_FROM_DATABASE=TRENDware International Inc.
+
+pci:v00008686*
+ ID_VENDOR_FROM_DATABASE=ScaleMP
+
+pci:v00008686d00001010*
+ ID_MODEL_FROM_DATABASE=vSMPowered system controller [vSMP CTL]
+
+pci:v00008800*
+ ID_VENDOR_FROM_DATABASE=Trigem Computer Inc.
+
+pci:v00008800d00002008*
+ ID_MODEL_FROM_DATABASE=Video assistent component
+
+pci:v00008866*
+ ID_VENDOR_FROM_DATABASE=T-Square Design Inc.
+
+pci:v00008888*
+ ID_VENDOR_FROM_DATABASE=Silicon Magic
+
+pci:v00008912*
+ ID_VENDOR_FROM_DATABASE=TRX
+
+pci:v00008C4A*
+ ID_VENDOR_FROM_DATABASE=Winbond
+
+pci:v00008C4Ad00001980*
+ ID_MODEL_FROM_DATABASE=W89C940 misprogrammed [ne2k]
+
+pci:v00008E0E*
+ ID_VENDOR_FROM_DATABASE=Computone Corporation
+
+pci:v00008E2E*
+ ID_VENDOR_FROM_DATABASE=KTI
+
+pci:v00008E2Ed00003000*
+ ID_MODEL_FROM_DATABASE=ET32P2
+
+pci:v00009004*
+ ID_VENDOR_FROM_DATABASE=Adaptec
+
+pci:v00009004d00000078*
+ ID_MODEL_FROM_DATABASE=AHA-2940U_CN
+
+pci:v00009004d00001078*
+ ID_MODEL_FROM_DATABASE=AIC-7810
+
+pci:v00009004d00001160*
+ ID_MODEL_FROM_DATABASE=AIC-1160 [Family Fibre Channel Adapter]
+
+pci:v00009004d00002178*
+ ID_MODEL_FROM_DATABASE=AIC-7821
+
+pci:v00009004d00003860*
+ ID_MODEL_FROM_DATABASE=AHA-2930CU
+
+pci:v00009004d00003B78*
+ ID_MODEL_FROM_DATABASE=AHA-4844W/4844UW
+
+pci:v00009004d00005075*
+ ID_MODEL_FROM_DATABASE=AIC-755x
+
+pci:v00009004d00005078*
+ ID_MODEL_FROM_DATABASE=AIC-7850
+
+pci:v00009004d00005078sv00009004sd00007850*
+ ID_MODEL_FROM_DATABASE=AHA-2904/Integrated AIC-7850
+
+pci:v00009004d00005175*
+ ID_MODEL_FROM_DATABASE=AIC-755x
+
+pci:v00009004d00005178*
+ ID_MODEL_FROM_DATABASE=AIC-7851
+
+pci:v00009004d00005275*
+ ID_MODEL_FROM_DATABASE=AIC-755x
+
+pci:v00009004d00005278*
+ ID_MODEL_FROM_DATABASE=AIC-7852
+
+pci:v00009004d00005375*
+ ID_MODEL_FROM_DATABASE=AIC-755x
+
+pci:v00009004d00005378*
+ ID_MODEL_FROM_DATABASE=AIC-7850
+
+pci:v00009004d00005475*
+ ID_MODEL_FROM_DATABASE=AIC-755x
+
+pci:v00009004d00005478*
+ ID_MODEL_FROM_DATABASE=AIC-7850
+
+pci:v00009004d00005575*
+ ID_MODEL_FROM_DATABASE=AVA-2930
+
+pci:v00009004d00005578*
+ ID_MODEL_FROM_DATABASE=AIC-7855
+
+pci:v00009004d00005647*
+ ID_MODEL_FROM_DATABASE=ANA-7711 TCP Offload Engine
+
+pci:v00009004d00005647sv00009004sd00007710*
+ ID_MODEL_FROM_DATABASE=ANA-7711F TCP Offload Engine - Optical
+
+pci:v00009004d00005647sv00009004sd00007711*
+ ID_MODEL_FROM_DATABASE=ANA-7711LP TCP Offload Engine - Copper
+
+pci:v00009004d00005675*
+ ID_MODEL_FROM_DATABASE=AIC-755x
+
+pci:v00009004d00005678*
+ ID_MODEL_FROM_DATABASE=AIC-7856
+
+pci:v00009004d00005775*
+ ID_MODEL_FROM_DATABASE=AIC-755x
+
+pci:v00009004d00005778*
+ ID_MODEL_FROM_DATABASE=AIC-7850
+
+pci:v00009004d00005800*
+ ID_MODEL_FROM_DATABASE=AIC-5800
+
+pci:v00009004d00005900*
+ ID_MODEL_FROM_DATABASE=ANA-5910/5930/5940 ATM155 & 25 LAN Adapter
+
+pci:v00009004d00005905*
+ ID_MODEL_FROM_DATABASE=ANA-5910A/5930A/5940A ATM Adapter
+
+pci:v00009004d00006038*
+ ID_MODEL_FROM_DATABASE=AIC-3860
+
+pci:v00009004d00006075*
+ ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480
+
+pci:v00009004d00006075sv00009004sd00007560*
+ ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480 Cardbus
+
+pci:v00009004d00006078*
+ ID_MODEL_FROM_DATABASE=AIC-7860
+
+pci:v00009004d00006178*
+ ID_MODEL_FROM_DATABASE=AIC-7861
+
+pci:v00009004d00006178sv00009004sd00007861*
+ ID_MODEL_FROM_DATABASE=AHA-2940AU Single
+
+pci:v00009004d00006278*
+ ID_MODEL_FROM_DATABASE=AIC-7860
+
+pci:v00009004d00006378*
+ ID_MODEL_FROM_DATABASE=AIC-7860
+
+pci:v00009004d00006478*
+ ID_MODEL_FROM_DATABASE=AIC-786x
+
+pci:v00009004d00006578*
+ ID_MODEL_FROM_DATABASE=AIC-786x
+
+pci:v00009004d00006678*
+ ID_MODEL_FROM_DATABASE=AIC-786x
+
+pci:v00009004d00006778*
+ ID_MODEL_FROM_DATABASE=AIC-786x
+
+pci:v00009004d00006915*
+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A
+
+pci:v00009004d00006915sv00009004sd00000008*
+ ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100
+
+pci:v00009004d00006915sv00009004sd00000009*
+ ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100
+
+pci:v00009004d00006915sv00009004sd00000010*
+ ID_MODEL_FROM_DATABASE=ANA62022 2-port 10/100
+
+pci:v00009004d00006915sv00009004sd00000018*
+ ID_MODEL_FROM_DATABASE=ANA62044 4-port 10/100
+
+pci:v00009004d00006915sv00009004sd00000019*
+ ID_MODEL_FROM_DATABASE=ANA62044 4-port 10/100
+
+pci:v00009004d00006915sv00009004sd00000020*
+ ID_MODEL_FROM_DATABASE=ANA62022 2-port 10/100
+
+pci:v00009004d00006915sv00009004sd00000028*
+ ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100
+
+pci:v00009004d00006915sv00009004sd00008008*
+ ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100
+
+pci:v00009004d00006915sv00009004sd00008009*
+ ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100
+
+pci:v00009004d00006915sv00009004sd00008010*
+ ID_MODEL_FROM_DATABASE=ANA62022 2-port 64 bit 10/100
+
+pci:v00009004d00006915sv00009004sd00008018*
+ ID_MODEL_FROM_DATABASE=ANA62044 4-port 64 bit 10/100
+
+pci:v00009004d00006915sv00009004sd00008019*
+ ID_MODEL_FROM_DATABASE=ANA62044 4-port 64 bit 10/100
+
+pci:v00009004d00006915sv00009004sd00008020*
+ ID_MODEL_FROM_DATABASE=ANA62022 2-port 64 bit 10/100
+
+pci:v00009004d00006915sv00009004sd00008028*
+ ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100
+
+pci:v00009004d00007078*
+ ID_MODEL_FROM_DATABASE=AHA-294x / AIC-7870
+
+pci:v00009004d00007178*
+ ID_MODEL_FROM_DATABASE=AHA-2940/2940W / AIC-7871
+
+pci:v00009004d00007278*
+ ID_MODEL_FROM_DATABASE=AHA-3940/3940W / AIC-7872
+
+pci:v00009004d00007378*
+ ID_MODEL_FROM_DATABASE=AHA-3985 / AIC-7873
+
+pci:v00009004d00007478*
+ ID_MODEL_FROM_DATABASE=AHA-2944/2944W / AIC-7874
+
+pci:v00009004d00007578*
+ ID_MODEL_FROM_DATABASE=AHA-3944/3944W / AIC-7875
+
+pci:v00009004d00007678*
+ ID_MODEL_FROM_DATABASE=AHA-4944W/UW / AIC-7876
+
+pci:v00009004d00007710*
+ ID_MODEL_FROM_DATABASE=ANA-7711F Network Accelerator Card (NAC) - Optical
+
+pci:v00009004d00007711*
+ ID_MODEL_FROM_DATABASE=ANA-7711C Network Accelerator Card (NAC) - Copper
+
+pci:v00009004d00007778*
+ ID_MODEL_FROM_DATABASE=AIC-787x
+
+pci:v00009004d00007810*
+ ID_MODEL_FROM_DATABASE=AIC-7810
+
+pci:v00009004d00007815*
+ ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC
+
+pci:v00009004d00007815sv00009004sd00007815*
+ ID_MODEL_FROM_DATABASE=ARO-1130U2 RAID Controller
+
+pci:v00009004d00007815sv00009004sd00007840*
+ ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC
+
+pci:v00009004d00007850*
+ ID_MODEL_FROM_DATABASE=AIC-7850
+
+pci:v00009004d00007855*
+ ID_MODEL_FROM_DATABASE=AHA-2930
+
+pci:v00009004d00007860*
+ ID_MODEL_FROM_DATABASE=AIC-7860
+
+pci:v00009004d00007870*
+ ID_MODEL_FROM_DATABASE=AIC-7870
+
+pci:v00009004d00007871*
+ ID_MODEL_FROM_DATABASE=AHA-2940
+
+pci:v00009004d00007872*
+ ID_MODEL_FROM_DATABASE=AHA-3940
+
+pci:v00009004d00007873*
+ ID_MODEL_FROM_DATABASE=AHA-3980
+
+pci:v00009004d00007874*
+ ID_MODEL_FROM_DATABASE=AHA-2944
+
+pci:v00009004d00007880*
+ ID_MODEL_FROM_DATABASE=AIC-7880P
+
+pci:v00009004d00007890*
+ ID_MODEL_FROM_DATABASE=AIC-7890
+
+pci:v00009004d00007891*
+ ID_MODEL_FROM_DATABASE=AIC-789x
+
+pci:v00009004d00007892*
+ ID_MODEL_FROM_DATABASE=AIC-789x
+
+pci:v00009004d00007893*
+ ID_MODEL_FROM_DATABASE=AIC-789x
+
+pci:v00009004d00007894*
+ ID_MODEL_FROM_DATABASE=AIC-789x
+
+pci:v00009004d00007895*
+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895
+
+pci:v00009004d00007895sv00009004sd00007890*
+ ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B
+
+pci:v00009004d00007895sv00009004sd00007891*
+ ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual
+
+pci:v00009004d00007895sv00009004sd00007892*
+ ID_MODEL_FROM_DATABASE=AHA-3940AU/AUW/AUWD/UWD
+
+pci:v00009004d00007895sv00009004sd00007894*
+ ID_MODEL_FROM_DATABASE=AHA-3944AUWD
+
+pci:v00009004d00007895sv00009004sd00007895*
+ ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B
+
+pci:v00009004d00007895sv00009004sd00007896*
+ ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B
+
+pci:v00009004d00007895sv00009004sd00007897*
+ ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B
+
+pci:v00009004d00007896*
+ ID_MODEL_FROM_DATABASE=AIC-789x
+
+pci:v00009004d00007897*
+ ID_MODEL_FROM_DATABASE=AIC-789x
+
+pci:v00009004d00008078*
+ ID_MODEL_FROM_DATABASE=AIC-7880U
+
+pci:v00009004d00008078sv00009004sd00007880*
+ ID_MODEL_FROM_DATABASE=AIC-7880P Ultra/Ultra Wide SCSI Chipset
+
+pci:v00009004d00008178*
+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW/D / AIC-7881U
+
+pci:v00009004d00008178sv00009004sd00007881*
+ ID_MODEL_FROM_DATABASE=AHA-2940UW SCSI Host Adapter
+
+pci:v00009004d00008278*
+ ID_MODEL_FROM_DATABASE=AHA-3940U/UW/UWD / AIC-7882U
+
+pci:v00009004d00008378*
+ ID_MODEL_FROM_DATABASE=AHA-3940U/UW / AIC-7883U
+
+pci:v00009004d00008478*
+ ID_MODEL_FROM_DATABASE=AHA-2944UW / AIC-7884U
+
+pci:v00009004d00008578*
+ ID_MODEL_FROM_DATABASE=AHA-3944U/UWD / AIC-7885
+
+pci:v00009004d00008678*
+ ID_MODEL_FROM_DATABASE=AHA-4944UW / AIC-7886
+
+pci:v00009004d00008778*
+ ID_MODEL_FROM_DATABASE=AHA-2940UW Pro / AIC-788x
+
+pci:v00009004d00008778sv00009004sd00007887*
+ ID_MODEL_FROM_DATABASE=2940UW Pro Ultra-Wide SCSI Controller
+
+pci:v00009004d00008878*
+ ID_MODEL_FROM_DATABASE=AHA-2930UW / AIC-7888
+
+pci:v00009004d00008878sv00009004sd00007888*
+ ID_MODEL_FROM_DATABASE=AHA-2930UW SCSI Controller
+
+pci:v00009004d00008B78*
+ ID_MODEL_FROM_DATABASE=ABA-1030
+
+pci:v00009004d0000EC78*
+ ID_MODEL_FROM_DATABASE=AHA-4944W/UW
+
+pci:v00009005*
+ ID_VENDOR_FROM_DATABASE=Adaptec
+
+pci:v00009005d00000010*
+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W
+
+pci:v00009005d00000010sv00009005sd00002180*
+ ID_MODEL_FROM_DATABASE=AHA-2940U2 SCSI Controller
+
+pci:v00009005d00000010sv00009005sd00008100*
+ ID_MODEL_FROM_DATABASE=AHA-2940U2B SCSI Controller
+
+pci:v00009005d00000010sv00009005sd0000A100*
+ ID_MODEL_FROM_DATABASE=AHA-2940U2B SCSI Controller
+
+pci:v00009005d00000010sv00009005sd0000A180*
+ ID_MODEL_FROM_DATABASE=AHA-2940U2W SCSI Controller
+
+pci:v00009005d00000010sv00009005sd0000E100*
+ ID_MODEL_FROM_DATABASE=AHA-2950U2B SCSI Controller
+
+pci:v00009005d00000011*
+ ID_MODEL_FROM_DATABASE=AHA-2930U2
+
+pci:v00009005d00000013*
+ ID_MODEL_FROM_DATABASE=78902
+
+pci:v00009005d00000013sv00009005sd00000003*
+ ID_MODEL_FROM_DATABASE=AAA-131U2 Array1000 1 Channel RAID Controller
+
+pci:v00009005d00000013sv00009005sd0000000F*
+ ID_MODEL_FROM_DATABASE=AIC7890_ARO
+
+pci:v00009005d0000001F*
+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891
+
+pci:v00009005d0000001Fsv00009005sd0000000F*
+ ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller
+
+pci:v00009005d0000001Fsv00009005sd0000A180*
+ ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller
+
+pci:v00009005d00000020*
+ ID_MODEL_FROM_DATABASE=AIC-7890
+
+pci:v00009005d0000002F*
+ ID_MODEL_FROM_DATABASE=AIC-7890
+
+pci:v00009005d00000030*
+ ID_MODEL_FROM_DATABASE=AIC-7890
+
+pci:v00009005d0000003F*
+ ID_MODEL_FROM_DATABASE=AIC-7890
+
+pci:v00009005d00000050*
+ ID_MODEL_FROM_DATABASE=AHA-3940U2x/395U2x
+
+pci:v00009005d00000050sv00009005sd0000F500*
+ ID_MODEL_FROM_DATABASE=AHA-3950U2B
+
+pci:v00009005d00000050sv00009005sd0000FFFF*
+ ID_MODEL_FROM_DATABASE=AHA-3950U2B
+
+pci:v00009005d00000051*
+ ID_MODEL_FROM_DATABASE=AHA-3950U2D
+
+pci:v00009005d00000051sv00009005sd0000B500*
+ ID_MODEL_FROM_DATABASE=AHA-3950U2D
+
+pci:v00009005d00000053*
+ ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller
+
+pci:v00009005d00000053sv00009005sd0000FFFF*
+ ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller mainboard implementation
+
+pci:v00009005d0000005F*
+ ID_MODEL_FROM_DATABASE=AIC-7896U2/7897U2
+
+pci:v00009005d00000080*
+ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m
+
+pci:v00009005d00000080sv00000E11sd0000E2A0*
+ ID_MODEL_FROM_DATABASE=Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter
+
+pci:v00009005d00000080sv00009005sd00006220*
+ ID_MODEL_FROM_DATABASE=AHA-29160C
+
+pci:v00009005d00000080sv00009005sd000062A0*
+ ID_MODEL_FROM_DATABASE=29160N Ultra160 SCSI Controller
+
+pci:v00009005d00000080sv00009005sd0000E220*
+ ID_MODEL_FROM_DATABASE=29160LP Low Profile Ultra160 SCSI Controller
+
+pci:v00009005d00000080sv00009005sd0000E2A0*
+ ID_MODEL_FROM_DATABASE=29160 Ultra160 SCSI Controller
+
+pci:v00009005d00000081*
+ ID_MODEL_FROM_DATABASE=AIC-7892B U160/m
+
+pci:v00009005d00000081sv00009005sd000062A1*
+ ID_MODEL_FROM_DATABASE=19160 Ultra160 SCSI Controller
+
+pci:v00009005d00000083*
+ ID_MODEL_FROM_DATABASE=AIC-7892D U160/m
+
+pci:v00009005d0000008F*
+ ID_MODEL_FROM_DATABASE=AIC-7892P U160/m
+
+pci:v00009005d0000008Fsv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=Magnia Z310
+
+pci:v00009005d0000008Fsv000015D9sd00009005*
+ ID_MODEL_FROM_DATABASE=Onboard SCSI Host Adapter
+
+pci:v00009005d00000092*
+ ID_MODEL_FROM_DATABASE=AVC-2010 [VideoH!]
+
+pci:v00009005d00000093*
+ ID_MODEL_FROM_DATABASE=AVC-2410 [VideoH!]
+
+pci:v00009005d000000C0*
+ ID_MODEL_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m
+
+pci:v00009005d000000C0sv00000E11sd0000F620*
+ ID_MODEL_FROM_DATABASE=Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter
+
+pci:v00009005d000000C0sv00009005sd0000F620*
+ ID_MODEL_FROM_DATABASE=AHA-3960D U160/m
+
+pci:v00009005d000000C1*
+ ID_MODEL_FROM_DATABASE=AIC-7899B U160/m
+
+pci:v00009005d000000C3*
+ ID_MODEL_FROM_DATABASE=AIC-7899D U160/m
+
+pci:v00009005d000000C5*
+ ID_MODEL_FROM_DATABASE=RAID subsystem HBA
+
+pci:v00009005d000000C5sv00001028sd000000C5*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2400,2500,2550,4400
+
+pci:v00009005d000000CF*
+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m
+
+pci:v00009005d000000CFsv00001028sd000000CE*
+ ID_MODEL_FROM_DATABASE=PowerEdge 1400
+
+pci:v00009005d000000CFsv00001028sd000000D1*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2550
+
+pci:v00009005d000000CFsv00001028sd000000D9*
+ ID_MODEL_FROM_DATABASE=PowerEdge 2500
+
+pci:v00009005d000000CFsv000010F1sd00002462*
+ ID_MODEL_FROM_DATABASE=Thunder K7 S2462
+
+pci:v00009005d000000CFsv000015D9sd00009005*
+ ID_MODEL_FROM_DATABASE=Onboard SCSI Host Adapter
+
+pci:v00009005d000000CFsv00008086sd00003411*
+ ID_MODEL_FROM_DATABASE=SDS2 Mainboard
+
+pci:v00009005d00000241*
+ ID_MODEL_FROM_DATABASE=Serial ATA II RAID 1420SA
+
+pci:v00009005d00000242*
+ ID_MODEL_FROM_DATABASE=Serial ATA II RAID 1220SA
+
+pci:v00009005d00000243*
+ ID_MODEL_FROM_DATABASE=Serial ATA II RAID 1430SA
+
+pci:v00009005d00000244*
+ ID_MODEL_FROM_DATABASE=eSATA II RAID 1225SA
+
+pci:v00009005d00000250*
+ ID_MODEL_FROM_DATABASE=ServeRAID Controller
+
+pci:v00009005d00000250sv00001014sd00000279*
+ ID_MODEL_FROM_DATABASE=ServeRAID 6M
+
+pci:v00009005d00000250sv00001014sd0000028C*
+ ID_MODEL_FROM_DATABASE=ServeRAID 6i/6i+
+
+pci:v00009005d00000250sv00001014sd0000028E*
+ ID_MODEL_FROM_DATABASE=ServeRAID 7k
+
+pci:v00009005d00000279*
+ ID_MODEL_FROM_DATABASE=ServeRAID 6M
+
+pci:v00009005d00000283*
+ ID_MODEL_FROM_DATABASE=AAC-RAID
+
+pci:v00009005d00000283sv00009005sd00000283*
+ ID_MODEL_FROM_DATABASE=Catapult
+
+pci:v00009005d00000284*
+ ID_MODEL_FROM_DATABASE=AAC-RAID
+
+pci:v00009005d00000284sv00009005sd00000284*
+ ID_MODEL_FROM_DATABASE=Tomcat
+
+pci:v00009005d00000285*
+ ID_MODEL_FROM_DATABASE=AAC-RAID
+
+pci:v00009005d00000285sv00000E11sd00000295*
+ ID_MODEL_FROM_DATABASE=SATA 6Ch (Bearcat)
+
+pci:v00009005d00000285sv00001014sd000002F2*
+ ID_MODEL_FROM_DATABASE=ServeRAID 8i
+
+pci:v00009005d00000285sv00001028sd00000287*
+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 320/DC
+
+pci:v00009005d00000285sv00001028sd00000291*
+ ID_MODEL_FROM_DATABASE=CERC SATA RAID 2 PCI SATA 6ch (DellCorsair)
+
+pci:v00009005d00000285sv0000103Csd00003227*
+ ID_MODEL_FROM_DATABASE=AAR-2610SA
+
+pci:v00009005d00000285sv0000108Esd00000286*
+ ID_MODEL_FROM_DATABASE=STK RAID INT
+
+pci:v00009005d00000285sv0000108Esd00000287*
+ ID_MODEL_FROM_DATABASE=STK RAID EXT
+
+pci:v00009005d00000285sv0000108Esd00007AAC*
+ ID_MODEL_FROM_DATABASE=STK RAID REM
+
+pci:v00009005d00000285sv0000108Esd00007AAE*
+ ID_MODEL_FROM_DATABASE=STK RAID EX
+
+pci:v00009005d00000285sv000015D9sd000002B5*
+ ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S4i
+
+pci:v00009005d00000285sv000015D9sd000002B6*
+ ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8i
+
+pci:v00009005d00000285sv000015D9sd000002C9*
+ ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S4iR
+
+pci:v00009005d00000285sv000015D9sd000002CA*
+ ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8iR
+
+pci:v00009005d00000285sv000015D9sd000002D2*
+ ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8i-LP
+
+pci:v00009005d00000285sv000015D9sd000002D3*
+ ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8iR-LP
+
+pci:v00009005d00000285sv000017AAsd00000286*
+ ID_MODEL_FROM_DATABASE=Legend S220 (Legend Crusader)
+
+pci:v00009005d00000285sv000017AAsd00000287*
+ ID_MODEL_FROM_DATABASE=Legend S230 (Legend Vulcan)
+
+pci:v00009005d00000285sv00009005sd00000285*
+ ID_MODEL_FROM_DATABASE=2200S (Vulcan)
+
+pci:v00009005d00000285sv00009005sd00000286*
+ ID_MODEL_FROM_DATABASE=2120S (Crusader)
+
+pci:v00009005d00000285sv00009005sd00000287*
+ ID_MODEL_FROM_DATABASE=2200S (Vulcan-2m)
+
+pci:v00009005d00000285sv00009005sd00000288*
+ ID_MODEL_FROM_DATABASE=3230S (Harrier)
+
+pci:v00009005d00000285sv00009005sd00000289*
+ ID_MODEL_FROM_DATABASE=3240S (Tornado)
+
+pci:v00009005d00000285sv00009005sd0000028A*
+ ID_MODEL_FROM_DATABASE=ASR-2020ZCR
+
+pci:v00009005d00000285sv00009005sd0000028B*
+ ID_MODEL_FROM_DATABASE=ASR-2025ZCR (Terminator)
+
+pci:v00009005d00000285sv00009005sd0000028E*
+ ID_MODEL_FROM_DATABASE=ASR-2020SA (Skyhawk)
+
+pci:v00009005d00000285sv00009005sd0000028F*
+ ID_MODEL_FROM_DATABASE=ASR-2025SA
+
+pci:v00009005d00000285sv00009005sd00000290*
+ ID_MODEL_FROM_DATABASE=AAR-2410SA PCI SATA 4ch (Jaguar II)
+
+pci:v00009005d00000285sv00009005sd00000292*
+ ID_MODEL_FROM_DATABASE=AAR-2810SA PCI SATA 8ch (Corsair-8)
+
+pci:v00009005d00000285sv00009005sd00000293*
+ ID_MODEL_FROM_DATABASE=AAR-21610SA PCI SATA 16ch (Corsair-16)
+
+pci:v00009005d00000285sv00009005sd00000294*
+ ID_MODEL_FROM_DATABASE=ESD SO-DIMM PCI-X SATA ZCR (Prowler)
+
+pci:v00009005d00000285sv00009005sd00000296*
+ ID_MODEL_FROM_DATABASE=ASR-2240S
+
+pci:v00009005d00000285sv00009005sd00000297*
+ ID_MODEL_FROM_DATABASE=ASR-4005SAS
+
+pci:v00009005d00000285sv00009005sd00000298*
+ ID_MODEL_FROM_DATABASE=ASR-4000
+
+pci:v00009005d00000285sv00009005sd00000299*
+ ID_MODEL_FROM_DATABASE=ASR-4800SAS
+
+pci:v00009005d00000285sv00009005sd0000029A*
+ ID_MODEL_FROM_DATABASE=4805SAS
+
+pci:v00009005d00000285sv00009005sd000002A4*
+ ID_MODEL_FROM_DATABASE=ICP ICP9085LI
+
+pci:v00009005d00000285sv00009005sd000002A5*
+ ID_MODEL_FROM_DATABASE=ICP ICP5085BR
+
+pci:v00009005d00000285sv00009005sd000002B5*
+ ID_MODEL_FROM_DATABASE=ASR5800
+
+pci:v00009005d00000285sv00009005sd000002B6*
+ ID_MODEL_FROM_DATABASE=ASR5805
+
+pci:v00009005d00000285sv00009005sd000002B7*
+ ID_MODEL_FROM_DATABASE=ASR5808
+
+pci:v00009005d00000285sv00009005sd000002B8*
+ ID_MODEL_FROM_DATABASE=ICP5445SL
+
+pci:v00009005d00000285sv00009005sd000002B9*
+ ID_MODEL_FROM_DATABASE=ICP5085SL
+
+pci:v00009005d00000285sv00009005sd000002BA*
+ ID_MODEL_FROM_DATABASE=ICP5805SL
+
+pci:v00009005d00000285sv00009005sd000002BB*
+ ID_MODEL_FROM_DATABASE=3405
+
+pci:v00009005d00000285sv00009005sd000002BC*
+ ID_MODEL_FROM_DATABASE=3805
+
+pci:v00009005d00000285sv00009005sd000002BD*
+ ID_MODEL_FROM_DATABASE=31205
+
+pci:v00009005d00000285sv00009005sd000002BE*
+ ID_MODEL_FROM_DATABASE=31605
+
+pci:v00009005d00000285sv00009005sd000002BF*
+ ID_MODEL_FROM_DATABASE=ICP ICP5045BL
+
+pci:v00009005d00000285sv00009005sd000002C0*
+ ID_MODEL_FROM_DATABASE=ICP ICP5085BL
+
+pci:v00009005d00000285sv00009005sd000002C1*
+ ID_MODEL_FROM_DATABASE=ICP ICP5125BR
+
+pci:v00009005d00000285sv00009005sd000002C2*
+ ID_MODEL_FROM_DATABASE=ICP ICP5165BR
+
+pci:v00009005d00000285sv00009005sd000002C3*
+ ID_MODEL_FROM_DATABASE=51205
+
+pci:v00009005d00000285sv00009005sd000002C4*
+ ID_MODEL_FROM_DATABASE=51605
+
+pci:v00009005d00000285sv00009005sd000002C5*
+ ID_MODEL_FROM_DATABASE=ICP ICP5125SL
+
+pci:v00009005d00000285sv00009005sd000002C6*
+ ID_MODEL_FROM_DATABASE=ICP ICP5165SL
+
+pci:v00009005d00000285sv00009005sd000002C7*
+ ID_MODEL_FROM_DATABASE=3085
+
+pci:v00009005d00000285sv00009005sd000002C8*
+ ID_MODEL_FROM_DATABASE=ICP5805BL
+
+pci:v00009005d00000285sv00009005sd000002CE*
+ ID_MODEL_FROM_DATABASE=51245
+
+pci:v00009005d00000285sv00009005sd000002CF*
+ ID_MODEL_FROM_DATABASE=51645
+
+pci:v00009005d00000285sv00009005sd000002D0*
+ ID_MODEL_FROM_DATABASE=52445
+
+pci:v00009005d00000285sv00009005sd000002D1*
+ ID_MODEL_FROM_DATABASE=5405
+
+pci:v00009005d00000285sv00009005sd000002D4*
+ ID_MODEL_FROM_DATABASE=ASR-2045
+
+pci:v00009005d00000285sv00009005sd000002D5*
+ ID_MODEL_FROM_DATABASE=ASR-2405
+
+pci:v00009005d00000285sv00009005sd000002D6*
+ ID_MODEL_FROM_DATABASE=ASR-2445
+
+pci:v00009005d00000285sv00009005sd000002D7*
+ ID_MODEL_FROM_DATABASE=ASR-2805
+
+pci:v00009005d00000285sv00009005sd000002D8*
+ ID_MODEL_FROM_DATABASE=5405G
+
+pci:v00009005d00000285sv00009005sd000002D9*
+ ID_MODEL_FROM_DATABASE=5445G
+
+pci:v00009005d00000285sv00009005sd000002DA*
+ ID_MODEL_FROM_DATABASE=5805G
+
+pci:v00009005d00000285sv00009005sd000002DB*
+ ID_MODEL_FROM_DATABASE=5085G
+
+pci:v00009005d00000285sv00009005sd000002DC*
+ ID_MODEL_FROM_DATABASE=51245G
+
+pci:v00009005d00000285sv00009005sd000002DD*
+ ID_MODEL_FROM_DATABASE=51645G
+
+pci:v00009005d00000285sv00009005sd000002DE*
+ ID_MODEL_FROM_DATABASE=52445G
+
+pci:v00009005d00000285sv00009005sd000002DF*
+ ID_MODEL_FROM_DATABASE=ASR-2045G
+
+pci:v00009005d00000285sv00009005sd000002E0*
+ ID_MODEL_FROM_DATABASE=ASR-2405G
+
+pci:v00009005d00000285sv00009005sd000002E1*
+ ID_MODEL_FROM_DATABASE=ASR-2445G
+
+pci:v00009005d00000285sv00009005sd000002E2*
+ ID_MODEL_FROM_DATABASE=ASR-2805G
+
+pci:v00009005d00000286*
+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket)
+
+pci:v00009005d00000286sv00001014sd0000034D*
+ ID_MODEL_FROM_DATABASE=8s
+
+pci:v00009005d00000286sv00001014sd00009540*
+ ID_MODEL_FROM_DATABASE=ServeRAID 8k/8k-l4
+
+pci:v00009005d00000286sv00001014sd00009580*
+ ID_MODEL_FROM_DATABASE=ServeRAID 8k/8k-l8
+
+pci:v00009005d00000286sv00009005sd0000028C*
+ ID_MODEL_FROM_DATABASE=ASR-2230S + ASR-2230SLP PCI-X (Lancer)
+
+pci:v00009005d00000286sv00009005sd0000028D*
+ ID_MODEL_FROM_DATABASE=ASR-2130S
+
+pci:v00009005d00000286sv00009005sd0000029B*
+ ID_MODEL_FROM_DATABASE=ASR-2820SA
+
+pci:v00009005d00000286sv00009005sd0000029C*
+ ID_MODEL_FROM_DATABASE=ASR-2620SA
+
+pci:v00009005d00000286sv00009005sd0000029D*
+ ID_MODEL_FROM_DATABASE=ASR-2420SA
+
+pci:v00009005d00000286sv00009005sd0000029E*
+ ID_MODEL_FROM_DATABASE=ICP ICP9024R0
+
+pci:v00009005d00000286sv00009005sd0000029F*
+ ID_MODEL_FROM_DATABASE=ICP ICP9014R0
+
+pci:v00009005d00000286sv00009005sd000002A0*
+ ID_MODEL_FROM_DATABASE=ICP ICP9047MA
+
+pci:v00009005d00000286sv00009005sd000002A1*
+ ID_MODEL_FROM_DATABASE=ICP ICP9087MA
+
+pci:v00009005d00000286sv00009005sd000002A2*
+ ID_MODEL_FROM_DATABASE=3800
+
+pci:v00009005d00000286sv00009005sd000002A3*
+ ID_MODEL_FROM_DATABASE=ICP ICP5445AU
+
+pci:v00009005d00000286sv00009005sd000002A4*
+ ID_MODEL_FROM_DATABASE=ICP ICP9085LI
+
+pci:v00009005d00000286sv00009005sd000002A5*
+ ID_MODEL_FROM_DATABASE=ICP ICP5085BR
+
+pci:v00009005d00000286sv00009005sd000002A6*
+ ID_MODEL_FROM_DATABASE=ICP9067MA
+
+pci:v00009005d00000286sv00009005sd000002A7*
+ ID_MODEL_FROM_DATABASE=3805
+
+pci:v00009005d00000286sv00009005sd000002A8*
+ ID_MODEL_FROM_DATABASE=3400
+
+pci:v00009005d00000286sv00009005sd000002A9*
+ ID_MODEL_FROM_DATABASE=ICP ICP5085AU
+
+pci:v00009005d00000286sv00009005sd000002AA*
+ ID_MODEL_FROM_DATABASE=ICP ICP5045AU
+
+pci:v00009005d00000286sv00009005sd000002AC*
+ ID_MODEL_FROM_DATABASE=1800
+
+pci:v00009005d00000286sv00009005sd000002B3*
+ ID_MODEL_FROM_DATABASE=2400
+
+pci:v00009005d00000286sv00009005sd000002B4*
+ ID_MODEL_FROM_DATABASE=ICP ICP5045AL
+
+pci:v00009005d00000286sv00009005sd00000800*
+ ID_MODEL_FROM_DATABASE=Callisto
+
+pci:v00009005d0000028B*
+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2
+
+pci:v00009005d0000028Bsv00009005sd00000200*
+ ID_MODEL_FROM_DATABASE=Series 6 Entry Level - ASR-6405E - 4 internal 6G SAS ports
+
+pci:v00009005d0000028Bsv00009005sd00000201*
+ ID_MODEL_FROM_DATABASE=Series 6 Entry Level - ASR-6805E - 8 internal 6G SAS ports
+
+pci:v00009005d0000028Bsv00009005sd00000300*
+ ID_MODEL_FROM_DATABASE=Series 6 - ASR-6405 - 4 internal 6G SAS ports
+
+pci:v00009005d0000028Bsv00009005sd00000301*
+ ID_MODEL_FROM_DATABASE=Series 6 - ASR-6805 - 8 internal 6G SAS ports
+
+pci:v00009005d0000028Bsv00009005sd00000302*
+ ID_MODEL_FROM_DATABASE=Series 6 - ASR-6445 - 4 internal and 4 external 6G SAS ports
+
+pci:v00009005d0000028Bsv00009005sd00000310*
+ ID_MODEL_FROM_DATABASE=Series 6 Connectors on Top - ASR-6405T - 4 internal 6G SAS ports
+
+pci:v00009005d0000028Bsv00009005sd00000311*
+ ID_MODEL_FROM_DATABASE=Series 6 Connectors on Top - ASR-6805T - 8 internal 6G SAS
+
+pci:v00009005d0000028Bsv00009005sd00000400*
+ ID_MODEL_FROM_DATABASE=Series 6 - ASR-61205 - 12 internal 6G SAS ports
+
+pci:v00009005d0000028Bsv00009005sd00000401*
+ ID_MODEL_FROM_DATABASE=Series 6 - ASR-61605 - 16 internal 6G SAS ports
+
+pci:v00009005d0000028Bsv00009005sd00000403*
+ ID_MODEL_FROM_DATABASE=Series 6 - ASR-62405 - 24 internal 6G SAS ports
+
+pci:v00009005d0000028C*
+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3
+
+pci:v00009005d0000028Csv00009005sd00000500*
+ ID_MODEL_FROM_DATABASE=Series 7 - ASR-7805 - 8 internal 6G SAS Port/PCIe 3.0
+
+pci:v00009005d0000028Csv00009005sd00000501*
+ ID_MODEL_FROM_DATABASE=Series 7 - ASR-71605 - 16 internal 6G SAS Port/PCIe 3.0
+
+pci:v00009005d0000028Csv00009005sd00000502*
+ ID_MODEL_FROM_DATABASE=Series 7 - ASR-71685 - 16 internal 8 external 6G SAS Port/PCIe 3.0
+
+pci:v00009005d0000028Csv00009005sd00000503*
+ ID_MODEL_FROM_DATABASE=Series 7 - ASR-72405 - 24 internal 0 external 6G SAS Port/PCIe 3.0
+
+pci:v00009005d0000028Csv00009005sd00000504*
+ ID_MODEL_FROM_DATABASE=Series 7 - ASR-7885 - 8 internal 8 external 6G SAS Port/PCIe 3.0
+
+pci:v00009005d0000028Csv00009005sd00000505*
+ ID_MODEL_FROM_DATABASE=Series 7 Entry Level - ASR-71685E - 16 internal 8 external 6G SAS Port/PCIe 3.0
+
+pci:v00009005d0000028Csv00009005sd00000506*
+ ID_MODEL_FROM_DATABASE=Series 7 Entry Level - ASR-72405E - 24 internal 0 external 6G SAS Port/PCIe 3.0
+
+pci:v00009005d0000028D*
+ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3
+
+pci:v00009005d0000028Dsv00009005sd00000550*
+ ID_MODEL_FROM_DATABASE=Series 8 - ASR-82405 - 24 internal 0 external 12G SAS Port/PCIe 3.0
+
+pci:v00009005d0000028Dsv00009005sd00000551*
+ ID_MODEL_FROM_DATABASE=Series 8 - ASR-81605 - 16 internal 0 external 12G SAS Port/PCIe 3.0
+
+pci:v00009005d0000028Dsv00009005sd00000552*
+ ID_MODEL_FROM_DATABASE=Series 8 - ASR-8805 - 8 internal 0 external 12G SAS Port/PCIe 3.0
+
+pci:v00009005d0000028Dsv00009005sd00000553*
+ ID_MODEL_FROM_DATABASE=Series 8 - ASR-8085 - 0 internal 8 external 12G SAS Port/PCIe 3.0
+
+pci:v00009005d0000028Dsv00009005sd00000554*
+ ID_MODEL_FROM_DATABASE=Series 8 - ASR-8885 - 8 internal 8 external 12G SAS Port/PCIe 3.0
+
+pci:v00009005d00000410*
+ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID)
+
+pci:v00009005d00000410sv00009005sd00000410*
+ ID_MODEL_FROM_DATABASE=ASC-48300(Spirit RAID)
+
+pci:v00009005d00000410sv00009005sd00000411*
+ ID_MODEL_FROM_DATABASE=ASC-58300 (Oakmont RAID)
+
+pci:v00009005d00000412*
+ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID)
+
+pci:v00009005d00000412sv00009005sd00000412*
+ ID_MODEL_FROM_DATABASE=ASC-48300 (Spirit non-RAID)
+
+pci:v00009005d00000412sv00009005sd00000413*
+ ID_MODEL_FROM_DATABASE=ASC-58300 (Oakmont non-RAID)
+
+pci:v00009005d00000415*
+ ID_MODEL_FROM_DATABASE=ASC-58300 SAS (Razor-External HBA RAID)
+
+pci:v00009005d00000416*
+ ID_MODEL_FROM_DATABASE=ASC-58300 SAS (Razor-External HBA non-RAID)
+
+pci:v00009005d0000041E*
+ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor ASIC non-RAID)
+
+pci:v00009005d0000041F*
+ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor ASIC RAID)
+
+pci:v00009005d0000041Fsv00009005sd0000041F*
+ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor ASIC RAID)
+
+pci:v00009005d0000042F*
+ ID_MODEL_FROM_DATABASE=VSC7250/7251 SAS (Aurora ASIC non-RAID)
+
+pci:v00009005d00000430*
+ ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA RAID)
+
+pci:v00009005d00000430sv00009005sd00000430*
+ ID_MODEL_FROM_DATABASE=ASC-44300 (Spirit-Lite RAID)
+
+pci:v00009005d00000432*
+ ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA non-RAID)
+
+pci:v00009005d00000432sv00009005sd00000432*
+ ID_MODEL_FROM_DATABASE=ASC-44300 (Spirit-Lite non-RAID)
+
+pci:v00009005d0000043E*
+ ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite ASIC non-RAID)
+
+pci:v00009005d0000043F*
+ ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite ASIC RAID)
+
+pci:v00009005d00000450*
+ ID_MODEL_FROM_DATABASE=ASC-1405 Unified Serial HBA
+
+pci:v00009005d00000500*
+ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller
+
+pci:v00009005d00000500sv00001014sd000002C1*
+ ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS Adapter (572A/572C)
+
+pci:v00009005d00000500sv00001014sd000002C2*
+ ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572B/572D)
+
+pci:v00009005d00000503*
+ ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller
+
+pci:v00009005d00000503sv00001014sd000002BF*
+ ID_MODEL_FROM_DATABASE=Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E)
+
+pci:v00009005d00000503sv00001014sd000002C3*
+ ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572F)
+
+pci:v00009005d00000503sv00001014sd000002D5*
+ ID_MODEL_FROM_DATABASE=Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F)
+
+pci:v00009005d00000910*
+ ID_MODEL_FROM_DATABASE=AUA-3100B
+
+pci:v00009005d0000091E*
+ ID_MODEL_FROM_DATABASE=AUA-3100B
+
+pci:v00009005d00008000*
+ ID_MODEL_FROM_DATABASE=ASC-29320A U320
+
+pci:v00009005d0000800F*
+ ID_MODEL_FROM_DATABASE=AIC-7901 U320
+
+pci:v00009005d00008010*
+ ID_MODEL_FROM_DATABASE=ASC-39320 U320
+
+pci:v00009005d00008011*
+ ID_MODEL_FROM_DATABASE=ASC-39320D
+
+pci:v00009005d00008011sv00000E11sd000000AC*
+ ID_MODEL_FROM_DATABASE=ASC-39320D U320
+
+pci:v00009005d00008011sv00009005sd00000041*
+ ID_MODEL_FROM_DATABASE=ASC-39320D U320
+
+pci:v00009005d00008012*
+ ID_MODEL_FROM_DATABASE=ASC-29320 U320
+
+pci:v00009005d00008013*
+ ID_MODEL_FROM_DATABASE=ASC-29320B U320
+
+pci:v00009005d00008014*
+ ID_MODEL_FROM_DATABASE=ASC-29320LP U320
+
+pci:v00009005d00008015*
+ ID_MODEL_FROM_DATABASE=ASC-39320B U320
+
+pci:v00009005d00008016*
+ ID_MODEL_FROM_DATABASE=ASC-39320A U320
+
+pci:v00009005d00008017*
+ ID_MODEL_FROM_DATABASE=ASC-29320ALP U320
+
+pci:v00009005d00008017sv00009005sd00000044*
+ ID_MODEL_FROM_DATABASE=ASC-29320ALP PCIx U320
+
+pci:v00009005d00008017sv00009005sd00000045*
+ ID_MODEL_FROM_DATABASE=ASC-29320LPE PCIe U320
+
+pci:v00009005d0000801C*
+ ID_MODEL_FROM_DATABASE=ASC-39320D U320
+
+pci:v00009005d0000801D*
+ ID_MODEL_FROM_DATABASE=AIC-7902B U320
+
+pci:v00009005d0000801Dsv00001014sd000002CC*
+ ID_MODEL_FROM_DATABASE=ServeRAID 7e
+
+pci:v00009005d0000801E*
+ ID_MODEL_FROM_DATABASE=AIC-7901A U320
+
+pci:v00009005d0000801F*
+ ID_MODEL_FROM_DATABASE=AIC-7902 U320
+
+pci:v00009005d0000801Fsv00001734sd00001011*
+ ID_MODEL_FROM_DATABASE=PRIMERGY RX300 onboard SCSI
+
+pci:v00009005d00008080*
+ ID_MODEL_FROM_DATABASE=ASC-29320A U320 w/HostRAID
+
+pci:v00009005d00008081*
+ ID_MODEL_FROM_DATABASE=PMC-Sierra PM8001 SAS HBA [Series 6H]
+
+pci:v00009005d00008088*
+ ID_MODEL_FROM_DATABASE=PMC-Sierra PM8018 SAS HBA [Series 7H]
+
+pci:v00009005d00008089*
+ ID_MODEL_FROM_DATABASE=PMC-Sierra PM8019 SAS encryption HBA [Series 7He]
+
+pci:v00009005d0000808F*
+ ID_MODEL_FROM_DATABASE=AIC-7901 U320 w/HostRAID
+
+pci:v00009005d00008090*
+ ID_MODEL_FROM_DATABASE=ASC-39320 U320 w/HostRAID
+
+pci:v00009005d00008091*
+ ID_MODEL_FROM_DATABASE=ASC-39320D U320 w/HostRAID
+
+pci:v00009005d00008092*
+ ID_MODEL_FROM_DATABASE=ASC-29320 U320 w/HostRAID
+
+pci:v00009005d00008093*
+ ID_MODEL_FROM_DATABASE=ASC-29320B U320 w/HostRAID
+
+pci:v00009005d00008094*
+ ID_MODEL_FROM_DATABASE=ASC-29320LP U320 w/HostRAID
+
+pci:v00009005d00008095*
+ ID_MODEL_FROM_DATABASE=ASC-39320(B) U320 w/HostRAID
+
+pci:v00009005d00008096*
+ ID_MODEL_FROM_DATABASE=ASC-39320A U320 w/HostRAID
+
+pci:v00009005d00008097*
+ ID_MODEL_FROM_DATABASE=ASC-29320ALP U320 w/HostRAID
+
+pci:v00009005d0000809C*
+ ID_MODEL_FROM_DATABASE=ASC-39320D(B) U320 w/HostRAID
+
+pci:v00009005d0000809D*
+ ID_MODEL_FROM_DATABASE=AIC-7902(B) U320 w/HostRAID
+
+pci:v00009005d0000809Dsv00001014sd000002CC*
+ ID_MODEL_FROM_DATABASE=ServeRAID 7e
+
+pci:v00009005d0000809E*
+ ID_MODEL_FROM_DATABASE=AIC-7901A U320 w/HostRAID
+
+pci:v00009005d0000809F*
+ ID_MODEL_FROM_DATABASE=AIC-7902 U320 w/HostRAID
+
+pci:v0000907F*
+ ID_VENDOR_FROM_DATABASE=Atronics
+
+pci:v0000907Fd00002015*
+ ID_MODEL_FROM_DATABASE=IDE-2015PL
+
+pci:v0000919A*
+ ID_VENDOR_FROM_DATABASE=Gigapixel Corp
+
+pci:v00009412*
+ ID_VENDOR_FROM_DATABASE=Holtek
+
+pci:v00009412d00006565*
+ ID_MODEL_FROM_DATABASE=6565
+
+pci:v00009618*
+ ID_VENDOR_FROM_DATABASE=JusonTech Corporation
+
+pci:v00009618d00000001*
+ ID_MODEL_FROM_DATABASE=JusonTech Gigabit Ethernet Controller
+
+pci:v00009699*
+ ID_VENDOR_FROM_DATABASE=Omni Media Technology Inc
+
+pci:v00009699d00006565*
+ ID_MODEL_FROM_DATABASE=6565
+
+pci:v00009710*
+ ID_VENDOR_FROM_DATABASE=MosChip Semiconductor Technology Ltd.
+
+pci:v00009710d00009250*
+ ID_MODEL_FROM_DATABASE=PCI-to-PCI bridge [MCS9250]
+
+pci:v00009710d00009805*
+ ID_MODEL_FROM_DATABASE=PCI 1 port parallel adapter
+
+pci:v00009710d00009815*
+ ID_MODEL_FROM_DATABASE=PCI 9815 Multi-I/O Controller
+
+pci:v00009710d00009815sv00001000sd00000020*
+ ID_MODEL_FROM_DATABASE=2P0S (2 port parallel adaptor)
+
+pci:v00009710d00009820*
+ ID_MODEL_FROM_DATABASE=PCI 9820 Multi-I/O Controller
+
+pci:v00009710d00009835*
+ ID_MODEL_FROM_DATABASE=PCI 9835 Multi-I/O Controller
+
+pci:v00009710d00009835sv00001000sd00000002*
+ ID_MODEL_FROM_DATABASE=2S (16C550 UART)
+
+pci:v00009710d00009835sv00001000sd00000012*
+ ID_MODEL_FROM_DATABASE=1P2S
+
+pci:v00009710d00009845*
+ ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller
+
+pci:v00009710d00009845sv00001000sd00000004*
+ ID_MODEL_FROM_DATABASE=0P4S (4 port 16550A serial card)
+
+pci:v00009710d00009845sv00001000sd00000006*
+ ID_MODEL_FROM_DATABASE=0P6S (6 port 16550a serial card)
+
+pci:v00009710d00009845sv00001000sd00000014*
+ ID_MODEL_FROM_DATABASE=1P4S (1 Parallel / 4 16550A Serial Port Adapter)
+
+pci:v00009710d00009855*
+ ID_MODEL_FROM_DATABASE=PCI 9855 Multi-I/O Controller
+
+pci:v00009710d00009855sv00001000sd00000014*
+ ID_MODEL_FROM_DATABASE=1P4S
+
+pci:v00009710d00009855sv00001000sd00000022*
+ ID_MODEL_FROM_DATABASE=2P2S (2 Parallel / 2 16550A Serial Port Adapter)
+
+pci:v00009710d00009865*
+ ID_MODEL_FROM_DATABASE=PCI 9865 Multi-I/O Controller
+
+pci:v00009710d00009901*
+ ID_MODEL_FROM_DATABASE=PCIe 9901 Multi-I/O Controller
+
+pci:v00009710d00009904*
+ ID_MODEL_FROM_DATABASE=4-Port PCIe Serial Adapter
+
+pci:v00009710d00009912*
+ ID_MODEL_FROM_DATABASE=PCIe 9912 Multi-I/O Controller
+
+pci:v00009710d00009922*
+ ID_MODEL_FROM_DATABASE=PCIe 9922 Multi-I/O Controller
+
+pci:v00009710d00009990*
+ ID_MODEL_FROM_DATABASE=MCS9990 PCIe to 4‐Port USB 2.0 Host Controller
+
+pci:v00009902*
+ ID_VENDOR_FROM_DATABASE=Stargen Inc.
+
+pci:v00009902d00000001*
+ ID_MODEL_FROM_DATABASE=SG2010 PCI over Starfabric Bridge
+
+pci:v00009902d00000002*
+ ID_MODEL_FROM_DATABASE=SG2010 PCI to Starfabric Gateway
+
+pci:v00009902d00000003*
+ ID_MODEL_FROM_DATABASE=SG1010 Starfabric Switch and PCI Bridge
+
+pci:v0000A0A0*
+ ID_VENDOR_FROM_DATABASE=AOPEN Inc.
+
+pci:v0000A0F1*
+ ID_VENDOR_FROM_DATABASE=UNISYS Corporation
+
+pci:v0000A200*
+ ID_VENDOR_FROM_DATABASE=NEC Corporation
+
+pci:v0000A259*
+ ID_VENDOR_FROM_DATABASE=Hewlett Packard
+
+pci:v0000A25B*
+ ID_VENDOR_FROM_DATABASE=Hewlett Packard GmbH PL24-MKT
+
+pci:v0000A304*
+ ID_VENDOR_FROM_DATABASE=Sony
+
+pci:v0000A727*
+ ID_VENDOR_FROM_DATABASE=3Com Corporation
+
+pci:v0000A727d00000013*
+ ID_MODEL_FROM_DATABASE=3CRPAG175 Wireless PC Card
+
+pci:v0000A727d00006803*
+ ID_MODEL_FROM_DATABASE=3CRDAG675B Wireless 11a/b/g Adapter
+
+pci:v0000AA42*
+ ID_VENDOR_FROM_DATABASE=Scitex Digital Video
+
+pci:v0000AA55*
+ ID_VENDOR_FROM_DATABASE=Ncomputing X300 PCI-Engine
+
+pci:v0000AAAA*
+ ID_VENDOR_FROM_DATABASE=Adnaco Technology Inc.
+
+pci:v0000AAAAd00000001*
+ ID_MODEL_FROM_DATABASE=H1 PCIe over fiber optic host controller
+
+pci:v0000AAAAd00000002*
+ ID_MODEL_FROM_DATABASE=R1BP1 PCIe over fiber optic expansion chassis
+
+pci:v0000ABCD*
+ ID_VENDOR_FROM_DATABASE=Vadatech Inc.
+
+pci:v0000AC1E*
+ ID_VENDOR_FROM_DATABASE=Digital Receiver Technology Inc
+
+pci:v0000AC3D*
+ ID_VENDOR_FROM_DATABASE=Actuality Systems
+
+pci:v0000AD00*
+ ID_VENDOR_FROM_DATABASE=Alta Data Technologies LLC
+
+pci:v0000AECB*
+ ID_VENDOR_FROM_DATABASE=Adrienne Electronics Corporation
+
+pci:v0000AECBd00006250*
+ ID_MODEL_FROM_DATABASE=VITC/LTC Timecode Reader card [PCI-VLTC/RDR]
+
+pci:v0000AFFE*
+ ID_VENDOR_FROM_DATABASE=Sirrix AG security technologies
+
+pci:v0000AFFEd000001E1*
+ ID_MODEL_FROM_DATABASE=PCI1E1 1-port ISDN E1 interface
+
+pci:v0000AFFEd000002E1*
+ ID_MODEL_FROM_DATABASE=PCI2E1 2-port ISDN E1 interface
+
+pci:v0000AFFEd0000450E*
+ ID_MODEL_FROM_DATABASE=PCI4S0EC 4-port ISDN S0 interface
+
+pci:v0000AFFEd0000DEAD*
+ ID_MODEL_FROM_DATABASE=Sirrix.PCI4S0 4-port ISDN S0 interface
+
+pci:v0000B100*
+ ID_VENDOR_FROM_DATABASE=OpenVox Communication Co. Ltd.
+
+pci:v0000B10B*
+ ID_VENDOR_FROM_DATABASE=Uakron PCI Project
+
+pci:v0000B1B3*
+ ID_VENDOR_FROM_DATABASE=Shiva Europe Limited
+
+pci:v0000B1D9*
+ ID_VENDOR_FROM_DATABASE=ATCOM Technology co., LTD.
+
+pci:v0000BD11*
+ ID_VENDOR_FROM_DATABASE=Pinnacle Systems, Inc. (Wrong ID)
+
+pci:v0000BDBD*
+ ID_VENDOR_FROM_DATABASE=Blackmagic Design
+
+pci:v0000BDBDd0000A11B*
+ ID_MODEL_FROM_DATABASE=DeckLink SDI
+
+pci:v0000C001*
+ ID_VENDOR_FROM_DATABASE=TSI Telsys
+
+pci:v0000C0A9*
+ ID_VENDOR_FROM_DATABASE=Micron/Crucial Technology
+
+pci:v0000C0DE*
+ ID_VENDOR_FROM_DATABASE=Motorola
+
+pci:v0000C0FE*
+ ID_VENDOR_FROM_DATABASE=Motion Engineering, Inc.
+
+pci:v0000CA50*
+ ID_VENDOR_FROM_DATABASE=Varian Australia Pty Ltd
+
+pci:v0000CACE*
+ ID_VENDOR_FROM_DATABASE=CACE Technologies, Inc.
+
+pci:v0000CACEd00000001*
+ ID_MODEL_FROM_DATABASE=TurboCap Port A
+
+pci:v0000CACEd00000002*
+ ID_MODEL_FROM_DATABASE=TurboCap Port B
+
+pci:v0000CACEd00000023*
+ ID_MODEL_FROM_DATABASE=AirPcap N
+
+pci:v0000CAED*
+ ID_VENDOR_FROM_DATABASE=Canny Edge
+
+pci:v0000CAFE*
+ ID_VENDOR_FROM_DATABASE=Chrysalis-ITS
+
+pci:v0000CAFEd00000003*
+ ID_MODEL_FROM_DATABASE=Luna K3 Hardware Security Module
+
+pci:v0000CAFEd00000006*
+ ID_MODEL_FROM_DATABASE=Luna PCI-e 3000 Hardware Security Module
+
+pci:v0000CCCC*
+ ID_VENDOR_FROM_DATABASE=Catapult Communications
+
+pci:v0000CCEC*
+ ID_VENDOR_FROM_DATABASE=Curtiss-Wright Controls Embedded Computing
+
+pci:v0000CDDD*
+ ID_VENDOR_FROM_DATABASE=Tyzx, Inc.
+
+pci:v0000CDDDd00000101*
+ ID_MODEL_FROM_DATABASE=DeepSea 1 High Speed Stereo Vision Frame Grabber
+
+pci:v0000CDDDd00000200*
+ ID_MODEL_FROM_DATABASE=DeepSea 2 High Speed Stereo Vision Frame Grabber
+
+pci:v0000CEBA*
+ ID_VENDOR_FROM_DATABASE=KEBA AG
+
+pci:v0000D161*
+ ID_VENDOR_FROM_DATABASE=Digium, Inc.
+
+pci:v0000D161d00000120*
+ ID_MODEL_FROM_DATABASE=Wildcard TE120P single-span T1/E1/J1 card
+
+pci:v0000D161d00000205*
+ ID_MODEL_FROM_DATABASE=Wildcard TE205P/TE207P dual-span T1/E1/J1 card 5.0V
+
+pci:v0000D161d00000210*
+ ID_MODEL_FROM_DATABASE=Wildcard TE210P/TE212P dual-span T1/E1/J1 card 3.3V
+
+pci:v0000D161d00000220*
+ ID_MODEL_FROM_DATABASE=Wildcard TE220 dual-span T1/E1/J1 card 3.3V (PCI-Express)
+
+pci:v0000D161d00000405*
+ ID_MODEL_FROM_DATABASE=Wildcard TE405P/TE407P quad-span T1/E1/J1 card 5.0V
+
+pci:v0000D161d00000410*
+ ID_MODEL_FROM_DATABASE=Wildcard TE410P/TE412P quad-span T1/E1/J1 card 3.3V
+
+pci:v0000D161d00000420*
+ ID_MODEL_FROM_DATABASE=Wildcard TE420P quad-span T1/E1/J1 card 3.3V (PCI-Express)
+
+pci:v0000D161d00000800*
+ ID_MODEL_FROM_DATABASE=Wildcard TDM800P 8-port analog card
+
+pci:v0000D161d00001205*
+ ID_MODEL_FROM_DATABASE=Wildcard TE205P/TE207P dual-span T1/E1/J1 card 5.0V (u1)
+
+pci:v0000D161d00001220*
+ ID_MODEL_FROM_DATABASE=Wildcard TE220 dual-span T1/E1/J1 card 3.3V (PCI-Express) (5th gen)
+
+pci:v0000D161d00001405*
+ ID_MODEL_FROM_DATABASE=Wildcard TE405P/TE407P quad-span T1/E1/J1 card 5.0V (u1)
+
+pci:v0000D161d00001420*
+ ID_MODEL_FROM_DATABASE=Wildcard TE420 quad-span T1/E1/J1 card 3.3V (PCI-Express) (5th gen)
+
+pci:v0000D161d00002400*
+ ID_MODEL_FROM_DATABASE=Wildcard TDM2400P 24-port analog card
+
+pci:v0000D161d00003400*
+ ID_MODEL_FROM_DATABASE=Wildcard TC400P transcoder base card
+
+pci:v0000D161d00008000*
+ ID_MODEL_FROM_DATABASE=Wildcard TE121 single-span T1/E1/J1 card (PCI-Express)
+
+pci:v0000D161d00008001*
+ ID_MODEL_FROM_DATABASE=Wildcard TE122 single-span T1/E1/J1 card
+
+pci:v0000D161d00008002*
+ ID_MODEL_FROM_DATABASE=Wildcard AEX800 8-port analog card (PCI-Express)
+
+pci:v0000D161d00008003*
+ ID_MODEL_FROM_DATABASE=Wildcard AEX2400 24-port analog card (PCI-Express)
+
+pci:v0000D161d00008004*
+ ID_MODEL_FROM_DATABASE=Wildcard TCE400P transcoder base card
+
+pci:v0000D161d00008005*
+ ID_MODEL_FROM_DATABASE=Wildcard TDM410 4-port analog card
+
+pci:v0000D161d00008006*
+ ID_MODEL_FROM_DATABASE=Wildcard AEX410 4-port analog card (PCI-Express)
+
+pci:v0000D161d00008007*
+ ID_MODEL_FROM_DATABASE=Hx8 Series 8-port Base Card
+
+pci:v0000D161d00008008*
+ ID_MODEL_FROM_DATABASE=Hx8 Series 8-port Base Card (PCI-Express)
+
+pci:v0000D161d0000B410*
+ ID_MODEL_FROM_DATABASE=Wildcard B410 quad-BRI card
+
+pci:v0000D4D4*
+ ID_VENDOR_FROM_DATABASE=Dy4 Systems Inc
+
+pci:v0000D4D4d00000601*
+ ID_MODEL_FROM_DATABASE=PCI Mezzanine Card
+
+pci:v0000D531*
+ ID_VENDOR_FROM_DATABASE=I+ME ACTIA GmbH
+
+pci:v0000D84D*
+ ID_VENDOR_FROM_DATABASE=Exsys
+
+pci:v0000DADA*
+ ID_VENDOR_FROM_DATABASE=Datapath Limited
+
+pci:v0000DB10*
+ ID_VENDOR_FROM_DATABASE=Diablo Technologies
+
+pci:v0000DCBA*
+ ID_VENDOR_FROM_DATABASE=Dynamic Engineering
+
+pci:v0000DCBAd00000046*
+ ID_MODEL_FROM_DATABASE=PCIeAlteraCycloneIV
+
+pci:v0000DCBAd00000047*
+ ID_MODEL_FROM_DATABASE=VPX-RCB
+
+pci:v0000DCBAd00000048*
+ ID_MODEL_FROM_DATABASE=PMC-Biserial-III-BAE9
+
+pci:v0000DD01*
+ ID_VENDOR_FROM_DATABASE=Digital Devices GmbH
+
+pci:v0000DD01d00000003*
+ ID_MODEL_FROM_DATABASE=Octopus LE DVB adapter
+
+pci:v0000DEAD*
+ ID_VENDOR_FROM_DATABASE=Indigita Corporation
+
+pci:v0000DEAF*
+ ID_VENDOR_FROM_DATABASE=Middle Digital Inc.
+
+pci:v0000DEAFd00009050*
+ ID_MODEL_FROM_DATABASE=PC Weasel Virtual VGA
+
+pci:v0000DEAFd00009051*
+ ID_MODEL_FROM_DATABASE=PC Weasel Serial Port
+
+pci:v0000DEAFd00009052*
+ ID_MODEL_FROM_DATABASE=PC Weasel Watchdog Timer
+
+pci:v0000DEDA*
+ ID_VENDOR_FROM_DATABASE=SoftHard Technology Ltd.
+
+pci:v0000E000*
+ ID_VENDOR_FROM_DATABASE=Winbond
+
+pci:v0000E000d0000E000*
+ ID_MODEL_FROM_DATABASE=W89C940
+
+pci:v0000E159*
+ ID_VENDOR_FROM_DATABASE=Tiger Jet Network Inc.
+
+pci:v0000E159d00000001*
+ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface
+
+pci:v0000E159d00000001sv00000059sd00000001*
+ ID_MODEL_FROM_DATABASE=128k ISDN-S/T Adapter
+
+pci:v0000E159d00000001sv00000059sd00000003*
+ ID_MODEL_FROM_DATABASE=128k ISDN-U Adapter
+
+pci:v0000E159d00000001sv000000A7sd00000001*
+ ID_MODEL_FROM_DATABASE=TELES.S0/PCI 2.x ISDN Adapter
+
+pci:v0000E159d00000001sv00008086sd00000003*
+ ID_MODEL_FROM_DATABASE=Digium X100P/X101P analogue PSTN FXO interface
+
+pci:v0000E159d00000001sv0000B100sd00000003*
+ ID_MODEL_FROM_DATABASE=OpenVox A400P 4-port analog card
+
+pci:v0000E159d00000001sv0000B1D9sd00000003*
+ ID_MODEL_FROM_DATABASE=AX400P 4-port analog card
+
+pci:v0000E159d00000002*
+ ID_MODEL_FROM_DATABASE=Tiger100APC ISDN chipset
+
+pci:v0000E1C5*
+ ID_VENDOR_FROM_DATABASE=Elcus
+
+pci:v0000E4BF*
+ ID_VENDOR_FROM_DATABASE=EKF Elektronik GmbH
+
+pci:v0000E4BFd00000CCD*
+ ID_MODEL_FROM_DATABASE=CCD-CALYPSO
+
+pci:v0000E4BFd00000CD1*
+ ID_MODEL_FROM_DATABASE=CD1-OPERA
+
+pci:v0000E4BFd00000CD2*
+ ID_MODEL_FROM_DATABASE=CD2-BEBOP
+
+pci:v0000E4BFd00000CD3*
+ ID_MODEL_FROM_DATABASE=CD3-JIVE
+
+pci:v0000E4BFd000050C1*
+ ID_MODEL_FROM_DATABASE=PC1-GROOVE
+
+pci:v0000E4BFd000050C2*
+ ID_MODEL_FROM_DATABASE=PC2-LIMBO
+
+pci:v0000E4BFd000053C1*
+ ID_MODEL_FROM_DATABASE=SC1-ALLEGRO
+
+pci:v0000E4BFd0000CC47*
+ ID_MODEL_FROM_DATABASE=CCG-RUMBA
+
+pci:v0000E4BFd0000CC4D*
+ ID_MODEL_FROM_DATABASE=CCM-BOOGIE
+
+pci:v0000E55E*
+ ID_VENDOR_FROM_DATABASE=Essence Technology, Inc.
+
+pci:v0000EA01*
+ ID_VENDOR_FROM_DATABASE=Eagle Technology
+
+pci:v0000EA01d0000000A*
+ ID_MODEL_FROM_DATABASE=PCI-773 Temperature Card
+
+pci:v0000EA01d00000032*
+ ID_MODEL_FROM_DATABASE=PCI-730 & PC104P-30 Card
+
+pci:v0000EA01d0000003E*
+ ID_MODEL_FROM_DATABASE=PCI-762 Opto-Isolator Card
+
+pci:v0000EA01d00000041*
+ ID_MODEL_FROM_DATABASE=PCI-763 Reed Relay Card
+
+pci:v0000EA01d00000043*
+ ID_MODEL_FROM_DATABASE=PCI-769 Opto-Isolator Reed Relay Combo Card
+
+pci:v0000EA01d00000046*
+ ID_MODEL_FROM_DATABASE=PCI-766 Analog Output Card
+
+pci:v0000EA01d00000052*
+ ID_MODEL_FROM_DATABASE=PCI-703 Analog I/O Card
+
+pci:v0000EA01d00000800*
+ ID_MODEL_FROM_DATABASE=PCI-800 Digital I/O Card
+
+pci:v0000EA60*
+ ID_VENDOR_FROM_DATABASE=RME
+
+pci:v0000EA60d00009896*
+ ID_MODEL_FROM_DATABASE=Digi32
+
+pci:v0000EA60d00009897*
+ ID_MODEL_FROM_DATABASE=Digi32 Pro
+
+pci:v0000EA60d00009898*
+ ID_MODEL_FROM_DATABASE=Digi32/8
+
+pci:v0000EABB*
+ ID_VENDOR_FROM_DATABASE=Aashima Technology B.V.
+
+pci:v0000EACE*
+ ID_VENDOR_FROM_DATABASE=Endace Measurement Systems, Ltd
+
+pci:v0000EACEd00003100*
+ ID_MODEL_FROM_DATABASE=DAG 3.10 OC-3/OC-12
+
+pci:v0000EACEd00003200*
+ ID_MODEL_FROM_DATABASE=DAG 3.2x OC-3/OC-12
+
+pci:v0000EACEd0000320E*
+ ID_MODEL_FROM_DATABASE=DAG 3.2E Fast Ethernet
+
+pci:v0000EACEd0000340E*
+ ID_MODEL_FROM_DATABASE=DAG 3.4E Fast Ethernet
+
+pci:v0000EACEd0000341E*
+ ID_MODEL_FROM_DATABASE=DAG 3.41E Fast Ethernet
+
+pci:v0000EACEd00003500*
+ ID_MODEL_FROM_DATABASE=DAG 3.5 OC-3/OC-12
+
+pci:v0000EACEd0000351C*
+ ID_MODEL_FROM_DATABASE=DAG 3.5ECM Fast Ethernet
+
+pci:v0000EACEd0000360D*
+ ID_MODEL_FROM_DATABASE=DAG 3.6D DS3
+
+pci:v0000EACEd0000360E*
+ ID_MODEL_FROM_DATABASE=DAG 3.6E Fast Ethernet
+
+pci:v0000EACEd0000368E*
+ ID_MODEL_FROM_DATABASE=DAG 3.6E Gig Ethernet
+
+pci:v0000EACEd00003707*
+ ID_MODEL_FROM_DATABASE=DAG 3.7T T1/E1/J1
+
+pci:v0000EACEd0000370D*
+ ID_MODEL_FROM_DATABASE=DAG 3.7D DS3/E3
+
+pci:v0000EACEd0000378E*
+ ID_MODEL_FROM_DATABASE=DAG 3.7G Gig Ethernet
+
+pci:v0000EACEd00003800*
+ ID_MODEL_FROM_DATABASE=DAG 3.8S OC-3/OC-12
+
+pci:v0000EACEd00004100*
+ ID_MODEL_FROM_DATABASE=DAG 4.10 OC-48
+
+pci:v0000EACEd00004110*
+ ID_MODEL_FROM_DATABASE=DAG 4.11 OC-48
+
+pci:v0000EACEd00004220*
+ ID_MODEL_FROM_DATABASE=DAG 4.2 OC-48
+
+pci:v0000EACEd0000422E*
+ ID_MODEL_FROM_DATABASE=DAG 4.2GE Gig Ethernet
+
+pci:v0000EACEd00004230*
+ ID_MODEL_FROM_DATABASE=DAG 4.2S OC-48
+
+pci:v0000EACEd0000423E*
+ ID_MODEL_FROM_DATABASE=DAG 4.2GE Gig Ethernet
+
+pci:v0000EACEd00004300*
+ ID_MODEL_FROM_DATABASE=DAG 4.3S OC-48
+
+pci:v0000EACEd0000430E*
+ ID_MODEL_FROM_DATABASE=DAG 4.3GE Gig Ethernet
+
+pci:v0000EACEd0000452E*
+ ID_MODEL_FROM_DATABASE=DAG 4.5G2 Gig Ethernet
+
+pci:v0000EACEd0000454E*
+ ID_MODEL_FROM_DATABASE=DAG 4.5G4 Gig Ethernet
+
+pci:v0000EACEd000045B8*
+ ID_MODEL_FROM_DATABASE=DAG 4.5Z8 Gig Ethernet
+
+pci:v0000EACEd000045BE*
+ ID_MODEL_FROM_DATABASE=DAG 4.5Z2 Gig Ethernet
+
+pci:v0000EACEd0000520E*
+ ID_MODEL_FROM_DATABASE=DAG 5.2X 10G Ethernet
+
+pci:v0000EACEd0000521A*
+ ID_MODEL_FROM_DATABASE=DAG 5.2SXA 10G Ethernet/OC-192
+
+pci:v0000EACEd00005400*
+ ID_MODEL_FROM_DATABASE=DAG 5.4S-12 OC-3/OC-12
+
+pci:v0000EACEd00005401*
+ ID_MODEL_FROM_DATABASE=DAG 5.4SG-48 Gig Ethernet/OC-3/OC-12/OC-48
+
+pci:v0000EACEd0000540A*
+ ID_MODEL_FROM_DATABASE=DAG 5.4GA Gig Ethernet
+
+pci:v0000EACEd0000541A*
+ ID_MODEL_FROM_DATABASE=DAG 5.4SA-12 OC-3/OC-12
+
+pci:v0000EACEd0000542A*
+ ID_MODEL_FROM_DATABASE=DAG 5.4SGA-48 Gig Ethernet/OC-3/OC-12/OC-48
+
+pci:v0000EACEd00006000*
+ ID_MODEL_FROM_DATABASE=DAG 6.0SE 10G Ethernet/OC-192
+
+pci:v0000EACEd00006100*
+ ID_MODEL_FROM_DATABASE=DAG 6.1SE 10G Ethernet/OC-192
+
+pci:v0000EACEd00006200*
+ ID_MODEL_FROM_DATABASE=DAG 6.2SE 10G Ethernet/OC-192
+
+pci:v0000EACEd00007100*
+ ID_MODEL_FROM_DATABASE=DAG 7.1S OC-3/OC-12
+
+pci:v0000EACEd00007400*
+ ID_MODEL_FROM_DATABASE=DAG 7.4S OC-3/OC-12
+
+pci:v0000EACEd00007401*
+ ID_MODEL_FROM_DATABASE=DAG 7.4S48 OC-48
+
+pci:v0000EACEd0000752E*
+ ID_MODEL_FROM_DATABASE=DAG 7.5G2 Gig Ethernet
+
+pci:v0000EACEd0000754E*
+ ID_MODEL_FROM_DATABASE=DAG 7.5G4 Gig Ethernet
+
+pci:v0000EACEd00008100*
+ ID_MODEL_FROM_DATABASE=DAG 8.1X 10G Ethernet
+
+pci:v0000EACEd00008101*
+ ID_MODEL_FROM_DATABASE=DAG 8.1SX 10G Ethernet/OC-192
+
+pci:v0000EACEd00008102*
+ ID_MODEL_FROM_DATABASE=DAG 8.1X 10G Ethernet
+
+pci:v0000EACEd0000820E*
+ ID_MODEL_FROM_DATABASE=DAG 8.2X 10G Ethernet
+
+pci:v0000EACEd0000820F*
+ ID_MODEL_FROM_DATABASE=DAG 8.2X 10G Ethernet (2nd bus)
+
+pci:v0000EACEd00008400*
+ ID_MODEL_FROM_DATABASE=DAG 8.4I Infiniband x4 SDR
+
+pci:v0000EACEd00008500*
+ ID_MODEL_FROM_DATABASE=DAG 8.5I Infiniband x4 DDR
+
+pci:v0000EACEd0000920E*
+ ID_MODEL_FROM_DATABASE=DAG 9.2X2 10G Ethernet
+
+pci:v0000EC80*
+ ID_VENDOR_FROM_DATABASE=Belkin Corporation
+
+pci:v0000EC80d0000EC00*
+ ID_MODEL_FROM_DATABASE=F5D6000
+
+pci:v0000ECC0*
+ ID_VENDOR_FROM_DATABASE=Echo Digital Audio Corporation
+
+pci:v0000EDD8*
+ ID_VENDOR_FROM_DATABASE=ARK Logic Inc
+
+pci:v0000EDD8d0000A091*
+ ID_MODEL_FROM_DATABASE=1000PV [Stingray]
+
+pci:v0000EDD8d0000A099*
+ ID_MODEL_FROM_DATABASE=2000PV [Stingray]
+
+pci:v0000EDD8d0000A0A1*
+ ID_MODEL_FROM_DATABASE=2000MT
+
+pci:v0000EDD8d0000A0A9*
+ ID_MODEL_FROM_DATABASE=2000MI
+
+pci:v0000F043*
+ ID_VENDOR_FROM_DATABASE=ASUSTeK Computer Inc. (Wrong ID)
+
+pci:v0000F05B*
+ ID_VENDOR_FROM_DATABASE=Foxconn International, Inc. (Wrong ID)
+
+pci:v0000F1D0*
+ ID_VENDOR_FROM_DATABASE=AJA Video
+
+pci:v0000F1D0d0000C0FE*
+ ID_MODEL_FROM_DATABASE=Xena HS/HD-R
+
+pci:v0000F1D0d0000C0FF*
+ ID_MODEL_FROM_DATABASE=Kona/Xena 2
+
+pci:v0000F1D0d0000CAFE*
+ ID_MODEL_FROM_DATABASE=Kona SD
+
+pci:v0000F1D0d0000CFEE*
+ ID_MODEL_FROM_DATABASE=Xena LS/SD-22-DA/SD-DA
+
+pci:v0000F1D0d0000DCAF*
+ ID_MODEL_FROM_DATABASE=Kona HD
+
+pci:v0000F1D0d0000DFEE*
+ ID_MODEL_FROM_DATABASE=Xena HD-DA
+
+pci:v0000F1D0d0000EFAC*
+ ID_MODEL_FROM_DATABASE=Xena SD-MM/SD-22-MM
+
+pci:v0000F1D0d0000FACD*
+ ID_MODEL_FROM_DATABASE=Xena HD-MM
+
+pci:v0000F5F5*
+ ID_VENDOR_FROM_DATABASE=F5 Networks, Inc.
+
+pci:v0000F849*
+ ID_VENDOR_FROM_DATABASE=ASRock Incorporation (Wrong ID)
+
+pci:v0000FA57*
+ ID_VENDOR_FROM_DATABASE=Interagon AS
+
+pci:v0000FA57d00000001*
+ ID_MODEL_FROM_DATABASE=PMC [Pattern Matching Chip]
+
+pci:v0000FAB7*
+ ID_VENDOR_FROM_DATABASE=Fabric7 Systems, Inc.
+
+pci:v0000FEBD*
+ ID_VENDOR_FROM_DATABASE=Ultraview Corp.
+
+pci:v0000FEDA*
+ ID_VENDOR_FROM_DATABASE=Broadcom Inc
+
+pci:v0000FEDAd0000A0FA*
+ ID_MODEL_FROM_DATABASE=BCM4210 iLine10 HomePNA 2.0
+
+pci:v0000FEDAd0000A10E*
+ ID_MODEL_FROM_DATABASE=BCM4230 iLine10 HomePNA 2.0
+
+pci:v0000FEDE*
+ ID_VENDOR_FROM_DATABASE=Fedetec Inc.
+
+pci:v0000FEDEd00000003*
+ ID_MODEL_FROM_DATABASE=TABIC PCI v3
+
+pci:v0000FFFD*
+ ID_VENDOR_FROM_DATABASE=XenSource, Inc.
+
+pci:v0000FFFDd00000101*
+ ID_MODEL_FROM_DATABASE=PCI Event Channel Controller
+
+pci:v0000FFFE*
+ ID_VENDOR_FROM_DATABASE=VMWare Inc (temporary ID)
+
+pci:v0000FFFEd00000710*
+ ID_MODEL_FROM_DATABASE=Virtual SVGA
+
+pci:v0000FFFF*
+ ID_VENDOR_FROM_DATABASE=Illegal Vendor ID
diff --git a/hwdb/20-pci-vendor-product.hwdb b/hwdb/20-pci-vendor-product.hwdb
deleted file mode 100644
index 2e87004fc1..0000000000
--- a/hwdb/20-pci-vendor-product.hwdb
+++ /dev/null
@@ -1,63993 +0,0 @@
-# This file is part of systemd.
-#
-# Data imported from: http://pci-ids.ucw.cz/v2.2/pci.ids
-
-pci:v00000010*
- ID_VENDOR_FROM_DATABASE=Allied Telesis, Inc
-
-pci:v00000010d00008139*
- ID_PRODUCT_FROM_DATABASE=AT-2500TX V3 Ethernet
-
-pci:v0000001A*
- ID_VENDOR_FROM_DATABASE=Ascend Communications, Inc.
-
-pci:v0000001C*
- ID_VENDOR_FROM_DATABASE=PEAK-System Technik GmbH
-
-pci:v0000001Cd00000001*
- ID_PRODUCT_FROM_DATABASE=PCAN-PCI CAN-Bus controller
-
-pci:v0000001Cd00000001sv0000001Csd00000004*
- ID_PRODUCT_FROM_DATABASE=2 Channel CAN Bus SJC1000
-
-pci:v0000001Cd00000001sv0000001Csd00000005*
- ID_PRODUCT_FROM_DATABASE=2 Channel CAN Bus SJC1000 (Optically Isolated)
-
-pci:v00000033*
- ID_VENDOR_FROM_DATABASE=Paradyne corp.
-
-pci:v0000003D*
- ID_VENDOR_FROM_DATABASE=Lockheed Martin-Marietta Corp
-
-pci:v00000059*
- ID_VENDOR_FROM_DATABASE=Tiger Jet Network Inc. (Wrong ID)
-
-pci:v00000070*
- ID_VENDOR_FROM_DATABASE=Hauppauge computer works Inc.
-
-pci:v00000070d00000003*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-250
-
-pci:v00000070d00000009*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-150
-
-pci:v00000070d00000801*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-150
-
-pci:v00000070d00000807*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-150
-
-pci:v00000070d00004000*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-350
-
-pci:v00000070d00004001*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-250 (v1)
-
-pci:v00000070d00004009*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-250
-
-pci:v00000070d00004800*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-350
-
-pci:v00000070d00004801*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-250 MCE
-
-pci:v00000070d00004803*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-250
-
-pci:v00000070d00007444*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-1600
-
-pci:v00000070d00007801*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-1800 MCE
-
-pci:v00000070d00008003*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-150
-
-pci:v00000070d00008801*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-150
-
-pci:v00000070d0000C108*
- ID_PRODUCT_FROM_DATABASE=WinTV-HVR-4400-HD model 1278
-
-pci:v00000070d0000C801*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-150
-
-pci:v00000070d0000E807*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-500 MCE (1st tuner)
-
-pci:v00000070d0000E817*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-500 MCE (2nd tuner)
-
-pci:v00000071*
- ID_VENDOR_FROM_DATABASE=Nebula Electronics Ltd.
-
-pci:v00000095*
- ID_VENDOR_FROM_DATABASE=Silicon Image, Inc. (Wrong ID)
-
-pci:v00000095d00000680*
- ID_PRODUCT_FROM_DATABASE=Ultra ATA/133 IDE RAID CONTROLLER CARD
-
-pci:v000000A7*
- ID_VENDOR_FROM_DATABASE=Teles AG (Wrong ID)
-
-pci:v000000F5*
- ID_VENDOR_FROM_DATABASE=BFG Technologies, Inc.
-
-pci:v00000100*
- ID_VENDOR_FROM_DATABASE=Ncipher Corp Ltd
-
-pci:v00000123*
- ID_VENDOR_FROM_DATABASE=General Dynamics
-
-pci:v0000018A*
- ID_VENDOR_FROM_DATABASE=LevelOne
-
-pci:v0000018Ad00000106*
- ID_PRODUCT_FROM_DATABASE=FPC-0106TX misprogrammed [RTL81xx]
-
-pci:v0000021B*
- ID_VENDOR_FROM_DATABASE=Compaq Computer Corporation
-
-pci:v0000021Bd00008139*
- ID_PRODUCT_FROM_DATABASE=HNE-300 (RealTek RTL8139c) [iPaq Networking]
-
-pci:v00000270*
- ID_VENDOR_FROM_DATABASE=Hauppauge computer works Inc. (Wrong ID)
-
-pci:v00000291*
- ID_VENDOR_FROM_DATABASE=Davicom Semiconductor, Inc.
-
-pci:v00000291d00008212*
- ID_PRODUCT_FROM_DATABASE=DM9102A(DM9102AE, SM9102AF) Ethernet 100/10 MBit(Rev 40)
-
-pci:v000002AC*
- ID_VENDOR_FROM_DATABASE=SpeedStream
-
-pci:v000002ACd00001012*
- ID_PRODUCT_FROM_DATABASE=1012 PCMCIA 10/100 Ethernet Card [RTL81xx]
-
-pci:v000002E0*
- ID_VENDOR_FROM_DATABASE=XFX Pine Group Inc
-
-pci:v00000303*
- ID_VENDOR_FROM_DATABASE=Hewlett-Packard Company (Wrong ID)
-
-pci:v00000308*
- ID_VENDOR_FROM_DATABASE=ZyXEL Communications Corporation
-
-pci:v00000315*
- ID_VENDOR_FROM_DATABASE=SK-Electronics Co., Ltd.
-
-pci:v00000357*
- ID_VENDOR_FROM_DATABASE=TTTech AG
-
-pci:v00000357d0000000A*
- ID_PRODUCT_FROM_DATABASE=TTP-Monitoring Card V2.0
-
-pci:v0000036F*
- ID_VENDOR_FROM_DATABASE=Trigem Computer Inc.
-
-pci:v00000432*
- ID_VENDOR_FROM_DATABASE=SCM Microsystems, Inc.
-
-pci:v00000432d00000001*
- ID_PRODUCT_FROM_DATABASE=Pluto2 DVB-T Receiver for PCMCIA [EasyWatch MobilSet]
-
-pci:v00000675*
- ID_VENDOR_FROM_DATABASE=Dynalink
-
-pci:v00000675d00001700*
- ID_PRODUCT_FROM_DATABASE=IS64PH ISDN Adapter
-
-pci:v00000675d00001702*
- ID_PRODUCT_FROM_DATABASE=IS64PH ISDN Adapter
-
-pci:v00000675d00001703*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
-
-pci:v00000675d00001704*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C)
-
-pci:v00000721*
- ID_VENDOR_FROM_DATABASE=Sapphire, Inc.
-
-pci:v00000777*
- ID_VENDOR_FROM_DATABASE=Ubiquiti Networks, Inc.
-
-pci:v00000777d00003005*
- ID_PRODUCT_FROM_DATABASE=XtremeRange5
-
-pci:v00000795*
- ID_VENDOR_FROM_DATABASE=Wired Inc.
-
-pci:v00000795d00006663*
- ID_PRODUCT_FROM_DATABASE=Butane II (MPEG2 encoder board)
-
-pci:v00000795d00006666*
- ID_PRODUCT_FROM_DATABASE=MediaPress (MPEG2 encoder board)
-
-pci:v000007CA*
- ID_VENDOR_FROM_DATABASE=AVerMedia Technologies Inc.
-
-pci:v000007CAd0000534A*
- ID_PRODUCT_FROM_DATABASE=Slim mobile Express DVB-T (Fujitsu)
-
-pci:v000007CAd0000A301*
- ID_PRODUCT_FROM_DATABASE=AVerTV 301
-
-pci:v000007CAd0000B808*
- ID_PRODUCT_FROM_DATABASE=AVerTV DVB-T Volar (USB 2.0)
-
-pci:v000007D0*
- ID_VENDOR_FROM_DATABASE=ITT Geospatial Systems
-
-pci:v000007D1*
- ID_VENDOR_FROM_DATABASE=D-Link System Inc
-
-pci:v000007E2*
- ID_VENDOR_FROM_DATABASE=ELMEG Communication Systems GmbH
-
-pci:v00000842*
- ID_VENDOR_FROM_DATABASE=NPG, Personal Grand Technology
-
-pci:v000008E6*
- ID_VENDOR_FROM_DATABASE=Gemalto NV
-
-pci:v000008FF*
- ID_VENDOR_FROM_DATABASE=AuthenTec
-
-pci:v000008FFd0000AFE4*
- ID_PRODUCT_FROM_DATABASE=[Anchor] AF-S2 FingerLoc Sensor Module
-
-pci:v00000925*
- ID_VENDOR_FROM_DATABASE=VIA Technologies, Inc. (Wrong ID)
-
-pci:v00000925d00001234*
- ID_PRODUCT_FROM_DATABASE=VT82C686/A/B USB Controller
-
-pci:v0000093A*
- ID_VENDOR_FROM_DATABASE=PixArt Imaging Inc.
-
-pci:v0000093Ad0000010E*
- ID_PRODUCT_FROM_DATABASE=Innovage Mini Digital Camera
-
-pci:v0000093Ad0000010F*
- ID_PRODUCT_FROM_DATABASE=SDC-300 Webcam
-
-pci:v0000093Ad0000020F*
- ID_PRODUCT_FROM_DATABASE=Digital Photo Viewer
-
-pci:v0000093Ad00002468*
- ID_PRODUCT_FROM_DATABASE=CIF Single Chip
-
-pci:v0000093Ad00002600*
- ID_PRODUCT_FROM_DATABASE=PAC7311
-
-pci:v0000093Ad00002603*
- ID_PRODUCT_FROM_DATABASE=Philips Webcam SPC500NC
-
-pci:v0000093Ad00002608*
- ID_PRODUCT_FROM_DATABASE=Maxell MaxCam RotaWeb
-
-pci:v0000093Ad00002620*
- ID_PRODUCT_FROM_DATABASE=C3 Tech Mod. 153
-
-pci:v000009C1*
- ID_VENDOR_FROM_DATABASE=Arris
-
-pci:v000009C1d00000704*
- ID_PRODUCT_FROM_DATABASE=CM 200E Cable Modem
-
-pci:v00000A89*
- ID_VENDOR_FROM_DATABASE=BREA Technologies Inc
-
-pci:v00000B0B*
- ID_VENDOR_FROM_DATABASE=Rhino Equipment Corp.
-
-pci:v00000B0Bd00000105*
- ID_PRODUCT_FROM_DATABASE=Rhino R1T1
-
-pci:v00000B0Bd00000205*
- ID_PRODUCT_FROM_DATABASE=Rhino R4FXO
-
-pci:v00000B0Bd00000206*
- ID_PRODUCT_FROM_DATABASE=RCB4FXO 4-channel FXO analog telphony card
-
-pci:v00000B0Bd00000305*
- ID_PRODUCT_FROM_DATABASE=Rhino R4T1
-
-pci:v00000B0Bd00000405*
- ID_PRODUCT_FROM_DATABASE=Rhino R8FXX
-
-pci:v00000B0Bd00000406*
- ID_PRODUCT_FROM_DATABASE=RCB8FXX 8-channel modular analog telphony card
-
-pci:v00000B0Bd00000505*
- ID_PRODUCT_FROM_DATABASE=Rhino R24FXX
-
-pci:v00000B0Bd00000506*
- ID_PRODUCT_FROM_DATABASE=RCB24FXS 24-Channel FXS analog telphony card
-
-pci:v00000B0Bd00000605*
- ID_PRODUCT_FROM_DATABASE=Rhino R2T1
-
-pci:v00000B0Bd00000705*
- ID_PRODUCT_FROM_DATABASE=Rhino R24FXS
-
-pci:v00000B0Bd00000706*
- ID_PRODUCT_FROM_DATABASE=RCB24FXO 24-Channel FXO analog telphony card
-
-pci:v00000B0Bd00000905*
- ID_PRODUCT_FROM_DATABASE=R1T3 Single T3 Digital Telephony Card
-
-pci:v00000B0Bd00000906*
- ID_PRODUCT_FROM_DATABASE=RCB24FXX 24-channel modular analog telphony card
-
-pci:v00000B0Bd00000A06*
- ID_PRODUCT_FROM_DATABASE=RCB672FXX 672-channel modular analog telphony card
-
-pci:v00000B3D*
- ID_VENDOR_FROM_DATABASE=Brontes Technologies
-
-pci:v00000CCD*
- ID_VENDOR_FROM_DATABASE=TerraTec Electronic GmbH
-
-pci:v00000CCDd00000038*
- ID_PRODUCT_FROM_DATABASE=Cinergy T^2 DVB-T Receiver
-
-pci:v00000E11*
- ID_VENDOR_FROM_DATABASE=Compaq Computer Corporation
-
-pci:v00000E11d00000001*
- ID_PRODUCT_FROM_DATABASE=PCI to EISA Bridge
-
-pci:v00000E11d00000002*
- ID_PRODUCT_FROM_DATABASE=PCI to ISA Bridge
-
-pci:v00000E11d00000046*
- ID_PRODUCT_FROM_DATABASE=Smart Array 64xx
-
-pci:v00000E11d00000046sv00000E11sd00004091*
- ID_PRODUCT_FROM_DATABASE=Smart Array 6i
-
-pci:v00000E11d00000046sv00000E11sd0000409A*
- ID_PRODUCT_FROM_DATABASE=Smart Array 641
-
-pci:v00000E11d00000046sv00000E11sd0000409B*
- ID_PRODUCT_FROM_DATABASE=Smart Array 642
-
-pci:v00000E11d00000046sv00000E11sd0000409C*
- ID_PRODUCT_FROM_DATABASE=Smart Array 6400
-
-pci:v00000E11d00000046sv00000E11sd0000409D*
- ID_PRODUCT_FROM_DATABASE=Smart Array 6400 EM
-
-pci:v00000E11d00000049*
- ID_PRODUCT_FROM_DATABASE=NC7132 Gigabit Upgrade Module
-
-pci:v00000E11d0000004A*
- ID_PRODUCT_FROM_DATABASE=NC6136 Gigabit Server Adapter
-
-pci:v00000E11d0000005A*
- ID_PRODUCT_FROM_DATABASE=Remote Insight II board - Lights-Out
-
-pci:v00000E11d0000007C*
- ID_PRODUCT_FROM_DATABASE=NC7770 1000BaseTX
-
-pci:v00000E11d0000007D*
- ID_PRODUCT_FROM_DATABASE=NC6770 1000BaseTX
-
-pci:v00000E11d00000085*
- ID_PRODUCT_FROM_DATABASE=NC7780 1000BaseTX
-
-pci:v00000E11d000000B1*
- ID_PRODUCT_FROM_DATABASE=Remote Insight II board - PCI device
-
-pci:v00000E11d000000BB*
- ID_PRODUCT_FROM_DATABASE=NC7760
-
-pci:v00000E11d000000CA*
- ID_PRODUCT_FROM_DATABASE=NC7771
-
-pci:v00000E11d000000CB*
- ID_PRODUCT_FROM_DATABASE=NC7781
-
-pci:v00000E11d000000CF*
- ID_PRODUCT_FROM_DATABASE=NC7772
-
-pci:v00000E11d000000D0*
- ID_PRODUCT_FROM_DATABASE=NC7782
-
-pci:v00000E11d000000D1*
- ID_PRODUCT_FROM_DATABASE=NC7783
-
-pci:v00000E11d000000E3*
- ID_PRODUCT_FROM_DATABASE=NC7761
-
-pci:v00000E11d00000508*
- ID_PRODUCT_FROM_DATABASE=Netelligent 4/16 Token Ring
-
-pci:v00000E11d00001000*
- ID_PRODUCT_FROM_DATABASE=Triflex/Pentium Bridge, Model 1000
-
-pci:v00000E11d00002000*
- ID_PRODUCT_FROM_DATABASE=Triflex/Pentium Bridge, Model 2000
-
-pci:v00000E11d00003032*
- ID_PRODUCT_FROM_DATABASE=QVision 1280/p
-
-pci:v00000E11d00003033*
- ID_PRODUCT_FROM_DATABASE=QVision 1280/p
-
-pci:v00000E11d00003034*
- ID_PRODUCT_FROM_DATABASE=QVision 1280/p
-
-pci:v00000E11d00004000*
- ID_PRODUCT_FROM_DATABASE=4000 [Triflex]
-
-pci:v00000E11d00004040*
- ID_PRODUCT_FROM_DATABASE=Integrated Array
-
-pci:v00000E11d00004048*
- ID_PRODUCT_FROM_DATABASE=Compaq Raid LC2
-
-pci:v00000E11d00004050*
- ID_PRODUCT_FROM_DATABASE=Smart Array 4200
-
-pci:v00000E11d00004051*
- ID_PRODUCT_FROM_DATABASE=Smart Array 4250ES
-
-pci:v00000E11d00004058*
- ID_PRODUCT_FROM_DATABASE=Smart Array 431
-
-pci:v00000E11d00004070*
- ID_PRODUCT_FROM_DATABASE=Smart Array 5300
-
-pci:v00000E11d00004080*
- ID_PRODUCT_FROM_DATABASE=Smart Array 5i
-
-pci:v00000E11d00004082*
- ID_PRODUCT_FROM_DATABASE=Smart Array 532
-
-pci:v00000E11d00004083*
- ID_PRODUCT_FROM_DATABASE=Smart Array 5312
-
-pci:v00000E11d00004091*
- ID_PRODUCT_FROM_DATABASE=Smart Array 6i
-
-pci:v00000E11d0000409A*
- ID_PRODUCT_FROM_DATABASE=Smart Array 641
-
-pci:v00000E11d0000409B*
- ID_PRODUCT_FROM_DATABASE=Smart Array 642
-
-pci:v00000E11d0000409C*
- ID_PRODUCT_FROM_DATABASE=Smart Array 6400
-
-pci:v00000E11d0000409D*
- ID_PRODUCT_FROM_DATABASE=Smart Array 6400 EM
-
-pci:v00000E11d00006010*
- ID_PRODUCT_FROM_DATABASE=HotPlug PCI Bridge 6010
-
-pci:v00000E11d00007020*
- ID_PRODUCT_FROM_DATABASE=USB Controller
-
-pci:v00000E11d0000A0EC*
- ID_PRODUCT_FROM_DATABASE=Fibre Channel Host Controller
-
-pci:v00000E11d0000A0F0*
- ID_PRODUCT_FROM_DATABASE=Advanced System Management Controller
-
-pci:v00000E11d0000A0F0sv00000E11sd0000B0F3*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL360
-
-pci:v00000E11d0000A0F3*
- ID_PRODUCT_FROM_DATABASE=Triflex PCI to ISA Bridge
-
-pci:v00000E11d0000A0F7*
- ID_PRODUCT_FROM_DATABASE=PCI Hotplug Controller
-
-pci:v00000E11d0000A0F7sv00008086sd0000002A*
- ID_PRODUCT_FROM_DATABASE=PCI Hotplug Controller A
-
-pci:v00000E11d0000A0F7sv00008086sd0000002B*
- ID_PRODUCT_FROM_DATABASE=PCI Hotplug Controller B
-
-pci:v00000E11d0000A0F8*
- ID_PRODUCT_FROM_DATABASE=ZFMicro Chipset USB
-
-pci:v00000E11d0000A0FC*
- ID_PRODUCT_FROM_DATABASE=FibreChannel HBA Tachyon
-
-pci:v00000E11d0000AE10*
- ID_PRODUCT_FROM_DATABASE=Smart-2/P RAID Controller
-
-pci:v00000E11d0000AE10sv00000E11sd00004030*
- ID_PRODUCT_FROM_DATABASE=Smart-2/P Array Controller
-
-pci:v00000E11d0000AE10sv00000E11sd00004031*
- ID_PRODUCT_FROM_DATABASE=Smart-2SL Array Controller
-
-pci:v00000E11d0000AE10sv00000E11sd00004032*
- ID_PRODUCT_FROM_DATABASE=Smart Array 3200 Controller
-
-pci:v00000E11d0000AE10sv00000E11sd00004033*
- ID_PRODUCT_FROM_DATABASE=Smart Array 3100ES Controller
-
-pci:v00000E11d0000AE10sv00000E11sd00004034*
- ID_PRODUCT_FROM_DATABASE=Smart Array 221 Controller
-
-pci:v00000E11d0000AE29*
- ID_PRODUCT_FROM_DATABASE=MIS-L
-
-pci:v00000E11d0000AE2A*
- ID_PRODUCT_FROM_DATABASE=MPC
-
-pci:v00000E11d0000AE2B*
- ID_PRODUCT_FROM_DATABASE=MIS-E
-
-pci:v00000E11d0000AE31*
- ID_PRODUCT_FROM_DATABASE=System Management Controller
-
-pci:v00000E11d0000AE32*
- ID_PRODUCT_FROM_DATABASE=Netelligent 10/100 TX PCI UTP
-
-pci:v00000E11d0000AE33*
- ID_PRODUCT_FROM_DATABASE=Triflex Dual EIDE Controller
-
-pci:v00000E11d0000AE34*
- ID_PRODUCT_FROM_DATABASE=Netelligent 10 T PCI UTP
-
-pci:v00000E11d0000AE35*
- ID_PRODUCT_FROM_DATABASE=Integrated NetFlex-3/P
-
-pci:v00000E11d0000AE40*
- ID_PRODUCT_FROM_DATABASE=Netelligent Dual 10/100 TX PCI UTP
-
-pci:v00000E11d0000AE43*
- ID_PRODUCT_FROM_DATABASE=Netelligent Integrated 10/100 TX UTP
-
-pci:v00000E11d0000AE69*
- ID_PRODUCT_FROM_DATABASE=CETUS-L
-
-pci:v00000E11d0000AE6C*
- ID_PRODUCT_FROM_DATABASE=Northstar
-
-pci:v00000E11d0000AE6D*
- ID_PRODUCT_FROM_DATABASE=NorthStar CPU to PCI Bridge
-
-pci:v00000E11d0000B011*
- ID_PRODUCT_FROM_DATABASE=Netelligent 10/100 TX Embedded UTP
-
-pci:v00000E11d0000B012*
- ID_PRODUCT_FROM_DATABASE=Netelligent 10 T/2 PCI UTP/Coax
-
-pci:v00000E11d0000B01E*
- ID_PRODUCT_FROM_DATABASE=NC3120 Fast Ethernet NIC
-
-pci:v00000E11d0000B01F*
- ID_PRODUCT_FROM_DATABASE=NC3122 Fast Ethernet NIC
-
-pci:v00000E11d0000B02F*
- ID_PRODUCT_FROM_DATABASE=NC1120 Ethernet NIC
-
-pci:v00000E11d0000B030*
- ID_PRODUCT_FROM_DATABASE=Netelligent 10/100 TX UTP
-
-pci:v00000E11d0000B04A*
- ID_PRODUCT_FROM_DATABASE=10/100 TX PCI Intel WOL UTP Controller
-
-pci:v00000E11d0000B060*
- ID_PRODUCT_FROM_DATABASE=Smart Array 5300 Controller
-
-pci:v00000E11d0000B0C6*
- ID_PRODUCT_FROM_DATABASE=NC3161 Fast Ethernet NIC
-
-pci:v00000E11d0000B0C7*
- ID_PRODUCT_FROM_DATABASE=NC3160 Fast Ethernet NIC
-
-pci:v00000E11d0000B0D7*
- ID_PRODUCT_FROM_DATABASE=NC3121 Fast Ethernet NIC
-
-pci:v00000E11d0000B0DD*
- ID_PRODUCT_FROM_DATABASE=NC3131 Fast Ethernet NIC
-
-pci:v00000E11d0000B0DE*
- ID_PRODUCT_FROM_DATABASE=NC3132 Fast Ethernet Module
-
-pci:v00000E11d0000B0DF*
- ID_PRODUCT_FROM_DATABASE=NC6132 Gigabit Module
-
-pci:v00000E11d0000B0E0*
- ID_PRODUCT_FROM_DATABASE=NC6133 Gigabit Module
-
-pci:v00000E11d0000B0E1*
- ID_PRODUCT_FROM_DATABASE=NC3133 Fast Ethernet Module
-
-pci:v00000E11d0000B123*
- ID_PRODUCT_FROM_DATABASE=NC6134 Gigabit NIC
-
-pci:v00000E11d0000B134*
- ID_PRODUCT_FROM_DATABASE=NC3163 Fast Ethernet NIC
-
-pci:v00000E11d0000B13C*
- ID_PRODUCT_FROM_DATABASE=NC3162 Fast Ethernet NIC
-
-pci:v00000E11d0000B144*
- ID_PRODUCT_FROM_DATABASE=NC3123 Fast Ethernet NIC
-
-pci:v00000E11d0000B163*
- ID_PRODUCT_FROM_DATABASE=NC3134 Fast Ethernet NIC
-
-pci:v00000E11d0000B164*
- ID_PRODUCT_FROM_DATABASE=NC3165 Fast Ethernet Upgrade Module
-
-pci:v00000E11d0000B178*
- ID_PRODUCT_FROM_DATABASE=Smart Array 5i/532
-
-pci:v00000E11d0000B178sv00000E11sd00004080*
- ID_PRODUCT_FROM_DATABASE=Smart Array 5i
-
-pci:v00000E11d0000B178sv00000E11sd00004082*
- ID_PRODUCT_FROM_DATABASE=Smart Array 532
-
-pci:v00000E11d0000B178sv00000E11sd00004083*
- ID_PRODUCT_FROM_DATABASE=Smart Array 5312
-
-pci:v00000E11d0000B1A4*
- ID_PRODUCT_FROM_DATABASE=NC7131 Gigabit Server Adapter
-
-pci:v00000E11d0000B200*
- ID_PRODUCT_FROM_DATABASE=Memory Hot-Plug Controller
-
-pci:v00000E11d0000B203*
- ID_PRODUCT_FROM_DATABASE=Integrated Lights Out Controller
-
-pci:v00000E11d0000B204*
- ID_PRODUCT_FROM_DATABASE=Integrated Lights Out Processor
-
-pci:v00000E11d0000C000*
- ID_PRODUCT_FROM_DATABASE=Remote Insight Lights-Out Edition
-
-pci:v00000E11d0000F130*
- ID_PRODUCT_FROM_DATABASE=NetFlex-3/P ThunderLAN 1.0
-
-pci:v00000E11d0000F150*
- ID_PRODUCT_FROM_DATABASE=NetFlex-3/P ThunderLAN 2.3
-
-pci:v00000E21*
- ID_VENDOR_FROM_DATABASE=Cowon Systems, Inc.
-
-pci:v00000E55*
- ID_VENDOR_FROM_DATABASE=HaSoTec GmbH
-
-pci:v00000EAC*
- ID_VENDOR_FROM_DATABASE=SHF Communication Technologies AG
-
-pci:v00000EACd00000008*
- ID_PRODUCT_FROM_DATABASE=Ethernet Powerlink Managing Node 01
-
-pci:v00000F62*
- ID_VENDOR_FROM_DATABASE=Acrox Technologies Co., Ltd.
-
-pci:v00001000*
- ID_VENDOR_FROM_DATABASE=LSI Logic / Symbios Logic
-
-pci:v00001000d00000001*
- ID_PRODUCT_FROM_DATABASE=53c810
-
-pci:v00001000d00000001sv00001000sd00001000*
- ID_PRODUCT_FROM_DATABASE=LSI53C810AE PCI to SCSI I/O Processor
-
-pci:v00001000d00000002*
- ID_PRODUCT_FROM_DATABASE=53c820
-
-pci:v00001000d00000003*
- ID_PRODUCT_FROM_DATABASE=53c825
-
-pci:v00001000d00000003sv00001000sd00001000*
- ID_PRODUCT_FROM_DATABASE=LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide)
-
-pci:v00001000d00000004*
- ID_PRODUCT_FROM_DATABASE=53c815
-
-pci:v00001000d00000005*
- ID_PRODUCT_FROM_DATABASE=53c810AP
-
-pci:v00001000d00000006*
- ID_PRODUCT_FROM_DATABASE=53c860
-
-pci:v00001000d00000006sv00001000sd00001000*
- ID_PRODUCT_FROM_DATABASE=LSI53C860E PCI to Ultra SCSI I/O Processor
-
-pci:v00001000d0000000A*
- ID_PRODUCT_FROM_DATABASE=53c1510
-
-pci:v00001000d0000000Asv00000E11sd0000B143*
- ID_PRODUCT_FROM_DATABASE=Integrated Dual Channel Wide Ultra2 SCSI Controller
-
-pci:v00001000d0000000Asv00001000sd00001000*
- ID_PRODUCT_FROM_DATABASE=LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode)
-
-pci:v00001000d0000000B*
- ID_PRODUCT_FROM_DATABASE=53C896/897
-
-pci:v00001000d0000000Bsv00000E11sd00006004*
- ID_PRODUCT_FROM_DATABASE=EOB003 Series SCSI host adapter
-
-pci:v00001000d0000000Bsv00001000sd00001000*
- ID_PRODUCT_FROM_DATABASE=LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller
-
-pci:v00001000d0000000Bsv00001000sd00001010*
- ID_PRODUCT_FROM_DATABASE=LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter
-
-pci:v00001000d0000000Bsv00001000sd00001020*
- ID_PRODUCT_FROM_DATABASE=LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter
-
-pci:v00001000d0000000Bsv000013E9sd00001000*
- ID_PRODUCT_FROM_DATABASE=6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics)
-
-pci:v00001000d0000000C*
- ID_PRODUCT_FROM_DATABASE=53c895
-
-pci:v00001000d0000000Csv00001000sd00001010*
- ID_PRODUCT_FROM_DATABASE=LSI8951U PCI to Ultra2 SCSI host adapter
-
-pci:v00001000d0000000Csv00001000sd00001020*
- ID_PRODUCT_FROM_DATABASE=LSI8952U PCI to Ultra2 SCSI host adapter
-
-pci:v00001000d0000000Csv00001DE1sd00003906*
- ID_PRODUCT_FROM_DATABASE=DC-390U2B SCSI adapter
-
-pci:v00001000d0000000Csv00001DE1sd00003907*
- ID_PRODUCT_FROM_DATABASE=DC-390U2W
-
-pci:v00001000d0000000D*
- ID_PRODUCT_FROM_DATABASE=53c885
-
-pci:v00001000d0000000F*
- ID_PRODUCT_FROM_DATABASE=53c875
-
-pci:v00001000d0000000Fsv00000E11sd00007004*
- ID_PRODUCT_FROM_DATABASE=Embedded Ultra Wide SCSI Controller
-
-pci:v00001000d0000000Fsv00001000sd00001000*
- ID_PRODUCT_FROM_DATABASE=LSI53C876/E PCI to Dual Channel SCSI Controller
-
-pci:v00001000d0000000Fsv00001000sd00001010*
- ID_PRODUCT_FROM_DATABASE=LSI22801 PCI to Dual Channel Ultra SCSI host adapter
-
-pci:v00001000d0000000Fsv00001000sd00001020*
- ID_PRODUCT_FROM_DATABASE=LSI22802 PCI to Dual Channel Ultra SCSI host adapter
-
-pci:v00001000d0000000Fsv00001092sd00008760*
- ID_PRODUCT_FROM_DATABASE=FirePort 40 Dual SCSI Controller
-
-pci:v00001000d0000000Fsv00001775sd000010D0*
- ID_PRODUCT_FROM_DATABASE=V5D Single Board Computer Wide Ultra SCSI
-
-pci:v00001000d0000000Fsv00001775sd000010D1*
- ID_PRODUCT_FROM_DATABASE=V5D Single Board Computer Ultra SCSI
-
-pci:v00001000d0000000Fsv00001DE1sd00003904*
- ID_PRODUCT_FROM_DATABASE=DC390F/U Ultra Wide SCSI Adapter
-
-pci:v00001000d0000000Fsv00004C53sd00001000*
- ID_PRODUCT_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard
-
-pci:v00001000d0000000Fsv00004C53sd00001050*
- ID_PRODUCT_FROM_DATABASE=CT7 mainboard
-
-pci:v00001000d00000010*
- ID_PRODUCT_FROM_DATABASE=53C1510
-
-pci:v00001000d00000010sv00000E11sd00004040*
- ID_PRODUCT_FROM_DATABASE=Integrated Smart Array Controller
-
-pci:v00001000d00000010sv00000E11sd00004048*
- ID_PRODUCT_FROM_DATABASE=RAID LC2 Controller
-
-pci:v00001000d00000010sv00001000sd00001000*
- ID_PRODUCT_FROM_DATABASE=53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode)
-
-pci:v00001000d00000012*
- ID_PRODUCT_FROM_DATABASE=53c895a
-
-pci:v00001000d00000012sv00001000sd00001000*
- ID_PRODUCT_FROM_DATABASE=LSI53C895A PCI to Ultra2 SCSI Controller
-
-pci:v00001000d00000013*
- ID_PRODUCT_FROM_DATABASE=53c875a
-
-pci:v00001000d00000013sv00001000sd00001000*
- ID_PRODUCT_FROM_DATABASE=LSI53C875A PCI to Ultra SCSI Controller
-
-pci:v00001000d00000020*
- ID_PRODUCT_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter
-
-pci:v00001000d00000020sv00001000sd00001000*
- ID_PRODUCT_FROM_DATABASE=LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller
-
-pci:v00001000d00000020sv0000107Bsd00001040*
- ID_PRODUCT_FROM_DATABASE=Server Onboard 53C1010-33
-
-pci:v00001000d00000020sv00001DE1sd00001020*
- ID_PRODUCT_FROM_DATABASE=DC-390U3W
-
-pci:v00001000d00000021*
- ID_PRODUCT_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter
-
-pci:v00001000d00000021sv00001000sd00001000*
- ID_PRODUCT_FROM_DATABASE=LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller
-
-pci:v00001000d00000021sv00001000sd00001010*
- ID_PRODUCT_FROM_DATABASE=Asus TR-DLS onboard 53C1010-66
-
-pci:v00001000d00000021sv0000103Csd00001300*
- ID_PRODUCT_FROM_DATABASE=Ultra160 SCSI [AB306A]
-
-pci:v00001000d00000021sv0000103Csd00001310*
- ID_PRODUCT_FROM_DATABASE=Ultra160 SCSI [A9918A]
-
-pci:v00001000d00000021sv0000103Csd00001330*
- ID_PRODUCT_FROM_DATABASE=Ultra160 SCSI [A7059A]
-
-pci:v00001000d00000021sv0000103Csd00001340*
- ID_PRODUCT_FROM_DATABASE=Ultra160 SCSI [A7060A]
-
-pci:v00001000d00000021sv0000124Bsd00001070*
- ID_PRODUCT_FROM_DATABASE=PMC-USCSI3
-
-pci:v00001000d00000021sv00004C53sd00001080*
- ID_PRODUCT_FROM_DATABASE=CT8 mainboard
-
-pci:v00001000d00000021sv00004C53sd00001300*
- ID_PRODUCT_FROM_DATABASE=P017 mezzanine (32-bit PMC)
-
-pci:v00001000d00000021sv00004C53sd00001310*
- ID_PRODUCT_FROM_DATABASE=P017 mezzanine (64-bit PMC)
-
-pci:v00001000d0000002F*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 2208 IOV [Thunderbolt]
-
-pci:v00001000d0000002Fsv00001028sd00001F3E*
- ID_PRODUCT_FROM_DATABASE=SPERC 8
-
-pci:v00001000d00000030*
- ID_PRODUCT_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI
-
-pci:v00001000d00000030sv00000E11sd000000DA*
- ID_PRODUCT_FROM_DATABASE=ProLiant ML 350
-
-pci:v00001000d00000030sv00001028sd00000123*
- ID_PRODUCT_FROM_DATABASE=LSI Logic 1020/1030
-
-pci:v00001000d00000030sv00001028sd0000014A*
- ID_PRODUCT_FROM_DATABASE=LSI Logic 1020/1030
-
-pci:v00001000d00000030sv00001028sd0000016C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4)
-
-pci:v00001000d00000030sv00001028sd00000183*
- ID_PRODUCT_FROM_DATABASE=LSI Logic 1020/1030
-
-pci:v00001000d00000030sv00001028sd0000018A*
- ID_PRODUCT_FROM_DATABASE=PERC 4/IM
-
-pci:v00001000d00000030sv00001028sd00001010*
- ID_PRODUCT_FROM_DATABASE=LSI U320 SCSI Controller
-
-pci:v00001000d00000030sv0000103Csd000012C5*
- ID_PRODUCT_FROM_DATABASE=Ultra320 SCSI [A7173A]
-
-pci:v00001000d00000030sv0000103Csd00001323*
- ID_PRODUCT_FROM_DATABASE=Core I/O LAN/SCSI Combo [AB314A]
-
-pci:v00001000d00000030sv0000103Csd00003108*
- ID_PRODUCT_FROM_DATABASE=Single Channel Ultra320 SCSI HBA G2
-
-pci:v00001000d00000030sv0000124Bsd00001170*
- ID_PRODUCT_FROM_DATABASE=PMC-USCSI320
-
-pci:v00001000d00000030sv000015ADsd00001976*
- ID_PRODUCT_FROM_DATABASE=LSI Logic Parallel SCSI Controller
-
-pci:v00001000d00000030sv00001734sd00001052*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY BX/RX/TX S2 series onboard SCSI(IME)
-
-pci:v00001000d00000031*
- ID_PRODUCT_FROM_DATABASE=53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI
-
-pci:v00001000d00000032*
- ID_PRODUCT_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI
-
-pci:v00001000d00000032sv00001000sd00001000*
- ID_PRODUCT_FROM_DATABASE=LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller
-
-pci:v00001000d00000033*
- ID_PRODUCT_FROM_DATABASE=1030ZC_53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI
-
-pci:v00001000d00000040*
- ID_PRODUCT_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI
-
-pci:v00001000d00000040sv00001000sd00000033*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SCSI 320-2XR
-
-pci:v00001000d00000040sv00001000sd00000066*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SCSI 320-2XRWS
-
-pci:v00001000d00000041*
- ID_PRODUCT_FROM_DATABASE=53C1035ZC PCI-X Fusion-MPT Dual Ultra320 SCSI
-
-pci:v00001000d00000050*
- ID_PRODUCT_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS
-
-pci:v00001000d00000050sv00001028sd00001F04*
- ID_PRODUCT_FROM_DATABASE=SAS 5/E
-
-pci:v00001000d00000050sv00001028sd00001F09*
- ID_PRODUCT_FROM_DATABASE=SAS 5i/R
-
-pci:v00001000d00000054*
- ID_PRODUCT_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS
-
-pci:v00001000d00000054sv00001028sd00001F04*
- ID_PRODUCT_FROM_DATABASE=SAS 5/E Adapter Controller
-
-pci:v00001000d00000054sv00001028sd00001F05*
- ID_PRODUCT_FROM_DATABASE=SAS 5/i Adapter Controller
-
-pci:v00001000d00000054sv00001028sd00001F06*
- ID_PRODUCT_FROM_DATABASE=SAS 5/i Integrated Controller
-
-pci:v00001000d00000054sv00001028sd00001F07*
- ID_PRODUCT_FROM_DATABASE=SAS 5/iR Integrated RAID Controller
-
-pci:v00001000d00000054sv00001028sd00001F08*
- ID_PRODUCT_FROM_DATABASE=SAS 5/iR Integrated RAID Controller
-
-pci:v00001000d00000054sv00001028sd00001F09*
- ID_PRODUCT_FROM_DATABASE=SAS 5/iR Adapter RAID Controller
-
-pci:v00001000d00000054sv000015ADsd00001976*
- ID_PRODUCT_FROM_DATABASE=SAS Controller
-
-pci:v00001000d00000055*
- ID_PRODUCT_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS
-
-pci:v00001000d00000055sv00001033sd00008336*
- ID_PRODUCT_FROM_DATABASE=SAS1068
-
-pci:v00001000d00000056*
- ID_PRODUCT_FROM_DATABASE=SAS1064ET PCI-Express Fusion-MPT SAS
-
-pci:v00001000d00000056sv00001014sd000003BB*
- ID_PRODUCT_FROM_DATABASE=ServeRAID BR10il SAS/SATA Controller v2
-
-pci:v00001000d00000057*
- ID_PRODUCT_FROM_DATABASE=M1064E MegaRAID SAS
-
-pci:v00001000d00000057sv00008086sd0000346C*
- ID_PRODUCT_FROM_DATABASE=Embedded Software RAID Technology II (ESTRII)
-
-pci:v00001000d00000058*
- ID_PRODUCT_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS
-
-pci:v00001000d00000058sv00001000sd00003140*
- ID_PRODUCT_FROM_DATABASE=SAS3081E-R 8-Port SAS/SATA Host Bus Adapter
-
-pci:v00001000d00000058sv00001028sd0000021D*
- ID_PRODUCT_FROM_DATABASE=SAS 6/iR Integrated Workstations RAID Controller
-
-pci:v00001000d00000058sv00001028sd00001F0E*
- ID_PRODUCT_FROM_DATABASE=SAS 6/iR Adapter RAID Controller
-
-pci:v00001000d00000058sv00001028sd00001F0F*
- ID_PRODUCT_FROM_DATABASE=SAS 6/iR Integrated Blades RAID Controller
-
-pci:v00001000d00000058sv00001028sd00001F10*
- ID_PRODUCT_FROM_DATABASE=SAS 6/iR Integrated RAID Controller
-
-pci:v00001000d00000058sv0000103Csd00003229*
- ID_PRODUCT_FROM_DATABASE=SC44Ge Host Bus Adapter
-
-pci:v00001000d00000059*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 8208ELP/8208ELP
-
-pci:v00001000d0000005A*
- ID_PRODUCT_FROM_DATABASE=SAS1066E PCI-Express Fusion-MPT SAS
-
-pci:v00001000d0000005B*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt]
-
-pci:v00001000d0000005Bsv00001000sd00009265*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9265-8i
-
-pci:v00001000d0000005Bsv00001000sd00009266*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9266-8i
-
-pci:v00001000d0000005Bsv00001000sd00009267*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9267-8i
-
-pci:v00001000d0000005Bsv00001000sd00009268*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9265CV-8i / 9270CV-8i
-
-pci:v00001000d0000005Bsv00001000sd00009269*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9266-4i
-
-pci:v00001000d0000005Bsv00001000sd00009270*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9270-8i
-
-pci:v00001000d0000005Bsv00001000sd00009271*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9271-8i
-
-pci:v00001000d0000005Bsv00001000sd00009272*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9272-8i
-
-pci:v00001000d0000005Bsv00001000sd00009273*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9270CV-8i
-
-pci:v00001000d0000005Bsv00001000sd00009274*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9270-4i
-
-pci:v00001000d0000005Bsv00001000sd00009275*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9271-8iCC
-
-pci:v00001000d0000005Bsv00001000sd00009276*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9271-4i
-
-pci:v00001000d0000005Bsv00001000sd00009285*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9285-8e
-
-pci:v00001000d0000005Bsv00001000sd00009288*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9285CV-8e
-
-pci:v00001000d0000005Bsv00001000sd00009290*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9286-8e
-
-pci:v00001000d0000005Bsv00001000sd00009291*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9286CV-8e
-
-pci:v00001000d0000005Bsv00001000sd00009295*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9286CV-8eCC
-
-pci:v00001000d0000005Bsv00001014sd0000040B*
- ID_PRODUCT_FROM_DATABASE=ServeRAID M5110 SAS/SATA Controller
-
-pci:v00001000d0000005Bsv00001014sd00000412*
- ID_PRODUCT_FROM_DATABASE=ServeRAID M5110e SAS/SATA Controller
-
-pci:v00001000d0000005Bsv00001028sd00001F2D*
- ID_PRODUCT_FROM_DATABASE=PERC H810 Adapter
-
-pci:v00001000d0000005Bsv00001028sd00001F30*
- ID_PRODUCT_FROM_DATABASE=PERC H710 Embedded
-
-pci:v00001000d0000005Bsv00001028sd00001F31*
- ID_PRODUCT_FROM_DATABASE=PERC H710P Adapter
-
-pci:v00001000d0000005Bsv00001028sd00001F33*
- ID_PRODUCT_FROM_DATABASE=PERC H710P Mini (for blades)
-
-pci:v00001000d0000005Bsv00001028sd00001F34*
- ID_PRODUCT_FROM_DATABASE=PERC H710P Mini (for monolithics)
-
-pci:v00001000d0000005Bsv00001028sd00001F35*
- ID_PRODUCT_FROM_DATABASE=PERC H710 Adapter
-
-pci:v00001000d0000005Bsv00001028sd00001F37*
- ID_PRODUCT_FROM_DATABASE=PERC H710 Mini (for blades)
-
-pci:v00001000d0000005Bsv00001028sd00001F38*
- ID_PRODUCT_FROM_DATABASE=PERC H710 Mini (for monolithics)
-
-pci:v00001000d0000005Bsv00008086sd00003513*
- ID_PRODUCT_FROM_DATABASE=RMS25CB080 RAID Controller
-
-pci:v00001000d0000005C*
- ID_PRODUCT_FROM_DATABASE=SAS1064A PCI-X Fusion-MPT SAS
-
-pci:v00001000d0000005D*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader]
-
-pci:v00001000d0000005E*
- ID_PRODUCT_FROM_DATABASE=SAS1066 PCI-X Fusion-MPT SAS
-
-pci:v00001000d0000005F*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury]
-
-pci:v00001000d00000060*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 1078
-
-pci:v00001000d00000060sv00001000sd00001006*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 8888ELP
-
-pci:v00001000d00000060sv00001000sd0000100A*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 8708ELP
-
-pci:v00001000d00000060sv00001000sd0000100E*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 8884E
-
-pci:v00001000d00000060sv00001000sd0000100F*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 8708E
-
-pci:v00001000d00000060sv00001000sd00001010*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SATA 350-8ELP
-
-pci:v00001000d00000060sv00001000sd00001011*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SATA 350-4ELP
-
-pci:v00001000d00000060sv00001000sd00001012*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 8704ELP
-
-pci:v00001000d00000060sv00001000sd00001016*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 8880EM2
-
-pci:v00001000d00000060sv00001014sd00000363*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
-
-pci:v00001000d00000060sv00001014sd00000364*
- ID_PRODUCT_FROM_DATABASE=SystemX MegaRAID SAS 8808E
-
-pci:v00001000d00000060sv00001014sd00000365*
- ID_PRODUCT_FROM_DATABASE=SystemX MegaRAID SAS 8884E
-
-pci:v00001000d00000060sv00001014sd00000379*
- ID_PRODUCT_FROM_DATABASE=SystemX MegaRAID SAS 8880EM2
-
-pci:v00001000d00000060sv00001028sd00001F0A*
- ID_PRODUCT_FROM_DATABASE=PERC 6/E Adapter RAID Controller
-
-pci:v00001000d00000060sv00001028sd00001F0B*
- ID_PRODUCT_FROM_DATABASE=PERC 6/i Adapter RAID Controller
-
-pci:v00001000d00000060sv00001028sd00001F0C*
- ID_PRODUCT_FROM_DATABASE=PERC 6/i Integrated RAID Controller
-
-pci:v00001000d00000060sv00001028sd00001F0D*
- ID_PRODUCT_FROM_DATABASE=PERC 6/i Integrated RAID Controller
-
-pci:v00001000d00000060sv00001028sd00001F11*
- ID_PRODUCT_FROM_DATABASE=CERC 6/i Integrated RAID Controller
-
-pci:v00001000d00000060sv00001033sd0000835A*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
-
-pci:v00001000d00000060sv00001043sd0000824D*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
-
-pci:v00001000d00000060sv00001170sd0000002F*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
-
-pci:v00001000d00000060sv00001170sd00000036*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
-
-pci:v00001000d00000060sv000015D9sd0000C080*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
-
-pci:v00001000d00000060sv000017AAsd00006B7C*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
-
-pci:v00001000d00000060sv000018A1sd00000003*
- ID_PRODUCT_FROM_DATABASE=LSI MegaRAID SAS PCI Express ROMB
-
-pci:v00001000d00000060sv00008086sd00001006*
- ID_PRODUCT_FROM_DATABASE=RAID Controller SRCSAS28EP
-
-pci:v00001000d00000060sv00008086sd0000100A*
- ID_PRODUCT_FROM_DATABASE=RAID Controller SRCSAS28EV
-
-pci:v00001000d00000060sv00008086sd00001010*
- ID_PRODUCT_FROM_DATABASE=RAID Controller SRCSATA28E
-
-pci:v00001000d00000060sv00008086sd000034CC*
- ID_PRODUCT_FROM_DATABASE=Integrated RAID Controller SROMBSAS28E
-
-pci:v00001000d00000060sv00008086sd000034CD*
- ID_PRODUCT_FROM_DATABASE=Integrated RAID Controller SROMBSAS28E
-
-pci:v00001000d00000060sv00008086sd00003505*
- ID_PRODUCT_FROM_DATABASE=Integrated RAID Controller SROMBSASMP2
-
-pci:v00001000d00000062*
- ID_PRODUCT_FROM_DATABASE=SAS1078 PCI-Express Fusion-MPT SAS
-
-pci:v00001000d00000062sv00001000sd00000062*
- ID_PRODUCT_FROM_DATABASE=SAS1078 PCI-Express Fusion-MPT SAS
-
-pci:v00001000d00000064*
- ID_PRODUCT_FROM_DATABASE=SAS2116 PCI-Express Fusion-MPT SAS-2 [Meteor]
-
-pci:v00001000d00000065*
- ID_PRODUCT_FROM_DATABASE=SAS2116 PCI-Express Fusion-MPT SAS-2 [Meteor]
-
-pci:v00001000d0000006E*
- ID_PRODUCT_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2
-
-pci:v00001000d00000070*
- ID_PRODUCT_FROM_DATABASE=SAS2004 PCI-Express Fusion-MPT SAS-2 [Spitfire]
-
-pci:v00001000d00000071*
- ID_PRODUCT_FROM_DATABASE=MR SAS HBA 2004
-
-pci:v00001000d00000072*
- ID_PRODUCT_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]
-
-pci:v00001000d00000072sv00001028sd00001F1C*
- ID_PRODUCT_FROM_DATABASE=6Gbps SAS HBA Adapter
-
-pci:v00001000d00000072sv00001028sd00001F1D*
- ID_PRODUCT_FROM_DATABASE=PERC H200 Adapter
-
-pci:v00001000d00000072sv00001028sd00001F1E*
- ID_PRODUCT_FROM_DATABASE=PERC H200 Integrated
-
-pci:v00001000d00000072sv00001028sd00001F1F*
- ID_PRODUCT_FROM_DATABASE=PERC H200 Modular
-
-pci:v00001000d00000072sv00001028sd00001F20*
- ID_PRODUCT_FROM_DATABASE=PERC H200 Embedded
-
-pci:v00001000d00000072sv00001028sd00001F22*
- ID_PRODUCT_FROM_DATABASE=Internal Tape Adapter
-
-pci:v00001000d00000072sv00008086sd0000350F*
- ID_PRODUCT_FROM_DATABASE=RMS2LL040 RAID Controller
-
-pci:v00001000d00000073*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 2008 [Falcon]
-
-pci:v00001000d00000073sv00001000sd00009240*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9240-8i
-
-pci:v00001000d00000073sv00001000sd00009241*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9240-4i
-
-pci:v00001000d00000073sv00001000sd000092A0*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9220-8i
-
-pci:v00001000d00000073sv00001014sd000003B1*
- ID_PRODUCT_FROM_DATABASE=ServeRAID M1015 SAS/SATA Controller
-
-pci:v00001000d00000073sv00001028sd00001F4E*
- ID_PRODUCT_FROM_DATABASE=PERC H310 Adapter
-
-pci:v00001000d00000073sv00001028sd00001F4F*
- ID_PRODUCT_FROM_DATABASE=PERC H310 Integrated
-
-pci:v00001000d00000073sv00001028sd00001F50*
- ID_PRODUCT_FROM_DATABASE=PERC H310 Mini Blades
-
-pci:v00001000d00000073sv00001028sd00001F51*
- ID_PRODUCT_FROM_DATABASE=PERC H310 Mini Monolithics
-
-pci:v00001000d00000073sv00001028sd00001F52*
- ID_PRODUCT_FROM_DATABASE=PERC H310 Embedded1
-
-pci:v00001000d00000073sv00001028sd00001F53*
- ID_PRODUCT_FROM_DATABASE=PERC H310 Embedded2
-
-pci:v00001000d00000073sv00001028sd00001F54*
- ID_PRODUCT_FROM_DATABASE=PERC H310 Reserved
-
-pci:v00001000d00000073sv00001054sd00003035*
- ID_PRODUCT_FROM_DATABASE=LSI MegaRAID SAS 9240-8i
-
-pci:v00001000d00000073sv00001137sd00000072*
- ID_PRODUCT_FROM_DATABASE=2004 iMR ROMB
-
-pci:v00001000d00000073sv00001137sd00000073*
- ID_PRODUCT_FROM_DATABASE=2008 ROMB
-
-pci:v00001000d00000073sv00001137sd000000B0*
- ID_PRODUCT_FROM_DATABASE=UCSC RAID SAS 2008M-8i
-
-pci:v00001000d00000073sv00001137sd000000B1*
- ID_PRODUCT_FROM_DATABASE=UCSC RAID SAS 2008M-8i
-
-pci:v00001000d00000073sv000015D9sd00000400*
- ID_PRODUCT_FROM_DATABASE=Supermicro SMC2008-iMR
-
-pci:v00001000d00000073sv00001734sd00001177*
- ID_PRODUCT_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607)
-
-pci:v00001000d00000073sv00008086sd0000350D*
- ID_PRODUCT_FROM_DATABASE=RMS2AF040 RAID Controller
-
-pci:v00001000d00000073sv00008086sd00009240*
- ID_PRODUCT_FROM_DATABASE=RAID Controller RS2WC080
-
-pci:v00001000d00000073sv00008086sd00009241*
- ID_PRODUCT_FROM_DATABASE=RAID Controller RS2WC040
-
-pci:v00001000d00000074*
- ID_PRODUCT_FROM_DATABASE=SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator]
-
-pci:v00001000d00000076*
- ID_PRODUCT_FROM_DATABASE=SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator]
-
-pci:v00001000d00000077*
- ID_PRODUCT_FROM_DATABASE=SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator]
-
-pci:v00001000d00000079*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 2108 [Liberator]
-
-pci:v00001000d00000079sv00001000sd00009251*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9260-4ix
-
-pci:v00001000d00000079sv00001000sd00009256*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9260-8ix
-
-pci:v00001000d00000079sv00001000sd00009260*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9260-4i
-
-pci:v00001000d00000079sv00001000sd00009261*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9260-8i
-
-pci:v00001000d00000079sv00001000sd00009262*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9262-8i
-
-pci:v00001000d00000079sv00001000sd00009263*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9261-8i
-
-pci:v00001000d00000079sv00001000sd00009264*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9264-8i
-
-pci:v00001000d00000079sv00001000sd00009267*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9260CV-4i
-
-pci:v00001000d00000079sv00001000sd00009268*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9260CV-8i
-
-pci:v00001000d00000079sv00001000sd00009275*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9280-8ex
-
-pci:v00001000d00000079sv00001000sd00009276*
- ID_PRODUCT_FROM_DATABASE=MR9260-16i
-
-pci:v00001000d00000079sv00001000sd00009280*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9280-8e
-
-pci:v00001000d00000079sv00001000sd00009281*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9281-8E
-
-pci:v00001000d00000079sv00001000sd00009282*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9280-4i4e
-
-pci:v00001000d00000079sv00001000sd00009290*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9280DE-24i4e
-
-pci:v00001000d00000079sv00001014sd000003B2*
- ID_PRODUCT_FROM_DATABASE=ServeRAID M5015 SAS/SATA Controller
-
-pci:v00001000d00000079sv00001014sd000003B3*
- ID_PRODUCT_FROM_DATABASE=ServeRAID M5025 SAS/SATA Controller
-
-pci:v00001000d00000079sv00001028sd00001F15*
- ID_PRODUCT_FROM_DATABASE=PERC H800 Adapter
-
-pci:v00001000d00000079sv00001028sd00001F16*
- ID_PRODUCT_FROM_DATABASE=PERC H700 Adapter
-
-pci:v00001000d00000079sv00001028sd00001F17*
- ID_PRODUCT_FROM_DATABASE=PERC H700 Integrated
-
-pci:v00001000d00000079sv00001028sd00001F18*
- ID_PRODUCT_FROM_DATABASE=PERC H700 Modular
-
-pci:v00001000d00000079sv00001028sd00001F1A*
- ID_PRODUCT_FROM_DATABASE=PERC H800 Proto Adapter
-
-pci:v00001000d00000079sv00001028sd00001F1B*
- ID_PRODUCT_FROM_DATABASE=PERC H700 Integrated
-
-pci:v00001000d00000079sv00001043sd00008480*
- ID_PRODUCT_FROM_DATABASE=PIKE-2108 16PD
-
-pci:v00001000d00000079sv00001734sd00001176*
- ID_PRODUCT_FROM_DATABASE=RAID Ctrl SAS 6G 5/6 512MB (D2616)
-
-pci:v00001000d00000079sv00001734sd00001177*
- ID_PRODUCT_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607)
-
-pci:v00001000d00000079sv00008086sd00009256*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 9260DE-8i
-
-pci:v00001000d00000079sv00008086sd00009260*
- ID_PRODUCT_FROM_DATABASE=RAID Controller RS2BL040
-
-pci:v00001000d00000079sv00008086sd00009261*
- ID_PRODUCT_FROM_DATABASE=RAID Controller RS2BL080
-
-pci:v00001000d00000079sv00008086sd00009264*
- ID_PRODUCT_FROM_DATABASE=Warm Beach (Caster Lite)
-
-pci:v00001000d00000079sv00008086sd00009267*
- ID_PRODUCT_FROM_DATABASE=RAID Controller RS2VB040
-
-pci:v00001000d00000079sv00008086sd00009268*
- ID_PRODUCT_FROM_DATABASE=RAID Controller RS2VB080
-
-pci:v00001000d0000007C*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 1078DE
-
-pci:v00001000d0000007Csv00001014sd00000395*
- ID_PRODUCT_FROM_DATABASE=ServeRAID-AR10is SAS/SATA Controller
-
-pci:v00001000d0000007E*
- ID_PRODUCT_FROM_DATABASE=SSS6200 PCI-Express Flash SSD
-
-pci:v00001000d00000080*
- ID_PRODUCT_FROM_DATABASE=SAS2208 PCI-Express Fusion-MPT SAS-2
-
-pci:v00001000d00000081*
- ID_PRODUCT_FROM_DATABASE=SAS2208 PCI-Express Fusion-MPT SAS-2
-
-pci:v00001000d00000082*
- ID_PRODUCT_FROM_DATABASE=SAS2208 PCI-Express Fusion-MPT SAS-2
-
-pci:v00001000d00000083*
- ID_PRODUCT_FROM_DATABASE=SAS2208 PCI-Express Fusion-MPT SAS-2
-
-pci:v00001000d00000084*
- ID_PRODUCT_FROM_DATABASE=SAS2208 PCI-Express Fusion-MPT SAS-2
-
-pci:v00001000d00000085*
- ID_PRODUCT_FROM_DATABASE=SAS2208 PCI-Express Fusion-MPT SAS-2
-
-pci:v00001000d00000086*
- ID_PRODUCT_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2
-
-pci:v00001000d00000087*
- ID_PRODUCT_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2
-
-pci:v00001000d00000087sv00001590sd00000044*
- ID_PRODUCT_FROM_DATABASE=H220i
-
-pci:v00001000d0000008F*
- ID_PRODUCT_FROM_DATABASE=53c875J
-
-pci:v00001000d0000008Fsv00001092sd00008000*
- ID_PRODUCT_FROM_DATABASE=FirePort 40 SCSI Controller
-
-pci:v00001000d0000008Fsv00001092sd00008760*
- ID_PRODUCT_FROM_DATABASE=FirePort 40 Dual SCSI Host Adapter
-
-pci:v00001000d00000090*
- ID_PRODUCT_FROM_DATABASE=SAS3108 PCI-Express Fusion-MPT SAS-3
-
-pci:v00001000d00000091*
- ID_PRODUCT_FROM_DATABASE=SAS3108 PCI-Express Fusion-MPT SAS-3
-
-pci:v00001000d00000094*
- ID_PRODUCT_FROM_DATABASE=SAS3108 PCI-Express Fusion-MPT SAS-3
-
-pci:v00001000d00000095*
- ID_PRODUCT_FROM_DATABASE=SAS3108 PCI-Express Fusion-MPT SAS-3
-
-pci:v00001000d00000096*
- ID_PRODUCT_FROM_DATABASE=SAS3004 PCI-Express Fusion-MPT SAS-3
-
-pci:v00001000d00000097*
- ID_PRODUCT_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3
-
-pci:v00001000d00000407*
- ID_PRODUCT_FROM_DATABASE=MegaRAID
-
-pci:v00001000d00000407sv00001000sd00000530*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 530 SCSI 320-0X RAID Controller
-
-pci:v00001000d00000407sv00001000sd00000531*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 531 SCSI 320-4X RAID Controller
-
-pci:v00001000d00000407sv00001000sd00000532*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 532 SCSI 320-2X RAID Controller
-
-pci:v00001000d00000407sv00001028sd00000531*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC
-
-pci:v00001000d00000407sv00001028sd00000533*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC
-
-pci:v00001000d00000407sv00008086sd00000530*
- ID_PRODUCT_FROM_DATABASE=MegaRAID Intel RAID Controller SRCZCRX
-
-pci:v00001000d00000407sv00008086sd00000532*
- ID_PRODUCT_FROM_DATABASE=MegaRAID Intel RAID Controller SRCU42X
-
-pci:v00001000d00000408*
- ID_PRODUCT_FROM_DATABASE=MegaRAID
-
-pci:v00001000d00000408sv00001000sd00000001*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SCSI 320-1E RAID Controller
-
-pci:v00001000d00000408sv00001000sd00000002*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SCSI 320-2E RAID Controller
-
-pci:v00001000d00000408sv00001025sd0000004D*
- ID_PRODUCT_FROM_DATABASE=MegaRAID ACER ROMB-2E RAID Controller
-
-pci:v00001000d00000408sv00001028sd00000001*
- ID_PRODUCT_FROM_DATABASE=PowerEdge RAID Controller PERC4e/SC
-
-pci:v00001000d00000408sv00001028sd00000002*
- ID_PRODUCT_FROM_DATABASE=PowerEdge RAID Controller PERC4e/DC
-
-pci:v00001000d00000408sv00001028sd00000012*
- ID_PRODUCT_FROM_DATABASE=PowerEdge RAID Controller RAC4
-
-pci:v00001000d00000408sv00001028sd00000015*
- ID_PRODUCT_FROM_DATABASE=PowerEdge RAID Controller PERC5
-
-pci:v00001000d00000408sv00001028sd00001F03*
- ID_PRODUCT_FROM_DATABASE=PowerEdge RAID Controller PERC5
-
-pci:v00001000d00000408sv00001734sd00001065*
- ID_PRODUCT_FROM_DATABASE=FSC MegaRAID PCI Express ROMB
-
-pci:v00001000d00000408sv00008086sd00000002*
- ID_PRODUCT_FROM_DATABASE=MegaRAID Intel RAID Controller SRCU42E
-
-pci:v00001000d00000408sv00008086sd00003449*
- ID_PRODUCT_FROM_DATABASE=MegaRAID Intel RAID Controller SROMBU
-
-pci:v00001000d00000409*
- ID_PRODUCT_FROM_DATABASE=MegaRAID
-
-pci:v00001000d00000409sv00001000sd00003004*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SATA 300-4X RAID Controller
-
-pci:v00001000d00000409sv00001000sd00003008*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SATA 300-8X RAID Controller
-
-pci:v00001000d00000409sv00008086sd00003008*
- ID_PRODUCT_FROM_DATABASE=MegaRAID RAID Controller SRCS28X
-
-pci:v00001000d00000409sv00008086sd00003431*
- ID_PRODUCT_FROM_DATABASE=MegaRAID RAID Controller Alief SROMBU42E
-
-pci:v00001000d00000409sv00008086sd00003499*
- ID_PRODUCT_FROM_DATABASE=MegaRAID RAID Controller Harwich SROMBU42E
-
-pci:v00001000d00000411*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 1068
-
-pci:v00001000d00000411sv00001000sd00001001*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 8408E
-
-pci:v00001000d00000411sv00001000sd00001002*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 8480E
-
-pci:v00001000d00000411sv00001000sd00001003*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 8344ELP
-
-pci:v00001000d00000411sv00001000sd00001004*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 8308ELP
-
-pci:v00001000d00000411sv00001000sd00001008*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 84016E
-
-pci:v00001000d00000411sv00001000sd0000100C*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SATA 300-12E
-
-pci:v00001000d00000411sv00001000sd0000100D*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SATA 300-16E
-
-pci:v00001000d00000411sv00001000sd00002004*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SATA 300-8ELP
-
-pci:v00001000d00000411sv00001000sd00002005*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SATA 300-4ELP
-
-pci:v00001000d00000411sv00001033sd00008287*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
-
-pci:v00001000d00000411sv00001054sd00003016*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS RoMB Server
-
-pci:v00001000d00000411sv00001734sd00001081*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
-
-pci:v00001000d00000411sv00001734sd000010A3*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS PCI Express ROMB
-
-pci:v00001000d00000411sv00008086sd00001001*
- ID_PRODUCT_FROM_DATABASE=RAID Controller SRCSAS18E
-
-pci:v00001000d00000411sv00008086sd00001003*
- ID_PRODUCT_FROM_DATABASE=RAID Controller SRCSAS144E
-
-pci:v00001000d00000411sv00008086sd00003500*
- ID_PRODUCT_FROM_DATABASE=SROMBSAS18E RAID Controller
-
-pci:v00001000d00000411sv00008086sd00003501*
- ID_PRODUCT_FROM_DATABASE=SROMBSAS18E RAID Controller
-
-pci:v00001000d00000411sv00008086sd00003504*
- ID_PRODUCT_FROM_DATABASE=SROMBSAS18E RAID Controller
-
-pci:v00001000d00000413*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 1068 [Verde ZCR]
-
-pci:v00001000d00000413sv00001000sd00001005*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SAS 8300XLP
-
-pci:v00001000d00000621*
- ID_PRODUCT_FROM_DATABASE=FC909 Fibre Channel Adapter
-
-pci:v00001000d00000622*
- ID_PRODUCT_FROM_DATABASE=FC929 Fibre Channel Adapter
-
-pci:v00001000d00000622sv00001000sd00001020*
- ID_PRODUCT_FROM_DATABASE=44929 O Dual Fibre Channel card
-
-pci:v00001000d00000623*
- ID_PRODUCT_FROM_DATABASE=FC929 LAN
-
-pci:v00001000d00000624*
- ID_PRODUCT_FROM_DATABASE=FC919 Fibre Channel Adapter
-
-pci:v00001000d00000625*
- ID_PRODUCT_FROM_DATABASE=FC919 LAN
-
-pci:v00001000d00000626*
- ID_PRODUCT_FROM_DATABASE=FC929X Fibre Channel Adapter
-
-pci:v00001000d00000626sv00001000sd00001010*
- ID_PRODUCT_FROM_DATABASE=7202-XP-LC Dual Fibre Channel card
-
-pci:v00001000d00000627*
- ID_PRODUCT_FROM_DATABASE=FC929X LAN
-
-pci:v00001000d00000628*
- ID_PRODUCT_FROM_DATABASE=FC919X Fibre Channel Adapter
-
-pci:v00001000d00000629*
- ID_PRODUCT_FROM_DATABASE=FC919X LAN
-
-pci:v00001000d00000640*
- ID_PRODUCT_FROM_DATABASE=FC949X Fibre Channel Adapter
-
-pci:v00001000d00000642*
- ID_PRODUCT_FROM_DATABASE=FC939X Fibre Channel Adapter
-
-pci:v00001000d00000646*
- ID_PRODUCT_FROM_DATABASE=FC949ES Fibre Channel Adapter
-
-pci:v00001000d00000701*
- ID_PRODUCT_FROM_DATABASE=83C885 NT50 DigitalScape Fast Ethernet
-
-pci:v00001000d00000702*
- ID_PRODUCT_FROM_DATABASE=Yellowfin G-NIC gigabit ethernet
-
-pci:v00001000d00000702sv00001318sd00000000*
- ID_PRODUCT_FROM_DATABASE=PEI100X
-
-pci:v00001000d00000804*
- ID_PRODUCT_FROM_DATABASE=SA2010
-
-pci:v00001000d00000805*
- ID_PRODUCT_FROM_DATABASE=SA2010ZC
-
-pci:v00001000d00000806*
- ID_PRODUCT_FROM_DATABASE=SA2020
-
-pci:v00001000d00000807*
- ID_PRODUCT_FROM_DATABASE=SA2020ZC
-
-pci:v00001000d00000901*
- ID_PRODUCT_FROM_DATABASE=61C102
-
-pci:v00001000d00001000*
- ID_PRODUCT_FROM_DATABASE=63C815
-
-pci:v00001000d00001960*
- ID_PRODUCT_FROM_DATABASE=MegaRAID
-
-pci:v00001000d00001960sv00001000sd00000518*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 518 SCSI 320-2 Controller
-
-pci:v00001000d00001960sv00001000sd00000520*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 520 SCSI 320-1 Controller
-
-pci:v00001000d00001960sv00001000sd00000522*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 522 i4 133 RAID Controller
-
-pci:v00001000d00001960sv00001000sd00000523*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SATA 150-6 RAID Controller
-
-pci:v00001000d00001960sv00001000sd00004523*
- ID_PRODUCT_FROM_DATABASE=MegaRAID SATA 150-4 RAID Controller
-
-pci:v00001000d00001960sv00001000sd0000A520*
- ID_PRODUCT_FROM_DATABASE=MegaRAID ZCR SCSI 320-0 Controller
-
-pci:v00001000d00001960sv00001028sd00000518*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 518 DELL PERC 4/DC RAID Controller
-
-pci:v00001000d00001960sv00001028sd00000520*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 520 DELL PERC 4/SC RAID Controller
-
-pci:v00001000d00001960sv00001028sd00000531*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC
-
-pci:v00001000d00001960sv00001028sd00000533*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC
-
-pci:v00001000d00001960sv00008086sd00000520*
- ID_PRODUCT_FROM_DATABASE=MegaRAID RAID Controller SRCU41L
-
-pci:v00001000d00001960sv00008086sd00000523*
- ID_PRODUCT_FROM_DATABASE=MegaRAID RAID Controller SRCS16
-
-pci:v00001000d00006001*
- ID_PRODUCT_FROM_DATABASE=DX1 Multiformat Broadcast HD/SD Encoder/Decoder
-
-pci:v00001001*
- ID_VENDOR_FROM_DATABASE=Kolter Electronic
-
-pci:v00001001d00000010*
- ID_PRODUCT_FROM_DATABASE=PCI 1616 Measurement card with 32 digital I/O lines
-
-pci:v00001001d00000011*
- ID_PRODUCT_FROM_DATABASE=OPTO-PCI Opto-Isolated digital I/O board
-
-pci:v00001001d00000012*
- ID_PRODUCT_FROM_DATABASE=PCI-AD/DA Analogue I/O board
-
-pci:v00001001d00000013*
- ID_PRODUCT_FROM_DATABASE=PCI-OPTO-RELAIS Digital I/O board with relay outputs
-
-pci:v00001001d00000014*
- ID_PRODUCT_FROM_DATABASE=PCI-Counter/Timer Counter Timer board
-
-pci:v00001001d00000015*
- ID_PRODUCT_FROM_DATABASE=PCI-DAC416 Analogue output board
-
-pci:v00001001d00000016*
- ID_PRODUCT_FROM_DATABASE=PCI-MFB Analogue I/O board
-
-pci:v00001001d00000017*
- ID_PRODUCT_FROM_DATABASE=PROTO-3 PCI Prototyping board
-
-pci:v00001001d00009100*
- ID_PRODUCT_FROM_DATABASE=INI-9100/9100W SCSI Host
-
-pci:v00001002*
- ID_VENDOR_FROM_DATABASE=Advanced Micro Devices [AMD] nee ATI
-
-pci:v00001002d00001314*
- ID_PRODUCT_FROM_DATABASE=Wrestler HDMI Audio [Radeon HD 6250/6310]
-
-pci:v00001002d00001314sv0000174Bsd00001001*
- ID_PRODUCT_FROM_DATABASE=Sapphire PURE Fusion Mini
-
-pci:v00001002d00001714*
- ID_PRODUCT_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series]
-
-pci:v00001002d00001714sv0000103Csd0000168B*
- ID_PRODUCT_FROM_DATABASE=ProBook 4535s
-
-pci:v00001002d00003150*
- ID_PRODUCT_FROM_DATABASE=M24 1P [Radeon Mobility X600]
-
-pci:v00001002d00003150sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=nx8220
-
-pci:v00001002d00003151*
- ID_PRODUCT_FROM_DATABASE=M24 [FireMV 2400]
-
-pci:v00001002d00003152*
- ID_PRODUCT_FROM_DATABASE=RV370 [Mobility Radeon X300]
-
-pci:v00001002d00003154*
- ID_PRODUCT_FROM_DATABASE=M24GL [Mobility FireGL V3200]
-
-pci:v00001002d00003171*
- ID_PRODUCT_FROM_DATABASE=M24 [FireMV 2400] (Secondary)
-
-pci:v00001002d00003E50*
- ID_PRODUCT_FROM_DATABASE=RV380 0x3e50 [Radeon X600]
-
-pci:v00001002d00003E54*
- ID_PRODUCT_FROM_DATABASE=RV380 0x3e54 [FireGL V3200]
-
-pci:v00001002d00003E70*
- ID_PRODUCT_FROM_DATABASE=RV380 [Radeon X600] (Secondary)
-
-pci:v00001002d00004136*
- ID_PRODUCT_FROM_DATABASE=RS100 [Radeon IGP320(M)]
-
-pci:v00001002d00004137*
- ID_PRODUCT_FROM_DATABASE=RS200 [Radeon IGP330/340/350]
-
-pci:v00001002d00004144*
- ID_PRODUCT_FROM_DATABASE=R300 AD [Radeon 9500 Pro]
-
-pci:v00001002d00004145*
- ID_PRODUCT_FROM_DATABASE=R300 AE [Radeon 9700 Pro]
-
-pci:v00001002d00004146*
- ID_PRODUCT_FROM_DATABASE=R300 AF [Radeon 9700 Pro]
-
-pci:v00001002d00004147*
- ID_PRODUCT_FROM_DATABASE=R300 AG [FireGL Z1/X1]
-
-pci:v00001002d00004148*
- ID_PRODUCT_FROM_DATABASE=R350 AH [Radeon 9800]
-
-pci:v00001002d00004149*
- ID_PRODUCT_FROM_DATABASE=R350 AI [Radeon 9800]
-
-pci:v00001002d0000414A*
- ID_PRODUCT_FROM_DATABASE=R350 AJ [Radeon 9800]
-
-pci:v00001002d0000414B*
- ID_PRODUCT_FROM_DATABASE=R350 AK [FireGL X2]
-
-pci:v00001002d00004150*
- ID_PRODUCT_FROM_DATABASE=RV350 AP [Radeon 9600]
-
-pci:v00001002d00004150sv00001002sd00000002*
- ID_PRODUCT_FROM_DATABASE=R9600 Pro primary (Asus OEM for HP)
-
-pci:v00001002d00004150sv00001002sd00000003*
- ID_PRODUCT_FROM_DATABASE=R9600 Pro secondary (Asus OEM for HP)
-
-pci:v00001002d00004150sv00001002sd00004722*
- ID_PRODUCT_FROM_DATABASE=All-in-Wonder 2006 AGP Edition
-
-pci:v00001002d00004150sv00001458sd00004024*
- ID_PRODUCT_FROM_DATABASE=Giga-Byte GV-R96128D (Primary)
-
-pci:v00001002d00004150sv0000148Csd00002064*
- ID_PRODUCT_FROM_DATABASE=PowerColor R96A-C3N
-
-pci:v00001002d00004150sv0000148Csd00002066*
- ID_PRODUCT_FROM_DATABASE=PowerColor R96A-C3N
-
-pci:v00001002d00004150sv0000174Bsd00007C19*
- ID_PRODUCT_FROM_DATABASE=Sapphire Atlantis Radeon 9600 Pro
-
-pci:v00001002d00004150sv0000174Bsd00007C29*
- ID_PRODUCT_FROM_DATABASE=GC-R9600PRO [Sapphire] (Primary)
-
-pci:v00001002d00004150sv000017EEsd00002002*
- ID_PRODUCT_FROM_DATABASE=Radeon 9600 256Mb Primary
-
-pci:v00001002d00004150sv000018BCsd00000101*
- ID_PRODUCT_FROM_DATABASE=GC-R9600PRO (Primary)
-
-pci:v00001002d00004151*
- ID_PRODUCT_FROM_DATABASE=RV350 AQ [Radeon 9600]
-
-pci:v00001002d00004151sv00001043sd0000C004*
- ID_PRODUCT_FROM_DATABASE=A9600SE
-
-pci:v00001002d00004152*
- ID_PRODUCT_FROM_DATABASE=RV350 AR [Radeon 9600]
-
-pci:v00001002d00004152sv00001002sd00000002*
- ID_PRODUCT_FROM_DATABASE=Radeon 9600XT
-
-pci:v00001002d00004152sv00001002sd00004772*
- ID_PRODUCT_FROM_DATABASE=All-in-Wonder 9600 XT
-
-pci:v00001002d00004152sv00001043sd0000C002*
- ID_PRODUCT_FROM_DATABASE=Radeon 9600 XT TVD
-
-pci:v00001002d00004152sv00001043sd0000C01A*
- ID_PRODUCT_FROM_DATABASE=A9600XT/TD
-
-pci:v00001002d00004152sv0000174Bsd00007C29*
- ID_PRODUCT_FROM_DATABASE=Sapphire Radeon 9600XT
-
-pci:v00001002d00004152sv00001787sd00004002*
- ID_PRODUCT_FROM_DATABASE=Radeon 9600 XT
-
-pci:v00001002d00004153*
- ID_PRODUCT_FROM_DATABASE=RV350 AS [Radeon 9550]
-
-pci:v00001002d00004153sv00001043sd0000010C*
- ID_PRODUCT_FROM_DATABASE=A9550GE/TD
-
-pci:v00001002d00004153sv00001462sd0000932C*
- ID_PRODUCT_FROM_DATABASE=RX9550SE-TD128 (MS-8932)
-
-pci:v00001002d00004154*
- ID_PRODUCT_FROM_DATABASE=RV350 AT [FireGL T2]
-
-pci:v00001002d00004155*
- ID_PRODUCT_FROM_DATABASE=RV350 AU [FireGL T2]
-
-pci:v00001002d00004156*
- ID_PRODUCT_FROM_DATABASE=RV350 AV [FireGL T2]
-
-pci:v00001002d00004157*
- ID_PRODUCT_FROM_DATABASE=RV350 AW [FireGL T2]
-
-pci:v00001002d00004158*
- ID_PRODUCT_FROM_DATABASE=68800AX [Mach32]
-
-pci:v00001002d00004164*
- ID_PRODUCT_FROM_DATABASE=R300 AD [Radeon 9500 Pro] (Secondary)
-
-pci:v00001002d00004165*
- ID_PRODUCT_FROM_DATABASE=R300 AE [Radeon 9700 Pro] (Secondary)
-
-pci:v00001002d00004166*
- ID_PRODUCT_FROM_DATABASE=R300 AF [Radeon 9700 Pro] (Secondary)
-
-pci:v00001002d00004168*
- ID_PRODUCT_FROM_DATABASE=R350 [Radeon 9800] (Secondary)
-
-pci:v00001002d00004170*
- ID_PRODUCT_FROM_DATABASE=RV350 AP [Radeon 9600] (Secondary)
-
-pci:v00001002d00004170sv00001002sd00000003*
- ID_PRODUCT_FROM_DATABASE=R9600 Pro secondary (Asus OEM for HP)
-
-pci:v00001002d00004170sv00001002sd00004723*
- ID_PRODUCT_FROM_DATABASE=All-in-Wonder 2006 AGP Edition (Secondary)
-
-pci:v00001002d00004170sv00001458sd00004025*
- ID_PRODUCT_FROM_DATABASE=Giga-Byte GV-R96128D (Secondary)
-
-pci:v00001002d00004170sv0000148Csd00002067*
- ID_PRODUCT_FROM_DATABASE=PowerColor R96A-C3N (Secondary)
-
-pci:v00001002d00004170sv0000174Bsd00007C28*
- ID_PRODUCT_FROM_DATABASE=GC-R9600PRO [Sapphire] (Secondary)
-
-pci:v00001002d00004170sv000017EEsd00002003*
- ID_PRODUCT_FROM_DATABASE=Radeon 9600 256Mb (Secondary)
-
-pci:v00001002d00004170sv000018BCsd00000100*
- ID_PRODUCT_FROM_DATABASE=GC-R9600PRO (Secondary)
-
-pci:v00001002d00004171*
- ID_PRODUCT_FROM_DATABASE=RV350 AQ [Radeon 9600] (Secondary)
-
-pci:v00001002d00004171sv00001043sd0000C005*
- ID_PRODUCT_FROM_DATABASE=A9600SE (Secondary)
-
-pci:v00001002d00004172*
- ID_PRODUCT_FROM_DATABASE=RV350 AR [Radeon 9600] (Secondary)
-
-pci:v00001002d00004172sv00001002sd00000003*
- ID_PRODUCT_FROM_DATABASE=Radeon 9600XT (Secondary)
-
-pci:v00001002d00004172sv00001002sd00004773*
- ID_PRODUCT_FROM_DATABASE=All-in-Wonder 9600 XT (Secondary)
-
-pci:v00001002d00004172sv00001043sd0000C003*
- ID_PRODUCT_FROM_DATABASE=A9600XT (Secondary)
-
-pci:v00001002d00004172sv00001043sd0000C01B*
- ID_PRODUCT_FROM_DATABASE=A9600XT/TD (Secondary)
-
-pci:v00001002d00004172sv0000174Bsd00007C28*
- ID_PRODUCT_FROM_DATABASE=Sapphire Radeon 9600XT (Secondary)
-
-pci:v00001002d00004172sv00001787sd00004003*
- ID_PRODUCT_FROM_DATABASE=Radeon 9600 XT (Secondary)
-
-pci:v00001002d00004173*
- ID_PRODUCT_FROM_DATABASE=RV350 AS [Radeon 9550] (Secondary)
-
-pci:v00001002d00004173sv00001043sd0000010D*
- ID_PRODUCT_FROM_DATABASE=A9550GE/TD (Secondary)
-
-pci:v00001002d00004237*
- ID_PRODUCT_FROM_DATABASE=RS250 [Radeon Mobility 7000 IGP]
-
-pci:v00001002d00004242*
- ID_PRODUCT_FROM_DATABASE=R200 BB [Radeon All in Wonder 8500DV]
-
-pci:v00001002d00004242sv00001002sd000002AA*
- ID_PRODUCT_FROM_DATABASE=Radeon 8500 AIW DV Edition
-
-pci:v00001002d00004243*
- ID_PRODUCT_FROM_DATABASE=R200 BC [Radeon All in Wonder 8500]
-
-pci:v00001002d00004336*
- ID_PRODUCT_FROM_DATABASE=RS100 [Radeon IGP320M]
-
-pci:v00001002d00004336sv00001002sd00004336*
- ID_PRODUCT_FROM_DATABASE=Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M)
-
-pci:v00001002d00004336sv0000103Csd00000024*
- ID_PRODUCT_FROM_DATABASE=Pavilion ze4400 builtin Video
-
-pci:v00001002d00004336sv0000161Fsd00002029*
- ID_PRODUCT_FROM_DATABASE=eMachines M5312 builtin Video
-
-pci:v00001002d00004337*
- ID_PRODUCT_FROM_DATABASE=RS200 [Radeon IGP330M/340M/350M]
-
-pci:v00001002d00004337sv00001014sd0000053A*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R40e
-
-pci:v00001002d00004337sv0000103Csd00000850*
- ID_PRODUCT_FROM_DATABASE=Radeon IGP 345M
-
-pci:v00001002d00004341*
- ID_PRODUCT_FROM_DATABASE=IXP150 AC'97 Audio Controller
-
-pci:v00001002d00004342*
- ID_PRODUCT_FROM_DATABASE=IXP200 3COM 3C920B Ethernet Controller
-
-pci:v00001002d00004345*
- ID_PRODUCT_FROM_DATABASE=EHCI USB Controller
-
-pci:v00001002d00004347*
- ID_PRODUCT_FROM_DATABASE=OHCI USB Controller #1
-
-pci:v00001002d00004348*
- ID_PRODUCT_FROM_DATABASE=OHCI USB Controller #2
-
-pci:v00001002d00004349*
- ID_PRODUCT_FROM_DATABASE=Dual Channel Bus Master PCI IDE Controller
-
-pci:v00001002d0000434D*
- ID_PRODUCT_FROM_DATABASE=IXP AC'97 Modem
-
-pci:v00001002d00004353*
- ID_PRODUCT_FROM_DATABASE=SMBus
-
-pci:v00001002d00004354*
- ID_PRODUCT_FROM_DATABASE=215CT [Mach64 CT]
-
-pci:v00001002d00004358*
- ID_PRODUCT_FROM_DATABASE=210888CX [Mach64 CX]
-
-pci:v00001002d00004361*
- ID_PRODUCT_FROM_DATABASE=IXP SB300 AC'97 Audio Controller
-
-pci:v00001002d00004363*
- ID_PRODUCT_FROM_DATABASE=SMBus
-
-pci:v00001002d0000436E*
- ID_PRODUCT_FROM_DATABASE=436E Serial ATA Controller
-
-pci:v00001002d00004370*
- ID_PRODUCT_FROM_DATABASE=IXP SB400 AC'97 Audio Controller
-
-pci:v00001002d00004370sv00001025sd00000079*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMMi
-
-pci:v00001002d00004370sv00001025sd00000091*
- ID_PRODUCT_FROM_DATABASE=Aspire 5032WXMi
-
-pci:v00001002d00004370sv0000103Csd00002A05*
- ID_PRODUCT_FROM_DATABASE=Pavilion t3030.de Desktop PC
-
-pci:v00001002d00004370sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v00001002d00004370sv0000105Bsd00000C81*
- ID_PRODUCT_FROM_DATABASE=Realtek ALC 653
-
-pci:v00001002d00004370sv0000107Bsd00000300*
- ID_PRODUCT_FROM_DATABASE=MX6421
-
-pci:v00001002d00004370sv00001462sd00000131*
- ID_PRODUCT_FROM_DATABASE=MS-1013 Notebook
-
-pci:v00001002d00004371*
- ID_PRODUCT_FROM_DATABASE=IXP SB400 PCI-PCI Bridge
-
-pci:v00001002d00004371sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v00001002d00004371sv00001462sd00007217*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v00001002d00004372*
- ID_PRODUCT_FROM_DATABASE=IXP SB400 SMBus Controller
-
-pci:v00001002d00004372sv00001025sd00000080*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMMi
-
-pci:v00001002d00004372sv0000103Csd00002A20*
- ID_PRODUCT_FROM_DATABASE=Pavilion t3030.de Desktop PC
-
-pci:v00001002d00004372sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v00001002d00004372sv00001462sd00000131*
- ID_PRODUCT_FROM_DATABASE=MS-1013 Notebook
-
-pci:v00001002d00004372sv00001462sd00007217*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v00001002d00004373*
- ID_PRODUCT_FROM_DATABASE=IXP SB400 USB2 Host Controller
-
-pci:v00001002d00004373sv00001025sd00000080*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMMi
-
-pci:v00001002d00004373sv0000103Csd00002A20*
- ID_PRODUCT_FROM_DATABASE=Pavilion t3030.de Desktop PC
-
-pci:v00001002d00004373sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v00001002d00004373sv00001462sd00007217*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v00001002d00004374*
- ID_PRODUCT_FROM_DATABASE=IXP SB400 USB Host Controller
-
-pci:v00001002d00004374sv0000103Csd00002A20*
- ID_PRODUCT_FROM_DATABASE=Pavilion t3030.de Desktop PC
-
-pci:v00001002d00004374sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v00001002d00004374sv00001462sd00007217*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v00001002d00004375*
- ID_PRODUCT_FROM_DATABASE=IXP SB400 USB Host Controller
-
-pci:v00001002d00004375sv00001025sd00000080*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMMi
-
-pci:v00001002d00004375sv0000103Csd00002A20*
- ID_PRODUCT_FROM_DATABASE=Pavilion t3030.de Desktop PC
-
-pci:v00001002d00004375sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v00001002d00004375sv00001462sd00007217*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v00001002d00004376*
- ID_PRODUCT_FROM_DATABASE=IXP SB400 IDE Controller
-
-pci:v00001002d00004376sv00001025sd00000080*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMMi
-
-pci:v00001002d00004376sv0000103Csd00002A20*
- ID_PRODUCT_FROM_DATABASE=Pavilion t3030.de Desktop PC
-
-pci:v00001002d00004376sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v00001002d00004376sv00001462sd00000131*
- ID_PRODUCT_FROM_DATABASE=MS-1013 Notebook
-
-pci:v00001002d00004376sv00001462sd00007217*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v00001002d00004377*
- ID_PRODUCT_FROM_DATABASE=IXP SB400 PCI-ISA Bridge
-
-pci:v00001002d00004377sv00001025sd00000080*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMi
-
-pci:v00001002d00004377sv0000103Csd00002A20*
- ID_PRODUCT_FROM_DATABASE=Pavilion t3030.de Desktop PC
-
-pci:v00001002d00004377sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v00001002d00004377sv00001462sd00007217*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v00001002d00004378*
- ID_PRODUCT_FROM_DATABASE=IXP SB400 AC'97 Modem Controller
-
-pci:v00001002d00004378sv00001025sd00000080*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMMi
-
-pci:v00001002d00004378sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v00001002d00004378sv00001462sd00000131*
- ID_PRODUCT_FROM_DATABASE=MS-1013 Notebook
-
-pci:v00001002d00004379*
- ID_PRODUCT_FROM_DATABASE=IXP SB400 Serial ATA Controller
-
-pci:v00001002d00004379sv00001462sd00007141*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v00001002d0000437A*
- ID_PRODUCT_FROM_DATABASE=IXP SB400 Serial ATA Controller
-
-pci:v00001002d0000437Asv00001002sd00004379*
- ID_PRODUCT_FROM_DATABASE=4379 Serial ATA Controller
-
-pci:v00001002d0000437Asv00001002sd0000437A*
- ID_PRODUCT_FROM_DATABASE=437A Serial ATA Controller
-
-pci:v00001002d0000437Asv00001462sd00007141*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v00001002d0000437Asv000014F1sd00008800*
- ID_PRODUCT_FROM_DATABASE=Leadtek WinFast TV2000XP Expert
-
-pci:v00001002d0000437B*
- ID_PRODUCT_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller
-
-pci:v00001002d0000437Bsv00001002sd0000437B*
- ID_PRODUCT_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller
-
-pci:v00001002d0000437Bsv000010CFsd00001326*
- ID_PRODUCT_FROM_DATABASE=Fujitsu Lifebook A3040
-
-pci:v00001002d0000437Bsv00001734sd000010B8*
- ID_PRODUCT_FROM_DATABASE=Realtek High Definition Audio
-
-pci:v00001002d00004380*
- ID_PRODUCT_FROM_DATABASE=SB600 Non-Raid-5 SATA
-
-pci:v00001002d00004380sv0000103Csd00002813*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v00001002d00004380sv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d00004380sv00001458sd0000B003*
- ID_PRODUCT_FROM_DATABASE=GA-MA790FX-DS5 (rev. 1.0)
-
-pci:v00001002d00004380sv00001458sd0000B005*
- ID_PRODUCT_FROM_DATABASE=Gigabyte GA-MA69G-S3H Motherboard
-
-pci:v00001002d00004380sv00001462sd00007327*
- ID_PRODUCT_FROM_DATABASE=K9AG Neo2
-
-pci:v00001002d00004380sv000017F2sd00005999*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d00004381*
- ID_PRODUCT_FROM_DATABASE=SB400 SATA Controller (RAID 5 mode)
-
-pci:v00001002d00004382*
- ID_PRODUCT_FROM_DATABASE=SB600 AC97 Audio
-
-pci:v00001002d00004383*
- ID_PRODUCT_FROM_DATABASE=SBx00 Azalia (Intel HDA)
-
-pci:v00001002d00004383sv0000103Csd00001611*
- ID_PRODUCT_FROM_DATABASE=Pavilion DM1Z-3000
-
-pci:v00001002d00004383sv0000103Csd0000280A*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v00001002d00004383sv00001043sd00008230*
- ID_PRODUCT_FROM_DATABASE=M3A78-EH Motherboard
-
-pci:v00001002d00004383sv00001043sd0000836C*
- ID_PRODUCT_FROM_DATABASE=M4A785TD Motherboard
-
-pci:v00001002d00004383sv00001043sd00008410*
- ID_PRODUCT_FROM_DATABASE=M4A89GTD PRO/USB3 Motherboard
-
-pci:v00001002d00004383sv00001043sd0000841B*
- ID_PRODUCT_FROM_DATABASE=M5A88-V EVO
-
-pci:v00001002d00004383sv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d00004383sv00001458sd0000A022*
- ID_PRODUCT_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard
-
-pci:v00001002d00004383sv000017F2sd00005000*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d00004384*
- ID_PRODUCT_FROM_DATABASE=SBx00 PCI to PCI Bridge
-
-pci:v00001002d00004385*
- ID_PRODUCT_FROM_DATABASE=SBx00 SMBus Controller
-
-pci:v00001002d00004385sv0000103Csd00001611*
- ID_PRODUCT_FROM_DATABASE=Pavilion DM1Z-3000
-
-pci:v00001002d00004385sv0000103Csd0000280A*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v00001002d00004385sv00001043sd000082EF*
- ID_PRODUCT_FROM_DATABASE=M3A78-EH Motherboard
-
-pci:v00001002d00004385sv00001043sd00008389*
- ID_PRODUCT_FROM_DATABASE=M4A785TD Motherboard
-
-pci:v00001002d00004385sv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d00004385sv00001458sd00004385*
- ID_PRODUCT_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard
-
-pci:v00001002d00004385sv00001462sd00007368*
- ID_PRODUCT_FROM_DATABASE=K9AG Neo2
-
-pci:v00001002d00004385sv000015D9sd0000A811*
- ID_PRODUCT_FROM_DATABASE=H8DGU
-
-pci:v00001002d00004385sv0000174Bsd00001001*
- ID_PRODUCT_FROM_DATABASE=Sapphire PURE Fusion Mini
-
-pci:v00001002d00004385sv000017F2sd00005000*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d00004386*
- ID_PRODUCT_FROM_DATABASE=SB600 USB Controller (EHCI)
-
-pci:v00001002d00004386sv0000103Csd0000280A*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v00001002d00004386sv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d00004386sv00001462sd00007368*
- ID_PRODUCT_FROM_DATABASE=K9AG Neo2
-
-pci:v00001002d00004386sv000017F2sd00005000*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d00004387*
- ID_PRODUCT_FROM_DATABASE=SB600 USB (OHCI0)
-
-pci:v00001002d00004387sv0000103Csd0000280A*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v00001002d00004387sv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d00004387sv00001462sd00007368*
- ID_PRODUCT_FROM_DATABASE=K9AG Neo2
-
-pci:v00001002d00004387sv000017F2sd00005000*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d00004388*
- ID_PRODUCT_FROM_DATABASE=SB600 USB (OHCI1)
-
-pci:v00001002d00004388sv0000103Csd0000280A*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v00001002d00004388sv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d00004388sv00001462sd00007368*
- ID_PRODUCT_FROM_DATABASE=K9AG Neo2
-
-pci:v00001002d00004388sv000017F2sd00005000*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d00004389*
- ID_PRODUCT_FROM_DATABASE=SB600 USB (OHCI2)
-
-pci:v00001002d00004389sv0000103Csd0000280A*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v00001002d00004389sv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d00004389sv00001462sd00007368*
- ID_PRODUCT_FROM_DATABASE=K9AG Neo2
-
-pci:v00001002d00004389sv000017F2sd00005000*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d0000438A*
- ID_PRODUCT_FROM_DATABASE=SB600 USB (OHCI3)
-
-pci:v00001002d0000438Asv0000103Csd0000280A*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v00001002d0000438Asv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d0000438Asv00001462sd00007368*
- ID_PRODUCT_FROM_DATABASE=K9AG Neo2
-
-pci:v00001002d0000438Asv000017F2sd00005000*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d0000438B*
- ID_PRODUCT_FROM_DATABASE=SB600 USB (OHCI4)
-
-pci:v00001002d0000438Bsv0000103Csd0000280A*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v00001002d0000438Bsv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d0000438Bsv00001462sd00007368*
- ID_PRODUCT_FROM_DATABASE=K9AG Neo2
-
-pci:v00001002d0000438Bsv000017F2sd00005000*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d0000438C*
- ID_PRODUCT_FROM_DATABASE=SB600 IDE
-
-pci:v00001002d0000438Csv0000103Csd0000280A*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v00001002d0000438Csv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d0000438Csv00001458sd00005002*
- ID_PRODUCT_FROM_DATABASE=Gigabyte GA-MA69G-S3H Motherboard
-
-pci:v00001002d0000438Csv00001462sd00007368*
- ID_PRODUCT_FROM_DATABASE=K9AG Neo2
-
-pci:v00001002d0000438Csv000017F2sd00005000*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d0000438D*
- ID_PRODUCT_FROM_DATABASE=SB600 PCI to LPC Bridge
-
-pci:v00001002d0000438Dsv0000103Csd0000280A*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v00001002d0000438Dsv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d0000438Dsv00001462sd00007368*
- ID_PRODUCT_FROM_DATABASE=K9AG Neo2
-
-pci:v00001002d0000438Dsv000017F2sd00005000*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d0000438E*
- ID_PRODUCT_FROM_DATABASE=SB600 AC97 Modem
-
-pci:v00001002d00004390*
- ID_PRODUCT_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode]
-
-pci:v00001002d00004390sv00001043sd000082EF*
- ID_PRODUCT_FROM_DATABASE=M3A78-EH Motherboard
-
-pci:v00001002d00004390sv00001043sd00008389*
- ID_PRODUCT_FROM_DATABASE=M4A785TD Motherboard
-
-pci:v00001002d00004390sv00001458sd0000B002*
- ID_PRODUCT_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard
-
-pci:v00001002d00004390sv00001849sd00004390*
- ID_PRODUCT_FROM_DATABASE=Motherboard (one of many)
-
-pci:v00001002d00004391*
- ID_PRODUCT_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
-
-pci:v00001002d00004391sv0000103Csd00001611*
- ID_PRODUCT_FROM_DATABASE=Pavilion DM1Z-3000
-
-pci:v00001002d00004391sv00001043sd000082EF*
- ID_PRODUCT_FROM_DATABASE=M3A78-EH Motherboard
-
-pci:v00001002d00004391sv00001043sd00008443*
- ID_PRODUCT_FROM_DATABASE=M5A88-V EVO
-
-pci:v00001002d00004391sv0000174Bsd00001001*
- ID_PRODUCT_FROM_DATABASE=Sapphire PURE Fusion Mini
-
-pci:v00001002d00004392*
- ID_PRODUCT_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [Non-RAID5 mode]
-
-pci:v00001002d00004393*
- ID_PRODUCT_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [RAID5 mode]
-
-pci:v00001002d00004394*
- ID_PRODUCT_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
-
-pci:v00001002d00004395*
- ID_PRODUCT_FROM_DATABASE=SB8x0/SB9x0 SATA Controller [Storage mode]
-
-pci:v00001002d00004396*
- ID_PRODUCT_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller
-
-pci:v00001002d00004396sv0000103Csd00001611*
- ID_PRODUCT_FROM_DATABASE=Pavilion DM1Z-3000
-
-pci:v00001002d00004396sv00001043sd000082EF*
- ID_PRODUCT_FROM_DATABASE=M3A78-EH Motherboard
-
-pci:v00001002d00004396sv00001043sd00008443*
- ID_PRODUCT_FROM_DATABASE=M5A88-V EVO
-
-pci:v00001002d00004396sv000015D9sd0000A811*
- ID_PRODUCT_FROM_DATABASE=H8DGU
-
-pci:v00001002d00004396sv0000174Bsd00001001*
- ID_PRODUCT_FROM_DATABASE=Sapphire PURE Fusion Mini
-
-pci:v00001002d00004397*
- ID_PRODUCT_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
-
-pci:v00001002d00004397sv0000103Csd00001611*
- ID_PRODUCT_FROM_DATABASE=Pavilion DM1Z-3000
-
-pci:v00001002d00004397sv00001043sd000082EF*
- ID_PRODUCT_FROM_DATABASE=M3A78-EH Motherboard
-
-pci:v00001002d00004397sv00001043sd00008443*
- ID_PRODUCT_FROM_DATABASE=M5A88-V EVO
-
-pci:v00001002d00004397sv000015D9sd0000A811*
- ID_PRODUCT_FROM_DATABASE=H8DGU
-
-pci:v00001002d00004397sv0000174Bsd00001001*
- ID_PRODUCT_FROM_DATABASE=Sapphire PURE Fusion Mini
-
-pci:v00001002d00004398*
- ID_PRODUCT_FROM_DATABASE=SB7x0 USB OHCI1 Controller
-
-pci:v00001002d00004398sv00001043sd000082EF*
- ID_PRODUCT_FROM_DATABASE=M3A78-EH Motherboard
-
-pci:v00001002d00004398sv000015D9sd0000A811*
- ID_PRODUCT_FROM_DATABASE=H8DGU
-
-pci:v00001002d00004399*
- ID_PRODUCT_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
-
-pci:v00001002d00004399sv00001043sd000082EF*
- ID_PRODUCT_FROM_DATABASE=M3A78-EH Motherboard
-
-pci:v00001002d00004399sv00001043sd00008443*
- ID_PRODUCT_FROM_DATABASE=M5A88-V EVO
-
-pci:v00001002d00004399sv0000174Bsd00001001*
- ID_PRODUCT_FROM_DATABASE=Sapphire PURE Fusion Mini
-
-pci:v00001002d0000439C*
- ID_PRODUCT_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller
-
-pci:v00001002d0000439Csv00001043sd000082EF*
- ID_PRODUCT_FROM_DATABASE=M3A78-EH Motherboard
-
-pci:v00001002d0000439D*
- ID_PRODUCT_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller
-
-pci:v00001002d0000439Dsv0000103Csd00001611*
- ID_PRODUCT_FROM_DATABASE=Pavilion DM1Z-3000
-
-pci:v00001002d0000439Dsv00001043sd000082EF*
- ID_PRODUCT_FROM_DATABASE=M3A78-EH Motherboard
-
-pci:v00001002d0000439Dsv00001043sd00008443*
- ID_PRODUCT_FROM_DATABASE=M5A88-V EVO
-
-pci:v00001002d0000439Dsv0000174Bsd00001001*
- ID_PRODUCT_FROM_DATABASE=Sapphire PURE Fusion Mini
-
-pci:v00001002d000043A0*
- ID_PRODUCT_FROM_DATABASE=SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0)
-
-pci:v00001002d000043A1*
- ID_PRODUCT_FROM_DATABASE=SB700/SB800/SB900 PCI to PCI bridge (PCIE port 1)
-
-pci:v00001002d000043A2*
- ID_PRODUCT_FROM_DATABASE=SB900 PCI to PCI bridge (PCIE port 2)
-
-pci:v00001002d000043A3*
- ID_PRODUCT_FROM_DATABASE=SB900 PCI to PCI bridge (PCIE port 3)
-
-pci:v00001002d00004437*
- ID_PRODUCT_FROM_DATABASE=RS250 [Radeon Mobility 7000 IGP]
-
-pci:v00001002d00004554*
- ID_PRODUCT_FROM_DATABASE=210888ET [Mach64 ET]
-
-pci:v00001002d00004654*
- ID_PRODUCT_FROM_DATABASE=Mach64 VT
-
-pci:v00001002d00004742*
- ID_PRODUCT_FROM_DATABASE=3D Rage Pro AGP 1X/2X
-
-pci:v00001002d00004742sv00001002sd00000040*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo AGP 2X
-
-pci:v00001002d00004742sv00001002sd00000044*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo AGP 2X
-
-pci:v00001002d00004742sv00001002sd00000061*
- ID_PRODUCT_FROM_DATABASE=Rage Pro AIW AGP 2X
-
-pci:v00001002d00004742sv00001002sd00000062*
- ID_PRODUCT_FROM_DATABASE=Rage Pro AIW AGP 2X
-
-pci:v00001002d00004742sv00001002sd00000063*
- ID_PRODUCT_FROM_DATABASE=Rage Pro AIW AGP 2X
-
-pci:v00001002d00004742sv00001002sd00000080*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo AGP 2X
-
-pci:v00001002d00004742sv00001002sd00000084*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo AGP 2X
-
-pci:v00001002d00004742sv00001002sd00004742*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo AGP 2X
-
-pci:v00001002d00004742sv00001002sd00008001*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo AGP 2X
-
-pci:v00001002d00004742sv00001028sd00000082*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo AGP 2X
-
-pci:v00001002d00004742sv00001028sd00004082*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX1 Onboard Display Adapter
-
-pci:v00001002d00004742sv00001028sd00008082*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo AGP 2X
-
-pci:v00001002d00004742sv00001028sd0000C082*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo AGP 2X
-
-pci:v00001002d00004742sv00008086sd00004152*
- ID_PRODUCT_FROM_DATABASE=Xpert 98D AGP 2X
-
-pci:v00001002d00004742sv00008086sd0000464A*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo AGP 2X
-
-pci:v00001002d00004744*
- ID_PRODUCT_FROM_DATABASE=3D Rage Pro AGP 1X
-
-pci:v00001002d00004744sv00001002sd00004744*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo AGP
-
-pci:v00001002d00004744sv00008086sd00004D55*
- ID_PRODUCT_FROM_DATABASE=Rage 3D Pro AGP 1X [Intel MU440EX]
-
-pci:v00001002d00004747*
- ID_PRODUCT_FROM_DATABASE=3D Rage Pro
-
-pci:v00001002d00004749*
- ID_PRODUCT_FROM_DATABASE=3D Rage Pro
-
-pci:v00001002d00004749sv00001002sd00000061*
- ID_PRODUCT_FROM_DATABASE=Rage Pro AIW
-
-pci:v00001002d00004749sv00001002sd00000062*
- ID_PRODUCT_FROM_DATABASE=Rage Pro AIW
-
-pci:v00001002d0000474C*
- ID_PRODUCT_FROM_DATABASE=Rage XC
-
-pci:v00001002d0000474D*
- ID_PRODUCT_FROM_DATABASE=Rage XL AGP 2X
-
-pci:v00001002d0000474Dsv00001002sd00000004*
- ID_PRODUCT_FROM_DATABASE=Xpert 98 RXL AGP 2X
-
-pci:v00001002d0000474Dsv00001002sd00000008*
- ID_PRODUCT_FROM_DATABASE=Xpert 98 RXL AGP 2X
-
-pci:v00001002d0000474Dsv00001002sd00000080*
- ID_PRODUCT_FROM_DATABASE=Rage XL AGP 2X
-
-pci:v00001002d0000474Dsv00001002sd00000084*
- ID_PRODUCT_FROM_DATABASE=Xpert 98 AGP 2X
-
-pci:v00001002d0000474Dsv00001002sd0000474D*
- ID_PRODUCT_FROM_DATABASE=Rage XL AGP
-
-pci:v00001002d0000474Dsv00001033sd0000806A*
- ID_PRODUCT_FROM_DATABASE=Rage XL AGP
-
-pci:v00001002d0000474E*
- ID_PRODUCT_FROM_DATABASE=Rage XC AGP
-
-pci:v00001002d0000474Esv00001002sd0000474E*
- ID_PRODUCT_FROM_DATABASE=Rage XC AGP
-
-pci:v00001002d0000474F*
- ID_PRODUCT_FROM_DATABASE=Rage XL
-
-pci:v00001002d0000474Fsv00001002sd00000008*
- ID_PRODUCT_FROM_DATABASE=Rage XL
-
-pci:v00001002d0000474Fsv00001002sd0000474F*
- ID_PRODUCT_FROM_DATABASE=Rage XL
-
-pci:v00001002d00004750*
- ID_PRODUCT_FROM_DATABASE=3D Rage Pro 215GP
-
-pci:v00001002d00004750sv00001002sd00000040*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo
-
-pci:v00001002d00004750sv00001002sd00000044*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo
-
-pci:v00001002d00004750sv00001002sd00000080*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo
-
-pci:v00001002d00004750sv00001002sd00000084*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo
-
-pci:v00001002d00004750sv00001002sd00004750*
- ID_PRODUCT_FROM_DATABASE=Rage Pro Turbo
-
-pci:v00001002d00004751*
- ID_PRODUCT_FROM_DATABASE=3D Rage Pro 215GQ
-
-pci:v00001002d00004752*
- ID_PRODUCT_FROM_DATABASE=Rage XL
-
-pci:v00001002d00004752sv00000E11sd0000001E*
- ID_PRODUCT_FROM_DATABASE=Proliant Rage XL
-
-pci:v00001002d00004752sv00001002sd00000008*
- ID_PRODUCT_FROM_DATABASE=Rage XL
-
-pci:v00001002d00004752sv00001002sd00004752*
- ID_PRODUCT_FROM_DATABASE=Proliant Rage XL
-
-pci:v00001002d00004752sv00001002sd00008008*
- ID_PRODUCT_FROM_DATABASE=Rage XL
-
-pci:v00001002d00004752sv00001014sd00000240*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00001002d00004752sv00001028sd000000CE*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1400
-
-pci:v00001002d00004752sv00001028sd000000D1*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2550
-
-pci:v00001002d00004752sv00001028sd000000D9*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2500
-
-pci:v00001002d00004752sv00001028sd00000134*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 600SC
-
-pci:v00001002d00004752sv00001028sd0000014A*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1750
-
-pci:v00001002d00004752sv00001028sd00000165*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 750
-
-pci:v00001002d00004752sv0000103Csd000010E1*
- ID_PRODUCT_FROM_DATABASE=NetServer Rage XL
-
-pci:v00001002d00004752sv0000103Csd00003208*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G2
-
-pci:v00001002d00004752sv0000107Bsd00006400*
- ID_PRODUCT_FROM_DATABASE=6400 Server
-
-pci:v00001002d00004752sv00001734sd0000007A*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX series onboard VGA
-
-pci:v00001002d00004752sv00008086sd00003411*
- ID_PRODUCT_FROM_DATABASE=SDS2 Mainboard
-
-pci:v00001002d00004752sv00008086sd00003427*
- ID_PRODUCT_FROM_DATABASE=S875WP1-E mainboard
-
-pci:v00001002d00004752sv00008086sd00005744*
- ID_PRODUCT_FROM_DATABASE=S845WD1-E mainboard
-
-pci:v00001002d00004753*
- ID_PRODUCT_FROM_DATABASE=Rage XC
-
-pci:v00001002d00004753sv00001002sd00004753*
- ID_PRODUCT_FROM_DATABASE=Rage XC
-
-pci:v00001002d00004754*
- ID_PRODUCT_FROM_DATABASE=3D Rage I/II 215GT [Mach64 GT]
-
-pci:v00001002d00004755*
- ID_PRODUCT_FROM_DATABASE=3D Rage II+ 215GTB [Mach64 GTB]
-
-pci:v00001002d00004756*
- ID_PRODUCT_FROM_DATABASE=3D Rage IIC 215IIC [Mach64 GT IIC]
-
-pci:v00001002d00004756sv00001002sd00004756*
- ID_PRODUCT_FROM_DATABASE=Rage IIC
-
-pci:v00001002d00004757*
- ID_PRODUCT_FROM_DATABASE=3D Rage IIC AGP
-
-pci:v00001002d00004757sv00001002sd00004757*
- ID_PRODUCT_FROM_DATABASE=Rage IIC AGP
-
-pci:v00001002d00004757sv00001028sd00000089*
- ID_PRODUCT_FROM_DATABASE=Rage 3D IIC
-
-pci:v00001002d00004757sv00001028sd0000008E*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1300 onboard video
-
-pci:v00001002d00004757sv00001028sd00004082*
- ID_PRODUCT_FROM_DATABASE=Rage 3D IIC
-
-pci:v00001002d00004757sv00001028sd00008082*
- ID_PRODUCT_FROM_DATABASE=Rage 3D IIC
-
-pci:v00001002d00004757sv00001028sd0000C082*
- ID_PRODUCT_FROM_DATABASE=Rage 3D IIC
-
-pci:v00001002d00004758*
- ID_PRODUCT_FROM_DATABASE=210888GX [Mach64 GX]
-
-pci:v00001002d00004759*
- ID_PRODUCT_FROM_DATABASE=3D Rage IIC
-
-pci:v00001002d0000475A*
- ID_PRODUCT_FROM_DATABASE=3D Rage IIC AGP
-
-pci:v00001002d0000475Asv00001002sd00000084*
- ID_PRODUCT_FROM_DATABASE=Rage 3D Pro AGP 2x XPERT 98
-
-pci:v00001002d0000475Asv00001002sd00000087*
- ID_PRODUCT_FROM_DATABASE=Rage 3D IIC
-
-pci:v00001002d0000475Asv00001002sd0000475A*
- ID_PRODUCT_FROM_DATABASE=Rage IIC AGP
-
-pci:v00001002d00004964*
- ID_PRODUCT_FROM_DATABASE=RV250 Id [Radeon 9000]
-
-pci:v00001002d00004965*
- ID_PRODUCT_FROM_DATABASE=RV250 Ie [Radeon 9000]
-
-pci:v00001002d00004966*
- ID_PRODUCT_FROM_DATABASE=R250 If [Radeon 9000]
-
-pci:v00001002d00004966sv000010F1sd00000002*
- ID_PRODUCT_FROM_DATABASE=RV250 If [Tachyon G9000 PRO]
-
-pci:v00001002d00004966sv0000148Csd00002039*
- ID_PRODUCT_FROM_DATABASE=RV250 If [Radeon 9000 Pro "Evil Commando"]
-
-pci:v00001002d00004966sv00001509sd00009A00*
- ID_PRODUCT_FROM_DATABASE=RV250 If [Radeon 9000 "AT009"]
-
-pci:v00001002d00004966sv00001681sd00000040*
- ID_PRODUCT_FROM_DATABASE=RV250 If [3D prophet 9000]
-
-pci:v00001002d00004966sv0000174Bsd00007176*
- ID_PRODUCT_FROM_DATABASE=RV250 If [Sapphire Radeon 9000 Pro]
-
-pci:v00001002d00004966sv0000174Bsd00007192*
- ID_PRODUCT_FROM_DATABASE=RV250 If [Radeon 9000 "Atlantis"]
-
-pci:v00001002d00004966sv000017AFsd00002005*
- ID_PRODUCT_FROM_DATABASE=RV250 If [Excalibur Radeon 9000 Pro]
-
-pci:v00001002d00004966sv000017AFsd00002006*
- ID_PRODUCT_FROM_DATABASE=RV250 If [Excalibur Radeon 9000]
-
-pci:v00001002d00004967*
- ID_PRODUCT_FROM_DATABASE=RV250 Ig [Radeon 9000]
-
-pci:v00001002d0000496E*
- ID_PRODUCT_FROM_DATABASE=RV250 [Radeon 9000] (Secondary)
-
-pci:v00001002d00004A48*
- ID_PRODUCT_FROM_DATABASE=R420 JH [Radeon X800]
-
-pci:v00001002d00004A49*
- ID_PRODUCT_FROM_DATABASE=R420 JI [Radeon X800PRO]
-
-pci:v00001002d00004A4A*
- ID_PRODUCT_FROM_DATABASE=R420 JJ [Radeon X800SE]
-
-pci:v00001002d00004A4B*
- ID_PRODUCT_FROM_DATABASE=R420 JK [Radeon X800]
-
-pci:v00001002d00004A4C*
- ID_PRODUCT_FROM_DATABASE=R420 JL [Radeon X800]
-
-pci:v00001002d00004A4D*
- ID_PRODUCT_FROM_DATABASE=R420 JM [FireGL X3]
-
-pci:v00001002d00004A4E*
- ID_PRODUCT_FROM_DATABASE=R420 JN [Mobility Radeon 9800]
-
-pci:v00001002d00004A4F*
- ID_PRODUCT_FROM_DATABASE=R420 [Radeon X800 AGP]
-
-pci:v00001002d00004A50*
- ID_PRODUCT_FROM_DATABASE=R420 JP [Radeon X800XT]
-
-pci:v00001002d00004A54*
- ID_PRODUCT_FROM_DATABASE=R420 [Radeon X800 VE]
-
-pci:v00001002d00004A69*
- ID_PRODUCT_FROM_DATABASE=R420 [Radeon X800 PRO/GTO] (Secondary)
-
-pci:v00001002d00004A6A*
- ID_PRODUCT_FROM_DATABASE=R420 [Radeon X800] (Secondary)
-
-pci:v00001002d00004A6B*
- ID_PRODUCT_FROM_DATABASE=R420 [Radeon X800] (Secondary)
-
-pci:v00001002d00004A70*
- ID_PRODUCT_FROM_DATABASE=R420 [X800XT-PE] (Secondary)
-
-pci:v00001002d00004A74*
- ID_PRODUCT_FROM_DATABASE=R420 [Radeon X800 VE] (Secondary)
-
-pci:v00001002d00004B48*
- ID_PRODUCT_FROM_DATABASE=R481 [Radeon X850 PCIe]
-
-pci:v00001002d00004B49*
- ID_PRODUCT_FROM_DATABASE=R480 [Radeon X850XT]
-
-pci:v00001002d00004B4A*
- ID_PRODUCT_FROM_DATABASE=R480 [Radeon X850SE AGP]
-
-pci:v00001002d00004B4B*
- ID_PRODUCT_FROM_DATABASE=R480 [Radeon X850Pro]
-
-pci:v00001002d00004B4C*
- ID_PRODUCT_FROM_DATABASE=R481 [Radeon X850XT-PE]
-
-pci:v00001002d00004B69*
- ID_PRODUCT_FROM_DATABASE=R480 [Radeon X850XT] (Secondary)
-
-pci:v00001002d00004B6B*
- ID_PRODUCT_FROM_DATABASE=R480 [Radeon X850Pro] (Secondary)
-
-pci:v00001002d00004B6C*
- ID_PRODUCT_FROM_DATABASE=R481 [Radeon X850XT-PE] (Secondary)
-
-pci:v00001002d00004C42*
- ID_PRODUCT_FROM_DATABASE=3D Rage LT Pro AGP-133
-
-pci:v00001002d00004C42sv00000E11sd0000B0E7*
- ID_PRODUCT_FROM_DATABASE=Rage LT Pro (Compaq Presario 5240)
-
-pci:v00001002d00004C42sv00000E11sd0000B0E8*
- ID_PRODUCT_FROM_DATABASE=Rage 3D LT Pro
-
-pci:v00001002d00004C42sv00000E11sd0000B10E*
- ID_PRODUCT_FROM_DATABASE=3D Rage LT Pro (Compaq Armada 1750)
-
-pci:v00001002d00004C42sv00001002sd00000040*
- ID_PRODUCT_FROM_DATABASE=Rage LT Pro AGP 2X
-
-pci:v00001002d00004C42sv00001002sd00000044*
- ID_PRODUCT_FROM_DATABASE=Rage LT Pro AGP 2X
-
-pci:v00001002d00004C42sv00001002sd00004C42*
- ID_PRODUCT_FROM_DATABASE=Rage LT Pro AGP 2X
-
-pci:v00001002d00004C42sv00001002sd00008001*
- ID_PRODUCT_FROM_DATABASE=Rage LT Pro AGP 2X
-
-pci:v00001002d00004C42sv00001028sd00000085*
- ID_PRODUCT_FROM_DATABASE=Rage 3D LT Pro
-
-pci:v00001002d00004C44*
- ID_PRODUCT_FROM_DATABASE=3D Rage LT Pro AGP-66
-
-pci:v00001002d00004C45*
- ID_PRODUCT_FROM_DATABASE=Rage Mobility M3 AGP
-
-pci:v00001002d00004C46*
- ID_PRODUCT_FROM_DATABASE=Rage Mobility M3 AGP 2x
-
-pci:v00001002d00004C46sv00001002sd00000155*
- ID_PRODUCT_FROM_DATABASE=IBM Thinkpad A22p
-
-pci:v00001002d00004C46sv00001014sd00000155*
- ID_PRODUCT_FROM_DATABASE=IBM Thinkpad A22p
-
-pci:v00001002d00004C46sv00001028sd000000B1*
- ID_PRODUCT_FROM_DATABASE=Latitude C600
-
-pci:v00001002d00004C47*
- ID_PRODUCT_FROM_DATABASE=3D Rage LT-G 215LG
-
-pci:v00001002d00004C49*
- ID_PRODUCT_FROM_DATABASE=3D Rage LT Pro
-
-pci:v00001002d00004C49sv00001002sd00000004*
- ID_PRODUCT_FROM_DATABASE=Rage LT Pro
-
-pci:v00001002d00004C49sv00001002sd00000040*
- ID_PRODUCT_FROM_DATABASE=Rage LT Pro
-
-pci:v00001002d00004C49sv00001002sd00000044*
- ID_PRODUCT_FROM_DATABASE=Rage LT Pro
-
-pci:v00001002d00004C49sv00001002sd00004C49*
- ID_PRODUCT_FROM_DATABASE=Rage LT Pro
-
-pci:v00001002d00004C4D*
- ID_PRODUCT_FROM_DATABASE=Rage Mobility P/M AGP 2x
-
-pci:v00001002d00004C4Dsv00000E11sd0000B111*
- ID_PRODUCT_FROM_DATABASE=Armada M700
-
-pci:v00001002d00004C4Dsv00000E11sd0000B160*
- ID_PRODUCT_FROM_DATABASE=Armada E500
-
-pci:v00001002d00004C4Dsv00001002sd00000084*
- ID_PRODUCT_FROM_DATABASE=Xpert 98 AGP 2X (Mobility)
-
-pci:v00001002d00004C4Dsv00001014sd00000154*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A20m/A21m
-
-pci:v00001002d00004C4Dsv00001028sd000000AA*
- ID_PRODUCT_FROM_DATABASE=Latitude CPt
-
-pci:v00001002d00004C4Dsv00001028sd000000BB*
- ID_PRODUCT_FROM_DATABASE=Latitude CPx
-
-pci:v00001002d00004C4Dsv00001179sd0000FF00*
- ID_PRODUCT_FROM_DATABASE=Satellite 1715XCDS laptop
-
-pci:v00001002d00004C4Dsv000013BDsd00001019*
- ID_PRODUCT_FROM_DATABASE=PC-AR10
-
-pci:v00001002d00004C4E*
- ID_PRODUCT_FROM_DATABASE=Rage Mobility L AGP 2x
-
-pci:v00001002d00004C50*
- ID_PRODUCT_FROM_DATABASE=3D Rage LT Pro
-
-pci:v00001002d00004C50sv00001002sd00004C50*
- ID_PRODUCT_FROM_DATABASE=Rage LT Pro
-
-pci:v00001002d00004C51*
- ID_PRODUCT_FROM_DATABASE=3D Rage LT Pro
-
-pci:v00001002d00004C52*
- ID_PRODUCT_FROM_DATABASE=Rage Mobility P/M
-
-pci:v00001002d00004C52sv00001033sd00008112*
- ID_PRODUCT_FROM_DATABASE=Versa Note VXi
-
-pci:v00001002d00004C53*
- ID_PRODUCT_FROM_DATABASE=Rage Mobility L
-
-pci:v00001002d00004C54*
- ID_PRODUCT_FROM_DATABASE=264LT [Mach64 LT]
-
-pci:v00001002d00004C57*
- ID_PRODUCT_FROM_DATABASE=RV200 [Mobility Radeon 7500]
-
-pci:v00001002d00004C57sv00001014sd00000517*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T30
-
-pci:v00001002d00004C57sv00001014sd00000530*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T42 2373-4WU
-
-pci:v00001002d00004C57sv00001028sd000000E6*
- ID_PRODUCT_FROM_DATABASE=Radeon Mobility M7 LW (Dell Inspiron 8100)
-
-pci:v00001002d00004C57sv00001028sd0000012A*
- ID_PRODUCT_FROM_DATABASE=Latitude C640
-
-pci:v00001002d00004C57sv00001043sd00001622*
- ID_PRODUCT_FROM_DATABASE=Mobility Radeon M7 (L3C/S)
-
-pci:v00001002d00004C57sv0000144Dsd0000C006*
- ID_PRODUCT_FROM_DATABASE=Radeon Mobility M7 LW in vpr Matrix 170B4
-
-pci:v00001002d00004C58*
- ID_PRODUCT_FROM_DATABASE=Radeon RV200 LX [Mobility FireGL 7800 M7]
-
-pci:v00001002d00004C59*
- ID_PRODUCT_FROM_DATABASE=RV100 LY [Mobility Radeon 7000]
-
-pci:v00001002d00004C59sv00000E11sd0000B111*
- ID_PRODUCT_FROM_DATABASE=Evo N600c
-
-pci:v00001002d00004C59sv00001014sd00000235*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A30/A30p (2652/2653)
-
-pci:v00001002d00004C59sv00001014sd00000239*
- ID_PRODUCT_FROM_DATABASE=ThinkPad X22/X23/X24
-
-pci:v00001002d00004C59sv0000103Csd00000025*
- ID_PRODUCT_FROM_DATABASE=XE4500 Notebook
-
-pci:v00001002d00004C59sv0000104Dsd000080E7*
- ID_PRODUCT_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
-
-pci:v00001002d00004C59sv0000104Dsd00008140*
- ID_PRODUCT_FROM_DATABASE=PCG-Z1SP laptop
-
-pci:v00001002d00004C59sv00001509sd00001930*
- ID_PRODUCT_FROM_DATABASE=Medion MD9703
-
-pci:v00001002d00004C5A*
- ID_PRODUCT_FROM_DATABASE=RV100 LZ [Mobility Radeon 7000]
-
-pci:v00001002d00004C64*
- ID_PRODUCT_FROM_DATABASE=Radeon RV250 Ld [Radeon Mobility 9000 M9]
-
-pci:v00001002d00004C65*
- ID_PRODUCT_FROM_DATABASE=Radeon RV250 Le [Radeon Mobility 9000 M9]
-
-pci:v00001002d00004C66*
- ID_PRODUCT_FROM_DATABASE=Radeon RV250 [Mobility FireGL 9000]
-
-pci:v00001002d00004C66sv00001014sd0000054D*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T41
-
-pci:v00001002d00004C67*
- ID_PRODUCT_FROM_DATABASE=Radeon RV250 Lg [Radeon Mobility 9000 M9]
-
-pci:v00001002d00004C6E*
- ID_PRODUCT_FROM_DATABASE=Radeon RV250 Ln [Radeon Mobility 9000 M9] (Secondary)
-
-pci:v00001002d00004D46*
- ID_PRODUCT_FROM_DATABASE=Rage Mobility M4 AGP
-
-pci:v00001002d00004D4C*
- ID_PRODUCT_FROM_DATABASE=Rage Mobility M4 AGP
-
-pci:v00001002d00004D52*
- ID_PRODUCT_FROM_DATABASE=Theater 550 PRO PCI [ATI TV Wonder 550]
-
-pci:v00001002d00004D53*
- ID_PRODUCT_FROM_DATABASE=Theater 550 PRO PCIe
-
-pci:v00001002d00004E44*
- ID_PRODUCT_FROM_DATABASE=Radeon R300 ND [Radeon 9700 Pro]
-
-pci:v00001002d00004E44sv00001002sd0000515E*
- ID_PRODUCT_FROM_DATABASE=Radeon ES1000
-
-pci:v00001002d00004E44sv00001002sd00005965*
- ID_PRODUCT_FROM_DATABASE=Radeon ES1000
-
-pci:v00001002d00004E45*
- ID_PRODUCT_FROM_DATABASE=Radeon R300 NE [Radeon 9500 Pro]
-
-pci:v00001002d00004E45sv00001002sd00000002*
- ID_PRODUCT_FROM_DATABASE=Radeon R300 NE [Radeon 9500 Pro]
-
-pci:v00001002d00004E45sv00001681sd00000002*
- ID_PRODUCT_FROM_DATABASE=Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro]
-
-pci:v00001002d00004E46*
- ID_PRODUCT_FROM_DATABASE=R300 NF [Radeon 9600 TX]
-
-pci:v00001002d00004E47*
- ID_PRODUCT_FROM_DATABASE=Radeon R300 NG [FireGL X1]
-
-pci:v00001002d00004E48*
- ID_PRODUCT_FROM_DATABASE=Radeon R350 [Radeon 9800 Pro]
-
-pci:v00001002d00004E49*
- ID_PRODUCT_FROM_DATABASE=Radeon R350 [Radeon 9800]
-
-pci:v00001002d00004E4A*
- ID_PRODUCT_FROM_DATABASE=R360 NJ [Radeon 9800 XT]
-
-pci:v00001002d00004E4Asv00001002sd00004E4A*
- ID_PRODUCT_FROM_DATABASE=R360 [Radeon 9800 XT]
-
-pci:v00001002d00004E4B*
- ID_PRODUCT_FROM_DATABASE=R350 NK [FireGL X2]
-
-pci:v00001002d00004E50*
- ID_PRODUCT_FROM_DATABASE=RV350 [Mobility Radeon 9600 M10]
-
-pci:v00001002d00004E50sv00001025sd0000005A*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290
-
-pci:v00001002d00004E50sv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v00001002d00004E50sv0000103Csd00000890*
- ID_PRODUCT_FROM_DATABASE=NC6000 laptop
-
-pci:v00001002d00004E50sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P35 notebook
-
-pci:v00001002d00004E50sv00001462sd00000311*
- ID_PRODUCT_FROM_DATABASE=MSI M510A
-
-pci:v00001002d00004E50sv00001734sd00001055*
- ID_PRODUCT_FROM_DATABASE=Amilo M1420W
-
-pci:v00001002d00004E51*
- ID_PRODUCT_FROM_DATABASE=RV350 NQ [Mobility Radeon 9600]
-
-pci:v00001002d00004E52*
- ID_PRODUCT_FROM_DATABASE=RV350 [Mobility Radeon 9600 M10]
-
-pci:v00001002d00004E52sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P35 notebook
-
-pci:v00001002d00004E53*
- ID_PRODUCT_FROM_DATABASE=RV350 NS [Mobility Radeon 9600]
-
-pci:v00001002d00004E54*
- ID_PRODUCT_FROM_DATABASE=M10 NT [FireGL Mobility T2]
-
-pci:v00001002d00004E56*
- ID_PRODUCT_FROM_DATABASE=M11 NV [FireGL Mobility T2e]
-
-pci:v00001002d00004E64*
- ID_PRODUCT_FROM_DATABASE=Radeon R300 [Radeon 9700 Pro] (Secondary)
-
-pci:v00001002d00004E65*
- ID_PRODUCT_FROM_DATABASE=Radeon R300 [Radeon 9500 Pro] (Secondary)
-
-pci:v00001002d00004E65sv00001002sd00000003*
- ID_PRODUCT_FROM_DATABASE=Radeon R300 NE [Radeon 9500 Pro]
-
-pci:v00001002d00004E65sv00001681sd00000003*
- ID_PRODUCT_FROM_DATABASE=Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary)
-
-pci:v00001002d00004E66*
- ID_PRODUCT_FROM_DATABASE=RV350 NF [Radeon 9600] (Secondary)
-
-pci:v00001002d00004E67*
- ID_PRODUCT_FROM_DATABASE=Radeon R300 [FireGL X1] (Secondary)
-
-pci:v00001002d00004E68*
- ID_PRODUCT_FROM_DATABASE=Radeon R350 [Radeon 9800 Pro] (Secondary)
-
-pci:v00001002d00004E69*
- ID_PRODUCT_FROM_DATABASE=Radeon R350 [Radeon 9800] (Secondary)
-
-pci:v00001002d00004E6A*
- ID_PRODUCT_FROM_DATABASE=RV350 NJ [Radeon 9800 XT] (Secondary)
-
-pci:v00001002d00004E6Asv00001002sd00004E6A*
- ID_PRODUCT_FROM_DATABASE=R360 [Radeon 9800 XT] (Secondary)
-
-pci:v00001002d00004E6Asv00001002sd00004E71*
- ID_PRODUCT_FROM_DATABASE=M10 NQ [Radeon Mobility 9600]
-
-pci:v00001002d00004E71*
- ID_PRODUCT_FROM_DATABASE=M10 NQ [Radeon Mobility 9600] (Secondary)
-
-pci:v00001002d00004F72*
- ID_PRODUCT_FROM_DATABASE=RV250 [Radeon 9000 Series]
-
-pci:v00001002d00004F73*
- ID_PRODUCT_FROM_DATABASE=Radeon RV250 [Radeon 9000 Series] (Secondary)
-
-pci:v00001002d00005041*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PA/PRO
-
-pci:v00001002d00005042*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PB/PRO AGP 2x
-
-pci:v00001002d00005043*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PC/PRO AGP 4x
-
-pci:v00001002d00005044*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PD/PRO TMDS
-
-pci:v00001002d00005044sv00001002sd00000028*
- ID_PRODUCT_FROM_DATABASE=Rage 128 AIW
-
-pci:v00001002d00005044sv00001002sd00000029*
- ID_PRODUCT_FROM_DATABASE=Rage 128 AIW
-
-pci:v00001002d00005045*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PE/PRO AGP 2x TMDS
-
-pci:v00001002d00005046*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PF/PRO AGP 4x TMDS
-
-pci:v00001002d00005046sv00001002sd00000004*
- ID_PRODUCT_FROM_DATABASE=Rage Fury Pro
-
-pci:v00001002d00005046sv00001002sd00000008*
- ID_PRODUCT_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro
-
-pci:v00001002d00005046sv00001002sd00000014*
- ID_PRODUCT_FROM_DATABASE=Rage Fury Pro
-
-pci:v00001002d00005046sv00001002sd00000018*
- ID_PRODUCT_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro
-
-pci:v00001002d00005046sv00001002sd00000028*
- ID_PRODUCT_FROM_DATABASE=Rage 128 Pro AIW AGP
-
-pci:v00001002d00005046sv00001002sd0000002A*
- ID_PRODUCT_FROM_DATABASE=Rage 128 Pro AIW AGP
-
-pci:v00001002d00005046sv00001002sd00000048*
- ID_PRODUCT_FROM_DATABASE=Rage Fury Pro
-
-pci:v00001002d00005046sv00001002sd00002000*
- ID_PRODUCT_FROM_DATABASE=Rage Fury MAXX AGP 4x (TMDS) (VGA device)
-
-pci:v00001002d00005046sv00001002sd00002001*
- ID_PRODUCT_FROM_DATABASE=Rage Fury MAXX AGP 4x (TMDS) (Extra device?!)
-
-pci:v00001002d00005047*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PG/PRO
-
-pci:v00001002d00005048*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PH/PRO AGP 2x
-
-pci:v00001002d00005049*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PI/PRO AGP 4x
-
-pci:v00001002d0000504A*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PJ/PRO TMDS
-
-pci:v00001002d0000504B*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PK/PRO AGP 2x TMDS
-
-pci:v00001002d0000504C*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PL/PRO AGP 4x TMDS
-
-pci:v00001002d0000504D*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PM/PRO
-
-pci:v00001002d0000504E*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PN/PRO AGP 2x
-
-pci:v00001002d0000504F*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PO/PRO AGP 4x
-
-pci:v00001002d00005050*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PP/PRO TMDS [Xpert 128]
-
-pci:v00001002d00005050sv00001002sd00000008*
- ID_PRODUCT_FROM_DATABASE=Xpert 128
-
-pci:v00001002d00005051*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PQ/PRO AGP 2x TMDS
-
-pci:v00001002d00005052*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PR/PRO AGP 4x TMDS
-
-pci:v00001002d00005053*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PS/PRO
-
-pci:v00001002d00005054*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PT/PRO AGP 2x
-
-pci:v00001002d00005055*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PU/PRO AGP 4x
-
-pci:v00001002d00005056*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PV/PRO TMDS
-
-pci:v00001002d00005057*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PW/PRO AGP 2x TMDS
-
-pci:v00001002d00005058*
- ID_PRODUCT_FROM_DATABASE=Rage 128 PX/PRO AGP 4x TMDS
-
-pci:v00001002d00005144*
- ID_PRODUCT_FROM_DATABASE=Radeon R100 QD [Radeon 7200]
-
-pci:v00001002d00005144sv00001002sd00000008*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon VE
-
-pci:v00001002d00005144sv00001002sd00000009*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon
-
-pci:v00001002d00005144sv00001002sd0000000A*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon
-
-pci:v00001002d00005144sv00001002sd0000001A*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon
-
-pci:v00001002d00005144sv00001002sd00000029*
- ID_PRODUCT_FROM_DATABASE=Radeon AIW
-
-pci:v00001002d00005144sv00001002sd00000038*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon
-
-pci:v00001002d00005144sv00001002sd00000039*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon
-
-pci:v00001002d00005144sv00001002sd0000008A*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon
-
-pci:v00001002d00005144sv00001002sd000000BA*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon
-
-pci:v00001002d00005144sv00001002sd00000139*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon
-
-pci:v00001002d00005144sv00001002sd0000028A*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon
-
-pci:v00001002d00005144sv00001002sd000002AA*
- ID_PRODUCT_FROM_DATABASE=Radeon AIW
-
-pci:v00001002d00005144sv00001002sd0000053A*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon
-
-pci:v00001002d00005145*
- ID_PRODUCT_FROM_DATABASE=Radeon R100 QE
-
-pci:v00001002d00005146*
- ID_PRODUCT_FROM_DATABASE=Radeon R100 QF
-
-pci:v00001002d00005147*
- ID_PRODUCT_FROM_DATABASE=Radeon R100 QG
-
-pci:v00001002d00005148*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 QH [Radeon 8500]
-
-pci:v00001002d00005148sv00001002sd0000010A*
- ID_PRODUCT_FROM_DATABASE=FireGL 8800 64Mb
-
-pci:v00001002d00005148sv00001002sd00000152*
- ID_PRODUCT_FROM_DATABASE=FireGL 8800 128Mb
-
-pci:v00001002d00005148sv00001002sd00000162*
- ID_PRODUCT_FROM_DATABASE=FireGL 8700 32Mb
-
-pci:v00001002d00005148sv00001002sd00000172*
- ID_PRODUCT_FROM_DATABASE=FireGL 8700 64Mb
-
-pci:v00001002d00005149*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 QI
-
-pci:v00001002d0000514A*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 QJ
-
-pci:v00001002d0000514B*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 QK
-
-pci:v00001002d0000514C*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 QL [Radeon 8500 LE]
-
-pci:v00001002d0000514Csv00001002sd0000003A*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 QL [Radeon 8500 LE]
-
-pci:v00001002d0000514Csv00001002sd0000013A*
- ID_PRODUCT_FROM_DATABASE=Radeon 8500
-
-pci:v00001002d0000514Csv0000148Csd00002026*
- ID_PRODUCT_FROM_DATABASE=R200 QL [Radeon 8500 Evil Master II Multi Display Edition]
-
-pci:v00001002d0000514Csv00001681sd00000010*
- ID_PRODUCT_FROM_DATABASE=Radeon 8500 [3D Prophet 8500 128Mb]
-
-pci:v00001002d0000514Csv0000174Bsd00007149*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 QL [Sapphire Radeon 8500 LE]
-
-pci:v00001002d0000514Csv00001787sd00000F08*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 QL [PowerMagic Radeon 8500]
-
-pci:v00001002d0000514D*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 QM [Radeon 9100]
-
-pci:v00001002d0000514E*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 QN [Radeon 8500LE]
-
-pci:v00001002d0000514F*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 QO [Radeon 8500LE]
-
-pci:v00001002d00005154*
- ID_PRODUCT_FROM_DATABASE=R200 QT [Radeon 8500]
-
-pci:v00001002d00005155*
- ID_PRODUCT_FROM_DATABASE=R200 QU [Radeon 9100]
-
-pci:v00001002d00005157*
- ID_PRODUCT_FROM_DATABASE=RV200 QW [Radeon 7500]
-
-pci:v00001002d00005157sv00001002sd0000013A*
- ID_PRODUCT_FROM_DATABASE=Radeon 7500
-
-pci:v00001002d00005157sv00001002sd00000F2B*
- ID_PRODUCT_FROM_DATABASE=ALL-IN-WONDER VE PCI
-
-pci:v00001002d00005157sv00001002sd0000103A*
- ID_PRODUCT_FROM_DATABASE=Dell Optiplex GX260
-
-pci:v00001002d00005157sv00001458sd00004000*
- ID_PRODUCT_FROM_DATABASE=RV200 QW [RADEON 7500 PRO MAYA AR]
-
-pci:v00001002d00005157sv0000148Csd00002024*
- ID_PRODUCT_FROM_DATABASE=RV200 QW [Radeon 7500LE Dual Display]
-
-pci:v00001002d00005157sv0000148Csd00002025*
- ID_PRODUCT_FROM_DATABASE=RV200 QW [Radeon 7500 Evil Master Multi Display Edition]
-
-pci:v00001002d00005157sv0000148Csd00002036*
- ID_PRODUCT_FROM_DATABASE=RV200 QW [Radeon 7500 PCI Dual Display]
-
-pci:v00001002d00005157sv0000174Bsd00007146*
- ID_PRODUCT_FROM_DATABASE=RV200 QW [Radeon 7500 LE]
-
-pci:v00001002d00005157sv0000174Bsd00007147*
- ID_PRODUCT_FROM_DATABASE=RV200 QW [Sapphire Radeon 7500LE]
-
-pci:v00001002d00005157sv0000174Bsd00007161*
- ID_PRODUCT_FROM_DATABASE=Radeon RV200 QW [Radeon 7500 LE]
-
-pci:v00001002d00005157sv000017AFsd00000202*
- ID_PRODUCT_FROM_DATABASE=RV200 QW [Excalibur Radeon 7500LE]
-
-pci:v00001002d00005158*
- ID_PRODUCT_FROM_DATABASE=RV200 QX [Radeon 7500]
-
-pci:v00001002d00005159*
- ID_PRODUCT_FROM_DATABASE=RV100 QY [Radeon 7000/VE]
-
-pci:v00001002d00005159sv00001002sd0000000A*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon VE
-
-pci:v00001002d00005159sv00001002sd0000000B*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000
-
-pci:v00001002d00005159sv00001002sd00000038*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon VE
-
-pci:v00001002d00005159sv00001002sd0000003A*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon VE
-
-pci:v00001002d00005159sv00001002sd000000BA*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon VE
-
-pci:v00001002d00005159sv00001002sd0000013A*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000/Radeon VE
-
-pci:v00001002d00005159sv00001002sd00000908*
- ID_PRODUCT_FROM_DATABASE=XVR-100 (supplied by Sun)
-
-pci:v00001002d00005159sv00001014sd0000029A*
- ID_PRODUCT_FROM_DATABASE=Remote Supervisor Adapter II (RSA2)
-
-pci:v00001002d00005159sv00001014sd000002C8*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00001002d00005159sv00001028sd0000016C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1850 Embedded Radeon 7000/VE
-
-pci:v00001002d00005159sv00001028sd0000016D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2850 Embedded Radeon 7000-M
-
-pci:v00001002d00005159sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 Embedded Radeon 7000/VE
-
-pci:v00001002d00005159sv00001028sd0000019A*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC1425
-
-pci:v00001002d00005159sv0000103Csd00001292*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000
-
-pci:v00001002d00005159sv00001043sd0000C00A*
- ID_PRODUCT_FROM_DATABASE=A7000/T/64M
-
-pci:v00001002d00005159sv00001458sd00004002*
- ID_PRODUCT_FROM_DATABASE=RV100 QY [RADEON 7000 PRO MAYA AV Series]
-
-pci:v00001002d00005159sv0000148Csd00002003*
- ID_PRODUCT_FROM_DATABASE=RV100 QY [Radeon 7000 Multi-Display Edition]
-
-pci:v00001002d00005159sv0000148Csd00002023*
- ID_PRODUCT_FROM_DATABASE=RV100 QY [Radeon 7000 Evil Master Multi-Display]
-
-pci:v00001002d00005159sv0000174Bsd00000280*
- ID_PRODUCT_FROM_DATABASE=Radeon RV100 QY [Radeon 7000/VE]
-
-pci:v00001002d00005159sv0000174Bsd00007112*
- ID_PRODUCT_FROM_DATABASE=RV100 QY [Sapphire Radeon VE 7000]
-
-pci:v00001002d00005159sv0000174Bsd00007C28*
- ID_PRODUCT_FROM_DATABASE=Sapphire Radeon VE 7000 DDR
-
-pci:v00001002d00005159sv00001787sd00000202*
- ID_PRODUCT_FROM_DATABASE=RV100 QY [Excalibur Radeon 7000]
-
-pci:v00001002d00005159sv000017EEsd00001001*
- ID_PRODUCT_FROM_DATABASE=Radeon 7000 64MB DDR + DVI
-
-pci:v00001002d0000515A*
- ID_PRODUCT_FROM_DATABASE=RV100 QZ [Radeon 7000/VE]
-
-pci:v00001002d0000515E*
- ID_PRODUCT_FROM_DATABASE=ES1000
-
-pci:v00001002d0000515Esv00001028sd000001BB*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1955 Embedded ATI ES1000
-
-pci:v00001002d0000515Esv00001028sd000001DF*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC440
-
-pci:v00001002d0000515Esv00001028sd000001E6*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 860
-
-pci:v00001002d0000515Esv00001028sd000001F0*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R900 Embedded ATI ES1000
-
-pci:v00001002d0000515Esv00001028sd00000205*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2970 Embedded ATI ES1000
-
-pci:v00001002d0000515Esv00001028sd0000020B*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T605 Embedded ATI ES1000
-
-pci:v00001002d0000515Esv00001028sd0000020F*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R300 Embedded ATI ES1000
-
-pci:v00001002d0000515Esv00001028sd00000210*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T300 Embedded ATI ES1000
-
-pci:v00001002d0000515Esv00001028sd00000221*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R805 Embedded ATI ES1000
-
-pci:v00001002d0000515Esv00001028sd00000223*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R905 Embedded ATI ES1000
-
-pci:v00001002d0000515Esv00001028sd00000225*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T105 Embedded ATI ES1000
-
-pci:v00001002d0000515Esv00001028sd0000023C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R200 Embedded ATI ES1000
-
-pci:v00001002d0000515Esv0000103Csd00001304*
- ID_PRODUCT_FROM_DATABASE=Integrity iLO2 Advanced KVM VGA [AD307A]
-
-pci:v00001002d0000515Esv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00001002d0000515Esv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=S5000PSLSATA Server Board
-
-pci:v00001002d0000515F*
- ID_PRODUCT_FROM_DATABASE=ES1000
-
-pci:v00001002d00005168*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 Qh
-
-pci:v00001002d00005169*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 Qi
-
-pci:v00001002d0000516A*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 Qj
-
-pci:v00001002d0000516B*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 Qk
-
-pci:v00001002d0000516C*
- ID_PRODUCT_FROM_DATABASE=Radeon R200 Ql
-
-pci:v00001002d00005245*
- ID_PRODUCT_FROM_DATABASE=Rage 128 RE/SG
-
-pci:v00001002d00005245sv00001002sd00000008*
- ID_PRODUCT_FROM_DATABASE=Xpert 128
-
-pci:v00001002d00005245sv00001002sd00000028*
- ID_PRODUCT_FROM_DATABASE=Rage 128 AIW
-
-pci:v00001002d00005245sv00001002sd00000029*
- ID_PRODUCT_FROM_DATABASE=Rage 128 AIW
-
-pci:v00001002d00005245sv00001002sd00000068*
- ID_PRODUCT_FROM_DATABASE=Rage 128 AIW
-
-pci:v00001002d00005246*
- ID_PRODUCT_FROM_DATABASE=Rage 128 RF/SG AGP
-
-pci:v00001002d00005246sv00001002sd00000004*
- ID_PRODUCT_FROM_DATABASE=Magnum/Xpert 128/Xpert 99
-
-pci:v00001002d00005246sv00001002sd00000008*
- ID_PRODUCT_FROM_DATABASE=Magnum/Xpert128/X99/Xpert2000
-
-pci:v00001002d00005246sv00001002sd00000028*
- ID_PRODUCT_FROM_DATABASE=Rage 128 AIW AGP
-
-pci:v00001002d00005246sv00001002sd00000044*
- ID_PRODUCT_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000
-
-pci:v00001002d00005246sv00001002sd00000068*
- ID_PRODUCT_FROM_DATABASE=Rage 128 AIW AGP
-
-pci:v00001002d00005246sv00001002sd00000448*
- ID_PRODUCT_FROM_DATABASE=Rage Fury
-
-pci:v00001002d00005247*
- ID_PRODUCT_FROM_DATABASE=Rage 128 RG
-
-pci:v00001002d0000524B*
- ID_PRODUCT_FROM_DATABASE=Rage 128 RK/VR
-
-pci:v00001002d0000524C*
- ID_PRODUCT_FROM_DATABASE=Rage 128 RL/VR AGP
-
-pci:v00001002d0000524Csv00001002sd00000008*
- ID_PRODUCT_FROM_DATABASE=Xpert 99/Xpert 2000
-
-pci:v00001002d0000524Csv00001002sd00000088*
- ID_PRODUCT_FROM_DATABASE=Xpert 99
-
-pci:v00001002d00005345*
- ID_PRODUCT_FROM_DATABASE=Rage 128 SE/4x
-
-pci:v00001002d00005346*
- ID_PRODUCT_FROM_DATABASE=Rage 128 SF/4x AGP 2x
-
-pci:v00001002d00005346sv00001002sd00000048*
- ID_PRODUCT_FROM_DATABASE=RAGE 128 16MB VGA TVOUT AMC PAL
-
-pci:v00001002d00005347*
- ID_PRODUCT_FROM_DATABASE=Rage 128 SG/4x AGP 4x
-
-pci:v00001002d00005348*
- ID_PRODUCT_FROM_DATABASE=Rage 128 SH
-
-pci:v00001002d0000534B*
- ID_PRODUCT_FROM_DATABASE=Rage 128 SK/4x
-
-pci:v00001002d0000534C*
- ID_PRODUCT_FROM_DATABASE=Rage 128 SL/4x AGP 2x
-
-pci:v00001002d0000534D*
- ID_PRODUCT_FROM_DATABASE=Rage 128 SM/4x AGP 4x
-
-pci:v00001002d0000534Dsv00001002sd00000008*
- ID_PRODUCT_FROM_DATABASE=Xpert 99/Xpert 2000
-
-pci:v00001002d0000534Dsv00001002sd00000018*
- ID_PRODUCT_FROM_DATABASE=Xpert 2000
-
-pci:v00001002d0000534E*
- ID_PRODUCT_FROM_DATABASE=Rage 128 4x
-
-pci:v00001002d00005354*
- ID_PRODUCT_FROM_DATABASE=Mach 64 VT
-
-pci:v00001002d00005354sv00001002sd00005654*
- ID_PRODUCT_FROM_DATABASE=Mach 64 reference
-
-pci:v00001002d00005446*
- ID_PRODUCT_FROM_DATABASE=Rage 128 Pro Ultra TF
-
-pci:v00001002d00005446sv00001002sd00000004*
- ID_PRODUCT_FROM_DATABASE=Rage Fury Pro
-
-pci:v00001002d00005446sv00001002sd00000008*
- ID_PRODUCT_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro
-
-pci:v00001002d00005446sv00001002sd00000018*
- ID_PRODUCT_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro
-
-pci:v00001002d00005446sv00001002sd00000028*
- ID_PRODUCT_FROM_DATABASE=Rage 128 AIW Pro AGP
-
-pci:v00001002d00005446sv00001002sd00000029*
- ID_PRODUCT_FROM_DATABASE=Rage 128 AIW
-
-pci:v00001002d00005446sv00001002sd0000002A*
- ID_PRODUCT_FROM_DATABASE=Rage 128 AIW Pro AGP
-
-pci:v00001002d00005446sv00001002sd0000002B*
- ID_PRODUCT_FROM_DATABASE=Rage 128 AIW
-
-pci:v00001002d00005446sv00001002sd00000048*
- ID_PRODUCT_FROM_DATABASE=Xpert 2000 Pro
-
-pci:v00001002d0000544C*
- ID_PRODUCT_FROM_DATABASE=Rage 128 Pro Ultra TL
-
-pci:v00001002d00005452*
- ID_PRODUCT_FROM_DATABASE=Rage 128 Pro Ultra TR
-
-pci:v00001002d00005452sv00001002sd0000001C*
- ID_PRODUCT_FROM_DATABASE=Rage 128 Pro 4XL
-
-pci:v00001002d00005452sv0000103Csd00001279*
- ID_PRODUCT_FROM_DATABASE=Rage 128 Pro 4XL
-
-pci:v00001002d00005453*
- ID_PRODUCT_FROM_DATABASE=Rage 128 Pro Ultra TS
-
-pci:v00001002d00005454*
- ID_PRODUCT_FROM_DATABASE=Rage 128 Pro Ultra TT
-
-pci:v00001002d00005455*
- ID_PRODUCT_FROM_DATABASE=Rage 128 Pro Ultra TU
-
-pci:v00001002d00005460*
- ID_PRODUCT_FROM_DATABASE=RV370 [Mobility Radeon X300]
-
-pci:v00001002d00005460sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00001002d00005461*
- ID_PRODUCT_FROM_DATABASE=RV370 [Mobility Radeon X300]
-
-pci:v00001002d00005462*
- ID_PRODUCT_FROM_DATABASE=RV380 [Mobility Radeon X600]
-
-pci:v00001002d00005464*
- ID_PRODUCT_FROM_DATABASE=RV370 [Mobility FireGL V3100]
-
-pci:v00001002d00005548*
- ID_PRODUCT_FROM_DATABASE=R423 UH [Radeon X800 (PCIE)]
-
-pci:v00001002d00005549*
- ID_PRODUCT_FROM_DATABASE=R423 UI [Radeon X800PRO (PCIE)]
-
-pci:v00001002d0000554A*
- ID_PRODUCT_FROM_DATABASE=R423 UJ [Radeon X800LE (PCIE)]
-
-pci:v00001002d0000554B*
- ID_PRODUCT_FROM_DATABASE=R423 UK [Radeon X800SE (PCIE)]
-
-pci:v00001002d0000554C*
- ID_PRODUCT_FROM_DATABASE=R430 [Radeon X800XTP PCIe]
-
-pci:v00001002d0000554D*
- ID_PRODUCT_FROM_DATABASE=R430 [Radeon X800 XL] (PCIe)
-
-pci:v00001002d0000554Dsv00001458sd00002124*
- ID_PRODUCT_FROM_DATABASE=GV-R80L256V-B (AGP)
-
-pci:v00001002d0000554E*
- ID_PRODUCT_FROM_DATABASE=R430 [Radeon X800 SE PCIe]
-
-pci:v00001002d0000554F*
- ID_PRODUCT_FROM_DATABASE=R430 [Radeon X800 (PCIE)]
-
-pci:v00001002d00005550*
- ID_PRODUCT_FROM_DATABASE=R423 [FireGL V7100]
-
-pci:v00001002d00005551*
- ID_PRODUCT_FROM_DATABASE=R423 [FireGL V5100 (PCIE)]
-
-pci:v00001002d00005552*
- ID_PRODUCT_FROM_DATABASE=R423 UR [FireGL V5100 (PCIE)]
-
-pci:v00001002d00005554*
- ID_PRODUCT_FROM_DATABASE=R423 UT [FireGL V7100 (PCIE)]
-
-pci:v00001002d00005555*
- ID_PRODUCT_FROM_DATABASE=R430 GL PRO
-
-pci:v00001002d00005569*
- ID_PRODUCT_FROM_DATABASE=R423 UI [Radeon X800PRO (PCIE)] (Secondary)
-
-pci:v00001002d0000556B*
- ID_PRODUCT_FROM_DATABASE=Radeon R423 UK (PCIE) [X800 SE] (Secondary)
-
-pci:v00001002d0000556D*
- ID_PRODUCT_FROM_DATABASE=R430 [Radeon X800 XL] (PCIe) (Secondary)
-
-pci:v00001002d0000556Dsv00001458sd00002125*
- ID_PRODUCT_FROM_DATABASE=GV-R80L256V-B (AGP)
-
-pci:v00001002d0000556F*
- ID_PRODUCT_FROM_DATABASE=R430 [Radeon X800] (PCIE) (Secondary)
-
-pci:v00001002d00005571*
- ID_PRODUCT_FROM_DATABASE=R423GL-SE [FireGL V5100 (PCIE)] (Secondary)
-
-pci:v00001002d0000564A*
- ID_PRODUCT_FROM_DATABASE=M26 [Mobility FireGL V5000]
-
-pci:v00001002d0000564B*
- ID_PRODUCT_FROM_DATABASE=M26 [Mobility FireGL V5000]
-
-pci:v00001002d0000564F*
- ID_PRODUCT_FROM_DATABASE=M26 [Radeon Mobility X700 XL (PCIE)]
-
-pci:v00001002d00005652*
- ID_PRODUCT_FROM_DATABASE=M26 [Radeon Mobility X700]
-
-pci:v00001002d00005653*
- ID_PRODUCT_FROM_DATABASE=Radeon Mobility X700 (PCIE)
-
-pci:v00001002d00005653sv00001025sd00000080*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMi
-
-pci:v00001002d00005653sv0000103Csd00000940*
- ID_PRODUCT_FROM_DATABASE=HP Compaq NW8240 Mobile Workstation
-
-pci:v00001002d00005654*
- ID_PRODUCT_FROM_DATABASE=264VT [Mach64 VT]
-
-pci:v00001002d00005654sv00001002sd00005654*
- ID_PRODUCT_FROM_DATABASE=Mach64VT Reference
-
-pci:v00001002d00005655*
- ID_PRODUCT_FROM_DATABASE=264VT3 [Mach64 VT3]
-
-pci:v00001002d00005656*
- ID_PRODUCT_FROM_DATABASE=264VT4 [Mach64 VT4]
-
-pci:v00001002d00005657*
- ID_PRODUCT_FROM_DATABASE=Radeon X550/X700 Series (RV410)
-
-pci:v00001002d00005830*
- ID_PRODUCT_FROM_DATABASE=RS300 Host Bridge
-
-pci:v00001002d00005831*
- ID_PRODUCT_FROM_DATABASE=RS300 Host Bridge
-
-pci:v00001002d00005832*
- ID_PRODUCT_FROM_DATABASE=RS300 Host Bridge
-
-pci:v00001002d00005833*
- ID_PRODUCT_FROM_DATABASE=Radeon 9100 IGP Host Bridge
-
-pci:v00001002d00005834*
- ID_PRODUCT_FROM_DATABASE=RS300 [Radeon 9100 IGP]
-
-pci:v00001002d00005835*
- ID_PRODUCT_FROM_DATABASE=RS300M AGP [Radeon Mobility 9100IGP]
-
-pci:v00001002d00005838*
- ID_PRODUCT_FROM_DATABASE=Radeon 9100 IGP AGP Bridge
-
-pci:v00001002d00005854*
- ID_PRODUCT_FROM_DATABASE=Radeon Xpress Series (RS480)
-
-pci:v00001002d00005874*
- ID_PRODUCT_FROM_DATABASE=Radeon Xpress Series (RS482)
-
-pci:v00001002d00005940*
- ID_PRODUCT_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Secondary)
-
-pci:v00001002d00005940sv000017AFsd00002021*
- ID_PRODUCT_FROM_DATABASE=Excalibur Radeon 9250 (Secondary)
-
-pci:v00001002d00005941*
- ID_PRODUCT_FROM_DATABASE=RV280 [Radeon 9200] (Secondary)
-
-pci:v00001002d00005941sv00001458sd00004019*
- ID_PRODUCT_FROM_DATABASE=Gigabyte Radeon 9200
-
-pci:v00001002d00005941sv0000174Bsd00007C12*
- ID_PRODUCT_FROM_DATABASE=Sapphire Radeon 9200
-
-pci:v00001002d00005941sv000017AFsd0000200D*
- ID_PRODUCT_FROM_DATABASE=Excalibur Radeon 9200
-
-pci:v00001002d00005941sv000018BCsd00000050*
- ID_PRODUCT_FROM_DATABASE=GeXcube GC-R9200-C3 (Secondary)
-
-pci:v00001002d00005944*
- ID_PRODUCT_FROM_DATABASE=RV280 [Radeon 9200 SE (PCI)]
-
-pci:v00001002d00005950*
- ID_PRODUCT_FROM_DATABASE=RS480 Host Bridge
-
-pci:v00001002d00005950sv00001025sd00000080*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMMi
-
-pci:v00001002d00005950sv0000103Csd0000280A*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v00001002d00005950sv0000103Csd00002A20*
- ID_PRODUCT_FROM_DATABASE=Pavilion t3030.de Desktop PC
-
-pci:v00001002d00005950sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v00001002d00005950sv00001462sd00000131*
- ID_PRODUCT_FROM_DATABASE=MS-1013 Notebook
-
-pci:v00001002d00005950sv00001462sd00007217*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v00001002d00005951*
- ID_PRODUCT_FROM_DATABASE=Radeon Xpress 200 (RS480/RS482/RX480/RX482) Chipset - Host bridge
-
-pci:v00001002d00005952*
- ID_PRODUCT_FROM_DATABASE=RD580 [CrossFire Xpress 3200] Chipset Host Bridge
-
-pci:v00001002d00005954*
- ID_PRODUCT_FROM_DATABASE=RS480 [Radeon Xpress 200G Series]
-
-pci:v00001002d00005954sv00001002sd00005954*
- ID_PRODUCT_FROM_DATABASE=RV370 [Radeon Xpress 200G Series]
-
-pci:v00001002d00005955*
- ID_PRODUCT_FROM_DATABASE=Radeon XPRESS 200M 5955 (PCIE)
-
-pci:v00001002d00005955sv00001002sd00005955*
- ID_PRODUCT_FROM_DATABASE=RS480 0x5955 [Radeon XPRESS 200M 5955 (PCIE)]
-
-pci:v00001002d00005955sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v00001002d00005955sv00001462sd00000131*
- ID_PRODUCT_FROM_DATABASE=MS-1013 Notebook
-
-pci:v00001002d00005956*
- ID_PRODUCT_FROM_DATABASE=RD790 Northbridge only dual slot PCI-e_GFX and HT3 K8 part
-
-pci:v00001002d00005957*
- ID_PRODUCT_FROM_DATABASE=RX780/RX790 Chipset Host Bridge
-
-pci:v00001002d00005957sv00001849sd00005957*
- ID_PRODUCT_FROM_DATABASE=A770CrossFire Motherboard
-
-pci:v00001002d00005958*
- ID_PRODUCT_FROM_DATABASE=RD780 Northbridge only dual slot PCI-e_GFX and HT1 K8 part
-
-pci:v00001002d00005960*
- ID_PRODUCT_FROM_DATABASE=RV280 [Radeon 9200 PRO]
-
-pci:v00001002d00005960sv000017AFsd00002020*
- ID_PRODUCT_FROM_DATABASE=Excalibur Radeon 9250
-
-pci:v00001002d00005961*
- ID_PRODUCT_FROM_DATABASE=RV280 [Radeon 9200]
-
-pci:v00001002d00005961sv00001002sd00002F72*
- ID_PRODUCT_FROM_DATABASE=All-in-Wonder 9200 Series
-
-pci:v00001002d00005961sv00001019sd00004C30*
- ID_PRODUCT_FROM_DATABASE=Radeon 9200 VIVO
-
-pci:v00001002d00005961sv000012ABsd00005961*
- ID_PRODUCT_FROM_DATABASE=YUAN SMARTVGA Radeon 9200
-
-pci:v00001002d00005961sv00001458sd00004018*
- ID_PRODUCT_FROM_DATABASE=Gigabyte Radeon 9200
-
-pci:v00001002d00005961sv0000174Bsd00007C13*
- ID_PRODUCT_FROM_DATABASE=Sapphire Radeon 9200
-
-pci:v00001002d00005961sv000017AFsd0000200C*
- ID_PRODUCT_FROM_DATABASE=Excalibur Radeon 9200
-
-pci:v00001002d00005961sv000018BCsd00000050*
- ID_PRODUCT_FROM_DATABASE=Radeon 9200 Game Buster
-
-pci:v00001002d00005961sv000018BCsd00000051*
- ID_PRODUCT_FROM_DATABASE=GeXcube GC-R9200-C3
-
-pci:v00001002d00005961sv000018BCsd00000053*
- ID_PRODUCT_FROM_DATABASE=Radeon 9200 Game Buster VIVO
-
-pci:v00001002d00005962*
- ID_PRODUCT_FROM_DATABASE=RV280 [Radeon 9200]
-
-pci:v00001002d00005964*
- ID_PRODUCT_FROM_DATABASE=RV280 [Radeon 9200 SE]
-
-pci:v00001002d00005964sv00001002sd00005964*
- ID_PRODUCT_FROM_DATABASE=Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz
-
-pci:v00001002d00005964sv00001043sd0000C006*
- ID_PRODUCT_FROM_DATABASE=ASUS Radeon 9200 SE / TD / 128M
-
-pci:v00001002d00005964sv00001458sd00004018*
- ID_PRODUCT_FROM_DATABASE=Radeon 9200 SE
-
-pci:v00001002d00005964sv00001458sd00004032*
- ID_PRODUCT_FROM_DATABASE=Radeon 9200 SE 128MB
-
-pci:v00001002d00005964sv0000147Bsd00006191*
- ID_PRODUCT_FROM_DATABASE=R9200SE-DT
-
-pci:v00001002d00005964sv0000148Csd00002073*
- ID_PRODUCT_FROM_DATABASE=CN-AG92E
-
-pci:v00001002d00005964sv0000174Bsd00007C13*
- ID_PRODUCT_FROM_DATABASE=Sapphire Radeon 9200 SE
-
-pci:v00001002d00005964sv00001787sd00005964*
- ID_PRODUCT_FROM_DATABASE=Excalibur 9200SE VIVO 128M
-
-pci:v00001002d00005964sv000017AFsd00002012*
- ID_PRODUCT_FROM_DATABASE=Radeon 9200 SE Excalibur
-
-pci:v00001002d00005964sv000018BCsd00000170*
- ID_PRODUCT_FROM_DATABASE=Sapphire Radeon 9200 SE 128MB Game Buster
-
-pci:v00001002d00005964sv000018BCsd00000173*
- ID_PRODUCT_FROM_DATABASE=GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]
-
-pci:v00001002d00005965*
- ID_PRODUCT_FROM_DATABASE=RV280 [FireMV 2200 PCI]
-
-pci:v00001002d00005969*
- ID_PRODUCT_FROM_DATABASE=ES1000
-
-pci:v00001002d00005974*
- ID_PRODUCT_FROM_DATABASE=RS482 [Radeon Xpress 200]
-
-pci:v00001002d00005974sv0000103Csd0000280A*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v00001002d00005974sv00001462sd00007141*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v00001002d00005975*
- ID_PRODUCT_FROM_DATABASE=RS482 [Radeon Xpress 200M]
-
-pci:v00001002d00005978*
- ID_PRODUCT_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx0 port A)
-
-pci:v00001002d00005978sv00001849sd00005957*
- ID_PRODUCT_FROM_DATABASE=A770CrossFire Motherboard
-
-pci:v00001002d00005979*
- ID_PRODUCT_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx0 port B)
-
-pci:v00001002d0000597A*
- ID_PRODUCT_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port A)
-
-pci:v00001002d0000597B*
- ID_PRODUCT_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port B)
-
-pci:v00001002d0000597C*
- ID_PRODUCT_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port C)
-
-pci:v00001002d0000597D*
- ID_PRODUCT_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port D)
-
-pci:v00001002d0000597E*
- ID_PRODUCT_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port E)
-
-pci:v00001002d0000597Esv00001849sd00005957*
- ID_PRODUCT_FROM_DATABASE=A770CrossFire Motherboard
-
-pci:v00001002d0000597F*
- ID_PRODUCT_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port F)
-
-pci:v00001002d0000597Fsv00001849sd00005957*
- ID_PRODUCT_FROM_DATABASE=A770CrossFire Motherboard
-
-pci:v00001002d00005980*
- ID_PRODUCT_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx1 port A)
-
-pci:v00001002d00005981*
- ID_PRODUCT_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx1 port B)
-
-pci:v00001002d00005982*
- ID_PRODUCT_FROM_DATABASE=RD790 PCI to PCI bridge (NB-SB link)
-
-pci:v00001002d00005A10*
- ID_PRODUCT_FROM_DATABASE=RD890 Northbridge only dual slot (2x16) PCI-e GFX Hydra part
-
-pci:v00001002d00005A11*
- ID_PRODUCT_FROM_DATABASE=RD890 Northbridge only single slot PCI-e GFX Hydra part
-
-pci:v00001002d00005A12*
- ID_PRODUCT_FROM_DATABASE=RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part
-
-pci:v00001002d00005A12sv000015D9sd0000A811*
- ID_PRODUCT_FROM_DATABASE=H8DGU
-
-pci:v00001002d00005A13*
- ID_PRODUCT_FROM_DATABASE=RD890 PCI to PCI bridge (external gfx0 port A)
-
-pci:v00001002d00005A14*
- ID_PRODUCT_FROM_DATABASE=RD890 PCI to PCI bridge (external gfx0 port B)
-
-pci:v00001002d00005A15*
- ID_PRODUCT_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port A)
-
-pci:v00001002d00005A16*
- ID_PRODUCT_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port B)
-
-pci:v00001002d00005A17*
- ID_PRODUCT_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port C)
-
-pci:v00001002d00005A18*
- ID_PRODUCT_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port D)
-
-pci:v00001002d00005A18sv000015D9sd0000A811*
- ID_PRODUCT_FROM_DATABASE=H8DGU
-
-pci:v00001002d00005A19*
- ID_PRODUCT_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port E)
-
-pci:v00001002d00005A1A*
- ID_PRODUCT_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port F)
-
-pci:v00001002d00005A1B*
- ID_PRODUCT_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port G)
-
-pci:v00001002d00005A1C*
- ID_PRODUCT_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port H)
-
-pci:v00001002d00005A1D*
- ID_PRODUCT_FROM_DATABASE=RD890 PCI to PCI bridge (external gfx1 port A)
-
-pci:v00001002d00005A1E*
- ID_PRODUCT_FROM_DATABASE=RD890 PCI to PCI bridge (external gfx1 port B)
-
-pci:v00001002d00005A1F*
- ID_PRODUCT_FROM_DATABASE=RD890 PCI to PCI bridge (NB-SB link)
-
-pci:v00001002d00005A1Fsv000015D9sd0000A811*
- ID_PRODUCT_FROM_DATABASE=H8DGU
-
-pci:v00001002d00005A20*
- ID_PRODUCT_FROM_DATABASE=RD890S PCI Express bridge for GPP2 port 1
-
-pci:v00001002d00005A23*
- ID_PRODUCT_FROM_DATABASE=RD990 I/O Memory Management Unit (IOMMU)
-
-pci:v00001002d00005A33*
- ID_PRODUCT_FROM_DATABASE=Radeon Xpress 200 Host Bridge
-
-pci:v00001002d00005A34*
- ID_PRODUCT_FROM_DATABASE=RS480 PCI-X Root Port
-
-pci:v00001002d00005A36*
- ID_PRODUCT_FROM_DATABASE=RS480 PCI Bridge
-
-pci:v00001002d00005A37*
- ID_PRODUCT_FROM_DATABASE=RS480 PCI Bridge
-
-pci:v00001002d00005A38*
- ID_PRODUCT_FROM_DATABASE=RS480 PCI Bridge
-
-pci:v00001002d00005A39*
- ID_PRODUCT_FROM_DATABASE=RS480 PCI Bridge
-
-pci:v00001002d00005A3F*
- ID_PRODUCT_FROM_DATABASE=RS480 PCI Bridge
-
-pci:v00001002d00005A3Fsv00001462sd00007217*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v00001002d00005A41*
- ID_PRODUCT_FROM_DATABASE=RS400 [Radeon Xpress 200]
-
-pci:v00001002d00005A42*
- ID_PRODUCT_FROM_DATABASE=RS400 [Radeon Xpress 200M]
-
-pci:v00001002d00005A43*
- ID_PRODUCT_FROM_DATABASE=Radeon Xpress Series (RS400)
-
-pci:v00001002d00005A61*
- ID_PRODUCT_FROM_DATABASE=RC410 [Radeon Xpress 200]
-
-pci:v00001002d00005A62*
- ID_PRODUCT_FROM_DATABASE=RC410 [Radeon Xpress 200M]
-
-pci:v00001002d00005A63*
- ID_PRODUCT_FROM_DATABASE=Radeon Xpress Series (RC410)
-
-pci:v00001002d00005B60*
- ID_PRODUCT_FROM_DATABASE=RV370 5B60 [Radeon X300 (PCIE)]
-
-pci:v00001002d00005B60sv00001043sd0000002A*
- ID_PRODUCT_FROM_DATABASE=Extreme AX300SE-X
-
-pci:v00001002d00005B60sv00001043sd0000032E*
- ID_PRODUCT_FROM_DATABASE=Extreme AX300/TD
-
-pci:v00001002d00005B60sv00001458sd00002102*
- ID_PRODUCT_FROM_DATABASE=GV-RX30S128D (X300SE)
-
-pci:v00001002d00005B60sv00001462sd00000400*
- ID_PRODUCT_FROM_DATABASE=RX300SE-TD128E (MS-8940 REV:200)
-
-pci:v00001002d00005B60sv00001462sd00000402*
- ID_PRODUCT_FROM_DATABASE=RX300SE-TD128E (MS-8940)
-
-pci:v00001002d00005B60sv0000174Bsd00000500*
- ID_PRODUCT_FROM_DATABASE=Radeon X300 (PCIE)
-
-pci:v00001002d00005B60sv0000196Dsd00001086*
- ID_PRODUCT_FROM_DATABASE=X300SE HM
-
-pci:v00001002d00005B62*
- ID_PRODUCT_FROM_DATABASE=RV380 [Radeon X600 (PCIE)]
-
-pci:v00001002d00005B63*
- ID_PRODUCT_FROM_DATABASE=RV370 [Radeon X550]
-
-pci:v00001002d00005B64*
- ID_PRODUCT_FROM_DATABASE=RV370 5B64 [FireGL V3100 (PCIE)]
-
-pci:v00001002d00005B65*
- ID_PRODUCT_FROM_DATABASE=RV370 5B65 [FireGL D1100 (PCIE)]
-
-pci:v00001002d00005B66*
- ID_PRODUCT_FROM_DATABASE=RV370X
-
-pci:v00001002d00005B70*
- ID_PRODUCT_FROM_DATABASE=RV370 [Radeon X300SE]
-
-pci:v00001002d00005B70sv00001462sd00000403*
- ID_PRODUCT_FROM_DATABASE=RX300SE-TD128E (MS-8940) (secondary display)
-
-pci:v00001002d00005B70sv0000174Bsd00000501*
- ID_PRODUCT_FROM_DATABASE=Radeon X300SE
-
-pci:v00001002d00005B70sv0000196Dsd00001087*
- ID_PRODUCT_FROM_DATABASE=X300SE HM
-
-pci:v00001002d00005B72*
- ID_PRODUCT_FROM_DATABASE=RV380 [Radeon X600]
-
-pci:v00001002d00005B73*
- ID_PRODUCT_FROM_DATABASE=RV370 secondary [Sapphire X550 Silent]
-
-pci:v00001002d00005B74*
- ID_PRODUCT_FROM_DATABASE=RV370 5B64 [FireGL V3100 (PCIE)] (Secondary)
-
-pci:v00001002d00005B75*
- ID_PRODUCT_FROM_DATABASE=RV370 5B75 [FireGL D1100 (PCIE)] (Secondary)
-
-pci:v00001002d00005C61*
- ID_PRODUCT_FROM_DATABASE=M9+ 5C61 [Radeon Mobility 9200 (AGP)]
-
-pci:v00001002d00005C63*
- ID_PRODUCT_FROM_DATABASE=M9+ 5C63 [Radeon Mobility 9200 (AGP)]
-
-pci:v00001002d00005C63sv00001002sd00005C63*
- ID_PRODUCT_FROM_DATABASE=Apple iBook G4 2004
-
-pci:v00001002d00005C63sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30 notebook
-
-pci:v00001002d00005D44*
- ID_PRODUCT_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary)
-
-pci:v00001002d00005D44sv00001458sd00004019*
- ID_PRODUCT_FROM_DATABASE=Radeon 9200 SE (Secondary)
-
-pci:v00001002d00005D44sv00001458sd00004032*
- ID_PRODUCT_FROM_DATABASE=Radeon 9200 SE 128MB
-
-pci:v00001002d00005D44sv0000147Bsd00006190*
- ID_PRODUCT_FROM_DATABASE=R9200SE-DT (Secondary)
-
-pci:v00001002d00005D44sv0000174Bsd00007C12*
- ID_PRODUCT_FROM_DATABASE=Sapphire Radeon 9200 SE (Secondary)
-
-pci:v00001002d00005D44sv00001787sd00005965*
- ID_PRODUCT_FROM_DATABASE=Excalibur 9200SE VIVO 128M (Secondary)
-
-pci:v00001002d00005D44sv000017AFsd00002013*
- ID_PRODUCT_FROM_DATABASE=Radeon 9200 SE Excalibur (Secondary)
-
-pci:v00001002d00005D44sv000018BCsd00000171*
- ID_PRODUCT_FROM_DATABASE=Radeon 9200 SE 128MB Game Buster (Secondary)
-
-pci:v00001002d00005D44sv000018BCsd00000172*
- ID_PRODUCT_FROM_DATABASE=GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]
-
-pci:v00001002d00005D45*
- ID_PRODUCT_FROM_DATABASE=RV280 [FireMV 2200 PCI] (secondary)
-
-pci:v00001002d00005D48*
- ID_PRODUCT_FROM_DATABASE=M28 [Radeon Mobility X800XT]
-
-pci:v00001002d00005D49*
- ID_PRODUCT_FROM_DATABASE=M28 [Mobility FireGL V5100]
-
-pci:v00001002d00005D4A*
- ID_PRODUCT_FROM_DATABASE=Mobility Radeon X800
-
-pci:v00001002d00005D4C*
- ID_PRODUCT_FROM_DATABASE=Radeon X850 (PCIE)
-
-pci:v00001002d00005D4D*
- ID_PRODUCT_FROM_DATABASE=R480 [Radeon X850XT Platinum (PCIE)]
-
-pci:v00001002d00005D4E*
- ID_PRODUCT_FROM_DATABASE=Radeon X850 SE (R480) (PCIE)
-
-pci:v00001002d00005D4F*
- ID_PRODUCT_FROM_DATABASE=R480 [Radeon X800 GTO (PCIE)]
-
-pci:v00001002d00005D50*
- ID_PRODUCT_FROM_DATABASE=R480 [FireGL V7200 (PCIE)]
-
-pci:v00001002d00005D51*
- ID_PRODUCT_FROM_DATABASE=R480 GL 12P
-
-pci:v00001002d00005D52*
- ID_PRODUCT_FROM_DATABASE=R480 [Radeon X850XT (PCIE)] (Primary)
-
-pci:v00001002d00005D52sv00001002sd00000B12*
- ID_PRODUCT_FROM_DATABASE=PowerColor X850XT PCIe (Primary)
-
-pci:v00001002d00005D52sv00001002sd00000B13*
- ID_PRODUCT_FROM_DATABASE=PowerColor X850XT PCIe (Secondary)
-
-pci:v00001002d00005D57*
- ID_PRODUCT_FROM_DATABASE=R423 5F57 [Radeon X800XT (PCIE)]
-
-pci:v00001002d00005D6D*
- ID_PRODUCT_FROM_DATABASE=R480 [Radeon X850XT Platinum (PCIE)] (Secondary)
-
-pci:v00001002d00005D6F*
- ID_PRODUCT_FROM_DATABASE=R480 [Radeon X800 GTO (PCIE)] (Secondary)
-
-pci:v00001002d00005D72*
- ID_PRODUCT_FROM_DATABASE=R480 [Radeon X850XT (PCIE)] (Secondary)
-
-pci:v00001002d00005D77*
- ID_PRODUCT_FROM_DATABASE=R423 5F57 [Radeon X800XT (PCIE)] (Secondary)
-
-pci:v00001002d00005E48*
- ID_PRODUCT_FROM_DATABASE=RV410 [FireGL V5000]
-
-pci:v00001002d00005E49*
- ID_PRODUCT_FROM_DATABASE=RV410 [FireGL V3300]
-
-pci:v00001002d00005E4A*
- ID_PRODUCT_FROM_DATABASE=RV410 [Radeon X700XT]
-
-pci:v00001002d00005E4B*
- ID_PRODUCT_FROM_DATABASE=RV410 [Radeon X700 Pro (PCIE)]
-
-pci:v00001002d00005E4C*
- ID_PRODUCT_FROM_DATABASE=RV410 [Radeon X700SE]
-
-pci:v00001002d00005E4D*
- ID_PRODUCT_FROM_DATABASE=RV410 [Radeon X700 (PCIE)]
-
-pci:v00001002d00005E4Dsv0000148Csd00002116*
- ID_PRODUCT_FROM_DATABASE=PowerColor Bravo X700
-
-pci:v00001002d00005E4F*
- ID_PRODUCT_FROM_DATABASE=RV410 [Radeon X700]
-
-pci:v00001002d00005E6B*
- ID_PRODUCT_FROM_DATABASE=RV410 [Radeon X700 Pro (PCIE)] (Secondary)
-
-pci:v00001002d00005E6D*
- ID_PRODUCT_FROM_DATABASE=RV410 [Radeon X700 (PCIE)] (Secondary)
-
-pci:v00001002d00005E6Dsv0000148Csd00002117*
- ID_PRODUCT_FROM_DATABASE=PowerColor Bravo X700
-
-pci:v00001002d00005F57*
- ID_PRODUCT_FROM_DATABASE=R423 [Radeon X800XT (PCIE)]
-
-pci:v00001002d00006600*
- ID_PRODUCT_FROM_DATABASE=Mars [Radeon HD 8600/8700M Series]
-
-pci:v00001002d00006601*
- ID_PRODUCT_FROM_DATABASE=Mars [Radeon HD 8500/8700M Series]
-
-pci:v00001002d00006606*
- ID_PRODUCT_FROM_DATABASE=Mars [Radeon HD 8790M]
-
-pci:v00001002d00006610*
- ID_PRODUCT_FROM_DATABASE=Oland [Radeon HD 8600 Series]
-
-pci:v00001002d00006611*
- ID_PRODUCT_FROM_DATABASE=Oland [Radeon HD 8500 Series]
-
-pci:v00001002d00006704*
- ID_PRODUCT_FROM_DATABASE=Cayman PRO GL [FirePro V7900]
-
-pci:v00001002d00006707*
- ID_PRODUCT_FROM_DATABASE=Cayman LE GL [FirePro V5900]
-
-pci:v00001002d00006718*
- ID_PRODUCT_FROM_DATABASE=Cayman XT [Radeon HD 6970]
-
-pci:v00001002d00006719*
- ID_PRODUCT_FROM_DATABASE=Cayman PRO [Radeon HD 6950]
-
-pci:v00001002d0000671D*
- ID_PRODUCT_FROM_DATABASE=Antilles [AMD Radeon HD 6990]
-
-pci:v00001002d0000671F*
- ID_PRODUCT_FROM_DATABASE=Cayman [Radeon HD 6900 Series]
-
-pci:v00001002d00006720*
- ID_PRODUCT_FROM_DATABASE=Blackcomb [Radeon HD 6900M series]
-
-pci:v00001002d00006738*
- ID_PRODUCT_FROM_DATABASE=Barts XT [Radeon HD 6800 Series]
-
-pci:v00001002d00006739*
- ID_PRODUCT_FROM_DATABASE=Barts PRO [Radeon HD 6800 Series]
-
-pci:v00001002d00006739sv00001043sd000003B4*
- ID_PRODUCT_FROM_DATABASE=EAH6850 [Radeon HD 6850]
-
-pci:v00001002d0000673E*
- ID_PRODUCT_FROM_DATABASE=Barts LE [AMD Radeon HD 6700 Series]
-
-pci:v00001002d00006740*
- ID_PRODUCT_FROM_DATABASE=Whistler XT [AMD Radeon HD 6700M Series]
-
-pci:v00001002d00006741*
- ID_PRODUCT_FROM_DATABASE=Whistler [AMD Radeon HD 6600M Series]
-
-pci:v00001002d00006741sv0000106Bsd000000E2*
- ID_PRODUCT_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", Late 2011]
-
-pci:v00001002d00006742*
- ID_PRODUCT_FROM_DATABASE=Whistler LE [AMD Radeon HD 6625M Graphics]
-
-pci:v00001002d00006743*
- ID_PRODUCT_FROM_DATABASE=Whistler [Radeon E6760]
-
-pci:v00001002d00006749*
- ID_PRODUCT_FROM_DATABASE=Turks [FirePro V4900]
-
-pci:v00001002d0000674A*
- ID_PRODUCT_FROM_DATABASE=Turks [AMD FirePro V3900]
-
-pci:v00001002d00006750*
- ID_PRODUCT_FROM_DATABASE=Turks [AMD Radeon HD 6570]
-
-pci:v00001002d00006751*
- ID_PRODUCT_FROM_DATABASE=Turks [Radeon HD 7600A Series]
-
-pci:v00001002d00006758*
- ID_PRODUCT_FROM_DATABASE=Turks [Radeon HD 6670]
-
-pci:v00001002d00006759*
- ID_PRODUCT_FROM_DATABASE=Turks [Radeon HD 6570]
-
-pci:v00001002d0000675D*
- ID_PRODUCT_FROM_DATABASE=Turks [Radeon HD 7500 Series]
-
-pci:v00001002d00006760*
- ID_PRODUCT_FROM_DATABASE=Caicos [Radeon HD 6400M/7400M Series]
-
-pci:v00001002d00006760sv00001028sd000004CC*
- ID_PRODUCT_FROM_DATABASE=Vostro 3350
-
-pci:v00001002d00006761*
- ID_PRODUCT_FROM_DATABASE=Seymour LP [Radeon HD 6430M]
-
-pci:v00001002d00006763*
- ID_PRODUCT_FROM_DATABASE=Seymour [Radeon E6460]
-
-pci:v00001002d00006770*
- ID_PRODUCT_FROM_DATABASE=Caicos [Radeon HD 6400 Series]
-
-pci:v00001002d00006772*
- ID_PRODUCT_FROM_DATABASE=Caicos [Radeon HD 7400A Series]
-
-pci:v00001002d00006778*
- ID_PRODUCT_FROM_DATABASE=Caicos [Radeon HD 7000 Series]
-
-pci:v00001002d00006779*
- ID_PRODUCT_FROM_DATABASE=Caicos [Radeon HD 6450]
-
-pci:v00001002d00006779sv0000174Bsd0000E164*
- ID_PRODUCT_FROM_DATABASE=Sapphire HD 6450 1GB DDR3
-
-pci:v00001002d0000677B*
- ID_PRODUCT_FROM_DATABASE=Caicos [Radeon HD 7400 Series]
-
-pci:v00001002d00006798*
- ID_PRODUCT_FROM_DATABASE=Tahiti XT [Radeon HD 7970]
-
-pci:v00001002d00006799*
- ID_PRODUCT_FROM_DATABASE=New Zealand [Radeon HD 7990]
-
-pci:v00001002d0000679A*
- ID_PRODUCT_FROM_DATABASE=Tahiti PRO [Radeon HD 7950]
-
-pci:v00001002d0000679E*
- ID_PRODUCT_FROM_DATABASE=Tahiti LE [Radeon HD 7800 Series]
-
-pci:v00001002d00006800*
- ID_PRODUCT_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M]
-
-pci:v00001002d00006818*
- ID_PRODUCT_FROM_DATABASE=Pitcairn [Radeon HD 7800]
-
-pci:v00001002d00006819*
- ID_PRODUCT_FROM_DATABASE=Pitcairn PRO [Radeon HD 7800]
-
-pci:v00001002d00006820*
- ID_PRODUCT_FROM_DATABASE=Radeon HD 8800M Series
-
-pci:v00001002d00006821*
- ID_PRODUCT_FROM_DATABASE=Radeon HD 8800M Series
-
-pci:v00001002d00006823*
- ID_PRODUCT_FROM_DATABASE=Radeon HD 8800M Series
-
-pci:v00001002d00006825*
- ID_PRODUCT_FROM_DATABASE=Cape Verde [Radeon HD 7800M Series]
-
-pci:v00001002d0000682B*
- ID_PRODUCT_FROM_DATABASE=Radeon HD 8800M Series
-
-pci:v00001002d0000682F*
- ID_PRODUCT_FROM_DATABASE=Cape Verde [Radeon HD 7700M Series]
-
-pci:v00001002d0000683B*
- ID_PRODUCT_FROM_DATABASE=Cape Verde [Radeon HD 7700 Series]
-
-pci:v00001002d0000683D*
- ID_PRODUCT_FROM_DATABASE=Cape Verde [Radeon HD 7700 Series]
-
-pci:v00001002d0000683F*
- ID_PRODUCT_FROM_DATABASE=Cape Verde PRO [Radeon HD 7700 Series]
-
-pci:v00001002d00006840*
- ID_PRODUCT_FROM_DATABASE=Thames XT/GL [Radeon HD 7600M Series]
-
-pci:v00001002d00006841*
- ID_PRODUCT_FROM_DATABASE=Thames [Radeon 7500M/7600M Series]
-
-pci:v00001002d00006842*
- ID_PRODUCT_FROM_DATABASE=Thames LE [Radeon HD 7000M Series]
-
-pci:v00001002d00006843*
- ID_PRODUCT_FROM_DATABASE=Thames [Radeon HD 7670M]
-
-pci:v00001002d00006850*
- ID_PRODUCT_FROM_DATABASE=Lombok GL AIO [Radeon HD 7570]
-
-pci:v00001002d00006858*
- ID_PRODUCT_FROM_DATABASE=Lombok [Radeon HD 7400 series]
-
-pci:v00001002d00006888*
- ID_PRODUCT_FROM_DATABASE=Cypress [FirePro 3D V8800]
-
-pci:v00001002d00006889*
- ID_PRODUCT_FROM_DATABASE=Cypress [FirePro V7800]
-
-pci:v00001002d0000688A*
- ID_PRODUCT_FROM_DATABASE=Cypress XT [FirePro 3D V9800]
-
-pci:v00001002d0000688C*
- ID_PRODUCT_FROM_DATABASE=Cypress [AMD FireStream 9370]
-
-pci:v00001002d0000688D*
- ID_PRODUCT_FROM_DATABASE=Cypress [AMD FireStream 9350]
-
-pci:v00001002d00006898*
- ID_PRODUCT_FROM_DATABASE=Cypress XT [Radeon HD 5870]
-
-pci:v00001002d00006898sv00001462sd00008032*
- ID_PRODUCT_FROM_DATABASE=R5870 PM2D1G
-
-pci:v00001002d00006899*
- ID_PRODUCT_FROM_DATABASE=Cypress PRO [Radeon HD 5800 Series]
-
-pci:v00001002d00006899sv00001043sd00000330*
- ID_PRODUCT_FROM_DATABASE=EAH5850 [Radeon HD5850]
-
-pci:v00001002d0000689B*
- ID_PRODUCT_FROM_DATABASE=Cypress [Radeon HD 6800 Series]
-
-pci:v00001002d0000689C*
- ID_PRODUCT_FROM_DATABASE=Hemlock [Radeon HD 5900 Series]
-
-pci:v00001002d0000689E*
- ID_PRODUCT_FROM_DATABASE=Cypress LE [Radeon HD 5800 Series]
-
-pci:v00001002d000068A0*
- ID_PRODUCT_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5800 Series]
-
-pci:v00001002d000068A0sv0000103Csd00001520*
- ID_PRODUCT_FROM_DATABASE=Broadway XT [FirePro M7820]
-
-pci:v00001002d000068A1*
- ID_PRODUCT_FROM_DATABASE=Broadway PRO [Mobility Radeon HD 5800 Series]
-
-pci:v00001002d000068A8*
- ID_PRODUCT_FROM_DATABASE=Broadway [ATI Mobility Radeon HD 6800 Series]
-
-pci:v00001002d000068A9*
- ID_PRODUCT_FROM_DATABASE=Juniper XT [FirePro 3D V5800]
-
-pci:v00001002d000068B8*
- ID_PRODUCT_FROM_DATABASE=Juniper [Radeon HD 5700 Series]
-
-pci:v00001002d000068B8sv0000106Bsd000000CF*
- ID_PRODUCT_FROM_DATABASE=MacPro5,1 [Mac Pro 2.8GHz DDR3]
-
-pci:v00001002d000068B9*
- ID_PRODUCT_FROM_DATABASE=Juniper [Radeon HD 5600/5700]
-
-pci:v00001002d000068BA*
- ID_PRODUCT_FROM_DATABASE=Juniper XT [AMD Radeon HD 6000 Series]
-
-pci:v00001002d000068BE*
- ID_PRODUCT_FROM_DATABASE=Juniper [Radeon HD 5700 Series]
-
-pci:v00001002d000068BF*
- ID_PRODUCT_FROM_DATABASE=Juniper LE [Radeon HD 6700 Series]
-
-pci:v00001002d000068C0*
- ID_PRODUCT_FROM_DATABASE=Madison [Mobility Radeon HD 5000 Series]
-
-pci:v00001002d000068C0sv0000103Csd00001521*
- ID_PRODUCT_FROM_DATABASE=Madison XT [FirePro M5800]
-
-pci:v00001002d000068C1*
- ID_PRODUCT_FROM_DATABASE=Madison [Radeon HD 5000M Series]
-
-pci:v00001002d000068C1sv00001025sd0000033D*
- ID_PRODUCT_FROM_DATABASE=Mobility Radeon HD 5650
-
-pci:v00001002d000068C1sv00001025sd00000347*
- ID_PRODUCT_FROM_DATABASE=Aspire 7740G
-
-pci:v00001002d000068C1sv0000103Csd00001521*
- ID_PRODUCT_FROM_DATABASE=Madison Pro [FirePro M5800]
-
-pci:v00001002d000068C7*
- ID_PRODUCT_FROM_DATABASE=Pinewood [Radeon HD 5570]
-
-pci:v00001002d000068C8*
- ID_PRODUCT_FROM_DATABASE=FirePro V4800
-
-pci:v00001002d000068D8*
- ID_PRODUCT_FROM_DATABASE=Redwood [Radeon HD 5670]
-
-pci:v00001002d000068D9*
- ID_PRODUCT_FROM_DATABASE=Redwood PRO [Radeon HD 5500 Series]
-
-pci:v00001002d000068DA*
- ID_PRODUCT_FROM_DATABASE=Redwood PRO [Radeon HD 5500 Series]
-
-pci:v00001002d000068E0*
- ID_PRODUCT_FROM_DATABASE=Manhattan [Mobility Radeon HD 5400 Series]
-
-pci:v00001002d000068E0sv0000103Csd00001486*
- ID_PRODUCT_FROM_DATABASE=TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450)
-
-pci:v00001002d000068E1*
- ID_PRODUCT_FROM_DATABASE=Manhattan [Mobility Radeon HD 5430 Series]
-
-pci:v00001002d000068E4*
- ID_PRODUCT_FROM_DATABASE=Robson CE [AMD Radeon HD 6300 Series]
-
-pci:v00001002d000068E5*
- ID_PRODUCT_FROM_DATABASE=Robson LE [AMD Radeon HD 6300M Series]
-
-pci:v00001002d000068F1*
- ID_PRODUCT_FROM_DATABASE=Cedar [FirePro 2460]
-
-pci:v00001002d000068F2*
- ID_PRODUCT_FROM_DATABASE=Cedar [FirePro 2270]
-
-pci:v00001002d000068F9*
- ID_PRODUCT_FROM_DATABASE=Cedar PRO [Radeon HD 5450/6350]
-
-pci:v00001002d000068F9sv00001028sd0000010E*
- ID_PRODUCT_FROM_DATABASE=XPS 8300
-
-pci:v00001002d000068FA*
- ID_PRODUCT_FROM_DATABASE=EG Cedar [Radeon HD 7300 Series]
-
-pci:v00001002d0000700F*
- ID_PRODUCT_FROM_DATABASE=PCI Bridge [IGP 320M]
-
-pci:v00001002d00007010*
- ID_PRODUCT_FROM_DATABASE=PCI Bridge [IGP 340M]
-
-pci:v00001002d00007100*
- ID_PRODUCT_FROM_DATABASE=R520 [Radeon X1800]
-
-pci:v00001002d00007102*
- ID_PRODUCT_FROM_DATABASE=M58 [Radeon Mobility X1800]
-
-pci:v00001002d00007103*
- ID_PRODUCT_FROM_DATABASE=M58 [Mobility FireGL V7200]
-
-pci:v00001002d00007104*
- ID_PRODUCT_FROM_DATABASE=R520GL [FireGL V7200] (Primary)
-
-pci:v00001002d00007105*
- ID_PRODUCT_FROM_DATABASE=R520 [FireGL]
-
-pci:v00001002d00007106*
- ID_PRODUCT_FROM_DATABASE=M58 [Mobility FireGL V7100]
-
-pci:v00001002d00007108*
- ID_PRODUCT_FROM_DATABASE=M58 [Radeon Mobility X1800]
-
-pci:v00001002d00007109*
- ID_PRODUCT_FROM_DATABASE=R520 [Radeon X1800]
-
-pci:v00001002d00007109sv00001002sd00000322*
- ID_PRODUCT_FROM_DATABASE=All-in-Wonder X1800XL
-
-pci:v00001002d00007109sv00001002sd00000D02*
- ID_PRODUCT_FROM_DATABASE=Radeon X1800 CrossFire Edition
-
-pci:v00001002d0000710A*
- ID_PRODUCT_FROM_DATABASE=R520 [Radeon X1800]
-
-pci:v00001002d0000710B*
- ID_PRODUCT_FROM_DATABASE=R520 [Radeon X1800]
-
-pci:v00001002d0000710C*
- ID_PRODUCT_FROM_DATABASE=R520 [Radeon X1800]
-
-pci:v00001002d00007120*
- ID_PRODUCT_FROM_DATABASE=R520 [Radeon X1800] (Secondary)
-
-pci:v00001002d00007124*
- ID_PRODUCT_FROM_DATABASE=R520GL [FireGL V7200] (Secondary)
-
-pci:v00001002d00007129*
- ID_PRODUCT_FROM_DATABASE=R520 [Radeon X1800] (Secondary)
-
-pci:v00001002d00007129sv00001002sd00000323*
- ID_PRODUCT_FROM_DATABASE=All-in-Wonder X1800XL (Secondary)
-
-pci:v00001002d00007129sv00001002sd00000D03*
- ID_PRODUCT_FROM_DATABASE=Radeon X1800 CrossFire Edition (Secondary)
-
-pci:v00001002d00007140*
- ID_PRODUCT_FROM_DATABASE=RV515 [Radeon X1600]
-
-pci:v00001002d00007142*
- ID_PRODUCT_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series]
-
-pci:v00001002d00007142sv00001002sd00000322*
- ID_PRODUCT_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition
-
-pci:v00001002d00007142sv00001043sd00000142*
- ID_PRODUCT_FROM_DATABASE=EAX1300PRO/TD/256M
-
-pci:v00001002d00007143*
- ID_PRODUCT_FROM_DATABASE=RV505 [Radeon X1550 Series]
-
-pci:v00001002d00007145*
- ID_PRODUCT_FROM_DATABASE=Radeon Mobility X1400
-
-pci:v00001002d00007145sv000017AAsd00002006*
- ID_PRODUCT_FROM_DATABASE=Thinkpad T60 model 2007
-
-pci:v00001002d00007146*
- ID_PRODUCT_FROM_DATABASE=RV515 [Radeon X1300]
-
-pci:v00001002d00007146sv00001002sd00000322*
- ID_PRODUCT_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition
-
-pci:v00001002d00007146sv00001545sd00001996*
- ID_PRODUCT_FROM_DATABASE=Radeon X1300 512MB PCI-e
-
-pci:v00001002d00007147*
- ID_PRODUCT_FROM_DATABASE=RV505 [Radeon X1550 64-bit]
-
-pci:v00001002d00007149*
- ID_PRODUCT_FROM_DATABASE=M52 [Mobility Radeon X1300]
-
-pci:v00001002d0000714A*
- ID_PRODUCT_FROM_DATABASE=M52 [Mobility Radeon X1300]
-
-pci:v00001002d0000714B*
- ID_PRODUCT_FROM_DATABASE=M52 [Mobility Radeon X1300]
-
-pci:v00001002d0000714C*
- ID_PRODUCT_FROM_DATABASE=M52 [Mobility Radeon X1300]
-
-pci:v00001002d0000714D*
- ID_PRODUCT_FROM_DATABASE=RV515 [Radeon X1300]
-
-pci:v00001002d0000714E*
- ID_PRODUCT_FROM_DATABASE=RV515LE [Radeon X1300]
-
-pci:v00001002d00007152*
- ID_PRODUCT_FROM_DATABASE=RV515GL [FireGL V3300] (Primary)
-
-pci:v00001002d00007153*
- ID_PRODUCT_FROM_DATABASE=RV515GL [FireGL V3350]
-
-pci:v00001002d0000715E*
- ID_PRODUCT_FROM_DATABASE=RV515 [Radeon X1300]
-
-pci:v00001002d0000715F*
- ID_PRODUCT_FROM_DATABASE=RV505 CE [Radeon X1550 64-bit]
-
-pci:v00001002d00007162*
- ID_PRODUCT_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (Secondary)
-
-pci:v00001002d00007162sv00001002sd00000323*
- ID_PRODUCT_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition (Secondary)
-
-pci:v00001002d00007163*
- ID_PRODUCT_FROM_DATABASE=RV505 [Radeon X1550 Series] (Secondary)
-
-pci:v00001002d00007166*
- ID_PRODUCT_FROM_DATABASE=RV515 [Radeon X1300] (Secondary)
-
-pci:v00001002d00007166sv00001002sd00000323*
- ID_PRODUCT_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition (Secondary)
-
-pci:v00001002d00007166sv00001545sd00001997*
- ID_PRODUCT_FROM_DATABASE=Radeon X1300 512MB PCI-e (Secondary)
-
-pci:v00001002d00007167*
- ID_PRODUCT_FROM_DATABASE=RV515 [Radeon X1550 64-bit] (Secondary)
-
-pci:v00001002d0000716E*
- ID_PRODUCT_FROM_DATABASE=RV515LE [Radeon X1300] Secondary
-
-pci:v00001002d00007172*
- ID_PRODUCT_FROM_DATABASE=RV515GL [FireGL V3300] (Secondary)
-
-pci:v00001002d00007173*
- ID_PRODUCT_FROM_DATABASE=RV515GL [FireGL V3350] (Secondary)
-
-pci:v00001002d00007180*
- ID_PRODUCT_FROM_DATABASE=RV516 [Radeon X1300/X1550 Series]
-
-pci:v00001002d00007181*
- ID_PRODUCT_FROM_DATABASE=RV516 XT Radeon X1600 Series (Primary)
-
-pci:v00001002d00007183*
- ID_PRODUCT_FROM_DATABASE=RV516 [Radeon X1300/X1550 Series]
-
-pci:v00001002d00007186*
- ID_PRODUCT_FROM_DATABASE=RV515 [Radeon Mobility X1450]
-
-pci:v00001002d00007187*
- ID_PRODUCT_FROM_DATABASE=RV516 [Radeon X1300/X1550 Series]
-
-pci:v00001002d00007188*
- ID_PRODUCT_FROM_DATABASE=M64-S [Mobility Radeon X2300]
-
-pci:v00001002d00007188sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=6910p
-
-pci:v00001002d0000718A*
- ID_PRODUCT_FROM_DATABASE=Mobility Radeon X2300
-
-pci:v00001002d0000718C*
- ID_PRODUCT_FROM_DATABASE=M62CSP64 [Mobility Radeon X1350]
-
-pci:v00001002d0000718D*
- ID_PRODUCT_FROM_DATABASE=M64CSP128 [Mobility Radeon X1450]
-
-pci:v00001002d00007193*
- ID_PRODUCT_FROM_DATABASE=RV516 [Radeon X1550 Series]
-
-pci:v00001002d00007196*
- ID_PRODUCT_FROM_DATABASE=RV516 [Mobility Radeon X1350]
-
-pci:v00001002d0000719B*
- ID_PRODUCT_FROM_DATABASE=FireMV 2250
-
-pci:v00001002d0000719F*
- ID_PRODUCT_FROM_DATABASE=RV516LE [Radeon X1550 64-bit]
-
-pci:v00001002d000071A0*
- ID_PRODUCT_FROM_DATABASE=RV516 [Radeon X1300/X1550 Series] (Secondary)
-
-pci:v00001002d000071A1*
- ID_PRODUCT_FROM_DATABASE=RV516 XT Radeon X1600 Series (Secondary)
-
-pci:v00001002d000071A3*
- ID_PRODUCT_FROM_DATABASE=RV516 [Radeon X1300 Pro] (Secondary)
-
-pci:v00001002d000071A7*
- ID_PRODUCT_FROM_DATABASE=RV516 [Radeon X1300/X1550 Series] (Secondary)
-
-pci:v00001002d000071BB*
- ID_PRODUCT_FROM_DATABASE=FireMV 2250 (Secondary)
-
-pci:v00001002d000071C0*
- ID_PRODUCT_FROM_DATABASE=RV530 [Radeon X1600]
-
-pci:v00001002d000071C1*
- ID_PRODUCT_FROM_DATABASE=Radeon X1650 Pro
-
-pci:v00001002d000071C2*
- ID_PRODUCT_FROM_DATABASE=RV530 [Radeon X1600]
-
-pci:v00001002d000071C4*
- ID_PRODUCT_FROM_DATABASE=M56GL [Mobility FireGL V5200]
-
-pci:v00001002d000071C4sv000017AAsd00002007*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60p
-
-pci:v00001002d000071C5*
- ID_PRODUCT_FROM_DATABASE=M56P [Radeon Mobility X1600]
-
-pci:v00001002d000071C5sv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00001002d000071C5sv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq NW8440
-
-pci:v00001002d000071C5sv00001043sd000010B2*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v00001002d000071C5sv0000106Bsd00000080*
- ID_PRODUCT_FROM_DATABASE=MacBook Pro
-
-pci:v00001002d000071C6*
- ID_PRODUCT_FROM_DATABASE=RV530LE [Radeon X1600/X1650 PRO]
-
-pci:v00001002d000071C7*
- ID_PRODUCT_FROM_DATABASE=RV535 [Radeon X1650 Series]
-
-pci:v00001002d000071CE*
- ID_PRODUCT_FROM_DATABASE=RV530LE [Radeon X1600]
-
-pci:v00001002d000071D2*
- ID_PRODUCT_FROM_DATABASE=RV530GL [FireGL V3400]
-
-pci:v00001002d000071D4*
- ID_PRODUCT_FROM_DATABASE=M66GL [ATI Mobility FireGL V5250]
-
-pci:v00001002d000071D5*
- ID_PRODUCT_FROM_DATABASE=M66-P [Mobility Radeon X1700]
-
-pci:v00001002d000071D6*
- ID_PRODUCT_FROM_DATABASE=M66-XT [Mobility Radeon X1700]
-
-pci:v00001002d000071DE*
- ID_PRODUCT_FROM_DATABASE=RV530LE [Radeon X1600]
-
-pci:v00001002d000071E0*
- ID_PRODUCT_FROM_DATABASE=RV530 [Radeon X1600] (Secondary)
-
-pci:v00001002d000071E1*
- ID_PRODUCT_FROM_DATABASE=Radeon X1650 Pro (Secondary)
-
-pci:v00001002d000071E2*
- ID_PRODUCT_FROM_DATABASE=RV530 [Radeon X1600] (Secondary)
-
-pci:v00001002d000071E6*
- ID_PRODUCT_FROM_DATABASE=RV530LE [Radeon X1650 PRO] (Secondary)
-
-pci:v00001002d000071E7*
- ID_PRODUCT_FROM_DATABASE=RV535 [Radeon X1650 Series]
-
-pci:v00001002d000071F2*
- ID_PRODUCT_FROM_DATABASE=RV530GL [FireGL V3400 (Secondary)]
-
-pci:v00001002d00007210*
- ID_PRODUCT_FROM_DATABASE=M71 [Mobility Radeon X2100]
-
-pci:v00001002d00007211*
- ID_PRODUCT_FROM_DATABASE=M71 [Mobility Radeon X2100] (Secondary)
-
-pci:v00001002d00007240*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d00007241*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d00007242*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d00007243*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d00007244*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d00007245*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d00007246*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d00007247*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d00007248*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d00007249*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900 XT] (Primary)
-
-pci:v00001002d0000724A*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d0000724B*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d0000724Bsv00001002sd00000B12*
- ID_PRODUCT_FROM_DATABASE=Radeon X1900 (Primary)
-
-pci:v00001002d0000724Bsv00001002sd00000B13*
- ID_PRODUCT_FROM_DATABASE=Radeon X1900 (Secondary)
-
-pci:v00001002d0000724C*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d0000724D*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d0000724E*
- ID_PRODUCT_FROM_DATABASE=R580 [AMD Stream Processor]
-
-pci:v00001002d00007269*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900 XT] (Secondary)
-
-pci:v00001002d0000726B*
- ID_PRODUCT_FROM_DATABASE=R580 [Radeon X1900]
-
-pci:v00001002d0000726E*
- ID_PRODUCT_FROM_DATABASE=R580 [AMD Stream Processor] (Secondary)
-
-pci:v00001002d00007280*
- ID_PRODUCT_FROM_DATABASE=RV570 [Radeon X1950 Pro]
-
-pci:v00001002d00007288*
- ID_PRODUCT_FROM_DATABASE=Radeon X1950 GT
-
-pci:v00001002d00007291*
- ID_PRODUCT_FROM_DATABASE=Radeon X1650 XT (Primary) (PCIE)
-
-pci:v00001002d00007293*
- ID_PRODUCT_FROM_DATABASE=Radeon X1650 Series
-
-pci:v00001002d000072A0*
- ID_PRODUCT_FROM_DATABASE=RV570 [Radeon X1950 Pro] (secondary)
-
-pci:v00001002d000072A8*
- ID_PRODUCT_FROM_DATABASE=Radeon X1950 GT (Secondary)
-
-pci:v00001002d000072B1*
- ID_PRODUCT_FROM_DATABASE=Radeon X1650 XT (Secondary) (PCIE)
-
-pci:v00001002d000072B3*
- ID_PRODUCT_FROM_DATABASE=Radeon X1650 Series (Secondary)
-
-pci:v00001002d00007833*
- ID_PRODUCT_FROM_DATABASE=Radeon 9100 IGP Host Bridge
-
-pci:v00001002d00007834*
- ID_PRODUCT_FROM_DATABASE=Radeon 9100 PRO IGP
-
-pci:v00001002d00007835*
- ID_PRODUCT_FROM_DATABASE=Radeon Mobility 9200 IGP
-
-pci:v00001002d00007838*
- ID_PRODUCT_FROM_DATABASE=Radeon 9100 IGP PCI/AGP Bridge
-
-pci:v00001002d00007910*
- ID_PRODUCT_FROM_DATABASE=RS690 Host Bridge
-
-pci:v00001002d00007910sv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d00007910sv000017F2sd00005000*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d00007911*
- ID_PRODUCT_FROM_DATABASE=RS690 Host Bridge
-
-pci:v00001002d00007912*
- ID_PRODUCT_FROM_DATABASE=RS690 PCI to PCI Bridge (Internal gfx)
-
-pci:v00001002d00007913*
- ID_PRODUCT_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Graphics Port 0)
-
-pci:v00001002d00007915*
- ID_PRODUCT_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 1)
-
-pci:v00001002d00007916*
- ID_PRODUCT_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 2)
-
-pci:v00001002d00007917*
- ID_PRODUCT_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 3)
-
-pci:v00001002d00007917sv00001002sd00007910*
- ID_PRODUCT_FROM_DATABASE=RS690 PCI to PCI Bridge
-
-pci:v00001002d00007919*
- ID_PRODUCT_FROM_DATABASE=Radeon X1200 Series Audio Controller
-
-pci:v00001002d00007919sv00001179sd00007919*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d00007919sv000017F2sd00005000*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d0000791E*
- ID_PRODUCT_FROM_DATABASE=RS690 [Radeon X1200 Series]
-
-pci:v00001002d0000791Esv00001462sd00007327*
- ID_PRODUCT_FROM_DATABASE=K9AG Neo2
-
-pci:v00001002d0000791Esv000017F2sd00005000*
- ID_PRODUCT_FROM_DATABASE=KI690-AM2 Motherboard
-
-pci:v00001002d0000791F*
- ID_PRODUCT_FROM_DATABASE=RS690M [Radeon X1200 Series]
-
-pci:v00001002d0000791Fsv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001002d00007930*
- ID_PRODUCT_FROM_DATABASE=RS600 Host Bridge
-
-pci:v00001002d00007932*
- ID_PRODUCT_FROM_DATABASE=RS600 PCI to PCI Bridge (Internal gfx)
-
-pci:v00001002d00007933*
- ID_PRODUCT_FROM_DATABASE=RS600 PCI to PCI Bridge (PCI Express Graphics Port 0)
-
-pci:v00001002d00007935*
- ID_PRODUCT_FROM_DATABASE=RS600 PCI to PCI Bridge (PCI Express Port 1)
-
-pci:v00001002d00007936*
- ID_PRODUCT_FROM_DATABASE=RS600 PCI to PCI Bridge (PCI Express Port 2)
-
-pci:v00001002d00007937*
- ID_PRODUCT_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 3)
-
-pci:v00001002d0000793B*
- ID_PRODUCT_FROM_DATABASE=RS600 HDMI Audio [Radeon Xpress 1250]
-
-pci:v00001002d0000793F*
- ID_PRODUCT_FROM_DATABASE=RS600 [Radeon Xpress 1250]
-
-pci:v00001002d00007941*
- ID_PRODUCT_FROM_DATABASE=RS600 [Radeon Xpress 1250]
-
-pci:v00001002d00007942*
- ID_PRODUCT_FROM_DATABASE=RS600 [Radeon Xpress 1250]
-
-pci:v00001002d0000796E*
- ID_PRODUCT_FROM_DATABASE=Radeon 2100
-
-pci:v00001002d00007C37*
- ID_PRODUCT_FROM_DATABASE=RV350 AQ [Radeon 9600 SE]
-
-pci:v00001002d00009400*
- ID_PRODUCT_FROM_DATABASE=R600 [Radeon HD 2900 Series]
-
-pci:v00001002d00009400sv00001002sd00003000*
- ID_PRODUCT_FROM_DATABASE=Sapphire Radeon HD 2900 XT
-
-pci:v00001002d00009400sv00001002sd00003142*
- ID_PRODUCT_FROM_DATABASE=HIS Radeon HD 2900XT 512MB GDDR3 VIVO PCIe
-
-pci:v00001002d00009403*
- ID_PRODUCT_FROM_DATABASE=R600 [Radeon HD 2900 PRO]
-
-pci:v00001002d0000940A*
- ID_PRODUCT_FROM_DATABASE=R600GL [Fire GL V8650]
-
-pci:v00001002d0000940B*
- ID_PRODUCT_FROM_DATABASE=R600GL [Fire GL V8600]
-
-pci:v00001002d0000940F*
- ID_PRODUCT_FROM_DATABASE=R600 [FireGL V7600]
-
-pci:v00001002d00009440*
- ID_PRODUCT_FROM_DATABASE=RV770 [Radeon HD 4870]
-
-pci:v00001002d00009441*
- ID_PRODUCT_FROM_DATABASE=R700 [Radeon HD 4870 X2]
-
-pci:v00001002d00009442*
- ID_PRODUCT_FROM_DATABASE=RV770 [Radeon HD 4850]
-
-pci:v00001002d00009442sv00001002sd00000502*
- ID_PRODUCT_FROM_DATABASE=MSI R4850-T2D512
-
-pci:v00001002d00009442sv0000174Bsd0000E810*
- ID_PRODUCT_FROM_DATABASE=Sapphire HD 4850 512MB GDDR3 PCI-E Dual Slot Fansink
-
-pci:v00001002d00009443*
- ID_PRODUCT_FROM_DATABASE=R700 [Radeon HD 4850]
-
-pci:v00001002d0000944A*
- ID_PRODUCT_FROM_DATABASE=M98L [Mobility Radeon HD 4850]
-
-pci:v00001002d0000944C*
- ID_PRODUCT_FROM_DATABASE=RV770 LE [Radeon HD 4800 Series]
-
-pci:v00001002d0000944E*
- ID_PRODUCT_FROM_DATABASE=RV770 CE [Radeon HD 4710]
-
-pci:v00001002d00009450*
- ID_PRODUCT_FROM_DATABASE=RV770 [FireStream 9270]
-
-pci:v00001002d00009452*
- ID_PRODUCT_FROM_DATABASE=RV770 [FireStream 9250]
-
-pci:v00001002d0000945A*
- ID_PRODUCT_FROM_DATABASE=M98 XT [Mobility Radeon HD 4870]
-
-pci:v00001002d00009460*
- ID_PRODUCT_FROM_DATABASE=RV790 [Radeon HD 4890]
-
-pci:v00001002d00009462*
- ID_PRODUCT_FROM_DATABASE=RV790LE [Radeon HD 4800 Series]
-
-pci:v00001002d00009480*
- ID_PRODUCT_FROM_DATABASE=M96 [Mobility Radeon HD 4650]
-
-pci:v00001002d00009480sv0000103Csd00003628*
- ID_PRODUCT_FROM_DATABASE=ATI Mobility Radeon HD 4650 [dv6-1190en]
-
-pci:v00001002d00009485*
- ID_PRODUCT_FROM_DATABASE=RV740 Pro [Radeon HD 4770]
-
-pci:v00001002d00009488*
- ID_PRODUCT_FROM_DATABASE=RV730 XT [Mobility Radeon HD 4670]
-
-pci:v00001002d00009489*
- ID_PRODUCT_FROM_DATABASE=M96 XT [Mobility FireGL V5725]
-
-pci:v00001002d00009490*
- ID_PRODUCT_FROM_DATABASE=RV730XT [Radeon HD 4670]
-
-pci:v00001002d00009490sv0000174Bsd0000E880*
- ID_PRODUCT_FROM_DATABASE=Radeon HD 4670 512MB DDR3
-
-pci:v00001002d00009491*
- ID_PRODUCT_FROM_DATABASE=M96 CSP [ATI RADEON E4690]
-
-pci:v00001002d00009495*
- ID_PRODUCT_FROM_DATABASE=RV730 Pro AGP [Radeon HD 4600 Series]
-
-pci:v00001002d00009495sv00001002sd00009495*
- ID_PRODUCT_FROM_DATABASE=RV730 XT [PowerColor Radeon HD4670 AGP 1GB DDR]
-
-pci:v00001002d00009495sv00001458sd00000028*
- ID_PRODUCT_FROM_DATABASE=HD4650
-
-pci:v00001002d00009498*
- ID_PRODUCT_FROM_DATABASE=RV730 PRO [Radeon HD 4650]
-
-pci:v00001002d0000949E*
- ID_PRODUCT_FROM_DATABASE=RV370 [FirePro V5700]
-
-pci:v00001002d0000949F*
- ID_PRODUCT_FROM_DATABASE=RV730 [FirePro V5700]
-
-pci:v00001002d000094A0*
- ID_PRODUCT_FROM_DATABASE=Mobility Radeon HD 4830 [M97]
-
-pci:v00001002d000094A1*
- ID_PRODUCT_FROM_DATABASE=[M97 XT] Mobility Radeon HD 4860
-
-pci:v00001002d000094A3*
- ID_PRODUCT_FROM_DATABASE=M97 GL [ATI FirePro M7740]
-
-pci:v00001002d000094B3*
- ID_PRODUCT_FROM_DATABASE=Radeon HD 4770 [RV740]
-
-pci:v00001002d000094B4*
- ID_PRODUCT_FROM_DATABASE=RV740 LE [ATI Radeon HD 4700 Series]
-
-pci:v00001002d000094C1*
- ID_PRODUCT_FROM_DATABASE=RV610 [Radeon HD 2400 XT]
-
-pci:v00001002d000094C1sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00001002d000094C1sv00001028sd00000D02*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00001002d000094C3*
- ID_PRODUCT_FROM_DATABASE=RV610 video device [Radeon HD 2400 PRO]
-
-pci:v00001002d000094C3sv00001002sd000094C3*
- ID_PRODUCT_FROM_DATABASE=Radeon HD 2400PRO
-
-pci:v00001002d000094C3sv00001028sd00000302*
- ID_PRODUCT_FROM_DATABASE=Radeon HD 2400 Pro
-
-pci:v00001002d000094C3sv0000174Bsd0000E400*
- ID_PRODUCT_FROM_DATABASE=Sapphire HD 2400 PRO video device
-
-pci:v00001002d000094C3sv000018BCsd00003550*
- ID_PRODUCT_FROM_DATABASE=GeCube Radeon HD2400 PRO
-
-pci:v00001002d000094C4*
- ID_PRODUCT_FROM_DATABASE=RV610 LE AGP [Radeon HD 2400 PRO AGP]
-
-pci:v00001002d000094C8*
- ID_PRODUCT_FROM_DATABASE=Radeon HD 2400 XT
-
-pci:v00001002d000094C9*
- ID_PRODUCT_FROM_DATABASE=Mobility Radeon HD 2400
-
-pci:v00001002d000094C9sv00001002sd000094C9*
- ID_PRODUCT_FROM_DATABASE=Radeon HD2400
-
-pci:v00001002d000094CB*
- ID_PRODUCT_FROM_DATABASE=Radeon E2400
-
-pci:v00001002d000094CC*
- ID_PRODUCT_FROM_DATABASE=RV610 LE [Radeon HD 2400 Pro PCI]
-
-pci:v00001002d00009501*
- ID_PRODUCT_FROM_DATABASE=RV670 [Radeon HD 3870]
-
-pci:v00001002d00009501sv0000174Bsd0000E620*
- ID_PRODUCT_FROM_DATABASE=Sapphire Radeon HD 3870 PCIe 2.0
-
-pci:v00001002d00009504*
- ID_PRODUCT_FROM_DATABASE=RV670 [Mobility Radeon HD 3850]
-
-pci:v00001002d00009505*
- ID_PRODUCT_FROM_DATABASE=RV670PRO [Radeon HD 3850]
-
-pci:v00001002d00009507*
- ID_PRODUCT_FROM_DATABASE=RV670 [Radeon HD 3850]
-
-pci:v00001002d00009508*
- ID_PRODUCT_FROM_DATABASE=M88 XT Mobility Radeon HD 3870]
-
-pci:v00001002d0000950F*
- ID_PRODUCT_FROM_DATABASE=R680 [Radeon HD 3870 x2]
-
-pci:v00001002d00009511*
- ID_PRODUCT_FROM_DATABASE=RV670 [FireGL 7700]
-
-pci:v00001002d00009515*
- ID_PRODUCT_FROM_DATABASE=RV670 AGP [Radeon HD 3850]
-
-pci:v00001002d00009519*
- ID_PRODUCT_FROM_DATABASE=RV670 [FireStream 9170]
-
-pci:v00001002d00009540*
- ID_PRODUCT_FROM_DATABASE=RV710 [Radeon HD 4550]
-
-pci:v00001002d0000954F*
- ID_PRODUCT_FROM_DATABASE=RV710 [Radeon HD 4350]
-
-pci:v00001002d0000954Fsv00001462sd00001618*
- ID_PRODUCT_FROM_DATABASE=R4350 MD512H (MS-V161)
-
-pci:v00001002d00009552*
- ID_PRODUCT_FROM_DATABASE=RV710 [Mobility Radeon HD 4300 Series]
-
-pci:v00001002d00009553*
- ID_PRODUCT_FROM_DATABASE=RV710 [Mobility Radeon HD 4500/5100 Series]
-
-pci:v00001002d00009553sv00001179sd0000FF82*
- ID_PRODUCT_FROM_DATABASE=Satellite L505-13T GPU (Mobility Radeon HD 5145)
-
-pci:v00001002d00009555*
- ID_PRODUCT_FROM_DATABASE=RV710 [Mobility Radeon HD 4300/4500 Series]
-
-pci:v00001002d00009555sv0000103Csd00001411*
- ID_PRODUCT_FROM_DATABASE=ProBook 4720s GPU (Mobility Radeon HD 4350)
-
-pci:v00001002d00009559*
- ID_PRODUCT_FROM_DATABASE=RV635 [Mobility Radeon HD 3600 Series]
-
-pci:v00001002d0000955F*
- ID_PRODUCT_FROM_DATABASE=RV710 [Mobility Radeon HD 4330]
-
-pci:v00001002d00009581*
- ID_PRODUCT_FROM_DATABASE=RV630 [Mobility Radeon HD 2600]
-
-pci:v00001002d00009583*
- ID_PRODUCT_FROM_DATABASE=RV630 [Mobility Radeon HD 2600 XT]
-
-pci:v00001002d00009586*
- ID_PRODUCT_FROM_DATABASE=RV 630 XT AGP [Radeon HD 2600 XT AGP]
-
-pci:v00001002d00009587*
- ID_PRODUCT_FROM_DATABASE=RV630 PRO AGP [Radeon HD 2600 PRO AGP]
-
-pci:v00001002d00009588*
- ID_PRODUCT_FROM_DATABASE=RV630 [Radeon HD 2600XT]
-
-pci:v00001002d00009588sv00001458sd0000216C*
- ID_PRODUCT_FROM_DATABASE=Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H)
-
-pci:v00001002d00009589*
- ID_PRODUCT_FROM_DATABASE=RV630 [Radeon HD 2600 Series]
-
-pci:v00001002d0000958C*
- ID_PRODUCT_FROM_DATABASE=RV630GL [FireGL v5600]
-
-pci:v00001002d0000958D*
- ID_PRODUCT_FROM_DATABASE=RV630 [FireGL V3600]
-
-pci:v00001002d00009591*
- ID_PRODUCT_FROM_DATABASE=RV635 [Mobility Radeon HD 3650]
-
-pci:v00001002d00009591sv00001002sd00009591*
- ID_PRODUCT_FROM_DATABASE=Mobility Radeon HD 3650
-
-pci:v00001002d00009593*
- ID_PRODUCT_FROM_DATABASE=RV635 [Mobility Radeon HD 3670]
-
-pci:v00001002d00009595*
- ID_PRODUCT_FROM_DATABASE=M86GL [Mobility FireGL V5700]
-
-pci:v00001002d00009596*
- ID_PRODUCT_FROM_DATABASE=RV635 PRO AGP [Radeon HD 3650]
-
-pci:v00001002d00009596sv00001043sd00000028*
- ID_PRODUCT_FROM_DATABASE=EAH3650 SILENT/HTDI/512M/A
-
-pci:v00001002d00009598*
- ID_PRODUCT_FROM_DATABASE=RV630 [Radeon HD 3600 Series]
-
-pci:v00001002d00009598sv00001002sd00009598*
- ID_PRODUCT_FROM_DATABASE=Mobility Radeon HD 3600
-
-pci:v00001002d00009598sv00001043sd000001D6*
- ID_PRODUCT_FROM_DATABASE=EAH3650 Silent
-
-pci:v00001002d000095C0*
- ID_PRODUCT_FROM_DATABASE=RV620 PRO [Radeon HD 3470]
-
-pci:v00001002d000095C0sv00001002sd000095C0*
- ID_PRODUCT_FROM_DATABASE=Mobility Radeon HD 3470
-
-pci:v00001002d000095C4*
- ID_PRODUCT_FROM_DATABASE=RV620 [Mobility Radeon HD 3400 Series]
-
-pci:v00001002d000095C4sv00001002sd000095C4*
- ID_PRODUCT_FROM_DATABASE=Mobility Radeon HD 3400
-
-pci:v00001002d000095C5*
- ID_PRODUCT_FROM_DATABASE=RV620 LE [Radeon HD 3450]
-
-pci:v00001002d000095C5sv00001028sd00000342*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 980
-
-pci:v00001002d000095C6*
- ID_PRODUCT_FROM_DATABASE=RV620 LE AGP [Radeon HD 3450]
-
-pci:v00001002d000095C7*
- ID_PRODUCT_FROM_DATABASE=RV620 CE [Radeon HD 3430]
-
-pci:v00001002d000095C9*
- ID_PRODUCT_FROM_DATABASE=RV620 PCI [Radeon HD 3450]
-
-pci:v00001002d000095CC*
- ID_PRODUCT_FROM_DATABASE=RV620 [ATI FireGL V3700]
-
-pci:v00001002d000095CD*
- ID_PRODUCT_FROM_DATABASE=RV620 [FireMV 2450]
-
-pci:v00001002d000095CE*
- ID_PRODUCT_FROM_DATABASE=RV620 [FirePro 2260]
-
-pci:v00001002d000095CF*
- ID_PRODUCT_FROM_DATABASE=RV620 [FirePro 2260]
-
-pci:v00001002d0000960F*
- ID_PRODUCT_FROM_DATABASE=RS780 HDMI Audio [Radeon HD 3000-3300 Series]
-
-pci:v00001002d00009610*
- ID_PRODUCT_FROM_DATABASE=RS780 [Radeon HD 3200]
-
-pci:v00001002d00009610sv00001458sd0000D000*
- ID_PRODUCT_FROM_DATABASE=GA-MA78GM-S2H Motherboard
-
-pci:v00001002d00009611*
- ID_PRODUCT_FROM_DATABASE=RS780C [Radeon HD 3100]
-
-pci:v00001002d00009612*
- ID_PRODUCT_FROM_DATABASE=RS780M/RS780MN [Mobility Radeon HD 3200 Graphics]
-
-pci:v00001002d00009613*
- ID_PRODUCT_FROM_DATABASE=RS780MC [Mobility Radeon HD 3100 Graphics]
-
-pci:v00001002d00009614*
- ID_PRODUCT_FROM_DATABASE=RS780D [Radeon HD 3300]
-
-pci:v00001002d00009615*
- ID_PRODUCT_FROM_DATABASE=RS780E [Radeon HD 3200]
-
-pci:v00001002d00009616*
- ID_PRODUCT_FROM_DATABASE=RS780L [Radeon HD 3000]
-
-pci:v00001002d00009640*
- ID_PRODUCT_FROM_DATABASE=BeaverCreek [Radeon HD 6550D]
-
-pci:v00001002d00009641*
- ID_PRODUCT_FROM_DATABASE=BeaverCreek [Mobility Radeon HD 6620G]
-
-pci:v00001002d00009647*
- ID_PRODUCT_FROM_DATABASE=BeaverCreek [Radeon HD 6520G]
-
-pci:v00001002d0000964A*
- ID_PRODUCT_FROM_DATABASE=BeaverCreek [Radeon HD 6530D]
-
-pci:v00001002d0000970F*
- ID_PRODUCT_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series]
-
-pci:v00001002d0000970Fsv00001043sd000083A2*
- ID_PRODUCT_FROM_DATABASE=M4A785TD Motherboard
-
-pci:v00001002d0000970Fsv00001043sd0000843E*
- ID_PRODUCT_FROM_DATABASE=M5A88-V EVO
-
-pci:v00001002d00009710*
- ID_PRODUCT_FROM_DATABASE=RS880 [Radeon HD 4200]
-
-pci:v00001002d00009710sv00001043sd000083A2*
- ID_PRODUCT_FROM_DATABASE=M4A785TD Motherboard
-
-pci:v00001002d00009712*
- ID_PRODUCT_FROM_DATABASE=RS880M [Mobility Radeon HD 4200 Series]
-
-pci:v00001002d00009713*
- ID_PRODUCT_FROM_DATABASE=RS880M [Mobility Radeon HD 4100]
-
-pci:v00001002d00009714*
- ID_PRODUCT_FROM_DATABASE=RS880 [Radeon HD 4290]
-
-pci:v00001002d00009715*
- ID_PRODUCT_FROM_DATABASE=RS880 [Radeon HD 4250]
-
-pci:v00001002d00009715sv00001043sd0000843E*
- ID_PRODUCT_FROM_DATABASE=M5A88-V EVO
-
-pci:v00001002d00009802*
- ID_PRODUCT_FROM_DATABASE=Wrestler [Radeon HD 6310]
-
-pci:v00001002d00009802sv0000174Bsd00001001*
- ID_PRODUCT_FROM_DATABASE=Sapphire PURE Fusion Mini
-
-pci:v00001002d00009804*
- ID_PRODUCT_FROM_DATABASE=Wrestler [Radeon HD 6250]
-
-pci:v00001002d00009806*
- ID_PRODUCT_FROM_DATABASE=Wrestler [Radeon HD 6320]
-
-pci:v00001002d00009807*
- ID_PRODUCT_FROM_DATABASE=Wrestler [Radeon HD 6290]
-
-pci:v00001002d00009901*
- ID_PRODUCT_FROM_DATABASE=Trinity [Radeon HD 7660D]
-
-pci:v00001002d00009902*
- ID_PRODUCT_FROM_DATABASE=Trinity HDMI Audio Controller
-
-pci:v00001002d00009904*
- ID_PRODUCT_FROM_DATABASE=Trinity [Radeon HD 7560D]
-
-pci:v00001002d00009990*
- ID_PRODUCT_FROM_DATABASE=Trinity [Radeon HD 7520G]
-
-pci:v00001002d0000AA00*
- ID_PRODUCT_FROM_DATABASE=R600 Audio Device [Radeon HD 2900 Series]
-
-pci:v00001002d0000AA08*
- ID_PRODUCT_FROM_DATABASE=RV630 audio device [Radeon HD 2600 Series]
-
-pci:v00001002d0000AA10*
- ID_PRODUCT_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series]
-
-pci:v00001002d0000AA10sv0000174Bsd0000AA10*
- ID_PRODUCT_FROM_DATABASE=Sapphire HD 2400 PRO audio device
-
-pci:v00001002d0000AA10sv000018BCsd0000AA10*
- ID_PRODUCT_FROM_DATABASE=GeCube Radeon HD 2400 PRO HDCP-capable digital-only audio device
-
-pci:v00001002d0000AA18*
- ID_PRODUCT_FROM_DATABASE=RV670/680 HDMI Audio [Radeon HD 3690/3800 Series]
-
-pci:v00001002d0000AA20*
- ID_PRODUCT_FROM_DATABASE=RV635 HDMI Audio [Radeon HD 3600 Series]
-
-pci:v00001002d0000AA28*
- ID_PRODUCT_FROM_DATABASE=RV620 HDMI Audio [Radeon HD 3400 Series]
-
-pci:v00001002d0000AA30*
- ID_PRODUCT_FROM_DATABASE=RV770 HDMI Audio [Radeon HD 4850/4870]
-
-pci:v00001002d0000AA30sv0000174Bsd0000AA30*
- ID_PRODUCT_FROM_DATABASE=Sapphire HD 4850 512MB GDDR3 PCI-E Dual Slot Fansink
-
-pci:v00001002d0000AA38*
- ID_PRODUCT_FROM_DATABASE=RV710/730 HDMI Audio [Radeon HD 4000 series]
-
-pci:v00001002d0000AA38sv0000103Csd00003628*
- ID_PRODUCT_FROM_DATABASE=ATI RV710/730 [dv6-1190en]
-
-pci:v00001002d0000AA38sv0000174Bsd0000AA38*
- ID_PRODUCT_FROM_DATABASE=R700 Audio Device [Radeon HD 4000 Series]
-
-pci:v00001002d0000AA50*
- ID_PRODUCT_FROM_DATABASE=Cypress HDMI Audio [Radeon HD 5800 Series]
-
-pci:v00001002d0000AA58*
- ID_PRODUCT_FROM_DATABASE=Juniper HDMI Audio [Radeon HD 5700 Series]
-
-pci:v00001002d0000AA60*
- ID_PRODUCT_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series]
-
-pci:v00001002d0000AA60sv00001025sd0000033D*
- ID_PRODUCT_FROM_DATABASE=Mobility Radeon HD 5650
-
-pci:v00001002d0000AA60sv00001025sd00000347*
- ID_PRODUCT_FROM_DATABASE=Aspire 7740G
-
-pci:v00001002d0000AA68*
- ID_PRODUCT_FROM_DATABASE=Cedar HDMI Audio [Radeon HD 5400/6300 Series]
-
-pci:v00001002d0000AA68sv00001028sd0000AA68*
- ID_PRODUCT_FROM_DATABASE=XPS 8300
-
-pci:v00001002d0000AA80*
- ID_PRODUCT_FROM_DATABASE=Cayman/Antilles HDMI Audio [Radeon HD 6900 Series]
-
-pci:v00001002d0000AA88*
- ID_PRODUCT_FROM_DATABASE=Barts HDMI Audio [Radeon HD 6800 Series]
-
-pci:v00001002d0000AA90*
- ID_PRODUCT_FROM_DATABASE=Turks/Whistler HDMI Audio [Radeon HD 6000 Series]
-
-pci:v00001002d0000AA98*
- ID_PRODUCT_FROM_DATABASE=Caicos HDMI Audio [Radeon HD 6400 Series]
-
-pci:v00001002d0000AA98sv0000174Bsd0000AA98*
- ID_PRODUCT_FROM_DATABASE=Sapphire HD 6450 1GB DDR3
-
-pci:v00001002d0000AAA0*
- ID_PRODUCT_FROM_DATABASE=Tahiti XT HDMI Audio [Radeon HD 7970 Series]
-
-pci:v00001002d0000AC00*
- ID_PRODUCT_FROM_DATABASE=Theater 600 Pro
-
-pci:v00001002d0000AC02*
- ID_PRODUCT_FROM_DATABASE=TV Wonder HD 600 PCIe
-
-pci:v00001002d0000AC12*
- ID_PRODUCT_FROM_DATABASE=Theater HD T507 (DVB-T) TV tuner/capture device
-
-pci:v00001002d0000CAB0*
- ID_PRODUCT_FROM_DATABASE=RS100 AGP Bridge [IGP 320M]
-
-pci:v00001002d0000CAB2*
- ID_PRODUCT_FROM_DATABASE=RS200/RS200M AGP Bridge [IGP 340M]
-
-pci:v00001002d0000CAB3*
- ID_PRODUCT_FROM_DATABASE=R200 AGP Bridge [Mobility Radeon 7000 IGP]
-
-pci:v00001002d0000CBB2*
- ID_PRODUCT_FROM_DATABASE=RS200/RS200M AGP Bridge [IGP 340M]
-
-pci:v00001003*
- ID_VENDOR_FROM_DATABASE=ULSI Systems
-
-pci:v00001003d00000201*
- ID_PRODUCT_FROM_DATABASE=US201
-
-pci:v00001004*
- ID_VENDOR_FROM_DATABASE=VLSI Technology Inc
-
-pci:v00001004d00000005*
- ID_PRODUCT_FROM_DATABASE=82C592-FC1
-
-pci:v00001004d00000006*
- ID_PRODUCT_FROM_DATABASE=82C593-FC1
-
-pci:v00001004d00000007*
- ID_PRODUCT_FROM_DATABASE=82C594-AFC2
-
-pci:v00001004d00000008*
- ID_PRODUCT_FROM_DATABASE=82C596/7 [Wildcat]
-
-pci:v00001004d00000009*
- ID_PRODUCT_FROM_DATABASE=82C597-AFC2
-
-pci:v00001004d0000000C*
- ID_PRODUCT_FROM_DATABASE=82C541 [Lynx]
-
-pci:v00001004d0000000D*
- ID_PRODUCT_FROM_DATABASE=82C543 [Lynx]
-
-pci:v00001004d00000101*
- ID_PRODUCT_FROM_DATABASE=82C532
-
-pci:v00001004d00000102*
- ID_PRODUCT_FROM_DATABASE=82C534 [Eagle]
-
-pci:v00001004d00000103*
- ID_PRODUCT_FROM_DATABASE=82C538
-
-pci:v00001004d00000104*
- ID_PRODUCT_FROM_DATABASE=82C535
-
-pci:v00001004d00000105*
- ID_PRODUCT_FROM_DATABASE=82C147
-
-pci:v00001004d00000200*
- ID_PRODUCT_FROM_DATABASE=82C975
-
-pci:v00001004d00000280*
- ID_PRODUCT_FROM_DATABASE=82C925
-
-pci:v00001004d00000304*
- ID_PRODUCT_FROM_DATABASE=QSound ThunderBird PCI Audio
-
-pci:v00001004d00000304sv00001004sd00000304*
- ID_PRODUCT_FROM_DATABASE=QSound ThunderBird PCI Audio
-
-pci:v00001004d00000304sv0000122Dsd00001206*
- ID_PRODUCT_FROM_DATABASE=DSP368 Audio
-
-pci:v00001004d00000304sv00001483sd00005020*
- ID_PRODUCT_FROM_DATABASE=XWave Thunder 3D Audio
-
-pci:v00001004d00000305*
- ID_PRODUCT_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport
-
-pci:v00001004d00000305sv00001004sd00000305*
- ID_PRODUCT_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport
-
-pci:v00001004d00000305sv0000122Dsd00001207*
- ID_PRODUCT_FROM_DATABASE=DSP368 Audio Gameport
-
-pci:v00001004d00000305sv00001483sd00005021*
- ID_PRODUCT_FROM_DATABASE=XWave Thunder 3D Audio Gameport
-
-pci:v00001004d00000306*
- ID_PRODUCT_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers
-
-pci:v00001004d00000306sv00001004sd00000306*
- ID_PRODUCT_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers
-
-pci:v00001004d00000306sv0000122Dsd00001208*
- ID_PRODUCT_FROM_DATABASE=DSP368 Audio Support Registers
-
-pci:v00001004d00000306sv00001483sd00005022*
- ID_PRODUCT_FROM_DATABASE=XWave Thunder 3D Audio Support Registers
-
-pci:v00001004d00000307*
- ID_PRODUCT_FROM_DATABASE=SAA7785 ThunderBird PCI Audio
-
-pci:v00001004d00000307sv00001004sd00000703*
- ID_PRODUCT_FROM_DATABASE=Philips Rhythmic Edge PSC703
-
-pci:v00001004d00000307sv00001004sd00000705*
- ID_PRODUCT_FROM_DATABASE=Philips Seismic Edge PSC705
-
-pci:v00001004d00000307sv00001004sd00000706*
- ID_PRODUCT_FROM_DATABASE=Philips Acoustic Edge PSC706
-
-pci:v00001004d00000308*
- ID_PRODUCT_FROM_DATABASE=SAA7785 ThunderBird PCI Audio Gameport
-
-pci:v00001004d00000702*
- ID_PRODUCT_FROM_DATABASE=VAS96011 [Golden Gate II]
-
-pci:v00001004d00000703*
- ID_PRODUCT_FROM_DATABASE=Tollgate
-
-pci:v00001005*
- ID_VENDOR_FROM_DATABASE=Avance Logic Inc. [ALI]
-
-pci:v00001005d00002064*
- ID_PRODUCT_FROM_DATABASE=ALG2032/2064
-
-pci:v00001005d00002128*
- ID_PRODUCT_FROM_DATABASE=ALG2364A
-
-pci:v00001005d00002301*
- ID_PRODUCT_FROM_DATABASE=ALG2301
-
-pci:v00001005d00002302*
- ID_PRODUCT_FROM_DATABASE=ALG2302
-
-pci:v00001005d00002364*
- ID_PRODUCT_FROM_DATABASE=ALG2364
-
-pci:v00001005d00002464*
- ID_PRODUCT_FROM_DATABASE=ALG2364A
-
-pci:v00001005d00002501*
- ID_PRODUCT_FROM_DATABASE=ALG2564A/25128A
-
-pci:v00001006*
- ID_VENDOR_FROM_DATABASE=Reply Group
-
-pci:v00001007*
- ID_VENDOR_FROM_DATABASE=NetFrame Systems Inc
-
-pci:v00001008*
- ID_VENDOR_FROM_DATABASE=Epson
-
-pci:v0000100A*
- ID_VENDOR_FROM_DATABASE=Phoenix Technologies
-
-pci:v0000100B*
- ID_VENDOR_FROM_DATABASE=National Semiconductor Corporation
-
-pci:v0000100Bd00000001*
- ID_PRODUCT_FROM_DATABASE=DP83810
-
-pci:v0000100Bd00000002*
- ID_PRODUCT_FROM_DATABASE=87415/87560 IDE
-
-pci:v0000100Bd0000000E*
- ID_PRODUCT_FROM_DATABASE=87560 Legacy I/O
-
-pci:v0000100Bd0000000F*
- ID_PRODUCT_FROM_DATABASE=FireWire Controller
-
-pci:v0000100Bd00000011*
- ID_PRODUCT_FROM_DATABASE=NS87560 National PCI System I/O
-
-pci:v0000100Bd00000012*
- ID_PRODUCT_FROM_DATABASE=USB Controller
-
-pci:v0000100Bd00000020*
- ID_PRODUCT_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller
-
-pci:v0000100Bd00000020sv0000103Csd00000024*
- ID_PRODUCT_FROM_DATABASE=Pavilion ze4400 builtin Network
-
-pci:v0000100Bd00000020sv000012D9sd0000000C*
- ID_PRODUCT_FROM_DATABASE=Aculab E1/T1 PMXc cPCI carrier card
-
-pci:v0000100Bd00000020sv00001385sd0000F311*
- ID_PRODUCT_FROM_DATABASE=FA311 / FA312 (FA311 with WoL HW)
-
-pci:v0000100Bd00000021*
- ID_PRODUCT_FROM_DATABASE=PC87200 PCI to ISA Bridge
-
-pci:v0000100Bd00000022*
- ID_PRODUCT_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller
-
-pci:v0000100Bd00000022sv00001186sd00004900*
- ID_PRODUCT_FROM_DATABASE=DGE-500T
-
-pci:v0000100Bd00000022sv00001385sd0000621A*
- ID_PRODUCT_FROM_DATABASE=GA621
-
-pci:v0000100Bd00000022sv00001385sd0000622A*
- ID_PRODUCT_FROM_DATABASE=GA622T
-
-pci:v0000100Bd00000028*
- ID_PRODUCT_FROM_DATABASE=Geode GX2 Host Bridge
-
-pci:v0000100Bd0000002A*
- ID_PRODUCT_FROM_DATABASE=CS5535 South Bridge
-
-pci:v0000100Bd0000002B*
- ID_PRODUCT_FROM_DATABASE=CS5535 ISA bridge
-
-pci:v0000100Bd0000002D*
- ID_PRODUCT_FROM_DATABASE=CS5535 IDE
-
-pci:v0000100Bd0000002E*
- ID_PRODUCT_FROM_DATABASE=CS5535 Audio
-
-pci:v0000100Bd0000002F*
- ID_PRODUCT_FROM_DATABASE=CS5535 USB
-
-pci:v0000100Bd00000030*
- ID_PRODUCT_FROM_DATABASE=Geode GX2 Graphics Processor
-
-pci:v0000100Bd00000035*
- ID_PRODUCT_FROM_DATABASE=DP83065 [Saturn] 10/100/1000 Ethernet Controller
-
-pci:v0000100Bd00000500*
- ID_PRODUCT_FROM_DATABASE=SCx200 Bridge
-
-pci:v0000100Bd00000501*
- ID_PRODUCT_FROM_DATABASE=SCx200 SMI
-
-pci:v0000100Bd00000502*
- ID_PRODUCT_FROM_DATABASE=SCx200, SC1100 IDE controller
-
-pci:v0000100Bd00000502sv0000100Bsd00000502*
- ID_PRODUCT_FROM_DATABASE=IDE Controller
-
-pci:v0000100Bd00000503*
- ID_PRODUCT_FROM_DATABASE=SCx200, SC1100 Audio Controller
-
-pci:v0000100Bd00000503sv0000100Bsd00000503*
- ID_PRODUCT_FROM_DATABASE=XpressAudio controller
-
-pci:v0000100Bd00000504*
- ID_PRODUCT_FROM_DATABASE=SCx200 Video
-
-pci:v0000100Bd00000505*
- ID_PRODUCT_FROM_DATABASE=SCx200 XBus
-
-pci:v0000100Bd00000510*
- ID_PRODUCT_FROM_DATABASE=SC1100 Bridge
-
-pci:v0000100Bd00000510sv0000100Bsd00000500*
- ID_PRODUCT_FROM_DATABASE=GPIO and LPC support bridge
-
-pci:v0000100Bd00000511*
- ID_PRODUCT_FROM_DATABASE=SC1100 SMI & ACPI
-
-pci:v0000100Bd00000511sv0000100Bsd00000501*
- ID_PRODUCT_FROM_DATABASE=SC1100 SMI & ACPI bridge
-
-pci:v0000100Bd00000515*
- ID_PRODUCT_FROM_DATABASE=SC1100 XBus
-
-pci:v0000100Bd00000515sv0000100Bsd00000505*
- ID_PRODUCT_FROM_DATABASE=SC1100 PCI to XBus bridge
-
-pci:v0000100Bd0000D001*
- ID_PRODUCT_FROM_DATABASE=87410 IDE
-
-pci:v0000100C*
- ID_VENDOR_FROM_DATABASE=Tseng Labs Inc
-
-pci:v0000100Cd00003202*
- ID_PRODUCT_FROM_DATABASE=ET4000/W32p rev A
-
-pci:v0000100Cd00003205*
- ID_PRODUCT_FROM_DATABASE=ET4000/W32p rev B
-
-pci:v0000100Cd00003206*
- ID_PRODUCT_FROM_DATABASE=ET4000/W32p rev C
-
-pci:v0000100Cd00003207*
- ID_PRODUCT_FROM_DATABASE=ET4000/W32p rev D
-
-pci:v0000100Cd00003208*
- ID_PRODUCT_FROM_DATABASE=ET6000
-
-pci:v0000100Cd00004702*
- ID_PRODUCT_FROM_DATABASE=ET6300
-
-pci:v0000100D*
- ID_VENDOR_FROM_DATABASE=AST Research Inc
-
-pci:v0000100E*
- ID_VENDOR_FROM_DATABASE=Weitek
-
-pci:v0000100Ed00009000*
- ID_PRODUCT_FROM_DATABASE=P9000 Viper
-
-pci:v0000100Ed00009001*
- ID_PRODUCT_FROM_DATABASE=P9000 Viper
-
-pci:v0000100Ed00009002*
- ID_PRODUCT_FROM_DATABASE=P9000 Viper
-
-pci:v0000100Ed00009100*
- ID_PRODUCT_FROM_DATABASE=P9100 Viper Pro/SE
-
-pci:v00001010*
- ID_VENDOR_FROM_DATABASE=Video Logic, Ltd.
-
-pci:v00001011*
- ID_VENDOR_FROM_DATABASE=Digital Equipment Corporation
-
-pci:v00001011d00000001*
- ID_PRODUCT_FROM_DATABASE=DECchip 21050
-
-pci:v00001011d00000002*
- ID_PRODUCT_FROM_DATABASE=DECchip 21040 [Tulip]
-
-pci:v00001011d00000004*
- ID_PRODUCT_FROM_DATABASE=DECchip 21030 [TGA]
-
-pci:v00001011d00000007*
- ID_PRODUCT_FROM_DATABASE=NVRAM [Zephyr NVRAM]
-
-pci:v00001011d00000008*
- ID_PRODUCT_FROM_DATABASE=KZPSA [KZPSA]
-
-pci:v00001011d00000009*
- ID_PRODUCT_FROM_DATABASE=DECchip 21140 [FasterNet]
-
-pci:v00001011d00000009sv00001025sd00000310*
- ID_PRODUCT_FROM_DATABASE=21140 Fast Ethernet
-
-pci:v00001011d00000009sv000010B8sd00002001*
- ID_PRODUCT_FROM_DATABASE=SMC9332BDT EtherPower 10/100
-
-pci:v00001011d00000009sv000010B8sd00002002*
- ID_PRODUCT_FROM_DATABASE=SMC9332BVT EtherPower T4 10/100
-
-pci:v00001011d00000009sv000010B8sd00002003*
- ID_PRODUCT_FROM_DATABASE=SMC9334BDT EtherPower 10/100 (1-port)
-
-pci:v00001011d00000009sv00001109sd00002400*
- ID_PRODUCT_FROM_DATABASE=ANA-6944A/TX Fast Ethernet
-
-pci:v00001011d00000009sv00001112sd00002300*
- ID_PRODUCT_FROM_DATABASE=RNS2300 Fast Ethernet
-
-pci:v00001011d00000009sv00001112sd00002320*
- ID_PRODUCT_FROM_DATABASE=RNS2320 Fast Ethernet
-
-pci:v00001011d00000009sv00001112sd00002340*
- ID_PRODUCT_FROM_DATABASE=RNS2340 Fast Ethernet
-
-pci:v00001011d00000009sv00001113sd00001207*
- ID_PRODUCT_FROM_DATABASE=EN-1207-TX Fast Ethernet
-
-pci:v00001011d00000009sv00001186sd00001100*
- ID_PRODUCT_FROM_DATABASE=DFE-500TX Fast Ethernet
-
-pci:v00001011d00000009sv00001186sd00001112*
- ID_PRODUCT_FROM_DATABASE=DFE-570TX Fast Ethernet
-
-pci:v00001011d00000009sv00001186sd00001140*
- ID_PRODUCT_FROM_DATABASE=DFE-660 Cardbus Ethernet 10/100
-
-pci:v00001011d00000009sv00001186sd00001142*
- ID_PRODUCT_FROM_DATABASE=DFE-660 Cardbus Ethernet 10/100
-
-pci:v00001011d00000009sv000011F6sd00000503*
- ID_PRODUCT_FROM_DATABASE=Freedomline Fast Ethernet
-
-pci:v00001011d00000009sv00001282sd00009100*
- ID_PRODUCT_FROM_DATABASE=AEF-380TXD Fast Ethernet
-
-pci:v00001011d00000009sv00001385sd00001100*
- ID_PRODUCT_FROM_DATABASE=FA310TX Fast Ethernet
-
-pci:v00001011d00000009sv00002646sd00000001*
- ID_PRODUCT_FROM_DATABASE=KNE100TX Fast Ethernet
-
-pci:v00001011d0000000A*
- ID_PRODUCT_FROM_DATABASE=21230 Video Codec
-
-pci:v00001011d0000000D*
- ID_PRODUCT_FROM_DATABASE=PBXGB [TGA2]
-
-pci:v00001011d0000000F*
- ID_PRODUCT_FROM_DATABASE=PCI-to-PDQ Interface Chip [PFI]
-
-pci:v00001011d0000000Fsv00001011sd0000DEF1*
- ID_PRODUCT_FROM_DATABASE=FDDI controller (DEFPA)
-
-pci:v00001011d0000000Fsv0000103Csd0000DEF1*
- ID_PRODUCT_FROM_DATABASE=FDDI controller (3X-DEFPA)
-
-pci:v00001011d00000014*
- ID_PRODUCT_FROM_DATABASE=DECchip 21041 [Tulip Pass 3]
-
-pci:v00001011d00000014sv00001186sd00000100*
- ID_PRODUCT_FROM_DATABASE=DE-530+
-
-pci:v00001011d00000016*
- ID_PRODUCT_FROM_DATABASE=DGLPB [OPPO]
-
-pci:v00001011d00000017*
- ID_PRODUCT_FROM_DATABASE=PV-PCI Graphics Controller (ZLXp-L)
-
-pci:v00001011d00000018*
- ID_PRODUCT_FROM_DATABASE=Memory Channel interface
-
-pci:v00001011d00000019*
- ID_PRODUCT_FROM_DATABASE=DECchip 21142/43
-
-pci:v00001011d00000019sv00001011sd0000500A*
- ID_PRODUCT_FROM_DATABASE=DE500A Fast Ethernet
-
-pci:v00001011d00000019sv00001011sd0000500B*
- ID_PRODUCT_FROM_DATABASE=DE500B Fast Ethernet
-
-pci:v00001011d00000019sv00001014sd00000001*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Cardbus
-
-pci:v00001011d00000019sv00001025sd00000315*
- ID_PRODUCT_FROM_DATABASE=ALN315 Fast Ethernet
-
-pci:v00001011d00000019sv00001033sd0000800C*
- ID_PRODUCT_FROM_DATABASE=PC-9821-CS01 100BASE-TX Interface Card
-
-pci:v00001011d00000019sv00001033sd0000800D*
- ID_PRODUCT_FROM_DATABASE=PC-9821NR-B06 100BASE-TX Interface Card
-
-pci:v00001011d00000019sv0000103Csd0000125A*
- ID_PRODUCT_FROM_DATABASE=10/100Base-TX (PCI) [A5506B]
-
-pci:v00001011d00000019sv0000108Dsd00000016*
- ID_PRODUCT_FROM_DATABASE=Rapidfire 2327 10/100 Ethernet
-
-pci:v00001011d00000019sv0000108Dsd00000017*
- ID_PRODUCT_FROM_DATABASE=GoCard 2250 Ethernet 10/100 Cardbus
-
-pci:v00001011d00000019sv000010B8sd00002005*
- ID_PRODUCT_FROM_DATABASE=SMC8032DT Extreme Ethernet 10/100
-
-pci:v00001011d00000019sv000010B8sd00008034*
- ID_PRODUCT_FROM_DATABASE=SMC8034 Extreme Ethernet 10/100
-
-pci:v00001011d00000019sv000010EFsd00008169*
- ID_PRODUCT_FROM_DATABASE=Cardbus Fast Ethernet
-
-pci:v00001011d00000019sv00001109sd00002A00*
- ID_PRODUCT_FROM_DATABASE=ANA-6911A/TX Fast Ethernet
-
-pci:v00001011d00000019sv00001109sd00002B00*
- ID_PRODUCT_FROM_DATABASE=ANA-6911A/TXC Fast Ethernet
-
-pci:v00001011d00000019sv00001109sd00003000*
- ID_PRODUCT_FROM_DATABASE=ANA-6922/TX Fast Ethernet
-
-pci:v00001011d00000019sv00001113sd00001207*
- ID_PRODUCT_FROM_DATABASE=Cheetah Fast Ethernet
-
-pci:v00001011d00000019sv00001113sd00002220*
- ID_PRODUCT_FROM_DATABASE=Cardbus Fast Ethernet
-
-pci:v00001011d00000019sv0000115Dsd00000002*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v00001011d00000019sv00001179sd00000203*
- ID_PRODUCT_FROM_DATABASE=Fast Ethernet
-
-pci:v00001011d00000019sv00001179sd00000204*
- ID_PRODUCT_FROM_DATABASE=Cardbus Fast Ethernet
-
-pci:v00001011d00000019sv00001186sd00001100*
- ID_PRODUCT_FROM_DATABASE=DFE-500TX Fast Ethernet
-
-pci:v00001011d00000019sv00001186sd00001101*
- ID_PRODUCT_FROM_DATABASE=DFE-500TX Fast Ethernet
-
-pci:v00001011d00000019sv00001186sd00001102*
- ID_PRODUCT_FROM_DATABASE=DFE-500TX Fast Ethernet
-
-pci:v00001011d00000019sv00001186sd00001112*
- ID_PRODUCT_FROM_DATABASE=DFE-570TX Quad Fast Ethernet
-
-pci:v00001011d00000019sv00001259sd00002800*
- ID_PRODUCT_FROM_DATABASE=AT-2800Tx Fast Ethernet
-
-pci:v00001011d00000019sv00001266sd00000004*
- ID_PRODUCT_FROM_DATABASE=Eagle Fast EtherMAX
-
-pci:v00001011d00000019sv000012AFsd00000019*
- ID_PRODUCT_FROM_DATABASE=NetFlyer Cardbus Fast Ethernet
-
-pci:v00001011d00000019sv00001374sd00000001*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet Card 10/100
-
-pci:v00001011d00000019sv00001374sd00000002*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet Card 10/100
-
-pci:v00001011d00000019sv00001374sd00000007*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet Card 10/100
-
-pci:v00001011d00000019sv00001374sd00000008*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet Card 10/100
-
-pci:v00001011d00000019sv00001385sd00002100*
- ID_PRODUCT_FROM_DATABASE=FA510
-
-pci:v00001011d00000019sv00001395sd00000001*
- ID_PRODUCT_FROM_DATABASE=10/100 Ethernet CardBus PC Card
-
-pci:v00001011d00000019sv000013D1sd0000AB01*
- ID_PRODUCT_FROM_DATABASE=EtherFast 10/100 Cardbus (PCMPC200)
-
-pci:v00001011d00000019sv00001498sd0000000A*
- ID_PRODUCT_FROM_DATABASE=TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter
-
-pci:v00001011d00000019sv00001498sd0000000B*
- ID_PRODUCT_FROM_DATABASE=TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter
-
-pci:v00001011d00000019sv00001498sd0000000C*
- ID_PRODUCT_FROM_DATABASE=TPMC880-12 Single 10Base2 PMC Ethernet Adapter
-
-pci:v00001011d00000019sv000014CBsd00000100*
- ID_PRODUCT_FROM_DATABASE=LNDL-100N 100Base-TX Ethernet PC Card
-
-pci:v00001011d00000019sv00001668sd00002000*
- ID_PRODUCT_FROM_DATABASE=FastNet Pro (PE2000)
-
-pci:v00001011d00000019sv00002646sd00000001*
- ID_PRODUCT_FROM_DATABASE=KNE100TX
-
-pci:v00001011d00000019sv00002646sd00000002*
- ID_PRODUCT_FROM_DATABASE=KNE-CB4TX
-
-pci:v00001011d00000019sv00008086sd00000001*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32
-
-pci:v00001011d0000001A*
- ID_PRODUCT_FROM_DATABASE=Farallon PN9000SX Gigabit Ethernet
-
-pci:v00001011d00000021*
- ID_PRODUCT_FROM_DATABASE=DECchip 21052
-
-pci:v00001011d00000022*
- ID_PRODUCT_FROM_DATABASE=DECchip 21150
-
-pci:v00001011d00000023*
- ID_PRODUCT_FROM_DATABASE=DECchip 21150
-
-pci:v00001011d00000024*
- ID_PRODUCT_FROM_DATABASE=DECchip 21152
-
-pci:v00001011d00000025*
- ID_PRODUCT_FROM_DATABASE=DECchip 21153
-
-pci:v00001011d00000026*
- ID_PRODUCT_FROM_DATABASE=DECchip 21154
-
-pci:v00001011d00000034*
- ID_PRODUCT_FROM_DATABASE=56k Modem Cardbus
-
-pci:v00001011d00000034sv00001374sd00000003*
- ID_PRODUCT_FROM_DATABASE=56k Modem Cardbus
-
-pci:v00001011d00000045*
- ID_PRODUCT_FROM_DATABASE=DECchip 21553
-
-pci:v00001011d00000046*
- ID_PRODUCT_FROM_DATABASE=DECchip 21554
-
-pci:v00001011d00000046sv00000E11sd00004050*
- ID_PRODUCT_FROM_DATABASE=Smart Array 4200 Controller
-
-pci:v00001011d00000046sv00000E11sd00004051*
- ID_PRODUCT_FROM_DATABASE=Smart Array 4250ES Controller
-
-pci:v00001011d00000046sv00000E11sd00004058*
- ID_PRODUCT_FROM_DATABASE=Smart Array 431 Controller
-
-pci:v00001011d00000046sv0000103Csd000010C2*
- ID_PRODUCT_FROM_DATABASE=NetRAID-4M
-
-pci:v00001011d00000046sv000012D9sd0000000A*
- ID_PRODUCT_FROM_DATABASE=IP Telephony card
-
-pci:v00001011d00000046sv00004C53sd00001050*
- ID_PRODUCT_FROM_DATABASE=CT7 mainboard
-
-pci:v00001011d00000046sv00004C53sd00001051*
- ID_PRODUCT_FROM_DATABASE=CE7 mainboard
-
-pci:v00001011d00000046sv00009005sd00000364*
- ID_PRODUCT_FROM_DATABASE=5400S (Mustang)
-
-pci:v00001011d00000046sv00009005sd00000365*
- ID_PRODUCT_FROM_DATABASE=5400S (Mustang)
-
-pci:v00001011d00000046sv00009005sd00001364*
- ID_PRODUCT_FROM_DATABASE=Dell PowerEdge RAID Controller 2
-
-pci:v00001011d00000046sv00009005sd00001365*
- ID_PRODUCT_FROM_DATABASE=Dell PowerEdge RAID Controller 2
-
-pci:v00001011d00000046sv0000E4BFsd00001000*
- ID_PRODUCT_FROM_DATABASE=CC8-1-BLUES
-
-pci:v00001011d00001065*
- ID_PRODUCT_FROM_DATABASE=StrongARM DC21285
-
-pci:v00001011d00001065sv00001069sd00000020*
- ID_PRODUCT_FROM_DATABASE=DAC960P / DAC1164P
-
-pci:v00001012*
- ID_VENDOR_FROM_DATABASE=Micronics Computers Inc
-
-pci:v00001013*
- ID_VENDOR_FROM_DATABASE=Cirrus Logic
-
-pci:v00001013d00000038*
- ID_PRODUCT_FROM_DATABASE=GD 7548
-
-pci:v00001013d00000040*
- ID_PRODUCT_FROM_DATABASE=GD 7555 Flat Panel GUI Accelerator
-
-pci:v00001013d0000004C*
- ID_PRODUCT_FROM_DATABASE=GD 7556 Video/Graphics LCD/CRT Ctrlr
-
-pci:v00001013d000000A0*
- ID_PRODUCT_FROM_DATABASE=GD 5430/40 [Alpine]
-
-pci:v00001013d000000A2*
- ID_PRODUCT_FROM_DATABASE=GD 5432 [Alpine]
-
-pci:v00001013d000000A4*
- ID_PRODUCT_FROM_DATABASE=GD 5434-4 [Alpine]
-
-pci:v00001013d000000A8*
- ID_PRODUCT_FROM_DATABASE=GD 5434-8 [Alpine]
-
-pci:v00001013d000000AC*
- ID_PRODUCT_FROM_DATABASE=GD 5436 [Alpine]
-
-pci:v00001013d000000B0*
- ID_PRODUCT_FROM_DATABASE=GD 5440
-
-pci:v00001013d000000B8*
- ID_PRODUCT_FROM_DATABASE=GD 5446
-
-pci:v00001013d000000BC*
- ID_PRODUCT_FROM_DATABASE=GD 5480
-
-pci:v00001013d000000BCsv00001013sd000000BC*
- ID_PRODUCT_FROM_DATABASE=CL-GD5480
-
-pci:v00001013d000000D0*
- ID_PRODUCT_FROM_DATABASE=GD 5462
-
-pci:v00001013d000000D2*
- ID_PRODUCT_FROM_DATABASE=GD 5462 [Laguna I]
-
-pci:v00001013d000000D4*
- ID_PRODUCT_FROM_DATABASE=GD 5464 [Laguna]
-
-pci:v00001013d000000D5*
- ID_PRODUCT_FROM_DATABASE=GD 5464 BD [Laguna]
-
-pci:v00001013d000000D6*
- ID_PRODUCT_FROM_DATABASE=GD 5465 [Laguna]
-
-pci:v00001013d000000D6sv000013CEsd00008031*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 2 Megapixel, Dual Head
-
-pci:v00001013d000000D6sv000013CFsd00008031*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 2 Megapixel, Dual Head
-
-pci:v00001013d000000E8*
- ID_PRODUCT_FROM_DATABASE=GD 5436U
-
-pci:v00001013d00001100*
- ID_PRODUCT_FROM_DATABASE=CL 6729
-
-pci:v00001013d00001110*
- ID_PRODUCT_FROM_DATABASE=PD 6832 PCMCIA/CardBus Ctrlr
-
-pci:v00001013d00001112*
- ID_PRODUCT_FROM_DATABASE=PD 6834 PCMCIA/CardBus Ctrlr
-
-pci:v00001013d00001113*
- ID_PRODUCT_FROM_DATABASE=PD 6833 PCMCIA/CardBus Ctrlr
-
-pci:v00001013d00001200*
- ID_PRODUCT_FROM_DATABASE=GD 7542 [Nordic]
-
-pci:v00001013d00001202*
- ID_PRODUCT_FROM_DATABASE=GD 7543 [Viking]
-
-pci:v00001013d00001204*
- ID_PRODUCT_FROM_DATABASE=GD 7541 [Nordic Light]
-
-pci:v00001013d00004000*
- ID_PRODUCT_FROM_DATABASE=MD 5620 [CLM Data Fax Voice]
-
-pci:v00001013d00004400*
- ID_PRODUCT_FROM_DATABASE=CD 4400
-
-pci:v00001013d00006001*
- ID_PRODUCT_FROM_DATABASE=CS 4610/11 [CrystalClear SoundFusion Audio Accelerator]
-
-pci:v00001013d00006001sv00001014sd00001010*
- ID_PRODUCT_FROM_DATABASE=CS4610 SoundFusion Audio Accelerator
-
-pci:v00001013d00006003*
- ID_PRODUCT_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator]
-
-pci:v00001013d00006003sv00001013sd00004280*
- ID_PRODUCT_FROM_DATABASE=Crystal SoundFusion PCI Audio Accelerator
-
-pci:v00001013d00006003sv00001014sd00000153*
- ID_PRODUCT_FROM_DATABASE=ThinkPad 600X/A20m
-
-pci:v00001013d00006003sv0000153Bsd0000112E*
- ID_PRODUCT_FROM_DATABASE=DMX XFire 1024
-
-pci:v00001013d00006003sv0000153Bsd00001136*
- ID_PRODUCT_FROM_DATABASE=SiXPack 5.1+
-
-pci:v00001013d00006003sv00001681sd00000050*
- ID_PRODUCT_FROM_DATABASE=Game Theater XP
-
-pci:v00001013d00006003sv00001681sd0000A010*
- ID_PRODUCT_FROM_DATABASE=Gamesurround Fortissimo II
-
-pci:v00001013d00006003sv00001681sd0000A011*
- ID_PRODUCT_FROM_DATABASE=Gamesurround Fortissimo III 7.1
-
-pci:v00001013d00006003sv00005053sd00003357*
- ID_PRODUCT_FROM_DATABASE=Santa Cruz
-
-pci:v00001013d00006004*
- ID_PRODUCT_FROM_DATABASE=CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator]
-
-pci:v00001013d00006005*
- ID_PRODUCT_FROM_DATABASE=Crystal CS4281 PCI Audio
-
-pci:v00001013d00006005sv00001013sd00004281*
- ID_PRODUCT_FROM_DATABASE=Crystal CS4281 PCI Audio
-
-pci:v00001013d00006005sv000010CFsd000010A8*
- ID_PRODUCT_FROM_DATABASE=Crystal CS4281 PCI Audio
-
-pci:v00001013d00006005sv000010CFsd000010A9*
- ID_PRODUCT_FROM_DATABASE=Crystal CS4281 PCI Audio
-
-pci:v00001013d00006005sv000010CFsd000010AA*
- ID_PRODUCT_FROM_DATABASE=Crystal CS4281 PCI Audio
-
-pci:v00001013d00006005sv000010CFsd000010AB*
- ID_PRODUCT_FROM_DATABASE=Crystal CS4281 PCI Audio
-
-pci:v00001013d00006005sv000010CFsd000010AC*
- ID_PRODUCT_FROM_DATABASE=Crystal CS4281 PCI Audio
-
-pci:v00001013d00006005sv000010CFsd000010AD*
- ID_PRODUCT_FROM_DATABASE=Crystal CS4281 PCI Audio
-
-pci:v00001013d00006005sv000010CFsd000010B4*
- ID_PRODUCT_FROM_DATABASE=Crystal CS4281 PCI Audio
-
-pci:v00001013d00006005sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Crystal CS4281 PCI Audio
-
-pci:v00001013d00006005sv000014C0sd0000000C*
- ID_PRODUCT_FROM_DATABASE=Crystal CS4281 PCI Audio
-
-pci:v00001014*
- ID_VENDOR_FROM_DATABASE=IBM
-
-pci:v00001014d00000002*
- ID_PRODUCT_FROM_DATABASE=PCI to MCA Bridge
-
-pci:v00001014d00000005*
- ID_PRODUCT_FROM_DATABASE=Processor to I/O Controller [Alta Lite]
-
-pci:v00001014d00000007*
- ID_PRODUCT_FROM_DATABASE=Processor to I/O Controller [Alta MP]
-
-pci:v00001014d0000000A*
- ID_PRODUCT_FROM_DATABASE=PCI to ISA Bridge (IBM27-82376) [Fire Coral]
-
-pci:v00001014d00000017*
- ID_PRODUCT_FROM_DATABASE=CPU to PCI Bridge
-
-pci:v00001014d00000018*
- ID_PRODUCT_FROM_DATABASE=TR Auto LANstreamer
-
-pci:v00001014d0000001B*
- ID_PRODUCT_FROM_DATABASE=GXT-150P
-
-pci:v00001014d0000001C*
- ID_PRODUCT_FROM_DATABASE=Carrera
-
-pci:v00001014d0000001D*
- ID_PRODUCT_FROM_DATABASE=SCSI-2 FAST PCI Adapter (82G2675)
-
-pci:v00001014d00000020*
- ID_PRODUCT_FROM_DATABASE=GXT1000 Graphics Adapter
-
-pci:v00001014d00000022*
- ID_PRODUCT_FROM_DATABASE=PCI to PCI Bridge (IBM27-82351)
-
-pci:v00001014d0000002D*
- ID_PRODUCT_FROM_DATABASE=Processor to I/O Controller [Python]
-
-pci:v00001014d0000002E*
- ID_PRODUCT_FROM_DATABASE=SCSI RAID Adapter [ServeRAID]
-
-pci:v00001014d0000002Esv00001014sd0000002E*
- ID_PRODUCT_FROM_DATABASE=ServeRAID-3x
-
-pci:v00001014d0000002Esv00001014sd0000022E*
- ID_PRODUCT_FROM_DATABASE=ServeRAID-4H
-
-pci:v00001014d00000031*
- ID_PRODUCT_FROM_DATABASE=2 Port Serial Adapter
-
-pci:v00001014d00000031sv00001014sd00000031*
- ID_PRODUCT_FROM_DATABASE=2721 WAN IOA - 2 Port Sync Serial Adapter
-
-pci:v00001014d00000036*
- ID_PRODUCT_FROM_DATABASE=PCI to 32-bit LocalBus Bridge [Miami]
-
-pci:v00001014d00000037*
- ID_PRODUCT_FROM_DATABASE=PowerPC to PCI Bridge (IBM27-82660)
-
-pci:v00001014d0000003A*
- ID_PRODUCT_FROM_DATABASE=CPU to PCI Bridge
-
-pci:v00001014d0000003C*
- ID_PRODUCT_FROM_DATABASE=GXT250P/GXT255P Graphics Adapter
-
-pci:v00001014d0000003E*
- ID_PRODUCT_FROM_DATABASE=16/4 Token ring UTP/STP controller
-
-pci:v00001014d0000003Esv00001014sd0000003E*
- ID_PRODUCT_FROM_DATABASE=Token-Ring Adapter
-
-pci:v00001014d0000003Esv00001014sd000000CD*
- ID_PRODUCT_FROM_DATABASE=Token-Ring Adapter + Wake-On-LAN
-
-pci:v00001014d0000003Esv00001014sd000000CE*
- ID_PRODUCT_FROM_DATABASE=16/4 Token-Ring Adapter 2
-
-pci:v00001014d0000003Esv00001014sd000000CF*
- ID_PRODUCT_FROM_DATABASE=16/4 Token-Ring Adapter Special
-
-pci:v00001014d0000003Esv00001014sd000000E4*
- ID_PRODUCT_FROM_DATABASE=High-Speed 100/16/4 Token-Ring Adapter
-
-pci:v00001014d0000003Esv00001014sd000000E5*
- ID_PRODUCT_FROM_DATABASE=16/4 Token-Ring Adapter 2 + Wake-On-LAN
-
-pci:v00001014d0000003Esv00001014sd0000016D*
- ID_PRODUCT_FROM_DATABASE=iSeries 2744 Card
-
-pci:v00001014d00000045*
- ID_PRODUCT_FROM_DATABASE=SSA Adapter
-
-pci:v00001014d00000046*
- ID_PRODUCT_FROM_DATABASE=MPIC interrupt controller
-
-pci:v00001014d00000047*
- ID_PRODUCT_FROM_DATABASE=PCI to PCI Bridge
-
-pci:v00001014d00000048*
- ID_PRODUCT_FROM_DATABASE=PCI to PCI Bridge
-
-pci:v00001014d00000049*
- ID_PRODUCT_FROM_DATABASE=Warhead SCSI Controller
-
-pci:v00001014d0000004E*
- ID_PRODUCT_FROM_DATABASE=ATM Controller (14104e00)
-
-pci:v00001014d0000004F*
- ID_PRODUCT_FROM_DATABASE=ATM Controller (14104f00)
-
-pci:v00001014d00000050*
- ID_PRODUCT_FROM_DATABASE=ATM Controller (14105000)
-
-pci:v00001014d00000053*
- ID_PRODUCT_FROM_DATABASE=25 MBit ATM Controller
-
-pci:v00001014d00000054*
- ID_PRODUCT_FROM_DATABASE=GXT500P/GXT550P Graphics Adapter
-
-pci:v00001014d00000057*
- ID_PRODUCT_FROM_DATABASE=MPEG PCI Bridge
-
-pci:v00001014d00000058*
- ID_PRODUCT_FROM_DATABASE=SSA Adapter [Advanced SerialRAID/X]
-
-pci:v00001014d0000005C*
- ID_PRODUCT_FROM_DATABASE=i82557B 10/100
-
-pci:v00001014d0000005E*
- ID_PRODUCT_FROM_DATABASE=GXT800P Graphics Adapter
-
-pci:v00001014d0000007C*
- ID_PRODUCT_FROM_DATABASE=ATM Controller (14107c00)
-
-pci:v00001014d0000007D*
- ID_PRODUCT_FROM_DATABASE=3780IDSP [MWave]
-
-pci:v00001014d0000008B*
- ID_PRODUCT_FROM_DATABASE=EADS PCI to PCI Bridge
-
-pci:v00001014d0000008E*
- ID_PRODUCT_FROM_DATABASE=GXT3000P Graphics Adapter
-
-pci:v00001014d00000090*
- ID_PRODUCT_FROM_DATABASE=GXT 3000P
-
-pci:v00001014d00000090sv00001014sd0000008E*
- ID_PRODUCT_FROM_DATABASE=GXT-3000P
-
-pci:v00001014d00000091*
- ID_PRODUCT_FROM_DATABASE=SSA Adapter
-
-pci:v00001014d00000095*
- ID_PRODUCT_FROM_DATABASE=20H2999 PCI Docking Bridge
-
-pci:v00001014d00000096*
- ID_PRODUCT_FROM_DATABASE=Chukar chipset SCSI controller
-
-pci:v00001014d00000096sv00001014sd00000097*
- ID_PRODUCT_FROM_DATABASE=iSeries 2778 DASD IOA
-
-pci:v00001014d00000096sv00001014sd00000098*
- ID_PRODUCT_FROM_DATABASE=iSeries 2763 DASD IOA
-
-pci:v00001014d00000096sv00001014sd00000099*
- ID_PRODUCT_FROM_DATABASE=iSeries 2748 DASD IOA
-
-pci:v00001014d0000009F*
- ID_PRODUCT_FROM_DATABASE=PCI 4758 Cryptographic Accelerator
-
-pci:v00001014d000000A5*
- ID_PRODUCT_FROM_DATABASE=ATM Controller (1410a500)
-
-pci:v00001014d000000A6*
- ID_PRODUCT_FROM_DATABASE=ATM 155MBPS MM Controller (1410a600)
-
-pci:v00001014d000000B7*
- ID_PRODUCT_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1]
-
-pci:v00001014d000000B7sv00001092sd000000B8*
- ID_PRODUCT_FROM_DATABASE=FireGL1 AGP 32Mb
-
-pci:v00001014d000000B8*
- ID_PRODUCT_FROM_DATABASE=GXT2000P Graphics Adapter
-
-pci:v00001014d000000BE*
- ID_PRODUCT_FROM_DATABASE=ATM 622MBPS Controller (1410be00)
-
-pci:v00001014d000000DC*
- ID_PRODUCT_FROM_DATABASE=Advanced Systems Management Adapter (ASMA)
-
-pci:v00001014d000000FC*
- ID_PRODUCT_FROM_DATABASE=CPC710 Dual Bridge and Memory Controller (PCI-64)
-
-pci:v00001014d00000104*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet-SX Adapter
-
-pci:v00001014d00000105*
- ID_PRODUCT_FROM_DATABASE=CPC710 Dual Bridge and Memory Controller (PCI-32)
-
-pci:v00001014d0000010F*
- ID_PRODUCT_FROM_DATABASE=Remote Supervisor Adapter (RSA)
-
-pci:v00001014d00000142*
- ID_PRODUCT_FROM_DATABASE=Yotta Video Compositor Input
-
-pci:v00001014d00000142sv00001014sd00000143*
- ID_PRODUCT_FROM_DATABASE=Yotta Input Controller (ytin)
-
-pci:v00001014d00000144*
- ID_PRODUCT_FROM_DATABASE=Yotta Video Compositor Output
-
-pci:v00001014d00000144sv00001014sd00000145*
- ID_PRODUCT_FROM_DATABASE=Yotta Output Controller (ytout)
-
-pci:v00001014d00000156*
- ID_PRODUCT_FROM_DATABASE=405GP PLB to PCI Bridge
-
-pci:v00001014d0000015E*
- ID_PRODUCT_FROM_DATABASE=622Mbps ATM PCI Adapter
-
-pci:v00001014d00000160*
- ID_PRODUCT_FROM_DATABASE=64bit/66MHz PCI ATM 155 MMF
-
-pci:v00001014d0000016E*
- ID_PRODUCT_FROM_DATABASE=GXT4000P Graphics Adapter
-
-pci:v00001014d00000170*
- ID_PRODUCT_FROM_DATABASE=GXT6000P Graphics Adapter
-
-pci:v00001014d0000017D*
- ID_PRODUCT_FROM_DATABASE=GXT300P Graphics Adapter
-
-pci:v00001014d00000180*
- ID_PRODUCT_FROM_DATABASE=Snipe chipset SCSI controller
-
-pci:v00001014d00000180sv00001014sd00000241*
- ID_PRODUCT_FROM_DATABASE=iSeries 2757 DASD IOA
-
-pci:v00001014d00000180sv00001014sd00000264*
- ID_PRODUCT_FROM_DATABASE=Quad Channel PCI-X U320 SCSI RAID Adapter (2780)
-
-pci:v00001014d00000188*
- ID_PRODUCT_FROM_DATABASE=EADS-X PCI-X to PCI-X Bridge
-
-pci:v00001014d000001A7*
- ID_PRODUCT_FROM_DATABASE=PCI-X to PCI-X Bridge
-
-pci:v00001014d000001BD*
- ID_PRODUCT_FROM_DATABASE=ServeRAID Controller
-
-pci:v00001014d000001BDsv00001014sd000001BD*
- ID_PRODUCT_FROM_DATABASE=ServeRAID 4Lx
-
-pci:v00001014d000001BDsv00001014sd000001BE*
- ID_PRODUCT_FROM_DATABASE=ServeRAID-4M
-
-pci:v00001014d000001BDsv00001014sd000001BF*
- ID_PRODUCT_FROM_DATABASE=ServeRAID-4L
-
-pci:v00001014d000001BDsv00001014sd00000208*
- ID_PRODUCT_FROM_DATABASE=ServeRAID-4Mx
-
-pci:v00001014d000001BDsv00001014sd0000020E*
- ID_PRODUCT_FROM_DATABASE=ServeRAID-4Lx
-
-pci:v00001014d000001BDsv00001014sd0000022E*
- ID_PRODUCT_FROM_DATABASE=ServeRAID-4H
-
-pci:v00001014d000001BDsv00001014sd00000258*
- ID_PRODUCT_FROM_DATABASE=ServeRAID-5i
-
-pci:v00001014d000001BDsv00001014sd00000259*
- ID_PRODUCT_FROM_DATABASE=ServeRAID-5i
-
-pci:v00001014d000001C1*
- ID_PRODUCT_FROM_DATABASE=64bit/66MHz PCI ATM 155 UTP
-
-pci:v00001014d000001E6*
- ID_PRODUCT_FROM_DATABASE=Cryptographic Accelerator
-
-pci:v00001014d000001EF*
- ID_PRODUCT_FROM_DATABASE=PowerPC 440GP PCI Bridge
-
-pci:v00001014d000001EFsv00001734sd0000102B*
- ID_PRODUCT_FROM_DATABASE=PCEAS PCI-X Dual Port ESCON Adapter
-
-pci:v00001014d000001EFsv00001734sd000010F8*
- ID_PRODUCT_FROM_DATABASE=PCEAT PCI-Express Dual Port ESCON Adapter
-
-pci:v00001014d000001FF*
- ID_PRODUCT_FROM_DATABASE=10/100 Mbps Ethernet
-
-pci:v00001014d00000219*
- ID_PRODUCT_FROM_DATABASE=Multiport Serial Adapter
-
-pci:v00001014d00000219sv00001014sd0000021A*
- ID_PRODUCT_FROM_DATABASE=Dual RVX
-
-pci:v00001014d00000219sv00001014sd00000251*
- ID_PRODUCT_FROM_DATABASE=Internal Modem/RVX
-
-pci:v00001014d00000219sv00001014sd00000252*
- ID_PRODUCT_FROM_DATABASE=Quad Internal Modem
-
-pci:v00001014d0000021B*
- ID_PRODUCT_FROM_DATABASE=GXT6500P Graphics Adapter
-
-pci:v00001014d0000021C*
- ID_PRODUCT_FROM_DATABASE=GXT4500P Graphics Adapter
-
-pci:v00001014d00000233*
- ID_PRODUCT_FROM_DATABASE=GXT135P Graphics Adapter
-
-pci:v00001014d00000266*
- ID_PRODUCT_FROM_DATABASE=PCI-X Dual Channel SCSI
-
-pci:v00001014d00000268*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet-SX Adapter (PCI-X)
-
-pci:v00001014d00000269*
- ID_PRODUCT_FROM_DATABASE=10/100/1000 Base-TX Ethernet Adapter (PCI-X)
-
-pci:v00001014d0000028C*
- ID_PRODUCT_FROM_DATABASE=Citrine chipset SCSI controller
-
-pci:v00001014d0000028Csv00001014sd0000028D*
- ID_PRODUCT_FROM_DATABASE=Dual Channel PCI-X DDR SAS RAID Adapter (572E)
-
-pci:v00001014d0000028Csv00001014sd000002BE*
- ID_PRODUCT_FROM_DATABASE=Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B)
-
-pci:v00001014d0000028Csv00001014sd000002C0*
- ID_PRODUCT_FROM_DATABASE=Dual Channel PCI-X DDR U320 SCSI Adapter (571A)
-
-pci:v00001014d0000028Csv00001014sd0000030D*
- ID_PRODUCT_FROM_DATABASE=PCI-X DDR Auxiliary Cache Adapter (575B)
-
-pci:v00001014d000002A1*
- ID_PRODUCT_FROM_DATABASE=Calgary PCI-X Host Bridge
-
-pci:v00001014d000002BD*
- ID_PRODUCT_FROM_DATABASE=Obsidian chipset SCSI controller
-
-pci:v00001014d000002BDsv00001014sd000002C1*
- ID_PRODUCT_FROM_DATABASE=PCI-X DDR 3Gb SAS Adapter (572A/572C)
-
-pci:v00001014d000002BDsv00001014sd000002C2*
- ID_PRODUCT_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572B/571D)
-
-pci:v00001014d000002BDsv00001014sd00000338*
- ID_PRODUCT_FROM_DATABASE=PCI-X DDR Auxiliary Cache Adapter (575C)
-
-pci:v00001014d00000302*
- ID_PRODUCT_FROM_DATABASE=Winnipeg PCI-X Host Bridge
-
-pci:v00001014d00000308*
- ID_PRODUCT_FROM_DATABASE=CalIOC2 PCI-E Root Port
-
-pci:v00001014d00000314*
- ID_PRODUCT_FROM_DATABASE=ZISC 036 Neural accelerator card
-
-pci:v00001014d0000032D*
- ID_PRODUCT_FROM_DATABASE=Axon - Cell Companion Chip
-
-pci:v00001014d0000032Dsv00001014sd000003A1*
- ID_PRODUCT_FROM_DATABASE=PCIe PowerXCell 8i Cell Accelerator Board
-
-pci:v00001014d00000339*
- ID_PRODUCT_FROM_DATABASE=Obsidian-E PCI-E SCSI controller
-
-pci:v00001014d00000339sv00001014sd0000030A*
- ID_PRODUCT_FROM_DATABASE=PCIe 3Gb SAS RAID Adapter (574E)
-
-pci:v00001014d00000339sv00001014sd0000033A*
- ID_PRODUCT_FROM_DATABASE=PCIe 3Gb SAS Adapter (57B3)
-
-pci:v00001014d00000339sv00001014sd0000035C*
- ID_PRODUCT_FROM_DATABASE=PCIe x8 Internal 3Gb SAS adapter (57CC)
-
-pci:v00001014d00000339sv00001014sd00000360*
- ID_PRODUCT_FROM_DATABASE=PCI-E Auxiliary Cache Adapter (57B7)
-
-pci:v00001014d0000033D*
- ID_PRODUCT_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA)
-
-pci:v00001014d0000033Dsv00001014sd0000033C*
- ID_PRODUCT_FROM_DATABASE=PCIe2 1.8GB Cache 6Gb SAS RAID Adapter Tri-port (57B5)
-
-pci:v00001014d0000033Dsv00001014sd00000353*
- ID_PRODUCT_FROM_DATABASE=PCIe2 3.1GB Cache 6Gb SAS RAID Enclosure (57C3)
-
-pci:v00001014d0000033Dsv00001014sd00000354*
- ID_PRODUCT_FROM_DATABASE=PCIe2 6Gb SAS Adapter Dual-port (57C4)
-
-pci:v00001014d0000033Dsv00001014sd00000356*
- ID_PRODUCT_FROM_DATABASE=PCIe2 1.8GB Cache 6Gb SAS RAID & SSD Adapter (574D)
-
-pci:v00001014d0000033Dsv00001014sd0000035F*
- ID_PRODUCT_FROM_DATABASE=PCIe2 6Gb SAS Adapter Quad-port (57B2)
-
-pci:v00001014d0000034A*
- ID_PRODUCT_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC)
-
-pci:v00001014d0000034Asv00001014sd0000033B*
- ID_PRODUCT_FROM_DATABASE=PCIe2 6Gb SAS RAID Adapter Quad-port (57B4)
-
-pci:v00001014d0000034Asv00001014sd00000355*
- ID_PRODUCT_FROM_DATABASE=PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57B1)
-
-pci:v00001014d0000034Asv00001014sd00000357*
- ID_PRODUCT_FROM_DATABASE=PCIe2 6Gb SAS Adapter Quad-port (57C6)
-
-pci:v00001014d0000034Asv00001014sd0000035D*
- ID_PRODUCT_FROM_DATABASE=PCIe3 1.8GB Cache RAID SAS Adapter Quad-port 6GB (57C8)
-
-pci:v00001014d0000034Asv00001014sd0000035E*
- ID_PRODUCT_FROM_DATABASE=PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57CE)
-
-pci:v00001014d0000034Asv00001014sd000003FB*
- ID_PRODUCT_FROM_DATABASE=PCIe3 28GB Cache RAID SAS Enclosure 6Gb x 16 (57D5)
-
-pci:v00001014d00003022*
- ID_PRODUCT_FROM_DATABASE=QLA3022 Network Adapter
-
-pci:v00001014d00004022*
- ID_PRODUCT_FROM_DATABASE=QLA3022 Network Adapter
-
-pci:v00001014d0000FFFF*
- ID_PRODUCT_FROM_DATABASE=MPIC-2 interrupt controller
-
-pci:v00001015*
- ID_VENDOR_FROM_DATABASE=LSI Logic Corp of Canada
-
-pci:v00001016*
- ID_VENDOR_FROM_DATABASE=ICL Personal Systems
-
-pci:v00001017*
- ID_VENDOR_FROM_DATABASE=SPEA Software AG
-
-pci:v00001017d00005343*
- ID_PRODUCT_FROM_DATABASE=SPEA 3D Accelerator
-
-pci:v00001018*
- ID_VENDOR_FROM_DATABASE=Unisys Systems
-
-pci:v00001019*
- ID_VENDOR_FROM_DATABASE=Elitegroup Computer Systems
-
-pci:v0000101A*
- ID_VENDOR_FROM_DATABASE=AT&T GIS (NCR)
-
-pci:v0000101Ad00000005*
- ID_PRODUCT_FROM_DATABASE=100VG ethernet
-
-pci:v0000101Ad00000007*
- ID_PRODUCT_FROM_DATABASE=BYNET BIC4G/2C/2G
-
-pci:v0000101Ad00000007sv0000101Asd00000019*
- ID_PRODUCT_FROM_DATABASE=BYNET BIC2C
-
-pci:v0000101Ad00000007sv0000101Asd0000001C*
- ID_PRODUCT_FROM_DATABASE=BYNET BIC2G
-
-pci:v0000101Ad00000007sv0000101Asd0000001F*
- ID_PRODUCT_FROM_DATABASE=BYNET BIC4G
-
-pci:v0000101Ad00000009*
- ID_PRODUCT_FROM_DATABASE=PQS Memory Controller
-
-pci:v0000101Ad0000000A*
- ID_PRODUCT_FROM_DATABASE=BYNET BPCI Adapter
-
-pci:v0000101Ad0000000B*
- ID_PRODUCT_FROM_DATABASE=BYNET 4 Port BYA Switch (BYA4P)
-
-pci:v0000101Ad0000000C*
- ID_PRODUCT_FROM_DATABASE=BYNET 4 Port BYA Switch (BYA4G)
-
-pci:v0000101Ad00000010*
- ID_PRODUCT_FROM_DATABASE=NCR AMC Memory Controller
-
-pci:v0000101Ad00001DC1*
- ID_PRODUCT_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M
-
-pci:v0000101Ad00001DC1sv0000101Asd00000019*
- ID_PRODUCT_FROM_DATABASE=BIC2M
-
-pci:v0000101Ad00001DC1sv0000101Asd0000001F*
- ID_PRODUCT_FROM_DATABASE=BIC4M
-
-pci:v0000101Ad00001DC1sv0000101Asd00000ECE*
- ID_PRODUCT_FROM_DATABASE=BYA4M
-
-pci:v0000101Ad00001FA8*
- ID_PRODUCT_FROM_DATABASE=BYNET Multi-port BIC Adapter (XBIC Based)
-
-pci:v0000101Ad00001FA8sv0000101Asd000000C3*
- ID_PRODUCT_FROM_DATABASE=BYNET BIC2SE
-
-pci:v0000101B*
- ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor
-
-pci:v0000101Bd00000452*
- ID_PRODUCT_FROM_DATABASE=VSC452 [SuperBMC]
-
-pci:v0000101C*
- ID_VENDOR_FROM_DATABASE=Western Digital
-
-pci:v0000101Cd00000193*
- ID_PRODUCT_FROM_DATABASE=33C193A
-
-pci:v0000101Cd00000196*
- ID_PRODUCT_FROM_DATABASE=33C196A
-
-pci:v0000101Cd00000197*
- ID_PRODUCT_FROM_DATABASE=33C197A
-
-pci:v0000101Cd00000296*
- ID_PRODUCT_FROM_DATABASE=33C296A
-
-pci:v0000101Cd00003193*
- ID_PRODUCT_FROM_DATABASE=7193
-
-pci:v0000101Cd00003197*
- ID_PRODUCT_FROM_DATABASE=7197
-
-pci:v0000101Cd00003296*
- ID_PRODUCT_FROM_DATABASE=33C296A
-
-pci:v0000101Cd00004296*
- ID_PRODUCT_FROM_DATABASE=34C296
-
-pci:v0000101Cd00009710*
- ID_PRODUCT_FROM_DATABASE=Pipeline 9710
-
-pci:v0000101Cd00009712*
- ID_PRODUCT_FROM_DATABASE=Pipeline 9712
-
-pci:v0000101Cd0000C24A*
- ID_PRODUCT_FROM_DATABASE=90C
-
-pci:v0000101D*
- ID_VENDOR_FROM_DATABASE=Maxim Integrated Products
-
-pci:v0000101E*
- ID_VENDOR_FROM_DATABASE=American Megatrends Inc.
-
-pci:v0000101Ed00000009*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 428 Ultra RAID Controller (rev 03)
-
-pci:v0000101Ed00001960*
- ID_PRODUCT_FROM_DATABASE=MegaRAID
-
-pci:v0000101Ed00001960sv0000101Esd00000471*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 471 Enterprise 1600 RAID Controller
-
-pci:v0000101Ed00001960sv0000101Esd00000475*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 475 Express 500/500LC RAID Controller
-
-pci:v0000101Ed00001960sv0000101Esd00000477*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 477 Elite 3100 RAID Controller
-
-pci:v0000101Ed00001960sv0000101Esd00000493*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 493 Elite 1600 RAID Controller
-
-pci:v0000101Ed00001960sv0000101Esd00000494*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 494 Elite 1650 RAID Controller
-
-pci:v0000101Ed00001960sv0000101Esd00000503*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 503 Enterprise 1650 RAID Controller
-
-pci:v0000101Ed00001960sv0000101Esd00000511*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 511 i4 IDE RAID Controller
-
-pci:v0000101Ed00001960sv0000101Esd00000522*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 522 i4133 RAID Controller
-
-pci:v0000101Ed00001960sv00001028sd00000471*
- ID_PRODUCT_FROM_DATABASE=PowerEdge RAID Controller 3/QC
-
-pci:v0000101Ed00001960sv00001028sd00000475*
- ID_PRODUCT_FROM_DATABASE=PowerEdge RAID Controller 3/SC
-
-pci:v0000101Ed00001960sv00001028sd00000493*
- ID_PRODUCT_FROM_DATABASE=PowerEdge RAID Controller 3/DC
-
-pci:v0000101Ed00001960sv00001028sd00000511*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Cost Effective RAID Controller ATA100/4Ch
-
-pci:v0000101Ed00001960sv0000103Csd000060E7*
- ID_PRODUCT_FROM_DATABASE=NetRAID-1M
-
-pci:v0000101Ed00009010*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 428 Ultra RAID Controller
-
-pci:v0000101Ed00009030*
- ID_PRODUCT_FROM_DATABASE=EIDE Controller
-
-pci:v0000101Ed00009031*
- ID_PRODUCT_FROM_DATABASE=EIDE Controller
-
-pci:v0000101Ed00009032*
- ID_PRODUCT_FROM_DATABASE=EIDE & SCSI Controller
-
-pci:v0000101Ed00009033*
- ID_PRODUCT_FROM_DATABASE=SCSI Controller
-
-pci:v0000101Ed00009040*
- ID_PRODUCT_FROM_DATABASE=Multimedia card
-
-pci:v0000101Ed00009060*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 434 Ultra GT RAID Controller
-
-pci:v0000101Ed00009063*
- ID_PRODUCT_FROM_DATABASE=MegaRAC
-
-pci:v0000101Ed00009063sv0000101Esd00000767*
- ID_PRODUCT_FROM_DATABASE=Dell Remote Assistant Card 2
-
-pci:v0000101F*
- ID_VENDOR_FROM_DATABASE=PictureTel
-
-pci:v00001020*
- ID_VENDOR_FROM_DATABASE=Hitachi Computer Products
-
-pci:v00001021*
- ID_VENDOR_FROM_DATABASE=OKI Electric Industry Co. Ltd.
-
-pci:v00001022*
- ID_VENDOR_FROM_DATABASE=Advanced Micro Devices [AMD]
-
-pci:v00001022d00001100*
- ID_PRODUCT_FROM_DATABASE=K8 [Athlon64/Opteron] HyperTransport Technology Configuration
-
-pci:v00001022d00001101*
- ID_PRODUCT_FROM_DATABASE=K8 [Athlon64/Opteron] Address Map
-
-pci:v00001022d00001102*
- ID_PRODUCT_FROM_DATABASE=K8 [Athlon64/Opteron] DRAM Controller
-
-pci:v00001022d00001103*
- ID_PRODUCT_FROM_DATABASE=K8 [Athlon64/Opteron] Miscellaneous Control
-
-pci:v00001022d00001200*
- ID_PRODUCT_FROM_DATABASE=Family 10h Processor HyperTransport Configuration
-
-pci:v00001022d00001201*
- ID_PRODUCT_FROM_DATABASE=Family 10h Processor Address Map
-
-pci:v00001022d00001202*
- ID_PRODUCT_FROM_DATABASE=Family 10h Processor DRAM Controller
-
-pci:v00001022d00001203*
- ID_PRODUCT_FROM_DATABASE=Family 10h Processor Miscellaneous Control
-
-pci:v00001022d00001204*
- ID_PRODUCT_FROM_DATABASE=Family 10h Processor Link Control
-
-pci:v00001022d00001300*
- ID_PRODUCT_FROM_DATABASE=Family 11h Processor HyperTransport Configuration
-
-pci:v00001022d00001301*
- ID_PRODUCT_FROM_DATABASE=Family 11h Processor Address Map
-
-pci:v00001022d00001302*
- ID_PRODUCT_FROM_DATABASE=Family 11h Processor DRAM Controller
-
-pci:v00001022d00001303*
- ID_PRODUCT_FROM_DATABASE=Family 11h Processor Miscellaneous Control
-
-pci:v00001022d00001304*
- ID_PRODUCT_FROM_DATABASE=Family 11h Processor Link Control
-
-pci:v00001022d00001400*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Function 0
-
-pci:v00001022d00001401*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Function 1
-
-pci:v00001022d00001402*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Function 2
-
-pci:v00001022d00001403*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Function 3
-
-pci:v00001022d00001404*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Function 4
-
-pci:v00001022d00001405*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Function 5
-
-pci:v00001022d00001410*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Complex
-
-pci:v00001022d00001412*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
-
-pci:v00001022d00001413*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
-
-pci:v00001022d00001414*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
-
-pci:v00001022d00001415*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
-
-pci:v00001022d00001416*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
-
-pci:v00001022d00001417*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
-
-pci:v00001022d00001418*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) Processor Root Port
-
-pci:v00001022d00001419*
- ID_PRODUCT_FROM_DATABASE=Family 15h (Models 10h-1fh) I/O Memory Management Unit
-
-pci:v00001022d00001439*
- ID_PRODUCT_FROM_DATABASE=Family 16h Processor Functions 5:1
-
-pci:v00001022d00001510*
- ID_PRODUCT_FROM_DATABASE=Family 14h Processor Root Complex
-
-pci:v00001022d00001510sv0000174Bsd00001001*
- ID_PRODUCT_FROM_DATABASE=Sapphire PURE Fusion Mini
-
-pci:v00001022d00001512*
- ID_PRODUCT_FROM_DATABASE=Family 14h Processor Root Port
-
-pci:v00001022d00001512sv0000174Bsd00001001*
- ID_PRODUCT_FROM_DATABASE=Sapphire PURE Fusion Mini
-
-pci:v00001022d00001513*
- ID_PRODUCT_FROM_DATABASE=Family 14h Processor Root Port
-
-pci:v00001022d00001514*
- ID_PRODUCT_FROM_DATABASE=Family 14h Processor Root Port
-
-pci:v00001022d00001515*
- ID_PRODUCT_FROM_DATABASE=Family 14h Processor Root Port
-
-pci:v00001022d00001516*
- ID_PRODUCT_FROM_DATABASE=Family 14h Processor Root Port
-
-pci:v00001022d00001530*
- ID_PRODUCT_FROM_DATABASE=Family 16h Processor Function 0
-
-pci:v00001022d00001531*
- ID_PRODUCT_FROM_DATABASE=Family 16h Processor Function 1
-
-pci:v00001022d00001532*
- ID_PRODUCT_FROM_DATABASE=Family 16h Processor Function 2
-
-pci:v00001022d00001533*
- ID_PRODUCT_FROM_DATABASE=Family 16h Processor Function 3
-
-pci:v00001022d00001534*
- ID_PRODUCT_FROM_DATABASE=Family 16h Processor Function 4
-
-pci:v00001022d00001535*
- ID_PRODUCT_FROM_DATABASE=Family 16h Processor Function 5
-
-pci:v00001022d00001536*
- ID_PRODUCT_FROM_DATABASE=Family 16h Processor Root Complex
-
-pci:v00001022d00001538*
- ID_PRODUCT_FROM_DATABASE=Family 16h Processor Function 0
-
-pci:v00001022d00001600*
- ID_PRODUCT_FROM_DATABASE=Family 15h Processor Function 0
-
-pci:v00001022d00001601*
- ID_PRODUCT_FROM_DATABASE=Family 15h Processor Function 1
-
-pci:v00001022d00001602*
- ID_PRODUCT_FROM_DATABASE=Family 15h Processor Function 2
-
-pci:v00001022d00001603*
- ID_PRODUCT_FROM_DATABASE=Family 15h Processor Function 3
-
-pci:v00001022d00001604*
- ID_PRODUCT_FROM_DATABASE=Family 15h Processor Function 4
-
-pci:v00001022d00001605*
- ID_PRODUCT_FROM_DATABASE=Family 15h Processor Function 5
-
-pci:v00001022d00001700*
- ID_PRODUCT_FROM_DATABASE=Family 12h/14h Processor Function 0
-
-pci:v00001022d00001701*
- ID_PRODUCT_FROM_DATABASE=Family 12h/14h Processor Function 1
-
-pci:v00001022d00001702*
- ID_PRODUCT_FROM_DATABASE=Family 12h/14h Processor Function 2
-
-pci:v00001022d00001703*
- ID_PRODUCT_FROM_DATABASE=Family 12h/14h Processor Function 3
-
-pci:v00001022d00001704*
- ID_PRODUCT_FROM_DATABASE=Family 12h/14h Processor Function 4
-
-pci:v00001022d00001705*
- ID_PRODUCT_FROM_DATABASE=Family 12h Processor Root Complex
-
-pci:v00001022d00001707*
- ID_PRODUCT_FROM_DATABASE=Family 12h Processor Root Port
-
-pci:v00001022d00001708*
- ID_PRODUCT_FROM_DATABASE=Family 12h Processor Root Port
-
-pci:v00001022d00001709*
- ID_PRODUCT_FROM_DATABASE=Family 12h Processor Root Port
-
-pci:v00001022d0000170A*
- ID_PRODUCT_FROM_DATABASE=Family 12h Processor Root Port
-
-pci:v00001022d0000170B*
- ID_PRODUCT_FROM_DATABASE=Family 12h Processor Root Port
-
-pci:v00001022d0000170C*
- ID_PRODUCT_FROM_DATABASE=Family 12h Processor Root Port
-
-pci:v00001022d0000170D*
- ID_PRODUCT_FROM_DATABASE=Family 12h Processor Root Port
-
-pci:v00001022d00001716*
- ID_PRODUCT_FROM_DATABASE=Family 12h/14h Processor Function 5
-
-pci:v00001022d00001718*
- ID_PRODUCT_FROM_DATABASE=Family 12h/14h Processor Function 6
-
-pci:v00001022d00001719*
- ID_PRODUCT_FROM_DATABASE=Family 12h/14h Processor Function 7
-
-pci:v00001022d00002000*
- ID_PRODUCT_FROM_DATABASE=79c970 [PCnet32 LANCE]
-
-pci:v00001022d00002000sv00001014sd00002000*
- ID_PRODUCT_FROM_DATABASE=NetFinity 10/100 Fast Ethernet
-
-pci:v00001022d00002000sv00001022sd00002000*
- ID_PRODUCT_FROM_DATABASE=PCnet - Fast 79C971
-
-pci:v00001022d00002000sv0000103Csd0000104C*
- ID_PRODUCT_FROM_DATABASE=Ethernet with LAN remote power Adapter
-
-pci:v00001022d00002000sv0000103Csd00001064*
- ID_PRODUCT_FROM_DATABASE=Ethernet with LAN remote power Adapter
-
-pci:v00001022d00002000sv0000103Csd00001065*
- ID_PRODUCT_FROM_DATABASE=Ethernet with LAN remote power Adapter
-
-pci:v00001022d00002000sv0000103Csd0000106C*
- ID_PRODUCT_FROM_DATABASE=Ethernet with LAN remote power Adapter
-
-pci:v00001022d00002000sv0000103Csd0000106E*
- ID_PRODUCT_FROM_DATABASE=Ethernet with LAN remote power Adapter
-
-pci:v00001022d00002000sv0000103Csd000010EA*
- ID_PRODUCT_FROM_DATABASE=Ethernet with LAN remote power Adapter
-
-pci:v00001022d00002000sv00001113sd00001220*
- ID_PRODUCT_FROM_DATABASE=EN1220 10/100 Fast Ethernet
-
-pci:v00001022d00002000sv00001259sd00002450*
- ID_PRODUCT_FROM_DATABASE=AT-2450 10/100 Fast Ethernet
-
-pci:v00001022d00002000sv00001259sd00002454*
- ID_PRODUCT_FROM_DATABASE=AT-2450v4 10Mb Ethernet Adapter
-
-pci:v00001022d00002000sv00001259sd00002700*
- ID_PRODUCT_FROM_DATABASE=AT-2700TX 10/100 Fast Ethernet
-
-pci:v00001022d00002000sv00001259sd00002701*
- ID_PRODUCT_FROM_DATABASE=AT-2700FX 100Mb Ethernet
-
-pci:v00001022d00002000sv00001259sd00002702*
- ID_PRODUCT_FROM_DATABASE=AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet
-
-pci:v00001022d00002000sv00001259sd00002703*
- ID_PRODUCT_FROM_DATABASE=AT-2701FX
-
-pci:v00001022d00002000sv00001259sd00002704*
- ID_PRODUCT_FROM_DATABASE=AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet
-
-pci:v00001022d00002000sv00004C53sd00001000*
- ID_PRODUCT_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard
-
-pci:v00001022d00002000sv00004C53sd00001010*
- ID_PRODUCT_FROM_DATABASE=CP5/CR6 mainboard
-
-pci:v00001022d00002000sv00004C53sd00001020*
- ID_PRODUCT_FROM_DATABASE=VR6 mainboard
-
-pci:v00001022d00002000sv00004C53sd00001030*
- ID_PRODUCT_FROM_DATABASE=PC5 mainboard
-
-pci:v00001022d00002000sv00004C53sd00001040*
- ID_PRODUCT_FROM_DATABASE=CL7 mainboard
-
-pci:v00001022d00002000sv00004C53sd00001060*
- ID_PRODUCT_FROM_DATABASE=PC7 mainboard
-
-pci:v00001022d00002001*
- ID_PRODUCT_FROM_DATABASE=79c978 [HomePNA]
-
-pci:v00001022d00002001sv00001092sd00000A78*
- ID_PRODUCT_FROM_DATABASE=Multimedia Home Network Adapter
-
-pci:v00001022d00002001sv00001668sd00000299*
- ID_PRODUCT_FROM_DATABASE=ActionLink Home Network Adapter
-
-pci:v00001022d00002003*
- ID_PRODUCT_FROM_DATABASE=Am 1771 MBW [Alchemy]
-
-pci:v00001022d00002020*
- ID_PRODUCT_FROM_DATABASE=53c974 [PCscsi]
-
-pci:v00001022d00002040*
- ID_PRODUCT_FROM_DATABASE=79c974
-
-pci:v00001022d00002080*
- ID_PRODUCT_FROM_DATABASE=CS5536 [Geode companion] Host Bridge
-
-pci:v00001022d00002081*
- ID_PRODUCT_FROM_DATABASE=Geode LX Video
-
-pci:v00001022d00002082*
- ID_PRODUCT_FROM_DATABASE=Geode LX AES Security Block
-
-pci:v00001022d0000208F*
- ID_PRODUCT_FROM_DATABASE=CS5536 GeodeLink PCI South Bridge
-
-pci:v00001022d00002090*
- ID_PRODUCT_FROM_DATABASE=CS5536 [Geode companion] ISA
-
-pci:v00001022d00002091*
- ID_PRODUCT_FROM_DATABASE=CS5536 [Geode companion] FLASH
-
-pci:v00001022d00002093*
- ID_PRODUCT_FROM_DATABASE=CS5536 [Geode companion] Audio
-
-pci:v00001022d00002094*
- ID_PRODUCT_FROM_DATABASE=CS5536 [Geode companion] OHC
-
-pci:v00001022d00002095*
- ID_PRODUCT_FROM_DATABASE=CS5536 [Geode companion] EHC
-
-pci:v00001022d00002096*
- ID_PRODUCT_FROM_DATABASE=CS5536 [Geode companion] UDC
-
-pci:v00001022d00002097*
- ID_PRODUCT_FROM_DATABASE=CS5536 [Geode companion] UOC
-
-pci:v00001022d0000209A*
- ID_PRODUCT_FROM_DATABASE=CS5536 [Geode companion] IDE
-
-pci:v00001022d00003000*
- ID_PRODUCT_FROM_DATABASE=ELanSC520 Microcontroller
-
-pci:v00001022d000043A0*
- ID_PRODUCT_FROM_DATABASE=Hudson PCI to PCI bridge (PCIE port 0)
-
-pci:v00001022d000043A1*
- ID_PRODUCT_FROM_DATABASE=Hudson PCI to PCI bridge (PCIE port 1)
-
-pci:v00001022d000043A2*
- ID_PRODUCT_FROM_DATABASE=Hudson PCI to PCI bridge (PCIE port 2)
-
-pci:v00001022d000043A3*
- ID_PRODUCT_FROM_DATABASE=Hudson PCI to PCI bridge (PCIE port 3)
-
-pci:v00001022d00007006*
- ID_PRODUCT_FROM_DATABASE=AMD-751 [Irongate] System Controller
-
-pci:v00001022d00007007*
- ID_PRODUCT_FROM_DATABASE=AMD-751 [Irongate] AGP Bridge
-
-pci:v00001022d0000700A*
- ID_PRODUCT_FROM_DATABASE=AMD-IGR4 AGP Host to PCI Bridge
-
-pci:v00001022d0000700B*
- ID_PRODUCT_FROM_DATABASE=AMD-IGR4 PCI to PCI Bridge
-
-pci:v00001022d0000700C*
- ID_PRODUCT_FROM_DATABASE=AMD-760 MP [IGD4-2P] System Controller
-
-pci:v00001022d0000700D*
- ID_PRODUCT_FROM_DATABASE=AMD-760 MP [IGD4-2P] AGP Bridge
-
-pci:v00001022d0000700E*
- ID_PRODUCT_FROM_DATABASE=AMD-760 [IGD4-1P] System Controller
-
-pci:v00001022d0000700F*
- ID_PRODUCT_FROM_DATABASE=AMD-760 [IGD4-1P] AGP Bridge
-
-pci:v00001022d00007400*
- ID_PRODUCT_FROM_DATABASE=AMD-755 [Cobra] ISA
-
-pci:v00001022d00007401*
- ID_PRODUCT_FROM_DATABASE=AMD-755 [Cobra] IDE
-
-pci:v00001022d00007403*
- ID_PRODUCT_FROM_DATABASE=AMD-755 [Cobra] ACPI
-
-pci:v00001022d00007404*
- ID_PRODUCT_FROM_DATABASE=AMD-755 [Cobra] USB
-
-pci:v00001022d00007408*
- ID_PRODUCT_FROM_DATABASE=AMD-756 [Viper] ISA
-
-pci:v00001022d00007409*
- ID_PRODUCT_FROM_DATABASE=AMD-756 [Viper] IDE
-
-pci:v00001022d0000740B*
- ID_PRODUCT_FROM_DATABASE=AMD-756 [Viper] ACPI
-
-pci:v00001022d0000740C*
- ID_PRODUCT_FROM_DATABASE=AMD-756 [Viper] USB
-
-pci:v00001022d00007410*
- ID_PRODUCT_FROM_DATABASE=AMD-766 [ViperPlus] ISA
-
-pci:v00001022d00007411*
- ID_PRODUCT_FROM_DATABASE=AMD-766 [ViperPlus] IDE
-
-pci:v00001022d00007413*
- ID_PRODUCT_FROM_DATABASE=AMD-766 [ViperPlus] ACPI
-
-pci:v00001022d00007414*
- ID_PRODUCT_FROM_DATABASE=AMD-766 [ViperPlus] USB
-
-pci:v00001022d00007440*
- ID_PRODUCT_FROM_DATABASE=AMD-768 [Opus] ISA
-
-pci:v00001022d00007440sv00001043sd00008044*
- ID_PRODUCT_FROM_DATABASE=A7M-D Mainboard
-
-pci:v00001022d00007441*
- ID_PRODUCT_FROM_DATABASE=AMD-768 [Opus] IDE
-
-pci:v00001022d00007443*
- ID_PRODUCT_FROM_DATABASE=AMD-768 [Opus] ACPI
-
-pci:v00001022d00007443sv00001043sd00008044*
- ID_PRODUCT_FROM_DATABASE=A7M-D Mainboard
-
-pci:v00001022d00007445*
- ID_PRODUCT_FROM_DATABASE=AMD-768 [Opus] Audio
-
-pci:v00001022d00007446*
- ID_PRODUCT_FROM_DATABASE=AMD-768 [Opus] MC97 Modem
-
-pci:v00001022d00007448*
- ID_PRODUCT_FROM_DATABASE=AMD-768 [Opus] PCI
-
-pci:v00001022d00007449*
- ID_PRODUCT_FROM_DATABASE=AMD-768 [Opus] USB
-
-pci:v00001022d00007450*
- ID_PRODUCT_FROM_DATABASE=AMD-8131 PCI-X Bridge
-
-pci:v00001022d00007451*
- ID_PRODUCT_FROM_DATABASE=AMD-8131 PCI-X IOAPIC
-
-pci:v00001022d00007454*
- ID_PRODUCT_FROM_DATABASE=AMD-8151 System Controller
-
-pci:v00001022d00007455*
- ID_PRODUCT_FROM_DATABASE=AMD-8151 AGP Bridge
-
-pci:v00001022d00007458*
- ID_PRODUCT_FROM_DATABASE=AMD-8132 PCI-X Bridge
-
-pci:v00001022d00007459*
- ID_PRODUCT_FROM_DATABASE=AMD-8132 PCI-X IOAPIC
-
-pci:v00001022d00007460*
- ID_PRODUCT_FROM_DATABASE=AMD-8111 PCI
-
-pci:v00001022d00007460sv0000161Fsd00003017*
- ID_PRODUCT_FROM_DATABASE=HDAMB
-
-pci:v00001022d00007461*
- ID_PRODUCT_FROM_DATABASE=AMD-8111 USB
-
-pci:v00001022d00007462*
- ID_PRODUCT_FROM_DATABASE=AMD-8111 Ethernet
-
-pci:v00001022d00007463*
- ID_PRODUCT_FROM_DATABASE=AMD-8111 USB EHCI
-
-pci:v00001022d00007464*
- ID_PRODUCT_FROM_DATABASE=AMD-8111 USB OHCI
-
-pci:v00001022d00007464sv0000161Fsd00003017*
- ID_PRODUCT_FROM_DATABASE=HDAMB
-
-pci:v00001022d00007468*
- ID_PRODUCT_FROM_DATABASE=AMD-8111 LPC
-
-pci:v00001022d00007468sv0000161Fsd00003017*
- ID_PRODUCT_FROM_DATABASE=HDAMB
-
-pci:v00001022d00007469*
- ID_PRODUCT_FROM_DATABASE=AMD-8111 IDE
-
-pci:v00001022d00007469sv00001022sd00002B80*
- ID_PRODUCT_FROM_DATABASE=AMD-8111 IDE [Quartet]
-
-pci:v00001022d00007469sv0000161Fsd00003017*
- ID_PRODUCT_FROM_DATABASE=HDAMB
-
-pci:v00001022d0000746A*
- ID_PRODUCT_FROM_DATABASE=AMD-8111 SMBus 2.0
-
-pci:v00001022d0000746B*
- ID_PRODUCT_FROM_DATABASE=AMD-8111 ACPI
-
-pci:v00001022d0000746Bsv0000161Fsd00003017*
- ID_PRODUCT_FROM_DATABASE=HDAMB
-
-pci:v00001022d0000746D*
- ID_PRODUCT_FROM_DATABASE=AMD-8111 AC97 Audio
-
-pci:v00001022d0000746Dsv0000161Fsd00003017*
- ID_PRODUCT_FROM_DATABASE=HDAMB
-
-pci:v00001022d0000746E*
- ID_PRODUCT_FROM_DATABASE=AMD-8111 MC97 Modem
-
-pci:v00001022d0000756B*
- ID_PRODUCT_FROM_DATABASE=AMD-8111 ACPI
-
-pci:v00001022d00007800*
- ID_PRODUCT_FROM_DATABASE=FCH SATA Controller [IDE mode]
-
-pci:v00001022d00007801*
- ID_PRODUCT_FROM_DATABASE=FCH SATA Controller [AHCI mode]
-
-pci:v00001022d00007802*
- ID_PRODUCT_FROM_DATABASE=FCH SATA Controller [RAID mode]
-
-pci:v00001022d00007803*
- ID_PRODUCT_FROM_DATABASE=FCH SATA Controller [RAID mode]
-
-pci:v00001022d00007804*
- ID_PRODUCT_FROM_DATABASE=FCH SATA Controller [AHCI mode]
-
-pci:v00001022d00007805*
- ID_PRODUCT_FROM_DATABASE=FCH SATA Controller [RAID mode]
-
-pci:v00001022d00007806*
- ID_PRODUCT_FROM_DATABASE=FCH SD Flash Controller
-
-pci:v00001022d00007807*
- ID_PRODUCT_FROM_DATABASE=FCH USB OHCI Controller
-
-pci:v00001022d00007808*
- ID_PRODUCT_FROM_DATABASE=FCH USB EHCI Controller
-
-pci:v00001022d00007809*
- ID_PRODUCT_FROM_DATABASE=FCH USB OHCI Controller
-
-pci:v00001022d0000780B*
- ID_PRODUCT_FROM_DATABASE=FCH SMBus Controller
-
-pci:v00001022d0000780C*
- ID_PRODUCT_FROM_DATABASE=FCH IDE Controller
-
-pci:v00001022d0000780D*
- ID_PRODUCT_FROM_DATABASE=FCH Azalia Controller
-
-pci:v00001022d0000780E*
- ID_PRODUCT_FROM_DATABASE=FCH LPC Bridge
-
-pci:v00001022d0000780F*
- ID_PRODUCT_FROM_DATABASE=FCH PCI Bridge
-
-pci:v00001022d00007812*
- ID_PRODUCT_FROM_DATABASE=FCH USB XHCI Controller
-
-pci:v00001022d00007813*
- ID_PRODUCT_FROM_DATABASE=FCH SD Flash Controller
-
-pci:v00001022d00007814*
- ID_PRODUCT_FROM_DATABASE=FCH USB XHCI Controller
-
-pci:v00001022d00009600*
- ID_PRODUCT_FROM_DATABASE=RS780 Host Bridge
-
-pci:v00001022d00009600sv00001043sd000082F1*
- ID_PRODUCT_FROM_DATABASE=M3A78-EH Motherboard
-
-pci:v00001022d00009601*
- ID_PRODUCT_FROM_DATABASE=RS880 Host Bridge
-
-pci:v00001022d00009601sv00001043sd0000843E*
- ID_PRODUCT_FROM_DATABASE=M5A88-V EVO
-
-pci:v00001022d00009602*
- ID_PRODUCT_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (int gfx)
-
-pci:v00001022d00009603*
- ID_PRODUCT_FROM_DATABASE=RS780 PCI to PCI bridge (ext gfx port 0)
-
-pci:v00001022d00009604*
- ID_PRODUCT_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (PCIE port 0)
-
-pci:v00001022d00009605*
- ID_PRODUCT_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (PCIE port 1)
-
-pci:v00001022d00009606*
- ID_PRODUCT_FROM_DATABASE=RS780 PCI to PCI bridge (PCIE port 2)
-
-pci:v00001022d00009607*
- ID_PRODUCT_FROM_DATABASE=RS780 PCI to PCI bridge (PCIE port 3)
-
-pci:v00001022d00009608*
- ID_PRODUCT_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (PCIE port 4)
-
-pci:v00001022d00009609*
- ID_PRODUCT_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (PCIE port 5)
-
-pci:v00001022d0000960A*
- ID_PRODUCT_FROM_DATABASE=RS780 PCI to PCI bridge (NB-SB link)
-
-pci:v00001022d0000960B*
- ID_PRODUCT_FROM_DATABASE=RS780 PCI to PCI bridge (ext gfx port 1)
-
-pci:v00001023*
- ID_VENDOR_FROM_DATABASE=Trident Microsystems
-
-pci:v00001023d00000194*
- ID_PRODUCT_FROM_DATABASE=82C194
-
-pci:v00001023d00002000*
- ID_PRODUCT_FROM_DATABASE=4DWave DX
-
-pci:v00001023d00002001*
- ID_PRODUCT_FROM_DATABASE=4DWave NX
-
-pci:v00001023d00002001sv0000122Dsd00001400*
- ID_PRODUCT_FROM_DATABASE=Trident PCI288-Q3DII (NX)
-
-pci:v00001023d00002100*
- ID_PRODUCT_FROM_DATABASE=CyberBlade XP4m32
-
-pci:v00001023d00002200*
- ID_PRODUCT_FROM_DATABASE=XGI Volari XP5
-
-pci:v00001023d00008400*
- ID_PRODUCT_FROM_DATABASE=CyberBlade/i7
-
-pci:v00001023d00008400sv00001023sd00008400*
- ID_PRODUCT_FROM_DATABASE=CyberBlade i7 AGP
-
-pci:v00001023d00008420*
- ID_PRODUCT_FROM_DATABASE=CyberBlade/i7d
-
-pci:v00001023d00008420sv00000E11sd0000B15A*
- ID_PRODUCT_FROM_DATABASE=CyberBlade i7 AGP
-
-pci:v00001023d00008500*
- ID_PRODUCT_FROM_DATABASE=CyberBlade/i1
-
-pci:v00001023d00008520*
- ID_PRODUCT_FROM_DATABASE=CyberBlade i1
-
-pci:v00001023d00008520sv00000E11sd0000B16E*
- ID_PRODUCT_FROM_DATABASE=CyberBlade i1 AGP
-
-pci:v00001023d00008520sv00001023sd00008520*
- ID_PRODUCT_FROM_DATABASE=CyberBlade i1 AGP
-
-pci:v00001023d00008620*
- ID_PRODUCT_FROM_DATABASE=CyberBlade/i1
-
-pci:v00001023d00008620sv00001014sd00000502*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R30/T30
-
-pci:v00001023d00008620sv00001014sd00001025*
- ID_PRODUCT_FROM_DATABASE=Travelmate 352TE
-
-pci:v00001023d00008820*
- ID_PRODUCT_FROM_DATABASE=CyberBlade XPAi1
-
-pci:v00001023d00009320*
- ID_PRODUCT_FROM_DATABASE=TGUI 9320
-
-pci:v00001023d00009350*
- ID_PRODUCT_FROM_DATABASE=GUI Accelerator
-
-pci:v00001023d00009360*
- ID_PRODUCT_FROM_DATABASE=Flat panel GUI Accelerator
-
-pci:v00001023d00009382*
- ID_PRODUCT_FROM_DATABASE=Cyber 9382 [Reference design]
-
-pci:v00001023d00009383*
- ID_PRODUCT_FROM_DATABASE=Cyber 9383 [Reference design]
-
-pci:v00001023d00009385*
- ID_PRODUCT_FROM_DATABASE=Cyber 9385 [Reference design]
-
-pci:v00001023d00009386*
- ID_PRODUCT_FROM_DATABASE=Cyber 9386
-
-pci:v00001023d00009388*
- ID_PRODUCT_FROM_DATABASE=Cyber 9388
-
-pci:v00001023d00009397*
- ID_PRODUCT_FROM_DATABASE=Cyber 9397
-
-pci:v00001023d0000939A*
- ID_PRODUCT_FROM_DATABASE=Cyber 9397DVD
-
-pci:v00001023d00009420*
- ID_PRODUCT_FROM_DATABASE=TGUI 9420
-
-pci:v00001023d00009430*
- ID_PRODUCT_FROM_DATABASE=TGUI 9430
-
-pci:v00001023d00009440*
- ID_PRODUCT_FROM_DATABASE=TGUI 9440
-
-pci:v00001023d00009460*
- ID_PRODUCT_FROM_DATABASE=TGUI 9460
-
-pci:v00001023d00009470*
- ID_PRODUCT_FROM_DATABASE=TGUI 9470
-
-pci:v00001023d00009520*
- ID_PRODUCT_FROM_DATABASE=Cyber 9520
-
-pci:v00001023d00009525*
- ID_PRODUCT_FROM_DATABASE=Cyber 9525
-
-pci:v00001023d00009540*
- ID_PRODUCT_FROM_DATABASE=Cyber 9540
-
-pci:v00001023d00009660*
- ID_PRODUCT_FROM_DATABASE=TGUI 9660/938x/968x
-
-pci:v00001023d00009680*
- ID_PRODUCT_FROM_DATABASE=TGUI 9680
-
-pci:v00001023d00009682*
- ID_PRODUCT_FROM_DATABASE=TGUI 9682
-
-pci:v00001023d00009683*
- ID_PRODUCT_FROM_DATABASE=TGUI 9683
-
-pci:v00001023d00009685*
- ID_PRODUCT_FROM_DATABASE=ProVIDIA 9685
-
-pci:v00001023d00009750*
- ID_PRODUCT_FROM_DATABASE=3DImage 9750
-
-pci:v00001023d00009750sv00001014sd00009750*
- ID_PRODUCT_FROM_DATABASE=3DImage 9750
-
-pci:v00001023d00009750sv00001023sd00009750*
- ID_PRODUCT_FROM_DATABASE=3DImage 9750
-
-pci:v00001023d00009753*
- ID_PRODUCT_FROM_DATABASE=TGUI 9753
-
-pci:v00001023d00009754*
- ID_PRODUCT_FROM_DATABASE=TGUI 9754
-
-pci:v00001023d00009759*
- ID_PRODUCT_FROM_DATABASE=TGUI 975
-
-pci:v00001023d00009783*
- ID_PRODUCT_FROM_DATABASE=TGUI 9783
-
-pci:v00001023d00009785*
- ID_PRODUCT_FROM_DATABASE=TGUI 9785
-
-pci:v00001023d00009850*
- ID_PRODUCT_FROM_DATABASE=3DImage 9850
-
-pci:v00001023d00009880*
- ID_PRODUCT_FROM_DATABASE=Blade 3D PCI/AGP
-
-pci:v00001023d00009880sv00001023sd00009880*
- ID_PRODUCT_FROM_DATABASE=Blade 3D
-
-pci:v00001023d00009910*
- ID_PRODUCT_FROM_DATABASE=CyberBlade/XP
-
-pci:v00001023d00009930*
- ID_PRODUCT_FROM_DATABASE=CyberBlade/XPm
-
-pci:v00001023d00009960*
- ID_PRODUCT_FROM_DATABASE=CyberBlade XP2
-
-pci:v00001024*
- ID_VENDOR_FROM_DATABASE=Zenith Data Systems
-
-pci:v00001025*
- ID_VENDOR_FROM_DATABASE=Acer Incorporated [ALI]
-
-pci:v00001025d00001435*
- ID_PRODUCT_FROM_DATABASE=M1435
-
-pci:v00001025d00001445*
- ID_PRODUCT_FROM_DATABASE=M1445
-
-pci:v00001025d00001449*
- ID_PRODUCT_FROM_DATABASE=M1449
-
-pci:v00001025d00001451*
- ID_PRODUCT_FROM_DATABASE=M1451
-
-pci:v00001025d00001461*
- ID_PRODUCT_FROM_DATABASE=M1461
-
-pci:v00001025d00001489*
- ID_PRODUCT_FROM_DATABASE=M1489
-
-pci:v00001025d00001511*
- ID_PRODUCT_FROM_DATABASE=M1511
-
-pci:v00001025d00001512*
- ID_PRODUCT_FROM_DATABASE=ALI M1512 Aladdin
-
-pci:v00001025d00001513*
- ID_PRODUCT_FROM_DATABASE=M1513
-
-pci:v00001025d00001521*
- ID_PRODUCT_FROM_DATABASE=ALI M1521 Aladdin III CPU Bridge
-
-pci:v00001025d00001521sv000010B9sd00001521*
- ID_PRODUCT_FROM_DATABASE=ALI M1521 Aladdin III CPU Bridge
-
-pci:v00001025d00001523*
- ID_PRODUCT_FROM_DATABASE=ALI M1523 ISA Bridge
-
-pci:v00001025d00001523sv000010B9sd00001523*
- ID_PRODUCT_FROM_DATABASE=ALI M1523 ISA Bridge
-
-pci:v00001025d00001531*
- ID_PRODUCT_FROM_DATABASE=M1531 Northbridge [Aladdin IV/IV+]
-
-pci:v00001025d00001533*
- ID_PRODUCT_FROM_DATABASE=M1533 PCI-to-ISA Bridge
-
-pci:v00001025d00001533sv000010B9sd00001533*
- ID_PRODUCT_FROM_DATABASE=ALI M1533 Aladdin IV/V ISA South Bridge
-
-pci:v00001025d00001535*
- ID_PRODUCT_FROM_DATABASE=M1535 PCI Bridge + Super I/O + FIR
-
-pci:v00001025d00001541*
- ID_PRODUCT_FROM_DATABASE=M1541 Northbridge [Aladdin V]
-
-pci:v00001025d00001541sv000010B9sd00001541*
- ID_PRODUCT_FROM_DATABASE=ALI M1541 Aladdin V/V+ AGP+PCI North Bridge
-
-pci:v00001025d00001542*
- ID_PRODUCT_FROM_DATABASE=M1542 Northbridge [Aladdin V]
-
-pci:v00001025d00001543*
- ID_PRODUCT_FROM_DATABASE=M1543 PCI-to-ISA Bridge + Super I/O + FIR
-
-pci:v00001025d00001561*
- ID_PRODUCT_FROM_DATABASE=M1561 Northbridge [Aladdin 7]
-
-pci:v00001025d00001621*
- ID_PRODUCT_FROM_DATABASE=M1621 Northbridge [Aladdin-Pro II]
-
-pci:v00001025d00001631*
- ID_PRODUCT_FROM_DATABASE=M1631 Northbridge+3D Graphics [Aladdin TNT2]
-
-pci:v00001025d00001641*
- ID_PRODUCT_FROM_DATABASE=M1641 Northbridge [Aladdin-Pro IV]
-
-pci:v00001025d00001647*
- ID_PRODUCT_FROM_DATABASE=M1647 [MaGiK1] PCI North Bridge
-
-pci:v00001025d00001671*
- ID_PRODUCT_FROM_DATABASE=M1671 Northbridge [ALADDiN-P4]
-
-pci:v00001025d00001672*
- ID_PRODUCT_FROM_DATABASE=Northbridge [CyberALADDiN-P4]
-
-pci:v00001025d00003141*
- ID_PRODUCT_FROM_DATABASE=M3141
-
-pci:v00001025d00003143*
- ID_PRODUCT_FROM_DATABASE=M3143
-
-pci:v00001025d00003145*
- ID_PRODUCT_FROM_DATABASE=M3145
-
-pci:v00001025d00003147*
- ID_PRODUCT_FROM_DATABASE=M3147
-
-pci:v00001025d00003149*
- ID_PRODUCT_FROM_DATABASE=M3149
-
-pci:v00001025d00003151*
- ID_PRODUCT_FROM_DATABASE=M3151
-
-pci:v00001025d00003307*
- ID_PRODUCT_FROM_DATABASE=M3307 MPEG-I Video Controller
-
-pci:v00001025d00003309*
- ID_PRODUCT_FROM_DATABASE=M3309 MPEG-II Video w/ Software Audio Decoder
-
-pci:v00001025d00003321*
- ID_PRODUCT_FROM_DATABASE=M3321 MPEG-II Audio/Video Decoder
-
-pci:v00001025d00005212*
- ID_PRODUCT_FROM_DATABASE=M4803
-
-pci:v00001025d00005215*
- ID_PRODUCT_FROM_DATABASE=ALI PCI EIDE Controller
-
-pci:v00001025d00005217*
- ID_PRODUCT_FROM_DATABASE=M5217H
-
-pci:v00001025d00005219*
- ID_PRODUCT_FROM_DATABASE=M5219
-
-pci:v00001025d00005225*
- ID_PRODUCT_FROM_DATABASE=M5225
-
-pci:v00001025d00005229*
- ID_PRODUCT_FROM_DATABASE=M5229
-
-pci:v00001025d00005235*
- ID_PRODUCT_FROM_DATABASE=M5235
-
-pci:v00001025d00005237*
- ID_PRODUCT_FROM_DATABASE=M5237 PCI USB Host Controller
-
-pci:v00001025d00005240*
- ID_PRODUCT_FROM_DATABASE=EIDE Controller
-
-pci:v00001025d00005241*
- ID_PRODUCT_FROM_DATABASE=PCMCIA Bridge
-
-pci:v00001025d00005242*
- ID_PRODUCT_FROM_DATABASE=General Purpose Controller
-
-pci:v00001025d00005243*
- ID_PRODUCT_FROM_DATABASE=PCI to PCI Bridge Controller
-
-pci:v00001025d00005244*
- ID_PRODUCT_FROM_DATABASE=Floppy Disk Controller
-
-pci:v00001025d00005247*
- ID_PRODUCT_FROM_DATABASE=M1541 PCI to PCI Bridge
-
-pci:v00001025d00005251*
- ID_PRODUCT_FROM_DATABASE=M5251 P1394 Controller
-
-pci:v00001025d00005427*
- ID_PRODUCT_FROM_DATABASE=PCI to AGP Bridge
-
-pci:v00001025d00005451*
- ID_PRODUCT_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device
-
-pci:v00001025d00005453*
- ID_PRODUCT_FROM_DATABASE=M5453 PCI AC-Link Controller Modem Device
-
-pci:v00001025d00007101*
- ID_PRODUCT_FROM_DATABASE=M7101 PCI PMU Power Management Controller
-
-pci:v00001025d00007101sv000010B9sd00007101*
- ID_PRODUCT_FROM_DATABASE=M7101 PCI PMU Power Management Controller
-
-pci:v00001025d00009602*
- ID_PRODUCT_FROM_DATABASE=AMD RS780/RS880 PCI to PCI bridge (int gfx)
-
-pci:v00001028*
- ID_VENDOR_FROM_DATABASE=Dell
-
-pci:v00001028d00000001*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/Si
-
-pci:v00001028d00000001sv00001028sd00000001*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2400
-
-pci:v00001028d00000002*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di
-
-pci:v00001028d00000002sv00001028sd00000002*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 4400
-
-pci:v00001028d00000002sv00001028sd000000D1*
- ID_PRODUCT_FROM_DATABASE=PERC 3/DiV [Viper]
-
-pci:v00001028d00000002sv00001028sd000000D9*
- ID_PRODUCT_FROM_DATABASE=PERC 3/DiL [Lexus]
-
-pci:v00001028d00000003*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Si
-
-pci:v00001028d00000003sv00001028sd00000003*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2450
-
-pci:v00001028d00000004*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di [Iguana]
-
-pci:v00001028d00000004sv00001028sd00000004*
- ID_PRODUCT_FROM_DATABASE=PERC 3/DiF [Iguana]
-
-pci:v00001028d00000006*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di
-
-pci:v00001028d00000007*
- ID_PRODUCT_FROM_DATABASE=Remote Access Card III
-
-pci:v00001028d00000008*
- ID_PRODUCT_FROM_DATABASE=Remote Access Card III
-
-pci:v00001028d00000009*
- ID_PRODUCT_FROM_DATABASE=Remote Access Card III: BMC/SMIC device not present
-
-pci:v00001028d0000000A*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di
-
-pci:v00001028d0000000Asv00001028sd00000106*
- ID_PRODUCT_FROM_DATABASE=PERC 3/DiJ [Jaguar]
-
-pci:v00001028d0000000Asv00001028sd0000011B*
- ID_PRODUCT_FROM_DATABASE=PERC 3/DiD [Dagger]
-
-pci:v00001028d0000000Asv00001028sd00000121*
- ID_PRODUCT_FROM_DATABASE=PERC 3/DiB [Boxster]
-
-pci:v00001028d0000000C*
- ID_PRODUCT_FROM_DATABASE=Embedded Remote Access or ERA/O
-
-pci:v00001028d0000000D*
- ID_PRODUCT_FROM_DATABASE=Embedded Remote Access: BMC/SMIC device
-
-pci:v00001028d0000000E*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID controller 4/Di
-
-pci:v00001028d0000000F*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID controller 4/Di
-
-pci:v00001028d0000000Fsv00001028sd0000014A*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1750
-
-pci:v00001028d00000010*
- ID_PRODUCT_FROM_DATABASE=Remote Access Card 4
-
-pci:v00001028d00000011*
- ID_PRODUCT_FROM_DATABASE=Remote Access Card 4 Daughter Card
-
-pci:v00001028d00000012*
- ID_PRODUCT_FROM_DATABASE=Remote Access Card 4 Daughter Card Virtual UART
-
-pci:v00001028d00000013*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID controller 4
-
-pci:v00001028d00000013sv00001028sd0000016C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Si
-
-pci:v00001028d00000013sv00001028sd0000016D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di
-
-pci:v00001028d00000013sv00001028sd0000016E*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di
-
-pci:v00001028d00000013sv00001028sd0000016F*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di
-
-pci:v00001028d00000013sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di
-
-pci:v00001028d00000014*
- ID_PRODUCT_FROM_DATABASE=Remote Access Card 4 Daughter Card SMIC interface
-
-pci:v00001028d00000015*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID controller 5
-
-pci:v00001028d00000015sv00001028sd00001F01*
- ID_PRODUCT_FROM_DATABASE=PERC 5/E Adapter RAID Controller
-
-pci:v00001028d00000015sv00001028sd00001F02*
- ID_PRODUCT_FROM_DATABASE=PERC 5/i Adapter RAID Controller
-
-pci:v00001028d00000015sv00001028sd00001F03*
- ID_PRODUCT_FROM_DATABASE=PERC 5/i Integrated RAID Controller
-
-pci:v00001028d00000016*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID controller S300
-
-pci:v00001028d00000016sv00001028sd00001F24*
- ID_PRODUCT_FROM_DATABASE=PERC S300 Controller
-
-pci:v00001029*
- ID_VENDOR_FROM_DATABASE=Siemens Nixdorf IS
-
-pci:v0000102A*
- ID_VENDOR_FROM_DATABASE=LSI Logic
-
-pci:v0000102Ad00000000*
- ID_PRODUCT_FROM_DATABASE=HYDRA
-
-pci:v0000102Ad00000010*
- ID_PRODUCT_FROM_DATABASE=ASPEN
-
-pci:v0000102Ad0000001F*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers
-
-pci:v0000102Ad0000001Fsv00009005sd0000000F*
- ID_PRODUCT_FROM_DATABASE=2940U2W SCSI Controller
-
-pci:v0000102Ad0000001Fsv00009005sd00000106*
- ID_PRODUCT_FROM_DATABASE=2940U2W SCSI Controller
-
-pci:v0000102Ad0000001Fsv00009005sd0000A180*
- ID_PRODUCT_FROM_DATABASE=2940U2W SCSI Controller
-
-pci:v0000102Ad000000C5*
- ID_PRODUCT_FROM_DATABASE=AIC-7899 U160/m SCSI Controller
-
-pci:v0000102Ad000000C5sv00001028sd000000C5*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2550/2650/4600
-
-pci:v0000102Ad000000CF*
- ID_PRODUCT_FROM_DATABASE=AIC-7899P U160/m
-
-pci:v0000102Ad000000CFsv00001028sd00000106*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 4600
-
-pci:v0000102Ad000000CFsv00001028sd00000121*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2650
-
-pci:v0000102B*
- ID_VENDOR_FROM_DATABASE=Matrox Electronics Systems Ltd.
-
-pci:v0000102Bd00000010*
- ID_PRODUCT_FROM_DATABASE=MGA-I [Impression?]
-
-pci:v0000102Bd00000100*
- ID_PRODUCT_FROM_DATABASE=MGA 1064SG [Mystique]
-
-pci:v0000102Bd00000518*
- ID_PRODUCT_FROM_DATABASE=MGA-II [Athena]
-
-pci:v0000102Bd00000519*
- ID_PRODUCT_FROM_DATABASE=MGA 2064W [Millennium]
-
-pci:v0000102Bd0000051A*
- ID_PRODUCT_FROM_DATABASE=MGA 1064SG [Mystique]
-
-pci:v0000102Bd0000051Asv0000102Bsd00000100*
- ID_PRODUCT_FROM_DATABASE=MGA-1064SG Mystique
-
-pci:v0000102Bd0000051Asv0000102Bsd00001100*
- ID_PRODUCT_FROM_DATABASE=MGA-1084SG Mystique
-
-pci:v0000102Bd0000051Asv0000102Bsd00001200*
- ID_PRODUCT_FROM_DATABASE=MGA-1084SG Mystique
-
-pci:v0000102Bd0000051Asv00001100sd0000102B*
- ID_PRODUCT_FROM_DATABASE=MGA-1084SG Mystique
-
-pci:v0000102Bd0000051Asv0000110Asd00000018*
- ID_PRODUCT_FROM_DATABASE=Scenic Pro C5 (D1025)
-
-pci:v0000102Bd0000051B*
- ID_PRODUCT_FROM_DATABASE=MGA 2164W [Millennium II]
-
-pci:v0000102Bd0000051Bsv0000102Bsd0000051B*
- ID_PRODUCT_FROM_DATABASE=MGA-2164W Millennium II
-
-pci:v0000102Bd0000051Bsv0000102Bsd00001100*
- ID_PRODUCT_FROM_DATABASE=MGA-2164W Millennium II
-
-pci:v0000102Bd0000051Bsv0000102Bsd00001200*
- ID_PRODUCT_FROM_DATABASE=MGA-2164W Millennium II
-
-pci:v0000102Bd0000051Bsv0000102Bsd00002100*
- ID_PRODUCT_FROM_DATABASE=MGA-2164W Millennium II
-
-pci:v0000102Bd0000051E*
- ID_PRODUCT_FROM_DATABASE=MGA 1064SG [Mystique] AGP
-
-pci:v0000102Bd0000051F*
- ID_PRODUCT_FROM_DATABASE=MGA 2164W [Millennium II] AGP
-
-pci:v0000102Bd00000520*
- ID_PRODUCT_FROM_DATABASE=MGA G200
-
-pci:v0000102Bd00000520sv0000102Bsd0000DBC2*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000520sv0000102Bsd0000DBC8*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000520sv0000102Bsd0000DBE2*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000520sv0000102Bsd0000DBE8*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000520sv0000102Bsd0000FF03*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 SD
-
-pci:v0000102Bd00000520sv0000102Bsd0000FF04*
- ID_PRODUCT_FROM_DATABASE=Marvel G200
-
-pci:v0000102Bd00000521*
- ID_PRODUCT_FROM_DATABASE=MGA G200 AGP
-
-pci:v0000102Bd00000521sv00001014sd0000FF03*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 AGP
-
-pci:v0000102Bd00000521sv0000102Bsd000048E9*
- ID_PRODUCT_FROM_DATABASE=Mystique G200 AGP
-
-pci:v0000102Bd00000521sv0000102Bsd000048F8*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 SD AGP
-
-pci:v0000102Bd00000521sv0000102Bsd00004A60*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 LE AGP
-
-pci:v0000102Bd00000521sv0000102Bsd00004A64*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 AGP
-
-pci:v0000102Bd00000521sv0000102Bsd0000C93C*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 AGP
-
-pci:v0000102Bd00000521sv0000102Bsd0000C9B0*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 AGP
-
-pci:v0000102Bd00000521sv0000102Bsd0000C9BC*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 AGP
-
-pci:v0000102Bd00000521sv0000102Bsd0000CA60*
- ID_PRODUCT_FROM_DATABASE=Millennium G250 LE AGP
-
-pci:v0000102Bd00000521sv0000102Bsd0000CA6C*
- ID_PRODUCT_FROM_DATABASE=Millennium G250 AGP
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBBC*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 AGP
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBC2*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 MMS (Dual G200)
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBC3*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBC8*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 MMS (Dual G200)
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBD2*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBD3*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBD4*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBD5*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBD8*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBD9*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBE2*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 MMS (Quad G200)
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBE3*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBE8*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 MMS (Quad G200)
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBF2*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBF3*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBF4*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBF5*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBF8*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000DBF9*
- ID_PRODUCT_FROM_DATABASE=G200 Multi-Monitor
-
-pci:v0000102Bd00000521sv0000102Bsd0000F806*
- ID_PRODUCT_FROM_DATABASE=Mystique G200 Video AGP
-
-pci:v0000102Bd00000521sv0000102Bsd0000FF00*
- ID_PRODUCT_FROM_DATABASE=MGA-G200 AGP
-
-pci:v0000102Bd00000521sv0000102Bsd0000FF02*
- ID_PRODUCT_FROM_DATABASE=Mystique G200 AGP
-
-pci:v0000102Bd00000521sv0000102Bsd0000FF03*
- ID_PRODUCT_FROM_DATABASE=Millennium G200 AGP
-
-pci:v0000102Bd00000521sv0000102Bsd0000FF04*
- ID_PRODUCT_FROM_DATABASE=Marvel G200 AGP
-
-pci:v0000102Bd00000521sv0000110Asd00000032*
- ID_PRODUCT_FROM_DATABASE=MGA-G200 AGP
-
-pci:v0000102Bd00000522*
- ID_PRODUCT_FROM_DATABASE=MGA G200e [Pilot] ServerEngines (SEP1)
-
-pci:v0000102Bd00000522sv0000103Csd000031FA*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v0000102Bd00000525*
- ID_PRODUCT_FROM_DATABASE=MGA G400/G450
-
-pci:v0000102Bd00000525sv00000E11sd0000B16F*
- ID_PRODUCT_FROM_DATABASE=MGA-G400 AGP
-
-pci:v0000102Bd00000525sv0000102Bsd00000328*
- ID_PRODUCT_FROM_DATABASE=Millennium G400 16Mb SDRAM
-
-pci:v0000102Bd00000525sv0000102Bsd00000338*
- ID_PRODUCT_FROM_DATABASE=Millennium G400 16Mb SDRAM
-
-pci:v0000102Bd00000525sv0000102Bsd00000378*
- ID_PRODUCT_FROM_DATABASE=Millennium G400 32Mb SDRAM
-
-pci:v0000102Bd00000525sv0000102Bsd00000541*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 Dual Head
-
-pci:v0000102Bd00000525sv0000102Bsd00000542*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 Dual Head LX
-
-pci:v0000102Bd00000525sv0000102Bsd00000543*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 Single Head LX
-
-pci:v0000102Bd00000525sv0000102Bsd00000641*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 32Mb SDRAM Dual Head
-
-pci:v0000102Bd00000525sv0000102Bsd00000642*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 32Mb SDRAM Dual Head LX
-
-pci:v0000102Bd00000525sv0000102Bsd00000643*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 32Mb SDRAM Single Head LX
-
-pci:v0000102Bd00000525sv0000102Bsd000007C0*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 Dual Head LE
-
-pci:v0000102Bd00000525sv0000102Bsd000007C1*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 SDR Dual Head LE
-
-pci:v0000102Bd00000525sv0000102Bsd00000D41*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 Dual Head PCI
-
-pci:v0000102Bd00000525sv0000102Bsd00000D42*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 Dual Head LX PCI
-
-pci:v0000102Bd00000525sv0000102Bsd00000D43*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 32Mb Dual Head PCI
-
-pci:v0000102Bd00000525sv0000102Bsd00000E00*
- ID_PRODUCT_FROM_DATABASE=Marvel G450 eTV
-
-pci:v0000102Bd00000525sv0000102Bsd00000E01*
- ID_PRODUCT_FROM_DATABASE=Marvel G450 eTV
-
-pci:v0000102Bd00000525sv0000102Bsd00000E02*
- ID_PRODUCT_FROM_DATABASE=Marvel G450 eTV
-
-pci:v0000102Bd00000525sv0000102Bsd00000E03*
- ID_PRODUCT_FROM_DATABASE=Marvel G450 eTV
-
-pci:v0000102Bd00000525sv0000102Bsd00000F80*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 Low Profile
-
-pci:v0000102Bd00000525sv0000102Bsd00000F81*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 Low Profile
-
-pci:v0000102Bd00000525sv0000102Bsd00000F82*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 Low Profile DVI
-
-pci:v0000102Bd00000525sv0000102Bsd00000F83*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 Low Profile DVI
-
-pci:v0000102Bd00000525sv0000102Bsd000019D8*
- ID_PRODUCT_FROM_DATABASE=Millennium G400 16Mb SGRAM
-
-pci:v0000102Bd00000525sv0000102Bsd000019F8*
- ID_PRODUCT_FROM_DATABASE=Millennium G400 32Mb SGRAM
-
-pci:v0000102Bd00000525sv0000102Bsd00002159*
- ID_PRODUCT_FROM_DATABASE=Millennium G400 Dual Head 16Mb
-
-pci:v0000102Bd00000525sv0000102Bsd00002179*
- ID_PRODUCT_FROM_DATABASE=Millennium G400 MAX/Dual Head 32Mb
-
-pci:v0000102Bd00000525sv0000102Bsd0000217D*
- ID_PRODUCT_FROM_DATABASE=Millennium G400 Dual Head Max
-
-pci:v0000102Bd00000525sv0000102Bsd000023C0*
- ID_PRODUCT_FROM_DATABASE=Millennium G450
-
-pci:v0000102Bd00000525sv0000102Bsd000023C1*
- ID_PRODUCT_FROM_DATABASE=Millennium G450
-
-pci:v0000102Bd00000525sv0000102Bsd000023C2*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 DVI
-
-pci:v0000102Bd00000525sv0000102Bsd000023C3*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 DVI
-
-pci:v0000102Bd00000525sv0000102Bsd00002F58*
- ID_PRODUCT_FROM_DATABASE=Millennium G400
-
-pci:v0000102Bd00000525sv0000102Bsd00002F78*
- ID_PRODUCT_FROM_DATABASE=Millennium G400
-
-pci:v0000102Bd00000525sv0000102Bsd00003693*
- ID_PRODUCT_FROM_DATABASE=Marvel G400 AGP
-
-pci:v0000102Bd00000525sv0000102Bsd00005DD0*
- ID_PRODUCT_FROM_DATABASE=4Sight II
-
-pci:v0000102Bd00000525sv0000102Bsd00005F50*
- ID_PRODUCT_FROM_DATABASE=4Sight II
-
-pci:v0000102Bd00000525sv0000102Bsd00005F51*
- ID_PRODUCT_FROM_DATABASE=4Sight II
-
-pci:v0000102Bd00000525sv0000102Bsd00005F52*
- ID_PRODUCT_FROM_DATABASE=4Sight II
-
-pci:v0000102Bd00000525sv0000102Bsd00009010*
- ID_PRODUCT_FROM_DATABASE=Millennium G400 Dual Head
-
-pci:v0000102Bd00000525sv00001458sd00000400*
- ID_PRODUCT_FROM_DATABASE=GA-G400
-
-pci:v0000102Bd00000525sv00001705sd00000001*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 32MB SGRAM
-
-pci:v0000102Bd00000525sv00001705sd00000002*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 16MB SGRAM
-
-pci:v0000102Bd00000525sv00001705sd00000003*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 32MB
-
-pci:v0000102Bd00000525sv00001705sd00000004*
- ID_PRODUCT_FROM_DATABASE=Millennium G450 16MB
-
-pci:v0000102Bd00000527*
- ID_PRODUCT_FROM_DATABASE=Parhelia
-
-pci:v0000102Bd00000527sv0000102Bsd00000840*
- ID_PRODUCT_FROM_DATABASE=Parhelia 128Mb
-
-pci:v0000102Bd00000527sv0000102Bsd00000850*
- ID_PRODUCT_FROM_DATABASE=Parhelia 256MB
-
-pci:v0000102Bd00000527sv0000102Bsd00000870*
- ID_PRODUCT_FROM_DATABASE=MED2mp-DVI
-
-pci:v0000102Bd00000527sv0000102Bsd00000880*
- ID_PRODUCT_FROM_DATABASE=P-256 Edge Overlap Controller
-
-pci:v0000102Bd00000528*
- ID_PRODUCT_FROM_DATABASE=Parhelia
-
-pci:v0000102Bd00000528sv0000102Bsd00001020*
- ID_PRODUCT_FROM_DATABASE=Parhelia 128MB
-
-pci:v0000102Bd00000528sv0000102Bsd00001030*
- ID_PRODUCT_FROM_DATABASE=Parhelia 256 MB Dual DVI
-
-pci:v0000102Bd00000528sv0000102Bsd00001040*
- ID_PRODUCT_FROM_DATABASE=MED2mp-DVI
-
-pci:v0000102Bd00000528sv0000102Bsd00001050*
- ID_PRODUCT_FROM_DATABASE=Sono S20
-
-pci:v0000102Bd00000528sv0000102Bsd00001060*
- ID_PRODUCT_FROM_DATABASE=PJ-30L
-
-pci:v0000102Bd00000528sv0000102Bsd00001070*
- ID_PRODUCT_FROM_DATABASE=PJ-40L
-
-pci:v0000102Bd00000528sv0000102Bsd00001421*
- ID_PRODUCT_FROM_DATABASE=MED5mp
-
-pci:v0000102Bd00000528sv0000102Bsd00001431*
- ID_PRODUCT_FROM_DATABASE=MED3mp-DVI
-
-pci:v0000102Bd00000528sv0000102Bsd00001451*
- ID_PRODUCT_FROM_DATABASE=MED5mp-DVI
-
-pci:v0000102Bd00000528sv0000102Bsd00001491*
- ID_PRODUCT_FROM_DATABASE=MED2mp-DVI
-
-pci:v0000102Bd00000528sv0000102Bsd000014B1*
- ID_PRODUCT_FROM_DATABASE=MED3mp-DVI
-
-pci:v0000102Bd00000528sv0000102Bsd000014C1*
- ID_PRODUCT_FROM_DATABASE=MED5mp-DVI
-
-pci:v0000102Bd00000528sv0000102Bsd000014E1*
- ID_PRODUCT_FROM_DATABASE=Parhelia PCI 256MB
-
-pci:v0000102Bd00000528sv0000102Bsd000014F1*
- ID_PRODUCT_FROM_DATABASE=Parhelia Precision SGT
-
-pci:v0000102Bd00000528sv0000102Bsd00001501*
- ID_PRODUCT_FROM_DATABASE=ATC-4MP
-
-pci:v0000102Bd00000528sv0000102Bsd00001511*
- ID_PRODUCT_FROM_DATABASE=ATC-4MP
-
-pci:v0000102Bd00000528sv0000102Bsd00001521*
- ID_PRODUCT_FROM_DATABASE=TheatreVUE T30
-
-pci:v0000102Bd00000528sv0000102Bsd00001531*
- ID_PRODUCT_FROM_DATABASE=TheatreVUE T20
-
-pci:v0000102Bd00000528sv0000102Bsd00001541*
- ID_PRODUCT_FROM_DATABASE=MED2mp-DVI
-
-pci:v0000102Bd00000528sv0000102Bsd00001551*
- ID_PRODUCT_FROM_DATABASE=MED3mp-DVI
-
-pci:v0000102Bd00000528sv0000102Bsd00001561*
- ID_PRODUCT_FROM_DATABASE=MED5mp-DVI
-
-pci:v0000102Bd00000528sv0000102Bsd00001571*
- ID_PRODUCT_FROM_DATABASE=Parhelia DL256 PCI
-
-pci:v0000102Bd00000528sv0000102Bsd00001591*
- ID_PRODUCT_FROM_DATABASE=Parhelia Precision SDT
-
-pci:v0000102Bd00000528sv0000102Bsd000015A1*
- ID_PRODUCT_FROM_DATABASE=MED4mp-DVI
-
-pci:v0000102Bd00000528sv0000102Bsd00002011*
- ID_PRODUCT_FROM_DATABASE=Parhelia HR256
-
-pci:v0000102Bd00000528sv0000102Bsd00002021*
- ID_PRODUCT_FROM_DATABASE=QID Pro
-
-pci:v0000102Bd00000528sv0000102Bsd00002061*
- ID_PRODUCT_FROM_DATABASE=PJ-40LP
-
-pci:v0000102Bd00000528sv0000102Bsd00002081*
- ID_PRODUCT_FROM_DATABASE=EWS Quad
-
-pci:v0000102Bd00000528sv0000102Bsd00002411*
- ID_PRODUCT_FROM_DATABASE=PPX-OUT8
-
-pci:v0000102Bd00000528sv0000102Bsd00002421*
- ID_PRODUCT_FROM_DATABASE=VPX-OUT8
-
-pci:v0000102Bd00000528sv0000102Bsd00002441*
- ID_PRODUCT_FROM_DATABASE=PPX-OUT4
-
-pci:v0000102Bd00000528sv0000102Bsd00002451*
- ID_PRODUCT_FROM_DATABASE=VPX-OUT4
-
-pci:v0000102Bd00000528sv0000102Bsd00002491*
- ID_PRODUCT_FROM_DATABASE=LPX-OUT4
-
-pci:v0000102Bd00000530*
- ID_PRODUCT_FROM_DATABASE=MGA G200EV
-
-pci:v0000102Bd00000532*
- ID_PRODUCT_FROM_DATABASE=MGA G200eW WPCM450
-
-pci:v0000102Bd00000532sv00001028sd00000235*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R710 MGA G200eW WPCM450
-
-pci:v0000102Bd00000532sv00001028sd00000236*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R610 MGA G200eW WPCM450
-
-pci:v0000102Bd00000532sv00001028sd00000237*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T610 MGA G200eW WPCM450
-
-pci:v0000102Bd00000532sv00001028sd00000287*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M610 MGA G200eW WPCM450
-
-pci:v0000102Bd00000532sv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 MGA G200eW WPCM450
-
-pci:v0000102Bd00000532sv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 MGA G200eW WPCM450
-
-pci:v0000102Bd00000532sv00001028sd0000029C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M710 MGA G200eW WPCM450
-
-pci:v0000102Bd00000532sv00001028sd000002A4*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T310 MGA G200eW WPCM450
-
-pci:v0000102Bd00000532sv000015D9sd0000A811*
- ID_PRODUCT_FROM_DATABASE=H8DGU
-
-pci:v0000102Bd00000533*
- ID_PRODUCT_FROM_DATABASE=MGA G200EH
-
-pci:v0000102Bd00000533sv0000103Csd00003381*
- ID_PRODUCT_FROM_DATABASE=iLO4
-
-pci:v0000102Bd00000534*
- ID_PRODUCT_FROM_DATABASE=G200eR2
-
-pci:v0000102Bd00000540*
- ID_PRODUCT_FROM_DATABASE=M91XX
-
-pci:v0000102Bd00000540sv0000102Bsd00002080*
- ID_PRODUCT_FROM_DATABASE=M9140 LP PCIe x16
-
-pci:v0000102Bd00000540sv0000102Bsd000020C0*
- ID_PRODUCT_FROM_DATABASE=Xenia
-
-pci:v0000102Bd00000540sv0000102Bsd000020C1*
- ID_PRODUCT_FROM_DATABASE=Xenia Pro
-
-pci:v0000102Bd00000540sv0000102Bsd00002100*
- ID_PRODUCT_FROM_DATABASE=M9120 PCIe x16
-
-pci:v0000102Bd00000540sv0000102Bsd00002140*
- ID_PRODUCT_FROM_DATABASE=M9125 PCIe x16
-
-pci:v0000102Bd00000540sv0000102Bsd00002180*
- ID_PRODUCT_FROM_DATABASE=M9120 Plus LP PCIe x16
-
-pci:v0000102Bd00000540sv0000102Bsd000021C0*
- ID_PRODUCT_FROM_DATABASE=M9120 Plus LP PCIe x1
-
-pci:v0000102Bd00000540sv0000102Bsd00002200*
- ID_PRODUCT_FROM_DATABASE=VDA1164 Output Board
-
-pci:v0000102Bd00000540sv0000102Bsd00002240*
- ID_PRODUCT_FROM_DATABASE=M9148 LP PCIe x16
-
-pci:v0000102Bd00000540sv0000102Bsd00002241*
- ID_PRODUCT_FROM_DATABASE=M9138 LP PCIe x16
-
-pci:v0000102Bd00000540sv0000102Bsd00002280*
- ID_PRODUCT_FROM_DATABASE=M9188 ATX PCIe x16
-
-pci:v0000102Bd00000540sv0000102Bsd000022C0*
- ID_PRODUCT_FROM_DATABASE=M9128 LP PCIe x16
-
-pci:v0000102Bd00000D10*
- ID_PRODUCT_FROM_DATABASE=MGA Ultima/Impression
-
-pci:v0000102Bd00001000*
- ID_PRODUCT_FROM_DATABASE=MGA G100 [Productiva]
-
-pci:v0000102Bd00001000sv0000102Bsd0000FF01*
- ID_PRODUCT_FROM_DATABASE=Productiva G100
-
-pci:v0000102Bd00001000sv0000102Bsd0000FF05*
- ID_PRODUCT_FROM_DATABASE=Productiva G100 Multi-Monitor
-
-pci:v0000102Bd00001001*
- ID_PRODUCT_FROM_DATABASE=MGA G100 [Productiva] AGP
-
-pci:v0000102Bd00001001sv0000102Bsd00001001*
- ID_PRODUCT_FROM_DATABASE=MGA-G100 AGP
-
-pci:v0000102Bd00001001sv0000102Bsd0000FF00*
- ID_PRODUCT_FROM_DATABASE=MGA-G100 AGP
-
-pci:v0000102Bd00001001sv0000102Bsd0000FF01*
- ID_PRODUCT_FROM_DATABASE=MGA-G100 Productiva AGP
-
-pci:v0000102Bd00001001sv0000102Bsd0000FF03*
- ID_PRODUCT_FROM_DATABASE=Millennium G100 AGP
-
-pci:v0000102Bd00001001sv0000102Bsd0000FF04*
- ID_PRODUCT_FROM_DATABASE=MGA-G100 AGP
-
-pci:v0000102Bd00001001sv0000102Bsd0000FF05*
- ID_PRODUCT_FROM_DATABASE=MGA-G100 Productiva AGP Multi-Monitor
-
-pci:v0000102Bd00001001sv0000110Asd0000001E*
- ID_PRODUCT_FROM_DATABASE=MGA-G100 AGP
-
-pci:v0000102Bd00002007*
- ID_PRODUCT_FROM_DATABASE=MGA Mistral
-
-pci:v0000102Bd00002527*
- ID_PRODUCT_FROM_DATABASE=Millennium G550
-
-pci:v0000102Bd00002527sv0000102Bsd00000F83*
- ID_PRODUCT_FROM_DATABASE=Millennium G550
-
-pci:v0000102Bd00002527sv0000102Bsd00000F84*
- ID_PRODUCT_FROM_DATABASE=Millennium G550 Dual Head DDR 32Mb
-
-pci:v0000102Bd00002527sv0000102Bsd00001E41*
- ID_PRODUCT_FROM_DATABASE=Millennium G550
-
-pci:v0000102Bd00002527sv0000102Bsd00002300*
- ID_PRODUCT_FROM_DATABASE=Millennium G550 LP PCIE
-
-pci:v0000102Bd00002537*
- ID_PRODUCT_FROM_DATABASE=Millenium P650/P750
-
-pci:v0000102Bd00002537sv0000102Bsd00001820*
- ID_PRODUCT_FROM_DATABASE=Millennium P750 64MB
-
-pci:v0000102Bd00002537sv0000102Bsd00001830*
- ID_PRODUCT_FROM_DATABASE=Millennium P650 64MB
-
-pci:v0000102Bd00002537sv0000102Bsd00001850*
- ID_PRODUCT_FROM_DATABASE=RAD2mp
-
-pci:v0000102Bd00002537sv0000102Bsd00001860*
- ID_PRODUCT_FROM_DATABASE=RAD3mp
-
-pci:v0000102Bd00002537sv0000102Bsd00001880*
- ID_PRODUCT_FROM_DATABASE=Sono S10
-
-pci:v0000102Bd00002537sv0000102Bsd00001C10*
- ID_PRODUCT_FROM_DATABASE=QID 128MB
-
-pci:v0000102Bd00002537sv0000102Bsd00002811*
- ID_PRODUCT_FROM_DATABASE=Millennium P650 Low-profile PCI 64MB
-
-pci:v0000102Bd00002537sv0000102Bsd00002821*
- ID_PRODUCT_FROM_DATABASE=Millenium P650 Low-profile PCI
-
-pci:v0000102Bd00002537sv0000102Bsd00002841*
- ID_PRODUCT_FROM_DATABASE=RAD PCI
-
-pci:v0000102Bd00002537sv0000102Bsd00002851*
- ID_PRODUCT_FROM_DATABASE=Spectrum PCI
-
-pci:v0000102Bd00002537sv0000102Bsd00002871*
- ID_PRODUCT_FROM_DATABASE=EpicA TC2
-
-pci:v0000102Bd00002537sv0000102Bsd00002C11*
- ID_PRODUCT_FROM_DATABASE=QID Low-profile PCI
-
-pci:v0000102Bd00002537sv0000102Bsd00002C21*
- ID_PRODUCT_FROM_DATABASE=QID LP PCI LW
-
-pci:v0000102Bd00002537sv0000102Bsd00002C31*
- ID_PRODUCT_FROM_DATABASE=QID LP PCI
-
-pci:v0000102Bd00002537sv0000102Bsd00002C41*
- ID_PRODUCT_FROM_DATABASE=EpicA TC4
-
-pci:v0000102Bd00002537sv0000102Bsd00003001*
- ID_PRODUCT_FROM_DATABASE=Extio F1400
-
-pci:v0000102Bd00002537sv0000102Bsd00003011*
- ID_PRODUCT_FROM_DATABASE=Extio F1220
-
-pci:v0000102Bd00002537sv0000102Bsd00003041*
- ID_PRODUCT_FROM_DATABASE=RG-200DL
-
-pci:v0000102Bd00002537sv0000102Bsd00003051*
- ID_PRODUCT_FROM_DATABASE=RG-400SL
-
-pci:v0000102Bd00002537sv0000102Bsd00003061*
- ID_PRODUCT_FROM_DATABASE=Extio F1420
-
-pci:v0000102Bd00002537sv0000102Bsd00003081*
- ID_PRODUCT_FROM_DATABASE=Extio F1240
-
-pci:v0000102Bd00002538*
- ID_PRODUCT_FROM_DATABASE=Millenium P650 PCIe
-
-pci:v0000102Bd00002538sv0000102Bsd00000847*
- ID_PRODUCT_FROM_DATABASE=RAD PCIe
-
-pci:v0000102Bd00002538sv0000102Bsd000008C7*
- ID_PRODUCT_FROM_DATABASE=Millennium P650 PCIe 128MB
-
-pci:v0000102Bd00002538sv0000102Bsd00000907*
- ID_PRODUCT_FROM_DATABASE=Millennium P650 PCIe 64MB
-
-pci:v0000102Bd00002538sv0000102Bsd00000947*
- ID_PRODUCT_FROM_DATABASE=Parhelia APVe
-
-pci:v0000102Bd00002538sv0000102Bsd00000987*
- ID_PRODUCT_FROM_DATABASE=ATC PCIe 4MP
-
-pci:v0000102Bd00002538sv0000102Bsd00001047*
- ID_PRODUCT_FROM_DATABASE=Millennium P650 LP PCIe 128MB
-
-pci:v0000102Bd00002538sv0000102Bsd00001087*
- ID_PRODUCT_FROM_DATABASE=Millennium P650 LP PCIe 64MB
-
-pci:v0000102Bd00002538sv0000102Bsd00001801*
- ID_PRODUCT_FROM_DATABASE=Millenium P650 PCIe x1
-
-pci:v0000102Bd00002538sv0000102Bsd00002538*
- ID_PRODUCT_FROM_DATABASE=Parhelia APVe
-
-pci:v0000102Bd00002538sv0000102Bsd00003007*
- ID_PRODUCT_FROM_DATABASE=QID Low-profile PCIe
-
-pci:v0000102Bd00002538sv0000102Bsd00003087*
- ID_PRODUCT_FROM_DATABASE=Aurora VX3mp
-
-pci:v0000102Bd00002538sv0000102Bsd000030C7*
- ID_PRODUCT_FROM_DATABASE=QID LP PCIe
-
-pci:v0000102Bd00002539*
- ID_PRODUCT_FROM_DATABASE=Millennium P690
-
-pci:v0000102Bd00002539sv0000102Bsd00000040*
- ID_PRODUCT_FROM_DATABASE=Millenium P690 PCIe x16
-
-pci:v0000102Bd00002539sv0000102Bsd00000042*
- ID_PRODUCT_FROM_DATABASE=ONYX
-
-pci:v0000102Bd00002539sv0000102Bsd00000043*
- ID_PRODUCT_FROM_DATABASE=SPECTRA
-
-pci:v0000102Bd00002539sv0000102Bsd00000080*
- ID_PRODUCT_FROM_DATABASE=Millenium P690 Plus LP PCIe x16
-
-pci:v0000102Bd00002539sv0000102Bsd00000081*
- ID_PRODUCT_FROM_DATABASE=Millenium P690 LP PCIe x16
-
-pci:v0000102Bd00002539sv0000102Bsd00000082*
- ID_PRODUCT_FROM_DATABASE=RAD LPX PCIe x16
-
-pci:v0000102Bd00002539sv0000102Bsd000000C0*
- ID_PRODUCT_FROM_DATABASE=Millenium P690 Plus LP PCI
-
-pci:v0000102Bd00002539sv0000102Bsd000000C2*
- ID_PRODUCT_FROM_DATABASE=Millenium P690 LP PCI
-
-pci:v0000102Bd00002539sv0000102Bsd000000C3*
- ID_PRODUCT_FROM_DATABASE=RAD LPX PCI
-
-pci:v0000102Bd00002539sv0000102Bsd00000101*
- ID_PRODUCT_FROM_DATABASE=Millenium P690 PCI
-
-pci:v0000102Bd00002539sv0000102Bsd00000140*
- ID_PRODUCT_FROM_DATABASE=Millenium P690 LP PCIe x1
-
-pci:v0000102Bd00002539sv0000102Bsd00000180*
- ID_PRODUCT_FROM_DATABASE=Display Wall IP Decode 128 MB
-
-pci:v0000102Bd00004164*
- ID_PRODUCT_FROM_DATABASE=Morphis QxT frame grabber
-
-pci:v0000102Bd000043B4*
- ID_PRODUCT_FROM_DATABASE=Morphis Qxt encoding engine
-
-pci:v0000102Bd00004510*
- ID_PRODUCT_FROM_DATABASE=Morphis COM port
-
-pci:v0000102Bd00004536*
- ID_PRODUCT_FROM_DATABASE=VIA Framegrabber
-
-pci:v0000102Bd00004686*
- ID_PRODUCT_FROM_DATABASE=Concord GX (customized Intel 82541)
-
-pci:v0000102Bd0000475B*
- ID_PRODUCT_FROM_DATABASE=Solios eCL/XCL-B frame grabber
-
-pci:v0000102Bd0000475D*
- ID_PRODUCT_FROM_DATABASE=Vio frame grabber family
-
-pci:v0000102Bd0000475Dsv0000102Bsd00004B90*
- ID_PRODUCT_FROM_DATABASE=Vio Duo frame grabber (single channel)
-
-pci:v0000102Bd0000475Dsv0000102Bsd00004B91*
- ID_PRODUCT_FROM_DATABASE=Vio Duo frame grabber
-
-pci:v0000102Bd0000475Dsv0000102Bsd00004B92*
- ID_PRODUCT_FROM_DATABASE=Vio Analog frame grabber
-
-pci:v0000102Bd0000475Dsv0000102Bsd00004B93*
- ID_PRODUCT_FROM_DATABASE=Vio SDI Frame Grabber
-
-pci:v0000102Bd0000475Dsv0000102Bsd00004B94*
- ID_PRODUCT_FROM_DATABASE=Vio DVI-A frame grabber
-
-pci:v0000102Bd0000475F*
- ID_PRODUCT_FROM_DATABASE=Solios (single-Full) CL frame grabber
-
-pci:v0000102Bd0000475Fsv0000102Bsd0000475F*
- ID_PRODUCT_FROM_DATABASE=Solios eCL/XCL-F frame grabber
-
-pci:v0000102Bd0000475Fsv0000102Bsd00004D5F*
- ID_PRODUCT_FROM_DATABASE=Solios eV-CL (single-Full) frame grabber
-
-pci:v0000102Bd0000475Fsv0000102Bsd00004E5F*
- ID_PRODUCT_FROM_DATABASE=Solios eM-CL (single-Full) frame grabber
-
-pci:v0000102Bd000047A1*
- ID_PRODUCT_FROM_DATABASE=Solios eA/XA frame grabber
-
-pci:v0000102Bd000047A1sv0000102Bsd00004BE0*
- ID_PRODUCT_FROM_DATABASE=Solios eA/XA (single) frame grabber
-
-pci:v0000102Bd000047A1sv0000102Bsd00004BE1*
- ID_PRODUCT_FROM_DATABASE=Solios eA/XA (dual) frame grabber
-
-pci:v0000102Bd000047A1sv0000102Bsd00004BE2*
- ID_PRODUCT_FROM_DATABASE=Solios eA/XA (quad) frame grabber
-
-pci:v0000102Bd000047A2*
- ID_PRODUCT_FROM_DATABASE=Solios COM port
-
-pci:v0000102Bd000047C1*
- ID_PRODUCT_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber
-
-pci:v0000102Bd000047C1sv0000102Bsd00000000*
- ID_PRODUCT_FROM_DATABASE=Solios frame grabber
-
-pci:v0000102Bd000047C1sv0000102Bsd00004B80*
- ID_PRODUCT_FROM_DATABASE=Solios eCL/XCL (single-Medium) frame grabber
-
-pci:v0000102Bd000047C1sv0000102Bsd00004B81*
- ID_PRODUCT_FROM_DATABASE=Solios eCL/XCL (dual-Base) frame grabber
-
-pci:v0000102Bd000047C1sv0000102Bsd00004D80*
- ID_PRODUCT_FROM_DATABASE=Solios eV-CL (single-Medium) frame grabber
-
-pci:v0000102Bd000047C1sv0000102Bsd00004D81*
- ID_PRODUCT_FROM_DATABASE=Solios eV-CL (dual-Base) frame grabber
-
-pci:v0000102Bd000047C1sv0000102Bsd00004E80*
- ID_PRODUCT_FROM_DATABASE=Solios eM-CL (single-Medium) frame grabber
-
-pci:v0000102Bd000047C1sv0000102Bsd00004E81*
- ID_PRODUCT_FROM_DATABASE=Solios eM-CL (dual-Base) frame grabber
-
-pci:v0000102Bd000047C2*
- ID_PRODUCT_FROM_DATABASE=Solios COM port
-
-pci:v0000102Bd00004949*
- ID_PRODUCT_FROM_DATABASE=Radient frame grabber family
-
-pci:v0000102Bd00004949sv0000102Bsd00000010*
- ID_PRODUCT_FROM_DATABASE=Radient eCL (Single-full) frame grabber
-
-pci:v0000102Bd00004949sv0000102Bsd00000020*
- ID_PRODUCT_FROM_DATABASE=Radient eCL (Dual-base) frame grabber
-
-pci:v0000102Bd00004949sv0000102Bsd00000030*
- ID_PRODUCT_FROM_DATABASE=Radient eCL (Dual-full) frame grabber
-
-pci:v0000102Bd00004949sv0000102Bsd00000040*
- ID_PRODUCT_FROM_DATABASE=Radient eCL (Quad-base) frame grabber
-
-pci:v0000102Bd00004949sv0000102Bsd00000050*
- ID_PRODUCT_FROM_DATABASE=Radient eCL (Golden) frame grabber
-
-pci:v0000102Bd00004CDC*
- ID_PRODUCT_FROM_DATABASE=Morphis JPEG2000 accelerator
-
-pci:v0000102Bd00004F54*
- ID_PRODUCT_FROM_DATABASE=Morphis (e)Quad frame grabber
-
-pci:v0000102Bd00004FC5*
- ID_PRODUCT_FROM_DATABASE=Morphis (e)Dual frame grabber
-
-pci:v0000102Bd00005E10*
- ID_PRODUCT_FROM_DATABASE=Morphis aux I/O
-
-pci:v0000102Bd00006573*
- ID_PRODUCT_FROM_DATABASE=Shark 10/100 Multiport SwitchNIC
-
-pci:v0000102C*
- ID_VENDOR_FROM_DATABASE=Chips and Technologies
-
-pci:v0000102Cd000000B8*
- ID_PRODUCT_FROM_DATABASE=F64310
-
-pci:v0000102Cd000000C0*
- ID_PRODUCT_FROM_DATABASE=F69000 HiQVideo
-
-pci:v0000102Cd000000C0sv0000102Csd000000C0*
- ID_PRODUCT_FROM_DATABASE=F69000 HiQVideo
-
-pci:v0000102Cd000000C0sv00004C53sd00001000*
- ID_PRODUCT_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard
-
-pci:v0000102Cd000000C0sv00004C53sd00001010*
- ID_PRODUCT_FROM_DATABASE=CP5/CR6 mainboard
-
-pci:v0000102Cd000000C0sv00004C53sd00001020*
- ID_PRODUCT_FROM_DATABASE=VR6 mainboard
-
-pci:v0000102Cd000000C0sv00004C53sd00001030*
- ID_PRODUCT_FROM_DATABASE=PC5 mainboard
-
-pci:v0000102Cd000000C0sv00004C53sd00001050*
- ID_PRODUCT_FROM_DATABASE=CT7 mainboard
-
-pci:v0000102Cd000000C0sv00004C53sd00001051*
- ID_PRODUCT_FROM_DATABASE=CE7 mainboard
-
-pci:v0000102Cd000000D0*
- ID_PRODUCT_FROM_DATABASE=F65545
-
-pci:v0000102Cd000000D8*
- ID_PRODUCT_FROM_DATABASE=F65545
-
-pci:v0000102Cd000000DC*
- ID_PRODUCT_FROM_DATABASE=F65548
-
-pci:v0000102Cd000000E0*
- ID_PRODUCT_FROM_DATABASE=F65550
-
-pci:v0000102Cd000000E4*
- ID_PRODUCT_FROM_DATABASE=F65554
-
-pci:v0000102Cd000000E5*
- ID_PRODUCT_FROM_DATABASE=F65555 HiQVPro
-
-pci:v0000102Cd000000E5sv00000E11sd0000B049*
- ID_PRODUCT_FROM_DATABASE=Armada 1700 Laptop Display Controller
-
-pci:v0000102Cd000000E5sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Satellite Pro/Satellite
-
-pci:v0000102Cd000000F0*
- ID_PRODUCT_FROM_DATABASE=F68554
-
-pci:v0000102Cd000000F4*
- ID_PRODUCT_FROM_DATABASE=F68554 HiQVision
-
-pci:v0000102Cd000000F5*
- ID_PRODUCT_FROM_DATABASE=F68555
-
-pci:v0000102Cd00000C30*
- ID_PRODUCT_FROM_DATABASE=F69030
-
-pci:v0000102Cd00000C30sv00004C53sd00001000*
- ID_PRODUCT_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard
-
-pci:v0000102Cd00000C30sv00004C53sd00001050*
- ID_PRODUCT_FROM_DATABASE=CT7 mainboard
-
-pci:v0000102Cd00000C30sv00004C53sd00001051*
- ID_PRODUCT_FROM_DATABASE=CE7 mainboard
-
-pci:v0000102Cd00000C30sv00004C53sd00001080*
- ID_PRODUCT_FROM_DATABASE=CT8 mainboard
-
-pci:v0000102D*
- ID_VENDOR_FROM_DATABASE=Wyse Technology Inc.
-
-pci:v0000102Dd000050DC*
- ID_PRODUCT_FROM_DATABASE=3328 Audio
-
-pci:v0000102E*
- ID_VENDOR_FROM_DATABASE=Olivetti Advanced Technology
-
-pci:v0000102F*
- ID_VENDOR_FROM_DATABASE=Toshiba America
-
-pci:v0000102Fd00000009*
- ID_PRODUCT_FROM_DATABASE=r4x00
-
-pci:v0000102Fd0000000A*
- ID_PRODUCT_FROM_DATABASE=TX3927 MIPS RISC PCI Controller
-
-pci:v0000102Fd00000020*
- ID_PRODUCT_FROM_DATABASE=ATM Meteor 155
-
-pci:v0000102Fd00000020sv0000102Fsd000000F8*
- ID_PRODUCT_FROM_DATABASE=ATM Meteor 155
-
-pci:v0000102Fd00000030*
- ID_PRODUCT_FROM_DATABASE=TC35815CF PCI 10/100 Mbit Ethernet Controller
-
-pci:v0000102Fd00000031*
- ID_PRODUCT_FROM_DATABASE=TC35815CF PCI 10/100 Mbit Ethernet Controller with WOL
-
-pci:v0000102Fd00000032*
- ID_PRODUCT_FROM_DATABASE=TC35815CF PCI 10/100 Mbit Ethernet Controller on TX4939
-
-pci:v0000102Fd00000105*
- ID_PRODUCT_FROM_DATABASE=TC86C001 [goku-s] IDE
-
-pci:v0000102Fd00000106*
- ID_PRODUCT_FROM_DATABASE=TC86C001 [goku-s] USB 1.1 Host
-
-pci:v0000102Fd00000107*
- ID_PRODUCT_FROM_DATABASE=TC86C001 [goku-s] USB Device Controller
-
-pci:v0000102Fd00000108*
- ID_PRODUCT_FROM_DATABASE=TC86C001 [goku-s] I2C/SIO/GPIO Controller
-
-pci:v0000102Fd00000180*
- ID_PRODUCT_FROM_DATABASE=TX4927/38 MIPS RISC PCI Controller
-
-pci:v0000102Fd00000181*
- ID_PRODUCT_FROM_DATABASE=TX4925 MIPS RISC PCI Controller
-
-pci:v0000102Fd00000182*
- ID_PRODUCT_FROM_DATABASE=TX4937 MIPS RISC PCI Controller
-
-pci:v0000102Fd000001B4*
- ID_PRODUCT_FROM_DATABASE=Celleb platform IDE interface
-
-pci:v0000102Fd000001B5*
- ID_PRODUCT_FROM_DATABASE=SCC USB 2.0 EHCI controller
-
-pci:v0000102Fd000001B6*
- ID_PRODUCT_FROM_DATABASE=SCC USB 1.1 OHCI controller
-
-pci:v00001030*
- ID_VENDOR_FROM_DATABASE=TMC Research
-
-pci:v00001031*
- ID_VENDOR_FROM_DATABASE=Miro Computer Products AG
-
-pci:v00001031d00005601*
- ID_PRODUCT_FROM_DATABASE=DC20 ASIC
-
-pci:v00001031d00005607*
- ID_PRODUCT_FROM_DATABASE=Video I/O & motion JPEG compressor
-
-pci:v00001031d00005631*
- ID_PRODUCT_FROM_DATABASE=Media 3D
-
-pci:v00001031d00006057*
- ID_PRODUCT_FROM_DATABASE=MiroVideo DC10/DC30+
-
-pci:v00001032*
- ID_VENDOR_FROM_DATABASE=Compaq
-
-pci:v00001033*
- ID_VENDOR_FROM_DATABASE=NEC Corporation
-
-pci:v00001033d00000000*
- ID_PRODUCT_FROM_DATABASE=Vr4181A USB Host or Function Control Unit
-
-pci:v00001033d00000001*
- ID_PRODUCT_FROM_DATABASE=PCI to 486-like bus Bridge
-
-pci:v00001033d00000002*
- ID_PRODUCT_FROM_DATABASE=PCI to VL98 Bridge
-
-pci:v00001033d00000003*
- ID_PRODUCT_FROM_DATABASE=ATM Controller
-
-pci:v00001033d00000004*
- ID_PRODUCT_FROM_DATABASE=R4000 PCI Bridge
-
-pci:v00001033d00000005*
- ID_PRODUCT_FROM_DATABASE=PCI to 486-like bus Bridge
-
-pci:v00001033d00000006*
- ID_PRODUCT_FROM_DATABASE=PC-9800 Graphic Accelerator
-
-pci:v00001033d00000007*
- ID_PRODUCT_FROM_DATABASE=PCI to UX-Bus Bridge
-
-pci:v00001033d00000008*
- ID_PRODUCT_FROM_DATABASE=PC-9800 Graphic Accelerator
-
-pci:v00001033d00000009*
- ID_PRODUCT_FROM_DATABASE=PCI to PC9800 Core-Graph Bridge
-
-pci:v00001033d00000016*
- ID_PRODUCT_FROM_DATABASE=PCI to VL Bridge
-
-pci:v00001033d0000001A*
- ID_PRODUCT_FROM_DATABASE=[Nile II]
-
-pci:v00001033d00000021*
- ID_PRODUCT_FROM_DATABASE=Vrc4373 [Nile I]
-
-pci:v00001033d00000029*
- ID_PRODUCT_FROM_DATABASE=PowerVR PCX1
-
-pci:v00001033d0000002A*
- ID_PRODUCT_FROM_DATABASE=PowerVR 3D
-
-pci:v00001033d0000002C*
- ID_PRODUCT_FROM_DATABASE=Star Alpha 2
-
-pci:v00001033d0000002D*
- ID_PRODUCT_FROM_DATABASE=PCI to C-bus Bridge
-
-pci:v00001033d00000035*
- ID_PRODUCT_FROM_DATABASE=USB
-
-pci:v00001033d00000035sv00001033sd00000035*
- ID_PRODUCT_FROM_DATABASE=Hama USB 2.0 CardBus
-
-pci:v00001033d00000035sv0000103Csd00001293*
- ID_PRODUCT_FROM_DATABASE=USB add-in card
-
-pci:v00001033d00000035sv0000103Csd00001294*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 add-in card
-
-pci:v00001033d00000035sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=USB
-
-pci:v00001033d00000035sv000012EEsd00007000*
- ID_PRODUCT_FROM_DATABASE=Root Hub
-
-pci:v00001033d00000035sv000014C2sd00000105*
- ID_PRODUCT_FROM_DATABASE=PTI-205N USB 2.0 Host Controller
-
-pci:v00001033d00000035sv00001799sd00000001*
- ID_PRODUCT_FROM_DATABASE=Root Hub
-
-pci:v00001033d00000035sv00001931sd0000000A*
- ID_PRODUCT_FROM_DATABASE=GlobeTrotter Fusion Quad Lite (PPP data)
-
-pci:v00001033d00000035sv00001931sd0000000B*
- ID_PRODUCT_FROM_DATABASE=GlobeTrotter Fusion Quad Lite (GSM data)
-
-pci:v00001033d00000035sv0000807Dsd00000035*
- ID_PRODUCT_FROM_DATABASE=PCI-USB2 (OHCI subsystem)
-
-pci:v00001033d0000003B*
- ID_PRODUCT_FROM_DATABASE=PCI to C-bus Bridge
-
-pci:v00001033d0000003E*
- ID_PRODUCT_FROM_DATABASE=NAPCCARD Cardbus Controller
-
-pci:v00001033d00000046*
- ID_PRODUCT_FROM_DATABASE=PowerVR PCX2 [midas]
-
-pci:v00001033d0000005A*
- ID_PRODUCT_FROM_DATABASE=Vrc5074 [Nile 4]
-
-pci:v00001033d00000063*
- ID_PRODUCT_FROM_DATABASE=uPD72862 [Firewarden] IEEE1394 OHCI 1.0 Link Controller
-
-pci:v00001033d00000067*
- ID_PRODUCT_FROM_DATABASE=PowerVR Neon 250 Chipset
-
-pci:v00001033d00000067sv00001010sd00000020*
- ID_PRODUCT_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb
-
-pci:v00001033d00000067sv00001010sd00000080*
- ID_PRODUCT_FROM_DATABASE=PowerVR Neon 250 AGP 16Mb
-
-pci:v00001033d00000067sv00001010sd00000088*
- ID_PRODUCT_FROM_DATABASE=PowerVR Neon 250 16Mb
-
-pci:v00001033d00000067sv00001010sd00000090*
- ID_PRODUCT_FROM_DATABASE=PowerVR Neon 250 AGP 16Mb
-
-pci:v00001033d00000067sv00001010sd00000098*
- ID_PRODUCT_FROM_DATABASE=PowerVR Neon 250 16Mb
-
-pci:v00001033d00000067sv00001010sd000000A0*
- ID_PRODUCT_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb
-
-pci:v00001033d00000067sv00001010sd000000A8*
- ID_PRODUCT_FROM_DATABASE=PowerVR Neon 250 32Mb
-
-pci:v00001033d00000067sv00001010sd00000120*
- ID_PRODUCT_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb
-
-pci:v00001033d00000072*
- ID_PRODUCT_FROM_DATABASE=uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr
-
-pci:v00001033d00000074*
- ID_PRODUCT_FROM_DATABASE=56k Voice Modem
-
-pci:v00001033d00000074sv00001033sd00008014*
- ID_PRODUCT_FROM_DATABASE=RCV56ACF 56k Voice Modem
-
-pci:v00001033d0000009B*
- ID_PRODUCT_FROM_DATABASE=Vrc5476
-
-pci:v00001033d000000A5*
- ID_PRODUCT_FROM_DATABASE=VRC4173
-
-pci:v00001033d000000A6*
- ID_PRODUCT_FROM_DATABASE=VRC5477 AC97
-
-pci:v00001033d000000CD*
- ID_PRODUCT_FROM_DATABASE=uPD72870 [Firewarden] IEEE1394a OHCI 1.0 Link/3-port PHY Controller
-
-pci:v00001033d000000CDsv000012EEsd00008011*
- ID_PRODUCT_FROM_DATABASE=Root hub
-
-pci:v00001033d000000CE*
- ID_PRODUCT_FROM_DATABASE=uPD72871 [Firewarden] IEEE1394a OHCI 1.0 Link/1-port PHY Controller
-
-pci:v00001033d000000DF*
- ID_PRODUCT_FROM_DATABASE=Vr4131
-
-pci:v00001033d000000E0*
- ID_PRODUCT_FROM_DATABASE=USB 2.0
-
-pci:v00001033d000000E0sv000012EEsd00007001*
- ID_PRODUCT_FROM_DATABASE=Root hub
-
-pci:v00001033d000000E0sv000014C2sd00000205*
- ID_PRODUCT_FROM_DATABASE=PTI-205N USB 2.0 Host Controller
-
-pci:v00001033d000000E0sv00001799sd00000002*
- ID_PRODUCT_FROM_DATABASE=Root Hub
-
-pci:v00001033d000000E0sv0000807Dsd00001043*
- ID_PRODUCT_FROM_DATABASE=PCI-USB2 (EHCI subsystem)
-
-pci:v00001033d000000E7*
- ID_PRODUCT_FROM_DATABASE=uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller
-
-pci:v00001033d000000F2*
- ID_PRODUCT_FROM_DATABASE=uPD72874 [Firewarden] IEEE1394a OHCI 1.1 Link/3-port PHY Controller
-
-pci:v00001033d000000F3*
- ID_PRODUCT_FROM_DATABASE=uPD6113x Multimedia Decoder/Processor [EMMA2]
-
-pci:v00001033d0000010C*
- ID_PRODUCT_FROM_DATABASE=VR7701
-
-pci:v00001033d00000125*
- ID_PRODUCT_FROM_DATABASE=uPD720400 PCI Express - PCI/PCI-X Bridge
-
-pci:v00001033d0000013A*
- ID_PRODUCT_FROM_DATABASE=Dual Tuner/MPEG Encoder
-
-pci:v00001033d00000194*
- ID_PRODUCT_FROM_DATABASE=uPD720200 USB 3.0 Host Controller
-
-pci:v00001033d00000194sv00001028sd000004B2*
- ID_PRODUCT_FROM_DATABASE=Vostro 3350
-
-pci:v00001033d00000194sv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00001033d00000194sv00001043sd00008413*
- ID_PRODUCT_FROM_DATABASE=P8P67 Deluxe Motherboard
-
-pci:v00001033d00000194sv00001B96sd00000001*
- ID_PRODUCT_FROM_DATABASE=USB 3.0 PCIe Card
-
-pci:v00001033d000001E7*
- ID_PRODUCT_FROM_DATABASE=uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller
-
-pci:v00001033d000001F2*
- ID_PRODUCT_FROM_DATABASE=uPD72874 [Firewarden] IEEE1394a OHCI 1.1 Link/3-port PHY Controller
-
-pci:v00001034*
- ID_VENDOR_FROM_DATABASE=Framatome Connectors USA Inc.
-
-pci:v00001035*
- ID_VENDOR_FROM_DATABASE=Comp. & Comm. Research Lab
-
-pci:v00001036*
- ID_VENDOR_FROM_DATABASE=Future Domain Corp.
-
-pci:v00001036d00000000*
- ID_PRODUCT_FROM_DATABASE=TMC-18C30 [36C70]
-
-pci:v00001037*
- ID_VENDOR_FROM_DATABASE=Hitachi Micro Systems
-
-pci:v00001038*
- ID_VENDOR_FROM_DATABASE=AMP, Inc
-
-pci:v00001039*
- ID_VENDOR_FROM_DATABASE=Silicon Integrated Systems [SiS]
-
-pci:v00001039d00000001*
- ID_PRODUCT_FROM_DATABASE=AGP Port (virtual PCI-to-PCI bridge)
-
-pci:v00001039d00000002*
- ID_PRODUCT_FROM_DATABASE=AGP Port (virtual PCI-to-PCI bridge)
-
-pci:v00001039d00000003*
- ID_PRODUCT_FROM_DATABASE=AGP Port (virtual PCI-to-PCI bridge)
-
-pci:v00001039d00000004*
- ID_PRODUCT_FROM_DATABASE=PCI-to-PCI bridge
-
-pci:v00001039d00000006*
- ID_PRODUCT_FROM_DATABASE=85C501/2/3
-
-pci:v00001039d00000008*
- ID_PRODUCT_FROM_DATABASE=SiS85C503/5513 (LPC Bridge)
-
-pci:v00001039d00000009*
- ID_PRODUCT_FROM_DATABASE=5595 Power Management Controller
-
-pci:v00001039d0000000A*
- ID_PRODUCT_FROM_DATABASE=PCI-to-PCI bridge
-
-pci:v00001039d00000016*
- ID_PRODUCT_FROM_DATABASE=SiS961/2/3 SMBus controller
-
-pci:v00001039d00000018*
- ID_PRODUCT_FROM_DATABASE=SiS85C503/5513 (LPC Bridge)
-
-pci:v00001039d00000180*
- ID_PRODUCT_FROM_DATABASE=RAID bus controller 180 SATA/PATA [SiS]
-
-pci:v00001039d00000181*
- ID_PRODUCT_FROM_DATABASE=SATA
-
-pci:v00001039d00000182*
- ID_PRODUCT_FROM_DATABASE=182 SATA/RAID Controller
-
-pci:v00001039d00000182sv00001734sd00001095*
- ID_PRODUCT_FROM_DATABASE=D2030-A1
-
-pci:v00001039d00000186*
- ID_PRODUCT_FROM_DATABASE=AHCI Controller (0106)
-
-pci:v00001039d00000190*
- ID_PRODUCT_FROM_DATABASE=190 Ethernet Adapter
-
-pci:v00001039d00000191*
- ID_PRODUCT_FROM_DATABASE=191 Gigabit Ethernet Adapter
-
-pci:v00001039d00000200*
- ID_PRODUCT_FROM_DATABASE=5597/5598/6326 VGA
-
-pci:v00001039d00000200sv00001039sd00000000*
- ID_PRODUCT_FROM_DATABASE=SiS5597 SVGA (Shared RAM)
-
-pci:v00001039d00000204*
- ID_PRODUCT_FROM_DATABASE=82C204
-
-pci:v00001039d00000205*
- ID_PRODUCT_FROM_DATABASE=SG86C205
-
-pci:v00001039d00000300*
- ID_PRODUCT_FROM_DATABASE=300/305 PCI/AGP VGA Display Adapter
-
-pci:v00001039d00000300sv0000107Dsd00002720*
- ID_PRODUCT_FROM_DATABASE=Leadtek WinFast VR300
-
-pci:v00001039d00000310*
- ID_PRODUCT_FROM_DATABASE=315H PCI/AGP VGA Display Adapter
-
-pci:v00001039d00000315*
- ID_PRODUCT_FROM_DATABASE=315 PCI/AGP VGA Display Adapter
-
-pci:v00001039d00000325*
- ID_PRODUCT_FROM_DATABASE=315PRO PCI/AGP VGA Display Adapter
-
-pci:v00001039d00000330*
- ID_PRODUCT_FROM_DATABASE=330 [Xabre] PCI/AGP VGA Display Adapter
-
-pci:v00001039d00000406*
- ID_PRODUCT_FROM_DATABASE=85C501/2
-
-pci:v00001039d00000496*
- ID_PRODUCT_FROM_DATABASE=85C496
-
-pci:v00001039d00000530*
- ID_PRODUCT_FROM_DATABASE=530 Host
-
-pci:v00001039d00000540*
- ID_PRODUCT_FROM_DATABASE=540 Host
-
-pci:v00001039d00000550*
- ID_PRODUCT_FROM_DATABASE=550 Host
-
-pci:v00001039d00000597*
- ID_PRODUCT_FROM_DATABASE=5513C
-
-pci:v00001039d00000601*
- ID_PRODUCT_FROM_DATABASE=85C601
-
-pci:v00001039d00000620*
- ID_PRODUCT_FROM_DATABASE=620 Host
-
-pci:v00001039d00000630*
- ID_PRODUCT_FROM_DATABASE=630 Host
-
-pci:v00001039d00000633*
- ID_PRODUCT_FROM_DATABASE=633 Host
-
-pci:v00001039d00000635*
- ID_PRODUCT_FROM_DATABASE=635 Host
-
-pci:v00001039d00000645*
- ID_PRODUCT_FROM_DATABASE=SiS645 Host & Memory & AGP Controller
-
-pci:v00001039d00000646*
- ID_PRODUCT_FROM_DATABASE=SiS645DX Host & Memory & AGP Controller
-
-pci:v00001039d00000648*
- ID_PRODUCT_FROM_DATABASE=645xx
-
-pci:v00001039d00000649*
- ID_PRODUCT_FROM_DATABASE=SiS649 Host
-
-pci:v00001039d00000650*
- ID_PRODUCT_FROM_DATABASE=650/M650 Host
-
-pci:v00001039d00000651*
- ID_PRODUCT_FROM_DATABASE=651 Host
-
-pci:v00001039d00000655*
- ID_PRODUCT_FROM_DATABASE=655 Host
-
-pci:v00001039d00000660*
- ID_PRODUCT_FROM_DATABASE=660 Host
-
-pci:v00001039d00000661*
- ID_PRODUCT_FROM_DATABASE=661FX/M661FX/M661MX Host
-
-pci:v00001039d00000662*
- ID_PRODUCT_FROM_DATABASE=662 Host
-
-pci:v00001039d00000671*
- ID_PRODUCT_FROM_DATABASE=671MX
-
-pci:v00001039d00000730*
- ID_PRODUCT_FROM_DATABASE=730 Host
-
-pci:v00001039d00000733*
- ID_PRODUCT_FROM_DATABASE=733 Host
-
-pci:v00001039d00000735*
- ID_PRODUCT_FROM_DATABASE=735 Host
-
-pci:v00001039d00000740*
- ID_PRODUCT_FROM_DATABASE=740 Host
-
-pci:v00001039d00000741*
- ID_PRODUCT_FROM_DATABASE=741/741GX/M741 Host
-
-pci:v00001039d00000741sv00001849sd00000741*
- ID_PRODUCT_FROM_DATABASE=K7S41/K7S41GX motherboard
-
-pci:v00001039d00000745*
- ID_PRODUCT_FROM_DATABASE=745 Host
-
-pci:v00001039d00000746*
- ID_PRODUCT_FROM_DATABASE=746 Host
-
-pci:v00001039d00000755*
- ID_PRODUCT_FROM_DATABASE=755 Host
-
-pci:v00001039d00000760*
- ID_PRODUCT_FROM_DATABASE=760/M760 Host
-
-pci:v00001039d00000761*
- ID_PRODUCT_FROM_DATABASE=761/M761 Host
-
-pci:v00001039d00000761sv00001734sd00001099*
- ID_PRODUCT_FROM_DATABASE=D2030-A1 Motherboard
-
-pci:v00001039d00000900*
- ID_PRODUCT_FROM_DATABASE=SiS900 PCI Fast Ethernet
-
-pci:v00001039d00000900sv00001019sd00000A14*
- ID_PRODUCT_FROM_DATABASE=K7S5A motherboard
-
-pci:v00001039d00000900sv00001039sd00000900*
- ID_PRODUCT_FROM_DATABASE=SiS900 10/100 Ethernet Adapter onboard [Asus P4SC-EA]
-
-pci:v00001039d00000900sv00001043sd00008035*
- ID_PRODUCT_FROM_DATABASE=CUSI-FX motherboard
-
-pci:v00001039d00000900sv00001043sd000080A7*
- ID_PRODUCT_FROM_DATABASE=Motherboard P4S800D-X
-
-pci:v00001039d00000900sv00001462sd00000900*
- ID_PRODUCT_FROM_DATABASE=MS-6701 motherboard
-
-pci:v00001039d00000961*
- ID_PRODUCT_FROM_DATABASE=SiS961 [MuTIOL Media IO]
-
-pci:v00001039d00000962*
- ID_PRODUCT_FROM_DATABASE=SiS962 [MuTIOL Media IO] LPC Controller
-
-pci:v00001039d00000963*
- ID_PRODUCT_FROM_DATABASE=SiS963 [MuTIOL Media IO] LPC Controller
-
-pci:v00001039d00000964*
- ID_PRODUCT_FROM_DATABASE=SiS964 [MuTIOL Media IO] LPC Controller
-
-pci:v00001039d00000965*
- ID_PRODUCT_FROM_DATABASE=SiS965 [MuTIOL Media IO]
-
-pci:v00001039d00000966*
- ID_PRODUCT_FROM_DATABASE=SiS966 [MuTIOL Media IO]
-
-pci:v00001039d00000968*
- ID_PRODUCT_FROM_DATABASE=SiS968 [MuTIOL Media IO]
-
-pci:v00001039d00001180*
- ID_PRODUCT_FROM_DATABASE=SATA Controller / IDE mode
-
-pci:v00001039d00001182*
- ID_PRODUCT_FROM_DATABASE=SATA Controller / RAID mode
-
-pci:v00001039d00001183*
- ID_PRODUCT_FROM_DATABASE=SATA Controller / IDE mode
-
-pci:v00001039d00001184*
- ID_PRODUCT_FROM_DATABASE=AHCI Controller / RAID mode
-
-pci:v00001039d00001185*
- ID_PRODUCT_FROM_DATABASE=AHCI IDE Controller (0106)
-
-pci:v00001039d00003602*
- ID_PRODUCT_FROM_DATABASE=83C602
-
-pci:v00001039d00005107*
- ID_PRODUCT_FROM_DATABASE=5107
-
-pci:v00001039d00005300*
- ID_PRODUCT_FROM_DATABASE=SiS540 PCI Display Adapter
-
-pci:v00001039d00005315*
- ID_PRODUCT_FROM_DATABASE=550 PCI/AGP VGA Display Adapter
-
-pci:v00001039d00005401*
- ID_PRODUCT_FROM_DATABASE=486 PCI Chipset
-
-pci:v00001039d00005511*
- ID_PRODUCT_FROM_DATABASE=5511/5512
-
-pci:v00001039d00005513*
- ID_PRODUCT_FROM_DATABASE=5513 IDE Controller
-
-pci:v00001039d00005513sv00001019sd00000970*
- ID_PRODUCT_FROM_DATABASE=P6STP-FL motherboard
-
-pci:v00001039d00005513sv00001039sd00005513*
- ID_PRODUCT_FROM_DATABASE=SiS5513 EIDE Controller (A,B step)
-
-pci:v00001039d00005513sv00001043sd00008035*
- ID_PRODUCT_FROM_DATABASE=CUSI-FX motherboard
-
-pci:v00001039d00005513sv00001462sd00007010*
- ID_PRODUCT_FROM_DATABASE=MS-6701 motherboard
-
-pci:v00001039d00005513sv00001631sd00005513*
- ID_PRODUCT_FROM_DATABASE=GA-8SIML Rev1.0 Motherboard
-
-pci:v00001039d00005513sv00001734sd00001095*
- ID_PRODUCT_FROM_DATABASE=D2030-A1 Motherboard
-
-pci:v00001039d00005517*
- ID_PRODUCT_FROM_DATABASE=5517
-
-pci:v00001039d00005571*
- ID_PRODUCT_FROM_DATABASE=5571
-
-pci:v00001039d00005581*
- ID_PRODUCT_FROM_DATABASE=5581 Pentium Chipset
-
-pci:v00001039d00005582*
- ID_PRODUCT_FROM_DATABASE=5582
-
-pci:v00001039d00005591*
- ID_PRODUCT_FROM_DATABASE=5591/5592 Host
-
-pci:v00001039d00005596*
- ID_PRODUCT_FROM_DATABASE=5596 Pentium Chipset
-
-pci:v00001039d00005597*
- ID_PRODUCT_FROM_DATABASE=5597 [SiS5582]
-
-pci:v00001039d00005600*
- ID_PRODUCT_FROM_DATABASE=5600 Host
-
-pci:v00001039d00006204*
- ID_PRODUCT_FROM_DATABASE=Video decoder & MPEG interface
-
-pci:v00001039d00006205*
- ID_PRODUCT_FROM_DATABASE=VGA Controller
-
-pci:v00001039d00006236*
- ID_PRODUCT_FROM_DATABASE=6236 3D-AGP
-
-pci:v00001039d00006300*
- ID_PRODUCT_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter
-
-pci:v00001039d00006300sv00001019sd00000970*
- ID_PRODUCT_FROM_DATABASE=P6STP-FL motherboard
-
-pci:v00001039d00006300sv00001043sd00008035*
- ID_PRODUCT_FROM_DATABASE=CUSI-FX motherboard
-
-pci:v00001039d00006300sv0000104Dsd000080E2*
- ID_PRODUCT_FROM_DATABASE=VAIO PCV-J200
-
-pci:v00001039d00006306*
- ID_PRODUCT_FROM_DATABASE=530/620 PCI/AGP VGA Display Adapter
-
-pci:v00001039d00006325*
- ID_PRODUCT_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter
-
-pci:v00001039d00006325sv00001039sd00006325*
- ID_PRODUCT_FROM_DATABASE=SiS 651 onboard [Asus P4SC-EA]
-
-pci:v00001039d00006325sv00001631sd00001004*
- ID_PRODUCT_FROM_DATABASE=SiS 651C onboard [Gigabyte GA-8SIML Rev1.0]
-
-pci:v00001039d00006326*
- ID_PRODUCT_FROM_DATABASE=86C326 5598/6326
-
-pci:v00001039d00006326sv00001039sd00006326*
- ID_PRODUCT_FROM_DATABASE=SiS6326 GUI Accelerator
-
-pci:v00001039d00006326sv00001092sd00000A50*
- ID_PRODUCT_FROM_DATABASE=SpeedStar A50
-
-pci:v00001039d00006326sv00001092sd00000A70*
- ID_PRODUCT_FROM_DATABASE=SpeedStar A70
-
-pci:v00001039d00006326sv00001092sd00004910*
- ID_PRODUCT_FROM_DATABASE=SpeedStar A70
-
-pci:v00001039d00006326sv00001092sd00004920*
- ID_PRODUCT_FROM_DATABASE=SpeedStar A70
-
-pci:v00001039d00006326sv000010B0sd00006326*
- ID_PRODUCT_FROM_DATABASE=S6110-B (AGP)
-
-pci:v00001039d00006326sv00001569sd00006326*
- ID_PRODUCT_FROM_DATABASE=SiS6326 GUI Accelerator
-
-pci:v00001039d00006330*
- ID_PRODUCT_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter
-
-pci:v00001039d00006330sv00001039sd00006330*
- ID_PRODUCT_FROM_DATABASE=[M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter
-
-pci:v00001039d00006330sv00001043sd00008113*
- ID_PRODUCT_FROM_DATABASE=SiS Real 256E (ASUS P5S800-VM motherboard)
-
-pci:v00001039d00006330sv00001458sd0000D000*
- ID_PRODUCT_FROM_DATABASE=SiS661FX GUI 2D/3D Accelerator
-
-pci:v00001039d00006330sv00001734sd00001099*
- ID_PRODUCT_FROM_DATABASE=D2030-A1
-
-pci:v00001039d00006350*
- ID_PRODUCT_FROM_DATABASE=770/670 PCIE VGA Display Adapter
-
-pci:v00001039d00006351*
- ID_PRODUCT_FROM_DATABASE=771/671 PCIE VGA Display Adapter
-
-pci:v00001039d00007001*
- ID_PRODUCT_FROM_DATABASE=USB 1.1 Controller
-
-pci:v00001039d00007001sv00001019sd00000A14*
- ID_PRODUCT_FROM_DATABASE=K7S5A motherboard
-
-pci:v00001039d00007001sv00001039sd00007000*
- ID_PRODUCT_FROM_DATABASE=Onboard USB Controller
-
-pci:v00001039d00007001sv00001462sd00005470*
- ID_PRODUCT_FROM_DATABASE=ECS K7SOM+ motherboard
-
-pci:v00001039d00007001sv00001462sd00007010*
- ID_PRODUCT_FROM_DATABASE=MS-6701 motherboard
-
-pci:v00001039d00007001sv00001734sd00001095*
- ID_PRODUCT_FROM_DATABASE=D2030-A1 Motherboard
-
-pci:v00001039d00007002*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Controller
-
-pci:v00001039d00007002sv00001462sd00005470*
- ID_PRODUCT_FROM_DATABASE=K7SOM+ 5.2C Motherboard
-
-pci:v00001039d00007002sv00001462sd00007010*
- ID_PRODUCT_FROM_DATABASE=MS-6701 motherboard
-
-pci:v00001039d00007002sv00001509sd00007002*
- ID_PRODUCT_FROM_DATABASE=Onboard USB Controller
-
-pci:v00001039d00007002sv00001734sd00001095*
- ID_PRODUCT_FROM_DATABASE=D2030-A1
-
-pci:v00001039d00007007*
- ID_PRODUCT_FROM_DATABASE=FireWire Controller
-
-pci:v00001039d00007007sv00001462sd0000701D*
- ID_PRODUCT_FROM_DATABASE=MS-6701
-
-pci:v00001039d00007012*
- ID_PRODUCT_FROM_DATABASE=SiS7012 AC'97 Sound Controller
-
-pci:v00001039d00007012sv00001019sd00000F05*
- ID_PRODUCT_FROM_DATABASE=A928 (i-Buddie)
-
-pci:v00001039d00007012sv00001039sd00007012*
- ID_PRODUCT_FROM_DATABASE=SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller
-
-pci:v00001039d00007012sv00001043sd0000818F*
- ID_PRODUCT_FROM_DATABASE=A8S-X Motherboard
-
-pci:v00001039d00007012sv000013F6sd00000300*
- ID_PRODUCT_FROM_DATABASE=CMI9739(A) on ECS K7SOM+ motherboard
-
-pci:v00001039d00007012sv00001462sd00005850*
- ID_PRODUCT_FROM_DATABASE=MSI 648 Max (MS-6585)
-
-pci:v00001039d00007012sv00001462sd00007010*
- ID_PRODUCT_FROM_DATABASE=MS-6701 motherboard
-
-pci:v00001039d00007012sv000015BDsd00001001*
- ID_PRODUCT_FROM_DATABASE=DFI 661FX motherboard
-
-pci:v00001039d00007012sv00001734sd0000109F*
- ID_PRODUCT_FROM_DATABASE=D2030-A1 Motherboard
-
-pci:v00001039d00007012sv00001849sd00007012*
- ID_PRODUCT_FROM_DATABASE=K7S41GX motherboard
-
-pci:v00001039d00007013*
- ID_PRODUCT_FROM_DATABASE=AC'97 Modem Controller
-
-pci:v00001039d00007016*
- ID_PRODUCT_FROM_DATABASE=SiS7016 PCI Fast Ethernet Adapter
-
-pci:v00001039d00007016sv00001039sd00007016*
- ID_PRODUCT_FROM_DATABASE=SiS7016 10/100 Ethernet Adapter
-
-pci:v00001039d00007018*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv00001014sd000001B6*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv00001014sd000001B7*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv00001019sd00007018*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv00001025sd0000000E*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv00001025sd00000018*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv00001039sd00007018*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv00001043sd00001453*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv00001043sd0000800B*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv0000104Dsd000080E2*
- ID_PRODUCT_FROM_DATABASE=VAIO PCV-J200
-
-pci:v00001039d00007018sv00001054sd00007018*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv0000107Dsd00005330*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv0000107Dsd00005350*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv00001170sd00003209*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv00001462sd0000400A*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv000014A4sd00002089*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv000014CDsd00002194*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv000014FFsd00001100*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv0000152Dsd00008808*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv00001558sd00001103*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv00001558sd00002200*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv00001563sd00007018*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv000015C5sd00000111*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv0000270Fsd0000A171*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007018sv0000A0A0sd00000022*
- ID_PRODUCT_FROM_DATABASE=SiS PCI Audio Accelerator
-
-pci:v00001039d00007019*
- ID_PRODUCT_FROM_DATABASE=SiS7019 Audio Accelerator
-
-pci:v00001039d00007502*
- ID_PRODUCT_FROM_DATABASE=Azalia Audio Controller
-
-pci:v0000103A*
- ID_VENDOR_FROM_DATABASE=Seiko Epson Corporation
-
-pci:v0000103B*
- ID_VENDOR_FROM_DATABASE=Tatung Corp. Of America
-
-pci:v0000103C*
- ID_VENDOR_FROM_DATABASE=Hewlett-Packard Company
-
-pci:v0000103Cd00000025*
- ID_PRODUCT_FROM_DATABASE=XE4500 Notebook
-
-pci:v0000103Cd0000002A*
- ID_PRODUCT_FROM_DATABASE=NX9000 Notebook
-
-pci:v0000103Cd000008BC*
- ID_PRODUCT_FROM_DATABASE=NX5000 Notebook
-
-pci:v0000103Cd00001005*
- ID_PRODUCT_FROM_DATABASE=A4977A Visualize EG
-
-pci:v0000103Cd00001008*
- ID_PRODUCT_FROM_DATABASE=Visualize FX
-
-pci:v0000103Cd00001028*
- ID_PRODUCT_FROM_DATABASE=Tach TL Fibre Channel Host Adapter
-
-pci:v0000103Cd00001029*
- ID_PRODUCT_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter
-
-pci:v0000103Cd00001029sv0000107Esd0000000F*
- ID_PRODUCT_FROM_DATABASE=Interphase 5560 Fibre Channel Adapter
-
-pci:v0000103Cd00001029sv00009004sd00009210*
- ID_PRODUCT_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller
-
-pci:v0000103Cd00001029sv00009004sd00009211*
- ID_PRODUCT_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller
-
-pci:v0000103Cd0000102A*
- ID_PRODUCT_FROM_DATABASE=Tach TS Fibre Channel Host Adapter
-
-pci:v0000103Cd0000102Asv0000107Esd0000000E*
- ID_PRODUCT_FROM_DATABASE=Interphase 5540/5541 Fibre Channel Adapter
-
-pci:v0000103Cd0000102Asv00009004sd00009110*
- ID_PRODUCT_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller
-
-pci:v0000103Cd0000102Asv00009004sd00009111*
- ID_PRODUCT_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller
-
-pci:v0000103Cd00001030*
- ID_PRODUCT_FROM_DATABASE=J2585A DeskDirect 10/100VG NIC
-
-pci:v0000103Cd00001031*
- ID_PRODUCT_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter
-
-pci:v0000103Cd00001031sv0000103Csd00001040*
- ID_PRODUCT_FROM_DATABASE=J2973A DeskDirect 10BaseT NIC
-
-pci:v0000103Cd00001031sv0000103Csd00001041*
- ID_PRODUCT_FROM_DATABASE=J2585B DeskDirect 10/100VG NIC
-
-pci:v0000103Cd00001031sv0000103Csd00001042*
- ID_PRODUCT_FROM_DATABASE=J2970A DeskDirect 10BaseT/2 NIC
-
-pci:v0000103Cd00001040*
- ID_PRODUCT_FROM_DATABASE=J2973A DeskDirect 10BaseT NIC
-
-pci:v0000103Cd00001041*
- ID_PRODUCT_FROM_DATABASE=J2585B DeskDirect 10/100 NIC
-
-pci:v0000103Cd00001042*
- ID_PRODUCT_FROM_DATABASE=J2970A DeskDirect 10BaseT/2 NIC
-
-pci:v0000103Cd00001048*
- ID_PRODUCT_FROM_DATABASE=Diva Serial [GSP] Multiport UART
-
-pci:v0000103Cd00001048sv0000103Csd00001049*
- ID_PRODUCT_FROM_DATABASE=Tosca Console
-
-pci:v0000103Cd00001048sv0000103Csd0000104A*
- ID_PRODUCT_FROM_DATABASE=Tosca Secondary
-
-pci:v0000103Cd00001048sv0000103Csd0000104B*
- ID_PRODUCT_FROM_DATABASE=Maestro SP2
-
-pci:v0000103Cd00001048sv0000103Csd00001223*
- ID_PRODUCT_FROM_DATABASE=Superdome Console
-
-pci:v0000103Cd00001048sv0000103Csd00001226*
- ID_PRODUCT_FROM_DATABASE=Keystone SP2
-
-pci:v0000103Cd00001048sv0000103Csd00001227*
- ID_PRODUCT_FROM_DATABASE=Powerbar SP2
-
-pci:v0000103Cd00001048sv0000103Csd00001282*
- ID_PRODUCT_FROM_DATABASE=Everest SP2
-
-pci:v0000103Cd00001048sv0000103Csd00001301*
- ID_PRODUCT_FROM_DATABASE=Diva RMP3
-
-pci:v0000103Cd00001054*
- ID_PRODUCT_FROM_DATABASE=PCI Local Bus Adapter
-
-pci:v0000103Cd00001064*
- ID_PRODUCT_FROM_DATABASE=79C970 PCnet Ethernet Controller
-
-pci:v0000103Cd0000108B*
- ID_PRODUCT_FROM_DATABASE=Visualize FXe
-
-pci:v0000103Cd000010C1*
- ID_PRODUCT_FROM_DATABASE=NetServer Smart IRQ Router
-
-pci:v0000103Cd000010ED*
- ID_PRODUCT_FROM_DATABASE=TopTools Remote Control
-
-pci:v0000103Cd000010F0*
- ID_PRODUCT_FROM_DATABASE=rio System Bus Adapter
-
-pci:v0000103Cd000010F1*
- ID_PRODUCT_FROM_DATABASE=rio I/O Controller
-
-pci:v0000103Cd00001200*
- ID_PRODUCT_FROM_DATABASE=82557B 10/100 NIC
-
-pci:v0000103Cd00001219*
- ID_PRODUCT_FROM_DATABASE=NetServer PCI Hot-Plug Controller
-
-pci:v0000103Cd0000121A*
- ID_PRODUCT_FROM_DATABASE=NetServer SMIC Controller
-
-pci:v0000103Cd0000121B*
- ID_PRODUCT_FROM_DATABASE=NetServer Legacy COM Port Decoder
-
-pci:v0000103Cd0000121C*
- ID_PRODUCT_FROM_DATABASE=NetServer PCI COM Port Decoder
-
-pci:v0000103Cd00001229*
- ID_PRODUCT_FROM_DATABASE=zx1 System Bus Adapter
-
-pci:v0000103Cd0000122A*
- ID_PRODUCT_FROM_DATABASE=zx1 I/O Controller
-
-pci:v0000103Cd0000122E*
- ID_PRODUCT_FROM_DATABASE=PCI-X Local Bus Adapter
-
-pci:v0000103Cd0000127B*
- ID_PRODUCT_FROM_DATABASE=sx1000 System Bus Adapter
-
-pci:v0000103Cd0000127C*
- ID_PRODUCT_FROM_DATABASE=sx1000 I/O Controller
-
-pci:v0000103Cd00001290*
- ID_PRODUCT_FROM_DATABASE=Auxiliary Diva Serial Port
-
-pci:v0000103Cd00001290sv0000103Csd00001291*
- ID_PRODUCT_FROM_DATABASE=Diva SP2
-
-pci:v0000103Cd00001291*
- ID_PRODUCT_FROM_DATABASE=Auxiliary Diva Serial Port
-
-pci:v0000103Cd000012B4*
- ID_PRODUCT_FROM_DATABASE=zx1 QuickSilver AGP8x Local Bus Adapter
-
-pci:v0000103Cd000012EB*
- ID_PRODUCT_FROM_DATABASE=sx2000 System Bus Adapter
-
-pci:v0000103Cd000012EC*
- ID_PRODUCT_FROM_DATABASE=sx2000 I/O Controller
-
-pci:v0000103Cd000012EE*
- ID_PRODUCT_FROM_DATABASE=PCI-X 2.0 Local Bus Adapter
-
-pci:v0000103Cd000012F8*
- ID_PRODUCT_FROM_DATABASE=Broadcom BCM4306 802.11b/g Wireless LAN
-
-pci:v0000103Cd000012FA*
- ID_PRODUCT_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller
-
-pci:v0000103Cd00001302*
- ID_PRODUCT_FROM_DATABASE=RMP-3 Shared Memory Driver
-
-pci:v0000103Cd00001303*
- ID_PRODUCT_FROM_DATABASE=RMP-3 (Remote Management Processor)
-
-pci:v0000103Cd00001361*
- ID_PRODUCT_FROM_DATABASE=BCM4312 802.11a/b/g WLAN Controller
-
-pci:v0000103Cd00001371*
- ID_PRODUCT_FROM_DATABASE=Broadcom Corporation BCM4312 802.11a/b/g (rev 02)
-
-pci:v0000103Cd00001717*
- ID_PRODUCT_FROM_DATABASE=Intel 82571EB dual 1 Gb Ethernet controller
-
-pci:v0000103Cd0000179B*
- ID_PRODUCT_FROM_DATABASE=EliteBook 8470p Notebook
-
-pci:v0000103Cd0000179D*
- ID_PRODUCT_FROM_DATABASE=EliteBook 8470p Notebook
-
-pci:v0000103Cd00002910*
- ID_PRODUCT_FROM_DATABASE=E2910A PCIBus Exerciser
-
-pci:v0000103Cd00002925*
- ID_PRODUCT_FROM_DATABASE=E2925A 32 Bit, 33 MHzPCI Exerciser & Analyzer
-
-pci:v0000103Cd00003080*
- ID_PRODUCT_FROM_DATABASE=Pavilion ze2028ea
-
-pci:v0000103Cd00003085*
- ID_PRODUCT_FROM_DATABASE=Realtek RTL8139/8139C/8139C+
-
-pci:v0000103Cd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq NW8440 Notebook
-
-pci:v0000103Cd000030B5*
- ID_PRODUCT_FROM_DATABASE=Compaq Presario V3000Z
-
-pci:v0000103Cd000031FB*
- ID_PRODUCT_FROM_DATABASE=DL365 ATI ES1000 VGA controller
-
-pci:v0000103Cd00003206*
- ID_PRODUCT_FROM_DATABASE=Adaptec Embedded Serial ATA HostRAID
-
-pci:v0000103Cd00003220*
- ID_PRODUCT_FROM_DATABASE=Smart Array P600
-
-pci:v0000103Cd00003220sv0000103Csd00003225*
- ID_PRODUCT_FROM_DATABASE=3 Gb/s SAS RAID
-
-pci:v0000103Cd00003230*
- ID_PRODUCT_FROM_DATABASE=Smart Array Controller
-
-pci:v0000103Cd00003230sv0000103Csd00003223*
- ID_PRODUCT_FROM_DATABASE=Smart Array P800
-
-pci:v0000103Cd00003230sv0000103Csd00003234*
- ID_PRODUCT_FROM_DATABASE=P400 SAS Controller
-
-pci:v0000103Cd00003230sv0000103Csd00003235*
- ID_PRODUCT_FROM_DATABASE=P400i SAS Controller
-
-pci:v0000103Cd00003230sv0000103Csd00003237*
- ID_PRODUCT_FROM_DATABASE=E500 SAS Controller
-
-pci:v0000103Cd00003230sv0000103Csd0000323D*
- ID_PRODUCT_FROM_DATABASE=P700m SAS Controller
-
-pci:v0000103Cd00003238*
- ID_PRODUCT_FROM_DATABASE=Smart Array E200i (SAS Controller)
-
-pci:v0000103Cd00003238sv0000103Csd00003211*
- ID_PRODUCT_FROM_DATABASE=Smart Array E200i
-
-pci:v0000103Cd00003238sv0000103Csd00003212*
- ID_PRODUCT_FROM_DATABASE=Smart Array E200
-
-pci:v0000103Cd0000323A*
- ID_PRODUCT_FROM_DATABASE=Smart Array G6 controllers
-
-pci:v0000103Cd0000323Asv0000103Csd00003241*
- ID_PRODUCT_FROM_DATABASE=Smart Array P212
-
-pci:v0000103Cd0000323Asv0000103Csd00003243*
- ID_PRODUCT_FROM_DATABASE=Smart Array P410
-
-pci:v0000103Cd0000323Asv0000103Csd00003245*
- ID_PRODUCT_FROM_DATABASE=Smart Array P410i
-
-pci:v0000103Cd0000323Asv0000103Csd00003247*
- ID_PRODUCT_FROM_DATABASE=Smart Array P411
-
-pci:v0000103Cd0000323Asv0000103Csd00003249*
- ID_PRODUCT_FROM_DATABASE=Smart Array P812
-
-pci:v0000103Cd0000323Asv0000103Csd0000324A*
- ID_PRODUCT_FROM_DATABASE=HP Smart Array 712m (Mezzanine RAID controller)
-
-pci:v0000103Cd0000323Asv0000103Csd0000324B*
- ID_PRODUCT_FROM_DATABASE=Smart Array P711m (Mezzanine RAID controller)
-
-pci:v0000103Cd0000323B*
- ID_PRODUCT_FROM_DATABASE=Smart Array Gen8 Controllers
-
-pci:v0000103Cd0000323Bsv0000103Csd00003350*
- ID_PRODUCT_FROM_DATABASE=P222
-
-pci:v0000103Cd0000323Bsv0000103Csd00003351*
- ID_PRODUCT_FROM_DATABASE=P420
-
-pci:v0000103Cd0000323Bsv0000103Csd00003352*
- ID_PRODUCT_FROM_DATABASE=P421
-
-pci:v0000103Cd0000323Bsv0000103Csd00003354*
- ID_PRODUCT_FROM_DATABASE=P420i
-
-pci:v0000103Cd0000323Bsv0000103Csd00003355*
- ID_PRODUCT_FROM_DATABASE=P220i
-
-pci:v0000103Cd00003300*
- ID_PRODUCT_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller
-
-pci:v0000103Cd00003300sv0000103Csd00003304*
- ID_PRODUCT_FROM_DATABASE=iLO2
-
-pci:v0000103Cd00003300sv0000103Csd00003305*
- ID_PRODUCT_FROM_DATABASE=iLO2
-
-pci:v0000103Cd00003300sv0000103Csd00003309*
- ID_PRODUCT_FROM_DATABASE=iLO2 GXL/iLO3 GXE
-
-pci:v0000103Cd00003300sv0000103Csd0000330E*
- ID_PRODUCT_FROM_DATABASE=iLO3
-
-pci:v0000103Cd00003300sv0000103Csd00003381*
- ID_PRODUCT_FROM_DATABASE=iLO4
-
-pci:v0000103Cd00003301*
- ID_PRODUCT_FROM_DATABASE=Integrated Lights-Out Standard Serial Port
-
-pci:v0000103Cd00003301sv0000103Csd00003304*
- ID_PRODUCT_FROM_DATABASE=iLO2
-
-pci:v0000103Cd00003301sv0000103Csd00003305*
- ID_PRODUCT_FROM_DATABASE=iLO2
-
-pci:v0000103Cd00003301sv0000103Csd0000330E*
- ID_PRODUCT_FROM_DATABASE=iLO3
-
-pci:v0000103Cd00003301sv0000103Csd00003381*
- ID_PRODUCT_FROM_DATABASE=iLO4
-
-pci:v0000103Cd00003302*
- ID_PRODUCT_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface
-
-pci:v0000103Cd00003302sv0000103Csd00003304*
- ID_PRODUCT_FROM_DATABASE=iLO2
-
-pci:v0000103Cd00003302sv0000103Csd00003305*
- ID_PRODUCT_FROM_DATABASE=iLO2
-
-pci:v0000103Cd00003302sv0000103Csd0000330E*
- ID_PRODUCT_FROM_DATABASE=iLO3
-
-pci:v0000103Cd00003302sv0000103Csd00003381*
- ID_PRODUCT_FROM_DATABASE=iLO4
-
-pci:v0000103Cd00003305*
- ID_PRODUCT_FROM_DATABASE=Integrated Lights-Out (iLO2) Controller
-
-pci:v0000103Cd00003306*
- ID_PRODUCT_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support
-
-pci:v0000103Cd00003306sv0000103Csd0000330E*
- ID_PRODUCT_FROM_DATABASE=iLO3
-
-pci:v0000103Cd00003306sv0000103Csd00003381*
- ID_PRODUCT_FROM_DATABASE=iLO4
-
-pci:v0000103Cd00003307*
- ID_PRODUCT_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging
-
-pci:v0000103Cd00003307sv0000103Csd00003309*
- ID_PRODUCT_FROM_DATABASE=iLO 2
-
-pci:v0000103Cd00003307sv0000103Csd0000330E*
- ID_PRODUCT_FROM_DATABASE=iLO3
-
-pci:v0000103Cd00003307sv0000103Csd00003381*
- ID_PRODUCT_FROM_DATABASE=iLO4
-
-pci:v0000103Cd00003308*
- ID_PRODUCT_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer
-
-pci:v0000103Cd00003308sv0000103Csd0000330E*
- ID_PRODUCT_FROM_DATABASE=iLO3
-
-pci:v0000103Cd00003308sv0000103Csd00003381*
- ID_PRODUCT_FROM_DATABASE=iLO4
-
-pci:v0000103Cd0000402F*
- ID_PRODUCT_FROM_DATABASE=PCIe Root Port
-
-pci:v0000103Cd00004030*
- ID_PRODUCT_FROM_DATABASE=zx2 System Bus Adapter
-
-pci:v0000103Cd00004031*
- ID_PRODUCT_FROM_DATABASE=zx2 I/O Controller
-
-pci:v0000103Cd00004037*
- ID_PRODUCT_FROM_DATABASE=PCIe Local Bus Adapter
-
-pci:v0000103Cd0000403B*
- ID_PRODUCT_FROM_DATABASE=PCIe Root Port
-
-pci:v0000103Cd000060E8*
- ID_PRODUCT_FROM_DATABASE=NetRAID-2M : ZX1/M (OEM AMI MegaRAID 493)
-
-pci:v0000103E*
- ID_VENDOR_FROM_DATABASE=Solliday Engineering
-
-pci:v0000103F*
- ID_VENDOR_FROM_DATABASE=Synopsys/Logic Modeling Group
-
-pci:v00001040*
- ID_VENDOR_FROM_DATABASE=Accelgraphics Inc.
-
-pci:v00001041*
- ID_VENDOR_FROM_DATABASE=Computrend
-
-pci:v00001042*
- ID_VENDOR_FROM_DATABASE=Micron
-
-pci:v00001042d00001000*
- ID_PRODUCT_FROM_DATABASE=PC Tech RZ1000
-
-pci:v00001042d00001001*
- ID_PRODUCT_FROM_DATABASE=PC Tech RZ1001
-
-pci:v00001042d00003000*
- ID_PRODUCT_FROM_DATABASE=Samurai_0
-
-pci:v00001042d00003010*
- ID_PRODUCT_FROM_DATABASE=Samurai_1
-
-pci:v00001042d00003020*
- ID_PRODUCT_FROM_DATABASE=Samurai_IDE
-
-pci:v00001043*
- ID_VENDOR_FROM_DATABASE=ASUSTeK Computer Inc.
-
-pci:v00001043d00000675*
- ID_PRODUCT_FROM_DATABASE=ISDNLink P-IN100-ST-D
-
-pci:v00001043d00000675sv00000675sd00001704*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C)
-
-pci:v00001043d00000675sv00000675sd00001707*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
-
-pci:v00001043d00000675sv000010CFsd0000105E*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
-
-pci:v00001043d00000C11*
- ID_PRODUCT_FROM_DATABASE=A7N8X Motherboard nForce2 IDE/USB/SMBus
-
-pci:v00001043d00004015*
- ID_PRODUCT_FROM_DATABASE=v7100 SDRAM [GeForce2 MX]
-
-pci:v00001043d00004021*
- ID_PRODUCT_FROM_DATABASE=v7100 Combo Deluxe [GeForce2 MX + TV tuner]
-
-pci:v00001043d00004057*
- ID_PRODUCT_FROM_DATABASE=v8200 GeForce 3
-
-pci:v00001043d00008043*
- ID_PRODUCT_FROM_DATABASE=v8240 PAL 128M [P4T] Motherboard
-
-pci:v00001043d00008047*
- ID_PRODUCT_FROM_DATABASE=v8420 Deluxe [GeForce4 Ti4200]
-
-pci:v00001043d0000807B*
- ID_PRODUCT_FROM_DATABASE=v9280/TD [GeForce4 TI4200 8X With TV-Out and DVI]
-
-pci:v00001043d00008095*
- ID_PRODUCT_FROM_DATABASE=A7N8X Motherboard nForce2 AC97 Audio
-
-pci:v00001043d000080AC*
- ID_PRODUCT_FROM_DATABASE=A7N8X Motherboard nForce2 AGP/Memory
-
-pci:v00001043d000080BB*
- ID_PRODUCT_FROM_DATABASE=v9180 Magic/T [GeForce4 MX440 AGP 8x 64MB TV-out]
-
-pci:v00001043d000080C5*
- ID_PRODUCT_FROM_DATABASE=nForce3 chipset motherboard [SK8N]
-
-pci:v00001043d000080DF*
- ID_PRODUCT_FROM_DATABASE=v9520 Magic/T
-
-pci:v00001043d0000815A*
- ID_PRODUCT_FROM_DATABASE=A8N-SLI Motherboard nForce4 SATA
-
-pci:v00001043d00008168*
- ID_PRODUCT_FROM_DATABASE=Realtek PCI-E Gigabit Ethernet Controller (RTL8111B)
-
-pci:v00001043d00008187*
- ID_PRODUCT_FROM_DATABASE=802.11a/b/g Wireless LAN Card
-
-pci:v00001043d00008188*
- ID_PRODUCT_FROM_DATABASE=Tiger Hybrid TV Capture Device
-
-pci:v00001043d000081E7*
- ID_PRODUCT_FROM_DATABASE=Realtek ALC-660 6-channel CODEC
-
-pci:v00001043d000081F4*
- ID_PRODUCT_FROM_DATABASE=EN7300TC512/TD/128M/A(C262G) [Graphics Card EN7300TC512]
-
-pci:v00001043d00008233*
- ID_PRODUCT_FROM_DATABASE=EEE-PC 701 Netbook
-
-pci:v00001043d000082CA*
- ID_PRODUCT_FROM_DATABASE=G96 GeForce 9500 GT
-
-pci:v00001043d000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v00001043d00008383*
- ID_PRODUCT_FROM_DATABASE=P7P55D Series Motherboard
-
-pci:v00001043d000083A4*
- ID_PRODUCT_FROM_DATABASE=Motherboard M2N68-AM SE2
-
-pci:v00001043d00008410*
- ID_PRODUCT_FROM_DATABASE=SBx00 [Azalia]
-
-pci:v00001043d0000843E*
- ID_PRODUCT_FROM_DATABASE=M5A88-V EVO
-
-pci:v00001043d00009602*
- ID_PRODUCT_FROM_DATABASE=RS880 PCI to PCI bridge (int gfx)
-
-pci:v00001043d00009602sv00001043sd000083A2*
- ID_PRODUCT_FROM_DATABASE=M4A785TD Motherboard
-
-pci:v00001044*
- ID_VENDOR_FROM_DATABASE=Adaptec (formerly DPT)
-
-pci:v00001044d00001012*
- ID_PRODUCT_FROM_DATABASE=Domino RAID Engine
-
-pci:v00001044d0000A400*
- ID_PRODUCT_FROM_DATABASE=SmartCache/Raid I-IV Controller
-
-pci:v00001044d0000A500*
- ID_PRODUCT_FROM_DATABASE=PCI Bridge
-
-pci:v00001044d0000A501*
- ID_PRODUCT_FROM_DATABASE=SmartRAID V Controller
-
-pci:v00001044d0000A501sv00001044sd0000C001*
- ID_PRODUCT_FROM_DATABASE=PM1554U2 Ultra2 Single Channel
-
-pci:v00001044d0000A501sv00001044sd0000C002*
- ID_PRODUCT_FROM_DATABASE=PM1654U2 Ultra2 Single Channel
-
-pci:v00001044d0000A501sv00001044sd0000C003*
- ID_PRODUCT_FROM_DATABASE=PM1564U3 Ultra3 Single Channel
-
-pci:v00001044d0000A501sv00001044sd0000C004*
- ID_PRODUCT_FROM_DATABASE=PM1564U3 Ultra3 Dual Channel
-
-pci:v00001044d0000A501sv00001044sd0000C005*
- ID_PRODUCT_FROM_DATABASE=PM1554U2 Ultra2 Single Channel (NON ACPI)
-
-pci:v00001044d0000A501sv00001044sd0000C00A*
- ID_PRODUCT_FROM_DATABASE=PM2554U2 Ultra2 Single Channel
-
-pci:v00001044d0000A501sv00001044sd0000C00B*
- ID_PRODUCT_FROM_DATABASE=PM2654U2 Ultra2 Single Channel
-
-pci:v00001044d0000A501sv00001044sd0000C00C*
- ID_PRODUCT_FROM_DATABASE=PM2664U3 Ultra3 Single Channel
-
-pci:v00001044d0000A501sv00001044sd0000C00D*
- ID_PRODUCT_FROM_DATABASE=PM2664U3 Ultra3 Dual Channel
-
-pci:v00001044d0000A501sv00001044sd0000C00E*
- ID_PRODUCT_FROM_DATABASE=PM2554U2 Ultra2 Single Channel (NON ACPI)
-
-pci:v00001044d0000A501sv00001044sd0000C00F*
- ID_PRODUCT_FROM_DATABASE=PM2654U2 Ultra2 Single Channel (NON ACPI)
-
-pci:v00001044d0000A501sv00001044sd0000C014*
- ID_PRODUCT_FROM_DATABASE=PM3754U2 Ultra2 Single Channel (NON ACPI)
-
-pci:v00001044d0000A501sv00001044sd0000C015*
- ID_PRODUCT_FROM_DATABASE=PM3755U2B Ultra2 Single Channel (NON ACPI)
-
-pci:v00001044d0000A501sv00001044sd0000C016*
- ID_PRODUCT_FROM_DATABASE=PM3755F Fibre Channel (NON ACPI)
-
-pci:v00001044d0000A501sv00001044sd0000C01E*
- ID_PRODUCT_FROM_DATABASE=PM3757U2 Ultra2 Single Channel
-
-pci:v00001044d0000A501sv00001044sd0000C01F*
- ID_PRODUCT_FROM_DATABASE=PM3757U2 Ultra2 Dual Channel
-
-pci:v00001044d0000A501sv00001044sd0000C020*
- ID_PRODUCT_FROM_DATABASE=PM3767U3 Ultra3 Dual Channel
-
-pci:v00001044d0000A501sv00001044sd0000C021*
- ID_PRODUCT_FROM_DATABASE=PM3767U3 Ultra3 Quad Channel
-
-pci:v00001044d0000A501sv00001044sd0000C028*
- ID_PRODUCT_FROM_DATABASE=PM2865U3 Ultra3 Single Channel
-
-pci:v00001044d0000A501sv00001044sd0000C029*
- ID_PRODUCT_FROM_DATABASE=PM2865U3 Ultra3 Dual Channel
-
-pci:v00001044d0000A501sv00001044sd0000C02A*
- ID_PRODUCT_FROM_DATABASE=PM2865F Fibre Channel
-
-pci:v00001044d0000A501sv00001044sd0000C03C*
- ID_PRODUCT_FROM_DATABASE=2000S Ultra3 Single Channel
-
-pci:v00001044d0000A501sv00001044sd0000C03D*
- ID_PRODUCT_FROM_DATABASE=2000S Ultra3 Dual Channel
-
-pci:v00001044d0000A501sv00001044sd0000C03E*
- ID_PRODUCT_FROM_DATABASE=2000F Fibre Channel
-
-pci:v00001044d0000A501sv00001044sd0000C046*
- ID_PRODUCT_FROM_DATABASE=3000S Ultra3 Single Channel
-
-pci:v00001044d0000A501sv00001044sd0000C047*
- ID_PRODUCT_FROM_DATABASE=3000S Ultra3 Dual Channel
-
-pci:v00001044d0000A501sv00001044sd0000C048*
- ID_PRODUCT_FROM_DATABASE=3000F Fibre Channel
-
-pci:v00001044d0000A501sv00001044sd0000C050*
- ID_PRODUCT_FROM_DATABASE=5000S Ultra3 Single Channel
-
-pci:v00001044d0000A501sv00001044sd0000C051*
- ID_PRODUCT_FROM_DATABASE=5000S Ultra3 Dual Channel
-
-pci:v00001044d0000A501sv00001044sd0000C052*
- ID_PRODUCT_FROM_DATABASE=5000F Fibre Channel
-
-pci:v00001044d0000A501sv00001044sd0000C05A*
- ID_PRODUCT_FROM_DATABASE=2400A UDMA Four Channel
-
-pci:v00001044d0000A501sv00001044sd0000C05B*
- ID_PRODUCT_FROM_DATABASE=2400A UDMA Four Channel DAC
-
-pci:v00001044d0000A501sv00001044sd0000C064*
- ID_PRODUCT_FROM_DATABASE=3010S Ultra3 Dual Channel
-
-pci:v00001044d0000A501sv00001044sd0000C065*
- ID_PRODUCT_FROM_DATABASE=3410S Ultra160 Four Channel
-
-pci:v00001044d0000A501sv00001044sd0000C066*
- ID_PRODUCT_FROM_DATABASE=3010S Fibre Channel
-
-pci:v00001044d0000A511*
- ID_PRODUCT_FROM_DATABASE=SmartRAID V Controller
-
-pci:v00001044d0000A511sv00001044sd0000C032*
- ID_PRODUCT_FROM_DATABASE=ASR-2005S I2O Zero Channel
-
-pci:v00001044d0000A511sv00001044sd0000C035*
- ID_PRODUCT_FROM_DATABASE=ASR-2010S I2O Zero Channel
-
-pci:v00001044d0000C066*
- ID_PRODUCT_FROM_DATABASE=3010S Ultra3 Dual Channel
-
-pci:v00001045*
- ID_VENDOR_FROM_DATABASE=OPTi Inc.
-
-pci:v00001045d0000A0F8*
- ID_PRODUCT_FROM_DATABASE=82C750 [Vendetta] USB Controller
-
-pci:v00001045d0000C101*
- ID_PRODUCT_FROM_DATABASE=92C264
-
-pci:v00001045d0000C178*
- ID_PRODUCT_FROM_DATABASE=92C178
-
-pci:v00001045d0000C556*
- ID_PRODUCT_FROM_DATABASE=82X556 [Viper]
-
-pci:v00001045d0000C557*
- ID_PRODUCT_FROM_DATABASE=82C557 [Viper-M]
-
-pci:v00001045d0000C558*
- ID_PRODUCT_FROM_DATABASE=82C558 [Viper-M ISA+IDE]
-
-pci:v00001045d0000C567*
- ID_PRODUCT_FROM_DATABASE=82C750 [Vendetta], device 0
-
-pci:v00001045d0000C568*
- ID_PRODUCT_FROM_DATABASE=82C750 [Vendetta], device 1
-
-pci:v00001045d0000C569*
- ID_PRODUCT_FROM_DATABASE=82C579 [Viper XPress+ Chipset]
-
-pci:v00001045d0000C621*
- ID_PRODUCT_FROM_DATABASE=82C621 [Viper-M/N+]
-
-pci:v00001045d0000C700*
- ID_PRODUCT_FROM_DATABASE=82C700 [FireStar]
-
-pci:v00001045d0000C701*
- ID_PRODUCT_FROM_DATABASE=82C701 [FireStar Plus]
-
-pci:v00001045d0000C814*
- ID_PRODUCT_FROM_DATABASE=82C814 [Firebridge 1]
-
-pci:v00001045d0000C822*
- ID_PRODUCT_FROM_DATABASE=82C822
-
-pci:v00001045d0000C824*
- ID_PRODUCT_FROM_DATABASE=82C824
-
-pci:v00001045d0000C825*
- ID_PRODUCT_FROM_DATABASE=82C825 [Firebridge 2]
-
-pci:v00001045d0000C832*
- ID_PRODUCT_FROM_DATABASE=82C832
-
-pci:v00001045d0000C861*
- ID_PRODUCT_FROM_DATABASE=82C861
-
-pci:v00001045d0000C881*
- ID_PRODUCT_FROM_DATABASE=82C881 [FireLink] 1394 OHCI Link Controller
-
-pci:v00001045d0000C895*
- ID_PRODUCT_FROM_DATABASE=82C895
-
-pci:v00001045d0000C935*
- ID_PRODUCT_FROM_DATABASE=EV1935 ECTIVA MachOne PCIAudio
-
-pci:v00001045d0000D568*
- ID_PRODUCT_FROM_DATABASE=82C825 [Firebridge 2]
-
-pci:v00001045d0000D721*
- ID_PRODUCT_FROM_DATABASE=IDE [FireStar]
-
-pci:v00001046*
- ID_VENDOR_FROM_DATABASE=IPC Corporation, Ltd.
-
-pci:v00001047*
- ID_VENDOR_FROM_DATABASE=Genoa Systems Corp
-
-pci:v00001048*
- ID_VENDOR_FROM_DATABASE=Elsa AG
-
-pci:v00001048d00000C60*
- ID_PRODUCT_FROM_DATABASE=Gladiac MX
-
-pci:v00001048d00000D22*
- ID_PRODUCT_FROM_DATABASE=Quadro4 900XGL [ELSA GLoria4 900XGL]
-
-pci:v00001048d00001000*
- ID_PRODUCT_FROM_DATABASE=QuickStep 1000
-
-pci:v00001048d00003000*
- ID_PRODUCT_FROM_DATABASE=QuickStep 3000
-
-pci:v00001048d00008901*
- ID_PRODUCT_FROM_DATABASE=Gloria XL
-
-pci:v00001048d00008901sv00001048sd00000935*
- ID_PRODUCT_FROM_DATABASE=GLoria XL (Virge)
-
-pci:v00001049*
- ID_VENDOR_FROM_DATABASE=Fountain Technologies, Inc.
-
-pci:v0000104A*
- ID_VENDOR_FROM_DATABASE=STMicroelectronics
-
-pci:v0000104Ad00000000*
- ID_PRODUCT_FROM_DATABASE=STLS2F Host Bridge
-
-pci:v0000104Ad00000008*
- ID_PRODUCT_FROM_DATABASE=STG 2000X
-
-pci:v0000104Ad00000009*
- ID_PRODUCT_FROM_DATABASE=STG 1764X
-
-pci:v0000104Ad00000010*
- ID_PRODUCT_FROM_DATABASE=STG4000 [3D Prophet Kyro Series]
-
-pci:v0000104Ad00000010sv00001681sd0000C069*
- ID_PRODUCT_FROM_DATABASE=3D Prophet 4000XT
-
-pci:v0000104Ad00000201*
- ID_PRODUCT_FROM_DATABASE=STPC Vega Northbridge
-
-pci:v0000104Ad00000209*
- ID_PRODUCT_FROM_DATABASE=STPC Consumer/Industrial North- and Southbridge
-
-pci:v0000104Ad0000020A*
- ID_PRODUCT_FROM_DATABASE=STPC Atlas/ConsumerS/Consumer IIA Northbridge
-
-pci:v0000104Ad0000020B*
- ID_PRODUCT_FROM_DATABASE=STPC Consumer II ISA Bridge
-
-pci:v0000104Ad00000210*
- ID_PRODUCT_FROM_DATABASE=STPC Atlas ISA Bridge
-
-pci:v0000104Ad0000021A*
- ID_PRODUCT_FROM_DATABASE=STPC Consumer S Southbridge
-
-pci:v0000104Ad0000021B*
- ID_PRODUCT_FROM_DATABASE=STPC Consumer IIA Southbridge
-
-pci:v0000104Ad00000220*
- ID_PRODUCT_FROM_DATABASE=STPC Industrial PCI to PCCard bridge
-
-pci:v0000104Ad00000228*
- ID_PRODUCT_FROM_DATABASE=STPC Atlas IDE
-
-pci:v0000104Ad00000229*
- ID_PRODUCT_FROM_DATABASE=STPC Vega IDE
-
-pci:v0000104Ad00000230*
- ID_PRODUCT_FROM_DATABASE=STPC Atlas/Vega OHCI USB Controller
-
-pci:v0000104Ad00000238*
- ID_PRODUCT_FROM_DATABASE=STPC Vega LAN
-
-pci:v0000104Ad00000500*
- ID_PRODUCT_FROM_DATABASE=ST70137 [Unicorn] ADSL DMT Transceiver
-
-pci:v0000104Ad00000500sv0000104Asd00000500*
- ID_PRODUCT_FROM_DATABASE=BeWAN ADSL PCI st
-
-pci:v0000104Ad00000564*
- ID_PRODUCT_FROM_DATABASE=STPC Client Northbridge
-
-pci:v0000104Ad00000981*
- ID_PRODUCT_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
-
-pci:v0000104Ad00001746*
- ID_PRODUCT_FROM_DATABASE=STG 1764X
-
-pci:v0000104Ad00002774*
- ID_PRODUCT_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
-
-pci:v0000104Ad00003520*
- ID_PRODUCT_FROM_DATABASE=MPEG-II decoder card
-
-pci:v0000104Ad000055CC*
- ID_PRODUCT_FROM_DATABASE=STPC Client Southbridge
-
-pci:v0000104B*
- ID_VENDOR_FROM_DATABASE=BusLogic
-
-pci:v0000104Bd00000140*
- ID_PRODUCT_FROM_DATABASE=BT-946C (old) [multimaster 01]
-
-pci:v0000104Bd00001040*
- ID_PRODUCT_FROM_DATABASE=BT-946C (BA80C30) [MultiMaster 10]
-
-pci:v0000104Bd00008130*
- ID_PRODUCT_FROM_DATABASE=Flashpoint LT
-
-pci:v0000104C*
- ID_VENDOR_FROM_DATABASE=Texas Instruments
-
-pci:v0000104Cd00000500*
- ID_PRODUCT_FROM_DATABASE=100 MBit LAN Controller
-
-pci:v0000104Cd00000508*
- ID_PRODUCT_FROM_DATABASE=TMS380C2X Compressor Interface
-
-pci:v0000104Cd00001000*
- ID_PRODUCT_FROM_DATABASE=Eagle i/f AS
-
-pci:v0000104Cd0000104C*
- ID_PRODUCT_FROM_DATABASE=PCI1510 PC card Cardbus Controller
-
-pci:v0000104Cd00003D04*
- ID_PRODUCT_FROM_DATABASE=TVP4010 [Permedia]
-
-pci:v0000104Cd00003D07*
- ID_PRODUCT_FROM_DATABASE=TVP4020 [Permedia 2]
-
-pci:v0000104Cd00003D07sv00001011sd00004D10*
- ID_PRODUCT_FROM_DATABASE=Comet
-
-pci:v0000104Cd00003D07sv00001040sd0000000F*
- ID_PRODUCT_FROM_DATABASE=AccelStar II
-
-pci:v0000104Cd00003D07sv00001040sd00000011*
- ID_PRODUCT_FROM_DATABASE=AccelStar II
-
-pci:v0000104Cd00003D07sv00001048sd00000A31*
- ID_PRODUCT_FROM_DATABASE=WINNER 2000
-
-pci:v0000104Cd00003D07sv00001048sd00000A32*
- ID_PRODUCT_FROM_DATABASE=GLoria Synergy
-
-pci:v0000104Cd00003D07sv00001048sd00000A34*
- ID_PRODUCT_FROM_DATABASE=GLoria Synergy
-
-pci:v0000104Cd00003D07sv00001048sd00000A35*
- ID_PRODUCT_FROM_DATABASE=GLoria Synergy
-
-pci:v0000104Cd00003D07sv00001048sd00000A36*
- ID_PRODUCT_FROM_DATABASE=GLoria Synergy
-
-pci:v0000104Cd00003D07sv00001048sd00000A43*
- ID_PRODUCT_FROM_DATABASE=GLoria Synergy
-
-pci:v0000104Cd00003D07sv00001048sd00000A44*
- ID_PRODUCT_FROM_DATABASE=GLoria Synergy
-
-pci:v0000104Cd00003D07sv0000107Dsd00002633*
- ID_PRODUCT_FROM_DATABASE=WinFast 3D L2300
-
-pci:v0000104Cd00003D07sv00001092sd00000126*
- ID_PRODUCT_FROM_DATABASE=FIRE GL 1000 PRO
-
-pci:v0000104Cd00003D07sv00001092sd00000127*
- ID_PRODUCT_FROM_DATABASE=FIRE GL 1000 PRO
-
-pci:v0000104Cd00003D07sv00001092sd00000136*
- ID_PRODUCT_FROM_DATABASE=FIRE GL 1000 PRO
-
-pci:v0000104Cd00003D07sv00001092sd00000141*
- ID_PRODUCT_FROM_DATABASE=FIRE GL 1000 PRO
-
-pci:v0000104Cd00003D07sv00001092sd00000146*
- ID_PRODUCT_FROM_DATABASE=FIRE GL 1000 PRO
-
-pci:v0000104Cd00003D07sv00001092sd00000148*
- ID_PRODUCT_FROM_DATABASE=FIRE GL 1000 PRO
-
-pci:v0000104Cd00003D07sv00001092sd00000149*
- ID_PRODUCT_FROM_DATABASE=FIRE GL 1000 PRO
-
-pci:v0000104Cd00003D07sv00001092sd00000152*
- ID_PRODUCT_FROM_DATABASE=FIRE GL 1000 PRO
-
-pci:v0000104Cd00003D07sv00001092sd00000154*
- ID_PRODUCT_FROM_DATABASE=FIRE GL 1000 PRO
-
-pci:v0000104Cd00003D07sv00001092sd00000155*
- ID_PRODUCT_FROM_DATABASE=FIRE GL 1000 PRO
-
-pci:v0000104Cd00003D07sv00001092sd00000156*
- ID_PRODUCT_FROM_DATABASE=FIRE GL 1000 PRO
-
-pci:v0000104Cd00003D07sv00001092sd00000157*
- ID_PRODUCT_FROM_DATABASE=FIRE GL 1000 PRO
-
-pci:v0000104Cd00003D07sv00001097sd00003D01*
- ID_PRODUCT_FROM_DATABASE=Jeronimo Pro
-
-pci:v0000104Cd00003D07sv00001102sd0000100F*
- ID_PRODUCT_FROM_DATABASE=Graphics Blaster Extreme
-
-pci:v0000104Cd00003D07sv00003D3Dsd00000100*
- ID_PRODUCT_FROM_DATABASE=Reference Permedia 2 3D
-
-pci:v0000104Cd00008000*
- ID_PRODUCT_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller
-
-pci:v0000104Cd00008000sv0000105Esd00008003*
- ID_PRODUCT_FROM_DATABASE=FireBoard200
-
-pci:v0000104Cd00008000sv00001443sd00008003*
- ID_PRODUCT_FROM_DATABASE=FireBoard200
-
-pci:v0000104Cd00008000sv00001443sd00008005*
- ID_PRODUCT_FROM_DATABASE=FireBoard400
-
-pci:v0000104Cd00008000sv00001443sd00008006*
- ID_PRODUCT_FROM_DATABASE=FireBoard400
-
-pci:v0000104Cd00008000sv0000E4BFsd00001010*
- ID_PRODUCT_FROM_DATABASE=CF1-1-SNARE
-
-pci:v0000104Cd00008000sv0000E4BFsd00001020*
- ID_PRODUCT_FROM_DATABASE=CF1-2-SNARE
-
-pci:v0000104Cd00008000sv0000E4BFsd00001040*
- ID_PRODUCT_FROM_DATABASE=FireCompact400
-
-pci:v0000104Cd00008009*
- ID_PRODUCT_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller
-
-pci:v0000104Cd00008009sv0000104Dsd00008032*
- ID_PRODUCT_FROM_DATABASE=8032 OHCI i.LINK (IEEE 1394) Controller
-
-pci:v0000104Cd00008009sv00001443sd00008010*
- ID_PRODUCT_FROM_DATABASE=FireBoard400-OHCI
-
-pci:v0000104Cd00008017*
- ID_PRODUCT_FROM_DATABASE=PCI4410 FireWire Controller
-
-pci:v0000104Cd00008019*
- ID_PRODUCT_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller
-
-pci:v0000104Cd00008019sv000011BDsd0000000A*
- ID_PRODUCT_FROM_DATABASE=Studio DV500-1394
-
-pci:v0000104Cd00008019sv000011BDsd0000000E*
- ID_PRODUCT_FROM_DATABASE=Studio DV
-
-pci:v0000104Cd00008019sv00001443sd00008010*
- ID_PRODUCT_FROM_DATABASE=FireBoard400-OHCI
-
-pci:v0000104Cd00008019sv0000E4BFsd00001010*
- ID_PRODUCT_FROM_DATABASE=CF2-1-CYMBAL
-
-pci:v0000104Cd00008020*
- ID_PRODUCT_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link)
-
-pci:v0000104Cd00008020sv00001028sd000000D8*
- ID_PRODUCT_FROM_DATABASE=Precision 530
-
-pci:v0000104Cd00008020sv0000104Dsd000080E2*
- ID_PRODUCT_FROM_DATABASE=VAIO PCV-J200
-
-pci:v0000104Cd00008020sv000011BDsd0000000F*
- ID_PRODUCT_FROM_DATABASE=Studio DV500-1394
-
-pci:v0000104Cd00008020sv000011BDsd0000001C*
- ID_PRODUCT_FROM_DATABASE=Excalibur 4.1
-
-pci:v0000104Cd00008020sv00001443sd00008010*
- ID_PRODUCT_FROM_DATABASE=FireBoard400-OHCI
-
-pci:v0000104Cd00008021*
- ID_PRODUCT_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated)
-
-pci:v0000104Cd00008021sv0000104Dsd000080DF*
- ID_PRODUCT_FROM_DATABASE=Vaio PCG-FX403
-
-pci:v0000104Cd00008021sv0000104Dsd000080E7*
- ID_PRODUCT_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
-
-pci:v0000104Cd00008022*
- ID_PRODUCT_FROM_DATABASE=TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx]
-
-pci:v0000104Cd00008022sv0000104Csd00008023*
- ID_PRODUCT_FROM_DATABASE=TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
-
-pci:v0000104Cd00008023*
- ID_PRODUCT_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx]
-
-pci:v0000104Cd00008023sv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v0000104Cd00008023sv00001043sd0000808B*
- ID_PRODUCT_FROM_DATABASE=K8N4-E Mainboard
-
-pci:v0000104Cd00008023sv00001043sd0000815B*
- ID_PRODUCT_FROM_DATABASE=P5W DH Deluxe Motherboard
-
-pci:v0000104Cd00008023sv00001443sd00008023*
- ID_PRODUCT_FROM_DATABASE=FireCard400
-
-pci:v0000104Cd00008023sv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v0000104Cd00008024*
- ID_PRODUCT_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)
-
-pci:v0000104Cd00008024sv0000107Dsd00006620*
- ID_PRODUCT_FROM_DATABASE=Winfast DV2000 FireWire Controller
-
-pci:v0000104Cd00008024sv00001443sd00008024*
- ID_PRODUCT_FROM_DATABASE=FireBoard Blue
-
-pci:v0000104Cd00008024sv00001458sd00001000*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
-
-pci:v0000104Cd00008025*
- ID_PRODUCT_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller
-
-pci:v0000104Cd00008025sv00001043sd0000813C*
- ID_PRODUCT_FROM_DATABASE=P5P series mainboard
-
-pci:v0000104Cd00008025sv00001443sd00008025*
- ID_PRODUCT_FROM_DATABASE=FireBoard800
-
-pci:v0000104Cd00008025sv00001458sd00001000*
- ID_PRODUCT_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
-
-pci:v0000104Cd00008025sv00001546sd00008025*
- ID_PRODUCT_FROM_DATABASE=FWB-PCI01
-
-pci:v0000104Cd00008025sv000017FCsd00008025*
- ID_PRODUCT_FROM_DATABASE=GIC3800
-
-pci:v0000104Cd00008026*
- ID_PRODUCT_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link)
-
-pci:v0000104Cd00008026sv00001025sd00000035*
- ID_PRODUCT_FROM_DATABASE=TravelMate 660
-
-pci:v0000104Cd00008026sv00001025sd0000003C*
- ID_PRODUCT_FROM_DATABASE=Aspire 2001WLCi (Compaq CL50 motherboard)
-
-pci:v0000104Cd00008026sv0000103Csd00000025*
- ID_PRODUCT_FROM_DATABASE=XE4500 Notebook
-
-pci:v0000104Cd00008026sv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=NX9500
-
-pci:v0000104Cd00008026sv00001043sd0000808D*
- ID_PRODUCT_FROM_DATABASE=A7V333 mainboard.
-
-pci:v0000104Cd00008027*
- ID_PRODUCT_FROM_DATABASE=PCI4451 IEEE-1394 Controller
-
-pci:v0000104Cd00008027sv00001028sd000000E6*
- ID_PRODUCT_FROM_DATABASE=PCI4451 IEEE-1394 Controller (Dell Inspiron 8100)
-
-pci:v0000104Cd00008029*
- ID_PRODUCT_FROM_DATABASE=PCI4510 IEEE-1394 Controller
-
-pci:v0000104Cd00008029sv00001028sd00000163*
- ID_PRODUCT_FROM_DATABASE=Latitude D505
-
-pci:v0000104Cd00008029sv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v0000104Cd00008029sv00001071sd00008160*
- ID_PRODUCT_FROM_DATABASE=MIM2900
-
-pci:v0000104Cd0000802B*
- ID_PRODUCT_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller
-
-pci:v0000104Cd0000802Bsv00001028sd00000139*
- ID_PRODUCT_FROM_DATABASE=Latitude D400
-
-pci:v0000104Cd0000802Bsv00001028sd0000014E*
- ID_PRODUCT_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D800)
-
-pci:v0000104Cd0000802E*
- ID_PRODUCT_FROM_DATABASE=PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller
-
-pci:v0000104Cd0000802Esv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v0000104Cd00008031*
- ID_PRODUCT_FROM_DATABASE=PCIxx21/x515 Cardbus Controller
-
-pci:v0000104Cd00008031sv00001025sd00000080*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMi
-
-pci:v0000104Cd00008031sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v0000104Cd00008031sv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v0000104Cd00008031sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v0000104Cd00008032*
- ID_PRODUCT_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller
-
-pci:v0000104Cd00008032sv00001025sd00000080*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMi
-
-pci:v0000104Cd00008032sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v0000104Cd00008032sv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v0000104Cd00008032sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v0000104Cd00008033*
- ID_PRODUCT_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller
-
-pci:v0000104Cd00008033sv00001025sd00000080*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMi
-
-pci:v0000104Cd00008033sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v0000104Cd00008033sv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v0000104Cd00008033sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v0000104Cd00008034*
- ID_PRODUCT_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller
-
-pci:v0000104Cd00008034sv00001025sd00000080*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMi
-
-pci:v0000104Cd00008034sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v0000104Cd00008034sv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v0000104Cd00008034sv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v0000104Cd00008035*
- ID_PRODUCT_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller
-
-pci:v0000104Cd00008035sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v0000104Cd00008035sv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v0000104Cd00008036*
- ID_PRODUCT_FROM_DATABASE=PCI6515 Cardbus Controller
-
-pci:v0000104Cd00008038*
- ID_PRODUCT_FROM_DATABASE=PCI6515 SmartCard Controller
-
-pci:v0000104Cd00008039*
- ID_PRODUCT_FROM_DATABASE=PCIxx12 Cardbus Controller
-
-pci:v0000104Cd00008039sv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v0000104Cd00008039sv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v0000104Cd00008039sv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v0000104Cd00008039sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v0000104Cd0000803A*
- ID_PRODUCT_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller
-
-pci:v0000104Cd0000803Asv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=nx9420
-
-pci:v0000104Cd0000803Asv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v0000104Cd0000803Asv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v0000104Cd0000803Asv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v0000104Cd0000803B*
- ID_PRODUCT_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
-
-pci:v0000104Cd0000803Bsv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=nx9420
-
-pci:v0000104Cd0000803Bsv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v0000104Cd0000803Bsv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v0000104Cd0000803C*
- ID_PRODUCT_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller
-
-pci:v0000104Cd0000803Csv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=nx9420
-
-pci:v0000104Cd0000803Csv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v0000104Cd0000803D*
- ID_PRODUCT_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller
-
-pci:v0000104Cd0000803Dsv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v0000104Cd0000803Dsv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v0000104Cd0000803Dsv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=nc8430
-
-pci:v0000104Cd0000803Dsv0000103Csd000030AA*
- ID_PRODUCT_FROM_DATABASE=nc6310
-
-pci:v0000104Cd00008101*
- ID_PRODUCT_FROM_DATABASE=TSB43DB42 IEEE-1394a-2000 Controller (PHY/Link)
-
-pci:v0000104Cd00008201*
- ID_PRODUCT_FROM_DATABASE=PCI1620 Firmware Loading Function
-
-pci:v0000104Cd00008204*
- ID_PRODUCT_FROM_DATABASE=PCI7410,7510,7610 PCI Firmware Loading Function
-
-pci:v0000104Cd00008204sv00001028sd00000139*
- ID_PRODUCT_FROM_DATABASE=Latitude D400
-
-pci:v0000104Cd00008204sv00001028sd0000014E*
- ID_PRODUCT_FROM_DATABASE=Latitude D800
-
-pci:v0000104Cd00008231*
- ID_PRODUCT_FROM_DATABASE=XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge
-
-pci:v0000104Cd00008231sv00005678sd00001234*
- ID_PRODUCT_FROM_DATABASE=DC-1394 PCIe
-
-pci:v0000104Cd00008232*
- ID_PRODUCT_FROM_DATABASE=XIO3130 PCI Express Switch (Upstream)
-
-pci:v0000104Cd00008233*
- ID_PRODUCT_FROM_DATABASE=XIO3130 PCI Express Switch (Downstream)
-
-pci:v0000104Cd00008235*
- ID_PRODUCT_FROM_DATABASE=XIO2200A IEEE-1394a-2000 Controller (PHY/Link)
-
-pci:v0000104Cd00008235sv00005678sd00001234*
- ID_PRODUCT_FROM_DATABASE=DC-1394 PCIe
-
-pci:v0000104Cd0000823E*
- ID_PRODUCT_FROM_DATABASE=XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express]
-
-pci:v0000104Cd0000823F*
- ID_PRODUCT_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express]
-
-pci:v0000104Cd0000823Fsv00001546sd0000803C*
- ID_PRODUCT_FROM_DATABASE=FWB-PCIE1X11B
-
-pci:v0000104Cd00008240*
- ID_PRODUCT_FROM_DATABASE=XIO2001 PCI Express-to-PCI Bridge
-
-pci:v0000104Cd00008241*
- ID_PRODUCT_FROM_DATABASE=TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller
-
-pci:v0000104Cd00008400*
- ID_PRODUCT_FROM_DATABASE=ACX 100 22Mbps Wireless Interface
-
-pci:v0000104Cd00008400sv00001186sd00003B00*
- ID_PRODUCT_FROM_DATABASE=DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus]
-
-pci:v0000104Cd00008400sv00001186sd00003B01*
- ID_PRODUCT_FROM_DATABASE=DWL-520+ 22Mbps PCI Wireless Adapter
-
-pci:v0000104Cd00008400sv00001395sd00002201*
- ID_PRODUCT_FROM_DATABASE=WL22-PC
-
-pci:v0000104Cd00008400sv000016ABsd00008501*
- ID_PRODUCT_FROM_DATABASE=WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter
-
-pci:v0000104Cd00008401*
- ID_PRODUCT_FROM_DATABASE=ACX 100 22Mbps Wireless Interface
-
-pci:v0000104Cd00009000*
- ID_PRODUCT_FROM_DATABASE=Wireless Interface (of unknown type)
-
-pci:v0000104Cd00009065*
- ID_PRODUCT_FROM_DATABASE=TMS320DM642
-
-pci:v0000104Cd00009066*
- ID_PRODUCT_FROM_DATABASE=ACX 111 54Mbps Wireless Interface
-
-pci:v0000104Cd00009066sv00000308sd00003404*
- ID_PRODUCT_FROM_DATABASE=G-102 v1 802.11g Wireless Cardbus Adapter
-
-pci:v0000104Cd00009066sv00000308sd00003406*
- ID_PRODUCT_FROM_DATABASE=G-162 v2 802.11g Wireless Cardbus Adapter
-
-pci:v0000104Cd00009066sv0000104Csd00009066*
- ID_PRODUCT_FROM_DATABASE=WL212 Sitecom Wireless Network PCI-Card 100M (Version 1)
-
-pci:v0000104Cd00009066sv0000104Csd00009096*
- ID_PRODUCT_FROM_DATABASE=Trendnet TEW-412PC Wireless PCI Adapter (Version A)
-
-pci:v0000104Cd00009066sv00001186sd00003B04*
- ID_PRODUCT_FROM_DATABASE=DWL-G520+ Wireless PCI Adapter
-
-pci:v0000104Cd00009066sv00001186sd00003B05*
- ID_PRODUCT_FROM_DATABASE=DWL-G650+ AirPlusG+ CardBus Wireless LAN
-
-pci:v0000104Cd00009066sv00001186sd00003B08*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.B1)
-
-pci:v0000104Cd00009066sv00001385sd00004C00*
- ID_PRODUCT_FROM_DATABASE=WG311v2 802.11g Wireless PCI Adapter
-
-pci:v0000104Cd00009066sv000013D1sd0000ABA0*
- ID_PRODUCT_FROM_DATABASE=SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+
-
-pci:v0000104Cd00009066sv000014EAsd0000AB07*
- ID_PRODUCT_FROM_DATABASE=GW-NS54GM Wireless Cardbus Adapter
-
-pci:v0000104Cd00009066sv000016ECsd0000010D*
- ID_PRODUCT_FROM_DATABASE=USR5416 802.11g Wireless Turbo PCI Adapter
-
-pci:v0000104Cd00009066sv000016ECsd0000010E*
- ID_PRODUCT_FROM_DATABASE=USR5410 802.11g Wireless Cardbus Adapter
-
-pci:v0000104Cd00009066sv00001737sd00000033*
- ID_PRODUCT_FROM_DATABASE=WPC54G v2 802.11g Wireless-G Notebook Adapter
-
-pci:v0000104Cd00009066sv000017CFsd00000032*
- ID_PRODUCT_FROM_DATABASE=G-162 v1 802.11g Wireless Cardbus Adapter
-
-pci:v0000104Cd00009066sv000017CFsd00000033*
- ID_PRODUCT_FROM_DATABASE=Z-Com XG650 Wireless miniPCI 802.11b/g
-
-pci:v0000104Cd00009066sv0000187Esd0000340B*
- ID_PRODUCT_FROM_DATABASE=G-302 v2 802.11g Wireless PCI Adapter
-
-pci:v0000104Cd00009066sv0000187Esd0000340C*
- ID_PRODUCT_FROM_DATABASE=G-360 v2 802.11g Wireless PCI Adapter
-
-pci:v0000104Cd0000A001*
- ID_PRODUCT_FROM_DATABASE=TDC1570
-
-pci:v0000104Cd0000A100*
- ID_PRODUCT_FROM_DATABASE=TDC1561
-
-pci:v0000104Cd0000A102*
- ID_PRODUCT_FROM_DATABASE=TNETA1575 HyperSAR Plus w/PCI Host i/f & UTOPIA i/f
-
-pci:v0000104Cd0000A106*
- ID_PRODUCT_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416
-
-pci:v0000104Cd0000A106sv0000175Csd00005000*
- ID_PRODUCT_FROM_DATABASE=ASI50xx Audio Adapter
-
-pci:v0000104Cd0000A106sv0000175Csd00006400*
- ID_PRODUCT_FROM_DATABASE=ASI6400 Cobranet series
-
-pci:v0000104Cd0000A106sv0000175Csd00008700*
- ID_PRODUCT_FROM_DATABASE=ASI87xx Radio Tuner card
-
-pci:v0000104Cd0000AC10*
- ID_PRODUCT_FROM_DATABASE=PCI1050
-
-pci:v0000104Cd0000AC11*
- ID_PRODUCT_FROM_DATABASE=PCI1053
-
-pci:v0000104Cd0000AC12*
- ID_PRODUCT_FROM_DATABASE=PCI1130
-
-pci:v0000104Cd0000AC13*
- ID_PRODUCT_FROM_DATABASE=PCI1031
-
-pci:v0000104Cd0000AC15*
- ID_PRODUCT_FROM_DATABASE=PCI1131
-
-pci:v0000104Cd0000AC16*
- ID_PRODUCT_FROM_DATABASE=PCI1250
-
-pci:v0000104Cd0000AC16sv00001014sd00000092*
- ID_PRODUCT_FROM_DATABASE=ThinkPad 600
-
-pci:v0000104Cd0000AC17*
- ID_PRODUCT_FROM_DATABASE=PCI1220
-
-pci:v0000104Cd0000AC18*
- ID_PRODUCT_FROM_DATABASE=PCI1260
-
-pci:v0000104Cd0000AC19*
- ID_PRODUCT_FROM_DATABASE=PCI1221
-
-pci:v0000104Cd0000AC1A*
- ID_PRODUCT_FROM_DATABASE=PCI1210
-
-pci:v0000104Cd0000AC1B*
- ID_PRODUCT_FROM_DATABASE=PCI1450
-
-pci:v0000104Cd0000AC1Bsv00000E11sd0000B113*
- ID_PRODUCT_FROM_DATABASE=Armada M700
-
-pci:v0000104Cd0000AC1Bsv00001014sd00000130*
- ID_PRODUCT_FROM_DATABASE=ThinkPad 600X/A21m/T20/T22
-
-pci:v0000104Cd0000AC1C*
- ID_PRODUCT_FROM_DATABASE=PCI1225
-
-pci:v0000104Cd0000AC1Csv00000E11sd0000B121*
- ID_PRODUCT_FROM_DATABASE=Armada E500
-
-pci:v0000104Cd0000AC1Csv00001028sd00000088*
- ID_PRODUCT_FROM_DATABASE=Latitude CPi A400XT
-
-pci:v0000104Cd0000AC1D*
- ID_PRODUCT_FROM_DATABASE=PCI1251A
-
-pci:v0000104Cd0000AC1E*
- ID_PRODUCT_FROM_DATABASE=PCI1211
-
-pci:v0000104Cd0000AC1F*
- ID_PRODUCT_FROM_DATABASE=PCI1251B
-
-pci:v0000104Cd0000AC20*
- ID_PRODUCT_FROM_DATABASE=TI 2030
-
-pci:v0000104Cd0000AC21*
- ID_PRODUCT_FROM_DATABASE=PCI2031
-
-pci:v0000104Cd0000AC22*
- ID_PRODUCT_FROM_DATABASE=PCI2032 PCI Docking Bridge
-
-pci:v0000104Cd0000AC23*
- ID_PRODUCT_FROM_DATABASE=PCI2250 PCI-to-PCI Bridge
-
-pci:v0000104Cd0000AC28*
- ID_PRODUCT_FROM_DATABASE=PCI2050 PCI-to-PCI Bridge
-
-pci:v0000104Cd0000AC2C*
- ID_PRODUCT_FROM_DATABASE=PCI2060 PCI-to-PCI Bridge
-
-pci:v0000104Cd0000AC30*
- ID_PRODUCT_FROM_DATABASE=PCI1260 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC40*
- ID_PRODUCT_FROM_DATABASE=PCI4450 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC41*
- ID_PRODUCT_FROM_DATABASE=PCI4410 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC42*
- ID_PRODUCT_FROM_DATABASE=PCI4451 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC42sv00001028sd000000E6*
- ID_PRODUCT_FROM_DATABASE=PCI4451 PC card CardBus Controller (Inspiron 8100)
-
-pci:v0000104Cd0000AC44*
- ID_PRODUCT_FROM_DATABASE=PCI4510 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC44sv00001028sd00000149*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5100
-
-pci:v0000104Cd0000AC44sv00001028sd00000163*
- ID_PRODUCT_FROM_DATABASE=Latitude D505
-
-pci:v0000104Cd0000AC44sv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v0000104Cd0000AC44sv00001071sd00008160*
- ID_PRODUCT_FROM_DATABASE=MIM2000
-
-pci:v0000104Cd0000AC46*
- ID_PRODUCT_FROM_DATABASE=PCI4520 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC46sv00001014sd00000552*
- ID_PRODUCT_FROM_DATABASE=ThinkPad
-
-pci:v0000104Cd0000AC47*
- ID_PRODUCT_FROM_DATABASE=PCI7510 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC47sv00001028sd00000139*
- ID_PRODUCT_FROM_DATABASE=Latitude D400
-
-pci:v0000104Cd0000AC47sv00001028sd0000013F*
- ID_PRODUCT_FROM_DATABASE=Precision M60
-
-pci:v0000104Cd0000AC47sv00001028sd0000014E*
- ID_PRODUCT_FROM_DATABASE=Latitude D800
-
-pci:v0000104Cd0000AC48*
- ID_PRODUCT_FROM_DATABASE=PCI7610 PC Card Cardbus Controller
-
-pci:v0000104Cd0000AC49*
- ID_PRODUCT_FROM_DATABASE=PCI7410 PC Card Cardbus Controller
-
-pci:v0000104Cd0000AC4A*
- ID_PRODUCT_FROM_DATABASE=PCI7510,7610 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC4Asv00001028sd00000139*
- ID_PRODUCT_FROM_DATABASE=Latitude D400
-
-pci:v0000104Cd0000AC4Asv00001028sd0000014E*
- ID_PRODUCT_FROM_DATABASE=Latitude D800
-
-pci:v0000104Cd0000AC4B*
- ID_PRODUCT_FROM_DATABASE=PCI7610 SD/MMC controller
-
-pci:v0000104Cd0000AC4C*
- ID_PRODUCT_FROM_DATABASE=PCI7610 Memory Stick controller
-
-pci:v0000104Cd0000AC50*
- ID_PRODUCT_FROM_DATABASE=PCI1410 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC51*
- ID_PRODUCT_FROM_DATABASE=PCI1420 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC51sv00000E11sd0000004E*
- ID_PRODUCT_FROM_DATABASE=Evo N600c
-
-pci:v0000104Cd0000AC51sv00001014sd00000148*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A20m
-
-pci:v0000104Cd0000AC51sv00001014sd0000023B*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T23
-
-pci:v0000104Cd0000AC51sv00001028sd000000B1*
- ID_PRODUCT_FROM_DATABASE=Latitude C600
-
-pci:v0000104Cd0000AC51sv00001028sd0000012A*
- ID_PRODUCT_FROM_DATABASE=Latitude C640
-
-pci:v0000104Cd0000AC51sv00001033sd000080CD*
- ID_PRODUCT_FROM_DATABASE=Versa Note VXi
-
-pci:v0000104Cd0000AC51sv000010CFsd00001095*
- ID_PRODUCT_FROM_DATABASE=Lifebook S-4510/C6155
-
-pci:v0000104Cd0000AC51sv0000E4BFsd00001000*
- ID_PRODUCT_FROM_DATABASE=CP2-2-HIPHOP
-
-pci:v0000104Cd0000AC52*
- ID_PRODUCT_FROM_DATABASE=PCI1451 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC53*
- ID_PRODUCT_FROM_DATABASE=PCI1421 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC54*
- ID_PRODUCT_FROM_DATABASE=PCI1620 PC Card Controller
-
-pci:v0000104Cd0000AC54sv0000103Csd000008B0*
- ID_PRODUCT_FROM_DATABASE=tc1100 tablet
-
-pci:v0000104Cd0000AC55*
- ID_PRODUCT_FROM_DATABASE=PCI1520 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC55sv00001014sd00000512*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T30/T40
-
-pci:v0000104Cd0000AC55sv0000103Csd00000025*
- ID_PRODUCT_FROM_DATABASE=XE4500 Notebook
-
-pci:v0000104Cd0000AC56*
- ID_PRODUCT_FROM_DATABASE=PCI1510 PC card Cardbus Controller
-
-pci:v0000104Cd0000AC56sv00001014sd00000512*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R50e
-
-pci:v0000104Cd0000AC56sv00001014sd00000528*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R40e
-
-pci:v0000104Cd0000AC56sv000017AAsd00002012*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v0000104Cd0000AC60*
- ID_PRODUCT_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller
-
-pci:v0000104Cd0000AC60sv0000175Csd00005100*
- ID_PRODUCT_FROM_DATABASE=ASI51xx Audio Adapter
-
-pci:v0000104Cd0000AC60sv0000175Csd00006100*
- ID_PRODUCT_FROM_DATABASE=ASI61xx Audio Adapter
-
-pci:v0000104Cd0000AC60sv0000175Csd00006200*
- ID_PRODUCT_FROM_DATABASE=ASI62xx Audio Adapter
-
-pci:v0000104Cd0000AC60sv0000175Csd00008800*
- ID_PRODUCT_FROM_DATABASE=ASI88xx Audio Adapter
-
-pci:v0000104Cd0000AC60sv0000186Fsd00003001*
- ID_PRODUCT_FROM_DATABASE=WR-G303 PCI radio receiver
-
-pci:v0000104Cd0000AC60sv0000186Fsd00003005*
- ID_PRODUCT_FROM_DATABASE=WR-G305 PCI radio receiver
-
-pci:v0000104Cd0000AC60sv0000186Fsd00003101*
- ID_PRODUCT_FROM_DATABASE=WR-G313 PCI radio receiver
-
-pci:v0000104Cd0000AC60sv0000186Fsd00003105*
- ID_PRODUCT_FROM_DATABASE=WR-G315 PCI radio receiver
-
-pci:v0000104Cd0000AC8D*
- ID_PRODUCT_FROM_DATABASE=PCI 7620
-
-pci:v0000104Cd0000AC8E*
- ID_PRODUCT_FROM_DATABASE=PCI7420 CardBus Controller
-
-pci:v0000104Cd0000AC8Esv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v0000104Cd0000AC8F*
- ID_PRODUCT_FROM_DATABASE=PCI7420/7620 Combo CardBus, 1394a-2000 OHCI and SD/MS-Pro Controller
-
-pci:v0000104Cd0000AC8Fsv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v0000104Cd0000B001*
- ID_PRODUCT_FROM_DATABASE=TMS320C6424
-
-pci:v0000104Cd0000FE00*
- ID_PRODUCT_FROM_DATABASE=FireWire Host Controller
-
-pci:v0000104Cd0000FE03*
- ID_PRODUCT_FROM_DATABASE=12C01A FireWire Host Controller
-
-pci:v0000104D*
- ID_VENDOR_FROM_DATABASE=Sony Corporation
-
-pci:v0000104Dd00008004*
- ID_PRODUCT_FROM_DATABASE=DTL-H2500 [Playstation development board]
-
-pci:v0000104Dd00008009*
- ID_PRODUCT_FROM_DATABASE=CXD1947Q i.LINK Controller
-
-pci:v0000104Dd00008039*
- ID_PRODUCT_FROM_DATABASE=CXD3222 i.LINK Controller
-
-pci:v0000104Dd00008056*
- ID_PRODUCT_FROM_DATABASE=Rockwell HCF 56K modem
-
-pci:v0000104Dd0000808A*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Controller
-
-pci:v0000104Dd000081CE*
- ID_PRODUCT_FROM_DATABASE=SxS Pro memory card
-
-pci:v0000104Dd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v0000104E*
- ID_VENDOR_FROM_DATABASE=Oak Technology, Inc
-
-pci:v0000104Ed00000017*
- ID_PRODUCT_FROM_DATABASE=OTI-64017
-
-pci:v0000104Ed00000107*
- ID_PRODUCT_FROM_DATABASE=OTI-107 [Spitfire]
-
-pci:v0000104Ed00000109*
- ID_PRODUCT_FROM_DATABASE=Video Adapter
-
-pci:v0000104Ed00000111*
- ID_PRODUCT_FROM_DATABASE=OTI-64111 [Spitfire]
-
-pci:v0000104Ed00000217*
- ID_PRODUCT_FROM_DATABASE=OTI-64217
-
-pci:v0000104Ed00000317*
- ID_PRODUCT_FROM_DATABASE=OTI-64317
-
-pci:v0000104F*
- ID_VENDOR_FROM_DATABASE=Co-time Computer Ltd
-
-pci:v00001050*
- ID_VENDOR_FROM_DATABASE=Winbond Electronics Corp
-
-pci:v00001050d00000000*
- ID_PRODUCT_FROM_DATABASE=NE2000
-
-pci:v00001050d00000001*
- ID_PRODUCT_FROM_DATABASE=W83769F
-
-pci:v00001050d00000033*
- ID_PRODUCT_FROM_DATABASE=W89C33D 802.11 a/b/g BB/MAC
-
-pci:v00001050d00000105*
- ID_PRODUCT_FROM_DATABASE=W82C105
-
-pci:v00001050d00000840*
- ID_PRODUCT_FROM_DATABASE=W89C840
-
-pci:v00001050d00000840sv00001050sd00000001*
- ID_PRODUCT_FROM_DATABASE=W89C840 Ethernet Adapter
-
-pci:v00001050d00000840sv00001050sd00000840*
- ID_PRODUCT_FROM_DATABASE=W89C840 Ethernet Adapter
-
-pci:v00001050d00000940*
- ID_PRODUCT_FROM_DATABASE=W89C940
-
-pci:v00001050d00005A5A*
- ID_PRODUCT_FROM_DATABASE=W89C940F
-
-pci:v00001050d00006692*
- ID_PRODUCT_FROM_DATABASE=W6692
-
-pci:v00001050d00006692sv00001043sd00001702*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter (PCI Bus, D, W)
-
-pci:v00001050d00006692sv00001043sd00001703*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
-
-pci:v00001050d00006692sv00001043sd00001707*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
-
-pci:v00001050d00006692sv0000144Fsd00001702*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter (PCI Bus, D, W)
-
-pci:v00001050d00006692sv0000144Fsd00001703*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
-
-pci:v00001050d00006692sv0000144Fsd00001707*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W)
-
-pci:v00001050d00009921*
- ID_PRODUCT_FROM_DATABASE=W99200F MPEG-1 Video Encoder
-
-pci:v00001050d00009922*
- ID_PRODUCT_FROM_DATABASE=W99200F/W9922PF MPEG-1/2 Video Encoder
-
-pci:v00001050d00009970*
- ID_PRODUCT_FROM_DATABASE=W9970CF
-
-pci:v00001051*
- ID_VENDOR_FROM_DATABASE=Anigma, Inc.
-
-pci:v00001052*
- ID_VENDOR_FROM_DATABASE=?Young Micro Systems
-
-pci:v00001053*
- ID_VENDOR_FROM_DATABASE=Young Micro Systems
-
-pci:v00001054*
- ID_VENDOR_FROM_DATABASE=Hitachi, Ltd
-
-pci:v00001054d00003009*
- ID_PRODUCT_FROM_DATABASE=2Gbps Fibre Channel to PCI HBA 3009
-
-pci:v00001054d0000300A*
- ID_PRODUCT_FROM_DATABASE=4Gbps Fibre Channel to PCI-X HBA 300a
-
-pci:v00001054d0000300B*
- ID_PRODUCT_FROM_DATABASE=4Gbps Fibre Channel to PCI-X HBA 300b
-
-pci:v00001054d0000300F*
- ID_PRODUCT_FROM_DATABASE=ColdFusion 3 Chipset Processor to I/O Controller
-
-pci:v00001054d00003010*
- ID_PRODUCT_FROM_DATABASE=ColdFusion 3 Chipset Memory Controller Hub
-
-pci:v00001054d00003011*
- ID_PRODUCT_FROM_DATABASE=ColdFusion 3e Chipset Processor to I/O Controller
-
-pci:v00001054d00003012*
- ID_PRODUCT_FROM_DATABASE=ColdFusion 3e Chipset Memory Controller Hub
-
-pci:v00001054d00003017*
- ID_PRODUCT_FROM_DATABASE=Unassigned Hitachi Shared FC Device 3017
-
-pci:v00001054d0000301B*
- ID_PRODUCT_FROM_DATABASE=Virtual VGA Device
-
-pci:v00001054d0000301D*
- ID_PRODUCT_FROM_DATABASE=PCIe-to-PCIe Bridge with Virtualization IO Assist Feature
-
-pci:v00001054d00003020*
- ID_PRODUCT_FROM_DATABASE=FIVE-EX based Fibre Channel to PCIe HBA
-
-pci:v00001054d0000302C*
- ID_PRODUCT_FROM_DATABASE=M001 PCI Express Switch Upstream Port
-
-pci:v00001054d0000302D*
- ID_PRODUCT_FROM_DATABASE=M001 PCI Express Switch Downstream Port
-
-pci:v00001054d00003505*
- ID_PRODUCT_FROM_DATABASE=SH7751 PCI Controller (PCIC)
-
-pci:v00001054d0000350E*
- ID_PRODUCT_FROM_DATABASE=SH7751R PCI Controller (PCIC)
-
-pci:v00001055*
- ID_VENDOR_FROM_DATABASE=Efar Microsystems
-
-pci:v00001055d00009130*
- ID_PRODUCT_FROM_DATABASE=SLC90E66 [Victory66] IDE
-
-pci:v00001055d00009460*
- ID_PRODUCT_FROM_DATABASE=SLC90E66 [Victory66] ISA
-
-pci:v00001055d00009462*
- ID_PRODUCT_FROM_DATABASE=SLC90E66 [Victory66] USB
-
-pci:v00001055d00009463*
- ID_PRODUCT_FROM_DATABASE=SLC90E66 [Victory66] ACPI
-
-pci:v00001055d0000E420*
- ID_PRODUCT_FROM_DATABASE=LAN9420/LAN9420i
-
-pci:v00001056*
- ID_VENDOR_FROM_DATABASE=ICL
-
-pci:v00001057*
- ID_VENDOR_FROM_DATABASE=Motorola
-
-pci:v00001057d00000001*
- ID_PRODUCT_FROM_DATABASE=MPC105 [Eagle]
-
-pci:v00001057d00000002*
- ID_PRODUCT_FROM_DATABASE=MPC106 [Grackle]
-
-pci:v00001057d00000003*
- ID_PRODUCT_FROM_DATABASE=MPC8240 [Kahlua]
-
-pci:v00001057d00000004*
- ID_PRODUCT_FROM_DATABASE=MPC107
-
-pci:v00001057d00000006*
- ID_PRODUCT_FROM_DATABASE=MPC8245 [Unity]
-
-pci:v00001057d00000008*
- ID_PRODUCT_FROM_DATABASE=MPC8540
-
-pci:v00001057d00000009*
- ID_PRODUCT_FROM_DATABASE=MPC8560
-
-pci:v00001057d00000012*
- ID_PRODUCT_FROM_DATABASE=MPC8548 [PowerQUICC III]
-
-pci:v00001057d00000100*
- ID_PRODUCT_FROM_DATABASE=MC145575 [HFC-PCI]
-
-pci:v00001057d00000431*
- ID_PRODUCT_FROM_DATABASE=KTI829c 100VG
-
-pci:v00001057d00001073*
- ID_PRODUCT_FROM_DATABASE=Nokia N770
-
-pci:v00001057d00001219*
- ID_PRODUCT_FROM_DATABASE=Nokia N800
-
-pci:v00001057d00001801*
- ID_PRODUCT_FROM_DATABASE=DSP56301 Digital Signal Processor
-
-pci:v00001057d00001801sv000014FBsd00000101*
- ID_PRODUCT_FROM_DATABASE=Transas Radar Imitator Board [RIM]
-
-pci:v00001057d00001801sv000014FBsd00000102*
- ID_PRODUCT_FROM_DATABASE=Transas Radar Imitator Board [RIM-2]
-
-pci:v00001057d00001801sv000014FBsd00000202*
- ID_PRODUCT_FROM_DATABASE=Transas Radar Integrator Board [RIB-2]
-
-pci:v00001057d00001801sv000014FBsd00000611*
- ID_PRODUCT_FROM_DATABASE=1 channel CAN bus Controller [CanPci-1]
-
-pci:v00001057d00001801sv000014FBsd00000612*
- ID_PRODUCT_FROM_DATABASE=2 channels CAN bus Controller [CanPci-2]
-
-pci:v00001057d00001801sv000014FBsd00000613*
- ID_PRODUCT_FROM_DATABASE=3 channels CAN bus Controller [CanPci-3]
-
-pci:v00001057d00001801sv000014FBsd00000614*
- ID_PRODUCT_FROM_DATABASE=4 channels CAN bus Controller [CanPci-4]
-
-pci:v00001057d00001801sv000014FBsd00000621*
- ID_PRODUCT_FROM_DATABASE=1 channel CAN bus Controller [CanPci2-1]
-
-pci:v00001057d00001801sv000014FBsd00000622*
- ID_PRODUCT_FROM_DATABASE=2 channels CAN bus Controller [CanPci2-2]
-
-pci:v00001057d00001801sv000014FBsd00000810*
- ID_PRODUCT_FROM_DATABASE=Transas VTS Radar Integrator Board [RIB-4]
-
-pci:v00001057d00001801sv0000175Csd00004200*
- ID_PRODUCT_FROM_DATABASE=ASI4215 Audio Adapter
-
-pci:v00001057d00001801sv0000175Csd00004300*
- ID_PRODUCT_FROM_DATABASE=ASI43xx Audio Adapter
-
-pci:v00001057d00001801sv0000175Csd00004400*
- ID_PRODUCT_FROM_DATABASE=ASI4401 Audio Adapter
-
-pci:v00001057d00001801sv0000ECC0sd00000010*
- ID_PRODUCT_FROM_DATABASE=Darla
-
-pci:v00001057d00001801sv0000ECC0sd00000020*
- ID_PRODUCT_FROM_DATABASE=Gina
-
-pci:v00001057d00001801sv0000ECC0sd00000030*
- ID_PRODUCT_FROM_DATABASE=Layla rev.0
-
-pci:v00001057d00001801sv0000ECC0sd00000031*
- ID_PRODUCT_FROM_DATABASE=Layla rev.1
-
-pci:v00001057d00001801sv0000ECC0sd00000040*
- ID_PRODUCT_FROM_DATABASE=Darla24 rev.0
-
-pci:v00001057d00001801sv0000ECC0sd00000041*
- ID_PRODUCT_FROM_DATABASE=Darla24 rev.1
-
-pci:v00001057d00001801sv0000ECC0sd00000050*
- ID_PRODUCT_FROM_DATABASE=Gina24 rev.0
-
-pci:v00001057d00001801sv0000ECC0sd00000051*
- ID_PRODUCT_FROM_DATABASE=Gina24 rev.1
-
-pci:v00001057d00001801sv0000ECC0sd00000070*
- ID_PRODUCT_FROM_DATABASE=Mona rev.0
-
-pci:v00001057d00001801sv0000ECC0sd00000071*
- ID_PRODUCT_FROM_DATABASE=Mona rev.1
-
-pci:v00001057d00001801sv0000ECC0sd00000072*
- ID_PRODUCT_FROM_DATABASE=Mona rev.2
-
-pci:v00001057d000018C0*
- ID_PRODUCT_FROM_DATABASE=MPC8265A/8266/8272
-
-pci:v00001057d000018C1*
- ID_PRODUCT_FROM_DATABASE=MPC8271/MPC8272
-
-pci:v00001057d00003052*
- ID_PRODUCT_FROM_DATABASE=SM56 Data Fax Modem
-
-pci:v00001057d00003055*
- ID_PRODUCT_FROM_DATABASE=SM56 Data Fax Modem
-
-pci:v00001057d00003410*
- ID_PRODUCT_FROM_DATABASE=DSP56361 Digital Signal Processor
-
-pci:v00001057d00003410sv0000ECC0sd00000050*
- ID_PRODUCT_FROM_DATABASE=Gina24 rev.0
-
-pci:v00001057d00003410sv0000ECC0sd00000051*
- ID_PRODUCT_FROM_DATABASE=Gina24 rev.1
-
-pci:v00001057d00003410sv0000ECC0sd00000060*
- ID_PRODUCT_FROM_DATABASE=Layla24
-
-pci:v00001057d00003410sv0000ECC0sd00000070*
- ID_PRODUCT_FROM_DATABASE=Mona rev.0
-
-pci:v00001057d00003410sv0000ECC0sd00000071*
- ID_PRODUCT_FROM_DATABASE=Mona rev.1
-
-pci:v00001057d00003410sv0000ECC0sd00000072*
- ID_PRODUCT_FROM_DATABASE=Mona rev.2
-
-pci:v00001057d00003410sv0000ECC0sd00000080*
- ID_PRODUCT_FROM_DATABASE=Mia rev.0
-
-pci:v00001057d00003410sv0000ECC0sd00000081*
- ID_PRODUCT_FROM_DATABASE=Mia rev.1
-
-pci:v00001057d00003410sv0000ECC0sd00000090*
- ID_PRODUCT_FROM_DATABASE=Indigo
-
-pci:v00001057d00003410sv0000ECC0sd000000A0*
- ID_PRODUCT_FROM_DATABASE=Indigo IO
-
-pci:v00001057d00003410sv0000ECC0sd000000B0*
- ID_PRODUCT_FROM_DATABASE=Indigo DJ
-
-pci:v00001057d00003410sv0000ECC0sd00000100*
- ID_PRODUCT_FROM_DATABASE=3G
-
-pci:v00001057d00004801*
- ID_PRODUCT_FROM_DATABASE=Raven
-
-pci:v00001057d00004802*
- ID_PRODUCT_FROM_DATABASE=Falcon
-
-pci:v00001057d00004803*
- ID_PRODUCT_FROM_DATABASE=Hawk
-
-pci:v00001057d00004806*
- ID_PRODUCT_FROM_DATABASE=CPX8216
-
-pci:v00001057d00004D68*
- ID_PRODUCT_FROM_DATABASE=20268
-
-pci:v00001057d00005600*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Modem
-
-pci:v00001057d00005600sv00001057sd00000300*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Speakerphone Modem
-
-pci:v00001057d00005600sv00001057sd00000301*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Voice Modem
-
-pci:v00001057d00005600sv00001057sd00000302*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Fax Modem
-
-pci:v00001057d00005600sv00001057sd00005600*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Voice modem
-
-pci:v00001057d00005600sv000013D2sd00000300*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Speakerphone Modem
-
-pci:v00001057d00005600sv000013D2sd00000301*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Voice modem
-
-pci:v00001057d00005600sv000013D2sd00000302*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Fax Modem
-
-pci:v00001057d00005600sv00001436sd00000300*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Speakerphone Modem
-
-pci:v00001057d00005600sv00001436sd00000301*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Voice modem
-
-pci:v00001057d00005600sv00001436sd00000302*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Fax Modem
-
-pci:v00001057d00005600sv0000144Fsd0000100C*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Fax Modem
-
-pci:v00001057d00005600sv00001494sd00000300*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Speakerphone Modem
-
-pci:v00001057d00005600sv00001494sd00000301*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Voice modem
-
-pci:v00001057d00005600sv000014C8sd00000300*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Speakerphone Modem
-
-pci:v00001057d00005600sv000014C8sd00000302*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Fax Modem
-
-pci:v00001057d00005600sv00001668sd00000300*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Speakerphone Modem
-
-pci:v00001057d00005600sv00001668sd00000302*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI Fax Modem
-
-pci:v00001057d00005608*
- ID_PRODUCT_FROM_DATABASE=Wildcard X100P
-
-pci:v00001057d00005803*
- ID_PRODUCT_FROM_DATABASE=MPC5200
-
-pci:v00001057d00005806*
- ID_PRODUCT_FROM_DATABASE=MCF54 Coldfire
-
-pci:v00001057d00005808*
- ID_PRODUCT_FROM_DATABASE=MPC8220
-
-pci:v00001057d00005809*
- ID_PRODUCT_FROM_DATABASE=MPC5200B
-
-pci:v00001057d00006400*
- ID_PRODUCT_FROM_DATABASE=MPC190 Security Processor (S1 family, encryption)
-
-pci:v00001057d00006405*
- ID_PRODUCT_FROM_DATABASE=MPC184 Security Processor (S1 family)
-
-pci:v00001058*
- ID_VENDOR_FROM_DATABASE=Electronics & Telecommunications RSH
-
-pci:v00001059*
- ID_VENDOR_FROM_DATABASE=Kontron
-
-pci:v0000105A*
- ID_VENDOR_FROM_DATABASE=Promise Technology, Inc.
-
-pci:v0000105Ad00000D30*
- ID_PRODUCT_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100)
-
-pci:v0000105Ad00000D30sv00001043sd00008042*
- ID_PRODUCT_FROM_DATABASE=AV7266-E South Bridge Promise RAID
-
-pci:v0000105Ad00000D30sv0000105Asd00004D33*
- ID_PRODUCT_FROM_DATABASE=Ultra100
-
-pci:v0000105Ad00000D38*
- ID_PRODUCT_FROM_DATABASE=20263
-
-pci:v0000105Ad00000D38sv0000105Asd00004D39*
- ID_PRODUCT_FROM_DATABASE=Fasttrak66
-
-pci:v0000105Ad00001275*
- ID_PRODUCT_FROM_DATABASE=20275
-
-pci:v0000105Ad00003318*
- ID_PRODUCT_FROM_DATABASE=PDC20318 (SATA150 TX4)
-
-pci:v0000105Ad00003319*
- ID_PRODUCT_FROM_DATABASE=PDC20319 (FastTrak S150 TX4)
-
-pci:v0000105Ad00003319sv00008086sd00003427*
- ID_PRODUCT_FROM_DATABASE=S875WP1-E mainboard
-
-pci:v0000105Ad00003371*
- ID_PRODUCT_FROM_DATABASE=PDC20371 (FastTrak S150 TX2plus)
-
-pci:v0000105Ad00003373*
- ID_PRODUCT_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378)
-
-pci:v0000105Ad00003373sv00001043sd000080F5*
- ID_PRODUCT_FROM_DATABASE=K8V Deluxe/PC-DL Deluxe motherboard
-
-pci:v0000105Ad00003373sv00001462sd0000590D*
- ID_PRODUCT_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
-
-pci:v0000105Ad00003373sv00001462sd0000702E*
- ID_PRODUCT_FROM_DATABASE=K8T NEO FIS2R motherboard
-
-pci:v0000105Ad00003375*
- ID_PRODUCT_FROM_DATABASE=PDC20375 (SATA150 TX2plus)
-
-pci:v0000105Ad00003376*
- ID_PRODUCT_FROM_DATABASE=PDC20376 (FastTrak 376)
-
-pci:v0000105Ad00003376sv00001043sd0000809E*
- ID_PRODUCT_FROM_DATABASE=A7V8X motherboard
-
-pci:v0000105Ad00003515*
- ID_PRODUCT_FROM_DATABASE=PDC40719 [FastTrak TX4300/TX4310]
-
-pci:v0000105Ad00003519*
- ID_PRODUCT_FROM_DATABASE=PDC40519 (FastTrak TX4200)
-
-pci:v0000105Ad00003570*
- ID_PRODUCT_FROM_DATABASE=PDC20771 [FastTrak TX2300]
-
-pci:v0000105Ad00003571*
- ID_PRODUCT_FROM_DATABASE=PDC20571 (FastTrak TX2200)
-
-pci:v0000105Ad00003574*
- ID_PRODUCT_FROM_DATABASE=PDC20579 SATAII 150 IDE Controller
-
-pci:v0000105Ad00003577*
- ID_PRODUCT_FROM_DATABASE=PDC40779 (SATA 300 779)
-
-pci:v0000105Ad00003D17*
- ID_PRODUCT_FROM_DATABASE=PDC40718 (SATA 300 TX4)
-
-pci:v0000105Ad00003D18*
- ID_PRODUCT_FROM_DATABASE=PDC20518/PDC40518 (SATAII 150 TX4)
-
-pci:v0000105Ad00003D73*
- ID_PRODUCT_FROM_DATABASE=PDC40775 (SATA 300 TX2plus)
-
-pci:v0000105Ad00003D75*
- ID_PRODUCT_FROM_DATABASE=PDC20575 (SATAII150 TX2plus)
-
-pci:v0000105Ad00003F20*
- ID_PRODUCT_FROM_DATABASE=PDC42819 [FastTrak TX2650/TX4650]
-
-pci:v0000105Ad00004302*
- ID_PRODUCT_FROM_DATABASE=80333 [SuperTrak EX4350]
-
-pci:v0000105Ad00004D30*
- ID_PRODUCT_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100)
-
-pci:v0000105Ad00004D30sv0000105Asd00004D33*
- ID_PRODUCT_FROM_DATABASE=Ultra100
-
-pci:v0000105Ad00004D30sv0000105Asd00004D39*
- ID_PRODUCT_FROM_DATABASE=FastTrak100
-
-pci:v0000105Ad00004D30sv00008086sd00005744*
- ID_PRODUCT_FROM_DATABASE=S845WD1-E mainboard
-
-pci:v0000105Ad00004D33*
- ID_PRODUCT_FROM_DATABASE=20246
-
-pci:v0000105Ad00004D33sv0000105Asd00004D33*
- ID_PRODUCT_FROM_DATABASE=20246 IDE Controller
-
-pci:v0000105Ad00004D38*
- ID_PRODUCT_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66)
-
-pci:v0000105Ad00004D38sv0000105Asd00004D30*
- ID_PRODUCT_FROM_DATABASE=Ultra Device on SuperTrak
-
-pci:v0000105Ad00004D38sv0000105Asd00004D33*
- ID_PRODUCT_FROM_DATABASE=Ultra66
-
-pci:v0000105Ad00004D38sv0000105Asd00004D39*
- ID_PRODUCT_FROM_DATABASE=FastTrak66
-
-pci:v0000105Ad00004D68*
- ID_PRODUCT_FROM_DATABASE=PDC20268 [Ultra100 TX2]
-
-pci:v0000105Ad00004D68sv0000105Asd00004D68*
- ID_PRODUCT_FROM_DATABASE=Ultra100 TX2
-
-pci:v0000105Ad00004D69*
- ID_PRODUCT_FROM_DATABASE=20269
-
-pci:v0000105Ad00004D69sv0000105Asd00004D68*
- ID_PRODUCT_FROM_DATABASE=Ultra133TX2
-
-pci:v0000105Ad00005275*
- ID_PRODUCT_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite)
-
-pci:v0000105Ad00005275sv00001043sd0000807E*
- ID_PRODUCT_FROM_DATABASE=A7V333 motherboard.
-
-pci:v0000105Ad00005275sv0000105Asd00000275*
- ID_PRODUCT_FROM_DATABASE=SuperTrak SX6000 IDE
-
-pci:v0000105Ad00005275sv0000105Asd00001275*
- ID_PRODUCT_FROM_DATABASE=MBFastTrak133 Lite (tm) Controller (RAID mode)
-
-pci:v0000105Ad00005275sv00001458sd0000B001*
- ID_PRODUCT_FROM_DATABASE=MBUltra 133
-
-pci:v0000105Ad00005300*
- ID_PRODUCT_FROM_DATABASE=DC5300
-
-pci:v0000105Ad00006268*
- ID_PRODUCT_FROM_DATABASE=PDC20270 (FastTrak100 LP/TX2/TX4)
-
-pci:v0000105Ad00006268sv0000105Asd00004D68*
- ID_PRODUCT_FROM_DATABASE=FastTrak100 TX2
-
-pci:v0000105Ad00006269*
- ID_PRODUCT_FROM_DATABASE=PDC20271 (FastTrak TX2000)
-
-pci:v0000105Ad00006269sv0000105Asd00006269*
- ID_PRODUCT_FROM_DATABASE=FastTrak TX2/TX2000
-
-pci:v0000105Ad00006300*
- ID_PRODUCT_FROM_DATABASE=PDC81731 [FastTrak SX8300]
-
-pci:v0000105Ad00006621*
- ID_PRODUCT_FROM_DATABASE=PDC20621 (FastTrak S150 SX4/FastTrak SX4000 lite)
-
-pci:v0000105Ad00006622*
- ID_PRODUCT_FROM_DATABASE=PDC20621 [SATA150 SX4] 4 Channel IDE RAID Controller
-
-pci:v0000105Ad00006624*
- ID_PRODUCT_FROM_DATABASE=PDC20621 [FastTrak SX4100]
-
-pci:v0000105Ad00006626*
- ID_PRODUCT_FROM_DATABASE=PDC20618 (Ultra 618)
-
-pci:v0000105Ad00006629*
- ID_PRODUCT_FROM_DATABASE=PDC20619 (FastTrak TX4000)
-
-pci:v0000105Ad00007275*
- ID_PRODUCT_FROM_DATABASE=PDC20277 (SBFastTrak133 Lite)
-
-pci:v0000105Ad00008002*
- ID_PRODUCT_FROM_DATABASE=SATAII150 SX8
-
-pci:v0000105Ad00008350*
- ID_PRODUCT_FROM_DATABASE=80333 [SuperTrak EX8350/EX16350], 80331 [SuperTrak EX8300/EX16300]
-
-pci:v0000105Ad00008650*
- ID_PRODUCT_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller]
-
-pci:v0000105Ad00008650sv0000105Asd00004600*
- ID_PRODUCT_FROM_DATABASE=SuperTrak EX4650A
-
-pci:v0000105Ad00008650sv0000105Asd00004601*
- ID_PRODUCT_FROM_DATABASE=SuperTrak EX4650
-
-pci:v0000105Ad00008650sv0000105Asd00004610*
- ID_PRODUCT_FROM_DATABASE=SuperTrak EX4650EL
-
-pci:v0000105Ad00008650sv0000105Asd00008600*
- ID_PRODUCT_FROM_DATABASE=SuperTrak EX8650EL
-
-pci:v0000105Ad00008650sv0000105Asd00008601*
- ID_PRODUCT_FROM_DATABASE=SuperTrak EX8650A
-
-pci:v0000105Ad00008650sv0000105Asd00008602*
- ID_PRODUCT_FROM_DATABASE=SuperTrak EX8654
-
-pci:v0000105Ad00008650sv0000105Asd00008603*
- ID_PRODUCT_FROM_DATABASE=SuperTrak EX8658
-
-pci:v0000105Ad00008650sv0000105Asd00008604*
- ID_PRODUCT_FROM_DATABASE=SuperTrak EX8650
-
-pci:v0000105Ad00008650sv0000105Asd00008610*
- ID_PRODUCT_FROM_DATABASE=SuperTrak EX8650M
-
-pci:v0000105Ad00008650sv0000105Asd0000A600*
- ID_PRODUCT_FROM_DATABASE=SuperTrak EX12650
-
-pci:v0000105Ad00008650sv0000105Asd0000B600*
- ID_PRODUCT_FROM_DATABASE=SuperTrak EX16650
-
-pci:v0000105Ad00008650sv0000105Asd0000B601*
- ID_PRODUCT_FROM_DATABASE=SuperTrak EX16654
-
-pci:v0000105Ad00008650sv0000105Asd0000B602*
- ID_PRODUCT_FROM_DATABASE=SuperTrak EX16658
-
-pci:v0000105Ad00008760*
- ID_PRODUCT_FROM_DATABASE=PM8010 [SuperTrak EX SAS and SATA 6G RAID Controller]
-
-pci:v0000105Ad0000C350*
- ID_PRODUCT_FROM_DATABASE=80333 [SuperTrak EX12350]
-
-pci:v0000105Ad0000E350*
- ID_PRODUCT_FROM_DATABASE=80333 [SuperTrak EX24350]
-
-pci:v0000105B*
- ID_VENDOR_FROM_DATABASE=Foxconn International, Inc.
-
-pci:v0000105Bd00000C4D*
- ID_PRODUCT_FROM_DATABASE=SiS AC'97 Sound Controller
-
-pci:v0000105C*
- ID_VENDOR_FROM_DATABASE=Wipro Infotech Limited
-
-pci:v0000105D*
- ID_VENDOR_FROM_DATABASE=Number 9 Computer Company
-
-pci:v0000105Dd00002309*
- ID_PRODUCT_FROM_DATABASE=Imagine 128
-
-pci:v0000105Dd00002339*
- ID_PRODUCT_FROM_DATABASE=Imagine 128-II
-
-pci:v0000105Dd00002339sv0000105Dsd00000000*
- ID_PRODUCT_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
-
-pci:v0000105Dd00002339sv0000105Dsd00000001*
- ID_PRODUCT_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
-
-pci:v0000105Dd00002339sv0000105Dsd00000002*
- ID_PRODUCT_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
-
-pci:v0000105Dd00002339sv0000105Dsd00000003*
- ID_PRODUCT_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
-
-pci:v0000105Dd00002339sv0000105Dsd00000004*
- ID_PRODUCT_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
-
-pci:v0000105Dd00002339sv0000105Dsd00000005*
- ID_PRODUCT_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
-
-pci:v0000105Dd00002339sv0000105Dsd00000006*
- ID_PRODUCT_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
-
-pci:v0000105Dd00002339sv0000105Dsd00000007*
- ID_PRODUCT_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM
-
-pci:v0000105Dd00002339sv0000105Dsd00000008*
- ID_PRODUCT_FROM_DATABASE=Imagine 128 series 2e 4Mb DRAM
-
-pci:v0000105Dd00002339sv0000105Dsd00000009*
- ID_PRODUCT_FROM_DATABASE=Imagine 128 series 2e 4Mb DRAM
-
-pci:v0000105Dd00002339sv0000105Dsd0000000A*
- ID_PRODUCT_FROM_DATABASE=Imagine 128 series 2 8Mb VRAM
-
-pci:v0000105Dd00002339sv0000105Dsd0000000B*
- ID_PRODUCT_FROM_DATABASE=Imagine 128 series 2 8Mb H-VRAM
-
-pci:v0000105Dd00002339sv000011A4sd0000000A*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel
-
-pci:v0000105Dd00002339sv000013CCsd00000000*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel
-
-pci:v0000105Dd00002339sv000013CCsd00000004*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel
-
-pci:v0000105Dd00002339sv000013CCsd00000005*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel
-
-pci:v0000105Dd00002339sv000013CCsd00000006*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel
-
-pci:v0000105Dd00002339sv000013CCsd00000008*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel
-
-pci:v0000105Dd00002339sv000013CCsd00000009*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel
-
-pci:v0000105Dd00002339sv000013CCsd0000000A*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel
-
-pci:v0000105Dd00002339sv000013CCsd0000000C*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel
-
-pci:v0000105Dd0000493D*
- ID_PRODUCT_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride]
-
-pci:v0000105Dd0000493Dsv000011A4sd0000000A*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
-
-pci:v0000105Dd0000493Dsv000011A4sd0000000B*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
-
-pci:v0000105Dd0000493Dsv000013CCsd00000002*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 4 Megapixel, Dual Head
-
-pci:v0000105Dd0000493Dsv000013CCsd00000003*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
-
-pci:v0000105Dd0000493Dsv000013CCsd00000007*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
-
-pci:v0000105Dd0000493Dsv000013CCsd00000008*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
-
-pci:v0000105Dd0000493Dsv000013CCsd00000009*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
-
-pci:v0000105Dd0000493Dsv000013CCsd0000000A*
- ID_PRODUCT_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head
-
-pci:v0000105Dd00005348*
- ID_PRODUCT_FROM_DATABASE=Revolution 4
-
-pci:v0000105Dd00005348sv0000105Dsd00000037*
- ID_PRODUCT_FROM_DATABASE=Revolution IV-FP AGP (For SGI 1600SW)
-
-pci:v0000105Dd00005348sv000011A4sd00000028*
- ID_PRODUCT_FROM_DATABASE=PVS5600M
-
-pci:v0000105Dd00005348sv000011A4sd00000038*
- ID_PRODUCT_FROM_DATABASE=PVS5600D
-
-pci:v0000105E*
- ID_VENDOR_FROM_DATABASE=Vtech Computers Ltd
-
-pci:v0000105F*
- ID_VENDOR_FROM_DATABASE=Infotronic America Inc
-
-pci:v00001060*
- ID_VENDOR_FROM_DATABASE=United Microelectronics [UMC]
-
-pci:v00001060d00000001*
- ID_PRODUCT_FROM_DATABASE=UM82C881
-
-pci:v00001060d00000002*
- ID_PRODUCT_FROM_DATABASE=UM82C886
-
-pci:v00001060d00000101*
- ID_PRODUCT_FROM_DATABASE=UM8673F
-
-pci:v00001060d00000881*
- ID_PRODUCT_FROM_DATABASE=UM8881
-
-pci:v00001060d00000886*
- ID_PRODUCT_FROM_DATABASE=UM8886F
-
-pci:v00001060d00000891*
- ID_PRODUCT_FROM_DATABASE=UM8891A
-
-pci:v00001060d00001001*
- ID_PRODUCT_FROM_DATABASE=UM886A
-
-pci:v00001060d0000673A*
- ID_PRODUCT_FROM_DATABASE=UM8886BF
-
-pci:v00001060d0000673B*
- ID_PRODUCT_FROM_DATABASE=EIDE Master/DMA
-
-pci:v00001060d00008710*
- ID_PRODUCT_FROM_DATABASE=UM8710
-
-pci:v00001060d0000886A*
- ID_PRODUCT_FROM_DATABASE=UM8886A
-
-pci:v00001060d00008881*
- ID_PRODUCT_FROM_DATABASE=UM8881F
-
-pci:v00001060d00008886*
- ID_PRODUCT_FROM_DATABASE=UM8886F
-
-pci:v00001060d0000888A*
- ID_PRODUCT_FROM_DATABASE=UM8886A
-
-pci:v00001060d00008891*
- ID_PRODUCT_FROM_DATABASE=UM8891A
-
-pci:v00001060d00009017*
- ID_PRODUCT_FROM_DATABASE=UM9017F
-
-pci:v00001060d00009018*
- ID_PRODUCT_FROM_DATABASE=UM9018
-
-pci:v00001060d00009026*
- ID_PRODUCT_FROM_DATABASE=UM9026
-
-pci:v00001060d0000E881*
- ID_PRODUCT_FROM_DATABASE=UM8881N
-
-pci:v00001060d0000E886*
- ID_PRODUCT_FROM_DATABASE=UM8886N
-
-pci:v00001060d0000E88A*
- ID_PRODUCT_FROM_DATABASE=UM8886N
-
-pci:v00001060d0000E891*
- ID_PRODUCT_FROM_DATABASE=UM8891N
-
-pci:v00001061*
- ID_VENDOR_FROM_DATABASE=I.I.T.
-
-pci:v00001061d00000001*
- ID_PRODUCT_FROM_DATABASE=AGX016
-
-pci:v00001061d00000002*
- ID_PRODUCT_FROM_DATABASE=IIT3204/3501
-
-pci:v00001062*
- ID_VENDOR_FROM_DATABASE=Maspar Computer Corp
-
-pci:v00001063*
- ID_VENDOR_FROM_DATABASE=Ocean Office Automation
-
-pci:v00001064*
- ID_VENDOR_FROM_DATABASE=Alcatel
-
-pci:v00001064d00001102*
- ID_PRODUCT_FROM_DATABASE=Dynamite 2840 (ADSL PCI modem)
-
-pci:v00001065*
- ID_VENDOR_FROM_DATABASE=Texas Microsystems
-
-pci:v00001066*
- ID_VENDOR_FROM_DATABASE=PicoPower Technology
-
-pci:v00001066d00000000*
- ID_PRODUCT_FROM_DATABASE=PT80C826
-
-pci:v00001066d00000001*
- ID_PRODUCT_FROM_DATABASE=PT86C521 [Vesuvius v1] Host Bridge
-
-pci:v00001066d00000002*
- ID_PRODUCT_FROM_DATABASE=PT86C523 [Vesuvius v3] PCI-ISA Bridge Master
-
-pci:v00001066d00000003*
- ID_PRODUCT_FROM_DATABASE=PT86C524 [Nile] PCI-to-PCI Bridge
-
-pci:v00001066d00000004*
- ID_PRODUCT_FROM_DATABASE=PT86C525 [Nile-II] PCI-to-PCI Bridge
-
-pci:v00001066d00000005*
- ID_PRODUCT_FROM_DATABASE=National PC87550 System Controller
-
-pci:v00001066d00008002*
- ID_PRODUCT_FROM_DATABASE=PT86C523 [Vesuvius v3] PCI-ISA Bridge Slave
-
-pci:v00001067*
- ID_VENDOR_FROM_DATABASE=Mitsubishi Electric
-
-pci:v00001067d00000301*
- ID_PRODUCT_FROM_DATABASE=AccelGraphics AccelECLIPSE
-
-pci:v00001067d00000304*
- ID_PRODUCT_FROM_DATABASE=AccelGALAXY A2100 [OEM Evans & Sutherland]
-
-pci:v00001067d00000308*
- ID_PRODUCT_FROM_DATABASE=Tornado 3000 [OEM Evans & Sutherland]
-
-pci:v00001067d00001002*
- ID_PRODUCT_FROM_DATABASE=VG500 [VolumePro Volume Rendering Accelerator]
-
-pci:v00001068*
- ID_VENDOR_FROM_DATABASE=Diversified Technology
-
-pci:v00001069*
- ID_VENDOR_FROM_DATABASE=Mylex Corporation
-
-pci:v00001069d00000001*
- ID_PRODUCT_FROM_DATABASE=DAC960P
-
-pci:v00001069d00000002*
- ID_PRODUCT_FROM_DATABASE=DAC960PD
-
-pci:v00001069d00000010*
- ID_PRODUCT_FROM_DATABASE=DAC960PG
-
-pci:v00001069d00000020*
- ID_PRODUCT_FROM_DATABASE=DAC960LA
-
-pci:v00001069d00000050*
- ID_PRODUCT_FROM_DATABASE=AcceleRAID 352/170/160 support Device
-
-pci:v00001069d00000050sv00001069sd00000050*
- ID_PRODUCT_FROM_DATABASE=AcceleRAID 352 support Device
-
-pci:v00001069d00000050sv00001069sd00000052*
- ID_PRODUCT_FROM_DATABASE=AcceleRAID 170 support Device
-
-pci:v00001069d00000050sv00001069sd00000054*
- ID_PRODUCT_FROM_DATABASE=AcceleRAID 160 support Device
-
-pci:v00001069d0000B166*
- ID_PRODUCT_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device
-
-pci:v00001069d0000B166sv00001014sd00000242*
- ID_PRODUCT_FROM_DATABASE=iSeries 2872 DASD IOA
-
-pci:v00001069d0000B166sv00001014sd00000266*
- ID_PRODUCT_FROM_DATABASE=Dual Channel PCI-X U320 SCSI Adapter
-
-pci:v00001069d0000B166sv00001014sd00000278*
- ID_PRODUCT_FROM_DATABASE=Dual Channel PCI-X U320 SCSI RAID Adapter
-
-pci:v00001069d0000B166sv00001014sd000002D3*
- ID_PRODUCT_FROM_DATABASE=Dual Channel PCI-X U320 SCSI Adapter
-
-pci:v00001069d0000B166sv00001014sd000002D4*
- ID_PRODUCT_FROM_DATABASE=Dual Channel PCI-X U320 SCSI RAID Adapter
-
-pci:v00001069d0000B166sv00001069sd00000200*
- ID_PRODUCT_FROM_DATABASE=AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID
-
-pci:v00001069d0000B166sv00001069sd00000202*
- ID_PRODUCT_FROM_DATABASE=AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID
-
-pci:v00001069d0000B166sv00001069sd00000204*
- ID_PRODUCT_FROM_DATABASE=AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID
-
-pci:v00001069d0000B166sv00001069sd00000206*
- ID_PRODUCT_FROM_DATABASE=AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID
-
-pci:v00001069d0000BA55*
- ID_PRODUCT_FROM_DATABASE=eXtremeRAID 1100 support Device
-
-pci:v00001069d0000BA56*
- ID_PRODUCT_FROM_DATABASE=eXtremeRAID 2000/3000 support Device
-
-pci:v00001069d0000BA56sv00001069sd00000030*
- ID_PRODUCT_FROM_DATABASE=eXtremeRAID 3000 support Device
-
-pci:v00001069d0000BA56sv00001069sd00000040*
- ID_PRODUCT_FROM_DATABASE=eXtremeRAID 2000 support Device
-
-pci:v00001069d0000BA57*
- ID_PRODUCT_FROM_DATABASE=eXtremeRAID 4000/5000 support Device
-
-pci:v00001069d0000BA57sv00001069sd00000072*
- ID_PRODUCT_FROM_DATABASE=eXtremeRAID 5000 support Device
-
-pci:v0000106A*
- ID_VENDOR_FROM_DATABASE=Aten Research Inc
-
-pci:v0000106B*
- ID_VENDOR_FROM_DATABASE=Apple Inc.
-
-pci:v0000106Bd00000001*
- ID_PRODUCT_FROM_DATABASE=Bandit PowerPC host bridge
-
-pci:v0000106Bd00000002*
- ID_PRODUCT_FROM_DATABASE=Grand Central I/O
-
-pci:v0000106Bd00000003*
- ID_PRODUCT_FROM_DATABASE=Control Video
-
-pci:v0000106Bd00000004*
- ID_PRODUCT_FROM_DATABASE=PlanB Video-In
-
-pci:v0000106Bd00000007*
- ID_PRODUCT_FROM_DATABASE=O'Hare I/O
-
-pci:v0000106Bd0000000C*
- ID_PRODUCT_FROM_DATABASE=DOS on Mac
-
-pci:v0000106Bd0000000E*
- ID_PRODUCT_FROM_DATABASE=Hydra Mac I/O
-
-pci:v0000106Bd00000010*
- ID_PRODUCT_FROM_DATABASE=Heathrow Mac I/O
-
-pci:v0000106Bd00000017*
- ID_PRODUCT_FROM_DATABASE=Paddington Mac I/O
-
-pci:v0000106Bd00000018*
- ID_PRODUCT_FROM_DATABASE=UniNorth FireWire
-
-pci:v0000106Bd00000019*
- ID_PRODUCT_FROM_DATABASE=KeyLargo USB
-
-pci:v0000106Bd0000001E*
- ID_PRODUCT_FROM_DATABASE=UniNorth Internal PCI
-
-pci:v0000106Bd0000001F*
- ID_PRODUCT_FROM_DATABASE=UniNorth PCI
-
-pci:v0000106Bd00000020*
- ID_PRODUCT_FROM_DATABASE=UniNorth AGP
-
-pci:v0000106Bd00000021*
- ID_PRODUCT_FROM_DATABASE=UniNorth GMAC (Sun GEM)
-
-pci:v0000106Bd00000022*
- ID_PRODUCT_FROM_DATABASE=KeyLargo Mac I/O
-
-pci:v0000106Bd00000024*
- ID_PRODUCT_FROM_DATABASE=UniNorth/Pangea GMAC (Sun GEM)
-
-pci:v0000106Bd00000025*
- ID_PRODUCT_FROM_DATABASE=KeyLargo/Pangea Mac I/O
-
-pci:v0000106Bd00000026*
- ID_PRODUCT_FROM_DATABASE=KeyLargo/Pangea USB
-
-pci:v0000106Bd00000027*
- ID_PRODUCT_FROM_DATABASE=UniNorth/Pangea AGP
-
-pci:v0000106Bd00000028*
- ID_PRODUCT_FROM_DATABASE=UniNorth/Pangea PCI
-
-pci:v0000106Bd00000029*
- ID_PRODUCT_FROM_DATABASE=UniNorth/Pangea Internal PCI
-
-pci:v0000106Bd0000002D*
- ID_PRODUCT_FROM_DATABASE=UniNorth 1.5 AGP
-
-pci:v0000106Bd0000002E*
- ID_PRODUCT_FROM_DATABASE=UniNorth 1.5 PCI
-
-pci:v0000106Bd0000002F*
- ID_PRODUCT_FROM_DATABASE=UniNorth 1.5 Internal PCI
-
-pci:v0000106Bd00000030*
- ID_PRODUCT_FROM_DATABASE=UniNorth/Pangea FireWire
-
-pci:v0000106Bd00000031*
- ID_PRODUCT_FROM_DATABASE=UniNorth 2 FireWire
-
-pci:v0000106Bd00000031sv0000106Bsd00005811*
- ID_PRODUCT_FROM_DATABASE=iBook G4 2004
-
-pci:v0000106Bd00000032*
- ID_PRODUCT_FROM_DATABASE=UniNorth 2 GMAC (Sun GEM)
-
-pci:v0000106Bd00000033*
- ID_PRODUCT_FROM_DATABASE=UniNorth 2 ATA/100
-
-pci:v0000106Bd00000034*
- ID_PRODUCT_FROM_DATABASE=UniNorth 2 AGP
-
-pci:v0000106Bd00000035*
- ID_PRODUCT_FROM_DATABASE=UniNorth 2 PCI
-
-pci:v0000106Bd00000036*
- ID_PRODUCT_FROM_DATABASE=UniNorth 2 Internal PCI
-
-pci:v0000106Bd0000003B*
- ID_PRODUCT_FROM_DATABASE=UniNorth/Intrepid ATA/100
-
-pci:v0000106Bd0000003E*
- ID_PRODUCT_FROM_DATABASE=KeyLargo/Intrepid Mac I/O
-
-pci:v0000106Bd0000003F*
- ID_PRODUCT_FROM_DATABASE=KeyLargo/Intrepid USB
-
-pci:v0000106Bd00000040*
- ID_PRODUCT_FROM_DATABASE=K2 KeyLargo USB
-
-pci:v0000106Bd00000041*
- ID_PRODUCT_FROM_DATABASE=K2 KeyLargo Mac/IO
-
-pci:v0000106Bd00000042*
- ID_PRODUCT_FROM_DATABASE=K2 FireWire
-
-pci:v0000106Bd00000043*
- ID_PRODUCT_FROM_DATABASE=K2 ATA/100
-
-pci:v0000106Bd00000045*
- ID_PRODUCT_FROM_DATABASE=K2 HT-PCI Bridge
-
-pci:v0000106Bd00000046*
- ID_PRODUCT_FROM_DATABASE=K2 HT-PCI Bridge
-
-pci:v0000106Bd00000047*
- ID_PRODUCT_FROM_DATABASE=K2 HT-PCI Bridge
-
-pci:v0000106Bd00000048*
- ID_PRODUCT_FROM_DATABASE=K2 HT-PCI Bridge
-
-pci:v0000106Bd00000049*
- ID_PRODUCT_FROM_DATABASE=K2 HT-PCI Bridge
-
-pci:v0000106Bd0000004A*
- ID_PRODUCT_FROM_DATABASE=CPC945 HT Bridge
-
-pci:v0000106Bd0000004B*
- ID_PRODUCT_FROM_DATABASE=U3 AGP
-
-pci:v0000106Bd0000004C*
- ID_PRODUCT_FROM_DATABASE=K2 GMAC (Sun GEM)
-
-pci:v0000106Bd0000004F*
- ID_PRODUCT_FROM_DATABASE=Shasta Mac I/O
-
-pci:v0000106Bd00000050*
- ID_PRODUCT_FROM_DATABASE=Shasta IDE
-
-pci:v0000106Bd00000051*
- ID_PRODUCT_FROM_DATABASE=Shasta (Sun GEM)
-
-pci:v0000106Bd00000052*
- ID_PRODUCT_FROM_DATABASE=Shasta Firewire
-
-pci:v0000106Bd00000053*
- ID_PRODUCT_FROM_DATABASE=Shasta PCI Bridge
-
-pci:v0000106Bd00000054*
- ID_PRODUCT_FROM_DATABASE=Shasta PCI Bridge
-
-pci:v0000106Bd00000055*
- ID_PRODUCT_FROM_DATABASE=Shasta PCI Bridge
-
-pci:v0000106Bd00000056*
- ID_PRODUCT_FROM_DATABASE=U4 PCIe
-
-pci:v0000106Bd00000057*
- ID_PRODUCT_FROM_DATABASE=U3 HT Bridge
-
-pci:v0000106Bd00000058*
- ID_PRODUCT_FROM_DATABASE=U3L AGP Bridge
-
-pci:v0000106Bd00000059*
- ID_PRODUCT_FROM_DATABASE=U3H AGP Bridge
-
-pci:v0000106Bd0000005B*
- ID_PRODUCT_FROM_DATABASE=CPC945 PCIe Bridge
-
-pci:v0000106Bd00000066*
- ID_PRODUCT_FROM_DATABASE=Intrepid2 AGP Bridge
-
-pci:v0000106Bd00000067*
- ID_PRODUCT_FROM_DATABASE=Intrepid2 PCI Bridge
-
-pci:v0000106Bd00000068*
- ID_PRODUCT_FROM_DATABASE=Intrepid2 PCI Bridge
-
-pci:v0000106Bd00000069*
- ID_PRODUCT_FROM_DATABASE=Intrepid2 ATA/100
-
-pci:v0000106Bd0000006A*
- ID_PRODUCT_FROM_DATABASE=Intrepid2 Firewire
-
-pci:v0000106Bd0000006B*
- ID_PRODUCT_FROM_DATABASE=Intrepid2 GMAC (Sun GEM)
-
-pci:v0000106Bd00000074*
- ID_PRODUCT_FROM_DATABASE=U4 HT Bridge
-
-pci:v0000106Bd00001645*
- ID_PRODUCT_FROM_DATABASE=Tigon3 Gigabit Ethernet NIC (BCM5701)
-
-pci:v0000106C*
- ID_VENDOR_FROM_DATABASE=Hynix Semiconductor
-
-pci:v0000106Cd00008139*
- ID_PRODUCT_FROM_DATABASE=8139c 100BaseTX Ethernet Controller
-
-pci:v0000106Cd00008801*
- ID_PRODUCT_FROM_DATABASE=Dual Pentium ISA/PCI Motherboard
-
-pci:v0000106Cd00008802*
- ID_PRODUCT_FROM_DATABASE=PowerPC ISA/PCI Motherboard
-
-pci:v0000106Cd00008803*
- ID_PRODUCT_FROM_DATABASE=Dual Window Graphics Accelerator
-
-pci:v0000106Cd00008804*
- ID_PRODUCT_FROM_DATABASE=LAN Controller
-
-pci:v0000106Cd00008805*
- ID_PRODUCT_FROM_DATABASE=100-BaseT LAN
-
-pci:v0000106D*
- ID_VENDOR_FROM_DATABASE=Sequent Computer Systems
-
-pci:v0000106E*
- ID_VENDOR_FROM_DATABASE=DFI, Inc
-
-pci:v0000106F*
- ID_VENDOR_FROM_DATABASE=City Gate Development Ltd
-
-pci:v00001070*
- ID_VENDOR_FROM_DATABASE=Daewoo Telecom Ltd
-
-pci:v00001071*
- ID_VENDOR_FROM_DATABASE=Mitac
-
-pci:v00001071d00008160*
- ID_PRODUCT_FROM_DATABASE=Mitac 8060B Mobile Platform
-
-pci:v00001072*
- ID_VENDOR_FROM_DATABASE=GIT Co Ltd
-
-pci:v00001073*
- ID_VENDOR_FROM_DATABASE=Yamaha Corporation
-
-pci:v00001073d00000001*
- ID_PRODUCT_FROM_DATABASE=3D GUI Accelerator
-
-pci:v00001073d00000002*
- ID_PRODUCT_FROM_DATABASE=YGV615 [RPA3 3D-Graphics Controller]
-
-pci:v00001073d00000003*
- ID_PRODUCT_FROM_DATABASE=YMF-740
-
-pci:v00001073d00000004*
- ID_PRODUCT_FROM_DATABASE=YMF-724
-
-pci:v00001073d00000004sv00001073sd00000004*
- ID_PRODUCT_FROM_DATABASE=YMF724-Based PCI Audio Adapter
-
-pci:v00001073d00000005*
- ID_PRODUCT_FROM_DATABASE=DS1 Audio
-
-pci:v00001073d00000005sv00001073sd00000005*
- ID_PRODUCT_FROM_DATABASE=DS-XG PCI Audio CODEC
-
-pci:v00001073d00000006*
- ID_PRODUCT_FROM_DATABASE=DS1 Audio
-
-pci:v00001073d00000008*
- ID_PRODUCT_FROM_DATABASE=DS1 Audio
-
-pci:v00001073d00000008sv00001073sd00000008*
- ID_PRODUCT_FROM_DATABASE=DS-XG PCI Audio CODEC
-
-pci:v00001073d0000000A*
- ID_PRODUCT_FROM_DATABASE=DS1L Audio
-
-pci:v00001073d0000000Asv00001073sd00000004*
- ID_PRODUCT_FROM_DATABASE=DS-XG PCI Audio CODEC
-
-pci:v00001073d0000000Asv00001073sd0000000A*
- ID_PRODUCT_FROM_DATABASE=DS-XG PCI Audio CODEC
-
-pci:v00001073d0000000Asv00008086sd00004D55*
- ID_PRODUCT_FROM_DATABASE=DS-XG PCI Audio CODEC [Intel MU440EX]
-
-pci:v00001073d0000000C*
- ID_PRODUCT_FROM_DATABASE=YMF-740C [DS-1L Audio Controller]
-
-pci:v00001073d0000000Csv0000107Asd0000000C*
- ID_PRODUCT_FROM_DATABASE=DS-XG PCI Audio CODEC
-
-pci:v00001073d0000000D*
- ID_PRODUCT_FROM_DATABASE=YMF-724F [DS-1 Audio Controller]
-
-pci:v00001073d0000000Dsv00001073sd0000000D*
- ID_PRODUCT_FROM_DATABASE=DS-XG PCI Audio CODEC
-
-pci:v00001073d00000010*
- ID_PRODUCT_FROM_DATABASE=YMF-744B [DS-1S Audio Controller]
-
-pci:v00001073d00000010sv00001073sd00000006*
- ID_PRODUCT_FROM_DATABASE=DS-XG PCI Audio CODEC
-
-pci:v00001073d00000010sv00001073sd00000010*
- ID_PRODUCT_FROM_DATABASE=DS-XG PCI Audio CODEC
-
-pci:v00001073d00000012*
- ID_PRODUCT_FROM_DATABASE=YMF-754 [DS-1E Audio Controller]
-
-pci:v00001073d00000012sv00001073sd00000012*
- ID_PRODUCT_FROM_DATABASE=DS-XG PCI Audio Codec
-
-pci:v00001073d00000020*
- ID_PRODUCT_FROM_DATABASE=DS-1 Audio
-
-pci:v00001073d00001000*
- ID_PRODUCT_FROM_DATABASE=SW1000XG [XG Factory]
-
-pci:v00001073d00002000*
- ID_PRODUCT_FROM_DATABASE=DS2416 Digital Mixing Card
-
-pci:v00001073d00002000sv00001073sd00002000*
- ID_PRODUCT_FROM_DATABASE=DS2416 Digital Mixing Card
-
-pci:v00001074*
- ID_VENDOR_FROM_DATABASE=NexGen Microsystems
-
-pci:v00001074d00004E78*
- ID_PRODUCT_FROM_DATABASE=82c500/1
-
-pci:v00001075*
- ID_VENDOR_FROM_DATABASE=Advanced Integrations Research
-
-pci:v00001076*
- ID_VENDOR_FROM_DATABASE=Chaintech Computer Co. Ltd
-
-pci:v00001077*
- ID_VENDOR_FROM_DATABASE=QLogic Corp.
-
-pci:v00001077d00001016*
- ID_PRODUCT_FROM_DATABASE=ISP10160 Single Channel Ultra3 SCSI Processor
-
-pci:v00001077d00001020*
- ID_PRODUCT_FROM_DATABASE=ISP1020 Fast-wide SCSI
-
-pci:v00001077d00001022*
- ID_PRODUCT_FROM_DATABASE=ISP1022 Fast-wide SCSI
-
-pci:v00001077d00001080*
- ID_PRODUCT_FROM_DATABASE=ISP1080 SCSI Host Adapter
-
-pci:v00001077d00001216*
- ID_PRODUCT_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor
-
-pci:v00001077d00001216sv0000101Esd00008471*
- ID_PRODUCT_FROM_DATABASE=QLA12160 on AMI MegaRAID
-
-pci:v00001077d00001216sv0000101Esd00008493*
- ID_PRODUCT_FROM_DATABASE=QLA12160 on AMI MegaRAID
-
-pci:v00001077d00001240*
- ID_PRODUCT_FROM_DATABASE=ISP1240 SCSI Host Adapter
-
-pci:v00001077d00001280*
- ID_PRODUCT_FROM_DATABASE=ISP1280 SCSI Host Adapter
-
-pci:v00001077d00002020*
- ID_PRODUCT_FROM_DATABASE=ISP2020A Fast!SCSI Basic Adapter
-
-pci:v00001077d00002100*
- ID_PRODUCT_FROM_DATABASE=QLA2100 64-bit Fibre Channel Adapter
-
-pci:v00001077d00002100sv00001077sd00000001*
- ID_PRODUCT_FROM_DATABASE=QLA2100 64-bit Fibre Channel Adapter
-
-pci:v00001077d00002200*
- ID_PRODUCT_FROM_DATABASE=QLA2200 64-bit Fibre Channel Adapter
-
-pci:v00001077d00002200sv00001077sd00000002*
- ID_PRODUCT_FROM_DATABASE=QLA2200
-
-pci:v00001077d00002300*
- ID_PRODUCT_FROM_DATABASE=QLA2300 64-bit Fibre Channel Adapter
-
-pci:v00001077d00002312*
- ID_PRODUCT_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA
-
-pci:v00001077d00002312sv0000103Csd00000131*
- ID_PRODUCT_FROM_DATABASE=2Gb Fibre Channel - Single port [A7538A]
-
-pci:v00001077d00002312sv0000103Csd000012BA*
- ID_PRODUCT_FROM_DATABASE=2Gb Fibre Channel - Dual port [A6826A]
-
-pci:v00001077d00002322*
- ID_PRODUCT_FROM_DATABASE=ISP2322-based 2Gb Fibre Channel to PCI-X HBA
-
-pci:v00001077d00002422*
- ID_PRODUCT_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA
-
-pci:v00001077d00002422sv0000103Csd000012D7*
- ID_PRODUCT_FROM_DATABASE=4Gb Fibre Channel [AB379A]
-
-pci:v00001077d00002422sv0000103Csd000012DD*
- ID_PRODUCT_FROM_DATABASE=4Gb Fibre Channel [AB429A]
-
-pci:v00001077d00002432*
- ID_PRODUCT_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA
-
-pci:v00001077d00002532*
- ID_PRODUCT_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA
-
-pci:v00001077d00002532sv00001077sd00000167*
- ID_PRODUCT_FROM_DATABASE=QME2572 Dual Port FC8 HBA Mezzanine
-
-pci:v00001077d00003022*
- ID_PRODUCT_FROM_DATABASE=ISP4022-based Ethernet NIC
-
-pci:v00001077d00003032*
- ID_PRODUCT_FROM_DATABASE=ISP4032-based Ethernet IPv6 NIC
-
-pci:v00001077d00004010*
- ID_PRODUCT_FROM_DATABASE=ISP4010-based iSCSI TOE HBA
-
-pci:v00001077d00004022*
- ID_PRODUCT_FROM_DATABASE=ISP4022-based iSCSI TOE HBA
-
-pci:v00001077d00004032*
- ID_PRODUCT_FROM_DATABASE=ISP4032-based iSCSI TOE IPv6 HBA
-
-pci:v00001077d00005432*
- ID_PRODUCT_FROM_DATABASE=SP232-based 4Gb Fibre Channel to PCI Express HBA
-
-pci:v00001077d00006312*
- ID_PRODUCT_FROM_DATABASE=SP202-based 2Gb Fibre Channel to PCI-X HBA
-
-pci:v00001077d00006322*
- ID_PRODUCT_FROM_DATABASE=SP212-based 2Gb Fibre Channel to PCI-X HBA
-
-pci:v00001077d00007220*
- ID_PRODUCT_FROM_DATABASE=IBA7220 InfiniBand HCA
-
-pci:v00001077d00007322*
- ID_PRODUCT_FROM_DATABASE=IBA7322 QDR InfiniBand HCA
-
-pci:v00001077d00008000*
- ID_PRODUCT_FROM_DATABASE=10GbE Converged Network Adapter (TCP/IP Networking)
-
-pci:v00001077d00008001*
- ID_PRODUCT_FROM_DATABASE=10GbE Converged Network Adapter (FCoE)
-
-pci:v00001077d00008020*
- ID_PRODUCT_FROM_DATABASE=cLOM8214 1/10GbE Controller
-
-pci:v00001077d00008020sv0000103Csd00003346*
- ID_PRODUCT_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter
-
-pci:v00001077d00008020sv0000103Csd00003733*
- ID_PRODUCT_FROM_DATABASE=NC523SFP 10Gb 2-port Server Adapter
-
-pci:v00001077d00008020sv00001077sd00000203*
- ID_PRODUCT_FROM_DATABASE=8200 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking)
-
-pci:v00001077d00008020sv00001077sd00000207*
- ID_PRODUCT_FROM_DATABASE=8200 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking)
-
-pci:v00001077d00008020sv00001077sd0000020B*
- ID_PRODUCT_FROM_DATABASE=3200 Series Dual Port 10Gb Intelligent Ethernet Adapter
-
-pci:v00001077d00008020sv00001077sd0000020C*
- ID_PRODUCT_FROM_DATABASE=3200 Series Quad Port 1Gb Intelligent Ethernet Adapter
-
-pci:v00001077d00008020sv00001077sd0000020F*
- ID_PRODUCT_FROM_DATABASE=3200 Series Single Port 10Gb Intelligent Ethernet Adapter
-
-pci:v00001077d00008020sv00001077sd00000210*
- ID_PRODUCT_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card
-
-pci:v00001077d00008021*
- ID_PRODUCT_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE)
-
-pci:v00001077d00008021sv0000103Csd00003348*
- ID_PRODUCT_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter
-
-pci:v00001077d00008021sv00001077sd00000211*
- ID_PRODUCT_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card, FCoE
-
-pci:v00001077d00008022*
- ID_PRODUCT_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI)
-
-pci:v00001077d00008022sv0000103Csd00003347*
- ID_PRODUCT_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter
-
-pci:v00001077d00008022sv00001077sd00000212*
- ID_PRODUCT_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card, iSCSI
-
-pci:v00001077d00008432*
- ID_PRODUCT_FROM_DATABASE=ISP2432M-based 10GbE Converged Network Adapter (CNA)
-
-pci:v00001078*
- ID_VENDOR_FROM_DATABASE=Cyrix Corporation
-
-pci:v00001078d00000000*
- ID_PRODUCT_FROM_DATABASE=5510 [Grappa]
-
-pci:v00001078d00000001*
- ID_PRODUCT_FROM_DATABASE=PCI Master
-
-pci:v00001078d00000002*
- ID_PRODUCT_FROM_DATABASE=5520 [Cognac]
-
-pci:v00001078d00000100*
- ID_PRODUCT_FROM_DATABASE=5530 Legacy [Kahlua]
-
-pci:v00001078d00000101*
- ID_PRODUCT_FROM_DATABASE=5530 SMI [Kahlua]
-
-pci:v00001078d00000102*
- ID_PRODUCT_FROM_DATABASE=5530 IDE [Kahlua]
-
-pci:v00001078d00000103*
- ID_PRODUCT_FROM_DATABASE=5530 Audio [Kahlua]
-
-pci:v00001078d00000104*
- ID_PRODUCT_FROM_DATABASE=5530 Video [Kahlua]
-
-pci:v00001078d00000400*
- ID_PRODUCT_FROM_DATABASE=ZFMicro PCI Bridge
-
-pci:v00001078d00000401*
- ID_PRODUCT_FROM_DATABASE=ZFMicro Chipset SMI
-
-pci:v00001078d00000402*
- ID_PRODUCT_FROM_DATABASE=ZFMicro Chipset IDE
-
-pci:v00001078d00000403*
- ID_PRODUCT_FROM_DATABASE=ZFMicro Expansion Bus
-
-pci:v00001079*
- ID_VENDOR_FROM_DATABASE=I-Bus
-
-pci:v0000107A*
- ID_VENDOR_FROM_DATABASE=NetWorth
-
-pci:v0000107B*
- ID_VENDOR_FROM_DATABASE=Gateway 2000
-
-pci:v0000107C*
- ID_VENDOR_FROM_DATABASE=LG Electronics [Lucky Goldstar Co. Ltd]
-
-pci:v0000107D*
- ID_VENDOR_FROM_DATABASE=LeadTek Research Inc.
-
-pci:v0000107Dd00000000*
- ID_PRODUCT_FROM_DATABASE=P86C850
-
-pci:v0000107Dd00002134*
- ID_PRODUCT_FROM_DATABASE=WinFast 3D S320 II
-
-pci:v0000107Dd00006609*
- ID_PRODUCT_FROM_DATABASE=Winfast TV 2000 XP RM
-
-pci:v0000107Dd00006654*
- ID_PRODUCT_FROM_DATABASE=Conexant CX23883 [WinFast DTV1800 H]
-
-pci:v0000107Dd00006F22*
- ID_PRODUCT_FROM_DATABASE=WinFast PxTV1200
-
-pci:v0000107Dd00006F34*
- ID_PRODUCT_FROM_DATABASE=WinFast DVR3100 H
-
-pci:v0000107E*
- ID_VENDOR_FROM_DATABASE=Interphase Corporation
-
-pci:v0000107Ed00000001*
- ID_PRODUCT_FROM_DATABASE=5515 ATM Adapter [Flipper]
-
-pci:v0000107Ed00000002*
- ID_PRODUCT_FROM_DATABASE=100 VG AnyLan Controller
-
-pci:v0000107Ed00000004*
- ID_PRODUCT_FROM_DATABASE=5526 Fibre Channel Host Adapter
-
-pci:v0000107Ed00000005*
- ID_PRODUCT_FROM_DATABASE=x526 Fibre Channel Host Adapter
-
-pci:v0000107Ed00000008*
- ID_PRODUCT_FROM_DATABASE=5525/5575 ATM Adapter (155 Mbit) [Atlantic]
-
-pci:v0000107Ed00009003*
- ID_PRODUCT_FROM_DATABASE=5535-4P-BRI-ST
-
-pci:v0000107Ed00009007*
- ID_PRODUCT_FROM_DATABASE=5535-4P-BRI-U
-
-pci:v0000107Ed00009008*
- ID_PRODUCT_FROM_DATABASE=5535-1P-SR
-
-pci:v0000107Ed0000900C*
- ID_PRODUCT_FROM_DATABASE=5535-1P-SR-ST
-
-pci:v0000107Ed0000900E*
- ID_PRODUCT_FROM_DATABASE=5535-1P-SR-U
-
-pci:v0000107Ed00009011*
- ID_PRODUCT_FROM_DATABASE=5535-1P-PRI
-
-pci:v0000107Ed00009013*
- ID_PRODUCT_FROM_DATABASE=5535-2P-PRI
-
-pci:v0000107Ed00009023*
- ID_PRODUCT_FROM_DATABASE=5536-4P-BRI-ST
-
-pci:v0000107Ed00009027*
- ID_PRODUCT_FROM_DATABASE=5536-4P-BRI-U
-
-pci:v0000107Ed00009031*
- ID_PRODUCT_FROM_DATABASE=5536-1P-PRI
-
-pci:v0000107Ed00009033*
- ID_PRODUCT_FROM_DATABASE=5536-2P-PRI
-
-pci:v0000107F*
- ID_VENDOR_FROM_DATABASE=Data Technology Corporation
-
-pci:v0000107Fd00000802*
- ID_PRODUCT_FROM_DATABASE=SL82C105
-
-pci:v00001080*
- ID_VENDOR_FROM_DATABASE=Contaq Microsystems
-
-pci:v00001080d00000600*
- ID_PRODUCT_FROM_DATABASE=82C599
-
-pci:v00001080d0000C691*
- ID_PRODUCT_FROM_DATABASE=Cypress CY82C691
-
-pci:v00001080d0000C693*
- ID_PRODUCT_FROM_DATABASE=82c693
-
-pci:v00001081*
- ID_VENDOR_FROM_DATABASE=Supermac Technology
-
-pci:v00001081d00000D47*
- ID_PRODUCT_FROM_DATABASE=Radius PCI to NuBUS Bridge
-
-pci:v00001082*
- ID_VENDOR_FROM_DATABASE=EFA Corporation of America
-
-pci:v00001083*
- ID_VENDOR_FROM_DATABASE=Forex Computer Corporation
-
-pci:v00001083d00000001*
- ID_PRODUCT_FROM_DATABASE=FR710
-
-pci:v00001084*
- ID_VENDOR_FROM_DATABASE=Parador
-
-pci:v00001085*
- ID_VENDOR_FROM_DATABASE=Tulip Computers Int.B.V.
-
-pci:v00001086*
- ID_VENDOR_FROM_DATABASE=J. Bond Computer Systems
-
-pci:v00001087*
- ID_VENDOR_FROM_DATABASE=Cache Computer
-
-pci:v00001088*
- ID_VENDOR_FROM_DATABASE=Microcomputer Systems (M) Son
-
-pci:v00001089*
- ID_VENDOR_FROM_DATABASE=Data General Corporation
-
-pci:v0000108A*
- ID_VENDOR_FROM_DATABASE=SBS Technologies
-
-pci:v0000108Ad00000001*
- ID_PRODUCT_FROM_DATABASE=VME Bridge Model 617
-
-pci:v0000108Ad00000010*
- ID_PRODUCT_FROM_DATABASE=VME Bridge Model 618
-
-pci:v0000108Ad00000040*
- ID_PRODUCT_FROM_DATABASE=dataBLIZZARD
-
-pci:v0000108Ad00003000*
- ID_PRODUCT_FROM_DATABASE=VME Bridge Model 2706
-
-pci:v0000108C*
- ID_VENDOR_FROM_DATABASE=Oakleigh Systems Inc.
-
-pci:v0000108D*
- ID_VENDOR_FROM_DATABASE=Olicom
-
-pci:v0000108Dd00000001*
- ID_PRODUCT_FROM_DATABASE=Token-Ring 16/4 PCI Adapter (3136/3137)
-
-pci:v0000108Dd00000002*
- ID_PRODUCT_FROM_DATABASE=16/4 Token Ring
-
-pci:v0000108Dd00000004*
- ID_PRODUCT_FROM_DATABASE=RapidFire 3139 Token-Ring 16/4 PCI Adapter
-
-pci:v0000108Dd00000004sv0000108Dsd00000004*
- ID_PRODUCT_FROM_DATABASE=OC-3139/3140 RapidFire Token-Ring 16/4 Adapter
-
-pci:v0000108Dd00000005*
- ID_PRODUCT_FROM_DATABASE=GoCard 3250 Token-Ring 16/4 CardBus PC Card
-
-pci:v0000108Dd00000006*
- ID_PRODUCT_FROM_DATABASE=OC-3530 RapidFire Token-Ring 100
-
-pci:v0000108Dd00000007*
- ID_PRODUCT_FROM_DATABASE=RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter
-
-pci:v0000108Dd00000007sv0000108Dsd00000007*
- ID_PRODUCT_FROM_DATABASE=OC-3141 RapidFire Token-Ring 16/4 Adapter
-
-pci:v0000108Dd00000008*
- ID_PRODUCT_FROM_DATABASE=RapidFire 3540 HSTR 100/16/4 PCI Adapter
-
-pci:v0000108Dd00000008sv0000108Dsd00000008*
- ID_PRODUCT_FROM_DATABASE=OC-3540 RapidFire HSTR 100/16/4 Adapter
-
-pci:v0000108Dd00000011*
- ID_PRODUCT_FROM_DATABASE=OC-2315
-
-pci:v0000108Dd00000012*
- ID_PRODUCT_FROM_DATABASE=OC-2325
-
-pci:v0000108Dd00000013*
- ID_PRODUCT_FROM_DATABASE=OC-2183/2185
-
-pci:v0000108Dd00000014*
- ID_PRODUCT_FROM_DATABASE=OC-2326
-
-pci:v0000108Dd00000019*
- ID_PRODUCT_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter
-
-pci:v0000108Dd00000019sv0000108Dsd00000016*
- ID_PRODUCT_FROM_DATABASE=OC-2327 Rapidfire 10/100 Ethernet Adapter
-
-pci:v0000108Dd00000019sv0000108Dsd00000017*
- ID_PRODUCT_FROM_DATABASE=OC-2250 GoCard 10/100 Ethernet Adapter
-
-pci:v0000108Dd00000021*
- ID_PRODUCT_FROM_DATABASE=OC-6151/6152 [RapidFire ATM 155]
-
-pci:v0000108Dd00000022*
- ID_PRODUCT_FROM_DATABASE=ATM Adapter
-
-pci:v0000108E*
- ID_VENDOR_FROM_DATABASE=Oracle/SUN
-
-pci:v0000108Ed00000001*
- ID_PRODUCT_FROM_DATABASE=EBUS
-
-pci:v0000108Ed00001000*
- ID_PRODUCT_FROM_DATABASE=EBUS
-
-pci:v0000108Ed00001001*
- ID_PRODUCT_FROM_DATABASE=Happy Meal 10/100 Ethernet [hme]
-
-pci:v0000108Ed00001100*
- ID_PRODUCT_FROM_DATABASE=RIO EBUS
-
-pci:v0000108Ed00001100sv0000108Esd00001100*
- ID_PRODUCT_FROM_DATABASE=RIO EBUS on Blade 100 motherboard
-
-pci:v0000108Ed00001101*
- ID_PRODUCT_FROM_DATABASE=RIO 10/100 Ethernet [eri]
-
-pci:v0000108Ed00001101sv0000108Esd00001101*
- ID_PRODUCT_FROM_DATABASE=RIO GEM on Blade 100 motherboard
-
-pci:v0000108Ed00001102*
- ID_PRODUCT_FROM_DATABASE=RIO 1394
-
-pci:v0000108Ed00001102sv0000108Esd00001102*
- ID_PRODUCT_FROM_DATABASE=RIO 1394 on Blade 100 motherboard
-
-pci:v0000108Ed00001103*
- ID_PRODUCT_FROM_DATABASE=RIO USB
-
-pci:v0000108Ed00001103sv0000108Esd00001103*
- ID_PRODUCT_FROM_DATABASE=RIO USB on Blade 100 motherboard
-
-pci:v0000108Ed00001647*
- ID_PRODUCT_FROM_DATABASE=Broadcom 570x 10/100/1000 Ethernet [bge]
-
-pci:v0000108Ed00001648*
- ID_PRODUCT_FROM_DATABASE=Broadcom 570x 10/100/1000 Ethernet [bge]
-
-pci:v0000108Ed000016A7*
- ID_PRODUCT_FROM_DATABASE=Broadcom 570x 10/100/1000 Ethernet [bge]
-
-pci:v0000108Ed000016A8*
- ID_PRODUCT_FROM_DATABASE=Broadcom 570x 10/100/1000 Ethernet [bge]
-
-pci:v0000108Ed00002BAD*
- ID_PRODUCT_FROM_DATABASE=GEM 10/100/1000 Ethernet [ge]
-
-pci:v0000108Ed00005000*
- ID_PRODUCT_FROM_DATABASE=Simba Advanced PCI Bridge
-
-pci:v0000108Ed00005000sv0000108Esd00005000*
- ID_PRODUCT_FROM_DATABASE=Netra AX1105-500
-
-pci:v0000108Ed00005043*
- ID_PRODUCT_FROM_DATABASE=SunPCI Co-processor
-
-pci:v0000108Ed00005CA0*
- ID_PRODUCT_FROM_DATABASE=Crypto Accelerator 6000 [mca]
-
-pci:v0000108Ed00006300*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006301*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006302*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006303*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006310*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006311*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006312*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006313*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006320*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006323*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006330*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006331*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006332*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006333*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006340*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006343*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006350*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006353*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed00006722*
- ID_PRODUCT_FROM_DATABASE=Intel 21554 PCI-PCI bus bridge [db21554]
-
-pci:v0000108Ed0000676E*
- ID_PRODUCT_FROM_DATABASE=SunPCiIII
-
-pci:v0000108Ed00007063*
- ID_PRODUCT_FROM_DATABASE=SunPCiII / SunPCiIIpro
-
-pci:v0000108Ed00008000*
- ID_PRODUCT_FROM_DATABASE=Psycho PCI Bus Module
-
-pci:v0000108Ed00008001*
- ID_PRODUCT_FROM_DATABASE=Schizo PCI Bus Module
-
-pci:v0000108Ed00008002*
- ID_PRODUCT_FROM_DATABASE=Schizo+ PCI Bus Module
-
-pci:v0000108Ed000080F0*
- ID_PRODUCT_FROM_DATABASE=PCIe switch [px]
-
-pci:v0000108Ed000080F8*
- ID_PRODUCT_FROM_DATABASE=PCIe switch [px]
-
-pci:v0000108Ed00009010*
- ID_PRODUCT_FROM_DATABASE=PCIe/PCI bridge switch [pxb_plx]
-
-pci:v0000108Ed00009020*
- ID_PRODUCT_FROM_DATABASE=PCIe/PCI bridge switch [pxb_plx]
-
-pci:v0000108Ed00009102*
- ID_PRODUCT_FROM_DATABASE=Davicom Fast Ethernet driver for Davicom DM9102A [dmfe]
-
-pci:v0000108Ed0000A000*
- ID_PRODUCT_FROM_DATABASE=Psycho UPA-PCI Bus Module [pcipsy]
-
-pci:v0000108Ed0000A001*
- ID_PRODUCT_FROM_DATABASE=Psycho UPA-PCI Bus Module [pcipsy]
-
-pci:v0000108Ed0000A001sv0000108Esd0000A001*
- ID_PRODUCT_FROM_DATABASE=Ultra IIe on Blade 100 motherboard
-
-pci:v0000108Ed0000A801*
- ID_PRODUCT_FROM_DATABASE=Schizo Fireplane-PCI bus bridge module [pcisch]
-
-pci:v0000108Ed0000AAAA*
- ID_PRODUCT_FROM_DATABASE=Multithreaded Shared 10GbE Ethernet Network Controller
-
-pci:v0000108Ed0000ABBA*
- ID_PRODUCT_FROM_DATABASE=Cassini 10/100/1000
-
-pci:v0000108Ed0000ABCD*
- ID_PRODUCT_FROM_DATABASE=Multithreaded 10-Gigabit Ethernet Network Controller
-
-pci:v0000108Ed0000C416*
- ID_PRODUCT_FROM_DATABASE=Sun Fire System/System Controller Interface chip [sbbc]
-
-pci:v0000108F*
- ID_VENDOR_FROM_DATABASE=Systemsoft
-
-pci:v00001090*
- ID_VENDOR_FROM_DATABASE=Compro Computer Services, Inc.
-
-pci:v00001090d00004610*
- ID_PRODUCT_FROM_DATABASE=PCI RTOM
-
-pci:v00001090d00004620*
- ID_PRODUCT_FROM_DATABASE=GPIO HSD
-
-pci:v00001091*
- ID_VENDOR_FROM_DATABASE=Intergraph Corporation
-
-pci:v00001091d00000020*
- ID_PRODUCT_FROM_DATABASE=3D graphics processor
-
-pci:v00001091d00000021*
- ID_PRODUCT_FROM_DATABASE=3D graphics processor w/Texturing
-
-pci:v00001091d00000040*
- ID_PRODUCT_FROM_DATABASE=3D graphics frame buffer
-
-pci:v00001091d00000041*
- ID_PRODUCT_FROM_DATABASE=3D graphics frame buffer
-
-pci:v00001091d00000060*
- ID_PRODUCT_FROM_DATABASE=Proprietary bus bridge
-
-pci:v00001091d000000E4*
- ID_PRODUCT_FROM_DATABASE=Powerstorm 4D50T
-
-pci:v00001091d00000720*
- ID_PRODUCT_FROM_DATABASE=Motion JPEG codec
-
-pci:v00001091d00000780*
- ID_PRODUCT_FROM_DATABASE=Intense3D Wildcat 3410 (MSMT496)
-
-pci:v00001091d000007A0*
- ID_PRODUCT_FROM_DATABASE=Sun Expert3D-Lite Graphics Accelerator
-
-pci:v00001091d00001091*
- ID_PRODUCT_FROM_DATABASE=Sun Expert3D Graphics Accelerator
-
-pci:v00001092*
- ID_VENDOR_FROM_DATABASE=Diamond Multimedia Systems
-
-pci:v00001092d00000028*
- ID_PRODUCT_FROM_DATABASE=Viper V770
-
-pci:v00001092d00000028sv00001092sd00004A00*
- ID_PRODUCT_FROM_DATABASE=Viper V770 32MB
-
-pci:v00001092d000000A0*
- ID_PRODUCT_FROM_DATABASE=Speedstar Pro SE
-
-pci:v00001092d000000A8*
- ID_PRODUCT_FROM_DATABASE=Speedstar 64
-
-pci:v00001092d00000550*
- ID_PRODUCT_FROM_DATABASE=Viper V550
-
-pci:v00001092d000008D4*
- ID_PRODUCT_FROM_DATABASE=Supra 2260 Modem
-
-pci:v00001092d0000094C*
- ID_PRODUCT_FROM_DATABASE=SupraExpress 56i Pro
-
-pci:v00001092d00001001*
- ID_PRODUCT_FROM_DATABASE=Video Crunch It 1001 capture card
-
-pci:v00001092d00001092*
- ID_PRODUCT_FROM_DATABASE=Viper V330
-
-pci:v00001092d00006120*
- ID_PRODUCT_FROM_DATABASE=Maximum DVD
-
-pci:v00001092d00008810*
- ID_PRODUCT_FROM_DATABASE=Stealth SE
-
-pci:v00001092d00008811*
- ID_PRODUCT_FROM_DATABASE=Stealth 64/SE
-
-pci:v00001092d00008880*
- ID_PRODUCT_FROM_DATABASE=Stealth
-
-pci:v00001092d00008881*
- ID_PRODUCT_FROM_DATABASE=Stealth
-
-pci:v00001092d000088B0*
- ID_PRODUCT_FROM_DATABASE=Stealth 64
-
-pci:v00001092d000088B1*
- ID_PRODUCT_FROM_DATABASE=Stealth 64
-
-pci:v00001092d000088C0*
- ID_PRODUCT_FROM_DATABASE=Stealth 64
-
-pci:v00001092d000088C1*
- ID_PRODUCT_FROM_DATABASE=Stealth 64
-
-pci:v00001092d000088D0*
- ID_PRODUCT_FROM_DATABASE=Stealth 64
-
-pci:v00001092d000088D1*
- ID_PRODUCT_FROM_DATABASE=Stealth 64
-
-pci:v00001092d000088F0*
- ID_PRODUCT_FROM_DATABASE=Stealth 64
-
-pci:v00001092d000088F1*
- ID_PRODUCT_FROM_DATABASE=Stealth 64
-
-pci:v00001092d00009999*
- ID_PRODUCT_FROM_DATABASE=DMD-I0928-1 "Monster sound" sound chip
-
-pci:v00001093*
- ID_VENDOR_FROM_DATABASE=National Instruments
-
-pci:v00001093d00000160*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-96
-
-pci:v00001093d00000162*
- ID_PRODUCT_FROM_DATABASE=PCI-MIO-16XE-50
-
-pci:v00001093d00001150*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-32HS High Speed Digital I/O Board
-
-pci:v00001093d00001170*
- ID_PRODUCT_FROM_DATABASE=PCI-MIO-16XE-10
-
-pci:v00001093d00001180*
- ID_PRODUCT_FROM_DATABASE=PCI-MIO-16E-1
-
-pci:v00001093d00001190*
- ID_PRODUCT_FROM_DATABASE=PCI-MIO-16E-4
-
-pci:v00001093d000011B0*
- ID_PRODUCT_FROM_DATABASE=PXI-6070E
-
-pci:v00001093d000011C0*
- ID_PRODUCT_FROM_DATABASE=PXI-6040e
-
-pci:v00001093d000011D0*
- ID_PRODUCT_FROM_DATABASE=PXI-6030e
-
-pci:v00001093d00001270*
- ID_PRODUCT_FROM_DATABASE=PCI-6032e
-
-pci:v00001093d00001310*
- ID_PRODUCT_FROM_DATABASE=PCI-6602
-
-pci:v00001093d00001330*
- ID_PRODUCT_FROM_DATABASE=PCI-6031E
-
-pci:v00001093d00001340*
- ID_PRODUCT_FROM_DATABASE=PCI-6033e
-
-pci:v00001093d00001350*
- ID_PRODUCT_FROM_DATABASE=PCI-6071E
-
-pci:v00001093d00001360*
- ID_PRODUCT_FROM_DATABASE=PXI-6602
-
-pci:v00001093d000014E0*
- ID_PRODUCT_FROM_DATABASE=PCI-6110
-
-pci:v00001093d000014F0*
- ID_PRODUCT_FROM_DATABASE=PCI-6111
-
-pci:v00001093d00001580*
- ID_PRODUCT_FROM_DATABASE=PXI-6031E
-
-pci:v00001093d000015B0*
- ID_PRODUCT_FROM_DATABASE=PXI-6071E
-
-pci:v00001093d00001710*
- ID_PRODUCT_FROM_DATABASE=PXI-6509
-
-pci:v00001093d000017D0*
- ID_PRODUCT_FROM_DATABASE=PCI-6503
-
-pci:v00001093d00001870*
- ID_PRODUCT_FROM_DATABASE=PCI-6713
-
-pci:v00001093d00001880*
- ID_PRODUCT_FROM_DATABASE=PCI-6711
-
-pci:v00001093d000018B0*
- ID_PRODUCT_FROM_DATABASE=PCI-6052E
-
-pci:v00001093d000018C0*
- ID_PRODUCT_FROM_DATABASE=PXI-6052E
-
-pci:v00001093d00002410*
- ID_PRODUCT_FROM_DATABASE=PCI-6733
-
-pci:v00001093d00002420*
- ID_PRODUCT_FROM_DATABASE=PXI-6733
-
-pci:v00001093d00002430*
- ID_PRODUCT_FROM_DATABASE=PCI-6731
-
-pci:v00001093d00002880*
- ID_PRODUCT_FROM_DATABASE=DAQCard-6601
-
-pci:v00001093d00002890*
- ID_PRODUCT_FROM_DATABASE=PCI-6036E
-
-pci:v00001093d000028C0*
- ID_PRODUCT_FROM_DATABASE=PCI-6014
-
-pci:v00001093d00002A60*
- ID_PRODUCT_FROM_DATABASE=PCI-6023E
-
-pci:v00001093d00002A70*
- ID_PRODUCT_FROM_DATABASE=PCI-6024E
-
-pci:v00001093d00002A80*
- ID_PRODUCT_FROM_DATABASE=PCI-6025E
-
-pci:v00001093d00002AB0*
- ID_PRODUCT_FROM_DATABASE=PXI-6025e
-
-pci:v00001093d00002B80*
- ID_PRODUCT_FROM_DATABASE=PXI-6713
-
-pci:v00001093d00002B90*
- ID_PRODUCT_FROM_DATABASE=PXI-6711
-
-pci:v00001093d00002C60*
- ID_PRODUCT_FROM_DATABASE=PCI-6601
-
-pci:v00001093d00002C70*
- ID_PRODUCT_FROM_DATABASE=PXI-6601
-
-pci:v00001093d00002C80*
- ID_PRODUCT_FROM_DATABASE=PCI-6035E
-
-pci:v00001093d00002CA0*
- ID_PRODUCT_FROM_DATABASE=PCI-6034E
-
-pci:v00001093d00002CC0*
- ID_PRODUCT_FROM_DATABASE=PXI-6608
-
-pci:v00001093d00002DB0*
- ID_PRODUCT_FROM_DATABASE=PCI-6608
-
-pci:v00001093d000070A9*
- ID_PRODUCT_FROM_DATABASE=PCI-6528 (Digital I/O at 60V)
-
-pci:v00001093d000070AA*
- ID_PRODUCT_FROM_DATABASE=PCI-6229
-
-pci:v00001093d000070AB*
- ID_PRODUCT_FROM_DATABASE=PCI-6259
-
-pci:v00001093d000070AC*
- ID_PRODUCT_FROM_DATABASE=PCI-6289
-
-pci:v00001093d000070AE*
- ID_PRODUCT_FROM_DATABASE=PXI-6220
-
-pci:v00001093d000070AF*
- ID_PRODUCT_FROM_DATABASE=PCI-6221
-
-pci:v00001093d000070B0*
- ID_PRODUCT_FROM_DATABASE=PCI-6220
-
-pci:v00001093d000070B4*
- ID_PRODUCT_FROM_DATABASE=PCI-6250
-
-pci:v00001093d000070B6*
- ID_PRODUCT_FROM_DATABASE=PCI-6280
-
-pci:v00001093d000070B7*
- ID_PRODUCT_FROM_DATABASE=PCI-6254
-
-pci:v00001093d000070B8*
- ID_PRODUCT_FROM_DATABASE=PCI-6251 [M Series - High Speed Multifunction DAQ]
-
-pci:v00001093d000070BC*
- ID_PRODUCT_FROM_DATABASE=PCI-6284
-
-pci:v00001093d000070BD*
- ID_PRODUCT_FROM_DATABASE=PCI-6281
-
-pci:v00001093d000070BF*
- ID_PRODUCT_FROM_DATABASE=PXI-6281
-
-pci:v00001093d000070C0*
- ID_PRODUCT_FROM_DATABASE=PCI-6143
-
-pci:v00001093d000070F2*
- ID_PRODUCT_FROM_DATABASE=PCI-6224
-
-pci:v00001093d00007144*
- ID_PRODUCT_FROM_DATABASE=PXI-5124 (12-bit 200 MS/s Digitizer)
-
-pci:v00001093d0000716C*
- ID_PRODUCT_FROM_DATABASE=PCI-6225
-
-pci:v00001093d0000717D*
- ID_PRODUCT_FROM_DATABASE=PCIE-6251
-
-pci:v00001093d0000717F*
- ID_PRODUCT_FROM_DATABASE=PCIe-6259
-
-pci:v00001093d000071BC*
- ID_PRODUCT_FROM_DATABASE=PCI-6221 (37pin)
-
-pci:v00001093d000071D0*
- ID_PRODUCT_FROM_DATABASE=PXI-6143
-
-pci:v00001093d0000B001*
- ID_PRODUCT_FROM_DATABASE=IMAQ-PCI-1408
-
-pci:v00001093d0000B011*
- ID_PRODUCT_FROM_DATABASE=IMAQ-PXI-1408
-
-pci:v00001093d0000B021*
- ID_PRODUCT_FROM_DATABASE=IMAQ-PCI-1424
-
-pci:v00001093d0000B031*
- ID_PRODUCT_FROM_DATABASE=IMAQ-PCI-1413
-
-pci:v00001093d0000B041*
- ID_PRODUCT_FROM_DATABASE=IMAQ-PCI-1407
-
-pci:v00001093d0000B051*
- ID_PRODUCT_FROM_DATABASE=IMAQ-PXI-1407
-
-pci:v00001093d0000B061*
- ID_PRODUCT_FROM_DATABASE=IMAQ-PCI-1411
-
-pci:v00001093d0000B071*
- ID_PRODUCT_FROM_DATABASE=IMAQ-PCI-1422
-
-pci:v00001093d0000B081*
- ID_PRODUCT_FROM_DATABASE=IMAQ-PXI-1422
-
-pci:v00001093d0000B091*
- ID_PRODUCT_FROM_DATABASE=IMAQ-PXI-1411
-
-pci:v00001093d0000C4C4*
- ID_PRODUCT_FROM_DATABASE=PXIe-4353
-
-pci:v00001093d0000C801*
- ID_PRODUCT_FROM_DATABASE=PCI-GPIB
-
-pci:v00001093d0000C831*
- ID_PRODUCT_FROM_DATABASE=PCI-GPIB bridge
-
-pci:v00001094*
- ID_VENDOR_FROM_DATABASE=First International Computers [FIC]
-
-pci:v00001095*
- ID_VENDOR_FROM_DATABASE=Silicon Image, Inc.
-
-pci:v00001095d00000240*
- ID_PRODUCT_FROM_DATABASE=Adaptec AAR-1210SA SATA HostRAID Controller
-
-pci:v00001095d00000640*
- ID_PRODUCT_FROM_DATABASE=PCI0640
-
-pci:v00001095d00000643*
- ID_PRODUCT_FROM_DATABASE=PCI0643
-
-pci:v00001095d00000646*
- ID_PRODUCT_FROM_DATABASE=PCI0646
-
-pci:v00001095d00000647*
- ID_PRODUCT_FROM_DATABASE=PCI0647
-
-pci:v00001095d00000648*
- ID_PRODUCT_FROM_DATABASE=PCI0648
-
-pci:v00001095d00000648sv00001043sd00008025*
- ID_PRODUCT_FROM_DATABASE=CUBX motherboard
-
-pci:v00001095d00000649*
- ID_PRODUCT_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller
-
-pci:v00001095d00000649sv00000E11sd0000005D*
- ID_PRODUCT_FROM_DATABASE=Integrated Ultra ATA-100 Dual Channel Controller
-
-pci:v00001095d00000649sv00000E11sd0000007E*
- ID_PRODUCT_FROM_DATABASE=Integrated Ultra ATA-100 IDE RAID Controller
-
-pci:v00001095d00000649sv0000101Esd00000649*
- ID_PRODUCT_FROM_DATABASE=AMI MegaRAID IDE 100 Controller
-
-pci:v00001095d00000650*
- ID_PRODUCT_FROM_DATABASE=PBC0650A
-
-pci:v00001095d00000670*
- ID_PRODUCT_FROM_DATABASE=USB0670
-
-pci:v00001095d00000670sv00001095sd00000670*
- ID_PRODUCT_FROM_DATABASE=USB0670
-
-pci:v00001095d00000673*
- ID_PRODUCT_FROM_DATABASE=USB0673
-
-pci:v00001095d00000680*
- ID_PRODUCT_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller
-
-pci:v00001095d00000680sv00001095sd00000680*
- ID_PRODUCT_FROM_DATABASE=SiI 0680 ATA/133 Controller
-
-pci:v00001095d00000680sv00001095sd00003680*
- ID_PRODUCT_FROM_DATABASE=Winic W-680 (Silicon Image 680 based)
-
-pci:v00001095d00003112*
- ID_PRODUCT_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller
-
-pci:v00001095d00003112sv00001095sd00003112*
- ID_PRODUCT_FROM_DATABASE=SiI 3112 SATALink Controller
-
-pci:v00001095d00003112sv00001095sd00006112*
- ID_PRODUCT_FROM_DATABASE=SiI 3112 SATARaid Controller
-
-pci:v00001095d00003112sv00009005sd00000250*
- ID_PRODUCT_FROM_DATABASE=SATAConnect 1205SA Host Controller
-
-pci:v00001095d00003114*
- ID_PRODUCT_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller
-
-pci:v00001095d00003114sv00001095sd00003114*
- ID_PRODUCT_FROM_DATABASE=SiI 3114 SATALink Controller
-
-pci:v00001095d00003114sv00001095sd00006114*
- ID_PRODUCT_FROM_DATABASE=SiI 3114 SATARaid Controller
-
-pci:v00001095d00003124*
- ID_PRODUCT_FROM_DATABASE=SiI 3124 PCI-X Serial ATA Controller
-
-pci:v00001095d00003124sv00001095sd00003124*
- ID_PRODUCT_FROM_DATABASE=SiI 3124 PCI-X Serial ATA Controller
-
-pci:v00001095d00003132*
- ID_PRODUCT_FROM_DATABASE=SiI 3132 Serial ATA Raid II Controller
-
-pci:v00001095d00003512*
- ID_PRODUCT_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller
-
-pci:v00001095d00003512sv00001095sd00003512*
- ID_PRODUCT_FROM_DATABASE=SiI 3512 SATALink Controller
-
-pci:v00001095d00003512sv00001095sd00006512*
- ID_PRODUCT_FROM_DATABASE=SiI 3512 SATARaid Controller
-
-pci:v00001095d00003531*
- ID_PRODUCT_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller
-
-pci:v00001096*
- ID_VENDOR_FROM_DATABASE=Alacron
-
-pci:v00001097*
- ID_VENDOR_FROM_DATABASE=Appian Technology
-
-pci:v00001098*
- ID_VENDOR_FROM_DATABASE=Quantum Designs (H.K.) Ltd
-
-pci:v00001098d00000001*
- ID_PRODUCT_FROM_DATABASE=QD-8500
-
-pci:v00001098d00000002*
- ID_PRODUCT_FROM_DATABASE=QD-8580
-
-pci:v00001099*
- ID_VENDOR_FROM_DATABASE=Samsung Electronics Co., Ltd
-
-pci:v0000109A*
- ID_VENDOR_FROM_DATABASE=Packard Bell
-
-pci:v0000109B*
- ID_VENDOR_FROM_DATABASE=Gemlight Computer Ltd.
-
-pci:v0000109C*
- ID_VENDOR_FROM_DATABASE=Megachips Corporation
-
-pci:v0000109D*
- ID_VENDOR_FROM_DATABASE=Zida Technologies Ltd.
-
-pci:v0000109E*
- ID_VENDOR_FROM_DATABASE=Brooktree Corporation
-
-pci:v0000109Ed00000310*
- ID_PRODUCT_FROM_DATABASE=Bt848 Video Capture
-
-pci:v0000109Ed0000032E*
- ID_PRODUCT_FROM_DATABASE=Bt878 Video Capture
-
-pci:v0000109Ed00000350*
- ID_PRODUCT_FROM_DATABASE=Bt848 Video Capture
-
-pci:v0000109Ed00000351*
- ID_PRODUCT_FROM_DATABASE=Bt849A Video capture
-
-pci:v0000109Ed00000369*
- ID_PRODUCT_FROM_DATABASE=Bt878 Video Capture
-
-pci:v0000109Ed00000369sv00001002sd00000001*
- ID_PRODUCT_FROM_DATABASE=TV-Wonder
-
-pci:v0000109Ed00000369sv00001002sd00000003*
- ID_PRODUCT_FROM_DATABASE=TV-Wonder/VE
-
-pci:v0000109Ed0000036C*
- ID_PRODUCT_FROM_DATABASE=Bt879(??) Video Capture
-
-pci:v0000109Ed0000036Csv000013E9sd00000070*
- ID_PRODUCT_FROM_DATABASE=Win/TV (Video Section)
-
-pci:v0000109Ed0000036E*
- ID_PRODUCT_FROM_DATABASE=Bt878 Video Capture
-
-pci:v0000109Ed0000036Esv00000070sd000013EB*
- ID_PRODUCT_FROM_DATABASE=WinTV Series
-
-pci:v0000109Ed0000036Esv00000070sd0000FF01*
- ID_PRODUCT_FROM_DATABASE=Viewcast Osprey 200
-
-pci:v0000109Ed0000036Esv00000071sd00000101*
- ID_PRODUCT_FROM_DATABASE=DigiTV PCI
-
-pci:v0000109Ed0000036Esv0000107Dsd00006606*
- ID_PRODUCT_FROM_DATABASE=WinFast TV 2000
-
-pci:v0000109Ed0000036Esv000011BDsd00000012*
- ID_PRODUCT_FROM_DATABASE=PCTV pro (TV + FM stereo receiver)
-
-pci:v0000109Ed0000036Esv000011BDsd0000001C*
- ID_PRODUCT_FROM_DATABASE=PCTV Sat (DBC receiver)
-
-pci:v0000109Ed0000036Esv0000127Asd00000001*
- ID_PRODUCT_FROM_DATABASE=Bt878 Mediastream Controller NTSC
-
-pci:v0000109Ed0000036Esv0000127Asd00000002*
- ID_PRODUCT_FROM_DATABASE=Bt878 Mediastream Controller PAL BG
-
-pci:v0000109Ed0000036Esv0000127Asd00000003*
- ID_PRODUCT_FROM_DATABASE=Bt878a Mediastream Controller PAL BG
-
-pci:v0000109Ed0000036Esv0000127Asd00000048*
- ID_PRODUCT_FROM_DATABASE=Bt878/832 Mediastream Controller
-
-pci:v0000109Ed0000036Esv0000144Fsd00003000*
- ID_PRODUCT_FROM_DATABASE=MagicTView CPH060 - Video
-
-pci:v0000109Ed0000036Esv00001461sd00000002*
- ID_PRODUCT_FROM_DATABASE=TV98 Series (TV/No FM/Remote)
-
-pci:v0000109Ed0000036Esv00001461sd00000003*
- ID_PRODUCT_FROM_DATABASE=AverMedia UltraTV PCI 350
-
-pci:v0000109Ed0000036Esv00001461sd00000004*
- ID_PRODUCT_FROM_DATABASE=AVerTV WDM Video Capture
-
-pci:v0000109Ed0000036Esv00001461sd00000761*
- ID_PRODUCT_FROM_DATABASE=AverTV DVB-T
-
-pci:v0000109Ed0000036Esv00001461sd00000771*
- ID_PRODUCT_FROM_DATABASE=AverMedia AVerTV DVB-T 771
-
-pci:v0000109Ed0000036Esv000014F1sd00000001*
- ID_PRODUCT_FROM_DATABASE=Bt878 Mediastream Controller NTSC
-
-pci:v0000109Ed0000036Esv000014F1sd00000002*
- ID_PRODUCT_FROM_DATABASE=Bt878 Mediastream Controller PAL BG
-
-pci:v0000109Ed0000036Esv000014F1sd00000003*
- ID_PRODUCT_FROM_DATABASE=Bt878a Mediastream Controller PAL BG
-
-pci:v0000109Ed0000036Esv000014F1sd00000048*
- ID_PRODUCT_FROM_DATABASE=Bt878/832 Mediastream Controller
-
-pci:v0000109Ed0000036Esv00001822sd00000001*
- ID_PRODUCT_FROM_DATABASE=VisionPlus DVB card
-
-pci:v0000109Ed0000036Esv00001851sd00001850*
- ID_PRODUCT_FROM_DATABASE=FlyVideo'98 - Video
-
-pci:v0000109Ed0000036Esv00001851sd00001851*
- ID_PRODUCT_FROM_DATABASE=FlyVideo II
-
-pci:v0000109Ed0000036Esv00001852sd00001852*
- ID_PRODUCT_FROM_DATABASE=FlyVideo'98 - Video (with FM Tuner)
-
-pci:v0000109Ed0000036Esv000018ACsd0000D500*
- ID_PRODUCT_FROM_DATABASE=DViCO FusionHDTV5 Lite
-
-pci:v0000109Ed0000036Esv0000270Fsd0000FC00*
- ID_PRODUCT_FROM_DATABASE=Digitop DTT-1000
-
-pci:v0000109Ed0000036Esv0000BD11sd00001200*
- ID_PRODUCT_FROM_DATABASE=PCTV pro (TV + FM stereo receiver)
-
-pci:v0000109Ed0000036F*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture
-
-pci:v0000109Ed0000036Fsv0000127Asd00000044*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv0000127Asd00000122*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture PAL I
-
-pci:v0000109Ed0000036Fsv0000127Asd00000144*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv0000127Asd00000222*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture PAL BG
-
-pci:v0000109Ed0000036Fsv0000127Asd00000244*
- ID_PRODUCT_FROM_DATABASE=Bt879a Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv0000127Asd00000322*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv0000127Asd00000422*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv0000127Asd00001122*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture PAL I
-
-pci:v0000109Ed0000036Fsv0000127Asd00001222*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture PAL BG
-
-pci:v0000109Ed0000036Fsv0000127Asd00001322*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv0000127Asd00001522*
- ID_PRODUCT_FROM_DATABASE=Bt879a Video Capture PAL I
-
-pci:v0000109Ed0000036Fsv0000127Asd00001622*
- ID_PRODUCT_FROM_DATABASE=Bt879a Video Capture PAL BG
-
-pci:v0000109Ed0000036Fsv0000127Asd00001722*
- ID_PRODUCT_FROM_DATABASE=Bt879a Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv000014F1sd00000044*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv000014F1sd00000122*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture PAL I
-
-pci:v0000109Ed0000036Fsv000014F1sd00000144*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv000014F1sd00000222*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture PAL BG
-
-pci:v0000109Ed0000036Fsv000014F1sd00000244*
- ID_PRODUCT_FROM_DATABASE=Bt879a Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv000014F1sd00000322*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv000014F1sd00000422*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv000014F1sd00001122*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture PAL I
-
-pci:v0000109Ed0000036Fsv000014F1sd00001222*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture PAL BG
-
-pci:v0000109Ed0000036Fsv000014F1sd00001322*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv000014F1sd00001522*
- ID_PRODUCT_FROM_DATABASE=Bt879a Video Capture PAL I
-
-pci:v0000109Ed0000036Fsv000014F1sd00001622*
- ID_PRODUCT_FROM_DATABASE=Bt879a Video Capture PAL BG
-
-pci:v0000109Ed0000036Fsv000014F1sd00001722*
- ID_PRODUCT_FROM_DATABASE=Bt879a Video Capture NTSC
-
-pci:v0000109Ed0000036Fsv00001851sd00001850*
- ID_PRODUCT_FROM_DATABASE=FlyVideo'98 - Video
-
-pci:v0000109Ed0000036Fsv00001851sd00001851*
- ID_PRODUCT_FROM_DATABASE=FlyVideo II
-
-pci:v0000109Ed0000036Fsv00001852sd00001852*
- ID_PRODUCT_FROM_DATABASE=FlyVideo'98 - Video (with FM Tuner)
-
-pci:v0000109Ed00000370*
- ID_PRODUCT_FROM_DATABASE=Bt880 Video Capture
-
-pci:v0000109Ed00000370sv00001851sd00001850*
- ID_PRODUCT_FROM_DATABASE=FlyVideo'98
-
-pci:v0000109Ed00000370sv00001851sd00001851*
- ID_PRODUCT_FROM_DATABASE=FlyVideo'98 EZ - video
-
-pci:v0000109Ed00000370sv00001852sd00001852*
- ID_PRODUCT_FROM_DATABASE=FlyVideo'98 (with FM Tuner)
-
-pci:v0000109Ed00000878*
- ID_PRODUCT_FROM_DATABASE=Bt878 Audio Capture
-
-pci:v0000109Ed00000878sv00000070sd000013EB*
- ID_PRODUCT_FROM_DATABASE=WinTV Series
-
-pci:v0000109Ed00000878sv00000070sd0000FF01*
- ID_PRODUCT_FROM_DATABASE=Viewcast Osprey 200
-
-pci:v0000109Ed00000878sv00000071sd00000101*
- ID_PRODUCT_FROM_DATABASE=DigiTV PCI
-
-pci:v0000109Ed00000878sv00001002sd00000001*
- ID_PRODUCT_FROM_DATABASE=TV-Wonder
-
-pci:v0000109Ed00000878sv00001002sd00000003*
- ID_PRODUCT_FROM_DATABASE=TV-Wonder/VE
-
-pci:v0000109Ed00000878sv000011BDsd00000012*
- ID_PRODUCT_FROM_DATABASE=PCTV pro (TV + FM stereo receiver, audio section)
-
-pci:v0000109Ed00000878sv000011BDsd0000001C*
- ID_PRODUCT_FROM_DATABASE=PCTV Sat (DBC receiver)
-
-pci:v0000109Ed00000878sv0000127Asd00000001*
- ID_PRODUCT_FROM_DATABASE=Bt878 Video Capture (Audio Section)
-
-pci:v0000109Ed00000878sv0000127Asd00000002*
- ID_PRODUCT_FROM_DATABASE=Bt878 Video Capture (Audio Section)
-
-pci:v0000109Ed00000878sv0000127Asd00000003*
- ID_PRODUCT_FROM_DATABASE=Bt878 Video Capture (Audio Section)
-
-pci:v0000109Ed00000878sv0000127Asd00000048*
- ID_PRODUCT_FROM_DATABASE=Bt878 Video Capture (Audio Section)
-
-pci:v0000109Ed00000878sv000013E9sd00000070*
- ID_PRODUCT_FROM_DATABASE=Win/TV (Audio Section)
-
-pci:v0000109Ed00000878sv0000144Fsd00003000*
- ID_PRODUCT_FROM_DATABASE=MagicTView CPH060 - Audio
-
-pci:v0000109Ed00000878sv00001461sd00000002*
- ID_PRODUCT_FROM_DATABASE=Avermedia PCTV98 Audio Capture
-
-pci:v0000109Ed00000878sv00001461sd00000003*
- ID_PRODUCT_FROM_DATABASE=UltraTV PCI 350
-
-pci:v0000109Ed00000878sv00001461sd00000004*
- ID_PRODUCT_FROM_DATABASE=AVerTV WDM Audio Capture
-
-pci:v0000109Ed00000878sv00001461sd00000761*
- ID_PRODUCT_FROM_DATABASE=AVerTV DVB-T
-
-pci:v0000109Ed00000878sv00001461sd00000771*
- ID_PRODUCT_FROM_DATABASE=AverMedia AVerTV DVB-T 771
-
-pci:v0000109Ed00000878sv000014F1sd00000001*
- ID_PRODUCT_FROM_DATABASE=Bt878 Video Capture (Audio Section)
-
-pci:v0000109Ed00000878sv000014F1sd00000002*
- ID_PRODUCT_FROM_DATABASE=Bt878 Video Capture (Audio Section)
-
-pci:v0000109Ed00000878sv000014F1sd00000003*
- ID_PRODUCT_FROM_DATABASE=Bt878 Video Capture (Audio Section)
-
-pci:v0000109Ed00000878sv000014F1sd00000048*
- ID_PRODUCT_FROM_DATABASE=Bt878 Video Capture (Audio Section)
-
-pci:v0000109Ed00000878sv00001822sd00000001*
- ID_PRODUCT_FROM_DATABASE=VisionPlus DVB Card
-
-pci:v0000109Ed00000878sv000018ACsd0000D500*
- ID_PRODUCT_FROM_DATABASE=DViCO FusionHDTV5 Lite
-
-pci:v0000109Ed00000878sv0000270Fsd0000FC00*
- ID_PRODUCT_FROM_DATABASE=Digitop DTT-1000
-
-pci:v0000109Ed00000878sv0000BD11sd00001200*
- ID_PRODUCT_FROM_DATABASE=PCTV pro (TV + FM stereo receiver, audio section)
-
-pci:v0000109Ed00000879*
- ID_PRODUCT_FROM_DATABASE=Bt879 Audio Capture
-
-pci:v0000109Ed00000879sv0000127Asd00000044*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv0000127Asd00000122*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv0000127Asd00000144*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv0000127Asd00000222*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv0000127Asd00000244*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv0000127Asd00000322*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv0000127Asd00000422*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv0000127Asd00001122*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv0000127Asd00001222*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv0000127Asd00001322*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv0000127Asd00001522*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv0000127Asd00001622*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv0000127Asd00001722*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv000014F1sd00000044*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv000014F1sd00000122*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv000014F1sd00000144*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv000014F1sd00000222*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv000014F1sd00000244*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv000014F1sd00000322*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv000014F1sd00000422*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv000014F1sd00001122*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv000014F1sd00001222*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv000014F1sd00001322*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv000014F1sd00001522*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv000014F1sd00001622*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000879sv000014F1sd00001722*
- ID_PRODUCT_FROM_DATABASE=Bt879 Video Capture (Audio Section)
-
-pci:v0000109Ed00000880*
- ID_PRODUCT_FROM_DATABASE=Bt880 Audio Capture
-
-pci:v0000109Ed00002115*
- ID_PRODUCT_FROM_DATABASE=BtV 2115 Mediastream controller
-
-pci:v0000109Ed00002125*
- ID_PRODUCT_FROM_DATABASE=BtV 2125 Mediastream controller
-
-pci:v0000109Ed00002164*
- ID_PRODUCT_FROM_DATABASE=BtV 2164
-
-pci:v0000109Ed00002165*
- ID_PRODUCT_FROM_DATABASE=BtV 2165
-
-pci:v0000109Ed00008230*
- ID_PRODUCT_FROM_DATABASE=Bt8230 ATM Segment/Reassembly Ctrlr (SRC)
-
-pci:v0000109Ed00008472*
- ID_PRODUCT_FROM_DATABASE=Bt8472
-
-pci:v0000109Ed00008474*
- ID_PRODUCT_FROM_DATABASE=Bt8474
-
-pci:v0000109F*
- ID_VENDOR_FROM_DATABASE=Trigem Computer Inc.
-
-pci:v000010A0*
- ID_VENDOR_FROM_DATABASE=Meidensha Corporation
-
-pci:v000010A1*
- ID_VENDOR_FROM_DATABASE=Juko Electronics Ind. Co. Ltd
-
-pci:v000010A2*
- ID_VENDOR_FROM_DATABASE=Quantum Corporation
-
-pci:v000010A3*
- ID_VENDOR_FROM_DATABASE=Everex Systems Inc
-
-pci:v000010A4*
- ID_VENDOR_FROM_DATABASE=Globe Manufacturing Sales
-
-pci:v000010A5*
- ID_VENDOR_FROM_DATABASE=Smart Link Ltd.
-
-pci:v000010A5d00003052*
- ID_PRODUCT_FROM_DATABASE=SmartPCI562 56K Modem
-
-pci:v000010A5d00005449*
- ID_PRODUCT_FROM_DATABASE=SmartPCI561 modem
-
-pci:v000010A6*
- ID_VENDOR_FROM_DATABASE=Informtech Industrial Ltd.
-
-pci:v000010A7*
- ID_VENDOR_FROM_DATABASE=Benchmarq Microelectronics
-
-pci:v000010A8*
- ID_VENDOR_FROM_DATABASE=Sierra Semiconductor
-
-pci:v000010A8d00000000*
- ID_PRODUCT_FROM_DATABASE=STB Horizon 64
-
-pci:v000010A9*
- ID_VENDOR_FROM_DATABASE=Silicon Graphics Intl. Corp.
-
-pci:v000010A9d00000001*
- ID_PRODUCT_FROM_DATABASE=Crosstalk to PCI Bridge
-
-pci:v000010A9d00000002*
- ID_PRODUCT_FROM_DATABASE=Linc I/O controller
-
-pci:v000010A9d00000003*
- ID_PRODUCT_FROM_DATABASE=IOC3 I/O controller
-
-pci:v000010A9d00000004*
- ID_PRODUCT_FROM_DATABASE=O2 MACE
-
-pci:v000010A9d00000005*
- ID_PRODUCT_FROM_DATABASE=RAD Audio
-
-pci:v000010A9d00000006*
- ID_PRODUCT_FROM_DATABASE=HPCEX
-
-pci:v000010A9d00000007*
- ID_PRODUCT_FROM_DATABASE=RPCEX
-
-pci:v000010A9d00000008*
- ID_PRODUCT_FROM_DATABASE=DiVO VIP
-
-pci:v000010A9d00000009*
- ID_PRODUCT_FROM_DATABASE=AceNIC Gigabit Ethernet
-
-pci:v000010A9d00000009sv000010A9sd00008002*
- ID_PRODUCT_FROM_DATABASE=AceNIC Gigabit Ethernet
-
-pci:v000010A9d00000010*
- ID_PRODUCT_FROM_DATABASE=AMP Video I/O
-
-pci:v000010A9d00000011*
- ID_PRODUCT_FROM_DATABASE=GRIP
-
-pci:v000010A9d00000012*
- ID_PRODUCT_FROM_DATABASE=SGH PSHAC GSN
-
-pci:v000010A9d00000208*
- ID_PRODUCT_FROM_DATABASE=SSIM1 SAS Adapter
-
-pci:v000010A9d00001001*
- ID_PRODUCT_FROM_DATABASE=Magic Carpet
-
-pci:v000010A9d00001002*
- ID_PRODUCT_FROM_DATABASE=Lithium
-
-pci:v000010A9d00001003*
- ID_PRODUCT_FROM_DATABASE=Dual JPEG 1
-
-pci:v000010A9d00001004*
- ID_PRODUCT_FROM_DATABASE=Dual JPEG 2
-
-pci:v000010A9d00001005*
- ID_PRODUCT_FROM_DATABASE=Dual JPEG 3
-
-pci:v000010A9d00001006*
- ID_PRODUCT_FROM_DATABASE=Dual JPEG 4
-
-pci:v000010A9d00001007*
- ID_PRODUCT_FROM_DATABASE=Dual JPEG 5
-
-pci:v000010A9d00001008*
- ID_PRODUCT_FROM_DATABASE=Cesium
-
-pci:v000010A9d0000100A*
- ID_PRODUCT_FROM_DATABASE=IOC4 I/O controller
-
-pci:v000010A9d00001504*
- ID_PRODUCT_FROM_DATABASE=SSIM1 Fibre Channel Adapter
-
-pci:v000010A9d00002001*
- ID_PRODUCT_FROM_DATABASE=Fibre Channel
-
-pci:v000010A9d00002002*
- ID_PRODUCT_FROM_DATABASE=ASDE
-
-pci:v000010A9d00004001*
- ID_PRODUCT_FROM_DATABASE=TIO-CE PCI Express Bridge
-
-pci:v000010A9d00004002*
- ID_PRODUCT_FROM_DATABASE=TIO-CE PCI Express Port
-
-pci:v000010A9d00008001*
- ID_PRODUCT_FROM_DATABASE=O2 1394
-
-pci:v000010A9d00008002*
- ID_PRODUCT_FROM_DATABASE=G-net NT
-
-pci:v000010AA*
- ID_VENDOR_FROM_DATABASE=ACC Microelectronics
-
-pci:v000010AAd00000000*
- ID_PRODUCT_FROM_DATABASE=ACCM 2188
-
-pci:v000010AAd00002051*
- ID_PRODUCT_FROM_DATABASE=2051 CPU bridge
-
-pci:v000010AAd00005842*
- ID_PRODUCT_FROM_DATABASE=2051 ISA bridge
-
-pci:v000010AB*
- ID_VENDOR_FROM_DATABASE=Digicom
-
-pci:v000010AC*
- ID_VENDOR_FROM_DATABASE=Honeywell IAC
-
-pci:v000010AD*
- ID_VENDOR_FROM_DATABASE=Symphony Labs
-
-pci:v000010ADd00000001*
- ID_PRODUCT_FROM_DATABASE=W83769F
-
-pci:v000010ADd00000003*
- ID_PRODUCT_FROM_DATABASE=SL82C103
-
-pci:v000010ADd00000005*
- ID_PRODUCT_FROM_DATABASE=SL82C105
-
-pci:v000010ADd00000103*
- ID_PRODUCT_FROM_DATABASE=SL82c103
-
-pci:v000010ADd00000105*
- ID_PRODUCT_FROM_DATABASE=SL82c105
-
-pci:v000010ADd00000565*
- ID_PRODUCT_FROM_DATABASE=W83C553F/W83C554F
-
-pci:v000010AE*
- ID_VENDOR_FROM_DATABASE=Cornerstone Technology
-
-pci:v000010AF*
- ID_VENDOR_FROM_DATABASE=Micro Computer Systems Inc
-
-pci:v000010B0*
- ID_VENDOR_FROM_DATABASE=CardExpert Technology
-
-pci:v000010B1*
- ID_VENDOR_FROM_DATABASE=Cabletron Systems Inc
-
-pci:v000010B2*
- ID_VENDOR_FROM_DATABASE=Raytheon Company
-
-pci:v000010B3*
- ID_VENDOR_FROM_DATABASE=Databook Inc
-
-pci:v000010B3d00003106*
- ID_PRODUCT_FROM_DATABASE=DB87144
-
-pci:v000010B3d0000B106*
- ID_PRODUCT_FROM_DATABASE=DB87144
-
-pci:v000010B4*
- ID_VENDOR_FROM_DATABASE=STB Systems Inc
-
-pci:v000010B4d00001B1D*
- ID_PRODUCT_FROM_DATABASE=Velocity 128 3D
-
-pci:v000010B4d00001B1Dsv000010B4sd0000237E*
- ID_PRODUCT_FROM_DATABASE=Velocity 4400
-
-pci:v000010B5*
- ID_VENDOR_FROM_DATABASE=PLX Technology, Inc.
-
-pci:v000010B5d00000001*
- ID_PRODUCT_FROM_DATABASE=i960 PCI bus interface
-
-pci:v000010B5d00000557*
- ID_PRODUCT_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d00000557sv0000105Bsd00009030*
- ID_PRODUCT_FROM_DATABASE=Digium Tormenta 2 T400P-SS7 or E400P-SS7 Quad T1 or E1 PCI card
-
-pci:v000010B5d00001000*
- ID_PRODUCT_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d00001000sv0000105Bsd00009030*
- ID_PRODUCT_FROM_DATABASE=ATCOM AT400P Quad T1 PCI card
-
-pci:v000010B5d00001024*
- ID_PRODUCT_FROM_DATABASE=Acromag, Inc. IndustryPack Carrier Card
-
-pci:v000010B5d00001042*
- ID_PRODUCT_FROM_DATABASE=Brandywine / jxi2, Inc. - PMC-SyncClock32, IRIG A & B, Nasa 36
-
-pci:v000010B5d0000106A*
- ID_PRODUCT_FROM_DATABASE=Dual OX16C952 4 port serial adapter [Megawolf Romulus/4]
-
-pci:v000010B5d00001076*
- ID_PRODUCT_FROM_DATABASE=VScom 800 8 port serial adaptor
-
-pci:v000010B5d00001077*
- ID_PRODUCT_FROM_DATABASE=VScom 400 4 port serial adaptor
-
-pci:v000010B5d00001078*
- ID_PRODUCT_FROM_DATABASE=VScom 210 2 port serial and 1 port parallel adaptor
-
-pci:v000010B5d00001103*
- ID_PRODUCT_FROM_DATABASE=VScom 200 2 port serial adaptor
-
-pci:v000010B5d00001146*
- ID_PRODUCT_FROM_DATABASE=VScom 010 1 port parallel adaptor
-
-pci:v000010B5d00001147*
- ID_PRODUCT_FROM_DATABASE=VScom 020 2 port parallel adaptor
-
-pci:v000010B5d00002000*
- ID_PRODUCT_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d00002000sv0000105Bsd00009030*
- ID_PRODUCT_FROM_DATABASE=ATCOM AE400P Quad E1 PCI card
-
-pci:v000010B5d00002540*
- ID_PRODUCT_FROM_DATABASE=IXXAT CAN-Interface PC-I 04/PCI
-
-pci:v000010B5d00002724*
- ID_PRODUCT_FROM_DATABASE=Thales PCSM Security Card
-
-pci:v000010B5d00003376*
- ID_PRODUCT_FROM_DATABASE=Cosateq 4 Port CAN Card
-
-pci:v000010B5d00004000*
- ID_PRODUCT_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d00004000sv000010B5sd00009030*
- ID_PRODUCT_FROM_DATABASE=Tormenta 3 Varion V400P/ATCOM TE400P Quad E1/T1/J1 PCI card
-
-pci:v000010B5d00004001*
- ID_PRODUCT_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d00004001sv0000105Bsd00009030*
- ID_PRODUCT_FROM_DATABASE=ATCOM A400PE Quad E1 PCI card
-
-pci:v000010B5d00004002*
- ID_PRODUCT_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d00004002sv0000105Bsd00009030*
- ID_PRODUCT_FROM_DATABASE=ATCOM A400PT Quad T1 PCI card
-
-pci:v000010B5d00006140*
- ID_PRODUCT_FROM_DATABASE=PCI6140 32-bit 33MHz PCI-to-PCI Bridge
-
-pci:v000010B5d00006150*
- ID_PRODUCT_FROM_DATABASE=PCI6150 32-bit 33MHz PCI-to-PCI Bridge
-
-pci:v000010B5d00006152*
- ID_PRODUCT_FROM_DATABASE=PCI6152 32-bit 66MHz PCI-to-PCI Bridge
-
-pci:v000010B5d00006154*
- ID_PRODUCT_FROM_DATABASE=PCI6154 64-bit 66MHz PCI-to-PCI Bridge
-
-pci:v000010B5d00006254*
- ID_PRODUCT_FROM_DATABASE=PCI6254 64-bit 66MHz PCI-to-PCI Bridge
-
-pci:v000010B5d00006466*
- ID_PRODUCT_FROM_DATABASE=PCI6466 64-bit 66MHz PCI-to-PCI Bridge
-
-pci:v000010B5d00006520*
- ID_PRODUCT_FROM_DATABASE=PCI6520 64-bit 133MHz PCI-X-to-PCI-X Bridge
-
-pci:v000010B5d00006540*
- ID_PRODUCT_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge
-
-pci:v000010B5d00006540sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11 Single Board Computer
-
-pci:v000010B5d00006540sv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v000010B5d00006541*
- ID_PRODUCT_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side)
-
-pci:v000010B5d00006541sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11 Single Board Computer
-
-pci:v000010B5d00006541sv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v000010B5d00006542*
- ID_PRODUCT_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side)
-
-pci:v000010B5d00006542sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11 Single Board Computer
-
-pci:v000010B5d00006542sv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v000010B5d00008111*
- ID_PRODUCT_FROM_DATABASE=PEX 8111 PCI Express-to-PCI Bridge
-
-pci:v000010B5d00008112*
- ID_PRODUCT_FROM_DATABASE=PEX8112 x1 Lane PCI Express-to-PCI Bridge
-
-pci:v000010B5d00008114*
- ID_PRODUCT_FROM_DATABASE=PEX 8114 PCI Express-to-PCI/PCI-X Bridge
-
-pci:v000010B5d00008311*
- ID_PRODUCT_FROM_DATABASE=PEX8311 x1 Lane PCI Express-to-Generic Local Bus Bridge
-
-pci:v000010B5d00008505*
- ID_PRODUCT_FROM_DATABASE=PEX 8505 5-lane, 5-port PCI Express Switch
-
-pci:v000010B5d00008508*
- ID_PRODUCT_FROM_DATABASE=PEX 8508 8-lane, 5-port PCI Express Switch
-
-pci:v000010B5d00008509*
- ID_PRODUCT_FROM_DATABASE=PEX 8509 8-lane, 8-port PCI Express Switch
-
-pci:v000010B5d00008512*
- ID_PRODUCT_FROM_DATABASE=PEX 8512 12-lane, 5-port PCI Express Switch
-
-pci:v000010B5d00008516*
- ID_PRODUCT_FROM_DATABASE=PEX 8516 Versatile PCI Express Switch
-
-pci:v000010B5d00008517*
- ID_PRODUCT_FROM_DATABASE=PEX 8517 16-lane, 5-port PCI Express Switch
-
-pci:v000010B5d00008518*
- ID_PRODUCT_FROM_DATABASE=PEX 8518 16-lane, 5-port PCI Express Switch
-
-pci:v000010B5d00008524*
- ID_PRODUCT_FROM_DATABASE=PEX 8524 24-lane, 6-port PCI Express Switch
-
-pci:v000010B5d00008525*
- ID_PRODUCT_FROM_DATABASE=PEX 8525 24-lane, 5-port PCI Express Switch
-
-pci:v000010B5d00008532*
- ID_PRODUCT_FROM_DATABASE=PEX 8532 Versatile PCI Express Switch
-
-pci:v000010B5d00008533*
- ID_PRODUCT_FROM_DATABASE=PEX 8533 32-lane, 6-port PCI Express Switch
-
-pci:v000010B5d00008547*
- ID_PRODUCT_FROM_DATABASE=PEX 8547 48-lane, 3-port PCI Express Switch
-
-pci:v000010B5d00008548*
- ID_PRODUCT_FROM_DATABASE=PEX 8548 48-lane, 9-port PCI Express Switch
-
-pci:v000010B5d00008604*
- ID_PRODUCT_FROM_DATABASE=PEX 8604 4-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008605*
- ID_PRODUCT_FROM_DATABASE=PEX 8605 PCI Express 4-port Gen2 Switch
-
-pci:v000010B5d00008606*
- ID_PRODUCT_FROM_DATABASE=PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008608*
- ID_PRODUCT_FROM_DATABASE=PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008609*
- ID_PRODUCT_FROM_DATABASE=PEX 8609 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA
-
-pci:v000010B5d00008612*
- ID_PRODUCT_FROM_DATABASE=PEX 8612 12-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008613*
- ID_PRODUCT_FROM_DATABASE=PEX 8613 12-lane, 3-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008614*
- ID_PRODUCT_FROM_DATABASE=PEX 8614 12-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008615*
- ID_PRODUCT_FROM_DATABASE=PEX 8615 12-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA
-
-pci:v000010B5d00008616*
- ID_PRODUCT_FROM_DATABASE=PEX 8616 16-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008617*
- ID_PRODUCT_FROM_DATABASE=PEX 8617 16-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch with P2P
-
-pci:v000010B5d00008618*
- ID_PRODUCT_FROM_DATABASE=PEX 8618 16-lane, 16-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008619*
- ID_PRODUCT_FROM_DATABASE=PEX 8619 16-lane, 16-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA
-
-pci:v000010B5d00008624*
- ID_PRODUCT_FROM_DATABASE=PEX 8624 24-lane, 6-Port PCI Express Gen 2 (5.0 GT/s) Switch [ExpressLane]
-
-pci:v000010B5d00008624sv000013A3sd00001845*
- ID_PRODUCT_FROM_DATABASE=DX1845 Acceleration Card
-
-pci:v000010B5d00008625*
- ID_PRODUCT_FROM_DATABASE=PEX 8625 24-lane, 24-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008632*
- ID_PRODUCT_FROM_DATABASE=PEX 8632 32-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008636*
- ID_PRODUCT_FROM_DATABASE=PEX 8636 36-lane, 24-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008647*
- ID_PRODUCT_FROM_DATABASE=PEX 8647 48-Lane, 3-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008648*
- ID_PRODUCT_FROM_DATABASE=PEX 8648 48-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008649*
- ID_PRODUCT_FROM_DATABASE=PEX 8649 48-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008664*
- ID_PRODUCT_FROM_DATABASE=PEX 8664 64-lane, 16-Port PCI Express Gen 2 (5.0 GT/s) Switch
-
-pci:v000010B5d00008680*
- ID_PRODUCT_FROM_DATABASE=PEX 8680 80-lane, 20-Port PCI Express Gen 2 (5.0 GT/s) Multi-Root Switch
-
-pci:v000010B5d00008696*
- ID_PRODUCT_FROM_DATABASE=PEX 8696 96-lane, 24-Port PCI Express Gen 2 (5.0 GT/s) Multi-Root Switch
-
-pci:v000010B5d00008732*
- ID_PRODUCT_FROM_DATABASE=PEX 8732 32-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch
-
-pci:v000010B5d000087B0*
- ID_PRODUCT_FROM_DATABASE=PEX 8732 32-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch
-
-pci:v000010B5d00009016*
- ID_PRODUCT_FROM_DATABASE=PLX 9016 8-port serial controller
-
-pci:v000010B5d00009030*
- ID_PRODUCT_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d00009030sv000010B5sd00002695*
- ID_PRODUCT_FROM_DATABASE=Hilscher CIF50-PB/DPS Profibus
-
-pci:v000010B5d00009030sv000010B5sd00002862*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board
-
-pci:v000010B5d00009030sv000010B5sd00002906*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board
-
-pci:v000010B5d00009030sv000010B5sd00002940*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board
-
-pci:v000010B5d00009030sv000010B5sd00002977*
- ID_PRODUCT_FROM_DATABASE=IXXAT iPC-I XC16/PCI CAN Board
-
-pci:v000010B5d00009030sv000010B5sd00002978*
- ID_PRODUCT_FROM_DATABASE=SH ARC-PCIu/SH ARC-PCI104/SH ARC-PCIe SOHARD ARCNET card
-
-pci:v000010B5d00009030sv000010B5sd00003025*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board
-
-pci:v000010B5d00009030sv000010B5sd00003068*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board
-
-pci:v000010B5d00009030sv000010B5sd00003463*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCL PCI D (v2) (3V/5V): Timecode Reader Board
-
-pci:v000010B5d00009030sv000012FEsd00000111*
- ID_PRODUCT_FROM_DATABASE=CPCI-ASIO4 (ESD 4-port Serial Interface Board)
-
-pci:v000010B5d00009030sv00001369sd00009C01*
- ID_PRODUCT_FROM_DATABASE=VX222v2
-
-pci:v000010B5d00009030sv00001369sd00009D01*
- ID_PRODUCT_FROM_DATABASE=VX222-Mic
-
-pci:v000010B5d00009030sv00001369sd00009D02*
- ID_PRODUCT_FROM_DATABASE=VX222-Mic
-
-pci:v000010B5d00009030sv00001369sd00009E01*
- ID_PRODUCT_FROM_DATABASE=PCX924v2
-
-pci:v000010B5d00009030sv00001369sd00009F01*
- ID_PRODUCT_FROM_DATABASE=PCX924-Mic
-
-pci:v000010B5d00009030sv00001369sd00009F02*
- ID_PRODUCT_FROM_DATABASE=PCX924-Mic
-
-pci:v000010B5d00009030sv00001369sd0000A001*
- ID_PRODUCT_FROM_DATABASE=PCX22v2
-
-pci:v000010B5d00009030sv00001369sd0000A701*
- ID_PRODUCT_FROM_DATABASE=LCM220v2
-
-pci:v000010B5d00009030sv00001369sd0000A801*
- ID_PRODUCT_FROM_DATABASE=LCM200
-
-pci:v000010B5d00009030sv00001397sd00003136*
- ID_PRODUCT_FROM_DATABASE=4xS0-ISDN PCI Adapter
-
-pci:v000010B5d00009030sv00001397sd00003137*
- ID_PRODUCT_FROM_DATABASE=S2M-E1-ISDN PCI Adapter
-
-pci:v000010B5d00009030sv00001518sd00000200*
- ID_PRODUCT_FROM_DATABASE=Kontron ThinkIO-C
-
-pci:v000010B5d00009030sv000015EDsd00001002*
- ID_PRODUCT_FROM_DATABASE=MCCS 8-port Serial Hot Swap
-
-pci:v000010B5d00009030sv000015EDsd00001003*
- ID_PRODUCT_FROM_DATABASE=MCCS 16-port Serial Hot Swap
-
-pci:v000010B5d00009030sv0000E1C5sd00000001*
- ID_PRODUCT_FROM_DATABASE=TE1-PCI
-
-pci:v000010B5d00009030sv0000E1C5sd00000005*
- ID_PRODUCT_FROM_DATABASE=TA1-PCI
-
-pci:v000010B5d00009030sv0000E1C5sd00000006*
- ID_PRODUCT_FROM_DATABASE=TA1-PCI4
-
-pci:v000010B5d00009036*
- ID_PRODUCT_FROM_DATABASE=9036
-
-pci:v000010B5d00009050*
- ID_PRODUCT_FROM_DATABASE=PCI <-> IOBus Bridge
-
-pci:v000010B5d00009050sv000010B5sd00001067*
- ID_PRODUCT_FROM_DATABASE=IXXAT CAN i165
-
-pci:v000010B5d00009050sv000010B5sd0000114E*
- ID_PRODUCT_FROM_DATABASE=Wasco WITIO PCI168extended
-
-pci:v000010B5d00009050sv000010B5sd00001169*
- ID_PRODUCT_FROM_DATABASE=Wasco OPTOIO32standard 32 digital in, 32 digital out
-
-pci:v000010B5d00009050sv000010B5sd00001172*
- ID_PRODUCT_FROM_DATABASE=IK220 (Heidenhain)
-
-pci:v000010B5d00009050sv000010B5sd00002036*
- ID_PRODUCT_FROM_DATABASE=SatPak GPS
-
-pci:v000010B5d00009050sv000010B5sd00002221*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCL PCI LV: Timecode Reader Board
-
-pci:v000010B5d00009050sv000010B5sd00002273*
- ID_PRODUCT_FROM_DATABASE=SH ARC-PCI SOHARD ARCNET card
-
-pci:v000010B5d00009050sv000010B5sd00002431*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCL PCI D: Timecode Reader Board
-
-pci:v000010B5d00009050sv000010B5sd00002905*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCI TS: Time Synchronisation Board
-
-pci:v000010B5d00009050sv000010B5sd00003196*
- ID_PRODUCT_FROM_DATABASE=Goramo PLX200SYN sync serial card
-
-pci:v000010B5d00009050sv000010B5sd00009050*
- ID_PRODUCT_FROM_DATABASE=PCI-I04 PCI Passive PC/CAN Interface
-
-pci:v000010B5d00009050sv00001369sd00008901*
- ID_PRODUCT_FROM_DATABASE=PCX11+ PCI
-
-pci:v000010B5d00009050sv00001369sd00008F01*
- ID_PRODUCT_FROM_DATABASE=VX222
-
-pci:v000010B5d00009050sv00001369sd00009401*
- ID_PRODUCT_FROM_DATABASE=PCX924
-
-pci:v000010B5d00009050sv00001369sd00009501*
- ID_PRODUCT_FROM_DATABASE=PCX22
-
-pci:v000010B5d00009050sv00001498sd00000362*
- ID_PRODUCT_FROM_DATABASE=TPMC866 8 Channel Serial Card
-
-pci:v000010B5d00009050sv00001522sd00000001*
- ID_PRODUCT_FROM_DATABASE=RockForce 4 Port V.90 Data/Fax/Voice Modem
-
-pci:v000010B5d00009050sv00001522sd00000002*
- ID_PRODUCT_FROM_DATABASE=RockForce 2 Port V.90 Data/Fax/Voice Modem
-
-pci:v000010B5d00009050sv00001522sd00000003*
- ID_PRODUCT_FROM_DATABASE=RockForce 6 Port V.90 Data/Fax/Voice Modem
-
-pci:v000010B5d00009050sv00001522sd00000004*
- ID_PRODUCT_FROM_DATABASE=RockForce 8 Port V.90 Data/Fax/Voice Modem
-
-pci:v000010B5d00009050sv00001522sd00000010*
- ID_PRODUCT_FROM_DATABASE=RockForce2000 4 Port V.90 Data/Fax/Voice Modem
-
-pci:v000010B5d00009050sv00001522sd00000020*
- ID_PRODUCT_FROM_DATABASE=RockForce2000 2 Port V.90 Data/Fax/Voice Modem
-
-pci:v000010B5d00009050sv000015EDsd00001000*
- ID_PRODUCT_FROM_DATABASE=Macrolink MCCS 8-port Serial
-
-pci:v000010B5d00009050sv000015EDsd00001001*
- ID_PRODUCT_FROM_DATABASE=Macrolink MCCS 16-port Serial
-
-pci:v000010B5d00009050sv000015EDsd00001002*
- ID_PRODUCT_FROM_DATABASE=Macrolink MCCS 8-port Serial Hot Swap
-
-pci:v000010B5d00009050sv000015EDsd00001003*
- ID_PRODUCT_FROM_DATABASE=Macrolink MCCS 16-port Serial Hot Swap
-
-pci:v000010B5d00009050sv00005654sd00002036*
- ID_PRODUCT_FROM_DATABASE=OpenSwitch 6 Telephony card
-
-pci:v000010B5d00009050sv00005654sd00003132*
- ID_PRODUCT_FROM_DATABASE=OpenSwitch 12 Telephony card
-
-pci:v000010B5d00009050sv00005654sd00005634*
- ID_PRODUCT_FROM_DATABASE=OpenLine4 Telephony Card
-
-pci:v000010B5d00009050sv0000D531sd0000C002*
- ID_PRODUCT_FROM_DATABASE=PCIntelliCAN 2xSJA1000 CAN bus
-
-pci:v000010B5d00009050sv0000D84Dsd00004006*
- ID_PRODUCT_FROM_DATABASE=EX-4006 1P
-
-pci:v000010B5d00009050sv0000D84Dsd00004008*
- ID_PRODUCT_FROM_DATABASE=EX-4008 1P EPP/ECP
-
-pci:v000010B5d00009050sv0000D84Dsd00004014*
- ID_PRODUCT_FROM_DATABASE=EX-4014 2P
-
-pci:v000010B5d00009050sv0000D84Dsd00004018*
- ID_PRODUCT_FROM_DATABASE=EX-4018 3P EPP/ECP
-
-pci:v000010B5d00009050sv0000D84Dsd00004025*
- ID_PRODUCT_FROM_DATABASE=EX-4025 1S(16C550) RS-232
-
-pci:v000010B5d00009050sv0000D84Dsd00004027*
- ID_PRODUCT_FROM_DATABASE=EX-4027 1S(16C650) RS-232
-
-pci:v000010B5d00009050sv0000D84Dsd00004028*
- ID_PRODUCT_FROM_DATABASE=EX-4028 1S(16C850) RS-232
-
-pci:v000010B5d00009050sv0000D84Dsd00004036*
- ID_PRODUCT_FROM_DATABASE=EX-4036 2S(16C650) RS-232
-
-pci:v000010B5d00009050sv0000D84Dsd00004037*
- ID_PRODUCT_FROM_DATABASE=EX-4037 2S(16C650) RS-232
-
-pci:v000010B5d00009050sv0000D84Dsd00004038*
- ID_PRODUCT_FROM_DATABASE=EX-4038 2S(16C850) RS-232
-
-pci:v000010B5d00009050sv0000D84Dsd00004052*
- ID_PRODUCT_FROM_DATABASE=EX-4052 1S(16C550) RS-422/485
-
-pci:v000010B5d00009050sv0000D84Dsd00004053*
- ID_PRODUCT_FROM_DATABASE=EX-4053 2S(16C550) RS-422/485
-
-pci:v000010B5d00009050sv0000D84Dsd00004055*
- ID_PRODUCT_FROM_DATABASE=EX-4055 4S(16C550) RS-232
-
-pci:v000010B5d00009050sv0000D84Dsd00004058*
- ID_PRODUCT_FROM_DATABASE=EX-4055 4S(16C650) RS-232
-
-pci:v000010B5d00009050sv0000D84Dsd00004065*
- ID_PRODUCT_FROM_DATABASE=EX-4065 8S(16C550) RS-232
-
-pci:v000010B5d00009050sv0000D84Dsd00004068*
- ID_PRODUCT_FROM_DATABASE=EX-4068 8S(16C650) RS-232
-
-pci:v000010B5d00009050sv0000D84Dsd00004078*
- ID_PRODUCT_FROM_DATABASE=EX-4078 2S(16C552) RS-232+1P
-
-pci:v000010B5d00009052*
- ID_PRODUCT_FROM_DATABASE=PCI9052 PCI <-> IOBus Bridge
-
-pci:v000010B5d00009054*
- ID_PRODUCT_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d00009054sv000010B5sd00002455*
- ID_PRODUCT_FROM_DATABASE=Wessex Techology PHIL-PCI
-
-pci:v000010B5d00009054sv000010B5sd00002696*
- ID_PRODUCT_FROM_DATABASE=Innes Corp AM Radcap card
-
-pci:v000010B5d00009054sv000010B5sd00002717*
- ID_PRODUCT_FROM_DATABASE=Innes Corp Auricon card
-
-pci:v000010B5d00009054sv000010B5sd00002844*
- ID_PRODUCT_FROM_DATABASE=Innes Corp TVS Encoder card
-
-pci:v000010B5d00009054sv000012C7sd00004001*
- ID_PRODUCT_FROM_DATABASE=Intel Dialogic DM/V960-4T1 PCI
-
-pci:v000010B5d00009054sv000012D9sd00000002*
- ID_PRODUCT_FROM_DATABASE=PCI Prosody Card rev 1.5
-
-pci:v000010B5d00009054sv000014B4sd0000D100*
- ID_PRODUCT_FROM_DATABASE=Dektec DTA-100
-
-pci:v000010B5d00009054sv000014B4sd0000D114*
- ID_PRODUCT_FROM_DATABASE=Dektec DTA-120
-
-pci:v000010B5d00009054sv000016DFsd00000011*
- ID_PRODUCT_FROM_DATABASE=PIKA PrimeNet MM PCI
-
-pci:v000010B5d00009054sv000016DFsd00000012*
- ID_PRODUCT_FROM_DATABASE=PIKA PrimeNet MM cPCI 8
-
-pci:v000010B5d00009054sv000016DFsd00000013*
- ID_PRODUCT_FROM_DATABASE=PIKA PrimeNet MM cPCI 8 (without CAS Signaling)
-
-pci:v000010B5d00009054sv000016DFsd00000014*
- ID_PRODUCT_FROM_DATABASE=PIKA PrimeNet MM cPCI 4
-
-pci:v000010B5d00009054sv000016DFsd00000015*
- ID_PRODUCT_FROM_DATABASE=PIKA Daytona MM
-
-pci:v000010B5d00009054sv000016DFsd00000016*
- ID_PRODUCT_FROM_DATABASE=PIKA InLine MM
-
-pci:v000010B5d00009056*
- ID_PRODUCT_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d00009056sv000010B5sd00002979*
- ID_PRODUCT_FROM_DATABASE=CellinkBlade 11 - CPCI board VoATM AAL1
-
-pci:v000010B5d00009056sv000010B5sd00003268*
- ID_PRODUCT_FROM_DATABASE=IXXAT iPC-I XC16/PCIe CAN Board
-
-pci:v000010B5d00009056sv000010B5sd00003352*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCL PCIe HD: Timecode Reader Board
-
-pci:v000010B5d00009056sv000010B5sd00003353*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCL PCIe D: Timecode Reader Board
-
-pci:v000010B5d00009056sv000010B5sd00003354*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCL PCIe LV: Timecode Reader Board
-
-pci:v000010B5d00009056sv000010B5sd00003355*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCL PCIe L: Timecode Reader Board
-
-pci:v000010B5d00009056sv000010B5sd00003415*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte PCIe TS: Time Synchronisation Board
-
-pci:v000010B5d00009056sv00001369sd0000C001*
- ID_PRODUCT_FROM_DATABASE=LX6464ES
-
-pci:v000010B5d00009056sv00001369sd0000C201*
- ID_PRODUCT_FROM_DATABASE=LX1616ES
-
-pci:v000010B5d00009056sv000014B4sd0000D10A*
- ID_PRODUCT_FROM_DATABASE=DekTec DTA-110T
-
-pci:v000010B5d00009056sv000014B4sd0000D140*
- ID_PRODUCT_FROM_DATABASE=Dektec DTA-140
-
-pci:v000010B5d00009056sv00001A0Esd0000006F*
- ID_PRODUCT_FROM_DATABASE=Dektec DTA-111
-
-pci:v000010B5d00009060*
- ID_PRODUCT_FROM_DATABASE=PCI9060 32-bit 33MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d0000906D*
- ID_PRODUCT_FROM_DATABASE=9060SD
-
-pci:v000010B5d0000906Dsv0000125Csd00000640*
- ID_PRODUCT_FROM_DATABASE=Aries 16000P
-
-pci:v000010B5d0000906E*
- ID_PRODUCT_FROM_DATABASE=9060ES
-
-pci:v000010B5d00009080*
- ID_PRODUCT_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d00009080sv0000103Csd000010EB*
- ID_PRODUCT_FROM_DATABASE=(Agilent) E2777B 83K Series Optical Communication Interface
-
-pci:v000010B5d00009080sv0000103Csd000010EC*
- ID_PRODUCT_FROM_DATABASE=(Agilent) E6978-66442 PCI CIC
-
-pci:v000010B5d00009080sv000010B5sd00001123*
- ID_PRODUCT_FROM_DATABASE=Sectra KK631 encryption board
-
-pci:v000010B5d00009080sv000010B5sd00009080*
- ID_PRODUCT_FROM_DATABASE=9080 [real subsystem ID not set]
-
-pci:v000010B5d00009080sv000012D9sd00000002*
- ID_PRODUCT_FROM_DATABASE=PCI Prosody Card
-
-pci:v000010B5d00009080sv000012DFsd00004422*
- ID_PRODUCT_FROM_DATABASE=4422PCI ["Do-All" Telemetry Data Aquisition System]
-
-pci:v000010B5d00009080sv00001369sd00009601*
- ID_PRODUCT_FROM_DATABASE=PCX822np
-
-pci:v000010B5d00009080sv00001369sd0000A102*
- ID_PRODUCT_FROM_DATABASE=PCX822v2
-
-pci:v000010B5d00009080sv00001369sd0000A201*
- ID_PRODUCT_FROM_DATABASE=PCX442
-
-pci:v000010B5d00009080sv00001369sd0000A301*
- ID_PRODUCT_FROM_DATABASE=LCM440v2
-
-pci:v000010B5d00009080sv00001369sd0000A401*
- ID_PRODUCT_FROM_DATABASE=VX822
-
-pci:v000010B5d00009080sv00001369sd0000A402*
- ID_PRODUCT_FROM_DATABASE=VX822v2
-
-pci:v000010B5d00009080sv00001369sd0000A901*
- ID_PRODUCT_FROM_DATABASE=LCM420
-
-pci:v000010B5d00009080sv00001369sd0000AA01*
- ID_PRODUCT_FROM_DATABASE=VX820v2
-
-pci:v000010B5d00009080sv00001517sd0000000B*
- ID_PRODUCT_FROM_DATABASE=ECSG-1R3ADC-PMC Clock synthesizer
-
-pci:v000010B5d00009656*
- ID_PRODUCT_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge
-
-pci:v000010B5d00009656sv00001517sd0000000F*
- ID_PRODUCT_FROM_DATABASE=ECDR-GC314-PMC Receiver
-
-pci:v000010B5d00009656sv00001885sd00000700*
- ID_PRODUCT_FROM_DATABASE=Tsunami FPGA PMC with Altera Stratix S40
-
-pci:v000010B5d00009656sv00001885sd00000701*
- ID_PRODUCT_FROM_DATABASE=Tsunami FPGA PMC with Altera Stratix S30
-
-pci:v000010B5d0000A100*
- ID_PRODUCT_FROM_DATABASE=Blackmagic Design DeckLink
-
-pci:v000010B5d0000BB04*
- ID_PRODUCT_FROM_DATABASE=B&B 3PCIOSD1A Isolated PCI Serial
-
-pci:v000010B5d0000C001*
- ID_PRODUCT_FROM_DATABASE=CronyxOmega-PCI (8-port RS232)
-
-pci:v000010B5d0000D00D*
- ID_PRODUCT_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d0000D00Dsv000010B5sd00009030*
- ID_PRODUCT_FROM_DATABASE=Digium Tormenta 2 T400P or E400P Quad T1 or E1 PCI card
-
-pci:v000010B5d0000D33D*
- ID_PRODUCT_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d0000D33Dsv0000105Bsd00009030*
- ID_PRODUCT_FROM_DATABASE=Tormenta 3 Varion V401PT Quad T1/J1 PCI card
-
-pci:v000010B5d0000D44D*
- ID_PRODUCT_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
-
-pci:v000010B5d0000D44Dsv0000105Bsd00009030*
- ID_PRODUCT_FROM_DATABASE=Tormenta 3 Varion V401PE Quad E1 PCI card
-
-pci:v000010B5d0000D44Dsv000010B5sd000017F6*
- ID_PRODUCT_FROM_DATABASE=Allo CP100P/E 1-port E1/T1/J1 PCI/PCIe card
-
-pci:v000010B5d0000D44Dsv000010B5sd000017F7*
- ID_PRODUCT_FROM_DATABASE=Allo CP400P/E 4-port E1/T1/J1 PCI/PCIe card
-
-pci:v000010B5d0000D44Dsv000010B5sd000017F8*
- ID_PRODUCT_FROM_DATABASE=Allo CP200P/E 2-port E1/T1/J1 PCI/PCIe card
-
-pci:v000010B6*
- ID_VENDOR_FROM_DATABASE=Madge Networks
-
-pci:v000010B6d00000001*
- ID_PRODUCT_FROM_DATABASE=Smart 16/4 PCI Ringnode
-
-pci:v000010B6d00000002*
- ID_PRODUCT_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk2
-
-pci:v000010B6d00000002sv000010B6sd00000002*
- ID_PRODUCT_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk2
-
-pci:v000010B6d00000002sv000010B6sd00000006*
- ID_PRODUCT_FROM_DATABASE=16/4 CardBus Adapter
-
-pci:v000010B6d00000003*
- ID_PRODUCT_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3
-
-pci:v000010B6d00000003sv00000E11sd0000B0FD*
- ID_PRODUCT_FROM_DATABASE=Compaq NC4621 PCI, 4/16, WOL
-
-pci:v000010B6d00000003sv000010B6sd00000003*
- ID_PRODUCT_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3
-
-pci:v000010B6d00000003sv000010B6sd00000007*
- ID_PRODUCT_FROM_DATABASE=Presto PCI Plus Adapter
-
-pci:v000010B6d00000004*
- ID_PRODUCT_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk1
-
-pci:v000010B6d00000006*
- ID_PRODUCT_FROM_DATABASE=16/4 Cardbus Adapter
-
-pci:v000010B6d00000006sv000010B6sd00000006*
- ID_PRODUCT_FROM_DATABASE=16/4 CardBus Adapter
-
-pci:v000010B6d00000007*
- ID_PRODUCT_FROM_DATABASE=Presto PCI Adapter
-
-pci:v000010B6d00000007sv000010B6sd00000007*
- ID_PRODUCT_FROM_DATABASE=Presto PCI
-
-pci:v000010B6d00000009*
- ID_PRODUCT_FROM_DATABASE=Smart 100/16/4 PCI-HS Ringnode
-
-pci:v000010B6d00000009sv000010B6sd00000009*
- ID_PRODUCT_FROM_DATABASE=Smart 100/16/4 PCI-HS Ringnode
-
-pci:v000010B6d0000000A*
- ID_PRODUCT_FROM_DATABASE=Smart 100/16/4 PCI Ringnode
-
-pci:v000010B6d0000000Asv000010B6sd0000000A*
- ID_PRODUCT_FROM_DATABASE=Smart 100/16/4 PCI Ringnode
-
-pci:v000010B6d0000000B*
- ID_PRODUCT_FROM_DATABASE=16/4 CardBus Adapter Mk2
-
-pci:v000010B6d0000000Bsv000010B6sd00000008*
- ID_PRODUCT_FROM_DATABASE=16/4 CardBus Adapter Mk2
-
-pci:v000010B6d0000000Bsv000010B6sd0000000B*
- ID_PRODUCT_FROM_DATABASE=16/4 Cardbus Adapter Mk2
-
-pci:v000010B6d0000000C*
- ID_PRODUCT_FROM_DATABASE=RapidFire 3140V2 16/4 TR Adapter
-
-pci:v000010B6d0000000Csv000010B6sd0000000C*
- ID_PRODUCT_FROM_DATABASE=RapidFire 3140V2 16/4 TR Adapter
-
-pci:v000010B6d00001000*
- ID_PRODUCT_FROM_DATABASE=Collage 25/155 ATM Client Adapter
-
-pci:v000010B6d00001001*
- ID_PRODUCT_FROM_DATABASE=Collage 155 ATM Server Adapter
-
-pci:v000010B7*
- ID_VENDOR_FROM_DATABASE=3Com Corporation
-
-pci:v000010B7d00000001*
- ID_PRODUCT_FROM_DATABASE=3c985 1000BaseSX (SX/TX)
-
-pci:v000010B7d00000013*
- ID_PRODUCT_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675)
-
-pci:v000010B7d00000013sv000010B7sd00002031*
- ID_PRODUCT_FROM_DATABASE=3CRDAG675 11a/b/g Wireless PCI Adapter
-
-pci:v000010B7d00000910*
- ID_PRODUCT_FROM_DATABASE=3C910-A01
-
-pci:v000010B7d00001006*
- ID_PRODUCT_FROM_DATABASE=MINI PCI type 3B Data Fax Modem
-
-pci:v000010B7d00001007*
- ID_PRODUCT_FROM_DATABASE=Mini PCI 56k Winmodem
-
-pci:v000010B7d00001007sv000010B7sd0000615B*
- ID_PRODUCT_FROM_DATABASE=Mini PCI 56K Modem
-
-pci:v000010B7d00001007sv000010B7sd0000615C*
- ID_PRODUCT_FROM_DATABASE=Mini PCI 56K Modem
-
-pci:v000010B7d00001201*
- ID_PRODUCT_FROM_DATABASE=3c982-TXM 10/100baseTX Dual Port A [Hydra]
-
-pci:v000010B7d00001202*
- ID_PRODUCT_FROM_DATABASE=3c982-TXM 10/100baseTX Dual Port B [Hydra]
-
-pci:v000010B7d00001700*
- ID_PRODUCT_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell]
-
-pci:v000010B7d00001700sv00001043sd000080EB*
- ID_PRODUCT_FROM_DATABASE=A7V600/P4P800/K8V motherboard
-
-pci:v000010B7d00001700sv000010B7sd00000010*
- ID_PRODUCT_FROM_DATABASE=3C940 Gigabit LOM Ethernet Adapter
-
-pci:v000010B7d00001700sv000010B7sd00000020*
- ID_PRODUCT_FROM_DATABASE=3C941 Gigabit LOM Ethernet Adapter
-
-pci:v000010B7d00001700sv0000147Bsd00001407*
- ID_PRODUCT_FROM_DATABASE=KV8-MAX3 motherboard
-
-pci:v000010B7d00003390*
- ID_PRODUCT_FROM_DATABASE=3c339 TokenLink Velocity
-
-pci:v000010B7d00003590*
- ID_PRODUCT_FROM_DATABASE=3c359 TokenLink Velocity XL
-
-pci:v000010B7d00003590sv000010B7sd00003590*
- ID_PRODUCT_FROM_DATABASE=TokenLink Velocity XL Adapter (3C359/359B)
-
-pci:v000010B7d00004500*
- ID_PRODUCT_FROM_DATABASE=3c450 HomePNA [Tornado]
-
-pci:v000010B7d00005055*
- ID_PRODUCT_FROM_DATABASE=3c555 Laptop Hurricane
-
-pci:v000010B7d00005057*
- ID_PRODUCT_FROM_DATABASE=3c575 Megahertz 10/100 LAN CardBus [Boomerang]
-
-pci:v000010B7d00005057sv000010B7sd00005A57*
- ID_PRODUCT_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card
-
-pci:v000010B7d00005157*
- ID_PRODUCT_FROM_DATABASE=3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone]
-
-pci:v000010B7d00005157sv000010B7sd00005B57*
- ID_PRODUCT_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card
-
-pci:v000010B7d00005257*
- ID_PRODUCT_FROM_DATABASE=3cCFE575CT CardBus [Cyclone]
-
-pci:v000010B7d00005257sv000010B7sd00005C57*
- ID_PRODUCT_FROM_DATABASE=FE575C-3Com 10/100 LAN CardBus-Fast Ethernet
-
-pci:v000010B7d00005900*
- ID_PRODUCT_FROM_DATABASE=3c590 10BaseT [Vortex]
-
-pci:v000010B7d00005920*
- ID_PRODUCT_FROM_DATABASE=3c592 EISA 10mbps Demon/Vortex
-
-pci:v000010B7d00005950*
- ID_PRODUCT_FROM_DATABASE=3c595 100BaseTX [Vortex]
-
-pci:v000010B7d00005951*
- ID_PRODUCT_FROM_DATABASE=3c595 100BaseT4 [Vortex]
-
-pci:v000010B7d00005952*
- ID_PRODUCT_FROM_DATABASE=3c595 100Base-MII [Vortex]
-
-pci:v000010B7d00005970*
- ID_PRODUCT_FROM_DATABASE=3c597 EISA Fast Demon/Vortex
-
-pci:v000010B7d00005B57*
- ID_PRODUCT_FROM_DATABASE=3c595 Megahertz 10/100 LAN CardBus [Boomerang]
-
-pci:v000010B7d00005B57sv000010B7sd00005B57*
- ID_PRODUCT_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card
-
-pci:v000010B7d00006000*
- ID_PRODUCT_FROM_DATABASE=3CRSHPW796 [OfficeConnect Wireless CardBus]
-
-pci:v000010B7d00006001*
- ID_PRODUCT_FROM_DATABASE=3com 3CRWE154G72 [Office Connect Wireless LAN Adapter]
-
-pci:v000010B7d00006055*
- ID_PRODUCT_FROM_DATABASE=3c556 Hurricane CardBus [Cyclone]
-
-pci:v000010B7d00006056*
- ID_PRODUCT_FROM_DATABASE=3c556B CardBus [Tornado]
-
-pci:v000010B7d00006056sv000010B7sd00006556*
- ID_PRODUCT_FROM_DATABASE=10/100 Mini PCI Ethernet Adapter
-
-pci:v000010B7d00006560*
- ID_PRODUCT_FROM_DATABASE=3cCFE656 CardBus [Cyclone]
-
-pci:v000010B7d00006560sv000010B7sd0000656A*
- ID_PRODUCT_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus
-
-pci:v000010B7d00006561*
- ID_PRODUCT_FROM_DATABASE=3cCFEM656 10/100 LAN+56K Modem CardBus
-
-pci:v000010B7d00006561sv000010B7sd0000656B*
- ID_PRODUCT_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus
-
-pci:v000010B7d00006562*
- ID_PRODUCT_FROM_DATABASE=3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone]
-
-pci:v000010B7d00006562sv000010B7sd0000656B*
- ID_PRODUCT_FROM_DATABASE=3CCFEM656B 10/100 LAN+56K Modem CardBus
-
-pci:v000010B7d00006563*
- ID_PRODUCT_FROM_DATABASE=3cCFEM656B 10/100 LAN+56K Modem CardBus
-
-pci:v000010B7d00006563sv000010B7sd0000656B*
- ID_PRODUCT_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus
-
-pci:v000010B7d00006564*
- ID_PRODUCT_FROM_DATABASE=3cXFEM656C 10/100 LAN+Winmodem CardBus [Tornado]
-
-pci:v000010B7d00007646*
- ID_PRODUCT_FROM_DATABASE=3cSOHO100-TX Hurricane
-
-pci:v000010B7d00007770*
- ID_PRODUCT_FROM_DATABASE=3CRWE777 PCI(PLX) Wireless Adaptor [Airconnect]
-
-pci:v000010B7d00007940*
- ID_PRODUCT_FROM_DATABASE=3c803 FDDILink UTP Controller
-
-pci:v000010B7d00007980*
- ID_PRODUCT_FROM_DATABASE=3c804 FDDILink SAS Controller
-
-pci:v000010B7d00007990*
- ID_PRODUCT_FROM_DATABASE=3c805 FDDILink DAS Controller
-
-pci:v000010B7d000080EB*
- ID_PRODUCT_FROM_DATABASE=3c940B 10/100/1000Base-T
-
-pci:v000010B7d00008811*
- ID_PRODUCT_FROM_DATABASE=Token ring
-
-pci:v000010B7d00009000*
- ID_PRODUCT_FROM_DATABASE=3c900 10BaseT [Boomerang]
-
-pci:v000010B7d00009001*
- ID_PRODUCT_FROM_DATABASE=3c900 10Mbps Combo [Boomerang]
-
-pci:v000010B7d00009004*
- ID_PRODUCT_FROM_DATABASE=3c900B-TPO Etherlink XL [Cyclone]
-
-pci:v000010B7d00009004sv000010B7sd00009004*
- ID_PRODUCT_FROM_DATABASE=3C900B-TPO Etherlink XL TPO 10Mb
-
-pci:v000010B7d00009005*
- ID_PRODUCT_FROM_DATABASE=3c900B-Combo Etherlink XL [Cyclone]
-
-pci:v000010B7d00009005sv000010B7sd00009005*
- ID_PRODUCT_FROM_DATABASE=3C900B-Combo Etherlink XL Combo
-
-pci:v000010B7d00009006*
- ID_PRODUCT_FROM_DATABASE=3c900B-TPC Etherlink XL [Cyclone]
-
-pci:v000010B7d0000900A*
- ID_PRODUCT_FROM_DATABASE=3c900B-FL 10base-FL [Cyclone]
-
-pci:v000010B7d00009050*
- ID_PRODUCT_FROM_DATABASE=3c905 100BaseTX [Boomerang]
-
-pci:v000010B7d00009051*
- ID_PRODUCT_FROM_DATABASE=3c905 100BaseT4 [Boomerang]
-
-pci:v000010B7d00009054*
- ID_PRODUCT_FROM_DATABASE=3C905B-TX Fast Etherlink XL PCI
-
-pci:v000010B7d00009054sv000010B7sd00009054*
- ID_PRODUCT_FROM_DATABASE=3C905B-TX Fast Etherlink XL PCI
-
-pci:v000010B7d00009055*
- ID_PRODUCT_FROM_DATABASE=3c905B 100BaseTX [Cyclone]
-
-pci:v000010B7d00009055sv00001028sd00000080*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000081*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000082*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000083*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000084*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000085*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000086*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000087*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000088*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000089*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000090*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000091*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000092*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000093*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000094*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000095*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000096*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000097*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000098*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv00001028sd00000099*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009055sv000010B7sd00009055*
- ID_PRODUCT_FROM_DATABASE=3C905B Fast Etherlink XL 10/100
-
-pci:v000010B7d00009056*
- ID_PRODUCT_FROM_DATABASE=3c905B-T4 Fast EtherLink XL [Cyclone]
-
-pci:v000010B7d00009058*
- ID_PRODUCT_FROM_DATABASE=3c905B Deluxe Etherlink 10/100/BNC [Cyclone]
-
-pci:v000010B7d0000905A*
- ID_PRODUCT_FROM_DATABASE=3c905B-FX Fast Etherlink XL FX 100baseFx [Cyclone]
-
-pci:v000010B7d00009200*
- ID_PRODUCT_FROM_DATABASE=3c905C-TX/TX-M [Tornado]
-
-pci:v000010B7d00009200sv00001028sd00000095*
- ID_PRODUCT_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller
-
-pci:v000010B7d00009200sv00001028sd00000097*
- ID_PRODUCT_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller
-
-pci:v000010B7d00009200sv00001028sd000000B4*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX110
-
-pci:v000010B7d00009200sv00001028sd000000D8*
- ID_PRODUCT_FROM_DATABASE=Precision 530
-
-pci:v000010B7d00009200sv00001028sd000000FE*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX240
-
-pci:v000010B7d00009200sv00001028sd0000012A*
- ID_PRODUCT_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller [Latitude C640]
-
-pci:v000010B7d00009200sv000010B7sd00001000*
- ID_PRODUCT_FROM_DATABASE=3C905CX-TX/TX-M Fast Etherlink for PC Management NIC
-
-pci:v000010B7d00009200sv000010B7sd00007000*
- ID_PRODUCT_FROM_DATABASE=10/100 Mini PCI Ethernet Adapter
-
-pci:v000010B7d00009200sv000010F1sd00002466*
- ID_PRODUCT_FROM_DATABASE=Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller)
-
-pci:v000010B7d00009200sv0000144Dsd0000C005*
- ID_PRODUCT_FROM_DATABASE=X10 Laptop
-
-pci:v000010B7d00009201*
- ID_PRODUCT_FROM_DATABASE=3C920B-EMB Integrated Fast Ethernet Controller [Tornado]
-
-pci:v000010B7d00009201sv00001043sd000080AB*
- ID_PRODUCT_FROM_DATABASE=A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller
-
-pci:v000010B7d00009202*
- ID_PRODUCT_FROM_DATABASE=3Com 3C920B-EMB-WNM Integrated Fast Ethernet Controller
-
-pci:v000010B7d00009210*
- ID_PRODUCT_FROM_DATABASE=3C920B-EMB-WNM Integrated Fast Ethernet Controller
-
-pci:v000010B7d00009300*
- ID_PRODUCT_FROM_DATABASE=3CSOHO100B-TX 910-A01 [tulip]
-
-pci:v000010B7d00009800*
- ID_PRODUCT_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter [Cyclone]
-
-pci:v000010B7d00009800sv000010B7sd00009800*
- ID_PRODUCT_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter
-
-pci:v000010B7d00009805*
- ID_PRODUCT_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T]
-
-pci:v000010B7d00009805sv000010B7sd00001201*
- ID_PRODUCT_FROM_DATABASE=EtherLink Server 10/100 Dual Port A
-
-pci:v000010B7d00009805sv000010B7sd00001202*
- ID_PRODUCT_FROM_DATABASE=EtherLink Server 10/100 Dual Port B
-
-pci:v000010B7d00009805sv000010B7sd00009805*
- ID_PRODUCT_FROM_DATABASE=3c980 10/100baseTX NIC [Python-T]
-
-pci:v000010B7d00009805sv000010F1sd00002462*
- ID_PRODUCT_FROM_DATABASE=Thunder K7 S2462
-
-pci:v000010B7d00009900*
- ID_PRODUCT_FROM_DATABASE=3C990-TX [Typhoon]
-
-pci:v000010B7d00009902*
- ID_PRODUCT_FROM_DATABASE=3CR990-TX-95 [Typhoon 56-bit]
-
-pci:v000010B7d00009903*
- ID_PRODUCT_FROM_DATABASE=3CR990-TX-97 [Typhoon 168-bit]
-
-pci:v000010B7d00009904*
- ID_PRODUCT_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2]
-
-pci:v000010B7d00009904sv000010B7sd00001000*
- ID_PRODUCT_FROM_DATABASE=3CR990B-TX-M [Typhoon2]
-
-pci:v000010B7d00009904sv000010B7sd00002000*
- ID_PRODUCT_FROM_DATABASE=3CR990BSVR [Typhoon2 Server]
-
-pci:v000010B7d00009905*
- ID_PRODUCT_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber]
-
-pci:v000010B7d00009905sv000010B7sd00001101*
- ID_PRODUCT_FROM_DATABASE=3CR990-FX-95 [Typhoon Fiber 56-bit]
-
-pci:v000010B7d00009905sv000010B7sd00001102*
- ID_PRODUCT_FROM_DATABASE=3CR990-FX-97 [Typhoon Fiber 168-bit]
-
-pci:v000010B7d00009905sv000010B7sd00002101*
- ID_PRODUCT_FROM_DATABASE=3CR990-FX-95 Server [Typhoon Fiber 56-bit]
-
-pci:v000010B7d00009905sv000010B7sd00002102*
- ID_PRODUCT_FROM_DATABASE=3CR990-FX-97 Server [Typhoon Fiber 168-bit]
-
-pci:v000010B7d00009908*
- ID_PRODUCT_FROM_DATABASE=3CR990SVR95 [Typhoon Server 56-bit]
-
-pci:v000010B7d00009909*
- ID_PRODUCT_FROM_DATABASE=3CR990SVR97 [Typhoon Server 168-bit]
-
-pci:v000010B7d0000990A*
- ID_PRODUCT_FROM_DATABASE=3C990SVR [Typhoon Server]
-
-pci:v000010B7d0000990B*
- ID_PRODUCT_FROM_DATABASE=3C990SVR [Typhoon Server]
-
-pci:v000010B8*
- ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp [SMC]
-
-pci:v000010B8d00000005*
- ID_PRODUCT_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter
-
-pci:v000010B8d00000005sv00001055sd0000E000*
- ID_PRODUCT_FROM_DATABASE=LANEPIC 10/100 [EVB171Q-PCI]
-
-pci:v000010B8d00000005sv00001055sd0000E002*
- ID_PRODUCT_FROM_DATABASE=LANEPIC 10/100 [EVB171G-PCI]
-
-pci:v000010B8d00000005sv000010B8sd0000A011*
- ID_PRODUCT_FROM_DATABASE=EtherPower II 10/100
-
-pci:v000010B8d00000005sv000010B8sd0000A014*
- ID_PRODUCT_FROM_DATABASE=EtherPower II 10/100
-
-pci:v000010B8d00000005sv000010B8sd0000A015*
- ID_PRODUCT_FROM_DATABASE=EtherPower II 10/100
-
-pci:v000010B8d00000005sv000010B8sd0000A016*
- ID_PRODUCT_FROM_DATABASE=EtherPower II 10/100
-
-pci:v000010B8d00000005sv000010B8sd0000A017*
- ID_PRODUCT_FROM_DATABASE=EtherPower II 10/100
-
-pci:v000010B8d00000006*
- ID_PRODUCT_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter
-
-pci:v000010B8d00000006sv00001055sd0000E100*
- ID_PRODUCT_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
-
-pci:v000010B8d00000006sv00001055sd0000E102*
- ID_PRODUCT_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
-
-pci:v000010B8d00000006sv00001055sd0000E300*
- ID_PRODUCT_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
-
-pci:v000010B8d00000006sv00001055sd0000E302*
- ID_PRODUCT_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
-
-pci:v000010B8d00000006sv000010B8sd0000A012*
- ID_PRODUCT_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
-
-pci:v000010B8d00000006sv000013A2sd00008002*
- ID_PRODUCT_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
-
-pci:v000010B8d00000006sv000013A2sd00008006*
- ID_PRODUCT_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter
-
-pci:v000010B8d00001000*
- ID_PRODUCT_FROM_DATABASE=FDC 37c665
-
-pci:v000010B8d00001001*
- ID_PRODUCT_FROM_DATABASE=FDC 37C922
-
-pci:v000010B8d0000A011*
- ID_PRODUCT_FROM_DATABASE=83C170QF
-
-pci:v000010B8d0000B106*
- ID_PRODUCT_FROM_DATABASE=SMC34C90
-
-pci:v000010B9*
- ID_VENDOR_FROM_DATABASE=ULi Electronics Inc.
-
-pci:v000010B9d00000101*
- ID_PRODUCT_FROM_DATABASE=CMI8338/C3DX PCI Audio Device
-
-pci:v000010B9d00000111*
- ID_PRODUCT_FROM_DATABASE=C-Media CMI8738/C3DX Audio Device (OEM)
-
-pci:v000010B9d00000111sv000010B9sd00000111*
- ID_PRODUCT_FROM_DATABASE=C-Media CMI8738/C3DX Audio Device (OEM)
-
-pci:v000010B9d00000780*
- ID_PRODUCT_FROM_DATABASE=Multi-IO Card
-
-pci:v000010B9d00000782*
- ID_PRODUCT_FROM_DATABASE=Multi-IO Card
-
-pci:v000010B9d00001435*
- ID_PRODUCT_FROM_DATABASE=M1435
-
-pci:v000010B9d00001445*
- ID_PRODUCT_FROM_DATABASE=M1445
-
-pci:v000010B9d00001449*
- ID_PRODUCT_FROM_DATABASE=M1449
-
-pci:v000010B9d00001451*
- ID_PRODUCT_FROM_DATABASE=M1451
-
-pci:v000010B9d00001461*
- ID_PRODUCT_FROM_DATABASE=M1461
-
-pci:v000010B9d00001489*
- ID_PRODUCT_FROM_DATABASE=M1489
-
-pci:v000010B9d00001511*
- ID_PRODUCT_FROM_DATABASE=M1511 [Aladdin]
-
-pci:v000010B9d00001512*
- ID_PRODUCT_FROM_DATABASE=M1512 [Aladdin]
-
-pci:v000010B9d00001513*
- ID_PRODUCT_FROM_DATABASE=M1513 [Aladdin]
-
-pci:v000010B9d00001521*
- ID_PRODUCT_FROM_DATABASE=M1521 [Aladdin III]
-
-pci:v000010B9d00001521sv000010B9sd00001521*
- ID_PRODUCT_FROM_DATABASE=ALI M1521 Aladdin III CPU Bridge
-
-pci:v000010B9d00001523*
- ID_PRODUCT_FROM_DATABASE=M1523
-
-pci:v000010B9d00001523sv000010B9sd00001523*
- ID_PRODUCT_FROM_DATABASE=ALI M1523 ISA Bridge
-
-pci:v000010B9d00001531*
- ID_PRODUCT_FROM_DATABASE=M1531 [Aladdin IV]
-
-pci:v000010B9d00001533*
- ID_PRODUCT_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+]
-
-pci:v000010B9d00001533sv00001014sd0000053B*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R40e
-
-pci:v000010B9d00001533sv000010B9sd00001533*
- ID_PRODUCT_FROM_DATABASE=ALi M1533 Aladdin IV/V ISA Bridge
-
-pci:v000010B9d00001541*
- ID_PRODUCT_FROM_DATABASE=M1541
-
-pci:v000010B9d00001541sv000010B9sd00001541*
- ID_PRODUCT_FROM_DATABASE=ALI M1541 Aladdin V/V+ AGP System Controller
-
-pci:v000010B9d00001543*
- ID_PRODUCT_FROM_DATABASE=M1543
-
-pci:v000010B9d00001563*
- ID_PRODUCT_FROM_DATABASE=M1563 HyperTransport South Bridge
-
-pci:v000010B9d00001563sv000010B9sd00001563*
- ID_PRODUCT_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
-
-pci:v000010B9d00001563sv00001849sd00001563*
- ID_PRODUCT_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
-
-pci:v000010B9d00001573*
- ID_PRODUCT_FROM_DATABASE=PCI to LPC Controller
-
-pci:v000010B9d00001575*
- ID_PRODUCT_FROM_DATABASE=M1575 South Bridge
-
-pci:v000010B9d00001621*
- ID_PRODUCT_FROM_DATABASE=M1621
-
-pci:v000010B9d00001631*
- ID_PRODUCT_FROM_DATABASE=ALI M1631 PCI North Bridge Aladdin Pro III
-
-pci:v000010B9d00001632*
- ID_PRODUCT_FROM_DATABASE=M1632M Northbridge+Trident
-
-pci:v000010B9d00001641*
- ID_PRODUCT_FROM_DATABASE=ALI M1641 PCI North Bridge Aladdin Pro IV
-
-pci:v000010B9d00001644*
- ID_PRODUCT_FROM_DATABASE=M1644/M1644T Northbridge+Trident
-
-pci:v000010B9d00001646*
- ID_PRODUCT_FROM_DATABASE=M1646 Northbridge+Trident
-
-pci:v000010B9d00001647*
- ID_PRODUCT_FROM_DATABASE=M1647 Northbridge [MAGiK 1 / MobileMAGiK 1]
-
-pci:v000010B9d00001651*
- ID_PRODUCT_FROM_DATABASE=M1651/M1651T Northbridge [Aladdin-Pro 5/5M,Aladdin-Pro 5T/5TM]
-
-pci:v000010B9d00001671*
- ID_PRODUCT_FROM_DATABASE=M1671 Super P4 Northbridge [AGP4X,PCI and SDR/DDR]
-
-pci:v000010B9d00001672*
- ID_PRODUCT_FROM_DATABASE=M1672 Northbridge [CyberALADDiN-P4]
-
-pci:v000010B9d00001681*
- ID_PRODUCT_FROM_DATABASE=M1681 P4 Northbridge [AGP8X,HyperTransport and SDR/DDR]
-
-pci:v000010B9d00001687*
- ID_PRODUCT_FROM_DATABASE=M1687 K8 Northbridge [AGP8X and HyperTransport]
-
-pci:v000010B9d00001689*
- ID_PRODUCT_FROM_DATABASE=M1689 K8 Northbridge [Super K8 Single Chip]
-
-pci:v000010B9d00001695*
- ID_PRODUCT_FROM_DATABASE=M1695 K8 Northbridge [PCI Express and HyperTransport]
-
-pci:v000010B9d00001697*
- ID_PRODUCT_FROM_DATABASE=M1697 HTT Host Bridge
-
-pci:v000010B9d00003141*
- ID_PRODUCT_FROM_DATABASE=M3141
-
-pci:v000010B9d00003143*
- ID_PRODUCT_FROM_DATABASE=M3143
-
-pci:v000010B9d00003145*
- ID_PRODUCT_FROM_DATABASE=M3145
-
-pci:v000010B9d00003147*
- ID_PRODUCT_FROM_DATABASE=M3147
-
-pci:v000010B9d00003149*
- ID_PRODUCT_FROM_DATABASE=M3149
-
-pci:v000010B9d00003151*
- ID_PRODUCT_FROM_DATABASE=M3151
-
-pci:v000010B9d00003307*
- ID_PRODUCT_FROM_DATABASE=M3307
-
-pci:v000010B9d00003309*
- ID_PRODUCT_FROM_DATABASE=M3309
-
-pci:v000010B9d00003323*
- ID_PRODUCT_FROM_DATABASE=M3325 Video/Audio Decoder
-
-pci:v000010B9d00005212*
- ID_PRODUCT_FROM_DATABASE=M4803
-
-pci:v000010B9d00005215*
- ID_PRODUCT_FROM_DATABASE=MS4803
-
-pci:v000010B9d00005217*
- ID_PRODUCT_FROM_DATABASE=M5217H
-
-pci:v000010B9d00005219*
- ID_PRODUCT_FROM_DATABASE=M5219
-
-pci:v000010B9d00005225*
- ID_PRODUCT_FROM_DATABASE=M5225
-
-pci:v000010B9d00005228*
- ID_PRODUCT_FROM_DATABASE=M5228 ALi ATA/RAID Controller
-
-pci:v000010B9d00005229*
- ID_PRODUCT_FROM_DATABASE=M5229 IDE
-
-pci:v000010B9d00005229sv00001014sd0000050F*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R30
-
-pci:v000010B9d00005229sv00001014sd0000053D*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R40e
-
-pci:v000010B9d00005229sv0000103Csd00000024*
- ID_PRODUCT_FROM_DATABASE=Pavilion ze4400 builtin IDE
-
-pci:v000010B9d00005229sv0000103Csd00000025*
- ID_PRODUCT_FROM_DATABASE=XE4500 Notebook
-
-pci:v000010B9d00005229sv00001043sd00008053*
- ID_PRODUCT_FROM_DATABASE=A7A266 Motherboard IDE
-
-pci:v000010B9d00005229sv00001849sd00005229*
- ID_PRODUCT_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard IDE (PATA)
-
-pci:v000010B9d00005235*
- ID_PRODUCT_FROM_DATABASE=M5225
-
-pci:v000010B9d00005237*
- ID_PRODUCT_FROM_DATABASE=USB 1.1 Controller
-
-pci:v000010B9d00005237sv00001014sd00000540*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R40e
-
-pci:v000010B9d00005237sv0000103Csd00000024*
- ID_PRODUCT_FROM_DATABASE=Pavilion ze4400 builtin USB
-
-pci:v000010B9d00005237sv0000103Csd00000025*
- ID_PRODUCT_FROM_DATABASE=XE4500 Notebook
-
-pci:v000010B9d00005237sv0000104Dsd0000810F*
- ID_PRODUCT_FROM_DATABASE=VAIO PCG-U1 USB/OHCI Revision 1.0
-
-pci:v000010B9d00005237sv000010B9sd00005237*
- ID_PRODUCT_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
-
-pci:v000010B9d00005237sv00001849sd00005237*
- ID_PRODUCT_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
-
-pci:v000010B9d00005239*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Controller
-
-pci:v000010B9d00005239sv000010B9sd00005239*
- ID_PRODUCT_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
-
-pci:v000010B9d00005239sv00001849sd00005239*
- ID_PRODUCT_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
-
-pci:v000010B9d00005243*
- ID_PRODUCT_FROM_DATABASE=M1541 PCI to AGP Controller
-
-pci:v000010B9d00005246*
- ID_PRODUCT_FROM_DATABASE=AGP8X Controller
-
-pci:v000010B9d00005247*
- ID_PRODUCT_FROM_DATABASE=PCI to AGP Controller
-
-pci:v000010B9d00005249*
- ID_PRODUCT_FROM_DATABASE=M5249 HTT to PCI Bridge
-
-pci:v000010B9d0000524B*
- ID_PRODUCT_FROM_DATABASE=PCI Express Root Port
-
-pci:v000010B9d0000524C*
- ID_PRODUCT_FROM_DATABASE=PCI Express Root Port
-
-pci:v000010B9d0000524D*
- ID_PRODUCT_FROM_DATABASE=PCI Express Root Port
-
-pci:v000010B9d0000524E*
- ID_PRODUCT_FROM_DATABASE=PCI Express Root Port
-
-pci:v000010B9d00005251*
- ID_PRODUCT_FROM_DATABASE=M5251 P1394 OHCI 1.0 Controller
-
-pci:v000010B9d00005253*
- ID_PRODUCT_FROM_DATABASE=M5253 P1394 OHCI 1.1 Controller
-
-pci:v000010B9d00005261*
- ID_PRODUCT_FROM_DATABASE=M5261 Ethernet Controller
-
-pci:v000010B9d00005263*
- ID_PRODUCT_FROM_DATABASE=ULi 1689,1573 integrated ethernet.
-
-pci:v000010B9d00005281*
- ID_PRODUCT_FROM_DATABASE=ALi M5281 Serial ATA / RAID Host Controller
-
-pci:v000010B9d00005287*
- ID_PRODUCT_FROM_DATABASE=ULi 5287 SATA
-
-pci:v000010B9d00005288*
- ID_PRODUCT_FROM_DATABASE=ULi M5288 SATA
-
-pci:v000010B9d00005288sv00001043sd00008056*
- ID_PRODUCT_FROM_DATABASE=A8R-MVP Mainboard
-
-pci:v000010B9d00005289*
- ID_PRODUCT_FROM_DATABASE=ULi 5289 SATA
-
-pci:v000010B9d00005450*
- ID_PRODUCT_FROM_DATABASE=Lucent Technologies Soft Modem AMR
-
-pci:v000010B9d00005451*
- ID_PRODUCT_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device
-
-pci:v000010B9d00005451sv00001014sd00000506*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R30
-
-pci:v000010B9d00005451sv00001014sd0000053E*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R40e
-
-pci:v000010B9d00005451sv0000103Csd00000024*
- ID_PRODUCT_FROM_DATABASE=Pavilion ze4400 builtin Audio
-
-pci:v000010B9d00005451sv0000103Csd00000025*
- ID_PRODUCT_FROM_DATABASE=XE4500 Notebook
-
-pci:v000010B9d00005453*
- ID_PRODUCT_FROM_DATABASE=M5453 PCI AC-Link Controller Modem Device
-
-pci:v000010B9d00005455*
- ID_PRODUCT_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device
-
-pci:v000010B9d00005455sv000010B9sd00005455*
- ID_PRODUCT_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
-
-pci:v000010B9d00005455sv00001849sd00000850*
- ID_PRODUCT_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
-
-pci:v000010B9d00005457*
- ID_PRODUCT_FROM_DATABASE=M5457 AC'97 Modem Controller
-
-pci:v000010B9d00005457sv00001014sd00000535*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R40e
-
-pci:v000010B9d00005457sv0000103Csd00000024*
- ID_PRODUCT_FROM_DATABASE=Pavilion ze4400 builtin Modem Device
-
-pci:v000010B9d00005457sv0000103Csd00000025*
- ID_PRODUCT_FROM_DATABASE=XE4500 Notebook
-
-pci:v000010B9d00005459*
- ID_PRODUCT_FROM_DATABASE=SmartLink SmartPCI561 56K Modem
-
-pci:v000010B9d0000545A*
- ID_PRODUCT_FROM_DATABASE=SmartLink SmartPCI563 56K Modem
-
-pci:v000010B9d00005461*
- ID_PRODUCT_FROM_DATABASE=HD Audio Controller
-
-pci:v000010B9d00005471*
- ID_PRODUCT_FROM_DATABASE=M5471 Memory Stick Controller
-
-pci:v000010B9d00005473*
- ID_PRODUCT_FROM_DATABASE=M5473 SD-MMC Controller
-
-pci:v000010B9d00007101*
- ID_PRODUCT_FROM_DATABASE=M7101 Power Management Controller [PMU]
-
-pci:v000010B9d00007101sv00001014sd00000510*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R30
-
-pci:v000010B9d00007101sv00001014sd0000053C*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R40e
-
-pci:v000010B9d00007101sv0000103Csd00000024*
- ID_PRODUCT_FROM_DATABASE=Pavilion ze4400
-
-pci:v000010B9d00007101sv0000103Csd00000025*
- ID_PRODUCT_FROM_DATABASE=XE4500 Notebook
-
-pci:v000010B9d00007101sv00001849sd00007101*
- ID_PRODUCT_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard
-
-pci:v000010BA*
- ID_VENDOR_FROM_DATABASE=Mitsubishi Electric Corp.
-
-pci:v000010BAd00000301*
- ID_PRODUCT_FROM_DATABASE=AccelGraphics AccelECLIPSE
-
-pci:v000010BAd00000304*
- ID_PRODUCT_FROM_DATABASE=AccelGALAXY A2100 [OEM Evans & Sutherland]
-
-pci:v000010BAd00000308*
- ID_PRODUCT_FROM_DATABASE=Tornado 3000 [OEM Evans & Sutherland]
-
-pci:v000010BAd00000308sv000010DDsd00000024*
- ID_PRODUCT_FROM_DATABASE=Tornado 3000
-
-pci:v000010BAd00001002*
- ID_PRODUCT_FROM_DATABASE=VG500 [VolumePro Volume Rendering Accelerator]
-
-pci:v000010BB*
- ID_VENDOR_FROM_DATABASE=Dapha Electronics Corporation
-
-pci:v000010BC*
- ID_VENDOR_FROM_DATABASE=Advanced Logic Research
-
-pci:v000010BD*
- ID_VENDOR_FROM_DATABASE=Surecom Technology
-
-pci:v000010BDd00000E34*
- ID_PRODUCT_FROM_DATABASE=NE-34
-
-pci:v000010BE*
- ID_VENDOR_FROM_DATABASE=Tseng Labs International Co.
-
-pci:v000010BF*
- ID_VENDOR_FROM_DATABASE=Most Inc
-
-pci:v000010C0*
- ID_VENDOR_FROM_DATABASE=Boca Research Inc.
-
-pci:v000010C1*
- ID_VENDOR_FROM_DATABASE=ICM Co., Ltd.
-
-pci:v000010C2*
- ID_VENDOR_FROM_DATABASE=Auspex Systems Inc.
-
-pci:v000010C3*
- ID_VENDOR_FROM_DATABASE=Samsung Semiconductors, Inc.
-
-pci:v000010C3d00001100*
- ID_PRODUCT_FROM_DATABASE=Smartether100 SC1100 LAN Adapter (i82557B)
-
-pci:v000010C4*
- ID_VENDOR_FROM_DATABASE=Award Software International Inc.
-
-pci:v000010C5*
- ID_VENDOR_FROM_DATABASE=Xerox Corporation
-
-pci:v000010C6*
- ID_VENDOR_FROM_DATABASE=Rambus Inc.
-
-pci:v000010C7*
- ID_VENDOR_FROM_DATABASE=Media Vision
-
-pci:v000010C8*
- ID_VENDOR_FROM_DATABASE=Neomagic Corporation
-
-pci:v000010C8d00000001*
- ID_PRODUCT_FROM_DATABASE=NM2070 [MagicGraph 128]
-
-pci:v000010C8d00000002*
- ID_PRODUCT_FROM_DATABASE=NM2090 [MagicGraph 128V]
-
-pci:v000010C8d00000003*
- ID_PRODUCT_FROM_DATABASE=NM2093 [MagicGraph 128ZV]
-
-pci:v000010C8d00000004*
- ID_PRODUCT_FROM_DATABASE=NM2160 [MagicGraph 128XD]
-
-pci:v000010C8d00000004sv00001014sd000000BA*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv00001025sd00001007*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv00001028sd00000074*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv00001028sd00000075*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv00001028sd0000007D*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv00001028sd0000007E*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv00001033sd0000802F*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv0000104Dsd0000801B*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv0000104Dsd0000802F*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv0000104Dsd0000830B*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv000010BAsd00000E00*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv000010C8sd00000004*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv000010CFsd00001029*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv000010F7sd00008308*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv000010F7sd00008309*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv000010F7sd0000830B*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv000010F7sd0000830D*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000004sv000010F7sd00008312*
- ID_PRODUCT_FROM_DATABASE=MagicGraph 128XD
-
-pci:v000010C8d00000005*
- ID_PRODUCT_FROM_DATABASE=NM2200 [MagicGraph 256AV]
-
-pci:v000010C8d00000005sv00001014sd000000DD*
- ID_PRODUCT_FROM_DATABASE=ThinkPad 570
-
-pci:v000010C8d00000005sv00001028sd00000088*
- ID_PRODUCT_FROM_DATABASE=Latitude CPi A
-
-pci:v000010C8d00000006*
- ID_PRODUCT_FROM_DATABASE=NM2360 [MagicMedia 256ZX]
-
-pci:v000010C8d00000006sv00001014sd00000152*
- ID_PRODUCT_FROM_DATABASE=ThinkPad 600X
-
-pci:v000010C8d00000016*
- ID_PRODUCT_FROM_DATABASE=NM2380 [MagicMedia 256XL+]
-
-pci:v000010C8d00000016sv000010C8sd00000016*
- ID_PRODUCT_FROM_DATABASE=MagicMedia 256XL+
-
-pci:v000010C8d00000025*
- ID_PRODUCT_FROM_DATABASE=NM2230 [MagicGraph 256AV+]
-
-pci:v000010C8d00000083*
- ID_PRODUCT_FROM_DATABASE=NM2093 [MagicGraph 128ZV+]
-
-pci:v000010C8d00008005*
- ID_PRODUCT_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio]
-
-pci:v000010C8d00008005sv00000E11sd0000B0D1*
- ID_PRODUCT_FROM_DATABASE=MagicMedia 256AV Audio Device on Discovery
-
-pci:v000010C8d00008005sv00000E11sd0000B126*
- ID_PRODUCT_FROM_DATABASE=MagicMedia 256AV Audio Device on Durango
-
-pci:v000010C8d00008005sv00001014sd000000DD*
- ID_PRODUCT_FROM_DATABASE=ThinkPad 390/i1720/i1721
-
-pci:v000010C8d00008005sv00001025sd00001003*
- ID_PRODUCT_FROM_DATABASE=MagicMedia 256AV Audio Device on TravelMate 720
-
-pci:v000010C8d00008005sv00001028sd00000088*
- ID_PRODUCT_FROM_DATABASE=Latitude CPi A
-
-pci:v000010C8d00008005sv00001028sd0000008F*
- ID_PRODUCT_FROM_DATABASE=MagicMedia 256AV Audio Device on Colorado Inspiron
-
-pci:v000010C8d00008005sv0000103Csd00000007*
- ID_PRODUCT_FROM_DATABASE=MagicMedia 256AV Audio Device on Voyager II
-
-pci:v000010C8d00008005sv0000103Csd00000008*
- ID_PRODUCT_FROM_DATABASE=MagicMedia 256AV Audio Device on Voyager III
-
-pci:v000010C8d00008005sv0000103Csd0000000D*
- ID_PRODUCT_FROM_DATABASE=MagicMedia 256AV Audio Device on Omnibook 900
-
-pci:v000010C8d00008005sv000010C8sd00008005*
- ID_PRODUCT_FROM_DATABASE=MagicMedia 256AV Audio Device on FireAnt
-
-pci:v000010C8d00008005sv0000110Asd00008005*
- ID_PRODUCT_FROM_DATABASE=MagicMedia 256AV Audio Device
-
-pci:v000010C8d00008005sv000014C0sd00000004*
- ID_PRODUCT_FROM_DATABASE=MagicMedia 256AV Audio Device
-
-pci:v000010C8d00008006*
- ID_PRODUCT_FROM_DATABASE=NM2360 [MagicMedia 256ZX Audio]
-
-pci:v000010C8d00008016*
- ID_PRODUCT_FROM_DATABASE=NM2380 [MagicMedia 256XL+ Audio]
-
-pci:v000010C9*
- ID_VENDOR_FROM_DATABASE=Dataexpert Corporation
-
-pci:v000010CA*
- ID_VENDOR_FROM_DATABASE=Fujitsu Microelectr., Inc.
-
-pci:v000010CB*
- ID_VENDOR_FROM_DATABASE=Omron Corporation
-
-pci:v000010CC*
- ID_VENDOR_FROM_DATABASE=Mai Logic Incorporated
-
-pci:v000010CCd00000660*
- ID_PRODUCT_FROM_DATABASE=Articia S Host Bridge
-
-pci:v000010CCd00000661*
- ID_PRODUCT_FROM_DATABASE=Articia S PCI Bridge
-
-pci:v000010CD*
- ID_VENDOR_FROM_DATABASE=Advanced System Products, Inc
-
-pci:v000010CDd00001100*
- ID_PRODUCT_FROM_DATABASE=ASC1100
-
-pci:v000010CDd00001200*
- ID_PRODUCT_FROM_DATABASE=ASC1200 [(abp940) Fast SCSI-II]
-
-pci:v000010CDd00001300*
- ID_PRODUCT_FROM_DATABASE=ABP940-U / ABP960-U
-
-pci:v000010CDd00001300sv000010CDsd00001310*
- ID_PRODUCT_FROM_DATABASE=ASC1300 SCSI Adapter
-
-pci:v000010CDd00001300sv00001195sd00001320*
- ID_PRODUCT_FROM_DATABASE=Ultra-SCSI CardBus PC Card REX CB31
-
-pci:v000010CDd00002300*
- ID_PRODUCT_FROM_DATABASE=ABP940-UW
-
-pci:v000010CDd00002500*
- ID_PRODUCT_FROM_DATABASE=ABP940-U2W
-
-pci:v000010CDd00002700*
- ID_PRODUCT_FROM_DATABASE=ABP3950-U3W
-
-pci:v000010CE*
- ID_VENDOR_FROM_DATABASE=Radius
-
-pci:v000010CF*
- ID_VENDOR_FROM_DATABASE=Fujitsu Limited.
-
-pci:v000010CFd000001EF*
- ID_PRODUCT_FROM_DATABASE=PCEA4 PCI-Express Dual Port ESCON Adapter
-
-pci:v000010CFd00001414*
- ID_PRODUCT_FROM_DATABASE=On-board USB 1.1 companion controller
-
-pci:v000010CFd00001415*
- ID_PRODUCT_FROM_DATABASE=On-board USB 2.0 EHCI controller
-
-pci:v000010CFd00001422*
- ID_PRODUCT_FROM_DATABASE=E8410 nVidia graphics adapter
-
-pci:v000010CFd0000142D*
- ID_PRODUCT_FROM_DATABASE=HD audio (Realtek ALC262)
-
-pci:v000010CFd00001430*
- ID_PRODUCT_FROM_DATABASE=82566MM Intel 1Gb copper LAN interface
-
-pci:v000010CFd00001623*
- ID_PRODUCT_FROM_DATABASE=PCEA4 PCI-Express Dual Port ESCON Adapter
-
-pci:v000010CFd00002001*
- ID_PRODUCT_FROM_DATABASE=mb86605
-
-pci:v000010CFd0000200C*
- ID_PRODUCT_FROM_DATABASE=MB86613L IEEE1394 OHCI 1.0 Controller
-
-pci:v000010CFd00002010*
- ID_PRODUCT_FROM_DATABASE=MB86613S IEEE1394 OHCI 1.1 Controller
-
-pci:v000010CFd00002019*
- ID_PRODUCT_FROM_DATABASE=MB86295S [CORAL P]
-
-pci:v000010CFd0000201E*
- ID_PRODUCT_FROM_DATABASE=MB86296S [CORAL PA]
-
-pci:v000010CFd0000202B*
- ID_PRODUCT_FROM_DATABASE=MB86297A [Carmine Graphics Controller]
-
-pci:v000010D1*
- ID_VENDOR_FROM_DATABASE=FuturePlus Systems Corp.
-
-pci:v000010D2*
- ID_VENDOR_FROM_DATABASE=Molex Incorporated
-
-pci:v000010D3*
- ID_VENDOR_FROM_DATABASE=Jabil Circuit Inc
-
-pci:v000010D4*
- ID_VENDOR_FROM_DATABASE=Hualon Microelectronics
-
-pci:v000010D5*
- ID_VENDOR_FROM_DATABASE=Autologic Inc.
-
-pci:v000010D6*
- ID_VENDOR_FROM_DATABASE=Cetia
-
-pci:v000010D7*
- ID_VENDOR_FROM_DATABASE=BCM Advanced Research
-
-pci:v000010D8*
- ID_VENDOR_FROM_DATABASE=Advanced Peripherals Labs
-
-pci:v000010D9*
- ID_VENDOR_FROM_DATABASE=Macronix, Inc. [MXIC]
-
-pci:v000010D9d00000431*
- ID_PRODUCT_FROM_DATABASE=MX98715
-
-pci:v000010D9d00000512*
- ID_PRODUCT_FROM_DATABASE=MX98713
-
-pci:v000010D9d00000531*
- ID_PRODUCT_FROM_DATABASE=MX987x5
-
-pci:v000010D9d00000531sv00001186sd00001200*
- ID_PRODUCT_FROM_DATABASE=DFE-540TX ProFAST 10/100 Adapter
-
-pci:v000010D9d00008625*
- ID_PRODUCT_FROM_DATABASE=MX86250
-
-pci:v000010D9d00008626*
- ID_PRODUCT_FROM_DATABASE=Macronix MX86251 + 3Dfx Voodoo Rush
-
-pci:v000010D9d00008888*
- ID_PRODUCT_FROM_DATABASE=MX86200
-
-pci:v000010DA*
- ID_VENDOR_FROM_DATABASE=Compaq IPG-Austin
-
-pci:v000010DAd00000508*
- ID_PRODUCT_FROM_DATABASE=TC4048 Token Ring 4/16
-
-pci:v000010DAd00003390*
- ID_PRODUCT_FROM_DATABASE=Tl3c3x9
-
-pci:v000010DB*
- ID_VENDOR_FROM_DATABASE=Rohm LSI Systems, Inc.
-
-pci:v000010DC*
- ID_VENDOR_FROM_DATABASE=CERN/ECP/EDU
-
-pci:v000010DCd00000001*
- ID_PRODUCT_FROM_DATABASE=STAR/RD24 SCI-PCI (PMC)
-
-pci:v000010DCd00000002*
- ID_PRODUCT_FROM_DATABASE=TAR/RD24 SCI-PCI (PMC)
-
-pci:v000010DCd00000021*
- ID_PRODUCT_FROM_DATABASE=HIPPI destination
-
-pci:v000010DCd00000022*
- ID_PRODUCT_FROM_DATABASE=HIPPI source
-
-pci:v000010DCd000010DC*
- ID_PRODUCT_FROM_DATABASE=ATT2C15-3 FPGA
-
-pci:v000010DD*
- ID_VENDOR_FROM_DATABASE=Evans & Sutherland
-
-pci:v000010DDd00000100*
- ID_PRODUCT_FROM_DATABASE=Lightning 1200
-
-pci:v000010DDd00000100sv000010DDsd00000023*
- ID_PRODUCT_FROM_DATABASE=Lightning 1200 15+16M
-
-pci:v000010DE*
- ID_VENDOR_FROM_DATABASE=NVIDIA Corporation
-
-pci:v000010DEd00000008*
- ID_PRODUCT_FROM_DATABASE=NV1 [EDGE 3D]
-
-pci:v000010DEd00000009*
- ID_PRODUCT_FROM_DATABASE=NV1 [EDGE 3D]
-
-pci:v000010DEd00000020*
- ID_PRODUCT_FROM_DATABASE=NV4 [RIVA TNT]
-
-pci:v000010DEd00000020sv00001043sd00000200*
- ID_PRODUCT_FROM_DATABASE=V3400 TNT
-
-pci:v000010DEd00000020sv00001048sd00000C18*
- ID_PRODUCT_FROM_DATABASE=Erazor II SGRAM
-
-pci:v000010DEd00000020sv00001048sd00000C19*
- ID_PRODUCT_FROM_DATABASE=Erazor II
-
-pci:v000010DEd00000020sv00001048sd00000C1B*
- ID_PRODUCT_FROM_DATABASE=Erazor II
-
-pci:v000010DEd00000020sv00001048sd00000C1C*
- ID_PRODUCT_FROM_DATABASE=Erazor II
-
-pci:v000010DEd00000020sv00001092sd00000550*
- ID_PRODUCT_FROM_DATABASE=Viper V550
-
-pci:v000010DEd00000020sv00001092sd00000552*
- ID_PRODUCT_FROM_DATABASE=Viper V550
-
-pci:v000010DEd00000020sv00001092sd00004804*
- ID_PRODUCT_FROM_DATABASE=Viper V550
-
-pci:v000010DEd00000020sv00001092sd00004808*
- ID_PRODUCT_FROM_DATABASE=Viper V550
-
-pci:v000010DEd00000020sv00001092sd00004810*
- ID_PRODUCT_FROM_DATABASE=Viper V550
-
-pci:v000010DEd00000020sv00001092sd00004812*
- ID_PRODUCT_FROM_DATABASE=Viper V550
-
-pci:v000010DEd00000020sv00001092sd00004815*
- ID_PRODUCT_FROM_DATABASE=Viper V550
-
-pci:v000010DEd00000020sv00001092sd00004820*
- ID_PRODUCT_FROM_DATABASE=Viper V550 with TV out
-
-pci:v000010DEd00000020sv00001092sd00004822*
- ID_PRODUCT_FROM_DATABASE=Viper V550
-
-pci:v000010DEd00000020sv00001092sd00004904*
- ID_PRODUCT_FROM_DATABASE=Viper V550
-
-pci:v000010DEd00000020sv00001092sd00004914*
- ID_PRODUCT_FROM_DATABASE=Viper V550
-
-pci:v000010DEd00000020sv00001092sd00008225*
- ID_PRODUCT_FROM_DATABASE=Viper V550
-
-pci:v000010DEd00000020sv000010B4sd0000273D*
- ID_PRODUCT_FROM_DATABASE=Velocity 4400
-
-pci:v000010DEd00000020sv000010B4sd0000273E*
- ID_PRODUCT_FROM_DATABASE=Velocity 4400
-
-pci:v000010DEd00000020sv000010B4sd00002740*
- ID_PRODUCT_FROM_DATABASE=Velocity 4400
-
-pci:v000010DEd00000020sv000010DEsd00000020*
- ID_PRODUCT_FROM_DATABASE=Riva TNT
-
-pci:v000010DEd00000020sv00001102sd00001015*
- ID_PRODUCT_FROM_DATABASE=Graphics Blaster CT6710
-
-pci:v000010DEd00000020sv00001102sd00001016*
- ID_PRODUCT_FROM_DATABASE=Graphics Blaster RIVA TNT
-
-pci:v000010DEd00000028*
- ID_PRODUCT_FROM_DATABASE=NV5 [RIVA TNT2/TNT2 Pro]
-
-pci:v000010DEd00000028sv00001043sd00000200*
- ID_PRODUCT_FROM_DATABASE=AGP-V3800 SGRAM
-
-pci:v000010DEd00000028sv00001043sd00000201*
- ID_PRODUCT_FROM_DATABASE=AGP-V3800 SDRAM
-
-pci:v000010DEd00000028sv00001043sd00000205*
- ID_PRODUCT_FROM_DATABASE=PCI-V3800
-
-pci:v000010DEd00000028sv00001043sd00004000*
- ID_PRODUCT_FROM_DATABASE=AGP-V3800PRO
-
-pci:v000010DEd00000028sv00001048sd00000C21*
- ID_PRODUCT_FROM_DATABASE=Synergy II
-
-pci:v000010DEd00000028sv00001048sd00000C28*
- ID_PRODUCT_FROM_DATABASE=Erazor III
-
-pci:v000010DEd00000028sv00001048sd00000C29*
- ID_PRODUCT_FROM_DATABASE=Erazor III
-
-pci:v000010DEd00000028sv00001048sd00000C2A*
- ID_PRODUCT_FROM_DATABASE=Erazor III
-
-pci:v000010DEd00000028sv00001048sd00000C2B*
- ID_PRODUCT_FROM_DATABASE=Erazor III
-
-pci:v000010DEd00000028sv00001048sd00000C31*
- ID_PRODUCT_FROM_DATABASE=Erazor III Pro
-
-pci:v000010DEd00000028sv00001048sd00000C32*
- ID_PRODUCT_FROM_DATABASE=Erazor III Pro
-
-pci:v000010DEd00000028sv00001048sd00000C33*
- ID_PRODUCT_FROM_DATABASE=Erazor III Pro
-
-pci:v000010DEd00000028sv00001048sd00000C34*
- ID_PRODUCT_FROM_DATABASE=Erazor III Pro
-
-pci:v000010DEd00000028sv0000107Dsd00002134*
- ID_PRODUCT_FROM_DATABASE=WinFast 3D S320 II + TV-Out
-
-pci:v000010DEd00000028sv00001092sd00004804*
- ID_PRODUCT_FROM_DATABASE=Viper V770
-
-pci:v000010DEd00000028sv00001092sd00004A00*
- ID_PRODUCT_FROM_DATABASE=Viper V770
-
-pci:v000010DEd00000028sv00001092sd00004A02*
- ID_PRODUCT_FROM_DATABASE=Viper V770 Ultra
-
-pci:v000010DEd00000028sv00001092sd00005A00*
- ID_PRODUCT_FROM_DATABASE=RIVA TNT2/TNT2 Pro
-
-pci:v000010DEd00000028sv00001092sd00006A02*
- ID_PRODUCT_FROM_DATABASE=Viper V770 Ultra
-
-pci:v000010DEd00000028sv00001092sd00007A02*
- ID_PRODUCT_FROM_DATABASE=Viper V770 Ultra
-
-pci:v000010DEd00000028sv000010DEsd00000005*
- ID_PRODUCT_FROM_DATABASE=RIVA TNT2 Pro
-
-pci:v000010DEd00000028sv000010DEsd0000000F*
- ID_PRODUCT_FROM_DATABASE=Compaq NVIDIA TNT2 Pro
-
-pci:v000010DEd00000028sv00001102sd00001020*
- ID_PRODUCT_FROM_DATABASE=3D Blaster RIVA TNT2
-
-pci:v000010DEd00000028sv00001102sd00001026*
- ID_PRODUCT_FROM_DATABASE=3D Blaster RIVA TNT2 Digital
-
-pci:v000010DEd00000028sv00001462sd00008806*
- ID_PRODUCT_FROM_DATABASE=MS-8806 AGPhantom Graphics Card
-
-pci:v000010DEd00000028sv000014AFsd00005810*
- ID_PRODUCT_FROM_DATABASE=Maxi Gamer Xentor
-
-pci:v000010DEd00000029*
- ID_PRODUCT_FROM_DATABASE=NV5 [RIVA TNT2 Ultra]
-
-pci:v000010DEd00000029sv00001043sd00000200*
- ID_PRODUCT_FROM_DATABASE=AGP-V3800 Deluxe
-
-pci:v000010DEd00000029sv00001043sd00000201*
- ID_PRODUCT_FROM_DATABASE=AGP-V3800 Ultra SDRAM
-
-pci:v000010DEd00000029sv00001043sd00000205*
- ID_PRODUCT_FROM_DATABASE=PCI-V3800 Ultra
-
-pci:v000010DEd00000029sv00001048sd00000C2E*
- ID_PRODUCT_FROM_DATABASE=Erazor III Ultra
-
-pci:v000010DEd00000029sv00001048sd00000C2F*
- ID_PRODUCT_FROM_DATABASE=Erazor III Ultra
-
-pci:v000010DEd00000029sv00001048sd00000C30*
- ID_PRODUCT_FROM_DATABASE=Erazor III Ultra
-
-pci:v000010DEd00000029sv00001102sd00001021*
- ID_PRODUCT_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra
-
-pci:v000010DEd00000029sv00001102sd00001029*
- ID_PRODUCT_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra
-
-pci:v000010DEd00000029sv00001102sd0000102F*
- ID_PRODUCT_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra
-
-pci:v000010DEd00000029sv000014AFsd00005820*
- ID_PRODUCT_FROM_DATABASE=Maxi Gamer Xentor 32
-
-pci:v000010DEd0000002A*
- ID_PRODUCT_FROM_DATABASE=NV5 [Riva TNT2]
-
-pci:v000010DEd0000002B*
- ID_PRODUCT_FROM_DATABASE=NV5 [Riva TNT2]
-
-pci:v000010DEd0000002C*
- ID_PRODUCT_FROM_DATABASE=NV6 [Vanta/Vanta LT]
-
-pci:v000010DEd0000002Csv00001043sd00000200*
- ID_PRODUCT_FROM_DATABASE=AGP-V3800 Combat SDRAM
-
-pci:v000010DEd0000002Csv00001043sd00000201*
- ID_PRODUCT_FROM_DATABASE=AGP-V3800 Combat
-
-pci:v000010DEd0000002Csv00001048sd00000C20*
- ID_PRODUCT_FROM_DATABASE=TNT2 Vanta
-
-pci:v000010DEd0000002Csv00001048sd00000C21*
- ID_PRODUCT_FROM_DATABASE=TNT2 Vanta
-
-pci:v000010DEd0000002Csv00001092sd00006820*
- ID_PRODUCT_FROM_DATABASE=Viper V730
-
-pci:v000010DEd0000002Csv00001102sd00001031*
- ID_PRODUCT_FROM_DATABASE=CT6938 VANTA 8MB
-
-pci:v000010DEd0000002Csv00001102sd00001034*
- ID_PRODUCT_FROM_DATABASE=CT6894 VANTA 16MB
-
-pci:v000010DEd0000002Csv000014AFsd00005008*
- ID_PRODUCT_FROM_DATABASE=Maxi Gamer Phoenix 2
-
-pci:v000010DEd0000002D*
- ID_PRODUCT_FROM_DATABASE=NV5M64 [RIVA TNT2 Model 64/Model 64 Pro]
-
-pci:v000010DEd0000002Dsv00001043sd00000200*
- ID_PRODUCT_FROM_DATABASE=AGP-V3800M
-
-pci:v000010DEd0000002Dsv00001043sd00000201*
- ID_PRODUCT_FROM_DATABASE=AGP-V3800M
-
-pci:v000010DEd0000002Dsv00001048sd00000C3A*
- ID_PRODUCT_FROM_DATABASE=Erazor III LT
-
-pci:v000010DEd0000002Dsv00001048sd00000C3B*
- ID_PRODUCT_FROM_DATABASE=Erazor III LT
-
-pci:v000010DEd0000002Dsv000010DEsd00000006*
- ID_PRODUCT_FROM_DATABASE=RIVA TNT2 Model 64/Model 64 Pro
-
-pci:v000010DEd0000002Dsv000010DEsd0000001E*
- ID_PRODUCT_FROM_DATABASE=M64 AGP4x
-
-pci:v000010DEd0000002Dsv00001102sd00001023*
- ID_PRODUCT_FROM_DATABASE=CT6892 RIVA TNT2 Value
-
-pci:v000010DEd0000002Dsv00001102sd00001024*
- ID_PRODUCT_FROM_DATABASE=CT6932 RIVA TNT2 Value 32Mb
-
-pci:v000010DEd0000002Dsv00001102sd0000102C*
- ID_PRODUCT_FROM_DATABASE=CT6931 RIVA TNT2 Value [Jumper]
-
-pci:v000010DEd0000002Dsv00001462sd00008808*
- ID_PRODUCT_FROM_DATABASE=MSI-8808
-
-pci:v000010DEd0000002Dsv00001554sd00001041*
- ID_PRODUCT_FROM_DATABASE=Pixelview RIVA TNT2 M64
-
-pci:v000010DEd0000002Dsv00001569sd0000002D*
- ID_PRODUCT_FROM_DATABASE=Palit Microsystems Daytona TNT2 M64
-
-pci:v000010DEd0000002E*
- ID_PRODUCT_FROM_DATABASE=NV6 [Vanta]
-
-pci:v000010DEd0000002F*
- ID_PRODUCT_FROM_DATABASE=NV6 [Vanta]
-
-pci:v000010DEd00000034*
- ID_PRODUCT_FROM_DATABASE=MCP04 SMBus
-
-pci:v000010DEd00000035*
- ID_PRODUCT_FROM_DATABASE=MCP04 IDE
-
-pci:v000010DEd00000036*
- ID_PRODUCT_FROM_DATABASE=MCP04 Serial ATA Controller
-
-pci:v000010DEd00000037*
- ID_PRODUCT_FROM_DATABASE=MCP04 Ethernet Controller
-
-pci:v000010DEd00000038*
- ID_PRODUCT_FROM_DATABASE=MCP04 Ethernet Controller
-
-pci:v000010DEd0000003A*
- ID_PRODUCT_FROM_DATABASE=MCP04 AC'97 Audio Controller
-
-pci:v000010DEd0000003B*
- ID_PRODUCT_FROM_DATABASE=MCP04 USB Controller
-
-pci:v000010DEd0000003C*
- ID_PRODUCT_FROM_DATABASE=MCP04 USB Controller
-
-pci:v000010DEd0000003D*
- ID_PRODUCT_FROM_DATABASE=MCP04 PCI Bridge
-
-pci:v000010DEd0000003E*
- ID_PRODUCT_FROM_DATABASE=MCP04 Serial ATA Controller
-
-pci:v000010DEd00000040*
- ID_PRODUCT_FROM_DATABASE=NV40 [GeForce 6800 Ultra]
-
-pci:v000010DEd00000041*
- ID_PRODUCT_FROM_DATABASE=NV40 [GeForce 6800]
-
-pci:v000010DEd00000041sv00001043sd0000817B*
- ID_PRODUCT_FROM_DATABASE=V9999 Gamer Edition
-
-pci:v000010DEd00000042*
- ID_PRODUCT_FROM_DATABASE=NV40.2 [GeForce 6800 LE]
-
-pci:v000010DEd00000043*
- ID_PRODUCT_FROM_DATABASE=NV40.3 [GeForce 6800 XE]
-
-pci:v000010DEd00000044*
- ID_PRODUCT_FROM_DATABASE=NV40 [GeForce 6800 XT]
-
-pci:v000010DEd00000045*
- ID_PRODUCT_FROM_DATABASE=NV40 [GeForce 6800 GT]
-
-pci:v000010DEd00000046*
- ID_PRODUCT_FROM_DATABASE=NV45 [GeForce 6800 GT]
-
-pci:v000010DEd00000047*
- ID_PRODUCT_FROM_DATABASE=NV40 [GeForce 6800 GS]
-
-pci:v000010DEd00000047sv00001682sd00002109*
- ID_PRODUCT_FROM_DATABASE=GeForce 6800 GS
-
-pci:v000010DEd00000048*
- ID_PRODUCT_FROM_DATABASE=NV40 [GeForce 6800 XT]
-
-pci:v000010DEd00000049*
- ID_PRODUCT_FROM_DATABASE=NV40GL
-
-pci:v000010DEd0000004D*
- ID_PRODUCT_FROM_DATABASE=NV40GL [Quadro FX 4000]
-
-pci:v000010DEd0000004E*
- ID_PRODUCT_FROM_DATABASE=NV40GL [Quadro FX 4000]
-
-pci:v000010DEd00000050*
- ID_PRODUCT_FROM_DATABASE=CK804 ISA Bridge
-
-pci:v000010DEd00000050sv00001043sd0000815A*
- ID_PRODUCT_FROM_DATABASE=K8N4-E or A8N-E Mainboard
-
-pci:v000010DEd00000050sv000010F1sd00002865*
- ID_PRODUCT_FROM_DATABASE=Tomcat K8E (S2865)
-
-pci:v000010DEd00000050sv00001458sd00000C11*
- ID_PRODUCT_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
-
-pci:v000010DEd00000050sv00001462sd00007100*
- ID_PRODUCT_FROM_DATABASE=MSI K8N Diamond
-
-pci:v000010DEd00000050sv00001462sd00007125*
- ID_PRODUCT_FROM_DATABASE=K8N Neo4-F mainboard
-
-pci:v000010DEd00000050sv0000147Bsd00001C1A*
- ID_PRODUCT_FROM_DATABASE=KN8-Ultra Mainboard
-
-pci:v000010DEd00000050sv00001565sd00003402*
- ID_PRODUCT_FROM_DATABASE=NF4 AM2L Mainboard
-
-pci:v000010DEd00000051*
- ID_PRODUCT_FROM_DATABASE=CK804 ISA Bridge
-
-pci:v000010DEd00000051sv00001028sd00000225*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T105 ISA Bridge
-
-pci:v000010DEd00000052*
- ID_PRODUCT_FROM_DATABASE=CK804 SMBus
-
-pci:v000010DEd00000052sv00001028sd00000225*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T105 SMBus
-
-pci:v000010DEd00000052sv00001043sd0000815A*
- ID_PRODUCT_FROM_DATABASE=K8N4-E or A8N-E Mainboard
-
-pci:v000010DEd00000052sv000010F1sd00002865*
- ID_PRODUCT_FROM_DATABASE=Tomcat K8E (S2865)
-
-pci:v000010DEd00000052sv00001458sd00000C11*
- ID_PRODUCT_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
-
-pci:v000010DEd00000052sv00001462sd00007100*
- ID_PRODUCT_FROM_DATABASE=MSI K8N Diamond
-
-pci:v000010DEd00000052sv00001462sd00007125*
- ID_PRODUCT_FROM_DATABASE=K8N Neo4-F mainboard
-
-pci:v000010DEd00000052sv0000147Bsd00001C1A*
- ID_PRODUCT_FROM_DATABASE=KN8-Ultra Mainboard
-
-pci:v000010DEd00000052sv00001565sd00003402*
- ID_PRODUCT_FROM_DATABASE=NF4 AM2L Mainboard
-
-pci:v000010DEd00000053*
- ID_PRODUCT_FROM_DATABASE=CK804 IDE
-
-pci:v000010DEd00000053sv00001043sd0000815A*
- ID_PRODUCT_FROM_DATABASE=K8N4-E or A8N-E Mainboard
-
-pci:v000010DEd00000053sv000010F1sd00002865*
- ID_PRODUCT_FROM_DATABASE=Tomcat K8E (S2865)
-
-pci:v000010DEd00000053sv00001458sd00005002*
- ID_PRODUCT_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
-
-pci:v000010DEd00000053sv00001462sd00007100*
- ID_PRODUCT_FROM_DATABASE=MSI K8N Diamond
-
-pci:v000010DEd00000053sv00001462sd00007125*
- ID_PRODUCT_FROM_DATABASE=K8N Neo4-F mainboard
-
-pci:v000010DEd00000053sv0000147Bsd00001C1A*
- ID_PRODUCT_FROM_DATABASE=KN8-Ultra Mainboard
-
-pci:v000010DEd00000053sv00001565sd00003402*
- ID_PRODUCT_FROM_DATABASE=NF4 AM2L Mainboard
-
-pci:v000010DEd00000054*
- ID_PRODUCT_FROM_DATABASE=CK804 Serial ATA Controller
-
-pci:v000010DEd00000054sv00001028sd00000225*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T105 Serial ATA
-
-pci:v000010DEd00000054sv00001043sd0000815A*
- ID_PRODUCT_FROM_DATABASE=A8N-E Mainboard
-
-pci:v000010DEd00000054sv000010F1sd00002865*
- ID_PRODUCT_FROM_DATABASE=Tomcat K8E (S2865)
-
-pci:v000010DEd00000054sv00001458sd0000B003*
- ID_PRODUCT_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
-
-pci:v000010DEd00000054sv00001462sd00007100*
- ID_PRODUCT_FROM_DATABASE=MSI K8N Diamond
-
-pci:v000010DEd00000054sv00001462sd00007125*
- ID_PRODUCT_FROM_DATABASE=K8N Neo4-F mainboard
-
-pci:v000010DEd00000054sv0000147Bsd00001C1A*
- ID_PRODUCT_FROM_DATABASE=KN8-Ultra Mainboard
-
-pci:v000010DEd00000054sv00001565sd00005401*
- ID_PRODUCT_FROM_DATABASE=NF4 AM2L Mainboard
-
-pci:v000010DEd00000055*
- ID_PRODUCT_FROM_DATABASE=CK804 Serial ATA Controller
-
-pci:v000010DEd00000055sv00001028sd00000225*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T105 Serial ATA
-
-pci:v000010DEd00000055sv00001043sd0000815A*
- ID_PRODUCT_FROM_DATABASE=K8N4-E or A8N-E Mainboard
-
-pci:v000010DEd00000055sv000010F1sd00002865*
- ID_PRODUCT_FROM_DATABASE=Tomcat K8E (S2865)
-
-pci:v000010DEd00000055sv00001458sd0000B003*
- ID_PRODUCT_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
-
-pci:v000010DEd00000055sv00001462sd00007125*
- ID_PRODUCT_FROM_DATABASE=K8N Neo4-F mainboard
-
-pci:v000010DEd00000055sv0000147Bsd00001C1A*
- ID_PRODUCT_FROM_DATABASE=KN8-Ultra Mainboard
-
-pci:v000010DEd00000055sv00001565sd00005401*
- ID_PRODUCT_FROM_DATABASE=NF4 AM2L Mainboard
-
-pci:v000010DEd00000056*
- ID_PRODUCT_FROM_DATABASE=CK804 Ethernet Controller
-
-pci:v000010DEd00000057*
- ID_PRODUCT_FROM_DATABASE=CK804 Ethernet Controller
-
-pci:v000010DEd00000057sv00001043sd00008141*
- ID_PRODUCT_FROM_DATABASE=K8N4-E or A8N-E Mainboard
-
-pci:v000010DEd00000057sv000010DEsd0000CB84*
- ID_PRODUCT_FROM_DATABASE=NF4 Lanparty
-
-pci:v000010DEd00000057sv000010F1sd00002865*
- ID_PRODUCT_FROM_DATABASE=Tomcat K8E (S2865)
-
-pci:v000010DEd00000057sv00001458sd0000E000*
- ID_PRODUCT_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
-
-pci:v000010DEd00000057sv00001462sd00007100*
- ID_PRODUCT_FROM_DATABASE=MSI K8N Diamond
-
-pci:v000010DEd00000057sv00001462sd00007125*
- ID_PRODUCT_FROM_DATABASE=K8N Neo4-F mainboard
-
-pci:v000010DEd00000057sv0000147Bsd00001C1A*
- ID_PRODUCT_FROM_DATABASE=KN8-Ultra Mainboard
-
-pci:v000010DEd00000057sv00001565sd00002501*
- ID_PRODUCT_FROM_DATABASE=NF4 AM2L Mainboard
-
-pci:v000010DEd00000058*
- ID_PRODUCT_FROM_DATABASE=CK804 AC'97 Modem
-
-pci:v000010DEd00000059*
- ID_PRODUCT_FROM_DATABASE=CK804 AC'97 Audio Controller
-
-pci:v000010DEd00000059sv00001043sd0000812A*
- ID_PRODUCT_FROM_DATABASE=K8N4-E or A8N-E Mainboard
-
-pci:v000010DEd00000059sv000010F1sd00002865*
- ID_PRODUCT_FROM_DATABASE=Tomcat K8E (S2865)
-
-pci:v000010DEd00000059sv00001462sd00007585*
- ID_PRODUCT_FROM_DATABASE=K8N Neo4-F mainboard
-
-pci:v000010DEd00000059sv0000147Bsd00001C1A*
- ID_PRODUCT_FROM_DATABASE=KN8-Ultra Mainboard
-
-pci:v000010DEd00000059sv00001565sd00008211*
- ID_PRODUCT_FROM_DATABASE=NF4 AM2L Mainboard
-
-pci:v000010DEd0000005A*
- ID_PRODUCT_FROM_DATABASE=CK804 USB Controller
-
-pci:v000010DEd0000005Asv00001028sd00000225*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T105 onboard USB
-
-pci:v000010DEd0000005Asv00001043sd0000815A*
- ID_PRODUCT_FROM_DATABASE=K8N4-E or A8N-E Mainboard
-
-pci:v000010DEd0000005Asv000010F1sd00002865*
- ID_PRODUCT_FROM_DATABASE=Tomcat K8E (S2865)
-
-pci:v000010DEd0000005Asv00001458sd00005004*
- ID_PRODUCT_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
-
-pci:v000010DEd0000005Asv00001462sd00007100*
- ID_PRODUCT_FROM_DATABASE=MSI K8N Diamond
-
-pci:v000010DEd0000005Asv00001462sd00007125*
- ID_PRODUCT_FROM_DATABASE=K8N Neo4-F mainboard
-
-pci:v000010DEd0000005Asv0000147Bsd00001C1A*
- ID_PRODUCT_FROM_DATABASE=KN8-Ultra Mainboard
-
-pci:v000010DEd0000005Asv00001565sd00003402*
- ID_PRODUCT_FROM_DATABASE=NF4 AM2L Mainboard
-
-pci:v000010DEd0000005B*
- ID_PRODUCT_FROM_DATABASE=CK804 USB Controller
-
-pci:v000010DEd0000005Bsv00001028sd00000225*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T105 onboard USB
-
-pci:v000010DEd0000005Bsv00001043sd0000815A*
- ID_PRODUCT_FROM_DATABASE=K8N4-E or A8N-E Mainboard
-
-pci:v000010DEd0000005Bsv000010F1sd00002865*
- ID_PRODUCT_FROM_DATABASE=Tomcat K8E (S2865)
-
-pci:v000010DEd0000005Bsv00001458sd00005004*
- ID_PRODUCT_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
-
-pci:v000010DEd0000005Bsv00001462sd00007100*
- ID_PRODUCT_FROM_DATABASE=MSI K8N Diamond
-
-pci:v000010DEd0000005Bsv00001462sd00007125*
- ID_PRODUCT_FROM_DATABASE=K8N Neo4-F mainboard
-
-pci:v000010DEd0000005Bsv0000147Bsd00001C1A*
- ID_PRODUCT_FROM_DATABASE=KN8-Ultra Mainboard
-
-pci:v000010DEd0000005Bsv00001565sd00003402*
- ID_PRODUCT_FROM_DATABASE=NF4 AM2L Mainboard
-
-pci:v000010DEd0000005C*
- ID_PRODUCT_FROM_DATABASE=CK804 PCI Bridge
-
-pci:v000010DEd0000005D*
- ID_PRODUCT_FROM_DATABASE=CK804 PCIE Bridge
-
-pci:v000010DEd0000005E*
- ID_PRODUCT_FROM_DATABASE=CK804 Memory Controller
-
-pci:v000010DEd0000005Esv00001028sd00000225*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T105 Memory Controller
-
-pci:v000010DEd0000005Esv00001043sd0000815A*
- ID_PRODUCT_FROM_DATABASE=A8N-E Mainboard
-
-pci:v000010DEd0000005Esv000010DEsd0000005E*
- ID_PRODUCT_FROM_DATABASE=ECS Elitegroup NFORCE3-A939 motherboard.
-
-pci:v000010DEd0000005Esv000010F1sd00002865*
- ID_PRODUCT_FROM_DATABASE=Tomcat K8E (S2865)
-
-pci:v000010DEd0000005Esv000010F1sd00002891*
- ID_PRODUCT_FROM_DATABASE=Thunder K8SRE Mainboard
-
-pci:v000010DEd0000005Esv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-K8N Ultra-9 Mainboard
-
-pci:v000010DEd0000005Esv00001462sd00007100*
- ID_PRODUCT_FROM_DATABASE=K8N Diamond Mainboard
-
-pci:v000010DEd0000005Esv00001462sd00007125*
- ID_PRODUCT_FROM_DATABASE=K8N Neo4-F Mainboard
-
-pci:v000010DEd0000005Esv0000147Bsd00001C1A*
- ID_PRODUCT_FROM_DATABASE=KN8-Ultra Mainboard
-
-pci:v000010DEd0000005Esv00001565sd00003402*
- ID_PRODUCT_FROM_DATABASE=NF4 AM2L Mainboard
-
-pci:v000010DEd0000005F*
- ID_PRODUCT_FROM_DATABASE=CK804 Memory Controller
-
-pci:v000010DEd00000060*
- ID_PRODUCT_FROM_DATABASE=nForce2 ISA Bridge
-
-pci:v000010DEd00000060sv00001043sd000080AD*
- ID_PRODUCT_FROM_DATABASE=A7N8X Mainboard
-
-pci:v000010DEd00000060sv0000147Bsd00001C02*
- ID_PRODUCT_FROM_DATABASE=NF7-S/NF7 (nVidia-nForce2) 2.X
-
-pci:v000010DEd00000060sv0000A0A0sd000003BA*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd00000064*
- ID_PRODUCT_FROM_DATABASE=nForce2 SMBus (MCP)
-
-pci:v000010DEd00000064sv0000147Bsd00001C02*
- ID_PRODUCT_FROM_DATABASE=NF7-S/NF7 (nVidia-nForce2) 2.X
-
-pci:v000010DEd00000064sv0000A0A0sd000003BB*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd00000065*
- ID_PRODUCT_FROM_DATABASE=nForce2 IDE
-
-pci:v000010DEd00000065sv000010DEsd00000C11*
- ID_PRODUCT_FROM_DATABASE=nForce 2 EIDE Controller
-
-pci:v000010DEd00000065sv0000A0A0sd000003B2*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd00000066*
- ID_PRODUCT_FROM_DATABASE=nForce2 Ethernet Controller
-
-pci:v000010DEd00000066sv00001043sd000080A7*
- ID_PRODUCT_FROM_DATABASE=A7N8X Mainboard onboard nForce2 Ethernet
-
-pci:v000010DEd00000066sv000010DEsd00000C11*
- ID_PRODUCT_FROM_DATABASE=nForce MCP-T Networking Adapter
-
-pci:v000010DEd00000066sv0000A0A0sd000003B3*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd00000067*
- ID_PRODUCT_FROM_DATABASE=nForce2 USB Controller
-
-pci:v000010DEd00000067sv00001043sd00000C11*
- ID_PRODUCT_FROM_DATABASE=A7N8X Mainboard
-
-pci:v000010DEd00000067sv0000A0A0sd000003B4*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd00000068*
- ID_PRODUCT_FROM_DATABASE=nForce2 USB Controller
-
-pci:v000010DEd00000068sv00001043sd00000C11*
- ID_PRODUCT_FROM_DATABASE=A7N8X Mainboard
-
-pci:v000010DEd00000068sv0000A0A0sd000003B4*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd0000006A*
- ID_PRODUCT_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP)
-
-pci:v000010DEd0000006Asv00001043sd00008095*
- ID_PRODUCT_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP)
-
-pci:v000010DEd0000006Asv0000A0A0sd00000304*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd0000006B*
- ID_PRODUCT_FROM_DATABASE=nForce Audio Processing Unit
-
-pci:v000010DEd0000006Bsv000010DEsd0000006B*
- ID_PRODUCT_FROM_DATABASE=nForce2 MCP Audio Processing Unit
-
-pci:v000010DEd0000006Bsv0000A0A0sd00000304*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd0000006C*
- ID_PRODUCT_FROM_DATABASE=nForce2 External PCI Bridge
-
-pci:v000010DEd0000006D*
- ID_PRODUCT_FROM_DATABASE=nForce2 PCI Bridge
-
-pci:v000010DEd0000006E*
- ID_PRODUCT_FROM_DATABASE=nForce2 FireWire (IEEE 1394) Controller
-
-pci:v000010DEd0000006Esv0000A0A0sd00000306*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd00000080*
- ID_PRODUCT_FROM_DATABASE=MCP2A ISA bridge
-
-pci:v000010DEd00000080sv0000147Bsd00001C09*
- ID_PRODUCT_FROM_DATABASE=NV7 Motherboard
-
-pci:v000010DEd00000084*
- ID_PRODUCT_FROM_DATABASE=MCP2A SMBus
-
-pci:v000010DEd00000084sv0000147Bsd00001C09*
- ID_PRODUCT_FROM_DATABASE=NV7 Motherboard
-
-pci:v000010DEd00000085*
- ID_PRODUCT_FROM_DATABASE=MCP2A IDE
-
-pci:v000010DEd00000085sv0000147Bsd00001C09*
- ID_PRODUCT_FROM_DATABASE=NV7 Motherboard
-
-pci:v000010DEd00000086*
- ID_PRODUCT_FROM_DATABASE=MCP2A Ethernet Controller
-
-pci:v000010DEd00000087*
- ID_PRODUCT_FROM_DATABASE=MCP2A USB Controller
-
-pci:v000010DEd00000087sv0000147Bsd00001C09*
- ID_PRODUCT_FROM_DATABASE=NV7 Motherboard
-
-pci:v000010DEd00000088*
- ID_PRODUCT_FROM_DATABASE=MCP2A USB Controller
-
-pci:v000010DEd00000088sv0000147Bsd00001C09*
- ID_PRODUCT_FROM_DATABASE=NV7 Motherboard
-
-pci:v000010DEd0000008A*
- ID_PRODUCT_FROM_DATABASE=MCP2S AC'97 Audio Controller
-
-pci:v000010DEd0000008Asv0000147Bsd00001C09*
- ID_PRODUCT_FROM_DATABASE=NV7 Motherboard
-
-pci:v000010DEd0000008B*
- ID_PRODUCT_FROM_DATABASE=MCP2A PCI Bridge
-
-pci:v000010DEd0000008C*
- ID_PRODUCT_FROM_DATABASE=MCP2A Ethernet Controller
-
-pci:v000010DEd0000008E*
- ID_PRODUCT_FROM_DATABASE=nForce2 Serial ATA Controller
-
-pci:v000010DEd00000090*
- ID_PRODUCT_FROM_DATABASE=G70 [GeForce 7800 GTX]
-
-pci:v000010DEd00000091*
- ID_PRODUCT_FROM_DATABASE=G70 [GeForce 7800 GTX]
-
-pci:v000010DEd00000092*
- ID_PRODUCT_FROM_DATABASE=G70 [GeForce 7800 GT]
-
-pci:v000010DEd00000093*
- ID_PRODUCT_FROM_DATABASE=G70 [GeForce 7800 GS]
-
-pci:v000010DEd00000095*
- ID_PRODUCT_FROM_DATABASE=G70 [GeForce 7800 SLI]
-
-pci:v000010DEd00000098*
- ID_PRODUCT_FROM_DATABASE=G70 [GeForce Go 7800]
-
-pci:v000010DEd00000099*
- ID_PRODUCT_FROM_DATABASE=G70 [GeForce Go 7800 GTX]
-
-pci:v000010DEd0000009D*
- ID_PRODUCT_FROM_DATABASE=G70GL [Quadro FX 4500]
-
-pci:v000010DEd000000A0*
- ID_PRODUCT_FROM_DATABASE=NV5 [Aladdin TNT2]
-
-pci:v000010DEd000000A0sv000014AFsd00005810*
- ID_PRODUCT_FROM_DATABASE=Maxi Gamer Xentor
-
-pci:v000010DEd000000C0*
- ID_PRODUCT_FROM_DATABASE=NV41 [GeForce 6800 GS]
-
-pci:v000010DEd000000C1*
- ID_PRODUCT_FROM_DATABASE=NV41.1 [GeForce 6800]
-
-pci:v000010DEd000000C2*
- ID_PRODUCT_FROM_DATABASE=NV41.2 [GeForce 6800 LE]
-
-pci:v000010DEd000000C3*
- ID_PRODUCT_FROM_DATABASE=NV42 [GeForce 6800 XT]
-
-pci:v000010DEd000000C8*
- ID_PRODUCT_FROM_DATABASE=NV41.8 [GeForce Go 6800]
-
-pci:v000010DEd000000C9*
- ID_PRODUCT_FROM_DATABASE=NV41.9 [GeForce Go 6800 Ultra]
-
-pci:v000010DEd000000CC*
- ID_PRODUCT_FROM_DATABASE=NV41 [Quadro FX Go1400]
-
-pci:v000010DEd000000CD*
- ID_PRODUCT_FROM_DATABASE=NV41 [Quadro FX 3450/4000 SDI]
-
-pci:v000010DEd000000CDsv000010DEsd0000029B*
- ID_PRODUCT_FROM_DATABASE=wx4300 Workstation
-
-pci:v000010DEd000000CE*
- ID_PRODUCT_FROM_DATABASE=NV41GL [Quadro FX 1400]
-
-pci:v000010DEd000000D0*
- ID_PRODUCT_FROM_DATABASE=nForce3 LPC Bridge
-
-pci:v000010DEd000000D1*
- ID_PRODUCT_FROM_DATABASE=nForce3 Host Bridge
-
-pci:v000010DEd000000D2*
- ID_PRODUCT_FROM_DATABASE=nForce3 AGP Bridge
-
-pci:v000010DEd000000D3*
- ID_PRODUCT_FROM_DATABASE=CK804 Memory Controller
-
-pci:v000010DEd000000D4*
- ID_PRODUCT_FROM_DATABASE=nForce3 SMBus
-
-pci:v000010DEd000000D5*
- ID_PRODUCT_FROM_DATABASE=nForce3 IDE
-
-pci:v000010DEd000000D6*
- ID_PRODUCT_FROM_DATABASE=nForce3 Ethernet
-
-pci:v000010DEd000000D7*
- ID_PRODUCT_FROM_DATABASE=nForce3 USB 1.1
-
-pci:v000010DEd000000D8*
- ID_PRODUCT_FROM_DATABASE=nForce3 USB 2.0
-
-pci:v000010DEd000000D9*
- ID_PRODUCT_FROM_DATABASE=nForce3 Audio
-
-pci:v000010DEd000000DA*
- ID_PRODUCT_FROM_DATABASE=nForce3 Audio
-
-pci:v000010DEd000000DD*
- ID_PRODUCT_FROM_DATABASE=nForce3 PCI Bridge
-
-pci:v000010DEd000000DF*
- ID_PRODUCT_FROM_DATABASE=CK8S Ethernet Controller
-
-pci:v000010DEd000000DFsv00001043sd000080A7*
- ID_PRODUCT_FROM_DATABASE=K8N-E
-
-pci:v000010DEd000000DFsv0000105Bsd00000C43*
- ID_PRODUCT_FROM_DATABASE=Winfast NF3250K8AA
-
-pci:v000010DEd000000DFsv0000147Bsd00001C0B*
- ID_PRODUCT_FROM_DATABASE=NF8 Mainboard
-
-pci:v000010DEd000000E0*
- ID_PRODUCT_FROM_DATABASE=nForce3 250Gb LPC Bridge
-
-pci:v000010DEd000000E0sv00001043sd0000813F*
- ID_PRODUCT_FROM_DATABASE=K8N-E
-
-pci:v000010DEd000000E0sv000010DEsd00000C11*
- ID_PRODUCT_FROM_DATABASE=Winfast NF3250K8AA
-
-pci:v000010DEd000000E0sv00001462sd00007030*
- ID_PRODUCT_FROM_DATABASE=K8N Neo-FSR v2.0
-
-pci:v000010DEd000000E0sv0000147Bsd00001C0B*
- ID_PRODUCT_FROM_DATABASE=NF8 Mainboard
-
-pci:v000010DEd000000E0sv00001849sd000000E0*
- ID_PRODUCT_FROM_DATABASE=Motherboard (one of many)
-
-pci:v000010DEd000000E1*
- ID_PRODUCT_FROM_DATABASE=nForce3 250Gb Host Bridge
-
-pci:v000010DEd000000E1sv00001043sd0000813F*
- ID_PRODUCT_FROM_DATABASE=K8N-E
-
-pci:v000010DEd000000E1sv00001462sd00007030*
- ID_PRODUCT_FROM_DATABASE=K8N Neo-FSR v2.0
-
-pci:v000010DEd000000E1sv0000147Bsd00001C0B*
- ID_PRODUCT_FROM_DATABASE=NF8 Mainboard
-
-pci:v000010DEd000000E1sv00001849sd000000E1*
- ID_PRODUCT_FROM_DATABASE=Motherboard (one of many)
-
-pci:v000010DEd000000E2*
- ID_PRODUCT_FROM_DATABASE=nForce3 250Gb AGP Host to PCI Bridge
-
-pci:v000010DEd000000E3*
- ID_PRODUCT_FROM_DATABASE=nForce3 Serial ATA Controller
-
-pci:v000010DEd000000E3sv00001043sd0000813F*
- ID_PRODUCT_FROM_DATABASE=K8N-E
-
-pci:v000010DEd000000E3sv0000105Bsd00000C43*
- ID_PRODUCT_FROM_DATABASE=Winfast NF3250K8AA
-
-pci:v000010DEd000000E3sv0000147Bsd00001C0B*
- ID_PRODUCT_FROM_DATABASE=NF8 Mainboard
-
-pci:v000010DEd000000E3sv00001849sd000000E3*
- ID_PRODUCT_FROM_DATABASE=Motherboard (one of many)
-
-pci:v000010DEd000000E4*
- ID_PRODUCT_FROM_DATABASE=nForce 250Gb PCI System Management
-
-pci:v000010DEd000000E4sv00001043sd0000813F*
- ID_PRODUCT_FROM_DATABASE=K8N-E
-
-pci:v000010DEd000000E4sv0000105Bsd00000C43*
- ID_PRODUCT_FROM_DATABASE=Winfast NF3250K8AA
-
-pci:v000010DEd000000E4sv00001462sd00007030*
- ID_PRODUCT_FROM_DATABASE=K8N Neo-FSR v2.0
-
-pci:v000010DEd000000E4sv0000147Bsd00001C0B*
- ID_PRODUCT_FROM_DATABASE=NF8 Mainboard
-
-pci:v000010DEd000000E4sv00001849sd000000E4*
- ID_PRODUCT_FROM_DATABASE=Motherboard (one of many)
-
-pci:v000010DEd000000E5*
- ID_PRODUCT_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5)
-
-pci:v000010DEd000000E5sv00001043sd0000813F*
- ID_PRODUCT_FROM_DATABASE=K8N-E
-
-pci:v000010DEd000000E5sv0000105Bsd00000C43*
- ID_PRODUCT_FROM_DATABASE=Winfast NF3250K8AA
-
-pci:v000010DEd000000E5sv00001462sd00007030*
- ID_PRODUCT_FROM_DATABASE=K8N Neo-FSR v2.0
-
-pci:v000010DEd000000E5sv0000147Bsd00001C0B*
- ID_PRODUCT_FROM_DATABASE=NF8 Mainboard
-
-pci:v000010DEd000000E5sv00001849sd000000E5*
- ID_PRODUCT_FROM_DATABASE=Motherboard (one of many)
-
-pci:v000010DEd000000E5sv0000F849sd000000E5*
- ID_PRODUCT_FROM_DATABASE=Motherboard (one of many)
-
-pci:v000010DEd000000E6*
- ID_PRODUCT_FROM_DATABASE=CK8S Ethernet Controller
-
-pci:v000010DEd000000E7*
- ID_PRODUCT_FROM_DATABASE=CK8S USB Controller
-
-pci:v000010DEd000000E7sv00001043sd0000813F*
- ID_PRODUCT_FROM_DATABASE=K8N-E
-
-pci:v000010DEd000000E7sv0000105Bsd00000C43*
- ID_PRODUCT_FROM_DATABASE=Winfast NF3250K8AA
-
-pci:v000010DEd000000E7sv00001462sd00007030*
- ID_PRODUCT_FROM_DATABASE=K8N Neo-FSR v2.0
-
-pci:v000010DEd000000E7sv0000147Bsd00001C0B*
- ID_PRODUCT_FROM_DATABASE=NF8 Mainboard
-
-pci:v000010DEd000000E7sv00001849sd000000E7*
- ID_PRODUCT_FROM_DATABASE=Motherboard (one of many)
-
-pci:v000010DEd000000E8*
- ID_PRODUCT_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller
-
-pci:v000010DEd000000E8sv00001043sd0000813F*
- ID_PRODUCT_FROM_DATABASE=K8N-E
-
-pci:v000010DEd000000E8sv0000105Bsd00000C43*
- ID_PRODUCT_FROM_DATABASE=Winfast NF3250K8AA
-
-pci:v000010DEd000000E8sv00001462sd00007030*
- ID_PRODUCT_FROM_DATABASE=K8N Neo-FSR v2.0
-
-pci:v000010DEd000000E8sv0000147Bsd00001C0B*
- ID_PRODUCT_FROM_DATABASE=NF8 Mainboard
-
-pci:v000010DEd000000E8sv00001849sd000000E8*
- ID_PRODUCT_FROM_DATABASE=Motherboard (one of many)
-
-pci:v000010DEd000000EA*
- ID_PRODUCT_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller
-
-pci:v000010DEd000000EAsv00001043sd0000819D*
- ID_PRODUCT_FROM_DATABASE=K8N-E
-
-pci:v000010DEd000000EAsv0000105Bsd00000C43*
- ID_PRODUCT_FROM_DATABASE=Winfast NF3250K8AA
-
-pci:v000010DEd000000EAsv00001462sd0000B010*
- ID_PRODUCT_FROM_DATABASE=K8N Neo-FSR v2.0
-
-pci:v000010DEd000000EAsv0000147Bsd00001C0B*
- ID_PRODUCT_FROM_DATABASE=NF8 Mainboard
-
-pci:v000010DEd000000ED*
- ID_PRODUCT_FROM_DATABASE=nForce3 250Gb PCI-to-PCI Bridge
-
-pci:v000010DEd000000EE*
- ID_PRODUCT_FROM_DATABASE=nForce3 Serial ATA Controller 2
-
-pci:v000010DEd000000F0*
- ID_PRODUCT_FROM_DATABASE=NV40 [GeForce 6800 Ultra]
-
-pci:v000010DEd000000F1*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce 6600 GT]
-
-pci:v000010DEd000000F1sv00001043sd000081A6*
- ID_PRODUCT_FROM_DATABASE=N6600GT TD 128M AGP
-
-pci:v000010DEd000000F1sv00001043sd000081C6*
- ID_PRODUCT_FROM_DATABASE=N6600GT TD 128M AGP
-
-pci:v000010DEd000000F1sv00001458sd00003150*
- ID_PRODUCT_FROM_DATABASE=GV-N66T128VP
-
-pci:v000010DEd000000F1sv00001554sd00001191*
- ID_PRODUCT_FROM_DATABASE=PixelView PV-N43UA (128KD)
-
-pci:v000010DEd000000F1sv00001682sd00002119*
- ID_PRODUCT_FROM_DATABASE=GeForce 6600 GT AGP
-
-pci:v000010DEd000000F2*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce 6600]
-
-pci:v000010DEd000000F2sv00001554sd00001194*
- ID_PRODUCT_FROM_DATABASE=PixelView PV-N43AT (256KD)
-
-pci:v000010DEd000000F2sv00001682sd0000211C*
- ID_PRODUCT_FROM_DATABASE=GeForce 6600 256MB DDR DUAL DVI TV
-
-pci:v000010DEd000000F3*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce 6200]
-
-pci:v000010DEd000000F4*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce 6600 LE]
-
-pci:v000010DEd000000F5*
- ID_PRODUCT_FROM_DATABASE=G70 [GeForce 7800 GS]
-
-pci:v000010DEd000000F6*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce 6800 GS]
-
-pci:v000010DEd000000F6sv00001682sd0000217E*
- ID_PRODUCT_FROM_DATABASE=XFX GeForce 6800 XTreme 256MB DDR3 AGP
-
-pci:v000010DEd000000F8*
- ID_PRODUCT_FROM_DATABASE=NV45GL [Quadro FX 3400/4400]
-
-pci:v000010DEd000000F9*
- ID_PRODUCT_FROM_DATABASE=NV45 [GeForce 6800 GTO]
-
-pci:v000010DEd000000F9sv000010DEsd000000F9*
- ID_PRODUCT_FROM_DATABASE=NV40 [GeForce 6800 GT]
-
-pci:v000010DEd000000F9sv00001682sd00002120*
- ID_PRODUCT_FROM_DATABASE=GEFORCE 6800 GT PCI-E
-
-pci:v000010DEd000000FA*
- ID_PRODUCT_FROM_DATABASE=NV36 [GeForce PCX 5750]
-
-pci:v000010DEd000000FB*
- ID_PRODUCT_FROM_DATABASE=NV35 [GeForce PCX 5900]
-
-pci:v000010DEd000000FC*
- ID_PRODUCT_FROM_DATABASE=NV37GL [Quadro FX 330/GeForce PCX 5300]
-
-pci:v000010DEd000000FD*
- ID_PRODUCT_FROM_DATABASE=NV37GL [Quadro PCI-E Series]
-
-pci:v000010DEd000000FE*
- ID_PRODUCT_FROM_DATABASE=NV38GL [Quadro FX 1300]
-
-pci:v000010DEd000000FF*
- ID_PRODUCT_FROM_DATABASE=NV18 [GeForce PCX 4300]
-
-pci:v000010DEd00000100*
- ID_PRODUCT_FROM_DATABASE=NV10 [GeForce 256 SDR]
-
-pci:v000010DEd00000100sv00001043sd00000200*
- ID_PRODUCT_FROM_DATABASE=AGP-V6600 SGRAM
-
-pci:v000010DEd00000100sv00001043sd00000201*
- ID_PRODUCT_FROM_DATABASE=AGP-V6600 SDRAM
-
-pci:v000010DEd00000100sv00001043sd00004008*
- ID_PRODUCT_FROM_DATABASE=AGP-V6600 SGRAM
-
-pci:v000010DEd00000100sv00001043sd00004009*
- ID_PRODUCT_FROM_DATABASE=AGP-V6600 SDRAM
-
-pci:v000010DEd00000100sv00001048sd00000C41*
- ID_PRODUCT_FROM_DATABASE=Erazor X
-
-pci:v000010DEd00000100sv00001048sd00000C43*
- ID_PRODUCT_FROM_DATABASE=ERAZOR X PCI
-
-pci:v000010DEd00000100sv00001048sd00000C48*
- ID_PRODUCT_FROM_DATABASE=Synergy Force
-
-pci:v000010DEd00000100sv00001102sd0000102D*
- ID_PRODUCT_FROM_DATABASE=CT6941 GeForce 256
-
-pci:v000010DEd00000100sv000014AFsd00005022*
- ID_PRODUCT_FROM_DATABASE=3D Prophet SE
-
-pci:v000010DEd00000101*
- ID_PRODUCT_FROM_DATABASE=NV10DDR [GeForce 256 DDR]
-
-pci:v000010DEd00000101sv00001043sd00000202*
- ID_PRODUCT_FROM_DATABASE=AGP-V6800 DDR
-
-pci:v000010DEd00000101sv00001043sd0000400A*
- ID_PRODUCT_FROM_DATABASE=AGP-V6800 DDR SGRAM
-
-pci:v000010DEd00000101sv00001043sd0000400B*
- ID_PRODUCT_FROM_DATABASE=AGP-V6800 DDR SDRAM
-
-pci:v000010DEd00000101sv00001048sd00000C42*
- ID_PRODUCT_FROM_DATABASE=Erazor X
-
-pci:v000010DEd00000101sv0000107Dsd00002822*
- ID_PRODUCT_FROM_DATABASE=WinFast GeForce 256
-
-pci:v000010DEd00000101sv00001102sd0000102E*
- ID_PRODUCT_FROM_DATABASE=CT6971 GeForce 256 DDR
-
-pci:v000010DEd00000101sv000014AFsd00005021*
- ID_PRODUCT_FROM_DATABASE=3D Prophet DDR-DVI
-
-pci:v000010DEd00000103*
- ID_PRODUCT_FROM_DATABASE=NV10GL [Quadro]
-
-pci:v000010DEd00000103sv00001048sd00000C40*
- ID_PRODUCT_FROM_DATABASE=GLoria II-64
-
-pci:v000010DEd00000103sv00001048sd00000C44*
- ID_PRODUCT_FROM_DATABASE=GLoria II
-
-pci:v000010DEd00000103sv00001048sd00000C45*
- ID_PRODUCT_FROM_DATABASE=GLoria II
-
-pci:v000010DEd00000103sv00001048sd00000C4A*
- ID_PRODUCT_FROM_DATABASE=GLoria II-64 Pro
-
-pci:v000010DEd00000103sv00001048sd00000C4B*
- ID_PRODUCT_FROM_DATABASE=GLoria II-64 Pro DVII
-
-pci:v000010DEd00000110*
- ID_PRODUCT_FROM_DATABASE=NV11 [GeForce2 MX/MX 400]
-
-pci:v000010DEd00000110sv00001043sd00004015*
- ID_PRODUCT_FROM_DATABASE=AGP-V7100 Pro
-
-pci:v000010DEd00000110sv00001043sd00004021*
- ID_PRODUCT_FROM_DATABASE=V7100 Deluxe Combo
-
-pci:v000010DEd00000110sv00001043sd00004031*
- ID_PRODUCT_FROM_DATABASE=V7100 Pro with TV output
-
-pci:v000010DEd00000110sv00001048sd00000C60*
- ID_PRODUCT_FROM_DATABASE=Gladiac MX
-
-pci:v000010DEd00000110sv00001048sd00000C61*
- ID_PRODUCT_FROM_DATABASE=Gladiac 511PCI
-
-pci:v000010DEd00000110sv00001048sd00000C63*
- ID_PRODUCT_FROM_DATABASE=Gladiac 511TV-OUT 32MB
-
-pci:v000010DEd00000110sv00001048sd00000C64*
- ID_PRODUCT_FROM_DATABASE=Gladiac 511TV-OUT 64MB
-
-pci:v000010DEd00000110sv00001048sd00000C65*
- ID_PRODUCT_FROM_DATABASE=Gladiac 511TWIN
-
-pci:v000010DEd00000110sv00001048sd00000C66*
- ID_PRODUCT_FROM_DATABASE=Gladiac 311
-
-pci:v000010DEd00000110sv000010DEsd00000091*
- ID_PRODUCT_FROM_DATABASE=Dell OEM GeForce 2 MX 400
-
-pci:v000010DEd00000110sv000010DEsd000000A1*
- ID_PRODUCT_FROM_DATABASE=Apple OEM GeForce2 MX
-
-pci:v000010DEd00000110sv00001462sd00008817*
- ID_PRODUCT_FROM_DATABASE=MSI GeForce2 MX400 Pro32S [MS-8817]
-
-pci:v000010DEd00000110sv000014AFsd00007102*
- ID_PRODUCT_FROM_DATABASE=3D Prophet II MX
-
-pci:v000010DEd00000110sv000014AFsd00007103*
- ID_PRODUCT_FROM_DATABASE=3D Prophet II MX Dual-Display
-
-pci:v000010DEd00000110sv00001545sd00000023*
- ID_PRODUCT_FROM_DATABASE=Xtasy Rev. B2
-
-pci:v000010DEd00000111*
- ID_PRODUCT_FROM_DATABASE=NV11DDR [GeForce2 MX200]
-
-pci:v000010DEd00000112*
- ID_PRODUCT_FROM_DATABASE=NV11 [GeForce2 Go]
-
-pci:v000010DEd00000113*
- ID_PRODUCT_FROM_DATABASE=NV11GL [Quadro2 MXR/EX/Go]
-
-pci:v000010DEd00000140*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce 6600 GT]
-
-pci:v000010DEd00000141*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce 6600]
-
-pci:v000010DEd00000141sv00001043sd000081B0*
- ID_PRODUCT_FROM_DATABASE=EN6600 Silencer
-
-pci:v000010DEd00000141sv00001458sd00003124*
- ID_PRODUCT_FROM_DATABASE=GV-NX66128DP Turbo Force Edition
-
-pci:v000010DEd00000142*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce 6600 LE]
-
-pci:v000010DEd00000143*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce 6600 VE]
-
-pci:v000010DEd00000144*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce Go 6600]
-
-pci:v000010DEd00000145*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce 6610 XL]
-
-pci:v000010DEd00000146*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce Go 6600TE/6200TE]
-
-pci:v000010DEd00000147*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce 6700 XL]
-
-pci:v000010DEd00000148*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce Go 6600]
-
-pci:v000010DEd00000149*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce Go 6600 GT]
-
-pci:v000010DEd0000014A*
- ID_PRODUCT_FROM_DATABASE=NV43 [Quadro NVS 440]
-
-pci:v000010DEd0000014C*
- ID_PRODUCT_FROM_DATABASE=NV43 [Quadro FX 540 MXM]
-
-pci:v000010DEd0000014D*
- ID_PRODUCT_FROM_DATABASE=NV43GL [Quadro FX 550]
-
-pci:v000010DEd0000014E*
- ID_PRODUCT_FROM_DATABASE=NV43GL [Quadro FX 540]
-
-pci:v000010DEd0000014F*
- ID_PRODUCT_FROM_DATABASE=NV43 [GeForce 6200]
-
-pci:v000010DEd00000150*
- ID_PRODUCT_FROM_DATABASE=NV15 [GeForce2 GTS/Pro]
-
-pci:v000010DEd00000150sv00001043sd00004016*
- ID_PRODUCT_FROM_DATABASE=V7700 AGP Video Card
-
-pci:v000010DEd00000150sv00001048sd00000C50*
- ID_PRODUCT_FROM_DATABASE=Gladiac
-
-pci:v000010DEd00000150sv00001048sd00000C52*
- ID_PRODUCT_FROM_DATABASE=Gladiac-64
-
-pci:v000010DEd00000150sv0000107Dsd00002840*
- ID_PRODUCT_FROM_DATABASE=WinFast GeForce2 GTS with TV output
-
-pci:v000010DEd00000150sv0000107Dsd00002842*
- ID_PRODUCT_FROM_DATABASE=WinFast GeForce 2 Pro
-
-pci:v000010DEd00000150sv000010DEsd0000002E*
- ID_PRODUCT_FROM_DATABASE=GeForce2 GTS
-
-pci:v000010DEd00000150sv00001462sd00008831*
- ID_PRODUCT_FROM_DATABASE=Creative GeForce2 Pro
-
-pci:v000010DEd00000151*
- ID_PRODUCT_FROM_DATABASE=NV15DDR [GeForce2 Ti]
-
-pci:v000010DEd00000151sv00001043sd0000405F*
- ID_PRODUCT_FROM_DATABASE=V7700Ti
-
-pci:v000010DEd00000151sv00001462sd00005506*
- ID_PRODUCT_FROM_DATABASE=Creative 3D Blaster GeForce2 Titanium
-
-pci:v000010DEd00000152*
- ID_PRODUCT_FROM_DATABASE=NV15BR [GeForce2 Ultra, Bladerunner]
-
-pci:v000010DEd00000152sv00001048sd00000C56*
- ID_PRODUCT_FROM_DATABASE=GLADIAC Ultra
-
-pci:v000010DEd00000153*
- ID_PRODUCT_FROM_DATABASE=NV15GL [Quadro2 Pro]
-
-pci:v000010DEd00000160*
- ID_PRODUCT_FROM_DATABASE=NV44 [GeForce 6500]
-
-pci:v000010DEd00000161*
- ID_PRODUCT_FROM_DATABASE=NV44 [GeForce 6200 TurboCache(TM)]
-
-pci:v000010DEd00000162*
- ID_PRODUCT_FROM_DATABASE=NV44 [GeForce 6200SE TurboCache (TM)]
-
-pci:v000010DEd00000163*
- ID_PRODUCT_FROM_DATABASE=NV44 [GeForce 6200 LE]
-
-pci:v000010DEd00000164*
- ID_PRODUCT_FROM_DATABASE=NV44 [GeForce Go 6200]
-
-pci:v000010DEd00000165*
- ID_PRODUCT_FROM_DATABASE=NV44 [Quadro NVS 285]
-
-pci:v000010DEd00000166*
- ID_PRODUCT_FROM_DATABASE=NV44 [GeForce Go 6400]
-
-pci:v000010DEd00000167*
- ID_PRODUCT_FROM_DATABASE=NV44 [GeForce Go 6200]
-
-pci:v000010DEd00000168*
- ID_PRODUCT_FROM_DATABASE=NV44 [GeForce Go 6400]
-
-pci:v000010DEd00000169*
- ID_PRODUCT_FROM_DATABASE=NV44 [GeForce 6250]
-
-pci:v000010DEd0000016A*
- ID_PRODUCT_FROM_DATABASE=NV44 [GeForce 7100 GS]
-
-pci:v000010DEd00000170*
- ID_PRODUCT_FROM_DATABASE=NV17 [GeForce4 MX 460]
-
-pci:v000010DEd00000171*
- ID_PRODUCT_FROM_DATABASE=NV17 [GeForce4 MX 440]
-
-pci:v000010DEd00000171sv000010B0sd00000002*
- ID_PRODUCT_FROM_DATABASE=Gainward Pro/600 TV
-
-pci:v000010DEd00000171sv000010DEsd00000008*
- ID_PRODUCT_FROM_DATABASE=Apple OEM GeForce4 MX 440
-
-pci:v000010DEd00000171sv00001462sd00008661*
- ID_PRODUCT_FROM_DATABASE=G4MX440-VTP
-
-pci:v000010DEd00000171sv00001462sd00008730*
- ID_PRODUCT_FROM_DATABASE=MX440SES-T (MS-8873)
-
-pci:v000010DEd00000171sv00001462sd00008852*
- ID_PRODUCT_FROM_DATABASE=GeForce4 MX440 PCI
-
-pci:v000010DEd00000171sv0000147Bsd00008F00*
- ID_PRODUCT_FROM_DATABASE=Abit Siluro GeForce4MX440
-
-pci:v000010DEd00000172*
- ID_PRODUCT_FROM_DATABASE=NV17 [GeForce4 MX 420]
-
-pci:v000010DEd00000173*
- ID_PRODUCT_FROM_DATABASE=NV17 [GeForce4 MX 440-SE]
-
-pci:v000010DEd00000174*
- ID_PRODUCT_FROM_DATABASE=NV17 [GeForce4 440 Go]
-
-pci:v000010DEd00000175*
- ID_PRODUCT_FROM_DATABASE=NV17 [GeForce4 420 Go]
-
-pci:v000010DEd00000176*
- ID_PRODUCT_FROM_DATABASE=NV17 [GeForce4 420 Go 32M]
-
-pci:v000010DEd00000176sv0000103Csd000008B0*
- ID_PRODUCT_FROM_DATABASE=tc1100 tablet
-
-pci:v000010DEd00000176sv0000144Dsd0000C005*
- ID_PRODUCT_FROM_DATABASE=X10 Laptop
-
-pci:v000010DEd00000176sv00004C53sd00001090*
- ID_PRODUCT_FROM_DATABASE=Cx9 / Vx9 mainboard
-
-pci:v000010DEd00000177*
- ID_PRODUCT_FROM_DATABASE=NV17 [GeForce4 460 Go]
-
-pci:v000010DEd00000178*
- ID_PRODUCT_FROM_DATABASE=NV17GL [Quadro4 550 XGL]
-
-pci:v000010DEd00000179*
- ID_PRODUCT_FROM_DATABASE=NV17 [GeForce4 440 Go 64M]
-
-pci:v000010DEd00000179sv000010DEsd00000179*
- ID_PRODUCT_FROM_DATABASE=GeForce4 MX (Mac)
-
-pci:v000010DEd0000017A*
- ID_PRODUCT_FROM_DATABASE=NV17GL [Quadro NVS]
-
-pci:v000010DEd0000017B*
- ID_PRODUCT_FROM_DATABASE=NV17GL [Quadro4 550 XGL]
-
-pci:v000010DEd0000017C*
- ID_PRODUCT_FROM_DATABASE=NV17GL [Quadro4 500 GoGL]
-
-pci:v000010DEd0000017D*
- ID_PRODUCT_FROM_DATABASE=NV17 [GeForce4 410 Go 16M]
-
-pci:v000010DEd00000181*
- ID_PRODUCT_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x]
-
-pci:v000010DEd00000181sv00001043sd00008063*
- ID_PRODUCT_FROM_DATABASE=GeForce4 MX 440 AGP 8X
-
-pci:v000010DEd00000181sv00001043sd0000806F*
- ID_PRODUCT_FROM_DATABASE=V9180 Magic
-
-pci:v000010DEd00000181sv00001462sd00008880*
- ID_PRODUCT_FROM_DATABASE=MS-StarForce GeForce4 MX 440 with AGP8X
-
-pci:v000010DEd00000181sv00001462sd00008900*
- ID_PRODUCT_FROM_DATABASE=MS-8890 GeForce 4 MX440 AGP8X
-
-pci:v000010DEd00000181sv00001462sd00009350*
- ID_PRODUCT_FROM_DATABASE=MSI GeForce4 MX T8X with AGP8X
-
-pci:v000010DEd00000181sv0000147Bsd00008F0D*
- ID_PRODUCT_FROM_DATABASE=Siluro GF4 MX-8X
-
-pci:v000010DEd00000181sv00001554sd00001111*
- ID_PRODUCT_FROM_DATABASE=PixelView MVGA-NVG18A
-
-pci:v000010DEd00000182*
- ID_PRODUCT_FROM_DATABASE=NV18 [GeForce4 MX 440SE AGP 8x]
-
-pci:v000010DEd00000183*
- ID_PRODUCT_FROM_DATABASE=NV18 [GeForce4 MX 420 AGP 8x]
-
-pci:v000010DEd00000184*
- ID_PRODUCT_FROM_DATABASE=NV18 [GeForce4 MX]
-
-pci:v000010DEd00000185*
- ID_PRODUCT_FROM_DATABASE=NV18 [GeForce4 MX 4000]
-
-pci:v000010DEd00000186*
- ID_PRODUCT_FROM_DATABASE=NV18M [GeForce4 448 Go]
-
-pci:v000010DEd00000187*
- ID_PRODUCT_FROM_DATABASE=NV18M [GeForce4 488 Go]
-
-pci:v000010DEd00000188*
- ID_PRODUCT_FROM_DATABASE=NV18GL [Quadro4 580 XGL]
-
-pci:v000010DEd00000189*
- ID_PRODUCT_FROM_DATABASE=NV18 [GeForce4 MX with AGP8X (Mac)]
-
-pci:v000010DEd0000018A*
- ID_PRODUCT_FROM_DATABASE=NV18GL [Quadro NVS 280 SD]
-
-pci:v000010DEd0000018B*
- ID_PRODUCT_FROM_DATABASE=NV18GL [Quadro4 380 XGL]
-
-pci:v000010DEd0000018C*
- ID_PRODUCT_FROM_DATABASE=NV18GL [Quadro NVS 50 PCI]
-
-pci:v000010DEd0000018D*
- ID_PRODUCT_FROM_DATABASE=NV18M [GeForce4 448 Go]
-
-pci:v000010DEd00000191*
- ID_PRODUCT_FROM_DATABASE=G80 [GeForce 8800 GTX]
-
-pci:v000010DEd00000193*
- ID_PRODUCT_FROM_DATABASE=G80 [GeForce 8800 GTS]
-
-pci:v000010DEd00000193sv0000107Dsd000020BD*
- ID_PRODUCT_FROM_DATABASE=WinFast PX 8800 GTS TDH
-
-pci:v000010DEd00000194*
- ID_PRODUCT_FROM_DATABASE=G80 [GeForce 8800 Ultra]
-
-pci:v000010DEd00000197*
- ID_PRODUCT_FROM_DATABASE=G80 [Tesla C870]
-
-pci:v000010DEd0000019D*
- ID_PRODUCT_FROM_DATABASE=G80 [Quadro FX 5600]
-
-pci:v000010DEd0000019E*
- ID_PRODUCT_FROM_DATABASE=G80 [Quadro FX 4600]
-
-pci:v000010DEd000001A0*
- ID_PRODUCT_FROM_DATABASE=nForce 220/420 NV11 [GeForce2 MX]
-
-pci:v000010DEd000001A4*
- ID_PRODUCT_FROM_DATABASE=nForce CPU bridge
-
-pci:v000010DEd000001AB*
- ID_PRODUCT_FROM_DATABASE=nForce 420 Memory Controller (DDR)
-
-pci:v000010DEd000001AC*
- ID_PRODUCT_FROM_DATABASE=nForce 220/420 Memory Controller
-
-pci:v000010DEd000001AD*
- ID_PRODUCT_FROM_DATABASE=nForce 220/420 Memory Controller
-
-pci:v000010DEd000001B0*
- ID_PRODUCT_FROM_DATABASE=nForce Audio Processing Unit
-
-pci:v000010DEd000001B1*
- ID_PRODUCT_FROM_DATABASE=nForce AC'97 Audio Controller
-
-pci:v000010DEd000001B2*
- ID_PRODUCT_FROM_DATABASE=nForce ISA Bridge
-
-pci:v000010DEd000001B4*
- ID_PRODUCT_FROM_DATABASE=nForce PCI System Management
-
-pci:v000010DEd000001B7*
- ID_PRODUCT_FROM_DATABASE=nForce AGP to PCI Bridge
-
-pci:v000010DEd000001B8*
- ID_PRODUCT_FROM_DATABASE=nForce PCI-to-PCI bridge
-
-pci:v000010DEd000001BC*
- ID_PRODUCT_FROM_DATABASE=nForce IDE
-
-pci:v000010DEd000001C1*
- ID_PRODUCT_FROM_DATABASE=nForce AC'97 Modem Controller
-
-pci:v000010DEd000001C2*
- ID_PRODUCT_FROM_DATABASE=nForce USB Controller
-
-pci:v000010DEd000001C3*
- ID_PRODUCT_FROM_DATABASE=nForce Ethernet Controller
-
-pci:v000010DEd000001D0*
- ID_PRODUCT_FROM_DATABASE=G72 [GeForce 7350 LE]
-
-pci:v000010DEd000001D1*
- ID_PRODUCT_FROM_DATABASE=G72 [GeForce 7300 LE]
-
-pci:v000010DEd000001D1sv00001462sd00000345*
- ID_PRODUCT_FROM_DATABASE=7300LE PCI Express Graphics Adapter
-
-pci:v000010DEd000001D2*
- ID_PRODUCT_FROM_DATABASE=G72 [GeForce 7550 LE]
-
-pci:v000010DEd000001D3*
- ID_PRODUCT_FROM_DATABASE=G72 [GeForce 7300 SE/7200 GS]
-
-pci:v000010DEd000001D6*
- ID_PRODUCT_FROM_DATABASE=G72M [GeForce Go 7200]
-
-pci:v000010DEd000001D7*
- ID_PRODUCT_FROM_DATABASE=G72M [Quadro NVS 110M/GeForce Go 7300]
-
-pci:v000010DEd000001D8*
- ID_PRODUCT_FROM_DATABASE=G72M [GeForce Go 7400]
-
-pci:v000010DEd000001D8sv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v000010DEd000001D9*
- ID_PRODUCT_FROM_DATABASE=G72M [GeForce Go 7450]
-
-pci:v000010DEd000001DA*
- ID_PRODUCT_FROM_DATABASE=G72M [Quadro NVS 110M]
-
-pci:v000010DEd000001DB*
- ID_PRODUCT_FROM_DATABASE=G72M [Quadro NVS 120M]
-
-pci:v000010DEd000001DC*
- ID_PRODUCT_FROM_DATABASE=G72GL [Quadro FX 350M]
-
-pci:v000010DEd000001DD*
- ID_PRODUCT_FROM_DATABASE=G72 [GeForce 7500 LE]
-
-pci:v000010DEd000001DE*
- ID_PRODUCT_FROM_DATABASE=G72GL [Quadro FX 350]
-
-pci:v000010DEd000001DEsv000010DEsd000001DC*
- ID_PRODUCT_FROM_DATABASE=Quadro FX Go350M
-
-pci:v000010DEd000001DF*
- ID_PRODUCT_FROM_DATABASE=G71 [GeForce 7300 GS]
-
-pci:v000010DEd000001E0*
- ID_PRODUCT_FROM_DATABASE=nForce2 IGP2
-
-pci:v000010DEd000001E0sv0000147Bsd00001C09*
- ID_PRODUCT_FROM_DATABASE=NV7 Motherboard
-
-pci:v000010DEd000001E8*
- ID_PRODUCT_FROM_DATABASE=nForce2 AGP
-
-pci:v000010DEd000001EA*
- ID_PRODUCT_FROM_DATABASE=nForce2 Memory Controller 0
-
-pci:v000010DEd000001EAsv0000A0A0sd000003B9*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd000001EB*
- ID_PRODUCT_FROM_DATABASE=nForce2 Memory Controller 1
-
-pci:v000010DEd000001EBsv0000A0A0sd000003B9*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd000001EC*
- ID_PRODUCT_FROM_DATABASE=nForce2 Memory Controller 2
-
-pci:v000010DEd000001ECsv0000A0A0sd000003B9*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd000001ED*
- ID_PRODUCT_FROM_DATABASE=nForce2 Memory Controller 3
-
-pci:v000010DEd000001EDsv0000A0A0sd000003B9*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd000001EE*
- ID_PRODUCT_FROM_DATABASE=nForce2 Memory Controller 4
-
-pci:v000010DEd000001EEsv000010DEsd000001EE*
- ID_PRODUCT_FROM_DATABASE=MSI Delta-L nForce2 memory controller
-
-pci:v000010DEd000001EEsv0000A0A0sd000003B9*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd000001EF*
- ID_PRODUCT_FROM_DATABASE=nForce2 Memory Controller 5
-
-pci:v000010DEd000001EFsv0000A0A0sd000003B9*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd000001F0*
- ID_PRODUCT_FROM_DATABASE=NV18 [GeForce4 MX - nForce GPU]
-
-pci:v000010DEd000001F0sv0000A0A0sd000003B5*
- ID_PRODUCT_FROM_DATABASE=UK79G-1394 motherboard
-
-pci:v000010DEd00000200*
- ID_PRODUCT_FROM_DATABASE=NV20 [GeForce3]
-
-pci:v000010DEd00000200sv00001043sd0000402F*
- ID_PRODUCT_FROM_DATABASE=AGP-V8200 DDR
-
-pci:v000010DEd00000200sv00001048sd00000C70*
- ID_PRODUCT_FROM_DATABASE=GLADIAC 920
-
-pci:v000010DEd00000201*
- ID_PRODUCT_FROM_DATABASE=NV20 [GeForce3 Ti 200]
-
-pci:v000010DEd00000202*
- ID_PRODUCT_FROM_DATABASE=NV20 [GeForce3 Ti 500]
-
-pci:v000010DEd00000202sv00001043sd0000405B*
- ID_PRODUCT_FROM_DATABASE=V8200 T5
-
-pci:v000010DEd00000202sv00001545sd0000002F*
- ID_PRODUCT_FROM_DATABASE=Xtasy 6964
-
-pci:v000010DEd00000203*
- ID_PRODUCT_FROM_DATABASE=NV20DCC [Quadro DCC]
-
-pci:v000010DEd00000211*
- ID_PRODUCT_FROM_DATABASE=NV48 [GeForce 6800]
-
-pci:v000010DEd00000212*
- ID_PRODUCT_FROM_DATABASE=NV48 [GeForce 6800 LE]
-
-pci:v000010DEd00000215*
- ID_PRODUCT_FROM_DATABASE=NV48 [GeForce 6800 GT]
-
-pci:v000010DEd00000218*
- ID_PRODUCT_FROM_DATABASE=NV48 [GeForce 6800 XT]
-
-pci:v000010DEd00000221*
- ID_PRODUCT_FROM_DATABASE=NV44A [GeForce 6200]
-
-pci:v000010DEd00000221sv00001043sd000081E1*
- ID_PRODUCT_FROM_DATABASE=N6200/TD/256M/A
-
-pci:v000010DEd00000221sv00003842sd0000A341*
- ID_PRODUCT_FROM_DATABASE=256A8N341DX
-
-pci:v000010DEd00000222*
- ID_PRODUCT_FROM_DATABASE=NV44 [GeForce 6200 A-LE]
-
-pci:v000010DEd00000240*
- ID_PRODUCT_FROM_DATABASE=C51PV [GeForce 6150]
-
-pci:v000010DEd00000240sv00001043sd000081CD*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM
-
-pci:v000010DEd00000240sv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd00000241*
- ID_PRODUCT_FROM_DATABASE=C51 [GeForce 6150 LE]
-
-pci:v000010DEd00000242*
- ID_PRODUCT_FROM_DATABASE=C51G [GeForce 6100]
-
-pci:v000010DEd00000242sv0000105Bsd00000CAD*
- ID_PRODUCT_FROM_DATABASE=Winfast 6100K8MB
-
-pci:v000010DEd00000243*
- ID_PRODUCT_FROM_DATABASE=C51 PCI Express Bridge
-
-pci:v000010DEd00000244*
- ID_PRODUCT_FROM_DATABASE=C51 [GeForce Go 6150]
-
-pci:v000010DEd00000244sv0000103Csd000030B5*
- ID_PRODUCT_FROM_DATABASE=Presario V3242AU
-
-pci:v000010DEd00000244sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd00000244sv000010DEsd00000244*
- ID_PRODUCT_FROM_DATABASE=GeForce Go 6150
-
-pci:v000010DEd00000245*
- ID_PRODUCT_FROM_DATABASE=C51 [Quadro NVS 210S/GeForce 6150LE]
-
-pci:v000010DEd00000246*
- ID_PRODUCT_FROM_DATABASE=C51 PCI Express Bridge
-
-pci:v000010DEd00000247*
- ID_PRODUCT_FROM_DATABASE=C51 [GeForce Go 6100]
-
-pci:v000010DEd00000247sv00001043sd00001382*
- ID_PRODUCT_FROM_DATABASE=MCP51 PCI-X GeForce Go 6100
-
-pci:v000010DEd00000248*
- ID_PRODUCT_FROM_DATABASE=C51 PCI Express Bridge
-
-pci:v000010DEd00000249*
- ID_PRODUCT_FROM_DATABASE=C51 PCI Express Bridge
-
-pci:v000010DEd0000024A*
- ID_PRODUCT_FROM_DATABASE=C51 PCI Express Bridge
-
-pci:v000010DEd0000024B*
- ID_PRODUCT_FROM_DATABASE=C51 PCI Express Bridge
-
-pci:v000010DEd0000024C*
- ID_PRODUCT_FROM_DATABASE=C51 PCI Express Bridge
-
-pci:v000010DEd0000024D*
- ID_PRODUCT_FROM_DATABASE=C51 PCI Express Bridge
-
-pci:v000010DEd0000024E*
- ID_PRODUCT_FROM_DATABASE=C51 PCI Express Bridge
-
-pci:v000010DEd0000024F*
- ID_PRODUCT_FROM_DATABASE=C51 PCI Express Bridge
-
-pci:v000010DEd00000250*
- ID_PRODUCT_FROM_DATABASE=NV25 [GeForce4 Ti 4600]
-
-pci:v000010DEd00000251*
- ID_PRODUCT_FROM_DATABASE=NV25 [GeForce4 Ti 4400]
-
-pci:v000010DEd00000251sv00001043sd00008023*
- ID_PRODUCT_FROM_DATABASE=v8440 GeForce 4 Ti4400
-
-pci:v000010DEd00000251sv000010DEsd00000251*
- ID_PRODUCT_FROM_DATABASE=PNY GeForce4 Ti 4400
-
-pci:v000010DEd00000251sv00001462sd00008710*
- ID_PRODUCT_FROM_DATABASE=PNY GeForce4 Ti 4400
-
-pci:v000010DEd00000252*
- ID_PRODUCT_FROM_DATABASE=NV25 [GeForce4 Ti]
-
-pci:v000010DEd00000253*
- ID_PRODUCT_FROM_DATABASE=NV25 [GeForce4 Ti 4200]
-
-pci:v000010DEd00000253sv0000107Dsd00002896*
- ID_PRODUCT_FROM_DATABASE=WinFast A250 LE TD (Dual VGA/TV-out/DVI)
-
-pci:v000010DEd00000253sv0000147Bsd00008F09*
- ID_PRODUCT_FROM_DATABASE=Siluro (Dual VGA/TV-out/DVI)
-
-pci:v000010DEd00000258*
- ID_PRODUCT_FROM_DATABASE=NV25GL [Quadro4 900 XGL]
-
-pci:v000010DEd00000259*
- ID_PRODUCT_FROM_DATABASE=NV25GL [Quadro4 750 XGL]
-
-pci:v000010DEd0000025B*
- ID_PRODUCT_FROM_DATABASE=NV25GL [Quadro4 700 XGL]
-
-pci:v000010DEd00000260*
- ID_PRODUCT_FROM_DATABASE=MCP51 LPC Bridge
-
-pci:v000010DEd00000260sv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd00000260sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd00000260sv00001043sd000081BC*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd00000260sv00001458sd00005001*
- ID_PRODUCT_FROM_DATABASE=GA-M55plus-S3G
-
-pci:v000010DEd00000260sv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd00000261*
- ID_PRODUCT_FROM_DATABASE=MCP51 LPC Bridge
-
-pci:v000010DEd00000261sv0000105Bsd00000CAD*
- ID_PRODUCT_FROM_DATABASE=Winfast 6100K8MB
-
-pci:v000010DEd00000262*
- ID_PRODUCT_FROM_DATABASE=MCP51 LPC Bridge
-
-pci:v000010DEd00000263*
- ID_PRODUCT_FROM_DATABASE=MCP51 LPC Bridge
-
-pci:v000010DEd00000264*
- ID_PRODUCT_FROM_DATABASE=MCP51 SMBus
-
-pci:v000010DEd00000264sv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd00000264sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd00000264sv00001043sd000081BC*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd00000264sv0000105Bsd00000CAD*
- ID_PRODUCT_FROM_DATABASE=Winfast 6100K8MB
-
-pci:v000010DEd00000264sv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd00000265*
- ID_PRODUCT_FROM_DATABASE=MCP51 IDE
-
-pci:v000010DEd00000265sv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd00000265sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd00000265sv00001043sd000081BC*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd00000265sv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd00000265sv0000F05Bsd00000CAD*
- ID_PRODUCT_FROM_DATABASE=Winfast 6100K8MB
-
-pci:v000010DEd00000266*
- ID_PRODUCT_FROM_DATABASE=MCP51 Serial ATA Controller
-
-pci:v000010DEd00000266sv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd00000266sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd00000266sv00001043sd000081BC*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd00000266sv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd00000267*
- ID_PRODUCT_FROM_DATABASE=MCP51 Serial ATA Controller
-
-pci:v000010DEd00000267sv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd00000267sv00001043sd000081BC*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd00000267sv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd00000268*
- ID_PRODUCT_FROM_DATABASE=MCP51 Ethernet Controller
-
-pci:v000010DEd00000269*
- ID_PRODUCT_FROM_DATABASE=MCP51 Ethernet Controller
-
-pci:v000010DEd00000269sv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd00000269sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd00000269sv00001043sd00008141*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd00000269sv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd0000026A*
- ID_PRODUCT_FROM_DATABASE=MCP51 MCI
-
-pci:v000010DEd0000026B*
- ID_PRODUCT_FROM_DATABASE=MCP51 AC97 Audio Controller
-
-pci:v000010DEd0000026Bsv0000105Bsd00000CAD*
- ID_PRODUCT_FROM_DATABASE=Winfast 6100K8MB
-
-pci:v000010DEd0000026C*
- ID_PRODUCT_FROM_DATABASE=MCP51 High Definition Audio
-
-pci:v000010DEd0000026Csv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd0000026Csv0000103Csd000030B5*
- ID_PRODUCT_FROM_DATABASE=Presario V3242AU
-
-pci:v000010DEd0000026Csv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd0000026Csv000010DEsd0000CB84*
- ID_PRODUCT_FROM_DATABASE=ASUSTeK Computer Inc. A8N-VM CSM Mainboard
-
-pci:v000010DEd0000026Csv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd0000026D*
- ID_PRODUCT_FROM_DATABASE=MCP51 USB Controller
-
-pci:v000010DEd0000026Dsv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd0000026Dsv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd0000026Dsv00001043sd000081BC*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd0000026Dsv0000105Bsd00000CAD*
- ID_PRODUCT_FROM_DATABASE=Winfast 6100K8MB
-
-pci:v000010DEd0000026Dsv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd0000026E*
- ID_PRODUCT_FROM_DATABASE=MCP51 USB Controller
-
-pci:v000010DEd0000026Esv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd0000026Esv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd0000026Esv00001043sd000081BC*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd0000026Esv0000105Bsd00000CAD*
- ID_PRODUCT_FROM_DATABASE=Winfast 6100K8MB
-
-pci:v000010DEd0000026Esv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd0000026F*
- ID_PRODUCT_FROM_DATABASE=MCP51 PCI Bridge
-
-pci:v000010DEd0000026Fsv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd00000270*
- ID_PRODUCT_FROM_DATABASE=MCP51 Host Bridge
-
-pci:v000010DEd00000270sv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd00000270sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd00000270sv00001043sd000081BC*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd00000270sv0000105Bsd00000CAD*
- ID_PRODUCT_FROM_DATABASE=Winfast 6100K8MB
-
-pci:v000010DEd00000270sv00001458sd00005001*
- ID_PRODUCT_FROM_DATABASE=GA-M55plus-S3G
-
-pci:v000010DEd00000270sv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd00000271*
- ID_PRODUCT_FROM_DATABASE=MCP51 PMU
-
-pci:v000010DEd00000271sv0000103Csd000030B5*
- ID_PRODUCT_FROM_DATABASE=Presario V3242AU
-
-pci:v000010DEd00000271sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd00000272*
- ID_PRODUCT_FROM_DATABASE=MCP51 Memory Controller 0
-
-pci:v000010DEd00000272sv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd00000272sv0000105Bsd00000CAD*
- ID_PRODUCT_FROM_DATABASE=Winfast 6100K8MB
-
-pci:v000010DEd0000027E*
- ID_PRODUCT_FROM_DATABASE=C51 Memory Controller 2
-
-pci:v000010DEd0000027Esv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd0000027Esv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd0000027Esv00001043sd000081CD*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd0000027Esv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-M55plus-S3G
-
-pci:v000010DEd0000027Esv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd0000027F*
- ID_PRODUCT_FROM_DATABASE=C51 Memory Controller 3
-
-pci:v000010DEd0000027Fsv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd0000027Fsv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd0000027Fsv00001043sd000081CD*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd0000027Fsv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-M55plus-S3G
-
-pci:v000010DEd0000027Fsv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd00000280*
- ID_PRODUCT_FROM_DATABASE=NV28 [GeForce4 Ti 4800]
-
-pci:v000010DEd00000281*
- ID_PRODUCT_FROM_DATABASE=NV28 [GeForce4 Ti 4200 AGP 8x]
-
-pci:v000010DEd00000282*
- ID_PRODUCT_FROM_DATABASE=NV28 [GeForce4 Ti 4800 SE]
-
-pci:v000010DEd00000286*
- ID_PRODUCT_FROM_DATABASE=NV28 [GeForce4 Ti 4200 Go AGP 8x]
-
-pci:v000010DEd00000288*
- ID_PRODUCT_FROM_DATABASE=NV28GL [Quadro4 980 XGL]
-
-pci:v000010DEd00000289*
- ID_PRODUCT_FROM_DATABASE=NV28GL [Quadro4 780 XGL]
-
-pci:v000010DEd0000028C*
- ID_PRODUCT_FROM_DATABASE=NV28GLM [Quadro4 Go700]
-
-pci:v000010DEd00000290*
- ID_PRODUCT_FROM_DATABASE=G71 [GeForce 7900 GTX]
-
-pci:v000010DEd00000291*
- ID_PRODUCT_FROM_DATABASE=G71 [GeForce 7900 GT/GTO]
-
-pci:v000010DEd00000291sv000010DEsd0000042B*
- ID_PRODUCT_FROM_DATABASE=NX7900GTO-T2D512E [7900 GTO]
-
-pci:v000010DEd00000292*
- ID_PRODUCT_FROM_DATABASE=G71 [GeForce 7900 GS]
-
-pci:v000010DEd00000293*
- ID_PRODUCT_FROM_DATABASE=G71 [GeForce 7900 GX2]
-
-pci:v000010DEd00000294*
- ID_PRODUCT_FROM_DATABASE=G71 [GeForce 7950 GX2]
-
-pci:v000010DEd00000295*
- ID_PRODUCT_FROM_DATABASE=G71 [GeForce 7950 GT]
-
-pci:v000010DEd00000295sv00001043sd00008225*
- ID_PRODUCT_FROM_DATABASE=GeForce 7950 GT
-
-pci:v000010DEd00000295sv0000107Dsd00002A68*
- ID_PRODUCT_FROM_DATABASE=WinFast PX7950GT TDH
-
-pci:v000010DEd00000295sv00001462sd00000663*
- ID_PRODUCT_FROM_DATABASE=NX7950GT-VT2D512EZ-HD
-
-pci:v000010DEd00000297*
- ID_PRODUCT_FROM_DATABASE=G71 [GeForce Go 7950 GTX]
-
-pci:v000010DEd00000298*
- ID_PRODUCT_FROM_DATABASE=G71 [GeForce Go 7900 GS]
-
-pci:v000010DEd00000299*
- ID_PRODUCT_FROM_DATABASE=G71 [GeForce Go 7900 GTX]
-
-pci:v000010DEd0000029A*
- ID_PRODUCT_FROM_DATABASE=G71 [Quadro FX 2500M]
-
-pci:v000010DEd0000029B*
- ID_PRODUCT_FROM_DATABASE=G71 [Quadro FX 1500M]
-
-pci:v000010DEd0000029C*
- ID_PRODUCT_FROM_DATABASE=G71 [Quadro FX 5500]
-
-pci:v000010DEd0000029D*
- ID_PRODUCT_FROM_DATABASE=G71GL [Quadro FX 3500]
-
-pci:v000010DEd0000029E*
- ID_PRODUCT_FROM_DATABASE=G71 [Quadro FX 1500]
-
-pci:v000010DEd0000029F*
- ID_PRODUCT_FROM_DATABASE=G70 [Quadro FX 4500 X2]
-
-pci:v000010DEd000002A0*
- ID_PRODUCT_FROM_DATABASE=NV2A [XGPU]
-
-pci:v000010DEd000002A5*
- ID_PRODUCT_FROM_DATABASE=MCPX CPU Bridge
-
-pci:v000010DEd000002A6*
- ID_PRODUCT_FROM_DATABASE=MCPX Memory Controller
-
-pci:v000010DEd000002E0*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce 7600 GT]
-
-pci:v000010DEd000002E0sv000002E0sd00002249*
- ID_PRODUCT_FROM_DATABASE=GF 7600GT 560M 256MB DDR3 DUAL DVI TV
-
-pci:v000010DEd000002E1*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce 7600 GS]
-
-pci:v000010DEd000002E1sv00001682sd0000222B*
- ID_PRODUCT_FROM_DATABASE=PV-T73K-UAL3 (256MB)
-
-pci:v000010DEd000002E1sv00001682sd00002247*
- ID_PRODUCT_FROM_DATABASE=GF 7600GS 512MB DDR2
-
-pci:v000010DEd000002E2*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce 7300 GT]
-
-pci:v000010DEd000002E3*
- ID_PRODUCT_FROM_DATABASE=G71 [GeForce 7900 GS]
-
-pci:v000010DEd000002E4*
- ID_PRODUCT_FROM_DATABASE=G71 [GeForce 7950 GT]
-
-pci:v000010DEd000002E4sv00001682sd00002271*
- ID_PRODUCT_FROM_DATABASE=PV-T71A-YDF7 (512MB)
-
-pci:v000010DEd000002F0*
- ID_PRODUCT_FROM_DATABASE=C51 Host Bridge
-
-pci:v000010DEd000002F0sv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd000002F0sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd000002F0sv00001043sd000081CD*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd000002F0sv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd000002F1*
- ID_PRODUCT_FROM_DATABASE=C51 Host Bridge
-
-pci:v000010DEd000002F1sv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-M55plus-S3G
-
-pci:v000010DEd000002F2*
- ID_PRODUCT_FROM_DATABASE=C51 Host Bridge
-
-pci:v000010DEd000002F3*
- ID_PRODUCT_FROM_DATABASE=C51 Host Bridge
-
-pci:v000010DEd000002F4*
- ID_PRODUCT_FROM_DATABASE=C51 Host Bridge
-
-pci:v000010DEd000002F5*
- ID_PRODUCT_FROM_DATABASE=C51 Host Bridge
-
-pci:v000010DEd000002F6*
- ID_PRODUCT_FROM_DATABASE=C51 Host Bridge
-
-pci:v000010DEd000002F7*
- ID_PRODUCT_FROM_DATABASE=C51 Host Bridge
-
-pci:v000010DEd000002F8*
- ID_PRODUCT_FROM_DATABASE=C51 Memory Controller 5
-
-pci:v000010DEd000002F8sv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd000002F8sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd000002F8sv00001043sd000081CD*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd000002F8sv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-M55plus-S3G
-
-pci:v000010DEd000002F8sv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd000002F9*
- ID_PRODUCT_FROM_DATABASE=C51 Memory Controller 4
-
-pci:v000010DEd000002F9sv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd000002F9sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd000002F9sv00001043sd000081CD*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd000002F9sv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-M55plus-S3G
-
-pci:v000010DEd000002F9sv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd000002FA*
- ID_PRODUCT_FROM_DATABASE=C51 Memory Controller 0
-
-pci:v000010DEd000002FAsv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd000002FAsv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd000002FAsv00001043sd000081CD*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd000002FAsv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-M55plus-S3G
-
-pci:v000010DEd000002FAsv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd000002FB*
- ID_PRODUCT_FROM_DATABASE=C51 PCI Express Bridge
-
-pci:v000010DEd000002FC*
- ID_PRODUCT_FROM_DATABASE=C51 PCI Express Bridge
-
-pci:v000010DEd000002FCsv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd000002FD*
- ID_PRODUCT_FROM_DATABASE=C51 PCI Express Bridge
-
-pci:v000010DEd000002FDsv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd000002FE*
- ID_PRODUCT_FROM_DATABASE=C51 Memory Controller 1
-
-pci:v000010DEd000002FEsv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd000002FEsv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd000002FEsv00001043sd000081CD*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd000002FEsv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-M55plus-S3G
-
-pci:v000010DEd000002FEsv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd000002FF*
- ID_PRODUCT_FROM_DATABASE=C51 Host Bridge
-
-pci:v000010DEd000002FFsv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000010DEd000002FFsv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v000010DEd000002FFsv00001043sd000081CD*
- ID_PRODUCT_FROM_DATABASE=A8N-VM CSM Mainboard
-
-pci:v000010DEd000002FFsv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-M55plus-S3G
-
-pci:v000010DEd000002FFsv00001462sd00007207*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series
-
-pci:v000010DEd00000300*
- ID_PRODUCT_FROM_DATABASE=NV30 [GeForce FX]
-
-pci:v000010DEd00000301*
- ID_PRODUCT_FROM_DATABASE=NV30 [GeForce FX 5800 Ultra]
-
-pci:v000010DEd00000302*
- ID_PRODUCT_FROM_DATABASE=NV30 [GeForce FX 5800]
-
-pci:v000010DEd00000308*
- ID_PRODUCT_FROM_DATABASE=NV30GL [Quadro FX 2000]
-
-pci:v000010DEd00000309*
- ID_PRODUCT_FROM_DATABASE=NV30GL [Quadro FX 1000]
-
-pci:v000010DEd00000311*
- ID_PRODUCT_FROM_DATABASE=NV31 [GeForce FX 5600 Ultra]
-
-pci:v000010DEd00000312*
- ID_PRODUCT_FROM_DATABASE=NV31 [GeForce FX 5600]
-
-pci:v000010DEd00000313*
- ID_PRODUCT_FROM_DATABASE=NV31
-
-pci:v000010DEd00000314*
- ID_PRODUCT_FROM_DATABASE=NV31 [GeForce FX 5600XT]
-
-pci:v000010DEd00000314sv00001043sd0000814A*
- ID_PRODUCT_FROM_DATABASE=V9560XT/TD
-
-pci:v000010DEd00000316*
- ID_PRODUCT_FROM_DATABASE=NV31M
-
-pci:v000010DEd00000317*
- ID_PRODUCT_FROM_DATABASE=NV31M Pro
-
-pci:v000010DEd0000031A*
- ID_PRODUCT_FROM_DATABASE=NV31M [GeForce FX Go5600]
-
-pci:v000010DEd0000031B*
- ID_PRODUCT_FROM_DATABASE=NV31M [GeForce FX Go5650]
-
-pci:v000010DEd0000031C*
- ID_PRODUCT_FROM_DATABASE=NV31 [Quadro FX Go700]
-
-pci:v000010DEd0000031D*
- ID_PRODUCT_FROM_DATABASE=NV31GLM
-
-pci:v000010DEd0000031E*
- ID_PRODUCT_FROM_DATABASE=NV31GLM Pro
-
-pci:v000010DEd0000031F*
- ID_PRODUCT_FROM_DATABASE=NV31GLM Pro
-
-pci:v000010DEd00000320*
- ID_PRODUCT_FROM_DATABASE=NV34 [GeForce FX 5200]
-
-pci:v000010DEd00000321*
- ID_PRODUCT_FROM_DATABASE=NV34 [GeForce FX 5200 Ultra]
-
-pci:v000010DEd00000322*
- ID_PRODUCT_FROM_DATABASE=NV34 [GeForce FX 5200]
-
-pci:v000010DEd00000322sv00001043sd000002FB*
- ID_PRODUCT_FROM_DATABASE=V9250 Magic
-
-pci:v000010DEd00000322sv00001043sd00008180*
- ID_PRODUCT_FROM_DATABASE=V9520-X/TD/128M
-
-pci:v000010DEd00000322sv00001462sd00009110*
- ID_PRODUCT_FROM_DATABASE=MS-8911 (FX5200-TD128)
-
-pci:v000010DEd00000322sv00001462sd00009171*
- ID_PRODUCT_FROM_DATABASE=MS-8917 (FX5200-T128)
-
-pci:v000010DEd00000322sv00001462sd00009360*
- ID_PRODUCT_FROM_DATABASE=MS-8936 (FX5200-T128)
-
-pci:v000010DEd00000322sv00001682sd00001351*
- ID_PRODUCT_FROM_DATABASE=GeForce FX 5200
-
-pci:v000010DEd00000323*
- ID_PRODUCT_FROM_DATABASE=NV34 [GeForce FX 5200LE]
-
-pci:v000010DEd00000324*
- ID_PRODUCT_FROM_DATABASE=NV34M [GeForce FX Go5200 64M]
-
-pci:v000010DEd00000324sv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v000010DEd00000324sv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=Pavilion ZD7000 laptop
-
-pci:v000010DEd00000324sv00001071sd00008160*
- ID_PRODUCT_FROM_DATABASE=MIM2000
-
-pci:v000010DEd00000325*
- ID_PRODUCT_FROM_DATABASE=NV34M [GeForce FX Go5250]
-
-pci:v000010DEd00000326*
- ID_PRODUCT_FROM_DATABASE=NV34 [GeForce FX 5500]
-
-pci:v000010DEd00000326sv00001458sd0000310D*
- ID_PRODUCT_FROM_DATABASE=GeForce FX 5500 128 MB
-
-pci:v000010DEd00000326sv00001682sd00002034*
- ID_PRODUCT_FROM_DATABASE=GeForce 5500 256 MB
-
-pci:v000010DEd00000327*
- ID_PRODUCT_FROM_DATABASE=NV34 [GeForce FX 5100]
-
-pci:v000010DEd00000328*
- ID_PRODUCT_FROM_DATABASE=NV34M [GeForce FX Go5200 32M/64M]
-
-pci:v000010DEd00000329*
- ID_PRODUCT_FROM_DATABASE=NV34M [GeForce FX Go5200]
-
-pci:v000010DEd00000329sv000010DEsd00000010*
- ID_PRODUCT_FROM_DATABASE=Powerbook G4
-
-pci:v000010DEd0000032A*
- ID_PRODUCT_FROM_DATABASE=NV34GL [Quadro NVS 280 PCI]
-
-pci:v000010DEd0000032B*
- ID_PRODUCT_FROM_DATABASE=NV34GL [Quadro FX 500/600 PCI]
-
-pci:v000010DEd0000032C*
- ID_PRODUCT_FROM_DATABASE=NV34GLM [GeForce FX Go 5300]
-
-pci:v000010DEd0000032D*
- ID_PRODUCT_FROM_DATABASE=NV34 [GeForce FX Go5100]
-
-pci:v000010DEd0000032F*
- ID_PRODUCT_FROM_DATABASE=NV34GL
-
-pci:v000010DEd00000330*
- ID_PRODUCT_FROM_DATABASE=NV35 [GeForce FX 5900 Ultra]
-
-pci:v000010DEd00000330sv00001043sd00008137*
- ID_PRODUCT_FROM_DATABASE=V9950 Ultra / 256 MB
-
-pci:v000010DEd00000331*
- ID_PRODUCT_FROM_DATABASE=NV35 [GeForce FX 5900]
-
-pci:v000010DEd00000331sv00001043sd00008145*
- ID_PRODUCT_FROM_DATABASE=V9950GE
-
-pci:v000010DEd00000332*
- ID_PRODUCT_FROM_DATABASE=NV35 [GeForce FX 5900XT]
-
-pci:v000010DEd00000333*
- ID_PRODUCT_FROM_DATABASE=NV38 [GeForce FX 5950 Ultra]
-
-pci:v000010DEd00000334*
- ID_PRODUCT_FROM_DATABASE=NV35 [GeForce FX 5900ZT]
-
-pci:v000010DEd00000334sv00001462sd00009373*
- ID_PRODUCT_FROM_DATABASE=FX5900ZT-VTD128 (MS-8937)
-
-pci:v000010DEd00000338*
- ID_PRODUCT_FROM_DATABASE=NV35GL [Quadro FX 3000]
-
-pci:v000010DEd0000033F*
- ID_PRODUCT_FROM_DATABASE=NV35GL [Quadro FX 700]
-
-pci:v000010DEd00000341*
- ID_PRODUCT_FROM_DATABASE=NV36.1 [GeForce FX 5700 Ultra]
-
-pci:v000010DEd00000341sv00001462sd00009380*
- ID_PRODUCT_FROM_DATABASE=MS-8938 (FX5700U-TD128)
-
-pci:v000010DEd00000342*
- ID_PRODUCT_FROM_DATABASE=NV36.2 [GeForce FX 5700]
-
-pci:v000010DEd00000343*
- ID_PRODUCT_FROM_DATABASE=NV36 [GeForce FX 5700LE]
-
-pci:v000010DEd00000344*
- ID_PRODUCT_FROM_DATABASE=NV36.4 [GeForce FX 5700VE]
-
-pci:v000010DEd00000345*
- ID_PRODUCT_FROM_DATABASE=NV36.5
-
-pci:v000010DEd00000347*
- ID_PRODUCT_FROM_DATABASE=NV36 [GeForce FX Go5700]
-
-pci:v000010DEd00000347sv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=NX9500
-
-pci:v000010DEd00000348*
- ID_PRODUCT_FROM_DATABASE=NV36 [GeForce FX Go5700]
-
-pci:v000010DEd00000349*
- ID_PRODUCT_FROM_DATABASE=NV36M Pro
-
-pci:v000010DEd0000034B*
- ID_PRODUCT_FROM_DATABASE=NV36MAP
-
-pci:v000010DEd0000034C*
- ID_PRODUCT_FROM_DATABASE=NV36 [Quadro FX Go1000]
-
-pci:v000010DEd0000034E*
- ID_PRODUCT_FROM_DATABASE=NV36GL [Quadro FX 1100]
-
-pci:v000010DEd0000034F*
- ID_PRODUCT_FROM_DATABASE=NV36GL
-
-pci:v000010DEd00000360*
- ID_PRODUCT_FROM_DATABASE=MCP55 LPC Bridge
-
-pci:v000010DEd00000361*
- ID_PRODUCT_FROM_DATABASE=MCP55 LPC Bridge
-
-pci:v000010DEd00000361sv00001028sd00000221*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R805 MCP55 LPC Bridge
-
-pci:v000010DEd00000362*
- ID_PRODUCT_FROM_DATABASE=MCP55 LPC Bridge
-
-pci:v000010DEd00000362sv0000147Bsd00001C24*
- ID_PRODUCT_FROM_DATABASE=KN9 series mainboard
-
-pci:v000010DEd00000363*
- ID_PRODUCT_FROM_DATABASE=MCP55 LPC Bridge
-
-pci:v000010DEd00000364*
- ID_PRODUCT_FROM_DATABASE=MCP55 LPC Bridge
-
-pci:v000010DEd00000364sv00001028sd00000221*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R805 MCP55 LPC Bridge
-
-pci:v000010DEd00000365*
- ID_PRODUCT_FROM_DATABASE=MCP55 LPC Bridge
-
-pci:v000010DEd00000366*
- ID_PRODUCT_FROM_DATABASE=MCP55 LPC Bridge
-
-pci:v000010DEd00000367*
- ID_PRODUCT_FROM_DATABASE=MCP55 LPC Bridge
-
-pci:v000010DEd00000368*
- ID_PRODUCT_FROM_DATABASE=MCP55 SMBus
-
-pci:v000010DEd00000368sv00001028sd0000020C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M605 MCP55 SMBus
-
-pci:v000010DEd00000368sv00001028sd00000221*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R805 MCP55 SMBus
-
-pci:v000010DEd00000368sv0000147Bsd00001C24*
- ID_PRODUCT_FROM_DATABASE=KN9 series mainboard
-
-pci:v000010DEd00000369*
- ID_PRODUCT_FROM_DATABASE=MCP55 Memory Controller
-
-pci:v000010DEd00000369sv0000147Bsd00001C24*
- ID_PRODUCT_FROM_DATABASE=KN9 series mainboard
-
-pci:v000010DEd0000036A*
- ID_PRODUCT_FROM_DATABASE=MCP55 Memory Controller
-
-pci:v000010DEd0000036B*
- ID_PRODUCT_FROM_DATABASE=MCP55 SMU
-
-pci:v000010DEd0000036C*
- ID_PRODUCT_FROM_DATABASE=MCP55 USB Controller
-
-pci:v000010DEd0000036Csv00001028sd0000020C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M605 MCP55 USB Controller
-
-pci:v000010DEd0000036Csv00001028sd00000221*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R805 MCP55 USB Controller
-
-pci:v000010DEd0000036Csv0000147Bsd00001C24*
- ID_PRODUCT_FROM_DATABASE=KN9 series mainboard
-
-pci:v000010DEd0000036D*
- ID_PRODUCT_FROM_DATABASE=MCP55 USB Controller
-
-pci:v000010DEd0000036Dsv00001028sd0000020C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M605 MCP55 USB Controller
-
-pci:v000010DEd0000036Dsv00001028sd00000221*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R805 MCP55 USB Controller
-
-pci:v000010DEd0000036Dsv0000147Bsd00001C24*
- ID_PRODUCT_FROM_DATABASE=KN9 series mainboard
-
-pci:v000010DEd0000036E*
- ID_PRODUCT_FROM_DATABASE=MCP55 IDE
-
-pci:v000010DEd0000036Esv0000147Bsd00001C24*
- ID_PRODUCT_FROM_DATABASE=KN9 series mainboard
-
-pci:v000010DEd00000370*
- ID_PRODUCT_FROM_DATABASE=MCP55 PCI bridge
-
-pci:v000010DEd00000371*
- ID_PRODUCT_FROM_DATABASE=MCP55 High Definition Audio
-
-pci:v000010DEd00000371sv0000147Bsd00001C24*
- ID_PRODUCT_FROM_DATABASE=KN9 series mainboard
-
-pci:v000010DEd00000372*
- ID_PRODUCT_FROM_DATABASE=MCP55 Ethernet
-
-pci:v000010DEd00000373*
- ID_PRODUCT_FROM_DATABASE=MCP55 Ethernet
-
-pci:v000010DEd00000373sv0000147Bsd00001C24*
- ID_PRODUCT_FROM_DATABASE=KN9 series mainboard
-
-pci:v000010DEd00000374*
- ID_PRODUCT_FROM_DATABASE=MCP55 PCI Express bridge
-
-pci:v000010DEd00000375*
- ID_PRODUCT_FROM_DATABASE=MCP55 PCI Express bridge
-
-pci:v000010DEd00000376*
- ID_PRODUCT_FROM_DATABASE=MCP55 PCI Express bridge
-
-pci:v000010DEd00000377*
- ID_PRODUCT_FROM_DATABASE=MCP55 PCI Express bridge
-
-pci:v000010DEd00000378*
- ID_PRODUCT_FROM_DATABASE=MCP55 PCI Express bridge
-
-pci:v000010DEd0000037A*
- ID_PRODUCT_FROM_DATABASE=MCP55 Memory Controller
-
-pci:v000010DEd0000037E*
- ID_PRODUCT_FROM_DATABASE=MCP55 SATA Controller
-
-pci:v000010DEd0000037F*
- ID_PRODUCT_FROM_DATABASE=MCP55 SATA Controller
-
-pci:v000010DEd0000037Fsv00001028sd00000221*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R805 MCP55 SATA Controller
-
-pci:v000010DEd0000037Fsv0000147Bsd00001C24*
- ID_PRODUCT_FROM_DATABASE=KN9 series mainboard
-
-pci:v000010DEd0000038B*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce 7650 GS]
-
-pci:v000010DEd00000390*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce 7650 GS]
-
-pci:v000010DEd00000391*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce 7600 GT]
-
-pci:v000010DEd00000391sv00001458sd00003427*
- ID_PRODUCT_FROM_DATABASE=GV-NX76T128D-RH
-
-pci:v000010DEd00000392*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce 7600 GS]
-
-pci:v000010DEd00000392sv00001462sd00000622*
- ID_PRODUCT_FROM_DATABASE=NX7600GS-T2D256EH
-
-pci:v000010DEd00000393*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce 7300 GT]
-
-pci:v000010DEd00000393sv000010DEsd00000412*
- ID_PRODUCT_FROM_DATABASE=NX7300GT-TD256EH
-
-pci:v000010DEd00000393sv00001462sd00000412*
- ID_PRODUCT_FROM_DATABASE=NX7300GT-TD256EH
-
-pci:v000010DEd00000394*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce 7600 LE]
-
-pci:v000010DEd00000395*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce 7300 GT]
-
-pci:v000010DEd00000397*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce Go 7700]
-
-pci:v000010DEd00000398*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce Go 7600]
-
-pci:v000010DEd00000398sv00001025sd0000006C*
- ID_PRODUCT_FROM_DATABASE=Acer 9814 WKMI
-
-pci:v000010DEd00000399*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce Go 7600 GT]
-
-pci:v000010DEd0000039A*
- ID_PRODUCT_FROM_DATABASE=G73M [Quadro NVS 300M]
-
-pci:v000010DEd0000039B*
- ID_PRODUCT_FROM_DATABASE=G73 [GeForce Go 7900 SE]
-
-pci:v000010DEd0000039C*
- ID_PRODUCT_FROM_DATABASE=G73 [Quadro FX 550M]
-
-pci:v000010DEd0000039Csv000010DEsd0000039C*
- ID_PRODUCT_FROM_DATABASE=Quadro FX 560M
-
-pci:v000010DEd0000039E*
- ID_PRODUCT_FROM_DATABASE=G73GL [Quadro FX 560]
-
-pci:v000010DEd000003A0*
- ID_PRODUCT_FROM_DATABASE=C55 Host Bridge
-
-pci:v000010DEd000003A1*
- ID_PRODUCT_FROM_DATABASE=C55 Host Bridge
-
-pci:v000010DEd000003A2*
- ID_PRODUCT_FROM_DATABASE=C55 Host Bridge
-
-pci:v000010DEd000003A3*
- ID_PRODUCT_FROM_DATABASE=C55 Host Bridge
-
-pci:v000010DEd000003A4*
- ID_PRODUCT_FROM_DATABASE=C55 Host Bridge
-
-pci:v000010DEd000003A5*
- ID_PRODUCT_FROM_DATABASE=C55 Host Bridge
-
-pci:v000010DEd000003A6*
- ID_PRODUCT_FROM_DATABASE=C55 Host Bridge
-
-pci:v000010DEd000003A7*
- ID_PRODUCT_FROM_DATABASE=C55 Host Bridge
-
-pci:v000010DEd000003A8*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003A9*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003AA*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003AB*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003AC*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003AD*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003AE*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003AF*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003B0*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003B1*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003B2*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003B3*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003B4*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003B5*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003B6*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003B7*
- ID_PRODUCT_FROM_DATABASE=C55 PCI Express bridge
-
-pci:v000010DEd000003B8*
- ID_PRODUCT_FROM_DATABASE=C55 PCI Express bridge
-
-pci:v000010DEd000003B9*
- ID_PRODUCT_FROM_DATABASE=C55 PCI Express bridge
-
-pci:v000010DEd000003BA*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003BB*
- ID_PRODUCT_FROM_DATABASE=C55 PCI Express bridge
-
-pci:v000010DEd000003BC*
- ID_PRODUCT_FROM_DATABASE=C55 Memory Controller
-
-pci:v000010DEd000003D0*
- ID_PRODUCT_FROM_DATABASE=C61 [GeForce 6150SE nForce 430]
-
-pci:v000010DEd000003D0sv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003D1*
- ID_PRODUCT_FROM_DATABASE=C61 [GeForce 6100 nForce 405]
-
-pci:v000010DEd000003D2*
- ID_PRODUCT_FROM_DATABASE=C61 [GeForce 6100 nForce 400]
-
-pci:v000010DEd000003D5*
- ID_PRODUCT_FROM_DATABASE=C61 [GeForce 6100 nForce 420]
-
-pci:v000010DEd000003D6*
- ID_PRODUCT_FROM_DATABASE=C61 [GeForce 7025 / nForce 630a]
-
-pci:v000010DEd000003E0*
- ID_PRODUCT_FROM_DATABASE=MCP61 LPC Bridge
-
-pci:v000010DEd000003E0sv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003E0sv00001849sd000003E0*
- ID_PRODUCT_FROM_DATABASE=939NF6G-VSTA Board
-
-pci:v000010DEd000003E1*
- ID_PRODUCT_FROM_DATABASE=MCP61 LPC Bridge
-
-pci:v000010DEd000003E1sv00001043sd000083A4*
- ID_PRODUCT_FROM_DATABASE=M4N68T series motherboard
-
-pci:v000010DEd000003E2*
- ID_PRODUCT_FROM_DATABASE=MCP61 Host Bridge
-
-pci:v000010DEd000003E2sv00001043sd000083A4*
- ID_PRODUCT_FROM_DATABASE=M4N68T series motherboard
-
-pci:v000010DEd000003E3*
- ID_PRODUCT_FROM_DATABASE=MCP61 LPC Bridge
-
-pci:v000010DEd000003E4*
- ID_PRODUCT_FROM_DATABASE=MCP61 High Definition Audio
-
-pci:v000010DEd000003E5*
- ID_PRODUCT_FROM_DATABASE=MCP61 Ethernet
-
-pci:v000010DEd000003E6*
- ID_PRODUCT_FROM_DATABASE=MCP61 Ethernet
-
-pci:v000010DEd000003E7*
- ID_PRODUCT_FROM_DATABASE=MCP61 SATA Controller
-
-pci:v000010DEd000003E8*
- ID_PRODUCT_FROM_DATABASE=MCP61 PCI Express bridge
-
-pci:v000010DEd000003E8sv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003E8sv00001849sd000003E8*
- ID_PRODUCT_FROM_DATABASE=939NF6G-VSTA Board
-
-pci:v000010DEd000003E9*
- ID_PRODUCT_FROM_DATABASE=MCP61 PCI Express bridge
-
-pci:v000010DEd000003E9sv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003E9sv00001849sd000003E9*
- ID_PRODUCT_FROM_DATABASE=939NF6G-VSTA Board
-
-pci:v000010DEd000003EA*
- ID_PRODUCT_FROM_DATABASE=MCP61 Memory Controller
-
-pci:v000010DEd000003EAsv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003EAsv00001849sd000003EA*
- ID_PRODUCT_FROM_DATABASE=939NF6G-VSTA Board
-
-pci:v000010DEd000003EB*
- ID_PRODUCT_FROM_DATABASE=MCP61 SMBus
-
-pci:v000010DEd000003EBsv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003EBsv00001043sd000083A4*
- ID_PRODUCT_FROM_DATABASE=M4N68T series motherboard
-
-pci:v000010DEd000003EBsv00001849sd000003EB*
- ID_PRODUCT_FROM_DATABASE=939NF6G-VSTA Board
-
-pci:v000010DEd000003EC*
- ID_PRODUCT_FROM_DATABASE=MCP61 IDE
-
-pci:v000010DEd000003ECsv00001025sd00000392*
- ID_PRODUCT_FROM_DATABASE=ET1350
-
-pci:v000010DEd000003ECsv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003ECsv00001043sd000083A4*
- ID_PRODUCT_FROM_DATABASE=M4N68T series motherboard
-
-pci:v000010DEd000003ECsv00001849sd000003EC*
- ID_PRODUCT_FROM_DATABASE=939NF6G-VSTA Board
-
-pci:v000010DEd000003EE*
- ID_PRODUCT_FROM_DATABASE=MCP61 Ethernet
-
-pci:v000010DEd000003EF*
- ID_PRODUCT_FROM_DATABASE=MCP61 Ethernet
-
-pci:v000010DEd000003EFsv00001025sd00008000*
- ID_PRODUCT_FROM_DATABASE=ET1350
-
-pci:v000010DEd000003EFsv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003EFsv00001043sd000083A4*
- ID_PRODUCT_FROM_DATABASE=M4N68T series motherboard
-
-pci:v000010DEd000003EFsv00001849sd000003EF*
- ID_PRODUCT_FROM_DATABASE=939NF6G-VSTA Board
-
-pci:v000010DEd000003F0*
- ID_PRODUCT_FROM_DATABASE=MCP61 High Definition Audio
-
-pci:v000010DEd000003F0sv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003F0sv00001043sd00008415*
- ID_PRODUCT_FROM_DATABASE=M4N68T series motherboard
-
-pci:v000010DEd000003F0sv00001849sd00000888*
- ID_PRODUCT_FROM_DATABASE=939NF6G-VSTA Board
-
-pci:v000010DEd000003F1*
- ID_PRODUCT_FROM_DATABASE=MCP61 USB 1.1 Controller
-
-pci:v000010DEd000003F1sv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003F1sv00001043sd000083A4*
- ID_PRODUCT_FROM_DATABASE=M4N68T series motherboard
-
-pci:v000010DEd000003F1sv00001849sd000003F1*
- ID_PRODUCT_FROM_DATABASE=939NF6G-VSTA Board
-
-pci:v000010DEd000003F2*
- ID_PRODUCT_FROM_DATABASE=MCP61 USB 2.0 Controller
-
-pci:v000010DEd000003F2sv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003F2sv00001043sd000083A4*
- ID_PRODUCT_FROM_DATABASE=M4N68T series motherboard
-
-pci:v000010DEd000003F2sv00001849sd000003F2*
- ID_PRODUCT_FROM_DATABASE=939NF6G-VSTA Board
-
-pci:v000010DEd000003F3*
- ID_PRODUCT_FROM_DATABASE=MCP61 PCI bridge
-
-pci:v000010DEd000003F3sv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003F3sv00001849sd000003F3*
- ID_PRODUCT_FROM_DATABASE=939NF6G-VSTA Board
-
-pci:v000010DEd000003F4*
- ID_PRODUCT_FROM_DATABASE=MCP61 SMU
-
-pci:v000010DEd000003F5*
- ID_PRODUCT_FROM_DATABASE=MCP61 Memory Controller
-
-pci:v000010DEd000003F5sv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003F5sv00001043sd000083A4*
- ID_PRODUCT_FROM_DATABASE=M4N68T series motherboard
-
-pci:v000010DEd000003F5sv00001849sd000003EB*
- ID_PRODUCT_FROM_DATABASE=939NF6G-VSTA Board
-
-pci:v000010DEd000003F6*
- ID_PRODUCT_FROM_DATABASE=MCP61 SATA Controller
-
-pci:v000010DEd000003F6sv00001028sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Inspiron 531
-
-pci:v000010DEd000003F6sv00001043sd000083A4*
- ID_PRODUCT_FROM_DATABASE=M4N68T series motherboard
-
-pci:v000010DEd000003F6sv00001849sd000003F6*
- ID_PRODUCT_FROM_DATABASE=939NF6G-VSTA Board
-
-pci:v000010DEd000003F7*
- ID_PRODUCT_FROM_DATABASE=MCP61 SATA Controller
-
-pci:v000010DEd00000400*
- ID_PRODUCT_FROM_DATABASE=G84 [GeForce 8600 GTS]
-
-pci:v000010DEd00000400sv00001043sd00008241*
- ID_PRODUCT_FROM_DATABASE=EN8600GTS
-
-pci:v000010DEd00000401*
- ID_PRODUCT_FROM_DATABASE=G84 [GeForce 8600GT]
-
-pci:v000010DEd00000402*
- ID_PRODUCT_FROM_DATABASE=G84 [GeForce 8600 GT]
-
-pci:v000010DEd00000402sv00001458sd00003455*
- ID_PRODUCT_FROM_DATABASE=GV-NX86T512H
-
-pci:v000010DEd00000402sv00001462sd00000910*
- ID_PRODUCT_FROM_DATABASE=NX8600GT-T2D256EZ
-
-pci:v000010DEd00000403*
- ID_PRODUCT_FROM_DATABASE=G84 [GeForce 8600 GS]
-
-pci:v000010DEd00000404*
- ID_PRODUCT_FROM_DATABASE=G84 [GeForce 8400 GS]
-
-pci:v000010DEd00000404sv00001462sd00001230*
- ID_PRODUCT_FROM_DATABASE=NX8400GS-TD256E
-
-pci:v000010DEd00000405*
- ID_PRODUCT_FROM_DATABASE=G84 [GeForce 9500M GS]
-
-pci:v000010DEd00000406*
- ID_PRODUCT_FROM_DATABASE=G84 [GeForce 8300 GS]
-
-pci:v000010DEd00000407*
- ID_PRODUCT_FROM_DATABASE=G84 [GeForce 8600M GT]
-
-pci:v000010DEd00000408*
- ID_PRODUCT_FROM_DATABASE=G84 [GeForce 9650M GS]
-
-pci:v000010DEd00000409*
- ID_PRODUCT_FROM_DATABASE=G84 [GeForce 8700M GT]
-
-pci:v000010DEd0000040A*
- ID_PRODUCT_FROM_DATABASE=G84 [Quadro FX 370]
-
-pci:v000010DEd0000040B*
- ID_PRODUCT_FROM_DATABASE=G84M [Quadro NVS 320M]
-
-pci:v000010DEd0000040C*
- ID_PRODUCT_FROM_DATABASE=G84M [Quadro FX 570M]
-
-pci:v000010DEd0000040Csv000017AAsd000020D9*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61p
-
-pci:v000010DEd0000040D*
- ID_PRODUCT_FROM_DATABASE=G84 [Quadro FX 1600M]
-
-pci:v000010DEd0000040E*
- ID_PRODUCT_FROM_DATABASE=G84 [Quadro FX 570]
-
-pci:v000010DEd0000040F*
- ID_PRODUCT_FROM_DATABASE=G84 [Quadro FX 1700]
-
-pci:v000010DEd00000410*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce GT 330]
-
-pci:v000010DEd00000420*
- ID_PRODUCT_FROM_DATABASE=G86 [GeForce 8400 SE]
-
-pci:v000010DEd00000421*
- ID_PRODUCT_FROM_DATABASE=G86 [GeForce 8500 GT]
-
-pci:v000010DEd00000421sv00001462sd00000960*
- ID_PRODUCT_FROM_DATABASE=NX8500GT-TD512EH/M2
-
-pci:v000010DEd00000422*
- ID_PRODUCT_FROM_DATABASE=G86 [GeForce 8400 GS]
-
-pci:v000010DEd00000423*
- ID_PRODUCT_FROM_DATABASE=G86 [GeForce 8300 GS]
-
-pci:v000010DEd00000424*
- ID_PRODUCT_FROM_DATABASE=G86 [GeForce 8400 GS]
-
-pci:v000010DEd00000425*
- ID_PRODUCT_FROM_DATABASE=G86 [GeForce 8600M GS]
-
-pci:v000010DEd00000425sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v000010DEd00000426*
- ID_PRODUCT_FROM_DATABASE=G86 [GeForce 8400M GT]
-
-pci:v000010DEd00000427*
- ID_PRODUCT_FROM_DATABASE=G86 [GeForce 8400M GS]
-
-pci:v000010DEd00000427sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v000010DEd00000428*
- ID_PRODUCT_FROM_DATABASE=G86 [GeForce 8400M G]
-
-pci:v000010DEd00000429*
- ID_PRODUCT_FROM_DATABASE=G86 [Quadro NVS 140M]
-
-pci:v000010DEd00000429sv000017AAsd000020D8*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v000010DEd0000042A*
- ID_PRODUCT_FROM_DATABASE=G86M [Quadro NVS 130M]
-
-pci:v000010DEd0000042B*
- ID_PRODUCT_FROM_DATABASE=G86M [Quadro NVS 135M]
-
-pci:v000010DEd0000042C*
- ID_PRODUCT_FROM_DATABASE=G86 [GeForce 9400 GT]
-
-pci:v000010DEd0000042D*
- ID_PRODUCT_FROM_DATABASE=G86M [Quadro FX 360M]
-
-pci:v000010DEd0000042E*
- ID_PRODUCT_FROM_DATABASE=G86 [GeForce 9300M G]
-
-pci:v000010DEd0000042F*
- ID_PRODUCT_FROM_DATABASE=G86 [Quadro NVS 290]
-
-pci:v000010DEd00000440*
- ID_PRODUCT_FROM_DATABASE=MCP65 LPC Bridge
-
-pci:v000010DEd00000441*
- ID_PRODUCT_FROM_DATABASE=MCP65 LPC Bridge
-
-pci:v000010DEd00000442*
- ID_PRODUCT_FROM_DATABASE=MCP65 LPC Bridge
-
-pci:v000010DEd00000443*
- ID_PRODUCT_FROM_DATABASE=MCP65 LPC Bridge
-
-pci:v000010DEd00000444*
- ID_PRODUCT_FROM_DATABASE=MCP65 Memory Controller
-
-pci:v000010DEd00000445*
- ID_PRODUCT_FROM_DATABASE=MCP65 Memory Controller
-
-pci:v000010DEd00000446*
- ID_PRODUCT_FROM_DATABASE=MCP65 SMBus
-
-pci:v000010DEd00000447*
- ID_PRODUCT_FROM_DATABASE=MCP65 SMU
-
-pci:v000010DEd00000448*
- ID_PRODUCT_FROM_DATABASE=MCP65 IDE
-
-pci:v000010DEd00000449*
- ID_PRODUCT_FROM_DATABASE=MCP65 PCI bridge
-
-pci:v000010DEd0000044A*
- ID_PRODUCT_FROM_DATABASE=MCP65 High Definition Audio
-
-pci:v000010DEd0000044B*
- ID_PRODUCT_FROM_DATABASE=MCP65 High Definition Audio
-
-pci:v000010DEd0000044C*
- ID_PRODUCT_FROM_DATABASE=MCP65 AHCI Controller
-
-pci:v000010DEd0000044D*
- ID_PRODUCT_FROM_DATABASE=MCP65 AHCI Controller
-
-pci:v000010DEd0000044E*
- ID_PRODUCT_FROM_DATABASE=MCP65 AHCI Controller
-
-pci:v000010DEd0000044F*
- ID_PRODUCT_FROM_DATABASE=MCP65 AHCI Controller
-
-pci:v000010DEd00000450*
- ID_PRODUCT_FROM_DATABASE=MCP65 Ethernet
-
-pci:v000010DEd00000451*
- ID_PRODUCT_FROM_DATABASE=MCP65 Ethernet
-
-pci:v000010DEd00000452*
- ID_PRODUCT_FROM_DATABASE=MCP65 Ethernet
-
-pci:v000010DEd00000453*
- ID_PRODUCT_FROM_DATABASE=MCP65 Ethernet
-
-pci:v000010DEd00000454*
- ID_PRODUCT_FROM_DATABASE=MCP65 USB Controller
-
-pci:v000010DEd00000455*
- ID_PRODUCT_FROM_DATABASE=MCP65 USB Controller
-
-pci:v000010DEd00000456*
- ID_PRODUCT_FROM_DATABASE=MCP65 USB Controller
-
-pci:v000010DEd00000457*
- ID_PRODUCT_FROM_DATABASE=MCP65 USB Controller
-
-pci:v000010DEd00000458*
- ID_PRODUCT_FROM_DATABASE=MCP65 PCI Express bridge
-
-pci:v000010DEd00000459*
- ID_PRODUCT_FROM_DATABASE=MCP65 PCI Express bridge
-
-pci:v000010DEd0000045A*
- ID_PRODUCT_FROM_DATABASE=MCP65 PCI Express bridge
-
-pci:v000010DEd0000045C*
- ID_PRODUCT_FROM_DATABASE=MCP65 SATA Controller
-
-pci:v000010DEd0000045D*
- ID_PRODUCT_FROM_DATABASE=MCP65 SATA Controller
-
-pci:v000010DEd0000045E*
- ID_PRODUCT_FROM_DATABASE=MCP65 SATA Controller
-
-pci:v000010DEd0000045F*
- ID_PRODUCT_FROM_DATABASE=MCP65 SATA Controller
-
-pci:v000010DEd00000531*
- ID_PRODUCT_FROM_DATABASE=C67 [GeForce 7150M / nForce 630M]
-
-pci:v000010DEd00000533*
- ID_PRODUCT_FROM_DATABASE=C67 [GeForce 7000M / nForce 610M]
-
-pci:v000010DEd0000053A*
- ID_PRODUCT_FROM_DATABASE=C68 [GeForce 7050 PV / nForce 630a]
-
-pci:v000010DEd0000053B*
- ID_PRODUCT_FROM_DATABASE=C68 [GeForce 7050 PV / nForce 630a]
-
-pci:v000010DEd0000053Bsv00001043sd00008308*
- ID_PRODUCT_FROM_DATABASE=M2N68-AM Motherbord
-
-pci:v000010DEd0000053E*
- ID_PRODUCT_FROM_DATABASE=C68 [GeForce 7025 / nForce 630a]
-
-pci:v000010DEd00000541*
- ID_PRODUCT_FROM_DATABASE=MCP67 Memory Controller
-
-pci:v000010DEd00000542*
- ID_PRODUCT_FROM_DATABASE=MCP67 SMBus
-
-pci:v000010DEd00000542sv00001043sd00008308*
- ID_PRODUCT_FROM_DATABASE=M2N68-AM Motherbord
-
-pci:v000010DEd00000543*
- ID_PRODUCT_FROM_DATABASE=MCP67 Co-processor
-
-pci:v000010DEd00000547*
- ID_PRODUCT_FROM_DATABASE=MCP67 Memory Controller
-
-pci:v000010DEd00000547sv00001043sd00008308*
- ID_PRODUCT_FROM_DATABASE=M2N68-AM Motherbord
-
-pci:v000010DEd00000547sv00001849sd00000547*
- ID_PRODUCT_FROM_DATABASE=ALiveNF7G-HDready
-
-pci:v000010DEd00000548*
- ID_PRODUCT_FROM_DATABASE=MCP67 ISA Bridge
-
-pci:v000010DEd00000548sv00001043sd00008308*
- ID_PRODUCT_FROM_DATABASE=M2N68-AM Motherboard
-
-pci:v000010DEd0000054C*
- ID_PRODUCT_FROM_DATABASE=MCP67 Ethernet
-
-pci:v000010DEd0000054Csv00001043sd00008308*
- ID_PRODUCT_FROM_DATABASE=M2N68-AM Motherbord
-
-pci:v000010DEd0000054Csv00001849sd0000054C*
- ID_PRODUCT_FROM_DATABASE=ALiveNF7G-HDready, MCP67 Gigabit Ethernet
-
-pci:v000010DEd0000054D*
- ID_PRODUCT_FROM_DATABASE=MCP67 Ethernet
-
-pci:v000010DEd0000054E*
- ID_PRODUCT_FROM_DATABASE=MCP67 Ethernet
-
-pci:v000010DEd0000054F*
- ID_PRODUCT_FROM_DATABASE=MCP67 Ethernet
-
-pci:v000010DEd00000550*
- ID_PRODUCT_FROM_DATABASE=MCP67 AHCI Controller
-
-pci:v000010DEd00000550sv00001043sd00008308*
- ID_PRODUCT_FROM_DATABASE=M2N68-AM Motherboard
-
-pci:v000010DEd00000554*
- ID_PRODUCT_FROM_DATABASE=MCP67 AHCI Controller
-
-pci:v000010DEd00000554sv00001043sd00008308*
- ID_PRODUCT_FROM_DATABASE=M2N68-AM Motherboard
-
-pci:v000010DEd00000555*
- ID_PRODUCT_FROM_DATABASE=MCP67 SATA Controller
-
-pci:v000010DEd00000555sv00001043sd00008308*
- ID_PRODUCT_FROM_DATABASE=M2N68-AM Motherboard
-
-pci:v000010DEd0000055C*
- ID_PRODUCT_FROM_DATABASE=MCP67 High Definition Audio
-
-pci:v000010DEd0000055Csv00001043sd00008290*
- ID_PRODUCT_FROM_DATABASE=M2N68-AM Motherboard
-
-pci:v000010DEd0000055D*
- ID_PRODUCT_FROM_DATABASE=MCP67 High Definition Audio
-
-pci:v000010DEd0000055E*
- ID_PRODUCT_FROM_DATABASE=MCP67 OHCI USB 1.1 Controller
-
-pci:v000010DEd0000055Esv00001043sd00008308*
- ID_PRODUCT_FROM_DATABASE=M2N68-AM Motherboard
-
-pci:v000010DEd0000055F*
- ID_PRODUCT_FROM_DATABASE=MCP67 EHCI USB 2.0 Controller
-
-pci:v000010DEd0000055Fsv00001043sd00008308*
- ID_PRODUCT_FROM_DATABASE=M2N68-AM Motherboard
-
-pci:v000010DEd00000560*
- ID_PRODUCT_FROM_DATABASE=MCP67 IDE Controller
-
-pci:v000010DEd00000560sv0000F043sd00008308*
- ID_PRODUCT_FROM_DATABASE=M2N68-AM Motherboard
-
-pci:v000010DEd00000561*
- ID_PRODUCT_FROM_DATABASE=MCP67 PCI Bridge
-
-pci:v000010DEd00000562*
- ID_PRODUCT_FROM_DATABASE=MCP67 PCI Express Bridge
-
-pci:v000010DEd00000562sv00001849sd00000562*
- ID_PRODUCT_FROM_DATABASE=ALiveNF7G-HDready
-
-pci:v000010DEd00000563*
- ID_PRODUCT_FROM_DATABASE=MCP67 PCI Express Bridge
-
-pci:v000010DEd00000568*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller
-
-pci:v000010DEd00000568sv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd00000568sv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd00000568sv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd00000568sv00001849sd00000568*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller
-
-pci:v000010DEd00000569*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge
-
-pci:v000010DEd00000569sv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd00000569sv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd00000569sv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd00000569sv00001849sd00000569*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge
-
-pci:v000010DEd0000056A*
- ID_PRODUCT_FROM_DATABASE=MCP73 [nForce 630i] USB 2.0 Controller (EHCI)
-
-pci:v000010DEd0000056Asv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd0000056C*
- ID_PRODUCT_FROM_DATABASE=MCP73 IDE
-
-pci:v000010DEd0000056Csv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd0000056Csv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd0000056D*
- ID_PRODUCT_FROM_DATABASE=MCP73 PCI Express bridge
-
-pci:v000010DEd0000056Dsv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd0000056E*
- ID_PRODUCT_FROM_DATABASE=MCP73 PCI Express bridge
-
-pci:v000010DEd0000056Esv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd0000056F*
- ID_PRODUCT_FROM_DATABASE=MCP73 PCI Express bridge
-
-pci:v000010DEd0000056Fsv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000005B1*
- ID_PRODUCT_FROM_DATABASE=NF200 PCIe 2.0 switch
-
-pci:v000010DEd000005B8*
- ID_PRODUCT_FROM_DATABASE=NF200 PCIe 2.0 switch for GTX 295
-
-pci:v000010DEd000005BE*
- ID_PRODUCT_FROM_DATABASE=NF200 PCIe 2.0 switch for Quadro Plex S4 / Tesla S870 / Tesla S1070 / Tesla S2050
-
-pci:v000010DEd000005E0*
- ID_PRODUCT_FROM_DATABASE=GT200b [GeForce GTX 295]
-
-pci:v000010DEd000005E1*
- ID_PRODUCT_FROM_DATABASE=GT200 [GeForce GTX 280]
-
-pci:v000010DEd000005E2*
- ID_PRODUCT_FROM_DATABASE=GT200 [GeForce GTX 260]
-
-pci:v000010DEd000005E3*
- ID_PRODUCT_FROM_DATABASE=GT200b [GeForce GTX 285]
-
-pci:v000010DEd000005E6*
- ID_PRODUCT_FROM_DATABASE=GT200b [GeForce GTX 275]
-
-pci:v000010DEd000005E7*
- ID_PRODUCT_FROM_DATABASE=GT200 [Tesla C1060]
-
-pci:v000010DEd000005EA*
- ID_PRODUCT_FROM_DATABASE=GT200 [GeForce GTX 260]
-
-pci:v000010DEd000005EB*
- ID_PRODUCT_FROM_DATABASE=GT200 [GeForce GTX 295]
-
-pci:v000010DEd000005ED*
- ID_PRODUCT_FROM_DATABASE=GT200GL [Quadro Plex 2200 D2]
-
-pci:v000010DEd000005F8*
- ID_PRODUCT_FROM_DATABASE=GT200GL [Quadro Plex 2200 S4]
-
-pci:v000010DEd000005F9*
- ID_PRODUCT_FROM_DATABASE=GT200GL [Quadro CX]
-
-pci:v000010DEd000005FD*
- ID_PRODUCT_FROM_DATABASE=GT200GL [Quadro FX 5800]
-
-pci:v000010DEd000005FE*
- ID_PRODUCT_FROM_DATABASE=GT200GL [Quadro FX 4800]
-
-pci:v000010DEd000005FF*
- ID_PRODUCT_FROM_DATABASE=GT200GL [NVIDIA Quadro FX 3800]
-
-pci:v000010DEd00000600*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 8800 GTS 512]
-
-pci:v000010DEd00000601*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 9800 GT]
-
-pci:v000010DEd00000602*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 8800 GT]
-
-pci:v000010DEd00000603*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce GT 230]
-
-pci:v000010DEd00000604*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 9800 GX2]
-
-pci:v000010DEd00000605*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 9800 GT]
-
-pci:v000010DEd00000606*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 8800 GS]
-
-pci:v000010DEd00000607*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce GTS 240]
-
-pci:v000010DEd00000608*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 9800M GTX]
-
-pci:v000010DEd00000609*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 8800M GTS]
-
-pci:v000010DEd0000060A*
- ID_PRODUCT_FROM_DATABASE=GT200 [GeForce GTX 280M]
-
-pci:v000010DEd0000060B*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 9800M GT]
-
-pci:v000010DEd0000060C*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 8800M GTX]
-
-pci:v000010DEd0000060D*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 8800 GS]
-
-pci:v000010DEd0000060F*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce GTX 285M]
-
-pci:v000010DEd00000610*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 9600 GSO]
-
-pci:v000010DEd00000610sv00001682sd00002385*
- ID_PRODUCT_FROM_DATABASE=GeForce 9600 GSO 768mb
-
-pci:v000010DEd00000611*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 8800 GT]
-
-pci:v000010DEd00000611sv0000107Dsd00002AB0*
- ID_PRODUCT_FROM_DATABASE=Winfast PX8800 GT PCI-E
-
-pci:v000010DEd00000611sv000019DAsd00001040*
- ID_PRODUCT_FROM_DATABASE=ZT-88TES2P-FSP
-
-pci:v000010DEd00000612*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 9800 GTX]
-
-pci:v000010DEd00000613*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 9800 GTX+]
-
-pci:v000010DEd00000614*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 9800 GT]
-
-pci:v000010DEd00000614sv0000107Dsd00002AB3*
- ID_PRODUCT_FROM_DATABASE=WinFast PX9800 GT (S-Fanpipe)
-
-pci:v000010DEd00000615*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce GTS 250]
-
-pci:v000010DEd00000615sv00003842sd00001150*
- ID_PRODUCT_FROM_DATABASE=GeForce GTS 250 P/N 512-P3-1150-TR
-
-pci:v000010DEd00000615sv00003842sd00001151*
- ID_PRODUCT_FROM_DATABASE=GeForce GTS 250 P/N 512-P3-1151-TR
-
-pci:v000010DEd00000615sv00003842sd00001155*
- ID_PRODUCT_FROM_DATABASE=GeForce GTS 250 P/N 01G-P3-1155-TR
-
-pci:v000010DEd00000615sv00003842sd00001156*
- ID_PRODUCT_FROM_DATABASE=GeForce GTS 250 P/N 01G-P3-1156-TR
-
-pci:v000010DEd00000617*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce 9800M GTX]
-
-pci:v000010DEd00000618*
- ID_PRODUCT_FROM_DATABASE=G92 [GeForce GTX 260M]
-
-pci:v000010DEd00000619*
- ID_PRODUCT_FROM_DATABASE=G92GL [Quadro FX 4700 X2]
-
-pci:v000010DEd0000061A*
- ID_PRODUCT_FROM_DATABASE=G92 [Quadro FX 3700]
-
-pci:v000010DEd0000061B*
- ID_PRODUCT_FROM_DATABASE=G92GL [Quadro VX 200]
-
-pci:v000010DEd0000061C*
- ID_PRODUCT_FROM_DATABASE=G92M [Quadro FX 3600M]
-
-pci:v000010DEd0000061D*
- ID_PRODUCT_FROM_DATABASE=G92 [Quadro FX 2800M]
-
-pci:v000010DEd0000061E*
- ID_PRODUCT_FROM_DATABASE=G92 [Quadro FX 3700M]
-
-pci:v000010DEd0000061F*
- ID_PRODUCT_FROM_DATABASE=G92 [Quadro FX 3800M]
-
-pci:v000010DEd00000622*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce 9600 GT]
-
-pci:v000010DEd00000622sv0000107Dsd00002AC1*
- ID_PRODUCT_FROM_DATABASE=WinFast PX9600GT 1024MB
-
-pci:v000010DEd00000622sv00001458sd00003481*
- ID_PRODUCT_FROM_DATABASE=GV-NX96T512HP
-
-pci:v000010DEd00000623*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce 9600 GS]
-
-pci:v000010DEd00000624*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce 9600 GT Green Edition]
-
-pci:v000010DEd00000625*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce 9600 GSO 512]
-
-pci:v000010DEd00000626*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce GT 130]
-
-pci:v000010DEd00000627*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce GT 140]
-
-pci:v000010DEd00000628*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce 9800M GTS]
-
-pci:v000010DEd0000062A*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce 9700M GTS]
-
-pci:v000010DEd0000062B*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce 9800M GS]
-
-pci:v000010DEd0000062C*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce 9800M GTS]
-
-pci:v000010DEd0000062D*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce 9600 GT]
-
-pci:v000010DEd0000062E*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce 9600 GT]
-
-pci:v000010DEd00000631*
- ID_PRODUCT_FROM_DATABASE=G94M [GeForce GTS 160M]
-
-pci:v000010DEd00000632*
- ID_PRODUCT_FROM_DATABASE=G94M [GeForce GTS 150M]
-
-pci:v000010DEd00000635*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce 9600 GSO]
-
-pci:v000010DEd00000637*
- ID_PRODUCT_FROM_DATABASE=G94 [GeForce 9600 GT]
-
-pci:v000010DEd00000638*
- ID_PRODUCT_FROM_DATABASE=G94 [Quadro FX 1800]
-
-pci:v000010DEd0000063A*
- ID_PRODUCT_FROM_DATABASE=G94M [Quadro FX 2700M]
-
-pci:v000010DEd00000640*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce 9500 GT]
-
-pci:v000010DEd00000641*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce 9400 GT]
-
-pci:v000010DEd00000643*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce 9500 GT]
-
-pci:v000010DEd00000644*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce 9500 GS]
-
-pci:v000010DEd00000645*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce 9500 GS]
-
-pci:v000010DEd00000646*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce GT 120]
-
-pci:v000010DEd00000647*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce 9600M GT]
-
-pci:v000010DEd00000648*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce 9600M GS]
-
-pci:v000010DEd00000649*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce 9600M GT]
-
-pci:v000010DEd0000064A*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce 9700M GT]
-
-pci:v000010DEd0000064B*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce 9500M G]
-
-pci:v000010DEd0000064C*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce 9650M GT]
-
-pci:v000010DEd00000651*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce G 110M]
-
-pci:v000010DEd00000652*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce GT 130M]
-
-pci:v000010DEd00000653*
- ID_PRODUCT_FROM_DATABASE=G96M [GeForce GT 120M]
-
-pci:v000010DEd00000654*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce GT 220M]
-
-pci:v000010DEd00000656*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce 9650 S]
-
-pci:v000010DEd00000658*
- ID_PRODUCT_FROM_DATABASE=G96 [Quadro FX 380]
-
-pci:v000010DEd00000659*
- ID_PRODUCT_FROM_DATABASE=G96 [Quadro FX 580]
-
-pci:v000010DEd0000065A*
- ID_PRODUCT_FROM_DATABASE=G96 [Quadro FX 1700M]
-
-pci:v000010DEd0000065B*
- ID_PRODUCT_FROM_DATABASE=G96 [GeForce 9400 GT]
-
-pci:v000010DEd0000065C*
- ID_PRODUCT_FROM_DATABASE=G96M [Quadro FX 770M]
-
-pci:v000010DEd000006C0*
- ID_PRODUCT_FROM_DATABASE=GF100 [GeForce GTX 480]
-
-pci:v000010DEd000006CD*
- ID_PRODUCT_FROM_DATABASE=GF100 [GeForce GTX 470]
-
-pci:v000010DEd000006D1*
- ID_PRODUCT_FROM_DATABASE=GF100 [Tesla C2050 / C2070]
-
-pci:v000010DEd000006D2*
- ID_PRODUCT_FROM_DATABASE=GF100 [Tesla M2070]
-
-pci:v000010DEd000006D8*
- ID_PRODUCT_FROM_DATABASE=GF100GL [Quadro 6000]
-
-pci:v000010DEd000006D9*
- ID_PRODUCT_FROM_DATABASE=GF100GL [Quadro 5000]
-
-pci:v000010DEd000006DD*
- ID_PRODUCT_FROM_DATABASE=GF100GL [Quadro 4000]
-
-pci:v000010DEd000006DE*
- ID_PRODUCT_FROM_DATABASE=GF100 [Tesla S2050]
-
-pci:v000010DEd000006DF*
- ID_PRODUCT_FROM_DATABASE=GF100 [Tesla M2070Q]
-
-pci:v000010DEd000006E0*
- ID_PRODUCT_FROM_DATABASE=G98 [GeForce 9300 GE]
-
-pci:v000010DEd000006E1*
- ID_PRODUCT_FROM_DATABASE=G98 [GeForce 9300 GS]
-
-pci:v000010DEd000006E2*
- ID_PRODUCT_FROM_DATABASE=G98 [GeForce 8400]
-
-pci:v000010DEd000006E3*
- ID_PRODUCT_FROM_DATABASE=G98 [GeForce 8300 GS]
-
-pci:v000010DEd000006E4*
- ID_PRODUCT_FROM_DATABASE=G98 [GeForce 8400 GS]
-
-pci:v000010DEd000006E4sv00001458sd00003475*
- ID_PRODUCT_FROM_DATABASE=GV-NX84S256HE [GeForce 8400 GS]
-
-pci:v000010DEd000006E5*
- ID_PRODUCT_FROM_DATABASE=G98 [GeForce 9300M GS]
-
-pci:v000010DEd000006E6*
- ID_PRODUCT_FROM_DATABASE=G98 [GeForce G 100]
-
-pci:v000010DEd000006E7*
- ID_PRODUCT_FROM_DATABASE=G98 [GeForce 9300 SE]
-
-pci:v000010DEd000006E8*
- ID_PRODUCT_FROM_DATABASE=G98 [GeForce 9200M GS]
-
-pci:v000010DEd000006E9*
- ID_PRODUCT_FROM_DATABASE=G98 [GeForce 9300M GS]
-
-pci:v000010DEd000006E9sv00001043sd000019B2*
- ID_PRODUCT_FROM_DATABASE=U6V laptop
-
-pci:v000010DEd000006EA*
- ID_PRODUCT_FROM_DATABASE=G86M [Quadro NVS 150M]
-
-pci:v000010DEd000006EB*
- ID_PRODUCT_FROM_DATABASE=G98M [Quadro NVS 160M]
-
-pci:v000010DEd000006EC*
- ID_PRODUCT_FROM_DATABASE=G98M [GeForce G 105M]
-
-pci:v000010DEd000006EF*
- ID_PRODUCT_FROM_DATABASE=G98M [GeForce G 103M]
-
-pci:v000010DEd000006F1*
- ID_PRODUCT_FROM_DATABASE=G98M [GeForce G 105M]
-
-pci:v000010DEd000006F8*
- ID_PRODUCT_FROM_DATABASE=G98 [Quadro NVS 420]
-
-pci:v000010DEd000006F9*
- ID_PRODUCT_FROM_DATABASE=G98 [Quadro FX 370 LP]
-
-pci:v000010DEd000006FA*
- ID_PRODUCT_FROM_DATABASE=G98 [Quadro NVS 450]
-
-pci:v000010DEd000006FB*
- ID_PRODUCT_FROM_DATABASE=G98 [Quadro FX 370M]
-
-pci:v000010DEd000006FD*
- ID_PRODUCT_FROM_DATABASE=G98 [Quadro NVS 295]
-
-pci:v000010DEd000006FF*
- ID_PRODUCT_FROM_DATABASE=G98 [HICx16 + Graphics]
-
-pci:v000010DEd00000751*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller
-
-pci:v000010DEd00000751sv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd00000751sv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd00000751sv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd00000751sv00001849sd00000751*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller
-
-pci:v000010DEd00000752*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] SMBus
-
-pci:v000010DEd00000752sv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd00000752sv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd00000752sv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd00000752sv00001849sd00000752*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 SMBus
-
-pci:v000010DEd00000753*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor
-
-pci:v000010DEd00000753sv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd00000753sv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd00000753sv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd00000753sv00001849sd00000753*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Co-Processor
-
-pci:v000010DEd00000754*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller
-
-pci:v000010DEd00000754sv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd00000754sv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd00000754sv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd00000754sv00001849sd00000754*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller
-
-pci:v000010DEd00000759*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] IDE
-
-pci:v000010DEd00000759sv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd00000759sv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd00000759sv00001849sd00000759*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 IDE
-
-pci:v000010DEd0000075A*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge
-
-pci:v000010DEd0000075Asv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd0000075Asv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd0000075Asv00001849sd0000075A*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Bridge
-
-pci:v000010DEd0000075B*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge
-
-pci:v000010DEd0000075Bsv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd0000075Bsv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd0000075Bsv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd0000075Bsv00001849sd0000075B*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge
-
-pci:v000010DEd0000075C*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge
-
-pci:v000010DEd0000075Csv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd0000075Csv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd0000075Csv00001849sd0000075C*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 LPC Bridge
-
-pci:v000010DEd0000075D*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge
-
-pci:v000010DEd0000075Dsv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd00000760*
- ID_PRODUCT_FROM_DATABASE=MCP77 Ethernet
-
-pci:v000010DEd00000760sv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd00000760sv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd00000760sv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd00000760sv00001849sd00000760*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Ethernet
-
-pci:v000010DEd00000761*
- ID_PRODUCT_FROM_DATABASE=MCP77 Ethernet
-
-pci:v000010DEd00000762*
- ID_PRODUCT_FROM_DATABASE=MCP77 Ethernet
-
-pci:v000010DEd00000763*
- ID_PRODUCT_FROM_DATABASE=MCP77 Ethernet
-
-pci:v000010DEd00000774*
- ID_PRODUCT_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio
-
-pci:v000010DEd00000774sv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd00000774sv00001043sd000082FE*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd00000774sv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd00000774sv00001849sd00003662*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 High Definition Audio
-
-pci:v000010DEd00000778*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge
-
-pci:v000010DEd00000778sv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd00000778sv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd00000778sv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd00000778sv00001849sd00000778*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge
-
-pci:v000010DEd0000077A*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge
-
-pci:v000010DEd0000077Asv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd0000077Asv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd0000077Asv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd0000077Asv00001849sd0000077A*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Bridge
-
-pci:v000010DEd0000077B*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller
-
-pci:v000010DEd0000077Bsv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd0000077Bsv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd0000077Bsv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd0000077Bsv00001849sd0000077B*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller
-
-pci:v000010DEd0000077C*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller
-
-pci:v000010DEd0000077Csv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd0000077Csv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd0000077Csv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd0000077Csv00001849sd0000077C*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller
-
-pci:v000010DEd0000077D*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller
-
-pci:v000010DEd0000077Dsv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd0000077Dsv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd0000077Dsv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd0000077Dsv00001849sd0000077D*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller
-
-pci:v000010DEd0000077E*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller
-
-pci:v000010DEd0000077Esv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd0000077Esv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd0000077Esv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd0000077Esv00001849sd0000077E*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller
-
-pci:v000010DEd000007C0*
- ID_PRODUCT_FROM_DATABASE=MCP73 Host Bridge
-
-pci:v000010DEd000007C0sv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007C1*
- ID_PRODUCT_FROM_DATABASE=MCP73 Host Bridge
-
-pci:v000010DEd000007C1sv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007C2*
- ID_PRODUCT_FROM_DATABASE=MCP73 Host Bridge
-
-pci:v000010DEd000007C5*
- ID_PRODUCT_FROM_DATABASE=MCP73 Host Bridge
-
-pci:v000010DEd000007C8*
- ID_PRODUCT_FROM_DATABASE=MCP73 Memory Controller
-
-pci:v000010DEd000007C8sv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007C8sv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007CB*
- ID_PRODUCT_FROM_DATABASE=nForce 630i memory controller
-
-pci:v000010DEd000007CBsv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007CBsv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007CD*
- ID_PRODUCT_FROM_DATABASE=nForce 630i memory controller
-
-pci:v000010DEd000007CDsv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007CDsv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007CE*
- ID_PRODUCT_FROM_DATABASE=nForce 630i memory controller
-
-pci:v000010DEd000007CEsv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007CEsv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007CF*
- ID_PRODUCT_FROM_DATABASE=nForce 630i memory controller
-
-pci:v000010DEd000007CFsv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007CFsv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007D0*
- ID_PRODUCT_FROM_DATABASE=nForce 630i memory controller
-
-pci:v000010DEd000007D0sv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007D0sv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007D1*
- ID_PRODUCT_FROM_DATABASE=nForce 630i memory controller
-
-pci:v000010DEd000007D1sv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007D1sv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007D2*
- ID_PRODUCT_FROM_DATABASE=nForce 630i memory controller
-
-pci:v000010DEd000007D2sv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007D2sv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007D3*
- ID_PRODUCT_FROM_DATABASE=nForce 630i memory controller
-
-pci:v000010DEd000007D3sv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007D3sv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007D6*
- ID_PRODUCT_FROM_DATABASE=nForce 630i memory controller
-
-pci:v000010DEd000007D6sv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007D6sv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007D7*
- ID_PRODUCT_FROM_DATABASE=MCP73 LPC Bridge
-
-pci:v000010DEd000007D7sv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007D7sv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007D8*
- ID_PRODUCT_FROM_DATABASE=MCP73 SMBus
-
-pci:v000010DEd000007D8sv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007D8sv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007D9*
- ID_PRODUCT_FROM_DATABASE=MCP73 Memory Controller
-
-pci:v000010DEd000007D9sv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007D9sv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007DA*
- ID_PRODUCT_FROM_DATABASE=MCP73 Co-processor
-
-pci:v000010DEd000007DAsv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007DC*
- ID_PRODUCT_FROM_DATABASE=MCP73 Ethernet
-
-pci:v000010DEd000007DD*
- ID_PRODUCT_FROM_DATABASE=MCP73 Ethernet
-
-pci:v000010DEd000007DE*
- ID_PRODUCT_FROM_DATABASE=MCP73 Ethernet
-
-pci:v000010DEd000007DF*
- ID_PRODUCT_FROM_DATABASE=MCP73 Ethernet
-
-pci:v000010DEd000007E0*
- ID_PRODUCT_FROM_DATABASE=C73 [GeForce 7150 / nForce 630i]
-
-pci:v000010DEd000007E0sv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd000007E1*
- ID_PRODUCT_FROM_DATABASE=C73 [GeForce 7100 / nForce 630i]
-
-pci:v000010DEd000007E1sv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007E2*
- ID_PRODUCT_FROM_DATABASE=C73 [GeForce 7050 / nForce 630i]
-
-pci:v000010DEd000007E3*
- ID_PRODUCT_FROM_DATABASE=C73 [GeForce 7050 / nForce 610i]
-
-pci:v000010DEd000007E5*
- ID_PRODUCT_FROM_DATABASE=C73 [GeForce 7100 / nForce 620i]
-
-pci:v000010DEd000007F0*
- ID_PRODUCT_FROM_DATABASE=MCP73 IDE
-
-pci:v000010DEd000007F4*
- ID_PRODUCT_FROM_DATABASE=GeForce 7100/nForce 630i SATA
-
-pci:v000010DEd000007F4sv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007F8*
- ID_PRODUCT_FROM_DATABASE=MCP73 SATA RAID Controller
-
-pci:v000010DEd000007FC*
- ID_PRODUCT_FROM_DATABASE=MCP73 High Definition Audio
-
-pci:v000010DEd000007FCsv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007FCsv000010DEsd000007FC*
- ID_PRODUCT_FROM_DATABASE=MCP73 High Definition Audio
-
-pci:v000010DEd000007FE*
- ID_PRODUCT_FROM_DATABASE=GeForce 7100/nForce 630i USB
-
-pci:v000010DEd000007FEsv00001019sd0000297A*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010DEd000007FEsv00001AFAsd00007150*
- ID_PRODUCT_FROM_DATABASE=JW-IN7150-HD
-
-pci:v000010DEd00000844*
- ID_PRODUCT_FROM_DATABASE=C77 [GeForce 9100M G]
-
-pci:v000010DEd00000845*
- ID_PRODUCT_FROM_DATABASE=C77 [GeForce 8200M G]
-
-pci:v000010DEd00000846*
- ID_PRODUCT_FROM_DATABASE=C77 [GeForce 9200]
-
-pci:v000010DEd00000847*
- ID_PRODUCT_FROM_DATABASE=C78 [GeForce 9100]
-
-pci:v000010DEd00000847sv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd00000848*
- ID_PRODUCT_FROM_DATABASE=C77 [GeForce 8300]
-
-pci:v000010DEd00000849*
- ID_PRODUCT_FROM_DATABASE=C77 [GeForce 8200]
-
-pci:v000010DEd00000849sv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd00000849sv00001849sd00000849*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 GeForce 8200
-
-pci:v000010DEd0000084A*
- ID_PRODUCT_FROM_DATABASE=C77 [nForce 730a]
-
-pci:v000010DEd0000084B*
- ID_PRODUCT_FROM_DATABASE=C77 [GeForce 8200]
-
-pci:v000010DEd0000084C*
- ID_PRODUCT_FROM_DATABASE=C77 [nForce 780a SLI]
-
-pci:v000010DEd0000084D*
- ID_PRODUCT_FROM_DATABASE=C77 [nForce 750a SLI]
-
-pci:v000010DEd0000084Dsv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D mGPU
-
-pci:v000010DEd0000084F*
- ID_PRODUCT_FROM_DATABASE=C77 [GeForce 8100 / nForce 720a]
-
-pci:v000010DEd00000860*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9300]
-
-pci:v000010DEd00000861*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9400]
-
-pci:v000010DEd00000862*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9400M G]
-
-pci:v000010DEd00000863*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9400M]
-
-pci:v000010DEd00000864*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9300]
-
-pci:v000010DEd00000865*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9300]
-
-pci:v000010DEd00000866*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9400M G]
-
-pci:v000010DEd00000867*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9400]
-
-pci:v000010DEd00000868*
- ID_PRODUCT_FROM_DATABASE=C79 [nForce 760i SLI]
-
-pci:v000010DEd0000086A*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9400]
-
-pci:v000010DEd0000086C*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9300 / nForce 730i]
-
-pci:v000010DEd0000086D*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9200]
-
-pci:v000010DEd0000086E*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9100M G]
-
-pci:v000010DEd0000086F*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9200M G]
-
-pci:v000010DEd00000870*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9400M]
-
-pci:v000010DEd00000871*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9200]
-
-pci:v000010DEd00000872*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce G102M]
-
-pci:v000010DEd00000873*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce G102M]
-
-pci:v000010DEd00000874*
- ID_PRODUCT_FROM_DATABASE=C79 [ION]
-
-pci:v000010DEd00000876*
- ID_PRODUCT_FROM_DATABASE=ION VGA [GeForce 9400M]
-
-pci:v000010DEd0000087A*
- ID_PRODUCT_FROM_DATABASE=C79 [GeForce 9400]
-
-pci:v000010DEd0000087D*
- ID_PRODUCT_FROM_DATABASE=ION VGA
-
-pci:v000010DEd0000087Dsv000019DAsd0000A123*
- ID_PRODUCT_FROM_DATABASE=IONITX-F-E
-
-pci:v000010DEd0000087E*
- ID_PRODUCT_FROM_DATABASE=ION LE VGA
-
-pci:v000010DEd0000087F*
- ID_PRODUCT_FROM_DATABASE=ION LE VGA
-
-pci:v000010DEd000008A3*
- ID_PRODUCT_FROM_DATABASE=MCP89 [GeForce 320M]
-
-pci:v000010DEd000008A4*
- ID_PRODUCT_FROM_DATABASE=MCP89 [GeForce 320M]
-
-pci:v000010DEd00000A20*
- ID_PRODUCT_FROM_DATABASE=GT216 [GeForce GT 220]
-
-pci:v000010DEd00000A20sv00001043sd00008311*
- ID_PRODUCT_FROM_DATABASE=ENGT220/DI/1GD3(LP)/V2
-
-pci:v000010DEd00000A23*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 210]
-
-pci:v000010DEd00000A28*
- ID_PRODUCT_FROM_DATABASE=GT216 [GeForce GT 230M]
-
-pci:v000010DEd00000A29*
- ID_PRODUCT_FROM_DATABASE=GT216 [GeForce GT 330M]
-
-pci:v000010DEd00000A2A*
- ID_PRODUCT_FROM_DATABASE=GT216 [GeForce GT 230M]
-
-pci:v000010DEd00000A2B*
- ID_PRODUCT_FROM_DATABASE=GT216 [GeForce GT 330M]
-
-pci:v000010DEd00000A2C*
- ID_PRODUCT_FROM_DATABASE=GT216 [NVS 5100M]
-
-pci:v000010DEd00000A2D*
- ID_PRODUCT_FROM_DATABASE=GT216 [GeForce GT 320M]
-
-pci:v000010DEd00000A34*
- ID_PRODUCT_FROM_DATABASE=GT216 [GeForce GT 240M]
-
-pci:v000010DEd00000A35*
- ID_PRODUCT_FROM_DATABASE=GT216 [GeForce GT 325M]
-
-pci:v000010DEd00000A38*
- ID_PRODUCT_FROM_DATABASE=GT216GL [Quadro 400]
-
-pci:v000010DEd00000A3C*
- ID_PRODUCT_FROM_DATABASE=GT216 [Quadro FX 880M]
-
-pci:v000010DEd00000A60*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce G210]
-
-pci:v000010DEd00000A62*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 205]
-
-pci:v000010DEd00000A63*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 310]
-
-pci:v000010DEd00000A64*
- ID_PRODUCT_FROM_DATABASE=GT218 [ION]
-
-pci:v000010DEd00000A65*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 210]
-
-pci:v000010DEd00000A65sv00001043sd00008334*
- ID_PRODUCT_FROM_DATABASE=EN210 SILENT
-
-pci:v000010DEd00000A66*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 310]
-
-pci:v000010DEd00000A67*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 315]
-
-pci:v000010DEd00000A68*
- ID_PRODUCT_FROM_DATABASE=G98M [GeForce G105M]
-
-pci:v000010DEd00000A69*
- ID_PRODUCT_FROM_DATABASE=G98M [GeForce G105M]
-
-pci:v000010DEd00000A6A*
- ID_PRODUCT_FROM_DATABASE=GT218 [NVS 2100M]
-
-pci:v000010DEd00000A6C*
- ID_PRODUCT_FROM_DATABASE=GT218 [NVS 3100M]
-
-pci:v000010DEd00000A6Csv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v000010DEd00000A6Csv000017AAsd00002142*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T410
-
-pci:v000010DEd00000A6E*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 305M]
-
-pci:v000010DEd00000A6F*
- ID_PRODUCT_FROM_DATABASE=GT218 [ION]
-
-pci:v000010DEd00000A70*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 310M]
-
-pci:v000010DEd00000A71*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 305M]
-
-pci:v000010DEd00000A72*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 310M]
-
-pci:v000010DEd00000A73*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 305M]
-
-pci:v000010DEd00000A74*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce G210M]
-
-pci:v000010DEd00000A75*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 310M]
-
-pci:v000010DEd00000A76*
- ID_PRODUCT_FROM_DATABASE=GT218 [ION 2]
-
-pci:v000010DEd00000A78*
- ID_PRODUCT_FROM_DATABASE=GT218GL [Quadro FX 380 LP]
-
-pci:v000010DEd00000A7C*
- ID_PRODUCT_FROM_DATABASE=GT218 [Quadro FX 380M]
-
-pci:v000010DEd00000A80*
- ID_PRODUCT_FROM_DATABASE=MCP79 Host Bridge
-
-pci:v000010DEd00000A81*
- ID_PRODUCT_FROM_DATABASE=MCP79 Host Bridge
-
-pci:v000010DEd00000A82*
- ID_PRODUCT_FROM_DATABASE=MCP79 Host Bridge
-
-pci:v000010DEd00000A83*
- ID_PRODUCT_FROM_DATABASE=MCP79 Host Bridge
-
-pci:v000010DEd00000A84*
- ID_PRODUCT_FROM_DATABASE=MCP79 Host Bridge
-
-pci:v000010DEd00000A85*
- ID_PRODUCT_FROM_DATABASE=MCP79 Host Bridge
-
-pci:v000010DEd00000A86*
- ID_PRODUCT_FROM_DATABASE=MCP79 Host Bridge
-
-pci:v000010DEd00000A87*
- ID_PRODUCT_FROM_DATABASE=MCP79 Host Bridge
-
-pci:v000010DEd00000A88*
- ID_PRODUCT_FROM_DATABASE=MCP79 Memory Controller
-
-pci:v000010DEd00000A89*
- ID_PRODUCT_FROM_DATABASE=MCP79 Memory Controller
-
-pci:v000010DEd00000AA0*
- ID_PRODUCT_FROM_DATABASE=MCP79 PCI Express Bridge
-
-pci:v000010DEd00000AA2*
- ID_PRODUCT_FROM_DATABASE=MCP79 SMBus
-
-pci:v000010DEd00000AA2sv000019DAsd0000A123*
- ID_PRODUCT_FROM_DATABASE=IONITX-F-E
-
-pci:v000010DEd00000AA3*
- ID_PRODUCT_FROM_DATABASE=MCP79 Co-processor
-
-pci:v000010DEd00000AA3sv000019DAsd0000A123*
- ID_PRODUCT_FROM_DATABASE=IONITX-F-E
-
-pci:v000010DEd00000AA4*
- ID_PRODUCT_FROM_DATABASE=MCP79 Memory Controller
-
-pci:v000010DEd00000AA4sv000019DAsd0000A123*
- ID_PRODUCT_FROM_DATABASE=IONITX-F-E
-
-pci:v000010DEd00000AA5*
- ID_PRODUCT_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller
-
-pci:v000010DEd00000AA5sv000019DAsd0000A123*
- ID_PRODUCT_FROM_DATABASE=IONITX-F-E
-
-pci:v000010DEd00000AA6*
- ID_PRODUCT_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller
-
-pci:v000010DEd00000AA6sv000019DAsd0000A123*
- ID_PRODUCT_FROM_DATABASE=IONITX-F-E
-
-pci:v000010DEd00000AA7*
- ID_PRODUCT_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller
-
-pci:v000010DEd00000AA7sv000019DAsd0000A123*
- ID_PRODUCT_FROM_DATABASE=IONITX-F-E
-
-pci:v000010DEd00000AA8*
- ID_PRODUCT_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller
-
-pci:v000010DEd00000AA9*
- ID_PRODUCT_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller
-
-pci:v000010DEd00000AA9sv000019DAsd0000A123*
- ID_PRODUCT_FROM_DATABASE=IONITX-F-E
-
-pci:v000010DEd00000AAA*
- ID_PRODUCT_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller
-
-pci:v000010DEd00000AAB*
- ID_PRODUCT_FROM_DATABASE=MCP79 PCI Bridge
-
-pci:v000010DEd00000AAC*
- ID_PRODUCT_FROM_DATABASE=MCP79 LPC Bridge
-
-pci:v000010DEd00000AAD*
- ID_PRODUCT_FROM_DATABASE=MCP79 LPC Bridge
-
-pci:v000010DEd00000AADsv000019DAsd0000A123*
- ID_PRODUCT_FROM_DATABASE=IONITX-F-E
-
-pci:v000010DEd00000AAE*
- ID_PRODUCT_FROM_DATABASE=MCP79 LPC Bridge
-
-pci:v000010DEd00000AAF*
- ID_PRODUCT_FROM_DATABASE=MCP79 LPC Bridge
-
-pci:v000010DEd00000AB0*
- ID_PRODUCT_FROM_DATABASE=MCP79 Ethernet
-
-pci:v000010DEd00000AB0sv000019DAsd0000A123*
- ID_PRODUCT_FROM_DATABASE=IONITX-F-E
-
-pci:v000010DEd00000AB1*
- ID_PRODUCT_FROM_DATABASE=MCP79 Ethernet
-
-pci:v000010DEd00000AB2*
- ID_PRODUCT_FROM_DATABASE=MCP79 Ethernet
-
-pci:v000010DEd00000AB3*
- ID_PRODUCT_FROM_DATABASE=MCP79 Ethernet
-
-pci:v000010DEd00000AB4*
- ID_PRODUCT_FROM_DATABASE=MCP79 SATA Controller
-
-pci:v000010DEd00000AB4sv000019DAsd0000A123*
- ID_PRODUCT_FROM_DATABASE=IONITX-F-E
-
-pci:v000010DEd00000AB5*
- ID_PRODUCT_FROM_DATABASE=MCP79 SATA Controller
-
-pci:v000010DEd00000AB6*
- ID_PRODUCT_FROM_DATABASE=MCP79 SATA Controller
-
-pci:v000010DEd00000AB7*
- ID_PRODUCT_FROM_DATABASE=MCP79 SATA Controller
-
-pci:v000010DEd00000AB8*
- ID_PRODUCT_FROM_DATABASE=MCP79 AHCI Controller
-
-pci:v000010DEd00000AB9*
- ID_PRODUCT_FROM_DATABASE=MCP79 AHCI Controller
-
-pci:v000010DEd00000ABA*
- ID_PRODUCT_FROM_DATABASE=MCP79 AHCI Controller
-
-pci:v000010DEd00000ABB*
- ID_PRODUCT_FROM_DATABASE=MCP79 AHCI Controller
-
-pci:v000010DEd00000ABC*
- ID_PRODUCT_FROM_DATABASE=MCP79 RAID Controller
-
-pci:v000010DEd00000ABD*
- ID_PRODUCT_FROM_DATABASE=MCP79 RAID Controller
-
-pci:v000010DEd00000ABE*
- ID_PRODUCT_FROM_DATABASE=MCP79 RAID Controller
-
-pci:v000010DEd00000ABF*
- ID_PRODUCT_FROM_DATABASE=MCP79 RAID Controller
-
-pci:v000010DEd00000AC0*
- ID_PRODUCT_FROM_DATABASE=MCP79 High Definition Audio
-
-pci:v000010DEd00000AC1*
- ID_PRODUCT_FROM_DATABASE=MCP79 High Definition Audio
-
-pci:v000010DEd00000AC2*
- ID_PRODUCT_FROM_DATABASE=MCP79 High Definition Audio
-
-pci:v000010DEd00000AC3*
- ID_PRODUCT_FROM_DATABASE=MCP79 High Definition Audio
-
-pci:v000010DEd00000AC4*
- ID_PRODUCT_FROM_DATABASE=MCP79 PCI Express Bridge
-
-pci:v000010DEd00000AC5*
- ID_PRODUCT_FROM_DATABASE=MCP79 PCI Express Bridge
-
-pci:v000010DEd00000AC6*
- ID_PRODUCT_FROM_DATABASE=MCP79 PCI Express Bridge
-
-pci:v000010DEd00000AC7*
- ID_PRODUCT_FROM_DATABASE=MCP79 PCI Express Bridge
-
-pci:v000010DEd00000AC8*
- ID_PRODUCT_FROM_DATABASE=MCP79 PCI Express Bridge
-
-pci:v000010DEd00000AD0*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode)
-
-pci:v000010DEd00000AD0sv00001462sd00007508*
- ID_PRODUCT_FROM_DATABASE=K9N2GM-FIH
-
-pci:v000010DEd00000AD0sv00001849sd00000AD0*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 IDE
-
-pci:v000010DEd00000AD4*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller
-
-pci:v000010DEd00000AD4sv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000010DEd00000AD4sv00001043sd000082E8*
- ID_PRODUCT_FROM_DATABASE=M3N72-D
-
-pci:v000010DEd00000AD4sv00001849sd00000AD4*
- ID_PRODUCT_FROM_DATABASE=K10N78FullHD-hSLI R3.0 AHCI Controller
-
-pci:v000010DEd00000AD8*
- ID_PRODUCT_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (RAID mode)
-
-pci:v000010DEd00000BE2*
- ID_PRODUCT_FROM_DATABASE=High Definition Audio Controller
-
-pci:v000010DEd00000BE2sv00001043sd00008311*
- ID_PRODUCT_FROM_DATABASE=ENGT220/DI/1GD3(LP)/V2
-
-pci:v000010DEd00000BE3*
- ID_PRODUCT_FROM_DATABASE=High Definition Audio Controller
-
-pci:v000010DEd00000BE3sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v000010DEd00000BE3sv000010DEsd0000066D*
- ID_PRODUCT_FROM_DATABASE=G98 [GeForce 8400GS]
-
-pci:v000010DEd00000BE4*
- ID_PRODUCT_FROM_DATABASE=High Definition Audio Controller
-
-pci:v000010DEd00000BE5*
- ID_PRODUCT_FROM_DATABASE=GF100 High Definition Audio Controller
-
-pci:v000010DEd00000BE9*
- ID_PRODUCT_FROM_DATABASE=GF106 High Definition Audio Controller
-
-pci:v000010DEd00000BE9sv00001558sd00008687*
- ID_PRODUCT_FROM_DATABASE=CLEVO/KAPOK W860CU
-
-pci:v000010DEd00000BEA*
- ID_PRODUCT_FROM_DATABASE=GF108 High Definition Audio Controller
-
-pci:v000010DEd00000BEAsv00003842sd00001430*
- ID_PRODUCT_FROM_DATABASE=GeForce GT 430
-
-pci:v000010DEd00000BEB*
- ID_PRODUCT_FROM_DATABASE=GF104 High Definition Audio Controller
-
-pci:v000010DEd00000BEBsv00001462sd00002322*
- ID_PRODUCT_FROM_DATABASE=N460GTX Cyclone 1GD5/OC
-
-pci:v000010DEd00000BEE*
- ID_PRODUCT_FROM_DATABASE=GF116 High Definition Audio Controller
-
-pci:v000010DEd00000CA0*
- ID_PRODUCT_FROM_DATABASE=GT215 [GeForce GT 330]
-
-pci:v000010DEd00000CA2*
- ID_PRODUCT_FROM_DATABASE=GT215 [GeForce GT 320]
-
-pci:v000010DEd00000CA3*
- ID_PRODUCT_FROM_DATABASE=GT215 [GeForce GT 240]
-
-pci:v000010DEd00000CA4*
- ID_PRODUCT_FROM_DATABASE=GT215 [GeForce GT 340]
-
-pci:v000010DEd00000CA5*
- ID_PRODUCT_FROM_DATABASE=GT215 [GeForce GT 220]
-
-pci:v000010DEd00000CA7*
- ID_PRODUCT_FROM_DATABASE=GT215 [GeForce GT 330]
-
-pci:v000010DEd00000CA8*
- ID_PRODUCT_FROM_DATABASE=GT215 [GeForce GTS 260M]
-
-pci:v000010DEd00000CA9*
- ID_PRODUCT_FROM_DATABASE=GT215 [GeForce GTS 250M]
-
-pci:v000010DEd00000CAC*
- ID_PRODUCT_FROM_DATABASE=GT215 [GeForce GT 220]
-
-pci:v000010DEd00000CAF*
- ID_PRODUCT_FROM_DATABASE=GT215 [GeForce GT 335M]
-
-pci:v000010DEd00000CB0*
- ID_PRODUCT_FROM_DATABASE=GT215 [GeForce GTS 350M]
-
-pci:v000010DEd00000CB1*
- ID_PRODUCT_FROM_DATABASE=GT215 [GeForce GTS 360M]
-
-pci:v000010DEd00000CBC*
- ID_PRODUCT_FROM_DATABASE=GT215 [Quadro FX 1800M]
-
-pci:v000010DEd00000D60*
- ID_PRODUCT_FROM_DATABASE=MCP89 HOST Bridge
-
-pci:v000010DEd00000D68*
- ID_PRODUCT_FROM_DATABASE=MCP89 Memory Controller
-
-pci:v000010DEd00000D69*
- ID_PRODUCT_FROM_DATABASE=MCP89 Memory Controller
-
-pci:v000010DEd00000D76*
- ID_PRODUCT_FROM_DATABASE=MCP89 PCI Express Bridge
-
-pci:v000010DEd00000D79*
- ID_PRODUCT_FROM_DATABASE=MCP89 SMBus
-
-pci:v000010DEd00000D7A*
- ID_PRODUCT_FROM_DATABASE=MCP89 Co-Processor
-
-pci:v000010DEd00000D7B*
- ID_PRODUCT_FROM_DATABASE=MCP89 Memory Controller
-
-pci:v000010DEd00000D7D*
- ID_PRODUCT_FROM_DATABASE=MCP89 Ethernet
-
-pci:v000010DEd00000D80*
- ID_PRODUCT_FROM_DATABASE=MCP89 LPC Bridge
-
-pci:v000010DEd00000D85*
- ID_PRODUCT_FROM_DATABASE=MCP89 SATA Controller
-
-pci:v000010DEd00000D88*
- ID_PRODUCT_FROM_DATABASE=MCP89 SATA Controller (AHCI mode)
-
-pci:v000010DEd00000D89*
- ID_PRODUCT_FROM_DATABASE=MCP89 SATA Controller (AHCI mode)
-
-pci:v000010DEd00000D8D*
- ID_PRODUCT_FROM_DATABASE=MCP89 SATA Controller (RAID mode)
-
-pci:v000010DEd00000D94*
- ID_PRODUCT_FROM_DATABASE=MCP89 High Definition Audio
-
-pci:v000010DEd00000D9C*
- ID_PRODUCT_FROM_DATABASE=MCP89 OHCI USB 1.1 Controller
-
-pci:v000010DEd00000D9D*
- ID_PRODUCT_FROM_DATABASE=MCP89 EHCI USB 2.0 Controller
-
-pci:v000010DEd00000DC0*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 440]
-
-pci:v000010DEd00000DC4*
- ID_PRODUCT_FROM_DATABASE=GF106 [GeForce GTS 450]
-
-pci:v000010DEd00000DC5*
- ID_PRODUCT_FROM_DATABASE=GF106 [GeForce GTS 450]
-
-pci:v000010DEd00000DC6*
- ID_PRODUCT_FROM_DATABASE=GF106 [GeForce GTS 450]
-
-pci:v000010DEd00000DCD*
- ID_PRODUCT_FROM_DATABASE=GF106 [GeForce GT 555M]
-
-pci:v000010DEd00000DCE*
- ID_PRODUCT_FROM_DATABASE=GF106 [GeForce GT 555M]
-
-pci:v000010DEd00000DD1*
- ID_PRODUCT_FROM_DATABASE=GF106 [GeForce GTX 460M]
-
-pci:v000010DEd00000DD1sv00001558sd00008687*
- ID_PRODUCT_FROM_DATABASE=CLEVO/KAPOK W860CU
-
-pci:v000010DEd00000DD2*
- ID_PRODUCT_FROM_DATABASE=GF106 [GeForce GT 445M]
-
-pci:v000010DEd00000DD8*
- ID_PRODUCT_FROM_DATABASE=GF106GL [Quadro 2000]
-
-pci:v000010DEd00000DDA*
- ID_PRODUCT_FROM_DATABASE=GF106GLM [Quadro 2000M]
-
-pci:v000010DEd00000DE0*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 440]
-
-pci:v000010DEd00000DE1*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 430]
-
-pci:v000010DEd00000DE1sv00003842sd00001430*
- ID_PRODUCT_FROM_DATABASE=GeForce GT 430
-
-pci:v000010DEd00000DE2*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 420]
-
-pci:v000010DEd00000DE4*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 520]
-
-pci:v000010DEd00000DE5*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 530]
-
-pci:v000010DEd00000DE9*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 630M]
-
-pci:v000010DEd00000DEB*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 555M]
-
-pci:v000010DEd00000DEE*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 415M]
-
-pci:v000010DEd00000DEF*
- ID_PRODUCT_FROM_DATABASE=GF108 [Quadro NVS 5400M]
-
-pci:v000010DEd00000DF0*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 425M]
-
-pci:v000010DEd00000DF2*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 435M]
-
-pci:v000010DEd00000DF4*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 540M]
-
-pci:v000010DEd00000DF5*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 540M]
-
-pci:v000010DEd00000DF7*
- ID_PRODUCT_FROM_DATABASE=GF108 [GeForce GT 520M]
-
-pci:v000010DEd00000DF8*
- ID_PRODUCT_FROM_DATABASE=GF108GL [Quadro 600]
-
-pci:v000010DEd00000DF9*
- ID_PRODUCT_FROM_DATABASE=GF108GLM [Quadro 500M]
-
-pci:v000010DEd00000DFA*
- ID_PRODUCT_FROM_DATABASE=GF108GLM [Quadro 1000M]
-
-pci:v000010DEd00000E08*
- ID_PRODUCT_FROM_DATABASE=GF119 HDMI Audio Controller
-
-pci:v000010DEd00000E09*
- ID_PRODUCT_FROM_DATABASE=GF110 High Definition Audio Controller
-
-pci:v000010DEd00000E0A*
- ID_PRODUCT_FROM_DATABASE=GK104 HDMI Audio Controller
-
-pci:v000010DEd00000E0C*
- ID_PRODUCT_FROM_DATABASE=GF114 HDMI Audio Controller
-
-pci:v000010DEd00000E1B*
- ID_PRODUCT_FROM_DATABASE=GK107 HDMI Audio Controller
-
-pci:v000010DEd00000E1Bsv00001043sd00008428*
- ID_PRODUCT_FROM_DATABASE=GTX650-DC-1GD5
-
-pci:v000010DEd00000E22*
- ID_PRODUCT_FROM_DATABASE=GF104 [GeForce GTX 460]
-
-pci:v000010DEd00000E22sv00001462sd00002322*
- ID_PRODUCT_FROM_DATABASE=N460GTX Cyclone 1GD5/OC
-
-pci:v000010DEd00000E23*
- ID_PRODUCT_FROM_DATABASE=GF104 [GeForce GTX 460 SE]
-
-pci:v000010DEd00000E24*
- ID_PRODUCT_FROM_DATABASE=GF104 [GeForce GTX 460]
-
-pci:v000010DEd00000E3A*
- ID_PRODUCT_FROM_DATABASE=GF104 [Quadro 3000M]
-
-pci:v000010DEd00000E3B*
- ID_PRODUCT_FROM_DATABASE=GF104 [Quadro 4000M]
-
-pci:v000010DEd00000F00*
- ID_PRODUCT_FROM_DATABASE=GK107 [GeForce GT 630]
-
-pci:v000010DEd00000F01*
- ID_PRODUCT_FROM_DATABASE=GeForce GT 620
-
-pci:v000010DEd00000FC0*
- ID_PRODUCT_FROM_DATABASE=GK107 [GeForce GT 640]
-
-pci:v000010DEd00000FC1*
- ID_PRODUCT_FROM_DATABASE=GK107 [GeForce GT 640]
-
-pci:v000010DEd00000FC6*
- ID_PRODUCT_FROM_DATABASE=GK107 [GeForce GTX 650]
-
-pci:v000010DEd00000FC6sv00001043sd00008428*
- ID_PRODUCT_FROM_DATABASE=GTX650-DC-1GD5
-
-pci:v000010DEd00000FD1*
- ID_PRODUCT_FROM_DATABASE=GK107 [GeForce GT 650M]
-
-pci:v000010DEd00000FD1sv00001043sd00002103*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v000010DEd00000FD2*
- ID_PRODUCT_FROM_DATABASE=GK107 [GeForce GT 640M]
-
-pci:v000010DEd00000FF2*
- ID_PRODUCT_FROM_DATABASE=GK107 [VGX K1]
-
-pci:v000010DEd00000FFA*
- ID_PRODUCT_FROM_DATABASE=GK107 [Quadro K600]
-
-pci:v000010DEd00000FFB*
- ID_PRODUCT_FROM_DATABASE=GK107 [Quadro K2000M]
-
-pci:v000010DEd00000FFC*
- ID_PRODUCT_FROM_DATABASE=GK107 [Quadro K1000M]
-
-pci:v000010DEd00000FFE*
- ID_PRODUCT_FROM_DATABASE=GK107 [Quadro K2000]
-
-pci:v000010DEd00000FFF*
- ID_PRODUCT_FROM_DATABASE=GK107 [Quadro 410]
-
-pci:v000010DEd00001040*
- ID_PRODUCT_FROM_DATABASE=GF119 [GeForce GT 520]
-
-pci:v000010DEd00001042*
- ID_PRODUCT_FROM_DATABASE=GF119 [GeForce 510]
-
-pci:v000010DEd00001048*
- ID_PRODUCT_FROM_DATABASE=GF119 [GeForce 605]
-
-pci:v000010DEd00001049*
- ID_PRODUCT_FROM_DATABASE=GF119 [GeForce GT 620]
-
-pci:v000010DEd0000104A*
- ID_PRODUCT_FROM_DATABASE=GF119 [GeForce GT 610]
-
-pci:v000010DEd00001050*
- ID_PRODUCT_FROM_DATABASE=GF119 [GeForce GT 520M]
-
-pci:v000010DEd00001051*
- ID_PRODUCT_FROM_DATABASE=GF119 [GeForce GT 520MX]
-
-pci:v000010DEd00001055*
- ID_PRODUCT_FROM_DATABASE=GF119 [GeForce 410M]
-
-pci:v000010DEd00001056*
- ID_PRODUCT_FROM_DATABASE=GF119 [Quadro NVS 4200M]
-
-pci:v000010DEd00001057*
- ID_PRODUCT_FROM_DATABASE=GF119 [Quadro NVS 4200M]
-
-pci:v000010DEd0000105A*
- ID_PRODUCT_FROM_DATABASE=GF119 [GeForce 610M]
-
-pci:v000010DEd0000107D*
- ID_PRODUCT_FROM_DATABASE=GF119 [Quadro NVS 310]
-
-pci:v000010DEd00001080*
- ID_PRODUCT_FROM_DATABASE=GF110 [GeForce GTX 580]
-
-pci:v000010DEd00001081*
- ID_PRODUCT_FROM_DATABASE=GF110 [GeForce GTX 570]
-
-pci:v000010DEd00001081sv000010DEsd0000087E*
- ID_PRODUCT_FROM_DATABASE=Leadtek WinFast GTX 570
-
-pci:v000010DEd00001082*
- ID_PRODUCT_FROM_DATABASE=GF110 [GeForce GTX 560 Ti]
-
-pci:v000010DEd00001084*
- ID_PRODUCT_FROM_DATABASE=GF110 [GeForce GTX 560]
-
-pci:v000010DEd00001086*
- ID_PRODUCT_FROM_DATABASE=GF110 [GeForce GTX 570 HD]
-
-pci:v000010DEd00001087*
- ID_PRODUCT_FROM_DATABASE=GF110 [GeForce GTX 560 Ti 448 Cores]
-
-pci:v000010DEd00001088*
- ID_PRODUCT_FROM_DATABASE=GF110 [GeForce GTX 590]
-
-pci:v000010DEd00001089*
- ID_PRODUCT_FROM_DATABASE=GF110 [GeForce GTX 580]
-
-pci:v000010DEd0000108B*
- ID_PRODUCT_FROM_DATABASE=GF110 [GeForce GTX 580]
-
-pci:v000010DEd00001091*
- ID_PRODUCT_FROM_DATABASE=Tesla M2090
-
-pci:v000010DEd00001094*
- ID_PRODUCT_FROM_DATABASE=Tesla M2075 Dual-Slot Computing Processor Module
-
-pci:v000010DEd00001096*
- ID_PRODUCT_FROM_DATABASE=Tesla C2075
-
-pci:v000010DEd0000109B*
- ID_PRODUCT_FROM_DATABASE=GF100GL [Quadro 7000]
-
-pci:v000010DEd000010C3*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 8400 GS]
-
-pci:v000010DEd000010C3sv000010DEsd0000066D*
- ID_PRODUCT_FROM_DATABASE=G98 [GeForce 8400GS]
-
-pci:v000010DEd000010C5*
- ID_PRODUCT_FROM_DATABASE=GT218 [GeForce 405]
-
-pci:v000010DEd000010D8*
- ID_PRODUCT_FROM_DATABASE=GT218 [Quadro NVS 300]
-
-pci:v000010DEd00001180*
- ID_PRODUCT_FROM_DATABASE=GK104 [GeForce GTX 680]
-
-pci:v000010DEd00001183*
- ID_PRODUCT_FROM_DATABASE=GK104 [GeForce GTX 660 Ti]
-
-pci:v000010DEd00001188*
- ID_PRODUCT_FROM_DATABASE=GK104 [GeForce GTX 690]
-
-pci:v000010DEd00001189*
- ID_PRODUCT_FROM_DATABASE=GK104 [GeForce GTX 670]
-
-pci:v000010DEd000011BA*
- ID_PRODUCT_FROM_DATABASE=GK104 [Quadro K5000]
-
-pci:v000010DEd000011BC*
- ID_PRODUCT_FROM_DATABASE=GK104 [Quadro K5000M]
-
-pci:v000010DEd000011BD*
- ID_PRODUCT_FROM_DATABASE=GK104 [Quadro K4000M]
-
-pci:v000010DEd000011BE*
- ID_PRODUCT_FROM_DATABASE=GK104 [Quadro K3000M]
-
-pci:v000010DEd000011BF*
- ID_PRODUCT_FROM_DATABASE=GK104GL [VGX K2]
-
-pci:v000010DEd000011FA*
- ID_PRODUCT_FROM_DATABASE=GK104 [Quadro K4000]
-
-pci:v000010DEd00001200*
- ID_PRODUCT_FROM_DATABASE=GF114 [GeForce GTX 560 Ti]
-
-pci:v000010DEd00001201*
- ID_PRODUCT_FROM_DATABASE=GF114 [GeForce GTX 560]
-
-pci:v000010DEd00001205*
- ID_PRODUCT_FROM_DATABASE=GF114 [GeForce GTX 460 v2]
-
-pci:v000010DEd00001206*
- ID_PRODUCT_FROM_DATABASE=GF114 [GeForce GTX 555]
-
-pci:v000010DEd00001207*
- ID_PRODUCT_FROM_DATABASE=GF114 [GeForce GTX 645]
-
-pci:v000010DEd00001208*
- ID_PRODUCT_FROM_DATABASE=GF114 [GeForce GTX 560 SE]
-
-pci:v000010DEd00001210*
- ID_PRODUCT_FROM_DATABASE=GF114 [GeForce GTX 570M]
-
-pci:v000010DEd00001241*
- ID_PRODUCT_FROM_DATABASE=GF116 [GeForce GT 545]
-
-pci:v000010DEd00001243*
- ID_PRODUCT_FROM_DATABASE=GF116 [GeForce GT 545]
-
-pci:v000010DEd00001244*
- ID_PRODUCT_FROM_DATABASE=GF116 [GeForce GTX 550 Ti]
-
-pci:v000010DEd00001245*
- ID_PRODUCT_FROM_DATABASE=GF116 [GeForce GTS 450]
-
-pci:v000010DEd00001247*
- ID_PRODUCT_FROM_DATABASE=GF116 [GeForce GT 555M]
-
-pci:v000010DEd00001249*
- ID_PRODUCT_FROM_DATABASE=GF116 [GeForce GTS 450]
-
-pci:v000010DEd0000124B*
- ID_PRODUCT_FROM_DATABASE=GF116 [GeForce GT 640]
-
-pci:v000010DF*
- ID_VENDOR_FROM_DATABASE=Emulex Corporation
-
-pci:v000010DFd00000720*
- ID_PRODUCT_FROM_DATABASE=OneConnect NIC (Skyhawk)
-
-pci:v000010DFd00000722*
- ID_PRODUCT_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk)
-
-pci:v000010DFd00000723*
- ID_PRODUCT_FROM_DATABASE=OneConnect iSCSI Initiator + Target (Skyhawk)
-
-pci:v000010DFd00000724*
- ID_PRODUCT_FROM_DATABASE=OneConnect FCoE Initiator (Skyhawk)
-
-pci:v000010DFd00000728*
- ID_PRODUCT_FROM_DATABASE=OneConnect NIC (Skyhawk-VF)
-
-pci:v000010DFd0000072A*
- ID_PRODUCT_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk-VF)
-
-pci:v000010DFd0000072B*
- ID_PRODUCT_FROM_DATABASE=OneConnect iSCSI Initiator + Target (Skyhawk-VF)
-
-pci:v000010DFd0000072C*
- ID_PRODUCT_FROM_DATABASE=OneConnect FCoE Initiator (Skyhawk-VF)
-
-pci:v000010DFd00001AE5*
- ID_PRODUCT_FROM_DATABASE=LP6000 Fibre Channel Host Adapter
-
-pci:v000010DFd0000E100*
- ID_PRODUCT_FROM_DATABASE=Proteus-X: LightPulse IOV Fibre Channel Host Adapter
-
-pci:v000010DFd0000E131*
- ID_PRODUCT_FROM_DATABASE=LightPulse 8Gb/s PCIe Shared I/O Fibre Channel Adapter
-
-pci:v000010DFd0000E180*
- ID_PRODUCT_FROM_DATABASE=Proteus-X: LightPulse IOV Fibre Channel Host Adapter
-
-pci:v000010DFd0000E200*
- ID_PRODUCT_FROM_DATABASE=Lancer-X: LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000E208*
- ID_PRODUCT_FROM_DATABASE=LightPulse 16Gb Fibre Channel Host Adapter (Lancer-VF)
-
-pci:v000010DFd0000E220*
- ID_PRODUCT_FROM_DATABASE=OneConnect NIC (Lancer)
-
-pci:v000010DFd0000E240*
- ID_PRODUCT_FROM_DATABASE=OneConnect iSCSI Initiator (Lancer)
-
-pci:v000010DFd0000E260*
- ID_PRODUCT_FROM_DATABASE=OneConnect FCoE Initiator (Lancer)
-
-pci:v000010DFd0000E268*
- ID_PRODUCT_FROM_DATABASE=OneConnect 10Gb FCoE Converged Network Adapter (Lancer-VF)
-
-pci:v000010DFd0000F011*
- ID_PRODUCT_FROM_DATABASE=Saturn: LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000F015*
- ID_PRODUCT_FROM_DATABASE=Saturn: LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000F085*
- ID_PRODUCT_FROM_DATABASE=LP850 Fibre Channel Host Adapter
-
-pci:v000010DFd0000F095*
- ID_PRODUCT_FROM_DATABASE=LP952 Fibre Channel Host Adapter
-
-pci:v000010DFd0000F098*
- ID_PRODUCT_FROM_DATABASE=LP982 Fibre Channel Host Adapter
-
-pci:v000010DFd0000F0A1*
- ID_PRODUCT_FROM_DATABASE=Thor LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000F0A5*
- ID_PRODUCT_FROM_DATABASE=Thor LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000F0B5*
- ID_PRODUCT_FROM_DATABASE=Viper LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000F0D1*
- ID_PRODUCT_FROM_DATABASE=Helios LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000F0D5*
- ID_PRODUCT_FROM_DATABASE=Helios LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000F0E1*
- ID_PRODUCT_FROM_DATABASE=Zephyr LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000F0E5*
- ID_PRODUCT_FROM_DATABASE=Zephyr LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000F0F5*
- ID_PRODUCT_FROM_DATABASE=Neptune LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000F100*
- ID_PRODUCT_FROM_DATABASE=Saturn-X: LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000F111*
- ID_PRODUCT_FROM_DATABASE=Saturn-X LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000F112*
- ID_PRODUCT_FROM_DATABASE=Saturn-X LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000F180*
- ID_PRODUCT_FROM_DATABASE=LPSe12002 EmulexSecure Fibre Channel Adapter
-
-pci:v000010DFd0000F700*
- ID_PRODUCT_FROM_DATABASE=LP7000 Fibre Channel Host Adapter
-
-pci:v000010DFd0000F701*
- ID_PRODUCT_FROM_DATABASE=LP7000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)
-
-pci:v000010DFd0000F800*
- ID_PRODUCT_FROM_DATABASE=LP8000 Fibre Channel Host Adapter
-
-pci:v000010DFd0000F801*
- ID_PRODUCT_FROM_DATABASE=LP8000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)
-
-pci:v000010DFd0000F900*
- ID_PRODUCT_FROM_DATABASE=LP9000 Fibre Channel Host Adapter
-
-pci:v000010DFd0000F901*
- ID_PRODUCT_FROM_DATABASE=LP9000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)
-
-pci:v000010DFd0000F980*
- ID_PRODUCT_FROM_DATABASE=LP9802 Fibre Channel Host Adapter
-
-pci:v000010DFd0000F981*
- ID_PRODUCT_FROM_DATABASE=LP9802 Fibre Channel Host Adapter Alternate ID
-
-pci:v000010DFd0000F982*
- ID_PRODUCT_FROM_DATABASE=LP9802 Fibre Channel Host Adapter Alternate ID
-
-pci:v000010DFd0000FA00*
- ID_PRODUCT_FROM_DATABASE=Thor-X LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000FB00*
- ID_PRODUCT_FROM_DATABASE=Viper LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000FC00*
- ID_PRODUCT_FROM_DATABASE=Thor-X LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000FC00sv000010DFsd0000FC00*
- ID_PRODUCT_FROM_DATABASE=LP10000 LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000FC10*
- ID_PRODUCT_FROM_DATABASE=Helios-X LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000FC20*
- ID_PRODUCT_FROM_DATABASE=Zephyr-X LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000FC40*
- ID_PRODUCT_FROM_DATABASE=Saturn-X: LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000FC50*
- ID_PRODUCT_FROM_DATABASE=Proteus-X: LightPulse IOV Fibre Channel Host Adapter
-
-pci:v000010DFd0000FD00*
- ID_PRODUCT_FROM_DATABASE=Helios-X LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000FD11*
- ID_PRODUCT_FROM_DATABASE=Helios-X LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000FD12*
- ID_PRODUCT_FROM_DATABASE=Helios-X LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000FE00*
- ID_PRODUCT_FROM_DATABASE=Zephyr-X LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000FE05*
- ID_PRODUCT_FROM_DATABASE=Zephyr-X: LightPulse FCoE Adapter
-
-pci:v000010DFd0000FE11*
- ID_PRODUCT_FROM_DATABASE=Zephyr-X LightPulse Fibre Channel Host Adapter
-
-pci:v000010DFd0000FE12*
- ID_PRODUCT_FROM_DATABASE=Zephyr-X LightPulse FCoE Adapter
-
-pci:v000010DFd0000FF00*
- ID_PRODUCT_FROM_DATABASE=Neptune LightPulse Fibre Channel Host Adapter
-
-pci:v000010E0*
- ID_VENDOR_FROM_DATABASE=Integrated Micro Solutions Inc.
-
-pci:v000010E0d00005026*
- ID_PRODUCT_FROM_DATABASE=IMS5026/27/28
-
-pci:v000010E0d00005027*
- ID_PRODUCT_FROM_DATABASE=IMS5027
-
-pci:v000010E0d00005028*
- ID_PRODUCT_FROM_DATABASE=IMS5028
-
-pci:v000010E0d00008849*
- ID_PRODUCT_FROM_DATABASE=IMS8849
-
-pci:v000010E0d00008853*
- ID_PRODUCT_FROM_DATABASE=IMS8853
-
-pci:v000010E0d00009128*
- ID_PRODUCT_FROM_DATABASE=IMS9128 [Twin turbo 128]
-
-pci:v000010E1*
- ID_VENDOR_FROM_DATABASE=Tekram Technology Co.,Ltd.
-
-pci:v000010E1d00000391*
- ID_PRODUCT_FROM_DATABASE=TRM-S1040
-
-pci:v000010E1d00000391sv000010E1sd00000391*
- ID_PRODUCT_FROM_DATABASE=DC-315U SCSI-3 Host Adapter
-
-pci:v000010E1d0000690C*
- ID_PRODUCT_FROM_DATABASE=DC-690c
-
-pci:v000010E1d0000DC29*
- ID_PRODUCT_FROM_DATABASE=DC-290
-
-pci:v000010E2*
- ID_VENDOR_FROM_DATABASE=Aptix Corporation
-
-pci:v000010E3*
- ID_VENDOR_FROM_DATABASE=Tundra Semiconductor Corp.
-
-pci:v000010E3d00000000*
- ID_PRODUCT_FROM_DATABASE=CA91C042 [Universe]
-
-pci:v000010E3d00000108*
- ID_PRODUCT_FROM_DATABASE=Tsi108 Host Bridge for Single PowerPC
-
-pci:v000010E3d00000148*
- ID_PRODUCT_FROM_DATABASE=Tsi148 [Tempe]
-
-pci:v000010E3d00000148sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=VR11 Single Board Computer
-
-pci:v000010E3d00000860*
- ID_PRODUCT_FROM_DATABASE=CA91C860 [QSpan]
-
-pci:v000010E3d00000862*
- ID_PRODUCT_FROM_DATABASE=CA91C862A [QSpan-II]
-
-pci:v000010E3d00008260*
- ID_PRODUCT_FROM_DATABASE=CA91L8200B [Dual PCI PowerSpan II]
-
-pci:v000010E3d00008261*
- ID_PRODUCT_FROM_DATABASE=CA91L8260B [Single PCI PowerSpan II]
-
-pci:v000010E3d0000A108*
- ID_PRODUCT_FROM_DATABASE=Tsi109 Host Bridge for Dual PowerPC
-
-pci:v000010E4*
- ID_VENDOR_FROM_DATABASE=Tandem Computers
-
-pci:v000010E4d00008029*
- ID_PRODUCT_FROM_DATABASE=Realtek 8029 Network Card
-
-pci:v000010E5*
- ID_VENDOR_FROM_DATABASE=Micro Industries Corporation
-
-pci:v000010E6*
- ID_VENDOR_FROM_DATABASE=Gainbery Computer Products Inc.
-
-pci:v000010E7*
- ID_VENDOR_FROM_DATABASE=Vadem
-
-pci:v000010E8*
- ID_VENDOR_FROM_DATABASE=Applied Micro Circuits Corp.
-
-pci:v000010E8d00001072*
- ID_PRODUCT_FROM_DATABASE=INES GPIB-PCI (AMCC5920 based)
-
-pci:v000010E8d00002011*
- ID_PRODUCT_FROM_DATABASE=Q-Motion Video Capture/Edit board
-
-pci:v000010E8d00004750*
- ID_PRODUCT_FROM_DATABASE=S5930 [Matchmaker]
-
-pci:v000010E8d00005920*
- ID_PRODUCT_FROM_DATABASE=S5920
-
-pci:v000010E8d00008043*
- ID_PRODUCT_FROM_DATABASE=LANai4.x [Myrinet LANai interface chip]
-
-pci:v000010E8d00008062*
- ID_PRODUCT_FROM_DATABASE=S5933_PARASTATION
-
-pci:v000010E8d0000807D*
- ID_PRODUCT_FROM_DATABASE=S5933 [Matchmaker]
-
-pci:v000010E8d00008088*
- ID_PRODUCT_FROM_DATABASE=Kongsberg Spacetec Format Synchronizer
-
-pci:v000010E8d00008089*
- ID_PRODUCT_FROM_DATABASE=Kongsberg Spacetec Serial Output Board
-
-pci:v000010E8d0000809C*
- ID_PRODUCT_FROM_DATABASE=S5933_HEPC3
-
-pci:v000010E8d000080B9*
- ID_PRODUCT_FROM_DATABASE=Harmonix Hi-Card P8 (4x active ISDN BRI)
-
-pci:v000010E8d000080D7*
- ID_PRODUCT_FROM_DATABASE=PCI-9112
-
-pci:v000010E8d000080D8*
- ID_PRODUCT_FROM_DATABASE=PCI-7200
-
-pci:v000010E8d000080D9*
- ID_PRODUCT_FROM_DATABASE=PCI-9118
-
-pci:v000010E8d000080DA*
- ID_PRODUCT_FROM_DATABASE=PCI-9812
-
-pci:v000010E8d000080FC*
- ID_PRODUCT_FROM_DATABASE=APCI1500 Signal processing controller (16 dig. inputs + 16 dig. outputs)
-
-pci:v000010E8d0000811A*
- ID_PRODUCT_FROM_DATABASE=PCI-IEEE1355-DS-DE Interface
-
-pci:v000010E8d0000814C*
- ID_PRODUCT_FROM_DATABASE=Fastcom ESCC-PCI (Commtech, Inc.)
-
-pci:v000010E8d00008170*
- ID_PRODUCT_FROM_DATABASE=S5933 [Matchmaker] (Chipset Development Tool)
-
-pci:v000010E8d000081E6*
- ID_PRODUCT_FROM_DATABASE=Multimedia video controller
-
-pci:v000010E8d0000828D*
- ID_PRODUCT_FROM_DATABASE=APCI3001 Signal processing controller (up to 16 analog inputs)
-
-pci:v000010E8d00008291*
- ID_PRODUCT_FROM_DATABASE=Fastcom 232/8-PCI (Commtech, Inc.)
-
-pci:v000010E8d000082C4*
- ID_PRODUCT_FROM_DATABASE=Fastcom 422/4-PCI (Commtech, Inc.)
-
-pci:v000010E8d000082C5*
- ID_PRODUCT_FROM_DATABASE=Fastcom 422/2-PCI (Commtech, Inc.)
-
-pci:v000010E8d000082C6*
- ID_PRODUCT_FROM_DATABASE=Fastcom IG422/1-PCI (Commtech, Inc.)
-
-pci:v000010E8d000082C7*
- ID_PRODUCT_FROM_DATABASE=Fastcom IG232/2-PCI (Commtech, Inc.)
-
-pci:v000010E8d000082CA*
- ID_PRODUCT_FROM_DATABASE=Fastcom 232/4-PCI (Commtech, Inc.)
-
-pci:v000010E8d000082DB*
- ID_PRODUCT_FROM_DATABASE=AJA HDNTV HD SDI Framestore
-
-pci:v000010E8d000082E2*
- ID_PRODUCT_FROM_DATABASE=Fastcom DIO24H-PCI (Commtech, Inc.)
-
-pci:v000010E8d00008406*
- ID_PRODUCT_FROM_DATABASE=PCIcanx/PCIcan CAN interface [Kvaser AB]
-
-pci:v000010E8d00008407*
- ID_PRODUCT_FROM_DATABASE=PCIcan II CAN interface (A1021, PCB-07, PCB-08) [Kvaser AB]
-
-pci:v000010E8d00008851*
- ID_PRODUCT_FROM_DATABASE=S5933 on Innes Corp FM Radio Capture card
-
-pci:v000010E9*
- ID_VENDOR_FROM_DATABASE=Alps Electric Co., Ltd.
-
-pci:v000010EA*
- ID_VENDOR_FROM_DATABASE=Integraphics
-
-pci:v000010EAd00001680*
- ID_PRODUCT_FROM_DATABASE=IGA-1680
-
-pci:v000010EAd00001682*
- ID_PRODUCT_FROM_DATABASE=IGA-1682
-
-pci:v000010EAd00001683*
- ID_PRODUCT_FROM_DATABASE=IGA-1683
-
-pci:v000010EAd00002000*
- ID_PRODUCT_FROM_DATABASE=CyberPro 2000
-
-pci:v000010EAd00002010*
- ID_PRODUCT_FROM_DATABASE=CyberPro 2000A
-
-pci:v000010EAd00005000*
- ID_PRODUCT_FROM_DATABASE=CyberPro 5000
-
-pci:v000010EAd00005050*
- ID_PRODUCT_FROM_DATABASE=CyberPro 5050
-
-pci:v000010EAd00005202*
- ID_PRODUCT_FROM_DATABASE=CyberPro 5202
-
-pci:v000010EAd00005252*
- ID_PRODUCT_FROM_DATABASE=CyberPro5252
-
-pci:v000010EB*
- ID_VENDOR_FROM_DATABASE=Artists Graphics
-
-pci:v000010EBd00000101*
- ID_PRODUCT_FROM_DATABASE=3GA
-
-pci:v000010EBd00008111*
- ID_PRODUCT_FROM_DATABASE=Twist3 Frame Grabber
-
-pci:v000010EC*
- ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Co., Ltd.
-
-pci:v000010ECd00000139*
- ID_PRODUCT_FROM_DATABASE=Zonet Zen3200
-
-pci:v000010ECd00000260*
- ID_PRODUCT_FROM_DATABASE=Realtek 260 High Definition Audio
-
-pci:v000010ECd00000261*
- ID_PRODUCT_FROM_DATABASE=Realtek 261 High Definition Audio
-
-pci:v000010ECd00000262*
- ID_PRODUCT_FROM_DATABASE=Realtek 262 High Definition Audio
-
-pci:v000010ECd00000269*
- ID_PRODUCT_FROM_DATABASE=Realtek ALC269 High Definition Audio (82801G)
-
-pci:v000010ECd00000280*
- ID_PRODUCT_FROM_DATABASE=Realtek 280 High Definition Audio
-
-pci:v000010ECd00000660*
- ID_PRODUCT_FROM_DATABASE=Realtek 660 High Definition Audio
-
-pci:v000010ECd00000662*
- ID_PRODUCT_FROM_DATABASE=Realtek 662 High Definition Audio
-
-pci:v000010ECd00000861*
- ID_PRODUCT_FROM_DATABASE=Realtek 861 High Definition Audio
-
-pci:v000010ECd00000862*
- ID_PRODUCT_FROM_DATABASE=Realtek 862 High Definition Audio
-
-pci:v000010ECd00000880*
- ID_PRODUCT_FROM_DATABASE=Realtek 880 High Definition Audio
-
-pci:v000010ECd00000883*
- ID_PRODUCT_FROM_DATABASE=Realtek 883 High Definition Audio
-
-pci:v000010ECd00000883sv00001025sd00001605*
- ID_PRODUCT_FROM_DATABASE=TravelMate 5600 series
-
-pci:v000010ECd00000885*
- ID_PRODUCT_FROM_DATABASE=Realtek 885 High Definition Audio
-
-pci:v000010ECd00000888*
- ID_PRODUCT_FROM_DATABASE=Realtek 888 High Definition Audio
-
-pci:v000010ECd00000888sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v000010ECd00000892*
- ID_PRODUCT_FROM_DATABASE=Realtek 892 High Definition Audio
-
-pci:v000010ECd00005209*
- ID_PRODUCT_FROM_DATABASE=RTS5209 PCI Express Card Reader
-
-pci:v000010ECd00005229*
- ID_PRODUCT_FROM_DATABASE=RTS5229 PCI Express Card Reader
-
-pci:v000010ECd00005288*
- ID_PRODUCT_FROM_DATABASE=Barossa PCI Express Card Reader
-
-pci:v000010ECd00008029*
- ID_PRODUCT_FROM_DATABASE=RTL-8029(AS)
-
-pci:v000010ECd00008029sv000010B8sd00002011*
- ID_PRODUCT_FROM_DATABASE=EZ-Card (SMC1208)
-
-pci:v000010ECd00008029sv000010ECsd00008029*
- ID_PRODUCT_FROM_DATABASE=RTL-8029(AS)
-
-pci:v000010ECd00008029sv00001113sd00001208*
- ID_PRODUCT_FROM_DATABASE=EN1208
-
-pci:v000010ECd00008029sv00001186sd00000300*
- ID_PRODUCT_FROM_DATABASE=DE-528
-
-pci:v000010ECd00008029sv00001259sd00002400*
- ID_PRODUCT_FROM_DATABASE=AT-2400
-
-pci:v000010ECd00008029sv00001AF4sd00001100*
- ID_PRODUCT_FROM_DATABASE=Qemu virtual machine
-
-pci:v000010ECd00008129*
- ID_PRODUCT_FROM_DATABASE=RTL-8129
-
-pci:v000010ECd00008129sv000010ECsd00008129*
- ID_PRODUCT_FROM_DATABASE=RT8129 Fast Ethernet Adapter
-
-pci:v000010ECd00008129sv000011ECsd00008129*
- ID_PRODUCT_FROM_DATABASE=RT8129 Fast Ethernet Adapter
-
-pci:v000010ECd00008136*
- ID_PRODUCT_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller
-
-pci:v000010ECd00008136sv0000103Csd00002AB1*
- ID_PRODUCT_FROM_DATABASE=Pavillion p6774
-
-pci:v000010ECd00008136sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v000010ECd00008136sv00001179sd0000FF64*
- ID_PRODUCT_FROM_DATABASE=RTL8102E PCI-E Fast Ethernet NIC
-
-pci:v000010ECd00008138*
- ID_PRODUCT_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter
-
-pci:v000010ECd00008138sv000010ECsd00008138*
- ID_PRODUCT_FROM_DATABASE=RT8139 (B/C) Fast Ethernet Adapter
-
-pci:v000010ECd00008139*
- ID_PRODUCT_FROM_DATABASE=RTL-8139/8139C/8139C+
-
-pci:v000010ECd00008139sv00000357sd0000000A*
- ID_PRODUCT_FROM_DATABASE=TTP-Monitoring Card V2.0
-
-pci:v000010ECd00008139sv00001025sd0000005A*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290
-
-pci:v000010ECd00008139sv00001025sd00008920*
- ID_PRODUCT_FROM_DATABASE=ALN-325
-
-pci:v000010ECd00008139sv00001025sd00008921*
- ID_PRODUCT_FROM_DATABASE=ALN-325
-
-pci:v000010ECd00008139sv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=NX9500
-
-pci:v000010ECd00008139sv0000103Csd00002A20*
- ID_PRODUCT_FROM_DATABASE=Pavilion t3030.de Desktop PC
-
-pci:v000010ECd00008139sv0000103Csd000030D9*
- ID_PRODUCT_FROM_DATABASE=Presario C700
-
-pci:v000010ECd00008139sv00001043sd00001045*
- ID_PRODUCT_FROM_DATABASE=L8400B or L3C/S notebook
-
-pci:v000010ECd00008139sv00001043sd00008109*
- ID_PRODUCT_FROM_DATABASE=P5P800-MX Mainboard
-
-pci:v000010ECd00008139sv00001071sd00008160*
- ID_PRODUCT_FROM_DATABASE=MIM2000
-
-pci:v000010ECd00008139sv000010BDsd00000320*
- ID_PRODUCT_FROM_DATABASE=EP-320X-R
-
-pci:v000010ECd00008139sv000010F7sd00008338*
- ID_PRODUCT_FROM_DATABASE=Panasonic CF-Y5 laptop
-
-pci:v000010ECd00008139sv00001113sd0000EC01*
- ID_PRODUCT_FROM_DATABASE=FNC-0107TX
-
-pci:v000010ECd00008139sv00001186sd00001300*
- ID_PRODUCT_FROM_DATABASE=DFE-538TX
-
-pci:v000010ECd00008139sv00001186sd00001320*
- ID_PRODUCT_FROM_DATABASE=SN5200
-
-pci:v000010ECd00008139sv00001186sd00008139*
- ID_PRODUCT_FROM_DATABASE=DRN-32TX
-
-pci:v000010ECd00008139sv000011F6sd00008139*
- ID_PRODUCT_FROM_DATABASE=FN22-3(A) LinxPRO Ethernet Adapter
-
-pci:v000010ECd00008139sv00001259sd00002500*
- ID_PRODUCT_FROM_DATABASE=AT-2500TX
-
-pci:v000010ECd00008139sv00001259sd00002503*
- ID_PRODUCT_FROM_DATABASE=AT-2500TX/ACPI
-
-pci:v000010ECd00008139sv00001385sd0000F31D*
- ID_PRODUCT_FROM_DATABASE=FA311 v2
-
-pci:v000010ECd00008139sv00001395sd00002100*
- ID_PRODUCT_FROM_DATABASE=AMB2100
-
-pci:v000010ECd00008139sv00001429sd0000D010*
- ID_PRODUCT_FROM_DATABASE=ND010/ND012
-
-pci:v000010ECd00008139sv00001432sd00009130*
- ID_PRODUCT_FROM_DATABASE=EN-9130TX
-
-pci:v000010ECd00008139sv00001436sd00008139*
- ID_PRODUCT_FROM_DATABASE=RT8139
-
-pci:v000010ECd00008139sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30/P35 notebook
-
-pci:v000010ECd00008139sv00001458sd0000E000*
- ID_PRODUCT_FROM_DATABASE=GA-7VM400M/7VT600 Motherboard
-
-pci:v000010ECd00008139sv00001462sd00000131*
- ID_PRODUCT_FROM_DATABASE=MS-1013 Notebook
-
-pci:v000010ECd00008139sv00001462sd0000217C*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v000010ECd00008139sv00001462sd0000788C*
- ID_PRODUCT_FROM_DATABASE=865PE Neo2-V Mainboard
-
-pci:v000010ECd00008139sv0000146Csd00001439*
- ID_PRODUCT_FROM_DATABASE=FE-1439TX
-
-pci:v000010ECd00008139sv00001489sd00006001*
- ID_PRODUCT_FROM_DATABASE=GF100TXRII
-
-pci:v000010ECd00008139sv00001489sd00006002*
- ID_PRODUCT_FROM_DATABASE=GF100TXRA
-
-pci:v000010ECd00008139sv0000149Csd0000139A*
- ID_PRODUCT_FROM_DATABASE=LFE-8139ATX
-
-pci:v000010ECd00008139sv0000149Csd00008139*
- ID_PRODUCT_FROM_DATABASE=LFE-8139TX
-
-pci:v000010ECd00008139sv000014CBsd00000200*
- ID_PRODUCT_FROM_DATABASE=LNR-100 Family 10/100 Base-TX Ethernet
-
-pci:v000010ECd00008139sv00001565sd00002300*
- ID_PRODUCT_FROM_DATABASE=P4TSV Onboard LAN (RTL8100B)
-
-pci:v000010ECd00008139sv00001631sd00007003*
- ID_PRODUCT_FROM_DATABASE=Onboard RTL8111 on GA-8SIML Rev1.0 Mainboard
-
-pci:v000010ECd00008139sv00001695sd00009001*
- ID_PRODUCT_FROM_DATABASE=Onboard RTL8101L 10/100 MBit
-
-pci:v000010ECd00008139sv000016ECsd000000FF*
- ID_PRODUCT_FROM_DATABASE=USR997900A
-
-pci:v000010ECd00008139sv00001799sd00005000*
- ID_PRODUCT_FROM_DATABASE=F5D5000 PCI Card/Desktop Network PCI Card
-
-pci:v000010ECd00008139sv00001799sd00005010*
- ID_PRODUCT_FROM_DATABASE=F5D5010 CardBus Notebook Network Card
-
-pci:v000010ECd00008139sv0000187Esd00003303*
- ID_PRODUCT_FROM_DATABASE=FN312
-
-pci:v000010ECd00008139sv00001904sd00008139*
- ID_PRODUCT_FROM_DATABASE=RTL8139D Fast Ethernet Adapter
-
-pci:v000010ECd00008139sv00002646sd00000001*
- ID_PRODUCT_FROM_DATABASE=KNE120TX
-
-pci:v000010ECd00008139sv00008E2Esd00007000*
- ID_PRODUCT_FROM_DATABASE=KF-230TX
-
-pci:v000010ECd00008139sv00008E2Esd00007100*
- ID_PRODUCT_FROM_DATABASE=KF-230TX/2
-
-pci:v000010ECd00008139sv0000A0A0sd00000007*
- ID_PRODUCT_FROM_DATABASE=ALN-325C
-
-pci:v000010ECd00008167*
- ID_PRODUCT_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet
-
-pci:v000010ECd00008167sv00001458sd0000E000*
- ID_PRODUCT_FROM_DATABASE=GA-MA69G-S3H Motherboard
-
-pci:v000010ECd00008167sv00001462sd0000235C*
- ID_PRODUCT_FROM_DATABASE=P965 Neo MS-7235 mainboard
-
-pci:v000010ECd00008167sv00001462sd0000236C*
- ID_PRODUCT_FROM_DATABASE=945P Neo3-F motherboard
-
-pci:v000010ECd00008168*
- ID_PRODUCT_FROM_DATABASE=RTL8111/8168B PCI Express Gigabit Ethernet controller
-
-pci:v000010ECd00008168sv00001019sd00008168*
- ID_PRODUCT_FROM_DATABASE=MCP73PVT-SM
-
-pci:v000010ECd00008168sv00001028sd000004B2*
- ID_PRODUCT_FROM_DATABASE=Vostro 3350
-
-pci:v000010ECd00008168sv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v000010ECd00008168sv0000103Csd00001611*
- ID_PRODUCT_FROM_DATABASE=Pavilion DM1Z-3000
-
-pci:v000010ECd00008168sv00001043sd000011F5*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v000010ECd00008168sv00001043sd000016D5*
- ID_PRODUCT_FROM_DATABASE=U6V/U31J laptop
-
-pci:v000010ECd00008168sv00001043sd000081AA*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v000010ECd00008168sv00001043sd000082C6*
- ID_PRODUCT_FROM_DATABASE=M3A78-EH Motherboard
-
-pci:v000010ECd00008168sv00001043sd000083A3*
- ID_PRODUCT_FROM_DATABASE=M4A785TD Motherboard
-
-pci:v000010ECd00008168sv00001043sd00008432*
- ID_PRODUCT_FROM_DATABASE=P8P67 and other motherboards
-
-pci:v000010ECd00008168sv000010ECsd00008168*
- ID_PRODUCT_FROM_DATABASE=TEG-ECTX Gigabit PCI-E Adapter [Trendnet]
-
-pci:v000010ECd00008168sv00001458sd0000E000*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
-
-pci:v000010ECd00008168sv00001462sd0000238C*
- ID_PRODUCT_FROM_DATABASE=Onboard RTL8111b on MSI P965 Platinum Mainboard
-
-pci:v000010ECd00008168sv00001462sd0000368C*
- ID_PRODUCT_FROM_DATABASE=K9AG Neo2
-
-pci:v000010ECd00008168sv00001462sd00007522*
- ID_PRODUCT_FROM_DATABASE=X58 Pro-E
-
-pci:v000010ECd00008168sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v000010ECd00008168sv00001849sd00008168*
- ID_PRODUCT_FROM_DATABASE=Motherboard (one of many)
-
-pci:v000010ECd00008168sv00008086sd0000D615*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D510MO
-
-pci:v000010ECd00008169*
- ID_PRODUCT_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller
-
-pci:v000010ECd00008169sv00001025sd00000079*
- ID_PRODUCT_FROM_DATABASE=Aspire 5024WLMi
-
-pci:v000010ECd00008169sv000010BDsd00003202*
- ID_PRODUCT_FROM_DATABASE=EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter
-
-pci:v000010ECd00008169sv000010ECsd00008169*
- ID_PRODUCT_FROM_DATABASE=RTL8169/8110 Family PCI Gigabit Ethernet NIC
-
-pci:v000010ECd00008169sv00001259sd0000C107*
- ID_PRODUCT_FROM_DATABASE=CG-LAPCIGT
-
-pci:v000010ECd00008169sv00001371sd0000434E*
- ID_PRODUCT_FROM_DATABASE=ProG-2000L
-
-pci:v000010ECd00008169sv00001385sd0000311A*
- ID_PRODUCT_FROM_DATABASE=GA311
-
-pci:v000010ECd00008169sv00001458sd0000E000*
- ID_PRODUCT_FROM_DATABASE=GA-8I915ME-G Mainboard
-
-pci:v000010ECd00008169sv00001462sd0000030C*
- ID_PRODUCT_FROM_DATABASE=K8N Neo-FSR v2.0 mainboard
-
-pci:v000010ECd00008169sv00001462sd0000065C*
- ID_PRODUCT_FROM_DATABASE=Hetis 865GV-E (MS-7065)
-
-pci:v000010ECd00008169sv00001462sd0000702C*
- ID_PRODUCT_FROM_DATABASE=K8T NEO 2 motherboard
-
-pci:v000010ECd00008169sv00001462sd00007094*
- ID_PRODUCT_FROM_DATABASE=K8T Neo2-F V2.0
-
-pci:v000010ECd00008169sv000016ECsd0000011F*
- ID_PRODUCT_FROM_DATABASE=USR997903
-
-pci:v000010ECd00008169sv00001734sd00001091*
- ID_PRODUCT_FROM_DATABASE=D2030-A1
-
-pci:v000010ECd00008169sv0000A0A0sd00000449*
- ID_PRODUCT_FROM_DATABASE=AK86-L motherboard
-
-pci:v000010ECd00008171*
- ID_PRODUCT_FROM_DATABASE=RTL8191SEvA Wireless LAN Controller
-
-pci:v000010ECd00008172*
- ID_PRODUCT_FROM_DATABASE=RTL8191SEvB Wireless LAN Controller
-
-pci:v000010ECd00008173*
- ID_PRODUCT_FROM_DATABASE=RTL8192SE Wireless LAN Controller
-
-pci:v000010ECd00008174*
- ID_PRODUCT_FROM_DATABASE=RTL8192SE Wireless LAN Controller
-
-pci:v000010ECd00008176*
- ID_PRODUCT_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter
-
-pci:v000010ECd00008176sv00001A3Bsd00001139*
- ID_PRODUCT_FROM_DATABASE=AW-NE139H Half-size Mini PCIe Card
-
-pci:v000010ECd00008177*
- ID_PRODUCT_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter
-
-pci:v000010ECd00008178*
- ID_PRODUCT_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter
-
-pci:v000010ECd00008180*
- ID_PRODUCT_FROM_DATABASE=RTL8180L 802.11b MAC
-
-pci:v000010ECd00008180sv00001385sd00004700*
- ID_PRODUCT_FROM_DATABASE=MA521 802.11b Wireless PC Card
-
-pci:v000010ECd00008180sv00001737sd00000019*
- ID_PRODUCT_FROM_DATABASE=WPC11v4 802.11b Wireless-B Notebook Adapter
-
-pci:v000010ECd00008185*
- ID_PRODUCT_FROM_DATABASE=RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller
-
-pci:v000010ECd00008190*
- ID_PRODUCT_FROM_DATABASE=RTL8190 802.11n Wireless LAN
-
-pci:v000010ECd00008191*
- ID_PRODUCT_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter
-
-pci:v000010ECd00008192*
- ID_PRODUCT_FROM_DATABASE=RTL8192E/RTL8192SE Wireless LAN Controller
-
-pci:v000010ECd00008193*
- ID_PRODUCT_FROM_DATABASE=RTL8192DE Wireless LAN Controller
-
-pci:v000010ECd00008197*
- ID_PRODUCT_FROM_DATABASE=SmartLAN56 56K Modem
-
-pci:v000010ECd00008199*
- ID_PRODUCT_FROM_DATABASE=RTL8187SE Wireless LAN Controller
-
-pci:v000010ECd00008199sv00001462sd00006894*
- ID_PRODUCT_FROM_DATABASE=MN54G2 / MS-6894 Wireless Mini PCIe Card
-
-pci:v000010ED*
- ID_VENDOR_FROM_DATABASE=Ascii Corporation
-
-pci:v000010EDd00007310*
- ID_PRODUCT_FROM_DATABASE=V7310
-
-pci:v000010EE*
- ID_VENDOR_FROM_DATABASE=Xilinx Corporation
-
-pci:v000010EEd00000001*
- ID_PRODUCT_FROM_DATABASE=EUROCOM for PCI (ECOMP)
-
-pci:v000010EEd00000002*
- ID_PRODUCT_FROM_DATABASE=Octal E1/T1 for PCI ETP Card
-
-pci:v000010EEd00000007*
- ID_PRODUCT_FROM_DATABASE=Default PCIe endpoint ID
-
-pci:v000010EEd00000205*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE205P
-
-pci:v000010EEd00000210*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE210P
-
-pci:v000010EEd00000300*
- ID_PRODUCT_FROM_DATABASE=Spartan 3 Designs (Xilinx IP)
-
-pci:v000010EEd00000314*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE405P/TE410P (1st Gen)
-
-pci:v000010EEd00000405*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE405P (2nd Gen)
-
-pci:v000010EEd00000410*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE410P (2nd Gen)
-
-pci:v000010EEd00000600*
- ID_PRODUCT_FROM_DATABASE=Xilinx 6 Designs (Xilinx IP)
-
-pci:v000010EEd00002B00*
- ID_PRODUCT_FROM_DATABASE=Zomojo Zcard
-
-pci:v000010EEd00003FC0*
- ID_PRODUCT_FROM_DATABASE=RME Digi96
-
-pci:v000010EEd00003FC1*
- ID_PRODUCT_FROM_DATABASE=RME Digi96/8
-
-pci:v000010EEd00003FC2*
- ID_PRODUCT_FROM_DATABASE=RME Digi96/8 Pro
-
-pci:v000010EEd00003FC3*
- ID_PRODUCT_FROM_DATABASE=RME Digi96/8 Pad
-
-pci:v000010EEd00003FC4*
- ID_PRODUCT_FROM_DATABASE=RME Digi9652 (Hammerfall)
-
-pci:v000010EEd00003FC5*
- ID_PRODUCT_FROM_DATABASE=RME Hammerfall DSP
-
-pci:v000010EEd00003FC6*
- ID_PRODUCT_FROM_DATABASE=RME Hammerfall DSP MADI
-
-pci:v000010EEd00008380*
- ID_PRODUCT_FROM_DATABASE=Ellips ProfiXpress Profibus Master
-
-pci:v000010EEd00008381*
- ID_PRODUCT_FROM_DATABASE=Ellips Santos Frame Grabber
-
-pci:v000010EEd0000D154*
- ID_PRODUCT_FROM_DATABASE=Copley Controls CAN card (PCI-CAN-02)
-
-pci:v000010EEd0000EBF0*
- ID_PRODUCT_FROM_DATABASE=SED Systems Modulator/Demodulator
-
-pci:v000010EEd0000EBF1*
- ID_PRODUCT_FROM_DATABASE=SED Systems Audio Interface Card
-
-pci:v000010EEd0000EBF2*
- ID_PRODUCT_FROM_DATABASE=SED Systems Common PCI Interface
-
-pci:v000010EF*
- ID_VENDOR_FROM_DATABASE=Racore Computer Products, Inc.
-
-pci:v000010EFd00008154*
- ID_PRODUCT_FROM_DATABASE=M815x Token Ring Adapter
-
-pci:v000010F0*
- ID_VENDOR_FROM_DATABASE=Peritek Corporation
-
-pci:v000010F1*
- ID_VENDOR_FROM_DATABASE=Tyan Computer
-
-pci:v000010F1d00002865*
- ID_PRODUCT_FROM_DATABASE=Tyan Thunder K8E S2865
-
-pci:v000010F1d00005300*
- ID_PRODUCT_FROM_DATABASE=Tyan S5380 Mainboard
-
-pci:v000010F2*
- ID_VENDOR_FROM_DATABASE=Achme Computer, Inc.
-
-pci:v000010F3*
- ID_VENDOR_FROM_DATABASE=Alaris, Inc.
-
-pci:v000010F4*
- ID_VENDOR_FROM_DATABASE=S-MOS Systems, Inc.
-
-pci:v000010F5*
- ID_VENDOR_FROM_DATABASE=NKK Corporation
-
-pci:v000010F5d0000A001*
- ID_PRODUCT_FROM_DATABASE=NDR4000 [NR4600 Bridge]
-
-pci:v000010F6*
- ID_VENDOR_FROM_DATABASE=Creative Electronic Systems SA
-
-pci:v000010F7*
- ID_VENDOR_FROM_DATABASE=Matsushita Electric Industrial Co., Ltd.
-
-pci:v000010F8*
- ID_VENDOR_FROM_DATABASE=Altos India Ltd
-
-pci:v000010F9*
- ID_VENDOR_FROM_DATABASE=PC Direct
-
-pci:v000010FA*
- ID_VENDOR_FROM_DATABASE=Truevision
-
-pci:v000010FAd0000000C*
- ID_PRODUCT_FROM_DATABASE=TARGA 1000
-
-pci:v000010FB*
- ID_VENDOR_FROM_DATABASE=Thesys Gesellschaft fuer Mikroelektronik mbH
-
-pci:v000010FBd0000186F*
- ID_PRODUCT_FROM_DATABASE=TH 6255
-
-pci:v000010FC*
- ID_VENDOR_FROM_DATABASE=I-O Data Device, Inc.
-
-pci:v000010FCd00000003*
- ID_PRODUCT_FROM_DATABASE=Cardbus IDE Controller
-
-pci:v000010FCd00000005*
- ID_PRODUCT_FROM_DATABASE=Cardbus SCSI CBSC II
-
-pci:v000010FD*
- ID_VENDOR_FROM_DATABASE=Soyo Computer, Inc
-
-pci:v000010FE*
- ID_VENDOR_FROM_DATABASE=Fast Multimedia AG
-
-pci:v000010FF*
- ID_VENDOR_FROM_DATABASE=NCube
-
-pci:v00001100*
- ID_VENDOR_FROM_DATABASE=Jazz Multimedia
-
-pci:v00001101*
- ID_VENDOR_FROM_DATABASE=Initio Corporation
-
-pci:v00001101d00000002*
- ID_PRODUCT_FROM_DATABASE=INI-920 Ultra SCSI Adapter
-
-pci:v00001101d00001060*
- ID_PRODUCT_FROM_DATABASE=INI-A100U2W
-
-pci:v00001101d00001622*
- ID_PRODUCT_FROM_DATABASE=INI-1623 PCI SATA-II Controller
-
-pci:v00001101d00009100*
- ID_PRODUCT_FROM_DATABASE=INI-9100/9100W
-
-pci:v00001101d00009400*
- ID_PRODUCT_FROM_DATABASE=INI-940 Fast Wide SCSI Adapter
-
-pci:v00001101d00009401*
- ID_PRODUCT_FROM_DATABASE=INI-935 Fast Wide SCSI Adapter
-
-pci:v00001101d00009500*
- ID_PRODUCT_FROM_DATABASE=INI-950 SCSI Adapter
-
-pci:v00001101d00009502*
- ID_PRODUCT_FROM_DATABASE=INI-950P Ultra Wide SCSI Adapter
-
-pci:v00001102*
- ID_VENDOR_FROM_DATABASE=Creative Labs
-
-pci:v00001102d00000002*
- ID_PRODUCT_FROM_DATABASE=SB Live! EMU10k1
-
-pci:v00001102d00000002sv0000100Asd00001102*
- ID_PRODUCT_FROM_DATABASE=SB Live! 5.1 Digital OEM SB0220 EMU10K1-JFF
-
-pci:v00001102d00000002sv00001102sd00000020*
- ID_PRODUCT_FROM_DATABASE=CT4850 SBLive! Value
-
-pci:v00001102d00000002sv00001102sd00000021*
- ID_PRODUCT_FROM_DATABASE=CT4620 SBLive!
-
-pci:v00001102d00000002sv00001102sd0000002F*
- ID_PRODUCT_FROM_DATABASE=SBLive! mainboard implementation
-
-pci:v00001102d00000002sv00001102sd0000100A*
- ID_PRODUCT_FROM_DATABASE=SB Live! 5.1 Digital OEM [SB0220]
-
-pci:v00001102d00000002sv00001102sd00004001*
- ID_PRODUCT_FROM_DATABASE=E-mu APS
-
-pci:v00001102d00000002sv00001102sd00008022*
- ID_PRODUCT_FROM_DATABASE=CT4780 SBLive! Value
-
-pci:v00001102d00000002sv00001102sd00008023*
- ID_PRODUCT_FROM_DATABASE=CT4790 SoundBlaster PCI512
-
-pci:v00001102d00000002sv00001102sd00008024*
- ID_PRODUCT_FROM_DATABASE=CT4760 SBLive!
-
-pci:v00001102d00000002sv00001102sd00008025*
- ID_PRODUCT_FROM_DATABASE=SBLive! Mainboard Implementation
-
-pci:v00001102d00000002sv00001102sd00008026*
- ID_PRODUCT_FROM_DATABASE=CT4830 SBLive! Value
-
-pci:v00001102d00000002sv00001102sd00008027*
- ID_PRODUCT_FROM_DATABASE=CT4832 SBLive! Value
-
-pci:v00001102d00000002sv00001102sd00008028*
- ID_PRODUCT_FROM_DATABASE=CT4760 SBLive! OEM version
-
-pci:v00001102d00000002sv00001102sd00008031*
- ID_PRODUCT_FROM_DATABASE=CT4831 SBLive! Value
-
-pci:v00001102d00000002sv00001102sd00008040*
- ID_PRODUCT_FROM_DATABASE=CT4760 SBLive!
-
-pci:v00001102d00000002sv00001102sd00008051*
- ID_PRODUCT_FROM_DATABASE=CT4850 SBLive! Value
-
-pci:v00001102d00000002sv00001102sd00008061*
- ID_PRODUCT_FROM_DATABASE=SBLive! Player 5.1
-
-pci:v00001102d00000002sv00001102sd00008064*
- ID_PRODUCT_FROM_DATABASE=SBLive! 5.1 Model SB0100
-
-pci:v00001102d00000002sv00001102sd00008065*
- ID_PRODUCT_FROM_DATABASE=SBLive! 5.1 Digital Model SB0220
-
-pci:v00001102d00000002sv00001102sd00008066*
- ID_PRODUCT_FROM_DATABASE=Live! 5.1 Digital [SB0228]
-
-pci:v00001102d00000002sv00001102sd00008067*
- ID_PRODUCT_FROM_DATABASE=SBLive! 5.1 eMicro 28028
-
-pci:v00001102d00000004*
- ID_PRODUCT_FROM_DATABASE=SB Audigy
-
-pci:v00001102d00000004sv00001102sd00000051*
- ID_PRODUCT_FROM_DATABASE=SB0090 Audigy Player
-
-pci:v00001102d00000004sv00001102sd00000053*
- ID_PRODUCT_FROM_DATABASE=SB0090 Audigy Player/OEM
-
-pci:v00001102d00000004sv00001102sd00000058*
- ID_PRODUCT_FROM_DATABASE=SB0090 Audigy Player/OEM
-
-pci:v00001102d00000004sv00001102sd00001002*
- ID_PRODUCT_FROM_DATABASE=SB Audigy2 Platinum
-
-pci:v00001102d00000004sv00001102sd00001007*
- ID_PRODUCT_FROM_DATABASE=SB0240 Audigy 2 Platinum 6.1
-
-pci:v00001102d00000004sv00001102sd00001009*
- ID_PRODUCT_FROM_DATABASE=SB Audigy2 OEM HP
-
-pci:v00001102d00000004sv00001102sd00002002*
- ID_PRODUCT_FROM_DATABASE=SB Audigy 2 ZS (SB0350)
-
-pci:v00001102d00000004sv00001102sd00004001*
- ID_PRODUCT_FROM_DATABASE=E-MU 1010
-
-pci:v00001102d00000004sv00001102sd00004002*
- ID_PRODUCT_FROM_DATABASE=E-MU 0404
-
-pci:v00001102d00000005*
- ID_PRODUCT_FROM_DATABASE=SB X-Fi
-
-pci:v00001102d00000005sv00001102sd00000021*
- ID_PRODUCT_FROM_DATABASE=X-Fi Platinum
-
-pci:v00001102d00000005sv00001102sd0000002C*
- ID_PRODUCT_FROM_DATABASE=X-Fi XtremeGamer FATAL1TY PRO
-
-pci:v00001102d00000005sv00001102sd00001003*
- ID_PRODUCT_FROM_DATABASE=X-Fi XtremeMusic
-
-pci:v00001102d00000006*
- ID_PRODUCT_FROM_DATABASE=[SB Live! Value] EMU10k1X
-
-pci:v00001102d00000007*
- ID_PRODUCT_FROM_DATABASE=CA0106 Soundblaster
-
-pci:v00001102d00000007sv00001102sd00000007*
- ID_PRODUCT_FROM_DATABASE=SBLive! 24bit
-
-pci:v00001102d00000007sv00001102sd00001001*
- ID_PRODUCT_FROM_DATABASE=SB0310 Audigy LS
-
-pci:v00001102d00000007sv00001102sd00001002*
- ID_PRODUCT_FROM_DATABASE=SB0312 Audigy LS
-
-pci:v00001102d00000007sv00001102sd00001006*
- ID_PRODUCT_FROM_DATABASE=SB0410 SBLive! 24-bit
-
-pci:v00001102d00000007sv00001102sd0000100A*
- ID_PRODUCT_FROM_DATABASE=SB0570 [SB Audigy SE]
-
-pci:v00001102d00000007sv00001102sd00001012*
- ID_PRODUCT_FROM_DATABASE=SB0790 X-Fi XA
-
-pci:v00001102d00000007sv00001102sd00001013*
- ID_PRODUCT_FROM_DATABASE=Soundblaster X-Fi Xtreme Audio
-
-pci:v00001102d00000007sv00001462sd00001009*
- ID_PRODUCT_FROM_DATABASE=K8N Diamond
-
-pci:v00001102d00000008*
- ID_PRODUCT_FROM_DATABASE=SB0400 Audigy2 Value
-
-pci:v00001102d00000008sv00001102sd00000008*
- ID_PRODUCT_FROM_DATABASE=EMU0404 Digital Audio System
-
-pci:v00001102d00000008sv00001102sd00004004*
- ID_PRODUCT_FROM_DATABASE=EMU1010 Digital Audio System [MAEM8960]
-
-pci:v00001102d00000009*
- ID_PRODUCT_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG
-
-pci:v00001102d00000009sv00001102sd00000010*
- ID_PRODUCT_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG
-
-pci:v00001102d00000009sv00001102sd00000018*
- ID_PRODUCT_FROM_DATABASE=SB1040
-
-pci:v00001102d0000000B*
- ID_PRODUCT_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series]
-
-pci:v00001102d0000000Bsv00001102sd00000041*
- ID_PRODUCT_FROM_DATABASE=SB0880 [SoundBlaster X-Fi Titanium PCI-e]
-
-pci:v00001102d00004001*
- ID_PRODUCT_FROM_DATABASE=SB Audigy FireWire Port
-
-pci:v00001102d00004001sv00001102sd00000010*
- ID_PRODUCT_FROM_DATABASE=SB Audigy FireWire Port
-
-pci:v00001102d00007002*
- ID_PRODUCT_FROM_DATABASE=SB Live! Game Port
-
-pci:v00001102d00007002sv00001102sd00000020*
- ID_PRODUCT_FROM_DATABASE=Gameport Joystick
-
-pci:v00001102d00007003*
- ID_PRODUCT_FROM_DATABASE=SB Audigy Game Port
-
-pci:v00001102d00007003sv00001102sd00000040*
- ID_PRODUCT_FROM_DATABASE=SB Audigy Game Port
-
-pci:v00001102d00007003sv00001102sd00000060*
- ID_PRODUCT_FROM_DATABASE=SB Audigy2 MIDI/Game Port
-
-pci:v00001102d00007004*
- ID_PRODUCT_FROM_DATABASE=[SB Live! Value] Input device controller
-
-pci:v00001102d00007005*
- ID_PRODUCT_FROM_DATABASE=SB Audigy LS Game Port
-
-pci:v00001102d00007005sv00001102sd00001001*
- ID_PRODUCT_FROM_DATABASE=SB0310 Audigy LS MIDI/Game port
-
-pci:v00001102d00007005sv00001102sd00001002*
- ID_PRODUCT_FROM_DATABASE=SB0312 Audigy LS MIDI/Game port
-
-pci:v00001102d00007006*
- ID_PRODUCT_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG PCI to PCIe Bridge
-
-pci:v00001102d00008938*
- ID_PRODUCT_FROM_DATABASE=Ectiva EV1938
-
-pci:v00001102d00008938sv00001033sd000080E5*
- ID_PRODUCT_FROM_DATABASE=SlimTower-Jim (NEC)
-
-pci:v00001102d00008938sv00001071sd00007150*
- ID_PRODUCT_FROM_DATABASE=Mitac 7150
-
-pci:v00001102d00008938sv0000110Asd00005938*
- ID_PRODUCT_FROM_DATABASE=Siemens Scenic Mobile 510PIII
-
-pci:v00001102d00008938sv000013BDsd0000100C*
- ID_PRODUCT_FROM_DATABASE=Ceres-C (Sharp, Intel BX)
-
-pci:v00001102d00008938sv000013BDsd0000100D*
- ID_PRODUCT_FROM_DATABASE=Sharp, Intel Banister
-
-pci:v00001102d00008938sv000013BDsd0000100E*
- ID_PRODUCT_FROM_DATABASE=TwinHead P09S/P09S3 (Sharp)
-
-pci:v00001102d00008938sv000013BDsd0000F6F1*
- ID_PRODUCT_FROM_DATABASE=Marlin (Sharp)
-
-pci:v00001102d00008938sv000014FFsd00000E70*
- ID_PRODUCT_FROM_DATABASE=P88TE (TWINHEAD INTERNATIONAL Corp)
-
-pci:v00001102d00008938sv000014FFsd0000C401*
- ID_PRODUCT_FROM_DATABASE=Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp)
-
-pci:v00001102d00008938sv0000156Dsd0000B400*
- ID_PRODUCT_FROM_DATABASE=G400 - Geo (AlphaTop (Taiwan))
-
-pci:v00001102d00008938sv0000156Dsd0000B550*
- ID_PRODUCT_FROM_DATABASE=G560 (AlphaTop (Taiwan))
-
-pci:v00001102d00008938sv0000156Dsd0000B560*
- ID_PRODUCT_FROM_DATABASE=G560 (AlphaTop (Taiwan))
-
-pci:v00001102d00008938sv0000156Dsd0000B700*
- ID_PRODUCT_FROM_DATABASE=G700/U700 (AlphaTop (Taiwan))
-
-pci:v00001102d00008938sv0000156Dsd0000B795*
- ID_PRODUCT_FROM_DATABASE=G795 (AlphaTop (Taiwan))
-
-pci:v00001102d00008938sv0000156Dsd0000B797*
- ID_PRODUCT_FROM_DATABASE=G797 (AlphaTop (Taiwan))
-
-pci:v00001103*
- ID_VENDOR_FROM_DATABASE=HighPoint Technologies, Inc.
-
-pci:v00001103d00000003*
- ID_PRODUCT_FROM_DATABASE=HPT343/345/346/363
-
-pci:v00001103d00000004*
- ID_PRODUCT_FROM_DATABASE=HPT366/368/370/370A/372/372N
-
-pci:v00001103d00000004sv00001103sd00000001*
- ID_PRODUCT_FROM_DATABASE=HPT370A
-
-pci:v00001103d00000004sv00001103sd00000004*
- ID_PRODUCT_FROM_DATABASE=HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4)
-
-pci:v00001103d00000004sv00001103sd00000005*
- ID_PRODUCT_FROM_DATABASE=HPT370 UDMA100
-
-pci:v00001103d00000004sv00001103sd00000006*
- ID_PRODUCT_FROM_DATABASE=HPT302/302N
-
-pci:v00001103d00000005*
- ID_PRODUCT_FROM_DATABASE=HPT372A/372N
-
-pci:v00001103d00000006*
- ID_PRODUCT_FROM_DATABASE=HPT302/302N
-
-pci:v00001103d00000007*
- ID_PRODUCT_FROM_DATABASE=HPT371/371N
-
-pci:v00001103d00000008*
- ID_PRODUCT_FROM_DATABASE=HPT374
-
-pci:v00001103d00000009*
- ID_PRODUCT_FROM_DATABASE=HPT372N
-
-pci:v00001103d00000620*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 620 2 Port SATA-III Controller
-
-pci:v00001103d00000622*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 622 2 Port SATA-III Controller
-
-pci:v00001103d00000640*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 640 4 Port SATA-III Controller
-
-pci:v00001103d00001720*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 1720 (2x SATA II RAID Controller)
-
-pci:v00001103d00001740*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 1740
-
-pci:v00001103d00001742*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 1742
-
-pci:v00001103d00002210*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 2210 SATA-II Controller
-
-pci:v00001103d00002300*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 230x 4 Port SATA-II Controller
-
-pci:v00001103d00002310*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 2310 4 Port SATA-II Controller
-
-pci:v00001103d00002320*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 2320 SATA-II Controller
-
-pci:v00001103d00002322*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 2322 SATA-II Controller
-
-pci:v00001103d00002340*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 2340 16 Port SATA-II Controller
-
-pci:v00001103d00002640*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 2640 SAS/SATA Controller
-
-pci:v00001103d00002722*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 2722
-
-pci:v00001103d00002740*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 2740
-
-pci:v00001103d00002744*
- ID_PRODUCT_FROM_DATABASE=RocketRaid 2744
-
-pci:v00001103d00002782*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 2782
-
-pci:v00001103d00003120*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 3120
-
-pci:v00001103d00003220*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 3220
-
-pci:v00001103d00003320*
- ID_PRODUCT_FROM_DATABASE=RocketRAID 3320
-
-pci:v00001103d00004310*
- ID_PRODUCT_FROM_DATABASE=RocketRaid 4310
-
-pci:v00001104*
- ID_VENDOR_FROM_DATABASE=RasterOps Corp.
-
-pci:v00001105*
- ID_VENDOR_FROM_DATABASE=Sigma Designs, Inc.
-
-pci:v00001105d00001105*
- ID_PRODUCT_FROM_DATABASE=REALmagic Xcard MPEG 1/2/3/4 DVD Decoder
-
-pci:v00001105d00008300*
- ID_PRODUCT_FROM_DATABASE=REALmagic Hollywood Plus DVD Decoder
-
-pci:v00001105d00008400*
- ID_PRODUCT_FROM_DATABASE=EM840x REALmagic DVD/MPEG-2 Audio/Video Decoder
-
-pci:v00001105d00008401*
- ID_PRODUCT_FROM_DATABASE=EM8401 REALmagic DVD/MPEG-2 A/V Decoder
-
-pci:v00001105d00008470*
- ID_PRODUCT_FROM_DATABASE=EM8470 REALmagic DVD/MPEG-4 A/V Decoder
-
-pci:v00001105d00008471*
- ID_PRODUCT_FROM_DATABASE=EM8471 REALmagic DVD/MPEG-4 A/V Decoder
-
-pci:v00001105d00008475*
- ID_PRODUCT_FROM_DATABASE=EM8475 REALmagic DVD/MPEG-4 A/V Decoder
-
-pci:v00001105d00008475sv00001105sd00000001*
- ID_PRODUCT_FROM_DATABASE=REALmagic X-Card
-
-pci:v00001105d00008476*
- ID_PRODUCT_FROM_DATABASE=EM8476 REALmagic DVD/MPEG-4 A/V Decoder
-
-pci:v00001105d00008476sv0000127Dsd00000000*
- ID_PRODUCT_FROM_DATABASE=CineView II
-
-pci:v00001105d00008485*
- ID_PRODUCT_FROM_DATABASE=EM8485 REALmagic DVD/MPEG-4 A/V Decoder
-
-pci:v00001105d00008486*
- ID_PRODUCT_FROM_DATABASE=EM8486 REALmagic DVD/MPEG-4 A/V Decoder
-
-pci:v00001105d0000C622*
- ID_PRODUCT_FROM_DATABASE=EM8622L MPEG-4.10 (H.264) and SMPTE 421M (VC-1) A/V Decoder
-
-pci:v00001106*
- ID_VENDOR_FROM_DATABASE=VIA Technologies, Inc.
-
-pci:v00001106d00000102*
- ID_PRODUCT_FROM_DATABASE=Embedded VIA Ethernet Controller
-
-pci:v00001106d00000130*
- ID_PRODUCT_FROM_DATABASE=VT6305 1394.A Controller
-
-pci:v00001106d00000198*
- ID_PRODUCT_FROM_DATABASE=P4X600 Host Bridge
-
-pci:v00001106d00000204*
- ID_PRODUCT_FROM_DATABASE=K8M800 Host Bridge
-
-pci:v00001106d00000208*
- ID_PRODUCT_FROM_DATABASE=PT890 Host Bridge
-
-pci:v00001106d00000238*
- ID_PRODUCT_FROM_DATABASE=K8T890 Host Bridge
-
-pci:v00001106d00000258*
- ID_PRODUCT_FROM_DATABASE=PT880 Host Bridge
-
-pci:v00001106d00000259*
- ID_PRODUCT_FROM_DATABASE=CN333/CN400/PM880 Host Bridge
-
-pci:v00001106d00000269*
- ID_PRODUCT_FROM_DATABASE=KT880 Host Bridge
-
-pci:v00001106d00000282*
- ID_PRODUCT_FROM_DATABASE=K8T800Pro Host Bridge
-
-pci:v00001106d00000282sv00001043sd000080A3*
- ID_PRODUCT_FROM_DATABASE=A8V Deluxe
-
-pci:v00001106d00000290*
- ID_PRODUCT_FROM_DATABASE=K8M890 Host Bridge
-
-pci:v00001106d00000293*
- ID_PRODUCT_FROM_DATABASE=PM896 Host Bridge
-
-pci:v00001106d00000296*
- ID_PRODUCT_FROM_DATABASE=P4M800 Host Bridge
-
-pci:v00001106d00000305*
- ID_PRODUCT_FROM_DATABASE=VT8363/8365 [KT133/KM133]
-
-pci:v00001106d00000305sv00001019sd00000987*
- ID_PRODUCT_FROM_DATABASE=K7VZA Mainboard
-
-pci:v00001106d00000305sv00001043sd00008033*
- ID_PRODUCT_FROM_DATABASE=A7V Mainboard
-
-pci:v00001106d00000305sv00001043sd0000803E*
- ID_PRODUCT_FROM_DATABASE=A7V-E Mainboard
-
-pci:v00001106d00000305sv00001043sd00008042*
- ID_PRODUCT_FROM_DATABASE=A7V133/A7V133-C Mainboard
-
-pci:v00001106d00000305sv0000147Bsd0000A401*
- ID_PRODUCT_FROM_DATABASE=KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard
-
-pci:v00001106d00000308*
- ID_PRODUCT_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge
-
-pci:v00001106d00000308sv00001043sd00008199*
- ID_PRODUCT_FROM_DATABASE=P4V800D-X Mainboard
-
-pci:v00001106d00000314*
- ID_PRODUCT_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge
-
-pci:v00001106d00000324*
- ID_PRODUCT_FROM_DATABASE=CX700/VX700 Host Bridge
-
-pci:v00001106d00000327*
- ID_PRODUCT_FROM_DATABASE=P4M890 Host Bridge
-
-pci:v00001106d00000336*
- ID_PRODUCT_FROM_DATABASE=K8M890CE Host Bridge
-
-pci:v00001106d00000340*
- ID_PRODUCT_FROM_DATABASE=PT900 Host Bridge
-
-pci:v00001106d00000351*
- ID_PRODUCT_FROM_DATABASE=K8T890CF Host Bridge
-
-pci:v00001106d00000353*
- ID_PRODUCT_FROM_DATABASE=VX800 Host Bridge
-
-pci:v00001106d00000364*
- ID_PRODUCT_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge
-
-pci:v00001106d00000364sv00001043sd000081CE*
- ID_PRODUCT_FROM_DATABASE=P5VD2-VM mothervoard
-
-pci:v00001106d00000391*
- ID_PRODUCT_FROM_DATABASE=VT8371 [KX133]
-
-pci:v00001106d00000397*
- ID_PRODUCT_FROM_DATABASE=VT1708S HD Audio
-
-pci:v00001106d00000397sv00001043sd0000836C*
- ID_PRODUCT_FROM_DATABASE=P7H55
-
-pci:v00001106d00000397sv00001043sd000083C7*
- ID_PRODUCT_FROM_DATABASE=P5KPL-AM EPU
-
-pci:v00001106d00000409*
- ID_PRODUCT_FROM_DATABASE=VX855/VX875 Host Bridge: Host Control
-
-pci:v00001106d00000410*
- ID_PRODUCT_FROM_DATABASE=VX900 Host Bridge: Host Control
-
-pci:v00001106d00000415*
- ID_PRODUCT_FROM_DATABASE=VT6415 PATA IDE Host Controller
-
-pci:v00001106d00000415sv00001043sd0000838F*
- ID_PRODUCT_FROM_DATABASE=M5A88-V EVO
-
-pci:v00001106d00000501*
- ID_PRODUCT_FROM_DATABASE=VT8501 [Apollo MVP4]
-
-pci:v00001106d00000505*
- ID_PRODUCT_FROM_DATABASE=VT82C505
-
-pci:v00001106d00000561*
- ID_PRODUCT_FROM_DATABASE=VT82C576MV
-
-pci:v00001106d00000571*
- ID_PRODUCT_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE
-
-pci:v00001106d00000571sv00001019sd00000985*
- ID_PRODUCT_FROM_DATABASE=P6VXA Motherboard
-
-pci:v00001106d00000571sv00001019sd00000A81*
- ID_PRODUCT_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235)
-
-pci:v00001106d00000571sv00001043sd00008052*
- ID_PRODUCT_FROM_DATABASE=VT8233A Bus Master ATA100/66/33 IDE
-
-pci:v00001106d00000571sv00001043sd0000808C*
- ID_PRODUCT_FROM_DATABASE=A7V8X / A7V333 motherboard
-
-pci:v00001106d00000571sv00001043sd000080A1*
- ID_PRODUCT_FROM_DATABASE=A7V8X-X motherboard rev. 1.01
-
-pci:v00001106d00000571sv00001043sd000080ED*
- ID_PRODUCT_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard
-
-pci:v00001106d00000571sv00001106sd00000571*
- ID_PRODUCT_FROM_DATABASE=VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE
-
-pci:v00001106d00000571sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Magnia Z310
-
-pci:v00001106d00000571sv00001297sd0000F641*
- ID_PRODUCT_FROM_DATABASE=FX41 motherboard
-
-pci:v00001106d00000571sv00001458sd00005002*
- ID_PRODUCT_FROM_DATABASE=GA-7VAX Mainboard
-
-pci:v00001106d00000571sv00001462sd00005901*
- ID_PRODUCT_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
-
-pci:v00001106d00000571sv00001462sd00007020*
- ID_PRODUCT_FROM_DATABASE=K8T NEO 2 motherboard
-
-pci:v00001106d00000571sv00001462sd00007094*
- ID_PRODUCT_FROM_DATABASE=K8T Neo2-F V2.0
-
-pci:v00001106d00000571sv00001462sd00007120*
- ID_PRODUCT_FROM_DATABASE=KT4AV motherboard
-
-pci:v00001106d00000571sv00001462sd00007181*
- ID_PRODUCT_FROM_DATABASE=K8MM3-V mainboard
-
-pci:v00001106d00000571sv0000147Bsd00001407*
- ID_PRODUCT_FROM_DATABASE=KV8-MAX3 motherboard
-
-pci:v00001106d00000571sv00001849sd00000571*
- ID_PRODUCT_FROM_DATABASE=K7VT2/K7VT6 motherboard
-
-pci:v00001106d00000576*
- ID_PRODUCT_FROM_DATABASE=VT82C576 3V [Apollo Master]
-
-pci:v00001106d00000581*
- ID_PRODUCT_FROM_DATABASE=CX700/VX700 RAID Controller
-
-pci:v00001106d00000581sv00001106sd00000581*
- ID_PRODUCT_FROM_DATABASE=Wrong IDE ID
-
-pci:v00001106d00000585*
- ID_PRODUCT_FROM_DATABASE=VT82C585VP [Apollo VP1/VPX]
-
-pci:v00001106d00000586*
- ID_PRODUCT_FROM_DATABASE=VT82C586/A/B PCI-to-ISA [Apollo VP]
-
-pci:v00001106d00000586sv00001106sd00000000*
- ID_PRODUCT_FROM_DATABASE=MVP3 ISA Bridge
-
-pci:v00001106d00000591*
- ID_PRODUCT_FROM_DATABASE=VT8237A SATA 2-Port Controller
-
-pci:v00001106d00000595*
- ID_PRODUCT_FROM_DATABASE=VT82C595 [Apollo VP2]
-
-pci:v00001106d00000596*
- ID_PRODUCT_FROM_DATABASE=VT82C596 ISA [Mobile South]
-
-pci:v00001106d00000596sv00001106sd00000000*
- ID_PRODUCT_FROM_DATABASE=VT82C596/A/B PCI to ISA Bridge
-
-pci:v00001106d00000596sv00001458sd00000596*
- ID_PRODUCT_FROM_DATABASE=VT82C596/A/B PCI to ISA Bridge
-
-pci:v00001106d00000597*
- ID_PRODUCT_FROM_DATABASE=VT82C597 [Apollo VP3]
-
-pci:v00001106d00000598*
- ID_PRODUCT_FROM_DATABASE=VT82C598 [Apollo MVP3]
-
-pci:v00001106d00000601*
- ID_PRODUCT_FROM_DATABASE=VT8601 [Apollo ProMedia]
-
-pci:v00001106d00000605*
- ID_PRODUCT_FROM_DATABASE=VT8605 [ProSavage PM133]
-
-pci:v00001106d00000605sv0000103Csd00001254*
- ID_PRODUCT_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard]
-
-pci:v00001106d00000605sv00001043sd0000802C*
- ID_PRODUCT_FROM_DATABASE=CUV4X mainboard
-
-pci:v00001106d00000680*
- ID_PRODUCT_FROM_DATABASE=VT82C680 [Apollo P6]
-
-pci:v00001106d00000686*
- ID_PRODUCT_FROM_DATABASE=VT82C686 [Apollo Super South]
-
-pci:v00001106d00000686sv00001019sd00000985*
- ID_PRODUCT_FROM_DATABASE=P6VXA Motherboard
-
-pci:v00001106d00000686sv0000103Csd00001256*
- ID_PRODUCT_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard]
-
-pci:v00001106d00000686sv00001043sd0000802C*
- ID_PRODUCT_FROM_DATABASE=CUV4X mainboard
-
-pci:v00001106d00000686sv00001043sd00008033*
- ID_PRODUCT_FROM_DATABASE=A7V Mainboard
-
-pci:v00001106d00000686sv00001043sd0000803E*
- ID_PRODUCT_FROM_DATABASE=A7V-E Mainboard
-
-pci:v00001106d00000686sv00001043sd00008040*
- ID_PRODUCT_FROM_DATABASE=A7M266 Mainboard
-
-pci:v00001106d00000686sv00001043sd00008042*
- ID_PRODUCT_FROM_DATABASE=A7V133/A7V133-C Mainboard
-
-pci:v00001106d00000686sv00001106sd00000000*
- ID_PRODUCT_FROM_DATABASE=VT82C686/A PCI to ISA Bridge
-
-pci:v00001106d00000686sv00001106sd00000686*
- ID_PRODUCT_FROM_DATABASE=VT82C686/A PCI to ISA Bridge
-
-pci:v00001106d00000686sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Magnia Z310
-
-pci:v00001106d00000686sv0000147Bsd0000A702*
- ID_PRODUCT_FROM_DATABASE=KG7-Lite Mainboard
-
-pci:v00001106d00000691*
- ID_PRODUCT_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x]
-
-pci:v00001106d00000691sv00001019sd00000985*
- ID_PRODUCT_FROM_DATABASE=P6VXA Motherboard
-
-pci:v00001106d00000691sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Magnia Z310
-
-pci:v00001106d00000691sv00001458sd00000691*
- ID_PRODUCT_FROM_DATABASE=VT82C691 Apollo Pro System Controller
-
-pci:v00001106d00000693*
- ID_PRODUCT_FROM_DATABASE=VT82C693 [Apollo Pro Plus]
-
-pci:v00001106d00000698*
- ID_PRODUCT_FROM_DATABASE=VT82C693A [Apollo Pro133 AGP]
-
-pci:v00001106d00000926*
- ID_PRODUCT_FROM_DATABASE=VT82C926 [Amazon]
-
-pci:v00001106d00001000*
- ID_PRODUCT_FROM_DATABASE=VT82C570MV
-
-pci:v00001106d00001106*
- ID_PRODUCT_FROM_DATABASE=VT82C570MV
-
-pci:v00001106d00001122*
- ID_PRODUCT_FROM_DATABASE=VX800/VX820 Chrome 9 HC3 Integrated Graphics
-
-pci:v00001106d00001204*
- ID_PRODUCT_FROM_DATABASE=K8M800 Host Bridge
-
-pci:v00001106d00001208*
- ID_PRODUCT_FROM_DATABASE=PT890 Host Bridge
-
-pci:v00001106d00001238*
- ID_PRODUCT_FROM_DATABASE=K8T890 Host Bridge
-
-pci:v00001106d00001258*
- ID_PRODUCT_FROM_DATABASE=PT880 Host Bridge
-
-pci:v00001106d00001259*
- ID_PRODUCT_FROM_DATABASE=CN333/CN400/PM880 Host Bridge
-
-pci:v00001106d00001269*
- ID_PRODUCT_FROM_DATABASE=KT880 Host Bridge
-
-pci:v00001106d00001282*
- ID_PRODUCT_FROM_DATABASE=K8T800Pro Host Bridge
-
-pci:v00001106d00001290*
- ID_PRODUCT_FROM_DATABASE=K8M890 Host Bridge
-
-pci:v00001106d00001293*
- ID_PRODUCT_FROM_DATABASE=PM896 Host Bridge
-
-pci:v00001106d00001296*
- ID_PRODUCT_FROM_DATABASE=P4M800 Host Bridge
-
-pci:v00001106d00001308*
- ID_PRODUCT_FROM_DATABASE=PT894 Host Bridge
-
-pci:v00001106d00001314*
- ID_PRODUCT_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge
-
-pci:v00001106d00001324*
- ID_PRODUCT_FROM_DATABASE=CX700/VX700 Host Bridge
-
-pci:v00001106d00001327*
- ID_PRODUCT_FROM_DATABASE=P4M890 Host Bridge
-
-pci:v00001106d00001336*
- ID_PRODUCT_FROM_DATABASE=K8M890CE Host Bridge
-
-pci:v00001106d00001340*
- ID_PRODUCT_FROM_DATABASE=PT900 Host Bridge
-
-pci:v00001106d00001351*
- ID_PRODUCT_FROM_DATABASE=VT3351 Host Bridge
-
-pci:v00001106d00001353*
- ID_PRODUCT_FROM_DATABASE=VX800/VX820 Error Reporting
-
-pci:v00001106d00001364*
- ID_PRODUCT_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge
-
-pci:v00001106d00001409*
- ID_PRODUCT_FROM_DATABASE=VX855/VX875 Error Reporting
-
-pci:v00001106d00001410*
- ID_PRODUCT_FROM_DATABASE=VX900 Error Reporting
-
-pci:v00001106d00001571*
- ID_PRODUCT_FROM_DATABASE=VT82C576M/VT82C586
-
-pci:v00001106d00001595*
- ID_PRODUCT_FROM_DATABASE=VT82C595/97 [Apollo VP2/97]
-
-pci:v00001106d00001732*
- ID_PRODUCT_FROM_DATABASE=VT1732 [Envy24 II] PCI Multi-Channel Audio Controller
-
-pci:v00001106d00002106*
- ID_PRODUCT_FROM_DATABASE=VIA Rhine Family Fast Ethernet Adapter (VT6105)
-
-pci:v00001106d00002204*
- ID_PRODUCT_FROM_DATABASE=K8M800 Host Bridge
-
-pci:v00001106d00002208*
- ID_PRODUCT_FROM_DATABASE=PT890 Host Bridge
-
-pci:v00001106d00002238*
- ID_PRODUCT_FROM_DATABASE=K8T890 Host Bridge
-
-pci:v00001106d00002258*
- ID_PRODUCT_FROM_DATABASE=PT880 Host Bridge
-
-pci:v00001106d00002259*
- ID_PRODUCT_FROM_DATABASE=CN333/CN400/PM880 CPU Host Bridge
-
-pci:v00001106d00002269*
- ID_PRODUCT_FROM_DATABASE=KT880 Host Bridge
-
-pci:v00001106d00002282*
- ID_PRODUCT_FROM_DATABASE=K8T800Pro Host Bridge
-
-pci:v00001106d00002290*
- ID_PRODUCT_FROM_DATABASE=K8M890 Host Bridge
-
-pci:v00001106d00002293*
- ID_PRODUCT_FROM_DATABASE=PM896 Host Bridge
-
-pci:v00001106d00002296*
- ID_PRODUCT_FROM_DATABASE=P4M800 Host Bridge
-
-pci:v00001106d00002308*
- ID_PRODUCT_FROM_DATABASE=PT894 Host Bridge
-
-pci:v00001106d00002314*
- ID_PRODUCT_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge
-
-pci:v00001106d00002324*
- ID_PRODUCT_FROM_DATABASE=CX700/VX700 Host Bridge
-
-pci:v00001106d00002327*
- ID_PRODUCT_FROM_DATABASE=P4M890 Host Bridge
-
-pci:v00001106d00002336*
- ID_PRODUCT_FROM_DATABASE=K8M890CE Host Bridge
-
-pci:v00001106d00002340*
- ID_PRODUCT_FROM_DATABASE=PT900 Host Bridge
-
-pci:v00001106d00002351*
- ID_PRODUCT_FROM_DATABASE=VT3351 Host Bridge
-
-pci:v00001106d00002353*
- ID_PRODUCT_FROM_DATABASE=VX800/VX820 Host Bus Control
-
-pci:v00001106d00002364*
- ID_PRODUCT_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge
-
-pci:v00001106d00002409*
- ID_PRODUCT_FROM_DATABASE=VX855/VX875 Host Bus Control
-
-pci:v00001106d00002410*
- ID_PRODUCT_FROM_DATABASE=VX900 CPU Bus Controller
-
-pci:v00001106d0000287A*
- ID_PRODUCT_FROM_DATABASE=VT8251 PCI to PCI Bridge
-
-pci:v00001106d0000287B*
- ID_PRODUCT_FROM_DATABASE=VT8251 Host Bridge
-
-pci:v00001106d0000287C*
- ID_PRODUCT_FROM_DATABASE=VT8251 PCIE Root Port
-
-pci:v00001106d0000287D*
- ID_PRODUCT_FROM_DATABASE=VT8251 PCIE Root Port
-
-pci:v00001106d0000287E*
- ID_PRODUCT_FROM_DATABASE=VT8237/8251 Ultra VLINK Controller
-
-pci:v00001106d00003022*
- ID_PRODUCT_FROM_DATABASE=CLE266
-
-pci:v00001106d00003038*
- ID_PRODUCT_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller
-
-pci:v00001106d00003038sv00000925sd00001234*
- ID_PRODUCT_FROM_DATABASE=VA-502 Mainboard
-
-pci:v00001106d00003038sv00001019sd00000985*
- ID_PRODUCT_FROM_DATABASE=P6VXA Motherboard
-
-pci:v00001106d00003038sv00001019sd00000A81*
- ID_PRODUCT_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235)
-
-pci:v00001106d00003038sv00001043sd00008080*
- ID_PRODUCT_FROM_DATABASE=A7V333 motherboard
-
-pci:v00001106d00003038sv00001043sd0000808C*
- ID_PRODUCT_FROM_DATABASE=VT6202 USB2.0 4 port controller
-
-pci:v00001106d00003038sv00001043sd000080A1*
- ID_PRODUCT_FROM_DATABASE=A7V8X-X motherboard
-
-pci:v00001106d00003038sv00001043sd000080ED*
- ID_PRODUCT_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard
-
-pci:v00001106d00003038sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Magnia Z310
-
-pci:v00001106d00003038sv00001458sd00005004*
- ID_PRODUCT_FROM_DATABASE=GA-7VAX Mainboard
-
-pci:v00001106d00003038sv00001462sd00005901*
- ID_PRODUCT_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
-
-pci:v00001106d00003038sv00001462sd00007020*
- ID_PRODUCT_FROM_DATABASE=K8T NEO 2 motherboard
-
-pci:v00001106d00003038sv00001462sd00007094*
- ID_PRODUCT_FROM_DATABASE=K8T Neo2-F V2.0
-
-pci:v00001106d00003038sv00001462sd00007120*
- ID_PRODUCT_FROM_DATABASE=KT4AV motherboard
-
-pci:v00001106d00003038sv00001462sd00007181*
- ID_PRODUCT_FROM_DATABASE=K8MM3-V mainboard
-
-pci:v00001106d00003038sv0000147Bsd00001407*
- ID_PRODUCT_FROM_DATABASE=KV8-MAX3 motherboard
-
-pci:v00001106d00003038sv0000182Dsd0000201D*
- ID_PRODUCT_FROM_DATABASE=CN-029 USB2.0 4 port PCI Card
-
-pci:v00001106d00003038sv00001849sd00003038*
- ID_PRODUCT_FROM_DATABASE=K7VT6
-
-pci:v00001106d00003038sv000019DAsd0000A179*
- ID_PRODUCT_FROM_DATABASE=ZBOX nano VD01
-
-pci:v00001106d00003040*
- ID_PRODUCT_FROM_DATABASE=VT82C586B ACPI
-
-pci:v00001106d00003043*
- ID_PRODUCT_FROM_DATABASE=VT86C100A [Rhine]
-
-pci:v00001106d00003043sv000010BDsd00000000*
- ID_PRODUCT_FROM_DATABASE=VT86C100A Fast Ethernet Adapter
-
-pci:v00001106d00003043sv00001106sd00000100*
- ID_PRODUCT_FROM_DATABASE=VT86C100A Fast Ethernet Adapter
-
-pci:v00001106d00003043sv00001186sd00001400*
- ID_PRODUCT_FROM_DATABASE=DFE-530TX rev A
-
-pci:v00001106d00003044*
- ID_PRODUCT_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller
-
-pci:v00001106d00003044sv00000010sd00000001*
- ID_PRODUCT_FROM_DATABASE=IEEE 1394 4port DCST 1394-3+1B
-
-pci:v00001106d00003044sv00001025sd0000005A*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290
-
-pci:v00001106d00003044sv0000103Csd00002A20*
- ID_PRODUCT_FROM_DATABASE=Pavilion t3030.de Desktop PC
-
-pci:v00001106d00003044sv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Media Center PC m7590n
-
-pci:v00001106d00003044sv00001043sd0000808A*
- ID_PRODUCT_FROM_DATABASE=A8V/A8N/P4P800 series motherboard
-
-pci:v00001106d00003044sv00001043sd000081FE*
- ID_PRODUCT_FROM_DATABASE=M4A series motherboard
-
-pci:v00001106d00003044sv00001458sd00001000*
- ID_PRODUCT_FROM_DATABASE=GA-7VT600-1394 Motherboard
-
-pci:v00001106d00003044sv00001462sd0000207D*
- ID_PRODUCT_FROM_DATABASE=K8NGM2 series motherboard
-
-pci:v00001106d00003044sv00001462sd0000217D*
- ID_PRODUCT_FROM_DATABASE=Aspire L250
-
-pci:v00001106d00003044sv00001462sd0000590D*
- ID_PRODUCT_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
-
-pci:v00001106d00003044sv00001462sd0000702D*
- ID_PRODUCT_FROM_DATABASE=K8T NEO 2 motherboard
-
-pci:v00001106d00003044sv00001462sd0000971D*
- ID_PRODUCT_FROM_DATABASE=MS-6917
-
-pci:v00001106d00003050*
- ID_PRODUCT_FROM_DATABASE=VT82C596 Power Management
-
-pci:v00001106d00003051*
- ID_PRODUCT_FROM_DATABASE=VT82C596 Power Management
-
-pci:v00001106d00003053*
- ID_PRODUCT_FROM_DATABASE=VT6105M [Rhine-III]
-
-pci:v00001106d00003057*
- ID_PRODUCT_FROM_DATABASE=VT82C686 [Apollo Super ACPI]
-
-pci:v00001106d00003057sv00001019sd00000985*
- ID_PRODUCT_FROM_DATABASE=P6VXA Motherboard
-
-pci:v00001106d00003057sv00001019sd00000987*
- ID_PRODUCT_FROM_DATABASE=K7VZA Motherboard
-
-pci:v00001106d00003057sv00001043sd00008033*
- ID_PRODUCT_FROM_DATABASE=A7V Mainboard
-
-pci:v00001106d00003057sv00001043sd0000803E*
- ID_PRODUCT_FROM_DATABASE=A7V-E Mainboard
-
-pci:v00001106d00003057sv00001043sd00008040*
- ID_PRODUCT_FROM_DATABASE=A7M266 Mainboard
-
-pci:v00001106d00003057sv00001043sd00008042*
- ID_PRODUCT_FROM_DATABASE=A7V133/A7V133-C Mainboard
-
-pci:v00001106d00003057sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Magnia Z310
-
-pci:v00001106d00003058*
- ID_PRODUCT_FROM_DATABASE=VT82C686 AC97 Audio Controller
-
-pci:v00001106d00003058sv00000E11sd00000097*
- ID_PRODUCT_FROM_DATABASE=SoundMax Digital Integrated Audio
-
-pci:v00001106d00003058sv00000E11sd0000B194*
- ID_PRODUCT_FROM_DATABASE=Soundmax integrated digital audio
-
-pci:v00001106d00003058sv00001019sd00000985*
- ID_PRODUCT_FROM_DATABASE=P6VXA Motherboard
-
-pci:v00001106d00003058sv00001019sd00000987*
- ID_PRODUCT_FROM_DATABASE=K7VZA Motherboard
-
-pci:v00001106d00003058sv0000103Csd00001251*
- ID_PRODUCT_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard]
-
-pci:v00001106d00003058sv00001043sd00001106*
- ID_PRODUCT_FROM_DATABASE=A7V133/A7V133-C Mainboard
-
-pci:v00001106d00003058sv00001106sd00004511*
- ID_PRODUCT_FROM_DATABASE=Onboard Audio on EP7KXA
-
-pci:v00001106d00003058sv00001106sd0000AA03*
- ID_PRODUCT_FROM_DATABASE=VT1612A AC'97 Audio Controller
-
-pci:v00001106d00003058sv000011D4sd00005348*
- ID_PRODUCT_FROM_DATABASE=AD1881A audio
-
-pci:v00001106d00003058sv00001458sd00007600*
- ID_PRODUCT_FROM_DATABASE=Onboard Audio
-
-pci:v00001106d00003058sv00001462sd00003091*
- ID_PRODUCT_FROM_DATABASE=MS-6309 Onboard Audio
-
-pci:v00001106d00003058sv00001462sd00003092*
- ID_PRODUCT_FROM_DATABASE=MS-6309 v2.x Mainboard (VIA VT1611A codec)
-
-pci:v00001106d00003058sv00001462sd00003300*
- ID_PRODUCT_FROM_DATABASE=MS-6330 Onboard Audio
-
-pci:v00001106d00003058sv000015DDsd00007609*
- ID_PRODUCT_FROM_DATABASE=Onboard Audio
-
-pci:v00001106d00003059*
- ID_PRODUCT_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller
-
-pci:v00001106d00003059sv00001019sd00000A81*
- ID_PRODUCT_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235)
-
-pci:v00001106d00003059sv00001019sd00001877*
- ID_PRODUCT_FROM_DATABASE=K8M800-M2 (V2.0) onboard audio
-
-pci:v00001106d00003059sv00001043sd00008095*
- ID_PRODUCT_FROM_DATABASE=A7V8X Motherboard (Realtek ALC650 codec)
-
-pci:v00001106d00003059sv00001043sd000080A1*
- ID_PRODUCT_FROM_DATABASE=A7V8X-X Motherboard
-
-pci:v00001106d00003059sv00001043sd000080B0*
- ID_PRODUCT_FROM_DATABASE=A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX])
-
-pci:v00001106d00003059sv00001043sd0000810D*
- ID_PRODUCT_FROM_DATABASE=Asus P5VD1-X (AD1888 codec [SoundMax])
-
-pci:v00001106d00003059sv00001043sd0000812A*
- ID_PRODUCT_FROM_DATABASE=A8V Deluxe motherboard (Realtek ALC850 codec)
-
-pci:v00001106d00003059sv000010ECsd00008168*
- ID_PRODUCT_FROM_DATABASE=High Definition Audio
-
-pci:v00001106d00003059sv00001106sd00003059*
- ID_PRODUCT_FROM_DATABASE=L7VMM2 Motherboard
-
-pci:v00001106d00003059sv00001106sd00004161*
- ID_PRODUCT_FROM_DATABASE=K7VT2 motherboard
-
-pci:v00001106d00003059sv00001106sd00004170*
- ID_PRODUCT_FROM_DATABASE=PCPartner P4M800-8237R Motherboard
-
-pci:v00001106d00003059sv00001106sd00004552*
- ID_PRODUCT_FROM_DATABASE=Soyo KT-600 Dragon Plus (Realtek ALC 650)
-
-pci:v00001106d00003059sv00001297sd0000C160*
- ID_PRODUCT_FROM_DATABASE=FX41 motherboard (Realtek ALC650 codec)
-
-pci:v00001106d00003059sv00001413sd0000147B*
- ID_PRODUCT_FROM_DATABASE=KV8 Pro motherboard onboard audio
-
-pci:v00001106d00003059sv00001458sd0000A002*
- ID_PRODUCT_FROM_DATABASE=GA-7VAX Onboard Audio (Realtek ALC650)
-
-pci:v00001106d00003059sv00001462sd00000080*
- ID_PRODUCT_FROM_DATABASE=K8T NEO 2 motherboard
-
-pci:v00001106d00003059sv00001462sd00003800*
- ID_PRODUCT_FROM_DATABASE=KT266 onboard audio
-
-pci:v00001106d00003059sv00001462sd00005901*
- ID_PRODUCT_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
-
-pci:v00001106d00003059sv00001462sd00007181*
- ID_PRODUCT_FROM_DATABASE=K8MM3-V mainboard
-
-pci:v00001106d00003059sv0000147Bsd00001407*
- ID_PRODUCT_FROM_DATABASE=KV8-MAX3 motherboard
-
-pci:v00001106d00003059sv00001695sd0000300C*
- ID_PRODUCT_FROM_DATABASE=EP-8KRA2+ Mainboard
-
-pci:v00001106d00003059sv00001849sd00000850*
- ID_PRODUCT_FROM_DATABASE=ASRock 775Dual-880 Pro onboard audio (Realtek ALC850)
-
-pci:v00001106d00003059sv00001849sd00009739*
- ID_PRODUCT_FROM_DATABASE=P4VT8 Mainboard (C-Media CMI9739A codec)
-
-pci:v00001106d00003059sv00001849sd00009761*
- ID_PRODUCT_FROM_DATABASE=K7VT6 motherboard
-
-pci:v00001106d00003059sv00004005sd00004710*
- ID_PRODUCT_FROM_DATABASE=MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P)
-
-pci:v00001106d00003059sv0000A0A0sd000001B6*
- ID_PRODUCT_FROM_DATABASE=AK77-8XN onboard audio
-
-pci:v00001106d00003059sv0000A0A0sd00000342*
- ID_PRODUCT_FROM_DATABASE=AK86-L motherboard
-
-pci:v00001106d00003065*
- ID_PRODUCT_FROM_DATABASE=VT6102 [Rhine-II]
-
-pci:v00001106d00003065sv00001043sd000080A1*
- ID_PRODUCT_FROM_DATABASE=A7V8X-X Motherboard
-
-pci:v00001106d00003065sv00001043sd000080ED*
- ID_PRODUCT_FROM_DATABASE=A7V600-X Motherboard
-
-pci:v00001106d00003065sv00001106sd00000102*
- ID_PRODUCT_FROM_DATABASE=VT6102 [Rhine II] Embeded Ethernet Controller on VT8235
-
-pci:v00001106d00003065sv00001186sd00001400*
- ID_PRODUCT_FROM_DATABASE=DFE-530TX rev A
-
-pci:v00001106d00003065sv00001186sd00001401*
- ID_PRODUCT_FROM_DATABASE=DFE-530TX rev B
-
-pci:v00001106d00003065sv000013B9sd00001421*
- ID_PRODUCT_FROM_DATABASE=LD-10/100AL PCI Fast Ethernet Adapter (rev.B)
-
-pci:v00001106d00003065sv00001462sd00007061*
- ID_PRODUCT_FROM_DATABASE=MS-7061
-
-pci:v00001106d00003065sv00001462sd00007181*
- ID_PRODUCT_FROM_DATABASE=K8MM3-V mainboard
-
-pci:v00001106d00003065sv0000147Bsd00001C09*
- ID_PRODUCT_FROM_DATABASE=NV7 Motherboard
-
-pci:v00001106d00003065sv00001695sd00003005*
- ID_PRODUCT_FROM_DATABASE=VT6103
-
-pci:v00001106d00003065sv00001695sd0000300C*
- ID_PRODUCT_FROM_DATABASE=Realtek ALC655 sound chip
-
-pci:v00001106d00003065sv00001849sd00003065*
- ID_PRODUCT_FROM_DATABASE=K7VT6 motherboard
-
-pci:v00001106d00003068*
- ID_PRODUCT_FROM_DATABASE=AC'97 Modem Controller
-
-pci:v00001106d00003068sv00001462sd0000309E*
- ID_PRODUCT_FROM_DATABASE=MS-6309 Saturn Motherboard
-
-pci:v00001106d00003074*
- ID_PRODUCT_FROM_DATABASE=VT8233 PCI to ISA Bridge
-
-pci:v00001106d00003074sv00001043sd00008052*
- ID_PRODUCT_FROM_DATABASE=VT8233A
-
-pci:v00001106d00003091*
- ID_PRODUCT_FROM_DATABASE=VT8633 [Apollo Pro266]
-
-pci:v00001106d00003099*
- ID_PRODUCT_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333]
-
-pci:v00001106d00003099sv00001043sd00008064*
- ID_PRODUCT_FROM_DATABASE=A7V266-E Mainboard
-
-pci:v00001106d00003099sv00001043sd0000807F*
- ID_PRODUCT_FROM_DATABASE=A7V333 Mainboard
-
-pci:v00001106d00003099sv00001849sd00003099*
- ID_PRODUCT_FROM_DATABASE=K7VT2 motherboard
-
-pci:v00001106d00003101*
- ID_PRODUCT_FROM_DATABASE=VT8653 Host Bridge
-
-pci:v00001106d00003102*
- ID_PRODUCT_FROM_DATABASE=VT8662 Host Bridge
-
-pci:v00001106d00003103*
- ID_PRODUCT_FROM_DATABASE=VT8615 Host Bridge
-
-pci:v00001106d00003104*
- ID_PRODUCT_FROM_DATABASE=USB 2.0
-
-pci:v00001106d00003104sv00001019sd00000A81*
- ID_PRODUCT_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235)
-
-pci:v00001106d00003104sv00001043sd0000808C*
- ID_PRODUCT_FROM_DATABASE=A7V8X motherboard
-
-pci:v00001106d00003104sv00001043sd000080A1*
- ID_PRODUCT_FROM_DATABASE=A7V8X-X motherboard rev 1.01
-
-pci:v00001106d00003104sv00001043sd000080ED*
- ID_PRODUCT_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard
-
-pci:v00001106d00003104sv00001297sd0000F641*
- ID_PRODUCT_FROM_DATABASE=FX41 motherboard
-
-pci:v00001106d00003104sv00001458sd00005004*
- ID_PRODUCT_FROM_DATABASE=GA-7VAX Mainboard
-
-pci:v00001106d00003104sv00001462sd00005901*
- ID_PRODUCT_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
-
-pci:v00001106d00003104sv00001462sd00007020*
- ID_PRODUCT_FROM_DATABASE=K8T NEO 2 motherboard
-
-pci:v00001106d00003104sv00001462sd00007094*
- ID_PRODUCT_FROM_DATABASE=K8T Neo2-F V2.0
-
-pci:v00001106d00003104sv00001462sd00007120*
- ID_PRODUCT_FROM_DATABASE=KT4AV motherboard
-
-pci:v00001106d00003104sv00001462sd00007181*
- ID_PRODUCT_FROM_DATABASE=K8MM3-V mainboard
-
-pci:v00001106d00003104sv0000147Bsd00001407*
- ID_PRODUCT_FROM_DATABASE=KV8-MAX3 motherboard
-
-pci:v00001106d00003104sv0000182Dsd0000201D*
- ID_PRODUCT_FROM_DATABASE=CN-029 USB 2.0 4 port PCI Card
-
-pci:v00001106d00003104sv00001849sd00003104*
- ID_PRODUCT_FROM_DATABASE=K7VT6 motherboard
-
-pci:v00001106d00003104sv000019DAsd0000A179*
- ID_PRODUCT_FROM_DATABASE=ZBOX nano VD01
-
-pci:v00001106d00003106*
- ID_PRODUCT_FROM_DATABASE=VT6105/VT6106S [Rhine-III]
-
-pci:v00001106d00003106sv00001106sd00000105*
- ID_PRODUCT_FROM_DATABASE=VT6106S [Rhine-III]
-
-pci:v00001106d00003106sv00001186sd00001403*
- ID_PRODUCT_FROM_DATABASE=DFE-530TX rev C
-
-pci:v00001106d00003106sv00001186sd00001406*
- ID_PRODUCT_FROM_DATABASE=DFE-530TX+ rev F2
-
-pci:v00001106d00003106sv00001186sd00001407*
- ID_PRODUCT_FROM_DATABASE=DFE-538TX
-
-pci:v00001106d00003108*
- ID_PRODUCT_FROM_DATABASE=K8M800/K8N800/K8N800A [S3 UniChrome Pro]
-
-pci:v00001106d00003109*
- ID_PRODUCT_FROM_DATABASE=VT8233C PCI to ISA Bridge
-
-pci:v00001106d00003112*
- ID_PRODUCT_FROM_DATABASE=VT8361 [KLE133] Host Bridge
-
-pci:v00001106d00003113*
- ID_PRODUCT_FROM_DATABASE=VPX/VPX2 PCI to PCI Bridge Controller
-
-pci:v00001106d00003116*
- ID_PRODUCT_FROM_DATABASE=VT8375 [KM266/KL266] Host Bridge
-
-pci:v00001106d00003116sv00001297sd0000F641*
- ID_PRODUCT_FROM_DATABASE=FX41 motherboard
-
-pci:v00001106d00003118*
- ID_PRODUCT_FROM_DATABASE=CN400/PM800/PM880/PN800/PN880 [S3 UniChrome Pro]
-
-pci:v00001106d00003119*
- ID_PRODUCT_FROM_DATABASE=VT6120/VT6121/VT6122 Gigabit Ethernet Adapter
-
-pci:v00001106d00003122*
- ID_PRODUCT_FROM_DATABASE=VT8623 [Apollo CLE266] integrated CastleRock graphics
-
-pci:v00001106d00003123*
- ID_PRODUCT_FROM_DATABASE=VT8623 [Apollo CLE266]
-
-pci:v00001106d00003128*
- ID_PRODUCT_FROM_DATABASE=VT8753 [P4X266 AGP]
-
-pci:v00001106d00003133*
- ID_PRODUCT_FROM_DATABASE=VT3133 Host Bridge
-
-pci:v00001106d00003142*
- ID_PRODUCT_FROM_DATABASE=VT6651 WiFi Adapter, 802.11b
-
-pci:v00001106d00003147*
- ID_PRODUCT_FROM_DATABASE=VT8233A ISA Bridge
-
-pci:v00001106d00003147sv00001043sd0000808C*
- ID_PRODUCT_FROM_DATABASE=A7V333 motherboard
-
-pci:v00001106d00003148*
- ID_PRODUCT_FROM_DATABASE=P4M266 Host Bridge
-
-pci:v00001106d00003149*
- ID_PRODUCT_FROM_DATABASE=VIA VT6420 SATA RAID Controller
-
-pci:v00001106d00003149sv00001043sd000080ED*
- ID_PRODUCT_FROM_DATABASE=A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard
-
-pci:v00001106d00003149sv00001458sd0000B003*
- ID_PRODUCT_FROM_DATABASE=GA-7VM400AM(F) Motherboard
-
-pci:v00001106d00003149sv00001462sd00005901*
- ID_PRODUCT_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
-
-pci:v00001106d00003149sv00001462sd00007020*
- ID_PRODUCT_FROM_DATABASE=K8T Neo 2 Motherboard
-
-pci:v00001106d00003149sv00001462sd00007094*
- ID_PRODUCT_FROM_DATABASE=K8T Neo2-F V2.0
-
-pci:v00001106d00003149sv00001462sd00007181*
- ID_PRODUCT_FROM_DATABASE=K8MM3-V mainboard
-
-pci:v00001106d00003149sv0000147Bsd00001407*
- ID_PRODUCT_FROM_DATABASE=KV8-MAX3 motherboard
-
-pci:v00001106d00003149sv0000147Bsd00001408*
- ID_PRODUCT_FROM_DATABASE=KV7
-
-pci:v00001106d00003149sv00001849sd00003149*
- ID_PRODUCT_FROM_DATABASE=K7VT6 motherboard
-
-pci:v00001106d00003149sv0000A0A0sd000004AD*
- ID_PRODUCT_FROM_DATABASE=AK86-L motherboard
-
-pci:v00001106d00003156*
- ID_PRODUCT_FROM_DATABASE=P/KN266 Host Bridge
-
-pci:v00001106d00003157*
- ID_PRODUCT_FROM_DATABASE=CX700/VX700 [S3 UniChrome Pro]
-
-pci:v00001106d00003164*
- ID_PRODUCT_FROM_DATABASE=VT6410 ATA133 RAID controller
-
-pci:v00001106d00003164sv00001043sd000080F4*
- ID_PRODUCT_FROM_DATABASE=P4P800 Mainboard Deluxe ATX
-
-pci:v00001106d00003164sv00001462sd00007028*
- ID_PRODUCT_FROM_DATABASE=915P/G Neo2
-
-pci:v00001106d00003168*
- ID_PRODUCT_FROM_DATABASE=P4X333/P4X400/PT800 AGP Bridge
-
-pci:v00001106d00003168sv00001849sd00003168*
- ID_PRODUCT_FROM_DATABASE=P4VT8 Mainboard
-
-pci:v00001106d00003177*
- ID_PRODUCT_FROM_DATABASE=VT8235 ISA Bridge
-
-pci:v00001106d00003177sv00001019sd00000A81*
- ID_PRODUCT_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235)
-
-pci:v00001106d00003177sv00001043sd0000808C*
- ID_PRODUCT_FROM_DATABASE=A7V8X motherboard
-
-pci:v00001106d00003177sv00001043sd000080A1*
- ID_PRODUCT_FROM_DATABASE=A7V8X-X motherboard
-
-pci:v00001106d00003177sv00001106sd00000000*
- ID_PRODUCT_FROM_DATABASE=KT4AV motherboard
-
-pci:v00001106d00003177sv00001297sd0000F641*
- ID_PRODUCT_FROM_DATABASE=FX41 motherboard
-
-pci:v00001106d00003177sv00001458sd00005001*
- ID_PRODUCT_FROM_DATABASE=GA-7VAX Mainboard
-
-pci:v00001106d00003177sv00001849sd00003177*
- ID_PRODUCT_FROM_DATABASE=K7VT2 motherboard
-
-pci:v00001106d00003178*
- ID_PRODUCT_FROM_DATABASE=ProSavageDDR P4N333 Host Bridge
-
-pci:v00001106d00003188*
- ID_PRODUCT_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge
-
-pci:v00001106d00003188sv00001043sd000080A3*
- ID_PRODUCT_FROM_DATABASE=K8V Deluxe/K8V-X motherboard
-
-pci:v00001106d00003188sv0000147Bsd00001407*
- ID_PRODUCT_FROM_DATABASE=KV8-MAX3 motherboard
-
-pci:v00001106d00003189*
- ID_PRODUCT_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge
-
-pci:v00001106d00003189sv00001043sd0000807F*
- ID_PRODUCT_FROM_DATABASE=A7V8X motherboard
-
-pci:v00001106d00003189sv00001106sd00000000*
- ID_PRODUCT_FROM_DATABASE=KT4AV motherboard (KT400A)
-
-pci:v00001106d00003189sv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-7VAX Mainboard
-
-pci:v00001106d00003189sv00001849sd00003189*
- ID_PRODUCT_FROM_DATABASE=K7VT6 motherboard
-
-pci:v00001106d00003204*
- ID_PRODUCT_FROM_DATABASE=K8M800 Host Bridge
-
-pci:v00001106d00003205*
- ID_PRODUCT_FROM_DATABASE=VT8378 [KM400/A] Chipset Host Bridge
-
-pci:v00001106d00003205sv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-7VM400M Motherboard
-
-pci:v00001106d00003208*
- ID_PRODUCT_FROM_DATABASE=PT890 Host Bridge
-
-pci:v00001106d00003213*
- ID_PRODUCT_FROM_DATABASE=VPX/VPX2 PCI to PCI Bridge Controller
-
-pci:v00001106d00003218*
- ID_PRODUCT_FROM_DATABASE=K8T800M Host Bridge
-
-pci:v00001106d00003227*
- ID_PRODUCT_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South]
-
-pci:v00001106d00003227sv00001043sd000080ED*
- ID_PRODUCT_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard
-
-pci:v00001106d00003227sv00001106sd00003227*
- ID_PRODUCT_FROM_DATABASE=DFI KT600-AL / Soltek SL-B9D-FGR Motherboard
-
-pci:v00001106d00003227sv00001458sd00005001*
- ID_PRODUCT_FROM_DATABASE=GA-7VT600 Motherboard
-
-pci:v00001106d00003227sv0000147Bsd00001407*
- ID_PRODUCT_FROM_DATABASE=KV8-MAX3 motherboard
-
-pci:v00001106d00003227sv00001849sd00003227*
- ID_PRODUCT_FROM_DATABASE=K7VT4 motherboard
-
-pci:v00001106d00003230*
- ID_PRODUCT_FROM_DATABASE=K8M890CE/K8N890CE [Chrome 9]
-
-pci:v00001106d00003238*
- ID_PRODUCT_FROM_DATABASE=K8T890 Host Bridge
-
-pci:v00001106d00003249*
- ID_PRODUCT_FROM_DATABASE=VT6421 IDE/SATA Controller
-
-pci:v00001106d0000324A*
- ID_PRODUCT_FROM_DATABASE=CX700/VX700 PCI to PCI Bridge
-
-pci:v00001106d0000324B*
- ID_PRODUCT_FROM_DATABASE=CX700/VX700 Host Bridge
-
-pci:v00001106d0000324E*
- ID_PRODUCT_FROM_DATABASE=CX700/VX700 Internal Module Bus
-
-pci:v00001106d00003253*
- ID_PRODUCT_FROM_DATABASE=VT6655 WiFi Adapter, 802.11a/b/g
-
-pci:v00001106d00003258*
- ID_PRODUCT_FROM_DATABASE=PT880 Host Bridge
-
-pci:v00001106d00003259*
- ID_PRODUCT_FROM_DATABASE=CN333/CN400/PM880 Host Bridge
-
-pci:v00001106d00003260*
- ID_PRODUCT_FROM_DATABASE=VIA Chrome9 HC IGP
-
-pci:v00001106d00003269*
- ID_PRODUCT_FROM_DATABASE=KT880 Host Bridge
-
-pci:v00001106d00003282*
- ID_PRODUCT_FROM_DATABASE=K8T800Pro Host Bridge
-
-pci:v00001106d00003287*
- ID_PRODUCT_FROM_DATABASE=VT8251 PCI to ISA Bridge
-
-pci:v00001106d00003288*
- ID_PRODUCT_FROM_DATABASE=VT8237A/VT8251 HDA Controller
-
-pci:v00001106d00003288sv000019DAsd0000A179*
- ID_PRODUCT_FROM_DATABASE=ZBOX VD01
-
-pci:v00001106d00003290*
- ID_PRODUCT_FROM_DATABASE=K8M890 Host Bridge
-
-pci:v00001106d00003296*
- ID_PRODUCT_FROM_DATABASE=P4M800 Host Bridge
-
-pci:v00001106d00003324*
- ID_PRODUCT_FROM_DATABASE=CX700/VX700 Host Bridge
-
-pci:v00001106d00003327*
- ID_PRODUCT_FROM_DATABASE=P4M890 Host Bridge
-
-pci:v00001106d00003336*
- ID_PRODUCT_FROM_DATABASE=K8M890CE Host Bridge
-
-pci:v00001106d00003337*
- ID_PRODUCT_FROM_DATABASE=VT8237A PCI to ISA Bridge
-
-pci:v00001106d00003340*
- ID_PRODUCT_FROM_DATABASE=PT900 Host Bridge
-
-pci:v00001106d00003343*
- ID_PRODUCT_FROM_DATABASE=P4M890 [S3 UniChrome Pro]
-
-pci:v00001106d00003344*
- ID_PRODUCT_FROM_DATABASE=CN700/P4M800 Pro/P4M800 CE/VN800 Graphics [S3 UniChrome Pro]
-
-pci:v00001106d00003349*
- ID_PRODUCT_FROM_DATABASE=VT8251 AHCI/SATA 4-Port Controller
-
-pci:v00001106d00003351*
- ID_PRODUCT_FROM_DATABASE=VT3351 Host Bridge
-
-pci:v00001106d00003353*
- ID_PRODUCT_FROM_DATABASE=VX800 PCI to PCI Bridge
-
-pci:v00001106d00003364*
- ID_PRODUCT_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge
-
-pci:v00001106d00003371*
- ID_PRODUCT_FROM_DATABASE=CN896/VN896/P4M900 [Chrome 9 HC]
-
-pci:v00001106d00003372*
- ID_PRODUCT_FROM_DATABASE=VT8237S PCI to ISA Bridge
-
-pci:v00001106d0000337A*
- ID_PRODUCT_FROM_DATABASE=VT8237A PCI to PCI Bridge
-
-pci:v00001106d0000337B*
- ID_PRODUCT_FROM_DATABASE=VT8237A Host Bridge
-
-pci:v00001106d00003403*
- ID_PRODUCT_FROM_DATABASE=VT6315 Series Firewire Controller
-
-pci:v00001106d00003403sv00001043sd00008374*
- ID_PRODUCT_FROM_DATABASE=M5A88-V EVO
-
-pci:v00001106d00003403sv00001043sd00008384*
- ID_PRODUCT_FROM_DATABASE=P8P67 Deluxe Motherboard
-
-pci:v00001106d00003409*
- ID_PRODUCT_FROM_DATABASE=VX855/VX875 DRAM Bus Control
-
-pci:v00001106d00003410*
- ID_PRODUCT_FROM_DATABASE=VX900 DRAM Bus Control
-
-pci:v00001106d00003410sv000019DAsd0000A179*
- ID_PRODUCT_FROM_DATABASE=ZBOX nano VD01
-
-pci:v00001106d00003432*
- ID_PRODUCT_FROM_DATABASE=VL80x xHCI USB 3.0 Controller
-
-pci:v00001106d00004149*
- ID_PRODUCT_FROM_DATABASE=VIA VT6420 (ATA133) Controller
-
-pci:v00001106d00004204*
- ID_PRODUCT_FROM_DATABASE=K8M800 Host Bridge
-
-pci:v00001106d00004208*
- ID_PRODUCT_FROM_DATABASE=PT890 Host Bridge
-
-pci:v00001106d00004238*
- ID_PRODUCT_FROM_DATABASE=K8T890 Host Bridge
-
-pci:v00001106d00004258*
- ID_PRODUCT_FROM_DATABASE=PT880 Host Bridge
-
-pci:v00001106d00004259*
- ID_PRODUCT_FROM_DATABASE=CN333/CN400/PM880 Host Bridge
-
-pci:v00001106d00004269*
- ID_PRODUCT_FROM_DATABASE=KT880 Host Bridge
-
-pci:v00001106d00004282*
- ID_PRODUCT_FROM_DATABASE=K8T800Pro Host Bridge
-
-pci:v00001106d00004290*
- ID_PRODUCT_FROM_DATABASE=K8M890 Host Bridge
-
-pci:v00001106d00004293*
- ID_PRODUCT_FROM_DATABASE=PM896 Host Bridge
-
-pci:v00001106d00004296*
- ID_PRODUCT_FROM_DATABASE=P4M800 Host Bridge
-
-pci:v00001106d00004308*
- ID_PRODUCT_FROM_DATABASE=PT894 Host Bridge
-
-pci:v00001106d00004314*
- ID_PRODUCT_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge
-
-pci:v00001106d00004324*
- ID_PRODUCT_FROM_DATABASE=CX700/VX700 Host Bridge
-
-pci:v00001106d00004327*
- ID_PRODUCT_FROM_DATABASE=P4M890 Host Bridge
-
-pci:v00001106d00004336*
- ID_PRODUCT_FROM_DATABASE=K8M890CE Host Bridge
-
-pci:v00001106d00004340*
- ID_PRODUCT_FROM_DATABASE=PT900 Host Bridge
-
-pci:v00001106d00004351*
- ID_PRODUCT_FROM_DATABASE=VT3351 Host Bridge
-
-pci:v00001106d00004353*
- ID_PRODUCT_FROM_DATABASE=VX800/VX820 Power Management Control
-
-pci:v00001106d00004364*
- ID_PRODUCT_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge
-
-pci:v00001106d00004397*
- ID_PRODUCT_FROM_DATABASE=VT1708B/1702S/1708S HD audio codec
-
-pci:v00001106d00004409*
- ID_PRODUCT_FROM_DATABASE=VX855/VX875 Power Management Control
-
-pci:v00001106d00004410*
- ID_PRODUCT_FROM_DATABASE=VX900 Power Management and Chip Testing Control
-
-pci:v00001106d00004410sv000019DAsd0000A179*
- ID_PRODUCT_FROM_DATABASE=ZBOX nano VD01
-
-pci:v00001106d00004428*
- ID_PRODUCT_FROM_DATABASE=VT1718S HD Audio Codec
-
-pci:v00001106d00005030*
- ID_PRODUCT_FROM_DATABASE=VT82C596 ACPI [Apollo PRO]
-
-pci:v00001106d00005122*
- ID_PRODUCT_FROM_DATABASE=VX855/VX875 Chrome 9 HCM Integrated Graphics
-
-pci:v00001106d00005208*
- ID_PRODUCT_FROM_DATABASE=PT890 I/O APIC Interrupt Controller
-
-pci:v00001106d00005238*
- ID_PRODUCT_FROM_DATABASE=K8T890 I/O APIC Interrupt Controller
-
-pci:v00001106d00005287*
- ID_PRODUCT_FROM_DATABASE=VT8251 Serial ATA Controller
-
-pci:v00001106d00005290*
- ID_PRODUCT_FROM_DATABASE=K8M890 I/O APIC Interrupt Controller
-
-pci:v00001106d00005308*
- ID_PRODUCT_FROM_DATABASE=PT894 I/O APIC Interrupt Controller
-
-pci:v00001106d00005324*
- ID_PRODUCT_FROM_DATABASE=VX800 Serial ATA and EIDE Controller
-
-pci:v00001106d00005327*
- ID_PRODUCT_FROM_DATABASE=P4M890 I/O APIC Interrupt Controller
-
-pci:v00001106d00005336*
- ID_PRODUCT_FROM_DATABASE=K8M890CE I/O APIC Interrupt Controller
-
-pci:v00001106d00005340*
- ID_PRODUCT_FROM_DATABASE=PT900 I/O APIC Interrupt Controller
-
-pci:v00001106d00005351*
- ID_PRODUCT_FROM_DATABASE=VT3351 I/O APIC Interrupt Controller
-
-pci:v00001106d00005353*
- ID_PRODUCT_FROM_DATABASE=VX800/VX820 APIC and Central Traffic Control
-
-pci:v00001106d00005364*
- ID_PRODUCT_FROM_DATABASE=CN896/VN896/P4M900 I/O APIC Interrupt Controller
-
-pci:v00001106d00005372*
- ID_PRODUCT_FROM_DATABASE=VT8237/8251 Serial ATA Controller
-
-pci:v00001106d00005409*
- ID_PRODUCT_FROM_DATABASE=VX855/VX875 APIC and Central Traffic Control
-
-pci:v00001106d00005410*
- ID_PRODUCT_FROM_DATABASE=VX900 APIC and Central Traffic Control
-
-pci:v00001106d00006100*
- ID_PRODUCT_FROM_DATABASE=VT85C100A [Rhine II]
-
-pci:v00001106d00006287*
- ID_PRODUCT_FROM_DATABASE=SATA RAID Controller
-
-pci:v00001106d00006290*
- ID_PRODUCT_FROM_DATABASE=K8M890CE Host Bridge
-
-pci:v00001106d00006327*
- ID_PRODUCT_FROM_DATABASE=P4M890 Security Device
-
-pci:v00001106d00006353*
- ID_PRODUCT_FROM_DATABASE=VX800/VX820 Scratch Registers
-
-pci:v00001106d00006364*
- ID_PRODUCT_FROM_DATABASE=CN896/VN896/P4M900 Security Device
-
-pci:v00001106d00006409*
- ID_PRODUCT_FROM_DATABASE=VX855/VX875 Scratch Registers
-
-pci:v00001106d00006410*
- ID_PRODUCT_FROM_DATABASE=VX900 Scratch Registers
-
-pci:v00001106d00006410sv000019DAsd0000A179*
- ID_PRODUCT_FROM_DATABASE=ZBOX nano VD01
-
-pci:v00001106d00007122*
- ID_PRODUCT_FROM_DATABASE=VX900 Graphics [Chrome9 HD]
-
-pci:v00001106d00007204*
- ID_PRODUCT_FROM_DATABASE=K8M800 Host Bridge
-
-pci:v00001106d00007205*
- ID_PRODUCT_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome]
-
-pci:v00001106d00007205sv00001458sd0000D000*
- ID_PRODUCT_FROM_DATABASE=Gigabyte GA-7VM400(A)M(F) Motherboard
-
-pci:v00001106d00007205sv00001462sd00007061*
- ID_PRODUCT_FROM_DATABASE=MS-7061
-
-pci:v00001106d00007208*
- ID_PRODUCT_FROM_DATABASE=PT890 Host Bridge
-
-pci:v00001106d00007238*
- ID_PRODUCT_FROM_DATABASE=K8T890 Host Bridge
-
-pci:v00001106d00007258*
- ID_PRODUCT_FROM_DATABASE=PT880 Host Bridge
-
-pci:v00001106d00007259*
- ID_PRODUCT_FROM_DATABASE=CN333/CN400/PM880 Host Bridge
-
-pci:v00001106d00007269*
- ID_PRODUCT_FROM_DATABASE=KT880 Host Bridge
-
-pci:v00001106d00007282*
- ID_PRODUCT_FROM_DATABASE=K8T800Pro Host Bridge
-
-pci:v00001106d00007290*
- ID_PRODUCT_FROM_DATABASE=K8M890 Host Bridge
-
-pci:v00001106d00007293*
- ID_PRODUCT_FROM_DATABASE=PM896 Host Bridge
-
-pci:v00001106d00007296*
- ID_PRODUCT_FROM_DATABASE=P4M800 Host Bridge
-
-pci:v00001106d00007308*
- ID_PRODUCT_FROM_DATABASE=PT894 Host Bridge
-
-pci:v00001106d00007314*
- ID_PRODUCT_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge
-
-pci:v00001106d00007324*
- ID_PRODUCT_FROM_DATABASE=CX700/VX700 Host Bridge
-
-pci:v00001106d00007327*
- ID_PRODUCT_FROM_DATABASE=P4M890 Host Bridge
-
-pci:v00001106d00007336*
- ID_PRODUCT_FROM_DATABASE=K8M890CE Host Bridge
-
-pci:v00001106d00007340*
- ID_PRODUCT_FROM_DATABASE=PT900 Host Bridge
-
-pci:v00001106d00007351*
- ID_PRODUCT_FROM_DATABASE=VT3351 Host Bridge
-
-pci:v00001106d00007353*
- ID_PRODUCT_FROM_DATABASE=VX800/VX820 North-South Module Interface Control
-
-pci:v00001106d00007364*
- ID_PRODUCT_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge
-
-pci:v00001106d00007409*
- ID_PRODUCT_FROM_DATABASE=VX855/VX875 North-South Module Interface Control
-
-pci:v00001106d00007410*
- ID_PRODUCT_FROM_DATABASE=VX900 North-South Module Interface Control
-
-pci:v00001106d00007410sv000019DAsd0000A179*
- ID_PRODUCT_FROM_DATABASE=ZBOX nano VD01
-
-pci:v00001106d00008231*
- ID_PRODUCT_FROM_DATABASE=VT8231 [PCI-to-ISA Bridge]
-
-pci:v00001106d00008235*
- ID_PRODUCT_FROM_DATABASE=VT8235 ACPI
-
-pci:v00001106d00008305*
- ID_PRODUCT_FROM_DATABASE=VT8363/8365 [KT133/KM133 AGP]
-
-pci:v00001106d00008324*
- ID_PRODUCT_FROM_DATABASE=CX700/VX700 PCI to ISA Bridge
-
-pci:v00001106d00008353*
- ID_PRODUCT_FROM_DATABASE=VX800/VX820 Bus Control and Power Management
-
-pci:v00001106d00008391*
- ID_PRODUCT_FROM_DATABASE=VT8371 [KX133 AGP]
-
-pci:v00001106d00008400*
- ID_PRODUCT_FROM_DATABASE=MVP4
-
-pci:v00001106d00008409*
- ID_PRODUCT_FROM_DATABASE=VX855/VX875 Bus Control and Power Management
-
-pci:v00001106d00008410*
- ID_PRODUCT_FROM_DATABASE=VX900 Bus Control and Power Management
-
-pci:v00001106d00008410sv000019DAsd0000A179*
- ID_PRODUCT_FROM_DATABASE=ZBOX VD01
-
-pci:v00001106d00008500*
- ID_PRODUCT_FROM_DATABASE=KLE133/PLE133/PLE133T
-
-pci:v00001106d00008501*
- ID_PRODUCT_FROM_DATABASE=VT8501 [Apollo MVP4 AGP]
-
-pci:v00001106d00008596*
- ID_PRODUCT_FROM_DATABASE=VT82C596 [Apollo PRO AGP]
-
-pci:v00001106d00008597*
- ID_PRODUCT_FROM_DATABASE=VT82C597 [Apollo VP3 AGP]
-
-pci:v00001106d00008598*
- ID_PRODUCT_FROM_DATABASE=VT82C598/694x [Apollo MVP3/Pro133x AGP]
-
-pci:v00001106d00008598sv00001019sd00000985*
- ID_PRODUCT_FROM_DATABASE=P6VXA Motherboard
-
-pci:v00001106d00008601*
- ID_PRODUCT_FROM_DATABASE=VT8601 [Apollo ProMedia AGP]
-
-pci:v00001106d00008605*
- ID_PRODUCT_FROM_DATABASE=VT8605 [PM133 AGP]
-
-pci:v00001106d00008691*
- ID_PRODUCT_FROM_DATABASE=VT82C691 [Apollo Pro]
-
-pci:v00001106d00008693*
- ID_PRODUCT_FROM_DATABASE=VT82C693 [Apollo Pro Plus] PCI Bridge
-
-pci:v00001106d00008A25*
- ID_PRODUCT_FROM_DATABASE=PL133/PL133T [S3 ProSavage]
-
-pci:v00001106d00008A26*
- ID_PRODUCT_FROM_DATABASE=KL133/KL133A/KM133/KM133A [S3 ProSavage]
-
-pci:v00001106d00008D01*
- ID_PRODUCT_FROM_DATABASE=PN133/PN133T [S3 Twister]
-
-pci:v00001106d00008D04*
- ID_PRODUCT_FROM_DATABASE=KM266/P4M266/P4M266A/P4N266 [S3 ProSavageDDR]
-
-pci:v00001106d00009001*
- ID_PRODUCT_FROM_DATABASE=VX900 Serial ATA Controller
-
-pci:v00001106d00009530*
- ID_PRODUCT_FROM_DATABASE=Secure Digital Memory Card Controller
-
-pci:v00001106d000095D0*
- ID_PRODUCT_FROM_DATABASE=SDIO Host Controller
-
-pci:v00001106d0000A208*
- ID_PRODUCT_FROM_DATABASE=PT890 PCI to PCI Bridge Controller
-
-pci:v00001106d0000A238*
- ID_PRODUCT_FROM_DATABASE=K8T890 PCI to PCI Bridge Controller
-
-pci:v00001106d0000A327*
- ID_PRODUCT_FROM_DATABASE=P4M890 PCI to PCI Bridge Controller
-
-pci:v00001106d0000A353*
- ID_PRODUCT_FROM_DATABASE=VX8xx South-North Module Interface Control
-
-pci:v00001106d0000A364*
- ID_PRODUCT_FROM_DATABASE=CN896/VN896/P4M900 PCI to PCI Bridge Controller
-
-pci:v00001106d0000A409*
- ID_PRODUCT_FROM_DATABASE=VX855/VX875 USB Device Controller
-
-pci:v00001106d0000B091*
- ID_PRODUCT_FROM_DATABASE=VT8633 [Apollo Pro266 AGP]
-
-pci:v00001106d0000B099*
- ID_PRODUCT_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333 AGP]
-
-pci:v00001106d0000B101*
- ID_PRODUCT_FROM_DATABASE=VT8653 AGP Bridge
-
-pci:v00001106d0000B102*
- ID_PRODUCT_FROM_DATABASE=VT8362 AGP Bridge
-
-pci:v00001106d0000B103*
- ID_PRODUCT_FROM_DATABASE=VT8615 AGP Bridge
-
-pci:v00001106d0000B112*
- ID_PRODUCT_FROM_DATABASE=VT8361 [KLE133] AGP Bridge
-
-pci:v00001106d0000B113*
- ID_PRODUCT_FROM_DATABASE=VPX/VPX2 I/O APIC Interrupt Controller
-
-pci:v00001106d0000B115*
- ID_PRODUCT_FROM_DATABASE=VT8363/8365 [KT133/KM133] PCI Bridge
-
-pci:v00001106d0000B168*
- ID_PRODUCT_FROM_DATABASE=VT8235 PCI Bridge
-
-pci:v00001106d0000B188*
- ID_PRODUCT_FROM_DATABASE=VT8237/8251 PCI bridge [K8M890/K8T800/K8T890 South]
-
-pci:v00001106d0000B188sv0000147Bsd00001407*
- ID_PRODUCT_FROM_DATABASE=KV8-MAX3 motherboard
-
-pci:v00001106d0000B198*
- ID_PRODUCT_FROM_DATABASE=VT8237/VX700 PCI Bridge
-
-pci:v00001106d0000B213*
- ID_PRODUCT_FROM_DATABASE=VPX/VPX2 I/O APIC Interrupt Controller
-
-pci:v00001106d0000B353*
- ID_PRODUCT_FROM_DATABASE=VX855/VX875/VX900 PCI to PCI Bridge
-
-pci:v00001106d0000B999*
- ID_PRODUCT_FROM_DATABASE=[K8T890 North / VT8237 South] PCI Bridge
-
-pci:v00001106d0000C208*
- ID_PRODUCT_FROM_DATABASE=PT890 PCI to PCI Bridge Controller
-
-pci:v00001106d0000C238*
- ID_PRODUCT_FROM_DATABASE=K8T890 PCI to PCI Bridge Controller
-
-pci:v00001106d0000C327*
- ID_PRODUCT_FROM_DATABASE=P4M890 PCI to PCI Bridge Controller
-
-pci:v00001106d0000C340*
- ID_PRODUCT_FROM_DATABASE=PT900 PCI to PCI Bridge Controller
-
-pci:v00001106d0000C353*
- ID_PRODUCT_FROM_DATABASE=VX800/VX820 PCI Express Root Port
-
-pci:v00001106d0000C364*
- ID_PRODUCT_FROM_DATABASE=CN896/VN896/P4M900 PCI to PCI Bridge Controller
-
-pci:v00001106d0000C409*
- ID_PRODUCT_FROM_DATABASE=VX855/VX875 EIDE Controller
-
-pci:v00001106d0000D104*
- ID_PRODUCT_FROM_DATABASE=VT8237R USB UDCI Controller
-
-pci:v00001106d0000D208*
- ID_PRODUCT_FROM_DATABASE=PT890 PCI to PCI Bridge Controller
-
-pci:v00001106d0000D213*
- ID_PRODUCT_FROM_DATABASE=VPX/VPX2 PCI to PCI Bridge Controller
-
-pci:v00001106d0000D238*
- ID_PRODUCT_FROM_DATABASE=K8T890 PCI to PCI Bridge Controller
-
-pci:v00001106d0000D340*
- ID_PRODUCT_FROM_DATABASE=PT900 PCI to PCI Bridge Controller
-
-pci:v00001106d0000E208*
- ID_PRODUCT_FROM_DATABASE=PT890 PCI to PCI Bridge Controller
-
-pci:v00001106d0000E238*
- ID_PRODUCT_FROM_DATABASE=K8T890 PCI to PCI Bridge Controller
-
-pci:v00001106d0000E340*
- ID_PRODUCT_FROM_DATABASE=PT900 PCI to PCI Bridge Controller
-
-pci:v00001106d0000E353*
- ID_PRODUCT_FROM_DATABASE=VX800/VX820 PCI Express Root Port
-
-pci:v00001106d0000E721*
- ID_PRODUCT_FROM_DATABASE=VT1708B 8-channel High Definition Audio CODEC
-
-pci:v00001106d0000F208*
- ID_PRODUCT_FROM_DATABASE=PT890 PCI to PCI Bridge Controller
-
-pci:v00001106d0000F238*
- ID_PRODUCT_FROM_DATABASE=K8T890 PCI to PCI Bridge Controller
-
-pci:v00001106d0000F340*
- ID_PRODUCT_FROM_DATABASE=PT900 PCI to PCI Bridge Controller
-
-pci:v00001106d0000F353*
- ID_PRODUCT_FROM_DATABASE=VX800/VX820 PCI Express Root Port
-
-pci:v00001107*
- ID_VENDOR_FROM_DATABASE=Stratus Computers
-
-pci:v00001107d00000576*
- ID_PRODUCT_FROM_DATABASE=VIA VT82C570MV [Apollo] (Wrong vendor ID!)
-
-pci:v00001108*
- ID_VENDOR_FROM_DATABASE=Proteon, Inc.
-
-pci:v00001108d00000100*
- ID_PRODUCT_FROM_DATABASE=p1690plus_AA
-
-pci:v00001108d00000101*
- ID_PRODUCT_FROM_DATABASE=p1690plus_AB
-
-pci:v00001108d00000105*
- ID_PRODUCT_FROM_DATABASE=P1690Plus
-
-pci:v00001108d00000108*
- ID_PRODUCT_FROM_DATABASE=P1690Plus
-
-pci:v00001108d00000138*
- ID_PRODUCT_FROM_DATABASE=P1690Plus
-
-pci:v00001108d00000139*
- ID_PRODUCT_FROM_DATABASE=P1690Plus
-
-pci:v00001108d0000013C*
- ID_PRODUCT_FROM_DATABASE=P1690Plus
-
-pci:v00001108d0000013D*
- ID_PRODUCT_FROM_DATABASE=P1690Plus
-
-pci:v00001109*
- ID_VENDOR_FROM_DATABASE=Cogent Data Technologies, Inc.
-
-pci:v00001109d00001400*
- ID_PRODUCT_FROM_DATABASE=EM110TX [EX110TX]
-
-pci:v0000110A*
- ID_VENDOR_FROM_DATABASE=Siemens Nixdorf AG
-
-pci:v0000110Ad00000002*
- ID_PRODUCT_FROM_DATABASE=Pirahna 2-port
-
-pci:v0000110Ad00000005*
- ID_PRODUCT_FROM_DATABASE=Tulip controller, power management, switch extender
-
-pci:v0000110Ad00000006*
- ID_PRODUCT_FROM_DATABASE=FSC PINC (I/O-APIC)
-
-pci:v0000110Ad00000015*
- ID_PRODUCT_FROM_DATABASE=FSC Multiprocessor Interrupt Controller
-
-pci:v0000110Ad0000001D*
- ID_PRODUCT_FROM_DATABASE=FSC Copernicus Management Controller
-
-pci:v0000110Ad0000007B*
- ID_PRODUCT_FROM_DATABASE=FSC Remote Service Controller, mailbox device
-
-pci:v0000110Ad0000007C*
- ID_PRODUCT_FROM_DATABASE=FSC Remote Service Controller, shared memory device
-
-pci:v0000110Ad0000007D*
- ID_PRODUCT_FROM_DATABASE=FSC Remote Service Controller, SMIC device
-
-pci:v0000110Ad00002101*
- ID_PRODUCT_FROM_DATABASE=HST SAPHIR V Primary PCI (ISDN/PMx)
-
-pci:v0000110Ad00002102*
- ID_PRODUCT_FROM_DATABASE=DSCC4 PEB/PEF 20534 DMA Supported Serial Communication Controller with 4 Channels
-
-pci:v0000110Ad00002104*
- ID_PRODUCT_FROM_DATABASE=Eicon Diva 2.02 compatible passive ISDN card
-
-pci:v0000110Ad00003141*
- ID_PRODUCT_FROM_DATABASE=SIMATIC NET CP 5611 (Profibus Adapter)
-
-pci:v0000110Ad00003142*
- ID_PRODUCT_FROM_DATABASE=SIMATIC NET CP 5613A1 (Profibus Adapter)
-
-pci:v0000110Ad00004021*
- ID_PRODUCT_FROM_DATABASE=SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter)
-
-pci:v0000110Ad00004029*
- ID_PRODUCT_FROM_DATABASE=SIMATIC NET CP 5613A2 (Profibus Adapter)
-
-pci:v0000110Ad00004942*
- ID_PRODUCT_FROM_DATABASE=FPGA I-Bus Tracer for MBD
-
-pci:v0000110Ad00006120*
- ID_PRODUCT_FROM_DATABASE=SZB6120
-
-pci:v0000110B*
- ID_VENDOR_FROM_DATABASE=Chromatic Research Inc.
-
-pci:v0000110Bd00000001*
- ID_PRODUCT_FROM_DATABASE=Mpact Media Processor
-
-pci:v0000110Bd00000004*
- ID_PRODUCT_FROM_DATABASE=Mpact 2
-
-pci:v0000110C*
- ID_VENDOR_FROM_DATABASE=Mini-Max Technology, Inc.
-
-pci:v0000110D*
- ID_VENDOR_FROM_DATABASE=Znyx Advanced Systems
-
-pci:v0000110E*
- ID_VENDOR_FROM_DATABASE=CPU Technology
-
-pci:v0000110F*
- ID_VENDOR_FROM_DATABASE=Ross Technology
-
-pci:v00001110*
- ID_VENDOR_FROM_DATABASE=Powerhouse Systems
-
-pci:v00001110d00006037*
- ID_PRODUCT_FROM_DATABASE=Firepower Powerized SMP I/O ASIC
-
-pci:v00001110d00006073*
- ID_PRODUCT_FROM_DATABASE=Firepower Powerized SMP I/O ASIC
-
-pci:v00001111*
- ID_VENDOR_FROM_DATABASE=Santa Cruz Operation
-
-pci:v00001112*
- ID_VENDOR_FROM_DATABASE=Osicom Technologies Inc
-
-pci:v00001112d00002200*
- ID_PRODUCT_FROM_DATABASE=FDDI Adapter
-
-pci:v00001112d00002300*
- ID_PRODUCT_FROM_DATABASE=Fast Ethernet Adapter
-
-pci:v00001112d00002340*
- ID_PRODUCT_FROM_DATABASE=4 Port Fast Ethernet Adapter
-
-pci:v00001112d00002400*
- ID_PRODUCT_FROM_DATABASE=ATM Adapter
-
-pci:v00001113*
- ID_VENDOR_FROM_DATABASE=Accton Technology Corporation
-
-pci:v00001113d00001211*
- ID_PRODUCT_FROM_DATABASE=SMC2-1211TX
-
-pci:v00001113d00001211sv0000103Csd00001207*
- ID_PRODUCT_FROM_DATABASE=EN-1207D Fast Ethernet Adapter
-
-pci:v00001113d00001211sv00001113sd00001211*
- ID_PRODUCT_FROM_DATABASE=EN-1207D Fast Ethernet Adapter
-
-pci:v00001113d00001216*
- ID_PRODUCT_FROM_DATABASE=EN-1216 Ethernet Adapter
-
-pci:v00001113d00001216sv00001113sd00001216*
- ID_PRODUCT_FROM_DATABASE=EN1207F series PCI Fast Ethernet Adapter
-
-pci:v00001113d00001216sv00001113sd00002220*
- ID_PRODUCT_FROM_DATABASE=EN2220A Cardbus Fast Ethernet Adapter
-
-pci:v00001113d00001216sv00001113sd00002242*
- ID_PRODUCT_FROM_DATABASE=EN2242 10/100 Ethernet Mini-PCI Card
-
-pci:v00001113d00001216sv0000111Asd00001020*
- ID_PRODUCT_FROM_DATABASE=SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?]
-
-pci:v00001113d00001217*
- ID_PRODUCT_FROM_DATABASE=EN-1217 Ethernet Adapter
-
-pci:v00001113d00005105*
- ID_PRODUCT_FROM_DATABASE=10Mbps Network card
-
-pci:v00001113d00009211*
- ID_PRODUCT_FROM_DATABASE=EN-1207D Fast Ethernet Adapter
-
-pci:v00001113d00009211sv00001113sd00009211*
- ID_PRODUCT_FROM_DATABASE=EN-1207D Fast Ethernet Adapter
-
-pci:v00001113d00009511*
- ID_PRODUCT_FROM_DATABASE=21x4x DEC-Tulip compatible Fast Ethernet
-
-pci:v00001113d0000D301*
- ID_PRODUCT_FROM_DATABASE=CPWNA100 (Philips wireless PCMCIA)
-
-pci:v00001113d0000EC02*
- ID_PRODUCT_FROM_DATABASE=SMC 1244TX v3
-
-pci:v00001113d0000EE23*
- ID_PRODUCT_FROM_DATABASE=SMCWPCIT-G 108Mbps Wireless PCI adapter
-
-pci:v00001114*
- ID_VENDOR_FROM_DATABASE=Atmel Corporation
-
-pci:v00001114d00000506*
- ID_PRODUCT_FROM_DATABASE=at76c506 802.11b Wireless Network Adaptor
-
-pci:v00001115*
- ID_VENDOR_FROM_DATABASE=3D Labs
-
-pci:v00001116*
- ID_VENDOR_FROM_DATABASE=Data Translation
-
-pci:v00001116d00000022*
- ID_PRODUCT_FROM_DATABASE=DT3001
-
-pci:v00001116d00000023*
- ID_PRODUCT_FROM_DATABASE=DT3002
-
-pci:v00001116d00000024*
- ID_PRODUCT_FROM_DATABASE=DT3003
-
-pci:v00001116d00000025*
- ID_PRODUCT_FROM_DATABASE=DT3004
-
-pci:v00001116d00000026*
- ID_PRODUCT_FROM_DATABASE=DT3005
-
-pci:v00001116d00000027*
- ID_PRODUCT_FROM_DATABASE=DT3001-PGL
-
-pci:v00001116d00000028*
- ID_PRODUCT_FROM_DATABASE=DT3003-PGL
-
-pci:v00001116d00000051*
- ID_PRODUCT_FROM_DATABASE=DT322
-
-pci:v00001116d00000060*
- ID_PRODUCT_FROM_DATABASE=DT340
-
-pci:v00001116d00000069*
- ID_PRODUCT_FROM_DATABASE=DT332
-
-pci:v00001116d000080C2*
- ID_PRODUCT_FROM_DATABASE=DT3162
-
-pci:v00001117*
- ID_VENDOR_FROM_DATABASE=Datacube, Inc
-
-pci:v00001117d00009500*
- ID_PRODUCT_FROM_DATABASE=Max-1C SVGA card
-
-pci:v00001117d00009501*
- ID_PRODUCT_FROM_DATABASE=Max-1C image processing
-
-pci:v00001118*
- ID_VENDOR_FROM_DATABASE=Berg Electronics
-
-pci:v00001119*
- ID_VENDOR_FROM_DATABASE=ICP Vortex Computersysteme GmbH
-
-pci:v00001119d00000000*
- ID_PRODUCT_FROM_DATABASE=GDT 6000/6020/6050
-
-pci:v00001119d00000001*
- ID_PRODUCT_FROM_DATABASE=GDT 6000B/6010
-
-pci:v00001119d00000002*
- ID_PRODUCT_FROM_DATABASE=GDT 6110/6510
-
-pci:v00001119d00000003*
- ID_PRODUCT_FROM_DATABASE=GDT 6120/6520
-
-pci:v00001119d00000004*
- ID_PRODUCT_FROM_DATABASE=GDT 6530
-
-pci:v00001119d00000005*
- ID_PRODUCT_FROM_DATABASE=GDT 6550
-
-pci:v00001119d00000006*
- ID_PRODUCT_FROM_DATABASE=GDT 6117/6517
-
-pci:v00001119d00000007*
- ID_PRODUCT_FROM_DATABASE=GDT 6127/6527
-
-pci:v00001119d00000008*
- ID_PRODUCT_FROM_DATABASE=GDT 6537
-
-pci:v00001119d00000009*
- ID_PRODUCT_FROM_DATABASE=GDT 6557/6557-ECC
-
-pci:v00001119d0000000A*
- ID_PRODUCT_FROM_DATABASE=GDT 6115/6515
-
-pci:v00001119d0000000B*
- ID_PRODUCT_FROM_DATABASE=GDT 6125/6525
-
-pci:v00001119d0000000C*
- ID_PRODUCT_FROM_DATABASE=GDT 6535
-
-pci:v00001119d0000000D*
- ID_PRODUCT_FROM_DATABASE=GDT 6555/6555-ECC
-
-pci:v00001119d00000100*
- ID_PRODUCT_FROM_DATABASE=GDT 6117RP/6517RP
-
-pci:v00001119d00000101*
- ID_PRODUCT_FROM_DATABASE=GDT 6127RP/6527RP
-
-pci:v00001119d00000102*
- ID_PRODUCT_FROM_DATABASE=GDT 6537RP
-
-pci:v00001119d00000103*
- ID_PRODUCT_FROM_DATABASE=GDT 6557RP
-
-pci:v00001119d00000104*
- ID_PRODUCT_FROM_DATABASE=GDT 6111RP/6511RP
-
-pci:v00001119d00000105*
- ID_PRODUCT_FROM_DATABASE=GDT 6121RP/6521RP
-
-pci:v00001119d00000110*
- ID_PRODUCT_FROM_DATABASE=GDT 6117RD/6517RD
-
-pci:v00001119d00000111*
- ID_PRODUCT_FROM_DATABASE=GDT 6127RD/6527RD
-
-pci:v00001119d00000112*
- ID_PRODUCT_FROM_DATABASE=GDT 6537RD
-
-pci:v00001119d00000113*
- ID_PRODUCT_FROM_DATABASE=GDT 6557RD
-
-pci:v00001119d00000114*
- ID_PRODUCT_FROM_DATABASE=GDT 6111RD/6511RD
-
-pci:v00001119d00000115*
- ID_PRODUCT_FROM_DATABASE=GDT 6121RD/6521RD
-
-pci:v00001119d00000118*
- ID_PRODUCT_FROM_DATABASE=GDT 6118RD/6518RD/6618RD
-
-pci:v00001119d00000119*
- ID_PRODUCT_FROM_DATABASE=GDT 6128RD/6528RD/6628RD
-
-pci:v00001119d0000011A*
- ID_PRODUCT_FROM_DATABASE=GDT 6538RD/6638RD
-
-pci:v00001119d0000011B*
- ID_PRODUCT_FROM_DATABASE=GDT 6558RD/6658RD
-
-pci:v00001119d00000120*
- ID_PRODUCT_FROM_DATABASE=GDT 6117RP2/6517RP2
-
-pci:v00001119d00000121*
- ID_PRODUCT_FROM_DATABASE=GDT 6127RP2/6527RP2
-
-pci:v00001119d00000122*
- ID_PRODUCT_FROM_DATABASE=GDT 6537RP2
-
-pci:v00001119d00000123*
- ID_PRODUCT_FROM_DATABASE=GDT 6557RP2
-
-pci:v00001119d00000124*
- ID_PRODUCT_FROM_DATABASE=GDT 6111RP2/6511RP2
-
-pci:v00001119d00000125*
- ID_PRODUCT_FROM_DATABASE=GDT 6121RP2/6521RP2
-
-pci:v00001119d00000136*
- ID_PRODUCT_FROM_DATABASE=GDT 6113RS/6513RS
-
-pci:v00001119d00000137*
- ID_PRODUCT_FROM_DATABASE=GDT 6123RS/6523RS
-
-pci:v00001119d00000138*
- ID_PRODUCT_FROM_DATABASE=GDT 6118RS/6518RS/6618RS
-
-pci:v00001119d00000139*
- ID_PRODUCT_FROM_DATABASE=GDT 6128RS/6528RS/6628RS
-
-pci:v00001119d0000013A*
- ID_PRODUCT_FROM_DATABASE=GDT 6538RS/6638RS
-
-pci:v00001119d0000013B*
- ID_PRODUCT_FROM_DATABASE=GDT 6558RS/6658RS
-
-pci:v00001119d0000013C*
- ID_PRODUCT_FROM_DATABASE=GDT 6533RS/6633RS
-
-pci:v00001119d0000013D*
- ID_PRODUCT_FROM_DATABASE=GDT 6543RS/6643RS
-
-pci:v00001119d0000013E*
- ID_PRODUCT_FROM_DATABASE=GDT 6553RS/6653RS
-
-pci:v00001119d0000013F*
- ID_PRODUCT_FROM_DATABASE=GDT 6563RS/6663RS
-
-pci:v00001119d00000166*
- ID_PRODUCT_FROM_DATABASE=GDT 7113RN/7513RN/7613RN
-
-pci:v00001119d00000167*
- ID_PRODUCT_FROM_DATABASE=GDT 7123RN/7523RN/7623RN
-
-pci:v00001119d00000168*
- ID_PRODUCT_FROM_DATABASE=GDT 7118RN/7518RN/7518RN
-
-pci:v00001119d00000169*
- ID_PRODUCT_FROM_DATABASE=GDT 7128RN/7528RN/7628RN
-
-pci:v00001119d0000016A*
- ID_PRODUCT_FROM_DATABASE=GDT 7538RN/7638RN
-
-pci:v00001119d0000016B*
- ID_PRODUCT_FROM_DATABASE=GDT 7558RN/7658RN
-
-pci:v00001119d0000016C*
- ID_PRODUCT_FROM_DATABASE=GDT 7533RN/7633RN
-
-pci:v00001119d0000016D*
- ID_PRODUCT_FROM_DATABASE=GDT 7543RN/7643RN
-
-pci:v00001119d0000016E*
- ID_PRODUCT_FROM_DATABASE=GDT 7553RN/7653RN
-
-pci:v00001119d0000016F*
- ID_PRODUCT_FROM_DATABASE=GDT 7563RN/7663RN
-
-pci:v00001119d000001D6*
- ID_PRODUCT_FROM_DATABASE=GDT 4x13RZ
-
-pci:v00001119d000001D7*
- ID_PRODUCT_FROM_DATABASE=GDT 4x23RZ
-
-pci:v00001119d000001F6*
- ID_PRODUCT_FROM_DATABASE=GDT 8x13RZ
-
-pci:v00001119d000001F7*
- ID_PRODUCT_FROM_DATABASE=GDT 8x23RZ
-
-pci:v00001119d000001FC*
- ID_PRODUCT_FROM_DATABASE=GDT 8x33RZ
-
-pci:v00001119d000001FD*
- ID_PRODUCT_FROM_DATABASE=GDT 8x43RZ
-
-pci:v00001119d000001FE*
- ID_PRODUCT_FROM_DATABASE=GDT 8x53RZ
-
-pci:v00001119d000001FF*
- ID_PRODUCT_FROM_DATABASE=GDT 8x63RZ
-
-pci:v00001119d00000210*
- ID_PRODUCT_FROM_DATABASE=GDT 6519RD/6619RD
-
-pci:v00001119d00000211*
- ID_PRODUCT_FROM_DATABASE=GDT 6529RD/6629RD
-
-pci:v00001119d00000260*
- ID_PRODUCT_FROM_DATABASE=GDT 7519RN/7619RN
-
-pci:v00001119d00000261*
- ID_PRODUCT_FROM_DATABASE=GDT 7529RN/7629RN
-
-pci:v00001119d000002FF*
- ID_PRODUCT_FROM_DATABASE=GDT MAXRP
-
-pci:v00001119d00000300*
- ID_PRODUCT_FROM_DATABASE=GDT NEWRX
-
-pci:v00001119d00000301*
- ID_PRODUCT_FROM_DATABASE=GDT NEWRX2
-
-pci:v0000111A*
- ID_VENDOR_FROM_DATABASE=Efficient Networks, Inc
-
-pci:v0000111Ad00000000*
- ID_PRODUCT_FROM_DATABASE=155P-MF1 (FPGA)
-
-pci:v0000111Ad00000002*
- ID_PRODUCT_FROM_DATABASE=155P-MF1 (ASIC)
-
-pci:v0000111Ad00000003*
- ID_PRODUCT_FROM_DATABASE=ENI-25P ATM
-
-pci:v0000111Ad00000003sv0000111Asd00000000*
- ID_PRODUCT_FROM_DATABASE=ENI-25p Miniport ATM Adapter
-
-pci:v0000111Ad00000005*
- ID_PRODUCT_FROM_DATABASE=SpeedStream (LANAI)
-
-pci:v0000111Ad00000005sv0000111Asd00000001*
- ID_PRODUCT_FROM_DATABASE=ENI-3010 ATM
-
-pci:v0000111Ad00000005sv0000111Asd00000009*
- ID_PRODUCT_FROM_DATABASE=ENI-3060 ADSL (VPI=0)
-
-pci:v0000111Ad00000005sv0000111Asd00000101*
- ID_PRODUCT_FROM_DATABASE=ENI-3010 ATM
-
-pci:v0000111Ad00000005sv0000111Asd00000109*
- ID_PRODUCT_FROM_DATABASE=ENI-3060CO ADSL (VPI=0)
-
-pci:v0000111Ad00000005sv0000111Asd00000809*
- ID_PRODUCT_FROM_DATABASE=ENI-3060 ADSL (VPI=0 or 8)
-
-pci:v0000111Ad00000005sv0000111Asd00000909*
- ID_PRODUCT_FROM_DATABASE=ENI-3060CO ADSL (VPI=0 or 8)
-
-pci:v0000111Ad00000005sv0000111Asd00000A09*
- ID_PRODUCT_FROM_DATABASE=ENI-3060 ADSL (VPI=<0..15>)
-
-pci:v0000111Ad00000007*
- ID_PRODUCT_FROM_DATABASE=SpeedStream ADSL
-
-pci:v0000111Ad00000007sv0000111Asd00001001*
- ID_PRODUCT_FROM_DATABASE=ENI-3061 ADSL [ASIC]
-
-pci:v0000111Ad00001020*
- ID_PRODUCT_FROM_DATABASE=SpeedStream PCI 10/100 Network Card
-
-pci:v0000111Ad00001203*
- ID_PRODUCT_FROM_DATABASE=SpeedStream 1023 Wireless PCI Adapter
-
-pci:v0000111B*
- ID_VENDOR_FROM_DATABASE=Teledyne Electronic Systems
-
-pci:v0000111C*
- ID_VENDOR_FROM_DATABASE=Tricord Systems Inc.
-
-pci:v0000111Cd00000001*
- ID_PRODUCT_FROM_DATABASE=Powerbis Bridge
-
-pci:v0000111D*
- ID_VENDOR_FROM_DATABASE=Integrated Device Technology, Inc.
-
-pci:v0000111Dd00000001*
- ID_PRODUCT_FROM_DATABASE=IDT77201/77211 155Mbps ATM SAR Controller [NICStAR]
-
-pci:v0000111Dd00000003*
- ID_PRODUCT_FROM_DATABASE=IDT77222/77252 155Mbps ATM MICRO ABR SAR Controller
-
-pci:v0000111Dd00000004*
- ID_PRODUCT_FROM_DATABASE=IDT77V252 155Mbps ATM MICRO ABR SAR Controller
-
-pci:v0000111Dd00000005*
- ID_PRODUCT_FROM_DATABASE=IDT77V222 155Mbps ATM MICRO ABR SAR Controller
-
-pci:v0000111Dd00008018*
- ID_PRODUCT_FROM_DATABASE=PES12N3A PCI Express Switch
-
-pci:v0000111Dd0000801C*
- ID_PRODUCT_FROM_DATABASE=PES24N3A PCI Express Switch
-
-pci:v0000111Dd00008028*
- ID_PRODUCT_FROM_DATABASE=PES4T4 PCI Express Switch
-
-pci:v0000111Dd0000802B*
- ID_PRODUCT_FROM_DATABASE=PES8T5A PCI Express Switch
-
-pci:v0000111Dd0000802C*
- ID_PRODUCT_FROM_DATABASE=PES16T4 PCI Express Switch
-
-pci:v0000111Dd0000802D*
- ID_PRODUCT_FROM_DATABASE=PES16T7 PCI Express Switch
-
-pci:v0000111Dd0000802E*
- ID_PRODUCT_FROM_DATABASE=PES24T6 PCI Express Switch
-
-pci:v0000111Dd0000802F*
- ID_PRODUCT_FROM_DATABASE=PES32T8 PCI Express Switch
-
-pci:v0000111Dd00008032*
- ID_PRODUCT_FROM_DATABASE=PES48T12 PCI Express Switch
-
-pci:v0000111Dd00008034*
- ID_PRODUCT_FROM_DATABASE=PES16/22/34H16 PCI Express Switch
-
-pci:v0000111Dd00008035*
- ID_PRODUCT_FROM_DATABASE=PES32H8 PCI Express Switch
-
-pci:v0000111Dd00008036*
- ID_PRODUCT_FROM_DATABASE=PES48H12 PCI Express Switch
-
-pci:v0000111Dd00008037*
- ID_PRODUCT_FROM_DATABASE=PES64H16 PCI Express Switch
-
-pci:v0000111Dd00008039*
- ID_PRODUCT_FROM_DATABASE=PES3T3 PCI Express Switch
-
-pci:v0000111Dd0000803A*
- ID_PRODUCT_FROM_DATABASE=PES4T4 PCI Express Switch
-
-pci:v0000111Dd0000803C*
- ID_PRODUCT_FROM_DATABASE=PES5T5 PCI Express Switch
-
-pci:v0000111Dd0000803D*
- ID_PRODUCT_FROM_DATABASE=PES6T5 PCI Express Switch
-
-pci:v0000111Dd00008048*
- ID_PRODUCT_FROM_DATABASE=PES8NT2 PCI Express Switch
-
-pci:v0000111Dd00008049*
- ID_PRODUCT_FROM_DATABASE=PES8NT2 PCI Express Switch
-
-pci:v0000111Dd0000804A*
- ID_PRODUCT_FROM_DATABASE=PES8NT2 PCI Express Internal NTB
-
-pci:v0000111Dd0000804B*
- ID_PRODUCT_FROM_DATABASE=PES8NT2 PCI Express External NTB
-
-pci:v0000111Dd0000804C*
- ID_PRODUCT_FROM_DATABASE=PES16NT2 PCI Express Switch
-
-pci:v0000111Dd0000804D*
- ID_PRODUCT_FROM_DATABASE=PES16NT2 PCI Express Switch
-
-pci:v0000111Dd0000804E*
- ID_PRODUCT_FROM_DATABASE=PES16NT2 PCI Express Internal NTB
-
-pci:v0000111Dd0000804F*
- ID_PRODUCT_FROM_DATABASE=PES16NT2 PCI Express External NTB
-
-pci:v0000111Dd00008058*
- ID_PRODUCT_FROM_DATABASE=PES12NT3 PCI Express Switch
-
-pci:v0000111Dd00008059*
- ID_PRODUCT_FROM_DATABASE=PES12NT3 PCI Express Switch
-
-pci:v0000111Dd0000805A*
- ID_PRODUCT_FROM_DATABASE=PES12NT3 PCI Express Internal NTB
-
-pci:v0000111Dd0000805B*
- ID_PRODUCT_FROM_DATABASE=PES12NT3 PCI Express External NTB
-
-pci:v0000111Dd0000805C*
- ID_PRODUCT_FROM_DATABASE=PES24NT3 PCI Express Switch
-
-pci:v0000111Dd0000805D*
- ID_PRODUCT_FROM_DATABASE=PES24NT3 PCI Express Switch
-
-pci:v0000111Dd0000805E*
- ID_PRODUCT_FROM_DATABASE=PES24NT3 PCI Express Internal NTB
-
-pci:v0000111Dd0000805F*
- ID_PRODUCT_FROM_DATABASE=PES24NT3 PCI Express External NTB
-
-pci:v0000111Dd00008060*
- ID_PRODUCT_FROM_DATABASE=PES16T4G2 PCI Express Gen2 Switch
-
-pci:v0000111Dd00008061*
- ID_PRODUCT_FROM_DATABASE=PES12T3G2 PCI Express Gen2 Switch
-
-pci:v0000111Dd00008068*
- ID_PRODUCT_FROM_DATABASE=PES6T6G2 PCI Express Gen2 Switch
-
-pci:v0000111Dd0000806A*
- ID_PRODUCT_FROM_DATABASE=PES24T3G2 PCI Express Gen2 Switch
-
-pci:v0000111Dd0000806Asv000014C1sd0000000C*
- ID_PRODUCT_FROM_DATABASE=10G-PCIE2-8B2
-
-pci:v0000111Dd0000806C*
- ID_PRODUCT_FROM_DATABASE=PES16T4A/4T4G2 PCI Express Gen2 Switch
-
-pci:v0000111Dd0000806E*
- ID_PRODUCT_FROM_DATABASE=PES24T6G2 PCI Express Gen2 Switch
-
-pci:v0000111Dd0000806F*
- ID_PRODUCT_FROM_DATABASE=HIO524G2 PCI Express Gen2 Switch
-
-pci:v0000111E*
- ID_VENDOR_FROM_DATABASE=Eldec
-
-pci:v0000111F*
- ID_VENDOR_FROM_DATABASE=Precision Digital Images
-
-pci:v0000111Fd00004A47*
- ID_PRODUCT_FROM_DATABASE=Precision MX Video engine interface
-
-pci:v0000111Fd00005243*
- ID_PRODUCT_FROM_DATABASE=Frame capture bus interface
-
-pci:v00001120*
- ID_VENDOR_FROM_DATABASE=EMC Corporation
-
-pci:v00001121*
- ID_VENDOR_FROM_DATABASE=Zilog
-
-pci:v00001122*
- ID_VENDOR_FROM_DATABASE=Multi-tech Systems, Inc.
-
-pci:v00001123*
- ID_VENDOR_FROM_DATABASE=Excellent Design, Inc.
-
-pci:v00001124*
- ID_VENDOR_FROM_DATABASE=Leutron Vision AG
-
-pci:v00001124d00002581*
- ID_PRODUCT_FROM_DATABASE=Picport Monochrome
-
-pci:v00001125*
- ID_VENDOR_FROM_DATABASE=Eurocore
-
-pci:v00001126*
- ID_VENDOR_FROM_DATABASE=Vigra
-
-pci:v00001127*
- ID_VENDOR_FROM_DATABASE=FORE Systems Inc
-
-pci:v00001127d00000200*
- ID_PRODUCT_FROM_DATABASE=ForeRunner PCA-200 ATM
-
-pci:v00001127d00000210*
- ID_PRODUCT_FROM_DATABASE=PCA-200PC
-
-pci:v00001127d00000250*
- ID_PRODUCT_FROM_DATABASE=ATM
-
-pci:v00001127d00000300*
- ID_PRODUCT_FROM_DATABASE=ForeRunner PCA-200EPC ATM
-
-pci:v00001127d00000310*
- ID_PRODUCT_FROM_DATABASE=ATM
-
-pci:v00001127d00000400*
- ID_PRODUCT_FROM_DATABASE=ForeRunnerHE ATM Adapter
-
-pci:v00001127d00000400sv00001127sd00000400*
- ID_PRODUCT_FROM_DATABASE=ForeRunnerHE ATM
-
-pci:v00001129*
- ID_VENDOR_FROM_DATABASE=Firmworks
-
-pci:v0000112A*
- ID_VENDOR_FROM_DATABASE=Hermes Electronics Company, Ltd.
-
-pci:v0000112B*
- ID_VENDOR_FROM_DATABASE=Linotype - Hell AG
-
-pci:v0000112C*
- ID_VENDOR_FROM_DATABASE=Zenith Data Systems
-
-pci:v0000112D*
- ID_VENDOR_FROM_DATABASE=Ravicad
-
-pci:v0000112E*
- ID_VENDOR_FROM_DATABASE=Infomedia Microelectronics Inc.
-
-pci:v0000112F*
- ID_VENDOR_FROM_DATABASE=Dalsa Inc.
-
-pci:v0000112Fd00000000*
- ID_PRODUCT_FROM_DATABASE=MVC IC-PCI
-
-pci:v0000112Fd00000001*
- ID_PRODUCT_FROM_DATABASE=MVC IM-PCI Video frame grabber/processor
-
-pci:v0000112Fd00000008*
- ID_PRODUCT_FROM_DATABASE=PC-CamLink PCI framegrabber
-
-pci:v00001130*
- ID_VENDOR_FROM_DATABASE=Computervision
-
-pci:v00001131*
- ID_VENDOR_FROM_DATABASE=Philips Semiconductors
-
-pci:v00001131d00001561*
- ID_PRODUCT_FROM_DATABASE=USB 1.1 Host Controller
-
-pci:v00001131d00001561sv00001775sd0000C200*
- ID_PRODUCT_FROM_DATABASE=C2K onboard USB 1.1 host controller
-
-pci:v00001131d00001562*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Host Controller
-
-pci:v00001131d00001562sv00001775sd0000C200*
- ID_PRODUCT_FROM_DATABASE=C2K onboard USB 2.0 host controller
-
-pci:v00001131d00003400*
- ID_PRODUCT_FROM_DATABASE=SmartPCI56(UCB1500) 56K Modem
-
-pci:v00001131d00005400*
- ID_PRODUCT_FROM_DATABASE=TriMedia TM1000/1100
-
-pci:v00001131d00005400sv000012CAsd00000000*
- ID_PRODUCT_FROM_DATABASE=BlueICE
-
-pci:v00001131d00005402*
- ID_PRODUCT_FROM_DATABASE=TriMedia TM1300
-
-pci:v00001131d00005402sv00001244sd00000F00*
- ID_PRODUCT_FROM_DATABASE=Fritz!Card DSL
-
-pci:v00001131d00005402sv000015EBsd00001300*
- ID_PRODUCT_FROM_DATABASE=DT1300
-
-pci:v00001131d00005402sv000015EBsd00001302*
- ID_PRODUCT_FROM_DATABASE=DT1302
-
-pci:v00001131d00005402sv000015EBsd00001304*
- ID_PRODUCT_FROM_DATABASE=DT1304
-
-pci:v00001131d00005402sv000015EBsd00001305*
- ID_PRODUCT_FROM_DATABASE=DT1305
-
-pci:v00001131d00005402sv000015EBsd00001306*
- ID_PRODUCT_FROM_DATABASE=PMCDT1306
-
-pci:v00001131d00005402sv000015EBsd00001308*
- ID_PRODUCT_FROM_DATABASE=DT1308
-
-pci:v00001131d00005402sv000015EBsd00001331*
- ID_PRODUCT_FROM_DATABASE=DT1301 with SAA7121
-
-pci:v00001131d00005402sv000015EBsd00001337*
- ID_PRODUCT_FROM_DATABASE=DT1301 with SAA7127
-
-pci:v00001131d00005402sv000015EBsd00002D3D*
- ID_PRODUCT_FROM_DATABASE=X3D
-
-pci:v00001131d00005402sv000015EBsd00007022*
- ID_PRODUCT_FROM_DATABASE=PTM1300
-
-pci:v00001131d00005405*
- ID_PRODUCT_FROM_DATABASE=TriMedia TM1500
-
-pci:v00001131d00005405sv00001136sd00000005*
- ID_PRODUCT_FROM_DATABASE=LCP-1500
-
-pci:v00001131d00005406*
- ID_PRODUCT_FROM_DATABASE=TriMedia TM1700
-
-pci:v00001131d0000540B*
- ID_PRODUCT_FROM_DATABASE=PNX1005 Media Processor
-
-pci:v00001131d0000540Bsv00001131sd00000020*
- ID_PRODUCT_FROM_DATABASE=PNXLite PCI Demo Board
-
-pci:v00001131d00007130*
- ID_PRODUCT_FROM_DATABASE=SAA7130 Video Broadcast Decoder
-
-pci:v00001131d00007130sv00000000sd00004016*
- ID_PRODUCT_FROM_DATABASE=Behold TV 401
-
-pci:v00001131d00007130sv00000000sd00004051*
- ID_PRODUCT_FROM_DATABASE=Behold TV 405 FM
-
-pci:v00001131d00007130sv00000000sd00005051*
- ID_PRODUCT_FROM_DATABASE=Behold TV 505 RDS
-
-pci:v00001131d00007130sv00000000sd0000505B*
- ID_PRODUCT_FROM_DATABASE=Behold TV 505 RDS
-
-pci:v00001131d00007130sv0000102Bsd000048D0*
- ID_PRODUCT_FROM_DATABASE=Matrox CronosPlus
-
-pci:v00001131d00007130sv00001048sd0000226B*
- ID_PRODUCT_FROM_DATABASE=ELSA EX-VISION 300TV
-
-pci:v00001131d00007130sv0000107Dsd00006655*
- ID_PRODUCT_FROM_DATABASE=WinFast DTV1000S
-
-pci:v00001131d00007130sv00001131sd00000000*
- ID_PRODUCT_FROM_DATABASE=SAA7130-based TV tuner card
-
-pci:v00001131d00007130sv00001131sd00002001*
- ID_PRODUCT_FROM_DATABASE=10MOONS PCI TV CAPTURE CARD
-
-pci:v00001131d00007130sv00001131sd00002005*
- ID_PRODUCT_FROM_DATABASE=Techcom (India) TV Tuner Card (SSD-TV-670)
-
-pci:v00001131d00007130sv00001458sd00009006*
- ID_PRODUCT_FROM_DATABASE=GT-PS700 DVB-S tuner
-
-pci:v00001131d00007130sv00001461sd0000050C*
- ID_PRODUCT_FROM_DATABASE=Nagase Sangyo TransGear 3000TV
-
-pci:v00001131d00007130sv00001461sd000010FF*
- ID_PRODUCT_FROM_DATABASE=AVerMedia DVD EZMaker
-
-pci:v00001131d00007130sv00001461sd00002108*
- ID_PRODUCT_FROM_DATABASE=AverMedia AverTV/305
-
-pci:v00001131d00007130sv00001461sd00002115*
- ID_PRODUCT_FROM_DATABASE=AverMedia AverTV Studio 305
-
-pci:v00001131d00007130sv0000153Bsd00001152*
- ID_PRODUCT_FROM_DATABASE=Terratec Cinergy 200 TV
-
-pci:v00001131d00007130sv0000185Bsd0000C100*
- ID_PRODUCT_FROM_DATABASE=Compro VideoMate TV PVR/FM
-
-pci:v00001131d00007130sv0000185Bsd0000C901*
- ID_PRODUCT_FROM_DATABASE=Videomate DVB-T200
-
-pci:v00001131d00007130sv00005168sd00000138*
- ID_PRODUCT_FROM_DATABASE=LifeView FlyVIDEO2000
-
-pci:v00001131d00007130sv00005ACEsd00005010*
- ID_PRODUCT_FROM_DATABASE=Behold TV 501
-
-pci:v00001131d00007130sv00005ACEsd00005050*
- ID_PRODUCT_FROM_DATABASE=Behold TV 505 FM
-
-pci:v00001131d00007133*
- ID_PRODUCT_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder
-
-pci:v00001131d00007133sv00000000sd00004091*
- ID_PRODUCT_FROM_DATABASE=Beholder BeholdTV 409 FM
-
-pci:v00001131d00007133sv00000000sd00005071*
- ID_PRODUCT_FROM_DATABASE=Behold TV 507 RDS
-
-pci:v00001131d00007133sv00000000sd0000507B*
- ID_PRODUCT_FROM_DATABASE=Behold TV 507 RDS
-
-pci:v00001131d00007133sv00000000sd00005201*
- ID_PRODUCT_FROM_DATABASE=Behold TV Columbus
-
-pci:v00001131d00007133sv00000070sd00006701*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-1110
-
-pci:v00001131d00007133sv00001019sd00004CB5*
- ID_PRODUCT_FROM_DATABASE=Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM)
-
-pci:v00001131d00007133sv00001043sd00000210*
- ID_PRODUCT_FROM_DATABASE=FlyTV mini Asus Digimatrix
-
-pci:v00001131d00007133sv00001043sd00004843*
- ID_PRODUCT_FROM_DATABASE=ASUS TV-FM 7133
-
-pci:v00001131d00007133sv00001043sd00004845*
- ID_PRODUCT_FROM_DATABASE=TV-FM 7135
-
-pci:v00001131d00007133sv00001043sd00004862*
- ID_PRODUCT_FROM_DATABASE=P7131 Dual
-
-pci:v00001131d00007133sv00001043sd00004876*
- ID_PRODUCT_FROM_DATABASE=My Cinema-P7131 Hybrid
-
-pci:v00001131d00007133sv00001131sd00000000*
- ID_PRODUCT_FROM_DATABASE=SAA713x-based TV tuner card
-
-pci:v00001131d00007133sv00001131sd00002001*
- ID_PRODUCT_FROM_DATABASE=Proteus Pro [philips reference design]
-
-pci:v00001131d00007133sv00001131sd00002018*
- ID_PRODUCT_FROM_DATABASE=Tiger reference design
-
-pci:v00001131d00007133sv00001131sd00004EE9*
- ID_PRODUCT_FROM_DATABASE=MonsterTV Mobile
-
-pci:v00001131d00007133sv00001131sd00007133*
- ID_PRODUCT_FROM_DATABASE=Pinnacle PCTV 301i
-
-pci:v00001131d00007133sv000011BDsd0000002B*
- ID_PRODUCT_FROM_DATABASE=PCTV Stereo
-
-pci:v00001131d00007133sv000011BDsd0000002E*
- ID_PRODUCT_FROM_DATABASE=PCTV 110i (saa7133)
-
-pci:v00001131d00007133sv000012ABsd00000800*
- ID_PRODUCT_FROM_DATABASE=PURPLE TV
-
-pci:v00001131d00007133sv000013C2sd00002804*
- ID_PRODUCT_FROM_DATABASE=Technotrend Budget T-3000 Hybrid
-
-pci:v00001131d00007133sv00001421sd00000335*
- ID_PRODUCT_FROM_DATABASE=Instant TV DVB-T Cardbus
-
-pci:v00001131d00007133sv00001421sd00001370*
- ID_PRODUCT_FROM_DATABASE=Instant TV (saa7135)
-
-pci:v00001131d00007133sv00001435sd00007330*
- ID_PRODUCT_FROM_DATABASE=VFG7330
-
-pci:v00001131d00007133sv00001435sd00007350*
- ID_PRODUCT_FROM_DATABASE=VFG7350
-
-pci:v00001131d00007133sv00001458sd00009002*
- ID_PRODUCT_FROM_DATABASE=GT-PTV-TAF-RH DVB-T/Analog TV/FM tuner
-
-pci:v00001131d00007133sv00001458sd00009003*
- ID_PRODUCT_FROM_DATABASE=GT-PTV-AF-RH Analog TV/FM tuner
-
-pci:v00001131d00007133sv00001458sd00009004*
- ID_PRODUCT_FROM_DATABASE=GT-P8000 DVB-T/Analog TV/FM tuner
-
-pci:v00001131d00007133sv00001458sd00009005*
- ID_PRODUCT_FROM_DATABASE=GT-P6000 Analog TV/FM tuner
-
-pci:v00001131d00007133sv00001458sd00009008*
- ID_PRODUCT_FROM_DATABASE=GT-P5100 Analog TV tuner
-
-pci:v00001131d00007133sv00001461sd00001044*
- ID_PRODUCT_FROM_DATABASE=AVerTVHD MCE A180
-
-pci:v00001131d00007133sv00001461sd00004836*
- ID_PRODUCT_FROM_DATABASE=M10D Hybrid DVBT
-
-pci:v00001131d00007133sv00001461sd0000861E*
- ID_PRODUCT_FROM_DATABASE=M105 PAL/SECAM/NTSC/FM Tuner
-
-pci:v00001131d00007133sv00001461sd0000A14B*
- ID_PRODUCT_FROM_DATABASE=AVerTV Studio 509
-
-pci:v00001131d00007133sv00001461sd0000A836*
- ID_PRODUCT_FROM_DATABASE=M115 DVB-T, PAL/SECAM/NTSC Tuner
-
-pci:v00001131d00007133sv00001461sd0000F01D*
- ID_PRODUCT_FROM_DATABASE=DVB-T Super 007
-
-pci:v00001131d00007133sv00001461sd0000F31F*
- ID_PRODUCT_FROM_DATABASE=Avermedia AVerTV GO 007 FM
-
-pci:v00001131d00007133sv00001461sd0000F936*
- ID_PRODUCT_FROM_DATABASE=Hybrid+FM PCI (rev A16D)
-
-pci:v00001131d00007133sv00001462sd00006231*
- ID_PRODUCT_FROM_DATABASE=TV@nywhere Plus
-
-pci:v00001131d00007133sv00001489sd00000214*
- ID_PRODUCT_FROM_DATABASE=LifeView FlyTV Platinum FM
-
-pci:v00001131d00007133sv000014C0sd00001212*
- ID_PRODUCT_FROM_DATABASE=LifeView FlyTV Platinum Mini2
-
-pci:v00001131d00007133sv0000153Bsd00001160*
- ID_PRODUCT_FROM_DATABASE=Cinergy 250 PCI TV
-
-pci:v00001131d00007133sv0000153Bsd00001162*
- ID_PRODUCT_FROM_DATABASE=Terratec Cinergy 400 mobile
-
-pci:v00001131d00007133sv000017DEsd00007350*
- ID_PRODUCT_FROM_DATABASE=ATSC 110 Digital / Analog HDTV Tuner
-
-pci:v00001131d00007133sv000017DEsd00007352*
- ID_PRODUCT_FROM_DATABASE=ATSC 115 Digital / Analog HDTV Tuner
-
-pci:v00001131d00007133sv0000185Bsd0000C100*
- ID_PRODUCT_FROM_DATABASE=VideoMate TV
-
-pci:v00001131d00007133sv0000185Bsd0000C900*
- ID_PRODUCT_FROM_DATABASE=VideoMate T750
-
-pci:v00001131d00007133sv00005168sd00000306*
- ID_PRODUCT_FROM_DATABASE=LifeView FlyDVB-T DUO
-
-pci:v00001131d00007133sv00005168sd00000319*
- ID_PRODUCT_FROM_DATABASE=LifeView FlyDVB Trio
-
-pci:v00001131d00007133sv00005168sd00000502*
- ID_PRODUCT_FROM_DATABASE=LifeView FlyDVB-T Duo CardBus
-
-pci:v00001131d00007133sv00005168sd00000520*
- ID_PRODUCT_FROM_DATABASE=LifeView FlyDVB Trio CardBus
-
-pci:v00001131d00007133sv00005168sd00001502*
- ID_PRODUCT_FROM_DATABASE=LifeView FlyTV CardBus
-
-pci:v00001131d00007133sv00005168sd00002502*
- ID_PRODUCT_FROM_DATABASE=LifeView FlyDVB-T CardBus
-
-pci:v00001131d00007133sv00005168sd00002520*
- ID_PRODUCT_FROM_DATABASE=LifeView FlyDVB-S Duo CardBus
-
-pci:v00001131d00007133sv00005168sd00003502*
- ID_PRODUCT_FROM_DATABASE=LifeView FlyDVB-T Hybrid CardBus
-
-pci:v00001131d00007133sv00005168sd00003520*
- ID_PRODUCT_FROM_DATABASE=LifeView FlyDVB Trio N CardBus
-
-pci:v00001131d00007133sv00005ACEsd00005030*
- ID_PRODUCT_FROM_DATABASE=Behold TV 503 FM
-
-pci:v00001131d00007133sv00005ACEsd00005090*
- ID_PRODUCT_FROM_DATABASE=Behold TV 509 FM
-
-pci:v00001131d00007133sv00005ACEsd00006090*
- ID_PRODUCT_FROM_DATABASE=Behold TV 609 FM
-
-pci:v00001131d00007133sv00005ACEsd00006091*
- ID_PRODUCT_FROM_DATABASE=Behold TV 609 FM
-
-pci:v00001131d00007133sv00005ACEsd00006092*
- ID_PRODUCT_FROM_DATABASE=Behold TV 609 RDS
-
-pci:v00001131d00007133sv00005ACEsd00006093*
- ID_PRODUCT_FROM_DATABASE=Behold TV 609 RDS
-
-pci:v00001131d00007133sv00005ACEsd00006190*
- ID_PRODUCT_FROM_DATABASE=Behold TV M6
-
-pci:v00001131d00007133sv00005ACEsd00006191*
- ID_PRODUCT_FROM_DATABASE=Behold TV M63
-
-pci:v00001131d00007133sv00005ACEsd00006193*
- ID_PRODUCT_FROM_DATABASE=Behold TV M6 Extra
-
-pci:v00001131d00007133sv00005ACEsd00006290*
- ID_PRODUCT_FROM_DATABASE=Behold TV H6
-
-pci:v00001131d00007133sv00005ACEsd00007090*
- ID_PRODUCT_FROM_DATABASE=Behold TV A7
-
-pci:v00001131d00007133sv00005ACEsd00007190*
- ID_PRODUCT_FROM_DATABASE=Behold TV H7
-
-pci:v00001131d00007133sv00005ACEsd00007595*
- ID_PRODUCT_FROM_DATABASE=Behold TV X7
-
-pci:v00001131d00007134*
- ID_PRODUCT_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder
-
-pci:v00001131d00007134sv00000000sd00004036*
- ID_PRODUCT_FROM_DATABASE=Behold TV 403
-
-pci:v00001131d00007134sv00000000sd00004037*
- ID_PRODUCT_FROM_DATABASE=Behold TV 403 FM
-
-pci:v00001131d00007134sv00000000sd00004071*
- ID_PRODUCT_FROM_DATABASE=Behold TV 407 FM
-
-pci:v00001131d00007134sv00001019sd00004CB4*
- ID_PRODUCT_FROM_DATABASE=Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM)
-
-pci:v00001131d00007134sv00001043sd00000210*
- ID_PRODUCT_FROM_DATABASE=Digimatrix TV
-
-pci:v00001131d00007134sv00001043sd00004840*
- ID_PRODUCT_FROM_DATABASE=ASUS TV-FM 7134
-
-pci:v00001131d00007134sv00001043sd00004842*
- ID_PRODUCT_FROM_DATABASE=TV-FM 7134
-
-pci:v00001131d00007134sv00001131sd00000000*
- ID_PRODUCT_FROM_DATABASE=SAA713x-based TV tuner card
-
-pci:v00001131d00007134sv00001131sd00002004*
- ID_PRODUCT_FROM_DATABASE=EUROPA V3 reference design
-
-pci:v00001131d00007134sv00001131sd00004E85*
- ID_PRODUCT_FROM_DATABASE=SKNet Monster TV
-
-pci:v00001131d00007134sv00001131sd00006752*
- ID_PRODUCT_FROM_DATABASE=EMPRESS
-
-pci:v00001131d00007134sv000011BDsd0000002B*
- ID_PRODUCT_FROM_DATABASE=PCTV Stereo
-
-pci:v00001131d00007134sv000011BDsd0000002D*
- ID_PRODUCT_FROM_DATABASE=PCTV 300i DVB-T + PAL
-
-pci:v00001131d00007134sv00001461sd00002C00*
- ID_PRODUCT_FROM_DATABASE=AverTV Hybrid+FM PCI
-
-pci:v00001131d00007134sv00001461sd00009715*
- ID_PRODUCT_FROM_DATABASE=AVerTV Studio 307
-
-pci:v00001131d00007134sv00001461sd0000A70A*
- ID_PRODUCT_FROM_DATABASE=Avermedia AVerTV 307
-
-pci:v00001131d00007134sv00001461sd0000A70B*
- ID_PRODUCT_FROM_DATABASE=AverMedia M156 / Medion 2819
-
-pci:v00001131d00007134sv00001461sd0000D6EE*
- ID_PRODUCT_FROM_DATABASE=Cardbus TV/Radio (E500)
-
-pci:v00001131d00007134sv00001471sd0000B7E9*
- ID_PRODUCT_FROM_DATABASE=AVerTV Cardbus plus
-
-pci:v00001131d00007134sv0000153Bsd00001142*
- ID_PRODUCT_FROM_DATABASE=Terratec Cinergy 400 TV
-
-pci:v00001131d00007134sv0000153Bsd00001143*
- ID_PRODUCT_FROM_DATABASE=Terratec Cinergy 600 TV
-
-pci:v00001131d00007134sv0000153Bsd00001158*
- ID_PRODUCT_FROM_DATABASE=Terratec Cinergy 600 TV MK3
-
-pci:v00001131d00007134sv00001540sd00009524*
- ID_PRODUCT_FROM_DATABASE=ProVideo PV952
-
-pci:v00001131d00007134sv000016BEsd00000003*
- ID_PRODUCT_FROM_DATABASE=Medion 7134
-
-pci:v00001131d00007134sv0000185Bsd0000C200*
- ID_PRODUCT_FROM_DATABASE=Compro VideoMate Gold+ Pal
-
-pci:v00001131d00007134sv0000185Bsd0000C900*
- ID_PRODUCT_FROM_DATABASE=Videomate DVB-T300
-
-pci:v00001131d00007134sv00001894sd0000A006*
- ID_PRODUCT_FROM_DATABASE=KNC One TV-Station DVR
-
-pci:v00001131d00007134sv00001894sd0000FE01*
- ID_PRODUCT_FROM_DATABASE=KNC One TV-Station RDS / Typhoon TV Tuner RDS
-
-pci:v00001131d00007134sv00005168sd00000138*
- ID_PRODUCT_FROM_DATABASE=FLY TV PRIME 34FM
-
-pci:v00001131d00007134sv00005ACEsd00005070*
- ID_PRODUCT_FROM_DATABASE=Behold TV 507 FM
-
-pci:v00001131d00007134sv00005ACEsd00006070*
- ID_PRODUCT_FROM_DATABASE=Behold TV 607 FM
-
-pci:v00001131d00007134sv00005ACEsd00006071*
- ID_PRODUCT_FROM_DATABASE=Behold TV 607 FM
-
-pci:v00001131d00007134sv00005ACEsd00006072*
- ID_PRODUCT_FROM_DATABASE=Behold TV 607 RDS
-
-pci:v00001131d00007134sv00005ACEsd00006073*
- ID_PRODUCT_FROM_DATABASE=Behold TV 607 RDS
-
-pci:v00001131d00007145*
- ID_PRODUCT_FROM_DATABASE=SAA7145
-
-pci:v00001131d00007146*
- ID_PRODUCT_FROM_DATABASE=SAA7146
-
-pci:v00001131d00007146sv0000110Asd00000000*
- ID_PRODUCT_FROM_DATABASE=Fujitsu/Siemens DVB-C card rev1.5
-
-pci:v00001131d00007146sv0000110Asd0000FFFF*
- ID_PRODUCT_FROM_DATABASE=Fujitsu/Siemens DVB-C card rev1.5
-
-pci:v00001131d00007146sv00001124sd00002581*
- ID_PRODUCT_FROM_DATABASE=Leutron Vision PicPort
-
-pci:v00001131d00007146sv00001131sd00004F56*
- ID_PRODUCT_FROM_DATABASE=KNC1 DVB-S Budget
-
-pci:v00001131d00007146sv00001131sd00004F60*
- ID_PRODUCT_FROM_DATABASE=Fujitsu-Siemens Activy DVB-S Budget Rev AL
-
-pci:v00001131d00007146sv00001131sd00004F61*
- ID_PRODUCT_FROM_DATABASE=Activy DVB-S Budget Rev GR
-
-pci:v00001131d00007146sv00001131sd00005F61*
- ID_PRODUCT_FROM_DATABASE=Activy DVB-T Budget
-
-pci:v00001131d00007146sv0000114Bsd00002003*
- ID_PRODUCT_FROM_DATABASE=DVRaptor Video Edit/Capture Card
-
-pci:v00001131d00007146sv000011BDsd00000006*
- ID_PRODUCT_FROM_DATABASE=DV500 Overlay
-
-pci:v00001131d00007146sv000011BDsd0000000A*
- ID_PRODUCT_FROM_DATABASE=DV500 Overlay
-
-pci:v00001131d00007146sv000011BDsd0000000F*
- ID_PRODUCT_FROM_DATABASE=DV500 Overlay
-
-pci:v00001131d00007146sv000013C2sd00000000*
- ID_PRODUCT_FROM_DATABASE=Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5
-
-pci:v00001131d00007146sv000013C2sd00000001*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge DVB card rev1.3 or rev1.6
-
-pci:v00001131d00007146sv000013C2sd00000002*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1
-
-pci:v00001131d00007146sv000013C2sd00000003*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1
-
-pci:v00001131d00007146sv000013C2sd00000004*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1
-
-pci:v00001131d00007146sv000013C2sd00000006*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge DVB card rev1.3 or rev1.6
-
-pci:v00001131d00007146sv000013C2sd00000008*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge DVB-T
-
-pci:v00001131d00007146sv000013C2sd0000000A*
- ID_PRODUCT_FROM_DATABASE=Octal/Technotrend DVB-C for iTV
-
-pci:v00001131d00007146sv000013C2sd0000000E*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.3
-
-pci:v00001131d00007146sv000013C2sd00001003*
- ID_PRODUCT_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card
-
-pci:v00001131d00007146sv000013C2sd00001004*
- ID_PRODUCT_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card
-
-pci:v00001131d00007146sv000013C2sd00001005*
- ID_PRODUCT_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card
-
-pci:v00001131d00007146sv000013C2sd0000100C*
- ID_PRODUCT_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card
-
-pci:v00001131d00007146sv000013C2sd0000100F*
- ID_PRODUCT_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card
-
-pci:v00001131d00007146sv000013C2sd00001010*
- ID_PRODUCT_FROM_DATABASE=DVB C-1500
-
-pci:v00001131d00007146sv000013C2sd00001011*
- ID_PRODUCT_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card
-
-pci:v00001131d00007146sv000013C2sd00001012*
- ID_PRODUCT_FROM_DATABASE=DVB T-1500
-
-pci:v00001131d00007146sv000013C2sd00001013*
- ID_PRODUCT_FROM_DATABASE=SATELCO Multimedia DVB
-
-pci:v00001131d00007146sv000013C2sd00001016*
- ID_PRODUCT_FROM_DATABASE=WinTV-NOVA-SE DVB card
-
-pci:v00001131d00007146sv000013C2sd00001018*
- ID_PRODUCT_FROM_DATABASE=DVB S-1401
-
-pci:v00001131d00007146sv000013C2sd00001019*
- ID_PRODUCT_FROM_DATABASE=S2-3200
-
-pci:v00001131d00007146sv000013C2sd00001102*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1
-
-pci:v00001131d00007146sv0000153Bsd00001155*
- ID_PRODUCT_FROM_DATABASE=Cinergy 1200 DVB-S
-
-pci:v00001131d00007146sv0000153Bsd00001156*
- ID_PRODUCT_FROM_DATABASE=Terratec Cynergy 1200C
-
-pci:v00001131d00007146sv0000153Bsd00001157*
- ID_PRODUCT_FROM_DATABASE=Cinergy 1200 DVB-T
-
-pci:v00001131d00007146sv00001894sd00000020*
- ID_PRODUCT_FROM_DATABASE=KNC One DVB-C V1.0
-
-pci:v00001131d00007146sv00001894sd00000023*
- ID_PRODUCT_FROM_DATABASE=TVStation DVB-C plus
-
-pci:v00001131d00007160*
- ID_PRODUCT_FROM_DATABASE=SAA7160
-
-pci:v00001131d00007160sv00001458sd00009009*
- ID_PRODUCT_FROM_DATABASE=E8000 DVB-T/Analog TV/FM tuner
-
-pci:v00001131d00007162*
- ID_PRODUCT_FROM_DATABASE=SAA7162
-
-pci:v00001131d00007162sv000011BDsd00000101*
- ID_PRODUCT_FROM_DATABASE=Pinnacle PCTV 7010iX TV Card
-
-pci:v00001131d00007164*
- ID_PRODUCT_FROM_DATABASE=SAA7164
-
-pci:v00001131d00007164sv00000070sd00008800*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2250
-
-pci:v00001131d00007164sv00000070sd00008810*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2250
-
-pci:v00001131d00007164sv00000070sd00008851*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2250
-
-pci:v00001131d00007164sv00000070sd00008853*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2250
-
-pci:v00001131d00007164sv00000070sd00008880*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2250
-
-pci:v00001131d00007164sv00000070sd00008891*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2250
-
-pci:v00001131d00007164sv00000070sd000088A0*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2250
-
-pci:v00001131d00007164sv00000070sd000088A1*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2250
-
-pci:v00001131d00007164sv00000070sd00008900*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2200
-
-pci:v00001131d00007164sv00000070sd00008901*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2200
-
-pci:v00001131d00007164sv00000070sd00008940*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2200 (submodel 89619)
-
-pci:v00001131d00007164sv00000070sd00008951*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2200
-
-pci:v00001131d00007164sv00000070sd00008953*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2200
-
-pci:v00001131d00007164sv00000070sd00008980*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2200
-
-pci:v00001131d00007164sv00000070sd00008991*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2200
-
-pci:v00001131d00007164sv00000070sd00008993*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2200
-
-pci:v00001131d00007164sv00000070sd000089A0*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2200
-
-pci:v00001131d00007164sv00000070sd000089A1*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-2200
-
-pci:v00001131d00007231*
- ID_PRODUCT_FROM_DATABASE=SAA7231
-
-pci:v00001131d00007231sv00005ACEsd00008000*
- ID_PRODUCT_FROM_DATABASE=Behold TV H8
-
-pci:v00001131d00007231sv00005ACEsd00008100*
- ID_PRODUCT_FROM_DATABASE=Behold TV A8
-
-pci:v00001131d00009730*
- ID_PRODUCT_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller
-
-pci:v00001131d00009730sv00001131sd00000000*
- ID_PRODUCT_FROM_DATABASE=Integrated Multimedia and Peripheral Controller
-
-pci:v00001132*
- ID_VENDOR_FROM_DATABASE=Mitel Corp.
-
-pci:v00001133*
- ID_VENDOR_FROM_DATABASE=Dialogic Corporation
-
-pci:v00001133d00007701*
- ID_PRODUCT_FROM_DATABASE=Eiconcard C90
-
-pci:v00001133d00007711*
- ID_PRODUCT_FROM_DATABASE=Eiconcard C91
-
-pci:v00001133d00007901*
- ID_PRODUCT_FROM_DATABASE=EiconCard S90
-
-pci:v00001133d00007902*
- ID_PRODUCT_FROM_DATABASE=EiconCard S90
-
-pci:v00001133d00007911*
- ID_PRODUCT_FROM_DATABASE=EiconCard S91
-
-pci:v00001133d00007912*
- ID_PRODUCT_FROM_DATABASE=EiconCard S91
-
-pci:v00001133d00007921*
- ID_PRODUCT_FROM_DATABASE=Eiconcard S92
-
-pci:v00001133d00007941*
- ID_PRODUCT_FROM_DATABASE=EiconCard S94
-
-pci:v00001133d00007942*
- ID_PRODUCT_FROM_DATABASE=EiconCard S94
-
-pci:v00001133d00007943*
- ID_PRODUCT_FROM_DATABASE=EiconCard S94
-
-pci:v00001133d00007944*
- ID_PRODUCT_FROM_DATABASE=EiconCard S94
-
-pci:v00001133d00007945*
- ID_PRODUCT_FROM_DATABASE=Eiconcard S94
-
-pci:v00001133d00007948*
- ID_PRODUCT_FROM_DATABASE=Eiconcard S94 64bit/66MHz
-
-pci:v00001133d00009711*
- ID_PRODUCT_FROM_DATABASE=Eiconcard S91 V2
-
-pci:v00001133d00009911*
- ID_PRODUCT_FROM_DATABASE=Eiconcard S91 V2
-
-pci:v00001133d00009941*
- ID_PRODUCT_FROM_DATABASE=Eiconcard S94 V2
-
-pci:v00001133d00009A41*
- ID_PRODUCT_FROM_DATABASE=Eiconcard S94 PCIe
-
-pci:v00001133d0000B921*
- ID_PRODUCT_FROM_DATABASE=EiconCard P92
-
-pci:v00001133d0000B922*
- ID_PRODUCT_FROM_DATABASE=EiconCard P92
-
-pci:v00001133d0000B923*
- ID_PRODUCT_FROM_DATABASE=EiconCard P92
-
-pci:v00001133d0000E001*
- ID_PRODUCT_FROM_DATABASE=Diva Pro 2.0 S/T
-
-pci:v00001133d0000E002*
- ID_PRODUCT_FROM_DATABASE=Diva 2.0 S/T PCI
-
-pci:v00001133d0000E003*
- ID_PRODUCT_FROM_DATABASE=Diva Pro 2.0 U
-
-pci:v00001133d0000E004*
- ID_PRODUCT_FROM_DATABASE=Diva 2.0 U PCI
-
-pci:v00001133d0000E005*
- ID_PRODUCT_FROM_DATABASE=Diva 2.01 S/T PCI
-
-pci:v00001133d0000E006*
- ID_PRODUCT_FROM_DATABASE=Diva CT S/T PCI
-
-pci:v00001133d0000E007*
- ID_PRODUCT_FROM_DATABASE=Diva CT U PCI
-
-pci:v00001133d0000E008*
- ID_PRODUCT_FROM_DATABASE=Diva CT Lite S/T PCI
-
-pci:v00001133d0000E009*
- ID_PRODUCT_FROM_DATABASE=Diva CT Lite U PCI
-
-pci:v00001133d0000E00A*
- ID_PRODUCT_FROM_DATABASE=Diva ISDN+V.90 PCI
-
-pci:v00001133d0000E00B*
- ID_PRODUCT_FROM_DATABASE=Diva ISDN PCI 2.02
-
-pci:v00001133d0000E00C*
- ID_PRODUCT_FROM_DATABASE=Diva 2.02 PCI U
-
-pci:v00001133d0000E00D*
- ID_PRODUCT_FROM_DATABASE=Diva Pro 3.0 PCI
-
-pci:v00001133d0000E00E*
- ID_PRODUCT_FROM_DATABASE=Diva ISDN+CT S/T PCI Rev 2
-
-pci:v00001133d0000E010*
- ID_PRODUCT_FROM_DATABASE=Diva Server BRI-2M PCI
-
-pci:v00001133d0000E010sv0000110Asd00000021*
- ID_PRODUCT_FROM_DATABASE=Fujitsu Siemens ISDN S0
-
-pci:v00001133d0000E011*
- ID_PRODUCT_FROM_DATABASE=Diva Server BRI S/T Rev 2
-
-pci:v00001133d0000E012*
- ID_PRODUCT_FROM_DATABASE=Diva Server 4BRI-8M PCI
-
-pci:v00001133d0000E013*
- ID_PRODUCT_FROM_DATABASE=4BRI
-
-pci:v00001133d0000E013sv00001133sd00001300*
- ID_PRODUCT_FROM_DATABASE=Diva V-4BRI-8 PCI v2
-
-pci:v00001133d0000E013sv00001133sd0000E013*
- ID_PRODUCT_FROM_DATABASE=Diva 4BRI-8 PCI v2
-
-pci:v00001133d0000E014*
- ID_PRODUCT_FROM_DATABASE=Diva Server PRI-30M PCI
-
-pci:v00001133d0000E015*
- ID_PRODUCT_FROM_DATABASE=Diva PRI PCI v2
-
-pci:v00001133d0000E016*
- ID_PRODUCT_FROM_DATABASE=Diva Server Voice 4BRI PCI
-
-pci:v00001133d0000E017*
- ID_PRODUCT_FROM_DATABASE=Diva Server Voice 4BRI Rev 2
-
-pci:v00001133d0000E017sv00001133sd0000E017*
- ID_PRODUCT_FROM_DATABASE=Diva Server Voice 4BRI-8M 2.0 PCI
-
-pci:v00001133d0000E018*
- ID_PRODUCT_FROM_DATABASE=BRI
-
-pci:v00001133d0000E018sv00001133sd00001800*
- ID_PRODUCT_FROM_DATABASE=Diva V-BRI-2 PCI v2
-
-pci:v00001133d0000E018sv00001133sd0000E018*
- ID_PRODUCT_FROM_DATABASE=Diva BRI-2 PCI v2
-
-pci:v00001133d0000E019*
- ID_PRODUCT_FROM_DATABASE=Diva Server Voice PRI Rev 2
-
-pci:v00001133d0000E019sv00001133sd0000E019*
- ID_PRODUCT_FROM_DATABASE=Diva Server Voice PRI 2.0 PCI
-
-pci:v00001133d0000E01A*
- ID_PRODUCT_FROM_DATABASE=Diva BRI-2FX PCI v2
-
-pci:v00001133d0000E01B*
- ID_PRODUCT_FROM_DATABASE=Diva Server Voice BRI-2M 2.0 PCI
-
-pci:v00001133d0000E01Bsv00001133sd0000E01B*
- ID_PRODUCT_FROM_DATABASE=Diva Server Voice BRI-2M 2.0 PCI
-
-pci:v00001133d0000E01C*
- ID_PRODUCT_FROM_DATABASE=PRI
-
-pci:v00001133d0000E01Csv00001133sd00001C01*
- ID_PRODUCT_FROM_DATABASE=Diva PRI/E1/T1-8 PCI v3
-
-pci:v00001133d0000E01Csv00001133sd00001C02*
- ID_PRODUCT_FROM_DATABASE=Diva PRI/T1-24 PCI(e) v3
-
-pci:v00001133d0000E01Csv00001133sd00001C03*
- ID_PRODUCT_FROM_DATABASE=Diva PRI/E1-30 PCI(e) v3
-
-pci:v00001133d0000E01Csv00001133sd00001C04*
- ID_PRODUCT_FROM_DATABASE=Diva PRI/E1/T1-CTI PCI(e) v3
-
-pci:v00001133d0000E01Csv00001133sd00001C05*
- ID_PRODUCT_FROM_DATABASE=Diva V-PRI/T1-24 PCI(e) v3
-
-pci:v00001133d0000E01Csv00001133sd00001C06*
- ID_PRODUCT_FROM_DATABASE=Diva V-PRI/E1-30 PCI(e) v3
-
-pci:v00001133d0000E01Csv00001133sd00001C07*
- ID_PRODUCT_FROM_DATABASE=Diva Server PRI/E1/T1-8 Cornet NQ
-
-pci:v00001133d0000E01Csv00001133sd00001C08*
- ID_PRODUCT_FROM_DATABASE=Diva Server PRI/T1-24 Cornet NQ
-
-pci:v00001133d0000E01Csv00001133sd00001C09*
- ID_PRODUCT_FROM_DATABASE=Diva Server PRI/E1-30 Cornet NQ
-
-pci:v00001133d0000E01Csv00001133sd00001C0A*
- ID_PRODUCT_FROM_DATABASE=Diva Server PRI/E1/T1 Cornet NQ
-
-pci:v00001133d0000E01Csv00001133sd00001C0B*
- ID_PRODUCT_FROM_DATABASE=Diva Server V-PRI/T1-24 Cornet NQ
-
-pci:v00001133d0000E01Csv00001133sd00001C0C*
- ID_PRODUCT_FROM_DATABASE=Diva Server V-PRI/E1-30 Cornet NQ
-
-pci:v00001133d0000E01E*
- ID_PRODUCT_FROM_DATABASE=2PRI
-
-pci:v00001133d0000E01Esv00001133sd00001E01*
- ID_PRODUCT_FROM_DATABASE=Diva 2PRI/E1/T1-60 PCI v1
-
-pci:v00001133d0000E01Esv00001133sd0000E01E*
- ID_PRODUCT_FROM_DATABASE=Diva V-2PRI/E1/T1-60 PCI v1
-
-pci:v00001133d0000E020*
- ID_PRODUCT_FROM_DATABASE=4PRI
-
-pci:v00001133d0000E020sv00001133sd00002001*
- ID_PRODUCT_FROM_DATABASE=Diva 4PRI/E1/T1-120 PCI v1
-
-pci:v00001133d0000E020sv00001133sd0000E020*
- ID_PRODUCT_FROM_DATABASE=Diva V-4PRI/E1/T1-120 PCI v1
-
-pci:v00001133d0000E022*
- ID_PRODUCT_FROM_DATABASE=Analog-2
-
-pci:v00001133d0000E022sv00001133sd00002200*
- ID_PRODUCT_FROM_DATABASE=Diva V-Analog-2 PCI v1
-
-pci:v00001133d0000E022sv00001133sd0000E022*
- ID_PRODUCT_FROM_DATABASE=Diva Analog-2 PCI v1
-
-pci:v00001133d0000E024*
- ID_PRODUCT_FROM_DATABASE=Analog-4
-
-pci:v00001133d0000E024sv00001133sd00002400*
- ID_PRODUCT_FROM_DATABASE=Diva V-Analog-4 PCI v1
-
-pci:v00001133d0000E024sv00001133sd0000E024*
- ID_PRODUCT_FROM_DATABASE=Diva Analog-4 PCI v1
-
-pci:v00001133d0000E028*
- ID_PRODUCT_FROM_DATABASE=Analog-8
-
-pci:v00001133d0000E028sv00001133sd00002800*
- ID_PRODUCT_FROM_DATABASE=Diva V-Analog-8 PCI v1
-
-pci:v00001133d0000E028sv00001133sd0000E028*
- ID_PRODUCT_FROM_DATABASE=Diva Analog-8 PCI v1
-
-pci:v00001133d0000E02A*
- ID_PRODUCT_FROM_DATABASE=Diva IPM-300 PCI v1
-
-pci:v00001133d0000E02C*
- ID_PRODUCT_FROM_DATABASE=Diva IPM-600 PCI v1
-
-pci:v00001133d0000E02E*
- ID_PRODUCT_FROM_DATABASE=4BRI
-
-pci:v00001133d0000E02Esv00001133sd00002E01*
- ID_PRODUCT_FROM_DATABASE=Diva V-4BRI-8 PCIe v2
-
-pci:v00001133d0000E02Esv00001133sd0000E02E*
- ID_PRODUCT_FROM_DATABASE=Diva 4BRI-8 PCIe v2
-
-pci:v00001133d0000E032*
- ID_PRODUCT_FROM_DATABASE=BRI
-
-pci:v00001133d0000E032sv00001133sd00003201*
- ID_PRODUCT_FROM_DATABASE=Diva V-BRI-2 PCIe v2
-
-pci:v00001133d0000E032sv00001133sd0000E032*
- ID_PRODUCT_FROM_DATABASE=Diva BRI-2 PCIe v2
-
-pci:v00001133d0000E034*
- ID_PRODUCT_FROM_DATABASE=Diva BRI-CTI PCI v2
-
-pci:v00001134*
- ID_VENDOR_FROM_DATABASE=Mercury Computer Systems
-
-pci:v00001134d00000001*
- ID_PRODUCT_FROM_DATABASE=Raceway Bridge
-
-pci:v00001134d00000002*
- ID_PRODUCT_FROM_DATABASE=Dual PCI to RapidIO Bridge
-
-pci:v00001134d0000000B*
- ID_PRODUCT_FROM_DATABASE=POET Serial RapidIO Bridge
-
-pci:v00001134d0000000D*
- ID_PRODUCT_FROM_DATABASE=POET PSDMS Device
-
-pci:v00001135*
- ID_VENDOR_FROM_DATABASE=Fuji Xerox Co Ltd
-
-pci:v00001135d00000001*
- ID_PRODUCT_FROM_DATABASE=Printer controller
-
-pci:v00001136*
- ID_VENDOR_FROM_DATABASE=Momentum Data Systems
-
-pci:v00001136d00000002*
- ID_PRODUCT_FROM_DATABASE=PCI-JTAG
-
-pci:v00001137*
- ID_VENDOR_FROM_DATABASE=Cisco Systems Inc
-
-pci:v00001137d00000023*
- ID_PRODUCT_FROM_DATABASE=VIC 81 PCIe Upstream Port
-
-pci:v00001137d00000040*
- ID_PRODUCT_FROM_DATABASE=VIC PCIe Upstream Port
-
-pci:v00001137d00000041*
- ID_PRODUCT_FROM_DATABASE=VIC PCIe Downstream Port
-
-pci:v00001137d00000042*
- ID_PRODUCT_FROM_DATABASE=VIC Management Controller
-
-pci:v00001137d00000042sv00001137sd00000047*
- ID_PRODUCT_FROM_DATABASE=VIC P81E PCIe Management Controller
-
-pci:v00001137d00000043*
- ID_PRODUCT_FROM_DATABASE=VIC Ethernet NIC
-
-pci:v00001137d00000043sv00001137sd00000047*
- ID_PRODUCT_FROM_DATABASE=VIC P81E PCIe Ethernet NIC
-
-pci:v00001137d00000043sv00001137sd00000048*
- ID_PRODUCT_FROM_DATABASE=VIC M81KR Mezzanine Ethernet NIC
-
-pci:v00001137d00000043sv00001137sd0000004F*
- ID_PRODUCT_FROM_DATABASE=VIC 1280 Mezzanine Ethernet NIC
-
-pci:v00001137d00000043sv00001137sd00000084*
- ID_PRODUCT_FROM_DATABASE=VIC 1240 MLOM Ethernet NIC
-
-pci:v00001137d00000043sv00001137sd00000085*
- ID_PRODUCT_FROM_DATABASE=VIC 1225 PCIe Ethernet NIC
-
-pci:v00001137d00000044*
- ID_PRODUCT_FROM_DATABASE=VIC Ethernet NIC Dynamic
-
-pci:v00001137d00000044sv00001137sd00000047*
- ID_PRODUCT_FROM_DATABASE=VIC P81E PCIe Ethernet NIC Dynamic
-
-pci:v00001137d00000044sv00001137sd00000048*
- ID_PRODUCT_FROM_DATABASE=VIC M81KR Mezzanine Ethernet NIC Dynamic
-
-pci:v00001137d00000044sv00001137sd0000004F*
- ID_PRODUCT_FROM_DATABASE=VIC 1280 Mezzanine Ethernet NIC Dynamic
-
-pci:v00001137d00000044sv00001137sd00000084*
- ID_PRODUCT_FROM_DATABASE=VIC 1240 MLOM Ethernet NIC Dynamic
-
-pci:v00001137d00000044sv00001137sd00000085*
- ID_PRODUCT_FROM_DATABASE=VIC 1225 PCIe Ethernet NIC Dynamic
-
-pci:v00001137d00000045*
- ID_PRODUCT_FROM_DATABASE=VIC FCoE HBA
-
-pci:v00001137d00000045sv00001137sd00000047*
- ID_PRODUCT_FROM_DATABASE=VIC P81E PCIe FCoE HBA
-
-pci:v00001137d00000045sv00001137sd00000048*
- ID_PRODUCT_FROM_DATABASE=VIC M81KR Mezzanine FCoE HBA
-
-pci:v00001137d00000045sv00001137sd0000004F*
- ID_PRODUCT_FROM_DATABASE=VIC 1280 Mezzanine FCoE HBA
-
-pci:v00001137d0000004E*
- ID_PRODUCT_FROM_DATABASE=VIC 82 PCIe Upstream Port
-
-pci:v00001138*
- ID_VENDOR_FROM_DATABASE=Ziatech Corporation
-
-pci:v00001138d00008905*
- ID_PRODUCT_FROM_DATABASE=8905 [STD 32 Bridge]
-
-pci:v00001139*
- ID_VENDOR_FROM_DATABASE=Dynamic Pictures, Inc
-
-pci:v00001139d00000001*
- ID_PRODUCT_FROM_DATABASE=VGA Compatable 3D Graphics
-
-pci:v0000113A*
- ID_VENDOR_FROM_DATABASE=FWB Inc
-
-pci:v0000113B*
- ID_VENDOR_FROM_DATABASE=Network Computing Devices
-
-pci:v0000113C*
- ID_VENDOR_FROM_DATABASE=Cyclone Microsystems, Inc.
-
-pci:v0000113Cd00000000*
- ID_PRODUCT_FROM_DATABASE=PCI-9060 i960 Bridge
-
-pci:v0000113Cd00000001*
- ID_PRODUCT_FROM_DATABASE=PCI-SDK [PCI i960 Evaluation Platform]
-
-pci:v0000113Cd00000911*
- ID_PRODUCT_FROM_DATABASE=PCI-911 [i960Jx-based Intelligent I/O Controller]
-
-pci:v0000113Cd00000912*
- ID_PRODUCT_FROM_DATABASE=PCI-912 [i960CF-based Intelligent I/O Controller]
-
-pci:v0000113Cd00000913*
- ID_PRODUCT_FROM_DATABASE=PCI-913
-
-pci:v0000113Cd00000914*
- ID_PRODUCT_FROM_DATABASE=PCI-914 [I/O Controller w/ secondary PCI bus]
-
-pci:v0000113D*
- ID_VENDOR_FROM_DATABASE=Leading Edge Products Inc
-
-pci:v0000113E*
- ID_VENDOR_FROM_DATABASE=Sanyo Electric Co - Computer Engineering Dept
-
-pci:v0000113F*
- ID_VENDOR_FROM_DATABASE=Equinox Systems, Inc.
-
-pci:v0000113Fd00000808*
- ID_PRODUCT_FROM_DATABASE=SST-64P Adapter
-
-pci:v0000113Fd00001010*
- ID_PRODUCT_FROM_DATABASE=SST-128P Adapter
-
-pci:v0000113Fd000080C0*
- ID_PRODUCT_FROM_DATABASE=SST-16P DB Adapter
-
-pci:v0000113Fd000080C4*
- ID_PRODUCT_FROM_DATABASE=SST-16P RJ Adapter
-
-pci:v0000113Fd000080C8*
- ID_PRODUCT_FROM_DATABASE=SST-16P Adapter
-
-pci:v0000113Fd00008888*
- ID_PRODUCT_FROM_DATABASE=SST-4P Adapter
-
-pci:v0000113Fd00009090*
- ID_PRODUCT_FROM_DATABASE=SST-8P Adapter
-
-pci:v00001140*
- ID_VENDOR_FROM_DATABASE=Intervoice Inc
-
-pci:v00001141*
- ID_VENDOR_FROM_DATABASE=Crest Microsystem Inc
-
-pci:v00001142*
- ID_VENDOR_FROM_DATABASE=Alliance Semiconductor Corporation
-
-pci:v00001142d00003210*
- ID_PRODUCT_FROM_DATABASE=AP6410
-
-pci:v00001142d00006422*
- ID_PRODUCT_FROM_DATABASE=ProVideo 6422
-
-pci:v00001142d00006424*
- ID_PRODUCT_FROM_DATABASE=ProVideo 6424
-
-pci:v00001142d00006425*
- ID_PRODUCT_FROM_DATABASE=ProMotion AT25
-
-pci:v00001142d0000643D*
- ID_PRODUCT_FROM_DATABASE=ProMotion AT3D
-
-pci:v00001143*
- ID_VENDOR_FROM_DATABASE=NetPower, Inc
-
-pci:v00001144*
- ID_VENDOR_FROM_DATABASE=Cincinnati Milacron
-
-pci:v00001144d00000001*
- ID_PRODUCT_FROM_DATABASE=Noservo controller
-
-pci:v00001145*
- ID_VENDOR_FROM_DATABASE=Workbit Corporation
-
-pci:v00001145d00008007*
- ID_PRODUCT_FROM_DATABASE=NinjaSCSI-32 Workbit
-
-pci:v00001145d0000F007*
- ID_PRODUCT_FROM_DATABASE=NinjaSCSI-32 KME
-
-pci:v00001145d0000F010*
- ID_PRODUCT_FROM_DATABASE=NinjaSCSI-32 Workbit
-
-pci:v00001145d0000F012*
- ID_PRODUCT_FROM_DATABASE=NinjaSCSI-32 Logitec
-
-pci:v00001145d0000F013*
- ID_PRODUCT_FROM_DATABASE=NinjaSCSI-32 Logitec
-
-pci:v00001145d0000F015*
- ID_PRODUCT_FROM_DATABASE=NinjaSCSI-32 Melco
-
-pci:v00001145d0000F020*
- ID_PRODUCT_FROM_DATABASE=NinjaSCSI-32 Sony PCGA-DVD51
-
-pci:v00001145d0000F021*
- ID_PRODUCT_FROM_DATABASE=NinjaPATA-32 Delkin Cardbus UDMA
-
-pci:v00001145d0000F024*
- ID_PRODUCT_FROM_DATABASE=NinjaPATA-32 Delkin Cardbus UDMA
-
-pci:v00001145d0000F103*
- ID_PRODUCT_FROM_DATABASE=NinjaPATA-32 Delkin Cardbus UDMA
-
-pci:v00001146*
- ID_VENDOR_FROM_DATABASE=Force Computers
-
-pci:v00001147*
- ID_VENDOR_FROM_DATABASE=Interface Corp
-
-pci:v00001148*
- ID_VENDOR_FROM_DATABASE=SysKonnect
-
-pci:v00001148d00004000*
- ID_PRODUCT_FROM_DATABASE=FDDI Adapter
-
-pci:v00001148d00004000sv00000E11sd0000B03B*
- ID_PRODUCT_FROM_DATABASE=Netelligent 100 FDDI DAS Fibre SC
-
-pci:v00001148d00004000sv00000E11sd0000B03C*
- ID_PRODUCT_FROM_DATABASE=Netelligent 100 FDDI SAS Fibre SC
-
-pci:v00001148d00004000sv00000E11sd0000B03D*
- ID_PRODUCT_FROM_DATABASE=Netelligent 100 FDDI DAS UTP
-
-pci:v00001148d00004000sv00000E11sd0000B03E*
- ID_PRODUCT_FROM_DATABASE=Netelligent 100 FDDI SAS UTP
-
-pci:v00001148d00004000sv00000E11sd0000B03F*
- ID_PRODUCT_FROM_DATABASE=Netelligent 100 FDDI SAS Fibre MIC
-
-pci:v00001148d00004000sv00001148sd00005521*
- ID_PRODUCT_FROM_DATABASE=FDDI SK-5521 (SK-NET FDDI-UP)
-
-pci:v00001148d00004000sv00001148sd00005522*
- ID_PRODUCT_FROM_DATABASE=FDDI SK-5522 (SK-NET FDDI-UP DAS)
-
-pci:v00001148d00004000sv00001148sd00005541*
- ID_PRODUCT_FROM_DATABASE=FDDI SK-5541 (SK-NET FDDI-FP)
-
-pci:v00001148d00004000sv00001148sd00005543*
- ID_PRODUCT_FROM_DATABASE=FDDI SK-5543 (SK-NET FDDI-LP)
-
-pci:v00001148d00004000sv00001148sd00005544*
- ID_PRODUCT_FROM_DATABASE=FDDI SK-5544 (SK-NET FDDI-LP DAS)
-
-pci:v00001148d00004000sv00001148sd00005821*
- ID_PRODUCT_FROM_DATABASE=FDDI SK-5821 (SK-NET FDDI-UP64)
-
-pci:v00001148d00004000sv00001148sd00005822*
- ID_PRODUCT_FROM_DATABASE=FDDI SK-5822 (SK-NET FDDI-UP64 DAS)
-
-pci:v00001148d00004000sv00001148sd00005841*
- ID_PRODUCT_FROM_DATABASE=FDDI SK-5841 (SK-NET FDDI-FP64)
-
-pci:v00001148d00004000sv00001148sd00005843*
- ID_PRODUCT_FROM_DATABASE=FDDI SK-5843 (SK-NET FDDI-LP64)
-
-pci:v00001148d00004000sv00001148sd00005844*
- ID_PRODUCT_FROM_DATABASE=FDDI SK-5844 (SK-NET FDDI-LP64 DAS)
-
-pci:v00001148d00004200*
- ID_PRODUCT_FROM_DATABASE=Token Ring adapter
-
-pci:v00001148d00004300*
- ID_PRODUCT_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link)
-
-pci:v00001148d00004300sv00001148sd00009821*
- ID_PRODUCT_FROM_DATABASE=SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T)
-
-pci:v00001148d00004300sv00001148sd00009822*
- ID_PRODUCT_FROM_DATABASE=SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link)
-
-pci:v00001148d00004300sv00001148sd00009841*
- ID_PRODUCT_FROM_DATABASE=SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX)
-
-pci:v00001148d00004300sv00001148sd00009842*
- ID_PRODUCT_FROM_DATABASE=SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link)
-
-pci:v00001148d00004300sv00001148sd00009843*
- ID_PRODUCT_FROM_DATABASE=SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX)
-
-pci:v00001148d00004300sv00001148sd00009844*
- ID_PRODUCT_FROM_DATABASE=SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link)
-
-pci:v00001148d00004300sv00001148sd00009861*
- ID_PRODUCT_FROM_DATABASE=SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition)
-
-pci:v00001148d00004300sv00001148sd00009862*
- ID_PRODUCT_FROM_DATABASE=SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link)
-
-pci:v00001148d00004300sv00001148sd00009871*
- ID_PRODUCT_FROM_DATABASE=SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX)
-
-pci:v00001148d00004300sv00001148sd00009872*
- ID_PRODUCT_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link)
-
-pci:v00001148d00004300sv00001259sd00002970*
- ID_PRODUCT_FROM_DATABASE=AT-2970SX Gigabit Ethernet Adapter
-
-pci:v00001148d00004300sv00001259sd00002971*
- ID_PRODUCT_FROM_DATABASE=AT-2970LX Gigabit Ethernet Adapter
-
-pci:v00001148d00004300sv00001259sd00002972*
- ID_PRODUCT_FROM_DATABASE=AT-2970TX Gigabit Ethernet Adapter
-
-pci:v00001148d00004300sv00001259sd00002973*
- ID_PRODUCT_FROM_DATABASE=AT-2971SX Gigabit Ethernet Adapter
-
-pci:v00001148d00004300sv00001259sd00002974*
- ID_PRODUCT_FROM_DATABASE=AT-2971T Gigabit Ethernet Adapter
-
-pci:v00001148d00004300sv00001259sd00002975*
- ID_PRODUCT_FROM_DATABASE=AT-2970SX/2SC Gigabit Ethernet Adapter
-
-pci:v00001148d00004300sv00001259sd00002976*
- ID_PRODUCT_FROM_DATABASE=AT-2970LX/2SC Gigabit Ethernet Adapter
-
-pci:v00001148d00004300sv00001259sd00002977*
- ID_PRODUCT_FROM_DATABASE=AT-2970TX/2TX Gigabit Ethernet Adapter
-
-pci:v00001148d00004320*
- ID_PRODUCT_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC
-
-pci:v00001148d00004320sv00001148sd00000121*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8001 Adapter
-
-pci:v00001148d00004320sv00001148sd00000221*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8002 Adapter
-
-pci:v00001148d00004320sv00001148sd00000321*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8003 Adapter
-
-pci:v00001148d00004320sv00001148sd00000421*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8004 Adapter
-
-pci:v00001148d00004320sv00001148sd00000621*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8006 Adapter
-
-pci:v00001148d00004320sv00001148sd00000721*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8007 Adapter
-
-pci:v00001148d00004320sv00001148sd00000821*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8008 Adapter
-
-pci:v00001148d00004320sv00001148sd00000921*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8009 Adapter
-
-pci:v00001148d00004320sv00001148sd00001121*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8011 Adapter
-
-pci:v00001148d00004320sv00001148sd00001221*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8012 Adapter
-
-pci:v00001148d00004320sv00001148sd00003221*
- ID_PRODUCT_FROM_DATABASE=SK-9521 V2.0 10/100/1000Base-T Adapter
-
-pci:v00001148d00004320sv00001148sd00005021*
- ID_PRODUCT_FROM_DATABASE=SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter
-
-pci:v00001148d00004320sv00001148sd00005041*
- ID_PRODUCT_FROM_DATABASE=SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter
-
-pci:v00001148d00004320sv00001148sd00005043*
- ID_PRODUCT_FROM_DATABASE=SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter
-
-pci:v00001148d00004320sv00001148sd00005051*
- ID_PRODUCT_FROM_DATABASE=SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter
-
-pci:v00001148d00004320sv00001148sd00005061*
- ID_PRODUCT_FROM_DATABASE=SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter
-
-pci:v00001148d00004320sv00001148sd00005071*
- ID_PRODUCT_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter
-
-pci:v00001148d00004320sv00001148sd00009521*
- ID_PRODUCT_FROM_DATABASE=SK-9521 10/100/1000Base-T Adapter
-
-pci:v00001148d00004400*
- ID_PRODUCT_FROM_DATABASE=SK-9Dxx Gigabit Ethernet Adapter
-
-pci:v00001148d00004500*
- ID_PRODUCT_FROM_DATABASE=SK-9Mxx Gigabit Ethernet Adapter
-
-pci:v00001148d00009000*
- ID_PRODUCT_FROM_DATABASE=SK-9S21 10/100/1000Base-T Server Adapter, PCI-X, Copper RJ-45
-
-pci:v00001148d00009843*
- ID_PRODUCT_FROM_DATABASE=[Fujitsu] Gigabit Ethernet
-
-pci:v00001148d00009E00*
- ID_PRODUCT_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45
-
-pci:v00001148d00009E00sv00001148sd00002100*
- ID_PRODUCT_FROM_DATABASE=SK-9E21 Server Adapter
-
-pci:v00001148d00009E00sv00001148sd000021D0*
- ID_PRODUCT_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter
-
-pci:v00001148d00009E00sv00001148sd00002200*
- ID_PRODUCT_FROM_DATABASE=SK-9E22 Server Adapter
-
-pci:v00001148d00009E00sv00001148sd00008100*
- ID_PRODUCT_FROM_DATABASE=SK-9E81 Server Adapter
-
-pci:v00001148d00009E00sv00001148sd00008200*
- ID_PRODUCT_FROM_DATABASE=SK-9E82 Server Adapter
-
-pci:v00001148d00009E00sv00001148sd00009100*
- ID_PRODUCT_FROM_DATABASE=SK-9E91 Server Adapter
-
-pci:v00001148d00009E00sv00001148sd00009200*
- ID_PRODUCT_FROM_DATABASE=SK-9E92 Server Adapter
-
-pci:v00001148d00009E01*
- ID_PRODUCT_FROM_DATABASE=SK-9E21M 10/100/1000Base-T Adapter
-
-pci:v00001149*
- ID_VENDOR_FROM_DATABASE=Win System Corporation
-
-pci:v0000114A*
- ID_VENDOR_FROM_DATABASE=VMIC
-
-pci:v0000114Ad00005565*
- ID_PRODUCT_FROM_DATABASE=GE-IP PCI5565,PMC5565 Reflective Memory Node
-
-pci:v0000114Ad00005579*
- ID_PRODUCT_FROM_DATABASE=VMIPCI-5579 (Reflective Memory Card)
-
-pci:v0000114Ad00005587*
- ID_PRODUCT_FROM_DATABASE=VMIPCI-5587 (Reflective Memory Card)
-
-pci:v0000114Ad00006504*
- ID_PRODUCT_FROM_DATABASE=VMIC PCI 7755 FPGA
-
-pci:v0000114Ad00007587*
- ID_PRODUCT_FROM_DATABASE=VMIVME-7587
-
-pci:v0000114B*
- ID_VENDOR_FROM_DATABASE=Canopus Co., Ltd
-
-pci:v0000114C*
- ID_VENDOR_FROM_DATABASE=Annabooks
-
-pci:v0000114D*
- ID_VENDOR_FROM_DATABASE=IC Corporation
-
-pci:v0000114E*
- ID_VENDOR_FROM_DATABASE=Nikon Systems Inc
-
-pci:v0000114F*
- ID_VENDOR_FROM_DATABASE=Digi International
-
-pci:v0000114Fd00000002*
- ID_PRODUCT_FROM_DATABASE=AccelePort EPC
-
-pci:v0000114Fd00000003*
- ID_PRODUCT_FROM_DATABASE=RightSwitch SE-6
-
-pci:v0000114Fd00000004*
- ID_PRODUCT_FROM_DATABASE=AccelePort Xem
-
-pci:v0000114Fd00000005*
- ID_PRODUCT_FROM_DATABASE=AccelePort Xr
-
-pci:v0000114Fd00000006*
- ID_PRODUCT_FROM_DATABASE=AccelePort Xr,C/X
-
-pci:v0000114Fd00000009*
- ID_PRODUCT_FROM_DATABASE=AccelePort Xr/J
-
-pci:v0000114Fd0000000A*
- ID_PRODUCT_FROM_DATABASE=AccelePort EPC/J
-
-pci:v0000114Fd0000000C*
- ID_PRODUCT_FROM_DATABASE=DataFirePRIme T1 (1-port)
-
-pci:v0000114Fd0000000D*
- ID_PRODUCT_FROM_DATABASE=SyncPort 2-Port (x.25/FR)
-
-pci:v0000114Fd00000011*
- ID_PRODUCT_FROM_DATABASE=AccelePort 8r EIA-232 (IBM)
-
-pci:v0000114Fd00000012*
- ID_PRODUCT_FROM_DATABASE=AccelePort 8r EIA-422
-
-pci:v0000114Fd00000013*
- ID_PRODUCT_FROM_DATABASE=AccelePort Xr
-
-pci:v0000114Fd00000014*
- ID_PRODUCT_FROM_DATABASE=AccelePort 8r EIA-422
-
-pci:v0000114Fd00000015*
- ID_PRODUCT_FROM_DATABASE=AccelePort Xem
-
-pci:v0000114Fd00000016*
- ID_PRODUCT_FROM_DATABASE=AccelePort EPC/X
-
-pci:v0000114Fd00000017*
- ID_PRODUCT_FROM_DATABASE=AccelePort C/X
-
-pci:v0000114Fd0000001A*
- ID_PRODUCT_FROM_DATABASE=DataFirePRIme E1 (1-port)
-
-pci:v0000114Fd0000001B*
- ID_PRODUCT_FROM_DATABASE=AccelePort C/X (IBM)
-
-pci:v0000114Fd0000001C*
- ID_PRODUCT_FROM_DATABASE=AccelePort Xr (SAIP)
-
-pci:v0000114Fd0000001D*
- ID_PRODUCT_FROM_DATABASE=DataFire RAS T1/E1/PRI
-
-pci:v0000114Fd0000001Dsv0000114Fsd00000050*
- ID_PRODUCT_FROM_DATABASE=DataFire RAS E1 Adapter
-
-pci:v0000114Fd0000001Dsv0000114Fsd00000051*
- ID_PRODUCT_FROM_DATABASE=DataFire RAS Dual E1 Adapter
-
-pci:v0000114Fd0000001Dsv0000114Fsd00000052*
- ID_PRODUCT_FROM_DATABASE=DataFire RAS T1 Adapter
-
-pci:v0000114Fd0000001Dsv0000114Fsd00000053*
- ID_PRODUCT_FROM_DATABASE=DataFire RAS Dual T1 Adapter
-
-pci:v0000114Fd00000023*
- ID_PRODUCT_FROM_DATABASE=AccelePort RAS
-
-pci:v0000114Fd00000024*
- ID_PRODUCT_FROM_DATABASE=DataFire RAS B4 ST/U
-
-pci:v0000114Fd00000024sv0000114Fsd00000030*
- ID_PRODUCT_FROM_DATABASE=DataFire RAS BRI U Adapter
-
-pci:v0000114Fd00000024sv0000114Fsd00000031*
- ID_PRODUCT_FROM_DATABASE=DataFire RAS BRI S/T Adapter
-
-pci:v0000114Fd00000026*
- ID_PRODUCT_FROM_DATABASE=AccelePort 4r 920
-
-pci:v0000114Fd00000027*
- ID_PRODUCT_FROM_DATABASE=AccelePort Xr 920
-
-pci:v0000114Fd00000028*
- ID_PRODUCT_FROM_DATABASE=ClassicBoard 4
-
-pci:v0000114Fd00000029*
- ID_PRODUCT_FROM_DATABASE=ClassicBoard 8
-
-pci:v0000114Fd00000034*
- ID_PRODUCT_FROM_DATABASE=AccelePort 2r 920
-
-pci:v0000114Fd00000035*
- ID_PRODUCT_FROM_DATABASE=DataFire DSP T1/E1/PRI cPCI
-
-pci:v0000114Fd00000040*
- ID_PRODUCT_FROM_DATABASE=AccelePort Xp
-
-pci:v0000114Fd00000040sv0000114Fsd00000042*
- ID_PRODUCT_FROM_DATABASE=AccelePort 2p PCI
-
-pci:v0000114Fd00000040sv0000114Fsd00000043*
- ID_PRODUCT_FROM_DATABASE=AccelePort 4p PCI
-
-pci:v0000114Fd00000040sv0000114Fsd00000044*
- ID_PRODUCT_FROM_DATABASE=AccelePort 8p PCI
-
-pci:v0000114Fd00000040sv0000114Fsd00000045*
- ID_PRODUCT_FROM_DATABASE=AccelePort 16p PCI
-
-pci:v0000114Fd00000040sv0000114Fsd0000004E*
- ID_PRODUCT_FROM_DATABASE=AccelePort 32p PCI
-
-pci:v0000114Fd00000042*
- ID_PRODUCT_FROM_DATABASE=AccelePort 2p
-
-pci:v0000114Fd00000043*
- ID_PRODUCT_FROM_DATABASE=AccelePort 4p
-
-pci:v0000114Fd00000044*
- ID_PRODUCT_FROM_DATABASE=AccelePort 8p
-
-pci:v0000114Fd00000045*
- ID_PRODUCT_FROM_DATABASE=AccelePort 16p
-
-pci:v0000114Fd0000004E*
- ID_PRODUCT_FROM_DATABASE=AccelePort 32p
-
-pci:v0000114Fd00000070*
- ID_PRODUCT_FROM_DATABASE=Datafire Micro V IOM2 (Europe)
-
-pci:v0000114Fd00000071*
- ID_PRODUCT_FROM_DATABASE=Datafire Micro V (Europe)
-
-pci:v0000114Fd00000072*
- ID_PRODUCT_FROM_DATABASE=Datafire Micro V IOM2 (North America)
-
-pci:v0000114Fd00000073*
- ID_PRODUCT_FROM_DATABASE=Datafire Micro V (North America)
-
-pci:v0000114Fd000000B0*
- ID_PRODUCT_FROM_DATABASE=Digi Neo 4
-
-pci:v0000114Fd000000B1*
- ID_PRODUCT_FROM_DATABASE=Digi Neo 8
-
-pci:v0000114Fd000000C8*
- ID_PRODUCT_FROM_DATABASE=Digi Neo 2 DB9
-
-pci:v0000114Fd000000C9*
- ID_PRODUCT_FROM_DATABASE=Digi Neo 2 DB9 PRI
-
-pci:v0000114Fd000000CA*
- ID_PRODUCT_FROM_DATABASE=Digi Neo 2 RJ45
-
-pci:v0000114Fd000000CB*
- ID_PRODUCT_FROM_DATABASE=Digi Neo 2 RJ45 PRI
-
-pci:v0000114Fd000000CC*
- ID_PRODUCT_FROM_DATABASE=Digi Neo 1 422
-
-pci:v0000114Fd000000CD*
- ID_PRODUCT_FROM_DATABASE=Digi Neo 1 422 485
-
-pci:v0000114Fd000000CE*
- ID_PRODUCT_FROM_DATABASE=Digi Neo 2 422 485
-
-pci:v0000114Fd000000D0*
- ID_PRODUCT_FROM_DATABASE=ClassicBoard 4 422
-
-pci:v0000114Fd000000D1*
- ID_PRODUCT_FROM_DATABASE=ClassicBoard 8 422
-
-pci:v0000114Fd000000F1*
- ID_PRODUCT_FROM_DATABASE=Digi Neo PCI-E 4 port
-
-pci:v0000114Fd000000F4*
- ID_PRODUCT_FROM_DATABASE=Digi Neo 4 (IBM version)
-
-pci:v0000114Fd00006001*
- ID_PRODUCT_FROM_DATABASE=Avanstar
-
-pci:v00001150*
- ID_VENDOR_FROM_DATABASE=Thinking Machines Corp
-
-pci:v00001151*
- ID_VENDOR_FROM_DATABASE=JAE Electronics Inc.
-
-pci:v00001152*
- ID_VENDOR_FROM_DATABASE=Megatek
-
-pci:v00001153*
- ID_VENDOR_FROM_DATABASE=Land Win Electronic Corp
-
-pci:v00001154*
- ID_VENDOR_FROM_DATABASE=Melco Inc
-
-pci:v00001155*
- ID_VENDOR_FROM_DATABASE=Pine Technology Ltd
-
-pci:v00001156*
- ID_VENDOR_FROM_DATABASE=Periscope Engineering
-
-pci:v00001157*
- ID_VENDOR_FROM_DATABASE=Avsys Corporation
-
-pci:v00001158*
- ID_VENDOR_FROM_DATABASE=Voarx R & D Inc
-
-pci:v00001158d00003011*
- ID_PRODUCT_FROM_DATABASE=Tokenet/vg 1001/10m anylan
-
-pci:v00001158d00009050*
- ID_PRODUCT_FROM_DATABASE=Lanfleet/Truevalue
-
-pci:v00001158d00009051*
- ID_PRODUCT_FROM_DATABASE=Lanfleet/Truevalue
-
-pci:v00001159*
- ID_VENDOR_FROM_DATABASE=Mutech Corp
-
-pci:v00001159d00000001*
- ID_PRODUCT_FROM_DATABASE=MV-1000
-
-pci:v00001159d00000002*
- ID_PRODUCT_FROM_DATABASE=MV-1500
-
-pci:v0000115A*
- ID_VENDOR_FROM_DATABASE=Harlequin Ltd
-
-pci:v0000115B*
- ID_VENDOR_FROM_DATABASE=Parallax Graphics
-
-pci:v0000115C*
- ID_VENDOR_FROM_DATABASE=Photron Ltd.
-
-pci:v0000115D*
- ID_VENDOR_FROM_DATABASE=Xircom
-
-pci:v0000115Dd00000003*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd00000003sv00001014sd00000181*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
-
-pci:v0000115Dd00000003sv00001014sd00001181*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
-
-pci:v0000115Dd00000003sv00001014sd00008181*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
-
-pci:v0000115Dd00000003sv00001014sd00009181*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
-
-pci:v0000115Dd00000003sv0000115Dsd00000181*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd00000003sv0000115Dsd00000182*
- ID_PRODUCT_FROM_DATABASE=RealPort2 CardBus Ethernet 10/100 (R2BE-100)
-
-pci:v0000115Dd00000003sv0000115Dsd00001181*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd00000003sv00001179sd00000181*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd00000003sv00008086sd00008181*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 Adapter
-
-pci:v0000115Dd00000003sv00008086sd00009181*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 Adapter
-
-pci:v0000115Dd00000005*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd00000005sv00001014sd00000182*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
-
-pci:v0000115Dd00000005sv00001014sd00001182*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
-
-pci:v0000115Dd00000005sv0000115Dsd00000182*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd00000005sv0000115Dsd00001182*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd00000007*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd00000007sv00001014sd00000182*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
-
-pci:v0000115Dd00000007sv00001014sd00001182*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
-
-pci:v0000115Dd00000007sv0000115Dsd00000182*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd00000007sv0000115Dsd00001182*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd0000000B*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd0000000Bsv00001014sd00000183*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
-
-pci:v0000115Dd0000000Bsv0000115Dsd00000183*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd0000000C*
- ID_PRODUCT_FROM_DATABASE=Mini-PCI V.90 56k Modem
-
-pci:v0000115Dd0000000F*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd0000000Fsv00001014sd00000183*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Cardbus Adapter
-
-pci:v0000115Dd0000000Fsv0000115Dsd00000183*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 10/100
-
-pci:v0000115Dd000000D4*
- ID_PRODUCT_FROM_DATABASE=Mini-PCI K56Flex Modem
-
-pci:v0000115Dd00000101*
- ID_PRODUCT_FROM_DATABASE=Cardbus 56k modem
-
-pci:v0000115Dd00000101sv0000115Dsd00001081*
- ID_PRODUCT_FROM_DATABASE=Cardbus 56k Modem
-
-pci:v0000115Dd00000103*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet + 56k Modem
-
-pci:v0000115Dd00000103sv00001014sd00009181*
- ID_PRODUCT_FROM_DATABASE=Cardbus 56k Modem
-
-pci:v0000115Dd00000103sv00001115sd00001181*
- ID_PRODUCT_FROM_DATABASE=Cardbus Ethernet 100 + 56k Modem
-
-pci:v0000115Dd00000103sv0000115Dsd00001181*
- ID_PRODUCT_FROM_DATABASE=CBEM56G-100 Ethernet + 56k Modem
-
-pci:v0000115Dd00000103sv00008086sd00009181*
- ID_PRODUCT_FROM_DATABASE=PRO/100 LAN + Modem56 CardBus
-
-pci:v0000115E*
- ID_VENDOR_FROM_DATABASE=Peer Protocols Inc
-
-pci:v0000115F*
- ID_VENDOR_FROM_DATABASE=Maxtor Corporation
-
-pci:v00001160*
- ID_VENDOR_FROM_DATABASE=Megasoft Inc
-
-pci:v00001161*
- ID_VENDOR_FROM_DATABASE=PFU Limited
-
-pci:v00001162*
- ID_VENDOR_FROM_DATABASE=OA Laboratory Co Ltd
-
-pci:v00001163*
- ID_VENDOR_FROM_DATABASE=Rendition
-
-pci:v00001163d00000001*
- ID_PRODUCT_FROM_DATABASE=Verite 1000
-
-pci:v00001163d00002000*
- ID_PRODUCT_FROM_DATABASE=Verite V2000/V2100/V2200
-
-pci:v00001163d00002000sv00001092sd00002000*
- ID_PRODUCT_FROM_DATABASE=Stealth II S220
-
-pci:v00001164*
- ID_VENDOR_FROM_DATABASE=Advanced Peripherals Technologies
-
-pci:v00001165*
- ID_VENDOR_FROM_DATABASE=Imagraph Corporation
-
-pci:v00001165d00000001*
- ID_PRODUCT_FROM_DATABASE=Motion TPEG Recorder/Player with audio
-
-pci:v00001166*
- ID_VENDOR_FROM_DATABASE=Broadcom
-
-pci:v00001166d00000000*
- ID_PRODUCT_FROM_DATABASE=CMIC-LE
-
-pci:v00001166d00000005*
- ID_PRODUCT_FROM_DATABASE=CNB20-LE Host Bridge
-
-pci:v00001166d00000006*
- ID_PRODUCT_FROM_DATABASE=CNB20HE Host Bridge
-
-pci:v00001166d00000007*
- ID_PRODUCT_FROM_DATABASE=CNB20-LE Host Bridge
-
-pci:v00001166d00000008*
- ID_PRODUCT_FROM_DATABASE=CNB20HE Host Bridge
-
-pci:v00001166d00000009*
- ID_PRODUCT_FROM_DATABASE=CNB20LE Host Bridge
-
-pci:v00001166d00000010*
- ID_PRODUCT_FROM_DATABASE=CIOB30
-
-pci:v00001166d00000011*
- ID_PRODUCT_FROM_DATABASE=CMIC-HE
-
-pci:v00001166d00000012*
- ID_PRODUCT_FROM_DATABASE=CMIC-WS Host Bridge (GC-LE chipset)
-
-pci:v00001166d00000013*
- ID_PRODUCT_FROM_DATABASE=CNB20-HE Host Bridge
-
-pci:v00001166d00000014*
- ID_PRODUCT_FROM_DATABASE=CMIC-LE Host Bridge (GC-LE chipset)
-
-pci:v00001166d00000015*
- ID_PRODUCT_FROM_DATABASE=CMIC-GC Host Bridge
-
-pci:v00001166d00000016*
- ID_PRODUCT_FROM_DATABASE=CMIC-GC Host Bridge
-
-pci:v00001166d00000017*
- ID_PRODUCT_FROM_DATABASE=GCNB-LE Host Bridge
-
-pci:v00001166d00000031*
- ID_PRODUCT_FROM_DATABASE=HT1100 HPX0 HT Host Bridge
-
-pci:v00001166d00000036*
- ID_PRODUCT_FROM_DATABASE=BCM5785 [HT1000] PCI/PCI-X Bridge
-
-pci:v00001166d00000101*
- ID_PRODUCT_FROM_DATABASE=CIOB-X2 PCI-X I/O Bridge
-
-pci:v00001166d00000103*
- ID_PRODUCT_FROM_DATABASE=EPB PCI-Express to PCI-X Bridge
-
-pci:v00001166d00000104*
- ID_PRODUCT_FROM_DATABASE=BCM5785 [HT1000] PCI/PCI-X Bridge
-
-pci:v00001166d00000110*
- ID_PRODUCT_FROM_DATABASE=CIOB-E I/O Bridge with Gigabit Ethernet
-
-pci:v00001166d00000130*
- ID_PRODUCT_FROM_DATABASE=BCM5780 [HT2000] PCI-X bridge
-
-pci:v00001166d00000132*
- ID_PRODUCT_FROM_DATABASE=BCM5780 [HT2000] PCI-Express Bridge
-
-pci:v00001166d00000132sv00001166sd00000132*
- ID_PRODUCT_FROM_DATABASE=HT2000 PCI-Express bridge
-
-pci:v00001166d00000140*
- ID_PRODUCT_FROM_DATABASE=HT2100 PCI-Express Bridge
-
-pci:v00001166d00000141*
- ID_PRODUCT_FROM_DATABASE=HT2100 PCI-Express Bridge
-
-pci:v00001166d00000142*
- ID_PRODUCT_FROM_DATABASE=HT2100 PCI-Express Bridge
-
-pci:v00001166d00000144*
- ID_PRODUCT_FROM_DATABASE=HT2100 PCI-Express Bridge
-
-pci:v00001166d00000200*
- ID_PRODUCT_FROM_DATABASE=OSB4 South Bridge
-
-pci:v00001166d00000201*
- ID_PRODUCT_FROM_DATABASE=CSB5 South Bridge
-
-pci:v00001166d00000201sv00004C53sd00001080*
- ID_PRODUCT_FROM_DATABASE=CT8 mainboard
-
-pci:v00001166d00000203*
- ID_PRODUCT_FROM_DATABASE=CSB6 South Bridge
-
-pci:v00001166d00000203sv00001734sd00001012*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX series
-
-pci:v00001166d00000205*
- ID_PRODUCT_FROM_DATABASE=BCM5785 [HT1000] Legacy South Bridge
-
-pci:v00001166d00000211*
- ID_PRODUCT_FROM_DATABASE=OSB4 IDE Controller
-
-pci:v00001166d00000212*
- ID_PRODUCT_FROM_DATABASE=CSB5 IDE Controller
-
-pci:v00001166d00000212sv00001028sd0000014A*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1750
-
-pci:v00001166d00000212sv00001028sd0000810B*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1650/2550
-
-pci:v00001166d00000212sv00004C53sd00001080*
- ID_PRODUCT_FROM_DATABASE=CT8 mainboard
-
-pci:v00001166d00000213*
- ID_PRODUCT_FROM_DATABASE=CSB6 RAID/IDE Controller
-
-pci:v00001166d00000213sv00001028sd00004134*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 600SC
-
-pci:v00001166d00000213sv00001028sd0000C134*
- ID_PRODUCT_FROM_DATABASE=Poweredge SC600
-
-pci:v00001166d00000213sv00001734sd00001012*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX series onboard IDE
-
-pci:v00001166d00000214*
- ID_PRODUCT_FROM_DATABASE=BCM5785 [HT1000] IDE
-
-pci:v00001166d00000214sv00001028sd00000205*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2970 HT1000 IDE
-
-pci:v00001166d00000217*
- ID_PRODUCT_FROM_DATABASE=CSB6 IDE Controller
-
-pci:v00001166d00000217sv00001028sd00004134*
- ID_PRODUCT_FROM_DATABASE=Poweredge SC600
-
-pci:v00001166d0000021B*
- ID_PRODUCT_FROM_DATABASE=HT1100 HD Audio
-
-pci:v00001166d00000220*
- ID_PRODUCT_FROM_DATABASE=OSB4/CSB5 OHCI USB Controller
-
-pci:v00001166d00000220sv00004C53sd00001080*
- ID_PRODUCT_FROM_DATABASE=CT8 mainboard
-
-pci:v00001166d00000221*
- ID_PRODUCT_FROM_DATABASE=CSB6 OHCI USB Controller
-
-pci:v00001166d00000221sv00001734sd00001012*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX series onboard OHCI
-
-pci:v00001166d00000223*
- ID_PRODUCT_FROM_DATABASE=BCM5785 [HT1000] USB
-
-pci:v00001166d00000223sv00001028sd00000205*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2970 HT1000 USB Controller
-
-pci:v00001166d00000223sv00001028sd0000020B*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T605 HT1000 USB Controller
-
-pci:v00001166d00000225*
- ID_PRODUCT_FROM_DATABASE=CSB5 LPC bridge
-
-pci:v00001166d00000227*
- ID_PRODUCT_FROM_DATABASE=GCLE-2 Host Bridge
-
-pci:v00001166d00000227sv00001734sd00001012*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX series
-
-pci:v00001166d00000230*
- ID_PRODUCT_FROM_DATABASE=CSB5 LPC bridge
-
-pci:v00001166d00000230sv00004C53sd00001080*
- ID_PRODUCT_FROM_DATABASE=CT8 mainboard
-
-pci:v00001166d00000234*
- ID_PRODUCT_FROM_DATABASE=BCM5785 [HT1000] LPC
-
-pci:v00001166d00000234sv00001028sd00000205*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2970 HT1000 LPC
-
-pci:v00001166d00000234sv00001028sd0000020B*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T605 HT1000 LPC
-
-pci:v00001166d00000235*
- ID_PRODUCT_FROM_DATABASE=BCM5785 [HT1000] XIOAPIC0-2
-
-pci:v00001166d00000238*
- ID_PRODUCT_FROM_DATABASE=BCM5785 [HT1000] WDTimer
-
-pci:v00001166d00000240*
- ID_PRODUCT_FROM_DATABASE=K2 SATA
-
-pci:v00001166d00000241*
- ID_PRODUCT_FROM_DATABASE=RAIDCore RC4000
-
-pci:v00001166d00000242*
- ID_PRODUCT_FROM_DATABASE=RAIDCore BC4000
-
-pci:v00001166d0000024A*
- ID_PRODUCT_FROM_DATABASE=BCM5785 [HT1000] SATA (Native SATA Mode)
-
-pci:v00001166d0000024Asv00001028sd0000020B*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T605 onboard SATA Controller
-
-pci:v00001166d0000024B*
- ID_PRODUCT_FROM_DATABASE=BCM5785 [HT1000] SATA (PATA/IDE Mode)
-
-pci:v00001166d0000024Bsv00001028sd00000205*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2970 HT1000 SATA controller
-
-pci:v00001166d00000406*
- ID_PRODUCT_FROM_DATABASE=HT1100 PCI-X Bridge
-
-pci:v00001166d00000408*
- ID_PRODUCT_FROM_DATABASE=HT1100 Legacy Device
-
-pci:v00001166d0000040A*
- ID_PRODUCT_FROM_DATABASE=HT1100 ISA-LPC Bridge
-
-pci:v00001166d0000040Asv00001028sd00000223*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R905 HT1100 ISA-LPC Bridge
-
-pci:v00001166d00000410*
- ID_PRODUCT_FROM_DATABASE=HT1100 SATA Controller (Native SATA Mode)
-
-pci:v00001166d00000411*
- ID_PRODUCT_FROM_DATABASE=HT1100 SATA Controller (PATA / IDE Mode)
-
-pci:v00001166d00000412*
- ID_PRODUCT_FROM_DATABASE=HT1100 USB OHCI Controller
-
-pci:v00001166d00000414*
- ID_PRODUCT_FROM_DATABASE=HT1100 USB EHCI Controller
-
-pci:v00001166d00000416*
- ID_PRODUCT_FROM_DATABASE=HT1100 USB EHCI Controller (with Debug Port)
-
-pci:v00001166d00000420*
- ID_PRODUCT_FROM_DATABASE=HT1100 PCI-Express Bridge
-
-pci:v00001166d00000421*
- ID_PRODUCT_FROM_DATABASE=HT1100 SAS/SATA Controller
-
-pci:v00001166d00000422*
- ID_PRODUCT_FROM_DATABASE=HT1100 PCI-Express Bridge
-
-pci:v00001167*
- ID_VENDOR_FROM_DATABASE=Mutoh Industries Inc
-
-pci:v00001168*
- ID_VENDOR_FROM_DATABASE=Thine Electronics Inc
-
-pci:v00001169*
- ID_VENDOR_FROM_DATABASE=Centre for Development of Advanced Computing
-
-pci:v0000116A*
- ID_VENDOR_FROM_DATABASE=Luminex Software, Inc.
-
-pci:v0000116Ad00006100*
- ID_PRODUCT_FROM_DATABASE=Bus/Tag Channel
-
-pci:v0000116Ad00006800*
- ID_PRODUCT_FROM_DATABASE=Escon Channel
-
-pci:v0000116Ad00007100*
- ID_PRODUCT_FROM_DATABASE=Bus/Tag Channel
-
-pci:v0000116Ad00007800*
- ID_PRODUCT_FROM_DATABASE=Escon Channel
-
-pci:v0000116B*
- ID_VENDOR_FROM_DATABASE=Connectware Inc
-
-pci:v0000116C*
- ID_VENDOR_FROM_DATABASE=Intelligent Resources Integrated Systems
-
-pci:v0000116D*
- ID_VENDOR_FROM_DATABASE=Martin-Marietta
-
-pci:v0000116E*
- ID_VENDOR_FROM_DATABASE=Electronics for Imaging
-
-pci:v0000116F*
- ID_VENDOR_FROM_DATABASE=Workstation Technology
-
-pci:v00001170*
- ID_VENDOR_FROM_DATABASE=Inventec Corporation
-
-pci:v00001171*
- ID_VENDOR_FROM_DATABASE=Loughborough Sound Images Plc
-
-pci:v00001172*
- ID_VENDOR_FROM_DATABASE=Altera Corporation
-
-pci:v00001173*
- ID_VENDOR_FROM_DATABASE=Adobe Systems, Inc
-
-pci:v00001174*
- ID_VENDOR_FROM_DATABASE=Bridgeport Machines
-
-pci:v00001175*
- ID_VENDOR_FROM_DATABASE=Mitron Computer Inc.
-
-pci:v00001176*
- ID_VENDOR_FROM_DATABASE=SBE Incorporated
-
-pci:v00001177*
- ID_VENDOR_FROM_DATABASE=Silicon Engineering
-
-pci:v00001178*
- ID_VENDOR_FROM_DATABASE=Alfa, Inc.
-
-pci:v00001178d0000AFA1*
- ID_PRODUCT_FROM_DATABASE=Fast Ethernet Adapter
-
-pci:v00001179*
- ID_VENDOR_FROM_DATABASE=Toshiba America Info Systems
-
-pci:v00001179d00000102*
- ID_PRODUCT_FROM_DATABASE=Extended IDE Controller
-
-pci:v00001179d00000103*
- ID_PRODUCT_FROM_DATABASE=EX-IDE Type-B
-
-pci:v00001179d00000404*
- ID_PRODUCT_FROM_DATABASE=DVD Decoder card
-
-pci:v00001179d00000406*
- ID_PRODUCT_FROM_DATABASE=Tecra Video Capture device
-
-pci:v00001179d00000407*
- ID_PRODUCT_FROM_DATABASE=DVD Decoder card (Version 2)
-
-pci:v00001179d00000601*
- ID_PRODUCT_FROM_DATABASE=CPU to PCI bridge
-
-pci:v00001179d00000601sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Satellite Pro
-
-pci:v00001179d00000602*
- ID_PRODUCT_FROM_DATABASE=PCI to ISA bridge
-
-pci:v00001179d00000603*
- ID_PRODUCT_FROM_DATABASE=ToPIC95 PCI to CardBus Bridge for Notebooks
-
-pci:v00001179d00000604*
- ID_PRODUCT_FROM_DATABASE=PCI-Docking Host bridge
-
-pci:v00001179d0000060A*
- ID_PRODUCT_FROM_DATABASE=ToPIC95
-
-pci:v00001179d0000060Asv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Satellite Pro
-
-pci:v00001179d0000060F*
- ID_PRODUCT_FROM_DATABASE=ToPIC97
-
-pci:v00001179d0000060Fsv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Satellite 4010
-
-pci:v00001179d00000617*
- ID_PRODUCT_FROM_DATABASE=ToPIC100 PCI to Cardbus Bridge with ZV Support
-
-pci:v00001179d00000618*
- ID_PRODUCT_FROM_DATABASE=CPU to PCI and PCI to ISA bridge
-
-pci:v00001179d00000701*
- ID_PRODUCT_FROM_DATABASE=FIR Port Type-O
-
-pci:v00001179d00000804*
- ID_PRODUCT_FROM_DATABASE=TC6371AF SmartMedia Controller
-
-pci:v00001179d00000805*
- ID_PRODUCT_FROM_DATABASE=SD TypA Controller
-
-pci:v00001179d00000D01*
- ID_PRODUCT_FROM_DATABASE=FIR Port Type-DO
-
-pci:v00001179d00000D01sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=FIR Port Type-DO
-
-pci:v0000117A*
- ID_VENDOR_FROM_DATABASE=A-Trend Technology
-
-pci:v0000117B*
- ID_VENDOR_FROM_DATABASE=L G Electronics, Inc.
-
-pci:v0000117C*
- ID_VENDOR_FROM_DATABASE=ATTO Technology, Inc.
-
-pci:v0000117Cd0000002C*
- ID_PRODUCT_FROM_DATABASE=SAS RAID Adapter
-
-pci:v0000117Cd00000030*
- ID_PRODUCT_FROM_DATABASE=Ultra320 SCSI Host Adapter
-
-pci:v0000117Cd00000030sv0000117Csd00008013*
- ID_PRODUCT_FROM_DATABASE=ExpressPCI UL4D
-
-pci:v0000117Cd00000030sv0000117Csd00008014*
- ID_PRODUCT_FROM_DATABASE=ExpressPCI UL4S
-
-pci:v0000117Cd00000030sv0000117Csd00008027*
- ID_PRODUCT_FROM_DATABASE=ExpressPCI UL5D
-
-pci:v0000117Cd00000030sv0000117Csd0000802F*
- ID_PRODUCT_FROM_DATABASE=ExpressPCI UL5D Low Profile
-
-pci:v0000117Cd00000033*
- ID_PRODUCT_FROM_DATABASE=SAS Adapter
-
-pci:v0000117D*
- ID_VENDOR_FROM_DATABASE=Becton & Dickinson
-
-pci:v0000117E*
- ID_VENDOR_FROM_DATABASE=T/R Systems
-
-pci:v0000117F*
- ID_VENDOR_FROM_DATABASE=Integrated Circuit Systems
-
-pci:v00001180*
- ID_VENDOR_FROM_DATABASE=Ricoh Co Ltd
-
-pci:v00001180d00000465*
- ID_PRODUCT_FROM_DATABASE=RL5c465
-
-pci:v00001180d00000466*
- ID_PRODUCT_FROM_DATABASE=RL5c466
-
-pci:v00001180d00000475*
- ID_PRODUCT_FROM_DATABASE=RL5c475
-
-pci:v00001180d00000475sv0000144Dsd0000C006*
- ID_PRODUCT_FROM_DATABASE=vpr Matrix 170B4 CardBus bridge
-
-pci:v00001180d00000476*
- ID_PRODUCT_FROM_DATABASE=RL5c476 II
-
-pci:v00001180d00000476sv00001014sd00000185*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A/T/X Series
-
-pci:v00001180d00000476sv00001014sd0000056C*
- ID_PRODUCT_FROM_DATABASE=ThinkPad Z60t
-
-pci:v00001180d00000476sv00001028sd0000014F*
- ID_PRODUCT_FROM_DATABASE=Latitude X300 laptop
-
-pci:v00001180d00000476sv00001028sd00000188*
- ID_PRODUCT_FROM_DATABASE=Inspiron 6000 laptop
-
-pci:v00001180d00000476sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00001180d00000476sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00001180d00000476sv00001043sd00001237*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v00001180d00000476sv00001043sd00001967*
- ID_PRODUCT_FROM_DATABASE=V6800V
-
-pci:v00001180d00000476sv00001043sd00001987*
- ID_PRODUCT_FROM_DATABASE=Asus A4K and Z81K notebooks, possibly others ( mid-2005 machines )
-
-pci:v00001180d00000476sv0000104Dsd000080DF*
- ID_PRODUCT_FROM_DATABASE=Vaio PCG-FX403
-
-pci:v00001180d00000476sv0000104Dsd000080E7*
- ID_PRODUCT_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
-
-pci:v00001180d00000476sv0000104Dsd0000814E*
- ID_PRODUCT_FROM_DATABASE=VAIO GRZ390Z
-
-pci:v00001180d00000476sv000010F7sd00008338*
- ID_PRODUCT_FROM_DATABASE=Panasonic CF-Y5 laptop
-
-pci:v00001180d00000476sv0000144Dsd0000C005*
- ID_PRODUCT_FROM_DATABASE=X10 Laptop
-
-pci:v00001180d00000476sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30/P35 notebook
-
-pci:v00001180d00000476sv000014EFsd00000220*
- ID_PRODUCT_FROM_DATABASE=PCD-RP-220S
-
-pci:v00001180d00000476sv000017AAsd0000201C*
- ID_PRODUCT_FROM_DATABASE=ThinkPad X60s
-
-pci:v00001180d00000476sv000017AAsd000020C4*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00001180d00000477*
- ID_PRODUCT_FROM_DATABASE=RL5c477
-
-pci:v00001180d00000478*
- ID_PRODUCT_FROM_DATABASE=RL5c478
-
-pci:v00001180d00000478sv00001014sd00000184*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A30p
-
-pci:v00001180d00000511*
- ID_PRODUCT_FROM_DATABASE=R5C511
-
-pci:v00001180d00000522*
- ID_PRODUCT_FROM_DATABASE=R5C522 IEEE 1394 Controller
-
-pci:v00001180d00000522sv00001014sd000001CF*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A30p
-
-pci:v00001180d00000522sv00001043sd00001967*
- ID_PRODUCT_FROM_DATABASE=V6800V
-
-pci:v00001180d00000551*
- ID_PRODUCT_FROM_DATABASE=R5C551 IEEE 1394 Controller
-
-pci:v00001180d00000551sv0000144Dsd0000C006*
- ID_PRODUCT_FROM_DATABASE=vpr Matrix 170B4
-
-pci:v00001180d00000552*
- ID_PRODUCT_FROM_DATABASE=R5C552 IEEE 1394 Controller
-
-pci:v00001180d00000552sv00001014sd00000511*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A/T/X Series
-
-pci:v00001180d00000552sv00001028sd0000014F*
- ID_PRODUCT_FROM_DATABASE=Latitude X300 laptop
-
-pci:v00001180d00000552sv00001028sd00000188*
- ID_PRODUCT_FROM_DATABASE=Inspiron 6000 laptop
-
-pci:v00001180d00000552sv00001043sd00001237*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v00001180d00000552sv0000144Dsd0000C005*
- ID_PRODUCT_FROM_DATABASE=X10 Laptop
-
-pci:v00001180d00000552sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30/P35 notebook
-
-pci:v00001180d00000552sv000017AAsd0000201E*
- ID_PRODUCT_FROM_DATABASE=ThinkPad X60s
-
-pci:v00001180d00000554*
- ID_PRODUCT_FROM_DATABASE=R5C554
-
-pci:v00001180d00000575*
- ID_PRODUCT_FROM_DATABASE=R5C575 SD Bus Host Adapter
-
-pci:v00001180d00000576*
- ID_PRODUCT_FROM_DATABASE=R5C576 SD Bus Host Adapter
-
-pci:v00001180d00000592*
- ID_PRODUCT_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter
-
-pci:v00001180d00000592sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00001180d00000592sv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00001180d00000592sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00001180d00000592sv0000103Csd000030B5*
- ID_PRODUCT_FROM_DATABASE=Presario V3242AU
-
-pci:v00001180d00000592sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v00001180d00000592sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00001180d00000592sv00001043sd00001237*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v00001180d00000592sv00001043sd00001967*
- ID_PRODUCT_FROM_DATABASE=V6800V
-
-pci:v00001180d00000592sv0000144Dsd0000C018*
- ID_PRODUCT_FROM_DATABASE=X20 IV
-
-pci:v00001180d00000592sv000017AAsd000020CA*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00001180d00000811*
- ID_PRODUCT_FROM_DATABASE=R5C811
-
-pci:v00001180d00000822*
- ID_PRODUCT_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter
-
-pci:v00001180d00000822sv00001014sd00000556*
- ID_PRODUCT_FROM_DATABASE=ThinkPad X60s / Z60t
-
-pci:v00001180d00000822sv00001014sd00000598*
- ID_PRODUCT_FROM_DATABASE=ThinkPad Z60m
-
-pci:v00001180d00000822sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00001180d00000822sv00001028sd00000188*
- ID_PRODUCT_FROM_DATABASE=Inspiron 6000 laptop
-
-pci:v00001180d00000822sv00001028sd000001A2*
- ID_PRODUCT_FROM_DATABASE=Inspiron 9200
-
-pci:v00001180d00000822sv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00001180d00000822sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00001180d00000822sv0000103Csd000003B5*
- ID_PRODUCT_FROM_DATABASE=Presario V3242AU
-
-pci:v00001180d00000822sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v00001180d00000822sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00001180d00000822sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00001180d00000822sv00001043sd00001237*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v00001180d00000822sv00001043sd00001967*
- ID_PRODUCT_FROM_DATABASE=ASUS V6800V
-
-pci:v00001180d00000822sv000010F7sd00008338*
- ID_PRODUCT_FROM_DATABASE=Panasonic CF-Y5 laptop
-
-pci:v00001180d00000822sv0000144Dsd0000C018*
- ID_PRODUCT_FROM_DATABASE=X20 IV
-
-pci:v00001180d00000822sv000017AAsd0000201D*
- ID_PRODUCT_FROM_DATABASE=ThinkPad X60s
-
-pci:v00001180d00000822sv000017AAsd000020C7*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00001180d00000832*
- ID_PRODUCT_FROM_DATABASE=R5C832 IEEE 1394 Controller
-
-pci:v00001180d00000832sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00001180d00000832sv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00001180d00000832sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00001180d00000832sv0000103Csd000030B5*
- ID_PRODUCT_FROM_DATABASE=Presario V3242AU
-
-pci:v00001180d00000832sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v00001180d00000832sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00001180d00000832sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00001180d00000841*
- ID_PRODUCT_FROM_DATABASE=R5C841 CardBus/SD/SDIO/MMC/MS/MSPro/xD/IEEE1394
-
-pci:v00001180d00000843*
- ID_PRODUCT_FROM_DATABASE=R5C843 MMC Host Controller
-
-pci:v00001180d00000843sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00001180d00000843sv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00001180d00000843sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00001180d00000843sv00001028sd000001F5*
- ID_PRODUCT_FROM_DATABASE=Dell Inspiron 1501
-
-pci:v00001180d00000843sv00001028sd0000024F*
- ID_PRODUCT_FROM_DATABASE=Dell Latitude e6500
-
-pci:v00001180d00000843sv0000103Csd000003B5*
- ID_PRODUCT_FROM_DATABASE=Presario V3242AU
-
-pci:v00001180d00000843sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v00001180d00000843sv00001183sd00000843*
- ID_PRODUCT_FROM_DATABASE=Alienware Aurora m9700
-
-pci:v00001180d00000852*
- ID_PRODUCT_FROM_DATABASE=xD-Picture Card Controller
-
-pci:v00001180d00000852sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00001180d00000852sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00001180d00000852sv0000103Csd000030B5*
- ID_PRODUCT_FROM_DATABASE=Presario V3242AU
-
-pci:v00001180d00000852sv0000103Csd000030B7*
- ID_PRODUCT_FROM_DATABASE=Presario V6133CL
-
-pci:v00001180d00000852sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00001180d00000852sv00001043sd00001967*
- ID_PRODUCT_FROM_DATABASE=V6800V
-
-pci:v00001180d00000852sv00001180sd00000852*
- ID_PRODUCT_FROM_DATABASE=Pavilion 2410us
-
-pci:v00001180d00000852sv00001324sd000010CF*
- ID_PRODUCT_FROM_DATABASE=P7120
-
-pci:v00001180d0000E230*
- ID_PRODUCT_FROM_DATABASE=R5U2xx (R5U230 / R5U231 / R5U241) [Memory Stick Host Controller]
-
-pci:v00001180d0000E476*
- ID_PRODUCT_FROM_DATABASE=CardBus bridge
-
-pci:v00001180d0000E476sv00001028sd0000040A*
- ID_PRODUCT_FROM_DATABASE=Latitude E6410
-
-pci:v00001180d0000E476sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00001180d0000E822*
- ID_PRODUCT_FROM_DATABASE=MMC/SD Host Controller
-
-pci:v00001180d0000E822sv00001028sd0000040A*
- ID_PRODUCT_FROM_DATABASE=Latitude E6410
-
-pci:v00001180d0000E822sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00001180d0000E823*
- ID_PRODUCT_FROM_DATABASE=PCIe SDXC/MMC Host Controller
-
-pci:v00001180d0000E832*
- ID_PRODUCT_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller
-
-pci:v00001180d0000E832sv00001028sd0000040A*
- ID_PRODUCT_FROM_DATABASE=Latitude E6410
-
-pci:v00001180d0000E832sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00001180d0000E852*
- ID_PRODUCT_FROM_DATABASE=PCIe xD-Picture Card Controller
-
-pci:v00001181*
- ID_VENDOR_FROM_DATABASE=Telmatics International
-
-pci:v00001183*
- ID_VENDOR_FROM_DATABASE=Fujikura Ltd
-
-pci:v00001184*
- ID_VENDOR_FROM_DATABASE=Forks Inc
-
-pci:v00001185*
- ID_VENDOR_FROM_DATABASE=Dataworld International Ltd
-
-pci:v00001186*
- ID_VENDOR_FROM_DATABASE=D-Link System Inc
-
-pci:v00001186d00000100*
- ID_PRODUCT_FROM_DATABASE=DC21041
-
-pci:v00001186d00001002*
- ID_PRODUCT_FROM_DATABASE=DL10050 Sundance Ethernet
-
-pci:v00001186d00001002sv00001186sd00001002*
- ID_PRODUCT_FROM_DATABASE=DFE-550TX/FX
-
-pci:v00001186d00001002sv00001186sd00001012*
- ID_PRODUCT_FROM_DATABASE=DFE-580TX
-
-pci:v00001186d00001025*
- ID_PRODUCT_FROM_DATABASE=AirPlus Xtreme G DWL-G650 Adapter
-
-pci:v00001186d00001026*
- ID_PRODUCT_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter
-
-pci:v00001186d00001043*
- ID_PRODUCT_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter
-
-pci:v00001186d00001300*
- ID_PRODUCT_FROM_DATABASE=RTL8139 Ethernet
-
-pci:v00001186d00001300sv00001186sd00001300*
- ID_PRODUCT_FROM_DATABASE=DFE-538TX 10/100 Ethernet Adapter
-
-pci:v00001186d00001300sv00001186sd00001301*
- ID_PRODUCT_FROM_DATABASE=DFE-530TX+ 10/100 Ethernet Adapter
-
-pci:v00001186d00001300sv00001186sd00001303*
- ID_PRODUCT_FROM_DATABASE=DFE-528TX 10/100 Fast Ethernet PCI Adapter
-
-pci:v00001186d00001340*
- ID_PRODUCT_FROM_DATABASE=DFE-690TXD CardBus PC Card
-
-pci:v00001186d00001405*
- ID_PRODUCT_FROM_DATABASE=DFE-520TX Fast Ethernet PCI Adapter
-
-pci:v00001186d00001540*
- ID_PRODUCT_FROM_DATABASE=DFE-680TX
-
-pci:v00001186d00001541*
- ID_PRODUCT_FROM_DATABASE=DFE-680TXD CardBus PC Card
-
-pci:v00001186d00001561*
- ID_PRODUCT_FROM_DATABASE=DRP-32TXD Cardbus PC Card
-
-pci:v00001186d00003300*
- ID_PRODUCT_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L]
-
-pci:v00001186d00003300sv00001186sd00003300*
- ID_PRODUCT_FROM_DATABASE=DWL-610 Wireless Cardbus Adapter
-
-pci:v00001186d00003300sv00001186sd00003301*
- ID_PRODUCT_FROM_DATABASE=DWL-510 Wireless PCI Adapter
-
-pci:v00001186d00003A03*
- ID_PRODUCT_FROM_DATABASE=AirPro DWL-A650 Wireless Cardbus Adapter(rev.B)
-
-pci:v00001186d00003A04*
- ID_PRODUCT_FROM_DATABASE=AirPro DWL-AB650 Multimode Wireless Cardbus Adapter
-
-pci:v00001186d00003A05*
- ID_PRODUCT_FROM_DATABASE=AirPro DWL-AB520 Multimode Wireless PCI Adapter
-
-pci:v00001186d00003A07*
- ID_PRODUCT_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter
-
-pci:v00001186d00003A08*
- ID_PRODUCT_FROM_DATABASE=AirXpert DWL-AG520 Wireless PCI Adapter
-
-pci:v00001186d00003A10*
- ID_PRODUCT_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter(rev.B)
-
-pci:v00001186d00003A11*
- ID_PRODUCT_FROM_DATABASE=AirXpert DWL-AG520 Wireless PCI Adapter(rev.B)
-
-pci:v00001186d00003A12*
- ID_PRODUCT_FROM_DATABASE=AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C)
-
-pci:v00001186d00003A63*
- ID_PRODUCT_FROM_DATABASE=AirXpert DWL-AG660 Wireless Cardbus Adapter
-
-pci:v00001186d00003A70*
- ID_PRODUCT_FROM_DATABASE=DWA-556 Xtreme N PCI Express Desktop Adapter
-
-pci:v00001186d00003C00*
- ID_PRODUCT_FROM_DATABASE=D-link DWL-G650X
-
-pci:v00001186d00003C09*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G510
-
-pci:v00001186d00004000*
- ID_PRODUCT_FROM_DATABASE=DL2000-based Gigabit Ethernet
-
-pci:v00001186d00004001*
- ID_PRODUCT_FROM_DATABASE=DGE-550SX PCI-X Gigabit Ethernet Adapter
-
-pci:v00001186d00004300*
- ID_PRODUCT_FROM_DATABASE=DGE-528T Gigabit Ethernet Adapter
-
-pci:v00001186d00004300sv00001186sd00004B10*
- ID_PRODUCT_FROM_DATABASE=DGE-560T PCI Express (x1) Gigabit Ethernet Adapter
-
-pci:v00001186d00004302*
- ID_PRODUCT_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter (rev.C1) [Realtek RTL8169]
-
-pci:v00001186d00004800*
- ID_PRODUCT_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter (rev 11)
-
-pci:v00001186d00004B00*
- ID_PRODUCT_FROM_DATABASE=DGE-560T PCI Express Gigabit Ethernet Adapter
-
-pci:v00001186d00004B01*
- ID_PRODUCT_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter (rev 11)
-
-pci:v00001186d00004B02*
- ID_PRODUCT_FROM_DATABASE=DGE-560SX PCI Express Gigabit Ethernet Adapter
-
-pci:v00001186d00004B03*
- ID_PRODUCT_FROM_DATABASE=DGE-550T Gigabit Ethernet Adapter V.B1
-
-pci:v00001186d00004C00*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet Adapter
-
-pci:v00001186d00004C00sv00001186sd00004C00*
- ID_PRODUCT_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter
-
-pci:v00001186d00008400*
- ID_PRODUCT_FROM_DATABASE=D-Link DWL-650+ CardBus PC Card
-
-pci:v00001187*
- ID_VENDOR_FROM_DATABASE=Advanced Technology Laboratories, Inc.
-
-pci:v00001188*
- ID_VENDOR_FROM_DATABASE=Shima Seiki Manufacturing Ltd.
-
-pci:v00001189*
- ID_VENDOR_FROM_DATABASE=Matsushita Electronics Co Ltd
-
-pci:v0000118A*
- ID_VENDOR_FROM_DATABASE=Hilevel Technology
-
-pci:v0000118B*
- ID_VENDOR_FROM_DATABASE=Hypertec Pty Limited
-
-pci:v0000118C*
- ID_VENDOR_FROM_DATABASE=Corollary, Inc
-
-pci:v0000118Cd00000014*
- ID_PRODUCT_FROM_DATABASE=PCIB [C-bus II to PCI bus host bridge chip]
-
-pci:v0000118Cd00001117*
- ID_PRODUCT_FROM_DATABASE=Intel 8-way XEON Profusion Chipset [Cache Coherency Filter]
-
-pci:v0000118D*
- ID_VENDOR_FROM_DATABASE=BitFlow Inc
-
-pci:v0000118Dd00000001*
- ID_PRODUCT_FROM_DATABASE=Raptor-PCI framegrabber
-
-pci:v0000118Dd00000012*
- ID_PRODUCT_FROM_DATABASE=Model 12 Road Runner Frame Grabber
-
-pci:v0000118Dd00000014*
- ID_PRODUCT_FROM_DATABASE=Model 14 Road Runner Frame Grabber
-
-pci:v0000118Dd00000024*
- ID_PRODUCT_FROM_DATABASE=Model 24 Road Runner Frame Grabber
-
-pci:v0000118Dd00000044*
- ID_PRODUCT_FROM_DATABASE=Model 44 Road Runner Frame Grabber
-
-pci:v0000118Dd00000112*
- ID_PRODUCT_FROM_DATABASE=Model 12 Road Runner Frame Grabber
-
-pci:v0000118Dd00000114*
- ID_PRODUCT_FROM_DATABASE=Model 14 Road Runner Frame Grabber
-
-pci:v0000118Dd00000124*
- ID_PRODUCT_FROM_DATABASE=Model 24 Road Runner Frame Grabber
-
-pci:v0000118Dd00000144*
- ID_PRODUCT_FROM_DATABASE=Model 44 Road Runner Frame Grabber
-
-pci:v0000118Dd00000212*
- ID_PRODUCT_FROM_DATABASE=Model 12 Road Runner Frame Grabber
-
-pci:v0000118Dd00000214*
- ID_PRODUCT_FROM_DATABASE=Model 14 Road Runner Frame Grabber
-
-pci:v0000118Dd00000224*
- ID_PRODUCT_FROM_DATABASE=Model 24 Road Runner Frame Grabber
-
-pci:v0000118Dd00000244*
- ID_PRODUCT_FROM_DATABASE=Model 44 Road Runner Frame Grabber
-
-pci:v0000118Dd00000312*
- ID_PRODUCT_FROM_DATABASE=Model 12 Road Runner Frame Grabber
-
-pci:v0000118Dd00000314*
- ID_PRODUCT_FROM_DATABASE=Model 14 Road Runner Frame Grabber
-
-pci:v0000118Dd00000324*
- ID_PRODUCT_FROM_DATABASE=Model 24 Road Runner Frame Grabber
-
-pci:v0000118Dd00000344*
- ID_PRODUCT_FROM_DATABASE=Model 44 Road Runner Frame Grabber
-
-pci:v0000118E*
- ID_VENDOR_FROM_DATABASE=Hermstedt GmbH
-
-pci:v0000118F*
- ID_VENDOR_FROM_DATABASE=Green Logic
-
-pci:v00001190*
- ID_VENDOR_FROM_DATABASE=Tripace
-
-pci:v00001190d0000C731*
- ID_PRODUCT_FROM_DATABASE=TP-910/920/940 PCI Ultra(Wide) SCSI Adapter
-
-pci:v00001191*
- ID_VENDOR_FROM_DATABASE=Artop Electronic Corp
-
-pci:v00001191d00000003*
- ID_PRODUCT_FROM_DATABASE=SCSI Cache Host Adapter
-
-pci:v00001191d00000004*
- ID_PRODUCT_FROM_DATABASE=ATP8400
-
-pci:v00001191d00000005*
- ID_PRODUCT_FROM_DATABASE=ATP850UF
-
-pci:v00001191d00000006*
- ID_PRODUCT_FROM_DATABASE=ATP860 NO-BIOS
-
-pci:v00001191d00000007*
- ID_PRODUCT_FROM_DATABASE=ATP860
-
-pci:v00001191d00000008*
- ID_PRODUCT_FROM_DATABASE=ATP865 NO-ROM
-
-pci:v00001191d00000009*
- ID_PRODUCT_FROM_DATABASE=ATP865
-
-pci:v00001191d0000000A*
- ID_PRODUCT_FROM_DATABASE=ATP867-A
-
-pci:v00001191d0000000B*
- ID_PRODUCT_FROM_DATABASE=ATP867-B
-
-pci:v00001191d0000000D*
- ID_PRODUCT_FROM_DATABASE=ATP8620
-
-pci:v00001191d0000000E*
- ID_PRODUCT_FROM_DATABASE=ATP8620
-
-pci:v00001191d00008002*
- ID_PRODUCT_FROM_DATABASE=AEC6710 SCSI-2 Host Adapter
-
-pci:v00001191d00008010*
- ID_PRODUCT_FROM_DATABASE=AEC6712UW SCSI
-
-pci:v00001191d00008020*
- ID_PRODUCT_FROM_DATABASE=AEC6712U SCSI
-
-pci:v00001191d00008030*
- ID_PRODUCT_FROM_DATABASE=AEC6712S SCSI
-
-pci:v00001191d00008040*
- ID_PRODUCT_FROM_DATABASE=AEC6712D SCSI
-
-pci:v00001191d00008050*
- ID_PRODUCT_FROM_DATABASE=AEC6712SUW SCSI
-
-pci:v00001191d00008060*
- ID_PRODUCT_FROM_DATABASE=AEC6712 SCSI
-
-pci:v00001191d00008080*
- ID_PRODUCT_FROM_DATABASE=AEC67160 SCSI
-
-pci:v00001191d00008081*
- ID_PRODUCT_FROM_DATABASE=AEC67160S SCSI
-
-pci:v00001191d0000808A*
- ID_PRODUCT_FROM_DATABASE=AEC67162 2-ch. LVD SCSI
-
-pci:v00001192*
- ID_VENDOR_FROM_DATABASE=Densan Company Ltd
-
-pci:v00001193*
- ID_VENDOR_FROM_DATABASE=Zeitnet Inc.
-
-pci:v00001193d00000001*
- ID_PRODUCT_FROM_DATABASE=1221
-
-pci:v00001193d00000002*
- ID_PRODUCT_FROM_DATABASE=1225
-
-pci:v00001194*
- ID_VENDOR_FROM_DATABASE=Toucan Technology
-
-pci:v00001195*
- ID_VENDOR_FROM_DATABASE=Ratoc System Inc
-
-pci:v00001196*
- ID_VENDOR_FROM_DATABASE=Hytec Electronics Ltd
-
-pci:v00001197*
- ID_VENDOR_FROM_DATABASE=Gage Applied Sciences, Inc.
-
-pci:v00001197d0000010C*
- ID_PRODUCT_FROM_DATABASE=CompuScope 82G 8bit 2GS/s Analog Input Card
-
-pci:v00001198*
- ID_VENDOR_FROM_DATABASE=Lambda Systems Inc
-
-pci:v00001199*
- ID_VENDOR_FROM_DATABASE=Attachmate Corporation
-
-pci:v00001199d00000101*
- ID_PRODUCT_FROM_DATABASE=Advanced ISCA/PCI Adapter
-
-pci:v00001199d00006832*
- ID_PRODUCT_FROM_DATABASE=Sierra Wireless MC8780 Device
-
-pci:v0000119A*
- ID_VENDOR_FROM_DATABASE=Mind Share, Inc.
-
-pci:v0000119B*
- ID_VENDOR_FROM_DATABASE=Omega Micro Inc.
-
-pci:v0000119Bd00001221*
- ID_PRODUCT_FROM_DATABASE=82C092G
-
-pci:v0000119C*
- ID_VENDOR_FROM_DATABASE=Information Technology Inst.
-
-pci:v0000119D*
- ID_VENDOR_FROM_DATABASE=Bug, Inc. Sapporo Japan
-
-pci:v0000119E*
- ID_VENDOR_FROM_DATABASE=Fujitsu Microelectronics Ltd.
-
-pci:v0000119Ed00000001*
- ID_PRODUCT_FROM_DATABASE=FireStream 155
-
-pci:v0000119Ed00000003*
- ID_PRODUCT_FROM_DATABASE=FireStream 50
-
-pci:v0000119F*
- ID_VENDOR_FROM_DATABASE=Bull HN Information Systems
-
-pci:v000011A0*
- ID_VENDOR_FROM_DATABASE=Convex Computer Corporation
-
-pci:v000011A1*
- ID_VENDOR_FROM_DATABASE=Hamamatsu Photonics K.K.
-
-pci:v000011A2*
- ID_VENDOR_FROM_DATABASE=Sierra Research and Technology
-
-pci:v000011A3*
- ID_VENDOR_FROM_DATABASE=Deuretzbacher GmbH & Co. Eng. KG
-
-pci:v000011A4*
- ID_VENDOR_FROM_DATABASE=Barco Graphics NV
-
-pci:v000011A5*
- ID_VENDOR_FROM_DATABASE=Microunity Systems Eng. Inc
-
-pci:v000011A6*
- ID_VENDOR_FROM_DATABASE=Pure Data Ltd.
-
-pci:v000011A7*
- ID_VENDOR_FROM_DATABASE=Power Computing Corp.
-
-pci:v000011A8*
- ID_VENDOR_FROM_DATABASE=Systech Corp.
-
-pci:v000011A9*
- ID_VENDOR_FROM_DATABASE=InnoSys Inc.
-
-pci:v000011A9d00004240*
- ID_PRODUCT_FROM_DATABASE=AMCC S933Q Intelligent Serial Card
-
-pci:v000011AA*
- ID_VENDOR_FROM_DATABASE=Actel
-
-pci:v000011AB*
- ID_VENDOR_FROM_DATABASE=Marvell Technology Group Ltd.
-
-pci:v000011ABd00000146*
- ID_PRODUCT_FROM_DATABASE=GT-64010/64010A System Controller
-
-pci:v000011ABd00000F53*
- ID_PRODUCT_FROM_DATABASE=88E6318 Link Street network controller
-
-pci:v000011ABd000011AB*
- ID_PRODUCT_FROM_DATABASE=MV88SE614x SATA II PCI-E controller
-
-pci:v000011ABd0000138F*
- ID_PRODUCT_FROM_DATABASE=W8300 802.11 Adapter (rev 07)
-
-pci:v000011ABd00001FA6*
- ID_PRODUCT_FROM_DATABASE=Marvell W8300 802.11 Adapter
-
-pci:v000011ABd00001FA6sv00001186sd00003B08*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.A1)
-
-pci:v000011ABd00001FA7*
- ID_PRODUCT_FROM_DATABASE=88W8310 and 88W8000G [Libertas] 802.11g client chipset
-
-pci:v000011ABd00001FAA*
- ID_PRODUCT_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless
-
-pci:v000011ABd00001FAAsv00001385sd00004E00*
- ID_PRODUCT_FROM_DATABASE=WG511v2 54 Mbps Wireless PC Card
-
-pci:v000011ABd00001FAAsv00001385sd00006B00*
- ID_PRODUCT_FROM_DATABASE=WG311v3 802.11g Wireless PCI Adapter
-
-pci:v000011ABd00001FAAsv00001737sd00000040*
- ID_PRODUCT_FROM_DATABASE=WPC54G v5 802.11g Wireless-G Notebook Adapter
-
-pci:v000011ABd00002211*
- ID_PRODUCT_FROM_DATABASE=88SB2211 PCI Express to PCI Bridge
-
-pci:v000011ABd00002A01*
- ID_PRODUCT_FROM_DATABASE=88W8335 [Libertas] 802.11b/g Wireless
-
-pci:v000011ABd00002A02*
- ID_PRODUCT_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless
-
-pci:v000011ABd00002A02sv000007D1sd00003B02*
- ID_PRODUCT_FROM_DATABASE=DIR-615 rev. A1 Mini PCI Wireless Module
-
-pci:v000011ABd00002A02sv00001385sd00007C01*
- ID_PRODUCT_FROM_DATABASE=WN511T RangeMax Next 300 Mbps Wireless Notebook Adapter
-
-pci:v000011ABd00002A02sv00001385sd00007E00*
- ID_PRODUCT_FROM_DATABASE=WN311T RangeMax Next 300 Mbps Wireless PCI Adapter
-
-pci:v000011ABd00002A02sv00001799sd0000801B*
- ID_PRODUCT_FROM_DATABASE=F5D8011 v2 802.11n N1 Wireless Notebook Card
-
-pci:v000011ABd00002A08*
- ID_PRODUCT_FROM_DATABASE=88W8362e [TopDog] 802.11a/b/g/n Wireless
-
-pci:v000011ABd00002A0A*
- ID_PRODUCT_FROM_DATABASE=88W8363 [TopDog] 802.11n Wireless
-
-pci:v000011ABd00002A0C*
- ID_PRODUCT_FROM_DATABASE=88W8363 [TopDog] 802.11n Wireless
-
-pci:v000011ABd00002A24*
- ID_PRODUCT_FROM_DATABASE=88W8363 [TopDog] 802.11n Wireless
-
-pci:v000011ABd00002A2B*
- ID_PRODUCT_FROM_DATABASE=88W8687 [TopDog] 802.11b/g Wireless
-
-pci:v000011ABd00002A30*
- ID_PRODUCT_FROM_DATABASE=88W8687 [TopDog] 802.11b/g Wireless
-
-pci:v000011ABd00002A40*
- ID_PRODUCT_FROM_DATABASE=88W8366 [TopDog] 802.11n Wireless
-
-pci:v000011ABd00002A43*
- ID_PRODUCT_FROM_DATABASE=88W8366 [TopDog] 802.11n Wireless
-
-pci:v000011ABd00004101*
- ID_PRODUCT_FROM_DATABASE=OLPC Cafe Controller Secure Digital Controller
-
-pci:v000011ABd00004320*
- ID_PRODUCT_FROM_DATABASE=88E8001 Gigabit Ethernet Controller
-
-pci:v000011ABd00004320sv00001019sd00000F38*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (ECS)
-
-pci:v000011ABd00004320sv00001019sd00008001*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (ECS)
-
-pci:v000011ABd00004320sv00001043sd0000173C*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Asus)
-
-pci:v000011ABd00004320sv00001043sd0000811A*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Asus)
-
-pci:v000011ABd00004320sv0000105Bsd00000C19*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Foxconn)
-
-pci:v000011ABd00004320sv000010B8sd0000B452*
- ID_PRODUCT_FROM_DATABASE=EZ Card 1000 (SMC9452TXV.2)
-
-pci:v000011ABd00004320sv000011ABsd00000121*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8001
-
-pci:v000011ABd00004320sv000011ABsd00000321*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8003
-
-pci:v000011ABd00004320sv000011ABsd00001021*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8010
-
-pci:v000011ABd00004320sv000011ABsd00004320*
- ID_PRODUCT_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus)
-
-pci:v000011ABd00004320sv000011ABsd00005021*
- ID_PRODUCT_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit)
-
-pci:v000011ABd00004320sv000011ABsd00009521*
- ID_PRODUCT_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit)
-
-pci:v000011ABd00004320sv00001458sd0000E000*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte)
-
-pci:v000011ABd00004320sv0000147Bsd00001406*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Abit)
-
-pci:v000011ABd00004320sv000015D4sd00000047*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Iwill)
-
-pci:v000011ABd00004320sv00001695sd00009025*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Epox)
-
-pci:v000011ABd00004320sv000017F2sd00001C03*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Albatron)
-
-pci:v000011ABd00004320sv0000270Fsd00002803*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Chaintech)
-
-pci:v000011ABd00004340*
- ID_PRODUCT_FROM_DATABASE=88E8021 PCI-X IPMI Gigabit Ethernet Controller
-
-pci:v000011ABd00004341*
- ID_PRODUCT_FROM_DATABASE=88E8022 PCI-X IPMI Gigabit Ethernet Controller
-
-pci:v000011ABd00004342*
- ID_PRODUCT_FROM_DATABASE=88E8061 PCI-E IPMI Gigabit Ethernet Controller
-
-pci:v000011ABd00004343*
- ID_PRODUCT_FROM_DATABASE=88E8062 PCI-E IPMI Gigabit Ethernet Controller
-
-pci:v000011ABd00004344*
- ID_PRODUCT_FROM_DATABASE=88E8021 PCI-X IPMI Gigabit Ethernet Controller
-
-pci:v000011ABd00004345*
- ID_PRODUCT_FROM_DATABASE=88E8022 PCI-X IPMI Gigabit Ethernet Controller
-
-pci:v000011ABd00004346*
- ID_PRODUCT_FROM_DATABASE=88E8061 PCI-E IPMI Gigabit Ethernet Controller
-
-pci:v000011ABd00004347*
- ID_PRODUCT_FROM_DATABASE=88E8062 PCI-E IPMI Gigabit Ethernet Controller
-
-pci:v000011ABd00004347sv00004C53sd000010D0*
- ID_PRODUCT_FROM_DATABASE=Telum ASLP10 PrAMC Gigabit Ethernet
-
-pci:v000011ABd00004350*
- ID_PRODUCT_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller
-
-pci:v000011ABd00004350sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (Toshiba)
-
-pci:v000011ABd00004350sv000011ABsd00003521*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8035
-
-pci:v000011ABd00004350sv00001854sd0000000D*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004350sv00001854sd0000000E*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004350sv00001854sd0000000F*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004350sv00001854sd00000011*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004350sv00001854sd00000012*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004350sv00001854sd00000016*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004350sv00001854sd00000017*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004350sv00001854sd00000018*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004350sv00001854sd00000019*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004350sv00001854sd0000001C*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004350sv00001854sd0000001E*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004350sv00001854sd00000020*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004351*
- ID_PRODUCT_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller
-
-pci:v000011ABd00004351sv0000107Bsd00004009*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Wistron)
-
-pci:v000011ABd00004351sv000010F7sd00008338*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Panasonic)
-
-pci:v000011ABd00004351sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Toshiba)
-
-pci:v000011ABd00004351sv00001179sd0000FF00*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Compal)
-
-pci:v000011ABd00004351sv00001179sd0000FF10*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Inventec)
-
-pci:v000011ABd00004351sv000011ABsd00003621*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8036
-
-pci:v000011ABd00004351sv000013D1sd0000AC12*
- ID_PRODUCT_FROM_DATABASE=Abocom EFE3K - 10/100 Ethernet Expresscard
-
-pci:v000011ABd00004351sv0000161Fsd0000203D*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Arima)
-
-pci:v000011ABd00004351sv00001854sd0000000D*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004351sv00001854sd0000000E*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004351sv00001854sd0000000F*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004351sv00001854sd00000011*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004351sv00001854sd00000012*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004351sv00001854sd00000016*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004351sv00001854sd00000017*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004351sv00001854sd00000018*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004351sv00001854sd00000019*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004351sv00001854sd0000001C*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004351sv00001854sd0000001E*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004351sv00001854sd00000020*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE)
-
-pci:v000011ABd00004352*
- ID_PRODUCT_FROM_DATABASE=88E8038 PCI-E Fast Ethernet Controller
-
-pci:v000011ABd00004353*
- ID_PRODUCT_FROM_DATABASE=88E8039 PCI-E Fast Ethernet Controller
-
-pci:v000011ABd00004353sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v000011ABd00004354*
- ID_PRODUCT_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller
-
-pci:v000011ABd00004354sv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v000011ABd00004355*
- ID_PRODUCT_FROM_DATABASE=88E8040T PCI-E Fast Ethernet Controller
-
-pci:v000011ABd00004355sv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v000011ABd00004356*
- ID_PRODUCT_FROM_DATABASE=88EC033 PCI-E Fast Ethernet Controller
-
-pci:v000011ABd00004357*
- ID_PRODUCT_FROM_DATABASE=88E8042 PCI-E Fast Ethernet Controller
-
-pci:v000011ABd0000435A*
- ID_PRODUCT_FROM_DATABASE=88E8048 PCI-E Fast Ethernet Controller
-
-pci:v000011ABd00004360*
- ID_PRODUCT_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller
-
-pci:v000011ABd00004360sv00001043sd00008134*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Asus)
-
-pci:v000011ABd00004360sv0000107Bsd00004009*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Wistron)
-
-pci:v000011ABd00004360sv000011ABsd00005221*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8052
-
-pci:v000011ABd00004360sv00001458sd0000E000*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte)
-
-pci:v000011ABd00004360sv00001462sd0000052C*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (MSI)
-
-pci:v000011ABd00004360sv00001849sd00008052*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (ASRock)
-
-pci:v000011ABd00004360sv0000A0A0sd00000509*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Aopen)
-
-pci:v000011ABd00004361*
- ID_PRODUCT_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller
-
-pci:v000011ABd00004361sv0000107Bsd00003015*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Gateway)
-
-pci:v000011ABd00004361sv000011ABsd00005021*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Intel)
-
-pci:v000011ABd00004361sv00008086sd00003063*
- ID_PRODUCT_FROM_DATABASE=D925XCVLK mainboard
-
-pci:v000011ABd00004361sv00008086sd00003439*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Intel)
-
-pci:v000011ABd00004362*
- ID_PRODUCT_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller
-
-pci:v000011ABd00004362sv0000103Csd00002A0D*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Asus)
-
-pci:v000011ABd00004362sv00001043sd00008142*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus)
-
-pci:v000011ABd00004362sv0000109Fsd00003197*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Trigem)
-
-pci:v000011ABd00004362sv000010F7sd00008338*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Panasonic)
-
-pci:v000011ABd00004362sv000010FDsd0000A430*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (SOYO)
-
-pci:v000011ABd00004362sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Toshiba)
-
-pci:v000011ABd00004362sv00001179sd0000FF00*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Compal)
-
-pci:v000011ABd00004362sv00001179sd0000FF10*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Inventec)
-
-pci:v000011ABd00004362sv000011ABsd00005321*
- ID_PRODUCT_FROM_DATABASE=Marvell RDK-8053
-
-pci:v000011ABd00004362sv00001297sd0000C240*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)
-
-pci:v000011ABd00004362sv00001297sd0000C241*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)
-
-pci:v000011ABd00004362sv00001297sd0000C242*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)
-
-pci:v000011ABd00004362sv00001297sd0000C243*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)
-
-pci:v000011ABd00004362sv00001297sd0000C244*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)
-
-pci:v000011ABd00004362sv000013D1sd0000AC11*
- ID_PRODUCT_FROM_DATABASE=EGE5K - Giga Ethernet Expresscard
-
-pci:v000011ABd00004362sv00001458sd0000E000*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte)
-
-pci:v000011ABd00004362sv00001462sd0000058C*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (MSI)
-
-pci:v000011ABd00004362sv000014C0sd00000012*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Compal)
-
-pci:v000011ABd00004362sv00001558sd000004A0*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Clevo)
-
-pci:v000011ABd00004362sv000015BDsd00001003*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (DFI)
-
-pci:v000011ABd00004362sv0000161Fsd0000203C*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Arima)
-
-pci:v000011ABd00004362sv0000161Fsd0000203D*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Arima)
-
-pci:v000011ABd00004362sv00001695sd00009029*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Epox)
-
-pci:v000011ABd00004362sv000017F2sd00002C08*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Albatron)
-
-pci:v000011ABd00004362sv000017FFsd00000585*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Quanta)
-
-pci:v000011ABd00004362sv00001849sd00008053*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (ASRock)
-
-pci:v000011ABd00004362sv00001854sd0000000B*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
-
-pci:v000011ABd00004362sv00001854sd0000000C*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
-
-pci:v000011ABd00004362sv00001854sd00000010*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
-
-pci:v000011ABd00004362sv00001854sd00000013*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
-
-pci:v000011ABd00004362sv00001854sd00000014*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
-
-pci:v000011ABd00004362sv00001854sd00000015*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
-
-pci:v000011ABd00004362sv00001854sd0000001A*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
-
-pci:v000011ABd00004362sv00001854sd0000001B*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
-
-pci:v000011ABd00004362sv00001854sd0000001D*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
-
-pci:v000011ABd00004362sv00001854sd0000001F*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
-
-pci:v000011ABd00004362sv00001854sd00000021*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
-
-pci:v000011ABd00004362sv00001854sd00000022*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE)
-
-pci:v000011ABd00004362sv0000270Fsd00002801*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Chaintech)
-
-pci:v000011ABd00004362sv0000A0A0sd00000506*
- ID_PRODUCT_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Aopen)
-
-pci:v000011ABd00004363*
- ID_PRODUCT_FROM_DATABASE=88E8055 PCI-E Gigabit Ethernet Controller
-
-pci:v000011ABd00004364*
- ID_PRODUCT_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller
-
-pci:v000011ABd00004364sv000011BAsd000000BA*
- ID_PRODUCT_FROM_DATABASE=8056 Gigabit Ethernet Controller
-
-pci:v000011ABd00004365*
- ID_PRODUCT_FROM_DATABASE=88E8070 based Ethernet Controller
-
-pci:v000011ABd00004366*
- ID_PRODUCT_FROM_DATABASE=88EC036 PCI-E Gigabit Ethernet Controller
-
-pci:v000011ABd00004367*
- ID_PRODUCT_FROM_DATABASE=88EC032 Ethernet Controller
-
-pci:v000011ABd00004368*
- ID_PRODUCT_FROM_DATABASE=88EC034 Ethernet Controller
-
-pci:v000011ABd00004369*
- ID_PRODUCT_FROM_DATABASE=88EC042 Ethernet Controller
-
-pci:v000011ABd0000436A*
- ID_PRODUCT_FROM_DATABASE=88E8058 PCI-E Gigabit Ethernet Controller
-
-pci:v000011ABd0000436Asv000011ABsd000000BA*
- ID_PRODUCT_FROM_DATABASE=Imac 8,1 Wired Ethernet Adapter
-
-pci:v000011ABd0000436B*
- ID_PRODUCT_FROM_DATABASE=88E8071 PCI-E Gigabit Ethernet Controller
-
-pci:v000011ABd0000436C*
- ID_PRODUCT_FROM_DATABASE=88E8072 PCI-E Gigabit Ethernet Controller
-
-pci:v000011ABd0000436D*
- ID_PRODUCT_FROM_DATABASE=88E8055 PCI-E Gigabit Ethernet Controller
-
-pci:v000011ABd00004370*
- ID_PRODUCT_FROM_DATABASE=88E8075 PCI-E Gigabit Ethernet Controller
-
-pci:v000011ABd00004380*
- ID_PRODUCT_FROM_DATABASE=88E8057 PCI-E Gigabit Ethernet Controller
-
-pci:v000011ABd00004381*
- ID_PRODUCT_FROM_DATABASE=Yukon Optima 88E8059 [PCIe Gigabit Ethernet Controller with AVB]
-
-pci:v000011ABd00004611*
- ID_PRODUCT_FROM_DATABASE=GT-64115 System Controller
-
-pci:v000011ABd00004620*
- ID_PRODUCT_FROM_DATABASE=GT-64120/64120A/64121A System Controller
-
-pci:v000011ABd00004801*
- ID_PRODUCT_FROM_DATABASE=GT-48001
-
-pci:v000011ABd00005005*
- ID_PRODUCT_FROM_DATABASE=Belkin F5D5005 Gigabit Desktop Network PCI Card
-
-pci:v000011ABd00005040*
- ID_PRODUCT_FROM_DATABASE=MV88SX5040 4-port SATA I PCI-X Controller
-
-pci:v000011ABd00005041*
- ID_PRODUCT_FROM_DATABASE=MV88SX5041 4-port SATA I PCI-X Controller
-
-pci:v000011ABd00005080*
- ID_PRODUCT_FROM_DATABASE=MV88SX5080 8-port SATA I PCI-X Controller
-
-pci:v000011ABd00005081*
- ID_PRODUCT_FROM_DATABASE=MV88SX5081 8-port SATA I PCI-X Controller
-
-pci:v000011ABd00005181*
- ID_PRODUCT_FROM_DATABASE=88f5181 [Orion-1] ARM SoC
-
-pci:v000011ABd00005182*
- ID_PRODUCT_FROM_DATABASE=88f5182 [Orion-NAS] ARM SoC
-
-pci:v000011ABd00005281*
- ID_PRODUCT_FROM_DATABASE=88f5281 [Orion-2] ARM SoC
-
-pci:v000011ABd00006041*
- ID_PRODUCT_FROM_DATABASE=MV88SX6041 4-port SATA II PCI-X Controller
-
-pci:v000011ABd00006042*
- ID_PRODUCT_FROM_DATABASE=88SX6042 PCI-X 4-Port SATA-II
-
-pci:v000011ABd00006081*
- ID_PRODUCT_FROM_DATABASE=MV88SX6081 8-port SATA II PCI-X Controller
-
-pci:v000011ABd00006101*
- ID_PRODUCT_FROM_DATABASE=88SE6101/6102 single-port PATA133 interface
-
-pci:v000011ABd00006111*
- ID_PRODUCT_FROM_DATABASE=88SE6111 1-port PATA133(IDE) and 1-port SATA II Controllers
-
-pci:v000011ABd00006121*
- ID_PRODUCT_FROM_DATABASE=88SE6121 SATA II / PATA Controller
-
-pci:v000011ABd00006141*
- ID_PRODUCT_FROM_DATABASE=88SE614x SATA II PCI-E controller
-
-pci:v000011ABd00006145*
- ID_PRODUCT_FROM_DATABASE=88SE6145 SATA II PCI-E controller
-
-pci:v000011ABd00006180*
- ID_PRODUCT_FROM_DATABASE=88F6180 [Kirkwood] ARM SoC
-
-pci:v000011ABd00006192*
- ID_PRODUCT_FROM_DATABASE=88F6190/6192 [Kirkwood] ARM SoC
-
-pci:v000011ABd00006281*
- ID_PRODUCT_FROM_DATABASE=88F6281 [Kirkwood] ARM SoC
-
-pci:v000011ABd00006381*
- ID_PRODUCT_FROM_DATABASE=MV78xx0 [Discovery Innovation] ARM SoC
-
-pci:v000011ABd00006440*
- ID_PRODUCT_FROM_DATABASE=88SE6440 SAS/SATA PCIe controller
-
-pci:v000011ABd00006450*
- ID_PRODUCT_FROM_DATABASE=64560 System Controller
-
-pci:v000011ABd00006460*
- ID_PRODUCT_FROM_DATABASE=MV64360/64361/64362 System Controller
-
-pci:v000011ABd00006480*
- ID_PRODUCT_FROM_DATABASE=MV64460/64461/64462 System Controller
-
-pci:v000011ABd00006480sv00001775sd0000C200*
- ID_PRODUCT_FROM_DATABASE=C2K CompactPCI single board computer
-
-pci:v000011ABd00006485*
- ID_PRODUCT_FROM_DATABASE=MV64460/64461/64462 System Controller, Revision B
-
-pci:v000011ABd00007042*
- ID_PRODUCT_FROM_DATABASE=88SX7042 PCI-e 4-port SATA-II
-
-pci:v000011ABd00007042sv000016B8sd0000434B*
- ID_PRODUCT_FROM_DATABASE=Tempo SATA E4P
-
-pci:v000011ABd00007810*
- ID_PRODUCT_FROM_DATABASE=MV78100 [Discovery Innovation] ARM SoC
-
-pci:v000011ABd00007820*
- ID_PRODUCT_FROM_DATABASE=MV78200 [Discovery Innovation] ARM SoC
-
-pci:v000011ABd0000F003*
- ID_PRODUCT_FROM_DATABASE=GT-64010 Primary Image Piranha Image Generator
-
-pci:v000011AC*
- ID_VENDOR_FROM_DATABASE=Canon Information Systems Research Aust.
-
-pci:v000011AD*
- ID_VENDOR_FROM_DATABASE=Lite-On Communications Inc
-
-pci:v000011ADd00000002*
- ID_PRODUCT_FROM_DATABASE=LNE100TX
-
-pci:v000011ADd00000002sv000011ADsd00000002*
- ID_PRODUCT_FROM_DATABASE=LNE100TX
-
-pci:v000011ADd00000002sv000011ADsd00000003*
- ID_PRODUCT_FROM_DATABASE=LNE100TX
-
-pci:v000011ADd00000002sv000011ADsd0000F003*
- ID_PRODUCT_FROM_DATABASE=LNE100TX
-
-pci:v000011ADd00000002sv000011ADsd0000FFFF*
- ID_PRODUCT_FROM_DATABASE=LNE100TX
-
-pci:v000011ADd00000002sv00001385sd0000F004*
- ID_PRODUCT_FROM_DATABASE=FA310TX
-
-pci:v000011ADd00000002sv00002646sd0000F002*
- ID_PRODUCT_FROM_DATABASE=KNE110TX EtheRx Fast Ethernet
-
-pci:v000011ADd0000C115*
- ID_PRODUCT_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100]
-
-pci:v000011ADd0000C115sv000011ADsd0000C001*
- ID_PRODUCT_FROM_DATABASE=LNE100TX [ver 2.0]
-
-pci:v000011ADd0000C115sv00002646sd0000000B*
- ID_PRODUCT_FROM_DATABASE=KNE111TX
-
-pci:v000011AE*
- ID_VENDOR_FROM_DATABASE=Aztech System Ltd
-
-pci:v000011AF*
- ID_VENDOR_FROM_DATABASE=Avid Technology Inc.
-
-pci:v000011AFd00000001*
- ID_PRODUCT_FROM_DATABASE=Cinema
-
-pci:v000011AFd0000EE40*
- ID_PRODUCT_FROM_DATABASE=Digidesign Audiomedia III
-
-pci:v000011B0*
- ID_VENDOR_FROM_DATABASE=V3 Semiconductor Inc.
-
-pci:v000011B0d00000002*
- ID_PRODUCT_FROM_DATABASE=V300PSC
-
-pci:v000011B0d00000292*
- ID_PRODUCT_FROM_DATABASE=V292PBC [Am29030/40 Bridge]
-
-pci:v000011B0d00000960*
- ID_PRODUCT_FROM_DATABASE=V96xPBC
-
-pci:v000011B0d0000C960*
- ID_PRODUCT_FROM_DATABASE=V96DPC
-
-pci:v000011B1*
- ID_VENDOR_FROM_DATABASE=Apricot Computers
-
-pci:v000011B2*
- ID_VENDOR_FROM_DATABASE=Eastman Kodak
-
-pci:v000011B3*
- ID_VENDOR_FROM_DATABASE=Barr Systems Inc.
-
-pci:v000011B4*
- ID_VENDOR_FROM_DATABASE=Leitch Technology International
-
-pci:v000011B5*
- ID_VENDOR_FROM_DATABASE=Radstone Technology Plc
-
-pci:v000011B6*
- ID_VENDOR_FROM_DATABASE=United Video Corp
-
-pci:v000011B7*
- ID_VENDOR_FROM_DATABASE=Motorola
-
-pci:v000011B8*
- ID_VENDOR_FROM_DATABASE=XPoint Technologies, Inc
-
-pci:v000011B8d00000001*
- ID_PRODUCT_FROM_DATABASE=Quad PeerMaster
-
-pci:v000011B9*
- ID_VENDOR_FROM_DATABASE=Pathlight Technology Inc.
-
-pci:v000011B9d0000C0ED*
- ID_PRODUCT_FROM_DATABASE=SSA Controller
-
-pci:v000011BA*
- ID_VENDOR_FROM_DATABASE=Videotron Corp
-
-pci:v000011BB*
- ID_VENDOR_FROM_DATABASE=Pyramid Technology
-
-pci:v000011BC*
- ID_VENDOR_FROM_DATABASE=Network Peripherals Inc
-
-pci:v000011BCd00000001*
- ID_PRODUCT_FROM_DATABASE=NP-PCI
-
-pci:v000011BD*
- ID_VENDOR_FROM_DATABASE=Pinnacle Systems Inc.
-
-pci:v000011BDd0000002E*
- ID_PRODUCT_FROM_DATABASE=PCTV 40i
-
-pci:v000011BDd00000040*
- ID_PRODUCT_FROM_DATABASE=Royal TS Function 1
-
-pci:v000011BDd00000040sv000011BDsd00000044*
- ID_PRODUCT_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Tuner 1
-
-pci:v000011BDd00000040sv000011BDsd00000045*
- ID_PRODUCT_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Tuner 1
-
-pci:v000011BDd00000041*
- ID_PRODUCT_FROM_DATABASE=RoyalTS Function 2
-
-pci:v000011BDd00000041sv000011BDsd00000044*
- ID_PRODUCT_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Tuner 2
-
-pci:v000011BDd00000041sv000011BDsd00000045*
- ID_PRODUCT_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Tuner 2
-
-pci:v000011BDd00000042*
- ID_PRODUCT_FROM_DATABASE=Royal TS Function 3
-
-pci:v000011BDd00000042sv000011BDsd00000044*
- ID_PRODUCT_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Common
-
-pci:v000011BDd00000042sv000011BDsd00000045*
- ID_PRODUCT_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Common
-
-pci:v000011BDd00000051*
- ID_PRODUCT_FROM_DATABASE=PCTV HD 800i
-
-pci:v000011BDd0000BEDE*
- ID_PRODUCT_FROM_DATABASE=AV/DV Studio Capture Card
-
-pci:v000011BE*
- ID_VENDOR_FROM_DATABASE=International Microcircuits Inc
-
-pci:v000011BF*
- ID_VENDOR_FROM_DATABASE=Astrodesign, Inc.
-
-pci:v000011C0*
- ID_VENDOR_FROM_DATABASE=Hewlett Packard
-
-pci:v000011C1*
- ID_VENDOR_FROM_DATABASE=LSI Corporation
-
-pci:v000011C1d00000440*
- ID_PRODUCT_FROM_DATABASE=56k WinModem
-
-pci:v000011C1d00000440sv00001033sd00008015*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
-
-pci:v000011C1d00000440sv00001033sd00008047*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
-
-pci:v000011C1d00000440sv00001033sd0000804F*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
-
-pci:v000011C1d00000440sv000010CFsd0000102C*
- ID_PRODUCT_FROM_DATABASE=LB LT Modem V.90 56k
-
-pci:v000011C1d00000440sv000010CFsd0000104A*
- ID_PRODUCT_FROM_DATABASE=BIBLO LT Modem 56k
-
-pci:v000011C1d00000440sv000010CFsd0000105F*
- ID_PRODUCT_FROM_DATABASE=LB2 LT Modem V.90 56k
-
-pci:v000011C1d00000440sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Internal V.90 Modem
-
-pci:v000011C1d00000440sv000011C1sd00000440*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
-
-pci:v000011C1d00000440sv0000122Dsd00004101*
- ID_PRODUCT_FROM_DATABASE=MDP7800-U Modem
-
-pci:v000011C1d00000440sv0000122Dsd00004102*
- ID_PRODUCT_FROM_DATABASE=MDP7800SP-U Modem
-
-pci:v000011C1d00000440sv000013E0sd00000040*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
-
-pci:v000011C1d00000440sv000013E0sd00000440*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
-
-pci:v000011C1d00000440sv000013E0sd00000441*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
-
-pci:v000011C1d00000440sv000013E0sd00000450*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
-
-pci:v000011C1d00000440sv000013E0sd0000F100*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
-
-pci:v000011C1d00000440sv000013E0sd0000F101*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
-
-pci:v000011C1d00000440sv0000144Dsd00002101*
- ID_PRODUCT_FROM_DATABASE=LT56PV Modem
-
-pci:v000011C1d00000440sv0000149Fsd00000440*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
-
-pci:v000011C1d00000441*
- ID_PRODUCT_FROM_DATABASE=56k WinModem
-
-pci:v000011C1d00000441sv00001033sd0000804D*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax
-
-pci:v000011C1d00000441sv00001033sd00008065*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax
-
-pci:v000011C1d00000441sv00001092sd00000440*
- ID_PRODUCT_FROM_DATABASE=Supra 56i
-
-pci:v000011C1d00000441sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Internal V.90 Modem
-
-pci:v000011C1d00000441sv000011C1sd00000440*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax
-
-pci:v000011C1d00000441sv000011C1sd00000441*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax
-
-pci:v000011C1d00000441sv0000122Dsd00004100*
- ID_PRODUCT_FROM_DATABASE=MDP7800-U Modem
-
-pci:v000011C1d00000441sv000013E0sd00000040*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax
-
-pci:v000011C1d00000441sv000013E0sd00000100*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax
-
-pci:v000011C1d00000441sv000013E0sd00000410*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax
-
-pci:v000011C1d00000441sv000013E0sd00000420*
- ID_PRODUCT_FROM_DATABASE=TelePath Internet 56k WinModem
-
-pci:v000011C1d00000441sv000013E0sd00000440*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax
-
-pci:v000011C1d00000441sv000013E0sd00000443*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax
-
-pci:v000011C1d00000441sv000013E0sd0000F102*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax
-
-pci:v000011C1d00000441sv00001416sd00009804*
- ID_PRODUCT_FROM_DATABASE=CommWave 56k Modem
-
-pci:v000011C1d00000441sv0000141Dsd00000440*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax
-
-pci:v000011C1d00000441sv0000144Fsd00000441*
- ID_PRODUCT_FROM_DATABASE=Lucent 56k V.90 DF Modem
-
-pci:v000011C1d00000441sv0000144Fsd00000449*
- ID_PRODUCT_FROM_DATABASE=Lucent 56k V.90 DF Modem
-
-pci:v000011C1d00000441sv0000144Fsd0000110D*
- ID_PRODUCT_FROM_DATABASE=Lucent Win Modem
-
-pci:v000011C1d00000441sv00001468sd00000441*
- ID_PRODUCT_FROM_DATABASE=Presario 56k V.90 DF Modem
-
-pci:v000011C1d00000441sv00001668sd00000440*
- ID_PRODUCT_FROM_DATABASE=Lucent Win Modem
-
-pci:v000011C1d00000442*
- ID_PRODUCT_FROM_DATABASE=56k WinModem
-
-pci:v000011C1d00000442sv000011C1sd00000440*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
-
-pci:v000011C1d00000442sv000011C1sd00000442*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
-
-pci:v000011C1d00000442sv000013E0sd00000412*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
-
-pci:v000011C1d00000442sv000013E0sd00000442*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
-
-pci:v000011C1d00000442sv000013FCsd00002471*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
-
-pci:v000011C1d00000442sv0000144Dsd00002104*
- ID_PRODUCT_FROM_DATABASE=LT56PT Modem
-
-pci:v000011C1d00000442sv0000144Fsd00001104*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
-
-pci:v000011C1d00000442sv0000149Fsd00000440*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
-
-pci:v000011C1d00000442sv00001668sd00000440*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
-
-pci:v000011C1d00000443*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000444*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000445*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000445sv00008086sd00002203*
- ID_PRODUCT_FROM_DATABASE=PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card)
-
-pci:v000011C1d00000445sv00008086sd00002204*
- ID_PRODUCT_FROM_DATABASE=PRO/100+ MiniPCI on Armada E500
-
-pci:v000011C1d00000446*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000447*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000448*
- ID_PRODUCT_FROM_DATABASE=WinModem 56k
-
-pci:v000011C1d00000448sv00001014sd00000131*
- ID_PRODUCT_FROM_DATABASE=Lucent Win Modem
-
-pci:v000011C1d00000448sv00001033sd00008066*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
-
-pci:v000011C1d00000448sv000013E0sd00000030*
- ID_PRODUCT_FROM_DATABASE=56k Voice Modem
-
-pci:v000011C1d00000448sv000013E0sd00000040*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd
-
-pci:v000011C1d00000448sv00001668sd00002400*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k (MiniPCI Ethernet+Modem)
-
-pci:v000011C1d00000449*
- ID_PRODUCT_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k
-
-pci:v000011C1d00000449sv00000E11sd0000B14D*
- ID_PRODUCT_FROM_DATABASE=56k V.90 Modem
-
-pci:v000011C1d00000449sv00001014sd0000018C*
- ID_PRODUCT_FROM_DATABASE=ThinkPad 600X
-
-pci:v000011C1d00000449sv000013E0sd00000020*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax
-
-pci:v000011C1d00000449sv000013E0sd00000041*
- ID_PRODUCT_FROM_DATABASE=TelePath Internet 56k WinModem
-
-pci:v000011C1d00000449sv00001436sd00000440*
- ID_PRODUCT_FROM_DATABASE=Lucent Win Modem
-
-pci:v000011C1d00000449sv0000144Fsd00000449*
- ID_PRODUCT_FROM_DATABASE=Lucent 56k V.90 DFi Modem
-
-pci:v000011C1d00000449sv00001468sd00000410*
- ID_PRODUCT_FROM_DATABASE=IBM ThinkPad T23
-
-pci:v000011C1d00000449sv00001468sd00000440*
- ID_PRODUCT_FROM_DATABASE=Lucent Win Modem
-
-pci:v000011C1d00000449sv00001468sd00000449*
- ID_PRODUCT_FROM_DATABASE=Presario 56k V.90 DFi Modem
-
-pci:v000011C1d0000044A*
- ID_PRODUCT_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex)
-
-pci:v000011C1d0000044Asv000010CFsd00001072*
- ID_PRODUCT_FROM_DATABASE=LB Global LT Modem
-
-pci:v000011C1d0000044Asv000013E0sd00000012*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
-
-pci:v000011C1d0000044Asv000013E0sd00000042*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
-
-pci:v000011C1d0000044Asv0000144Fsd00001005*
- ID_PRODUCT_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd
-
-pci:v000011C1d0000044B*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d0000044C*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d0000044D*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d0000044E*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d0000044F*
- ID_PRODUCT_FROM_DATABASE=V90 WildWire Modem
-
-pci:v000011C1d00000450*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000450sv00001033sd000080A8*
- ID_PRODUCT_FROM_DATABASE=Versa Note Vxi
-
-pci:v000011C1d00000450sv0000144Fsd00004005*
- ID_PRODUCT_FROM_DATABASE=Magnia SG20
-
-pci:v000011C1d00000450sv00001468sd00000450*
- ID_PRODUCT_FROM_DATABASE=Evo N600c
-
-pci:v000011C1d00000451*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000452*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000453*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000454*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000455*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000456*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000457*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000458*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000459*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d0000045A*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d0000045C*
- ID_PRODUCT_FROM_DATABASE=LT WinModem
-
-pci:v000011C1d00000461*
- ID_PRODUCT_FROM_DATABASE=V90 WildWire Modem
-
-pci:v000011C1d00000462*
- ID_PRODUCT_FROM_DATABASE=V90 WildWire Modem
-
-pci:v000011C1d00000480*
- ID_PRODUCT_FROM_DATABASE=Venus Modem (V90, 56KFlex)
-
-pci:v000011C1d0000048C*
- ID_PRODUCT_FROM_DATABASE=V.92 56K WinModem
-
-pci:v000011C1d0000048F*
- ID_PRODUCT_FROM_DATABASE=V.92 56k WinModem
-
-pci:v000011C1d00000620*
- ID_PRODUCT_FROM_DATABASE=Lucent V.92 Data/Fax Modem
-
-pci:v000011C1d00001040*
- ID_PRODUCT_FROM_DATABASE=HDA softmodem
-
-pci:v000011C1d00002600*
- ID_PRODUCT_FROM_DATABASE=StarPro26XX family (SP2601, SP2603, SP2612) DSP
-
-pci:v000011C1d00003026*
- ID_PRODUCT_FROM_DATABASE=HDA Modem
-
-pci:v000011C1d00005400*
- ID_PRODUCT_FROM_DATABASE=OR3TP12 FPSC
-
-pci:v000011C1d00005656*
- ID_PRODUCT_FROM_DATABASE=Venus Modem
-
-pci:v000011C1d00005801*
- ID_PRODUCT_FROM_DATABASE=USB
-
-pci:v000011C1d00005802*
- ID_PRODUCT_FROM_DATABASE=USS-312 USB Controller
-
-pci:v000011C1d00005803*
- ID_PRODUCT_FROM_DATABASE=USS-344S USB Controller
-
-pci:v000011C1d00005811*
- ID_PRODUCT_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller
-
-pci:v000011C1d00005811sv0000103Csd00002A34*
- ID_PRODUCT_FROM_DATABASE=Pavilion a1677c
-
-pci:v000011C1d00005811sv0000103Csd00002A9E*
- ID_PRODUCT_FROM_DATABASE=Pavilion p6310f
-
-pci:v000011C1d00005811sv00001043sd00008294*
- ID_PRODUCT_FROM_DATABASE=LSI FW322/323 IEEE 1394a FireWire Controller
-
-pci:v000011C1d00005811sv00008086sd0000524C*
- ID_PRODUCT_FROM_DATABASE=D865PERL mainboard
-
-pci:v000011C1d00005811sv0000DEADsd00000800*
- ID_PRODUCT_FROM_DATABASE=FireWire Host Bus Adapter
-
-pci:v000011C1d00005901*
- ID_PRODUCT_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller
-
-pci:v000011C1d00005901sv000011C1sd00005900*
- ID_PRODUCT_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller
-
-pci:v000011C1d00005901sv00001443sd00000643*
- ID_PRODUCT_FROM_DATABASE=FireBoard800-e V.2
-
-pci:v000011C1d00005901sv00001546sd00000643*
- ID_PRODUCT_FROM_DATABASE=FWB-PCIE1X2x
-
-pci:v000011C1d00005903*
- ID_PRODUCT_FROM_DATABASE=FW533 [TrueFire] PCIe 1394a Controller
-
-pci:v000011C1d00008110*
- ID_PRODUCT_FROM_DATABASE=T8110 H.100/H.110 TDM switch
-
-pci:v000011C1d00008110sv000012D9sd0000000C*
- ID_PRODUCT_FROM_DATABASE=E1/T1 PMXc cPCI carrier card
-
-pci:v000011C1d0000AB10*
- ID_PRODUCT_FROM_DATABASE=WL60010 Wireless LAN MAC
-
-pci:v000011C1d0000AB11*
- ID_PRODUCT_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC
-
-pci:v000011C1d0000AB11sv000011C1sd0000AB12*
- ID_PRODUCT_FROM_DATABASE=WaveLAN 11abg Cardbus card (Model 1102)
-
-pci:v000011C1d0000AB11sv000011C1sd0000AB13*
- ID_PRODUCT_FROM_DATABASE=WaveLAN 11abg MiniPCI card (Model 0512)
-
-pci:v000011C1d0000AB11sv000011C1sd0000AB15*
- ID_PRODUCT_FROM_DATABASE=WaveLAN 11abg Cardbus card (Model 1106)
-
-pci:v000011C1d0000AB11sv000011C1sd0000AB16*
- ID_PRODUCT_FROM_DATABASE=WaveLAN 11abg MiniPCI card (Model 0516)
-
-pci:v000011C1d0000AB20*
- ID_PRODUCT_FROM_DATABASE=ORiNOCO PCI Adapter
-
-pci:v000011C1d0000AB21*
- ID_PRODUCT_FROM_DATABASE=Agere Wireless PCI Adapter
-
-pci:v000011C1d0000AB30*
- ID_PRODUCT_FROM_DATABASE=Hermes2 Mini-PCI WaveLAN a/b/g
-
-pci:v000011C1d0000AB30sv000014CDsd00002012*
- ID_PRODUCT_FROM_DATABASE=Hermes2 Mini-PCI WaveLAN a/b/g
-
-pci:v000011C1d0000ED00*
- ID_PRODUCT_FROM_DATABASE=ET-131x PCI-E Ethernet Controller
-
-pci:v000011C1d0000ED01*
- ID_PRODUCT_FROM_DATABASE=ET-131x PCI-E Ethernet Controller
-
-pci:v000011C2*
- ID_VENDOR_FROM_DATABASE=Sand Microelectronics
-
-pci:v000011C3*
- ID_VENDOR_FROM_DATABASE=NEC Corporation
-
-pci:v000011C4*
- ID_VENDOR_FROM_DATABASE=Document Technologies, Inc
-
-pci:v000011C5*
- ID_VENDOR_FROM_DATABASE=Shiva Corporation
-
-pci:v000011C6*
- ID_VENDOR_FROM_DATABASE=Dainippon Screen Mfg. Co. Ltd
-
-pci:v000011C7*
- ID_VENDOR_FROM_DATABASE=D.C.M. Data Systems
-
-pci:v000011C8*
- ID_VENDOR_FROM_DATABASE=Dolphin Interconnect Solutions AS
-
-pci:v000011C8d00000658*
- ID_PRODUCT_FROM_DATABASE=PSB32 SCI-Adapter D31x
-
-pci:v000011C8d0000D665*
- ID_PRODUCT_FROM_DATABASE=PSB64 SCI-Adapter D32x
-
-pci:v000011C8d0000D667*
- ID_PRODUCT_FROM_DATABASE=PSB66 SCI-Adapter D33x
-
-pci:v000011C9*
- ID_VENDOR_FROM_DATABASE=Magma
-
-pci:v000011C9d00000010*
- ID_PRODUCT_FROM_DATABASE=16-line serial port w/- DMA
-
-pci:v000011C9d00000011*
- ID_PRODUCT_FROM_DATABASE=4-line serial port w/- DMA
-
-pci:v000011CA*
- ID_VENDOR_FROM_DATABASE=LSI Systems, Inc
-
-pci:v000011CB*
- ID_VENDOR_FROM_DATABASE=Specialix Research Ltd.
-
-pci:v000011CBd00002000*
- ID_PRODUCT_FROM_DATABASE=PCI_9050
-
-pci:v000011CBd00002000sv000011CBsd00000200*
- ID_PRODUCT_FROM_DATABASE=SX
-
-pci:v000011CBd00002000sv000011CBsd0000B008*
- ID_PRODUCT_FROM_DATABASE=I/O8+
-
-pci:v000011CBd00004000*
- ID_PRODUCT_FROM_DATABASE=SUPI_1
-
-pci:v000011CBd00008000*
- ID_PRODUCT_FROM_DATABASE=T225
-
-pci:v000011CC*
- ID_VENDOR_FROM_DATABASE=Michels & Kleberhoff Computer GmbH
-
-pci:v000011CD*
- ID_VENDOR_FROM_DATABASE=HAL Computer Systems, Inc.
-
-pci:v000011CE*
- ID_VENDOR_FROM_DATABASE=Netaccess
-
-pci:v000011CF*
- ID_VENDOR_FROM_DATABASE=Pioneer Electronic Corporation
-
-pci:v000011D0*
- ID_VENDOR_FROM_DATABASE=Lockheed Martin Federal Systems-Manassas
-
-pci:v000011D1*
- ID_VENDOR_FROM_DATABASE=Auravision
-
-pci:v000011D1d000001F7*
- ID_PRODUCT_FROM_DATABASE=VxP524
-
-pci:v000011D1d000001F9*
- ID_PRODUCT_FROM_DATABASE=VxP951
-
-pci:v000011D2*
- ID_VENDOR_FROM_DATABASE=Intercom Inc.
-
-pci:v000011D3*
- ID_VENDOR_FROM_DATABASE=Trancell Systems Inc
-
-pci:v000011D4*
- ID_VENDOR_FROM_DATABASE=Analog Devices
-
-pci:v000011D4d00000078*
- ID_PRODUCT_FROM_DATABASE=AD1986HD sound chip
-
-pci:v000011D4d00001535*
- ID_PRODUCT_FROM_DATABASE=Blackfin BF535 processor
-
-pci:v000011D4d00001805*
- ID_PRODUCT_FROM_DATABASE=SM56 PCI modem
-
-pci:v000011D4d00001889*
- ID_PRODUCT_FROM_DATABASE=AD1889 sound chip
-
-pci:v000011D4d0000194A*
- ID_PRODUCT_FROM_DATABASE=AD1984A sound chip
-
-pci:v000011D4d00001981*
- ID_PRODUCT_FROM_DATABASE=AD1981HD sound chip
-
-pci:v000011D4d00001983*
- ID_PRODUCT_FROM_DATABASE=AD1983HD sound chip
-
-pci:v000011D4d00001984*
- ID_PRODUCT_FROM_DATABASE=AD1984HD sound chip
-
-pci:v000011D4d00001984sv000017AAsd000020BB*
- ID_PRODUCT_FROM_DATABASE=T61p Notebook
-
-pci:v000011D4d00001986*
- ID_PRODUCT_FROM_DATABASE=AD1986A sound chip
-
-pci:v000011D4d00001986sv000011D4sd00001986*
- ID_PRODUCT_FROM_DATABASE=Lenovo N100 B9G
-
-pci:v000011D4d0000198B*
- ID_PRODUCT_FROM_DATABASE=AD1988B Sound Chip
-
-pci:v000011D4d00005340*
- ID_PRODUCT_FROM_DATABASE=AD1881 sound chip
-
-pci:v000011D5*
- ID_VENDOR_FROM_DATABASE=Ikon Corporation
-
-pci:v000011D5d00000115*
- ID_PRODUCT_FROM_DATABASE=10115
-
-pci:v000011D5d00000117*
- ID_PRODUCT_FROM_DATABASE=10117
-
-pci:v000011D6*
- ID_VENDOR_FROM_DATABASE=Tekelec Telecom
-
-pci:v000011D7*
- ID_VENDOR_FROM_DATABASE=Trenton Technology, Inc.
-
-pci:v000011D8*
- ID_VENDOR_FROM_DATABASE=Image Technologies Development
-
-pci:v000011D9*
- ID_VENDOR_FROM_DATABASE=TEC Corporation
-
-pci:v000011DA*
- ID_VENDOR_FROM_DATABASE=Novell
-
-pci:v000011DB*
- ID_VENDOR_FROM_DATABASE=Sega Enterprises Ltd
-
-pci:v000011DC*
- ID_VENDOR_FROM_DATABASE=Questra Corporation
-
-pci:v000011DD*
- ID_VENDOR_FROM_DATABASE=Crosfield Electronics Limited
-
-pci:v000011DE*
- ID_VENDOR_FROM_DATABASE=Zoran Corporation
-
-pci:v000011DEd00006017*
- ID_PRODUCT_FROM_DATABASE=miroVIDEO DC30
-
-pci:v000011DEd00006057*
- ID_PRODUCT_FROM_DATABASE=ZR36057PQC Video cutting chipset
-
-pci:v000011DEd00006057sv00001031sd00007EFE*
- ID_PRODUCT_FROM_DATABASE=DC10 Plus
-
-pci:v000011DEd00006057sv00001031sd0000FC00*
- ID_PRODUCT_FROM_DATABASE=MiroVIDEO DC50, Motion JPEG Capture/CODEC Board
-
-pci:v000011DEd00006057sv000012F8sd00008A02*
- ID_PRODUCT_FROM_DATABASE=Tekram Video Kit
-
-pci:v000011DEd00006057sv000013CAsd00004231*
- ID_PRODUCT_FROM_DATABASE=JPEG/TV Card
-
-pci:v000011DEd00006120*
- ID_PRODUCT_FROM_DATABASE=ZR36120
-
-pci:v000011DEd00006120sv00001328sd0000F001*
- ID_PRODUCT_FROM_DATABASE=Cinemaster C DVD Decoder
-
-pci:v000011DEd00006120sv000013C2sd00000000*
- ID_PRODUCT_FROM_DATABASE=MediaFocus Satellite TV Card
-
-pci:v000011DEd00006120sv00001DE1sd00009FFF*
- ID_PRODUCT_FROM_DATABASE=Video Kit C210
-
-pci:v000011DF*
- ID_VENDOR_FROM_DATABASE=New Wave PDG
-
-pci:v000011E0*
- ID_VENDOR_FROM_DATABASE=Cray Communications A/S
-
-pci:v000011E1*
- ID_VENDOR_FROM_DATABASE=GEC Plessey Semi Inc.
-
-pci:v000011E2*
- ID_VENDOR_FROM_DATABASE=Samsung Information Systems America
-
-pci:v000011E3*
- ID_VENDOR_FROM_DATABASE=Quicklogic Corporation
-
-pci:v000011E3d00000001*
- ID_PRODUCT_FROM_DATABASE=COM-ON-AIR Dosch&Amand DECT
-
-pci:v000011E3d00000560*
- ID_PRODUCT_FROM_DATABASE=QL5064 Companion Design Demo Board
-
-pci:v000011E3d00005030*
- ID_PRODUCT_FROM_DATABASE=PC Watchdog
-
-pci:v000011E3d00008417*
- ID_PRODUCT_FROM_DATABASE=QL5064 [QuickPCI] PCI v2.2 bridge for SMT417 Dual TMS320C6416T PMC Module
-
-pci:v000011E4*
- ID_VENDOR_FROM_DATABASE=Second Wave Inc
-
-pci:v000011E5*
- ID_VENDOR_FROM_DATABASE=IIX Consulting
-
-pci:v000011E6*
- ID_VENDOR_FROM_DATABASE=Mitsui-Zosen System Research
-
-pci:v000011E7*
- ID_VENDOR_FROM_DATABASE=Toshiba America, Elec. Company
-
-pci:v000011E8*
- ID_VENDOR_FROM_DATABASE=Digital Processing Systems Inc.
-
-pci:v000011E9*
- ID_VENDOR_FROM_DATABASE=Highwater Designs Ltd.
-
-pci:v000011EA*
- ID_VENDOR_FROM_DATABASE=Elsag Bailey
-
-pci:v000011EB*
- ID_VENDOR_FROM_DATABASE=Formation Inc.
-
-pci:v000011EC*
- ID_VENDOR_FROM_DATABASE=Coreco Inc
-
-pci:v000011ECd0000000D*
- ID_PRODUCT_FROM_DATABASE=Oculus-F/64P
-
-pci:v000011ECd00001800*
- ID_PRODUCT_FROM_DATABASE=Cobra/C6
-
-pci:v000011ED*
- ID_VENDOR_FROM_DATABASE=Mediamatics
-
-pci:v000011EE*
- ID_VENDOR_FROM_DATABASE=Dome Imaging Systems Inc
-
-pci:v000011EF*
- ID_VENDOR_FROM_DATABASE=Nicolet Technologies B.V.
-
-pci:v000011F0*
- ID_VENDOR_FROM_DATABASE=Compu-Shack
-
-pci:v000011F0d00004231*
- ID_PRODUCT_FROM_DATABASE=FDDI
-
-pci:v000011F0d00004232*
- ID_PRODUCT_FROM_DATABASE=FASTline UTP Quattro
-
-pci:v000011F0d00004233*
- ID_PRODUCT_FROM_DATABASE=FASTline FO
-
-pci:v000011F0d00004234*
- ID_PRODUCT_FROM_DATABASE=FASTline UTP
-
-pci:v000011F0d00004235*
- ID_PRODUCT_FROM_DATABASE=FASTline-II UTP
-
-pci:v000011F0d00004236*
- ID_PRODUCT_FROM_DATABASE=FASTline-II FO
-
-pci:v000011F0d00004731*
- ID_PRODUCT_FROM_DATABASE=GIGAline
-
-pci:v000011F1*
- ID_VENDOR_FROM_DATABASE=Symbios Logic Inc
-
-pci:v000011F2*
- ID_VENDOR_FROM_DATABASE=Picture Tel Japan K.K.
-
-pci:v000011F3*
- ID_VENDOR_FROM_DATABASE=Keithley Metrabyte
-
-pci:v000011F3d00000011*
- ID_PRODUCT_FROM_DATABASE=KPCI-PIO24
-
-pci:v000011F4*
- ID_VENDOR_FROM_DATABASE=Kinetic Systems Corporation
-
-pci:v000011F4d00002915*
- ID_PRODUCT_FROM_DATABASE=CAMAC controller
-
-pci:v000011F5*
- ID_VENDOR_FROM_DATABASE=Computing Devices International
-
-pci:v000011F6*
- ID_VENDOR_FROM_DATABASE=Compex
-
-pci:v000011F6d00000112*
- ID_PRODUCT_FROM_DATABASE=ENet100VG4
-
-pci:v000011F6d00000113*
- ID_PRODUCT_FROM_DATABASE=FreedomLine 100
-
-pci:v000011F6d00001401*
- ID_PRODUCT_FROM_DATABASE=ReadyLink 2000
-
-pci:v000011F6d00002011*
- ID_PRODUCT_FROM_DATABASE=RL100-ATX 10/100
-
-pci:v000011F6d00002011sv000011F6sd00002011*
- ID_PRODUCT_FROM_DATABASE=RL100-ATX
-
-pci:v000011F6d00002201*
- ID_PRODUCT_FROM_DATABASE=ReadyLink 100TX (Winbond W89C840)
-
-pci:v000011F6d00002201sv000011F6sd00002011*
- ID_PRODUCT_FROM_DATABASE=ReadyLink 100TX
-
-pci:v000011F6d00009881*
- ID_PRODUCT_FROM_DATABASE=RL100TX Fast Ethernet
-
-pci:v000011F7*
- ID_VENDOR_FROM_DATABASE=Scientific Atlanta
-
-pci:v000011F8*
- ID_VENDOR_FROM_DATABASE=PMC-Sierra Inc.
-
-pci:v000011F8d00005220*
- ID_PRODUCT_FROM_DATABASE=BR522x [PMC-Sierra maxRAID SAS Controller]
-
-pci:v000011F8d00007364*
- ID_PRODUCT_FROM_DATABASE=PM7364 [FREEDM - 32 Frame Engine & Datalink Mgr]
-
-pci:v000011F8d00007375*
- ID_PRODUCT_FROM_DATABASE=PM7375 [LASAR-155 ATM SAR]
-
-pci:v000011F8d00007384*
- ID_PRODUCT_FROM_DATABASE=PM7384 [FREEDM - 84P672 Frm Engine & Datalink Mgr]
-
-pci:v000011F8d00008000*
- ID_PRODUCT_FROM_DATABASE=PM8000 [SPC - SAS Protocol Controller]
-
-pci:v000011F9*
- ID_VENDOR_FROM_DATABASE=I-Cube Inc
-
-pci:v000011FA*
- ID_VENDOR_FROM_DATABASE=Kasan Electronics Company, Ltd.
-
-pci:v000011FB*
- ID_VENDOR_FROM_DATABASE=Datel Inc
-
-pci:v000011FC*
- ID_VENDOR_FROM_DATABASE=Silicon Magic
-
-pci:v000011FD*
- ID_VENDOR_FROM_DATABASE=High Street Consultants
-
-pci:v000011FE*
- ID_VENDOR_FROM_DATABASE=Comtrol Corporation
-
-pci:v000011FEd00000001*
- ID_PRODUCT_FROM_DATABASE=RocketPort 32 port w/external I/F
-
-pci:v000011FEd00000002*
- ID_PRODUCT_FROM_DATABASE=RocketPort 8 port w/external I/F
-
-pci:v000011FEd00000003*
- ID_PRODUCT_FROM_DATABASE=RocketPort 16 port w/external I/F
-
-pci:v000011FEd00000004*
- ID_PRODUCT_FROM_DATABASE=RocketPort 4 port w/quad cable
-
-pci:v000011FEd00000005*
- ID_PRODUCT_FROM_DATABASE=RocketPort 8 port w/octa cable
-
-pci:v000011FEd00000006*
- ID_PRODUCT_FROM_DATABASE=RocketPort 8 port w/RJ11 connectors
-
-pci:v000011FEd00000007*
- ID_PRODUCT_FROM_DATABASE=RocketPort 4 port w/RJ11 connectors
-
-pci:v000011FEd00000008*
- ID_PRODUCT_FROM_DATABASE=RocketPort 8 port w/ DB78 SNI (Siemens) connector
-
-pci:v000011FEd00000009*
- ID_PRODUCT_FROM_DATABASE=RocketPort 16 port w/ DB78 SNI (Siemens) connector
-
-pci:v000011FEd0000000A*
- ID_PRODUCT_FROM_DATABASE=RocketPort Plus 4 port
-
-pci:v000011FEd0000000B*
- ID_PRODUCT_FROM_DATABASE=RocketPort Plus 8 port
-
-pci:v000011FEd0000000C*
- ID_PRODUCT_FROM_DATABASE=RocketModem 6 port
-
-pci:v000011FEd0000000D*
- ID_PRODUCT_FROM_DATABASE=RocketModem 4-port
-
-pci:v000011FEd0000000E*
- ID_PRODUCT_FROM_DATABASE=RocketPort Plus 2 port RS232
-
-pci:v000011FEd0000000F*
- ID_PRODUCT_FROM_DATABASE=RocketPort Plus 2 port RS422
-
-pci:v000011FEd00000040*
- ID_PRODUCT_FROM_DATABASE=RocketPort Infinity Octa, 8port, RJ45
-
-pci:v000011FEd00000041*
- ID_PRODUCT_FROM_DATABASE=RocketPort Infinity 32port, External Interface
-
-pci:v000011FEd00000042*
- ID_PRODUCT_FROM_DATABASE=RocketPort Infinity 8port, External Interface
-
-pci:v000011FEd00000043*
- ID_PRODUCT_FROM_DATABASE=RocketPort Infinity 16port, External Interface
-
-pci:v000011FEd00000044*
- ID_PRODUCT_FROM_DATABASE=RocketPort Infinity Quad, 4port, DB
-
-pci:v000011FEd00000045*
- ID_PRODUCT_FROM_DATABASE=RocketPort Infinity Octa, 8port, DB
-
-pci:v000011FEd00000047*
- ID_PRODUCT_FROM_DATABASE=RocketPort Infinity 4port, RJ45
-
-pci:v000011FEd0000004F*
- ID_PRODUCT_FROM_DATABASE=RocketPort Infinity 2port, SMPTE
-
-pci:v000011FEd00000052*
- ID_PRODUCT_FROM_DATABASE=RocketPort Infinity Octa, 8port, SMPTE
-
-pci:v000011FEd00000801*
- ID_PRODUCT_FROM_DATABASE=RocketPort UPCI 32 port w/external I/F
-
-pci:v000011FEd00000802*
- ID_PRODUCT_FROM_DATABASE=RocketPort UPCI 8 port w/external I/F
-
-pci:v000011FEd00000803*
- ID_PRODUCT_FROM_DATABASE=RocketPort UPCI 16 port w/external I/F
-
-pci:v000011FEd00000805*
- ID_PRODUCT_FROM_DATABASE=RocketPort UPCI 8 port w/octa cable
-
-pci:v000011FEd0000080C*
- ID_PRODUCT_FROM_DATABASE=RocketModem III 8 port
-
-pci:v000011FEd0000080D*
- ID_PRODUCT_FROM_DATABASE=RocketModem III 4 port
-
-pci:v000011FEd00000810*
- ID_PRODUCT_FROM_DATABASE=RocketPort UPCI Plus 4 port RS232
-
-pci:v000011FEd00000811*
- ID_PRODUCT_FROM_DATABASE=RocketPort UPCI Plus 8 port RS232
-
-pci:v000011FEd00000812*
- ID_PRODUCT_FROM_DATABASE=RocketPort UPCI Plus 8 port RS422
-
-pci:v000011FEd00000903*
- ID_PRODUCT_FROM_DATABASE=RocketPort Compact PCI 16 port w/external I/F
-
-pci:v000011FEd00008015*
- ID_PRODUCT_FROM_DATABASE=RocketPort 4-port UART 16954
-
-pci:v000011FF*
- ID_VENDOR_FROM_DATABASE=Scion Corporation
-
-pci:v000011FFd00000003*
- ID_PRODUCT_FROM_DATABASE=AG-5
-
-pci:v00001200*
- ID_VENDOR_FROM_DATABASE=CSS Corporation
-
-pci:v00001201*
- ID_VENDOR_FROM_DATABASE=Vista Controls Corp
-
-pci:v00001202*
- ID_VENDOR_FROM_DATABASE=Network General Corp.
-
-pci:v00001202d00004300*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet Adapter
-
-pci:v00001202d00004300sv00001202sd00009841*
- ID_PRODUCT_FROM_DATABASE=SK-9841 LX
-
-pci:v00001202d00004300sv00001202sd00009842*
- ID_PRODUCT_FROM_DATABASE=SK-9841 LX dual link
-
-pci:v00001202d00004300sv00001202sd00009843*
- ID_PRODUCT_FROM_DATABASE=SK-9843 SX
-
-pci:v00001202d00004300sv00001202sd00009844*
- ID_PRODUCT_FROM_DATABASE=SK-9843 SX dual link
-
-pci:v00001203*
- ID_VENDOR_FROM_DATABASE=Bayer Corporation, Agfa Division
-
-pci:v00001204*
- ID_VENDOR_FROM_DATABASE=Lattice Semiconductor Corporation
-
-pci:v00001205*
- ID_VENDOR_FROM_DATABASE=Array Corporation
-
-pci:v00001206*
- ID_VENDOR_FROM_DATABASE=Amdahl Corporation
-
-pci:v00001208*
- ID_VENDOR_FROM_DATABASE=Parsytec GmbH
-
-pci:v00001208d00004853*
- ID_PRODUCT_FROM_DATABASE=HS-Link Device
-
-pci:v00001209*
- ID_VENDOR_FROM_DATABASE=SCI Systems Inc
-
-pci:v0000120A*
- ID_VENDOR_FROM_DATABASE=Synaptel
-
-pci:v0000120B*
- ID_VENDOR_FROM_DATABASE=Adaptive Solutions
-
-pci:v0000120C*
- ID_VENDOR_FROM_DATABASE=Technical Corp.
-
-pci:v0000120D*
- ID_VENDOR_FROM_DATABASE=Compression Labs, Inc.
-
-pci:v0000120E*
- ID_VENDOR_FROM_DATABASE=Cyclades Corporation
-
-pci:v0000120Ed00000100*
- ID_PRODUCT_FROM_DATABASE=Cyclom-Y below first megabyte
-
-pci:v0000120Ed00000101*
- ID_PRODUCT_FROM_DATABASE=Cyclom-Y above first megabyte
-
-pci:v0000120Ed00000102*
- ID_PRODUCT_FROM_DATABASE=Cyclom-4Y below first megabyte
-
-pci:v0000120Ed00000103*
- ID_PRODUCT_FROM_DATABASE=Cyclom-4Y above first megabyte
-
-pci:v0000120Ed00000104*
- ID_PRODUCT_FROM_DATABASE=Cyclom-8Y below first megabyte
-
-pci:v0000120Ed00000105*
- ID_PRODUCT_FROM_DATABASE=Cyclom-8Y above first megabyte
-
-pci:v0000120Ed00000200*
- ID_PRODUCT_FROM_DATABASE=Cyclades-Z below first megabyte
-
-pci:v0000120Ed00000201*
- ID_PRODUCT_FROM_DATABASE=Cyclades-Z above first megabyte
-
-pci:v0000120Ed00000300*
- ID_PRODUCT_FROM_DATABASE=PC300/RSV or /X21 (2 ports)
-
-pci:v0000120Ed00000301*
- ID_PRODUCT_FROM_DATABASE=PC300/RSV or /X21 (1 port)
-
-pci:v0000120Ed00000310*
- ID_PRODUCT_FROM_DATABASE=PC300/TE (2 ports)
-
-pci:v0000120Ed00000311*
- ID_PRODUCT_FROM_DATABASE=PC300/TE (1 port)
-
-pci:v0000120Ed00000320*
- ID_PRODUCT_FROM_DATABASE=PC300/TE-M (2 ports)
-
-pci:v0000120Ed00000321*
- ID_PRODUCT_FROM_DATABASE=PC300/TE-M (1 port)
-
-pci:v0000120Ed00000400*
- ID_PRODUCT_FROM_DATABASE=PC400
-
-pci:v0000120F*
- ID_VENDOR_FROM_DATABASE=Essential Communications
-
-pci:v0000120Fd00000001*
- ID_PRODUCT_FROM_DATABASE=Roadrunner serial HIPPI
-
-pci:v00001210*
- ID_VENDOR_FROM_DATABASE=Hyperparallel Technologies
-
-pci:v00001211*
- ID_VENDOR_FROM_DATABASE=Braintech Inc
-
-pci:v00001212*
- ID_VENDOR_FROM_DATABASE=Kingston Technology Corp.
-
-pci:v00001213*
- ID_VENDOR_FROM_DATABASE=Applied Intelligent Systems, Inc.
-
-pci:v00001214*
- ID_VENDOR_FROM_DATABASE=Performance Technologies, Inc.
-
-pci:v00001215*
- ID_VENDOR_FROM_DATABASE=Interware Co., Ltd
-
-pci:v00001216*
- ID_VENDOR_FROM_DATABASE=Purup Prepress A/S
-
-pci:v00001217*
- ID_VENDOR_FROM_DATABASE=O2 Micro, Inc.
-
-pci:v00001217d000000F7*
- ID_PRODUCT_FROM_DATABASE=Firewire (IEEE 1394)
-
-pci:v00001217d000000F7sv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001217d000010F7*
- ID_PRODUCT_FROM_DATABASE=1394 OHCI Compliant Host Controller
-
-pci:v00001217d000011F7*
- ID_PRODUCT_FROM_DATABASE=OZ600 1394a-2000 Controller
-
-pci:v00001217d000013F7*
- ID_PRODUCT_FROM_DATABASE=1394 OHCI Compliant Host Controller
-
-pci:v00001217d00006729*
- ID_PRODUCT_FROM_DATABASE=OZ6729
-
-pci:v00001217d0000673A*
- ID_PRODUCT_FROM_DATABASE=OZ6730
-
-pci:v00001217d00006832*
- ID_PRODUCT_FROM_DATABASE=OZ6832/6833 CardBus Controller
-
-pci:v00001217d00006836*
- ID_PRODUCT_FROM_DATABASE=OZ6836/6860 CardBus Controller
-
-pci:v00001217d00006872*
- ID_PRODUCT_FROM_DATABASE=OZ6812 CardBus Controller
-
-pci:v00001217d00006925*
- ID_PRODUCT_FROM_DATABASE=OZ6922 CardBus Controller
-
-pci:v00001217d00006933*
- ID_PRODUCT_FROM_DATABASE=OZ6933/711E1 CardBus/SmartCardBus Controller
-
-pci:v00001217d00006933sv00001025sd00001016*
- ID_PRODUCT_FROM_DATABASE=Travelmate 612 TX
-
-pci:v00001217d00006972*
- ID_PRODUCT_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller
-
-pci:v00001217d00006972sv00001014sd0000020C*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R30
-
-pci:v00001217d00006972sv00001028sd00000152*
- ID_PRODUCT_FROM_DATABASE=Latitude D500
-
-pci:v00001217d00006972sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Magnia Z310
-
-pci:v00001217d00007110*
- ID_PRODUCT_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator
-
-pci:v00001217d00007110sv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v00001217d00007110sv0000103Csd00000890*
- ID_PRODUCT_FROM_DATABASE=NC6000 laptop
-
-pci:v00001217d00007110sv00001734sd0000106C*
- ID_PRODUCT_FROM_DATABASE=Amilo A1645
-
-pci:v00001217d00007112*
- ID_PRODUCT_FROM_DATABASE=OZ711EC1/M1 SmartCardBus/MemoryCardBus Controller
-
-pci:v00001217d00007113*
- ID_PRODUCT_FROM_DATABASE=OZ711EC1 SmartCardBus Controller
-
-pci:v00001217d00007113sv00001025sd00000035*
- ID_PRODUCT_FROM_DATABASE=TravelMate 660
-
-pci:v00001217d00007114*
- ID_PRODUCT_FROM_DATABASE=OZ711M1/MC1 4-in-1 MemoryCardBus Controller
-
-pci:v00001217d00007120*
- ID_PRODUCT_FROM_DATABASE=Integrated MMC/SD Controller
-
-pci:v00001217d00007120sv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001217d00007130*
- ID_PRODUCT_FROM_DATABASE=Integrated MS/xD Controller
-
-pci:v00001217d00007130sv00001179sd0000FF50*
- ID_PRODUCT_FROM_DATABASE=Satellite P305D-S8995E
-
-pci:v00001217d00007134*
- ID_PRODUCT_FROM_DATABASE=OZ711MP1/MS1 MemoryCardBus Controller
-
-pci:v00001217d00007135*
- ID_PRODUCT_FROM_DATABASE=Cardbus bridge
-
-pci:v00001217d00007136*
- ID_PRODUCT_FROM_DATABASE=OZ711SP1 Memory CardBus Controller
-
-pci:v00001217d000071E2*
- ID_PRODUCT_FROM_DATABASE=OZ711E2 SmartCardBus Controller
-
-pci:v00001217d00007212*
- ID_PRODUCT_FROM_DATABASE=OZ711M2 4-in-1 MemoryCardBus Controller
-
-pci:v00001217d00007213*
- ID_PRODUCT_FROM_DATABASE=OZ6933E CardBus Controller
-
-pci:v00001217d00007223*
- ID_PRODUCT_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller
-
-pci:v00001217d00007223sv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v00001217d00007223sv0000103Csd00000890*
- ID_PRODUCT_FROM_DATABASE=NC6000 laptop
-
-pci:v00001217d00007223sv000010CFsd000011C4*
- ID_PRODUCT_FROM_DATABASE=Lifebook P5020D Laptop
-
-pci:v00001217d00007233*
- ID_PRODUCT_FROM_DATABASE=OZ711MP3/MS3 4-in-1 MemoryCardBus Controller
-
-pci:v00001217d00008120*
- ID_PRODUCT_FROM_DATABASE=Integrated MMC/SD Controller
-
-pci:v00001217d00008130*
- ID_PRODUCT_FROM_DATABASE=Integrated MS/MSPRO/xD Controller
-
-pci:v00001217d00008321*
- ID_PRODUCT_FROM_DATABASE=Integrated MMC/SD controller
-
-pci:v00001217d00008331*
- ID_PRODUCT_FROM_DATABASE=O2 Flash Memory Card
-
-pci:v00001218*
- ID_VENDOR_FROM_DATABASE=Hybricon Corp.
-
-pci:v00001219*
- ID_VENDOR_FROM_DATABASE=First Virtual Corporation
-
-pci:v0000121A*
- ID_VENDOR_FROM_DATABASE=3Dfx Interactive, Inc.
-
-pci:v0000121Ad00000001*
- ID_PRODUCT_FROM_DATABASE=Voodoo
-
-pci:v0000121Ad00000002*
- ID_PRODUCT_FROM_DATABASE=Voodoo 2
-
-pci:v0000121Ad00000003*
- ID_PRODUCT_FROM_DATABASE=Voodoo Banshee
-
-pci:v0000121Ad00000003sv00001092sd00000003*
- ID_PRODUCT_FROM_DATABASE=Monster Fusion
-
-pci:v0000121Ad00000003sv00001092sd00004000*
- ID_PRODUCT_FROM_DATABASE=Monster Fusion
-
-pci:v0000121Ad00000003sv00001092sd00004002*
- ID_PRODUCT_FROM_DATABASE=Monster Fusion
-
-pci:v0000121Ad00000003sv00001092sd00004801*
- ID_PRODUCT_FROM_DATABASE=Monster Fusion AGP
-
-pci:v0000121Ad00000003sv00001092sd00004803*
- ID_PRODUCT_FROM_DATABASE=Monster Fusion AGP
-
-pci:v0000121Ad00000003sv00001092sd00008030*
- ID_PRODUCT_FROM_DATABASE=Monster Fusion
-
-pci:v0000121Ad00000003sv00001092sd00008035*
- ID_PRODUCT_FROM_DATABASE=Monster Fusion AGP
-
-pci:v0000121Ad00000003sv000010B0sd00000001*
- ID_PRODUCT_FROM_DATABASE=Dragon 4000
-
-pci:v0000121Ad00000003sv00001102sd00001017*
- ID_PRODUCT_FROM_DATABASE=3D Blaster Banshee PCI (CT6760)
-
-pci:v0000121Ad00000003sv00001102sd00001018*
- ID_PRODUCT_FROM_DATABASE=3D Blaster Banshee VE
-
-pci:v0000121Ad00000003sv0000121Asd00000001*
- ID_PRODUCT_FROM_DATABASE=Voodoo Banshee AGP
-
-pci:v0000121Ad00000003sv0000121Asd00000003*
- ID_PRODUCT_FROM_DATABASE=Voodoo Banshee AGP SGRAM
-
-pci:v0000121Ad00000003sv0000121Asd00000004*
- ID_PRODUCT_FROM_DATABASE=Voodoo Banshee
-
-pci:v0000121Ad00000003sv0000139Csd00000016*
- ID_PRODUCT_FROM_DATABASE=Raven
-
-pci:v0000121Ad00000003sv0000139Csd00000017*
- ID_PRODUCT_FROM_DATABASE=Raven
-
-pci:v0000121Ad00000003sv000014AFsd00000002*
- ID_PRODUCT_FROM_DATABASE=Maxi Gamer Phoenix
-
-pci:v0000121Ad00000004*
- ID_PRODUCT_FROM_DATABASE=Voodoo Banshee [Velocity 100]
-
-pci:v0000121Ad00000005*
- ID_PRODUCT_FROM_DATABASE=Voodoo 3
-
-pci:v0000121Ad00000005sv0000121Asd00000004*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 AGP
-
-pci:v0000121Ad00000005sv0000121Asd00000030*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 AGP
-
-pci:v0000121Ad00000005sv0000121Asd00000031*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 AGP
-
-pci:v0000121Ad00000005sv0000121Asd00000034*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 AGP
-
-pci:v0000121Ad00000005sv0000121Asd00000036*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 2000 PCI
-
-pci:v0000121Ad00000005sv0000121Asd00000037*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 AGP
-
-pci:v0000121Ad00000005sv0000121Asd00000038*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 AGP
-
-pci:v0000121Ad00000005sv0000121Asd0000003A*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 AGP
-
-pci:v0000121Ad00000005sv0000121Asd00000044*
- ID_PRODUCT_FROM_DATABASE=Voodoo3
-
-pci:v0000121Ad00000005sv0000121Asd0000004B*
- ID_PRODUCT_FROM_DATABASE=Velocity 100
-
-pci:v0000121Ad00000005sv0000121Asd0000004C*
- ID_PRODUCT_FROM_DATABASE=Velocity 200
-
-pci:v0000121Ad00000005sv0000121Asd0000004D*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 AGP
-
-pci:v0000121Ad00000005sv0000121Asd0000004E*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 AGP
-
-pci:v0000121Ad00000005sv0000121Asd00000051*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 AGP
-
-pci:v0000121Ad00000005sv0000121Asd00000052*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 AGP
-
-pci:v0000121Ad00000005sv0000121Asd00000057*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 3000 PCI
-
-pci:v0000121Ad00000005sv0000121Asd00000060*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 3500 TV (NTSC)
-
-pci:v0000121Ad00000005sv0000121Asd00000061*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 3500 TV (PAL)
-
-pci:v0000121Ad00000005sv0000121Asd00000062*
- ID_PRODUCT_FROM_DATABASE=Voodoo3 3500 TV (SECAM)
-
-pci:v0000121Ad00000009*
- ID_PRODUCT_FROM_DATABASE=Voodoo 4 / Voodoo 5
-
-pci:v0000121Ad00000009sv0000121Asd00000003*
- ID_PRODUCT_FROM_DATABASE=Voodoo5 PCI 5500
-
-pci:v0000121Ad00000009sv0000121Asd00000009*
- ID_PRODUCT_FROM_DATABASE=Voodoo5 AGP 5500/6000
-
-pci:v0000121Ad00000057*
- ID_PRODUCT_FROM_DATABASE=Voodoo 3/3000 [Avenger]
-
-pci:v0000121B*
- ID_VENDOR_FROM_DATABASE=Advanced Telecommunications Modules
-
-pci:v0000121C*
- ID_VENDOR_FROM_DATABASE=Nippon Texaco., Ltd
-
-pci:v0000121D*
- ID_VENDOR_FROM_DATABASE=LiPPERT ADLINK Technology GmbH
-
-pci:v0000121E*
- ID_VENDOR_FROM_DATABASE=CSPI
-
-pci:v0000121Ed00000201*
- ID_PRODUCT_FROM_DATABASE=Myrinet 2000 Scalable Cluster Interconnect
-
-pci:v0000121F*
- ID_VENDOR_FROM_DATABASE=Arcus Technology, Inc.
-
-pci:v00001220*
- ID_VENDOR_FROM_DATABASE=Ariel Corporation
-
-pci:v00001220d00001220*
- ID_PRODUCT_FROM_DATABASE=AMCC 5933 TMS320C80 DSP/Imaging board
-
-pci:v00001221*
- ID_VENDOR_FROM_DATABASE=Contec Co., Ltd
-
-pci:v00001221d00009172*
- ID_PRODUCT_FROM_DATABASE=PO-64L(PCI)H [Isolated Digital Output Board for PCI]
-
-pci:v00001221d000091A2*
- ID_PRODUCT_FROM_DATABASE=PO-32L(PCI)H [Isolated Digital Output Board for PCI]
-
-pci:v00001221d000091C3*
- ID_PRODUCT_FROM_DATABASE=DA16-16(LPCI)L [Un-insulated highly precise analog output board for Low Profile PCI]
-
-pci:v00001221d0000B152*
- ID_PRODUCT_FROM_DATABASE=DIO-96D2-LPCI
-
-pci:v00001221d0000C103*
- ID_PRODUCT_FROM_DATABASE=ADA16-32/2(PCI)F [High-Speed Analog I/O Board for PCI]
-
-pci:v00001222*
- ID_VENDOR_FROM_DATABASE=Ancor Communications, Inc.
-
-pci:v00001223*
- ID_VENDOR_FROM_DATABASE=Artesyn Communication Products
-
-pci:v00001223d00000003*
- ID_PRODUCT_FROM_DATABASE=PM/Link
-
-pci:v00001223d00000004*
- ID_PRODUCT_FROM_DATABASE=PM/T1
-
-pci:v00001223d00000005*
- ID_PRODUCT_FROM_DATABASE=PM/E1
-
-pci:v00001223d00000008*
- ID_PRODUCT_FROM_DATABASE=PM/SLS
-
-pci:v00001223d00000009*
- ID_PRODUCT_FROM_DATABASE=BajaSpan Resource Target
-
-pci:v00001223d0000000A*
- ID_PRODUCT_FROM_DATABASE=BajaSpan Section 0
-
-pci:v00001223d0000000B*
- ID_PRODUCT_FROM_DATABASE=BajaSpan Section 1
-
-pci:v00001223d0000000C*
- ID_PRODUCT_FROM_DATABASE=BajaSpan Section 2
-
-pci:v00001223d0000000D*
- ID_PRODUCT_FROM_DATABASE=BajaSpan Section 3
-
-pci:v00001223d0000000E*
- ID_PRODUCT_FROM_DATABASE=PM/PPC
-
-pci:v00001224*
- ID_VENDOR_FROM_DATABASE=Interactive Images
-
-pci:v00001225*
- ID_VENDOR_FROM_DATABASE=Power I/O, Inc.
-
-pci:v00001227*
- ID_VENDOR_FROM_DATABASE=Tech-Source
-
-pci:v00001227d00000006*
- ID_PRODUCT_FROM_DATABASE=Raptor GFX 8P
-
-pci:v00001227d00000023*
- ID_PRODUCT_FROM_DATABASE=Raptor GFX [1100T]
-
-pci:v00001227d00000045*
- ID_PRODUCT_FROM_DATABASE=Raptor 4000-L [Linux version]
-
-pci:v00001227d0000004A*
- ID_PRODUCT_FROM_DATABASE=Raptor 4000-LR-L [Linux version]
-
-pci:v00001228*
- ID_VENDOR_FROM_DATABASE=Norsk Elektro Optikk A/S
-
-pci:v00001229*
- ID_VENDOR_FROM_DATABASE=Data Kinesis Inc.
-
-pci:v0000122A*
- ID_VENDOR_FROM_DATABASE=Integrated Telecom
-
-pci:v0000122B*
- ID_VENDOR_FROM_DATABASE=LG Industrial Systems Co., Ltd
-
-pci:v0000122C*
- ID_VENDOR_FROM_DATABASE=Sican GmbH
-
-pci:v0000122D*
- ID_VENDOR_FROM_DATABASE=Aztech System Ltd
-
-pci:v0000122Dd00001206*
- ID_PRODUCT_FROM_DATABASE=368DSP
-
-pci:v0000122Dd00001400*
- ID_PRODUCT_FROM_DATABASE=Trident PCI288-Q3DII (NX)
-
-pci:v0000122Dd000050DC*
- ID_PRODUCT_FROM_DATABASE=3328 Audio
-
-pci:v0000122Dd000050DCsv0000122Dsd00000001*
- ID_PRODUCT_FROM_DATABASE=3328 Audio
-
-pci:v0000122Dd000080DA*
- ID_PRODUCT_FROM_DATABASE=3328 Audio
-
-pci:v0000122Dd000080DAsv0000122Dsd00000001*
- ID_PRODUCT_FROM_DATABASE=3328 Audio
-
-pci:v0000122E*
- ID_VENDOR_FROM_DATABASE=Xyratex
-
-pci:v0000122Ed00007722*
- ID_PRODUCT_FROM_DATABASE=Napatech XL1
-
-pci:v0000122Ed00007724*
- ID_PRODUCT_FROM_DATABASE=Napatech XL2/XA
-
-pci:v0000122Ed00007729*
- ID_PRODUCT_FROM_DATABASE=Napatech XD
-
-pci:v0000122F*
- ID_VENDOR_FROM_DATABASE=Andrew Corporation
-
-pci:v00001230*
- ID_VENDOR_FROM_DATABASE=Fishcamp Engineering
-
-pci:v00001231*
- ID_VENDOR_FROM_DATABASE=Woodward McCoach, Inc.
-
-pci:v00001231d000004E1*
- ID_PRODUCT_FROM_DATABASE=Desktop PCI Telephony 4
-
-pci:v00001231d000005E1*
- ID_PRODUCT_FROM_DATABASE=Desktop PCI Telephony 5/6
-
-pci:v00001231d00000D00*
- ID_PRODUCT_FROM_DATABASE=LightParser
-
-pci:v00001231d00000D02*
- ID_PRODUCT_FROM_DATABASE=LightParser 2
-
-pci:v00001231d00000D13*
- ID_PRODUCT_FROM_DATABASE=Desktop PCI L1/L3 Telephony
-
-pci:v00001232*
- ID_VENDOR_FROM_DATABASE=GPT Limited
-
-pci:v00001233*
- ID_VENDOR_FROM_DATABASE=Bus-Tech, Inc.
-
-pci:v00001235*
- ID_VENDOR_FROM_DATABASE=Risq Modular Systems, Inc.
-
-pci:v00001236*
- ID_VENDOR_FROM_DATABASE=Sigma Designs Corporation
-
-pci:v00001236d00000000*
- ID_PRODUCT_FROM_DATABASE=RealMagic64/GX
-
-pci:v00001236d00006401*
- ID_PRODUCT_FROM_DATABASE=REALmagic 64/GX (SD 6425)
-
-pci:v00001237*
- ID_VENDOR_FROM_DATABASE=Alta Technology Corporation
-
-pci:v00001238*
- ID_VENDOR_FROM_DATABASE=Adtran
-
-pci:v00001239*
- ID_VENDOR_FROM_DATABASE=3DO Company
-
-pci:v0000123A*
- ID_VENDOR_FROM_DATABASE=Visicom Laboratories, Inc.
-
-pci:v0000123B*
- ID_VENDOR_FROM_DATABASE=Seeq Technology, Inc.
-
-pci:v0000123C*
- ID_VENDOR_FROM_DATABASE=Century Systems, Inc.
-
-pci:v0000123D*
- ID_VENDOR_FROM_DATABASE=Engineering Design Team, Inc.
-
-pci:v0000123Dd00000000*
- ID_PRODUCT_FROM_DATABASE=EasyConnect 8/32
-
-pci:v0000123Dd00000002*
- ID_PRODUCT_FROM_DATABASE=EasyConnect 8/64
-
-pci:v0000123Dd00000003*
- ID_PRODUCT_FROM_DATABASE=EasyIO
-
-pci:v0000123E*
- ID_VENDOR_FROM_DATABASE=Simutech, Inc.
-
-pci:v0000123F*
- ID_VENDOR_FROM_DATABASE=C-Cube Microsystems
-
-pci:v0000123Fd000000E4*
- ID_PRODUCT_FROM_DATABASE=MPEG
-
-pci:v0000123Fd00008120*
- ID_PRODUCT_FROM_DATABASE=E4?
-
-pci:v0000123Fd00008120sv000011BDsd00000006*
- ID_PRODUCT_FROM_DATABASE=DV500 E4
-
-pci:v0000123Fd00008120sv000011BDsd0000000A*
- ID_PRODUCT_FROM_DATABASE=DV500 E4
-
-pci:v0000123Fd00008120sv000011BDsd0000000F*
- ID_PRODUCT_FROM_DATABASE=DV500 E4
-
-pci:v0000123Fd00008120sv00001809sd00000016*
- ID_PRODUCT_FROM_DATABASE=Emuzed MAUI-III PCI PVR FM TV
-
-pci:v0000123Fd00008888*
- ID_PRODUCT_FROM_DATABASE=Cinemaster C 3.0 DVD Decoder
-
-pci:v0000123Fd00008888sv00001002sd00000001*
- ID_PRODUCT_FROM_DATABASE=Cinemaster C 3.0 DVD Decoder
-
-pci:v0000123Fd00008888sv00001002sd00000002*
- ID_PRODUCT_FROM_DATABASE=Cinemaster C 3.0 DVD Decoder
-
-pci:v0000123Fd00008888sv00001328sd00000001*
- ID_PRODUCT_FROM_DATABASE=Cinemaster C 3.0 DVD Decoder
-
-pci:v00001240*
- ID_VENDOR_FROM_DATABASE=Marathon Technologies Corp.
-
-pci:v00001241*
- ID_VENDOR_FROM_DATABASE=DSC Communications
-
-pci:v00001242*
- ID_VENDOR_FROM_DATABASE=JNI Corporation
-
-pci:v00001242d00001560*
- ID_PRODUCT_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller
-
-pci:v00001242d00001560sv00001242sd00006562*
- ID_PRODUCT_FROM_DATABASE=FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter
-
-pci:v00001242d00001560sv00001242sd0000656A*
- ID_PRODUCT_FROM_DATABASE=FCX-6562 PCI-X Fibre Channel Adapter
-
-pci:v00001242d00004643*
- ID_PRODUCT_FROM_DATABASE=FCI-1063 Fibre Channel Adapter
-
-pci:v00001242d00006562*
- ID_PRODUCT_FROM_DATABASE=FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter
-
-pci:v00001242d0000656A*
- ID_PRODUCT_FROM_DATABASE=FCX-6562 PCI-X Fibre Channel Adapter
-
-pci:v00001243*
- ID_VENDOR_FROM_DATABASE=Delphax
-
-pci:v00001244*
- ID_VENDOR_FROM_DATABASE=AVM GmbH
-
-pci:v00001244d00000700*
- ID_PRODUCT_FROM_DATABASE=B1 ISDN
-
-pci:v00001244d00000800*
- ID_PRODUCT_FROM_DATABASE=C4 ISDN
-
-pci:v00001244d00000A00*
- ID_PRODUCT_FROM_DATABASE=A1 ISDN [Fritz]
-
-pci:v00001244d00000A00sv00001244sd00000A00*
- ID_PRODUCT_FROM_DATABASE=FRITZ!Card ISDN Controller
-
-pci:v00001244d00000E00*
- ID_PRODUCT_FROM_DATABASE=Fritz!PCI v2.0 ISDN
-
-pci:v00001244d00001100*
- ID_PRODUCT_FROM_DATABASE=C2 ISDN
-
-pci:v00001244d00001200*
- ID_PRODUCT_FROM_DATABASE=T1 ISDN
-
-pci:v00001244d00002700*
- ID_PRODUCT_FROM_DATABASE=Fritz!Card DSL SL
-
-pci:v00001244d00002900*
- ID_PRODUCT_FROM_DATABASE=Fritz!Card DSL v2.0
-
-pci:v00001245*
- ID_VENDOR_FROM_DATABASE=A.P.D., S.A.
-
-pci:v00001246*
- ID_VENDOR_FROM_DATABASE=Dipix Technologies, Inc.
-
-pci:v00001247*
- ID_VENDOR_FROM_DATABASE=Xylon Research, Inc.
-
-pci:v00001248*
- ID_VENDOR_FROM_DATABASE=Central Data Corporation
-
-pci:v00001249*
- ID_VENDOR_FROM_DATABASE=Samsung Electronics Co., Ltd.
-
-pci:v0000124A*
- ID_VENDOR_FROM_DATABASE=AEG Electrocom GmbH
-
-pci:v0000124B*
- ID_VENDOR_FROM_DATABASE=SBS/Greenspring Modular I/O
-
-pci:v0000124Bd00000040*
- ID_PRODUCT_FROM_DATABASE=PCI-40A or cPCI-200 Quad IndustryPack carrier
-
-pci:v0000124Bd00000040sv0000124Bsd00009080*
- ID_PRODUCT_FROM_DATABASE=PCI9080 Bridge
-
-pci:v0000124C*
- ID_VENDOR_FROM_DATABASE=Solitron Technologies, Inc.
-
-pci:v0000124D*
- ID_VENDOR_FROM_DATABASE=Stallion Technologies, Inc.
-
-pci:v0000124Dd00000000*
- ID_PRODUCT_FROM_DATABASE=EasyConnection 8/32
-
-pci:v0000124Dd00000002*
- ID_PRODUCT_FROM_DATABASE=EasyConnection 8/64
-
-pci:v0000124Dd00000003*
- ID_PRODUCT_FROM_DATABASE=EasyIO
-
-pci:v0000124Dd00000004*
- ID_PRODUCT_FROM_DATABASE=EasyConnection/RA
-
-pci:v0000124E*
- ID_VENDOR_FROM_DATABASE=Cylink
-
-pci:v0000124F*
- ID_VENDOR_FROM_DATABASE=Infortrend Technology, Inc.
-
-pci:v0000124Fd00000041*
- ID_PRODUCT_FROM_DATABASE=IFT-2000 Series RAID Controller
-
-pci:v00001250*
- ID_VENDOR_FROM_DATABASE=Hitachi Microcomputer System Ltd
-
-pci:v00001251*
- ID_VENDOR_FROM_DATABASE=VLSI Solutions Oy
-
-pci:v00001253*
- ID_VENDOR_FROM_DATABASE=Guzik Technical Enterprises
-
-pci:v00001254*
- ID_VENDOR_FROM_DATABASE=Linear Systems Ltd.
-
-pci:v00001254d00000065*
- ID_PRODUCT_FROM_DATABASE=DVB Master FD
-
-pci:v00001254d0000007C*
- ID_PRODUCT_FROM_DATABASE=DVB Master Quad/o
-
-pci:v00001255*
- ID_VENDOR_FROM_DATABASE=Optibase Ltd
-
-pci:v00001255d00001110*
- ID_PRODUCT_FROM_DATABASE=MPEG Forge
-
-pci:v00001255d00001210*
- ID_PRODUCT_FROM_DATABASE=MPEG Fusion
-
-pci:v00001255d00002110*
- ID_PRODUCT_FROM_DATABASE=VideoPlex
-
-pci:v00001255d00002120*
- ID_PRODUCT_FROM_DATABASE=VideoPlex CC
-
-pci:v00001255d00002130*
- ID_PRODUCT_FROM_DATABASE=VideoQuest
-
-pci:v00001256*
- ID_VENDOR_FROM_DATABASE=Perceptive Solutions, Inc.
-
-pci:v00001256d00004201*
- ID_PRODUCT_FROM_DATABASE=PCI-2220I
-
-pci:v00001256d00004401*
- ID_PRODUCT_FROM_DATABASE=PCI-2240I
-
-pci:v00001256d00005201*
- ID_PRODUCT_FROM_DATABASE=PCI-2000
-
-pci:v00001257*
- ID_VENDOR_FROM_DATABASE=Vertex Networks, Inc.
-
-pci:v00001258*
- ID_VENDOR_FROM_DATABASE=Gilbarco, Inc.
-
-pci:v00001259*
- ID_VENDOR_FROM_DATABASE=Allied Telesis
-
-pci:v00001259d00002560*
- ID_PRODUCT_FROM_DATABASE=AT-2560 Fast Ethernet Adapter (i82557B)
-
-pci:v00001259d00002801*
- ID_PRODUCT_FROM_DATABASE=AT-2801FX (RTL-8139)
-
-pci:v00001259d0000A117*
- ID_PRODUCT_FROM_DATABASE=RTL81xx Fast Ethernet
-
-pci:v00001259d0000A11E*
- ID_PRODUCT_FROM_DATABASE=RTL81xx Fast Ethernet
-
-pci:v00001259d0000A120*
- ID_PRODUCT_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
-
-pci:v0000125A*
- ID_VENDOR_FROM_DATABASE=ABB Power Systems
-
-pci:v0000125B*
- ID_VENDOR_FROM_DATABASE=Asix Electronics Corporation
-
-pci:v0000125Bd00001400*
- ID_PRODUCT_FROM_DATABASE=AX88141 Fast Ethernet Controller
-
-pci:v0000125Bd00001400sv00001186sd00001100*
- ID_PRODUCT_FROM_DATABASE=AX8814X Based PCI Fast Ethernet Adapter
-
-pci:v0000125C*
- ID_VENDOR_FROM_DATABASE=Aurora Technologies, Inc.
-
-pci:v0000125Cd00000101*
- ID_PRODUCT_FROM_DATABASE=Saturn 4520P
-
-pci:v0000125Cd00000640*
- ID_PRODUCT_FROM_DATABASE=Aries 16000P
-
-pci:v0000125D*
- ID_VENDOR_FROM_DATABASE=ESS Technology
-
-pci:v0000125Dd00000000*
- ID_PRODUCT_FROM_DATABASE=ES336H Fax Modem (Early Model)
-
-pci:v0000125Dd00001948*
- ID_PRODUCT_FROM_DATABASE=ES1948 Maestro-1
-
-pci:v0000125Dd00001968*
- ID_PRODUCT_FROM_DATABASE=ES1968 Maestro 2
-
-pci:v0000125Dd00001968sv00001028sd00000085*
- ID_PRODUCT_FROM_DATABASE=ES1968 Maestro-2 PCI
-
-pci:v0000125Dd00001968sv00001033sd00008051*
- ID_PRODUCT_FROM_DATABASE=ES1968 Maestro-2 Audiodrive
-
-pci:v0000125Dd00001969*
- ID_PRODUCT_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive
-
-pci:v0000125Dd00001969sv00001014sd00000166*
- ID_PRODUCT_FROM_DATABASE=ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard
-
-pci:v0000125Dd00001969sv0000125Dsd00008888*
- ID_PRODUCT_FROM_DATABASE=Solo-1 Audio Adapter
-
-pci:v0000125Dd00001969sv0000153Bsd0000111B*
- ID_PRODUCT_FROM_DATABASE=Terratec 128i PCI
-
-pci:v0000125Dd00001978*
- ID_PRODUCT_FROM_DATABASE=ES1978 Maestro 2E
-
-pci:v0000125Dd00001978sv00000E11sd0000B112*
- ID_PRODUCT_FROM_DATABASE=Armada M700/E500
-
-pci:v0000125Dd00001978sv00001033sd0000803C*
- ID_PRODUCT_FROM_DATABASE=ES1978 Maestro-2E Audiodrive
-
-pci:v0000125Dd00001978sv00001033sd00008058*
- ID_PRODUCT_FROM_DATABASE=ES1978 Maestro-2E Audiodrive
-
-pci:v0000125Dd00001978sv00001092sd00004000*
- ID_PRODUCT_FROM_DATABASE=Monster Sound MX400
-
-pci:v0000125Dd00001978sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=ES1978 Maestro-2E Audiodrive
-
-pci:v0000125Dd00001988*
- ID_PRODUCT_FROM_DATABASE=ES1988 Allegro-1
-
-pci:v0000125Dd00001988sv00000E11sd00000098*
- ID_PRODUCT_FROM_DATABASE=Evo N600c
-
-pci:v0000125Dd00001988sv00001092sd00004100*
- ID_PRODUCT_FROM_DATABASE=Sonic Impact S100
-
-pci:v0000125Dd00001988sv0000125Dsd00000431*
- ID_PRODUCT_FROM_DATABASE=Allegro AudioDrive
-
-pci:v0000125Dd00001988sv0000125Dsd00001988*
- ID_PRODUCT_FROM_DATABASE=ESS Allegro-1 Audiodrive
-
-pci:v0000125Dd00001988sv0000125Dsd00001998*
- ID_PRODUCT_FROM_DATABASE=Allegro AudioDrive
-
-pci:v0000125Dd00001988sv0000125Dsd00001999*
- ID_PRODUCT_FROM_DATABASE=Allegro-1 AudioDrive
-
-pci:v0000125Dd00001989*
- ID_PRODUCT_FROM_DATABASE=ESS Modem
-
-pci:v0000125Dd00001989sv0000125Dsd00001989*
- ID_PRODUCT_FROM_DATABASE=ESS Modem
-
-pci:v0000125Dd00001998*
- ID_PRODUCT_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator
-
-pci:v0000125Dd00001998sv00001028sd000000B1*
- ID_PRODUCT_FROM_DATABASE=Latitude C600
-
-pci:v0000125Dd00001998sv00001028sd000000E6*
- ID_PRODUCT_FROM_DATABASE=ES1983S Maestro-3i (Dell Inspiron 8100)
-
-pci:v0000125Dd00001999*
- ID_PRODUCT_FROM_DATABASE=ES1983S Maestro-3i PCI Modem Accelerator
-
-pci:v0000125Dd0000199A*
- ID_PRODUCT_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator
-
-pci:v0000125Dd0000199B*
- ID_PRODUCT_FROM_DATABASE=ES1983S Maestro-3i PCI Modem Accelerator
-
-pci:v0000125Dd00002808*
- ID_PRODUCT_FROM_DATABASE=ES336H Fax Modem (Later Model)
-
-pci:v0000125Dd00002838*
- ID_PRODUCT_FROM_DATABASE=ES2838/2839 SuperLink Modem
-
-pci:v0000125Dd00002898*
- ID_PRODUCT_FROM_DATABASE=ES2898 Modem
-
-pci:v0000125Dd00002898sv0000125Dsd00000424*
- ID_PRODUCT_FROM_DATABASE=ES56-PI Data Fax Modem
-
-pci:v0000125Dd00002898sv0000125Dsd00000425*
- ID_PRODUCT_FROM_DATABASE=ES56T-PI Data Fax Modem
-
-pci:v0000125Dd00002898sv0000125Dsd00000426*
- ID_PRODUCT_FROM_DATABASE=ES56V-PI Data Fax Modem
-
-pci:v0000125Dd00002898sv0000125Dsd00000427*
- ID_PRODUCT_FROM_DATABASE=VW-PI Data Fax Modem
-
-pci:v0000125Dd00002898sv0000125Dsd00000428*
- ID_PRODUCT_FROM_DATABASE=ES56ST-PI Data Fax Modem
-
-pci:v0000125Dd00002898sv0000125Dsd00000429*
- ID_PRODUCT_FROM_DATABASE=ES56SV-PI Data Fax Modem
-
-pci:v0000125Dd00002898sv0000147Asd0000C001*
- ID_PRODUCT_FROM_DATABASE=ES56-PI Data Fax Modem
-
-pci:v0000125Dd00002898sv0000148Dsd00001030*
- ID_PRODUCT_FROM_DATABASE=HCF WV-PI56 [ESS ES56-PI Data Fax Modem]
-
-pci:v0000125Dd00002898sv000014FEsd00000428*
- ID_PRODUCT_FROM_DATABASE=ES56-PI Data Fax Modem
-
-pci:v0000125Dd00002898sv000014FEsd00000429*
- ID_PRODUCT_FROM_DATABASE=ES56-PI Data Fax Modem
-
-pci:v0000125E*
- ID_VENDOR_FROM_DATABASE=Specialvideo Engineering SRL
-
-pci:v0000125F*
- ID_VENDOR_FROM_DATABASE=Concurrent Technologies, Inc.
-
-pci:v00001260*
- ID_VENDOR_FROM_DATABASE=Intersil Corporation
-
-pci:v00001260d00003872*
- ID_PRODUCT_FROM_DATABASE=ISL3872 [Prism 3]
-
-pci:v00001260d00003872sv00001468sd00000202*
- ID_PRODUCT_FROM_DATABASE=LAN-Express IEEE 802.11b Wireless LAN
-
-pci:v00001260d00003873*
- ID_PRODUCT_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3]
-
-pci:v00001260d00003873sv000010CFsd00001169*
- ID_PRODUCT_FROM_DATABASE=MBH7WM01-8734 802.11b Wireless Mini PCI Card [ISL3874]
-
-pci:v00001260d00003873sv00001186sd00003501*
- ID_PRODUCT_FROM_DATABASE=DWL-520 Wireless PCI Adapter (rev A or B) [ISL3874]
-
-pci:v00001260d00003873sv00001186sd00003700*
- ID_PRODUCT_FROM_DATABASE=DWL-520 Wireless PCI Adapter (rev E1) [ISL3872]
-
-pci:v00001260d00003873sv00001385sd00004105*
- ID_PRODUCT_FROM_DATABASE=MA311 802.11b wireless adapter [ISL3874]
-
-pci:v00001260d00003873sv00001668sd00000414*
- ID_PRODUCT_FROM_DATABASE=HWP01170-01 802.11b PCI Wireless Adapter
-
-pci:v00001260d00003873sv000016A5sd00001601*
- ID_PRODUCT_FROM_DATABASE=AIR.mate PC-400 PCI Wireless LAN Adapter
-
-pci:v00001260d00003873sv00001737sd00003874*
- ID_PRODUCT_FROM_DATABASE=WMP11 v1 802.11b Wireless-B PCI Adapter [ISL3874]
-
-pci:v00001260d00003873sv00004033sd00007033*
- ID_PRODUCT_FROM_DATABASE=PCW200 802.11b Wireless PCI Adapter [ISL3874]
-
-pci:v00001260d00003873sv00008086sd00002510*
- ID_PRODUCT_FROM_DATABASE=M3AWEB Wireless 802.11b MiniPCI Adapter
-
-pci:v00001260d00003873sv00008086sd00002513*
- ID_PRODUCT_FROM_DATABASE=Wireless 802.11b MiniPCI Adapter
-
-pci:v00001260d00003877*
- ID_PRODUCT_FROM_DATABASE=ISL3877 [Prism Indigo]
-
-pci:v00001260d00003886*
- ID_PRODUCT_FROM_DATABASE=ISL3886 [Prism Javelin/Prism Xbow]
-
-pci:v00001260d00003886sv000017CFsd00000037*
- ID_PRODUCT_FROM_DATABASE=XG-901 and clones Wireless Adapter
-
-pci:v00001260d00003890*
- ID_PRODUCT_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow]
-
-pci:v00001260d00003890sv000010B8sd00002802*
- ID_PRODUCT_FROM_DATABASE=SMC2802W V1 Wireless PCI Adapter [ISL3890]
-
-pci:v00001260d00003890sv000010B8sd00002835*
- ID_PRODUCT_FROM_DATABASE=SMC2835W Wireless Cardbus Adapter
-
-pci:v00001260d00003890sv000010B8sd0000A835*
- ID_PRODUCT_FROM_DATABASE=SMC2835W V2 Wireless Cardbus Adapter
-
-pci:v00001260d00003890sv00001113sd00004203*
- ID_PRODUCT_FROM_DATABASE=WN4201B
-
-pci:v00001260d00003890sv00001113sd00008201*
- ID_PRODUCT_FROM_DATABASE=T-Com T-Sinus 154pcicard Wireless PCI Adapter
-
-pci:v00001260d00003890sv00001113sd0000B301*
- ID_PRODUCT_FROM_DATABASE=T-Sinus 154card Cardbus
-
-pci:v00001260d00003890sv00001113sd0000EE03*
- ID_PRODUCT_FROM_DATABASE=SMC2802W V2 Wireless PCI Adapter [ISL3886]
-
-pci:v00001260d00003890sv00001113sd0000EE08*
- ID_PRODUCT_FROM_DATABASE=SMC2835W V3 EU Wireless Cardbus Adapter
-
-pci:v00001260d00003890sv00001186sd00003202*
- ID_PRODUCT_FROM_DATABASE=DWL-G650 A1 Wireless Adapter
-
-pci:v00001260d00003890sv00001259sd0000C104*
- ID_PRODUCT_FROM_DATABASE=CG-WLCB54GT Wireless Adapter
-
-pci:v00001260d00003890sv00001260sd00000000*
- ID_PRODUCT_FROM_DATABASE=WG511 v1 54 Mbps Wireless PC Card
-
-pci:v00001260d00003890sv00001385sd00004800*
- ID_PRODUCT_FROM_DATABASE=WG511 v2/v3 54 Mbps Wireless PC Card
-
-pci:v00001260d00003890sv000016A5sd00001605*
- ID_PRODUCT_FROM_DATABASE=ALLNET ALL0271 Wireless PCI Adapter
-
-pci:v00001260d00003890sv000017CFsd00000014*
- ID_PRODUCT_FROM_DATABASE=XG-600 and clones Wireless Adapter
-
-pci:v00001260d00003890sv000017CFsd00000020*
- ID_PRODUCT_FROM_DATABASE=XG-900 and clones Wireless Adapter
-
-pci:v00001260d00003890sv0000187Esd00003403*
- ID_PRODUCT_FROM_DATABASE=G-110 802.11g Wireless Cardbus Adapter
-
-pci:v00001260d00008130*
- ID_PRODUCT_FROM_DATABASE=HMP8130 NTSC/PAL Video Decoder
-
-pci:v00001260d00008131*
- ID_PRODUCT_FROM_DATABASE=HMP8131 NTSC/PAL Video Decoder
-
-pci:v00001260d0000FFFF*
- ID_PRODUCT_FROM_DATABASE=ISL3886IK
-
-pci:v00001260d0000FFFFsv00001260sd00000000*
- ID_PRODUCT_FROM_DATABASE=Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter
-
-pci:v00001261*
- ID_VENDOR_FROM_DATABASE=Matsushita-Kotobuki Electronics Industries, Ltd.
-
-pci:v00001262*
- ID_VENDOR_FROM_DATABASE=ES Computer Company, Ltd.
-
-pci:v00001263*
- ID_VENDOR_FROM_DATABASE=Sonic Solutions
-
-pci:v00001264*
- ID_VENDOR_FROM_DATABASE=Aval Nagasaki Corporation
-
-pci:v00001265*
- ID_VENDOR_FROM_DATABASE=Casio Computer Co., Ltd.
-
-pci:v00001266*
- ID_VENDOR_FROM_DATABASE=Microdyne Corporation
-
-pci:v00001266d00000001*
- ID_PRODUCT_FROM_DATABASE=NE10/100 Adapter (i82557B)
-
-pci:v00001266d00001910*
- ID_PRODUCT_FROM_DATABASE=NE2000Plus (RT8029) Ethernet Adapter
-
-pci:v00001266d00001910sv00001266sd00001910*
- ID_PRODUCT_FROM_DATABASE=NE2000Plus Ethernet Adapter
-
-pci:v00001267*
- ID_VENDOR_FROM_DATABASE=S. A. Telecommunications
-
-pci:v00001267d00005352*
- ID_PRODUCT_FROM_DATABASE=PCR2101
-
-pci:v00001267d00005A4B*
- ID_PRODUCT_FROM_DATABASE=Telsat Turbo
-
-pci:v00001268*
- ID_VENDOR_FROM_DATABASE=Tektronix
-
-pci:v00001269*
- ID_VENDOR_FROM_DATABASE=Thomson-CSF/TTM
-
-pci:v0000126A*
- ID_VENDOR_FROM_DATABASE=Lexmark International, Inc.
-
-pci:v0000126B*
- ID_VENDOR_FROM_DATABASE=Adax, Inc.
-
-pci:v0000126C*
- ID_VENDOR_FROM_DATABASE=Northern Telecom
-
-pci:v0000126Cd00001211*
- ID_PRODUCT_FROM_DATABASE=10/100BaseTX [RTL81xx]
-
-pci:v0000126Cd0000126C*
- ID_PRODUCT_FROM_DATABASE=802.11b Wireless Ethernet Adapter
-
-pci:v0000126D*
- ID_VENDOR_FROM_DATABASE=Splash Technology, Inc.
-
-pci:v0000126E*
- ID_VENDOR_FROM_DATABASE=Sumitomo Metal Industries, Ltd.
-
-pci:v0000126F*
- ID_VENDOR_FROM_DATABASE=Silicon Motion, Inc.
-
-pci:v0000126Fd00000501*
- ID_PRODUCT_FROM_DATABASE=SM501 VoyagerGX Rev. AA
-
-pci:v0000126Fd00000510*
- ID_PRODUCT_FROM_DATABASE=SM501 VoyagerGX Rev. B
-
-pci:v0000126Fd00000710*
- ID_PRODUCT_FROM_DATABASE=SM710 LynxEM
-
-pci:v0000126Fd00000712*
- ID_PRODUCT_FROM_DATABASE=SM712 LynxEM+
-
-pci:v0000126Fd00000720*
- ID_PRODUCT_FROM_DATABASE=SM720 Lynx3DM
-
-pci:v0000126Fd00000730*
- ID_PRODUCT_FROM_DATABASE=SM731 Cougar3DR
-
-pci:v0000126Fd00000810*
- ID_PRODUCT_FROM_DATABASE=SM810 LynxE
-
-pci:v0000126Fd00000811*
- ID_PRODUCT_FROM_DATABASE=SM811 LynxE
-
-pci:v0000126Fd00000820*
- ID_PRODUCT_FROM_DATABASE=SM820 Lynx3D
-
-pci:v0000126Fd00000910*
- ID_PRODUCT_FROM_DATABASE=SM910
-
-pci:v00001270*
- ID_VENDOR_FROM_DATABASE=Olympus Optical Co., Ltd.
-
-pci:v00001271*
- ID_VENDOR_FROM_DATABASE=GW Instruments
-
-pci:v00001272*
- ID_VENDOR_FROM_DATABASE=Telematics International
-
-pci:v00001273*
- ID_VENDOR_FROM_DATABASE=Hughes Network Systems
-
-pci:v00001273d00000002*
- ID_PRODUCT_FROM_DATABASE=DirecPC
-
-pci:v00001274*
- ID_VENDOR_FROM_DATABASE=Ensoniq
-
-pci:v00001274d00001171*
- ID_PRODUCT_FROM_DATABASE=ES1373 [AudioPCI] (also Creative Labs CT5803)
-
-pci:v00001274d00001371*
- ID_PRODUCT_FROM_DATABASE=ES1371 [AudioPCI-97]
-
-pci:v00001274d00001371sv00000E11sd00000024*
- ID_PRODUCT_FROM_DATABASE=AudioPCI on Motherboard Compaq Deskpro
-
-pci:v00001274d00001371sv00000E11sd0000B1A7*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI
-
-pci:v00001274d00001371sv00001033sd000080AC*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI
-
-pci:v00001274d00001371sv00001042sd00001854*
- ID_PRODUCT_FROM_DATABASE=Tazer
-
-pci:v00001274d00001371sv0000107Bsd00008054*
- ID_PRODUCT_FROM_DATABASE=Tabor2
-
-pci:v00001274d00001371sv00001274sd00001371*
- ID_PRODUCT_FROM_DATABASE=Creative Sound Blaster AudioPCI64V, AudioPCI128
-
-pci:v00001274d00001371sv00001274sd00008001*
- ID_PRODUCT_FROM_DATABASE=CT4751 board
-
-pci:v00001274d00001371sv00001462sd00006470*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A
-
-pci:v00001274d00001371sv00001462sd00006560*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10
-
-pci:v00001274d00001371sv00001462sd00006630*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A
-
-pci:v00001274d00001371sv00001462sd00006631*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A
-
-pci:v00001274d00001371sv00001462sd00006632*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A
-
-pci:v00001274d00001371sv00001462sd00006633*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A
-
-pci:v00001274d00001371sv00001462sd00006820*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00
-
-pci:v00001274d00001371sv00001462sd00006822*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A
-
-pci:v00001274d00001371sv00001462sd00006830*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00
-
-pci:v00001274d00001371sv00001462sd00006880*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00
-
-pci:v00001274d00001371sv00001462sd00006900*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00
-
-pci:v00001274d00001371sv00001462sd00006910*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6191
-
-pci:v00001274d00001371sv00001462sd00006930*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6193
-
-pci:v00001274d00001371sv00001462sd00006990*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A
-
-pci:v00001274d00001371sv00001462sd00006991*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A
-
-pci:v00001274d00001371sv000014A4sd00002077*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KR639
-
-pci:v00001274d00001371sv000014A4sd00002105*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MR800
-
-pci:v00001274d00001371sv000014A4sd00002107*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MR801
-
-pci:v00001274d00001371sv000014A4sd00002172*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard DR739
-
-pci:v00001274d00001371sv00001509sd00009902*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KW11
-
-pci:v00001274d00001371sv00001509sd00009903*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KW31
-
-pci:v00001274d00001371sv00001509sd00009904*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KA11
-
-pci:v00001274d00001371sv00001509sd00009905*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KC13
-
-pci:v00001274d00001371sv0000152Dsd00008801*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard CP810E
-
-pci:v00001274d00001371sv0000152Dsd00008802*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard CP810
-
-pci:v00001274d00001371sv0000152Dsd00008803*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3810E
-
-pci:v00001274d00001371sv0000152Dsd00008804*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3810-S
-
-pci:v00001274d00001371sv0000152Dsd00008805*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3820-S
-
-pci:v00001274d00001371sv0000270Fsd00002001*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6CTR
-
-pci:v00001274d00001371sv0000270Fsd00002200*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WTX
-
-pci:v00001274d00001371sv0000270Fsd00003000*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WSV
-
-pci:v00001274d00001371sv0000270Fsd00003100*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WIV2
-
-pci:v00001274d00001371sv0000270Fsd00003102*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WIV
-
-pci:v00001274d00001371sv0000270Fsd00007060*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6ASA2
-
-pci:v00001274d00001371sv00008086sd00004249*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BI440ZX
-
-pci:v00001274d00001371sv00008086sd0000424C*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BL440ZX
-
-pci:v00001274d00001371sv00008086sd0000425A*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BZ440ZX
-
-pci:v00001274d00001371sv00008086sd00004341*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Cayman
-
-pci:v00001274d00001371sv00008086sd00004343*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Cape Cod
-
-pci:v00001274d00001371sv00008086sd00004541*
- ID_PRODUCT_FROM_DATABASE=D815EEA Motherboard
-
-pci:v00001274d00001371sv00008086sd00004649*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Fire Island
-
-pci:v00001274d00001371sv00008086sd0000464A*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard FJ440ZX
-
-pci:v00001274d00001371sv00008086sd00004D4F*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Montreal
-
-pci:v00001274d00001371sv00008086sd00004F43*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard OC440LX
-
-pci:v00001274d00001371sv00008086sd00005243*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard RC440BX
-
-pci:v00001274d00001371sv00008086sd00005352*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard SunRiver
-
-pci:v00001274d00001371sv00008086sd00005643*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Vancouver
-
-pci:v00001274d00001371sv00008086sd00005753*
- ID_PRODUCT_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard WS440BX
-
-pci:v00001274d00005000*
- ID_PRODUCT_FROM_DATABASE=ES1370 [AudioPCI]
-
-pci:v00001274d00005880*
- ID_PRODUCT_FROM_DATABASE=5880B [AudioPCI]
-
-pci:v00001274d00005880sv00001274sd00002000*
- ID_PRODUCT_FROM_DATABASE=Creative Sound Blaster AudioPCI128
-
-pci:v00001274d00005880sv00001274sd00002003*
- ID_PRODUCT_FROM_DATABASE=Creative SoundBlaster AudioPCI 128
-
-pci:v00001274d00005880sv00001274sd00005880*
- ID_PRODUCT_FROM_DATABASE=Creative Sound Blaster AudioPCI128
-
-pci:v00001274d00005880sv00001274sd00008001*
- ID_PRODUCT_FROM_DATABASE=Sound Blaster 16PCI 4.1ch
-
-pci:v00001274d00005880sv00001458sd0000A000*
- ID_PRODUCT_FROM_DATABASE=5880 AudioPCI On Motherboard 6OXET
-
-pci:v00001274d00005880sv00001462sd00006880*
- ID_PRODUCT_FROM_DATABASE=5880 AudioPCI On Motherboard MS-6188 1.00
-
-pci:v00001274d00005880sv0000270Fsd00002001*
- ID_PRODUCT_FROM_DATABASE=5880 AudioPCI On Motherboard 6CTR
-
-pci:v00001274d00005880sv0000270Fsd00002200*
- ID_PRODUCT_FROM_DATABASE=5880 AudioPCI On Motherboard 6WTX
-
-pci:v00001274d00005880sv0000270Fsd00007040*
- ID_PRODUCT_FROM_DATABASE=5880 AudioPCI On Motherboard 6ATA4
-
-pci:v00001274d00008001*
- ID_PRODUCT_FROM_DATABASE=CT5880 [AudioPCI]
-
-pci:v00001274d00008002*
- ID_PRODUCT_FROM_DATABASE=5880A [AudioPCI]
-
-pci:v00001275*
- ID_VENDOR_FROM_DATABASE=Network Appliance Corporation
-
-pci:v00001276*
- ID_VENDOR_FROM_DATABASE=Switched Network Technologies, Inc.
-
-pci:v00001277*
- ID_VENDOR_FROM_DATABASE=Comstream
-
-pci:v00001278*
- ID_VENDOR_FROM_DATABASE=Transtech Parallel Systems Ltd.
-
-pci:v00001278d00000701*
- ID_PRODUCT_FROM_DATABASE=TPE3/TM3 PowerPC Node
-
-pci:v00001278d00000710*
- ID_PRODUCT_FROM_DATABASE=TPE5 PowerPC PCI board
-
-pci:v00001278d00001100*
- ID_PRODUCT_FROM_DATABASE=PMC-FPGA02
-
-pci:v00001278d00001101*
- ID_PRODUCT_FROM_DATABASE=TS-C43 card with 4 ADSP-TS101 processors
-
-pci:v00001279*
- ID_VENDOR_FROM_DATABASE=Transmeta Corporation
-
-pci:v00001279d00000060*
- ID_PRODUCT_FROM_DATABASE=TM8000 Northbridge
-
-pci:v00001279d00000061*
- ID_PRODUCT_FROM_DATABASE=TM8000 AGP bridge
-
-pci:v00001279d00000295*
- ID_PRODUCT_FROM_DATABASE=Northbridge
-
-pci:v00001279d00000395*
- ID_PRODUCT_FROM_DATABASE=LongRun Northbridge
-
-pci:v00001279d00000396*
- ID_PRODUCT_FROM_DATABASE=SDRAM controller
-
-pci:v00001279d00000397*
- ID_PRODUCT_FROM_DATABASE=BIOS scratchpad
-
-pci:v0000127A*
- ID_VENDOR_FROM_DATABASE=Rockwell International
-
-pci:v0000127Ad00001002*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax Modem
-
-pci:v0000127Ad00001002sv00001092sd0000094C*
- ID_PRODUCT_FROM_DATABASE=SupraExpress 56i PRO [Diamond SUP2380]
-
-pci:v0000127Ad00001002sv0000122Dsd00004002*
- ID_PRODUCT_FROM_DATABASE=HPG / MDP3858-U
-
-pci:v0000127Ad00001002sv0000122Dsd00004005*
- ID_PRODUCT_FROM_DATABASE=MDP3858-E
-
-pci:v0000127Ad00001002sv0000122Dsd00004007*
- ID_PRODUCT_FROM_DATABASE=MDP3858-A/-NZ
-
-pci:v0000127Ad00001002sv0000122Dsd00004012*
- ID_PRODUCT_FROM_DATABASE=MDP3858-SA
-
-pci:v0000127Ad00001002sv0000122Dsd00004017*
- ID_PRODUCT_FROM_DATABASE=MDP3858-W
-
-pci:v0000127Ad00001002sv0000122Dsd00004018*
- ID_PRODUCT_FROM_DATABASE=MDP3858-W
-
-pci:v0000127Ad00001002sv0000127Asd00001002*
- ID_PRODUCT_FROM_DATABASE=Rockwell 56K D/F HCF Modem
-
-pci:v0000127Ad00001003*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax Modem
-
-pci:v0000127Ad00001003sv00000E11sd0000B0BC*
- ID_PRODUCT_FROM_DATABASE=229-DF Zephyr
-
-pci:v0000127Ad00001003sv00000E11sd0000B114*
- ID_PRODUCT_FROM_DATABASE=229-DF Cheetah
-
-pci:v0000127Ad00001003sv00001033sd0000802B*
- ID_PRODUCT_FROM_DATABASE=229-DF
-
-pci:v0000127Ad00001003sv000013DFsd00001003*
- ID_PRODUCT_FROM_DATABASE=PCI56RX Modem
-
-pci:v0000127Ad00001003sv000013E0sd00000117*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v0000127Ad00001003sv000013E0sd00000147*
- ID_PRODUCT_FROM_DATABASE=IBM F-1156IV+/R3 Spain V.90 Modem
-
-pci:v0000127Ad00001003sv000013E0sd00000197*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v0000127Ad00001003sv000013E0sd000001C7*
- ID_PRODUCT_FROM_DATABASE=IBM F-1156IV+/R3 WW V.90 Modem
-
-pci:v0000127Ad00001003sv000013E0sd000001F7*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v0000127Ad00001003sv00001436sd00001003*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v0000127Ad00001003sv00001436sd00001103*
- ID_PRODUCT_FROM_DATABASE=IBM 5614PM3G V.90 Modem
-
-pci:v0000127Ad00001003sv00001436sd00001602*
- ID_PRODUCT_FROM_DATABASE=Compaq 229-DF Ducati
-
-pci:v0000127Ad00001004*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem
-
-pci:v0000127Ad00001004sv00001048sd00001500*
- ID_PRODUCT_FROM_DATABASE=MicroLink 56k Modem
-
-pci:v0000127Ad00001004sv000010CFsd00001059*
- ID_PRODUCT_FROM_DATABASE=Fujitsu 229-DFRT
-
-pci:v0000127Ad00001005*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
-
-pci:v0000127Ad00001005sv00001005sd0000127A*
- ID_PRODUCT_FROM_DATABASE=AOpen FM56-P
-
-pci:v0000127Ad00001005sv00001033sd00008029*
- ID_PRODUCT_FROM_DATABASE=229-DFSV
-
-pci:v0000127Ad00001005sv00001033sd00008054*
- ID_PRODUCT_FROM_DATABASE=Modem
-
-pci:v0000127Ad00001005sv000010CFsd0000103C*
- ID_PRODUCT_FROM_DATABASE=Fujitsu
-
-pci:v0000127Ad00001005sv000010CFsd00001055*
- ID_PRODUCT_FROM_DATABASE=Fujitsu 229-DFSV
-
-pci:v0000127Ad00001005sv000010CFsd00001056*
- ID_PRODUCT_FROM_DATABASE=Fujitsu 229-DFSV
-
-pci:v0000127Ad00001005sv0000122Dsd00004003*
- ID_PRODUCT_FROM_DATABASE=MDP3858SP-U
-
-pci:v0000127Ad00001005sv0000122Dsd00004006*
- ID_PRODUCT_FROM_DATABASE=Packard Bell MDP3858V-E
-
-pci:v0000127Ad00001005sv0000122Dsd00004008*
- ID_PRODUCT_FROM_DATABASE=MDP3858SP-A/SP-NZ
-
-pci:v0000127Ad00001005sv0000122Dsd00004009*
- ID_PRODUCT_FROM_DATABASE=MDP3858SP-E
-
-pci:v0000127Ad00001005sv0000122Dsd00004010*
- ID_PRODUCT_FROM_DATABASE=MDP3858V-U
-
-pci:v0000127Ad00001005sv0000122Dsd00004011*
- ID_PRODUCT_FROM_DATABASE=MDP3858SP-SA
-
-pci:v0000127Ad00001005sv0000122Dsd00004013*
- ID_PRODUCT_FROM_DATABASE=MDP3858V-A/V-NZ
-
-pci:v0000127Ad00001005sv0000122Dsd00004015*
- ID_PRODUCT_FROM_DATABASE=MDP3858SP-W
-
-pci:v0000127Ad00001005sv0000122Dsd00004016*
- ID_PRODUCT_FROM_DATABASE=MDP3858V-W
-
-pci:v0000127Ad00001005sv0000122Dsd00004019*
- ID_PRODUCT_FROM_DATABASE=MDP3858V-SA
-
-pci:v0000127Ad00001005sv000013DFsd00001005*
- ID_PRODUCT_FROM_DATABASE=PCI56RVP Modem
-
-pci:v0000127Ad00001005sv000013E0sd00000187*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v0000127Ad00001005sv000013E0sd000001A7*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v0000127Ad00001005sv000013E0sd000001B7*
- ID_PRODUCT_FROM_DATABASE=IBM DF-1156IV+/R3 Spain V.90 Modem
-
-pci:v0000127Ad00001005sv000013E0sd000001D7*
- ID_PRODUCT_FROM_DATABASE=IBM DF-1156IV+/R3 WW V.90 Modem
-
-pci:v0000127Ad00001005sv00001436sd00001005*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v0000127Ad00001005sv00001436sd00001105*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v0000127Ad00001005sv00001437sd00001105*
- ID_PRODUCT_FROM_DATABASE=IBM 5614PS3G V.90 Modem
-
-pci:v0000127Ad00001022*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v0000127Ad00001022sv00001436sd00001303*
- ID_PRODUCT_FROM_DATABASE=M3-5614PM3G V.90 Modem
-
-pci:v0000127Ad00001023*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax Modem
-
-pci:v0000127Ad00001023sv0000122Dsd00004020*
- ID_PRODUCT_FROM_DATABASE=Packard Bell MDP3858-WE
-
-pci:v0000127Ad00001023sv0000122Dsd00004023*
- ID_PRODUCT_FROM_DATABASE=MDP3858-UE
-
-pci:v0000127Ad00001023sv000013E0sd00000247*
- ID_PRODUCT_FROM_DATABASE=IBM F-1156IV+/R6 Spain V.90 Modem
-
-pci:v0000127Ad00001023sv000013E0sd00000297*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v0000127Ad00001023sv000013E0sd000002C7*
- ID_PRODUCT_FROM_DATABASE=IBM F-1156IV+/R6 WW V.90 Modem
-
-pci:v0000127Ad00001023sv00001436sd00001203*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v0000127Ad00001023sv00001436sd00001303*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v0000127Ad00001024*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem
-
-pci:v0000127Ad00001025*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
-
-pci:v0000127Ad00001025sv000010CFsd0000106A*
- ID_PRODUCT_FROM_DATABASE=Fujitsu 235-DFSV
-
-pci:v0000127Ad00001025sv0000122Dsd00004021*
- ID_PRODUCT_FROM_DATABASE=Packard Bell MDP3858V-WE
-
-pci:v0000127Ad00001025sv0000122Dsd00004022*
- ID_PRODUCT_FROM_DATABASE=MDP3858SP-WE
-
-pci:v0000127Ad00001025sv0000122Dsd00004024*
- ID_PRODUCT_FROM_DATABASE=MDP3858V-UE
-
-pci:v0000127Ad00001025sv0000122Dsd00004025*
- ID_PRODUCT_FROM_DATABASE=MDP3858SP-UE
-
-pci:v0000127Ad00001026*
- ID_PRODUCT_FROM_DATABASE=HCF 56k PCI Speakerphone Modem
-
-pci:v0000127Ad00001032*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v0000127Ad00001033*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v0000127Ad00001034*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v0000127Ad00001035*
- ID_PRODUCT_FROM_DATABASE=HCF 56k PCI Speakerphone Modem
-
-pci:v0000127Ad00001036*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v0000127Ad00001085*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Volcano PCI Modem
-
-pci:v0000127Ad00002004*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
-
-pci:v0000127Ad00002005*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax Modem
-
-pci:v0000127Ad00002005sv0000104Dsd00008044*
- ID_PRODUCT_FROM_DATABASE=229-DFSV
-
-pci:v0000127Ad00002005sv0000104Dsd00008045*
- ID_PRODUCT_FROM_DATABASE=229-DFSV
-
-pci:v0000127Ad00002005sv0000104Dsd00008055*
- ID_PRODUCT_FROM_DATABASE=PBE/Aztech 235W-DFSV
-
-pci:v0000127Ad00002005sv0000104Dsd00008056*
- ID_PRODUCT_FROM_DATABASE=235-DFSV
-
-pci:v0000127Ad00002005sv0000104Dsd0000805A*
- ID_PRODUCT_FROM_DATABASE=Modem
-
-pci:v0000127Ad00002005sv0000104Dsd0000805F*
- ID_PRODUCT_FROM_DATABASE=Modem
-
-pci:v0000127Ad00002005sv0000104Dsd00008074*
- ID_PRODUCT_FROM_DATABASE=Modem
-
-pci:v0000127Ad00002013*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax Modem
-
-pci:v0000127Ad00002013sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Modem
-
-pci:v0000127Ad00002013sv00001179sd0000FF00*
- ID_PRODUCT_FROM_DATABASE=Modem
-
-pci:v0000127Ad00002014*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem
-
-pci:v0000127Ad00002014sv000010CFsd00001057*
- ID_PRODUCT_FROM_DATABASE=Fujitsu Citicorp III
-
-pci:v0000127Ad00002014sv0000122Dsd00004050*
- ID_PRODUCT_FROM_DATABASE=MSP3880-U
-
-pci:v0000127Ad00002014sv0000122Dsd00004055*
- ID_PRODUCT_FROM_DATABASE=MSP3880-W
-
-pci:v0000127Ad00002015*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
-
-pci:v0000127Ad00002015sv000010CFsd00001063*
- ID_PRODUCT_FROM_DATABASE=Fujitsu
-
-pci:v0000127Ad00002015sv000010CFsd00001064*
- ID_PRODUCT_FROM_DATABASE=Fujitsu
-
-pci:v0000127Ad00002015sv00001468sd00002015*
- ID_PRODUCT_FROM_DATABASE=Fujitsu
-
-pci:v0000127Ad00002016*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem
-
-pci:v0000127Ad00002016sv0000122Dsd00004051*
- ID_PRODUCT_FROM_DATABASE=MSP3880V-W
-
-pci:v0000127Ad00002016sv0000122Dsd00004052*
- ID_PRODUCT_FROM_DATABASE=MSP3880SP-W
-
-pci:v0000127Ad00002016sv0000122Dsd00004054*
- ID_PRODUCT_FROM_DATABASE=MSP3880V-U
-
-pci:v0000127Ad00002016sv0000122Dsd00004056*
- ID_PRODUCT_FROM_DATABASE=MSP3880SP-U
-
-pci:v0000127Ad00002016sv0000122Dsd00004057*
- ID_PRODUCT_FROM_DATABASE=MSP3880SP-A
-
-pci:v0000127Ad00004311*
- ID_PRODUCT_FROM_DATABASE=Riptide HSF 56k PCI Modem
-
-pci:v0000127Ad00004311sv0000127Asd00004311*
- ID_PRODUCT_FROM_DATABASE=Ring Modular? Riptide HSF RT HP Dom
-
-pci:v0000127Ad00004311sv000013E0sd00000210*
- ID_PRODUCT_FROM_DATABASE=HP-GVC
-
-pci:v0000127Ad00004320*
- ID_PRODUCT_FROM_DATABASE=Riptide PCI Audio Controller
-
-pci:v0000127Ad00004320sv00001235sd00004320*
- ID_PRODUCT_FROM_DATABASE=Riptide PCI Audio Controller
-
-pci:v0000127Ad00004321*
- ID_PRODUCT_FROM_DATABASE=Riptide HCF 56k PCI Modem
-
-pci:v0000127Ad00004321sv00001235sd00004321*
- ID_PRODUCT_FROM_DATABASE=Hewlett Packard DF
-
-pci:v0000127Ad00004321sv00001235sd00004324*
- ID_PRODUCT_FROM_DATABASE=Hewlett Packard DF
-
-pci:v0000127Ad00004321sv000013E0sd00000210*
- ID_PRODUCT_FROM_DATABASE=Hewlett Packard DF
-
-pci:v0000127Ad00004321sv0000144Dsd00002321*
- ID_PRODUCT_FROM_DATABASE=Riptide
-
-pci:v0000127Ad00004322*
- ID_PRODUCT_FROM_DATABASE=Riptide PCI Game Controller
-
-pci:v0000127Ad00004322sv00001235sd00004322*
- ID_PRODUCT_FROM_DATABASE=Riptide PCI Game Controller
-
-pci:v0000127Ad00008234*
- ID_PRODUCT_FROM_DATABASE=RapidFire 616X ATM155 Adapter
-
-pci:v0000127Ad00008234sv0000108Dsd00000022*
- ID_PRODUCT_FROM_DATABASE=RapidFire 616X ATM155 Adapter
-
-pci:v0000127Ad00008234sv0000108Dsd00000027*
- ID_PRODUCT_FROM_DATABASE=RapidFire 616X ATM155 Adapter
-
-pci:v0000127B*
- ID_VENDOR_FROM_DATABASE=Pixera Corporation
-
-pci:v0000127C*
- ID_VENDOR_FROM_DATABASE=Crosspoint Solutions, Inc.
-
-pci:v0000127D*
- ID_VENDOR_FROM_DATABASE=Vela Research
-
-pci:v0000127E*
- ID_VENDOR_FROM_DATABASE=Winnov, L.P.
-
-pci:v0000127Ed00000010*
- ID_PRODUCT_FROM_DATABASE=Videum 1000 Plus
-
-pci:v0000127F*
- ID_VENDOR_FROM_DATABASE=Fujifilm
-
-pci:v00001280*
- ID_VENDOR_FROM_DATABASE=Photoscript Group Ltd.
-
-pci:v00001281*
- ID_VENDOR_FROM_DATABASE=Yokogawa Electric Corporation
-
-pci:v00001282*
- ID_VENDOR_FROM_DATABASE=Davicom Semiconductor, Inc.
-
-pci:v00001282d00006585*
- ID_PRODUCT_FROM_DATABASE=DM562P V90 Modem
-
-pci:v00001282d00009009*
- ID_PRODUCT_FROM_DATABASE=Ethernet 100/10 MBit
-
-pci:v00001282d00009100*
- ID_PRODUCT_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
-
-pci:v00001282d00009102*
- ID_PRODUCT_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
-
-pci:v00001282d00009102sv00000291sd00008212*
- ID_PRODUCT_FROM_DATABASE=DM9102A (DM9102AE, SM9102AF) Ethernet 100/10 MBit
-
-pci:v00001282d00009132*
- ID_PRODUCT_FROM_DATABASE=Ethernet 100/10 MBit
-
-pci:v00001283*
- ID_VENDOR_FROM_DATABASE=Integrated Technology Express, Inc.
-
-pci:v00001283d0000673A*
- ID_PRODUCT_FROM_DATABASE=IT8330G
-
-pci:v00001283d00008152*
- ID_PRODUCT_FROM_DATABASE=IT8152F/G Advanced RISC-to-PCI Companion Chip
-
-pci:v00001283d00008211*
- ID_PRODUCT_FROM_DATABASE=ITE 8211F Single Channel UDMA 133
-
-pci:v00001283d00008211sv00001043sd00008138*
- ID_PRODUCT_FROM_DATABASE=P5GD1-VW Mainboard
-
-pci:v00001283d00008212*
- ID_PRODUCT_FROM_DATABASE=IT8212 Dual channel ATA RAID controller
-
-pci:v00001283d00008212sv00001283sd00000001*
- ID_PRODUCT_FROM_DATABASE=IT/ITE8212 Dual channel ATA RAID controller
-
-pci:v00001283d00008213*
- ID_PRODUCT_FROM_DATABASE=IT8213 IDE Controller
-
-pci:v00001283d00008213sv00001458sd0000B000*
- ID_PRODUCT_FROM_DATABASE=GA-EG45M-DS2H Mainboard
-
-pci:v00001283d00008330*
- ID_PRODUCT_FROM_DATABASE=IT8330G
-
-pci:v00001283d00008872*
- ID_PRODUCT_FROM_DATABASE=IT8874F PCI Dual Serial Port Controller
-
-pci:v00001283d00008888*
- ID_PRODUCT_FROM_DATABASE=IT8888F/G PCI to ISA Bridge with SMB [Golden Gate]
-
-pci:v00001283d00008889*
- ID_PRODUCT_FROM_DATABASE=IT8889F PCI to ISA Bridge
-
-pci:v00001283d0000E886*
- ID_PRODUCT_FROM_DATABASE=IT8330G
-
-pci:v00001284*
- ID_VENDOR_FROM_DATABASE=Sahara Networks, Inc.
-
-pci:v00001285*
- ID_VENDOR_FROM_DATABASE=Platform Technologies, Inc.
-
-pci:v00001285d00000100*
- ID_PRODUCT_FROM_DATABASE=AGOGO sound chip (aka ESS Maestro 1)
-
-pci:v00001286*
- ID_VENDOR_FROM_DATABASE=Mazet GmbH
-
-pci:v00001287*
- ID_VENDOR_FROM_DATABASE=M-Pact, Inc.
-
-pci:v00001287d0000001E*
- ID_PRODUCT_FROM_DATABASE=LS220D DVD Decoder
-
-pci:v00001287d0000001F*
- ID_PRODUCT_FROM_DATABASE=LS220C DVD Decoder
-
-pci:v00001288*
- ID_VENDOR_FROM_DATABASE=Timestep Corporation
-
-pci:v00001289*
- ID_VENDOR_FROM_DATABASE=AVC Technology, Inc.
-
-pci:v0000128A*
- ID_VENDOR_FROM_DATABASE=Asante Technologies, Inc.
-
-pci:v0000128B*
- ID_VENDOR_FROM_DATABASE=Transwitch Corporation
-
-pci:v0000128C*
- ID_VENDOR_FROM_DATABASE=Retix Corporation
-
-pci:v0000128D*
- ID_VENDOR_FROM_DATABASE=G2 Networks, Inc.
-
-pci:v0000128Dd00000021*
- ID_PRODUCT_FROM_DATABASE=ATM155 Adapter
-
-pci:v0000128E*
- ID_VENDOR_FROM_DATABASE=Hoontech Corporation/Samho Multi Tech Ltd.
-
-pci:v0000128Ed00000008*
- ID_PRODUCT_FROM_DATABASE=ST128 WSS/SB
-
-pci:v0000128Ed00000009*
- ID_PRODUCT_FROM_DATABASE=ST128 SAM9407
-
-pci:v0000128Ed0000000A*
- ID_PRODUCT_FROM_DATABASE=ST128 Game Port
-
-pci:v0000128Ed0000000B*
- ID_PRODUCT_FROM_DATABASE=ST128 MPU Port
-
-pci:v0000128Ed0000000C*
- ID_PRODUCT_FROM_DATABASE=ST128 Ctrl Port
-
-pci:v0000128F*
- ID_VENDOR_FROM_DATABASE=Tateno Dennou, Inc.
-
-pci:v00001290*
- ID_VENDOR_FROM_DATABASE=Sord Computer Corporation
-
-pci:v00001291*
- ID_VENDOR_FROM_DATABASE=NCS Computer Italia
-
-pci:v00001292*
- ID_VENDOR_FROM_DATABASE=Tritech Microelectronics Inc
-
-pci:v00001292d0000FC02*
- ID_PRODUCT_FROM_DATABASE=Pyramid3D TR25202
-
-pci:v00001293*
- ID_VENDOR_FROM_DATABASE=Media Reality Technology
-
-pci:v00001294*
- ID_VENDOR_FROM_DATABASE=Rhetorex, Inc.
-
-pci:v00001295*
- ID_VENDOR_FROM_DATABASE=Imagenation Corporation
-
-pci:v00001295d00000800*
- ID_PRODUCT_FROM_DATABASE=PXR800
-
-pci:v00001295d00001000*
- ID_PRODUCT_FROM_DATABASE=PXD1000
-
-pci:v00001296*
- ID_VENDOR_FROM_DATABASE=Kofax Image Products
-
-pci:v00001297*
- ID_VENDOR_FROM_DATABASE=Holco Enterprise Co, Ltd/Shuttle Computer
-
-pci:v00001298*
- ID_VENDOR_FROM_DATABASE=Spellcaster Telecommunications Inc.
-
-pci:v00001299*
- ID_VENDOR_FROM_DATABASE=Knowledge Technology Lab.
-
-pci:v0000129A*
- ID_VENDOR_FROM_DATABASE=VMetro, inc.
-
-pci:v0000129Ad00000615*
- ID_PRODUCT_FROM_DATABASE=PBT-615 PCI-X Bus Analyzer
-
-pci:v0000129Ad00001100*
- ID_PRODUCT_FROM_DATABASE=PMC-FPGA05
-
-pci:v0000129Ad00001106*
- ID_PRODUCT_FROM_DATABASE=XMC-FPGA05F, PCI interface
-
-pci:v0000129Ad00001107*
- ID_PRODUCT_FROM_DATABASE=XMC-FPGA05F, PCIe interface
-
-pci:v0000129Ad00001108*
- ID_PRODUCT_FROM_DATABASE=XMC-FPGA05D, PCI interface
-
-pci:v0000129Ad00001109*
- ID_PRODUCT_FROM_DATABASE=XMC-FPGA05D, PCIe interface
-
-pci:v0000129B*
- ID_VENDOR_FROM_DATABASE=Image Access
-
-pci:v0000129C*
- ID_VENDOR_FROM_DATABASE=Jaycor
-
-pci:v0000129D*
- ID_VENDOR_FROM_DATABASE=Compcore Multimedia, Inc.
-
-pci:v0000129E*
- ID_VENDOR_FROM_DATABASE=Victor Company of Japan, Ltd.
-
-pci:v0000129F*
- ID_VENDOR_FROM_DATABASE=OEC Medical Systems, Inc.
-
-pci:v000012A0*
- ID_VENDOR_FROM_DATABASE=Allen-Bradley Company
-
-pci:v000012A1*
- ID_VENDOR_FROM_DATABASE=Simpact Associates, Inc.
-
-pci:v000012A2*
- ID_VENDOR_FROM_DATABASE=Newgen Systems Corporation
-
-pci:v000012A3*
- ID_VENDOR_FROM_DATABASE=Lucent Technologies
-
-pci:v000012A3d00008105*
- ID_PRODUCT_FROM_DATABASE=T8105 H100 Digital Switch
-
-pci:v000012A4*
- ID_VENDOR_FROM_DATABASE=NTT Electronics Technology Company
-
-pci:v000012A5*
- ID_VENDOR_FROM_DATABASE=Vision Dynamics Ltd.
-
-pci:v000012A6*
- ID_VENDOR_FROM_DATABASE=Scalable Networks, Inc.
-
-pci:v000012A7*
- ID_VENDOR_FROM_DATABASE=AMO GmbH
-
-pci:v000012A8*
- ID_VENDOR_FROM_DATABASE=News Datacom
-
-pci:v000012A9*
- ID_VENDOR_FROM_DATABASE=Xiotech Corporation
-
-pci:v000012AA*
- ID_VENDOR_FROM_DATABASE=SDL Communications, Inc.
-
-pci:v000012AB*
- ID_VENDOR_FROM_DATABASE=Yuan Yuan Enterprise Co., Ltd.
-
-pci:v000012ABd00000000*
- ID_PRODUCT_FROM_DATABASE=MPG160/Kuroutoshikou ITVC15-STVLP
-
-pci:v000012ABd00000002*
- ID_PRODUCT_FROM_DATABASE=AU8830 [Vortex2] Based Sound Card With A3D Support
-
-pci:v000012ABd00000003*
- ID_PRODUCT_FROM_DATABASE=T507 (DVB-T) TV tuner/capture device
-
-pci:v000012ABd00002300*
- ID_PRODUCT_FROM_DATABASE=Club-3D Zap TV2100
-
-pci:v000012ABd00003000*
- ID_PRODUCT_FROM_DATABASE=MPG-200C PCI DVD Decoder Card
-
-pci:v000012ABd00004789*
- ID_PRODUCT_FROM_DATABASE=MPC788 MiniPCI Hybrid TV Tuner
-
-pci:v000012ABd0000FFF3*
- ID_PRODUCT_FROM_DATABASE=MPG600/Kuroutoshikou ITVC16-STVLP
-
-pci:v000012ABd0000FFFF*
- ID_PRODUCT_FROM_DATABASE=MPG600/Kuroutoshikou ITVC16-STVLP
-
-pci:v000012AC*
- ID_VENDOR_FROM_DATABASE=Measurex Corporation
-
-pci:v000012AD*
- ID_VENDOR_FROM_DATABASE=Multidata GmbH
-
-pci:v000012AE*
- ID_VENDOR_FROM_DATABASE=Alteon Networks Inc.
-
-pci:v000012AEd00000001*
- ID_PRODUCT_FROM_DATABASE=AceNIC Gigabit Ethernet
-
-pci:v000012AEd00000001sv00001014sd00000104*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet-SX PCI Adapter
-
-pci:v000012AEd00000001sv000012AEsd00000001*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet-SX (Universal)
-
-pci:v000012AEd00000001sv00001410sd00000104*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet-SX PCI Adapter
-
-pci:v000012AEd00000002*
- ID_PRODUCT_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper)
-
-pci:v000012AEd00000002sv000010A9sd00008002*
- ID_PRODUCT_FROM_DATABASE=Acenic Gigabit Ethernet
-
-pci:v000012AEd00000002sv000012AEsd00000002*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet-T (3C986-T)
-
-pci:v000012AEd000000FA*
- ID_PRODUCT_FROM_DATABASE=Farallon PN9100-T Gigabit Ethernet
-
-pci:v000012AF*
- ID_VENDOR_FROM_DATABASE=TDK USA Corp
-
-pci:v000012B0*
- ID_VENDOR_FROM_DATABASE=Jorge Scientific Corp
-
-pci:v000012B1*
- ID_VENDOR_FROM_DATABASE=GammaLink
-
-pci:v000012B2*
- ID_VENDOR_FROM_DATABASE=General Signal Networks
-
-pci:v000012B3*
- ID_VENDOR_FROM_DATABASE=Inter-Face Co Ltd
-
-pci:v000012B4*
- ID_VENDOR_FROM_DATABASE=FutureTel Inc
-
-pci:v000012B5*
- ID_VENDOR_FROM_DATABASE=Granite Systems Inc.
-
-pci:v000012B6*
- ID_VENDOR_FROM_DATABASE=Natural Microsystems
-
-pci:v000012B7*
- ID_VENDOR_FROM_DATABASE=Cognex Modular Vision Systems Div. - Acumen Inc.
-
-pci:v000012B8*
- ID_VENDOR_FROM_DATABASE=Korg
-
-pci:v000012B9*
- ID_VENDOR_FROM_DATABASE=3Com Corp, Modem Division
-
-pci:v000012B9d00001006*
- ID_PRODUCT_FROM_DATABASE=WinModem
-
-pci:v000012B9d00001006sv000012B9sd0000005C*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 3472)
-
-pci:v000012B9d00001006sv000012B9sd0000005E*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal WinModem (Models 662975)
-
-pci:v000012B9d00001006sv000012B9sd00000062*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 662978)
-
-pci:v000012B9d00001006sv000012B9sd00000068*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 5690)
-
-pci:v000012B9d00001006sv000012B9sd0000007A*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 662974)
-
-pci:v000012B9d00001006sv000012B9sd0000007F*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal WinModem (Models 5698, 5699)
-
-pci:v000012B9d00001006sv000012B9sd00000080*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal WinModem (Models 2975, 3528)
-
-pci:v000012B9d00001006sv000012B9sd00000081*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal Voice WinModem (Models 2974, 3529)
-
-pci:v000012B9d00001006sv000012B9sd00000091*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 2978)
-
-pci:v000012B9d00001007*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal WinModem
-
-pci:v000012B9d00001007sv000012B9sd000000A3*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal WinModem (Model 3595)
-
-pci:v000012B9d00001007sv000012B9sd000000C4*
- ID_PRODUCT_FROM_DATABASE=U.S. Robotics V.92 Voice Faxmodem (2884A/B/C)
-
-pci:v000012B9d00001008*
- ID_PRODUCT_FROM_DATABASE=56K FaxModem Model 5610
-
-pci:v000012B9d00001008sv000012B9sd000000A2*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal FAX Modem (Model 2977)
-
-pci:v000012B9d00001008sv000012B9sd000000AA*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal Voice Modem (Model 2976)
-
-pci:v000012B9d00001008sv000012B9sd000000AB*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal Voice Modem (Model 5609)
-
-pci:v000012B9d00001008sv000012B9sd000000AC*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal Voice Modem (Model 3298)
-
-pci:v000012B9d00001008sv000012B9sd000000AD*
- ID_PRODUCT_FROM_DATABASE=USR 56k Internal FAX Modem (Model 5610)
-
-pci:v000012B9d00001008sv000012B9sd000000D3*
- ID_PRODUCT_FROM_DATABASE=USR 56K Internal V92 FAX Modem (Model 5610)
-
-pci:v000012B9d00001008sv000012B9sd0000BABA*
- ID_PRODUCT_FROM_DATABASE=USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk]
-
-pci:v000012BA*
- ID_VENDOR_FROM_DATABASE=BittWare, Inc.
-
-pci:v000012BB*
- ID_VENDOR_FROM_DATABASE=Nippon Unisoft Corporation
-
-pci:v000012BC*
- ID_VENDOR_FROM_DATABASE=Array Microsystems
-
-pci:v000012BD*
- ID_VENDOR_FROM_DATABASE=Computerm Corp.
-
-pci:v000012BE*
- ID_VENDOR_FROM_DATABASE=Anchor Chips Inc.
-
-pci:v000012BEd00003041*
- ID_PRODUCT_FROM_DATABASE=AN3041Q CO-MEM
-
-pci:v000012BEd00003042*
- ID_PRODUCT_FROM_DATABASE=AN3042Q CO-MEM Lite
-
-pci:v000012BEd00003042sv000012BEsd00003042*
- ID_PRODUCT_FROM_DATABASE=Anchor Chips Lite Evaluation Board
-
-pci:v000012BF*
- ID_VENDOR_FROM_DATABASE=Fujifilm Microdevices
-
-pci:v000012C0*
- ID_VENDOR_FROM_DATABASE=Infimed
-
-pci:v000012C1*
- ID_VENDOR_FROM_DATABASE=GMM Research Corp
-
-pci:v000012C2*
- ID_VENDOR_FROM_DATABASE=Mentec Limited
-
-pci:v000012C3*
- ID_VENDOR_FROM_DATABASE=Holtek Microelectronics Inc
-
-pci:v000012C3d00000058*
- ID_PRODUCT_FROM_DATABASE=PCI NE2K Ethernet
-
-pci:v000012C3d00005598*
- ID_PRODUCT_FROM_DATABASE=PCI NE2K Ethernet
-
-pci:v000012C4*
- ID_VENDOR_FROM_DATABASE=Connect Tech Inc
-
-pci:v000012C4d00000001*
- ID_PRODUCT_FROM_DATABASE=Blue HEAT/PCI 8 (RS232/CL/RJ11)
-
-pci:v000012C4d00000002*
- ID_PRODUCT_FROM_DATABASE=Blue HEAT/PCI 4 (RS232)
-
-pci:v000012C4d00000003*
- ID_PRODUCT_FROM_DATABASE=Blue HEAT/PCI 2 (RS232)
-
-pci:v000012C4d00000004*
- ID_PRODUCT_FROM_DATABASE=Blue HEAT/PCI 8 (UNIV, RS485)
-
-pci:v000012C4d00000005*
- ID_PRODUCT_FROM_DATABASE=Blue HEAT/PCI 4+4/6+2 (UNIV, RS232/485)
-
-pci:v000012C4d00000006*
- ID_PRODUCT_FROM_DATABASE=Blue HEAT/PCI 4 (OPTO, RS485)
-
-pci:v000012C4d00000007*
- ID_PRODUCT_FROM_DATABASE=Blue HEAT/PCI 2+2 (RS232/485)
-
-pci:v000012C4d00000008*
- ID_PRODUCT_FROM_DATABASE=Blue HEAT/PCI 2 (OPTO, Tx, RS485)
-
-pci:v000012C4d00000009*
- ID_PRODUCT_FROM_DATABASE=Blue HEAT/PCI 2+6 (RS232/485)
-
-pci:v000012C4d0000000A*
- ID_PRODUCT_FROM_DATABASE=Blue HEAT/PCI 8 (Tx, RS485)
-
-pci:v000012C4d0000000B*
- ID_PRODUCT_FROM_DATABASE=Blue HEAT/PCI 4 (Tx, RS485)
-
-pci:v000012C4d0000000C*
- ID_PRODUCT_FROM_DATABASE=Blue HEAT/PCI 2 (20 MHz, RS485)
-
-pci:v000012C4d0000000D*
- ID_PRODUCT_FROM_DATABASE=Blue HEAT/PCI 2 PTM
-
-pci:v000012C4d00000100*
- ID_PRODUCT_FROM_DATABASE=NT960/PCI
-
-pci:v000012C4d00000201*
- ID_PRODUCT_FROM_DATABASE=cPCI Titan - 2 Port
-
-pci:v000012C4d00000202*
- ID_PRODUCT_FROM_DATABASE=cPCI Titan - 4 Port
-
-pci:v000012C4d00000300*
- ID_PRODUCT_FROM_DATABASE=CTI PCI UART 2 (RS232)
-
-pci:v000012C4d00000301*
- ID_PRODUCT_FROM_DATABASE=CTI PCI UART 4 (RS232)
-
-pci:v000012C4d00000302*
- ID_PRODUCT_FROM_DATABASE=CTI PCI UART 8 (RS232)
-
-pci:v000012C4d00000310*
- ID_PRODUCT_FROM_DATABASE=CTI PCI UART 1+1 (RS232/485)
-
-pci:v000012C4d00000311*
- ID_PRODUCT_FROM_DATABASE=CTI PCI UART 2+2 (RS232/485)
-
-pci:v000012C4d00000312*
- ID_PRODUCT_FROM_DATABASE=CTI PCI UART 4+4 (RS232/485)
-
-pci:v000012C4d00000320*
- ID_PRODUCT_FROM_DATABASE=CTI PCI UART 2
-
-pci:v000012C4d00000321*
- ID_PRODUCT_FROM_DATABASE=CTI PCI UART 4
-
-pci:v000012C4d00000322*
- ID_PRODUCT_FROM_DATABASE=CTI PCI UART 8
-
-pci:v000012C4d00000330*
- ID_PRODUCT_FROM_DATABASE=CTI PCI UART 2 (RS485)
-
-pci:v000012C4d00000331*
- ID_PRODUCT_FROM_DATABASE=CTI PCI UART 4 (RS485)
-
-pci:v000012C4d00000332*
- ID_PRODUCT_FROM_DATABASE=CTI PCI UART 8 (RS485)
-
-pci:v000012C5*
- ID_VENDOR_FROM_DATABASE=Picture Elements Incorporated
-
-pci:v000012C5d0000007E*
- ID_PRODUCT_FROM_DATABASE=Imaging/Scanning Subsystem Engine
-
-pci:v000012C5d0000007F*
- ID_PRODUCT_FROM_DATABASE=Imaging/Scanning Subsystem Engine
-
-pci:v000012C5d00000081*
- ID_PRODUCT_FROM_DATABASE=PCIVST [Grayscale Thresholding Engine]
-
-pci:v000012C5d00000085*
- ID_PRODUCT_FROM_DATABASE=Video Simulator/Sender
-
-pci:v000012C5d00000086*
- ID_PRODUCT_FROM_DATABASE=THR2 Multi-scale Thresholder
-
-pci:v000012C6*
- ID_VENDOR_FROM_DATABASE=Mitani Corporation
-
-pci:v000012C7*
- ID_VENDOR_FROM_DATABASE=Dialogic Corp
-
-pci:v000012C7d00000546*
- ID_PRODUCT_FROM_DATABASE=Springware D/120JCT-LS
-
-pci:v000012C7d00000647*
- ID_PRODUCT_FROM_DATABASE=Springware D/240JCT-T1
-
-pci:v000012C7d00000676*
- ID_PRODUCT_FROM_DATABASE=Springware D/41JCT-LS
-
-pci:v000012C7d00000685*
- ID_PRODUCT_FROM_DATABASE=Springware D/480JCT-2T1
-
-pci:v000012C8*
- ID_VENDOR_FROM_DATABASE=G Force Co, Ltd
-
-pci:v000012C9*
- ID_VENDOR_FROM_DATABASE=Gigi Operations
-
-pci:v000012CA*
- ID_VENDOR_FROM_DATABASE=Integrated Computing Engines
-
-pci:v000012CB*
- ID_VENDOR_FROM_DATABASE=Antex Electronics Corporation
-
-pci:v000012CBd00000027*
- ID_PRODUCT_FROM_DATABASE=SC4 (StudioCard)
-
-pci:v000012CBd0000002E*
- ID_PRODUCT_FROM_DATABASE=StudioCard 2000
-
-pci:v000012CC*
- ID_VENDOR_FROM_DATABASE=Pluto Technologies International
-
-pci:v000012CD*
- ID_VENDOR_FROM_DATABASE=Aims Lab
-
-pci:v000012CE*
- ID_VENDOR_FROM_DATABASE=Netspeed Inc.
-
-pci:v000012CF*
- ID_VENDOR_FROM_DATABASE=Prophet Systems, Inc.
-
-pci:v000012D0*
- ID_VENDOR_FROM_DATABASE=GDE Systems, Inc.
-
-pci:v000012D1*
- ID_VENDOR_FROM_DATABASE=PSITech
-
-pci:v000012D2*
- ID_VENDOR_FROM_DATABASE=NVidia / SGS Thomson (Joint Venture)
-
-pci:v000012D2d00000008*
- ID_PRODUCT_FROM_DATABASE=NV1
-
-pci:v000012D2d00000009*
- ID_PRODUCT_FROM_DATABASE=DAC64
-
-pci:v000012D2d00000018*
- ID_PRODUCT_FROM_DATABASE=Riva128
-
-pci:v000012D2d00000018sv00001048sd00000C10*
- ID_PRODUCT_FROM_DATABASE=VICTORY Erazor
-
-pci:v000012D2d00000018sv0000107Bsd00008030*
- ID_PRODUCT_FROM_DATABASE=STB Velocity 128
-
-pci:v000012D2d00000018sv00001092sd00000350*
- ID_PRODUCT_FROM_DATABASE=Viper V330
-
-pci:v000012D2d00000018sv00001092sd00001092*
- ID_PRODUCT_FROM_DATABASE=Viper V330
-
-pci:v000012D2d00000018sv000010B4sd00001B1B*
- ID_PRODUCT_FROM_DATABASE=STB Velocity 128
-
-pci:v000012D2d00000018sv000010B4sd00001B1D*
- ID_PRODUCT_FROM_DATABASE=STB Velocity 128
-
-pci:v000012D2d00000018sv000010B4sd00001B1E*
- ID_PRODUCT_FROM_DATABASE=STB Velocity 128, PAL TV-Out
-
-pci:v000012D2d00000018sv000010B4sd00001B20*
- ID_PRODUCT_FROM_DATABASE=STB Velocity 128 Sapphire
-
-pci:v000012D2d00000018sv000010B4sd00001B21*
- ID_PRODUCT_FROM_DATABASE=STB Velocity 128
-
-pci:v000012D2d00000018sv000010B4sd00001B22*
- ID_PRODUCT_FROM_DATABASE=STB Velocity 128 AGP, NTSC TV-Out
-
-pci:v000012D2d00000018sv000010B4sd00001B23*
- ID_PRODUCT_FROM_DATABASE=STB Velocity 128 AGP, PAL TV-Out
-
-pci:v000012D2d00000018sv000010B4sd00001B27*
- ID_PRODUCT_FROM_DATABASE=STB Velocity 128 DVD
-
-pci:v000012D2d00000018sv000010B4sd00001B88*
- ID_PRODUCT_FROM_DATABASE=MVP Pro 128
-
-pci:v000012D2d00000018sv000010B4sd0000222A*
- ID_PRODUCT_FROM_DATABASE=STB Velocity 128 AGP
-
-pci:v000012D2d00000018sv000010B4sd00002230*
- ID_PRODUCT_FROM_DATABASE=STB Velocity 128
-
-pci:v000012D2d00000018sv000010B4sd00002232*
- ID_PRODUCT_FROM_DATABASE=STB Velocity 128
-
-pci:v000012D2d00000018sv000010B4sd00002235*
- ID_PRODUCT_FROM_DATABASE=STB Velocity 128 AGP
-
-pci:v000012D2d00000018sv00002A15sd000054A3*
- ID_PRODUCT_FROM_DATABASE=3DVision-SAGP / 3DexPlorer 3000
-
-pci:v000012D2d00000019*
- ID_PRODUCT_FROM_DATABASE=Riva128ZX
-
-pci:v000012D2d00000020*
- ID_PRODUCT_FROM_DATABASE=TNT
-
-pci:v000012D2d00000028*
- ID_PRODUCT_FROM_DATABASE=TNT2
-
-pci:v000012D2d00000029*
- ID_PRODUCT_FROM_DATABASE=UTNT2
-
-pci:v000012D2d0000002C*
- ID_PRODUCT_FROM_DATABASE=VTNT2
-
-pci:v000012D2d000000A0*
- ID_PRODUCT_FROM_DATABASE=ITNT2
-
-pci:v000012D3*
- ID_VENDOR_FROM_DATABASE=Vingmed Sound A/S
-
-pci:v000012D4*
- ID_VENDOR_FROM_DATABASE=Ulticom (Formerly DGM&S)
-
-pci:v000012D4d00000200*
- ID_PRODUCT_FROM_DATABASE=T1 Card
-
-pci:v000012D5*
- ID_VENDOR_FROM_DATABASE=Equator Technologies Inc
-
-pci:v000012D5d00000003*
- ID_PRODUCT_FROM_DATABASE=BSP16
-
-pci:v000012D5d00001000*
- ID_PRODUCT_FROM_DATABASE=BSP15
-
-pci:v000012D6*
- ID_VENDOR_FROM_DATABASE=Analogic Corp
-
-pci:v000012D7*
- ID_VENDOR_FROM_DATABASE=Biotronic SRL
-
-pci:v000012D8*
- ID_VENDOR_FROM_DATABASE=Pericom Semiconductor
-
-pci:v000012D8d000001A7*
- ID_PRODUCT_FROM_DATABASE=PI7C21P100 PCI to PCI Bridge
-
-pci:v000012D8d0000400A*
- ID_PRODUCT_FROM_DATABASE=PI7C9X442SL PCI Express Bridge Port
-
-pci:v000012D8d0000400E*
- ID_PRODUCT_FROM_DATABASE=PI7C9X442SL USB OHCI Controller
-
-pci:v000012D8d0000400F*
- ID_PRODUCT_FROM_DATABASE=PI7C9X442SL USB EHCI Controller
-
-pci:v000012D8d000071E2*
- ID_PRODUCT_FROM_DATABASE=PI7C7300A/PI7C7300D PCI-to-PCI Bridge
-
-pci:v000012D8d000071E3*
- ID_PRODUCT_FROM_DATABASE=PI7C7300A/PI7C7300D PCI-to-PCI Bridge (Secondary Bus 2)
-
-pci:v000012D8d00008140*
- ID_PRODUCT_FROM_DATABASE=PI7C8140A PCI-to-PCI Bridge
-
-pci:v000012D8d00008148*
- ID_PRODUCT_FROM_DATABASE=PI7C8148A/PI7C8148B PCI-to-PCI Bridge
-
-pci:v000012D8d00008150*
- ID_PRODUCT_FROM_DATABASE=PCI to PCI Bridge
-
-pci:v000012D8d00008152*
- ID_PRODUCT_FROM_DATABASE=PI7C8152A/PI7C8152B/PI7C8152BI PCI-to-PCI Bridge
-
-pci:v000012D8d00008154*
- ID_PRODUCT_FROM_DATABASE=PI7C8154A/PI7C8154B/PI7C8154BI PCI-to-PCI Bridge
-
-pci:v000012D8d0000E110*
- ID_PRODUCT_FROM_DATABASE=PI7C9X110 PCI Express to PCI bridge
-
-pci:v000012D8d0000E110sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11 CompactPCI Bridge
-
-pci:v000012D8d0000E130*
- ID_PRODUCT_FROM_DATABASE=PCI Express to PCI-XPI7C9X130 PCI-X Bridge
-
-pci:v000012D9*
- ID_VENDOR_FROM_DATABASE=Aculab PLC
-
-pci:v000012D9d00000002*
- ID_PRODUCT_FROM_DATABASE=PCI Prosody
-
-pci:v000012D9d00000004*
- ID_PRODUCT_FROM_DATABASE=cPCI Prosody
-
-pci:v000012D9d00000005*
- ID_PRODUCT_FROM_DATABASE=Aculab E1/T1 PCI card
-
-pci:v000012D9d00001078*
- ID_PRODUCT_FROM_DATABASE=Prosody X class e1000 device
-
-pci:v000012D9d00001078sv000012D9sd0000000D*
- ID_PRODUCT_FROM_DATABASE=Prosody X PCI
-
-pci:v000012D9d00001078sv000012D9sd0000000E*
- ID_PRODUCT_FROM_DATABASE=Prosody X cPCI
-
-pci:v000012DA*
- ID_VENDOR_FROM_DATABASE=True Time Inc.
-
-pci:v000012DB*
- ID_VENDOR_FROM_DATABASE=Annapolis Micro Systems, Inc
-
-pci:v000012DC*
- ID_VENDOR_FROM_DATABASE=Symicron Computer Communication Ltd.
-
-pci:v000012DD*
- ID_VENDOR_FROM_DATABASE=Management Graphics
-
-pci:v000012DE*
- ID_VENDOR_FROM_DATABASE=Rainbow Technologies
-
-pci:v000012DEd00000200*
- ID_PRODUCT_FROM_DATABASE=CryptoSwift CS200
-
-pci:v000012DF*
- ID_VENDOR_FROM_DATABASE=SBS Technologies Inc
-
-pci:v000012E0*
- ID_VENDOR_FROM_DATABASE=Chase Research
-
-pci:v000012E0d00000010*
- ID_PRODUCT_FROM_DATABASE=ST16C654 Quad UART
-
-pci:v000012E0d00000020*
- ID_PRODUCT_FROM_DATABASE=ST16C654 Quad UART
-
-pci:v000012E0d00000030*
- ID_PRODUCT_FROM_DATABASE=ST16C654 Quad UART
-
-pci:v000012E1*
- ID_VENDOR_FROM_DATABASE=Nintendo Co, Ltd
-
-pci:v000012E2*
- ID_VENDOR_FROM_DATABASE=Datum Inc. Bancomm-Timing Division
-
-pci:v000012E3*
- ID_VENDOR_FROM_DATABASE=Imation Corp - Medical Imaging Systems
-
-pci:v000012E4*
- ID_VENDOR_FROM_DATABASE=Brooktrout Technology Inc
-
-pci:v000012E5*
- ID_VENDOR_FROM_DATABASE=Apex Semiconductor Inc
-
-pci:v000012E6*
- ID_VENDOR_FROM_DATABASE=Cirel Systems
-
-pci:v000012E7*
- ID_VENDOR_FROM_DATABASE=Sunsgroup Corporation
-
-pci:v000012E8*
- ID_VENDOR_FROM_DATABASE=Crisc Corp
-
-pci:v000012E9*
- ID_VENDOR_FROM_DATABASE=GE Spacenet
-
-pci:v000012EA*
- ID_VENDOR_FROM_DATABASE=Zuken
-
-pci:v000012EB*
- ID_VENDOR_FROM_DATABASE=Aureal Semiconductor
-
-pci:v000012EBd00000001*
- ID_PRODUCT_FROM_DATABASE=Vortex 1
-
-pci:v000012EBd00000001sv0000104Dsd00008036*
- ID_PRODUCT_FROM_DATABASE=AU8820 Vortex Digital Audio Processor
-
-pci:v000012EBd00000001sv00001092sd00002000*
- ID_PRODUCT_FROM_DATABASE=Sonic Impact A3D
-
-pci:v000012EBd00000001sv00001092sd00002100*
- ID_PRODUCT_FROM_DATABASE=Sonic Impact A3D
-
-pci:v000012EBd00000001sv00001092sd00002110*
- ID_PRODUCT_FROM_DATABASE=Sonic Impact A3D
-
-pci:v000012EBd00000001sv00001092sd00002200*
- ID_PRODUCT_FROM_DATABASE=Sonic Impact A3D
-
-pci:v000012EBd00000001sv0000122Dsd00001002*
- ID_PRODUCT_FROM_DATABASE=AU8820 Vortex Digital Audio Processor
-
-pci:v000012EBd00000001sv000012EBsd00000001*
- ID_PRODUCT_FROM_DATABASE=AU8820 Vortex Digital Audio Processor
-
-pci:v000012EBd00000001sv00005053sd00003355*
- ID_PRODUCT_FROM_DATABASE=Montego
-
-pci:v000012EBd00000002*
- ID_PRODUCT_FROM_DATABASE=Vortex 2
-
-pci:v000012EBd00000002sv0000104Dsd00008049*
- ID_PRODUCT_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor
-
-pci:v000012EBd00000002sv0000104Dsd0000807B*
- ID_PRODUCT_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor
-
-pci:v000012EBd00000002sv00001092sd00003000*
- ID_PRODUCT_FROM_DATABASE=Monster Sound II
-
-pci:v000012EBd00000002sv00001092sd00003001*
- ID_PRODUCT_FROM_DATABASE=Monster Sound II
-
-pci:v000012EBd00000002sv00001092sd00003002*
- ID_PRODUCT_FROM_DATABASE=Monster Sound II
-
-pci:v000012EBd00000002sv00001092sd00003003*
- ID_PRODUCT_FROM_DATABASE=Monster Sound II
-
-pci:v000012EBd00000002sv00001092sd00003004*
- ID_PRODUCT_FROM_DATABASE=Monster Sound II
-
-pci:v000012EBd00000002sv000012EBsd00000002*
- ID_PRODUCT_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor
-
-pci:v000012EBd00000002sv000012EBsd00000088*
- ID_PRODUCT_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor
-
-pci:v000012EBd00000002sv0000144Dsd00003510*
- ID_PRODUCT_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor
-
-pci:v000012EBd00000002sv00005053sd00003356*
- ID_PRODUCT_FROM_DATABASE=Montego II
-
-pci:v000012EBd00000003*
- ID_PRODUCT_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
-
-pci:v000012EBd00000003sv0000104Dsd00008049*
- ID_PRODUCT_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
-
-pci:v000012EBd00000003sv0000104Dsd00008077*
- ID_PRODUCT_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
-
-pci:v000012EBd00000003sv0000109Fsd00001000*
- ID_PRODUCT_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
-
-pci:v000012EBd00000003sv000012EBsd00000003*
- ID_PRODUCT_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
-
-pci:v000012EBd00000003sv00001462sd00006780*
- ID_PRODUCT_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
-
-pci:v000012EBd00000003sv000014A4sd00002073*
- ID_PRODUCT_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
-
-pci:v000012EBd00000003sv000014A4sd00002091*
- ID_PRODUCT_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
-
-pci:v000012EBd00000003sv000014A4sd00002104*
- ID_PRODUCT_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
-
-pci:v000012EBd00000003sv000014A4sd00002106*
- ID_PRODUCT_FROM_DATABASE=AU8810 Vortex Digital Audio Processor
-
-pci:v000012EBd00008803*
- ID_PRODUCT_FROM_DATABASE=Vortex 56k Software Modem
-
-pci:v000012EBd00008803sv000012EBsd00008803*
- ID_PRODUCT_FROM_DATABASE=Vortex 56k Software Modem
-
-pci:v000012EC*
- ID_VENDOR_FROM_DATABASE=3A International, Inc.
-
-pci:v000012ED*
- ID_VENDOR_FROM_DATABASE=Optivision Inc.
-
-pci:v000012EE*
- ID_VENDOR_FROM_DATABASE=Orange Micro
-
-pci:v000012EF*
- ID_VENDOR_FROM_DATABASE=Vienna Systems
-
-pci:v000012F0*
- ID_VENDOR_FROM_DATABASE=Pentek
-
-pci:v000012F1*
- ID_VENDOR_FROM_DATABASE=Sorenson Vision Inc
-
-pci:v000012F2*
- ID_VENDOR_FROM_DATABASE=Gammagraphx, Inc.
-
-pci:v000012F3*
- ID_VENDOR_FROM_DATABASE=Radstone Technology
-
-pci:v000012F4*
- ID_VENDOR_FROM_DATABASE=Megatel
-
-pci:v000012F5*
- ID_VENDOR_FROM_DATABASE=Forks
-
-pci:v000012F6*
- ID_VENDOR_FROM_DATABASE=Dawson France
-
-pci:v000012F7*
- ID_VENDOR_FROM_DATABASE=Cognex
-
-pci:v000012F8*
- ID_VENDOR_FROM_DATABASE=Electronic Design GmbH
-
-pci:v000012F8d00000002*
- ID_PRODUCT_FROM_DATABASE=VideoMaker
-
-pci:v000012F9*
- ID_VENDOR_FROM_DATABASE=Four Fold Ltd
-
-pci:v000012FB*
- ID_VENDOR_FROM_DATABASE=Spectrum Signal Processing
-
-pci:v000012FBd00000001*
- ID_PRODUCT_FROM_DATABASE=PMC-MAI
-
-pci:v000012FBd000000F5*
- ID_PRODUCT_FROM_DATABASE=F5 Dakar
-
-pci:v000012FBd000002AD*
- ID_PRODUCT_FROM_DATABASE=PMC-2MAI
-
-pci:v000012FBd00002ADC*
- ID_PRODUCT_FROM_DATABASE=ePMC-2ADC
-
-pci:v000012FBd00003100*
- ID_PRODUCT_FROM_DATABASE=PRO-3100
-
-pci:v000012FBd00003500*
- ID_PRODUCT_FROM_DATABASE=PRO-3500
-
-pci:v000012FBd00004D4F*
- ID_PRODUCT_FROM_DATABASE=Modena
-
-pci:v000012FBd00008120*
- ID_PRODUCT_FROM_DATABASE=ePMC-8120
-
-pci:v000012FBd0000DA62*
- ID_PRODUCT_FROM_DATABASE=Daytona C6201 PCI (Hurricane)
-
-pci:v000012FBd0000DB62*
- ID_PRODUCT_FROM_DATABASE=Ingliston XBIF
-
-pci:v000012FBd0000DC62*
- ID_PRODUCT_FROM_DATABASE=Ingliston PLX9054
-
-pci:v000012FBd0000DD62*
- ID_PRODUCT_FROM_DATABASE=Ingliston JTAG/ISP
-
-pci:v000012FBd0000EDDC*
- ID_PRODUCT_FROM_DATABASE=ePMC-MSDDC
-
-pci:v000012FBd0000FA01*
- ID_PRODUCT_FROM_DATABASE=ePMC-FPGA
-
-pci:v000012FC*
- ID_VENDOR_FROM_DATABASE=Capital Equipment Corp
-
-pci:v000012FD*
- ID_VENDOR_FROM_DATABASE=I2S
-
-pci:v000012FE*
- ID_VENDOR_FROM_DATABASE=ESD Electronic System Design GmbH
-
-pci:v000012FF*
- ID_VENDOR_FROM_DATABASE=Lexicon
-
-pci:v00001300*
- ID_VENDOR_FROM_DATABASE=Harman International Industries Inc
-
-pci:v00001302*
- ID_VENDOR_FROM_DATABASE=Computer Sciences Corp
-
-pci:v00001303*
- ID_VENDOR_FROM_DATABASE=Innovative Integration
-
-pci:v00001303d00000030*
- ID_PRODUCT_FROM_DATABASE=X3-SDF 4-channel XMC acquisition board
-
-pci:v00001304*
- ID_VENDOR_FROM_DATABASE=Juniper Networks
-
-pci:v00001305*
- ID_VENDOR_FROM_DATABASE=Netphone, Inc
-
-pci:v00001306*
- ID_VENDOR_FROM_DATABASE=Duet Technologies
-
-pci:v00001307*
- ID_VENDOR_FROM_DATABASE=Measurement Computing
-
-pci:v00001307d00000001*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS1602/16
-
-pci:v00001307d0000000B*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO48H
-
-pci:v00001307d0000000C*
- ID_PRODUCT_FROM_DATABASE=PCI-PDISO8
-
-pci:v00001307d0000000D*
- ID_PRODUCT_FROM_DATABASE=PCI-PDISO16
-
-pci:v00001307d0000000F*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS1200
-
-pci:v00001307d00000010*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS1602/12
-
-pci:v00001307d00000014*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO24H
-
-pci:v00001307d00000015*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO24H/CTR3
-
-pci:v00001307d00000016*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO48H/CTR15
-
-pci:v00001307d00000017*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO96H
-
-pci:v00001307d00000018*
- ID_PRODUCT_FROM_DATABASE=PCI-CTR05
-
-pci:v00001307d00000019*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS1200/JR
-
-pci:v00001307d0000001A*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS1001
-
-pci:v00001307d0000001B*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS1002
-
-pci:v00001307d0000001C*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS1602JR/16
-
-pci:v00001307d0000001D*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6402/16
-
-pci:v00001307d0000001E*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6402/12
-
-pci:v00001307d0000001F*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS16/M1
-
-pci:v00001307d00000020*
- ID_PRODUCT_FROM_DATABASE=PCI-DDA02/12
-
-pci:v00001307d00000021*
- ID_PRODUCT_FROM_DATABASE=PCI-DDA04/12
-
-pci:v00001307d00000022*
- ID_PRODUCT_FROM_DATABASE=PCI-DDA08/12
-
-pci:v00001307d00000023*
- ID_PRODUCT_FROM_DATABASE=PCI-DDA02/16
-
-pci:v00001307d00000024*
- ID_PRODUCT_FROM_DATABASE=PCI-DDA04/16
-
-pci:v00001307d00000025*
- ID_PRODUCT_FROM_DATABASE=PCI-DDA08/16
-
-pci:v00001307d00000026*
- ID_PRODUCT_FROM_DATABASE=PCI-DAC04/12-HS
-
-pci:v00001307d00000027*
- ID_PRODUCT_FROM_DATABASE=PCI-DAC04/16-HS
-
-pci:v00001307d00000028*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO24
-
-pci:v00001307d00000029*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS08
-
-pci:v00001307d0000002C*
- ID_PRODUCT_FROM_DATABASE=PCI-INT32
-
-pci:v00001307d00000033*
- ID_PRODUCT_FROM_DATABASE=PCI-DUAL-AC5
-
-pci:v00001307d00000034*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS-TC
-
-pci:v00001307d00000035*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS64/M1/16
-
-pci:v00001307d00000036*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS64/M2/16
-
-pci:v00001307d00000037*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS64/M3/16
-
-pci:v00001307d0000004C*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS1000
-
-pci:v00001307d0000004D*
- ID_PRODUCT_FROM_DATABASE=PCI-QUAD04
-
-pci:v00001307d00000052*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS4020/12
-
-pci:v00001307d00000053*
- ID_PRODUCT_FROM_DATABASE=PCIM-DDA06/16
-
-pci:v00001307d00000054*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO96
-
-pci:v00001307d0000005D*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6023
-
-pci:v00001307d0000005E*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6025
-
-pci:v00001307d0000005F*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6030
-
-pci:v00001307d00000060*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6031
-
-pci:v00001307d00000061*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6032
-
-pci:v00001307d00000062*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6033
-
-pci:v00001307d00000063*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6034
-
-pci:v00001307d00000064*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6035
-
-pci:v00001307d00000065*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6040
-
-pci:v00001307d00000066*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6052
-
-pci:v00001307d00000067*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6070
-
-pci:v00001307d00000068*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6071
-
-pci:v00001307d0000006F*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6036
-
-pci:v00001307d00000070*
- ID_PRODUCT_FROM_DATABASE=PCI-DAC6702
-
-pci:v00001307d00000078*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6013
-
-pci:v00001307d00000079*
- ID_PRODUCT_FROM_DATABASE=PCI-DAS6014
-
-pci:v00001307d00000115*
- ID_PRODUCT_FROM_DATABASE=PCIe-DAS1602/16
-
-pci:v00001308*
- ID_VENDOR_FROM_DATABASE=Jato Technologies Inc.
-
-pci:v00001308d00000001*
- ID_PRODUCT_FROM_DATABASE=NetCelerator Adapter
-
-pci:v00001308d00000001sv00001308sd00000001*
- ID_PRODUCT_FROM_DATABASE=NetCelerator Adapter
-
-pci:v00001309*
- ID_VENDOR_FROM_DATABASE=AB Semiconductor Ltd
-
-pci:v0000130A*
- ID_VENDOR_FROM_DATABASE=Mitsubishi Electric Microcomputer
-
-pci:v0000130B*
- ID_VENDOR_FROM_DATABASE=Colorgraphic Communications Corp
-
-pci:v0000130C*
- ID_VENDOR_FROM_DATABASE=Ambex Technologies, Inc
-
-pci:v0000130D*
- ID_VENDOR_FROM_DATABASE=Accelerix Inc
-
-pci:v0000130E*
- ID_VENDOR_FROM_DATABASE=Yamatake-Honeywell Co. Ltd
-
-pci:v0000130F*
- ID_VENDOR_FROM_DATABASE=Advanet Inc
-
-pci:v00001310*
- ID_VENDOR_FROM_DATABASE=Gespac
-
-pci:v00001311*
- ID_VENDOR_FROM_DATABASE=Videoserver, Inc
-
-pci:v00001312*
- ID_VENDOR_FROM_DATABASE=Acuity Imaging, Inc
-
-pci:v00001313*
- ID_VENDOR_FROM_DATABASE=Yaskawa Electric Co.
-
-pci:v00001315*
- ID_VENDOR_FROM_DATABASE=Wavesat
-
-pci:v00001316*
- ID_VENDOR_FROM_DATABASE=Teradyne Inc
-
-pci:v00001317*
- ID_VENDOR_FROM_DATABASE=ADMtek
-
-pci:v00001317d00000981*
- ID_PRODUCT_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
-
-pci:v00001317d00000985*
- ID_PRODUCT_FROM_DATABASE=NC100 Network Everywhere Fast Ethernet 10/100
-
-pci:v00001317d00000985sv00001734sd0000100C*
- ID_PRODUCT_FROM_DATABASE=Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter
-
-pci:v00001317d00001985*
- ID_PRODUCT_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
-
-pci:v00001317d00001985sv00001385sd0000511A*
- ID_PRODUCT_FROM_DATABASE=FA511
-
-pci:v00001317d00001985sv00001395sd00002103*
- ID_PRODUCT_FROM_DATABASE=CB100-EZ (4-LED version)
-
-pci:v00001317d00002850*
- ID_PRODUCT_FROM_DATABASE=HSP MicroModem 56
-
-pci:v00001317d00005120*
- ID_PRODUCT_FROM_DATABASE=ADM5120 OpenGate System-on-Chip
-
-pci:v00001317d00008201*
- ID_PRODUCT_FROM_DATABASE=ADM8211 802.11b Wireless Interface
-
-pci:v00001317d00008201sv000010B8sd00002635*
- ID_PRODUCT_FROM_DATABASE=SMC2635W v1 802.11b Wireless Cardbus Adapter
-
-pci:v00001317d00008201sv00001317sd00008201*
- ID_PRODUCT_FROM_DATABASE=SMC2635W v2 802.11b Wireless Cardbus Adapter
-
-pci:v00001317d00008211*
- ID_PRODUCT_FROM_DATABASE=ADM8211 802.11b Wireless Interface
-
-pci:v00001317d00009511*
- ID_PRODUCT_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
-
-pci:v00001318*
- ID_VENDOR_FROM_DATABASE=Packet Engines Inc.
-
-pci:v00001318d00000911*
- ID_PRODUCT_FROM_DATABASE=GNIC-II PCI Gigabit Ethernet [Hamachi]
-
-pci:v00001319*
- ID_VENDOR_FROM_DATABASE=Fortemedia, Inc
-
-pci:v00001319d00000801*
- ID_PRODUCT_FROM_DATABASE=Xwave QS3000A [FM801]
-
-pci:v00001319d00000801sv00001319sd00001319*
- ID_PRODUCT_FROM_DATABASE=FM801 PCI Audio
-
-pci:v00001319d00000802*
- ID_PRODUCT_FROM_DATABASE=Xwave QS3000A [FM801 game port]
-
-pci:v00001319d00000802sv00001319sd00001319*
- ID_PRODUCT_FROM_DATABASE=FM801 PCI Joystick
-
-pci:v00001319d00001000*
- ID_PRODUCT_FROM_DATABASE=FM801 PCI Audio
-
-pci:v00001319d00001001*
- ID_PRODUCT_FROM_DATABASE=FM801 PCI Joystick
-
-pci:v0000131A*
- ID_VENDOR_FROM_DATABASE=Finisar Corp.
-
-pci:v0000131C*
- ID_VENDOR_FROM_DATABASE=Nippon Electro-Sensory Devices Corp
-
-pci:v0000131D*
- ID_VENDOR_FROM_DATABASE=Sysmic, Inc.
-
-pci:v0000131E*
- ID_VENDOR_FROM_DATABASE=Xinex Networks Inc
-
-pci:v0000131F*
- ID_VENDOR_FROM_DATABASE=Siig Inc
-
-pci:v0000131Fd00001000*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (1-port) 16550
-
-pci:v0000131Fd00001001*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (1-port) 16650
-
-pci:v0000131Fd00001002*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (1-port) 16850
-
-pci:v0000131Fd00001010*
- ID_PRODUCT_FROM_DATABASE=Duet 1S(16550)+1P
-
-pci:v0000131Fd00001011*
- ID_PRODUCT_FROM_DATABASE=Duet 1S(16650)+1P
-
-pci:v0000131Fd00001012*
- ID_PRODUCT_FROM_DATABASE=Duet 1S(16850)+1P
-
-pci:v0000131Fd00001020*
- ID_PRODUCT_FROM_DATABASE=CyberParallel (1-port)
-
-pci:v0000131Fd00001021*
- ID_PRODUCT_FROM_DATABASE=CyberParallel (2-port)
-
-pci:v0000131Fd00001030*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (2-port) 16550
-
-pci:v0000131Fd00001031*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (2-port) 16650
-
-pci:v0000131Fd00001032*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (2-port) 16850
-
-pci:v0000131Fd00001034*
- ID_PRODUCT_FROM_DATABASE=Trio 2S(16550)+1P
-
-pci:v0000131Fd00001035*
- ID_PRODUCT_FROM_DATABASE=Trio 2S(16650)+1P
-
-pci:v0000131Fd00001036*
- ID_PRODUCT_FROM_DATABASE=Trio 2S(16850)+1P
-
-pci:v0000131Fd00001050*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (4-port) 16550
-
-pci:v0000131Fd00001051*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (4-port) 16650
-
-pci:v0000131Fd00001052*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (4-port) 16850
-
-pci:v0000131Fd00002000*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (1-port) 16550
-
-pci:v0000131Fd00002001*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (1-port) 16650
-
-pci:v0000131Fd00002002*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (1-port) 16850
-
-pci:v0000131Fd00002010*
- ID_PRODUCT_FROM_DATABASE=Duet 1S(16550)+1P
-
-pci:v0000131Fd00002011*
- ID_PRODUCT_FROM_DATABASE=Duet 1S(16650)+1P
-
-pci:v0000131Fd00002012*
- ID_PRODUCT_FROM_DATABASE=Duet 1S(16850)+1P
-
-pci:v0000131Fd00002020*
- ID_PRODUCT_FROM_DATABASE=CyberParallel (1-port)
-
-pci:v0000131Fd00002021*
- ID_PRODUCT_FROM_DATABASE=CyberParallel (2-port)
-
-pci:v0000131Fd00002030*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (2-port) 16550
-
-pci:v0000131Fd00002030sv0000131Fsd00002030*
- ID_PRODUCT_FROM_DATABASE=PCI Serial Card
-
-pci:v0000131Fd00002031*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (2-port) 16650
-
-pci:v0000131Fd00002032*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (2-port) 16850
-
-pci:v0000131Fd00002040*
- ID_PRODUCT_FROM_DATABASE=Trio 1S(16550)+2P
-
-pci:v0000131Fd00002041*
- ID_PRODUCT_FROM_DATABASE=Trio 1S(16650)+2P
-
-pci:v0000131Fd00002042*
- ID_PRODUCT_FROM_DATABASE=Trio 1S(16850)+2P
-
-pci:v0000131Fd00002050*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (4-port) 16550
-
-pci:v0000131Fd00002051*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (4-port) 16650
-
-pci:v0000131Fd00002052*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (4-port) 16850
-
-pci:v0000131Fd00002060*
- ID_PRODUCT_FROM_DATABASE=Trio 2S(16550)+1P
-
-pci:v0000131Fd00002061*
- ID_PRODUCT_FROM_DATABASE=Trio 2S(16650)+1P
-
-pci:v0000131Fd00002062*
- ID_PRODUCT_FROM_DATABASE=Trio 2S(16850)+1P
-
-pci:v0000131Fd00002081*
- ID_PRODUCT_FROM_DATABASE=CyberSerial (8-port) ST16654
-
-pci:v00001320*
- ID_VENDOR_FROM_DATABASE=Crypto AG
-
-pci:v00001321*
- ID_VENDOR_FROM_DATABASE=Arcobel Graphics BV
-
-pci:v00001322*
- ID_VENDOR_FROM_DATABASE=MTT Co., Ltd
-
-pci:v00001323*
- ID_VENDOR_FROM_DATABASE=Dome Inc
-
-pci:v00001324*
- ID_VENDOR_FROM_DATABASE=Sphere Communications
-
-pci:v00001325*
- ID_VENDOR_FROM_DATABASE=Salix Technologies, Inc
-
-pci:v00001326*
- ID_VENDOR_FROM_DATABASE=Seachange international
-
-pci:v00001327*
- ID_VENDOR_FROM_DATABASE=Voss scientific
-
-pci:v00001328*
- ID_VENDOR_FROM_DATABASE=quadrant international
-
-pci:v00001329*
- ID_VENDOR_FROM_DATABASE=Productivity Enhancement
-
-pci:v0000132A*
- ID_VENDOR_FROM_DATABASE=Microcom Inc.
-
-pci:v0000132B*
- ID_VENDOR_FROM_DATABASE=Broadband Technologies
-
-pci:v0000132C*
- ID_VENDOR_FROM_DATABASE=Micrel Inc
-
-pci:v0000132D*
- ID_VENDOR_FROM_DATABASE=Integrated Silicon Solution, Inc.
-
-pci:v00001330*
- ID_VENDOR_FROM_DATABASE=MMC Networks
-
-pci:v00001331*
- ID_VENDOR_FROM_DATABASE=RadiSys Corporation
-
-pci:v00001331d00000030*
- ID_PRODUCT_FROM_DATABASE=ENP-2611
-
-pci:v00001331d00008200*
- ID_PRODUCT_FROM_DATABASE=82600 Host Bridge
-
-pci:v00001331d00008201*
- ID_PRODUCT_FROM_DATABASE=82600 IDE
-
-pci:v00001331d00008202*
- ID_PRODUCT_FROM_DATABASE=82600 USB
-
-pci:v00001331d00008210*
- ID_PRODUCT_FROM_DATABASE=82600 PCI Bridge
-
-pci:v00001332*
- ID_VENDOR_FROM_DATABASE=Micro Memory
-
-pci:v00001332d00005415*
- ID_PRODUCT_FROM_DATABASE=MM-5415CN PCI Memory Module with Battery Backup
-
-pci:v00001332d00005425*
- ID_PRODUCT_FROM_DATABASE=MM-5425CN PCI 64/66 Memory Module with Battery Backup
-
-pci:v00001332d00006140*
- ID_PRODUCT_FROM_DATABASE=MM-6140D
-
-pci:v00001334*
- ID_VENDOR_FROM_DATABASE=Redcreek Communications, Inc
-
-pci:v00001335*
- ID_VENDOR_FROM_DATABASE=Videomail, Inc
-
-pci:v00001337*
- ID_VENDOR_FROM_DATABASE=Third Planet Publishing
-
-pci:v00001338*
- ID_VENDOR_FROM_DATABASE=BT Electronics
-
-pci:v0000133A*
- ID_VENDOR_FROM_DATABASE=Vtel Corp
-
-pci:v0000133B*
- ID_VENDOR_FROM_DATABASE=Softcom Microsystems
-
-pci:v0000133C*
- ID_VENDOR_FROM_DATABASE=Holontech Corp
-
-pci:v0000133D*
- ID_VENDOR_FROM_DATABASE=SS Technologies
-
-pci:v0000133E*
- ID_VENDOR_FROM_DATABASE=Virtual Computer Corp
-
-pci:v0000133F*
- ID_VENDOR_FROM_DATABASE=SCM Microsystems
-
-pci:v00001340*
- ID_VENDOR_FROM_DATABASE=Atalla Corp
-
-pci:v00001341*
- ID_VENDOR_FROM_DATABASE=Kyoto Microcomputer Co
-
-pci:v00001342*
- ID_VENDOR_FROM_DATABASE=Promax Systems Inc
-
-pci:v00001343*
- ID_VENDOR_FROM_DATABASE=Phylon Communications Inc
-
-pci:v00001344*
- ID_VENDOR_FROM_DATABASE=Micron Technology Inc
-
-pci:v00001344d00005150*
- ID_PRODUCT_FROM_DATABASE=RealSSD P320h
-
-pci:v00001344d00005151*
- ID_PRODUCT_FROM_DATABASE=RealSSD P320m
-
-pci:v00001344d00005152*
- ID_PRODUCT_FROM_DATABASE=RealSSD P320s
-
-pci:v00001344d00005153*
- ID_PRODUCT_FROM_DATABASE=RealSSD P325m
-
-pci:v00001344d00005160*
- ID_PRODUCT_FROM_DATABASE=RealSSD P420h
-
-pci:v00001344d00005161*
- ID_PRODUCT_FROM_DATABASE=RealSSD P420m
-
-pci:v00001344d00005163*
- ID_PRODUCT_FROM_DATABASE=RealSSD P425m
-
-pci:v00001345*
- ID_VENDOR_FROM_DATABASE=Arescom Inc
-
-pci:v00001347*
- ID_VENDOR_FROM_DATABASE=Odetics
-
-pci:v00001349*
- ID_VENDOR_FROM_DATABASE=Sumitomo Electric Industries, Ltd.
-
-pci:v0000134A*
- ID_VENDOR_FROM_DATABASE=DTC Technology Corp.
-
-pci:v0000134Ad00000001*
- ID_PRODUCT_FROM_DATABASE=Domex 536
-
-pci:v0000134Ad00000002*
- ID_PRODUCT_FROM_DATABASE=Domex DMX3194UP SCSI Adapter
-
-pci:v0000134B*
- ID_VENDOR_FROM_DATABASE=ARK Research Corp.
-
-pci:v0000134C*
- ID_VENDOR_FROM_DATABASE=Chori Joho System Co. Ltd
-
-pci:v0000134D*
- ID_VENDOR_FROM_DATABASE=PCTel Inc
-
-pci:v0000134Dd00002189*
- ID_PRODUCT_FROM_DATABASE=HSP56 MicroModem
-
-pci:v0000134Dd00002486*
- ID_PRODUCT_FROM_DATABASE=2304WT V.92 MDC Modem
-
-pci:v0000134Dd00007890*
- ID_PRODUCT_FROM_DATABASE=HSP MicroModem 56
-
-pci:v0000134Dd00007890sv0000134Dsd00000001*
- ID_PRODUCT_FROM_DATABASE=PCT789 adapter
-
-pci:v0000134Dd00007891*
- ID_PRODUCT_FROM_DATABASE=HSP MicroModem 56
-
-pci:v0000134Dd00007891sv0000134Dsd00000001*
- ID_PRODUCT_FROM_DATABASE=HSP MicroModem 56
-
-pci:v0000134Dd00007892*
- ID_PRODUCT_FROM_DATABASE=HSP MicroModem 56
-
-pci:v0000134Dd00007893*
- ID_PRODUCT_FROM_DATABASE=HSP MicroModem 56
-
-pci:v0000134Dd00007894*
- ID_PRODUCT_FROM_DATABASE=HSP MicroModem 56
-
-pci:v0000134Dd00007895*
- ID_PRODUCT_FROM_DATABASE=HSP MicroModem 56
-
-pci:v0000134Dd00007896*
- ID_PRODUCT_FROM_DATABASE=HSP MicroModem 56
-
-pci:v0000134Dd00007897*
- ID_PRODUCT_FROM_DATABASE=HSP MicroModem 56
-
-pci:v0000134E*
- ID_VENDOR_FROM_DATABASE=CSTI
-
-pci:v0000134F*
- ID_VENDOR_FROM_DATABASE=Algo System Co Ltd
-
-pci:v00001350*
- ID_VENDOR_FROM_DATABASE=Systec Co. Ltd
-
-pci:v00001351*
- ID_VENDOR_FROM_DATABASE=Sonix Inc
-
-pci:v00001353*
- ID_VENDOR_FROM_DATABASE=Vierling Communication SAS
-
-pci:v00001353d00000002*
- ID_PRODUCT_FROM_DATABASE=Proserver
-
-pci:v00001353d00000003*
- ID_PRODUCT_FROM_DATABASE=PCI-FUT
-
-pci:v00001353d00000004*
- ID_PRODUCT_FROM_DATABASE=PCI-S0
-
-pci:v00001353d00000005*
- ID_PRODUCT_FROM_DATABASE=PCI-FUT-S0
-
-pci:v00001354*
- ID_VENDOR_FROM_DATABASE=Dwave System Inc
-
-pci:v00001355*
- ID_VENDOR_FROM_DATABASE=Kratos Analytical Ltd
-
-pci:v00001356*
- ID_VENDOR_FROM_DATABASE=The Logical Co
-
-pci:v00001359*
- ID_VENDOR_FROM_DATABASE=Prisa Networks
-
-pci:v0000135A*
- ID_VENDOR_FROM_DATABASE=Brain Boxes
-
-pci:v0000135Ad00000A61*
- ID_PRODUCT_FROM_DATABASE=UC-324 [VELOCITY RS422/485]
-
-pci:v0000135B*
- ID_VENDOR_FROM_DATABASE=Giganet Inc
-
-pci:v0000135C*
- ID_VENDOR_FROM_DATABASE=Quatech Inc
-
-pci:v0000135Cd00000010*
- ID_PRODUCT_FROM_DATABASE=QSC-100
-
-pci:v0000135Cd00000020*
- ID_PRODUCT_FROM_DATABASE=DSC-100
-
-pci:v0000135Cd00000030*
- ID_PRODUCT_FROM_DATABASE=DSC-200/300
-
-pci:v0000135Cd00000040*
- ID_PRODUCT_FROM_DATABASE=QSC-200/300
-
-pci:v0000135Cd00000050*
- ID_PRODUCT_FROM_DATABASE=ESC-100D
-
-pci:v0000135Cd00000060*
- ID_PRODUCT_FROM_DATABASE=ESC-100M
-
-pci:v0000135Cd000000F0*
- ID_PRODUCT_FROM_DATABASE=MPAC-100 Syncronous Serial Card (Zilog 85230)
-
-pci:v0000135Cd00000170*
- ID_PRODUCT_FROM_DATABASE=QSCLP-100
-
-pci:v0000135Cd00000180*
- ID_PRODUCT_FROM_DATABASE=DSCLP-100
-
-pci:v0000135Cd00000190*
- ID_PRODUCT_FROM_DATABASE=SSCLP-100
-
-pci:v0000135Cd000001A0*
- ID_PRODUCT_FROM_DATABASE=QSCLP-200/300
-
-pci:v0000135Cd000001B0*
- ID_PRODUCT_FROM_DATABASE=DSCLP-200/300
-
-pci:v0000135Cd000001C0*
- ID_PRODUCT_FROM_DATABASE=SSCLP-200/300
-
-pci:v0000135Cd00000258*
- ID_PRODUCT_FROM_DATABASE=DSPSX-200/300
-
-pci:v0000135D*
- ID_VENDOR_FROM_DATABASE=ABB Network Partner AB
-
-pci:v0000135E*
- ID_VENDOR_FROM_DATABASE=Sealevel Systems Inc
-
-pci:v0000135Ed00005101*
- ID_PRODUCT_FROM_DATABASE=Route 56.PCI - Multi-Protocol Serial Interface (Zilog Z16C32)
-
-pci:v0000135Ed00007101*
- ID_PRODUCT_FROM_DATABASE=Single Port RS-232/422/485/530
-
-pci:v0000135Ed00007201*
- ID_PRODUCT_FROM_DATABASE=Dual Port RS-232/422/485 Interface
-
-pci:v0000135Ed00007202*
- ID_PRODUCT_FROM_DATABASE=Dual Port RS-232 Interface
-
-pci:v0000135Ed00007401*
- ID_PRODUCT_FROM_DATABASE=Four Port RS-232 Interface
-
-pci:v0000135Ed00007402*
- ID_PRODUCT_FROM_DATABASE=Four Port RS-422/485 Interface
-
-pci:v0000135Ed00007801*
- ID_PRODUCT_FROM_DATABASE=Eight Port RS-232 Interface
-
-pci:v0000135Ed00007804*
- ID_PRODUCT_FROM_DATABASE=Eight Port RS-232/422/485 Interface
-
-pci:v0000135Ed00008001*
- ID_PRODUCT_FROM_DATABASE=8001 Digital I/O Adapter
-
-pci:v0000135F*
- ID_VENDOR_FROM_DATABASE=I-Data International A-S
-
-pci:v00001360*
- ID_VENDOR_FROM_DATABASE=Meinberg Funkuhren
-
-pci:v00001360d00000101*
- ID_PRODUCT_FROM_DATABASE=PCI32 DCF77 Radio Clock
-
-pci:v00001360d00000102*
- ID_PRODUCT_FROM_DATABASE=PCI509 DCF77 Radio Clock
-
-pci:v00001360d00000103*
- ID_PRODUCT_FROM_DATABASE=PCI510 DCF77 Radio Clock
-
-pci:v00001360d00000104*
- ID_PRODUCT_FROM_DATABASE=PCI511 DCF77 Radio Clock
-
-pci:v00001360d00000105*
- ID_PRODUCT_FROM_DATABASE=PEX511 DCF77 Radio Clock (PCI Express)
-
-pci:v00001360d00000106*
- ID_PRODUCT_FROM_DATABASE=PZF180PEX High Precision DCF77 Radio Clock (PCI Express)
-
-pci:v00001360d00000201*
- ID_PRODUCT_FROM_DATABASE=GPS167PCI GPS Receiver
-
-pci:v00001360d00000202*
- ID_PRODUCT_FROM_DATABASE=GPS168PCI GPS Receiver
-
-pci:v00001360d00000203*
- ID_PRODUCT_FROM_DATABASE=GPS169PCI GPS Receiver
-
-pci:v00001360d00000204*
- ID_PRODUCT_FROM_DATABASE=GPS170PCI GPS Receiver
-
-pci:v00001360d00000205*
- ID_PRODUCT_FROM_DATABASE=GPS170PEX GPS Receiver (PCI Express)
-
-pci:v00001360d00000206*
- ID_PRODUCT_FROM_DATABASE=GPS180PEX GPS Receiver (PCI Express)
-
-pci:v00001360d00000301*
- ID_PRODUCT_FROM_DATABASE=TCR510PCI IRIG Timecode Reader
-
-pci:v00001360d00000302*
- ID_PRODUCT_FROM_DATABASE=TCR167PCI IRIG Timecode Reader
-
-pci:v00001360d00000303*
- ID_PRODUCT_FROM_DATABASE=TCR511PCI IRIG Timecode Reader
-
-pci:v00001360d00000304*
- ID_PRODUCT_FROM_DATABASE=TCR511PEX IRIG Timecode Reader (PCI Express)
-
-pci:v00001360d00000305*
- ID_PRODUCT_FROM_DATABASE=TCR170PEX IRIG Timecode Reader (PCI Express)
-
-pci:v00001360d00000306*
- ID_PRODUCT_FROM_DATABASE=TCR180PEX IRIG Timecode Reader (PCI Express)
-
-pci:v00001360d00000501*
- ID_PRODUCT_FROM_DATABASE=PTP270PEX PTP/IEEE1588 slave card (PCI Express)
-
-pci:v00001360d00000601*
- ID_PRODUCT_FROM_DATABASE=FRC511PEX Free Running Clock (PCI Express)
-
-pci:v00001361*
- ID_VENDOR_FROM_DATABASE=Soliton Systems K.K.
-
-pci:v00001362*
- ID_VENDOR_FROM_DATABASE=Fujifacom Corporation
-
-pci:v00001363*
- ID_VENDOR_FROM_DATABASE=Phoenix Technology Ltd
-
-pci:v00001364*
- ID_VENDOR_FROM_DATABASE=ATM Communications Inc
-
-pci:v00001365*
- ID_VENDOR_FROM_DATABASE=Hypercope GmbH
-
-pci:v00001366*
- ID_VENDOR_FROM_DATABASE=Teijin Seiki Co. Ltd
-
-pci:v00001367*
- ID_VENDOR_FROM_DATABASE=Hitachi Zosen Corporation
-
-pci:v00001368*
- ID_VENDOR_FROM_DATABASE=Skyware Corporation
-
-pci:v00001369*
- ID_VENDOR_FROM_DATABASE=Digigram
-
-pci:v0000136A*
- ID_VENDOR_FROM_DATABASE=High Soft Tech
-
-pci:v0000136Ad00000004*
- ID_PRODUCT_FROM_DATABASE=HST Saphir VII mini PCI
-
-pci:v0000136Ad00000007*
- ID_PRODUCT_FROM_DATABASE=HST Saphir III E MultiLink 4
-
-pci:v0000136Ad00000008*
- ID_PRODUCT_FROM_DATABASE=HST Saphir III E MultiLink 8
-
-pci:v0000136Ad0000000A*
- ID_PRODUCT_FROM_DATABASE=HST Saphir III E MultiLink 2
-
-pci:v0000136B*
- ID_VENDOR_FROM_DATABASE=Kawasaki Steel Corporation
-
-pci:v0000136Bd0000FF01*
- ID_PRODUCT_FROM_DATABASE=KL5A72002 Motion JPEG
-
-pci:v0000136C*
- ID_VENDOR_FROM_DATABASE=Adtek System Science Co Ltd
-
-pci:v0000136D*
- ID_VENDOR_FROM_DATABASE=Gigalabs Inc
-
-pci:v0000136F*
- ID_VENDOR_FROM_DATABASE=Applied Magic Inc
-
-pci:v00001370*
- ID_VENDOR_FROM_DATABASE=ATL Products
-
-pci:v00001371*
- ID_VENDOR_FROM_DATABASE=CNet Technology Inc
-
-pci:v00001371d0000434E*
- ID_PRODUCT_FROM_DATABASE=GigaCard Network Adapter
-
-pci:v00001371d0000434Esv00001371sd0000434E*
- ID_PRODUCT_FROM_DATABASE=N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L)
-
-pci:v00001373*
- ID_VENDOR_FROM_DATABASE=Silicon Vision Inc
-
-pci:v00001374*
- ID_VENDOR_FROM_DATABASE=Silicom Ltd.
-
-pci:v00001374d00000024*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Giga Ethernet BGE Bypass Server Adapter
-
-pci:v00001374d00000025*
- ID_PRODUCT_FROM_DATABASE=Silicom Quad port Giga Ethernet BGE Bypass Server Adapter
-
-pci:v00001374d00000026*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Fiber Giga Ethernet 546 Bypass Server Adapter
-
-pci:v00001374d00000027*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Fiber LX Giga Ethernet 546 Bypass Server Adapter
-
-pci:v00001374d00000029*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Copper Giga Ethernet 546GB Bypass Server Adapter
-
-pci:v00001374d0000002A*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Fiber Giga Ethernet 546 TAP/Bypass Server Adapter
-
-pci:v00001374d0000002B*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Copper Fast Ethernet 546 TAP/Bypass Server Adapter (PXE2TBI)
-
-pci:v00001374d0000002C*
- ID_PRODUCT_FROM_DATABASE=Silicom Quad port Copper Giga Ethernet 546GB Bypass Server Adapter (PXG4BPI)
-
-pci:v00001374d0000002D*
- ID_PRODUCT_FROM_DATABASE=Silicom Quad port Fiber-SX Giga Ethernet 546GB Bypass Server Adapter (PXG4BPFI)
-
-pci:v00001374d0000002E*
- ID_PRODUCT_FROM_DATABASE=Silicom Quad port Fiber-LX Giga Ethernet 546GB Bypass Server Adapter (PXG4BPFI-LX)
-
-pci:v00001374d0000002F*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Fiber-SX Giga Ethernet 546GB Low profile Bypass Server Adapter (PXG2BPFIL)
-
-pci:v00001374d00000030*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Fiber-LX Giga Ethernet 546GB Low profile Bypass Server Adapter
-
-pci:v00001374d00000031*
- ID_PRODUCT_FROM_DATABASE=Silicom Quad port Copper Giga Ethernet PCI-E Bypass Server Adapter
-
-pci:v00001374d00000032*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Copper Fast Ethernet 546 TAP/Bypass Server Adapter
-
-pci:v00001374d00000034*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Copper Giga Ethernet PCI-E BGE Bypass Server Adapter
-
-pci:v00001374d00000035*
- ID_PRODUCT_FROM_DATABASE=Silicom Quad port Copper Giga Ethernet PCI-E BGE Bypass Server Adapter
-
-pci:v00001374d00000036*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Fiber Giga Ethernet PCI-E BGE Bypass Server Adapter
-
-pci:v00001374d00000037*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Copper Ethernet PCI-E Intel based Bypass Server Adapter
-
-pci:v00001374d00000038*
- ID_PRODUCT_FROM_DATABASE=Silicom Quad port Copper Ethernet PCI-E Intel based Bypass Server Adapter
-
-pci:v00001374d00000039*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Fiber-SX Ethernet PCI-E Intel based Bypass Server Adapter
-
-pci:v00001374d0000003A*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Fiber-LX Ethernet PCI-E Intel based Bypass Server Adapter
-
-pci:v00001374d0000003B*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Fiber Ethernet PMC Intel based Bypass Server Adapter (PMCX2BPFI)
-
-pci:v00001374d0000003C*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Copper Ethernet PCI-X BGE based Bypass Server Adapter (PXG2BPRB)
-
-pci:v00001374d0000003D*
- ID_PRODUCT_FROM_DATABASE=2-port Copper GBE Bypass with Caviume 1010 PCI-X
-
-pci:v00001374d0000003E*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Fiber Giga Ethernet PCI-E 571 TAP/Bypass Server Adapter (PEG2TBFI)
-
-pci:v00001374d0000003F*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Copper Giga Ethernet PCI-X 546 TAP/Bypass Server Adapter (PXG2TBI)
-
-pci:v00001374d00000040*
- ID_PRODUCT_FROM_DATABASE=Silicom Quad port Fiber-SX Giga Ethernet 571 Bypass Server Adapter (PEG4BPFI)
-
-pci:v00001374d00000042*
- ID_PRODUCT_FROM_DATABASE=4-port Copper GBE PMC-X Bypass
-
-pci:v00001374d00000043*
- ID_PRODUCT_FROM_DATABASE=Silicom Quad port Fiber-SX Giga Ethernet 546 Bypass Server Adapter (PXG4BPFID)
-
-pci:v00001374d00000045*
- ID_PRODUCT_FROM_DATABASE=Silicom 6 port Copper Giga Ethernet 546 Bypass Server Adapter (PXG6BPI)
-
-pci:v00001374d00000046*
- ID_PRODUCT_FROM_DATABASE=4-port bypass PCI-E w disconnect low profile
-
-pci:v00001374d00000047*
- ID_PRODUCT_FROM_DATABASE=Silicom Dual port Fiber-SX Giga Ethernet 571 Bypass Disconnect Server Adapter (PEG2BPFID)
-
-pci:v00001374d0000004A*
- ID_PRODUCT_FROM_DATABASE=Silicom Quad port Fiber-LX Giga Ethernet 571 Bypass Server Adapter (PEG4BPFI-LX)
-
-pci:v00001374d0000004D*
- ID_PRODUCT_FROM_DATABASE=Dual port Copper Giga Ethernet PCI-E Bypass Server Adapter
-
-pci:v00001374d00000401*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet ExpressModule Bypass Server Adapter
-
-pci:v00001374d00000420*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet ExpressModule Bypass Server Adapter
-
-pci:v00001374d00000460*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet Express Module Bypass Server Adapter
-
-pci:v00001374d00000461*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet ExpressModule Bypass Server Adapter
-
-pci:v00001374d00000462*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet ExpressModule Bypass Server Adapter
-
-pci:v00001374d00000470*
- ID_PRODUCT_FROM_DATABASE=Octal-port Copper Gigabit Ethernet Express Module Bypass Server Adapter
-
-pci:v00001374d00000482*
- ID_PRODUCT_FROM_DATABASE=Dual-port Fiber (SR) 10 Gigabit Ethernet ExpressModule Bypass Server Adapter
-
-pci:v00001374d00000483*
- ID_PRODUCT_FROM_DATABASE=Dual-port Fiber (LR) 10 Gigabit Ethernet ExpressModule Bypass Server Adapter
-
-pci:v00001375*
- ID_VENDOR_FROM_DATABASE=Argosystems Inc
-
-pci:v00001376*
- ID_VENDOR_FROM_DATABASE=LMC
-
-pci:v00001377*
- ID_VENDOR_FROM_DATABASE=Electronic Equipment Production & Distribution GmbH
-
-pci:v00001378*
- ID_VENDOR_FROM_DATABASE=Telemann Co. Ltd
-
-pci:v00001379*
- ID_VENDOR_FROM_DATABASE=Asahi Kasei Microsystems Co Ltd
-
-pci:v0000137A*
- ID_VENDOR_FROM_DATABASE=Mark of the Unicorn Inc
-
-pci:v0000137Ad00000001*
- ID_PRODUCT_FROM_DATABASE=PCI-324 Audiowire Interface
-
-pci:v0000137B*
- ID_VENDOR_FROM_DATABASE=PPT Vision
-
-pci:v0000137C*
- ID_VENDOR_FROM_DATABASE=Iwatsu Electric Co Ltd
-
-pci:v0000137D*
- ID_VENDOR_FROM_DATABASE=Dynachip Corporation
-
-pci:v0000137E*
- ID_VENDOR_FROM_DATABASE=Patriot Scientific Corporation
-
-pci:v0000137F*
- ID_VENDOR_FROM_DATABASE=Japan Satellite Systems Inc
-
-pci:v00001380*
- ID_VENDOR_FROM_DATABASE=Sanritz Automation Co Ltd
-
-pci:v00001381*
- ID_VENDOR_FROM_DATABASE=Brains Co. Ltd
-
-pci:v00001382*
- ID_VENDOR_FROM_DATABASE=Marian - Electronic & Software
-
-pci:v00001382d00000001*
- ID_PRODUCT_FROM_DATABASE=ARC88 audio recording card
-
-pci:v00001382d00002008*
- ID_PRODUCT_FROM_DATABASE=Prodif 96 Pro sound system
-
-pci:v00001382d00002048*
- ID_PRODUCT_FROM_DATABASE=Prodif Plus sound system
-
-pci:v00001382d00002088*
- ID_PRODUCT_FROM_DATABASE=Marc 8 Midi sound system
-
-pci:v00001382d000020C8*
- ID_PRODUCT_FROM_DATABASE=Marc A sound system
-
-pci:v00001382d00004008*
- ID_PRODUCT_FROM_DATABASE=Marc 2 sound system
-
-pci:v00001382d00004010*
- ID_PRODUCT_FROM_DATABASE=Marc 2 Pro sound system
-
-pci:v00001382d00004048*
- ID_PRODUCT_FROM_DATABASE=Marc 4 MIDI sound system
-
-pci:v00001382d00004088*
- ID_PRODUCT_FROM_DATABASE=Marc 4 Digi sound system
-
-pci:v00001382d00004248*
- ID_PRODUCT_FROM_DATABASE=Marc X sound system
-
-pci:v00001382d00004424*
- ID_PRODUCT_FROM_DATABASE=TRACE D4 Sound System
-
-pci:v00001383*
- ID_VENDOR_FROM_DATABASE=Controlnet Inc
-
-pci:v00001384*
- ID_VENDOR_FROM_DATABASE=Reality Simulation Systems Inc
-
-pci:v00001385*
- ID_VENDOR_FROM_DATABASE=Netgear
-
-pci:v00001385d0000006B*
- ID_PRODUCT_FROM_DATABASE=WA301 802.11b Wireless PCI Adapter
-
-pci:v00001385d00004100*
- ID_PRODUCT_FROM_DATABASE=MA301 802.11b Wireless PCI Adapter
-
-pci:v00001385d00004105*
- ID_PRODUCT_FROM_DATABASE=MA311 802.11b Wireless PCI Adapter
-
-pci:v00001385d00004400*
- ID_PRODUCT_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card
-
-pci:v00001385d00004600*
- ID_PRODUCT_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card
-
-pci:v00001385d00004601*
- ID_PRODUCT_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card
-
-pci:v00001385d00004610*
- ID_PRODUCT_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card
-
-pci:v00001385d00004A00*
- ID_PRODUCT_FROM_DATABASE=WAG311 802.11a/g Wireless PCI Adapter
-
-pci:v00001385d00005200*
- ID_PRODUCT_FROM_DATABASE=GA511 Gigabit PC Card
-
-pci:v00001385d0000620A*
- ID_PRODUCT_FROM_DATABASE=GA620 Gigabit Ethernet
-
-pci:v00001385d0000630A*
- ID_PRODUCT_FROM_DATABASE=GA630 Gigabit Ethernet
-
-pci:v00001385d00006D00*
- ID_PRODUCT_FROM_DATABASE=WPNT511 RangeMax 240 Mbps Wireless PC Card
-
-pci:v00001385d00007B00*
- ID_PRODUCT_FROM_DATABASE=WN511B RangeMax Next 270 Mbps Wireless PC Card
-
-pci:v00001385d00007C00*
- ID_PRODUCT_FROM_DATABASE=WN511T RangeMax Next 300 Mbps Wireless PC Card
-
-pci:v00001385d0000F004*
- ID_PRODUCT_FROM_DATABASE=FA310TX
-
-pci:v00001385d0000F312*
- ID_PRODUCT_FROM_DATABASE=FA312 REV-A1 Fast Ethernet PCI Adapter
-
-pci:v00001386*
- ID_VENDOR_FROM_DATABASE=Video Domain Technologies
-
-pci:v00001387*
- ID_VENDOR_FROM_DATABASE=Systran Corp
-
-pci:v00001388*
- ID_VENDOR_FROM_DATABASE=Hitachi Information Technology Co Ltd
-
-pci:v00001389*
- ID_VENDOR_FROM_DATABASE=Applicom International
-
-pci:v00001389d00000001*
- ID_PRODUCT_FROM_DATABASE=PCI1500PFB [Intelligent fieldbus adaptor]
-
-pci:v0000138A*
- ID_VENDOR_FROM_DATABASE=Fusion Micromedia Corp
-
-pci:v0000138Ad0000003D*
- ID_PRODUCT_FROM_DATABASE=VFS491 Validity Sensor
-
-pci:v0000138B*
- ID_VENDOR_FROM_DATABASE=Tokimec Inc
-
-pci:v0000138C*
- ID_VENDOR_FROM_DATABASE=Silicon Reality
-
-pci:v0000138D*
- ID_VENDOR_FROM_DATABASE=Future Techno Designs pte Ltd
-
-pci:v0000138E*
- ID_VENDOR_FROM_DATABASE=Basler GmbH
-
-pci:v0000138F*
- ID_VENDOR_FROM_DATABASE=Patapsco Designs Inc
-
-pci:v00001390*
- ID_VENDOR_FROM_DATABASE=Concept Development Inc
-
-pci:v00001391*
- ID_VENDOR_FROM_DATABASE=Development Concepts Inc
-
-pci:v00001392*
- ID_VENDOR_FROM_DATABASE=Medialight Inc
-
-pci:v00001393*
- ID_VENDOR_FROM_DATABASE=Moxa Technologies Co Ltd
-
-pci:v00001393d00000001*
- ID_PRODUCT_FROM_DATABASE=UC7000 Serial
-
-pci:v00001393d00001020*
- ID_PRODUCT_FROM_DATABASE=CP102 (2-port RS-232 PCI)
-
-pci:v00001393d00001021*
- ID_PRODUCT_FROM_DATABASE=CP102UL (2-port RS-232 Universal PCI)
-
-pci:v00001393d00001022*
- ID_PRODUCT_FROM_DATABASE=CP102U (2-port RS-232 Universal PCI)
-
-pci:v00001393d00001023*
- ID_PRODUCT_FROM_DATABASE=CP-102UF
-
-pci:v00001393d00001024*
- ID_PRODUCT_FROM_DATABASE=CP-102E (2-port RS-232 Smart PCI Express Serial Board)
-
-pci:v00001393d00001025*
- ID_PRODUCT_FROM_DATABASE=CP-102EL (2-port RS-232 Smart PCI Express Serial Board)
-
-pci:v00001393d00001040*
- ID_PRODUCT_FROM_DATABASE=Smartio C104H/PCI
-
-pci:v00001393d00001041*
- ID_PRODUCT_FROM_DATABASE=CP104U (4-port RS-232 Universal PCI)
-
-pci:v00001393d00001042*
- ID_PRODUCT_FROM_DATABASE=CP104JU (4-port RS-232 Universal PCI)
-
-pci:v00001393d00001043*
- ID_PRODUCT_FROM_DATABASE=CP104EL (4-port RS-232 Smart PCI Express)
-
-pci:v00001393d00001044*
- ID_PRODUCT_FROM_DATABASE=POS104UL (4-port RS-232 Universal PCI)
-
-pci:v00001393d00001045*
- ID_PRODUCT_FROM_DATABASE=CP-104EL-A (4-port RS-232 PCI Express Serial Board)
-
-pci:v00001393d00001080*
- ID_PRODUCT_FROM_DATABASE=CB108 (8-port RS-232 PC/104-plus Module)
-
-pci:v00001393d00001140*
- ID_PRODUCT_FROM_DATABASE=CT-114 series
-
-pci:v00001393d00001141*
- ID_PRODUCT_FROM_DATABASE=Industrio CP-114
-
-pci:v00001393d00001142*
- ID_PRODUCT_FROM_DATABASE=CB114 (4-port RS-232/422/485 PC/104-plus Module)
-
-pci:v00001393d00001143*
- ID_PRODUCT_FROM_DATABASE=CP-114UL (4-port RS-232/422/485 Smart Universal PCI Serial Board)
-
-pci:v00001393d00001144*
- ID_PRODUCT_FROM_DATABASE=CP-114EL (4-port RS-232/422/485 Smart PCI Express Serial Board)
-
-pci:v00001393d00001180*
- ID_PRODUCT_FROM_DATABASE=CP118U (8-port RS-232/422/485 Smart Universal PCI)
-
-pci:v00001393d00001181*
- ID_PRODUCT_FROM_DATABASE=CP118EL (8-port RS-232/422/485 Smart PCI Express)
-
-pci:v00001393d00001182*
- ID_PRODUCT_FROM_DATABASE=CP-118EL-A (8-port RS-232/422/485 PCI Express Serial Board)
-
-pci:v00001393d00001320*
- ID_PRODUCT_FROM_DATABASE=CP132 (2-port RS-422/485 PCI)
-
-pci:v00001393d00001321*
- ID_PRODUCT_FROM_DATABASE=CP132U (2-Port RS-422/485 Universal PCI)
-
-pci:v00001393d00001322*
- ID_PRODUCT_FROM_DATABASE=CP-132EL (2-port RS-422/485 Smart PCI Express Serial Board)
-
-pci:v00001393d00001340*
- ID_PRODUCT_FROM_DATABASE=CP134U (4-Port RS-422/485 Universal PCI)
-
-pci:v00001393d00001341*
- ID_PRODUCT_FROM_DATABASE=CB134I (4-port RS-422/485 PC/104-plus Module)
-
-pci:v00001393d00001380*
- ID_PRODUCT_FROM_DATABASE=CP138U (8-port RS-232/422/485 Smart Universal PCI)
-
-pci:v00001393d00001680*
- ID_PRODUCT_FROM_DATABASE=Smartio C168H/PCI
-
-pci:v00001393d00001681*
- ID_PRODUCT_FROM_DATABASE=CP-168U V2 Smart Serial Board (8-port RS-232)
-
-pci:v00001393d00001682*
- ID_PRODUCT_FROM_DATABASE=CP168EL (8-port RS-232 Smart PCI Express)
-
-pci:v00001393d00001683*
- ID_PRODUCT_FROM_DATABASE=CP-168EL-A (8-port RS-232 PCI Express Serial Board)
-
-pci:v00001393d00002040*
- ID_PRODUCT_FROM_DATABASE=Intellio CP-204J
-
-pci:v00001393d00002180*
- ID_PRODUCT_FROM_DATABASE=Intellio C218 Turbo PCI
-
-pci:v00001393d00003200*
- ID_PRODUCT_FROM_DATABASE=Intellio C320 Turbo PCI
-
-pci:v00001394*
- ID_VENDOR_FROM_DATABASE=Level One Communications
-
-pci:v00001394d00000001*
- ID_PRODUCT_FROM_DATABASE=LXT1001 Gigabit Ethernet
-
-pci:v00001394d00000001sv00001186sd00004800*
- ID_PRODUCT_FROM_DATABASE=DGE-500SX
-
-pci:v00001394d00000001sv00001394sd00000001*
- ID_PRODUCT_FROM_DATABASE=NetCelerator Adapter
-
-pci:v00001395*
- ID_VENDOR_FROM_DATABASE=Ambicom Inc
-
-pci:v00001396*
- ID_VENDOR_FROM_DATABASE=Cipher Systems Inc
-
-pci:v00001397*
- ID_VENDOR_FROM_DATABASE=Cologne Chip Designs GmbH
-
-pci:v00001397d000008B4*
- ID_PRODUCT_FROM_DATABASE=ISDN network Controller [HFC-4S]
-
-pci:v00001397d000008B4sv00001397sd0000B520*
- ID_PRODUCT_FROM_DATABASE=HFC-4S [IOB4ST]
-
-pci:v00001397d000008B4sv00001397sd0000B540*
- ID_PRODUCT_FROM_DATABASE=HFC-4S [Swyx 4xS0 SX2 QuadBri]
-
-pci:v00001397d000008B4sv00001397sd0000B550*
- ID_PRODUCT_FROM_DATABASE=HFC-4S [Junghanns quadBRI]
-
-pci:v00001397d000008B4sv00001397sd0000B556*
- ID_PRODUCT_FROM_DATABASE=HFC-4S [Junghanns DuoDBRI]
-
-pci:v00001397d000008B4sv00001397sd0000E888*
- ID_PRODUCT_FROM_DATABASE=HFC-4S [OpenVox B200P / B400P]
-
-pci:v00001397d000016B8*
- ID_PRODUCT_FROM_DATABASE=ISDN network Controller [HFC-8S]
-
-pci:v00001397d000016B8sv00001397sd0000B562*
- ID_PRODUCT_FROM_DATABASE=HFC-8S [IOB8ST]
-
-pci:v00001397d00002BD0*
- ID_PRODUCT_FROM_DATABASE=ISDN network controller [HFC-PCI]
-
-pci:v00001397d00002BD0sv00000675sd00001704*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C)
-
-pci:v00001397d00002BD0sv00000675sd00001708*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C, ACPI)
-
-pci:v00001397d00002BD0sv00001397sd00002BD0*
- ID_PRODUCT_FROM_DATABASE=ISDN Board
-
-pci:v00001397d00002BD0sv0000E4BFsd00001000*
- ID_PRODUCT_FROM_DATABASE=CI1-1-Harp
-
-pci:v00001397d000030B1*
- ID_PRODUCT_FROM_DATABASE=ISDN network Controller [HFC-E1]
-
-pci:v00001397d0000B700*
- ID_PRODUCT_FROM_DATABASE=ISDN network controller PrimuX S0 [HFC-PCI]
-
-pci:v00001397d0000F001*
- ID_PRODUCT_FROM_DATABASE=GSM Network Controller [HFC-4GSM]
-
-pci:v00001398*
- ID_VENDOR_FROM_DATABASE=Clarion co. Ltd
-
-pci:v00001399*
- ID_VENDOR_FROM_DATABASE=Rios systems Co Ltd
-
-pci:v0000139A*
- ID_VENDOR_FROM_DATABASE=Alacritech Inc
-
-pci:v0000139Ad00000001*
- ID_PRODUCT_FROM_DATABASE=Quad Port 10/100 Server Accelerator
-
-pci:v0000139Ad00000003*
- ID_PRODUCT_FROM_DATABASE=Single Port 10/100 Server Accelerator
-
-pci:v0000139Ad00000005*
- ID_PRODUCT_FROM_DATABASE=Single Port Gigabit Server Accelerator
-
-pci:v0000139B*
- ID_VENDOR_FROM_DATABASE=Mediasonic Multimedia Systems Ltd
-
-pci:v0000139C*
- ID_VENDOR_FROM_DATABASE=Quantum 3d Inc
-
-pci:v0000139D*
- ID_VENDOR_FROM_DATABASE=EPL limited
-
-pci:v0000139E*
- ID_VENDOR_FROM_DATABASE=Media4
-
-pci:v0000139F*
- ID_VENDOR_FROM_DATABASE=Aethra s.r.l.
-
-pci:v000013A0*
- ID_VENDOR_FROM_DATABASE=Crystal Group Inc
-
-pci:v000013A1*
- ID_VENDOR_FROM_DATABASE=Kawasaki Heavy Industries Ltd
-
-pci:v000013A2*
- ID_VENDOR_FROM_DATABASE=Ositech Communications Inc
-
-pci:v000013A3*
- ID_VENDOR_FROM_DATABASE=Hifn Inc.
-
-pci:v000013A3d00000005*
- ID_PRODUCT_FROM_DATABASE=7751 Security Processor
-
-pci:v000013A3d00000006*
- ID_PRODUCT_FROM_DATABASE=6500 Public Key Processor
-
-pci:v000013A3d00000007*
- ID_PRODUCT_FROM_DATABASE=7811 Security Processor
-
-pci:v000013A3d00000012*
- ID_PRODUCT_FROM_DATABASE=7951 Security Processor
-
-pci:v000013A3d00000014*
- ID_PRODUCT_FROM_DATABASE=78XX Security Processor
-
-pci:v000013A3d00000016*
- ID_PRODUCT_FROM_DATABASE=8065 Security Processor
-
-pci:v000013A3d00000017*
- ID_PRODUCT_FROM_DATABASE=8165 Security Processor
-
-pci:v000013A3d00000018*
- ID_PRODUCT_FROM_DATABASE=8154 Security Processor
-
-pci:v000013A3d0000001D*
- ID_PRODUCT_FROM_DATABASE=7956 Security Processor
-
-pci:v000013A3d0000001F*
- ID_PRODUCT_FROM_DATABASE=7855 Security Processor
-
-pci:v000013A3d00000020*
- ID_PRODUCT_FROM_DATABASE=7955 Security Processor
-
-pci:v000013A3d00000026*
- ID_PRODUCT_FROM_DATABASE=8155 Security Processor
-
-pci:v000013A3d0000002E*
- ID_PRODUCT_FROM_DATABASE=9630 Compression Processor
-
-pci:v000013A3d0000002F*
- ID_PRODUCT_FROM_DATABASE=9725 Compression and Security Processor
-
-pci:v000013A3d0000002Fsv000013A3sd00001600*
- ID_PRODUCT_FROM_DATABASE=DR1600 Acceleration Card
-
-pci:v000013A3d0000002Fsv000013A3sd00001605*
- ID_PRODUCT_FROM_DATABASE=DR1605 Acceleration Card
-
-pci:v000013A3d0000002Fsv000013A3sd00001610*
- ID_PRODUCT_FROM_DATABASE=DR1610 Acceleration Card
-
-pci:v000013A3d0000002Fsv000013A3sd00001615*
- ID_PRODUCT_FROM_DATABASE=DR1615 Acceleration Card
-
-pci:v000013A3d0000002Fsv000013A3sd00001620*
- ID_PRODUCT_FROM_DATABASE=DR1620 Acceleration Card
-
-pci:v000013A3d0000002Fsv000013A3sd00001625*
- ID_PRODUCT_FROM_DATABASE=DR1625 Acceleration Card
-
-pci:v000013A3d00000033*
- ID_PRODUCT_FROM_DATABASE=8201 Acceleration Processor
-
-pci:v000013A3d00000033sv000013A3sd00000036*
- ID_PRODUCT_FROM_DATABASE=DX1710 Acceleration Card
-
-pci:v000013A3d00000034*
- ID_PRODUCT_FROM_DATABASE=8202 Acceleration Processor
-
-pci:v000013A3d00000034sv000013A3sd00000036*
- ID_PRODUCT_FROM_DATABASE=DX1720 Acceleration Card
-
-pci:v000013A3d00000035*
- ID_PRODUCT_FROM_DATABASE=8203 Acceleration Processor
-
-pci:v000013A3d00000035sv000013A3sd00000036*
- ID_PRODUCT_FROM_DATABASE=DX1730 Acceleration Card
-
-pci:v000013A3d00000037*
- ID_PRODUCT_FROM_DATABASE=8204 Acceleration Processor
-
-pci:v000013A3d00000037sv000013A3sd00000036*
- ID_PRODUCT_FROM_DATABASE=DX1740 Acceleration Card
-
-pci:v000013A4*
- ID_VENDOR_FROM_DATABASE=Rascom Inc
-
-pci:v000013A5*
- ID_VENDOR_FROM_DATABASE=Audio Digital Imaging Inc
-
-pci:v000013A6*
- ID_VENDOR_FROM_DATABASE=Videonics Inc
-
-pci:v000013A7*
- ID_VENDOR_FROM_DATABASE=Teles AG
-
-pci:v000013A8*
- ID_VENDOR_FROM_DATABASE=Exar Corp.
-
-pci:v000013A8d00000152*
- ID_PRODUCT_FROM_DATABASE=XR17C/D152 Dual PCI UART
-
-pci:v000013A8d00000154*
- ID_PRODUCT_FROM_DATABASE=XR17C154 Quad UART
-
-pci:v000013A8d00000158*
- ID_PRODUCT_FROM_DATABASE=XR17C158 Octal UART
-
-pci:v000013A8d00000252*
- ID_PRODUCT_FROM_DATABASE=XR17V252 Dual UART PCI controller
-
-pci:v000013A8d00000254*
- ID_PRODUCT_FROM_DATABASE=XR17V254 Quad UART PCI controller
-
-pci:v000013A8d00000258*
- ID_PRODUCT_FROM_DATABASE=XR17V258 Octal UART PCI controller
-
-pci:v000013A9*
- ID_VENDOR_FROM_DATABASE=Siemens Medical Systems, Ultrasound Group
-
-pci:v000013AA*
- ID_VENDOR_FROM_DATABASE=Broadband Networks Inc
-
-pci:v000013AB*
- ID_VENDOR_FROM_DATABASE=Arcom Control Systems Ltd
-
-pci:v000013AC*
- ID_VENDOR_FROM_DATABASE=Motion Media Technology Ltd
-
-pci:v000013AD*
- ID_VENDOR_FROM_DATABASE=Nexus Inc
-
-pci:v000013AE*
- ID_VENDOR_FROM_DATABASE=ALD Technology Ltd
-
-pci:v000013AF*
- ID_VENDOR_FROM_DATABASE=T.Sqware
-
-pci:v000013B0*
- ID_VENDOR_FROM_DATABASE=Maxspeed Corp
-
-pci:v000013B1*
- ID_VENDOR_FROM_DATABASE=Tamura corporation
-
-pci:v000013B2*
- ID_VENDOR_FROM_DATABASE=Techno Chips Co. Ltd
-
-pci:v000013B3*
- ID_VENDOR_FROM_DATABASE=Lanart Corporation
-
-pci:v000013B4*
- ID_VENDOR_FROM_DATABASE=Wellbean Co Inc
-
-pci:v000013B5*
- ID_VENDOR_FROM_DATABASE=ARM
-
-pci:v000013B6*
- ID_VENDOR_FROM_DATABASE=Dlog GmbH
-
-pci:v000013B7*
- ID_VENDOR_FROM_DATABASE=Logic Devices Inc
-
-pci:v000013B8*
- ID_VENDOR_FROM_DATABASE=Nokia Telecommunications oy
-
-pci:v000013B9*
- ID_VENDOR_FROM_DATABASE=Elecom Co Ltd
-
-pci:v000013BA*
- ID_VENDOR_FROM_DATABASE=Oxford Instruments
-
-pci:v000013BB*
- ID_VENDOR_FROM_DATABASE=Sanyo Technosound Co Ltd
-
-pci:v000013BC*
- ID_VENDOR_FROM_DATABASE=Bitran Corporation
-
-pci:v000013BD*
- ID_VENDOR_FROM_DATABASE=Sharp corporation
-
-pci:v000013BE*
- ID_VENDOR_FROM_DATABASE=Miroku Jyoho Service Co. Ltd
-
-pci:v000013BF*
- ID_VENDOR_FROM_DATABASE=Sharewave Inc
-
-pci:v000013C0*
- ID_VENDOR_FROM_DATABASE=Microgate Corporation
-
-pci:v000013C0d00000010*
- ID_PRODUCT_FROM_DATABASE=SyncLink Adapter v1
-
-pci:v000013C0d00000020*
- ID_PRODUCT_FROM_DATABASE=SyncLink SCC Adapter
-
-pci:v000013C0d00000030*
- ID_PRODUCT_FROM_DATABASE=SyncLink Multiport Adapter
-
-pci:v000013C0d00000070*
- ID_PRODUCT_FROM_DATABASE=SyncLink GT Adapter
-
-pci:v000013C0d00000080*
- ID_PRODUCT_FROM_DATABASE=SyncLink GT4 Adapter
-
-pci:v000013C0d000000A0*
- ID_PRODUCT_FROM_DATABASE=SyncLink GT2 Adapter
-
-pci:v000013C0d00000210*
- ID_PRODUCT_FROM_DATABASE=SyncLink Adapter v2
-
-pci:v000013C1*
- ID_VENDOR_FROM_DATABASE=3ware Inc
-
-pci:v000013C1d00001000*
- ID_PRODUCT_FROM_DATABASE=5xxx/6xxx-series PATA-RAID
-
-pci:v000013C1d00001001*
- ID_PRODUCT_FROM_DATABASE=7xxx/8xxx-series PATA/SATA-RAID
-
-pci:v000013C1d00001001sv000013C1sd00001001*
- ID_PRODUCT_FROM_DATABASE=7xxx/8xxx-series PATA/SATA-RAID
-
-pci:v000013C1d00001002*
- ID_PRODUCT_FROM_DATABASE=9xxx-series SATA-RAID
-
-pci:v000013C1d00001003*
- ID_PRODUCT_FROM_DATABASE=9550SX SATA-II RAID PCI-X
-
-pci:v000013C1d00001004*
- ID_PRODUCT_FROM_DATABASE=9650SE SATA-II RAID PCIe
-
-pci:v000013C1d00001005*
- ID_PRODUCT_FROM_DATABASE=9690SA SAS/SATA-II RAID PCIe
-
-pci:v000013C1d00001010*
- ID_PRODUCT_FROM_DATABASE=9750 SAS2/SATA-II RAID PCIe
-
-pci:v000013C2*
- ID_VENDOR_FROM_DATABASE=Technotrend Systemtechnik GmbH
-
-pci:v000013C2d0000000E*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.3
-
-pci:v000013C2d00001019*
- ID_PRODUCT_FROM_DATABASE=TTechnoTrend-budget DVB S2-3200
-
-pci:v000013C3*
- ID_VENDOR_FROM_DATABASE=Janz Computer AG
-
-pci:v000013C4*
- ID_VENDOR_FROM_DATABASE=Phase Metrics
-
-pci:v000013C5*
- ID_VENDOR_FROM_DATABASE=Alphi Technology Corp
-
-pci:v000013C6*
- ID_VENDOR_FROM_DATABASE=Condor Engineering Inc
-
-pci:v000013C6d00000520*
- ID_PRODUCT_FROM_DATABASE=CEI-520 A429 Card
-
-pci:v000013C6d00000620*
- ID_PRODUCT_FROM_DATABASE=CEI-620 A429 Card
-
-pci:v000013C6d00000820*
- ID_PRODUCT_FROM_DATABASE=CEI-820 A429 Card
-
-pci:v000013C6d00000830*
- ID_PRODUCT_FROM_DATABASE=CEI-830 A429 Card
-
-pci:v000013C6d00001004*
- ID_PRODUCT_FROM_DATABASE=P-SER Multi-channel PMC to RS-485/422/232 adapter
-
-pci:v000013C7*
- ID_VENDOR_FROM_DATABASE=Blue Chip Technology Ltd
-
-pci:v000013C7d00000ADC*
- ID_PRODUCT_FROM_DATABASE=PCI-ADC
-
-pci:v000013C7d00000B10*
- ID_PRODUCT_FROM_DATABASE=PCI-PIO
-
-pci:v000013C7d00000D10*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO
-
-pci:v000013C7d0000524C*
- ID_PRODUCT_FROM_DATABASE=PCI-RLY
-
-pci:v000013C7d00005744*
- ID_PRODUCT_FROM_DATABASE=PCI-WDT
-
-pci:v000013C8*
- ID_VENDOR_FROM_DATABASE=Apptech Inc
-
-pci:v000013C9*
- ID_VENDOR_FROM_DATABASE=Eaton Corporation
-
-pci:v000013CA*
- ID_VENDOR_FROM_DATABASE=Iomega Corporation
-
-pci:v000013CB*
- ID_VENDOR_FROM_DATABASE=Yano Electric Co Ltd
-
-pci:v000013CC*
- ID_VENDOR_FROM_DATABASE=Metheus Corporation
-
-pci:v000013CD*
- ID_VENDOR_FROM_DATABASE=Compatible Systems Corporation
-
-pci:v000013CE*
- ID_VENDOR_FROM_DATABASE=Cocom A/S
-
-pci:v000013CF*
- ID_VENDOR_FROM_DATABASE=Studio Audio & Video Ltd
-
-pci:v000013D0*
- ID_VENDOR_FROM_DATABASE=Techsan Electronics Co Ltd
-
-pci:v000013D0d00002103*
- ID_PRODUCT_FROM_DATABASE=B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card
-
-pci:v000013D0d00002104*
- ID_PRODUCT_FROM_DATABASE=B2C2 FlexCopIII DVB chip / Technisat SkyStar2 DVB card (rev 01)
-
-pci:v000013D0d00002200*
- ID_PRODUCT_FROM_DATABASE=B2C2 FlexCopIII DVB chip / Technisat SkyStar2 DVB card
-
-pci:v000013D1*
- ID_VENDOR_FROM_DATABASE=Abocom Systems Inc
-
-pci:v000013D1d0000AB02*
- ID_PRODUCT_FROM_DATABASE=ADMtek Centaur-C rev 17 [D-Link DFE-680TX] CardBus Fast Ethernet Adapter
-
-pci:v000013D1d0000AB03*
- ID_PRODUCT_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
-
-pci:v000013D1d0000AB06*
- ID_PRODUCT_FROM_DATABASE=RTL8139 [FE2000VX] CardBus Fast Ethernet Attached Port Adapter
-
-pci:v000013D1d0000AB08*
- ID_PRODUCT_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
-
-pci:v000013D2*
- ID_VENDOR_FROM_DATABASE=Shark Multimedia Inc
-
-pci:v000013D4*
- ID_VENDOR_FROM_DATABASE=Graphics Microsystems Inc
-
-pci:v000013D5*
- ID_VENDOR_FROM_DATABASE=Media 100 Inc
-
-pci:v000013D6*
- ID_VENDOR_FROM_DATABASE=K.I. Technology Co Ltd
-
-pci:v000013D7*
- ID_VENDOR_FROM_DATABASE=Toshiba Engineering Corporation
-
-pci:v000013D8*
- ID_VENDOR_FROM_DATABASE=Phobos corporation
-
-pci:v000013D9*
- ID_VENDOR_FROM_DATABASE=Apex PC Solutions Inc
-
-pci:v000013DA*
- ID_VENDOR_FROM_DATABASE=Intresource Systems pte Ltd
-
-pci:v000013DB*
- ID_VENDOR_FROM_DATABASE=Janich & Klass Computertechnik GmbH
-
-pci:v000013DC*
- ID_VENDOR_FROM_DATABASE=Netboost Corporation
-
-pci:v000013DD*
- ID_VENDOR_FROM_DATABASE=Multimedia Bundle Inc
-
-pci:v000013DE*
- ID_VENDOR_FROM_DATABASE=ABB Robotics Products AB
-
-pci:v000013DF*
- ID_VENDOR_FROM_DATABASE=E-Tech Inc
-
-pci:v000013DFd00000001*
- ID_PRODUCT_FROM_DATABASE=PCI56RVP Modem
-
-pci:v000013DFd00000001sv000013DFsd00000001*
- ID_PRODUCT_FROM_DATABASE=PCI56RVP Modem
-
-pci:v000013E0*
- ID_VENDOR_FROM_DATABASE=GVC Corporation
-
-pci:v000013E1*
- ID_VENDOR_FROM_DATABASE=Silicom Multimedia Systems Inc
-
-pci:v000013E2*
- ID_VENDOR_FROM_DATABASE=Dynamics Research Corporation
-
-pci:v000013E3*
- ID_VENDOR_FROM_DATABASE=Nest Inc
-
-pci:v000013E4*
- ID_VENDOR_FROM_DATABASE=Calculex Inc
-
-pci:v000013E5*
- ID_VENDOR_FROM_DATABASE=Telesoft Design Ltd
-
-pci:v000013E6*
- ID_VENDOR_FROM_DATABASE=Argosy research Inc
-
-pci:v000013E7*
- ID_VENDOR_FROM_DATABASE=NAC Incorporated
-
-pci:v000013E8*
- ID_VENDOR_FROM_DATABASE=Chip Express Corporation
-
-pci:v000013E9*
- ID_VENDOR_FROM_DATABASE=Intraserver Technology Inc
-
-pci:v000013EA*
- ID_VENDOR_FROM_DATABASE=Dallas Semiconductor
-
-pci:v000013EB*
- ID_VENDOR_FROM_DATABASE=Hauppauge Computer Works Inc
-
-pci:v000013EC*
- ID_VENDOR_FROM_DATABASE=Zydacron Inc
-
-pci:v000013ECd0000000A*
- ID_PRODUCT_FROM_DATABASE=NPC-RC01 Remote control receiver
-
-pci:v000013ED*
- ID_VENDOR_FROM_DATABASE=Raytheion E-Systems
-
-pci:v000013EE*
- ID_VENDOR_FROM_DATABASE=Hayes Microcomputer Products Inc
-
-pci:v000013EF*
- ID_VENDOR_FROM_DATABASE=Coppercom Inc
-
-pci:v000013F0*
- ID_VENDOR_FROM_DATABASE=Sundance Technology Inc / IC Plus Corp
-
-pci:v000013F0d00000200*
- ID_PRODUCT_FROM_DATABASE=IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY
-
-pci:v000013F0d00000200sv00001043sd00008213*
- ID_PRODUCT_FROM_DATABASE=NX1001
-
-pci:v000013F0d00000201*
- ID_PRODUCT_FROM_DATABASE=ST201 Sundance Ethernet
-
-pci:v000013F0d00001021*
- ID_PRODUCT_FROM_DATABASE=TC902x Gigabit Ethernet
-
-pci:v000013F0d00001023*
- ID_PRODUCT_FROM_DATABASE=IP1000 Family Gigabit Ethernet
-
-pci:v000013F0d00001023sv00001043sd00008180*
- ID_PRODUCT_FROM_DATABASE=NX1101
-
-pci:v000013F1*
- ID_VENDOR_FROM_DATABASE=Oce' - Technologies B.V.
-
-pci:v000013F2*
- ID_VENDOR_FROM_DATABASE=Ford Microelectronics Inc
-
-pci:v000013F3*
- ID_VENDOR_FROM_DATABASE=Mcdata Corporation
-
-pci:v000013F4*
- ID_VENDOR_FROM_DATABASE=Troika Networks, Inc.
-
-pci:v000013F4d00001401*
- ID_PRODUCT_FROM_DATABASE=Zentai Fibre Channel Adapter
-
-pci:v000013F5*
- ID_VENDOR_FROM_DATABASE=Kansai Electric Co. Ltd
-
-pci:v000013F6*
- ID_VENDOR_FROM_DATABASE=C-Media Electronics Inc
-
-pci:v000013F6d00000011*
- ID_PRODUCT_FROM_DATABASE=CMI8738
-
-pci:v000013F6d00000100*
- ID_PRODUCT_FROM_DATABASE=CM8338A
-
-pci:v000013F6d00000100sv000013F6sd0000FFFF*
- ID_PRODUCT_FROM_DATABASE=CMI8338/C3DX PCI Audio Device
-
-pci:v000013F6d00000101*
- ID_PRODUCT_FROM_DATABASE=CM8338B
-
-pci:v000013F6d00000101sv000013F6sd00000101*
- ID_PRODUCT_FROM_DATABASE=CMI8338-031 PCI Audio Device
-
-pci:v000013F6d00000111*
- ID_PRODUCT_FROM_DATABASE=CMI8738/CMI8768 PCI Audio
-
-pci:v000013F6d00000111sv00001019sd00000970*
- ID_PRODUCT_FROM_DATABASE=P6STP-FL motherboard
-
-pci:v000013F6d00000111sv00001043sd00008035*
- ID_PRODUCT_FROM_DATABASE=CUSI-FX motherboard
-
-pci:v000013F6d00000111sv00001043sd00008077*
- ID_PRODUCT_FROM_DATABASE=CMI8738 6-channel audio controller
-
-pci:v000013F6d00000111sv00001043sd000080E2*
- ID_PRODUCT_FROM_DATABASE=CMI8738 6ch-MX
-
-pci:v000013F6d00000111sv000013F6sd00000111*
- ID_PRODUCT_FROM_DATABASE=CMI8738/C3DX PCI Audio Device
-
-pci:v000013F6d00000111sv000013F6sd00009761*
- ID_PRODUCT_FROM_DATABASE=Theatron Agrippa
-
-pci:v000013F6d00000111sv0000153Bsd00001144*
- ID_PRODUCT_FROM_DATABASE=Aureon 5.1
-
-pci:v000013F6d00000111sv0000153Bsd00001170*
- ID_PRODUCT_FROM_DATABASE=Aureon 7.1
-
-pci:v000013F6d00000111sv00001681sd0000A000*
- ID_PRODUCT_FROM_DATABASE=Gamesurround MUSE XL
-
-pci:v000013F6d00000111sv000017ABsd00000604*
- ID_PRODUCT_FROM_DATABASE=PSC604 Dynamic Edge
-
-pci:v000013F6d00000111sv000017ABsd00000605*
- ID_PRODUCT_FROM_DATABASE=PSC605 Sonic Edge
-
-pci:v000013F6d00000111sv000017ABsd00007777*
- ID_PRODUCT_FROM_DATABASE=PSC605 Sonic Edge
-
-pci:v000013F6d00000111sv0000270Fsd00001103*
- ID_PRODUCT_FROM_DATABASE=CT-7NJS Ultra motherboard
-
-pci:v000013F6d00000111sv0000270Fsd0000F462*
- ID_PRODUCT_FROM_DATABASE=7NJL1 motherboard
-
-pci:v000013F6d00000111sv0000584Dsd00003731*
- ID_PRODUCT_FROM_DATABASE=Digital X-Mystique
-
-pci:v000013F6d00000111sv0000584Dsd00003741*
- ID_PRODUCT_FROM_DATABASE=X-Plosion 7.1
-
-pci:v000013F6d00000111sv0000584Dsd00003751*
- ID_PRODUCT_FROM_DATABASE=X-Raider 7.1
-
-pci:v000013F6d00000111sv0000584Dsd00003761*
- ID_PRODUCT_FROM_DATABASE=X-Mystique 7.1 LP
-
-pci:v000013F6d00000111sv0000584Dsd00003771*
- ID_PRODUCT_FROM_DATABASE=X-Mystique 7.1 LP Value
-
-pci:v000013F6d00000111sv00007284sd00008384*
- ID_PRODUCT_FROM_DATABASE=Striker 7.1
-
-pci:v000013F6d00000211*
- ID_PRODUCT_FROM_DATABASE=CM8738
-
-pci:v000013F6d00005011*
- ID_PRODUCT_FROM_DATABASE=CM8888 [Oxygen Express]
-
-pci:v000013F6d00005011sv000013F6sd00005011*
- ID_PRODUCT_FROM_DATABASE=HDA Controller
-
-pci:v000013F6d00008788*
- ID_PRODUCT_FROM_DATABASE=CMI8788 [Oxygen HD Audio]
-
-pci:v000013F6d00008788sv00001043sd00008269*
- ID_PRODUCT_FROM_DATABASE=Virtuoso 200 (Xonar D2)
-
-pci:v000013F6d00008788sv00001043sd00008275*
- ID_PRODUCT_FROM_DATABASE=Virtuoso 100 (Xonar DX)
-
-pci:v000013F6d00008788sv00001043sd000082B7*
- ID_PRODUCT_FROM_DATABASE=Virtuoso 200 (Xonar D2X)
-
-pci:v000013F6d00008788sv00001043sd00008314*
- ID_PRODUCT_FROM_DATABASE=Virtuoso 200 (Xonar HDAV1.3)
-
-pci:v000013F6d00008788sv00001043sd00008327*
- ID_PRODUCT_FROM_DATABASE=Virtuoso 100 (Xonar DX)
-
-pci:v000013F6d00008788sv00001043sd0000834F*
- ID_PRODUCT_FROM_DATABASE=Virtuoso 100 (Xonar D1)
-
-pci:v000013F6d00008788sv00001043sd0000835C*
- ID_PRODUCT_FROM_DATABASE=Virtuoso 100 (Xonar Essence STX)
-
-pci:v000013F6d00008788sv00001043sd0000835D*
- ID_PRODUCT_FROM_DATABASE=Virtuoso 100 (Xonar ST)
-
-pci:v000013F6d00008788sv00001043sd0000835E*
- ID_PRODUCT_FROM_DATABASE=Virtuoso 200 (Xonar HDAV1.3 Slim)
-
-pci:v000013F6d00008788sv00001043sd0000838E*
- ID_PRODUCT_FROM_DATABASE=Virtuoso 66 (Xonar DS)
-
-pci:v000013F6d00008788sv00001043sd00008428*
- ID_PRODUCT_FROM_DATABASE=Virtuoso 100 (Xonar Xense)
-
-pci:v000013F6d00008788sv00001043sd00008467*
- ID_PRODUCT_FROM_DATABASE=CMI8786 (Xonar DG)
-
-pci:v000013F6d00008788sv000013F6sd00008782*
- ID_PRODUCT_FROM_DATABASE=PCI 2.0 HD Audio
-
-pci:v000013F6d00008788sv000013F6sd0000FFFF*
- ID_PRODUCT_FROM_DATABASE=CMI8787-HG2PCI
-
-pci:v000013F6d00008788sv000014C3sd00001710*
- ID_PRODUCT_FROM_DATABASE=HiFier Fantasia
-
-pci:v000013F6d00008788sv000014C3sd00001711*
- ID_PRODUCT_FROM_DATABASE=HiFier Serenade
-
-pci:v000013F6d00008788sv00001A58sd00000910*
- ID_PRODUCT_FROM_DATABASE=Barracuda AC-1
-
-pci:v000013F6d00008788sv0000415Asd00005431*
- ID_PRODUCT_FROM_DATABASE=X-Meridian 7.1
-
-pci:v000013F6d00008788sv00005431sd0000017A*
- ID_PRODUCT_FROM_DATABASE=X-Meridian 7.1 2G
-
-pci:v000013F6d00008788sv0000584Dsd00003781*
- ID_PRODUCT_FROM_DATABASE=HDA X-Purity 7.1 Platinum
-
-pci:v000013F6d00008788sv00007284sd00009761*
- ID_PRODUCT_FROM_DATABASE=CLARO
-
-pci:v000013F6d00008788sv00007284sd00009781*
- ID_PRODUCT_FROM_DATABASE=CLARO halo
-
-pci:v000013F6d00008788sv00007284sd00009783*
- ID_PRODUCT_FROM_DATABASE=eCLARO
-
-pci:v000013F6d00008788sv00007284sd00009787*
- ID_PRODUCT_FROM_DATABASE=CLARO II
-
-pci:v000013F6d00009880*
- ID_PRODUCT_FROM_DATABASE=CM9880
-
-pci:v000013F7*
- ID_VENDOR_FROM_DATABASE=Wildfire Communications
-
-pci:v000013F8*
- ID_VENDOR_FROM_DATABASE=Ad Lib Multimedia Inc
-
-pci:v000013F9*
- ID_VENDOR_FROM_DATABASE=NTT Advanced Technology Corp.
-
-pci:v000013FA*
- ID_VENDOR_FROM_DATABASE=Pentland Systems Ltd
-
-pci:v000013FB*
- ID_VENDOR_FROM_DATABASE=Aydin Corp
-
-pci:v000013FC*
- ID_VENDOR_FROM_DATABASE=Computer Peripherals International
-
-pci:v000013FD*
- ID_VENDOR_FROM_DATABASE=Micro Science Inc
-
-pci:v000013FE*
- ID_VENDOR_FROM_DATABASE=Advantech Co. Ltd
-
-pci:v000013FEd00001240*
- ID_PRODUCT_FROM_DATABASE=PCI-1240 4-channel stepper motor controller card
-
-pci:v000013FEd00001600*
- ID_PRODUCT_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0)
-
-pci:v000013FEd00001600sv00001601sd00000002*
- ID_PRODUCT_FROM_DATABASE=PCI-1601 2-port unisolated RS-422/485
-
-pci:v000013FEd00001600sv00001602sd00000002*
- ID_PRODUCT_FROM_DATABASE=PCI-1602 2-port isolated RS-422/485
-
-pci:v000013FEd00001600sv00001612sd00000004*
- ID_PRODUCT_FROM_DATABASE=PCI-1612 4-port RS-232/422/485
-
-pci:v000013FEd00001603*
- ID_PRODUCT_FROM_DATABASE=PCI-1603 2-port isolated RS-232/current loop
-
-pci:v000013FEd00001604*
- ID_PRODUCT_FROM_DATABASE=PCI-1604 2-port RS-232
-
-pci:v000013FEd000016FF*
- ID_PRODUCT_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD)
-
-pci:v000013FEd000016FFsv00001601sd00000000*
- ID_PRODUCT_FROM_DATABASE=PCI-1601 2-port unisolated RS-422/485 PCI communications card
-
-pci:v000013FEd000016FFsv00001602sd00000000*
- ID_PRODUCT_FROM_DATABASE=PCI-1602 2-port isolated RS-422/485
-
-pci:v000013FEd000016FFsv00001612sd00000000*
- ID_PRODUCT_FROM_DATABASE=PCI-1612 4-port RS-232/422/485
-
-pci:v000013FEd00001711*
- ID_PRODUCT_FROM_DATABASE=PCI-1711 16-channel data acquisition card 12-bit, 100kS/s
-
-pci:v000013FEd00001733*
- ID_PRODUCT_FROM_DATABASE=PCI-1733 32-channel isolated digital input card
-
-pci:v000013FEd00001752*
- ID_PRODUCT_FROM_DATABASE=PCI-1752
-
-pci:v000013FEd00001754*
- ID_PRODUCT_FROM_DATABASE=PCI-1754
-
-pci:v000013FEd00001756*
- ID_PRODUCT_FROM_DATABASE=PCI-1756
-
-pci:v000013FF*
- ID_VENDOR_FROM_DATABASE=Silicon Spice Inc
-
-pci:v00001400*
- ID_VENDOR_FROM_DATABASE=Artx Inc
-
-pci:v00001400d00001401*
- ID_PRODUCT_FROM_DATABASE=9432 TX
-
-pci:v00001401*
- ID_VENDOR_FROM_DATABASE=CR-Systems A/S
-
-pci:v00001402*
- ID_VENDOR_FROM_DATABASE=Meilhaus Electronic GmbH
-
-pci:v00001402d00000630*
- ID_PRODUCT_FROM_DATABASE=ME-630
-
-pci:v00001402d00000940*
- ID_PRODUCT_FROM_DATABASE=ME-94
-
-pci:v00001402d00000950*
- ID_PRODUCT_FROM_DATABASE=ME-95
-
-pci:v00001402d00000960*
- ID_PRODUCT_FROM_DATABASE=ME-96
-
-pci:v00001402d00001000*
- ID_PRODUCT_FROM_DATABASE=ME-1000
-
-pci:v00001402d0000100A*
- ID_PRODUCT_FROM_DATABASE=ME-1000
-
-pci:v00001402d0000100B*
- ID_PRODUCT_FROM_DATABASE=ME-1000
-
-pci:v00001402d00001400*
- ID_PRODUCT_FROM_DATABASE=ME-1400
-
-pci:v00001402d0000140A*
- ID_PRODUCT_FROM_DATABASE=ME-1400A
-
-pci:v00001402d0000140B*
- ID_PRODUCT_FROM_DATABASE=ME-1400B
-
-pci:v00001402d0000140C*
- ID_PRODUCT_FROM_DATABASE=ME-1400C
-
-pci:v00001402d0000140D*
- ID_PRODUCT_FROM_DATABASE=ME-1400D
-
-pci:v00001402d0000140E*
- ID_PRODUCT_FROM_DATABASE=ME-1400E
-
-pci:v00001402d000014EA*
- ID_PRODUCT_FROM_DATABASE=ME-1400EA
-
-pci:v00001402d000014EB*
- ID_PRODUCT_FROM_DATABASE=ME-1400EB
-
-pci:v00001402d00001604*
- ID_PRODUCT_FROM_DATABASE=ME-1600/4U
-
-pci:v00001402d00001608*
- ID_PRODUCT_FROM_DATABASE=ME-1600/8U
-
-pci:v00001402d0000160C*
- ID_PRODUCT_FROM_DATABASE=ME-1600/12U
-
-pci:v00001402d0000160F*
- ID_PRODUCT_FROM_DATABASE=ME-1600/16U
-
-pci:v00001402d0000168F*
- ID_PRODUCT_FROM_DATABASE=ME-1600/16U8I
-
-pci:v00001402d00004610*
- ID_PRODUCT_FROM_DATABASE=ME-4610
-
-pci:v00001402d00004650*
- ID_PRODUCT_FROM_DATABASE=ME-4650
-
-pci:v00001402d00004660*
- ID_PRODUCT_FROM_DATABASE=ME-4660
-
-pci:v00001402d00004661*
- ID_PRODUCT_FROM_DATABASE=ME-4660I
-
-pci:v00001402d00004662*
- ID_PRODUCT_FROM_DATABASE=ME-4660
-
-pci:v00001402d00004663*
- ID_PRODUCT_FROM_DATABASE=ME-4660I
-
-pci:v00001402d00004670*
- ID_PRODUCT_FROM_DATABASE=ME-4670
-
-pci:v00001402d00004671*
- ID_PRODUCT_FROM_DATABASE=ME-4670I
-
-pci:v00001402d00004672*
- ID_PRODUCT_FROM_DATABASE=ME-4670S
-
-pci:v00001402d00004673*
- ID_PRODUCT_FROM_DATABASE=ME-4670IS
-
-pci:v00001402d00004680*
- ID_PRODUCT_FROM_DATABASE=ME-4680
-
-pci:v00001402d00004681*
- ID_PRODUCT_FROM_DATABASE=ME-4680I
-
-pci:v00001402d00004682*
- ID_PRODUCT_FROM_DATABASE=ME-4680S
-
-pci:v00001402d00004683*
- ID_PRODUCT_FROM_DATABASE=ME-4680IS
-
-pci:v00001402d00006004*
- ID_PRODUCT_FROM_DATABASE=ME-6000/4
-
-pci:v00001402d00006008*
- ID_PRODUCT_FROM_DATABASE=ME-6000/8
-
-pci:v00001402d0000600F*
- ID_PRODUCT_FROM_DATABASE=ME-6000/16
-
-pci:v00001402d00006014*
- ID_PRODUCT_FROM_DATABASE=ME-6000I/4
-
-pci:v00001402d00006018*
- ID_PRODUCT_FROM_DATABASE=ME-6000I/8
-
-pci:v00001402d0000601F*
- ID_PRODUCT_FROM_DATABASE=ME-6000I/16
-
-pci:v00001402d00006034*
- ID_PRODUCT_FROM_DATABASE=ME-6000ISLE/4
-
-pci:v00001402d00006038*
- ID_PRODUCT_FROM_DATABASE=ME-6000ISLE/8
-
-pci:v00001402d0000603F*
- ID_PRODUCT_FROM_DATABASE=ME-6000ISLE/16
-
-pci:v00001402d00006044*
- ID_PRODUCT_FROM_DATABASE=ME-6000/4/DIO
-
-pci:v00001402d00006048*
- ID_PRODUCT_FROM_DATABASE=ME-6000/8/DIO
-
-pci:v00001402d0000604F*
- ID_PRODUCT_FROM_DATABASE=ME-6000/16/DIO
-
-pci:v00001402d00006054*
- ID_PRODUCT_FROM_DATABASE=ME-6000I/4/DIO
-
-pci:v00001402d00006058*
- ID_PRODUCT_FROM_DATABASE=ME-6000I/8/DIO
-
-pci:v00001402d0000605F*
- ID_PRODUCT_FROM_DATABASE=ME-6000I/16/DIO
-
-pci:v00001402d00006074*
- ID_PRODUCT_FROM_DATABASE=ME-6000ISLE/4/DIO
-
-pci:v00001402d00006078*
- ID_PRODUCT_FROM_DATABASE=ME-6000ISLE/8/DIO
-
-pci:v00001402d0000607F*
- ID_PRODUCT_FROM_DATABASE=ME-6000ISLE/16/DIO
-
-pci:v00001402d00006104*
- ID_PRODUCT_FROM_DATABASE=ME-6100/4
-
-pci:v00001402d00006108*
- ID_PRODUCT_FROM_DATABASE=ME-6100/8
-
-pci:v00001402d0000610F*
- ID_PRODUCT_FROM_DATABASE=ME-6100/16
-
-pci:v00001402d00006114*
- ID_PRODUCT_FROM_DATABASE=ME-6100I/4
-
-pci:v00001402d00006118*
- ID_PRODUCT_FROM_DATABASE=ME-6100I/8
-
-pci:v00001402d0000611F*
- ID_PRODUCT_FROM_DATABASE=ME-6100I/16
-
-pci:v00001402d00006134*
- ID_PRODUCT_FROM_DATABASE=ME-6100ISLE/4
-
-pci:v00001402d00006138*
- ID_PRODUCT_FROM_DATABASE=ME-6100ISLE/8
-
-pci:v00001402d0000613F*
- ID_PRODUCT_FROM_DATABASE=ME-6100ISLE/16
-
-pci:v00001402d00006144*
- ID_PRODUCT_FROM_DATABASE=ME-6100/4/DIO
-
-pci:v00001402d00006148*
- ID_PRODUCT_FROM_DATABASE=ME-6100/8/DIO
-
-pci:v00001402d0000614F*
- ID_PRODUCT_FROM_DATABASE=ME-6100/16/DIO
-
-pci:v00001402d00006154*
- ID_PRODUCT_FROM_DATABASE=ME-6100I/4/DIO
-
-pci:v00001402d00006158*
- ID_PRODUCT_FROM_DATABASE=ME-6100I/8/DIO
-
-pci:v00001402d0000615F*
- ID_PRODUCT_FROM_DATABASE=ME-6100I/16/DIO
-
-pci:v00001402d00006174*
- ID_PRODUCT_FROM_DATABASE=ME-6100ISLE/4/DIO
-
-pci:v00001402d00006178*
- ID_PRODUCT_FROM_DATABASE=ME-6100ISLE/8/DIO
-
-pci:v00001402d0000617F*
- ID_PRODUCT_FROM_DATABASE=ME-6100ISLE/16/DIO
-
-pci:v00001402d00006259*
- ID_PRODUCT_FROM_DATABASE=ME-6200I/9/DIO
-
-pci:v00001402d00006359*
- ID_PRODUCT_FROM_DATABASE=ME-6300I/9/DIO
-
-pci:v00001402d0000810A*
- ID_PRODUCT_FROM_DATABASE=ME-8100A
-
-pci:v00001402d0000810B*
- ID_PRODUCT_FROM_DATABASE=ME-8100B
-
-pci:v00001402d0000820A*
- ID_PRODUCT_FROM_DATABASE=ME-8200A
-
-pci:v00001402d0000820B*
- ID_PRODUCT_FROM_DATABASE=ME-8200B
-
-pci:v00001403*
- ID_VENDOR_FROM_DATABASE=Ascor Inc
-
-pci:v00001404*
- ID_VENDOR_FROM_DATABASE=Fundamental Software Inc
-
-pci:v00001405*
- ID_VENDOR_FROM_DATABASE=Excalibur Systems Inc
-
-pci:v00001406*
- ID_VENDOR_FROM_DATABASE=Oce' Printing Systems GmbH
-
-pci:v00001407*
- ID_VENDOR_FROM_DATABASE=Lava Computer mfg Inc
-
-pci:v00001407d00000100*
- ID_PRODUCT_FROM_DATABASE=Lava Dual Serial
-
-pci:v00001407d00000101*
- ID_PRODUCT_FROM_DATABASE=Lava Quatro A
-
-pci:v00001407d00000102*
- ID_PRODUCT_FROM_DATABASE=Lava Quatro B
-
-pci:v00001407d00000110*
- ID_PRODUCT_FROM_DATABASE=Lava DSerial-PCI Port A
-
-pci:v00001407d00000111*
- ID_PRODUCT_FROM_DATABASE=Lava DSerial-PCI Port B
-
-pci:v00001407d00000120*
- ID_PRODUCT_FROM_DATABASE=Quattro-PCI A
-
-pci:v00001407d00000121*
- ID_PRODUCT_FROM_DATABASE=Quattro-PCI B
-
-pci:v00001407d00000180*
- ID_PRODUCT_FROM_DATABASE=Lava Octo A
-
-pci:v00001407d00000181*
- ID_PRODUCT_FROM_DATABASE=Lava Octo B
-
-pci:v00001407d00000200*
- ID_PRODUCT_FROM_DATABASE=Lava Port Plus
-
-pci:v00001407d00000201*
- ID_PRODUCT_FROM_DATABASE=Lava Quad A
-
-pci:v00001407d00000202*
- ID_PRODUCT_FROM_DATABASE=Lava Quad B
-
-pci:v00001407d00000220*
- ID_PRODUCT_FROM_DATABASE=Lava Quattro PCI Ports A/B
-
-pci:v00001407d00000221*
- ID_PRODUCT_FROM_DATABASE=Lava Quattro PCI Ports C/D
-
-pci:v00001407d00000400*
- ID_PRODUCT_FROM_DATABASE=Lava 8255-PIO-PCI
-
-pci:v00001407d00000500*
- ID_PRODUCT_FROM_DATABASE=Lava Single Serial
-
-pci:v00001407d00000520*
- ID_PRODUCT_FROM_DATABASE=Lava RS422-SS-PCI
-
-pci:v00001407d00000600*
- ID_PRODUCT_FROM_DATABASE=Lava Port 650
-
-pci:v00001407d00008000*
- ID_PRODUCT_FROM_DATABASE=Lava Parallel
-
-pci:v00001407d00008001*
- ID_PRODUCT_FROM_DATABASE=Dual parallel port controller A
-
-pci:v00001407d00008002*
- ID_PRODUCT_FROM_DATABASE=Lava Dual Parallel port A
-
-pci:v00001407d00008003*
- ID_PRODUCT_FROM_DATABASE=Lava Dual Parallel port B
-
-pci:v00001407d00008800*
- ID_PRODUCT_FROM_DATABASE=BOCA Research IOPPAR
-
-pci:v00001408*
- ID_VENDOR_FROM_DATABASE=Aloka Co. Ltd
-
-pci:v00001409*
- ID_VENDOR_FROM_DATABASE=Timedia Technology Co Ltd
-
-pci:v00001409d00007168*
- ID_PRODUCT_FROM_DATABASE=PCI2S550 (Dual 16550 UART)
-
-pci:v00001409d00007168sv00001409sd00000002*
- ID_PRODUCT_FROM_DATABASE=SER4036A3V (2x RS232 port)
-
-pci:v00001409d00007168sv00001409sd00004027*
- ID_PRODUCT_FROM_DATABASE=SER4027A (1x RS232 port)
-
-pci:v00001409d00007168sv00001409sd00004037*
- ID_PRODUCT_FROM_DATABASE=SER4037A (2x RS232 port)
-
-pci:v00001409d00007168sv00001409sd00004056*
- ID_PRODUCT_FROM_DATABASE=SER4056A (4x RS232)
-
-pci:v00001409d00007168sv00001409sd00005027*
- ID_PRODUCT_FROM_DATABASE=SER4027D
-
-pci:v00001409d00007168sv00001409sd00005037*
- ID_PRODUCT_FROM_DATABASE=SER4037D (2x RS232 port)
-
-pci:v00001409d00007168sv00001409sd00005066*
- ID_PRODUCT_FROM_DATABASE=SER4066R (8x RS232)
-
-pci:v00001409d00007168sv00001409sd00006056*
- ID_PRODUCT_FROM_DATABASE=SER4056D (4x RS232 port)
-
-pci:v00001409d00007268*
- ID_PRODUCT_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port)
-
-pci:v00001409d00007268sv00001409sd00000103*
- ID_PRODUCT_FROM_DATABASE=PAR4008A
-
-pci:v00001409d00007268sv00001409sd00000104*
- ID_PRODUCT_FROM_DATABASE=PAR4018A
-
-pci:v0000140A*
- ID_VENDOR_FROM_DATABASE=DSP Research Inc
-
-pci:v0000140B*
- ID_VENDOR_FROM_DATABASE=GE Intelligent Platforms
-
-pci:v0000140C*
- ID_VENDOR_FROM_DATABASE=Elmic Systems Inc
-
-pci:v0000140D*
- ID_VENDOR_FROM_DATABASE=Matsushita Electric Works Ltd
-
-pci:v0000140E*
- ID_VENDOR_FROM_DATABASE=Goepel Electronic GmbH
-
-pci:v0000140F*
- ID_VENDOR_FROM_DATABASE=Salient Systems Corp
-
-pci:v00001410*
- ID_VENDOR_FROM_DATABASE=Midas lab Inc
-
-pci:v00001411*
- ID_VENDOR_FROM_DATABASE=Ikos Systems Inc
-
-pci:v00001412*
- ID_VENDOR_FROM_DATABASE=VIA Technologies Inc.
-
-pci:v00001412d00001712*
- ID_PRODUCT_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller
-
-pci:v00001412d00001712sv00001412sd00001712*
- ID_PRODUCT_FROM_DATABASE=Hoontech ST Audio DSP 24
-
-pci:v00001412d00001712sv00001412sd00003632*
- ID_PRODUCT_FROM_DATABASE=M-Audio Delta Audiophile 192
-
-pci:v00001412d00001712sv00001412sd0000D630*
- ID_PRODUCT_FROM_DATABASE=M-Audio Delta 1010
-
-pci:v00001412d00001712sv00001412sd0000D631*
- ID_PRODUCT_FROM_DATABASE=M-Audio Delta DiO
-
-pci:v00001412d00001712sv00001412sd0000D632*
- ID_PRODUCT_FROM_DATABASE=M-Audio Delta 66
-
-pci:v00001412d00001712sv00001412sd0000D633*
- ID_PRODUCT_FROM_DATABASE=M-Audio Delta 44
-
-pci:v00001412d00001712sv00001412sd0000D634*
- ID_PRODUCT_FROM_DATABASE=M-Audio Delta Audiophile 2496
-
-pci:v00001412d00001712sv00001412sd0000D635*
- ID_PRODUCT_FROM_DATABASE=M-Audio Delta TDIF
-
-pci:v00001412d00001712sv00001412sd0000D637*
- ID_PRODUCT_FROM_DATABASE=M-Audio Delta RBUS
-
-pci:v00001412d00001712sv00001412sd0000D638*
- ID_PRODUCT_FROM_DATABASE=M-Audio Delta 410
-
-pci:v00001412d00001712sv00001412sd0000D63B*
- ID_PRODUCT_FROM_DATABASE=M-Audio Delta 1010LT
-
-pci:v00001412d00001712sv00001412sd0000D63C*
- ID_PRODUCT_FROM_DATABASE=Digigram VX442
-
-pci:v00001412d00001712sv00001416sd00001712*
- ID_PRODUCT_FROM_DATABASE=Hoontech ST Audio DSP 24 Media 7.1
-
-pci:v00001412d00001712sv0000153Bsd00001115*
- ID_PRODUCT_FROM_DATABASE=EWS88 MT
-
-pci:v00001412d00001712sv0000153Bsd00001125*
- ID_PRODUCT_FROM_DATABASE=EWS88 MT (Master)
-
-pci:v00001412d00001712sv0000153Bsd0000112B*
- ID_PRODUCT_FROM_DATABASE=EWS88 D
-
-pci:v00001412d00001712sv0000153Bsd0000112C*
- ID_PRODUCT_FROM_DATABASE=EWS88 D (Master)
-
-pci:v00001412d00001712sv0000153Bsd00001130*
- ID_PRODUCT_FROM_DATABASE=EWX 24/96
-
-pci:v00001412d00001712sv0000153Bsd00001138*
- ID_PRODUCT_FROM_DATABASE=DMX 6fire 24/96
-
-pci:v00001412d00001712sv0000153Bsd00001151*
- ID_PRODUCT_FROM_DATABASE=PHASE88
-
-pci:v00001412d00001712sv000016CEsd00001040*
- ID_PRODUCT_FROM_DATABASE=Edirol DA-2496
-
-pci:v00001412d00001724*
- ID_PRODUCT_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller
-
-pci:v00001412d00001724sv000010B0sd00000200*
- ID_PRODUCT_FROM_DATABASE=Hollywood@Home 7.1
-
-pci:v00001412d00001724sv00001412sd00001724*
- ID_PRODUCT_FROM_DATABASE=Albatron PX865PE 7.1
-
-pci:v00001412d00001724sv00001412sd00003630*
- ID_PRODUCT_FROM_DATABASE=M-Audio Revolution 7.1
-
-pci:v00001412d00001724sv00001412sd00003631*
- ID_PRODUCT_FROM_DATABASE=M-Audio Revolution 5.1
-
-pci:v00001412d00001724sv0000153Bsd00001145*
- ID_PRODUCT_FROM_DATABASE=Aureon 7.1 Space
-
-pci:v00001412d00001724sv0000153Bsd00001147*
- ID_PRODUCT_FROM_DATABASE=Aureon 5.1 Sky
-
-pci:v00001412d00001724sv0000153Bsd00001150*
- ID_PRODUCT_FROM_DATABASE=PHASE 22
-
-pci:v00001412d00001724sv0000153Bsd00001153*
- ID_PRODUCT_FROM_DATABASE=Aureon 7.1 Universe
-
-pci:v00001412d00001724sv000017ABsd00001906*
- ID_PRODUCT_FROM_DATABASE=PSC 724 [Ultimate Edge]
-
-pci:v00001412d00001724sv0000270Fsd0000F641*
- ID_PRODUCT_FROM_DATABASE=ZNF3-150
-
-pci:v00001412d00001724sv0000270Fsd0000F645*
- ID_PRODUCT_FROM_DATABASE=ZNF3-250
-
-pci:v00001412d00001724sv00003130sd00004154*
- ID_PRODUCT_FROM_DATABASE=MAYA 44 MKII
-
-pci:v00001413*
- ID_VENDOR_FROM_DATABASE=Addonics
-
-pci:v00001414*
- ID_VENDOR_FROM_DATABASE=Microsoft Corporation
-
-pci:v00001414d00000001*
- ID_PRODUCT_FROM_DATABASE=MN-120 (ADMtek Centaur-C based)
-
-pci:v00001414d00000002*
- ID_PRODUCT_FROM_DATABASE=MN-130 (ADMtek Centaur-P based)
-
-pci:v00001414d00005353*
- ID_PRODUCT_FROM_DATABASE=Hyper-V virtual VGA
-
-pci:v00001414d00005801*
- ID_PRODUCT_FROM_DATABASE=XMA Decoder (Xenon)
-
-pci:v00001414d00005802*
- ID_PRODUCT_FROM_DATABASE=SATA Controller - CdRom (Xenon)
-
-pci:v00001414d00005803*
- ID_PRODUCT_FROM_DATABASE=SATA Controller - Disk (Xenon)
-
-pci:v00001414d00005804*
- ID_PRODUCT_FROM_DATABASE=OHCI Controller 0 (Xenon)
-
-pci:v00001414d00005805*
- ID_PRODUCT_FROM_DATABASE=EHCI Controller 0 (Xenon)
-
-pci:v00001414d00005806*
- ID_PRODUCT_FROM_DATABASE=OHCI Controller 1 (Xenon)
-
-pci:v00001414d00005807*
- ID_PRODUCT_FROM_DATABASE=EHCI Controller 1 (Xenon)
-
-pci:v00001414d0000580A*
- ID_PRODUCT_FROM_DATABASE=Fast Ethernet Adapter (Xenon)
-
-pci:v00001414d0000580B*
- ID_PRODUCT_FROM_DATABASE=Secure Flash Controller (Xenon)
-
-pci:v00001414d0000580D*
- ID_PRODUCT_FROM_DATABASE=System Management Controller (Xenon)
-
-pci:v00001414d00005811*
- ID_PRODUCT_FROM_DATABASE=Xenos GPU (Xenon)
-
-pci:v00001415*
- ID_VENDOR_FROM_DATABASE=Oxford Semiconductor Ltd
-
-pci:v00001415d00008401*
- ID_PRODUCT_FROM_DATABASE=OX9162 Mode 1 (8-bit bus)
-
-pci:v00001415d00008403*
- ID_PRODUCT_FROM_DATABASE=OX9162 Mode 0 (parallel port)
-
-pci:v00001415d00009500*
- ID_PRODUCT_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Disabled)
-
-pci:v00001415d00009501*
- ID_PRODUCT_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart)
-
-pci:v00001415d00009501sv000012C4sd00000201*
- ID_PRODUCT_FROM_DATABASE=Titan/cPCI (2 port)
-
-pci:v00001415d00009501sv000012C4sd00000202*
- ID_PRODUCT_FROM_DATABASE=Titan/cPCI (4 port)
-
-pci:v00001415d00009501sv000012C4sd00000203*
- ID_PRODUCT_FROM_DATABASE=Titan/cPCI (8 port)
-
-pci:v00001415d00009501sv000012C4sd00000210*
- ID_PRODUCT_FROM_DATABASE=Titan/104-Plus (8 port, p1-4)
-
-pci:v00001415d00009501sv0000131Fsd00002050*
- ID_PRODUCT_FROM_DATABASE=CyberPro (4-port)
-
-pci:v00001415d00009501sv0000131Fsd00002051*
- ID_PRODUCT_FROM_DATABASE=CyberSerial 4S Plus
-
-pci:v00001415d00009501sv000015EDsd00002000*
- ID_PRODUCT_FROM_DATABASE=MCCR Serial p0-3 of 8
-
-pci:v00001415d00009501sv000015EDsd00002001*
- ID_PRODUCT_FROM_DATABASE=MCCR Serial p0-3 of 16
-
-pci:v00001415d00009505*
- ID_PRODUCT_FROM_DATABASE=OXuPCI952 (Dual 16C950 UART)
-
-pci:v00001415d0000950A*
- ID_PRODUCT_FROM_DATABASE=EXSYS EX-41092 Dual 16950 Serial adapter
-
-pci:v00001415d0000950B*
- ID_PRODUCT_FROM_DATABASE=OXCB950 Cardbus 16950 UART
-
-pci:v00001415d00009510*
- ID_PRODUCT_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (Disabled)
-
-pci:v00001415d00009510sv000012C4sd00000200*
- ID_PRODUCT_FROM_DATABASE=Titan/cPCI (Unused)
-
-pci:v00001415d00009511*
- ID_PRODUCT_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus)
-
-pci:v00001415d00009511sv000012C4sd00000211*
- ID_PRODUCT_FROM_DATABASE=Titan/104-Plus (8 port, p5-8)
-
-pci:v00001415d00009511sv000015EDsd00002000*
- ID_PRODUCT_FROM_DATABASE=MCCR Serial p4-7 of 8
-
-pci:v00001415d00009511sv000015EDsd00002001*
- ID_PRODUCT_FROM_DATABASE=MCCR Serial p4-15 of 16
-
-pci:v00001415d00009512*
- ID_PRODUCT_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (32bit bus)
-
-pci:v00001415d00009513*
- ID_PRODUCT_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (parallel port)
-
-pci:v00001415d00009521*
- ID_PRODUCT_FROM_DATABASE=OX16PCI952 (Dual 16950 UART)
-
-pci:v00001415d00009523*
- ID_PRODUCT_FROM_DATABASE=OX16PCI952 Integrated Parallel Port
-
-pci:v00001415d0000C158*
- ID_PRODUCT_FROM_DATABASE=OXPCIe952 Dual 16C950 UART
-
-pci:v00001415d0000C158sv0000E4BFsd0000C504*
- ID_PRODUCT_FROM_DATABASE=CP4-SCAT Wireless Technologies Carrier Board
-
-pci:v00001415d0000C158sv0000E4BFsd0000D551*
- ID_PRODUCT_FROM_DATABASE=DU1-MUSTANG Dual-Port RS-485 Interface
-
-pci:v00001415d0000C308*
- ID_PRODUCT_FROM_DATABASE=EX-44016 16-port serial
-
-pci:v00001416*
- ID_VENDOR_FROM_DATABASE=Multiwave Innovation pte Ltd
-
-pci:v00001417*
- ID_VENDOR_FROM_DATABASE=Convergenet Technologies Inc
-
-pci:v00001418*
- ID_VENDOR_FROM_DATABASE=Kyushu electronics systems Inc
-
-pci:v00001419*
- ID_VENDOR_FROM_DATABASE=Excel Switching Corp
-
-pci:v0000141A*
- ID_VENDOR_FROM_DATABASE=Apache Micro Peripherals Inc
-
-pci:v0000141B*
- ID_VENDOR_FROM_DATABASE=Zoom Telephonics Inc
-
-pci:v0000141D*
- ID_VENDOR_FROM_DATABASE=Digitan Systems Inc
-
-pci:v0000141E*
- ID_VENDOR_FROM_DATABASE=Fanuc Ltd
-
-pci:v0000141F*
- ID_VENDOR_FROM_DATABASE=Visiontech Ltd
-
-pci:v00001420*
- ID_VENDOR_FROM_DATABASE=Psion Dacom plc
-
-pci:v00001420d00008002*
- ID_PRODUCT_FROM_DATABASE=Gold Card NetGlobal 56k+10/100Mb CardBus (Ethernet part)
-
-pci:v00001420d00008003*
- ID_PRODUCT_FROM_DATABASE=Gold Card NetGlobal 56k+10/100Mb CardBus (Modem part)
-
-pci:v00001421*
- ID_VENDOR_FROM_DATABASE=Ads Technologies Inc
-
-pci:v00001422*
- ID_VENDOR_FROM_DATABASE=Ygrec Systems Co Ltd
-
-pci:v00001423*
- ID_VENDOR_FROM_DATABASE=Custom Technology Corp.
-
-pci:v00001424*
- ID_VENDOR_FROM_DATABASE=Videoserver Connections
-
-pci:v00001425*
- ID_VENDOR_FROM_DATABASE=Chelsio Communications Inc
-
-pci:v00001425d0000000B*
- ID_PRODUCT_FROM_DATABASE=T210 Protocol Engine
-
-pci:v00001425d0000000C*
- ID_PRODUCT_FROM_DATABASE=T204 Protocol Engine
-
-pci:v00001425d00000022*
- ID_PRODUCT_FROM_DATABASE=10GbE Ethernet Adapter
-
-pci:v00001425d00000030*
- ID_PRODUCT_FROM_DATABASE=T310 10GbE Single Port Adapter
-
-pci:v00001425d00000030sv0000103Csd0000705E*
- ID_PRODUCT_FROM_DATABASE=PCIe 10GBase-SR [AD386A]
-
-pci:v00001425d00000031*
- ID_PRODUCT_FROM_DATABASE=T320 10GbE Dual Port Adapter
-
-pci:v00001425d00000032*
- ID_PRODUCT_FROM_DATABASE=T302 1GbE Dual Port Adapter
-
-pci:v00001425d00000033*
- ID_PRODUCT_FROM_DATABASE=T304 1GbE Quad Port Adapter
-
-pci:v00001425d00000034*
- ID_PRODUCT_FROM_DATABASE=B320 10GbE Dual Port Adapter
-
-pci:v00001425d00000035*
- ID_PRODUCT_FROM_DATABASE=S310-CR 10GbE Single Port Adapter
-
-pci:v00001425d00000036*
- ID_PRODUCT_FROM_DATABASE=S320-LP-CR 10GbE Dual Port Adapter
-
-pci:v00001425d00000037*
- ID_PRODUCT_FROM_DATABASE=N320-G2-CR 10GbE Dual Port Adapter
-
-pci:v00001425d00004001*
- ID_PRODUCT_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004002*
- ID_PRODUCT_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004003*
- ID_PRODUCT_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004004*
- ID_PRODUCT_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller
-
-pci:v00001425d00004005*
- ID_PRODUCT_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller
-
-pci:v00001425d00004006*
- ID_PRODUCT_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller
-
-pci:v00001425d00004007*
- ID_PRODUCT_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller
-
-pci:v00001425d00004008*
- ID_PRODUCT_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller
-
-pci:v00001425d00004009*
- ID_PRODUCT_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000400A*
- ID_PRODUCT_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000400B*
- ID_PRODUCT_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller
-
-pci:v00001425d0000400C*
- ID_PRODUCT_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000400D*
- ID_PRODUCT_FROM_DATABASE=T480 Unified Wire Ethernet Controller
-
-pci:v00001425d0000400E*
- ID_PRODUCT_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004401*
- ID_PRODUCT_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004402*
- ID_PRODUCT_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004403*
- ID_PRODUCT_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004404*
- ID_PRODUCT_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller
-
-pci:v00001425d00004405*
- ID_PRODUCT_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller
-
-pci:v00001425d00004406*
- ID_PRODUCT_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller
-
-pci:v00001425d00004407*
- ID_PRODUCT_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller
-
-pci:v00001425d00004408*
- ID_PRODUCT_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller
-
-pci:v00001425d00004409*
- ID_PRODUCT_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000440A*
- ID_PRODUCT_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000440B*
- ID_PRODUCT_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller
-
-pci:v00001425d0000440C*
- ID_PRODUCT_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000440D*
- ID_PRODUCT_FROM_DATABASE=T480 Unified Wire Ethernet Controller
-
-pci:v00001425d0000440E*
- ID_PRODUCT_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004501*
- ID_PRODUCT_FROM_DATABASE=T420-CR Unified Wire Storage Controller
-
-pci:v00001425d00004502*
- ID_PRODUCT_FROM_DATABASE=T422-CR Unified Wire Storage Controller
-
-pci:v00001425d00004503*
- ID_PRODUCT_FROM_DATABASE=T440-CR Unified Wire Storage Controller
-
-pci:v00001425d00004504*
- ID_PRODUCT_FROM_DATABASE=T420-BCH Unified Wire Storage Controller
-
-pci:v00001425d00004505*
- ID_PRODUCT_FROM_DATABASE=T440-BCH Unified Wire Storage Controller
-
-pci:v00001425d00004506*
- ID_PRODUCT_FROM_DATABASE=T440-CH Unified Wire Storage Controller
-
-pci:v00001425d00004507*
- ID_PRODUCT_FROM_DATABASE=T420-SO Unified Wire Storage Controller
-
-pci:v00001425d00004508*
- ID_PRODUCT_FROM_DATABASE=T420-CX Unified Wire Storage Controller
-
-pci:v00001425d00004509*
- ID_PRODUCT_FROM_DATABASE=T420-BT Unified Wire Storage Controller
-
-pci:v00001425d0000450A*
- ID_PRODUCT_FROM_DATABASE=T404-BT Unified Wire Storage Controller
-
-pci:v00001425d0000450B*
- ID_PRODUCT_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller
-
-pci:v00001425d0000450C*
- ID_PRODUCT_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000450D*
- ID_PRODUCT_FROM_DATABASE=T480 Unified Wire Storage Controller
-
-pci:v00001425d0000450E*
- ID_PRODUCT_FROM_DATABASE=T440-LP-CR Unified Wire Storage Controller
-
-pci:v00001425d00004601*
- ID_PRODUCT_FROM_DATABASE=T420-CR Unified Wire Storage Controller
-
-pci:v00001425d00004602*
- ID_PRODUCT_FROM_DATABASE=T422-CR Unified Wire Storage Controller
-
-pci:v00001425d00004603*
- ID_PRODUCT_FROM_DATABASE=T440-CR Unified Wire Storage Controller
-
-pci:v00001425d00004604*
- ID_PRODUCT_FROM_DATABASE=T420-BCH Unified Wire Storage Controller
-
-pci:v00001425d00004605*
- ID_PRODUCT_FROM_DATABASE=T440-BCH Unified Wire Storage Controller
-
-pci:v00001425d00004606*
- ID_PRODUCT_FROM_DATABASE=T440-CH Unified Wire Storage Controller
-
-pci:v00001425d00004607*
- ID_PRODUCT_FROM_DATABASE=T420-SO Unified Wire Storage Controller
-
-pci:v00001425d00004608*
- ID_PRODUCT_FROM_DATABASE=T420-CX Unified Wire Storage Controller
-
-pci:v00001425d00004609*
- ID_PRODUCT_FROM_DATABASE=T420-BT Unified Wire Storage Controller
-
-pci:v00001425d0000460A*
- ID_PRODUCT_FROM_DATABASE=T404-BT Unified Wire Storage Controller
-
-pci:v00001425d0000460B*
- ID_PRODUCT_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller
-
-pci:v00001425d0000460C*
- ID_PRODUCT_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000460D*
- ID_PRODUCT_FROM_DATABASE=T480 Unified Wire Storage Controller
-
-pci:v00001425d0000460E*
- ID_PRODUCT_FROM_DATABASE=T440-LP-CR Unified Wire Storage Controller
-
-pci:v00001425d00004701*
- ID_PRODUCT_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004702*
- ID_PRODUCT_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004703*
- ID_PRODUCT_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004704*
- ID_PRODUCT_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller
-
-pci:v00001425d00004705*
- ID_PRODUCT_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller
-
-pci:v00001425d00004706*
- ID_PRODUCT_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller
-
-pci:v00001425d00004707*
- ID_PRODUCT_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller
-
-pci:v00001425d00004708*
- ID_PRODUCT_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller
-
-pci:v00001425d00004709*
- ID_PRODUCT_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000470A*
- ID_PRODUCT_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000470B*
- ID_PRODUCT_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller
-
-pci:v00001425d0000470C*
- ID_PRODUCT_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000470D*
- ID_PRODUCT_FROM_DATABASE=T480 Unified Wire Ethernet Controller
-
-pci:v00001425d0000470E*
- ID_PRODUCT_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004801*
- ID_PRODUCT_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004802*
- ID_PRODUCT_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004803*
- ID_PRODUCT_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller
-
-pci:v00001425d00004804*
- ID_PRODUCT_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller
-
-pci:v00001425d00004805*
- ID_PRODUCT_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller
-
-pci:v00001425d00004806*
- ID_PRODUCT_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller
-
-pci:v00001425d00004807*
- ID_PRODUCT_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller
-
-pci:v00001425d00004808*
- ID_PRODUCT_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller
-
-pci:v00001425d00004809*
- ID_PRODUCT_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000480A*
- ID_PRODUCT_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000480B*
- ID_PRODUCT_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller
-
-pci:v00001425d0000480C*
- ID_PRODUCT_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller
-
-pci:v00001425d0000480D*
- ID_PRODUCT_FROM_DATABASE=T480 Unified Wire Ethernet Controller
-
-pci:v00001425d0000480E*
- ID_PRODUCT_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller
-
-pci:v00001425d0000A000*
- ID_PRODUCT_FROM_DATABASE=PE10K Unified Wire Ethernet Controller
-
-pci:v00001426*
- ID_VENDOR_FROM_DATABASE=Storage Technology Corp.
-
-pci:v00001427*
- ID_VENDOR_FROM_DATABASE=Better On-Line Solutions
-
-pci:v00001428*
- ID_VENDOR_FROM_DATABASE=Edec Co Ltd
-
-pci:v00001429*
- ID_VENDOR_FROM_DATABASE=Unex Technology Corp.
-
-pci:v0000142A*
- ID_VENDOR_FROM_DATABASE=Kingmax Technology Inc
-
-pci:v0000142B*
- ID_VENDOR_FROM_DATABASE=Radiolan
-
-pci:v0000142C*
- ID_VENDOR_FROM_DATABASE=Minton Optic Industry Co Ltd
-
-pci:v0000142D*
- ID_VENDOR_FROM_DATABASE=Pix stream Inc
-
-pci:v0000142E*
- ID_VENDOR_FROM_DATABASE=Vitec Multimedia
-
-pci:v0000142Ed00004020*
- ID_PRODUCT_FROM_DATABASE=VM2-2 [Video Maker 2] MPEG1/2 Encoder
-
-pci:v0000142Ed00004337*
- ID_PRODUCT_FROM_DATABASE=VM2-2-C7 [Video Maker 2 rev. C7] MPEG1/2 Encoder
-
-pci:v0000142F*
- ID_VENDOR_FROM_DATABASE=Radicom Research Inc
-
-pci:v00001430*
- ID_VENDOR_FROM_DATABASE=ITT Aerospace/Communications Division
-
-pci:v00001431*
- ID_VENDOR_FROM_DATABASE=Gilat Satellite Networks
-
-pci:v00001432*
- ID_VENDOR_FROM_DATABASE=Edimax Computer Co.
-
-pci:v00001432d00009130*
- ID_PRODUCT_FROM_DATABASE=RTL81xx Fast Ethernet
-
-pci:v00001433*
- ID_VENDOR_FROM_DATABASE=Eltec Elektronik GmbH
-
-pci:v00001435*
- ID_VENDOR_FROM_DATABASE=RTD Embedded Technologies, Inc.
-
-pci:v00001435d00004520*
- ID_PRODUCT_FROM_DATABASE=PCI4520
-
-pci:v00001435d00006020*
- ID_PRODUCT_FROM_DATABASE=SPM6020
-
-pci:v00001435d00006030*
- ID_PRODUCT_FROM_DATABASE=SPM6030
-
-pci:v00001435d00006420*
- ID_PRODUCT_FROM_DATABASE=SPM186420
-
-pci:v00001435d00006430*
- ID_PRODUCT_FROM_DATABASE=SPM176430
-
-pci:v00001435d00006431*
- ID_PRODUCT_FROM_DATABASE=SPM176431
-
-pci:v00001435d00007520*
- ID_PRODUCT_FROM_DATABASE=DM7520
-
-pci:v00001435d00007540*
- ID_PRODUCT_FROM_DATABASE=SDM7540
-
-pci:v00001435d00007820*
- ID_PRODUCT_FROM_DATABASE=DM7820
-
-pci:v00001436*
- ID_VENDOR_FROM_DATABASE=CIS Technology Inc
-
-pci:v00001437*
- ID_VENDOR_FROM_DATABASE=Nissin Inc Co
-
-pci:v00001438*
- ID_VENDOR_FROM_DATABASE=Atmel-dream
-
-pci:v00001439*
- ID_VENDOR_FROM_DATABASE=Outsource Engineering & Mfg. Inc
-
-pci:v0000143A*
- ID_VENDOR_FROM_DATABASE=Stargate Solutions Inc
-
-pci:v0000143B*
- ID_VENDOR_FROM_DATABASE=Canon Research Center, America
-
-pci:v0000143C*
- ID_VENDOR_FROM_DATABASE=Amlogic Inc
-
-pci:v0000143D*
- ID_VENDOR_FROM_DATABASE=Tamarack Microelectronics Inc
-
-pci:v0000143E*
- ID_VENDOR_FROM_DATABASE=Jones Futurex Inc
-
-pci:v0000143F*
- ID_VENDOR_FROM_DATABASE=Lightwell Co Ltd - Zax Division
-
-pci:v00001440*
- ID_VENDOR_FROM_DATABASE=ALGOL Corp.
-
-pci:v00001441*
- ID_VENDOR_FROM_DATABASE=AGIE Ltd
-
-pci:v00001442*
- ID_VENDOR_FROM_DATABASE=Phoenix Contact GmbH & Co.
-
-pci:v00001443*
- ID_VENDOR_FROM_DATABASE=Unibrain S.A.
-
-pci:v00001444*
- ID_VENDOR_FROM_DATABASE=TRW
-
-pci:v00001445*
- ID_VENDOR_FROM_DATABASE=Logical DO Ltd
-
-pci:v00001446*
- ID_VENDOR_FROM_DATABASE=Graphin Co Ltd
-
-pci:v00001447*
- ID_VENDOR_FROM_DATABASE=AIM GmBH
-
-pci:v00001448*
- ID_VENDOR_FROM_DATABASE=Alesis Studio Electronics
-
-pci:v00001449*
- ID_VENDOR_FROM_DATABASE=TUT Systems Inc
-
-pci:v0000144A*
- ID_VENDOR_FROM_DATABASE=Adlink Technology
-
-pci:v0000144Ad00006208*
- ID_PRODUCT_FROM_DATABASE=PCI-6208V
-
-pci:v0000144Ad00007250*
- ID_PRODUCT_FROM_DATABASE=PCI-7250
-
-pci:v0000144Ad00007296*
- ID_PRODUCT_FROM_DATABASE=PCI-7296
-
-pci:v0000144Ad00007432*
- ID_PRODUCT_FROM_DATABASE=PCI-7432
-
-pci:v0000144Ad00007433*
- ID_PRODUCT_FROM_DATABASE=PCI-7433
-
-pci:v0000144Ad00007434*
- ID_PRODUCT_FROM_DATABASE=PCI-7434
-
-pci:v0000144Ad00007841*
- ID_PRODUCT_FROM_DATABASE=PCI-7841
-
-pci:v0000144Ad00008133*
- ID_PRODUCT_FROM_DATABASE=PCI-8133
-
-pci:v0000144Ad00008164*
- ID_PRODUCT_FROM_DATABASE=PCI-8164
-
-pci:v0000144Ad00008554*
- ID_PRODUCT_FROM_DATABASE=PCI-8554
-
-pci:v0000144Ad00009111*
- ID_PRODUCT_FROM_DATABASE=PCI-9111
-
-pci:v0000144Ad00009113*
- ID_PRODUCT_FROM_DATABASE=PCI-9113
-
-pci:v0000144Ad00009114*
- ID_PRODUCT_FROM_DATABASE=PCI-9114
-
-pci:v0000144B*
- ID_VENDOR_FROM_DATABASE=Verint Systems Inc.
-
-pci:v0000144C*
- ID_VENDOR_FROM_DATABASE=Catalina Research Inc
-
-pci:v0000144D*
- ID_VENDOR_FROM_DATABASE=Samsung Electronics Co Ltd
-
-pci:v0000144Dd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P35 laptop
-
-pci:v0000144Dd0000C511*
- ID_PRODUCT_FROM_DATABASE=R20 Laptop
-
-pci:v0000144E*
- ID_VENDOR_FROM_DATABASE=OLITEC
-
-pci:v0000144F*
- ID_VENDOR_FROM_DATABASE=Askey Computer Corp.
-
-pci:v00001450*
- ID_VENDOR_FROM_DATABASE=Octave Communications Ind.
-
-pci:v00001451*
- ID_VENDOR_FROM_DATABASE=SP3D Chip Design GmBH
-
-pci:v00001453*
- ID_VENDOR_FROM_DATABASE=MYCOM Inc
-
-pci:v00001454*
- ID_VENDOR_FROM_DATABASE=Altiga Networks
-
-pci:v00001455*
- ID_VENDOR_FROM_DATABASE=Logic Plus Plus Inc
-
-pci:v00001456*
- ID_VENDOR_FROM_DATABASE=Advanced Hardware Architectures
-
-pci:v00001457*
- ID_VENDOR_FROM_DATABASE=Nuera Communications Inc
-
-pci:v00001458*
- ID_VENDOR_FROM_DATABASE=Giga-byte Technology
-
-pci:v00001458d00009001*
- ID_PRODUCT_FROM_DATABASE=GC-PTV-TAF Hybrid TV card
-
-pci:v00001458d0000E911*
- ID_PRODUCT_FROM_DATABASE=GN-WIAG02
-
-pci:v00001459*
- ID_VENDOR_FROM_DATABASE=DOOIN Electronics
-
-pci:v0000145A*
- ID_VENDOR_FROM_DATABASE=Escalate Networks Inc
-
-pci:v0000145B*
- ID_VENDOR_FROM_DATABASE=PRAIM SRL
-
-pci:v0000145C*
- ID_VENDOR_FROM_DATABASE=Cryptek
-
-pci:v0000145D*
- ID_VENDOR_FROM_DATABASE=Gallant Computer Inc
-
-pci:v0000145E*
- ID_VENDOR_FROM_DATABASE=Aashima Technology B.V.
-
-pci:v0000145F*
- ID_VENDOR_FROM_DATABASE=Baldor Electric Company
-
-pci:v0000145Fd00000001*
- ID_PRODUCT_FROM_DATABASE=NextMove PCI
-
-pci:v00001460*
- ID_VENDOR_FROM_DATABASE=DYNARC INC
-
-pci:v00001461*
- ID_VENDOR_FROM_DATABASE=Avermedia Technologies Inc
-
-pci:v00001461d0000A3CE*
- ID_PRODUCT_FROM_DATABASE=M179
-
-pci:v00001461d0000A3CF*
- ID_PRODUCT_FROM_DATABASE=M179
-
-pci:v00001461d0000A836*
- ID_PRODUCT_FROM_DATABASE=M115 DVB-T, PAL/SECAM/NTSC Tuner
-
-pci:v00001461d0000E836*
- ID_PRODUCT_FROM_DATABASE=M115S Hybrid Analog/DVB PAL/SECAM/NTSC Tuner
-
-pci:v00001461d0000F436*
- ID_PRODUCT_FROM_DATABASE=AVerTV Hybrid+FM
-
-pci:v00001462*
- ID_VENDOR_FROM_DATABASE=Micro-Star International Co., Ltd.
-
-pci:v00001462d00005501*
- ID_PRODUCT_FROM_DATABASE=nVidia NV15DDR [GeForce2 Ti]
-
-pci:v00001462d00006819*
- ID_PRODUCT_FROM_DATABASE=Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [MSI CB54G]
-
-pci:v00001462d00006825*
- ID_PRODUCT_FROM_DATABASE=PCI Card wireless 11g [PC54G]
-
-pci:v00001462d00006834*
- ID_PRODUCT_FROM_DATABASE=RaLink RT2500 802.11g [PC54G2]
-
-pci:v00001462d00007125*
- ID_PRODUCT_FROM_DATABASE=MS-7125 [K8N Neo4 Platinum]
-
-pci:v00001462d00007235*
- ID_PRODUCT_FROM_DATABASE=P965 Neo MS-7235 mainboard
-
-pci:v00001462d00007242*
- ID_PRODUCT_FROM_DATABASE=K9AGM RS485 Motherboard
-
-pci:v00001462d00007250*
- ID_PRODUCT_FROM_DATABASE=MS-7250 Motherboard [K9N Platinum SLI/non-SLI]
-
-pci:v00001462d00007327*
- ID_PRODUCT_FROM_DATABASE=K9AGM2-FIH Motherboard
-
-pci:v00001462d00007650*
- ID_PRODUCT_FROM_DATABASE=Hetis 865GV-E (MS-7065)
-
-pci:v00001462d00008725*
- ID_PRODUCT_FROM_DATABASE=NVIDIA NV25 [GeForce4 Ti 4600] VGA Adapter
-
-pci:v00001462d00009000*
- ID_PRODUCT_FROM_DATABASE=NVIDIA NV28 [GeForce4 Ti 4800] VGA Adapter
-
-pci:v00001462d00009110*
- ID_PRODUCT_FROM_DATABASE=GeFORCE FX5200
-
-pci:v00001462d00009119*
- ID_PRODUCT_FROM_DATABASE=NVIDIA NV31 [GeForce FX 5600XT] VGA Adapter
-
-pci:v00001462d00009123*
- ID_PRODUCT_FROM_DATABASE=NVIDIA NV31 [GeForce FX 5600] FX5600-VTDR128 [MS-8912]
-
-pci:v00001462d00009510*
- ID_PRODUCT_FROM_DATABASE=Radeon 9600XT
-
-pci:v00001462d00009511*
- ID_PRODUCT_FROM_DATABASE=Radeon 9600XT
-
-pci:v00001462d00009591*
- ID_PRODUCT_FROM_DATABASE=nVidia Corporation NV36 [GeForce FX 5700LE]
-
-pci:v00001462d0000B834*
- ID_PRODUCT_FROM_DATABASE=Wireless 11g Turbo G PCI card [MSI PC60G]
-
-pci:v00001463*
- ID_VENDOR_FROM_DATABASE=Fast Corporation
-
-pci:v00001464*
- ID_VENDOR_FROM_DATABASE=Interactive Circuits & Systems Ltd
-
-pci:v00001465*
- ID_VENDOR_FROM_DATABASE=GN NETTEST Telecom DIV.
-
-pci:v00001466*
- ID_VENDOR_FROM_DATABASE=Designpro Inc.
-
-pci:v00001467*
- ID_VENDOR_FROM_DATABASE=DIGICOM SPA
-
-pci:v00001468*
- ID_VENDOR_FROM_DATABASE=AMBIT Microsystem Corp.
-
-pci:v00001469*
- ID_VENDOR_FROM_DATABASE=Cleveland Motion Controls
-
-pci:v0000146A*
- ID_VENDOR_FROM_DATABASE=IFR
-
-pci:v0000146B*
- ID_VENDOR_FROM_DATABASE=Parascan Technologies Ltd
-
-pci:v0000146C*
- ID_VENDOR_FROM_DATABASE=Ruby Tech Corp.
-
-pci:v0000146Cd00001430*
- ID_PRODUCT_FROM_DATABASE=FE-1430TX Fast Ethernet PCI Adapter
-
-pci:v0000146D*
- ID_VENDOR_FROM_DATABASE=Tachyon, INC.
-
-pci:v0000146E*
- ID_VENDOR_FROM_DATABASE=Williams Electronics Games, Inc.
-
-pci:v0000146F*
- ID_VENDOR_FROM_DATABASE=Multi Dimensional Consulting Inc
-
-pci:v00001470*
- ID_VENDOR_FROM_DATABASE=Bay Networks
-
-pci:v00001471*
- ID_VENDOR_FROM_DATABASE=Integrated Telecom Express Inc
-
-pci:v00001472*
- ID_VENDOR_FROM_DATABASE=DAIKIN Industries, Ltd
-
-pci:v00001473*
- ID_VENDOR_FROM_DATABASE=ZAPEX Technologies Inc
-
-pci:v00001474*
- ID_VENDOR_FROM_DATABASE=Doug Carson & Associates
-
-pci:v00001475*
- ID_VENDOR_FROM_DATABASE=PICAZO Communications
-
-pci:v00001476*
- ID_VENDOR_FROM_DATABASE=MORTARA Instrument Inc
-
-pci:v00001477*
- ID_VENDOR_FROM_DATABASE=Net Insight
-
-pci:v00001478*
- ID_VENDOR_FROM_DATABASE=DIATREND Corporation
-
-pci:v00001479*
- ID_VENDOR_FROM_DATABASE=TORAY Industries Inc
-
-pci:v0000147A*
- ID_VENDOR_FROM_DATABASE=FORMOSA Industrial Computing
-
-pci:v0000147B*
- ID_VENDOR_FROM_DATABASE=ABIT Computer Corp.
-
-pci:v0000147Bd00001084*
- ID_PRODUCT_FROM_DATABASE=IP35 [Dark Raider]
-
-pci:v0000147C*
- ID_VENDOR_FROM_DATABASE=AWARE, Inc.
-
-pci:v0000147D*
- ID_VENDOR_FROM_DATABASE=Interworks Computer Products
-
-pci:v0000147E*
- ID_VENDOR_FROM_DATABASE=Matsushita Graphic Communication Systems, Inc.
-
-pci:v0000147F*
- ID_VENDOR_FROM_DATABASE=NIHON UNISYS, Ltd.
-
-pci:v00001480*
- ID_VENDOR_FROM_DATABASE=SCII Telecom
-
-pci:v00001481*
- ID_VENDOR_FROM_DATABASE=BIOPAC Systems Inc
-
-pci:v00001482*
- ID_VENDOR_FROM_DATABASE=ISYTEC - Integrierte Systemtechnik GmBH
-
-pci:v00001482d00000001*
- ID_PRODUCT_FROM_DATABASE=PCI-16 Host Interface for ITC-16
-
-pci:v00001483*
- ID_VENDOR_FROM_DATABASE=LABWAY Corporation
-
-pci:v00001484*
- ID_VENDOR_FROM_DATABASE=Logic Corporation
-
-pci:v00001485*
- ID_VENDOR_FROM_DATABASE=ERMA - Electronic GmBH
-
-pci:v00001486*
- ID_VENDOR_FROM_DATABASE=L3 Communications Telemetry & Instrumentation
-
-pci:v00001487*
- ID_VENDOR_FROM_DATABASE=MARQUETTE Medical Systems
-
-pci:v00001488*
- ID_VENDOR_FROM_DATABASE=KONTRON Electronik GmBH
-
-pci:v00001489*
- ID_VENDOR_FROM_DATABASE=KYE Systems Corporation
-
-pci:v0000148A*
- ID_VENDOR_FROM_DATABASE=OPTO
-
-pci:v0000148B*
- ID_VENDOR_FROM_DATABASE=INNOMEDIALOGIC Inc.
-
-pci:v0000148C*
- ID_VENDOR_FROM_DATABASE=C.P. Technology Co. Ltd
-
-pci:v0000148D*
- ID_VENDOR_FROM_DATABASE=DIGICOM Systems, Inc.
-
-pci:v0000148Dd00001003*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax Modem
-
-pci:v0000148E*
- ID_VENDOR_FROM_DATABASE=OSI Plus Corporation
-
-pci:v0000148F*
- ID_VENDOR_FROM_DATABASE=Plant Equipment, Inc.
-
-pci:v00001490*
- ID_VENDOR_FROM_DATABASE=Stone Microsystems PTY Ltd.
-
-pci:v00001491*
- ID_VENDOR_FROM_DATABASE=ZEAL Corporation
-
-pci:v00001492*
- ID_VENDOR_FROM_DATABASE=Time Logic Corporation
-
-pci:v00001493*
- ID_VENDOR_FROM_DATABASE=MAKER Communications
-
-pci:v00001494*
- ID_VENDOR_FROM_DATABASE=WINTOP Technology, Inc.
-
-pci:v00001495*
- ID_VENDOR_FROM_DATABASE=TOKAI Communications Industry Co. Ltd
-
-pci:v00001496*
- ID_VENDOR_FROM_DATABASE=JOYTECH Computer Co., Ltd.
-
-pci:v00001497*
- ID_VENDOR_FROM_DATABASE=SMA Regelsysteme GmBH
-
-pci:v00001497d00001497*
- ID_PRODUCT_FROM_DATABASE=SMA Technologie AG
-
-pci:v00001498*
- ID_VENDOR_FROM_DATABASE=TEWS Technologies GmbH
-
-pci:v00001498d00000330*
- ID_PRODUCT_FROM_DATABASE=TPMC816 2 Channel CAN bus controller.
-
-pci:v00001498d0000035D*
- ID_PRODUCT_FROM_DATABASE=TPMC861 4-Channel Isolated Serial Interface RS422/RS485
-
-pci:v00001498d00000385*
- ID_PRODUCT_FROM_DATABASE=TPMC901 Extended CAN bus with 2/4/6 CAN controller
-
-pci:v00001498d000021CC*
- ID_PRODUCT_FROM_DATABASE=TCP460 CompactPCI 16 Channel Serial Interface RS232/RS422
-
-pci:v00001498d000021CD*
- ID_PRODUCT_FROM_DATABASE=TCP461 CompactPCI 8 Channel Serial Interface RS232/RS422
-
-pci:v00001498d00003064*
- ID_PRODUCT_FROM_DATABASE=TPCI100 (2 Slot IndustryPack PCI Carrier)
-
-pci:v00001498d000030C8*
- ID_PRODUCT_FROM_DATABASE=TPCI200
-
-pci:v00001499*
- ID_VENDOR_FROM_DATABASE=EMTEC CO., Ltd
-
-pci:v0000149A*
- ID_VENDOR_FROM_DATABASE=ANDOR Technology Ltd
-
-pci:v0000149B*
- ID_VENDOR_FROM_DATABASE=SEIKO Instruments Inc
-
-pci:v0000149C*
- ID_VENDOR_FROM_DATABASE=OVISLINK Corp.
-
-pci:v0000149D*
- ID_VENDOR_FROM_DATABASE=NEWTEK Inc
-
-pci:v0000149Dd00000001*
- ID_PRODUCT_FROM_DATABASE=Video Toaster for PC
-
-pci:v0000149E*
- ID_VENDOR_FROM_DATABASE=Mapletree Networks Inc.
-
-pci:v0000149F*
- ID_VENDOR_FROM_DATABASE=LECTRON Co Ltd
-
-pci:v000014A0*
- ID_VENDOR_FROM_DATABASE=SOFTING GmBH
-
-pci:v000014A1*
- ID_VENDOR_FROM_DATABASE=Systembase Co Ltd
-
-pci:v000014A2*
- ID_VENDOR_FROM_DATABASE=Millennium Engineering Inc
-
-pci:v000014A3*
- ID_VENDOR_FROM_DATABASE=Maverick Networks
-
-pci:v000014A4*
- ID_VENDOR_FROM_DATABASE=Broadcom Corporation (Wrong ID)
-
-pci:v000014A4d00004318*
- ID_PRODUCT_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller
-
-pci:v000014A5*
- ID_VENDOR_FROM_DATABASE=XIONICS Document Technologies Inc
-
-pci:v000014A6*
- ID_VENDOR_FROM_DATABASE=INOVA Computers GmBH & Co KG
-
-pci:v000014A7*
- ID_VENDOR_FROM_DATABASE=MYTHOS Systems Inc
-
-pci:v000014A8*
- ID_VENDOR_FROM_DATABASE=FEATRON Technologies Corporation
-
-pci:v000014A9*
- ID_VENDOR_FROM_DATABASE=HIVERTEC Inc
-
-pci:v000014AA*
- ID_VENDOR_FROM_DATABASE=Advanced MOS Technology Inc
-
-pci:v000014AB*
- ID_VENDOR_FROM_DATABASE=Mentor Graphics Corp.
-
-pci:v000014AC*
- ID_VENDOR_FROM_DATABASE=Novaweb Technologies Inc
-
-pci:v000014AD*
- ID_VENDOR_FROM_DATABASE=Time Space Radio AB
-
-pci:v000014AE*
- ID_VENDOR_FROM_DATABASE=CTI, Inc
-
-pci:v000014AF*
- ID_VENDOR_FROM_DATABASE=Guillemot Corporation
-
-pci:v000014AFd00007102*
- ID_PRODUCT_FROM_DATABASE=3D Prophet II MX
-
-pci:v000014B0*
- ID_VENDOR_FROM_DATABASE=BST Communication Technology Ltd
-
-pci:v000014B1*
- ID_VENDOR_FROM_DATABASE=Nextcom K.K.
-
-pci:v000014B2*
- ID_VENDOR_FROM_DATABASE=ENNOVATE Networks Inc
-
-pci:v000014B3*
- ID_VENDOR_FROM_DATABASE=XPEED Inc
-
-pci:v000014B3d00000000*
- ID_PRODUCT_FROM_DATABASE=DSL NIC
-
-pci:v000014B4*
- ID_VENDOR_FROM_DATABASE=PHILIPS Business Electronics B.V.
-
-pci:v000014B5*
- ID_VENDOR_FROM_DATABASE=Creamware GmBH
-
-pci:v000014B5d00000200*
- ID_PRODUCT_FROM_DATABASE=Scope
-
-pci:v000014B5d00000300*
- ID_PRODUCT_FROM_DATABASE=Pulsar
-
-pci:v000014B5d00000400*
- ID_PRODUCT_FROM_DATABASE=PulsarSRB
-
-pci:v000014B5d00000600*
- ID_PRODUCT_FROM_DATABASE=Pulsar2
-
-pci:v000014B5d00000800*
- ID_PRODUCT_FROM_DATABASE=DSP-Board
-
-pci:v000014B5d00000900*
- ID_PRODUCT_FROM_DATABASE=DSP-Board
-
-pci:v000014B5d00000A00*
- ID_PRODUCT_FROM_DATABASE=DSP-Board
-
-pci:v000014B5d00000B00*
- ID_PRODUCT_FROM_DATABASE=DSP-Board
-
-pci:v000014B6*
- ID_VENDOR_FROM_DATABASE=Quantum Data Corp.
-
-pci:v000014B7*
- ID_VENDOR_FROM_DATABASE=PROXIM Inc
-
-pci:v000014B7d00000001*
- ID_PRODUCT_FROM_DATABASE=Symphony 4110
-
-pci:v000014B8*
- ID_VENDOR_FROM_DATABASE=Techsoft Technology Co Ltd
-
-pci:v000014B9*
- ID_VENDOR_FROM_DATABASE=Cisco Aironet Wireless Communications
-
-pci:v000014B9d00000001*
- ID_PRODUCT_FROM_DATABASE=PC4800
-
-pci:v000014B9d00000340*
- ID_PRODUCT_FROM_DATABASE=PC4800
-
-pci:v000014B9d00000350*
- ID_PRODUCT_FROM_DATABASE=350 series 802.11b Wireless LAN Adapter
-
-pci:v000014B9d00004500*
- ID_PRODUCT_FROM_DATABASE=PC4500
-
-pci:v000014B9d00004800*
- ID_PRODUCT_FROM_DATABASE=Cisco Aironet 340 802.11b Wireless LAN Adapter/Aironet PC4800
-
-pci:v000014B9d0000A504*
- ID_PRODUCT_FROM_DATABASE=Cisco Aironet Wireless 802.11b
-
-pci:v000014B9d0000A505*
- ID_PRODUCT_FROM_DATABASE=Cisco Aironet CB20a 802.11a Wireless LAN Adapter
-
-pci:v000014B9d0000A506*
- ID_PRODUCT_FROM_DATABASE=Cisco Aironet Mini PCI b/g
-
-pci:v000014BA*
- ID_VENDOR_FROM_DATABASE=INTERNIX Inc.
-
-pci:v000014BAd00000600*
- ID_PRODUCT_FROM_DATABASE=ARC-PCI/22
-
-pci:v000014BB*
- ID_VENDOR_FROM_DATABASE=SEMTECH Corporation
-
-pci:v000014BC*
- ID_VENDOR_FROM_DATABASE=Globespan Semiconductor Inc.
-
-pci:v000014BCd0000D002*
- ID_PRODUCT_FROM_DATABASE=Pulsar [PCI ADSL Card]
-
-pci:v000014BCd0000D00F*
- ID_PRODUCT_FROM_DATABASE=Pulsar [PCI ADSL Card]
-
-pci:v000014BD*
- ID_VENDOR_FROM_DATABASE=CARDIO Control N.V.
-
-pci:v000014BE*
- ID_VENDOR_FROM_DATABASE=L3 Communications
-
-pci:v000014BF*
- ID_VENDOR_FROM_DATABASE=SPIDER Communications Inc.
-
-pci:v000014C0*
- ID_VENDOR_FROM_DATABASE=COMPAL Electronics Inc
-
-pci:v000014C1*
- ID_VENDOR_FROM_DATABASE=MYRICOM Inc.
-
-pci:v000014C1d00000008*
- ID_PRODUCT_FROM_DATABASE=Myri-10G Dual-Protocol NIC
-
-pci:v000014C1d00000008sv000014C1sd00000008*
- ID_PRODUCT_FROM_DATABASE=10G-PCIE-8A
-
-pci:v000014C1d00000008sv000014C1sd00000009*
- ID_PRODUCT_FROM_DATABASE=10G-PCIE-8A (MSI-X firmware)
-
-pci:v000014C1d00000008sv000014C1sd0000000A*
- ID_PRODUCT_FROM_DATABASE=10G-PCIE-8B
-
-pci:v000014C1d00008043*
- ID_PRODUCT_FROM_DATABASE=Myrinet 2000 Scalable Cluster Interconnect
-
-pci:v000014C1d00008043sv0000103Csd00001240*
- ID_PRODUCT_FROM_DATABASE=Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM)
-
-pci:v000014C2*
- ID_VENDOR_FROM_DATABASE=DTK Computer
-
-pci:v000014C3*
- ID_VENDOR_FROM_DATABASE=MEDIATEK Corp.
-
-pci:v000014C4*
- ID_VENDOR_FROM_DATABASE=IWASAKI Information Systems Co Ltd
-
-pci:v000014C5*
- ID_VENDOR_FROM_DATABASE=Automation Products AB
-
-pci:v000014C6*
- ID_VENDOR_FROM_DATABASE=Data Race Inc
-
-pci:v000014C7*
- ID_VENDOR_FROM_DATABASE=Modular Technology Holdings Ltd
-
-pci:v000014C8*
- ID_VENDOR_FROM_DATABASE=Turbocomm Tech. Inc.
-
-pci:v000014C9*
- ID_VENDOR_FROM_DATABASE=ODIN Telesystems Inc
-
-pci:v000014CA*
- ID_VENDOR_FROM_DATABASE=PE Logic Corp.
-
-pci:v000014CB*
- ID_VENDOR_FROM_DATABASE=Billionton Systems Inc
-
-pci:v000014CC*
- ID_VENDOR_FROM_DATABASE=NAKAYO Telecommunications Inc
-
-pci:v000014CD*
- ID_VENDOR_FROM_DATABASE=Universal Scientific Ind.
-
-pci:v000014CE*
- ID_VENDOR_FROM_DATABASE=Whistle Communications
-
-pci:v000014CF*
- ID_VENDOR_FROM_DATABASE=TEK Microsystems Inc.
-
-pci:v000014D0*
- ID_VENDOR_FROM_DATABASE=Ericsson Axe R & D
-
-pci:v000014D1*
- ID_VENDOR_FROM_DATABASE=Computer Hi-Tech Co Ltd
-
-pci:v000014D2*
- ID_VENDOR_FROM_DATABASE=Titan Electronics Inc
-
-pci:v000014D2d00008001*
- ID_PRODUCT_FROM_DATABASE=VScom 010L 1 port parallel adaptor
-
-pci:v000014D2d00008002*
- ID_PRODUCT_FROM_DATABASE=VScom 020L 2 port parallel adaptor
-
-pci:v000014D2d00008010*
- ID_PRODUCT_FROM_DATABASE=VScom 100L 1 port serial adaptor
-
-pci:v000014D2d00008011*
- ID_PRODUCT_FROM_DATABASE=VScom 110L 1 port serial and 1 port parallel adaptor
-
-pci:v000014D2d00008020*
- ID_PRODUCT_FROM_DATABASE=VScom 200L 1 or 2 port serial adaptor
-
-pci:v000014D2d00008021*
- ID_PRODUCT_FROM_DATABASE=VScom 210L 2 port serial and 1 port parallel adaptor
-
-pci:v000014D2d00008028*
- ID_PRODUCT_FROM_DATABASE=VScom 200I/200I-SI 2-port serial adapter
-
-pci:v000014D2d00008040*
- ID_PRODUCT_FROM_DATABASE=VScom 400L 4 port serial adaptor
-
-pci:v000014D2d00008043*
- ID_PRODUCT_FROM_DATABASE=VScom 430L 4-port serial and 3-port parallel adapter
-
-pci:v000014D2d00008048*
- ID_PRODUCT_FROM_DATABASE=VScom 400I 4-port serial adapter
-
-pci:v000014D2d00008080*
- ID_PRODUCT_FROM_DATABASE=VScom 800L 8 port serial adaptor
-
-pci:v000014D2d00008088*
- ID_PRODUCT_FROM_DATABASE=VScom 800I 8-port serial adapter
-
-pci:v000014D2d0000A000*
- ID_PRODUCT_FROM_DATABASE=VScom 010H 1 port parallel adaptor
-
-pci:v000014D2d0000A001*
- ID_PRODUCT_FROM_DATABASE=VScom 100H 1 port serial adaptor
-
-pci:v000014D2d0000A003*
- ID_PRODUCT_FROM_DATABASE=VScom 400H 4 port serial adaptor
-
-pci:v000014D2d0000A004*
- ID_PRODUCT_FROM_DATABASE=VScom 400HF1 4 port serial adaptor
-
-pci:v000014D2d0000A005*
- ID_PRODUCT_FROM_DATABASE=VScom 200H 2 port serial adaptor
-
-pci:v000014D2d0000A007*
- ID_PRODUCT_FROM_DATABASE=VScom PCI800EH (PCIe) 8-port serial adapter Port 1-4
-
-pci:v000014D2d0000A008*
- ID_PRODUCT_FROM_DATABASE=VScom PCI800EH (PCIe) 8-port serial adapter Port 5-8
-
-pci:v000014D2d0000A009*
- ID_PRODUCT_FROM_DATABASE=VScom PCI400EH (PCIe) 4-port serial adapter
-
-pci:v000014D2d0000E001*
- ID_PRODUCT_FROM_DATABASE=VScom 010HV2 1 port parallel adaptor
-
-pci:v000014D2d0000E010*
- ID_PRODUCT_FROM_DATABASE=VScom 100HV2 1 port serial adaptor
-
-pci:v000014D2d0000E020*
- ID_PRODUCT_FROM_DATABASE=VScom 200HV2 2 port serial adaptor
-
-pci:v000014D3*
- ID_VENDOR_FROM_DATABASE=CIRTECH (UK) Ltd
-
-pci:v000014D4*
- ID_VENDOR_FROM_DATABASE=Panacom Technology Corp
-
-pci:v000014D5*
- ID_VENDOR_FROM_DATABASE=Nitsuko Corporation
-
-pci:v000014D6*
- ID_VENDOR_FROM_DATABASE=Accusys Inc
-
-pci:v000014D6d00006101*
- ID_PRODUCT_FROM_DATABASE=ACS-61xxx, PCIe to SAS/SATA RAID HBA
-
-pci:v000014D6d00006201*
- ID_PRODUCT_FROM_DATABASE=ACS-62xxx, External PCIe to SAS/SATA RAID controller
-
-pci:v000014D7*
- ID_VENDOR_FROM_DATABASE=Hirakawa Hewtech Corp
-
-pci:v000014D8*
- ID_VENDOR_FROM_DATABASE=HOPF Elektronik GmBH
-
-pci:v000014D9*
- ID_VENDOR_FROM_DATABASE=Alliance Semiconductor Corporation
-
-pci:v000014D9d00000010*
- ID_PRODUCT_FROM_DATABASE=AP1011/SP1011 HyperTransport-PCI Bridge [Sturgeon]
-
-pci:v000014D9d00009000*
- ID_PRODUCT_FROM_DATABASE=AS90L10204/10208 HyperTransport to PCI-X Bridge
-
-pci:v000014DA*
- ID_VENDOR_FROM_DATABASE=National Aerospace Laboratories
-
-pci:v000014DB*
- ID_VENDOR_FROM_DATABASE=AFAVLAB Technology Inc
-
-pci:v000014DBd00002120*
- ID_PRODUCT_FROM_DATABASE=TK9902
-
-pci:v000014DBd00002182*
- ID_PRODUCT_FROM_DATABASE=AFAVLAB Technology Inc. 8-port serial card
-
-pci:v000014DC*
- ID_VENDOR_FROM_DATABASE=Amplicon Liveline Ltd
-
-pci:v000014DCd00000000*
- ID_PRODUCT_FROM_DATABASE=PCI230
-
-pci:v000014DCd00000001*
- ID_PRODUCT_FROM_DATABASE=PCI242
-
-pci:v000014DCd00000002*
- ID_PRODUCT_FROM_DATABASE=PCI244
-
-pci:v000014DCd00000003*
- ID_PRODUCT_FROM_DATABASE=PCI247
-
-pci:v000014DCd00000004*
- ID_PRODUCT_FROM_DATABASE=PCI248
-
-pci:v000014DCd00000005*
- ID_PRODUCT_FROM_DATABASE=PCI249
-
-pci:v000014DCd00000006*
- ID_PRODUCT_FROM_DATABASE=PCI260
-
-pci:v000014DCd00000007*
- ID_PRODUCT_FROM_DATABASE=PCI224
-
-pci:v000014DCd00000008*
- ID_PRODUCT_FROM_DATABASE=PCI234
-
-pci:v000014DCd00000009*
- ID_PRODUCT_FROM_DATABASE=PCI236
-
-pci:v000014DCd0000000A*
- ID_PRODUCT_FROM_DATABASE=PCI272
-
-pci:v000014DCd0000000B*
- ID_PRODUCT_FROM_DATABASE=PCI215
-
-pci:v000014DD*
- ID_VENDOR_FROM_DATABASE=Boulder Design Labs Inc
-
-pci:v000014DE*
- ID_VENDOR_FROM_DATABASE=Applied Integration Corporation
-
-pci:v000014DF*
- ID_VENDOR_FROM_DATABASE=ASIC Communications Corp
-
-pci:v000014E1*
- ID_VENDOR_FROM_DATABASE=INVERTEX
-
-pci:v000014E2*
- ID_VENDOR_FROM_DATABASE=INFOLIBRIA
-
-pci:v000014E3*
- ID_VENDOR_FROM_DATABASE=AMTELCO
-
-pci:v000014E4*
- ID_VENDOR_FROM_DATABASE=Broadcom Corporation
-
-pci:v000014E4d00000576*
- ID_PRODUCT_FROM_DATABASE=BCM43224 802.11a/b/g/n
-
-pci:v000014E4d00000800*
- ID_PRODUCT_FROM_DATABASE=Sentry5 Chipcommon I/O Controller
-
-pci:v000014E4d00000804*
- ID_PRODUCT_FROM_DATABASE=Sentry5 PCI Bridge
-
-pci:v000014E4d00000805*
- ID_PRODUCT_FROM_DATABASE=Sentry5 MIPS32 CPU
-
-pci:v000014E4d00000806*
- ID_PRODUCT_FROM_DATABASE=Sentry5 Ethernet Controller
-
-pci:v000014E4d0000080B*
- ID_PRODUCT_FROM_DATABASE=Sentry5 Crypto Accelerator
-
-pci:v000014E4d0000080F*
- ID_PRODUCT_FROM_DATABASE=Sentry5 DDR/SDR RAM Controller
-
-pci:v000014E4d00000811*
- ID_PRODUCT_FROM_DATABASE=Sentry5 External Interface Core
-
-pci:v000014E4d00000816*
- ID_PRODUCT_FROM_DATABASE=BCM3302 Sentry5 MIPS32 CPU
-
-pci:v000014E4d00001600*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express
-
-pci:v000014E4d00001600sv00001028sd000001C1*
- ID_PRODUCT_FROM_DATABASE=Precision 490
-
-pci:v000014E4d00001600sv00001028sd000001C2*
- ID_PRODUCT_FROM_DATABASE=Latitude D620
-
-pci:v000014E4d00001600sv0000103Csd00003015*
- ID_PRODUCT_FROM_DATABASE=PCIe LAN on Motherboard
-
-pci:v000014E4d00001600sv0000107Bsd00005048*
- ID_PRODUCT_FROM_DATABASE=E4500 Onboard
-
-pci:v000014E4d00001600sv00001259sd00002705*
- ID_PRODUCT_FROM_DATABASE=AT-2711FX
-
-pci:v000014E4d00001601*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5752M Gigabit Ethernet PCI Express
-
-pci:v000014E4d00001612*
- ID_PRODUCT_FROM_DATABASE=BCM70012 Video Decoder [Crystal HD]
-
-pci:v000014E4d00001615*
- ID_PRODUCT_FROM_DATABASE=BCM70015 Video Decoder [Crystal HD]
-
-pci:v000014E4d00001639*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet
-
-pci:v000014E4d00001639sv00001028sd00000235*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R710 BCM5709 Gigabit Ethernet
-
-pci:v000014E4d00001639sv00001028sd00000236*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R610 BCM5709 Gigabit Ethernet
-
-pci:v000014E4d00001639sv00001028sd00000237*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T610 BCM5709 Gigabit Ethernet
-
-pci:v000014E4d00001639sv0000103Csd00007055*
- ID_PRODUCT_FROM_DATABASE=NC382i Integrated Multi-port PCI Express Gigabit Server Adapter
-
-pci:v000014E4d00001639sv0000103Csd00007059*
- ID_PRODUCT_FROM_DATABASE=NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter
-
-pci:v000014E4d00001639sv000010A9sd00008027*
- ID_PRODUCT_FROM_DATABASE=Quad port Gigabit Ethernet Controller
-
-pci:v000014E4d0000163A*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet
-
-pci:v000014E4d0000163Asv00001028sd0000027B*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M805 Broadcom NetXtreme II BCM5709S
-
-pci:v000014E4d0000163Asv00001028sd0000029C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M710 BCM5709S Gigabit Ethernet
-
-pci:v000014E4d0000163Asv0000103Csd0000171D*
- ID_PRODUCT_FROM_DATABASE=NC382m Dual Port 1GbE Multifunction BL-c Adapter
-
-pci:v000014E4d0000163Asv0000103Csd00007056*
- ID_PRODUCT_FROM_DATABASE=NC382i Integrated Quad Port PCI Express Gigabit Server Adapter
-
-pci:v000014E4d0000163B*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet
-
-pci:v000014E4d0000163Bsv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 BCM5716 Gigabit Ethernet
-
-pci:v000014E4d0000163Bsv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 BCM5716 Gigabit Ethernet
-
-pci:v000014E4d0000163Bsv00001028sd000002F1*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R510 BCM5716 Gigabit Ethernet
-
-pci:v000014E4d0000163C*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM5716S Gigabit Ethernet
-
-pci:v000014E4d0000163D*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57811 10-Gigabit Ethernet
-
-pci:v000014E4d0000163E*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57811 10 Gigabit Ethernet Multi Function
-
-pci:v000014E4d0000163F*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57811 10-Gigabit Ethernet Virtual Function
-
-pci:v000014E4d00001641*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM57787 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001642*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM57764 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001643*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5725 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001644*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet
-
-pci:v000014E4d00001644sv00001014sd00000277*
- ID_PRODUCT_FROM_DATABASE=Broadcom Vigil B5700 1000Base-T
-
-pci:v000014E4d00001644sv00001028sd000000D1*
- ID_PRODUCT_FROM_DATABASE=Broadcom BCM5700
-
-pci:v000014E4d00001644sv00001028sd00000106*
- ID_PRODUCT_FROM_DATABASE=Broadcom BCM5700
-
-pci:v000014E4d00001644sv00001028sd00000109*
- ID_PRODUCT_FROM_DATABASE=Broadcom BCM5700 1000Base-T
-
-pci:v000014E4d00001644sv00001028sd0000010A*
- ID_PRODUCT_FROM_DATABASE=Broadcom BCM5700 1000BaseTX
-
-pci:v000014E4d00001644sv000010B7sd00001000*
- ID_PRODUCT_FROM_DATABASE=3C996-T 1000Base-T
-
-pci:v000014E4d00001644sv000010B7sd00001001*
- ID_PRODUCT_FROM_DATABASE=3C996B-T 1000Base-T
-
-pci:v000014E4d00001644sv000010B7sd00001002*
- ID_PRODUCT_FROM_DATABASE=3C996C-T 1000Base-T
-
-pci:v000014E4d00001644sv000010B7sd00001003*
- ID_PRODUCT_FROM_DATABASE=3C997-T 1000Base-T Dual Port
-
-pci:v000014E4d00001644sv000010B7sd00001004*
- ID_PRODUCT_FROM_DATABASE=3C996-SX 1000Base-SX
-
-pci:v000014E4d00001644sv000010B7sd00001005*
- ID_PRODUCT_FROM_DATABASE=3C997-SX 1000Base-SX Dual Port
-
-pci:v000014E4d00001644sv000010B7sd00001008*
- ID_PRODUCT_FROM_DATABASE=3C942 Gigabit LOM (31X31)
-
-pci:v000014E4d00001644sv000014E4sd00000002*
- ID_PRODUCT_FROM_DATABASE=NetXtreme 1000Base-SX
-
-pci:v000014E4d00001644sv000014E4sd00000003*
- ID_PRODUCT_FROM_DATABASE=NetXtreme 1000Base-SX
-
-pci:v000014E4d00001644sv000014E4sd00000004*
- ID_PRODUCT_FROM_DATABASE=NetXtreme 1000Base-T
-
-pci:v000014E4d00001644sv000014E4sd00001028*
- ID_PRODUCT_FROM_DATABASE=NetXtreme 1000BaseTX
-
-pci:v000014E4d00001644sv000014E4sd00001644*
- ID_PRODUCT_FROM_DATABASE=BCM5700 1000Base-T
-
-pci:v000014E4d00001645*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet
-
-pci:v000014E4d00001645sv00000E11sd0000007C*
- ID_PRODUCT_FROM_DATABASE=NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)
-
-pci:v000014E4d00001645sv00000E11sd0000007D*
- ID_PRODUCT_FROM_DATABASE=NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)
-
-pci:v000014E4d00001645sv00000E11sd00000085*
- ID_PRODUCT_FROM_DATABASE=NC7780 Gigabit Server Adapter (embedded, WOL)
-
-pci:v000014E4d00001645sv00000E11sd00000099*
- ID_PRODUCT_FROM_DATABASE=NC7780 Gigabit Server Adapter (embedded, WOL)
-
-pci:v000014E4d00001645sv00000E11sd0000009A*
- ID_PRODUCT_FROM_DATABASE=NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)
-
-pci:v000014E4d00001645sv00000E11sd000000C1*
- ID_PRODUCT_FROM_DATABASE=NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)
-
-pci:v000014E4d00001645sv00001028sd00000121*
- ID_PRODUCT_FROM_DATABASE=Broadcom BCM5701 1000Base-T
-
-pci:v000014E4d00001645sv0000103Csd0000128A*
- ID_PRODUCT_FROM_DATABASE=BCM5701 1000Base-T (HP, OEM 3COM)
-
-pci:v000014E4d00001645sv0000103Csd0000128B*
- ID_PRODUCT_FROM_DATABASE=1000Base-SX (PCI) [A7073A]
-
-pci:v000014E4d00001645sv0000103Csd000012A4*
- ID_PRODUCT_FROM_DATABASE=Core Lan 1000Base-T
-
-pci:v000014E4d00001645sv0000103Csd000012C1*
- ID_PRODUCT_FROM_DATABASE=IOX Core Lan 1000Base-T [A7109AX]
-
-pci:v000014E4d00001645sv0000103Csd00001300*
- ID_PRODUCT_FROM_DATABASE=Core LAN/SCSI Combo [A6794A]
-
-pci:v000014E4d00001645sv000010A9sd00008010*
- ID_PRODUCT_FROM_DATABASE=IO9/IO10 Gigabit Ethernet (Copper)
-
-pci:v000014E4d00001645sv000010A9sd00008011*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet (Copper)
-
-pci:v000014E4d00001645sv000010A9sd00008012*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet (Fiber)
-
-pci:v000014E4d00001645sv000010B7sd00001004*
- ID_PRODUCT_FROM_DATABASE=3C996-SX 1000Base-SX
-
-pci:v000014E4d00001645sv000010B7sd00001006*
- ID_PRODUCT_FROM_DATABASE=3C996B-T 1000Base-T
-
-pci:v000014E4d00001645sv000010B7sd00001007*
- ID_PRODUCT_FROM_DATABASE=3C1000-T 1000Base-T
-
-pci:v000014E4d00001645sv000010B7sd00001008*
- ID_PRODUCT_FROM_DATABASE=3C940-BR01 1000Base-T
-
-pci:v000014E4d00001645sv000014E4sd00000001*
- ID_PRODUCT_FROM_DATABASE=BCM5701 1000Base-T
-
-pci:v000014E4d00001645sv000014E4sd00000005*
- ID_PRODUCT_FROM_DATABASE=BCM5701 1000Base-T
-
-pci:v000014E4d00001645sv000014E4sd00000006*
- ID_PRODUCT_FROM_DATABASE=BCM5701 1000Base-T
-
-pci:v000014E4d00001645sv000014E4sd00000007*
- ID_PRODUCT_FROM_DATABASE=BCM5701 1000Base-SX
-
-pci:v000014E4d00001645sv000014E4sd00000008*
- ID_PRODUCT_FROM_DATABASE=BCM5701 1000Base-T
-
-pci:v000014E4d00001645sv000014E4sd00001645*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet
-
-pci:v000014E4d00001645sv000014E4sd00008008*
- ID_PRODUCT_FROM_DATABASE=BCM5701 1000Base-T
-
-pci:v000014E4d00001646*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet
-
-pci:v000014E4d00001646sv00000E11sd000000BB*
- ID_PRODUCT_FROM_DATABASE=NC7760 1000BaseTX
-
-pci:v000014E4d00001646sv00001028sd00000126*
- ID_PRODUCT_FROM_DATABASE=Broadcom BCM5702 1000BaseTX
-
-pci:v000014E4d00001646sv000014E4sd00008009*
- ID_PRODUCT_FROM_DATABASE=BCM5702 1000BaseTX
-
-pci:v000014E4d00001647*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet
-
-pci:v000014E4d00001647sv00000E11sd00000099*
- ID_PRODUCT_FROM_DATABASE=NC7780 1000BaseTX
-
-pci:v000014E4d00001647sv00000E11sd0000009A*
- ID_PRODUCT_FROM_DATABASE=NC7770 1000BaseTX
-
-pci:v000014E4d00001647sv000010A9sd00008010*
- ID_PRODUCT_FROM_DATABASE=SGI IO9 Gigabit Ethernet (Copper)
-
-pci:v000014E4d00001647sv000014E4sd00000009*
- ID_PRODUCT_FROM_DATABASE=BCM5703 1000BaseTX
-
-pci:v000014E4d00001647sv000014E4sd0000000A*
- ID_PRODUCT_FROM_DATABASE=BCM5703 1000BaseSX
-
-pci:v000014E4d00001647sv000014E4sd0000000B*
- ID_PRODUCT_FROM_DATABASE=BCM5703 1000BaseTX
-
-pci:v000014E4d00001647sv000014E4sd00008009*
- ID_PRODUCT_FROM_DATABASE=BCM5703 1000BaseTX
-
-pci:v000014E4d00001647sv000014E4sd0000800A*
- ID_PRODUCT_FROM_DATABASE=BCM5703 1000BaseTX
-
-pci:v000014E4d00001648*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet
-
-pci:v000014E4d00001648sv00000E11sd000000CF*
- ID_PRODUCT_FROM_DATABASE=NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
-
-pci:v000014E4d00001648sv00000E11sd000000D0*
- ID_PRODUCT_FROM_DATABASE=NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
-
-pci:v000014E4d00001648sv00000E11sd000000D1*
- ID_PRODUCT_FROM_DATABASE=NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
-
-pci:v000014E4d00001648sv00001028sd0000014A*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1750
-
-pci:v000014E4d00001648sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 Broadcom NetXtreme BCM5704
-
-pci:v000014E4d00001648sv0000103Csd0000310F*
- ID_PRODUCT_FROM_DATABASE=NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
-
-pci:v000014E4d00001648sv000010A9sd00008013*
- ID_PRODUCT_FROM_DATABASE=Dual Port Gigabit Ethernet (PCI-X,Copper)
-
-pci:v000014E4d00001648sv000010A9sd00008018*
- ID_PRODUCT_FROM_DATABASE=Dual Port Gigabit Ethernet (A330)
-
-pci:v000014E4d00001648sv000010A9sd0000801A*
- ID_PRODUCT_FROM_DATABASE=Dual Port Gigabit Ethernet (IA-blade)
-
-pci:v000014E4d00001648sv000010A9sd0000801B*
- ID_PRODUCT_FROM_DATABASE=Quad Port Gigabit Ethernet (PCI-E,Copper)
-
-pci:v000014E4d00001648sv000010B7sd00002000*
- ID_PRODUCT_FROM_DATABASE=3C998-T Dual Port 10/100/1000 PCI-X
-
-pci:v000014E4d00001648sv000010B7sd00003000*
- ID_PRODUCT_FROM_DATABASE=3C999-T Quad Port 10/100/1000 PCI-X
-
-pci:v000014E4d00001648sv00001166sd00001648*
- ID_PRODUCT_FROM_DATABASE=NetXtreme CIOB-E 1000Base-T
-
-pci:v000014E4d00001648sv00001734sd0000100B*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX series onboard LAN
-
-pci:v000014E4d00001649*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5704S_2 Gigabit Ethernet
-
-pci:v000014E4d0000164A*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet
-
-pci:v000014E4d0000164Asv0000103Csd00001709*
- ID_PRODUCT_FROM_DATABASE=NC371i Integrated PCI-X Multifunction Gigabit Server Adapter
-
-pci:v000014E4d0000164Asv0000103Csd00003070*
- ID_PRODUCT_FROM_DATABASE=NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter
-
-pci:v000014E4d0000164Asv0000103Csd00003101*
- ID_PRODUCT_FROM_DATABASE=NC370T MultifuNCtion Gigabit Server Adapter
-
-pci:v000014E4d0000164Asv0000103Csd00003106*
- ID_PRODUCT_FROM_DATABASE=NC370i Multifunction Gigabit Server Adapter
-
-pci:v000014E4d0000164C*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet
-
-pci:v000014E4d0000164Csv00001028sd000001F0*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R900 Broadcom NetXtreme II BCM5708
-
-pci:v000014E4d0000164Csv00001028sd00000205*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2970 Broadcom NetXtreme II BCM5708
-
-pci:v000014E4d0000164Csv00001028sd0000020B*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T605 Broadcom NetXtreme II BCM5708
-
-pci:v000014E4d0000164Csv00001028sd00000221*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R805 Broadcom NetXtreme II BCM5708
-
-pci:v000014E4d0000164Csv00001028sd00000223*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R905 Broadcom NetXtreme II BCM5708
-
-pci:v000014E4d0000164Csv00001028sd00001F12*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R805/R905 Broadcom NetXtreme II BCM5708
-
-pci:v000014E4d0000164Csv0000103Csd00007037*
- ID_PRODUCT_FROM_DATABASE=NC373T PCI Express Multifunction Gigabit Server Adapter
-
-pci:v000014E4d0000164Csv0000103Csd00007038*
- ID_PRODUCT_FROM_DATABASE=NC373i Integrated Multifunction Gigabit Server Adapter
-
-pci:v000014E4d0000164Csv0000103Csd00007045*
- ID_PRODUCT_FROM_DATABASE=NC374m PCI Express Dual Port Multifunction Gigabit Server Adapter
-
-pci:v000014E4d0000164D*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5702FE Gigabit Ethernet
-
-pci:v000014E4d0000164E*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest]
-
-pci:v000014E4d0000164Esv0000103Csd0000171C*
- ID_PRODUCT_FROM_DATABASE=NC532m Dual Port 10GbE Multifunction BL-C Adapter
-
-pci:v000014E4d0000164Esv0000103Csd00007058*
- ID_PRODUCT_FROM_DATABASE=NC532i Dual Port 10GbE Multifunction BL-C Adapter
-
-pci:v000014E4d0000164F*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57711 10-Gigabit PCIe
-
-pci:v000014E4d00001650*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe
-
-pci:v000014E4d00001650sv0000103Csd0000171C*
- ID_PRODUCT_FROM_DATABASE=NC532m Dual Port 10GbE Multifunction BL-C Adapter
-
-pci:v000014E4d00001650sv0000103Csd00007058*
- ID_PRODUCT_FROM_DATABASE=NC532i Dual Port 10GbE Multifunction BL-C Adapter
-
-pci:v000014E4d00001653*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet
-
-pci:v000014E4d00001653sv00000E11sd000000E3*
- ID_PRODUCT_FROM_DATABASE=NC7761 Gigabit Server Adapter
-
-pci:v000014E4d00001654*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet
-
-pci:v000014E4d00001654sv00000E11sd000000E3*
- ID_PRODUCT_FROM_DATABASE=NC7761 Gigabit Server Adapter
-
-pci:v000014E4d00001654sv0000103Csd00003100*
- ID_PRODUCT_FROM_DATABASE=NC1020 ProLiant Gigabit Server Adapter 32 PCI
-
-pci:v000014E4d00001654sv0000103Csd00003226*
- ID_PRODUCT_FROM_DATABASE=NC150T 4-port Gigabit Combo Switch & Adapter
-
-pci:v000014E4d00001655*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5717 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001656*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5718 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001657*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5719 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001659*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express
-
-pci:v000014E4d00001659sv00001014sd000002C6*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v000014E4d00001659sv00001028sd000001E6*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 860
-
-pci:v000014E4d00001659sv00001028sd0000023C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R200 Broadcom NetXtreme BCM5721
-
-pci:v000014E4d00001659sv0000103Csd0000170B*
- ID_PRODUCT_FROM_DATABASE=NC320m PCI Express Dual Port Gigabit Server Adapter
-
-pci:v000014E4d00001659sv0000103Csd00007031*
- ID_PRODUCT_FROM_DATABASE=NC320T PCIe Gigabit Server Adapter
-
-pci:v000014E4d00001659sv0000103Csd00007032*
- ID_PRODUCT_FROM_DATABASE=NC320i PCIe Gigabit Server Adapter
-
-pci:v000014E4d00001659sv00001734sd00001061*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard LAN
-
-pci:v000014E4d0000165A*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express
-
-pci:v000014E4d0000165Asv00001014sd00000378*
- ID_PRODUCT_FROM_DATABASE=IBM System x3350 (Machine type 4192)
-
-pci:v000014E4d0000165Asv00001028sd0000020F*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R300 Broadcom NetXtreme 5722
-
-pci:v000014E4d0000165Asv00001028sd00000210*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T300 Broadcom NetXtreme 5722
-
-pci:v000014E4d0000165Asv00001028sd00000225*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T105 Broadcom NetXtreme 5722
-
-pci:v000014E4d0000165Asv0000103Csd00007051*
- ID_PRODUCT_FROM_DATABASE=NC105i PCIe Gigabit Server Adapter
-
-pci:v000014E4d0000165Asv0000103Csd00007052*
- ID_PRODUCT_FROM_DATABASE=NC105T PCIe Gigabit Server Adapter
-
-pci:v000014E4d0000165B*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5723 Gigabit Ethernet PCIe
-
-pci:v000014E4d0000165Bsv0000103Csd0000705D*
- ID_PRODUCT_FROM_DATABASE=NC107i Integrated PCI Express Gigabit Server Adapter
-
-pci:v000014E4d0000165C*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5724 Gigabit Ethernet PCIe
-
-pci:v000014E4d0000165D*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet
-
-pci:v000014E4d0000165Dsv00001028sd0000865D*
- ID_PRODUCT_FROM_DATABASE=Latitude D400
-
-pci:v000014E4d0000165Dsv000014E4sd0000165D*
- ID_PRODUCT_FROM_DATABASE=Dell Latitude D600
-
-pci:v000014E4d0000165E*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet
-
-pci:v000014E4d0000165Esv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v000014E4d0000165Esv0000103Csd00000890*
- ID_PRODUCT_FROM_DATABASE=NC6000 laptop
-
-pci:v000014E4d0000165Esv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v000014E4d0000165Esv000010CFsd00001279*
- ID_PRODUCT_FROM_DATABASE=LifeBook E8010D
-
-pci:v000014E4d0000165F*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5720 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001662*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57712 10 Gigabit Ethernet
-
-pci:v000014E4d00001663*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57712 10 Gigabit Ethernet Multi Function
-
-pci:v000014E4d00001665*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5717 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001668*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5714 Gigabit Ethernet
-
-pci:v000014E4d00001668sv0000103Csd00007039*
- ID_PRODUCT_FROM_DATABASE=NC324i PCIe Dual Port Gigabit Server Adapter
-
-pci:v000014E4d00001669*
- ID_PRODUCT_FROM_DATABASE=NetXtreme 5714S Gigabit Ethernet
-
-pci:v000014E4d0000166A*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5780 Gigabit Ethernet
-
-pci:v000014E4d0000166Asv0000103Csd00007035*
- ID_PRODUCT_FROM_DATABASE=NC325i Integrated Dual port PCIe Express Gigabit Server Adapter
-
-pci:v000014E4d0000166B*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5780S Gigabit Ethernet
-
-pci:v000014E4d0000166E*
- ID_PRODUCT_FROM_DATABASE=570x 10/100 Integrated Controller
-
-pci:v000014E4d0000166F*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57712 10 Gigabit Ethernet Virtual Function
-
-pci:v000014E4d00001672*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5754M Gigabit Ethernet PCI Express
-
-pci:v000014E4d00001673*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5755M Gigabit Ethernet PCI Express
-
-pci:v000014E4d00001674*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5756ME Gigabit Ethernet PCI Express
-
-pci:v000014E4d00001677*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express
-
-pci:v000014E4d00001677sv00001028sd00000176*
- ID_PRODUCT_FROM_DATABASE=Dimension XPS Gen 4
-
-pci:v000014E4d00001677sv00001028sd00000177*
- ID_PRODUCT_FROM_DATABASE=Dimension 8400
-
-pci:v000014E4d00001677sv00001028sd00000179*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX280
-
-pci:v000014E4d00001677sv00001028sd00000182*
- ID_PRODUCT_FROM_DATABASE=Latitude D610
-
-pci:v000014E4d00001677sv00001028sd00000187*
- ID_PRODUCT_FROM_DATABASE=Precision M70
-
-pci:v000014E4d00001677sv00001028sd000001A8*
- ID_PRODUCT_FROM_DATABASE=Precision 380
-
-pci:v000014E4d00001677sv00001028sd000001AD*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX620
-
-pci:v000014E4d00001677sv0000103Csd00003006*
- ID_PRODUCT_FROM_DATABASE=DC7100 SFF(DX878AV)
-
-pci:v000014E4d00001677sv00001462sd0000028C*
- ID_PRODUCT_FROM_DATABASE=915P/G Neo2
-
-pci:v000014E4d00001677sv00001734sd0000105D*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v000014E4d00001678*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5715 Gigabit Ethernet
-
-pci:v000014E4d00001678sv0000103Csd0000703E*
- ID_PRODUCT_FROM_DATABASE=NC326i PCIe Dual Port Gigabit Server Adapter
-
-pci:v000014E4d00001679*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet
-
-pci:v000014E4d00001679sv0000103Csd00001707*
- ID_PRODUCT_FROM_DATABASE=NC326m PCIe Dual Port Adapter
-
-pci:v000014E4d00001679sv0000103Csd0000170C*
- ID_PRODUCT_FROM_DATABASE=NC325m PCIe Quad Port Adapter
-
-pci:v000014E4d00001679sv0000103Csd0000703C*
- ID_PRODUCT_FROM_DATABASE=NC326i PCIe Dual Port Gigabit Server Adapter
-
-pci:v000014E4d0000167A*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express
-
-pci:v000014E4d0000167Asv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v000014E4d0000167Asv00001028sd000001DE*
- ID_PRODUCT_FROM_DATABASE=Precision 390
-
-pci:v000014E4d0000167Asv00001028sd000001DF*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC440
-
-pci:v000014E4d0000167Asv00001028sd00000214*
- ID_PRODUCT_FROM_DATABASE=Precision T3400
-
-pci:v000014E4d0000167Asv00001028sd0000021E*
- ID_PRODUCT_FROM_DATABASE=Precision T5400
-
-pci:v000014E4d0000167B*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5755 Gigabit Ethernet PCI Express
-
-pci:v000014E4d0000167Bsv0000103Csd0000280A*
- ID_PRODUCT_FROM_DATABASE=DC5750 Microtower
-
-pci:v000014E4d0000167D*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express
-
-pci:v000014E4d0000167Dsv00001014sd00000577*
- ID_PRODUCT_FROM_DATABASE=ThinkPad Z60t
-
-pci:v000014E4d0000167Dsv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=HP nx8220
-
-pci:v000014E4d0000167Dsv0000103Csd00000940*
- ID_PRODUCT_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation
-
-pci:v000014E4d0000167Dsv000017AAsd00002081*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R60e
-
-pci:v000014E4d0000167E*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5751F Fast Ethernet PCI Express
-
-pci:v000014E4d0000167F*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM5787F Fast Ethernet PCI Express
-
-pci:v000014E4d00001680*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5761e Gigabit Ethernet PCIe
-
-pci:v000014E4d00001681*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5761 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001682*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM57762 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001683*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM57767 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001684*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5764M Gigabit Ethernet PCIe
-
-pci:v000014E4d00001685*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57500S Gigabit Ethernet
-
-pci:v000014E4d00001686*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM57766 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001687*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5762 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001688*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5761 10/100/1000BASE-T Ethernet
-
-pci:v000014E4d00001688sv00001259sd00002708*
- ID_PRODUCT_FROM_DATABASE=AT-2712 FX
-
-pci:v000014E4d0000168A*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet
-
-pci:v000014E4d0000168Asv00001028sd00001F5C*
- ID_PRODUCT_FROM_DATABASE=BCM57800 10-Gigabit Ethernet
-
-pci:v000014E4d0000168Asv00001028sd00001F5D*
- ID_PRODUCT_FROM_DATABASE=BCM57800 10-Gigabit Ethernet
-
-pci:v000014E4d0000168Asv00001028sd00001F67*
- ID_PRODUCT_FROM_DATABASE=BCM57800 1-Gigabit Ethernet
-
-pci:v000014E4d0000168Asv00001028sd00001F68*
- ID_PRODUCT_FROM_DATABASE=BCM57800 1-Gigabit Ethernet
-
-pci:v000014E4d0000168D*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet
-
-pci:v000014E4d0000168E*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet
-
-pci:v000014E4d0000168Esv0000103Csd00001798*
- ID_PRODUCT_FROM_DATABASE=Flex-10 10Gb 2-port 530FLB Adapter [Meru]
-
-pci:v000014E4d00001690*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM57760 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001691*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM57788 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001691sv00001028sd000004AA*
- ID_PRODUCT_FROM_DATABASE=XPS 8300
-
-pci:v000014E4d00001692*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM57780 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001692sv00001025sd0000033D*
- ID_PRODUCT_FROM_DATABASE=Aspire 7740G
-
-pci:v000014E4d00001693*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express
-
-pci:v000014E4d00001693sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v000014E4d00001693sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=6710b
-
-pci:v000014E4d00001694*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM57790 Gigabit Ethernet PCIe
-
-pci:v000014E4d00001696*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet
-
-pci:v000014E4d00001696sv0000103Csd000012BC*
- ID_PRODUCT_FROM_DATABASE=d530 CMT (DG746A)
-
-pci:v000014E4d00001696sv000014E4sd0000000D*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5782 1000Base-T
-
-pci:v000014E4d00001698*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM5784M Gigabit Ethernet PCIe
-
-pci:v000014E4d00001699*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM5785 Gigabit Ethernet
-
-pci:v000014E4d0000169A*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM5786 Gigabit Ethernet PCI Express
-
-pci:v000014E4d0000169B*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM5787 Gigabit Ethernet PCI Express
-
-pci:v000014E4d0000169C*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet
-
-pci:v000014E4d0000169Csv0000103Csd0000308B*
- ID_PRODUCT_FROM_DATABASE=MX6125
-
-pci:v000014E4d0000169Csv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v000014E4d0000169Csv0000144Dsd0000C018*
- ID_PRODUCT_FROM_DATABASE=X20
-
-pci:v000014E4d0000169Csv00001462sd0000590C*
- ID_PRODUCT_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590)
-
-pci:v000014E4d0000169D*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM5789 Gigabit Ethernet PCI Express
-
-pci:v000014E4d000016A0*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM5785 Fast Ethernet
-
-pci:v000014E4d000016A1*
- ID_PRODUCT_FROM_DATABASE=BCM57840 NetXtreme II 10 Gigabit Ethernet
-
-pci:v000014E4d000016A2*
- ID_PRODUCT_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet
-
-pci:v000014E4d000016A4*
- ID_PRODUCT_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function
-
-pci:v000014E4d000016A5*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function
-
-pci:v000014E4d000016A5sv00001028sd00001F5C*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function
-
-pci:v000014E4d000016A5sv00001028sd00001F5D*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function
-
-pci:v000014E4d000016A5sv00001028sd00001F67*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function
-
-pci:v000014E4d000016A5sv00001028sd00001F68*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function
-
-pci:v000014E4d000016A6*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet
-
-pci:v000014E4d000016A6sv00000E11sd000000BB*
- ID_PRODUCT_FROM_DATABASE=NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T)
-
-pci:v000014E4d000016A6sv00001028sd00000126*
- ID_PRODUCT_FROM_DATABASE=BCM5702 1000Base-T
-
-pci:v000014E4d000016A6sv000014E4sd0000000C*
- ID_PRODUCT_FROM_DATABASE=BCM5702 1000Base-T
-
-pci:v000014E4d000016A6sv000014E4sd00008009*
- ID_PRODUCT_FROM_DATABASE=BCM5702 1000Base-T
-
-pci:v000014E4d000016A7*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet
-
-pci:v000014E4d000016A7sv00000E11sd000000CA*
- ID_PRODUCT_FROM_DATABASE=NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
-
-pci:v000014E4d000016A7sv00000E11sd000000CB*
- ID_PRODUCT_FROM_DATABASE=NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
-
-pci:v000014E4d000016A7sv00001014sd0000026F*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v000014E4d000016A7sv000014E4sd00000009*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5703 1000Base-T
-
-pci:v000014E4d000016A7sv000014E4sd0000000A*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5703 1000Base-SX
-
-pci:v000014E4d000016A7sv000014E4sd0000000B*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5703 1000Base-T
-
-pci:v000014E4d000016A7sv000014E4sd0000800A*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5703 1000Base-T
-
-pci:v000014E4d000016A8*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet
-
-pci:v000014E4d000016A8sv0000103Csd0000132B*
- ID_PRODUCT_FROM_DATABASE=PCI-X 1000Mbps Dual-port Built-in
-
-pci:v000014E4d000016A8sv000010A9sd00008014*
- ID_PRODUCT_FROM_DATABASE=Dual Port Gigabit Ethernet (PCI-X,Fiber)
-
-pci:v000014E4d000016A8sv000010A9sd0000801C*
- ID_PRODUCT_FROM_DATABASE=Quad Port Gigabit Ethernet (PCI-E,Fiber)
-
-pci:v000014E4d000016A8sv000010B7sd00002001*
- ID_PRODUCT_FROM_DATABASE=3C998-SX Dual Port 1000-SX PCI-X
-
-pci:v000014E4d000016A9*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function
-
-pci:v000014E4d000016A9sv00001028sd00001F5C*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function
-
-pci:v000014E4d000016A9sv00001028sd00001F5D*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function
-
-pci:v000014E4d000016A9sv00001028sd00001F67*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function
-
-pci:v000014E4d000016A9sv00001028sd00001F68*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function
-
-pci:v000014E4d000016AA*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet
-
-pci:v000014E4d000016AAsv0000103Csd00003102*
- ID_PRODUCT_FROM_DATABASE=NC370F MultifuNCtion Gigabit Server Adapter
-
-pci:v000014E4d000016AAsv0000103Csd0000310C*
- ID_PRODUCT_FROM_DATABASE=NC370i Multifunction Gigabit Server Adapter
-
-pci:v000014E4d000016AB*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Multi Function
-
-pci:v000014E4d000016AC*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet
-
-pci:v000014E4d000016ACsv00001014sd00000304*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet
-
-pci:v000014E4d000016ACsv00001028sd000001BB*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1955 Broadcom NetXtreme II BCM5708S
-
-pci:v000014E4d000016ACsv00001028sd0000020C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M605 Broadcom NetXtreme II BCM5708S
-
-pci:v000014E4d000016ACsv0000103Csd00001706*
- ID_PRODUCT_FROM_DATABASE=NC373m Multifunction Gigabit Server Adapter
-
-pci:v000014E4d000016ACsv0000103Csd00007038*
- ID_PRODUCT_FROM_DATABASE=NC373i PCI Express Multifunction Gigabit Server Adapter
-
-pci:v000014E4d000016ACsv0000103Csd0000703B*
- ID_PRODUCT_FROM_DATABASE=NC373i Integrated Multifunction Gigabit Server Adapter
-
-pci:v000014E4d000016ACsv0000103Csd0000703D*
- ID_PRODUCT_FROM_DATABASE=NC373F PCI Express Multifunction Gigabit Server Adapter
-
-pci:v000014E4d000016AD*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function
-
-pci:v000014E4d000016AE*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function
-
-pci:v000014E4d000016AF*
- ID_PRODUCT_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function
-
-pci:v000014E4d000016B0*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM57761 Gigabit Ethernet PCIe
-
-pci:v000014E4d000016B1*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM57781 Gigabit Ethernet PCIe
-
-pci:v000014E4d000016B2*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM57791 Gigabit Ethernet PCIe
-
-pci:v000014E4d000016B3*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM57786 Gigabit Ethernet PCIe
-
-pci:v000014E4d000016B4*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM57765 Gigabit Ethernet PCIe
-
-pci:v000014E4d000016B5*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM57785 Gigabit Ethernet PCIe
-
-pci:v000014E4d000016B6*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM57795 Gigabit Ethernet PCIe
-
-pci:v000014E4d000016B7*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM57782 Gigabit Ethernet PCIe
-
-pci:v000014E4d000016BC*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM57765 Memory Card Reader
-
-pci:v000014E4d000016C6*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet
-
-pci:v000014E4d000016C6sv000010B7sd00001100*
- ID_PRODUCT_FROM_DATABASE=3C1000B-T 10/100/1000 PCI
-
-pci:v000014E4d000016C6sv000014E4sd0000000C*
- ID_PRODUCT_FROM_DATABASE=BCM5702 1000Base-T
-
-pci:v000014E4d000016C6sv000014E4sd00008009*
- ID_PRODUCT_FROM_DATABASE=BCM5702 1000Base-T
-
-pci:v000014E4d000016C7*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet
-
-pci:v000014E4d000016C7sv00000E11sd000000CA*
- ID_PRODUCT_FROM_DATABASE=NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
-
-pci:v000014E4d000016C7sv00000E11sd000000CB*
- ID_PRODUCT_FROM_DATABASE=NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)
-
-pci:v000014E4d000016C7sv0000103Csd000012C3*
- ID_PRODUCT_FROM_DATABASE=Combo FC/GigE-SX [A9782A]
-
-pci:v000014E4d000016C7sv0000103Csd000012CA*
- ID_PRODUCT_FROM_DATABASE=Combo FC/GigE-T [A9784A]
-
-pci:v000014E4d000016C7sv0000103Csd00001321*
- ID_PRODUCT_FROM_DATABASE=Core I/O LAN/SCSI Combo [AB314A]
-
-pci:v000014E4d000016C7sv000014E4sd00000009*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5703 1000Base-T
-
-pci:v000014E4d000016C7sv000014E4sd0000000A*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5703 1000Base-SX
-
-pci:v000014E4d000016DD*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM5781 Gigabit Ethernet PCI Express
-
-pci:v000014E4d000016F7*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5753 Gigabit Ethernet PCI Express
-
-pci:v000014E4d000016FD*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express
-
-pci:v000014E4d000016FDsv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v000014E4d000016FDsv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v000014E4d000016FE*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5753F Fast Ethernet PCI Express
-
-pci:v000014E4d0000170C*
- ID_PRODUCT_FROM_DATABASE=BCM4401-B0 100Base-TX
-
-pci:v000014E4d0000170Csv00001028sd00000188*
- ID_PRODUCT_FROM_DATABASE=Inspiron 6000 laptop
-
-pci:v000014E4d0000170Csv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v000014E4d0000170Csv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v000014E4d0000170Csv00001028sd000001AF*
- ID_PRODUCT_FROM_DATABASE=Inspiron 6400
-
-pci:v000014E4d0000170Csv00001028sd000001CD*
- ID_PRODUCT_FROM_DATABASE=Inspiron 9400 Laptop
-
-pci:v000014E4d0000170Csv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v000014E4d0000170Csv00001028sd000001D8*
- ID_PRODUCT_FROM_DATABASE=Inspiron E1405
-
-pci:v000014E4d0000170Csv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v000014E4d0000170Csv0000103Csd000030A2*
- ID_PRODUCT_FROM_DATABASE=NX7300 laptop
-
-pci:v000014E4d0000170Csv000014E4sd0000170C*
- ID_PRODUCT_FROM_DATABASE=HP Compaq 6720t Mobile Thin Client
-
-pci:v000014E4d0000170D*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5901 100Base-TX
-
-pci:v000014E4d0000170Dsv00001014sd00000545*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R40e
-
-pci:v000014E4d0000170E*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5901 100Base-TX
-
-pci:v000014E4d00001712*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM5906 Fast Ethernet PCI Express
-
-pci:v000014E4d00001713*
- ID_PRODUCT_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express
-
-pci:v000014E4d00001713sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v000014E4d00001713sv00001028sd00000209*
- ID_PRODUCT_FROM_DATABASE=XPS M1330
-
-pci:v000014E4d00001713sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v000014E4d00001713sv000017AAsd00003A23*
- ID_PRODUCT_FROM_DATABASE=IdeaPad S10e
-
-pci:v000014E4d00003352*
- ID_PRODUCT_FROM_DATABASE=BCM3352
-
-pci:v000014E4d00003360*
- ID_PRODUCT_FROM_DATABASE=BCM3360
-
-pci:v000014E4d00004210*
- ID_PRODUCT_FROM_DATABASE=BCM4210 iLine10 HomePNA 2.0
-
-pci:v000014E4d00004211*
- ID_PRODUCT_FROM_DATABASE=BCM4211 iLine10 HomePNA 2.0 + V.90 56k modem
-
-pci:v000014E4d00004212*
- ID_PRODUCT_FROM_DATABASE=BCM4212 v.90 56k modem
-
-pci:v000014E4d00004220*
- ID_PRODUCT_FROM_DATABASE=802-11b/g Wireless PCI controller, packaged as a Linksys WPC54G ver 1.2 PCMCIA card
-
-pci:v000014E4d00004222*
- ID_PRODUCT_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express
-
-pci:v000014E4d00004301*
- ID_PRODUCT_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller
-
-pci:v000014E4d00004301sv00001028sd00000407*
- ID_PRODUCT_FROM_DATABASE=TrueMobile 1180 Onboard WLAN
-
-pci:v000014E4d00004301sv00001043sd00000120*
- ID_PRODUCT_FROM_DATABASE=WL-103b Wireless LAN PC Card
-
-pci:v000014E4d00004301sv000016A5sd00001602*
- ID_PRODUCT_FROM_DATABASE=B-300 802.11b Wireless CardBus Adapter
-
-pci:v000014E4d00004301sv00001737sd00004301*
- ID_PRODUCT_FROM_DATABASE=WMP11 v2.7 802.11b Wireless-B PCI Adapter
-
-pci:v000014E4d00004305*
- ID_PRODUCT_FROM_DATABASE=BCM4307 V.90 56k Modem
-
-pci:v000014E4d00004306*
- ID_PRODUCT_FROM_DATABASE=BCM4306 802.11bg Wireless LAN controller
-
-pci:v000014E4d00004307*
- ID_PRODUCT_FROM_DATABASE=BCM4306 802.11bg Wireless LAN Controller
-
-pci:v000014E4d00004310*
- ID_PRODUCT_FROM_DATABASE=BCM4310 Chipcommon I/OController
-
-pci:v000014E4d00004311*
- ID_PRODUCT_FROM_DATABASE=BCM4311 802.11b/g WLAN
-
-pci:v000014E4d00004311sv00001028sd00000007*
- ID_PRODUCT_FROM_DATABASE=Wireless 1390 WLAN Mini-Card
-
-pci:v000014E4d00004311sv00001028sd00000008*
- ID_PRODUCT_FROM_DATABASE=Wireless 1390 WLAN ExpressCard
-
-pci:v000014E4d00004311sv0000103Csd00001363*
- ID_PRODUCT_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
-
-pci:v000014E4d00004311sv0000103Csd00001364*
- ID_PRODUCT_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
-
-pci:v000014E4d00004311sv0000103Csd00001365*
- ID_PRODUCT_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
-
-pci:v000014E4d00004311sv0000103Csd00001374*
- ID_PRODUCT_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
-
-pci:v000014E4d00004311sv0000103Csd00001375*
- ID_PRODUCT_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
-
-pci:v000014E4d00004311sv0000103Csd00001376*
- ID_PRODUCT_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
-
-pci:v000014E4d00004311sv0000103Csd00001377*
- ID_PRODUCT_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller
-
-pci:v000014E4d00004311sv0000103Csd0000137F*
- ID_PRODUCT_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller
-
-pci:v000014E4d00004311sv0000103Csd00001380*
- ID_PRODUCT_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller
-
-pci:v000014E4d00004311sv000014E4sd00004311*
- ID_PRODUCT_FROM_DATABASE=BCM94311MCG
-
-pci:v000014E4d00004312*
- ID_PRODUCT_FROM_DATABASE=BCM4311 802.11a/b/g
-
-pci:v000014E4d00004312sv00001028sd00000007*
- ID_PRODUCT_FROM_DATABASE=Wireless 1490 Dual Band WLAN Mini-Card
-
-pci:v000014E4d00004312sv00001028sd00000008*
- ID_PRODUCT_FROM_DATABASE=Wireless 1490 Dual Band WLAN ExpressCard
-
-pci:v000014E4d00004312sv0000103Csd0000135A*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004312sv0000103Csd0000135F*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004312sv0000103Csd00001360*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004312sv0000103Csd00001361*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004312sv0000103Csd00001362*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004312sv0000103Csd00001370*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004312sv0000103Csd00001371*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004312sv0000103Csd00001372*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004312sv0000103Csd00001373*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004312sv0000103Csd000030B5*
- ID_PRODUCT_FROM_DATABASE=Presario V3242AU
-
-pci:v000014E4d00004312sv00001371sd0000103C*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11 Multiband-netwerkadapter(6715s)
-
-pci:v000014E4d00004313*
- ID_PRODUCT_FROM_DATABASE=BCM4311 802.11a
-
-pci:v000014E4d00004315*
- ID_PRODUCT_FROM_DATABASE=BCM4312 802.11b/g LP-PHY
-
-pci:v000014E4d00004315sv00001028sd0000000B*
- ID_PRODUCT_FROM_DATABASE=Wireless 1395 WLAN Mini-Card
-
-pci:v000014E4d00004315sv00001028sd0000000C*
- ID_PRODUCT_FROM_DATABASE=Wireless 1397 WLAN Mini-Card
-
-pci:v000014E4d00004315sv0000103Csd0000137C*
- ID_PRODUCT_FROM_DATABASE=BCM4312 802.11b/g Wireless LAN Controller
-
-pci:v000014E4d00004315sv0000103Csd0000137D*
- ID_PRODUCT_FROM_DATABASE=BCM4312 802.11b/g Wireless LAN Controller
-
-pci:v000014E4d00004315sv0000103Csd00001507*
- ID_PRODUCT_FROM_DATABASE=U98Z049.00 Wireless Mini PCIe Card
-
-pci:v000014E4d00004315sv0000105Bsd0000E003*
- ID_PRODUCT_FROM_DATABASE=T77H030.00 Wireless Mini PCIe Card
-
-pci:v000014E4d00004315sv0000105Bsd0000E01B*
- ID_PRODUCT_FROM_DATABASE=T77H106.00 Wireless Half-size Mini PCIe Card
-
-pci:v000014E4d00004318*
- ID_PRODUCT_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller
-
-pci:v000014E4d00004318sv00001028sd00000005*
- ID_PRODUCT_FROM_DATABASE=Wireless 1370 WLAN Mini-PCI Card
-
-pci:v000014E4d00004318sv00001028sd00000006*
- ID_PRODUCT_FROM_DATABASE=Wireless 1370 WLAN PC Card
-
-pci:v000014E4d00004318sv0000103Csd00001355*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11b/g WLAN
-
-pci:v000014E4d00004318sv0000103Csd00001356*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11b/g WLAN
-
-pci:v000014E4d00004318sv0000103Csd00001357*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11b/g WLAN
-
-pci:v000014E4d00004318sv00001043sd0000100F*
- ID_PRODUCT_FROM_DATABASE=WL-138G v2 / WL-138gE / WL-100gE
-
-pci:v000014E4d00004318sv00001043sd0000120F*
- ID_PRODUCT_FROM_DATABASE=A6U notebook embedded card
-
-pci:v000014E4d00004318sv00001154sd00000355*
- ID_PRODUCT_FROM_DATABASE=Buffalo WLI2-PCI-G54S High Speed Mode Wireless Adapter
-
-pci:v000014E4d00004318sv00001468sd00000311*
- ID_PRODUCT_FROM_DATABASE=Aspire 3022WLMi, 5024WLMi, 5020
-
-pci:v000014E4d00004318sv00001468sd00000312*
- ID_PRODUCT_FROM_DATABASE=TravelMate 2410
-
-pci:v000014E4d00004318sv000014E4sd00000449*
- ID_PRODUCT_FROM_DATABASE=Gateway 7510GX
-
-pci:v000014E4d00004318sv000016ECsd00000119*
- ID_PRODUCT_FROM_DATABASE=U.S.Robotics Wireless MAXg PC Card
-
-pci:v000014E4d00004318sv00001737sd00000042*
- ID_PRODUCT_FROM_DATABASE=WMP54GS v1.1 802.11g Wireless-G PCI Adapter with SpeedBooster
-
-pci:v000014E4d00004318sv00001737sd00000048*
- ID_PRODUCT_FROM_DATABASE=WPC54G v3 802.11g Wireless-G Notebook Adapter
-
-pci:v000014E4d00004318sv00001737sd00000049*
- ID_PRODUCT_FROM_DATABASE=WPC54GS v2 802.11g Wireless-G Notebook Adapter with SpeedBooster
-
-pci:v000014E4d00004318sv00001799sd00007000*
- ID_PRODUCT_FROM_DATABASE=F5D7000 v4000 Wireless G Desktop Card
-
-pci:v000014E4d00004318sv00001799sd00007001*
- ID_PRODUCT_FROM_DATABASE=F5D7001 v2000 Wireless G Plus Desktop Card
-
-pci:v000014E4d00004318sv00001799sd00007010*
- ID_PRODUCT_FROM_DATABASE=F5D7010 v4000 Wireless G Notebook Card
-
-pci:v000014E4d00004318sv00001799sd00007011*
- ID_PRODUCT_FROM_DATABASE=F5D7011 v2000 High-Speed Mode Wireless G Notebook Card
-
-pci:v000014E4d00004319*
- ID_PRODUCT_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver
-
-pci:v000014E4d00004319sv00001028sd00000005*
- ID_PRODUCT_FROM_DATABASE=Wireless 1470 Dual Band WLAN Mini-PCI Card
-
-pci:v000014E4d00004319sv00001028sd00000006*
- ID_PRODUCT_FROM_DATABASE=Wireless 1470 Dual Band WLAN PC Card
-
-pci:v000014E4d00004319sv0000103Csd00001358*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004319sv0000103Csd00001359*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004319sv0000103Csd0000135A*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004320*
- ID_PRODUCT_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller
-
-pci:v000014E4d00004320sv00001028sd00000001*
- ID_PRODUCT_FROM_DATABASE=TrueMobile 1300 WLAN Mini-PCI Card
-
-pci:v000014E4d00004320sv00001028sd00000002*
- ID_PRODUCT_FROM_DATABASE=TrueMobile 1300 WLAN PC Card
-
-pci:v000014E4d00004320sv00001028sd00000003*
- ID_PRODUCT_FROM_DATABASE=Wireless 1350 WLAN Mini-PCI Card
-
-pci:v000014E4d00004320sv00001028sd00000004*
- ID_PRODUCT_FROM_DATABASE=Wireless 1350 WLAN PC Card
-
-pci:v000014E4d00004320sv0000103Csd000012F4*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11b/g WLAN
-
-pci:v000014E4d00004320sv0000103Csd000012F8*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11b/g WLAN
-
-pci:v000014E4d00004320sv0000103Csd000012FA*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11b/g WLAN
-
-pci:v000014E4d00004320sv0000103Csd000012FB*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11b/g WLAN
-
-pci:v000014E4d00004320sv00001043sd0000100F*
- ID_PRODUCT_FROM_DATABASE=WL-100G
-
-pci:v000014E4d00004320sv00001057sd00007025*
- ID_PRODUCT_FROM_DATABASE=WN825G
-
-pci:v000014E4d00004320sv0000106Bsd0000004E*
- ID_PRODUCT_FROM_DATABASE=AirPort Extreme
-
-pci:v000014E4d00004320sv00001154sd00000330*
- ID_PRODUCT_FROM_DATABASE=Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter
-
-pci:v000014E4d00004320sv0000144Fsd00007050*
- ID_PRODUCT_FROM_DATABASE=eMachines M6805 802.11g Built-in Wireless
-
-pci:v000014E4d00004320sv0000144Fsd00007051*
- ID_PRODUCT_FROM_DATABASE=Sonnet Aria Extreme PCI
-
-pci:v000014E4d00004320sv00001737sd00000013*
- ID_PRODUCT_FROM_DATABASE=WMP54G v1 802.11g PCI Adapter
-
-pci:v000014E4d00004320sv00001737sd00000014*
- ID_PRODUCT_FROM_DATABASE=WMP54G v2 802.11g PCI Adapter
-
-pci:v000014E4d00004320sv00001737sd00000015*
- ID_PRODUCT_FROM_DATABASE=WMP54GS v1.0 802.11g Wireless-G PCI Adapter with SpeedBooster
-
-pci:v000014E4d00004320sv00001737sd00004320*
- ID_PRODUCT_FROM_DATABASE=WPC54G v1 / WPC54GS v1 802.11g Wireless-G Notebook Adapter
-
-pci:v000014E4d00004320sv00001799sd00007000*
- ID_PRODUCT_FROM_DATABASE=F5D7000 v1000 Wireless G Desktop Card
-
-pci:v000014E4d00004320sv00001799sd00007001*
- ID_PRODUCT_FROM_DATABASE=F5D7001 v1000 Wireless G Plus Desktop Card
-
-pci:v000014E4d00004320sv00001799sd00007010*
- ID_PRODUCT_FROM_DATABASE=F5D7010 v1000 Wireless G Notebook Card
-
-pci:v000014E4d00004320sv00001799sd00007011*
- ID_PRODUCT_FROM_DATABASE=F5D7011 v1000 High-Speed Mode Wireless G Notebook Card
-
-pci:v000014E4d00004320sv0000185Fsd00001220*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290E WLAN Mini-PCI Card
-
-pci:v000014E4d00004321*
- ID_PRODUCT_FROM_DATABASE=BCM4321 802.11a Wireless Network Controller
-
-pci:v000014E4d00004322*
- ID_PRODUCT_FROM_DATABASE=BCM4322 802.11bgn Wireless Network Controller
-
-pci:v000014E4d00004324*
- ID_PRODUCT_FROM_DATABASE=BCM4306 802.11a/b/g
-
-pci:v000014E4d00004324sv00001028sd00000001*
- ID_PRODUCT_FROM_DATABASE=Truemobile 1400
-
-pci:v000014E4d00004324sv00001028sd00000002*
- ID_PRODUCT_FROM_DATABASE=TrueMobile 1400 Dual Band WLAN PC Card
-
-pci:v000014E4d00004324sv00001028sd00000003*
- ID_PRODUCT_FROM_DATABASE=Truemobile 1450 MiniPCI
-
-pci:v000014E4d00004324sv00001028sd00000004*
- ID_PRODUCT_FROM_DATABASE=Wireless 1450 Dual Band WLAN PC Card
-
-pci:v000014E4d00004324sv0000103Csd000012F9*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004324sv0000103Csd000012FC*
- ID_PRODUCT_FROM_DATABASE=Broadcom 802.11a/b/g WLAN
-
-pci:v000014E4d00004325*
- ID_PRODUCT_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller
-
-pci:v000014E4d00004325sv00001414sd00000003*
- ID_PRODUCT_FROM_DATABASE=Wireless Notebook Adapter MN-720
-
-pci:v000014E4d00004325sv00001414sd00000004*
- ID_PRODUCT_FROM_DATABASE=Wireless PCI Adapter MN-730
-
-pci:v000014E4d00004326*
- ID_PRODUCT_FROM_DATABASE=BCM4307 Chipcommon I/O Controller?
-
-pci:v000014E4d00004328*
- ID_PRODUCT_FROM_DATABASE=BCM4321 802.11a/b/g/n
-
-pci:v000014E4d00004328sv00001028sd00000009*
- ID_PRODUCT_FROM_DATABASE=Wireless 1500 Draft 802.11n WLAN Mini-Card
-
-pci:v000014E4d00004328sv00001028sd0000000A*
- ID_PRODUCT_FROM_DATABASE=Wireless 1500 Draft 802.11n WLAN Mini-card
-
-pci:v000014E4d00004328sv0000103Csd00001366*
- ID_PRODUCT_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller
-
-pci:v000014E4d00004328sv0000103Csd00001367*
- ID_PRODUCT_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller
-
-pci:v000014E4d00004328sv0000103Csd00001368*
- ID_PRODUCT_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller
-
-pci:v000014E4d00004328sv0000103Csd00001369*
- ID_PRODUCT_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller
-
-pci:v000014E4d00004328sv000014E4sd00004328*
- ID_PRODUCT_FROM_DATABASE=BCM4328 802.11a/b/g/n
-
-pci:v000014E4d00004328sv00001737sd00000066*
- ID_PRODUCT_FROM_DATABASE=WPC600N v1 802.11a/b/g/n Wireless-N CardBus Adapter
-
-pci:v000014E4d00004328sv00001737sd00000068*
- ID_PRODUCT_FROM_DATABASE=WEC600N v1 802.11a/b/g/n Wireless-N ExpressCard
-
-pci:v000014E4d00004329*
- ID_PRODUCT_FROM_DATABASE=BCM4321 802.11b/g/n
-
-pci:v000014E4d00004329sv00001385sd00007B00*
- ID_PRODUCT_FROM_DATABASE=WN511B RangeMax NEXT Wireless Notebook Adapter
-
-pci:v000014E4d00004329sv00001385sd00007D00*
- ID_PRODUCT_FROM_DATABASE=WN311B RangeMax Next 270 Mbps Wireless PCI Adapter
-
-pci:v000014E4d00004329sv00001737sd00000058*
- ID_PRODUCT_FROM_DATABASE=WPC300N v1 Wireless-N Notebook Adapter
-
-pci:v000014E4d0000432A*
- ID_PRODUCT_FROM_DATABASE=BCM4321 802.11an Wireless Network Controller
-
-pci:v000014E4d0000432B*
- ID_PRODUCT_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller
-
-pci:v000014E4d0000432Bsv00001028sd0000000D*
- ID_PRODUCT_FROM_DATABASE=Wireless 1510 Wireless-N WLAN Mini-Card
-
-pci:v000014E4d0000432Bsv0000106Bsd0000008E*
- ID_PRODUCT_FROM_DATABASE=AirPort Extreme
-
-pci:v000014E4d0000432C*
- ID_PRODUCT_FROM_DATABASE=BCM4322 802.11b/g/n
-
-pci:v000014E4d0000432Csv00001799sd0000D311*
- ID_PRODUCT_FROM_DATABASE=Dynex DX-NNBX 802.11n WLAN Cardbus Card
-
-pci:v000014E4d0000432D*
- ID_PRODUCT_FROM_DATABASE=BCM4322 802.11an Wireless Network Controller
-
-pci:v000014E4d00004331*
- ID_PRODUCT_FROM_DATABASE=BCM4331 802.11a/b/g/n
-
-pci:v000014E4d00004331sv0000106Bsd000000D6*
- ID_PRODUCT_FROM_DATABASE=AirPort Extreme
-
-pci:v000014E4d00004333*
- ID_PRODUCT_FROM_DATABASE=Serial (EDGE/GPRS modem part of Option GT Combo Edge)
-
-pci:v000014E4d00004344*
- ID_PRODUCT_FROM_DATABASE=EDGE/GPRS data and 802.11b/g combo cardbus [GC89]
-
-pci:v000014E4d00004353*
- ID_PRODUCT_FROM_DATABASE=BCM43224 802.11a/b/g/n
-
-pci:v000014E4d00004353sv00001028sd0000000E*
- ID_PRODUCT_FROM_DATABASE=Wireless 1520 Half-size Mini PCIe Card
-
-pci:v000014E4d00004353sv0000103Csd00001509*
- ID_PRODUCT_FROM_DATABASE=WMIB-275N Half-size Mini PCIe Card
-
-pci:v000014E4d00004357*
- ID_PRODUCT_FROM_DATABASE=BCM43225 802.11b/g/n
-
-pci:v000014E4d00004357sv0000105Bsd0000E021*
- ID_PRODUCT_FROM_DATABASE=T77H103.00 Wireless Half-size Mini PCIe Card
-
-pci:v000014E4d00004358*
- ID_PRODUCT_FROM_DATABASE=BCM43227 802.11b/g/n
-
-pci:v000014E4d00004359*
- ID_PRODUCT_FROM_DATABASE=BCM43228 802.11a/b/g/n
-
-pci:v000014E4d00004359sv00001028sd00000011*
- ID_PRODUCT_FROM_DATABASE=Wireless 1530 Half-size Mini PCIe Card
-
-pci:v000014E4d00004359sv0000103Csd0000182C*
- ID_PRODUCT_FROM_DATABASE=BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter
-
-pci:v000014E4d00004365*
- ID_PRODUCT_FROM_DATABASE=BCM43142 802.11b/g/n
-
-pci:v000014E4d00004365sv00001028sd00000016*
- ID_PRODUCT_FROM_DATABASE=Wireless 1704 802.11n + BT 4.0
-
-pci:v000014E4d00004401*
- ID_PRODUCT_FROM_DATABASE=BCM4401 100Base-T
-
-pci:v000014E4d00004401sv00001025sd00000035*
- ID_PRODUCT_FROM_DATABASE=TravelMate 660
-
-pci:v000014E4d00004401sv0000103Csd000008B0*
- ID_PRODUCT_FROM_DATABASE=tc1100 tablet
-
-pci:v000014E4d00004401sv00001043sd000080A8*
- ID_PRODUCT_FROM_DATABASE=A7V8X motherboard
-
-pci:v000014E4d00004402*
- ID_PRODUCT_FROM_DATABASE=BCM4402 Integrated 10/100BaseT
-
-pci:v000014E4d00004403*
- ID_PRODUCT_FROM_DATABASE=BCM4402 V.90 56k Modem
-
-pci:v000014E4d00004410*
- ID_PRODUCT_FROM_DATABASE=BCM4413 iLine32 HomePNA 2.0
-
-pci:v000014E4d00004411*
- ID_PRODUCT_FROM_DATABASE=BCM4413 V.90 56k modem
-
-pci:v000014E4d00004412*
- ID_PRODUCT_FROM_DATABASE=BCM4412 10/100BaseT
-
-pci:v000014E4d00004430*
- ID_PRODUCT_FROM_DATABASE=BCM44xx CardBus iLine32 HomePNA 2.0
-
-pci:v000014E4d00004432*
- ID_PRODUCT_FROM_DATABASE=BCM4432 CardBus 10/100BaseT
-
-pci:v000014E4d00004610*
- ID_PRODUCT_FROM_DATABASE=BCM4610 Sentry5 PCI to SB Bridge
-
-pci:v000014E4d00004611*
- ID_PRODUCT_FROM_DATABASE=BCM4610 Sentry5 iLine32 HomePNA 1.0
-
-pci:v000014E4d00004612*
- ID_PRODUCT_FROM_DATABASE=BCM4610 Sentry5 V.90 56k Modem
-
-pci:v000014E4d00004613*
- ID_PRODUCT_FROM_DATABASE=BCM4610 Sentry5 Ethernet Controller
-
-pci:v000014E4d00004614*
- ID_PRODUCT_FROM_DATABASE=BCM4610 Sentry5 External Interface
-
-pci:v000014E4d00004615*
- ID_PRODUCT_FROM_DATABASE=BCM4610 Sentry5 USB Controller
-
-pci:v000014E4d00004704*
- ID_PRODUCT_FROM_DATABASE=BCM4704 PCI to SB Bridge
-
-pci:v000014E4d00004705*
- ID_PRODUCT_FROM_DATABASE=BCM4704 Sentry5 802.11b Wireless LAN Controller
-
-pci:v000014E4d00004706*
- ID_PRODUCT_FROM_DATABASE=BCM4704 Sentry5 Ethernet Controller
-
-pci:v000014E4d00004707*
- ID_PRODUCT_FROM_DATABASE=BCM4704 Sentry5 USB Controller
-
-pci:v000014E4d00004708*
- ID_PRODUCT_FROM_DATABASE=BCM4704 Crypto Accelerator
-
-pci:v000014E4d00004710*
- ID_PRODUCT_FROM_DATABASE=BCM4710 Sentry5 PCI to SB Bridge
-
-pci:v000014E4d00004711*
- ID_PRODUCT_FROM_DATABASE=BCM47xx Sentry5 iLine32 HomePNA 2.0
-
-pci:v000014E4d00004712*
- ID_PRODUCT_FROM_DATABASE=BCM47xx V.92 56k modem
-
-pci:v000014E4d00004713*
- ID_PRODUCT_FROM_DATABASE=Sentry5 Ethernet Controller
-
-pci:v000014E4d00004714*
- ID_PRODUCT_FROM_DATABASE=BCM47xx Sentry5 External Interface
-
-pci:v000014E4d00004715*
- ID_PRODUCT_FROM_DATABASE=Sentry5 USB Controller
-
-pci:v000014E4d00004716*
- ID_PRODUCT_FROM_DATABASE=BCM47xx Sentry5 USB Host Controller
-
-pci:v000014E4d00004717*
- ID_PRODUCT_FROM_DATABASE=BCM47xx Sentry5 USB Device Controller
-
-pci:v000014E4d00004718*
- ID_PRODUCT_FROM_DATABASE=Sentry5 Crypto Accelerator
-
-pci:v000014E4d00004719*
- ID_PRODUCT_FROM_DATABASE=BCM47xx/53xx RoboSwitch Core
-
-pci:v000014E4d00004720*
- ID_PRODUCT_FROM_DATABASE=BCM4712 MIPS CPU
-
-pci:v000014E4d00004727*
- ID_PRODUCT_FROM_DATABASE=BCM4313 802.11b/g/n Wireless LAN Controller
-
-pci:v000014E4d00004727sv00001028sd00000010*
- ID_PRODUCT_FROM_DATABASE=Inspiron M5010 / XPS 8300
-
-pci:v000014E4d00005365*
- ID_PRODUCT_FROM_DATABASE=BCM5365P Sentry5 Host Bridge
-
-pci:v000014E4d00005600*
- ID_PRODUCT_FROM_DATABASE=BCM5600 StrataSwitch 24+2 Ethernet Switch Controller
-
-pci:v000014E4d00005605*
- ID_PRODUCT_FROM_DATABASE=BCM5605 StrataSwitch 24+2 Ethernet Switch Controller
-
-pci:v000014E4d00005615*
- ID_PRODUCT_FROM_DATABASE=BCM5615 StrataSwitch 24+2 Ethernet Switch Controller
-
-pci:v000014E4d00005625*
- ID_PRODUCT_FROM_DATABASE=BCM5625 StrataSwitch 24+2 Ethernet Switch Controller
-
-pci:v000014E4d00005645*
- ID_PRODUCT_FROM_DATABASE=BCM5645 StrataSwitch 24+2 Ethernet Switch Controller
-
-pci:v000014E4d00005670*
- ID_PRODUCT_FROM_DATABASE=BCM5670 8-Port 10GE Ethernet Switch Fabric
-
-pci:v000014E4d00005680*
- ID_PRODUCT_FROM_DATABASE=BCM5680 G-Switch 8 Port Gigabit Ethernet Switch Controller
-
-pci:v000014E4d00005690*
- ID_PRODUCT_FROM_DATABASE=BCM5690 12-port Multi-Layer Gigabit Ethernet Switch
-
-pci:v000014E4d00005691*
- ID_PRODUCT_FROM_DATABASE=BCM5691 GE/10GE 8+2 Gigabit Ethernet Switch Controller
-
-pci:v000014E4d00005692*
- ID_PRODUCT_FROM_DATABASE=BCM5692 12-port Multi-Layer Gigabit Ethernet Switch
-
-pci:v000014E4d00005695*
- ID_PRODUCT_FROM_DATABASE=BCM5695 12-port + HiGig Multi-Layer Gigabit Ethernet Switch
-
-pci:v000014E4d00005698*
- ID_PRODUCT_FROM_DATABASE=BCM5698 12-port Multi-Layer Gigabit Ethernet Switch
-
-pci:v000014E4d00005820*
- ID_PRODUCT_FROM_DATABASE=BCM5820 Crypto Accelerator
-
-pci:v000014E4d00005821*
- ID_PRODUCT_FROM_DATABASE=BCM5821 Crypto Accelerator
-
-pci:v000014E4d00005822*
- ID_PRODUCT_FROM_DATABASE=BCM5822 Crypto Accelerator
-
-pci:v000014E4d00005823*
- ID_PRODUCT_FROM_DATABASE=BCM5823 Crypto Accelerator
-
-pci:v000014E4d00005824*
- ID_PRODUCT_FROM_DATABASE=BCM5824 Crypto Accelerator
-
-pci:v000014E4d00005840*
- ID_PRODUCT_FROM_DATABASE=BCM5840 Crypto Accelerator
-
-pci:v000014E4d00005841*
- ID_PRODUCT_FROM_DATABASE=BCM5841 Crypto Accelerator
-
-pci:v000014E4d00005850*
- ID_PRODUCT_FROM_DATABASE=BCM5850 Crypto Accelerator
-
-pci:v000014E4d0000B800*
- ID_PRODUCT_FROM_DATABASE=BCM56800 StrataXGS 10GE Switch Controller
-
-pci:v000014E5*
- ID_VENDOR_FROM_DATABASE=Pixelfusion Ltd
-
-pci:v000014E6*
- ID_VENDOR_FROM_DATABASE=SHINING Technology Inc
-
-pci:v000014E7*
- ID_VENDOR_FROM_DATABASE=3CX
-
-pci:v000014E8*
- ID_VENDOR_FROM_DATABASE=RAYCER Inc
-
-pci:v000014E9*
- ID_VENDOR_FROM_DATABASE=GARNETS System CO Ltd
-
-pci:v000014EA*
- ID_VENDOR_FROM_DATABASE=Planex Communications, Inc
-
-pci:v000014EAd0000AB06*
- ID_PRODUCT_FROM_DATABASE=FNW-3603-TX CardBus Fast Ethernet
-
-pci:v000014EAd0000AB07*
- ID_PRODUCT_FROM_DATABASE=RTL81xx RealTek Ethernet
-
-pci:v000014EAd0000AB08*
- ID_PRODUCT_FROM_DATABASE=FNW-3602-TX CardBus Fast Ethernet
-
-pci:v000014EB*
- ID_VENDOR_FROM_DATABASE=SEIKO EPSON Corp
-
-pci:v000014EC*
- ID_VENDOR_FROM_DATABASE=Agilent Technologies
-
-pci:v000014ECd00000000*
- ID_PRODUCT_FROM_DATABASE=Aciris Digitizer (malformed ID)
-
-pci:v000014ED*
- ID_VENDOR_FROM_DATABASE=DATAKINETICS Ltd
-
-pci:v000014EE*
- ID_VENDOR_FROM_DATABASE=MASPRO KENKOH Corp
-
-pci:v000014EF*
- ID_VENDOR_FROM_DATABASE=CARRY Computer ENG. CO Ltd
-
-pci:v000014F0*
- ID_VENDOR_FROM_DATABASE=CANON RESEACH CENTRE FRANCE
-
-pci:v000014F1*
- ID_VENDOR_FROM_DATABASE=Conexant Systems, Inc.
-
-pci:v000014F1d00001002*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001003*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001004*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001005*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001006*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001022*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001023*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001024*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001025*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001026*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001032*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001033*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax Modem
-
-pci:v000014F1d00001033sv00001033sd00008077*
- ID_PRODUCT_FROM_DATABASE=NEC
-
-pci:v000014F1d00001033sv0000122Dsd00004027*
- ID_PRODUCT_FROM_DATABASE=Dell Zeus - MDP3880-W(B) Data Fax Modem
-
-pci:v000014F1d00001033sv0000122Dsd00004030*
- ID_PRODUCT_FROM_DATABASE=Dell Mercury - MDP3880-U(B) Data Fax Modem
-
-pci:v000014F1d00001033sv0000122Dsd00004034*
- ID_PRODUCT_FROM_DATABASE=Dell Thor - MDP3880-W(U) Data Fax Modem
-
-pci:v000014F1d00001033sv000013E0sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Dell Copper
-
-pci:v000014F1d00001033sv000013E0sd0000020E*
- ID_PRODUCT_FROM_DATABASE=Dell Silver
-
-pci:v000014F1d00001033sv000013E0sd00000261*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v000014F1d00001033sv000013E0sd00000290*
- ID_PRODUCT_FROM_DATABASE=Compaq Goldwing
-
-pci:v000014F1d00001033sv000013E0sd000002A0*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v000014F1d00001033sv000013E0sd000002B0*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v000014F1d00001033sv000013E0sd000002C0*
- ID_PRODUCT_FROM_DATABASE=Compaq Scooter
-
-pci:v000014F1d00001033sv000013E0sd000002D0*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v000014F1d00001033sv0000144Fsd00001500*
- ID_PRODUCT_FROM_DATABASE=IBM P85-DF (1)
-
-pci:v000014F1d00001033sv0000144Fsd00001501*
- ID_PRODUCT_FROM_DATABASE=IBM P85-DF (2)
-
-pci:v000014F1d00001033sv0000144Fsd0000150A*
- ID_PRODUCT_FROM_DATABASE=IBM P85-DF (3)
-
-pci:v000014F1d00001033sv0000144Fsd0000150B*
- ID_PRODUCT_FROM_DATABASE=IBM P85-DF Low Profile (1)
-
-pci:v000014F1d00001033sv0000144Fsd00001510*
- ID_PRODUCT_FROM_DATABASE=IBM P85-DF Low Profile (2)
-
-pci:v000014F1d00001034*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem
-
-pci:v000014F1d00001035*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
-
-pci:v000014F1d00001035sv000010CFsd00001098*
- ID_PRODUCT_FROM_DATABASE=Fujitsu P85-DFSV
-
-pci:v000014F1d00001036*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem
-
-pci:v000014F1d00001036sv0000104Dsd00008067*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001036sv0000122Dsd00004029*
- ID_PRODUCT_FROM_DATABASE=MDP3880SP-W
-
-pci:v000014F1d00001036sv0000122Dsd00004031*
- ID_PRODUCT_FROM_DATABASE=MDP3880SP-U
-
-pci:v000014F1d00001036sv000013E0sd00000209*
- ID_PRODUCT_FROM_DATABASE=Dell Titanium
-
-pci:v000014F1d00001036sv000013E0sd0000020A*
- ID_PRODUCT_FROM_DATABASE=Dell Graphite
-
-pci:v000014F1d00001036sv000013E0sd00000260*
- ID_PRODUCT_FROM_DATABASE=Gateway Red Owl
-
-pci:v000014F1d00001036sv000013E0sd00000270*
- ID_PRODUCT_FROM_DATABASE=Gateway White Horse
-
-pci:v000014F1d00001052*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax Modem (Worldwide)
-
-pci:v000014F1d00001053*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax Modem (Worldwide)
-
-pci:v000014F1d00001054*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem (Worldwide)
-
-pci:v000014F1d00001055*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Worldwide)
-
-pci:v000014F1d00001056*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide)
-
-pci:v000014F1d00001057*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide)
-
-pci:v000014F1d00001059*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem (Worldwide)
-
-pci:v000014F1d00001063*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax Modem
-
-pci:v000014F1d00001064*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem
-
-pci:v000014F1d00001065*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
-
-pci:v000014F1d00001066*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem
-
-pci:v000014F1d00001066sv0000122Dsd00004033*
- ID_PRODUCT_FROM_DATABASE=Dell Athena - MDP3900V-U
-
-pci:v000014F1d00001085*
- ID_PRODUCT_FROM_DATABASE=HCF V90 56k Data/Fax/Voice/Spkp PCI Modem
-
-pci:v000014F1d000010B6*
- ID_PRODUCT_FROM_DATABASE=CX06834-11 HCF V.92 56k Data/Fax/Voice/Spkp Modem
-
-pci:v000014F1d00001433*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax Modem
-
-pci:v000014F1d00001434*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem
-
-pci:v000014F1d00001435*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
-
-pci:v000014F1d00001436*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax Modem
-
-pci:v000014F1d00001453*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax Modem
-
-pci:v000014F1d00001453sv000013E0sd00000240*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v000014F1d00001453sv000013E0sd00000250*
- ID_PRODUCT_FROM_DATABASE=IBM
-
-pci:v000014F1d00001453sv0000144Fsd00001502*
- ID_PRODUCT_FROM_DATABASE=IBM P95-DF (1)
-
-pci:v000014F1d00001453sv0000144Fsd00001503*
- ID_PRODUCT_FROM_DATABASE=IBM P95-DF (2)
-
-pci:v000014F1d00001454*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem
-
-pci:v000014F1d00001455*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
-
-pci:v000014F1d00001456*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem
-
-pci:v000014F1d00001456sv0000122Dsd00004035*
- ID_PRODUCT_FROM_DATABASE=Dell Europa - MDP3900V-W
-
-pci:v000014F1d00001456sv0000122Dsd00004302*
- ID_PRODUCT_FROM_DATABASE=Dell MP3930V-W(C) MiniPCI
-
-pci:v000014F1d00001610*
- ID_PRODUCT_FROM_DATABASE=ADSL AccessRunner PCI Arbitration Device
-
-pci:v000014F1d00001611*
- ID_PRODUCT_FROM_DATABASE=AccessRunner PCI ADSL Interface Device
-
-pci:v000014F1d00001620*
- ID_PRODUCT_FROM_DATABASE=AccessRunner V2 PCI ADSL Arbitration Device
-
-pci:v000014F1d00001621*
- ID_PRODUCT_FROM_DATABASE=AccessRunner V2 PCI ADSL Interface Device
-
-pci:v000014F1d00001622*
- ID_PRODUCT_FROM_DATABASE=AccessRunner V2 PCI ADSL Yukon WAN Adapter
-
-pci:v000014F1d00001803*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001803sv00000E11sd00000023*
- ID_PRODUCT_FROM_DATABASE=623-LAN Grizzly
-
-pci:v000014F1d00001803sv00000E11sd00000043*
- ID_PRODUCT_FROM_DATABASE=623-LAN Yogi
-
-pci:v000014F1d00001811*
- ID_PRODUCT_FROM_DATABASE=MiniPCI Network Adapter
-
-pci:v000014F1d00001815*
- ID_PRODUCT_FROM_DATABASE=HCF 56k Modem
-
-pci:v000014F1d00001815sv00000E11sd00000022*
- ID_PRODUCT_FROM_DATABASE=Grizzly
-
-pci:v000014F1d00001815sv00000E11sd00000042*
- ID_PRODUCT_FROM_DATABASE=Yogi
-
-pci:v000014F1d00002003*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax Modem
-
-pci:v000014F1d00002004*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem
-
-pci:v000014F1d00002005*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
-
-pci:v000014F1d00002006*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem
-
-pci:v000014F1d00002013*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax Modem
-
-pci:v000014F1d00002013sv00000E11sd0000B195*
- ID_PRODUCT_FROM_DATABASE=Bear
-
-pci:v000014F1d00002013sv00000E11sd0000B196*
- ID_PRODUCT_FROM_DATABASE=Seminole 1
-
-pci:v000014F1d00002013sv00000E11sd0000B1BE*
- ID_PRODUCT_FROM_DATABASE=Seminole 2
-
-pci:v000014F1d00002013sv00001025sd00008013*
- ID_PRODUCT_FROM_DATABASE=Acer
-
-pci:v000014F1d00002013sv00001033sd0000809D*
- ID_PRODUCT_FROM_DATABASE=NEC
-
-pci:v000014F1d00002013sv00001033sd000080BC*
- ID_PRODUCT_FROM_DATABASE=NEC
-
-pci:v000014F1d00002013sv0000155Dsd00006793*
- ID_PRODUCT_FROM_DATABASE=HP
-
-pci:v000014F1d00002013sv0000155Dsd00008850*
- ID_PRODUCT_FROM_DATABASE=E Machines
-
-pci:v000014F1d00002014*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem
-
-pci:v000014F1d00002015*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem
-
-pci:v000014F1d00002016*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem
-
-pci:v000014F1d00002043*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax Modem (WorldW SmartDAA)
-
-pci:v000014F1d00002044*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (WorldW SmartDAA)
-
-pci:v000014F1d00002045*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA)
-
-pci:v000014F1d00002045sv000014F1sd00002045*
- ID_PRODUCT_FROM_DATABASE=Generic SoftK56
-
-pci:v000014F1d00002046*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (WorldW SmartDAA)
-
-pci:v000014F1d00002063*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax Modem (SmartDAA)
-
-pci:v000014F1d00002064*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (SmartDAA)
-
-pci:v000014F1d00002065*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (SmartDAA)
-
-pci:v000014F1d00002066*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (SmartDAA)
-
-pci:v000014F1d00002093*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Modem
-
-pci:v000014F1d00002093sv0000155Dsd00002F07*
- ID_PRODUCT_FROM_DATABASE=Legend
-
-pci:v000014F1d00002143*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Cell Modem (Mob WorldW SmartDAA)
-
-pci:v000014F1d00002144*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Cell Modem (Mob WorldW SmartDAA)
-
-pci:v000014F1d00002145*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/HS)/Cell Modem (Mob WorldW SmartDAA)
-
-pci:v000014F1d00002146*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp/Cell Modem (Mob WorldW SmartDAA)
-
-pci:v000014F1d00002163*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Cell Modem (Mob SmartDAA)
-
-pci:v000014F1d00002164*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Cell Modem (Mob SmartDAA)
-
-pci:v000014F1d00002165*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/HS)/Cell Modem (Mob SmartDAA)
-
-pci:v000014F1d00002166*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp/Cell Modem (Mob SmartDAA)
-
-pci:v000014F1d00002343*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax CardBus Modem (Mob WorldW SmartDAA)
-
-pci:v000014F1d00002344*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice CardBus Modem (Mob WorldW SmartDAA)
-
-pci:v000014F1d00002345*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/HS) CardBus Modem (Mob WorldW SmartDAA)
-
-pci:v000014F1d00002346*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp CardBus Modem (Mob WorldW SmartDAA)
-
-pci:v000014F1d00002363*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax CardBus Modem (Mob SmartDAA)
-
-pci:v000014F1d00002364*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice CardBus Modem (Mob SmartDAA)
-
-pci:v000014F1d00002365*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/HS) CardBus Modem (Mob SmartDAA)
-
-pci:v000014F1d00002366*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp CardBus Modem (Mob SmartDAA)
-
-pci:v000014F1d00002443*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA)
-
-pci:v000014F1d00002443sv0000104Dsd00008075*
- ID_PRODUCT_FROM_DATABASE=Modem
-
-pci:v000014F1d00002443sv0000104Dsd00008083*
- ID_PRODUCT_FROM_DATABASE=Modem
-
-pci:v000014F1d00002443sv0000104Dsd00008097*
- ID_PRODUCT_FROM_DATABASE=Modem
-
-pci:v000014F1d00002444*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (Mob WorldW SmartDAA)
-
-pci:v000014F1d00002445*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/HS) Modem (Mob WorldW SmartDAA)
-
-pci:v000014F1d00002446*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (Mob WorldW SmartDAA)
-
-pci:v000014F1d00002463*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob SmartDAA)
-
-pci:v000014F1d00002464*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (Mob SmartDAA)
-
-pci:v000014F1d00002465*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/HS) Modem (Mob SmartDAA)
-
-pci:v000014F1d00002466*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (Mob SmartDAA)
-
-pci:v000014F1d00002BFA*
- ID_PRODUCT_FROM_DATABASE=D110 HDAudio Soft Data Fax Modem with SmartCP
-
-pci:v000014F1d00002BFAsv00001025sd00000009*
- ID_PRODUCT_FROM_DATABASE=Aspire 5622WLMi
-
-pci:v000014F1d00002F00*
- ID_PRODUCT_FROM_DATABASE=HSF 56k HSFi Modem
-
-pci:v000014F1d00002F00sv000013E0sd00008D84*
- ID_PRODUCT_FROM_DATABASE=IBM HSFi V.90
-
-pci:v000014F1d00002F00sv000013E0sd00008D85*
- ID_PRODUCT_FROM_DATABASE=Compaq Stinger
-
-pci:v000014F1d00002F00sv000014F1sd00002004*
- ID_PRODUCT_FROM_DATABASE=Dynalink 56PMi
-
-pci:v000014F1d00002F02*
- ID_PRODUCT_FROM_DATABASE=HSF 56k HSFi Data/Fax
-
-pci:v000014F1d00002F11*
- ID_PRODUCT_FROM_DATABASE=HSF 56k HSFi Modem
-
-pci:v000014F1d00002F20*
- ID_PRODUCT_FROM_DATABASE=HSF 56k Data/Fax Modem
-
-pci:v000014F1d00002F20sv000014F1sd0000200C*
- ID_PRODUCT_FROM_DATABASE=Soft Data Fax Modem with SmartCP
-
-pci:v000014F1d00002F20sv000014F1sd0000200F*
- ID_PRODUCT_FROM_DATABASE=Dimension 3000
-
-pci:v000014F1d00002F30*
- ID_PRODUCT_FROM_DATABASE=SoftV92 SpeakerPhone SoftRing Modem with SmartSP
-
-pci:v000014F1d00002F30sv000014F1sd00002014*
- ID_PRODUCT_FROM_DATABASE=Devolo MikroLink 56K Modem PCI
-
-pci:v000014F1d00002F50*
- ID_PRODUCT_FROM_DATABASE=Conexant SoftK56 Data/Fax Modem
-
-pci:v000014F1d00005045*
- ID_PRODUCT_FROM_DATABASE=CX20549 (Venice)
-
-pci:v000014F1d00005047*
- ID_PRODUCT_FROM_DATABASE=High Definition Audio [Waikiki]
-
-pci:v000014F1d00005051*
- ID_PRODUCT_FROM_DATABASE=High Definition Audio (HERMOSA)
-
-pci:v000014F1d00005B7A*
- ID_PRODUCT_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder
-
-pci:v000014F1d00005B7Asv00000070sd00007444*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-1600
-
-pci:v000014F1d00005B7Asv00005854sd00003343*
- ID_PRODUCT_FROM_DATABASE=GoTView PCI DVD3 Hybrid
-
-pci:v000014F1d00008200*
- ID_PRODUCT_FROM_DATABASE=CX25850
-
-pci:v000014F1d00008234*
- ID_PRODUCT_FROM_DATABASE=RS8234 ATM SAR Controller [ServiceSAR Plus]
-
-pci:v000014F1d00008800*
- ID_PRODUCT_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder
-
-pci:v000014F1d00008800sv00000070sd00002801*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models
-
-pci:v000014F1d00008800sv00000070sd00003401*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV 34xxx models
-
-pci:v000014F1d00008800sv00000070sd00006902*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-4000-HD
-
-pci:v000014F1d00008800sv00000070sd00007801*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-1800 MCE
-
-pci:v000014F1d00008800sv00000070sd00009001*
- ID_PRODUCT_FROM_DATABASE=Nova-T DVB-T
-
-pci:v000014F1d00008800sv00000070sd00009200*
- ID_PRODUCT_FROM_DATABASE=Nova-SE2 DVB-S
-
-pci:v000014F1d00008800sv00000070sd00009202*
- ID_PRODUCT_FROM_DATABASE=Nova-S-Plus DVB-S
-
-pci:v000014F1d00008800sv00000070sd00009402*
- ID_PRODUCT_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid
-
-pci:v000014F1d00008800sv00000070sd00009600*
- ID_PRODUCT_FROM_DATABASE=WinTV 88x Video
-
-pci:v000014F1d00008800sv00000070sd00009802*
- ID_PRODUCT_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid (Low Profile)
-
-pci:v000014F1d00008800sv00001002sd000000F8*
- ID_PRODUCT_FROM_DATABASE=ATI TV Wonder Pro
-
-pci:v000014F1d00008800sv00001002sd0000A101*
- ID_PRODUCT_FROM_DATABASE=HDTV Wonder
-
-pci:v000014F1d00008800sv00001043sd00004823*
- ID_PRODUCT_FROM_DATABASE=ASUS PVR-416
-
-pci:v000014F1d00008800sv0000107Dsd00006611*
- ID_PRODUCT_FROM_DATABASE=Winfast TV 2000XP Expert
-
-pci:v000014F1d00008800sv0000107Dsd00006613*
- ID_PRODUCT_FROM_DATABASE=Leadtek Winfast 2000XP Expert
-
-pci:v000014F1d00008800sv0000107Dsd00006620*
- ID_PRODUCT_FROM_DATABASE=Leadtek Winfast DV2000
-
-pci:v000014F1d00008800sv0000107Dsd0000663C*
- ID_PRODUCT_FROM_DATABASE=Leadtek PVR 2000
-
-pci:v000014F1d00008800sv0000107Dsd0000665F*
- ID_PRODUCT_FROM_DATABASE=WinFast DTV1000-T
-
-pci:v000014F1d00008800sv000010FCsd0000D003*
- ID_PRODUCT_FROM_DATABASE=IODATA GV-VCP3/PCI
-
-pci:v000014F1d00008800sv000010FCsd0000D035*
- ID_PRODUCT_FROM_DATABASE=IODATA GV/BCTV7E
-
-pci:v000014F1d00008800sv00001421sd00000334*
- ID_PRODUCT_FROM_DATABASE=Instant TV DVB-T PCI
-
-pci:v000014F1d00008800sv00001461sd0000000A*
- ID_PRODUCT_FROM_DATABASE=AVerTV 303 (M126)
-
-pci:v000014F1d00008800sv00001461sd0000000B*
- ID_PRODUCT_FROM_DATABASE=AverTV Studio 303 (M126)
-
-pci:v000014F1d00008800sv00001461sd00008011*
- ID_PRODUCT_FROM_DATABASE=UltraTV Media Center PCI 550
-
-pci:v000014F1d00008800sv00001462sd00008606*
- ID_PRODUCT_FROM_DATABASE=MSI TV-@nywhere Master
-
-pci:v000014F1d00008800sv000014C7sd00000107*
- ID_PRODUCT_FROM_DATABASE=GDI Black Gold
-
-pci:v000014F1d00008800sv000014F1sd00000187*
- ID_PRODUCT_FROM_DATABASE=Conexant DVB-T reference design
-
-pci:v000014F1d00008800sv000014F1sd00000342*
- ID_PRODUCT_FROM_DATABASE=Digital-Logic MICROSPACE Entertainment Center (MEC)
-
-pci:v000014F1d00008800sv0000153Bsd00001166*
- ID_PRODUCT_FROM_DATABASE=Cinergy 1400 DVB-T
-
-pci:v000014F1d00008800sv00001540sd00002580*
- ID_PRODUCT_FROM_DATABASE=Provideo PV259
-
-pci:v000014F1d00008800sv00001554sd00004811*
- ID_PRODUCT_FROM_DATABASE=PixelView
-
-pci:v000014F1d00008800sv00001554sd00004813*
- ID_PRODUCT_FROM_DATABASE=Club 3D ZAP1000 MCE Edition
-
-pci:v000014F1d00008800sv000017DEsd000008A1*
- ID_PRODUCT_FROM_DATABASE=KWorld/VStream XPert DVB-T with cx22702
-
-pci:v000014F1d00008800sv000017DEsd000008A6*
- ID_PRODUCT_FROM_DATABASE=KWorld/VStream XPert DVB-T
-
-pci:v000014F1d00008800sv000017DEsd000008B2*
- ID_PRODUCT_FROM_DATABASE=KWorld DVB-S 100
-
-pci:v000014F1d00008800sv000017DEsd0000A8A6*
- ID_PRODUCT_FROM_DATABASE=digitalnow DNTV Live! DVB-T
-
-pci:v000014F1d00008800sv00001822sd00000025*
- ID_PRODUCT_FROM_DATABASE=digitalnow DNTV Live! DVB-T Pro
-
-pci:v000014F1d00008800sv0000185Bsd0000E000*
- ID_PRODUCT_FROM_DATABASE=VideoMate X500
-
-pci:v000014F1d00008800sv000018ACsd0000D500*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV 5 Gold
-
-pci:v000014F1d00008800sv000018ACsd0000D810*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV 3 Gold-Q
-
-pci:v000014F1d00008800sv000018ACsd0000D820*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV 3 Gold-T
-
-pci:v000014F1d00008800sv000018ACsd0000DB00*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV DVB-T1
-
-pci:v000014F1d00008800sv000018ACsd0000DB11*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV DVB-T Plus
-
-pci:v000014F1d00008800sv000018ACsd0000DB50*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV DVB-T Dual Digital
-
-pci:v000014F1d00008800sv00005654sd00002388*
- ID_PRODUCT_FROM_DATABASE=GoTView PCI Hybrid TV Tuner Card
-
-pci:v000014F1d00008800sv00007063sd00003000*
- ID_PRODUCT_FROM_DATABASE=pcHDTV HD3000 HDTV
-
-pci:v000014F1d00008800sv00007063sd00005500*
- ID_PRODUCT_FROM_DATABASE=pcHDTV HD-5500
-
-pci:v000014F1d00008801*
- ID_PRODUCT_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port]
-
-pci:v000014F1d00008801sv00000070sd00002801*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models
-
-pci:v000014F1d00008801sv0000185Bsd0000E000*
- ID_PRODUCT_FROM_DATABASE=VideoMate X500
-
-pci:v000014F1d00008801sv00005654sd00002388*
- ID_PRODUCT_FROM_DATABASE=GoTView PCI Hybrid Audio AVStream Device
-
-pci:v000014F1d00008801sv00007063sd00005500*
- ID_PRODUCT_FROM_DATABASE=pcHDTV HD-5500
-
-pci:v000014F1d00008802*
- ID_PRODUCT_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port]
-
-pci:v000014F1d00008802sv00000070sd00002801*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models
-
-pci:v000014F1d00008802sv00000070sd00006902*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-4000-HD
-
-pci:v000014F1d00008802sv00000070sd00009002*
- ID_PRODUCT_FROM_DATABASE=Nova-T DVB-T Model 909
-
-pci:v000014F1d00008802sv00000070sd00009402*
- ID_PRODUCT_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid
-
-pci:v000014F1d00008802sv00000070sd00009600*
- ID_PRODUCT_FROM_DATABASE=WinTV 88x MPEG Encoder
-
-pci:v000014F1d00008802sv00001043sd00004823*
- ID_PRODUCT_FROM_DATABASE=ASUS PVR-416
-
-pci:v000014F1d00008802sv0000107Dsd0000663C*
- ID_PRODUCT_FROM_DATABASE=Leadtek PVR 2000
-
-pci:v000014F1d00008802sv0000107Dsd0000665F*
- ID_PRODUCT_FROM_DATABASE=WinFast DTV1000-T
-
-pci:v000014F1d00008802sv000014F1sd00000187*
- ID_PRODUCT_FROM_DATABASE=Conexant DVB-T reference design
-
-pci:v000014F1d00008802sv000017DEsd000008A1*
- ID_PRODUCT_FROM_DATABASE=XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture
-
-pci:v000014F1d00008802sv000017DEsd000008A6*
- ID_PRODUCT_FROM_DATABASE=KWorld/VStream XPert DVB-T
-
-pci:v000014F1d00008802sv000018ACsd0000D500*
- ID_PRODUCT_FROM_DATABASE=DViCO FusionHDTV5 Gold
-
-pci:v000014F1d00008802sv000018ACsd0000D810*
- ID_PRODUCT_FROM_DATABASE=DViCO FusionHDTV3 Gold-Q
-
-pci:v000014F1d00008802sv000018ACsd0000D820*
- ID_PRODUCT_FROM_DATABASE=DViCO FusionHDTV3 Gold-T
-
-pci:v000014F1d00008802sv000018ACsd0000DB00*
- ID_PRODUCT_FROM_DATABASE=DVICO FusionHDTV DVB-T1
-
-pci:v000014F1d00008802sv000018ACsd0000DB10*
- ID_PRODUCT_FROM_DATABASE=DVICO FusionHDTV DVB-T Plus
-
-pci:v000014F1d00008802sv00005654sd00002388*
- ID_PRODUCT_FROM_DATABASE=GoTView PCI Hybrid TS Capture Device
-
-pci:v000014F1d00008802sv00007063sd00003000*
- ID_PRODUCT_FROM_DATABASE=pcHDTV HD3000 HDTV
-
-pci:v000014F1d00008802sv00007063sd00005500*
- ID_PRODUCT_FROM_DATABASE=pcHDTV HD-5500
-
-pci:v000014F1d00008804*
- ID_PRODUCT_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port]
-
-pci:v000014F1d00008804sv00000070sd00006902*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-4000-HD
-
-pci:v000014F1d00008804sv00000070sd00009002*
- ID_PRODUCT_FROM_DATABASE=Nova-T DVB-T Model 909
-
-pci:v000014F1d00008804sv00000070sd00009402*
- ID_PRODUCT_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid
-
-pci:v000014F1d00008804sv00007063sd00005500*
- ID_PRODUCT_FROM_DATABASE=pcHDTV HD-5500
-
-pci:v000014F1d00008811*
- ID_PRODUCT_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port]
-
-pci:v000014F1d00008811sv00000070sd00003401*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV 34xxx models
-
-pci:v000014F1d00008811sv00000070sd00006902*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-4000-HD
-
-pci:v000014F1d00008811sv00000070sd00009402*
- ID_PRODUCT_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid
-
-pci:v000014F1d00008811sv00000070sd00009600*
- ID_PRODUCT_FROM_DATABASE=WinTV 88x Audio
-
-pci:v000014F1d00008811sv00001462sd00008606*
- ID_PRODUCT_FROM_DATABASE=MSI TV-@nywhere Master
-
-pci:v000014F1d00008811sv000018ACsd0000D500*
- ID_PRODUCT_FROM_DATABASE=DViCO FusionHDTV5 Gold
-
-pci:v000014F1d00008811sv000018ACsd0000D810*
- ID_PRODUCT_FROM_DATABASE=DViCO FusionHDTV3 Gold-Q
-
-pci:v000014F1d00008811sv000018ACsd0000D820*
- ID_PRODUCT_FROM_DATABASE=DViCO FusionHDTV3 Gold-T
-
-pci:v000014F1d00008811sv000018ACsd0000DB00*
- ID_PRODUCT_FROM_DATABASE=DVICO FusionHDTV DVB-T1
-
-pci:v000014F1d00008811sv00005654sd00002388*
- ID_PRODUCT_FROM_DATABASE=GoTView PCI Hybrid Audio Capture Device
-
-pci:v000014F1d00008852*
- ID_PRODUCT_FROM_DATABASE=CX23885 PCI Video and Audio Decoder
-
-pci:v000014F1d00008852sv00000070sd00008010*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV HVR-1400 ExpressCard
-
-pci:v000014F1d00008852sv00001461sd0000C039*
- ID_PRODUCT_FROM_DATABASE=AVerTV Hybrid Express (A577)
-
-pci:v000014F1d00008852sv0000153Bsd0000117E*
- ID_PRODUCT_FROM_DATABASE=Cinergy T PCIe Dual
-
-pci:v000014F1d00008852sv000018ACsd0000DB78*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV DVB-T Dual Express
-
-pci:v000014F1d00008880*
- ID_PRODUCT_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb
-
-pci:v000014F1d00008880sv00000070sd0000C108*
- ID_PRODUCT_FROM_DATABASE=WinTV-HVR-4400-HD model 1278
-
-pci:v000014F1d00008880sv00005654sd00002389*
- ID_PRODUCT_FROM_DATABASE=GoTView X5 DVD Hybrid PCI-E
-
-pci:v000014F1d00008880sv00005654sd00002390*
- ID_PRODUCT_FROM_DATABASE=GoTView X5 3D HYBRID PCI-E
-
-pci:v000014F2*
- ID_VENDOR_FROM_DATABASE=MOBILITY Electronics
-
-pci:v000014F2d00000120*
- ID_PRODUCT_FROM_DATABASE=EV1000 bridge
-
-pci:v000014F2d00000121*
- ID_PRODUCT_FROM_DATABASE=EV1000 Parallel port
-
-pci:v000014F2d00000122*
- ID_PRODUCT_FROM_DATABASE=EV1000 Serial port
-
-pci:v000014F2d00000123*
- ID_PRODUCT_FROM_DATABASE=EV1000 Keyboard controller
-
-pci:v000014F2d00000124*
- ID_PRODUCT_FROM_DATABASE=EV1000 Mouse controller
-
-pci:v000014F3*
- ID_VENDOR_FROM_DATABASE=BroadLogic
-
-pci:v000014F3d00002030*
- ID_PRODUCT_FROM_DATABASE=2030 DVB-S Satellite Receiver
-
-pci:v000014F3d00002035*
- ID_PRODUCT_FROM_DATABASE=2035 DVB-S Satellite Receiver
-
-pci:v000014F3d00002050*
- ID_PRODUCT_FROM_DATABASE=2050 DVB-T Terrestrial (Cable) Receiver
-
-pci:v000014F3d00002060*
- ID_PRODUCT_FROM_DATABASE=2060 ATSC Terrestrial (Cable) Receiver
-
-pci:v000014F4*
- ID_VENDOR_FROM_DATABASE=TOKYO Electronic Industry CO Ltd
-
-pci:v000014F5*
- ID_VENDOR_FROM_DATABASE=SOPAC Ltd
-
-pci:v000014F6*
- ID_VENDOR_FROM_DATABASE=COYOTE Technologies LLC
-
-pci:v000014F7*
- ID_VENDOR_FROM_DATABASE=WOLF Technology Inc
-
-pci:v000014F8*
- ID_VENDOR_FROM_DATABASE=AUDIOCODES Inc
-
-pci:v000014F8d00002077*
- ID_PRODUCT_FROM_DATABASE=TP-240 dual span E1 VoIP PCI card
-
-pci:v000014F9*
- ID_VENDOR_FROM_DATABASE=AG COMMUNICATIONS
-
-pci:v000014FA*
- ID_VENDOR_FROM_DATABASE=WANDEL & GOLTERMANN
-
-pci:v000014FB*
- ID_VENDOR_FROM_DATABASE=TRANSAS MARINE (UK) Ltd
-
-pci:v000014FC*
- ID_VENDOR_FROM_DATABASE=Quadrics Ltd
-
-pci:v000014FCd00000000*
- ID_PRODUCT_FROM_DATABASE=QsNet Elan3 Network Adapter
-
-pci:v000014FCd00000001*
- ID_PRODUCT_FROM_DATABASE=QsNetII Elan4 Network Adapter
-
-pci:v000014FCd00000002*
- ID_PRODUCT_FROM_DATABASE=QsNetIII Elan5 Network Adapter
-
-pci:v000014FD*
- ID_VENDOR_FROM_DATABASE=JAPAN Computer Industry Inc
-
-pci:v000014FE*
- ID_VENDOR_FROM_DATABASE=ARCHTEK TELECOM Corp
-
-pci:v000014FF*
- ID_VENDOR_FROM_DATABASE=TWINHEAD INTERNATIONAL Corp
-
-pci:v00001500*
- ID_VENDOR_FROM_DATABASE=DELTA Electronics, Inc
-
-pci:v00001500d00001360*
- ID_PRODUCT_FROM_DATABASE=RTL81xx RealTek Ethernet
-
-pci:v00001501*
- ID_VENDOR_FROM_DATABASE=BANKSOFT CANADA Ltd
-
-pci:v00001502*
- ID_VENDOR_FROM_DATABASE=MITSUBISHI ELECTRIC LOGISTICS SUPPORT Co Ltd
-
-pci:v00001503*
- ID_VENDOR_FROM_DATABASE=KAWASAKI LSI USA Inc
-
-pci:v00001504*
- ID_VENDOR_FROM_DATABASE=KAISER Electronics
-
-pci:v00001505*
- ID_VENDOR_FROM_DATABASE=ITA INGENIEURBURO FUR TESTAUFGABEN GmbH
-
-pci:v00001506*
- ID_VENDOR_FROM_DATABASE=CHAMELEON Systems Inc
-
-pci:v00001507*
- ID_VENDOR_FROM_DATABASE=Motorola ?? / HTEC
-
-pci:v00001507d00000001*
- ID_PRODUCT_FROM_DATABASE=MPC105 [Eagle]
-
-pci:v00001507d00000002*
- ID_PRODUCT_FROM_DATABASE=MPC106 [Grackle]
-
-pci:v00001507d00000003*
- ID_PRODUCT_FROM_DATABASE=MPC8240 [Kahlua]
-
-pci:v00001507d00000100*
- ID_PRODUCT_FROM_DATABASE=MC145575 [HFC-PCI]
-
-pci:v00001507d00000431*
- ID_PRODUCT_FROM_DATABASE=KTI829c 100VG
-
-pci:v00001507d00004801*
- ID_PRODUCT_FROM_DATABASE=Raven
-
-pci:v00001507d00004802*
- ID_PRODUCT_FROM_DATABASE=Falcon
-
-pci:v00001507d00004803*
- ID_PRODUCT_FROM_DATABASE=Hawk
-
-pci:v00001507d00004806*
- ID_PRODUCT_FROM_DATABASE=CPX8216
-
-pci:v00001508*
- ID_VENDOR_FROM_DATABASE=HONDA CONNECTORS/MHOTRONICS Inc
-
-pci:v00001509*
- ID_VENDOR_FROM_DATABASE=FIRST INTERNATIONAL Computer Inc
-
-pci:v0000150A*
- ID_VENDOR_FROM_DATABASE=FORVUS RESEARCH Inc
-
-pci:v0000150B*
- ID_VENDOR_FROM_DATABASE=YAMASHITA Systems Corp
-
-pci:v0000150C*
- ID_VENDOR_FROM_DATABASE=KYOPAL CO Ltd
-
-pci:v0000150D*
- ID_VENDOR_FROM_DATABASE=WARPSPPED Inc
-
-pci:v0000150E*
- ID_VENDOR_FROM_DATABASE=C-PORT Corp
-
-pci:v0000150F*
- ID_VENDOR_FROM_DATABASE=INTEC GmbH
-
-pci:v00001510*
- ID_VENDOR_FROM_DATABASE=BEHAVIOR TECH Computer Corp
-
-pci:v00001511*
- ID_VENDOR_FROM_DATABASE=CENTILLIUM Technology Corp
-
-pci:v00001512*
- ID_VENDOR_FROM_DATABASE=ROSUN Technologies Inc
-
-pci:v00001513*
- ID_VENDOR_FROM_DATABASE=Raychem
-
-pci:v00001514*
- ID_VENDOR_FROM_DATABASE=TFL LAN Inc
-
-pci:v00001515*
- ID_VENDOR_FROM_DATABASE=Advent design
-
-pci:v00001516*
- ID_VENDOR_FROM_DATABASE=MYSON Technology Inc
-
-pci:v00001516d00000800*
- ID_PRODUCT_FROM_DATABASE=MTD-8xx 100/10M Ethernet PCI Adapter
-
-pci:v00001516d00000803*
- ID_PRODUCT_FROM_DATABASE=SURECOM EP-320X-S 100/10M Ethernet PCI Adapter
-
-pci:v00001516d00000803sv00001320sd000010BD*
- ID_PRODUCT_FROM_DATABASE=SURECOM EP-320X-S 100/10M Ethernet PCI Adapter
-
-pci:v00001516d00000891*
- ID_PRODUCT_FROM_DATABASE=MTD-8xx 100/10M Ethernet PCI Adapter
-
-pci:v00001517*
- ID_VENDOR_FROM_DATABASE=ECHOTEK Corp
-
-pci:v00001518*
- ID_VENDOR_FROM_DATABASE=Kontron Modular Computers GmbH
-
-pci:v00001519*
- ID_VENDOR_FROM_DATABASE=TELEFON AKTIEBOLAGET LM Ericsson
-
-pci:v0000151A*
- ID_VENDOR_FROM_DATABASE=Globetek
-
-pci:v0000151Ad00001002*
- ID_PRODUCT_FROM_DATABASE=PCI-1002
-
-pci:v0000151Ad00001004*
- ID_PRODUCT_FROM_DATABASE=PCI-1004
-
-pci:v0000151Ad00001008*
- ID_PRODUCT_FROM_DATABASE=PCI-1008
-
-pci:v0000151B*
- ID_VENDOR_FROM_DATABASE=COMBOX Ltd
-
-pci:v0000151C*
- ID_VENDOR_FROM_DATABASE=DIGITAL AUDIO LABS Inc
-
-pci:v0000151Cd00000003*
- ID_PRODUCT_FROM_DATABASE=Prodif T 2496
-
-pci:v0000151Cd00004000*
- ID_PRODUCT_FROM_DATABASE=Prodif 88
-
-pci:v0000151D*
- ID_VENDOR_FROM_DATABASE=Fujitsu Computer Products Of America
-
-pci:v0000151E*
- ID_VENDOR_FROM_DATABASE=MATRIX Corp
-
-pci:v0000151F*
- ID_VENDOR_FROM_DATABASE=TOPIC SEMICONDUCTOR Corp
-
-pci:v0000151Fd00000000*
- ID_PRODUCT_FROM_DATABASE=TP560 Data/Fax/Voice 56k modem
-
-pci:v00001520*
- ID_VENDOR_FROM_DATABASE=CHAPLET System Inc
-
-pci:v00001521*
- ID_VENDOR_FROM_DATABASE=BELL Corp
-
-pci:v00001522*
- ID_VENDOR_FROM_DATABASE=MainPine Ltd
-
-pci:v00001522d00000100*
- ID_PRODUCT_FROM_DATABASE=PCI <-> IOBus Bridge
-
-pci:v00001522d00000100sv00001522sd00000200*
- ID_PRODUCT_FROM_DATABASE=RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem
-
-pci:v00001522d00000100sv00001522sd00000300*
- ID_PRODUCT_FROM_DATABASE=RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem
-
-pci:v00001522d00000100sv00001522sd00000400*
- ID_PRODUCT_FROM_DATABASE=RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem
-
-pci:v00001522d00000100sv00001522sd00000500*
- ID_PRODUCT_FROM_DATABASE=RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem
-
-pci:v00001522d00000100sv00001522sd00000600*
- ID_PRODUCT_FROM_DATABASE=RockForce+ 2 Port V.90 Data/Fax/Voice Modem
-
-pci:v00001522d00000100sv00001522sd00000700*
- ID_PRODUCT_FROM_DATABASE=RockForce+ 4 Port V.90 Data/Fax/Voice Modem
-
-pci:v00001522d00000100sv00001522sd00000800*
- ID_PRODUCT_FROM_DATABASE=RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem
-
-pci:v00001522d00000100sv00001522sd00000C00*
- ID_PRODUCT_FROM_DATABASE=RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem
-
-pci:v00001522d00000100sv00001522sd00000D00*
- ID_PRODUCT_FROM_DATABASE=RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem
-
-pci:v00001522d00000100sv00001522sd00001D00*
- ID_PRODUCT_FROM_DATABASE=RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem
-
-pci:v00001522d00000100sv00001522sd00002000*
- ID_PRODUCT_FROM_DATABASE=RockForceD1 1 Port V.90 Data Modem
-
-pci:v00001522d00000100sv00001522sd00002100*
- ID_PRODUCT_FROM_DATABASE=RockForceF1 1 Port V.34 Super-G3 Fax Modem
-
-pci:v00001522d00000100sv00001522sd00002200*
- ID_PRODUCT_FROM_DATABASE=RockForceD2 2 Port V.90 Data Modem
-
-pci:v00001522d00000100sv00001522sd00002300*
- ID_PRODUCT_FROM_DATABASE=RockForceF2 2 Port V.34 Super-G3 Fax Modem
-
-pci:v00001522d00000100sv00001522sd00002400*
- ID_PRODUCT_FROM_DATABASE=RockForceD4 4 Port V.90 Data Modem
-
-pci:v00001522d00000100sv00001522sd00002500*
- ID_PRODUCT_FROM_DATABASE=RockForceF4 4 Port V.34 Super-G3 Fax Modem
-
-pci:v00001522d00000100sv00001522sd00002600*
- ID_PRODUCT_FROM_DATABASE=RockForceD8 8 Port V.90 Data Modem
-
-pci:v00001522d00000100sv00001522sd00002700*
- ID_PRODUCT_FROM_DATABASE=RockForceF8 8 Port V.34 Super-G3 Fax Modem
-
-pci:v00001522d00000100sv00001522sd00003000*
- ID_PRODUCT_FROM_DATABASE=IQ Express D1 - 1 Port V.92 Data Modem
-
-pci:v00001522d00000100sv00001522sd00003100*
- ID_PRODUCT_FROM_DATABASE=IQ Express F1 - 1 Port V.34 Super-G3 Fax Modem
-
-pci:v00001522d00000100sv00001522sd00003200*
- ID_PRODUCT_FROM_DATABASE=IQ Express D2 - 2 Port V.92 Data Modem
-
-pci:v00001522d00000100sv00001522sd00003300*
- ID_PRODUCT_FROM_DATABASE=IQ Express F2 - 2 Port V.34 Super-G3 Fax Modem
-
-pci:v00001522d00000100sv00001522sd00003400*
- ID_PRODUCT_FROM_DATABASE=IQ Express D4 - 4 Port V.92 Data Modem
-
-pci:v00001522d00000100sv00001522sd00003500*
- ID_PRODUCT_FROM_DATABASE=IQ Express F4 - 4 Port V.34 Super-G3 Fax Modem
-
-pci:v00001522d00000100sv00001522sd00003C00*
- ID_PRODUCT_FROM_DATABASE=IQ Express D8 - 8 Port V.92 Data Modem
-
-pci:v00001522d00000100sv00001522sd00003D00*
- ID_PRODUCT_FROM_DATABASE=IQ Express F8 - 8 Port V.34 Super-G3 Fax Modem
-
-pci:v00001522d00004000*
- ID_PRODUCT_FROM_DATABASE=PCI Express UART
-
-pci:v00001522d00004000sv00001522sd00004001*
- ID_PRODUCT_FROM_DATABASE=IQ Express 1-port V.34 Super-G3 Fax
-
-pci:v00001522d00004000sv00001522sd00004002*
- ID_PRODUCT_FROM_DATABASE=IQ Express 2-port V.34 Super-G3 Fax
-
-pci:v00001522d00004000sv00001522sd00004004*
- ID_PRODUCT_FROM_DATABASE=IQ Express 4-port V.34 Super-G3 Fax
-
-pci:v00001522d00004000sv00001522sd00004008*
- ID_PRODUCT_FROM_DATABASE=IQ Express 8-port V.34 Super-G3 Fax
-
-pci:v00001522d00004000sv00001522sd00004100*
- ID_PRODUCT_FROM_DATABASE=IQ Express SideBand
-
-pci:v00001523*
- ID_VENDOR_FROM_DATABASE=MUSIC Semiconductors
-
-pci:v00001524*
- ID_VENDOR_FROM_DATABASE=ENE Technology Inc
-
-pci:v00001524d00000510*
- ID_PRODUCT_FROM_DATABASE=CB710 Memory Card Reader Controller
-
-pci:v00001524d00000510sv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=NX9500
-
-pci:v00001524d00000520*
- ID_PRODUCT_FROM_DATABASE=FLASH memory: ENE Technology Inc:
-
-pci:v00001524d00000530*
- ID_PRODUCT_FROM_DATABASE=ENE PCI Memory Stick Card Reader Controller
-
-pci:v00001524d00000550*
- ID_PRODUCT_FROM_DATABASE=ENE PCI Secure Digital Card Reader Controller
-
-pci:v00001524d00000551*
- ID_PRODUCT_FROM_DATABASE=SD/MMC Card Reader Controller
-
-pci:v00001524d00000610*
- ID_PRODUCT_FROM_DATABASE=PCI Smart Card Reader Controller
-
-pci:v00001524d00000720*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Card Reader Controller
-
-pci:v00001524d00000730*
- ID_PRODUCT_FROM_DATABASE=ENE PCI Memory Stick Card Reader Controller
-
-pci:v00001524d00000750*
- ID_PRODUCT_FROM_DATABASE=ENE PCI SmartMedia / xD Card Reader Controller
-
-pci:v00001524d00000751*
- ID_PRODUCT_FROM_DATABASE=ENE PCI Secure Digital / MMC Card Reader Controller
-
-pci:v00001524d00001211*
- ID_PRODUCT_FROM_DATABASE=CB1211 Cardbus Controller
-
-pci:v00001524d00001225*
- ID_PRODUCT_FROM_DATABASE=CB1225 Cardbus Controller
-
-pci:v00001524d00001410*
- ID_PRODUCT_FROM_DATABASE=CB1410 Cardbus Controller
-
-pci:v00001524d00001410sv00001025sd0000003C*
- ID_PRODUCT_FROM_DATABASE=CL50 motherboard
-
-pci:v00001524d00001410sv00001025sd0000005A*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290
-
-pci:v00001524d00001411*
- ID_PRODUCT_FROM_DATABASE=CB-710/2/4 Cardbus Controller
-
-pci:v00001524d00001411sv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=NX9500
-
-pci:v00001524d00001412*
- ID_PRODUCT_FROM_DATABASE=CB-712/4 Cardbus Controller
-
-pci:v00001524d00001420*
- ID_PRODUCT_FROM_DATABASE=CB1420 Cardbus Controller
-
-pci:v00001524d00001421*
- ID_PRODUCT_FROM_DATABASE=CB-720/2/4 Cardbus Controller
-
-pci:v00001524d00001422*
- ID_PRODUCT_FROM_DATABASE=CB-722/4 Cardbus Controller
-
-pci:v00001525*
- ID_VENDOR_FROM_DATABASE=IMPACT Technologies
-
-pci:v00001526*
- ID_VENDOR_FROM_DATABASE=ISS, Inc
-
-pci:v00001527*
- ID_VENDOR_FROM_DATABASE=SOLECTRON
-
-pci:v00001528*
- ID_VENDOR_FROM_DATABASE=ACKSYS
-
-pci:v00001529*
- ID_VENDOR_FROM_DATABASE=AMERICAN MICROSystems Inc
-
-pci:v0000152A*
- ID_VENDOR_FROM_DATABASE=QUICKTURN DESIGN Systems
-
-pci:v0000152B*
- ID_VENDOR_FROM_DATABASE=FLYTECH Technology CO Ltd
-
-pci:v0000152C*
- ID_VENDOR_FROM_DATABASE=MACRAIGOR Systems LLC
-
-pci:v0000152D*
- ID_VENDOR_FROM_DATABASE=QUANTA Computer Inc
-
-pci:v0000152E*
- ID_VENDOR_FROM_DATABASE=MELEC Inc
-
-pci:v0000152F*
- ID_VENDOR_FROM_DATABASE=PHILIPS - CRYPTO
-
-pci:v00001530*
- ID_VENDOR_FROM_DATABASE=ACQIS Technology Inc
-
-pci:v00001531*
- ID_VENDOR_FROM_DATABASE=CHRYON Corp
-
-pci:v00001532*
- ID_VENDOR_FROM_DATABASE=ECHELON Corp
-
-pci:v00001532d00000020*
- ID_PRODUCT_FROM_DATABASE=LonWorks PCLTA-20 PCI LonTalk Adapter
-
-pci:v00001533*
- ID_VENDOR_FROM_DATABASE=BALTIMORE
-
-pci:v00001534*
- ID_VENDOR_FROM_DATABASE=ROAD Corp
-
-pci:v00001535*
- ID_VENDOR_FROM_DATABASE=EVERGREEN Technologies Inc
-
-pci:v00001536*
- ID_VENDOR_FROM_DATABASE=ACTIS Computer
-
-pci:v00001537*
- ID_VENDOR_FROM_DATABASE=DATALEX COMMUNCATIONS
-
-pci:v00001538*
- ID_VENDOR_FROM_DATABASE=ARALION Inc
-
-pci:v00001538d00000303*
- ID_PRODUCT_FROM_DATABASE=ARS106S Ultra ATA 133/100/66 Host Controller
-
-pci:v00001539*
- ID_VENDOR_FROM_DATABASE=ATELIER INFORMATIQUES et ELECTRONIQUE ETUDES S.A.
-
-pci:v0000153A*
- ID_VENDOR_FROM_DATABASE=ONO SOKKI
-
-pci:v0000153B*
- ID_VENDOR_FROM_DATABASE=TERRATEC Electronic GmbH
-
-pci:v0000153Bd00001144*
- ID_PRODUCT_FROM_DATABASE=Aureon 5.1
-
-pci:v0000153Bd00001147*
- ID_PRODUCT_FROM_DATABASE=Aureon 5.1 Sky
-
-pci:v0000153Bd00001158*
- ID_PRODUCT_FROM_DATABASE=Philips Semiconductors SAA7134 (rev 01) [Terratec Cinergy 600 TV]
-
-pci:v0000153C*
- ID_VENDOR_FROM_DATABASE=ANTAL Electronic
-
-pci:v0000153D*
- ID_VENDOR_FROM_DATABASE=FILANET Corp
-
-pci:v0000153E*
- ID_VENDOR_FROM_DATABASE=TECHWELL Inc
-
-pci:v0000153F*
- ID_VENDOR_FROM_DATABASE=MIPS Technologies, Inc.
-
-pci:v0000153Fd00000001*
- ID_PRODUCT_FROM_DATABASE=SOC-it 101 System Controller
-
-pci:v00001540*
- ID_VENDOR_FROM_DATABASE=PROVIDEO MULTIMEDIA Co Ltd
-
-pci:v00001541*
- ID_VENDOR_FROM_DATABASE=MACHONE Communications
-
-pci:v00001542*
- ID_VENDOR_FROM_DATABASE=Concurrent Computer Corporation
-
-pci:v00001542d00009260*
- ID_PRODUCT_FROM_DATABASE=RCIM-II Real-Time Clock & Interrupt Module
-
-pci:v00001543*
- ID_VENDOR_FROM_DATABASE=SILICON Laboratories
-
-pci:v00001543d00003052*
- ID_PRODUCT_FROM_DATABASE=Intel 537 [Winmodem]
-
-pci:v00001543d00003155*
- ID_PRODUCT_FROM_DATABASE=Motorola SM56 Speakerphone Modem
-
-pci:v00001543d00004C22*
- ID_PRODUCT_FROM_DATABASE=Si3036 MC'97 DAA
-
-pci:v00001544*
- ID_VENDOR_FROM_DATABASE=DCM DATA Systems
-
-pci:v00001545*
- ID_VENDOR_FROM_DATABASE=VISIONTEK
-
-pci:v00001546*
- ID_VENDOR_FROM_DATABASE=IOI Technology Corp
-
-pci:v00001547*
- ID_VENDOR_FROM_DATABASE=MITUTOYO Corp
-
-pci:v00001548*
- ID_VENDOR_FROM_DATABASE=JET PROPULSION Laboratory
-
-pci:v00001549*
- ID_VENDOR_FROM_DATABASE=INTERCONNECT Systems Solutions
-
-pci:v0000154A*
- ID_VENDOR_FROM_DATABASE=MAX Technologies Inc
-
-pci:v0000154B*
- ID_VENDOR_FROM_DATABASE=COMPUTEX Co Ltd
-
-pci:v0000154C*
- ID_VENDOR_FROM_DATABASE=VISUAL Technology Inc
-
-pci:v0000154D*
- ID_VENDOR_FROM_DATABASE=PAN INTERNATIONAL Industrial Corp
-
-pci:v0000154E*
- ID_VENDOR_FROM_DATABASE=SERVOTEST Ltd
-
-pci:v0000154F*
- ID_VENDOR_FROM_DATABASE=STRATABEAM Technology
-
-pci:v00001550*
- ID_VENDOR_FROM_DATABASE=OPEN NETWORK Co Ltd
-
-pci:v00001551*
- ID_VENDOR_FROM_DATABASE=SMART Electronic DEVELOPMENT GmBH
-
-pci:v00001552*
- ID_VENDOR_FROM_DATABASE=RACAL AIRTECH Ltd
-
-pci:v00001553*
- ID_VENDOR_FROM_DATABASE=CHICONY Electronics Co Ltd
-
-pci:v00001554*
- ID_VENDOR_FROM_DATABASE=PROLINK Microsystems Corp
-
-pci:v00001555*
- ID_VENDOR_FROM_DATABASE=GESYTEC GmBH
-
-pci:v00001556*
- ID_VENDOR_FROM_DATABASE=PLD APPLICATIONS
-
-pci:v00001557*
- ID_VENDOR_FROM_DATABASE=MEDIASTAR Co Ltd
-
-pci:v00001558*
- ID_VENDOR_FROM_DATABASE=CLEVO/KAPOK Computer
-
-pci:v00001559*
- ID_VENDOR_FROM_DATABASE=SI LOGIC Ltd
-
-pci:v0000155A*
- ID_VENDOR_FROM_DATABASE=INNOMEDIA Inc
-
-pci:v0000155B*
- ID_VENDOR_FROM_DATABASE=PROTAC INTERNATIONAL Corp
-
-pci:v0000155C*
- ID_VENDOR_FROM_DATABASE=Cemax-Icon Inc
-
-pci:v0000155D*
- ID_VENDOR_FROM_DATABASE=Mac System Co Ltd
-
-pci:v0000155E*
- ID_VENDOR_FROM_DATABASE=LP Elektronik GmbH
-
-pci:v0000155F*
- ID_VENDOR_FROM_DATABASE=Perle Systems Ltd
-
-pci:v00001560*
- ID_VENDOR_FROM_DATABASE=Terayon Communications Systems
-
-pci:v00001561*
- ID_VENDOR_FROM_DATABASE=Viewgraphics Inc
-
-pci:v00001562*
- ID_VENDOR_FROM_DATABASE=Symbol Technologies
-
-pci:v00001563*
- ID_VENDOR_FROM_DATABASE=A-Trend Technology Co Ltd
-
-pci:v00001564*
- ID_VENDOR_FROM_DATABASE=Yamakatsu Electronics Industry Co Ltd
-
-pci:v00001565*
- ID_VENDOR_FROM_DATABASE=Biostar Microtech Int'l Corp
-
-pci:v00001566*
- ID_VENDOR_FROM_DATABASE=Ardent Technologies Inc
-
-pci:v00001567*
- ID_VENDOR_FROM_DATABASE=Jungsoft
-
-pci:v00001568*
- ID_VENDOR_FROM_DATABASE=DDK Electronics Inc
-
-pci:v00001569*
- ID_VENDOR_FROM_DATABASE=Palit Microsystems Inc.
-
-pci:v0000156A*
- ID_VENDOR_FROM_DATABASE=Avtec Systems
-
-pci:v0000156B*
- ID_VENDOR_FROM_DATABASE=2wire Inc
-
-pci:v0000156C*
- ID_VENDOR_FROM_DATABASE=Vidac Electronics GmbH
-
-pci:v0000156D*
- ID_VENDOR_FROM_DATABASE=Alpha-Top Corp
-
-pci:v0000156E*
- ID_VENDOR_FROM_DATABASE=Alfa Inc
-
-pci:v0000156F*
- ID_VENDOR_FROM_DATABASE=M-Systems Flash Disk Pioneers Ltd
-
-pci:v00001570*
- ID_VENDOR_FROM_DATABASE=Lecroy Corp
-
-pci:v00001571*
- ID_VENDOR_FROM_DATABASE=Contemporary Controls
-
-pci:v00001571d0000A001*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI20-485 ARCnet
-
-pci:v00001571d0000A002*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI20-485D ARCnet
-
-pci:v00001571d0000A003*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI20-485X ARCnet
-
-pci:v00001571d0000A004*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI20-CXB ARCnet
-
-pci:v00001571d0000A005*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI20-CXS ARCnet
-
-pci:v00001571d0000A006*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI20-FOG-SMA ARCnet
-
-pci:v00001571d0000A007*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI20-FOG-ST ARCnet
-
-pci:v00001571d0000A008*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI20-TB5 ARCnet
-
-pci:v00001571d0000A009*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI20-5-485 5Mbit ARCnet
-
-pci:v00001571d0000A00A*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI20-5-485D 5Mbit ARCnet
-
-pci:v00001571d0000A00B*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI20-5-485X 5Mbit ARCnet
-
-pci:v00001571d0000A00C*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI20-5-FOG-ST 5Mbit ARCnet
-
-pci:v00001571d0000A00D*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI20-5-FOG-SMA 5Mbit ARCnet
-
-pci:v00001571d0000A201*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI22-485 10Mbit ARCnet
-
-pci:v00001571d0000A202*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI22-485D 10Mbit ARCnet
-
-pci:v00001571d0000A203*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI22-485X 10Mbit ARCnet
-
-pci:v00001571d0000A204*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI22-CHB 10Mbit ARCnet
-
-pci:v00001571d0000A205*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI22-FOG_ST 10Mbit ARCnet
-
-pci:v00001571d0000A206*
- ID_PRODUCT_FROM_DATABASE=CCSI PCI22-THB 10Mbit ARCnet
-
-pci:v00001572*
- ID_VENDOR_FROM_DATABASE=Otis Elevator Company
-
-pci:v00001573*
- ID_VENDOR_FROM_DATABASE=Lattice - Vantis
-
-pci:v00001574*
- ID_VENDOR_FROM_DATABASE=Fairchild Semiconductor
-
-pci:v00001575*
- ID_VENDOR_FROM_DATABASE=Voltaire Advanced Data Security Ltd
-
-pci:v00001576*
- ID_VENDOR_FROM_DATABASE=Viewcast COM
-
-pci:v00001578*
- ID_VENDOR_FROM_DATABASE=HITT
-
-pci:v00001578d00004D34*
- ID_PRODUCT_FROM_DATABASE=VPMK4 [Video Processor Mk IV]
-
-pci:v00001578d00005615*
- ID_PRODUCT_FROM_DATABASE=VPMK3 [Video Processor Mk III]
-
-pci:v00001579*
- ID_VENDOR_FROM_DATABASE=Dual Technology Corp
-
-pci:v0000157A*
- ID_VENDOR_FROM_DATABASE=Japan Elecronics Ind Inc
-
-pci:v0000157B*
- ID_VENDOR_FROM_DATABASE=Star Multimedia Corp
-
-pci:v0000157C*
- ID_VENDOR_FROM_DATABASE=Eurosoft (UK)
-
-pci:v0000157Cd00008001*
- ID_PRODUCT_FROM_DATABASE=Fix2000 PCI Y2K Compliance Card
-
-pci:v0000157D*
- ID_VENDOR_FROM_DATABASE=Gemflex Networks
-
-pci:v0000157E*
- ID_VENDOR_FROM_DATABASE=Transition Networks
-
-pci:v0000157F*
- ID_VENDOR_FROM_DATABASE=PX Instruments Technology Ltd
-
-pci:v00001580*
- ID_VENDOR_FROM_DATABASE=Primex Aerospace Co
-
-pci:v00001581*
- ID_VENDOR_FROM_DATABASE=SEH Computertechnik GmbH
-
-pci:v00001582*
- ID_VENDOR_FROM_DATABASE=Cytec Corp
-
-pci:v00001583*
- ID_VENDOR_FROM_DATABASE=Inet Technologies Inc
-
-pci:v00001584*
- ID_VENDOR_FROM_DATABASE=Uniwill Computer Corp
-
-pci:v00001585*
- ID_VENDOR_FROM_DATABASE=Logitron
-
-pci:v00001586*
- ID_VENDOR_FROM_DATABASE=Lancast Inc
-
-pci:v00001587*
- ID_VENDOR_FROM_DATABASE=Konica Corp
-
-pci:v00001588*
- ID_VENDOR_FROM_DATABASE=Solidum Systems Corp
-
-pci:v00001589*
- ID_VENDOR_FROM_DATABASE=Atlantek Microsystems Pty Ltd
-
-pci:v00001589d00000008*
- ID_PRODUCT_FROM_DATABASE=Leutron Vision PicPortExpress CL
-
-pci:v00001589d00000009*
- ID_PRODUCT_FROM_DATABASE=Leutron Vision PicPortExpress CL Stereo
-
-pci:v0000158A*
- ID_VENDOR_FROM_DATABASE=Digalog Systems Inc
-
-pci:v0000158B*
- ID_VENDOR_FROM_DATABASE=Allied Data Technologies
-
-pci:v0000158C*
- ID_VENDOR_FROM_DATABASE=Hitachi Semiconductor & Devices Sales Co Ltd
-
-pci:v0000158D*
- ID_VENDOR_FROM_DATABASE=Point Multimedia Systems
-
-pci:v0000158E*
- ID_VENDOR_FROM_DATABASE=Lara Technology Inc
-
-pci:v0000158F*
- ID_VENDOR_FROM_DATABASE=Ditect Coop
-
-pci:v00001590*
- ID_VENDOR_FROM_DATABASE=Hewlett-Packard Company
-
-pci:v00001590d00000001*
- ID_PRODUCT_FROM_DATABASE=Eagle Cluster Manager
-
-pci:v00001590d00000002*
- ID_PRODUCT_FROM_DATABASE=Osprey Cluster Manager
-
-pci:v00001590d00000003*
- ID_PRODUCT_FROM_DATABASE=Harrier Cluster Manager
-
-pci:v00001590d0000A01D*
- ID_PRODUCT_FROM_DATABASE=FC044X Fibre Channel HBA
-
-pci:v00001591*
- ID_VENDOR_FROM_DATABASE=ARN
-
-pci:v00001592*
- ID_VENDOR_FROM_DATABASE=Syba Tech Ltd
-
-pci:v00001592d00000781*
- ID_PRODUCT_FROM_DATABASE=Multi-IO Card
-
-pci:v00001592d00000782*
- ID_PRODUCT_FROM_DATABASE=Parallel Port Card 2xEPP
-
-pci:v00001592d00000783*
- ID_PRODUCT_FROM_DATABASE=Multi-IO Card
-
-pci:v00001592d00000785*
- ID_PRODUCT_FROM_DATABASE=Multi-IO Card
-
-pci:v00001592d00000786*
- ID_PRODUCT_FROM_DATABASE=Multi-IO Card
-
-pci:v00001592d00000787*
- ID_PRODUCT_FROM_DATABASE=Multi-IO Card
-
-pci:v00001592d00000788*
- ID_PRODUCT_FROM_DATABASE=Multi-IO Card
-
-pci:v00001592d0000078A*
- ID_PRODUCT_FROM_DATABASE=Multi-IO Card
-
-pci:v00001593*
- ID_VENDOR_FROM_DATABASE=Bops Inc
-
-pci:v00001594*
- ID_VENDOR_FROM_DATABASE=Netgame Ltd
-
-pci:v00001595*
- ID_VENDOR_FROM_DATABASE=Diva Systems Corp
-
-pci:v00001596*
- ID_VENDOR_FROM_DATABASE=Folsom Research Inc
-
-pci:v00001597*
- ID_VENDOR_FROM_DATABASE=Memec Design Services
-
-pci:v00001598*
- ID_VENDOR_FROM_DATABASE=Granite Microsystems
-
-pci:v00001599*
- ID_VENDOR_FROM_DATABASE=Delta Electronics Inc
-
-pci:v0000159A*
- ID_VENDOR_FROM_DATABASE=General Instrument
-
-pci:v0000159B*
- ID_VENDOR_FROM_DATABASE=Faraday Technology Corp
-
-pci:v0000159C*
- ID_VENDOR_FROM_DATABASE=Stratus Computer Systems
-
-pci:v0000159D*
- ID_VENDOR_FROM_DATABASE=Ningbo Harrison Electronics Co Ltd
-
-pci:v0000159E*
- ID_VENDOR_FROM_DATABASE=A-Max Technology Co Ltd
-
-pci:v0000159F*
- ID_VENDOR_FROM_DATABASE=Galea Network Security
-
-pci:v000015A0*
- ID_VENDOR_FROM_DATABASE=Compumaster SRL
-
-pci:v000015A1*
- ID_VENDOR_FROM_DATABASE=Geocast Network Systems
-
-pci:v000015A2*
- ID_VENDOR_FROM_DATABASE=Catalyst Enterprises Inc
-
-pci:v000015A2d00000001*
- ID_PRODUCT_FROM_DATABASE=TA700 PCI Bus Analyzer/Exerciser
-
-pci:v000015A3*
- ID_VENDOR_FROM_DATABASE=Italtel
-
-pci:v000015A4*
- ID_VENDOR_FROM_DATABASE=X-Net OY
-
-pci:v000015A5*
- ID_VENDOR_FROM_DATABASE=Toyota Macs Inc
-
-pci:v000015A6*
- ID_VENDOR_FROM_DATABASE=Sunlight Ultrasound Technologies Ltd
-
-pci:v000015A7*
- ID_VENDOR_FROM_DATABASE=SSE Telecom Inc
-
-pci:v000015A8*
- ID_VENDOR_FROM_DATABASE=Shanghai Communications Technologies Center
-
-pci:v000015AA*
- ID_VENDOR_FROM_DATABASE=Moreton Bay
-
-pci:v000015AB*
- ID_VENDOR_FROM_DATABASE=Bluesteel Networks Inc
-
-pci:v000015AC*
- ID_VENDOR_FROM_DATABASE=North Atlantic Instruments
-
-pci:v000015AD*
- ID_VENDOR_FROM_DATABASE=VMware
-
-pci:v000015ADd00000405*
- ID_PRODUCT_FROM_DATABASE=SVGA II Adapter
-
-pci:v000015ADd00000710*
- ID_PRODUCT_FROM_DATABASE=SVGA Adapter
-
-pci:v000015ADd00000720*
- ID_PRODUCT_FROM_DATABASE=VMXNET Ethernet Controller
-
-pci:v000015ADd00000740*
- ID_PRODUCT_FROM_DATABASE=Virtual Machine Communication Interface
-
-pci:v000015ADd00000770*
- ID_PRODUCT_FROM_DATABASE=USB2 EHCI Controller
-
-pci:v000015ADd00000774*
- ID_PRODUCT_FROM_DATABASE=USB1.1 UHCI Controller
-
-pci:v000015ADd00000790*
- ID_PRODUCT_FROM_DATABASE=PCI bridge
-
-pci:v000015ADd000007A0*
- ID_PRODUCT_FROM_DATABASE=PCI Express Root Port
-
-pci:v000015ADd000007B0*
- ID_PRODUCT_FROM_DATABASE=VMXNET3 Ethernet Controller
-
-pci:v000015ADd000007C0*
- ID_PRODUCT_FROM_DATABASE=PVSCSI SCSI Controller
-
-pci:v000015ADd00000801*
- ID_PRODUCT_FROM_DATABASE=Virtual Machine Interface
-
-pci:v000015ADd00000801sv000015ADsd00000800*
- ID_PRODUCT_FROM_DATABASE=Hypervisor ROM Interface
-
-pci:v000015ADd00001977*
- ID_PRODUCT_FROM_DATABASE=HD Audio Controller
-
-pci:v000015AE*
- ID_VENDOR_FROM_DATABASE=Amersham Pharmacia Biotech
-
-pci:v000015B0*
- ID_VENDOR_FROM_DATABASE=Zoltrix International Ltd
-
-pci:v000015B1*
- ID_VENDOR_FROM_DATABASE=Source Technology Inc
-
-pci:v000015B2*
- ID_VENDOR_FROM_DATABASE=Mosaid Technologies Inc
-
-pci:v000015B3*
- ID_VENDOR_FROM_DATABASE=Mellanox Technologies
-
-pci:v000015B3d00000191*
- ID_PRODUCT_FROM_DATABASE=MT25408 [ConnectX IB Flash Recovery]
-
-pci:v000015B3d000001F6*
- ID_PRODUCT_FROM_DATABASE=MT27500 Family [ConnectX-3 Flash Recovery]
-
-pci:v000015B3d000001FF*
- ID_PRODUCT_FROM_DATABASE=MT27600 Family [Connect-IB Flash Recovery]
-
-pci:v000015B3d00001002*
- ID_PRODUCT_FROM_DATABASE=MT25400 Family [ConnectX-2 Virtual Function]
-
-pci:v000015B3d00001003*
- ID_PRODUCT_FROM_DATABASE=MT27500 Family [ConnectX-3]
-
-pci:v000015B3d00001004*
- ID_PRODUCT_FROM_DATABASE=MT27500 Family [ConnectX-3 Virtual Function]
-
-pci:v000015B3d00001005*
- ID_PRODUCT_FROM_DATABASE=MT27510 Family
-
-pci:v000015B3d00001006*
- ID_PRODUCT_FROM_DATABASE=MT27511 Family
-
-pci:v000015B3d00001007*
- ID_PRODUCT_FROM_DATABASE=MT27520 Family
-
-pci:v000015B3d00001008*
- ID_PRODUCT_FROM_DATABASE=MT27521 Family
-
-pci:v000015B3d00001009*
- ID_PRODUCT_FROM_DATABASE=MT27530 Family
-
-pci:v000015B3d0000100A*
- ID_PRODUCT_FROM_DATABASE=MT27531 Family
-
-pci:v000015B3d0000100B*
- ID_PRODUCT_FROM_DATABASE=MT27540 Family
-
-pci:v000015B3d0000100C*
- ID_PRODUCT_FROM_DATABASE=MT27541 Family
-
-pci:v000015B3d0000100D*
- ID_PRODUCT_FROM_DATABASE=MT27550 Family
-
-pci:v000015B3d0000100E*
- ID_PRODUCT_FROM_DATABASE=MT27551 Family
-
-pci:v000015B3d0000100F*
- ID_PRODUCT_FROM_DATABASE=MT27560 Family
-
-pci:v000015B3d00001010*
- ID_PRODUCT_FROM_DATABASE=MT27561 Family
-
-pci:v000015B3d00001011*
- ID_PRODUCT_FROM_DATABASE=MT27600 [Connect-IB]
-
-pci:v000015B3d00001012*
- ID_PRODUCT_FROM_DATABASE=MT27600 Family [Connect-IB Virtual Function]
-
-pci:v000015B3d00001013*
- ID_PRODUCT_FROM_DATABASE=MT27620 Family
-
-pci:v000015B3d00001014*
- ID_PRODUCT_FROM_DATABASE=MT27621 Family
-
-pci:v000015B3d00001015*
- ID_PRODUCT_FROM_DATABASE=MT27630 Family
-
-pci:v000015B3d00001016*
- ID_PRODUCT_FROM_DATABASE=MT27631 Family
-
-pci:v000015B3d00005274*
- ID_PRODUCT_FROM_DATABASE=MT21108 InfiniBridge
-
-pci:v000015B3d00005A44*
- ID_PRODUCT_FROM_DATABASE=MT23108 InfiniHost
-
-pci:v000015B3d00005A45*
- ID_PRODUCT_FROM_DATABASE=MT23108 [Infinihost HCA Flash Recovery]
-
-pci:v000015B3d00005A46*
- ID_PRODUCT_FROM_DATABASE=MT23108 PCI Bridge
-
-pci:v000015B3d00005E8C*
- ID_PRODUCT_FROM_DATABASE=MT24204 [InfiniHost III Lx HCA]
-
-pci:v000015B3d00005E8D*
- ID_PRODUCT_FROM_DATABASE=MT25204 [InfiniHost III Lx HCA Flash Recovery]
-
-pci:v000015B3d00006274*
- ID_PRODUCT_FROM_DATABASE=MT25204 [InfiniHost III Lx HCA]
-
-pci:v000015B3d00006278*
- ID_PRODUCT_FROM_DATABASE=MT25208 InfiniHost III Ex (Tavor compatibility mode)
-
-pci:v000015B3d00006279*
- ID_PRODUCT_FROM_DATABASE=MT25208 [InfiniHost III Ex HCA Flash Recovery]
-
-pci:v000015B3d00006282*
- ID_PRODUCT_FROM_DATABASE=MT25208 [InfiniHost III Ex]
-
-pci:v000015B3d00006340*
- ID_PRODUCT_FROM_DATABASE=MT25408 [ConnectX VPI - IB SDR / 10GigE]
-
-pci:v000015B3d0000634A*
- ID_PRODUCT_FROM_DATABASE=MT25418 [ConnectX VPI PCIe 2.0 2.5GT/s - IB DDR / 10GigE]
-
-pci:v000015B3d00006368*
- ID_PRODUCT_FROM_DATABASE=MT25448 [ConnectX EN 10GigE, PCIe 2.0 2.5GT/s]
-
-pci:v000015B3d00006372*
- ID_PRODUCT_FROM_DATABASE=MT25408 [ConnectX EN 10GigE 10GBaseT, PCIe 2.0 2.5GT/s]
-
-pci:v000015B3d00006732*
- ID_PRODUCT_FROM_DATABASE=MT26418 [ConnectX VPI PCIe 2.0 5GT/s - IB DDR / 10GigE]
-
-pci:v000015B3d0000673C*
- ID_PRODUCT_FROM_DATABASE=MT26428 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE]
-
-pci:v000015B3d00006746*
- ID_PRODUCT_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+]
-
-pci:v000015B3d00006746sv0000103Csd00001781*
- ID_PRODUCT_FROM_DATABASE=NC543i 1-port 4x QDR IB/Flex-10 10Gb Adapter
-
-pci:v000015B3d00006746sv0000103Csd00003349*
- ID_PRODUCT_FROM_DATABASE=NC543i 2-port 4xQDR IB/10Gb Adapter
-
-pci:v000015B3d00006750*
- ID_PRODUCT_FROM_DATABASE=MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s]
-
-pci:v000015B3d0000675A*
- ID_PRODUCT_FROM_DATABASE=MT25408 [ConnectX EN 10GigE 10GBaseT, PCIe Gen2 5GT/s]
-
-pci:v000015B3d00006764*
- ID_PRODUCT_FROM_DATABASE=MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s Virtualization+]
-
-pci:v000015B3d00006764sv0000103Csd00003313*
- ID_PRODUCT_FROM_DATABASE=HP NC542m Dual Port Flex-10 10GbE BLc Adapter
-
-pci:v000015B3d0000676E*
- ID_PRODUCT_FROM_DATABASE=MT26478 [ConnectX EN 40GigE, PCIe 2.0 5GT/s]
-
-pci:v000015B3d00006778*
- ID_PRODUCT_FROM_DATABASE=MT26488 [ConnectX VPI PCIe 2.0 5GT/s - IB DDR / 10GigE Virtualization+]
-
-pci:v000015B4*
- ID_VENDOR_FROM_DATABASE=CCI/TRIAD
-
-pci:v000015B5*
- ID_VENDOR_FROM_DATABASE=Cimetrics Inc
-
-pci:v000015B6*
- ID_VENDOR_FROM_DATABASE=Texas Memory Systems Inc
-
-pci:v000015B6d00000001*
- ID_PRODUCT_FROM_DATABASE=XP15 DSP Accelerator
-
-pci:v000015B6d00000002*
- ID_PRODUCT_FROM_DATABASE=XP30 DSP Accelerator
-
-pci:v000015B6d00000003*
- ID_PRODUCT_FROM_DATABASE=XP00 Data Acquisition Device
-
-pci:v000015B6d00000004*
- ID_PRODUCT_FROM_DATABASE=XP35 DSP Accelerator
-
-pci:v000015B6d00000007*
- ID_PRODUCT_FROM_DATABASE=XP100 DSP Accelerator [XP100-T0]
-
-pci:v000015B6d00000008*
- ID_PRODUCT_FROM_DATABASE=XP100 DSP Accelerator [XP100-T1]
-
-pci:v000015B6d00000009*
- ID_PRODUCT_FROM_DATABASE=XP100 DSP Accelerator [XP100-E0]
-
-pci:v000015B6d0000000A*
- ID_PRODUCT_FROM_DATABASE=XP100 DSP Accelerator [XP100-E1]
-
-pci:v000015B6d0000000E*
- ID_PRODUCT_FROM_DATABASE=XP100 DSP Accelerator [XP100-0]
-
-pci:v000015B6d0000000F*
- ID_PRODUCT_FROM_DATABASE=XP100 DSP Accelerator [XP100-1]
-
-pci:v000015B6d00000010*
- ID_PRODUCT_FROM_DATABASE=XP100 DSP Accelerator [XP100-P0]
-
-pci:v000015B6d00000011*
- ID_PRODUCT_FROM_DATABASE=XP100 DSP Accelerator [XP100-P1]
-
-pci:v000015B6d00000012*
- ID_PRODUCT_FROM_DATABASE=XP100 DSP Accelerator [XP100-P2]
-
-pci:v000015B6d00000013*
- ID_PRODUCT_FROM_DATABASE=XP100 DSP Accelerator [XP100-P3]
-
-pci:v000015B6d00000014*
- ID_PRODUCT_FROM_DATABASE=RamSan Flash SSD
-
-pci:v000015B6d00000015*
- ID_PRODUCT_FROM_DATABASE=ZBox
-
-pci:v000015B7*
- ID_VENDOR_FROM_DATABASE=Sandisk Corp
-
-pci:v000015B8*
- ID_VENDOR_FROM_DATABASE=ADDI-DATA GmbH
-
-pci:v000015B8d00001001*
- ID_PRODUCT_FROM_DATABASE=APCI1516 SP controller (16 digi outputs)
-
-pci:v000015B8d00001003*
- ID_PRODUCT_FROM_DATABASE=APCI1032 SP controller (32 digi inputs w/ opto coupler)
-
-pci:v000015B8d00001004*
- ID_PRODUCT_FROM_DATABASE=APCI2032 SP controller (32 digi outputs)
-
-pci:v000015B8d00001005*
- ID_PRODUCT_FROM_DATABASE=APCI2200 SP controller (8/16 digi outputs (relay))
-
-pci:v000015B8d00001006*
- ID_PRODUCT_FROM_DATABASE=APCI1564 SP controller (32 digi ins, 32 digi outs)
-
-pci:v000015B8d0000100A*
- ID_PRODUCT_FROM_DATABASE=APCI1696 SP controller (96 TTL I/Os)
-
-pci:v000015B8d00003001*
- ID_PRODUCT_FROM_DATABASE=APCI3501 SP controller (analog output board)
-
-pci:v000015B8d0000300F*
- ID_PRODUCT_FROM_DATABASE=APCI3600 Noise and vibration measurement board
-
-pci:v000015B8d00007001*
- ID_PRODUCT_FROM_DATABASE=APCI7420 2-port Serial Controller
-
-pci:v000015B8d00007002*
- ID_PRODUCT_FROM_DATABASE=APCI7300 Serial Controller
-
-pci:v000015B9*
- ID_VENDOR_FROM_DATABASE=Maestro Digital Communications
-
-pci:v000015BA*
- ID_VENDOR_FROM_DATABASE=Impacct Technology Corp
-
-pci:v000015BB*
- ID_VENDOR_FROM_DATABASE=Portwell Inc
-
-pci:v000015BC*
- ID_VENDOR_FROM_DATABASE=Agilent Technologies
-
-pci:v000015BCd00000100*
- ID_PRODUCT_FROM_DATABASE=HPFC-5600 Tachyon DX2+ FC
-
-pci:v000015BCd00000103*
- ID_PRODUCT_FROM_DATABASE=QX4 PCI Express quad 4-gigabit Fibre Channel controller
-
-pci:v000015BCd00000105*
- ID_PRODUCT_FROM_DATABASE=Celerity FC-42XS Fibre Channel Adapter
-
-pci:v000015BCd00000105sv0000117Csd00000022*
- ID_PRODUCT_FROM_DATABASE=Celerity FC-42XS Fibre Channel Adapter
-
-pci:v000015BCd00001100*
- ID_PRODUCT_FROM_DATABASE=E8001-66442 PCI Express CIC
-
-pci:v000015BCd00002922*
- ID_PRODUCT_FROM_DATABASE=64 Bit, 133MHz PCI-X Exerciser & Protocol Checker
-
-pci:v000015BCd00002928*
- ID_PRODUCT_FROM_DATABASE=64 Bit, 66MHz PCI Exerciser & Analyzer
-
-pci:v000015BCd00002929*
- ID_PRODUCT_FROM_DATABASE=64 Bit, 133MHz PCI-X Analyzer & Exerciser
-
-pci:v000015BD*
- ID_VENDOR_FROM_DATABASE=DFI Inc
-
-pci:v000015BE*
- ID_VENDOR_FROM_DATABASE=Sola Electronics
-
-pci:v000015BF*
- ID_VENDOR_FROM_DATABASE=High Tech Computer Corp (HTC)
-
-pci:v000015C0*
- ID_VENDOR_FROM_DATABASE=BVM Ltd
-
-pci:v000015C1*
- ID_VENDOR_FROM_DATABASE=Quantel
-
-pci:v000015C2*
- ID_VENDOR_FROM_DATABASE=Newer Technology Inc
-
-pci:v000015C3*
- ID_VENDOR_FROM_DATABASE=Taiwan Mycomp Co Ltd
-
-pci:v000015C4*
- ID_VENDOR_FROM_DATABASE=EVSX Inc
-
-pci:v000015C5*
- ID_VENDOR_FROM_DATABASE=Procomp Informatics Ltd
-
-pci:v000015C5d00008010*
- ID_PRODUCT_FROM_DATABASE=1394b - 1394 Firewire 3-Port Host Adapter Card
-
-pci:v000015C6*
- ID_VENDOR_FROM_DATABASE=Technical University of Budapest
-
-pci:v000015C7*
- ID_VENDOR_FROM_DATABASE=Tateyama System Laboratory Co Ltd
-
-pci:v000015C7d00000349*
- ID_PRODUCT_FROM_DATABASE=Tateyama C-PCI PLC/NC card Rev.01A
-
-pci:v000015C8*
- ID_VENDOR_FROM_DATABASE=Penta Media Co Ltd
-
-pci:v000015C9*
- ID_VENDOR_FROM_DATABASE=Serome Technology Inc
-
-pci:v000015CA*
- ID_VENDOR_FROM_DATABASE=Bitboys OY
-
-pci:v000015CB*
- ID_VENDOR_FROM_DATABASE=AG Electronics Ltd
-
-pci:v000015CC*
- ID_VENDOR_FROM_DATABASE=Hotrail Inc
-
-pci:v000015CD*
- ID_VENDOR_FROM_DATABASE=Dreamtech Co Ltd
-
-pci:v000015CE*
- ID_VENDOR_FROM_DATABASE=Genrad Inc
-
-pci:v000015CF*
- ID_VENDOR_FROM_DATABASE=Hilscher GmbH
-
-pci:v000015D1*
- ID_VENDOR_FROM_DATABASE=Infineon Technologies AG
-
-pci:v000015D2*
- ID_VENDOR_FROM_DATABASE=FIC (First International Computer Inc)
-
-pci:v000015D3*
- ID_VENDOR_FROM_DATABASE=NDS Technologies Israel Ltd
-
-pci:v000015D4*
- ID_VENDOR_FROM_DATABASE=Iwill Corp
-
-pci:v000015D5*
- ID_VENDOR_FROM_DATABASE=Tatung Co
-
-pci:v000015D6*
- ID_VENDOR_FROM_DATABASE=Entridia Corp
-
-pci:v000015D7*
- ID_VENDOR_FROM_DATABASE=Rockwell-Collins Inc
-
-pci:v000015D8*
- ID_VENDOR_FROM_DATABASE=Cybernetics Technology Co Ltd
-
-pci:v000015D9*
- ID_VENDOR_FROM_DATABASE=Super Micro Computer Inc
-
-pci:v000015DA*
- ID_VENDOR_FROM_DATABASE=Cyberfirm Inc
-
-pci:v000015DB*
- ID_VENDOR_FROM_DATABASE=Applied Computing Systems Inc
-
-pci:v000015DC*
- ID_VENDOR_FROM_DATABASE=Litronic Inc
-
-pci:v000015DCd00000001*
- ID_PRODUCT_FROM_DATABASE=Argus 300 PCI Cryptography Module
-
-pci:v000015DD*
- ID_VENDOR_FROM_DATABASE=Sigmatel Inc
-
-pci:v000015DE*
- ID_VENDOR_FROM_DATABASE=Malleable Technologies Inc
-
-pci:v000015DF*
- ID_VENDOR_FROM_DATABASE=Infinilink Corp
-
-pci:v000015E0*
- ID_VENDOR_FROM_DATABASE=Cacheflow Inc
-
-pci:v000015E1*
- ID_VENDOR_FROM_DATABASE=Voice Technologies Group Inc
-
-pci:v000015E2*
- ID_VENDOR_FROM_DATABASE=Quicknet Technologies Inc
-
-pci:v000015E2d00000500*
- ID_PRODUCT_FROM_DATABASE=PhoneJack-PCI
-
-pci:v000015E3*
- ID_VENDOR_FROM_DATABASE=Networth Technologies Inc
-
-pci:v000015E4*
- ID_VENDOR_FROM_DATABASE=VSN Systemen BV
-
-pci:v000015E5*
- ID_VENDOR_FROM_DATABASE=Valley technologies Inc
-
-pci:v000015E6*
- ID_VENDOR_FROM_DATABASE=Agere Inc
-
-pci:v000015E7*
- ID_VENDOR_FROM_DATABASE=Get Engineering Corp
-
-pci:v000015E8*
- ID_VENDOR_FROM_DATABASE=National Datacomm Corp
-
-pci:v000015E8d00000130*
- ID_PRODUCT_FROM_DATABASE=Wireless PCI Card
-
-pci:v000015E8d00000131*
- ID_PRODUCT_FROM_DATABASE=NCP130A2 Wireless NIC
-
-pci:v000015E9*
- ID_VENDOR_FROM_DATABASE=Pacific Digital Corp
-
-pci:v000015E9d00001841*
- ID_PRODUCT_FROM_DATABASE=ADMA-100 DiscStaQ ATA Controller
-
-pci:v000015EA*
- ID_VENDOR_FROM_DATABASE=Tokyo Denshi Sekei K.K.
-
-pci:v000015EB*
- ID_VENDOR_FROM_DATABASE=DResearch Digital Media Systems GmbH
-
-pci:v000015EC*
- ID_VENDOR_FROM_DATABASE=Beckhoff GmbH
-
-pci:v000015ECd00003101*
- ID_PRODUCT_FROM_DATABASE=FC3101 Profibus DP 1 Channel PCI
-
-pci:v000015ECd00005102*
- ID_PRODUCT_FROM_DATABASE=FC5102
-
-pci:v000015ED*
- ID_VENDOR_FROM_DATABASE=Macrolink Inc
-
-pci:v000015EE*
- ID_VENDOR_FROM_DATABASE=In Win Development Inc
-
-pci:v000015EF*
- ID_VENDOR_FROM_DATABASE=Intelligent Paradigm Inc
-
-pci:v000015F0*
- ID_VENDOR_FROM_DATABASE=B-Tree Systems Inc
-
-pci:v000015F1*
- ID_VENDOR_FROM_DATABASE=Times N Systems Inc
-
-pci:v000015F2*
- ID_VENDOR_FROM_DATABASE=Diagnostic Instruments Inc
-
-pci:v000015F3*
- ID_VENDOR_FROM_DATABASE=Digitmedia Corp
-
-pci:v000015F4*
- ID_VENDOR_FROM_DATABASE=Valuesoft
-
-pci:v000015F5*
- ID_VENDOR_FROM_DATABASE=Power Micro Research
-
-pci:v000015F6*
- ID_VENDOR_FROM_DATABASE=Extreme Packet Device Inc
-
-pci:v000015F7*
- ID_VENDOR_FROM_DATABASE=Banctec
-
-pci:v000015F8*
- ID_VENDOR_FROM_DATABASE=Koga Electronics Co
-
-pci:v000015F9*
- ID_VENDOR_FROM_DATABASE=Zenith Electronics Corp
-
-pci:v000015FA*
- ID_VENDOR_FROM_DATABASE=J.P. Axzam Corp
-
-pci:v000015FB*
- ID_VENDOR_FROM_DATABASE=Zilog Inc
-
-pci:v000015FC*
- ID_VENDOR_FROM_DATABASE=Techsan Electronics Co Ltd
-
-pci:v000015FD*
- ID_VENDOR_FROM_DATABASE=N-CUBED.NET
-
-pci:v000015FE*
- ID_VENDOR_FROM_DATABASE=Kinpo Electronics Inc
-
-pci:v000015FF*
- ID_VENDOR_FROM_DATABASE=Fastpoint Technologies Inc
-
-pci:v00001600*
- ID_VENDOR_FROM_DATABASE=Northrop Grumman - Canada Ltd
-
-pci:v00001601*
- ID_VENDOR_FROM_DATABASE=Tenta Technology
-
-pci:v00001602*
- ID_VENDOR_FROM_DATABASE=Prosys-tec Inc
-
-pci:v00001603*
- ID_VENDOR_FROM_DATABASE=Nokia Wireless Communications
-
-pci:v00001604*
- ID_VENDOR_FROM_DATABASE=Central System Research Co Ltd
-
-pci:v00001605*
- ID_VENDOR_FROM_DATABASE=Pairgain Technologies
-
-pci:v00001606*
- ID_VENDOR_FROM_DATABASE=Europop AG
-
-pci:v00001607*
- ID_VENDOR_FROM_DATABASE=Lava Semiconductor Manufacturing Inc
-
-pci:v00001608*
- ID_VENDOR_FROM_DATABASE=Automated Wagering International
-
-pci:v00001609*
- ID_VENDOR_FROM_DATABASE=Scimetric Instruments Inc
-
-pci:v00001612*
- ID_VENDOR_FROM_DATABASE=Telesynergy Research Inc.
-
-pci:v00001618*
- ID_VENDOR_FROM_DATABASE=Stone Ridge Technology
-
-pci:v00001618d00000001*
- ID_PRODUCT_FROM_DATABASE=RDX 11
-
-pci:v00001618d00000002*
- ID_PRODUCT_FROM_DATABASE=HFT-01
-
-pci:v00001618d00000400*
- ID_PRODUCT_FROM_DATABASE=FarSync T2P (2 port X.21/V.35/V.24)
-
-pci:v00001618d00000440*
- ID_PRODUCT_FROM_DATABASE=FarSync T4P (4 port X.21/V.35/V.24)
-
-pci:v00001618d00000610*
- ID_PRODUCT_FROM_DATABASE=FarSync T1U (1 port X.21/V.35/V.24)
-
-pci:v00001618d00000620*
- ID_PRODUCT_FROM_DATABASE=FarSync T2U (2 port X.21/V.35/V.24)
-
-pci:v00001618d00000640*
- ID_PRODUCT_FROM_DATABASE=FarSync T4U (4 port X.21/V.35/V.24)
-
-pci:v00001618d00001610*
- ID_PRODUCT_FROM_DATABASE=FarSync TE1 (T1,E1)
-
-pci:v00001618d00002610*
- ID_PRODUCT_FROM_DATABASE=FarSync DSL-S1 (SHDSL)
-
-pci:v00001618d00003640*
- ID_PRODUCT_FROM_DATABASE=FarSync T4E (4-port X.21/V.35/V.24)
-
-pci:v00001618d00004620*
- ID_PRODUCT_FROM_DATABASE=FarSync T2Ue PCI Express (2-port X.21/V.35/V.24)
-
-pci:v00001618d00004640*
- ID_PRODUCT_FROM_DATABASE=FarSync T4Ue PCI Express (4-port X.21/V.35/V.24)
-
-pci:v00001619*
- ID_VENDOR_FROM_DATABASE=FarSite Communications Ltd
-
-pci:v00001619d00000400*
- ID_PRODUCT_FROM_DATABASE=FarSync T2P (2 port X.21/V.35/V.24)
-
-pci:v00001619d00000440*
- ID_PRODUCT_FROM_DATABASE=FarSync T4P (4 port X.21/V.35/V.24)
-
-pci:v00001619d00000610*
- ID_PRODUCT_FROM_DATABASE=FarSync T1U (1 port X.21/V.35/V.24)
-
-pci:v00001619d00000620*
- ID_PRODUCT_FROM_DATABASE=FarSync T2U (2 port X.21/V.35/V.24)
-
-pci:v00001619d00000640*
- ID_PRODUCT_FROM_DATABASE=FarSync T4U (4 port X.21/V.35/V.24)
-
-pci:v00001619d00001610*
- ID_PRODUCT_FROM_DATABASE=FarSync TE1 (T1,E1)
-
-pci:v00001619d00002610*
- ID_PRODUCT_FROM_DATABASE=FarSync DSL-S1 (SHDSL)
-
-pci:v00001619d00003640*
- ID_PRODUCT_FROM_DATABASE=FarSync T4E (4-port X.21/V.35/V.24)
-
-pci:v00001619d00004620*
- ID_PRODUCT_FROM_DATABASE=FarSync T2Ue PCI Express (2-port X.21/V.35/V.24)
-
-pci:v00001619d00004640*
- ID_PRODUCT_FROM_DATABASE=FarSync T4Ue PCI Express (4-port X.21/V.35/V.24)
-
-pci:v0000161F*
- ID_VENDOR_FROM_DATABASE=Rioworks
-
-pci:v00001626*
- ID_VENDOR_FROM_DATABASE=TDK Semiconductor Corp.
-
-pci:v00001626d00008410*
- ID_PRODUCT_FROM_DATABASE=RTL81xx Fast Ethernet
-
-pci:v00001629*
- ID_VENDOR_FROM_DATABASE=Kongsberg Spacetec AS
-
-pci:v00001629d00001003*
- ID_PRODUCT_FROM_DATABASE=Format synchronizer v3.0
-
-pci:v00001629d00001006*
- ID_PRODUCT_FROM_DATABASE=Format synchronizer, model 10500
-
-pci:v00001629d00001007*
- ID_PRODUCT_FROM_DATABASE=Format synchronizer, model 21000
-
-pci:v00001629d00002002*
- ID_PRODUCT_FROM_DATABASE=Fast Universal Data Output
-
-pci:v00001631*
- ID_VENDOR_FROM_DATABASE=Packard Bell B.V.
-
-pci:v00001638*
- ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp [SMC]
-
-pci:v00001638d00001100*
- ID_PRODUCT_FROM_DATABASE=SMC2602W EZConnect / Addtron AWA-100 / Eumitcom PCI WL11000
-
-pci:v0000163C*
- ID_VENDOR_FROM_DATABASE=Smart Link Ltd.
-
-pci:v0000163Cd00003052*
- ID_PRODUCT_FROM_DATABASE=SmartLink SmartPCI562 56K Modem
-
-pci:v0000163Cd00005449*
- ID_PRODUCT_FROM_DATABASE=SmartPCI561 Modem
-
-pci:v00001641*
- ID_VENDOR_FROM_DATABASE=MKNet Corp.
-
-pci:v00001657*
- ID_VENDOR_FROM_DATABASE=Brocade Communications Systems, Inc.
-
-pci:v00001657d00000013*
- ID_PRODUCT_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA
-
-pci:v00001657d00000013sv0000103Csd00001742*
- ID_PRODUCT_FROM_DATABASE=HP 82B 8Gbps dual port FC HBA
-
-pci:v00001657d00000013sv0000103Csd00001744*
- ID_PRODUCT_FROM_DATABASE=HP 42B 4Gbps dual port FC HBA
-
-pci:v00001657d00000013sv00001657sd00000014*
- ID_PRODUCT_FROM_DATABASE=425/825 4Gbps/8Gbps PCIe dual port FC HBA
-
-pci:v00001657d00000014*
- ID_PRODUCT_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA
-
-pci:v00001657d00000014sv00001657sd00000014*
- ID_PRODUCT_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - FCOE
-
-pci:v00001657d00000014sv00001657sd00000015*
- ID_PRODUCT_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - LL
-
-pci:v00001657d00000017*
- ID_PRODUCT_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA
-
-pci:v00001657d00000017sv0000103Csd00001741*
- ID_PRODUCT_FROM_DATABASE=HP 41B 4Gbps single port FC HBA
-
-pci:v00001657d00000017sv0000103Csd00001743*
- ID_PRODUCT_FROM_DATABASE=HP 81B 8Gbps single port FC HBA
-
-pci:v00001657d00000017sv00001657sd00000014*
- ID_PRODUCT_FROM_DATABASE=415/815 4Gbps/8Gbps single port PCIe FC HBA
-
-pci:v00001657d00000021*
- ID_PRODUCT_FROM_DATABASE=804 8Gbps FC HBA for HP Bladesystem c-class
-
-pci:v00001657d00000022*
- ID_PRODUCT_FROM_DATABASE=1867/1860: 16Gbps/10Gbps Fabric Adapter
-
-pci:v00001657d00000022sv00001657sd00000022*
- ID_PRODUCT_FROM_DATABASE=10Gbps CNA - FCOE
-
-pci:v00001657d00000022sv00001657sd00000023*
- ID_PRODUCT_FROM_DATABASE=10Gbps CNA - LL
-
-pci:v00001657d00000022sv00001657sd00000024*
- ID_PRODUCT_FROM_DATABASE=16Gbps FC HBA
-
-pci:v00001657d00000646*
- ID_PRODUCT_FROM_DATABASE=400 4Gbps PCIe FC HBA
-
-pci:v0000165A*
- ID_VENDOR_FROM_DATABASE=Epix Inc
-
-pci:v0000165Ad0000C100*
- ID_PRODUCT_FROM_DATABASE=PIXCI(R) CL1 Camera Link Video Capture Board [custom QL5232]
-
-pci:v0000165Ad0000D200*
- ID_PRODUCT_FROM_DATABASE=PIXCI(R) D2X Digital Video Capture Board [custom QL5232]
-
-pci:v0000165Ad0000D300*
- ID_PRODUCT_FROM_DATABASE=PIXCI(R) D3X Digital Video Capture Board [custom QL5232]
-
-pci:v0000165D*
- ID_VENDOR_FROM_DATABASE=Hsing Tech. Enterprise Co., Ltd.
-
-pci:v0000165F*
- ID_VENDOR_FROM_DATABASE=Linux Media Labs, LLC
-
-pci:v0000165Fd00001020*
- ID_PRODUCT_FROM_DATABASE=LMLM4 MPEG-4 encoder
-
-pci:v00001661*
- ID_VENDOR_FROM_DATABASE=Worldspace Corp.
-
-pci:v00001668*
- ID_VENDOR_FROM_DATABASE=Actiontec Electronics Inc
-
-pci:v00001668d00000100*
- ID_PRODUCT_FROM_DATABASE=Mini-PCI bridge
-
-pci:v0000166D*
- ID_VENDOR_FROM_DATABASE=Broadcom Corporation
-
-pci:v0000166Dd00000001*
- ID_PRODUCT_FROM_DATABASE=SiByte BCM1125/1125H/1250 System-on-a-Chip PCI
-
-pci:v0000166Dd00000002*
- ID_PRODUCT_FROM_DATABASE=SiByte BCM1125H/1250 System-on-a-Chip HyperTransport
-
-pci:v0000166Dd00000012*
- ID_PRODUCT_FROM_DATABASE=SiByte BCM1280/BCM1480 System-on-a-Chip PCI-X
-
-pci:v0000166Dd00000014*
- ID_PRODUCT_FROM_DATABASE=Sibyte BCM1280/BCM1480 System-on-a-Chip HyperTransport
-
-pci:v00001677*
- ID_VENDOR_FROM_DATABASE=Bernecker + Rainer
-
-pci:v00001677d0000104E*
- ID_PRODUCT_FROM_DATABASE=5LS172.6 B&R Dual CAN Interface Card
-
-pci:v00001677d000012D7*
- ID_PRODUCT_FROM_DATABASE=5LS172.61 B&R Dual CAN Interface Card
-
-pci:v00001677d000020AD*
- ID_PRODUCT_FROM_DATABASE=5ACPCI.MFIO-K01 Profibus DP / K-Feldbus / COM
-
-pci:v00001678*
- ID_VENDOR_FROM_DATABASE=NetEffect
-
-pci:v00001678d00000100*
- ID_PRODUCT_FROM_DATABASE=NE020 10Gb Accelerated Ethernet Adapter (iWARP RNIC)
-
-pci:v00001679*
- ID_VENDOR_FROM_DATABASE=Tokyo Electron Device Ltd.
-
-pci:v00001679d00003000*
- ID_PRODUCT_FROM_DATABASE=SD Standard host controller [Ellen]
-
-pci:v0000167B*
- ID_VENDOR_FROM_DATABASE=ZyDAS Technology Corp.
-
-pci:v0000167Bd00002102*
- ID_PRODUCT_FROM_DATABASE=ZyDAS ZD1202
-
-pci:v0000167Bd00002102sv0000187Esd00003406*
- ID_PRODUCT_FROM_DATABASE=ZyAIR B-122 CardBus 11Mbs Wireless LAN Card
-
-pci:v0000167Bd00002102sv0000187Esd00003407*
- ID_PRODUCT_FROM_DATABASE=ZyAIR B-320 802.11b Wireless PCI Adapter
-
-pci:v0000167Bd00002116*
- ID_PRODUCT_FROM_DATABASE=ZD1212B Wireless Adapter
-
-pci:v0000167D*
- ID_VENDOR_FROM_DATABASE=Samsung Electro-Mechanics Co., Ltd.
-
-pci:v0000167Dd0000A000*
- ID_PRODUCT_FROM_DATABASE=MagicLAN SWL-2210P 802.11b [Intersil ISL3874]
-
-pci:v0000167E*
- ID_VENDOR_FROM_DATABASE=ONNTO Corp.
-
-pci:v00001681*
- ID_VENDOR_FROM_DATABASE=Hercules
-
-pci:v00001682*
- ID_VENDOR_FROM_DATABASE=XFX Pine Group Inc.
-
-pci:v00001688*
- ID_VENDOR_FROM_DATABASE=CastleNet Technology Inc.
-
-pci:v00001688d00001170*
- ID_PRODUCT_FROM_DATABASE=WLAN 802.11b card
-
-pci:v0000168C*
- ID_VENDOR_FROM_DATABASE=Atheros Communications Inc.
-
-pci:v0000168Cd00000007*
- ID_PRODUCT_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a]
-
-pci:v0000168Cd00000007sv00001737sd00000007*
- ID_PRODUCT_FROM_DATABASE=WPC54A Wireless PC Card
-
-pci:v0000168Cd00000007sv00001B47sd00000100*
- ID_PRODUCT_FROM_DATABASE=Harmony 8450CN Wireless CardBus Module
-
-pci:v0000168Cd00000007sv00001B47sd00000110*
- ID_PRODUCT_FROM_DATABASE=Skyline 4030 / Harmony 8450 802.11a Wireless CardBus Adapter
-
-pci:v0000168Cd00000007sv00008086sd00002501*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 5000 LAN PCI Adapter Module
-
-pci:v0000168Cd00000011*
- ID_PRODUCT_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001A 802.11a]
-
-pci:v0000168Cd00000012*
- ID_PRODUCT_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab]
-
-pci:v0000168Cd00000012sv0000126Csd00008031*
- ID_PRODUCT_FROM_DATABASE=2201 Mobile Adapter
-
-pci:v0000168Cd00000012sv00001385sd00004400*
- ID_PRODUCT_FROM_DATABASE=WAB501 802.11ab Wireless CardBus Card
-
-pci:v0000168Cd00000012sv00001B47sd0000AA00*
- ID_PRODUCT_FROM_DATABASE=8460 802.11ab Wireless CardBus Adapter
-
-pci:v0000168Cd00000013*
- ID_PRODUCT_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter
-
-pci:v0000168Cd00000013sv00000308sd00003402*
- ID_PRODUCT_FROM_DATABASE=AG-100 802.11ag Wireless Cardbus Adapter
-
-pci:v0000168Cd00000013sv00000308sd00003405*
- ID_PRODUCT_FROM_DATABASE=G-102 v2 802.11g Wireless Cardbus Adapter
-
-pci:v0000168Cd00000013sv00000308sd00003408*
- ID_PRODUCT_FROM_DATABASE=G-170S 802.11g Wireless CardBus Adapter
-
-pci:v0000168Cd00000013sv00000E11sd000000E5*
- ID_PRODUCT_FROM_DATABASE=NC6000/NC8000 laptop
-
-pci:v0000168Cd00000013sv000010B7sd00006002*
- ID_PRODUCT_FROM_DATABASE=3CRWE154A72 802.11abg Cardbus Adapter
-
-pci:v0000168Cd00000013sv00001113sd0000D301*
- ID_PRODUCT_FROM_DATABASE=Philips CPWNA100 Wireless CardBus adapter
-
-pci:v0000168Cd00000013sv00001113sd0000EE23*
- ID_PRODUCT_FROM_DATABASE=SMCWPCIT-G 108Mbps Wireless PCI adapter
-
-pci:v0000168Cd00000013sv00001154sd0000033B*
- ID_PRODUCT_FROM_DATABASE=Buffalo WLI-CB-AMG54
-
-pci:v0000168Cd00000013sv00001154sd0000034E*
- ID_PRODUCT_FROM_DATABASE=Buffalo WLI-CB-AG108HP 802.11abg Cardbus Adapter
-
-pci:v0000168Cd00000013sv00001186sd00003202*
- ID_PRODUCT_FROM_DATABASE=DWL-G650 (Rev B3,B5) Wireless cardbus adapter
-
-pci:v0000168Cd00000013sv00001186sd00003203*
- ID_PRODUCT_FROM_DATABASE=AirPlus DWL-G520 Wireless PCI Adapter (rev. A)
-
-pci:v0000168Cd00000013sv00001186sd00003A12*
- ID_PRODUCT_FROM_DATABASE=D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C)
-
-pci:v0000168Cd00000013sv00001186sd00003A13*
- ID_PRODUCT_FROM_DATABASE=AirPlus DWL-G520 Wireless PCI Adapter (rev. B)
-
-pci:v0000168Cd00000013sv00001186sd00003A14*
- ID_PRODUCT_FROM_DATABASE=AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.A)
-
-pci:v0000168Cd00000013sv00001186sd00003A17*
- ID_PRODUCT_FROM_DATABASE=D-Link AirPremier DWL-G680 Wireless Cardbus Adapter
-
-pci:v0000168Cd00000013sv00001186sd00003A18*
- ID_PRODUCT_FROM_DATABASE=D-Link AirPremier DWL-G550 Wireless PCI Adapter
-
-pci:v0000168Cd00000013sv00001186sd00003A1A*
- ID_PRODUCT_FROM_DATABASE=WNA-2330 802.11bg Wireless CardBus Adapter
-
-pci:v0000168Cd00000013sv00001186sd00003A63*
- ID_PRODUCT_FROM_DATABASE=D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter
-
-pci:v0000168Cd00000013sv00001186sd00003A93*
- ID_PRODUCT_FROM_DATABASE=Conceptronic C54I Wireless 801.11g PCI card
-
-pci:v0000168Cd00000013sv00001186sd00003A94*
- ID_PRODUCT_FROM_DATABASE=Conceptronic C54C 802.11g Wireless Cardbus Adapter
-
-pci:v0000168Cd00000013sv00001186sd00003AB0*
- ID_PRODUCT_FROM_DATABASE=Allnet ALL0281 Wireless PCI Card
-
-pci:v0000168Cd00000013sv00001385sd00004900*
- ID_PRODUCT_FROM_DATABASE=WG311v1 802.11g Wireless PCI Adapter
-
-pci:v0000168Cd00000013sv00001385sd00004B00*
- ID_PRODUCT_FROM_DATABASE=WG511T 108 Mbps Wireless PC Card (rev.A/B)
-
-pci:v0000168Cd00000013sv00001385sd00004D00*
- ID_PRODUCT_FROM_DATABASE=WG311T 108 Mbps Wireless PCI Adapter (rev.A2)
-
-pci:v0000168Cd00000013sv00001385sd00004F00*
- ID_PRODUCT_FROM_DATABASE=WG511U Double 108 Mbps Wireless PC Card
-
-pci:v0000168Cd00000013sv00001385sd00005A00*
- ID_PRODUCT_FROM_DATABASE=WG311T 108 Mbps Wireless PCI Adapter (rev.A3)
-
-pci:v0000168Cd00000013sv00001385sd00005B00*
- ID_PRODUCT_FROM_DATABASE=WG511T 108 Mbps Wireless PC Card (rev.C)
-
-pci:v0000168Cd00000013sv00001385sd00005D00*
- ID_PRODUCT_FROM_DATABASE=WPN511 RangeMax Wireless PC Card
-
-pci:v0000168Cd00000013sv00001458sd0000E911*
- ID_PRODUCT_FROM_DATABASE=Gigabyte GN-WIAG02
-
-pci:v0000168Cd00000013sv00001468sd00000403*
- ID_PRODUCT_FROM_DATABASE=U10H014 802.11g Cardbus Adapter
-
-pci:v0000168Cd00000013sv00001468sd00000408*
- ID_PRODUCT_FROM_DATABASE=ThinkPad 11b/g Wireless LAN Mini PCI Adapter
-
-pci:v0000168Cd00000013sv000014B7sd00000A10*
- ID_PRODUCT_FROM_DATABASE=8480-WD 802.11abg Cardbus Adapter
-
-pci:v0000168Cd00000013sv000014B7sd00000A60*
- ID_PRODUCT_FROM_DATABASE=8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter
-
-pci:v0000168Cd00000013sv000014B7sd0000AA30*
- ID_PRODUCT_FROM_DATABASE=8800-FC 802.11bg Cardbus Adapter
-
-pci:v0000168Cd00000013sv000014B7sd0000AA40*
- ID_PRODUCT_FROM_DATABASE=8470-WD 802.11bg Cardbus Adapter
-
-pci:v0000168Cd00000013sv000014B9sd0000CB21*
- ID_PRODUCT_FROM_DATABASE=CB21 802.11a/b/g Cardbus Adapter
-
-pci:v0000168Cd00000013sv00001668sd00001026*
- ID_PRODUCT_FROM_DATABASE=IBM HighRate 11 a/b/g Wireless CardBus Adapter
-
-pci:v0000168Cd00000013sv0000168Csd00000013*
- ID_PRODUCT_FROM_DATABASE=AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter
-
-pci:v0000168Cd00000013sv0000168Csd00001025*
- ID_PRODUCT_FROM_DATABASE=DWL-G650B2 Wireless CardBus Adapter
-
-pci:v0000168Cd00000013sv0000168Csd00001027*
- ID_PRODUCT_FROM_DATABASE=Engenius NL-3054CB ARIES b/g CardBus Adapter
-
-pci:v0000168Cd00000013sv0000168Csd00001042*
- ID_PRODUCT_FROM_DATABASE=Ubiquiti Networks SuperRange a/b/g Cardbus Adapter
-
-pci:v0000168Cd00000013sv0000168Csd00001051*
- ID_PRODUCT_FROM_DATABASE=EZ Connect g 802.11g 108Mbps Wireless PCI Adapter
-
-pci:v0000168Cd00000013sv0000168Csd00002026*
- ID_PRODUCT_FROM_DATABASE=Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter
-
-pci:v0000168Cd00000013sv0000168Csd00002027*
- ID_PRODUCT_FROM_DATABASE=D-Link AirPlus DWL-G520 Wireless PCI Adapter (rev. A)
-
-pci:v0000168Cd00000013sv0000168Csd00002041*
- ID_PRODUCT_FROM_DATABASE=Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter
-
-pci:v0000168Cd00000013sv0000168Csd00002042*
- ID_PRODUCT_FROM_DATABASE=Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter
-
-pci:v0000168Cd00000013sv0000168Csd00002051*
- ID_PRODUCT_FROM_DATABASE=TRENDnet TEW-443PI Wireless PCI Adapter
-
-pci:v0000168Cd00000013sv000016A5sd0000160A*
- ID_PRODUCT_FROM_DATABASE=BWP712 802.11bg Wireless CardBus Adapter
-
-pci:v0000168Cd00000013sv000016ABsd00007302*
- ID_PRODUCT_FROM_DATABASE=Trust Speedshare Turbo Pro Wireless PCI Adapter
-
-pci:v0000168Cd00000013sv00001737sd00000017*
- ID_PRODUCT_FROM_DATABASE=WPC55AG
-
-pci:v0000168Cd00000013sv00001737sd00000026*
- ID_PRODUCT_FROM_DATABASE=WMP55AG v1.1
-
-pci:v0000168Cd00000013sv00001737sd00000035*
- ID_PRODUCT_FROM_DATABASE=WPC55AG v1.2 802.11abg Cardbus Adapter
-
-pci:v0000168Cd00000013sv00001737sd00000036*
- ID_PRODUCT_FROM_DATABASE=WMP55AG v1.2 802.11abg PCI Adapter
-
-pci:v0000168Cd00000013sv00001799sd00003000*
- ID_PRODUCT_FROM_DATABASE=F6D3000 Dual-Band Wireless A+G Desktop Card
-
-pci:v0000168Cd00000013sv00001799sd00003010*
- ID_PRODUCT_FROM_DATABASE=F6D3010 Dual-Band Wireless A+G Notebook Card
-
-pci:v0000168Cd00000013sv000017CFsd00000042*
- ID_PRODUCT_FROM_DATABASE=Z-COMAX Highpower XG-622H (400mw) 802.11b/g mini-PCI Adapter
-
-pci:v0000168Cd00000013sv0000185Fsd00001012*
- ID_PRODUCT_FROM_DATABASE=CM9 Wireless a/b/g MiniPCI Adapter
-
-pci:v0000168Cd00000013sv0000185Fsd00002012*
- ID_PRODUCT_FROM_DATABASE=Wistron NeWeb WLAN a+b+g model CB9
-
-pci:v0000168Cd00000013sv0000A727sd00006801*
- ID_PRODUCT_FROM_DATABASE=3CRXJK10075 OfficeConnect Wireless 108Mbps 11g XJACK PC Card
-
-pci:v0000168Cd0000001A*
- ID_PRODUCT_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg]
-
-pci:v0000168Cd0000001Asv00001052sd0000168C*
- ID_PRODUCT_FROM_DATABASE=Sweex Wireless Lan PC Card 54Mbps
-
-pci:v0000168Cd0000001Asv00001113sd0000EE20*
- ID_PRODUCT_FROM_DATABASE=SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU)
-
-pci:v0000168Cd0000001Asv00001113sd0000EE24*
- ID_PRODUCT_FROM_DATABASE=SMC Wireless PCI Card WPCI-G
-
-pci:v0000168Cd0000001Asv00001186sd00003A15*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.D1)
-
-pci:v0000168Cd0000001Asv00001186sd00003A16*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G510 Wireless PCI Adapter(rev.B)
-
-pci:v0000168Cd0000001Asv00001186sd00003A1C*
- ID_PRODUCT_FROM_DATABASE=WNA-1330 Notebook Adapter
-
-pci:v0000168Cd0000001Asv00001186sd00003A1D*
- ID_PRODUCT_FROM_DATABASE=WDA-1320 Desktop Adapter
-
-pci:v0000168Cd0000001Asv00001186sd00003A23*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G520+A Wireless PCI Adapter
-
-pci:v0000168Cd0000001Asv00001186sd00003A24*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G650+A Wireless Cardbus Adapter
-
-pci:v0000168Cd0000001Asv00001186sd00003B08*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.C1)
-
-pci:v0000168Cd0000001Asv0000168Csd0000001A*
- ID_PRODUCT_FROM_DATABASE=Belkin FD7000
-
-pci:v0000168Cd0000001Asv0000168Csd00001052*
- ID_PRODUCT_FROM_DATABASE=TP-Link TL-WN510G Wireless CardBus Adapter
-
-pci:v0000168Cd0000001Asv0000168Csd00002052*
- ID_PRODUCT_FROM_DATABASE=Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G]
-
-pci:v0000168Cd0000001Asv000016ECsd00000122*
- ID_PRODUCT_FROM_DATABASE=Wireless PCI Adapter Model 5418
-
-pci:v0000168Cd0000001Asv00001737sd00000053*
- ID_PRODUCT_FROM_DATABASE=WPC54G v7 802.11g Wireless-G Notebook Adapter
-
-pci:v0000168Cd0000001Asv00001799sd0000700C*
- ID_PRODUCT_FROM_DATABASE=F5D7000 v5000 Wireless G Desktop Card
-
-pci:v0000168Cd0000001Asv00001799sd0000701D*
- ID_PRODUCT_FROM_DATABASE=F5D7010 v5000 Wireless G Notebook Card
-
-pci:v0000168Cd0000001Asv000017F9sd00000008*
- ID_PRODUCT_FROM_DATABASE=DX-WGNBC 802.11bg Wireless CardBus Adapter
-
-pci:v0000168Cd0000001Asv000017F9sd00000018*
- ID_PRODUCT_FROM_DATABASE=DX-WGDTC 802.11bg Wireless PCI Adapter
-
-pci:v0000168Cd0000001B*
- ID_PRODUCT_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg]
-
-pci:v0000168Cd0000001Bsv00000777sd00003002*
- ID_PRODUCT_FROM_DATABASE=XR2 802.11g Wireless Mini PCI Adapter
-
-pci:v0000168Cd0000001Bsv00000777sd00003005*
- ID_PRODUCT_FROM_DATABASE=XR5 802.11a Wireless Mini PCI Adapter
-
-pci:v0000168Cd0000001Bsv00000777sd00003009*
- ID_PRODUCT_FROM_DATABASE=XR9 900MHz Wireless Mini PCI Adapter
-
-pci:v0000168Cd0000001Bsv00001154sd0000034E*
- ID_PRODUCT_FROM_DATABASE=WLI-CB-AG108HP 802.11abg Wireless CardBus Adapter
-
-pci:v0000168Cd0000001Bsv00001186sd00003A19*
- ID_PRODUCT_FROM_DATABASE=D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter
-
-pci:v0000168Cd0000001Bsv00001186sd00003A22*
- ID_PRODUCT_FROM_DATABASE=AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.B)
-
-pci:v0000168Cd0000001Bsv000011ADsd00005001*
- ID_PRODUCT_FROM_DATABASE=WN5301A 802.11bg Wireless PCI Adapter
-
-pci:v0000168Cd0000001Bsv00001458sd0000E901*
- ID_PRODUCT_FROM_DATABASE=GN-WI01HT Wireless a/b/g MiniPCI Adapter
-
-pci:v0000168Cd0000001Bsv0000168Csd0000001B*
- ID_PRODUCT_FROM_DATABASE=Wireless LAN PCI LiteOn
-
-pci:v0000168Cd0000001Bsv0000168Csd00001062*
- ID_PRODUCT_FROM_DATABASE=IPN-W100CB 802.11abg Wireless CardBus Adapter
-
-pci:v0000168Cd0000001Bsv0000168Csd00002062*
- ID_PRODUCT_FROM_DATABASE=EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG)
-
-pci:v0000168Cd0000001Bsv0000168Csd00002063*
- ID_PRODUCT_FROM_DATABASE=EnGenius EMP-8602 (400mw) or Compex WLM54AG
-
-pci:v0000168Cd0000001Bsv000017F9sd0000000B*
- ID_PRODUCT_FROM_DATABASE=WL-711A 802.11abg Wireless CardBus Adapter
-
-pci:v0000168Cd0000001Bsv000017F9sd0000000C*
- ID_PRODUCT_FROM_DATABASE=WPIA-112AG 802.11abg Wireless PCI Adapter
-
-pci:v0000168Cd0000001Bsv000017F9sd0000000D*
- ID_PRODUCT_FROM_DATABASE=PC-686X 802.11abg Wireless Mini PCI Adapter
-
-pci:v0000168Cd0000001Bsv0000185Fsd00001600*
- ID_PRODUCT_FROM_DATABASE=DCMA-82 High Power WLAN 802.11a/b/g mini-PCI Module (Super A/G, eXtended Range, 400mW)
-
-pci:v0000168Cd0000001Bsv00001948sd00003ABA*
- ID_PRODUCT_FROM_DATABASE=RBTBJ-AW 802.11abg Wireless Cardbus Adapter
-
-pci:v0000168Cd0000001Bsv0000A727sd00006804*
- ID_PRODUCT_FROM_DATABASE=Wireless 11a/b/g PC Card with XJACK(r) Antenna
-
-pci:v0000168Cd0000001C*
- ID_PRODUCT_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express)
-
-pci:v0000168Cd0000001Csv00000777sd00003006*
- ID_PRODUCT_FROM_DATABASE=SRX 802.11abg Wireless ExpressCard Adapter
-
-pci:v0000168Cd0000001Csv0000103Csd0000137A*
- ID_PRODUCT_FROM_DATABASE=AR5BXB63 (Foxconn) 802.11bg Mini PCIe NIC
-
-pci:v0000168Cd0000001Csv0000106Bsd00000086*
- ID_PRODUCT_FROM_DATABASE=AR5BXB6 802.11abg Wireless Mini PCIe Card
-
-pci:v0000168Cd0000001Csv0000144Fsd00007106*
- ID_PRODUCT_FROM_DATABASE=WLL3140 (Toshiba PA3501U-1MPC) 802.11bg Wireless Mini PCIe Card
-
-pci:v0000168Cd0000001Csv0000144Fsd00007128*
- ID_PRODUCT_FROM_DATABASE=WLL3141 (Toshiba PA3613U-1MPC) 802.11bg Wireless Mini PCIe Card
-
-pci:v0000168Cd0000001Csv00001468sd00000428*
- ID_PRODUCT_FROM_DATABASE=AR5BXB63 802.11bg NIC
-
-pci:v0000168Cd0000001Csv00001468sd0000042A*
- ID_PRODUCT_FROM_DATABASE=AR5007EG 802.11bg NIC
-
-pci:v0000168Cd0000001Csv0000147Bsd00001033*
- ID_PRODUCT_FROM_DATABASE=AirPace Wi-Fi
-
-pci:v0000168Cd0000001Csv0000168Csd0000001C*
- ID_PRODUCT_FROM_DATABASE=AR242x 802.11abg NIC (PCI Express)
-
-pci:v0000168Cd0000001Csv0000168Csd00003061*
- ID_PRODUCT_FROM_DATABASE=AR5006EGS 802.11bg NIC (2.4GHz, PCI Express)
-
-pci:v0000168Cd0000001Csv0000168Csd00003062*
- ID_PRODUCT_FROM_DATABASE=AR5006EXS 802.11abg NIC (2.4/5.0GHz, PCI Express)
-
-pci:v0000168Cd0000001Csv0000168Csd00003063*
- ID_PRODUCT_FROM_DATABASE=AR5006EX 802.11abg NIC (2.4/5.0GHz, PCI Express)
-
-pci:v0000168Cd0000001Csv0000168Csd00003065*
- ID_PRODUCT_FROM_DATABASE=AR5006EG 802.11bg NIC (2.4GHz, PCI Express)
-
-pci:v0000168Cd0000001Csv0000168Csd00003067*
- ID_PRODUCT_FROM_DATABASE=AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
-
-pci:v0000168Cd0000001Csv00001A3Bsd00001026*
- ID_PRODUCT_FROM_DATABASE=AW-GE780 802.11bg Wireless Mini PCIe Card
-
-pci:v0000168Cd0000001D*
- ID_PRODUCT_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg]
-
-pci:v0000168Cd0000001Dsv00001799sd0000720B*
- ID_PRODUCT_FROM_DATABASE=F5D7000 v8000 Wireless G Desktop Card
-
-pci:v0000168Cd0000001Dsv00001799sd0000721B*
- ID_PRODUCT_FROM_DATABASE=F5D7010 v8000 Wireless G Notebook Card
-
-pci:v0000168Cd00000020*
- ID_PRODUCT_FROM_DATABASE=AR5513 802.11abg Wireless NIC
-
-pci:v0000168Cd00000020sv00000308sd00003407*
- ID_PRODUCT_FROM_DATABASE=M-102 802.11g Wireless Cardbus Adapter
-
-pci:v0000168Cd00000020sv00001186sd00003A67*
- ID_PRODUCT_FROM_DATABASE=DWL-G650M Super G MIMO Wireless Notebook Adapter
-
-pci:v0000168Cd00000020sv00001186sd00003A68*
- ID_PRODUCT_FROM_DATABASE=DWL-G520M Wireless 108G MIMO Desktop Adapter
-
-pci:v0000168Cd00000020sv0000187Esd0000340E*
- ID_PRODUCT_FROM_DATABASE=M-302 802.11g Wireless PCI Adapter
-
-pci:v0000168Cd00000020sv00001976sd00002003*
- ID_PRODUCT_FROM_DATABASE=TEW-601PC 802.11g Wireless CardBus Adapter
-
-pci:v0000168Cd00000023*
- ID_PRODUCT_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn]
-
-pci:v0000168Cd00000023sv00000308sd0000340B*
- ID_PRODUCT_FROM_DATABASE=NWD-170N 802.11bgn Wireless CardBus Adapter
-
-pci:v0000168Cd00000023sv00001154sd00000365*
- ID_PRODUCT_FROM_DATABASE=Buffalo WLP-CB-AG300 802.11abgn Cardbus Adapter
-
-pci:v0000168Cd00000023sv00001154sd00000367*
- ID_PRODUCT_FROM_DATABASE=WLI-CB-AG301N 802.11abgn Wireless CardBus Adapter
-
-pci:v0000168Cd00000023sv00001186sd00003A6A*
- ID_PRODUCT_FROM_DATABASE=DWA-642 802.11n RangeBooster N CardBus Adapter
-
-pci:v0000168Cd00000023sv00001186sd00003A6B*
- ID_PRODUCT_FROM_DATABASE=DWA-547 802.11n RangeBooster N 650 DeskTop Adapter
-
-pci:v0000168Cd00000023sv00001186sd00003A6D*
- ID_PRODUCT_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A1)
-
-pci:v0000168Cd00000023sv00001186sd00003A76*
- ID_PRODUCT_FROM_DATABASE=DWA-645 802.11n RangeBooster N 650 Notebook Adapter (rev A1)
-
-pci:v0000168Cd00000023sv00001737sd00000059*
- ID_PRODUCT_FROM_DATABASE=WPC300N v2 Wireless-N Notebook Adapter
-
-pci:v0000168Cd00000023sv00001737sd00000069*
- ID_PRODUCT_FROM_DATABASE=WPC100 v1 802.11n RangePlus Wireless Notebook Adapter
-
-pci:v0000168Cd00000023sv00001737sd00000072*
- ID_PRODUCT_FROM_DATABASE=WMP110 v1 802.11n RangePlus Wireless PCI Adapter
-
-pci:v0000168Cd00000023sv00001799sd00008011*
- ID_PRODUCT_FROM_DATABASE=F5D8011 v1 802.11n N1 Wireless Notebook Card
-
-pci:v0000168Cd00000023sv0000187Esd00003411*
- ID_PRODUCT_FROM_DATABASE=NWD-370N 802.11n Wireless PCI Adapter
-
-pci:v0000168Cd00000023sv00001976sd00002008*
- ID_PRODUCT_FROM_DATABASE=TEW-621PC 802.11bgn Wireless CardBus Adapter
-
-pci:v0000168Cd00000024*
- ID_PRODUCT_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express)
-
-pci:v0000168Cd00000024sv0000106Bsd00000087*
- ID_PRODUCT_FROM_DATABASE=AR5BXB72 802.11abgn Mini PCIe Card [AR5008E-3NX]
-
-pci:v0000168Cd00000027*
- ID_PRODUCT_FROM_DATABASE=AR9160 Wireless Network Adapter [AR9001 802.11(a)bgn]
-
-pci:v0000168Cd00000027sv00000777sd00004082*
- ID_PRODUCT_FROM_DATABASE=SR71-A 802.11abgn Wireless Mini PCI Adapter
-
-pci:v0000168Cd00000029*
- ID_PRODUCT_FROM_DATABASE=AR922X Wireless Network Adapter
-
-pci:v0000168Cd00000029sv00000777sd00004005*
- ID_PRODUCT_FROM_DATABASE=SR71-15 802.11an Mini PCI Adapter
-
-pci:v0000168Cd00000029sv00001186sd00003A7A*
- ID_PRODUCT_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A2)
-
-pci:v0000168Cd0000002A*
- ID_PRODUCT_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express)
-
-pci:v0000168Cd0000002Asv00000777sd00004F05*
- ID_PRODUCT_FROM_DATABASE=SR71-X 802.11abgn Wireless ExpressCard Adapter [AR9280]
-
-pci:v0000168Cd0000002Asv0000103Csd00003041*
- ID_PRODUCT_FROM_DATABASE=AR5BHB92-H 802.11abgn Wireless Half-size Mini PCIe Card [AR9280]
-
-pci:v0000168Cd0000002Asv0000105Bsd0000E006*
- ID_PRODUCT_FROM_DATABASE=T77H053.00 802.11bgn Wireless Mini PCIe Card [AR9281]
-
-pci:v0000168Cd0000002Asv0000105Bsd0000E01F*
- ID_PRODUCT_FROM_DATABASE=T77H047.31 802.11bgn Wireless Half-size Mini PCIe Card [AR9283]
-
-pci:v0000168Cd0000002Asv000011ADsd00006600*
- ID_PRODUCT_FROM_DATABASE=WN6600A 802.11bgn Wireless Mini PCIe Card [AR9281]
-
-pci:v0000168Cd0000002Asv0000144Fsd00007141*
- ID_PRODUCT_FROM_DATABASE=WLL6080 802.11bgn Wireless Mini PCIe Card [AR9281]
-
-pci:v0000168Cd0000002Asv0000168Csd00000203*
- ID_PRODUCT_FROM_DATABASE=DW1525 802.11abgn WLAN PCIe Card [AR9280]
-
-pci:v0000168Cd0000002Asv00001A32sd00000303*
- ID_PRODUCT_FROM_DATABASE=EM303 802.11bgn Wireless Mini PCIe Card [AR9281]
-
-pci:v0000168Cd0000002Asv00001A32sd00000306*
- ID_PRODUCT_FROM_DATABASE=EM306 802.11bgn Wireless Half-size Mini PCIe Card [AR9283]
-
-pci:v0000168Cd0000002Asv00001A3Bsd00001067*
- ID_PRODUCT_FROM_DATABASE=AW-NE771 802.11bgn Wireless Mini PCIe Card [AR9281]
-
-pci:v0000168Cd0000002Asv00001A3Bsd00001081*
- ID_PRODUCT_FROM_DATABASE=AW-NE773 802.11abgn Wireless Half-size Mini PCIe Card [AR9280]
-
-pci:v0000168Cd0000002B*
- ID_PRODUCT_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express)
-
-pci:v0000168Cd0000002Bsv00001028sd00000204*
- ID_PRODUCT_FROM_DATABASE=Wireless 1502 802.11bgn Half-size Mini PCIe Card
-
-pci:v0000168Cd0000002Bsv00001028sd00000205*
- ID_PRODUCT_FROM_DATABASE=Wireless 1702 802.11bgn Half-size Mini PCIe Card [AR9002WB-1NGCD]
-
-pci:v0000168Cd0000002Bsv0000103Csd0000303F*
- ID_PRODUCT_FROM_DATABASE=U98Z062.10 802.11bgn Wireless Half-size Mini PCIe Card
-
-pci:v0000168Cd0000002Bsv0000103Csd00003040*
- ID_PRODUCT_FROM_DATABASE=U98Z062.12 802.11bgn Wireless Half-size Mini PCIe Card
-
-pci:v0000168Cd0000002Bsv0000105Bsd0000E017*
- ID_PRODUCT_FROM_DATABASE=T77H126.00 802.11bgn Wireless Half-size Mini PCIe Card
-
-pci:v0000168Cd0000002Bsv00001113sd0000E811*
- ID_PRODUCT_FROM_DATABASE=WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card
-
-pci:v0000168Cd0000002Bsv0000185Fsd000030AF*
- ID_PRODUCT_FROM_DATABASE=DNXA-95 802.11bgn Wireless Half-size Mini PCIe Card
-
-pci:v0000168Cd0000002Bsv00001931sd00000023*
- ID_PRODUCT_FROM_DATABASE=Option GTM67x PCIe WiFi Adapter
-
-pci:v0000168Cd0000002Bsv00001A3Bsd00001089*
- ID_PRODUCT_FROM_DATABASE=AW-NE785 / AW-NE785H 802.11bgn Wireless Full or Half-size Mini PCIe Card
-
-pci:v0000168Cd0000002Bsv00001A3Bsd00002C37*
- ID_PRODUCT_FROM_DATABASE=AW-NB037H 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD]
-
-pci:v0000168Cd0000002Bsv00001B9Asd00000401*
- ID_PRODUCT_FROM_DATABASE=XW204E 802.11bgn Wireless Half-size Mini PCIe Card
-
-pci:v0000168Cd0000002Bsv00001B9Asd00000C03*
- ID_PRODUCT_FROM_DATABASE=WB214E 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD]
-
-pci:v0000168Cd0000002C*
- ID_PRODUCT_FROM_DATABASE=AR2427 802.11bg Wireless Network Adapter (PCI-Express)
-
-pci:v0000168Cd0000002D*
- ID_PRODUCT_FROM_DATABASE=AR9227 Wireless Network Adapter
-
-pci:v0000168Cd0000002E*
- ID_PRODUCT_FROM_DATABASE=AR9287 Wireless Network Adapter (PCI-Express)
-
-pci:v0000168Cd00000030*
- ID_PRODUCT_FROM_DATABASE=AR9300 Wireless LAN adaptor
-
-pci:v0000168Cd00000030sv0000103Csd00001627*
- ID_PRODUCT_FROM_DATABASE=AR9380/HB112 802.11abgn 3×3 Wi-Fi Adapter
-
-pci:v0000168Cd00000030sv00001A56sd00002000*
- ID_PRODUCT_FROM_DATABASE=Killer Wireless-N 1102 Half-size Mini PCIe Card [AR9382]
-
-pci:v0000168Cd00000030sv00001A56sd00002001*
- ID_PRODUCT_FROM_DATABASE=Killer Wireless-N 1103 Half-size Mini PCIe Card [AR9380]
-
-pci:v0000168Cd00000032*
- ID_PRODUCT_FROM_DATABASE=AR9485 Wireless Network Adapter
-
-pci:v0000168Cd00000032sv0000103Csd00001838*
- ID_PRODUCT_FROM_DATABASE=AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter
-
-pci:v0000168Cd00000033*
- ID_PRODUCT_FROM_DATABASE=AR9580 Wireless Network Adapter
-
-pci:v0000168Cd00000034*
- ID_PRODUCT_FROM_DATABASE=AR9462 Wireless Network Adapter
-
-pci:v0000168Cd00000036*
- ID_PRODUCT_FROM_DATABASE=AR9565 Wireless Network Adapter
-
-pci:v0000168Cd00000207*
- ID_PRODUCT_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a]
-
-pci:v0000168Cd00001014*
- ID_PRODUCT_FROM_DATABASE=AR5212 802.11abg NIC
-
-pci:v0000168Cd00001014sv00001014sd0000058A*
- ID_PRODUCT_FROM_DATABASE=ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6)
-
-pci:v0000168Cd00009013*
- ID_PRODUCT_FROM_DATABASE=AR5002X Wireless Network Adapter
-
-pci:v0000168Cd0000FF19*
- ID_PRODUCT_FROM_DATABASE=AR5006X Wireless Network Adapter
-
-pci:v0000168Cd0000FF1C*
- ID_PRODUCT_FROM_DATABASE=AR5008 Wireless Network Adapter
-
-pci:v0000168Cd0000FF1D*
- ID_PRODUCT_FROM_DATABASE=AR5008 Wireless Network Adapter
-
-pci:v00001695*
- ID_VENDOR_FROM_DATABASE=EPoX Computer Co., Ltd.
-
-pci:v0000169C*
- ID_VENDOR_FROM_DATABASE=Netcell Corporation
-
-pci:v0000169Cd00000044*
- ID_PRODUCT_FROM_DATABASE=Revolution Storage Processing Card
-
-pci:v0000169D*
- ID_VENDOR_FROM_DATABASE=Club-3D VB (Wrong ID)
-
-pci:v000016A5*
- ID_VENDOR_FROM_DATABASE=Tekram Technology Co.,Ltd.
-
-pci:v000016AB*
- ID_VENDOR_FROM_DATABASE=Global Sun Technology Inc
-
-pci:v000016ABd00001100*
- ID_PRODUCT_FROM_DATABASE=GL24110P
-
-pci:v000016ABd00001101*
- ID_PRODUCT_FROM_DATABASE=PLX9052 PCMCIA-to-PCI Wireless LAN
-
-pci:v000016ABd00001102*
- ID_PRODUCT_FROM_DATABASE=PCMCIA-to-PCI Wireless Network Bridge
-
-pci:v000016ABd00008501*
- ID_PRODUCT_FROM_DATABASE=WL-8305 Wireless LAN PCI Adapter
-
-pci:v000016AE*
- ID_VENDOR_FROM_DATABASE=SafeNet Inc
-
-pci:v000016AEd00000001*
- ID_PRODUCT_FROM_DATABASE=SafeXcel 1140
-
-pci:v000016AEd0000000A*
- ID_PRODUCT_FROM_DATABASE=SafeXcel 1841
-
-pci:v000016AEd00001141*
- ID_PRODUCT_FROM_DATABASE=SafeXcel 1141
-
-pci:v000016AEd00001841*
- ID_PRODUCT_FROM_DATABASE=SafeXcel 1842
-
-pci:v000016AF*
- ID_VENDOR_FROM_DATABASE=SparkLAN Communications, Inc.
-
-pci:v000016B4*
- ID_VENDOR_FROM_DATABASE=Aspex Semiconductor Ltd
-
-pci:v000016B8*
- ID_VENDOR_FROM_DATABASE=Sonnet Technologies, Inc.
-
-pci:v000016BE*
- ID_VENDOR_FROM_DATABASE=Creatix Polymedia GmbH
-
-pci:v000016C6*
- ID_VENDOR_FROM_DATABASE=Micrel-Kendin
-
-pci:v000016C6d00008695*
- ID_PRODUCT_FROM_DATABASE=Centaur KS8695 ARM processor
-
-pci:v000016C6d00008842*
- ID_PRODUCT_FROM_DATABASE=KSZ8842-PMQL 2-Port Ethernet Switch
-
-pci:v000016C8*
- ID_VENDOR_FROM_DATABASE=Octasic Inc.
-
-pci:v000016C9*
- ID_VENDOR_FROM_DATABASE=EONIC B.V. The Netherlands
-
-pci:v000016CA*
- ID_VENDOR_FROM_DATABASE=CENATEK Inc
-
-pci:v000016CAd00000001*
- ID_PRODUCT_FROM_DATABASE=Rocket Drive DL
-
-pci:v000016CD*
- ID_VENDOR_FROM_DATABASE=Advantech Co. Ltd
-
-pci:v000016CDd00000101*
- ID_PRODUCT_FROM_DATABASE=DirectPCI SRAM for DPX-11x series
-
-pci:v000016CDd00000102*
- ID_PRODUCT_FROM_DATABASE=DirectPCI SRAM for DPX-S/C/E-series
-
-pci:v000016CDd00000103*
- ID_PRODUCT_FROM_DATABASE=DirectPCI ROM for DPX-11x series
-
-pci:v000016CDd00000104*
- ID_PRODUCT_FROM_DATABASE=DirectPCI ROM for DPX-S/C/E-series
-
-pci:v000016CDd00000105*
- ID_PRODUCT_FROM_DATABASE=DirectPCI I/O for DPX-114/DPX-115
-
-pci:v000016CDd00000106*
- ID_PRODUCT_FROM_DATABASE=DirectPCI I/O for DPX-116
-
-pci:v000016CDd00000107*
- ID_PRODUCT_FROM_DATABASE=DirectPCI I/O for DPX-116U
-
-pci:v000016CDd00000108*
- ID_PRODUCT_FROM_DATABASE=DirectPCI I/O for DPX-117
-
-pci:v000016CDd00000109*
- ID_PRODUCT_FROM_DATABASE=DirectPCI I/O for DPX-112
-
-pci:v000016CDd0000010A*
- ID_PRODUCT_FROM_DATABASE=DirectPCI I/O for DPX-C/E-series
-
-pci:v000016CDd0000010B*
- ID_PRODUCT_FROM_DATABASE=DirectPCI I/O for DPX-S series
-
-pci:v000016CE*
- ID_VENDOR_FROM_DATABASE=Roland Corp.
-
-pci:v000016D5*
- ID_VENDOR_FROM_DATABASE=Acromag, Inc.
-
-pci:v000016D5d00000504*
- ID_PRODUCT_FROM_DATABASE=PMC-DX504 Reconfigurable FPGA with LVDS I/O
-
-pci:v000016D5d00000520*
- ID_PRODUCT_FROM_DATABASE=PMC520 Serial Communication, 232 Octal
-
-pci:v000016D5d00000521*
- ID_PRODUCT_FROM_DATABASE=PMC521 Serial Communication, 422/485 Octal
-
-pci:v000016D5d00001020*
- ID_PRODUCT_FROM_DATABASE=PMC-AX1020 Reconfigurable FPGA with A/D & D/A
-
-pci:v000016D5d00001065*
- ID_PRODUCT_FROM_DATABASE=PMC-AX1065 Reconfigurable FPGA with A/D & D/A
-
-pci:v000016D5d00002004*
- ID_PRODUCT_FROM_DATABASE=PMC-DX2004 Reconfigurable FPGA with LVDS I/O
-
-pci:v000016D5d00002020*
- ID_PRODUCT_FROM_DATABASE=PMC-AX2020 Reconfigurable FPGA with A/D & D/A
-
-pci:v000016D5d00002065*
- ID_PRODUCT_FROM_DATABASE=PMC-AX2065 Reconfigurable FPGA with A/D & D/A
-
-pci:v000016D5d00003020*
- ID_PRODUCT_FROM_DATABASE=PMC-AX3020 Reconfigurable FPGA with A/D & D/A
-
-pci:v000016D5d00003065*
- ID_PRODUCT_FROM_DATABASE=PMC-AX3065 Reconfigurable FPGA with A/D & D/A
-
-pci:v000016D5d00004243*
- ID_PRODUCT_FROM_DATABASE=PMC424, APC424, AcPC424 Digital I/O and Counter Timer Module
-
-pci:v000016D5d00004248*
- ID_PRODUCT_FROM_DATABASE=PMC464, APC464, AcPC464 Digital I/O and Counter Timer Module
-
-pci:v000016D5d0000424B*
- ID_PRODUCT_FROM_DATABASE=PMC-DX2002 Reconfigurable FPGA with Differential I/O
-
-pci:v000016D5d00004253*
- ID_PRODUCT_FROM_DATABASE=PMC-DX503 Reconfigurable FPGA with TTL and Differential I/O
-
-pci:v000016D5d00004312*
- ID_PRODUCT_FROM_DATABASE=PMC-CX1002 Reconfigurable Conduction-Cooled FPGA Virtex-II with Differential I/O
-
-pci:v000016D5d00004313*
- ID_PRODUCT_FROM_DATABASE=PMC-CX1003 Reconfigurable Conduction-Cooled FPGA Virtex-II with CMOS and Differential I/O
-
-pci:v000016D5d00004322*
- ID_PRODUCT_FROM_DATABASE=PMC-CX2002 Reconfigurable Conduction-Cooled FPGA Virtex-II with Differential I/O
-
-pci:v000016D5d00004323*
- ID_PRODUCT_FROM_DATABASE=PMC-CX2003 Reconfigurable Conduction-Cooled FPGA Virtex-II with CMOS and Differential I/O
-
-pci:v000016D5d00004350*
- ID_PRODUCT_FROM_DATABASE=PMC-DX501 Reconfigurable Digital I/O Module
-
-pci:v000016D5d00004353*
- ID_PRODUCT_FROM_DATABASE=PMC-DX2003 Reconfigurable FPGA with TTL and Differential I/O
-
-pci:v000016D5d00004357*
- ID_PRODUCT_FROM_DATABASE=PMC-DX502 Reconfigurable Differential I/O Module
-
-pci:v000016D5d00004457*
- ID_PRODUCT_FROM_DATABASE=PMC730, APC730, AcPC730 Multifunction Module
-
-pci:v000016D5d0000464D*
- ID_PRODUCT_FROM_DATABASE=PMC408 32-Channel Digital Input/Output Module
-
-pci:v000016D5d00004850*
- ID_PRODUCT_FROM_DATABASE=PMC220-16 12-Bit Analog Output Module
-
-pci:v000016D5d00004A42*
- ID_PRODUCT_FROM_DATABASE=PMC483, APC483, AcPC483 Counter Timer Module
-
-pci:v000016D5d00004A50*
- ID_PRODUCT_FROM_DATABASE=PMC484, APC484, AcPC484 Counter Timer Module
-
-pci:v000016D5d00004A56*
- ID_PRODUCT_FROM_DATABASE=PMC230 16-Bit Analog Output Module
-
-pci:v000016D5d00004B47*
- ID_PRODUCT_FROM_DATABASE=PMC330, APC330, AcPC330 Analog Input Module, 16-bit A/D
-
-pci:v000016D5d00004C40*
- ID_PRODUCT_FROM_DATABASE=PMC-LX40 Reconfigurable Virtex-4 FPGA with plug-in I/O
-
-pci:v000016D5d00004C60*
- ID_PRODUCT_FROM_DATABASE=PMC-LX60 Reconfigurable Virtex-4 FPGA with plug-in I/O
-
-pci:v000016D5d00004D4D*
- ID_PRODUCT_FROM_DATABASE=PMC341, APC341, AcPC341 Analog Input Module, Simultaneous Sample & Hold
-
-pci:v000016D5d00004D4E*
- ID_PRODUCT_FROM_DATABASE=PMC482, APC482, AcPC482 Counter Timer Board
-
-pci:v000016D5d0000524D*
- ID_PRODUCT_FROM_DATABASE=PMC-DX2001 Reconfigurable FPGA with TTL I/O
-
-pci:v000016D5d00005335*
- ID_PRODUCT_FROM_DATABASE=PMC-SX35 Reconfigurable Virtex-4 FPGA with plug-in I/O
-
-pci:v000016D5d00005456*
- ID_PRODUCT_FROM_DATABASE=PMC470 48-Channel Digital Input/Output Module
-
-pci:v000016D5d00005601*
- ID_PRODUCT_FROM_DATABASE=PMC-VLX85 Reconfigurable Virtex-5 FPGA with plug-in I/O
-
-pci:v000016D5d00005602*
- ID_PRODUCT_FROM_DATABASE=PMC-VLX110 Reconfigurable Virtex-5 FPGA with plug-in I/O
-
-pci:v000016D5d00005603*
- ID_PRODUCT_FROM_DATABASE=PMC-VSX95 Reconfigurable Virtex-5 FPGA with plug-in I/O
-
-pci:v000016D5d00005604*
- ID_PRODUCT_FROM_DATABASE=PMC-VLX155 Reconfigurable Virtex-5 FPGA with plug-in I/O
-
-pci:v000016D5d00005605*
- ID_PRODUCT_FROM_DATABASE=PMC-VFX70 Reconfigurable Virtex-5 FPGA with plug-in I/O
-
-pci:v000016D5d00005606*
- ID_PRODUCT_FROM_DATABASE=PMC-VLX155-1M Reconfigurable Virtex-5 FPGA with plug-in I/O
-
-pci:v000016D5d00005701*
- ID_PRODUCT_FROM_DATABASE=PMC-SLX150: Reconfigurable Spartan-6 FPGA with plug-in I/O
-
-pci:v000016D5d00005702*
- ID_PRODUCT_FROM_DATABASE=PMC-SLX150-1M: Reconfigurable Spartan-6 FPGA with plug-in I/O
-
-pci:v000016D5d00005801*
- ID_PRODUCT_FROM_DATABASE=XMC-VLX85 Reconfigurable Virtex-5 FPGA with plug-in I/O
-
-pci:v000016D5d00005802*
- ID_PRODUCT_FROM_DATABASE=XMC-VLX110 Reconfigurable Virtex-5 FPGA with plug-in I/O
-
-pci:v000016D5d00005803*
- ID_PRODUCT_FROM_DATABASE=XMC-VSX95 Reconfigurable Virtex-5 FPGA with plug-in I/O
-
-pci:v000016D5d00005804*
- ID_PRODUCT_FROM_DATABASE=XMC-VLX155 Reconfigurable Virtex-5 FPGA with plug-in I/O
-
-pci:v000016D5d00005807*
- ID_PRODUCT_FROM_DATABASE=XMC-SLX150: Reconfigurable Spartan-6 FPGA with plug-in I/O
-
-pci:v000016D5d00005808*
- ID_PRODUCT_FROM_DATABASE=XMC-SLX150-1M: Reconfigurable Spartan-6 FPGA with plug-in I/O
-
-pci:v000016D5d00005901*
- ID_PRODUCT_FROM_DATABASE=APCe8650 PCI Express IndustryPack Carrier Card
-
-pci:v000016D5d00006301*
- ID_PRODUCT_FROM_DATABASE=XMC Module with user-configurable Virtex-6 FPGA, 240k logic cells, SFP front I/O
-
-pci:v000016D5d00006302*
- ID_PRODUCT_FROM_DATABASE=XMC Module with user-configurable Virtex-6 FPGA, 365k logic cells, SFP front I/O
-
-pci:v000016D5d00006303*
- ID_PRODUCT_FROM_DATABASE=XMC Module with user-configurable Virtex-6 FPGA, 240k logic cells, no front I/O
-
-pci:v000016D5d00006304*
- ID_PRODUCT_FROM_DATABASE=XMC Module with user-configurable Virtex-6 FPGA, 365k logic cells, no front I/O
-
-pci:v000016DA*
- ID_VENDOR_FROM_DATABASE=Advantech Co., Ltd.
-
-pci:v000016DAd00000011*
- ID_PRODUCT_FROM_DATABASE=INES GPIB-PCI
-
-pci:v000016DF*
- ID_VENDOR_FROM_DATABASE=PIKA Technologies Inc.
-
-pci:v000016E2*
- ID_VENDOR_FROM_DATABASE=Geotest-MTS
-
-pci:v000016E3*
- ID_VENDOR_FROM_DATABASE=European Space Agency
-
-pci:v000016E3d00001E0F*
- ID_PRODUCT_FROM_DATABASE=LEON2FT Processor
-
-pci:v000016E5*
- ID_VENDOR_FROM_DATABASE=Intellon Corp.
-
-pci:v000016E5d00006000*
- ID_PRODUCT_FROM_DATABASE=INT6000 Ethernet-to-Powerline Bridge [HomePlug AV]
-
-pci:v000016E5d00006300*
- ID_PRODUCT_FROM_DATABASE=INT6300 Ethernet-to-Powerline Bridge [HomePlug AV]
-
-pci:v000016EC*
- ID_VENDOR_FROM_DATABASE=U.S. Robotics
-
-pci:v000016ECd000000ED*
- ID_PRODUCT_FROM_DATABASE=USR997900
-
-pci:v000016ECd00000116*
- ID_PRODUCT_FROM_DATABASE=USR997902 10/100/1000 Mbps PCI Network Card
-
-pci:v000016ECd00002F00*
- ID_PRODUCT_FROM_DATABASE=USR5660A (USR265660A, USR5660A-BP) 56K PCI Faxmodem
-
-pci:v000016ECd00003685*
- ID_PRODUCT_FROM_DATABASE=Wireless Access PCI Adapter Model 022415
-
-pci:v000016ECd00004320*
- ID_PRODUCT_FROM_DATABASE=USR997904 10/100/1000 64-bit NIC (Marvell Yukon)
-
-pci:v000016ECd0000AB06*
- ID_PRODUCT_FROM_DATABASE=USR997901A 10/100 Cardbus NIC
-
-pci:v000016ED*
- ID_VENDOR_FROM_DATABASE=Sycron N. V.
-
-pci:v000016EDd00001001*
- ID_PRODUCT_FROM_DATABASE=UMIO communication card
-
-pci:v000016F3*
- ID_VENDOR_FROM_DATABASE=Jetway Information Co., Ltd.
-
-pci:v000016F4*
- ID_VENDOR_FROM_DATABASE=Vweb Corp
-
-pci:v000016F4d00008000*
- ID_PRODUCT_FROM_DATABASE=VW2010
-
-pci:v000016F6*
- ID_VENDOR_FROM_DATABASE=VideoTele.com, Inc.
-
-pci:v00001702*
- ID_VENDOR_FROM_DATABASE=Internet Machines Corporation (IMC)
-
-pci:v00001705*
- ID_VENDOR_FROM_DATABASE=Digital First, Inc.
-
-pci:v0000170B*
- ID_VENDOR_FROM_DATABASE=NetOctave
-
-pci:v0000170Bd00000100*
- ID_PRODUCT_FROM_DATABASE=NSP2000-SSL crypto accelerator
-
-pci:v0000170C*
- ID_VENDOR_FROM_DATABASE=YottaYotta Inc.
-
-pci:v00001719*
- ID_VENDOR_FROM_DATABASE=EZChip Technologies
-
-pci:v00001725*
- ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor
-
-pci:v00001725d00007174*
- ID_PRODUCT_FROM_DATABASE=VSC7174 PCI/PCI-X Serial ATA Host Bus Controller
-
-pci:v0000172A*
- ID_VENDOR_FROM_DATABASE=Accelerated Encryption
-
-pci:v0000172Ad000013C8*
- ID_PRODUCT_FROM_DATABASE=AEP SureWare Runner 1000V3
-
-pci:v00001734*
- ID_VENDOR_FROM_DATABASE=Fujitsu Technology Solutions
-
-pci:v00001734d00001078*
- ID_PRODUCT_FROM_DATABASE=Amilo Pro v2010
-
-pci:v00001734d00001085*
- ID_PRODUCT_FROM_DATABASE=Celsius M450
-
-pci:v00001734d00001098*
- ID_PRODUCT_FROM_DATABASE=Amilo L 1310G
-
-pci:v00001735*
- ID_VENDOR_FROM_DATABASE=Aten International Co. Ltd.
-
-pci:v00001737*
- ID_VENDOR_FROM_DATABASE=Linksys
-
-pci:v00001737d00000029*
- ID_PRODUCT_FROM_DATABASE=WPG54G ver. 4 PCI Card
-
-pci:v00001737d00001032*
- ID_PRODUCT_FROM_DATABASE=Gigabit Network Adapter
-
-pci:v00001737d00001032sv00001737sd00000015*
- ID_PRODUCT_FROM_DATABASE=EG1032 v2 Instant Gigabit Network Adapter
-
-pci:v00001737d00001032sv00001737sd00000024*
- ID_PRODUCT_FROM_DATABASE=EG1032 v3 Instant Gigabit Network Adapter
-
-pci:v00001737d00001064*
- ID_PRODUCT_FROM_DATABASE=Gigabit Network Adapter
-
-pci:v00001737d00001064sv00001737sd00000016*
- ID_PRODUCT_FROM_DATABASE=EG1064 v2 Instant Gigabit Network Adapter
-
-pci:v00001737d0000AB08*
- ID_PRODUCT_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
-
-pci:v00001737d0000AB09*
- ID_PRODUCT_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet
-
-pci:v0000173B*
- ID_VENDOR_FROM_DATABASE=Altima (nee Broadcom)
-
-pci:v0000173Bd000003E8*
- ID_PRODUCT_FROM_DATABASE=AC1000 Gigabit Ethernet
-
-pci:v0000173Bd000003E9*
- ID_PRODUCT_FROM_DATABASE=AC1001 Gigabit Ethernet
-
-pci:v0000173Bd000003EA*
- ID_PRODUCT_FROM_DATABASE=AC9100 Gigabit Ethernet
-
-pci:v0000173Bd000003EAsv0000173Bsd00000001*
- ID_PRODUCT_FROM_DATABASE=AC1002
-
-pci:v0000173Bd000003EB*
- ID_PRODUCT_FROM_DATABASE=AC1003 Gigabit Ethernet
-
-pci:v00001743*
- ID_VENDOR_FROM_DATABASE=Peppercon AG
-
-pci:v00001743d00008139*
- ID_PRODUCT_FROM_DATABASE=ROL/F-100 Fast Ethernet Adapter with ROL
-
-pci:v00001745*
- ID_VENDOR_FROM_DATABASE=ViXS Systems, Inc.
-
-pci:v00001745d00002020*
- ID_PRODUCT_FROM_DATABASE=XCode II Series
-
-pci:v00001745d00002100*
- ID_PRODUCT_FROM_DATABASE=XCode 2100 Series
-
-pci:v00001749*
- ID_VENDOR_FROM_DATABASE=RLX Technologies
-
-pci:v0000174B*
- ID_VENDOR_FROM_DATABASE=PC Partner Limited
-
-pci:v0000174D*
- ID_VENDOR_FROM_DATABASE=WellX Telecom SA
-
-pci:v0000175C*
- ID_VENDOR_FROM_DATABASE=AudioScience Inc
-
-pci:v0000175E*
- ID_VENDOR_FROM_DATABASE=Sanera Systems, Inc.
-
-pci:v00001760*
- ID_VENDOR_FROM_DATABASE=TEDIA spol. s r. o.
-
-pci:v00001771*
- ID_VENDOR_FROM_DATABASE=InnoVISION Multimedia Ltd.
-
-pci:v00001775*
- ID_VENDOR_FROM_DATABASE=GE Intelligent Platforms
-
-pci:v0000177D*
- ID_VENDOR_FROM_DATABASE=Cavium Networks
-
-pci:v0000177Dd00000001*
- ID_PRODUCT_FROM_DATABASE=Nitrox XL N1
-
-pci:v0000177Dd00000003*
- ID_PRODUCT_FROM_DATABASE=Nitrox XL N1 Lite
-
-pci:v0000177Dd00000004*
- ID_PRODUCT_FROM_DATABASE=Octeon (and older) FIPS
-
-pci:v0000177Dd00000005*
- ID_PRODUCT_FROM_DATABASE=Octeon CN38XX Network Processor Pass 3.x
-
-pci:v0000177Dd00000006*
- ID_PRODUCT_FROM_DATABASE=RoHS
-
-pci:v0000177Dd00000010*
- ID_PRODUCT_FROM_DATABASE=Nitrox XL NPX
-
-pci:v0000177Dd00000020*
- ID_PRODUCT_FROM_DATABASE=Octeon CN31XX Network Processor
-
-pci:v0000177Dd00000030*
- ID_PRODUCT_FROM_DATABASE=Octeon CN30XX Network Processor
-
-pci:v0000177Dd00000040*
- ID_PRODUCT_FROM_DATABASE=Octeon CN58XX Network Processor
-
-pci:v0000177Dd00000050*
- ID_PRODUCT_FROM_DATABASE=Octeon CN57XX Network Processor (CN54XX/CN55XX/CN56XX)
-
-pci:v0000177Dd00000070*
- ID_PRODUCT_FROM_DATABASE=Octeon CN50XX Network Processor
-
-pci:v0000177Dd00000080*
- ID_PRODUCT_FROM_DATABASE=Octeon CN52XX Network Processor
-
-pci:v0000177Dd00000090*
- ID_PRODUCT_FROM_DATABASE=Octeon II CN63XX Network Processor
-
-pci:v0000177Dd00000091*
- ID_PRODUCT_FROM_DATABASE=Octeon II CN68XX Network Processor
-
-pci:v0000177Dd00000092*
- ID_PRODUCT_FROM_DATABASE=Octeon II CN65XX Network Processor
-
-pci:v0000177Dd00000093*
- ID_PRODUCT_FROM_DATABASE=Octeon II CN61XX Network Processor
-
-pci:v00001787*
- ID_VENDOR_FROM_DATABASE=Hightech Information System Ltd.
-
-pci:v00001789*
- ID_VENDOR_FROM_DATABASE=Ennyah Technologies Corp.
-
-pci:v00001796*
- ID_VENDOR_FROM_DATABASE=Research Centre Juelich
-
-pci:v00001796d00000001*
- ID_PRODUCT_FROM_DATABASE=SIS1100 [Gigabit link]
-
-pci:v00001796d00000002*
- ID_PRODUCT_FROM_DATABASE=HOTlink
-
-pci:v00001796d00000003*
- ID_PRODUCT_FROM_DATABASE=Counter Timer
-
-pci:v00001796d00000004*
- ID_PRODUCT_FROM_DATABASE=CAMAC Controller
-
-pci:v00001796d00000005*
- ID_PRODUCT_FROM_DATABASE=PROFIBUS
-
-pci:v00001796d00000006*
- ID_PRODUCT_FROM_DATABASE=AMCC HOTlink
-
-pci:v00001796d0000000D*
- ID_PRODUCT_FROM_DATABASE=Synchronisation Slave
-
-pci:v00001796d0000000E*
- ID_PRODUCT_FROM_DATABASE=SIS1100-eCMC
-
-pci:v00001796d0000000F*
- ID_PRODUCT_FROM_DATABASE=TDC (GPX)
-
-pci:v00001796d00000010*
- ID_PRODUCT_FROM_DATABASE=PCIe Counter Timer
-
-pci:v00001796d00000011*
- ID_PRODUCT_FROM_DATABASE=SIS1100-e single link
-
-pci:v00001796d00000012*
- ID_PRODUCT_FROM_DATABASE=SIS1100-e quad link
-
-pci:v00001797*
- ID_VENDOR_FROM_DATABASE=Techwell Inc.
-
-pci:v00001797d00006801*
- ID_PRODUCT_FROM_DATABASE=TW6802 multimedia video card
-
-pci:v00001797d00006802*
- ID_PRODUCT_FROM_DATABASE=TW6802 multimedia other device
-
-pci:v00001797d00006810*
- ID_PRODUCT_FROM_DATABASE=TW6816 multimedia video controller
-
-pci:v00001797d00006811*
- ID_PRODUCT_FROM_DATABASE=TW6816 multimedia video controller
-
-pci:v00001797d00006812*
- ID_PRODUCT_FROM_DATABASE=TW6816 multimedia video controller
-
-pci:v00001797d00006813*
- ID_PRODUCT_FROM_DATABASE=TW6816 multimedia video controller
-
-pci:v00001799*
- ID_VENDOR_FROM_DATABASE=Belkin
-
-pci:v00001799d00006001*
- ID_PRODUCT_FROM_DATABASE=F5D6001 Wireless PCI Card [Realtek RTL8180]
-
-pci:v00001799d00006020*
- ID_PRODUCT_FROM_DATABASE=F5D6020 v3000 Wireless PCMCIA Card [Realtek RTL8180]
-
-pci:v00001799d00006060*
- ID_PRODUCT_FROM_DATABASE=F5D6060 Wireless PDA Card
-
-pci:v00001799d0000700F*
- ID_PRODUCT_FROM_DATABASE=F5D7000 v7000 Wireless G Desktop Card [Realtek RTL8185]
-
-pci:v00001799d0000701F*
- ID_PRODUCT_FROM_DATABASE=F5D7010 v7000 Wireless G Notebook Card [Realtek RTL8185]
-
-pci:v0000179A*
- ID_VENDOR_FROM_DATABASE=id Quantique
-
-pci:v0000179Ad00000001*
- ID_PRODUCT_FROM_DATABASE=Quantis PCI 16Mbps
-
-pci:v0000179C*
- ID_VENDOR_FROM_DATABASE=Data Patterns
-
-pci:v0000179Cd00000557*
- ID_PRODUCT_FROM_DATABASE=DP-PCI-557 [PCI 1553B]
-
-pci:v0000179Cd00000566*
- ID_PRODUCT_FROM_DATABASE=DP-PCI-566 [Intelligent PCI 1553B]
-
-pci:v0000179Cd00001152*
- ID_PRODUCT_FROM_DATABASE=DP-cPCI-1152 (8-channel Isolated ADC Module)
-
-pci:v0000179Cd00005031*
- ID_PRODUCT_FROM_DATABASE=DP-CPCI-5031-Synchro Module
-
-pci:v0000179Cd00005112*
- ID_PRODUCT_FROM_DATABASE=DP-cPCI-5112 [MM-Carrier]
-
-pci:v0000179Cd00005121*
- ID_PRODUCT_FROM_DATABASE=DP-CPCI-5121-IP Carrier
-
-pci:v0000179Cd00005211*
- ID_PRODUCT_FROM_DATABASE=DP-CPCI-5211-IP Carrier
-
-pci:v0000179Cd00005679*
- ID_PRODUCT_FROM_DATABASE=AGE Display Module
-
-pci:v000017A0*
- ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc
-
-pci:v000017A0d00007163*
- ID_PRODUCT_FROM_DATABASE=GL9701 PCIe to PCI Bridge
-
-pci:v000017A0d00008083*
- ID_PRODUCT_FROM_DATABASE=GL880 USB 1.1 UHCI controller
-
-pci:v000017A0d00008084*
- ID_PRODUCT_FROM_DATABASE=GL880 USB 2.0 EHCI controller
-
-pci:v000017AA*
- ID_VENDOR_FROM_DATABASE=Lenovo
-
-pci:v000017AB*
- ID_VENDOR_FROM_DATABASE=Phillips Components
-
-pci:v000017AF*
- ID_VENDOR_FROM_DATABASE=Hightech Information System Ltd.
-
-pci:v000017B3*
- ID_VENDOR_FROM_DATABASE=Hawking Technologies
-
-pci:v000017B3d0000AB08*
- ID_PRODUCT_FROM_DATABASE=PN672TX 10/100 Ethernet
-
-pci:v000017B4*
- ID_VENDOR_FROM_DATABASE=Indra Networks, Inc.
-
-pci:v000017B4d00000011*
- ID_PRODUCT_FROM_DATABASE=WebEnhance 100 GZIP Compression Card
-
-pci:v000017B4d00000012*
- ID_PRODUCT_FROM_DATABASE=WebEnhance 200 GZIP Compression Card
-
-pci:v000017B4d00000015*
- ID_PRODUCT_FROM_DATABASE=WebEnhance 300 GZIP Compression Card
-
-pci:v000017B4d00000016*
- ID_PRODUCT_FROM_DATABASE=StorCompress 300 GZIP Compression Card
-
-pci:v000017B4d00000017*
- ID_PRODUCT_FROM_DATABASE=StorSecure 300 GZIP Compression and AES Encryption Card
-
-pci:v000017C0*
- ID_VENDOR_FROM_DATABASE=Wistron Corp.
-
-pci:v000017C2*
- ID_VENDOR_FROM_DATABASE=Newisys, Inc.
-
-pci:v000017CB*
- ID_VENDOR_FROM_DATABASE=Airgo Networks Inc
-
-pci:v000017CBd00000001*
- ID_PRODUCT_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card
-
-pci:v000017CBd00000001sv00001385sd00005C00*
- ID_PRODUCT_FROM_DATABASE=WGM511 Pre-N 802.11g Wireless CardBus Adapter
-
-pci:v000017CBd00000001sv00001737sd00000045*
- ID_PRODUCT_FROM_DATABASE=WMP54GX v1 802.11g Wireless-G PCI Adapter with SRX
-
-pci:v000017CBd00000002*
- ID_PRODUCT_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card
-
-pci:v000017CBd00000002sv00001385sd00006D00*
- ID_PRODUCT_FROM_DATABASE=WPNT511 RangeMax 240 Mbps Wireless CardBus Adapter
-
-pci:v000017CBd00000002sv00001737sd00000054*
- ID_PRODUCT_FROM_DATABASE=WPC54GX4 v1 802.11g Wireless-G Notebook Adapter with SRX400
-
-pci:v000017CC*
- ID_VENDOR_FROM_DATABASE=NetChip Technology, Inc
-
-pci:v000017CCd00002280*
- ID_PRODUCT_FROM_DATABASE=USB 2.0
-
-pci:v000017CF*
- ID_VENDOR_FROM_DATABASE=Z-Com, Inc.
-
-pci:v000017D3*
- ID_VENDOR_FROM_DATABASE=Areca Technology Corp.
-
-pci:v000017D3d00001110*
- ID_PRODUCT_FROM_DATABASE=ARC-1110 4-Port PCI-X to SATA RAID Controller
-
-pci:v000017D3d00001120*
- ID_PRODUCT_FROM_DATABASE=ARC-1120 8-Port PCI-X to SATA RAID Controller
-
-pci:v000017D3d00001130*
- ID_PRODUCT_FROM_DATABASE=ARC-1130 12-Port PCI-X to SATA RAID Controller
-
-pci:v000017D3d00001160*
- ID_PRODUCT_FROM_DATABASE=ARC-1160 16-Port PCI-X to SATA RAID Controller
-
-pci:v000017D3d00001170*
- ID_PRODUCT_FROM_DATABASE=ARC-1170 24-Port PCI-X to SATA RAID Controller
-
-pci:v000017D3d00001201*
- ID_PRODUCT_FROM_DATABASE=ARC-1200 2-Port PCI-Express to SATA II RAID Controller
-
-pci:v000017D3d00001210*
- ID_PRODUCT_FROM_DATABASE=ARC-1210 4-Port PCI-Express to SATA RAID Controller
-
-pci:v000017D3d00001220*
- ID_PRODUCT_FROM_DATABASE=ARC-1220 8-Port PCI-Express to SATA RAID Controller
-
-pci:v000017D3d00001222*
- ID_PRODUCT_FROM_DATABASE=ARC-1222 8-Port PCI-Express to SAS/SATA II RAID Controller
-
-pci:v000017D3d00001230*
- ID_PRODUCT_FROM_DATABASE=ARC-1230 12-Port PCI-Express to SATA RAID Controller
-
-pci:v000017D3d00001260*
- ID_PRODUCT_FROM_DATABASE=ARC-1260 16-Port PCI-Express to SATA RAID Controller
-
-pci:v000017D3d00001280*
- ID_PRODUCT_FROM_DATABASE=ARC-1280/1280ML 24-Port PCI-Express to SATA II RAID Controller
-
-pci:v000017D3d00001280sv000017D3sd00001221*
- ID_PRODUCT_FROM_DATABASE=ARC-1221 8-Port PCI-Express to SATA RAID Controller
-
-pci:v000017D3d00001300*
- ID_PRODUCT_FROM_DATABASE=ARC-1300ix-16 16-Port PCI-Express to SAS Non-RAID Host Adapter
-
-pci:v000017D3d00001680*
- ID_PRODUCT_FROM_DATABASE=ARC-1680 8 port PCIe/PCI-X to SAS/SATA II RAID Controller
-
-pci:v000017D3d00001680sv000017D3sd00001212*
- ID_PRODUCT_FROM_DATABASE=ARC-1212 4-Port PCIe to SAS/SATA II RAID Controller
-
-pci:v000017D3d00001880*
- ID_PRODUCT_FROM_DATABASE=ARC-1880 8/12 port PCIe/PCI-X to SAS/SATA II RAID Controller
-
-pci:v000017D5*
- ID_VENDOR_FROM_DATABASE=Exar Corp.
-
-pci:v000017D5d00005731*
- ID_PRODUCT_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X
-
-pci:v000017D5d00005732*
- ID_PRODUCT_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0
-
-pci:v000017D5d00005831*
- ID_PRODUCT_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X
-
-pci:v000017D5d00005831sv0000103Csd000012D5*
- ID_PRODUCT_FROM_DATABASE=PCI-X 133MHz 10GbE SR Fiber
-
-pci:v000017D5d00005831sv000010A9sd00008020*
- ID_PRODUCT_FROM_DATABASE=Single Port 10-Gigabit Ethernet (PCI-X, Fiber)
-
-pci:v000017D5d00005831sv000010A9sd00008024*
- ID_PRODUCT_FROM_DATABASE=Single Port 10-Gigabit Ethernet (PCI-X, Fiber)
-
-pci:v000017D5d00005832*
- ID_PRODUCT_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0
-
-pci:v000017D5d00005832sv0000103Csd00001337*
- ID_PRODUCT_FROM_DATABASE=PCI-X 266MHz 10GigE SR [AD385A]
-
-pci:v000017D5d00005832sv000010A9sd00008021*
- ID_PRODUCT_FROM_DATABASE=Single Port 10-Gigabit Ethernet II (PCI-X, Fiber)
-
-pci:v000017D5d00005832sv000017D5sd00006020*
- ID_PRODUCT_FROM_DATABASE=Xframe II SR
-
-pci:v000017D5d00005832sv000017D5sd00006021*
- ID_PRODUCT_FROM_DATABASE=Xframe II SR, Low Profile
-
-pci:v000017D5d00005832sv000017D5sd00006022*
- ID_PRODUCT_FROM_DATABASE=Xframe E SR
-
-pci:v000017D5d00005832sv000017D5sd00006420*
- ID_PRODUCT_FROM_DATABASE=Xframe II LR
-
-pci:v000017D5d00005832sv000017D5sd00006421*
- ID_PRODUCT_FROM_DATABASE=Xframe II LR, Low Profile
-
-pci:v000017D5d00005832sv000017D5sd00006422*
- ID_PRODUCT_FROM_DATABASE=Xframe E LR
-
-pci:v000017D5d00005832sv000017D5sd00006C20*
- ID_PRODUCT_FROM_DATABASE=Xframe II CX4
-
-pci:v000017D5d00005832sv000017D5sd00006C21*
- ID_PRODUCT_FROM_DATABASE=Xframe II CX4, Low Profile
-
-pci:v000017D5d00005832sv000017D5sd00006C22*
- ID_PRODUCT_FROM_DATABASE=Xframe E CX4
-
-pci:v000017D5d00005833*
- ID_PRODUCT_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe
-
-pci:v000017D5d00005833sv000017D5sd00006030*
- ID_PRODUCT_FROM_DATABASE=X3110 Single Port SR
-
-pci:v000017D5d00005833sv000017D5sd00006031*
- ID_PRODUCT_FROM_DATABASE=X3120 Dual Port SR
-
-pci:v000017D5d00005833sv000017D5sd00006430*
- ID_PRODUCT_FROM_DATABASE=X3110 Single Port LR
-
-pci:v000017D5d00005833sv000017D5sd00006431*
- ID_PRODUCT_FROM_DATABASE=X3120 Dual Port LR
-
-pci:v000017D5d00005833sv000017D5sd00007030*
- ID_PRODUCT_FROM_DATABASE=X3110 Single Port LRM
-
-pci:v000017D5d00005833sv000017D5sd00007031*
- ID_PRODUCT_FROM_DATABASE=X3120 Dual Port LRM
-
-pci:v000017D5d00005833sv000017D5sd00007430*
- ID_PRODUCT_FROM_DATABASE=X3110 Single Port 10GBase-T
-
-pci:v000017D5d00005833sv000017D5sd00007431*
- ID_PRODUCT_FROM_DATABASE=X3120 Dual Port 10GBase-T
-
-pci:v000017D5d00005833sv000017D5sd00007830*
- ID_PRODUCT_FROM_DATABASE=X3110 Single Port 10GBase-CR
-
-pci:v000017D5d00005833sv000017D5sd00007831*
- ID_PRODUCT_FROM_DATABASE=X3120 Dual Port 10GBase-CR
-
-pci:v000017DB*
- ID_VENDOR_FROM_DATABASE=Cray Inc
-
-pci:v000017DBd00000101*
- ID_PRODUCT_FROM_DATABASE=XT Series [Seastar] 3D Toroidal Router
-
-pci:v000017DE*
- ID_VENDOR_FROM_DATABASE=KWorld Computer Co. Ltd.
-
-pci:v000017E4*
- ID_VENDOR_FROM_DATABASE=Sectra AB
-
-pci:v000017E4d00000001*
- ID_PRODUCT_FROM_DATABASE=KK671 Cardbus encryption board
-
-pci:v000017E4d00000002*
- ID_PRODUCT_FROM_DATABASE=KK672 Cardbus encryption board
-
-pci:v000017E6*
- ID_VENDOR_FROM_DATABASE=Entropic Communications Inc.
-
-pci:v000017E6d00000010*
- ID_PRODUCT_FROM_DATABASE=EN2010 [c.Link] MoCA Network Controller (Coax, PCI interface)
-
-pci:v000017E6d00000011*
- ID_PRODUCT_FROM_DATABASE=EN2010 [c.Link] MoCA Network Controller (Coax, MPEG interface)
-
-pci:v000017E6d00000021*
- ID_PRODUCT_FROM_DATABASE=EN2210 [c.Link] MoCA Network Controller (Coax)
-
-pci:v000017E6d00000025*
- ID_PRODUCT_FROM_DATABASE=EN2510 [c.Link] MoCA Network Controller (Coax, PCIe interface)
-
-pci:v000017E6d00000027*
- ID_PRODUCT_FROM_DATABASE=EN2710 [c.Link] MoCA 2.0 Network Controller (Coax, PCIe interface)
-
-pci:v000017EE*
- ID_VENDOR_FROM_DATABASE=Connect Components Ltd
-
-pci:v000017F2*
- ID_VENDOR_FROM_DATABASE=Albatron Corp.
-
-pci:v000017F3*
- ID_VENDOR_FROM_DATABASE=RDC Semiconductor, Inc.
-
-pci:v000017F3d00001010*
- ID_PRODUCT_FROM_DATABASE=R1010 IDE Controller
-
-pci:v000017F3d00006020*
- ID_PRODUCT_FROM_DATABASE=R6020 North Bridge
-
-pci:v000017F3d00006021*
- ID_PRODUCT_FROM_DATABASE=R6021 Host Bridge
-
-pci:v000017F3d00006030*
- ID_PRODUCT_FROM_DATABASE=R6030 ISA Bridge
-
-pci:v000017F3d00006031*
- ID_PRODUCT_FROM_DATABASE=R6031 ISA Bridge
-
-pci:v000017F3d00006040*
- ID_PRODUCT_FROM_DATABASE=R6040 MAC Controller
-
-pci:v000017F3d00006060*
- ID_PRODUCT_FROM_DATABASE=R6060 USB 1.1 Controller
-
-pci:v000017F3d00006061*
- ID_PRODUCT_FROM_DATABASE=R6061 USB 2.0 Controller
-
-pci:v000017F7*
- ID_VENDOR_FROM_DATABASE=Topdek Semiconductor Inc.
-
-pci:v000017F9*
- ID_VENDOR_FROM_DATABASE=Gemtek Technology Co., Ltd
-
-pci:v000017FC*
- ID_VENDOR_FROM_DATABASE=IOGEAR, Inc.
-
-pci:v000017FE*
- ID_VENDOR_FROM_DATABASE=InProComm Inc.
-
-pci:v000017FEd00002120*
- ID_PRODUCT_FROM_DATABASE=IPN 2120 802.11b
-
-pci:v000017FEd00002120sv00001737sd00000020*
- ID_PRODUCT_FROM_DATABASE=WMP11 v4 802.11b Wireless-B PCI Adapter
-
-pci:v000017FEd00002220*
- ID_PRODUCT_FROM_DATABASE=IPN 2220 802.11g
-
-pci:v000017FEd00002220sv00001468sd00000305*
- ID_PRODUCT_FROM_DATABASE=T60N871 802.11g Mini PCI Wireless Adapter
-
-pci:v000017FEd00002220sv00001737sd00000029*
- ID_PRODUCT_FROM_DATABASE=WPC54G v4 802.11g Wireless-G Notebook Adapter
-
-pci:v000017FF*
- ID_VENDOR_FROM_DATABASE=Benq Corporation
-
-pci:v00001803*
- ID_VENDOR_FROM_DATABASE=ProdaSafe GmbH
-
-pci:v00001805*
- ID_VENDOR_FROM_DATABASE=Euresys S.A.
-
-pci:v00001809*
- ID_VENDOR_FROM_DATABASE=Lumanate, Inc.
-
-pci:v00001813*
- ID_VENDOR_FROM_DATABASE=Ambient Technologies Inc
-
-pci:v00001813d00004000*
- ID_PRODUCT_FROM_DATABASE=HaM controllerless modem
-
-pci:v00001813d00004000sv000016BEsd00000001*
- ID_PRODUCT_FROM_DATABASE=V9x HAM Data Fax Modem
-
-pci:v00001813d00004100*
- ID_PRODUCT_FROM_DATABASE=HaM plus Data Fax Modem
-
-pci:v00001813d00004100sv000016BEsd00000002*
- ID_PRODUCT_FROM_DATABASE=V9x HAM 1394
-
-pci:v00001814*
- ID_VENDOR_FROM_DATABASE=Ralink corp.
-
-pci:v00001814d00000101*
- ID_PRODUCT_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460
-
-pci:v00001814d00000101sv00001043sd00000127*
- ID_PRODUCT_FROM_DATABASE=WiFi-b add-on Card
-
-pci:v00001814d00000101sv00001371sd00000010*
- ID_PRODUCT_FROM_DATABASE=Minitar MNW2BPCI Wireless PCI Card
-
-pci:v00001814d00000101sv00001462sd00006828*
- ID_PRODUCT_FROM_DATABASE=PC11B2 (MS-6828) Wireless 11b PCI Card
-
-pci:v00001814d00000200*
- ID_PRODUCT_FROM_DATABASE=RT2500 802.11g PCI [PC54G2]
-
-pci:v00001814d00000201*
- ID_PRODUCT_FROM_DATABASE=RT2500 Wireless 802.11bg
-
-pci:v00001814d00000201sv00001043sd0000130F*
- ID_PRODUCT_FROM_DATABASE=WL-130g
-
-pci:v00001814d00000201sv00001186sd00003C00*
- ID_PRODUCT_FROM_DATABASE=DWL-G650X Wireless 11g CardBus Adapter
-
-pci:v00001814d00000201sv00001371sd0000001E*
- ID_PRODUCT_FROM_DATABASE=CWC-854 Wireless-G CardBus Adapter
-
-pci:v00001814d00000201sv00001371sd0000001F*
- ID_PRODUCT_FROM_DATABASE=CWM-854 Wireless-G Mini PCI Adapter
-
-pci:v00001814d00000201sv00001371sd00000020*
- ID_PRODUCT_FROM_DATABASE=CWP-854 Wireless-G PCI Adapter
-
-pci:v00001814d00000201sv00001458sd0000E381*
- ID_PRODUCT_FROM_DATABASE=GN-WMKG 802.11b/g Wireless CardBus Adapter
-
-pci:v00001814d00000201sv00001458sd0000E931*
- ID_PRODUCT_FROM_DATABASE=GN-WIKG 802.11b/g mini-PCI Adapter
-
-pci:v00001814d00000201sv00001462sd00006833*
- ID_PRODUCT_FROM_DATABASE=Unknown 802.11g mini-PCI Adapter
-
-pci:v00001814d00000201sv00001462sd00006835*
- ID_PRODUCT_FROM_DATABASE=Wireless 11G CardBus CB54G2
-
-pci:v00001814d00000201sv00001737sd00000032*
- ID_PRODUCT_FROM_DATABASE=WMP54G v4.0 PCI Adapter
-
-pci:v00001814d00000201sv00001799sd0000700A*
- ID_PRODUCT_FROM_DATABASE=F5D7000 v2000/v3000 Wireless G Desktop Card
-
-pci:v00001814d00000201sv00001799sd0000701A*
- ID_PRODUCT_FROM_DATABASE=F5D7010 v2000/v3000 Wireless G Notebook Card
-
-pci:v00001814d00000201sv00001814sd00002560*
- ID_PRODUCT_FROM_DATABASE=RT2500 Wireless 802.11bg
-
-pci:v00001814d00000201sv0000182Dsd00009073*
- ID_PRODUCT_FROM_DATABASE=WL-115 Wireless Network PCI Adapter
-
-pci:v00001814d00000201sv0000185Fsd000022A0*
- ID_PRODUCT_FROM_DATABASE=CN-WF513 Wireless Cardbus Adapter
-
-pci:v00001814d00000201sv000018EBsd00005312*
- ID_PRODUCT_FROM_DATABASE=WL531P IEEE 802.11g PCI Card-EU
-
-pci:v00001814d00000201sv00001948sd00003C00*
- ID_PRODUCT_FROM_DATABASE=C54RC v1 Wireless 11g CardBus Adapter
-
-pci:v00001814d00000201sv00001948sd00003C01*
- ID_PRODUCT_FROM_DATABASE=C54Ri v1 Wireless 11g PCI Adapter
-
-pci:v00001814d00000300*
- ID_PRODUCT_FROM_DATABASE=Wireless Adapter Canyon CN-WF511
-
-pci:v00001814d00000301*
- ID_PRODUCT_FROM_DATABASE=RT2561/RT61 802.11g PCI
-
-pci:v00001814d00000301sv00001186sd00003C08*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E1)
-
-pci:v00001814d00000301sv00001186sd00003C09*
- ID_PRODUCT_FROM_DATABASE=DWL-G510 Rev C
-
-pci:v00001814d00000301sv000013D1sd0000ABE3*
- ID_PRODUCT_FROM_DATABASE=miniPCI Pluscom 802.11 a/b/g
-
-pci:v00001814d00000301sv00001458sd0000E933*
- ID_PRODUCT_FROM_DATABASE=GN-WI01GS
-
-pci:v00001814d00000301sv00001458sd0000E934*
- ID_PRODUCT_FROM_DATABASE=GN-WP01GS
-
-pci:v00001814d00000301sv00001737sd00000055*
- ID_PRODUCT_FROM_DATABASE=WMP54G v4.1
-
-pci:v00001814d00000301sv00001799sd0000700E*
- ID_PRODUCT_FROM_DATABASE=F5D7000 v6000 Wireless G Desktop Card
-
-pci:v00001814d00000301sv00001799sd0000701E*
- ID_PRODUCT_FROM_DATABASE=F5D7010 v6000 Wireless G Notebook Card
-
-pci:v00001814d00000301sv000017F9sd00000012*
- ID_PRODUCT_FROM_DATABASE=AWLC3026T 802.11g Wireless CardBus Adapter
-
-pci:v00001814d00000301sv00001814sd00002561*
- ID_PRODUCT_FROM_DATABASE=EW-7108PCg/EW-7128g
-
-pci:v00001814d00000302*
- ID_PRODUCT_FROM_DATABASE=RT2561/RT61 rev B 802.11g
-
-pci:v00001814d00000302sv00001186sd00003A71*
- ID_PRODUCT_FROM_DATABASE=DWA-510 Wireless G Desktop Adapter
-
-pci:v00001814d00000302sv00001186sd00003C08*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E2)
-
-pci:v00001814d00000302sv00001186sd00003C09*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G510 Wireless Network Adapter (Rev.C)
-
-pci:v00001814d00000302sv00001462sd0000B834*
- ID_PRODUCT_FROM_DATABASE=PC54G3 Wireless 11g PCI Card
-
-pci:v00001814d00000302sv00001948sd00003C23*
- ID_PRODUCT_FROM_DATABASE=C54RC v2 Wireless 11g CardBus Adapter
-
-pci:v00001814d00000302sv00001948sd00003C24*
- ID_PRODUCT_FROM_DATABASE=C54Ri v2 Wireless 11g PCI Adapter
-
-pci:v00001814d00000401*
- ID_PRODUCT_FROM_DATABASE=RT2600 802.11 MIMO
-
-pci:v00001814d00000401sv00001737sd00000052*
- ID_PRODUCT_FROM_DATABASE=WPC54GR v1 802.11g Wireless-G Notebook Adapter with RangeBooster
-
-pci:v00001814d00000401sv000017F9sd00000011*
- ID_PRODUCT_FROM_DATABASE=WPCR-137G 802.11bg Wireless CardBus Adapter
-
-pci:v00001814d00000401sv000017F9sd00000016*
- ID_PRODUCT_FROM_DATABASE=WPIR-119GH 802.11bg Wireless Desktop Adapter
-
-pci:v00001814d00000601*
- ID_PRODUCT_FROM_DATABASE=RT2800 802.11n PCI
-
-pci:v00001814d00000601sv00001799sd0000801C*
- ID_PRODUCT_FROM_DATABASE=F5D8011 v3 802.11n N1 Wireless Notebook Card
-
-pci:v00001814d00000601sv0000187Esd00003412*
- ID_PRODUCT_FROM_DATABASE=NWD-310N 802.11n Wireless PCI Adapter
-
-pci:v00001814d00000681*
- ID_PRODUCT_FROM_DATABASE=RT2890 Wireless 802.11n PCIe
-
-pci:v00001814d00000681sv00001458sd0000E939*
- ID_PRODUCT_FROM_DATABASE=GN-WS30N-RH 802.11bgn Mini PCIe Card
-
-pci:v00001814d00000701*
- ID_PRODUCT_FROM_DATABASE=RT2760 Wireless 802.11n 1T/2R
-
-pci:v00001814d00000701sv00001737sd00000074*
- ID_PRODUCT_FROM_DATABASE=WMP110 v2 802.11n RangePlus Wireless PCI Adapter
-
-pci:v00001814d00000781*
- ID_PRODUCT_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe
-
-pci:v00001814d00003060*
- ID_PRODUCT_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R
-
-pci:v00001814d00003060sv00001186sd00003C04*
- ID_PRODUCT_FROM_DATABASE=DWA-525 Wireless N 150 Desktop Adapter (rev.A1)
-
-pci:v00001814d00003062*
- ID_PRODUCT_FROM_DATABASE=RT3062 Wireless 802.11n 2T/2R
-
-pci:v00001814d00003090*
- ID_PRODUCT_FROM_DATABASE=RT3090 Wireless 802.11n 1T/1R PCIe
-
-pci:v00001814d00003090sv000013BDsd00001057*
- ID_PRODUCT_FROM_DATABASE=GN-WS32L-RH Half-size Mini PCIe Card
-
-pci:v00001814d00003091*
- ID_PRODUCT_FROM_DATABASE=RT3091 Wireless 802.11n 1T/2R PCIe
-
-pci:v00001814d00003092*
- ID_PRODUCT_FROM_DATABASE=RT3092 Wireless 802.11n 2T/2R PCIe
-
-pci:v00001814d00003290*
- ID_PRODUCT_FROM_DATABASE=RT3290 Wireless 802.11n 1T/1R PCIe
-
-pci:v00001814d00003298*
- ID_PRODUCT_FROM_DATABASE=RT3290 Bluetooth
-
-pci:v00001814d00003592*
- ID_PRODUCT_FROM_DATABASE=RT3592 Wireless 802.11abgn 2T/2R PCIe
-
-pci:v00001814d00005360*
- ID_PRODUCT_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R
-
-pci:v00001814d00005360sv00001186sd00003C05*
- ID_PRODUCT_FROM_DATABASE=DWA-525 Wireless N 150 Desktop Adapter (rev.A2)
-
-pci:v00001814d00005360sv000020F4sd0000703A*
- ID_PRODUCT_FROM_DATABASE=TEW-703PI N150 Wireless PCI Adapter
-
-pci:v00001814d00005390*
- ID_PRODUCT_FROM_DATABASE=RT5390 Wireless 802.11n 1T/1R PCIe
-
-pci:v00001814d00005390sv0000103Csd00001636*
- ID_PRODUCT_FROM_DATABASE=U98Z077.00 Half-size Mini PCIe Card
-
-pci:v00001814d0000539F*
- ID_PRODUCT_FROM_DATABASE=RT5390 [802.11 b/g/n 1T1R G-band PCI Express Single Chip]
-
-pci:v00001814d0000539Fsv0000103Csd00001637*
- ID_PRODUCT_FROM_DATABASE=Pavilion DM1Z-3000 PCIe wireless card
-
-pci:v00001814d0000E932*
- ID_PRODUCT_FROM_DATABASE=RT2560F 802.11 b/g PCI
-
-pci:v00001815*
- ID_VENDOR_FROM_DATABASE=Devolo AG
-
-pci:v00001820*
- ID_VENDOR_FROM_DATABASE=InfiniCon Systems Inc.
-
-pci:v00001822*
- ID_VENDOR_FROM_DATABASE=Twinhan Technology Co. Ltd
-
-pci:v00001822d00004E35*
- ID_PRODUCT_FROM_DATABASE=Mantis DTV PCI Bridge Controller [Ver 1.0]
-
-pci:v0000182D*
- ID_VENDOR_FROM_DATABASE=SiteCom Europe BV
-
-pci:v0000182Dd00003069*
- ID_PRODUCT_FROM_DATABASE=ISDN PCI DC-105V2
-
-pci:v0000182Dd00009790*
- ID_PRODUCT_FROM_DATABASE=WL-121 Wireless Network Adapter 100g+ [Ver.3]
-
-pci:v0000182E*
- ID_VENDOR_FROM_DATABASE=Raza Microelectronics, Inc.
-
-pci:v0000182Ed00000008*
- ID_PRODUCT_FROM_DATABASE=XLR516 Processor
-
-pci:v0000182F*
- ID_VENDOR_FROM_DATABASE=Broadcom
-
-pci:v0000182Fd0000000B*
- ID_PRODUCT_FROM_DATABASE=BCM5785 [HT1000] SATA (RAID Mode)
-
-pci:v00001830*
- ID_VENDOR_FROM_DATABASE=Credence Systems Corporation
-
-pci:v0000183B*
- ID_VENDOR_FROM_DATABASE=MikroM GmbH
-
-pci:v0000183Bd000008A7*
- ID_PRODUCT_FROM_DATABASE=MVC100 DVI
-
-pci:v0000183Bd000008A8*
- ID_PRODUCT_FROM_DATABASE=MVC101 SDI
-
-pci:v0000183Bd000008A9*
- ID_PRODUCT_FROM_DATABASE=MVC102 DVI+Audio
-
-pci:v0000183Bd000008B0*
- ID_PRODUCT_FROM_DATABASE=MVC200-DC
-
-pci:v00001846*
- ID_VENDOR_FROM_DATABASE=Alcatel-Lucent
-
-pci:v00001849*
- ID_VENDOR_FROM_DATABASE=ASRock Incorporation
-
-pci:v0000184A*
- ID_VENDOR_FROM_DATABASE=Thales Computers
-
-pci:v0000184Ad00001100*
- ID_PRODUCT_FROM_DATABASE=MAX II cPLD
-
-pci:v00001851*
- ID_VENDOR_FROM_DATABASE=Microtune, Inc.
-
-pci:v00001852*
- ID_VENDOR_FROM_DATABASE=Anritsu Corp.
-
-pci:v00001853*
- ID_VENDOR_FROM_DATABASE=SMSC Automotive Infotainment System Group
-
-pci:v00001854*
- ID_VENDOR_FROM_DATABASE=LG Electronics, Inc.
-
-pci:v0000185B*
- ID_VENDOR_FROM_DATABASE=Compro Technology, Inc.
-
-pci:v0000185Bd00001489*
- ID_PRODUCT_FROM_DATABASE=VideoMate Vista T100
-
-pci:v0000185F*
- ID_VENDOR_FROM_DATABASE=Wistron NeWeb Corp.
-
-pci:v00001864*
- ID_VENDOR_FROM_DATABASE=SilverBack
-
-pci:v00001864d00002110*
- ID_PRODUCT_FROM_DATABASE=ISNAP 2110
-
-pci:v00001867*
- ID_VENDOR_FROM_DATABASE=Topspin Communications
-
-pci:v00001867d00005A44*
- ID_PRODUCT_FROM_DATABASE=MT23108 InfiniHost HCA
-
-pci:v00001867d00005A45*
- ID_PRODUCT_FROM_DATABASE=MT23108 InfiniHost HCA flash recovery
-
-pci:v00001867d00005A46*
- ID_PRODUCT_FROM_DATABASE=MT23108 InfiniHost HCA bridge
-
-pci:v00001867d00006278*
- ID_PRODUCT_FROM_DATABASE=MT25208 InfiniHost III Ex (Tavor compatibility mode)
-
-pci:v00001867d00006282*
- ID_PRODUCT_FROM_DATABASE=MT25208 InfiniHost III Ex
-
-pci:v0000186C*
- ID_VENDOR_FROM_DATABASE=Humusoft, s.r.o.
-
-pci:v0000186Cd00000612*
- ID_PRODUCT_FROM_DATABASE=AD612 Data Acquisition Device
-
-pci:v0000186Cd00000614*
- ID_PRODUCT_FROM_DATABASE=MF614 Multifunction I/O Card
-
-pci:v0000186Cd00000622*
- ID_PRODUCT_FROM_DATABASE=AD622 Data Acquisition Device
-
-pci:v0000186Cd00000624*
- ID_PRODUCT_FROM_DATABASE=MF624 Multifunction I/O Card
-
-pci:v0000186Cd00000625*
- ID_PRODUCT_FROM_DATABASE=MF625 3-phase Motor Driver
-
-pci:v0000186F*
- ID_VENDOR_FROM_DATABASE=WiNRADiO Communications
-
-pci:v00001876*
- ID_VENDOR_FROM_DATABASE=L-3 Communications
-
-pci:v00001876d0000A101*
- ID_PRODUCT_FROM_DATABASE=VigraWATCH PCI
-
-pci:v00001876d0000A102*
- ID_PRODUCT_FROM_DATABASE=VigraWATCH PMC
-
-pci:v00001876d0000A103*
- ID_PRODUCT_FROM_DATABASE=Vigra I/O
-
-pci:v0000187E*
- ID_VENDOR_FROM_DATABASE=ZyXEL Communication Corporation
-
-pci:v0000187Ed00003403*
- ID_PRODUCT_FROM_DATABASE=ZyAir G-110 802.11g
-
-pci:v0000187Ed0000340E*
- ID_PRODUCT_FROM_DATABASE=M-302 802.11g XtremeMIMO
-
-pci:v00001885*
- ID_VENDOR_FROM_DATABASE=Avvida Systems Inc.
-
-pci:v00001888*
- ID_VENDOR_FROM_DATABASE=Varisys Ltd
-
-pci:v00001888d00000301*
- ID_PRODUCT_FROM_DATABASE=VMFX1 FPGA PMC module
-
-pci:v00001888d00000601*
- ID_PRODUCT_FROM_DATABASE=VSM2 dual PMC carrier
-
-pci:v00001888d00000710*
- ID_PRODUCT_FROM_DATABASE=VS14x series PowerPC PCI board
-
-pci:v00001888d00000720*
- ID_PRODUCT_FROM_DATABASE=VS24x series PowerPC PCI board
-
-pci:v0000188A*
- ID_VENDOR_FROM_DATABASE=Ample Communications, Inc
-
-pci:v00001890*
- ID_VENDOR_FROM_DATABASE=Egenera, Inc.
-
-pci:v00001894*
- ID_VENDOR_FROM_DATABASE=KNC One
-
-pci:v00001896*
- ID_VENDOR_FROM_DATABASE=B&B Electronics Manufacturing Company, Inc.
-
-pci:v00001896d00004202*
- ID_PRODUCT_FROM_DATABASE=MIport 3PCIU2 2-port Serial
-
-pci:v00001896d00004204*
- ID_PRODUCT_FROM_DATABASE=MIport 3PCIU4 4-port Serial
-
-pci:v00001896d00004208*
- ID_PRODUCT_FROM_DATABASE=MIport 3PCIU8 8-port Serial
-
-pci:v00001896d00004211*
- ID_PRODUCT_FROM_DATABASE=MIport 3PCIOU1 1-port Isolated Serial
-
-pci:v00001896d00004212*
- ID_PRODUCT_FROM_DATABASE=MIport 3PCIOU2 2-port Isolated Serial
-
-pci:v00001896d00004214*
- ID_PRODUCT_FROM_DATABASE=MIport 3PCIOU4 4-port Isolated Serial
-
-pci:v00001896d0000BB10*
- ID_PRODUCT_FROM_DATABASE=3PCI2 2-Port Serial
-
-pci:v00001896d0000BB11*
- ID_PRODUCT_FROM_DATABASE=3PCIO1 1-Port Isolated Serial
-
-pci:v00001897*
- ID_VENDOR_FROM_DATABASE=AMtek
-
-pci:v000018A1*
- ID_VENDOR_FROM_DATABASE=Astute Networks Inc.
-
-pci:v000018A2*
- ID_VENDOR_FROM_DATABASE=Stretch Inc.
-
-pci:v000018A2d00000002*
- ID_PRODUCT_FROM_DATABASE=VRC6016 16-Channel PCIe DVR Card
-
-pci:v000018A3*
- ID_VENDOR_FROM_DATABASE=AT&T
-
-pci:v000018AC*
- ID_VENDOR_FROM_DATABASE=DViCO Corporation
-
-pci:v000018ACd0000D500*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV 5
-
-pci:v000018ACd0000D800*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV 3 Gold
-
-pci:v000018ACd0000D810*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV 3 Gold-Q
-
-pci:v000018ACd0000D820*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV 3 Gold-T
-
-pci:v000018ACd0000DB30*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV DVB-T Pro
-
-pci:v000018ACd0000DB40*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV DVB-T Hybrid
-
-pci:v000018ACd0000DB78*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV DVB-T Dual Express
-
-pci:v000018B8*
- ID_VENDOR_FROM_DATABASE=Ammasso
-
-pci:v000018B8d0000B001*
- ID_PRODUCT_FROM_DATABASE=AMSO 1100 iWARP/RDMA Gigabit Ethernet Coprocessor
-
-pci:v000018BC*
- ID_VENDOR_FROM_DATABASE=Info-Tek Corp.
-
-pci:v000018C3*
- ID_VENDOR_FROM_DATABASE=Micronas Semiconductor Holding AG
-
-pci:v000018C3d00000720*
- ID_PRODUCT_FROM_DATABASE=nGene PCI-Express Multimedia Controller
-
-pci:v000018C3d00000720sv000007CAsd0000032E*
- ID_PRODUCT_FROM_DATABASE=Hybrid M779 PCI-E
-
-pci:v000018C8*
- ID_VENDOR_FROM_DATABASE=Cray Inc
-
-pci:v000018C9*
- ID_VENDOR_FROM_DATABASE=ARVOO Engineering BV
-
-pci:v000018CA*
- ID_VENDOR_FROM_DATABASE=XGI Technology Inc. (eXtreme Graphics Innovation)
-
-pci:v000018CAd00000020*
- ID_PRODUCT_FROM_DATABASE=Z7/Z9 (XG20 core)
-
-pci:v000018CAd00000021*
- ID_PRODUCT_FROM_DATABASE=Z9s/Z9m (XG21 core)
-
-pci:v000018CAd00000027*
- ID_PRODUCT_FROM_DATABASE=Z11/Z11M
-
-pci:v000018CAd00000040*
- ID_PRODUCT_FROM_DATABASE=Volari V3XT/V5/V8
-
-pci:v000018CAd00000047*
- ID_PRODUCT_FROM_DATABASE=Volari 8300 (chip: XP10, codename: XG47)
-
-pci:v000018D2*
- ID_VENDOR_FROM_DATABASE=Sitecom Europe BV (Wrong ID)
-
-pci:v000018D2d00003069*
- ID_PRODUCT_FROM_DATABASE=DC-105v2 ISDN controller
-
-pci:v000018D8*
- ID_VENDOR_FROM_DATABASE=Dialogue Technology Corp.
-
-pci:v000018DD*
- ID_VENDOR_FROM_DATABASE=Artimi Inc
-
-pci:v000018DDd00004C6F*
- ID_PRODUCT_FROM_DATABASE=Artimi RTMI-100 UWB adapter
-
-pci:v000018E6*
- ID_VENDOR_FROM_DATABASE=MPL AG
-
-pci:v000018E6d00000001*
- ID_PRODUCT_FROM_DATABASE=OSCI [Octal Serial Communication Interface]
-
-pci:v000018EB*
- ID_VENDOR_FROM_DATABASE=Advance Multimedia Internet Technology, Inc.
-
-pci:v000018EC*
- ID_VENDOR_FROM_DATABASE=Cesnet, z.s.p.o.
-
-pci:v000018ECd00006D05*
- ID_PRODUCT_FROM_DATABASE=ML555
-
-pci:v000018ECd00006D05sv000018ECsd00000100*
- ID_PRODUCT_FROM_DATABASE=NIC (ethernet interfaces)
-
-pci:v000018ECd00006D05sv000018ECsd00000200*
- ID_PRODUCT_FROM_DATABASE=NIC (szedata2) 4x1G
-
-pci:v000018ECd00006D05sv000018ECsd00000201*
- ID_PRODUCT_FROM_DATABASE=NIC (szedata2) 2x10G
-
-pci:v000018ECd00006D05sv000018ECsd00000300*
- ID_PRODUCT_FROM_DATABASE=NIFIC (szedata2) 4x1G
-
-pci:v000018ECd00006D05sv000018ECsd00000302*
- ID_PRODUCT_FROM_DATABASE=NIFIC (szedata2) 2x10G
-
-pci:v000018ECd00006D05sv000018ECsd00004200*
- ID_PRODUCT_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G
-
-pci:v000018ECd00006D05sv000018ECsd0000FF00*
- ID_PRODUCT_FROM_DATABASE=Testing design
-
-pci:v000018ECd00006D05sv000018ECsd0000FF01*
- ID_PRODUCT_FROM_DATABASE=Boot design
-
-pci:v000018ECd0000C006*
- ID_PRODUCT_FROM_DATABASE=COMBO6
-
-pci:v000018ECd0000C006sv000018ECsd0000D001*
- ID_PRODUCT_FROM_DATABASE=COMBO-4MTX
-
-pci:v000018ECd0000C006sv000018ECsd0000D002*
- ID_PRODUCT_FROM_DATABASE=COMBO-4SFP
-
-pci:v000018ECd0000C006sv000018ECsd0000D003*
- ID_PRODUCT_FROM_DATABASE=COMBO-4SFPRO
-
-pci:v000018ECd0000C006sv000018ECsd0000D004*
- ID_PRODUCT_FROM_DATABASE=COMBO-2XFP
-
-pci:v000018ECd0000C032*
- ID_PRODUCT_FROM_DATABASE=COMBO-LXT110
-
-pci:v000018ECd0000C032sv000018ECsd00000100*
- ID_PRODUCT_FROM_DATABASE=NIC (ethernet interfaces)
-
-pci:v000018ECd0000C032sv000018ECsd00000200*
- ID_PRODUCT_FROM_DATABASE=NIC (szedata2) 4x1G
-
-pci:v000018ECd0000C032sv000018ECsd00000201*
- ID_PRODUCT_FROM_DATABASE=NIC (szedata2) 2x10G
-
-pci:v000018ECd0000C032sv000018ECsd00000300*
- ID_PRODUCT_FROM_DATABASE=NIFIC (szedata2) 4x1G
-
-pci:v000018ECd0000C032sv000018ECsd00000302*
- ID_PRODUCT_FROM_DATABASE=NIFIC (szedata2) 2x10G
-
-pci:v000018ECd0000C032sv000018ECsd00004200*
- ID_PRODUCT_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G
-
-pci:v000018ECd0000C032sv000018ECsd0000FF00*
- ID_PRODUCT_FROM_DATABASE=Testing design
-
-pci:v000018ECd0000C032sv000018ECsd0000FF01*
- ID_PRODUCT_FROM_DATABASE=Boot design
-
-pci:v000018ECd0000C045*
- ID_PRODUCT_FROM_DATABASE=COMBO6E
-
-pci:v000018ECd0000C050*
- ID_PRODUCT_FROM_DATABASE=COMBO-PTM
-
-pci:v000018ECd0000C058*
- ID_PRODUCT_FROM_DATABASE=COMBO6X
-
-pci:v000018ECd0000C058sv000018ECsd0000D001*
- ID_PRODUCT_FROM_DATABASE=COMBO-4MTX
-
-pci:v000018ECd0000C058sv000018ECsd0000D002*
- ID_PRODUCT_FROM_DATABASE=COMBO-4SFP
-
-pci:v000018ECd0000C058sv000018ECsd0000D003*
- ID_PRODUCT_FROM_DATABASE=COMBO-4SFPRO
-
-pci:v000018ECd0000C058sv000018ECsd0000D004*
- ID_PRODUCT_FROM_DATABASE=COMBO-2XFP
-
-pci:v000018ECd0000C132*
- ID_PRODUCT_FROM_DATABASE=COMBO-LXT155
-
-pci:v000018ECd0000C132sv000018ECsd00000100*
- ID_PRODUCT_FROM_DATABASE=NIC (ethernet interfaces)
-
-pci:v000018ECd0000C132sv000018ECsd00000200*
- ID_PRODUCT_FROM_DATABASE=NIC (szedata2) 4x1G
-
-pci:v000018ECd0000C132sv000018ECsd00000201*
- ID_PRODUCT_FROM_DATABASE=NIC (szedata2) 2x10G
-
-pci:v000018ECd0000C132sv000018ECsd00000300*
- ID_PRODUCT_FROM_DATABASE=NIFIC (szedata2) 4x1G
-
-pci:v000018ECd0000C132sv000018ECsd00000302*
- ID_PRODUCT_FROM_DATABASE=NIFIC (szedata2) 2x10G
-
-pci:v000018ECd0000C132sv000018ECsd00004200*
- ID_PRODUCT_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G
-
-pci:v000018ECd0000C132sv000018ECsd0000FF00*
- ID_PRODUCT_FROM_DATABASE=Testing design
-
-pci:v000018ECd0000C132sv000018ECsd0000FF01*
- ID_PRODUCT_FROM_DATABASE=Boot design
-
-pci:v000018ECd0000C232*
- ID_PRODUCT_FROM_DATABASE=COMBO-FXT100
-
-pci:v000018ECd0000C232sv000018ECsd00000100*
- ID_PRODUCT_FROM_DATABASE=NIC (ethernet interfaces)
-
-pci:v000018ECd0000C232sv000018ECsd00000200*
- ID_PRODUCT_FROM_DATABASE=NIC (szedata2) 4x1G
-
-pci:v000018ECd0000C232sv000018ECsd00000201*
- ID_PRODUCT_FROM_DATABASE=NIC (szedata2) 2x10G
-
-pci:v000018ECd0000C232sv000018ECsd00000300*
- ID_PRODUCT_FROM_DATABASE=NIFIC (szedata2) 4x1G
-
-pci:v000018ECd0000C232sv000018ECsd00000302*
- ID_PRODUCT_FROM_DATABASE=NIFIC (szedata2) 2x10G
-
-pci:v000018ECd0000C232sv000018ECsd00004200*
- ID_PRODUCT_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G
-
-pci:v000018ECd0000C232sv000018ECsd0000FF00*
- ID_PRODUCT_FROM_DATABASE=Testing design
-
-pci:v000018ECd0000C232sv000018ECsd0000FF01*
- ID_PRODUCT_FROM_DATABASE=Boot design
-
-pci:v000018EE*
- ID_VENDOR_FROM_DATABASE=Chenming Mold Ind. Corp.
-
-pci:v000018F1*
- ID_VENDOR_FROM_DATABASE=Spectrum GmbH
-
-pci:v000018F4*
- ID_VENDOR_FROM_DATABASE=Napatech A/S
-
-pci:v000018F4d00000031*
- ID_PRODUCT_FROM_DATABASE=NT20X Network Adapter
-
-pci:v000018F4d00000051*
- ID_PRODUCT_FROM_DATABASE=NT20X Capture Card
-
-pci:v000018F4d00000061*
- ID_PRODUCT_FROM_DATABASE=NT20E Capture Card
-
-pci:v000018F4d00000064*
- ID_PRODUCT_FROM_DATABASE=NT20E Inline Card
-
-pci:v000018F4d00000071*
- ID_PRODUCT_FROM_DATABASE=NT4E Capture Card
-
-pci:v000018F4d00000074*
- ID_PRODUCT_FROM_DATABASE=NT4E Inline Card
-
-pci:v000018F4d00000081*
- ID_PRODUCT_FROM_DATABASE=NT4E 4-port Expansion Card
-
-pci:v000018F4d00000091*
- ID_PRODUCT_FROM_DATABASE=NT20X Capture Card [New Rev]
-
-pci:v000018F4d000000A1*
- ID_PRODUCT_FROM_DATABASE=NT4E-STD Capture Card
-
-pci:v000018F4d000000A4*
- ID_PRODUCT_FROM_DATABASE=NT4E-STD Inline Card
-
-pci:v000018F4d000000B1*
- ID_PRODUCT_FROM_DATABASE=NTBPE Optical Bypass Adapter
-
-pci:v000018F4d000000C5*
- ID_PRODUCT_FROM_DATABASE=NT20E2 Network Adapter 2x10Gb
-
-pci:v000018F4d000000D5*
- ID_PRODUCT_FROM_DATABASE=NT40E2-4 Network Adapter 4x10Gb
-
-pci:v000018F4d000000E5*
- ID_PRODUCT_FROM_DATABASE=NT40E2-1 Network Adapter 1x40Gb
-
-pci:v000018F4d000000F5*
- ID_PRODUCT_FROM_DATABASE=NT4E2-4T-BP Network Adapter 4x1Gb with Electrical Bypass
-
-pci:v000018F6*
- ID_VENDOR_FROM_DATABASE=NextIO
-
-pci:v000018F6d00001000*
- ID_PRODUCT_FROM_DATABASE=[Nexsis] Switch Virtual P2P PCIe Bridge
-
-pci:v000018F6d00001050*
- ID_PRODUCT_FROM_DATABASE=[Nexsis] Switch Virtual P2P PCI Bridge
-
-pci:v000018F6d00002000*
- ID_PRODUCT_FROM_DATABASE=[Nexsis] Switch Integrated Mgmt. Endpoint
-
-pci:v000018F7*
- ID_VENDOR_FROM_DATABASE=Commtech, Inc.
-
-pci:v000018F7d00000001*
- ID_PRODUCT_FROM_DATABASE=ESCC-PCI-335 Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d00000002*
- ID_PRODUCT_FROM_DATABASE=422/4-PCI-335 Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d00000003*
- ID_PRODUCT_FROM_DATABASE=232/4-1M-PCI Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d00000004*
- ID_PRODUCT_FROM_DATABASE=422/2-PCI-335 Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d00000005*
- ID_PRODUCT_FROM_DATABASE=IGESCC-PCI-ISO/1 Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d0000000A*
- ID_PRODUCT_FROM_DATABASE=232/4-PCI-335 Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d0000000B*
- ID_PRODUCT_FROM_DATABASE=232/8-PCI-335 Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d0000000F*
- ID_PRODUCT_FROM_DATABASE=FSCC Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d00000010*
- ID_PRODUCT_FROM_DATABASE=GSCC Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d00000011*
- ID_PRODUCT_FROM_DATABASE=QSSB Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d00000014*
- ID_PRODUCT_FROM_DATABASE=SuperFSCC Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d00000015*
- ID_PRODUCT_FROM_DATABASE=SuperFSCC-104 Serial PCI/104+ Adapter [Fastcom]
-
-pci:v000018F7d00000016*
- ID_PRODUCT_FROM_DATABASE=FSCC-232 RS-232 Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d00000017*
- ID_PRODUCT_FROM_DATABASE=SuperFSCC-104-NOUART Serial PCI/104+ Adapter [Fastcom]
-
-pci:v000018F7d00000018*
- ID_PRODUCT_FROM_DATABASE=SuperFSCC/4 Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d00000019*
- ID_PRODUCT_FROM_DATABASE=SuperFSCC Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d0000001A*
- ID_PRODUCT_FROM_DATABASE=SuperFSCC-104-LVDS Serial PC/104+ Adapter [Fastcom]
-
-pci:v000018F7d0000001B*
- ID_PRODUCT_FROM_DATABASE=FSCC/4 Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d0000001C*
- ID_PRODUCT_FROM_DATABASE=SuperFSCC/4-LVDS Serial PCI Adapter [Fastcom]
-
-pci:v000018F7d00000020*
- ID_PRODUCT_FROM_DATABASE=422/4-PCIe Serial PCIe Adapter [Fastcom]
-
-pci:v000018F7d00000021*
- ID_PRODUCT_FROM_DATABASE=422/8-PCIe Serial PCIe Adapter [Fastcom]
-
-pci:v000018FB*
- ID_VENDOR_FROM_DATABASE=Resilience Corporation
-
-pci:v00001904*
- ID_VENDOR_FROM_DATABASE=Hangzhou Silan Microelectronics Co., Ltd.
-
-pci:v00001904d00002031*
- ID_PRODUCT_FROM_DATABASE=SC92031 PCI Fast Ethernet Adapter
-
-pci:v00001904d00008139*
- ID_PRODUCT_FROM_DATABASE=RTL8139D [Realtek] PCI 10/100BaseTX ethernet adaptor
-
-pci:v00001905*
- ID_VENDOR_FROM_DATABASE=Micronas USA, Inc.
-
-pci:v00001912*
- ID_VENDOR_FROM_DATABASE=Renesas Technology Corp.
-
-pci:v00001912d00000002*
- ID_PRODUCT_FROM_DATABASE=SH7780 PCI Controller (PCIC)
-
-pci:v00001912d00000011*
- ID_PRODUCT_FROM_DATABASE=SH7757 PCIe End-Point [PBI]
-
-pci:v00001912d00000012*
- ID_PRODUCT_FROM_DATABASE=SH7757 PCIe-PCI Bridge [PPB]
-
-pci:v00001912d00000013*
- ID_PRODUCT_FROM_DATABASE=SH7757 PCIe Switch [PS]
-
-pci:v00001912d00000014*
- ID_PRODUCT_FROM_DATABASE=uPD720201 USB 3.0 Host Controller
-
-pci:v00001919*
- ID_VENDOR_FROM_DATABASE=Soltek Computer Inc.
-
-pci:v00001923*
- ID_VENDOR_FROM_DATABASE=Sangoma Technologies Corp.
-
-pci:v00001923d00000040*
- ID_PRODUCT_FROM_DATABASE=A200/Remora FXO/FXS Analog AFT card
-
-pci:v00001923d00000100*
- ID_PRODUCT_FROM_DATABASE=A104d QUAD T1/E1 AFT card
-
-pci:v00001923d00000300*
- ID_PRODUCT_FROM_DATABASE=A101 single-port T1/E1
-
-pci:v00001923d00000400*
- ID_PRODUCT_FROM_DATABASE=A104u Quad T1/E1 AFT
-
-pci:v00001924*
- ID_VENDOR_FROM_DATABASE=Solarflare Communications
-
-pci:v00001924d00000703*
- ID_PRODUCT_FROM_DATABASE=SFC4000 rev A net [Solarstorm]
-
-pci:v00001924d00000703sv000010B8sd00000102*
- ID_PRODUCT_FROM_DATABASE=SMC10GPCIe-10BT (A2) [TigerCard]
-
-pci:v00001924d00000703sv000010B8sd00000103*
- ID_PRODUCT_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard]
-
-pci:v00001924d00000703sv000010B8sd00000201*
- ID_PRODUCT_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard]
-
-pci:v00001924d00000703sv00001924sd00000101*
- ID_PRODUCT_FROM_DATABASE=SFE4001-A1
-
-pci:v00001924d00000703sv00001924sd00000102*
- ID_PRODUCT_FROM_DATABASE=SFE4001-A2
-
-pci:v00001924d00000703sv00001924sd00000103*
- ID_PRODUCT_FROM_DATABASE=SFE4001-A3
-
-pci:v00001924d00000703sv00001924sd00000201*
- ID_PRODUCT_FROM_DATABASE=SFE4002-A1
-
-pci:v00001924d00000703sv00001924sd00000301*
- ID_PRODUCT_FROM_DATABASE=SFE4003-A1
-
-pci:v00001924d00000703sv00001924sd00000302*
- ID_PRODUCT_FROM_DATABASE=SFE4003-A2
-
-pci:v00001924d00000703sv00001924sd00000303*
- ID_PRODUCT_FROM_DATABASE=SFE4003-A3
-
-pci:v00001924d00000703sv00001924sd00000304*
- ID_PRODUCT_FROM_DATABASE=SFE4003-A4
-
-pci:v00001924d00000703sv00001924sd00000500*
- ID_PRODUCT_FROM_DATABASE=SFE4005-A0
-
-pci:v00001924d00000710*
- ID_PRODUCT_FROM_DATABASE=SFC4000 rev B [Solarstorm]
-
-pci:v00001924d00000710sv000010B8sd00000103*
- ID_PRODUCT_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard]
-
-pci:v00001924d00000710sv000010B8sd00000201*
- ID_PRODUCT_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard]
-
-pci:v00001924d00000710sv00001924sd00000102*
- ID_PRODUCT_FROM_DATABASE=SFE4001-A2
-
-pci:v00001924d00000710sv00001924sd00000103*
- ID_PRODUCT_FROM_DATABASE=SFE4001-A3
-
-pci:v00001924d00000710sv00001924sd00000201*
- ID_PRODUCT_FROM_DATABASE=SFE4002-A1
-
-pci:v00001924d00000710sv00001924sd00000302*
- ID_PRODUCT_FROM_DATABASE=SFE4003-A2
-
-pci:v00001924d00000710sv00001924sd00000303*
- ID_PRODUCT_FROM_DATABASE=SFE4003-A3
-
-pci:v00001924d00000710sv00001924sd00000304*
- ID_PRODUCT_FROM_DATABASE=SFE4003-A4
-
-pci:v00001924d00000710sv00001924sd00000500*
- ID_PRODUCT_FROM_DATABASE=SFE4005-A0
-
-pci:v00001924d00000710sv00001924sd00005102*
- ID_PRODUCT_FROM_DATABASE=SFN4111T-A2
-
-pci:v00001924d00000710sv00001924sd00005103*
- ID_PRODUCT_FROM_DATABASE=SFN4111T-R3
-
-pci:v00001924d00000710sv00001924sd00005104*
- ID_PRODUCT_FROM_DATABASE=SFN4111T-R4
-
-pci:v00001924d00000710sv00001924sd00005105*
- ID_PRODUCT_FROM_DATABASE=SFN4111T-R5
-
-pci:v00001924d00000710sv00001924sd00005201*
- ID_PRODUCT_FROM_DATABASE=SFN4112F-R1
-
-pci:v00001924d00000710sv00001924sd00005202*
- ID_PRODUCT_FROM_DATABASE=SFN4112F-R2
-
-pci:v00001924d00000803*
- ID_PRODUCT_FROM_DATABASE=SFC9020 [Solarstorm]
-
-pci:v00001924d00000803sv00001924sd00001201*
- ID_PRODUCT_FROM_DATABASE=SFA6902F-R1 SFP+ AOE Adapter
-
-pci:v00001924d00000803sv00001924sd00006200*
- ID_PRODUCT_FROM_DATABASE=SFN5122F-R0
-
-pci:v00001924d00000803sv00001924sd00006201*
- ID_PRODUCT_FROM_DATABASE=SFN5122F-R1
-
-pci:v00001924d00000803sv00001924sd00006202*
- ID_PRODUCT_FROM_DATABASE=SFN5122F-R2
-
-pci:v00001924d00000803sv00001924sd00006204*
- ID_PRODUCT_FROM_DATABASE=SFN5122F-R4
-
-pci:v00001924d00000803sv00001924sd00006205*
- ID_PRODUCT_FROM_DATABASE=SFN5122F-R5
-
-pci:v00001924d00000803sv00001924sd00006206*
- ID_PRODUCT_FROM_DATABASE=SFN5122F-R6
-
-pci:v00001924d00000803sv00001924sd00006207*
- ID_PRODUCT_FROM_DATABASE=SFN5122F-R7
-
-pci:v00001924d00000803sv00001924sd00006210*
- ID_PRODUCT_FROM_DATABASE=SFN5322F-R0
-
-pci:v00001924d00000803sv00001924sd00006211*
- ID_PRODUCT_FROM_DATABASE=SFN5322F-R1
-
-pci:v00001924d00000803sv00001924sd00006217*
- ID_PRODUCT_FROM_DATABASE=SFN5322F-R7
-
-pci:v00001924d00000803sv00001924sd00006227*
- ID_PRODUCT_FROM_DATABASE=SFN6122F-R7
-
-pci:v00001924d00000803sv00001924sd00006237*
- ID_PRODUCT_FROM_DATABASE=SFN6322F-R7
-
-pci:v00001924d00000803sv00001924sd00006501*
- ID_PRODUCT_FROM_DATABASE=SFN5802K-R1
-
-pci:v00001924d00000803sv00001924sd00006511*
- ID_PRODUCT_FROM_DATABASE=SFN5814H-R1
-
-pci:v00001924d00000803sv00001924sd00006521*
- ID_PRODUCT_FROM_DATABASE=SFN5812H-R1
-
-pci:v00001924d00000803sv00001924sd00006562*
- ID_PRODUCT_FROM_DATABASE=SFN6832F-R2 SFP+ Mezzanine Adapter
-
-pci:v00001924d00000803sv00001924sd00006A05*
- ID_PRODUCT_FROM_DATABASE=SFN5112F-R5
-
-pci:v00001924d00000803sv00001924sd00006A06*
- ID_PRODUCT_FROM_DATABASE=SFN5112F-R6
-
-pci:v00001924d00000803sv00001924sd00007206*
- ID_PRODUCT_FROM_DATABASE=SFN5162F-R6
-
-pci:v00001924d00000803sv00001924sd00007207*
- ID_PRODUCT_FROM_DATABASE=SFN5162F-R7
-
-pci:v00001924d00000803sv00001924sd00007A06*
- ID_PRODUCT_FROM_DATABASE=SFN5152F-R6
-
-pci:v00001924d00000803sv00001924sd00007A07*
- ID_PRODUCT_FROM_DATABASE=SFN5152F-R7
-
-pci:v00001924d00000813*
- ID_PRODUCT_FROM_DATABASE=SFL9021 [Solarstorm]
-
-pci:v00001924d00000813sv00001924sd00006100*
- ID_PRODUCT_FROM_DATABASE=SFN5121T-R0
-
-pci:v00001924d00000813sv00001924sd00006102*
- ID_PRODUCT_FROM_DATABASE=SFN5121T-R2
-
-pci:v00001924d00000813sv00001924sd00006103*
- ID_PRODUCT_FROM_DATABASE=SFN5121T-R3
-
-pci:v00001924d00000813sv00001924sd00006104*
- ID_PRODUCT_FROM_DATABASE=SFN5121T-R4
-
-pci:v00001924d00000813sv00001924sd00006902*
- ID_PRODUCT_FROM_DATABASE=SFN5111T-R2
-
-pci:v00001924d00000813sv00001924sd00006904*
- ID_PRODUCT_FROM_DATABASE=SFN5111T-R4
-
-pci:v00001924d00000813sv00001924sd00007104*
- ID_PRODUCT_FROM_DATABASE=SFN5161T-R4
-
-pci:v00001924d00000813sv00001924sd00007904*
- ID_PRODUCT_FROM_DATABASE=SFN5151T-R4
-
-pci:v00001924d00001803*
- ID_PRODUCT_FROM_DATABASE=SFC9020 Virtual Function [Solarstorm]
-
-pci:v00001924d00001813*
- ID_PRODUCT_FROM_DATABASE=SFL9021 Virtual Function [Solarstorm]
-
-pci:v00001924d00006703*
- ID_PRODUCT_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm]
-
-pci:v00001924d00006703sv000010B8sd00000102*
- ID_PRODUCT_FROM_DATABASE=SMC10GPCIe-10BT (A2) [TigerCard]
-
-pci:v00001924d00006703sv000010B8sd00000103*
- ID_PRODUCT_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard]
-
-pci:v00001924d00006703sv000010B8sd00000201*
- ID_PRODUCT_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard]
-
-pci:v00001924d00006703sv00001924sd00000101*
- ID_PRODUCT_FROM_DATABASE=SFE4001-A1
-
-pci:v00001924d00006703sv00001924sd00000102*
- ID_PRODUCT_FROM_DATABASE=SFE4001-A2
-
-pci:v00001924d00006703sv00001924sd00000103*
- ID_PRODUCT_FROM_DATABASE=SFE4001-A3
-
-pci:v00001924d00006703sv00001924sd00000201*
- ID_PRODUCT_FROM_DATABASE=SFE4002-A1
-
-pci:v00001924d00006703sv00001924sd00000301*
- ID_PRODUCT_FROM_DATABASE=SFE4003-A1
-
-pci:v00001924d00006703sv00001924sd00000302*
- ID_PRODUCT_FROM_DATABASE=SFE4003-A2
-
-pci:v00001924d00006703sv00001924sd00000303*
- ID_PRODUCT_FROM_DATABASE=SFE4003-A3
-
-pci:v00001924d00006703sv00001924sd00000304*
- ID_PRODUCT_FROM_DATABASE=SFE4003-A4
-
-pci:v00001924d00006703sv00001924sd00000500*
- ID_PRODUCT_FROM_DATABASE=SFE4005-A0
-
-pci:v00001924d0000C101*
- ID_PRODUCT_FROM_DATABASE=EF1-21022T [EtherFabric]
-
-pci:v0000192A*
- ID_VENDOR_FROM_DATABASE=BiTMICRO Networks Inc.
-
-pci:v0000192E*
- ID_VENDOR_FROM_DATABASE=TransDimension
-
-pci:v00001931*
- ID_VENDOR_FROM_DATABASE=Option N.V.
-
-pci:v00001931d0000000C*
- ID_PRODUCT_FROM_DATABASE=Qualcomm MSM6275 UMTS chip
-
-pci:v00001932*
- ID_VENDOR_FROM_DATABASE=DiBcom
-
-pci:v0000193C*
- ID_VENDOR_FROM_DATABASE=MAXIM Integrated Products
-
-pci:v0000193F*
- ID_VENDOR_FROM_DATABASE=Comtech AHA Corp.
-
-pci:v0000193Fd00000001*
- ID_PRODUCT_FROM_DATABASE=AHA36x-PCIX
-
-pci:v0000193Fd00000360*
- ID_PRODUCT_FROM_DATABASE=AHA360-PCIe
-
-pci:v0000193Fd00000363*
- ID_PRODUCT_FROM_DATABASE=AHA363-PCIe
-
-pci:v0000193Fd00000364*
- ID_PRODUCT_FROM_DATABASE=AHA364-PCIe
-
-pci:v0000193Fd00000367*
- ID_PRODUCT_FROM_DATABASE=AHA367-PCIe
-
-pci:v0000193Fd00000370*
- ID_PRODUCT_FROM_DATABASE=AHA370-PCIe
-
-pci:v00001942*
- ID_VENDOR_FROM_DATABASE=ClearSpeed Technology plc
-
-pci:v00001942d0000E511*
- ID_PRODUCT_FROM_DATABASE=Advance X620 accelerator card
-
-pci:v00001942d0000E521*
- ID_PRODUCT_FROM_DATABASE=Advance e620 accelerator card
-
-pci:v00001947*
- ID_VENDOR_FROM_DATABASE=C-guys, Inc.
-
-pci:v00001947d00004743*
- ID_PRODUCT_FROM_DATABASE=CG200 Dual SD/SDIO Host controller device
-
-pci:v00001948*
- ID_VENDOR_FROM_DATABASE=Alpha Networks Inc.
-
-pci:v0000194A*
- ID_VENDOR_FROM_DATABASE=DapTechnology B.V.
-
-pci:v0000194Ad00001111*
- ID_PRODUCT_FROM_DATABASE=FireSpy3850
-
-pci:v0000194Ad00001112*
- ID_PRODUCT_FROM_DATABASE=FireSpy450b
-
-pci:v0000194Ad00001113*
- ID_PRODUCT_FROM_DATABASE=FireSpy450bT
-
-pci:v0000194Ad00001114*
- ID_PRODUCT_FROM_DATABASE=FireSpy850
-
-pci:v0000194Ad00001115*
- ID_PRODUCT_FROM_DATABASE=FireSpy850bT
-
-pci:v0000194Ad00001200*
- ID_PRODUCT_FROM_DATABASE=FireTrac 3460bT
-
-pci:v0000194Ad00001201*
- ID_PRODUCT_FROM_DATABASE=FireTrac 3460bT (fallback firmware)
-
-pci:v0000194Ad00001202*
- ID_PRODUCT_FROM_DATABASE=FireTrac 3460bT
-
-pci:v0000194Ad00001203*
- ID_PRODUCT_FROM_DATABASE=FireTrac 3460bT (fallback firmware)
-
-pci:v00001954*
- ID_VENDOR_FROM_DATABASE=One Stop Systems, Inc.
-
-pci:v00001957*
- ID_VENDOR_FROM_DATABASE=Freescale Semiconductor Inc
-
-pci:v00001957d00000012*
- ID_PRODUCT_FROM_DATABASE=MPC8548E
-
-pci:v00001957d00000013*
- ID_PRODUCT_FROM_DATABASE=MPC8548
-
-pci:v00001957d00000014*
- ID_PRODUCT_FROM_DATABASE=MPC8543E
-
-pci:v00001957d00000015*
- ID_PRODUCT_FROM_DATABASE=MPC8543
-
-pci:v00001957d00000018*
- ID_PRODUCT_FROM_DATABASE=MPC8547E
-
-pci:v00001957d00000019*
- ID_PRODUCT_FROM_DATABASE=MPC8545E
-
-pci:v00001957d0000001A*
- ID_PRODUCT_FROM_DATABASE=MPC8545
-
-pci:v00001957d00000020*
- ID_PRODUCT_FROM_DATABASE=MPC8568E
-
-pci:v00001957d00000021*
- ID_PRODUCT_FROM_DATABASE=MPC8568
-
-pci:v00001957d00000022*
- ID_PRODUCT_FROM_DATABASE=MPC8567E
-
-pci:v00001957d00000023*
- ID_PRODUCT_FROM_DATABASE=MPC8567
-
-pci:v00001957d00000030*
- ID_PRODUCT_FROM_DATABASE=MPC8533E
-
-pci:v00001957d00000031*
- ID_PRODUCT_FROM_DATABASE=MPC8533
-
-pci:v00001957d00000032*
- ID_PRODUCT_FROM_DATABASE=MPC8544E
-
-pci:v00001957d00000033*
- ID_PRODUCT_FROM_DATABASE=MPC8544
-
-pci:v00001957d00000040*
- ID_PRODUCT_FROM_DATABASE=MPC8572E
-
-pci:v00001957d00000041*
- ID_PRODUCT_FROM_DATABASE=MPC8572
-
-pci:v00001957d00000050*
- ID_PRODUCT_FROM_DATABASE=MPC8536E
-
-pci:v00001957d00000051*
- ID_PRODUCT_FROM_DATABASE=MPC8536
-
-pci:v00001957d00000052*
- ID_PRODUCT_FROM_DATABASE=MPC8535E
-
-pci:v00001957d00000053*
- ID_PRODUCT_FROM_DATABASE=MPC8535
-
-pci:v00001957d00000060*
- ID_PRODUCT_FROM_DATABASE=MPC8569
-
-pci:v00001957d00000061*
- ID_PRODUCT_FROM_DATABASE=MPC8569E
-
-pci:v00001957d00000070*
- ID_PRODUCT_FROM_DATABASE=P2020E
-
-pci:v00001957d00000071*
- ID_PRODUCT_FROM_DATABASE=P2020
-
-pci:v00001957d00000078*
- ID_PRODUCT_FROM_DATABASE=P2010E
-
-pci:v00001957d00000079*
- ID_PRODUCT_FROM_DATABASE=P2010
-
-pci:v00001957d00000080*
- ID_PRODUCT_FROM_DATABASE=MPC8349E
-
-pci:v00001957d00000081*
- ID_PRODUCT_FROM_DATABASE=MPC8349
-
-pci:v00001957d00000082*
- ID_PRODUCT_FROM_DATABASE=MPC8347E TBGA
-
-pci:v00001957d00000083*
- ID_PRODUCT_FROM_DATABASE=MPC8347 TBGA
-
-pci:v00001957d00000084*
- ID_PRODUCT_FROM_DATABASE=MPC8347E PBGA
-
-pci:v00001957d00000085*
- ID_PRODUCT_FROM_DATABASE=MPC8347 PBGA
-
-pci:v00001957d00000086*
- ID_PRODUCT_FROM_DATABASE=MPC8343E
-
-pci:v00001957d00000087*
- ID_PRODUCT_FROM_DATABASE=MPC8343
-
-pci:v00001957d000000B4*
- ID_PRODUCT_FROM_DATABASE=MPC8315E
-
-pci:v00001957d000000C2*
- ID_PRODUCT_FROM_DATABASE=MPC8379E
-
-pci:v00001957d000000C3*
- ID_PRODUCT_FROM_DATABASE=MPC8379
-
-pci:v00001957d000000C4*
- ID_PRODUCT_FROM_DATABASE=MPC8378E
-
-pci:v00001957d000000C5*
- ID_PRODUCT_FROM_DATABASE=MPC8378
-
-pci:v00001957d000000C6*
- ID_PRODUCT_FROM_DATABASE=MPC8377E
-
-pci:v00001957d000000C7*
- ID_PRODUCT_FROM_DATABASE=MPC8377
-
-pci:v00001957d00000100*
- ID_PRODUCT_FROM_DATABASE=P1020E
-
-pci:v00001957d00000101*
- ID_PRODUCT_FROM_DATABASE=P1020
-
-pci:v00001957d00000102*
- ID_PRODUCT_FROM_DATABASE=P1021E
-
-pci:v00001957d00000103*
- ID_PRODUCT_FROM_DATABASE=P1021
-
-pci:v00001957d00000108*
- ID_PRODUCT_FROM_DATABASE=P1011E
-
-pci:v00001957d00000109*
- ID_PRODUCT_FROM_DATABASE=P1011
-
-pci:v00001957d0000010A*
- ID_PRODUCT_FROM_DATABASE=P1012E
-
-pci:v00001957d0000010B*
- ID_PRODUCT_FROM_DATABASE=P1012
-
-pci:v00001957d00000110*
- ID_PRODUCT_FROM_DATABASE=P1022E
-
-pci:v00001957d00000111*
- ID_PRODUCT_FROM_DATABASE=P1022
-
-pci:v00001957d00000111sv00001C7Fsd00005200*
- ID_PRODUCT_FROM_DATABASE=EB5200
-
-pci:v00001957d00000118*
- ID_PRODUCT_FROM_DATABASE=P1013E
-
-pci:v00001957d00000119*
- ID_PRODUCT_FROM_DATABASE=P1013
-
-pci:v00001957d00000128*
- ID_PRODUCT_FROM_DATABASE=P1010
-
-pci:v00001957d00000400*
- ID_PRODUCT_FROM_DATABASE=P4080E
-
-pci:v00001957d00000401*
- ID_PRODUCT_FROM_DATABASE=P4080
-
-pci:v00001957d00000408*
- ID_PRODUCT_FROM_DATABASE=P4040E
-
-pci:v00001957d00000409*
- ID_PRODUCT_FROM_DATABASE=P4040
-
-pci:v00001957d0000580C*
- ID_PRODUCT_FROM_DATABASE=MPC5121e
-
-pci:v00001957d00007010*
- ID_PRODUCT_FROM_DATABASE=MPC8641 PCI Host Bridge
-
-pci:v00001957d00007011*
- ID_PRODUCT_FROM_DATABASE=MPC8641D PCI Host Bridge
-
-pci:v00001957d00007018*
- ID_PRODUCT_FROM_DATABASE=MPC8610
-
-pci:v00001958*
- ID_VENDOR_FROM_DATABASE=Faster Technology, LLC.
-
-pci:v00001959*
- ID_VENDOR_FROM_DATABASE=PA Semi, Inc
-
-pci:v00001959d0000A000*
- ID_PRODUCT_FROM_DATABASE=PA6T Core
-
-pci:v00001959d0000A001*
- ID_PRODUCT_FROM_DATABASE=PWRficient Host Bridge
-
-pci:v00001959d0000A002*
- ID_PRODUCT_FROM_DATABASE=PWRficient PCI-Express Port
-
-pci:v00001959d0000A003*
- ID_PRODUCT_FROM_DATABASE=PWRficient SMBus Controller
-
-pci:v00001959d0000A004*
- ID_PRODUCT_FROM_DATABASE=PWRficient 16550 UART
-
-pci:v00001959d0000A005*
- ID_PRODUCT_FROM_DATABASE=PWRficient Gigabit Ethernet
-
-pci:v00001959d0000A006*
- ID_PRODUCT_FROM_DATABASE=PWRficient 10-Gigabit Ethernet
-
-pci:v00001959d0000A007*
- ID_PRODUCT_FROM_DATABASE=PWRficient DMA Controller
-
-pci:v00001959d0000A008*
- ID_PRODUCT_FROM_DATABASE=PWRficient LPC/Localbus Interface
-
-pci:v00001959d0000A009*
- ID_PRODUCT_FROM_DATABASE=PWRficient L2 Cache
-
-pci:v00001959d0000A00A*
- ID_PRODUCT_FROM_DATABASE=PWRficient DDR2 Memory Controller
-
-pci:v00001959d0000A00B*
- ID_PRODUCT_FROM_DATABASE=PWRficient SERDES
-
-pci:v00001959d0000A00C*
- ID_PRODUCT_FROM_DATABASE=PWRficient System/Debug Controller
-
-pci:v00001959d0000A00D*
- ID_PRODUCT_FROM_DATABASE=PWRficient PCI-Express Internal Endpoint
-
-pci:v00001966*
- ID_VENDOR_FROM_DATABASE=Orad Hi-Tec Systems
-
-pci:v00001966d00001975*
- ID_PRODUCT_FROM_DATABASE=DVG64 family
-
-pci:v00001966d00001977*
- ID_PRODUCT_FROM_DATABASE=DVG128 family
-
-pci:v00001969*
- ID_VENDOR_FROM_DATABASE=Atheros Communications Inc.
-
-pci:v00001969d00001026*
- ID_PRODUCT_FROM_DATABASE=AR8121/AR8113/AR8114 Gigabit or Fast Ethernet
-
-pci:v00001969d00001026sv00001043sd00008304*
- ID_PRODUCT_FROM_DATABASE=P5KPL-CM Motherboard
-
-pci:v00001969d00001048*
- ID_PRODUCT_FROM_DATABASE=Attansic L1 Gigabit Ethernet
-
-pci:v00001969d00001048sv00001043sd00008226*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM Motherboard
-
-pci:v00001969d00001062*
- ID_PRODUCT_FROM_DATABASE=AR8132 Fast Ethernet
-
-pci:v00001969d00001063*
- ID_PRODUCT_FROM_DATABASE=AR8131 Gigabit Ethernet
-
-pci:v00001969d00001063sv00001458sd0000E000*
- ID_PRODUCT_FROM_DATABASE=GA-G31M-ES2L Motherboard
-
-pci:v00001969d00001066*
- ID_PRODUCT_FROM_DATABASE=Attansic L2c Gigabit Ethernet
-
-pci:v00001969d00001067*
- ID_PRODUCT_FROM_DATABASE=Attansic L1c Gigabit Ethernet
-
-pci:v00001969d00001073*
- ID_PRODUCT_FROM_DATABASE=AR8151 v1.0 Gigabit Ethernet
-
-pci:v00001969d00001083*
- ID_PRODUCT_FROM_DATABASE=AR8151 v2.0 Gigabit Ethernet
-
-pci:v00001969d00001090*
- ID_PRODUCT_FROM_DATABASE=AR8162 Fast Ethernet
-
-pci:v00001969d00001091*
- ID_PRODUCT_FROM_DATABASE=AR8161 Gigabit Ethernet
-
-pci:v00001969d00001091sv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00001969d00002048*
- ID_PRODUCT_FROM_DATABASE=Attansic L2 Fast Ethernet
-
-pci:v00001969d00002060*
- ID_PRODUCT_FROM_DATABASE=AR8152 v1.1 Fast Ethernet
-
-pci:v00001969d00002062*
- ID_PRODUCT_FROM_DATABASE=AR8152 v2.0 Fast Ethernet
-
-pci:v0000196A*
- ID_VENDOR_FROM_DATABASE=Sensory Networks Inc.
-
-pci:v0000196Ad00000101*
- ID_PRODUCT_FROM_DATABASE=NodalCore C-1000 Content Classification Accelerator
-
-pci:v0000196Ad00000102*
- ID_PRODUCT_FROM_DATABASE=NodalCore C-2000 Content Classification Accelerator
-
-pci:v0000196Ad00000105*
- ID_PRODUCT_FROM_DATABASE=NodalCore C-3000 Content Classification Accelerator
-
-pci:v0000196D*
- ID_VENDOR_FROM_DATABASE=Club-3D BV
-
-pci:v00001971*
- ID_VENDOR_FROM_DATABASE=AGEIA Technologies, Inc.
-
-pci:v00001971d00001011*
- ID_PRODUCT_FROM_DATABASE=Physics Processing Unit [PhysX]
-
-pci:v00001971d00001011sv00001043sd00000001*
- ID_PRODUCT_FROM_DATABASE=PhysX P1
-
-pci:v00001974*
- ID_VENDOR_FROM_DATABASE=Eberspaecher Electronics
-
-pci:v00001976*
- ID_VENDOR_FROM_DATABASE=TRENDnet
-
-pci:v00001977*
- ID_VENDOR_FROM_DATABASE=Parsec
-
-pci:v0000197B*
- ID_VENDOR_FROM_DATABASE=JMicron Technology Corp.
-
-pci:v0000197Bd00000250*
- ID_PRODUCT_FROM_DATABASE=JMC250 PCI Express Gigabit Ethernet Controller
-
-pci:v0000197Bd00000260*
- ID_PRODUCT_FROM_DATABASE=JMC260 PCI Express Fast Ethernet Controller
-
-pci:v0000197Bd00000368*
- ID_PRODUCT_FROM_DATABASE=JMB368 IDE controller
-
-pci:v0000197Bd00002360*
- ID_PRODUCT_FROM_DATABASE=JMB360 AHCI Controller
-
-pci:v0000197Bd00002361*
- ID_PRODUCT_FROM_DATABASE=JMB361 AHCI/IDE
-
-pci:v0000197Bd00002361sv00001462sd00007235*
- ID_PRODUCT_FROM_DATABASE=P965 Neo MS-7235 mainboard
-
-pci:v0000197Bd00002362*
- ID_PRODUCT_FROM_DATABASE=JMB362 SATA Controller
-
-pci:v0000197Bd00002362sv00001043sd00008460*
- ID_PRODUCT_FROM_DATABASE=P8P67 Deluxe Motherboard
-
-pci:v0000197Bd00002363*
- ID_PRODUCT_FROM_DATABASE=JMB363 SATA/IDE Controller
-
-pci:v0000197Bd00002363sv00001043sd000081E4*
- ID_PRODUCT_FROM_DATABASE=P5B [JMB363]
-
-pci:v0000197Bd00002363sv00001458sd0000B000*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5 Motherboard
-
-pci:v0000197Bd00002363sv00001849sd00002363*
- ID_PRODUCT_FROM_DATABASE=Motherboard (one of many)
-
-pci:v0000197Bd00002364*
- ID_PRODUCT_FROM_DATABASE=JMB364 AHCI Controller
-
-pci:v0000197Bd00002365*
- ID_PRODUCT_FROM_DATABASE=JMB365 AHCI/IDE
-
-pci:v0000197Bd00002366*
- ID_PRODUCT_FROM_DATABASE=JMB366 AHCI/IDE
-
-pci:v0000197Bd00002368*
- ID_PRODUCT_FROM_DATABASE=JMB368 IDE controller
-
-pci:v0000197Bd00002369*
- ID_PRODUCT_FROM_DATABASE=JMB369 Serial ATA Controller
-
-pci:v0000197Bd00002380*
- ID_PRODUCT_FROM_DATABASE=IEEE 1394 Host Controller
-
-pci:v0000197Bd00002381*
- ID_PRODUCT_FROM_DATABASE=Standard SD Host Controller
-
-pci:v0000197Bd00002382*
- ID_PRODUCT_FROM_DATABASE=SD/MMC Host Controller
-
-pci:v0000197Bd00002383*
- ID_PRODUCT_FROM_DATABASE=MS Host Controller
-
-pci:v0000197Bd00002384*
- ID_PRODUCT_FROM_DATABASE=xD Host Controller
-
-pci:v0000197Bd00002386*
- ID_PRODUCT_FROM_DATABASE=Standard SD Host Controller
-
-pci:v0000197Bd00002387*
- ID_PRODUCT_FROM_DATABASE=SD/MMC Host Controller
-
-pci:v0000197Bd00002388*
- ID_PRODUCT_FROM_DATABASE=MS Host Controller
-
-pci:v0000197Bd00002389*
- ID_PRODUCT_FROM_DATABASE=xD Host Controller
-
-pci:v0000197Bd00002391*
- ID_PRODUCT_FROM_DATABASE=Standard SD Host Controller
-
-pci:v0000197Bd00002392*
- ID_PRODUCT_FROM_DATABASE=SD/MMC Host Controller
-
-pci:v0000197Bd00002393*
- ID_PRODUCT_FROM_DATABASE=MS Host Controller
-
-pci:v0000197Bd00002394*
- ID_PRODUCT_FROM_DATABASE=xD Host Controller
-
-pci:v00001982*
- ID_VENDOR_FROM_DATABASE=Distant Early Warning Communications Inc
-
-pci:v00001982d00001600*
- ID_PRODUCT_FROM_DATABASE=OX16C954 HOST-A
-
-pci:v00001982d000016FF*
- ID_PRODUCT_FROM_DATABASE=OX16C954 HOST-B
-
-pci:v00001989*
- ID_VENDOR_FROM_DATABASE=Montilio Inc.
-
-pci:v00001989d00000001*
- ID_PRODUCT_FROM_DATABASE=RapidFile Bridge
-
-pci:v00001989d00008001*
- ID_PRODUCT_FROM_DATABASE=RapidFile
-
-pci:v0000198A*
- ID_VENDOR_FROM_DATABASE=Nallatech Ltd.
-
-pci:v00001993*
- ID_VENDOR_FROM_DATABASE=Innominate Security Technologies AG
-
-pci:v00001999*
- ID_VENDOR_FROM_DATABASE=A-Logics
-
-pci:v00001999d0000A900*
- ID_PRODUCT_FROM_DATABASE=AM-7209 Video Processor
-
-pci:v0000199A*
- ID_VENDOR_FROM_DATABASE=Pulse-LINK, Inc.
-
-pci:v0000199D*
- ID_VENDOR_FROM_DATABASE=Xsigo Systems
-
-pci:v0000199Dd00008209*
- ID_PRODUCT_FROM_DATABASE=Virtual NIC Device
-
-pci:v0000199Dd0000890A*
- ID_PRODUCT_FROM_DATABASE=Virtual HBA Device
-
-pci:v0000199F*
- ID_VENDOR_FROM_DATABASE=Auvitek
-
-pci:v0000199Fd00008501*
- ID_PRODUCT_FROM_DATABASE=AU85X1 PCI REV1.1
-
-pci:v0000199Fd00008521*
- ID_PRODUCT_FROM_DATABASE=AU8521 TV card
-
-pci:v000019A2*
- ID_VENDOR_FROM_DATABASE=Emulex Corporation
-
-pci:v000019A2d00000200*
- ID_PRODUCT_FROM_DATABASE=BladeEngine 10Gb PCI-E iSCSI adapter
-
-pci:v000019A2d00000201*
- ID_PRODUCT_FROM_DATABASE=BladeEngine 10Gb PCIe Network Adapter
-
-pci:v000019A2d00000211*
- ID_PRODUCT_FROM_DATABASE=BladeEngine2 10Gb Gen2 PCIe Network Adapter
-
-pci:v000019A2d00000212*
- ID_PRODUCT_FROM_DATABASE=BladeEngine2 10Gb Gen2 PCIe iSCSI Adapter
-
-pci:v000019A2d00000221*
- ID_PRODUCT_FROM_DATABASE=BladeEngine3 10Gb Gen2 PCIe Network Adapter
-
-pci:v000019A2d00000222*
- ID_PRODUCT_FROM_DATABASE=BladeEngine3 10Gb Gen2 PCIe iSCSI Adapter
-
-pci:v000019A2d00000700*
- ID_PRODUCT_FROM_DATABASE=OneConnect 10Gb NIC
-
-pci:v000019A2d00000700sv0000103Csd00001747*
- ID_PRODUCT_FROM_DATABASE=NC550SFP DualPort 10GbE Server Adapter
-
-pci:v000019A2d00000700sv0000103Csd00001749*
- ID_PRODUCT_FROM_DATABASE=NC550SFP Dual Port Server Adapter
-
-pci:v000019A2d00000700sv0000103Csd0000174A*
- ID_PRODUCT_FROM_DATABASE=NC551m Dual Port FlexFabric 10Gb Adapter
-
-pci:v000019A2d00000700sv0000103Csd0000174B*
- ID_PRODUCT_FROM_DATABASE=StorageWorks NC550 DualPort Converged Network Adapter
-
-pci:v000019A2d00000700sv0000103Csd00003314*
- ID_PRODUCT_FROM_DATABASE=NC551i Dual Port FlexFabric 10Gb Adapter
-
-pci:v000019A2d00000702*
- ID_PRODUCT_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator
-
-pci:v000019A2d00000704*
- ID_PRODUCT_FROM_DATABASE=OneConnect 10Gb FCoE Initiator
-
-pci:v000019A2d00000710*
- ID_PRODUCT_FROM_DATABASE=OneConnect 10Gb NIC (be3)
-
-pci:v000019A2d00000710sv0000103Csd00003315*
- ID_PRODUCT_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter
-
-pci:v000019A2d00000710sv0000103Csd00003340*
- ID_PRODUCT_FROM_DATABASE=NC552SFP 2-port 10Gb Server Adapter
-
-pci:v000019A2d00000710sv0000103Csd00003341*
- ID_PRODUCT_FROM_DATABASE=NC552m 10Gb 2-port FlexFabric Converged Network Adapter
-
-pci:v000019A2d00000710sv0000103Csd00003345*
- ID_PRODUCT_FROM_DATABASE=NC553m 10Gb 2-port FlexFabric Converged Network Adapter
-
-pci:v000019A2d00000712*
- ID_PRODUCT_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator (be3)
-
-pci:v000019A2d00000714*
- ID_PRODUCT_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3)
-
-pci:v000019A2d00000714sv0000103Csd00003315*
- ID_PRODUCT_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter
-
-pci:v000019A8*
- ID_VENDOR_FROM_DATABASE=DAQDATA GmbH
-
-pci:v000019AC*
- ID_VENDOR_FROM_DATABASE=Kasten Chase Applied Research
-
-pci:v000019ACd00000001*
- ID_PRODUCT_FROM_DATABASE=ACA2400 Crypto Accelerator
-
-pci:v000019AE*
- ID_VENDOR_FROM_DATABASE=Progeny Systems Corporation
-
-pci:v000019AEd00000520*
- ID_PRODUCT_FROM_DATABASE=4135 HFT Interface Controller
-
-pci:v000019AEd00000521*
- ID_PRODUCT_FROM_DATABASE=Decimator
-
-pci:v000019C1*
- ID_VENDOR_FROM_DATABASE=Exegy Inc.
-
-pci:v000019D1*
- ID_VENDOR_FROM_DATABASE=Motorola Expedience
-
-pci:v000019D4*
- ID_VENDOR_FROM_DATABASE=Quixant Limited
-
-pci:v000019DA*
- ID_VENDOR_FROM_DATABASE=ZOTAC International (MCO) Ltd.
-
-pci:v000019DE*
- ID_VENDOR_FROM_DATABASE=Pico Computing
-
-pci:v000019E2*
- ID_VENDOR_FROM_DATABASE=Vector Informatik GmbH
-
-pci:v000019E3*
- ID_VENDOR_FROM_DATABASE=DDRdrive LLC
-
-pci:v000019E3d00005801*
- ID_PRODUCT_FROM_DATABASE=DDRdrive X1
-
-pci:v000019E3d00005808*
- ID_PRODUCT_FROM_DATABASE=DDRdrive X8
-
-pci:v000019E3d0000DD52*
- ID_PRODUCT_FROM_DATABASE=DDRdrive X1-30
-
-pci:v000019E7*
- ID_VENDOR_FROM_DATABASE=NET (Network Equipment Technologies)
-
-pci:v000019E7d00001001*
- ID_PRODUCT_FROM_DATABASE=STIX DSP Card
-
-pci:v000019E7d00001002*
- ID_PRODUCT_FROM_DATABASE=STIX - 1 Port T1/E1 Card
-
-pci:v000019E7d00001003*
- ID_PRODUCT_FROM_DATABASE=STIX - 2 Port T1/E1 Card
-
-pci:v000019E7d00001004*
- ID_PRODUCT_FROM_DATABASE=STIX - 4 Port T1/E1 Card
-
-pci:v000019E7d00001005*
- ID_PRODUCT_FROM_DATABASE=STIX - 4 Port FXS Card
-
-pci:v000019EE*
- ID_VENDOR_FROM_DATABASE=Netronome Systems, Inc.
-
-pci:v000019F1*
- ID_VENDOR_FROM_DATABASE=BFG Tech
-
-pci:v000019FF*
- ID_VENDOR_FROM_DATABASE=Eclipse Electronic Systems, Inc.
-
-pci:v00001A03*
- ID_VENDOR_FROM_DATABASE=ASPEED Technology, Inc.
-
-pci:v00001A03d00001150*
- ID_PRODUCT_FROM_DATABASE=AST1150 PCI-to-PCI Bridge
-
-pci:v00001A03d00002000*
- ID_PRODUCT_FROM_DATABASE=ASPEED Graphics Family
-
-pci:v00001A07*
- ID_VENDOR_FROM_DATABASE=Kvaser AB
-
-pci:v00001A07d00000006*
- ID_PRODUCT_FROM_DATABASE=CAN interface PC104+ HS/HS
-
-pci:v00001A07d00000007*
- ID_PRODUCT_FROM_DATABASE=CAN interface PCIcanx II HS or HS/HS
-
-pci:v00001A07d00000008*
- ID_PRODUCT_FROM_DATABASE=CAN interface PCIEcan HS or HS/HS
-
-pci:v00001A07d00000009*
- ID_PRODUCT_FROM_DATABASE=CAN interface PCI104 HS/HS
-
-pci:v00001A08*
- ID_VENDOR_FROM_DATABASE=Sierra semiconductor
-
-pci:v00001A08d00000000*
- ID_PRODUCT_FROM_DATABASE=SC15064
-
-pci:v00001A0E*
- ID_VENDOR_FROM_DATABASE=DekTec Digital Video B.V.
-
-pci:v00001A17*
- ID_VENDOR_FROM_DATABASE=Force10 Networks, Inc.
-
-pci:v00001A17d00008002*
- ID_PRODUCT_FROM_DATABASE=PB-10GE-2P 10GbE Security Card
-
-pci:v00001A1D*
- ID_VENDOR_FROM_DATABASE=GFaI e.V.
-
-pci:v00001A1Dd00001A17*
- ID_PRODUCT_FROM_DATABASE=Meta Networks MTP-1G IDPS NIC
-
-pci:v00001A1E*
- ID_VENDOR_FROM_DATABASE=3Leaf Systems, Inc.
-
-pci:v00001A22*
- ID_VENDOR_FROM_DATABASE=Ambric Inc.
-
-pci:v00001A29*
- ID_VENDOR_FROM_DATABASE=Fortinet, Inc.
-
-pci:v00001A2B*
- ID_VENDOR_FROM_DATABASE=Ascom AG
-
-pci:v00001A2Bd00000000*
- ID_PRODUCT_FROM_DATABASE=GESP v1.2
-
-pci:v00001A2Bd00000001*
- ID_PRODUCT_FROM_DATABASE=GESP v1.3
-
-pci:v00001A2Bd00000002*
- ID_PRODUCT_FROM_DATABASE=ECOMP v1.3
-
-pci:v00001A2Bd00000005*
- ID_PRODUCT_FROM_DATABASE=ETP v1.4
-
-pci:v00001A2Bd0000000A*
- ID_PRODUCT_FROM_DATABASE=ETP-104 v1.1
-
-pci:v00001A2Bd0000000E*
- ID_PRODUCT_FROM_DATABASE=DSLP-104 v1.1
-
-pci:v00001A32*
- ID_VENDOR_FROM_DATABASE=Quanta Microsystems, Inc
-
-pci:v00001A3B*
- ID_VENDOR_FROM_DATABASE=AzureWave
-
-pci:v00001A3Bd00001112*
- ID_PRODUCT_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express)
-
-pci:v00001A41*
- ID_VENDOR_FROM_DATABASE=Tilera Corp.
-
-pci:v00001A41d00000001*
- ID_PRODUCT_FROM_DATABASE=TILE64 processor
-
-pci:v00001A41d00000002*
- ID_PRODUCT_FROM_DATABASE=TILEPro processor
-
-pci:v00001A41d00000200*
- ID_PRODUCT_FROM_DATABASE=TILE-Gx36 processor
-
-pci:v00001A4A*
- ID_VENDOR_FROM_DATABASE=SLAC National Accelerator Lab PPA-REG
-
-pci:v00001A4Ad00001000*
- ID_PRODUCT_FROM_DATABASE=MCOR Power Supply Controller
-
-pci:v00001A4Ad00001010*
- ID_PRODUCT_FROM_DATABASE=AMC EVR - Stockholm Timing Board
-
-pci:v00001A4Ad00002000*
- ID_PRODUCT_FROM_DATABASE=PGPCard - 4 Lane
-
-pci:v00001A4Ad00002010*
- ID_PRODUCT_FROM_DATABASE=PCI-Express EVR
-
-pci:v00001A51*
- ID_VENDOR_FROM_DATABASE=Hectronic AB
-
-pci:v00001A55*
- ID_VENDOR_FROM_DATABASE=Rohde & Schwarz DVS GmbH
-
-pci:v00001A55d00000010*
- ID_PRODUCT_FROM_DATABASE=SDStationOEM
-
-pci:v00001A55d00000011*
- ID_PRODUCT_FROM_DATABASE=SDStationOEM II
-
-pci:v00001A55d00000020*
- ID_PRODUCT_FROM_DATABASE=Centaurus
-
-pci:v00001A55d00000021*
- ID_PRODUCT_FROM_DATABASE=Centaurus II
-
-pci:v00001A55d00000022*
- ID_PRODUCT_FROM_DATABASE=Centaurus II LT
-
-pci:v00001A55d00000030*
- ID_PRODUCT_FROM_DATABASE=CLIPSTER-VPU 1.x (Hugo)
-
-pci:v00001A55d00000040*
- ID_PRODUCT_FROM_DATABASE=Hydra Cinema (JPEG)
-
-pci:v00001A55d00000050*
- ID_PRODUCT_FROM_DATABASE=CLIPSTER-VPU 2.x (DigiLab)
-
-pci:v00001A55d00000060*
- ID_PRODUCT_FROM_DATABASE=CLIPSTER-DCI 2.x (HydraX)
-
-pci:v00001A55d00000061*
- ID_PRODUCT_FROM_DATABASE=Atomix
-
-pci:v00001A55d00000062*
- ID_PRODUCT_FROM_DATABASE=Atomix LT
-
-pci:v00001A55d00000063*
- ID_PRODUCT_FROM_DATABASE=Atomix HDMI
-
-pci:v00001A55d00000064*
- ID_PRODUCT_FROM_DATABASE=Atomix STAN
-
-pci:v00001A55d00000065*
- ID_PRODUCT_FROM_DATABASE=Atomix HDMI STAN
-
-pci:v00001A55d00000070*
- ID_PRODUCT_FROM_DATABASE=RED Rocket
-
-pci:v00001A55d00000090*
- ID_PRODUCT_FROM_DATABASE=CinePlay
-
-pci:v00001A56*
- ID_VENDOR_FROM_DATABASE=Bigfoot Networks, Inc.
-
-pci:v00001A57*
- ID_VENDOR_FROM_DATABASE=Highly Reliable Systems
-
-pci:v00001A58*
- ID_VENDOR_FROM_DATABASE=Razer USA Ltd.
-
-pci:v00001A5D*
- ID_VENDOR_FROM_DATABASE=Celoxica
-
-pci:v00001A5E*
- ID_VENDOR_FROM_DATABASE=Aprius Inc.
-
-pci:v00001A5F*
- ID_VENDOR_FROM_DATABASE=System TALKS Inc.
-
-pci:v00001A68*
- ID_VENDOR_FROM_DATABASE=VirtenSys Limited
-
-pci:v00001A71*
- ID_VENDOR_FROM_DATABASE=XenSource, Inc.
-
-pci:v00001A73*
- ID_VENDOR_FROM_DATABASE=Violin Memory, Inc
-
-pci:v00001A73d00000001*
- ID_PRODUCT_FROM_DATABASE=Mozart [Memory Appliance 1010]
-
-pci:v00001A76*
- ID_VENDOR_FROM_DATABASE=Wavesat
-
-pci:v00001A77*
- ID_VENDOR_FROM_DATABASE=Lightfleet Corporation
-
-pci:v00001A78*
- ID_VENDOR_FROM_DATABASE=Virident Systems Inc.
-
-pci:v00001A78d00000031*
- ID_PRODUCT_FROM_DATABASE=Virident FlashMAX Drive
-
-pci:v00001A78d00000031sv00001A78sd00000034*
- ID_PRODUCT_FROM_DATABASE=FlashMAX PCIe SSD [rev 3]
-
-pci:v00001A78d00000031sv00001A78sd00000037*
- ID_PRODUCT_FROM_DATABASE=FlashMAX PCIe SSD [rev 3D]
-
-pci:v00001A78d00000031sv00001A78sd00000038*
- ID_PRODUCT_FROM_DATABASE=FlashMAX PCIe SSD [rev 4]
-
-pci:v00001A78d00000031sv00001A78sd00000039*
- ID_PRODUCT_FROM_DATABASE=FlashMAX PCIe SSD [rev 4D]
-
-pci:v00001A78d00000040*
- ID_PRODUCT_FROM_DATABASE=FlashMAX II
-
-pci:v00001A84*
- ID_VENDOR_FROM_DATABASE=Commex Technologies
-
-pci:v00001A84d00000001*
- ID_PRODUCT_FROM_DATABASE=Vulcan SP HT6210 10-Gigabit Ethernet (rev 02)
-
-pci:v00001A88*
- ID_VENDOR_FROM_DATABASE=MEN Mikro Elektronik
-
-pci:v00001A88d00004D45*
- ID_PRODUCT_FROM_DATABASE=Multifunction IP core
-
-pci:v00001A8C*
- ID_VENDOR_FROM_DATABASE=Verigy Pte. Ltd.
-
-pci:v00001A8Cd00001100*
- ID_PRODUCT_FROM_DATABASE=E8001-66443 PCI Express CIC
-
-pci:v00001A8E*
- ID_VENDOR_FROM_DATABASE=DRS Technologies
-
-pci:v00001A8Ed00002090*
- ID_PRODUCT_FROM_DATABASE=Model 2090 PCI Express
-
-pci:v00001AA8*
- ID_VENDOR_FROM_DATABASE=Ciprico, Inc.
-
-pci:v00001AA8d00000009*
- ID_PRODUCT_FROM_DATABASE=RAIDCore Controller
-
-pci:v00001AA8d0000000A*
- ID_PRODUCT_FROM_DATABASE=RAIDCore Controller
-
-pci:v00001AAE*
- ID_VENDOR_FROM_DATABASE=Global Velocity, Inc.
-
-pci:v00001AB6*
- ID_VENDOR_FROM_DATABASE=CalDigit, Inc.
-
-pci:v00001AB6d00006201*
- ID_PRODUCT_FROM_DATABASE=RAID Card
-
-pci:v00001AB8*
- ID_VENDOR_FROM_DATABASE=Parallels, Inc.
-
-pci:v00001AB8d00004000*
- ID_PRODUCT_FROM_DATABASE=Virtual Machine Communication Interface
-
-pci:v00001AB8d00004005*
- ID_PRODUCT_FROM_DATABASE=Accelerated Virtual Video Adapter
-
-pci:v00001AB8d00004006*
- ID_PRODUCT_FROM_DATABASE=Memory Ballooning Controller
-
-pci:v00001AB9*
- ID_VENDOR_FROM_DATABASE=Espia Srl
-
-pci:v00001ACC*
- ID_VENDOR_FROM_DATABASE=Point of View B.V
-
-pci:v00001AD7*
- ID_VENDOR_FROM_DATABASE=Spectracom Corporation
-
-pci:v00001AD7d00008000*
- ID_PRODUCT_FROM_DATABASE=TSync-PCIe Time Code Processor
-
-pci:v00001AD7d00009100*
- ID_PRODUCT_FROM_DATABASE=TPRO-PCI-66U Timecode Reader/Generator
-
-pci:v00001ADE*
- ID_VENDOR_FROM_DATABASE=Spin Master Ltd.
-
-pci:v00001ADEd00001501*
- ID_PRODUCT_FROM_DATABASE=Swipetech barcode scanner
-
-pci:v00001AE0*
- ID_VENDOR_FROM_DATABASE=Google, Inc.
-
-pci:v00001AE7*
- ID_VENDOR_FROM_DATABASE=First Wise Media GmbH
-
-pci:v00001AE7d00000520*
- ID_PRODUCT_FROM_DATABASE=HFC-S PCI A [X-TENSIONS XC-520]
-
-pci:v00001AE8*
- ID_VENDOR_FROM_DATABASE=Silicon Software GmbH
-
-pci:v00001AE8d00000A40*
- ID_PRODUCT_FROM_DATABASE=microEnable IV-BASE x1
-
-pci:v00001AE8d00000A41*
- ID_PRODUCT_FROM_DATABASE=microEnable IV-FULL x1
-
-pci:v00001AE8d00000A44*
- ID_PRODUCT_FROM_DATABASE=microEnable IV-FULL x4
-
-pci:v00001AE8d00000E44*
- ID_PRODUCT_FROM_DATABASE=microEnable IV-GigE x4
-
-pci:v00001AEC*
- ID_VENDOR_FROM_DATABASE=Wolfson Microelectronics
-
-pci:v00001AED*
- ID_VENDOR_FROM_DATABASE=Fusion-io
-
-pci:v00001AEDd00001003*
- ID_PRODUCT_FROM_DATABASE=ioDimm3 (v1.2)
-
-pci:v00001AEDd00001005*
- ID_PRODUCT_FROM_DATABASE=ioDimm3
-
-pci:v00001AEDd00001005sv00001014sd000003C3*
- ID_PRODUCT_FROM_DATABASE=High IOPS SSD PCIe Adapter
-
-pci:v00001AEDd00001005sv0000103Csd0000176F*
- ID_PRODUCT_FROM_DATABASE=1.28TB MLC PCIe ioDrive Duo
-
-pci:v00001AEDd00001005sv0000103Csd00001770*
- ID_PRODUCT_FROM_DATABASE=5.2TB MLC PCIe ioDrive Octal
-
-pci:v00001AEDd00001005sv0000103Csd0000178B*
- ID_PRODUCT_FROM_DATABASE=160GB SLC PCIe ioDrive
-
-pci:v00001AEDd00001005sv0000103Csd0000178C*
- ID_PRODUCT_FROM_DATABASE=320GB MLC PCIe ioDrive
-
-pci:v00001AEDd00001005sv0000103Csd0000178D*
- ID_PRODUCT_FROM_DATABASE=320GB SLC PCIe ioDrive Duo
-
-pci:v00001AEDd00001005sv0000103Csd0000178E*
- ID_PRODUCT_FROM_DATABASE=640GB MLC PCIe ioDrive Duo
-
-pci:v00001AEDd00001006*
- ID_PRODUCT_FROM_DATABASE=ioXtreme
-
-pci:v00001AEDd00001007*
- ID_PRODUCT_FROM_DATABASE=ioXtreme Pro
-
-pci:v00001AEDd00001008*
- ID_PRODUCT_FROM_DATABASE=ioXtreme-2
-
-pci:v00001AEDd00002001*
- ID_PRODUCT_FROM_DATABASE=ioDrive2
-
-pci:v00001AEE*
- ID_VENDOR_FROM_DATABASE=Caustic Graphics Inc.
-
-pci:v00001AF4*
- ID_VENDOR_FROM_DATABASE=Red Hat, Inc
-
-pci:v00001AF4d00001000*
- ID_PRODUCT_FROM_DATABASE=Virtio network device
-
-pci:v00001AF4d00001001*
- ID_PRODUCT_FROM_DATABASE=Virtio block device
-
-pci:v00001AF4d00001002*
- ID_PRODUCT_FROM_DATABASE=Virtio memory balloon
-
-pci:v00001AF4d00001003*
- ID_PRODUCT_FROM_DATABASE=Virtio console
-
-pci:v00001AF5*
- ID_VENDOR_FROM_DATABASE=Netezza Corp.
-
-pci:v00001AFA*
- ID_VENDOR_FROM_DATABASE=J & W Electronics Co., Ltd.
-
-pci:v00001B03*
- ID_VENDOR_FROM_DATABASE=Magnum Semiconductor, Inc,
-
-pci:v00001B03d00006100*
- ID_PRODUCT_FROM_DATABASE=DXT/DXTPro Multiformat Broadcast HD/SD Encoder/Decoder/Transcoder
-
-pci:v00001B08*
- ID_VENDOR_FROM_DATABASE=MSC Vertriebs GmbH
-
-pci:v00001B13*
- ID_VENDOR_FROM_DATABASE=Jaton Corp
-
-pci:v00001B1A*
- ID_VENDOR_FROM_DATABASE=K&F Computing Research Co.
-
-pci:v00001B1Ad00000E70*
- ID_PRODUCT_FROM_DATABASE=GRAPE
-
-pci:v00001B21*
- ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc.
-
-pci:v00001B21d00000611*
- ID_PRODUCT_FROM_DATABASE=ASM1061 SATA IDE Controller
-
-pci:v00001B21d00000612*
- ID_PRODUCT_FROM_DATABASE=ASM1062 Serial ATA Controller
-
-pci:v00001B21d00001042*
- ID_PRODUCT_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller
-
-pci:v00001B21d00001080*
- ID_PRODUCT_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge
-
-pci:v00001B36*
- ID_VENDOR_FROM_DATABASE=Red Hat, Inc.
-
-pci:v00001B37*
- ID_VENDOR_FROM_DATABASE=Signal Processing Devices Sweden AB
-
-pci:v00001B37d00000014*
- ID_PRODUCT_FROM_DATABASE=ADQ412
-
-pci:v00001B3A*
- ID_VENDOR_FROM_DATABASE=Westar Display Technologies
-
-pci:v00001B3Ad00007589*
- ID_PRODUCT_FROM_DATABASE=HRED J2000 - JPEG 2000 Video Codec Device
-
-pci:v00001B3E*
- ID_VENDOR_FROM_DATABASE=Teradata Corp.
-
-pci:v00001B3Ed00001FA8*
- ID_PRODUCT_FROM_DATABASE=BYNET BIC2SE/X
-
-pci:v00001B3Ed00001FA8sv00001B3Esd000000A3*
- ID_PRODUCT_FROM_DATABASE=BYNET BIC2SX
-
-pci:v00001B3Ed00001FA8sv00001B3Esd000000C3*
- ID_PRODUCT_FROM_DATABASE=BYNET BIC2SE
-
-pci:v00001B40*
- ID_VENDOR_FROM_DATABASE=Schooner Information Technology, Inc.
-
-pci:v00001B47*
- ID_VENDOR_FROM_DATABASE=Numascale AS
-
-pci:v00001B47d00000601*
- ID_PRODUCT_FROM_DATABASE=NumaChip N601
-
-pci:v00001B47d00000602*
- ID_PRODUCT_FROM_DATABASE=NumaChip N602
-
-pci:v00001B4B*
- ID_VENDOR_FROM_DATABASE=Marvell Technology Group Ltd.
-
-pci:v00001B4Bd00000640*
- ID_PRODUCT_FROM_DATABASE=88SE9128 SATA III 6Gb/s RAID Controller
-
-pci:v00001B4Bd00009120*
- ID_PRODUCT_FROM_DATABASE=88SE9120 SATA 6Gb/s Controller
-
-pci:v00001B4Bd00009123*
- ID_PRODUCT_FROM_DATABASE=88SE9123 PCIe SATA 6.0 Gb/s controller
-
-pci:v00001B4Bd00009125*
- ID_PRODUCT_FROM_DATABASE=88SE9125 PCIe SATA 6.0 Gb/s controller
-
-pci:v00001B4Bd00009128*
- ID_PRODUCT_FROM_DATABASE=88SE9128 PCIe SATA 6 Gb/s RAID controller
-
-pci:v00001B4Bd00009130*
- ID_PRODUCT_FROM_DATABASE=88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo
-
-pci:v00001B4Bd00009130sv00001043sd00008438*
- ID_PRODUCT_FROM_DATABASE=P8P67 Deluxe Motherboard
-
-pci:v00001B4Bd00009172*
- ID_PRODUCT_FROM_DATABASE=88SE9172 SATA 6Gb/s Controller
-
-pci:v00001B4Bd0000917A*
- ID_PRODUCT_FROM_DATABASE=88SE9172 SATA III 6Gb/s RAID Controller
-
-pci:v00001B4Bd00009192*
- ID_PRODUCT_FROM_DATABASE=88SE9172 SATA III 6Gb/s RAID Controller
-
-pci:v00001B4Bd000091A0*
- ID_PRODUCT_FROM_DATABASE=88SE91A0 SATA 6Gb/s Controller
-
-pci:v00001B4Bd000091A4*
- ID_PRODUCT_FROM_DATABASE=88SE9128 IDE Controller
-
-pci:v00001B4Bd00009230*
- ID_PRODUCT_FROM_DATABASE=88SE9230 PCIe SATA 6Gb/s Controller
-
-pci:v00001B4Bd00009480*
- ID_PRODUCT_FROM_DATABASE=88SE9480 SAS/SATA 6Gb/s RAID controller
-
-pci:v00001B55*
- ID_VENDOR_FROM_DATABASE=NetUP Inc.
-
-pci:v00001B55d00002A2C*
- ID_PRODUCT_FROM_DATABASE=Dual DVB-S2-CI card
-
-pci:v00001B55d0000E2E4*
- ID_PRODUCT_FROM_DATABASE=Dual DVB-T/C-CI RF card
-
-pci:v00001B55d0000E5F4*
- ID_PRODUCT_FROM_DATABASE=MPEG2 and H264 Encoder-Transcoder
-
-pci:v00001B55d0000F1C4*
- ID_PRODUCT_FROM_DATABASE=Dual ASI-RX/TX-CI card
-
-pci:v00001B6F*
- ID_VENDOR_FROM_DATABASE=Etron Technology, Inc.
-
-pci:v00001B6Fd00007023*
- ID_PRODUCT_FROM_DATABASE=EJ168 USB 3.0 Host Controller
-
-pci:v00001B6Fd00007052*
- ID_PRODUCT_FROM_DATABASE=EJ188/EJ198 USB 3.0 Host Controller
-
-pci:v00001B73*
- ID_VENDOR_FROM_DATABASE=Fresco Logic
-
-pci:v00001B73d00001000*
- ID_PRODUCT_FROM_DATABASE=FL1000G USB 3.0 Host Controller
-
-pci:v00001B73d00001000sv00001D5Csd00001000*
- ID_PRODUCT_FROM_DATABASE=Anker USB 3.0 Express Card
-
-pci:v00001B73d00001009*
- ID_PRODUCT_FROM_DATABASE=FL1009 USB 3.0 Host Controller
-
-pci:v00001B74*
- ID_VENDOR_FROM_DATABASE=OpenVox Communication Co. Ltd.
-
-pci:v00001B74d00000115*
- ID_PRODUCT_FROM_DATABASE=D115P/D115E Single-port E1/T1 card
-
-pci:v00001B74d0000D130*
- ID_PRODUCT_FROM_DATABASE=D130P/D130E Single-port E1/T1 card (3rd GEN)
-
-pci:v00001B74d0000D210*
- ID_PRODUCT_FROM_DATABASE=D210P/D210E Dual-port E1/T1 card(2nd generation)
-
-pci:v00001B74d0000D230*
- ID_PRODUCT_FROM_DATABASE=D230 Dual-port E1/T1 card (2nd generation)
-
-pci:v00001B74d0000D410*
- ID_PRODUCT_FROM_DATABASE=D410/430 Quad-port E1/T1 card
-
-pci:v00001B74d0000D430*
- ID_PRODUCT_FROM_DATABASE=D410/430 Quad-port E1/T1 card
-
-pci:v00001B85*
- ID_VENDOR_FROM_DATABASE=OCZ Technology Group, Inc.
-
-pci:v00001B85d00001041*
- ID_PRODUCT_FROM_DATABASE=RevoDrive 3 X2 PCI-Express SSD 240 GB (Marvell Controller)
-
-pci:v00001B96*
- ID_VENDOR_FROM_DATABASE=Western Digital
-
-pci:v00001B9A*
- ID_VENDOR_FROM_DATABASE=XAVi Technologies Corp.
-
-pci:v00001BAD*
- ID_VENDOR_FROM_DATABASE=ReFLEX CES
-
-pci:v00001BB0*
- ID_VENDOR_FROM_DATABASE=SimpliVity Corporation
-
-pci:v00001BB0d00000002*
- ID_PRODUCT_FROM_DATABASE=OmniCube Accelerator OA-3000
-
-pci:v00001BB3*
- ID_VENDOR_FROM_DATABASE=Bluecherry
-
-pci:v00001BB3d00004304*
- ID_PRODUCT_FROM_DATABASE=BC-04120A MPEG4 4 port video encoder / decoder
-
-pci:v00001BB3d00004309*
- ID_PRODUCT_FROM_DATABASE=BC-08240A MPEG4 4 port video encoder / decoder
-
-pci:v00001BB3d00004310*
- ID_PRODUCT_FROM_DATABASE=BC-16480A MPEG4 16 port video encoder / decoder
-
-pci:v00001BB3d00004E04*
- ID_PRODUCT_FROM_DATABASE=BC-04120A 4 port MPEG4 video encoder / decoder
-
-pci:v00001BB3d00004E09*
- ID_PRODUCT_FROM_DATABASE=BC-08240A 8 port MPEG4 video encoder / decoder
-
-pci:v00001BB3d00004E10*
- ID_PRODUCT_FROM_DATABASE=BC-16480A 16 port MPEG4 video encoder / decoder
-
-pci:v00001BB3d00005304*
- ID_PRODUCT_FROM_DATABASE=BC-H04120A 4 port H.264 video and audio encoder / decoder
-
-pci:v00001BB3d00005308*
- ID_PRODUCT_FROM_DATABASE=BC-H08240A 8 port H.264 video and audio encoder / decoder
-
-pci:v00001BB3d00005310*
- ID_PRODUCT_FROM_DATABASE=BC-H16480A 16 port H.264 video and audio encoder / decoder
-
-pci:v00001BB5*
- ID_VENDOR_FROM_DATABASE=Quantenna Communications, Inc.
-
-pci:v00001BBF*
- ID_VENDOR_FROM_DATABASE=Maxeler Technologies Ltd.
-
-pci:v00001BBFd00000003*
- ID_PRODUCT_FROM_DATABASE=MAX3
-
-pci:v00001BBFd00000004*
- ID_PRODUCT_FROM_DATABASE=MAX4
-
-pci:v00001BF4*
- ID_VENDOR_FROM_DATABASE=VTI Instruments Corporation
-
-pci:v00001C1C*
- ID_VENDOR_FROM_DATABASE=Symphony
-
-pci:v00001C1Cd00000001*
- ID_PRODUCT_FROM_DATABASE=82C101
-
-pci:v00001C2C*
- ID_VENDOR_FROM_DATABASE=Fiberblaze
-
-pci:v00001C32*
- ID_VENDOR_FROM_DATABASE=Highland Technology, Inc.
-
-pci:v00001C3B*
- ID_VENDOR_FROM_DATABASE=Accensus, LLC
-
-pci:v00001C3Bd00000200*
- ID_PRODUCT_FROM_DATABASE=Telas2
-
-pci:v00001C44*
- ID_VENDOR_FROM_DATABASE=Enmotus Inc
-
-pci:v00001C44d00008000*
- ID_PRODUCT_FROM_DATABASE=8000 Storage IO Controller
-
-pci:v00001C7F*
- ID_VENDOR_FROM_DATABASE=Elektrobit Austria GmbH
-
-pci:v00001C7Fd00005100*
- ID_PRODUCT_FROM_DATABASE=EB5100
-
-pci:v00001C8A*
- ID_VENDOR_FROM_DATABASE=TSF5 Corporation
-
-pci:v00001D44*
- ID_VENDOR_FROM_DATABASE=DPT
-
-pci:v00001D44d0000A400*
- ID_PRODUCT_FROM_DATABASE=PM2x24/PM3224
-
-pci:v00001D5C*
- ID_VENDOR_FROM_DATABASE=Fantasia Trading LLC
-
-pci:v00001DE1*
- ID_VENDOR_FROM_DATABASE=Tekram Technology Co.,Ltd.
-
-pci:v00001DE1d00000391*
- ID_PRODUCT_FROM_DATABASE=TRM-S1040
-
-pci:v00001DE1d00002020*
- ID_PRODUCT_FROM_DATABASE=DC-390
-
-pci:v00001DE1d0000690C*
- ID_PRODUCT_FROM_DATABASE=690c
-
-pci:v00001DE1d0000DC29*
- ID_PRODUCT_FROM_DATABASE=DC290
-
-pci:v00001FC0*
- ID_VENDOR_FROM_DATABASE=Ascom (Finland) Oy
-
-pci:v00001FC0d00000300*
- ID_PRODUCT_FROM_DATABASE=E2200 Dual E1/Rawpipe Card
-
-pci:v00001FC0d00000301*
- ID_PRODUCT_FROM_DATABASE=C5400 SHDSL/E1 Card
-
-pci:v00001FC1*
- ID_VENDOR_FROM_DATABASE=QLogic, Corp.
-
-pci:v00001FC1d0000000D*
- ID_PRODUCT_FROM_DATABASE=IBA6110 InfiniBand HCA
-
-pci:v00001FC1d00000010*
- ID_PRODUCT_FROM_DATABASE=IBA6120 InfiniBand HCA
-
-pci:v00001FC9*
- ID_VENDOR_FROM_DATABASE=Tehuti Networks Ltd.
-
-pci:v00001FC9d00003009*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE SmartNIC
-
-pci:v00001FC9d00003010*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE SmartNIC
-
-pci:v00001FC9d00003010sv00000000sd00003002*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Single Port XFP SmartNIC
-
-pci:v00001FC9d00003010sv00000000sd00003004*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC
-
-pci:v00001FC9d00003010sv00000000sd00003008*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Single Port CX4 SmartNIC
-
-pci:v00001FC9d00003014*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port
-
-pci:v00001FC9d00003014sv00000000sd00003003*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Dual Port XFP Low Profile SmartNIC
-
-pci:v00001FC9d00003014sv00000000sd00003005*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC
-
-pci:v00001FC9d00003014sv00000000sd00003014*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC
-
-pci:v00001FC9d00003110*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Single Port SmartNIC
-
-pci:v00001FC9d00003110sv00000000sd00003004*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC
-
-pci:v00001FC9d00003114*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC
-
-pci:v00001FC9d00003114sv00000000sd00003005*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC
-
-pci:v00001FC9d00003114sv00000000sd00003011*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC
-
-pci:v00001FC9d00003114sv00000000sd00003012*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC
-
-pci:v00001FC9d00003114sv00000000sd00003014*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC
-
-pci:v00001FC9d00003310*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE SFP+ Single Port SmartNIC
-
-pci:v00001FC9d00003310sv00000000sd00003004*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC
-
-pci:v00001FC9d00003314*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC
-
-pci:v00001FC9d00003314sv00000000sd00003005*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC
-
-pci:v00001FC9d00003314sv00000000sd00003011*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC
-
-pci:v00001FC9d00003314sv00000000sd00003012*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC
-
-pci:v00001FC9d00003314sv00000000sd00003014*
- ID_PRODUCT_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC
-
-pci:v00001FCE*
- ID_VENDOR_FROM_DATABASE=Cognio Inc.
-
-pci:v00001FCEd00000001*
- ID_PRODUCT_FROM_DATABASE=Spectrum Analyzer PC Card (SAgE)
-
-pci:v00001FD4*
- ID_VENDOR_FROM_DATABASE=SUNIX Co., Ltd.
-
-pci:v00001FD4d00000001*
- ID_PRODUCT_FROM_DATABASE=Matrix multiport serial adapter
-
-pci:v00001FD4d00001999*
- ID_PRODUCT_FROM_DATABASE=Multiport serial controller
-
-pci:v00002000*
- ID_VENDOR_FROM_DATABASE=Smart Link Ltd.
-
-pci:v00002000d00002800*
- ID_PRODUCT_FROM_DATABASE=SmartPCI2800 V.92 PCI Soft DFT
-
-pci:v00002001*
- ID_VENDOR_FROM_DATABASE=Temporal Research Ltd
-
-pci:v00002003*
- ID_VENDOR_FROM_DATABASE=Smart Link Ltd.
-
-pci:v00002003d00008800*
- ID_PRODUCT_FROM_DATABASE=LM-I56N
-
-pci:v00002004*
- ID_VENDOR_FROM_DATABASE=Smart Link Ltd.
-
-pci:v000020F4*
- ID_VENDOR_FROM_DATABASE=TRENDnet
-
-pci:v00002116*
- ID_VENDOR_FROM_DATABASE=ZyDAS Technology Corp.
-
-pci:v000021C3*
- ID_VENDOR_FROM_DATABASE=21st Century Computer Corp.
-
-pci:v000022B8*
- ID_VENDOR_FROM_DATABASE=Motorola, Inc.
-
-pci:v00002304*
- ID_VENDOR_FROM_DATABASE=Colorgraphic Communications Corp.
-
-pci:v00002348*
- ID_VENDOR_FROM_DATABASE=Racore
-
-pci:v00002348d00002010*
- ID_PRODUCT_FROM_DATABASE=8142 100VG/AnyLAN
-
-pci:v00002646*
- ID_VENDOR_FROM_DATABASE=Kingston Technologies
-
-pci:v0000270B*
- ID_VENDOR_FROM_DATABASE=Xantel Corporation
-
-pci:v0000270F*
- ID_VENDOR_FROM_DATABASE=Chaintech Computer Co. Ltd
-
-pci:v00002711*
- ID_VENDOR_FROM_DATABASE=AVID Technology Inc.
-
-pci:v000029B4*
- ID_VENDOR_FROM_DATABASE=82q35 Express MEI Controller
-
-pci:v00002A15*
- ID_VENDOR_FROM_DATABASE=3D Vision(???)
-
-pci:v00003000*
- ID_VENDOR_FROM_DATABASE=Hansol Electronics Inc.
-
-pci:v00003020*
- ID_VENDOR_FROM_DATABASE=LSI SAS2 9211-8i
-
-pci:v00003080*
- ID_VENDOR_FROM_DATABASE=LSI SAS2 9200-8e
-
-pci:v00003142*
- ID_VENDOR_FROM_DATABASE=Post Impression Systems.
-
-pci:v00003388*
- ID_VENDOR_FROM_DATABASE=Hint Corp
-
-pci:v00003388d00000013*
- ID_PRODUCT_FROM_DATABASE=HiNT HC4 PCI to ISDN bridge, Multimedia audio controller
-
-pci:v00003388d00000014*
- ID_PRODUCT_FROM_DATABASE=HiNT HC4 PCI to ISDN bridge, Network controller
-
-pci:v00003388d00000020*
- ID_PRODUCT_FROM_DATABASE=HB6 Universal PCI-PCI bridge (transparent mode)
-
-pci:v00003388d00000021*
- ID_PRODUCT_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode)
-
-pci:v00003388d00000021sv00001775sd0000C200*
- ID_PRODUCT_FROM_DATABASE=C2K CompactPCI interface bridge
-
-pci:v00003388d00000021sv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00003388d00000021sv00004C53sd00001050*
- ID_PRODUCT_FROM_DATABASE=CT7 mainboard
-
-pci:v00003388d00000021sv00004C53sd00001080*
- ID_PRODUCT_FROM_DATABASE=CT8 mainboard
-
-pci:v00003388d00000021sv00004C53sd00001090*
- ID_PRODUCT_FROM_DATABASE=Cx9 mainboard
-
-pci:v00003388d00000021sv00004C53sd000010A0*
- ID_PRODUCT_FROM_DATABASE=CA3/CR3 mainboard
-
-pci:v00003388d00000021sv00004C53sd00003010*
- ID_PRODUCT_FROM_DATABASE=PPCI mezzanine (32-bit PMC)
-
-pci:v00003388d00000021sv00004C53sd00003011*
- ID_PRODUCT_FROM_DATABASE=PPCI mezzanine (64-bit PMC)
-
-pci:v00003388d00000021sv00004C53sd00004000*
- ID_PRODUCT_FROM_DATABASE=PMCCARR1 carrier board
-
-pci:v00003388d00000022*
- ID_PRODUCT_FROM_DATABASE=HiNT HB4 PCI-PCI Bridge (PCI6150)
-
-pci:v00003388d00000026*
- ID_PRODUCT_FROM_DATABASE=HB2 PCI-PCI Bridge
-
-pci:v00003388d00001018*
- ID_PRODUCT_FROM_DATABASE=Audiotrak INCA88
-
-pci:v00003388d00001019*
- ID_PRODUCT_FROM_DATABASE=Miditrak 2120
-
-pci:v00003388d0000101A*
- ID_PRODUCT_FROM_DATABASE=E.Band [AudioTrak Inca88]
-
-pci:v00003388d0000101B*
- ID_PRODUCT_FROM_DATABASE=E.Band [AudioTrak Inca88]
-
-pci:v00003388d00008011*
- ID_PRODUCT_FROM_DATABASE=VXPro II Chipset
-
-pci:v00003388d00008011sv00003388sd00008011*
- ID_PRODUCT_FROM_DATABASE=VXPro II Chipset CPU to PCI Bridge
-
-pci:v00003388d00008012*
- ID_PRODUCT_FROM_DATABASE=VXPro II Chipset
-
-pci:v00003388d00008012sv00003388sd00008012*
- ID_PRODUCT_FROM_DATABASE=VXPro II Chipset PCI to ISA Bridge
-
-pci:v00003388d00008013*
- ID_PRODUCT_FROM_DATABASE=VXPro II IDE
-
-pci:v00003388d00008013sv00003388sd00008013*
- ID_PRODUCT_FROM_DATABASE=VXPro II Chipset EIDE Controller
-
-pci:v00003388d0000A103*
- ID_PRODUCT_FROM_DATABASE=Blackmagic Design DeckLink HD Pro
-
-pci:v00003411*
- ID_VENDOR_FROM_DATABASE=Quantum Designs (H.K.) Inc
-
-pci:v00003442*
- ID_VENDOR_FROM_DATABASE=Bihl+Wiedemann GmbH
-
-pci:v00003442d00001783*
- ID_PRODUCT_FROM_DATABASE=AS-i 3.0 cPCI Master
-
-pci:v00003442d00001922*
- ID_PRODUCT_FROM_DATABASE=AS-i 3.0 PCI Master
-
-pci:v00003475*
- ID_VENDOR_FROM_DATABASE=Arastra Inc.
-
-pci:v00003513*
- ID_VENDOR_FROM_DATABASE=ARCOM Control Systems Ltd
-
-pci:v000037D9*
- ID_VENDOR_FROM_DATABASE=ITD Firm ltd.
-
-pci:v000037D9d00001138*
- ID_PRODUCT_FROM_DATABASE=SCHD-PH-8 Phase detector
-
-pci:v00003842*
- ID_VENDOR_FROM_DATABASE=eVga.com. Corp.
-
-pci:v000038EF*
- ID_VENDOR_FROM_DATABASE=4Links
-
-pci:v00003D3D*
- ID_VENDOR_FROM_DATABASE=3DLabs
-
-pci:v00003D3Dd00000001*
- ID_PRODUCT_FROM_DATABASE=GLINT 300SX
-
-pci:v00003D3Dd00000002*
- ID_PRODUCT_FROM_DATABASE=GLINT 500TX
-
-pci:v00003D3Dd00000002sv00000000sd00000000*
- ID_PRODUCT_FROM_DATABASE=GLoria L
-
-pci:v00003D3Dd00000003*
- ID_PRODUCT_FROM_DATABASE=GLINT Delta
-
-pci:v00003D3Dd00000003sv00000000sd00000000*
- ID_PRODUCT_FROM_DATABASE=GLoria XL
-
-pci:v00003D3Dd00000004*
- ID_PRODUCT_FROM_DATABASE=Permedia
-
-pci:v00003D3Dd00000005*
- ID_PRODUCT_FROM_DATABASE=Permedia
-
-pci:v00003D3Dd00000006*
- ID_PRODUCT_FROM_DATABASE=GLINT MX
-
-pci:v00003D3Dd00000006sv00000000sd00000000*
- ID_PRODUCT_FROM_DATABASE=GLoria XL
-
-pci:v00003D3Dd00000006sv00001048sd00000A42*
- ID_PRODUCT_FROM_DATABASE=GLoria XXL
-
-pci:v00003D3Dd00000007*
- ID_PRODUCT_FROM_DATABASE=3D Extreme
-
-pci:v00003D3Dd00000008*
- ID_PRODUCT_FROM_DATABASE=GLINT Gamma G1
-
-pci:v00003D3Dd00000008sv00001048sd00000A42*
- ID_PRODUCT_FROM_DATABASE=GLoria XXL
-
-pci:v00003D3Dd00000009*
- ID_PRODUCT_FROM_DATABASE=Permedia II 2D+3D
-
-pci:v00003D3Dd00000009sv00001040sd00000011*
- ID_PRODUCT_FROM_DATABASE=AccelStar II
-
-pci:v00003D3Dd00000009sv00001048sd00000A42*
- ID_PRODUCT_FROM_DATABASE=GLoria XXL
-
-pci:v00003D3Dd00000009sv000013E9sd00001000*
- ID_PRODUCT_FROM_DATABASE=6221L-4U
-
-pci:v00003D3Dd00000009sv00003D3Dsd00000100*
- ID_PRODUCT_FROM_DATABASE=AccelStar II 3D Accelerator
-
-pci:v00003D3Dd00000009sv00003D3Dsd00000111*
- ID_PRODUCT_FROM_DATABASE=Permedia 3:16
-
-pci:v00003D3Dd00000009sv00003D3Dsd00000114*
- ID_PRODUCT_FROM_DATABASE=Santa Ana
-
-pci:v00003D3Dd00000009sv00003D3Dsd00000116*
- ID_PRODUCT_FROM_DATABASE=Oxygen GVX1
-
-pci:v00003D3Dd00000009sv00003D3Dsd00000119*
- ID_PRODUCT_FROM_DATABASE=Scirocco
-
-pci:v00003D3Dd00000009sv00003D3Dsd00000120*
- ID_PRODUCT_FROM_DATABASE=Santa Ana PCL
-
-pci:v00003D3Dd00000009sv00003D3Dsd00000125*
- ID_PRODUCT_FROM_DATABASE=Oxygen VX1
-
-pci:v00003D3Dd00000009sv00003D3Dsd00000127*
- ID_PRODUCT_FROM_DATABASE=Permedia3 Create!
-
-pci:v00003D3Dd0000000A*
- ID_PRODUCT_FROM_DATABASE=GLINT R3
-
-pci:v00003D3Dd0000000Asv00003D3Dsd00000121*
- ID_PRODUCT_FROM_DATABASE=Oxygen VX1
-
-pci:v00003D3Dd0000000C*
- ID_PRODUCT_FROM_DATABASE=GLINT R3 [Oxygen VX1]
-
-pci:v00003D3Dd0000000Csv00003D3Dsd00000144*
- ID_PRODUCT_FROM_DATABASE=Oxygen VX1-4X AGP [Permedia 4]
-
-pci:v00003D3Dd0000000D*
- ID_PRODUCT_FROM_DATABASE=GLint R4 rev A
-
-pci:v00003D3Dd0000000E*
- ID_PRODUCT_FROM_DATABASE=GLINT Gamma G2
-
-pci:v00003D3Dd00000011*
- ID_PRODUCT_FROM_DATABASE=GLint R4 rev B
-
-pci:v00003D3Dd00000012*
- ID_PRODUCT_FROM_DATABASE=GLint R5 rev A
-
-pci:v00003D3Dd00000013*
- ID_PRODUCT_FROM_DATABASE=GLint R5 rev B
-
-pci:v00003D3Dd00000020*
- ID_PRODUCT_FROM_DATABASE=VP10 visual processor
-
-pci:v00003D3Dd00000022*
- ID_PRODUCT_FROM_DATABASE=VP10 visual processor
-
-pci:v00003D3Dd00000024*
- ID_PRODUCT_FROM_DATABASE=VP9 visual processor
-
-pci:v00003D3Dd0000002C*
- ID_PRODUCT_FROM_DATABASE=Wildcat Realizm 100/200
-
-pci:v00003D3Dd00000030*
- ID_PRODUCT_FROM_DATABASE=Wildcat Realizm 800
-
-pci:v00003D3Dd00000032*
- ID_PRODUCT_FROM_DATABASE=Wildcat Realizm 500
-
-pci:v00003D3Dd00000100*
- ID_PRODUCT_FROM_DATABASE=Permedia II 2D+3D
-
-pci:v00003D3Dd000007A1*
- ID_PRODUCT_FROM_DATABASE=Wildcat III 6210
-
-pci:v00003D3Dd000007A2*
- ID_PRODUCT_FROM_DATABASE=Sun XVR-500 Graphics Accelerator
-
-pci:v00003D3Dd000007A3*
- ID_PRODUCT_FROM_DATABASE=Wildcat IV 7210
-
-pci:v00003D3Dd00001004*
- ID_PRODUCT_FROM_DATABASE=Permedia
-
-pci:v00003D3Dd00003D04*
- ID_PRODUCT_FROM_DATABASE=Permedia
-
-pci:v00003D3Dd0000FFFF*
- ID_PRODUCT_FROM_DATABASE=Glint VGA
-
-pci:v00004005*
- ID_VENDOR_FROM_DATABASE=Avance Logic Inc.
-
-pci:v00004005d00000300*
- ID_PRODUCT_FROM_DATABASE=ALS300 PCI Audio Device
-
-pci:v00004005d00000308*
- ID_PRODUCT_FROM_DATABASE=ALS300+ PCI Audio Device
-
-pci:v00004005d00000309*
- ID_PRODUCT_FROM_DATABASE=PCI Input Controller
-
-pci:v00004005d00001064*
- ID_PRODUCT_FROM_DATABASE=ALG-2064
-
-pci:v00004005d00002064*
- ID_PRODUCT_FROM_DATABASE=ALG-2064i
-
-pci:v00004005d00002128*
- ID_PRODUCT_FROM_DATABASE=ALG-2364A GUI Accelerator
-
-pci:v00004005d00002301*
- ID_PRODUCT_FROM_DATABASE=ALG-2301
-
-pci:v00004005d00002302*
- ID_PRODUCT_FROM_DATABASE=ALG-2302
-
-pci:v00004005d00002303*
- ID_PRODUCT_FROM_DATABASE=AVG-2302 GUI Accelerator
-
-pci:v00004005d00002364*
- ID_PRODUCT_FROM_DATABASE=ALG-2364A
-
-pci:v00004005d00002464*
- ID_PRODUCT_FROM_DATABASE=ALG-2464
-
-pci:v00004005d00002501*
- ID_PRODUCT_FROM_DATABASE=ALG-2564A/25128A
-
-pci:v00004005d00004000*
- ID_PRODUCT_FROM_DATABASE=ALS4000 Audio Chipset
-
-pci:v00004005d00004000sv00004005sd00004000*
- ID_PRODUCT_FROM_DATABASE=ALS4000 Audio Chipset
-
-pci:v00004005d00004710*
- ID_PRODUCT_FROM_DATABASE=ALC200/200P
-
-pci:v00004033*
- ID_VENDOR_FROM_DATABASE=Addtron Technology Co, Inc.
-
-pci:v00004033d00001360*
- ID_PRODUCT_FROM_DATABASE=RTL8139 Ethernet
-
-pci:v00004040*
- ID_VENDOR_FROM_DATABASE=NetXen Incorporated
-
-pci:v00004040d00000001*
- ID_PRODUCT_FROM_DATABASE=NXB-10GXSR 10-Gigabit Ethernet PCIe Adapter with SR-XFP optical interface
-
-pci:v00004040d00000001sv0000103Csd00007047*
- ID_PRODUCT_FROM_DATABASE=NC510F PCIe 10-Gigabit Server Adapter
-
-pci:v00004040d00000002*
- ID_PRODUCT_FROM_DATABASE=NXB-10GCX4 10-Gigabit Ethernet PCIe Adapter with CX4 copper interface
-
-pci:v00004040d00000002sv0000103Csd00007048*
- ID_PRODUCT_FROM_DATABASE=NC510c PCIe 10-Gigabit Server Adapter
-
-pci:v00004040d00000003*
- ID_PRODUCT_FROM_DATABASE=NXB-4GCU Quad Gigabit Ethernet PCIe Adapter with 1000-BASE-T interface
-
-pci:v00004040d00000004*
- ID_PRODUCT_FROM_DATABASE=BladeCenter-H 10-Gigabit Ethernet High Speed Daughter Card
-
-pci:v00004040d00000005*
- ID_PRODUCT_FROM_DATABASE=NetXen Dual Port 10GbE Multifunction Adapter for c-Class
-
-pci:v00004040d00000005sv0000103Csd0000170E*
- ID_PRODUCT_FROM_DATABASE=NC512m Dual Port 10GbE Multifunction BL-C Adapter
-
-pci:v00004040d00000024*
- ID_PRODUCT_FROM_DATABASE=XG Mgmt
-
-pci:v00004040d00000025*
- ID_PRODUCT_FROM_DATABASE=XG Mgmt
-
-pci:v00004040d00000100*
- ID_PRODUCT_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter
-
-pci:v00004040d00000100sv0000103Csd0000171B*
- ID_PRODUCT_FROM_DATABASE=NC522m Dual Port 10GbE Multifunction BL-c Adapter
-
-pci:v00004040d00000100sv0000103Csd00001740*
- ID_PRODUCT_FROM_DATABASE=NC375T PCI Express Quad Port Gigabit Server Adapter
-
-pci:v00004040d00000100sv0000103Csd00003251*
- ID_PRODUCT_FROM_DATABASE=NC375i 1G w/NC524SFP 10G Module
-
-pci:v00004040d00000100sv0000103Csd0000705A*
- ID_PRODUCT_FROM_DATABASE=NC375i Integrated Quad Port Multifunction Gigabit Server Adapter
-
-pci:v00004040d00000100sv0000103Csd0000705B*
- ID_PRODUCT_FROM_DATABASE=NC522SFP Dual Port 10GbE Server Adapter
-
-pci:v00004040d00000100sv0000152Dsd0000896B*
- ID_PRODUCT_FROM_DATABASE=TG20 Dual Port 10GbE Server/Storage Adapter
-
-pci:v00004040d00000100sv00004040sd00000124*
- ID_PRODUCT_FROM_DATABASE=NX3031 Quad Port Gigabit Server Adapter
-
-pci:v00004040d00000100sv00004040sd00000126*
- ID_PRODUCT_FROM_DATABASE=Dual Port SFP+ 10GbE Server Adapter
-
-pci:v00004143*
- ID_VENDOR_FROM_DATABASE=Digital Equipment Corp
-
-pci:v00004144*
- ID_VENDOR_FROM_DATABASE=Alpha Data
-
-pci:v00004144d00000044*
- ID_PRODUCT_FROM_DATABASE=ADM-XRCIIPro
-
-pci:v00004150*
- ID_VENDOR_FROM_DATABASE=ONA Electroerosion
-
-pci:v00004150d00000001*
- ID_PRODUCT_FROM_DATABASE=PCI32TLITE FILSTRUP1 PCI to VME Bridge Controller
-
-pci:v00004150d00000006*
- ID_PRODUCT_FROM_DATABASE=PCI32TLITE UART 16550 Opencores
-
-pci:v00004150d00000007*
- ID_PRODUCT_FROM_DATABASE=PCI32TLITE CAN Controller Opencores
-
-pci:v0000415A*
- ID_VENDOR_FROM_DATABASE=Auzentech, Inc.
-
-pci:v0000416C*
- ID_VENDOR_FROM_DATABASE=Aladdin Knowledge Systems
-
-pci:v0000416Cd00000100*
- ID_PRODUCT_FROM_DATABASE=AladdinCARD
-
-pci:v0000416Cd00000200*
- ID_PRODUCT_FROM_DATABASE=CPC
-
-pci:v00004321*
- ID_VENDOR_FROM_DATABASE=Tata Power Strategic Electronics Division
-
-pci:v0000434E*
- ID_VENDOR_FROM_DATABASE=CAST Navigation LLC
-
-pci:v00004444*
- ID_VENDOR_FROM_DATABASE=Internext Compression Inc
-
-pci:v00004444d00000016*
- ID_PRODUCT_FROM_DATABASE=iTVC16 (CX23416) Video Decoder
-
-pci:v00004444d00000016sv00000070sd00000003*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 250
-
-pci:v00004444d00000016sv00000070sd00000009*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 150
-
-pci:v00004444d00000016sv00000070sd00000801*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 150
-
-pci:v00004444d00000016sv00000070sd00000807*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 150
-
-pci:v00004444d00000016sv00000070sd00004001*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 250
-
-pci:v00004444d00000016sv00000070sd00004009*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 250
-
-pci:v00004444d00000016sv00000070sd00004801*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 250
-
-pci:v00004444d00000016sv00000070sd00004803*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 250
-
-pci:v00004444d00000016sv00000070sd00008003*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 150
-
-pci:v00004444d00000016sv00000070sd00008801*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 150
-
-pci:v00004444d00000016sv00000070sd0000C801*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 150
-
-pci:v00004444d00000016sv00000070sd0000E807*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 500 (1st unit)
-
-pci:v00004444d00000016sv00000070sd0000E817*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 500 (2nd unit)
-
-pci:v00004444d00000016sv00000070sd0000FF92*
- ID_PRODUCT_FROM_DATABASE=WiNTV PVR-550
-
-pci:v00004444d00000016sv00000270sd00000801*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR 150
-
-pci:v00004444d00000016sv0000104Dsd0000013D*
- ID_PRODUCT_FROM_DATABASE=ENX-26 TV Encoder
-
-pci:v00004444d00000016sv000010FCsd0000D038*
- ID_PRODUCT_FROM_DATABASE=GV-MVP/RX2W (1st unit)
-
-pci:v00004444d00000016sv000010FCsd0000D039*
- ID_PRODUCT_FROM_DATABASE=GV-MVP/RX2W (2nd unit)
-
-pci:v00004444d00000016sv000012ABsd0000FFF3*
- ID_PRODUCT_FROM_DATABASE=MPG600
-
-pci:v00004444d00000016sv000012ABsd0000FFFF*
- ID_PRODUCT_FROM_DATABASE=MPG600
-
-pci:v00004444d00000016sv00001461sd0000C00A*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK3 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C00B*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK3 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C00C*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (NTSC, JAPAN version, Philips FI1286MK2 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C010*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (NTSC, Philips FI1236MK3 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C011*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (NTSC+FM, Philips FM1236MK3 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C018*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (NTSC, Philips FQ1236MK5 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C019*
- ID_PRODUCT_FROM_DATABASE=UltraTV 1500 MCE, a.k.a. M113 PCI Analog TV (NTSC+FM, Philips FQ1236MK5 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C01A*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK5 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C01B*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK5 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C030*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (NTSC-J, Partsnic tuner)
-
-pci:v00004444d00000016sv00001461sd0000C031*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (NTSC-J+FM, Partsnic tuner)
-
-pci:v00004444d00000016sv00001461sd0000C032*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Partsnic tuner)
-
-pci:v00004444d00000016sv00001461sd0000C033*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Partsnic tuner)
-
-pci:v00004444d00000016sv00001461sd0000C034*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (NTSC, Partsnic tuner)
-
-pci:v00004444d00000016sv00001461sd0000C035*
- ID_PRODUCT_FROM_DATABASE=M113 PCI Analog TV (NTSC+FM, Partsnic tuner)
-
-pci:v00004444d00000016sv00001461sd0000C03F*
- ID_PRODUCT_FROM_DATABASE=C115 PCI video capture card (no tuner)
-
-pci:v00004444d00000016sv00001461sd0000C136*
- ID_PRODUCT_FROM_DATABASE=M104 mini-PCI Analog TV
-
-pci:v00004444d00000016sv00001461sd0000C20A*
- ID_PRODUCT_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK3 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C218*
- ID_PRODUCT_FROM_DATABASE=M755 AVerTV Video Capture (NTSC, Philips FQ1236MK5 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C219*
- ID_PRODUCT_FROM_DATABASE=M755 AVerTV Video Capture (NTSC+FM, Philips FQ1236MK5 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C21A*
- ID_PRODUCT_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK5 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C21B*
- ID_PRODUCT_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM+FM, Philips FM1216MK5 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C230*
- ID_PRODUCT_FROM_DATABASE=M755 AVerTV Video Capture (NTSC-J, Partsnic tuner)
-
-pci:v00004444d00000016sv00001461sd0000C231*
- ID_PRODUCT_FROM_DATABASE=M755 AVerTV Video Capture (NTSC-J+FM, Partsnic tuner)
-
-pci:v00004444d00000016sv00001461sd0000C232*
- ID_PRODUCT_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Partsnic tuner)
-
-pci:v00004444d00000016sv00001461sd0000C233*
- ID_PRODUCT_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM+FM, Partsnic tuner)
-
-pci:v00004444d00000016sv00001461sd0000C234*
- ID_PRODUCT_FROM_DATABASE=M755 AVerTV Video Capture (NTSC, Partsnic tuner)
-
-pci:v00004444d00000016sv00001461sd0000C235*
- ID_PRODUCT_FROM_DATABASE=M755 AVerTV Video Capture (NTSC+FM, Partsnic tuner)
-
-pci:v00004444d00000016sv00001461sd0000C337*
- ID_PRODUCT_FROM_DATABASE=E106 AVerMedia AVerTV Video Capture
-
-pci:v00004444d00000016sv00001461sd0000C439*
- ID_PRODUCT_FROM_DATABASE=M116 AVerMedia AVerTV MCE 116 Plus (NTSC/PAL/SECAM+FM+REMOTE, Xceive 2028 tuner)
-
-pci:v00004444d00000016sv00001461sd0000C5FF*
- ID_PRODUCT_FROM_DATABASE=C755 AVerTV Video Capture card (no tuner)
-
-pci:v00004444d00000016sv00001461sd0000C6FF*
- ID_PRODUCT_FROM_DATABASE=C115 PCI video capture card (no tuner)
-
-pci:v00004444d00000016sv00001461sd0000C739*
- ID_PRODUCT_FROM_DATABASE=M785 AVerMedia PCI Analog TV (NTSC/PAL/SECAM+FM, Xceive 2028 tuner)
-
-pci:v00004444d00000016sv00009005sd00000092*
- ID_PRODUCT_FROM_DATABASE=VideOh! AVC-2010
-
-pci:v00004444d00000016sv00009005sd00000093*
- ID_PRODUCT_FROM_DATABASE=VideOh! AVC-2410
-
-pci:v00004444d00000803*
- ID_PRODUCT_FROM_DATABASE=iTVC15 (CX23415) Video Decoder
-
-pci:v00004444d00000803sv00000070sd00004000*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-350
-
-pci:v00004444d00000803sv00000070sd00004001*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-250
-
-pci:v00004444d00000803sv00000070sd00004800*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR-350 (V1)
-
-pci:v00004444d00000803sv000012ABsd00000000*
- ID_PRODUCT_FROM_DATABASE=MPG160
-
-pci:v00004444d00000803sv00001461sd0000A3CE*
- ID_PRODUCT_FROM_DATABASE=M179
-
-pci:v00004444d00000803sv00001461sd0000A3CF*
- ID_PRODUCT_FROM_DATABASE=M179
-
-pci:v00004468*
- ID_VENDOR_FROM_DATABASE=Bridgeport machines
-
-pci:v00004594*
- ID_VENDOR_FROM_DATABASE=Cogetec Informatique Inc
-
-pci:v000045FB*
- ID_VENDOR_FROM_DATABASE=Baldor Electric Company
-
-pci:v00004624*
- ID_VENDOR_FROM_DATABASE=Budker Institute of Nuclear Physics
-
-pci:v00004624d0000ADC1*
- ID_PRODUCT_FROM_DATABASE=ADC200ME High speed ADC
-
-pci:v00004624d0000DE01*
- ID_PRODUCT_FROM_DATABASE=DL200ME High resolution delay line PCI based card
-
-pci:v00004624d0000DE02*
- ID_PRODUCT_FROM_DATABASE=DL200ME Middle resolution delay line PCI based card
-
-pci:v00004680*
- ID_VENDOR_FROM_DATABASE=Umax Computer Corp
-
-pci:v00004843*
- ID_VENDOR_FROM_DATABASE=Hercules Computer Technology Inc
-
-pci:v00004916*
- ID_VENDOR_FROM_DATABASE=RedCreek Communications Inc
-
-pci:v00004916d00001960*
- ID_PRODUCT_FROM_DATABASE=RedCreek PCI adapter
-
-pci:v00004943*
- ID_VENDOR_FROM_DATABASE=Growth Networks
-
-pci:v0000494F*
- ID_VENDOR_FROM_DATABASE=ACCES I/O Products, Inc.
-
-pci:v0000494Fd00000520*
- ID_PRODUCT_FROM_DATABASE=PCI-IDO-48
-
-pci:v0000494Fd00000920*
- ID_PRODUCT_FROM_DATABASE=PCI-IDI-48
-
-pci:v0000494Fd00000C50*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-24H
-
-pci:v0000494Fd00000C51*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-24D
-
-pci:v0000494Fd00000C60*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-48(H)
-
-pci:v0000494Fd00000C68*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-72
-
-pci:v0000494Fd00000C70*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-96
-
-pci:v0000494Fd00000C78*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-120
-
-pci:v0000494Fd00000DC8*
- ID_PRODUCT_FROM_DATABASE=PCI-IDIO-16
-
-pci:v0000494Fd00000E50*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-24S
-
-pci:v0000494Fd00000E51*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-24H(C)
-
-pci:v0000494Fd00000E52*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-24D(C)
-
-pci:v0000494Fd00000E60*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-48S(H)
-
-pci:v0000494Fd00000E61*
- ID_PRODUCT_FROM_DATABASE=P104-DIO-24S
-
-pci:v0000494Fd00000F00*
- ID_PRODUCT_FROM_DATABASE=PCI-IIRO-8
-
-pci:v0000494Fd00000F01*
- ID_PRODUCT_FROM_DATABASE=LPCI-IIRO-8
-
-pci:v0000494Fd00000F08*
- ID_PRODUCT_FROM_DATABASE=PCI-IIRO-16
-
-pci:v0000494Fd00001050*
- ID_PRODUCT_FROM_DATABASE=PCI-422/485-2
-
-pci:v0000494Fd00001058*
- ID_PRODUCT_FROM_DATABASE=PCI-COM422/4
-
-pci:v0000494Fd00001059*
- ID_PRODUCT_FROM_DATABASE=PCI-COM485/4
-
-pci:v0000494Fd00001068*
- ID_PRODUCT_FROM_DATABASE=PCI-COM422/8
-
-pci:v0000494Fd00001069*
- ID_PRODUCT_FROM_DATABASE=PCI-COM485/8
-
-pci:v0000494Fd00001088*
- ID_PRODUCT_FROM_DATABASE=PCI-COM232/1
-
-pci:v0000494Fd00001090*
- ID_PRODUCT_FROM_DATABASE=PCI-COM232/2
-
-pci:v0000494Fd000010A8*
- ID_PRODUCT_FROM_DATABASE=P104-COM232-8
-
-pci:v0000494Fd000010C9*
- ID_PRODUCT_FROM_DATABASE=PCI-COM-1S
-
-pci:v0000494Fd000010D0*
- ID_PRODUCT_FROM_DATABASE=PCI-COM2S
-
-pci:v0000494Fd000010E8*
- ID_PRODUCT_FROM_DATABASE=PCI-COM-8SM
-
-pci:v0000494Fd00001148*
- ID_PRODUCT_FROM_DATABASE=PCI-ICM-1S
-
-pci:v0000494Fd00001150*
- ID_PRODUCT_FROM_DATABASE=PCI-ICM-2S
-
-pci:v0000494Fd00001158*
- ID_PRODUCT_FROM_DATABASE=PCI-ICM422/4
-
-pci:v0000494Fd00001159*
- ID_PRODUCT_FROM_DATABASE=PCI-ICM485/4
-
-pci:v0000494Fd00001250*
- ID_PRODUCT_FROM_DATABASE=PCI-WDG-2S
-
-pci:v0000494Fd000012D0*
- ID_PRODUCT_FROM_DATABASE=PCI-WDG-IMPAC
-
-pci:v0000494Fd000022C0*
- ID_PRODUCT_FROM_DATABASE=PCI-WDG-CSM
-
-pci:v0000494Fd00002C50*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-96CT
-
-pci:v0000494Fd00002C58*
- ID_PRODUCT_FROM_DATABASE=PCI-DIO-96C3
-
-pci:v0000494Fd00005ED0*
- ID_PRODUCT_FROM_DATABASE=PCI-DAC
-
-pci:v0000494Fd00006C90*
- ID_PRODUCT_FROM_DATABASE=PCI-DA12-2
-
-pci:v0000494Fd00006C98*
- ID_PRODUCT_FROM_DATABASE=PCI-DA12-4
-
-pci:v0000494Fd00006CA0*
- ID_PRODUCT_FROM_DATABASE=PCI-DA12-6
-
-pci:v0000494Fd00006CA8*
- ID_PRODUCT_FROM_DATABASE=PCI-DA12-8
-
-pci:v0000494Fd00006CA9*
- ID_PRODUCT_FROM_DATABASE=PCI-DA12-8V
-
-pci:v0000494Fd00006CB0*
- ID_PRODUCT_FROM_DATABASE=PCI-DA12-16
-
-pci:v0000494Fd00006CB1*
- ID_PRODUCT_FROM_DATABASE=PCI-DA12-16V
-
-pci:v0000494Fd00008EF0*
- ID_PRODUCT_FROM_DATABASE=P104-FAS16-16
-
-pci:v0000494Fd0000ACA8*
- ID_PRODUCT_FROM_DATABASE=PCI-AI12-16
-
-pci:v0000494Fd0000ACA9*
- ID_PRODUCT_FROM_DATABASE=PCI-AI12-16A
-
-pci:v0000494Fd0000ECA8*
- ID_PRODUCT_FROM_DATABASE=PCI-AIO12-16
-
-pci:v0000494Fd0000ECA9*
- ID_PRODUCT_FROM_DATABASE=PCI-A12-16
-
-pci:v0000494Fd0000ECAA*
- ID_PRODUCT_FROM_DATABASE=PCI-A12-16A
-
-pci:v0000494Fd0000ECE8*
- ID_PRODUCT_FROM_DATABASE=PCI-A16-16
-
-pci:v00004978*
- ID_VENDOR_FROM_DATABASE=Axil Computer Inc
-
-pci:v00004A14*
- ID_VENDOR_FROM_DATABASE=NetVin
-
-pci:v00004A14d00005000*
- ID_PRODUCT_FROM_DATABASE=NV5000SC
-
-pci:v00004A14d00005000sv00004A14sd00005000*
- ID_PRODUCT_FROM_DATABASE=RT8029-Based Ethernet Adapter
-
-pci:v00004B10*
- ID_VENDOR_FROM_DATABASE=Buslogic Inc.
-
-pci:v00004C48*
- ID_VENDOR_FROM_DATABASE=LUNG HWA Electronics
-
-pci:v00004C53*
- ID_VENDOR_FROM_DATABASE=SBS Technologies
-
-pci:v00004C53d00000000*
- ID_PRODUCT_FROM_DATABASE=PLUSTEST device
-
-pci:v00004C53d00000000sv00004C53sd00003000*
- ID_PRODUCT_FROM_DATABASE=PLUSTEST card (PC104+)
-
-pci:v00004C53d00000000sv00004C53sd00003001*
- ID_PRODUCT_FROM_DATABASE=PLUSTEST card (PMC)
-
-pci:v00004C53d00000001*
- ID_PRODUCT_FROM_DATABASE=PLUSTEST-MM device
-
-pci:v00004C53d00000001sv00004C53sd00003002*
- ID_PRODUCT_FROM_DATABASE=PLUSTEST-MM card (PMC)
-
-pci:v00004CA1*
- ID_VENDOR_FROM_DATABASE=Seanix Technology Inc
-
-pci:v00004D51*
- ID_VENDOR_FROM_DATABASE=MediaQ Inc.
-
-pci:v00004D51d00000200*
- ID_PRODUCT_FROM_DATABASE=MQ-200
-
-pci:v00004D54*
- ID_VENDOR_FROM_DATABASE=Microtechnica Co Ltd
-
-pci:v00004D56*
- ID_VENDOR_FROM_DATABASE=MATRIX VISION GmbH
-
-pci:v00004D56d00000000*
- ID_PRODUCT_FROM_DATABASE=[mvHYPERION-CLe/CLb] CameraLink PCI Express x1 Frame Grabber
-
-pci:v00004D56d00000001*
- ID_PRODUCT_FROM_DATABASE=[mvHYPERION-CLf/CLm] CameraLink PCI Express x4 Frame Grabber
-
-pci:v00004D56d00000010*
- ID_PRODUCT_FROM_DATABASE=[mvHYPERION-16R16/-32R16] 16 Video Channel PCI Express x4 Frame Grabber
-
-pci:v00004D56d00000020*
- ID_PRODUCT_FROM_DATABASE=[mvHYPERION-HD-SDI] HD-SDI PCI Express x4 Frame Grabber
-
-pci:v00004D56d00000030*
- ID_PRODUCT_FROM_DATABASE=[mvHYPERION-HD-SDI-Merger] HD-SDI PCI Express x4 Frame Grabber
-
-pci:v00004DDC*
- ID_VENDOR_FROM_DATABASE=ILC Data Device Corp
-
-pci:v00004DDCd00000100*
- ID_PRODUCT_FROM_DATABASE=DD-42924I5-300 (ARINC 429 Data Bus)
-
-pci:v00004DDCd00000801*
- ID_PRODUCT_FROM_DATABASE=BU-65570I1 MIL-STD-1553 Test and Simulation
-
-pci:v00004DDCd00000802*
- ID_PRODUCT_FROM_DATABASE=BU-65570I2 MIL-STD-1553 Test and Simulation
-
-pci:v00004DDCd00000811*
- ID_PRODUCT_FROM_DATABASE=BU-65572I1 MIL-STD-1553 Test and Simulation
-
-pci:v00004DDCd00000812*
- ID_PRODUCT_FROM_DATABASE=BU-65572I2 MIL-STD-1553 Test and Simulation
-
-pci:v00004DDCd00000881*
- ID_PRODUCT_FROM_DATABASE=BU-65570T1 MIL-STD-1553 Test and Simulation
-
-pci:v00004DDCd00000882*
- ID_PRODUCT_FROM_DATABASE=BU-65570T2 MIL-STD-1553 Test and Simulation
-
-pci:v00004DDCd00000891*
- ID_PRODUCT_FROM_DATABASE=BU-65572T1 MIL-STD-1553 Test and Simulation
-
-pci:v00004DDCd00000892*
- ID_PRODUCT_FROM_DATABASE=BU-65572T2 MIL-STD-1553 Test and Simulation
-
-pci:v00004DDCd00000901*
- ID_PRODUCT_FROM_DATABASE=BU-65565C1 MIL-STD-1553 Data Bus
-
-pci:v00004DDCd00000902*
- ID_PRODUCT_FROM_DATABASE=BU-65565C2 MIL-STD-1553 Data Bus
-
-pci:v00004DDCd00000903*
- ID_PRODUCT_FROM_DATABASE=BU-65565C3 MIL-STD-1553 Data Bus
-
-pci:v00004DDCd00000904*
- ID_PRODUCT_FROM_DATABASE=BU-65565C4 MIL-STD-1553 Data Bus
-
-pci:v00004DDCd00000B01*
- ID_PRODUCT_FROM_DATABASE=BU-65569I1 MIL-STD-1553 Data Bus
-
-pci:v00004DDCd00000B02*
- ID_PRODUCT_FROM_DATABASE=BU-65569I2 MIL-STD-1553 Data Bus
-
-pci:v00004DDCd00000B03*
- ID_PRODUCT_FROM_DATABASE=BU-65569I3 MIL-STD-1553 Data Bus
-
-pci:v00004DDCd00000B04*
- ID_PRODUCT_FROM_DATABASE=BU-65569I4 MIL-STD-1553 Data Bus
-
-pci:v00005045*
- ID_VENDOR_FROM_DATABASE=University of Toronto
-
-pci:v00005045d00004243*
- ID_PRODUCT_FROM_DATABASE=BLASTbus PCI Interface Card v1
-
-pci:v00005046*
- ID_VENDOR_FROM_DATABASE=GemTek Technology Corporation
-
-pci:v00005046d00001001*
- ID_PRODUCT_FROM_DATABASE=PCI Radio
-
-pci:v00005053*
- ID_VENDOR_FROM_DATABASE=Voyetra Technologies
-
-pci:v00005053d00002010*
- ID_PRODUCT_FROM_DATABASE=Daytona Audio Adapter
-
-pci:v000050B2*
- ID_VENDOR_FROM_DATABASE=TerraTec Electronic GmbH
-
-pci:v000050B2d00001111*
- ID_PRODUCT_FROM_DATABASE=Terratec XLerate
-
-pci:v00005136*
- ID_VENDOR_FROM_DATABASE=S S Technologies
-
-pci:v00005143*
- ID_VENDOR_FROM_DATABASE=Qualcomm Inc
-
-pci:v00005145*
- ID_VENDOR_FROM_DATABASE=Ensoniq (Old)
-
-pci:v00005145d00003031*
- ID_PRODUCT_FROM_DATABASE=Concert AudioPCI
-
-pci:v00005168*
- ID_VENDOR_FROM_DATABASE=Animation Technologies Inc.
-
-pci:v00005168d00000300*
- ID_PRODUCT_FROM_DATABASE=FlyDVB-S
-
-pci:v00005168d00000301*
- ID_PRODUCT_FROM_DATABASE=FlyDVB-T
-
-pci:v00005301*
- ID_VENDOR_FROM_DATABASE=Alliance Semiconductor Corp.
-
-pci:v00005301d00000001*
- ID_PRODUCT_FROM_DATABASE=ProMotion aT3D
-
-pci:v00005333*
- ID_VENDOR_FROM_DATABASE=S3 Inc.
-
-pci:v00005333d00000551*
- ID_PRODUCT_FROM_DATABASE=Plato/PX (system)
-
-pci:v00005333d00005631*
- ID_PRODUCT_FROM_DATABASE=86c325 [ViRGE]
-
-pci:v00005333d00008800*
- ID_PRODUCT_FROM_DATABASE=86c866 [Vision 866]
-
-pci:v00005333d00008801*
- ID_PRODUCT_FROM_DATABASE=86c964 [Vision 964]
-
-pci:v00005333d00008810*
- ID_PRODUCT_FROM_DATABASE=86c764_0 [Trio 32 vers 0]
-
-pci:v00005333d00008811*
- ID_PRODUCT_FROM_DATABASE=86c764/765 [Trio32/64/64V+]
-
-pci:v00005333d00008812*
- ID_PRODUCT_FROM_DATABASE=86cM65 [Aurora64V+]
-
-pci:v00005333d00008813*
- ID_PRODUCT_FROM_DATABASE=86c764_3 [Trio 32/64 vers 3]
-
-pci:v00005333d00008814*
- ID_PRODUCT_FROM_DATABASE=86c767 [Trio 64UV+]
-
-pci:v00005333d00008815*
- ID_PRODUCT_FROM_DATABASE=86cM65 [Aurora 128]
-
-pci:v00005333d0000883D*
- ID_PRODUCT_FROM_DATABASE=86c988 [ViRGE/VX]
-
-pci:v00005333d00008870*
- ID_PRODUCT_FROM_DATABASE=FireGL
-
-pci:v00005333d00008880*
- ID_PRODUCT_FROM_DATABASE=86c868 [Vision 868 VRAM] vers 0
-
-pci:v00005333d00008881*
- ID_PRODUCT_FROM_DATABASE=86c868 [Vision 868 VRAM] vers 1
-
-pci:v00005333d00008882*
- ID_PRODUCT_FROM_DATABASE=86c868 [Vision 868 VRAM] vers 2
-
-pci:v00005333d00008883*
- ID_PRODUCT_FROM_DATABASE=86c868 [Vision 868 VRAM] vers 3
-
-pci:v00005333d000088B0*
- ID_PRODUCT_FROM_DATABASE=86c928 [Vision 928 VRAM] vers 0
-
-pci:v00005333d000088B1*
- ID_PRODUCT_FROM_DATABASE=86c928 [Vision 928 VRAM] vers 1
-
-pci:v00005333d000088B2*
- ID_PRODUCT_FROM_DATABASE=86c928 [Vision 928 VRAM] vers 2
-
-pci:v00005333d000088B3*
- ID_PRODUCT_FROM_DATABASE=86c928 [Vision 928 VRAM] vers 3
-
-pci:v00005333d000088C0*
- ID_PRODUCT_FROM_DATABASE=86c864 [Vision 864 DRAM] vers 0
-
-pci:v00005333d000088C1*
- ID_PRODUCT_FROM_DATABASE=86c864 [Vision 864 DRAM] vers 1
-
-pci:v00005333d000088C2*
- ID_PRODUCT_FROM_DATABASE=86c864 [Vision 864-P DRAM] vers 2
-
-pci:v00005333d000088C3*
- ID_PRODUCT_FROM_DATABASE=86c864 [Vision 864-P DRAM] vers 3
-
-pci:v00005333d000088D0*
- ID_PRODUCT_FROM_DATABASE=86c964 [Vision 964 VRAM] vers 0
-
-pci:v00005333d000088D1*
- ID_PRODUCT_FROM_DATABASE=86c964 [Vision 964 VRAM] vers 1
-
-pci:v00005333d000088D2*
- ID_PRODUCT_FROM_DATABASE=86c964 [Vision 964-P VRAM] vers 2
-
-pci:v00005333d000088D3*
- ID_PRODUCT_FROM_DATABASE=86c964 [Vision 964-P VRAM] vers 3
-
-pci:v00005333d000088F0*
- ID_PRODUCT_FROM_DATABASE=86c968 [Vision 968 VRAM] rev 0
-
-pci:v00005333d000088F1*
- ID_PRODUCT_FROM_DATABASE=86c968 [Vision 968 VRAM] rev 1
-
-pci:v00005333d000088F2*
- ID_PRODUCT_FROM_DATABASE=86c968 [Vision 968 VRAM] rev 2
-
-pci:v00005333d000088F3*
- ID_PRODUCT_FROM_DATABASE=86c968 [Vision 968 VRAM] rev 3
-
-pci:v00005333d00008900*
- ID_PRODUCT_FROM_DATABASE=86c755 [Trio 64V2/DX]
-
-pci:v00005333d00008900sv00005333sd00008900*
- ID_PRODUCT_FROM_DATABASE=86C775 Trio64V2/DX
-
-pci:v00005333d00008901*
- ID_PRODUCT_FROM_DATABASE=86c775/86c785 [Trio 64V2/DX or /GX]
-
-pci:v00005333d00008901sv00005333sd00008901*
- ID_PRODUCT_FROM_DATABASE=86C775 Trio64V2/DX, 86C785 Trio64V2/GX
-
-pci:v00005333d00008902*
- ID_PRODUCT_FROM_DATABASE=Plato/PX
-
-pci:v00005333d00008903*
- ID_PRODUCT_FROM_DATABASE=Trio 3D business multimedia
-
-pci:v00005333d00008904*
- ID_PRODUCT_FROM_DATABASE=86c365, 86c366 [Trio 3D]
-
-pci:v00005333d00008904sv00001014sd000000DB*
- ID_PRODUCT_FROM_DATABASE=Integrated Trio3D
-
-pci:v00005333d00008904sv00004843sd0000314A*
- ID_PRODUCT_FROM_DATABASE=Terminator 128/3D GLH
-
-pci:v00005333d00008904sv00005333sd00008904*
- ID_PRODUCT_FROM_DATABASE=86C365 Trio3D AGP
-
-pci:v00005333d00008905*
- ID_PRODUCT_FROM_DATABASE=Trio 64V+ family
-
-pci:v00005333d00008906*
- ID_PRODUCT_FROM_DATABASE=Trio 64V+ family
-
-pci:v00005333d00008907*
- ID_PRODUCT_FROM_DATABASE=Trio 64V+ family
-
-pci:v00005333d00008908*
- ID_PRODUCT_FROM_DATABASE=Trio 64V+ family
-
-pci:v00005333d00008909*
- ID_PRODUCT_FROM_DATABASE=Trio 64V+ family
-
-pci:v00005333d0000890A*
- ID_PRODUCT_FROM_DATABASE=Trio 64V+ family
-
-pci:v00005333d0000890B*
- ID_PRODUCT_FROM_DATABASE=Trio 64V+ family
-
-pci:v00005333d0000890C*
- ID_PRODUCT_FROM_DATABASE=Trio 64V+ family
-
-pci:v00005333d0000890D*
- ID_PRODUCT_FROM_DATABASE=Trio 64V+ family
-
-pci:v00005333d0000890E*
- ID_PRODUCT_FROM_DATABASE=Trio 64V+ family
-
-pci:v00005333d0000890F*
- ID_PRODUCT_FROM_DATABASE=Trio 64V+ family
-
-pci:v00005333d00008A01*
- ID_PRODUCT_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX]
-
-pci:v00005333d00008A01sv00000E11sd0000B032*
- ID_PRODUCT_FROM_DATABASE=ViRGE/GX
-
-pci:v00005333d00008A01sv000010B4sd00001617*
- ID_PRODUCT_FROM_DATABASE=Nitro 3D
-
-pci:v00005333d00008A01sv000010B4sd00001717*
- ID_PRODUCT_FROM_DATABASE=Nitro 3D
-
-pci:v00005333d00008A01sv00005333sd00008A01*
- ID_PRODUCT_FROM_DATABASE=ViRGE/DX
-
-pci:v00005333d00008A10*
- ID_PRODUCT_FROM_DATABASE=ViRGE/GX2
-
-pci:v00005333d00008A10sv00001092sd00008A10*
- ID_PRODUCT_FROM_DATABASE=Stealth 3D 4000
-
-pci:v00005333d00008A13*
- ID_PRODUCT_FROM_DATABASE=86c360 [Trio 3D/1X], 86c362, 86c368 [Trio 3D/2X]
-
-pci:v00005333d00008A13sv00005333sd00008A13*
- ID_PRODUCT_FROM_DATABASE=Trio3D/2X
-
-pci:v00005333d00008A20*
- ID_PRODUCT_FROM_DATABASE=86c794 [Savage 3D]
-
-pci:v00005333d00008A20sv00005333sd00008A20*
- ID_PRODUCT_FROM_DATABASE=86C391 Savage3D
-
-pci:v00005333d00008A21*
- ID_PRODUCT_FROM_DATABASE=86c390 [Savage 3D/MV]
-
-pci:v00005333d00008A21sv00005333sd00008A21*
- ID_PRODUCT_FROM_DATABASE=86C390 Savage3D/MV
-
-pci:v00005333d00008A22*
- ID_PRODUCT_FROM_DATABASE=Savage 4
-
-pci:v00005333d00008A22sv00001033sd00008068*
- ID_PRODUCT_FROM_DATABASE=Savage 4
-
-pci:v00005333d00008A22sv00001033sd00008069*
- ID_PRODUCT_FROM_DATABASE=Savage 4
-
-pci:v00005333d00008A22sv00001033sd00008110*
- ID_PRODUCT_FROM_DATABASE=Savage 4 LT
-
-pci:v00005333d00008A22sv0000105Dsd00000018*
- ID_PRODUCT_FROM_DATABASE=SR9 8Mb SDRAM
-
-pci:v00005333d00008A22sv0000105Dsd0000002A*
- ID_PRODUCT_FROM_DATABASE=SR9 Pro 16Mb SDRAM
-
-pci:v00005333d00008A22sv0000105Dsd0000003A*
- ID_PRODUCT_FROM_DATABASE=SR9 Pro 32Mb SDRAM
-
-pci:v00005333d00008A22sv0000105Dsd0000092F*
- ID_PRODUCT_FROM_DATABASE=SR9 Pro+ 16Mb SGRAM
-
-pci:v00005333d00008A22sv00001092sd00004207*
- ID_PRODUCT_FROM_DATABASE=Stealth III S540
-
-pci:v00005333d00008A22sv00001092sd00004800*
- ID_PRODUCT_FROM_DATABASE=Stealth III S540
-
-pci:v00005333d00008A22sv00001092sd00004807*
- ID_PRODUCT_FROM_DATABASE=SpeedStar A90
-
-pci:v00005333d00008A22sv00001092sd00004808*
- ID_PRODUCT_FROM_DATABASE=Stealth III S540
-
-pci:v00005333d00008A22sv00001092sd00004809*
- ID_PRODUCT_FROM_DATABASE=Stealth III S540
-
-pci:v00005333d00008A22sv00001092sd0000480E*
- ID_PRODUCT_FROM_DATABASE=Stealth III S540
-
-pci:v00005333d00008A22sv00001092sd00004904*
- ID_PRODUCT_FROM_DATABASE=Stealth III S520
-
-pci:v00005333d00008A22sv00001092sd00004905*
- ID_PRODUCT_FROM_DATABASE=SpeedStar A200
-
-pci:v00005333d00008A22sv00001092sd00004A09*
- ID_PRODUCT_FROM_DATABASE=Stealth III S540
-
-pci:v00005333d00008A22sv00001092sd00004A0B*
- ID_PRODUCT_FROM_DATABASE=Stealth III S540 Xtreme
-
-pci:v00005333d00008A22sv00001092sd00004A0F*
- ID_PRODUCT_FROM_DATABASE=Stealth III S540
-
-pci:v00005333d00008A22sv00001092sd00004E01*
- ID_PRODUCT_FROM_DATABASE=Stealth III S540
-
-pci:v00005333d00008A22sv00001102sd0000101D*
- ID_PRODUCT_FROM_DATABASE=3d Blaster Savage 4
-
-pci:v00005333d00008A22sv00001102sd0000101E*
- ID_PRODUCT_FROM_DATABASE=3d Blaster Savage 4
-
-pci:v00005333d00008A22sv00005333sd00008100*
- ID_PRODUCT_FROM_DATABASE=86C394-397 Savage4 SDRAM 100
-
-pci:v00005333d00008A22sv00005333sd00008110*
- ID_PRODUCT_FROM_DATABASE=86C394-397 Savage4 SDRAM 110
-
-pci:v00005333d00008A22sv00005333sd00008125*
- ID_PRODUCT_FROM_DATABASE=86C394-397 Savage4 SDRAM 125
-
-pci:v00005333d00008A22sv00005333sd00008143*
- ID_PRODUCT_FROM_DATABASE=86C394-397 Savage4 SDRAM 143
-
-pci:v00005333d00008A22sv00005333sd00008A22*
- ID_PRODUCT_FROM_DATABASE=86C394-397 Savage4
-
-pci:v00005333d00008A22sv00005333sd00008A2E*
- ID_PRODUCT_FROM_DATABASE=86C394-397 Savage4 32bit
-
-pci:v00005333d00008A22sv00005333sd00009125*
- ID_PRODUCT_FROM_DATABASE=86C394-397 Savage4 SGRAM 125
-
-pci:v00005333d00008A22sv00005333sd00009143*
- ID_PRODUCT_FROM_DATABASE=86C394-397 Savage4 SGRAM 143
-
-pci:v00005333d00008A23*
- ID_PRODUCT_FROM_DATABASE=Savage 4
-
-pci:v00005333d00008A25*
- ID_PRODUCT_FROM_DATABASE=ProSavage PM133
-
-pci:v00005333d00008A25sv00000303sd00000303*
- ID_PRODUCT_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard]
-
-pci:v00005333d00008A26*
- ID_PRODUCT_FROM_DATABASE=ProSavage KM133
-
-pci:v00005333d00008C00*
- ID_PRODUCT_FROM_DATABASE=ViRGE/M3
-
-pci:v00005333d00008C01*
- ID_PRODUCT_FROM_DATABASE=ViRGE/MX
-
-pci:v00005333d00008C01sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=ViRGE/MX
-
-pci:v00005333d00008C02*
- ID_PRODUCT_FROM_DATABASE=ViRGE/MX+
-
-pci:v00005333d00008C03*
- ID_PRODUCT_FROM_DATABASE=ViRGE/MX+MV
-
-pci:v00005333d00008C10*
- ID_PRODUCT_FROM_DATABASE=86C270-294 Savage/MX-MV
-
-pci:v00005333d00008C11*
- ID_PRODUCT_FROM_DATABASE=82C270-294 Savage/MX
-
-pci:v00005333d00008C12*
- ID_PRODUCT_FROM_DATABASE=86C270-294 Savage/IX-MV
-
-pci:v00005333d00008C12sv00001014sd0000017F*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T20/T22
-
-pci:v00005333d00008C12sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=86C584 SuperSavage/IXC Toshiba
-
-pci:v00005333d00008C13*
- ID_PRODUCT_FROM_DATABASE=86C270-294 Savage/IX
-
-pci:v00005333d00008C13sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Magnia Z310
-
-pci:v00005333d00008C22*
- ID_PRODUCT_FROM_DATABASE=SuperSavage MX/128
-
-pci:v00005333d00008C24*
- ID_PRODUCT_FROM_DATABASE=SuperSavage MX/64
-
-pci:v00005333d00008C26*
- ID_PRODUCT_FROM_DATABASE=SuperSavage MX/64C
-
-pci:v00005333d00008C2A*
- ID_PRODUCT_FROM_DATABASE=SuperSavage IX/128 SDR
-
-pci:v00005333d00008C2B*
- ID_PRODUCT_FROM_DATABASE=SuperSavage IX/128 DDR
-
-pci:v00005333d00008C2C*
- ID_PRODUCT_FROM_DATABASE=SuperSavage IX/64 SDR
-
-pci:v00005333d00008C2D*
- ID_PRODUCT_FROM_DATABASE=SuperSavage IX/64 DDR
-
-pci:v00005333d00008C2E*
- ID_PRODUCT_FROM_DATABASE=SuperSavage IX/C SDR
-
-pci:v00005333d00008C2Esv00001014sd000001FC*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T23
-
-pci:v00005333d00008C2F*
- ID_PRODUCT_FROM_DATABASE=SuperSavage IX/C DDR
-
-pci:v00005333d00008D01*
- ID_PRODUCT_FROM_DATABASE=86C380 [ProSavageDDR K4M266]
-
-pci:v00005333d00008D02*
- ID_PRODUCT_FROM_DATABASE=VT8636A [ProSavage KN133] AGP4X VGA Controller (TwisterK)
-
-pci:v00005333d00008D03*
- ID_PRODUCT_FROM_DATABASE=VT8751 [ProSavageDDR P4M266]
-
-pci:v00005333d00008D04*
- ID_PRODUCT_FROM_DATABASE=VT8375 [ProSavage8 KM266/KL266]
-
-pci:v00005333d00008E40*
- ID_PRODUCT_FROM_DATABASE=2300E Graphics Processor
-
-pci:v00005333d00008E48*
- ID_PRODUCT_FROM_DATABASE=Chrome S27 PCIE
-
-pci:v00005333d00008E48sv00005333sd00000130*
- ID_PRODUCT_FROM_DATABASE=Chrome S27 256M DDR2
-
-pci:v00005333d00009102*
- ID_PRODUCT_FROM_DATABASE=86C410 Savage 2000
-
-pci:v00005333d00009102sv00001092sd00005932*
- ID_PRODUCT_FROM_DATABASE=Viper II Z200
-
-pci:v00005333d00009102sv00001092sd00005934*
- ID_PRODUCT_FROM_DATABASE=Viper II Z200
-
-pci:v00005333d00009102sv00001092sd00005952*
- ID_PRODUCT_FROM_DATABASE=Viper II Z200
-
-pci:v00005333d00009102sv00001092sd00005954*
- ID_PRODUCT_FROM_DATABASE=Viper II Z200
-
-pci:v00005333d00009102sv00001092sd00005A35*
- ID_PRODUCT_FROM_DATABASE=Viper II Z200
-
-pci:v00005333d00009102sv00001092sd00005A37*
- ID_PRODUCT_FROM_DATABASE=Viper II Z200
-
-pci:v00005333d00009102sv00001092sd00005A55*
- ID_PRODUCT_FROM_DATABASE=Viper II Z200
-
-pci:v00005333d00009102sv00001092sd00005A57*
- ID_PRODUCT_FROM_DATABASE=Viper II Z200
-
-pci:v00005333d0000CA00*
- ID_PRODUCT_FROM_DATABASE=SonicVibes
-
-pci:v00005431*
- ID_VENDOR_FROM_DATABASE=AuzenTech, Inc.
-
-pci:v0000544C*
- ID_VENDOR_FROM_DATABASE=Teralogic Inc
-
-pci:v0000544Cd00000350*
- ID_PRODUCT_FROM_DATABASE=TL880-based HDTV/ATSC tuner
-
-pci:v00005452*
- ID_VENDOR_FROM_DATABASE=SCANLAB AG
-
-pci:v00005452d00003443*
- ID_PRODUCT_FROM_DATABASE=RTC4
-
-pci:v00005455*
- ID_VENDOR_FROM_DATABASE=Technische University Berlin
-
-pci:v00005455d00004458*
- ID_PRODUCT_FROM_DATABASE=S5933
-
-pci:v00005456*
- ID_VENDOR_FROM_DATABASE=GoTView
-
-pci:v00005519*
- ID_VENDOR_FROM_DATABASE=Cnet Technologies, Inc.
-
-pci:v00005544*
- ID_VENDOR_FROM_DATABASE=Dunord Technologies
-
-pci:v00005544d00000001*
- ID_PRODUCT_FROM_DATABASE=I-30xx Scanner Interface
-
-pci:v00005555*
- ID_VENDOR_FROM_DATABASE=Genroco, Inc
-
-pci:v00005555d00000003*
- ID_PRODUCT_FROM_DATABASE=TURBOstor HFP-832 [HiPPI NIC]
-
-pci:v00005646*
- ID_VENDOR_FROM_DATABASE=Vector Fabrics BV
-
-pci:v00005654*
- ID_VENDOR_FROM_DATABASE=VoiceTronix Pty Ltd
-
-pci:v00005700*
- ID_VENDOR_FROM_DATABASE=Netpower
-
-pci:v0000584D*
- ID_VENDOR_FROM_DATABASE=AuzenTech Co., Ltd.
-
-pci:v00005851*
- ID_VENDOR_FROM_DATABASE=Exacq Technologies
-
-pci:v00005853*
- ID_VENDOR_FROM_DATABASE=XenSource, Inc.
-
-pci:v00005853d00000001*
- ID_PRODUCT_FROM_DATABASE=Xen Platform Device
-
-pci:v00005853d0000C110*
- ID_PRODUCT_FROM_DATABASE=Virtualized HID
-
-pci:v00005853d0000C147*
- ID_PRODUCT_FROM_DATABASE=Virtualized Graphics Device
-
-pci:v00005854*
- ID_VENDOR_FROM_DATABASE=GoTView
-
-pci:v00005ACE*
- ID_VENDOR_FROM_DATABASE=Beholder International Ltd.
-
-pci:v0000631C*
- ID_VENDOR_FROM_DATABASE=SmartInfra Ltd
-
-pci:v0000631Cd00001652*
- ID_PRODUCT_FROM_DATABASE=PXI-1652 Signal Generator
-
-pci:v0000631Cd00002504*
- ID_PRODUCT_FROM_DATABASE=PXI-2504 Signal Interrogator
-
-pci:v00006356*
- ID_VENDOR_FROM_DATABASE=UltraStor
-
-pci:v00006374*
- ID_VENDOR_FROM_DATABASE=c't Magazin fuer Computertechnik
-
-pci:v00006374d00006773*
- ID_PRODUCT_FROM_DATABASE=GPPCI
-
-pci:v00006409*
- ID_VENDOR_FROM_DATABASE=Logitec Corp.
-
-pci:v00006549*
- ID_VENDOR_FROM_DATABASE=Teradici Corp.
-
-pci:v00006549d00001200*
- ID_PRODUCT_FROM_DATABASE=TERA1200 PC-over-IP Host
-
-pci:v00006666*
- ID_VENDOR_FROM_DATABASE=Decision Computer International Co.
-
-pci:v00006666d00000001*
- ID_PRODUCT_FROM_DATABASE=PCCOM4
-
-pci:v00006666d00000002*
- ID_PRODUCT_FROM_DATABASE=PCCOM8
-
-pci:v00006666d00000004*
- ID_PRODUCT_FROM_DATABASE=PCCOM2
-
-pci:v00006666d00000101*
- ID_PRODUCT_FROM_DATABASE=PCI 8255/8254 I/O Card
-
-pci:v00006666d00000200*
- ID_PRODUCT_FROM_DATABASE=12-bit AD/DA Card
-
-pci:v00006666d00000201*
- ID_PRODUCT_FROM_DATABASE=14-bit AD/DA Card
-
-pci:v00006666d00001011*
- ID_PRODUCT_FROM_DATABASE=Industrial Card
-
-pci:v00006666d00001021*
- ID_PRODUCT_FROM_DATABASE=8 photo couple 8 relay Card
-
-pci:v00006666d00001022*
- ID_PRODUCT_FROM_DATABASE=4 photo couple 4 relay Card
-
-pci:v00006666d00001025*
- ID_PRODUCT_FROM_DATABASE=16 photo couple 16 relay Card
-
-pci:v00006666d00004000*
- ID_PRODUCT_FROM_DATABASE=WatchDog Card
-
-pci:v00006900*
- ID_VENDOR_FROM_DATABASE=Red Hat, Inc.
-
-pci:v00007063*
- ID_VENDOR_FROM_DATABASE=pcHDTV
-
-pci:v00007063d00002000*
- ID_PRODUCT_FROM_DATABASE=HD-2000
-
-pci:v00007063d00003000*
- ID_PRODUCT_FROM_DATABASE=HD-3000
-
-pci:v00007063d00005500*
- ID_PRODUCT_FROM_DATABASE=HD5500 HDTV
-
-pci:v00007284*
- ID_VENDOR_FROM_DATABASE=HT OMEGA Inc.
-
-pci:v00007604*
- ID_VENDOR_FROM_DATABASE=O.N. Electronic Co Ltd.
-
-pci:v00007BDE*
- ID_VENDOR_FROM_DATABASE=MIDAC Corporation
-
-pci:v00007FED*
- ID_VENDOR_FROM_DATABASE=PowerTV
-
-pci:v00008008*
- ID_VENDOR_FROM_DATABASE=Quancom Electronic GmbH
-
-pci:v00008008d00000010*
- ID_PRODUCT_FROM_DATABASE=WDOG1 [PCI-Watchdog 1]
-
-pci:v00008008d00000011*
- ID_PRODUCT_FROM_DATABASE=PWDOG2 [PCI-Watchdog 2]
-
-pci:v00008008d00000015*
- ID_PRODUCT_FROM_DATABASE=Clock77/PCI & Clock77/PCIe (DCF-77 receiver)
-
-pci:v0000807D*
- ID_VENDOR_FROM_DATABASE=Asustek Computer, Inc.
-
-pci:v00008086*
- ID_VENDOR_FROM_DATABASE=Intel Corporation
-
-pci:v00008086d00000007*
- ID_PRODUCT_FROM_DATABASE=82379AB
-
-pci:v00008086d00000008*
- ID_PRODUCT_FROM_DATABASE=Extended Express System Support Controller
-
-pci:v00008086d00000039*
- ID_PRODUCT_FROM_DATABASE=21145 Fast Ethernet
-
-pci:v00008086d00000040*
- ID_PRODUCT_FROM_DATABASE=Core Processor DRAM Controller
-
-pci:v00008086d00000041*
- ID_PRODUCT_FROM_DATABASE=Core Processor PCI Express x16 Root Port
-
-pci:v00008086d00000042*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Graphics Controller
-
-pci:v00008086d00000043*
- ID_PRODUCT_FROM_DATABASE=Core Processor Secondary PCI Express Root Port
-
-pci:v00008086d00000044*
- ID_PRODUCT_FROM_DATABASE=Core Processor DRAM Controller
-
-pci:v00008086d00000044sv00001025sd00000347*
- ID_PRODUCT_FROM_DATABASE=Aspire 7740G
-
-pci:v00008086d00000044sv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d00000045*
- ID_PRODUCT_FROM_DATABASE=Core Processor PCI Express x16 Root Port
-
-pci:v00008086d00000046*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Graphics Controller
-
-pci:v00008086d00000046sv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d00000047*
- ID_PRODUCT_FROM_DATABASE=Core Processor Secondary PCI Express Root Port
-
-pci:v00008086d00000048*
- ID_PRODUCT_FROM_DATABASE=Core Processor DRAM Controller
-
-pci:v00008086d00000049*
- ID_PRODUCT_FROM_DATABASE=Core Processor PCI Express x16 Root Port
-
-pci:v00008086d0000004A*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Graphics Controller
-
-pci:v00008086d0000004B*
- ID_PRODUCT_FROM_DATABASE=Core Processor Secondary PCI Express Root Port
-
-pci:v00008086d00000050*
- ID_PRODUCT_FROM_DATABASE=Core Processor Thermal Management Controller
-
-pci:v00008086d00000069*
- ID_PRODUCT_FROM_DATABASE=Core Processor DRAM Controller
-
-pci:v00008086d00000082*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak]
-
-pci:v00008086d00000082sv00008086sd00001301*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6205 AGN
-
-pci:v00008086d00000082sv00008086sd00001306*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6205 ABG
-
-pci:v00008086d00000082sv00008086sd00001307*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6205 BG
-
-pci:v00008086d00000082sv00008086sd00001321*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6205 AGN
-
-pci:v00008086d00000082sv00008086sd00001326*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6205 ABG
-
-pci:v00008086d00000083*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak]
-
-pci:v00008086d00000083sv00008086sd00001205*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 BGN
-
-pci:v00008086d00000083sv00008086sd00001206*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 BG
-
-pci:v00008086d00000083sv00008086sd00001225*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 BGN
-
-pci:v00008086d00000083sv00008086sd00001226*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 BG
-
-pci:v00008086d00000083sv00008086sd00001305*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 BGN
-
-pci:v00008086d00000083sv00008086sd00001306*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 BG
-
-pci:v00008086d00000083sv00008086sd00001325*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 BGN
-
-pci:v00008086d00000083sv00008086sd00001326*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 BG
-
-pci:v00008086d00000084*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak]
-
-pci:v00008086d00000084sv00008086sd00001215*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 BGN
-
-pci:v00008086d00000084sv00008086sd00001216*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 BG
-
-pci:v00008086d00000084sv00008086sd00001315*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 BGN
-
-pci:v00008086d00000084sv00008086sd00001316*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1000 BG
-
-pci:v00008086d00000085*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak]
-
-pci:v00008086d00000085sv00008086sd00001311*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6205 AGN
-
-pci:v00008086d00000085sv00008086sd00001316*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6205 ABG
-
-pci:v00008086d00000087*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak]
-
-pci:v00008086d00000087sv00008086sd00001301*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN
-
-pci:v00008086d00000087sv00008086sd00001306*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG
-
-pci:v00008086d00000087sv00008086sd00001321*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN
-
-pci:v00008086d00000087sv00008086sd00001326*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG
-
-pci:v00008086d00000089*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak]
-
-pci:v00008086d00000089sv00008086sd00001311*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN
-
-pci:v00008086d00000089sv00008086sd00001316*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG
-
-pci:v00008086d0000008A*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak]
-
-pci:v00008086d0000008Asv00008086sd00005305*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1030 BGN
-
-pci:v00008086d0000008Asv00008086sd00005307*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1030 BG
-
-pci:v00008086d0000008Asv00008086sd00005325*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1030 BGN
-
-pci:v00008086d0000008Asv00008086sd00005327*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1030 BG
-
-pci:v00008086d0000008B*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak]
-
-pci:v00008086d0000008Bsv00008086sd00005315*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1030 BGN
-
-pci:v00008086d0000008Bsv00008086sd00005317*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 1030 BG
-
-pci:v00008086d00000090*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak]
-
-pci:v00008086d00000090sv00008086sd00005211*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6230 AGN
-
-pci:v00008086d00000090sv00008086sd00005215*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6230 BGN
-
-pci:v00008086d00000090sv00008086sd00005216*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6230 ABG
-
-pci:v00008086d00000091*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak]
-
-pci:v00008086d00000091sv00008086sd00005201*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6230 AGN
-
-pci:v00008086d00000091sv00008086sd00005205*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6230 BGN
-
-pci:v00008086d00000091sv00008086sd00005206*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6230 ABG
-
-pci:v00008086d00000091sv00008086sd00005207*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6230 BG
-
-pci:v00008086d00000091sv00008086sd00005221*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6230 AGN
-
-pci:v00008086d00000091sv00008086sd00005225*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6230 BGN
-
-pci:v00008086d00000091sv00008086sd00005226*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6230 ABG
-
-pci:v00008086d00000100*
- ID_PRODUCT_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller
-
-pci:v00008086d00000100sv00001028sd000004AA*
- ID_PRODUCT_FROM_DATABASE=XPS 8300
-
-pci:v00008086d00000100sv00001043sd0000844D*
- ID_PRODUCT_FROM_DATABASE=P8P67 Deluxe Motherboard
-
-pci:v00008086d00000101*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port
-
-pci:v00008086d00000101sv00001028sd000004B2*
- ID_PRODUCT_FROM_DATABASE=Vostro 3350
-
-pci:v00008086d00000101sv0000106Bsd000000DC*
- ID_PRODUCT_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00000102*
- ID_PRODUCT_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller
-
-pci:v00008086d00000104*
- ID_PRODUCT_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller
-
-pci:v00008086d00000104sv00001028sd000004B2*
- ID_PRODUCT_FROM_DATABASE=Vostro 3350
-
-pci:v00008086d00000104sv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00008086d00000104sv0000106Bsd000000DC*
- ID_PRODUCT_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00000105*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port
-
-pci:v00008086d00000105sv0000106Bsd000000DC*
- ID_PRODUCT_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00000106*
- ID_PRODUCT_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller
-
-pci:v00008086d00000108*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 Processor Family DRAM Controller
-
-pci:v00008086d00000109*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port
-
-pci:v00008086d0000010A*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 Processor Family Integrated Graphics Controller
-
-pci:v00008086d0000010B*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family Integrated Graphics Controller
-
-pci:v00008086d0000010C*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family DRAM Controller
-
-pci:v00008086d0000010D*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port
-
-pci:v00008086d0000010E*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family Integrated Graphics Controller
-
-pci:v00008086d00000112*
- ID_PRODUCT_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller
-
-pci:v00008086d00000116*
- ID_PRODUCT_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller
-
-pci:v00008086d00000116sv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00008086d00000122*
- ID_PRODUCT_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller
-
-pci:v00008086d00000126*
- ID_PRODUCT_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller
-
-pci:v00008086d00000126sv00001028sd000004CC*
- ID_PRODUCT_FROM_DATABASE=Vostro 3350
-
-pci:v00008086d00000150*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller
-
-pci:v00008086d00000151*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port
-
-pci:v00008086d00000151sv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d00000152*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
-
-pci:v00008086d00000153*
- ID_PRODUCT_FROM_DATABASE=3rd Gen Core Processor Thermal Subsystem
-
-pci:v00008086d00000153sv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00000154*
- ID_PRODUCT_FROM_DATABASE=3rd Gen Core processor DRAM Controller
-
-pci:v00008086d00000154sv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d00000154sv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00000155*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port
-
-pci:v00008086d00000156*
- ID_PRODUCT_FROM_DATABASE=3rd Gen Core processor Graphics Controller
-
-pci:v00008086d00000158*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller
-
-pci:v00008086d00000159*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port
-
-pci:v00008086d0000015A*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge Graphics Controller
-
-pci:v00008086d0000015C*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller
-
-pci:v00008086d0000015D*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port
-
-pci:v00008086d0000015E*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
-
-pci:v00008086d00000162*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
-
-pci:v00008086d00000166*
- ID_PRODUCT_FROM_DATABASE=3rd Gen Core processor Graphics Controller
-
-pci:v00008086d00000166sv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00000166sv00001043sd00002103*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d0000016A*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
-
-pci:v00008086d00000172*
- ID_PRODUCT_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
-
-pci:v00008086d00000176*
- ID_PRODUCT_FROM_DATABASE=3rd Gen Core processor Graphics Controller
-
-pci:v00008086d00000309*
- ID_PRODUCT_FROM_DATABASE=80303 I/O Processor PCI-to-PCI Bridge
-
-pci:v00008086d0000030D*
- ID_PRODUCT_FROM_DATABASE=80312 I/O Companion Chip PCI-to-PCI Bridge
-
-pci:v00008086d00000326*
- ID_PRODUCT_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A
-
-pci:v00008086d00000326sv0000103Csd00003208*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G2
-
-pci:v00008086d00000326sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d00000327*
- ID_PRODUCT_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B
-
-pci:v00008086d00000327sv0000103Csd00003208*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G2
-
-pci:v00008086d00000327sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d00000329*
- ID_PRODUCT_FROM_DATABASE=6700PXH PCI Express-to-PCI Bridge A
-
-pci:v00008086d0000032A*
- ID_PRODUCT_FROM_DATABASE=6700PXH PCI Express-to-PCI Bridge B
-
-pci:v00008086d0000032C*
- ID_PRODUCT_FROM_DATABASE=6702PXH PCI Express-to-PCI Bridge A
-
-pci:v00008086d00000330*
- ID_PRODUCT_FROM_DATABASE=80332 [Dobson] I/O processor (A-Segment Bridge)
-
-pci:v00008086d00000331*
- ID_PRODUCT_FROM_DATABASE=80332 [Dobson] I/O processor (A-Segment IOAPIC)
-
-pci:v00008086d00000332*
- ID_PRODUCT_FROM_DATABASE=80332 [Dobson] I/O processor (B-Segment Bridge)
-
-pci:v00008086d00000333*
- ID_PRODUCT_FROM_DATABASE=80332 [Dobson] I/O processor (B-Segment IOAPIC)
-
-pci:v00008086d00000334*
- ID_PRODUCT_FROM_DATABASE=80332 [Dobson] I/O processor (ATU)
-
-pci:v00008086d00000335*
- ID_PRODUCT_FROM_DATABASE=80331 [Lindsay] I/O processor (PCI-X Bridge)
-
-pci:v00008086d00000336*
- ID_PRODUCT_FROM_DATABASE=80331 [Lindsay] I/O processor (ATU)
-
-pci:v00008086d00000340*
- ID_PRODUCT_FROM_DATABASE=41210 [Lanai] Serial to Parallel PCI Bridge (A-Segment Bridge)
-
-pci:v00008086d00000341*
- ID_PRODUCT_FROM_DATABASE=41210 [Lanai] Serial to Parallel PCI Bridge (B-Segment Bridge)
-
-pci:v00008086d00000370*
- ID_PRODUCT_FROM_DATABASE=80333 Segment-A PCI Express-to-PCI Express Bridge
-
-pci:v00008086d00000371*
- ID_PRODUCT_FROM_DATABASE=80333 A-Bus IOAPIC
-
-pci:v00008086d00000372*
- ID_PRODUCT_FROM_DATABASE=80333 Segment-B PCI Express-to-PCI Express Bridge
-
-pci:v00008086d00000373*
- ID_PRODUCT_FROM_DATABASE=80333 B-Bus IOAPIC
-
-pci:v00008086d00000374*
- ID_PRODUCT_FROM_DATABASE=80333 Address Translation Unit
-
-pci:v00008086d00000402*
- ID_PRODUCT_FROM_DATABASE=Haswell Integrated Graphics Controller
-
-pci:v00008086d00000406*
- ID_PRODUCT_FROM_DATABASE=Haswell Integrated Graphics Controller
-
-pci:v00008086d0000040A*
- ID_PRODUCT_FROM_DATABASE=Haswell Integrated Graphics Controller
-
-pci:v00008086d00000412*
- ID_PRODUCT_FROM_DATABASE=Haswell Integrated Graphics Controller
-
-pci:v00008086d00000416*
- ID_PRODUCT_FROM_DATABASE=Haswell Integrated Graphics Controller
-
-pci:v00008086d0000041A*
- ID_PRODUCT_FROM_DATABASE=Haswell Integrated Graphics Controller
-
-pci:v00008086d00000436*
- ID_PRODUCT_FROM_DATABASE=DH8900CC Null Device
-
-pci:v00008086d00000438*
- ID_PRODUCT_FROM_DATABASE=DH8900CC Series Gigabit Network Connection
-
-pci:v00008086d0000043A*
- ID_PRODUCT_FROM_DATABASE=DH8900CC Series Gigabit Fiber Network Connection
-
-pci:v00008086d0000043C*
- ID_PRODUCT_FROM_DATABASE=DH8900CC Series Gigabit Backplane Network Connection
-
-pci:v00008086d00000440*
- ID_PRODUCT_FROM_DATABASE=DH8900CC Series Gigabit SFP Network Connection
-
-pci:v00008086d00000482*
- ID_PRODUCT_FROM_DATABASE=82375EB/SB PCI to EISA Bridge
-
-pci:v00008086d00000483*
- ID_PRODUCT_FROM_DATABASE=82424TX/ZX [Saturn] CPU to PCI bridge
-
-pci:v00008086d00000484*
- ID_PRODUCT_FROM_DATABASE=82378ZB/IB, 82379AB (SIO, SIO.A) PCI to ISA Bridge
-
-pci:v00008086d00000486*
- ID_PRODUCT_FROM_DATABASE=82425EX/ZX [Aries] PCIset with ISA bridge
-
-pci:v00008086d000004A3*
- ID_PRODUCT_FROM_DATABASE=82434LX/NX [Mercury/Neptune] Processor to PCI bridge
-
-pci:v00008086d000004D0*
- ID_PRODUCT_FROM_DATABASE=82437FX [Triton FX]
-
-pci:v00008086d00000500*
- ID_PRODUCT_FROM_DATABASE=E8870 Processor bus control
-
-pci:v00008086d00000501*
- ID_PRODUCT_FROM_DATABASE=E8870 Memory controller
-
-pci:v00008086d00000502*
- ID_PRODUCT_FROM_DATABASE=E8870 Scalability Port 0
-
-pci:v00008086d00000503*
- ID_PRODUCT_FROM_DATABASE=E8870 Scalability Port 1
-
-pci:v00008086d00000510*
- ID_PRODUCT_FROM_DATABASE=E8870IO Hub Interface Port 0 registers (8-bit compatibility port)
-
-pci:v00008086d00000511*
- ID_PRODUCT_FROM_DATABASE=E8870IO Hub Interface Port 1 registers
-
-pci:v00008086d00000512*
- ID_PRODUCT_FROM_DATABASE=E8870IO Hub Interface Port 2 registers
-
-pci:v00008086d00000513*
- ID_PRODUCT_FROM_DATABASE=E8870IO Hub Interface Port 3 registers
-
-pci:v00008086d00000514*
- ID_PRODUCT_FROM_DATABASE=E8870IO Hub Interface Port 4 registers
-
-pci:v00008086d00000515*
- ID_PRODUCT_FROM_DATABASE=E8870IO General SIOH registers
-
-pci:v00008086d00000516*
- ID_PRODUCT_FROM_DATABASE=E8870IO RAS registers
-
-pci:v00008086d00000530*
- ID_PRODUCT_FROM_DATABASE=E8870SP Scalability Port 0 registers
-
-pci:v00008086d00000531*
- ID_PRODUCT_FROM_DATABASE=E8870SP Scalability Port 1 registers
-
-pci:v00008086d00000532*
- ID_PRODUCT_FROM_DATABASE=E8870SP Scalability Port 2 registers
-
-pci:v00008086d00000533*
- ID_PRODUCT_FROM_DATABASE=E8870SP Scalability Port 3 registers
-
-pci:v00008086d00000534*
- ID_PRODUCT_FROM_DATABASE=E8870SP Scalability Port 4 registers
-
-pci:v00008086d00000535*
- ID_PRODUCT_FROM_DATABASE=E8870SP Scalability Port 5 registers
-
-pci:v00008086d00000536*
- ID_PRODUCT_FROM_DATABASE=E8870SP Interleave registers 0 and 1
-
-pci:v00008086d00000537*
- ID_PRODUCT_FROM_DATABASE=E8870SP Interleave registers 2 and 3
-
-pci:v00008086d00000600*
- ID_PRODUCT_FROM_DATABASE=RAID Controller
-
-pci:v00008086d00000600sv00008086sd00000136*
- ID_PRODUCT_FROM_DATABASE=SRCU31L
-
-pci:v00008086d00000600sv00008086sd000001AF*
- ID_PRODUCT_FROM_DATABASE=SRCZCR
-
-pci:v00008086d00000600sv00008086sd000001C1*
- ID_PRODUCT_FROM_DATABASE=ICP Vortex GDT8546RZ
-
-pci:v00008086d00000600sv00008086sd000001F7*
- ID_PRODUCT_FROM_DATABASE=SCRU32
-
-pci:v00008086d0000061F*
- ID_PRODUCT_FROM_DATABASE=80303 I/O Processor
-
-pci:v00008086d00000700*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor A/V Bridge
-
-pci:v00008086d00000701*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor NAND Flash Controller
-
-pci:v00008086d00000703*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Media Control Unit 1
-
-pci:v00008086d00000704*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Video Capture Interface
-
-pci:v00008086d00000707*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor SPI Slave
-
-pci:v00008086d00000708*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor 4100
-
-pci:v00008086d00000800*
- ID_PRODUCT_FROM_DATABASE=Moorestown SPI Ctrl 0
-
-pci:v00008086d00000801*
- ID_PRODUCT_FROM_DATABASE=Moorestown SPI Ctrl 1
-
-pci:v00008086d00000802*
- ID_PRODUCT_FROM_DATABASE=Moorestown I2C 0
-
-pci:v00008086d00000803*
- ID_PRODUCT_FROM_DATABASE=Moorestown I2C 1
-
-pci:v00008086d00000804*
- ID_PRODUCT_FROM_DATABASE=Moorestown I2C 2
-
-pci:v00008086d00000805*
- ID_PRODUCT_FROM_DATABASE=Moorestown Keyboard Ctrl
-
-pci:v00008086d00000806*
- ID_PRODUCT_FROM_DATABASE=Moorestown USB Ctrl
-
-pci:v00008086d00000807*
- ID_PRODUCT_FROM_DATABASE=Moorestown SD Host Ctrl 0
-
-pci:v00008086d00000808*
- ID_PRODUCT_FROM_DATABASE=Moorestown SD Host Ctrl 1
-
-pci:v00008086d00000809*
- ID_PRODUCT_FROM_DATABASE=Moorestown NAND Ctrl
-
-pci:v00008086d0000080A*
- ID_PRODUCT_FROM_DATABASE=Moorestown Audio Ctrl
-
-pci:v00008086d0000080B*
- ID_PRODUCT_FROM_DATABASE=Moorestown ISP
-
-pci:v00008086d0000080C*
- ID_PRODUCT_FROM_DATABASE=Moorestown Security Controller
-
-pci:v00008086d0000080D*
- ID_PRODUCT_FROM_DATABASE=Moorestown External Displays
-
-pci:v00008086d0000080E*
- ID_PRODUCT_FROM_DATABASE=Moorestown SCU IPC
-
-pci:v00008086d0000080F*
- ID_PRODUCT_FROM_DATABASE=Moorestown GPIO Controller
-
-pci:v00008086d00000810*
- ID_PRODUCT_FROM_DATABASE=Moorestown Power Management Unit
-
-pci:v00008086d00000811*
- ID_PRODUCT_FROM_DATABASE=Moorestown OTG Ctrl
-
-pci:v00008086d00000812*
- ID_PRODUCT_FROM_DATABASE=Moorestown SPI Ctrl 2
-
-pci:v00008086d00000813*
- ID_PRODUCT_FROM_DATABASE=Moorestown SC DMA
-
-pci:v00008086d00000814*
- ID_PRODUCT_FROM_DATABASE=Moorestown LPE DMA
-
-pci:v00008086d00000815*
- ID_PRODUCT_FROM_DATABASE=Moorestown SSP0
-
-pci:v00008086d00000885*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150
-
-pci:v00008086d00000885sv00008086sd00001305*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN
-
-pci:v00008086d00000885sv00008086sd00001307*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG
-
-pci:v00008086d00000885sv00008086sd00001325*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN
-
-pci:v00008086d00000885sv00008086sd00001327*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG
-
-pci:v00008086d00000886*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150
-
-pci:v00008086d00000886sv00008086sd00001315*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN
-
-pci:v00008086d00000886sv00008086sd00001317*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG
-
-pci:v00008086d00000887*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 2230
-
-pci:v00008086d00000887sv00008086sd00004062*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 2230 BGN
-
-pci:v00008086d00000887sv00008086sd00004462*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 2230 BGN
-
-pci:v00008086d00000888*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 2230
-
-pci:v00008086d00000888sv00008086sd00004262*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 2230 BGN
-
-pci:v00008086d0000088E*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6235
-
-pci:v00008086d0000088Esv00008086sd00004060*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6235 AGN
-
-pci:v00008086d0000088Esv00008086sd00004460*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6235 AGN
-
-pci:v00008086d0000088F*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6235
-
-pci:v00008086d0000088Fsv00008086sd00004260*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6235 AGN
-
-pci:v00008086d00000890*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 2200
-
-pci:v00008086d00000890sv00008086sd00004022*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 2200 BGN
-
-pci:v00008086d00000890sv00008086sd00004422*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 2200 BGN
-
-pci:v00008086d00000890sv00008086sd00004822*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 2200 BGN
-
-pci:v00008086d00000891*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 2200
-
-pci:v00008086d00000891sv00008086sd00004222*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 2200 BGN
-
-pci:v00008086d00000892*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 135
-
-pci:v00008086d00000892sv00008086sd00000062*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 135 BGN
-
-pci:v00008086d00000892sv00008086sd00000462*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 135 BGN
-
-pci:v00008086d00000893*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 135
-
-pci:v00008086d00000893sv00008086sd00000262*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 135 BGN
-
-pci:v00008086d00000894*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 105
-
-pci:v00008086d00000894sv00008086sd00000022*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 105 BGN
-
-pci:v00008086d00000894sv00008086sd00000422*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 105 BGN
-
-pci:v00008086d00000894sv00008086sd00000822*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 105 BGN
-
-pci:v00008086d00000895*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 105
-
-pci:v00008086d00000895sv00008086sd00000222*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 105 BGN
-
-pci:v00008086d00000896*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 130
-
-pci:v00008086d00000896sv00008086sd00005005*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 130 BGN
-
-pci:v00008086d00000896sv00008086sd00005007*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 130 BG
-
-pci:v00008086d00000896sv00008086sd00005025*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 130 BGN
-
-pci:v00008086d00000896sv00008086sd00005027*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 130 BG
-
-pci:v00008086d00000897*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 130
-
-pci:v00008086d00000897sv00008086sd00005015*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 130 BGN
-
-pci:v00008086d00000897sv00008086sd00005017*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 130 BG
-
-pci:v00008086d000008AE*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 100
-
-pci:v00008086d000008AEsv00008086sd00001005*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 100 BGN
-
-pci:v00008086d000008AEsv00008086sd00001007*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 100 BG
-
-pci:v00008086d000008AEsv00008086sd00001025*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 100 BGN
-
-pci:v00008086d000008AEsv00008086sd00001027*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 100 BG
-
-pci:v00008086d000008AF*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 100
-
-pci:v00008086d000008AFsv00008086sd00001015*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 100 BGN
-
-pci:v00008086d000008AFsv00008086sd00001017*
- ID_PRODUCT_FROM_DATABASE=Centrino Wireless-N 100 BG
-
-pci:v00008086d00000960*
- ID_PRODUCT_FROM_DATABASE=80960RP (i960RP) Microprocessor/Bridge
-
-pci:v00008086d00000962*
- ID_PRODUCT_FROM_DATABASE=80960RM (i960RM) Bridge
-
-pci:v00008086d00000964*
- ID_PRODUCT_FROM_DATABASE=80960RP (i960RP) Microprocessor/Bridge
-
-pci:v00008086d00000A04*
- ID_PRODUCT_FROM_DATABASE=Haswell-ULT DRAM Controller
-
-pci:v00008086d00000A06*
- ID_PRODUCT_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller
-
-pci:v00008086d00000A16*
- ID_PRODUCT_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller
-
-pci:v00008086d00000A22*
- ID_PRODUCT_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller
-
-pci:v00008086d00000A26*
- ID_PRODUCT_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller
-
-pci:v00008086d00000A2A*
- ID_PRODUCT_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller
-
-pci:v00008086d00000BE0*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BE1*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BE2*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BE3*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BE4*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BE5*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BE6*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BE7*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BE8*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BE9*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BEA*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BEB*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BEC*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BED*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BEE*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BEF*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
-
-pci:v00008086d00000BF0*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
-
-pci:v00008086d00000BF1*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
-
-pci:v00008086d00000BF2*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
-
-pci:v00008086d00000BF3*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
-
-pci:v00008086d00000BF4*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
-
-pci:v00008086d00000BF5*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
-
-pci:v00008086d00000BF6*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
-
-pci:v00008086d00000BF7*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller
-
-pci:v00008086d00000C00*
- ID_PRODUCT_FROM_DATABASE=Haswell DRAM Controller
-
-pci:v00008086d00000C01*
- ID_PRODUCT_FROM_DATABASE=Haswell PCI Express x16 Controller
-
-pci:v00008086d00000C04*
- ID_PRODUCT_FROM_DATABASE=Haswell DRAM Controller
-
-pci:v00008086d00000C05*
- ID_PRODUCT_FROM_DATABASE=Haswell PCI Express x8 Controller
-
-pci:v00008086d00000C08*
- ID_PRODUCT_FROM_DATABASE=Haswell DRAM Controller
-
-pci:v00008086d00000C09*
- ID_PRODUCT_FROM_DATABASE=Haswell PCI Express x4 Controller
-
-pci:v00008086d00000C0C*
- ID_PRODUCT_FROM_DATABASE=Haswell HD Audio Controller
-
-pci:v00008086d00000C46*
- ID_PRODUCT_FROM_DATABASE=Centerton PCI Express Root Port 1
-
-pci:v00008086d00000C47*
- ID_PRODUCT_FROM_DATABASE=Centerton PCI Express Root Port 2
-
-pci:v00008086d00000C48*
- ID_PRODUCT_FROM_DATABASE=Centerton PCI Express Root Port 3
-
-pci:v00008086d00000C49*
- ID_PRODUCT_FROM_DATABASE=Centerton PCI Express Root Port 4
-
-pci:v00008086d00000C4E*
- ID_PRODUCT_FROM_DATABASE=Centerton NTB Primary
-
-pci:v00008086d00000C54*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Management
-
-pci:v00008086d00000C59*
- ID_PRODUCT_FROM_DATABASE=Centerton SMBus 2.0 Controller 0
-
-pci:v00008086d00000C5A*
- ID_PRODUCT_FROM_DATABASE=Centerton SMBus 2.0 Controller 1
-
-pci:v00008086d00000C5F*
- ID_PRODUCT_FROM_DATABASE=Centerton UART
-
-pci:v00008086d00000C60*
- ID_PRODUCT_FROM_DATABASE=Centerton Integrated Legacy Bus
-
-pci:v00008086d00000C70*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C71*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C72*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C73*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C74*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C75*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C76*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C77*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C78*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C79*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C7A*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C7B*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C7C*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C7D*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C7E*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000C7F*
- ID_PRODUCT_FROM_DATABASE=Centerton Internal Fabric
-
-pci:v00008086d00000D00*
- ID_PRODUCT_FROM_DATABASE=Crystal Well DRAM Controller
-
-pci:v00008086d00000D01*
- ID_PRODUCT_FROM_DATABASE=Crystal Well PCI Express x16 Controller
-
-pci:v00008086d00000D04*
- ID_PRODUCT_FROM_DATABASE=Crystal Well DRAM Controller
-
-pci:v00008086d00000D05*
- ID_PRODUCT_FROM_DATABASE=Crystal Well PCI Express x8 Controller
-
-pci:v00008086d00000D09*
- ID_PRODUCT_FROM_DATABASE=Crystal Well PCI Express x4 Controller
-
-pci:v00008086d00000D0C*
- ID_PRODUCT_FROM_DATABASE=Crystal Well HD Audio Controller
-
-pci:v00008086d00000D16*
- ID_PRODUCT_FROM_DATABASE=Crystal Well Integrated Graphics Controller
-
-pci:v00008086d00000D26*
- ID_PRODUCT_FROM_DATABASE=Crystal Well Integrated Graphics Controller
-
-pci:v00008086d00000D36*
- ID_PRODUCT_FROM_DATABASE=Crystal Well Integrated Graphics Controller
-
-pci:v00008086d00000E00*
- ID_PRODUCT_FROM_DATABASE=Ivytown DMI2
-
-pci:v00008086d00000E01*
- ID_PRODUCT_FROM_DATABASE=Ivytown PCI Express Root Port in DMI2 Mode
-
-pci:v00008086d00000E02*
- ID_PRODUCT_FROM_DATABASE=Ivytown PCI Express Root Port 1a
-
-pci:v00008086d00000E03*
- ID_PRODUCT_FROM_DATABASE=Ivytown PCI Express Root Port 1b
-
-pci:v00008086d00000E04*
- ID_PRODUCT_FROM_DATABASE=Ivytown PCI Express Root Port 2a
-
-pci:v00008086d00000E05*
- ID_PRODUCT_FROM_DATABASE=Ivytown PCI Express Root Port 2b
-
-pci:v00008086d00000E06*
- ID_PRODUCT_FROM_DATABASE=Ivytown PCI Express Root Port 2c
-
-pci:v00008086d00000E07*
- ID_PRODUCT_FROM_DATABASE=Ivytown PCI Express Root Port 2d
-
-pci:v00008086d00000E08*
- ID_PRODUCT_FROM_DATABASE=Ivytown PCI Express Root Port 3a
-
-pci:v00008086d00000E09*
- ID_PRODUCT_FROM_DATABASE=Ivytown PCI Express Root Port 3b
-
-pci:v00008086d00000E0A*
- ID_PRODUCT_FROM_DATABASE=Ivytown PCI Express Root Port 3c
-
-pci:v00008086d00000E0B*
- ID_PRODUCT_FROM_DATABASE=Ivytown PCI Express Root Port 3d
-
-pci:v00008086d00000E1C*
- ID_PRODUCT_FROM_DATABASE=Ivytown Debug and Error Injection Related Registers
-
-pci:v00008086d00000E1D*
- ID_PRODUCT_FROM_DATABASE=Ivytown R2PCIe
-
-pci:v00008086d00000E1E*
- ID_PRODUCT_FROM_DATABASE=Ivytown Semaphore and Scratchpad Configuration Registers
-
-pci:v00008086d00000E1F*
- ID_PRODUCT_FROM_DATABASE=Ivytown Semaphore and Scratchpad Configuration Registers
-
-pci:v00008086d00000E20*
- ID_PRODUCT_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 0
-
-pci:v00008086d00000E21*
- ID_PRODUCT_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 1
-
-pci:v00008086d00000E22*
- ID_PRODUCT_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 2
-
-pci:v00008086d00000E23*
- ID_PRODUCT_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 3
-
-pci:v00008086d00000E24*
- ID_PRODUCT_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 4
-
-pci:v00008086d00000E25*
- ID_PRODUCT_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 5
-
-pci:v00008086d00000E26*
- ID_PRODUCT_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 6
-
-pci:v00008086d00000E27*
- ID_PRODUCT_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 7
-
-pci:v00008086d00000E28*
- ID_PRODUCT_FROM_DATABASE=Ivytown VTd/Memory Map/Misc
-
-pci:v00008086d00000E29*
- ID_PRODUCT_FROM_DATABASE=Ivytown Memory Hotplug
-
-pci:v00008086d00000E2A*
- ID_PRODUCT_FROM_DATABASE=Ivytown IIO RAS
-
-pci:v00008086d00000E2C*
- ID_PRODUCT_FROM_DATABASE=Ivytown IOAPIC
-
-pci:v00008086d00000E2E*
- ID_PRODUCT_FROM_DATABASE=Ivytown CBDMA
-
-pci:v00008086d00000E2F*
- ID_PRODUCT_FROM_DATABASE=Ivytown CBDMA
-
-pci:v00008086d00000E30*
- ID_PRODUCT_FROM_DATABASE=Ivytown Home Agent 0
-
-pci:v00008086d00000E32*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Link 0
-
-pci:v00008086d00000E33*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Link 1
-
-pci:v00008086d00000E34*
- ID_PRODUCT_FROM_DATABASE=Ivytown PCI Express Ring Performance Monitoring
-
-pci:v00008086d00000E36*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Ring Performance Ring Monitoring
-
-pci:v00008086d00000E37*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Ring Performance Ring Monitoring
-
-pci:v00008086d00000E38*
- ID_PRODUCT_FROM_DATABASE=Ivytown Home Agent 1
-
-pci:v00008086d00000E3A*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Link 2
-
-pci:v00008086d00000E3E*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Ring Performance Ring Monitoring
-
-pci:v00008086d00000E3F*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Ring Performance Ring Monitoring
-
-pci:v00008086d00000E40*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Link 2
-
-pci:v00008086d00000E41*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Ring Registers
-
-pci:v00008086d00000E43*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Link Reut 2
-
-pci:v00008086d00000E44*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Link Reut 2
-
-pci:v00008086d00000E60*
- ID_PRODUCT_FROM_DATABASE=Ivytown Home Agent 1
-
-pci:v00008086d00000E68*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Target Address/Thermal Registers
-
-pci:v00008086d00000E6A*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel Target Address Decoder Registers
-
-pci:v00008086d00000E6B*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel Target Address Decoder Registers
-
-pci:v00008086d00000E6C*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel Target Address Decoder Registers
-
-pci:v00008086d00000E6D*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel Target Address Decoder Registers
-
-pci:v00008086d00000E71*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 0 RAS Registers
-
-pci:v00008086d00000E79*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 1 RAS Registers
-
-pci:v00008086d00000E80*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Link 0
-
-pci:v00008086d00000E81*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Ring Registers
-
-pci:v00008086d00000E83*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Link Reut 0
-
-pci:v00008086d00000E84*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Link Reut 0
-
-pci:v00008086d00000E90*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Link 1
-
-pci:v00008086d00000E93*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Link 1
-
-pci:v00008086d00000E94*
- ID_PRODUCT_FROM_DATABASE=Ivytown QPI Link Reut 1
-
-pci:v00008086d00000EA0*
- ID_PRODUCT_FROM_DATABASE=Ivytown Home Agent 0
-
-pci:v00008086d00000EA8*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Target Address/Thermal Registers
-
-pci:v00008086d00000EAA*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel Target Address Decoder Registers
-
-pci:v00008086d00000EAB*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel Target Address Decoder Registers
-
-pci:v00008086d00000EAC*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel Target Address Decoder Registers
-
-pci:v00008086d00000EAD*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel Target Address Decoder Registers
-
-pci:v00008086d00000EB0*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 Thermal Control 0
-
-pci:v00008086d00000EB1*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 Thermal Control 1
-
-pci:v00008086d00000EB2*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0
-
-pci:v00008086d00000EB3*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1
-
-pci:v00008086d00000EB4*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 Thermal Control 2
-
-pci:v00008086d00000EB5*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 Thermal Control 3
-
-pci:v00008086d00000EB7*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2
-
-pci:v00008086d00000EC0*
- ID_PRODUCT_FROM_DATABASE=Ivytown Power Control Unit 0
-
-pci:v00008086d00000EC1*
- ID_PRODUCT_FROM_DATABASE=Ivytown Power Control Unit 1
-
-pci:v00008086d00000EC2*
- ID_PRODUCT_FROM_DATABASE=Ivytown Power Control Unit 2
-
-pci:v00008086d00000EC3*
- ID_PRODUCT_FROM_DATABASE=Ivytown Power Control Unit 3
-
-pci:v00008086d00000EC4*
- ID_PRODUCT_FROM_DATABASE=Ivytown Power Control Unit 4
-
-pci:v00008086d00000EC8*
- ID_PRODUCT_FROM_DATABASE=Ivytown System Address Decoder
-
-pci:v00008086d00000EC9*
- ID_PRODUCT_FROM_DATABASE=Ivytown Broadcast Registers
-
-pci:v00008086d00000ECA*
- ID_PRODUCT_FROM_DATABASE=Ivytown Broadcast Registers
-
-pci:v00008086d00000ED8*
- ID_PRODUCT_FROM_DATABASE=Ivytown DDRIO
-
-pci:v00008086d00000ED9*
- ID_PRODUCT_FROM_DATABASE=Ivytown DDRIO
-
-pci:v00008086d00000EDC*
- ID_PRODUCT_FROM_DATABASE=Ivytown DDRIO
-
-pci:v00008086d00000EDD*
- ID_PRODUCT_FROM_DATABASE=Ivytown DDRIO
-
-pci:v00008086d00000EDE*
- ID_PRODUCT_FROM_DATABASE=Ivytown DDRIO
-
-pci:v00008086d00000EDF*
- ID_PRODUCT_FROM_DATABASE=Ivytown DDRIO
-
-pci:v00008086d00000EE0*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EE1*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EE2*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EE3*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EE4*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EE5*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EE6*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EE7*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EE8*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EE9*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EEA*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EEB*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EEC*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EED*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EEE*
- ID_PRODUCT_FROM_DATABASE=Ivytown Unicast Registers
-
-pci:v00008086d00000EF0*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 Thermal Control 0
-
-pci:v00008086d00000EF1*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 Thermal Control 1
-
-pci:v00008086d00000EF2*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0
-
-pci:v00008086d00000EF3*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2
-
-pci:v00008086d00000EF4*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 Thermal Control 2
-
-pci:v00008086d00000EF5*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 Thermal Control 3
-
-pci:v00008086d00000EF7*
- ID_PRODUCT_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3
-
-pci:v00008086d00000EF8*
- ID_PRODUCT_FROM_DATABASE=Ivytown DDRIO
-
-pci:v00008086d00000EF9*
- ID_PRODUCT_FROM_DATABASE=Ivytown DDRIO
-
-pci:v00008086d00000EFA*
- ID_PRODUCT_FROM_DATABASE=Ivytown DDRIO
-
-pci:v00008086d00000EFB*
- ID_PRODUCT_FROM_DATABASE=Ivytown DDRIO
-
-pci:v00008086d00000EFC*
- ID_PRODUCT_FROM_DATABASE=Ivytown DDRIO
-
-pci:v00008086d00000EFD*
- ID_PRODUCT_FROM_DATABASE=Ivytown DDRIO
-
-pci:v00008086d00000F00*
- ID_PRODUCT_FROM_DATABASE=ValleyView SSA-CUnit
-
-pci:v00008086d00000F01*
- ID_PRODUCT_FROM_DATABASE=ValleyView SSA-CUnit
-
-pci:v00008086d00000F02*
- ID_PRODUCT_FROM_DATABASE=ValleyView SSA-CUnit
-
-pci:v00008086d00000F03*
- ID_PRODUCT_FROM_DATABASE=ValleyView SSA-CUnit
-
-pci:v00008086d00000F04*
- ID_PRODUCT_FROM_DATABASE=ValleyView High Definition Audio Controller
-
-pci:v00008086d00000F05*
- ID_PRODUCT_FROM_DATABASE=ValleyView High Definition Audio Controller
-
-pci:v00008086d00000F06*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO1 DMA Controller
-
-pci:v00008086d00000F07*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO1 DMA Controller
-
-pci:v00008086d00000F08*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO1 PWM Controller
-
-pci:v00008086d00000F09*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO1 PWM Controller
-
-pci:v00008086d00000F0A*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #1
-
-pci:v00008086d00000F0B*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #1
-
-pci:v00008086d00000F0C*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #2
-
-pci:v00008086d00000F0D*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #2
-
-pci:v00008086d00000F0E*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO1 SPI Controller
-
-pci:v00008086d00000F0F*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO1 SPI Controller
-
-pci:v00008086d00000F10*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO1 Controller
-
-pci:v00008086d00000F11*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO1 Controller
-
-pci:v00008086d00000F12*
- ID_PRODUCT_FROM_DATABASE=ValleyView SMBus Controller
-
-pci:v00008086d00000F13*
- ID_PRODUCT_FROM_DATABASE=ValleyView SMBus Controller
-
-pci:v00008086d00000F14*
- ID_PRODUCT_FROM_DATABASE=ValleyView SDIO Controller
-
-pci:v00008086d00000F15*
- ID_PRODUCT_FROM_DATABASE=ValleyView SDIO Controller
-
-pci:v00008086d00000F16*
- ID_PRODUCT_FROM_DATABASE=ValleyView SDIO Controller
-
-pci:v00008086d00000F17*
- ID_PRODUCT_FROM_DATABASE=ValleyView SDIO Controller
-
-pci:v00008086d00000F18*
- ID_PRODUCT_FROM_DATABASE=ValleyView SEC
-
-pci:v00008086d00000F19*
- ID_PRODUCT_FROM_DATABASE=ValleyView SEC
-
-pci:v00008086d00000F1A*
- ID_PRODUCT_FROM_DATABASE=ValleyView SEC
-
-pci:v00008086d00000F1B*
- ID_PRODUCT_FROM_DATABASE=ValleyView SEC
-
-pci:v00008086d00000F1C*
- ID_PRODUCT_FROM_DATABASE=ValleyView Power Control Unit
-
-pci:v00008086d00000F1D*
- ID_PRODUCT_FROM_DATABASE=ValleyView Power Control Unit
-
-pci:v00008086d00000F1E*
- ID_PRODUCT_FROM_DATABASE=ValleyView Power Control Unit
-
-pci:v00008086d00000F1F*
- ID_PRODUCT_FROM_DATABASE=ValleyView Power Control Unit
-
-pci:v00008086d00000F20*
- ID_PRODUCT_FROM_DATABASE=ValleyView 4-Port SATA Storage Controller
-
-pci:v00008086d00000F21*
- ID_PRODUCT_FROM_DATABASE=ValleyView 4-Port SATA Storage Controller
-
-pci:v00008086d00000F22*
- ID_PRODUCT_FROM_DATABASE=ValleyView 6-Port SATA AHCI Controller
-
-pci:v00008086d00000F23*
- ID_PRODUCT_FROM_DATABASE=ValleyView 6-Port SATA AHCI Controller
-
-pci:v00008086d00000F24*
- ID_PRODUCT_FROM_DATABASE=ValleyView SATA RAID Storage Controller
-
-pci:v00008086d00000F25*
- ID_PRODUCT_FROM_DATABASE=ValleyView SATA RAID Storage Controller
-
-pci:v00008086d00000F26*
- ID_PRODUCT_FROM_DATABASE=ValleyView 2-Port SATA Storage Controller
-
-pci:v00008086d00000F27*
- ID_PRODUCT_FROM_DATABASE=ValleyView 2-Port SATA Storage Controller
-
-pci:v00008086d00000F28*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPE Audio Controller
-
-pci:v00008086d00000F29*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPE Audio Controller
-
-pci:v00008086d00000F2A*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPE Audio Controller
-
-pci:v00008086d00000F2B*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPE Audio Controller
-
-pci:v00008086d00000F2E*
- ID_PRODUCT_FROM_DATABASE=ValleyView SATA RAID Storage Controller
-
-pci:v00008086d00000F2F*
- ID_PRODUCT_FROM_DATABASE=ValleyView SATA RAID Storage Controller
-
-pci:v00008086d00000F30*
- ID_PRODUCT_FROM_DATABASE=ValleyView Gen7
-
-pci:v00008086d00000F31*
- ID_PRODUCT_FROM_DATABASE=ValleyView Gen7
-
-pci:v00008086d00000F32*
- ID_PRODUCT_FROM_DATABASE=ValleyView Gen7
-
-pci:v00008086d00000F33*
- ID_PRODUCT_FROM_DATABASE=ValleyView Gen7
-
-pci:v00008086d00000F34*
- ID_PRODUCT_FROM_DATABASE=ValleyView USB Enhanced Host Controller
-
-pci:v00008086d00000F35*
- ID_PRODUCT_FROM_DATABASE=ValleyView USB xHCI Host Controller
-
-pci:v00008086d00000F36*
- ID_PRODUCT_FROM_DATABASE=ValleyView USB xHCI Host Controller
-
-pci:v00008086d00000F37*
- ID_PRODUCT_FROM_DATABASE=ValleyView OTG
-
-pci:v00008086d00000F38*
- ID_PRODUCT_FROM_DATABASE=ValleyView ISP
-
-pci:v00008086d00000F39*
- ID_PRODUCT_FROM_DATABASE=ValleyView ISP
-
-pci:v00008086d00000F3A*
- ID_PRODUCT_FROM_DATABASE=ValleyView ISP
-
-pci:v00008086d00000F3B*
- ID_PRODUCT_FROM_DATABASE=ValleyView ISP
-
-pci:v00008086d00000F3C*
- ID_PRODUCT_FROM_DATABASE=ValleyView ISP
-
-pci:v00008086d00000F3D*
- ID_PRODUCT_FROM_DATABASE=ValleyView ISP
-
-pci:v00008086d00000F3E*
- ID_PRODUCT_FROM_DATABASE=ValleyView ISP
-
-pci:v00008086d00000F3F*
- ID_PRODUCT_FROM_DATABASE=ValleyView ISP
-
-pci:v00008086d00000F40*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO2 DMA Controller
-
-pci:v00008086d00000F41*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO2 I2C Controller #1
-
-pci:v00008086d00000F42*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO2 I2C Controller #2
-
-pci:v00008086d00000F43*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO2 I2C Controller #3
-
-pci:v00008086d00000F44*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO2 I2C Controller #4
-
-pci:v00008086d00000F45*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO2 I2C Controller #5
-
-pci:v00008086d00000F46*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO2 I2C Controller #6
-
-pci:v00008086d00000F47*
- ID_PRODUCT_FROM_DATABASE=ValleyView LPIO2 I2C Controller #7
-
-pci:v00008086d00000F48*
- ID_PRODUCT_FROM_DATABASE=ValleyView PCI Express Root Port
-
-pci:v00008086d00000F49*
- ID_PRODUCT_FROM_DATABASE=ValleyView PCI Express Root Port
-
-pci:v00008086d00000F4A*
- ID_PRODUCT_FROM_DATABASE=ValleyView PCI Express Root Port
-
-pci:v00008086d00000F4B*
- ID_PRODUCT_FROM_DATABASE=ValleyView PCI Express Root Port
-
-pci:v00008086d00000F4C*
- ID_PRODUCT_FROM_DATABASE=ValleyView PCI Express Root Port
-
-pci:v00008086d00000F4D*
- ID_PRODUCT_FROM_DATABASE=ValleyView PCI Express Root Port
-
-pci:v00008086d00000F4E*
- ID_PRODUCT_FROM_DATABASE=ValleyView PCI Express Root Port
-
-pci:v00008086d00000F4F*
- ID_PRODUCT_FROM_DATABASE=ValleyView PCI Express Root Port
-
-pci:v00008086d00000F50*
- ID_PRODUCT_FROM_DATABASE=ValleyView MIPI-HSI Controller
-
-pci:v00008086d00001000*
- ID_PRODUCT_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber)
-
-pci:v00008086d00001000sv00000E11sd0000B0DF*
- ID_PRODUCT_FROM_DATABASE=NC6132 Gigabit Ethernet Adapter (1000-SX)
-
-pci:v00008086d00001000sv00000E11sd0000B0E0*
- ID_PRODUCT_FROM_DATABASE=NC6133 Gigabit Ethernet Adapter (1000-LX)
-
-pci:v00008086d00001000sv00000E11sd0000B123*
- ID_PRODUCT_FROM_DATABASE=NC6134 Gigabit Ethernet Adapter (1000-LX)
-
-pci:v00008086d00001000sv00001014sd00000119*
- ID_PRODUCT_FROM_DATABASE=Netfinity Gigabit Ethernet SX Adapter
-
-pci:v00008086d00001000sv00008086sd00001000*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 Gigabit Server Adapter
-
-pci:v00008086d00001001*
- ID_PRODUCT_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber)
-
-pci:v00008086d00001001sv00000E11sd0000004A*
- ID_PRODUCT_FROM_DATABASE=NC6136 Gigabit Server Adapter
-
-pci:v00008086d00001001sv00001014sd000001EA*
- ID_PRODUCT_FROM_DATABASE=Netfinity Gigabit Ethernet SX Adapter
-
-pci:v00008086d00001001sv00008086sd00001002*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 F Server Adapter
-
-pci:v00008086d00001001sv00008086sd00001003*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 F Server Adapter
-
-pci:v00008086d00001002*
- ID_PRODUCT_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II
-
-pci:v00008086d00001002sv00008086sd0000200E*
- ID_PRODUCT_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II
-
-pci:v00008086d00001002sv00008086sd00002013*
- ID_PRODUCT_FROM_DATABASE=Pro 100 SR Mobile Combo Adapter
-
-pci:v00008086d00001002sv00008086sd00002017*
- ID_PRODUCT_FROM_DATABASE=Pro 100 S Combo Mobile Adapter
-
-pci:v00008086d00001004*
- ID_PRODUCT_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d00001004sv00000E11sd00000049*
- ID_PRODUCT_FROM_DATABASE=NC7132 Gigabit Upgrade Module
-
-pci:v00008086d00001004sv00000E11sd0000B1A4*
- ID_PRODUCT_FROM_DATABASE=NC7131 Gigabit Server Adapter
-
-pci:v00008086d00001004sv00001014sd000010F2*
- ID_PRODUCT_FROM_DATABASE=Gigabit Ethernet Server Adapter
-
-pci:v00008086d00001004sv00008086sd00001004*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 T Server Adapter
-
-pci:v00008086d00001004sv00008086sd00002004*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 T Server Adapter
-
-pci:v00008086d00001008*
- ID_PRODUCT_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d00001008sv00001014sd00000269*
- ID_PRODUCT_FROM_DATABASE=iSeries 1000/100/10 Ethernet Adapter
-
-pci:v00008086d00001008sv00001028sd0000011B*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1650/2550
-
-pci:v00008086d00001008sv00001028sd0000011C*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 XT Network Connection
-
-pci:v00008086d00001008sv00008086sd00001107*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 XT Server Adapter
-
-pci:v00008086d00001008sv00008086sd00002107*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 XT Server Adapter
-
-pci:v00008086d00001008sv00008086sd00002110*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 XT Desktop Adapter
-
-pci:v00008086d00001008sv00008086sd00003108*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 XT Network Connection
-
-pci:v00008086d00001009*
- ID_PRODUCT_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber)
-
-pci:v00008086d00001009sv00001014sd00000268*
- ID_PRODUCT_FROM_DATABASE=iSeries Gigabit Ethernet Adapter
-
-pci:v00008086d00001009sv00008086sd00001109*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 XF Server Adapter
-
-pci:v00008086d00001009sv00008086sd00002109*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 XF Server Adapter
-
-pci:v00008086d0000100A*
- ID_PRODUCT_FROM_DATABASE=82540EM Gigabit Ethernet Controller
-
-pci:v00008086d0000100C*
- ID_PRODUCT_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d0000100Csv00008086sd00001112*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 T Desktop Adapter
-
-pci:v00008086d0000100Csv00008086sd00002112*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 T Desktop Adapter
-
-pci:v00008086d0000100D*
- ID_PRODUCT_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM)
-
-pci:v00008086d0000100Dsv00001028sd00000123*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 XT Network Connection
-
-pci:v00008086d0000100Dsv00001079sd0000891F*
- ID_PRODUCT_FROM_DATABASE=82544GC Based Network Connection
-
-pci:v00008086d0000100Dsv00004C53sd00001080*
- ID_PRODUCT_FROM_DATABASE=CT8 mainboard
-
-pci:v00008086d0000100Dsv00008086sd0000110D*
- ID_PRODUCT_FROM_DATABASE=82544GC Based Network Connection
-
-pci:v00008086d0000100E*
- ID_PRODUCT_FROM_DATABASE=82540EM Gigabit Ethernet Controller
-
-pci:v00008086d0000100Esv00001014sd00000265*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d0000100Esv00001014sd00000267*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d0000100Esv00001014sd0000026A*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d0000100Esv00001028sd0000002E*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX260
-
-pci:v00008086d0000100Esv00001028sd00000134*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 600SC
-
-pci:v00008086d0000100Esv00001028sd00000151*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX270
-
-pci:v00008086d0000100Esv0000107Bsd00008920*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Desktop Adapter
-
-pci:v00008086d0000100Esv00008086sd0000001E*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Desktop Adapter
-
-pci:v00008086d0000100Esv00008086sd0000002E*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Desktop Adapter
-
-pci:v00008086d0000100Esv00008086sd00001376*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 GT Desktop Adapter
-
-pci:v00008086d0000100Esv00008086sd00001476*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 GT Desktop Adapter
-
-pci:v00008086d0000100F*
- ID_PRODUCT_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d0000100Fsv00001014sd00000269*
- ID_PRODUCT_FROM_DATABASE=iSeries 1000/100/10 Ethernet Adapter
-
-pci:v00008086d0000100Fsv00001014sd0000028E*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d0000100Fsv000015ADsd00000750*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Single Port Adapter
-
-pci:v00008086d0000100Fsv00008086sd00001000*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d0000100Fsv00008086sd00001001*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Server Adapter
-
-pci:v00008086d00001010*
- ID_PRODUCT_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d00001010sv00000E11sd000000DB*
- ID_PRODUCT_FROM_DATABASE=NC7170 Gigabit Server Adapter
-
-pci:v00008086d00001010sv00001014sd0000027C*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Dual Port Network Adapter
-
-pci:v00008086d00001010sv000015ADsd00000760*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Dual Port Adapter
-
-pci:v00008086d00001010sv000018FBsd00007872*
- ID_PRODUCT_FROM_DATABASE=RESlink-X
-
-pci:v00008086d00001010sv00001FC1sd00000026*
- ID_PRODUCT_FROM_DATABASE=Niagara 2260 Bypass Card
-
-pci:v00008086d00001010sv00004C53sd00001080*
- ID_PRODUCT_FROM_DATABASE=CT8 mainboard
-
-pci:v00008086d00001010sv00004C53sd000010A0*
- ID_PRODUCT_FROM_DATABASE=CA3/CR3 mainboard
-
-pci:v00008086d00001010sv00008086sd00001011*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter
-
-pci:v00008086d00001010sv00008086sd00001012*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter
-
-pci:v00008086d00001010sv00008086sd0000101A*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection
-
-pci:v00008086d00001010sv00008086sd00003424*
- ID_PRODUCT_FROM_DATABASE=SE7501HG2 Mainboard
-
-pci:v00008086d00001011*
- ID_PRODUCT_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber)
-
-pci:v00008086d00001011sv00001014sd00000268*
- ID_PRODUCT_FROM_DATABASE=iSeries Gigabit Ethernet Adapter
-
-pci:v00008086d00001011sv00008086sd00001002*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MF Server Adapter
-
-pci:v00008086d00001011sv00008086sd00001003*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MF Server Adapter (LX)
-
-pci:v00008086d00001012*
- ID_PRODUCT_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber)
-
-pci:v00008086d00001012sv00000E11sd000000DC*
- ID_PRODUCT_FROM_DATABASE=NC6170 Gigabit Server Adapter
-
-pci:v00008086d00001012sv00008086sd00001012*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter
-
-pci:v00008086d00001013*
- ID_PRODUCT_FROM_DATABASE=82541EI Gigabit Ethernet Controller
-
-pci:v00008086d00001013sv00008086sd00000013*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d00001013sv00008086sd00001013*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d00001013sv00008086sd00001113*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Desktop Adapter
-
-pci:v00008086d00001014*
- ID_PRODUCT_FROM_DATABASE=82541ER Gigabit Ethernet Controller
-
-pci:v00008086d00001014sv00008086sd00000014*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Desktop Connection
-
-pci:v00008086d00001014sv00008086sd00001014*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d00001015*
- ID_PRODUCT_FROM_DATABASE=82540EM Gigabit Ethernet Controller (LOM)
-
-pci:v00008086d00001015sv00008086sd00001015*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Mobile Connection
-
-pci:v00008086d00001016*
- ID_PRODUCT_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile)
-
-pci:v00008086d00001016sv00001014sd0000052C*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Mobile Connection
-
-pci:v00008086d00001016sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Mobile Connection
-
-pci:v00008086d00001016sv00008086sd00001016*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Mobile Connection
-
-pci:v00008086d00001017*
- ID_PRODUCT_FROM_DATABASE=82540EP Gigabit Ethernet Controller
-
-pci:v00008086d00001017sv00008086sd00001017*
- ID_PRODUCT_FROM_DATABASE=PR0/1000 MT Desktop Connection
-
-pci:v00008086d00001018*
- ID_PRODUCT_FROM_DATABASE=82541EI Gigabit Ethernet Controller
-
-pci:v00008086d00001018sv00008086sd00001018*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Mobile Connection
-
-pci:v00008086d00001019*
- ID_PRODUCT_FROM_DATABASE=82547EI Gigabit Ethernet Controller
-
-pci:v00008086d00001019sv00001458sd00001019*
- ID_PRODUCT_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
-
-pci:v00008086d00001019sv00001458sd0000E000*
- ID_PRODUCT_FROM_DATABASE=Intel Gigabit Ethernet (Kenai II)
-
-pci:v00008086d00001019sv00008086sd00001019*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 CT Desktop Connection
-
-pci:v00008086d00001019sv00008086sd0000301F*
- ID_PRODUCT_FROM_DATABASE=D865PERL mainboard
-
-pci:v00008086d00001019sv00008086sd00003025*
- ID_PRODUCT_FROM_DATABASE=D875PBZ motherboard
-
-pci:v00008086d00001019sv00008086sd0000302C*
- ID_PRODUCT_FROM_DATABASE=Intel 82865G Mainboard (D865GBF)
-
-pci:v00008086d00001019sv00008086sd00003427*
- ID_PRODUCT_FROM_DATABASE=S875WP1-E mainboard
-
-pci:v00008086d0000101A*
- ID_PRODUCT_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Mobile)
-
-pci:v00008086d0000101Asv00008086sd0000101A*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 CT Mobile Connection
-
-pci:v00008086d0000101D*
- ID_PRODUCT_FROM_DATABASE=82546EB Gigabit Ethernet Controller
-
-pci:v00008086d0000101Dsv00008086sd00001000*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Quad Port Server Adapter
-
-pci:v00008086d0000101E*
- ID_PRODUCT_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile)
-
-pci:v00008086d0000101Esv00001014sd00000549*
- ID_PRODUCT_FROM_DATABASE=Thinkpad
-
-pci:v00008086d0000101Esv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Mobile Connection
-
-pci:v00008086d0000101Esv00008086sd0000101E*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Mobile Connection
-
-pci:v00008086d00001026*
- ID_PRODUCT_FROM_DATABASE=82545GM Gigabit Ethernet Controller
-
-pci:v00008086d00001026sv00001028sd00000169*
- ID_PRODUCT_FROM_DATABASE=Precision 470
-
-pci:v00008086d00001026sv00008086sd00001000*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Server Connection
-
-pci:v00008086d00001026sv00008086sd00001001*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Server Adapter
-
-pci:v00008086d00001026sv00008086sd00001002*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Server Adapter
-
-pci:v00008086d00001026sv00008086sd00001003*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 GT Server Adapter
-
-pci:v00008086d00001026sv00008086sd00001026*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Server Connection
-
-pci:v00008086d00001027*
- ID_PRODUCT_FROM_DATABASE=82545GM Gigabit Ethernet Controller
-
-pci:v00008086d00001027sv0000103Csd00003103*
- ID_PRODUCT_FROM_DATABASE=NC310F PCI-X Gigabit Server Adapter
-
-pci:v00008086d00001027sv00008086sd00001001*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MF Server Adapter(LX)
-
-pci:v00008086d00001027sv00008086sd00001002*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MF Server Adapter(LX)
-
-pci:v00008086d00001027sv00008086sd00001003*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MF Server Adapter(LX)
-
-pci:v00008086d00001027sv00008086sd00001027*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MF Server Adapter
-
-pci:v00008086d00001028*
- ID_PRODUCT_FROM_DATABASE=82545GM Gigabit Ethernet Controller
-
-pci:v00008086d00001028sv00008086sd00001028*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MB Server Connection
-
-pci:v00008086d00001029*
- ID_PRODUCT_FROM_DATABASE=82559 Ethernet Controller
-
-pci:v00008086d00001030*
- ID_PRODUCT_FROM_DATABASE=82559 InBusiness 10/100
-
-pci:v00008086d00001031*
- ID_PRODUCT_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller
-
-pci:v00008086d00001031sv00001014sd00000209*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A/T/X Series
-
-pci:v00008086d00001031sv0000104Dsd000080E7*
- ID_PRODUCT_FROM_DATABASE=Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
-
-pci:v00008086d00001031sv0000104Dsd0000813C*
- ID_PRODUCT_FROM_DATABASE=Vaio PCG-GRV616G
-
-pci:v00008086d00001031sv0000107Bsd00005350*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00001031sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00001031sv0000144Dsd0000C000*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00001031sv0000144Dsd0000C001*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00001031sv0000144Dsd0000C003*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00001031sv0000144Dsd0000C006*
- ID_PRODUCT_FROM_DATABASE=vpr Matrix 170B4
-
-pci:v00008086d00001032*
- ID_PRODUCT_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE Ethernet Controller
-
-pci:v00008086d00001033*
- ID_PRODUCT_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM (LOM) Ethernet Controller
-
-pci:v00008086d00001034*
- ID_PRODUCT_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM Ethernet Controller
-
-pci:v00008086d00001035*
- ID_PRODUCT_FROM_DATABASE=82801CAM (ICH3)/82562EH (LOM) Ethernet Controller
-
-pci:v00008086d00001036*
- ID_PRODUCT_FROM_DATABASE=82801CAM (ICH3) 82562EH Ethernet Controller
-
-pci:v00008086d00001037*
- ID_PRODUCT_FROM_DATABASE=82801CAM (ICH3) Chipset Ethernet Controller
-
-pci:v00008086d00001038*
- ID_PRODUCT_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller
-
-pci:v00008086d00001038sv00000E11sd00000098*
- ID_PRODUCT_FROM_DATABASE=Evo N600c
-
-pci:v00008086d00001039*
- ID_PRODUCT_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller
-
-pci:v00008086d00001039sv00001014sd00000267*
- ID_PRODUCT_FROM_DATABASE=NetVista A30p
-
-pci:v00008086d00001039sv0000114Asd00000582*
- ID_PRODUCT_FROM_DATABASE=PC8 onboard ethernet ETH1
-
-pci:v00008086d0000103A*
- ID_PRODUCT_FROM_DATABASE=82801DB PRO/100 VE (CNR) Ethernet Controller
-
-pci:v00008086d0000103B*
- ID_PRODUCT_FROM_DATABASE=82801DB PRO/100 VM (LOM) Ethernet Controller
-
-pci:v00008086d0000103C*
- ID_PRODUCT_FROM_DATABASE=82801DB PRO/100 VM (CNR) Ethernet Controller
-
-pci:v00008086d0000103D*
- ID_PRODUCT_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller
-
-pci:v00008086d0000103Dsv00001014sd00000522*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R40
-
-pci:v00008086d0000103Dsv00001028sd00002002*
- ID_PRODUCT_FROM_DATABASE=Latitude D500
-
-pci:v00008086d0000103Dsv00008086sd0000103D*
- ID_PRODUCT_FROM_DATABASE=82562EZ 10/100 Ethernet Controller
-
-pci:v00008086d0000103E*
- ID_PRODUCT_FROM_DATABASE=82801DB PRO/100 VM (MOB) Ethernet Controller
-
-pci:v00008086d00001040*
- ID_PRODUCT_FROM_DATABASE=536EP Data Fax Modem
-
-pci:v00008086d00001040sv000016BEsd00001040*
- ID_PRODUCT_FROM_DATABASE=V.9X DSP Data Fax Modem
-
-pci:v00008086d00001043*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter
-
-pci:v00008086d00001043sv0000103Csd000008B0*
- ID_PRODUCT_FROM_DATABASE=tc1100 tablet
-
-pci:v00008086d00001043sv00008086sd00002522*
- ID_PRODUCT_FROM_DATABASE=Samsung X10/P30 integrated WLAN
-
-pci:v00008086d00001043sv00008086sd00002527*
- ID_PRODUCT_FROM_DATABASE=MIM2000/Centrino
-
-pci:v00008086d00001043sv00008086sd00002561*
- ID_PRODUCT_FROM_DATABASE=Dell Latitude D800
-
-pci:v00008086d00001043sv00008086sd00002581*
- ID_PRODUCT_FROM_DATABASE=Toshiba Satellite M10
-
-pci:v00008086d00001048*
- ID_PRODUCT_FROM_DATABASE=82597EX 10GbE Ethernet Controller
-
-pci:v00008086d00001048sv00008086sd0000A01F*
- ID_PRODUCT_FROM_DATABASE=PRO/10GbE LR Server Adapter
-
-pci:v00008086d00001048sv00008086sd0000A11F*
- ID_PRODUCT_FROM_DATABASE=PRO/10GbE LR Server Adapter
-
-pci:v00008086d00001049*
- ID_PRODUCT_FROM_DATABASE=82566MM Gigabit Network Connection
-
-pci:v00008086d00001049sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00001049sv000017AAsd000020B9*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d0000104A*
- ID_PRODUCT_FROM_DATABASE=82566DM Gigabit Network Connection
-
-pci:v00008086d0000104B*
- ID_PRODUCT_FROM_DATABASE=82566DC Gigabit Network Connection
-
-pci:v00008086d0000104C*
- ID_PRODUCT_FROM_DATABASE=82562V 10/100 Network Connection
-
-pci:v00008086d0000104D*
- ID_PRODUCT_FROM_DATABASE=82566MC Gigabit Network Connection
-
-pci:v00008086d00001050*
- ID_PRODUCT_FROM_DATABASE=82562EZ 10/100 Ethernet Controller
-
-pci:v00008086d00001050sv00001028sd0000019D*
- ID_PRODUCT_FROM_DATABASE=Dimension 3000
-
-pci:v00008086d00001050sv00001462sd0000728C*
- ID_PRODUCT_FROM_DATABASE=865PE Neo2 (MS-6728)
-
-pci:v00008086d00001050sv00001462sd0000758C*
- ID_PRODUCT_FROM_DATABASE=MS-6758 (875P Neo)
-
-pci:v00008086d00001050sv00008086sd00003020*
- ID_PRODUCT_FROM_DATABASE=D865PERL mainboard
-
-pci:v00008086d00001050sv00008086sd0000302F*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GBF
-
-pci:v00008086d00001050sv00008086sd00003427*
- ID_PRODUCT_FROM_DATABASE=S875WP1-E mainboard
-
-pci:v00008086d00001051*
- ID_PRODUCT_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) integrated LAN Controller
-
-pci:v00008086d00001052*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VM Network Connection
-
-pci:v00008086d00001053*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VM Network Connection
-
-pci:v00008086d00001054*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VE Network Connection
-
-pci:v00008086d00001055*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VM Network Connection
-
-pci:v00008086d00001056*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VE Network Connection
-
-pci:v00008086d00001057*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VE Network Connection
-
-pci:v00008086d00001059*
- ID_PRODUCT_FROM_DATABASE=82551QM Ethernet Controller
-
-pci:v00008086d0000105B*
- ID_PRODUCT_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d0000105E*
- ID_PRODUCT_FROM_DATABASE=82571EB Gigabit Ethernet Controller
-
-pci:v00008086d0000105Esv0000103Csd00007044*
- ID_PRODUCT_FROM_DATABASE=NC360T PCI Express Dual Port Gigabit Server Adapter
-
-pci:v00008086d0000105Esv0000103Csd0000704E*
- ID_PRODUCT_FROM_DATABASE=Dual Port 1000Base-T (PCIe) [AD337A]
-
-pci:v00008086d0000105Esv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d0000105Esv00001775sd00006003*
- ID_PRODUCT_FROM_DATABASE=Telum GE-QT
-
-pci:v00008086d0000105Esv00008086sd0000005E*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Dual Port Server Connection
-
-pci:v00008086d0000105Esv00008086sd0000105E*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Dual Port Network Connection
-
-pci:v00008086d0000105Esv00008086sd000010D5*
- ID_PRODUCT_FROM_DATABASE=82571PT Gigabit PT Quad Port Server ExpressModule
-
-pci:v00008086d0000105Esv00008086sd0000115E*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter
-
-pci:v00008086d0000105Esv00008086sd0000125E*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter
-
-pci:v00008086d0000105Esv00008086sd0000135E*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter
-
-pci:v00008086d0000105F*
- ID_PRODUCT_FROM_DATABASE=82571EB Gigabit Ethernet Controller
-
-pci:v00008086d0000105Fsv0000103Csd0000704F*
- ID_PRODUCT_FROM_DATABASE=Dual Port 1000Base-SX (PCIe) [AD338A]
-
-pci:v00008086d0000105Fsv00008086sd0000005A*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter
-
-pci:v00008086d0000105Fsv00008086sd0000115F*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter
-
-pci:v00008086d0000105Fsv00008086sd0000125F*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter
-
-pci:v00008086d0000105Fsv00008086sd0000135F*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter
-
-pci:v00008086d00001060*
- ID_PRODUCT_FROM_DATABASE=82571EB Gigabit Ethernet Controller
-
-pci:v00008086d00001060sv00008086sd00000060*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PB Dual Port Server Connection
-
-pci:v00008086d00001060sv00008086sd00001060*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PB Dual Port Server Connection
-
-pci:v00008086d00001064*
- ID_PRODUCT_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller
-
-pci:v00008086d00001064sv00001043sd000080F8*
- ID_PRODUCT_FROM_DATABASE=P5GD1-VW Mainboard
-
-pci:v00008086d00001065*
- ID_PRODUCT_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE Ethernet Controller
-
-pci:v00008086d00001066*
- ID_PRODUCT_FROM_DATABASE=82562 EM/EX/GX - PRO/100 VM (LOM) Ethernet Controller
-
-pci:v00008086d00001067*
- ID_PRODUCT_FROM_DATABASE=82562 EM/EX/GX - PRO/100 VM Ethernet Controller
-
-pci:v00008086d00001068*
- ID_PRODUCT_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller Mobile
-
-pci:v00008086d00001069*
- ID_PRODUCT_FROM_DATABASE=82562EM/EX/GX - PRO/100 VM (LOM) Ethernet Controller Mobile
-
-pci:v00008086d0000106A*
- ID_PRODUCT_FROM_DATABASE=82562G - PRO/100 VE (LOM) Ethernet Controller
-
-pci:v00008086d0000106B*
- ID_PRODUCT_FROM_DATABASE=82562G - PRO/100 VE Ethernet Controller Mobile
-
-pci:v00008086d00001075*
- ID_PRODUCT_FROM_DATABASE=82547GI Gigabit Ethernet Controller
-
-pci:v00008086d00001075sv00001028sd00000165*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 750
-
-pci:v00008086d00001075sv00008086sd00000075*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 CT Network Connection
-
-pci:v00008086d00001075sv00008086sd00001075*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 CT Network Connection
-
-pci:v00008086d00001076*
- ID_PRODUCT_FROM_DATABASE=82541GI Gigabit Ethernet Controller
-
-pci:v00008086d00001076sv00001028sd00000165*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d00001076sv00001028sd0000016D*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d00001076sv00001028sd0000019A*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d00001076sv00001028sd0000106D*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d00001076sv00008086sd00000076*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d00001076sv00008086sd00001076*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Connection
-
-pci:v00008086d00001076sv00008086sd00001176*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Desktop Adapter
-
-pci:v00008086d00001076sv00008086sd00001276*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Network Adapter
-
-pci:v00008086d00001077*
- ID_PRODUCT_FROM_DATABASE=82541GI Gigabit Ethernet Controller
-
-pci:v00008086d00001077sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Mobile Connection
-
-pci:v00008086d00001077sv00008086sd00000077*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Mobile Connection
-
-pci:v00008086d00001077sv00008086sd00001077*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Mobile Connection
-
-pci:v00008086d00001078*
- ID_PRODUCT_FROM_DATABASE=82541ER Gigabit Ethernet Controller
-
-pci:v00008086d00001078sv00008086sd00001078*
- ID_PRODUCT_FROM_DATABASE=82541ER-based Network Connection
-
-pci:v00008086d00001079*
- ID_PRODUCT_FROM_DATABASE=82546GB Gigabit Ethernet Controller
-
-pci:v00008086d00001079sv0000103Csd000012A6*
- ID_PRODUCT_FROM_DATABASE=Dual Port 1000Base-T [A9900A]
-
-pci:v00008086d00001079sv0000103Csd000012CF*
- ID_PRODUCT_FROM_DATABASE=Core Dual Port 1000Base-T [AB352A]
-
-pci:v00008086d00001079sv00001775sd000010D0*
- ID_PRODUCT_FROM_DATABASE=V5D Single Board Computer Gigabit Ethernet
-
-pci:v00008086d00001079sv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d00001079sv00001FC1sd00000027*
- ID_PRODUCT_FROM_DATABASE=Niagara 2261 Failover NIC
-
-pci:v00008086d00001079sv00004C53sd00001090*
- ID_PRODUCT_FROM_DATABASE=Cx9 / Vx9 mainboard
-
-pci:v00008086d00001079sv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d00001079sv00008086sd00000079*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection
-
-pci:v00008086d00001079sv00008086sd00001079*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection
-
-pci:v00008086d00001079sv00008086sd00001179*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter
-
-pci:v00008086d00001079sv00008086sd0000117A*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter
-
-pci:v00008086d0000107A*
- ID_PRODUCT_FROM_DATABASE=82546GB Gigabit Ethernet Controller
-
-pci:v00008086d0000107Asv0000103Csd000012A8*
- ID_PRODUCT_FROM_DATABASE=Dual Port 1000base-SX [A9899A]
-
-pci:v00008086d0000107Asv00008086sd0000107A*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter
-
-pci:v00008086d0000107Asv00008086sd0000127A*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter
-
-pci:v00008086d0000107B*
- ID_PRODUCT_FROM_DATABASE=82546GB Gigabit Ethernet Controller
-
-pci:v00008086d0000107Bsv00008086sd0000007B*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MB Dual Port Server Connection
-
-pci:v00008086d0000107Bsv00008086sd0000107B*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MB Dual Port Server Connection
-
-pci:v00008086d0000107C*
- ID_PRODUCT_FROM_DATABASE=82541PI Gigabit Ethernet Controller
-
-pci:v00008086d0000107Csv00008086sd00001376*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 GT Desktop Adapter
-
-pci:v00008086d0000107Csv00008086sd00001476*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 GT Desktop Adapter
-
-pci:v00008086d0000107D*
- ID_PRODUCT_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d0000107Dsv00008086sd00001082*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Server Adapter
-
-pci:v00008086d0000107Dsv00008086sd00001084*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Server Adapter
-
-pci:v00008086d0000107Dsv00008086sd00001092*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Server Adapter
-
-pci:v00008086d0000107E*
- ID_PRODUCT_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber)
-
-pci:v00008086d0000107Esv00008086sd00001084*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PF Server Adapter
-
-pci:v00008086d0000107Esv00008086sd00001085*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PF Server Adapter
-
-pci:v00008086d0000107Esv00008086sd00001094*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PF Server Adapter
-
-pci:v00008086d0000107F*
- ID_PRODUCT_FROM_DATABASE=82572EI Gigabit Ethernet Controller
-
-pci:v00008086d00001080*
- ID_PRODUCT_FROM_DATABASE=FA82537EP 56K V.92 Data/Fax Modem PCI
-
-pci:v00008086d00001081*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB LAN Controller Copper
-
-pci:v00008086d00001082*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB LAN Controller fiber
-
-pci:v00008086d00001083*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB LAN Controller SERDES
-
-pci:v00008086d00001084*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB IDE Redirection
-
-pci:v00008086d00001085*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB Serial Port Redirection
-
-pci:v00008086d00001086*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB IPMI/KCS0
-
-pci:v00008086d00001087*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB UHCI Redirection
-
-pci:v00008086d00001089*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB BT
-
-pci:v00008086d0000108A*
- ID_PRODUCT_FROM_DATABASE=82546GB Gigabit Ethernet Controller
-
-pci:v00008086d0000108Asv00008086sd0000108A*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 P Dual Port Server Adapter
-
-pci:v00008086d0000108Asv00008086sd0000118A*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 P Dual Port Server Adapter
-
-pci:v00008086d0000108B*
- ID_PRODUCT_FROM_DATABASE=82573V Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d0000108Bsv00001462sd0000176C*
- ID_PRODUCT_FROM_DATABASE=on board on MSI 945P - NEO (MS-7176)
-
-pci:v00008086d0000108C*
- ID_PRODUCT_FROM_DATABASE=82573E Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d0000108E*
- ID_PRODUCT_FROM_DATABASE=82573E KCS (Active Management)
-
-pci:v00008086d0000108F*
- ID_PRODUCT_FROM_DATABASE=Active Management Technology - SOL
-
-pci:v00008086d00001091*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VM Network Connection
-
-pci:v00008086d00001092*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VE Network Connection
-
-pci:v00008086d00001093*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VM Network Connection
-
-pci:v00008086d00001094*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VE Network Connection
-
-pci:v00008086d00001095*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VE Network Connection
-
-pci:v00008086d00001096*
- ID_PRODUCT_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d00001096sv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d00001096sv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d00001097*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB DPT LAN Controller (Fiber)
-
-pci:v00008086d00001098*
- ID_PRODUCT_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Serdes)
-
-pci:v00008086d00001099*
- ID_PRODUCT_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d00001099sv00008086sd00001099*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter
-
-pci:v00008086d0000109A*
- ID_PRODUCT_FROM_DATABASE=82573L Gigabit Ethernet Controller
-
-pci:v00008086d0000109Asv00001179sd0000FF10*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PL
-
-pci:v00008086d0000109Asv000017AAsd00002001*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60
-
-pci:v00008086d0000109Asv000017AAsd0000207E*
- ID_PRODUCT_FROM_DATABASE=ThinkPad X60s
-
-pci:v00008086d0000109Asv00008086sd0000109A*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PL Network Connection
-
-pci:v00008086d0000109Asv00008086sd0000309C*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D945GTP
-
-pci:v00008086d0000109Asv00008086sd000030A5*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D975XBX
-
-pci:v00008086d0000109B*
- ID_PRODUCT_FROM_DATABASE=82546GB PRO/1000 GF Quad Port Server Adapter
-
-pci:v00008086d0000109E*
- ID_PRODUCT_FROM_DATABASE=82597EX 10GbE Ethernet Controller
-
-pci:v00008086d0000109Esv00008086sd0000A01F*
- ID_PRODUCT_FROM_DATABASE=PRO/10GbE CX4 Server Adapter
-
-pci:v00008086d0000109Esv00008086sd0000A11F*
- ID_PRODUCT_FROM_DATABASE=PRO/10GbE CX4 Server Adapter
-
-pci:v00008086d000010A0*
- ID_PRODUCT_FROM_DATABASE=82571EB PRO/1000 AT Quad Port Bypass Adapter
-
-pci:v00008086d000010A1*
- ID_PRODUCT_FROM_DATABASE=82571EB PRO/1000 AF Quad Port Bypass Adapter
-
-pci:v00008086d000010A4*
- ID_PRODUCT_FROM_DATABASE=82571EB Gigabit Ethernet Controller
-
-pci:v00008086d000010A4sv00008086sd000010A4*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Quad Port Server Adapter
-
-pci:v00008086d000010A4sv00008086sd000011A4*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Quad Port Server Adapter
-
-pci:v00008086d000010A5*
- ID_PRODUCT_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber)
-
-pci:v00008086d000010A5sv00008086sd000010A5*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PF Quad Port Server Adapter
-
-pci:v00008086d000010A5sv00008086sd000010A6*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PF Quad Port Server Adapter
-
-pci:v00008086d000010A6*
- ID_PRODUCT_FROM_DATABASE=82599EB 10-Gigabit Dummy Function
-
-pci:v00008086d000010A7*
- ID_PRODUCT_FROM_DATABASE=82575EB Gigabit Network Connection
-
-pci:v00008086d000010A7sv00008086sd000010A8*
- ID_PRODUCT_FROM_DATABASE=82575EB Gigabit Riser Card
-
-pci:v00008086d000010A9*
- ID_PRODUCT_FROM_DATABASE=82575EB Gigabit Backplane Connection
-
-pci:v00008086d000010B0*
- ID_PRODUCT_FROM_DATABASE=82573L PRO/1000 PL Network Connection
-
-pci:v00008086d000010B2*
- ID_PRODUCT_FROM_DATABASE=82573V PRO/1000 PM Network Connection
-
-pci:v00008086d000010B3*
- ID_PRODUCT_FROM_DATABASE=82573E PRO/1000 PM Network Connection
-
-pci:v00008086d000010B4*
- ID_PRODUCT_FROM_DATABASE=82573L PRO/1000 PL Network Connection
-
-pci:v00008086d000010B5*
- ID_PRODUCT_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d000010B5sv0000103Csd00003109*
- ID_PRODUCT_FROM_DATABASE=NC340T PCI-X Quad-port Gigabit Server Adapter
-
-pci:v00008086d000010B5sv00008086sd00001099*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter
-
-pci:v00008086d000010B5sv00008086sd00001199*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter
-
-pci:v00008086d000010B6*
- ID_PRODUCT_FROM_DATABASE=82598 10GbE PCI-Express Ethernet Controller
-
-pci:v00008086d000010B9*
- ID_PRODUCT_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d000010B9sv0000103Csd0000704A*
- ID_PRODUCT_FROM_DATABASE=HP 110T PCIe Gigabit Server Adapter
-
-pci:v00008086d000010B9sv00008086sd00001083*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Desktop Adapter
-
-pci:v00008086d000010B9sv00008086sd00001093*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Desktop Adapter
-
-pci:v00008086d000010BA*
- ID_PRODUCT_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d000010BB*
- ID_PRODUCT_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Serdes)
-
-pci:v00008086d000010BC*
- ID_PRODUCT_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper)
-
-pci:v00008086d000010BCsv0000103Csd0000704B*
- ID_PRODUCT_FROM_DATABASE=NC364T PCI Express Quad Port Gigabit Server Adapter
-
-pci:v00008086d000010BCsv0000108Esd000011BC*
- ID_PRODUCT_FROM_DATABASE=x4 PCI-Express Quad Gigabit Ethernet UTP Low Profile Adapter
-
-pci:v00008086d000010BCsv00008086sd000010BC*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Quad Port LP Server Adapter
-
-pci:v00008086d000010BCsv00008086sd000011BC*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 PT Quad Port LP Server Adapter
-
-pci:v00008086d000010BD*
- ID_PRODUCT_FROM_DATABASE=82566DM-2 Gigabit Network Connection
-
-pci:v00008086d000010BDsv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 755
-
-pci:v00008086d000010BF*
- ID_PRODUCT_FROM_DATABASE=82567LF Gigabit Network Connection
-
-pci:v00008086d000010C0*
- ID_PRODUCT_FROM_DATABASE=82562V-2 10/100 Network Connection
-
-pci:v00008086d000010C0sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d000010C2*
- ID_PRODUCT_FROM_DATABASE=82562G-2 10/100 Network Connection
-
-pci:v00008086d000010C3*
- ID_PRODUCT_FROM_DATABASE=82562GT-2 10/100 Network Connection
-
-pci:v00008086d000010C4*
- ID_PRODUCT_FROM_DATABASE=82562GT 10/100 Network Connection
-
-pci:v00008086d000010C5*
- ID_PRODUCT_FROM_DATABASE=82562G 10/100 Network Connection
-
-pci:v00008086d000010C6*
- ID_PRODUCT_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection
-
-pci:v00008086d000010C6sv00008086sd0000A05F*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit XF SR Dual Port Server Adapter
-
-pci:v00008086d000010C6sv00008086sd0000A15F*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit XF SR Dual Port Server Adapter
-
-pci:v00008086d000010C7*
- ID_PRODUCT_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection
-
-pci:v00008086d000010C7sv00001014sd0000037F*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit XF SR Server Adapter
-
-pci:v00008086d000010C7sv00001014sd00000380*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit XF LR Server Adapter
-
-pci:v00008086d000010C7sv00008086sd0000A05F*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit XF SR Server Adapter
-
-pci:v00008086d000010C7sv00008086sd0000A15F*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit XF SR Server Adapter
-
-pci:v00008086d000010C7sv00008086sd0000A16F*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit XF SR Server Adapter
-
-pci:v00008086d000010C8*
- ID_PRODUCT_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection
-
-pci:v00008086d000010C8sv00008086sd0000A10C*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit AT Server Adapter
-
-pci:v00008086d000010C8sv00008086sd0000A11C*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit AT Server Adapter
-
-pci:v00008086d000010C8sv00008086sd0000A12C*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit AT Server Adapter
-
-pci:v00008086d000010C9*
- ID_PRODUCT_FROM_DATABASE=82576 Gigabit Network Connection
-
-pci:v00008086d000010C9sv0000103Csd000031EF*
- ID_PRODUCT_FROM_DATABASE=NC362i Integrated Dual port Gigabit Server Adapter
-
-pci:v00008086d000010C9sv0000103Csd0000323F*
- ID_PRODUCT_FROM_DATABASE=NC362i Integrated Dual port Gigabit Server Adapter
-
-pci:v00008086d000010C9sv000010A9sd00008028*
- ID_PRODUCT_FROM_DATABASE=UV-BaseIO dual-port GbE
-
-pci:v00008086d000010C9sv000013A3sd00000037*
- ID_PRODUCT_FROM_DATABASE=DS4100 Secure Multi-Gigabit Server Adapter with Compression
-
-pci:v00008086d000010C9sv000015D9sd0000A811*
- ID_PRODUCT_FROM_DATABASE=H8DGU
-
-pci:v00008086d000010C9sv00008086sd0000A01C*
- ID_PRODUCT_FROM_DATABASE=Gigabit ET Dual Port Server Adapter
-
-pci:v00008086d000010C9sv00008086sd0000A03C*
- ID_PRODUCT_FROM_DATABASE=Gigabit ET Dual Port Server Adapter
-
-pci:v00008086d000010C9sv00008086sd0000A04C*
- ID_PRODUCT_FROM_DATABASE=Gigabit ET Dual Port Server Adapter
-
-pci:v00008086d000010CA*
- ID_PRODUCT_FROM_DATABASE=82576 Virtual Function
-
-pci:v00008086d000010CB*
- ID_PRODUCT_FROM_DATABASE=82567V Gigabit Network Connection
-
-pci:v00008086d000010CC*
- ID_PRODUCT_FROM_DATABASE=82567LM-2 Gigabit Network Connection
-
-pci:v00008086d000010CD*
- ID_PRODUCT_FROM_DATABASE=82567LF-2 Gigabit Network Connection
-
-pci:v00008086d000010CE*
- ID_PRODUCT_FROM_DATABASE=82567V-2 Gigabit Network Connection
-
-pci:v00008086d000010D3*
- ID_PRODUCT_FROM_DATABASE=82574L Gigabit Network Connection
-
-pci:v00008086d000010D3sv0000103Csd00003250*
- ID_PRODUCT_FROM_DATABASE=NC112T PCI Express single Port Gigabit Server Adapter
-
-pci:v00008086d000010D3sv000010A9sd00008029*
- ID_PRODUCT_FROM_DATABASE=Prism XL Single Port Gigabit Ethernet
-
-pci:v00008086d000010D3sv00008086sd00000001*
- ID_PRODUCT_FROM_DATABASE=Gigabit CT2 Desktop Adapter
-
-pci:v00008086d000010D3sv00008086sd0000A01F*
- ID_PRODUCT_FROM_DATABASE=Gigabit CT Desktop Adapter
-
-pci:v00008086d000010D3sv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d000010D3sv0000E4BFsd000050C2*
- ID_PRODUCT_FROM_DATABASE=PC2-LIMBO
-
-pci:v00008086d000010D4*
- ID_PRODUCT_FROM_DATABASE=Matrox Concord GE (customized Intel 82574)
-
-pci:v00008086d000010D5*
- ID_PRODUCT_FROM_DATABASE=82571PT Gigabit PT Quad Port Server ExpressModule
-
-pci:v00008086d000010D6*
- ID_PRODUCT_FROM_DATABASE=82575GB Gigabit Network Connection
-
-pci:v00008086d000010D6sv00008086sd000010D6*
- ID_PRODUCT_FROM_DATABASE=Gigabit VT Quad Port Server Adapter
-
-pci:v00008086d000010D6sv00008086sd0000145A*
- ID_PRODUCT_FROM_DATABASE=Gigabit VT Quad Port Server Adapter
-
-pci:v00008086d000010D6sv00008086sd0000147A*
- ID_PRODUCT_FROM_DATABASE=Gigabit VT Quad Port Server Adapter
-
-pci:v00008086d000010D8*
- ID_PRODUCT_FROM_DATABASE=82599EB 10 Gigabit Unprogrammed
-
-pci:v00008086d000010D9*
- ID_PRODUCT_FROM_DATABASE=82571EB Dual Port Gigabit Mezzanine Adapter
-
-pci:v00008086d000010D9sv0000103Csd00001716*
- ID_PRODUCT_FROM_DATABASE=NC360m Dual Port 1GbE BL-c Adapter
-
-pci:v00008086d000010DA*
- ID_PRODUCT_FROM_DATABASE=82571EB Quad Port Gigabit Mezzanine Adapter
-
-pci:v00008086d000010DAsv0000103Csd00001717*
- ID_PRODUCT_FROM_DATABASE=NC364m Quad Port 1GbE BL-c Adapter
-
-pci:v00008086d000010DB*
- ID_PRODUCT_FROM_DATABASE=82598EB 10-Gigabit Dual Port Network Connection
-
-pci:v00008086d000010DD*
- ID_PRODUCT_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection
-
-pci:v00008086d000010DE*
- ID_PRODUCT_FROM_DATABASE=82567LM-3 Gigabit Network Connection
-
-pci:v00008086d000010DF*
- ID_PRODUCT_FROM_DATABASE=82567LF-3 Gigabit Network Connection
-
-pci:v00008086d000010E1*
- ID_PRODUCT_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection
-
-pci:v00008086d000010E1sv00008086sd0000A15F*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit SR Dual Port Express Module
-
-pci:v00008086d000010E2*
- ID_PRODUCT_FROM_DATABASE=82575GB Gigabit Network Connection
-
-pci:v00008086d000010E2sv00008086sd000010E2*
- ID_PRODUCT_FROM_DATABASE=Gigabit VT Quad Port Server Adapter
-
-pci:v00008086d000010E5*
- ID_PRODUCT_FROM_DATABASE=82567LM-4 Gigabit Network Connection
-
-pci:v00008086d000010E6*
- ID_PRODUCT_FROM_DATABASE=82576 Gigabit Network Connection
-
-pci:v00008086d000010E6sv00008086sd0000A01F*
- ID_PRODUCT_FROM_DATABASE=Gigabit EF Dual Port Server Adapter
-
-pci:v00008086d000010E6sv00008086sd0000A02F*
- ID_PRODUCT_FROM_DATABASE=Gigabit EF Dual Port Server Adapter
-
-pci:v00008086d000010E7*
- ID_PRODUCT_FROM_DATABASE=82576 Gigabit Network Connection
-
-pci:v00008086d000010E7sv0000103Csd000031FF*
- ID_PRODUCT_FROM_DATABASE=NC362i Integrated Dual Port BL-c Gigabit Server Adapter
-
-pci:v00008086d000010E8*
- ID_PRODUCT_FROM_DATABASE=82576 Gigabit Network Connection
-
-pci:v00008086d000010E8sv00008086sd0000A02B*
- ID_PRODUCT_FROM_DATABASE=Gigabit ET Quad Port Server Adapter
-
-pci:v00008086d000010E8sv00008086sd0000A02C*
- ID_PRODUCT_FROM_DATABASE=Gigabit ET Quad Port Server Adapter
-
-pci:v00008086d000010EA*
- ID_PRODUCT_FROM_DATABASE=82577LM Gigabit Network Connection
-
-pci:v00008086d000010EAsv00001028sd0000040A*
- ID_PRODUCT_FROM_DATABASE=Latitude E6410
-
-pci:v00008086d000010EAsv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d000010EAsv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d000010EB*
- ID_PRODUCT_FROM_DATABASE=82577LC Gigabit Network Connection
-
-pci:v00008086d000010EC*
- ID_PRODUCT_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection
-
-pci:v00008086d000010ECsv00008086sd0000A01F*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit CX4 Dual Port Server Adapter
-
-pci:v00008086d000010ECsv00008086sd0000A11F*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit CX4 Dual Port Server Adapter
-
-pci:v00008086d000010ED*
- ID_PRODUCT_FROM_DATABASE=82599 Ethernet Controller Virtual Function
-
-pci:v00008086d000010EF*
- ID_PRODUCT_FROM_DATABASE=82578DM Gigabit Network Connection
-
-pci:v00008086d000010EFsv00001028sd000002DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 980
-
-pci:v00008086d000010F0*
- ID_PRODUCT_FROM_DATABASE=82578DC Gigabit Network Connection
-
-pci:v00008086d000010F1*
- ID_PRODUCT_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection
-
-pci:v00008086d000010F1sv00008086sd0000A20F*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit AF DA Dual Port Server Adapter
-
-pci:v00008086d000010F1sv00008086sd0000A21F*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit AF DA Dual Port Server Adapter
-
-pci:v00008086d000010F4*
- ID_PRODUCT_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection
-
-pci:v00008086d000010F4sv00008086sd0000106F*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit XF LR Server Adapter
-
-pci:v00008086d000010F4sv00008086sd0000A06F*
- ID_PRODUCT_FROM_DATABASE=10-Gigabit XF LR Server Adapter
-
-pci:v00008086d000010F5*
- ID_PRODUCT_FROM_DATABASE=82567LM Gigabit Network Connection
-
-pci:v00008086d000010F6*
- ID_PRODUCT_FROM_DATABASE=82574L Gigabit Network Connection
-
-pci:v00008086d000010F7*
- ID_PRODUCT_FROM_DATABASE=82599EB 10-Gigabit KX4 Network Connection
-
-pci:v00008086d000010F7sv0000108Esd00007B12*
- ID_PRODUCT_FROM_DATABASE=Sun Dual 10GbE PCIe 2.0 FEM
-
-pci:v00008086d000010F7sv00008086sd0000000D*
- ID_PRODUCT_FROM_DATABASE=Ethernet Mezzanine Adapter X520-KX4-2
-
-pci:v00008086d000010F8*
- ID_PRODUCT_FROM_DATABASE=82599EB 10 Gigabit Dual Port Backplane Connection
-
-pci:v00008086d000010F8sv00001028sd00001F63*
- ID_PRODUCT_FROM_DATABASE=10GbE 2P X520k bNDC
-
-pci:v00008086d000010F8sv0000103Csd000017D2*
- ID_PRODUCT_FROM_DATABASE=Ethernet 10Gb 2-port 560M Adapter
-
-pci:v00008086d000010F8sv0000103Csd000018D0*
- ID_PRODUCT_FROM_DATABASE=Ethernet 10Gb 2-port 560FLB Adapter
-
-pci:v00008086d000010F8sv00008086sd0000000C*
- ID_PRODUCT_FROM_DATABASE=Ethernet X520 10GbE Dual Port KX4-KR Mezz
-
-pci:v00008086d000010F9*
- ID_PRODUCT_FROM_DATABASE=82599EB 10 Gigabit CX4 Dual Port Network Connection
-
-pci:v00008086d000010FB*
- ID_PRODUCT_FROM_DATABASE=82599EB 10-Gigabit SFI/SFP+ Network Connection
-
-pci:v00008086d000010FBsv00001028sd00001F72*
- ID_PRODUCT_FROM_DATABASE=Ethernet 10G 4P X520/I350 rNDC
-
-pci:v00008086d000010FBsv0000103Csd000017D0*
- ID_PRODUCT_FROM_DATABASE=Ethernet 10Gb 2-port 560FLR-SFP+ Adapter
-
-pci:v00008086d000010FBsv0000103Csd000017D2*
- ID_PRODUCT_FROM_DATABASE=Ethernet 10Gb 2-port 560M Adapter
-
-pci:v00008086d000010FBsv0000103Csd000017D3*
- ID_PRODUCT_FROM_DATABASE=Ethernet 10Gb 2-port 560SFP+ Adapter
-
-pci:v00008086d000010FBsv0000108Esd00007B11*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter X520-2
-
-pci:v00008086d000010FBsv00001734sd000011A9*
- ID_PRODUCT_FROM_DATABASE=10 Gigabit Dual Port Network Connection
-
-pci:v00008086d000010FBsv00008086sd00000002*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter X520-DA2
-
-pci:v00008086d000010FBsv00008086sd00000003*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter X520-2
-
-pci:v00008086d000010FBsv00008086sd00000006*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter X520-1
-
-pci:v00008086d000010FBsv00008086sd0000000A*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter X520-1
-
-pci:v00008086d000010FBsv00008086sd0000000C*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter X520-2
-
-pci:v00008086d000010FBsv00008086sd00007A11*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter X520-2
-
-pci:v00008086d000010FBsv00008086sd00007A12*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter X520-2
-
-pci:v00008086d000010FC*
- ID_PRODUCT_FROM_DATABASE=82599EB 10-Gigabit XAUI/BX4 Network Connection
-
-pci:v00008086d000010FE*
- ID_PRODUCT_FROM_DATABASE=82552 10/100 Network Connection
-
-pci:v00008086d00001107*
- ID_PRODUCT_FROM_DATABASE=PRO/1000 MF Server Adapter (LX)
-
-pci:v00008086d00001130*
- ID_PRODUCT_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub
-
-pci:v00008086d00001130sv00001025sd00001016*
- ID_PRODUCT_FROM_DATABASE=Travelmate 612 TX
-
-pci:v00008086d00001130sv00001043sd00008027*
- ID_PRODUCT_FROM_DATABASE=TUSL2-C Mainboard
-
-pci:v00008086d00001130sv0000104Dsd000080DF*
- ID_PRODUCT_FROM_DATABASE=Vaio PCG-FX403
-
-pci:v00008086d00001130sv00008086sd00004532*
- ID_PRODUCT_FROM_DATABASE=D815EEA2 mainboard
-
-pci:v00008086d00001130sv00008086sd00004557*
- ID_PRODUCT_FROM_DATABASE=D815EGEW Mainboard
-
-pci:v00008086d00001131*
- ID_PRODUCT_FROM_DATABASE=82815 815 Chipset AGP Bridge
-
-pci:v00008086d00001132*
- ID_PRODUCT_FROM_DATABASE=82815 Chipset Graphics Controller (CGC)
-
-pci:v00008086d00001132sv00001025sd00001016*
- ID_PRODUCT_FROM_DATABASE=Travelmate 612 TX
-
-pci:v00008086d00001132sv0000103Csd00002001*
- ID_PRODUCT_FROM_DATABASE=e-pc 40
-
-pci:v00008086d00001132sv0000104Dsd000080DF*
- ID_PRODUCT_FROM_DATABASE=Vaio PCG-FX403
-
-pci:v00008086d00001132sv00008086sd00004532*
- ID_PRODUCT_FROM_DATABASE=D815EEA2 Mainboard
-
-pci:v00008086d00001132sv00008086sd00004541*
- ID_PRODUCT_FROM_DATABASE=D815EEA Motherboard
-
-pci:v00008086d00001132sv00008086sd00004557*
- ID_PRODUCT_FROM_DATABASE=D815EGEW Mainboard
-
-pci:v00008086d00001161*
- ID_PRODUCT_FROM_DATABASE=82806AA PCI64 Hub Advanced Programmable Interrupt Controller
-
-pci:v00008086d00001161sv00008086sd00001161*
- ID_PRODUCT_FROM_DATABASE=82806AA PCI64 Hub APIC
-
-pci:v00008086d00001162*
- ID_PRODUCT_FROM_DATABASE=Xscale 80200 Big Endian Companion Chip
-
-pci:v00008086d00001200*
- ID_PRODUCT_FROM_DATABASE=IXP1200 Network Processor
-
-pci:v00008086d00001200sv0000172Asd00000000*
- ID_PRODUCT_FROM_DATABASE=AEP SSL Accelerator
-
-pci:v00008086d00001209*
- ID_PRODUCT_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller
-
-pci:v00008086d00001209sv0000140Bsd00000610*
- ID_PRODUCT_FROM_DATABASE=PMC610 quad Ethernet board
-
-pci:v00008086d00001209sv00004C53sd00001050*
- ID_PRODUCT_FROM_DATABASE=CT7 mainboard
-
-pci:v00008086d00001209sv00004C53sd00001051*
- ID_PRODUCT_FROM_DATABASE=CE7 mainboard
-
-pci:v00008086d00001209sv00004C53sd00001070*
- ID_PRODUCT_FROM_DATABASE=PC6 mainboard
-
-pci:v00008086d00001221*
- ID_PRODUCT_FROM_DATABASE=82092AA PCI to PCMCIA Bridge
-
-pci:v00008086d00001222*
- ID_PRODUCT_FROM_DATABASE=82092AA IDE Controller
-
-pci:v00008086d00001223*
- ID_PRODUCT_FROM_DATABASE=SAA7116
-
-pci:v00008086d00001225*
- ID_PRODUCT_FROM_DATABASE=82452KX/GX [Orion]
-
-pci:v00008086d00001226*
- ID_PRODUCT_FROM_DATABASE=82596 PRO/10 PCI
-
-pci:v00008086d00001227*
- ID_PRODUCT_FROM_DATABASE=82865 EtherExpress PRO/100A
-
-pci:v00008086d00001228*
- ID_PRODUCT_FROM_DATABASE=82556 EtherExpress PRO/100 Smart
-
-pci:v00008086d00001229*
- ID_PRODUCT_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100
-
-pci:v00008086d00001229sv00000E11sd00003001*
- ID_PRODUCT_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
-
-pci:v00008086d00001229sv00000E11sd00003002*
- ID_PRODUCT_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
-
-pci:v00008086d00001229sv00000E11sd00003003*
- ID_PRODUCT_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
-
-pci:v00008086d00001229sv00000E11sd00003004*
- ID_PRODUCT_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
-
-pci:v00008086d00001229sv00000E11sd00003005*
- ID_PRODUCT_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
-
-pci:v00008086d00001229sv00000E11sd00003006*
- ID_PRODUCT_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
-
-pci:v00008086d00001229sv00000E11sd00003007*
- ID_PRODUCT_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN*
-
-pci:v00008086d00001229sv00000E11sd0000B01E*
- ID_PRODUCT_FROM_DATABASE=NC3120 Fast Ethernet NIC
-
-pci:v00008086d00001229sv00000E11sd0000B01F*
- ID_PRODUCT_FROM_DATABASE=NC3122 Fast Ethernet NIC (dual port)
-
-pci:v00008086d00001229sv00000E11sd0000B02F*
- ID_PRODUCT_FROM_DATABASE=NC1120 Ethernet NIC
-
-pci:v00008086d00001229sv00000E11sd0000B04A*
- ID_PRODUCT_FROM_DATABASE=Netelligent 10/100TX NIC with Wake on LAN
-
-pci:v00008086d00001229sv00000E11sd0000B0C6*
- ID_PRODUCT_FROM_DATABASE=NC3161 Fast Ethernet NIC (embedded, WOL)
-
-pci:v00008086d00001229sv00000E11sd0000B0C7*
- ID_PRODUCT_FROM_DATABASE=NC3160 Fast Ethernet NIC (embedded)
-
-pci:v00008086d00001229sv00000E11sd0000B0D7*
- ID_PRODUCT_FROM_DATABASE=NC3121 Fast Ethernet NIC (WOL)
-
-pci:v00008086d00001229sv00000E11sd0000B0DD*
- ID_PRODUCT_FROM_DATABASE=NC3131 Fast Ethernet NIC (dual port)
-
-pci:v00008086d00001229sv00000E11sd0000B0DE*
- ID_PRODUCT_FROM_DATABASE=NC3132 Fast Ethernet Module (dual port)
-
-pci:v00008086d00001229sv00000E11sd0000B0E1*
- ID_PRODUCT_FROM_DATABASE=NC3133 Fast Ethernet Module (100-FX)
-
-pci:v00008086d00001229sv00000E11sd0000B134*
- ID_PRODUCT_FROM_DATABASE=NC3163 Fast Ethernet NIC (embedded, WOL)
-
-pci:v00008086d00001229sv00000E11sd0000B13C*
- ID_PRODUCT_FROM_DATABASE=NC3162 Fast Ethernet NIC (embedded)
-
-pci:v00008086d00001229sv00000E11sd0000B144*
- ID_PRODUCT_FROM_DATABASE=NC3123 Fast Ethernet NIC (WOL)
-
-pci:v00008086d00001229sv00000E11sd0000B163*
- ID_PRODUCT_FROM_DATABASE=NC3134 Fast Ethernet NIC (dual port)
-
-pci:v00008086d00001229sv00000E11sd0000B164*
- ID_PRODUCT_FROM_DATABASE=NC3135 Fast Ethernet Upgrade Module (dual port)
-
-pci:v00008086d00001229sv00000E11sd0000B1A4*
- ID_PRODUCT_FROM_DATABASE=NC7131 Gigabit Server Adapter
-
-pci:v00008086d00001229sv00001014sd0000005C*
- ID_PRODUCT_FROM_DATABASE=82558B Ethernet Pro 10/100
-
-pci:v00008086d00001229sv00001014sd000001BC*
- ID_PRODUCT_FROM_DATABASE=82559 Fast Ethernet LAN On Motherboard
-
-pci:v00008086d00001229sv00001014sd000001F1*
- ID_PRODUCT_FROM_DATABASE=10/100 Ethernet Server Adapter
-
-pci:v00008086d00001229sv00001014sd000001F2*
- ID_PRODUCT_FROM_DATABASE=10/100 Ethernet Server Adapter
-
-pci:v00008086d00001229sv00001014sd00000207*
- ID_PRODUCT_FROM_DATABASE=Ethernet Pro/100 S
-
-pci:v00008086d00001229sv00001014sd00000232*
- ID_PRODUCT_FROM_DATABASE=10/100 Dual Port Server Adapter
-
-pci:v00008086d00001229sv00001014sd0000023A*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R30
-
-pci:v00008086d00001229sv00001014sd0000105C*
- ID_PRODUCT_FROM_DATABASE=Netfinity 10/100
-
-pci:v00008086d00001229sv00001014sd00002205*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A22p
-
-pci:v00008086d00001229sv00001014sd0000305C*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Management Adapter
-
-pci:v00008086d00001229sv00001014sd0000405C*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Adapter with Alert on LAN
-
-pci:v00008086d00001229sv00001014sd0000505C*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Secure Management Adapter
-
-pci:v00008086d00001229sv00001014sd0000605C*
- ID_PRODUCT_FROM_DATABASE=10/100 EtherJet Secure Management Adapter
-
-pci:v00008086d00001229sv00001014sd0000705C*
- ID_PRODUCT_FROM_DATABASE=10/100 Netfinity 10/100 Ethernet Security Adapter
-
-pci:v00008086d00001229sv00001014sd0000805C*
- ID_PRODUCT_FROM_DATABASE=10/100 Netfinity 10/100 Ethernet Security Adapter
-
-pci:v00008086d00001229sv00001028sd0000009B*
- ID_PRODUCT_FROM_DATABASE=10/100 Ethernet Server Adapter
-
-pci:v00008086d00001229sv00001028sd000000CE*
- ID_PRODUCT_FROM_DATABASE=10/100 Ethernet Server Adapter
-
-pci:v00008086d00001229sv00001033sd00008000*
- ID_PRODUCT_FROM_DATABASE=PC-9821X-B06
-
-pci:v00008086d00001229sv00001033sd00008016*
- ID_PRODUCT_FROM_DATABASE=PK-UG-X006
-
-pci:v00008086d00001229sv00001033sd0000801F*
- ID_PRODUCT_FROM_DATABASE=PK-UG-X006
-
-pci:v00008086d00001229sv00001033sd00008026*
- ID_PRODUCT_FROM_DATABASE=PK-UG-X006
-
-pci:v00008086d00001229sv00001033sd00008063*
- ID_PRODUCT_FROM_DATABASE=82559-based Fast Ethernet Adapter
-
-pci:v00008086d00001229sv00001033sd00008064*
- ID_PRODUCT_FROM_DATABASE=82559-based Fast Ethernet Adapter
-
-pci:v00008086d00001229sv0000103Csd000010C0*
- ID_PRODUCT_FROM_DATABASE=NetServer 10/100TX
-
-pci:v00008086d00001229sv0000103Csd000010C3*
- ID_PRODUCT_FROM_DATABASE=NetServer 10/100TX
-
-pci:v00008086d00001229sv0000103Csd000010CA*
- ID_PRODUCT_FROM_DATABASE=NetServer 10/100TX
-
-pci:v00008086d00001229sv0000103Csd000010CB*
- ID_PRODUCT_FROM_DATABASE=NetServer 10/100TX
-
-pci:v00008086d00001229sv0000103Csd000010E3*
- ID_PRODUCT_FROM_DATABASE=NetServer 10/100TX
-
-pci:v00008086d00001229sv0000103Csd000010E4*
- ID_PRODUCT_FROM_DATABASE=NetServer 10/100TX
-
-pci:v00008086d00001229sv0000103Csd00001200*
- ID_PRODUCT_FROM_DATABASE=NetServer 10/100TX
-
-pci:v00008086d00001229sv0000108Esd000010CF*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100(B)
-
-pci:v00008086d00001229sv000010C3sd00001100*
- ID_PRODUCT_FROM_DATABASE=SmartEther100 SC1100
-
-pci:v00008086d00001229sv000010CFsd00001115*
- ID_PRODUCT_FROM_DATABASE=8255x-based Ethernet Adapter (10/100)
-
-pci:v00008086d00001229sv000010CFsd00001143*
- ID_PRODUCT_FROM_DATABASE=8255x-based Ethernet Adapter (10/100)
-
-pci:v00008086d00001229sv0000110Asd0000008B*
- ID_PRODUCT_FROM_DATABASE=82551QM Fast Ethernet Multifuction PCI/CardBus Controller
-
-pci:v00008086d00001229sv0000114Asd00000582*
- ID_PRODUCT_FROM_DATABASE=PC8 onboard ethernet ETH2
-
-pci:v00008086d00001229sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=8255x-based Ethernet Adapter (10/100)
-
-pci:v00008086d00001229sv00001179sd00000002*
- ID_PRODUCT_FROM_DATABASE=PCI FastEther LAN on Docker
-
-pci:v00008086d00001229sv00001179sd00000003*
- ID_PRODUCT_FROM_DATABASE=8255x-based Fast Ethernet
-
-pci:v00008086d00001229sv00001259sd00002560*
- ID_PRODUCT_FROM_DATABASE=AT-2560 100
-
-pci:v00008086d00001229sv00001259sd00002561*
- ID_PRODUCT_FROM_DATABASE=AT-2560 100 FX Ethernet Adapter
-
-pci:v00008086d00001229sv00001266sd00000001*
- ID_PRODUCT_FROM_DATABASE=NE10/100 Adapter
-
-pci:v00008086d00001229sv000013E9sd00001000*
- ID_PRODUCT_FROM_DATABASE=6221L-4U
-
-pci:v00008086d00001229sv0000144Dsd00002501*
- ID_PRODUCT_FROM_DATABASE=SEM-2000 MiniPCI LAN Adapter
-
-pci:v00008086d00001229sv0000144Dsd00002502*
- ID_PRODUCT_FROM_DATABASE=SEM-2100IL MiniPCI LAN Adapter
-
-pci:v00008086d00001229sv00001668sd00001100*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem)
-
-pci:v00008086d00001229sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d00001229sv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d00001229sv00004C53sd00001080*
- ID_PRODUCT_FROM_DATABASE=CT8 mainboard
-
-pci:v00008086d00001229sv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d00001229sv00008086sd00000001*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100B (TX)
-
-pci:v00008086d00001229sv00008086sd00000002*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100B (T4)
-
-pci:v00008086d00001229sv00008086sd00000003*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/10+
-
-pci:v00008086d00001229sv00008086sd00000004*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 WfM
-
-pci:v00008086d00001229sv00008086sd00000005*
- ID_PRODUCT_FROM_DATABASE=82557 10/100
-
-pci:v00008086d00001229sv00008086sd00000006*
- ID_PRODUCT_FROM_DATABASE=82557 10/100 with Wake on LAN
-
-pci:v00008086d00001229sv00008086sd00000007*
- ID_PRODUCT_FROM_DATABASE=82558 10/100 Adapter
-
-pci:v00008086d00001229sv00008086sd00000008*
- ID_PRODUCT_FROM_DATABASE=82558 10/100 with Wake on LAN
-
-pci:v00008086d00001229sv00008086sd00000009*
- ID_PRODUCT_FROM_DATABASE=82558B PRO/100+ PCI (TP)
-
-pci:v00008086d00001229sv00008086sd0000000A*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter
-
-pci:v00008086d00001229sv00008086sd0000000B*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+
-
-pci:v00008086d00001229sv00008086sd0000000C*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter
-
-pci:v00008086d00001229sv00008086sd0000000D*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ Alert On LAN II* Adapter
-
-pci:v00008086d00001229sv00008086sd0000000E*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter with Alert On LAN*
-
-pci:v00008086d00001229sv00008086sd0000000F*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter
-
-pci:v00008086d00001229sv00008086sd00000010*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Management Adapter
-
-pci:v00008086d00001229sv00008086sd00000011*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Management Adapter
-
-pci:v00008086d00001229sv00008086sd00000012*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Advanced Management Adapter (D)
-
-pci:v00008086d00001229sv00008086sd00000013*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Advanced Management Adapter (E)
-
-pci:v00008086d00001229sv00008086sd00000030*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Management Adapter with Alert On LAN* GC
-
-pci:v00008086d00001229sv00008086sd00000031*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter
-
-pci:v00008086d00001229sv00008086sd00000040*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter
-
-pci:v00008086d00001229sv00008086sd00000041*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter
-
-pci:v00008086d00001229sv00008086sd00000042*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter
-
-pci:v00008086d00001229sv00008086sd00000050*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter
-
-pci:v00008086d00001229sv00008086sd00001009*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ Server Adapter
-
-pci:v00008086d00001229sv00008086sd0000100C*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ Server Adapter (PILA8470B)
-
-pci:v00008086d00001229sv00008086sd00001012*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter (D)
-
-pci:v00008086d00001229sv00008086sd00001013*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter (E)
-
-pci:v00008086d00001229sv00008086sd00001015*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Dual Port Server Adapter
-
-pci:v00008086d00001229sv00008086sd00001017*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ Dual Port Server Adapter
-
-pci:v00008086d00001229sv00008086sd00001030*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server
-
-pci:v00008086d00001229sv00008086sd00001040*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter
-
-pci:v00008086d00001229sv00008086sd00001041*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter
-
-pci:v00008086d00001229sv00008086sd00001042*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Server Adapter
-
-pci:v00008086d00001229sv00008086sd00001050*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter
-
-pci:v00008086d00001229sv00008086sd00001051*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Server Adapter
-
-pci:v00008086d00001229sv00008086sd00001052*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Server Adapter
-
-pci:v00008086d00001229sv00008086sd000010F0*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ Dual Port Adapter
-
-pci:v00008086d00001229sv00008086sd00001229*
- ID_PRODUCT_FROM_DATABASE=82557/8/9 [Ethernet Pro 100]
-
-pci:v00008086d00001229sv00008086sd00002009*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Mobile Adapter
-
-pci:v00008086d00001229sv00008086sd0000200D*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Cardbus
-
-pci:v00008086d00001229sv00008086sd0000200E*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 LAN+V90 Cardbus Modem
-
-pci:v00008086d00001229sv00008086sd0000200F*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Adapter
-
-pci:v00008086d00001229sv00008086sd00002010*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Mobile Combo Adapter
-
-pci:v00008086d00001229sv00008086sd00002013*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Combo Adapter
-
-pci:v00008086d00001229sv00008086sd00002016*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Mobile Adapter
-
-pci:v00008086d00001229sv00008086sd00002017*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Combo Mobile Adapter
-
-pci:v00008086d00001229sv00008086sd00002018*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Adapter
-
-pci:v00008086d00001229sv00008086sd00002019*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 SR Combo Mobile Adapter
-
-pci:v00008086d00001229sv00008086sd00002101*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 P Mobile Adapter
-
-pci:v00008086d00001229sv00008086sd00002102*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter
-
-pci:v00008086d00001229sv00008086sd00002103*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter
-
-pci:v00008086d00001229sv00008086sd00002104*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter
-
-pci:v00008086d00001229sv00008086sd00002105*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter
-
-pci:v00008086d00001229sv00008086sd00002106*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 P Mobile Adapter
-
-pci:v00008086d00001229sv00008086sd00002107*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Network Connection
-
-pci:v00008086d00001229sv00008086sd00002108*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Network Connection
-
-pci:v00008086d00001229sv00008086sd00002200*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter
-
-pci:v00008086d00001229sv00008086sd00002201*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter
-
-pci:v00008086d00001229sv00008086sd00002202*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter
-
-pci:v00008086d00001229sv00008086sd00002203*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
-
-pci:v00008086d00001229sv00008086sd00002204*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
-
-pci:v00008086d00001229sv00008086sd00002205*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter
-
-pci:v00008086d00001229sv00008086sd00002206*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter
-
-pci:v00008086d00001229sv00008086sd00002207*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter
-
-pci:v00008086d00001229sv00008086sd00002208*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter
-
-pci:v00008086d00001229sv00008086sd00002402*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
-
-pci:v00008086d00001229sv00008086sd00002407*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
-
-pci:v00008086d00001229sv00008086sd00002408*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
-
-pci:v00008086d00001229sv00008086sd00002409*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
-
-pci:v00008086d00001229sv00008086sd0000240F*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
-
-pci:v00008086d00001229sv00008086sd00002410*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
-
-pci:v00008086d00001229sv00008086sd00002411*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
-
-pci:v00008086d00001229sv00008086sd00002412*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
-
-pci:v00008086d00001229sv00008086sd00002413*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI
-
-pci:v00008086d00001229sv00008086sd00003000*
- ID_PRODUCT_FROM_DATABASE=82559 Fast Ethernet LAN on Motherboard
-
-pci:v00008086d00001229sv00008086sd00003001*
- ID_PRODUCT_FROM_DATABASE=82559 Fast Ethernet LOM with Basic Alert on LAN*
-
-pci:v00008086d00001229sv00008086sd00003002*
- ID_PRODUCT_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN II*
-
-pci:v00008086d00001229sv00008086sd00003006*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Network Connection
-
-pci:v00008086d00001229sv00008086sd00003007*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Network Connection
-
-pci:v00008086d00001229sv00008086sd00003008*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Network Connection
-
-pci:v00008086d00001229sv00008086sd00003010*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Network Connection
-
-pci:v00008086d00001229sv00008086sd00003011*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 S Network Connection
-
-pci:v00008086d00001229sv00008086sd00003012*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Network Connection
-
-pci:v00008086d00001229sv00008086sd0000301A*
- ID_PRODUCT_FROM_DATABASE=S845WD1-E mainboard
-
-pci:v00008086d00001229sv00008086sd00003411*
- ID_PRODUCT_FROM_DATABASE=SDS2 Mainboard
-
-pci:v00008086d0000122D*
- ID_PRODUCT_FROM_DATABASE=430FX - 82437FX TSC [Triton I]
-
-pci:v00008086d0000122E*
- ID_PRODUCT_FROM_DATABASE=82371FB PIIX ISA [Triton I]
-
-pci:v00008086d00001230*
- ID_PRODUCT_FROM_DATABASE=82371FB PIIX IDE [Triton I]
-
-pci:v00008086d00001231*
- ID_PRODUCT_FROM_DATABASE=DSVD Modem
-
-pci:v00008086d00001234*
- ID_PRODUCT_FROM_DATABASE=430MX - 82371MX Mobile PCI I/O IDE Xcelerator (MPIIX)
-
-pci:v00008086d00001235*
- ID_PRODUCT_FROM_DATABASE=430MX - 82437MX Mob. System Ctrlr (MTSC) & 82438MX Data Path (MTDP)
-
-pci:v00008086d00001237*
- ID_PRODUCT_FROM_DATABASE=440FX - 82441FX PMC [Natoma]
-
-pci:v00008086d00001237sv00001AF4sd00001100*
- ID_PRODUCT_FROM_DATABASE=Qemu virtual machine
-
-pci:v00008086d00001239*
- ID_PRODUCT_FROM_DATABASE=82371FB PIIX IDE Interface
-
-pci:v00008086d0000123B*
- ID_PRODUCT_FROM_DATABASE=82380PB PCI to PCI Docking Bridge
-
-pci:v00008086d0000123C*
- ID_PRODUCT_FROM_DATABASE=82380AB (MISA) Mobile PCI-to-ISA Bridge
-
-pci:v00008086d0000123D*
- ID_PRODUCT_FROM_DATABASE=683053 Programmable Interrupt Device
-
-pci:v00008086d0000123E*
- ID_PRODUCT_FROM_DATABASE=82466GX (IHPC) Integrated Hot-Plug Controller (hidden mode)
-
-pci:v00008086d0000123F*
- ID_PRODUCT_FROM_DATABASE=82466GX Integrated Hot-Plug Controller (IHPC)
-
-pci:v00008086d00001240*
- ID_PRODUCT_FROM_DATABASE=82752 (752) AGP Graphics Accelerator
-
-pci:v00008086d0000124B*
- ID_PRODUCT_FROM_DATABASE=82380FB (MPCI2) Mobile Docking Controller
-
-pci:v00008086d00001250*
- ID_PRODUCT_FROM_DATABASE=430HX - 82439HX TXC [Triton II]
-
-pci:v00008086d00001360*
- ID_PRODUCT_FROM_DATABASE=82806AA PCI64 Hub PCI Bridge
-
-pci:v00008086d00001361*
- ID_PRODUCT_FROM_DATABASE=82806AA PCI64 Hub Controller (HRes)
-
-pci:v00008086d00001361sv00008086sd00001361*
- ID_PRODUCT_FROM_DATABASE=82806AA PCI64 Hub Controller (HRes)
-
-pci:v00008086d00001361sv00008086sd00008000*
- ID_PRODUCT_FROM_DATABASE=82806AA PCI64 Hub Controller (HRes)
-
-pci:v00008086d00001460*
- ID_PRODUCT_FROM_DATABASE=82870P2 P64H2 Hub PCI Bridge
-
-pci:v00008086d00001461*
- ID_PRODUCT_FROM_DATABASE=82870P2 P64H2 I/OxAPIC
-
-pci:v00008086d00001461sv000015D9sd00003480*
- ID_PRODUCT_FROM_DATABASE=P4DP6
-
-pci:v00008086d00001461sv00004C53sd00001090*
- ID_PRODUCT_FROM_DATABASE=Cx9/Vx9 mainboard
-
-pci:v00008086d00001462*
- ID_PRODUCT_FROM_DATABASE=82870P2 P64H2 Hot Plug Controller
-
-pci:v00008086d00001501*
- ID_PRODUCT_FROM_DATABASE=82567V-3 Gigabit Network Connection
-
-pci:v00008086d00001502*
- ID_PRODUCT_FROM_DATABASE=82579LM Gigabit Network Connection
-
-pci:v00008086d00001503*
- ID_PRODUCT_FROM_DATABASE=82579V Gigabit Network Connection
-
-pci:v00008086d00001503sv00001043sd0000849C*
- ID_PRODUCT_FROM_DATABASE=P8P67 Deluxe Motherboard
-
-pci:v00008086d00001507*
- ID_PRODUCT_FROM_DATABASE=82599EB 10 Gigabit Network Connection
-
-pci:v00008086d00001508*
- ID_PRODUCT_FROM_DATABASE=82598EB Gigabit BX Network Connection
-
-pci:v00008086d0000150A*
- ID_PRODUCT_FROM_DATABASE=82576NS Gigabit Network Connection
-
-pci:v00008086d0000150B*
- ID_PRODUCT_FROM_DATABASE=82598EB 10-Gigabit AT2 Server Adapter
-
-pci:v00008086d0000150Bsv00008086sd0000A10C*
- ID_PRODUCT_FROM_DATABASE=82598EB 10-Gigabit AT2 Server Adapter
-
-pci:v00008086d0000150Bsv00008086sd0000A11C*
- ID_PRODUCT_FROM_DATABASE=82598EB 10-Gigabit AT2 Server Adapter
-
-pci:v00008086d0000150Bsv00008086sd0000A12C*
- ID_PRODUCT_FROM_DATABASE=82598EB 10-Gigabit AT2 Server Adapter
-
-pci:v00008086d0000150C*
- ID_PRODUCT_FROM_DATABASE=82583V Gigabit Network Connection
-
-pci:v00008086d0000150D*
- ID_PRODUCT_FROM_DATABASE=82576 Gigabit Backplane Connection
-
-pci:v00008086d0000150Dsv00008086sd0000A10C*
- ID_PRODUCT_FROM_DATABASE=Gigabit ET Quad Port Mezzanine Card
-
-pci:v00008086d0000150E*
- ID_PRODUCT_FROM_DATABASE=82580 Gigabit Network Connection
-
-pci:v00008086d0000150Esv0000103Csd00001780*
- ID_PRODUCT_FROM_DATABASE=NC365T 4-port Ethernet Server Adapter
-
-pci:v00008086d0000150Esv00008086sd000012A1*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I340-T4
-
-pci:v00008086d0000150Esv00008086sd000012A2*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I340-T4
-
-pci:v00008086d0000150F*
- ID_PRODUCT_FROM_DATABASE=82580 Gigabit Fiber Network Connection
-
-pci:v00008086d00001510*
- ID_PRODUCT_FROM_DATABASE=82580 Gigabit Backplane Connection
-
-pci:v00008086d00001511*
- ID_PRODUCT_FROM_DATABASE=82580 Gigabit SFP Connection
-
-pci:v00008086d00001514*
- ID_PRODUCT_FROM_DATABASE=82599EB 10 Gigabit KX4 Network Connection
-
-pci:v00008086d00001514sv00008086sd0000000B*
- ID_PRODUCT_FROM_DATABASE=Ethernet X520 10GbE Dual Port KX4 Mezz
-
-pci:v00008086d00001515*
- ID_PRODUCT_FROM_DATABASE=X540 Ethernet Controller Virtual Function
-
-pci:v00008086d00001516*
- ID_PRODUCT_FROM_DATABASE=82580 Gigabit Network Connection
-
-pci:v00008086d00001516sv00008086sd000012B1*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I340-T2
-
-pci:v00008086d00001516sv00008086sd000012B2*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I340-T2
-
-pci:v00008086d00001517*
- ID_PRODUCT_FROM_DATABASE=82599ES 10 Gigabit Network Connection
-
-pci:v00008086d00001517sv00001137sd0000006A*
- ID_PRODUCT_FROM_DATABASE=UCS CNA M61KR-I Intel Converged Network Adapter
-
-pci:v00008086d00001518*
- ID_PRODUCT_FROM_DATABASE=82576NS SerDes Gigabit Network Connection
-
-pci:v00008086d0000151C*
- ID_PRODUCT_FROM_DATABASE=82599EB 10 Gigabit TN Network Connection
-
-pci:v00008086d0000151Csv0000108Esd00007B13*
- ID_PRODUCT_FROM_DATABASE=Dual 10GBASE-T LP
-
-pci:v00008086d00001520*
- ID_PRODUCT_FROM_DATABASE=I350 Ethernet Controller Virtual Function
-
-pci:v00008086d00001521*
- ID_PRODUCT_FROM_DATABASE=I350 Gigabit Network Connection
-
-pci:v00008086d00001521sv00001028sd00001F60*
- ID_PRODUCT_FROM_DATABASE=Intel GbE 4P I350crNDC
-
-pci:v00008086d00001521sv00001028sd00001F62*
- ID_PRODUCT_FROM_DATABASE=Intel GbE 2P I350crNDC
-
-pci:v00008086d00001521sv0000103Csd0000337F*
- ID_PRODUCT_FROM_DATABASE=Ethernet 1Gb 2-port 361i Adapter
-
-pci:v00008086d00001521sv0000103Csd00003380*
- ID_PRODUCT_FROM_DATABASE=Ethernet 1Gb 4-port 366i Adapter
-
-pci:v00008086d00001521sv0000103Csd0000339E*
- ID_PRODUCT_FROM_DATABASE=Ethernet 1Gb 2-port 361T Adapter
-
-pci:v00008086d00001521sv0000108Esd00007B16*
- ID_PRODUCT_FROM_DATABASE=Quad Port GbE PCIe 2.0 ExpressModule, UTP
-
-pci:v00008086d00001521sv0000108Esd00007B18*
- ID_PRODUCT_FROM_DATABASE=Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP
-
-pci:v00008086d00001521sv000010A9sd0000802A*
- ID_PRODUCT_FROM_DATABASE=UV2-BaseIO dual-port GbE
-
-pci:v00008086d00001521sv00008086sd00000001*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I350-T4
-
-pci:v00008086d00001521sv00008086sd00000002*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I350-T2
-
-pci:v00008086d00001521sv00008086sd000000A1*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I350-T4
-
-pci:v00008086d00001521sv00008086sd000000A2*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I350-T2
-
-pci:v00008086d00001521sv00008086sd00005001*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I350-T4
-
-pci:v00008086d00001521sv00008086sd00005002*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I350-T2
-
-pci:v00008086d00001522*
- ID_PRODUCT_FROM_DATABASE=I350 Gigabit Fiber Network Connection
-
-pci:v00008086d00001522sv0000108Esd00007B17*
- ID_PRODUCT_FROM_DATABASE=Quad Port GbE PCIe 2.0 ExpressModule, MMF
-
-pci:v00008086d00001522sv0000108Esd00007B19*
- ID_PRODUCT_FROM_DATABASE=Dual Port GbE PCIe 2.0 Low Profile Adapter, MMF
-
-pci:v00008086d00001522sv00008086sd00000002*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I350-T2
-
-pci:v00008086d00001522sv00008086sd00000003*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I350-F4
-
-pci:v00008086d00001522sv00008086sd00000004*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I350-F2
-
-pci:v00008086d00001522sv00008086sd000000A3*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I350-F4
-
-pci:v00008086d00001522sv00008086sd000000A4*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I350-F2
-
-pci:v00008086d00001523*
- ID_PRODUCT_FROM_DATABASE=I350 Gigabit Backplane Connection
-
-pci:v00008086d00001523sv0000103Csd00001784*
- ID_PRODUCT_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter
-
-pci:v00008086d00001523sv0000103Csd000018D1*
- ID_PRODUCT_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter
-
-pci:v00008086d00001523sv0000103Csd0000339F*
- ID_PRODUCT_FROM_DATABASE=Ethernet 1Gb 4-port 366M Adapter
-
-pci:v00008086d00001523sv00008086sd00001F52*
- ID_PRODUCT_FROM_DATABASE=1GbE 4P I350 Mezz
-
-pci:v00008086d00001524*
- ID_PRODUCT_FROM_DATABASE=I350 Gigabit Connection
-
-pci:v00008086d00001525*
- ID_PRODUCT_FROM_DATABASE=82567V-4 Gigabit Network Connection
-
-pci:v00008086d00001526*
- ID_PRODUCT_FROM_DATABASE=82576 Gigabit Network Connection
-
-pci:v00008086d00001526sv00008086sd0000A05C*
- ID_PRODUCT_FROM_DATABASE=Gigabit ET2 Quad Port Server Adapter
-
-pci:v00008086d00001526sv00008086sd0000A06C*
- ID_PRODUCT_FROM_DATABASE=Gigabit ET2 Quad Port Server Adapter
-
-pci:v00008086d00001527*
- ID_PRODUCT_FROM_DATABASE=82580 Gigabit Fiber Network Connection
-
-pci:v00008086d00001527sv00008086sd00000001*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I340-F4
-
-pci:v00008086d00001527sv00008086sd00000002*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I340-F4
-
-pci:v00008086d00001528*
- ID_PRODUCT_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2
-
-pci:v00008086d00001528sv00001028sd00001F61*
- ID_PRODUCT_FROM_DATABASE=Ethernet 10G 4P X540/I350 rNDC
-
-pci:v00008086d00001528sv0000103Csd0000192D*
- ID_PRODUCT_FROM_DATABASE=561FLR-T 2-port 10Gb Ethernet Adapter
-
-pci:v00008086d00001528sv0000108Esd00007B14*
- ID_PRODUCT_FROM_DATABASE=Sun Dual Port 10 GbE PCIe 2.0 ExpressModule, Base-T
-
-pci:v00008086d00001528sv0000108Esd00007B15*
- ID_PRODUCT_FROM_DATABASE=Sun Dual Port 10 GbE PCIe 2.0 Low Profile Adapter, Base-T
-
-pci:v00008086d00001528sv00001137sd000000BF*
- ID_PRODUCT_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2
-
-pci:v00008086d00001528sv00008086sd00000001*
- ID_PRODUCT_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2
-
-pci:v00008086d00001528sv00008086sd00000002*
- ID_PRODUCT_FROM_DATABASE=Ethernet Converged Network Adapter X540-T1
-
-pci:v00008086d00001528sv00008086sd0000001A*
- ID_PRODUCT_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2
-
-pci:v00008086d00001528sv00008086sd000000A2*
- ID_PRODUCT_FROM_DATABASE=Ethernet Converged Network Adapter X540-T1
-
-pci:v00008086d00001528sv00008086sd00001F61*
- ID_PRODUCT_FROM_DATABASE=Ethernet 10G 4P X540/I350 rNDC
-
-pci:v00008086d00001528sv00008086sd00005003*
- ID_PRODUCT_FROM_DATABASE=Ethernet 10G 2P X540-t Adapter
-
-pci:v00008086d00001529*
- ID_PRODUCT_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection with FCoE
-
-pci:v00008086d0000152A*
- ID_PRODUCT_FROM_DATABASE=82599 10 Gigabit Dual port Network Connection with FCoE
-
-pci:v00008086d00001533*
- ID_PRODUCT_FROM_DATABASE=I210 Gigabit Network Connection
-
-pci:v00008086d00001533sv0000103Csd00000003*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I210-T1
-
-pci:v00008086d00001533sv00008086sd00000001*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I210-T1
-
-pci:v00008086d00001533sv00008086sd00000002*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter I210-T1
-
-pci:v00008086d00001534*
- ID_PRODUCT_FROM_DATABASE=I210 Gigabit Network Connection
-
-pci:v00008086d00001536*
- ID_PRODUCT_FROM_DATABASE=I210 Gigabit Fiber Network Connection
-
-pci:v00008086d00001537*
- ID_PRODUCT_FROM_DATABASE=I210 Gigabit Backplane Connection
-
-pci:v00008086d00001538*
- ID_PRODUCT_FROM_DATABASE=I210 Gigabit Network Connection
-
-pci:v00008086d00001539*
- ID_PRODUCT_FROM_DATABASE=I211 Gigabit Network Connection
-
-pci:v00008086d0000153A*
- ID_PRODUCT_FROM_DATABASE=Ethernet Connection I217-LM
-
-pci:v00008086d0000153B*
- ID_PRODUCT_FROM_DATABASE=Ethernet Connection I217-V
-
-pci:v00008086d00001547*
- ID_PRODUCT_FROM_DATABASE=DSL3510 Thunderbolt Port [Cactus Ridge]
-
-pci:v00008086d00001549*
- ID_PRODUCT_FROM_DATABASE=DSL3510 Thunderbolt Controller [Cactus Ridge]
-
-pci:v00008086d0000154A*
- ID_PRODUCT_FROM_DATABASE=Ethernet Server Adapter X520-4
-
-pci:v00008086d0000154Asv00008086sd0000011A*
- ID_PRODUCT_FROM_DATABASE=Ethernet Converged Network Adapter X520-4
-
-pci:v00008086d0000154Asv00008086sd0000011B*
- ID_PRODUCT_FROM_DATABASE=Ethernet Converged Network Adapter X520-4
-
-pci:v00008086d0000154Asv00008086sd0000011C*
- ID_PRODUCT_FROM_DATABASE=Ethernet Converged Network Adapter X520-4
-
-pci:v00008086d0000154D*
- ID_PRODUCT_FROM_DATABASE=82599EB 10-Gigabit SFP+ Network Connection
-
-pci:v00008086d0000154Dsv00008086sd00007B11*
- ID_PRODUCT_FROM_DATABASE=10GbE 2P X520 Adapter
-
-pci:v00008086d00001557*
- ID_PRODUCT_FROM_DATABASE=82599 10 Gigabit Network Connection
-
-pci:v00008086d00001559*
- ID_PRODUCT_FROM_DATABASE=Ethernet Connection I218-V
-
-pci:v00008086d0000155A*
- ID_PRODUCT_FROM_DATABASE=Ethernet Connection I218-LM
-
-pci:v00008086d00001560*
- ID_PRODUCT_FROM_DATABASE=Ethernet Controller X540-AT1
-
-pci:v00008086d00001960*
- ID_PRODUCT_FROM_DATABASE=80960RP (i960RP) Microprocessor
-
-pci:v00008086d00001960sv0000101Esd00000431*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 431 RAID Controller
-
-pci:v00008086d00001960sv0000101Esd00000438*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 438 Ultra2 LVD RAID Controller
-
-pci:v00008086d00001960sv0000101Esd00000466*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 466 Express Plus RAID Controller
-
-pci:v00008086d00001960sv0000101Esd00000467*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 467 Enterprise 1500 RAID Controller
-
-pci:v00008086d00001960sv0000101Esd00000490*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 490 Express 300 RAID Controller
-
-pci:v00008086d00001960sv0000101Esd00000762*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 762 Express RAID Controller
-
-pci:v00008086d00001960sv0000101Esd000009A0*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC
-
-pci:v00008086d00001960sv00001028sd00000467*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/DC
-
-pci:v00008086d00001960sv00001028sd00001111*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC
-
-pci:v00008086d00001960sv0000103Csd000003A2*
- ID_PRODUCT_FROM_DATABASE=MegaRAID
-
-pci:v00008086d00001960sv0000103Csd000010C6*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 438, NetRAID-3Si
-
-pci:v00008086d00001960sv0000103Csd000010C7*
- ID_PRODUCT_FROM_DATABASE=MegaRAID T5, Integrated NetRAID
-
-pci:v00008086d00001960sv0000103Csd000010CC*
- ID_PRODUCT_FROM_DATABASE=MegaRAID, Integrated NetRAID
-
-pci:v00008086d00001960sv0000103Csd000010CD*
- ID_PRODUCT_FROM_DATABASE=NetRAID-1Si
-
-pci:v00008086d00001960sv0000105Asd00000000*
- ID_PRODUCT_FROM_DATABASE=SuperTrak
-
-pci:v00008086d00001960sv0000105Asd00002168*
- ID_PRODUCT_FROM_DATABASE=SuperTrak Pro
-
-pci:v00008086d00001960sv0000105Asd00005168*
- ID_PRODUCT_FROM_DATABASE=SuperTrak66/100
-
-pci:v00008086d00001960sv00001111sd00001111*
- ID_PRODUCT_FROM_DATABASE=MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC
-
-pci:v00008086d00001960sv00001111sd00001112*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC
-
-pci:v00008086d00001960sv0000113Csd000003A2*
- ID_PRODUCT_FROM_DATABASE=MegaRAID
-
-pci:v00008086d00001960sv0000E4BFsd00001010*
- ID_PRODUCT_FROM_DATABASE=CG1-RADIO
-
-pci:v00008086d00001960sv0000E4BFsd00001020*
- ID_PRODUCT_FROM_DATABASE=CU2-QUARTET
-
-pci:v00008086d00001960sv0000E4BFsd00001040*
- ID_PRODUCT_FROM_DATABASE=CU1-CHORUS
-
-pci:v00008086d00001960sv0000E4BFsd00003100*
- ID_PRODUCT_FROM_DATABASE=CX1-BAND
-
-pci:v00008086d00001962*
- ID_PRODUCT_FROM_DATABASE=80960RM (i960RM) Microprocessor
-
-pci:v00008086d00001962sv0000105Asd00000000*
- ID_PRODUCT_FROM_DATABASE=SuperTrak SX6000 I2O CPU
-
-pci:v00008086d00001A21*
- ID_PRODUCT_FROM_DATABASE=82840 840 [Carmel] Chipset Host Bridge (Hub A)
-
-pci:v00008086d00001A23*
- ID_PRODUCT_FROM_DATABASE=82840 840 [Carmel] Chipset AGP Bridge
-
-pci:v00008086d00001A24*
- ID_PRODUCT_FROM_DATABASE=82840 840 [Carmel] Chipset PCI Bridge (Hub B)
-
-pci:v00008086d00001A30*
- ID_PRODUCT_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge
-
-pci:v00008086d00001A30sv00001028sd0000010E*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX240
-
-pci:v00008086d00001A30sv000015D9sd00003280*
- ID_PRODUCT_FROM_DATABASE=Supermicro P4SBE Mainboard
-
-pci:v00008086d00001A31*
- ID_PRODUCT_FROM_DATABASE=82845 845 [Brookdale] Chipset AGP Bridge
-
-pci:v00008086d00001A38*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset DMA Engine
-
-pci:v00008086d00001A38sv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d00001A38sv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d00001A48*
- ID_PRODUCT_FROM_DATABASE=82597EX 10GbE Ethernet Controller
-
-pci:v00008086d00001A48sv00008086sd0000A01F*
- ID_PRODUCT_FROM_DATABASE=PRO/10GbE SR Server Adapter
-
-pci:v00008086d00001A48sv00008086sd0000A11F*
- ID_PRODUCT_FROM_DATABASE=PRO/10GbE SR Server Adapter
-
-pci:v00008086d00001B48*
- ID_PRODUCT_FROM_DATABASE=82597EX 10GbE Ethernet Controller
-
-pci:v00008086d00001B48sv00008086sd0000A01F*
- ID_PRODUCT_FROM_DATABASE=PRO/10GbE LR Server Adapter
-
-pci:v00008086d00001B48sv00008086sd0000A11F*
- ID_PRODUCT_FROM_DATABASE=PRO/10GbE LR Server Adapter
-
-pci:v00008086d00001C00*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family 4 port SATA IDE Controller
-
-pci:v00008086d00001C01*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family 4 port SATA IDE Controller
-
-pci:v00008086d00001C02*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller
-
-pci:v00008086d00001C02sv00001028sd000004AA*
- ID_PRODUCT_FROM_DATABASE=XPS 8300
-
-pci:v00008086d00001C02sv00001043sd0000844D*
- ID_PRODUCT_FROM_DATABASE=P8P67 Deluxe Motherboard
-
-pci:v00008086d00001C03*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller
-
-pci:v00008086d00001C03sv00001028sd000004B2*
- ID_PRODUCT_FROM_DATABASE=Vostro 3350
-
-pci:v00008086d00001C03sv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00008086d00001C03sv00008086sd00007270*
- ID_PRODUCT_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00001C04*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA RAID Controller
-
-pci:v00008086d00001C05*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA RAID Controller
-
-pci:v00008086d00001C08*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family 2 port SATA IDE Controller
-
-pci:v00008086d00001C09*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family 2 port SATA IDE Controller
-
-pci:v00008086d00001C10*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1
-
-pci:v00008086d00001C10sv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00008086d00001C10sv00008086sd00007270*
- ID_PRODUCT_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00001C12*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2
-
-pci:v00008086d00001C12sv00008086sd00007270*
- ID_PRODUCT_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00001C14*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3
-
-pci:v00008086d00001C14sv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00008086d00001C14sv00008086sd00007270*
- ID_PRODUCT_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00001C16*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 4
-
-pci:v00008086d00001C18*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5
-
-pci:v00008086d00001C18sv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00008086d00001C1A*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6
-
-pci:v00008086d00001C1Asv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00008086d00001C1C*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 7
-
-pci:v00008086d00001C1E*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8
-
-pci:v00008086d00001C20*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller
-
-pci:v00008086d00001C20sv00001028sd00000490*
- ID_PRODUCT_FROM_DATABASE=Alienware M17x R3
-
-pci:v00008086d00001C20sv00001028sd000004AA*
- ID_PRODUCT_FROM_DATABASE=XPS 8300
-
-pci:v00008086d00001C20sv00001028sd000004B2*
- ID_PRODUCT_FROM_DATABASE=Vostro 3350
-
-pci:v00008086d00001C20sv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00008086d00001C20sv00001043sd00008418*
- ID_PRODUCT_FROM_DATABASE=P8P67 Deluxe Motherboard
-
-pci:v00008086d00001C20sv00008086sd00002008*
- ID_PRODUCT_FROM_DATABASE=DQ67SW board
-
-pci:v00008086d00001C20sv00008086sd00007270*
- ID_PRODUCT_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00001C22*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller
-
-pci:v00008086d00001C22sv00001028sd000004AA*
- ID_PRODUCT_FROM_DATABASE=XPS 8300
-
-pci:v00008086d00001C22sv00001028sd000004B2*
- ID_PRODUCT_FROM_DATABASE=Vostro 3350
-
-pci:v00008086d00001C22sv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00008086d00001C22sv00001043sd0000844D*
- ID_PRODUCT_FROM_DATABASE=P8P67 Deluxe Motherboard
-
-pci:v00008086d00001C22sv00008086sd00007270*
- ID_PRODUCT_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00001C24*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family Thermal Management Controller
-
-pci:v00008086d00001C25*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family DMI to PCI Bridge
-
-pci:v00008086d00001C26*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1
-
-pci:v00008086d00001C26sv00001028sd000004AA*
- ID_PRODUCT_FROM_DATABASE=XPS 8300
-
-pci:v00008086d00001C26sv00001028sd000004B2*
- ID_PRODUCT_FROM_DATABASE=Vostro 3350
-
-pci:v00008086d00001C26sv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00008086d00001C26sv00001043sd0000844D*
- ID_PRODUCT_FROM_DATABASE=P8P67 Deluxe Motherboard
-
-pci:v00008086d00001C26sv00008086sd00007270*
- ID_PRODUCT_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00001C27*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1
-
-pci:v00008086d00001C27sv00008086sd00007270*
- ID_PRODUCT_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00001C2C*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #5
-
-pci:v00008086d00001C2Csv00008086sd00007270*
- ID_PRODUCT_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00001C2D*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2
-
-pci:v00008086d00001C2Dsv00001028sd000004AA*
- ID_PRODUCT_FROM_DATABASE=XPS 8300
-
-pci:v00008086d00001C2Dsv00001028sd000004B2*
- ID_PRODUCT_FROM_DATABASE=Vostro 3350
-
-pci:v00008086d00001C2Dsv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00008086d00001C2Dsv00001043sd0000844D*
- ID_PRODUCT_FROM_DATABASE=P8P67 Deluxe Motherboard
-
-pci:v00008086d00001C2Dsv00008086sd00007270*
- ID_PRODUCT_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00001C33*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family LAN Controller
-
-pci:v00008086d00001C35*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family VECI Controller
-
-pci:v00008086d00001C3A*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1
-
-pci:v00008086d00001C3Asv00001028sd000004AA*
- ID_PRODUCT_FROM_DATABASE=XPS 8300
-
-pci:v00008086d00001C3Asv00001028sd000004B2*
- ID_PRODUCT_FROM_DATABASE=Vostro 3350
-
-pci:v00008086d00001C3Asv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00008086d00001C3Asv00001043sd0000844D*
- ID_PRODUCT_FROM_DATABASE=P8P67 Deluxe Motherboard
-
-pci:v00008086d00001C3Asv00008086sd00007270*
- ID_PRODUCT_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00001C3B*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #2
-
-pci:v00008086d00001C3C*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family IDE-r Controller
-
-pci:v00008086d00001C3D*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family KT Controller
-
-pci:v00008086d00001C40*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
-
-pci:v00008086d00001C41*
- ID_PRODUCT_FROM_DATABASE=Mobile SFF 6 Series Chipset Family LPC Controller
-
-pci:v00008086d00001C42*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
-
-pci:v00008086d00001C43*
- ID_PRODUCT_FROM_DATABASE=Mobile 6 Series Chipset Family LPC Controller
-
-pci:v00008086d00001C44*
- ID_PRODUCT_FROM_DATABASE=Z68 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C45*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
-
-pci:v00008086d00001C46*
- ID_PRODUCT_FROM_DATABASE=P67 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C46sv00001043sd0000844D*
- ID_PRODUCT_FROM_DATABASE=P8P67 Deluxe Motherboard
-
-pci:v00008086d00001C47*
- ID_PRODUCT_FROM_DATABASE=UM67 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C48*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
-
-pci:v00008086d00001C49*
- ID_PRODUCT_FROM_DATABASE=HM65 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C49sv00008086sd00007270*
- ID_PRODUCT_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011]
-
-pci:v00008086d00001C4A*
- ID_PRODUCT_FROM_DATABASE=H67 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C4Asv00001028sd000004AA*
- ID_PRODUCT_FROM_DATABASE=XPS 8300
-
-pci:v00008086d00001C4B*
- ID_PRODUCT_FROM_DATABASE=HM67 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C4Bsv00001028sd000004B2*
- ID_PRODUCT_FROM_DATABASE=Vostro 3350
-
-pci:v00008086d00001C4Bsv00001028sd000004DA*
- ID_PRODUCT_FROM_DATABASE=Vostro 3750
-
-pci:v00008086d00001C4C*
- ID_PRODUCT_FROM_DATABASE=Q65 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C4D*
- ID_PRODUCT_FROM_DATABASE=QS67 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C4E*
- ID_PRODUCT_FROM_DATABASE=Q67 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C4F*
- ID_PRODUCT_FROM_DATABASE=QM67 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C50*
- ID_PRODUCT_FROM_DATABASE=B65 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C51*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
-
-pci:v00008086d00001C52*
- ID_PRODUCT_FROM_DATABASE=C202 Chipset Family LPC Controller
-
-pci:v00008086d00001C53*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
-
-pci:v00008086d00001C54*
- ID_PRODUCT_FROM_DATABASE=C204 Chipset Family LPC Controller
-
-pci:v00008086d00001C55*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
-
-pci:v00008086d00001C56*
- ID_PRODUCT_FROM_DATABASE=C206 Chipset Family LPC Controller
-
-pci:v00008086d00001C57*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
-
-pci:v00008086d00001C58*
- ID_PRODUCT_FROM_DATABASE=Upgraded B65 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C59*
- ID_PRODUCT_FROM_DATABASE=Upgraded HM67 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C5A*
- ID_PRODUCT_FROM_DATABASE=Upgraded Q67 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C5B*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
-
-pci:v00008086d00001C5C*
- ID_PRODUCT_FROM_DATABASE=H61 Express Chipset Family LPC Controller
-
-pci:v00008086d00001C5D*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
-
-pci:v00008086d00001C5E*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
-
-pci:v00008086d00001C5F*
- ID_PRODUCT_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller
-
-pci:v00008086d00001D00*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset 4-Port SATA IDE Controller
-
-pci:v00008086d00001D02*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset 6-Port SATA AHCI Controller
-
-pci:v00008086d00001D04*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller
-
-pci:v00008086d00001D06*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset SATA Premium RAID Controller
-
-pci:v00008086d00001D08*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset 2-Port SATA IDE Controller
-
-pci:v00008086d00001D10*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 1
-
-pci:v00008086d00001D11*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 1
-
-pci:v00008086d00001D12*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 2
-
-pci:v00008086d00001D13*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 2
-
-pci:v00008086d00001D14*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 3
-
-pci:v00008086d00001D15*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 3
-
-pci:v00008086d00001D16*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 4
-
-pci:v00008086d00001D17*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 4
-
-pci:v00008086d00001D18*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 5
-
-pci:v00008086d00001D19*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 5
-
-pci:v00008086d00001D1A*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 6
-
-pci:v00008086d00001D1B*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 6
-
-pci:v00008086d00001D1C*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 7
-
-pci:v00008086d00001D1D*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 7
-
-pci:v00008086d00001D1E*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 8
-
-pci:v00008086d00001D1F*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Root Port 8
-
-pci:v00008086d00001D20*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset High Definition Audio Controller
-
-pci:v00008086d00001D22*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset SMBus Host Controller
-
-pci:v00008086d00001D24*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset Thermal Management Controller
-
-pci:v00008086d00001D25*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset DMI to PCI Bridge
-
-pci:v00008086d00001D26*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset USB2 Enhanced Host Controller #1
-
-pci:v00008086d00001D2D*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset USB2 Enhanced Host Controller #2
-
-pci:v00008086d00001D33*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset LAN Controller
-
-pci:v00008086d00001D35*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset VECI Controller
-
-pci:v00008086d00001D3A*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset MEI Controller #1
-
-pci:v00008086d00001D3B*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset MEI Controller #2
-
-pci:v00008086d00001D3C*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset IDE-r Controller
-
-pci:v00008086d00001D3D*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset KT Controller
-
-pci:v00008086d00001D3E*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset PCI Express Virtual Root Port
-
-pci:v00008086d00001D3F*
- ID_PRODUCT_FROM_DATABASE=C608/C606/X79 series chipset PCI Express Virtual Switch Port
-
-pci:v00008086d00001D40*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset LPC Controller
-
-pci:v00008086d00001D41*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset LPC Controller
-
-pci:v00008086d00001D50*
- ID_PRODUCT_FROM_DATABASE=C608 chipset Dual 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D54*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D55*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D58*
- ID_PRODUCT_FROM_DATABASE=C606 chipset Dual 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D59*
- ID_PRODUCT_FROM_DATABASE=C604/X79 series chipset 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D5A*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA Storage Control Unit
-
-pci:v00008086d00001D5B*
- ID_PRODUCT_FROM_DATABASE=C602 chipset 4-Port SATA Storage Control Unit
-
-pci:v00008086d00001D5C*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D5D*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D5E*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA Storage Control Unit
-
-pci:v00008086d00001D5F*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset 4-Port SATA Storage Control Unit
-
-pci:v00008086d00001D60*
- ID_PRODUCT_FROM_DATABASE=C608 chipset Dual 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D64*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D65*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D68*
- ID_PRODUCT_FROM_DATABASE=C606 chipset Dual 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D69*
- ID_PRODUCT_FROM_DATABASE=C604/X79 series chipset 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D6A*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA Storage Control Unit
-
-pci:v00008086d00001D6B*
- ID_PRODUCT_FROM_DATABASE=C602 chipset 4-Port SATA Storage Control Unit
-
-pci:v00008086d00001D6C*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D6D*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset 4-Port SATA/SAS Storage Control Unit
-
-pci:v00008086d00001D6E*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset Dual 4-Port SATA Storage Control Unit
-
-pci:v00008086d00001D6F*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset 4-Port SATA Storage Control Unit
-
-pci:v00008086d00001D70*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset SMBus Controller 0
-
-pci:v00008086d00001D71*
- ID_PRODUCT_FROM_DATABASE=C608/C606/X79 series chipset SMBus Controller 1
-
-pci:v00008086d00001D72*
- ID_PRODUCT_FROM_DATABASE=C608 chipset SMBus Controller 2
-
-pci:v00008086d00001D74*
- ID_PRODUCT_FROM_DATABASE=C608/C606/X79 series chipset PCI Express Upstream Port
-
-pci:v00008086d00001D76*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset Multi-Function Glue
-
-pci:v00008086d00001E00*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family 4-port SATA Controller [IDE mode]
-
-pci:v00008086d00001E01*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family 4-port SATA Controller [IDE mode]
-
-pci:v00008086d00001E02*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode]
-
-pci:v00008086d00001E03*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode]
-
-pci:v00008086d00001E03sv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d00001E03sv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00001E04*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family SATA Controller [RAID mode]
-
-pci:v00008086d00001E05*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset SATA Controller [RAID mode]
-
-pci:v00008086d00001E06*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family SATA Controller [RAID mode]
-
-pci:v00008086d00001E07*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family SATA Controller [RAID mode]
-
-pci:v00008086d00001E08*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family 2-port SATA Controller [IDE mode]
-
-pci:v00008086d00001E09*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family 2-port SATA Controller [IDE mode]
-
-pci:v00008086d00001E0E*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family SATA Controller [RAID mode]
-
-pci:v00008086d00001E10*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1
-
-pci:v00008086d00001E10sv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d00001E10sv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00001E12*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2
-
-pci:v00008086d00001E12sv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d00001E12sv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00001E14*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 3
-
-pci:v00008086d00001E16*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4
-
-pci:v00008086d00001E16sv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d00001E18*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5
-
-pci:v00008086d00001E1A*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 6
-
-pci:v00008086d00001E1C*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 7
-
-pci:v00008086d00001E1E*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 8
-
-pci:v00008086d00001E20*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller
-
-pci:v00008086d00001E20sv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d00001E20sv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00001E22*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller
-
-pci:v00008086d00001E22sv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d00001E22sv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00001E24*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family Thermal Management Controller
-
-pci:v00008086d00001E24sv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00001E25*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family DMI to PCI Bridge
-
-pci:v00008086d00001E26*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1
-
-pci:v00008086d00001E26sv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d00001E26sv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00001E2D*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2
-
-pci:v00008086d00001E2Dsv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d00001E2Dsv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00001E31*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller
-
-pci:v00008086d00001E31sv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d00001E31sv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00001E33*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family LAN Controller
-
-pci:v00008086d00001E3A*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1
-
-pci:v00008086d00001E3Asv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d00001E3Asv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00001E3B*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #2
-
-pci:v00008086d00001E3C*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family IDE-r Controller
-
-pci:v00008086d00001E3D*
- ID_PRODUCT_FROM_DATABASE=7 Series/C210 Series Chipset Family KT Controller
-
-pci:v00008086d00001E41*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E42*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E43*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E44*
- ID_PRODUCT_FROM_DATABASE=Z77 Express Chipset LPC Controller
-
-pci:v00008086d00001E45*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E46*
- ID_PRODUCT_FROM_DATABASE=Z75 Express Chipset LPC Controller
-
-pci:v00008086d00001E47*
- ID_PRODUCT_FROM_DATABASE=Q77 Express Chipset LPC Controller
-
-pci:v00008086d00001E48*
- ID_PRODUCT_FROM_DATABASE=Q75 Express Chipset LPC Controller
-
-pci:v00008086d00001E49*
- ID_PRODUCT_FROM_DATABASE=B75 Express Chipset LPC Controller
-
-pci:v00008086d00001E4A*
- ID_PRODUCT_FROM_DATABASE=H77 Express Chipset LPC Controller
-
-pci:v00008086d00001E4B*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E4C*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E4D*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E4E*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E4F*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E50*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E51*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E52*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E53*
- ID_PRODUCT_FROM_DATABASE=C216 Series Chipset LPC Controller
-
-pci:v00008086d00001E54*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E55*
- ID_PRODUCT_FROM_DATABASE=QM77 Express Chipset LPC Controller
-
-pci:v00008086d00001E56*
- ID_PRODUCT_FROM_DATABASE=QS77 Express Chipset LPC Controller
-
-pci:v00008086d00001E57*
- ID_PRODUCT_FROM_DATABASE=HM77 Express Chipset LPC Controller
-
-pci:v00008086d00001E58*
- ID_PRODUCT_FROM_DATABASE=UM77 Express Chipset LPC Controller
-
-pci:v00008086d00001E59*
- ID_PRODUCT_FROM_DATABASE=HM76 Express Chipset LPC Controller
-
-pci:v00008086d00001E59sv00001043sd00001477*
- ID_PRODUCT_FROM_DATABASE=N56VZ
-
-pci:v00008086d00001E59sv00001043sd00001517*
- ID_PRODUCT_FROM_DATABASE=Zenbook Prime UX31A
-
-pci:v00008086d00001E5A*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E5B*
- ID_PRODUCT_FROM_DATABASE=UM77 Express Chipset LPC Controller
-
-pci:v00008086d00001E5C*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E5D*
- ID_PRODUCT_FROM_DATABASE=HM75 Express Chipset LPC Controller
-
-pci:v00008086d00001E5E*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00001E5F*
- ID_PRODUCT_FROM_DATABASE=7 Series Chipset Family LPC Controller
-
-pci:v00008086d00002310*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC LPC Controller
-
-pci:v00008086d00002323*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC 4 Port SATA AHCI Controller
-
-pci:v00008086d00002330*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC SMBus Controller
-
-pci:v00008086d00002331*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC Chap Counter
-
-pci:v00008086d00002332*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC Thermal Subsystem
-
-pci:v00008086d00002334*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC USB2 Enhanced Host Controller #1
-
-pci:v00008086d00002335*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC USB2 Enhanced Host Controller #1
-
-pci:v00008086d00002342*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC PCI Express Root Port #1
-
-pci:v00008086d00002343*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC PCI Express Root Port #1
-
-pci:v00008086d00002344*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC PCI Express Root Port #2
-
-pci:v00008086d00002345*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC PCI Express Root Port #2
-
-pci:v00008086d00002346*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC PCI Express Root Port #3
-
-pci:v00008086d00002347*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC PCI Express Root Port #3
-
-pci:v00008086d00002348*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC PCI Express Root Port #4
-
-pci:v00008086d00002349*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC PCI Express Root Port #4
-
-pci:v00008086d00002360*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC Watchdog Timer
-
-pci:v00008086d00002364*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC MEI 0
-
-pci:v00008086d00002365*
- ID_PRODUCT_FROM_DATABASE=DH89xxCC MEI 1
-
-pci:v00008086d00002410*
- ID_PRODUCT_FROM_DATABASE=82801AA ISA Bridge (LPC)
-
-pci:v00008086d00002411*
- ID_PRODUCT_FROM_DATABASE=82801AA IDE Controller
-
-pci:v00008086d00002412*
- ID_PRODUCT_FROM_DATABASE=82801AA USB Controller
-
-pci:v00008086d00002413*
- ID_PRODUCT_FROM_DATABASE=82801AA SMBus Controller
-
-pci:v00008086d00002415*
- ID_PRODUCT_FROM_DATABASE=82801AA AC'97 Audio Controller
-
-pci:v00008086d00002415sv00001028sd00000095*
- ID_PRODUCT_FROM_DATABASE=Precision Workstation 220 Integrated Digital Audio
-
-pci:v00008086d00002415sv00001028sd000000B4*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX110
-
-pci:v00008086d00002415sv0000110Asd00000051*
- ID_PRODUCT_FROM_DATABASE=Activy 2xx
-
-pci:v00008086d00002415sv000011D4sd00000040*
- ID_PRODUCT_FROM_DATABASE=SoundMAX Integrated Digital Audio
-
-pci:v00008086d00002415sv000011D4sd00000048*
- ID_PRODUCT_FROM_DATABASE=SoundMAX Integrated Digital Audio
-
-pci:v00008086d00002415sv000011D4sd00005340*
- ID_PRODUCT_FROM_DATABASE=SoundMAX Integrated Digital Audio
-
-pci:v00008086d00002415sv00001734sd00001025*
- ID_PRODUCT_FROM_DATABASE=Activy 3xx
-
-pci:v00008086d00002416*
- ID_PRODUCT_FROM_DATABASE=82801AA AC'97 Modem Controller
-
-pci:v00008086d00002418*
- ID_PRODUCT_FROM_DATABASE=82801AA PCI Bridge
-
-pci:v00008086d00002420*
- ID_PRODUCT_FROM_DATABASE=82801AB ISA Bridge (LPC)
-
-pci:v00008086d00002421*
- ID_PRODUCT_FROM_DATABASE=82801AB IDE Controller
-
-pci:v00008086d00002422*
- ID_PRODUCT_FROM_DATABASE=82801AB USB Controller
-
-pci:v00008086d00002423*
- ID_PRODUCT_FROM_DATABASE=82801AB SMBus Controller
-
-pci:v00008086d00002425*
- ID_PRODUCT_FROM_DATABASE=82801AB AC'97 Audio Controller
-
-pci:v00008086d00002425sv000011D4sd00000040*
- ID_PRODUCT_FROM_DATABASE=SoundMAX Integrated Digital Audio
-
-pci:v00008086d00002425sv000011D4sd00000048*
- ID_PRODUCT_FROM_DATABASE=SoundMAX Integrated Digital Audio
-
-pci:v00008086d00002426*
- ID_PRODUCT_FROM_DATABASE=82801AB AC'97 Modem Controller
-
-pci:v00008086d00002428*
- ID_PRODUCT_FROM_DATABASE=82801AB PCI Bridge
-
-pci:v00008086d00002440*
- ID_PRODUCT_FROM_DATABASE=82801BA ISA Bridge (LPC)
-
-pci:v00008086d00002440sv00008086sd00005744*
- ID_PRODUCT_FROM_DATABASE=S845WD1-E
-
-pci:v00008086d00002442*
- ID_PRODUCT_FROM_DATABASE=82801BA/BAM USB Controller #1
-
-pci:v00008086d00002442sv00001014sd000001C6*
- ID_PRODUCT_FROM_DATABASE=Netvista A40/A40p
-
-pci:v00008086d00002442sv00001025sd00001016*
- ID_PRODUCT_FROM_DATABASE=Travelmate 612 TX
-
-pci:v00008086d00002442sv00001028sd000000C7*
- ID_PRODUCT_FROM_DATABASE=Dimension 8100
-
-pci:v00008086d00002442sv00001028sd000000D8*
- ID_PRODUCT_FROM_DATABASE=Precision 530
-
-pci:v00008086d00002442sv00001028sd0000010E*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX240
-
-pci:v00008086d00002442sv0000103Csd0000126F*
- ID_PRODUCT_FROM_DATABASE=e-pc 40
-
-pci:v00008086d00002442sv00001043sd00008027*
- ID_PRODUCT_FROM_DATABASE=TUSL2-C Mainboard
-
-pci:v00008086d00002442sv0000104Dsd000080DF*
- ID_PRODUCT_FROM_DATABASE=Vaio PCG-FX403
-
-pci:v00008086d00002442sv0000147Bsd00000507*
- ID_PRODUCT_FROM_DATABASE=TH7II-RAID
-
-pci:v00008086d00002442sv00008086sd00004532*
- ID_PRODUCT_FROM_DATABASE=D815EEA2 mainboard
-
-pci:v00008086d00002442sv00008086sd00004557*
- ID_PRODUCT_FROM_DATABASE=D815EGEW Mainboard
-
-pci:v00008086d00002442sv00008086sd00005744*
- ID_PRODUCT_FROM_DATABASE=S845WD1-E mainboard
-
-pci:v00008086d00002443*
- ID_PRODUCT_FROM_DATABASE=82801BA/BAM SMBus Controller
-
-pci:v00008086d00002443sv00001014sd000001C6*
- ID_PRODUCT_FROM_DATABASE=Netvista A40/A40p
-
-pci:v00008086d00002443sv00001025sd00001016*
- ID_PRODUCT_FROM_DATABASE=Travelmate 612 TX
-
-pci:v00008086d00002443sv00001028sd000000C7*
- ID_PRODUCT_FROM_DATABASE=Dimension 8100
-
-pci:v00008086d00002443sv00001028sd000000D8*
- ID_PRODUCT_FROM_DATABASE=Precision 530
-
-pci:v00008086d00002443sv00001028sd0000010E*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX240
-
-pci:v00008086d00002443sv0000103Csd0000126F*
- ID_PRODUCT_FROM_DATABASE=e-pc 40
-
-pci:v00008086d00002443sv00001043sd00008027*
- ID_PRODUCT_FROM_DATABASE=TUSL2-C Mainboard
-
-pci:v00008086d00002443sv0000104Dsd000080DF*
- ID_PRODUCT_FROM_DATABASE=Vaio PCG-FX403
-
-pci:v00008086d00002443sv0000147Bsd00000507*
- ID_PRODUCT_FROM_DATABASE=TH7II-RAID
-
-pci:v00008086d00002443sv000015D9sd00003280*
- ID_PRODUCT_FROM_DATABASE=Supermicro P4SBE Mainboard
-
-pci:v00008086d00002443sv00008086sd00004532*
- ID_PRODUCT_FROM_DATABASE=D815EEA2 mainboard
-
-pci:v00008086d00002443sv00008086sd00004557*
- ID_PRODUCT_FROM_DATABASE=D815EGEW Mainboard
-
-pci:v00008086d00002443sv00008086sd00005744*
- ID_PRODUCT_FROM_DATABASE=S845WD1-E mainboard
-
-pci:v00008086d00002444*
- ID_PRODUCT_FROM_DATABASE=82801BA/BAM USB Controller #1
-
-pci:v00008086d00002444sv00001025sd00001016*
- ID_PRODUCT_FROM_DATABASE=Travelmate 612 TX
-
-pci:v00008086d00002444sv00001028sd000000C7*
- ID_PRODUCT_FROM_DATABASE=Dimension 8100
-
-pci:v00008086d00002444sv00001028sd000000D8*
- ID_PRODUCT_FROM_DATABASE=Precision 530
-
-pci:v00008086d00002444sv00001028sd0000010E*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX240
-
-pci:v00008086d00002444sv0000103Csd0000126F*
- ID_PRODUCT_FROM_DATABASE=e-pc 40
-
-pci:v00008086d00002444sv00001043sd00008027*
- ID_PRODUCT_FROM_DATABASE=TUSL2-C Mainboard
-
-pci:v00008086d00002444sv0000104Dsd000080DF*
- ID_PRODUCT_FROM_DATABASE=Vaio PCG-FX403
-
-pci:v00008086d00002444sv0000147Bsd00000507*
- ID_PRODUCT_FROM_DATABASE=TH7II-RAID
-
-pci:v00008086d00002444sv00008086sd00004532*
- ID_PRODUCT_FROM_DATABASE=D815EEA2 mainboard
-
-pci:v00008086d00002444sv00008086sd00005744*
- ID_PRODUCT_FROM_DATABASE=S845WD1-E mainboard
-
-pci:v00008086d00002445*
- ID_PRODUCT_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller
-
-pci:v00008086d00002445sv00000E11sd0000000B*
- ID_PRODUCT_FROM_DATABASE=Compaq Deskpro EN Audio
-
-pci:v00008086d00002445sv00000E11sd00000088*
- ID_PRODUCT_FROM_DATABASE=Evo D500
-
-pci:v00008086d00002445sv00001014sd000001C6*
- ID_PRODUCT_FROM_DATABASE=Netvista A40/A40p
-
-pci:v00008086d00002445sv00001025sd00001016*
- ID_PRODUCT_FROM_DATABASE=Travelmate 612 TX
-
-pci:v00008086d00002445sv00001028sd000000D8*
- ID_PRODUCT_FROM_DATABASE=Precision 530
-
-pci:v00008086d00002445sv0000103Csd0000126F*
- ID_PRODUCT_FROM_DATABASE=e-pc 40
-
-pci:v00008086d00002445sv0000104Dsd000080DF*
- ID_PRODUCT_FROM_DATABASE=Vaio PCG-FX403
-
-pci:v00008086d00002445sv00001462sd00003370*
- ID_PRODUCT_FROM_DATABASE=STAC9721 AC
-
-pci:v00008086d00002445sv0000147Bsd00000507*
- ID_PRODUCT_FROM_DATABASE=TH7II-RAID
-
-pci:v00008086d00002445sv00008086sd00004557*
- ID_PRODUCT_FROM_DATABASE=D815EGEW Mainboard
-
-pci:v00008086d00002446*
- ID_PRODUCT_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller
-
-pci:v00008086d00002446sv00001025sd00001016*
- ID_PRODUCT_FROM_DATABASE=Travelmate 612 TX
-
-pci:v00008086d00002446sv0000104Dsd000080DF*
- ID_PRODUCT_FROM_DATABASE=Vaio PCG-FX403
-
-pci:v00008086d00002448*
- ID_PRODUCT_FROM_DATABASE=82801 Mobile PCI Bridge
-
-pci:v00008086d00002448sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d00002448sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation
-
-pci:v00008086d00002448sv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d00002448sv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d00002448sv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d00002448sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002448sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002448sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30 notebook
-
-pci:v00008086d00002448sv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d00002448sv00001734sd00001055*
- ID_PRODUCT_FROM_DATABASE=Amilo M1420
-
-pci:v00008086d00002448sv000017AAsd000020AE*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002448sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002449*
- ID_PRODUCT_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller
-
-pci:v00008086d00002449sv00000E11sd00000012*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VM
-
-pci:v00008086d00002449sv00000E11sd00000091*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00001014sd000001CE*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00001014sd000001DC*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00001014sd000001EB*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00001014sd000001EC*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00001014sd00000202*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00001014sd00000205*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00001014sd00000217*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00001014sd00000234*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00001014sd0000023D*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00001014sd00000244*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00001014sd00000245*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00001014sd00000265*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VE Desktop Connection
-
-pci:v00008086d00002449sv00001014sd00000267*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VE Desktop Connection
-
-pci:v00008086d00002449sv00001014sd0000026A*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VE Desktop Connection
-
-pci:v00008086d00002449sv0000109Fsd0000315D*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv0000109Fsd00003181*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00001179sd0000FF01*
- ID_PRODUCT_FROM_DATABASE=PRO/100 VE Network Connection
-
-pci:v00008086d00002449sv00001186sd00007801*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv0000144Dsd00002602*
- ID_PRODUCT_FROM_DATABASE=HomePNA 1M CNR
-
-pci:v00008086d00002449sv00008086sd00003010*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00008086sd00003011*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VM
-
-pci:v00008086d00002449sv00008086sd00003012*
- ID_PRODUCT_FROM_DATABASE=82562EH based Phoneline
-
-pci:v00008086d00002449sv00008086sd00003013*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VE
-
-pci:v00008086d00002449sv00008086sd00003014*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 VM
-
-pci:v00008086d00002449sv00008086sd00003015*
- ID_PRODUCT_FROM_DATABASE=82562EH based Phoneline
-
-pci:v00008086d00002449sv00008086sd00003016*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo
-
-pci:v00008086d00002449sv00008086sd00003017*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 P Mobile
-
-pci:v00008086d00002449sv00008086sd00003018*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100
-
-pci:v00008086d0000244A*
- ID_PRODUCT_FROM_DATABASE=82801BAM IDE U100 Controller
-
-pci:v00008086d0000244Asv00001025sd00001016*
- ID_PRODUCT_FROM_DATABASE=Travelmate 612TX
-
-pci:v00008086d0000244Asv0000104Dsd000080DF*
- ID_PRODUCT_FROM_DATABASE=Vaio PCG-FX403
-
-pci:v00008086d0000244B*
- ID_PRODUCT_FROM_DATABASE=82801BA IDE U100 Controller
-
-pci:v00008086d0000244Bsv00001014sd000001C6*
- ID_PRODUCT_FROM_DATABASE=Netvista A40/A40p
-
-pci:v00008086d0000244Bsv00001028sd000000C7*
- ID_PRODUCT_FROM_DATABASE=Dimension 8100
-
-pci:v00008086d0000244Bsv00001028sd000000D8*
- ID_PRODUCT_FROM_DATABASE=Precision 530
-
-pci:v00008086d0000244Bsv00001028sd0000010E*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX240
-
-pci:v00008086d0000244Bsv0000103Csd0000126F*
- ID_PRODUCT_FROM_DATABASE=e-pc 40
-
-pci:v00008086d0000244Bsv00001043sd00008027*
- ID_PRODUCT_FROM_DATABASE=TUSL2-C Mainboard
-
-pci:v00008086d0000244Bsv0000147Bsd00000507*
- ID_PRODUCT_FROM_DATABASE=TH7II-RAID
-
-pci:v00008086d0000244Bsv000015D9sd00003280*
- ID_PRODUCT_FROM_DATABASE=Supermicro P4SBE Mainboard
-
-pci:v00008086d0000244Bsv00008086sd00004532*
- ID_PRODUCT_FROM_DATABASE=D815EEA2 mainboard
-
-pci:v00008086d0000244Bsv00008086sd00004557*
- ID_PRODUCT_FROM_DATABASE=D815EGEW Mainboard
-
-pci:v00008086d0000244Bsv00008086sd00005744*
- ID_PRODUCT_FROM_DATABASE=S845WD1-E mainboard
-
-pci:v00008086d0000244C*
- ID_PRODUCT_FROM_DATABASE=82801BAM ISA Bridge (LPC)
-
-pci:v00008086d0000244E*
- ID_PRODUCT_FROM_DATABASE=82801 PCI Bridge
-
-pci:v00008086d0000244Esv00001014sd00000267*
- ID_PRODUCT_FROM_DATABASE=NetVista A30p
-
-pci:v00008086d0000244Esv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d0000244Esv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d0000244Esv00001028sd000002DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 980
-
-pci:v00008086d0000244Esv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d0000244Esv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d0000244Esv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant ML150 G6 Server
-
-pci:v00008086d0000244Esv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5 Motherboard
-
-pci:v00008086d0000244Esv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d00002450*
- ID_PRODUCT_FROM_DATABASE=82801E ISA Bridge (LPC)
-
-pci:v00008086d00002452*
- ID_PRODUCT_FROM_DATABASE=82801E USB Controller
-
-pci:v00008086d00002453*
- ID_PRODUCT_FROM_DATABASE=82801E SMBus Controller
-
-pci:v00008086d00002459*
- ID_PRODUCT_FROM_DATABASE=82801E Ethernet Controller 0
-
-pci:v00008086d0000245B*
- ID_PRODUCT_FROM_DATABASE=82801E IDE U100 Controller
-
-pci:v00008086d0000245D*
- ID_PRODUCT_FROM_DATABASE=82801E Ethernet Controller 1
-
-pci:v00008086d0000245E*
- ID_PRODUCT_FROM_DATABASE=82801E PCI Bridge
-
-pci:v00008086d00002480*
- ID_PRODUCT_FROM_DATABASE=82801CA LPC Interface Controller
-
-pci:v00008086d00002482*
- ID_PRODUCT_FROM_DATABASE=82801CA/CAM USB Controller #1
-
-pci:v00008086d00002482sv00000E11sd00000030*
- ID_PRODUCT_FROM_DATABASE=Evo N600c
-
-pci:v00008086d00002482sv00001014sd00000220*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A/T/X Series
-
-pci:v00008086d00002482sv0000104Dsd000080E7*
- ID_PRODUCT_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
-
-pci:v00008086d00002482sv000015D9sd00003480*
- ID_PRODUCT_FROM_DATABASE=P4DP6
-
-pci:v00008086d00002482sv00008086sd00001958*
- ID_PRODUCT_FROM_DATABASE=vpr Matrix 170B4
-
-pci:v00008086d00002482sv00008086sd00003424*
- ID_PRODUCT_FROM_DATABASE=SE7501HG2 Mainboard
-
-pci:v00008086d00002482sv00008086sd00004541*
- ID_PRODUCT_FROM_DATABASE=Latitude C640
-
-pci:v00008086d00002483*
- ID_PRODUCT_FROM_DATABASE=82801CA/CAM SMBus Controller
-
-pci:v00008086d00002483sv00001014sd00000220*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A/T/X Series
-
-pci:v00008086d00002483sv0000104Dsd000080E7*
- ID_PRODUCT_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
-
-pci:v00008086d00002483sv000015D9sd00003480*
- ID_PRODUCT_FROM_DATABASE=P4DP6
-
-pci:v00008086d00002483sv00008086sd00001958*
- ID_PRODUCT_FROM_DATABASE=vpr Matrix 170B4
-
-pci:v00008086d00002484*
- ID_PRODUCT_FROM_DATABASE=82801CA/CAM USB Controller #2
-
-pci:v00008086d00002484sv00000E11sd00000030*
- ID_PRODUCT_FROM_DATABASE=Evo N600c
-
-pci:v00008086d00002484sv00001014sd00000220*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A/T/X Series
-
-pci:v00008086d00002484sv0000104Dsd000080E7*
- ID_PRODUCT_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
-
-pci:v00008086d00002484sv000015D9sd00003480*
- ID_PRODUCT_FROM_DATABASE=P4DP6
-
-pci:v00008086d00002484sv00008086sd00001958*
- ID_PRODUCT_FROM_DATABASE=vpr Matrix 170B4
-
-pci:v00008086d00002485*
- ID_PRODUCT_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller
-
-pci:v00008086d00002485sv00001013sd00005959*
- ID_PRODUCT_FROM_DATABASE=Crystal WMD Audio Codec
-
-pci:v00008086d00002485sv00001014sd00000222*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A30/A30p/T23
-
-pci:v00008086d00002485sv00001014sd00000508*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T30
-
-pci:v00008086d00002485sv00001014sd0000051C*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A/T/X Series
-
-pci:v00008086d00002485sv00001043sd00001583*
- ID_PRODUCT_FROM_DATABASE=L3C (SPDIF)
-
-pci:v00008086d00002485sv00001043sd00001623*
- ID_PRODUCT_FROM_DATABASE=L2B (no SPDIF)
-
-pci:v00008086d00002485sv00001043sd00001643*
- ID_PRODUCT_FROM_DATABASE=L3F
-
-pci:v00008086d00002485sv0000104Dsd000080E7*
- ID_PRODUCT_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
-
-pci:v00008086d00002485sv0000144Dsd0000C006*
- ID_PRODUCT_FROM_DATABASE=vpr Matrix 170B4
-
-pci:v00008086d00002486*
- ID_PRODUCT_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller
-
-pci:v00008086d00002486sv00001014sd00000223*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A/T/X Series
-
-pci:v00008086d00002486sv00001014sd00000503*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R31
-
-pci:v00008086d00002486sv00001014sd0000051A*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A/T/X Series
-
-pci:v00008086d00002486sv0000101Fsd00001025*
- ID_PRODUCT_FROM_DATABASE=620 Series
-
-pci:v00008086d00002486sv00001043sd00001496*
- ID_PRODUCT_FROM_DATABASE=PCtel HSP56 MR
-
-pci:v00008086d00002486sv0000104Dsd000080E7*
- ID_PRODUCT_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
-
-pci:v00008086d00002486sv0000134Dsd00004C21*
- ID_PRODUCT_FROM_DATABASE=Dell Inspiron 2100 internal modem
-
-pci:v00008086d00002486sv0000144Dsd00002115*
- ID_PRODUCT_FROM_DATABASE=vpr Matrix 170B4 internal modem
-
-pci:v00008086d00002486sv000014F1sd00005421*
- ID_PRODUCT_FROM_DATABASE=MD56ORD V.92 MDC Modem
-
-pci:v00008086d00002487*
- ID_PRODUCT_FROM_DATABASE=82801CA/CAM USB Controller #3
-
-pci:v00008086d00002487sv00000E11sd00000030*
- ID_PRODUCT_FROM_DATABASE=Evo N600c
-
-pci:v00008086d00002487sv00001014sd00000220*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A/T/X Series
-
-pci:v00008086d00002487sv0000104Dsd000080E7*
- ID_PRODUCT_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
-
-pci:v00008086d00002487sv000015D9sd00003480*
- ID_PRODUCT_FROM_DATABASE=P4DP6
-
-pci:v00008086d00002487sv00008086sd00001958*
- ID_PRODUCT_FROM_DATABASE=vpr Matrix 170B4
-
-pci:v00008086d0000248A*
- ID_PRODUCT_FROM_DATABASE=82801CAM IDE U100 Controller
-
-pci:v00008086d0000248Asv00000E11sd00000030*
- ID_PRODUCT_FROM_DATABASE=Evo N600c
-
-pci:v00008086d0000248Asv00001014sd00000220*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A/T/X Series
-
-pci:v00008086d0000248Asv0000104Dsd000080E7*
- ID_PRODUCT_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
-
-pci:v00008086d0000248Asv00008086sd00001958*
- ID_PRODUCT_FROM_DATABASE=vpr Matrix 170B4
-
-pci:v00008086d0000248Asv00008086sd00004541*
- ID_PRODUCT_FROM_DATABASE=Latitude C640
-
-pci:v00008086d0000248B*
- ID_PRODUCT_FROM_DATABASE=82801CA Ultra ATA Storage Controller
-
-pci:v00008086d0000248Bsv000015D9sd00003480*
- ID_PRODUCT_FROM_DATABASE=P4DP6
-
-pci:v00008086d0000248C*
- ID_PRODUCT_FROM_DATABASE=82801CAM ISA Bridge (LPC)
-
-pci:v00008086d000024C0*
- ID_PRODUCT_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge
-
-pci:v00008086d000024C0sv00001014sd00000267*
- ID_PRODUCT_FROM_DATABASE=NetVista A30p
-
-pci:v00008086d000024C0sv00001462sd00005800*
- ID_PRODUCT_FROM_DATABASE=845PE Max (MS-6580)
-
-pci:v00008086d000024C1*
- ID_PRODUCT_FROM_DATABASE=82801DBL (ICH4-L) IDE Controller
-
-pci:v00008086d000024C2*
- ID_PRODUCT_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1
-
-pci:v00008086d000024C2sv00001014sd00000267*
- ID_PRODUCT_FROM_DATABASE=NetVista A30p
-
-pci:v00008086d000024C2sv00001014sd0000052D*
- ID_PRODUCT_FROM_DATABASE=ThinkPad
-
-pci:v00008086d000024C2sv00001025sd0000005A*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290
-
-pci:v00008086d000024C2sv00001028sd00000126*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX260
-
-pci:v00008086d000024C2sv00001028sd00000163*
- ID_PRODUCT_FROM_DATABASE=Latitude D505
-
-pci:v00008086d000024C2sv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v00008086d000024C2sv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v00008086d000024C2sv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v00008086d000024C2sv0000103Csd00000890*
- ID_PRODUCT_FROM_DATABASE=NC6000 laptop
-
-pci:v00008086d000024C2sv0000103Csd000008B0*
- ID_PRODUCT_FROM_DATABASE=tc1100 tablet
-
-pci:v00008086d000024C2sv00001043sd00008089*
- ID_PRODUCT_FROM_DATABASE=P4B533
-
-pci:v00008086d000024C2sv00001071sd00008160*
- ID_PRODUCT_FROM_DATABASE=MIM2000
-
-pci:v00008086d000024C2sv0000114Asd00000582*
- ID_PRODUCT_FROM_DATABASE=PC8 onboard USB 1.x
-
-pci:v00008086d000024C2sv0000144Dsd0000C005*
- ID_PRODUCT_FROM_DATABASE=X10 Laptop
-
-pci:v00008086d000024C2sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30/P35 notebook
-
-pci:v00008086d000024C2sv00001462sd00005800*
- ID_PRODUCT_FROM_DATABASE=845PE Max (MS-6580)
-
-pci:v00008086d000024C2sv00001509sd00002990*
- ID_PRODUCT_FROM_DATABASE=Averatec 5110H laptop
-
-pci:v00008086d000024C2sv00001734sd00001004*
- ID_PRODUCT_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
-
-pci:v00008086d000024C2sv00001734sd00001055*
- ID_PRODUCT_FROM_DATABASE=Amilo M1420
-
-pci:v00008086d000024C2sv00004C53sd00001090*
- ID_PRODUCT_FROM_DATABASE=Cx9 / Vx9 mainboard
-
-pci:v00008086d000024C2sv00008086sd000024C2*
- ID_PRODUCT_FROM_DATABASE=Latitude X300
-
-pci:v00008086d000024C2sv00008086sd00004541*
- ID_PRODUCT_FROM_DATABASE=Latitude D400/D500
-
-pci:v00008086d000024C2sv0000E4BFsd00000CC9*
- ID_PRODUCT_FROM_DATABASE=CC9-SAMBA
-
-pci:v00008086d000024C2sv0000E4BFsd00000CD2*
- ID_PRODUCT_FROM_DATABASE=CD2-BEBOP
-
-pci:v00008086d000024C3*
- ID_PRODUCT_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller
-
-pci:v00008086d000024C3sv00001014sd00000267*
- ID_PRODUCT_FROM_DATABASE=NetVista A30p
-
-pci:v00008086d000024C3sv00001014sd0000052D*
- ID_PRODUCT_FROM_DATABASE=ThinkPad
-
-pci:v00008086d000024C3sv00001025sd0000005A*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290
-
-pci:v00008086d000024C3sv00001028sd00000126*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX260
-
-pci:v00008086d000024C3sv00001028sd0000014F*
- ID_PRODUCT_FROM_DATABASE=Latitude X300
-
-pci:v00008086d000024C3sv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v00008086d000024C3sv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v00008086d000024C3sv0000103Csd00000890*
- ID_PRODUCT_FROM_DATABASE=NC6000 laptop
-
-pci:v00008086d000024C3sv0000103Csd000008B0*
- ID_PRODUCT_FROM_DATABASE=tc1100 tablet
-
-pci:v00008086d000024C3sv00001071sd00008160*
- ID_PRODUCT_FROM_DATABASE=MIM2000
-
-pci:v00008086d000024C3sv0000114Asd00000582*
- ID_PRODUCT_FROM_DATABASE=PC8 onboard SMbus
-
-pci:v00008086d000024C3sv0000144Dsd0000C005*
- ID_PRODUCT_FROM_DATABASE=X10 Laptop
-
-pci:v00008086d000024C3sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30/P35 notebook
-
-pci:v00008086d000024C3sv00001458sd000024C2*
- ID_PRODUCT_FROM_DATABASE=GA-8PE667 Ultra
-
-pci:v00008086d000024C3sv00001462sd00005800*
- ID_PRODUCT_FROM_DATABASE=845PE Max (MS-6580)
-
-pci:v00008086d000024C3sv00001734sd00001004*
- ID_PRODUCT_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
-
-pci:v00008086d000024C3sv00001734sd00001055*
- ID_PRODUCT_FROM_DATABASE=Amilo M1420
-
-pci:v00008086d000024C3sv00004C53sd00001090*
- ID_PRODUCT_FROM_DATABASE=Cx9 / Vx9 mainboard
-
-pci:v00008086d000024C3sv0000E4BFsd00000CC9*
- ID_PRODUCT_FROM_DATABASE=CC9-SAMBA
-
-pci:v00008086d000024C3sv0000E4BFsd00000CD2*
- ID_PRODUCT_FROM_DATABASE=CD2-BEBOP
-
-pci:v00008086d000024C4*
- ID_PRODUCT_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2
-
-pci:v00008086d000024C4sv00001014sd00000267*
- ID_PRODUCT_FROM_DATABASE=NetVista A30p
-
-pci:v00008086d000024C4sv00001014sd0000052D*
- ID_PRODUCT_FROM_DATABASE=ThinkPad
-
-pci:v00008086d000024C4sv00001025sd0000005A*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290
-
-pci:v00008086d000024C4sv00001028sd00000126*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX260
-
-pci:v00008086d000024C4sv00001028sd00000163*
- ID_PRODUCT_FROM_DATABASE=Latitude D505
-
-pci:v00008086d000024C4sv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v00008086d000024C4sv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v00008086d000024C4sv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v00008086d000024C4sv0000103Csd00000890*
- ID_PRODUCT_FROM_DATABASE=NC6000 laptop
-
-pci:v00008086d000024C4sv0000103Csd000008B0*
- ID_PRODUCT_FROM_DATABASE=tc1100 tablet
-
-pci:v00008086d000024C4sv00001043sd00008089*
- ID_PRODUCT_FROM_DATABASE=P4B533
-
-pci:v00008086d000024C4sv00001071sd00008160*
- ID_PRODUCT_FROM_DATABASE=MIM2000
-
-pci:v00008086d000024C4sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30/P35 notebook
-
-pci:v00008086d000024C4sv00001462sd00005800*
- ID_PRODUCT_FROM_DATABASE=845PE Max (MS-6580)
-
-pci:v00008086d000024C4sv00001509sd00002990*
- ID_PRODUCT_FROM_DATABASE=Averatec 5110H
-
-pci:v00008086d000024C4sv00001734sd00001004*
- ID_PRODUCT_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
-
-pci:v00008086d000024C4sv00004C53sd00001090*
- ID_PRODUCT_FROM_DATABASE=Cx9 / Vx9 mainboard
-
-pci:v00008086d000024C4sv00008086sd000024C2*
- ID_PRODUCT_FROM_DATABASE=Latitude X300
-
-pci:v00008086d000024C4sv00008086sd00004541*
- ID_PRODUCT_FROM_DATABASE=Latitude D400/D500
-
-pci:v00008086d000024C4sv0000E4BFsd00000CC9*
- ID_PRODUCT_FROM_DATABASE=CC9-SAMBA
-
-pci:v00008086d000024C4sv0000E4BFsd00000CD2*
- ID_PRODUCT_FROM_DATABASE=CD2-BEBOP
-
-pci:v00008086d000024C5*
- ID_PRODUCT_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller
-
-pci:v00008086d000024C5sv00000E11sd000000B8*
- ID_PRODUCT_FROM_DATABASE=Analog Devices Inc. codec [SoundMAX]
-
-pci:v00008086d000024C5sv00001014sd00000267*
- ID_PRODUCT_FROM_DATABASE=NetVista A30p
-
-pci:v00008086d000024C5sv00001014sd00000537*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T41
-
-pci:v00008086d000024C5sv00001014sd0000055F*
- ID_PRODUCT_FROM_DATABASE=Thinkpad R50e model 1634
-
-pci:v00008086d000024C5sv00001025sd0000005A*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290
-
-pci:v00008086d000024C5sv00001028sd00000139*
- ID_PRODUCT_FROM_DATABASE=Latitude D400
-
-pci:v00008086d000024C5sv00001028sd0000014F*
- ID_PRODUCT_FROM_DATABASE=Latitude X300
-
-pci:v00008086d000024C5sv00001028sd00000152*
- ID_PRODUCT_FROM_DATABASE=Latitude D500
-
-pci:v00008086d000024C5sv00001028sd00000163*
- ID_PRODUCT_FROM_DATABASE=Latitude D505
-
-pci:v00008086d000024C5sv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m [SigmaTel STAC9750,51]
-
-pci:v00008086d000024C5sv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v00008086d000024C5sv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v00008086d000024C5sv0000103Csd00000890*
- ID_PRODUCT_FROM_DATABASE=NC6000 laptop
-
-pci:v00008086d000024C5sv0000103Csd000008B0*
- ID_PRODUCT_FROM_DATABASE=tc1100 tablet
-
-pci:v00008086d000024C5sv00001043sd00001713*
- ID_PRODUCT_FROM_DATABASE=M6800N
-
-pci:v00008086d000024C5sv00001043sd000080B0*
- ID_PRODUCT_FROM_DATABASE=P4B533
-
-pci:v00008086d000024C5sv00001071sd00008160*
- ID_PRODUCT_FROM_DATABASE=MIM2000
-
-pci:v00008086d000024C5sv00001179sd00000201*
- ID_PRODUCT_FROM_DATABASE=Toshiba Tecra M1
-
-pci:v00008086d000024C5sv0000144Dsd0000C005*
- ID_PRODUCT_FROM_DATABASE=X10 Laptop
-
-pci:v00008086d000024C5sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30/P35 notebook
-
-pci:v00008086d000024C5sv00001458sd0000A002*
- ID_PRODUCT_FROM_DATABASE=GA-8PE667 Ultra
-
-pci:v00008086d000024C5sv00001462sd00005800*
- ID_PRODUCT_FROM_DATABASE=845PE Max (MS-6580)
-
-pci:v00008086d000024C5sv00001734sd00001005*
- ID_PRODUCT_FROM_DATABASE=D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T
-
-pci:v00008086d000024C5sv00001734sd00001055*
- ID_PRODUCT_FROM_DATABASE=Amilo M1420
-
-pci:v00008086d000024C5sv00008086sd000024C5*
- ID_PRODUCT_FROM_DATABASE=Dell Dimension 2400
-
-pci:v00008086d000024C6*
- ID_PRODUCT_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller
-
-pci:v00008086d000024C6sv00001014sd00000524*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T41
-
-pci:v00008086d000024C6sv00001014sd00000525*
- ID_PRODUCT_FROM_DATABASE=ThinkPad
-
-pci:v00008086d000024C6sv00001014sd00000559*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R50e
-
-pci:v00008086d000024C6sv00001025sd0000003C*
- ID_PRODUCT_FROM_DATABASE=Aspire 2001WLCi (Compal CL50 motherboard) implementation
-
-pci:v00008086d000024C6sv00001025sd0000005A*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290
-
-pci:v00008086d000024C6sv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v00008086d000024C6sv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v00008086d000024C6sv0000103Csd00000890*
- ID_PRODUCT_FROM_DATABASE=NC6000 laptop
-
-pci:v00008086d000024C6sv0000103Csd000008B0*
- ID_PRODUCT_FROM_DATABASE=tc1100 tablet
-
-pci:v00008086d000024C6sv00001043sd00001826*
- ID_PRODUCT_FROM_DATABASE=M6800N
-
-pci:v00008086d000024C6sv00001071sd00008160*
- ID_PRODUCT_FROM_DATABASE=MIM2000
-
-pci:v00008086d000024C6sv0000134Dsd00004C21*
- ID_PRODUCT_FROM_DATABASE=Latitude D500
-
-pci:v00008086d000024C6sv0000144Dsd00002115*
- ID_PRODUCT_FROM_DATABASE=X10 Laptop
-
-pci:v00008086d000024C6sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30/P35 notebook
-
-pci:v00008086d000024C6sv000014F1sd00005422*
- ID_PRODUCT_FROM_DATABASE=D480 MDC V.9x Modem
-
-pci:v00008086d000024C7*
- ID_PRODUCT_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3
-
-pci:v00008086d000024C7sv00001014sd00000267*
- ID_PRODUCT_FROM_DATABASE=NetVista A30p
-
-pci:v00008086d000024C7sv00001014sd0000052D*
- ID_PRODUCT_FROM_DATABASE=ThinkPad
-
-pci:v00008086d000024C7sv00001025sd0000005A*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290
-
-pci:v00008086d000024C7sv00001028sd00000126*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX260
-
-pci:v00008086d000024C7sv00001028sd00000163*
- ID_PRODUCT_FROM_DATABASE=Latitude D505
-
-pci:v00008086d000024C7sv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v00008086d000024C7sv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v00008086d000024C7sv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v00008086d000024C7sv0000103Csd00000890*
- ID_PRODUCT_FROM_DATABASE=NC6000 laptop
-
-pci:v00008086d000024C7sv0000103Csd000008B0*
- ID_PRODUCT_FROM_DATABASE=tc1100 tablet
-
-pci:v00008086d000024C7sv00001043sd00008089*
- ID_PRODUCT_FROM_DATABASE=P4B533
-
-pci:v00008086d000024C7sv00001071sd00008160*
- ID_PRODUCT_FROM_DATABASE=MIM2000
-
-pci:v00008086d000024C7sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30/P35 notebook
-
-pci:v00008086d000024C7sv00001462sd00005800*
- ID_PRODUCT_FROM_DATABASE=845PE Max (MS-6580)
-
-pci:v00008086d000024C7sv00001509sd00002990*
- ID_PRODUCT_FROM_DATABASE=Averatec 5110H
-
-pci:v00008086d000024C7sv00001734sd00001004*
- ID_PRODUCT_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
-
-pci:v00008086d000024C7sv00004C53sd00001090*
- ID_PRODUCT_FROM_DATABASE=Cx9 / Vx9 mainboard
-
-pci:v00008086d000024C7sv00008086sd000024C2*
- ID_PRODUCT_FROM_DATABASE=Latitude X300
-
-pci:v00008086d000024C7sv00008086sd00004541*
- ID_PRODUCT_FROM_DATABASE=Latitude D400/D500
-
-pci:v00008086d000024C7sv0000E4BFsd00000CC9*
- ID_PRODUCT_FROM_DATABASE=CC9-SAMBA
-
-pci:v00008086d000024C7sv0000E4BFsd00000CD2*
- ID_PRODUCT_FROM_DATABASE=CD2-BEBOP
-
-pci:v00008086d000024CA*
- ID_PRODUCT_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller
-
-pci:v00008086d000024CAsv00001014sd0000052D*
- ID_PRODUCT_FROM_DATABASE=ThinkPad
-
-pci:v00008086d000024CAsv00001025sd0000005A*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290
-
-pci:v00008086d000024CAsv00001028sd0000014F*
- ID_PRODUCT_FROM_DATABASE=Latitude X300
-
-pci:v00008086d000024CAsv00001028sd00000163*
- ID_PRODUCT_FROM_DATABASE=Latitude D505
-
-pci:v00008086d000024CAsv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v00008086d000024CAsv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v00008086d000024CAsv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v00008086d000024CAsv0000103Csd00000890*
- ID_PRODUCT_FROM_DATABASE=NC6000 laptop
-
-pci:v00008086d000024CAsv0000103Csd000008B0*
- ID_PRODUCT_FROM_DATABASE=tc1100 tablet
-
-pci:v00008086d000024CAsv00001071sd00008160*
- ID_PRODUCT_FROM_DATABASE=MIM2000
-
-pci:v00008086d000024CAsv0000144Dsd0000C005*
- ID_PRODUCT_FROM_DATABASE=X10 Laptop
-
-pci:v00008086d000024CAsv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30/P35 notebook
-
-pci:v00008086d000024CAsv00001734sd00001055*
- ID_PRODUCT_FROM_DATABASE=Amilo M1420
-
-pci:v00008086d000024CAsv00008086sd00004541*
- ID_PRODUCT_FROM_DATABASE=Latitude D400/D500
-
-pci:v00008086d000024CB*
- ID_PRODUCT_FROM_DATABASE=82801DB (ICH4) IDE Controller
-
-pci:v00008086d000024CBsv00001014sd00000267*
- ID_PRODUCT_FROM_DATABASE=NetVista A30p
-
-pci:v00008086d000024CBsv00001028sd00000126*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX260
-
-pci:v00008086d000024CBsv00001043sd00008089*
- ID_PRODUCT_FROM_DATABASE=P4B533
-
-pci:v00008086d000024CBsv0000114Asd00000582*
- ID_PRODUCT_FROM_DATABASE=PC8 onboard IDE
-
-pci:v00008086d000024CBsv00001458sd000024C2*
- ID_PRODUCT_FROM_DATABASE=GA-8PE667 Ultra
-
-pci:v00008086d000024CBsv00001462sd00005800*
- ID_PRODUCT_FROM_DATABASE=845PE Max (MS-6580)
-
-pci:v00008086d000024CBsv00001734sd00001004*
- ID_PRODUCT_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
-
-pci:v00008086d000024CBsv00004C53sd00001090*
- ID_PRODUCT_FROM_DATABASE=Cx9 / Vx9 mainboard
-
-pci:v00008086d000024CBsv0000E4BFsd00000CC9*
- ID_PRODUCT_FROM_DATABASE=CC9-SAMBA
-
-pci:v00008086d000024CBsv0000E4BFsd00000CD2*
- ID_PRODUCT_FROM_DATABASE=CD2-BEBOP
-
-pci:v00008086d000024CC*
- ID_PRODUCT_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge
-
-pci:v00008086d000024CCsv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30 notebook
-
-pci:v00008086d000024CCsv00001734sd00001055*
- ID_PRODUCT_FROM_DATABASE=Amilo M1420
-
-pci:v00008086d000024CD*
- ID_PRODUCT_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller
-
-pci:v00008086d000024CDsv00001014sd00000267*
- ID_PRODUCT_FROM_DATABASE=NetVista A30p
-
-pci:v00008086d000024CDsv00001014sd0000052E*
- ID_PRODUCT_FROM_DATABASE=ThinkPad
-
-pci:v00008086d000024CDsv00001025sd0000005A*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290
-
-pci:v00008086d000024CDsv00001028sd0000011D*
- ID_PRODUCT_FROM_DATABASE=Latitude D600
-
-pci:v00008086d000024CDsv00001028sd00000126*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX260
-
-pci:v00008086d000024CDsv00001028sd00000139*
- ID_PRODUCT_FROM_DATABASE=Latitude D400
-
-pci:v00008086d000024CDsv00001028sd00000152*
- ID_PRODUCT_FROM_DATABASE=Latitude D500
-
-pci:v00008086d000024CDsv00001028sd00000163*
- ID_PRODUCT_FROM_DATABASE=Latitude D505
-
-pci:v00008086d000024CDsv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v00008086d000024CDsv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v00008086d000024CDsv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v00008086d000024CDsv0000103Csd00000890*
- ID_PRODUCT_FROM_DATABASE=NC6000 laptop
-
-pci:v00008086d000024CDsv0000103Csd000008B0*
- ID_PRODUCT_FROM_DATABASE=tc1100 tablet
-
-pci:v00008086d000024CDsv00001043sd00008089*
- ID_PRODUCT_FROM_DATABASE=P4B533
-
-pci:v00008086d000024CDsv00001071sd00008160*
- ID_PRODUCT_FROM_DATABASE=MIM2000
-
-pci:v00008086d000024CDsv0000114Asd00000582*
- ID_PRODUCT_FROM_DATABASE=PC8 onboard USB 2.0
-
-pci:v00008086d000024CDsv00001179sd0000FF00*
- ID_PRODUCT_FROM_DATABASE=Satellite 2430
-
-pci:v00008086d000024CDsv0000144Dsd0000C005*
- ID_PRODUCT_FROM_DATABASE=X10 Laptop
-
-pci:v00008086d000024CDsv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30/P35 notebook
-
-pci:v00008086d000024CDsv00001462sd00003981*
- ID_PRODUCT_FROM_DATABASE=845PE Max (MS-6580)
-
-pci:v00008086d000024CDsv00001509sd00001968*
- ID_PRODUCT_FROM_DATABASE=Averatec 5110H
-
-pci:v00008086d000024CDsv00001734sd00001004*
- ID_PRODUCT_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
-
-pci:v00008086d000024CDsv00001734sd00001055*
- ID_PRODUCT_FROM_DATABASE=Amilo M1420
-
-pci:v00008086d000024CDsv00004C53sd00001090*
- ID_PRODUCT_FROM_DATABASE=Cx9 / Vx9 mainboard
-
-pci:v00008086d000024CDsv00008086sd000024C2*
- ID_PRODUCT_FROM_DATABASE=Latitude X300
-
-pci:v00008086d000024CDsv0000E4BFsd00000CC9*
- ID_PRODUCT_FROM_DATABASE=CC9-SAMBA
-
-pci:v00008086d000024CDsv0000E4BFsd00000CD2*
- ID_PRODUCT_FROM_DATABASE=CD2-BEBOP
-
-pci:v00008086d000024D0*
- ID_PRODUCT_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) LPC Interface Bridge
-
-pci:v00008086d000024D1*
- ID_PRODUCT_FROM_DATABASE=82801EB (ICH5) SATA Controller
-
-pci:v00008086d000024D1sv00001028sd00000169*
- ID_PRODUCT_FROM_DATABASE=Precision 470
-
-pci:v00008086d000024D1sv00001028sd0000019A*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC1425
-
-pci:v00008086d000024D1sv0000103Csd000012BC*
- ID_PRODUCT_FROM_DATABASE=d530 CMT (DG746A)
-
-pci:v00008086d000024D1sv0000103Csd00003208*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G2
-
-pci:v00008086d000024D1sv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P4P800 series motherboard
-
-pci:v00008086d000024D1sv00001458sd000024D1*
- ID_PRODUCT_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
-
-pci:v00008086d000024D1sv00001462sd00007280*
- ID_PRODUCT_FROM_DATABASE=865PE Neo2 (MS-6728)
-
-pci:v00008086d000024D1sv00001462sd00007650*
- ID_PRODUCT_FROM_DATABASE=Hetis 865GV-E (MS-7065)
-
-pci:v00008086d000024D1sv00001565sd00005200*
- ID_PRODUCT_FROM_DATABASE=P4TSV Motherboard (865G)
-
-pci:v00008086d000024D1sv000015D9sd00004580*
- ID_PRODUCT_FROM_DATABASE=P4SCE Mainboard
-
-pci:v00008086d000024D1sv00008086sd00003427*
- ID_PRODUCT_FROM_DATABASE=S875WP1-E mainboard
-
-pci:v00008086d000024D1sv00008086sd00004246*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GBF
-
-pci:v00008086d000024D1sv00008086sd00004C43*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GLC
-
-pci:v00008086d000024D1sv00008086sd0000524C*
- ID_PRODUCT_FROM_DATABASE=D865PERL mainboard
-
-pci:v00008086d000024D2*
- ID_PRODUCT_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1
-
-pci:v00008086d000024D2sv00001014sd000002DD*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00008086d000024D2sv00001014sd000002ED*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00008086d000024D2sv00001028sd00000169*
- ID_PRODUCT_FROM_DATABASE=Precision 470
-
-pci:v00008086d000024D2sv00001028sd0000016C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1850 onboard UHCI
-
-pci:v00008086d000024D2sv00001028sd0000016D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2850 onboard UHCI
-
-pci:v00008086d000024D2sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 onboard UHCI
-
-pci:v00008086d000024D2sv00001028sd00000183*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1800
-
-pci:v00008086d000024D2sv00001028sd0000019A*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC1425
-
-pci:v00008086d000024D2sv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=NX9500
-
-pci:v00008086d000024D2sv0000103Csd000012BC*
- ID_PRODUCT_FROM_DATABASE=d530 CMT (DG746A)
-
-pci:v00008086d000024D2sv0000103Csd00003208*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G2
-
-pci:v00008086d000024D2sv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P4P800/P5P800 series motherboard
-
-pci:v00008086d000024D2sv00001458sd000024D2*
- ID_PRODUCT_FROM_DATABASE=GA-8IPE1000/8KNXP motherboard
-
-pci:v00008086d000024D2sv00001462sd00007280*
- ID_PRODUCT_FROM_DATABASE=865PE Neo2 (MS-6728)
-
-pci:v00008086d000024D2sv00001565sd00003101*
- ID_PRODUCT_FROM_DATABASE=P4TSV Motherboard (865G)
-
-pci:v00008086d000024D2sv000015D9sd00004580*
- ID_PRODUCT_FROM_DATABASE=P4SCE Mainboard
-
-pci:v00008086d000024D2sv00001734sd0000101C*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX series onboard UHCI
-
-pci:v00008086d000024D2sv00008086sd00003427*
- ID_PRODUCT_FROM_DATABASE=S875WP1-E mainboard
-
-pci:v00008086d000024D2sv00008086sd00004246*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GBF
-
-pci:v00008086d000024D2sv00008086sd00004C43*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GLC
-
-pci:v00008086d000024D2sv00008086sd0000524C*
- ID_PRODUCT_FROM_DATABASE=D865PERL mainboard
-
-pci:v00008086d000024D3*
- ID_PRODUCT_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller
-
-pci:v00008086d000024D3sv00001014sd000002DD*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00008086d000024D3sv00001014sd000002ED*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00008086d000024D3sv00001028sd00000156*
- ID_PRODUCT_FROM_DATABASE=Precision 360
-
-pci:v00008086d000024D3sv00001028sd00000169*
- ID_PRODUCT_FROM_DATABASE=Precision 470
-
-pci:v00008086d000024D3sv0000103Csd000012BC*
- ID_PRODUCT_FROM_DATABASE=d330 uT
-
-pci:v00008086d000024D3sv0000103Csd00003208*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G2
-
-pci:v00008086d000024D3sv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P4P800/P5P800 series motherboard
-
-pci:v00008086d000024D3sv00001458sd000024D2*
- ID_PRODUCT_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
-
-pci:v00008086d000024D3sv00001462sd00007280*
- ID_PRODUCT_FROM_DATABASE=865PE Neo2 (MS-6728)
-
-pci:v00008086d000024D3sv00001462sd00007650*
- ID_PRODUCT_FROM_DATABASE=Hetis 865GV-E (MS-7065)
-
-pci:v00008086d000024D3sv00001565sd00003101*
- ID_PRODUCT_FROM_DATABASE=P4TSV Motherboard (865G)
-
-pci:v00008086d000024D3sv000015D9sd00004580*
- ID_PRODUCT_FROM_DATABASE=P4SCE Mainboard
-
-pci:v00008086d000024D3sv00001734sd0000101C*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX S2 series SMBus
-
-pci:v00008086d000024D3sv00008086sd00003427*
- ID_PRODUCT_FROM_DATABASE=S875WP1-E mainboard
-
-pci:v00008086d000024D3sv00008086sd00004246*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GBF
-
-pci:v00008086d000024D3sv00008086sd00004C43*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GLC
-
-pci:v00008086d000024D3sv00008086sd0000524C*
- ID_PRODUCT_FROM_DATABASE=D865PERL mainboard
-
-pci:v00008086d000024D4*
- ID_PRODUCT_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2
-
-pci:v00008086d000024D4sv00001014sd000002DD*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00008086d000024D4sv00001014sd000002ED*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00008086d000024D4sv00001028sd00000169*
- ID_PRODUCT_FROM_DATABASE=Precision 470
-
-pci:v00008086d000024D4sv00001028sd0000016C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1850 onboard UHCI
-
-pci:v00008086d000024D4sv00001028sd0000016D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2850 onboard UHCI
-
-pci:v00008086d000024D4sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 onboard UHCI
-
-pci:v00008086d000024D4sv00001028sd00000183*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1800
-
-pci:v00008086d000024D4sv00001028sd0000019A*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC1425
-
-pci:v00008086d000024D4sv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=NX9500
-
-pci:v00008086d000024D4sv0000103Csd000012BC*
- ID_PRODUCT_FROM_DATABASE=d530 CMT (DG746A)
-
-pci:v00008086d000024D4sv0000103Csd00003208*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G2
-
-pci:v00008086d000024D4sv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P4P800/P5P800 series motherboard
-
-pci:v00008086d000024D4sv00001458sd000024D2*
- ID_PRODUCT_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
-
-pci:v00008086d000024D4sv00001462sd00007280*
- ID_PRODUCT_FROM_DATABASE=865PE Neo2 (MS-6728)
-
-pci:v00008086d000024D4sv00001462sd00007650*
- ID_PRODUCT_FROM_DATABASE=Hetis 865GV-E (MS-7065)
-
-pci:v00008086d000024D4sv00001565sd00003101*
- ID_PRODUCT_FROM_DATABASE=P4TSV Motherboard (865G)
-
-pci:v00008086d000024D4sv000015D9sd00004580*
- ID_PRODUCT_FROM_DATABASE=P4SCE Mainboard
-
-pci:v00008086d000024D4sv00001734sd0000101C*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI
-
-pci:v00008086d000024D4sv00008086sd00003427*
- ID_PRODUCT_FROM_DATABASE=S875WP1-E mainboard
-
-pci:v00008086d000024D4sv00008086sd00004246*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GBF
-
-pci:v00008086d000024D4sv00008086sd00004C43*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GLC
-
-pci:v00008086d000024D4sv00008086sd0000524C*
- ID_PRODUCT_FROM_DATABASE=D865PERL mainboard
-
-pci:v00008086d000024D5*
- ID_PRODUCT_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller
-
-pci:v00008086d000024D5sv0000100Asd0000147B*
- ID_PRODUCT_FROM_DATABASE=Abit IS7-E motherboard
-
-pci:v00008086d000024D5sv00001028sd00000169*
- ID_PRODUCT_FROM_DATABASE=Precision 470
-
-pci:v00008086d000024D5sv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=NX9500
-
-pci:v00008086d000024D5sv0000103Csd000012BC*
- ID_PRODUCT_FROM_DATABASE=d330 uT
-
-pci:v00008086d000024D5sv00001043sd000080F3*
- ID_PRODUCT_FROM_DATABASE=P4P800 series motherboard
-
-pci:v00008086d000024D5sv00001043sd0000810F*
- ID_PRODUCT_FROM_DATABASE=P5P800-MX Mainboard
-
-pci:v00008086d000024D5sv00001458sd0000A002*
- ID_PRODUCT_FROM_DATABASE=GA-8IPE1000/8KNXP motherboard
-
-pci:v00008086d000024D5sv00001462sd00000080*
- ID_PRODUCT_FROM_DATABASE=865PE Neo2-V (MS-6788) Mainboard
-
-pci:v00008086d000024D5sv00001462sd00007280*
- ID_PRODUCT_FROM_DATABASE=865PE Neo2 (MS-6728)
-
-pci:v00008086d000024D5sv00001462sd00007650*
- ID_PRODUCT_FROM_DATABASE=Hetis 865GV-E (MS-7065)
-
-pci:v00008086d000024D5sv00008086sd0000A000*
- ID_PRODUCT_FROM_DATABASE=D865PERL mainboard
-
-pci:v00008086d000024D5sv00008086sd0000E000*
- ID_PRODUCT_FROM_DATABASE=D865PERL mainboard
-
-pci:v00008086d000024D5sv00008086sd0000E001*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GBF
-
-pci:v00008086d000024D5sv00008086sd0000E002*
- ID_PRODUCT_FROM_DATABASE=SoundMax Intergrated Digital Audio
-
-pci:v00008086d000024D6*
- ID_PRODUCT_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller
-
-pci:v00008086d000024D6sv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=NX9500
-
-pci:v00008086d000024D7*
- ID_PRODUCT_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3
-
-pci:v00008086d000024D7sv00001014sd000002ED*
- ID_PRODUCT_FROM_DATABASE=xSeries server mainboard
-
-pci:v00008086d000024D7sv00001028sd00000169*
- ID_PRODUCT_FROM_DATABASE=Precision 470
-
-pci:v00008086d000024D7sv00001028sd0000016C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1850 onboard UHCI
-
-pci:v00008086d000024D7sv00001028sd0000016D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2850 onboard UHCI
-
-pci:v00008086d000024D7sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 onboard UHCI
-
-pci:v00008086d000024D7sv00001028sd00000183*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1800
-
-pci:v00008086d000024D7sv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=NX9500
-
-pci:v00008086d000024D7sv0000103Csd000012BC*
- ID_PRODUCT_FROM_DATABASE=d530 CMT (DG746A)
-
-pci:v00008086d000024D7sv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P4P800/P5P800 series motherboard
-
-pci:v00008086d000024D7sv00001458sd000024D2*
- ID_PRODUCT_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
-
-pci:v00008086d000024D7sv00001462sd00007280*
- ID_PRODUCT_FROM_DATABASE=865PE Neo2 (MS-6728)
-
-pci:v00008086d000024D7sv00001462sd00007650*
- ID_PRODUCT_FROM_DATABASE=Hetis 865GV-E (MS-7065)
-
-pci:v00008086d000024D7sv00001565sd00003101*
- ID_PRODUCT_FROM_DATABASE=P4TSV Motherboard (865G)
-
-pci:v00008086d000024D7sv000015D9sd00004580*
- ID_PRODUCT_FROM_DATABASE=P4SCE Mainboard
-
-pci:v00008086d000024D7sv00001734sd0000101C*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI
-
-pci:v00008086d000024D7sv00008086sd00003427*
- ID_PRODUCT_FROM_DATABASE=S875WP1-E mainboard
-
-pci:v00008086d000024D7sv00008086sd00004246*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GBF
-
-pci:v00008086d000024D7sv00008086sd00004C43*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GLC
-
-pci:v00008086d000024D7sv00008086sd0000524C*
- ID_PRODUCT_FROM_DATABASE=D865PERL mainboard
-
-pci:v00008086d000024DB*
- ID_PRODUCT_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller
-
-pci:v00008086d000024DBsv00001014sd000002DD*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00008086d000024DBsv00001014sd000002ED*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00008086d000024DBsv00001028sd00000169*
- ID_PRODUCT_FROM_DATABASE=Precision 470
-
-pci:v00008086d000024DBsv00001028sd0000016C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1850 IDE Controller
-
-pci:v00008086d000024DBsv00001028sd0000016D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2850 IDE Controller
-
-pci:v00008086d000024DBsv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 IDE Controller
-
-pci:v00008086d000024DBsv00001028sd0000019A*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC1425
-
-pci:v00008086d000024DBsv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=NX9500
-
-pci:v00008086d000024DBsv0000103Csd000012BC*
- ID_PRODUCT_FROM_DATABASE=d530 CMT (DG746A)
-
-pci:v00008086d000024DBsv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P4P800/P5P800 series motherboard
-
-pci:v00008086d000024DBsv00001458sd000024D2*
- ID_PRODUCT_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
-
-pci:v00008086d000024DBsv00001462sd00007280*
- ID_PRODUCT_FROM_DATABASE=865PE Neo2 (MS-6728)
-
-pci:v00008086d000024DBsv00001462sd00007580*
- ID_PRODUCT_FROM_DATABASE=MSI 875P
-
-pci:v00008086d000024DBsv00001462sd00007650*
- ID_PRODUCT_FROM_DATABASE=Hetis 865GV-E (MS-7065)
-
-pci:v00008086d000024DBsv00001565sd00003101*
- ID_PRODUCT_FROM_DATABASE=P4TSV Motherboard (865G)
-
-pci:v00008086d000024DBsv000015D9sd00004580*
- ID_PRODUCT_FROM_DATABASE=P4SCE Mainboard
-
-pci:v00008086d000024DBsv00001734sd0000101C*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard IDE
-
-pci:v00008086d000024DBsv00008086sd000024DB*
- ID_PRODUCT_FROM_DATABASE=P4C800 Mainboard
-
-pci:v00008086d000024DBsv00008086sd00003427*
- ID_PRODUCT_FROM_DATABASE=S875WP1-E mainboard
-
-pci:v00008086d000024DBsv00008086sd00004246*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GBF
-
-pci:v00008086d000024DBsv00008086sd00004C43*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GLC
-
-pci:v00008086d000024DBsv00008086sd0000524C*
- ID_PRODUCT_FROM_DATABASE=D865PERL mainboard
-
-pci:v00008086d000024DC*
- ID_PRODUCT_FROM_DATABASE=82801EB (ICH5) LPC Interface Bridge
-
-pci:v00008086d000024DD*
- ID_PRODUCT_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller
-
-pci:v00008086d000024DDsv00001014sd000002DD*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00008086d000024DDsv00001014sd000002ED*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00008086d000024DDsv00001028sd00000169*
- ID_PRODUCT_FROM_DATABASE=Precision 470
-
-pci:v00008086d000024DDsv00001028sd0000016C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1850 onboard EHCI
-
-pci:v00008086d000024DDsv00001028sd0000016D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2850 onboard EHCI
-
-pci:v00008086d000024DDsv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 onboard EHCI
-
-pci:v00008086d000024DDsv00001028sd00000183*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1800
-
-pci:v00008086d000024DDsv00001028sd0000019A*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC1425
-
-pci:v00008086d000024DDsv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=NX9500
-
-pci:v00008086d000024DDsv0000103Csd000012BC*
- ID_PRODUCT_FROM_DATABASE=d530 CMT (DG746A)
-
-pci:v00008086d000024DDsv0000103Csd00003208*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G2
-
-pci:v00008086d000024DDsv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P4P800/P5P800 series motherboard
-
-pci:v00008086d000024DDsv00001458sd00005006*
- ID_PRODUCT_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
-
-pci:v00008086d000024DDsv00001462sd00007280*
- ID_PRODUCT_FROM_DATABASE=865PE Neo2 (MS-6728)
-
-pci:v00008086d000024DDsv00001462sd00007650*
- ID_PRODUCT_FROM_DATABASE=Hetis 865GV-E (MS-7065)
-
-pci:v00008086d000024DDsv00008086sd00003427*
- ID_PRODUCT_FROM_DATABASE=S875WP1-E mainboard
-
-pci:v00008086d000024DDsv00008086sd00004246*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GBF
-
-pci:v00008086d000024DDsv00008086sd00004C43*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GLC
-
-pci:v00008086d000024DDsv00008086sd0000524C*
- ID_PRODUCT_FROM_DATABASE=D865PERL mainboard
-
-pci:v00008086d000024DE*
- ID_PRODUCT_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4
-
-pci:v00008086d000024DEsv00001014sd000002ED*
- ID_PRODUCT_FROM_DATABASE=xSeries server mainboard
-
-pci:v00008086d000024DEsv00001028sd00000169*
- ID_PRODUCT_FROM_DATABASE=Precision 470
-
-pci:v00008086d000024DEsv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P4P800/P5P800 series motherboard
-
-pci:v00008086d000024DEsv00001458sd000024D2*
- ID_PRODUCT_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
-
-pci:v00008086d000024DEsv00001462sd00007280*
- ID_PRODUCT_FROM_DATABASE=865PE Neo2 (MS-6728)
-
-pci:v00008086d000024DEsv00001462sd00007650*
- ID_PRODUCT_FROM_DATABASE=Hetis 865GV-E (MS-7065)
-
-pci:v00008086d000024DEsv00001565sd00003101*
- ID_PRODUCT_FROM_DATABASE=P4TSV Motherboard (865G)
-
-pci:v00008086d000024DEsv000015D9sd00004580*
- ID_PRODUCT_FROM_DATABASE=P4SCE Mainboard
-
-pci:v00008086d000024DEsv00001734sd0000101C*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI
-
-pci:v00008086d000024DEsv00008086sd00003427*
- ID_PRODUCT_FROM_DATABASE=S875WP1-E mainboard
-
-pci:v00008086d000024DEsv00008086sd00004246*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GBF
-
-pci:v00008086d000024DEsv00008086sd00004C43*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GLC
-
-pci:v00008086d000024DEsv00008086sd0000524C*
- ID_PRODUCT_FROM_DATABASE=D865PERL mainboard
-
-pci:v00008086d000024DF*
- ID_PRODUCT_FROM_DATABASE=82801ER (ICH5R) SATA Controller
-
-pci:v00008086d00002500*
- ID_PRODUCT_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH)
-
-pci:v00008086d00002500sv00001028sd00000095*
- ID_PRODUCT_FROM_DATABASE=Precision Workstation 220 Chipset
-
-pci:v00008086d00002500sv00001043sd0000801C*
- ID_PRODUCT_FROM_DATABASE=P3C-2000 system chipset
-
-pci:v00008086d00002501*
- ID_PRODUCT_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH)
-
-pci:v00008086d00002501sv00001043sd0000801C*
- ID_PRODUCT_FROM_DATABASE=P3C-2000 system chipset
-
-pci:v00008086d0000250B*
- ID_PRODUCT_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge
-
-pci:v00008086d0000250F*
- ID_PRODUCT_FROM_DATABASE=82820 820 (Camino) Chipset AGP Bridge
-
-pci:v00008086d00002520*
- ID_PRODUCT_FROM_DATABASE=82805AA MTH Memory Translator Hub
-
-pci:v00008086d00002521*
- ID_PRODUCT_FROM_DATABASE=82804AA MRH-S Memory Repeater Hub for SDRAM
-
-pci:v00008086d00002530*
- ID_PRODUCT_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH)
-
-pci:v00008086d00002530sv00001028sd000000C7*
- ID_PRODUCT_FROM_DATABASE=Dimension 8100
-
-pci:v00008086d00002530sv0000147Bsd00000507*
- ID_PRODUCT_FROM_DATABASE=TH7II-RAID
-
-pci:v00008086d00002531*
- ID_PRODUCT_FROM_DATABASE=82860 860 (Wombat) Chipset Host Bridge (MCH)
-
-pci:v00008086d00002531sv00001028sd000000D8*
- ID_PRODUCT_FROM_DATABASE=Precision 530
-
-pci:v00008086d00002532*
- ID_PRODUCT_FROM_DATABASE=82850 850 (Tehama) Chipset AGP Bridge
-
-pci:v00008086d00002533*
- ID_PRODUCT_FROM_DATABASE=82860 860 (Wombat) Chipset AGP Bridge
-
-pci:v00008086d00002534*
- ID_PRODUCT_FROM_DATABASE=82860 860 (Wombat) Chipset PCI Bridge
-
-pci:v00008086d00002540*
- ID_PRODUCT_FROM_DATABASE=E7500 Memory Controller Hub
-
-pci:v00008086d00002540sv000015D9sd00003480*
- ID_PRODUCT_FROM_DATABASE=P4DP6
-
-pci:v00008086d00002541*
- ID_PRODUCT_FROM_DATABASE=E7500/E7501 Host RASUM Controller
-
-pci:v00008086d00002541sv000015D9sd00003480*
- ID_PRODUCT_FROM_DATABASE=P4DP6
-
-pci:v00008086d00002541sv00004C53sd00001090*
- ID_PRODUCT_FROM_DATABASE=Cx9 / Vx9 mainboard
-
-pci:v00008086d00002541sv00008086sd00003424*
- ID_PRODUCT_FROM_DATABASE=SE7501HG2 Mainboard
-
-pci:v00008086d00002543*
- ID_PRODUCT_FROM_DATABASE=E7500/E7501 Hub Interface B PCI-to-PCI Bridge
-
-pci:v00008086d00002544*
- ID_PRODUCT_FROM_DATABASE=E7500/E7501 Hub Interface B RASUM Controller
-
-pci:v00008086d00002544sv00004C53sd00001090*
- ID_PRODUCT_FROM_DATABASE=Cx9 / Vx9 mainboard
-
-pci:v00008086d00002545*
- ID_PRODUCT_FROM_DATABASE=E7500/E7501 Hub Interface C PCI-to-PCI Bridge
-
-pci:v00008086d00002546*
- ID_PRODUCT_FROM_DATABASE=E7500/E7501 Hub Interface C RASUM Controller
-
-pci:v00008086d00002547*
- ID_PRODUCT_FROM_DATABASE=E7500/E7501 Hub Interface D PCI-to-PCI Bridge
-
-pci:v00008086d00002548*
- ID_PRODUCT_FROM_DATABASE=E7500/E7501 Hub Interface D RASUM Controller
-
-pci:v00008086d0000254C*
- ID_PRODUCT_FROM_DATABASE=E7501 Memory Controller Hub
-
-pci:v00008086d0000254Csv00004C53sd00001090*
- ID_PRODUCT_FROM_DATABASE=Cx9 / Vx9 mainboard
-
-pci:v00008086d0000254Csv00008086sd00003424*
- ID_PRODUCT_FROM_DATABASE=SE7501HG2 Mainboard
-
-pci:v00008086d00002550*
- ID_PRODUCT_FROM_DATABASE=E7505 Memory Controller Hub
-
-pci:v00008086d00002551*
- ID_PRODUCT_FROM_DATABASE=E7505/E7205 Series RAS Controller
-
-pci:v00008086d00002552*
- ID_PRODUCT_FROM_DATABASE=E7505/E7205 PCI-to-AGP Bridge
-
-pci:v00008086d00002553*
- ID_PRODUCT_FROM_DATABASE=E7505 Hub Interface B PCI-to-PCI Bridge
-
-pci:v00008086d00002554*
- ID_PRODUCT_FROM_DATABASE=E7505 Hub Interface B PCI-to-PCI Bridge RAS Controller
-
-pci:v00008086d0000255D*
- ID_PRODUCT_FROM_DATABASE=E7205 Memory Controller Hub
-
-pci:v00008086d00002560*
- ID_PRODUCT_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface
-
-pci:v00008086d00002560sv00001028sd00000126*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX260
-
-pci:v00008086d00002560sv00001458sd00002560*
- ID_PRODUCT_FROM_DATABASE=GA-8PE667 Ultra
-
-pci:v00008086d00002560sv00001462sd00005800*
- ID_PRODUCT_FROM_DATABASE=845PE Max (MS-6580)
-
-pci:v00008086d00002561*
- ID_PRODUCT_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE Host-to-AGP Bridge
-
-pci:v00008086d00002562*
- ID_PRODUCT_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device
-
-pci:v00008086d00002562sv00000E11sd000000B9*
- ID_PRODUCT_FROM_DATABASE=Evo D510 SFF
-
-pci:v00008086d00002562sv00001014sd00000267*
- ID_PRODUCT_FROM_DATABASE=NetVista A30p
-
-pci:v00008086d00002562sv00001734sd00001003*
- ID_PRODUCT_FROM_DATABASE=D1521 Mainboard (Fujitsu-Siemens)
-
-pci:v00008086d00002562sv00001734sd00001004*
- ID_PRODUCT_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV)
-
-pci:v00008086d00002570*
- ID_PRODUCT_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface
-
-pci:v00008086d00002570sv0000103Csd0000006A*
- ID_PRODUCT_FROM_DATABASE=NX9500
-
-pci:v00008086d00002570sv0000103Csd000012BC*
- ID_PRODUCT_FROM_DATABASE=d330 uT
-
-pci:v00008086d00002570sv00001043sd000080F2*
- ID_PRODUCT_FROM_DATABASE=P4P800/P5P800 series motherboard
-
-pci:v00008086d00002570sv00001458sd00002570*
- ID_PRODUCT_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE)
-
-pci:v00008086d00002571*
- ID_PRODUCT_FROM_DATABASE=82865G/PE/P AGP Bridge
-
-pci:v00008086d00002572*
- ID_PRODUCT_FROM_DATABASE=82865G Integrated Graphics Controller
-
-pci:v00008086d00002572sv00001028sd0000019D*
- ID_PRODUCT_FROM_DATABASE=Dimension 3000
-
-pci:v00008086d00002572sv0000103Csd000012BC*
- ID_PRODUCT_FROM_DATABASE=D530 sff(dc578av)
-
-pci:v00008086d00002572sv00001043sd000080A5*
- ID_PRODUCT_FROM_DATABASE=P5P800-MX Mainboard
-
-pci:v00008086d00002572sv00001462sd00007650*
- ID_PRODUCT_FROM_DATABASE=Hetis 865GV-E (MS-7065)
-
-pci:v00008086d00002572sv00001734sd0000101B*
- ID_PRODUCT_FROM_DATABASE=Fujitsu-Siemens Scenic E300 i865GV
-
-pci:v00008086d00002572sv00008086sd00004246*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GBF
-
-pci:v00008086d00002572sv00008086sd00004C43*
- ID_PRODUCT_FROM_DATABASE=Desktop Board D865GLC
-
-pci:v00008086d00002573*
- ID_PRODUCT_FROM_DATABASE=82865G/PE/P PCI to CSA Bridge
-
-pci:v00008086d00002576*
- ID_PRODUCT_FROM_DATABASE=82865G/PE/P Processor to I/O Memory Interface
-
-pci:v00008086d00002578*
- ID_PRODUCT_FROM_DATABASE=82875P/E7210 Memory Controller Hub
-
-pci:v00008086d00002578sv00001458sd00002578*
- ID_PRODUCT_FROM_DATABASE=GA-8KNXP motherboard (875P)
-
-pci:v00008086d00002578sv00001462sd00007580*
- ID_PRODUCT_FROM_DATABASE=MS-6758 (875P Neo)
-
-pci:v00008086d00002578sv000015D9sd00004580*
- ID_PRODUCT_FROM_DATABASE=P4SCE Motherboard
-
-pci:v00008086d00002579*
- ID_PRODUCT_FROM_DATABASE=82875P Processor to AGP Controller
-
-pci:v00008086d0000257B*
- ID_PRODUCT_FROM_DATABASE=82875P/E7210 Processor to PCI to CSA Bridge
-
-pci:v00008086d0000257E*
- ID_PRODUCT_FROM_DATABASE=82875P/E7210 Processor to I/O Memory Interface
-
-pci:v00008086d00002580*
- ID_PRODUCT_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub
-
-pci:v00008086d00002580sv00001458sd00002580*
- ID_PRODUCT_FROM_DATABASE=GA-8I915ME-G Mainboard
-
-pci:v00008086d00002580sv00001462sd00007028*
- ID_PRODUCT_FROM_DATABASE=915P/G Neo2
-
-pci:v00008086d00002580sv00001734sd0000105B*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v00008086d00002581*
- ID_PRODUCT_FROM_DATABASE=82915G/P/GV/GL/PL/910GL PCI Express Root Port
-
-pci:v00008086d00002582*
- ID_PRODUCT_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller
-
-pci:v00008086d00002582sv00001028sd00001079*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX280
-
-pci:v00008086d00002582sv0000103Csd00003006*
- ID_PRODUCT_FROM_DATABASE=DC7100 SFF(DX878AV)
-
-pci:v00008086d00002582sv00001043sd00002582*
- ID_PRODUCT_FROM_DATABASE=P5GD1-VW Mainboard
-
-pci:v00008086d00002582sv00001458sd00002582*
- ID_PRODUCT_FROM_DATABASE=GA-8I915ME-G Mainboard
-
-pci:v00008086d00002582sv00001734sd0000105B*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v00008086d00002582sv00001849sd00002582*
- ID_PRODUCT_FROM_DATABASE=ASRock P4Dual-915GL
-
-pci:v00008086d00002584*
- ID_PRODUCT_FROM_DATABASE=82925X/XE Memory Controller Hub
-
-pci:v00008086d00002584sv00001028sd00000177*
- ID_PRODUCT_FROM_DATABASE=Dimension 8400
-
-pci:v00008086d00002585*
- ID_PRODUCT_FROM_DATABASE=82925X/XE PCI Express Root Port
-
-pci:v00008086d00002588*
- ID_PRODUCT_FROM_DATABASE=E7220/E7221 Memory Controller Hub
-
-pci:v00008086d00002589*
- ID_PRODUCT_FROM_DATABASE=E7220/E7221 PCI Express Root Port
-
-pci:v00008086d0000258A*
- ID_PRODUCT_FROM_DATABASE=E7221 Integrated Graphics Controller
-
-pci:v00008086d00002590*
- ID_PRODUCT_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller
-
-pci:v00008086d00002590sv00001014sd00000575*
- ID_PRODUCT_FROM_DATABASE=ThinkPad Z60t
-
-pci:v00008086d00002590sv00001028sd00000182*
- ID_PRODUCT_FROM_DATABASE=Dell Latitude C610
-
-pci:v00008086d00002590sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v00008086d00002590sv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d00002590sv0000104Dsd000081B7*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-S3XP
-
-pci:v00008086d00002590sv0000A304sd000081B7*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-S3XP
-
-pci:v00008086d00002590sv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d00002590sv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d00002590sv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d00002591*
- ID_PRODUCT_FROM_DATABASE=Mobile 915GM/PM Express PCI Express Root Port
-
-pci:v00008086d00002591sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation
-
-pci:v00008086d00002592*
- ID_PRODUCT_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller
-
-pci:v00008086d00002592sv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d00002592sv0000103Csd0000308A*
- ID_PRODUCT_FROM_DATABASE=NC6220
-
-pci:v00008086d00002592sv00001043sd00001881*
- ID_PRODUCT_FROM_DATABASE=GMA 900 915GM Integrated Graphics
-
-pci:v00008086d00002592sv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d00002592sv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d00002592sv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d000025A1*
- ID_PRODUCT_FROM_DATABASE=6300ESB LPC Interface Controller
-
-pci:v00008086d000025A2*
- ID_PRODUCT_FROM_DATABASE=6300ESB PATA Storage Controller
-
-pci:v00008086d000025A2sv00001775sd000010D0*
- ID_PRODUCT_FROM_DATABASE=V5D Single Board Computer IDE
-
-pci:v00008086d000025A2sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d000025A2sv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d000025A2sv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d000025A2sv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d000025A3*
- ID_PRODUCT_FROM_DATABASE=6300ESB SATA Storage Controller
-
-pci:v00008086d000025A3sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d000025A3sv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d000025A3sv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d000025A3sv00004C53sd000010D0*
- ID_PRODUCT_FROM_DATABASE=Telum ASLP10 Processor AMC
-
-pci:v00008086d000025A3sv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d000025A4*
- ID_PRODUCT_FROM_DATABASE=6300ESB SMBus Controller
-
-pci:v00008086d000025A4sv00001775sd000010D0*
- ID_PRODUCT_FROM_DATABASE=V5D Single Board Computer
-
-pci:v00008086d000025A4sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d000025A4sv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d000025A4sv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d000025A4sv00004C53sd000010D0*
- ID_PRODUCT_FROM_DATABASE=Telum ASLP10 Processor AMC
-
-pci:v00008086d000025A4sv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d000025A6*
- ID_PRODUCT_FROM_DATABASE=6300ESB AC'97 Audio Controller
-
-pci:v00008086d000025A6sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d000025A6sv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d000025A6sv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d000025A7*
- ID_PRODUCT_FROM_DATABASE=6300ESB AC'97 Modem Controller
-
-pci:v00008086d000025A9*
- ID_PRODUCT_FROM_DATABASE=6300ESB USB Universal Host Controller
-
-pci:v00008086d000025A9sv00001775sd000010D0*
- ID_PRODUCT_FROM_DATABASE=V5D Single Board Computer USB
-
-pci:v00008086d000025A9sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d000025A9sv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d000025A9sv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d000025A9sv00004C53sd000010D0*
- ID_PRODUCT_FROM_DATABASE=Telum ASLP10 Processor AMC
-
-pci:v00008086d000025A9sv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d000025AA*
- ID_PRODUCT_FROM_DATABASE=6300ESB USB Universal Host Controller
-
-pci:v00008086d000025AAsv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d000025AAsv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d000025AAsv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d000025AAsv00004C53sd000010D0*
- ID_PRODUCT_FROM_DATABASE=Telum ASLP10 Processor AMC
-
-pci:v00008086d000025AAsv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d000025AB*
- ID_PRODUCT_FROM_DATABASE=6300ESB Watchdog Timer
-
-pci:v00008086d000025ABsv00001775sd000010D0*
- ID_PRODUCT_FROM_DATABASE=V5D Single Board Computer
-
-pci:v00008086d000025ABsv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d000025ABsv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d000025ABsv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d000025ABsv00004C53sd000010D0*
- ID_PRODUCT_FROM_DATABASE=Telum ASLP10 Processor AMC
-
-pci:v00008086d000025ABsv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d000025AC*
- ID_PRODUCT_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller
-
-pci:v00008086d000025ACsv00001775sd000010D0*
- ID_PRODUCT_FROM_DATABASE=V5D Single Board Computer
-
-pci:v00008086d000025ACsv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d000025ACsv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d000025ACsv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d000025ACsv00004C53sd000010D0*
- ID_PRODUCT_FROM_DATABASE=Telum ASLP10 Processor AMC
-
-pci:v00008086d000025ACsv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d000025AD*
- ID_PRODUCT_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller
-
-pci:v00008086d000025ADsv00001775sd000010D0*
- ID_PRODUCT_FROM_DATABASE=V5D Single Board Computer USB 2.0
-
-pci:v00008086d000025ADsv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d000025ADsv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d000025ADsv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d000025ADsv00004C53sd000010D0*
- ID_PRODUCT_FROM_DATABASE=Telum ASLP10 Processor AMC
-
-pci:v00008086d000025ADsv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d000025AE*
- ID_PRODUCT_FROM_DATABASE=6300ESB 64-bit PCI-X Bridge
-
-pci:v00008086d000025B0*
- ID_PRODUCT_FROM_DATABASE=6300ESB SATA RAID Controller
-
-pci:v00008086d000025B0sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d000025B0sv00004C53sd000010D0*
- ID_PRODUCT_FROM_DATABASE=Telum ASLP10 Processor AMC
-
-pci:v00008086d000025B0sv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d000025C0*
- ID_PRODUCT_FROM_DATABASE=5000X Chipset Memory Controller Hub
-
-pci:v00008086d000025D0*
- ID_PRODUCT_FROM_DATABASE=5000Z Chipset Memory Controller Hub
-
-pci:v00008086d000025D4*
- ID_PRODUCT_FROM_DATABASE=5000V Chipset Memory Controller Hub
-
-pci:v00008086d000025D4sv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d000025D8*
- ID_PRODUCT_FROM_DATABASE=5000P Chipset Memory Controller Hub
-
-pci:v00008086d000025D8sv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d000025E2*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 2
-
-pci:v00008086d000025E3*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 3
-
-pci:v00008086d000025E4*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 4
-
-pci:v00008086d000025E5*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 5
-
-pci:v00008086d000025E6*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 6
-
-pci:v00008086d000025E7*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 7
-
-pci:v00008086d000025F0*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset FSB Registers
-
-pci:v00008086d000025F0sv00001028sd000001BB*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1955 FSB Registers
-
-pci:v00008086d000025F0sv0000103Csd000031FD*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d000025F0sv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d000025F0sv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d000025F1*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset Reserved Registers
-
-pci:v00008086d000025F1sv0000103Csd000031FD*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d000025F1sv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d000025F1sv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d000025F3*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset Reserved Registers
-
-pci:v00008086d000025F3sv0000103Csd000031FD*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d000025F3sv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d000025F3sv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d000025F5*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset FBD Registers
-
-pci:v00008086d000025F5sv0000103Csd000031FD*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d000025F5sv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d000025F5sv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d000025F6*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset FBD Registers
-
-pci:v00008086d000025F6sv0000103Csd000031FD*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d000025F6sv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d000025F6sv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d000025F7*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset PCI Express x8 Port 2-3
-
-pci:v00008086d000025F8*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset PCI Express x8 Port 4-5
-
-pci:v00008086d000025F9*
- ID_PRODUCT_FROM_DATABASE=5000 Series Chipset PCI Express x8 Port 6-7
-
-pci:v00008086d000025FA*
- ID_PRODUCT_FROM_DATABASE=5000X Chipset PCI Express x16 Port 4-7
-
-pci:v00008086d00002600*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 Hub Interface 1.5
-
-pci:v00008086d00002600sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 Hub Interface
-
-pci:v00008086d00002601*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 PCI Express x4 Port D
-
-pci:v00008086d00002602*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 PCI Express x4 Port C0
-
-pci:v00008086d00002603*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 PCI Express x4 Port C1
-
-pci:v00008086d00002604*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 PCI Express x4 Port B0
-
-pci:v00008086d00002605*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 PCI Express x4 Port B1
-
-pci:v00008086d00002606*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 PCI Express x4 Port A0
-
-pci:v00008086d00002607*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 PCI Express x4 Port A1
-
-pci:v00008086d00002608*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 PCI Express x8 Port C
-
-pci:v00008086d00002609*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 PCI Express x8 Port B
-
-pci:v00008086d0000260A*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 PCI Express x8 Port A
-
-pci:v00008086d0000260C*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 IMI Registers
-
-pci:v00008086d00002610*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 FSB Registers
-
-pci:v00008086d00002611*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 Address Mapping Registers
-
-pci:v00008086d00002612*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 RAS Registers
-
-pci:v00008086d00002613*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 Reserved Registers
-
-pci:v00008086d00002614*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 Reserved Registers
-
-pci:v00008086d00002615*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 Miscellaneous Registers
-
-pci:v00008086d00002617*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 Reserved Registers
-
-pci:v00008086d00002618*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 Reserved Registers
-
-pci:v00008086d00002619*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 Reserved Registers
-
-pci:v00008086d0000261A*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 Reserved Registers
-
-pci:v00008086d0000261B*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 Reserved Registers
-
-pci:v00008086d0000261C*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 Reserved Registers
-
-pci:v00008086d0000261D*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 Reserved Registers
-
-pci:v00008086d0000261E*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 Reserved Registers
-
-pci:v00008086d00002620*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 eXternal Memory Bridge
-
-pci:v00008086d00002620sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 Memory Bridge
-
-pci:v00008086d00002621*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 XMB Miscellaneous Registers
-
-pci:v00008086d00002621sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 XMB Registers
-
-pci:v00008086d00002622*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 XMB Memory Interleaving Registers
-
-pci:v00008086d00002622sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 Memory Interleaving Registers
-
-pci:v00008086d00002623*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 XMB DDR Initialization and Calibration
-
-pci:v00008086d00002623sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 DDR Initialization and Calibration
-
-pci:v00008086d00002624*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 XMB Reserved Registers
-
-pci:v00008086d00002624sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 Reserved Registers
-
-pci:v00008086d00002625*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 XMB Reserved Registers
-
-pci:v00008086d00002625sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 Reserved Registers
-
-pci:v00008086d00002626*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 XMB Reserved Registers
-
-pci:v00008086d00002626sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 Reserved Registers
-
-pci:v00008086d00002627*
- ID_PRODUCT_FROM_DATABASE=E8500/E8501 XMB Reserved Registers
-
-pci:v00008086d00002627sv00001028sd00000170*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 6850 Reserved Registers
-
-pci:v00008086d00002640*
- ID_PRODUCT_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge
-
-pci:v00008086d00002640sv00001462sd00007028*
- ID_PRODUCT_FROM_DATABASE=915P/G Neo2
-
-pci:v00008086d00002640sv00001734sd0000105C*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v00008086d00002640sv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d00002640sv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d00002640sv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d00002641*
- ID_PRODUCT_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge
-
-pci:v00008086d00002641sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v00008086d00002641sv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d00002642*
- ID_PRODUCT_FROM_DATABASE=82801FW/FRW (ICH6W/ICH6RW) LPC Interface Bridge
-
-pci:v00008086d00002651*
- ID_PRODUCT_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller
-
-pci:v00008086d00002651sv00001028sd00000179*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX280
-
-pci:v00008086d00002651sv00001043sd00002601*
- ID_PRODUCT_FROM_DATABASE=P5GD1-VW Mainboard
-
-pci:v00008086d00002651sv00001734sd0000105C*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v00008086d00002651sv00008086sd00004147*
- ID_PRODUCT_FROM_DATABASE=D915GAG Motherboard
-
-pci:v00008086d00002651sv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d00002651sv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d00002651sv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d00002652*
- ID_PRODUCT_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller
-
-pci:v00008086d00002652sv00001028sd00000177*
- ID_PRODUCT_FROM_DATABASE=Dimension 8400
-
-pci:v00008086d00002652sv00001462sd00007028*
- ID_PRODUCT_FROM_DATABASE=915P/G Neo2
-
-pci:v00008086d00002653*
- ID_PRODUCT_FROM_DATABASE=82801FBM (ICH6M) SATA Controller
-
-pci:v00008086d00002658*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1
-
-pci:v00008086d00002658sv00001028sd00000177*
- ID_PRODUCT_FROM_DATABASE=Dimension 8400
-
-pci:v00008086d00002658sv00001028sd00000179*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX280
-
-pci:v00008086d00002658sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v00008086d00002658sv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d00002658sv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P5GD1-VW Mainboard
-
-pci:v00008086d00002658sv00001458sd00002558*
- ID_PRODUCT_FROM_DATABASE=GA-8I915ME-G Mainboard
-
-pci:v00008086d00002658sv00001462sd00007028*
- ID_PRODUCT_FROM_DATABASE=915P/G Neo2
-
-pci:v00008086d00002658sv00001734sd0000105C*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v00008086d00002658sv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d00002658sv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d00002658sv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d00002659*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2
-
-pci:v00008086d00002659sv00001028sd00000177*
- ID_PRODUCT_FROM_DATABASE=Dimension 8400
-
-pci:v00008086d00002659sv00001028sd00000179*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX280
-
-pci:v00008086d00002659sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v00008086d00002659sv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d00002659sv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P5GD1-VW Mainboard
-
-pci:v00008086d00002659sv00001458sd00002659*
- ID_PRODUCT_FROM_DATABASE=GA-8I915ME-G Mainboard
-
-pci:v00008086d00002659sv00001462sd00007028*
- ID_PRODUCT_FROM_DATABASE=915P/G Neo2
-
-pci:v00008086d00002659sv00001734sd0000105C*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v00008086d00002659sv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d00002659sv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d00002659sv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d0000265A*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3
-
-pci:v00008086d0000265Asv00001028sd00000177*
- ID_PRODUCT_FROM_DATABASE=Dimension 8400
-
-pci:v00008086d0000265Asv00001028sd00000179*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX280
-
-pci:v00008086d0000265Asv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v00008086d0000265Asv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d0000265Asv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P5GD1-VW Mainboard
-
-pci:v00008086d0000265Asv00001458sd0000265A*
- ID_PRODUCT_FROM_DATABASE=GA-8I915ME-G Mainboard
-
-pci:v00008086d0000265Asv00001462sd00007028*
- ID_PRODUCT_FROM_DATABASE=915P/G Neo2
-
-pci:v00008086d0000265Asv00001734sd0000105C*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v00008086d0000265Asv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d0000265Asv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d0000265Asv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d0000265B*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4
-
-pci:v00008086d0000265Bsv00001028sd00000177*
- ID_PRODUCT_FROM_DATABASE=Dimension 8400
-
-pci:v00008086d0000265Bsv00001028sd00000179*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX280
-
-pci:v00008086d0000265Bsv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d0000265Bsv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P5GD1-VW Mainboard
-
-pci:v00008086d0000265Bsv00001458sd0000265A*
- ID_PRODUCT_FROM_DATABASE=GA-8I915ME-G Mainboard
-
-pci:v00008086d0000265Bsv00001462sd00007028*
- ID_PRODUCT_FROM_DATABASE=915P/G Neo2
-
-pci:v00008086d0000265Bsv00001734sd0000105C*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v00008086d0000265Bsv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d0000265Bsv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d0000265Bsv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d0000265C*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller
-
-pci:v00008086d0000265Csv00001028sd00000177*
- ID_PRODUCT_FROM_DATABASE=Dimension 8400
-
-pci:v00008086d0000265Csv00001028sd00000179*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX280
-
-pci:v00008086d0000265Csv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v00008086d0000265Csv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d0000265Csv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P5GD1-VW Mainboard
-
-pci:v00008086d0000265Csv00001458sd00005006*
- ID_PRODUCT_FROM_DATABASE=GA-8I915ME-G Mainboard
-
-pci:v00008086d0000265Csv00001462sd00007028*
- ID_PRODUCT_FROM_DATABASE=915P/G Neo2
-
-pci:v00008086d0000265Csv00001734sd0000105C*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v00008086d0000265Csv00008086sd0000265C*
- ID_PRODUCT_FROM_DATABASE=Dimension 3100
-
-pci:v00008086d0000265Csv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d0000265Csv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d0000265Csv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d00002660*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1
-
-pci:v00008086d00002660sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation
-
-pci:v00008086d00002660sv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d00002660sv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d00002660sv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d00002660sv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d00002662*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2
-
-pci:v00008086d00002662sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation
-
-pci:v00008086d00002662sv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d00002662sv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d00002662sv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d00002664*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3
-
-pci:v00008086d00002664sv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d00002664sv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d00002664sv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d00002666*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4
-
-pci:v00008086d00002666sv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d00002666sv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d00002666sv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d00002668*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller
-
-pci:v00008086d00002668sv00001014sd000005B7*
- ID_PRODUCT_FROM_DATABASE=ThinkPad Z60t
-
-pci:v00008086d00002668sv0000103Csd00002A09*
- ID_PRODUCT_FROM_DATABASE=PufferM-UL8E
-
-pci:v00008086d00002668sv00001043sd00001173*
- ID_PRODUCT_FROM_DATABASE=Asus A6VC
-
-pci:v00008086d00002668sv00001043sd0000814E*
- ID_PRODUCT_FROM_DATABASE=P5GD1-VW Mainboard
-
-pci:v00008086d00002668sv00001462sd00007028*
- ID_PRODUCT_FROM_DATABASE=915P/G Neo2
-
-pci:v00008086d0000266A*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller
-
-pci:v00008086d0000266Asv00001028sd00000177*
- ID_PRODUCT_FROM_DATABASE=Dimension 8400
-
-pci:v00008086d0000266Asv00001028sd00000179*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX280
-
-pci:v00008086d0000266Asv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P5GD1-VW Mainboard
-
-pci:v00008086d0000266Asv00001458sd0000266A*
- ID_PRODUCT_FROM_DATABASE=GA-8I915ME-G Mainboard
-
-pci:v00008086d0000266Asv00001462sd00007028*
- ID_PRODUCT_FROM_DATABASE=915P/G Neo2
-
-pci:v00008086d0000266Asv00001734sd0000105C*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v00008086d0000266Asv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d0000266Asv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d0000266Asv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d0000266C*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) LAN Controller
-
-pci:v00008086d0000266D*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller
-
-pci:v00008086d0000266Dsv00001025sd0000006A*
- ID_PRODUCT_FROM_DATABASE=Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop)
-
-pci:v00008086d0000266Dsv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v00008086d0000266Dsv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d0000266E*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller
-
-pci:v00008086d0000266Esv00001025sd0000006A*
- ID_PRODUCT_FROM_DATABASE=Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop)
-
-pci:v00008086d0000266Esv00001028sd00000177*
- ID_PRODUCT_FROM_DATABASE=Dimension 8400
-
-pci:v00008086d0000266Esv00001028sd00000179*
- ID_PRODUCT_FROM_DATABASE=Optiplex GX280
-
-pci:v00008086d0000266Esv00001028sd00000182*
- ID_PRODUCT_FROM_DATABASE=Latitude D610 Laptop
-
-pci:v00008086d0000266Esv00001028sd00000187*
- ID_PRODUCT_FROM_DATABASE=Dell Precision M70 Laptop
-
-pci:v00008086d0000266Esv00001028sd00000188*
- ID_PRODUCT_FROM_DATABASE=Inspiron 6000 laptop
-
-pci:v00008086d0000266Esv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v00008086d0000266Esv0000103Csd00000944*
- ID_PRODUCT_FROM_DATABASE=Compaq NC6220
-
-pci:v00008086d0000266Esv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d0000266Esv0000103Csd00003006*
- ID_PRODUCT_FROM_DATABASE=DC7100 SFF(DX878AV)
-
-pci:v00008086d0000266Esv00001458sd0000A002*
- ID_PRODUCT_FROM_DATABASE=GA-8I915ME-G Mainboard
-
-pci:v00008086d0000266Esv0000152Dsd00000745*
- ID_PRODUCT_FROM_DATABASE=Packard Bell A8550 Laptop
-
-pci:v00008086d0000266Esv00001734sd0000105A*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v00008086d0000266F*
- ID_PRODUCT_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller
-
-pci:v00008086d0000266Fsv00001028sd00000177*
- ID_PRODUCT_FROM_DATABASE=Dimension 8400
-
-pci:v00008086d0000266Fsv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v00008086d0000266Fsv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d0000266Fsv00001043sd000080A6*
- ID_PRODUCT_FROM_DATABASE=P5GD1-VW Mainboard
-
-pci:v00008086d0000266Fsv00001458sd0000266F*
- ID_PRODUCT_FROM_DATABASE=GA-8I915ME-G Mainboard
-
-pci:v00008086d0000266Fsv00001462sd00007028*
- ID_PRODUCT_FROM_DATABASE=915P/G Neo2
-
-pci:v00008086d0000266Fsv00001734sd0000105C*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v00008086d0000266Fsv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d0000266Fsv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d0000266Fsv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d00002670*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller
-
-pci:v00008086d00002670sv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d00002670sv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d00002670sv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d00002680*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB/3100 Chipset SATA IDE Controller
-
-pci:v00008086d00002681*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller
-
-pci:v00008086d00002681sv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d00002681sv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d00002681sv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d00002682*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB SATA RAID Controller
-
-pci:v00008086d00002682sv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=Adaptec Serial ATA HostRAID
-
-pci:v00008086d00002683*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB SATA RAID Controller
-
-pci:v00008086d00002688*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1
-
-pci:v00008086d00002688sv00001028sd000001BB*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1955 onboard USB
-
-pci:v00008086d00002688sv00001028sd000001F0*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R900 onboard USB
-
-pci:v00008086d00002688sv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d00002688sv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d00002688sv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d00002689*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2
-
-pci:v00008086d00002689sv00001028sd000001BB*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1955 onboard USB
-
-pci:v00008086d00002689sv00001028sd000001F0*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R900 onboard USB
-
-pci:v00008086d00002689sv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d00002689sv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d00002689sv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d0000268A*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3
-
-pci:v00008086d0000268Asv00001028sd000001F0*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R900 onboard USB
-
-pci:v00008086d0000268Asv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d0000268Asv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d0000268Asv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d0000268B*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4
-
-pci:v00008086d0000268Bsv00001028sd000001F0*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R900 onboard USB
-
-pci:v00008086d0000268Bsv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d0000268Bsv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d0000268C*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller
-
-pci:v00008086d0000268Csv00001028sd000001BB*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1955 onboard USB
-
-pci:v00008086d0000268Csv00001028sd000001F0*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R900 onboard USB
-
-pci:v00008086d0000268Csv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d0000268Csv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d0000268Csv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d00002690*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1
-
-pci:v00008086d00002690sv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d00002692*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 2
-
-pci:v00008086d00002692sv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d00002694*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 3
-
-pci:v00008086d00002696*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 4
-
-pci:v00008086d00002698*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB AC '97 Audio Controller
-
-pci:v00008086d00002699*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB AC '97 Modem Controller
-
-pci:v00008086d0000269A*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB High Definition Audio Controller
-
-pci:v00008086d0000269B*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller
-
-pci:v00008086d0000269Bsv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d0000269Bsv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d0000269Bsv00008086sd00003476*
- ID_PRODUCT_FROM_DATABASE=Intel S5000PSLSATA Server Board
-
-pci:v00008086d0000269E*
- ID_PRODUCT_FROM_DATABASE=631xESB/632xESB IDE Controller
-
-pci:v00008086d0000269Esv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d0000269Esv000015D9sd00008680*
- ID_PRODUCT_FROM_DATABASE=X7DVL-E-O motherboard
-
-pci:v00008086d00002770*
- ID_PRODUCT_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub
-
-pci:v00008086d00002770sv00001028sd000001AD*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX620
-
-pci:v00008086d00002770sv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d00002770sv00001043sd0000817A*
- ID_PRODUCT_FROM_DATABASE=P5LD2-VM Mainboard
-
-pci:v00008086d00002770sv0000107Bsd00005048*
- ID_PRODUCT_FROM_DATABASE=E4500
-
-pci:v00008086d00002770sv00008086sd0000544E*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d00002771*
- ID_PRODUCT_FROM_DATABASE=82945G/GZ/P/PL PCI Express Root Port
-
-pci:v00008086d00002772*
- ID_PRODUCT_FROM_DATABASE=82945G/GZ Integrated Graphics Controller
-
-pci:v00008086d00002772sv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d00002772sv00008086sd0000544E*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d00002772sv00008086sd0000D605*
- ID_PRODUCT_FROM_DATABASE=Intel Desktop Board D945GCCR
-
-pci:v00008086d00002774*
- ID_PRODUCT_FROM_DATABASE=82955X Memory Controller Hub
-
-pci:v00008086d00002775*
- ID_PRODUCT_FROM_DATABASE=82955X PCI Express Root Port
-
-pci:v00008086d00002776*
- ID_PRODUCT_FROM_DATABASE=82945G/GZ Integrated Graphics Controller
-
-pci:v00008086d00002778*
- ID_PRODUCT_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub
-
-pci:v00008086d00002778sv00001028sd000001DF*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC440
-
-pci:v00008086d00002778sv00001028sd000001E6*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 860
-
-pci:v00008086d00002779*
- ID_PRODUCT_FROM_DATABASE=E7230/3000/3010 PCI Express Root Port
-
-pci:v00008086d0000277A*
- ID_PRODUCT_FROM_DATABASE=82975X/3010 PCI Express Root Port
-
-pci:v00008086d0000277C*
- ID_PRODUCT_FROM_DATABASE=82975X Memory Controller Hub
-
-pci:v00008086d0000277Csv00001043sd00008178*
- ID_PRODUCT_FROM_DATABASE=P5WDG2 WS Professional motherboard
-
-pci:v00008086d0000277D*
- ID_PRODUCT_FROM_DATABASE=82975X PCI Express Root Port
-
-pci:v00008086d00002782*
- ID_PRODUCT_FROM_DATABASE=82915G Integrated Graphics Controller
-
-pci:v00008086d00002782sv00001043sd00002582*
- ID_PRODUCT_FROM_DATABASE=P5GD1-VW Mainboard
-
-pci:v00008086d00002782sv00001734sd0000105B*
- ID_PRODUCT_FROM_DATABASE=Scenic W620
-
-pci:v00008086d00002792*
- ID_PRODUCT_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller
-
-pci:v00008086d00002792sv0000103Csd0000099C*
- ID_PRODUCT_FROM_DATABASE=NX6110/NC6120
-
-pci:v00008086d00002792sv00001043sd00001881*
- ID_PRODUCT_FROM_DATABASE=GMA 900 915GM Integrated Graphics
-
-pci:v00008086d00002792sv0000E4BFsd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v00008086d00002792sv0000E4BFsd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v00008086d00002792sv0000E4BFsd000058B1*
- ID_PRODUCT_FROM_DATABASE=XB1
-
-pci:v00008086d000027A0*
- ID_PRODUCT_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub
-
-pci:v00008086d000027A0sv00001025sd0000006C*
- ID_PRODUCT_FROM_DATABASE=9814 WKMI
-
-pci:v00008086d000027A0sv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00008086d000027A0sv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d000027A0sv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v00008086d000027A0sv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027A0sv00001043sd00001237*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v00008086d000027A0sv000017AAsd00002015*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60
-
-pci:v00008086d000027A0sv000017AAsd00002017*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v00008086d000027A1*
- ID_PRODUCT_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port
-
-pci:v00008086d000027A1sv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d000027A1sv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027A2*
- ID_PRODUCT_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller
-
-pci:v00008086d000027A2sv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v00008086d000027A2sv000017AAsd0000201A*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v00008086d000027A2sv00009902sd00001584*
- ID_PRODUCT_FROM_DATABASE=CCE MPL-D10H120F
-
-pci:v00008086d000027A6*
- ID_PRODUCT_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller
-
-pci:v00008086d000027A6sv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v00008086d000027A6sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11 integrated graphics (secondary)
-
-pci:v00008086d000027A6sv000017AAsd0000201A*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v00008086d000027AC*
- ID_PRODUCT_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub
-
-pci:v00008086d000027ACsv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027AD*
- ID_PRODUCT_FROM_DATABASE=Mobile 945GSE Express PCI Express Root Port
-
-pci:v00008086d000027AE*
- ID_PRODUCT_FROM_DATABASE=Mobile 945GSE Express Integrated Graphics Controller
-
-pci:v00008086d000027AEsv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11 integrated graphics (primary)
-
-pci:v00008086d000027B0*
- ID_PRODUCT_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge
-
-pci:v00008086d000027B0sv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d000027B0sv00008086sd0000544E*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027B8*
- ID_PRODUCT_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge
-
-pci:v00008086d000027B8sv00001028sd000001E6*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 860
-
-pci:v00008086d000027B8sv00001043sd00008179*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM Motherboard
-
-pci:v00008086d000027B8sv0000107Bsd00005048*
- ID_PRODUCT_FROM_DATABASE=E4500
-
-pci:v00008086d000027B8sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027B8sv00008086sd0000544E*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027B9*
- ID_PRODUCT_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge
-
-pci:v00008086d000027B9sv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00008086d000027B9sv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d000027B9sv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v00008086d000027B9sv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027B9sv000010F7sd00008338*
- ID_PRODUCT_FROM_DATABASE=Panasonic CF-Y5 laptop
-
-pci:v00008086d000027B9sv000017AAsd00002009*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v00008086d000027BC*
- ID_PRODUCT_FROM_DATABASE=NM10 Family LPC Controller
-
-pci:v00008086d000027BCsv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d000027BCsv00008086sd00004F4D*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D510MO
-
-pci:v00008086d000027BD*
- ID_PRODUCT_FROM_DATABASE=82801GHM (ICH7-M DH) LPC Interface Bridge
-
-pci:v00008086d000027BDsv00001025sd0000006C*
- ID_PRODUCT_FROM_DATABASE=9814 WKMI
-
-pci:v00008086d000027C0*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode]
-
-pci:v00008086d000027C0sv00001028sd000001AD*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX620
-
-pci:v00008086d000027C0sv00001028sd000001DF*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC440
-
-pci:v00008086d000027C0sv00001028sd000001E6*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 860
-
-pci:v00008086d000027C0sv00001043sd00008179*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM Motherboard
-
-pci:v00008086d000027C0sv0000107Bsd00005048*
- ID_PRODUCT_FROM_DATABASE=E4500
-
-pci:v00008086d000027C0sv00001462sd00002310*
- ID_PRODUCT_FROM_DATABASE=MSI Hetis 945
-
-pci:v00008086d000027C0sv00001462sd00007236*
- ID_PRODUCT_FROM_DATABASE=945P Neo3-F Rev. 2.2 motherboard
-
-pci:v00008086d000027C0sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027C0sv00008086sd0000544E*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027C1*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode]
-
-pci:v00008086d000027C1sv00001028sd000001DF*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC440
-
-pci:v00008086d000027C1sv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d000027C1sv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d000027C1sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027C1sv00008086sd00004F4D*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D510MO
-
-pci:v00008086d000027C1sv00008086sd00005842*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D975XBX
-
-pci:v00008086d000027C3*
- ID_PRODUCT_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode]
-
-pci:v00008086d000027C3sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027C3sv00008086sd0000544E*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027C4*
- ID_PRODUCT_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode]
-
-pci:v00008086d000027C4sv00001025sd0000006C*
- ID_PRODUCT_FROM_DATABASE=9814 WKMI
-
-pci:v00008086d000027C4sv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00008086d000027C4sv000017AAsd0000200E*
- ID_PRODUCT_FROM_DATABASE=Thinkpad T60 model 2007
-
-pci:v00008086d000027C5*
- ID_PRODUCT_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode]
-
-pci:v00008086d000027C5sv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d000027C5sv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027C5sv000017AAsd0000200D*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v00008086d000027C6*
- ID_PRODUCT_FROM_DATABASE=82801GHM (ICH7-M DH) SATA Controller [RAID mode]
-
-pci:v00008086d000027C8*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1
-
-pci:v00008086d000027C8sv00001025sd0000006C*
- ID_PRODUCT_FROM_DATABASE=9814 WKMI
-
-pci:v00008086d000027C8sv00001028sd000001AD*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX620
-
-pci:v00008086d000027C8sv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00008086d000027C8sv00001028sd000001DF*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC440
-
-pci:v00008086d000027C8sv00001028sd000001E6*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 860
-
-pci:v00008086d000027C8sv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d000027C8sv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d000027C8sv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v00008086d000027C8sv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027C8sv00001043sd00001237*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v00008086d000027C8sv00001043sd00008179*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard
-
-pci:v00008086d000027C8sv0000107Bsd00005048*
- ID_PRODUCT_FROM_DATABASE=E4500
-
-pci:v00008086d000027C8sv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d000027C8sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027C8sv000017AAsd0000200A*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v00008086d000027C8sv00008086sd00004F4D*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D510MO
-
-pci:v00008086d000027C8sv00008086sd0000544E*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027C9*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2
-
-pci:v00008086d000027C9sv00001025sd0000006C*
- ID_PRODUCT_FROM_DATABASE=9814 WKMI
-
-pci:v00008086d000027C9sv00001028sd000001AD*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX620
-
-pci:v00008086d000027C9sv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00008086d000027C9sv00001028sd000001DF*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC440
-
-pci:v00008086d000027C9sv00001028sd000001E6*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 860
-
-pci:v00008086d000027C9sv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d000027C9sv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d000027C9sv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v00008086d000027C9sv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027C9sv00001043sd00001237*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v00008086d000027C9sv00001043sd00008179*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard
-
-pci:v00008086d000027C9sv0000107Bsd00005048*
- ID_PRODUCT_FROM_DATABASE=E4500
-
-pci:v00008086d000027C9sv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d000027C9sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027C9sv000017AAsd0000200A*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v00008086d000027C9sv00008086sd00004F4D*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D510MO
-
-pci:v00008086d000027C9sv00008086sd0000544E*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027CA*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3
-
-pci:v00008086d000027CAsv00001025sd0000006C*
- ID_PRODUCT_FROM_DATABASE=9814 WKMI
-
-pci:v00008086d000027CAsv00001028sd000001AD*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX620
-
-pci:v00008086d000027CAsv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00008086d000027CAsv00001028sd000001DF*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC440
-
-pci:v00008086d000027CAsv00001028sd000001E6*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 860
-
-pci:v00008086d000027CAsv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d000027CAsv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d000027CAsv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v00008086d000027CAsv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027CAsv00001043sd00001237*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v00008086d000027CAsv00001043sd00008179*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard
-
-pci:v00008086d000027CAsv0000107Bsd00005048*
- ID_PRODUCT_FROM_DATABASE=E4500
-
-pci:v00008086d000027CAsv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d000027CAsv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027CAsv000017AAsd0000200A*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v00008086d000027CAsv00008086sd00004F4D*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D510MO
-
-pci:v00008086d000027CAsv00008086sd0000544E*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027CB*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4
-
-pci:v00008086d000027CBsv00001025sd0000006C*
- ID_PRODUCT_FROM_DATABASE=9814 WKMI
-
-pci:v00008086d000027CBsv00001028sd000001AD*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX620
-
-pci:v00008086d000027CBsv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00008086d000027CBsv00001028sd000001DF*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC440
-
-pci:v00008086d000027CBsv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d000027CBsv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d000027CBsv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v00008086d000027CBsv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027CBsv00001043sd00001237*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v00008086d000027CBsv00001043sd00008179*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard
-
-pci:v00008086d000027CBsv0000107Bsd00005048*
- ID_PRODUCT_FROM_DATABASE=E4500
-
-pci:v00008086d000027CBsv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d000027CBsv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027CBsv000017AAsd0000200A*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v00008086d000027CBsv00008086sd00004F4D*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D510MO
-
-pci:v00008086d000027CBsv00008086sd0000544E*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027CC*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller
-
-pci:v00008086d000027CCsv00001025sd0000006C*
- ID_PRODUCT_FROM_DATABASE=9814 WKMI
-
-pci:v00008086d000027CCsv00001028sd000001AD*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX620
-
-pci:v00008086d000027CCsv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00008086d000027CCsv00001028sd000001DF*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC440
-
-pci:v00008086d000027CCsv00001028sd000001E6*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 860
-
-pci:v00008086d000027CCsv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d000027CCsv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d000027CCsv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v00008086d000027CCsv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027CCsv00001043sd00001237*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v00008086d000027CCsv00001043sd00008179*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard
-
-pci:v00008086d000027CCsv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d000027CCsv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027CCsv000017AAsd0000200B*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v00008086d000027CCsv00008086sd00004F4D*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D510MO
-
-pci:v00008086d000027CCsv00008086sd0000544E*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027D0*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1
-
-pci:v00008086d000027D0sv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d000027D0sv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027D0sv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d000027D0sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027D2*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2
-
-pci:v00008086d000027D2sv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d000027D2sv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027D2sv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d000027D2sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027D4*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3
-
-pci:v00008086d000027D4sv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d000027D4sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027D6*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4
-
-pci:v00008086d000027D6sv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027D6sv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d000027D6sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027D8*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller
-
-pci:v00008086d000027D8sv00001025sd0000006C*
- ID_PRODUCT_FROM_DATABASE=9814 WKMI
-
-pci:v00008086d000027D8sv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00008086d000027D8sv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d000027D8sv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d000027D8sv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v00008086d000027D8sv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027D8sv00001043sd00001123*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v00008086d000027D8sv00001043sd000013C4*
- ID_PRODUCT_FROM_DATABASE=Asus G2P
-
-pci:v00008086d000027D8sv00001043sd0000817F*
- ID_PRODUCT_FROM_DATABASE=P5LD2-VM Mainboard (Realtek ALC 882 codec)
-
-pci:v00008086d000027D8sv00001043sd00008290*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM Motherboard
-
-pci:v00008086d000027D8sv00001043sd000082EA*
- ID_PRODUCT_FROM_DATABASE=P5KPL-CM Motherboard
-
-pci:v00008086d000027D8sv0000107Bsd00005048*
- ID_PRODUCT_FROM_DATABASE=E4500
-
-pci:v00008086d000027D8sv000010F7sd00008338*
- ID_PRODUCT_FROM_DATABASE=Panasonic CF-Y5 laptop
-
-pci:v00008086d000027D8sv00001179sd0000FF10*
- ID_PRODUCT_FROM_DATABASE=Toshiba Satellite A100-796 audio (Realtek ALC861)
-
-pci:v00008086d000027D8sv00001179sd0000FF31*
- ID_PRODUCT_FROM_DATABASE=AC97 Data Fax SoftModem with SmartCP
-
-pci:v00008086d000027D8sv00001447sd00001043*
- ID_PRODUCT_FROM_DATABASE=Asus A8JP (Analog Devices AD1986A)
-
-pci:v00008086d000027D8sv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d000027D8sv00001458sd0000A102*
- ID_PRODUCT_FROM_DATABASE=GA-8I945PG-RH Mainboard
-
-pci:v00008086d000027D8sv0000152Dsd00000753*
- ID_PRODUCT_FROM_DATABASE=Softmodem
-
-pci:v00008086d000027D8sv00001734sd000010AD*
- ID_PRODUCT_FROM_DATABASE=Conexant softmodem SmartCP
-
-pci:v00008086d000027D8sv000017AAsd00002010*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v00008086d000027D8sv000017AAsd00003802*
- ID_PRODUCT_FROM_DATABASE=Lenovo 3000 C200 audio [Realtek ALC861VD]
-
-pci:v00008086d000027D8sv00008086sd00001112*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027D8sv00008086sd000027D8*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027D8sv00008086sd0000D618*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D510MO
-
-pci:v00008086d000027D8sv00008384sd00007680*
- ID_PRODUCT_FROM_DATABASE=STAC9221 HD Audio Codec
-
-pci:v00008086d000027DA*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family SMBus Controller
-
-pci:v00008086d000027DAsv00001025sd0000006C*
- ID_PRODUCT_FROM_DATABASE=9814 WKMI
-
-pci:v00008086d000027DAsv00001028sd000001AD*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX620
-
-pci:v00008086d000027DAsv00001028sd000001D7*
- ID_PRODUCT_FROM_DATABASE=XPS M1210
-
-pci:v00008086d000027DAsv00001028sd000001DF*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC440
-
-pci:v00008086d000027DAsv00001028sd000001E6*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 860
-
-pci:v00008086d000027DAsv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d000027DAsv00001043sd00008179*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM Motherboard
-
-pci:v00008086d000027DAsv000010F7sd00008338*
- ID_PRODUCT_FROM_DATABASE=Panasonic CF-Y5 laptop
-
-pci:v00008086d000027DAsv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d000027DAsv00001458sd00005001*
- ID_PRODUCT_FROM_DATABASE=GA-8I945PG-RH Mainboard
-
-pci:v00008086d000027DAsv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027DAsv000017AAsd0000200F*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v00008086d000027DAsv00008086sd00004F4D*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D510MO
-
-pci:v00008086d000027DAsv00008086sd0000544E*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027DAsv00008086sd00005842*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D975XBX
-
-pci:v00008086d000027DC*
- ID_PRODUCT_FROM_DATABASE=NM10/ICH7 Family LAN Controller
-
-pci:v00008086d000027DCsv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d000027DCsv00008086sd0000308D*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027DD*
- ID_PRODUCT_FROM_DATABASE=82801G (ICH7 Family) AC'97 Modem Controller
-
-pci:v00008086d000027DE*
- ID_PRODUCT_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller
-
-pci:v00008086d000027DEsv00001028sd000001AD*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX620
-
-pci:v00008086d000027DEsv00001462sd00007267*
- ID_PRODUCT_FROM_DATABASE=Realtek ALC883 Audio Controller
-
-pci:v00008086d000027DEsv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11 integrated audio (AD1981BL codec)
-
-pci:v00008086d000027DF*
- ID_PRODUCT_FROM_DATABASE=82801G (ICH7 Family) IDE Controller
-
-pci:v00008086d000027DFsv00001028sd000001DF*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC440
-
-pci:v00008086d000027DFsv00001028sd000001E6*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 860
-
-pci:v00008086d000027DFsv0000103Csd00002A3B*
- ID_PRODUCT_FROM_DATABASE=Pavilion A1512X
-
-pci:v00008086d000027DFsv0000103Csd0000309F*
- ID_PRODUCT_FROM_DATABASE=Compaq nx9420 Notebook
-
-pci:v00008086d000027DFsv0000103Csd000030A1*
- ID_PRODUCT_FROM_DATABASE=NC2400
-
-pci:v00008086d000027DFsv0000103Csd000030A3*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8440
-
-pci:v00008086d000027DFsv00001043sd00001237*
- ID_PRODUCT_FROM_DATABASE=A6J-Q008
-
-pci:v00008086d000027DFsv00001043sd00008179*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM Motherboard
-
-pci:v00008086d000027DFsv0000107Bsd00005048*
- ID_PRODUCT_FROM_DATABASE=E4500
-
-pci:v00008086d000027DFsv000010F7sd00008338*
- ID_PRODUCT_FROM_DATABASE=Panasonic CF-Y5 laptop
-
-pci:v00008086d000027DFsv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027DFsv000017AAsd0000200C*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60/R60 series
-
-pci:v00008086d000027DFsv00008086sd0000544E*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D945GTP
-
-pci:v00008086d000027E0*
- ID_PRODUCT_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 5
-
-pci:v00008086d000027E0sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d000027E2*
- ID_PRODUCT_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 6
-
-pci:v00008086d000027E2sv00001775sd000011CC*
- ID_PRODUCT_FROM_DATABASE=CC11/CL11
-
-pci:v00008086d00002802*
- ID_PRODUCT_FROM_DATABASE=82GL40 [Cantiga] High Definition Audio HDMI Service
-
-pci:v00008086d00002810*
- ID_PRODUCT_FROM_DATABASE=82801HB/HR (ICH8/R) LPC Interface Controller
-
-pci:v00008086d00002810sv00001043sd000081EC*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v00008086d00002811*
- ID_PRODUCT_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller
-
-pci:v00008086d00002811sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002811sv000017AAsd000020B6*
- ID_PRODUCT_FROM_DATABASE=T61
-
-pci:v00008086d00002811sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002812*
- ID_PRODUCT_FROM_DATABASE=82801HH (ICH8DH) LPC Interface Controller
-
-pci:v00008086d00002814*
- ID_PRODUCT_FROM_DATABASE=82801HO (ICH8DO) LPC Interface Controller
-
-pci:v00008086d00002815*
- ID_PRODUCT_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller
-
-pci:v00008086d00002815sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00008086d00002815sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d00002815sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d00002815sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00008086d00002815sv0000103Csd000030D9*
- ID_PRODUCT_FROM_DATABASE=Presario C700
-
-pci:v00008086d00002815sv0000104Dsd00009005*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-FZ260E
-
-pci:v00008086d00002815sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002820*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode]
-
-pci:v00008086d00002820sv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d00002820sv00001462sd00007235*
- ID_PRODUCT_FROM_DATABASE=P965 Neo MS-7235 mainboard
-
-pci:v00008086d00002821*
- ID_PRODUCT_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA Controller [AHCI mode]
-
-pci:v00008086d00002822*
- ID_PRODUCT_FROM_DATABASE=82801 SATA Controller [RAID mode]
-
-pci:v00008086d00002822sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002823*
- ID_PRODUCT_FROM_DATABASE=Wellsburg sSATA RAID Controller
-
-pci:v00008086d00002824*
- ID_PRODUCT_FROM_DATABASE=82801HB (ICH8) 4 port SATA Controller [AHCI mode]
-
-pci:v00008086d00002824sv00001043sd000081EC*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v00008086d00002825*
- ID_PRODUCT_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode]
-
-pci:v00008086d00002825sv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d00002825sv00001462sd00007235*
- ID_PRODUCT_FROM_DATABASE=P965 Neo MS-7235 mainboard
-
-pci:v00008086d00002826*
- ID_PRODUCT_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller
-
-pci:v00008086d00002827*
- ID_PRODUCT_FROM_DATABASE=Wellsburg sSATA RAID Controller
-
-pci:v00008086d00002828*
- ID_PRODUCT_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode]
-
-pci:v00008086d00002828sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d00002828sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d00002828sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002829*
- ID_PRODUCT_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode]
-
-pci:v00008086d00002829sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00008086d00002829sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d00002829sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002829sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00008086d00002829sv0000103Csd000030D9*
- ID_PRODUCT_FROM_DATABASE=Presario C700
-
-pci:v00008086d00002829sv0000104Dsd00009005*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-FZ260E
-
-pci:v00008086d00002829sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002829sv000017AAsd000020A7*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002829sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d0000282A*
- ID_PRODUCT_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode]
-
-pci:v00008086d0000282Asv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d0000282Asv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d00002830*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1
-
-pci:v00008086d00002830sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Acer Aspire 5920G
-
-pci:v00008086d00002830sv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d00002830sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d00002830sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d00002830sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002830sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00008086d00002830sv0000103Csd000030D9*
- ID_PRODUCT_FROM_DATABASE=Presario C700
-
-pci:v00008086d00002830sv00001043sd000081EC*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v00008086d00002830sv0000104Dsd00009005*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-FZ260E
-
-pci:v00008086d00002830sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002830sv00001462sd00007235*
- ID_PRODUCT_FROM_DATABASE=P965 Neo MS-7235 mainboard
-
-pci:v00008086d00002830sv000017AAsd000020AA*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002830sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002831*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2
-
-pci:v00008086d00002831sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00008086d00002831sv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d00002831sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d00002831sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d00002831sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002831sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00008086d00002831sv0000103Csd000030D9*
- ID_PRODUCT_FROM_DATABASE=Presario C700
-
-pci:v00008086d00002831sv00001043sd000081EC*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v00008086d00002831sv0000104Dsd00009005*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-FZ260E
-
-pci:v00008086d00002831sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002831sv00001462sd00007235*
- ID_PRODUCT_FROM_DATABASE=P965 Neo MS-7235 mainboard
-
-pci:v00008086d00002831sv000017AAsd000020AA*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002831sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002832*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3
-
-pci:v00008086d00002832sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00008086d00002832sv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d00002832sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d00002832sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d00002832sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002832sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00008086d00002832sv0000103Csd000030D9*
- ID_PRODUCT_FROM_DATABASE=Presario C700
-
-pci:v00008086d00002832sv00001043sd000081EC*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v00008086d00002832sv0000104Dsd00009005*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-FZ260E
-
-pci:v00008086d00002832sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002832sv000017AAsd000020AA*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002832sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002833*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4
-
-pci:v00008086d00002833sv00001043sd000081EC*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v00008086d00002834*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4
-
-pci:v00008086d00002834sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00008086d00002834sv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d00002834sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d00002834sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d00002834sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002834sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00008086d00002834sv00001043sd000081EC*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v00008086d00002834sv0000104Dsd00009005*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-FZ260E
-
-pci:v00008086d00002834sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002834sv00001462sd00007235*
- ID_PRODUCT_FROM_DATABASE=P965 Neo MS-7235 mainboard
-
-pci:v00008086d00002834sv000017AAsd000020AA*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002834sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002835*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5
-
-pci:v00008086d00002835sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Acer Aspire 5920G
-
-pci:v00008086d00002835sv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d00002835sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d00002835sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d00002835sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002835sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00008086d00002835sv00001043sd000081EC*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v00008086d00002835sv0000104Dsd00009005*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-FZ260E
-
-pci:v00008086d00002835sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002835sv000017AAsd000020AA*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T60
-
-pci:v00008086d00002835sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002836*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1
-
-pci:v00008086d00002836sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00008086d00002836sv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d00002836sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d00002836sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d00002836sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002836sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00008086d00002836sv0000103Csd000030D9*
- ID_PRODUCT_FROM_DATABASE=Presario C700
-
-pci:v00008086d00002836sv00001043sd000081EC*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v00008086d00002836sv0000104Dsd00009005*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-FZ260E
-
-pci:v00008086d00002836sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002836sv00001462sd00007235*
- ID_PRODUCT_FROM_DATABASE=P965 Neo MS-7235 mainboard
-
-pci:v00008086d00002836sv000017AAsd000020AB*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002836sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d0000283A*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2
-
-pci:v00008086d0000283Asv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Acer Aspire 5920G
-
-pci:v00008086d0000283Asv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d0000283Asv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d0000283Asv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d0000283Asv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d0000283Asv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00008086d0000283Asv00001043sd000081EC*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v00008086d0000283Asv0000104Dsd00009005*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-FZ260E
-
-pci:v00008086d0000283Asv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d0000283Asv000017AAsd000020AB*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d0000283Asv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d0000283E*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller
-
-pci:v00008086d0000283Esv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00008086d0000283Esv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d0000283Esv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d0000283Esv0000103Csd000030D9*
- ID_PRODUCT_FROM_DATABASE=Presario C700
-
-pci:v00008086d0000283Esv00001043sd000081EC*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v00008086d0000283Esv0000104Dsd00009005*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-FZ260E
-
-pci:v00008086d0000283Esv0000104Dsd00009008*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-SZ79SN_C
-
-pci:v00008086d0000283Esv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d0000283Esv00001462sd00007235*
- ID_PRODUCT_FROM_DATABASE=P965 Neo MS-7235 mainboard
-
-pci:v00008086d0000283Esv000017AAsd000020A9*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d0000283Esv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d0000283F*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1
-
-pci:v00008086d0000283Fsv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d0000283Fsv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d0000283Fsv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d0000283Fsv000017AAsd000020AD*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002841*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2
-
-pci:v00008086d00002841sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002841sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002841sv000017AAsd000020AD*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002843*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3
-
-pci:v00008086d00002843sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002843sv000017AAsd000020AD*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002845*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4
-
-pci:v00008086d00002845sv000017AAsd000020AD*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002847*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5
-
-pci:v00008086d00002847sv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d00002847sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002847sv000017AAsd000020AD*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002849*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 6
-
-pci:v00008086d0000284B*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller
-
-pci:v00008086d0000284Bsv00001025sd0000011F*
- ID_PRODUCT_FROM_DATABASE=Realtek ALC268 audio codec
-
-pci:v00008086d0000284Bsv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00008086d0000284Bsv00001025sd00000145*
- ID_PRODUCT_FROM_DATABASE=Realtek ALC889 (Aspire 8920G w. Dolby Theather)
-
-pci:v00008086d0000284Bsv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d0000284Bsv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d0000284Bsv00001028sd000001F9*
- ID_PRODUCT_FROM_DATABASE=Dell Latitude D630
-
-pci:v00008086d0000284Bsv00001028sd000001FF*
- ID_PRODUCT_FROM_DATABASE=Dell Precision M4300
-
-pci:v00008086d0000284Bsv00001028sd00000256*
- ID_PRODUCT_FROM_DATABASE=Studio 1735
-
-pci:v00008086d0000284Bsv0000103Csd00002802*
- ID_PRODUCT_FROM_DATABASE=HP Compaq dc7700p
-
-pci:v00008086d0000284Bsv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d0000284Bsv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d0000284Bsv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00008086d0000284Bsv00001043sd00001339*
- ID_PRODUCT_FROM_DATABASE=Asus M51S series
-
-pci:v00008086d0000284Bsv00001043sd000081EC*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v00008086d0000284Bsv0000104Dsd00009005*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-FZ260E
-
-pci:v00008086d0000284Bsv0000104Dsd00009008*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-SZ79SN_C
-
-pci:v00008086d0000284Bsv0000104Dsd00009016*
- ID_PRODUCT_FROM_DATABASE=Sony VAIO VGN-AR51M
-
-pci:v00008086d0000284Bsv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d0000284Bsv000014F1sd00005051*
- ID_PRODUCT_FROM_DATABASE=Presario C700
-
-pci:v00008086d0000284Bsv000017AAsd000020AC*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d0000284Bsv00008384sd00007616*
- ID_PRODUCT_FROM_DATABASE=Dell Vostro 1400
-
-pci:v00008086d0000284Bsv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d0000284F*
- ID_PRODUCT_FROM_DATABASE=82801H (ICH8 Family) Thermal Reporting Device
-
-pci:v00008086d00002850*
- ID_PRODUCT_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller
-
-pci:v00008086d00002850sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Aspire 5920G
-
-pci:v00008086d00002850sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d00002850sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d00002850sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002850sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00008086d00002850sv0000103Csd000030D9*
- ID_PRODUCT_FROM_DATABASE=Presario C700
-
-pci:v00008086d00002850sv0000104Dsd00009005*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-FZ260E
-
-pci:v00008086d00002850sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002850sv000017AAsd000020A6*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002850sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002912*
- ID_PRODUCT_FROM_DATABASE=82801IH (ICH9DH) LPC Interface Controller
-
-pci:v00008086d00002914*
- ID_PRODUCT_FROM_DATABASE=82801IO (ICH9DO) LPC Interface Controller
-
-pci:v00008086d00002914sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002916*
- ID_PRODUCT_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller
-
-pci:v00008086d00002916sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002916sv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v00008086d00002917*
- ID_PRODUCT_FROM_DATABASE=ICH9M-E LPC Interface Controller
-
-pci:v00008086d00002917sv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d00002918*
- ID_PRODUCT_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller
-
-pci:v00008086d00002918sv00001028sd00000236*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R610 82801IB (ICH9) LPC Interface Controller
-
-pci:v00008086d00002918sv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d00002919*
- ID_PRODUCT_FROM_DATABASE=ICH9M LPC Interface Controller
-
-pci:v00008086d00002920*
- ID_PRODUCT_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode]
-
-pci:v00008086d00002920sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002920sv00001028sd0000020F*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R300 onboard SATA Controller
-
-pci:v00008086d00002920sv00001028sd00000210*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T300 onboard SATA Controller
-
-pci:v00008086d00002920sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002920sv00001028sd0000023C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R200 onboard SATA Controller
-
-pci:v00008086d00002921*
- ID_PRODUCT_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode]
-
-pci:v00008086d00002921sv00001028sd00000235*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R710 SATA IDE Controller
-
-pci:v00008086d00002921sv00001028sd00000236*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R610 SATA IDE Controller
-
-pci:v00008086d00002921sv00001028sd00000237*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T610 SATA IDE Controller
-
-pci:v00008086d00002921sv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d00002922*
- ID_PRODUCT_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode]
-
-pci:v00008086d00002922sv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v00008086d00002923*
- ID_PRODUCT_FROM_DATABASE=82801IB (ICH9) 4 port SATA Controller [AHCI mode]
-
-pci:v00008086d00002925*
- ID_PRODUCT_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode]
-
-pci:v00008086d00002925sv00001734sd000010E0*
- ID_PRODUCT_FROM_DATABASE=System Board D2542
-
-pci:v00008086d00002925sv00008086sd00002925*
- ID_PRODUCT_FROM_DATABASE=System Board D2542
-
-pci:v00008086d00002926*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode]
-
-pci:v00008086d00002926sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002926sv00001028sd0000020F*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R300 onboard SATA Controller
-
-pci:v00008086d00002926sv00001028sd00000210*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T300 onboard SATA Controller
-
-pci:v00008086d00002926sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002926sv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d00002928*
- ID_PRODUCT_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode]
-
-pci:v00008086d00002929*
- ID_PRODUCT_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode]
-
-pci:v00008086d00002929sv0000103Csd00003628*
- ID_PRODUCT_FROM_DATABASE=dv6-1190en
-
-pci:v00008086d00002929sv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d0000292C*
- ID_PRODUCT_FROM_DATABASE=82801IEM (ICH9M-E) SATA Controller [RAID mode]
-
-pci:v00008086d0000292D*
- ID_PRODUCT_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode]
-
-pci:v00008086d0000292Dsv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d00002930*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller
-
-pci:v00008086d00002930sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002930sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002930sv0000103Csd00003628*
- ID_PRODUCT_FROM_DATABASE=dv6-1190en
-
-pci:v00008086d00002930sv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d00002930sv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v00008086d00002930sv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d00002932*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) Thermal Subsystem
-
-pci:v00008086d00002932sv0000103Csd00003628*
- ID_PRODUCT_FROM_DATABASE=dv6-1190en
-
-pci:v00008086d00002934*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1
-
-pci:v00008086d00002934sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002934sv00001028sd0000020F*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R300 onboard UHCI
-
-pci:v00008086d00002934sv00001028sd00000210*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T300 onboard UHCI
-
-pci:v00008086d00002934sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002934sv00001028sd00000235*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R710 USB UHCI Controller
-
-pci:v00008086d00002934sv00001028sd00000236*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R610 USB UHCI Controller
-
-pci:v00008086d00002934sv00001028sd00000237*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T610 USB UHCI Controller
-
-pci:v00008086d00002934sv00001028sd0000023C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R200 onboard UHCI
-
-pci:v00008086d00002934sv00001028sd00000287*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M610 onboard UHCI
-
-pci:v00008086d00002934sv00001028sd0000029C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M710 USB UHCI Controller
-
-pci:v00008086d00002934sv00001028sd00002011*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002934sv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d00002934sv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v00008086d00002934sv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d00002935*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2
-
-pci:v00008086d00002935sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002935sv00001028sd0000020F*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R300 onboard UHCI
-
-pci:v00008086d00002935sv00001028sd00000210*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T300 onboard UHCI
-
-pci:v00008086d00002935sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002935sv00001028sd00000235*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R710 USB UHCI Controller
-
-pci:v00008086d00002935sv00001028sd00000236*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R610 USB UHCI Controller
-
-pci:v00008086d00002935sv00001028sd00000237*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T610 USB UHCI Controller
-
-pci:v00008086d00002935sv00001028sd0000023C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R200 onboard UHCI
-
-pci:v00008086d00002935sv00001028sd00000287*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M610 onboard UHCI
-
-pci:v00008086d00002935sv00001028sd0000029C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M710 USB UHCI Controller
-
-pci:v00008086d00002935sv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d00002935sv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v00008086d00002935sv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d00002936*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3
-
-pci:v00008086d00002936sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002936sv00001028sd0000020F*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R300 onboard UHCI
-
-pci:v00008086d00002936sv00001028sd00000210*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T300 onboard UHCI
-
-pci:v00008086d00002936sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002936sv00001028sd00000237*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T610 USB UHCI Controller
-
-pci:v00008086d00002936sv00001028sd0000023C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R200 onboard UHCI
-
-pci:v00008086d00002936sv00001028sd00000287*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M610 onboard UHCI
-
-pci:v00008086d00002936sv00001028sd0000029C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M710 USB UHCI Controller
-
-pci:v00008086d00002936sv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d00002936sv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v00008086d00002936sv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d00002937*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4
-
-pci:v00008086d00002937sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002937sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002937sv00001028sd00000235*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R710 USB UHCI Controller
-
-pci:v00008086d00002937sv00001028sd00000236*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R610 USB UHCI Controller
-
-pci:v00008086d00002937sv00001028sd00000237*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T610 USB UHCI Controller
-
-pci:v00008086d00002937sv00001028sd00000287*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M610 onboard UHCI
-
-pci:v00008086d00002937sv00001028sd0000029C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M710 USB UHCI Controller
-
-pci:v00008086d00002937sv00001028sd00002011*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002937sv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d00002937sv00008086sd00002937*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002937sv00008086sd00002942*
- ID_PRODUCT_FROM_DATABASE=828011 (ICH9 Family ) USB UHCI Controller
-
-pci:v00008086d00002937sv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v00008086d00002937sv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d00002938*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5
-
-pci:v00008086d00002938sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002938sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002938sv00001028sd00000235*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R710 USB UHCI Controller
-
-pci:v00008086d00002938sv00001028sd00000236*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R610 USB UHCI Controller
-
-pci:v00008086d00002938sv00001028sd00000237*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T610 USB UHCI Controller
-
-pci:v00008086d00002938sv00001028sd00000287*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M610 onboard UHCI
-
-pci:v00008086d00002938sv00001028sd0000029C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M710 USB UHCI Controller
-
-pci:v00008086d00002938sv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d00002938sv00008086sd00002938*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002938sv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v00008086d00002938sv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d00002939*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6
-
-pci:v00008086d00002939sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002939sv00001028sd00000210*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T300 onboard UHCI
-
-pci:v00008086d00002939sv00001028sd00000237*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T610 USB UHCI Controller
-
-pci:v00008086d00002939sv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d00002939sv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v00008086d00002939sv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d0000293A*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1
-
-pci:v00008086d0000293Asv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d0000293Asv00001028sd0000020F*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R300 onboard EHCI
-
-pci:v00008086d0000293Asv00001028sd00000210*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T300 onboard EHCI
-
-pci:v00008086d0000293Asv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d0000293Asv00001028sd00000235*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R710 USB EHCI Controller
-
-pci:v00008086d0000293Asv00001028sd00000236*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R610 USB EHCI Controller
-
-pci:v00008086d0000293Asv00001028sd00000237*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T610 USB EHCI Controller
-
-pci:v00008086d0000293Asv00001028sd0000023C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R200 onboard EHCI
-
-pci:v00008086d0000293Asv00001028sd00000287*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M610 onboard EHCI
-
-pci:v00008086d0000293Asv00001028sd0000029C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M710 USB EHCI Controller
-
-pci:v00008086d0000293Asv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d0000293Asv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v00008086d0000293Asv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d0000293C*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2
-
-pci:v00008086d0000293Csv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d0000293Csv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d0000293Csv00001028sd00000235*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R710 USB EHCI Controller
-
-pci:v00008086d0000293Csv00001028sd00000236*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R610 USB EHCI Controller
-
-pci:v00008086d0000293Csv00001028sd00000237*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T610 USB EHCI Controller
-
-pci:v00008086d0000293Csv00001028sd00000287*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M610 onboard EHCI
-
-pci:v00008086d0000293Csv00001028sd0000029C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M710 USB EHCI Controller
-
-pci:v00008086d0000293Csv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d0000293Csv00008086sd0000293C*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d0000293Csv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v00008086d0000293Csv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d0000293E*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller
-
-pci:v00008086d0000293Esv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d0000293Esv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d0000293Esv0000103Csd00003628*
- ID_PRODUCT_FROM_DATABASE=dv6-1190en
-
-pci:v00008086d0000293Esv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d0000293Esv00008086sd0000293E*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d0000293Esv00008086sd00002940*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d0000293Esv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d00002940*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1
-
-pci:v00008086d00002940sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002940sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002940sv00008086sd00002940*
- ID_PRODUCT_FROM_DATABASE=Optiplex 755
-
-pci:v00008086d00002942*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 2
-
-pci:v00008086d00002942sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002944*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3
-
-pci:v00008086d00002944sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002946*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4
-
-pci:v00008086d00002946sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d00002948*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5
-
-pci:v00008086d00002948sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d0000294A*
- ID_PRODUCT_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6
-
-pci:v00008086d0000294Asv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d0000294C*
- ID_PRODUCT_FROM_DATABASE=82566DC-2 Gigabit Network Connection
-
-pci:v00008086d0000294Csv000017AAsd0000302E*
- ID_PRODUCT_FROM_DATABASE=82566DM-2 Gigabit Network Connection
-
-pci:v00008086d00002970*
- ID_PRODUCT_FROM_DATABASE=82946GZ/PL/GL Memory Controller Hub
-
-pci:v00008086d00002971*
- ID_PRODUCT_FROM_DATABASE=82946GZ/PL/GL PCI Express Root Port
-
-pci:v00008086d00002972*
- ID_PRODUCT_FROM_DATABASE=82946GZ/GL Integrated Graphics Controller
-
-pci:v00008086d00002973*
- ID_PRODUCT_FROM_DATABASE=82946GZ/GL Integrated Graphics Controller
-
-pci:v00008086d00002974*
- ID_PRODUCT_FROM_DATABASE=82946GZ/GL HECI Controller
-
-pci:v00008086d00002975*
- ID_PRODUCT_FROM_DATABASE=82946GZ/GL HECI Controller
-
-pci:v00008086d00002976*
- ID_PRODUCT_FROM_DATABASE=82946GZ/GL PT IDER Controller
-
-pci:v00008086d00002977*
- ID_PRODUCT_FROM_DATABASE=82946GZ/GL KT Controller
-
-pci:v00008086d00002980*
- ID_PRODUCT_FROM_DATABASE=82G35 Express DRAM Controller
-
-pci:v00008086d00002981*
- ID_PRODUCT_FROM_DATABASE=82G35 Express PCI Express Root Port
-
-pci:v00008086d00002982*
- ID_PRODUCT_FROM_DATABASE=82G35 Express Integrated Graphics Controller
-
-pci:v00008086d00002983*
- ID_PRODUCT_FROM_DATABASE=82G35 Express Integrated Graphics Controller
-
-pci:v00008086d00002984*
- ID_PRODUCT_FROM_DATABASE=82G35 Express HECI Controller
-
-pci:v00008086d00002990*
- ID_PRODUCT_FROM_DATABASE=82Q963/Q965 Memory Controller Hub
-
-pci:v00008086d00002990sv00001028sd000001DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 745
-
-pci:v00008086d00002991*
- ID_PRODUCT_FROM_DATABASE=82Q963/Q965 PCI Express Root Port
-
-pci:v00008086d00002992*
- ID_PRODUCT_FROM_DATABASE=82Q963/Q965 Integrated Graphics Controller
-
-pci:v00008086d00002993*
- ID_PRODUCT_FROM_DATABASE=82Q963/Q965 Integrated Graphics Controller
-
-pci:v00008086d00002994*
- ID_PRODUCT_FROM_DATABASE=82Q963/Q965 HECI Controller
-
-pci:v00008086d00002995*
- ID_PRODUCT_FROM_DATABASE=82Q963/Q965 HECI Controller
-
-pci:v00008086d00002996*
- ID_PRODUCT_FROM_DATABASE=82Q963/Q965 PT IDER Controller
-
-pci:v00008086d00002997*
- ID_PRODUCT_FROM_DATABASE=82Q963/Q965 KT Controller
-
-pci:v00008086d000029A0*
- ID_PRODUCT_FROM_DATABASE=82P965/G965 Memory Controller Hub
-
-pci:v00008086d000029A0sv00001043sd000081EA*
- ID_PRODUCT_FROM_DATABASE=P5B
-
-pci:v00008086d000029A0sv00001462sd00007276*
- ID_PRODUCT_FROM_DATABASE=MS-7276 [G965MDH]
-
-pci:v00008086d000029A1*
- ID_PRODUCT_FROM_DATABASE=82P965/G965 PCI Express Root Port
-
-pci:v00008086d000029A2*
- ID_PRODUCT_FROM_DATABASE=82G965 Integrated Graphics Controller
-
-pci:v00008086d000029A2sv00001462sd00007276*
- ID_PRODUCT_FROM_DATABASE=MS-7276 [G965MDH]
-
-pci:v00008086d000029A3*
- ID_PRODUCT_FROM_DATABASE=82G965 Integrated Graphics Controller
-
-pci:v00008086d000029A4*
- ID_PRODUCT_FROM_DATABASE=82P965/G965 HECI Controller
-
-pci:v00008086d000029A5*
- ID_PRODUCT_FROM_DATABASE=82P965/G965 HECI Controller
-
-pci:v00008086d000029A6*
- ID_PRODUCT_FROM_DATABASE=82P965/G965 PT IDER Controller
-
-pci:v00008086d000029A7*
- ID_PRODUCT_FROM_DATABASE=82P965/G965 KT Controller
-
-pci:v00008086d000029B0*
- ID_PRODUCT_FROM_DATABASE=82Q35 Express DRAM Controller
-
-pci:v00008086d000029B0sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 755
-
-pci:v00008086d000029B1*
- ID_PRODUCT_FROM_DATABASE=82Q35 Express PCI Express Root Port
-
-pci:v00008086d000029B1sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 755
-
-pci:v00008086d000029B2*
- ID_PRODUCT_FROM_DATABASE=82Q35 Express Integrated Graphics Controller
-
-pci:v00008086d000029B2sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 755
-
-pci:v00008086d000029B3*
- ID_PRODUCT_FROM_DATABASE=82Q35 Express Integrated Graphics Controller
-
-pci:v00008086d000029B3sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 755
-
-pci:v00008086d000029B4*
- ID_PRODUCT_FROM_DATABASE=82Q35 Express MEI Controller
-
-pci:v00008086d000029B4sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 755
-
-pci:v00008086d000029B5*
- ID_PRODUCT_FROM_DATABASE=82Q35 Express MEI Controller
-
-pci:v00008086d000029B6*
- ID_PRODUCT_FROM_DATABASE=82Q35 Express PT IDER Controller
-
-pci:v00008086d000029B6sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 755
-
-pci:v00008086d000029B7*
- ID_PRODUCT_FROM_DATABASE=82Q35 Express Serial KT Controller
-
-pci:v00008086d000029B7sv00001028sd00000211*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 755
-
-pci:v00008086d000029C0*
- ID_PRODUCT_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller
-
-pci:v00008086d000029C0sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d000029C0sv00001043sd000082B0*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM Motherboard
-
-pci:v00008086d000029C0sv00001462sd00007360*
- ID_PRODUCT_FROM_DATABASE=G33/P35 Neo
-
-pci:v00008086d000029C0sv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v00008086d000029C1*
- ID_PRODUCT_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port
-
-pci:v00008086d000029C1sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d000029C2*
- ID_PRODUCT_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller
-
-pci:v00008086d000029C2sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d000029C2sv00001043sd000082B0*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM Motherboard
-
-pci:v00008086d000029C3*
- ID_PRODUCT_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller
-
-pci:v00008086d000029C3sv00001028sd0000020D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 530
-
-pci:v00008086d000029C3sv00001043sd000082B0*
- ID_PRODUCT_FROM_DATABASE=P5KPL-VM Motherboard
-
-pci:v00008086d000029C4*
- ID_PRODUCT_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller
-
-pci:v00008086d000029C4sv00008086sd00005044*
- ID_PRODUCT_FROM_DATABASE=Desktop Board DP35DP
-
-pci:v00008086d000029C5*
- ID_PRODUCT_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller
-
-pci:v00008086d000029C6*
- ID_PRODUCT_FROM_DATABASE=82G33/G31/P35/P31 Express PT IDER Controller
-
-pci:v00008086d000029C7*
- ID_PRODUCT_FROM_DATABASE=82G33/G31/P35/P31 Express Serial KT Controller
-
-pci:v00008086d000029CF*
- ID_PRODUCT_FROM_DATABASE=Virtual HECI Controller
-
-pci:v00008086d000029D0*
- ID_PRODUCT_FROM_DATABASE=82Q33 Express DRAM Controller
-
-pci:v00008086d000029D1*
- ID_PRODUCT_FROM_DATABASE=82Q33 Express PCI Express Root Port
-
-pci:v00008086d000029D2*
- ID_PRODUCT_FROM_DATABASE=82Q33 Express Integrated Graphics Controller
-
-pci:v00008086d000029D3*
- ID_PRODUCT_FROM_DATABASE=82Q33 Express Integrated Graphics Controller
-
-pci:v00008086d000029D4*
- ID_PRODUCT_FROM_DATABASE=82Q33 Express MEI Controller
-
-pci:v00008086d000029D5*
- ID_PRODUCT_FROM_DATABASE=82Q33 Express MEI Controller
-
-pci:v00008086d000029D6*
- ID_PRODUCT_FROM_DATABASE=82Q33 Express PT IDER Controller
-
-pci:v00008086d000029D7*
- ID_PRODUCT_FROM_DATABASE=82Q33 Express Serial KT Controller
-
-pci:v00008086d000029E0*
- ID_PRODUCT_FROM_DATABASE=82X38/X48 Express DRAM Controller
-
-pci:v00008086d000029E1*
- ID_PRODUCT_FROM_DATABASE=82X38/X48 Express Host-Primary PCI Express Bridge
-
-pci:v00008086d000029E4*
- ID_PRODUCT_FROM_DATABASE=82X38/X48 Express MEI Controller
-
-pci:v00008086d000029E5*
- ID_PRODUCT_FROM_DATABASE=82X38/X48 Express MEI Controller
-
-pci:v00008086d000029E6*
- ID_PRODUCT_FROM_DATABASE=82X38/X48 Express PT IDER Controller
-
-pci:v00008086d000029E7*
- ID_PRODUCT_FROM_DATABASE=82X38/X48 Express Serial KT Controller
-
-pci:v00008086d000029E9*
- ID_PRODUCT_FROM_DATABASE=82X38/X48 Express Host-Secondary PCI Express Bridge
-
-pci:v00008086d000029F0*
- ID_PRODUCT_FROM_DATABASE=3200/3210 Chipset DRAM Controller
-
-pci:v00008086d000029F1*
- ID_PRODUCT_FROM_DATABASE=3200/3210 Chipset Host-Primary PCI Express Bridge
-
-pci:v00008086d000029F4*
- ID_PRODUCT_FROM_DATABASE=3200/3210 Chipset MEI Controller
-
-pci:v00008086d000029F5*
- ID_PRODUCT_FROM_DATABASE=3200/3210 Chipset MEI Controller
-
-pci:v00008086d000029F6*
- ID_PRODUCT_FROM_DATABASE=3200/3210 Chipset PT IDER Controller
-
-pci:v00008086d000029F7*
- ID_PRODUCT_FROM_DATABASE=3200/3210 Chipset Serial KT Controller
-
-pci:v00008086d000029F9*
- ID_PRODUCT_FROM_DATABASE=3210 Chipset Host-Secondary PCI Express Bridge
-
-pci:v00008086d00002A00*
- ID_PRODUCT_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub
-
-pci:v00008086d00002A00sv00001025sd00000121*
- ID_PRODUCT_FROM_DATABASE=Acer Aspire 5920G
-
-pci:v00008086d00002A00sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d00002A00sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d00002A00sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002A00sv0000103Csd000030CC*
- ID_PRODUCT_FROM_DATABASE=Pavilion dv6700
-
-pci:v00008086d00002A00sv0000103Csd000030D9*
- ID_PRODUCT_FROM_DATABASE=Presario C700
-
-pci:v00008086d00002A00sv0000104Dsd00009005*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-FZ260E
-
-pci:v00008086d00002A00sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002A00sv000017AAsd000020B1*
- ID_PRODUCT_FROM_DATABASE=ThinkPad T61
-
-pci:v00008086d00002A00sv000017AAsd000020B3*
- ID_PRODUCT_FROM_DATABASE=T61
-
-pci:v00008086d00002A00sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002A01*
- ID_PRODUCT_FROM_DATABASE=Mobile PM965/GM965/GL960 PCI Express Root Port
-
-pci:v00008086d00002A02*
- ID_PRODUCT_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary)
-
-pci:v00008086d00002A02sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Inspiron 1420
-
-pci:v00008086d00002A02sv00001028sd000001F9*
- ID_PRODUCT_FROM_DATABASE=Latitude D630
-
-pci:v00008086d00002A02sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d00002A02sv0000103Csd000030D9*
- ID_PRODUCT_FROM_DATABASE=Presario C700
-
-pci:v00008086d00002A02sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002A02sv000017AAsd000020B5*
- ID_PRODUCT_FROM_DATABASE=T61
-
-pci:v00008086d00002A02sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002A03*
- ID_PRODUCT_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary)
-
-pci:v00008086d00002A03sv00001028sd000001F3*
- ID_PRODUCT_FROM_DATABASE=Dell Inspiron 1420
-
-pci:v00008086d00002A03sv0000103Csd000030C0*
- ID_PRODUCT_FROM_DATABASE=Compaq 6710b
-
-pci:v00008086d00002A03sv0000103Csd000030D9*
- ID_PRODUCT_FROM_DATABASE=Presario C700
-
-pci:v00008086d00002A03sv0000104Dsd0000902D*
- ID_PRODUCT_FROM_DATABASE=VAIO VGN-NR120E
-
-pci:v00008086d00002A03sv000017AAsd000020B5*
- ID_PRODUCT_FROM_DATABASE=T61
-
-pci:v00008086d00002A03sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002A04*
- ID_PRODUCT_FROM_DATABASE=Mobile PM965/GM965 MEI Controller
-
-pci:v00008086d00002A04sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002A05*
- ID_PRODUCT_FROM_DATABASE=Mobile PM965/GM965 MEI Controller
-
-pci:v00008086d00002A06*
- ID_PRODUCT_FROM_DATABASE=Mobile PM965/GM965 PT IDER Controller
-
-pci:v00008086d00002A06sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002A07*
- ID_PRODUCT_FROM_DATABASE=Mobile PM965/GM965 KT Controller
-
-pci:v00008086d00002A07sv0000103Csd000030C1*
- ID_PRODUCT_FROM_DATABASE=Compaq 6910p
-
-pci:v00008086d00002A10*
- ID_PRODUCT_FROM_DATABASE=Mobile GME965/GLE960 Memory Controller Hub
-
-pci:v00008086d00002A10sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002A11*
- ID_PRODUCT_FROM_DATABASE=Mobile GME965/GLE960 PCI Express Root Port
-
-pci:v00008086d00002A12*
- ID_PRODUCT_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller
-
-pci:v00008086d00002A12sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002A13*
- ID_PRODUCT_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller
-
-pci:v00008086d00002A13sv0000E4BFsd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v00008086d00002A14*
- ID_PRODUCT_FROM_DATABASE=Mobile GME965/GLE960 MEI Controller
-
-pci:v00008086d00002A15*
- ID_PRODUCT_FROM_DATABASE=Mobile GME965/GLE960 MEI Controller
-
-pci:v00008086d00002A16*
- ID_PRODUCT_FROM_DATABASE=Mobile GME965/GLE960 PT IDER Controller
-
-pci:v00008086d00002A17*
- ID_PRODUCT_FROM_DATABASE=Mobile GME965/GLE960 KT Controller
-
-pci:v00008086d00002A40*
- ID_PRODUCT_FROM_DATABASE=Mobile 4 Series Chipset Memory Controller Hub
-
-pci:v00008086d00002A40sv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d00002A41*
- ID_PRODUCT_FROM_DATABASE=Mobile 4 Series Chipset PCI Express Graphics Port
-
-pci:v00008086d00002A41sv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d00002A42*
- ID_PRODUCT_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002A42sv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d00002A43*
- ID_PRODUCT_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002A43sv0000E4BFsd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v00008086d00002A44*
- ID_PRODUCT_FROM_DATABASE=Mobile 4 Series Chipset MEI Controller
-
-pci:v00008086d00002A45*
- ID_PRODUCT_FROM_DATABASE=Mobile 4 Series Chipset MEI Controller
-
-pci:v00008086d00002A46*
- ID_PRODUCT_FROM_DATABASE=Mobile 4 Series Chipset PT IDER Controller
-
-pci:v00008086d00002A47*
- ID_PRODUCT_FROM_DATABASE=Mobile 4 Series Chipset AMT SOL Redirection
-
-pci:v00008086d00002A50*
- ID_PRODUCT_FROM_DATABASE=Cantiga MEI Controller
-
-pci:v00008086d00002A51*
- ID_PRODUCT_FROM_DATABASE=Cantiga MEI Controller
-
-pci:v00008086d00002A52*
- ID_PRODUCT_FROM_DATABASE=Cantiga PT IDER Controller
-
-pci:v00008086d00002A53*
- ID_PRODUCT_FROM_DATABASE=Cantiga AMT SOL Redirection
-
-pci:v00008086d00002B00*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family System Configuration Controller 1
-
-pci:v00008086d00002B02*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family System Configuration Controller 2
-
-pci:v00008086d00002B04*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Power Controller
-
-pci:v00008086d00002B08*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Caching Agent 0
-
-pci:v00008086d00002B0C*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Caching Agent 1
-
-pci:v00008086d00002B10*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Home Agent 0
-
-pci:v00008086d00002B13*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Memory Controller 0c
-
-pci:v00008086d00002B14*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Memory Controller 0a
-
-pci:v00008086d00002B16*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Memory Controller 0b
-
-pci:v00008086d00002B18*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Home Agent 1
-
-pci:v00008086d00002B1B*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Memory Controller 1c
-
-pci:v00008086d00002B1C*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Memory Controller 1a
-
-pci:v00008086d00002B1E*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Memory Controller 1b
-
-pci:v00008086d00002B20*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 0
-
-pci:v00008086d00002B22*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family System Configuration Controller 3
-
-pci:v00008086d00002B24*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 1
-
-pci:v00008086d00002B28*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 2
-
-pci:v00008086d00002B2A*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family System Configuration Controller 4
-
-pci:v00008086d00002B2C*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 3
-
-pci:v00008086d00002B30*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 4
-
-pci:v00008086d00002B34*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 5
-
-pci:v00008086d00002B38*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 6
-
-pci:v00008086d00002B3C*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 7
-
-pci:v00008086d00002B40*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Router Port 0-1
-
-pci:v00008086d00002B42*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Router Port 2-3
-
-pci:v00008086d00002B44*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Router Port 4-5
-
-pci:v00008086d00002B46*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Router Port 6-7
-
-pci:v00008086d00002B48*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Test and Debug 0
-
-pci:v00008086d00002B4C*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Test and Debug 1
-
-pci:v00008086d00002B50*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 0: REUT control/status
-
-pci:v00008086d00002B52*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 0: Misc. control/status
-
-pci:v00008086d00002B54*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 1: REUT control/status
-
-pci:v00008086d00002B56*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 1: Misc. control/status
-
-pci:v00008086d00002B58*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 2: REUT control/status
-
-pci:v00008086d00002B5A*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 2: Misc. control/status
-
-pci:v00008086d00002B5C*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 3: REUT control/status
-
-pci:v00008086d00002B5E*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family QPI Physical Port 3: Misc. control/status
-
-pci:v00008086d00002B60*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family SMI Physical Port 0: REUT control/status
-
-pci:v00008086d00002B62*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family SMI Physical Port 0: Misc control/status
-
-pci:v00008086d00002B64*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family SMI Physical Port 1: REUT control/status
-
-pci:v00008086d00002B66*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family SMI Physical Port 1: Misc control/status
-
-pci:v00008086d00002B68*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 8
-
-pci:v00008086d00002B6C*
- ID_PRODUCT_FROM_DATABASE=Xeon Processor E7 Product Family Last Level Cache Coherence Engine 9
-
-pci:v00008086d00002C01*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 QuickPath Architecture System Address Decoder
-
-pci:v00008086d00002C10*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 QPI Link 0
-
-pci:v00008086d00002C11*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 QPI Physical 0
-
-pci:v00008086d00002C14*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 QPI Link 1
-
-pci:v00008086d00002C15*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 QPI Physical 1
-
-pci:v00008086d00002C18*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller
-
-pci:v00008086d00002C19*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Target Address Decoder
-
-pci:v00008086d00002C1A*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller RAS Registers
-
-pci:v00008086d00002C1C*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Test Registers
-
-pci:v00008086d00002C20*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Control Registers
-
-pci:v00008086d00002C21*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Address Registers
-
-pci:v00008086d00002C22*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Rank Registers
-
-pci:v00008086d00002C23*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Thermal Control Registers
-
-pci:v00008086d00002C28*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Control Registers
-
-pci:v00008086d00002C29*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Address Registers
-
-pci:v00008086d00002C2A*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Rank Registers
-
-pci:v00008086d00002C2B*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Thermal Control Registers
-
-pci:v00008086d00002C30*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Control Registers
-
-pci:v00008086d00002C31*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Address Registers
-
-pci:v00008086d00002C32*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Rank Registers
-
-pci:v00008086d00002C33*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Thermal Control Registers
-
-pci:v00008086d00002C40*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 QuickPath Architecture Generic Non-Core Registers
-
-pci:v00008086d00002C41*
- ID_PRODUCT_FROM_DATABASE=Xeon 5500/Core i7 QuickPath Architecture Generic Non-Core Registers
-
-pci:v00008086d00002C50*
- ID_PRODUCT_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
-
-pci:v00008086d00002C51*
- ID_PRODUCT_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
-
-pci:v00008086d00002C52*
- ID_PRODUCT_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
-
-pci:v00008086d00002C53*
- ID_PRODUCT_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
-
-pci:v00008086d00002C54*
- ID_PRODUCT_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
-
-pci:v00008086d00002C55*
- ID_PRODUCT_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
-
-pci:v00008086d00002C56*
- ID_PRODUCT_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
-
-pci:v00008086d00002C57*
- ID_PRODUCT_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-Core Registers
-
-pci:v00008086d00002C58*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
-
-pci:v00008086d00002C59*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
-
-pci:v00008086d00002C5A*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
-
-pci:v00008086d00002C5B*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
-
-pci:v00008086d00002C5C*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
-
-pci:v00008086d00002C5D*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
-
-pci:v00008086d00002C5E*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
-
-pci:v00008086d00002C5F*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Generic Non-core Registers
-
-pci:v00008086d00002C61*
- ID_PRODUCT_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-core Registers
-
-pci:v00008086d00002C62*
- ID_PRODUCT_FROM_DATABASE=Core Processor QuickPath Architecture Generic Non-core Registers
-
-pci:v00008086d00002C70*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series QuickPath Architecture Generic Non-core Registers
-
-pci:v00008086d00002C81*
- ID_PRODUCT_FROM_DATABASE=Core Processor QuickPath Architecture System Address Decoder
-
-pci:v00008086d00002C90*
- ID_PRODUCT_FROM_DATABASE=Core Processor QPI Link 0
-
-pci:v00008086d00002C91*
- ID_PRODUCT_FROM_DATABASE=Core Processor QPI Physical 0
-
-pci:v00008086d00002C98*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Memory Controller
-
-pci:v00008086d00002C99*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Memory Controller Target Address Decoder
-
-pci:v00008086d00002C9A*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Memory Controller Test Registers
-
-pci:v00008086d00002C9C*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Memory Controller Test Registers
-
-pci:v00008086d00002CA0*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 0 Control Registers
-
-pci:v00008086d00002CA1*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 0 Address Registers
-
-pci:v00008086d00002CA2*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 0 Rank Registers
-
-pci:v00008086d00002CA3*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 0 Thermal Control Registers
-
-pci:v00008086d00002CA8*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 1 Control Registers
-
-pci:v00008086d00002CA9*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 1 Address Registers
-
-pci:v00008086d00002CAA*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 1 Rank Registers
-
-pci:v00008086d00002CAB*
- ID_PRODUCT_FROM_DATABASE=Core Processor Integrated Memory Controller Channel 1 Thermal Control Registers
-
-pci:v00008086d00002CC1*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI System Address Decoder
-
-pci:v00008086d00002CD0*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Link 0
-
-pci:v00008086d00002CD1*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Physical 0
-
-pci:v00008086d00002CD4*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Link 1
-
-pci:v00008086d00002CD5*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Physical 1
-
-pci:v00008086d00002CD8*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Registers
-
-pci:v00008086d00002CD9*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Target Address Decoder
-
-pci:v00008086d00002CDA*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller RAS Registers
-
-pci:v00008086d00002CDC*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Test Registers
-
-pci:v00008086d00002CE0*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 0 Control
-
-pci:v00008086d00002CE1*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 0 Address
-
-pci:v00008086d00002CE2*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 0 Rank
-
-pci:v00008086d00002CE3*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 0 Thermal Control
-
-pci:v00008086d00002CE8*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 1 Control
-
-pci:v00008086d00002CE9*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 1 Address
-
-pci:v00008086d00002CEA*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 1 Rank
-
-pci:v00008086d00002CEB*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 1 Thermal Control
-
-pci:v00008086d00002CF0*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 2 Control
-
-pci:v00008086d00002CF1*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 2 Address
-
-pci:v00008086d00002CF2*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 2 Rank
-
-pci:v00008086d00002CF3*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Integrated Memory Controller Channel 2 Thermal Control
-
-pci:v00008086d00002D01*
- ID_PRODUCT_FROM_DATABASE=Core Processor QuickPath Architecture System Address Decoder
-
-pci:v00008086d00002D10*
- ID_PRODUCT_FROM_DATABASE=Core Processor QPI Link 0
-
-pci:v00008086d00002D11*
- ID_PRODUCT_FROM_DATABASE=Core Processor QPI Physical 0
-
-pci:v00008086d00002D12*
- ID_PRODUCT_FROM_DATABASE=Core Processor Reserved
-
-pci:v00008086d00002D13*
- ID_PRODUCT_FROM_DATABASE=Core Processor Reserved
-
-pci:v00008086d00002D81*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series QuickPath Architecture System Address Decoder
-
-pci:v00008086d00002D90*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series QPI Link 0
-
-pci:v00008086d00002D91*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series QPI Physical 0
-
-pci:v00008086d00002D92*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Mirror Port Link 0
-
-pci:v00008086d00002D93*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Mirror Port Link 1
-
-pci:v00008086d00002D94*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series QPI Link 1
-
-pci:v00008086d00002D95*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series QPI Physical 1
-
-pci:v00008086d00002D98*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Registers
-
-pci:v00008086d00002D99*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Target Address Decoder
-
-pci:v00008086d00002D9A*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller RAS Registers
-
-pci:v00008086d00002D9C*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Test Registers
-
-pci:v00008086d00002DA0*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 0 Control
-
-pci:v00008086d00002DA1*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 0 Address
-
-pci:v00008086d00002DA2*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 0 Rank
-
-pci:v00008086d00002DA3*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 0 Thermal Control
-
-pci:v00008086d00002DA8*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 1 Control
-
-pci:v00008086d00002DA9*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 1 Address
-
-pci:v00008086d00002DAA*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 1 Rank
-
-pci:v00008086d00002DAB*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 1 Thermal Control
-
-pci:v00008086d00002DB0*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 2 Control
-
-pci:v00008086d00002DB1*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 2 Address
-
-pci:v00008086d00002DB2*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 2 Rank
-
-pci:v00008086d00002DB3*
- ID_PRODUCT_FROM_DATABASE=Xeon 5600 Series Integrated Memory Controller Channel 2 Thermal Control
-
-pci:v00008086d00002E00*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset DRAM Controller
-
-pci:v00008086d00002E01*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset PCI Express Root Port
-
-pci:v00008086d00002E02*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002E03*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002E04*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset HECI Controller
-
-pci:v00008086d00002E05*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset HECI Controller
-
-pci:v00008086d00002E06*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset PT IDER Controller
-
-pci:v00008086d00002E07*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Serial KT Controller
-
-pci:v00008086d00002E10*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset DRAM Controller
-
-pci:v00008086d00002E11*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset PCI Express Root Port
-
-pci:v00008086d00002E12*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002E13*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002E14*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset HECI Controller
-
-pci:v00008086d00002E15*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset HECI Controller
-
-pci:v00008086d00002E16*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset PT IDER Controller
-
-pci:v00008086d00002E17*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Serial KT Controller
-
-pci:v00008086d00002E20*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset DRAM Controller
-
-pci:v00008086d00002E20sv00001043sd000082D3*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00002E20sv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
-
-pci:v00008086d00002E21*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset PCI Express Root Port
-
-pci:v00008086d00002E21sv00001043sd000082D3*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00002E21sv00001458sd00005000*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5 Motherboard
-
-pci:v00008086d00002E22*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002E22sv00001458sd0000D000*
- ID_PRODUCT_FROM_DATABASE=GA-EG45M-DS2H Mainboard
-
-pci:v00008086d00002E23*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002E23sv00001458sd0000D000*
- ID_PRODUCT_FROM_DATABASE=GA-EG45M-DS2H Mainboard
-
-pci:v00008086d00002E24*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset HECI Controller
-
-pci:v00008086d00002E25*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset HECI Controller
-
-pci:v00008086d00002E26*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset PT IDER Controller
-
-pci:v00008086d00002E27*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Serial KT Controller
-
-pci:v00008086d00002E29*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset PCI Express Root Port
-
-pci:v00008086d00002E30*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset DRAM Controller
-
-pci:v00008086d00002E31*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset PCI Express Root Port
-
-pci:v00008086d00002E32*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002E33*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002E34*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset HECI Controller
-
-pci:v00008086d00002E35*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset HECI Controller
-
-pci:v00008086d00002E36*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset PT IDER Controller
-
-pci:v00008086d00002E37*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Serial KT Controller
-
-pci:v00008086d00002E40*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset DRAM Controller
-
-pci:v00008086d00002E41*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset PCI Express Root Port
-
-pci:v00008086d00002E42*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002E43*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002E44*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset HECI Controller
-
-pci:v00008086d00002E45*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset HECI Controller
-
-pci:v00008086d00002E46*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset PT IDER Controller
-
-pci:v00008086d00002E47*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Serial KT Controller
-
-pci:v00008086d00002E50*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor CE3100
-
-pci:v00008086d00002E52*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Clock and Reset Controller
-
-pci:v00008086d00002E58*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Interrupt Controller
-
-pci:v00008086d00002E5A*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor CE3100 A/V Bridge
-
-pci:v00008086d00002E5B*
- ID_PRODUCT_FROM_DATABASE=Graphics Media Accelerator 500 Graphics
-
-pci:v00008086d00002E5C*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Video Decoder
-
-pci:v00008086d00002E5D*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Transport Stream Interface
-
-pci:v00008086d00002E5E*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Transport Stream Processor 0
-
-pci:v00008086d00002E5F*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Audio DSP
-
-pci:v00008086d00002E60*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Audio Interfaces
-
-pci:v00008086d00002E61*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Video Display Controller
-
-pci:v00008086d00002E62*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Video Processing Unit
-
-pci:v00008086d00002E63*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor HDMI Tx Interface
-
-pci:v00008086d00002E65*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Expansion Bus Interface
-
-pci:v00008086d00002E66*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor UART
-
-pci:v00008086d00002E67*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor General Purpose I/Os
-
-pci:v00008086d00002E68*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor I2C Interface
-
-pci:v00008086d00002E69*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Smart Card Interface
-
-pci:v00008086d00002E6A*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor SPI Master Interface
-
-pci:v00008086d00002E6E*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Gigabit Ethernet Controller
-
-pci:v00008086d00002E6F*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor Media Timing Unit
-
-pci:v00008086d00002E70*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor USB
-
-pci:v00008086d00002E71*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor SATA
-
-pci:v00008086d00002E73*
- ID_PRODUCT_FROM_DATABASE=CE Media Processor CE3100 PCI Express
-
-pci:v00008086d00002E90*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset DRAM Controller
-
-pci:v00008086d00002E91*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset PCI Express Root Port
-
-pci:v00008086d00002E92*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002E93*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller
-
-pci:v00008086d00002E94*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset HECI Controller
-
-pci:v00008086d00002E95*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset HECI Controller
-
-pci:v00008086d00002E96*
- ID_PRODUCT_FROM_DATABASE=4 Series Chipset PT IDER Controller
-
-pci:v00008086d00003200*
- ID_PRODUCT_FROM_DATABASE=GD31244 PCI-X SATA HBA
-
-pci:v00008086d00003200sv00001775sd0000C200*
- ID_PRODUCT_FROM_DATABASE=C2K onboard SATA host bus adapter
-
-pci:v00008086d00003310*
- ID_PRODUCT_FROM_DATABASE=IOP348 I/O Processor
-
-pci:v00008086d00003310sv00001054sd00003030*
- ID_PRODUCT_FROM_DATABASE=HRA380 Hitachi RAID Adapter to PCIe
-
-pci:v00008086d00003310sv00001054sd00003034*
- ID_PRODUCT_FROM_DATABASE=HRA381 Hitachi RAID Adapter to PCIe
-
-pci:v00008086d00003313*
- ID_PRODUCT_FROM_DATABASE=IOP348 I/O Processor (SL8e) in IOC Mode SAS/SATA
-
-pci:v00008086d0000331B*
- ID_PRODUCT_FROM_DATABASE=IOP348 I/O Processor (SL8x) in IOC Mode SAS/SATA
-
-pci:v00008086d00003331*
- ID_PRODUCT_FROM_DATABASE=IOC340 I/O Controller (VV8e) SAS/SATA
-
-pci:v00008086d00003339*
- ID_PRODUCT_FROM_DATABASE=IOC340 I/O Controller (VV8x) SAS/SATA
-
-pci:v00008086d00003340*
- ID_PRODUCT_FROM_DATABASE=82855PM Processor to I/O Controller
-
-pci:v00008086d00003340sv00001014sd00000529*
- ID_PRODUCT_FROM_DATABASE=Thinkpad T40 series
-
-pci:v00008086d00003340sv00001025sd0000005A*
- ID_PRODUCT_FROM_DATABASE=TravelMate 290
-
-pci:v00008086d00003340sv0000103Csd0000088C*
- ID_PRODUCT_FROM_DATABASE=NC8000 laptop
-
-pci:v00008086d00003340sv0000103Csd00000890*
- ID_PRODUCT_FROM_DATABASE=NC6000 laptop
-
-pci:v00008086d00003340sv0000103Csd000008B0*
- ID_PRODUCT_FROM_DATABASE=tc1100 tablet
-
-pci:v00008086d00003340sv0000144Dsd0000C005*
- ID_PRODUCT_FROM_DATABASE=X10 Laptop
-
-pci:v00008086d00003340sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30/P35 notebook
-
-pci:v00008086d00003341*
- ID_PRODUCT_FROM_DATABASE=82855PM Processor to AGP Controller
-
-pci:v00008086d00003341sv0000144Dsd0000C00C*
- ID_PRODUCT_FROM_DATABASE=P30 notebook
-
-pci:v00008086d00003363*
- ID_PRODUCT_FROM_DATABASE=IOC340 I/O Controller in IOC Mode SAS/SATA
-
-pci:v00008086d00003382*
- ID_PRODUCT_FROM_DATABASE=81342 [Chevelon] I/O Processor (ATUe)
-
-pci:v00008086d000033C3*
- ID_PRODUCT_FROM_DATABASE=IOP348 I/O Processor (SL8De) in IOC Mode SAS/SATA
-
-pci:v00008086d000033CB*
- ID_PRODUCT_FROM_DATABASE=IOP348 I/O Processor (SL8Dx) in IOC Mode SAS/SATA
-
-pci:v00008086d00003400*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port
-
-pci:v00008086d00003401*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port
-
-pci:v00008086d00003402*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port
-
-pci:v00008086d00003403*
- ID_PRODUCT_FROM_DATABASE=5500 I/O Hub to ESI Port
-
-pci:v00008086d00003403sv00001028sd00000236*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R610 I/O Hub to ESI Port
-
-pci:v00008086d00003403sv00001028sd00000287*
- ID_PRODUCT_FROM_DATABASE=PowerEdge M610 I/O Hub to ESI Port
-
-pci:v00008086d00003403sv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 I/O Hub to ESI Port
-
-pci:v00008086d00003403sv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 I/O Hub to ESI Port
-
-pci:v00008086d00003403sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant ML150 G6 Server
-
-pci:v00008086d00003404*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port
-
-pci:v00008086d00003405*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port
-
-pci:v00008086d00003406*
- ID_PRODUCT_FROM_DATABASE=5520 I/O Hub to ESI Port
-
-pci:v00008086d00003406sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant G6 series
-
-pci:v00008086d00003407*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port
-
-pci:v00008086d00003408*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 1
-
-pci:v00008086d00003408sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant G6 series
-
-pci:v00008086d00003409*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 2
-
-pci:v00008086d0000340A*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 3
-
-pci:v00008086d0000340Asv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant ML150 G6 Server
-
-pci:v00008086d0000340B*
- ID_PRODUCT_FROM_DATABASE=5520/X58 I/O Hub PCI Express Root Port 4
-
-pci:v00008086d0000340C*
- ID_PRODUCT_FROM_DATABASE=5520/X58 I/O Hub PCI Express Root Port 5
-
-pci:v00008086d0000340D*
- ID_PRODUCT_FROM_DATABASE=5520/X58 I/O Hub PCI Express Root Port 6
-
-pci:v00008086d0000340E*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 7
-
-pci:v00008086d0000340Esv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant ML150 G6 Server
-
-pci:v00008086d0000340F*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 8
-
-pci:v00008086d00003410*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500/X58 I/O Hub PCI Express Root Port 9
-
-pci:v00008086d00003411*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500/X58 I/O Hub PCI Express Root Port 10
-
-pci:v00008086d00003418*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500/X58 Physical Layer Port 0
-
-pci:v00008086d00003419*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500 Physical Layer Port 1
-
-pci:v00008086d00003420*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500/X58 I/O Hub PCI Express Root Port 0
-
-pci:v00008086d00003421*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500/X58 I/O Hub PCI Express Root Port 0
-
-pci:v00008086d00003422*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers
-
-pci:v00008086d00003422sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant G6 series
-
-pci:v00008086d00003423*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500/X58 I/O Hub Control Status and RAS Registers
-
-pci:v00008086d00003423sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant G6 series
-
-pci:v00008086d00003425*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500/X58 Physical and Link Layer Registers Port 0
-
-pci:v00008086d00003426*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500/X58 Routing and Protocol Layer Registers Port 0
-
-pci:v00008086d00003427*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500 Physical and Link Layer Registers Port 1
-
-pci:v00008086d00003428*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500 Routing & Protocol Layer Register Port 1
-
-pci:v00008086d00003429*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
-
-pci:v00008086d0000342A*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
-
-pci:v00008086d0000342B*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
-
-pci:v00008086d0000342C*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
-
-pci:v00008086d0000342D*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500/X58 I/O Hub I/OxAPIC Interrupt Controller
-
-pci:v00008086d0000342E*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500/X58 I/O Hub System Management Registers
-
-pci:v00008086d0000342Esv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant G6 series
-
-pci:v00008086d0000342F*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500/X58 Trusted Execution Technology Registers
-
-pci:v00008086d00003430*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
-
-pci:v00008086d00003431*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
-
-pci:v00008086d00003432*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
-
-pci:v00008086d00003433*
- ID_PRODUCT_FROM_DATABASE=5520/5500/X58 Chipset QuickData Technology Device
-
-pci:v00008086d00003438*
- ID_PRODUCT_FROM_DATABASE=7500/5520/5500/X58 I/O Hub Throttle Registers
-
-pci:v00008086d00003500*
- ID_PRODUCT_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port
-
-pci:v00008086d00003500sv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d00003501*
- ID_PRODUCT_FROM_DATABASE=6310ESB PCI Express Upstream Port
-
-pci:v00008086d00003504*
- ID_PRODUCT_FROM_DATABASE=6311ESB/6321ESB I/OxAPIC Interrupt Controller
-
-pci:v00008086d00003505*
- ID_PRODUCT_FROM_DATABASE=6310ESB I/OxAPIC Interrupt Controller
-
-pci:v00008086d0000350C*
- ID_PRODUCT_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge
-
-pci:v00008086d0000350Csv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d0000350D*
- ID_PRODUCT_FROM_DATABASE=6310ESB PCI Express to PCI-X Bridge
-
-pci:v00008086d00003510*
- ID_PRODUCT_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1
-
-pci:v00008086d00003510sv0000103Csd000031FE*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G3
-
-pci:v00008086d00003511*
- ID_PRODUCT_FROM_DATABASE=6310ESB PCI Express Downstream Port E1
-
-pci:v00008086d00003514*
- ID_PRODUCT_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E2
-
-pci:v00008086d00003515*
- ID_PRODUCT_FROM_DATABASE=6310ESB PCI Express Downstream Port E2
-
-pci:v00008086d00003518*
- ID_PRODUCT_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E3
-
-pci:v00008086d00003519*
- ID_PRODUCT_FROM_DATABASE=6310ESB PCI Express Downstream Port E3
-
-pci:v00008086d00003575*
- ID_PRODUCT_FROM_DATABASE=82830M/MG/MP Host Bridge
-
-pci:v00008086d00003575sv00000E11sd00000030*
- ID_PRODUCT_FROM_DATABASE=Evo N600c
-
-pci:v00008086d00003575sv00001014sd0000021D*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A/T/X Series
-
-pci:v00008086d00003575sv0000104Dsd000080E7*
- ID_PRODUCT_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP
-
-pci:v00008086d00003576*
- ID_PRODUCT_FROM_DATABASE=82830M/MP AGP Bridge
-
-pci:v00008086d00003577*
- ID_PRODUCT_FROM_DATABASE=82830M/MG Integrated Graphics Controller
-
-pci:v00008086d00003577sv00001014sd00000513*
- ID_PRODUCT_FROM_DATABASE=ThinkPad A/T/X Series
-
-pci:v00008086d00003578*
- ID_PRODUCT_FROM_DATABASE=82830M/MG/MP Host Bridge
-
-pci:v00008086d00003580*
- ID_PRODUCT_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller
-
-pci:v00008086d00003580sv00001014sd0000055C*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R50e
-
-pci:v00008086d00003580sv00001028sd00000139*
- ID_PRODUCT_FROM_DATABASE=Latitude D400
-
-pci:v00008086d00003580sv00001028sd0000014F*
- ID_PRODUCT_FROM_DATABASE=Latitude X300
-
-pci:v00008086d00003580sv00001028sd00000152*
- ID_PRODUCT_FROM_DATABASE=Latitude D500
-
-pci:v00008086d00003580sv00001028sd00000163*
- ID_PRODUCT_FROM_DATABASE=Latitude D505
-
-pci:v00008086d00003580sv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v00008086d00003580sv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v00008086d00003580sv0000114Asd00000582*
- ID_PRODUCT_FROM_DATABASE=PC8
-
-pci:v00008086d00003580sv00001734sd00001055*
- ID_PRODUCT_FROM_DATABASE=Amilo M1420
-
-pci:v00008086d00003580sv00001775sd000010D0*
- ID_PRODUCT_FROM_DATABASE=V5D Single Board Computer
-
-pci:v00008086d00003580sv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d00003580sv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d00003580sv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d00003580sv0000E4BFsd00000CC9*
- ID_PRODUCT_FROM_DATABASE=CC9-SAMBA
-
-pci:v00008086d00003580sv0000E4BFsd00000CD2*
- ID_PRODUCT_FROM_DATABASE=CD2-BEBOP
-
-pci:v00008086d00003581*
- ID_PRODUCT_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to AGP Controller
-
-pci:v00008086d00003581sv00001734sd00001055*
- ID_PRODUCT_FROM_DATABASE=Amilo M1420
-
-pci:v00008086d00003582*
- ID_PRODUCT_FROM_DATABASE=82852/855GM Integrated Graphics Device
-
-pci:v00008086d00003582sv00001014sd00000562*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R50e
-
-pci:v00008086d00003582sv00001028sd00000139*
- ID_PRODUCT_FROM_DATABASE=Latitude D400
-
-pci:v00008086d00003582sv00001028sd0000014F*
- ID_PRODUCT_FROM_DATABASE=Latitude X300
-
-pci:v00008086d00003582sv00001028sd00000152*
- ID_PRODUCT_FROM_DATABASE=Latitude D500
-
-pci:v00008086d00003582sv00001028sd00000163*
- ID_PRODUCT_FROM_DATABASE=Latitude D505
-
-pci:v00008086d00003582sv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v00008086d00003582sv0000114Asd00000582*
- ID_PRODUCT_FROM_DATABASE=PC8 integrated graphics
-
-pci:v00008086d00003582sv00001775sd000010D0*
- ID_PRODUCT_FROM_DATABASE=V5D Single Board Computer VGA
-
-pci:v00008086d00003582sv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d00003582sv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d00003582sv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d00003582sv0000E4BFsd00000CC9*
- ID_PRODUCT_FROM_DATABASE=CC9-SAMBA
-
-pci:v00008086d00003582sv0000E4BFsd00000CD2*
- ID_PRODUCT_FROM_DATABASE=CD2-BEBOP
-
-pci:v00008086d00003584*
- ID_PRODUCT_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller
-
-pci:v00008086d00003584sv00001014sd0000055D*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R50e
-
-pci:v00008086d00003584sv00001028sd00000139*
- ID_PRODUCT_FROM_DATABASE=Latitude D400
-
-pci:v00008086d00003584sv00001028sd0000014F*
- ID_PRODUCT_FROM_DATABASE=Latitude X300
-
-pci:v00008086d00003584sv00001028sd00000152*
- ID_PRODUCT_FROM_DATABASE=Latitude D500
-
-pci:v00008086d00003584sv00001028sd00000163*
- ID_PRODUCT_FROM_DATABASE=Latitude D505
-
-pci:v00008086d00003584sv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v00008086d00003584sv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v00008086d00003584sv0000114Asd00000582*
- ID_PRODUCT_FROM_DATABASE=PC8
-
-pci:v00008086d00003584sv00001734sd00001055*
- ID_PRODUCT_FROM_DATABASE=Amilo M1420
-
-pci:v00008086d00003584sv00001775sd000010D0*
- ID_PRODUCT_FROM_DATABASE=V5D Single Board Computer
-
-pci:v00008086d00003584sv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d00003584sv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d00003584sv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d00003585*
- ID_PRODUCT_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller
-
-pci:v00008086d00003585sv00001014sd0000055E*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R50e
-
-pci:v00008086d00003585sv00001028sd00000139*
- ID_PRODUCT_FROM_DATABASE=Latitude D400
-
-pci:v00008086d00003585sv00001028sd0000014F*
- ID_PRODUCT_FROM_DATABASE=Latitude X300
-
-pci:v00008086d00003585sv00001028sd00000152*
- ID_PRODUCT_FROM_DATABASE=Latitude D500
-
-pci:v00008086d00003585sv00001028sd00000163*
- ID_PRODUCT_FROM_DATABASE=Latitude D505
-
-pci:v00008086d00003585sv00001028sd0000018D*
- ID_PRODUCT_FROM_DATABASE=Inspiron 700m/710m
-
-pci:v00008086d00003585sv00001028sd00000196*
- ID_PRODUCT_FROM_DATABASE=Inspiron 5160
-
-pci:v00008086d00003585sv0000114Asd00000582*
- ID_PRODUCT_FROM_DATABASE=PC8
-
-pci:v00008086d00003585sv00001734sd00001055*
- ID_PRODUCT_FROM_DATABASE=Amilo M1420
-
-pci:v00008086d00003585sv00001775sd000010D0*
- ID_PRODUCT_FROM_DATABASE=V5D Single Board Computer
-
-pci:v00008086d00003585sv00001775sd0000CE90*
- ID_PRODUCT_FROM_DATABASE=CE9
-
-pci:v00008086d00003585sv00004C53sd000010B0*
- ID_PRODUCT_FROM_DATABASE=CL9 mainboard
-
-pci:v00008086d00003585sv00004C53sd000010E0*
- ID_PRODUCT_FROM_DATABASE=PSL09 PrPMC
-
-pci:v00008086d0000358C*
- ID_PRODUCT_FROM_DATABASE=82854 GMCH
-
-pci:v00008086d0000358E*
- ID_PRODUCT_FROM_DATABASE=82854 GMCH Integrated Graphics Device
-
-pci:v00008086d00003590*
- ID_PRODUCT_FROM_DATABASE=E7520 Memory Controller Hub
-
-pci:v00008086d00003590sv00001014sd000002DD*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00008086d00003590sv00001028sd0000016C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1850 Memory Controller Hub
-
-pci:v00008086d00003590sv00001028sd0000016D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2850 Memory Controller Hub
-
-pci:v00008086d00003590sv00001028sd0000019A*
- ID_PRODUCT_FROM_DATABASE=PowerEdge SC1425
-
-pci:v00008086d00003590sv00001734sd0000103E*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX/TX S2 series
-
-pci:v00008086d00003590sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d00003590sv00004C53sd000010D0*
- ID_PRODUCT_FROM_DATABASE=Telum ASLP10 Processor AMC
-
-pci:v00008086d00003591*
- ID_PRODUCT_FROM_DATABASE=E7525/E7520 Error Reporting Registers
-
-pci:v00008086d00003591sv00001014sd000002DD*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00008086d00003591sv00001028sd00000169*
- ID_PRODUCT_FROM_DATABASE=Precision 470
-
-pci:v00008086d00003591sv0000103Csd00003208*
- ID_PRODUCT_FROM_DATABASE=ProLiant DL140 G2
-
-pci:v00008086d00003591sv00004C53sd000010D0*
- ID_PRODUCT_FROM_DATABASE=Telum ASLP10 Processor AMC
-
-pci:v00008086d00003592*
- ID_PRODUCT_FROM_DATABASE=E7320 Memory Controller Hub
-
-pci:v00008086d00003593*
- ID_PRODUCT_FROM_DATABASE=E7320 Error Reporting Registers
-
-pci:v00008086d00003594*
- ID_PRODUCT_FROM_DATABASE=E7520 DMA Controller
-
-pci:v00008086d00003594sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d00003594sv00004C53sd000010D0*
- ID_PRODUCT_FROM_DATABASE=Telum ASLP10 Processor AMC
-
-pci:v00008086d00003595*
- ID_PRODUCT_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A
-
-pci:v00008086d00003595sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d00003596*
- ID_PRODUCT_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A1
-
-pci:v00008086d00003597*
- ID_PRODUCT_FROM_DATABASE=E7525/E7520 PCI Express Port B
-
-pci:v00008086d00003597sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d00003598*
- ID_PRODUCT_FROM_DATABASE=E7520 PCI Express Port B1
-
-pci:v00008086d00003598sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d00003599*
- ID_PRODUCT_FROM_DATABASE=E7520 PCI Express Port C
-
-pci:v00008086d00003599sv00001775sd00001100*
- ID_PRODUCT_FROM_DATABASE=CR11/VR11 Single Board Computer
-
-pci:v00008086d0000359A*
- ID_PRODUCT_FROM_DATABASE=E7520 PCI Express Port C1
-
-pci:v00008086d0000359B*
- ID_PRODUCT_FROM_DATABASE=E7525/E7520/E7320 Extended Configuration Registers
-
-pci:v00008086d0000359Bsv00001014sd000002DD*
- ID_PRODUCT_FROM_DATABASE=eServer xSeries server mainboard
-
-pci:v00008086d0000359E*
- ID_PRODUCT_FROM_DATABASE=E7525 Memory Controller Hub
-
-pci:v00008086d0000359Esv00001028sd00000169*
- ID_PRODUCT_FROM_DATABASE=Precision 470
-
-pci:v00008086d000035B0*
- ID_PRODUCT_FROM_DATABASE=3100 Chipset Memory I/O Controller Hub
-
-pci:v00008086d000035B1*
- ID_PRODUCT_FROM_DATABASE=3100 DRAM Controller Error Reporting Registers
-
-pci:v00008086d000035B5*
- ID_PRODUCT_FROM_DATABASE=3100 Chipset Enhanced DMA Controller
-
-pci:v00008086d000035B6*
- ID_PRODUCT_FROM_DATABASE=3100 Chipset PCI Express Port A
-
-pci:v00008086d000035B7*
- ID_PRODUCT_FROM_DATABASE=3100 Chipset PCI Express Port A1
-
-pci:v00008086d000035C8*
- ID_PRODUCT_FROM_DATABASE=3100 Extended Configuration Test Overflow Registers
-
-pci:v00008086d00003600*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset Memory Controller Hub
-
-pci:v00008086d00003604*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset PCI Express Port 1
-
-pci:v00008086d00003605*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset PCI Express Port 2
-
-pci:v00008086d00003606*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset PCI Express Port 3
-
-pci:v00008086d00003607*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset PCI Express Port 4
-
-pci:v00008086d00003608*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset PCI Express Port 5
-
-pci:v00008086d00003609*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset PCI Express Port 6
-
-pci:v00008086d0000360A*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset PCI Express Port 7
-
-pci:v00008086d0000360B*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset QuickData Technology Device
-
-pci:v00008086d0000360C*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset FSB Registers
-
-pci:v00008086d0000360Csv00001028sd000001F0*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R900 7300 Chipset FSB Registers
-
-pci:v00008086d0000360D*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset Snoop Filter Registers
-
-pci:v00008086d0000360E*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset Debug and Miscellaneous Registers
-
-pci:v00008086d0000360F*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset FBD Branch 0 Registers
-
-pci:v00008086d00003610*
- ID_PRODUCT_FROM_DATABASE=7300 Chipset FBD Branch 1 Registers
-
-pci:v00008086d00003700*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d00003701*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d00003702*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d00003703*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d00003704*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d00003705*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d00003706*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d00003707*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d00003708*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d00003709*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d0000370A*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d0000370B*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d0000370C*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d0000370D*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d0000370E*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d0000370F*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 DMI
-
-pci:v00008086d00003710*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
-
-pci:v00008086d00003711*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
-
-pci:v00008086d00003712*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
-
-pci:v00008086d00003713*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
-
-pci:v00008086d00003714*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
-
-pci:v00008086d00003715*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
-
-pci:v00008086d00003716*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
-
-pci:v00008086d00003717*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
-
-pci:v00008086d00003718*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
-
-pci:v00008086d00003719*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 CB3 DMA
-
-pci:v00008086d0000371A*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Link
-
-pci:v00008086d0000371B*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Routing and Protocol
-
-pci:v00008086d0000371D*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 QPI Routing and Protocol
-
-pci:v00008086d00003720*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 PCI Express Root Port 0
-
-pci:v00008086d00003721*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 PCI Express Root Port 1
-
-pci:v00008086d00003722*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 PCI Express Root Port 2
-
-pci:v00008086d00003723*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 PCI Express Root Port 3
-
-pci:v00008086d00003724*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 PCI Express Root Port 4
-
-pci:v00008086d00003725*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 NTB Primary
-
-pci:v00008086d00003726*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 NTB Primary
-
-pci:v00008086d00003727*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 NTB Secondary
-
-pci:v00008086d00003728*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Core
-
-pci:v00008086d00003729*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Core
-
-pci:v00008086d0000372A*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Core
-
-pci:v00008086d0000372B*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Core
-
-pci:v00008086d0000372C*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 Reserved
-
-pci:v00008086d0000373F*
- ID_PRODUCT_FROM_DATABASE=Xeon C5500/C3500 IOxAPIC
-
-pci:v00008086d00003A00*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) 4-port SATA IDE Controller
-
-pci:v00008086d00003A02*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) SATA AHCI Controller
-
-pci:v00008086d00003A05*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) SATA RAID Controller
-
-pci:v00008086d00003A06*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) 2-port SATA IDE Controller
-
-pci:v00008086d00003A14*
- ID_PRODUCT_FROM_DATABASE=82801JDO (ICH10DO) LPC Interface Controller
-
-pci:v00008086d00003A16*
- ID_PRODUCT_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller
-
-pci:v00008086d00003A16sv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 LPC Interface Controller
-
-pci:v00008086d00003A16sv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 LPC Interface Controller
-
-pci:v00008086d00003A16sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant G6 series
-
-pci:v00008086d00003A16sv00001043sd000082D4*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A16sv00001458sd00005001*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5 Motherboard
-
-pci:v00008086d00003A18*
- ID_PRODUCT_FROM_DATABASE=82801JIB (ICH10) LPC Interface Controller
-
-pci:v00008086d00003A1A*
- ID_PRODUCT_FROM_DATABASE=82801JD (ICH10D) LPC Interface Controller
-
-pci:v00008086d00003A20*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1
-
-pci:v00008086d00003A20sv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 SATA IDE Controller
-
-pci:v00008086d00003A20sv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 SATA IDE Controller
-
-pci:v00008086d00003A22*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller
-
-pci:v00008086d00003A22sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant G6 series
-
-pci:v00008086d00003A22sv00001043sd000082D4*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A22sv00001458sd0000B005*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
-
-pci:v00008086d00003A25*
- ID_PRODUCT_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller
-
-pci:v00008086d00003A25sv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PERC S100 Controller (PE R410)
-
-pci:v00008086d00003A25sv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PERC S100 Controller (PE T410)
-
-pci:v00008086d00003A25sv00001028sd000002F1*
- ID_PRODUCT_FROM_DATABASE=PERC S100 Controller (PE R510)
-
-pci:v00008086d00003A26*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2
-
-pci:v00008086d00003A26sv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 SATA IDE Controller
-
-pci:v00008086d00003A26sv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 SATA IDE Controller
-
-pci:v00008086d00003A30*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller
-
-pci:v00008086d00003A30sv00001043sd000082D4*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A30sv00001458sd00005001*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
-
-pci:v00008086d00003A32*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) Thermal Subsystem
-
-pci:v00008086d00003A34*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1
-
-pci:v00008086d00003A34sv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 USB UHCI Controller
-
-pci:v00008086d00003A34sv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 USB UHCI Controller
-
-pci:v00008086d00003A34sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant G6 series
-
-pci:v00008086d00003A34sv00001043sd000082D4*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A34sv00001458sd00005004*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5 Motherboard
-
-pci:v00008086d00003A35*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2
-
-pci:v00008086d00003A35sv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 USB UHCI Controller
-
-pci:v00008086d00003A35sv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 USB UHCI Controller
-
-pci:v00008086d00003A35sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant G6 series
-
-pci:v00008086d00003A35sv00001043sd000082D4*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A35sv00001458sd00005004*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5 Motherboard
-
-pci:v00008086d00003A36*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3
-
-pci:v00008086d00003A36sv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 USB UHCI Controller
-
-pci:v00008086d00003A36sv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 USB UHCI Controller
-
-pci:v00008086d00003A36sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant G6 series
-
-pci:v00008086d00003A36sv00001043sd000082D4*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A36sv00001458sd00005004*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5 Motherboard
-
-pci:v00008086d00003A37*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4
-
-pci:v00008086d00003A37sv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 USB UHCI Controller
-
-pci:v00008086d00003A37sv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 USB UHCI Controller
-
-pci:v00008086d00003A37sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant G6 series
-
-pci:v00008086d00003A37sv00001043sd000082D4*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A37sv00001458sd00005004*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
-
-pci:v00008086d00003A38*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5
-
-pci:v00008086d00003A38sv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 USB UHCI Controller
-
-pci:v00008086d00003A38sv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 USB UHCI Controller
-
-pci:v00008086d00003A38sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant ML150 G6 Server
-
-pci:v00008086d00003A38sv00001043sd000082D4*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A38sv00001458sd00005004*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
-
-pci:v00008086d00003A39*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6
-
-pci:v00008086d00003A39sv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 USB UHCI Controller
-
-pci:v00008086d00003A39sv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 USB UHCI Controller
-
-pci:v00008086d00003A39sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant ML150 G6 Server
-
-pci:v00008086d00003A39sv00001043sd000082D4*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A39sv00001458sd00005004*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
-
-pci:v00008086d00003A3A*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1
-
-pci:v00008086d00003A3Asv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 USB EHCI Controller
-
-pci:v00008086d00003A3Asv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 USB EHCI Controller
-
-pci:v00008086d00003A3Asv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant G6 series
-
-pci:v00008086d00003A3Asv00001043sd000082D4*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A3Asv00001458sd00005006*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5 Motherboard
-
-pci:v00008086d00003A3C*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2
-
-pci:v00008086d00003A3Csv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 USB EHCI Controller
-
-pci:v00008086d00003A3Csv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 USB EHCI Controller
-
-pci:v00008086d00003A3Csv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant G6 series
-
-pci:v00008086d00003A3Csv00001043sd000082D4*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A3Csv00001458sd00005006*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5 Motherboard
-
-pci:v00008086d00003A3E*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller
-
-pci:v00008086d00003A3Esv00001043sd00008311*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A3Esv00001458sd0000A002*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-UD3R Motherboard
-
-pci:v00008086d00003A3Esv00001458sd0000A102*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
-
-pci:v00008086d00003A40*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1
-
-pci:v00008086d00003A40sv00001028sd0000028C*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R410 PCI Express Port 1
-
-pci:v00008086d00003A40sv00001028sd0000028D*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T410 PCI Express Port 1
-
-pci:v00008086d00003A40sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant ML150 G6 Server
-
-pci:v00008086d00003A40sv00001043sd000082D4*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A40sv00001043sd000082EA*
- ID_PRODUCT_FROM_DATABASE=P6T DeLuxe Motherboard
-
-pci:v00008086d00003A40sv00001458sd00005001*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
-
-pci:v00008086d00003A42*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Port 2
-
-pci:v00008086d00003A44*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 3
-
-pci:v00008086d00003A44sv00001043sd000082EA*
- ID_PRODUCT_FROM_DATABASE=P6T DeLuxe Motherboard
-
-pci:v00008086d00003A46*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4
-
-pci:v00008086d00003A46sv00001043sd000082EA*
- ID_PRODUCT_FROM_DATABASE=P6T DeLuxe Motherboard
-
-pci:v00008086d00003A46sv00001458sd00005001*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5 Motherboard
-
-pci:v00008086d00003A48*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5
-
-pci:v00008086d00003A48sv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant ML150 G6 Server
-
-pci:v00008086d00003A48sv00001043sd000082EA*
- ID_PRODUCT_FROM_DATABASE=P6T Deluxe Motherboard
-
-pci:v00008086d00003A48sv00001458sd00005001*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5 Motherboard
-
-pci:v00008086d00003A4A*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6
-
-pci:v00008086d00003A4Asv0000103Csd0000330B*
- ID_PRODUCT_FROM_DATABASE=ProLiant ML150 G6 Server
-
-pci:v00008086d00003A4Asv00001043sd000082D4*
- ID_PRODUCT_FROM_DATABASE=P5Q Deluxe Motherboard
-
-pci:v00008086d00003A4Asv00001043sd000082EA*
- ID_PRODUCT_FROM_DATABASE=P6T DeLuxe Motherboard
-
-pci:v00008086d00003A4Asv00001458sd00005001*
- ID_PRODUCT_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard
-
-pci:v00008086d00003A4C*
- ID_PRODUCT_FROM_DATABASE=82801JI (ICH10 Family) Gigabit Ethernet Controller
-
-pci:v00008086d00003A51*
- ID_PRODUCT_FROM_DATABASE=82801JDO (ICH10DO) VECI Controller
-
-pci:v00008086d00003A55*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) Virtual SATA Controller
-
-pci:v00008086d00003A60*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) SMBus Controller
-
-pci:v00008086d00003A62*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) Thermal Subsystem
-
-pci:v00008086d00003A64*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) USB UHCI Controller #1
-
-pci:v00008086d00003A65*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) USB UHCI Controller #2
-
-pci:v00008086d00003A66*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) USB UHCI Controller #3
-
-pci:v00008086d00003A67*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) USB UHCI Controller #4
-
-pci:v00008086d00003A68*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) USB UHCI Controller #5
-
-pci:v00008086d00003A69*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) USB UHCI Controller #6
-
-pci:v00008086d00003A6A*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) USB2 EHCI Controller #1
-
-pci:v00008086d00003A6C*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) USB2 EHCI Controller #2
-
-pci:v00008086d00003A6E*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) HD Audio Controller
-
-pci:v00008086d00003A70*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) PCI Express Port 1
-
-pci:v00008086d00003A72*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) PCI Express Port 2
-
-pci:v00008086d00003A74*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) PCI Express Port 3
-
-pci:v00008086d00003A76*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) PCI Express Port 4
-
-pci:v00008086d00003A78*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) PCI Express Port 5
-
-pci:v00008086d00003A7A*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) PCI Express Port 6
-
-pci:v00008086d00003A7C*
- ID_PRODUCT_FROM_DATABASE=82801JD/DO (ICH10 Family) Gigabit Ethernet Controller
-
-pci:v00008086d00003B00*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B01*
- ID_PRODUCT_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B02*
- ID_PRODUCT_FROM_DATABASE=5 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B03*
- ID_PRODUCT_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B04*
- ID_PRODUCT_FROM_DATABASE=5 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B05*
- ID_PRODUCT_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B06*
- ID_PRODUCT_FROM_DATABASE=5 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B07*
- ID_PRODUCT_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B07sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d00003B07sv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d00003B08*
- ID_PRODUCT_FROM_DATABASE=5 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B09*
- ID_PRODUCT_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B09sv00001025sd00000347*
- ID_PRODUCT_FROM_DATABASE=Aspire 7740G
-
-pci:v00008086d00003B0A*
- ID_PRODUCT_FROM_DATABASE=5 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B0Asv00001028sd000002DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 980
-
-pci:v00008086d00003B0B*
- ID_PRODUCT_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B0C*
- ID_PRODUCT_FROM_DATABASE=5 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B0D*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B0E*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B0F*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B10*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B11*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B12*
- ID_PRODUCT_FROM_DATABASE=3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B13*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B14*
- ID_PRODUCT_FROM_DATABASE=3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B15*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B16*
- ID_PRODUCT_FROM_DATABASE=3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B17*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B18*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B19*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B1A*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B1B*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B1C*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B1D*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B1E*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B1F*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LPC Interface Controller
-
-pci:v00008086d00003B20*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller
-
-pci:v00008086d00003B21*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller
-
-pci:v00008086d00003B22*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller
-
-pci:v00008086d00003B22sv00001028sd000002DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 980
-
-pci:v00008086d00003B23*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller
-
-pci:v00008086d00003B25*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller
-
-pci:v00008086d00003B26*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller
-
-pci:v00008086d00003B28*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller
-
-pci:v00008086d00003B29*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller
-
-pci:v00008086d00003B29sv00001025sd00000347*
- ID_PRODUCT_FROM_DATABASE=Aspire 7740G
-
-pci:v00008086d00003B2C*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller
-
-pci:v00008086d00003B2D*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller
-
-pci:v00008086d00003B2Dsv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d00003B2E*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller
-
-pci:v00008086d00003B2Esv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d00003B2F*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller
-
-pci:v00008086d00003B2Fsv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d00003B2Fsv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d00003B30*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller
-
-pci:v00008086d00003B30sv00001025sd00000347*
- ID_PRODUCT_FROM_DATABASE=Aspire 7740G
-
-pci:v00008086d00003B30sv00001028sd000002DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 980
-
-pci:v00008086d00003B30sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d00003B30sv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d00003B32*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem
-
-pci:v00008086d00003B32sv00001025sd00000347*
- ID_PRODUCT_FROM_DATABASE=Aspire 7740G
-
-pci:v00008086d00003B34*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller
-
-pci:v00008086d00003B34sv00001025sd00000347*
- ID_PRODUCT_FROM_DATABASE=Aspire 7740G
-
-pci:v00008086d00003B34sv00001028sd000002DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 980
-
-pci:v00008086d00003B34sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d00003B34sv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d00003B36*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
-
-pci:v00008086d00003B37*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
-
-pci:v00008086d00003B38*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
-
-pci:v00008086d00003B39*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
-
-pci:v00008086d00003B3A*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
-
-pci:v00008086d00003B3B*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
-
-pci:v00008086d00003B3C*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller
-
-pci:v00008086d00003B3Csv00001025sd00000347*
- ID_PRODUCT_FROM_DATABASE=Aspire 7740G
-
-pci:v00008086d00003B3Csv00001028sd000002DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 980
-
-pci:v00008086d00003B3Csv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d00003B3Csv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d00003B3E*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
-
-pci:v00008086d00003B3F*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
-
-pci:v00008086d00003B40*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller
-
-pci:v00008086d00003B41*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset LAN Controller
-
-pci:v00008086d00003B42*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1
-
-pci:v00008086d00003B42sv00001028sd000002DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 980
-
-pci:v00008086d00003B42sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d00003B44*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2
-
-pci:v00008086d00003B44sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d00003B46*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3
-
-pci:v00008086d00003B46sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d00003B48*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4
-
-pci:v00008086d00003B48sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d00003B4A*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5
-
-pci:v00008086d00003B4Asv00001028sd000002DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 980
-
-pci:v00008086d00003B4C*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 6
-
-pci:v00008086d00003B4E*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 7
-
-pci:v00008086d00003B50*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 8
-
-pci:v00008086d00003B53*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset VECI Controller
-
-pci:v00008086d00003B56*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio
-
-pci:v00008086d00003B56sv00001025sd00000347*
- ID_PRODUCT_FROM_DATABASE=Aspire 7740G
-
-pci:v00008086d00003B56sv00001028sd000002DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 980
-
-pci:v00008086d00003B56sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d00003B56sv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d00003B57*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio
-
-pci:v00008086d00003B64*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller
-
-pci:v00008086d00003B64sv00001025sd00000347*
- ID_PRODUCT_FROM_DATABASE=Aspire 7740G
-
-pci:v00008086d00003B64sv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d00003B65*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller
-
-pci:v00008086d00003B66*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset PT IDER Controller
-
-pci:v00008086d00003B67*
- ID_PRODUCT_FROM_DATABASE=5 Series/3400 Series Chipset KT Controller
-
-pci:v00008086d00003B67sv0000E4BFsd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v00008086d00003C00*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 DMI2
-
-pci:v00008086d00003C01*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 DMI2 in PCI Express Mode
-
-pci:v00008086d00003C02*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 1a
-
-pci:v00008086d00003C03*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 1b
-
-pci:v00008086d00003C04*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 2a
-
-pci:v00008086d00003C05*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 2b
-
-pci:v00008086d00003C06*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 2c
-
-pci:v00008086d00003C07*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 2d
-
-pci:v00008086d00003C08*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode
-
-pci:v00008086d00003C09*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 3b
-
-pci:v00008086d00003C0A*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 3c
-
-pci:v00008086d00003C0B*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 IIO PCI Express Root Port 3d
-
-pci:v00008086d00003C0D*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Non-Transparent Bridge
-
-pci:v00008086d00003C0E*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Non-Transparent Bridge
-
-pci:v00008086d00003C0F*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Non-Transparent Bridge
-
-pci:v00008086d00003C20*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 0
-
-pci:v00008086d00003C21*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 1
-
-pci:v00008086d00003C22*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 2
-
-pci:v00008086d00003C23*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 3
-
-pci:v00008086d00003C24*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 4
-
-pci:v00008086d00003C25*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 5
-
-pci:v00008086d00003C26*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 6
-
-pci:v00008086d00003C27*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 DMA Channel 7
-
-pci:v00008086d00003C28*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Address Map, VTd_Misc, System Management
-
-pci:v00008086d00003C2A*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Control Status and Global Errors
-
-pci:v00008086d00003C2C*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 I/O APIC
-
-pci:v00008086d00003C2E*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 DMA
-
-pci:v00008086d00003C2F*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 DMA
-
-pci:v00008086d00003C40*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 IIO Switch and IRP Performance Monitor
-
-pci:v00008086d00003C43*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Ring to PCI Express Performance Monitor
-
-pci:v00008086d00003C44*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Ring to QuickPath Interconnect Link 0 Performance Monitor
-
-pci:v00008086d00003C45*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Ring to QuickPath Interconnect Link 1 Performance Monitor
-
-pci:v00008086d00003C46*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Processor Home Agent Performance Monitoring
-
-pci:v00008086d00003C71*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller RAS Registers
-
-pci:v00008086d00003C80*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 QPI Link 0
-
-pci:v00008086d00003C83*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 QPI Link Reut 0
-
-pci:v00008086d00003C84*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 QPI Link Reut 0
-
-pci:v00008086d00003C90*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 QPI Link 1
-
-pci:v00008086d00003C93*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 QPI Link Reut 1
-
-pci:v00008086d00003C94*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 QPI Link Reut 1
-
-pci:v00008086d00003CA0*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Processor Home Agent
-
-pci:v00008086d00003CA8*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Registers
-
-pci:v00008086d00003CAA*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 0
-
-pci:v00008086d00003CAB*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 1
-
-pci:v00008086d00003CAC*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 2
-
-pci:v00008086d00003CAD*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 3
-
-pci:v00008086d00003CAE*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 4
-
-pci:v00008086d00003CB0*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 0
-
-pci:v00008086d00003CB1*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 1
-
-pci:v00008086d00003CB2*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 0
-
-pci:v00008086d00003CB3*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 1
-
-pci:v00008086d00003CB4*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 2
-
-pci:v00008086d00003CB5*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 3
-
-pci:v00008086d00003CB6*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 2
-
-pci:v00008086d00003CB7*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 3
-
-pci:v00008086d00003CB8*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 DDRIO
-
-pci:v00008086d00003CC0*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Power Control Unit 0
-
-pci:v00008086d00003CC1*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Power Control Unit 1
-
-pci:v00008086d00003CC2*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Power Control Unit 2
-
-pci:v00008086d00003CD0*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Power Control Unit 3
-
-pci:v00008086d00003CE0*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Interrupt Control Registers
-
-pci:v00008086d00003CE3*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Semaphore and Scratchpad Configuration Registers
-
-pci:v00008086d00003CE4*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 R2PCIe
-
-pci:v00008086d00003CE6*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 QuickPath Interconnect Agent Ring Registers
-
-pci:v00008086d00003CE8*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 0
-
-pci:v00008086d00003CE9*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 5
-
-pci:v00008086d00003CEA*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 1
-
-pci:v00008086d00003CEB*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 6
-
-pci:v00008086d00003CEC*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 3
-
-pci:v00008086d00003CED*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 7
-
-pci:v00008086d00003CEE*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 4
-
-pci:v00008086d00003CEF*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Unicast Register 8
-
-pci:v00008086d00003CF4*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 0
-
-pci:v00008086d00003CF5*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 1
-
-pci:v00008086d00003CF6*
- ID_PRODUCT_FROM_DATABASE=Xeon E5/Core i7 System Address Decoder
-
-pci:v00008086d00004000*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset Memory Controller Hub
-
-pci:v00008086d00004001*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset Memory Controller Hub
-
-pci:v00008086d00004003*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset Memory Controller Hub
-
-pci:v00008086d00004021*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset PCI Express Port 1
-
-pci:v00008086d00004022*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset PCI Express Port 2
-
-pci:v00008086d00004023*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset PCI Express Port 3
-
-pci:v00008086d00004024*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset PCI Express Port 4
-
-pci:v00008086d00004025*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset PCI Express Port 5
-
-pci:v00008086d00004026*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset PCI Express Port 6
-
-pci:v00008086d00004027*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset PCI Express Port 7
-
-pci:v00008086d00004028*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset PCI Express Port 8
-
-pci:v00008086d00004029*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset PCI Express Port 9
-
-pci:v00008086d0000402D*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset IBIST Registers
-
-pci:v00008086d0000402E*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset IBIST Registers
-
-pci:v00008086d0000402F*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset QuickData Technology Device
-
-pci:v00008086d00004030*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset FSB Registers
-
-pci:v00008086d00004031*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset CE/SF Registers
-
-pci:v00008086d00004032*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset IOxAPIC
-
-pci:v00008086d00004035*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset FBD Registers
-
-pci:v00008086d00004036*
- ID_PRODUCT_FROM_DATABASE=5400 Chipset FBD Registers
-
-pci:v00008086d00004100*
- ID_PRODUCT_FROM_DATABASE=Moorestown Graphics and Video
-
-pci:v00008086d00004108*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
-
-pci:v00008086d00004109*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
-
-pci:v00008086d0000410A*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
-
-pci:v00008086d0000410B*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
-
-pci:v00008086d0000410C*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
-
-pci:v00008086d0000410D*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
-
-pci:v00008086d0000410E*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
-
-pci:v00008086d0000410F*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
-
-pci:v00008086d00004114*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx PCI Host Bridge #1
-
-pci:v00008086d00004115*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx PCI Host Bridge #2
-
-pci:v00008086d00004116*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx PCI Host Bridge #3
-
-pci:v00008086d00004117*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx PCI Host Bridge #4
-
-pci:v00008086d00004220*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection
-
-pci:v00008086d00004220sv0000103Csd00000934*
- ID_PRODUCT_FROM_DATABASE=Compaq nw8240/nx8220
-
-pci:v00008086d00004220sv0000103Csd000012F6*
- ID_PRODUCT_FROM_DATABASE=nc6120/nx8220/nw8240
-
-pci:v00008086d00004220sv00008086sd00002712*
- ID_PRODUCT_FROM_DATABASE=IBM ThinkPad R50e
-
-pci:v00008086d00004220sv00008086sd00002721*
- ID_PRODUCT_FROM_DATABASE=Dell B130 laptop integrated WLAN
-
-pci:v00008086d00004220sv00008086sd00002722*
- ID_PRODUCT_FROM_DATABASE=Dell Latitude D600
-
-pci:v00008086d00004220sv00008086sd00002731*
- ID_PRODUCT_FROM_DATABASE=Samsung P35 integrated WLAN
-
-pci:v00008086d00004222*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection
-
-pci:v00008086d00004222sv0000103Csd0000135C*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection
-
-pci:v00008086d00004222sv00008086sd00001000*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection
-
-pci:v00008086d00004222sv00008086sd00001001*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection
-
-pci:v00008086d00004222sv00008086sd00001005*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 3945BG Network Connection
-
-pci:v00008086d00004222sv00008086sd00001034*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 3945BG Network Connection
-
-pci:v00008086d00004222sv00008086sd00001044*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 3945BG Network Connection
-
-pci:v00008086d00004222sv00008086sd00001C00*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection
-
-pci:v00008086d00004223*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection
-
-pci:v00008086d00004223sv00001000sd00008086*
- ID_PRODUCT_FROM_DATABASE=mPCI 3B Americas/Europe ZZA
-
-pci:v00008086d00004223sv00001001sd00008086*
- ID_PRODUCT_FROM_DATABASE=mPCI 3B Europe ZZE
-
-pci:v00008086d00004223sv00001002sd00008086*
- ID_PRODUCT_FROM_DATABASE=mPCI 3B Japan ZZJ
-
-pci:v00008086d00004223sv00001003sd00008086*
- ID_PRODUCT_FROM_DATABASE=mPCI 3B High-Band ZZH
-
-pci:v00008086d00004223sv00001351sd0000103C*
- ID_PRODUCT_FROM_DATABASE=Compaq NC6220
-
-pci:v00008086d00004224*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection
-
-pci:v00008086d00004227*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection
-
-pci:v00008086d00004227sv00008086sd00001011*
- ID_PRODUCT_FROM_DATABASE=ThinkPad R60e/X60s
-
-pci:v00008086d00004227sv00008086sd00001014*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 3945BG Network Connection
-
-pci:v00008086d00004229*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection
-
-pci:v00008086d00004229sv00008086sd00001100*
- ID_PRODUCT_FROM_DATABASE=Vaio VGN-SZ79SN_C
-
-pci:v00008086d00004229sv00008086sd00001101*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 4965 AG or AGN
-
-pci:v00008086d0000422B*
- ID_PRODUCT_FROM_DATABASE=Centrino Ultimate-N 6300
-
-pci:v00008086d0000422Bsv00008086sd00001101*
- ID_PRODUCT_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN
-
-pci:v00008086d0000422Bsv00008086sd00001121*
- ID_PRODUCT_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN
-
-pci:v00008086d0000422C*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6200
-
-pci:v00008086d0000422Csv00008086sd00001301*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN
-
-pci:v00008086d0000422Csv00008086sd00001306*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG
-
-pci:v00008086d0000422Csv00008086sd00001307*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6200 2x2 BG
-
-pci:v00008086d0000422Csv00008086sd00001321*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN
-
-pci:v00008086d0000422Csv00008086sd00001326*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG
-
-pci:v00008086d00004230*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection
-
-pci:v00008086d00004230sv00008086sd00001110*
- ID_PRODUCT_FROM_DATABASE=Lenovo ThinkPad T51
-
-pci:v00008086d00004230sv00008086sd00001111*
- ID_PRODUCT_FROM_DATABASE=Lenovo ThinkPad T61
-
-pci:v00008086d00004232*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100
-
-pci:v00008086d00004232sv00008086sd00001201*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 AGN
-
-pci:v00008086d00004232sv00008086sd00001204*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 AGN
-
-pci:v00008086d00004232sv00008086sd00001205*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 BGN
-
-pci:v00008086d00004232sv00008086sd00001206*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 ABG
-
-pci:v00008086d00004232sv00008086sd00001221*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 AGN
-
-pci:v00008086d00004232sv00008086sd00001224*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 AGN
-
-pci:v00008086d00004232sv00008086sd00001225*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 BGN
-
-pci:v00008086d00004232sv00008086sd00001226*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 ABG
-
-pci:v00008086d00004232sv00008086sd00001301*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 AGN
-
-pci:v00008086d00004232sv00008086sd00001304*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 AGN
-
-pci:v00008086d00004232sv00008086sd00001305*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 BGN
-
-pci:v00008086d00004232sv00008086sd00001306*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 ABG
-
-pci:v00008086d00004232sv00008086sd00001321*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 AGN
-
-pci:v00008086d00004232sv00008086sd00001324*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 AGN
-
-pci:v00008086d00004232sv00008086sd00001325*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 BGN
-
-pci:v00008086d00004232sv00008086sd00001326*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 ABG
-
-pci:v00008086d00004235*
- ID_PRODUCT_FROM_DATABASE=Ultimate N WiFi Link 5300
-
-pci:v00008086d00004236*
- ID_PRODUCT_FROM_DATABASE=Ultimate N WiFi Link 5300
-
-pci:v00008086d00004237*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection
-
-pci:v00008086d00004237sv00008086sd00001211*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 AGN
-
-pci:v00008086d00004237sv00008086sd00001214*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 AGN
-
-pci:v00008086d00004237sv00008086sd00001215*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 BGN
-
-pci:v00008086d00004237sv00008086sd00001216*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 ABG
-
-pci:v00008086d00004237sv00008086sd00001311*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 AGN
-
-pci:v00008086d00004237sv00008086sd00001314*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 AGN
-
-pci:v00008086d00004237sv00008086sd00001315*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 BGN
-
-pci:v00008086d00004237sv00008086sd00001316*
- ID_PRODUCT_FROM_DATABASE=WiFi Link 5100 ABG
-
-pci:v00008086d00004238*
- ID_PRODUCT_FROM_DATABASE=Centrino Ultimate-N 6300
-
-pci:v00008086d00004238sv00008086sd00001111*
- ID_PRODUCT_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN
-
-pci:v00008086d00004239*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6200
-
-pci:v00008086d00004239sv00008086sd00001311*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN
-
-pci:v00008086d00004239sv00008086sd00001316*
- ID_PRODUCT_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG
-
-pci:v00008086d0000423A*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 5350 AGN [Echo Peak] Network Connection
-
-pci:v00008086d0000423B*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 5350 AGN [Echo Peak] Network Connection
-
-pci:v00008086d0000423C*
- ID_PRODUCT_FROM_DATABASE=WiMAX/WiFi Link 5150
-
-pci:v00008086d0000423Csv00008086sd00001201*
- ID_PRODUCT_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN
-
-pci:v00008086d0000423Csv00008086sd00001206*
- ID_PRODUCT_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG
-
-pci:v00008086d0000423Csv00008086sd00001221*
- ID_PRODUCT_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN
-
-pci:v00008086d0000423Csv00008086sd00001301*
- ID_PRODUCT_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN
-
-pci:v00008086d0000423Csv00008086sd00001306*
- ID_PRODUCT_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG
-
-pci:v00008086d0000423Csv00008086sd00001321*
- ID_PRODUCT_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN
-
-pci:v00008086d0000423D*
- ID_PRODUCT_FROM_DATABASE=WiMAX/WiFi Link 5150
-
-pci:v00008086d0000423Dsv00008086sd00001211*
- ID_PRODUCT_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN
-
-pci:v00008086d0000423Dsv00008086sd00001216*
- ID_PRODUCT_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG
-
-pci:v00008086d0000423Dsv00008086sd00001311*
- ID_PRODUCT_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN
-
-pci:v00008086d0000423Dsv00008086sd00001316*
- ID_PRODUCT_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG
-
-pci:v00008086d0000444E*
- ID_PRODUCT_FROM_DATABASE=Turbo Memory Controller
-
-pci:v00008086d00005001*
- ID_PRODUCT_FROM_DATABASE=LE80578
-
-pci:v00008086d00005002*
- ID_PRODUCT_FROM_DATABASE=LE80578 Graphics Processor Unit
-
-pci:v00008086d00005009*
- ID_PRODUCT_FROM_DATABASE=LE80578 Video Display Controller
-
-pci:v00008086d0000500D*
- ID_PRODUCT_FROM_DATABASE=LE80578 Expansion Bus
-
-pci:v00008086d0000500E*
- ID_PRODUCT_FROM_DATABASE=LE80578 UART Controller
-
-pci:v00008086d0000500F*
- ID_PRODUCT_FROM_DATABASE=LE80578 General Purpose IO
-
-pci:v00008086d00005010*
- ID_PRODUCT_FROM_DATABASE=LE80578 I2C Controller
-
-pci:v00008086d00005012*
- ID_PRODUCT_FROM_DATABASE=LE80578 Serial Peripheral Interface Bus
-
-pci:v00008086d00005020*
- ID_PRODUCT_FROM_DATABASE=EP80579 Memory Controller Hub
-
-pci:v00008086d00005021*
- ID_PRODUCT_FROM_DATABASE=EP80579 DRAM Error Reporting Registers
-
-pci:v00008086d00005023*
- ID_PRODUCT_FROM_DATABASE=EP80579 EDMA Controller
-
-pci:v00008086d00005024*
- ID_PRODUCT_FROM_DATABASE=EP80579 PCI Express Port PEA0
-
-pci:v00008086d00005025*
- ID_PRODUCT_FROM_DATABASE=EP80579 PCI Express Port PEA1
-
-pci:v00008086d00005028*
- ID_PRODUCT_FROM_DATABASE=EP80579 S-ATA IDE
-
-pci:v00008086d00005029*
- ID_PRODUCT_FROM_DATABASE=EP80579 S-ATA AHCI
-
-pci:v00008086d0000502A*
- ID_PRODUCT_FROM_DATABASE=EP80579 S-ATA Reserved
-
-pci:v00008086d0000502B*
- ID_PRODUCT_FROM_DATABASE=EP80579 S-ATA Reserved
-
-pci:v00008086d0000502C*
- ID_PRODUCT_FROM_DATABASE=EP80579 Integrated Processor ASU
-
-pci:v00008086d0000502D*
- ID_PRODUCT_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist ASU
-
-pci:v00008086d0000502E*
- ID_PRODUCT_FROM_DATABASE=EP80579 Reserved
-
-pci:v00008086d0000502F*
- ID_PRODUCT_FROM_DATABASE=EP80579 Reserved
-
-pci:v00008086d00005030*
- ID_PRODUCT_FROM_DATABASE=EP80579 Reserved
-
-pci:v00008086d00005031*
- ID_PRODUCT_FROM_DATABASE=EP80579 LPC Bus
-
-pci:v00008086d00005032*
- ID_PRODUCT_FROM_DATABASE=EP80579 SMBus Controller
-
-pci:v00008086d00005033*
- ID_PRODUCT_FROM_DATABASE=EP80579 USB 1.1 Controller
-
-pci:v00008086d00005035*
- ID_PRODUCT_FROM_DATABASE=EP80579 USB 2.0 Controller
-
-pci:v00008086d00005037*
- ID_PRODUCT_FROM_DATABASE=EP80579 PCI-PCI Bridge (transparent mode)
-
-pci:v00008086d00005039*
- ID_PRODUCT_FROM_DATABASE=EP80579 Controller Area Network (CAN) interface #1
-
-pci:v00008086d0000503A*
- ID_PRODUCT_FROM_DATABASE=EP80579 Controller Area Network (CAN) interface #2
-
-pci:v00008086d0000503B*
- ID_PRODUCT_FROM_DATABASE=EP80579 Synchronous Serial Port (SPP)
-
-pci:v00008086d0000503C*
- ID_PRODUCT_FROM_DATABASE=EP80579 IEEE 1588 Hardware Assist
-
-pci:v00008086d0000503D*
- ID_PRODUCT_FROM_DATABASE=EP80579 Local Expansion Bus
-
-pci:v00008086d0000503E*
- ID_PRODUCT_FROM_DATABASE=EP80579 Global Control Unit (GCU)
-
-pci:v00008086d0000503F*
- ID_PRODUCT_FROM_DATABASE=EP80579 Reserved
-
-pci:v00008086d00005040*
- ID_PRODUCT_FROM_DATABASE=EP80579 Integrated Processor Gigabit Ethernet MAC
-
-pci:v00008086d00005041*
- ID_PRODUCT_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC
-
-pci:v00008086d00005042*
- ID_PRODUCT_FROM_DATABASE=EP80579 Reserved
-
-pci:v00008086d00005043*
- ID_PRODUCT_FROM_DATABASE=EP80579 Reserved
-
-pci:v00008086d00005044*
- ID_PRODUCT_FROM_DATABASE=EP80579 Integrated Processor Gigabit Ethernet MAC
-
-pci:v00008086d00005045*
- ID_PRODUCT_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC
-
-pci:v00008086d00005046*
- ID_PRODUCT_FROM_DATABASE=EP80579 Reserved
-
-pci:v00008086d00005047*
- ID_PRODUCT_FROM_DATABASE=EP80579 Reserved
-
-pci:v00008086d00005048*
- ID_PRODUCT_FROM_DATABASE=EP80579 Integrated Processor Gigabit Ethernet MAC
-
-pci:v00008086d00005049*
- ID_PRODUCT_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC
-
-pci:v00008086d0000504A*
- ID_PRODUCT_FROM_DATABASE=EP80579 Reserved
-
-pci:v00008086d0000504B*
- ID_PRODUCT_FROM_DATABASE=EP80579 Reserved
-
-pci:v00008086d0000504C*
- ID_PRODUCT_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist TDM
-
-pci:v00008086d00005200*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server
-
-pci:v00008086d00005201*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server
-
-pci:v00008086d00005201sv00008086sd00000001*
- ID_PRODUCT_FROM_DATABASE=EtherExpress PRO/100 Server Ethernet Adapter
-
-pci:v00008086d0000530D*
- ID_PRODUCT_FROM_DATABASE=80310 (IOP) IO Processor
-
-pci:v00008086d000065C0*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset Memory Controller Hub
-
-pci:v00008086d000065E2*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset PCI Express x4 Port 2
-
-pci:v00008086d000065E3*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset PCI Express x4 Port 3
-
-pci:v00008086d000065E4*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset PCI Express x4 Port 4
-
-pci:v00008086d000065E5*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset PCI Express x4 Port 5
-
-pci:v00008086d000065E6*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset PCI Express x4 Port 6
-
-pci:v00008086d000065E7*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset PCI Express x4 Port 7
-
-pci:v00008086d000065F0*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset FSB Registers
-
-pci:v00008086d000065F0sv00001028sd0000020F*
- ID_PRODUCT_FROM_DATABASE=PowerEdge R300
-
-pci:v00008086d000065F0sv00001028sd00000210*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T300
-
-pci:v00008086d000065F1*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset Reserved Registers
-
-pci:v00008086d000065F1sv00001028sd00000210*
- ID_PRODUCT_FROM_DATABASE=PowerEdge T300
-
-pci:v00008086d000065F3*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset Reserved Registers
-
-pci:v00008086d000065F5*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset DDR Channel 0 Registers
-
-pci:v00008086d000065F6*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset DDR Channel 1 Registers
-
-pci:v00008086d000065F7*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset PCI Express x8 Port 2-3
-
-pci:v00008086d000065F8*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset PCI Express x8 Port 4-5
-
-pci:v00008086d000065F9*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset PCI Express x8 Port 6-7
-
-pci:v00008086d000065FA*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset PCI Express x16 Port 4-7
-
-pci:v00008086d000065FF*
- ID_PRODUCT_FROM_DATABASE=5100 Chipset DMA Engine
-
-pci:v00008086d00007000*
- ID_PRODUCT_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II]
-
-pci:v00008086d00007000sv00001AF4sd00001100*
- ID_PRODUCT_FROM_DATABASE=Qemu virtual machine
-
-pci:v00008086d00007010*
- ID_PRODUCT_FROM_DATABASE=82371SB PIIX3 IDE [Natoma/Triton II]
-
-pci:v00008086d00007010sv00001AF4sd00001100*
- ID_PRODUCT_FROM_DATABASE=Qemu virtual machine
-
-pci:v00008086d00007020*
- ID_PRODUCT_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II]
-
-pci:v00008086d00007020sv00001AF4sd00001100*
- ID_PRODUCT_FROM_DATABASE=Qemu virtual machine
-
-pci:v00008086d00007030*
- ID_PRODUCT_FROM_DATABASE=430VX - 82437VX TVX [Triton VX]
-
-pci:v00008086d00007050*
- ID_PRODUCT_FROM_DATABASE=Intercast Video Capture Card
-
-pci:v00008086d00007051*
- ID_PRODUCT_FROM_DATABASE=PB 642365-003 (Business Video Conferencing Card)
-
-pci:v00008086d00007100*
- ID_PRODUCT_FROM_DATABASE=430TX - 82439TX MTXC
-
-pci:v00008086d00007110*
- ID_PRODUCT_FROM_DATABASE=82371AB/EB/MB PIIX4 ISA
-
-pci:v00008086d00007110sv000015ADsd00001976*
- ID_PRODUCT_FROM_DATABASE=Virtual Machine Chipset
-
-pci:v00008086d00007111*
- ID_PRODUCT_FROM_DATABASE=82371AB/EB/MB PIIX4 IDE
-
-pci:v00008086d00007111sv000015ADsd00001976*
- ID_PRODUCT_FROM_DATABASE=Virtual Machine Chipset
-
-pci:v00008086d00007112*
- ID_PRODUCT_FROM_DATABASE=82371AB/EB/MB PIIX4 USB
-
-pci:v00008086d00007112sv000015ADsd00001976*
- ID_PRODUCT_FROM_DATABASE=Virtual Machine Chipset
-
-pci:v00008086d00007113*
- ID_PRODUCT_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI
-
-pci:v00008086d00007113sv000015ADsd00001976*
- ID_PRODUCT_FROM_DATABASE=Virtual Machine Chipset
-
-pci:v00008086d00007113sv00001AF4sd00001100*
- ID_PRODUCT_FROM_DATABASE=Qemu virtual machine
-
-pci:v00008086d00007120*
- ID_PRODUCT_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub)
-
-pci:v00008086d00007120sv00004C53sd00001040*
- ID_PRODUCT_FROM_DATABASE=CL7 mainboard
-
-pci:v00008086d00007120sv00004C53sd00001060*
- ID_PRODUCT_FROM_DATABASE=PC7 mainboard
-
-pci:v00008086d00007121*
- ID_PRODUCT_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller
-
-pci:v00008086d00007121sv00004C53sd00001040*
- ID_PRODUCT_FROM_DATABASE=CL7 mainboard
-
-pci:v00008086d00007121sv00004C53sd00001060*
- ID_PRODUCT_FROM_DATABASE=PC7 mainboard
-
-pci:v00008086d00007121sv00008086sd00004341*
- ID_PRODUCT_FROM_DATABASE=Cayman (CA810) Mainboard
-
-pci:v00008086d00007122*
- ID_PRODUCT_FROM_DATABASE=82810 DC-100 (GMCH) Graphics Memory Controller Hub
-
-pci:v00008086d00007123*
- ID_PRODUCT_FROM_DATABASE=82810 DC-100 (CGC) Chipset Graphics Controller
-
-pci:v00008086d00007124*
- ID_PRODUCT_FROM_DATABASE=82810E DC-133 (GMCH) Graphics Memory Controller Hub
-
-pci:v00008086d00007124sv00001028sd000000B4*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX110
-
-pci:v00008086d00007125*
- ID_PRODUCT_FROM_DATABASE=82810E DC-133 (CGC) Chipset Graphics Controller
-
-pci:v00008086d00007125sv00001028sd000000B4*
- ID_PRODUCT_FROM_DATABASE=OptiPlex GX110
-
-pci:v00008086d00007126*
- ID_PRODUCT_FROM_DATABASE=82810 DC-133 System and Graphics Controller
-
-pci:v00008086d00007128*
- ID_PRODUCT_FROM_DATABASE=82810-M DC-100 System and Graphics Controller
-
-pci:v00008086d0000712A*
- ID_PRODUCT_FROM_DATABASE=82810-M DC-133 System and Graphics Controller
-
-pci:v00008086d00007180*
- ID_PRODUCT_FROM_DATABASE=440LX/EX - 82443LX/EX Host bridge
-
-pci:v00008086d00007181*
- ID_PRODUCT_FROM_DATABASE=440LX/EX - 82443LX/EX AGP bridge
-
-pci:v00008086d00007190*
- ID_PRODUCT_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge
-
-pci:v00008086d00007190sv00000E11sd00000500*
- ID_PRODUCT_FROM_DATABASE=Armada 1750 Laptop System Chipset
-
-pci:v00008086d00007190sv00000E11sd0000B110*
- ID_PRODUCT_FROM_DATABASE=Armada M700/E500
-
-pci:v00008086d00007190sv00001028sd0000008E*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1300 mainboard
-
-pci:v00008086d00007190sv00001043sd0000803B*
- ID_PRODUCT_FROM_DATABASE=CUBX-L/E Mainboard
-
-pci:v00008086d00007190sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Toshiba Tecra 8100 Laptop System Chipset
-
-pci:v00008086d00007190sv000015ADsd00001976*
- ID_PRODUCT_FROM_DATABASE=Virtual Machine Chipset
-
-pci:v00008086d00007190sv00004C53sd00001050*
- ID_PRODUCT_FROM_DATABASE=CT7 mainboard
-
-pci:v00008086d00007190sv00004C53sd00001051*
- ID_PRODUCT_FROM_DATABASE=CE7 mainboard
-
-pci:v00008086d00007191*
- ID_PRODUCT_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX AGP bridge
-
-pci:v00008086d00007191sv00001028sd0000008E*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1300 mainboard
-
-pci:v00008086d00007192*
- ID_PRODUCT_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled)
-
-pci:v00008086d00007192sv00000E11sd00000460*
- ID_PRODUCT_FROM_DATABASE=Armada 1700 Laptop System Chipset
-
-pci:v00008086d00007192sv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Satellite 4010
-
-pci:v00008086d00007192sv00004C53sd00001000*
- ID_PRODUCT_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard
-
-pci:v00008086d00007192sv00008086sd00007190*
- ID_PRODUCT_FROM_DATABASE=Dell PowerEdge 350
-
-pci:v00008086d00007194*
- ID_PRODUCT_FROM_DATABASE=82440MX Host Bridge
-
-pci:v00008086d00007194sv00001033sd00000000*
- ID_PRODUCT_FROM_DATABASE=Versa Note Vxi
-
-pci:v00008086d00007194sv00004C53sd000010A0*
- ID_PRODUCT_FROM_DATABASE=CA3/CR3 mainboard
-
-pci:v00008086d00007195*
- ID_PRODUCT_FROM_DATABASE=82440MX AC'97 Audio Controller
-
-pci:v00008086d00007195sv00001033sd000080CC*
- ID_PRODUCT_FROM_DATABASE=Versa Note VXi
-
-pci:v00008086d00007195sv000010CFsd00001099*
- ID_PRODUCT_FROM_DATABASE=QSound_SigmaTel Stac97 PCI Audio
-
-pci:v00008086d00007195sv000011D4sd00000040*
- ID_PRODUCT_FROM_DATABASE=SoundMAX Integrated Digital Audio
-
-pci:v00008086d00007195sv000011D4sd00000048*
- ID_PRODUCT_FROM_DATABASE=SoundMAX Integrated Digital Audio
-
-pci:v00008086d00007196*
- ID_PRODUCT_FROM_DATABASE=82440MX AC'97 Modem Controller
-
-pci:v00008086d00007198*
- ID_PRODUCT_FROM_DATABASE=82440MX ISA Bridge
-
-pci:v00008086d00007199*
- ID_PRODUCT_FROM_DATABASE=82440MX EIDE Controller
-
-pci:v00008086d0000719A*
- ID_PRODUCT_FROM_DATABASE=82440MX USB Universal Host Controller
-
-pci:v00008086d0000719B*
- ID_PRODUCT_FROM_DATABASE=82440MX Power Management Controller
-
-pci:v00008086d000071A0*
- ID_PRODUCT_FROM_DATABASE=440GX - 82443GX Host bridge
-
-pci:v00008086d000071A0sv00004C53sd00001050*
- ID_PRODUCT_FROM_DATABASE=CT7 mainboard
-
-pci:v00008086d000071A0sv00004C53sd00001051*
- ID_PRODUCT_FROM_DATABASE=CE7 mainboard
-
-pci:v00008086d000071A1*
- ID_PRODUCT_FROM_DATABASE=440GX - 82443GX AGP bridge
-
-pci:v00008086d000071A2*
- ID_PRODUCT_FROM_DATABASE=440GX - 82443GX Host bridge (AGP disabled)
-
-pci:v00008086d000071A2sv00004C53sd00001000*
- ID_PRODUCT_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard
-
-pci:v00008086d00007600*
- ID_PRODUCT_FROM_DATABASE=82372FB PIIX5 ISA
-
-pci:v00008086d00007601*
- ID_PRODUCT_FROM_DATABASE=82372FB PIIX5 IDE
-
-pci:v00008086d00007602*
- ID_PRODUCT_FROM_DATABASE=82372FB PIIX5 USB
-
-pci:v00008086d00007603*
- ID_PRODUCT_FROM_DATABASE=82372FB PIIX5 SMBus
-
-pci:v00008086d00007800*
- ID_PRODUCT_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator
-
-pci:v00008086d00007800sv0000003Dsd00000008*
- ID_PRODUCT_FROM_DATABASE=Starfighter AGP
-
-pci:v00008086d00007800sv0000003Dsd0000000B*
- ID_PRODUCT_FROM_DATABASE=Starfighter AGP
-
-pci:v00008086d00007800sv00001092sd00000100*
- ID_PRODUCT_FROM_DATABASE=Stealth II G460
-
-pci:v00008086d00007800sv000010B4sd0000201A*
- ID_PRODUCT_FROM_DATABASE=Lightspeed 740
-
-pci:v00008086d00007800sv000010B4sd0000202F*
- ID_PRODUCT_FROM_DATABASE=Lightspeed 740
-
-pci:v00008086d00007800sv00008086sd00000000*
- ID_PRODUCT_FROM_DATABASE=Terminator 2x/i
-
-pci:v00008086d00007800sv00008086sd00000100*
- ID_PRODUCT_FROM_DATABASE=Intel740 Graphics Accelerator
-
-pci:v00008086d00008002*
- ID_PRODUCT_FROM_DATABASE=Trusted Execution Technology Registers
-
-pci:v00008086d00008003*
- ID_PRODUCT_FROM_DATABASE=Trusted Execution Technology Registers
-
-pci:v00008086d00008100*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo)
-
-pci:v00008086d00008108*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) Graphics Controller
-
-pci:v00008086d00008110*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) PCI Express Port 1
-
-pci:v00008086d00008112*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) PCI Express Port 2
-
-pci:v00008086d00008114*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) USB UHCI #1
-
-pci:v00008086d00008115*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) USB UHCI #2
-
-pci:v00008086d00008116*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) USB UHCI #3
-
-pci:v00008086d00008117*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) USB EHCI #1
-
-pci:v00008086d00008118*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) USB Client Controller
-
-pci:v00008086d00008119*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) LPC Bridge
-
-pci:v00008086d0000811A*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) IDE Controller
-
-pci:v00008086d0000811B*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) HD Audio Controller
-
-pci:v00008086d0000811C*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) SDIO Controller #1
-
-pci:v00008086d0000811D*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) SDIO Controller #2
-
-pci:v00008086d0000811E*
- ID_PRODUCT_FROM_DATABASE=System Controller Hub (SCH Poulsbo) SDIO Controller #3
-
-pci:v00008086d00008180*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx PCI Express Port 3
-
-pci:v00008086d00008181*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx PCI Express Port 4
-
-pci:v00008086d00008182*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx Integrated Graphics Controller
-
-pci:v00008086d00008183*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx Configuration Unit
-
-pci:v00008086d00008184*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx PCI Express Port 1
-
-pci:v00008086d00008185*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx PCI Express Port 2
-
-pci:v00008086d00008186*
- ID_PRODUCT_FROM_DATABASE=Atom Processor E6xx LPC Bridge
-
-pci:v00008086d0000821C*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #7
-
-pci:v00008086d0000821D*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #7
-
-pci:v00008086d000084C4*
- ID_PRODUCT_FROM_DATABASE=450KX/GX [Orion] - 82454KX/GX PCI bridge
-
-pci:v00008086d000084C5*
- ID_PRODUCT_FROM_DATABASE=450KX/GX [Orion] - 82453KX/GX Memory controller
-
-pci:v00008086d000084CA*
- ID_PRODUCT_FROM_DATABASE=450NX - 82451NX Memory & I/O Controller
-
-pci:v00008086d000084CB*
- ID_PRODUCT_FROM_DATABASE=450NX - 82454NX/84460GX PCI Expander Bridge
-
-pci:v00008086d000084E0*
- ID_PRODUCT_FROM_DATABASE=460GX - 84460GX System Address Controller (SAC)
-
-pci:v00008086d000084E1*
- ID_PRODUCT_FROM_DATABASE=460GX - 84460GX System Data Controller (SDC)
-
-pci:v00008086d000084E2*
- ID_PRODUCT_FROM_DATABASE=460GX - 84460GX AGP Bridge (GXB function 2)
-
-pci:v00008086d000084E3*
- ID_PRODUCT_FROM_DATABASE=460GX - 84460GX Memory Address Controller (MAC)
-
-pci:v00008086d000084E4*
- ID_PRODUCT_FROM_DATABASE=460GX - 84460GX Memory Data Controller (MDC)
-
-pci:v00008086d000084E6*
- ID_PRODUCT_FROM_DATABASE=460GX - 82466GX Wide and fast PCI eXpander Bridge (WXB)
-
-pci:v00008086d000084EA*
- ID_PRODUCT_FROM_DATABASE=460GX - 84460GX AGP Bridge (GXB function 1)
-
-pci:v00008086d00008500*
- ID_PRODUCT_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100)
-
-pci:v00008086d00008500sv00001993sd00000DED*
- ID_PRODUCT_FROM_DATABASE=mGuard-PCI AV#2
-
-pci:v00008086d00008500sv00001993sd00000DEE*
- ID_PRODUCT_FROM_DATABASE=mGuard-PCI AV#1
-
-pci:v00008086d00008500sv00001993sd00000DEF*
- ID_PRODUCT_FROM_DATABASE=mGuard-PCI AV#0
-
-pci:v00008086d00008800*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T PCI Express Port
-
-pci:v00008086d00008801*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T Packet Hub
-
-pci:v00008086d00008802*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T Gigabit Ethernet Controller
-
-pci:v00008086d00008803*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T General Purpose IO Controller
-
-pci:v00008086d00008804*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T USB OHCI Controller #4
-
-pci:v00008086d00008805*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T USB OHCI Controller #5
-
-pci:v00008086d00008806*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T USB OHCI Controller #6
-
-pci:v00008086d00008807*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T USB2 EHCI Controller #2
-
-pci:v00008086d00008808*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T USB Client Controller
-
-pci:v00008086d00008809*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T SDIO Controller #1
-
-pci:v00008086d0000880A*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T SDIO Controller #2
-
-pci:v00008086d0000880B*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T SATA AHCI Controller
-
-pci:v00008086d0000880C*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T USB OHCI Controller #1
-
-pci:v00008086d0000880D*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T USB OHCI Controller #2
-
-pci:v00008086d0000880E*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T USB OHCI Controller #3
-
-pci:v00008086d0000880F*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T USB2 EHCI Controller #1
-
-pci:v00008086d00008810*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T DMA Controller #1
-
-pci:v00008086d00008811*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T UART Controller 0
-
-pci:v00008086d00008812*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T UART Controller 1
-
-pci:v00008086d00008813*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T UART Controller 2
-
-pci:v00008086d00008814*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T UART Controller 3
-
-pci:v00008086d00008815*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T DMA Controller #2
-
-pci:v00008086d00008816*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T Serial Peripheral Interface Bus
-
-pci:v00008086d00008817*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T I2C Controller
-
-pci:v00008086d00008818*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T Controller Area Network (CAN) Controller
-
-pci:v00008086d00008819*
- ID_PRODUCT_FROM_DATABASE=Platform Controller Hub EG20T IEEE 1588 Hardware Assist
-
-pci:v00008086d00008C00*
- ID_PRODUCT_FROM_DATABASE=Lynx Point 4-port SATA Controller 1 [IDE mode]
-
-pci:v00008086d00008C01*
- ID_PRODUCT_FROM_DATABASE=Lynx Point 4-port SATA Controller 1 [IDE mode]
-
-pci:v00008086d00008C02*
- ID_PRODUCT_FROM_DATABASE=Lynx Point 6-port SATA Controller 1 [AHCI mode]
-
-pci:v00008086d00008C03*
- ID_PRODUCT_FROM_DATABASE=Lynx Point 6-port SATA Controller 1 [AHCI mode]
-
-pci:v00008086d00008C04*
- ID_PRODUCT_FROM_DATABASE=Lynx Point SATA Controller 1 [RAID mode]
-
-pci:v00008086d00008C05*
- ID_PRODUCT_FROM_DATABASE=Lynx Point SATA Controller 1 [RAID mode]
-
-pci:v00008086d00008C06*
- ID_PRODUCT_FROM_DATABASE=Lynx Point SATA Controller 1 [RAID mode]
-
-pci:v00008086d00008C07*
- ID_PRODUCT_FROM_DATABASE=Lynx Point SATA Controller 1 [RAID mode]
-
-pci:v00008086d00008C08*
- ID_PRODUCT_FROM_DATABASE=Lynx Point 2-port SATA Controller 2 [IDE mode]
-
-pci:v00008086d00008C09*
- ID_PRODUCT_FROM_DATABASE=Lynx Point 2-port SATA Controller 2 [IDE mode]
-
-pci:v00008086d00008C0E*
- ID_PRODUCT_FROM_DATABASE=Lynx Point SATA Controller 1 [RAID mode]
-
-pci:v00008086d00008C0F*
- ID_PRODUCT_FROM_DATABASE=Lynx Point SATA Controller 1 [RAID mode]
-
-pci:v00008086d00008C10*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #1
-
-pci:v00008086d00008C11*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #1
-
-pci:v00008086d00008C12*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #2
-
-pci:v00008086d00008C13*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #2
-
-pci:v00008086d00008C14*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #3
-
-pci:v00008086d00008C15*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #3
-
-pci:v00008086d00008C16*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #4
-
-pci:v00008086d00008C17*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #4
-
-pci:v00008086d00008C18*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #5
-
-pci:v00008086d00008C19*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #5
-
-pci:v00008086d00008C1A*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #6
-
-pci:v00008086d00008C1B*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #6
-
-pci:v00008086d00008C1C*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #7
-
-pci:v00008086d00008C1D*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #7
-
-pci:v00008086d00008C1E*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #8
-
-pci:v00008086d00008C1F*
- ID_PRODUCT_FROM_DATABASE=Lynx Point PCI Express Root Port #8
-
-pci:v00008086d00008C20*
- ID_PRODUCT_FROM_DATABASE=Lynx Point High Definition Audio Controller
-
-pci:v00008086d00008C21*
- ID_PRODUCT_FROM_DATABASE=Lynx Point High Definition Audio Controller
-
-pci:v00008086d00008C22*
- ID_PRODUCT_FROM_DATABASE=Lynx Point SMBus Controller
-
-pci:v00008086d00008C23*
- ID_PRODUCT_FROM_DATABASE=Lynx Point CHAP Counters
-
-pci:v00008086d00008C24*
- ID_PRODUCT_FROM_DATABASE=Lynx Point Thermal Management Controller
-
-pci:v00008086d00008C26*
- ID_PRODUCT_FROM_DATABASE=Lynx Point USB Enhanced Host Controller #1
-
-pci:v00008086d00008C2D*
- ID_PRODUCT_FROM_DATABASE=Lynx Point USB Enhanced Host Controller #2
-
-pci:v00008086d00008C31*
- ID_PRODUCT_FROM_DATABASE=Lynx Point USB xHCI Host Controller
-
-pci:v00008086d00008C33*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LAN Controller
-
-pci:v00008086d00008C34*
- ID_PRODUCT_FROM_DATABASE=Lynx Point NAND Controller
-
-pci:v00008086d00008C3A*
- ID_PRODUCT_FROM_DATABASE=Lynx Point MEI Controller #1
-
-pci:v00008086d00008C3B*
- ID_PRODUCT_FROM_DATABASE=Lynx Point MEI Controller #2
-
-pci:v00008086d00008C3C*
- ID_PRODUCT_FROM_DATABASE=Lynx Point IDE-r Controller
-
-pci:v00008086d00008C3D*
- ID_PRODUCT_FROM_DATABASE=Lynx Point KT Controller
-
-pci:v00008086d00008C40*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C41*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C42*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C43*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C44*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C45*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C46*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C47*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C48*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C49*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C4A*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C4B*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C4C*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C4D*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C4E*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C4F*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C50*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C51*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C52*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C53*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C54*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C55*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C56*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C57*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C58*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C59*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C5A*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C5B*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C5C*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C5D*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C5E*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008C5F*
- ID_PRODUCT_FROM_DATABASE=Lynx Point LPC Controller
-
-pci:v00008086d00008D00*
- ID_PRODUCT_FROM_DATABASE=Wellsburg 4-port SATA Controller [IDE mode]
-
-pci:v00008086d00008D02*
- ID_PRODUCT_FROM_DATABASE=Wellsburg 6-Port SATA Controller [AHCI mode]
-
-pci:v00008086d00008D04*
- ID_PRODUCT_FROM_DATABASE=Wellsburg SATA Controller [RAID mode]
-
-pci:v00008086d00008D06*
- ID_PRODUCT_FROM_DATABASE=Wellsburg SATA Controller [RAID mode]
-
-pci:v00008086d00008D08*
- ID_PRODUCT_FROM_DATABASE=Wellsburg 2-port SATA Controller [IDE mode]
-
-pci:v00008086d00008D0E*
- ID_PRODUCT_FROM_DATABASE=Wellsburg SATA Controller [RAID mode]
-
-pci:v00008086d00008D10*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #1
-
-pci:v00008086d00008D11*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #1
-
-pci:v00008086d00008D12*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #2
-
-pci:v00008086d00008D13*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #2
-
-pci:v00008086d00008D14*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #3
-
-pci:v00008086d00008D15*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #3
-
-pci:v00008086d00008D16*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #4
-
-pci:v00008086d00008D17*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #4
-
-pci:v00008086d00008D18*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #5
-
-pci:v00008086d00008D19*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #5
-
-pci:v00008086d00008D1A*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #6
-
-pci:v00008086d00008D1E*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #8
-
-pci:v00008086d00008D1F*
- ID_PRODUCT_FROM_DATABASE=Wellsburg PCI Express Root Port #8
-
-pci:v00008086d00008D20*
- ID_PRODUCT_FROM_DATABASE=Wellsburg HD Audio Controller
-
-pci:v00008086d00008D21*
- ID_PRODUCT_FROM_DATABASE=Wellsburg HD Audio Controller
-
-pci:v00008086d00008D22*
- ID_PRODUCT_FROM_DATABASE=Wellsburg SMBus Controller
-
-pci:v00008086d00008D24*
- ID_PRODUCT_FROM_DATABASE=Wellsburg Thermal Subsystem
-
-pci:v00008086d00008D26*
- ID_PRODUCT_FROM_DATABASE=Wellsburg USB Enhanced Host Controller #1
-
-pci:v00008086d00008D2D*
- ID_PRODUCT_FROM_DATABASE=Wellsburg USB Enhanced Host Controller #2
-
-pci:v00008086d00008D31*
- ID_PRODUCT_FROM_DATABASE=Wellsburg USB xHCI Host Controller
-
-pci:v00008086d00008D33*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LAN Controller
-
-pci:v00008086d00008D34*
- ID_PRODUCT_FROM_DATABASE=Wellsburg NAND Controller
-
-pci:v00008086d00008D3A*
- ID_PRODUCT_FROM_DATABASE=Wellsburg MEI Controller #1
-
-pci:v00008086d00008D3B*
- ID_PRODUCT_FROM_DATABASE=Wellsburg MEI Controller #2
-
-pci:v00008086d00008D3C*
- ID_PRODUCT_FROM_DATABASE=Wellsburg IDE-r Controller
-
-pci:v00008086d00008D3D*
- ID_PRODUCT_FROM_DATABASE=Wellsburg KT Controller
-
-pci:v00008086d00008D40*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D41*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D42*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D43*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D44*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D45*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D46*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D47*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D48*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D49*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D4A*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D4B*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D4C*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D4D*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D4E*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D4F*
- ID_PRODUCT_FROM_DATABASE=Wellsburg LPC Controller
-
-pci:v00008086d00008D60*
- ID_PRODUCT_FROM_DATABASE=Wellsburg sSATA Controller [IDE mode]
-
-pci:v00008086d00008D62*
- ID_PRODUCT_FROM_DATABASE=Wellsburg sSATA Controller [AHCI mode]
-
-pci:v00008086d00008D64*
- ID_PRODUCT_FROM_DATABASE=Wellsburg sSATA Controller [RAID mode]
-
-pci:v00008086d00008D66*
- ID_PRODUCT_FROM_DATABASE=Wellsburg sSATA Controller [RAID mode]
-
-pci:v00008086d00008D68*
- ID_PRODUCT_FROM_DATABASE=Wellsburg sSATA Controller [IDE mode]
-
-pci:v00008086d00008D6E*
- ID_PRODUCT_FROM_DATABASE=Wellsburg sSATA Controller [RAID mode]
-
-pci:v00008086d00008D7C*
- ID_PRODUCT_FROM_DATABASE=Wellsburg SPSR
-
-pci:v00008086d00008D7D*
- ID_PRODUCT_FROM_DATABASE=Wellsburg MS SMBus 0
-
-pci:v00008086d00008D7E*
- ID_PRODUCT_FROM_DATABASE=Wellsburg MS SMBus 1
-
-pci:v00008086d00008D7F*
- ID_PRODUCT_FROM_DATABASE=Wellsburg MS SMBus 2
-
-pci:v00008086d00009000*
- ID_PRODUCT_FROM_DATABASE=IXP2000 Family Network Processor
-
-pci:v00008086d00009001*
- ID_PRODUCT_FROM_DATABASE=IXP2400 Network Processor
-
-pci:v00008086d00009002*
- ID_PRODUCT_FROM_DATABASE=IXP2300 Network Processor
-
-pci:v00008086d00009004*
- ID_PRODUCT_FROM_DATABASE=IXP2800 Network Processor
-
-pci:v00008086d00009621*
- ID_PRODUCT_FROM_DATABASE=Integrated RAID
-
-pci:v00008086d00009622*
- ID_PRODUCT_FROM_DATABASE=Integrated RAID
-
-pci:v00008086d00009641*
- ID_PRODUCT_FROM_DATABASE=Integrated RAID
-
-pci:v00008086d000096A1*
- ID_PRODUCT_FROM_DATABASE=Integrated RAID
-
-pci:v00008086d00009C00*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [IDE mode]
-
-pci:v00008086d00009C01*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [IDE mode]
-
-pci:v00008086d00009C02*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode]
-
-pci:v00008086d00009C03*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode]
-
-pci:v00008086d00009C04*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode]
-
-pci:v00008086d00009C05*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode]
-
-pci:v00008086d00009C06*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode]
-
-pci:v00008086d00009C07*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode]
-
-pci:v00008086d00009C08*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SATA Controller 2 [IDE mode]
-
-pci:v00008086d00009C09*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SATA Controller 2 [IDE mode]
-
-pci:v00008086d00009C0A*
- ID_PRODUCT_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved]
-
-pci:v00008086d00009C0B*
- ID_PRODUCT_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved]
-
-pci:v00008086d00009C0C*
- ID_PRODUCT_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved]
-
-pci:v00008086d00009C0D*
- ID_PRODUCT_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved]
-
-pci:v00008086d00009C0E*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode]
-
-pci:v00008086d00009C0F*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode]
-
-pci:v00008086d00009C10*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 1
-
-pci:v00008086d00009C11*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 1
-
-pci:v00008086d00009C12*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 2
-
-pci:v00008086d00009C13*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 2
-
-pci:v00008086d00009C14*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 3
-
-pci:v00008086d00009C15*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 3
-
-pci:v00008086d00009C16*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 4
-
-pci:v00008086d00009C17*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 4
-
-pci:v00008086d00009C18*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 5
-
-pci:v00008086d00009C19*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 5
-
-pci:v00008086d00009C1A*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 6
-
-pci:v00008086d00009C1B*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 6
-
-pci:v00008086d00009C20*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP HD Audio Controller
-
-pci:v00008086d00009C21*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP HD Audio Controller
-
-pci:v00008086d00009C22*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SMBus Controller
-
-pci:v00008086d00009C23*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP CHAP Counters
-
-pci:v00008086d00009C24*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP Thermal
-
-pci:v00008086d00009C26*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP USB EHCI #1
-
-pci:v00008086d00009C31*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP USB xHCI HC
-
-pci:v00008086d00009C35*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SDIO Controller
-
-pci:v00008086d00009C36*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP Audio DSP Controller
-
-pci:v00008086d00009C3A*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP HECI #0
-
-pci:v00008086d00009C3B*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP HECI #1
-
-pci:v00008086d00009C3C*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP HECI IDER
-
-pci:v00008086d00009C3D*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP HECI KT
-
-pci:v00008086d00009C40*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP LPC Controller
-
-pci:v00008086d00009C41*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP LPC Controller
-
-pci:v00008086d00009C42*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP LPC Controller
-
-pci:v00008086d00009C43*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP LPC Controller
-
-pci:v00008086d00009C44*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP LPC Controller
-
-pci:v00008086d00009C45*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP LPC Controller
-
-pci:v00008086d00009C46*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP LPC Controller
-
-pci:v00008086d00009C47*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP LPC Controller
-
-pci:v00008086d00009C60*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP Low Power Sub-System DMA
-
-pci:v00008086d00009C61*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP I2C Controller #0
-
-pci:v00008086d00009C62*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP I2C Controller #1
-
-pci:v00008086d00009C63*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP UART Controller #0
-
-pci:v00008086d00009C64*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP UART Controller #1
-
-pci:v00008086d00009C65*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SPI Controller #0
-
-pci:v00008086d00009C66*
- ID_PRODUCT_FROM_DATABASE=Lynx Point-LP SPI Controller #1
-
-pci:v00008086d0000A000*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge
-
-pci:v00008086d0000A000sv00008086sd00004F4D*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D510MO
-
-pci:v00008086d0000A001*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
-
-pci:v00008086d0000A001sv00008086sd00004F4D*
- ID_PRODUCT_FROM_DATABASE=DeskTop Board D510MO
-
-pci:v00008086d0000A002*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
-
-pci:v00008086d0000A003*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx CHAPS counter
-
-pci:v00008086d0000A010*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge
-
-pci:v00008086d0000A010sv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d0000A011*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
-
-pci:v00008086d0000A011sv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d0000A012*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
-
-pci:v00008086d0000A012sv0000144Dsd0000C072*
- ID_PRODUCT_FROM_DATABASE=Notebook N150P
-
-pci:v00008086d0000A013*
- ID_PRODUCT_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx CHAPS counter
-
-pci:v00008086d0000A620*
- ID_PRODUCT_FROM_DATABASE=6400/6402 Advanced Memory Buffer (AMB)
-
-pci:v00008086d0000B152*
- ID_PRODUCT_FROM_DATABASE=21152 PCI-to-PCI Bridge
-
-pci:v00008086d0000B152sv00008086sd0000B152*
- ID_PRODUCT_FROM_DATABASE=21152 PCI-to-PCI Bridge
-
-pci:v00008086d0000B154*
- ID_PRODUCT_FROM_DATABASE=21154 PCI-to-PCI Bridge
-
-pci:v00008086d0000B555*
- ID_PRODUCT_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge
-
-pci:v00008086d0000B555sv000012C7sd00005005*
- ID_PRODUCT_FROM_DATABASE=SS7HD PCI Adaptor Card
-
-pci:v00008086d0000B555sv000012C7sd00005006*
- ID_PRODUCT_FROM_DATABASE=SS7HDC cPCI Adaptor Card
-
-pci:v00008086d0000B555sv000012D9sd0000000A*
- ID_PRODUCT_FROM_DATABASE=PCI VoIP Gateway
-
-pci:v00008086d0000B555sv00004C53sd00001050*
- ID_PRODUCT_FROM_DATABASE=CT7 mainboard
-
-pci:v00008086d0000B555sv00004C53sd00001051*
- ID_PRODUCT_FROM_DATABASE=CE7 mainboard
-
-pci:v00008086d0000B555sv0000E4BFsd00001000*
- ID_PRODUCT_FROM_DATABASE=CC8-1-BLUES
-
-pci:v00008086d0000D130*
- ID_PRODUCT_FROM_DATABASE=Core Processor DMI
-
-pci:v00008086d0000D131*
- ID_PRODUCT_FROM_DATABASE=Core Processor DMI
-
-pci:v00008086d0000D131sv00001028sd000002DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 980
-
-pci:v00008086d0000D132*
- ID_PRODUCT_FROM_DATABASE=Core Processor DMI
-
-pci:v00008086d0000D132sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d0000D133*
- ID_PRODUCT_FROM_DATABASE=Core Processor DMI
-
-pci:v00008086d0000D134*
- ID_PRODUCT_FROM_DATABASE=Core Processor DMI
-
-pci:v00008086d0000D135*
- ID_PRODUCT_FROM_DATABASE=Core Processor DMI
-
-pci:v00008086d0000D136*
- ID_PRODUCT_FROM_DATABASE=Core Processor DMI
-
-pci:v00008086d0000D137*
- ID_PRODUCT_FROM_DATABASE=Core Processor DMI
-
-pci:v00008086d0000D138*
- ID_PRODUCT_FROM_DATABASE=Core Processor PCI Express Root Port 1
-
-pci:v00008086d0000D138sv00001028sd000002DA*
- ID_PRODUCT_FROM_DATABASE=OptiPlex 980
-
-pci:v00008086d0000D138sv00001028sd0000040B*
- ID_PRODUCT_FROM_DATABASE=Latitude E6510
-
-pci:v00008086d0000D139*
- ID_PRODUCT_FROM_DATABASE=Core Processor PCI Express Root Port 2
-
-pci:v00008086d0000D13A*
- ID_PRODUCT_FROM_DATABASE=Core Processor PCI Express Root Port 3
-
-pci:v00008086d0000D13B*
- ID_PRODUCT_FROM_DATABASE=Core Processor PCI Express Root Port 4
-
-pci:v00008086d0000D150*
- ID_PRODUCT_FROM_DATABASE=Core Processor QPI Link
-
-pci:v00008086d0000D151*
- ID_PRODUCT_FROM_DATABASE=Core Processor QPI Routing and Protocol Registers
-
-pci:v00008086d0000D155*
- ID_PRODUCT_FROM_DATABASE=Core Processor System Management Registers
-
-pci:v00008086d0000D156*
- ID_PRODUCT_FROM_DATABASE=Core Processor Semaphore and Scratchpad Registers
-
-pci:v00008086d0000D157*
- ID_PRODUCT_FROM_DATABASE=Core Processor System Control and Status Registers
-
-pci:v00008086d0000D158*
- ID_PRODUCT_FROM_DATABASE=Core Processor Miscellaneous Registers
-
-pci:v000080EE*
- ID_VENDOR_FROM_DATABASE=InnoTek Systemberatung GmbH
-
-pci:v000080EEd0000BEEF*
- ID_PRODUCT_FROM_DATABASE=VirtualBox Graphics Adapter
-
-pci:v000080EEd0000CAFE*
- ID_PRODUCT_FROM_DATABASE=VirtualBox Guest Service
-
-pci:v00008322*
- ID_VENDOR_FROM_DATABASE=Sodick America Corp.
-
-pci:v00008384*
- ID_VENDOR_FROM_DATABASE=SigmaTel
-
-pci:v00008384d00007618*
- ID_PRODUCT_FROM_DATABASE=High Definition Audio Codec
-
-pci:v00008384d00007634*
- ID_PRODUCT_FROM_DATABASE=9250 HD Audio Codec
-
-pci:v00008384d00007662*
- ID_PRODUCT_FROM_DATABASE=High Definition Audio Codec
-
-pci:v00008384d00007662sv0000104Dsd00001E00*
- ID_PRODUCT_FROM_DATABASE=High Definition Audio Codec [STAC9872AK]
-
-pci:v00008384d00007664*
- ID_PRODUCT_FROM_DATABASE=High Definition Audio Codec
-
-pci:v00008384d00007670*
- ID_PRODUCT_FROM_DATABASE=9770 High Definition Audio
-
-pci:v00008384d00007672*
- ID_PRODUCT_FROM_DATABASE=9772 High Definition Audio
-
-pci:v00008384d00007682*
- ID_PRODUCT_FROM_DATABASE=IDT High Definition Audio Codec
-
-pci:v00008384d00007690*
- ID_PRODUCT_FROM_DATABASE=9200 HD Audio Codec
-
-pci:v00008384d00007690sv00001028sd000001C1*
- ID_PRODUCT_FROM_DATABASE=Precision 490
-
-pci:v00008401*
- ID_VENDOR_FROM_DATABASE=TRENDware International Inc.
-
-pci:v00008686*
- ID_VENDOR_FROM_DATABASE=ScaleMP
-
-pci:v00008686d00001010*
- ID_PRODUCT_FROM_DATABASE=vSMPowered system controller [vSMP CTL]
-
-pci:v00008800*
- ID_VENDOR_FROM_DATABASE=Trigem Computer Inc.
-
-pci:v00008800d00002008*
- ID_PRODUCT_FROM_DATABASE=Video assistent component
-
-pci:v00008866*
- ID_VENDOR_FROM_DATABASE=T-Square Design Inc.
-
-pci:v00008888*
- ID_VENDOR_FROM_DATABASE=Silicon Magic
-
-pci:v00008912*
- ID_VENDOR_FROM_DATABASE=TRX
-
-pci:v00008C4A*
- ID_VENDOR_FROM_DATABASE=Winbond
-
-pci:v00008C4Ad00001980*
- ID_PRODUCT_FROM_DATABASE=W89C940 misprogrammed [ne2k]
-
-pci:v00008E0E*
- ID_VENDOR_FROM_DATABASE=Computone Corporation
-
-pci:v00008E2E*
- ID_VENDOR_FROM_DATABASE=KTI
-
-pci:v00008E2Ed00003000*
- ID_PRODUCT_FROM_DATABASE=ET32P2
-
-pci:v00009004*
- ID_VENDOR_FROM_DATABASE=Adaptec
-
-pci:v00009004d00000078*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U_CN
-
-pci:v00009004d00001078*
- ID_PRODUCT_FROM_DATABASE=AIC-7810
-
-pci:v00009004d00001160*
- ID_PRODUCT_FROM_DATABASE=AIC-1160 [Family Fibre Channel Adapter]
-
-pci:v00009004d00002178*
- ID_PRODUCT_FROM_DATABASE=AIC-7821
-
-pci:v00009004d00003860*
- ID_PRODUCT_FROM_DATABASE=AHA-2930CU
-
-pci:v00009004d00003B78*
- ID_PRODUCT_FROM_DATABASE=AHA-4844W/4844UW
-
-pci:v00009004d00005075*
- ID_PRODUCT_FROM_DATABASE=AIC-755x
-
-pci:v00009004d00005078*
- ID_PRODUCT_FROM_DATABASE=AIC-7850
-
-pci:v00009004d00005078sv00009004sd00007850*
- ID_PRODUCT_FROM_DATABASE=AHA-2904/Integrated AIC-7850
-
-pci:v00009004d00005175*
- ID_PRODUCT_FROM_DATABASE=AIC-755x
-
-pci:v00009004d00005178*
- ID_PRODUCT_FROM_DATABASE=AIC-7851
-
-pci:v00009004d00005275*
- ID_PRODUCT_FROM_DATABASE=AIC-755x
-
-pci:v00009004d00005278*
- ID_PRODUCT_FROM_DATABASE=AIC-7852
-
-pci:v00009004d00005375*
- ID_PRODUCT_FROM_DATABASE=AIC-755x
-
-pci:v00009004d00005378*
- ID_PRODUCT_FROM_DATABASE=AIC-7850
-
-pci:v00009004d00005475*
- ID_PRODUCT_FROM_DATABASE=AIC-755x
-
-pci:v00009004d00005478*
- ID_PRODUCT_FROM_DATABASE=AIC-7850
-
-pci:v00009004d00005575*
- ID_PRODUCT_FROM_DATABASE=AVA-2930
-
-pci:v00009004d00005578*
- ID_PRODUCT_FROM_DATABASE=AIC-7855
-
-pci:v00009004d00005647*
- ID_PRODUCT_FROM_DATABASE=ANA-7711 TCP Offload Engine
-
-pci:v00009004d00005647sv00009004sd00007710*
- ID_PRODUCT_FROM_DATABASE=ANA-7711F TCP Offload Engine - Optical
-
-pci:v00009004d00005647sv00009004sd00007711*
- ID_PRODUCT_FROM_DATABASE=ANA-7711LP TCP Offload Engine - Copper
-
-pci:v00009004d00005675*
- ID_PRODUCT_FROM_DATABASE=AIC-755x
-
-pci:v00009004d00005678*
- ID_PRODUCT_FROM_DATABASE=AIC-7856
-
-pci:v00009004d00005775*
- ID_PRODUCT_FROM_DATABASE=AIC-755x
-
-pci:v00009004d00005778*
- ID_PRODUCT_FROM_DATABASE=AIC-7850
-
-pci:v00009004d00005800*
- ID_PRODUCT_FROM_DATABASE=AIC-5800
-
-pci:v00009004d00005900*
- ID_PRODUCT_FROM_DATABASE=ANA-5910/5930/5940 ATM155 & 25 LAN Adapter
-
-pci:v00009004d00005905*
- ID_PRODUCT_FROM_DATABASE=ANA-5910A/5930A/5940A ATM Adapter
-
-pci:v00009004d00006038*
- ID_PRODUCT_FROM_DATABASE=AIC-3860
-
-pci:v00009004d00006075*
- ID_PRODUCT_FROM_DATABASE=AIC-1480 / APA-1480
-
-pci:v00009004d00006075sv00009004sd00007560*
- ID_PRODUCT_FROM_DATABASE=AIC-1480 / APA-1480 Cardbus
-
-pci:v00009004d00006078*
- ID_PRODUCT_FROM_DATABASE=AIC-7860
-
-pci:v00009004d00006178*
- ID_PRODUCT_FROM_DATABASE=AIC-7861
-
-pci:v00009004d00006178sv00009004sd00007861*
- ID_PRODUCT_FROM_DATABASE=AHA-2940AU Single
-
-pci:v00009004d00006278*
- ID_PRODUCT_FROM_DATABASE=AIC-7860
-
-pci:v00009004d00006378*
- ID_PRODUCT_FROM_DATABASE=AIC-7860
-
-pci:v00009004d00006478*
- ID_PRODUCT_FROM_DATABASE=AIC-786x
-
-pci:v00009004d00006578*
- ID_PRODUCT_FROM_DATABASE=AIC-786x
-
-pci:v00009004d00006678*
- ID_PRODUCT_FROM_DATABASE=AIC-786x
-
-pci:v00009004d00006778*
- ID_PRODUCT_FROM_DATABASE=AIC-786x
-
-pci:v00009004d00006915*
- ID_PRODUCT_FROM_DATABASE=ANA620xx/ANA69011A
-
-pci:v00009004d00006915sv00009004sd00000008*
- ID_PRODUCT_FROM_DATABASE=ANA69011A/TX 10/100
-
-pci:v00009004d00006915sv00009004sd00000009*
- ID_PRODUCT_FROM_DATABASE=ANA69011A/TX 10/100
-
-pci:v00009004d00006915sv00009004sd00000010*
- ID_PRODUCT_FROM_DATABASE=ANA62022 2-port 10/100
-
-pci:v00009004d00006915sv00009004sd00000018*
- ID_PRODUCT_FROM_DATABASE=ANA62044 4-port 10/100
-
-pci:v00009004d00006915sv00009004sd00000019*
- ID_PRODUCT_FROM_DATABASE=ANA62044 4-port 10/100
-
-pci:v00009004d00006915sv00009004sd00000020*
- ID_PRODUCT_FROM_DATABASE=ANA62022 2-port 10/100
-
-pci:v00009004d00006915sv00009004sd00000028*
- ID_PRODUCT_FROM_DATABASE=ANA69011A/TX 10/100
-
-pci:v00009004d00006915sv00009004sd00008008*
- ID_PRODUCT_FROM_DATABASE=ANA69011A/TX 64 bit 10/100
-
-pci:v00009004d00006915sv00009004sd00008009*
- ID_PRODUCT_FROM_DATABASE=ANA69011A/TX 64 bit 10/100
-
-pci:v00009004d00006915sv00009004sd00008010*
- ID_PRODUCT_FROM_DATABASE=ANA62022 2-port 64 bit 10/100
-
-pci:v00009004d00006915sv00009004sd00008018*
- ID_PRODUCT_FROM_DATABASE=ANA62044 4-port 64 bit 10/100
-
-pci:v00009004d00006915sv00009004sd00008019*
- ID_PRODUCT_FROM_DATABASE=ANA62044 4-port 64 bit 10/100
-
-pci:v00009004d00006915sv00009004sd00008020*
- ID_PRODUCT_FROM_DATABASE=ANA62022 2-port 64 bit 10/100
-
-pci:v00009004d00006915sv00009004sd00008028*
- ID_PRODUCT_FROM_DATABASE=ANA69011A/TX 64 bit 10/100
-
-pci:v00009004d00007078*
- ID_PRODUCT_FROM_DATABASE=AHA-294x / AIC-7870
-
-pci:v00009004d00007178*
- ID_PRODUCT_FROM_DATABASE=AHA-2940/2940W / AIC-7871
-
-pci:v00009004d00007278*
- ID_PRODUCT_FROM_DATABASE=AHA-3940/3940W / AIC-7872
-
-pci:v00009004d00007378*
- ID_PRODUCT_FROM_DATABASE=AHA-3985 / AIC-7873
-
-pci:v00009004d00007478*
- ID_PRODUCT_FROM_DATABASE=AHA-2944/2944W / AIC-7874
-
-pci:v00009004d00007578*
- ID_PRODUCT_FROM_DATABASE=AHA-3944/3944W / AIC-7875
-
-pci:v00009004d00007678*
- ID_PRODUCT_FROM_DATABASE=AHA-4944W/UW / AIC-7876
-
-pci:v00009004d00007710*
- ID_PRODUCT_FROM_DATABASE=ANA-7711F Network Accelerator Card (NAC) - Optical
-
-pci:v00009004d00007711*
- ID_PRODUCT_FROM_DATABASE=ANA-7711C Network Accelerator Card (NAC) - Copper
-
-pci:v00009004d00007778*
- ID_PRODUCT_FROM_DATABASE=AIC-787x
-
-pci:v00009004d00007810*
- ID_PRODUCT_FROM_DATABASE=AIC-7810
-
-pci:v00009004d00007815*
- ID_PRODUCT_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC
-
-pci:v00009004d00007815sv00009004sd00007815*
- ID_PRODUCT_FROM_DATABASE=ARO-1130U2 RAID Controller
-
-pci:v00009004d00007815sv00009004sd00007840*
- ID_PRODUCT_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC
-
-pci:v00009004d00007850*
- ID_PRODUCT_FROM_DATABASE=AIC-7850
-
-pci:v00009004d00007855*
- ID_PRODUCT_FROM_DATABASE=AHA-2930
-
-pci:v00009004d00007860*
- ID_PRODUCT_FROM_DATABASE=AIC-7860
-
-pci:v00009004d00007870*
- ID_PRODUCT_FROM_DATABASE=AIC-7870
-
-pci:v00009004d00007871*
- ID_PRODUCT_FROM_DATABASE=AHA-2940
-
-pci:v00009004d00007872*
- ID_PRODUCT_FROM_DATABASE=AHA-3940
-
-pci:v00009004d00007873*
- ID_PRODUCT_FROM_DATABASE=AHA-3980
-
-pci:v00009004d00007874*
- ID_PRODUCT_FROM_DATABASE=AHA-2944
-
-pci:v00009004d00007880*
- ID_PRODUCT_FROM_DATABASE=AIC-7880P
-
-pci:v00009004d00007890*
- ID_PRODUCT_FROM_DATABASE=AIC-7890
-
-pci:v00009004d00007891*
- ID_PRODUCT_FROM_DATABASE=AIC-789x
-
-pci:v00009004d00007892*
- ID_PRODUCT_FROM_DATABASE=AIC-789x
-
-pci:v00009004d00007893*
- ID_PRODUCT_FROM_DATABASE=AIC-789x
-
-pci:v00009004d00007894*
- ID_PRODUCT_FROM_DATABASE=AIC-789x
-
-pci:v00009004d00007895*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895
-
-pci:v00009004d00007895sv00009004sd00007890*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B
-
-pci:v00009004d00007895sv00009004sd00007891*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U/2940UW Dual
-
-pci:v00009004d00007895sv00009004sd00007892*
- ID_PRODUCT_FROM_DATABASE=AHA-3940AU/AUW/AUWD/UWD
-
-pci:v00009004d00007895sv00009004sd00007894*
- ID_PRODUCT_FROM_DATABASE=AHA-3944AUWD
-
-pci:v00009004d00007895sv00009004sd00007895*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B
-
-pci:v00009004d00007895sv00009004sd00007896*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B
-
-pci:v00009004d00007895sv00009004sd00007897*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B
-
-pci:v00009004d00007896*
- ID_PRODUCT_FROM_DATABASE=AIC-789x
-
-pci:v00009004d00007897*
- ID_PRODUCT_FROM_DATABASE=AIC-789x
-
-pci:v00009004d00008078*
- ID_PRODUCT_FROM_DATABASE=AIC-7880U
-
-pci:v00009004d00008078sv00009004sd00007880*
- ID_PRODUCT_FROM_DATABASE=AIC-7880P Ultra/Ultra Wide SCSI Chipset
-
-pci:v00009004d00008178*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U/UW/D / AIC-7881U
-
-pci:v00009004d00008178sv00009004sd00007881*
- ID_PRODUCT_FROM_DATABASE=AHA-2940UW SCSI Host Adapter
-
-pci:v00009004d00008278*
- ID_PRODUCT_FROM_DATABASE=AHA-3940U/UW/UWD / AIC-7882U
-
-pci:v00009004d00008378*
- ID_PRODUCT_FROM_DATABASE=AHA-3940U/UW / AIC-7883U
-
-pci:v00009004d00008478*
- ID_PRODUCT_FROM_DATABASE=AHA-2944UW / AIC-7884U
-
-pci:v00009004d00008578*
- ID_PRODUCT_FROM_DATABASE=AHA-3944U/UWD / AIC-7885
-
-pci:v00009004d00008678*
- ID_PRODUCT_FROM_DATABASE=AHA-4944UW / AIC-7886
-
-pci:v00009004d00008778*
- ID_PRODUCT_FROM_DATABASE=AHA-2940UW Pro / AIC-788x
-
-pci:v00009004d00008778sv00009004sd00007887*
- ID_PRODUCT_FROM_DATABASE=2940UW Pro Ultra-Wide SCSI Controller
-
-pci:v00009004d00008878*
- ID_PRODUCT_FROM_DATABASE=AHA-2930UW / AIC-7888
-
-pci:v00009004d00008878sv00009004sd00007888*
- ID_PRODUCT_FROM_DATABASE=AHA-2930UW SCSI Controller
-
-pci:v00009004d00008B78*
- ID_PRODUCT_FROM_DATABASE=ABA-1030
-
-pci:v00009004d0000EC78*
- ID_PRODUCT_FROM_DATABASE=AHA-4944W/UW
-
-pci:v00009005*
- ID_VENDOR_FROM_DATABASE=Adaptec
-
-pci:v00009005d00000010*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U2/U2W
-
-pci:v00009005d00000010sv00009005sd00002180*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U2 SCSI Controller
-
-pci:v00009005d00000010sv00009005sd00008100*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U2B SCSI Controller
-
-pci:v00009005d00000010sv00009005sd0000A100*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U2B SCSI Controller
-
-pci:v00009005d00000010sv00009005sd0000A180*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U2W SCSI Controller
-
-pci:v00009005d00000010sv00009005sd0000E100*
- ID_PRODUCT_FROM_DATABASE=AHA-2950U2B SCSI Controller
-
-pci:v00009005d00000011*
- ID_PRODUCT_FROM_DATABASE=AHA-2930U2
-
-pci:v00009005d00000013*
- ID_PRODUCT_FROM_DATABASE=78902
-
-pci:v00009005d00000013sv00009005sd00000003*
- ID_PRODUCT_FROM_DATABASE=AAA-131U2 Array1000 1 Channel RAID Controller
-
-pci:v00009005d00000013sv00009005sd0000000F*
- ID_PRODUCT_FROM_DATABASE=AIC7890_ARO
-
-pci:v00009005d0000001F*
- ID_PRODUCT_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891
-
-pci:v00009005d0000001Fsv00009005sd0000000F*
- ID_PRODUCT_FROM_DATABASE=2940U2W SCSI Controller
-
-pci:v00009005d0000001Fsv00009005sd0000A180*
- ID_PRODUCT_FROM_DATABASE=2940U2W SCSI Controller
-
-pci:v00009005d00000020*
- ID_PRODUCT_FROM_DATABASE=AIC-7890
-
-pci:v00009005d0000002F*
- ID_PRODUCT_FROM_DATABASE=AIC-7890
-
-pci:v00009005d00000030*
- ID_PRODUCT_FROM_DATABASE=AIC-7890
-
-pci:v00009005d0000003F*
- ID_PRODUCT_FROM_DATABASE=AIC-7890
-
-pci:v00009005d00000050*
- ID_PRODUCT_FROM_DATABASE=AHA-3940U2x/395U2x
-
-pci:v00009005d00000050sv00009005sd0000F500*
- ID_PRODUCT_FROM_DATABASE=AHA-3950U2B
-
-pci:v00009005d00000050sv00009005sd0000FFFF*
- ID_PRODUCT_FROM_DATABASE=AHA-3950U2B
-
-pci:v00009005d00000051*
- ID_PRODUCT_FROM_DATABASE=AHA-3950U2D
-
-pci:v00009005d00000051sv00009005sd0000B500*
- ID_PRODUCT_FROM_DATABASE=AHA-3950U2D
-
-pci:v00009005d00000053*
- ID_PRODUCT_FROM_DATABASE=AIC-7896 SCSI Controller
-
-pci:v00009005d00000053sv00009005sd0000FFFF*
- ID_PRODUCT_FROM_DATABASE=AIC-7896 SCSI Controller mainboard implementation
-
-pci:v00009005d0000005F*
- ID_PRODUCT_FROM_DATABASE=AIC-7896U2/7897U2
-
-pci:v00009005d00000080*
- ID_PRODUCT_FROM_DATABASE=AIC-7892A U160/m
-
-pci:v00009005d00000080sv00000E11sd0000E2A0*
- ID_PRODUCT_FROM_DATABASE=Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter
-
-pci:v00009005d00000080sv00009005sd00006220*
- ID_PRODUCT_FROM_DATABASE=AHA-29160C
-
-pci:v00009005d00000080sv00009005sd000062A0*
- ID_PRODUCT_FROM_DATABASE=29160N Ultra160 SCSI Controller
-
-pci:v00009005d00000080sv00009005sd0000E220*
- ID_PRODUCT_FROM_DATABASE=29160LP Low Profile Ultra160 SCSI Controller
-
-pci:v00009005d00000080sv00009005sd0000E2A0*
- ID_PRODUCT_FROM_DATABASE=29160 Ultra160 SCSI Controller
-
-pci:v00009005d00000081*
- ID_PRODUCT_FROM_DATABASE=AIC-7892B U160/m
-
-pci:v00009005d00000081sv00009005sd000062A1*
- ID_PRODUCT_FROM_DATABASE=19160 Ultra160 SCSI Controller
-
-pci:v00009005d00000083*
- ID_PRODUCT_FROM_DATABASE=AIC-7892D U160/m
-
-pci:v00009005d0000008F*
- ID_PRODUCT_FROM_DATABASE=AIC-7892P U160/m
-
-pci:v00009005d0000008Fsv00001179sd00000001*
- ID_PRODUCT_FROM_DATABASE=Magnia Z310
-
-pci:v00009005d0000008Fsv000015D9sd00009005*
- ID_PRODUCT_FROM_DATABASE=Onboard SCSI Host Adapter
-
-pci:v00009005d00000092*
- ID_PRODUCT_FROM_DATABASE=AVC-2010 [VideoH!]
-
-pci:v00009005d00000093*
- ID_PRODUCT_FROM_DATABASE=AVC-2410 [VideoH!]
-
-pci:v00009005d000000C0*
- ID_PRODUCT_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m
-
-pci:v00009005d000000C0sv00000E11sd0000F620*
- ID_PRODUCT_FROM_DATABASE=Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter
-
-pci:v00009005d000000C0sv00009005sd0000F620*
- ID_PRODUCT_FROM_DATABASE=AHA-3960D U160/m
-
-pci:v00009005d000000C1*
- ID_PRODUCT_FROM_DATABASE=AIC-7899B U160/m
-
-pci:v00009005d000000C3*
- ID_PRODUCT_FROM_DATABASE=AIC-7899D U160/m
-
-pci:v00009005d000000C5*
- ID_PRODUCT_FROM_DATABASE=RAID subsystem HBA
-
-pci:v00009005d000000C5sv00001028sd000000C5*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2400,2500,2550,4400
-
-pci:v00009005d000000CF*
- ID_PRODUCT_FROM_DATABASE=AIC-7899P U160/m
-
-pci:v00009005d000000CFsv00001028sd000000CE*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 1400
-
-pci:v00009005d000000CFsv00001028sd000000D1*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2550
-
-pci:v00009005d000000CFsv00001028sd000000D9*
- ID_PRODUCT_FROM_DATABASE=PowerEdge 2500
-
-pci:v00009005d000000CFsv000010F1sd00002462*
- ID_PRODUCT_FROM_DATABASE=Thunder K7 S2462
-
-pci:v00009005d000000CFsv000015D9sd00009005*
- ID_PRODUCT_FROM_DATABASE=Onboard SCSI Host Adapter
-
-pci:v00009005d000000CFsv00008086sd00003411*
- ID_PRODUCT_FROM_DATABASE=SDS2 Mainboard
-
-pci:v00009005d00000241*
- ID_PRODUCT_FROM_DATABASE=Serial ATA II RAID 1420SA
-
-pci:v00009005d00000242*
- ID_PRODUCT_FROM_DATABASE=Serial ATA II RAID 1220SA
-
-pci:v00009005d00000243*
- ID_PRODUCT_FROM_DATABASE=Serial ATA II RAID 1430SA
-
-pci:v00009005d00000244*
- ID_PRODUCT_FROM_DATABASE=eSATA II RAID 1225SA
-
-pci:v00009005d00000250*
- ID_PRODUCT_FROM_DATABASE=ServeRAID Controller
-
-pci:v00009005d00000250sv00001014sd00000279*
- ID_PRODUCT_FROM_DATABASE=ServeRAID 6M
-
-pci:v00009005d00000250sv00001014sd0000028C*
- ID_PRODUCT_FROM_DATABASE=ServeRAID 6i/6i+
-
-pci:v00009005d00000250sv00001014sd0000028E*
- ID_PRODUCT_FROM_DATABASE=ServeRAID 7k
-
-pci:v00009005d00000279*
- ID_PRODUCT_FROM_DATABASE=ServeRAID 6M
-
-pci:v00009005d00000283*
- ID_PRODUCT_FROM_DATABASE=AAC-RAID
-
-pci:v00009005d00000283sv00009005sd00000283*
- ID_PRODUCT_FROM_DATABASE=Catapult
-
-pci:v00009005d00000284*
- ID_PRODUCT_FROM_DATABASE=AAC-RAID
-
-pci:v00009005d00000284sv00009005sd00000284*
- ID_PRODUCT_FROM_DATABASE=Tomcat
-
-pci:v00009005d00000285*
- ID_PRODUCT_FROM_DATABASE=AAC-RAID
-
-pci:v00009005d00000285sv00000E11sd00000295*
- ID_PRODUCT_FROM_DATABASE=SATA 6Ch (Bearcat)
-
-pci:v00009005d00000285sv00001014sd000002F2*
- ID_PRODUCT_FROM_DATABASE=ServeRAID 8i
-
-pci:v00009005d00000285sv00001028sd00000287*
- ID_PRODUCT_FROM_DATABASE=PowerEdge Expandable RAID Controller 320/DC
-
-pci:v00009005d00000285sv00001028sd00000291*
- ID_PRODUCT_FROM_DATABASE=CERC SATA RAID 2 PCI SATA 6ch (DellCorsair)
-
-pci:v00009005d00000285sv0000103Csd00003227*
- ID_PRODUCT_FROM_DATABASE=AAR-2610SA
-
-pci:v00009005d00000285sv0000108Esd00000286*
- ID_PRODUCT_FROM_DATABASE=STK RAID INT
-
-pci:v00009005d00000285sv0000108Esd00000287*
- ID_PRODUCT_FROM_DATABASE=STK RAID EXT
-
-pci:v00009005d00000285sv0000108Esd00007AAC*
- ID_PRODUCT_FROM_DATABASE=STK RAID REM
-
-pci:v00009005d00000285sv0000108Esd00007AAE*
- ID_PRODUCT_FROM_DATABASE=STK RAID EX
-
-pci:v00009005d00000285sv000015D9sd000002B5*
- ID_PRODUCT_FROM_DATABASE=SMC AOC-USAS-S4i
-
-pci:v00009005d00000285sv000015D9sd000002B6*
- ID_PRODUCT_FROM_DATABASE=SMC AOC-USAS-S8i
-
-pci:v00009005d00000285sv000015D9sd000002C9*
- ID_PRODUCT_FROM_DATABASE=SMC AOC-USAS-S4iR
-
-pci:v00009005d00000285sv000015D9sd000002CA*
- ID_PRODUCT_FROM_DATABASE=SMC AOC-USAS-S8iR
-
-pci:v00009005d00000285sv000015D9sd000002D2*
- ID_PRODUCT_FROM_DATABASE=SMC AOC-USAS-S8i-LP
-
-pci:v00009005d00000285sv000015D9sd000002D3*
- ID_PRODUCT_FROM_DATABASE=SMC AOC-USAS-S8iR-LP
-
-pci:v00009005d00000285sv000017AAsd00000286*
- ID_PRODUCT_FROM_DATABASE=Legend S220 (Legend Crusader)
-
-pci:v00009005d00000285sv000017AAsd00000287*
- ID_PRODUCT_FROM_DATABASE=Legend S230 (Legend Vulcan)
-
-pci:v00009005d00000285sv00009005sd00000285*
- ID_PRODUCT_FROM_DATABASE=2200S (Vulcan)
-
-pci:v00009005d00000285sv00009005sd00000286*
- ID_PRODUCT_FROM_DATABASE=2120S (Crusader)
-
-pci:v00009005d00000285sv00009005sd00000287*
- ID_PRODUCT_FROM_DATABASE=2200S (Vulcan-2m)
-
-pci:v00009005d00000285sv00009005sd00000288*
- ID_PRODUCT_FROM_DATABASE=3230S (Harrier)
-
-pci:v00009005d00000285sv00009005sd00000289*
- ID_PRODUCT_FROM_DATABASE=3240S (Tornado)
-
-pci:v00009005d00000285sv00009005sd0000028A*
- ID_PRODUCT_FROM_DATABASE=ASR-2020ZCR
-
-pci:v00009005d00000285sv00009005sd0000028B*
- ID_PRODUCT_FROM_DATABASE=ASR-2025ZCR (Terminator)
-
-pci:v00009005d00000285sv00009005sd0000028E*
- ID_PRODUCT_FROM_DATABASE=ASR-2020SA (Skyhawk)
-
-pci:v00009005d00000285sv00009005sd0000028F*
- ID_PRODUCT_FROM_DATABASE=ASR-2025SA
-
-pci:v00009005d00000285sv00009005sd00000290*
- ID_PRODUCT_FROM_DATABASE=AAR-2410SA PCI SATA 4ch (Jaguar II)
-
-pci:v00009005d00000285sv00009005sd00000292*
- ID_PRODUCT_FROM_DATABASE=AAR-2810SA PCI SATA 8ch (Corsair-8)
-
-pci:v00009005d00000285sv00009005sd00000293*
- ID_PRODUCT_FROM_DATABASE=AAR-21610SA PCI SATA 16ch (Corsair-16)
-
-pci:v00009005d00000285sv00009005sd00000294*
- ID_PRODUCT_FROM_DATABASE=ESD SO-DIMM PCI-X SATA ZCR (Prowler)
-
-pci:v00009005d00000285sv00009005sd00000296*
- ID_PRODUCT_FROM_DATABASE=ASR-2240S
-
-pci:v00009005d00000285sv00009005sd00000297*
- ID_PRODUCT_FROM_DATABASE=ASR-4005SAS
-
-pci:v00009005d00000285sv00009005sd00000298*
- ID_PRODUCT_FROM_DATABASE=ASR-4000
-
-pci:v00009005d00000285sv00009005sd00000299*
- ID_PRODUCT_FROM_DATABASE=ASR-4800SAS
-
-pci:v00009005d00000285sv00009005sd0000029A*
- ID_PRODUCT_FROM_DATABASE=4805SAS
-
-pci:v00009005d00000285sv00009005sd000002A4*
- ID_PRODUCT_FROM_DATABASE=ICP ICP9085LI
-
-pci:v00009005d00000285sv00009005sd000002A5*
- ID_PRODUCT_FROM_DATABASE=ICP ICP5085BR
-
-pci:v00009005d00000285sv00009005sd000002B5*
- ID_PRODUCT_FROM_DATABASE=ASR5800
-
-pci:v00009005d00000285sv00009005sd000002B6*
- ID_PRODUCT_FROM_DATABASE=ASR5805
-
-pci:v00009005d00000285sv00009005sd000002B7*
- ID_PRODUCT_FROM_DATABASE=ASR5808
-
-pci:v00009005d00000285sv00009005sd000002B8*
- ID_PRODUCT_FROM_DATABASE=ICP5445SL
-
-pci:v00009005d00000285sv00009005sd000002B9*
- ID_PRODUCT_FROM_DATABASE=ICP5085SL
-
-pci:v00009005d00000285sv00009005sd000002BA*
- ID_PRODUCT_FROM_DATABASE=ICP5805SL
-
-pci:v00009005d00000285sv00009005sd000002BB*
- ID_PRODUCT_FROM_DATABASE=3405
-
-pci:v00009005d00000285sv00009005sd000002BC*
- ID_PRODUCT_FROM_DATABASE=3805
-
-pci:v00009005d00000285sv00009005sd000002BD*
- ID_PRODUCT_FROM_DATABASE=31205
-
-pci:v00009005d00000285sv00009005sd000002BE*
- ID_PRODUCT_FROM_DATABASE=31605
-
-pci:v00009005d00000285sv00009005sd000002BF*
- ID_PRODUCT_FROM_DATABASE=ICP ICP5045BL
-
-pci:v00009005d00000285sv00009005sd000002C0*
- ID_PRODUCT_FROM_DATABASE=ICP ICP5085BL
-
-pci:v00009005d00000285sv00009005sd000002C1*
- ID_PRODUCT_FROM_DATABASE=ICP ICP5125BR
-
-pci:v00009005d00000285sv00009005sd000002C2*
- ID_PRODUCT_FROM_DATABASE=ICP ICP5165BR
-
-pci:v00009005d00000285sv00009005sd000002C3*
- ID_PRODUCT_FROM_DATABASE=51205
-
-pci:v00009005d00000285sv00009005sd000002C4*
- ID_PRODUCT_FROM_DATABASE=51605
-
-pci:v00009005d00000285sv00009005sd000002C5*
- ID_PRODUCT_FROM_DATABASE=ICP ICP5125SL
-
-pci:v00009005d00000285sv00009005sd000002C6*
- ID_PRODUCT_FROM_DATABASE=ICP ICP5165SL
-
-pci:v00009005d00000285sv00009005sd000002C7*
- ID_PRODUCT_FROM_DATABASE=3085
-
-pci:v00009005d00000285sv00009005sd000002C8*
- ID_PRODUCT_FROM_DATABASE=ICP5805BL
-
-pci:v00009005d00000285sv00009005sd000002CE*
- ID_PRODUCT_FROM_DATABASE=51245
-
-pci:v00009005d00000285sv00009005sd000002CF*
- ID_PRODUCT_FROM_DATABASE=51645
-
-pci:v00009005d00000285sv00009005sd000002D0*
- ID_PRODUCT_FROM_DATABASE=52445
-
-pci:v00009005d00000285sv00009005sd000002D1*
- ID_PRODUCT_FROM_DATABASE=5405
-
-pci:v00009005d00000285sv00009005sd000002D4*
- ID_PRODUCT_FROM_DATABASE=ASR-2045
-
-pci:v00009005d00000285sv00009005sd000002D5*
- ID_PRODUCT_FROM_DATABASE=ASR-2405
-
-pci:v00009005d00000285sv00009005sd000002D6*
- ID_PRODUCT_FROM_DATABASE=ASR-2445
-
-pci:v00009005d00000285sv00009005sd000002D7*
- ID_PRODUCT_FROM_DATABASE=ASR-2805
-
-pci:v00009005d00000285sv00009005sd000002D8*
- ID_PRODUCT_FROM_DATABASE=5405G
-
-pci:v00009005d00000285sv00009005sd000002D9*
- ID_PRODUCT_FROM_DATABASE=5445G
-
-pci:v00009005d00000285sv00009005sd000002DA*
- ID_PRODUCT_FROM_DATABASE=5805G
-
-pci:v00009005d00000285sv00009005sd000002DB*
- ID_PRODUCT_FROM_DATABASE=5085G
-
-pci:v00009005d00000285sv00009005sd000002DC*
- ID_PRODUCT_FROM_DATABASE=51245G
-
-pci:v00009005d00000285sv00009005sd000002DD*
- ID_PRODUCT_FROM_DATABASE=51645G
-
-pci:v00009005d00000285sv00009005sd000002DE*
- ID_PRODUCT_FROM_DATABASE=52445G
-
-pci:v00009005d00000285sv00009005sd000002DF*
- ID_PRODUCT_FROM_DATABASE=ASR-2045G
-
-pci:v00009005d00000285sv00009005sd000002E0*
- ID_PRODUCT_FROM_DATABASE=ASR-2405G
-
-pci:v00009005d00000285sv00009005sd000002E1*
- ID_PRODUCT_FROM_DATABASE=ASR-2445G
-
-pci:v00009005d00000285sv00009005sd000002E2*
- ID_PRODUCT_FROM_DATABASE=ASR-2805G
-
-pci:v00009005d00000286*
- ID_PRODUCT_FROM_DATABASE=AAC-RAID (Rocket)
-
-pci:v00009005d00000286sv00001014sd0000034D*
- ID_PRODUCT_FROM_DATABASE=8s
-
-pci:v00009005d00000286sv00001014sd00009540*
- ID_PRODUCT_FROM_DATABASE=ServeRAID 8k/8k-l4
-
-pci:v00009005d00000286sv00001014sd00009580*
- ID_PRODUCT_FROM_DATABASE=ServeRAID 8k/8k-l8
-
-pci:v00009005d00000286sv00009005sd0000028C*
- ID_PRODUCT_FROM_DATABASE=ASR-2230S + ASR-2230SLP PCI-X (Lancer)
-
-pci:v00009005d00000286sv00009005sd0000028D*
- ID_PRODUCT_FROM_DATABASE=ASR-2130S
-
-pci:v00009005d00000286sv00009005sd0000029B*
- ID_PRODUCT_FROM_DATABASE=ASR-2820SA
-
-pci:v00009005d00000286sv00009005sd0000029C*
- ID_PRODUCT_FROM_DATABASE=ASR-2620SA
-
-pci:v00009005d00000286sv00009005sd0000029D*
- ID_PRODUCT_FROM_DATABASE=ASR-2420SA
-
-pci:v00009005d00000286sv00009005sd0000029E*
- ID_PRODUCT_FROM_DATABASE=ICP ICP9024R0
-
-pci:v00009005d00000286sv00009005sd0000029F*
- ID_PRODUCT_FROM_DATABASE=ICP ICP9014R0
-
-pci:v00009005d00000286sv00009005sd000002A0*
- ID_PRODUCT_FROM_DATABASE=ICP ICP9047MA
-
-pci:v00009005d00000286sv00009005sd000002A1*
- ID_PRODUCT_FROM_DATABASE=ICP ICP9087MA
-
-pci:v00009005d00000286sv00009005sd000002A2*
- ID_PRODUCT_FROM_DATABASE=3800
-
-pci:v00009005d00000286sv00009005sd000002A3*
- ID_PRODUCT_FROM_DATABASE=ICP ICP5445AU
-
-pci:v00009005d00000286sv00009005sd000002A4*
- ID_PRODUCT_FROM_DATABASE=ICP ICP9085LI
-
-pci:v00009005d00000286sv00009005sd000002A5*
- ID_PRODUCT_FROM_DATABASE=ICP ICP5085BR
-
-pci:v00009005d00000286sv00009005sd000002A6*
- ID_PRODUCT_FROM_DATABASE=ICP9067MA
-
-pci:v00009005d00000286sv00009005sd000002A7*
- ID_PRODUCT_FROM_DATABASE=3805
-
-pci:v00009005d00000286sv00009005sd000002A8*
- ID_PRODUCT_FROM_DATABASE=3400
-
-pci:v00009005d00000286sv00009005sd000002A9*
- ID_PRODUCT_FROM_DATABASE=ICP ICP5085AU
-
-pci:v00009005d00000286sv00009005sd000002AA*
- ID_PRODUCT_FROM_DATABASE=ICP ICP5045AU
-
-pci:v00009005d00000286sv00009005sd000002AC*
- ID_PRODUCT_FROM_DATABASE=1800
-
-pci:v00009005d00000286sv00009005sd000002B3*
- ID_PRODUCT_FROM_DATABASE=2400
-
-pci:v00009005d00000286sv00009005sd000002B4*
- ID_PRODUCT_FROM_DATABASE=ICP ICP5045AL
-
-pci:v00009005d00000286sv00009005sd00000800*
- ID_PRODUCT_FROM_DATABASE=Callisto
-
-pci:v00009005d0000028B*
- ID_PRODUCT_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2
-
-pci:v00009005d0000028Bsv00009005sd00000200*
- ID_PRODUCT_FROM_DATABASE=Series 6 Entry Level - ASR-6405E - 4 internal 6G SAS ports
-
-pci:v00009005d0000028Bsv00009005sd00000201*
- ID_PRODUCT_FROM_DATABASE=Series 6 Entry Level - ASR-6805E - 8 internal 6G SAS ports
-
-pci:v00009005d0000028Bsv00009005sd00000300*
- ID_PRODUCT_FROM_DATABASE=Series 6 - ASR-6405 - 4 internal 6G SAS ports
-
-pci:v00009005d0000028Bsv00009005sd00000301*
- ID_PRODUCT_FROM_DATABASE=Series 6 - ASR-6805 - 8 internal 6G SAS ports
-
-pci:v00009005d0000028Bsv00009005sd00000302*
- ID_PRODUCT_FROM_DATABASE=Series 6 - ASR-6445 - 4 internal and 4 external 6G SAS ports
-
-pci:v00009005d0000028Bsv00009005sd00000310*
- ID_PRODUCT_FROM_DATABASE=Series 6 Connectors on Top - ASR-6405T - 4 internal 6G SAS ports
-
-pci:v00009005d0000028Bsv00009005sd00000311*
- ID_PRODUCT_FROM_DATABASE=Series 6 Connectors on Top - ASR-6805T - 8 internal 6G SAS
-
-pci:v00009005d0000028Bsv00009005sd00000400*
- ID_PRODUCT_FROM_DATABASE=Series 6 - ASR-61205 - 12 internal 6G SAS ports
-
-pci:v00009005d0000028Bsv00009005sd00000401*
- ID_PRODUCT_FROM_DATABASE=Series 6 - ASR-61605 - 16 internal 6G SAS ports
-
-pci:v00009005d0000028Bsv00009005sd00000403*
- ID_PRODUCT_FROM_DATABASE=Series 6 - ASR-62405 - 24 internal 6G SAS ports
-
-pci:v00009005d0000028C*
- ID_PRODUCT_FROM_DATABASE=Series 7 6G SAS/PCIe 3
-
-pci:v00009005d0000028Csv00009005sd00000500*
- ID_PRODUCT_FROM_DATABASE=Series 7 - ASR-7805 - 8 internal 6G SAS Port/PCIe 3.0
-
-pci:v00009005d0000028Csv00009005sd00000501*
- ID_PRODUCT_FROM_DATABASE=Series 7 - ASR-71605 - 16 internal 6G SAS Port/PCIe 3.0
-
-pci:v00009005d0000028Csv00009005sd00000502*
- ID_PRODUCT_FROM_DATABASE=Series 7 - ASR-71685 - 16 internal 8 external 6G SAS Port/PCIe 3.0
-
-pci:v00009005d0000028Csv00009005sd00000503*
- ID_PRODUCT_FROM_DATABASE=Series 7 - ASR-72405 - 24 internal 0 external 6G SAS Port/PCIe 3.0
-
-pci:v00009005d0000028Csv00009005sd00000504*
- ID_PRODUCT_FROM_DATABASE=Series 7 - ASR-7885 - 8 internal 8 external 6G SAS Port/PCIe 3.0
-
-pci:v00009005d0000028Csv00009005sd00000505*
- ID_PRODUCT_FROM_DATABASE=Series 7 Entry Level - ASR-71685E - 16 internal 8 external 6G SAS Port/PCIe 3.0
-
-pci:v00009005d0000028Csv00009005sd00000506*
- ID_PRODUCT_FROM_DATABASE=Series 7 Entry Level - ASR-72405E - 24 internal 0 external 6G SAS Port/PCIe 3.0
-
-pci:v00009005d0000028D*
- ID_PRODUCT_FROM_DATABASE=Series 8 12G SAS/PCIe 3
-
-pci:v00009005d0000028Dsv00009005sd00000550*
- ID_PRODUCT_FROM_DATABASE=Series 8 - ASR-82405 - 24 internal 0 external 12G SAS Port/PCIe 3.0
-
-pci:v00009005d0000028Dsv00009005sd00000551*
- ID_PRODUCT_FROM_DATABASE=Series 8 - ASR-81605 - 16 internal 0 external 12G SAS Port/PCIe 3.0
-
-pci:v00009005d0000028Dsv00009005sd00000552*
- ID_PRODUCT_FROM_DATABASE=Series 8 - ASR-8805 - 8 internal 0 external 12G SAS Port/PCIe 3.0
-
-pci:v00009005d0000028Dsv00009005sd00000553*
- ID_PRODUCT_FROM_DATABASE=Series 8 - ASR-8085 - 0 internal 8 external 12G SAS Port/PCIe 3.0
-
-pci:v00009005d0000028Dsv00009005sd00000554*
- ID_PRODUCT_FROM_DATABASE=Series 8 - ASR-8885 - 8 internal 8 external 12G SAS Port/PCIe 3.0
-
-pci:v00009005d00000410*
- ID_PRODUCT_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID)
-
-pci:v00009005d00000410sv00009005sd00000410*
- ID_PRODUCT_FROM_DATABASE=ASC-48300(Spirit RAID)
-
-pci:v00009005d00000410sv00009005sd00000411*
- ID_PRODUCT_FROM_DATABASE=ASC-58300 (Oakmont RAID)
-
-pci:v00009005d00000412*
- ID_PRODUCT_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID)
-
-pci:v00009005d00000412sv00009005sd00000412*
- ID_PRODUCT_FROM_DATABASE=ASC-48300 (Spirit non-RAID)
-
-pci:v00009005d00000412sv00009005sd00000413*
- ID_PRODUCT_FROM_DATABASE=ASC-58300 (Oakmont non-RAID)
-
-pci:v00009005d00000415*
- ID_PRODUCT_FROM_DATABASE=ASC-58300 SAS (Razor-External HBA RAID)
-
-pci:v00009005d00000416*
- ID_PRODUCT_FROM_DATABASE=ASC-58300 SAS (Razor-External HBA non-RAID)
-
-pci:v00009005d0000041E*
- ID_PRODUCT_FROM_DATABASE=AIC-9410W SAS (Razor ASIC non-RAID)
-
-pci:v00009005d0000041F*
- ID_PRODUCT_FROM_DATABASE=AIC-9410W SAS (Razor ASIC RAID)
-
-pci:v00009005d0000041Fsv00009005sd0000041F*
- ID_PRODUCT_FROM_DATABASE=AIC-9410W SAS (Razor ASIC RAID)
-
-pci:v00009005d0000042F*
- ID_PRODUCT_FROM_DATABASE=VSC7250/7251 SAS (Aurora ASIC non-RAID)
-
-pci:v00009005d00000430*
- ID_PRODUCT_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA RAID)
-
-pci:v00009005d00000430sv00009005sd00000430*
- ID_PRODUCT_FROM_DATABASE=ASC-44300 (Spirit-Lite RAID)
-
-pci:v00009005d00000432*
- ID_PRODUCT_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA non-RAID)
-
-pci:v00009005d00000432sv00009005sd00000432*
- ID_PRODUCT_FROM_DATABASE=ASC-44300 (Spirit-Lite non-RAID)
-
-pci:v00009005d0000043E*
- ID_PRODUCT_FROM_DATABASE=AIC-9405W SAS (Razor-Lite ASIC non-RAID)
-
-pci:v00009005d0000043F*
- ID_PRODUCT_FROM_DATABASE=AIC-9405W SAS (Razor-Lite ASIC RAID)
-
-pci:v00009005d00000450*
- ID_PRODUCT_FROM_DATABASE=ASC-1405 Unified Serial HBA
-
-pci:v00009005d00000500*
- ID_PRODUCT_FROM_DATABASE=Obsidian chipset SCSI controller
-
-pci:v00009005d00000500sv00001014sd000002C1*
- ID_PRODUCT_FROM_DATABASE=PCI-X DDR 3Gb SAS Adapter (572A/572C)
-
-pci:v00009005d00000500sv00001014sd000002C2*
- ID_PRODUCT_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572B/572D)
-
-pci:v00009005d00000503*
- ID_PRODUCT_FROM_DATABASE=Scamp chipset SCSI controller
-
-pci:v00009005d00000503sv00001014sd000002BF*
- ID_PRODUCT_FROM_DATABASE=Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E)
-
-pci:v00009005d00000503sv00001014sd000002C3*
- ID_PRODUCT_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572F)
-
-pci:v00009005d00000503sv00001014sd000002D5*
- ID_PRODUCT_FROM_DATABASE=Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F)
-
-pci:v00009005d00000910*
- ID_PRODUCT_FROM_DATABASE=AUA-3100B
-
-pci:v00009005d0000091E*
- ID_PRODUCT_FROM_DATABASE=AUA-3100B
-
-pci:v00009005d00008000*
- ID_PRODUCT_FROM_DATABASE=ASC-29320A U320
-
-pci:v00009005d0000800F*
- ID_PRODUCT_FROM_DATABASE=AIC-7901 U320
-
-pci:v00009005d00008010*
- ID_PRODUCT_FROM_DATABASE=ASC-39320 U320
-
-pci:v00009005d00008011*
- ID_PRODUCT_FROM_DATABASE=ASC-39320D
-
-pci:v00009005d00008011sv00000E11sd000000AC*
- ID_PRODUCT_FROM_DATABASE=ASC-39320D U320
-
-pci:v00009005d00008011sv00009005sd00000041*
- ID_PRODUCT_FROM_DATABASE=ASC-39320D U320
-
-pci:v00009005d00008012*
- ID_PRODUCT_FROM_DATABASE=ASC-29320 U320
-
-pci:v00009005d00008013*
- ID_PRODUCT_FROM_DATABASE=ASC-29320B U320
-
-pci:v00009005d00008014*
- ID_PRODUCT_FROM_DATABASE=ASC-29320LP U320
-
-pci:v00009005d00008015*
- ID_PRODUCT_FROM_DATABASE=ASC-39320B U320
-
-pci:v00009005d00008016*
- ID_PRODUCT_FROM_DATABASE=ASC-39320A U320
-
-pci:v00009005d00008017*
- ID_PRODUCT_FROM_DATABASE=ASC-29320ALP U320
-
-pci:v00009005d00008017sv00009005sd00000044*
- ID_PRODUCT_FROM_DATABASE=ASC-29320ALP PCIx U320
-
-pci:v00009005d00008017sv00009005sd00000045*
- ID_PRODUCT_FROM_DATABASE=ASC-29320LPE PCIe U320
-
-pci:v00009005d0000801C*
- ID_PRODUCT_FROM_DATABASE=ASC-39320D U320
-
-pci:v00009005d0000801D*
- ID_PRODUCT_FROM_DATABASE=AIC-7902B U320
-
-pci:v00009005d0000801Dsv00001014sd000002CC*
- ID_PRODUCT_FROM_DATABASE=ServeRAID 7e
-
-pci:v00009005d0000801E*
- ID_PRODUCT_FROM_DATABASE=AIC-7901A U320
-
-pci:v00009005d0000801F*
- ID_PRODUCT_FROM_DATABASE=AIC-7902 U320
-
-pci:v00009005d0000801Fsv00001734sd00001011*
- ID_PRODUCT_FROM_DATABASE=PRIMERGY RX300 onboard SCSI
-
-pci:v00009005d00008080*
- ID_PRODUCT_FROM_DATABASE=ASC-29320A U320 w/HostRAID
-
-pci:v00009005d0000808F*
- ID_PRODUCT_FROM_DATABASE=AIC-7901 U320 w/HostRAID
-
-pci:v00009005d00008090*
- ID_PRODUCT_FROM_DATABASE=ASC-39320 U320 w/HostRAID
-
-pci:v00009005d00008091*
- ID_PRODUCT_FROM_DATABASE=ASC-39320D U320 w/HostRAID
-
-pci:v00009005d00008092*
- ID_PRODUCT_FROM_DATABASE=ASC-29320 U320 w/HostRAID
-
-pci:v00009005d00008093*
- ID_PRODUCT_FROM_DATABASE=ASC-29320B U320 w/HostRAID
-
-pci:v00009005d00008094*
- ID_PRODUCT_FROM_DATABASE=ASC-29320LP U320 w/HostRAID
-
-pci:v00009005d00008095*
- ID_PRODUCT_FROM_DATABASE=ASC-39320(B) U320 w/HostRAID
-
-pci:v00009005d00008096*
- ID_PRODUCT_FROM_DATABASE=ASC-39320A U320 w/HostRAID
-
-pci:v00009005d00008097*
- ID_PRODUCT_FROM_DATABASE=ASC-29320ALP U320 w/HostRAID
-
-pci:v00009005d0000809C*
- ID_PRODUCT_FROM_DATABASE=ASC-39320D(B) U320 w/HostRAID
-
-pci:v00009005d0000809D*
- ID_PRODUCT_FROM_DATABASE=AIC-7902(B) U320 w/HostRAID
-
-pci:v00009005d0000809Dsv00001014sd000002CC*
- ID_PRODUCT_FROM_DATABASE=ServeRAID 7e
-
-pci:v00009005d0000809E*
- ID_PRODUCT_FROM_DATABASE=AIC-7901A U320 w/HostRAID
-
-pci:v00009005d0000809F*
- ID_PRODUCT_FROM_DATABASE=AIC-7902 U320 w/HostRAID
-
-pci:v0000907F*
- ID_VENDOR_FROM_DATABASE=Atronics
-
-pci:v0000907Fd00002015*
- ID_PRODUCT_FROM_DATABASE=IDE-2015PL
-
-pci:v0000919A*
- ID_VENDOR_FROM_DATABASE=Gigapixel Corp
-
-pci:v00009412*
- ID_VENDOR_FROM_DATABASE=Holtek
-
-pci:v00009412d00006565*
- ID_PRODUCT_FROM_DATABASE=6565
-
-pci:v00009618*
- ID_VENDOR_FROM_DATABASE=JusonTech Corporation
-
-pci:v00009618d00000001*
- ID_PRODUCT_FROM_DATABASE=JusonTech Gigabit Ethernet Controller
-
-pci:v00009699*
- ID_VENDOR_FROM_DATABASE=Omni Media Technology Inc
-
-pci:v00009699d00006565*
- ID_PRODUCT_FROM_DATABASE=6565
-
-pci:v00009710*
- ID_VENDOR_FROM_DATABASE=NetMos Technology
-
-pci:v00009710d00009250*
- ID_PRODUCT_FROM_DATABASE=PCI-to-PCI bridge [MCS9250]
-
-pci:v00009710d00009805*
- ID_PRODUCT_FROM_DATABASE=PCI 1 port parallel adapter
-
-pci:v00009710d00009815*
- ID_PRODUCT_FROM_DATABASE=PCI 9815 Multi-I/O Controller
-
-pci:v00009710d00009815sv00001000sd00000020*
- ID_PRODUCT_FROM_DATABASE=2P0S (2 port parallel adaptor)
-
-pci:v00009710d00009820*
- ID_PRODUCT_FROM_DATABASE=PCI 9820 Multi-I/O Controller
-
-pci:v00009710d00009835*
- ID_PRODUCT_FROM_DATABASE=PCI 9835 Multi-I/O Controller
-
-pci:v00009710d00009835sv00001000sd00000002*
- ID_PRODUCT_FROM_DATABASE=2S (16C550 UART)
-
-pci:v00009710d00009835sv00001000sd00000012*
- ID_PRODUCT_FROM_DATABASE=1P2S
-
-pci:v00009710d00009845*
- ID_PRODUCT_FROM_DATABASE=PCI 9845 Multi-I/O Controller
-
-pci:v00009710d00009845sv00001000sd00000004*
- ID_PRODUCT_FROM_DATABASE=0P4S (4 port 16550A serial card)
-
-pci:v00009710d00009845sv00001000sd00000006*
- ID_PRODUCT_FROM_DATABASE=0P6S (6 port 16550a serial card)
-
-pci:v00009710d00009845sv00001000sd00000014*
- ID_PRODUCT_FROM_DATABASE=1P4S (1 Parallel / 4 16550A Serial Port Adapter)
-
-pci:v00009710d00009855*
- ID_PRODUCT_FROM_DATABASE=PCI 9855 Multi-I/O Controller
-
-pci:v00009710d00009855sv00001000sd00000014*
- ID_PRODUCT_FROM_DATABASE=1P4S
-
-pci:v00009710d00009855sv00001000sd00000022*
- ID_PRODUCT_FROM_DATABASE=2P2S (2 Parallel / 2 16550A Serial Port Adapter)
-
-pci:v00009710d00009865*
- ID_PRODUCT_FROM_DATABASE=PCI 9865 Multi-I/O Controller
-
-pci:v00009710d00009901*
- ID_PRODUCT_FROM_DATABASE=PCIe 9901 Multi-I/O Controller
-
-pci:v00009710d00009904*
- ID_PRODUCT_FROM_DATABASE=4-Port PCIe Serial Adapter
-
-pci:v00009710d00009912*
- ID_PRODUCT_FROM_DATABASE=PCIe 9912 Multi-I/O Controller
-
-pci:v00009710d00009922*
- ID_PRODUCT_FROM_DATABASE=PCIe 9922 Multi-I/O Controller
-
-pci:v00009710d00009990*
- ID_PRODUCT_FROM_DATABASE=MCS9990 PCIe to 4‐Port USB 2.0 Host Controller
-
-pci:v00009902*
- ID_VENDOR_FROM_DATABASE=Stargen Inc.
-
-pci:v00009902d00000001*
- ID_PRODUCT_FROM_DATABASE=SG2010 PCI over Starfabric Bridge
-
-pci:v00009902d00000002*
- ID_PRODUCT_FROM_DATABASE=SG2010 PCI to Starfabric Gateway
-
-pci:v00009902d00000003*
- ID_PRODUCT_FROM_DATABASE=SG1010 Starfabric Switch and PCI Bridge
-
-pci:v0000A0A0*
- ID_VENDOR_FROM_DATABASE=AOPEN Inc.
-
-pci:v0000A0F1*
- ID_VENDOR_FROM_DATABASE=UNISYS Corporation
-
-pci:v0000A200*
- ID_VENDOR_FROM_DATABASE=NEC Corporation
-
-pci:v0000A259*
- ID_VENDOR_FROM_DATABASE=Hewlett Packard
-
-pci:v0000A25B*
- ID_VENDOR_FROM_DATABASE=Hewlett Packard GmbH PL24-MKT
-
-pci:v0000A304*
- ID_VENDOR_FROM_DATABASE=Sony
-
-pci:v0000A727*
- ID_VENDOR_FROM_DATABASE=3Com Corporation
-
-pci:v0000A727d00000013*
- ID_PRODUCT_FROM_DATABASE=3CRPAG175 Wireless PC Card
-
-pci:v0000A727d00006803*
- ID_PRODUCT_FROM_DATABASE=3CRDAG675B Wireless 11a/b/g Adapter
-
-pci:v0000AA42*
- ID_VENDOR_FROM_DATABASE=Scitex Digital Video
-
-pci:v0000AA55*
- ID_VENDOR_FROM_DATABASE=Ncomputing X300 PCI-Engine
-
-pci:v0000AAAA*
- ID_VENDOR_FROM_DATABASE=Adnaco Technology Inc.
-
-pci:v0000AAAAd00000001*
- ID_PRODUCT_FROM_DATABASE=H1 PCIe over fiber optic host controller
-
-pci:v0000AAAAd00000002*
- ID_PRODUCT_FROM_DATABASE=R1BP1 PCIe over fiber optic expansion chassis
-
-pci:v0000ABCD*
- ID_VENDOR_FROM_DATABASE=Vadatech Inc.
-
-pci:v0000AC1E*
- ID_VENDOR_FROM_DATABASE=Digital Receiver Technology Inc
-
-pci:v0000AC3D*
- ID_VENDOR_FROM_DATABASE=Actuality Systems
-
-pci:v0000AD00*
- ID_VENDOR_FROM_DATABASE=Alta Data Technologies LLC
-
-pci:v0000AECB*
- ID_VENDOR_FROM_DATABASE=Adrienne Electronics Corporation
-
-pci:v0000AECBd00006250*
- ID_PRODUCT_FROM_DATABASE=VITC/LTC Timecode Reader card [PCI-VLTC/RDR]
-
-pci:v0000AFFE*
- ID_VENDOR_FROM_DATABASE=Sirrix AG security technologies
-
-pci:v0000AFFEd000001E1*
- ID_PRODUCT_FROM_DATABASE=PCI1E1 1-port ISDN E1 interface
-
-pci:v0000AFFEd000002E1*
- ID_PRODUCT_FROM_DATABASE=PCI2E1 2-port ISDN E1 interface
-
-pci:v0000AFFEd0000450E*
- ID_PRODUCT_FROM_DATABASE=PCI4S0EC 4-port ISDN S0 interface
-
-pci:v0000AFFEd0000DEAD*
- ID_PRODUCT_FROM_DATABASE=Sirrix.PCI4S0 4-port ISDN S0 interface
-
-pci:v0000B100*
- ID_VENDOR_FROM_DATABASE=OpenVox Communication Co. Ltd.
-
-pci:v0000B10B*
- ID_VENDOR_FROM_DATABASE=Uakron PCI Project
-
-pci:v0000B1B3*
- ID_VENDOR_FROM_DATABASE=Shiva Europe Limited
-
-pci:v0000B1D9*
- ID_VENDOR_FROM_DATABASE=ATCOM Technology co., LTD.
-
-pci:v0000BD11*
- ID_VENDOR_FROM_DATABASE=Pinnacle Systems, Inc. (Wrong ID)
-
-pci:v0000BDBD*
- ID_VENDOR_FROM_DATABASE=Blackmagic Design
-
-pci:v0000BDBDd0000A11B*
- ID_PRODUCT_FROM_DATABASE=DeckLink SDI
-
-pci:v0000C001*
- ID_VENDOR_FROM_DATABASE=TSI Telsys
-
-pci:v0000C0A9*
- ID_VENDOR_FROM_DATABASE=Micron/Crucial Technology
-
-pci:v0000C0DE*
- ID_VENDOR_FROM_DATABASE=Motorola
-
-pci:v0000C0FE*
- ID_VENDOR_FROM_DATABASE=Motion Engineering, Inc.
-
-pci:v0000CA50*
- ID_VENDOR_FROM_DATABASE=Varian Australia Pty Ltd
-
-pci:v0000CACE*
- ID_VENDOR_FROM_DATABASE=CACE Technologies, Inc.
-
-pci:v0000CACEd00000001*
- ID_PRODUCT_FROM_DATABASE=TurboCap Port A
-
-pci:v0000CACEd00000002*
- ID_PRODUCT_FROM_DATABASE=TurboCap Port B
-
-pci:v0000CACEd00000023*
- ID_PRODUCT_FROM_DATABASE=AirPcap N
-
-pci:v0000CAFE*
- ID_VENDOR_FROM_DATABASE=Chrysalis-ITS
-
-pci:v0000CAFEd00000003*
- ID_PRODUCT_FROM_DATABASE=Luna K3 Hardware Security Module
-
-pci:v0000CAFEd00000006*
- ID_PRODUCT_FROM_DATABASE=Luna PCI-e 3000 Hardware Security Module
-
-pci:v0000CCCC*
- ID_VENDOR_FROM_DATABASE=Catapult Communications
-
-pci:v0000CCEC*
- ID_VENDOR_FROM_DATABASE=Curtiss-Wright Controls Embedded Computing
-
-pci:v0000CDDD*
- ID_VENDOR_FROM_DATABASE=Tyzx, Inc.
-
-pci:v0000CDDDd00000101*
- ID_PRODUCT_FROM_DATABASE=DeepSea 1 High Speed Stereo Vision Frame Grabber
-
-pci:v0000CDDDd00000200*
- ID_PRODUCT_FROM_DATABASE=DeepSea 2 High Speed Stereo Vision Frame Grabber
-
-pci:v0000CEBA*
- ID_VENDOR_FROM_DATABASE=KEBA AG
-
-pci:v0000D161*
- ID_VENDOR_FROM_DATABASE=Digium, Inc.
-
-pci:v0000D161d00000120*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE120P single-span T1/E1/J1 card
-
-pci:v0000D161d00000205*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE205P/TE207P dual-span T1/E1/J1 card 5.0V
-
-pci:v0000D161d00000210*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE210P/TE212P dual-span T1/E1/J1 card 3.3V
-
-pci:v0000D161d00000220*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE220 dual-span T1/E1/J1 card 3.3V (PCI-Express)
-
-pci:v0000D161d00000405*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE405P/TE407P quad-span T1/E1/J1 card 5.0V
-
-pci:v0000D161d00000410*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE410P/TE412P quad-span T1/E1/J1 card 3.3V
-
-pci:v0000D161d00000420*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE420P quad-span T1/E1/J1 card 3.3V (PCI-Express)
-
-pci:v0000D161d00000800*
- ID_PRODUCT_FROM_DATABASE=Wildcard TDM800P 8-port analog card
-
-pci:v0000D161d00001205*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE205P/TE207P dual-span T1/E1/J1 card 5.0V (u1)
-
-pci:v0000D161d00001220*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE220 dual-span T1/E1/J1 card 3.3V (PCI-Express) (5th gen)
-
-pci:v0000D161d00001405*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE405P/TE407P quad-span T1/E1/J1 card 5.0V (u1)
-
-pci:v0000D161d00001420*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE420 quad-span T1/E1/J1 card 3.3V (PCI-Express) (5th gen)
-
-pci:v0000D161d00002400*
- ID_PRODUCT_FROM_DATABASE=Wildcard TDM2400P 24-port analog card
-
-pci:v0000D161d00003400*
- ID_PRODUCT_FROM_DATABASE=Wildcard TC400P transcoder base card
-
-pci:v0000D161d00008000*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE121 single-span T1/E1/J1 card (PCI-Express)
-
-pci:v0000D161d00008001*
- ID_PRODUCT_FROM_DATABASE=Wildcard TE122 single-span T1/E1/J1 card
-
-pci:v0000D161d00008002*
- ID_PRODUCT_FROM_DATABASE=Wildcard AEX800 8-port analog card (PCI-Express)
-
-pci:v0000D161d00008003*
- ID_PRODUCT_FROM_DATABASE=Wildcard AEX2400 24-port analog card (PCI-Express)
-
-pci:v0000D161d00008004*
- ID_PRODUCT_FROM_DATABASE=Wildcard TCE400P transcoder base card
-
-pci:v0000D161d00008005*
- ID_PRODUCT_FROM_DATABASE=Wildcard TDM410 4-port analog card
-
-pci:v0000D161d00008006*
- ID_PRODUCT_FROM_DATABASE=Wildcard AEX410 4-port analog card (PCI-Express)
-
-pci:v0000D161d00008007*
- ID_PRODUCT_FROM_DATABASE=Hx8 Series 8-port Base Card
-
-pci:v0000D161d00008008*
- ID_PRODUCT_FROM_DATABASE=Hx8 Series 8-port Base Card (PCI-Express)
-
-pci:v0000D161d0000B410*
- ID_PRODUCT_FROM_DATABASE=Wildcard B410 quad-BRI card
-
-pci:v0000D4D4*
- ID_VENDOR_FROM_DATABASE=Dy4 Systems Inc
-
-pci:v0000D4D4d00000601*
- ID_PRODUCT_FROM_DATABASE=PCI Mezzanine Card
-
-pci:v0000D531*
- ID_VENDOR_FROM_DATABASE=I+ME ACTIA GmbH
-
-pci:v0000D84D*
- ID_VENDOR_FROM_DATABASE=Exsys
-
-pci:v0000DADA*
- ID_VENDOR_FROM_DATABASE=Datapath Limited
-
-pci:v0000DB10*
- ID_VENDOR_FROM_DATABASE=Diablo Technologies
-
-pci:v0000DCBA*
- ID_VENDOR_FROM_DATABASE=Dynamic Engineering
-
-pci:v0000DCBAd00000046*
- ID_PRODUCT_FROM_DATABASE=PCIeAlteraCycloneIV
-
-pci:v0000DCBAd00000047*
- ID_PRODUCT_FROM_DATABASE=VPX-RCB
-
-pci:v0000DCBAd00000048*
- ID_PRODUCT_FROM_DATABASE=PMC-Biserial-III-BAE9
-
-pci:v0000DD01*
- ID_VENDOR_FROM_DATABASE=Digital Devices GmbH
-
-pci:v0000DD01d00000003*
- ID_PRODUCT_FROM_DATABASE=Octopus LE DVB adapter
-
-pci:v0000DEAD*
- ID_VENDOR_FROM_DATABASE=Indigita Corporation
-
-pci:v0000DEAF*
- ID_VENDOR_FROM_DATABASE=Middle Digital Inc.
-
-pci:v0000DEAFd00009050*
- ID_PRODUCT_FROM_DATABASE=PC Weasel Virtual VGA
-
-pci:v0000DEAFd00009051*
- ID_PRODUCT_FROM_DATABASE=PC Weasel Serial Port
-
-pci:v0000DEAFd00009052*
- ID_PRODUCT_FROM_DATABASE=PC Weasel Watchdog Timer
-
-pci:v0000DEDA*
- ID_VENDOR_FROM_DATABASE=SoftHard Technology Ltd.
-
-pci:v0000E000*
- ID_VENDOR_FROM_DATABASE=Winbond
-
-pci:v0000E000d0000E000*
- ID_PRODUCT_FROM_DATABASE=W89C940
-
-pci:v0000E159*
- ID_VENDOR_FROM_DATABASE=Tiger Jet Network Inc.
-
-pci:v0000E159d00000001*
- ID_PRODUCT_FROM_DATABASE=Tiger3XX Modem/ISDN interface
-
-pci:v0000E159d00000001sv00000059sd00000001*
- ID_PRODUCT_FROM_DATABASE=128k ISDN-S/T Adapter
-
-pci:v0000E159d00000001sv00000059sd00000003*
- ID_PRODUCT_FROM_DATABASE=128k ISDN-U Adapter
-
-pci:v0000E159d00000001sv000000A7sd00000001*
- ID_PRODUCT_FROM_DATABASE=TELES.S0/PCI 2.x ISDN Adapter
-
-pci:v0000E159d00000001sv00008086sd00000003*
- ID_PRODUCT_FROM_DATABASE=Digium X100P/X101P analogue PSTN FXO interface
-
-pci:v0000E159d00000001sv0000B100sd00000003*
- ID_PRODUCT_FROM_DATABASE=OpenVox A400P 4-port analog card
-
-pci:v0000E159d00000001sv0000B1D9sd00000003*
- ID_PRODUCT_FROM_DATABASE=AX400P 4-port analog card
-
-pci:v0000E159d00000002*
- ID_PRODUCT_FROM_DATABASE=Tiger100APC ISDN chipset
-
-pci:v0000E1C5*
- ID_VENDOR_FROM_DATABASE=Elcus
-
-pci:v0000E4BF*
- ID_VENDOR_FROM_DATABASE=EKF Elektronik GmbH
-
-pci:v0000E4BFd00000CCD*
- ID_PRODUCT_FROM_DATABASE=CCD-CALYPSO
-
-pci:v0000E4BFd00000CD1*
- ID_PRODUCT_FROM_DATABASE=CD1-OPERA
-
-pci:v0000E4BFd00000CD2*
- ID_PRODUCT_FROM_DATABASE=CD2-BEBOP
-
-pci:v0000E4BFd00000CD3*
- ID_PRODUCT_FROM_DATABASE=CD3-JIVE
-
-pci:v0000E4BFd000050C1*
- ID_PRODUCT_FROM_DATABASE=PC1-GROOVE
-
-pci:v0000E4BFd000050C2*
- ID_PRODUCT_FROM_DATABASE=PC2-LIMBO
-
-pci:v0000E4BFd000053C1*
- ID_PRODUCT_FROM_DATABASE=SC1-ALLEGRO
-
-pci:v0000E4BFd0000CC47*
- ID_PRODUCT_FROM_DATABASE=CCG-RUMBA
-
-pci:v0000E4BFd0000CC4D*
- ID_PRODUCT_FROM_DATABASE=CCM-BOOGIE
-
-pci:v0000E55E*
- ID_VENDOR_FROM_DATABASE=Essence Technology, Inc.
-
-pci:v0000EA01*
- ID_VENDOR_FROM_DATABASE=Eagle Technology
-
-pci:v0000EA01d0000000A*
- ID_PRODUCT_FROM_DATABASE=PCI-773 Temperature Card
-
-pci:v0000EA01d00000032*
- ID_PRODUCT_FROM_DATABASE=PCI-730 & PC104P-30 Card
-
-pci:v0000EA01d0000003E*
- ID_PRODUCT_FROM_DATABASE=PCI-762 Opto-Isolator Card
-
-pci:v0000EA01d00000041*
- ID_PRODUCT_FROM_DATABASE=PCI-763 Reed Relay Card
-
-pci:v0000EA01d00000043*
- ID_PRODUCT_FROM_DATABASE=PCI-769 Opto-Isolator Reed Relay Combo Card
-
-pci:v0000EA01d00000046*
- ID_PRODUCT_FROM_DATABASE=PCI-766 Analog Output Card
-
-pci:v0000EA01d00000052*
- ID_PRODUCT_FROM_DATABASE=PCI-703 Analog I/O Card
-
-pci:v0000EA01d00000800*
- ID_PRODUCT_FROM_DATABASE=PCI-800 Digital I/O Card
-
-pci:v0000EA60*
- ID_VENDOR_FROM_DATABASE=RME
-
-pci:v0000EA60d00009896*
- ID_PRODUCT_FROM_DATABASE=Digi32
-
-pci:v0000EA60d00009897*
- ID_PRODUCT_FROM_DATABASE=Digi32 Pro
-
-pci:v0000EA60d00009898*
- ID_PRODUCT_FROM_DATABASE=Digi32/8
-
-pci:v0000EABB*
- ID_VENDOR_FROM_DATABASE=Aashima Technology B.V.
-
-pci:v0000EACE*
- ID_VENDOR_FROM_DATABASE=Endace Measurement Systems, Ltd
-
-pci:v0000EACEd00003100*
- ID_PRODUCT_FROM_DATABASE=DAG 3.10 OC-3/OC-12
-
-pci:v0000EACEd00003200*
- ID_PRODUCT_FROM_DATABASE=DAG 3.2x OC-3/OC-12
-
-pci:v0000EACEd0000320E*
- ID_PRODUCT_FROM_DATABASE=DAG 3.2E Fast Ethernet
-
-pci:v0000EACEd0000340E*
- ID_PRODUCT_FROM_DATABASE=DAG 3.4E Fast Ethernet
-
-pci:v0000EACEd0000341E*
- ID_PRODUCT_FROM_DATABASE=DAG 3.41E Fast Ethernet
-
-pci:v0000EACEd00003500*
- ID_PRODUCT_FROM_DATABASE=DAG 3.5 OC-3/OC-12
-
-pci:v0000EACEd0000351C*
- ID_PRODUCT_FROM_DATABASE=DAG 3.5ECM Fast Ethernet
-
-pci:v0000EACEd0000360D*
- ID_PRODUCT_FROM_DATABASE=DAG 3.6D DS3
-
-pci:v0000EACEd0000360E*
- ID_PRODUCT_FROM_DATABASE=DAG 3.6E Fast Ethernet
-
-pci:v0000EACEd0000368E*
- ID_PRODUCT_FROM_DATABASE=DAG 3.6E Gig Ethernet
-
-pci:v0000EACEd00003707*
- ID_PRODUCT_FROM_DATABASE=DAG 3.7T T1/E1/J1
-
-pci:v0000EACEd0000370D*
- ID_PRODUCT_FROM_DATABASE=DAG 3.7D DS3/E3
-
-pci:v0000EACEd0000378E*
- ID_PRODUCT_FROM_DATABASE=DAG 3.7G Gig Ethernet
-
-pci:v0000EACEd00003800*
- ID_PRODUCT_FROM_DATABASE=DAG 3.8S OC-3/OC-12
-
-pci:v0000EACEd00004100*
- ID_PRODUCT_FROM_DATABASE=DAG 4.10 OC-48
-
-pci:v0000EACEd00004110*
- ID_PRODUCT_FROM_DATABASE=DAG 4.11 OC-48
-
-pci:v0000EACEd00004220*
- ID_PRODUCT_FROM_DATABASE=DAG 4.2 OC-48
-
-pci:v0000EACEd0000422E*
- ID_PRODUCT_FROM_DATABASE=DAG 4.2GE Gig Ethernet
-
-pci:v0000EACEd00004230*
- ID_PRODUCT_FROM_DATABASE=DAG 4.2S OC-48
-
-pci:v0000EACEd0000423E*
- ID_PRODUCT_FROM_DATABASE=DAG 4.2GE Gig Ethernet
-
-pci:v0000EACEd00004300*
- ID_PRODUCT_FROM_DATABASE=DAG 4.3S OC-48
-
-pci:v0000EACEd0000430E*
- ID_PRODUCT_FROM_DATABASE=DAG 4.3GE Gig Ethernet
-
-pci:v0000EACEd0000452E*
- ID_PRODUCT_FROM_DATABASE=DAG 4.5G2 Gig Ethernet
-
-pci:v0000EACEd0000454E*
- ID_PRODUCT_FROM_DATABASE=DAG 4.5G4 Gig Ethernet
-
-pci:v0000EACEd000045B8*
- ID_PRODUCT_FROM_DATABASE=DAG 4.5Z8 Gig Ethernet
-
-pci:v0000EACEd000045BE*
- ID_PRODUCT_FROM_DATABASE=DAG 4.5Z2 Gig Ethernet
-
-pci:v0000EACEd0000520E*
- ID_PRODUCT_FROM_DATABASE=DAG 5.2X 10G Ethernet
-
-pci:v0000EACEd0000521A*
- ID_PRODUCT_FROM_DATABASE=DAG 5.2SXA 10G Ethernet/OC-192
-
-pci:v0000EACEd00005400*
- ID_PRODUCT_FROM_DATABASE=DAG 5.4S-12 OC-3/OC-12
-
-pci:v0000EACEd00005401*
- ID_PRODUCT_FROM_DATABASE=DAG 5.4SG-48 Gig Ethernet/OC-3/OC-12/OC-48
-
-pci:v0000EACEd0000540A*
- ID_PRODUCT_FROM_DATABASE=DAG 5.4GA Gig Ethernet
-
-pci:v0000EACEd0000541A*
- ID_PRODUCT_FROM_DATABASE=DAG 5.4SA-12 OC-3/OC-12
-
-pci:v0000EACEd0000542A*
- ID_PRODUCT_FROM_DATABASE=DAG 5.4SGA-48 Gig Ethernet/OC-3/OC-12/OC-48
-
-pci:v0000EACEd00006000*
- ID_PRODUCT_FROM_DATABASE=DAG 6.0SE 10G Ethernet/OC-192
-
-pci:v0000EACEd00006100*
- ID_PRODUCT_FROM_DATABASE=DAG 6.1SE 10G Ethernet/OC-192
-
-pci:v0000EACEd00006200*
- ID_PRODUCT_FROM_DATABASE=DAG 6.2SE 10G Ethernet/OC-192
-
-pci:v0000EACEd00007100*
- ID_PRODUCT_FROM_DATABASE=DAG 7.1S OC-3/OC-12
-
-pci:v0000EACEd00007400*
- ID_PRODUCT_FROM_DATABASE=DAG 7.4S OC-3/OC-12
-
-pci:v0000EACEd00007401*
- ID_PRODUCT_FROM_DATABASE=DAG 7.4S48 OC-48
-
-pci:v0000EACEd0000752E*
- ID_PRODUCT_FROM_DATABASE=DAG 7.5G2 Gig Ethernet
-
-pci:v0000EACEd0000754E*
- ID_PRODUCT_FROM_DATABASE=DAG 7.5G4 Gig Ethernet
-
-pci:v0000EACEd00008100*
- ID_PRODUCT_FROM_DATABASE=DAG 8.1X 10G Ethernet
-
-pci:v0000EACEd00008101*
- ID_PRODUCT_FROM_DATABASE=DAG 8.1SX 10G Ethernet/OC-192
-
-pci:v0000EACEd00008102*
- ID_PRODUCT_FROM_DATABASE=DAG 8.1X 10G Ethernet
-
-pci:v0000EACEd0000820E*
- ID_PRODUCT_FROM_DATABASE=DAG 8.2X 10G Ethernet
-
-pci:v0000EACEd0000820F*
- ID_PRODUCT_FROM_DATABASE=DAG 8.2X 10G Ethernet (2nd bus)
-
-pci:v0000EACEd00008400*
- ID_PRODUCT_FROM_DATABASE=DAG 8.4I Infiniband x4 SDR
-
-pci:v0000EACEd00008500*
- ID_PRODUCT_FROM_DATABASE=DAG 8.5I Infiniband x4 DDR
-
-pci:v0000EACEd0000920E*
- ID_PRODUCT_FROM_DATABASE=DAG 9.2X2 10G Ethernet
-
-pci:v0000EC80*
- ID_VENDOR_FROM_DATABASE=Belkin Corporation
-
-pci:v0000EC80d0000EC00*
- ID_PRODUCT_FROM_DATABASE=F5D6000
-
-pci:v0000ECC0*
- ID_VENDOR_FROM_DATABASE=Echo Digital Audio Corporation
-
-pci:v0000EDD8*
- ID_VENDOR_FROM_DATABASE=ARK Logic Inc
-
-pci:v0000EDD8d0000A091*
- ID_PRODUCT_FROM_DATABASE=1000PV [Stingray]
-
-pci:v0000EDD8d0000A099*
- ID_PRODUCT_FROM_DATABASE=2000PV [Stingray]
-
-pci:v0000EDD8d0000A0A1*
- ID_PRODUCT_FROM_DATABASE=2000MT
-
-pci:v0000EDD8d0000A0A9*
- ID_PRODUCT_FROM_DATABASE=2000MI
-
-pci:v0000F043*
- ID_VENDOR_FROM_DATABASE=ASUSTeK Computer Inc. (Wrong ID)
-
-pci:v0000F05B*
- ID_VENDOR_FROM_DATABASE=Foxconn International, Inc. (Wrong ID)
-
-pci:v0000F1D0*
- ID_VENDOR_FROM_DATABASE=AJA Video
-
-pci:v0000F1D0d0000C0FE*
- ID_PRODUCT_FROM_DATABASE=Xena HS/HD-R
-
-pci:v0000F1D0d0000C0FF*
- ID_PRODUCT_FROM_DATABASE=Kona/Xena 2
-
-pci:v0000F1D0d0000CAFE*
- ID_PRODUCT_FROM_DATABASE=Kona SD
-
-pci:v0000F1D0d0000CFEE*
- ID_PRODUCT_FROM_DATABASE=Xena LS/SD-22-DA/SD-DA
-
-pci:v0000F1D0d0000DCAF*
- ID_PRODUCT_FROM_DATABASE=Kona HD
-
-pci:v0000F1D0d0000DFEE*
- ID_PRODUCT_FROM_DATABASE=Xena HD-DA
-
-pci:v0000F1D0d0000EFAC*
- ID_PRODUCT_FROM_DATABASE=Xena SD-MM/SD-22-MM
-
-pci:v0000F1D0d0000FACD*
- ID_PRODUCT_FROM_DATABASE=Xena HD-MM
-
-pci:v0000F5F5*
- ID_VENDOR_FROM_DATABASE=F5 Networks, Inc.
-
-pci:v0000F849*
- ID_VENDOR_FROM_DATABASE=ASRock Incorporation (Wrong ID)
-
-pci:v0000FA57*
- ID_VENDOR_FROM_DATABASE=Interagon AS
-
-pci:v0000FA57d00000001*
- ID_PRODUCT_FROM_DATABASE=PMC [Pattern Matching Chip]
-
-pci:v0000FAB7*
- ID_VENDOR_FROM_DATABASE=Fabric7 Systems, Inc.
-
-pci:v0000FEBD*
- ID_VENDOR_FROM_DATABASE=Ultraview Corp.
-
-pci:v0000FEDA*
- ID_VENDOR_FROM_DATABASE=Broadcom Inc
-
-pci:v0000FEDAd0000A0FA*
- ID_PRODUCT_FROM_DATABASE=BCM4210 iLine10 HomePNA 2.0
-
-pci:v0000FEDAd0000A10E*
- ID_PRODUCT_FROM_DATABASE=BCM4230 iLine10 HomePNA 2.0
-
-pci:v0000FEDE*
- ID_VENDOR_FROM_DATABASE=Fedetec Inc.
-
-pci:v0000FEDEd00000003*
- ID_PRODUCT_FROM_DATABASE=TABIC PCI v3
-
-pci:v0000FFEE*
- ID_VENDOR_FROM_DATABASE=FNK Tech
-
-pci:v0000FFFD*
- ID_VENDOR_FROM_DATABASE=XenSource, Inc.
-
-pci:v0000FFFDd00000101*
- ID_PRODUCT_FROM_DATABASE=PCI Event Channel Controller
-
-pci:v0000FFFE*
- ID_VENDOR_FROM_DATABASE=VMWare Inc (temporary ID)
-
-pci:v0000FFFEd00000710*
- ID_PRODUCT_FROM_DATABASE=Virtual SVGA
-
-pci:v0000FFFF*
- ID_VENDOR_FROM_DATABASE=Illegal Vendor ID
diff --git a/hwdb/20-usb-vendor-model.hwdb b/hwdb/20-usb-vendor-model.hwdb
new file mode 100644
index 0000000000..8c9584b358
--- /dev/null
+++ b/hwdb/20-usb-vendor-model.hwdb
@@ -0,0 +1,49014 @@
+# This file is part of systemd.
+#
+# Data imported from: http://www.linux-usb.org/usb.ids
+
+usb:v0001*
+ ID_VENDOR_FROM_DATABASE=Fry's Electronics
+
+usb:v0001p142B*
+ ID_MODEL_FROM_DATABASE=Arbiter Systems, Inc.
+
+usb:v0001p7778*
+ ID_MODEL_FROM_DATABASE=Counterfeit flash drive [Kingston]
+
+usb:v0002*
+ ID_VENDOR_FROM_DATABASE=Ingram
+
+usb:v0003*
+ ID_VENDOR_FROM_DATABASE=Club Mac
+
+usb:v0004*
+ ID_VENDOR_FROM_DATABASE=Nebraska Furniture Mart
+
+usb:v0053*
+ ID_VENDOR_FROM_DATABASE=Planex
+
+usb:v0053p5301*
+ ID_MODEL_FROM_DATABASE=GW-US54ZGL 802.11bg
+
+usb:v0079*
+ ID_VENDOR_FROM_DATABASE=DragonRise Inc.
+
+usb:v0079p0006*
+ ID_MODEL_FROM_DATABASE=Generic USB Joystick
+
+usb:v0079p0011*
+ ID_MODEL_FROM_DATABASE=Gamepad
+
+usb:v0105*
+ ID_VENDOR_FROM_DATABASE=Trust International B.V.
+
+usb:v0105p145F*
+ ID_MODEL_FROM_DATABASE=NW-3100 802.11b/g 54Mbps Wireless Network Adapter [zd1211]
+
+usb:v0145*
+ ID_VENDOR_FROM_DATABASE=Unknown
+
+usb:v0145p0112*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v017C*
+ ID_VENDOR_FROM_DATABASE=MLK
+
+usb:v017Cp145F*
+ ID_MODEL_FROM_DATABASE=Trust Deskset
+
+usb:v0204*
+ ID_VENDOR_FROM_DATABASE=Chipsbank Microelectronics Co., Ltd
+
+usb:v0204p6025*
+ ID_MODEL_FROM_DATABASE=CBM2080 Flash drive controller
+
+usb:v0204p6026*
+ ID_MODEL_FROM_DATABASE=CBM1180 Flash drive controller
+
+usb:v0218*
+ ID_VENDOR_FROM_DATABASE=Hangzhou Worlde
+
+usb:v0218p0301*
+ ID_MODEL_FROM_DATABASE=MIDI Port
+
+usb:v02AD*
+ ID_VENDOR_FROM_DATABASE=HUMAX Co., Ltd.
+
+usb:v02ADp138C*
+ ID_MODEL_FROM_DATABASE=PVR Mass Storage
+
+usb:v0300*
+ ID_VENDOR_FROM_DATABASE=MM300 eBook Reader
+
+usb:v0324*
+ ID_VENDOR_FROM_DATABASE=OCZ Technology Inc
+
+usb:v0324pBC06*
+ ID_MODEL_FROM_DATABASE=OCZ ATV USB 2.0 Flash Drive
+
+usb:v0324pBC08*
+ ID_MODEL_FROM_DATABASE=OCZ Rally2/ATV USB 2.0 Flash Drive
+
+usb:v0325*
+ ID_VENDOR_FROM_DATABASE=OCZ Technology Inc
+
+usb:v0325pAC02*
+ ID_MODEL_FROM_DATABASE=ATV Turbo / Rally2 Dual Channel USB 2.0 Flash Drive
+
+usb:v0386*
+ ID_VENDOR_FROM_DATABASE=LTS
+
+usb:v0386p0001*
+ ID_MODEL_FROM_DATABASE=PSX for USB Converter
+
+usb:v03D9*
+ ID_VENDOR_FROM_DATABASE=Shenzhen Sinote Tech-Electron Co., Ltd
+
+usb:v03D9p0499*
+ ID_MODEL_FROM_DATABASE=SE340D PC Remote Control
+
+usb:v03DA*
+ ID_VENDOR_FROM_DATABASE=Bernd Walter Computer Technology
+
+usb:v03DAp0002*
+ ID_MODEL_FROM_DATABASE=HD44780 LCD interface
+
+usb:v03E8*
+ ID_VENDOR_FROM_DATABASE=EndPoints, Inc.
+
+usb:v03E8p0004*
+ ID_MODEL_FROM_DATABASE=SE401 Webcam
+
+usb:v03E8p0008*
+ ID_MODEL_FROM_DATABASE=101 Ethernet [klsi]
+
+usb:v03E8p0015*
+ ID_MODEL_FROM_DATABASE=ATAPI Enclosure
+
+usb:v03E8p2123*
+ ID_MODEL_FROM_DATABASE=SiPix StyleCam Deluxe
+
+usb:v03E8p8004*
+ ID_MODEL_FROM_DATABASE=Aox 99001
+
+usb:v03E9*
+ ID_VENDOR_FROM_DATABASE=Thesys Microelectronics
+
+usb:v03EA*
+ ID_VENDOR_FROM_DATABASE=Data Broadcasting Corp.
+
+usb:v03EB*
+ ID_VENDOR_FROM_DATABASE=Atmel Corp.
+
+usb:v03EBp0902*
+ ID_MODEL_FROM_DATABASE=4-Port Hub
+
+usb:v03EBp2002*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v03EBp2015*
+ ID_MODEL_FROM_DATABASE=at90usbkey sample firmware (HID keyboard)
+
+usb:v03EBp2018*
+ ID_MODEL_FROM_DATABASE=at90usbkey sample firmware (CDC ACM)
+
+usb:v03EBp2019*
+ ID_MODEL_FROM_DATABASE=stk525 sample firmware (microphone)
+
+usb:v03EBp201C*
+ ID_MODEL_FROM_DATABASE=at90usbkey sample firmware (HID mouse)
+
+usb:v03EBp201D*
+ ID_MODEL_FROM_DATABASE=at90usbkey sample firmware (HID generic)
+
+usb:v03EBp2022*
+ ID_MODEL_FROM_DATABASE=at90usbkey sample firmware (composite device)
+
+usb:v03EBp2040*
+ ID_MODEL_FROM_DATABASE=LUFA Test PID
+
+usb:v03EBp2041*
+ ID_MODEL_FROM_DATABASE=LUFA Mouse Demo Application
+
+usb:v03EBp2042*
+ ID_MODEL_FROM_DATABASE=LUFA Keyboard Demo Application
+
+usb:v03EBp2043*
+ ID_MODEL_FROM_DATABASE=LUFA Joystick Demo Application
+
+usb:v03EBp2044*
+ ID_MODEL_FROM_DATABASE=LUFA CDC Demo Application
+
+usb:v03EBp2045*
+ ID_MODEL_FROM_DATABASE=LUFA Mass Storage Demo Application
+
+usb:v03EBp2046*
+ ID_MODEL_FROM_DATABASE=LUFA Audio Output Demo Application
+
+usb:v03EBp2047*
+ ID_MODEL_FROM_DATABASE=LUFA Audio Input Demo Application
+
+usb:v03EBp2048*
+ ID_MODEL_FROM_DATABASE=LUFA MIDI Demo Application
+
+usb:v03EBp2049*
+ ID_MODEL_FROM_DATABASE=Stripe Snoop Magnetic Stripe Reader
+
+usb:v03EBp204A*
+ ID_MODEL_FROM_DATABASE=LUFA CDC Class Bootloader
+
+usb:v03EBp204B*
+ ID_MODEL_FROM_DATABASE=LUFA USB to Serial Adapter Project
+
+usb:v03EBp204C*
+ ID_MODEL_FROM_DATABASE=LUFA RNDIS Demo Application
+
+usb:v03EBp204D*
+ ID_MODEL_FROM_DATABASE=LUFA Combined Mouse and Keyboard Demo Application
+
+usb:v03EBp204E*
+ ID_MODEL_FROM_DATABASE=LUFA Dual CDC Demo Application
+
+usb:v03EBp204F*
+ ID_MODEL_FROM_DATABASE=LUFA Generic HID Demo Application
+
+usb:v03EBp2060*
+ ID_MODEL_FROM_DATABASE=Benito Programmer Project
+
+usb:v03EBp2061*
+ ID_MODEL_FROM_DATABASE=LUFA Combined Mass Storage and Keyboard Demo Application
+
+usb:v03EBp2062*
+ ID_MODEL_FROM_DATABASE=LUFA Combined CDC and Mouse Demo Application
+
+usb:v03EBp2063*
+ ID_MODEL_FROM_DATABASE=LUFA Datalogger Device
+
+usb:v03EBp2064*
+ ID_MODEL_FROM_DATABASE=Interfaceless Control-Only LUFA Devices
+
+usb:v03EBp2065*
+ ID_MODEL_FROM_DATABASE=LUFA Test and Measurement Demo Application
+
+usb:v03EBp2066*
+ ID_MODEL_FROM_DATABASE=LUFA Multiple Report HID Demo
+
+usb:v03EBp2068*
+ ID_MODEL_FROM_DATABASE=LUFA Virtual Serial/Mass Storage Demo
+
+usb:v03EBp2069*
+ ID_MODEL_FROM_DATABASE=LUFA Webserver Project
+
+usb:v03EBp2103*
+ ID_MODEL_FROM_DATABASE=JTAG ICE mkII
+
+usb:v03EBp2104*
+ ID_MODEL_FROM_DATABASE=AVR ISP mkII
+
+usb:v03EBp2105*
+ ID_MODEL_FROM_DATABASE=AVRONE!
+
+usb:v03EBp2106*
+ ID_MODEL_FROM_DATABASE=STK600 development board
+
+usb:v03EBp2107*
+ ID_MODEL_FROM_DATABASE=AVR Dragon
+
+usb:v03EBp2109*
+ ID_MODEL_FROM_DATABASE=STK541 ZigBee Development Board
+
+usb:v03EBp210D*
+ ID_MODEL_FROM_DATABASE=XPLAIN evaluation kit (CDC ACM)
+
+usb:v03EBp2122*
+ ID_MODEL_FROM_DATABASE=XMEGA-A1 Explained evaluation kit
+
+usb:v03EBp2310*
+ ID_MODEL_FROM_DATABASE=EVK11xx evaluation board
+
+usb:v03EBp2FE4*
+ ID_MODEL_FROM_DATABASE=ATxmega32A4U DFU bootloader
+
+usb:v03EBp2FFB*
+ ID_MODEL_FROM_DATABASE=at90usb AVR DFU bootloader
+
+usb:v03EBp2FFD*
+ ID_MODEL_FROM_DATABASE=at89c5130/c5131 DFU bootloader
+
+usb:v03EBp2FFF*
+ ID_MODEL_FROM_DATABASE=at89c5132/c51snd1c DFU bootloader
+
+usb:v03EBp3301*
+ ID_MODEL_FROM_DATABASE=at43301 4-Port Hub
+
+usb:v03EBp3312*
+ ID_MODEL_FROM_DATABASE=4-Port Hub
+
+usb:v03EBp4102*
+ ID_MODEL_FROM_DATABASE=AirVast W-Buddie WN210
+
+usb:v03EBp5601*
+ ID_MODEL_FROM_DATABASE=at76c510 Prism-II 802.11b Access Point
+
+usb:v03EBp5603*
+ ID_MODEL_FROM_DATABASE=Cisco 7920 WiFi IP Phone
+
+usb:v03EBp6119*
+ ID_MODEL_FROM_DATABASE=AT91SAM CDC Demo Application
+
+usb:v03EBp6124*
+ ID_MODEL_FROM_DATABASE=at91sam SAMBA bootloader
+
+usb:v03EBp6127*
+ ID_MODEL_FROM_DATABASE=AT91SAM HID Keyboard Demo Application
+
+usb:v03EBp6129*
+ ID_MODEL_FROM_DATABASE=AT91SAM Mass Storage Demo Application
+
+usb:v03EBp6200*
+ ID_MODEL_FROM_DATABASE=AT91SAM HID Mouse Demo Application
+
+usb:v03EBp7603*
+ ID_MODEL_FROM_DATABASE=D-Link DWL-120 802.11b Wireless Adapter [Atmel at76c503a]
+
+usb:v03EBp7604*
+ ID_MODEL_FROM_DATABASE=at76c503a 802.11b Adapter
+
+usb:v03EBp7605*
+ ID_MODEL_FROM_DATABASE=at76c503a 802.11b Adapter
+
+usb:v03EBp7606*
+ ID_MODEL_FROM_DATABASE=at76c505 802.11b Adapter
+
+usb:v03EBp7611*
+ ID_MODEL_FROM_DATABASE=at76c510 rfmd2948 802.11b Access Point
+
+usb:v03EBp7613*
+ ID_MODEL_FROM_DATABASE=WL-1130 USB
+
+usb:v03EBp7614*
+ ID_MODEL_FROM_DATABASE=AT76c505a Wireless Adapter
+
+usb:v03EBp7615*
+ ID_MODEL_FROM_DATABASE=AT76C505AMX Wireless Adapter
+
+usb:v03EBp7617*
+ ID_MODEL_FROM_DATABASE=AT76C505AS Wireless Adapter
+
+usb:v03EBp7800*
+ ID_MODEL_FROM_DATABASE=Mini Album
+
+usb:v03EBpFF07*
+ ID_MODEL_FROM_DATABASE=Tux Droid fish dongle
+
+usb:v03EC*
+ ID_VENDOR_FROM_DATABASE=Iwatsu America, Inc.
+
+usb:v03ED*
+ ID_VENDOR_FROM_DATABASE=Mitel Corp.
+
+usb:v03EE*
+ ID_VENDOR_FROM_DATABASE=Mitsumi
+
+usb:v03EEp0000*
+ ID_MODEL_FROM_DATABASE=CD-R/RW Drive
+
+usb:v03EEp2501*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v03EEp2502*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v03EEp5609*
+ ID_MODEL_FROM_DATABASE=Japanese Keyboard
+
+usb:v03EEp641F*
+ ID_MODEL_FROM_DATABASE=WIF-0402C Bluetooth Adapter
+
+usb:v03EEp6438*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v03EEp6440*
+ ID_MODEL_FROM_DATABASE=WML-C52APR Bluetooth Adapter
+
+usb:v03EEp6901*
+ ID_MODEL_FROM_DATABASE=SmartDisk FDD
+
+usb:v03EEp6902*
+ ID_MODEL_FROM_DATABASE=Floppy Disk Drive
+
+usb:v03EEp7500*
+ ID_MODEL_FROM_DATABASE=CD-R/RW
+
+usb:v03EEpFFFF*
+ ID_MODEL_FROM_DATABASE=Dongle with BlueCore in DFU mode
+
+usb:v03F0*
+ ID_VENDOR_FROM_DATABASE=Hewlett-Packard
+
+usb:v03F0p0004*
+ ID_MODEL_FROM_DATABASE=DeskJet 895c
+
+usb:v03F0p0011*
+ ID_MODEL_FROM_DATABASE=OfficeJet G55
+
+usb:v03F0p0012*
+ ID_MODEL_FROM_DATABASE=DeskJet 1125C Printer Port
+
+usb:v03F0p0024*
+ ID_MODEL_FROM_DATABASE=KU-0316 Keyboard
+
+usb:v03F0p002A*
+ ID_MODEL_FROM_DATABASE=LaserJet P1102
+
+usb:v03F0p0101*
+ ID_MODEL_FROM_DATABASE=ScanJet 4100c
+
+usb:v03F0p0102*
+ ID_MODEL_FROM_DATABASE=PhotoSmart S20
+
+usb:v03F0p0104*
+ ID_MODEL_FROM_DATABASE=DeskJet 880c/970c
+
+usb:v03F0p0105*
+ ID_MODEL_FROM_DATABASE=ScanJet 4200c
+
+usb:v03F0p0107*
+ ID_MODEL_FROM_DATABASE=CD-Writer Plus
+
+usb:v03F0p010C*
+ ID_MODEL_FROM_DATABASE=Multimedia Keyboard Hub
+
+usb:v03F0p0111*
+ ID_MODEL_FROM_DATABASE=G55xi Printer/Scanner/Copier
+
+usb:v03F0p0117*
+ ID_MODEL_FROM_DATABASE=LaserJet 3200
+
+usb:v03F0p011C*
+ ID_MODEL_FROM_DATABASE=hn210w 802.11b Adapter
+
+usb:v03F0p011D*
+ ID_MODEL_FROM_DATABASE=Bluetooth 1.2 Interface [Broadcom BCM2035]
+
+usb:v03F0p0121*
+ ID_MODEL_FROM_DATABASE=HP49g+ Calculator
+
+usb:v03F0p0122*
+ ID_MODEL_FROM_DATABASE=HID Internet Keyboard
+
+usb:v03F0p0201*
+ ID_MODEL_FROM_DATABASE=ScanJet 6200c
+
+usb:v03F0p0202*
+ ID_MODEL_FROM_DATABASE=PhotoSmart S20
+
+usb:v03F0p0204*
+ ID_MODEL_FROM_DATABASE=DeskJet 815c
+
+usb:v03F0p0205*
+ ID_MODEL_FROM_DATABASE=ScanJet 3300c
+
+usb:v03F0p0207*
+ ID_MODEL_FROM_DATABASE=CD-Writer Plus 8200e
+
+usb:v03F0p020C*
+ ID_MODEL_FROM_DATABASE=Multimedia Keyboard
+
+usb:v03F0p0211*
+ ID_MODEL_FROM_DATABASE=OfficeJet G85
+
+usb:v03F0p0212*
+ ID_MODEL_FROM_DATABASE=DeskJet 1220C
+
+usb:v03F0p0217*
+ ID_MODEL_FROM_DATABASE=LaserJet 2200
+
+usb:v03F0p0218*
+ ID_MODEL_FROM_DATABASE=APOLLO P2500/2600
+
+usb:v03F0p0304*
+ ID_MODEL_FROM_DATABASE=DeskJet 810c/812c
+
+usb:v03F0p0305*
+ ID_MODEL_FROM_DATABASE=ScanJet 4300c
+
+usb:v03F0p0307*
+ ID_MODEL_FROM_DATABASE=CD-Writer+ CD-4e
+
+usb:v03F0p0311*
+ ID_MODEL_FROM_DATABASE=OfficeJet G85xi
+
+usb:v03F0p0312*
+ ID_MODEL_FROM_DATABASE=Color Inkjet CP1700
+
+usb:v03F0p0314*
+ ID_MODEL_FROM_DATABASE=designjet 30/130 series
+
+usb:v03F0p0317*
+ ID_MODEL_FROM_DATABASE=LaserJet 1200
+
+usb:v03F0p0324*
+ ID_MODEL_FROM_DATABASE=SK-2885 keyboard
+
+usb:v03F0p0401*
+ ID_MODEL_FROM_DATABASE=ScanJet 5200c
+
+usb:v03F0p0404*
+ ID_MODEL_FROM_DATABASE=DeskJet 830c/832c
+
+usb:v03F0p0405*
+ ID_MODEL_FROM_DATABASE=ScanJet 3400cse
+
+usb:v03F0p0411*
+ ID_MODEL_FROM_DATABASE=OfficeJet G95
+
+usb:v03F0p0412*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v03F0p0417*
+ ID_MODEL_FROM_DATABASE=LaserJet 1200 series
+
+usb:v03F0p0423*
+ ID_MODEL_FROM_DATABASE=HS-COMBO Cardreader
+
+usb:v03F0p0504*
+ ID_MODEL_FROM_DATABASE=DeskJet 885c
+
+usb:v03F0p0505*
+ ID_MODEL_FROM_DATABASE=ScanJet 2100c
+
+usb:v03F0p0507*
+ ID_MODEL_FROM_DATABASE=DVD+RW
+
+usb:v03F0p050C*
+ ID_MODEL_FROM_DATABASE=5219 Wireless Keyboard
+
+usb:v03F0p0511*
+ ID_MODEL_FROM_DATABASE=OfficeJet K60
+
+usb:v03F0p0512*
+ ID_MODEL_FROM_DATABASE=DeckJet 450
+
+usb:v03F0p0517*
+ ID_MODEL_FROM_DATABASE=LaserJet 1000
+
+usb:v03F0p051D*
+ ID_MODEL_FROM_DATABASE=Bluetooth Interface
+
+usb:v03F0p0601*
+ ID_MODEL_FROM_DATABASE=ScanJet 6300c
+
+usb:v03F0p0604*
+ ID_MODEL_FROM_DATABASE=DeskJet 840c
+
+usb:v03F0p0605*
+ ID_MODEL_FROM_DATABASE=ScanJet 2200c
+
+usb:v03F0p0611*
+ ID_MODEL_FROM_DATABASE=OfficeJet K60xi
+
+usb:v03F0p0612*
+ ID_MODEL_FROM_DATABASE=business inkjet 3000
+
+usb:v03F0p0624*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle
+
+usb:v03F0p0701*
+ ID_MODEL_FROM_DATABASE=ScanJet 5300c/5370c
+
+usb:v03F0p0704*
+ ID_MODEL_FROM_DATABASE=DeskJet 825c
+
+usb:v03F0p0705*
+ ID_MODEL_FROM_DATABASE=ScanJet 4400c
+
+usb:v03F0p0711*
+ ID_MODEL_FROM_DATABASE=OfficeJet K80
+
+usb:v03F0p0712*
+ ID_MODEL_FROM_DATABASE=DeskJet 1180c
+
+usb:v03F0p0714*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v03F0p0801*
+ ID_MODEL_FROM_DATABASE=ScanJet 7400c
+
+usb:v03F0p0804*
+ ID_MODEL_FROM_DATABASE=DeskJet 816c
+
+usb:v03F0p0805*
+ ID_MODEL_FROM_DATABASE=HP4470C
+
+usb:v03F0p0811*
+ ID_MODEL_FROM_DATABASE=OfficeJet K80xi
+
+usb:v03F0p0817*
+ ID_MODEL_FROM_DATABASE=LaserJet 3300
+
+usb:v03F0p0901*
+ ID_MODEL_FROM_DATABASE=ScanJet 2300c
+
+usb:v03F0p0904*
+ ID_MODEL_FROM_DATABASE=DeskJet 845c
+
+usb:v03F0p0912*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v03F0p0917*
+ ID_MODEL_FROM_DATABASE=LaserJet 3330
+
+usb:v03F0p0924*
+ ID_MODEL_FROM_DATABASE=Modular Smartcard Keyboard
+
+usb:v03F0p0A01*
+ ID_MODEL_FROM_DATABASE=ScanJet 2400c
+
+usb:v03F0p0A17*
+ ID_MODEL_FROM_DATABASE=color LaserJet 3700
+
+usb:v03F0p0B01*
+ ID_MODEL_FROM_DATABASE=ScanJet 82x0C
+
+usb:v03F0p0B0C*
+ ID_MODEL_FROM_DATABASE=Wireless Keyboard and Optical Mouse receiver
+
+usb:v03F0p0B17*
+ ID_MODEL_FROM_DATABASE=LaserJet 2300d
+
+usb:v03F0p0C17*
+ ID_MODEL_FROM_DATABASE=LaserJet 1010
+
+usb:v03F0p0C24*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle
+
+usb:v03F0p0D12*
+ ID_MODEL_FROM_DATABASE=OfficeJet 9100 series
+
+usb:v03F0p0D17*
+ ID_MODEL_FROM_DATABASE=LaserJet 1012
+
+usb:v03F0p0E17*
+ ID_MODEL_FROM_DATABASE=LaserJet 1015
+
+usb:v03F0p0F0C*
+ ID_MODEL_FROM_DATABASE=Wireless Keyboard and Optical Mouse receiver
+
+usb:v03F0p0F11*
+ ID_MODEL_FROM_DATABASE=OfficeJet V40
+
+usb:v03F0p0F12*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v03F0p0F17*
+ ID_MODEL_FROM_DATABASE=LaserJet 1150
+
+usb:v03F0p1001*
+ ID_MODEL_FROM_DATABASE=Photo Scanner 1000
+
+usb:v03F0p1002*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 140 series
+
+usb:v03F0p1004*
+ ID_MODEL_FROM_DATABASE=DeskJet 970c/970cse
+
+usb:v03F0p1005*
+ ID_MODEL_FROM_DATABASE=ScanJet 5400c
+
+usb:v03F0p1011*
+ ID_MODEL_FROM_DATABASE=OfficeJet V40xi
+
+usb:v03F0p1016*
+ ID_MODEL_FROM_DATABASE=Jornada 548 / iPAQ HW6515 Pocket PC
+
+usb:v03F0p1017*
+ ID_MODEL_FROM_DATABASE=LaserJet 1300
+
+usb:v03F0p1024*
+ ID_MODEL_FROM_DATABASE=Smart Card Keyboard
+
+usb:v03F0p1027*
+ ID_MODEL_FROM_DATABASE=Virtual keyboard and mouse
+
+usb:v03F0p1102*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 240 series
+
+usb:v03F0p1104*
+ ID_MODEL_FROM_DATABASE=DeskJet 959c
+
+usb:v03F0p1105*
+ ID_MODEL_FROM_DATABASE=ScanJet 5470c/5490c
+
+usb:v03F0p1111*
+ ID_MODEL_FROM_DATABASE=OfficeJet v60
+
+usb:v03F0p1116*
+ ID_MODEL_FROM_DATABASE=Jornada 568 Pocket PC
+
+usb:v03F0p1117*
+ ID_MODEL_FROM_DATABASE=LaserJet 1300n
+
+usb:v03F0p1151*
+ ID_MODEL_FROM_DATABASE=PSC-750xi Printer/Scanner/Copier
+
+usb:v03F0p1202*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 320 series
+
+usb:v03F0p1204*
+ ID_MODEL_FROM_DATABASE=DeskJet 930c
+
+usb:v03F0p1205*
+ ID_MODEL_FROM_DATABASE=ScanJet 4500C/5550C
+
+usb:v03F0p1211*
+ ID_MODEL_FROM_DATABASE=OfficeJet v60xi
+
+usb:v03F0p1217*
+ ID_MODEL_FROM_DATABASE=LaserJet 2300L
+
+usb:v03F0p1302*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 370 series
+
+usb:v03F0p1305*
+ ID_MODEL_FROM_DATABASE=ScanJet 4570c
+
+usb:v03F0p1311*
+ ID_MODEL_FROM_DATABASE=OfficeJet V30
+
+usb:v03F0p1312*
+ ID_MODEL_FROM_DATABASE=DeskJet 460
+
+usb:v03F0p1317*
+ ID_MODEL_FROM_DATABASE=LaserJet 1005
+
+usb:v03F0p1327*
+ ID_MODEL_FROM_DATABASE=iLO Virtual Hub
+
+usb:v03F0p1405*
+ ID_MODEL_FROM_DATABASE=ScanJet 3670
+
+usb:v03F0p1411*
+ ID_MODEL_FROM_DATABASE=PSC 750
+
+usb:v03F0p1424*
+ ID_MODEL_FROM_DATABASE=f2105 Monitor Hub
+
+usb:v03F0p1502*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 420 series
+
+usb:v03F0p1504*
+ ID_MODEL_FROM_DATABASE=DeskJet 920c
+
+usb:v03F0p150C*
+ ID_MODEL_FROM_DATABASE=Mood Lighting (Microchip Technology Inc.)
+
+usb:v03F0p1511*
+ ID_MODEL_FROM_DATABASE=PSC 750xi
+
+usb:v03F0p1512*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v03F0p1517*
+ ID_MODEL_FROM_DATABASE=color LaserJet 3500
+
+usb:v03F0p1524*
+ ID_MODEL_FROM_DATABASE=Smart Card Keyboard - KR
+
+usb:v03F0p1602*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 330 series
+
+usb:v03F0p1604*
+ ID_MODEL_FROM_DATABASE=DeskJet 940c
+
+usb:v03F0p1605*
+ ID_MODEL_FROM_DATABASE=ScanJet 5530C PhotoSmart
+
+usb:v03F0p1611*
+ ID_MODEL_FROM_DATABASE=psc 780
+
+usb:v03F0p1617*
+ ID_MODEL_FROM_DATABASE=LaserJet 3015
+
+usb:v03F0p161D*
+ ID_MODEL_FROM_DATABASE=Wireless Rechargeable Optical Mouse (HID)
+
+usb:v03F0p1624*
+ ID_MODEL_FROM_DATABASE=Smart Card Keyboard - JP
+
+usb:v03F0p1702*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 380 series
+
+usb:v03F0p1704*
+ ID_MODEL_FROM_DATABASE=DeskJet 948C
+
+usb:v03F0p1705*
+ ID_MODEL_FROM_DATABASE=ScanJet 5590
+
+usb:v03F0p1711*
+ ID_MODEL_FROM_DATABASE=psc 780xi
+
+usb:v03F0p1712*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v03F0p1717*
+ ID_MODEL_FROM_DATABASE=LaserJet 3020
+
+usb:v03F0p171D*
+ ID_MODEL_FROM_DATABASE=Bluetooth 2.0 Interface [Broadcom BCM2045]
+
+usb:v03F0p1801*
+ ID_MODEL_FROM_DATABASE=Inkjet P-2000U
+
+usb:v03F0p1802*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 470 series
+
+usb:v03F0p1804*
+ ID_MODEL_FROM_DATABASE=DeskJet 916C
+
+usb:v03F0p1805*
+ ID_MODEL_FROM_DATABASE=ScanJet 7650
+
+usb:v03F0p1811*
+ ID_MODEL_FROM_DATABASE=PSC 720
+
+usb:v03F0p1812*
+ ID_MODEL_FROM_DATABASE=OfficeJet Pro K550
+
+usb:v03F0p1817*
+ ID_MODEL_FROM_DATABASE=LaserJet 3030
+
+usb:v03F0p181D*
+ ID_MODEL_FROM_DATABASE=Bluetooth 2.0 Interface
+
+usb:v03F0p1902*
+ ID_MODEL_FROM_DATABASE=PhotoSmart A430 series
+
+usb:v03F0p1904*
+ ID_MODEL_FROM_DATABASE=DeskJet 3820
+
+usb:v03F0p1911*
+ ID_MODEL_FROM_DATABASE=OfficeJet V45
+
+usb:v03F0p1917*
+ ID_MODEL_FROM_DATABASE=LaserJet 3380
+
+usb:v03F0p1A02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart A510 series
+
+usb:v03F0p1A11*
+ ID_MODEL_FROM_DATABASE=OfficeJet 5100 series
+
+usb:v03F0p1A17*
+ ID_MODEL_FROM_DATABASE=color LaserJet 4650
+
+usb:v03F0p1B02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart A610 series
+
+usb:v03F0p1B04*
+ ID_MODEL_FROM_DATABASE=DeskJet 3810
+
+usb:v03F0p1B05*
+ ID_MODEL_FROM_DATABASE=ScanJet 4850C/4890C
+
+usb:v03F0p1B07*
+ ID_MODEL_FROM_DATABASE=Premium Starter Webcam
+
+usb:v03F0p1C02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart A710 series
+
+usb:v03F0p1C17*
+ ID_MODEL_FROM_DATABASE=Color LaserJet 2550l
+
+usb:v03F0p1D02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart A310 series
+
+usb:v03F0p1D17*
+ ID_MODEL_FROM_DATABASE=LaserJet 1320
+
+usb:v03F0p1E02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart A320 Printer series
+
+usb:v03F0p1E11*
+ ID_MODEL_FROM_DATABASE=PSC-950
+
+usb:v03F0p1E17*
+ ID_MODEL_FROM_DATABASE=LaserJet 1160 series
+
+usb:v03F0p1F02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart A440 Printer series
+
+usb:v03F0p1F11*
+ ID_MODEL_FROM_DATABASE=PSC 920
+
+usb:v03F0p1F12*
+ ID_MODEL_FROM_DATABASE=OfficeJet Pro K5300
+
+usb:v03F0p1F17*
+ ID_MODEL_FROM_DATABASE=color LaserJet 5550
+
+usb:v03F0p1F1D*
+ ID_MODEL_FROM_DATABASE=un2400 Gobi Wireless Modem
+
+usb:v03F0p2001*
+ ID_MODEL_FROM_DATABASE=Floppy
+
+usb:v03F0p2002*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v03F0p2004*
+ ID_MODEL_FROM_DATABASE=DeskJet 640c
+
+usb:v03F0p2005*
+ ID_MODEL_FROM_DATABASE=ScanJet 3570c
+
+usb:v03F0p2012*
+ ID_MODEL_FROM_DATABASE=OfficeJet Pro K5400
+
+usb:v03F0p201D*
+ ID_MODEL_FROM_DATABASE=un2400 Gobi Wireless Modem (QDL mode)
+
+usb:v03F0p2102*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7345
+
+usb:v03F0p2104*
+ ID_MODEL_FROM_DATABASE=DeskJet 630c
+
+usb:v03F0p2112*
+ ID_MODEL_FROM_DATABASE=OfficeJet Pro L7500
+
+usb:v03F0p211D*
+ ID_MODEL_FROM_DATABASE=Sierra MC5725 [ev2210]
+
+usb:v03F0p2202*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7600 series
+
+usb:v03F0p2205*
+ ID_MODEL_FROM_DATABASE=ScanJet 3500c
+
+usb:v03F0p2212*
+ ID_MODEL_FROM_DATABASE=OfficeJet Pro L7600
+
+usb:v03F0p2217*
+ ID_MODEL_FROM_DATABASE=color LaserJet 9500 MFP
+
+usb:v03F0p2302*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7600 series
+
+usb:v03F0p2304*
+ ID_MODEL_FROM_DATABASE=DeskJet 656c
+
+usb:v03F0p2305*
+ ID_MODEL_FROM_DATABASE=ScanJet 3970c
+
+usb:v03F0p2311*
+ ID_MODEL_FROM_DATABASE=OfficeJet d series
+
+usb:v03F0p2312*
+ ID_MODEL_FROM_DATABASE=OfficeJet Pro L7700
+
+usb:v03F0p2317*
+ ID_MODEL_FROM_DATABASE=LaserJet 4350
+
+usb:v03F0p231D*
+ ID_MODEL_FROM_DATABASE=4 GB Flash Drive
+
+usb:v03F0p2402*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7700 series
+
+usb:v03F0p2404*
+ ID_MODEL_FROM_DATABASE=Deskjet F2280 series
+
+usb:v03F0p2405*
+ ID_MODEL_FROM_DATABASE=ScanJet 4070 PhotoSmart
+
+usb:v03F0p2417*
+ ID_MODEL_FROM_DATABASE=LaserJet 4250
+
+usb:v03F0p241D*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem (QDL mode)
+
+usb:v03F0p2424*
+ ID_MODEL_FROM_DATABASE=LP1965 19" Monitor Hub
+
+usb:v03F0p2502*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7700 series
+
+usb:v03F0p2504*
+ ID_MODEL_FROM_DATABASE=DeskJet F4200 series
+
+usb:v03F0p2505*
+ ID_MODEL_FROM_DATABASE=ScanJet 3770
+
+usb:v03F0p2512*
+ ID_MODEL_FROM_DATABASE=OfficeJet Pro L7300
+
+usb:v03F0p2517*
+ ID_MODEL_FROM_DATABASE=LaserJet 2410
+
+usb:v03F0p251D*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem
+
+usb:v03F0p2524*
+ ID_MODEL_FROM_DATABASE=LP3065 30" Monitor Hub
+
+usb:v03F0p2602*
+ ID_MODEL_FROM_DATABASE=PhotoSmart A520 series
+
+usb:v03F0p2605*
+ ID_MODEL_FROM_DATABASE=ScanJet 3800c
+
+usb:v03F0p2611*
+ ID_MODEL_FROM_DATABASE=OfficeJet 7100 series
+
+usb:v03F0p2617*
+ ID_MODEL_FROM_DATABASE=Color LaserJet 2820 series
+
+usb:v03F0p2624*
+ ID_MODEL_FROM_DATABASE=Pole Display (HP522 2 x 20 Line Display)
+
+usb:v03F0p2702*
+ ID_MODEL_FROM_DATABASE=PhotoSmart A620 series
+
+usb:v03F0p2704*
+ ID_MODEL_FROM_DATABASE=DeskJet 915
+
+usb:v03F0p2717*
+ ID_MODEL_FROM_DATABASE=Color LaserJet 2830
+
+usb:v03F0p2811*
+ ID_MODEL_FROM_DATABASE=PSC-2100
+
+usb:v03F0p2817*
+ ID_MODEL_FROM_DATABASE=Color LaserJet 2840
+
+usb:v03F0p2902*
+ ID_MODEL_FROM_DATABASE=PhotoSmart A820 series
+
+usb:v03F0p2911*
+ ID_MODEL_FROM_DATABASE=PSC 2200
+
+usb:v03F0p2917*
+ ID_MODEL_FROM_DATABASE=LaserJet 2420
+
+usb:v03F0p2A11*
+ ID_MODEL_FROM_DATABASE=PSC 2150 series
+
+usb:v03F0p2A17*
+ ID_MODEL_FROM_DATABASE=LaserJet 2430
+
+usb:v03F0p2B11*
+ ID_MODEL_FROM_DATABASE=PSC 2170 series
+
+usb:v03F0p2B17*
+ ID_MODEL_FROM_DATABASE=LaserJet 1020
+
+usb:v03F0p2C12*
+ ID_MODEL_FROM_DATABASE=Officejet J4680
+
+usb:v03F0p2C17*
+ ID_MODEL_FROM_DATABASE=LaserJet 1022
+
+usb:v03F0p2C24*
+ ID_MODEL_FROM_DATABASE=Logitech M-UAL-96 Mouse
+
+usb:v03F0p2D05*
+ ID_MODEL_FROM_DATABASE=Scanjet 7000
+
+usb:v03F0p2D11*
+ ID_MODEL_FROM_DATABASE=OfficeJet 6110
+
+usb:v03F0p2D17*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v03F0p2E11*
+ ID_MODEL_FROM_DATABASE=PSC 1000
+
+usb:v03F0p2E17*
+ ID_MODEL_FROM_DATABASE=LaserJet 2600n
+
+usb:v03F0p2E24*
+ ID_MODEL_FROM_DATABASE=LP2275w Monitor Hub
+
+usb:v03F0p2F11*
+ ID_MODEL_FROM_DATABASE=PSC 1200
+
+usb:v03F0p2F17*
+ ID_MODEL_FROM_DATABASE=EWS 2605dn
+
+usb:v03F0p2F24*
+ ID_MODEL_FROM_DATABASE=LP2475w Monitor Hub
+
+usb:v03F0p3002*
+ ID_MODEL_FROM_DATABASE=PhotoSmart P1000
+
+usb:v03F0p3004*
+ ID_MODEL_FROM_DATABASE=DeskJet 980c
+
+usb:v03F0p3005*
+ ID_MODEL_FROM_DATABASE=ScanJet 4670v
+
+usb:v03F0p3011*
+ ID_MODEL_FROM_DATABASE=PSC 1100 series
+
+usb:v03F0p3017*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v03F0p3102*
+ ID_MODEL_FROM_DATABASE=PhotoSmart P1100 Printer w/ Card Reader
+
+usb:v03F0p3104*
+ ID_MODEL_FROM_DATABASE=DeskJet 960c
+
+usb:v03F0p3111*
+ ID_MODEL_FROM_DATABASE=OfficeJet 4100 series
+
+usb:v03F0p3117*
+ ID_MODEL_FROM_DATABASE=EWS 2605dtn
+
+usb:v03F0p311D*
+ ID_MODEL_FROM_DATABASE=Atheros AR9285 Malbec Bluetooth Adapter
+
+usb:v03F0p3202*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 1215
+
+usb:v03F0p3207*
+ ID_MODEL_FROM_DATABASE=4 GB flash drive
+
+usb:v03F0p3211*
+ ID_MODEL_FROM_DATABASE=OfficeJet 4105 series
+
+usb:v03F0p3217*
+ ID_MODEL_FROM_DATABASE=LaserJet 3050
+
+usb:v03F0p3302*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 1218
+
+usb:v03F0p3304*
+ ID_MODEL_FROM_DATABASE=DeskJet 990c
+
+usb:v03F0p3312*
+ ID_MODEL_FROM_DATABASE=OfficeJet J6410
+
+usb:v03F0p3317*
+ ID_MODEL_FROM_DATABASE=LaserJet 3052
+
+usb:v03F0p3402*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 1115
+
+usb:v03F0p3404*
+ ID_MODEL_FROM_DATABASE=DeskJet 6122
+
+usb:v03F0p3417*
+ ID_MODEL_FROM_DATABASE=LaserJet 3055
+
+usb:v03F0p3502*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 230
+
+usb:v03F0p3504*
+ ID_MODEL_FROM_DATABASE=DeskJet 6127c
+
+usb:v03F0p3511*
+ ID_MODEL_FROM_DATABASE=PSC 2300
+
+usb:v03F0p3517*
+ ID_MODEL_FROM_DATABASE=LaserJet 3390
+
+usb:v03F0p3602*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 1315
+
+usb:v03F0p3611*
+ ID_MODEL_FROM_DATABASE=PSC 2410 PhotoSmart
+
+usb:v03F0p3617*
+ ID_MODEL_FROM_DATABASE=Color LaserJet 2605
+
+usb:v03F0p3711*
+ ID_MODEL_FROM_DATABASE=PSC 2500
+
+usb:v03F0p3717*
+ ID_MODEL_FROM_DATABASE=EWS UPD
+
+usb:v03F0p3724*
+ ID_MODEL_FROM_DATABASE=Webcam
+
+usb:v03F0p3802*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 100
+
+usb:v03F0p3807*
+ ID_MODEL_FROM_DATABASE=c485w Flash Drive
+
+usb:v03F0p3817*
+ ID_MODEL_FROM_DATABASE=LaserJet P2015 series
+
+usb:v03F0p3902*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 130
+
+usb:v03F0p3A02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7150
+
+usb:v03F0p3A11*
+ ID_MODEL_FROM_DATABASE=OfficeJet 5500 series
+
+usb:v03F0p3A17*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v03F0p3B02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7150~
+
+usb:v03F0p3B05*
+ ID_MODEL_FROM_DATABASE=Scanjet N8460
+
+usb:v03F0p3B11*
+ ID_MODEL_FROM_DATABASE=PSC 1300 series
+
+usb:v03F0p3B17*
+ ID_MODEL_FROM_DATABASE=LaserJet M1005 MFP
+
+usb:v03F0p3C02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7350
+
+usb:v03F0p3C11*
+ ID_MODEL_FROM_DATABASE=PSC 1358
+
+usb:v03F0p3C17*
+ ID_MODEL_FROM_DATABASE=EWS UPD
+
+usb:v03F0p3D02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7350~
+
+usb:v03F0p3D11*
+ ID_MODEL_FROM_DATABASE=OfficeJet 4215
+
+usb:v03F0p3D17*
+ ID_MODEL_FROM_DATABASE=LaserJet P1005
+
+usb:v03F0p3E02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7550
+
+usb:v03F0p3E17*
+ ID_MODEL_FROM_DATABASE=LaserJet P1006
+
+usb:v03F0p3F02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7550~
+
+usb:v03F0p3F11*
+ ID_MODEL_FROM_DATABASE=PSC-1315/PSC-1317
+
+usb:v03F0p4002*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 635/715/720/735/935 (storage)
+
+usb:v03F0p4004*
+ ID_MODEL_FROM_DATABASE=cp1160
+
+usb:v03F0p4102*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 618
+
+usb:v03F0p4105*
+ ID_MODEL_FROM_DATABASE=ScanJet 4370
+
+usb:v03F0p4111*
+ ID_MODEL_FROM_DATABASE=OfficeJet 7200 series
+
+usb:v03F0p4117*
+ ID_MODEL_FROM_DATABASE=LaserJet 1018
+
+usb:v03F0p4202*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 812
+
+usb:v03F0p4205*
+ ID_MODEL_FROM_DATABASE=ScanJet G3010
+
+usb:v03F0p4211*
+ ID_MODEL_FROM_DATABASE=OfficeJet 7300 series
+
+usb:v03F0p4217*
+ ID_MODEL_FROM_DATABASE=EWS CM1015
+
+usb:v03F0p4302*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 850 (ptp)
+
+usb:v03F0p4305*
+ ID_MODEL_FROM_DATABASE=ScanJet G3110
+
+usb:v03F0p4311*
+ ID_MODEL_FROM_DATABASE=OfficeJet 7400 series
+
+usb:v03F0p4317*
+ ID_MODEL_FROM_DATABASE=Color LaserJet CM1017
+
+usb:v03F0p4402*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 935 (ptp)
+
+usb:v03F0p4417*
+ ID_MODEL_FROM_DATABASE=EWS UPD
+
+usb:v03F0p4502*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 945 (PTP mode)
+
+usb:v03F0p4505*
+ ID_MODEL_FROM_DATABASE=ScanJet G4010
+
+usb:v03F0p4507*
+ ID_MODEL_FROM_DATABASE=External HDD
+
+usb:v03F0p4511*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 2600
+
+usb:v03F0p4512*
+ ID_MODEL_FROM_DATABASE=E709n [Officejet 6500 Wireless]
+
+usb:v03F0p4517*
+ ID_MODEL_FROM_DATABASE=EWS UPD
+
+usb:v03F0p4605*
+ ID_MODEL_FROM_DATABASE=ScanJet G4050
+
+usb:v03F0p4611*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 2700
+
+usb:v03F0p4717*
+ ID_MODEL_FROM_DATABASE=Color LaserJet CP1215
+
+usb:v03F0p4811*
+ ID_MODEL_FROM_DATABASE=PSC 1600
+
+usb:v03F0p4911*
+ ID_MODEL_FROM_DATABASE=PSC 2350
+
+usb:v03F0p4B11*
+ ID_MODEL_FROM_DATABASE=OfficeJet 6200
+
+usb:v03F0p4C11*
+ ID_MODEL_FROM_DATABASE=PSC 1500 series
+
+usb:v03F0p4C17*
+ ID_MODEL_FROM_DATABASE=EWS UPD
+
+usb:v03F0p4D11*
+ ID_MODEL_FROM_DATABASE=PSC 1400
+
+usb:v03F0p4D17*
+ ID_MODEL_FROM_DATABASE=EWS UPD
+
+usb:v03F0p4E11*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 2570 series
+
+usb:v03F0p4F11*
+ ID_MODEL_FROM_DATABASE=OfficeJet 5600 (USBHUB)
+
+usb:v03F0p4F17*
+ ID_MODEL_FROM_DATABASE=Color LaserJet CM1312 MFP
+
+usb:v03F0p5004*
+ ID_MODEL_FROM_DATABASE=DeskJet 995c
+
+usb:v03F0p5011*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 3100 series
+
+usb:v03F0p5017*
+ ID_MODEL_FROM_DATABASE=EWS UPD
+
+usb:v03F0p5111*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 3200 series
+
+usb:v03F0p5211*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 3300 series
+
+usb:v03F0p5311*
+ ID_MODEL_FROM_DATABASE=OfficeJet 6300
+
+usb:v03F0p5312*
+ ID_MODEL_FROM_DATABASE=Officejet Pro 8500A
+
+usb:v03F0p5411*
+ ID_MODEL_FROM_DATABASE=OfficeJet 4300
+
+usb:v03F0p5511*
+ ID_MODEL_FROM_DATABASE=DeskJet F300 series
+
+usb:v03F0p5611*
+ ID_MODEL_FROM_DATABASE=PhotoSmart C3180
+
+usb:v03F0p5617*
+ ID_MODEL_FROM_DATABASE=LaserJet M1120 MFP
+
+usb:v03F0p5711*
+ ID_MODEL_FROM_DATABASE=PhotoSmart C4100 series
+
+usb:v03F0p5717*
+ ID_MODEL_FROM_DATABASE=LaserJet M1120n MFP
+
+usb:v03F0p5811*
+ ID_MODEL_FROM_DATABASE=PhotoSmart C5100 series
+
+usb:v03F0p5817*
+ ID_MODEL_FROM_DATABASE=LaserJet M1319f MFP
+
+usb:v03F0p5911*
+ ID_MODEL_FROM_DATABASE=PhotoSmart C6180
+
+usb:v03F0p5A11*
+ ID_MODEL_FROM_DATABASE=PhotoSmart C7100 series
+
+usb:v03F0p5B11*
+ ID_MODEL_FROM_DATABASE=OfficeJet J2100 series
+
+usb:v03F0p5C11*
+ ID_MODEL_FROM_DATABASE=PhotoSmart C4200 Printer series
+
+usb:v03F0p5C12*
+ ID_MODEL_FROM_DATABASE=OfficeJet 6700
+
+usb:v03F0p5C17*
+ ID_MODEL_FROM_DATABASE=LaserJet P2055 series
+
+usb:v03F0p5D11*
+ ID_MODEL_FROM_DATABASE=PhotoSmart C5200 series
+
+usb:v03F0p5E11*
+ ID_MODEL_FROM_DATABASE=PhotoSmart D7400 series
+
+usb:v03F0p6004*
+ ID_MODEL_FROM_DATABASE=DeskJet 5550
+
+usb:v03F0p6102*
+ ID_MODEL_FROM_DATABASE=Hewlett Packard Digital Camera
+
+usb:v03F0p6104*
+ ID_MODEL_FROM_DATABASE=DeskJet 5650c
+
+usb:v03F0p6117*
+ ID_MODEL_FROM_DATABASE=color LaserJet 3550
+
+usb:v03F0p6202*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 215
+
+usb:v03F0p6204*
+ ID_MODEL_FROM_DATABASE=DeskJet 5150c
+
+usb:v03F0p6217*
+ ID_MODEL_FROM_DATABASE=Color LaserJet 4700
+
+usb:v03F0p6302*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 318/612
+
+usb:v03F0p6317*
+ ID_MODEL_FROM_DATABASE=Color LaserJet 4730mfp
+
+usb:v03F0p6402*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 715 (ptp)
+
+usb:v03F0p6411*
+ ID_MODEL_FROM_DATABASE=PhotoSmart C8100 series
+
+usb:v03F0p6417*
+ ID_MODEL_FROM_DATABASE=LaserJet 5200
+
+usb:v03F0p6502*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 120 (ptp)
+
+usb:v03F0p6511*
+ ID_MODEL_FROM_DATABASE=PhotoSmart C7200 series
+
+usb:v03F0p6602*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 320
+
+usb:v03F0p6611*
+ ID_MODEL_FROM_DATABASE=PhotoSmart C4380 series
+
+usb:v03F0p6617*
+ ID_MODEL_FROM_DATABASE=LaserJet 5200L
+
+usb:v03F0p6702*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 720 (ptp)
+
+usb:v03F0p6717*
+ ID_MODEL_FROM_DATABASE=Color LaserJet 3000
+
+usb:v03F0p6802*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 620 (ptp)
+
+usb:v03F0p6811*
+ ID_MODEL_FROM_DATABASE=PhotoSmart D5300 series
+
+usb:v03F0p6817*
+ ID_MODEL_FROM_DATABASE=Color LaserJet 3800
+
+usb:v03F0p6911*
+ ID_MODEL_FROM_DATABASE=PhotoSmart D7200 series
+
+usb:v03F0p6917*
+ ID_MODEL_FROM_DATABASE=Color LaserJet 3600
+
+usb:v03F0p6A02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 735 (ptp)
+
+usb:v03F0p6A11*
+ ID_MODEL_FROM_DATABASE=PhotoSmart C6200 series
+
+usb:v03F0p6A17*
+ ID_MODEL_FROM_DATABASE=LaserJet 4240
+
+usb:v03F0p6B02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart R707 (PTP mode)
+
+usb:v03F0p6B11*
+ ID_MODEL_FROM_DATABASE=Photosmart C4500 series
+
+usb:v03F0p6C17*
+ ID_MODEL_FROM_DATABASE=Color LaserJet 4610
+
+usb:v03F0p6F17*
+ ID_MODEL_FROM_DATABASE=Color LaserJet CP6015 series
+
+usb:v03F0p7004*
+ ID_MODEL_FROM_DATABASE=DeskJet 3320c
+
+usb:v03F0p7102*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 635 (PTP mode)
+
+usb:v03F0p7104*
+ ID_MODEL_FROM_DATABASE=DeskJet 3420c
+
+usb:v03F0p7117*
+ ID_MODEL_FROM_DATABASE=CM8060 Color MFP with Edgeline Technology
+
+usb:v03F0p7202*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 43x (ptp)
+
+usb:v03F0p7204*
+ ID_MODEL_FROM_DATABASE=DeskJet 36xx
+
+usb:v03F0p7217*
+ ID_MODEL_FROM_DATABASE=LaserJet M5035 MFP
+
+usb:v03F0p7302*
+ ID_MODEL_FROM_DATABASE=PhotoSmart M307 (PTP mode)
+
+usb:v03F0p7304*
+ ID_MODEL_FROM_DATABASE=DeskJet 35xx
+
+usb:v03F0p7311*
+ ID_MODEL_FROM_DATABASE=Photosmart Premium C309
+
+usb:v03F0p7317*
+ ID_MODEL_FROM_DATABASE=LaserJet P3005
+
+usb:v03F0p7404*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v03F0p7417*
+ ID_MODEL_FROM_DATABASE=LaserJet M4345 MFP
+
+usb:v03F0p7504*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v03F0p7517*
+ ID_MODEL_FROM_DATABASE=LaserJet M3035 MFP
+
+usb:v03F0p7604*
+ ID_MODEL_FROM_DATABASE=DeskJet 3940
+
+usb:v03F0p7611*
+ ID_MODEL_FROM_DATABASE=DeskJet F2492 All-in-One
+
+usb:v03F0p7617*
+ ID_MODEL_FROM_DATABASE=LaserJet P3004
+
+usb:v03F0p7702*
+ ID_MODEL_FROM_DATABASE=PhotoSmart R817 (PTP mode)
+
+usb:v03F0p7704*
+ ID_MODEL_FROM_DATABASE=DeskJet D4100
+
+usb:v03F0p7717*
+ ID_MODEL_FROM_DATABASE=CM8050 Color MFP with Edgeline Technology
+
+usb:v03F0p7804*
+ ID_MODEL_FROM_DATABASE=DeskJet D1360
+
+usb:v03F0p7817*
+ ID_MODEL_FROM_DATABASE=Color LaserJet CP3505
+
+usb:v03F0p7917*
+ ID_MODEL_FROM_DATABASE=LaserJet M5025 MFP
+
+usb:v03F0p7A02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart M415 (PTP mode)
+
+usb:v03F0p7A04*
+ ID_MODEL_FROM_DATABASE=DeskJet D2460
+
+usb:v03F0p7A17*
+ ID_MODEL_FROM_DATABASE=LaserJet M3027 MFP
+
+usb:v03F0p7B02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart M23 (PTP mode)
+
+usb:v03F0p7B17*
+ ID_MODEL_FROM_DATABASE=Color LaserJet CP4005
+
+usb:v03F0p7C17*
+ ID_MODEL_FROM_DATABASE=Color LaserJet CM6040 series
+
+usb:v03F0p7D04*
+ ID_MODEL_FROM_DATABASE=DeskJet F2100 Printer series
+
+usb:v03F0p7D17*
+ ID_MODEL_FROM_DATABASE=Color LaserJet CM4730 MFP
+
+usb:v03F0p7E04*
+ ID_MODEL_FROM_DATABASE=DeskJet F4100 Printer series
+
+usb:v03F0p8017*
+ ID_MODEL_FROM_DATABASE=LaserJet P4515
+
+usb:v03F0p8104*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v03F0p8117*
+ ID_MODEL_FROM_DATABASE=LaserJet P4015
+
+usb:v03F0p811C*
+ ID_MODEL_FROM_DATABASE=Ethernet HN210E
+
+usb:v03F0p8204*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v03F0p8207*
+ ID_MODEL_FROM_DATABASE=FHA-3510 2.4GHz Wireless Optical Mobile Mouse
+
+usb:v03F0p8217*
+ ID_MODEL_FROM_DATABASE=LaserJet P4014
+
+usb:v03F0p8317*
+ ID_MODEL_FROM_DATABASE=LaserJet M9050 MFP
+
+usb:v03F0p8404*
+ ID_MODEL_FROM_DATABASE=DeskJet 6800 series
+
+usb:v03F0p8417*
+ ID_MODEL_FROM_DATABASE=LaserJet M9040 MFP
+
+usb:v03F0p8504*
+ ID_MODEL_FROM_DATABASE=DeskJet 6600 series
+
+usb:v03F0p8604*
+ ID_MODEL_FROM_DATABASE=DeskJet 5440
+
+usb:v03F0p8607*
+ ID_MODEL_FROM_DATABASE=Optical Mobile Mouse
+
+usb:v03F0p8704*
+ ID_MODEL_FROM_DATABASE=DeskJet 5940
+
+usb:v03F0p8711*
+ ID_MODEL_FROM_DATABASE=Deskjet 2050 J510
+
+usb:v03F0p8804*
+ ID_MODEL_FROM_DATABASE=DeskJet 6980 series
+
+usb:v03F0p8904*
+ ID_MODEL_FROM_DATABASE=DeskJet 6940 series
+
+usb:v03F0p8C07*
+ ID_MODEL_FROM_DATABASE=Digital Stereo Headset
+
+usb:v03F0p8C11*
+ ID_MODEL_FROM_DATABASE=Deskjet F4500 series
+
+usb:v03F0p9002*
+ ID_MODEL_FROM_DATABASE=PhotoSmart M437
+
+usb:v03F0p9102*
+ ID_MODEL_FROM_DATABASE=PhotoSmart M537
+
+usb:v03F0p9302*
+ ID_MODEL_FROM_DATABASE=PhotoSmart R930 series
+
+usb:v03F0p9402*
+ ID_MODEL_FROM_DATABASE=PhotoSmart R837
+
+usb:v03F0p9502*
+ ID_MODEL_FROM_DATABASE=PhotoSmart R840 series
+
+usb:v03F0p9602*
+ ID_MODEL_FROM_DATABASE=PhotoSmart M730 series
+
+usb:v03F0p9702*
+ ID_MODEL_FROM_DATABASE=PhotoSmart R740 series
+
+usb:v03F0p9802*
+ ID_MODEL_FROM_DATABASE=PhotoSmart Mz60 series
+
+usb:v03F0p9902*
+ ID_MODEL_FROM_DATABASE=PhotoSmart M630 series
+
+usb:v03F0p9A02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart E330 series
+
+usb:v03F0p9B02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart M540 series
+
+usb:v03F0p9B07*
+ ID_MODEL_FROM_DATABASE=Portable Drive
+
+usb:v03F0p9C02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart M440 series
+
+usb:v03F0pA004*
+ ID_MODEL_FROM_DATABASE=DeskJet 5850c
+
+usb:v03F0pA011*
+ ID_MODEL_FROM_DATABASE=Deskjet 3050A
+
+usb:v03F0pB002*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7200 series
+
+usb:v03F0pB102*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7200 series
+
+usb:v03F0pB107*
+ ID_MODEL_FROM_DATABASE=v255w/c310w Flash Drive
+
+usb:v03F0pB116*
+ ID_MODEL_FROM_DATABASE=Webcam
+
+usb:v03F0pB202*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7600 series
+
+usb:v03F0pB302*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7600 series
+
+usb:v03F0pB402*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7700 series
+
+usb:v03F0pB502*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7700 series
+
+usb:v03F0pB602*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7900 series
+
+usb:v03F0pB702*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7900 series
+
+usb:v03F0pB802*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7400 series
+
+usb:v03F0pB902*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7800 series
+
+usb:v03F0pBA02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 8100 series
+
+usb:v03F0pBB02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 8400 series
+
+usb:v03F0pBC02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 8700 series
+
+usb:v03F0pBD02*
+ ID_MODEL_FROM_DATABASE=PhotoSmart Pro B9100 series
+
+usb:v03F0pBEF4*
+ ID_MODEL_FROM_DATABASE=NEC Picty760
+
+usb:v03F0pC002*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 7800 series
+
+usb:v03F0pC102*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 8000 series
+
+usb:v03F0pC202*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 8200 series
+
+usb:v03F0pC302*
+ ID_MODEL_FROM_DATABASE=DeskJet D2300
+
+usb:v03F0pC402*
+ ID_MODEL_FROM_DATABASE=PhotoSmart D5100 series
+
+usb:v03F0pC502*
+ ID_MODEL_FROM_DATABASE=PhotoSmart D6100 series
+
+usb:v03F0pC602*
+ ID_MODEL_FROM_DATABASE=PhotoSmart D7100 series
+
+usb:v03F0pC702*
+ ID_MODEL_FROM_DATABASE=PhotoSmart D7300 series
+
+usb:v03F0pC802*
+ ID_MODEL_FROM_DATABASE=PhotoSmart D5060 Printer
+
+usb:v03F0pD104*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle
+
+usb:v03F0pEFBE*
+ ID_MODEL_FROM_DATABASE=NEC Picty900
+
+usb:v03F0pF0BE*
+ ID_MODEL_FROM_DATABASE=NEC Picty920
+
+usb:v03F0pF1BE*
+ ID_MODEL_FROM_DATABASE=NEC Picty800
+
+usb:v03F1*
+ ID_VENDOR_FROM_DATABASE=Genoa Technology
+
+usb:v03F2*
+ ID_VENDOR_FROM_DATABASE=Oak Technology, Inc.
+
+usb:v03F3*
+ ID_VENDOR_FROM_DATABASE=Adaptec, Inc.
+
+usb:v03F3p0020*
+ ID_MODEL_FROM_DATABASE=AWN-8020 WLAN [Intersil PRISM 2.5]
+
+usb:v03F3p0080*
+ ID_MODEL_FROM_DATABASE=AVC-1100 Audio Capture
+
+usb:v03F3p0083*
+ ID_MODEL_FROM_DATABASE=AVC-2200 Device
+
+usb:v03F3p0087*
+ ID_MODEL_FROM_DATABASE=AVC-2210 Loader
+
+usb:v03F3p0088*
+ ID_MODEL_FROM_DATABASE=AVC-2210 Device
+
+usb:v03F3p008B*
+ ID_MODEL_FROM_DATABASE=AVC-2310 Loader
+
+usb:v03F3p008C*
+ ID_MODEL_FROM_DATABASE=AVC-2310 Device
+
+usb:v03F3p0094*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v03F3p009B*
+ ID_MODEL_FROM_DATABASE=AVC-1410 GameBridge TV NTSC
+
+usb:v03F3p2000*
+ ID_MODEL_FROM_DATABASE=USBXchange
+
+usb:v03F3p2001*
+ ID_MODEL_FROM_DATABASE=USBXchange Adapter
+
+usb:v03F3p2002*
+ ID_MODEL_FROM_DATABASE=USB2-Xchange
+
+usb:v03F3p2003*
+ ID_MODEL_FROM_DATABASE=USB2-Xchange Adapter
+
+usb:v03F3p4000*
+ ID_MODEL_FROM_DATABASE=4-port hub
+
+usb:v03F3pADCC*
+ ID_MODEL_FROM_DATABASE=Composite Device Support
+
+usb:v03F4*
+ ID_VENDOR_FROM_DATABASE=Diebold, Inc.
+
+usb:v03F5*
+ ID_VENDOR_FROM_DATABASE=Siemens Electromechanical
+
+usb:v03F8*
+ ID_VENDOR_FROM_DATABASE=Epson Imaging Technology Center
+
+usb:v03F9*
+ ID_VENDOR_FROM_DATABASE=KeyTronic Corp.
+
+usb:v03F9p0100*
+ ID_MODEL_FROM_DATABASE=KT-2001 Keyboard
+
+usb:v03F9p0101*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v03F9p0102*
+ ID_MODEL_FROM_DATABASE=Keyboard Mouse
+
+usb:v03FB*
+ ID_VENDOR_FROM_DATABASE=OPTi, Inc.
+
+usb:v03FC*
+ ID_VENDOR_FROM_DATABASE=Elitegroup Computer Systems
+
+usb:v03FD*
+ ID_VENDOR_FROM_DATABASE=Xilinx, Inc.
+
+usb:v03FE*
+ ID_VENDOR_FROM_DATABASE=Farallon Comunications
+
+usb:v0400*
+ ID_VENDOR_FROM_DATABASE=National Semiconductor Corp.
+
+usb:v0400p05DC*
+ ID_MODEL_FROM_DATABASE=Rigol Technologies DS1000USB Oscilloscope
+
+usb:v0400p0807*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle
+
+usb:v0400p080A*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0400p09C4*
+ ID_MODEL_FROM_DATABASE=Rigol Technologies DG1022 Arbitrary Waveform Generator
+
+usb:v0400p1000*
+ ID_MODEL_FROM_DATABASE=Mustek BearPaw 1200 Scanner
+
+usb:v0400p1001*
+ ID_MODEL_FROM_DATABASE=Mustek BearPaw 2400 Scanner
+
+usb:v0400p1237*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v0400pA000*
+ ID_MODEL_FROM_DATABASE=Smart Display Reference Device
+
+usb:v0400pC359*
+ ID_MODEL_FROM_DATABASE=Logitech Harmony
+
+usb:v0400pC35B*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v0400pC55D*
+ ID_MODEL_FROM_DATABASE=Rigol Technologies DS5000USB Oscilloscope
+
+usb:v0401*
+ ID_VENDOR_FROM_DATABASE=National Registry, Inc.
+
+usb:v0402*
+ ID_VENDOR_FROM_DATABASE=ALi Corp.
+
+usb:v0402p5462*
+ ID_MODEL_FROM_DATABASE=M5462 IDE Controller
+
+usb:v0402p5602*
+ ID_MODEL_FROM_DATABASE=M5602 Video Camera Controller
+
+usb:v0402p5603*
+ ID_MODEL_FROM_DATABASE=M5603 Video Camera Controller
+
+usb:v0402p5606*
+ ID_MODEL_FROM_DATABASE=M5606 Video Camera Controller [UVC]
+
+usb:v0402p5621*
+ ID_MODEL_FROM_DATABASE=M5621 High-Speed IDE Controller
+
+usb:v0402p5623*
+ ID_MODEL_FROM_DATABASE=M5623 Scanner Controller
+
+usb:v0402p5627*
+ ID_MODEL_FROM_DATABASE=Welland ME-740PS USB2 3.5" Power Saving Enclosure
+
+usb:v0402p5632*
+ ID_MODEL_FROM_DATABASE=M5632 Host-to-Host Link
+
+usb:v0402p5635*
+ ID_MODEL_FROM_DATABASE=M5635 Flash Card Reader
+
+usb:v0402p5636*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Storage Device
+
+usb:v0402p5637*
+ ID_MODEL_FROM_DATABASE=M5637 IDE Controller
+
+usb:v0402p5661*
+ ID_MODEL_FROM_DATABASE=M5661 MP3 player
+
+usb:v0402p5667*
+ ID_MODEL_FROM_DATABASE=M5667 MP3 player
+
+usb:v0402p9665*
+ ID_MODEL_FROM_DATABASE=Gateway Webcam
+
+usb:v0403*
+ ID_VENDOR_FROM_DATABASE=Future Technology Devices International, Ltd
+
+usb:v0403p0000*
+ ID_MODEL_FROM_DATABASE=H4SMK 7 Port Hub
+
+usb:v0403p0232*
+ ID_MODEL_FROM_DATABASE=Serial Converter
+
+usb:v0403p1060*
+ ID_MODEL_FROM_DATABASE=JTAG adapter
+
+usb:v0403p6001*
+ ID_MODEL_FROM_DATABASE=FT232 USB-Serial (UART) IC
+
+usb:v0403p6002*
+ ID_MODEL_FROM_DATABASE=Lumel PD12
+
+usb:v0403p6007*
+ ID_MODEL_FROM_DATABASE=Serial Converter
+
+usb:v0403p6008*
+ ID_MODEL_FROM_DATABASE=Serial Converter
+
+usb:v0403p6009*
+ ID_MODEL_FROM_DATABASE=Serial Converter
+
+usb:v0403p6010*
+ ID_MODEL_FROM_DATABASE=FT2232C Dual USB-UART/FIFO IC
+
+usb:v0403p6011*
+ ID_MODEL_FROM_DATABASE=FT4232H Quad HS USB-UART/FIFO IC
+
+usb:v0403p6014*
+ ID_MODEL_FROM_DATABASE=FT232H Single HS USB-UART/FIFO IC
+
+usb:v0403p6015*
+ ID_MODEL_FROM_DATABASE=Bridge(I2C/SPI/UART/FIFO)
+
+usb:v0403p8028*
+ ID_MODEL_FROM_DATABASE=Dev board JTAG (FT232H based)
+
+usb:v0403p8040*
+ ID_MODEL_FROM_DATABASE=4 Port Hub
+
+usb:v0403p8070*
+ ID_MODEL_FROM_DATABASE=7 Port Hub
+
+usb:v0403p8370*
+ ID_MODEL_FROM_DATABASE=7 Port Hub
+
+usb:v0403p8371*
+ ID_MODEL_FROM_DATABASE=PS/2 Keyboard And Mouse
+
+usb:v0403p8372*
+ ID_MODEL_FROM_DATABASE=FT8U100AX Serial Port
+
+usb:v0403p8A28*
+ ID_MODEL_FROM_DATABASE=Rainforest Automation ZigBee Controller
+
+usb:v0403p8A98*
+ ID_MODEL_FROM_DATABASE=TIAO Multi-Protocol Adapter
+
+usb:v0403p9E90*
+ ID_MODEL_FROM_DATABASE=Marvell OpenRD Base/Client
+
+usb:v0403p9F80*
+ ID_MODEL_FROM_DATABASE=Ewert Energy Systems CANdapter
+
+usb:v0403pA6D0*
+ ID_MODEL_FROM_DATABASE=Texas Instruments XDS100v2 JTAG / BeagleBone A3
+
+usb:v0403pA951*
+ ID_MODEL_FROM_DATABASE=HCP HIT GSM/GPRS modem [Cinterion MC55i]
+
+usb:v0403pABB8*
+ ID_MODEL_FROM_DATABASE=Lego Mindstorms NXTCam
+
+usb:v0403pB810*
+ ID_MODEL_FROM_DATABASE=US Interface Navigator (CAT and 2nd PTT lines)
+
+usb:v0403pB811*
+ ID_MODEL_FROM_DATABASE=US Interface Navigator (WKEY and FSK lines)
+
+usb:v0403pB812*
+ ID_MODEL_FROM_DATABASE=US Interface Navigator (RS232 and CONFIG lines)
+
+usb:v0403pB9B0*
+ ID_MODEL_FROM_DATABASE=Fujitsu SK-16FX-100PMC V1.1
+
+usb:v0403pBAF8*
+ ID_MODEL_FROM_DATABASE=Amontec JTAGkey
+
+usb:v0403pBCD8*
+ ID_MODEL_FROM_DATABASE=Stellaris Development Board
+
+usb:v0403pBCD9*
+ ID_MODEL_FROM_DATABASE=Stellaris Evaluation Board
+
+usb:v0403pBCDA*
+ ID_MODEL_FROM_DATABASE=Stellaris ICDI Board
+
+usb:v0403pBDC8*
+ ID_MODEL_FROM_DATABASE=Egnite GmbH - JTAG/RS-232 adapter
+
+usb:v0403pBFD8*
+ ID_MODEL_FROM_DATABASE=OpenDCC
+
+usb:v0403pBFD9*
+ ID_MODEL_FROM_DATABASE=OpenDCC (Sniffer)
+
+usb:v0403pBFDA*
+ ID_MODEL_FROM_DATABASE=OpenDCC (Throttle)
+
+usb:v0403pBFDB*
+ ID_MODEL_FROM_DATABASE=OpenDCC (Gateway)
+
+usb:v0403pBFDC*
+ ID_MODEL_FROM_DATABASE=OpenDCC (GBM)
+
+usb:v0403pC630*
+ ID_MODEL_FROM_DATABASE=lcd2usb interface
+
+usb:v0403pC631*
+ ID_MODEL_FROM_DATABASE=i2c-tiny-usb interface
+
+usb:v0403pC632*
+ ID_MODEL_FROM_DATABASE=xu1541 c64 floppy drive interface
+
+usb:v0403pC633*
+ ID_MODEL_FROM_DATABASE=TinyCrypt dongle
+
+usb:v0403pC634*
+ ID_MODEL_FROM_DATABASE=glcd2usb interface
+
+usb:v0403pC7D0*
+ ID_MODEL_FROM_DATABASE=RR-CirKits LocoBuffer-USB
+
+usb:v0403pC8B8*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte MTD TCU
+
+usb:v0403pC8B9*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte MTD TCU 1HE
+
+usb:v0403pC8BA*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte Rubidium H1
+
+usb:v0403pC8BB*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte Rubidium H3
+
+usb:v0403pC8BC*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte Rubidium S1
+
+usb:v0403pC8BD*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte Rubidium T1
+
+usb:v0403pC8BE*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte Rubidium D1
+
+usb:v0403pCC48*
+ ID_MODEL_FROM_DATABASE=Tactrix OpenPort 1.3 Mitsubishi
+
+usb:v0403pCC49*
+ ID_MODEL_FROM_DATABASE=Tactrix OpenPort 1.3 Subaru
+
+usb:v0403pCC4A*
+ ID_MODEL_FROM_DATABASE=Tactrix OpenPort 1.3 Universal
+
+usb:v0403pCFF8*
+ ID_MODEL_FROM_DATABASE=Amontec JTAGkey
+
+usb:v0403pD010*
+ ID_MODEL_FROM_DATABASE=SCS PTC-IIusb
+
+usb:v0403pD011*
+ ID_MODEL_FROM_DATABASE=SCS Position-Tracker/TNC
+
+usb:v0403pD012*
+ ID_MODEL_FROM_DATABASE=SCS DRAGON 1
+
+usb:v0403pD013*
+ ID_MODEL_FROM_DATABASE=SCS DRAGON 1
+
+usb:v0403pD491*
+ ID_MODEL_FROM_DATABASE=Zolix Omni 1509 monochromator
+
+usb:v0403pD578*
+ ID_MODEL_FROM_DATABASE=Accesio USB-COM-4SM
+
+usb:v0403pD6F8*
+ ID_MODEL_FROM_DATABASE=UNI Black BOX
+
+usb:v0403pD738*
+ ID_MODEL_FROM_DATABASE=Propox JTAGcable II
+
+usb:v0403pD739*
+ ID_MODEL_FROM_DATABASE=Propox ISPcable III
+
+usb:v0403pD9A9*
+ ID_MODEL_FROM_DATABASE=Actisense USG-1 NMEA Serial Gateway
+
+usb:v0403pD9AA*
+ ID_MODEL_FROM_DATABASE=Actisense NGT-1 NMEA2000 PC Interface
+
+usb:v0403pE0D0*
+ ID_MODEL_FROM_DATABASE=Total Phase Aardvark I2C/SPI Host Adapter
+
+usb:v0403pE521*
+ ID_MODEL_FROM_DATABASE=EVER Sinline XL Series UPS
+
+usb:v0403pE6C8*
+ ID_MODEL_FROM_DATABASE=PYRAMID Computer GmbH LCD
+
+usb:v0403pE700*
+ ID_MODEL_FROM_DATABASE=Elster Unicom III Optical Probe
+
+usb:v0403pE729*
+ ID_MODEL_FROM_DATABASE=Segway Robotic Mobility Platforms 200
+
+usb:v0403pE888*
+ ID_MODEL_FROM_DATABASE=Expert ISDN Control USB
+
+usb:v0403pE889*
+ ID_MODEL_FROM_DATABASE=USB-RS232 OptoBridge
+
+usb:v0403pE88A*
+ ID_MODEL_FROM_DATABASE=Expert mouseCLOCK USB II
+
+usb:v0403pE88B*
+ ID_MODEL_FROM_DATABASE=Precision Clock MSF USB
+
+usb:v0403pE88C*
+ ID_MODEL_FROM_DATABASE=Expert mouseCLOCK USB II HBG
+
+usb:v0403pE8D8*
+ ID_MODEL_FROM_DATABASE=Aaronia AG Spectran Spectrum Analyzer
+
+usb:v0403pE8DC*
+ ID_MODEL_FROM_DATABASE=Aaronia AG UBBV Preamplifier
+
+usb:v0403pEA90*
+ ID_MODEL_FROM_DATABASE=Eclo 1-Wire Adapter
+
+usb:v0403pED71*
+ ID_MODEL_FROM_DATABASE=HAMEG HO870 Serial Port
+
+usb:v0403pED72*
+ ID_MODEL_FROM_DATABASE=HAMEG HO720 Serial Port
+
+usb:v0403pED73*
+ ID_MODEL_FROM_DATABASE=HAMEG HO730 Serial Port
+
+usb:v0403pED74*
+ ID_MODEL_FROM_DATABASE=HAMEG HO820 Serial Port
+
+usb:v0403pEF10*
+ ID_MODEL_FROM_DATABASE=FT1245BL
+
+usb:v0403pF070*
+ ID_MODEL_FROM_DATABASE=Serial Converter 422/485 [Vardaan VEUSB422R3]
+
+usb:v0403pF1A0*
+ ID_MODEL_FROM_DATABASE=Asix PRESTO Programmer
+
+usb:v0403pF208*
+ ID_MODEL_FROM_DATABASE=Papenmeier Braille-Display
+
+usb:v0403pF3C0*
+ ID_MODEL_FROM_DATABASE=4N-GALAXY Serial Converter
+
+usb:v0403pF608*
+ ID_MODEL_FROM_DATABASE=CTI USB-485-Mini
+
+usb:v0403pF60B*
+ ID_MODEL_FROM_DATABASE=CTI USB-Nano-485
+
+usb:v0403pF680*
+ ID_MODEL_FROM_DATABASE=Suunto Sports Instrument
+
+usb:v0403pF758*
+ ID_MODEL_FROM_DATABASE=GW Instek GDS-8x0 Oscilloscope
+
+usb:v0403pF7C0*
+ ID_MODEL_FROM_DATABASE=ZeitControl Cardsystems TagTracer MIFARE
+
+usb:v0403pF850*
+ ID_MODEL_FROM_DATABASE=USB-UIRT (Universal Infrared Receiver+Transmitter)
+
+usb:v0403pF918*
+ ID_MODEL_FROM_DATABASE=Ant8 Logic Probe
+
+usb:v0403pFA00*
+ ID_MODEL_FROM_DATABASE=Matrix Orbital USB Serial
+
+usb:v0403pFA01*
+ ID_MODEL_FROM_DATABASE=Matrix Orbital MX2 or MX3
+
+usb:v0403pFA02*
+ ID_MODEL_FROM_DATABASE=Matrix Orbital MX4 or MX5
+
+usb:v0403pFA03*
+ ID_MODEL_FROM_DATABASE=Matrix Orbital VK/LK202 Family
+
+usb:v0403pFA04*
+ ID_MODEL_FROM_DATABASE=Matrix Orbital VK/LK204 Family
+
+usb:v0403pFA20*
+ ID_MODEL_FROM_DATABASE=Ross-Tech HEX-USB
+
+usb:v0403pFC08*
+ ID_MODEL_FROM_DATABASE=Crystalfontz CFA-632 USB LCD
+
+usb:v0403pFC09*
+ ID_MODEL_FROM_DATABASE=Crystalfontz CFA-634 USB LCD
+
+usb:v0403pFC0B*
+ ID_MODEL_FROM_DATABASE=Crystalfontz CFA-633 USB LCD
+
+usb:v0403pFC0C*
+ ID_MODEL_FROM_DATABASE=Crystalfontz CFA-631 USB LCD
+
+usb:v0403pFC0D*
+ ID_MODEL_FROM_DATABASE=Crystalfontz CFA-635 USB LCD
+
+usb:v0403pFC82*
+ ID_MODEL_FROM_DATABASE=SEMC DSS-20/DSS-25 SyncStation
+
+usb:v0403pFD48*
+ ID_MODEL_FROM_DATABASE=ShipModul MiniPlex-4xUSB NMEA Multiplexer
+
+usb:v0403pFD49*
+ ID_MODEL_FROM_DATABASE=ShipModul MiniPlex-4xUSB-AIS NMEA Multiplexer
+
+usb:v0403pFF08*
+ ID_MODEL_FROM_DATABASE=ToolHouse LoopBack Adapter
+
+usb:v0403pFF18*
+ ID_MODEL_FROM_DATABASE=ScienceScope Logbook ML
+
+usb:v0403pFF19*
+ ID_MODEL_FROM_DATABASE=Logbook Bus
+
+usb:v0403pFF1A*
+ ID_MODEL_FROM_DATABASE=Logbook Bus
+
+usb:v0403pFF1B*
+ ID_MODEL_FROM_DATABASE=Logbook Bus
+
+usb:v0403pFF1C*
+ ID_MODEL_FROM_DATABASE=ScienceScope Logbook LS
+
+usb:v0403pFF1D*
+ ID_MODEL_FROM_DATABASE=ScienceScope Logbook HS
+
+usb:v0403pFF1E*
+ ID_MODEL_FROM_DATABASE=Logbook Bus
+
+usb:v0403pFF1F*
+ ID_MODEL_FROM_DATABASE=Logbook Bus
+
+usb:v0404*
+ ID_VENDOR_FROM_DATABASE=NCR Corp.
+
+usb:v0404p0202*
+ ID_MODEL_FROM_DATABASE=78XX Scanner
+
+usb:v0404p0203*
+ ID_MODEL_FROM_DATABASE=78XX Scanner - Embedded System
+
+usb:v0404p0310*
+ ID_MODEL_FROM_DATABASE=K590 Printer, Self-Service
+
+usb:v0404p0311*
+ ID_MODEL_FROM_DATABASE=7167 Printer, Receipt/Slip
+
+usb:v0404p0312*
+ ID_MODEL_FROM_DATABASE=7197 Printer Receipt
+
+usb:v0404p0320*
+ ID_MODEL_FROM_DATABASE=5932-USB Keyboard
+
+usb:v0404p0321*
+ ID_MODEL_FROM_DATABASE=5953-USB Dynakey
+
+usb:v0404p0322*
+ ID_MODEL_FROM_DATABASE=5932-USB Enhanced Keyboard
+
+usb:v0404p0323*
+ ID_MODEL_FROM_DATABASE=5932-USB Enhanced Keyboard, Flash-Recovery/Download
+
+usb:v0404p0324*
+ ID_MODEL_FROM_DATABASE=5953-USB Enhanced Dynakey
+
+usb:v0404p0325*
+ ID_MODEL_FROM_DATABASE=5953-USB Enhanced Dynakey Flash-Recovery/Download
+
+usb:v0404p0328*
+ ID_MODEL_FROM_DATABASE=K016: USB-MSR ISO 3-track MSR: POS Standard (See HID pages)
+
+usb:v0404p0329*
+ ID_MODEL_FROM_DATABASE=K018: USB-MSR JIS 2-Track MSR: POS Standard
+
+usb:v0404p032A*
+ ID_MODEL_FROM_DATABASE=K016: USB-MSR ISO 3-Track MSR: HID Keyboard Mode
+
+usb:v0404p032B*
+ ID_MODEL_FROM_DATABASE=K016/K018: USB-MSR Flash-Recovery/Download
+
+usb:v0405*
+ ID_VENDOR_FROM_DATABASE=Synopsys, Inc.
+
+usb:v0406*
+ ID_VENDOR_FROM_DATABASE=Fujitsu-ICL Computers
+
+usb:v0407*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Personal Systems, Inc.
+
+usb:v0408*
+ ID_VENDOR_FROM_DATABASE=Quanta Computer, Inc.
+
+usb:v0408p0103*
+ ID_MODEL_FROM_DATABASE=FV TouchCam N1 (Audio)
+
+usb:v0408p030C*
+ ID_MODEL_FROM_DATABASE=HP Webcam
+
+usb:v0408p03B2*
+ ID_MODEL_FROM_DATABASE=HP Webcam
+
+usb:v0408p1030*
+ ID_MODEL_FROM_DATABASE=FV TouchCam N1 (Video)
+
+usb:v0408p3000*
+ ID_MODEL_FROM_DATABASE=Optical dual-touch panel
+
+usb:v0408p3001*
+ ID_MODEL_FROM_DATABASE=Optical Touch Screen
+
+usb:v0409*
+ ID_VENDOR_FROM_DATABASE=NEC Corp.
+
+usb:v0409p0011*
+ ID_MODEL_FROM_DATABASE=PC98 Series Layout Keyboard Mouse
+
+usb:v0409p0012*
+ ID_MODEL_FROM_DATABASE=ATerm IT75DSU ISDN TA
+
+usb:v0409p0014*
+ ID_MODEL_FROM_DATABASE=Japanese Keyboard
+
+usb:v0409p0019*
+ ID_MODEL_FROM_DATABASE=109 Japanese Keyboard with Bus-Powered Hub
+
+usb:v0409p001A*
+ ID_MODEL_FROM_DATABASE=PC98 Series Layout Keyboard with Bus-Powered Hub
+
+usb:v0409p0025*
+ ID_MODEL_FROM_DATABASE=Mini Keyboard with Bus-Powered Hub
+
+usb:v0409p0027*
+ ID_MODEL_FROM_DATABASE=MultiSync Monitor
+
+usb:v0409p002C*
+ ID_MODEL_FROM_DATABASE=Clik!-USB Drive
+
+usb:v0409p0034*
+ ID_MODEL_FROM_DATABASE=109 Japanese Keyboard with One-touch start buttons
+
+usb:v0409p003F*
+ ID_MODEL_FROM_DATABASE=Wireless Keyboard with One-touch start buttons
+
+usb:v0409p0040*
+ ID_MODEL_FROM_DATABASE=Floppy
+
+usb:v0409p004E*
+ ID_MODEL_FROM_DATABASE=SuperScript 1400 Series
+
+usb:v0409p004F*
+ ID_MODEL_FROM_DATABASE=Wireless Keyboard with One-touch start buttons
+
+usb:v0409p0050*
+ ID_MODEL_FROM_DATABASE=7-port hub
+
+usb:v0409p0058*
+ ID_MODEL_FROM_DATABASE=HighSpeed Hub
+
+usb:v0409p0059*
+ ID_MODEL_FROM_DATABASE=HighSpeed Hub
+
+usb:v0409p005A*
+ ID_MODEL_FROM_DATABASE=HighSpeed Hub
+
+usb:v0409p006A*
+ ID_MODEL_FROM_DATABASE=Conceptronic USB Harddisk Box
+
+usb:v0409p007D*
+ ID_MODEL_FROM_DATABASE=MINICUBE2
+
+usb:v0409p007E*
+ ID_MODEL_FROM_DATABASE=PG-FP5 Flash Memory Programmer
+
+usb:v0409p0081*
+ ID_MODEL_FROM_DATABASE=SuperScript 1400 Series
+
+usb:v0409p0082*
+ ID_MODEL_FROM_DATABASE=SuperScript 1400 Series
+
+usb:v0409p0094*
+ ID_MODEL_FROM_DATABASE=Japanese Keyboard with One-touch start buttons
+
+usb:v0409p0095*
+ ID_MODEL_FROM_DATABASE=Japanese Keyboard
+
+usb:v0409p00A9*
+ ID_MODEL_FROM_DATABASE=AtermIT21L 128K Support Standard
+
+usb:v0409p00AA*
+ ID_MODEL_FROM_DATABASE=AtermITX72 128K Support Standard
+
+usb:v0409p00AB*
+ ID_MODEL_FROM_DATABASE=AtermITX62 128K Support Standard
+
+usb:v0409p00AC*
+ ID_MODEL_FROM_DATABASE=AtermIT42 128K Support Standard
+
+usb:v0409p00AE*
+ ID_MODEL_FROM_DATABASE=INSMATEV70G-MAX Standard
+
+usb:v0409p00AF*
+ ID_MODEL_FROM_DATABASE=AtermITX70 128K Support Standard
+
+usb:v0409p00B0*
+ ID_MODEL_FROM_DATABASE=AtermITX80 128K Support Standard
+
+usb:v0409p00B2*
+ ID_MODEL_FROM_DATABASE=AtermITX80D 128K Support Standard
+
+usb:v0409p00C0*
+ ID_MODEL_FROM_DATABASE=Wireless Remocon
+
+usb:v0409p00F7*
+ ID_MODEL_FROM_DATABASE=Smart Display PK-SD10
+
+usb:v0409p011D*
+ ID_MODEL_FROM_DATABASE=e228 Mobile Phone
+
+usb:v0409p0203*
+ ID_MODEL_FROM_DATABASE=HID Audio Controls
+
+usb:v0409p021D*
+ ID_MODEL_FROM_DATABASE=Aterm WL54SU2 802.11g Wireless Adapter [Atheros AR5523]
+
+usb:v0409p0248*
+ ID_MODEL_FROM_DATABASE=Aterm PA-WL54GU
+
+usb:v0409p0249*
+ ID_MODEL_FROM_DATABASE=Aterm WL300NU-G
+
+usb:v0409p02B4*
+ ID_MODEL_FROM_DATABASE=Aterm WL300NU-AG
+
+usb:v0409p02B6*
+ ID_MODEL_FROM_DATABASE=Aterm WL300NU-GS 802.11n Wireless Adapter
+
+usb:v0409p0300*
+ ID_MODEL_FROM_DATABASE=LifeTouch Note
+
+usb:v0409p0301*
+ ID_MODEL_FROM_DATABASE=LifeTouch Note (debug mode)
+
+usb:v0409p55AA*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v0409p55AB*
+ ID_MODEL_FROM_DATABASE=Hub [iMac/iTouch kbd]
+
+usb:v0409p8010*
+ ID_MODEL_FROM_DATABASE=Intellibase Hub
+
+usb:v0409p8011*
+ ID_MODEL_FROM_DATABASE=Intellibase Hub
+
+usb:v0409pEFBE*
+ ID_MODEL_FROM_DATABASE=P!cty 900 [HP DJ]
+
+usb:v0409pF0BE*
+ ID_MODEL_FROM_DATABASE=P!cty 920 [HP DJ 812c]
+
+usb:v040A*
+ ID_VENDOR_FROM_DATABASE=Kodak Co.
+
+usb:v040Ap0001*
+ ID_MODEL_FROM_DATABASE=DVC-323
+
+usb:v040Ap0002*
+ ID_MODEL_FROM_DATABASE=DVC-325
+
+usb:v040Ap0100*
+ ID_MODEL_FROM_DATABASE=DC-220
+
+usb:v040Ap0110*
+ ID_MODEL_FROM_DATABASE=DC-260
+
+usb:v040Ap0111*
+ ID_MODEL_FROM_DATABASE=DC-265
+
+usb:v040Ap0112*
+ ID_MODEL_FROM_DATABASE=DC-290
+
+usb:v040Ap0120*
+ ID_MODEL_FROM_DATABASE=DC-240
+
+usb:v040Ap0121*
+ ID_MODEL_FROM_DATABASE=DC-240 (PTP firmware)
+
+usb:v040Ap0130*
+ ID_MODEL_FROM_DATABASE=DC-280
+
+usb:v040Ap0131*
+ ID_MODEL_FROM_DATABASE=DC-5000
+
+usb:v040Ap0132*
+ ID_MODEL_FROM_DATABASE=DC-3400
+
+usb:v040Ap0140*
+ ID_MODEL_FROM_DATABASE=DC-4800
+
+usb:v040Ap0160*
+ ID_MODEL_FROM_DATABASE=DC4800
+
+usb:v040Ap0170*
+ ID_MODEL_FROM_DATABASE=DX3900
+
+usb:v040Ap0200*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0300*
+ ID_MODEL_FROM_DATABASE=EZ-200
+
+usb:v040Ap0400*
+ ID_MODEL_FROM_DATABASE=MC3
+
+usb:v040Ap0402*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0403*
+ ID_MODEL_FROM_DATABASE=Z7590
+
+usb:v040Ap0500*
+ ID_MODEL_FROM_DATABASE=DX3500
+
+usb:v040Ap0510*
+ ID_MODEL_FROM_DATABASE=DX3600
+
+usb:v040Ap0525*
+ ID_MODEL_FROM_DATABASE=DX3215
+
+usb:v040Ap0530*
+ ID_MODEL_FROM_DATABASE=DX3700
+
+usb:v040Ap0535*
+ ID_MODEL_FROM_DATABASE=EasyShare CX4230 Camera
+
+usb:v040Ap0540*
+ ID_MODEL_FROM_DATABASE=LS420
+
+usb:v040Ap0550*
+ ID_MODEL_FROM_DATABASE=DX4900
+
+usb:v040Ap0555*
+ ID_MODEL_FROM_DATABASE=DX4330
+
+usb:v040Ap0560*
+ ID_MODEL_FROM_DATABASE=CX4200
+
+usb:v040Ap0565*
+ ID_MODEL_FROM_DATABASE=CX4210
+
+usb:v040Ap0566*
+ ID_MODEL_FROM_DATABASE=CX4300
+
+usb:v040Ap0567*
+ ID_MODEL_FROM_DATABASE=LS753
+
+usb:v040Ap0568*
+ ID_MODEL_FROM_DATABASE=LS443
+
+usb:v040Ap0569*
+ ID_MODEL_FROM_DATABASE=LS663
+
+usb:v040Ap0570*
+ ID_MODEL_FROM_DATABASE=DX6340
+
+usb:v040Ap0571*
+ ID_MODEL_FROM_DATABASE=CX6330
+
+usb:v040Ap0572*
+ ID_MODEL_FROM_DATABASE=DX6440
+
+usb:v040Ap0573*
+ ID_MODEL_FROM_DATABASE=CX6230
+
+usb:v040Ap0574*
+ ID_MODEL_FROM_DATABASE=CX6200
+
+usb:v040Ap0575*
+ ID_MODEL_FROM_DATABASE=DX6490
+
+usb:v040Ap0576*
+ ID_MODEL_FROM_DATABASE=DX4530
+
+usb:v040Ap0577*
+ ID_MODEL_FROM_DATABASE=DX7630
+
+usb:v040Ap0578*
+ ID_MODEL_FROM_DATABASE=CX7300/CX7310
+
+usb:v040Ap0579*
+ ID_MODEL_FROM_DATABASE=CX7220
+
+usb:v040Ap057A*
+ ID_MODEL_FROM_DATABASE=CX7330
+
+usb:v040Ap057B*
+ ID_MODEL_FROM_DATABASE=CX7430
+
+usb:v040Ap057C*
+ ID_MODEL_FROM_DATABASE=CX7530
+
+usb:v040Ap057D*
+ ID_MODEL_FROM_DATABASE=DX7440
+
+usb:v040Ap057E*
+ ID_MODEL_FROM_DATABASE=C300
+
+usb:v040Ap057F*
+ ID_MODEL_FROM_DATABASE=DX7590
+
+usb:v040Ap0580*
+ ID_MODEL_FROM_DATABASE=Z730
+
+usb:v040Ap0581*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0582*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0583*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0584*
+ ID_MODEL_FROM_DATABASE=CX6445
+
+usb:v040Ap0585*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0586*
+ ID_MODEL_FROM_DATABASE=CX7525
+
+usb:v040Ap0587*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0588*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0589*
+ ID_MODEL_FROM_DATABASE=EasyShare C360
+
+usb:v040Ap058A*
+ ID_MODEL_FROM_DATABASE=C310
+
+usb:v040Ap058B*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap058C*
+ ID_MODEL_FROM_DATABASE=C330
+
+usb:v040Ap058D*
+ ID_MODEL_FROM_DATABASE=C340
+
+usb:v040Ap058E*
+ ID_MODEL_FROM_DATABASE=V530
+
+usb:v040Ap058F*
+ ID_MODEL_FROM_DATABASE=V550
+
+usb:v040Ap0590*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0591*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0592*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0593*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0594*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0595*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0596*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0597*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap0598*
+ ID_MODEL_FROM_DATABASE=EASYSHARE M1033 digital camera
+
+usb:v040Ap0599*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap059A*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap059B*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap059C*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap059D*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap059E*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap059F*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05A0*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05A1*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05A2*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05A3*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05A4*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05A5*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05A6*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05A7*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05A8*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05A9*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05AA*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05AB*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05AC*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05AD*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05AE*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05AF*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05B0*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05B1*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05B2*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05B3*
+ ID_MODEL_FROM_DATABASE=EasyShare Z710 Camera
+
+usb:v040Ap05B4*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05B5*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05B6*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05B7*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05B8*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05B9*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05BA*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05BB*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05BC*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05BD*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05BE*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05BF*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05C0*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05C1*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05C2*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05C3*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05C4*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05C5*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v040Ap05C8*
+ ID_MODEL_FROM_DATABASE=EASYSHARE Z1485 IS Digital Camera
+
+usb:v040Ap05D3*
+ ID_MODEL_FROM_DATABASE=EasyShare M320 Camera
+
+usb:v040Ap05D4*
+ ID_MODEL_FROM_DATABASE=EasyShare C180 Digital Camera
+
+usb:v040Ap1001*
+ ID_MODEL_FROM_DATABASE=EasyShare SV811 Digital Picture Frame
+
+usb:v040Ap4000*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v040Ap4022*
+ ID_MODEL_FROM_DATABASE=1400 Digital Photo Printer
+
+usb:v040Ap4056*
+ ID_MODEL_FROM_DATABASE=ESP 7200 Series AiO
+
+usb:v040Ap4109*
+ ID_MODEL_FROM_DATABASE=EasyShare Printer Dock Series 3
+
+usb:v040Ap410D*
+ ID_MODEL_FROM_DATABASE=EasyShare G600 Printer Dock
+
+usb:v040Ap5010*
+ ID_MODEL_FROM_DATABASE=Wireless Adapter
+
+usb:v040Ap5012*
+ ID_MODEL_FROM_DATABASE=DBT-220 Bluetooth Adapter
+
+usb:v040Ap6001*
+ ID_MODEL_FROM_DATABASE=i30
+
+usb:v040Ap6002*
+ ID_MODEL_FROM_DATABASE=i40
+
+usb:v040Ap6003*
+ ID_MODEL_FROM_DATABASE=i50
+
+usb:v040Ap6004*
+ ID_MODEL_FROM_DATABASE=i60
+
+usb:v040Ap6005*
+ ID_MODEL_FROM_DATABASE=i80
+
+usb:v040B*
+ ID_VENDOR_FROM_DATABASE=Weltrend Semiconductor
+
+usb:v040Bp6510*
+ ID_MODEL_FROM_DATABASE=Weltrend Bar Code Reader
+
+usb:v040Bp6520*
+ ID_MODEL_FROM_DATABASE=XBOX Xploder
+
+usb:v040Bp6533*
+ ID_MODEL_FROM_DATABASE=Speed-Link Competition Pro
+
+usb:v040Bp6543*
+ ID_MODEL_FROM_DATABASE=Manhattan Magnetic Card Strip Reader
+
+usb:v040C*
+ ID_VENDOR_FROM_DATABASE=VTech Computers, Ltd
+
+usb:v040D*
+ ID_VENDOR_FROM_DATABASE=VIA Technologies, Inc.
+
+usb:v040Dp3184*
+ ID_MODEL_FROM_DATABASE=VNT VT6656 USB-802.11 Wireless LAN Adapter
+
+usb:v040Dp6205*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Card Reader
+
+usb:v040E*
+ ID_VENDOR_FROM_DATABASE=MCCI
+
+usb:v040F*
+ ID_VENDOR_FROM_DATABASE=Echo Speech Corp.
+
+usb:v0411*
+ ID_VENDOR_FROM_DATABASE=BUFFALO INC. (formerly MelCo., Inc.)
+
+usb:v0411p0001*
+ ID_MODEL_FROM_DATABASE=LUA-TX Ethernet [pegasus]
+
+usb:v0411p0005*
+ ID_MODEL_FROM_DATABASE=LUA-TX Ethernet
+
+usb:v0411p0006*
+ ID_MODEL_FROM_DATABASE=WLI-USB-L11 Wireless LAN Adapter
+
+usb:v0411p0009*
+ ID_MODEL_FROM_DATABASE=LUA2-TX Ethernet
+
+usb:v0411p000B*
+ ID_MODEL_FROM_DATABASE=WLI-USB-L11G-WR Wireless LAN Adapter
+
+usb:v0411p000D*
+ ID_MODEL_FROM_DATABASE=WLI-USB-L11G Wireless LAN Adapter
+
+usb:v0411p0012*
+ ID_MODEL_FROM_DATABASE=LUA-KTX Ethernet
+
+usb:v0411p0013*
+ ID_MODEL_FROM_DATABASE=USB2-IDE Adapter
+
+usb:v0411p0016*
+ ID_MODEL_FROM_DATABASE=WLI-USB-S11 802.11b Adapter
+
+usb:v0411p0018*
+ ID_MODEL_FROM_DATABASE=USB2-IDE Adapter
+
+usb:v0411p001C*
+ ID_MODEL_FROM_DATABASE=USB-IDE Bridge: DUB-PxxG
+
+usb:v0411p0027*
+ ID_MODEL_FROM_DATABASE=WLI-USB-KS11G 802.11b Adapter
+
+usb:v0411p002A*
+ ID_MODEL_FROM_DATABASE=SMSC USB97C202 "HD-HB300V2-EU"
+
+usb:v0411p003D*
+ ID_MODEL_FROM_DATABASE=LUA-U2-KTX Ethernet
+
+usb:v0411p0044*
+ ID_MODEL_FROM_DATABASE=WLI-USB-KB11 Wireless LAN Adapter
+
+usb:v0411p004B*
+ ID_MODEL_FROM_DATABASE=WLI-USB-G54 802.11g Adapter [Broadcom 4320 USB]
+
+usb:v0411p004D*
+ ID_MODEL_FROM_DATABASE=WLI-USB-B11 Wireless LAN Adapter
+
+usb:v0411p0050*
+ ID_MODEL_FROM_DATABASE=WLI2-USB2-G54 Wireless LAN Adapter
+
+usb:v0411p005E*
+ ID_MODEL_FROM_DATABASE=WLI-U2-KG54-YB WLAN
+
+usb:v0411p0065*
+ ID_MODEL_FROM_DATABASE=Python2 WDM Encoder
+
+usb:v0411p0066*
+ ID_MODEL_FROM_DATABASE=WLI-U2-KG54 WLAN
+
+usb:v0411p0067*
+ ID_MODEL_FROM_DATABASE=WLI-U2-KG54-AI WLAN
+
+usb:v0411p006E*
+ ID_MODEL_FROM_DATABASE=LUA-U2-GT 10/100/1000 Ethernet Adapter
+
+usb:v0411p0089*
+ ID_MODEL_FROM_DATABASE=RUF-C/U2 Flash Drive
+
+usb:v0411p008B*
+ ID_MODEL_FROM_DATABASE=Nintendo Wi-Fi
+
+usb:v0411p0091*
+ ID_MODEL_FROM_DATABASE=WLI-U2-KAMG54 Wireless LAN Adapter
+
+usb:v0411p0092*
+ ID_MODEL_FROM_DATABASE=WLI-U2-KAMG54 Bootloader
+
+usb:v0411p0097*
+ ID_MODEL_FROM_DATABASE=WLI-U2-KG54-BB
+
+usb:v0411p00A9*
+ ID_MODEL_FROM_DATABASE=WLI-U2-AMG54HP Wireless LAN Adapter
+
+usb:v0411p00AA*
+ ID_MODEL_FROM_DATABASE=WLI-U2-AMG54HP Bootloader
+
+usb:v0411p00B3*
+ ID_MODEL_FROM_DATABASE=PC-OP-RS1 RemoteStation
+
+usb:v0411p00BC*
+ ID_MODEL_FROM_DATABASE=WLI-U2-KG125S 802.11g Adapter [Broadcom 4320 USB]
+
+usb:v0411p00CA*
+ ID_MODEL_FROM_DATABASE=802.11n Network Adapter
+
+usb:v0411p00CB*
+ ID_MODEL_FROM_DATABASE=WLI-U2-G300N 802.11n Adapter
+
+usb:v0411p00D8*
+ ID_MODEL_FROM_DATABASE=WLI-U2-SG54HP
+
+usb:v0411p00D9*
+ ID_MODEL_FROM_DATABASE=WLI-U2-G54HP
+
+usb:v0411p00DA*
+ ID_MODEL_FROM_DATABASE=WLI-U2-KG54L 802.11bg [ZyDAS ZD1211B]
+
+usb:v0411p00DB*
+ ID_MODEL_FROM_DATABASE=External Hard Drive HD-PF32OU2 [Buffalo Ministation]
+
+usb:v0411p00E8*
+ ID_MODEL_FROM_DATABASE=WLI-UC-G300N Wireless LAN Adapter [Ralink RT2870]
+
+usb:v0411p0105*
+ ID_MODEL_FROM_DATABASE=External Hard Drive HD-CEU2 [Drive Station]
+
+usb:v0411p012E*
+ ID_MODEL_FROM_DATABASE=WLI-UC-AG300N Wireless LAN Adapter
+
+usb:v0411p0148*
+ ID_MODEL_FROM_DATABASE=WLI-UC-G300HP Wireless LAN Adapter
+
+usb:v0411p0150*
+ ID_MODEL_FROM_DATABASE=WLP-UC-AG300 Wireless LAN Adapter
+
+usb:v0411p0157*
+ ID_MODEL_FROM_DATABASE=External Hard Drive HD-PEU2
+
+usb:v0411p0158*
+ ID_MODEL_FROM_DATABASE=WLI-UC-GNHP Wireless LAN Adapter
+
+usb:v0411p015D*
+ ID_MODEL_FROM_DATABASE=WLI-UC-GN Wireless LAN Adapter [Ralink RT3070]
+
+usb:v0411p016F*
+ ID_MODEL_FROM_DATABASE=WLI-UC-G301N Wireless LAN Adapter [Ralink RT3072]
+
+usb:v0411p017F*
+ ID_MODEL_FROM_DATABASE=Sony UWA-BR100 802.11abgn Wireless Adapter [Atheros AR7010+AR9280]
+
+usb:v0411p019E*
+ ID_MODEL_FROM_DATABASE=WLI-UC-GNP Wireless LAN Adapter
+
+usb:v0411p01A1*
+ ID_MODEL_FROM_DATABASE=MiniStation Metro
+
+usb:v0411p01A2*
+ ID_MODEL_FROM_DATABASE=WLI-UC-GNM Wireless LAN Adapter [Ralink RT8070]
+
+usb:v0411p01DC*
+ ID_MODEL_FROM_DATABASE=Ultra-Slim Portable DVD Writer (DVSM-PC58U2V)
+
+usb:v0411p01DE*
+ ID_MODEL_FROM_DATABASE=External Hard Drive HD-PCTU3 [Buffalo MiniStation]
+
+usb:v0411p01EE*
+ ID_MODEL_FROM_DATABASE=WLI-UC-GNM2 Wireless LAN Adapter [Ralink RT3070]
+
+usb:v0411p01F1*
+ ID_MODEL_FROM_DATABASE=SATA Adapter [HD-LBU3]
+
+usb:v0411p01FD*
+ ID_MODEL_FROM_DATABASE=WLI-UC-G450 Wireless LAN Adapter
+
+usb:v0412*
+ ID_VENDOR_FROM_DATABASE=Award Software International
+
+usb:v0413*
+ ID_VENDOR_FROM_DATABASE=Leadtek Research, Inc.
+
+usb:v0413p1310*
+ ID_MODEL_FROM_DATABASE=WinFast TV - NTSC + FM
+
+usb:v0413p1311*
+ ID_MODEL_FROM_DATABASE=WinFast TV - NTSC + MTS + FM
+
+usb:v0413p1312*
+ ID_MODEL_FROM_DATABASE=WinFast TV - PAL BG + FM
+
+usb:v0413p1313*
+ ID_MODEL_FROM_DATABASE=WinFast TV - PAL BG+TXT + FM
+
+usb:v0413p1314*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP PAL I
+
+usb:v0413p1315*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP PAL I+TXT
+
+usb:v0413p1316*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP PAL DK
+
+usb:v0413p1317*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP PAL DK+TXT
+
+usb:v0413p1318*
+ ID_MODEL_FROM_DATABASE=WinFast TV - PAL I/DK + FM
+
+usb:v0413p1319*
+ ID_MODEL_FROM_DATABASE=WinFast TV - PAL N + FM
+
+usb:v0413p131A*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP SECAM LL
+
+usb:v0413p131B*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP SECAM LL+TXT
+
+usb:v0413p131C*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP SECAM DK
+
+usb:v0413p131D*
+ ID_MODEL_FROM_DATABASE=WinFast TV - SECAM DK + TXT + FM
+
+usb:v0413p131E*
+ ID_MODEL_FROM_DATABASE=WinFast TV - NTSC Japan + FM
+
+usb:v0413p1320*
+ ID_MODEL_FROM_DATABASE=WinFast TV - NTSC
+
+usb:v0413p1321*
+ ID_MODEL_FROM_DATABASE=WinFast TV - NTSC + MTS
+
+usb:v0413p1322*
+ ID_MODEL_FROM_DATABASE=WinFast TV - PAL BG
+
+usb:v0413p1323*
+ ID_MODEL_FROM_DATABASE=WinFast TV - PAL BG+TXT
+
+usb:v0413p1324*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP PAL I
+
+usb:v0413p1325*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP PAL I+TXT
+
+usb:v0413p1326*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP PAL DK
+
+usb:v0413p1327*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP PAL DK+TXT
+
+usb:v0413p1328*
+ ID_MODEL_FROM_DATABASE=WinFast TV - PAL I/DK
+
+usb:v0413p1329*
+ ID_MODEL_FROM_DATABASE=WinFast TV - PAL N
+
+usb:v0413p132A*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP SECAM LL
+
+usb:v0413p132B*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP SECAM LL+TXT
+
+usb:v0413p132C*
+ ID_MODEL_FROM_DATABASE=WinFast TV Audio - PHP SECAM DK
+
+usb:v0413p132D*
+ ID_MODEL_FROM_DATABASE=WinFast TV - SECAM DK + TXT
+
+usb:v0413p132E*
+ ID_MODEL_FROM_DATABASE=WinFast TV - NTSC Japan
+
+usb:v0413p6023*
+ ID_MODEL_FROM_DATABASE=EMP Audio Device
+
+usb:v0413p6024*
+ ID_MODEL_FROM_DATABASE=WinFast PalmTop/Novo TV Video
+
+usb:v0413p6025*
+ ID_MODEL_FROM_DATABASE=WinFast DTV Dongle (cold state)
+
+usb:v0413p6026*
+ ID_MODEL_FROM_DATABASE=WinFast DTV Dongle (warm state)
+
+usb:v0413p6029*
+ ID_MODEL_FROM_DATABASE=WinFast DTV Dongle Gold
+
+usb:v0413p6125*
+ ID_MODEL_FROM_DATABASE=WinFast DTV Dongle
+
+usb:v0413p6126*
+ ID_MODEL_FROM_DATABASE=WinFast DTV Dongle BDA Driver
+
+usb:v0413p6A03*
+ ID_MODEL_FROM_DATABASE=RTL2832 [WinFast DTV Dongle Mini]
+
+usb:v0413p6F00*
+ ID_MODEL_FROM_DATABASE=WinFast DTV Dongle (STK7700P based)
+
+usb:v0414*
+ ID_VENDOR_FROM_DATABASE=Giga-Byte Technology Co., Ltd
+
+usb:v0416*
+ ID_VENDOR_FROM_DATABASE=Winbond Electronics Corp.
+
+usb:v0416p0035*
+ ID_MODEL_FROM_DATABASE=W89C35 802.11bg WLAN Adapter
+
+usb:v0416p0101*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v0416p0961*
+ ID_MODEL_FROM_DATABASE=AVL Flash Card Reader
+
+usb:v0416p3810*
+ ID_MODEL_FROM_DATABASE=Smart Card Controller
+
+usb:v0416p3811*
+ ID_MODEL_FROM_DATABASE=Generic Controller - Single interface
+
+usb:v0416p3812*
+ ID_MODEL_FROM_DATABASE=Smart Card Controller_2Interface
+
+usb:v0416p3813*
+ ID_MODEL_FROM_DATABASE=Panel Display
+
+usb:v0416p5011*
+ ID_MODEL_FROM_DATABASE=Virtual Com Port
+
+usb:v0416p5518*
+ ID_MODEL_FROM_DATABASE=4-Port Hub
+
+usb:v0416p551A*
+ ID_MODEL_FROM_DATABASE=PC Sync Keypad
+
+usb:v0416p551B*
+ ID_MODEL_FROM_DATABASE=PC Async Keypad
+
+usb:v0416p551C*
+ ID_MODEL_FROM_DATABASE=Sync Tenkey
+
+usb:v0416p551D*
+ ID_MODEL_FROM_DATABASE=Async Tenkey
+
+usb:v0416p551E*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v0416p551F*
+ ID_MODEL_FROM_DATABASE=Keyboard w/ Sys and Media
+
+usb:v0416p5521*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v0416p6481*
+ ID_MODEL_FROM_DATABASE=16-bit Scanner
+
+usb:v0416p7721*
+ ID_MODEL_FROM_DATABASE=Memory Stick Reader/Writer
+
+usb:v0416p7722*
+ ID_MODEL_FROM_DATABASE=Memory Stick Reader/Writer
+
+usb:v0416p7723*
+ ID_MODEL_FROM_DATABASE=SD Card Reader
+
+usb:v0417*
+ ID_VENDOR_FROM_DATABASE=Symbios Logic
+
+usb:v0418*
+ ID_VENDOR_FROM_DATABASE=AST Research
+
+usb:v0419*
+ ID_VENDOR_FROM_DATABASE=Samsung Info. Systems America, Inc.
+
+usb:v0419p0001*
+ ID_MODEL_FROM_DATABASE=IrDA Remote Controller / Creative Cordless Mouse
+
+usb:v0419p0600*
+ ID_MODEL_FROM_DATABASE=Desktop Wireless 6000
+
+usb:v0419p3001*
+ ID_MODEL_FROM_DATABASE=Xerox P1202 Laser Printer
+
+usb:v0419p3003*
+ ID_MODEL_FROM_DATABASE=Olivetti PG L12L
+
+usb:v0419p3201*
+ ID_MODEL_FROM_DATABASE=Docuprint P8ex
+
+usb:v0419p3404*
+ ID_MODEL_FROM_DATABASE=SCX-5x12 series
+
+usb:v0419p3406*
+ ID_MODEL_FROM_DATABASE=MFP 830 series
+
+usb:v0419p3407*
+ ID_MODEL_FROM_DATABASE=ML-912
+
+usb:v0419p3601*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v0419p3602*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v0419p4602*
+ ID_MODEL_FROM_DATABASE=Remote NDIS Network Device
+
+usb:v0419p8001*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v0419p8002*
+ ID_MODEL_FROM_DATABASE=SyncMaster HID Monitor Control
+
+usb:v0419pAA03*
+ ID_MODEL_FROM_DATABASE=SDAS-3 MP3 Player
+
+usb:v041A*
+ ID_VENDOR_FROM_DATABASE=Phoenix Technologies, Ltd
+
+usb:v041B*
+ ID_VENDOR_FROM_DATABASE=d'TV
+
+usb:v041D*
+ ID_VENDOR_FROM_DATABASE=S3, Inc.
+
+usb:v041E*
+ ID_VENDOR_FROM_DATABASE=Creative Technology, Ltd
+
+usb:v041Ep1002*
+ ID_MODEL_FROM_DATABASE=Nomad II
+
+usb:v041Ep1003*
+ ID_MODEL_FROM_DATABASE=Blaster GamePad Cobra
+
+usb:v041Ep1050*
+ ID_MODEL_FROM_DATABASE=GamePad Cobra
+
+usb:v041Ep1053*
+ ID_MODEL_FROM_DATABASE=Mouse Gamer HD7600L
+
+usb:v041Ep200C*
+ ID_MODEL_FROM_DATABASE=MuVo V100
+
+usb:v041Ep2020*
+ ID_MODEL_FROM_DATABASE=Zen X-Fi 2
+
+usb:v041Ep2029*
+ ID_MODEL_FROM_DATABASE=ZiiO
+
+usb:v041Ep2801*
+ ID_MODEL_FROM_DATABASE=Prodikeys PC-MIDI multifunction keyboard
+
+usb:v041Ep3000*
+ ID_MODEL_FROM_DATABASE=SoundBlaster Extigy
+
+usb:v041Ep3002*
+ ID_MODEL_FROM_DATABASE=SB External Composite Device
+
+usb:v041Ep3010*
+ ID_MODEL_FROM_DATABASE=SoundBlaster MP3+
+
+usb:v041Ep3014*
+ ID_MODEL_FROM_DATABASE=SB External Composite Device
+
+usb:v041Ep3015*
+ ID_MODEL_FROM_DATABASE=Sound Blaster Digital Music LX
+
+usb:v041Ep3020*
+ ID_MODEL_FROM_DATABASE=SoundBlaster Audigy 2 NX
+
+usb:v041Ep3030*
+ ID_MODEL_FROM_DATABASE=SB External Composite Device
+
+usb:v041Ep3040*
+ ID_MODEL_FROM_DATABASE=SoundBlaster Live! 24-bit External SB0490
+
+usb:v041Ep3060*
+ ID_MODEL_FROM_DATABASE=Sound Blaster Audigy 2 ZS External
+
+usb:v041Ep3061*
+ ID_MODEL_FROM_DATABASE=SoundBlaster Audigy 2 ZS Video Editor
+
+usb:v041Ep3090*
+ ID_MODEL_FROM_DATABASE=Sound Blaster Digital Music SX
+
+usb:v041Ep30D3*
+ ID_MODEL_FROM_DATABASE=Sound Blaster Play!
+
+usb:v041Ep3121*
+ ID_MODEL_FROM_DATABASE=WoW tap chat
+
+usb:v041Ep3220*
+ ID_MODEL_FROM_DATABASE=Sound Blaster Tactic(3D) Sigma sound card
+
+usb:v041Ep3F00*
+ ID_MODEL_FROM_DATABASE=E-Mu Xboard 25 MIDI Controller
+
+usb:v041Ep3F02*
+ ID_MODEL_FROM_DATABASE=E-Mu 0202
+
+usb:v041Ep3F04*
+ ID_MODEL_FROM_DATABASE=E-Mu 0404
+
+usb:v041Ep3F07*
+ ID_MODEL_FROM_DATABASE=E-Mu Xmidi 1x1
+
+usb:v041Ep4003*
+ ID_MODEL_FROM_DATABASE=VideoBlaster Webcam Go Plus [W9967CF]
+
+usb:v041Ep4004*
+ ID_MODEL_FROM_DATABASE=Nomad II MG
+
+usb:v041Ep4005*
+ ID_MODEL_FROM_DATABASE=Webcam Blaster Go ES
+
+usb:v041Ep4007*
+ ID_MODEL_FROM_DATABASE=Go Mini
+
+usb:v041Ep400A*
+ ID_MODEL_FROM_DATABASE=PC-Cam 300
+
+usb:v041Ep400B*
+ ID_MODEL_FROM_DATABASE=PC-Cam 600
+
+usb:v041Ep400C*
+ ID_MODEL_FROM_DATABASE=Webcam 5 [pwc]
+
+usb:v041Ep400D*
+ ID_MODEL_FROM_DATABASE=Webcam PD1001
+
+usb:v041Ep400F*
+ ID_MODEL_FROM_DATABASE=PC-CAM 550 (Composite)
+
+usb:v041Ep4011*
+ ID_MODEL_FROM_DATABASE=Webcam PRO eX
+
+usb:v041Ep4012*
+ ID_MODEL_FROM_DATABASE=PC-CAM350
+
+usb:v041Ep4013*
+ ID_MODEL_FROM_DATABASE=PC-Cam 750
+
+usb:v041Ep4015*
+ ID_MODEL_FROM_DATABASE=CardCam Value
+
+usb:v041Ep4016*
+ ID_MODEL_FROM_DATABASE=CardCam
+
+usb:v041Ep4017*
+ ID_MODEL_FROM_DATABASE=Webcam Mobile [PD1090]
+
+usb:v041Ep4018*
+ ID_MODEL_FROM_DATABASE=Webcam Vista [PD1100]
+
+usb:v041Ep4019*
+ ID_MODEL_FROM_DATABASE=Audio Device
+
+usb:v041Ep401A*
+ ID_MODEL_FROM_DATABASE=Webcam Vista [PD1100]
+
+usb:v041Ep401C*
+ ID_MODEL_FROM_DATABASE=Webcam NX [PD1110]
+
+usb:v041Ep401D*
+ ID_MODEL_FROM_DATABASE=Webcam NX Ultra
+
+usb:v041Ep401E*
+ ID_MODEL_FROM_DATABASE=Webcam NX Pro
+
+usb:v041Ep401F*
+ ID_MODEL_FROM_DATABASE=Webcam Notebook [PD1171]
+
+usb:v041Ep4020*
+ ID_MODEL_FROM_DATABASE=Webcam NX
+
+usb:v041Ep4021*
+ ID_MODEL_FROM_DATABASE=Webcam NX Ultra
+
+usb:v041Ep4022*
+ ID_MODEL_FROM_DATABASE=Webcam NX Pro
+
+usb:v041Ep4028*
+ ID_MODEL_FROM_DATABASE=Vista Plus cam [VF0090]
+
+usb:v041Ep4029*
+ ID_MODEL_FROM_DATABASE=Webcam Live!
+
+usb:v041Ep402F*
+ ID_MODEL_FROM_DATABASE=DC-CAM 3000Z
+
+usb:v041Ep4034*
+ ID_MODEL_FROM_DATABASE=Webcam Instant
+
+usb:v041Ep4035*
+ ID_MODEL_FROM_DATABASE=Webcam Instant
+
+usb:v041Ep4036*
+ ID_MODEL_FROM_DATABASE=Webcam Live!/Live! Pro
+
+usb:v041Ep4037*
+ ID_MODEL_FROM_DATABASE=Webcam Live!
+
+usb:v041Ep4038*
+ ID_MODEL_FROM_DATABASE=ORITE CCD Webcam [PC370R]
+
+usb:v041Ep4039*
+ ID_MODEL_FROM_DATABASE=Webcam Live! Effects
+
+usb:v041Ep403A*
+ ID_MODEL_FROM_DATABASE=Webcam NX Pro 2
+
+usb:v041Ep403B*
+ ID_MODEL_FROM_DATABASE=Creative Webcam Vista [VF0010]
+
+usb:v041Ep403C*
+ ID_MODEL_FROM_DATABASE=Webcam Live! Ultra
+
+usb:v041Ep403D*
+ ID_MODEL_FROM_DATABASE=Webcam Notebook Ultra
+
+usb:v041Ep403E*
+ ID_MODEL_FROM_DATABASE=Webcam Vista Plus
+
+usb:v041Ep4041*
+ ID_MODEL_FROM_DATABASE=Webcam Live! Motion
+
+usb:v041Ep4043*
+ ID_MODEL_FROM_DATABASE=Vibra Plus Webcam
+
+usb:v041Ep4045*
+ ID_MODEL_FROM_DATABASE=Live! Cam Voice
+
+usb:v041Ep4049*
+ ID_MODEL_FROM_DATABASE=Live! Cam Voice
+
+usb:v041Ep4051*
+ ID_MODEL_FROM_DATABASE=Live! Cam Notebook Pro [VF0250]
+
+usb:v041Ep4052*
+ ID_MODEL_FROM_DATABASE=Live! Cam Vista IM
+
+usb:v041Ep4053*
+ ID_MODEL_FROM_DATABASE=Live! Cam Video IM
+
+usb:v041Ep4054*
+ ID_MODEL_FROM_DATABASE=Live! Cam Video IM
+
+usb:v041Ep4055*
+ ID_MODEL_FROM_DATABASE=Live! Cam Video IM Pro
+
+usb:v041Ep4056*
+ ID_MODEL_FROM_DATABASE=Live! Cam Video IM Pro
+
+usb:v041Ep4057*
+ ID_MODEL_FROM_DATABASE=Live! Cam Optia
+
+usb:v041Ep4058*
+ ID_MODEL_FROM_DATABASE=Live! Cam Optia AF
+
+usb:v041Ep4061*
+ ID_MODEL_FROM_DATABASE=Live! Cam Notebook Pro [VF0400]
+
+usb:v041Ep4063*
+ ID_MODEL_FROM_DATABASE=Live! Cam Video IM Pro
+
+usb:v041Ep4068*
+ ID_MODEL_FROM_DATABASE=Live! Cam Notebook [VF0470]
+
+usb:v041Ep406C*
+ ID_MODEL_FROM_DATABASE=Live! Cam Sync [VF0520]
+
+usb:v041Ep4083*
+ ID_MODEL_FROM_DATABASE=Live! Cam Socialize [VF0640]
+
+usb:v041Ep4087*
+ ID_MODEL_FROM_DATABASE=Live! Cam Socialize HD 1080 [VF0680]
+
+usb:v041Ep4088*
+ ID_MODEL_FROM_DATABASE=Live! Cam Chat HD [VF0700]
+
+usb:v041Ep4100*
+ ID_MODEL_FROM_DATABASE=Nomad Jukebox 2
+
+usb:v041Ep4101*
+ ID_MODEL_FROM_DATABASE=Nomad Jukebox 3
+
+usb:v041Ep4102*
+ ID_MODEL_FROM_DATABASE=NOMAD MuVo^2
+
+usb:v041Ep4106*
+ ID_MODEL_FROM_DATABASE=Nomad MuVo
+
+usb:v041Ep4107*
+ ID_MODEL_FROM_DATABASE=NOMAD MuVo
+
+usb:v041Ep4108*
+ ID_MODEL_FROM_DATABASE=Nomad Jukebox Zen
+
+usb:v041Ep4109*
+ ID_MODEL_FROM_DATABASE=Nomad Jukebox Zen NX
+
+usb:v041Ep410B*
+ ID_MODEL_FROM_DATABASE=Nomad Jukebox Zen USB 2.0
+
+usb:v041Ep410C*
+ ID_MODEL_FROM_DATABASE=Nomad MuVo NX
+
+usb:v041Ep410F*
+ ID_MODEL_FROM_DATABASE=NOMAD MuVo^2 (Flash)
+
+usb:v041Ep4110*
+ ID_MODEL_FROM_DATABASE=Nomad Jukebox Zen Xtra
+
+usb:v041Ep4111*
+ ID_MODEL_FROM_DATABASE=Dell Digital Jukebox
+
+usb:v041Ep4116*
+ ID_MODEL_FROM_DATABASE=MuVo^2
+
+usb:v041Ep4117*
+ ID_MODEL_FROM_DATABASE=Nomad MuVo TX
+
+usb:v041Ep411B*
+ ID_MODEL_FROM_DATABASE=Zen Touch
+
+usb:v041Ep411C*
+ ID_MODEL_FROM_DATABASE=Nomad MuVo USB 2.0
+
+usb:v041Ep411D*
+ ID_MODEL_FROM_DATABASE=Zen
+
+usb:v041Ep411E*
+ ID_MODEL_FROM_DATABASE=Zen Micro
+
+usb:v041Ep4120*
+ ID_MODEL_FROM_DATABASE=Nomad MuVo TX FM
+
+usb:v041Ep4123*
+ ID_MODEL_FROM_DATABASE=Zen Portable Media Center
+
+usb:v041Ep4124*
+ ID_MODEL_FROM_DATABASE=MuVo^2 FM (uHDD)
+
+usb:v041Ep4126*
+ ID_MODEL_FROM_DATABASE=Dell DJ (2nd gen)
+
+usb:v041Ep4127*
+ ID_MODEL_FROM_DATABASE=Dell DJ
+
+usb:v041Ep4128*
+ ID_MODEL_FROM_DATABASE=NOMAD Jukebox Zen Xtra (mtp)
+
+usb:v041Ep412B*
+ ID_MODEL_FROM_DATABASE=MuVo N200 with FM radio
+
+usb:v041Ep412F*
+ ID_MODEL_FROM_DATABASE=Dell Digital Jukebox 2.Gen
+
+usb:v041Ep4130*
+ ID_MODEL_FROM_DATABASE=Zen Micro (mtp)
+
+usb:v041Ep4131*
+ ID_MODEL_FROM_DATABASE=DAP-HD0014 [Zen Touch] (MTP)
+
+usb:v041Ep4133*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v041Ep4134*
+ ID_MODEL_FROM_DATABASE=Zen Neeon
+
+usb:v041Ep4136*
+ ID_MODEL_FROM_DATABASE=Zen Sleek
+
+usb:v041Ep4137*
+ ID_MODEL_FROM_DATABASE=Zen Sleek (mtp)
+
+usb:v041Ep4139*
+ ID_MODEL_FROM_DATABASE=Zen Nano Plus
+
+usb:v041Ep413C*
+ ID_MODEL_FROM_DATABASE=Zen MicroPhoto
+
+usb:v041Ep4150*
+ ID_MODEL_FROM_DATABASE=Zen V (MTP)
+
+usb:v041Ep4151*
+ ID_MODEL_FROM_DATABASE=Zen Vision:M (mtp)
+
+usb:v041Ep4152*
+ ID_MODEL_FROM_DATABASE=Zen V Plus
+
+usb:v041Ep4153*
+ ID_MODEL_FROM_DATABASE=Zen Vision W
+
+usb:v041Ep4154*
+ ID_MODEL_FROM_DATABASE=Zen Stone
+
+usb:v041Ep4155*
+ ID_MODEL_FROM_DATABASE=Zen Stone plus
+
+usb:v041Ep4157*
+ ID_MODEL_FROM_DATABASE=Zen (MTP)
+
+usb:v041Ep500F*
+ ID_MODEL_FROM_DATABASE=Broadband Blaster 8012U-V
+
+usb:v041Ep5015*
+ ID_MODEL_FROM_DATABASE=TECOM Bluetooth Device
+
+usb:v041EpFFFF*
+ ID_MODEL_FROM_DATABASE=Webcam Live! Ultra
+
+usb:v041F*
+ ID_VENDOR_FROM_DATABASE=LCS Telegraphics
+
+usb:v0420*
+ ID_VENDOR_FROM_DATABASE=Chips and Technologies
+
+usb:v0420p1307*
+ ID_MODEL_FROM_DATABASE=Celly SIM Card Reader
+
+usb:v0421*
+ ID_VENDOR_FROM_DATABASE=Nokia Mobile Phones
+
+usb:v0421p0001*
+ ID_MODEL_FROM_DATABASE=E61i (PC Suite mode)
+
+usb:v0421p0018*
+ ID_MODEL_FROM_DATABASE=6288 GSM Smartphone
+
+usb:v0421p0019*
+ ID_MODEL_FROM_DATABASE=6288 GSM Smartphone (imaging mode)
+
+usb:v0421p001A*
+ ID_MODEL_FROM_DATABASE=6288 GSM Smartphone (file transfer mode)
+
+usb:v0421p0024*
+ ID_MODEL_FROM_DATABASE=5610 XpressMusic (Storage mode)
+
+usb:v0421p0025*
+ ID_MODEL_FROM_DATABASE=5610 XpressMusic (PC Suite mode)
+
+usb:v0421p0028*
+ ID_MODEL_FROM_DATABASE=5610 XpressMusic (Imaging mode)
+
+usb:v0421p002D*
+ ID_MODEL_FROM_DATABASE=6120 Phone (Mass storage mode)
+
+usb:v0421p002E*
+ ID_MODEL_FROM_DATABASE=6120 Phone (Media-Player mode)
+
+usb:v0421p002F*
+ ID_MODEL_FROM_DATABASE=6120 Phone (PC-Suite mode)
+
+usb:v0421p0042*
+ ID_MODEL_FROM_DATABASE=E51 (PC Suite mode)
+
+usb:v0421p0064*
+ ID_MODEL_FROM_DATABASE=3109c GSM Phone
+
+usb:v0421p006B*
+ ID_MODEL_FROM_DATABASE=5310 Xpress Music (PC Suite mode)
+
+usb:v0421p006C*
+ ID_MODEL_FROM_DATABASE=5310 Xpress music (Storage mode)
+
+usb:v0421p006D*
+ ID_MODEL_FROM_DATABASE=N95 (Storage mode)
+
+usb:v0421p006E*
+ ID_MODEL_FROM_DATABASE=N95 (Multimedia mode)
+
+usb:v0421p006F*
+ ID_MODEL_FROM_DATABASE=N95 (Printing mode)
+
+usb:v0421p0070*
+ ID_MODEL_FROM_DATABASE=N95 (PC Suite mode)
+
+usb:v0421p0096*
+ ID_MODEL_FROM_DATABASE=N810 Internet Tablet
+
+usb:v0421p00AA*
+ ID_MODEL_FROM_DATABASE=E71 (Mass storage mode)
+
+usb:v0421p00AB*
+ ID_MODEL_FROM_DATABASE=E71 (PC Suite mode)
+
+usb:v0421p00E4*
+ ID_MODEL_FROM_DATABASE=E71 (Media transfer mode)
+
+usb:v0421p0103*
+ ID_MODEL_FROM_DATABASE=ADL Flashing Engine AVALON Parent
+
+usb:v0421p0104*
+ ID_MODEL_FROM_DATABASE=ADL Re-Flashing Engine Parent
+
+usb:v0421p0105*
+ ID_MODEL_FROM_DATABASE=Nokia Firmware Upgrade Mode
+
+usb:v0421p0106*
+ ID_MODEL_FROM_DATABASE=ROM Parent
+
+usb:v0421p0154*
+ ID_MODEL_FROM_DATABASE=5800 XpressMusic (PC Suite mode)
+
+usb:v0421p0155*
+ ID_MODEL_FROM_DATABASE=5800 XpressMusic (Multimedia mode)
+
+usb:v0421p0156*
+ ID_MODEL_FROM_DATABASE=5800 XpressMusic (Storage mode)
+
+usb:v0421p0157*
+ ID_MODEL_FROM_DATABASE=5800 XpressMusic (Imaging mode)
+
+usb:v0421p0199*
+ ID_MODEL_FROM_DATABASE=6700 Classic (msc)
+
+usb:v0421p019A*
+ ID_MODEL_FROM_DATABASE=6700 Classic (PC Suite)
+
+usb:v0421p019B*
+ ID_MODEL_FROM_DATABASE=6700 Classic (mtp)
+
+usb:v0421p01B0*
+ ID_MODEL_FROM_DATABASE=6303 classic Phone (PC Suite mode)
+
+usb:v0421p01B1*
+ ID_MODEL_FROM_DATABASE=6303 classic Phone (Mass storage mode)
+
+usb:v0421p01B2*
+ ID_MODEL_FROM_DATABASE=6303 classic Phone (Printing and media mode)
+
+usb:v0421p01C7*
+ ID_MODEL_FROM_DATABASE=N900 (Storage Mode)
+
+usb:v0421p01C8*
+ ID_MODEL_FROM_DATABASE=N900 (PC-Suite Mode)
+
+usb:v0421p0228*
+ ID_MODEL_FROM_DATABASE=5530 XpressMusic
+
+usb:v0421p023A*
+ ID_MODEL_FROM_DATABASE=6730 Classic
+
+usb:v0421p026A*
+ ID_MODEL_FROM_DATABASE=N97 (mass storage)
+
+usb:v0421p026B*
+ ID_MODEL_FROM_DATABASE=N97 (Multimedia)
+
+usb:v0421p026C*
+ ID_MODEL_FROM_DATABASE=N97 (PC Suite)
+
+usb:v0421p026D*
+ ID_MODEL_FROM_DATABASE=N97 (Pictures)
+
+usb:v0421p0295*
+ ID_MODEL_FROM_DATABASE=660i/6600i Slide Phone (Mass Storage)
+
+usb:v0421p0297*
+ ID_MODEL_FROM_DATABASE=660i/6600i Slide Phone (Still Image)
+
+usb:v0421p02E1*
+ ID_MODEL_FROM_DATABASE=5230 (Storage mode)
+
+usb:v0421p02E2*
+ ID_MODEL_FROM_DATABASE=5230 (Multimedia mode)
+
+usb:v0421p02E3*
+ ID_MODEL_FROM_DATABASE=5230 (PC-Suite mode)
+
+usb:v0421p02E4*
+ ID_MODEL_FROM_DATABASE=5230 (Imaging mode)
+
+usb:v0421p0360*
+ ID_MODEL_FROM_DATABASE=C1-01 Ovi Suite Mode
+
+usb:v0421p03A4*
+ ID_MODEL_FROM_DATABASE=C5 (Storage mode)
+
+usb:v0421p03C0*
+ ID_MODEL_FROM_DATABASE=C7-00
+
+usb:v0421p03D1*
+ ID_MODEL_FROM_DATABASE=N950
+
+usb:v0421p0400*
+ ID_MODEL_FROM_DATABASE=7600 Phone Parent
+
+usb:v0421p0401*
+ ID_MODEL_FROM_DATABASE=6650 GSM Phone
+
+usb:v0421p0402*
+ ID_MODEL_FROM_DATABASE=6255 Phone Parent
+
+usb:v0421p0404*
+ ID_MODEL_FROM_DATABASE=5510
+
+usb:v0421p0405*
+ ID_MODEL_FROM_DATABASE=9500 GSM Communicator
+
+usb:v0421p0407*
+ ID_MODEL_FROM_DATABASE=Music Player HDR-1(tm)
+
+usb:v0421p040B*
+ ID_MODEL_FROM_DATABASE=N-Gage GSM Phone
+
+usb:v0421p040D*
+ ID_MODEL_FROM_DATABASE=6620 Phone Parent
+
+usb:v0421p040E*
+ ID_MODEL_FROM_DATABASE=6651 Phone Parent
+
+usb:v0421p040F*
+ ID_MODEL_FROM_DATABASE=6230 GSM Phone
+
+usb:v0421p0410*
+ ID_MODEL_FROM_DATABASE=6630 Imaging Smartphone
+
+usb:v0421p0411*
+ ID_MODEL_FROM_DATABASE=7610 Phone Parent
+
+usb:v0421p0413*
+ ID_MODEL_FROM_DATABASE=6260 Phone Parent
+
+usb:v0421p0414*
+ ID_MODEL_FROM_DATABASE=7370
+
+usb:v0421p0415*
+ ID_MODEL_FROM_DATABASE=9300 GSM Smartphone
+
+usb:v0421p0416*
+ ID_MODEL_FROM_DATABASE=6170 Phone Parent
+
+usb:v0421p0417*
+ ID_MODEL_FROM_DATABASE=7270 Phone Parent
+
+usb:v0421p0418*
+ ID_MODEL_FROM_DATABASE=E70 (PC Suite mode)
+
+usb:v0421p0419*
+ ID_MODEL_FROM_DATABASE=E60 (PC Suite mode)
+
+usb:v0421p041A*
+ ID_MODEL_FROM_DATABASE=9500 GSM Communicator (RNDIS)
+
+usb:v0421p041B*
+ ID_MODEL_FROM_DATABASE=9300 GSM Smartphone (RNDIS)
+
+usb:v0421p041C*
+ ID_MODEL_FROM_DATABASE=7710 Phone Parent
+
+usb:v0421p041D*
+ ID_MODEL_FROM_DATABASE=6670 Phone Parent
+
+usb:v0421p041E*
+ ID_MODEL_FROM_DATABASE=6680
+
+usb:v0421p041F*
+ ID_MODEL_FROM_DATABASE=6235 Phone Parent
+
+usb:v0421p0421*
+ ID_MODEL_FROM_DATABASE=3230 Phone Parent
+
+usb:v0421p0422*
+ ID_MODEL_FROM_DATABASE=6681 Phone Parent
+
+usb:v0421p0423*
+ ID_MODEL_FROM_DATABASE=6682 Phone Parent
+
+usb:v0421p0428*
+ ID_MODEL_FROM_DATABASE=6230i Modem
+
+usb:v0421p0429*
+ ID_MODEL_FROM_DATABASE=6230i MultiMedia Card
+
+usb:v0421p0431*
+ ID_MODEL_FROM_DATABASE=770 Internet Tablet
+
+usb:v0421p0432*
+ ID_MODEL_FROM_DATABASE=N90 Phone Parent
+
+usb:v0421p0435*
+ ID_MODEL_FROM_DATABASE=E70 (IP Passthrough/RNDIS mode)
+
+usb:v0421p0436*
+ ID_MODEL_FROM_DATABASE=E60 (IP Passthrough/RNDIS mode)
+
+usb:v0421p0437*
+ ID_MODEL_FROM_DATABASE=6265 Phone Parent
+
+usb:v0421p043A*
+ ID_MODEL_FROM_DATABASE=N70 USB Phone Parent
+
+usb:v0421p043B*
+ ID_MODEL_FROM_DATABASE=3155 Phone Parent
+
+usb:v0421p043C*
+ ID_MODEL_FROM_DATABASE=6155 Phone Parent
+
+usb:v0421p043D*
+ ID_MODEL_FROM_DATABASE=6270 Phone Parent
+
+usb:v0421p0443*
+ ID_MODEL_FROM_DATABASE=N70 Phone Parent
+
+usb:v0421p0444*
+ ID_MODEL_FROM_DATABASE=N91
+
+usb:v0421p044C*
+ ID_MODEL_FROM_DATABASE=NM850iG Phone Parent
+
+usb:v0421p044D*
+ ID_MODEL_FROM_DATABASE=E61 (PC Suite mode)
+
+usb:v0421p044E*
+ ID_MODEL_FROM_DATABASE=E61 (Data Exchange mode)
+
+usb:v0421p044F*
+ ID_MODEL_FROM_DATABASE=E61 (IP Passthrough/RNDIS mode)
+
+usb:v0421p0453*
+ ID_MODEL_FROM_DATABASE=9300 Phone Parent
+
+usb:v0421p0456*
+ ID_MODEL_FROM_DATABASE=6111 Phone Parent
+
+usb:v0421p0457*
+ ID_MODEL_FROM_DATABASE=6111 Phone (Printing mode)
+
+usb:v0421p045A*
+ ID_MODEL_FROM_DATABASE=6280 Phone Parent
+
+usb:v0421p045D*
+ ID_MODEL_FROM_DATABASE=6282 Phone Parent
+
+usb:v0421p046E*
+ ID_MODEL_FROM_DATABASE=6110 Navigator
+
+usb:v0421p0471*
+ ID_MODEL_FROM_DATABASE=6110 Navigator
+
+usb:v0421p0485*
+ ID_MODEL_FROM_DATABASE=MTP Device
+
+usb:v0421p04B9*
+ ID_MODEL_FROM_DATABASE=5300
+
+usb:v0421p04BC*
+ ID_MODEL_FROM_DATABASE=5200 (Nokia mode)
+
+usb:v0421p04BD*
+ ID_MODEL_FROM_DATABASE=5200 (Storage mode)
+
+usb:v0421p04BE*
+ ID_MODEL_FROM_DATABASE=5200 (MTP mode)
+
+usb:v0421p04C3*
+ ID_MODEL_FROM_DATABASE=N800 Internet Tablet
+
+usb:v0421p04CE*
+ ID_MODEL_FROM_DATABASE=E90 Communicator (PC Suite mode)
+
+usb:v0421p04CF*
+ ID_MODEL_FROM_DATABASE=E90 Communicator (Storage mode)
+
+usb:v0421p04F0*
+ ID_MODEL_FROM_DATABASE=Nokia N95 (PC Suite mode)
+
+usb:v0421p04F9*
+ ID_MODEL_FROM_DATABASE=6300 (PC Suite mode)
+
+usb:v0421p0508*
+ ID_MODEL_FROM_DATABASE=E65 (PC Suite mode)
+
+usb:v0421p0509*
+ ID_MODEL_FROM_DATABASE=E65 (Storage mode)
+
+usb:v0421p0518*
+ ID_MODEL_FROM_DATABASE=N9 Phone
+
+usb:v0421p0600*
+ ID_MODEL_FROM_DATABASE=Digital Pen SU-1B
+
+usb:v0421p0610*
+ ID_MODEL_FROM_DATABASE=CS-15 (Internet Stick 3G modem)
+
+usb:v0421p0661*
+ ID_MODEL_FROM_DATABASE=Lumia 920
+
+usb:v0421p0800*
+ ID_MODEL_FROM_DATABASE=Connectivity Cable DKU-5
+
+usb:v0421p0801*
+ ID_MODEL_FROM_DATABASE=Data Cable DKU-6
+
+usb:v0421p0802*
+ ID_MODEL_FROM_DATABASE=CA-42 Phone Parent
+
+usb:v0422*
+ ID_VENDOR_FROM_DATABASE=ADI Systems, Inc.
+
+usb:v0423*
+ ID_VENDOR_FROM_DATABASE=Computer Access Technology Corp.
+
+usb:v0423p000A*
+ ID_MODEL_FROM_DATABASE=NetMate Ethernet
+
+usb:v0423p000C*
+ ID_MODEL_FROM_DATABASE=NetMate2 Ethernet
+
+usb:v0423p000D*
+ ID_MODEL_FROM_DATABASE=USB Chief Analyzer
+
+usb:v0423p0100*
+ ID_MODEL_FROM_DATABASE=Generic Universal Protocol Analyzer
+
+usb:v0423p0101*
+ ID_MODEL_FROM_DATABASE=UPA USBTracer
+
+usb:v0423p0200*
+ ID_MODEL_FROM_DATABASE=Generic 10K Universal Protocol Analyzer
+
+usb:v0423p020A*
+ ID_MODEL_FROM_DATABASE=PETracer ML
+
+usb:v0423p0300*
+ ID_MODEL_FROM_DATABASE=Generic Universal Protocol Analyzer
+
+usb:v0423p0301*
+ ID_MODEL_FROM_DATABASE=2500H Tracer Trainer
+
+usb:v0423p030A*
+ ID_MODEL_FROM_DATABASE=PETracer x1
+
+usb:v0423p1237*
+ ID_MODEL_FROM_DATABASE=Andromeda Hub
+
+usb:v0424*
+ ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
+
+usb:v0424p0001*
+ ID_MODEL_FROM_DATABASE=Integrated Hub
+
+usb:v0424p0ACD*
+ ID_MODEL_FROM_DATABASE=Sitecom Internal Multi Memory reader/writer MD-005
+
+usb:v0424p0FDC*
+ ID_MODEL_FROM_DATABASE=Floppy
+
+usb:v0424p10CD*
+ ID_MODEL_FROM_DATABASE=Sitecom Internal Multi Memory reader/writer MD-005
+
+usb:v0424p2020*
+ ID_MODEL_FROM_DATABASE=USB Hub
+
+usb:v0424p20CD*
+ ID_MODEL_FROM_DATABASE=Sitecom Internal Multi Memory reader/writer MD-005
+
+usb:v0424p20FC*
+ ID_MODEL_FROM_DATABASE=6-in-1 Card Reader
+
+usb:v0424p2228*
+ ID_MODEL_FROM_DATABASE=9-in-2 Card Reader
+
+usb:v0424p223A*
+ ID_MODEL_FROM_DATABASE=8-in-1 Card Reader
+
+usb:v0424p2503*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Hub
+
+usb:v0424p2504*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Hub
+
+usb:v0424p2507*
+ ID_MODEL_FROM_DATABASE=hub
+
+usb:v0424p2512*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Hub
+
+usb:v0424p2513*
+ ID_MODEL_FROM_DATABASE=2.0 Hub
+
+usb:v0424p2514*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Hub
+
+usb:v0424p2517*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v0424p2524*
+ ID_MODEL_FROM_DATABASE=USB MultiSwitch Hub
+
+usb:v0424p2602*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Hub
+
+usb:v0424p2640*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Hub
+
+usb:v0424p4060*
+ ID_MODEL_FROM_DATABASE=Ultra Fast Media Reader
+
+usb:v0424p4064*
+ ID_MODEL_FROM_DATABASE=Ultra Fast Media Reader
+
+usb:v0424p7500*
+ ID_MODEL_FROM_DATABASE=LAN7500 Ethernet 10/100/1000 Adapter
+
+usb:v0424p9512*
+ ID_MODEL_FROM_DATABASE=LAN9500 Ethernet 10/100 Adapter / SMSC9512/9514 Hub
+
+usb:v0424pA700*
+ ID_MODEL_FROM_DATABASE=2 Port Hub
+
+usb:v0424pEC00*
+ ID_MODEL_FROM_DATABASE=SMSC9512/9514 Fast Ethernet Adapter
+
+usb:v0425*
+ ID_VENDOR_FROM_DATABASE=Motorola Semiconductors HK, Ltd
+
+usb:v0425p0101*
+ ID_MODEL_FROM_DATABASE=G-Tech Wireless Mouse & Keyboard
+
+usb:v0425pF102*
+ ID_MODEL_FROM_DATABASE=G-Tech U+P Wireless Mouse
+
+usb:v0426*
+ ID_VENDOR_FROM_DATABASE=Integrated Device Technology, Inc.
+
+usb:v0426p0426*
+ ID_MODEL_FROM_DATABASE=WDM Driver
+
+usb:v0427*
+ ID_VENDOR_FROM_DATABASE=Motorola Electronics Taiwan, Ltd
+
+usb:v0428*
+ ID_VENDOR_FROM_DATABASE=Advanced Gravis Computer Tech, Ltd
+
+usb:v0428p4001*
+ ID_MODEL_FROM_DATABASE=GamePad Pro
+
+usb:v0429*
+ ID_VENDOR_FROM_DATABASE=Cirrus Logic
+
+usb:v042A*
+ ID_VENDOR_FROM_DATABASE=Ericsson Austrian, AG
+
+usb:v042B*
+ ID_VENDOR_FROM_DATABASE=Intel Corp.
+
+usb:v042Bp9316*
+ ID_MODEL_FROM_DATABASE=8x931Hx Customer Hub
+
+usb:v042C*
+ ID_VENDOR_FROM_DATABASE=Innovative Semiconductors, Inc.
+
+usb:v042D*
+ ID_VENDOR_FROM_DATABASE=Micronics
+
+usb:v042E*
+ ID_VENDOR_FROM_DATABASE=Acer, Inc.
+
+usb:v042Ep0380*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v042F*
+ ID_VENDOR_FROM_DATABASE=Molex, Inc.
+
+usb:v0430*
+ ID_VENDOR_FROM_DATABASE=Sun Microsystems, Inc.
+
+usb:v0430p0002*
+ ID_MODEL_FROM_DATABASE=109 Keyboard
+
+usb:v0430p0005*
+ ID_MODEL_FROM_DATABASE=Type 6 Keyboard
+
+usb:v0430p000A*
+ ID_MODEL_FROM_DATABASE=109 Japanese Keyboard
+
+usb:v0430p000B*
+ ID_MODEL_FROM_DATABASE=109 Japanese Keyboard
+
+usb:v0430p0082*
+ ID_MODEL_FROM_DATABASE=109 Japanese Keyboard
+
+usb:v0430p0083*
+ ID_MODEL_FROM_DATABASE=109 Japanese Keyboard
+
+usb:v0430p00A2*
+ ID_MODEL_FROM_DATABASE=Type 7 Keyboard
+
+usb:v0430p0100*
+ ID_MODEL_FROM_DATABASE=3-button Mouse
+
+usb:v0430p100E*
+ ID_MODEL_FROM_DATABASE=24.1" LCD Monitor v4 / FID-638 Mouse
+
+usb:v0430p36BA*
+ ID_MODEL_FROM_DATABASE=Bus Powered Hub
+
+usb:v0430pA101*
+ ID_MODEL_FROM_DATABASE=remote key/mouse for P3 chip
+
+usb:v0430pA102*
+ ID_MODEL_FROM_DATABASE=remote key/mouse/storage for P3 chip
+
+usb:v0430pA103*
+ ID_MODEL_FROM_DATABASE=remote storage for P3 chip
+
+usb:v0430pA4A2*
+ ID_MODEL_FROM_DATABASE=Ethernet (RNDIS and CDC ethernet)
+
+usb:v0430pCDAB*
+ ID_MODEL_FROM_DATABASE=Raritan KVM dongle
+
+usb:v0431*
+ ID_VENDOR_FROM_DATABASE=Itac Systems, Inc.
+
+usb:v0431p0100*
+ ID_MODEL_FROM_DATABASE=Mouse-Trak 3-button Track Ball
+
+usb:v0432*
+ ID_VENDOR_FROM_DATABASE=Unisys Corp.
+
+usb:v0433*
+ ID_VENDOR_FROM_DATABASE=Alps Electric, Inc.
+
+usb:v0433p1101*
+ ID_MODEL_FROM_DATABASE=IBM Game Controller
+
+usb:v0433pABAB*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v0434*
+ ID_VENDOR_FROM_DATABASE=Samsung Info. Systems America, Inc.
+
+usb:v0435*
+ ID_VENDOR_FROM_DATABASE=Hyundai Electronics America
+
+usb:v0436*
+ ID_VENDOR_FROM_DATABASE=Taugagreining HF
+
+usb:v0436p0005*
+ ID_MODEL_FROM_DATABASE=CameraMate (DPCM_USB)
+
+usb:v0437*
+ ID_VENDOR_FROM_DATABASE=Framatome Connectors USA
+
+usb:v0438*
+ ID_VENDOR_FROM_DATABASE=Advanced Micro Devices, Inc.
+
+usb:v0439*
+ ID_VENDOR_FROM_DATABASE=Voice Technologies Group
+
+usb:v043D*
+ ID_VENDOR_FROM_DATABASE=Lexmark International, Inc.
+
+usb:v043Dp0001*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp0002*
+ ID_MODEL_FROM_DATABASE=Optra E310 Printer
+
+usb:v043Dp0003*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp0004*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp0005*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp0006*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp0007*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp0008*
+ ID_MODEL_FROM_DATABASE=Inkjet Color Printer
+
+usb:v043Dp0009*
+ ID_MODEL_FROM_DATABASE=Optra S2450 Printer
+
+usb:v043Dp000A*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp000B*
+ ID_MODEL_FROM_DATABASE=Inkjet Color Printer
+
+usb:v043Dp000C*
+ ID_MODEL_FROM_DATABASE=Optra E312 Printer
+
+usb:v043Dp000D*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp000E*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp000F*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp0010*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp0011*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp0012*
+ ID_MODEL_FROM_DATABASE=Inkjet Color Printer
+
+usb:v043Dp0013*
+ ID_MODEL_FROM_DATABASE=Inkjet Color Printer
+
+usb:v043Dp0014*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0015*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0016*
+ ID_MODEL_FROM_DATABASE=Z12 Color Jetprinter
+
+usb:v043Dp0017*
+ ID_MODEL_FROM_DATABASE=Z32 printer
+
+usb:v043Dp0018*
+ ID_MODEL_FROM_DATABASE=Z52 Printer
+
+usb:v043Dp0019*
+ ID_MODEL_FROM_DATABASE=Forms Printer
+
+usb:v043Dp001A*
+ ID_MODEL_FROM_DATABASE=Z65 Printer
+
+usb:v043Dp001B*
+ ID_MODEL_FROM_DATABASE=InkJet Photo Printer
+
+usb:v043Dp001C*
+ ID_MODEL_FROM_DATABASE=Kodak Personal Picture Maker 200 Printer
+
+usb:v043Dp001D*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp001E*
+ ID_MODEL_FROM_DATABASE=InkJet Photo Printer
+
+usb:v043Dp001F*
+ ID_MODEL_FROM_DATABASE=Kodak Personal Picture Maker 200 Card Reader
+
+usb:v043Dp0020*
+ ID_MODEL_FROM_DATABASE=Z51 Printer
+
+usb:v043Dp0021*
+ ID_MODEL_FROM_DATABASE=Z33 Printer
+
+usb:v043Dp0022*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0023*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp0024*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp0025*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0026*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0027*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0028*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0029*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp002A*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp002B*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp002C*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp002D*
+ ID_MODEL_FROM_DATABASE=X70/X73 Scan/Print/Copy
+
+usb:v043Dp002E*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp002F*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0030*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0031*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0032*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0033*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0034*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0035*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0036*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0037*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0038*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0039*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp003A*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp003B*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp003C*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp003D*
+ ID_MODEL_FROM_DATABASE=X83 Scan/Print/Copy
+
+usb:v043Dp003E*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp003F*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0040*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0041*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0042*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0043*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0044*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0045*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0046*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0047*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0048*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp0049*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp004A*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp004B*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp004C*
+ ID_MODEL_FROM_DATABASE=Scan Print Copy
+
+usb:v043Dp004D*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp004E*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp004F*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0050*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0051*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp0052*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp0053*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0054*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0057*
+ ID_MODEL_FROM_DATABASE=Z35 Printer
+
+usb:v043Dp0058*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v043Dp005A*
+ ID_MODEL_FROM_DATABASE=X63
+
+usb:v043Dp005C*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0060*
+ ID_MODEL_FROM_DATABASE=X74/X75 Scanner
+
+usb:v043Dp0061*
+ ID_MODEL_FROM_DATABASE=X74 Hub
+
+usb:v043Dp0065*
+ ID_MODEL_FROM_DATABASE=X5130
+
+usb:v043Dp0069*
+ ID_MODEL_FROM_DATABASE=X74/X75 Printer
+
+usb:v043Dp006D*
+ ID_MODEL_FROM_DATABASE=X125
+
+usb:v043Dp006E*
+ ID_MODEL_FROM_DATABASE=C510
+
+usb:v043Dp0072*
+ ID_MODEL_FROM_DATABASE=X6170 Printer
+
+usb:v043Dp0073*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0078*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp0079*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp007A*
+ ID_MODEL_FROM_DATABASE=Generic Hub
+
+usb:v043Dp007B*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp007C*
+ ID_MODEL_FROM_DATABASE=X1110/X1130/X1140/X1150/X1170/X1180/X1185
+
+usb:v043Dp007D*
+ ID_MODEL_FROM_DATABASE=Photo 3150
+
+usb:v043Dp008A*
+ ID_MODEL_FROM_DATABASE=4200 series
+
+usb:v043Dp008B*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp008C*
+ ID_MODEL_FROM_DATABASE=to CF/SM/SD/MS Card Reader
+
+usb:v043Dp008E*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp008F*
+ ID_MODEL_FROM_DATABASE=X422
+
+usb:v043Dp0093*
+ ID_MODEL_FROM_DATABASE=X5250
+
+usb:v043Dp0095*
+ ID_MODEL_FROM_DATABASE=E220 Printer
+
+usb:v043Dp0096*
+ ID_MODEL_FROM_DATABASE=2200 series
+
+usb:v043Dp0097*
+ ID_MODEL_FROM_DATABASE=P6250
+
+usb:v043Dp0098*
+ ID_MODEL_FROM_DATABASE=7100 series
+
+usb:v043Dp009E*
+ ID_MODEL_FROM_DATABASE=P910 series Human Interface Device
+
+usb:v043Dp009F*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp00A9*
+ ID_MODEL_FROM_DATABASE=IBM Infoprint 1410 MFP
+
+usb:v043Dp00AB*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp00B2*
+ ID_MODEL_FROM_DATABASE=3300 series
+
+usb:v043Dp00B8*
+ ID_MODEL_FROM_DATABASE=7300 series
+
+usb:v043Dp00B9*
+ ID_MODEL_FROM_DATABASE=8300 series
+
+usb:v043Dp00BA*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp00BB*
+ ID_MODEL_FROM_DATABASE=2300 series
+
+usb:v043Dp00BD*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v043Dp00BE*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v043Dp00BF*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v043Dp00C0*
+ ID_MODEL_FROM_DATABASE=6300 series
+
+usb:v043Dp00C1*
+ ID_MODEL_FROM_DATABASE=4300 series
+
+usb:v043Dp00C7*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v043Dp00C8*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v043Dp00C9*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v043Dp00CB*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v043Dp00CC*
+ ID_MODEL_FROM_DATABASE=E120(n)
+
+usb:v043Dp00D0*
+ ID_MODEL_FROM_DATABASE=9300 series
+
+usb:v043Dp00D3*
+ ID_MODEL_FROM_DATABASE=X340 Scanner
+
+usb:v043Dp00D4*
+ ID_MODEL_FROM_DATABASE=X342n Scanner
+
+usb:v043Dp00D5*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v043Dp00D6*
+ ID_MODEL_FROM_DATABASE=X340 Scanner
+
+usb:v043Dp00E8*
+ ID_MODEL_FROM_DATABASE=X642e
+
+usb:v043Dp00E9*
+ ID_MODEL_FROM_DATABASE=2400 series
+
+usb:v043Dp00F6*
+ ID_MODEL_FROM_DATABASE=3400 series
+
+usb:v043Dp00F7*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp00FF*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v043Dp010B*
+ ID_MODEL_FROM_DATABASE=2500 series
+
+usb:v043Dp010D*
+ ID_MODEL_FROM_DATABASE=3500-4500 series
+
+usb:v043Dp010F*
+ ID_MODEL_FROM_DATABASE=6500 series
+
+usb:v043Dp0142*
+ ID_MODEL_FROM_DATABASE=X3650 (Printer, Scanner, Copier)
+
+usb:v043Dp4303*
+ ID_MODEL_FROM_DATABASE=Xerox WorkCentre Pro 412
+
+usb:v043E*
+ ID_VENDOR_FROM_DATABASE=LG Electronics USA, Inc.
+
+usb:v043Ep3001*
+ ID_MODEL_FROM_DATABASE=AN-WF100 802.11abgn Wireless Adapter [Broadcom BCM4323]
+
+usb:v043Ep42BD*
+ ID_MODEL_FROM_DATABASE=Flatron 795FT Plus Monitor
+
+usb:v043Ep4A4D*
+ ID_MODEL_FROM_DATABASE=Flatron 915FT Plus Monitor
+
+usb:v043Ep7001*
+ ID_MODEL_FROM_DATABASE=MF-PD100 Soul Digital MP3 Player
+
+usb:v043Ep7013*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v043Ep8484*
+ ID_MODEL_FROM_DATABASE=LPC-U30 Webcam II
+
+usb:v043Ep8585*
+ ID_MODEL_FROM_DATABASE=LPC-UC35 Webcam
+
+usb:v043Ep8888*
+ ID_MODEL_FROM_DATABASE=Electronics VCS Camera II(LPC-U20)
+
+usb:v043Ep9800*
+ ID_MODEL_FROM_DATABASE=Remote Control Receiver_iMON
+
+usb:v043Ep9803*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v043Ep9804*
+ ID_MODEL_FROM_DATABASE=DMB Receiver Control
+
+usb:v043Ep9C01*
+ ID_MODEL_FROM_DATABASE=LGE Sync
+
+usb:v043F*
+ ID_VENDOR_FROM_DATABASE=RadiSys Corp.
+
+usb:v0440*
+ ID_VENDOR_FROM_DATABASE=Eizo Nanao Corp.
+
+usb:v0441*
+ ID_VENDOR_FROM_DATABASE=Winbond Systems Lab.
+
+usb:v0441p1456*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v0442*
+ ID_VENDOR_FROM_DATABASE=Ericsson, Inc.
+
+usb:v0442pABBA*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0443*
+ ID_VENDOR_FROM_DATABASE=Gateway, Inc.
+
+usb:v0443p000E*
+ ID_MODEL_FROM_DATABASE=Multimedia Keyboard
+
+usb:v0443p002E*
+ ID_MODEL_FROM_DATABASE=Millennium Keyboard
+
+usb:v0445*
+ ID_VENDOR_FROM_DATABASE=Lucent Technologies, Inc.
+
+usb:v0446*
+ ID_VENDOR_FROM_DATABASE=NMB Technologies Corp.
+
+usb:v0446p6781*
+ ID_MODEL_FROM_DATABASE=Keyboard with PS/2 Mouse Port
+
+usb:v0446p6782*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v0447*
+ ID_VENDOR_FROM_DATABASE=Momentum Microsystems
+
+usb:v044A*
+ ID_VENDOR_FROM_DATABASE=Shamrock Tech. Co., Ltd
+
+usb:v044B*
+ ID_VENDOR_FROM_DATABASE=WSI
+
+usb:v044C*
+ ID_VENDOR_FROM_DATABASE=CCL/ITRI
+
+usb:v044D*
+ ID_VENDOR_FROM_DATABASE=Siemens Nixdorf AG
+
+usb:v044E*
+ ID_VENDOR_FROM_DATABASE=Alps Electric Co., Ltd
+
+usb:v044Ep1104*
+ ID_MODEL_FROM_DATABASE=Japanese Keyboard
+
+usb:v044Ep2002*
+ ID_MODEL_FROM_DATABASE=MD-5500 Printer
+
+usb:v044Ep2014*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v044Ep3001*
+ ID_MODEL_FROM_DATABASE=UGTZ4 Bluetooth
+
+usb:v044Ep3002*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v044Ep3003*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v044Ep3004*
+ ID_MODEL_FROM_DATABASE=Bluetooth Adapter
+
+usb:v044Ep3005*
+ ID_MODEL_FROM_DATABASE=Integrated Bluetooth Device
+
+usb:v044Ep3006*
+ ID_MODEL_FROM_DATABASE=Bluetooth Adapter
+
+usb:v044Ep3007*
+ ID_MODEL_FROM_DATABASE=Bluetooth Controller (ALPS/UGX)
+
+usb:v044Ep300C*
+ ID_MODEL_FROM_DATABASE=Bluetooth Controller (ALPS/UGPZ6)
+
+usb:v044Ep300D*
+ ID_MODEL_FROM_DATABASE=Bluetooth Controller (ALPS/UGPZ6)
+
+usb:v044Ep3010*
+ ID_MODEL_FROM_DATABASE=Bluetooth Adapter
+
+usb:v044Ep3017*
+ ID_MODEL_FROM_DATABASE=BCM2046 Bluetooth Device
+
+usb:v044EpFFFF*
+ ID_MODEL_FROM_DATABASE=Compaq Bluetooth Multiport Module
+
+usb:v044F*
+ ID_VENDOR_FROM_DATABASE=ThrustMaster, Inc.
+
+usb:v044Fp0400*
+ ID_MODEL_FROM_DATABASE=HOTAS Cougar
+
+usb:v044Fp044F*
+ ID_MODEL_FROM_DATABASE=GP XID
+
+usb:v044FpA003*
+ ID_MODEL_FROM_DATABASE=Rage 3D Game Pad
+
+usb:v044FpA01B*
+ ID_MODEL_FROM_DATABASE=PK-GP301 Driving Wheel
+
+usb:v044FpA0A0*
+ ID_MODEL_FROM_DATABASE=Top Gun Joystick
+
+usb:v044FpA0A1*
+ ID_MODEL_FROM_DATABASE=Top Gun Joystick (rev2)
+
+usb:v044FpA0A3*
+ ID_MODEL_FROM_DATABASE=Fusion Digital GamePad
+
+usb:v044FpA201*
+ ID_MODEL_FROM_DATABASE=PK-GP201 PlayStick
+
+usb:v044FpB108*
+ ID_MODEL_FROM_DATABASE=T-Flight Hotas X Flight Stick
+
+usb:v044FpB10A*
+ ID_MODEL_FROM_DATABASE=T.16000M Joystick
+
+usb:v044FpB203*
+ ID_MODEL_FROM_DATABASE=360 Modena Pro Wheel
+
+usb:v044FpB300*
+ ID_MODEL_FROM_DATABASE=Firestorm Dual Power
+
+usb:v044FpB304*
+ ID_MODEL_FROM_DATABASE=Firestorm Dual Power
+
+usb:v044FpB307*
+ ID_MODEL_FROM_DATABASE=vibrating Upad
+
+usb:v044FpB30B*
+ ID_MODEL_FROM_DATABASE=Wireless VibrationPad
+
+usb:v044FpB315*
+ ID_MODEL_FROM_DATABASE=Firestorm Dual Analog 3
+
+usb:v044FpB323*
+ ID_MODEL_FROM_DATABASE=Dual Trigger 3-in-1 (PC Mode)
+
+usb:v044FpB324*
+ ID_MODEL_FROM_DATABASE=Dual Trigger 3-in-1 (PS3 Mode)
+
+usb:v044FpB603*
+ ID_MODEL_FROM_DATABASE=force feedback Wheel
+
+usb:v044FpB605*
+ ID_MODEL_FROM_DATABASE=force feedback Racing Wheel
+
+usb:v044FpB651*
+ ID_MODEL_FROM_DATABASE=Ferrari GT Rumble Force Wheel
+
+usb:v044FpB653*
+ ID_MODEL_FROM_DATABASE=RGT Force Feedback Clutch Racing Wheel
+
+usb:v044FpB654*
+ ID_MODEL_FROM_DATABASE=Ferrari GT Force Feedback Wheel
+
+usb:v044FpB700*
+ ID_MODEL_FROM_DATABASE=Tacticalboard
+
+usb:v0450*
+ ID_VENDOR_FROM_DATABASE=DFI, Inc.
+
+usb:v0451*
+ ID_VENDOR_FROM_DATABASE=Texas Instruments, Inc.
+
+usb:v0451p1234*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0451p1428*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v0451p1446*
+ ID_MODEL_FROM_DATABASE=TUSB2040/2070 Hub
+
+usb:v0451p16A6*
+ ID_MODEL_FROM_DATABASE=BM-USBD1 BlueRobin RF heart rate sensor receiver
+
+usb:v0451p2036*
+ ID_MODEL_FROM_DATABASE=TUSB2036 Hub
+
+usb:v0451p2046*
+ ID_MODEL_FROM_DATABASE=TUSB2046 Hub
+
+usb:v0451p2077*
+ ID_MODEL_FROM_DATABASE=TUSB2077 Hub
+
+usb:v0451p3410*
+ ID_MODEL_FROM_DATABASE=TUSB3410 Microcontroller
+
+usb:v0451p3F00*
+ ID_MODEL_FROM_DATABASE=OMAP1610
+
+usb:v0451p3F02*
+ ID_MODEL_FROM_DATABASE=SMC WSKP100 Wi-Fi Phone
+
+usb:v0451p5409*
+ ID_MODEL_FROM_DATABASE=Frontier Labs NEX IA+ Digital Audio Player
+
+usb:v0451p6000*
+ ID_MODEL_FROM_DATABASE=AU5 ADSL Modem (pre-reenum)
+
+usb:v0451p6001*
+ ID_MODEL_FROM_DATABASE=AU5 ADSL Modem
+
+usb:v0451p6060*
+ ID_MODEL_FROM_DATABASE=RNDIS/BeWAN ADSL2+
+
+usb:v0451p6070*
+ ID_MODEL_FROM_DATABASE=RNDIS/BeWAN ADSL2+
+
+usb:v0451p625F*
+ ID_MODEL_FROM_DATABASE=TUSB6250 ATA Bridge
+
+usb:v0451p8042*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v0451pDBC0*
+ ID_MODEL_FROM_DATABASE=Device Bay Controller
+
+usb:v0451pE001*
+ ID_MODEL_FROM_DATABASE=GraphLink
+
+usb:v0451pE003*
+ ID_MODEL_FROM_DATABASE=TI-84 Plus Calculator
+
+usb:v0451pE004*
+ ID_MODEL_FROM_DATABASE=TI-89 Titanium Calculator
+
+usb:v0451pE008*
+ ID_MODEL_FROM_DATABASE=TI-84 Plus Silver Calculator
+
+usb:v0451pF430*
+ ID_MODEL_FROM_DATABASE=MSP-FET430UIF JTAG Tool
+
+usb:v0451pF432*
+ ID_MODEL_FROM_DATABASE=eZ430 Development Tool
+
+usb:v0451pFFFF*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0452*
+ ID_VENDOR_FROM_DATABASE=Mitsubishi Electronics America, Inc.
+
+usb:v0452p0021*
+ ID_MODEL_FROM_DATABASE=HID Monitor Controls
+
+usb:v0452p0050*
+ ID_MODEL_FROM_DATABASE=Diamond Pro 900u CRT Monitor
+
+usb:v0452p0051*
+ ID_MODEL_FROM_DATABASE=Integrated Hub
+
+usb:v0453*
+ ID_VENDOR_FROM_DATABASE=CMD Technology
+
+usb:v0453p6781*
+ ID_MODEL_FROM_DATABASE=NMB Keyboard
+
+usb:v0453p6783*
+ ID_MODEL_FROM_DATABASE=Chicony Composite Keyboard
+
+usb:v0454*
+ ID_VENDOR_FROM_DATABASE=Vobis Microcomputer AG
+
+usb:v0455*
+ ID_VENDOR_FROM_DATABASE=Telematics International, Inc.
+
+usb:v0456*
+ ID_VENDOR_FROM_DATABASE=Analog Devices, Inc.
+
+usb:v0456pF000*
+ ID_MODEL_FROM_DATABASE=FT2232 JTAG ICE [gnICE]
+
+usb:v0456pF001*
+ ID_MODEL_FROM_DATABASE=FT2232H Hi-Speed JTAG ICE [gnICE+]
+
+usb:v0457*
+ ID_VENDOR_FROM_DATABASE=Silicon Integrated Systems Corp.
+
+usb:v0457p0150*
+ ID_MODEL_FROM_DATABASE=Super Talent 1GB Flash Drive
+
+usb:v0457p0151*
+ ID_MODEL_FROM_DATABASE=Super Flash 1GB / GXT 64MB Flash Drive
+
+usb:v0457p0162*
+ ID_MODEL_FROM_DATABASE=SiS162 usb Wireless LAN Adapter
+
+usb:v0457p0163*
+ ID_MODEL_FROM_DATABASE=802.11 Wireless LAN Adapter
+
+usb:v0457p5401*
+ ID_MODEL_FROM_DATABASE=Wireless Adapter RO80211GS-USB
+
+usb:v0458*
+ ID_VENDOR_FROM_DATABASE=KYE Systems Corp. (Mouse Systems)
+
+usb:v0458p0001*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v0458p0002*
+ ID_MODEL_FROM_DATABASE=Genius NetMouse Pro
+
+usb:v0458p0003*
+ ID_MODEL_FROM_DATABASE=Genius NetScroll+
+
+usb:v0458p0006*
+ ID_MODEL_FROM_DATABASE=Easy Mouse+
+
+usb:v0458p000B*
+ ID_MODEL_FROM_DATABASE=NetMouse Wheel(P+U)
+
+usb:v0458p000C*
+ ID_MODEL_FROM_DATABASE=TACOMA Fingerprint V1.06.01
+
+usb:v0458p000E*
+ ID_MODEL_FROM_DATABASE=VideoCAM Web
+
+usb:v0458p0013*
+ ID_MODEL_FROM_DATABASE=TACOMA Fingerprint Mouse V1.06.01
+
+usb:v0458p001A*
+ ID_MODEL_FROM_DATABASE=Genius WebScroll+
+
+usb:v0458p0036*
+ ID_MODEL_FROM_DATABASE=Pocket Mouse LE
+
+usb:v0458p0039*
+ ID_MODEL_FROM_DATABASE=NetScroll+ Superior
+
+usb:v0458p003A*
+ ID_MODEL_FROM_DATABASE=NetScroll+ Mini Traveler / Genius NetScroll 120
+
+usb:v0458p004C*
+ ID_MODEL_FROM_DATABASE=Slimstar Pro Keyboard
+
+usb:v0458p0056*
+ ID_MODEL_FROM_DATABASE=Ergo 300 Mouse
+
+usb:v0458p0057*
+ ID_MODEL_FROM_DATABASE=Enhanced Gaming Device
+
+usb:v0458p0059*
+ ID_MODEL_FROM_DATABASE=Enhanced Laser Device
+
+usb:v0458p005A*
+ ID_MODEL_FROM_DATABASE=Enhanced Device
+
+usb:v0458p005B*
+ ID_MODEL_FROM_DATABASE=Enhanced Device
+
+usb:v0458p005C*
+ ID_MODEL_FROM_DATABASE=Enhanced Laser Gaming Device
+
+usb:v0458p005D*
+ ID_MODEL_FROM_DATABASE=Enhanced Device
+
+usb:v0458p0061*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle
+
+usb:v0458p0066*
+ ID_MODEL_FROM_DATABASE=Genius Traveler 1000 Wireless Mouse
+
+usb:v0458p0072*
+ ID_MODEL_FROM_DATABASE=Navigator 335
+
+usb:v0458p0083*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle
+
+usb:v0458p0087*
+ ID_MODEL_FROM_DATABASE=Ergo 525V Laser Mouse
+
+usb:v0458p00CA*
+ ID_MODEL_FROM_DATABASE=Pen Mouse
+
+usb:v0458p0100*
+ ID_MODEL_FROM_DATABASE=EasyPen Tablet
+
+usb:v0458p0101*
+ ID_MODEL_FROM_DATABASE=CueCat
+
+usb:v0458p011B*
+ ID_MODEL_FROM_DATABASE=NetScroll T220
+
+usb:v0458p1001*
+ ID_MODEL_FROM_DATABASE=Joystick
+
+usb:v0458p1002*
+ ID_MODEL_FROM_DATABASE=Game Pad
+
+usb:v0458p1003*
+ ID_MODEL_FROM_DATABASE=Genius VideoCam
+
+usb:v0458p1004*
+ ID_MODEL_FROM_DATABASE=Flight2000 F-23 Joystick
+
+usb:v0458p100A*
+ ID_MODEL_FROM_DATABASE=Aashima Technology Trust Sight Fighter Vibration Feedback Joystick
+
+usb:v0458p2001*
+ ID_MODEL_FROM_DATABASE=ColorPage-Vivid Pro Scanner
+
+usb:v0458p2004*
+ ID_MODEL_FROM_DATABASE=ColorPage-HR6 V1 Scanner
+
+usb:v0458p2005*
+ ID_MODEL_FROM_DATABASE=ColorPage-HR6/Vivid3
+
+usb:v0458p2007*
+ ID_MODEL_FROM_DATABASE=ColorPage-HR6 V2 Scanner
+
+usb:v0458p2008*
+ ID_MODEL_FROM_DATABASE=ColorPage-HR6 V2 Scanner
+
+usb:v0458p2009*
+ ID_MODEL_FROM_DATABASE=ColorPage-HR6A Scanner
+
+usb:v0458p2011*
+ ID_MODEL_FROM_DATABASE=ColorPage-Vivid3x Scanner
+
+usb:v0458p2012*
+ ID_MODEL_FROM_DATABASE=Plustek Scanner
+
+usb:v0458p2013*
+ ID_MODEL_FROM_DATABASE=ColorPage-HR7 Scanner
+
+usb:v0458p2014*
+ ID_MODEL_FROM_DATABASE=ColorPage-Vivid4
+
+usb:v0458p2015*
+ ID_MODEL_FROM_DATABASE=ColorPage-HR7LE Scanner
+
+usb:v0458p2016*
+ ID_MODEL_FROM_DATABASE=ColorPage-HR6X Scanner
+
+usb:v0458p2017*
+ ID_MODEL_FROM_DATABASE=ColorPage-Vivid3xe
+
+usb:v0458p2018*
+ ID_MODEL_FROM_DATABASE=ColorPage-HR7X
+
+usb:v0458p2019*
+ ID_MODEL_FROM_DATABASE=ColorPage-HR6X Slim
+
+usb:v0458p201A*
+ ID_MODEL_FROM_DATABASE=ColorPage-Vivid4xe
+
+usb:v0458p201B*
+ ID_MODEL_FROM_DATABASE=ColorPage-Vivid4x
+
+usb:v0458p201C*
+ ID_MODEL_FROM_DATABASE=ColorPage-HR8
+
+usb:v0458p201D*
+ ID_MODEL_FROM_DATABASE=ColorPage-Vivid 1200 X
+
+usb:v0458p201E*
+ ID_MODEL_FROM_DATABASE=ColorPage-Slim 1200
+
+usb:v0458p201F*
+ ID_MODEL_FROM_DATABASE=ColorPage-Vivid 1200 XE
+
+usb:v0458p2020*
+ ID_MODEL_FROM_DATABASE=ColorPage-Slim 1200 USB2
+
+usb:v0458p2021*
+ ID_MODEL_FROM_DATABASE=ColorPage-SF600
+
+usb:v0458p3017*
+ ID_MODEL_FROM_DATABASE=SPEED WHEEL 3 Vibration
+
+usb:v0458p3018*
+ ID_MODEL_FROM_DATABASE=Wireless 2.4Ghz Game Pad
+
+usb:v0458p3019*
+ ID_MODEL_FROM_DATABASE=10-Button USB Joystick with Vibration
+
+usb:v0458p301A*
+ ID_MODEL_FROM_DATABASE=MaxFire G-12U Vibration
+
+usb:v0458p301D*
+ ID_MODEL_FROM_DATABASE=Genius MaxFire MiniPad
+
+usb:v0458p400F*
+ ID_MODEL_FROM_DATABASE=Genius TVGo DVB-T02Q MCE
+
+usb:v0458p4012*
+ ID_MODEL_FROM_DATABASE=TVGo DVB-T03 [AF9015]
+
+usb:v0458p5003*
+ ID_MODEL_FROM_DATABASE=G-pen 560 Tablet
+
+usb:v0458p5004*
+ ID_MODEL_FROM_DATABASE=G-pen Tablet
+
+usb:v0458p6001*
+ ID_MODEL_FROM_DATABASE=GF3000F Ethernet Adapter
+
+usb:v0458p7004*
+ ID_MODEL_FROM_DATABASE=VideoCAM Express V2
+
+usb:v0458p7006*
+ ID_MODEL_FROM_DATABASE=Dsc 1.3 Smart Camera Device
+
+usb:v0458p7007*
+ ID_MODEL_FROM_DATABASE=VideoCAM Web
+
+usb:v0458p7009*
+ ID_MODEL_FROM_DATABASE=G-Shot G312 Still Camera Device
+
+usb:v0458p700C*
+ ID_MODEL_FROM_DATABASE=VideoCAM Web V3
+
+usb:v0458p700D*
+ ID_MODEL_FROM_DATABASE=G-Shot G511 Composite Device
+
+usb:v0458p700F*
+ ID_MODEL_FROM_DATABASE=VideoCAM Web
+
+usb:v0458p7012*
+ ID_MODEL_FROM_DATABASE=WebCAM USB2.0
+
+usb:v0458p7014*
+ ID_MODEL_FROM_DATABASE=VideoCAM Live V3
+
+usb:v0458p701C*
+ ID_MODEL_FROM_DATABASE=G-Shot G512 Still Camera
+
+usb:v0458p7020*
+ ID_MODEL_FROM_DATABASE=Sim 321C
+
+usb:v0458p7025*
+ ID_MODEL_FROM_DATABASE=Eye 311Q Camera
+
+usb:v0458p7029*
+ ID_MODEL_FROM_DATABASE=Genius Look 320s (SN9C201 + HV7131R)
+
+usb:v0458p702F*
+ ID_MODEL_FROM_DATABASE=Genius Slim 322
+
+usb:v0458p7035*
+ ID_MODEL_FROM_DATABASE=i-Look 325T Camera
+
+usb:v0458p7045*
+ ID_MODEL_FROM_DATABASE=Genius Look 1320 V2
+
+usb:v0458p704C*
+ ID_MODEL_FROM_DATABASE=Genius i-Look 1321
+
+usb:v0458p704D*
+ ID_MODEL_FROM_DATABASE=Slim 1322AF
+
+usb:v0458p7055*
+ ID_MODEL_FROM_DATABASE=Slim 2020AF camera
+
+usb:v0458p705A*
+ ID_MODEL_FROM_DATABASE=Asus USB2.0 Webcam
+
+usb:v0458p705C*
+ ID_MODEL_FROM_DATABASE=Genius iSlim 1300AF
+
+usb:v0458p7079*
+ ID_MODEL_FROM_DATABASE=FaceCam 2025R
+
+usb:v0458p707F*
+ ID_MODEL_FROM_DATABASE=TVGo DVB-T03 [RTL2832]
+
+usb:v0459*
+ ID_VENDOR_FROM_DATABASE=Adobe Systems, Inc.
+
+usb:v045A*
+ ID_VENDOR_FROM_DATABASE=SONICblue, Inc.
+
+usb:v045Ap07DA*
+ ID_MODEL_FROM_DATABASE=Supra Express 56K modem
+
+usb:v045Ap0B4A*
+ ID_MODEL_FROM_DATABASE=SupraMax 2890 56K Modem [Lucent Atlas]
+
+usb:v045Ap0B68*
+ ID_MODEL_FROM_DATABASE=SupraMax 56K Modem
+
+usb:v045Ap5001*
+ ID_MODEL_FROM_DATABASE=Rio 600 MP3 Player
+
+usb:v045Ap5002*
+ ID_MODEL_FROM_DATABASE=Rio 800 MP3 Player
+
+usb:v045Ap5003*
+ ID_MODEL_FROM_DATABASE=Nike Psa/Play MP3 Player
+
+usb:v045Ap5005*
+ ID_MODEL_FROM_DATABASE=Rio S10 MP3 Player
+
+usb:v045Ap5006*
+ ID_MODEL_FROM_DATABASE=Rio S50 MP3 Player
+
+usb:v045Ap5007*
+ ID_MODEL_FROM_DATABASE=Rio S35 MP3 Player
+
+usb:v045Ap5008*
+ ID_MODEL_FROM_DATABASE=Rio 900 MP3 Player
+
+usb:v045Ap5009*
+ ID_MODEL_FROM_DATABASE=Rio S30 MP3 Player
+
+usb:v045Ap500D*
+ ID_MODEL_FROM_DATABASE=Fuse MP3 Player
+
+usb:v045Ap500E*
+ ID_MODEL_FROM_DATABASE=Chiba MP3 Player
+
+usb:v045Ap500F*
+ ID_MODEL_FROM_DATABASE=Cali MP3 Player
+
+usb:v045Ap5010*
+ ID_MODEL_FROM_DATABASE=Rio S11 MP3 Player
+
+usb:v045Ap501C*
+ ID_MODEL_FROM_DATABASE=Virgin MPF-1000
+
+usb:v045Ap501D*
+ ID_MODEL_FROM_DATABASE=Rio Fuse
+
+usb:v045Ap501E*
+ ID_MODEL_FROM_DATABASE=Rio Chiba
+
+usb:v045Ap501F*
+ ID_MODEL_FROM_DATABASE=Rio Cali
+
+usb:v045Ap503F*
+ ID_MODEL_FROM_DATABASE=Cali256 MP3 Player
+
+usb:v045Ap5202*
+ ID_MODEL_FROM_DATABASE=Rio Riot MP3 Player
+
+usb:v045Ap5210*
+ ID_MODEL_FROM_DATABASE=Rio Karma Music Player
+
+usb:v045Ap5220*
+ ID_MODEL_FROM_DATABASE=Rio Nitrus MP3 Player
+
+usb:v045Ap5221*
+ ID_MODEL_FROM_DATABASE=Rio Eigen
+
+usb:v045B*
+ ID_VENDOR_FROM_DATABASE=Hitachi, Ltd
+
+usb:v045Bp0053*
+ ID_MODEL_FROM_DATABASE=RX610 RX-Stick
+
+usb:v045D*
+ ID_VENDOR_FROM_DATABASE=Nortel Networks, Ltd
+
+usb:v045E*
+ ID_VENDOR_FROM_DATABASE=Microsoft Corp.
+
+usb:v045Ep0007*
+ ID_MODEL_FROM_DATABASE=SideWinder Game Pad
+
+usb:v045Ep0008*
+ ID_MODEL_FROM_DATABASE=SideWinder Precision Pro
+
+usb:v045Ep0009*
+ ID_MODEL_FROM_DATABASE=IntelliMouse
+
+usb:v045Ep000B*
+ ID_MODEL_FROM_DATABASE=Natural Keyboard Elite
+
+usb:v045Ep000E*
+ ID_MODEL_FROM_DATABASE=SideWinder® Freestyle Pro
+
+usb:v045Ep0014*
+ ID_MODEL_FROM_DATABASE=Digital Sound System 80
+
+usb:v045Ep001A*
+ ID_MODEL_FROM_DATABASE=SideWinder Precision Racing Wheel
+
+usb:v045Ep001B*
+ ID_MODEL_FROM_DATABASE=SideWinder Force Feedback 2 Joystick
+
+usb:v045Ep001C*
+ ID_MODEL_FROM_DATABASE=Internet Keyboard Pro
+
+usb:v045Ep001D*
+ ID_MODEL_FROM_DATABASE=Natural Keyboard Pro
+
+usb:v045Ep001E*
+ ID_MODEL_FROM_DATABASE=IntelliMouse Explorer
+
+usb:v045Ep0023*
+ ID_MODEL_FROM_DATABASE=Trackball Optical
+
+usb:v045Ep0024*
+ ID_MODEL_FROM_DATABASE=Trackball Explorer
+
+usb:v045Ep0025*
+ ID_MODEL_FROM_DATABASE=IntelliEye Mouse
+
+usb:v045Ep0026*
+ ID_MODEL_FROM_DATABASE=SideWinder GamePad Pro
+
+usb:v045Ep0027*
+ ID_MODEL_FROM_DATABASE=SideWinder PnP GamePad
+
+usb:v045Ep0028*
+ ID_MODEL_FROM_DATABASE=SideWinder Dual Strike
+
+usb:v045Ep0029*
+ ID_MODEL_FROM_DATABASE=IntelliMouse Optical
+
+usb:v045Ep002B*
+ ID_MODEL_FROM_DATABASE=Internet Keyboard Pro
+
+usb:v045Ep002D*
+ ID_MODEL_FROM_DATABASE=Internet Keyboard
+
+usb:v045Ep002F*
+ ID_MODEL_FROM_DATABASE=Integrated Hub
+
+usb:v045Ep0033*
+ ID_MODEL_FROM_DATABASE=Sidewinder Strategic Commander
+
+usb:v045Ep0034*
+ ID_MODEL_FROM_DATABASE=SideWinder Force Feedback Wheel
+
+usb:v045Ep0038*
+ ID_MODEL_FROM_DATABASE=SideWinder Precision 2
+
+usb:v045Ep0039*
+ ID_MODEL_FROM_DATABASE=IntelliMouse Optical
+
+usb:v045Ep003B*
+ ID_MODEL_FROM_DATABASE=SideWinder Game Voice
+
+usb:v045Ep003C*
+ ID_MODEL_FROM_DATABASE=SideWinder Joystick
+
+usb:v045Ep0040*
+ ID_MODEL_FROM_DATABASE=Wheel Mouse Optical
+
+usb:v045Ep0047*
+ ID_MODEL_FROM_DATABASE=IntelliMouse Explorer 3.0
+
+usb:v045Ep0048*
+ ID_MODEL_FROM_DATABASE=Office Keyboard 1.0A
+
+usb:v045Ep0053*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v045Ep0059*
+ ID_MODEL_FROM_DATABASE=Wireless IntelliMouse Explorer
+
+usb:v045Ep005C*
+ ID_MODEL_FROM_DATABASE=Office Keyboard (106/109)
+
+usb:v045Ep005F*
+ ID_MODEL_FROM_DATABASE=Wireless MultiMedia Keyboard
+
+usb:v045Ep0061*
+ ID_MODEL_FROM_DATABASE=Wireless MultiMedia Keyboard (106/109)
+
+usb:v045Ep0063*
+ ID_MODEL_FROM_DATABASE=Wireless Natural MultiMedia Keyboard
+
+usb:v045Ep0065*
+ ID_MODEL_FROM_DATABASE=Wireless Natural MultiMedia Keyboard (106/109)
+
+usb:v045Ep006A*
+ ID_MODEL_FROM_DATABASE=Wireless Optical Mouse (IntelliPoint)
+
+usb:v045Ep006D*
+ ID_MODEL_FROM_DATABASE=eHome Remote Control Keyboard keys
+
+usb:v045Ep006E*
+ ID_MODEL_FROM_DATABASE=MN-510 802.11b Wireless Adapter [Intersil ISL3873B]
+
+usb:v045Ep006F*
+ ID_MODEL_FROM_DATABASE=Smart Display Reference Device
+
+usb:v045Ep0070*
+ ID_MODEL_FROM_DATABASE=Wireless MultiMedia Keyboard
+
+usb:v045Ep0071*
+ ID_MODEL_FROM_DATABASE=Wireless MultiMedia Keyboard (106/109)
+
+usb:v045Ep0072*
+ ID_MODEL_FROM_DATABASE=Wireless Natural MultiMedia Keyboard
+
+usb:v045Ep0073*
+ ID_MODEL_FROM_DATABASE=Wireless Natural MultiMedia Keyboard (106/109)
+
+usb:v045Ep0079*
+ ID_MODEL_FROM_DATABASE=IXI Ogo CT-17 handheld device
+
+usb:v045Ep007A*
+ ID_MODEL_FROM_DATABASE=10/100 USB NIC
+
+usb:v045Ep007D*
+ ID_MODEL_FROM_DATABASE=Notebook Optical Mouse
+
+usb:v045Ep007E*
+ ID_MODEL_FROM_DATABASE=Wireless Transceiver for Bluetooth
+
+usb:v045Ep0080*
+ ID_MODEL_FROM_DATABASE=Digital Media Pro Keyboard
+
+usb:v045Ep0083*
+ ID_MODEL_FROM_DATABASE=Basic Optical Mouse
+
+usb:v045Ep0084*
+ ID_MODEL_FROM_DATABASE=Basic Optical Mouse
+
+usb:v045Ep008A*
+ ID_MODEL_FROM_DATABASE=Wireless Keyboard and Mouse
+
+usb:v045Ep008B*
+ ID_MODEL_FROM_DATABASE=Dual Receiver Wireless Mouse (IntelliPoint)
+
+usb:v045Ep008C*
+ ID_MODEL_FROM_DATABASE=Wireless Intellimouse Explorer 2.0
+
+usb:v045Ep0095*
+ ID_MODEL_FROM_DATABASE=IntelliMouse Explorer 4.0 (IntelliPoint)
+
+usb:v045Ep009C*
+ ID_MODEL_FROM_DATABASE=Wireless Transceiver for Bluetooth 2.0
+
+usb:v045Ep009D*
+ ID_MODEL_FROM_DATABASE=Wireless Optical Desktop 3.0
+
+usb:v045Ep00A0*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v045Ep00A4*
+ ID_MODEL_FROM_DATABASE=Compact Optical Mouse, model 1016
+
+usb:v045Ep00B0*
+ ID_MODEL_FROM_DATABASE=Digital Media Pro Keyboard
+
+usb:v045Ep00B4*
+ ID_MODEL_FROM_DATABASE=Digital Media Keyboard 1.0A
+
+usb:v045Ep00B9*
+ ID_MODEL_FROM_DATABASE=Wireless Optical Mouse 3.0
+
+usb:v045Ep00BB*
+ ID_MODEL_FROM_DATABASE=Fingerprint Reader
+
+usb:v045Ep00BC*
+ ID_MODEL_FROM_DATABASE=Fingerprint Reader
+
+usb:v045Ep00BD*
+ ID_MODEL_FROM_DATABASE=Fingerprint Reader
+
+usb:v045Ep00C2*
+ ID_MODEL_FROM_DATABASE=MN-710 802.11g Wireless Adapter [Intersil ISL3886]
+
+usb:v045Ep00C9*
+ ID_MODEL_FROM_DATABASE=MTP Device
+
+usb:v045Ep00CA*
+ ID_MODEL_FROM_DATABASE=Fingerprint Reader
+
+usb:v045Ep00CB*
+ ID_MODEL_FROM_DATABASE=Basic Optical Mouse v2.0
+
+usb:v045Ep00CE*
+ ID_MODEL_FROM_DATABASE=Generic PPC Flash device
+
+usb:v045Ep00D1*
+ ID_MODEL_FROM_DATABASE=Optical Mouse with Tilt Wheel
+
+usb:v045Ep00DA*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v045Ep00DB*
+ ID_MODEL_FROM_DATABASE=Natural Ergonomic Keyboard 4000 V1.0
+
+usb:v045Ep00DD*
+ ID_MODEL_FROM_DATABASE=Comfort Curve Keyboard 2000 V1.0
+
+usb:v045Ep00E1*
+ ID_MODEL_FROM_DATABASE=Wireless Laser Mouse 6000 Reciever
+
+usb:v045Ep00F4*
+ ID_MODEL_FROM_DATABASE=LifeCam VX-6000 (SN9C20x + OV9650)
+
+usb:v045Ep00F5*
+ ID_MODEL_FROM_DATABASE=LifeCam VX-3000
+
+usb:v045Ep00F6*
+ ID_MODEL_FROM_DATABASE=Comfort Optical Mouse 1000
+
+usb:v045Ep00F7*
+ ID_MODEL_FROM_DATABASE=LifeCam VX-1000
+
+usb:v045Ep00F8*
+ ID_MODEL_FROM_DATABASE=LifeCam NX-6000
+
+usb:v045Ep00F9*
+ ID_MODEL_FROM_DATABASE=Wireless Desktop Receiver 3.1
+
+usb:v045Ep0202*
+ ID_MODEL_FROM_DATABASE=Xbox Controller
+
+usb:v045Ep0280*
+ ID_MODEL_FROM_DATABASE=XBox Device
+
+usb:v045Ep0283*
+ ID_MODEL_FROM_DATABASE=Xbox Communicator
+
+usb:v045Ep0284*
+ ID_MODEL_FROM_DATABASE=Xbox DVD Playback Kit
+
+usb:v045Ep0285*
+ ID_MODEL_FROM_DATABASE=Xbox Controller S
+
+usb:v045Ep0288*
+ ID_MODEL_FROM_DATABASE=Xbox Controller S Hub
+
+usb:v045Ep0289*
+ ID_MODEL_FROM_DATABASE=Xbox Controller S
+
+usb:v045Ep028B*
+ ID_MODEL_FROM_DATABASE=Xbox360 DVD Emulator
+
+usb:v045Ep028D*
+ ID_MODEL_FROM_DATABASE=Xbox360 Memory Unit 64MB
+
+usb:v045Ep028E*
+ ID_MODEL_FROM_DATABASE=Xbox360 Controller
+
+usb:v045Ep028F*
+ ID_MODEL_FROM_DATABASE=Xbox360 Wireless Controller
+
+usb:v045Ep0290*
+ ID_MODEL_FROM_DATABASE=Xbox360 Performance Pipe (PIX)
+
+usb:v045Ep0291*
+ ID_MODEL_FROM_DATABASE=Xbox 360 Wireless Receiver for Windows
+
+usb:v045Ep0292*
+ ID_MODEL_FROM_DATABASE=Xbox360 Wireless Networking Adapter
+
+usb:v045Ep029C*
+ ID_MODEL_FROM_DATABASE=Xbox360 HD-DVD Drive
+
+usb:v045Ep029D*
+ ID_MODEL_FROM_DATABASE=Xbox360 HD-DVD Drive
+
+usb:v045Ep029E*
+ ID_MODEL_FROM_DATABASE=Xbox360 HD-DVD Memory Unit
+
+usb:v045Ep02A0*
+ ID_MODEL_FROM_DATABASE=Xbox360 Big Button IR
+
+usb:v045Ep02A8*
+ ID_MODEL_FROM_DATABASE=Xbox360 Wireless N Networking Adapter [Atheros AR7010+AR9280]
+
+usb:v045Ep02AD*
+ ID_MODEL_FROM_DATABASE=Xbox NUI Audio
+
+usb:v045Ep02AE*
+ ID_MODEL_FROM_DATABASE=Xbox NUI Camera
+
+usb:v045Ep02B0*
+ ID_MODEL_FROM_DATABASE=Xbox NUI Motor
+
+usb:v045Ep0400*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0401*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0402*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0403*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0404*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0405*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0406*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0407*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0408*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0409*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep040A*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep040B*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep040C*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep040D*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep040E*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep040F*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0410*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0411*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0412*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0413*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0414*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0415*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0416*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0417*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
+
+usb:v045Ep0432*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0433*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0434*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0435*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0436*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0437*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0438*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0439*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep043A*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep043B*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep043C*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep043D*
+ ID_MODEL_FROM_DATABASE=Becker Traffic Assist Highspeed 7934
+
+usb:v045Ep043E*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep043F*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0440*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0441*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0442*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0443*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0444*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0445*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0446*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0447*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0448*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0449*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep044A*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep044B*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep044C*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep044D*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep044E*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep044F*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0450*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0451*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0452*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0453*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0454*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0455*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0456*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0457*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0458*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0459*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep045A*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep045B*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep045C*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep045D*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep045E*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep045F*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0460*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0461*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0462*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0463*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0464*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0465*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0466*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0467*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0468*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0469*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep046A*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep046B*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep046C*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep046D*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep046E*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep046F*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0470*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0471*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0472*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0473*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0474*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0475*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0476*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0477*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0478*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep0479*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep047A*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep047B*
+ ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2003
+
+usb:v045Ep04C8*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2002
+
+usb:v045Ep04C9*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2002
+
+usb:v045Ep04CA*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2002
+
+usb:v045Ep04CB*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2002
+
+usb:v045Ep04CC*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2002
+
+usb:v045Ep04CD*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2002
+
+usb:v045Ep04CE*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2002
+
+usb:v045Ep04D7*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04D8*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04D9*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04DA*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04DB*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04DC*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04DD*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04DE*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04DF*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04E0*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04E1*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04E2*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04E3*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04E4*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04E5*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04E6*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04E7*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04E8*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04E9*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04EA*
+ ID_MODEL_FROM_DATABASE=Windows Powered Smartphone 2003
+
+usb:v045Ep04EC*
+ ID_MODEL_FROM_DATABASE=Windows Phone (Zune)
+
+usb:v045Ep063E*
+ ID_MODEL_FROM_DATABASE=Zune HD Media Player
+
+usb:v045Ep0640*
+ ID_MODEL_FROM_DATABASE=KIN Phone
+
+usb:v045Ep0641*
+ ID_MODEL_FROM_DATABASE=KIN Phone
+
+usb:v045Ep0642*
+ ID_MODEL_FROM_DATABASE=KIN Phone
+
+usb:v045Ep0707*
+ ID_MODEL_FROM_DATABASE=Wireless Laser Mouse 8000
+
+usb:v045Ep0708*
+ ID_MODEL_FROM_DATABASE=Transceiver v 3.0 for Bluetooth
+
+usb:v045Ep070A*
+ ID_MODEL_FROM_DATABASE=Charon Bluetooth Dongle (DFU)
+
+usb:v045Ep0710*
+ ID_MODEL_FROM_DATABASE=Zune Media Player
+
+usb:v045Ep0713*
+ ID_MODEL_FROM_DATABASE=Wireless Presenter Mouse 8000
+
+usb:v045Ep0719*
+ ID_MODEL_FROM_DATABASE=Xbox 360 Wireless Adapter
+
+usb:v045Ep071F*
+ ID_MODEL_FROM_DATABASE=Mouse/Keyboard 2.4GHz Transceiver V2.0
+
+usb:v045Ep0721*
+ ID_MODEL_FROM_DATABASE=LifeCam NX-3000 (UVC-compliant)
+
+usb:v045Ep0723*
+ ID_MODEL_FROM_DATABASE=LifeCam VX-7000 (UVC-compliant)
+
+usb:v045Ep0724*
+ ID_MODEL_FROM_DATABASE=SideWinder Mouse
+
+usb:v045Ep0730*
+ ID_MODEL_FROM_DATABASE=Digital Media Keyboard 3000
+
+usb:v045Ep0734*
+ ID_MODEL_FROM_DATABASE=Wireless Optical Desktop 700
+
+usb:v045Ep0736*
+ ID_MODEL_FROM_DATABASE=Sidewinder X5 Mouse
+
+usb:v045Ep0737*
+ ID_MODEL_FROM_DATABASE=Compact Optical Mouse 500
+
+usb:v045Ep0745*
+ ID_MODEL_FROM_DATABASE=Nano Transceiver v1.0 for Bluetooth
+
+usb:v045Ep0750*
+ ID_MODEL_FROM_DATABASE=Wired Keyboard 600
+
+usb:v045Ep0752*
+ ID_MODEL_FROM_DATABASE=Wired Keyboard 400
+
+usb:v045Ep075D*
+ ID_MODEL_FROM_DATABASE=LifeCam Cinema
+
+usb:v045Ep0766*
+ ID_MODEL_FROM_DATABASE=LifeCam VX-800
+
+usb:v045Ep0768*
+ ID_MODEL_FROM_DATABASE=Sidewinder X4
+
+usb:v045Ep076C*
+ ID_MODEL_FROM_DATABASE=Comfort Mouse 4500
+
+usb:v045Ep076D*
+ ID_MODEL_FROM_DATABASE=LifeCam HD-5000
+
+usb:v045Ep0772*
+ ID_MODEL_FROM_DATABASE=LifeCam Studio
+
+usb:v045Ep0779*
+ ID_MODEL_FROM_DATABASE=LifeCam HD-3000
+
+usb:v045Ep930A*
+ ID_MODEL_FROM_DATABASE=ISOUSB.SYS Intel 82930 Isochronous IO Test Board
+
+usb:v045EpFFF8*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v045EpFFFF*
+ ID_MODEL_FROM_DATABASE=Windows CE Mass Storage
+
+usb:v0460*
+ ID_VENDOR_FROM_DATABASE=Ace Cad Enterprise Co., Ltd
+
+usb:v0460p0004*
+ ID_MODEL_FROM_DATABASE=Tablet (5x3.75)
+
+usb:v0460p0006*
+ ID_MODEL_FROM_DATABASE=LCD Tablet (12x9)
+
+usb:v0460p0008*
+ ID_MODEL_FROM_DATABASE=Tablet (3x2.25)
+
+usb:v0461*
+ ID_VENDOR_FROM_DATABASE=Primax Electronics, Ltd
+
+usb:v0461p0010*
+ ID_MODEL_FROM_DATABASE=HP Keyboard
+
+usb:v0461p0300*
+ ID_MODEL_FROM_DATABASE=G2-300 Scanner
+
+usb:v0461p0301*
+ ID_MODEL_FROM_DATABASE=G2E-300 Scanner
+
+usb:v0461p0302*
+ ID_MODEL_FROM_DATABASE=G2-300 #2 Scanner
+
+usb:v0461p0303*
+ ID_MODEL_FROM_DATABASE=G2E-300 #2 Scanner
+
+usb:v0461p0340*
+ ID_MODEL_FROM_DATABASE=Colorado 9600 Scanner
+
+usb:v0461p0341*
+ ID_MODEL_FROM_DATABASE=Colorado 600u Scanner
+
+usb:v0461p0345*
+ ID_MODEL_FROM_DATABASE=Visioneer 6200 Scanner
+
+usb:v0461p0346*
+ ID_MODEL_FROM_DATABASE=Memorex Maxx 6136u Scanner
+
+usb:v0461p0347*
+ ID_MODEL_FROM_DATABASE=Primascan Colorado 2600u/Visioneer 4400 Scanner
+
+usb:v0461p0360*
+ ID_MODEL_FROM_DATABASE=Colorado 19200 Scanner
+
+usb:v0461p0361*
+ ID_MODEL_FROM_DATABASE=Colorado 1200u Scanner
+
+usb:v0461p0363*
+ ID_MODEL_FROM_DATABASE=VistaScan Astra 3600(ENG)
+
+usb:v0461p0364*
+ ID_MODEL_FROM_DATABASE=LG Electronics Scanworks 600U Scanner
+
+usb:v0461p0365*
+ ID_MODEL_FROM_DATABASE=VistaScan Astra 3600(ENG)
+
+usb:v0461p0366*
+ ID_MODEL_FROM_DATABASE=6400
+
+usb:v0461p0367*
+ ID_MODEL_FROM_DATABASE=VistaScan Astra 3600(ENG)
+
+usb:v0461p0371*
+ ID_MODEL_FROM_DATABASE=Visioneer Onetouch 8920 Scanner
+
+usb:v0461p0374*
+ ID_MODEL_FROM_DATABASE=UMAX Astra 2500
+
+usb:v0461p0375*
+ ID_MODEL_FROM_DATABASE=VistaScan Astra 3600(ENG)
+
+usb:v0461p0377*
+ ID_MODEL_FROM_DATABASE=Medion MD 5345 Scanner
+
+usb:v0461p0378*
+ ID_MODEL_FROM_DATABASE=VistaScan Astra 3600(ENG)
+
+usb:v0461p037B*
+ ID_MODEL_FROM_DATABASE=Medion MD 6190 Scanner
+
+usb:v0461p037C*
+ ID_MODEL_FROM_DATABASE=VistaScan Astra 3600(ENG)
+
+usb:v0461p0380*
+ ID_MODEL_FROM_DATABASE=G2-600 Scanner
+
+usb:v0461p0381*
+ ID_MODEL_FROM_DATABASE=ReadyScan 636i Scanner
+
+usb:v0461p0382*
+ ID_MODEL_FROM_DATABASE=G2-600 #2 Scanner
+
+usb:v0461p0383*
+ ID_MODEL_FROM_DATABASE=G2E-600 Scanner
+
+usb:v0461p038A*
+ ID_MODEL_FROM_DATABASE=UMAX Astra 3000/3600
+
+usb:v0461p038B*
+ ID_MODEL_FROM_DATABASE=Xerox 2400 Onetouch
+
+usb:v0461p038C*
+ ID_MODEL_FROM_DATABASE=UMAX Astra 4100
+
+usb:v0461p0392*
+ ID_MODEL_FROM_DATABASE=Medion/Lifetec/Tevion/Cytron MD 6190
+
+usb:v0461p03A8*
+ ID_MODEL_FROM_DATABASE=9420M
+
+usb:v0461p0813*
+ ID_MODEL_FROM_DATABASE=IBM UltraPort Camera
+
+usb:v0461p0815*
+ ID_MODEL_FROM_DATABASE=Micro Innovations IC200 Webcam
+
+usb:v0461p0819*
+ ID_MODEL_FROM_DATABASE=Fujifilm IX-30 Camera [webcam mode]
+
+usb:v0461p081A*
+ ID_MODEL_FROM_DATABASE=Fujifilm IX-30 Camera [storage mode]
+
+usb:v0461p081C*
+ ID_MODEL_FROM_DATABASE=Elitegroup ECS-C11 Camera
+
+usb:v0461p081D*
+ ID_MODEL_FROM_DATABASE=Elitegroup ECS-C11 Storage
+
+usb:v0461p0A00*
+ ID_MODEL_FROM_DATABASE=Micro Innovations Web Cam 320
+
+usb:v0461p4D01*
+ ID_MODEL_FROM_DATABASE=Comfort Keyboard
+
+usb:v0461p4D02*
+ ID_MODEL_FROM_DATABASE=Mouse-in-a-Box
+
+usb:v0461p4D03*
+ ID_MODEL_FROM_DATABASE=Kensington Mouse-in-a-box
+
+usb:v0461p4D04*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v0461p4D06*
+ ID_MODEL_FROM_DATABASE=Balless Mouse (HID)
+
+usb:v0461p4D0F*
+ ID_MODEL_FROM_DATABASE=HP Optical Mouse
+
+usb:v0461p4D15*
+ ID_MODEL_FROM_DATABASE=Dell Optical Mouse
+
+usb:v0461p4D17*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v0461p4D20*
+ ID_MODEL_FROM_DATABASE=HP Optical Mouse
+
+usb:v0461p4D2A*
+ ID_MODEL_FROM_DATABASE=PoPo Elixir Mouse (HID)
+
+usb:v0461p4D2B*
+ ID_MODEL_FROM_DATABASE=Wireless Laser Mini Mouse (HID)
+
+usb:v0461p4D2C*
+ ID_MODEL_FROM_DATABASE=PoPo Mini Pointer Mouse (HID)
+
+usb:v0461p4D2E*
+ ID_MODEL_FROM_DATABASE=Optical Mobile Mouse (HID)
+
+usb:v0461p4D51*
+ ID_MODEL_FROM_DATABASE=0Y357C PMX-MMOCZUL (B) [Dell Laser Mouse]
+
+usb:v0461p4D62*
+ ID_MODEL_FROM_DATABASE=HP Laser Mobile Mini Mouse
+
+usb:v0461p4D75*
+ ID_MODEL_FROM_DATABASE=Rocketfish RF-FLBTAD Bluetooth Adapter
+
+usb:v0461p4D81*
+ ID_MODEL_FROM_DATABASE=Dell N889 Optical Mouse
+
+usb:v0461p4DE7*
+ ID_MODEL_FROM_DATABASE=webcam
+
+usb:v0463*
+ ID_VENDOR_FROM_DATABASE=MGE UPS Systems
+
+usb:v0463p0001*
+ ID_MODEL_FROM_DATABASE=UPS
+
+usb:v0463pFFFF*
+ ID_MODEL_FROM_DATABASE=UPS
+
+usb:v0464*
+ ID_VENDOR_FROM_DATABASE=AMP/Tycoelectronics Corp.
+
+usb:v0467*
+ ID_VENDOR_FROM_DATABASE=AT&T Paradyne
+
+usb:v0468*
+ ID_VENDOR_FROM_DATABASE=Wieson Technologies Co., Ltd
+
+usb:v046A*
+ ID_VENDOR_FROM_DATABASE=Cherry GmbH
+
+usb:v046Ap0001*
+ ID_MODEL_FROM_DATABASE=My3000 Keyboard
+
+usb:v046Ap0003*
+ ID_MODEL_FROM_DATABASE=My3000 Hub
+
+usb:v046Ap0004*
+ ID_MODEL_FROM_DATABASE=CyBoard Keyboard
+
+usb:v046Ap0005*
+ ID_MODEL_FROM_DATABASE=XX33 SmartCard Reader Keyboard
+
+usb:v046Ap0008*
+ ID_MODEL_FROM_DATABASE=Wireless Keyboard and Mouse
+
+usb:v046Ap0010*
+ ID_MODEL_FROM_DATABASE=SmartBoard XX44
+
+usb:v046Ap0011*
+ ID_MODEL_FROM_DATABASE=G83 (RS 6000) Keyboard
+
+usb:v046Ap0021*
+ ID_MODEL_FROM_DATABASE=CyMotion Expert Combo
+
+usb:v046Ap0023*
+ ID_MODEL_FROM_DATABASE=CyMotion Master Linux Keyboard G230
+
+usb:v046Ap0027*
+ ID_MODEL_FROM_DATABASE=CyMotion Master Solar Keyboard
+
+usb:v046Ap002A*
+ ID_MODEL_FROM_DATABASE=Wireless Mouse & Keyboard
+
+usb:v046Ap002D*
+ ID_MODEL_FROM_DATABASE=SmartTerminal XX44
+
+usb:v046Ap003E*
+ ID_MODEL_FROM_DATABASE=SmartTerminal ST-2xxx
+
+usb:v046Ap0080*
+ ID_MODEL_FROM_DATABASE=eHealth Terminal ST 1503
+
+usb:v046Ap0081*
+ ID_MODEL_FROM_DATABASE=eHealth Keyboard G87 1504
+
+usb:v046Ap0106*
+ ID_MODEL_FROM_DATABASE=R-300 Wireless Mouse Receiver
+
+usb:v046B*
+ ID_VENDOR_FROM_DATABASE=American Megatrends, Inc.
+
+usb:v046Bp0001*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v046Bp0101*
+ ID_MODEL_FROM_DATABASE=PS/2 Keyboard, Mouse & Joystick Ports
+
+usb:v046Bp0301*
+ ID_MODEL_FROM_DATABASE=USB 1.0 Hub
+
+usb:v046Bp0500*
+ ID_MODEL_FROM_DATABASE=Serial & Parallel Ports
+
+usb:v046BpFF10*
+ ID_MODEL_FROM_DATABASE=Virtual Keyboard and Mouse
+
+usb:v046C*
+ ID_VENDOR_FROM_DATABASE=Toshiba Corp., Digital Media Equipment
+
+usb:v046D*
+ ID_VENDOR_FROM_DATABASE=Logitech, Inc.
+
+usb:v046Dp0082*
+ ID_MODEL_FROM_DATABASE=Acer Aspire 5672 Webcam
+
+usb:v046Dp0200*
+ ID_MODEL_FROM_DATABASE=WingMan Extreme Joystick
+
+usb:v046Dp0203*
+ ID_MODEL_FROM_DATABASE=M2452 Keyboard
+
+usb:v046Dp0301*
+ ID_MODEL_FROM_DATABASE=M4848 Mouse
+
+usb:v046Dp0401*
+ ID_MODEL_FROM_DATABASE=HP PageScan
+
+usb:v046Dp0402*
+ ID_MODEL_FROM_DATABASE=NEC PageScan
+
+usb:v046Dp040F*
+ ID_MODEL_FROM_DATABASE=Logitech/Storm PageScan
+
+usb:v046Dp0430*
+ ID_MODEL_FROM_DATABASE=Mic (Cordless)
+
+usb:v046Dp0801*
+ ID_MODEL_FROM_DATABASE=QuickCam Home
+
+usb:v046Dp0802*
+ ID_MODEL_FROM_DATABASE=Webcam C200
+
+usb:v046Dp0804*
+ ID_MODEL_FROM_DATABASE=Webcam C250
+
+usb:v046Dp0805*
+ ID_MODEL_FROM_DATABASE=Webcam C300
+
+usb:v046Dp0807*
+ ID_MODEL_FROM_DATABASE=Webcam B500
+
+usb:v046Dp0808*
+ ID_MODEL_FROM_DATABASE=Webcam C600
+
+usb:v046Dp0809*
+ ID_MODEL_FROM_DATABASE=Webcam Pro 9000
+
+usb:v046Dp080A*
+ ID_MODEL_FROM_DATABASE=Portable Webcam C905
+
+usb:v046Dp080F*
+ ID_MODEL_FROM_DATABASE=Webcam C120
+
+usb:v046Dp0810*
+ ID_MODEL_FROM_DATABASE=QuickCam Pro
+
+usb:v046Dp0819*
+ ID_MODEL_FROM_DATABASE=Webcam C210
+
+usb:v046Dp081B*
+ ID_MODEL_FROM_DATABASE=Webcam C310
+
+usb:v046Dp081D*
+ ID_MODEL_FROM_DATABASE=HD Webcam C510
+
+usb:v046Dp0820*
+ ID_MODEL_FROM_DATABASE=QuickCam VC
+
+usb:v046Dp0821*
+ ID_MODEL_FROM_DATABASE=HD Webcam C910
+
+usb:v046Dp0825*
+ ID_MODEL_FROM_DATABASE=Webcam C270
+
+usb:v046Dp0828*
+ ID_MODEL_FROM_DATABASE=HD Webcam B990
+
+usb:v046Dp082D*
+ ID_MODEL_FROM_DATABASE=HD Pro Webcam C920
+
+usb:v046Dp0830*
+ ID_MODEL_FROM_DATABASE=QuickClip
+
+usb:v046Dp0840*
+ ID_MODEL_FROM_DATABASE=QuickCam Express
+
+usb:v046Dp0850*
+ ID_MODEL_FROM_DATABASE=QuickCam Web
+
+usb:v046Dp0870*
+ ID_MODEL_FROM_DATABASE=QuickCam Express
+
+usb:v046Dp0890*
+ ID_MODEL_FROM_DATABASE=QuickCam Traveler
+
+usb:v046Dp0892*
+ ID_MODEL_FROM_DATABASE=OrbiCam
+
+usb:v046Dp0894*
+ ID_MODEL_FROM_DATABASE=CrystalCam
+
+usb:v046Dp0895*
+ ID_MODEL_FROM_DATABASE=QuickCam for Dell Notebooks
+
+usb:v046Dp0896*
+ ID_MODEL_FROM_DATABASE=OrbiCam
+
+usb:v046Dp0897*
+ ID_MODEL_FROM_DATABASE=QuickCam for Dell Notebooks
+
+usb:v046Dp0899*
+ ID_MODEL_FROM_DATABASE=QuickCam for Dell Notebooks
+
+usb:v046Dp089D*
+ ID_MODEL_FROM_DATABASE=QuickCam E2500 series
+
+usb:v046Dp08A0*
+ ID_MODEL_FROM_DATABASE=QuickCam IM
+
+usb:v046Dp08A1*
+ ID_MODEL_FROM_DATABASE=QuickCam IM with sound
+
+usb:v046Dp08A2*
+ ID_MODEL_FROM_DATABASE=Labtec Webcam Pro
+
+usb:v046Dp08A3*
+ ID_MODEL_FROM_DATABASE=QuickCam QuickCam Chat
+
+usb:v046Dp08A6*
+ ID_MODEL_FROM_DATABASE=QuickCam IM
+
+usb:v046Dp08A7*
+ ID_MODEL_FROM_DATABASE=QuickCam Image
+
+usb:v046Dp08A9*
+ ID_MODEL_FROM_DATABASE=Notebook Deluxe
+
+usb:v046Dp08AA*
+ ID_MODEL_FROM_DATABASE=Labtec Notebooks
+
+usb:v046Dp08AC*
+ ID_MODEL_FROM_DATABASE=QuickCam Cool
+
+usb:v046Dp08AD*
+ ID_MODEL_FROM_DATABASE=QuickCam Communicate STX
+
+usb:v046Dp08AE*
+ ID_MODEL_FROM_DATABASE=QuickCam for Notebooks
+
+usb:v046Dp08AF*
+ ID_MODEL_FROM_DATABASE=QuickCam Easy/Cool
+
+usb:v046Dp08B0*
+ ID_MODEL_FROM_DATABASE=QuickCam 3000 Pro [pwc]
+
+usb:v046Dp08B1*
+ ID_MODEL_FROM_DATABASE=QuickCam Notebook Pro
+
+usb:v046Dp08B2*
+ ID_MODEL_FROM_DATABASE=QuickCam Pro 4000
+
+usb:v046Dp08B3*
+ ID_MODEL_FROM_DATABASE=QuickCam Zoom
+
+usb:v046Dp08B4*
+ ID_MODEL_FROM_DATABASE=QuickCam Zoom
+
+usb:v046Dp08B5*
+ ID_MODEL_FROM_DATABASE=QuickCam Sphere
+
+usb:v046Dp08B9*
+ ID_MODEL_FROM_DATABASE=QuickCam IM
+
+usb:v046Dp08BD*
+ ID_MODEL_FROM_DATABASE=Microphone (Pro 4000)
+
+usb:v046Dp08C0*
+ ID_MODEL_FROM_DATABASE=QuickCam Pro 3000
+
+usb:v046Dp08C1*
+ ID_MODEL_FROM_DATABASE=QuickCam Fusion
+
+usb:v046Dp08C2*
+ ID_MODEL_FROM_DATABASE=QuickCam PTZ
+
+usb:v046Dp08C3*
+ ID_MODEL_FROM_DATABASE=Camera (Notebooks Pro)
+
+usb:v046Dp08C5*
+ ID_MODEL_FROM_DATABASE=QuickCam Pro 5000
+
+usb:v046Dp08C6*
+ ID_MODEL_FROM_DATABASE=QuickCam for DELL Notebooks
+
+usb:v046Dp08C7*
+ ID_MODEL_FROM_DATABASE=QuickCam OEM Cisco VT Camera II
+
+usb:v046Dp08C9*
+ ID_MODEL_FROM_DATABASE=QuickCam Ultra Vision
+
+usb:v046Dp08CA*
+ ID_MODEL_FROM_DATABASE=Mic (Fusion)
+
+usb:v046Dp08CB*
+ ID_MODEL_FROM_DATABASE=Mic (Notebooks Pro)
+
+usb:v046Dp08CC*
+ ID_MODEL_FROM_DATABASE=Mic (PTZ)
+
+usb:v046Dp08CE*
+ ID_MODEL_FROM_DATABASE=QuickCam Pro 5000
+
+usb:v046Dp08CF*
+ ID_MODEL_FROM_DATABASE=QuickCam UpdateMe
+
+usb:v046Dp08D0*
+ ID_MODEL_FROM_DATABASE=QuickCam Express
+
+usb:v046Dp08D7*
+ ID_MODEL_FROM_DATABASE=QuickCam Communicate STX
+
+usb:v046Dp08D8*
+ ID_MODEL_FROM_DATABASE=QuickCam for Notebook Deluxe
+
+usb:v046Dp08D9*
+ ID_MODEL_FROM_DATABASE=QuickCam IM/Connect
+
+usb:v046Dp08DA*
+ ID_MODEL_FROM_DATABASE=QuickCam Messanger
+
+usb:v046Dp08DD*
+ ID_MODEL_FROM_DATABASE=QuickCam for Notebooks
+
+usb:v046Dp08E0*
+ ID_MODEL_FROM_DATABASE=QuickCam Express
+
+usb:v046Dp08E1*
+ ID_MODEL_FROM_DATABASE=Labtec Webcam
+
+usb:v046Dp08F0*
+ ID_MODEL_FROM_DATABASE=QuickCam Messenger
+
+usb:v046Dp08F1*
+ ID_MODEL_FROM_DATABASE=QuickCam Express
+
+usb:v046Dp08F2*
+ ID_MODEL_FROM_DATABASE=Microphone (Messenger)
+
+usb:v046Dp08F3*
+ ID_MODEL_FROM_DATABASE=QuickCam Express
+
+usb:v046Dp08F4*
+ ID_MODEL_FROM_DATABASE=Labtec Webcam
+
+usb:v046Dp08F5*
+ ID_MODEL_FROM_DATABASE=QuickCam Messenger Communicate
+
+usb:v046Dp08F6*
+ ID_MODEL_FROM_DATABASE=QuickCam Messenger Plus
+
+usb:v046Dp0900*
+ ID_MODEL_FROM_DATABASE=ClickSmart 310
+
+usb:v046Dp0901*
+ ID_MODEL_FROM_DATABASE=ClickSmart 510
+
+usb:v046Dp0903*
+ ID_MODEL_FROM_DATABASE=ClickSmart 820
+
+usb:v046Dp0905*
+ ID_MODEL_FROM_DATABASE=ClickSmart 820
+
+usb:v046Dp0910*
+ ID_MODEL_FROM_DATABASE=QuickCam Cordless
+
+usb:v046Dp0920*
+ ID_MODEL_FROM_DATABASE=QuickCam Express
+
+usb:v046Dp0921*
+ ID_MODEL_FROM_DATABASE=Labtec Webcam
+
+usb:v046Dp0922*
+ ID_MODEL_FROM_DATABASE=QuickCam Live
+
+usb:v046Dp0928*
+ ID_MODEL_FROM_DATABASE=QuickCam Express
+
+usb:v046Dp0929*
+ ID_MODEL_FROM_DATABASE=Labtec Webcam Pro
+
+usb:v046Dp092A*
+ ID_MODEL_FROM_DATABASE=QuickCam for Notebooks
+
+usb:v046Dp092B*
+ ID_MODEL_FROM_DATABASE=Labtec Webcam Plus
+
+usb:v046Dp092C*
+ ID_MODEL_FROM_DATABASE=QuickCam Chat
+
+usb:v046Dp092D*
+ ID_MODEL_FROM_DATABASE=QuickCam Express / Go
+
+usb:v046Dp092E*
+ ID_MODEL_FROM_DATABASE=QuickCam Chat
+
+usb:v046Dp092F*
+ ID_MODEL_FROM_DATABASE=QuickCam Express Plus
+
+usb:v046Dp0950*
+ ID_MODEL_FROM_DATABASE=Pocket Camera
+
+usb:v046Dp0960*
+ ID_MODEL_FROM_DATABASE=ClickSmart 420
+
+usb:v046Dp0970*
+ ID_MODEL_FROM_DATABASE=Pocket750
+
+usb:v046Dp0990*
+ ID_MODEL_FROM_DATABASE=QuickCam Pro 9000
+
+usb:v046Dp0991*
+ ID_MODEL_FROM_DATABASE=QuickCam Pro for Notebooks
+
+usb:v046Dp0992*
+ ID_MODEL_FROM_DATABASE=QuickCam Communicate Deluxe
+
+usb:v046Dp0994*
+ ID_MODEL_FROM_DATABASE=QuickCam Orbit/Sphere AF
+
+usb:v046Dp09A1*
+ ID_MODEL_FROM_DATABASE=QuickCam Communicate MP/S5500
+
+usb:v046Dp09A2*
+ ID_MODEL_FROM_DATABASE=QuickCam Communicate Deluxe/S7500
+
+usb:v046Dp09A4*
+ ID_MODEL_FROM_DATABASE=QuickCam E 3500
+
+usb:v046Dp09A5*
+ ID_MODEL_FROM_DATABASE=Quickcam 3000 For Business
+
+usb:v046Dp09A6*
+ ID_MODEL_FROM_DATABASE=QuickCam Vision Pro
+
+usb:v046Dp09B0*
+ ID_MODEL_FROM_DATABASE=Acer OrbiCam
+
+usb:v046Dp09B2*
+ ID_MODEL_FROM_DATABASE=Fujitsu Webcam
+
+usb:v046Dp09C0*
+ ID_MODEL_FROM_DATABASE=QuickCam for Dell Notebooks Mic
+
+usb:v046Dp09C1*
+ ID_MODEL_FROM_DATABASE=QuickCam Deluxe for Notebooks
+
+usb:v046Dp0A01*
+ ID_MODEL_FROM_DATABASE=USB Headset
+
+usb:v046Dp0A02*
+ ID_MODEL_FROM_DATABASE=Premium Stereo USB Headset 350
+
+usb:v046Dp0A03*
+ ID_MODEL_FROM_DATABASE=Logitech USB Microphone
+
+usb:v046Dp0A04*
+ ID_MODEL_FROM_DATABASE=V20 portable speakers (USB powered)
+
+usb:v046Dp0A07*
+ ID_MODEL_FROM_DATABASE=Z-10 Speakers
+
+usb:v046Dp0A0B*
+ ID_MODEL_FROM_DATABASE=ClearChat Pro USB
+
+usb:v046Dp0A0C*
+ ID_MODEL_FROM_DATABASE=Clear Chat Comfort USB Headset
+
+usb:v046Dp0A13*
+ ID_MODEL_FROM_DATABASE=Z-5 Speakers
+
+usb:v046Dp0A17*
+ ID_MODEL_FROM_DATABASE=G330 Headset
+
+usb:v046Dp0A1F*
+ ID_MODEL_FROM_DATABASE=G930
+
+usb:v046Dp0B02*
+ ID_MODEL_FROM_DATABASE=C-UV35 [Bluetooth Mini-Receiver] (HID proxy mode)
+
+usb:v046Dp8801*
+ ID_MODEL_FROM_DATABASE=Video Camera
+
+usb:v046DpB305*
+ ID_MODEL_FROM_DATABASE=BT Mini-Receiver
+
+usb:v046DpBFE4*
+ ID_MODEL_FROM_DATABASE=Premium Optical Wheel Mouse
+
+usb:v046DpC000*
+ ID_MODEL_FROM_DATABASE=N43 [Pilot Mouse]
+
+usb:v046DpC001*
+ ID_MODEL_FROM_DATABASE=N48/M-BB48 [FirstMouse Plus]
+
+usb:v046DpC002*
+ ID_MODEL_FROM_DATABASE=M-BA47 [MouseMan Plus]
+
+usb:v046DpC003*
+ ID_MODEL_FROM_DATABASE=MouseMan
+
+usb:v046DpC004*
+ ID_MODEL_FROM_DATABASE=WingMan Gaming Mouse
+
+usb:v046DpC005*
+ ID_MODEL_FROM_DATABASE=WingMan Gaming Wheel Mouse
+
+usb:v046DpC00B*
+ ID_MODEL_FROM_DATABASE=MouseMan Wheel
+
+usb:v046DpC00C*
+ ID_MODEL_FROM_DATABASE=Optical Wheel Mouse
+
+usb:v046DpC00D*
+ ID_MODEL_FROM_DATABASE=MouseMan Wheel+
+
+usb:v046DpC00E*
+ ID_MODEL_FROM_DATABASE=M-BJ58/M-BJ69 Optical Wheel Mouse
+
+usb:v046DpC00F*
+ ID_MODEL_FROM_DATABASE=MouseMan Traveler/Mobile
+
+usb:v046DpC011*
+ ID_MODEL_FROM_DATABASE=Optical MouseMan
+
+usb:v046DpC012*
+ ID_MODEL_FROM_DATABASE=Mouseman Dual Optical
+
+usb:v046DpC014*
+ ID_MODEL_FROM_DATABASE=Corded Workstation Mouse
+
+usb:v046DpC015*
+ ID_MODEL_FROM_DATABASE=Corded Workstation Mouse
+
+usb:v046DpC016*
+ ID_MODEL_FROM_DATABASE=Optical Wheel Mouse
+
+usb:v046DpC018*
+ ID_MODEL_FROM_DATABASE=Optical Wheel Mouse
+
+usb:v046DpC019*
+ ID_MODEL_FROM_DATABASE=Optical Tilt Wheel Mouse
+
+usb:v046DpC01A*
+ ID_MODEL_FROM_DATABASE=M-BQ85 Optical Wheel Mouse
+
+usb:v046DpC01B*
+ ID_MODEL_FROM_DATABASE=MX310 Optical Mouse
+
+usb:v046DpC01C*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v046DpC01D*
+ ID_MODEL_FROM_DATABASE=MX510 Optical Mouse
+
+usb:v046DpC01E*
+ ID_MODEL_FROM_DATABASE=MX518 Optical Mouse
+
+usb:v046DpC024*
+ ID_MODEL_FROM_DATABASE=MX300 Optical Mouse
+
+usb:v046DpC025*
+ ID_MODEL_FROM_DATABASE=MX500 Optical Mouse
+
+usb:v046DpC030*
+ ID_MODEL_FROM_DATABASE=iFeel Mouse
+
+usb:v046DpC031*
+ ID_MODEL_FROM_DATABASE=iFeel Mouse+
+
+usb:v046DpC032*
+ ID_MODEL_FROM_DATABASE=MouseMan iFeel
+
+usb:v046DpC033*
+ ID_MODEL_FROM_DATABASE=iFeel MouseMan+
+
+usb:v046DpC034*
+ ID_MODEL_FROM_DATABASE=MouseMan Optical
+
+usb:v046DpC035*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v046DpC036*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v046DpC037*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v046DpC038*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v046DpC03D*
+ ID_MODEL_FROM_DATABASE=M-BT96a Pilot Optical Mouse
+
+usb:v046DpC03E*
+ ID_MODEL_FROM_DATABASE=Premium Optical Wheel Mouse (M-BT58)
+
+usb:v046DpC03F*
+ ID_MODEL_FROM_DATABASE=M-BT85 [UltraX Optical Mouse]
+
+usb:v046DpC040*
+ ID_MODEL_FROM_DATABASE=Corded Tilt-Wheel Mouse
+
+usb:v046DpC041*
+ ID_MODEL_FROM_DATABASE=G5 Laser Mouse
+
+usb:v046DpC042*
+ ID_MODEL_FROM_DATABASE=G3 Laser Mouse
+
+usb:v046DpC043*
+ ID_MODEL_FROM_DATABASE=MX320/MX400 Laser Mouse
+
+usb:v046DpC044*
+ ID_MODEL_FROM_DATABASE=LX3 Optical Mouse
+
+usb:v046DpC045*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v046DpC046*
+ ID_MODEL_FROM_DATABASE=RX1000 Laser Mouse
+
+usb:v046DpC047*
+ ID_MODEL_FROM_DATABASE=Laser Mouse M-UAL120
+
+usb:v046DpC048*
+ ID_MODEL_FROM_DATABASE=G9 Laser Mouse
+
+usb:v046DpC049*
+ ID_MODEL_FROM_DATABASE=G5 Laser Mouse
+
+usb:v046DpC050*
+ ID_MODEL_FROM_DATABASE=RX 250 Optical Mouse
+
+usb:v046DpC051*
+ ID_MODEL_FROM_DATABASE=G3 (MX518) Optical Mouse
+
+usb:v046DpC053*
+ ID_MODEL_FROM_DATABASE=Laser Mouse
+
+usb:v046DpC054*
+ ID_MODEL_FROM_DATABASE=Bluetooth mini-receiver
+
+usb:v046DpC058*
+ ID_MODEL_FROM_DATABASE=M115 Mouse
+
+usb:v046DpC05A*
+ ID_MODEL_FROM_DATABASE=M90/M100 Optical Mouse
+
+usb:v046DpC05B*
+ ID_MODEL_FROM_DATABASE=M-U0004 810-001317 [B110 Optical USB Mouse]
+
+usb:v046DpC05D*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v046DpC05F*
+ ID_MODEL_FROM_DATABASE=M115 Optical Mouse
+
+usb:v046DpC061*
+ ID_MODEL_FROM_DATABASE=RX1500 Laser Mouse
+
+usb:v046DpC062*
+ ID_MODEL_FROM_DATABASE=M-UAS144 [LS1 Laser Mouse]
+
+usb:v046DpC063*
+ ID_MODEL_FROM_DATABASE=DELL Laser Mouse
+
+usb:v046DpC068*
+ ID_MODEL_FROM_DATABASE=G500 Laser Mouse
+
+usb:v046DpC069*
+ ID_MODEL_FROM_DATABASE=M500 Laser Mouse
+
+usb:v046DpC06A*
+ ID_MODEL_FROM_DATABASE=USB Optical Mouse
+
+usb:v046DpC06B*
+ ID_MODEL_FROM_DATABASE=G700 Wireless Gaming Mouse
+
+usb:v046DpC06C*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v046DpC101*
+ ID_MODEL_FROM_DATABASE=UltraX Media Remote
+
+usb:v046DpC110*
+ ID_MODEL_FROM_DATABASE=Harmony 785/885 Remote
+
+usb:v046DpC111*
+ ID_MODEL_FROM_DATABASE=Harmony 525 Remote
+
+usb:v046DpC112*
+ ID_MODEL_FROM_DATABASE=Harmony 890 Remote
+
+usb:v046DpC11F*
+ ID_MODEL_FROM_DATABASE=Harmony 900/1100 Remote
+
+usb:v046DpC121*
+ ID_MODEL_FROM_DATABASE=Harmony One Remote
+
+usb:v046DpC122*
+ ID_MODEL_FROM_DATABASE=Harmony 700 Remote
+
+usb:v046DpC124*
+ ID_MODEL_FROM_DATABASE=Harmony 300 Remote
+
+usb:v046DpC125*
+ ID_MODEL_FROM_DATABASE=Harmony 200 Remote
+
+usb:v046DpC201*
+ ID_MODEL_FROM_DATABASE=WingMan Extreme Joystick with Throttle
+
+usb:v046DpC202*
+ ID_MODEL_FROM_DATABASE=WingMan Formula
+
+usb:v046DpC207*
+ ID_MODEL_FROM_DATABASE=WingMan Extreme Digital 3D
+
+usb:v046DpC208*
+ ID_MODEL_FROM_DATABASE=WingMan Gamepad Extreme
+
+usb:v046DpC209*
+ ID_MODEL_FROM_DATABASE=WingMan Gamepad
+
+usb:v046DpC20A*
+ ID_MODEL_FROM_DATABASE=WingMan RumblePad
+
+usb:v046DpC20B*
+ ID_MODEL_FROM_DATABASE=WingMan Action Pad
+
+usb:v046DpC20C*
+ ID_MODEL_FROM_DATABASE=WingMan Precision
+
+usb:v046DpC20D*
+ ID_MODEL_FROM_DATABASE=WingMan Attack 2
+
+usb:v046DpC20E*
+ ID_MODEL_FROM_DATABASE=WingMan Formula GP
+
+usb:v046DpC211*
+ ID_MODEL_FROM_DATABASE=iTouch Cordless Reciever
+
+usb:v046DpC212*
+ ID_MODEL_FROM_DATABASE=WingMan Extreme Digital 3D
+
+usb:v046DpC213*
+ ID_MODEL_FROM_DATABASE=J-UH16 (Freedom 2.4 Cordless Joystick)
+
+usb:v046DpC214*
+ ID_MODEL_FROM_DATABASE=ATK3 (Attack III Joystick)
+
+usb:v046DpC215*
+ ID_MODEL_FROM_DATABASE=Extreme 3D Pro
+
+usb:v046DpC216*
+ ID_MODEL_FROM_DATABASE=Dual Action Gamepad
+
+usb:v046DpC218*
+ ID_MODEL_FROM_DATABASE=Logitech RumblePad 2 USB
+
+usb:v046DpC219*
+ ID_MODEL_FROM_DATABASE=Cordless RumblePad 2
+
+usb:v046DpC21A*
+ ID_MODEL_FROM_DATABASE=Precision Gamepad
+
+usb:v046DpC21C*
+ ID_MODEL_FROM_DATABASE=G13 Advanced Gameboard
+
+usb:v046DpC21D*
+ ID_MODEL_FROM_DATABASE=F310 Gamepad [XInput Mode]
+
+usb:v046DpC21E*
+ ID_MODEL_FROM_DATABASE=F510 Gamepad [XInput Mode]
+
+usb:v046DpC21F*
+ ID_MODEL_FROM_DATABASE=F710 Wireless Gamepad [XInput Mode]
+
+usb:v046DpC221*
+ ID_MODEL_FROM_DATABASE=G11/G15 Keyboard / Keyboard
+
+usb:v046DpC222*
+ ID_MODEL_FROM_DATABASE=G15 Keyboard / LCD
+
+usb:v046DpC223*
+ ID_MODEL_FROM_DATABASE=G11/G15 Keyboard / USB Hub
+
+usb:v046DpC225*
+ ID_MODEL_FROM_DATABASE=G11/G15 Keyboard / G keys
+
+usb:v046DpC226*
+ ID_MODEL_FROM_DATABASE=G15 Refresh Keyboard
+
+usb:v046DpC227*
+ ID_MODEL_FROM_DATABASE=G15 Refresh Keyboard
+
+usb:v046DpC22A*
+ ID_MODEL_FROM_DATABASE=Gaming Keyboard G110
+
+usb:v046DpC22B*
+ ID_MODEL_FROM_DATABASE=Gaming Keyboard G110 G-keys
+
+usb:v046DpC22D*
+ ID_MODEL_FROM_DATABASE=G510 Gaming Keyboard
+
+usb:v046DpC22E*
+ ID_MODEL_FROM_DATABASE=G510 Gaming Keyboard onboard audio
+
+usb:v046DpC245*
+ ID_MODEL_FROM_DATABASE=G400 Optical Mouse
+
+usb:v046DpC246*
+ ID_MODEL_FROM_DATABASE=Gaming Mouse G300
+
+usb:v046DpC281*
+ ID_MODEL_FROM_DATABASE=WingMan Force
+
+usb:v046DpC283*
+ ID_MODEL_FROM_DATABASE=WingMan Force 3D
+
+usb:v046DpC285*
+ ID_MODEL_FROM_DATABASE=WingMan Strike Force 3D
+
+usb:v046DpC286*
+ ID_MODEL_FROM_DATABASE=Force 3D Pro
+
+usb:v046DpC287*
+ ID_MODEL_FROM_DATABASE=Flight System G940
+
+usb:v046DpC291*
+ ID_MODEL_FROM_DATABASE=WingMan Formula Force
+
+usb:v046DpC293*
+ ID_MODEL_FROM_DATABASE=WingMan Formula Force GP
+
+usb:v046DpC294*
+ ID_MODEL_FROM_DATABASE=Driving Force
+
+usb:v046DpC295*
+ ID_MODEL_FROM_DATABASE=Momo Force Steering Wheel
+
+usb:v046DpC298*
+ ID_MODEL_FROM_DATABASE=Driving Force Pro
+
+usb:v046DpC299*
+ ID_MODEL_FROM_DATABASE=G25 Racing Wheel
+
+usb:v046DpC29B*
+ ID_MODEL_FROM_DATABASE=G27 Racing Wheel
+
+usb:v046DpC29C*
+ ID_MODEL_FROM_DATABASE=Speed Force Wireless Wheel for Wii
+
+usb:v046DpC2A0*
+ ID_MODEL_FROM_DATABASE=Wingman Force Feedback Mouse
+
+usb:v046DpC2A1*
+ ID_MODEL_FROM_DATABASE=WingMan Force Feedback Mouse
+
+usb:v046DpC301*
+ ID_MODEL_FROM_DATABASE=iTouch Keyboard
+
+usb:v046DpC302*
+ ID_MODEL_FROM_DATABASE=iTouch Pro Keyboard
+
+usb:v046DpC303*
+ ID_MODEL_FROM_DATABASE=iTouch Keyboard
+
+usb:v046DpC305*
+ ID_MODEL_FROM_DATABASE=Internet Keyboard
+
+usb:v046DpC307*
+ ID_MODEL_FROM_DATABASE=Internet Keyboard
+
+usb:v046DpC308*
+ ID_MODEL_FROM_DATABASE=Internet Navigator Keyboard
+
+usb:v046DpC309*
+ ID_MODEL_FROM_DATABASE=Internet Keyboard
+
+usb:v046DpC30A*
+ ID_MODEL_FROM_DATABASE=iTouch Composite
+
+usb:v046DpC30B*
+ ID_MODEL_FROM_DATABASE=NetPlay Keyboard
+
+usb:v046DpC30C*
+ ID_MODEL_FROM_DATABASE=Internet Keys (X)
+
+usb:v046DpC30D*
+ ID_MODEL_FROM_DATABASE=Internet Keys
+
+usb:v046DpC30E*
+ ID_MODEL_FROM_DATABASE=UltraX Keyboard (Y-BL49)
+
+usb:v046DpC30F*
+ ID_MODEL_FROM_DATABASE=Logicool HID-Compliant Keyboard (106 key)
+
+usb:v046DpC311*
+ ID_MODEL_FROM_DATABASE=Y-UF49 [Internet Pro Keyboard]
+
+usb:v046DpC312*
+ ID_MODEL_FROM_DATABASE=DeLuxe 250 Keyboard
+
+usb:v046DpC313*
+ ID_MODEL_FROM_DATABASE=Internet 350 Keyboard
+
+usb:v046DpC315*
+ ID_MODEL_FROM_DATABASE=Classic Keyboard 200
+
+usb:v046DpC316*
+ ID_MODEL_FROM_DATABASE=HID-Compliant Keyboard
+
+usb:v046DpC317*
+ ID_MODEL_FROM_DATABASE=Wave Corded Keyboard
+
+usb:v046DpC318*
+ ID_MODEL_FROM_DATABASE=Illuminated Keyboard
+
+usb:v046DpC31A*
+ ID_MODEL_FROM_DATABASE=Comfort Wave 450
+
+usb:v046DpC31B*
+ ID_MODEL_FROM_DATABASE=Compact Keyboard K300
+
+usb:v046DpC31C*
+ ID_MODEL_FROM_DATABASE=Keyboard K120 for Business
+
+usb:v046DpC31D*
+ ID_MODEL_FROM_DATABASE=Media Keyboard K200
+
+usb:v046DpC401*
+ ID_MODEL_FROM_DATABASE=TrackMan Marble Wheel
+
+usb:v046DpC402*
+ ID_MODEL_FROM_DATABASE=Marble Mouse (2-button)
+
+usb:v046DpC403*
+ ID_MODEL_FROM_DATABASE=Turbo TrackMan Marble FX
+
+usb:v046DpC404*
+ ID_MODEL_FROM_DATABASE=TrackMan Wheel
+
+usb:v046DpC408*
+ ID_MODEL_FROM_DATABASE=Marble Mouse (4-button)
+
+usb:v046DpC501*
+ ID_MODEL_FROM_DATABASE=Cordless Mouse Receiver
+
+usb:v046DpC502*
+ ID_MODEL_FROM_DATABASE=Cordless Mouse & iTouch Keys
+
+usb:v046DpC503*
+ ID_MODEL_FROM_DATABASE=Cordless Mouse+Keyboard Receiver
+
+usb:v046DpC504*
+ ID_MODEL_FROM_DATABASE=Cordless Mouse+Keyboard Receiver
+
+usb:v046DpC505*
+ ID_MODEL_FROM_DATABASE=Cordless Mouse+Keyboard Receiver
+
+usb:v046DpC506*
+ ID_MODEL_FROM_DATABASE=MX700 Cordless Mouse Receiver
+
+usb:v046DpC508*
+ ID_MODEL_FROM_DATABASE=Cordless Trackball
+
+usb:v046DpC509*
+ ID_MODEL_FROM_DATABASE=Cordless Keyboard & Mouse
+
+usb:v046DpC50A*
+ ID_MODEL_FROM_DATABASE=Cordless Mouse
+
+usb:v046DpC50B*
+ ID_MODEL_FROM_DATABASE=Cordless Desktop Optical
+
+usb:v046DpC50C*
+ ID_MODEL_FROM_DATABASE=Cordless Desktop S510
+
+usb:v046DpC50D*
+ ID_MODEL_FROM_DATABASE=Cordless Mouse
+
+usb:v046DpC50E*
+ ID_MODEL_FROM_DATABASE=Cordless Mouse Receiver
+
+usb:v046DpC510*
+ ID_MODEL_FROM_DATABASE=Cordless Mouse
+
+usb:v046DpC512*
+ ID_MODEL_FROM_DATABASE=LX-700 Cordless Desktop Receiver
+
+usb:v046DpC513*
+ ID_MODEL_FROM_DATABASE=MX3000 Cordless Desktop Receiver
+
+usb:v046DpC514*
+ ID_MODEL_FROM_DATABASE=Cordless Mouse
+
+usb:v046DpC515*
+ ID_MODEL_FROM_DATABASE=Cordless 2.4 GHz Presenter Presentation remote control
+
+usb:v046DpC517*
+ ID_MODEL_FROM_DATABASE=LX710 Cordless Desktop Laser
+
+usb:v046DpC518*
+ ID_MODEL_FROM_DATABASE=MX610 Laser Cordless Mouse
+
+usb:v046DpC51A*
+ ID_MODEL_FROM_DATABASE=MX Revolution/G7 Cordless Mouse
+
+usb:v046DpC51B*
+ ID_MODEL_FROM_DATABASE=V220 Cordless Optical Mouse for Notebooks
+
+usb:v046DpC521*
+ ID_MODEL_FROM_DATABASE=Cordless Mouse Receiver
+
+usb:v046DpC525*
+ ID_MODEL_FROM_DATABASE=MX Revolution Cordless Mouse
+
+usb:v046DpC526*
+ ID_MODEL_FROM_DATABASE=Nano Receiver
+
+usb:v046DpC529*
+ ID_MODEL_FROM_DATABASE=Logitech Keyboard + Mice
+
+usb:v046DpC52B*
+ ID_MODEL_FROM_DATABASE=Unifying Receiver
+
+usb:v046DpC52F*
+ ID_MODEL_FROM_DATABASE=Unifying Receiver
+
+usb:v046DpC532*
+ ID_MODEL_FROM_DATABASE=Unifying Receiver
+
+usb:v046DpC623*
+ ID_MODEL_FROM_DATABASE=3Dconnexion Space Traveller 3D Mouse
+
+usb:v046DpC625*
+ ID_MODEL_FROM_DATABASE=3Dconnexion Space Pilot 3D Mouse
+
+usb:v046DpC626*
+ ID_MODEL_FROM_DATABASE=3Dconnexion Space Navigator 3D Mouse
+
+usb:v046DpC627*
+ ID_MODEL_FROM_DATABASE=3Dconnexion Space Explorer 3D Mouse
+
+usb:v046DpC702*
+ ID_MODEL_FROM_DATABASE=Cordless Presenter
+
+usb:v046DpC703*
+ ID_MODEL_FROM_DATABASE=Elite Keyboard Y-RP20 + Mouse MX900 (Bluetooth)
+
+usb:v046DpC704*
+ ID_MODEL_FROM_DATABASE=diNovo Wireless Desktop
+
+usb:v046DpC705*
+ ID_MODEL_FROM_DATABASE=MX900 Bluetooth Wireless Hub (C-UJ16A)
+
+usb:v046DpC707*
+ ID_MODEL_FROM_DATABASE=Bluetooth wireless hub
+
+usb:v046DpC708*
+ ID_MODEL_FROM_DATABASE=Bluetooth wireless hub
+
+usb:v046DpC709*
+ ID_MODEL_FROM_DATABASE=BT Mini-Receiver (HCI mode)
+
+usb:v046DpC70A*
+ ID_MODEL_FROM_DATABASE=MX5000 Cordless Desktop
+
+usb:v046DpC70B*
+ ID_MODEL_FROM_DATABASE=BT Mini-Receiver (HID proxy mode)
+
+usb:v046DpC70C*
+ ID_MODEL_FROM_DATABASE=BT Mini-Receiver (HID proxy mode)
+
+usb:v046DpC70D*
+ ID_MODEL_FROM_DATABASE=Bluetooth wireless hub
+
+usb:v046DpC70E*
+ ID_MODEL_FROM_DATABASE=MX1000 Bluetooth Laser Mouse
+
+usb:v046DpC70F*
+ ID_MODEL_FROM_DATABASE=Bluetooth wireless hub
+
+usb:v046DpC712*
+ ID_MODEL_FROM_DATABASE=Bluetooth wireless hub
+
+usb:v046DpC714*
+ ID_MODEL_FROM_DATABASE=diNovo Edge Keyboard
+
+usb:v046DpC715*
+ ID_MODEL_FROM_DATABASE=Bluetooth wireless hub
+
+usb:v046DpC71A*
+ ID_MODEL_FROM_DATABASE=Bluetooth wireless hub
+
+usb:v046DpC71D*
+ ID_MODEL_FROM_DATABASE=Bluetooth wireless hub
+
+usb:v046DpC71F*
+ ID_MODEL_FROM_DATABASE=diNovo Mini Wireless Keyboard
+
+usb:v046DpC720*
+ ID_MODEL_FROM_DATABASE=Bluetooth wireless hub
+
+usb:v046DpCA03*
+ ID_MODEL_FROM_DATABASE=MOMO Racing
+
+usb:v046DpCA04*
+ ID_MODEL_FROM_DATABASE=Formula Vibration Feedback Wheel
+
+usb:v046DpCAB1*
+ ID_MODEL_FROM_DATABASE=Cordless Keyboard for Wii HID Receiver
+
+usb:v046DpD001*
+ ID_MODEL_FROM_DATABASE=QuickCam Pro
+
+usb:v046E*
+ ID_VENDOR_FROM_DATABASE=Behavior Tech. Computer Corp.
+
+usb:v046Ep0100*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v046Ep3001*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v046Ep3002*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v046Ep3003*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v046Ep3005*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v046Ep3008*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v046Ep5250*
+ ID_MODEL_FROM_DATABASE=KeyMaestro Multimedia Keyboard
+
+usb:v046Ep5273*
+ ID_MODEL_FROM_DATABASE=KeyMaestro Multimedia Keyboard
+
+usb:v046Ep52E6*
+ ID_MODEL_FROM_DATABASE=Cordless Mouse
+
+usb:v046Ep5308*
+ ID_MODEL_FROM_DATABASE=KeyMaestro Keyboard
+
+usb:v046Ep5408*
+ ID_MODEL_FROM_DATABASE=KeyMaestro Multimedia Keyboard/Hub
+
+usb:v046Ep5500*
+ ID_MODEL_FROM_DATABASE=Portable Keyboard 86+9 keys (Model 6100C US)
+
+usb:v046Ep5720*
+ ID_MODEL_FROM_DATABASE=Smart Card Reader
+
+usb:v046Ep6782*
+ ID_MODEL_FROM_DATABASE=BTC 7932 mouse+keyboard
+
+usb:v046F*
+ ID_VENDOR_FROM_DATABASE=Crystal Semiconductor
+
+usb:v0471*
+ ID_VENDOR_FROM_DATABASE=Philips (or NXP)
+
+usb:v0471p0101*
+ ID_MODEL_FROM_DATABASE=DSS350 Digital Speaker System
+
+usb:v0471p0104*
+ ID_MODEL_FROM_DATABASE=DSS330 Digital Speaker System [uda1321]
+
+usb:v0471p0105*
+ ID_MODEL_FROM_DATABASE=UDA1321
+
+usb:v0471p014F*
+ ID_MODEL_FROM_DATABASE=GoGear SA9200
+
+usb:v0471p0160*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0471p0161*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0471p0163*
+ ID_MODEL_FROM_DATABASE=GoGear SA1100
+
+usb:v0471p0164*
+ ID_MODEL_FROM_DATABASE=GoGear SA1110/02
+
+usb:v0471p0165*
+ ID_MODEL_FROM_DATABASE=GoGear SA1330
+
+usb:v0471p0201*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v0471p0222*
+ ID_MODEL_FROM_DATABASE=Creative Nomad Jukebox
+
+usb:v0471p0302*
+ ID_MODEL_FROM_DATABASE=PCA645VC Webcam [pwc]
+
+usb:v0471p0303*
+ ID_MODEL_FROM_DATABASE=PCA646VC Webcam [pwc]
+
+usb:v0471p0304*
+ ID_MODEL_FROM_DATABASE=Askey VC010 Webcam [pwc]
+
+usb:v0471p0307*
+ ID_MODEL_FROM_DATABASE=PCVC675K Webcam [pwc]
+
+usb:v0471p0308*
+ ID_MODEL_FROM_DATABASE=PCVC680K Webcam [pwc]
+
+usb:v0471p030B*
+ ID_MODEL_FROM_DATABASE=PC VGA Camera (Vesta Fun)
+
+usb:v0471p030C*
+ ID_MODEL_FROM_DATABASE=PCVC690K Webcam [pwc]
+
+usb:v0471p0310*
+ ID_MODEL_FROM_DATABASE=PCVC730K Webcam [pwc]
+
+usb:v0471p0311*
+ ID_MODEL_FROM_DATABASE=PCVC740K ToUcam Pro [pwc]
+
+usb:v0471p0312*
+ ID_MODEL_FROM_DATABASE=PCVC750K Webcam [pwc]
+
+usb:v0471p0314*
+ ID_MODEL_FROM_DATABASE=DMVC 1000K
+
+usb:v0471p0316*
+ ID_MODEL_FROM_DATABASE=DMVC 2000K Video Capture
+
+usb:v0471p0321*
+ ID_MODEL_FROM_DATABASE=FunCam
+
+usb:v0471p0322*
+ ID_MODEL_FROM_DATABASE=DMVC1300K PC Camera
+
+usb:v0471p0325*
+ ID_MODEL_FROM_DATABASE=SPC 200NC PC Camera
+
+usb:v0471p0326*
+ ID_MODEL_FROM_DATABASE=SPC 300NC PC Camera
+
+usb:v0471p0327*
+ ID_MODEL_FROM_DATABASE=Webcam SPC 6000 NC (Webcam w/ mic)
+
+usb:v0471p0328*
+ ID_MODEL_FROM_DATABASE=SPC 700NC PC Camera
+
+usb:v0471p0329*
+ ID_MODEL_FROM_DATABASE=SPC 900NC PC Camera / ORITE CCD Webcam(PC370R)
+
+usb:v0471p032D*
+ ID_MODEL_FROM_DATABASE=SPC 210NC PC Camera
+
+usb:v0471p032E*
+ ID_MODEL_FROM_DATABASE=SPC 315NC PC Camera
+
+usb:v0471p0330*
+ ID_MODEL_FROM_DATABASE=SPC 710NC PC Camera
+
+usb:v0471p0331*
+ ID_MODEL_FROM_DATABASE=SPC 1300NC PC Camera
+
+usb:v0471p0332*
+ ID_MODEL_FROM_DATABASE=SPC 1000NC PC Camera
+
+usb:v0471p0333*
+ ID_MODEL_FROM_DATABASE=SPC 620NC PC Camera
+
+usb:v0471p0334*
+ ID_MODEL_FROM_DATABASE=SPC 520/525NC PC Camera
+
+usb:v0471p0401*
+ ID_MODEL_FROM_DATABASE=Semiconductors CICT Keyboard
+
+usb:v0471p0402*
+ ID_MODEL_FROM_DATABASE=PS/2 Mouse on Semiconductors CICT Keyboard
+
+usb:v0471p0406*
+ ID_MODEL_FROM_DATABASE=15 inch Detachable Monitor
+
+usb:v0471p0407*
+ ID_MODEL_FROM_DATABASE=10 inch Mobile Monitor
+
+usb:v0471p0408*
+ ID_MODEL_FROM_DATABASE=SG3WA1/74 802.11b WLAN Adapter [Atmel AT76C503A]
+
+usb:v0471p0471*
+ ID_MODEL_FROM_DATABASE=Digital Speaker System
+
+usb:v0471p0601*
+ ID_MODEL_FROM_DATABASE=OVU1020 IR Dongle (Kbd+Mouse)
+
+usb:v0471p0602*
+ ID_MODEL_FROM_DATABASE=ATI Remote Wonder II Input Device
+
+usb:v0471p0603*
+ ID_MODEL_FROM_DATABASE=ATI Remote Wonder II Controller
+
+usb:v0471p0608*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v0471p060A*
+ ID_MODEL_FROM_DATABASE=TSU9600 Remote Control
+
+usb:v0471p060C*
+ ID_MODEL_FROM_DATABASE=Consumer Infrared Transceiver (HP)
+
+usb:v0471p060D*
+ ID_MODEL_FROM_DATABASE=Consumer Infrared Transceiver (SRM5100)
+
+usb:v0471p060E*
+ ID_MODEL_FROM_DATABASE=RF Dongle
+
+usb:v0471p060F*
+ ID_MODEL_FROM_DATABASE=Consumer Infrared Transceiver
+
+usb:v0471p0613*
+ ID_MODEL_FROM_DATABASE=Infrared Transceiver
+
+usb:v0471p0617*
+ ID_MODEL_FROM_DATABASE=IEEE802.15.4 RF Dongle
+
+usb:v0471p0619*
+ ID_MODEL_FROM_DATABASE=TSU9400 Remote Control
+
+usb:v0471p0666*
+ ID_MODEL_FROM_DATABASE=Hantek DDS-3005 Arbitrary Waveform Generator
+
+usb:v0471p0700*
+ ID_MODEL_FROM_DATABASE=Semiconductors CICT Hub
+
+usb:v0471p0701*
+ ID_MODEL_FROM_DATABASE=150P1 TFT Display
+
+usb:v0471p0809*
+ ID_MODEL_FROM_DATABASE=AVNET Bluetooth Device
+
+usb:v0471p0811*
+ ID_MODEL_FROM_DATABASE=JR24 CDRW
+
+usb:v0471p0814*
+ ID_MODEL_FROM_DATABASE=DCCX38/P data cable
+
+usb:v0471p0815*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v0471p0844*
+ ID_MODEL_FROM_DATABASE=SA2111/02 1GB Flash Audio Player
+
+usb:v0471p084A*
+ ID_MODEL_FROM_DATABASE=GoGear SA3125
+
+usb:v0471p084E*
+ ID_MODEL_FROM_DATABASE=GoGear SA60xx (mtp)
+
+usb:v0471p0888*
+ ID_MODEL_FROM_DATABASE=Hantek DDS-3005 Arbitrary Waveform Generator
+
+usb:v0471p1103*
+ ID_MODEL_FROM_DATABASE=Digital Speaker System
+
+usb:v0471p1120*
+ ID_MODEL_FROM_DATABASE=Creative Rhomba MP3 player
+
+usb:v0471p1125*
+ ID_MODEL_FROM_DATABASE=Nike psa[128max Player
+
+usb:v0471p1137*
+ ID_MODEL_FROM_DATABASE=HDD065 MP3 player
+
+usb:v0471p1201*
+ ID_MODEL_FROM_DATABASE=Arima Bluetooth Device
+
+usb:v0471p1230*
+ ID_MODEL_FROM_DATABASE=Wireless Adapter 11g
+
+usb:v0471p1232*
+ ID_MODEL_FROM_DATABASE=SNU6500 Wireless Adapter
+
+usb:v0471p1233*
+ ID_MODEL_FROM_DATABASE=Wireless Adapter Bootloader Download
+
+usb:v0471p1236*
+ ID_MODEL_FROM_DATABASE=SNU5600 802.11bg
+
+usb:v0471p1237*
+ ID_MODEL_FROM_DATABASE=TalkTalk SNU5630NS/05 802.11bg
+
+usb:v0471p1552*
+ ID_MODEL_FROM_DATABASE=ISP 1581 Hi-Speed USB MPEG2 Encoder Reference Kit
+
+usb:v0471p1801*
+ ID_MODEL_FROM_DATABASE=Diva MP3 player
+
+usb:v0471p200A*
+ ID_MODEL_FROM_DATABASE=Wireless Network Adapter
+
+usb:v0471p200F*
+ ID_MODEL_FROM_DATABASE=802.11n Wireless Adapter
+
+usb:v0471p2021*
+ ID_MODEL_FROM_DATABASE=SDE3273FC/97 2.5" SATA HDD Enclosure [INIC-1608L]
+
+usb:v0471p2022*
+ ID_MODEL_FROM_DATABASE=GoGear SA52XX
+
+usb:v0471p2034*
+ ID_MODEL_FROM_DATABASE=Webcam SPC530NC
+
+usb:v0471p2036*
+ ID_MODEL_FROM_DATABASE=Webcam SPC1030NC
+
+usb:v0471p203F*
+ ID_MODEL_FROM_DATABASE=TSU9200 Remote Control
+
+usb:v0471p2046*
+ ID_MODEL_FROM_DATABASE=TSU9800 Remote Control
+
+usb:v0471p204E*
+ ID_MODEL_FROM_DATABASE=GoGear RaGa (SA1942/02)
+
+usb:v0471p205E*
+ ID_MODEL_FROM_DATABASE=TSU9300 Remote Control
+
+usb:v0471p206C*
+ ID_MODEL_FROM_DATABASE=MCE IR Receiver - Spinel plusf0r ASUS
+
+usb:v0471p2070*
+ ID_MODEL_FROM_DATABASE=GoGear Mix
+
+usb:v0471p2076*
+ ID_MODEL_FROM_DATABASE=GoGear Aria
+
+usb:v0471p2079*
+ ID_MODEL_FROM_DATABASE=GoGear Opus
+
+usb:v0471p2088*
+ ID_MODEL_FROM_DATABASE=MCE IR Receiver with ALS- Spinel plus for ASUS
+
+usb:v0471p209E*
+ ID_MODEL_FROM_DATABASE=PTA01 Wireless Adapter
+
+usb:v0471p20B6*
+ ID_MODEL_FROM_DATABASE=GoGear Vibe
+
+usb:v0471p20D0*
+ ID_MODEL_FROM_DATABASE=SPZ2000 Webcam [PixArt PAC7332]
+
+usb:v0471p20E3*
+ ID_MODEL_FROM_DATABASE=GoGear Raga
+
+usb:v0471p262C*
+ ID_MODEL_FROM_DATABASE=SPC230NC Webcam
+
+usb:v0471p485D*
+ ID_MODEL_FROM_DATABASE=Senselock SenseIV v2.x
+
+usb:v0471pDF55*
+ ID_MODEL_FROM_DATABASE=LPCXpresso LPC-Link
+
+usb:v0472*
+ ID_VENDOR_FROM_DATABASE=Chicony Electronics Co., Ltd
+
+usb:v0472p0065*
+ ID_MODEL_FROM_DATABASE=PFU-65 Keyboard [Chicony]
+
+usb:v0472pB086*
+ ID_MODEL_FROM_DATABASE=Asus USB2.0 Webcam
+
+usb:v0472pB091*
+ ID_MODEL_FROM_DATABASE=Webcam
+
+usb:v0473*
+ ID_VENDOR_FROM_DATABASE=Sanyo Information Business Co., Ltd
+
+usb:v0474*
+ ID_VENDOR_FROM_DATABASE=Sanyo Electric Co., Ltd
+
+usb:v0474p0110*
+ ID_MODEL_FROM_DATABASE=Digital Voice Recorder R200
+
+usb:v0474p0217*
+ ID_MODEL_FROM_DATABASE=Xacti J2
+
+usb:v0474p022F*
+ ID_MODEL_FROM_DATABASE=C5 Digital Media Camera (mass storage mode)
+
+usb:v0474p0230*
+ ID_MODEL_FROM_DATABASE=C5 Digital Media Camera (PictBridge mode)
+
+usb:v0474p0231*
+ ID_MODEL_FROM_DATABASE=C5 Digital Media Camera (PC control mode)
+
+usb:v0474p0401*
+ ID_MODEL_FROM_DATABASE=Optical Drive
+
+usb:v0474p0701*
+ ID_MODEL_FROM_DATABASE=SCP-4900 Cellphone
+
+usb:v0474p071F*
+ ID_MODEL_FROM_DATABASE=Usb Com Port Enumerator
+
+usb:v0474p0722*
+ ID_MODEL_FROM_DATABASE=W33SA Camera
+
+usb:v0475*
+ ID_VENDOR_FROM_DATABASE=Relisys/Teco Information System
+
+usb:v0475p0100*
+ ID_MODEL_FROM_DATABASE=NEC Petiscan
+
+usb:v0475p0103*
+ ID_MODEL_FROM_DATABASE=Eclipse 1200U/Episode
+
+usb:v0475p0210*
+ ID_MODEL_FROM_DATABASE=Scorpio Ultra 3
+
+usb:v0476*
+ ID_VENDOR_FROM_DATABASE=AESP
+
+usb:v0477*
+ ID_VENDOR_FROM_DATABASE=Seagate Technology, Inc.
+
+usb:v0478*
+ ID_VENDOR_FROM_DATABASE=Connectix Corp.
+
+usb:v0478p0001*
+ ID_MODEL_FROM_DATABASE=QuickCam
+
+usb:v0478p0002*
+ ID_MODEL_FROM_DATABASE=QuickClip
+
+usb:v0478p0003*
+ ID_MODEL_FROM_DATABASE=QuickCam Pro
+
+usb:v0479*
+ ID_VENDOR_FROM_DATABASE=Advanced Peripheral Laboratories
+
+usb:v047A*
+ ID_VENDOR_FROM_DATABASE=Semtech Corp.
+
+usb:v047Ap0004*
+ ID_MODEL_FROM_DATABASE=ScreenCoder UR7HCTS2-USB
+
+usb:v047B*
+ ID_VENDOR_FROM_DATABASE=Silitek Corp.
+
+usb:v047Bp0001*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v047Bp0002*
+ ID_MODEL_FROM_DATABASE=Keyboard and Mouse
+
+usb:v047Bp0011*
+ ID_MODEL_FROM_DATABASE=SK-1688U Keyboard
+
+usb:v047Bp00F9*
+ ID_MODEL_FROM_DATABASE=SK-1789u Keyboard
+
+usb:v047Bp0101*
+ ID_MODEL_FROM_DATABASE=BlueTooth Keyboard and Mouse
+
+usb:v047Bp020B*
+ ID_MODEL_FROM_DATABASE=SK-3105 SmartCard Reader
+
+usb:v047Bp050E*
+ ID_MODEL_FROM_DATABASE=Internet Compact Keyboard
+
+usb:v047Bp1000*
+ ID_MODEL_FROM_DATABASE=Trust Office Scan USB 19200
+
+usb:v047Bp1002*
+ ID_MODEL_FROM_DATABASE=HP ScanJet 4300c Parallel Port
+
+usb:v047C*
+ ID_VENDOR_FROM_DATABASE=Dell Computer Corp.
+
+usb:v047D*
+ ID_VENDOR_FROM_DATABASE=Kensington
+
+usb:v047Dp1001*
+ ID_MODEL_FROM_DATABASE=Mouse*in*a*Box
+
+usb:v047Dp1002*
+ ID_MODEL_FROM_DATABASE=Expert Mouse Pro
+
+usb:v047Dp1003*
+ ID_MODEL_FROM_DATABASE=Orbit TrackBall
+
+usb:v047Dp1004*
+ ID_MODEL_FROM_DATABASE=MouseWorks
+
+usb:v047Dp1005*
+ ID_MODEL_FROM_DATABASE=TurboBall
+
+usb:v047Dp1006*
+ ID_MODEL_FROM_DATABASE=TurboRing
+
+usb:v047Dp1009*
+ ID_MODEL_FROM_DATABASE=Orbit TrackBall for Mac
+
+usb:v047Dp1012*
+ ID_MODEL_FROM_DATABASE=PocketMouse
+
+usb:v047Dp1013*
+ ID_MODEL_FROM_DATABASE=Mouse*in*a*Box Optical Pro
+
+usb:v047Dp1014*
+ ID_MODEL_FROM_DATABASE=Expert Mouse Pro Wireless
+
+usb:v047Dp1015*
+ ID_MODEL_FROM_DATABASE=Expert Mouse
+
+usb:v047Dp1016*
+ ID_MODEL_FROM_DATABASE=ADB/USB Orbit
+
+usb:v047Dp1018*
+ ID_MODEL_FROM_DATABASE=Studio Mouse
+
+usb:v047Dp101D*
+ ID_MODEL_FROM_DATABASE=Mouse*in*a*Box Optical Pro
+
+usb:v047Dp101E*
+ ID_MODEL_FROM_DATABASE=Studio Mouse Wireless
+
+usb:v047Dp101F*
+ ID_MODEL_FROM_DATABASE=PocketMouse Pro
+
+usb:v047Dp1020*
+ ID_MODEL_FROM_DATABASE=Expert Mouse Trackball
+
+usb:v047Dp1021*
+ ID_MODEL_FROM_DATABASE=Expert Mouse Wireless
+
+usb:v047Dp1022*
+ ID_MODEL_FROM_DATABASE=Orbit Optical
+
+usb:v047Dp1023*
+ ID_MODEL_FROM_DATABASE=Pocket Mouse Pro Wireless
+
+usb:v047Dp1024*
+ ID_MODEL_FROM_DATABASE=PocketMouse
+
+usb:v047Dp1025*
+ ID_MODEL_FROM_DATABASE=Mouse*in*a*Box Optical Elite Wireless
+
+usb:v047Dp1026*
+ ID_MODEL_FROM_DATABASE=Pocket Mouse Pro
+
+usb:v047Dp1027*
+ ID_MODEL_FROM_DATABASE=StudioMouse
+
+usb:v047Dp1028*
+ ID_MODEL_FROM_DATABASE=StudioMouse Wireless
+
+usb:v047Dp1029*
+ ID_MODEL_FROM_DATABASE=Mouse*in*a*Box Optical Elite
+
+usb:v047Dp102A*
+ ID_MODEL_FROM_DATABASE=Mouse*in*a*Box Optical
+
+usb:v047Dp102B*
+ ID_MODEL_FROM_DATABASE=PocketMouse
+
+usb:v047Dp102C*
+ ID_MODEL_FROM_DATABASE=Iridio
+
+usb:v047Dp102D*
+ ID_MODEL_FROM_DATABASE=Pilot Optical
+
+usb:v047Dp102E*
+ ID_MODEL_FROM_DATABASE=Pilot Optical Pro
+
+usb:v047Dp102F*
+ ID_MODEL_FROM_DATABASE=Pilot Optical Pro Wireless
+
+usb:v047Dp1042*
+ ID_MODEL_FROM_DATABASE=Ci25m Notebook Optical Mouse [Diamond Eye Precision]
+
+usb:v047Dp1043*
+ ID_MODEL_FROM_DATABASE=Ci65m Wireless Notebook Optical Mouse
+
+usb:v047Dp104A*
+ ID_MODEL_FROM_DATABASE=PilotMouse Mini Retractable
+
+usb:v047Dp105D*
+ ID_MODEL_FROM_DATABASE=PocketMouse Bluetooth
+
+usb:v047Dp105E*
+ ID_MODEL_FROM_DATABASE=Bluetooth EDR Dongle
+
+usb:v047Dp1061*
+ ID_MODEL_FROM_DATABASE=PocketMouse Grip
+
+usb:v047Dp1062*
+ ID_MODEL_FROM_DATABASE=PocketMouse Max
+
+usb:v047Dp1063*
+ ID_MODEL_FROM_DATABASE=PocketMouse Max Wireless
+
+usb:v047Dp1064*
+ ID_MODEL_FROM_DATABASE=PocketMouse 2.0 Wireless
+
+usb:v047Dp1065*
+ ID_MODEL_FROM_DATABASE=PocketMouse 2.0
+
+usb:v047Dp1066*
+ ID_MODEL_FROM_DATABASE=PocketMouse Max Glow
+
+usb:v047Dp1067*
+ ID_MODEL_FROM_DATABASE=ValueMouse
+
+usb:v047Dp1068*
+ ID_MODEL_FROM_DATABASE=ValueOpt White
+
+usb:v047Dp1069*
+ ID_MODEL_FROM_DATABASE=ValueOpt Black
+
+usb:v047Dp106A*
+ ID_MODEL_FROM_DATABASE=PilotMouse Laser Wireless Mini
+
+usb:v047Dp106B*
+ ID_MODEL_FROM_DATABASE=PilotMouse Laser - 3 Button
+
+usb:v047Dp106C*
+ ID_MODEL_FROM_DATABASE=PilotMouse Laser - Gaming
+
+usb:v047Dp106D*
+ ID_MODEL_FROM_DATABASE=PilotMouse Laser - Wired
+
+usb:v047Dp106E*
+ ID_MODEL_FROM_DATABASE=PilotMouse Micro Laser
+
+usb:v047Dp1070*
+ ID_MODEL_FROM_DATABASE=ValueOpt Travel
+
+usb:v047Dp1071*
+ ID_MODEL_FROM_DATABASE=ValueOpt RF TX
+
+usb:v047Dp1072*
+ ID_MODEL_FROM_DATABASE=PocketMouse Colour
+
+usb:v047Dp1073*
+ ID_MODEL_FROM_DATABASE=PilotMouse Laser - 6 Button
+
+usb:v047Dp1074*
+ ID_MODEL_FROM_DATABASE=PilotMouse Laser Wireless Mini
+
+usb:v047Dp1075*
+ ID_MODEL_FROM_DATABASE=SlimBlade Presenter Media Mouse
+
+usb:v047Dp1076*
+ ID_MODEL_FROM_DATABASE=SlimBlade Media Mouse
+
+usb:v047Dp1077*
+ ID_MODEL_FROM_DATABASE=SlimBlade Presenter Mouse
+
+usb:v047Dp1152*
+ ID_MODEL_FROM_DATABASE=Bluetooth EDR Dongle
+
+usb:v047Dp2002*
+ ID_MODEL_FROM_DATABASE=Optical Elite Wireless
+
+usb:v047Dp2010*
+ ID_MODEL_FROM_DATABASE=Wireless Presentation Remote
+
+usb:v047Dp2012*
+ ID_MODEL_FROM_DATABASE=Wireless Presenter with Laser Pointer
+
+usb:v047Dp2021*
+ ID_MODEL_FROM_DATABASE=PilotBoard Wireless
+
+usb:v047Dp2030*
+ ID_MODEL_FROM_DATABASE=PilotBoard Wireless
+
+usb:v047Dp2034*
+ ID_MODEL_FROM_DATABASE=SlimBlade Media Notebook Set
+
+usb:v047Dp2041*
+ ID_MODEL_FROM_DATABASE=SlimBlade Trackball
+
+usb:v047Dp2048*
+ ID_MODEL_FROM_DATABASE=Orbit Trackball with Scroll Ring
+
+usb:v047Dp4003*
+ ID_MODEL_FROM_DATABASE=Gravis Xterminator Digital Gamepad
+
+usb:v047Dp4005*
+ ID_MODEL_FROM_DATABASE=Gravis Eliminator GamePad Pro
+
+usb:v047Dp4006*
+ ID_MODEL_FROM_DATABASE=Gravis Eliminator AfterShock
+
+usb:v047Dp4007*
+ ID_MODEL_FROM_DATABASE=Gravis Xterminator Force
+
+usb:v047Dp4008*
+ ID_MODEL_FROM_DATABASE=Gravis Destroyer TiltPad
+
+usb:v047Dp5001*
+ ID_MODEL_FROM_DATABASE=Cabo I Camera
+
+usb:v047Dp5002*
+ ID_MODEL_FROM_DATABASE=VideoCam CABO II
+
+usb:v047Dp5003*
+ ID_MODEL_FROM_DATABASE=VideoCam
+
+usb:v047E*
+ ID_VENDOR_FROM_DATABASE=Agere Systems, Inc. (Lucent)
+
+usb:v047Ep0300*
+ ID_MODEL_FROM_DATABASE=ORiNOCO Card
+
+usb:v047Ep1001*
+ ID_MODEL_FROM_DATABASE=USS720 Parallel Port
+
+usb:v047Ep2892*
+ ID_MODEL_FROM_DATABASE=Systems Soft Modem
+
+usb:v047EpBAD1*
+ ID_MODEL_FROM_DATABASE=Lucent 56k Modem
+
+usb:v047EpF101*
+ ID_MODEL_FROM_DATABASE=Atlas Modem
+
+usb:v047F*
+ ID_VENDOR_FROM_DATABASE=Plantronics, Inc.
+
+usb:v047Fp0101*
+ ID_MODEL_FROM_DATABASE=Bulk Driver
+
+usb:v047Fp0301*
+ ID_MODEL_FROM_DATABASE=Bulk Driver
+
+usb:v047Fp0411*
+ ID_MODEL_FROM_DATABASE=Savi Office Base Station
+
+usb:v047Fp0CA1*
+ ID_MODEL_FROM_DATABASE=USB DSP v4 Audio Interface
+
+usb:v047Fp4254*
+ ID_MODEL_FROM_DATABASE=BUA-100 Bluetooth Adapter
+
+usb:v047FpAC01*
+ ID_MODEL_FROM_DATABASE=Savi 7xx
+
+usb:v047FpAD01*
+ ID_MODEL_FROM_DATABASE=GameCom 777 5.1 Headset
+
+usb:v0480*
+ ID_VENDOR_FROM_DATABASE=Toshiba America Info. Systems, Inc.
+
+usb:v0480p0001*
+ ID_MODEL_FROM_DATABASE=InTouch Module
+
+usb:v0480p0004*
+ ID_MODEL_FROM_DATABASE=InTouch Module
+
+usb:v0480p0011*
+ ID_MODEL_FROM_DATABASE=InTouch Module
+
+usb:v0480p0014*
+ ID_MODEL_FROM_DATABASE=InTouch Module
+
+usb:v0480pA007*
+ ID_MODEL_FROM_DATABASE=External Disk USB 3.0
+
+usb:v0481*
+ ID_VENDOR_FROM_DATABASE=Zenith Data Systems
+
+usb:v0482*
+ ID_VENDOR_FROM_DATABASE=Kyocera Corp.
+
+usb:v0482p000E*
+ ID_MODEL_FROM_DATABASE=FS-1020D Printer
+
+usb:v0482p0100*
+ ID_MODEL_FROM_DATABASE=Finecam S3x
+
+usb:v0482p0101*
+ ID_MODEL_FROM_DATABASE=Finecam S4
+
+usb:v0482p0103*
+ ID_MODEL_FROM_DATABASE=Finecam S5
+
+usb:v0482p0105*
+ ID_MODEL_FROM_DATABASE=Finecam L3
+
+usb:v0482p0106*
+ ID_MODEL_FROM_DATABASE=Finecam
+
+usb:v0482p0107*
+ ID_MODEL_FROM_DATABASE=Digital Camera Device
+
+usb:v0482p0108*
+ ID_MODEL_FROM_DATABASE=Digital Camera Device
+
+usb:v0482p0203*
+ ID_MODEL_FROM_DATABASE=AH-K3001V
+
+usb:v0482p0204*
+ ID_MODEL_FROM_DATABASE=iBurst Terminal
+
+usb:v0483*
+ ID_VENDOR_FROM_DATABASE=STMicroelectronics
+
+usb:v0483p0137*
+ ID_MODEL_FROM_DATABASE=BeWAN ADSL USB ST (blue or green)
+
+usb:v0483p0138*
+ ID_MODEL_FROM_DATABASE=Unicorn II (ST70138B + MTC-20174TQ chipset)
+
+usb:v0483p1307*
+ ID_MODEL_FROM_DATABASE=Cytronix 6in1 Card Reader
+
+usb:v0483p163D*
+ ID_MODEL_FROM_DATABASE=Cool Icam Digi-MP3
+
+usb:v0483p2015*
+ ID_MODEL_FROM_DATABASE=TouchChip® Fingerprint Reader
+
+usb:v0483p2016*
+ ID_MODEL_FROM_DATABASE=Fingerprint Reader
+
+usb:v0483p2017*
+ ID_MODEL_FROM_DATABASE=Biometric Smart Card Reader
+
+usb:v0483p2018*
+ ID_MODEL_FROM_DATABASE=BioSimKey
+
+usb:v0483p2302*
+ ID_MODEL_FROM_DATABASE=Portable Flash Device (PFD)
+
+usb:v0483p3744*
+ ID_MODEL_FROM_DATABASE=STLINK Pseudo disk
+
+usb:v0483p3747*
+ ID_MODEL_FROM_DATABASE=ST Micro Connect Lite
+
+usb:v0483p3748*
+ ID_MODEL_FROM_DATABASE=ST-LINK/V2
+
+usb:v0483p4810*
+ ID_MODEL_FROM_DATABASE=ISDN adapter
+
+usb:v0483p481D*
+ ID_MODEL_FROM_DATABASE=BT Digital Access adapter
+
+usb:v0483p5000*
+ ID_MODEL_FROM_DATABASE=ST Micro/Ergenic ERG BT-002 Bluetooth Adapter
+
+usb:v0483p5001*
+ ID_MODEL_FROM_DATABASE=ST Micro Bluetooth Device
+
+usb:v0483p5710*
+ ID_MODEL_FROM_DATABASE=Joystick in FS Mode
+
+usb:v0483p5721*
+ ID_MODEL_FROM_DATABASE=Hantek DDS-3X25 Arbitrary Waveform Generator
+
+usb:v0483p5740*
+ ID_MODEL_FROM_DATABASE=STM32F407
+
+usb:v0483p7270*
+ ID_MODEL_FROM_DATABASE=ST Micro Serial Bridge
+
+usb:v0483p7554*
+ ID_MODEL_FROM_DATABASE=56k SoftModem
+
+usb:v0483pDF11*
+ ID_MODEL_FROM_DATABASE=STM Device in DFU Mode
+
+usb:v0483pFF10*
+ ID_MODEL_FROM_DATABASE=Swann ST56 Modem
+
+usb:v0484*
+ ID_VENDOR_FROM_DATABASE=Specialix
+
+usb:v0485*
+ ID_VENDOR_FROM_DATABASE=Nokia Monitors
+
+usb:v0486*
+ ID_VENDOR_FROM_DATABASE=ASUS Computers, Inc.
+
+usb:v0486p0185*
+ ID_MODEL_FROM_DATABASE=EeePC T91MT HID Touch Panel
+
+usb:v0487*
+ ID_VENDOR_FROM_DATABASE=Stewart Connector
+
+usb:v0488*
+ ID_VENDOR_FROM_DATABASE=Cirque Corp.
+
+usb:v0489*
+ ID_VENDOR_FROM_DATABASE=Foxconn / Hon Hai
+
+usb:v0489p0502*
+ ID_MODEL_FROM_DATABASE=SmartMedia Card Reader Firmware Loader
+
+usb:v0489p0503*
+ ID_MODEL_FROM_DATABASE=SmartMedia Card Reader
+
+usb:v0489pD00C*
+ ID_MODEL_FROM_DATABASE=Rollei Compactline (Storage Mode)
+
+usb:v0489pD00E*
+ ID_MODEL_FROM_DATABASE=Rollei Compactline (Video Mode)
+
+usb:v0489pE000*
+ ID_MODEL_FROM_DATABASE=T-Com TC 300
+
+usb:v0489pE003*
+ ID_MODEL_FROM_DATABASE=Pirelli DP-L10
+
+usb:v0489pE00D*
+ ID_MODEL_FROM_DATABASE=Broadcom Bluetooth 2.1 Device
+
+usb:v0489pE00F*
+ ID_MODEL_FROM_DATABASE=Foxconn T77H114 BCM2070 [Single-Chip Bluetooth 2.1 + EDR Adapter]
+
+usb:v0489pE016*
+ ID_MODEL_FROM_DATABASE=Ubee PXU1900 WiMAX Adapter [Beceem BCSM250]
+
+usb:v0489pE02C*
+ ID_MODEL_FROM_DATABASE=Atheros AR5BBU12 Bluetooth Device
+
+usb:v048A*
+ ID_VENDOR_FROM_DATABASE=S-MOS Systems, Inc.
+
+usb:v048C*
+ ID_VENDOR_FROM_DATABASE=Alps Electric Ireland, Ltd
+
+usb:v048D*
+ ID_VENDOR_FROM_DATABASE=Integrated Technology Express, Inc.
+
+usb:v048Dp1165*
+ ID_MODEL_FROM_DATABASE=IT1165 Flash Controller
+
+usb:v048Dp1336*
+ ID_MODEL_FROM_DATABASE=SD/MMC Cardreader
+
+usb:v048Dp1345*
+ ID_MODEL_FROM_DATABASE=Multi Cardreader
+
+usb:v048Dp9006*
+ ID_MODEL_FROM_DATABASE=IT9135 BDA Afatech DVB-T HDTV Dongle
+
+usb:v048Dp9009*
+ ID_MODEL_FROM_DATABASE=Zolid HD DVD Maker
+
+usb:v048Dp9135*
+ ID_MODEL_FROM_DATABASE=Zolid Mini DVB-T Stick
+
+usb:v048F*
+ ID_VENDOR_FROM_DATABASE=Eicon Tech.
+
+usb:v0490*
+ ID_VENDOR_FROM_DATABASE=United Microelectronics Corp.
+
+usb:v0491*
+ ID_VENDOR_FROM_DATABASE=Capetronic
+
+usb:v0491p0003*
+ ID_MODEL_FROM_DATABASE=Taxan Monitor Control
+
+usb:v0492*
+ ID_VENDOR_FROM_DATABASE=Samsung SemiConductor, Inc.
+
+usb:v0492p0140*
+ ID_MODEL_FROM_DATABASE=MP3 player
+
+usb:v0492p0141*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0493*
+ ID_VENDOR_FROM_DATABASE=MAG Technology Co., Ltd
+
+usb:v0495*
+ ID_VENDOR_FROM_DATABASE=ESS Technology, Inc.
+
+usb:v0496*
+ ID_VENDOR_FROM_DATABASE=Micron Electronics
+
+usb:v0497*
+ ID_VENDOR_FROM_DATABASE=Smile International
+
+usb:v0497pC001*
+ ID_MODEL_FROM_DATABASE=Camera Device
+
+usb:v0498*
+ ID_VENDOR_FROM_DATABASE=Capetronic (Kaohsiung) Corp.
+
+usb:v0499*
+ ID_VENDOR_FROM_DATABASE=Yamaha Corp.
+
+usb:v0499p1000*
+ ID_MODEL_FROM_DATABASE=UX256 MIDI I/F
+
+usb:v0499p1001*
+ ID_MODEL_FROM_DATABASE=MU1000
+
+usb:v0499p1002*
+ ID_MODEL_FROM_DATABASE=MU2000
+
+usb:v0499p1003*
+ ID_MODEL_FROM_DATABASE=MU500
+
+usb:v0499p1004*
+ ID_MODEL_FROM_DATABASE=UW500
+
+usb:v0499p1005*
+ ID_MODEL_FROM_DATABASE=MOTIF6
+
+usb:v0499p1006*
+ ID_MODEL_FROM_DATABASE=MOTIF7
+
+usb:v0499p1007*
+ ID_MODEL_FROM_DATABASE=MOTIF8
+
+usb:v0499p1008*
+ ID_MODEL_FROM_DATABASE=UX96 MIDI I/F
+
+usb:v0499p1009*
+ ID_MODEL_FROM_DATABASE=UX16 MIDI I/F
+
+usb:v0499p100A*
+ ID_MODEL_FROM_DATABASE=EOS BX
+
+usb:v0499p100C*
+ ID_MODEL_FROM_DATABASE=UC-MX
+
+usb:v0499p100D*
+ ID_MODEL_FROM_DATABASE=UC-KX
+
+usb:v0499p100E*
+ ID_MODEL_FROM_DATABASE=S08
+
+usb:v0499p100F*
+ ID_MODEL_FROM_DATABASE=CLP-150
+
+usb:v0499p1010*
+ ID_MODEL_FROM_DATABASE=CLP-170
+
+usb:v0499p1011*
+ ID_MODEL_FROM_DATABASE=P-250
+
+usb:v0499p1012*
+ ID_MODEL_FROM_DATABASE=TYROS
+
+usb:v0499p1013*
+ ID_MODEL_FROM_DATABASE=PF-500
+
+usb:v0499p1014*
+ ID_MODEL_FROM_DATABASE=S90
+
+usb:v0499p1015*
+ ID_MODEL_FROM_DATABASE=MOTIF-R
+
+usb:v0499p1016*
+ ID_MODEL_FROM_DATABASE=MDP-5
+
+usb:v0499p1017*
+ ID_MODEL_FROM_DATABASE=CVP-204
+
+usb:v0499p1018*
+ ID_MODEL_FROM_DATABASE=CVP-206
+
+usb:v0499p1019*
+ ID_MODEL_FROM_DATABASE=CVP-208
+
+usb:v0499p101A*
+ ID_MODEL_FROM_DATABASE=CVP-210
+
+usb:v0499p101B*
+ ID_MODEL_FROM_DATABASE=PSR-1100
+
+usb:v0499p101C*
+ ID_MODEL_FROM_DATABASE=PSR-2100
+
+usb:v0499p101D*
+ ID_MODEL_FROM_DATABASE=CLP-175
+
+usb:v0499p101E*
+ ID_MODEL_FROM_DATABASE=PSR-K1
+
+usb:v0499p101F*
+ ID_MODEL_FROM_DATABASE=EZ-J24
+
+usb:v0499p1020*
+ ID_MODEL_FROM_DATABASE=EZ-250i
+
+usb:v0499p1021*
+ ID_MODEL_FROM_DATABASE=MOTIF ES 6
+
+usb:v0499p1022*
+ ID_MODEL_FROM_DATABASE=MOTIF ES 7
+
+usb:v0499p1023*
+ ID_MODEL_FROM_DATABASE=MOTIF ES 8
+
+usb:v0499p1024*
+ ID_MODEL_FROM_DATABASE=CVP-301
+
+usb:v0499p1025*
+ ID_MODEL_FROM_DATABASE=CVP-303
+
+usb:v0499p1026*
+ ID_MODEL_FROM_DATABASE=CVP-305
+
+usb:v0499p1027*
+ ID_MODEL_FROM_DATABASE=CVP-307
+
+usb:v0499p1028*
+ ID_MODEL_FROM_DATABASE=CVP-309
+
+usb:v0499p1029*
+ ID_MODEL_FROM_DATABASE=CVP-309GP
+
+usb:v0499p102A*
+ ID_MODEL_FROM_DATABASE=PSR-1500
+
+usb:v0499p102B*
+ ID_MODEL_FROM_DATABASE=PSR-3000
+
+usb:v0499p102E*
+ ID_MODEL_FROM_DATABASE=ELS-01/01C
+
+usb:v0499p1030*
+ ID_MODEL_FROM_DATABASE=PSR-295/293
+
+usb:v0499p1031*
+ ID_MODEL_FROM_DATABASE=DGX-205/203
+
+usb:v0499p1032*
+ ID_MODEL_FROM_DATABASE=DGX-305
+
+usb:v0499p1033*
+ ID_MODEL_FROM_DATABASE=DGX-505
+
+usb:v0499p1037*
+ ID_MODEL_FROM_DATABASE=PSR-E403
+
+usb:v0499p103C*
+ ID_MODEL_FROM_DATABASE=MOTIF-RACK ES
+
+usb:v0499p1054*
+ ID_MODEL_FROM_DATABASE=S90XS Keyboard/Music Synthesizer
+
+usb:v0499p2000*
+ ID_MODEL_FROM_DATABASE=DGP-7
+
+usb:v0499p2001*
+ ID_MODEL_FROM_DATABASE=DGP-5
+
+usb:v0499p3001*
+ ID_MODEL_FROM_DATABASE=YST-MS55D USB Speaker
+
+usb:v0499p3003*
+ ID_MODEL_FROM_DATABASE=YST-M45D USB Speaker
+
+usb:v0499p4000*
+ ID_MODEL_FROM_DATABASE=NetVolante RTA54i Broadband&ISDN Router
+
+usb:v0499p4001*
+ ID_MODEL_FROM_DATABASE=NetVolante RTW65b Broadband Wireless Router
+
+usb:v0499p4002*
+ ID_MODEL_FROM_DATABASE=NetVolante RTW65i Broadband&ISDN Wireless Router
+
+usb:v0499p4004*
+ ID_MODEL_FROM_DATABASE=NetVolante RTA55i Broadband VoIP Router
+
+usb:v0499p5000*
+ ID_MODEL_FROM_DATABASE=CS1D
+
+usb:v0499p5001*
+ ID_MODEL_FROM_DATABASE=DSP1D
+
+usb:v0499p5002*
+ ID_MODEL_FROM_DATABASE=DME32
+
+usb:v0499p5003*
+ ID_MODEL_FROM_DATABASE=DM2000
+
+usb:v0499p5004*
+ ID_MODEL_FROM_DATABASE=02R96
+
+usb:v0499p5005*
+ ID_MODEL_FROM_DATABASE=ACU16-C
+
+usb:v0499p5006*
+ ID_MODEL_FROM_DATABASE=NHB32-C
+
+usb:v0499p5007*
+ ID_MODEL_FROM_DATABASE=DM1000
+
+usb:v0499p5008*
+ ID_MODEL_FROM_DATABASE=01V96
+
+usb:v0499p5009*
+ ID_MODEL_FROM_DATABASE=SPX2000
+
+usb:v0499p500A*
+ ID_MODEL_FROM_DATABASE=PM5D
+
+usb:v0499p500B*
+ ID_MODEL_FROM_DATABASE=DME64N
+
+usb:v0499p500C*
+ ID_MODEL_FROM_DATABASE=DME24N
+
+usb:v0499p6001*
+ ID_MODEL_FROM_DATABASE=CRW2200UX Lightspeed 2 External CD-RW Drive
+
+usb:v0499p7000*
+ ID_MODEL_FROM_DATABASE=DTX
+
+usb:v0499p7010*
+ ID_MODEL_FROM_DATABASE=UB99
+
+usb:v049A*
+ ID_VENDOR_FROM_DATABASE=Gandalf Technologies, Ltd
+
+usb:v049B*
+ ID_VENDOR_FROM_DATABASE=Curtis Computer Products
+
+usb:v049C*
+ ID_VENDOR_FROM_DATABASE=Acer Advanced Labs, Inc.
+
+usb:v049Cp0002*
+ ID_MODEL_FROM_DATABASE=Keyboard (???)
+
+usb:v049D*
+ ID_VENDOR_FROM_DATABASE=VLSI Technology
+
+usb:v049F*
+ ID_VENDOR_FROM_DATABASE=Compaq Computer Corp.
+
+usb:v049Fp0002*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v049Fp0003*
+ ID_MODEL_FROM_DATABASE=iPAQ PocketPC
+
+usb:v049Fp000E*
+ ID_MODEL_FROM_DATABASE=Internet Keyboard
+
+usb:v049Fp0012*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v049Fp0018*
+ ID_MODEL_FROM_DATABASE=PA-1/PA-2 MP3 Player
+
+usb:v049Fp0019*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v049Fp001A*
+ ID_MODEL_FROM_DATABASE=S4 100 Scanner
+
+usb:v049Fp001E*
+ ID_MODEL_FROM_DATABASE=IJ650 Inkjet Printer
+
+usb:v049Fp001F*
+ ID_MODEL_FROM_DATABASE=WL215 Adapter
+
+usb:v049Fp0021*
+ ID_MODEL_FROM_DATABASE=S200 Scanner
+
+usb:v049Fp0027*
+ ID_MODEL_FROM_DATABASE=Bluetooth Multiport Module by Compaq
+
+usb:v049Fp002A*
+ ID_MODEL_FROM_DATABASE=1400P Inkjet Printer
+
+usb:v049Fp002B*
+ ID_MODEL_FROM_DATABASE=A3000
+
+usb:v049Fp002C*
+ ID_MODEL_FROM_DATABASE=Lexmark X125
+
+usb:v049Fp0032*
+ ID_MODEL_FROM_DATABASE=802.11b Adapter [ipaq h5400]
+
+usb:v049Fp0033*
+ ID_MODEL_FROM_DATABASE=Wireless LAN MultiPort W100 [Intersil PRISM 2.5]
+
+usb:v049Fp0036*
+ ID_MODEL_FROM_DATABASE=Bluetooth Multiport Module
+
+usb:v049Fp0051*
+ ID_MODEL_FROM_DATABASE=KU-0133 Easy Access Interner Keyboard
+
+usb:v049Fp0076*
+ ID_MODEL_FROM_DATABASE=Wireless LAN MultiPort W200
+
+usb:v049Fp0080*
+ ID_MODEL_FROM_DATABASE=GPRS Multiport
+
+usb:v049Fp0086*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v049Fp504A*
+ ID_MODEL_FROM_DATABASE=Personal Jukebox PJB100
+
+usb:v049Fp505A*
+ ID_MODEL_FROM_DATABASE=Linux-USB "CDC Subset" Device, or Itsy (experimental)
+
+usb:v049Fp8511*
+ ID_MODEL_FROM_DATABASE=iPAQ Networking 10/100 Ethernet [pegasus2]
+
+usb:v04A0*
+ ID_VENDOR_FROM_DATABASE=Digital Equipment Corp.
+
+usb:v04A1*
+ ID_VENDOR_FROM_DATABASE=SystemSoft Corp.
+
+usb:v04A1pFFF0*
+ ID_MODEL_FROM_DATABASE=Telex Composite Device
+
+usb:v04A2*
+ ID_VENDOR_FROM_DATABASE=FirePower Systems
+
+usb:v04A3*
+ ID_VENDOR_FROM_DATABASE=Trident Microsystems, Inc.
+
+usb:v04A4*
+ ID_VENDOR_FROM_DATABASE=Hitachi, Ltd
+
+usb:v04A4p0004*
+ ID_MODEL_FROM_DATABASE=DVD-CAM DZ-MV100A Camcorder
+
+usb:v04A4p001E*
+ ID_MODEL_FROM_DATABASE=DVDCAM USB HS Interface
+
+usb:v04A5*
+ ID_VENDOR_FROM_DATABASE=Acer Peripherals Inc. (now BenQ Corp.)
+
+usb:v04A5p0001*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v04A5p0002*
+ ID_MODEL_FROM_DATABASE=API Ergo K/B
+
+usb:v04A5p0003*
+ ID_MODEL_FROM_DATABASE=API Generic K/B Mouse
+
+usb:v04A5p12A6*
+ ID_MODEL_FROM_DATABASE=AcerScan C310U
+
+usb:v04A5p1A20*
+ ID_MODEL_FROM_DATABASE=Prisa 310U
+
+usb:v04A5p1A2A*
+ ID_MODEL_FROM_DATABASE=Prisa 620U
+
+usb:v04A5p2022*
+ ID_MODEL_FROM_DATABASE=Prisa 320U/340U
+
+usb:v04A5p2040*
+ ID_MODEL_FROM_DATABASE=Prisa 620UT
+
+usb:v04A5p205E*
+ ID_MODEL_FROM_DATABASE=ScanPrisa 640BU
+
+usb:v04A5p2060*
+ ID_MODEL_FROM_DATABASE=Prisa 620U+/640U
+
+usb:v04A5p207E*
+ ID_MODEL_FROM_DATABASE=Prisa 640BU
+
+usb:v04A5p209E*
+ ID_MODEL_FROM_DATABASE=ScanPrisa 640BT
+
+usb:v04A5p20AE*
+ ID_MODEL_FROM_DATABASE=S2W 3000U
+
+usb:v04A5p20B0*
+ ID_MODEL_FROM_DATABASE=S2W 3300U/4300U
+
+usb:v04A5p20BE*
+ ID_MODEL_FROM_DATABASE=Prisa 640BT
+
+usb:v04A5p20C0*
+ ID_MODEL_FROM_DATABASE=Prisa 1240UT
+
+usb:v04A5p20DE*
+ ID_MODEL_FROM_DATABASE=S2W 4300U+
+
+usb:v04A5p20F8*
+ ID_MODEL_FROM_DATABASE=Benq 5000
+
+usb:v04A5p20FC*
+ ID_MODEL_FROM_DATABASE=Benq 5000
+
+usb:v04A5p20FE*
+ ID_MODEL_FROM_DATABASE=SW2 5300U
+
+usb:v04A5p2137*
+ ID_MODEL_FROM_DATABASE=Benq 5150/5250
+
+usb:v04A5p2202*
+ ID_MODEL_FROM_DATABASE=Benq 7400UT
+
+usb:v04A5p2311*
+ ID_MODEL_FROM_DATABASE=Benq 5560
+
+usb:v04A5p3003*
+ ID_MODEL_FROM_DATABASE=Benq Webcam
+
+usb:v04A5p3008*
+ ID_MODEL_FROM_DATABASE=Benq 1500
+
+usb:v04A5p300A*
+ ID_MODEL_FROM_DATABASE=Benq 3410
+
+usb:v04A5p300C*
+ ID_MODEL_FROM_DATABASE=Benq 1016
+
+usb:v04A5p3019*
+ ID_MODEL_FROM_DATABASE=Benq DC C40
+
+usb:v04A5p4000*
+ ID_MODEL_FROM_DATABASE=P30 Composite Device
+
+usb:v04A5p4013*
+ ID_MODEL_FROM_DATABASE=BenQ-Siemens EF82/SL91
+
+usb:v04A5p4044*
+ ID_MODEL_FROM_DATABASE=BenQ-Siemens SF71
+
+usb:v04A5p4045*
+ ID_MODEL_FROM_DATABASE=BenQ-Siemens E81
+
+usb:v04A5p4048*
+ ID_MODEL_FROM_DATABASE=BenQ M7
+
+usb:v04A5p6001*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6002*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6003*
+ ID_MODEL_FROM_DATABASE=ATA/ATAPI Adapter
+
+usb:v04A5p6004*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6005*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6006*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6007*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6008*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6009*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p600A*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p600B*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p600C*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p600D*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p600E*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p600F*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6010*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6011*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6012*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6013*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6014*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6015*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v04A5p6125*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v04A5p6180*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v04A5p6200*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v04A5p7500*
+ ID_MODEL_FROM_DATABASE=Hi-Speed Mass Storage Device
+
+usb:v04A5p9000*
+ ID_MODEL_FROM_DATABASE=AWL300 Wireless Adapter
+
+usb:v04A5p9001*
+ ID_MODEL_FROM_DATABASE=AWL400 Wireless Adapter
+
+usb:v04A5p9213*
+ ID_MODEL_FROM_DATABASE=Kbd Hub
+
+usb:v04A6*
+ ID_VENDOR_FROM_DATABASE=Nokia Display Products
+
+usb:v04A6p00B9*
+ ID_MODEL_FROM_DATABASE=Audio
+
+usb:v04A6p0180*
+ ID_MODEL_FROM_DATABASE=Hub Type P
+
+usb:v04A6p0181*
+ ID_MODEL_FROM_DATABASE=HID Monitor Controls
+
+usb:v04A7*
+ ID_VENDOR_FROM_DATABASE=Visioneer
+
+usb:v04A7p0100*
+ ID_MODEL_FROM_DATABASE=StrobePro
+
+usb:v04A7p0101*
+ ID_MODEL_FROM_DATABASE=Strobe Pro Scanner (1.01)
+
+usb:v04A7p0102*
+ ID_MODEL_FROM_DATABASE=StrobePro Scanner
+
+usb:v04A7p0211*
+ ID_MODEL_FROM_DATABASE=OneTouch 7600 Scanner
+
+usb:v04A7p0221*
+ ID_MODEL_FROM_DATABASE=OneTouch 5300 Scanner
+
+usb:v04A7p0223*
+ ID_MODEL_FROM_DATABASE=OneTouch 8200
+
+usb:v04A7p0224*
+ ID_MODEL_FROM_DATABASE=OneTouch 4800 USB/Microtek Scanport 3000
+
+usb:v04A7p0225*
+ ID_MODEL_FROM_DATABASE=VistaScan Astra 3600(ENG)
+
+usb:v04A7p0226*
+ ID_MODEL_FROM_DATABASE=OneTouch 5300 USB
+
+usb:v04A7p0229*
+ ID_MODEL_FROM_DATABASE=OneTouch 7100
+
+usb:v04A7p022A*
+ ID_MODEL_FROM_DATABASE=OneTouch 6600
+
+usb:v04A7p022C*
+ ID_MODEL_FROM_DATABASE=OneTouch 9000/9020
+
+usb:v04A7p0231*
+ ID_MODEL_FROM_DATABASE=6100 Scanner
+
+usb:v04A7p0311*
+ ID_MODEL_FROM_DATABASE=6200 EPP/USB Scanner
+
+usb:v04A7p0321*
+ ID_MODEL_FROM_DATABASE=OneTouch 8100 EPP/USB Scanner
+
+usb:v04A7p0331*
+ ID_MODEL_FROM_DATABASE=OneTouch 8600 EPP/USB Scanner
+
+usb:v04A7p0341*
+ ID_MODEL_FROM_DATABASE=6400
+
+usb:v04A7p0361*
+ ID_MODEL_FROM_DATABASE=VistaScan Astra 3600(ENG)
+
+usb:v04A7p0362*
+ ID_MODEL_FROM_DATABASE=OneTouch 9320
+
+usb:v04A7p0371*
+ ID_MODEL_FROM_DATABASE=OneTouch 8700/8920
+
+usb:v04A7p0380*
+ ID_MODEL_FROM_DATABASE=OneTouch 7700
+
+usb:v04A7p0382*
+ ID_MODEL_FROM_DATABASE=Photo Port 7700
+
+usb:v04A7p0390*
+ ID_MODEL_FROM_DATABASE=9650
+
+usb:v04A7p03A0*
+ ID_MODEL_FROM_DATABASE=Xerox 4800 One Touch
+
+usb:v04A7p0410*
+ ID_MODEL_FROM_DATABASE=OneTouch Pro 8800/8820
+
+usb:v04A7p0421*
+ ID_MODEL_FROM_DATABASE=9450 USB
+
+usb:v04A7p0423*
+ ID_MODEL_FROM_DATABASE=9750 Scanner
+
+usb:v04A7p0424*
+ ID_MODEL_FROM_DATABASE=Strobe XP 450
+
+usb:v04A7p0425*
+ ID_MODEL_FROM_DATABASE=Strobe XP 100
+
+usb:v04A7p0426*
+ ID_MODEL_FROM_DATABASE=Strobe XP 200
+
+usb:v04A7p0427*
+ ID_MODEL_FROM_DATABASE=Strobe XP 100
+
+usb:v04A7p0444*
+ ID_MODEL_FROM_DATABASE=OneTouch 7300
+
+usb:v04A7p0445*
+ ID_MODEL_FROM_DATABASE=CardReader 100
+
+usb:v04A7p0446*
+ ID_MODEL_FROM_DATABASE=Xerox DocuMate 510
+
+usb:v04A7p0447*
+ ID_MODEL_FROM_DATABASE=XEROX DocuMate 520
+
+usb:v04A7p0448*
+ ID_MODEL_FROM_DATABASE=XEROX DocuMate 250
+
+usb:v04A7p0449*
+ ID_MODEL_FROM_DATABASE=Xerox DocuMate 252
+
+usb:v04A7p044A*
+ ID_MODEL_FROM_DATABASE=Xerox 6400
+
+usb:v04A7p044C*
+ ID_MODEL_FROM_DATABASE=Xerox DocuMate 262
+
+usb:v04A7p0474*
+ ID_MODEL_FROM_DATABASE=Strobe XP 300
+
+usb:v04A7p0475*
+ ID_MODEL_FROM_DATABASE=Xerox DocuMate 272
+
+usb:v04A7p0478*
+ ID_MODEL_FROM_DATABASE=Strobe XP 220
+
+usb:v04A7p0479*
+ ID_MODEL_FROM_DATABASE=Strobe XP 470
+
+usb:v04A7p047A*
+ ID_MODEL_FROM_DATABASE=9450
+
+usb:v04A7p047B*
+ ID_MODEL_FROM_DATABASE=9650
+
+usb:v04A7p047D*
+ ID_MODEL_FROM_DATABASE=9420
+
+usb:v04A7p0480*
+ ID_MODEL_FROM_DATABASE=9520
+
+usb:v04A7p048F*
+ ID_MODEL_FROM_DATABASE=Strobe XP 470
+
+usb:v04A7p0491*
+ ID_MODEL_FROM_DATABASE=Strobe XP 450
+
+usb:v04A7p0493*
+ ID_MODEL_FROM_DATABASE=9750
+
+usb:v04A7p0494*
+ ID_MODEL_FROM_DATABASE=Strobe XP 120
+
+usb:v04A7p0497*
+ ID_MODEL_FROM_DATABASE=Patriot 430
+
+usb:v04A7p0498*
+ ID_MODEL_FROM_DATABASE=Patriot 680
+
+usb:v04A7p0499*
+ ID_MODEL_FROM_DATABASE=Patriot 780
+
+usb:v04A7p049B*
+ ID_MODEL_FROM_DATABASE=Strobe XP 100
+
+usb:v04A7p04A0*
+ ID_MODEL_FROM_DATABASE=7400
+
+usb:v04A7p04AC*
+ ID_MODEL_FROM_DATABASE=Xerox Travel Scanner 100
+
+usb:v04A8*
+ ID_VENDOR_FROM_DATABASE=Multivideo Labs, Inc.
+
+usb:v04A8p0101*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v04A8p0303*
+ ID_MODEL_FROM_DATABASE=Peripheral Switch
+
+usb:v04A8p0404*
+ ID_MODEL_FROM_DATABASE=Peripheral Switch
+
+usb:v04A9*
+ ID_VENDOR_FROM_DATABASE=Canon, Inc.
+
+usb:v04A9p1005*
+ ID_MODEL_FROM_DATABASE=BJ Printer Hub
+
+usb:v04A9p1035*
+ ID_MODEL_FROM_DATABASE=PD Printer Storage
+
+usb:v04A9p1050*
+ ID_MODEL_FROM_DATABASE=BJC-8200
+
+usb:v04A9p1051*
+ ID_MODEL_FROM_DATABASE=BJC-3000 Color Printer
+
+usb:v04A9p1052*
+ ID_MODEL_FROM_DATABASE=BJC-6100
+
+usb:v04A9p1053*
+ ID_MODEL_FROM_DATABASE=BJC-6200
+
+usb:v04A9p1054*
+ ID_MODEL_FROM_DATABASE=BJC-6500
+
+usb:v04A9p1055*
+ ID_MODEL_FROM_DATABASE=BJC-85
+
+usb:v04A9p1056*
+ ID_MODEL_FROM_DATABASE=BJC-2110 Color Printer
+
+usb:v04A9p1057*
+ ID_MODEL_FROM_DATABASE=LR1
+
+usb:v04A9p105A*
+ ID_MODEL_FROM_DATABASE=BJC-55
+
+usb:v04A9p105B*
+ ID_MODEL_FROM_DATABASE=S600 Printer
+
+usb:v04A9p105C*
+ ID_MODEL_FROM_DATABASE=S400
+
+usb:v04A9p105D*
+ ID_MODEL_FROM_DATABASE=S450 Printer
+
+usb:v04A9p105E*
+ ID_MODEL_FROM_DATABASE=S800
+
+usb:v04A9p1062*
+ ID_MODEL_FROM_DATABASE=S500 Printer
+
+usb:v04A9p1063*
+ ID_MODEL_FROM_DATABASE=S4500
+
+usb:v04A9p1064*
+ ID_MODEL_FROM_DATABASE=S300 Printer
+
+usb:v04A9p1065*
+ ID_MODEL_FROM_DATABASE=S100
+
+usb:v04A9p1066*
+ ID_MODEL_FROM_DATABASE=S630
+
+usb:v04A9p1067*
+ ID_MODEL_FROM_DATABASE=S900
+
+usb:v04A9p1068*
+ ID_MODEL_FROM_DATABASE=S9000
+
+usb:v04A9p1069*
+ ID_MODEL_FROM_DATABASE=S820
+
+usb:v04A9p106A*
+ ID_MODEL_FROM_DATABASE=S200 Printer
+
+usb:v04A9p106B*
+ ID_MODEL_FROM_DATABASE=S520 Printer
+
+usb:v04A9p106D*
+ ID_MODEL_FROM_DATABASE=S750 Printer
+
+usb:v04A9p106E*
+ ID_MODEL_FROM_DATABASE=S820D
+
+usb:v04A9p1070*
+ ID_MODEL_FROM_DATABASE=S530D
+
+usb:v04A9p1072*
+ ID_MODEL_FROM_DATABASE=I850 Printer
+
+usb:v04A9p1073*
+ ID_MODEL_FROM_DATABASE=I550 Printer
+
+usb:v04A9p1074*
+ ID_MODEL_FROM_DATABASE=S330 Printer
+
+usb:v04A9p1076*
+ ID_MODEL_FROM_DATABASE=i70
+
+usb:v04A9p1077*
+ ID_MODEL_FROM_DATABASE=i950
+
+usb:v04A9p107A*
+ ID_MODEL_FROM_DATABASE=S830D
+
+usb:v04A9p107B*
+ ID_MODEL_FROM_DATABASE=i320
+
+usb:v04A9p107C*
+ ID_MODEL_FROM_DATABASE=i470D
+
+usb:v04A9p107D*
+ ID_MODEL_FROM_DATABASE=i9100
+
+usb:v04A9p107E*
+ ID_MODEL_FROM_DATABASE=i450
+
+usb:v04A9p107F*
+ ID_MODEL_FROM_DATABASE=i860
+
+usb:v04A9p1082*
+ ID_MODEL_FROM_DATABASE=i350
+
+usb:v04A9p1084*
+ ID_MODEL_FROM_DATABASE=i250
+
+usb:v04A9p1085*
+ ID_MODEL_FROM_DATABASE=i255
+
+usb:v04A9p1086*
+ ID_MODEL_FROM_DATABASE=i560
+
+usb:v04A9p1088*
+ ID_MODEL_FROM_DATABASE=i965
+
+usb:v04A9p108A*
+ ID_MODEL_FROM_DATABASE=i455
+
+usb:v04A9p108B*
+ ID_MODEL_FROM_DATABASE=i900D
+
+usb:v04A9p108C*
+ ID_MODEL_FROM_DATABASE=i475D
+
+usb:v04A9p108D*
+ ID_MODEL_FROM_DATABASE=PIXMA iP2000
+
+usb:v04A9p108F*
+ ID_MODEL_FROM_DATABASE=i80
+
+usb:v04A9p1090*
+ ID_MODEL_FROM_DATABASE=i9900 Photo Printer
+
+usb:v04A9p1091*
+ ID_MODEL_FROM_DATABASE=PIXMA iP1500
+
+usb:v04A9p1093*
+ ID_MODEL_FROM_DATABASE=PIXMA iP4000
+
+usb:v04A9p1094*
+ ID_MODEL_FROM_DATABASE=PIXMA iP3000x Printer
+
+usb:v04A9p1095*
+ ID_MODEL_FROM_DATABASE=PIXMA iP6000D
+
+usb:v04A9p1097*
+ ID_MODEL_FROM_DATABASE=PIXMA iP5000
+
+usb:v04A9p1098*
+ ID_MODEL_FROM_DATABASE=PIXMA iP1000
+
+usb:v04A9p1099*
+ ID_MODEL_FROM_DATABASE=PIXMA iP8500
+
+usb:v04A9p109C*
+ ID_MODEL_FROM_DATABASE=PIXMA iP4000R
+
+usb:v04A9p109D*
+ ID_MODEL_FROM_DATABASE=iP90
+
+usb:v04A9p10A0*
+ ID_MODEL_FROM_DATABASE=PIXMA iP1600 Printer
+
+usb:v04A9p10A2*
+ ID_MODEL_FROM_DATABASE=iP4200
+
+usb:v04A9p10A4*
+ ID_MODEL_FROM_DATABASE=iP5200R
+
+usb:v04A9p10A5*
+ ID_MODEL_FROM_DATABASE=iP5200
+
+usb:v04A9p10A7*
+ ID_MODEL_FROM_DATABASE=iP6210D
+
+usb:v04A9p10A8*
+ ID_MODEL_FROM_DATABASE=iP6220D
+
+usb:v04A9p10A9*
+ ID_MODEL_FROM_DATABASE=iP6600D
+
+usb:v04A9p10B6*
+ ID_MODEL_FROM_DATABASE=PIXMA iP4300 Printer
+
+usb:v04A9p10C2*
+ ID_MODEL_FROM_DATABASE=PIXMA iP1800 Printer
+
+usb:v04A9p10C4*
+ ID_MODEL_FROM_DATABASE=Pixma iP4500 Printer
+
+usb:v04A9p1404*
+ ID_MODEL_FROM_DATABASE=W6400PG
+
+usb:v04A9p1405*
+ ID_MODEL_FROM_DATABASE=W8400PG
+
+usb:v04A9p150F*
+ ID_MODEL_FROM_DATABASE=BIJ2350 PCL
+
+usb:v04A9p1510*
+ ID_MODEL_FROM_DATABASE=BIJ1350 PCL
+
+usb:v04A9p1512*
+ ID_MODEL_FROM_DATABASE=BIJ1350D PCL
+
+usb:v04A9p1601*
+ ID_MODEL_FROM_DATABASE=DR-2080C Scanner
+
+usb:v04A9p1607*
+ ID_MODEL_FROM_DATABASE=DR-6080 Scanner
+
+usb:v04A9p1700*
+ ID_MODEL_FROM_DATABASE=PIXMA MP110 Scanner
+
+usb:v04A9p1701*
+ ID_MODEL_FROM_DATABASE=PIXMA MP130 Scanner
+
+usb:v04A9p1702*
+ ID_MODEL_FROM_DATABASE=MP410 Composite
+
+usb:v04A9p1703*
+ ID_MODEL_FROM_DATABASE=MP430 Composite
+
+usb:v04A9p1704*
+ ID_MODEL_FROM_DATABASE=MP330 Composite
+
+usb:v04A9p1706*
+ ID_MODEL_FROM_DATABASE=PIXMA MP750 Scanner
+
+usb:v04A9p1707*
+ ID_MODEL_FROM_DATABASE=PIXMA MP780 Scanner
+
+usb:v04A9p1708*
+ ID_MODEL_FROM_DATABASE=PIXMA MP760 Scanner
+
+usb:v04A9p1709*
+ ID_MODEL_FROM_DATABASE=PIXMA MP150 Scanner
+
+usb:v04A9p170A*
+ ID_MODEL_FROM_DATABASE=PIXMA MP170 Scanner
+
+usb:v04A9p170B*
+ ID_MODEL_FROM_DATABASE=PIXMA MP450 Scanner
+
+usb:v04A9p170C*
+ ID_MODEL_FROM_DATABASE=PIXMA MP500 Scanner
+
+usb:v04A9p170D*
+ ID_MODEL_FROM_DATABASE=PIXMA MP800 Scanner
+
+usb:v04A9p170E*
+ ID_MODEL_FROM_DATABASE=MP800R
+
+usb:v04A9p1710*
+ ID_MODEL_FROM_DATABASE=MP950
+
+usb:v04A9p1712*
+ ID_MODEL_FROM_DATABASE=MP530
+
+usb:v04A9p1713*
+ ID_MODEL_FROM_DATABASE=PIXMA MP830 Scanner
+
+usb:v04A9p1714*
+ ID_MODEL_FROM_DATABASE=MP160
+
+usb:v04A9p1715*
+ ID_MODEL_FROM_DATABASE=MP180 Storage
+
+usb:v04A9p1716*
+ ID_MODEL_FROM_DATABASE=MP460 Composite
+
+usb:v04A9p1717*
+ ID_MODEL_FROM_DATABASE=MP510
+
+usb:v04A9p1718*
+ ID_MODEL_FROM_DATABASE=MP600 Storage
+
+usb:v04A9p171A*
+ ID_MODEL_FROM_DATABASE=MP810 Storage
+
+usb:v04A9p171B*
+ ID_MODEL_FROM_DATABASE=MP960
+
+usb:v04A9p1721*
+ ID_MODEL_FROM_DATABASE=MP210 ser
+
+usb:v04A9p1723*
+ ID_MODEL_FROM_DATABASE=MP470 ser
+
+usb:v04A9p1725*
+ ID_MODEL_FROM_DATABASE=MP610 ser
+
+usb:v04A9p1726*
+ ID_MODEL_FROM_DATABASE=MP970 ser
+
+usb:v04A9p1727*
+ ID_MODEL_FROM_DATABASE=MX300 ser
+
+usb:v04A9p1728*
+ ID_MODEL_FROM_DATABASE=MX310 ser
+
+usb:v04A9p1729*
+ ID_MODEL_FROM_DATABASE=MX700 ser
+
+usb:v04A9p172B*
+ ID_MODEL_FROM_DATABASE=MP140 ser
+
+usb:v04A9p173E*
+ ID_MODEL_FROM_DATABASE=MP560
+
+usb:v04A9p173F*
+ ID_MODEL_FROM_DATABASE=Pixma MP640 Multifunction device
+
+usb:v04A9p1748*
+ ID_MODEL_FROM_DATABASE=Pixma MG5150
+
+usb:v04A9p174D*
+ ID_MODEL_FROM_DATABASE=MX360 ser
+
+usb:v04A9p1900*
+ ID_MODEL_FROM_DATABASE=CanoScan LiDE 90
+
+usb:v04A9p1901*
+ ID_MODEL_FROM_DATABASE=CanoScan 8800F
+
+usb:v04A9p1904*
+ ID_MODEL_FROM_DATABASE=CanoScan LiDE 100
+
+usb:v04A9p1905*
+ ID_MODEL_FROM_DATABASE=CanoScan LiDE 200
+
+usb:v04A9p1906*
+ ID_MODEL_FROM_DATABASE=CanoScan 5600F
+
+usb:v04A9p1907*
+ ID_MODEL_FROM_DATABASE=CanoScan LiDE 700F
+
+usb:v04A9p1909*
+ ID_MODEL_FROM_DATABASE=CanoScan LiDE 110
+
+usb:v04A9p190A*
+ ID_MODEL_FROM_DATABASE=CanoScan LiDE 210
+
+usb:v04A9p2200*
+ ID_MODEL_FROM_DATABASE=CanoScan LiDE 25
+
+usb:v04A9p2201*
+ ID_MODEL_FROM_DATABASE=CanoScan FB320U
+
+usb:v04A9p2202*
+ ID_MODEL_FROM_DATABASE=CanoScan FB620U
+
+usb:v04A9p2204*
+ ID_MODEL_FROM_DATABASE=CanoScan FB630U
+
+usb:v04A9p2205*
+ ID_MODEL_FROM_DATABASE=CanoScan FB1210U
+
+usb:v04A9p2206*
+ ID_MODEL_FROM_DATABASE=CanoScan N650U/N656U
+
+usb:v04A9p2207*
+ ID_MODEL_FROM_DATABASE=CanoScan 1220U
+
+usb:v04A9p2208*
+ ID_MODEL_FROM_DATABASE=CanoScan D660U
+
+usb:v04A9p220A*
+ ID_MODEL_FROM_DATABASE=CanoScan D2400UF
+
+usb:v04A9p220B*
+ ID_MODEL_FROM_DATABASE=CanoScan D646U
+
+usb:v04A9p220C*
+ ID_MODEL_FROM_DATABASE=CanoScan D1250U2
+
+usb:v04A9p220D*
+ ID_MODEL_FROM_DATABASE=CanoScan N670U/N676U/LiDE 20
+
+usb:v04A9p220E*
+ ID_MODEL_FROM_DATABASE=CanoScan N1240U/LiDE 30
+
+usb:v04A9p220F*
+ ID_MODEL_FROM_DATABASE=CanoScan 8000F
+
+usb:v04A9p2210*
+ ID_MODEL_FROM_DATABASE=CanoScan 9900F
+
+usb:v04A9p2212*
+ ID_MODEL_FROM_DATABASE=CanoScan 5000F
+
+usb:v04A9p2213*
+ ID_MODEL_FROM_DATABASE=CanoScan LiDE 50/LiDE 35/LiDE 40
+
+usb:v04A9p2214*
+ ID_MODEL_FROM_DATABASE=CanoScan LiDE 80
+
+usb:v04A9p2215*
+ ID_MODEL_FROM_DATABASE=CanoScan 3000/3000F/3000ex
+
+usb:v04A9p2216*
+ ID_MODEL_FROM_DATABASE=CanoScan 3200F
+
+usb:v04A9p2217*
+ ID_MODEL_FROM_DATABASE=CanoScan 5200F
+
+usb:v04A9p2219*
+ ID_MODEL_FROM_DATABASE=CanoScan 9950F
+
+usb:v04A9p221B*
+ ID_MODEL_FROM_DATABASE=CanoScan 4200F
+
+usb:v04A9p221C*
+ ID_MODEL_FROM_DATABASE=CanoScan LiDE 60
+
+usb:v04A9p221E*
+ ID_MODEL_FROM_DATABASE=CanoScan 8400F
+
+usb:v04A9p221F*
+ ID_MODEL_FROM_DATABASE=CanoScan LiDE 500F
+
+usb:v04A9p2220*
+ ID_MODEL_FROM_DATABASE=CanoScan LIDE 25
+
+usb:v04A9p2224*
+ ID_MODEL_FROM_DATABASE=CanoScan LiDE 600F
+
+usb:v04A9p2225*
+ ID_MODEL_FROM_DATABASE=CanoScan LiDE 70
+
+usb:v04A9p2228*
+ ID_MODEL_FROM_DATABASE=CanoScan 4400F
+
+usb:v04A9p2602*
+ ID_MODEL_FROM_DATABASE=MultiPASS C555
+
+usb:v04A9p2603*
+ ID_MODEL_FROM_DATABASE=MultiPASS C755
+
+usb:v04A9p260A*
+ ID_MODEL_FROM_DATABASE=CAPT Printer
+
+usb:v04A9p260E*
+ ID_MODEL_FROM_DATABASE=LBP-2000
+
+usb:v04A9p2610*
+ ID_MODEL_FROM_DATABASE=MPC600F
+
+usb:v04A9p2611*
+ ID_MODEL_FROM_DATABASE=SmartBase MPC400
+
+usb:v04A9p2612*
+ ID_MODEL_FROM_DATABASE=MultiPASS C855
+
+usb:v04A9p2617*
+ ID_MODEL_FROM_DATABASE=CAPT Printer
+
+usb:v04A9p261A*
+ ID_MODEL_FROM_DATABASE=iR1600
+
+usb:v04A9p261B*
+ ID_MODEL_FROM_DATABASE=iR1610
+
+usb:v04A9p261C*
+ ID_MODEL_FROM_DATABASE=iC2300
+
+usb:v04A9p261F*
+ ID_MODEL_FROM_DATABASE=MPC200 Printer
+
+usb:v04A9p2621*
+ ID_MODEL_FROM_DATABASE=iR2000
+
+usb:v04A9p2622*
+ ID_MODEL_FROM_DATABASE=iR2010
+
+usb:v04A9p2623*
+ ID_MODEL_FROM_DATABASE=FAX-B180C
+
+usb:v04A9p2629*
+ ID_MODEL_FROM_DATABASE=FAXPHONE L75
+
+usb:v04A9p262B*
+ ID_MODEL_FROM_DATABASE=LaserShot LBP-1120 Printer
+
+usb:v04A9p262D*
+ ID_MODEL_FROM_DATABASE=iR C3200
+
+usb:v04A9p262F*
+ ID_MODEL_FROM_DATABASE=MultiPASS MP730
+
+usb:v04A9p2630*
+ ID_MODEL_FROM_DATABASE=MultiPASS MP700
+
+usb:v04A9p2631*
+ ID_MODEL_FROM_DATABASE=LASER CLASS 700
+
+usb:v04A9p2632*
+ ID_MODEL_FROM_DATABASE=FAX-L2000
+
+usb:v04A9p2635*
+ ID_MODEL_FROM_DATABASE=MPC190
+
+usb:v04A9p2637*
+ ID_MODEL_FROM_DATABASE=iR C6800
+
+usb:v04A9p2638*
+ ID_MODEL_FROM_DATABASE=iR C3100
+
+usb:v04A9p263C*
+ ID_MODEL_FROM_DATABASE=Smartbase MP360
+
+usb:v04A9p263D*
+ ID_MODEL_FROM_DATABASE=MP370
+
+usb:v04A9p263E*
+ ID_MODEL_FROM_DATABASE=MP390 FAX
+
+usb:v04A9p263F*
+ ID_MODEL_FROM_DATABASE=MP375
+
+usb:v04A9p2646*
+ ID_MODEL_FROM_DATABASE=MF5530 Scanner Device V1.9.1
+
+usb:v04A9p2647*
+ ID_MODEL_FROM_DATABASE=MF5550 Composite
+
+usb:v04A9p264D*
+ ID_MODEL_FROM_DATABASE=PIXMA MP710
+
+usb:v04A9p264E*
+ ID_MODEL_FROM_DATABASE=MF5630
+
+usb:v04A9p264F*
+ ID_MODEL_FROM_DATABASE=MF5650 (FAX)
+
+usb:v04A9p2650*
+ ID_MODEL_FROM_DATABASE=iR 6800C EUR
+
+usb:v04A9p2651*
+ ID_MODEL_FROM_DATABASE=iR 3100C EUR
+
+usb:v04A9p2655*
+ ID_MODEL_FROM_DATABASE=FP-L170/MF350/L380/L398
+
+usb:v04A9p2659*
+ ID_MODEL_FROM_DATABASE=MF8100
+
+usb:v04A9p265B*
+ ID_MODEL_FROM_DATABASE=CAPT Printer
+
+usb:v04A9p265C*
+ ID_MODEL_FROM_DATABASE=iR C3220
+
+usb:v04A9p265D*
+ ID_MODEL_FROM_DATABASE=MF5730
+
+usb:v04A9p265E*
+ ID_MODEL_FROM_DATABASE=MF5750
+
+usb:v04A9p265F*
+ ID_MODEL_FROM_DATABASE=MF5770
+
+usb:v04A9p2660*
+ ID_MODEL_FROM_DATABASE=MF3110
+
+usb:v04A9p2663*
+ ID_MODEL_FROM_DATABASE=iR3570/iR4570
+
+usb:v04A9p2664*
+ ID_MODEL_FROM_DATABASE=iR2270/iR2870
+
+usb:v04A9p2665*
+ ID_MODEL_FROM_DATABASE=iR C2620
+
+usb:v04A9p2666*
+ ID_MODEL_FROM_DATABASE=iR C5800
+
+usb:v04A9p2667*
+ ID_MODEL_FROM_DATABASE=iR85PLUS
+
+usb:v04A9p2669*
+ ID_MODEL_FROM_DATABASE=iR105PLUS
+
+usb:v04A9p266A*
+ ID_MODEL_FROM_DATABASE=CAPT Device
+
+usb:v04A9p266B*
+ ID_MODEL_FROM_DATABASE=iR8070
+
+usb:v04A9p266C*
+ ID_MODEL_FROM_DATABASE=iR9070
+
+usb:v04A9p266D*
+ ID_MODEL_FROM_DATABASE=iR 5800C EUR
+
+usb:v04A9p266E*
+ ID_MODEL_FROM_DATABASE=CAPT Device
+
+usb:v04A9p266F*
+ ID_MODEL_FROM_DATABASE=iR2230
+
+usb:v04A9p2670*
+ ID_MODEL_FROM_DATABASE=iR3530
+
+usb:v04A9p2671*
+ ID_MODEL_FROM_DATABASE=iR5570/iR6570
+
+usb:v04A9p2672*
+ ID_MODEL_FROM_DATABASE=iR C3170
+
+usb:v04A9p2673*
+ ID_MODEL_FROM_DATABASE=iR 3170C EUR
+
+usb:v04A9p2674*
+ ID_MODEL_FROM_DATABASE=L120
+
+usb:v04A9p2675*
+ ID_MODEL_FROM_DATABASE=iR2830
+
+usb:v04A9p2676*
+ ID_MODEL_FROM_DATABASE=CAPT Device
+
+usb:v04A9p2677*
+ ID_MODEL_FROM_DATABASE=iR C2570
+
+usb:v04A9p2678*
+ ID_MODEL_FROM_DATABASE=iR 2570C EUR
+
+usb:v04A9p2679*
+ ID_MODEL_FROM_DATABASE=CAPT Device
+
+usb:v04A9p267A*
+ ID_MODEL_FROM_DATABASE=iR2016
+
+usb:v04A9p267B*
+ ID_MODEL_FROM_DATABASE=iR2020
+
+usb:v04A9p267D*
+ ID_MODEL_FROM_DATABASE=MF7100 series
+
+usb:v04A9p2684*
+ ID_MODEL_FROM_DATABASE=MF3200 series
+
+usb:v04A9p2686*
+ ID_MODEL_FROM_DATABASE=MF6500 series
+
+usb:v04A9p2687*
+ ID_MODEL_FROM_DATABASE=iR4530
+
+usb:v04A9p2688*
+ ID_MODEL_FROM_DATABASE=LBP3460
+
+usb:v04A9p268C*
+ ID_MODEL_FROM_DATABASE=iR C6870
+
+usb:v04A9p268D*
+ ID_MODEL_FROM_DATABASE=iR 6870C EUR
+
+usb:v04A9p268E*
+ ID_MODEL_FROM_DATABASE=iR C5870
+
+usb:v04A9p268F*
+ ID_MODEL_FROM_DATABASE=iR 5870C EUR
+
+usb:v04A9p2691*
+ ID_MODEL_FROM_DATABASE=iR7105
+
+usb:v04A9p26A3*
+ ID_MODEL_FROM_DATABASE=MF4100 series
+
+usb:v04A9p26B0*
+ ID_MODEL_FROM_DATABASE=MF4600 series
+
+usb:v04A9p26B4*
+ ID_MODEL_FROM_DATABASE=MF4010 series
+
+usb:v04A9p26B5*
+ ID_MODEL_FROM_DATABASE=MF4200 series
+
+usb:v04A9p26DA*
+ ID_MODEL_FROM_DATABASE=LBP3010B printer
+
+usb:v04A9p26E6*
+ ID_MODEL_FROM_DATABASE=iR1024
+
+usb:v04A9p2737*
+ ID_MODEL_FROM_DATABASE=MF4410
+
+usb:v04A9p3041*
+ ID_MODEL_FROM_DATABASE=PowerShot S10
+
+usb:v04A9p3042*
+ ID_MODEL_FROM_DATABASE=CanoScan FS4000US Film Scanner
+
+usb:v04A9p3043*
+ ID_MODEL_FROM_DATABASE=PowerShot S20
+
+usb:v04A9p3044*
+ ID_MODEL_FROM_DATABASE=EOS D30
+
+usb:v04A9p3045*
+ ID_MODEL_FROM_DATABASE=PowerShot S100
+
+usb:v04A9p3046*
+ ID_MODEL_FROM_DATABASE=IXY Digital
+
+usb:v04A9p3047*
+ ID_MODEL_FROM_DATABASE=Digital IXUS
+
+usb:v04A9p3048*
+ ID_MODEL_FROM_DATABASE=PowerShot G1
+
+usb:v04A9p3049*
+ ID_MODEL_FROM_DATABASE=PowerShot Pro90 IS
+
+usb:v04A9p304A*
+ ID_MODEL_FROM_DATABASE=CP-10
+
+usb:v04A9p304B*
+ ID_MODEL_FROM_DATABASE=IXY Digital 300
+
+usb:v04A9p304C*
+ ID_MODEL_FROM_DATABASE=PowerShot S300
+
+usb:v04A9p304D*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 300
+
+usb:v04A9p304E*
+ ID_MODEL_FROM_DATABASE=PowerShot A20
+
+usb:v04A9p304F*
+ ID_MODEL_FROM_DATABASE=PowerShot A10
+
+usb:v04A9p3050*
+ ID_MODEL_FROM_DATABASE=PowerShot unknown 1
+
+usb:v04A9p3051*
+ ID_MODEL_FROM_DATABASE=PowerShot S110
+
+usb:v04A9p3052*
+ ID_MODEL_FROM_DATABASE=Digital IXUS V
+
+usb:v04A9p3055*
+ ID_MODEL_FROM_DATABASE=PowerShot G2
+
+usb:v04A9p3056*
+ ID_MODEL_FROM_DATABASE=PowerShot S40
+
+usb:v04A9p3057*
+ ID_MODEL_FROM_DATABASE=PowerShot S30
+
+usb:v04A9p3058*
+ ID_MODEL_FROM_DATABASE=PowerShot A40
+
+usb:v04A9p3059*
+ ID_MODEL_FROM_DATABASE=PowerShot A30
+
+usb:v04A9p305B*
+ ID_MODEL_FROM_DATABASE=ZR45MC Digital Camcorder
+
+usb:v04A9p305C*
+ ID_MODEL_FROM_DATABASE=PowerShot unknown 2
+
+usb:v04A9p3060*
+ ID_MODEL_FROM_DATABASE=EOS D60
+
+usb:v04A9p3061*
+ ID_MODEL_FROM_DATABASE=PowerShot A100
+
+usb:v04A9p3062*
+ ID_MODEL_FROM_DATABASE=PowerShot A200
+
+usb:v04A9p3063*
+ ID_MODEL_FROM_DATABASE=CP-100
+
+usb:v04A9p3065*
+ ID_MODEL_FROM_DATABASE=PowerShot S200
+
+usb:v04A9p3066*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 330
+
+usb:v04A9p3067*
+ ID_MODEL_FROM_DATABASE=MV550i Digital Video Camera
+
+usb:v04A9p3069*
+ ID_MODEL_FROM_DATABASE=PowerShot G3
+
+usb:v04A9p306A*
+ ID_MODEL_FROM_DATABASE=Digital unknown 3
+
+usb:v04A9p306B*
+ ID_MODEL_FROM_DATABASE=MVX2i Digital Video Camera
+
+usb:v04A9p306C*
+ ID_MODEL_FROM_DATABASE=PowerShot S45
+
+usb:v04A9p306D*
+ ID_MODEL_FROM_DATABASE=PowerShot S45 PtP Mode
+
+usb:v04A9p306E*
+ ID_MODEL_FROM_DATABASE=PowerShot G3 (normal mode)
+
+usb:v04A9p306F*
+ ID_MODEL_FROM_DATABASE=PowerShot G3 (ptp)
+
+usb:v04A9p3070*
+ ID_MODEL_FROM_DATABASE=PowerShot S230
+
+usb:v04A9p3071*
+ ID_MODEL_FROM_DATABASE=PowerShot S230 (ptp)
+
+usb:v04A9p3072*
+ ID_MODEL_FROM_DATABASE=PowerShot SD100 / Digital IXUS II (ptp)
+
+usb:v04A9p3073*
+ ID_MODEL_FROM_DATABASE=PowerShot A70 (ptp)
+
+usb:v04A9p3074*
+ ID_MODEL_FROM_DATABASE=PowerShot A60 (ptp)
+
+usb:v04A9p3075*
+ ID_MODEL_FROM_DATABASE=IXUS 400 Camera
+
+usb:v04A9p3076*
+ ID_MODEL_FROM_DATABASE=PowerShot A300
+
+usb:v04A9p3077*
+ ID_MODEL_FROM_DATABASE=PowerShot S50
+
+usb:v04A9p3078*
+ ID_MODEL_FROM_DATABASE=ZR70MC Digital Camcorder
+
+usb:v04A9p307A*
+ ID_MODEL_FROM_DATABASE=MV650i (normal mode)
+
+usb:v04A9p307B*
+ ID_MODEL_FROM_DATABASE=MV630i Digital Video Camera
+
+usb:v04A9p307C*
+ ID_MODEL_FROM_DATABASE=CP-200
+
+usb:v04A9p307D*
+ ID_MODEL_FROM_DATABASE=CP-300
+
+usb:v04A9p307F*
+ ID_MODEL_FROM_DATABASE=Optura 20
+
+usb:v04A9p3080*
+ ID_MODEL_FROM_DATABASE=MVX150i (normal mode) / Optura 20 (normal mode)
+
+usb:v04A9p3081*
+ ID_MODEL_FROM_DATABASE=Optura 10
+
+usb:v04A9p3082*
+ ID_MODEL_FROM_DATABASE=MVX100i / Optura 10
+
+usb:v04A9p3083*
+ ID_MODEL_FROM_DATABASE=EOS 10D
+
+usb:v04A9p3084*
+ ID_MODEL_FROM_DATABASE=EOS 300D / EOS Digital Rebel
+
+usb:v04A9p3085*
+ ID_MODEL_FROM_DATABASE=PowerShot G5
+
+usb:v04A9p3087*
+ ID_MODEL_FROM_DATABASE=Elura 50 (PTP mode)
+
+usb:v04A9p3088*
+ ID_MODEL_FROM_DATABASE=Elura 50 (normal mode)
+
+usb:v04A9p308D*
+ ID_MODEL_FROM_DATABASE=MVX3i
+
+usb:v04A9p308E*
+ ID_MODEL_FROM_DATABASE=FV M1 (normal mode) / MVX 3i (normal mode) / Optura Xi (normal mode)
+
+usb:v04A9p3093*
+ ID_MODEL_FROM_DATABASE=Optura 300
+
+usb:v04A9p3096*
+ ID_MODEL_FROM_DATABASE=IXY DV M2 (normal mode) / MVX 10i (normal mode)
+
+usb:v04A9p3099*
+ ID_MODEL_FROM_DATABASE=EOS 300D (ptp)
+
+usb:v04A9p309A*
+ ID_MODEL_FROM_DATABASE=PowerShot A80
+
+usb:v04A9p309B*
+ ID_MODEL_FROM_DATABASE=Digital IXUS (ptp)
+
+usb:v04A9p309C*
+ ID_MODEL_FROM_DATABASE=PowerShot S1 IS
+
+usb:v04A9p309D*
+ ID_MODEL_FROM_DATABASE=Powershot Pro 1
+
+usb:v04A9p309F*
+ ID_MODEL_FROM_DATABASE=Camera
+
+usb:v04A9p30A0*
+ ID_MODEL_FROM_DATABASE=Camera
+
+usb:v04A9p30A1*
+ ID_MODEL_FROM_DATABASE=Camera
+
+usb:v04A9p30A2*
+ ID_MODEL_FROM_DATABASE=Camera
+
+usb:v04A9p30A8*
+ ID_MODEL_FROM_DATABASE=Elura 60E/Optura 40 (ptp)
+
+usb:v04A9p30A9*
+ ID_MODEL_FROM_DATABASE=MVX25i (normal mode) / Optura 40 (normal mode)
+
+usb:v04A9p30B1*
+ ID_MODEL_FROM_DATABASE=PowerShot S70 (normal mode) / PowerShot S70 (PTP mode)
+
+usb:v04A9p30B2*
+ ID_MODEL_FROM_DATABASE=PowerShot S60 (normal mode) / PowerShot S60 (PTP mode)
+
+usb:v04A9p30B3*
+ ID_MODEL_FROM_DATABASE=PowerShot G6 (normal mode) / PowerShot G6 (PTP mode)
+
+usb:v04A9p30B4*
+ ID_MODEL_FROM_DATABASE=PowerShot S500
+
+usb:v04A9p30B5*
+ ID_MODEL_FROM_DATABASE=PowerShot A75
+
+usb:v04A9p30B6*
+ ID_MODEL_FROM_DATABASE=Digital IXUS II2 / Digital IXUS II2 (PTP mode) / PowerShot SD110 (PTP mode) / PowerShot SD110 Digital ELPH
+
+usb:v04A9p30B7*
+ ID_MODEL_FROM_DATABASE=PowerShot A400 / PowerShot A400 (PTP mode)
+
+usb:v04A9p30B8*
+ ID_MODEL_FROM_DATABASE=PowerShot A310 / PowerShot A310 (PTP mode)
+
+usb:v04A9p30B9*
+ ID_MODEL_FROM_DATABASE=Powershot A85
+
+usb:v04A9p30BA*
+ ID_MODEL_FROM_DATABASE=PowerShot S410 Digital Elph
+
+usb:v04A9p30BB*
+ ID_MODEL_FROM_DATABASE=PowerShot A95
+
+usb:v04A9p30BD*
+ ID_MODEL_FROM_DATABASE=CP-220
+
+usb:v04A9p30BE*
+ ID_MODEL_FROM_DATABASE=CP-330
+
+usb:v04A9p30BF*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 40
+
+usb:v04A9p30C0*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 30 (PTP mode) / PowerShot SD200 (PTP mode)
+
+usb:v04A9p30C1*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 50 (normal mode) / IXY Digital 55 (normal mode) / PowerShot A520 (PTP mode) / PowerShot SD400 (normal mode)
+
+usb:v04A9p30C2*
+ ID_MODEL_FROM_DATABASE=PowerShot A510 (normal mode) / PowerShot A510 (PTP mode)
+
+usb:v04A9p30C4*
+ ID_MODEL_FROM_DATABASE=Digital IXUS i5 (normal mode) / IXY Digital L2 (normal mode) / PowerShot SD20 (normal mode)
+
+usb:v04A9p30EA*
+ ID_MODEL_FROM_DATABASE=EOS 1D Mark II (PTP mode)
+
+usb:v04A9p30EB*
+ ID_MODEL_FROM_DATABASE=EOS 20D
+
+usb:v04A9p30EC*
+ ID_MODEL_FROM_DATABASE=EOS 20D (ptp)
+
+usb:v04A9p30EE*
+ ID_MODEL_FROM_DATABASE=EOS 350D
+
+usb:v04A9p30EF*
+ ID_MODEL_FROM_DATABASE=EOS 350D (ptp)
+
+usb:v04A9p30F0*
+ ID_MODEL_FROM_DATABASE=PowerShot S2 IS (PTP mode)
+
+usb:v04A9p30F2*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 700 (normal mode) / Digital IXUS 700 (PTP mode) / IXY Digital 600 (normal mode) / PowerShot SD500 (normal mode) / PowerShot SD500 (PTP mode)
+
+usb:v04A9p30F4*
+ ID_MODEL_FROM_DATABASE=PowerShot SD30 / Ixus iZoom / IXY DIGITAL L3
+
+usb:v04A9p30F5*
+ ID_MODEL_FROM_DATABASE=SELPHY CP500
+
+usb:v04A9p30F6*
+ ID_MODEL_FROM_DATABASE=SELPHY CP400
+
+usb:v04A9p30F8*
+ ID_MODEL_FROM_DATABASE=Powershot A430
+
+usb:v04A9p30F9*
+ ID_MODEL_FROM_DATABASE=PowerShot A410 (PTP mode)
+
+usb:v04A9p30FA*
+ ID_MODEL_FROM_DATABASE=PowerShot S80
+
+usb:v04A9p30FC*
+ ID_MODEL_FROM_DATABASE=PowerShot A620 (PTP mode)
+
+usb:v04A9p30FD*
+ ID_MODEL_FROM_DATABASE=PowerShot A610 (normal mode)/PowerShot A610 (PTP mode)
+
+usb:v04A9p30FE*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 65 (PTP mode)/PowerShot SD630 (PTP mode)
+
+usb:v04A9p30FF*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 55 (PTP mode)/PowerShot SD450 (PTP mode)
+
+usb:v04A9p3100*
+ ID_MODEL_FROM_DATABASE=PowerShot TX1
+
+usb:v04A9p310B*
+ ID_MODEL_FROM_DATABASE=SELPHY CP600
+
+usb:v04A9p310E*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 50 (PTP mode)
+
+usb:v04A9p3110*
+ ID_MODEL_FROM_DATABASE=EOS Digital Rebel XTi
+
+usb:v04A9p3116*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 750 / PowerShot SD550 (PTP mode)
+
+usb:v04A9p3117*
+ ID_MODEL_FROM_DATABASE=PowerShot A700
+
+usb:v04A9p3119*
+ ID_MODEL_FROM_DATABASE=PowerShot SD700 IS / Digital IXUS 800 IS / IXY Digital 800 IS
+
+usb:v04A9p311B*
+ ID_MODEL_FROM_DATABASE=PowerShot A540
+
+usb:v04A9p3127*
+ ID_MODEL_FROM_DATABASE=SELPHY CP710
+
+usb:v04A9p3128*
+ ID_MODEL_FROM_DATABASE=SELPHY CP510
+
+usb:v04A9p312D*
+ ID_MODEL_FROM_DATABASE=Elura 100
+
+usb:v04A9p3138*
+ ID_MODEL_FROM_DATABASE=PowerShot A710 IS
+
+usb:v04A9p3141*
+ ID_MODEL_FROM_DATABASE=SELPHY ES1
+
+usb:v04A9p3142*
+ ID_MODEL_FROM_DATABASE=SELPHY CP730
+
+usb:v04A9p3143*
+ ID_MODEL_FROM_DATABASE=SELPHY CP720
+
+usb:v04A9p3145*
+ ID_MODEL_FROM_DATABASE=EOS 450D
+
+usb:v04A9p3147*
+ ID_MODEL_FROM_DATABASE=EOS 1Ds Mark III
+
+usb:v04A9p314F*
+ ID_MODEL_FROM_DATABASE=Powershot SD1000
+
+usb:v04A9p3155*
+ ID_MODEL_FROM_DATABASE=PowerShot A450
+
+usb:v04A9p315A*
+ ID_MODEL_FROM_DATABASE=PowerShot G9
+
+usb:v04A9p315D*
+ ID_MODEL_FROM_DATABASE=PowerShot A720
+
+usb:v04A9p3160*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 860 IS
+
+usb:v04A9p3170*
+ ID_MODEL_FROM_DATABASE=SELPHY CP750
+
+usb:v04A9p3171*
+ ID_MODEL_FROM_DATABASE=SELPHY CP740
+
+usb:v04A9p3175*
+ ID_MODEL_FROM_DATABASE=IXY Digital 25 IS
+
+usb:v04A9p3176*
+ ID_MODEL_FROM_DATABASE=PowerShot A590
+
+usb:v04A9p317A*
+ ID_MODEL_FROM_DATABASE=PC1267 [Powershot A470]
+
+usb:v04A9p3184*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 80 IS (PTP mode)
+
+usb:v04A9p3185*
+ ID_MODEL_FROM_DATABASE=SELPHY ES2
+
+usb:v04A9p3186*
+ ID_MODEL_FROM_DATABASE=SELPHY ES20
+
+usb:v04A9p3192*
+ ID_MODEL_FROM_DATABASE=PowerShot SX110 IS
+
+usb:v04A9p319A*
+ ID_MODEL_FROM_DATABASE=EOS 7D
+
+usb:v04A9p31AA*
+ ID_MODEL_FROM_DATABASE=SELPHY CP770
+
+usb:v04A9p31AB*
+ ID_MODEL_FROM_DATABASE=SELPHY CP760
+
+usb:v04A9p31AD*
+ ID_MODEL_FROM_DATABASE=PowerShot E1
+
+usb:v04A9p31AF*
+ ID_MODEL_FROM_DATABASE=SELPHY ES3
+
+usb:v04A9p31B0*
+ ID_MODEL_FROM_DATABASE=SELPHY ES30
+
+usb:v04A9p31B1*
+ ID_MODEL_FROM_DATABASE=SELPHY CP530
+
+usb:v04A9p31BC*
+ ID_MODEL_FROM_DATABASE=PowerShot D10
+
+usb:v04A9p31BF*
+ ID_MODEL_FROM_DATABASE=PowerShot A480
+
+usb:v04A9p31C0*
+ ID_MODEL_FROM_DATABASE=PowerShot SX200 IS
+
+usb:v04A9p31DD*
+ ID_MODEL_FROM_DATABASE=SELPHY CP780
+
+usb:v04A9p31E5*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 200 IS
+
+usb:v04A9p31EE*
+ ID_MODEL_FROM_DATABASE=SELPHY ES40
+
+usb:v04A9p31EF*
+ ID_MODEL_FROM_DATABASE=PowerShot A495
+
+usb:v04A9p31F1*
+ ID_MODEL_FROM_DATABASE=PowerShot A3100 IS / PowerShot A3150 IS
+
+usb:v04A9p31F2*
+ ID_MODEL_FROM_DATABASE=PowerShot A3000 IS
+
+usb:v04A9p31F3*
+ ID_MODEL_FROM_DATABASE=PowerShot Digital ELPH SD1400 IS
+
+usb:v04A9p31F4*
+ ID_MODEL_FROM_DATABASE=PowerShot SD1300 IS / IXUS 105
+
+usb:v04A9p31F5*
+ ID_MODEL_FROM_DATABASE=Powershot SD3500 IS / IXUS 210 IS
+
+usb:v04A9p31F6*
+ ID_MODEL_FROM_DATABASE=PowerShot SX210 IS
+
+usb:v04A9p31F7*
+ ID_MODEL_FROM_DATABASE=Powershot SD4000 IS / IXUS 300 HS / IXY 30S
+
+usb:v04A9p31F8*
+ ID_MODEL_FROM_DATABASE=Powershot SD4500 IS / IXUS 1000 HS / IXY 50S
+
+usb:v04A9p31FF*
+ ID_MODEL_FROM_DATABASE=Digital IXUS 55
+
+usb:v04A9p3209*
+ ID_MODEL_FROM_DATABASE=Vixia HF S21 A
+
+usb:v04A9p3210*
+ ID_MODEL_FROM_DATABASE=Powershot SX30 IS
+
+usb:v04A9p3211*
+ ID_MODEL_FROM_DATABASE=PowerShot SX130 IS
+
+usb:v04A9p3212*
+ ID_MODEL_FROM_DATABASE=Powershot S95
+
+usb:v04A9p3214*
+ ID_MODEL_FROM_DATABASE=SELPHY CP800
+
+usb:v04A9p3218*
+ ID_MODEL_FROM_DATABASE=EOS 600D / Rebel T3i (ptp)
+
+usb:v04A9p3223*
+ ID_MODEL_FROM_DATABASE=PowerShot A3300 IS
+
+usb:v04A9p3224*
+ ID_MODEL_FROM_DATABASE=PowerShot A3200 IS
+
+usb:v04A9p3226*
+ ID_MODEL_FROM_DATABASE=PowerShow A800
+
+usb:v04A9p3228*
+ ID_MODEL_FROM_DATABASE=PowerShot SX230 HS
+
+usb:v04A9p3229*
+ ID_MODEL_FROM_DATABASE=PowerShot ELPH 300 HS / IXUS 220 HS
+
+usb:v04A9p322A*
+ ID_MODEL_FROM_DATABASE=PowerShot A2200
+
+usb:v04A9p322B*
+ ID_MODEL_FROM_DATABASE=Powershot A1200
+
+usb:v04A9p3233*
+ ID_MODEL_FROM_DATABASE=PowerShot G1 X
+
+usb:v04A9p3234*
+ ID_MODEL_FROM_DATABASE=PowerShot SX150 IS
+
+usb:v04A9p3236*
+ ID_MODEL_FROM_DATABASE=PowerShot S100
+
+usb:v04A9p3237*
+ ID_MODEL_FROM_DATABASE=PowerShot ELPH 310 HS / IXUS 230 HS
+
+usb:v04A9p3238*
+ ID_MODEL_FROM_DATABASE=PowerShot SX40 HS
+
+usb:v04A9p323B*
+ ID_MODEL_FROM_DATABASE=EOS Rebel T4i
+
+usb:v04A9p323E*
+ ID_MODEL_FROM_DATABASE=PowerShot A1300
+
+usb:v04A9p323F*
+ ID_MODEL_FROM_DATABASE=PowerShot A810
+
+usb:v04A9p3240*
+ ID_MODEL_FROM_DATABASE=PowerShot ELPH 320 HS / IXUS 240 HS
+
+usb:v04A9p3241*
+ ID_MODEL_FROM_DATABASE=PowerShot ELPH 110 HS / IXUS 125 HS
+
+usb:v04A9p3243*
+ ID_MODEL_FROM_DATABASE=PowerShot A4000 IS
+
+usb:v04A9p3244*
+ ID_MODEL_FROM_DATABASE=PowerShot SX260 HS
+
+usb:v04A9p3245*
+ ID_MODEL_FROM_DATABASE=PowerShot SX240 HS
+
+usb:v04A9p3247*
+ ID_MODEL_FROM_DATABASE=PowerShot ELPH 520 HS / IXUS 500 HS
+
+usb:v04A9p3248*
+ ID_MODEL_FROM_DATABASE=PowerShot A3400 IS
+
+usb:v04A9p3249*
+ ID_MODEL_FROM_DATABASE=PowerShot A2400 IS
+
+usb:v04A9p324A*
+ ID_MODEL_FROM_DATABASE=PowerShot A2300
+
+usb:v04A9p3255*
+ ID_MODEL_FROM_DATABASE=SELPHY CP900
+
+usb:v04A9p3256*
+ ID_MODEL_FROM_DATABASE=SELPHY CP810
+
+usb:v04A9p3258*
+ ID_MODEL_FROM_DATABASE=PowerShot G15
+
+usb:v04A9p3259*
+ ID_MODEL_FROM_DATABASE=PowerShot SX50 HS
+
+usb:v04A9p325A*
+ ID_MODEL_FROM_DATABASE=PowerShot SX160 IS
+
+usb:v04A9p325B*
+ ID_MODEL_FROM_DATABASE=PowerShot S110
+
+usb:v04A9p325C*
+ ID_MODEL_FROM_DATABASE=PowerShot SX500 IS
+
+usb:v04AA*
+ ID_VENDOR_FROM_DATABASE=DaeWoo Telecom, Ltd
+
+usb:v04AB*
+ ID_VENDOR_FROM_DATABASE=Chromatic Research
+
+usb:v04AC*
+ ID_VENDOR_FROM_DATABASE=Micro Audiometrics Corp.
+
+usb:v04AD*
+ ID_VENDOR_FROM_DATABASE=Dooin Electronics
+
+usb:v04ADp2501*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v04AF*
+ ID_VENDOR_FROM_DATABASE=Winnov L.P.
+
+usb:v04B0*
+ ID_VENDOR_FROM_DATABASE=Nikon Corp.
+
+usb:v04B0p0102*
+ ID_MODEL_FROM_DATABASE=Coolpix 990
+
+usb:v04B0p0103*
+ ID_MODEL_FROM_DATABASE=Coolpix 880
+
+usb:v04B0p0104*
+ ID_MODEL_FROM_DATABASE=Coolpix 995
+
+usb:v04B0p0106*
+ ID_MODEL_FROM_DATABASE=Coolpix 775
+
+usb:v04B0p0107*
+ ID_MODEL_FROM_DATABASE=Coolpix 5000
+
+usb:v04B0p0108*
+ ID_MODEL_FROM_DATABASE=Coolpix 2500
+
+usb:v04B0p0109*
+ ID_MODEL_FROM_DATABASE=Coolpix 2500 (ptp)
+
+usb:v04B0p010A*
+ ID_MODEL_FROM_DATABASE=Coolpix 4500
+
+usb:v04B0p010B*
+ ID_MODEL_FROM_DATABASE=Coolpix 4500 (ptp)
+
+usb:v04B0p010D*
+ ID_MODEL_FROM_DATABASE=Coolpix 5700 (ptp)
+
+usb:v04B0p010E*
+ ID_MODEL_FROM_DATABASE=Coolpix 4300 (storage)
+
+usb:v04B0p010F*
+ ID_MODEL_FROM_DATABASE=Coolpix 4300 (ptp)
+
+usb:v04B0p0110*
+ ID_MODEL_FROM_DATABASE=Coolpix 3500 (Sierra Mode)
+
+usb:v04B0p0111*
+ ID_MODEL_FROM_DATABASE=Coolpix 3500 (ptp)
+
+usb:v04B0p0112*
+ ID_MODEL_FROM_DATABASE=Coolpix 885 (ptp)
+
+usb:v04B0p0113*
+ ID_MODEL_FROM_DATABASE=Coolpix 5000 (ptp)
+
+usb:v04B0p0114*
+ ID_MODEL_FROM_DATABASE=Coolpix 3100 (storage)
+
+usb:v04B0p0115*
+ ID_MODEL_FROM_DATABASE=Coolpix 3100 (ptp)
+
+usb:v04B0p0117*
+ ID_MODEL_FROM_DATABASE=Coolpix 2100 (ptp)
+
+usb:v04B0p0119*
+ ID_MODEL_FROM_DATABASE=Coolpix 5400 (ptp)
+
+usb:v04B0p011D*
+ ID_MODEL_FROM_DATABASE=Coolpix 3700 (ptp)
+
+usb:v04B0p0121*
+ ID_MODEL_FROM_DATABASE=Coolpix 3200 (ptp)
+
+usb:v04B0p0122*
+ ID_MODEL_FROM_DATABASE=Coolpix 2200 (ptp)
+
+usb:v04B0p0124*
+ ID_MODEL_FROM_DATABASE=Coolpix 8400 (mass storage mode)
+
+usb:v04B0p0125*
+ ID_MODEL_FROM_DATABASE=Coolpix 8400 (ptp)
+
+usb:v04B0p0126*
+ ID_MODEL_FROM_DATABASE=Coolpix 8800
+
+usb:v04B0p0129*
+ ID_MODEL_FROM_DATABASE=Coolpix 4800 (ptp)
+
+usb:v04B0p012C*
+ ID_MODEL_FROM_DATABASE=Coolpix 4100 (storage)
+
+usb:v04B0p012D*
+ ID_MODEL_FROM_DATABASE=Coolpix 4100 (ptp)
+
+usb:v04B0p012E*
+ ID_MODEL_FROM_DATABASE=Coolpix 5600 (ptp)
+
+usb:v04B0p0130*
+ ID_MODEL_FROM_DATABASE=Coolpix 4600 (ptp)
+
+usb:v04B0p0135*
+ ID_MODEL_FROM_DATABASE=Coolpix 5900 (ptp)
+
+usb:v04B0p0136*
+ ID_MODEL_FROM_DATABASE=Coolpix 7900 (storage)
+
+usb:v04B0p0137*
+ ID_MODEL_FROM_DATABASE=Coolpix 7900 (ptp)
+
+usb:v04B0p013A*
+ ID_MODEL_FROM_DATABASE=Coolpix 100 (storage)
+
+usb:v04B0p013B*
+ ID_MODEL_FROM_DATABASE=Coolpix 100 (ptp)
+
+usb:v04B0p0141*
+ ID_MODEL_FROM_DATABASE=Coolpix P2 (storage)
+
+usb:v04B0p0142*
+ ID_MODEL_FROM_DATABASE=Coolpix P2 (ptp)
+
+usb:v04B0p0163*
+ ID_MODEL_FROM_DATABASE=Coolpix P5100 (ptp)
+
+usb:v04B0p0169*
+ ID_MODEL_FROM_DATABASE=Coolpix P50 (ptp)
+
+usb:v04B0p0202*
+ ID_MODEL_FROM_DATABASE=Coolpix SQ (ptp)
+
+usb:v04B0p0203*
+ ID_MODEL_FROM_DATABASE=Coolpix 4200 (mass storage mode)
+
+usb:v04B0p0204*
+ ID_MODEL_FROM_DATABASE=Coolpix 4200 (ptp)
+
+usb:v04B0p0205*
+ ID_MODEL_FROM_DATABASE=Coolpix 5200 (storage)
+
+usb:v04B0p0206*
+ ID_MODEL_FROM_DATABASE=Coolpix 5200 (ptp)
+
+usb:v04B0p0301*
+ ID_MODEL_FROM_DATABASE=Coolpix 2000 (storage)
+
+usb:v04B0p0302*
+ ID_MODEL_FROM_DATABASE=Coolpix 2000 (ptp)
+
+usb:v04B0p0317*
+ ID_MODEL_FROM_DATABASE=Coolpix L20 (ptp)
+
+usb:v04B0p0402*
+ ID_MODEL_FROM_DATABASE=DSC D100 (ptp)
+
+usb:v04B0p0403*
+ ID_MODEL_FROM_DATABASE=D2H (mass storage mode)
+
+usb:v04B0p0404*
+ ID_MODEL_FROM_DATABASE=D2H SLR (ptp)
+
+usb:v04B0p0405*
+ ID_MODEL_FROM_DATABASE=D70 (mass storage mode)
+
+usb:v04B0p0406*
+ ID_MODEL_FROM_DATABASE=DSC D70 (ptp)
+
+usb:v04B0p0408*
+ ID_MODEL_FROM_DATABASE=D2X SLR (ptp)
+
+usb:v04B0p0409*
+ ID_MODEL_FROM_DATABASE=D50 digital camera
+
+usb:v04B0p040A*
+ ID_MODEL_FROM_DATABASE=D50 (ptp)
+
+usb:v04B0p040C*
+ ID_MODEL_FROM_DATABASE=D2Hs
+
+usb:v04B0p040E*
+ ID_MODEL_FROM_DATABASE=DSC D70s (ptp)
+
+usb:v04B0p040F*
+ ID_MODEL_FROM_DATABASE=D200 (mass storage mode)
+
+usb:v04B0p0410*
+ ID_MODEL_FROM_DATABASE=D200 (ptp)
+
+usb:v04B0p0413*
+ ID_MODEL_FROM_DATABASE=D40 (mass storage mode)
+
+usb:v04B0p041E*
+ ID_MODEL_FROM_DATABASE=D60 digital camera (mass storage mode)
+
+usb:v04B0p0422*
+ ID_MODEL_FROM_DATABASE=D700 (ptp)
+
+usb:v04B0p0424*
+ ID_MODEL_FROM_DATABASE=D3000
+
+usb:v04B0p0425*
+ ID_MODEL_FROM_DATABASE=D300S
+
+usb:v04B0p042A*
+ ID_MODEL_FROM_DATABASE=D800 (ptp)
+
+usb:v04B0p0F03*
+ ID_MODEL_FROM_DATABASE=PD-10 Wireless Printer Adapter
+
+usb:v04B0p4000*
+ ID_MODEL_FROM_DATABASE=Coolscan LS 40 ED
+
+usb:v04B0p4001*
+ ID_MODEL_FROM_DATABASE=LS 50 ED/Coolscan V ED
+
+usb:v04B0p4002*
+ ID_MODEL_FROM_DATABASE=Super Coolscan LS-5000 ED
+
+usb:v04B1*
+ ID_VENDOR_FROM_DATABASE=Pan International
+
+usb:v04B3*
+ ID_VENDOR_FROM_DATABASE=IBM Corp.
+
+usb:v04B3p3003*
+ ID_MODEL_FROM_DATABASE=Rapid Access III Keyboard
+
+usb:v04B3p3004*
+ ID_MODEL_FROM_DATABASE=Media Access Pro Keyboard
+
+usb:v04B3p300A*
+ ID_MODEL_FROM_DATABASE=Rapid Access IIIe Keyboard
+
+usb:v04B3p3016*
+ ID_MODEL_FROM_DATABASE=UltraNav Keyboard Hub
+
+usb:v04B3p3018*
+ ID_MODEL_FROM_DATABASE=UltraNav Keyboard
+
+usb:v04B3p301B*
+ ID_MODEL_FROM_DATABASE=SK-8815 Keyboard
+
+usb:v04B3p301C*
+ ID_MODEL_FROM_DATABASE=Enhanced Performance Keyboard
+
+usb:v04B3p3020*
+ ID_MODEL_FROM_DATABASE=Enhanced Performance Keyboard
+
+usb:v04B3p3025*
+ ID_MODEL_FROM_DATABASE=NetVista Full Width Keyboard
+
+usb:v04B3p3100*
+ ID_MODEL_FROM_DATABASE=NetVista Mouse
+
+usb:v04B3p3103*
+ ID_MODEL_FROM_DATABASE=ScrollPoint Pro Mouse
+
+usb:v04B3p3104*
+ ID_MODEL_FROM_DATABASE=ScrollPoint Wireless Mouse
+
+usb:v04B3p3105*
+ ID_MODEL_FROM_DATABASE=ScrollPoint Optical (HID)
+
+usb:v04B3p3107*
+ ID_MODEL_FROM_DATABASE=ThinkPad 800dpi Optical Travel Mouse
+
+usb:v04B3p3108*
+ ID_MODEL_FROM_DATABASE=800dpi Optical Mouse w/ Scroll Point
+
+usb:v04B3p3109*
+ ID_MODEL_FROM_DATABASE=Optical ScrollPoint Pro Mouse
+
+usb:v04B3p310B*
+ ID_MODEL_FROM_DATABASE=Red Wheel Mouse
+
+usb:v04B3p310C*
+ ID_MODEL_FROM_DATABASE=Wheel Mouse
+
+usb:v04B3p4427*
+ ID_MODEL_FROM_DATABASE=Portable CD ROM
+
+usb:v04B3p4482*
+ ID_MODEL_FROM_DATABASE=Serial Converter
+
+usb:v04B3p4485*
+ ID_MODEL_FROM_DATABASE=Serial Converter
+
+usb:v04B3p4525*
+ ID_MODEL_FROM_DATABASE=Double sided CRT
+
+usb:v04B3p4535*
+ ID_MODEL_FROM_DATABASE=4610 Suremark Printer
+
+usb:v04B3p4550*
+ ID_MODEL_FROM_DATABASE=NVRAM (128 KB)
+
+usb:v04B3p4554*
+ ID_MODEL_FROM_DATABASE=Cash Drawer
+
+usb:v04B3p4580*
+ ID_MODEL_FROM_DATABASE=Hub w/ NVRAM
+
+usb:v04B3p4581*
+ ID_MODEL_FROM_DATABASE=4800-2xx Hub w/ Cash Drawer
+
+usb:v04B3p4604*
+ ID_MODEL_FROM_DATABASE=Keyboard w/ Card Reader
+
+usb:v04B3p4671*
+ ID_MODEL_FROM_DATABASE=4820 LCD w/ MSR/KB
+
+usb:v04B4*
+ ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corp.
+
+usb:v04B4p0001*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v04B4p0002*
+ ID_MODEL_FROM_DATABASE=CY7C63x0x Thermometer
+
+usb:v04B4p0033*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v04B4p0100*
+ ID_MODEL_FROM_DATABASE=Cino FuzzyScan F760-B
+
+usb:v04B4p0101*
+ ID_MODEL_FROM_DATABASE=Keyboard/Hub
+
+usb:v04B4p0102*
+ ID_MODEL_FROM_DATABASE=Keyboard with APM
+
+usb:v04B4p0130*
+ ID_MODEL_FROM_DATABASE=MyIRC Remote Receiver
+
+usb:v04B4p0306*
+ ID_MODEL_FROM_DATABASE=Telephone Receiver
+
+usb:v04B4p0407*
+ ID_MODEL_FROM_DATABASE=Optical Skype Mouse
+
+usb:v04B4p0BAD*
+ ID_MODEL_FROM_DATABASE=MetaGeek Wi-Spy
+
+usb:v04B4p1002*
+ ID_MODEL_FROM_DATABASE=CY7C63001 R100 FM Radio
+
+usb:v04B4p1006*
+ ID_MODEL_FROM_DATABASE=Human Interface Device
+
+usb:v04B4p2050*
+ ID_MODEL_FROM_DATABASE=hub
+
+usb:v04B4p2830*
+ ID_MODEL_FROM_DATABASE=Opera1 DVB-S (cold state)
+
+usb:v04B4p4381*
+ ID_MODEL_FROM_DATABASE=SCAPS USC-1 Scanner Controller
+
+usb:v04B4p4611*
+ ID_MODEL_FROM_DATABASE=Storage Adapter FX2 (CY)
+
+usb:v04B4p4616*
+ ID_MODEL_FROM_DATABASE=Flash Disk (TPP)
+
+usb:v04B4p5201*
+ ID_MODEL_FROM_DATABASE=Combi Keyboard-Hub (Hub)
+
+usb:v04B4p5202*
+ ID_MODEL_FROM_DATABASE=Combi Keyboard-Hub (Keyboard)
+
+usb:v04B4p5500*
+ ID_MODEL_FROM_DATABASE=HID->COM RS232 Adapter
+
+usb:v04B4p5A9B*
+ ID_MODEL_FROM_DATABASE=Dacal CD/DVD Library D-101/DC-300/DC-016RW
+
+usb:v04B4p6370*
+ ID_MODEL_FROM_DATABASE=ViewMate Desktop Mouse CC2201
+
+usb:v04B4p6560*
+ ID_MODEL_FROM_DATABASE=CY7C65640 USB-2.0 "TetraHub"
+
+usb:v04B4p6830*
+ ID_MODEL_FROM_DATABASE=CY7C68300A EZ-USB AT2 USB 2.0 to ATA/ATAPI
+
+usb:v04B4p6831*
+ ID_MODEL_FROM_DATABASE=Storage Adapter ISD-300LP (CY)
+
+usb:v04B4p7417*
+ ID_MODEL_FROM_DATABASE=Wireless PC Lock/Ultra Mouse
+
+usb:v04B4p8329*
+ ID_MODEL_FROM_DATABASE=USB To keyboard/Mouse Converter
+
+usb:v04B4p8613*
+ ID_MODEL_FROM_DATABASE=CY7C68013 EZ-USB FX2 USB 2.0 Development Kit
+
+usb:v04B4p8614*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
+
+usb:v04B4p861F*
+ ID_MODEL_FROM_DATABASE=Anysee E30 USB 2.0 DVB-T Receiver
+
+usb:v04B4pBCA1*
+ ID_MODEL_FROM_DATABASE=Barcode Reader
+
+usb:v04B4pCC04*
+ ID_MODEL_FROM_DATABASE=Centor USB RACIA-ALVAR USB PORT
+
+usb:v04B4pCC06*
+ ID_MODEL_FROM_DATABASE=Centor-P RACIA-ALVAR USB PORT
+
+usb:v04B4pD5D5*
+ ID_MODEL_FROM_DATABASE=CY7C63x0x Zoltrix Z-Boxer GamePad
+
+usb:v04B4pDE61*
+ ID_MODEL_FROM_DATABASE=Barcode Reader
+
+usb:v04B4pDE64*
+ ID_MODEL_FROM_DATABASE=Barcode Reader
+
+usb:v04B4pF000*
+ ID_MODEL_FROM_DATABASE=CY30700 Licorice evaluation board
+
+usb:v04B4pF111*
+ ID_MODEL_FROM_DATABASE=CY8CKIT-002 PSoC MiniProg3 Rev A Program and debug kit
+
+usb:v04B4pF115*
+ ID_MODEL_FROM_DATABASE=PSoC FirstTouch Programmer
+
+usb:v04B4pFD13*
+ ID_MODEL_FROM_DATABASE=Programmable power socket
+
+usb:v04B5*
+ ID_VENDOR_FROM_DATABASE=ROHM LSI Systems USA, LLC
+
+usb:v04B5p3064*
+ ID_MODEL_FROM_DATABASE=Hantek DSO-3064
+
+usb:v04B6*
+ ID_VENDOR_FROM_DATABASE=Hint Corp.
+
+usb:v04B7*
+ ID_VENDOR_FROM_DATABASE=Compal Electronics, Inc.
+
+usb:v04B8*
+ ID_VENDOR_FROM_DATABASE=Seiko Epson Corp.
+
+usb:v04B8p0001*
+ ID_MODEL_FROM_DATABASE=Stylus Color 740 / Photo 750
+
+usb:v04B8p0002*
+ ID_MODEL_FROM_DATABASE=ISD Smart Cable for Mac
+
+usb:v04B8p0003*
+ ID_MODEL_FROM_DATABASE=ISD Smart Cable
+
+usb:v04B8p0004*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04B8p0005*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04B8p0006*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04B8p0007*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04B8p0015*
+ ID_MODEL_FROM_DATABASE=Stylus Photo R3000
+
+usb:v04B8p0101*
+ ID_MODEL_FROM_DATABASE=GT-7000U [Perfection 636]
+
+usb:v04B8p0102*
+ ID_MODEL_FROM_DATABASE=GT-2200
+
+usb:v04B8p0103*
+ ID_MODEL_FROM_DATABASE=GT-6600U [Perfection 610]
+
+usb:v04B8p0104*
+ ID_MODEL_FROM_DATABASE=GT-7600UF [Perfection 1200U/1200U Photo]
+
+usb:v04B8p0105*
+ ID_MODEL_FROM_DATABASE=Stylus Scan 2000
+
+usb:v04B8p0106*
+ ID_MODEL_FROM_DATABASE=Stylus Scan 2500
+
+usb:v04B8p0107*
+ ID_MODEL_FROM_DATABASE=ES-2000 [Expression 1600U]
+
+usb:v04B8p0108*
+ ID_MODEL_FROM_DATABASE=CC-700
+
+usb:v04B8p0109*
+ ID_MODEL_FROM_DATABASE=ES-8500 [Expression 1640 XL]
+
+usb:v04B8p010A*
+ ID_MODEL_FROM_DATABASE=GT-8700/GT-8700F [Perfection 1640SU/1640SU PHOTO]
+
+usb:v04B8p010B*
+ ID_MODEL_FROM_DATABASE=GT-7700U [Perfection 1240U]
+
+usb:v04B8p010C*
+ ID_MODEL_FROM_DATABASE=GT-6700U [Perfection 640]
+
+usb:v04B8p010D*
+ ID_MODEL_FROM_DATABASE=CC-500L
+
+usb:v04B8p010E*
+ ID_MODEL_FROM_DATABASE=ES-2200 [Perfection 1680]
+
+usb:v04B8p010F*
+ ID_MODEL_FROM_DATABASE=GT-7200U [Perfection 1250/1250 PHOTO]
+
+usb:v04B8p0110*
+ ID_MODEL_FROM_DATABASE=GT-8200U/GT-8200UF [Perfection 1650/1650 PHOTO]
+
+usb:v04B8p0112*
+ ID_MODEL_FROM_DATABASE=GT-9700F [Perfection 2450 PHOTO]
+
+usb:v04B8p0114*
+ ID_MODEL_FROM_DATABASE=Perfection 660
+
+usb:v04B8p0116*
+ ID_MODEL_FROM_DATABASE=GT-9400UF [Perfection 3170]
+
+usb:v04B8p0118*
+ ID_MODEL_FROM_DATABASE=GT-F600 [Perfection 4180]
+
+usb:v04B8p0119*
+ ID_MODEL_FROM_DATABASE=GT-X750 [Perfection 4490 Photo]
+
+usb:v04B8p011A*
+ ID_MODEL_FROM_DATABASE=CC-550L [1000 ICS]
+
+usb:v04B8p011B*
+ ID_MODEL_FROM_DATABASE=GT-9300UF [Perfection 2400 PHOTO]
+
+usb:v04B8p011C*
+ ID_MODEL_FROM_DATABASE=GT-9800F [Perfection 3200]
+
+usb:v04B8p011D*
+ ID_MODEL_FROM_DATABASE=GT-7300U [Perfection 1260/1260 PHOTO]
+
+usb:v04B8p011E*
+ ID_MODEL_FROM_DATABASE=GT-8300UF [Perfection 1660 PHOTO]
+
+usb:v04B8p011F*
+ ID_MODEL_FROM_DATABASE=GT-8400UF [Perfection 1670/1670 PHOTO]
+
+usb:v04B8p0120*
+ ID_MODEL_FROM_DATABASE=GT-7400U [Perfection 1270]
+
+usb:v04B8p0121*
+ ID_MODEL_FROM_DATABASE=GT-F500/GT-F550 [Perfection 2480/2580 PHOTO]
+
+usb:v04B8p0122*
+ ID_MODEL_FROM_DATABASE=GT-F520/GT-F570 [Perfection 3590 PHOTO]
+
+usb:v04B8p0126*
+ ID_MODEL_FROM_DATABASE=ES-7000H [GT-15000]
+
+usb:v04B8p0128*
+ ID_MODEL_FROM_DATABASE=GT-X700 [Perfection 4870]
+
+usb:v04B8p0129*
+ ID_MODEL_FROM_DATABASE=ES-10000G [Expression 10000XL]
+
+usb:v04B8p012A*
+ ID_MODEL_FROM_DATABASE=GT-X800 [Perfection 4990 PHOTO]
+
+usb:v04B8p012B*
+ ID_MODEL_FROM_DATABASE=ES-H300 [GT-2500]
+
+usb:v04B8p012C*
+ ID_MODEL_FROM_DATABASE=GT-X900 [Perfection V700/V750 Photo]
+
+usb:v04B8p012D*
+ ID_MODEL_FROM_DATABASE=GT-F650 [GT-S600/Perfection V10/V100]
+
+usb:v04B8p012E*
+ ID_MODEL_FROM_DATABASE=GT-F670 [Perfection V200 Photo]
+
+usb:v04B8p012F*
+ ID_MODEL_FROM_DATABASE=GT-F700 [Perfection V350]
+
+usb:v04B8p0130*
+ ID_MODEL_FROM_DATABASE=GT-X770 [Perfection V500]
+
+usb:v04B8p0131*
+ ID_MODEL_FROM_DATABASE=GT-F720 [GT-S620/Perfection V30/V300 Photo]
+
+usb:v04B8p0133*
+ ID_MODEL_FROM_DATABASE=GT-1500 [GT-D1000]
+
+usb:v04B8p0135*
+ ID_MODEL_FROM_DATABASE=GT-X970
+
+usb:v04B8p0136*
+ ID_MODEL_FROM_DATABASE=ES-D400 [GT-S80]
+
+usb:v04B8p0137*
+ ID_MODEL_FROM_DATABASE=ES-D200 [GT-S50]
+
+usb:v04B8p0138*
+ ID_MODEL_FROM_DATABASE=ES-H7200 [GT-20000]
+
+usb:v04B8p013A*
+ ID_MODEL_FROM_DATABASE=GT-X820 [Perfection V600 Photo]
+
+usb:v04B8p0142*
+ ID_MODEL_FROM_DATABASE=GT-F730 [GT-S630/Perfection V33/V330 Photo]
+
+usb:v04B8p0143*
+ ID_MODEL_FROM_DATABASE=GT-S55
+
+usb:v04B8p0144*
+ ID_MODEL_FROM_DATABASE=GT-S85
+
+usb:v04B8p0202*
+ ID_MODEL_FROM_DATABASE=Receipt Printer M129C/TM-T70
+
+usb:v04B8p0401*
+ ID_MODEL_FROM_DATABASE=CP 800 Digital Camera
+
+usb:v04B8p0402*
+ ID_MODEL_FROM_DATABASE=PhotoPC 850z
+
+usb:v04B8p0403*
+ ID_MODEL_FROM_DATABASE=PhotoPC 3000z
+
+usb:v04B8p0509*
+ ID_MODEL_FROM_DATABASE=JVC PIX-MC10
+
+usb:v04B8p0601*
+ ID_MODEL_FROM_DATABASE=Stylus Photo 875DC Card Reader
+
+usb:v04B8p0602*
+ ID_MODEL_FROM_DATABASE=Stylus Photo 895 Card Reader
+
+usb:v04B8p0801*
+ ID_MODEL_FROM_DATABASE=CC-600PX [Stylus CX5200/CX5400/CX6600]
+
+usb:v04B8p0802*
+ ID_MODEL_FROM_DATABASE=CC-570L [Stylus CX3100/CX3200]
+
+usb:v04B8p0803*
+ ID_MODEL_FROM_DATABASE=Printer (Composite Device)
+
+usb:v04B8p0804*
+ ID_MODEL_FROM_DATABASE=Storage Device
+
+usb:v04B8p0805*
+ ID_MODEL_FROM_DATABASE=Stylus CX6300/CX6400
+
+usb:v04B8p0806*
+ ID_MODEL_FROM_DATABASE=PM-A850 [Stylus Photo RX600/610]
+
+usb:v04B8p0807*
+ ID_MODEL_FROM_DATABASE=Stylus Photo RX500/510
+
+usb:v04B8p0808*
+ ID_MODEL_FROM_DATABASE=Stylus CX5200/CX5300/CX5400
+
+usb:v04B8p0809*
+ ID_MODEL_FROM_DATABASE=Storage Device
+
+usb:v04B8p080A*
+ ID_MODEL_FROM_DATABASE=F-3200
+
+usb:v04B8p080C*
+ ID_MODEL_FROM_DATABASE=ME100 [Stylus CX1500]
+
+usb:v04B8p080D*
+ ID_MODEL_FROM_DATABASE=Stylus CX4500/4600
+
+usb:v04B8p080E*
+ ID_MODEL_FROM_DATABASE=PX-A550 [CX-3500/3600/3650 MFP]
+
+usb:v04B8p080F*
+ ID_MODEL_FROM_DATABASE=Stylus Photo RX420/RX425/RX430
+
+usb:v04B8p0810*
+ ID_MODEL_FROM_DATABASE=PM-A900 [Stylus Photo RX700]
+
+usb:v04B8p0811*
+ ID_MODEL_FROM_DATABASE=PM-A870 [Stylus Photo RX620/RX630]
+
+usb:v04B8p0812*
+ ID_MODEL_FROM_DATABASE=MFP Composite Device
+
+usb:v04B8p0813*
+ ID_MODEL_FROM_DATABASE=Stylus CX6500/6600
+
+usb:v04B8p0814*
+ ID_MODEL_FROM_DATABASE=PM-A700
+
+usb:v04B8p0815*
+ ID_MODEL_FROM_DATABASE=LP-A500 [AcuLaser CX1]
+
+usb:v04B8p0816*
+ ID_MODEL_FROM_DATABASE=Printer (Composite Device)
+
+usb:v04B8p0817*
+ ID_MODEL_FROM_DATABASE=LP-M5500/LP-M5500F
+
+usb:v04B8p0818*
+ ID_MODEL_FROM_DATABASE=Stylus CX3700/CX3800/DX3800
+
+usb:v04B8p0819*
+ ID_MODEL_FROM_DATABASE=PX-A650 [Stylus CX4700/CX4800/DX4800/DX4850]
+
+usb:v04B8p081A*
+ ID_MODEL_FROM_DATABASE=PM-A750 [Stylus Photo RX520/RX530]
+
+usb:v04B8p081B*
+ ID_MODEL_FROM_DATABASE=MFP Composite Device
+
+usb:v04B8p081C*
+ ID_MODEL_FROM_DATABASE=PM-A890 [Stylus Photo RX640/RX650]
+
+usb:v04B8p081D*
+ ID_MODEL_FROM_DATABASE=PM-A950
+
+usb:v04B8p081E*
+ ID_MODEL_FROM_DATABASE=MFP Composite Device
+
+usb:v04B8p081F*
+ ID_MODEL_FROM_DATABASE=Stylus CX7700/7800
+
+usb:v04B8p0820*
+ ID_MODEL_FROM_DATABASE=Stylus CX4100/CX4200/DX4200
+
+usb:v04B8p0821*
+ ID_MODEL_FROM_DATABASE=Stylus CX5700F/CX5800F
+
+usb:v04B8p0822*
+ ID_MODEL_FROM_DATABASE=Storage Device
+
+usb:v04B8p0823*
+ ID_MODEL_FROM_DATABASE=MFP Composite Device
+
+usb:v04B8p0824*
+ ID_MODEL_FROM_DATABASE=Storage Device
+
+usb:v04B8p0825*
+ ID_MODEL_FROM_DATABASE=MFP Composite Device
+
+usb:v04B8p0826*
+ ID_MODEL_FROM_DATABASE=Storage Device
+
+usb:v04B8p0827*
+ ID_MODEL_FROM_DATABASE=PM-A820 [Stylus Photo RX560/RX580/RX585/RX590]
+
+usb:v04B8p0828*
+ ID_MODEL_FROM_DATABASE=PM-A970
+
+usb:v04B8p0829*
+ ID_MODEL_FROM_DATABASE=PM-T990
+
+usb:v04B8p082A*
+ ID_MODEL_FROM_DATABASE=PM-A920
+
+usb:v04B8p082B*
+ ID_MODEL_FROM_DATABASE=Stylus CX5900/CX5000/DX5000/DX5050
+
+usb:v04B8p082C*
+ ID_MODEL_FROM_DATABASE=Storage Device
+
+usb:v04B8p082D*
+ ID_MODEL_FROM_DATABASE=Storage Device
+
+usb:v04B8p082E*
+ ID_MODEL_FROM_DATABASE=PX-A720 [Stylus CX5900/CX6000/DX6000]
+
+usb:v04B8p082F*
+ ID_MODEL_FROM_DATABASE=PX-A620 [Stylus CX3900/DX4000/DX4050]
+
+usb:v04B8p0830*
+ ID_MODEL_FROM_DATABASE=ME 200 [Stylus CX2800/CX2900]
+
+usb:v04B8p0831*
+ ID_MODEL_FROM_DATABASE=Stylus CX6900F/CX7000F/DX7000F
+
+usb:v04B8p0832*
+ ID_MODEL_FROM_DATABASE=MFP Composite Device
+
+usb:v04B8p0833*
+ ID_MODEL_FROM_DATABASE=LP-M5600
+
+usb:v04B8p0834*
+ ID_MODEL_FROM_DATABASE=LP-M6000
+
+usb:v04B8p0835*
+ ID_MODEL_FROM_DATABASE=AcuLaser CX21
+
+usb:v04B8p0836*
+ ID_MODEL_FROM_DATABASE=PM-T960
+
+usb:v04B8p0837*
+ ID_MODEL_FROM_DATABASE=PM-A940 [Stylus Photo RX680/RX685/RX690]
+
+usb:v04B8p0838*
+ ID_MODEL_FROM_DATABASE=PX-A640 [CX7300/CX7400/DX7400]
+
+usb:v04B8p0839*
+ ID_MODEL_FROM_DATABASE=PX-A740 [CX8300/CX8400/DX8400]
+
+usb:v04B8p083A*
+ ID_MODEL_FROM_DATABASE=PX-FA700 [CX9300F/CX9400Fax/DX9400F]
+
+usb:v04B8p083B*
+ ID_MODEL_FROM_DATABASE=MFP Composite Device
+
+usb:v04B8p083C*
+ ID_MODEL_FROM_DATABASE=PM-A840S [Stylus Photo RX595/RX610]
+
+usb:v04B8p083D*
+ ID_MODEL_FROM_DATABASE=MFP Composite Device
+
+usb:v04B8p083E*
+ ID_MODEL_FROM_DATABASE=MFP Composite Device
+
+usb:v04B8p083F*
+ ID_MODEL_FROM_DATABASE=Stylus CX4300/CX4400/CX5500/CX5600/DX4400/DX4450
+
+usb:v04B8p0841*
+ ID_MODEL_FROM_DATABASE=PX-401A [ME 300/Stylus NX100]
+
+usb:v04B8p0843*
+ ID_MODEL_FROM_DATABASE=LP-M5000
+
+usb:v04B8p0844*
+ ID_MODEL_FROM_DATABASE=EP-901A/EP-901F [Artisan 800/Stylus Photo PX800FW]
+
+usb:v04B8p0846*
+ ID_MODEL_FROM_DATABASE=EP-801A [Artisan 700/Stylus Photo PX700W/TX700W]
+
+usb:v04B8p0847*
+ ID_MODEL_FROM_DATABASE=PX-601F [ME Office 700FW/Stylus Office BX600FW/TX600FW]
+
+usb:v04B8p0848*
+ ID_MODEL_FROM_DATABASE=ME Office 600F/Stylus Office BX300F/TX300F
+
+usb:v04B8p0849*
+ ID_MODEL_FROM_DATABASE=Stylus SX205
+
+usb:v04B8p084A*
+ ID_MODEL_FROM_DATABASE=PX-501A [Stylus NX400]
+
+usb:v04B8p084D*
+ ID_MODEL_FROM_DATABASE=PX-402A [Stylus SX115/Stylus NX110 Series]
+
+usb:v04B8p084F*
+ ID_MODEL_FROM_DATABASE=ME OFFICE 510
+
+usb:v04B8p0850*
+ ID_MODEL_FROM_DATABASE=EP-702A [Stylus Photo PX650/TX650 Series]
+
+usb:v04B8p0851*
+ ID_MODEL_FROM_DATABASE=Stylus SX410
+
+usb:v04B8p0852*
+ ID_MODEL_FROM_DATABASE=EP-802A [Artisan 710 Series/Stylus Photo PX710W/TX720W Series]
+
+usb:v04B8p0853*
+ ID_MODEL_FROM_DATABASE=EP-902A [Artisan 810 Series/Stylus Photo PX810FW Series]
+
+usb:v04B8p0854*
+ ID_MODEL_FROM_DATABASE=ME OFFICE 650FN Series/Stylus Office BX310FN/TX520FN Series
+
+usb:v04B8p0855*
+ ID_MODEL_FROM_DATABASE=PX-602F [Stylus Office BX610FW/TX620FW Series]
+
+usb:v04B8p0856*
+ ID_MODEL_FROM_DATABASE=PX-502A [Stylus SX515W]
+
+usb:v04B8p085C*
+ ID_MODEL_FROM_DATABASE=ME 320/330 Series [Stylus SX125]
+
+usb:v04B8p085D*
+ ID_MODEL_FROM_DATABASE=PX-603F [ME OFFICE 960FWD Series/Stylus Office BX625FWD/TX620FWD Series]
+
+usb:v04B8p085E*
+ ID_MODEL_FROM_DATABASE=PX-503A [ME OFFICE 900WD Series/Stylus Office BX525WD]
+
+usb:v04B8p085F*
+ ID_MODEL_FROM_DATABASE=Stylus Office BX320FW/TX525FW Series
+
+usb:v04B8p0860*
+ ID_MODEL_FROM_DATABASE=EP-903A/EP-903F [Artisan 835/Stylus Photo PX820FWD Series]
+
+usb:v04B8p0861*
+ ID_MODEL_FROM_DATABASE=EP-803A/EP-803AW [Artisan 725/Stylus Photo PX720WD/TX720WD Series]
+
+usb:v04B8p0862*
+ ID_MODEL_FROM_DATABASE=EP-703A [Stylus Photo PX660 Series]
+
+usb:v04B8p0863*
+ ID_MODEL_FROM_DATABASE=ME OFFICE 620F Series/Stylus Office BX305F/BX305FW/TX320F
+
+usb:v04B8p0864*
+ ID_MODEL_FROM_DATABASE=ME OFFICE 560W Series
+
+usb:v04B8p0865*
+ ID_MODEL_FROM_DATABASE=ME OFFICE 520 Series
+
+usb:v04B8p0866*
+ ID_MODEL_FROM_DATABASE=AcuLaser MX20DN/MX20DNF/MX21DNF
+
+usb:v04B8p0869*
+ ID_MODEL_FROM_DATABASE=PX-1600F
+
+usb:v04B8p086A*
+ ID_MODEL_FROM_DATABASE=PX-673F [Stylus Office BX925FWD]
+
+usb:v04B8p0870*
+ ID_MODEL_FROM_DATABASE=Stylus Office BX305FW Plus
+
+usb:v04B8p0871*
+ ID_MODEL_FROM_DATABASE=K200 Series
+
+usb:v04B8p0872*
+ ID_MODEL_FROM_DATABASE=K300 Series
+
+usb:v04B8p0873*
+ ID_MODEL_FROM_DATABASE=L200 Series
+
+usb:v04B8p0878*
+ ID_MODEL_FROM_DATABASE=EP-704A
+
+usb:v04B8p0879*
+ ID_MODEL_FROM_DATABASE=EP-904A/EP-904F [Artisan 837/Stylus Photo PX830FWD Series]
+
+usb:v04B8p087B*
+ ID_MODEL_FROM_DATABASE=EP-804A/EP-804AR/EP-804AW [Stylus Photo PX730WD/Artisan 730 Series]
+
+usb:v04B8p087C*
+ ID_MODEL_FROM_DATABASE=PX-1700F
+
+usb:v04B8p087D*
+ ID_MODEL_FROM_DATABASE=PX-B750F
+
+usb:v04B8p087F*
+ ID_MODEL_FROM_DATABASE=PX-403A
+
+usb:v04B8p0880*
+ ID_MODEL_FROM_DATABASE=PX-434A [Stylus NX330 Series]
+
+usb:v04B8p0881*
+ ID_MODEL_FROM_DATABASE=PX-404A [ME OFFICE 535]
+
+usb:v04B8p0883*
+ ID_MODEL_FROM_DATABASE=ME 340 Series/Stylus NX130 Series
+
+usb:v04B8p0884*
+ ID_MODEL_FROM_DATABASE=Stylus NX430W Series
+
+usb:v04B8p0885*
+ ID_MODEL_FROM_DATABASE=Stylus NX230 Series
+
+usb:v04B8p088F*
+ ID_MODEL_FROM_DATABASE=Stylus Office BX635FWD
+
+usb:v04B8p0890*
+ ID_MODEL_FROM_DATABASE=ME OFFICE 940FW Series/Stylus Office BX630FW Series
+
+usb:v04B8p0891*
+ ID_MODEL_FROM_DATABASE=Stylus Office BX535WD
+
+usb:v04B8p0892*
+ ID_MODEL_FROM_DATABASE=Stylus Office BX935FWD
+
+usb:v04B8p0893*
+ ID_MODEL_FROM_DATABASE=EP-774A
+
+usb:v04B9*
+ ID_VENDOR_FROM_DATABASE=Rainbow Technologies, Inc.
+
+usb:v04B9p0300*
+ ID_MODEL_FROM_DATABASE=SafeNet USB SuperPro/UltraPro
+
+usb:v04B9p1000*
+ ID_MODEL_FROM_DATABASE=iKey 1000 Token
+
+usb:v04B9p1001*
+ ID_MODEL_FROM_DATABASE=iKey 1200 Token
+
+usb:v04B9p1002*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04B9p1003*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04B9p1004*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04B9p1005*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04B9p1006*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04B9p1200*
+ ID_MODEL_FROM_DATABASE=iKey 2000 Token
+
+usb:v04B9p1201*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04B9p1202*
+ ID_MODEL_FROM_DATABASE=iKey 2032 Token
+
+usb:v04B9p1203*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04B9p1204*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04B9p1205*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04B9p1206*
+ ID_MODEL_FROM_DATABASE=iKey 4000 Token
+
+usb:v04B9p1300*
+ ID_MODEL_FROM_DATABASE=iKey 3000 Token
+
+usb:v04B9p1301*
+ ID_MODEL_FROM_DATABASE=iKey 3000
+
+usb:v04B9p1302*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04B9p1303*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04B9p1304*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04B9p1305*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04B9p1306*
+ ID_MODEL_FROM_DATABASE=iKey Token
+
+usb:v04BA*
+ ID_VENDOR_FROM_DATABASE=Toucan Systems, Ltd
+
+usb:v04BB*
+ ID_VENDOR_FROM_DATABASE=I-O Data Device, Inc.
+
+usb:v04BBp0101*
+ ID_MODEL_FROM_DATABASE=USB2-IDE/ATAPI Bridge Adapter
+
+usb:v04BBp0201*
+ ID_MODEL_FROM_DATABASE=USB2-IDE/ATAPI Bridge Adapter
+
+usb:v04BBp0204*
+ ID_MODEL_FROM_DATABASE=DVD Multi-plus unit iU-CD2
+
+usb:v04BBp0206*
+ ID_MODEL_FROM_DATABASE=DVD Multi-plus unit DVR-UEH8
+
+usb:v04BBp0301*
+ ID_MODEL_FROM_DATABASE=Storage Device
+
+usb:v04BBp0314*
+ ID_MODEL_FROM_DATABASE=USB-SSMRW SD-card
+
+usb:v04BBp0319*
+ ID_MODEL_FROM_DATABASE=USB2-IDE/ATAPI Bridge Adapter
+
+usb:v04BBp031A*
+ ID_MODEL_FROM_DATABASE=USB2-IDE/ATAPI Bridge Adapter
+
+usb:v04BBp031B*
+ ID_MODEL_FROM_DATABASE=USB2-IDE/ATAPI Bridge Adapter
+
+usb:v04BBp031E*
+ ID_MODEL_FROM_DATABASE=USB-SDRW SD-card
+
+usb:v04BBp0502*
+ ID_MODEL_FROM_DATABASE=Nogatech Live! (BT)
+
+usb:v04BBp0528*
+ ID_MODEL_FROM_DATABASE=GV-USB Video Capture
+
+usb:v04BBp0901*
+ ID_MODEL_FROM_DATABASE=USB ETT
+
+usb:v04BBp0904*
+ ID_MODEL_FROM_DATABASE=ET/TX Ethernet [pegasus]
+
+usb:v04BBp0913*
+ ID_MODEL_FROM_DATABASE=ET/TX-S Ethernet [pegasus2]
+
+usb:v04BBp0919*
+ ID_MODEL_FROM_DATABASE=USB WN-B11
+
+usb:v04BBp0922*
+ ID_MODEL_FROM_DATABASE=IOData AirPort WN-B11/USBS 802.11b
+
+usb:v04BBp0930*
+ ID_MODEL_FROM_DATABASE=ETG-US2
+
+usb:v04BBp0937*
+ ID_MODEL_FROM_DATABASE=WN-WAG/USL Wireless LAN Adapter
+
+usb:v04BBp0938*
+ ID_MODEL_FROM_DATABASE=WN-G54/USL Wireless LAN Adapter
+
+usb:v04BBp093B*
+ ID_MODEL_FROM_DATABASE=WN-GDN/USB
+
+usb:v04BBp093F*
+ ID_MODEL_FROM_DATABASE=WNGDNUS2 802.11n
+
+usb:v04BBp0944*
+ ID_MODEL_FROM_DATABASE=WHG-AGDN/US Wireless LAN Adapter
+
+usb:v04BBp0945*
+ ID_MODEL_FROM_DATABASE=WN-GDN/US3 Wireless LAN Adapter
+
+usb:v04BBp0947*
+ ID_MODEL_FROM_DATABASE=WN-G150U Wireless LAN Adapter
+
+usb:v04BBp0948*
+ ID_MODEL_FROM_DATABASE=WN-G300U Wireless LAN Adapter
+
+usb:v04BBp0A03*
+ ID_MODEL_FROM_DATABASE=Serial USB-RSAQ1
+
+usb:v04BBp0A07*
+ ID_MODEL_FROM_DATABASE=USB2-iCN Adapter
+
+usb:v04BBp0A08*
+ ID_MODEL_FROM_DATABASE=USB2-iCN Adapter
+
+usb:v04BBp0C01*
+ ID_MODEL_FROM_DATABASE=FM-10 Pro Disk
+
+usb:v04BD*
+ ID_VENDOR_FROM_DATABASE=Toshiba Electronics Taiwan Corp.
+
+usb:v04BE*
+ ID_VENDOR_FROM_DATABASE=Telia Research AB
+
+usb:v04BF*
+ ID_VENDOR_FROM_DATABASE=TDK Corp.
+
+usb:v04BFp0100*
+ ID_MODEL_FROM_DATABASE=MediaReader CF
+
+usb:v04BFp0115*
+ ID_MODEL_FROM_DATABASE=USB-PDC Adapter UPA9664
+
+usb:v04BFp0116*
+ ID_MODEL_FROM_DATABASE=USB-cdmaOne Adapter UCA1464
+
+usb:v04BFp0117*
+ ID_MODEL_FROM_DATABASE=USB-PHS Adapter UHA6400
+
+usb:v04BFp0118*
+ ID_MODEL_FROM_DATABASE=USB-PHS Adapter UPA6400
+
+usb:v04BFp0135*
+ ID_MODEL_FROM_DATABASE=MediaReader Dual
+
+usb:v04BFp0202*
+ ID_MODEL_FROM_DATABASE=73S1121F Smart Card Reader-
+
+usb:v04BFp0309*
+ ID_MODEL_FROM_DATABASE=Bluetooth USB dongle
+
+usb:v04BFp030A*
+ ID_MODEL_FROM_DATABASE=IBM Bluetooth Ultraport Module
+
+usb:v04BFp030B*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v04BFp030C*
+ ID_MODEL_FROM_DATABASE=Ultraport Bluetooth Device
+
+usb:v04BFp0310*
+ ID_MODEL_FROM_DATABASE=Integrated Bluetooth
+
+usb:v04BFp0311*
+ ID_MODEL_FROM_DATABASE=Integrated Bluetooth Device
+
+usb:v04BFp0317*
+ ID_MODEL_FROM_DATABASE=Bluetooth UltraPort Module from IBM
+
+usb:v04BFp0318*
+ ID_MODEL_FROM_DATABASE=IBM Integrated Bluetooth
+
+usb:v04BFp0319*
+ ID_MODEL_FROM_DATABASE=Bluetooth Adapter
+
+usb:v04BFp0320*
+ ID_MODEL_FROM_DATABASE=Bluetooth Adapter
+
+usb:v04BFp0321*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v04BFp0A28*
+ ID_MODEL_FROM_DATABASE=INDI AV-IN Device
+
+usb:v04C1*
+ ID_VENDOR_FROM_DATABASE=U.S. Robotics (3Com)
+
+usb:v04C1p0020*
+ ID_MODEL_FROM_DATABASE=56K Voice Pro
+
+usb:v04C1p0022*
+ ID_MODEL_FROM_DATABASE=56K Voice Pro
+
+usb:v04C1p007E*
+ ID_MODEL_FROM_DATABASE=ISDN TA
+
+usb:v04C1p0082*
+ ID_MODEL_FROM_DATABASE=OfficeConnect Analog Modem
+
+usb:v04C1p008F*
+ ID_MODEL_FROM_DATABASE=Pro ISDN TA
+
+usb:v04C1p0097*
+ ID_MODEL_FROM_DATABASE=OfficeConnect Analog
+
+usb:v04C1p009D*
+ ID_MODEL_FROM_DATABASE=HomeConnect Webcam [vicam]
+
+usb:v04C1p00A9*
+ ID_MODEL_FROM_DATABASE=ISDN Pro TA-U
+
+usb:v04C1p00B9*
+ ID_MODEL_FROM_DATABASE=HomeConnect IDSL Modem
+
+usb:v04C1p3021*
+ ID_MODEL_FROM_DATABASE=56k Voice FaxModem Pro
+
+usb:v04C2*
+ ID_VENDOR_FROM_DATABASE=Methode Electronics Far East PTE, Ltd
+
+usb:v04C3*
+ ID_VENDOR_FROM_DATABASE=Maxi Switch, Inc.
+
+usb:v04C3p1102*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v04C3p2102*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v04C4*
+ ID_VENDOR_FROM_DATABASE=Lockheed Martin Energy Research
+
+usb:v04C5*
+ ID_VENDOR_FROM_DATABASE=Fujitsu, Ltd
+
+usb:v04C5p1029*
+ ID_MODEL_FROM_DATABASE=fi-4010c Scanner
+
+usb:v04C5p1033*
+ ID_MODEL_FROM_DATABASE=fi-4110CU
+
+usb:v04C5p1041*
+ ID_MODEL_FROM_DATABASE=fi-4120c Scanner
+
+usb:v04C5p1042*
+ ID_MODEL_FROM_DATABASE=fi-4220c Scanner
+
+usb:v04C5p105B*
+ ID_MODEL_FROM_DATABASE=AH-F401U Air H device
+
+usb:v04C5p1096*
+ ID_MODEL_FROM_DATABASE=fi-5110EOX
+
+usb:v04C5p1097*
+ ID_MODEL_FROM_DATABASE=fi-5110C
+
+usb:v04C5p10AE*
+ ID_MODEL_FROM_DATABASE=fi-4120C2
+
+usb:v04C5p10AF*
+ ID_MODEL_FROM_DATABASE=fi-4220C2
+
+usb:v04C5p10E0*
+ ID_MODEL_FROM_DATABASE=fi-5120c Scanner
+
+usb:v04C5p10E1*
+ ID_MODEL_FROM_DATABASE=fi-5220C
+
+usb:v04C5p10E7*
+ ID_MODEL_FROM_DATABASE=fi-5900C
+
+usb:v04C5p10FE*
+ ID_MODEL_FROM_DATABASE=S500
+
+usb:v04C5p1150*
+ ID_MODEL_FROM_DATABASE=fi-6230
+
+usb:v04C6*
+ ID_VENDOR_FROM_DATABASE=Toshiba America Electronic Components
+
+usb:v04C7*
+ ID_VENDOR_FROM_DATABASE=Micro Macro Technologies
+
+usb:v04C8*
+ ID_VENDOR_FROM_DATABASE=Konica Corp.
+
+usb:v04C8p0720*
+ ID_MODEL_FROM_DATABASE=Digital Color Camera
+
+usb:v04C8p0721*
+ ID_MODEL_FROM_DATABASE=e-miniD Camera
+
+usb:v04C8p0722*
+ ID_MODEL_FROM_DATABASE=e-mini
+
+usb:v04C8p0723*
+ ID_MODEL_FROM_DATABASE=KD-200Z Camera
+
+usb:v04C8p0726*
+ ID_MODEL_FROM_DATABASE=KD-310Z Camera
+
+usb:v04C8p0728*
+ ID_MODEL_FROM_DATABASE=Revio C2 Mass Storage Device
+
+usb:v04C8p0729*
+ ID_MODEL_FROM_DATABASE=Revio C2 Digital Camera
+
+usb:v04C8p072C*
+ ID_MODEL_FROM_DATABASE=Revio KD20M
+
+usb:v04C8p072D*
+ ID_MODEL_FROM_DATABASE=Revio KD410Z
+
+usb:v04CA*
+ ID_VENDOR_FROM_DATABASE=Lite-On Technology Corp.
+
+usb:v04CAp1766*
+ ID_MODEL_FROM_DATABASE=HID Monitor Controls
+
+usb:v04CAp9304*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v04CApF01C*
+ ID_MODEL_FROM_DATABASE=TT1280DA DVB-T TV Tuner
+
+usb:v04CB*
+ ID_VENDOR_FROM_DATABASE=Fuji Photo Film Co., Ltd
+
+usb:v04CBp0100*
+ ID_MODEL_FROM_DATABASE=FinePix 30i/40i/50i, A101/201, 1300/2200, 1400/2400/2600/2800/4500/4700/4800/4900/6800/6900 Zoom
+
+usb:v04CBp0103*
+ ID_MODEL_FROM_DATABASE=FinePix NX-500/NX-700 printer
+
+usb:v04CBp0104*
+ ID_MODEL_FROM_DATABASE=FinePix A101, 2600/2800/4800/6800 Zoom (PC CAM)
+
+usb:v04CBp0108*
+ ID_MODEL_FROM_DATABASE=FinePix F601 Zoom (DSC)
+
+usb:v04CBp0109*
+ ID_MODEL_FROM_DATABASE=FinePix F601 Zoom (PC CAM)
+
+usb:v04CBp010A*
+ ID_MODEL_FROM_DATABASE=FinePix S602 (Pro) Zoom (DSC)
+
+usb:v04CBp010B*
+ ID_MODEL_FROM_DATABASE=FinePix S602 (Pro) Zoom (PC CAM)
+
+usb:v04CBp010D*
+ ID_MODEL_FROM_DATABASE=FinePix Digital Camera 020531
+
+usb:v04CBp010E*
+ ID_MODEL_FROM_DATABASE=FinePix F402 Zoom (DSC)
+
+usb:v04CBp010F*
+ ID_MODEL_FROM_DATABASE=FinePix F402 Zoom (PC CAM)
+
+usb:v04CBp0110*
+ ID_MODEL_FROM_DATABASE=FinePix M603 Zoom (DSC)
+
+usb:v04CBp0111*
+ ID_MODEL_FROM_DATABASE=FinePix M603 Zoom (PC CAM)
+
+usb:v04CBp0112*
+ ID_MODEL_FROM_DATABASE=FinePix A202, A200 Zoom (DSC)
+
+usb:v04CBp0113*
+ ID_MODEL_FROM_DATABASE=FinePix A202, A200 Zoom (PC CAM)
+
+usb:v04CBp0114*
+ ID_MODEL_FROM_DATABASE=FinePix F401 Zoom (DSC)
+
+usb:v04CBp0115*
+ ID_MODEL_FROM_DATABASE=FinePix F401 Zoom (PC CAM)
+
+usb:v04CBp0116*
+ ID_MODEL_FROM_DATABASE=FinePix A203 Zoom (DSC)
+
+usb:v04CBp0117*
+ ID_MODEL_FROM_DATABASE=FinePix A203 Zoom (PC CAM)
+
+usb:v04CBp0118*
+ ID_MODEL_FROM_DATABASE=FinePix A303 Zoom (DSC)
+
+usb:v04CBp0119*
+ ID_MODEL_FROM_DATABASE=FinePix A303 Zoom (PC CAM)
+
+usb:v04CBp011A*
+ ID_MODEL_FROM_DATABASE=FinePix S304/3800 Zoom (DSC)
+
+usb:v04CBp011B*
+ ID_MODEL_FROM_DATABASE=FinePix S304/3800 Zoom (PC CAM)
+
+usb:v04CBp011C*
+ ID_MODEL_FROM_DATABASE=FinePix A204/2650 Zoom (DSC)
+
+usb:v04CBp011D*
+ ID_MODEL_FROM_DATABASE=FinePix A204/2650 Zoom (PC CAM)
+
+usb:v04CBp0120*
+ ID_MODEL_FROM_DATABASE=FinePix F700 Zoom (DSC)
+
+usb:v04CBp0121*
+ ID_MODEL_FROM_DATABASE=FinePix F700 Zoom (PC CAM)
+
+usb:v04CBp0122*
+ ID_MODEL_FROM_DATABASE=FinePix F410 Zoom (DSC)
+
+usb:v04CBp0123*
+ ID_MODEL_FROM_DATABASE=FinePix F410 Zoom (PC CAM)
+
+usb:v04CBp0124*
+ ID_MODEL_FROM_DATABASE=FinePix A310 Zoom (DSC)
+
+usb:v04CBp0125*
+ ID_MODEL_FROM_DATABASE=FinePix A310 Zoom (PC CAM)
+
+usb:v04CBp0126*
+ ID_MODEL_FROM_DATABASE=FinePix A210 Zoom (DSC)
+
+usb:v04CBp0127*
+ ID_MODEL_FROM_DATABASE=FinePix A210 Zoom (PC CAM)
+
+usb:v04CBp0128*
+ ID_MODEL_FROM_DATABASE=FinePix A205(S) Zoom (DSC)
+
+usb:v04CBp0129*
+ ID_MODEL_FROM_DATABASE=FinePix A205(S) Zoom (PC CAM)
+
+usb:v04CBp012A*
+ ID_MODEL_FROM_DATABASE=FinePix F610 Zoom (DSC)
+
+usb:v04CBp012B*
+ ID_MODEL_FROM_DATABASE=FinePix Digital Camera 030513
+
+usb:v04CBp012C*
+ ID_MODEL_FROM_DATABASE=FinePix S7000 Zoom (DSC)
+
+usb:v04CBp012D*
+ ID_MODEL_FROM_DATABASE=FinePix S7000 Zoom (PC CAM)
+
+usb:v04CBp012F*
+ ID_MODEL_FROM_DATABASE=FinePix Digital Camera 030731
+
+usb:v04CBp0130*
+ ID_MODEL_FROM_DATABASE=FinePix S5000 Zoom (DSC)
+
+usb:v04CBp0131*
+ ID_MODEL_FROM_DATABASE=FinePix S5000 Zoom (PC CAM)
+
+usb:v04CBp013B*
+ ID_MODEL_FROM_DATABASE=FinePix Digital Camera 030722
+
+usb:v04CBp013C*
+ ID_MODEL_FROM_DATABASE=FinePix S3000 Zoom (DSC)
+
+usb:v04CBp013D*
+ ID_MODEL_FROM_DATABASE=FinePix S3000 Zoom (PC CAM)
+
+usb:v04CBp013E*
+ ID_MODEL_FROM_DATABASE=FinePix F420 Zoom (DSC)
+
+usb:v04CBp013F*
+ ID_MODEL_FROM_DATABASE=FinePix F420 Zoom (PC CAM)
+
+usb:v04CBp0142*
+ ID_MODEL_FROM_DATABASE=FinePix S7000 Zoom (PTP)
+
+usb:v04CBp0148*
+ ID_MODEL_FROM_DATABASE=FinePix A330 Zoom (DSC)
+
+usb:v04CBp0149*
+ ID_MODEL_FROM_DATABASE=FinePix A330 Zoom (UVC)
+
+usb:v04CBp014A*
+ ID_MODEL_FROM_DATABASE=FinePix A330 Zoom (PTP)
+
+usb:v04CBp014B*
+ ID_MODEL_FROM_DATABASE=FinePix A340 Zoom (DSC)
+
+usb:v04CBp014C*
+ ID_MODEL_FROM_DATABASE=FinePix A340 Zoom (UVC)
+
+usb:v04CBp0159*
+ ID_MODEL_FROM_DATABASE=FinePix F710 Zoom (DSC)
+
+usb:v04CBp0165*
+ ID_MODEL_FROM_DATABASE=FinePix S3500 Zoom (DSC)
+
+usb:v04CBp0168*
+ ID_MODEL_FROM_DATABASE=FinePix E500 Zoom (DSC)
+
+usb:v04CBp0169*
+ ID_MODEL_FROM_DATABASE=FinePix E500 Zoom (UVC)
+
+usb:v04CBp016B*
+ ID_MODEL_FROM_DATABASE=FinePix E510 Zoom (DSC)
+
+usb:v04CBp016C*
+ ID_MODEL_FROM_DATABASE=FinePix E510 Zoom (PC CAM)
+
+usb:v04CBp016E*
+ ID_MODEL_FROM_DATABASE=FinePix S5500 Zoom (DSC)
+
+usb:v04CBp016F*
+ ID_MODEL_FROM_DATABASE=FinePix S5500 Zoom (UVC)
+
+usb:v04CBp0171*
+ ID_MODEL_FROM_DATABASE=FinePix E550 Zoom (DSC)
+
+usb:v04CBp0172*
+ ID_MODEL_FROM_DATABASE=FinePix E550 Zoom (UVC)
+
+usb:v04CBp0177*
+ ID_MODEL_FROM_DATABASE=FinePix F10 (DSC)
+
+usb:v04CBp0179*
+ ID_MODEL_FROM_DATABASE=Finepix F10 (PTP)
+
+usb:v04CBp0186*
+ ID_MODEL_FROM_DATABASE=FinePix S5200/S5600 Zoom (DSC)
+
+usb:v04CBp0188*
+ ID_MODEL_FROM_DATABASE=FinePix S5200/S5600 Zoom (PTP)
+
+usb:v04CBp018E*
+ ID_MODEL_FROM_DATABASE=FinePix S9500 Zoom (DSC)
+
+usb:v04CBp018F*
+ ID_MODEL_FROM_DATABASE=FinePix S9500 Zoom (PTP)
+
+usb:v04CBp0192*
+ ID_MODEL_FROM_DATABASE=FinePix E900 Zoom (DSC)
+
+usb:v04CBp0193*
+ ID_MODEL_FROM_DATABASE=FinePix E900 Zoom (PTP)
+
+usb:v04CBp019B*
+ ID_MODEL_FROM_DATABASE=FinePix F30 (PTP)
+
+usb:v04CBp01AF*
+ ID_MODEL_FROM_DATABASE=FinePix A700 (PTP)
+
+usb:v04CBp01BF*
+ ID_MODEL_FROM_DATABASE=FinePix F6000fd/S6500fd Zoom (PTP)
+
+usb:v04CBp01C0*
+ ID_MODEL_FROM_DATABASE=FinePix F20 (PTP)
+
+usb:v04CBp01C1*
+ ID_MODEL_FROM_DATABASE=FinePix F31fd (PTP)
+
+usb:v04CBp01C4*
+ ID_MODEL_FROM_DATABASE=FinePix S5700 Zoom (PTP)
+
+usb:v04CBp01C5*
+ ID_MODEL_FROM_DATABASE=FinePix F40fd (PTP)
+
+usb:v04CBp01C6*
+ ID_MODEL_FROM_DATABASE=FinePix A820 Zoom (PTP)
+
+usb:v04CBp01D2*
+ ID_MODEL_FROM_DATABASE=FinePix A800 Zoom (PTP)
+
+usb:v04CBp01D3*
+ ID_MODEL_FROM_DATABASE=FinePix A920 (PTP)
+
+usb:v04CBp01D4*
+ ID_MODEL_FROM_DATABASE=FinePix F50fd (PTP)
+
+usb:v04CBp01D5*
+ ID_MODEL_FROM_DATABASE=FinePix F47 (PTP)
+
+usb:v04CBp01F7*
+ ID_MODEL_FROM_DATABASE=FinePix J250 (PTP)
+
+usb:v04CBp01FD*
+ ID_MODEL_FROM_DATABASE=A160
+
+usb:v04CBp023E*
+ ID_MODEL_FROM_DATABASE=FinePix AX300
+
+usb:v04CBp0240*
+ ID_MODEL_FROM_DATABASE=FinePix S2950 Digital Camera
+
+usb:v04CBp0241*
+ ID_MODEL_FROM_DATABASE=FinePix S3200 Digital Camera
+
+usb:v04CBp0278*
+ ID_MODEL_FROM_DATABASE=FinePix JV300
+
+usb:v04CC*
+ ID_VENDOR_FROM_DATABASE=ST-Ericsson
+
+usb:v04CCp1122*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v04CCp1520*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Hub (Avocent KVM)
+
+usb:v04CCp1521*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Hub
+
+usb:v04CCp1A62*
+ ID_MODEL_FROM_DATABASE=GW Instek GSP-830 Spectrum Analyzer (HID)
+
+usb:v04CCp2323*
+ ID_MODEL_FROM_DATABASE=Ux500 serial debug port
+
+usb:v04CCp2533*
+ ID_MODEL_FROM_DATABASE=NFC device (PN533)
+
+usb:v04CCp8116*
+ ID_MODEL_FROM_DATABASE=Camera
+
+usb:v04CD*
+ ID_VENDOR_FROM_DATABASE=Tatung Co. Of America
+
+usb:v04CE*
+ ID_VENDOR_FROM_DATABASE=ScanLogic Corp.
+
+usb:v04CEp0002*
+ ID_MODEL_FROM_DATABASE=SL11R-IDE IDE Bridge
+
+usb:v04CEp0100*
+ ID_MODEL_FROM_DATABASE=USB2PRN Printer Class
+
+usb:v04CEp0300*
+ ID_MODEL_FROM_DATABASE=Phantom 336CX - C3 scanner
+
+usb:v04CEp04CE*
+ ID_MODEL_FROM_DATABASE=SL11DEMO, VID: 0x4ce, PID: 0x4ce
+
+usb:v04CEp07D1*
+ ID_MODEL_FROM_DATABASE=SL11R, VID: 0x4ce, PID: 0x07D1
+
+usb:v04CF*
+ ID_VENDOR_FROM_DATABASE=Myson Century, Inc.
+
+usb:v04CFp0022*
+ ID_MODEL_FROM_DATABASE=OCZ Alchemy Series Elixir II Keyboard
+
+usb:v04CFp0800*
+ ID_MODEL_FROM_DATABASE=MTP800 Mass Storage Device
+
+usb:v04CFp8810*
+ ID_MODEL_FROM_DATABASE=CS8810 Mass Storage Device
+
+usb:v04CFp8811*
+ ID_MODEL_FROM_DATABASE=CS8811 Mass Storage Device
+
+usb:v04CFp8813*
+ ID_MODEL_FROM_DATABASE=CS8813 Mass Storage Device
+
+usb:v04CFp8818*
+ ID_MODEL_FROM_DATABASE=USB2.0 to ATAPI Bridge Controller
+
+usb:v04CFp8819*
+ ID_MODEL_FROM_DATABASE=USB 2.0 SD/MMC Reader
+
+usb:v04CFp9920*
+ ID_MODEL_FROM_DATABASE=CS8819A2-114 Mass Storage Device
+
+usb:v04D0*
+ ID_VENDOR_FROM_DATABASE=Digi International
+
+usb:v04D1*
+ ID_VENDOR_FROM_DATABASE=ITT Canon
+
+usb:v04D2*
+ ID_VENDOR_FROM_DATABASE=Altec Lansing Technologies
+
+usb:v04D2p0070*
+ ID_MODEL_FROM_DATABASE=ADA70 Speakers
+
+usb:v04D2p0305*
+ ID_MODEL_FROM_DATABASE=Non-Compliant Audio Device
+
+usb:v04D2p0311*
+ ID_MODEL_FROM_DATABASE=ADA-310 Speakers
+
+usb:v04D2p2060*
+ ID_MODEL_FROM_DATABASE=Claritel-i750 - vp
+
+usb:v04D2pFF05*
+ ID_MODEL_FROM_DATABASE=ADA-305 Speakers
+
+usb:v04D2pFF47*
+ ID_MODEL_FROM_DATABASE=Lansing HID Audio Controls
+
+usb:v04D2pFF49*
+ ID_MODEL_FROM_DATABASE=Lansing HID Audio Controls
+
+usb:v04D3*
+ ID_VENDOR_FROM_DATABASE=VidUS, Inc.
+
+usb:v04D4*
+ ID_VENDOR_FROM_DATABASE=LSI Logic, Inc.
+
+usb:v04D5*
+ ID_VENDOR_FROM_DATABASE=Forte Technologies, Inc.
+
+usb:v04D6*
+ ID_VENDOR_FROM_DATABASE=Mentor Graphics
+
+usb:v04D7*
+ ID_VENDOR_FROM_DATABASE=Oki Semiconductor
+
+usb:v04D7p1BE4*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v04D8*
+ ID_VENDOR_FROM_DATABASE=Microchip Technology, Inc.
+
+usb:v04D8p0002*
+ ID_MODEL_FROM_DATABASE=PicoLCD 20x2
+
+usb:v04D8p0003*
+ ID_MODEL_FROM_DATABASE=PICkit 2 Microcontroller Programmer
+
+usb:v04D8p000A*
+ ID_MODEL_FROM_DATABASE=CDC RS-232 Emulation Demo
+
+usb:v04D8p000B*
+ ID_MODEL_FROM_DATABASE=PIC18F2550 (32K Flashable 10 Channel, 10 Bit A/D USB Microcontroller)
+
+usb:v04D8p0032*
+ ID_MODEL_FROM_DATABASE=PICkit1
+
+usb:v04D8p0033*
+ ID_MODEL_FROM_DATABASE=PICkit2
+
+usb:v04D8p0036*
+ ID_MODEL_FROM_DATABASE=PICkit Serial Analyzer
+
+usb:v04D8p00E0*
+ ID_MODEL_FROM_DATABASE=PIC32 Starter Board
+
+usb:v04D8p0A04*
+ ID_MODEL_FROM_DATABASE=AGP LIN Serial Analyzer
+
+usb:v04D8p8000*
+ ID_MODEL_FROM_DATABASE=In-Circuit Debugger
+
+usb:v04D8p8001*
+ ID_MODEL_FROM_DATABASE=ICD2 in-circuit debugger
+
+usb:v04D8p8101*
+ ID_MODEL_FROM_DATABASE=PIC24F Starter Kit
+
+usb:v04D8p8107*
+ ID_MODEL_FROM_DATABASE=Microstick II
+
+usb:v04D8p900A*
+ ID_MODEL_FROM_DATABASE=PICkit3
+
+usb:v04D8pC001*
+ ID_MODEL_FROM_DATABASE=PicoLCD 20x4
+
+usb:v04D8pF8DA*
+ ID_MODEL_FROM_DATABASE=Hughski Ltd. ColorHug
+
+usb:v04D8pFAFF*
+ ID_MODEL_FROM_DATABASE=Dangerous Prototypes BusPirate v4 Bootloader mode
+
+usb:v04D8pFB00*
+ ID_MODEL_FROM_DATABASE=Dangerous Prototypes BusPirate v4
+
+usb:v04D8pFBB2*
+ ID_MODEL_FROM_DATABASE=GCUSB-nStep stepper motor controller
+
+usb:v04D8pFBBA*
+ ID_MODEL_FROM_DATABASE=DiscFerret Magnetic Disc Analyser (bootloader mode)
+
+usb:v04D8pFBBB*
+ ID_MODEL_FROM_DATABASE=DiscFerret Magnetic Disc Analyser (active mode)
+
+usb:v04D8pFC92*
+ ID_MODEL_FROM_DATABASE=Open Bench Logic Sniffer
+
+usb:v04D8pFFEF*
+ ID_MODEL_FROM_DATABASE=PICoPLC [APStech]
+
+usb:v04D9*
+ ID_VENDOR_FROM_DATABASE=Holtek Semiconductor, Inc.
+
+usb:v04D9p0022*
+ ID_MODEL_FROM_DATABASE=Portable Keyboard
+
+usb:v04D9p048E*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v04D9p0499*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v04D9p1203*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v04D9p1400*
+ ID_MODEL_FROM_DATABASE=PS/2 keyboard + mouse controller
+
+usb:v04D9p1503*
+ ID_MODEL_FROM_DATABASE=Shortboard Lefty
+
+usb:v04D9p1603*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v04D9p2013*
+ ID_MODEL_FROM_DATABASE=Keyboard [Das Keyboard]
+
+usb:v04D9p2221*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v04D9p2323*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v04D9p2832*
+ ID_MODEL_FROM_DATABASE=1channel Telephone line recorder
+
+usb:v04D9pA055*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v04DA*
+ ID_VENDOR_FROM_DATABASE=Panasonic (Matsushita)
+
+usb:v04DAp0901*
+ ID_MODEL_FROM_DATABASE=LS-120 Camera
+
+usb:v04DAp0912*
+ ID_MODEL_FROM_DATABASE=SDR-S10
+
+usb:v04DAp0B01*
+ ID_MODEL_FROM_DATABASE=CD-R/RW Drive
+
+usb:v04DAp0B03*
+ ID_MODEL_FROM_DATABASE=SuperDisk 240MB
+
+usb:v04DAp0D01*
+ ID_MODEL_FROM_DATABASE=CD-R Drive KXL-840AN
+
+usb:v04DAp0D09*
+ ID_MODEL_FROM_DATABASE=CD-R Drive KXL-RW32AN
+
+usb:v04DAp0D0A*
+ ID_MODEL_FROM_DATABASE=CD-R Drive KXL-CB20AN
+
+usb:v04DAp0D0D*
+ ID_MODEL_FROM_DATABASE=CDRCB03
+
+usb:v04DAp0D0E*
+ ID_MODEL_FROM_DATABASE=DVD-ROM & CD-R/RW
+
+usb:v04DAp0F40*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04DAp104D*
+ ID_MODEL_FROM_DATABASE=Elite Panaboard UB-T880 (HID)
+
+usb:v04DAp104E*
+ ID_MODEL_FROM_DATABASE=Elite Panaboard Pen Adaptor (HID)
+
+usb:v04DAp1500*
+ ID_MODEL_FROM_DATABASE=MFSUSB Driver
+
+usb:v04DAp1800*
+ ID_MODEL_FROM_DATABASE=DY-WL10 802.11abgn Adapter [Broadcom BCM4323]
+
+usb:v04DAp1B00*
+ ID_MODEL_FROM_DATABASE=MultiMediaCard
+
+usb:v04DAp2121*
+ ID_MODEL_FROM_DATABASE=EB-VS6
+
+usb:v04DAp2316*
+ ID_MODEL_FROM_DATABASE=DVC Mass Storage Device
+
+usb:v04DAp2317*
+ ID_MODEL_FROM_DATABASE=DVC USB-SERIAL Driver for WinXP
+
+usb:v04DAp2318*
+ ID_MODEL_FROM_DATABASE=NV-GS11/230/250 (webcam mode)
+
+usb:v04DAp2319*
+ ID_MODEL_FROM_DATABASE=NV-GS15 (webcam mode)
+
+usb:v04DAp231A*
+ ID_MODEL_FROM_DATABASE=NV-GS11/230/250 (DV mode)
+
+usb:v04DAp231D*
+ ID_MODEL_FROM_DATABASE=DVC Web Camera Device
+
+usb:v04DAp231E*
+ ID_MODEL_FROM_DATABASE=DVC DV Stream Device
+
+usb:v04DAp2372*
+ ID_MODEL_FROM_DATABASE=Lumix Camera (Storage mode)
+
+usb:v04DAp2374*
+ ID_MODEL_FROM_DATABASE=Lumix Camera (PTP mode)
+
+usb:v04DAp2451*
+ ID_MODEL_FROM_DATABASE=HDC-SD9
+
+usb:v04DAp2497*
+ ID_MODEL_FROM_DATABASE=HDC-TM700
+
+usb:v04DAp250C*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
+
+usb:v04DAp250D*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem
+
+usb:v04DAp3904*
+ ID_MODEL_FROM_DATABASE=N5HBZ0000055 802.11abgn Wireless Adapter [Atheros AR7010+AR9280]
+
+usb:v04DAp3C04*
+ ID_MODEL_FROM_DATABASE=JT-P100MR-20 [ePassport Reader]
+
+usb:v04DB*
+ ID_VENDOR_FROM_DATABASE=Hypertec Pty, Ltd
+
+usb:v04DC*
+ ID_VENDOR_FROM_DATABASE=Huan Hsin Holdings, Ltd
+
+usb:v04DD*
+ ID_VENDOR_FROM_DATABASE=Sharp Corp.
+
+usb:v04DDp13A6*
+ ID_MODEL_FROM_DATABASE=MFC2000
+
+usb:v04DDp6006*
+ ID_MODEL_FROM_DATABASE=AL-1216
+
+usb:v04DDp6007*
+ ID_MODEL_FROM_DATABASE=AL-1045
+
+usb:v04DDp6008*
+ ID_MODEL_FROM_DATABASE=AL-1255
+
+usb:v04DDp6009*
+ ID_MODEL_FROM_DATABASE=AL-1530CS
+
+usb:v04DDp600A*
+ ID_MODEL_FROM_DATABASE=AL-1540CS
+
+usb:v04DDp600B*
+ ID_MODEL_FROM_DATABASE=AL-1456
+
+usb:v04DDp600C*
+ ID_MODEL_FROM_DATABASE=AL-1555
+
+usb:v04DDp600D*
+ ID_MODEL_FROM_DATABASE=AL-1225
+
+usb:v04DDp600E*
+ ID_MODEL_FROM_DATABASE=AL-1551CS
+
+usb:v04DDp600F*
+ ID_MODEL_FROM_DATABASE=AR-122E
+
+usb:v04DDp6010*
+ ID_MODEL_FROM_DATABASE=AR-152E
+
+usb:v04DDp6011*
+ ID_MODEL_FROM_DATABASE=AR-157E
+
+usb:v04DDp6012*
+ ID_MODEL_FROM_DATABASE=SN-1045
+
+usb:v04DDp6013*
+ ID_MODEL_FROM_DATABASE=SN-1255
+
+usb:v04DDp6014*
+ ID_MODEL_FROM_DATABASE=SN-1456
+
+usb:v04DDp6015*
+ ID_MODEL_FROM_DATABASE=SN-1555
+
+usb:v04DDp6016*
+ ID_MODEL_FROM_DATABASE=AR-153E
+
+usb:v04DDp6017*
+ ID_MODEL_FROM_DATABASE=AR-122E N
+
+usb:v04DDp6018*
+ ID_MODEL_FROM_DATABASE=AR-153E N
+
+usb:v04DDp6019*
+ ID_MODEL_FROM_DATABASE=AR-152E N
+
+usb:v04DDp601A*
+ ID_MODEL_FROM_DATABASE=AR-157E N
+
+usb:v04DDp601B*
+ ID_MODEL_FROM_DATABASE=AL-1217
+
+usb:v04DDp601C*
+ ID_MODEL_FROM_DATABASE=AL-1226
+
+usb:v04DDp601D*
+ ID_MODEL_FROM_DATABASE=AR-123E
+
+usb:v04DDp6021*
+ ID_MODEL_FROM_DATABASE=IS01
+
+usb:v04DDp7002*
+ ID_MODEL_FROM_DATABASE=DVC Ver.1.0
+
+usb:v04DDp7004*
+ ID_MODEL_FROM_DATABASE=VE-CG40U Digital Still Camera
+
+usb:v04DDp7005*
+ ID_MODEL_FROM_DATABASE=VE-CG30 Digital Still Camera
+
+usb:v04DDp7007*
+ ID_MODEL_FROM_DATABASE=VL-Z7S Digital Camcorder
+
+usb:v04DDp8004*
+ ID_MODEL_FROM_DATABASE=Zaurus SL-5000D/SL-5500 PDA
+
+usb:v04DDp8005*
+ ID_MODEL_FROM_DATABASE=Zaurus A-300
+
+usb:v04DDp8006*
+ ID_MODEL_FROM_DATABASE=Zaurus SL-B500/SL-5600 PDA
+
+usb:v04DDp8007*
+ ID_MODEL_FROM_DATABASE=Zaurus C-700 PDA
+
+usb:v04DDp9009*
+ ID_MODEL_FROM_DATABASE=AR-M160
+
+usb:v04DDp9014*
+ ID_MODEL_FROM_DATABASE=IM-DR80 Portable NetMD Player
+
+usb:v04DDp9031*
+ ID_MODEL_FROM_DATABASE=Zaurus C-750/C-760/C-860/SL-C3000 PDA
+
+usb:v04DDp9032*
+ ID_MODEL_FROM_DATABASE=Zaurus SL-6000
+
+usb:v04DDp903A*
+ ID_MODEL_FROM_DATABASE=GSM GPRS
+
+usb:v04DDp9050*
+ ID_MODEL_FROM_DATABASE=Zaurus C-860 PDA
+
+usb:v04DDp9056*
+ ID_MODEL_FROM_DATABASE=Viewcam Z
+
+usb:v04DDp9073*
+ ID_MODEL_FROM_DATABASE=AM-900
+
+usb:v04DDp9074*
+ ID_MODEL_FROM_DATABASE=GSM GPRS
+
+usb:v04DDp90A9*
+ ID_MODEL_FROM_DATABASE=Sharp Composite
+
+usb:v04DDp90D0*
+ ID_MODEL_FROM_DATABASE=USB-to-Serial Comm. Port
+
+usb:v04DDp90F2*
+ ID_MODEL_FROM_DATABASE=Sharp 3G GSM USB Control
+
+usb:v04DDp9120*
+ ID_MODEL_FROM_DATABASE=WS004SH
+
+usb:v04DDp9122*
+ ID_MODEL_FROM_DATABASE=WS007SH
+
+usb:v04DDp9123*
+ ID_MODEL_FROM_DATABASE=W-ZERO3 ES Smartphone
+
+usb:v04DDp91A3*
+ ID_MODEL_FROM_DATABASE=922SH Internet Machine
+
+usb:v04DDp939A*
+ ID_MODEL_FROM_DATABASE=IS03
+
+usb:v04DE*
+ ID_VENDOR_FROM_DATABASE=MindShare, Inc.
+
+usb:v04DF*
+ ID_VENDOR_FROM_DATABASE=Interlink Electronics
+
+usb:v04E1*
+ ID_VENDOR_FROM_DATABASE=Iiyama North America, Inc.
+
+usb:v04E1p0201*
+ ID_MODEL_FROM_DATABASE=Monitor Hub
+
+usb:v04E2*
+ ID_VENDOR_FROM_DATABASE=Exar Corp.
+
+usb:v04E3*
+ ID_VENDOR_FROM_DATABASE=Zilog, Inc.
+
+usb:v04E4*
+ ID_VENDOR_FROM_DATABASE=ACC Microelectronics
+
+usb:v04E5*
+ ID_VENDOR_FROM_DATABASE=Promise Technology
+
+usb:v04E6*
+ ID_VENDOR_FROM_DATABASE=SCM Microsystems, Inc.
+
+usb:v04E6p0001*
+ ID_MODEL_FROM_DATABASE=E-USB ATA Bridge
+
+usb:v04E6p0002*
+ ID_MODEL_FROM_DATABASE=eUSCSI SCSI Bridge
+
+usb:v04E6p0003*
+ ID_MODEL_FROM_DATABASE=eUSB SmartMedia Card Reader
+
+usb:v04E6p0005*
+ ID_MODEL_FROM_DATABASE=eUSB SmartMedia/CompactFlash Card Reader
+
+usb:v04E6p0006*
+ ID_MODEL_FROM_DATABASE=eUSB SmartMedia Card Reader
+
+usb:v04E6p0007*
+ ID_MODEL_FROM_DATABASE=Hifd
+
+usb:v04E6p0009*
+ ID_MODEL_FROM_DATABASE=eUSB ATA/ATAPI Adapter
+
+usb:v04E6p000A*
+ ID_MODEL_FROM_DATABASE=eUSB CompactFlash Adapter
+
+usb:v04E6p000B*
+ ID_MODEL_FROM_DATABASE=eUSCSI Bridge
+
+usb:v04E6p000C*
+ ID_MODEL_FROM_DATABASE=eUSCSI Bridge
+
+usb:v04E6p000D*
+ ID_MODEL_FROM_DATABASE=Dazzle MS
+
+usb:v04E6p0012*
+ ID_MODEL_FROM_DATABASE=Dazzle SD/MMC
+
+usb:v04E6p0101*
+ ID_MODEL_FROM_DATABASE=eUSB ATA Bridge (Sony Spressa USB CDRW)
+
+usb:v04E6p0311*
+ ID_MODEL_FROM_DATABASE=Dazzle DM-CF
+
+usb:v04E6p0312*
+ ID_MODEL_FROM_DATABASE=Dazzle DM-SD/MMC
+
+usb:v04E6p0313*
+ ID_MODEL_FROM_DATABASE=Dazzle SM
+
+usb:v04E6p0314*
+ ID_MODEL_FROM_DATABASE=Dazzle MS
+
+usb:v04E6p0322*
+ ID_MODEL_FROM_DATABASE=e-Film Reader-5
+
+usb:v04E6p0325*
+ ID_MODEL_FROM_DATABASE=eUSB ORCA Quad Reader
+
+usb:v04E6p0327*
+ ID_MODEL_FROM_DATABASE=Digital Media Reader
+
+usb:v04E6p03FE*
+ ID_MODEL_FROM_DATABASE=DMHS2 DFU Adapter
+
+usb:v04E6p0406*
+ ID_MODEL_FROM_DATABASE=eUSB SmartDM Reader
+
+usb:v04E6p04E6*
+ ID_MODEL_FROM_DATABASE=eUSB DFU Adapter
+
+usb:v04E6p04E7*
+ ID_MODEL_FROM_DATABASE=STCII DFU Adapter
+
+usb:v04E6p04E8*
+ ID_MODEL_FROM_DATABASE=eUSBDM DFU Adapter
+
+usb:v04E6p04E9*
+ ID_MODEL_FROM_DATABASE=DM-E DFU Adapter
+
+usb:v04E6p0500*
+ ID_MODEL_FROM_DATABASE=Veridicom 5thSense Fingerprint Sensor and eUSB SmartCard
+
+usb:v04E6p0701*
+ ID_MODEL_FROM_DATABASE=DCS200 Loader Device
+
+usb:v04E6p0702*
+ ID_MODEL_FROM_DATABASE=DVD Creation Station 200
+
+usb:v04E6p0703*
+ ID_MODEL_FROM_DATABASE=DVC100 Loader Device
+
+usb:v04E6p0704*
+ ID_MODEL_FROM_DATABASE=Digital Video Creator 100
+
+usb:v04E6p1001*
+ ID_MODEL_FROM_DATABASE=SCR300 Smart Card Reader
+
+usb:v04E6p1010*
+ ID_MODEL_FROM_DATABASE=USBAT-2 CompactFlash Card Reader
+
+usb:v04E6p1014*
+ ID_MODEL_FROM_DATABASE=e-Film Reader-3
+
+usb:v04E6p1020*
+ ID_MODEL_FROM_DATABASE=USBAT ATA/ATAPI Adapter
+
+usb:v04E6p2007*
+ ID_MODEL_FROM_DATABASE=RSA SecurID ComboReader
+
+usb:v04E6p2009*
+ ID_MODEL_FROM_DATABASE=Citibank Smart Card Reader
+
+usb:v04E6p200A*
+ ID_MODEL_FROM_DATABASE=Reflex v.2 Smart Card Reader
+
+usb:v04E6p200D*
+ ID_MODEL_FROM_DATABASE=STR391 Reader
+
+usb:v04E6p5111*
+ ID_MODEL_FROM_DATABASE=SCR331-DI SmartCard Reader
+
+usb:v04E6p5113*
+ ID_MODEL_FROM_DATABASE=SCR333 SmartCard Reader
+
+usb:v04E6p5114*
+ ID_MODEL_FROM_DATABASE=SCR331-DI SmartCard Reader
+
+usb:v04E6p5115*
+ ID_MODEL_FROM_DATABASE=SCR335 SmartCard Reader
+
+usb:v04E6p5116*
+ ID_MODEL_FROM_DATABASE=SCR331-LC1 / SCR3310 SmartCard Reader
+
+usb:v04E6p5117*
+ ID_MODEL_FROM_DATABASE=SCR3320 - Smart Card Reader
+
+usb:v04E6p5118*
+ ID_MODEL_FROM_DATABASE=Expresscard SIM Card Reader
+
+usb:v04E6p5119*
+ ID_MODEL_FROM_DATABASE=SCR3340 - ExpressCard54 Smart Card Reader
+
+usb:v04E6p511B*
+ ID_MODEL_FROM_DATABASE=SmartCard Reader
+
+usb:v04E6p511D*
+ ID_MODEL_FROM_DATABASE=SCR3311 Smart Card Reader
+
+usb:v04E6p5120*
+ ID_MODEL_FROM_DATABASE=SCR331-DI SmartCard Reader
+
+usb:v04E6p5121*
+ ID_MODEL_FROM_DATABASE=SDI010 Smart Card Reader
+
+usb:v04E6p5151*
+ ID_MODEL_FROM_DATABASE=SCR338 Keyboard Smart Card Reader
+
+usb:v04E6p5292*
+ ID_MODEL_FROM_DATABASE=SCL011 RFID reader
+
+usb:v04E6p5410*
+ ID_MODEL_FROM_DATABASE=SCR35xx Smart Card Reader
+
+usb:v04E6pE000*
+ ID_MODEL_FROM_DATABASE=SCRx31 Reader
+
+usb:v04E6pE001*
+ ID_MODEL_FROM_DATABASE=SCR331 SmartCard Reader
+
+usb:v04E6pE003*
+ ID_MODEL_FROM_DATABASE=SPR532 PinPad SmartCard Reader
+
+usb:v04E7*
+ ID_VENDOR_FROM_DATABASE=Elo TouchSystems
+
+usb:v04E7p0001*
+ ID_MODEL_FROM_DATABASE=TouchScreen
+
+usb:v04E7p0002*
+ ID_MODEL_FROM_DATABASE=Touchmonitor Interface 2600 Rev 2
+
+usb:v04E7p0004*
+ ID_MODEL_FROM_DATABASE=4000U CarrollTouch® Touchmonitor Interface
+
+usb:v04E7p0007*
+ ID_MODEL_FROM_DATABASE=2500U IntelliTouch® Touchmonitor Interface
+
+usb:v04E7p0008*
+ ID_MODEL_FROM_DATABASE=3000U AccuTouch® Touchmonitor Interface
+
+usb:v04E7p0009*
+ ID_MODEL_FROM_DATABASE=4000U CarrollTouch® Touchmonitor Interface
+
+usb:v04E7p0020*
+ ID_MODEL_FROM_DATABASE=Touchscreen Interface (2700)
+
+usb:v04E7p0021*
+ ID_MODEL_FROM_DATABASE=Touchmonitor Interface
+
+usb:v04E7p0030*
+ ID_MODEL_FROM_DATABASE=4500U CarrollTouch® Touchmonitor Interface
+
+usb:v04E7p0032*
+ ID_MODEL_FROM_DATABASE=Touchmonitor Interface
+
+usb:v04E7p0033*
+ ID_MODEL_FROM_DATABASE=Touchmonitor Interface
+
+usb:v04E7p0041*
+ ID_MODEL_FROM_DATABASE=5010 Surface Capacitive Touchmonitor Interface
+
+usb:v04E7p0042*
+ ID_MODEL_FROM_DATABASE=Touchmonitor Interface
+
+usb:v04E7p0050*
+ ID_MODEL_FROM_DATABASE=2216 AccuTouch® Touchmonitor Interface
+
+usb:v04E7p0071*
+ ID_MODEL_FROM_DATABASE=Touchmonitor Interface
+
+usb:v04E7p0072*
+ ID_MODEL_FROM_DATABASE=Touchmonitor Interface
+
+usb:v04E7p0081*
+ ID_MODEL_FROM_DATABASE=Touchmonitor Interface
+
+usb:v04E7p0082*
+ ID_MODEL_FROM_DATABASE=Touchmonitor Interface
+
+usb:v04E7p00FF*
+ ID_MODEL_FROM_DATABASE=Touchmonitor Interface
+
+usb:v04E8*
+ ID_VENDOR_FROM_DATABASE=Samsung Electronics Co., Ltd
+
+usb:v04E8p0100*
+ ID_MODEL_FROM_DATABASE=Kingston Flash Drive (128MB)
+
+usb:v04E8p0110*
+ ID_MODEL_FROM_DATABASE=Connect3D Flash Drive
+
+usb:v04E8p0111*
+ ID_MODEL_FROM_DATABASE=Connect3D Flash Drive
+
+usb:v04E8p0300*
+ ID_MODEL_FROM_DATABASE=E2530 Phone (Mass storage mode)
+
+usb:v04E8p1003*
+ ID_MODEL_FROM_DATABASE=MP3 Player and Recorder
+
+usb:v04E8p1006*
+ ID_MODEL_FROM_DATABASE=SDC-200Z
+
+usb:v04E8p130C*
+ ID_MODEL_FROM_DATABASE=NX100
+
+usb:v04E8p1F06*
+ ID_MODEL_FROM_DATABASE=HX-MU064DA portable harddisk
+
+usb:v04E8p2018*
+ ID_MODEL_FROM_DATABASE=WIS09ABGN LinkStick Wireless LAN Adapter
+
+usb:v04E8p2035*
+ ID_MODEL_FROM_DATABASE=Digital Photo Frame Mass Storage
+
+usb:v04E8p2036*
+ ID_MODEL_FROM_DATABASE=Digital Photo Frame Mini Monitor
+
+usb:v04E8p3004*
+ ID_MODEL_FROM_DATABASE=ML-4600
+
+usb:v04E8p3005*
+ ID_MODEL_FROM_DATABASE=Docuprint P1210
+
+usb:v04E8p3008*
+ ID_MODEL_FROM_DATABASE=ML-6060 laser printer
+
+usb:v04E8p300C*
+ ID_MODEL_FROM_DATABASE=ML-1210 Printer
+
+usb:v04E8p300E*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v04E8p3104*
+ ID_MODEL_FROM_DATABASE=ML-3550N
+
+usb:v04E8p3210*
+ ID_MODEL_FROM_DATABASE=ML-5200A Laser Printer
+
+usb:v04E8p3226*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v04E8p3228*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v04E8p322A*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v04E8p322C*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v04E8p3230*
+ ID_MODEL_FROM_DATABASE=ML-1440
+
+usb:v04E8p3232*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v04E8p3236*
+ ID_MODEL_FROM_DATABASE=ML-1450
+
+usb:v04E8p3238*
+ ID_MODEL_FROM_DATABASE=ML-1430
+
+usb:v04E8p323A*
+ ID_MODEL_FROM_DATABASE=ML-1710 Printer
+
+usb:v04E8p323B*
+ ID_MODEL_FROM_DATABASE=Phaser 3130
+
+usb:v04E8p323C*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v04E8p323D*
+ ID_MODEL_FROM_DATABASE=Phaser 3120
+
+usb:v04E8p323E*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v04E8p3240*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v04E8p3242*
+ ID_MODEL_FROM_DATABASE=ML-1510 Laser Printer
+
+usb:v04E8p3248*
+ ID_MODEL_FROM_DATABASE=Color Laser Printer
+
+usb:v04E8p324A*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v04E8p324C*
+ ID_MODEL_FROM_DATABASE=ML-1740 Printer
+
+usb:v04E8p324D*
+ ID_MODEL_FROM_DATABASE=Phaser 3121
+
+usb:v04E8p3256*
+ ID_MODEL_FROM_DATABASE=ML-1520 Laser Printer
+
+usb:v04E8p325B*
+ ID_MODEL_FROM_DATABASE=Xerox Phaser 3117 Laser Printer
+
+usb:v04E8p325F*
+ ID_MODEL_FROM_DATABASE=Phaser 3425 Laser Printer
+
+usb:v04E8p3260*
+ ID_MODEL_FROM_DATABASE=CLP-510 Color Laser Printer
+
+usb:v04E8p3268*
+ ID_MODEL_FROM_DATABASE=ML-1610 Mono Laser Printer
+
+usb:v04E8p326C*
+ ID_MODEL_FROM_DATABASE=ML-2010P Mono Laser Printer
+
+usb:v04E8p3276*
+ ID_MODEL_FROM_DATABASE=ML-3050/ML-3051 Laser Printer
+
+usb:v04E8p328E*
+ ID_MODEL_FROM_DATABASE=CLP-310 Color Laser Printer
+
+usb:v04E8p3292*
+ ID_MODEL_FROM_DATABASE=ML-1640 Series Laser Printer
+
+usb:v04E8p3296*
+ ID_MODEL_FROM_DATABASE=ML-2580N Mono Laser Printer
+
+usb:v04E8p3297*
+ ID_MODEL_FROM_DATABASE=ML-191x/ML-252x Laser Printer
+
+usb:v04E8p329F*
+ ID_MODEL_FROM_DATABASE=CLP-325 Color Laser Printer
+
+usb:v04E8p330C*
+ ID_MODEL_FROM_DATABASE=ML-1865
+
+usb:v04E8p3310*
+ ID_MODEL_FROM_DATABASE=ML-331x Series Laser Printer
+
+usb:v04E8p3315*
+ ID_MODEL_FROM_DATABASE=ML-2540 Series Laser Printer
+
+usb:v04E8p3409*
+ ID_MODEL_FROM_DATABASE=SCX-4216F Scanner
+
+usb:v04E8p340C*
+ ID_MODEL_FROM_DATABASE=SCX-5x15 series
+
+usb:v04E8p340D*
+ ID_MODEL_FROM_DATABASE=SCX-6x20 series
+
+usb:v04E8p340E*
+ ID_MODEL_FROM_DATABASE=MFP 560 series
+
+usb:v04E8p340F*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v04E8p3412*
+ ID_MODEL_FROM_DATABASE=SCX-4x20 series
+
+usb:v04E8p3413*
+ ID_MODEL_FROM_DATABASE=SCX-4100 Scanner
+
+usb:v04E8p3415*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v04E8p3419*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v04E8p341A*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v04E8p341B*
+ ID_MODEL_FROM_DATABASE=SCX-4200 series
+
+usb:v04E8p341C*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v04E8p341D*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v04E8p341F*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v04E8p3420*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v04E8p3426*
+ ID_MODEL_FROM_DATABASE=SCX-4500 Laser Printer
+
+usb:v04E8p344F*
+ ID_MODEL_FROM_DATABASE=SCX-3400 Series
+
+usb:v04E8p3605*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v04E8p3606*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v04E8p3609*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v04E8p3902*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v04E8p3903*
+ ID_MODEL_FROM_DATABASE=Xerox WorkCentre XK50cx
+
+usb:v04E8p390F*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v04E8p3911*
+ ID_MODEL_FROM_DATABASE=SCX-1020 series
+
+usb:v04E8p4005*
+ ID_MODEL_FROM_DATABASE=GT-S8000 Jet (msc)
+
+usb:v04E8p4F1F*
+ ID_MODEL_FROM_DATABASE=GT-S8000 Jet (mtp)
+
+usb:v04E8p5000*
+ ID_MODEL_FROM_DATABASE=YP-MF series
+
+usb:v04E8p5001*
+ ID_MODEL_FROM_DATABASE=YP-100
+
+usb:v04E8p5002*
+ ID_MODEL_FROM_DATABASE=YP-30
+
+usb:v04E8p5003*
+ ID_MODEL_FROM_DATABASE=YP-700
+
+usb:v04E8p5004*
+ ID_MODEL_FROM_DATABASE=YP-30
+
+usb:v04E8p5005*
+ ID_MODEL_FROM_DATABASE=YP-300
+
+usb:v04E8p5006*
+ ID_MODEL_FROM_DATABASE=YP-750
+
+usb:v04E8p500D*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v04E8p5010*
+ ID_MODEL_FROM_DATABASE=Yepp YP-35
+
+usb:v04E8p5011*
+ ID_MODEL_FROM_DATABASE=YP-780
+
+usb:v04E8p5013*
+ ID_MODEL_FROM_DATABASE=YP-60
+
+usb:v04E8p5015*
+ ID_MODEL_FROM_DATABASE=yepp upgrade
+
+usb:v04E8p501B*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v04E8p5021*
+ ID_MODEL_FROM_DATABASE=Yepp YP-ST5
+
+usb:v04E8p5026*
+ ID_MODEL_FROM_DATABASE=YP-MT6V
+
+usb:v04E8p5027*
+ ID_MODEL_FROM_DATABASE=YP-T7
+
+usb:v04E8p502B*
+ ID_MODEL_FROM_DATABASE=YP-F1
+
+usb:v04E8p5032*
+ ID_MODEL_FROM_DATABASE=YP-J70
+
+usb:v04E8p503B*
+ ID_MODEL_FROM_DATABASE=YP-U1 MP3 Player
+
+usb:v04E8p503D*
+ ID_MODEL_FROM_DATABASE=YP-T7F
+
+usb:v04E8p5041*
+ ID_MODEL_FROM_DATABASE=YP-Z5
+
+usb:v04E8p5050*
+ ID_MODEL_FROM_DATABASE=YP-U2 MP3 Player
+
+usb:v04E8p5051*
+ ID_MODEL_FROM_DATABASE=YP-F2R
+
+usb:v04E8p5055*
+ ID_MODEL_FROM_DATABASE=YP-T9
+
+usb:v04E8p507D*
+ ID_MODEL_FROM_DATABASE=YP-U3 (mtp)
+
+usb:v04E8p507F*
+ ID_MODEL_FROM_DATABASE=YP-T9J
+
+usb:v04E8p5080*
+ ID_MODEL_FROM_DATABASE=Yepp YP-K3 (msc)
+
+usb:v04E8p5081*
+ ID_MODEL_FROM_DATABASE=Yepp YP-K3 (mtp)
+
+usb:v04E8p5082*
+ ID_MODEL_FROM_DATABASE=YP-P2 (msc)
+
+usb:v04E8p5083*
+ ID_MODEL_FROM_DATABASE=YP-P2 (mtp)
+
+usb:v04E8p508A*
+ ID_MODEL_FROM_DATABASE=YP-T10
+
+usb:v04E8p508B*
+ ID_MODEL_FROM_DATABASE=YP-S5 MP3 Player
+
+usb:v04E8p508C*
+ ID_MODEL_FROM_DATABASE=YP-S5
+
+usb:v04E8p5090*
+ ID_MODEL_FROM_DATABASE=YP-S3 (msc)
+
+usb:v04E8p5091*
+ ID_MODEL_FROM_DATABASE=YP-S3 (mtp)
+
+usb:v04E8p5092*
+ ID_MODEL_FROM_DATABASE=YP-U4 (msc)
+
+usb:v04E8p5093*
+ ID_MODEL_FROM_DATABASE=YP-U4 (mtp)
+
+usb:v04E8p5095*
+ ID_MODEL_FROM_DATABASE=YP-S2
+
+usb:v04E8p510F*
+ ID_MODEL_FROM_DATABASE=YP-R1
+
+usb:v04E8p5119*
+ ID_MODEL_FROM_DATABASE=Yepp YP-P3
+
+usb:v04E8p511C*
+ ID_MODEL_FROM_DATABASE=YP-Q2
+
+usb:v04E8p5121*
+ ID_MODEL_FROM_DATABASE=YP-U5
+
+usb:v04E8p5123*
+ ID_MODEL_FROM_DATABASE=Yepp YP-M1
+
+usb:v04E8p5A00*
+ ID_MODEL_FROM_DATABASE=YP-NEU
+
+usb:v04E8p5A01*
+ ID_MODEL_FROM_DATABASE=YP-NDU
+
+usb:v04E8p5A03*
+ ID_MODEL_FROM_DATABASE=Yepp MP3 Player
+
+usb:v04E8p5A04*
+ ID_MODEL_FROM_DATABASE=YP-800
+
+usb:v04E8p5A08*
+ ID_MODEL_FROM_DATABASE=YP-90
+
+usb:v04E8p5A0F*
+ ID_MODEL_FROM_DATABASE=Meizu M6 MiniPlayer
+
+usb:v04E8p5B01*
+ ID_MODEL_FROM_DATABASE=Memory Stick Reader/Writer
+
+usb:v04E8p5B02*
+ ID_MODEL_FROM_DATABASE=Memory Stick Reader/Writer
+
+usb:v04E8p5B03*
+ ID_MODEL_FROM_DATABASE=Memory Stick Reader/Writer
+
+usb:v04E8p5B04*
+ ID_MODEL_FROM_DATABASE=Memory Stick Reader/Writer
+
+usb:v04E8p5B05*
+ ID_MODEL_FROM_DATABASE=Memory Stick Reader/Writer
+
+usb:v04E8p5B11*
+ ID_MODEL_FROM_DATABASE=SEW-2001u Card
+
+usb:v04E8p5F00*
+ ID_MODEL_FROM_DATABASE=NEXiO Sync
+
+usb:v04E8p5F01*
+ ID_MODEL_FROM_DATABASE=NEXiO Sync
+
+usb:v04E8p5F02*
+ ID_MODEL_FROM_DATABASE=NEXiO Sync
+
+usb:v04E8p5F03*
+ ID_MODEL_FROM_DATABASE=NEXiO Sync
+
+usb:v04E8p5F04*
+ ID_MODEL_FROM_DATABASE=NEXiO Sync
+
+usb:v04E8p5F05*
+ ID_MODEL_FROM_DATABASE=STORY Station 1TB
+
+usb:v04E8p6032*
+ ID_MODEL_FROM_DATABASE=G2 Portable hard drive
+
+usb:v04E8p60B3*
+ ID_MODEL_FROM_DATABASE=M2 Portable Hard Drive
+
+usb:v04E8p60C4*
+ ID_MODEL_FROM_DATABASE=M2 Portable Hard Drive USB 3.0
+
+usb:v04E8p6601*
+ ID_MODEL_FROM_DATABASE=Mobile Phone
+
+usb:v04E8p6602*
+ ID_MODEL_FROM_DATABASE=Galaxy
+
+usb:v04E8p6603*
+ ID_MODEL_FROM_DATABASE=Galaxy
+
+usb:v04E8p6611*
+ ID_MODEL_FROM_DATABASE=MITs Sync
+
+usb:v04E8p6613*
+ ID_MODEL_FROM_DATABASE=MITs Sync
+
+usb:v04E8p6615*
+ ID_MODEL_FROM_DATABASE=MITs Sync
+
+usb:v04E8p6617*
+ ID_MODEL_FROM_DATABASE=MITs Sync
+
+usb:v04E8p6619*
+ ID_MODEL_FROM_DATABASE=MITs Sync
+
+usb:v04E8p661B*
+ ID_MODEL_FROM_DATABASE=MITs Sync
+
+usb:v04E8p661E*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v04E8p6620*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v04E8p6622*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v04E8p6624*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v04E8p662E*
+ ID_MODEL_FROM_DATABASE=MITs Sync
+
+usb:v04E8p6630*
+ ID_MODEL_FROM_DATABASE=MITs Sync
+
+usb:v04E8p6632*
+ ID_MODEL_FROM_DATABASE=MITs Sync
+
+usb:v04E8p663E*
+ ID_MODEL_FROM_DATABASE=D900e Phone
+
+usb:v04E8p663F*
+ ID_MODEL_FROM_DATABASE=SGH-E720/SGH-E840
+
+usb:v04E8p6640*
+ ID_MODEL_FROM_DATABASE=Usb Modem Enumerator
+
+usb:v04E8p6651*
+ ID_MODEL_FROM_DATABASE=i8510 Innov8
+
+usb:v04E8p6702*
+ ID_MODEL_FROM_DATABASE=X830
+
+usb:v04E8p6708*
+ ID_MODEL_FROM_DATABASE=U600 Phone
+
+usb:v04E8p6709*
+ ID_MODEL_FROM_DATABASE=U600
+
+usb:v04E8p6734*
+ ID_MODEL_FROM_DATABASE=Juke
+
+usb:v04E8p6759*
+ ID_MODEL_FROM_DATABASE=D900e Media Player
+
+usb:v04E8p675A*
+ ID_MODEL_FROM_DATABASE=D900e Mass Storage
+
+usb:v04E8p675B*
+ ID_MODEL_FROM_DATABASE=D900e Camera
+
+usb:v04E8p6772*
+ ID_MODEL_FROM_DATABASE=Standalone LTE device (Trial)
+
+usb:v04E8p6795*
+ ID_MODEL_FROM_DATABASE=S5230
+
+usb:v04E8p6802*
+ ID_MODEL_FROM_DATABASE=Standalone HSPA device
+
+usb:v04E8p6806*
+ ID_MODEL_FROM_DATABASE=Composite LTE device (Trial)
+
+usb:v04E8p6807*
+ ID_MODEL_FROM_DATABASE=Composite HSPA device
+
+usb:v04E8p681C*
+ ID_MODEL_FROM_DATABASE=Galaxy Portal/Spica/S
+
+usb:v04E8p681D*
+ ID_MODEL_FROM_DATABASE=Galaxy Portal/Spica Android Phone
+
+usb:v04E8p6843*
+ ID_MODEL_FROM_DATABASE=E2530 Phone (Samsung Kies mode)
+
+usb:v04E8p684E*
+ ID_MODEL_FROM_DATABASE=Wave (GT-S8500)
+
+usb:v04E8p685B*
+ ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II] (mass storage mode)
+
+usb:v04E8p685C*
+ ID_MODEL_FROM_DATABASE=GT-I9250 Phone [Galaxy Nexus]
+
+usb:v04E8p685D*
+ ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II] (Download mode)
+
+usb:v04E8p685E*
+ ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II] (USB Debugging mode)
+
+usb:v04E8p6860*
+ ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1]
+
+usb:v04E8p6865*
+ ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (PTP mode)
+
+usb:v04E8p6866*
+ ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (debugging mode)
+
+usb:v04E8p6875*
+ ID_MODEL_FROM_DATABASE=GT-B3710 Standalone LTE device (Commercial)
+
+usb:v04E8p6876*
+ ID_MODEL_FROM_DATABASE=GT-B3710 LTE Modem
+
+usb:v04E8p6877*
+ ID_MODEL_FROM_DATABASE=Galaxy S
+
+usb:v04E8p6888*
+ ID_MODEL_FROM_DATABASE=GT-B3730 Composite LTE device (Commercial)
+
+usb:v04E8p6889*
+ ID_MODEL_FROM_DATABASE=GT-B3730 Composite LTE device (Commercial)
+
+usb:v04E8p689A*
+ ID_MODEL_FROM_DATABASE=LTE Storage Driver [CMC2xx]
+
+usb:v04E8p689E*
+ ID_MODEL_FROM_DATABASE=GT-S5670 [Galaxy Fit]
+
+usb:v04E8p68AA*
+ ID_MODEL_FROM_DATABASE=Reality
+
+usb:v04E8p7011*
+ ID_MODEL_FROM_DATABASE=SEW-2003U Card
+
+usb:v04E8p7021*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v04E8p7061*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v04E8p7080*
+ ID_MODEL_FROM_DATABASE=Anycall SCH-W580
+
+usb:v04E8p7081*
+ ID_MODEL_FROM_DATABASE=Human Interface Device
+
+usb:v04E8p8001*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v04E8pE020*
+ ID_MODEL_FROM_DATABASE=SERI E02 SCOM 6200 UMTS Phone
+
+usb:v04E8pE021*
+ ID_MODEL_FROM_DATABASE=SERI E02 SCOM 6200 Virtual UARTs
+
+usb:v04E8pE022*
+ ID_MODEL_FROM_DATABASE=SERI E02 SCOM 6200 Flash Load Disk
+
+usb:v04E8pF000*
+ ID_MODEL_FROM_DATABASE=Intensity 3 (Mass Storage Mode)
+
+usb:v04E8pFF30*
+ ID_MODEL_FROM_DATABASE=SG_iMON
+
+usb:v04E9*
+ ID_VENDOR_FROM_DATABASE=PC-Tel, Inc.
+
+usb:v04EA*
+ ID_VENDOR_FROM_DATABASE=Brooktree Corp.
+
+usb:v04EB*
+ ID_VENDOR_FROM_DATABASE=Northstar Systems, Inc.
+
+usb:v04EBpE004*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver
+
+usb:v04EC*
+ ID_VENDOR_FROM_DATABASE=Tokyo Electron Device, Ltd
+
+usb:v04ED*
+ ID_VENDOR_FROM_DATABASE=Annabooks
+
+usb:v04EF*
+ ID_VENDOR_FROM_DATABASE=Pacific Electronic International, Inc.
+
+usb:v04F0*
+ ID_VENDOR_FROM_DATABASE=Daewoo Electronics Co., Ltd
+
+usb:v04F1*
+ ID_VENDOR_FROM_DATABASE=Victor Company of Japan, Ltd
+
+usb:v04F1p0001*
+ ID_MODEL_FROM_DATABASE=GC-QX3 Digital Still Camera
+
+usb:v04F1p0004*
+ ID_MODEL_FROM_DATABASE=GR-DVL815U Digital Video Camera
+
+usb:v04F1p0006*
+ ID_MODEL_FROM_DATABASE=DV Camera Storage
+
+usb:v04F1p0008*
+ ID_MODEL_FROM_DATABASE=GZ-MG30AA/MC500E Digital Video Camera
+
+usb:v04F1p0009*
+ ID_MODEL_FROM_DATABASE=GR-DX25EK Digital Video Camera
+
+usb:v04F1p000A*
+ ID_MODEL_FROM_DATABASE=GR-D72 Digital Video Camera
+
+usb:v04F1p1001*
+ ID_MODEL_FROM_DATABASE=GC-A50 Camera Device
+
+usb:v04F1p3008*
+ ID_MODEL_FROM_DATABASE=MP-PRX1 Ethernet
+
+usb:v04F1p3009*
+ ID_MODEL_FROM_DATABASE=MP-XP7250 WLAN Adapter
+
+usb:v04F2*
+ ID_VENDOR_FROM_DATABASE=Chicony Electronics Co., Ltd
+
+usb:v04F2p0001*
+ ID_MODEL_FROM_DATABASE=KU-8933 Keyboard
+
+usb:v04F2p0002*
+ ID_MODEL_FROM_DATABASE=NT68P81 Keyboard
+
+usb:v04F2p0110*
+ ID_MODEL_FROM_DATABASE=KU-2971 Keyboard
+
+usb:v04F2p0111*
+ ID_MODEL_FROM_DATABASE=KU-9908 Keyboard
+
+usb:v04F2p0112*
+ ID_MODEL_FROM_DATABASE=KU-8933 Keyboard with PS/2 Mouse port
+
+usb:v04F2p0116*
+ ID_MODEL_FROM_DATABASE=KU-2971/KU-0325 Keyboard
+
+usb:v04F2p0200*
+ ID_MODEL_FROM_DATABASE=KBR-0108
+
+usb:v04F2p0201*
+ ID_MODEL_FROM_DATABASE=Gaming Keyboard KPD0250
+
+usb:v04F2p0220*
+ ID_MODEL_FROM_DATABASE=Wireless HID Receiver
+
+usb:v04F2p0402*
+ ID_MODEL_FROM_DATABASE=Genius LuxeMate i200 Keyboard
+
+usb:v04F2p0403*
+ ID_MODEL_FROM_DATABASE=KU-0420 keyboard
+
+usb:v04F2p0418*
+ ID_MODEL_FROM_DATABASE=KU-0418 Tactical Pad
+
+usb:v04F2p0760*
+ ID_MODEL_FROM_DATABASE=Acer KU-0760 Keyboard
+
+usb:v04F2p0841*
+ ID_MODEL_FROM_DATABASE=HP Multimedia Keyboard
+
+usb:v04F2p0860*
+ ID_MODEL_FROM_DATABASE=2.4G Multimedia Wireless Kit
+
+usb:v04F2pA001*
+ ID_MODEL_FROM_DATABASE=E-Video DC-100 Camera
+
+usb:v04F2pA120*
+ ID_MODEL_FROM_DATABASE=ORITE CCD Webcam(PC370R)
+
+usb:v04F2pA121*
+ ID_MODEL_FROM_DATABASE=ORITE CCD Webcam(PC370R)
+
+usb:v04F2pA122*
+ ID_MODEL_FROM_DATABASE=ORITE CCD Webcam(PC370R)
+
+usb:v04F2pA123*
+ ID_MODEL_FROM_DATABASE=ORITE CCD Webcam(PC370R)
+
+usb:v04F2pA124*
+ ID_MODEL_FROM_DATABASE=ORITE CCD Webcam(PC370R)
+
+usb:v04F2pA128*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C202 + OV7663 + EEPROM)
+
+usb:v04F2pA133*
+ ID_MODEL_FROM_DATABASE=Gateway Webcam
+
+usb:v04F2pA136*
+ ID_MODEL_FROM_DATABASE=LabTec Webcam 5500
+
+usb:v04F2pA204*
+ ID_MODEL_FROM_DATABASE=DSC WIA Device (1300)
+
+usb:v04F2pA208*
+ ID_MODEL_FROM_DATABASE=DSC WIA Device (2320)
+
+usb:v04F2pA209*
+ ID_MODEL_FROM_DATABASE=Labtec DC-2320
+
+usb:v04F2pA20A*
+ ID_MODEL_FROM_DATABASE=DSC WIA Device (3310)
+
+usb:v04F2pA20C*
+ ID_MODEL_FROM_DATABASE=DSC WIA Device (3320)
+
+usb:v04F2pA210*
+ ID_MODEL_FROM_DATABASE=Audio Device
+
+usb:v04F2pB008*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Camera
+
+usb:v04F2pB009*
+ ID_MODEL_FROM_DATABASE=Integrated Camera
+
+usb:v04F2pB010*
+ ID_MODEL_FROM_DATABASE=Integrated Camera
+
+usb:v04F2pB012*
+ ID_MODEL_FROM_DATABASE=1.3 MPixel UVC Webcam
+
+usb:v04F2pB013*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Camera
+
+usb:v04F2pB015*
+ ID_MODEL_FROM_DATABASE=VGA 24fps UVC Webcam
+
+usb:v04F2pB016*
+ ID_MODEL_FROM_DATABASE=VGA 30fps UVC Webcam
+
+usb:v04F2pB018*
+ ID_MODEL_FROM_DATABASE=2M UVC Webcam
+
+usb:v04F2pB021*
+ ID_MODEL_FROM_DATABASE=ViewSonic 1.3M, USB2.0 Webcam
+
+usb:v04F2pB022*
+ ID_MODEL_FROM_DATABASE=Gateway USB 2.0 Webcam
+
+usb:v04F2pB023*
+ ID_MODEL_FROM_DATABASE=Gateway USB 2.0 Webcam
+
+usb:v04F2pB024*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Webcam
+
+usb:v04F2pB025*
+ ID_MODEL_FROM_DATABASE=Camera
+
+usb:v04F2pB027*
+ ID_MODEL_FROM_DATABASE=Gateway USB 2.0 Webcam
+
+usb:v04F2pB028*
+ ID_MODEL_FROM_DATABASE=VGA UVC Webcam
+
+usb:v04F2pB029*
+ ID_MODEL_FROM_DATABASE=1.3M UVC Webcam
+
+usb:v04F2pB036*
+ ID_MODEL_FROM_DATABASE=Asus Integrated 0.3M UVC Webcam
+
+usb:v04F2pB044*
+ ID_MODEL_FROM_DATABASE=Acer CrystalEye Webcam
+
+usb:v04F2pB057*
+ ID_MODEL_FROM_DATABASE=integrated USB webcam
+
+usb:v04F2pB059*
+ ID_MODEL_FROM_DATABASE=CKF7037 HP webcam
+
+usb:v04F2pB071*
+ ID_MODEL_FROM_DATABASE=2.0M UVC Webcam / CNF7129
+
+usb:v04F2pB091*
+ ID_MODEL_FROM_DATABASE=Webcam
+
+usb:v04F2pB104*
+ ID_MODEL_FROM_DATABASE=CNF7069 Webcam
+
+usb:v04F2pB107*
+ ID_MODEL_FROM_DATABASE=CNF7070 Webcam
+
+usb:v04F2pB14C*
+ ID_MODEL_FROM_DATABASE=CNF8050 Webcam
+
+usb:v04F2pB15C*
+ ID_MODEL_FROM_DATABASE=Sony Vaio Integrated Camera
+
+usb:v04F2pB175*
+ ID_MODEL_FROM_DATABASE=4-Port Hub
+
+usb:v04F2pB1AA*
+ ID_MODEL_FROM_DATABASE=Webcam-101
+
+usb:v04F2pB1B4*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Camera
+
+usb:v04F2pB1B9*
+ ID_MODEL_FROM_DATABASE=Asus Integrated Webcam
+
+usb:v04F2pB1CF*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Camera
+
+usb:v04F2pB1D6*
+ ID_MODEL_FROM_DATABASE=CNF9055 Toshiba Webcam
+
+usb:v04F2pB213*
+ ID_MODEL_FROM_DATABASE=Fujitsu Integrated Camera
+
+usb:v04F2pB217*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Camera (0.3MP)
+
+usb:v04F2pB221*
+ ID_MODEL_FROM_DATABASE=integrated camera
+
+usb:v04F2pB230*
+ ID_MODEL_FROM_DATABASE=Integrated HP HD Webcam
+
+usb:v04F2pB257*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Camera
+
+usb:v04F2pB26B*
+ ID_MODEL_FROM_DATABASE=Sony Visual Communication Camera
+
+usb:v04F2pB272*
+ ID_MODEL_FROM_DATABASE=Lenovo EasyCamera
+
+usb:v04F2pB2B0*
+ ID_MODEL_FROM_DATABASE=Camera
+
+usb:v04F2pB2B9*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Camera UVC
+
+usb:v04F2pB2EA*
+ ID_MODEL_FROM_DATABASE=Integrated Camera [ThinkPad]
+
+usb:v04F2pB330*
+ ID_MODEL_FROM_DATABASE=Asus 720p CMOS webcam
+
+usb:v04F3*
+ ID_VENDOR_FROM_DATABASE=Elan Microelectronics Corp.
+
+usb:v04F3p0103*
+ ID_MODEL_FROM_DATABASE=ActiveJet K-2024 Multimedia Keyboard
+
+usb:v04F3p01A4*
+ ID_MODEL_FROM_DATABASE=Wireless Keyboard
+
+usb:v04F3p0210*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v04F3p0212*
+ ID_MODEL_FROM_DATABASE=Laser Mouse
+
+usb:v04F3p0214*
+ ID_MODEL_FROM_DATABASE=Lynx M9 Optical Mouse
+
+usb:v04F3p0230*
+ ID_MODEL_FROM_DATABASE=3D Optical Mouse
+
+usb:v04F3p0232*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v04F3p02F4*
+ ID_MODEL_FROM_DATABASE=2.4G Cordless Mouse
+
+usb:v04F3p04A0*
+ ID_MODEL_FROM_DATABASE=Dream Cheeky Stress/Panic Button
+
+usb:v04F4*
+ ID_VENDOR_FROM_DATABASE=Harting Elektronik, Inc.
+
+usb:v04F5*
+ ID_VENDOR_FROM_DATABASE=Fujitsu-ICL Systems, Inc.
+
+usb:v04F6*
+ ID_VENDOR_FROM_DATABASE=Norand Corp.
+
+usb:v04F7*
+ ID_VENDOR_FROM_DATABASE=Newnex Technology Corp.
+
+usb:v04F8*
+ ID_VENDOR_FROM_DATABASE=FuturePlus Systems
+
+usb:v04F9*
+ ID_VENDOR_FROM_DATABASE=Brother Industries, Ltd
+
+usb:v04F9p0002*
+ ID_MODEL_FROM_DATABASE=HL-1050 Laser Printer
+
+usb:v04F9p0005*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0006*
+ ID_MODEL_FROM_DATABASE=HL-1240 Laser Printer
+
+usb:v04F9p0007*
+ ID_MODEL_FROM_DATABASE=HL-1250 Laser Printer
+
+usb:v04F9p0008*
+ ID_MODEL_FROM_DATABASE=HL-1270 Laser Printer
+
+usb:v04F9p0009*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p000A*
+ ID_MODEL_FROM_DATABASE=P2500 series
+
+usb:v04F9p000B*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p000C*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p000D*
+ ID_MODEL_FROM_DATABASE=HL-1440 Laser Printer
+
+usb:v04F9p000E*
+ ID_MODEL_FROM_DATABASE=HL-1450 series
+
+usb:v04F9p000F*
+ ID_MODEL_FROM_DATABASE=HL-1470N series
+
+usb:v04F9p0010*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0011*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0012*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0013*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0014*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0015*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0016*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0017*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0018*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p001A*
+ ID_MODEL_FROM_DATABASE=HL-1430 Laser Printer
+
+usb:v04F9p001C*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p001E*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0020*
+ ID_MODEL_FROM_DATABASE=HL-5130 series
+
+usb:v04F9p0021*
+ ID_MODEL_FROM_DATABASE=HL-5140 series
+
+usb:v04F9p0022*
+ ID_MODEL_FROM_DATABASE=HL-5150D series
+
+usb:v04F9p0023*
+ ID_MODEL_FROM_DATABASE=HL-5170DN series
+
+usb:v04F9p0024*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0025*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0027*
+ ID_MODEL_FROM_DATABASE=HL-2030 Laser Printer
+
+usb:v04F9p0028*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0029*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p002A*
+ ID_MODEL_FROM_DATABASE=HL-52x0 series
+
+usb:v04F9p002B*
+ ID_MODEL_FROM_DATABASE=HL-5250DN Printer
+
+usb:v04F9p002C*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p002D*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p0039*
+ ID_MODEL_FROM_DATABASE=HL-5340 series
+
+usb:v04F9p0042*
+ ID_MODEL_FROM_DATABASE=HL-2270DW Laser Printer
+
+usb:v04F9p0100*
+ ID_MODEL_FROM_DATABASE=MFC8600/9650 series
+
+usb:v04F9p0101*
+ ID_MODEL_FROM_DATABASE=MFC9600/9870 series
+
+usb:v04F9p0102*
+ ID_MODEL_FROM_DATABASE=MFC9750/1200 series
+
+usb:v04F9p0104*
+ ID_MODEL_FROM_DATABASE=MFC-8300J
+
+usb:v04F9p0105*
+ ID_MODEL_FROM_DATABASE=MFC-9600J
+
+usb:v04F9p0106*
+ ID_MODEL_FROM_DATABASE=MFC-7300C
+
+usb:v04F9p0107*
+ ID_MODEL_FROM_DATABASE=MFC-7400C
+
+usb:v04F9p0108*
+ ID_MODEL_FROM_DATABASE=MFC-9200C
+
+usb:v04F9p0109*
+ ID_MODEL_FROM_DATABASE=MFC-830
+
+usb:v04F9p010A*
+ ID_MODEL_FROM_DATABASE=MFC-840
+
+usb:v04F9p010B*
+ ID_MODEL_FROM_DATABASE=MFC-860
+
+usb:v04F9p010C*
+ ID_MODEL_FROM_DATABASE=MFC-7400J
+
+usb:v04F9p010D*
+ ID_MODEL_FROM_DATABASE=MFC-9200J
+
+usb:v04F9p010E*
+ ID_MODEL_FROM_DATABASE=MFC3100C Scanner
+
+usb:v04F9p010F*
+ ID_MODEL_FROM_DATABASE=MFC 5100C
+
+usb:v04F9p0110*
+ ID_MODEL_FROM_DATABASE=MFC4800 Scanner
+
+usb:v04F9p0111*
+ ID_MODEL_FROM_DATABASE=MFC 6800
+
+usb:v04F9p0112*
+ ID_MODEL_FROM_DATABASE=DCP1000 Port(FaxModem)
+
+usb:v04F9p0113*
+ ID_MODEL_FROM_DATABASE=MFC-8500
+
+usb:v04F9p0114*
+ ID_MODEL_FROM_DATABASE=MFC9700 Port(FaxModem)
+
+usb:v04F9p0115*
+ ID_MODEL_FROM_DATABASE=MFC9800 Scanner
+
+usb:v04F9p0116*
+ ID_MODEL_FROM_DATABASE=DCP1400 Scanner
+
+usb:v04F9p0119*
+ ID_MODEL_FROM_DATABASE=MFC-9660
+
+usb:v04F9p011B*
+ ID_MODEL_FROM_DATABASE=MFC-9880
+
+usb:v04F9p011C*
+ ID_MODEL_FROM_DATABASE=MFC-9760
+
+usb:v04F9p011D*
+ ID_MODEL_FROM_DATABASE=MFC-9070
+
+usb:v04F9p011E*
+ ID_MODEL_FROM_DATABASE=MFC-9180
+
+usb:v04F9p011F*
+ ID_MODEL_FROM_DATABASE=MFC-9160
+
+usb:v04F9p0120*
+ ID_MODEL_FROM_DATABASE=MFC580 Port(FaxModem)
+
+usb:v04F9p0121*
+ ID_MODEL_FROM_DATABASE=MFC-590
+
+usb:v04F9p0122*
+ ID_MODEL_FROM_DATABASE=MFC-5100J
+
+usb:v04F9p0129*
+ ID_MODEL_FROM_DATABASE=Imagistics 2500 (MFC-8640D clone)
+
+usb:v04F9p012F*
+ ID_MODEL_FROM_DATABASE=FAX-4750e
+
+usb:v04F9p0132*
+ ID_MODEL_FROM_DATABASE=MFC-5200C RemovableDisk
+
+usb:v04F9p0135*
+ ID_MODEL_FROM_DATABASE=MFC-100 Scanner
+
+usb:v04F9p0136*
+ ID_MODEL_FROM_DATABASE=MFC-150CL Scanner
+
+usb:v04F9p013C*
+ ID_MODEL_FROM_DATABASE=MFC-890 Port
+
+usb:v04F9p013D*
+ ID_MODEL_FROM_DATABASE=MFC-5200J Printer
+
+usb:v04F9p013E*
+ ID_MODEL_FROM_DATABASE=MFC-4420C RemovableDisk
+
+usb:v04F9p013F*
+ ID_MODEL_FROM_DATABASE=MFC-4820C RemovableDisk
+
+usb:v04F9p0140*
+ ID_MODEL_FROM_DATABASE=DCP-8020
+
+usb:v04F9p0141*
+ ID_MODEL_FROM_DATABASE=DCP-8025D
+
+usb:v04F9p0142*
+ ID_MODEL_FROM_DATABASE=MFC-8420
+
+usb:v04F9p0143*
+ ID_MODEL_FROM_DATABASE=MFC-8820D
+
+usb:v04F9p0144*
+ ID_MODEL_FROM_DATABASE=DCP-4020C RemovableDisk
+
+usb:v04F9p0146*
+ ID_MODEL_FROM_DATABASE=MFC-3220C
+
+usb:v04F9p0147*
+ ID_MODEL_FROM_DATABASE=FAX-1820C Printer
+
+usb:v04F9p0148*
+ ID_MODEL_FROM_DATABASE=MFC-3320CN Printer
+
+usb:v04F9p0149*
+ ID_MODEL_FROM_DATABASE=FAX-1920CN Printer
+
+usb:v04F9p014A*
+ ID_MODEL_FROM_DATABASE=MFC-3420C
+
+usb:v04F9p014B*
+ ID_MODEL_FROM_DATABASE=MFC-3820CN
+
+usb:v04F9p014D*
+ ID_MODEL_FROM_DATABASE=FAX-1815C Printer
+
+usb:v04F9p014E*
+ ID_MODEL_FROM_DATABASE=MFC-8820J
+
+usb:v04F9p0150*
+ ID_MODEL_FROM_DATABASE=MFC-8220 Port(FaxModem)
+
+usb:v04F9p0151*
+ ID_MODEL_FROM_DATABASE=MFC-8210J
+
+usb:v04F9p0157*
+ ID_MODEL_FROM_DATABASE=MFC-3420J Printer
+
+usb:v04F9p0158*
+ ID_MODEL_FROM_DATABASE=MFC-3820JN Port(FaxModem)
+
+usb:v04F9p015D*
+ ID_MODEL_FROM_DATABASE=MFC Composite Device
+
+usb:v04F9p015E*
+ ID_MODEL_FROM_DATABASE=DCP-8045D
+
+usb:v04F9p015F*
+ ID_MODEL_FROM_DATABASE=MFC-8440
+
+usb:v04F9p0160*
+ ID_MODEL_FROM_DATABASE=MFC-8840D
+
+usb:v04F9p0161*
+ ID_MODEL_FROM_DATABASE=MFC-210C
+
+usb:v04F9p0162*
+ ID_MODEL_FROM_DATABASE=MFC-420CN Remote Setup Port
+
+usb:v04F9p0163*
+ ID_MODEL_FROM_DATABASE=MFC-410CN RemovableDisk
+
+usb:v04F9p0165*
+ ID_MODEL_FROM_DATABASE=MFC-620CN
+
+usb:v04F9p0166*
+ ID_MODEL_FROM_DATABASE=MFC-610CLN RemovableDisk
+
+usb:v04F9p0168*
+ ID_MODEL_FROM_DATABASE=MFC-620CLN
+
+usb:v04F9p0169*
+ ID_MODEL_FROM_DATABASE=DCP-110C RemovableDisk
+
+usb:v04F9p016B*
+ ID_MODEL_FROM_DATABASE=DCP-310CN RemovableDisk
+
+usb:v04F9p016C*
+ ID_MODEL_FROM_DATABASE=FAX-2440C Printer
+
+usb:v04F9p016D*
+ ID_MODEL_FROM_DATABASE=MFC-5440CN
+
+usb:v04F9p016E*
+ ID_MODEL_FROM_DATABASE=MFC-5840CN Remote Setup Port
+
+usb:v04F9p0170*
+ ID_MODEL_FROM_DATABASE=FAX-1840C Printer
+
+usb:v04F9p0171*
+ ID_MODEL_FROM_DATABASE=FAX-1835C Printer
+
+usb:v04F9p0172*
+ ID_MODEL_FROM_DATABASE=FAX-1940CN Printer
+
+usb:v04F9p0173*
+ ID_MODEL_FROM_DATABASE=MFC-3240C Remote Setup Port
+
+usb:v04F9p0174*
+ ID_MODEL_FROM_DATABASE=MFC-3340CN RemovableDisk
+
+usb:v04F9p017B*
+ ID_MODEL_FROM_DATABASE=Imagistics sx2100
+
+usb:v04F9p0180*
+ ID_MODEL_FROM_DATABASE=MFC-7420
+
+usb:v04F9p0181*
+ ID_MODEL_FROM_DATABASE=MFC-7820N Port(FaxModem)
+
+usb:v04F9p0182*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v04F9p0183*
+ ID_MODEL_FROM_DATABASE=DCP-7020
+
+usb:v04F9p0184*
+ ID_MODEL_FROM_DATABASE=DCP-7025 Printer
+
+usb:v04F9p0185*
+ ID_MODEL_FROM_DATABASE=MFC-7220 Printer
+
+usb:v04F9p0186*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v04F9p0187*
+ ID_MODEL_FROM_DATABASE=FAX-2820 Printer
+
+usb:v04F9p0188*
+ ID_MODEL_FROM_DATABASE=FAX-2920 Printer
+
+usb:v04F9p018A*
+ ID_MODEL_FROM_DATABASE=MFC-9420CN
+
+usb:v04F9p018C*
+ ID_MODEL_FROM_DATABASE=DCP-115C
+
+usb:v04F9p018D*
+ ID_MODEL_FROM_DATABASE=DCP-116C
+
+usb:v04F9p018E*
+ ID_MODEL_FROM_DATABASE=DCP-117C
+
+usb:v04F9p018F*
+ ID_MODEL_FROM_DATABASE=DCP-118C
+
+usb:v04F9p0190*
+ ID_MODEL_FROM_DATABASE=DCP-120C
+
+usb:v04F9p0191*
+ ID_MODEL_FROM_DATABASE=DCP-315CN
+
+usb:v04F9p0192*
+ ID_MODEL_FROM_DATABASE=DCP-340CW
+
+usb:v04F9p0193*
+ ID_MODEL_FROM_DATABASE=MFC-215C
+
+usb:v04F9p0194*
+ ID_MODEL_FROM_DATABASE=MFC-425CN
+
+usb:v04F9p0195*
+ ID_MODEL_FROM_DATABASE=MFC-820CW Remote Setup Port
+
+usb:v04F9p0196*
+ ID_MODEL_FROM_DATABASE=MFC-820CN Remote Setup Port
+
+usb:v04F9p0197*
+ ID_MODEL_FROM_DATABASE=MFC-640CW
+
+usb:v04F9p019A*
+ ID_MODEL_FROM_DATABASE=MFC-840CLN Remote Setup Port
+
+usb:v04F9p01A2*
+ ID_MODEL_FROM_DATABASE=MFC-8640D
+
+usb:v04F9p01A3*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v04F9p01A4*
+ ID_MODEL_FROM_DATABASE=DCP-8065DN Printer
+
+usb:v04F9p01A5*
+ ID_MODEL_FROM_DATABASE=MFC-8460N Port(FaxModem)
+
+usb:v04F9p01A6*
+ ID_MODEL_FROM_DATABASE=MFC-8860DN Port(FaxModem)
+
+usb:v04F9p01A7*
+ ID_MODEL_FROM_DATABASE=MFC-8870DW Printer
+
+usb:v04F9p01A8*
+ ID_MODEL_FROM_DATABASE=DCP-130C
+
+usb:v04F9p01A9*
+ ID_MODEL_FROM_DATABASE=DCP-330C
+
+usb:v04F9p01AA*
+ ID_MODEL_FROM_DATABASE=DCP-540CN
+
+usb:v04F9p01AB*
+ ID_MODEL_FROM_DATABASE=MFC-240C
+
+usb:v04F9p01AE*
+ ID_MODEL_FROM_DATABASE=DCP-750CW RemovableDisk
+
+usb:v04F9p01AF*
+ ID_MODEL_FROM_DATABASE=MFC-440CN
+
+usb:v04F9p01B0*
+ ID_MODEL_FROM_DATABASE=MFC-660CN
+
+usb:v04F9p01B1*
+ ID_MODEL_FROM_DATABASE=MFC-665CW Remote Setup Port
+
+usb:v04F9p01B2*
+ ID_MODEL_FROM_DATABASE=MFC-845CW Remote Setup Port
+
+usb:v04F9p01B4*
+ ID_MODEL_FROM_DATABASE=MFC-460CN Remote Setup Port
+
+usb:v04F9p01B5*
+ ID_MODEL_FROM_DATABASE=MFC-630CD
+
+usb:v04F9p01B6*
+ ID_MODEL_FROM_DATABASE=MFC-850CDN
+
+usb:v04F9p01B7*
+ ID_MODEL_FROM_DATABASE=MFC-5460CN Remote Setup Port
+
+usb:v04F9p01B8*
+ ID_MODEL_FROM_DATABASE=MFC-5860CN
+
+usb:v04F9p01BA*
+ ID_MODEL_FROM_DATABASE=MFC-3360C
+
+usb:v04F9p01BD*
+ ID_MODEL_FROM_DATABASE=MFC-8660DN
+
+usb:v04F9p01BE*
+ ID_MODEL_FROM_DATABASE=DCP-750CN RemovableDisk
+
+usb:v04F9p01BF*
+ ID_MODEL_FROM_DATABASE=MFC-860CDN Remote Setup Port
+
+usb:v04F9p01C0*
+ ID_MODEL_FROM_DATABASE=DCP-128C
+
+usb:v04F9p01C1*
+ ID_MODEL_FROM_DATABASE=DCP-129C
+
+usb:v04F9p01C2*
+ ID_MODEL_FROM_DATABASE=DCP-131C
+
+usb:v04F9p01C3*
+ ID_MODEL_FROM_DATABASE=DCP-329C
+
+usb:v04F9p01C4*
+ ID_MODEL_FROM_DATABASE=DCP-331C
+
+usb:v04F9p01C5*
+ ID_MODEL_FROM_DATABASE=MFC-239C
+
+usb:v04F9p01CA*
+ ID_MODEL_FROM_DATABASE=MFC-9440CN Remote Setup Port
+
+usb:v04F9p01CE*
+ ID_MODEL_FROM_DATABASE=DCP-135C
+
+usb:v04F9p01CF*
+ ID_MODEL_FROM_DATABASE=DCP-150C
+
+usb:v04F9p01D0*
+ ID_MODEL_FROM_DATABASE=DCP-350C
+
+usb:v04F9p01D1*
+ ID_MODEL_FROM_DATABASE=DCP-560CN
+
+usb:v04F9p01D4*
+ ID_MODEL_FROM_DATABASE=MFC-230C
+
+usb:v04F9p01D5*
+ ID_MODEL_FROM_DATABASE=MFC-235C
+
+usb:v04F9p01D6*
+ ID_MODEL_FROM_DATABASE=MFC-260C
+
+usb:v04F9p01DF*
+ ID_MODEL_FROM_DATABASE=DCP-155C
+
+usb:v04F9p01E0*
+ ID_MODEL_FROM_DATABASE=MFC-265C
+
+usb:v04F9p01E1*
+ ID_MODEL_FROM_DATABASE=DCP-153C
+
+usb:v04F9p01E2*
+ ID_MODEL_FROM_DATABASE=DCP-157C
+
+usb:v04F9p01E3*
+ ID_MODEL_FROM_DATABASE=DCP-353C
+
+usb:v04F9p01E4*
+ ID_MODEL_FROM_DATABASE=DCP-357C
+
+usb:v04F9p01E7*
+ ID_MODEL_FROM_DATABASE=MFC-7340
+
+usb:v04F9p01E9*
+ ID_MODEL_FROM_DATABASE=DCP-7040
+
+usb:v04F9p01EA*
+ ID_MODEL_FROM_DATABASE=DCP-7030
+
+usb:v04F9p01EB*
+ ID_MODEL_FROM_DATABASE=MFC-7320
+
+usb:v04F9p01F4*
+ ID_MODEL_FROM_DATABASE=MFC-5890CN
+
+usb:v04F9p0223*
+ ID_MODEL_FROM_DATABASE=DCP-365CN
+
+usb:v04F9p0248*
+ ID_MODEL_FROM_DATABASE=DCP-7055 scanner/printer
+
+usb:v04F9p1000*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p1002*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v04F9p2002*
+ ID_MODEL_FROM_DATABASE=PTUSB Printing
+
+usb:v04F9p2004*
+ ID_MODEL_FROM_DATABASE=PT-2300/2310 p-Touch Laber Printer
+
+usb:v04F9p2015*
+ ID_MODEL_FROM_DATABASE=QL-500 P-touch label printer
+
+usb:v04F9p2016*
+ ID_MODEL_FROM_DATABASE=QL-550 P-touch label printer
+
+usb:v04F9p201A*
+ ID_MODEL_FROM_DATABASE=PT-18R P-touch label printer
+
+usb:v04F9p201B*
+ ID_MODEL_FROM_DATABASE=QL-650TD P-Touch Label Printer
+
+usb:v04F9p2027*
+ ID_MODEL_FROM_DATABASE=QL-560 P-Touch Label Printer
+
+usb:v04F9p2100*
+ ID_MODEL_FROM_DATABASE=Card Reader Writer
+
+usb:v04FA*
+ ID_VENDOR_FROM_DATABASE=Dallas Semiconductor
+
+usb:v04FAp2490*
+ ID_MODEL_FROM_DATABASE=DS1490F 2-in-1 Fob, 1-Wire adapter
+
+usb:v04FAp4201*
+ ID_MODEL_FROM_DATABASE=DS4201 Audio DAC
+
+usb:v04FB*
+ ID_VENDOR_FROM_DATABASE=Biostar Microtech International Corp.
+
+usb:v04FC*
+ ID_VENDOR_FROM_DATABASE=Sunplus Technology Co., Ltd
+
+usb:v04FCp0003*
+ ID_MODEL_FROM_DATABASE=CM1092 / Wintech CM-5098 Optical Mouse
+
+usb:v04FCp0005*
+ ID_MODEL_FROM_DATABASE=USB OpticalWheel Mouse
+
+usb:v04FCp0013*
+ ID_MODEL_FROM_DATABASE=ViewMate Desktop Mouse CC2201
+
+usb:v04FCp0015*
+ ID_MODEL_FROM_DATABASE=ViewMate Desktop Mouse CC2201
+
+usb:v04FCp00D3*
+ ID_MODEL_FROM_DATABASE=00052486 / Laser Mouse M1052 [hama]
+
+usb:v04FCp0171*
+ ID_MODEL_FROM_DATABASE=SPCA1527A/SPCA1528 SD card camera (Mass Storage mode)
+
+usb:v04FCp0201*
+ ID_MODEL_FROM_DATABASE=RS232C Adapter
+
+usb:v04FCp0232*
+ ID_MODEL_FROM_DATABASE=Fingerprint
+
+usb:v04FCp0538*
+ ID_MODEL_FROM_DATABASE=Wireless Optical Mouse 2.4G [Bright]
+
+usb:v04FCp0561*
+ ID_MODEL_FROM_DATABASE=Flexcam 100
+
+usb:v04FCp05D8*
+ ID_MODEL_FROM_DATABASE=Wireless keyboard/mouse
+
+usb:v04FCp0C15*
+ ID_MODEL_FROM_DATABASE=SPIF215A SATA bridge
+
+usb:v04FCp0C25*
+ ID_MODEL_FROM_DATABASE=SATALink SPIF225A
+
+usb:v04FCp1528*
+ ID_MODEL_FROM_DATABASE=SPCA1527A/SPCA1528 SD card camera (webcam mode)
+
+usb:v04FCp1533*
+ ID_MODEL_FROM_DATABASE=Mass Storage
+
+usb:v04FCp2080*
+ ID_MODEL_FROM_DATABASE=ASUS Webcam
+
+usb:v04FCp500C*
+ ID_MODEL_FROM_DATABASE=CA500C Digital Camera
+
+usb:v04FCp504A*
+ ID_MODEL_FROM_DATABASE=Aiptek Mini PenCam 1.3
+
+usb:v04FCp504B*
+ ID_MODEL_FROM_DATABASE=Aiptek Mega PockerCam 1.3/Maxell MaxPocket LE 1.3
+
+usb:v04FCp5330*
+ ID_MODEL_FROM_DATABASE=Digitrex 2110
+
+usb:v04FCp5331*
+ ID_MODEL_FROM_DATABASE=Vivitar Vivicam 10
+
+usb:v04FCp5360*
+ ID_MODEL_FROM_DATABASE=Sunplus Generic Digital Camera
+
+usb:v04FCp5720*
+ ID_MODEL_FROM_DATABASE=Card Reader Driver
+
+usb:v04FCp7333*
+ ID_MODEL_FROM_DATABASE=Finet Technology Palmpix DC-85
+
+usb:v04FCp757A*
+ ID_MODEL_FROM_DATABASE=Aiptek, MP315 MP3 Player
+
+usb:v04FCpFFFF*
+ ID_MODEL_FROM_DATABASE=PureDigital Ritz Disposable
+
+usb:v04FD*
+ ID_VENDOR_FROM_DATABASE=Soliton Systems, K.K.
+
+usb:v04FDp0003*
+ ID_MODEL_FROM_DATABASE=Smart Card Reader II
+
+usb:v04FE*
+ ID_VENDOR_FROM_DATABASE=PFU, Ltd
+
+usb:v04FF*
+ ID_VENDOR_FROM_DATABASE=E-CMOS Corp.
+
+usb:v0500*
+ ID_VENDOR_FROM_DATABASE=Siam United Hi-Tech
+
+usb:v0500p0001*
+ ID_MODEL_FROM_DATABASE=DART Keyboard Mouse
+
+usb:v0500p0002*
+ ID_MODEL_FROM_DATABASE=DART-2 Keyboard
+
+usb:v0501*
+ ID_VENDOR_FROM_DATABASE=Fujikura DDK, Ltd
+
+usb:v0502*
+ ID_VENDOR_FROM_DATABASE=Acer, Inc.
+
+usb:v0502p0001*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0502p0736*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0502p15B1*
+ ID_MODEL_FROM_DATABASE=PDA n311
+
+usb:v0502p1631*
+ ID_MODEL_FROM_DATABASE=c10 Series
+
+usb:v0502p1632*
+ ID_MODEL_FROM_DATABASE=c20 Series
+
+usb:v0502p16E1*
+ ID_MODEL_FROM_DATABASE=n10 Handheld Sync
+
+usb:v0502p16E2*
+ ID_MODEL_FROM_DATABASE=n20 Pocket PC Sync
+
+usb:v0502p16E3*
+ ID_MODEL_FROM_DATABASE=n30 Handheld Sync
+
+usb:v0502p3202*
+ ID_MODEL_FROM_DATABASE=Liquid
+
+usb:v0502p3203*
+ ID_MODEL_FROM_DATABASE=Liquid (Debug mode)
+
+usb:v0502p3317*
+ ID_MODEL_FROM_DATABASE=Liquid
+
+usb:v0502p3325*
+ ID_MODEL_FROM_DATABASE=Iconia tablet A500
+
+usb:v0502p3341*
+ ID_MODEL_FROM_DATABASE=Iconia tablet A500
+
+usb:v0502pD001*
+ ID_MODEL_FROM_DATABASE=Divio NW801/DVC-V6+ Digital Camera
+
+usb:v0503*
+ ID_VENDOR_FROM_DATABASE=Hitachi America, Ltd
+
+usb:v0504*
+ ID_VENDOR_FROM_DATABASE=Hayes Microcomputer Products
+
+usb:v0506*
+ ID_VENDOR_FROM_DATABASE=3Com Corp.
+
+usb:v0506p009D*
+ ID_MODEL_FROM_DATABASE=HomeConnect Camera
+
+usb:v0506p00A0*
+ ID_MODEL_FROM_DATABASE=3CREB96 Bluetooth Adapter
+
+usb:v0506p00A1*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0506p00A2*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0506p00DF*
+ ID_MODEL_FROM_DATABASE=3Com Home Connect lite
+
+usb:v0506p0100*
+ ID_MODEL_FROM_DATABASE=HomeConnect ADSL Modem Driver
+
+usb:v0506p03E8*
+ ID_MODEL_FROM_DATABASE=3C19250 Ethernet [klsi]
+
+usb:v0506p0A01*
+ ID_MODEL_FROM_DATABASE=3CRSHEW696 Wireless Adapter
+
+usb:v0506p0A11*
+ ID_MODEL_FROM_DATABASE=3CRWE254G72 802.11g Adapter
+
+usb:v0506p11F8*
+ ID_MODEL_FROM_DATABASE=HomeConnect 3C460
+
+usb:v0506p2922*
+ ID_MODEL_FROM_DATABASE=HomeConnect Cable Modem External with
+
+usb:v0506p3021*
+ ID_MODEL_FROM_DATABASE=U.S.Robotics 56000 Voice FaxModem Pro
+
+usb:v0506p4601*
+ ID_MODEL_FROM_DATABASE=3C460B 10/100 Ethernet Adapter
+
+usb:v0506pF002*
+ ID_MODEL_FROM_DATABASE=3CP4218 ADSL Modem (pre-init)
+
+usb:v0506pF003*
+ ID_MODEL_FROM_DATABASE=3CP4218 ADSL Modem
+
+usb:v0506pF100*
+ ID_MODEL_FROM_DATABASE=3CP4218 ADSL Modem (pre-init)
+
+usb:v0507*
+ ID_VENDOR_FROM_DATABASE=Hosiden Corp.
+
+usb:v0507p0011*
+ ID_MODEL_FROM_DATABASE=Konami ParaParaParadise Controller
+
+usb:v0508*
+ ID_VENDOR_FROM_DATABASE=Clarion Co., Ltd
+
+usb:v0509*
+ ID_VENDOR_FROM_DATABASE=Aztech Systems, Ltd
+
+usb:v0509p0801*
+ ID_MODEL_FROM_DATABASE=ADSL Modem
+
+usb:v0509p0802*
+ ID_MODEL_FROM_DATABASE=ADSL Modem (RFC1483)
+
+usb:v0509p0806*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v0509p080F*
+ ID_MODEL_FROM_DATABASE=Binatone ADSL500 Modem Network Interface
+
+usb:v0509p0812*
+ ID_MODEL_FROM_DATABASE=Pirelli ADSL Modem Network Interface
+
+usb:v050A*
+ ID_VENDOR_FROM_DATABASE=Cinch Connectors
+
+usb:v050B*
+ ID_VENDOR_FROM_DATABASE=Cable System International
+
+usb:v050C*
+ ID_VENDOR_FROM_DATABASE=InnoMedia, Inc.
+
+usb:v050D*
+ ID_VENDOR_FROM_DATABASE=Belkin Components
+
+usb:v050Dp0004*
+ ID_MODEL_FROM_DATABASE=Direct Connect
+
+usb:v050Dp0012*
+ ID_MODEL_FROM_DATABASE=F8T012 Bluetooth Adapter
+
+usb:v050Dp0013*
+ ID_MODEL_FROM_DATABASE=F8T013 Bluetooth Adapter
+
+usb:v050Dp0017*
+ ID_MODEL_FROM_DATABASE=B8T017 Bluetooth+EDR 2.1
+
+usb:v050Dp003A*
+ ID_MODEL_FROM_DATABASE=Universal Media Reader
+
+usb:v050Dp0050*
+ ID_MODEL_FROM_DATABASE=F5D6050 802.11b Wireless Adapter v2000 [Atmel at76c503a]
+
+usb:v050Dp0081*
+ ID_MODEL_FROM_DATABASE=F8T001v2 Bluetooth
+
+usb:v050Dp0083*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v050Dp0084*
+ ID_MODEL_FROM_DATABASE=F8T003v2 Bluetooth
+
+usb:v050Dp0102*
+ ID_MODEL_FROM_DATABASE=Flip KVM
+
+usb:v050Dp0103*
+ ID_MODEL_FROM_DATABASE=F5U103 Serial Adapter [etek]
+
+usb:v050Dp0106*
+ ID_MODEL_FROM_DATABASE=VideoBus II Adapter, Video
+
+usb:v050Dp0108*
+ ID_MODEL_FROM_DATABASE=F1DE108B KVM
+
+usb:v050Dp0109*
+ ID_MODEL_FROM_DATABASE=F5U109/F5U409 PDA Adapter
+
+usb:v050Dp0115*
+ ID_MODEL_FROM_DATABASE=SCSI Adapter
+
+usb:v050Dp0119*
+ ID_MODEL_FROM_DATABASE=F5U120-PC Dual PS/2 Ports / F5U118-UNV ADB Adapter
+
+usb:v050Dp0121*
+ ID_MODEL_FROM_DATABASE=F5D5050 100Mbps Ethernet
+
+usb:v050Dp0122*
+ ID_MODEL_FROM_DATABASE=Ethernet Adapter
+
+usb:v050Dp0131*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device with trace filter
+
+usb:v050Dp016A*
+ ID_MODEL_FROM_DATABASE=Bluetooth Mini Dongle
+
+usb:v050Dp0200*
+ ID_MODEL_FROM_DATABASE=Nostromo SpeedPad n52te Gaming Keyboard
+
+usb:v050Dp0201*
+ ID_MODEL_FROM_DATABASE=Peripheral Switch
+
+usb:v050Dp0208*
+ ID_MODEL_FROM_DATABASE=USBView II Video Adapter [nt1004]
+
+usb:v050Dp0210*
+ ID_MODEL_FROM_DATABASE=F5U228 Hi-Speed USB 2.0 DVD Creator
+
+usb:v050Dp0211*
+ ID_MODEL_FROM_DATABASE=F5U211 USB 2.0 15-in-1 Media Reader & Writer
+
+usb:v050Dp0224*
+ ID_MODEL_FROM_DATABASE=F5U224 USB 2.0 4-Port Hub
+
+usb:v050Dp0234*
+ ID_MODEL_FROM_DATABASE=F5U234 USB 2.0 4-Port Hub
+
+usb:v050Dp0237*
+ ID_MODEL_FROM_DATABASE=F5U237 USB 2.0 7-Port Hub
+
+usb:v050Dp0240*
+ ID_MODEL_FROM_DATABASE=F5U240 USB 2.0 CF Card Reader
+
+usb:v050Dp0249*
+ ID_MODEL_FROM_DATABASE=USB 2 Flash Media Device
+
+usb:v050Dp0257*
+ ID_MODEL_FROM_DATABASE=F5U257 Serial
+
+usb:v050Dp0304*
+ ID_MODEL_FROM_DATABASE=FSU304 USB 2.0 - 4 Ports Hub
+
+usb:v050Dp0307*
+ ID_MODEL_FROM_DATABASE=USB 2.0 - 7 ports Hub [FSU307]
+
+usb:v050Dp0409*
+ ID_MODEL_FROM_DATABASE=F5U409 Serial
+
+usb:v050Dp0551*
+ ID_MODEL_FROM_DATABASE=F6C550-AVR UPS
+
+usb:v050Dp0706*
+ ID_MODEL_FROM_DATABASE=2-N-1 7-Port Hub (Lower half)
+
+usb:v050Dp0802*
+ ID_MODEL_FROM_DATABASE=Nostromo n40 Gamepad
+
+usb:v050Dp0803*
+ ID_MODEL_FROM_DATABASE=Nostromo 1745 GamePad
+
+usb:v050Dp0805*
+ ID_MODEL_FROM_DATABASE=Nostromo N50 GamePad
+
+usb:v050Dp0815*
+ ID_MODEL_FROM_DATABASE=Nostromo n52 HID SpeedPad Mouse Wheel
+
+usb:v050Dp0826*
+ ID_MODEL_FROM_DATABASE=ErgoFit Wireless Optical Mouse (HID)
+
+usb:v050Dp0980*
+ ID_MODEL_FROM_DATABASE=HID UPS Battery
+
+usb:v050Dp1004*
+ ID_MODEL_FROM_DATABASE=F9L1004 802.11n Surf N300 XR Wireless Adapter [Realtek RTL8192CU]
+
+usb:v050Dp1102*
+ ID_MODEL_FROM_DATABASE=F7D1102 N150/Surf Micro Wireless Adapter v1000 [Realtek RTL8188CUS]
+
+usb:v050Dp1103*
+ ID_MODEL_FROM_DATABASE=F9L1103 N750 DB 802.11abgn 2x3:3 [Ralink RT3573]
+
+usb:v050Dp11F2*
+ ID_MODEL_FROM_DATABASE=ISY Wireless Micro Adapter IWL 2000 [RTL8188CUS]
+
+usb:v050Dp1202*
+ ID_MODEL_FROM_DATABASE=F5U120-PC Parallel Printer Port
+
+usb:v050Dp1203*
+ ID_MODEL_FROM_DATABASE=F5U120-PC Serial Port
+
+usb:v050Dp2103*
+ ID_MODEL_FROM_DATABASE=F7D2102 802.11n N300 Micro Wireless Adapter v3000 [Realtek RTL8192CU]
+
+usb:v050Dp21F1*
+ ID_MODEL_FROM_DATABASE=N300 WLAN N Adapter [ISY]
+
+usb:v050Dp258A*
+ ID_MODEL_FROM_DATABASE=F5U258 Host to Host cable
+
+usb:v050Dp3101*
+ ID_MODEL_FROM_DATABASE=F1DF102U/F1DG102U Flip Hub
+
+usb:v050Dp3201*
+ ID_MODEL_FROM_DATABASE=F1DF102U/F1DG102U Flip KVM
+
+usb:v050Dp4050*
+ ID_MODEL_FROM_DATABASE=ZD1211B
+
+usb:v050Dp5055*
+ ID_MODEL_FROM_DATABASE=F5D5055 Gigabit Network Adapter [AX88xxx]
+
+usb:v050Dp6050*
+ ID_MODEL_FROM_DATABASE=F6D6050 802.11abgn Wireless Adapter [Broadcom BCM4323]
+
+usb:v050Dp6051*
+ ID_MODEL_FROM_DATABASE=F5D6051 802.11b Wireless Network Adapter [ZyDAS ZD1201]
+
+usb:v050Dp615A*
+ ID_MODEL_FROM_DATABASE=F7D4101 / F9L1101 802.11abgn Wireless Adapter [Broadcom BCM4323]
+
+usb:v050Dp7050*
+ ID_MODEL_FROM_DATABASE=F5D7050 Wireless G Adapter v1000/v2000 [Intersil ISL3887]
+
+usb:v050Dp7051*
+ ID_MODEL_FROM_DATABASE=F5D7051 802.11g Adapter v1000 [Broadcom 4320 USB]
+
+usb:v050Dp705A*
+ ID_MODEL_FROM_DATABASE=F5D7050 Wireless G Adapter v3000 [Ralink RT2571W]
+
+usb:v050Dp705B*
+ ID_MODEL_FROM_DATABASE=Wireless G Adapter
+
+usb:v050Dp705C*
+ ID_MODEL_FROM_DATABASE=F5D7050 Wireless G Adapter v4000 [Zydas ZD1211B]
+
+usb:v050Dp705E*
+ ID_MODEL_FROM_DATABASE=F5D7050 Wireless G Adapter v5000 [Realtek RTL8187B]
+
+usb:v050Dp706A*
+ ID_MODEL_FROM_DATABASE=2-N-1 7-Port Hub (Upper half)
+
+usb:v050Dp8053*
+ ID_MODEL_FROM_DATABASE=F5D8053 N Wireless USB Adapter v1000/v4000 [Ralink RT2870]
+
+usb:v050Dp805C*
+ ID_MODEL_FROM_DATABASE=F5D8053 N Wireless Adapter v3000 [Ralink RT2870]
+
+usb:v050Dp805E*
+ ID_MODEL_FROM_DATABASE=F5D8053 N Wireless USB Adapter v5000 [Realtek RTL8192U]
+
+usb:v050Dp815C*
+ ID_MODEL_FROM_DATABASE=F5D8053 N Wireless USB Adapter v3000 [Ralink RT2870]
+
+usb:v050Dp815F*
+ ID_MODEL_FROM_DATABASE=F5D8053 N Wireless USB Adapter v6000 [Realtek RTL8192SU]
+
+usb:v050Dp825A*
+ ID_MODEL_FROM_DATABASE=F5D8055 N+ Wireless Adapter v1000 [Ralink RT2870]
+
+usb:v050Dp825B*
+ ID_MODEL_FROM_DATABASE=F5D8055 N+ Wireless Adapter v2000 [Ralink RT3072]
+
+usb:v050Dp845A*
+ ID_MODEL_FROM_DATABASE=F7D2101 802.11n Surf & Share Wireless Adapter v1000 [Realtek RTL8192SU]
+
+usb:v050Dp905B*
+ ID_MODEL_FROM_DATABASE=F5D9050 Wireless G+ MIMO Network Adapter v3000 [Ralink RT2573]
+
+usb:v050Dp905C*
+ ID_MODEL_FROM_DATABASE=F5D9050 Wireless G+ MIMO Network Adapter v4000 [Ralink RT2573]
+
+usb:v050Dp935A*
+ ID_MODEL_FROM_DATABASE=F6D4050 N150 Enhanced Wireless Network Adapter v1000 [Ralink RT3070]
+
+usb:v050Dp935B*
+ ID_MODEL_FROM_DATABASE=F6D4050 N150 Enhanced Wireless Network Adapter v2000 [Ralink RT3070]
+
+usb:v050Dp945A*
+ ID_MODEL_FROM_DATABASE=F7D1101 v1 Basic Wireless Adapter [Realtek RTL8188SU]
+
+usb:v050Dp945B*
+ ID_MODEL_FROM_DATABASE=F7D1101 v2 Basic Wireless Adapter [Ralink RT3370]
+
+usb:v050DpD321*
+ ID_MODEL_FROM_DATABASE=Dynex DX-NUSB 802.11bgn Wireless Adapter [Broadcom BCM43231]
+
+usb:v050E*
+ ID_VENDOR_FROM_DATABASE=Neon Technology, Inc.
+
+usb:v050F*
+ ID_VENDOR_FROM_DATABASE=KC Technology, Inc.
+
+usb:v050Fp0001*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v050Fp0003*
+ ID_MODEL_FROM_DATABASE=KC82C160S Hub
+
+usb:v050Fp0180*
+ ID_MODEL_FROM_DATABASE=KC-180 IrDA Dongle
+
+usb:v050Fp0190*
+ ID_MODEL_FROM_DATABASE=KC2190 USB Host-to-Host cable
+
+usb:v0510*
+ ID_VENDOR_FROM_DATABASE=Sejin Electron, Inc.
+
+usb:v0510p0001*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v0510p1000*
+ ID_MODEL_FROM_DATABASE=Keyboard with PS/2 Mouse Port
+
+usb:v0510pE001*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v0511*
+ ID_VENDOR_FROM_DATABASE=N'Able (DataBook) Technologies, Inc.
+
+usb:v0511p002B*
+ ID_MODEL_FROM_DATABASE=AOC DVB
+
+usb:v0512*
+ ID_VENDOR_FROM_DATABASE=Hualon Microelectronics Corp.
+
+usb:v0513*
+ ID_VENDOR_FROM_DATABASE=digital-X, Inc.
+
+usb:v0514*
+ ID_VENDOR_FROM_DATABASE=FCI Electronics
+
+usb:v0515*
+ ID_VENDOR_FROM_DATABASE=ACTC
+
+usb:v0516*
+ ID_VENDOR_FROM_DATABASE=Longwell Electronics
+
+usb:v0517*
+ ID_VENDOR_FROM_DATABASE=Butterfly Communications
+
+usb:v0518*
+ ID_VENDOR_FROM_DATABASE=EzKEY Corp.
+
+usb:v0518p0001*
+ ID_MODEL_FROM_DATABASE=USB to PS2 Adaptor v1.09
+
+usb:v0518p0002*
+ ID_MODEL_FROM_DATABASE=EZ-9900C Keyboard
+
+usb:v0519*
+ ID_VENDOR_FROM_DATABASE=Star Micronics Co., Ltd
+
+usb:v0519p0003*
+ ID_MODEL_FROM_DATABASE=TSP100ECO/TSP100II
+
+usb:v0519pC002*
+ ID_MODEL_FROM_DATABASE=Xlive Bluetooth XBM-100S MP3 Player
+
+usb:v051A*
+ ID_VENDOR_FROM_DATABASE=WYSE Technology
+
+usb:v051ApA005*
+ ID_MODEL_FROM_DATABASE=Smart Display Version 9973
+
+usb:v051B*
+ ID_VENDOR_FROM_DATABASE=Silicon Graphics
+
+usb:v051C*
+ ID_VENDOR_FROM_DATABASE=Shuttle, Inc.
+
+usb:v051Cp0005*
+ ID_MODEL_FROM_DATABASE=VFD Module
+
+usb:v051CpC001*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v051CpC002*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v051D*
+ ID_VENDOR_FROM_DATABASE=American Power Conversion
+
+usb:v051Dp0001*
+ ID_MODEL_FROM_DATABASE=UPS
+
+usb:v051Dp0002*
+ ID_MODEL_FROM_DATABASE=Uninterruptible Power Supply
+
+usb:v051Dp0003*
+ ID_MODEL_FROM_DATABASE=UPS
+
+usb:v051E*
+ ID_VENDOR_FROM_DATABASE=Scientific Atlanta, Inc.
+
+usb:v051F*
+ ID_VENDOR_FROM_DATABASE=IO Systems (Elite Electronics), Inc.
+
+usb:v0520*
+ ID_VENDOR_FROM_DATABASE=Taiwan Semiconductor Manufacturing Co.
+
+usb:v0521*
+ ID_VENDOR_FROM_DATABASE=Airborn Connectors
+
+usb:v0522*
+ ID_VENDOR_FROM_DATABASE=Advanced Connectek, Inc.
+
+usb:v0523*
+ ID_VENDOR_FROM_DATABASE=ATEN GmbH
+
+usb:v0524*
+ ID_VENDOR_FROM_DATABASE=Sola Electronics
+
+usb:v0525*
+ ID_VENDOR_FROM_DATABASE=Netchip Technology, Inc.
+
+usb:v0525p100D*
+ ID_MODEL_FROM_DATABASE=RFMD Bluetooth Device
+
+usb:v0525p1080*
+ ID_MODEL_FROM_DATABASE=NET1080 USB-USB Bridge
+
+usb:v0525p1200*
+ ID_MODEL_FROM_DATABASE=SSDC Adapter II
+
+usb:v0525p1265*
+ ID_MODEL_FROM_DATABASE=File-backed Storage Gadget
+
+usb:v0525pA0F0*
+ ID_MODEL_FROM_DATABASE=Cambridge Electronic Devices Power1401 mk 2
+
+usb:v0525pA140*
+ ID_MODEL_FROM_DATABASE=USB Clik! 40
+
+usb:v0525pA141*
+ ID_MODEL_FROM_DATABASE=(OME) PocketZip 40 MP3 Player Driver
+
+usb:v0525pA220*
+ ID_MODEL_FROM_DATABASE=GVC Bluetooth Wireless Adapter
+
+usb:v0525pA4A0*
+ ID_MODEL_FROM_DATABASE=Linux-USB "Gadget Zero"
+
+usb:v0525pA4A1*
+ ID_MODEL_FROM_DATABASE=Linux-USB Ethernet Gadget
+
+usb:v0525pA4A2*
+ ID_MODEL_FROM_DATABASE=Linux-USB Ethernet/RNDIS Gadget
+
+usb:v0525pA4A3*
+ ID_MODEL_FROM_DATABASE=Linux-USB user-mode isochronous source/sink
+
+usb:v0525pA4A4*
+ ID_MODEL_FROM_DATABASE=Linux-USB user-mode bulk source/sink
+
+usb:v0525pA4A5*
+ ID_MODEL_FROM_DATABASE=Linux-USB File Storage Gadget
+
+usb:v0525pA4A6*
+ ID_MODEL_FROM_DATABASE=Linux-USB Serial Gadget
+
+usb:v0525pA4A7*
+ ID_MODEL_FROM_DATABASE=Linux-USB Serial Gadget (CDC ACM mode)
+
+usb:v0525pA4A8*
+ ID_MODEL_FROM_DATABASE=Linux-USB Printer Gadget
+
+usb:v0525pA4A9*
+ ID_MODEL_FROM_DATABASE=Linux-USB OBEX Gadget
+
+usb:v0525pA4AA*
+ ID_MODEL_FROM_DATABASE=Linux-USB CDC Composite Gadge (Ethernet and ACM)
+
+usb:v0526*
+ ID_VENDOR_FROM_DATABASE=Temic MHS S.A.
+
+usb:v0527*
+ ID_VENDOR_FROM_DATABASE=ALTRA
+
+usb:v0528*
+ ID_VENDOR_FROM_DATABASE=ATI Technologies, Inc.
+
+usb:v0528p7561*
+ ID_MODEL_FROM_DATABASE=TV Wonder
+
+usb:v0528p7562*
+ ID_MODEL_FROM_DATABASE=TV Wonder, Edition (FN5)
+
+usb:v0528p7563*
+ ID_MODEL_FROM_DATABASE=TV Wonder, Edition (FI)
+
+usb:v0528p7564*
+ ID_MODEL_FROM_DATABASE=TV Wonder, Edition (FQ)
+
+usb:v0528p7565*
+ ID_MODEL_FROM_DATABASE=TV Wonder, Edition (NTSC+)
+
+usb:v0528p7566*
+ ID_MODEL_FROM_DATABASE=TV Wonder, Edition (FN5)
+
+usb:v0528p7567*
+ ID_MODEL_FROM_DATABASE=TV Wonder, Edition (FI)
+
+usb:v0528p7568*
+ ID_MODEL_FROM_DATABASE=TV Wonder, Edition (FQ)
+
+usb:v0528p7569*
+ ID_MODEL_FROM_DATABASE=Live! Pro (A)
+
+usb:v0528p756A*
+ ID_MODEL_FROM_DATABASE=Live! Pro Audio (O)
+
+usb:v0529*
+ ID_VENDOR_FROM_DATABASE=Aladdin Knowledge Systems
+
+usb:v0529p0001*
+ ID_MODEL_FROM_DATABASE=HASP v0.06
+
+usb:v0529p030B*
+ ID_MODEL_FROM_DATABASE=eToken R1 v3.1.3.x
+
+usb:v0529p0313*
+ ID_MODEL_FROM_DATABASE=eToken R1 v3.2.3.x
+
+usb:v0529p031B*
+ ID_MODEL_FROM_DATABASE=eToken R1 v3.3.3.x
+
+usb:v0529p0323*
+ ID_MODEL_FROM_DATABASE=eToken R1 v3.4.3.x
+
+usb:v0529p0412*
+ ID_MODEL_FROM_DATABASE=eToken R2 v2.2.4.x
+
+usb:v0529p041A*
+ ID_MODEL_FROM_DATABASE=eToken R2 v2.2.4.x
+
+usb:v0529p0422*
+ ID_MODEL_FROM_DATABASE=eToken R2 v2.4.4.x
+
+usb:v0529p042A*
+ ID_MODEL_FROM_DATABASE=eToken R2 v2.5.4.x
+
+usb:v0529p050C*
+ ID_MODEL_FROM_DATABASE=eToken Pro v4.1.5.x
+
+usb:v0529p0514*
+ ID_MODEL_FROM_DATABASE=eToken Pro v4.2.5.4
+
+usb:v0529p0600*
+ ID_MODEL_FROM_DATABASE=eToken Pro 64k (4.2)
+
+usb:v0529p0620*
+ ID_MODEL_FROM_DATABASE=Token JC
+
+usb:v052A*
+ ID_VENDOR_FROM_DATABASE=Crescent Heart Software
+
+usb:v052B*
+ ID_VENDOR_FROM_DATABASE=Tekom Technologies, Inc.
+
+usb:v052Bp0102*
+ ID_MODEL_FROM_DATABASE=Ca508A HP1020 Camera v.1.3.1.6
+
+usb:v052Bp0801*
+ ID_MODEL_FROM_DATABASE=Yakumo MegaImage 37
+
+usb:v052Bp1512*
+ ID_MODEL_FROM_DATABASE=Yakumo MegaImage IV
+
+usb:v052Bp1513*
+ ID_MODEL_FROM_DATABASE=Aosta CX100 Webcam
+
+usb:v052Bp1514*
+ ID_MODEL_FROM_DATABASE=Aosta CX100 Webcam Storage
+
+usb:v052Bp1905*
+ ID_MODEL_FROM_DATABASE=Yakumo MegaImage 47
+
+usb:v052Bp1911*
+ ID_MODEL_FROM_DATABASE=Yakumo MegaImage 47 SL
+
+usb:v052Bp2202*
+ ID_MODEL_FROM_DATABASE=WDM Still Image Capture
+
+usb:v052Bp2203*
+ ID_MODEL_FROM_DATABASE=Sound Vision Stream Driver
+
+usb:v052Bp3A06*
+ ID_MODEL_FROM_DATABASE=DigiLife DDV-5120A
+
+usb:v052BpD001*
+ ID_MODEL_FROM_DATABASE=P35U Camera Capture
+
+usb:v052C*
+ ID_VENDOR_FROM_DATABASE=Canon Information Systems, Inc.
+
+usb:v052D*
+ ID_VENDOR_FROM_DATABASE=Avid Electronics Corp.
+
+usb:v052E*
+ ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
+
+usb:v052F*
+ ID_VENDOR_FROM_DATABASE=Unicore Software, Inc.
+
+usb:v0530*
+ ID_VENDOR_FROM_DATABASE=American Microsystems, Inc.
+
+usb:v0531*
+ ID_VENDOR_FROM_DATABASE=Wacom Technology Corp.
+
+usb:v0532*
+ ID_VENDOR_FROM_DATABASE=Systech Corp.
+
+usb:v0533*
+ ID_VENDOR_FROM_DATABASE=Alcatel Mobile Phones
+
+usb:v0534*
+ ID_VENDOR_FROM_DATABASE=Motorola, Inc.
+
+usb:v0535*
+ ID_VENDOR_FROM_DATABASE=LIH TZU Electric Co., Ltd
+
+usb:v0536*
+ ID_VENDOR_FROM_DATABASE=Hand Held Products (Welch Allyn, Inc.)
+
+usb:v0536p01A0*
+ ID_MODEL_FROM_DATABASE=PDT
+
+usb:v0537*
+ ID_VENDOR_FROM_DATABASE=Inventec Corp.
+
+usb:v0538*
+ ID_VENDOR_FROM_DATABASE=Caldera International, Inc. (SCO)
+
+usb:v0539*
+ ID_VENDOR_FROM_DATABASE=Shyh Shiun Terminals Co., Ltd
+
+usb:v053A*
+ ID_VENDOR_FROM_DATABASE=PrehKeyTec GmbH
+
+usb:v053Ap0B00*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v053B*
+ ID_VENDOR_FROM_DATABASE=Global Village Communication
+
+usb:v053C*
+ ID_VENDOR_FROM_DATABASE=Institut of Microelectronic & Mechatronic Systems
+
+usb:v053D*
+ ID_VENDOR_FROM_DATABASE=Silicon Architect
+
+usb:v053E*
+ ID_VENDOR_FROM_DATABASE=Mobility Electronics
+
+usb:v053F*
+ ID_VENDOR_FROM_DATABASE=Synopsys, Inc.
+
+usb:v0540*
+ ID_VENDOR_FROM_DATABASE=UniAccess AB
+
+usb:v0540p0101*
+ ID_MODEL_FROM_DATABASE=Panache Surf ISDN TA
+
+usb:v0541*
+ ID_VENDOR_FROM_DATABASE=Sirf Technology, Inc.
+
+usb:v0543*
+ ID_VENDOR_FROM_DATABASE=ViewSonic Corp.
+
+usb:v0543p00FE*
+ ID_MODEL_FROM_DATABASE=G773 Monitor Hub
+
+usb:v0543p00FF*
+ ID_MODEL_FROM_DATABASE=P815 Monitor Hub
+
+usb:v0543p0BF2*
+ ID_MODEL_FROM_DATABASE=airpanel V150 Wireless Smart Display
+
+usb:v0543p0BF3*
+ ID_MODEL_FROM_DATABASE=airpanel V110 Wireless Smart Display
+
+usb:v0543p0ED9*
+ ID_MODEL_FROM_DATABASE=Color Pocket PC V35
+
+usb:v0543p0F01*
+ ID_MODEL_FROM_DATABASE=airsync Wi-Fi Wireless Adapter
+
+usb:v0543p1527*
+ ID_MODEL_FROM_DATABASE=Color Pocket PC V36
+
+usb:v0543p1529*
+ ID_MODEL_FROM_DATABASE=Color Pocket PC V37
+
+usb:v0543p152B*
+ ID_MODEL_FROM_DATABASE=Color Pocket PC V38
+
+usb:v0543p152E*
+ ID_MODEL_FROM_DATABASE=Pocket PC
+
+usb:v0543p1921*
+ ID_MODEL_FROM_DATABASE=Communicator Pocket PC
+
+usb:v0543p1922*
+ ID_MODEL_FROM_DATABASE=Smartphone
+
+usb:v0543p1923*
+ ID_MODEL_FROM_DATABASE=Pocket PC V30
+
+usb:v0543p1A11*
+ ID_MODEL_FROM_DATABASE=Wireless 802.11g Adapter
+
+usb:v0543p1E60*
+ ID_MODEL_FROM_DATABASE=TA310 - ATSC/NTSC/PAL Driver(PCM4)
+
+usb:v0543p4153*
+ ID_MODEL_FROM_DATABASE=ViewSonic G773 Control (?)
+
+usb:v0544*
+ ID_VENDOR_FROM_DATABASE=Cristie Electronics, Ltd
+
+usb:v0545*
+ ID_VENDOR_FROM_DATABASE=Xirlink, Inc.
+
+usb:v0545p7333*
+ ID_MODEL_FROM_DATABASE=Trution Web Camera
+
+usb:v0545p8002*
+ ID_MODEL_FROM_DATABASE=IBM NetCamera
+
+usb:v0545p8009*
+ ID_MODEL_FROM_DATABASE=Veo PC Camera
+
+usb:v0545p800C*
+ ID_MODEL_FROM_DATABASE=Veo Stingray
+
+usb:v0545p800D*
+ ID_MODEL_FROM_DATABASE=Veo PC Camera
+
+usb:v0545p8080*
+ ID_MODEL_FROM_DATABASE=IBM C-It Webcam
+
+usb:v0545p808A*
+ ID_MODEL_FROM_DATABASE=Veo PC Camera
+
+usb:v0545p808B*
+ ID_MODEL_FROM_DATABASE=Veo Stingray
+
+usb:v0545p808D*
+ ID_MODEL_FROM_DATABASE=Veo PC Camera
+
+usb:v0545p810A*
+ ID_MODEL_FROM_DATABASE=Veo Advanced Connect Webcam
+
+usb:v0545p810B*
+ ID_MODEL_FROM_DATABASE=Veo PC Camera
+
+usb:v0545p810C*
+ ID_MODEL_FROM_DATABASE=Veo PC Camera
+
+usb:v0545p8135*
+ ID_MODEL_FROM_DATABASE=Veo Mobile/Advanced Web Camera
+
+usb:v0545p813A*
+ ID_MODEL_FROM_DATABASE=Veo PC Camera
+
+usb:v0545p813B*
+ ID_MODEL_FROM_DATABASE=Veo PC Camera
+
+usb:v0545p813C*
+ ID_MODEL_FROM_DATABASE=Veo Mobile/Advanced Web Camera
+
+usb:v0545p8333*
+ ID_MODEL_FROM_DATABASE=Veo Stingray/Connect Web Camera
+
+usb:v0545p888C*
+ ID_MODEL_FROM_DATABASE=eVision 123 digital camera
+
+usb:v0545p888D*
+ ID_MODEL_FROM_DATABASE=eVision 123 digital camera
+
+usb:v0546*
+ ID_VENDOR_FROM_DATABASE=Polaroid Corp.
+
+usb:v0546p0DAF*
+ ID_MODEL_FROM_DATABASE=PDC 2300Z
+
+usb:v0546p1BED*
+ ID_MODEL_FROM_DATABASE=PDC 1320 Camera
+
+usb:v0546p3097*
+ ID_MODEL_FROM_DATABASE=PDC 310
+
+usb:v0546p3155*
+ ID_MODEL_FROM_DATABASE=PDC 3070 Camera
+
+usb:v0546p3187*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0546p3191*
+ ID_MODEL_FROM_DATABASE=Ion 80 Camera
+
+usb:v0546p3273*
+ ID_MODEL_FROM_DATABASE=PDC 2030 Camera
+
+usb:v0546p3304*
+ ID_MODEL_FROM_DATABASE=a500 Digital Camera
+
+usb:v0546pDCCF*
+ ID_MODEL_FROM_DATABASE=Sound Vision Stream Driver
+
+usb:v0547*
+ ID_VENDOR_FROM_DATABASE=Anchor Chips, Inc.
+
+usb:v0547p0001*
+ ID_MODEL_FROM_DATABASE=ICSI Bluetooth Device
+
+usb:v0547p1002*
+ ID_MODEL_FROM_DATABASE=Python2 WDM Encoder
+
+usb:v0547p1006*
+ ID_MODEL_FROM_DATABASE=Hantek DSO-2100 UF
+
+usb:v0547p2131*
+ ID_MODEL_FROM_DATABASE=AN2131 EZUSB Microcontroller
+
+usb:v0547p2235*
+ ID_MODEL_FROM_DATABASE=AN2235 EZUSB-FX Microcontroller
+
+usb:v0547p2710*
+ ID_MODEL_FROM_DATABASE=EZ-Link Loader (EZLNKLDR.SYS)
+
+usb:v0547p2720*
+ ID_MODEL_FROM_DATABASE=AN2720 USB-USB Bridge
+
+usb:v0547p2727*
+ ID_MODEL_FROM_DATABASE=Xircom PGUNET USB-USB Bridge
+
+usb:v0547p2750*
+ ID_MODEL_FROM_DATABASE=EZ-Link (EZLNKUSB.SYS)
+
+usb:v0547p2810*
+ ID_MODEL_FROM_DATABASE=Cypress ATAPI Bridge
+
+usb:v0547p7777*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0547p9999*
+ ID_MODEL_FROM_DATABASE=AN2131 uninitialized (?)
+
+usb:v0548*
+ ID_VENDOR_FROM_DATABASE=Tyan Computer Corp.
+
+usb:v0548p1005*
+ ID_MODEL_FROM_DATABASE=EZ Cart II GameBoy Flash Programmer
+
+usb:v0549*
+ ID_VENDOR_FROM_DATABASE=Pixera Corp.
+
+usb:v054A*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Microelectronics, Inc.
+
+usb:v054B*
+ ID_VENDOR_FROM_DATABASE=New Media Corp.
+
+usb:v054C*
+ ID_VENDOR_FROM_DATABASE=Sony Corp.
+
+usb:v054Cp0001*
+ ID_MODEL_FROM_DATABASE=HUB
+
+usb:v054Cp0002*
+ ID_MODEL_FROM_DATABASE=Standard HUB
+
+usb:v054Cp0010*
+ ID_MODEL_FROM_DATABASE=DSC-S30/S70/S75/F505V/F505/FD92/W1 Cybershot/Mavica Digital Camera
+
+usb:v054Cp0014*
+ ID_MODEL_FROM_DATABASE=Nogatech USBVision (SY)
+
+usb:v054Cp0022*
+ ID_MODEL_FROM_DATABASE=Storage Adapter V2 (TPP)
+
+usb:v054Cp0023*
+ ID_MODEL_FROM_DATABASE=CD Writer
+
+usb:v054Cp0024*
+ ID_MODEL_FROM_DATABASE=Mavica CD-1000 Camera
+
+usb:v054Cp0025*
+ ID_MODEL_FROM_DATABASE=NW-MS7 Walkman MemoryStick Reader
+
+usb:v054Cp002B*
+ ID_MODEL_FROM_DATABASE=Portable USB Harddrive V2
+
+usb:v054Cp002C*
+ ID_MODEL_FROM_DATABASE=USB Floppy Disk Drive
+
+usb:v054Cp002D*
+ ID_MODEL_FROM_DATABASE=MSAC-US1 MemoryStick Reader
+
+usb:v054Cp002E*
+ ID_MODEL_FROM_DATABASE=HandyCam MemoryStick Reader
+
+usb:v054Cp0030*
+ ID_MODEL_FROM_DATABASE=Storage Adapter V2 (TPP)
+
+usb:v054Cp0032*
+ ID_MODEL_FROM_DATABASE=MemoryStick MSC-U01 Reader
+
+usb:v054Cp0035*
+ ID_MODEL_FROM_DATABASE=Network Walkman (E)
+
+usb:v054Cp0036*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0037*
+ ID_MODEL_FROM_DATABASE=MG Memory Stick Reader/Writer
+
+usb:v054Cp0038*
+ ID_MODEL_FROM_DATABASE=Clie PEG-S300/D PalmOS PDA
+
+usb:v054Cp0039*
+ ID_MODEL_FROM_DATABASE=Network Walkman (MS)
+
+usb:v054Cp003C*
+ ID_MODEL_FROM_DATABASE=VAIO-MX LCD Control
+
+usb:v054Cp0045*
+ ID_MODEL_FROM_DATABASE=Digital Imaging Video
+
+usb:v054Cp0046*
+ ID_MODEL_FROM_DATABASE=Network Walkman
+
+usb:v054Cp004A*
+ ID_MODEL_FROM_DATABASE=Memory Stick Hi-Fi System
+
+usb:v054Cp004B*
+ ID_MODEL_FROM_DATABASE=Memory Stick Reader/Writer
+
+usb:v054Cp004E*
+ ID_MODEL_FROM_DATABASE=DSC-xxx (ptp)
+
+usb:v054Cp0056*
+ ID_MODEL_FROM_DATABASE=MG Memory Stick Reader/Writer
+
+usb:v054Cp0058*
+ ID_MODEL_FROM_DATABASE=Clie PEG-N7x0C PalmOS PDA Mass Storage
+
+usb:v054Cp0066*
+ ID_MODEL_FROM_DATABASE=Clie PEG-N7x0C/PEG-T425 PalmOS PDA Serial
+
+usb:v054Cp0067*
+ ID_MODEL_FROM_DATABASE=CMR-PC3 Webcam
+
+usb:v054Cp0069*
+ ID_MODEL_FROM_DATABASE=Memorystick MSC-U03 Reader
+
+usb:v054Cp006C*
+ ID_MODEL_FROM_DATABASE=FeliCa S310 [PaSoRi]
+
+usb:v054Cp006D*
+ ID_MODEL_FROM_DATABASE=Clie PEG-T425 PDA Mass Storage
+
+usb:v054Cp006F*
+ ID_MODEL_FROM_DATABASE=Network Walkman (EV)
+
+usb:v054Cp0073*
+ ID_MODEL_FROM_DATABASE=Storage CRX1750U
+
+usb:v054Cp0075*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0076*
+ ID_MODEL_FROM_DATABASE=Storage Adapter ACR-U20
+
+usb:v054Cp007C*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp007F*
+ ID_MODEL_FROM_DATABASE=IC Recorder (MS)
+
+usb:v054Cp0080*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0081*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0084*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0085*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0086*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp008B*
+ ID_MODEL_FROM_DATABASE=Micro Vault 64M Mass Storage
+
+usb:v054Cp0095*
+ ID_MODEL_FROM_DATABASE=Clie s360
+
+usb:v054Cp0099*
+ ID_MODEL_FROM_DATABASE=Clie NR70 PDA Mass Storage
+
+usb:v054Cp009A*
+ ID_MODEL_FROM_DATABASE=Clie NR70 PDA Serial
+
+usb:v054Cp00AB*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera (PCGA-UVC10)
+
+usb:v054Cp00AF*
+ ID_MODEL_FROM_DATABASE=DPP-EX Series Digital Photo Printer
+
+usb:v054Cp00BF*
+ ID_MODEL_FROM_DATABASE=IC Recorder (S)
+
+usb:v054Cp00C0*
+ ID_MODEL_FROM_DATABASE=Handycam DCR-30
+
+usb:v054Cp00C6*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp00C7*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp00C8*
+ ID_MODEL_FROM_DATABASE=MZ-N710 Minidisc Walkman
+
+usb:v054Cp00C9*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp00CA*
+ ID_MODEL_FROM_DATABASE=MZ-DN430 Minidisc Walkman
+
+usb:v054Cp00CB*
+ ID_MODEL_FROM_DATABASE=MSAC-US20 Memory Stick Reader
+
+usb:v054Cp00DA*
+ ID_MODEL_FROM_DATABASE=Clie nx60
+
+usb:v054Cp00E8*
+ ID_MODEL_FROM_DATABASE=Network Walkman (MS)
+
+usb:v054Cp00E9*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v054Cp00EB*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0101*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0103*
+ ID_MODEL_FROM_DATABASE=IC Recorder (ST)
+
+usb:v054Cp0105*
+ ID_MODEL_FROM_DATABASE=Micro Vault Hub
+
+usb:v054Cp0107*
+ ID_MODEL_FROM_DATABASE=VCC-U01 Visual Communication Camera
+
+usb:v054Cp0110*
+ ID_MODEL_FROM_DATABASE=Digital Imaging Video
+
+usb:v054Cp0113*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0116*
+ ID_MODEL_FROM_DATABASE=IC Recorder (P)
+
+usb:v054Cp0144*
+ ID_MODEL_FROM_DATABASE=Clie PEG-TH55 PDA
+
+usb:v054Cp0147*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera (PCGA-UVC11)
+
+usb:v054Cp014C*
+ ID_MODEL_FROM_DATABASE=Aiwa AM-NX9 Net MD Music Recorder MDLP
+
+usb:v054Cp014D*
+ ID_MODEL_FROM_DATABASE=Memory Stick Reader/Writer
+
+usb:v054Cp0154*
+ ID_MODEL_FROM_DATABASE=Eyetoy Audio Device
+
+usb:v054Cp015F*
+ ID_MODEL_FROM_DATABASE=IC Recorder (BM)
+
+usb:v054Cp0169*
+ ID_MODEL_FROM_DATABASE=Clie PEG-TJ35 PDA Serial
+
+usb:v054Cp016A*
+ ID_MODEL_FROM_DATABASE=Clie PEG-TJ35 PDA Mass Storage
+
+usb:v054Cp016B*
+ ID_MODEL_FROM_DATABASE=Mobile HDD
+
+usb:v054Cp016D*
+ ID_MODEL_FROM_DATABASE=IC Recorder (SX)
+
+usb:v054Cp016E*
+ ID_MODEL_FROM_DATABASE=DPP-EX50 Digital Photo Printer
+
+usb:v054Cp0171*
+ ID_MODEL_FROM_DATABASE=Fingerprint Sensor 3500
+
+usb:v054Cp017E*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp017F*
+ ID_MODEL_FROM_DATABASE=Hi-MD WALKMAN
+
+usb:v054Cp0180*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0181*
+ ID_MODEL_FROM_DATABASE=Hi-MD WALKMAN
+
+usb:v054Cp0182*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0183*
+ ID_MODEL_FROM_DATABASE=Hi-MD WALKMAN
+
+usb:v054Cp0184*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0185*
+ ID_MODEL_FROM_DATABASE=Hi-MD WALKMAN
+
+usb:v054Cp0186*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0187*
+ ID_MODEL_FROM_DATABASE=Hi-MD MZ-NH600 WALKMAN
+
+usb:v054Cp0188*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp018A*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp018B*
+ ID_MODEL_FROM_DATABASE=Hi-MD SOUND GATE
+
+usb:v054Cp019E*
+ ID_MODEL_FROM_DATABASE=Micro Vault 1.0G Mass Storage
+
+usb:v054Cp01AD*
+ ID_MODEL_FROM_DATABASE=ATRAC HDD PA
+
+usb:v054Cp01BB*
+ ID_MODEL_FROM_DATABASE=FeliCa S320 [PaSoRi]
+
+usb:v054Cp01BD*
+ ID_MODEL_FROM_DATABASE=MRW62E Multi-Card Reader/Writer
+
+usb:v054Cp01C3*
+ ID_MODEL_FROM_DATABASE=NW-E55 Network Walkman
+
+usb:v054Cp01C6*
+ ID_MODEL_FROM_DATABASE=MEMORY P-AUDIO
+
+usb:v054Cp01C7*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v054Cp01C8*
+ ID_MODEL_FROM_DATABASE=PSP Type A
+
+usb:v054Cp01C9*
+ ID_MODEL_FROM_DATABASE=PSP Type B
+
+usb:v054Cp01D0*
+ ID_MODEL_FROM_DATABASE=DVD+RW External Drive DRU-700A
+
+usb:v054Cp01D5*
+ ID_MODEL_FROM_DATABASE=IC RECORDER
+
+usb:v054Cp01DE*
+ ID_MODEL_FROM_DATABASE=VRD-VC10 [Video Capture]
+
+usb:v054Cp01E9*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp01EA*
+ ID_MODEL_FROM_DATABASE=Hi-MD WALKMAN
+
+usb:v054Cp01EE*
+ ID_MODEL_FROM_DATABASE=IC RECORDER
+
+usb:v054Cp01FA*
+ ID_MODEL_FROM_DATABASE=IC Recorder (P)
+
+usb:v054Cp01FB*
+ ID_MODEL_FROM_DATABASE=NW-E405 Network Walkman
+
+usb:v054Cp020F*
+ ID_MODEL_FROM_DATABASE=Device
+
+usb:v054Cp0210*
+ ID_MODEL_FROM_DATABASE=ATRAC HDD PA
+
+usb:v054Cp0219*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp021A*
+ ID_MODEL_FROM_DATABASE=Hi-MD WALKMAN
+
+usb:v054Cp021B*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp021C*
+ ID_MODEL_FROM_DATABASE=Hi-MD WALKMAN
+
+usb:v054Cp021D*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0227*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v054Cp022C*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp022D*
+ ID_MODEL_FROM_DATABASE=Hi-MD AUDIO
+
+usb:v054Cp0233*
+ ID_MODEL_FROM_DATABASE=ATRAC HDD PA
+
+usb:v054Cp0236*
+ ID_MODEL_FROM_DATABASE=Mobile HDD
+
+usb:v054Cp023B*
+ ID_MODEL_FROM_DATABASE=DVD+RW External Drive DRU-800UL
+
+usb:v054Cp023C*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp023D*
+ ID_MODEL_FROM_DATABASE=Hi-MD WALKMAN
+
+usb:v054Cp0243*
+ ID_MODEL_FROM_DATABASE=MicroVault Flash Drive
+
+usb:v054Cp024B*
+ ID_MODEL_FROM_DATABASE=Vaio VGX Mouse
+
+usb:v054Cp0257*
+ ID_MODEL_FROM_DATABASE=IFU-WLM2 USB Wireless LAN Module (Wireless Mode)
+
+usb:v054Cp0258*
+ ID_MODEL_FROM_DATABASE=IFU-WLM2 USB Wireless LAN Module (Memory Mode)
+
+usb:v054Cp0259*
+ ID_MODEL_FROM_DATABASE=IC RECORDER
+
+usb:v054Cp0267*
+ ID_MODEL_FROM_DATABASE=Tachikoma Device
+
+usb:v054Cp0268*
+ ID_MODEL_FROM_DATABASE=Batoh Device / PlayStation 3 Controller
+
+usb:v054Cp0269*
+ ID_MODEL_FROM_DATABASE=HDD WALKMAN
+
+usb:v054Cp026A*
+ ID_MODEL_FROM_DATABASE=HDD WALKMAN
+
+usb:v054Cp0271*
+ ID_MODEL_FROM_DATABASE=IC Recorder (P)
+
+usb:v054Cp027C*
+ ID_MODEL_FROM_DATABASE=NETWORK WALKMAN
+
+usb:v054Cp027E*
+ ID_MODEL_FROM_DATABASE=SONY Communicator
+
+usb:v054Cp027F*
+ ID_MODEL_FROM_DATABASE=IC RECORDER
+
+usb:v054Cp0286*
+ ID_MODEL_FROM_DATABASE=Net MD
+
+usb:v054Cp0287*
+ ID_MODEL_FROM_DATABASE=Hi-MD WALKMAN
+
+usb:v054Cp0290*
+ ID_MODEL_FROM_DATABASE=VGP-UVC100 Visual Communication Camera
+
+usb:v054Cp029B*
+ ID_MODEL_FROM_DATABASE=PRS-500 eBook reader
+
+usb:v054Cp02A5*
+ ID_MODEL_FROM_DATABASE=MicroVault Flash Drive
+
+usb:v054Cp02AF*
+ ID_MODEL_FROM_DATABASE=Handycam DCR-DVD306E
+
+usb:v054Cp02C4*
+ ID_MODEL_FROM_DATABASE=Device
+
+usb:v054Cp02D1*
+ ID_MODEL_FROM_DATABASE=DVD RW
+
+usb:v054Cp02D2*
+ ID_MODEL_FROM_DATABASE=PSP Slim
+
+usb:v054Cp02E1*
+ ID_MODEL_FROM_DATABASE=FeliCa S330 [PaSoRi]
+
+usb:v054Cp02EA*
+ ID_MODEL_FROM_DATABASE=PlayStation 3 Memory Card Adaptor
+
+usb:v054Cp02F9*
+ ID_MODEL_FROM_DATABASE=DSC-H9
+
+usb:v054Cp0317*
+ ID_MODEL_FROM_DATABASE=WALKMAN
+
+usb:v054Cp031A*
+ ID_MODEL_FROM_DATABASE=Walkman NWD-B103F
+
+usb:v054Cp031E*
+ ID_MODEL_FROM_DATABASE=PRS-300/PRS-505 eBook reader
+
+usb:v054Cp0325*
+ ID_MODEL_FROM_DATABASE=NWZ-A818
+
+usb:v054Cp033E*
+ ID_MODEL_FROM_DATABASE=DSC-W120/W290
+
+usb:v054Cp0346*
+ ID_MODEL_FROM_DATABASE=Handycam DCR-SR55E
+
+usb:v054Cp0348*
+ ID_MODEL_FROM_DATABASE=HandyCam HDR-TG3E
+
+usb:v054Cp035B*
+ ID_MODEL_FROM_DATABASE=Walkman NWZ-A828
+
+usb:v054Cp035C*
+ ID_MODEL_FROM_DATABASE=NWZ-A726/A728/A729
+
+usb:v054Cp0382*
+ ID_MODEL_FROM_DATABASE=Memory Stick PRO-HG Duo Adaptor (MSAC-UAH1)
+
+usb:v054Cp0385*
+ ID_MODEL_FROM_DATABASE=Walkman NWZ-E436F
+
+usb:v054Cp0387*
+ ID_MODEL_FROM_DATABASE=IC Recorder (P)
+
+usb:v054Cp03BC*
+ ID_MODEL_FROM_DATABASE=Webbie HD - MHS-CM1
+
+usb:v054Cp03D1*
+ ID_MODEL_FROM_DATABASE=DPF-X95
+
+usb:v054Cp03D3*
+ ID_MODEL_FROM_DATABASE=DR-BT100CX
+
+usb:v054Cp03D5*
+ ID_MODEL_FROM_DATABASE=PlayStation Move motion controller
+
+usb:v054Cp03FC*
+ ID_MODEL_FROM_DATABASE=WALKMAN [NWZ-E345]
+
+usb:v054Cp03FD*
+ ID_MODEL_FROM_DATABASE=Walkman NWZ-E443
+
+usb:v054Cp042F*
+ ID_MODEL_FROM_DATABASE=PlayStation Move navigation controller
+
+usb:v054Cp0440*
+ ID_MODEL_FROM_DATABASE=DSC-H55
+
+usb:v054Cp0485*
+ ID_MODEL_FROM_DATABASE=MHS-PM5 HD camcorder
+
+usb:v054Cp04CB*
+ ID_MODEL_FROM_DATABASE=WALKMAN NWZ-E354
+
+usb:v054Cp1000*
+ ID_MODEL_FROM_DATABASE=Wireless Buzz! Receiver
+
+usb:v054D*
+ ID_VENDOR_FROM_DATABASE=Try Corp.
+
+usb:v054E*
+ ID_VENDOR_FROM_DATABASE=Proside Corp.
+
+usb:v054F*
+ ID_VENDOR_FROM_DATABASE=WYSE Technology Taiwan
+
+usb:v0550*
+ ID_VENDOR_FROM_DATABASE=Fuji Xerox Co., Ltd
+
+usb:v0550p0002*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v0550p0004*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v0550p0005*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v0551*
+ ID_VENDOR_FROM_DATABASE=CompuTrend Systems, Inc.
+
+usb:v0552*
+ ID_VENDOR_FROM_DATABASE=Philips Monitors
+
+usb:v0553*
+ ID_VENDOR_FROM_DATABASE=STMicroelectronics Imaging Division (VLSI Vision)
+
+usb:v0553p0001*
+ ID_MODEL_FROM_DATABASE=TerraCAM
+
+usb:v0553p0002*
+ ID_MODEL_FROM_DATABASE=CPiA Webcam
+
+usb:v0553p0100*
+ ID_MODEL_FROM_DATABASE=STV0672 Camera
+
+usb:v0553p0140*
+ ID_MODEL_FROM_DATABASE=Video Camera
+
+usb:v0553p0150*
+ ID_MODEL_FROM_DATABASE=CDE CAM 100
+
+usb:v0553p0151*
+ ID_MODEL_FROM_DATABASE=Digital Blue QX5 Microscope
+
+usb:v0553p0200*
+ ID_MODEL_FROM_DATABASE=Dual-mode Camera0
+
+usb:v0553p0201*
+ ID_MODEL_FROM_DATABASE=Dual-mode Camera1
+
+usb:v0553p0202*
+ ID_MODEL_FROM_DATABASE=STV0680 Camera
+
+usb:v0553p0674*
+ ID_MODEL_FROM_DATABASE=Multi-mode Camera
+
+usb:v0553p0679*
+ ID_MODEL_FROM_DATABASE=NMS Video Camera (Webcam)
+
+usb:v0553p1002*
+ ID_MODEL_FROM_DATABASE=Che-ez! Splash
+
+usb:v0554*
+ ID_VENDOR_FROM_DATABASE=Dictaphone Corp.
+
+usb:v0555*
+ ID_VENDOR_FROM_DATABASE=ANAM S&T Co., Ltd
+
+usb:v0556*
+ ID_VENDOR_FROM_DATABASE=Asahi Kasei Microsystems Co., Ltd
+
+usb:v0556p0001*
+ ID_MODEL_FROM_DATABASE=AK5370 I/F A/D Converter
+
+usb:v0557*
+ ID_VENDOR_FROM_DATABASE=ATEN International Co., Ltd
+
+usb:v0557p2001*
+ ID_MODEL_FROM_DATABASE=UC-1284 Printer Port
+
+usb:v0557p2002*
+ ID_MODEL_FROM_DATABASE=10Mbps Ethernet [klsi]
+
+usb:v0557p2004*
+ ID_MODEL_FROM_DATABASE=UC-100KM PS/2 Mouse and Keyboard adapter
+
+usb:v0557p2006*
+ ID_MODEL_FROM_DATABASE=UC-1284B Printer Port
+
+usb:v0557p2007*
+ ID_MODEL_FROM_DATABASE=UC-110T 100Mbps Ethernet [pegasus]
+
+usb:v0557p2008*
+ ID_MODEL_FROM_DATABASE=UC-232A Serial Port [pl2303]
+
+usb:v0557p2009*
+ ID_MODEL_FROM_DATABASE=UC-210T Ethernet
+
+usb:v0557p2011*
+ ID_MODEL_FROM_DATABASE=UC-2324 4xSerial Ports [mos7840]
+
+usb:v0557p2202*
+ ID_MODEL_FROM_DATABASE=CS124U Miniview II KVM Switch
+
+usb:v0557p2213*
+ ID_MODEL_FROM_DATABASE=CS682 2-Port USB 2.0 DVI KVM Switch
+
+usb:v0557p2221*
+ ID_MODEL_FROM_DATABASE=Winbond Hermon
+
+usb:v0557p2404*
+ ID_MODEL_FROM_DATABASE=4-port switch
+
+usb:v0557p2600*
+ ID_MODEL_FROM_DATABASE=IDE Bridge
+
+usb:v0557p2701*
+ ID_MODEL_FROM_DATABASE=CE700A KVM Extender
+
+usb:v0557p4000*
+ ID_MODEL_FROM_DATABASE=DSB-650 10Mbps Ethernet [klsi]
+
+usb:v0557p7000*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v0557p7820*
+ ID_MODEL_FROM_DATABASE=UC-2322 2xSerial Ports [mos7820]
+
+usb:v0558*
+ ID_VENDOR_FROM_DATABASE=Truevision, Inc.
+
+usb:v0558p1009*
+ ID_MODEL_FROM_DATABASE=GW Instek GDS-1000 Oscilloscope
+
+usb:v0558p100A*
+ ID_MODEL_FROM_DATABASE=GW Instek GDS-1000A Oscilloscope
+
+usb:v0558p2009*
+ ID_MODEL_FROM_DATABASE=GW Instek GDS-2000 Oscilloscope
+
+usb:v0559*
+ ID_VENDOR_FROM_DATABASE=Cadence Design Systems, Inc.
+
+usb:v055A*
+ ID_VENDOR_FROM_DATABASE=Kenwood USA
+
+usb:v055B*
+ ID_VENDOR_FROM_DATABASE=KnowledgeTek, Inc.
+
+usb:v055C*
+ ID_VENDOR_FROM_DATABASE=Proton Electronic Ind.
+
+usb:v055D*
+ ID_VENDOR_FROM_DATABASE=Samsung Electro-Mechanics Co.
+
+usb:v055Dp0001*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v055Dp0BB1*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v055Dp1030*
+ ID_MODEL_FROM_DATABASE=Optical Wheel Mouse (OMS3CB/OMGB30)
+
+usb:v055Dp1031*
+ ID_MODEL_FROM_DATABASE=Optical Wheel Mouse (OMA3CB/OMGI30)
+
+usb:v055Dp1040*
+ ID_MODEL_FROM_DATABASE=Mouse HID Device
+
+usb:v055Dp1050*
+ ID_MODEL_FROM_DATABASE=E-Mail Optical Wheel Mouse (OMS3CE)
+
+usb:v055Dp1080*
+ ID_MODEL_FROM_DATABASE=Optical Wheel Mouse (OMS3CH)
+
+usb:v055Dp2020*
+ ID_MODEL_FROM_DATABASE=Floppy Disk Drive
+
+usb:v055Dp6780*
+ ID_MODEL_FROM_DATABASE=Keyboard V1
+
+usb:v055Dp6781*
+ ID_MODEL_FROM_DATABASE=Keyboard Mouse
+
+usb:v055Dp8001*
+ ID_MODEL_FROM_DATABASE=E.M. Hub
+
+usb:v055Dp9000*
+ ID_MODEL_FROM_DATABASE=AnyCam [pwc]
+
+usb:v055Dp9001*
+ ID_MODEL_FROM_DATABASE=MPC-C30 AnyCam Premium for Notebooks [pwc]
+
+usb:v055DpA000*
+ ID_MODEL_FROM_DATABASE=SWL-2100U
+
+usb:v055DpA010*
+ ID_MODEL_FROM_DATABASE=WLAN Adapter(SWL-2300)
+
+usb:v055DpA011*
+ ID_MODEL_FROM_DATABASE=Boot Device
+
+usb:v055DpA012*
+ ID_MODEL_FROM_DATABASE=WLAN Adapter(SWL-2300)
+
+usb:v055DpA013*
+ ID_MODEL_FROM_DATABASE=WLAN Adapter(SWL-2350)
+
+usb:v055DpA230*
+ ID_MODEL_FROM_DATABASE=Boot Device
+
+usb:v055DpB000*
+ ID_MODEL_FROM_DATABASE=11Mbps WLAN Mini Adapter
+
+usb:v055DpB230*
+ ID_MODEL_FROM_DATABASE=Netopia 802.11b WLAN Adapter
+
+usb:v055DpB231*
+ ID_MODEL_FROM_DATABASE=LG Wireless LAN 11b Adapter
+
+usb:v055E*
+ ID_VENDOR_FROM_DATABASE=CTX Opto-Electronics Corp.
+
+usb:v055F*
+ ID_VENDOR_FROM_DATABASE=Mustek Systems, Inc.
+
+usb:v055Fp0001*
+ ID_MODEL_FROM_DATABASE=ScanExpress 1200 CU
+
+usb:v055Fp0002*
+ ID_MODEL_FROM_DATABASE=ScanExpress 600 CU
+
+usb:v055Fp0003*
+ ID_MODEL_FROM_DATABASE=ScanExpress 1200 USB
+
+usb:v055Fp0006*
+ ID_MODEL_FROM_DATABASE=ScanExpress 1200 UB
+
+usb:v055Fp0007*
+ ID_MODEL_FROM_DATABASE=ScanExpress 1200 USB Plus
+
+usb:v055Fp0008*
+ ID_MODEL_FROM_DATABASE=ScanExpress 1200 CU Plus
+
+usb:v055Fp0010*
+ ID_MODEL_FROM_DATABASE=BearPaw 1200F
+
+usb:v055Fp0210*
+ ID_MODEL_FROM_DATABASE=ScanExpress A3 USB
+
+usb:v055Fp0218*
+ ID_MODEL_FROM_DATABASE=BearPaw 2400 TA
+
+usb:v055Fp0219*
+ ID_MODEL_FROM_DATABASE=BearPaw 2400 TA Plus
+
+usb:v055Fp021A*
+ ID_MODEL_FROM_DATABASE=BearPaw 2448 TA Plus
+
+usb:v055Fp021B*
+ ID_MODEL_FROM_DATABASE=BearPaw 1200 CU Plus
+
+usb:v055Fp021C*
+ ID_MODEL_FROM_DATABASE=BearPaw 1200 CU Plus
+
+usb:v055Fp021D*
+ ID_MODEL_FROM_DATABASE=BearPaw 2400 CU Plus
+
+usb:v055Fp021E*
+ ID_MODEL_FROM_DATABASE=BearPaw 1200 TA/CS
+
+usb:v055Fp021F*
+ ID_MODEL_FROM_DATABASE=SNAPSCAN e22
+
+usb:v055Fp0400*
+ ID_MODEL_FROM_DATABASE=BearPaw 2400 TA Pro
+
+usb:v055Fp0401*
+ ID_MODEL_FROM_DATABASE=P 3600 A3 Pro
+
+usb:v055Fp0408*
+ ID_MODEL_FROM_DATABASE=BearPaw 2448 CU Pro
+
+usb:v055Fp0409*
+ ID_MODEL_FROM_DATABASE=BearPaw 2448 TA Pro
+
+usb:v055Fp040B*
+ ID_MODEL_FROM_DATABASE=ScanExpress A3 USB 1200 PRO
+
+usb:v055Fp0873*
+ ID_MODEL_FROM_DATABASE=ScanExpress 600 USB
+
+usb:v055Fp1000*
+ ID_MODEL_FROM_DATABASE=BearPaw 4800 TA Pro
+
+usb:v055FpA350*
+ ID_MODEL_FROM_DATABASE=gSmart 350 Camera
+
+usb:v055FpA800*
+ ID_MODEL_FROM_DATABASE=MDC 800 Camera
+
+usb:v055FpB500*
+ ID_MODEL_FROM_DATABASE=MDC 3000 Camera
+
+usb:v055FpC005*
+ ID_MODEL_FROM_DATABASE=PC CAM 300A
+
+usb:v055FpC200*
+ ID_MODEL_FROM_DATABASE=gSmart 300
+
+usb:v055FpC211*
+ ID_MODEL_FROM_DATABASE=Kowa Bs888e Microcamera
+
+usb:v055FpC220*
+ ID_MODEL_FROM_DATABASE=gSmart mini
+
+usb:v055FpC230*
+ ID_MODEL_FROM_DATABASE=Digicam 330K
+
+usb:v055FpC232*
+ ID_MODEL_FROM_DATABASE=MDC3500 Camera
+
+usb:v055FpC360*
+ ID_MODEL_FROM_DATABASE=DV 4000 Camera
+
+usb:v055FpC420*
+ ID_MODEL_FROM_DATABASE=gSmart mini 2 Camera
+
+usb:v055FpC430*
+ ID_MODEL_FROM_DATABASE=gSmart LCD 2 Camera
+
+usb:v055FpC440*
+ ID_MODEL_FROM_DATABASE=DV 3000 Camera
+
+usb:v055FpC520*
+ ID_MODEL_FROM_DATABASE=gSmart mini 3 Camera
+
+usb:v055FpC530*
+ ID_MODEL_FROM_DATABASE=gSmart LCD 2 Camera
+
+usb:v055FpC540*
+ ID_MODEL_FROM_DATABASE=gSmart D30 Camera
+
+usb:v055FpC630*
+ ID_MODEL_FROM_DATABASE=MDC 4000 Camera
+
+usb:v055FpC631*
+ ID_MODEL_FROM_DATABASE=MDC 4000 Camera
+
+usb:v055FpC650*
+ ID_MODEL_FROM_DATABASE=MDC 5500Z Camera
+
+usb:v055FpD001*
+ ID_MODEL_FROM_DATABASE=WCam 300
+
+usb:v055FpD003*
+ ID_MODEL_FROM_DATABASE=WCam 300A
+
+usb:v055FpD004*
+ ID_MODEL_FROM_DATABASE=WCam 300AN
+
+usb:v0560*
+ ID_VENDOR_FROM_DATABASE=Interface Corp.
+
+usb:v0561*
+ ID_VENDOR_FROM_DATABASE=Oasis Design, Inc.
+
+usb:v0562*
+ ID_VENDOR_FROM_DATABASE=Telex Communications, Inc.
+
+usb:v0562p0001*
+ ID_MODEL_FROM_DATABASE=Enhanced Microphone
+
+usb:v0562p0002*
+ ID_MODEL_FROM_DATABASE=Telex Microphone
+
+usb:v0563*
+ ID_VENDOR_FROM_DATABASE=Immersion Corp.
+
+usb:v0564*
+ ID_VENDOR_FROM_DATABASE=Kodak Digital Product Center, Japan Ltd. (formerly Chinon Industries Inc.)
+
+usb:v0565*
+ ID_VENDOR_FROM_DATABASE=Peracom Networks, Inc.
+
+usb:v0565p0001*
+ ID_MODEL_FROM_DATABASE=Serial Port [etek]
+
+usb:v0565p0002*
+ ID_MODEL_FROM_DATABASE=Enet Ethernet [klsi]
+
+usb:v0565p0003*
+ ID_MODEL_FROM_DATABASE=@Home Networks Ethernet [klsi]
+
+usb:v0565p0005*
+ ID_MODEL_FROM_DATABASE=Enet2 Ethernet [klsi]
+
+usb:v0565p0041*
+ ID_MODEL_FROM_DATABASE=Peracom Remote NDIS Ethernet Adapter
+
+usb:v0566*
+ ID_VENDOR_FROM_DATABASE=Monterey International Corp.
+
+usb:v0566p0110*
+ ID_MODEL_FROM_DATABASE=ViewMate Desktop Mouse CC2201
+
+usb:v0566p1001*
+ ID_MODEL_FROM_DATABASE=ViewMate Desktop Mouse CC2201
+
+usb:v0566p1002*
+ ID_MODEL_FROM_DATABASE=ViewMate Desktop Mouse CC2201
+
+usb:v0566p1003*
+ ID_MODEL_FROM_DATABASE=ViewMate Desktop Mouse CC2201
+
+usb:v0566p1004*
+ ID_MODEL_FROM_DATABASE=ViewMate Desktop Mouse CC2201
+
+usb:v0566p1005*
+ ID_MODEL_FROM_DATABASE=ViewMate Desktop Mouse CC2201
+
+usb:v0566p1006*
+ ID_MODEL_FROM_DATABASE=ViewMate Desktop Mouse CC2201
+
+usb:v0566p1007*
+ ID_MODEL_FROM_DATABASE=ViewMate Desktop Mouse CC2201
+
+usb:v0566p2800*
+ ID_MODEL_FROM_DATABASE=MIC K/B
+
+usb:v0566p2801*
+ ID_MODEL_FROM_DATABASE=MIC K/B Mouse
+
+usb:v0566p2802*
+ ID_MODEL_FROM_DATABASE=Kbd Hub
+
+usb:v0566p3004*
+ ID_MODEL_FROM_DATABASE=Genius KB-29E
+
+usb:v0566p3107*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v0567*
+ ID_VENDOR_FROM_DATABASE=Xyratex International, Ltd
+
+usb:v0568*
+ ID_VENDOR_FROM_DATABASE=Quartz Ingenierie
+
+usb:v0569*
+ ID_VENDOR_FROM_DATABASE=SegaSoft
+
+usb:v056A*
+ ID_VENDOR_FROM_DATABASE=Wacom Co., Ltd
+
+usb:v056Ap0000*
+ ID_MODEL_FROM_DATABASE=PenPartner
+
+usb:v056Ap0001*
+ ID_MODEL_FROM_DATABASE=PenPartner 4x5
+
+usb:v056Ap0002*
+ ID_MODEL_FROM_DATABASE=PenPartner 6x8
+
+usb:v056Ap0003*
+ ID_MODEL_FROM_DATABASE=Cintiq Partner
+
+usb:v056Ap0010*
+ ID_MODEL_FROM_DATABASE=Graphire
+
+usb:v056Ap0011*
+ ID_MODEL_FROM_DATABASE=Graphire 2 4x5
+
+usb:v056Ap0012*
+ ID_MODEL_FROM_DATABASE=Graphire 2 5x7
+
+usb:v056Ap0013*
+ ID_MODEL_FROM_DATABASE=Graphire 3 4x5
+
+usb:v056Ap0014*
+ ID_MODEL_FROM_DATABASE=Graphire 3 6x8
+
+usb:v056Ap0015*
+ ID_MODEL_FROM_DATABASE=Graphire 4 4x5
+
+usb:v056Ap0016*
+ ID_MODEL_FROM_DATABASE=Graphire 4 6x8
+
+usb:v056Ap0017*
+ ID_MODEL_FROM_DATABASE=CTE-450 [Bamboo Fun]
+
+usb:v056Ap0018*
+ ID_MODEL_FROM_DATABASE=Bamboo Fun 6x8
+
+usb:v056Ap0019*
+ ID_MODEL_FROM_DATABASE=Bamboo One Medium
+
+usb:v056Ap0020*
+ ID_MODEL_FROM_DATABASE=Intuos 4x5
+
+usb:v056Ap0021*
+ ID_MODEL_FROM_DATABASE=Intuos 6x8
+
+usb:v056Ap0022*
+ ID_MODEL_FROM_DATABASE=Intuos 9x12
+
+usb:v056Ap0023*
+ ID_MODEL_FROM_DATABASE=Intuos 12x12
+
+usb:v056Ap0024*
+ ID_MODEL_FROM_DATABASE=Intuos 12x18
+
+usb:v056Ap0026*
+ ID_MODEL_FROM_DATABASE=Intuos5 touch S
+
+usb:v056Ap0027*
+ ID_MODEL_FROM_DATABASE=Intuos5 touch M
+
+usb:v056Ap0028*
+ ID_MODEL_FROM_DATABASE=Intuos5 touch L
+
+usb:v056Ap0029*
+ ID_MODEL_FROM_DATABASE=Intuos5 S
+
+usb:v056Ap002A*
+ ID_MODEL_FROM_DATABASE=Intuos5 M
+
+usb:v056Ap0030*
+ ID_MODEL_FROM_DATABASE=PL400
+
+usb:v056Ap0031*
+ ID_MODEL_FROM_DATABASE=PL500
+
+usb:v056Ap0032*
+ ID_MODEL_FROM_DATABASE=PL600
+
+usb:v056Ap0033*
+ ID_MODEL_FROM_DATABASE=PL600SX
+
+usb:v056Ap0034*
+ ID_MODEL_FROM_DATABASE=PL550
+
+usb:v056Ap0035*
+ ID_MODEL_FROM_DATABASE=PL800
+
+usb:v056Ap0037*
+ ID_MODEL_FROM_DATABASE=PL700
+
+usb:v056Ap0038*
+ ID_MODEL_FROM_DATABASE=PL510
+
+usb:v056Ap0039*
+ ID_MODEL_FROM_DATABASE=DTU-710
+
+usb:v056Ap003F*
+ ID_MODEL_FROM_DATABASE=Cintiq 21UX (DTZ-2100)
+
+usb:v056Ap0041*
+ ID_MODEL_FROM_DATABASE=Intuos2 4x5
+
+usb:v056Ap0042*
+ ID_MODEL_FROM_DATABASE=Intuos2 6x8
+
+usb:v056Ap0043*
+ ID_MODEL_FROM_DATABASE=Intuos2 9x12
+
+usb:v056Ap0044*
+ ID_MODEL_FROM_DATABASE=Intuos2 12x12
+
+usb:v056Ap0045*
+ ID_MODEL_FROM_DATABASE=Intuos2 12x18
+
+usb:v056Ap0047*
+ ID_MODEL_FROM_DATABASE=Intuos2 6x8
+
+usb:v056Ap0060*
+ ID_MODEL_FROM_DATABASE=Volito
+
+usb:v056Ap0061*
+ ID_MODEL_FROM_DATABASE=PenStation2
+
+usb:v056Ap0062*
+ ID_MODEL_FROM_DATABASE=Volito2 4x5
+
+usb:v056Ap0063*
+ ID_MODEL_FROM_DATABASE=Volito2 2x3
+
+usb:v056Ap0064*
+ ID_MODEL_FROM_DATABASE=PenPartner2
+
+usb:v056Ap0065*
+ ID_MODEL_FROM_DATABASE=Bamboo
+
+usb:v056Ap0069*
+ ID_MODEL_FROM_DATABASE=Bamboo One
+
+usb:v056Ap0081*
+ ID_MODEL_FROM_DATABASE=Graphire Wireless 6x8
+
+usb:v056Ap0090*
+ ID_MODEL_FROM_DATABASE=TPC90
+
+usb:v056Ap0093*
+ ID_MODEL_FROM_DATABASE=TPC93
+
+usb:v056Ap009A*
+ ID_MODEL_FROM_DATABASE=TPC9A
+
+usb:v056Ap00B0*
+ ID_MODEL_FROM_DATABASE=Intuos3 4x5
+
+usb:v056Ap00B1*
+ ID_MODEL_FROM_DATABASE=Intuos3 6x18
+
+usb:v056Ap00B2*
+ ID_MODEL_FROM_DATABASE=Intuos3 9x12
+
+usb:v056Ap00B3*
+ ID_MODEL_FROM_DATABASE=Intuos3 12x12
+
+usb:v056Ap00B4*
+ ID_MODEL_FROM_DATABASE=Intuos3 12x19
+
+usb:v056Ap00B5*
+ ID_MODEL_FROM_DATABASE=Intuos3 6x11 (PTZ-631W)
+
+usb:v056Ap00B7*
+ ID_MODEL_FROM_DATABASE=Intuos3 4x6
+
+usb:v056Ap00B8*
+ ID_MODEL_FROM_DATABASE=Intuos4 4x6
+
+usb:v056Ap00B9*
+ ID_MODEL_FROM_DATABASE=Intuos4 6x9
+
+usb:v056Ap00BA*
+ ID_MODEL_FROM_DATABASE=Intuos4 8x13
+
+usb:v056Ap00BB*
+ ID_MODEL_FROM_DATABASE=Intuos4 12x19
+
+usb:v056Ap00C0*
+ ID_MODEL_FROM_DATABASE=DTF-521
+
+usb:v056Ap00C4*
+ ID_MODEL_FROM_DATABASE=DTF-720
+
+usb:v056Ap00C5*
+ ID_MODEL_FROM_DATABASE=Cintiq 20WSX
+
+usb:v056Ap00C6*
+ ID_MODEL_FROM_DATABASE=Cintiq 12WX
+
+usb:v056Ap00C7*
+ ID_MODEL_FROM_DATABASE=DTU-1931
+
+usb:v056Ap00CC*
+ ID_MODEL_FROM_DATABASE=Cintiq 21UX (DTK-2100)
+
+usb:v056Ap00D1*
+ ID_MODEL_FROM_DATABASE=Bamboo Pen & Touch (CTH-460-DE)
+
+usb:v056Ap00D3*
+ ID_MODEL_FROM_DATABASE=Bamboo Fun (CTH-661)
+
+usb:v056Ap00D6*
+ ID_MODEL_FROM_DATABASE=Bamboo Pen & Touch (CTH-460)
+
+usb:v056Ap00DB*
+ ID_MODEL_FROM_DATABASE=Bamboo Fun (CTH-661SE-NL)
+
+usb:v056Ap00DD*
+ ID_MODEL_FROM_DATABASE=Bamboo Pen (CTL-470)
+
+usb:v056Ap00F6*
+ ID_MODEL_FROM_DATABASE=Cintiq 24HD touch (DTH-2400) touchscreen
+
+usb:v056Ap00F8*
+ ID_MODEL_FROM_DATABASE=Cintiq 24HD touch (DTH-2400) tablet
+
+usb:v056Ap0400*
+ ID_MODEL_FROM_DATABASE=PenPartner 4x5
+
+usb:v056Ap4850*
+ ID_MODEL_FROM_DATABASE=PenPartner 6x8
+
+usb:v056B*
+ ID_VENDOR_FROM_DATABASE=Decicon, Inc.
+
+usb:v056C*
+ ID_VENDOR_FROM_DATABASE=eTEK Labs
+
+usb:v056Cp0006*
+ ID_MODEL_FROM_DATABASE=KwikLink Host-Host Connector
+
+usb:v056Cp8007*
+ ID_MODEL_FROM_DATABASE=Kwik232 Serial Port
+
+usb:v056Cp8100*
+ ID_MODEL_FROM_DATABASE=KwikLink Host-Host Connector
+
+usb:v056Cp8101*
+ ID_MODEL_FROM_DATABASE=KwikLink USB-USB Bridge
+
+usb:v056D*
+ ID_VENDOR_FROM_DATABASE=EIZO Corp.
+
+usb:v056Dp0000*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v056Dp0001*
+ ID_MODEL_FROM_DATABASE=Monitor
+
+usb:v056Dp0002*
+ ID_MODEL_FROM_DATABASE=HID Monitor Controls
+
+usb:v056Dp0003*
+ ID_MODEL_FROM_DATABASE=Device Bay Controller
+
+usb:v056E*
+ ID_VENDOR_FROM_DATABASE=Elecom Co., Ltd
+
+usb:v056Ep0002*
+ ID_MODEL_FROM_DATABASE=29UO Mouse
+
+usb:v056Ep0072*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v056Ep200C*
+ ID_MODEL_FROM_DATABASE=LD-USB/TX
+
+usb:v056Ep4002*
+ ID_MODEL_FROM_DATABASE=Laneed 100Mbps Ethernet LD-USB/TX [pegasus]
+
+usb:v056Ep4005*
+ ID_MODEL_FROM_DATABASE=LD-USBL/TX
+
+usb:v056Ep400B*
+ ID_MODEL_FROM_DATABASE=LD-USB/TX
+
+usb:v056Ep4010*
+ ID_MODEL_FROM_DATABASE=LD-USB20
+
+usb:v056Ep5003*
+ ID_MODEL_FROM_DATABASE=UC-SGT
+
+usb:v056Ep5004*
+ ID_MODEL_FROM_DATABASE=UC-SGT
+
+usb:v056Ep6008*
+ ID_MODEL_FROM_DATABASE=Flash Disk
+
+usb:v056EpABC1*
+ ID_MODEL_FROM_DATABASE=LD-USB/TX
+
+usb:v056F*
+ ID_VENDOR_FROM_DATABASE=Korea Data Systems Co., Ltd
+
+usb:v056FpCD00*
+ ID_MODEL_FROM_DATABASE=CDM-751 CD organizer
+
+usb:v0570*
+ ID_VENDOR_FROM_DATABASE=Epson America
+
+usb:v0571*
+ ID_VENDOR_FROM_DATABASE=Interex, Inc.
+
+usb:v0571p0002*
+ ID_MODEL_FROM_DATABASE=echoFX InterView Lite
+
+usb:v0572*
+ ID_VENDOR_FROM_DATABASE=Conexant Systems (Rockwell), Inc.
+
+usb:v0572p0001*
+ ID_MODEL_FROM_DATABASE=Ezcam II Webcam
+
+usb:v0572p0002*
+ ID_MODEL_FROM_DATABASE=Ezcam II Webcam
+
+usb:v0572p0040*
+ ID_MODEL_FROM_DATABASE=Wondereye CP-115 Webcam
+
+usb:v0572p0041*
+ ID_MODEL_FROM_DATABASE=Webcam Notebook
+
+usb:v0572p0042*
+ ID_MODEL_FROM_DATABASE=Webcam Notebook
+
+usb:v0572p1232*
+ ID_MODEL_FROM_DATABASE=V.90 modem
+
+usb:v0572p1234*
+ ID_MODEL_FROM_DATABASE=Typhoon Redfun Modem V90 56k
+
+usb:v0572p1252*
+ ID_MODEL_FROM_DATABASE=HCF V90 Data Fax Voice Modem
+
+usb:v0572p1253*
+ ID_MODEL_FROM_DATABASE=Zoom V.92 Faxmodem
+
+usb:v0572p1300*
+ ID_MODEL_FROM_DATABASE=SoftK56 Data Fax Voice CARP
+
+usb:v0572p1301*
+ ID_MODEL_FROM_DATABASE=Modem Enumerator
+
+usb:v0572p1328*
+ ID_MODEL_FROM_DATABASE=TrendNet TFM-561 modem
+
+usb:v0572p2000*
+ ID_MODEL_FROM_DATABASE=SoftGate 802.11 Adapter
+
+usb:v0572p2002*
+ ID_MODEL_FROM_DATABASE=SoftGate 802.11 Adapter
+
+usb:v0572p262A*
+ ID_MODEL_FROM_DATABASE=tm5600 Video & Audio Grabber Capture
+
+usb:v0572p8390*
+ ID_MODEL_FROM_DATABASE=WinFast PalmTop/Novo TV Video
+
+usb:v0572p8392*
+ ID_MODEL_FROM_DATABASE=WinFast PalmTop/Novo TV Video
+
+usb:v0572pCAFC*
+ ID_MODEL_FROM_DATABASE=CX861xx ROM Boot Loader
+
+usb:v0572pCAFE*
+ ID_MODEL_FROM_DATABASE=AccessRunner ADSL Modem
+
+usb:v0572pCB00*
+ ID_MODEL_FROM_DATABASE=ADSL Modem
+
+usb:v0572pCB01*
+ ID_MODEL_FROM_DATABASE=ADSL Modem
+
+usb:v0572pCB06*
+ ID_MODEL_FROM_DATABASE=StarModem Network Interface
+
+usb:v0573*
+ ID_VENDOR_FROM_DATABASE=Zoran Co. Personal Media Division (Nogatech)
+
+usb:v0573p0003*
+ ID_MODEL_FROM_DATABASE=USBGear USBG-V1
+
+usb:v0573p0400*
+ ID_MODEL_FROM_DATABASE=D-Link V100
+
+usb:v0573p0600*
+ ID_MODEL_FROM_DATABASE=Dazzle USBVision (1006)
+
+usb:v0573p1300*
+ ID_MODEL_FROM_DATABASE=leadtek USBVision (1006)
+
+usb:v0573p2000*
+ ID_MODEL_FROM_DATABASE=X10 va10a Wireless Camera
+
+usb:v0573p2001*
+ ID_MODEL_FROM_DATABASE=Dazzle EmMe (2001)
+
+usb:v0573p2101*
+ ID_MODEL_FROM_DATABASE=Zoran Co. PMD (Nogatech) AV-grabber Manhattan
+
+usb:v0573p2D00*
+ ID_MODEL_FROM_DATABASE=Osprey 50
+
+usb:v0573p2D01*
+ ID_MODEL_FROM_DATABASE=Hauppauge USB-Live Model 600
+
+usb:v0573p3000*
+ ID_MODEL_FROM_DATABASE=Dazzle MicroCam (NTSC)
+
+usb:v0573p3001*
+ ID_MODEL_FROM_DATABASE=Dazzle MicroCam (PAL)
+
+usb:v0573p4000*
+ ID_MODEL_FROM_DATABASE=Nogatech TV! (NTSC)
+
+usb:v0573p4001*
+ ID_MODEL_FROM_DATABASE=Nogatech TV! (PAL)
+
+usb:v0573p4002*
+ ID_MODEL_FROM_DATABASE=Nogatech TV! (PAL-I-)
+
+usb:v0573p4003*
+ ID_MODEL_FROM_DATABASE=Nogatech TV! (MF-)
+
+usb:v0573p4008*
+ ID_MODEL_FROM_DATABASE=Nogatech TV! (NTSC) (T)
+
+usb:v0573p4009*
+ ID_MODEL_FROM_DATABASE=Nogatech TV! (PAL) (T)
+
+usb:v0573p4010*
+ ID_MODEL_FROM_DATABASE=Nogatech TV! (NTSC) (A)
+
+usb:v0573p4100*
+ ID_MODEL_FROM_DATABASE=USB-TV FM (NTSC)
+
+usb:v0573p4110*
+ ID_MODEL_FROM_DATABASE=PNY USB-TV (NTSC) FM
+
+usb:v0573p4400*
+ ID_MODEL_FROM_DATABASE=Nogatech TV! Pro (NTSC)
+
+usb:v0573p4401*
+ ID_MODEL_FROM_DATABASE=Nogatech TV! Pro (PAL)
+
+usb:v0573p4450*
+ ID_MODEL_FROM_DATABASE=PixelView PlayTv-USB PRO (PAL) FM
+
+usb:v0573p4451*
+ ID_MODEL_FROM_DATABASE=Nogatech TV! Pro (PAL+)
+
+usb:v0573p4452*
+ ID_MODEL_FROM_DATABASE=Nogatech TV! Pro (PAL-I+)
+
+usb:v0573p4500*
+ ID_MODEL_FROM_DATABASE=Nogatech TV! Pro (NTSC)
+
+usb:v0573p4501*
+ ID_MODEL_FROM_DATABASE=Nogatech TV! Pro (PAL)
+
+usb:v0573p4550*
+ ID_MODEL_FROM_DATABASE=ZTV ZT-721 2.4GHz A/V Receiver
+
+usb:v0573p4551*
+ ID_MODEL_FROM_DATABASE=Dazzle TV! Pro Audio (P+)
+
+usb:v0573p4D00*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB USA
+
+usb:v0573p4D01*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB
+
+usb:v0573p4D02*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB UK
+
+usb:v0573p4D03*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB France
+
+usb:v0573p4D04*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV (PAL D/K)
+
+usb:v0573p4D10*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB with FM USA radio
+
+usb:v0573p4D11*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB (PAL) with FM radio
+
+usb:v0573p4D12*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB UK with FM Radio
+
+usb:v0573p4D14*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV (PAL D/K FM)
+
+usb:v0573p4D20*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB II (PAL) with FM radio
+
+usb:v0573p4D21*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB II (PAL)
+
+usb:v0573p4D22*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB II (PAL) Model 566
+
+usb:v0573p4D23*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB France 4D23
+
+usb:v0573p4D24*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV Pro (PAL D/K)
+
+usb:v0573p4D25*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB Model 40209 rev B234
+
+usb:v0573p4D26*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB Model 40209 rev B243
+
+usb:v0573p4D27*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB Model 40204 Rev B281
+
+usb:v0573p4D28*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB Model 40204 rev B283
+
+usb:v0573p4D29*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB Model 40205 rev B298
+
+usb:v0573p4D2A*
+ ID_MODEL_FROM_DATABASE=Hauppague WinTV-USB Model 602 Rev B285
+
+usb:v0573p4D2B*
+ ID_MODEL_FROM_DATABASE=Hauppague WinTV-USB Model 602 Rev B282
+
+usb:v0573p4D2C*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV Pro (PAL/SECAM)
+
+usb:v0573p4D30*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB FM Model 40211 Rev B123
+
+usb:v0573p4D31*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB III (PAL) with FM radio Model 568
+
+usb:v0573p4D32*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB III (PAL) FM Model 573
+
+usb:v0573p4D34*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV Pro (PAL D/K FM)
+
+usb:v0573p4D35*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB III (PAL) FM Model 597
+
+usb:v0573p4D36*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV Pro (PAL B/G FM)
+
+usb:v0573p4D37*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV-USB Model 40219 rev E189
+
+usb:v0573p4D38*
+ ID_MODEL_FROM_DATABASE=Hauppauge WinTV Pro (NTSC FM)
+
+usb:v0574*
+ ID_VENDOR_FROM_DATABASE=City University of Hong Kong
+
+usb:v0575*
+ ID_VENDOR_FROM_DATABASE=Philips Creative Display Solutions
+
+usb:v0576*
+ ID_VENDOR_FROM_DATABASE=BAFO/Quality Computer Accessories
+
+usb:v0577*
+ ID_VENDOR_FROM_DATABASE=ELSA
+
+usb:v0578*
+ ID_VENDOR_FROM_DATABASE=Intrinsix Corp.
+
+usb:v0579*
+ ID_VENDOR_FROM_DATABASE=GVC Corp.
+
+usb:v057A*
+ ID_VENDOR_FROM_DATABASE=Samsung Electronics America
+
+usb:v057B*
+ ID_VENDOR_FROM_DATABASE=Y-E Data, Inc.
+
+usb:v057Bp0000*
+ ID_MODEL_FROM_DATABASE=FlashBuster-U Floppy
+
+usb:v057Bp0001*
+ ID_MODEL_FROM_DATABASE=Tri-Media Reader Floppy
+
+usb:v057Bp0006*
+ ID_MODEL_FROM_DATABASE=Tri-Media Reader Card Reader
+
+usb:v057Bp0010*
+ ID_MODEL_FROM_DATABASE=Memory Stick Reader Writer
+
+usb:v057Bp0020*
+ ID_MODEL_FROM_DATABASE=HEXA Media Drive 6-in-1 Card Reader Writer
+
+usb:v057Bp0030*
+ ID_MODEL_FROM_DATABASE=Memory Card Viewer (TV)
+
+usb:v057C*
+ ID_VENDOR_FROM_DATABASE=AVM GmbH
+
+usb:v057Cp0B00*
+ ID_MODEL_FROM_DATABASE=ISDN-Controller B1 Family
+
+usb:v057Cp0C00*
+ ID_MODEL_FROM_DATABASE=ISDN-Controller FRITZ!Card
+
+usb:v057Cp1000*
+ ID_MODEL_FROM_DATABASE=ISDN-Controller FRITZ!Card v2.0
+
+usb:v057Cp1900*
+ ID_MODEL_FROM_DATABASE=ISDN-Controller FRITZ!Card v2.1
+
+usb:v057Cp2000*
+ ID_MODEL_FROM_DATABASE=ISDN-Connector FRITZ!X
+
+usb:v057Cp2200*
+ ID_MODEL_FROM_DATABASE=BlueFRITZ!
+
+usb:v057Cp2300*
+ ID_MODEL_FROM_DATABASE=Teledat X130 DSL
+
+usb:v057Cp2800*
+ ID_MODEL_FROM_DATABASE=ISDN-Connector TA
+
+usb:v057Cp3200*
+ ID_MODEL_FROM_DATABASE=Teledat X130 DSL
+
+usb:v057Cp3500*
+ ID_MODEL_FROM_DATABASE=FRITZ!Card DSL SL
+
+usb:v057Cp3701*
+ ID_MODEL_FROM_DATABASE=FRITZ!Box SL
+
+usb:v057Cp3702*
+ ID_MODEL_FROM_DATABASE=FRITZ!Box
+
+usb:v057Cp3800*
+ ID_MODEL_FROM_DATABASE=BlueFRITZ! Bluetooth Stick
+
+usb:v057Cp3A00*
+ ID_MODEL_FROM_DATABASE=FRITZ!Box Fon
+
+usb:v057Cp3C00*
+ ID_MODEL_FROM_DATABASE=FRITZ!Box WLAN
+
+usb:v057Cp3D00*
+ ID_MODEL_FROM_DATABASE=Fritz!Box
+
+usb:v057Cp3E01*
+ ID_MODEL_FROM_DATABASE=FRITZ!Box (Annex A)
+
+usb:v057Cp4001*
+ ID_MODEL_FROM_DATABASE=FRITZ!Box Fon (Annex A)
+
+usb:v057Cp4101*
+ ID_MODEL_FROM_DATABASE=FRITZ!Box WLAN (Annex A)
+
+usb:v057Cp4201*
+ ID_MODEL_FROM_DATABASE=FRITZ!Box Fon WLAN (Annex A)
+
+usb:v057Cp4601*
+ ID_MODEL_FROM_DATABASE=Eumex 5520PC (WinXP/2000)
+
+usb:v057Cp4602*
+ ID_MODEL_FROM_DATABASE=Eumex 400 (WinXP/2000)
+
+usb:v057Cp4701*
+ ID_MODEL_FROM_DATABASE=AVM FRITZ!Box Fon ata
+
+usb:v057Cp5401*
+ ID_MODEL_FROM_DATABASE=Eumex 300 IP
+
+usb:v057Cp5601*
+ ID_MODEL_FROM_DATABASE=AVM Fritz!WLAN [Texas Instruments TNETW1450]
+
+usb:v057Cp6201*
+ ID_MODEL_FROM_DATABASE=AVM Fritz!WLAN v1.1 [Texas Instruments TNETW1450]
+
+usb:v057Cp62FF*
+ ID_MODEL_FROM_DATABASE=AVM Fritz!WLAN USB (in CD-ROM-mode)
+
+usb:v057Cp8401*
+ ID_MODEL_FROM_DATABASE=Fritz!WLAN N [Atheros AR9001U]
+
+usb:v057Cp8402*
+ ID_MODEL_FROM_DATABASE=Fritz!WLAN N 2.4 [Atheros AR9001U]
+
+usb:v057Cp8403*
+ ID_MODEL_FROM_DATABASE=Fritz!WLAN N v2 [Atheros AR9271]
+
+usb:v057Cp84FF*
+ ID_MODEL_FROM_DATABASE=AVM Fritz!WLAN USB N (in CD-ROM-mode)
+
+usb:v057D*
+ ID_VENDOR_FROM_DATABASE=Shark Multimedia, Inc.
+
+usb:v057E*
+ ID_VENDOR_FROM_DATABASE=Nintendo Co., Ltd
+
+usb:v057Ep0305*
+ ID_MODEL_FROM_DATABASE=Broadcom BCM2045A Bluetooth Radio [Nintendo Wii]
+
+usb:v057Ep0306*
+ ID_MODEL_FROM_DATABASE=Wii Remote Controller RVL-003
+
+usb:v057F*
+ ID_VENDOR_FROM_DATABASE=QuickShot, Ltd
+
+usb:v057Fp6238*
+ ID_MODEL_FROM_DATABASE=USB StrikePad
+
+usb:v0580*
+ ID_VENDOR_FROM_DATABASE=Denron, Inc.
+
+usb:v0581*
+ ID_VENDOR_FROM_DATABASE=Racal Data Group
+
+usb:v0582*
+ ID_VENDOR_FROM_DATABASE=Roland Corp.
+
+usb:v0582p0000*
+ ID_MODEL_FROM_DATABASE=UA-100(G)
+
+usb:v0582p0002*
+ ID_MODEL_FROM_DATABASE=UM-4/MPU-64 MIDI Interface
+
+usb:v0582p0003*
+ ID_MODEL_FROM_DATABASE=SoundCanvas SC-8850
+
+usb:v0582p0004*
+ ID_MODEL_FROM_DATABASE=U-8
+
+usb:v0582p0005*
+ ID_MODEL_FROM_DATABASE=UM-2(C/EX)
+
+usb:v0582p0007*
+ ID_MODEL_FROM_DATABASE=SoundCanvas SC-8820
+
+usb:v0582p0008*
+ ID_MODEL_FROM_DATABASE=PC-300
+
+usb:v0582p0009*
+ ID_MODEL_FROM_DATABASE=UM-1(E/S/X)
+
+usb:v0582p000B*
+ ID_MODEL_FROM_DATABASE=SK-500
+
+usb:v0582p000C*
+ ID_MODEL_FROM_DATABASE=SC-D70
+
+usb:v0582p0010*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-5
+
+usb:v0582p0011*
+ ID_MODEL_FROM_DATABASE=Edirol UA-5 Sound Capture
+
+usb:v0582p0012*
+ ID_MODEL_FROM_DATABASE=XV-5050
+
+usb:v0582p0013*
+ ID_MODEL_FROM_DATABASE=XV-5050
+
+usb:v0582p0014*
+ ID_MODEL_FROM_DATABASE=EDIROL UM-880 MIDI I/F (native)
+
+usb:v0582p0015*
+ ID_MODEL_FROM_DATABASE=EDIROL UM-880 MIDI I/F (generic)
+
+usb:v0582p0016*
+ ID_MODEL_FROM_DATABASE=EDIROL SD-90
+
+usb:v0582p0017*
+ ID_MODEL_FROM_DATABASE=EDIROL SD-90
+
+usb:v0582p0018*
+ ID_MODEL_FROM_DATABASE=UA-1A
+
+usb:v0582p001B*
+ ID_MODEL_FROM_DATABASE=MMP-2
+
+usb:v0582p001C*
+ ID_MODEL_FROM_DATABASE=MMP-2
+
+usb:v0582p001D*
+ ID_MODEL_FROM_DATABASE=V-SYNTH
+
+usb:v0582p001E*
+ ID_MODEL_FROM_DATABASE=V-SYNTH
+
+usb:v0582p0023*
+ ID_MODEL_FROM_DATABASE=EDIROL UM-550
+
+usb:v0582p0024*
+ ID_MODEL_FROM_DATABASE=EDIROL UM-550
+
+usb:v0582p0025*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-20
+
+usb:v0582p0026*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-20
+
+usb:v0582p0027*
+ ID_MODEL_FROM_DATABASE=EDIROL SD-20
+
+usb:v0582p0028*
+ ID_MODEL_FROM_DATABASE=EDIROL SD-20
+
+usb:v0582p0029*
+ ID_MODEL_FROM_DATABASE=EDIROL SD-80
+
+usb:v0582p002A*
+ ID_MODEL_FROM_DATABASE=EDIROL SD-80
+
+usb:v0582p002B*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-700
+
+usb:v0582p002C*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-700
+
+usb:v0582p002D*
+ ID_MODEL_FROM_DATABASE=XV-2020 Synthesizer
+
+usb:v0582p002E*
+ ID_MODEL_FROM_DATABASE=XV-2020 Synthesizer
+
+usb:v0582p002F*
+ ID_MODEL_FROM_DATABASE=VariOS
+
+usb:v0582p0030*
+ ID_MODEL_FROM_DATABASE=VariOS
+
+usb:v0582p0033*
+ ID_MODEL_FROM_DATABASE=EDIROL PCR
+
+usb:v0582p0034*
+ ID_MODEL_FROM_DATABASE=EDIROL PCR
+
+usb:v0582p0035*
+ ID_MODEL_FROM_DATABASE=M-1000
+
+usb:v0582p0037*
+ ID_MODEL_FROM_DATABASE=Digital Piano
+
+usb:v0582p0038*
+ ID_MODEL_FROM_DATABASE=Digital Piano
+
+usb:v0582p003B*
+ ID_MODEL_FROM_DATABASE=BOSS GS-10
+
+usb:v0582p003C*
+ ID_MODEL_FROM_DATABASE=BOSS GS-10
+
+usb:v0582p0040*
+ ID_MODEL_FROM_DATABASE=GI-20
+
+usb:v0582p0041*
+ ID_MODEL_FROM_DATABASE=GI-20
+
+usb:v0582p0042*
+ ID_MODEL_FROM_DATABASE=RS-70
+
+usb:v0582p0043*
+ ID_MODEL_FROM_DATABASE=RS-70
+
+usb:v0582p0044*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-1000
+
+usb:v0582p0047*
+ ID_MODEL_FROM_DATABASE=EDIROL UR-80 WAVE
+
+usb:v0582p0048*
+ ID_MODEL_FROM_DATABASE=EDIROL UR-80 MIDI
+
+usb:v0582p0049*
+ ID_MODEL_FROM_DATABASE=EDIROL UR-80 WAVE
+
+usb:v0582p004A*
+ ID_MODEL_FROM_DATABASE=EDIROL UR-80 MIDI
+
+usb:v0582p004B*
+ ID_MODEL_FROM_DATABASE=EDIROL M-100FX
+
+usb:v0582p004C*
+ ID_MODEL_FROM_DATABASE=EDIROL PCR-A WAVE
+
+usb:v0582p004D*
+ ID_MODEL_FROM_DATABASE=EDIROL PCR-A MIDI
+
+usb:v0582p004E*
+ ID_MODEL_FROM_DATABASE=EDIROL PCR-A WAVE
+
+usb:v0582p004F*
+ ID_MODEL_FROM_DATABASE=EDIROL PCR-A MIDI
+
+usb:v0582p0050*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-3FX
+
+usb:v0582p0052*
+ ID_MODEL_FROM_DATABASE=EDIROL UM-1SX
+
+usb:v0582p0054*
+ ID_MODEL_FROM_DATABASE=Digital Piano
+
+usb:v0582p0060*
+ ID_MODEL_FROM_DATABASE=EXR Series
+
+usb:v0582p0064*
+ ID_MODEL_FROM_DATABASE=EDIROL PCR-1 WAVE
+
+usb:v0582p0065*
+ ID_MODEL_FROM_DATABASE=EDIROL PCR-1 MIDI
+
+usb:v0582p0066*
+ ID_MODEL_FROM_DATABASE=EDIROL PCR-1 WAVE
+
+usb:v0582p0067*
+ ID_MODEL_FROM_DATABASE=EDIROL PCR-1 MIDI
+
+usb:v0582p006A*
+ ID_MODEL_FROM_DATABASE=SP-606
+
+usb:v0582p006B*
+ ID_MODEL_FROM_DATABASE=SP-606
+
+usb:v0582p006D*
+ ID_MODEL_FROM_DATABASE=FANTOM-X
+
+usb:v0582p006E*
+ ID_MODEL_FROM_DATABASE=FANTOM-X
+
+usb:v0582p0073*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-25
+
+usb:v0582p0074*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-25
+
+usb:v0582p0075*
+ ID_MODEL_FROM_DATABASE=BOSS DR-880
+
+usb:v0582p0076*
+ ID_MODEL_FROM_DATABASE=BOSS DR-880
+
+usb:v0582p007A*
+ ID_MODEL_FROM_DATABASE=RD
+
+usb:v0582p007B*
+ ID_MODEL_FROM_DATABASE=RD
+
+usb:v0582p007D*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-101
+
+usb:v0582p0080*
+ ID_MODEL_FROM_DATABASE=G-70
+
+usb:v0582p0081*
+ ID_MODEL_FROM_DATABASE=G-70
+
+usb:v0582p0084*
+ ID_MODEL_FROM_DATABASE=V-SYNTH XT
+
+usb:v0582p0089*
+ ID_MODEL_FROM_DATABASE=BOSS GT-PRO
+
+usb:v0582p008B*
+ ID_MODEL_FROM_DATABASE=EDIROL PC-50
+
+usb:v0582p008C*
+ ID_MODEL_FROM_DATABASE=EDIROL PC-50
+
+usb:v0582p008D*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-101 USB1
+
+usb:v0582p0092*
+ ID_MODEL_FROM_DATABASE=EDIROL PC-80 WAVE
+
+usb:v0582p0093*
+ ID_MODEL_FROM_DATABASE=EDIROL PC-80 MIDI
+
+usb:v0582p0096*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-1EX
+
+usb:v0582p009A*
+ ID_MODEL_FROM_DATABASE=EDIROL UM-3EX
+
+usb:v0582p009D*
+ ID_MODEL_FROM_DATABASE=EDIROL UM-1
+
+usb:v0582p00A0*
+ ID_MODEL_FROM_DATABASE=MD-P1
+
+usb:v0582p00A2*
+ ID_MODEL_FROM_DATABASE=Digital Piano
+
+usb:v0582p00A3*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-4FX
+
+usb:v0582p00A6*
+ ID_MODEL_FROM_DATABASE=Juno-G
+
+usb:v0582p00A9*
+ ID_MODEL_FROM_DATABASE=MC-808
+
+usb:v0582p00AD*
+ ID_MODEL_FROM_DATABASE=SH-201
+
+usb:v0582p00B2*
+ ID_MODEL_FROM_DATABASE=VG-99
+
+usb:v0582p00B3*
+ ID_MODEL_FROM_DATABASE=VG-99
+
+usb:v0582p00B7*
+ ID_MODEL_FROM_DATABASE=BK-7m/VIMA JM-5/8
+
+usb:v0582p00C2*
+ ID_MODEL_FROM_DATABASE=SonicCell
+
+usb:v0582p00C4*
+ ID_MODEL_FROM_DATABASE=EDIROL M-16DX
+
+usb:v0582p00C5*
+ ID_MODEL_FROM_DATABASE=SP-555
+
+usb:v0582p00C7*
+ ID_MODEL_FROM_DATABASE=V-Synth GT
+
+usb:v0582p00D1*
+ ID_MODEL_FROM_DATABASE=Music Atelier
+
+usb:v0582p00D3*
+ ID_MODEL_FROM_DATABASE=M-380/400
+
+usb:v0582p00DA*
+ ID_MODEL_FROM_DATABASE=BOSS GT-10
+
+usb:v0582p00DB*
+ ID_MODEL_FROM_DATABASE=BOSS GT-10 Guitar Effects Processor
+
+usb:v0582p00DC*
+ ID_MODEL_FROM_DATABASE=BOSS GT-10B
+
+usb:v0582p00DE*
+ ID_MODEL_FROM_DATABASE=Fantom G
+
+usb:v0582p00E6*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-25EX (Advanced mode)
+
+usb:v0582p00E7*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-25EX
+
+usb:v0582p00E9*
+ ID_MODEL_FROM_DATABASE=UA-1G
+
+usb:v0582p00EB*
+ ID_MODEL_FROM_DATABASE=VS-100
+
+usb:v0582p00F6*
+ ID_MODEL_FROM_DATABASE=GW-8/AX-Synth
+
+usb:v0582p00F8*
+ ID_MODEL_FROM_DATABASE=JUNO Series
+
+usb:v0582p00FC*
+ ID_MODEL_FROM_DATABASE=VS-700C
+
+usb:v0582p00FD*
+ ID_MODEL_FROM_DATABASE=VS-700
+
+usb:v0582p00FE*
+ ID_MODEL_FROM_DATABASE=VS-700 M1
+
+usb:v0582p00FF*
+ ID_MODEL_FROM_DATABASE=VS-700 M2
+
+usb:v0582p0100*
+ ID_MODEL_FROM_DATABASE=VS-700
+
+usb:v0582p0101*
+ ID_MODEL_FROM_DATABASE=VS-700 M2
+
+usb:v0582p0102*
+ ID_MODEL_FROM_DATABASE=VB-99
+
+usb:v0582p0104*
+ ID_MODEL_FROM_DATABASE=UM-1G
+
+usb:v0582p0106*
+ ID_MODEL_FROM_DATABASE=UM-2G
+
+usb:v0582p0108*
+ ID_MODEL_FROM_DATABASE=UM-3G
+
+usb:v0582p0109*
+ ID_MODEL_FROM_DATABASE=eBand JS-8
+
+usb:v0582p010D*
+ ID_MODEL_FROM_DATABASE=A-500S
+
+usb:v0582p010F*
+ ID_MODEL_FROM_DATABASE=A-PRO
+
+usb:v0582p0110*
+ ID_MODEL_FROM_DATABASE=A-PRO
+
+usb:v0582p0111*
+ ID_MODEL_FROM_DATABASE=GAIA SH-01
+
+usb:v0582p0113*
+ ID_MODEL_FROM_DATABASE=ME-25
+
+usb:v0582p0114*
+ ID_MODEL_FROM_DATABASE=SD-50
+
+usb:v0582p0116*
+ ID_MODEL_FROM_DATABASE=WAVE/MP3 RECORDER R-05
+
+usb:v0582p0117*
+ ID_MODEL_FROM_DATABASE=VS-20
+
+usb:v0582p0119*
+ ID_MODEL_FROM_DATABASE=OCTAPAD SPD-30
+
+usb:v0582p011C*
+ ID_MODEL_FROM_DATABASE=Lucina AX-09
+
+usb:v0582p011E*
+ ID_MODEL_FROM_DATABASE=BR-800
+
+usb:v0582p0120*
+ ID_MODEL_FROM_DATABASE=OCTA-CAPTURE
+
+usb:v0582p0121*
+ ID_MODEL_FROM_DATABASE=OCTA-CAPTURE
+
+usb:v0582p0123*
+ ID_MODEL_FROM_DATABASE=JUNO-Gi
+
+usb:v0582p0124*
+ ID_MODEL_FROM_DATABASE=M-300
+
+usb:v0582p0127*
+ ID_MODEL_FROM_DATABASE=GR-55
+
+usb:v0582p012A*
+ ID_MODEL_FROM_DATABASE=UM-ONE
+
+usb:v0582p012B*
+ ID_MODEL_FROM_DATABASE=DUO-CAPTURE
+
+usb:v0582p012F*
+ ID_MODEL_FROM_DATABASE=QUAD-CAPTURE
+
+usb:v0582p0130*
+ ID_MODEL_FROM_DATABASE=MICRO BR BR-80
+
+usb:v0582p0132*
+ ID_MODEL_FROM_DATABASE=TRI-CAPTURE
+
+usb:v0582p0134*
+ ID_MODEL_FROM_DATABASE=V-Mixer
+
+usb:v0582p0138*
+ ID_MODEL_FROM_DATABASE=Boss RC-300 (Audio mode)
+
+usb:v0582p0139*
+ ID_MODEL_FROM_DATABASE=Boss RC-300 (Storage mode)
+
+usb:v0582p013A*
+ ID_MODEL_FROM_DATABASE=JUPITER-80
+
+usb:v0582p013E*
+ ID_MODEL_FROM_DATABASE=R-26
+
+usb:v0582p0145*
+ ID_MODEL_FROM_DATABASE=SPD-SX
+
+usb:v0582p014B*
+ ID_MODEL_FROM_DATABASE=eBand JS-10
+
+usb:v0582p014D*
+ ID_MODEL_FROM_DATABASE=GT-100
+
+usb:v0582p0150*
+ ID_MODEL_FROM_DATABASE=TD-15
+
+usb:v0582p0151*
+ ID_MODEL_FROM_DATABASE=TD-11
+
+usb:v0582p0154*
+ ID_MODEL_FROM_DATABASE=JUPITER-50
+
+usb:v0582p0156*
+ ID_MODEL_FROM_DATABASE=A-Series
+
+usb:v0582p0158*
+ ID_MODEL_FROM_DATABASE=TD-30
+
+usb:v0582p0159*
+ ID_MODEL_FROM_DATABASE=DUO-CAPTURE EX
+
+usb:v0582p015B*
+ ID_MODEL_FROM_DATABASE=INTEGRA-7
+
+usb:v0582p015D*
+ ID_MODEL_FROM_DATABASE=R-88
+
+usb:v0582p0505*
+ ID_MODEL_FROM_DATABASE=EDIROL UA-101
+
+usb:v0583*
+ ID_VENDOR_FROM_DATABASE=Padix Co., Ltd (Rockfire)
+
+usb:v0583p0001*
+ ID_MODEL_FROM_DATABASE=4 Axis 12 button +POV
+
+usb:v0583p0002*
+ ID_MODEL_FROM_DATABASE=4 Axis 12 button +POV
+
+usb:v0583p2030*
+ ID_MODEL_FROM_DATABASE=RM-203 USB Nest [mode 1]
+
+usb:v0583p2031*
+ ID_MODEL_FROM_DATABASE=RM-203 USB Nest [mode 2]
+
+usb:v0583p2032*
+ ID_MODEL_FROM_DATABASE=RM-203 USB Nest [mode 3]
+
+usb:v0583p2033*
+ ID_MODEL_FROM_DATABASE=RM-203 USB Nest [mode 4]
+
+usb:v0583p2050*
+ ID_MODEL_FROM_DATABASE=PX-205 PSX Bridge
+
+usb:v0583p205F*
+ ID_MODEL_FROM_DATABASE=PSX/USB converter
+
+usb:v0583p206F*
+ ID_MODEL_FROM_DATABASE=USB, 2-axis 8-button gamepad
+
+usb:v0583p3050*
+ ID_MODEL_FROM_DATABASE=QF-305u Gamepad
+
+usb:v0583p3379*
+ ID_MODEL_FROM_DATABASE=Rockfire X-Force
+
+usb:v0583p337F*
+ ID_MODEL_FROM_DATABASE=Rockfire USB RacingStar Vibra
+
+usb:v0583p509F*
+ ID_MODEL_FROM_DATABASE=USB,4-Axis,12-Button with POV
+
+usb:v0583p5259*
+ ID_MODEL_FROM_DATABASE=Rockfire USB SkyShuttle Vibra
+
+usb:v0583p525F*
+ ID_MODEL_FROM_DATABASE=USB Vibration Pad
+
+usb:v0583p5308*
+ ID_MODEL_FROM_DATABASE=USB Wireless VibrationPad
+
+usb:v0583p5359*
+ ID_MODEL_FROM_DATABASE=Rockfire USB SkyShuttle Pro
+
+usb:v0583p535F*
+ ID_MODEL_FROM_DATABASE=USB,real VibrationPad
+
+usb:v0583p5659*
+ ID_MODEL_FROM_DATABASE=Rockfire USB SkyShuttle Vibra
+
+usb:v0583p565F*
+ ID_MODEL_FROM_DATABASE=USB VibrationPad
+
+usb:v0583p6009*
+ ID_MODEL_FROM_DATABASE=Revenger
+
+usb:v0583p600F*
+ ID_MODEL_FROM_DATABASE=USB,GameBoard II
+
+usb:v0583p6258*
+ ID_MODEL_FROM_DATABASE=USB, 4-axis, 6-button joystick w/view finder
+
+usb:v0583p6889*
+ ID_MODEL_FROM_DATABASE=Windstorm Pro
+
+usb:v0583p688F*
+ ID_MODEL_FROM_DATABASE=QF-688uv Windstorm Pro Joystick
+
+usb:v0583p7070*
+ ID_MODEL_FROM_DATABASE=QF-707u Bazooka Joystick
+
+usb:v0583pA000*
+ ID_MODEL_FROM_DATABASE=MaxFire G-08XU Gamepad
+
+usb:v0583pA015*
+ ID_MODEL_FROM_DATABASE=4-Axis,16-Button with POV
+
+usb:v0583pA019*
+ ID_MODEL_FROM_DATABASE=USB, Vibration ,4-axis, 8-button joystick w/view finder
+
+usb:v0583pA020*
+ ID_MODEL_FROM_DATABASE=USB,4-Axis,10-Button with POV
+
+usb:v0583pA021*
+ ID_MODEL_FROM_DATABASE=USB,4-Axis,12-Button with POV
+
+usb:v0583pA022*
+ ID_MODEL_FROM_DATABASE=USB,4-Axis,14-Button with POV
+
+usb:v0583pA023*
+ ID_MODEL_FROM_DATABASE=USB,4-Axis,16-Button with POV
+
+usb:v0583pA024*
+ ID_MODEL_FROM_DATABASE=4axis,12button vibrition audio gamepad
+
+usb:v0583pA025*
+ ID_MODEL_FROM_DATABASE=4axis,12button vibrition audio gamepad
+
+usb:v0583pA130*
+ ID_MODEL_FROM_DATABASE=USB Wireless 2.4GHz Gamepad
+
+usb:v0583pA131*
+ ID_MODEL_FROM_DATABASE=USB Wireless 2.4GHz Joystick
+
+usb:v0583pA132*
+ ID_MODEL_FROM_DATABASE=USB Wireless 2.4GHz Wheelpad
+
+usb:v0583pA133*
+ ID_MODEL_FROM_DATABASE=USB Wireless 2.4GHz Wheel&Gamepad
+
+usb:v0583pA202*
+ ID_MODEL_FROM_DATABASE=ForceFeedbackWheel
+
+usb:v0583pA209*
+ ID_MODEL_FROM_DATABASE=MetalStrike FF
+
+usb:v0583pB000*
+ ID_MODEL_FROM_DATABASE=USB,4-Axis,12-Button with POV
+
+usb:v0583pB001*
+ ID_MODEL_FROM_DATABASE=USB,4-Axis,12-Button with POV
+
+usb:v0583pB002*
+ ID_MODEL_FROM_DATABASE=Vibration,12-Button USB Wheel
+
+usb:v0583pB005*
+ ID_MODEL_FROM_DATABASE=USB,12-Button Wheel
+
+usb:v0583pB008*
+ ID_MODEL_FROM_DATABASE=USB Wireless 2.4GHz Wheel
+
+usb:v0583pB009*
+ ID_MODEL_FROM_DATABASE=USB,12-Button Wheel
+
+usb:v0583pB00A*
+ ID_MODEL_FROM_DATABASE=PSX/USB converter
+
+usb:v0583pB00B*
+ ID_MODEL_FROM_DATABASE=PSX/USB converter
+
+usb:v0583pB00C*
+ ID_MODEL_FROM_DATABASE=PSX/USB converter
+
+usb:v0583pB00D*
+ ID_MODEL_FROM_DATABASE=PSX/USB converter
+
+usb:v0583pB00E*
+ ID_MODEL_FROM_DATABASE=4-Axis,12-Button with POV
+
+usb:v0583pB00F*
+ ID_MODEL_FROM_DATABASE=USB,5-Axis,10-Button with POV
+
+usb:v0583pB010*
+ ID_MODEL_FROM_DATABASE=MetalStrike Pro
+
+usb:v0583pB012*
+ ID_MODEL_FROM_DATABASE=Wireless MetalStrike
+
+usb:v0583pB013*
+ ID_MODEL_FROM_DATABASE=USB,Wiress 2.4GHZ Joystick
+
+usb:v0583pB016*
+ ID_MODEL_FROM_DATABASE=USB,5-Axis,10-Button with POV
+
+usb:v0583pB018*
+ ID_MODEL_FROM_DATABASE=TW6 Wheel
+
+usb:v0583pFF60*
+ ID_MODEL_FROM_DATABASE=USB Wireless VibrationPad
+
+usb:v0584*
+ ID_VENDOR_FROM_DATABASE=RATOC System, Inc.
+
+usb:v0584p0008*
+ ID_MODEL_FROM_DATABASE=Fujifilm MemoryCard ReaderWriter
+
+usb:v0584p0220*
+ ID_MODEL_FROM_DATABASE=U2SCX SCSI Converter
+
+usb:v0584pB000*
+ ID_MODEL_FROM_DATABASE=REX-USB60
+
+usb:v0584pB020*
+ ID_MODEL_FROM_DATABASE=REX-USB60F
+
+usb:v0585*
+ ID_VENDOR_FROM_DATABASE=FlashPoint Technology, Inc.
+
+usb:v0585p0001*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p0002*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p0003*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p0004*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p0005*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p0006*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p0007*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p0008*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p0009*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p000A*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p000B*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p000C*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p000D*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p000E*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0585p000F*
+ ID_MODEL_FROM_DATABASE=Digital Camera
+
+usb:v0586*
+ ID_VENDOR_FROM_DATABASE=ZyXEL Communications Corp.
+
+usb:v0586p0025*
+ ID_MODEL_FROM_DATABASE=802.11b/g/n USB Wireless Network Adapter
+
+usb:v0586p0102*
+ ID_MODEL_FROM_DATABASE=omni.net II ISDN TA
+
+usb:v0586p1000*
+ ID_MODEL_FROM_DATABASE=Omni NET Modem / ISDN TA
+
+usb:v0586p1500*
+ ID_MODEL_FROM_DATABASE=Omni 56K Plus
+
+usb:v0586p2011*
+ ID_MODEL_FROM_DATABASE=Scorpion-980N keyboard
+
+usb:v0586p3304*
+ ID_MODEL_FROM_DATABASE=LAN Modem
+
+usb:v0586p3309*
+ ID_MODEL_FROM_DATABASE=ADSL Modem Prestige 600 series
+
+usb:v0586p330A*
+ ID_MODEL_FROM_DATABASE=ADSL Modem Interface
+
+usb:v0586p330E*
+ ID_MODEL_FROM_DATABASE=USB Broadband ADSL Modem Rev 1.10
+
+usb:v0586p3400*
+ ID_MODEL_FROM_DATABASE=ZyAIR B-220 IEEE 802.11b Adapter
+
+usb:v0586p3401*
+ ID_MODEL_FROM_DATABASE=ZyAIR G-220 802.11bg
+
+usb:v0586p3402*
+ ID_MODEL_FROM_DATABASE=ZyAIR G-220F 802.11bg
+
+usb:v0586p3403*
+ ID_MODEL_FROM_DATABASE=AG-200 802.11abg Wireless Adapter [Atheros AR5523]
+
+usb:v0586p3407*
+ ID_MODEL_FROM_DATABASE=G-200 v2 802.11bg
+
+usb:v0586p3408*
+ ID_MODEL_FROM_DATABASE=G-260 802.11bg
+
+usb:v0586p3409*
+ ID_MODEL_FROM_DATABASE=AG-225H 802.11bg
+
+usb:v0586p340A*
+ ID_MODEL_FROM_DATABASE=M-202 802.11bg
+
+usb:v0586p340C*
+ ID_MODEL_FROM_DATABASE=G-270S 802.11bg Wireless Adapter [Atheros AR5523]
+
+usb:v0586p340F*
+ ID_MODEL_FROM_DATABASE=G-220 v2 802.11bg
+
+usb:v0586p3410*
+ ID_MODEL_FROM_DATABASE=ZyAIR G-202 802.11bg
+
+usb:v0586p3412*
+ ID_MODEL_FROM_DATABASE=802.11bg
+
+usb:v0586p3413*
+ ID_MODEL_FROM_DATABASE=ZyAIR AG-225H v2 802.11bg
+
+usb:v0586p3415*
+ ID_MODEL_FROM_DATABASE=G-210H 802.11g Wireless Adapter
+
+usb:v0586p3416*
+ ID_MODEL_FROM_DATABASE=NWD-210N 802.11b/g/n-draft wireless adapter
+
+usb:v0586p3417*
+ ID_MODEL_FROM_DATABASE=NWD271N 802.11n Wireless Adapter [Atheros AR9001U-(2)NG]
+
+usb:v0586p3418*
+ ID_MODEL_FROM_DATABASE=NWD211AN 802.11abgn Wireless Adapter [Ralink RT2870]
+
+usb:v0586p3419*
+ ID_MODEL_FROM_DATABASE=G-220 v3 802.11bg Wireless Adapter [ZyDAS ZD1211B]
+
+usb:v0586p341A*
+ ID_MODEL_FROM_DATABASE=NWD-270N Wireless N-lite USB Adapter
+
+usb:v0586p341E*
+ ID_MODEL_FROM_DATABASE=NWD2105 802.11bgn Wireless Adapter [Ralink RT3070]
+
+usb:v0586p341F*
+ ID_MODEL_FROM_DATABASE=NWD2205 802.11n Wireless N Adapter [Realtek RTL8192CU]
+
+usb:v0586p343E*
+ ID_MODEL_FROM_DATABASE=N220 802.11bgn Wireless Adapter
+
+usb:v0587*
+ ID_VENDOR_FROM_DATABASE=America Kotobuki Electronics Industries, Inc.
+
+usb:v0588*
+ ID_VENDOR_FROM_DATABASE=Sapien Design
+
+usb:v0589*
+ ID_VENDOR_FROM_DATABASE=Victron
+
+usb:v058A*
+ ID_VENDOR_FROM_DATABASE=Nohau Corp.
+
+usb:v058B*
+ ID_VENDOR_FROM_DATABASE=Infineon Technologies
+
+usb:v058Bp001C*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v058C*
+ ID_VENDOR_FROM_DATABASE=In Focus Systems
+
+usb:v058Cp0007*
+ ID_MODEL_FROM_DATABASE=Flash
+
+usb:v058Cp0008*
+ ID_MODEL_FROM_DATABASE=LP130
+
+usb:v058Cp000A*
+ ID_MODEL_FROM_DATABASE=LP530
+
+usb:v058Cp0010*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp0011*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp0012*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp0013*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp0014*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp0015*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp0016*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp0017*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp0018*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp0019*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp001A*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp001B*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp001C*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp001D*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp001E*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058Cp001F*
+ ID_MODEL_FROM_DATABASE=Projector
+
+usb:v058CpFFE5*
+ ID_MODEL_FROM_DATABASE=IN34 Projector
+
+usb:v058D*
+ ID_VENDOR_FROM_DATABASE=Micrel Semiconductor
+
+usb:v058E*
+ ID_VENDOR_FROM_DATABASE=Tripath Technology, Inc.
+
+usb:v058F*
+ ID_VENDOR_FROM_DATABASE=Alcor Micro Corp.
+
+usb:v058Fp1234*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v058Fp2412*
+ ID_MODEL_FROM_DATABASE=SCard R/W CSR-145
+
+usb:v058Fp2802*
+ ID_MODEL_FROM_DATABASE=Monterey Keyboard
+
+usb:v058Fp5492*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v058Fp6232*
+ ID_MODEL_FROM_DATABASE=Hi-Speed 16-in-1 Flash Card Reader/Writer
+
+usb:v058Fp6254*
+ ID_MODEL_FROM_DATABASE=USB Hub
+
+usb:v058Fp6331*
+ ID_MODEL_FROM_DATABASE=SD/MMC/MS Card Reader
+
+usb:v058Fp6332*
+ ID_MODEL_FROM_DATABASE=Multi-Function Card Reader
+
+usb:v058Fp6335*
+ ID_MODEL_FROM_DATABASE=SD/MMC Card Reader
+
+usb:v058Fp6360*
+ ID_MODEL_FROM_DATABASE=Multimedia Card Reader
+
+usb:v058Fp6361*
+ ID_MODEL_FROM_DATABASE=Multimedia Card Reader
+
+usb:v058Fp6362*
+ ID_MODEL_FROM_DATABASE=Flash Card Reader/Writer
+
+usb:v058Fp6364*
+ ID_MODEL_FROM_DATABASE=AU6477 Card Reader Controller
+
+usb:v058Fp6366*
+ ID_MODEL_FROM_DATABASE=Multi Flash Reader
+
+usb:v058Fp6377*
+ ID_MODEL_FROM_DATABASE=Multimedia Card Reader
+
+usb:v058Fp6386*
+ ID_MODEL_FROM_DATABASE=Memory Card
+
+usb:v058Fp6387*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v058Fp6390*
+ ID_MODEL_FROM_DATABASE=USB 2.0-IDE bridge
+
+usb:v058Fp9213*
+ ID_MODEL_FROM_DATABASE=MacAlly Kbd Hub
+
+usb:v058Fp9215*
+ ID_MODEL_FROM_DATABASE=AU9814 Hub
+
+usb:v058Fp9254*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v058Fp9310*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UID4/5A & UID7A)
+
+usb:v058Fp9320*
+ ID_MODEL_FROM_DATABASE=Micro Storage Driver for Win98
+
+usb:v058Fp9321*
+ ID_MODEL_FROM_DATABASE=Micro Storage Driver for Win98
+
+usb:v058Fp9330*
+ ID_MODEL_FROM_DATABASE=SD Reader
+
+usb:v058Fp9331*
+ ID_MODEL_FROM_DATABASE=Micro Storage Driver for Win98
+
+usb:v058Fp9340*
+ ID_MODEL_FROM_DATABASE=Delkin eFilm Reader-32
+
+usb:v058Fp9350*
+ ID_MODEL_FROM_DATABASE=Delkin eFilm Reader-32
+
+usb:v058Fp9360*
+ ID_MODEL_FROM_DATABASE=8-in-1 Media Card Reader
+
+usb:v058Fp9361*
+ ID_MODEL_FROM_DATABASE=Multimedia Card Reader
+
+usb:v058Fp9368*
+ ID_MODEL_FROM_DATABASE=Multimedia Card Reader
+
+usb:v058Fp9380*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v058Fp9382*
+ ID_MODEL_FROM_DATABASE=Acer/Sweex Flash drive
+
+usb:v058Fp9384*
+ ID_MODEL_FROM_DATABASE=qdi U2Disk T209M
+
+usb:v058Fp9410*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v058Fp9472*
+ ID_MODEL_FROM_DATABASE=Keyboard Hub
+
+usb:v058Fp9510*
+ ID_MODEL_FROM_DATABASE=ChunghwaTL USB02 Smartcard Reader
+
+usb:v058Fp9520*
+ ID_MODEL_FROM_DATABASE=EMV Certified Smart Card Reader
+
+usb:v058Fp9720*
+ ID_MODEL_FROM_DATABASE=USB-Serial Adapter
+
+usb:v058FpA014*
+ ID_MODEL_FROM_DATABASE=Asus Integrated Webcam
+
+usb:v0590*
+ ID_VENDOR_FROM_DATABASE=Omron Corp.
+
+usb:v0590p0004*
+ ID_MODEL_FROM_DATABASE=Cable Modem
+
+usb:v0590p000B*
+ ID_MODEL_FROM_DATABASE=MR56SVS
+
+usb:v0590p0028*
+ ID_MODEL_FROM_DATABASE=HJ-720IT / HEM-7080IT-E / HEM-790IT
+
+usb:v0591*
+ ID_VENDOR_FROM_DATABASE=Questra Consulting
+
+usb:v0592*
+ ID_VENDOR_FROM_DATABASE=Powerware Corp.
+
+usb:v0592p0002*
+ ID_MODEL_FROM_DATABASE=UPS (X-Slot)
+
+usb:v0593*
+ ID_VENDOR_FROM_DATABASE=Incite
+
+usb:v0594*
+ ID_VENDOR_FROM_DATABASE=Princeton Graphic Systems
+
+usb:v0595*
+ ID_VENDOR_FROM_DATABASE=Zoran Microelectronics, Ltd
+
+usb:v0595p1001*
+ ID_MODEL_FROM_DATABASE=Digitrex DSC-1300/DSC-2100 (mass storage mode)
+
+usb:v0595p2002*
+ ID_MODEL_FROM_DATABASE=DIGITAL STILL CAMERA 6M 4X
+
+usb:v0595p4343*
+ ID_MODEL_FROM_DATABASE=Digital Camera EX-20 DSC
+
+usb:v0596*
+ ID_VENDOR_FROM_DATABASE=MicroTouch Systems, Inc.
+
+usb:v0596p0001*
+ ID_MODEL_FROM_DATABASE=Touchscreen
+
+usb:v0596p0002*
+ ID_MODEL_FROM_DATABASE=Touch Screen Controller
+
+usb:v0596p0500*
+ ID_MODEL_FROM_DATABASE=PCT Multitouch HID Controller
+
+usb:v0597*
+ ID_VENDOR_FROM_DATABASE=Trisignal Communications
+
+usb:v0598*
+ ID_VENDOR_FROM_DATABASE=Niigata Canotec Co., Inc.
+
+usb:v0599*
+ ID_VENDOR_FROM_DATABASE=Brilliance Semiconductor, Inc.
+
+usb:v059A*
+ ID_VENDOR_FROM_DATABASE=Spectrum Signal Processing, Inc.
+
+usb:v059B*
+ ID_VENDOR_FROM_DATABASE=Iomega Corp.
+
+usb:v059Bp0001*
+ ID_MODEL_FROM_DATABASE=Zip 100 (Type 1)
+
+usb:v059Bp000B*
+ ID_MODEL_FROM_DATABASE=Zip 100 (Type 2)
+
+usb:v059Bp0021*
+ ID_MODEL_FROM_DATABASE=Win98 Disk Controller
+
+usb:v059Bp0030*
+ ID_MODEL_FROM_DATABASE=Zip 250 (Ver 1)
+
+usb:v059Bp0031*
+ ID_MODEL_FROM_DATABASE=Zip 100 (Type 3)
+
+usb:v059Bp0032*
+ ID_MODEL_FROM_DATABASE=Zip 250 (Ver 2)
+
+usb:v059Bp0034*
+ ID_MODEL_FROM_DATABASE=Zip 100 Driver
+
+usb:v059Bp0037*
+ ID_MODEL_FROM_DATABASE=Zip 750 MB
+
+usb:v059Bp0040*
+ ID_MODEL_FROM_DATABASE=SCSI Bridge
+
+usb:v059Bp0042*
+ ID_MODEL_FROM_DATABASE=Rev 70 GB
+
+usb:v059Bp0050*
+ ID_MODEL_FROM_DATABASE=Zip CD 650 Writer
+
+usb:v059Bp0053*
+ ID_MODEL_FROM_DATABASE=CDRW55292EXT CD-RW External Drive
+
+usb:v059Bp0056*
+ ID_MODEL_FROM_DATABASE=External CD-RW Drive Enclosure
+
+usb:v059Bp0057*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v059Bp005D*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v059Bp005F*
+ ID_MODEL_FROM_DATABASE=CDRW64892EXT3-C CD-RW 52x24x52x External Drive
+
+usb:v059Bp0060*
+ ID_MODEL_FROM_DATABASE=PCMCIA PocketZip Dock
+
+usb:v059Bp0061*
+ ID_MODEL_FROM_DATABASE=Varo PocketZip 40 MP3 Player
+
+usb:v059Bp006D*
+ ID_MODEL_FROM_DATABASE=HipZip MP3 Player
+
+usb:v059Bp007C*
+ ID_MODEL_FROM_DATABASE=Ultra Max USB/1394
+
+usb:v059Bp007D*
+ ID_MODEL_FROM_DATABASE=HTC42606 0G9AT00 [Iomega HDD]
+
+usb:v059Bp007E*
+ ID_MODEL_FROM_DATABASE=Mini 256MB/512MB Flash Drive [IOM2D5]
+
+usb:v059Bp00DB*
+ ID_MODEL_FROM_DATABASE=FotoShow Zip 250 Driver
+
+usb:v059Bp0150*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v059Bp015D*
+ ID_MODEL_FROM_DATABASE=Super DVD Writer
+
+usb:v059Bp0173*
+ ID_MODEL_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
+
+usb:v059Bp0174*
+ ID_MODEL_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
+
+usb:v059Bp0176*
+ ID_MODEL_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
+
+usb:v059Bp0177*
+ ID_MODEL_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
+
+usb:v059Bp0178*
+ ID_MODEL_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
+
+usb:v059Bp0179*
+ ID_MODEL_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
+
+usb:v059Bp017A*
+ ID_MODEL_FROM_DATABASE=HDD
+
+usb:v059Bp017B*
+ ID_MODEL_FROM_DATABASE=HDD/1394A
+
+usb:v059Bp017C*
+ ID_MODEL_FROM_DATABASE=HDD/1394B
+
+usb:v059Bp0251*
+ ID_MODEL_FROM_DATABASE=Optical
+
+usb:v059Bp0252*
+ ID_MODEL_FROM_DATABASE=Optical
+
+usb:v059Bp0278*
+ ID_MODEL_FROM_DATABASE=LDHD-UPS [Professional Desktop Hard Drive eSATA / USB2.0]
+
+usb:v059Bp027A*
+ ID_MODEL_FROM_DATABASE=LPHD250-U [Portable Hard Drive Silver Series 250 Go]
+
+usb:v059Bp0470*
+ ID_MODEL_FROM_DATABASE=Prestige Portable Hard Drive
+
+usb:v059Bp047A*
+ ID_MODEL_FROM_DATABASE=Select Portable Hard Drive
+
+usb:v059Bp0571*
+ ID_MODEL_FROM_DATABASE=Prestige Portable Hard Drive
+
+usb:v059Bp0579*
+ ID_MODEL_FROM_DATABASE=eGo Portable Hard Drive
+
+usb:v059Bp1052*
+ ID_MODEL_FROM_DATABASE=DVD+RW External Drive
+
+usb:v059C*
+ ID_VENDOR_FROM_DATABASE=A-Trend Technology Co., Ltd
+
+usb:v059D*
+ ID_VENDOR_FROM_DATABASE=Advanced Input Devices
+
+usb:v059E*
+ ID_VENDOR_FROM_DATABASE=Intelligent Instrumentation
+
+usb:v059F*
+ ID_VENDOR_FROM_DATABASE=LaCie, Ltd
+
+usb:v059Fp0201*
+ ID_MODEL_FROM_DATABASE=StudioDrive USB2
+
+usb:v059Fp0202*
+ ID_MODEL_FROM_DATABASE=StudioDrive USB2
+
+usb:v059Fp0203*
+ ID_MODEL_FROM_DATABASE=StudioDrive USB2
+
+usb:v059Fp0211*
+ ID_MODEL_FROM_DATABASE=PocketDrive
+
+usb:v059Fp0212*
+ ID_MODEL_FROM_DATABASE=PocketDrive
+
+usb:v059Fp0213*
+ ID_MODEL_FROM_DATABASE=PocketDrive USB2
+
+usb:v059Fp0323*
+ ID_MODEL_FROM_DATABASE=LaCie d2 Drive USB2
+
+usb:v059Fp0421*
+ ID_MODEL_FROM_DATABASE=Big Disk G465
+
+usb:v059Fp0641*
+ ID_MODEL_FROM_DATABASE=Mobile Hard Drive
+
+usb:v059Fp1010*
+ ID_MODEL_FROM_DATABASE=Desktop Hard Drive
+
+usb:v059Fp1019*
+ ID_MODEL_FROM_DATABASE=Desktop Hard Drive
+
+usb:v059Fp1021*
+ ID_MODEL_FROM_DATABASE=Little Disk
+
+usb:v059Fp1027*
+ ID_MODEL_FROM_DATABASE=iamaKey V2
+
+usb:v059Fp102A*
+ ID_MODEL_FROM_DATABASE=Rikiki Hard Drive
+
+usb:v059Fp1049*
+ ID_MODEL_FROM_DATABASE=rikiki Harddrive
+
+usb:v059Fp1052*
+ ID_MODEL_FROM_DATABASE=P'9220 Mobile Drive
+
+usb:v059FpA601*
+ ID_MODEL_FROM_DATABASE=HardDrive
+
+usb:v059FpA602*
+ ID_MODEL_FROM_DATABASE=CD R/W
+
+usb:v05A0*
+ ID_VENDOR_FROM_DATABASE=Vetronix Corp.
+
+usb:v05A1*
+ ID_VENDOR_FROM_DATABASE=USC Corp.
+
+usb:v05A2*
+ ID_VENDOR_FROM_DATABASE=Fuji Film Microdevices Co., Ltd
+
+usb:v05A3*
+ ID_VENDOR_FROM_DATABASE=ARC International
+
+usb:v05A3p8388*
+ ID_MODEL_FROM_DATABASE=Marvell 88W8388 802.11a/b/g WLAN
+
+usb:v05A4*
+ ID_VENDOR_FROM_DATABASE=Ortek Technology, Inc.
+
+usb:v05A4p1000*
+ ID_MODEL_FROM_DATABASE=WKB-1000S Wireless Ergo Keyboard with Touchpad
+
+usb:v05A4p2000*
+ ID_MODEL_FROM_DATABASE=WKB-2000 Wireless Keyboard with Touchpad
+
+usb:v05A4p9720*
+ ID_MODEL_FROM_DATABASE=Keyboard Mouse
+
+usb:v05A4p9722*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v05A4p9731*
+ ID_MODEL_FROM_DATABASE=MCK-600W/MCK-800USB Keyboard
+
+usb:v05A4p9783*
+ ID_MODEL_FROM_DATABASE=Wireless Keypad
+
+usb:v05A4p9881*
+ ID_MODEL_FROM_DATABASE=IR receiver [VRC-1100 Vista MCE Remote Control]
+
+usb:v05A5*
+ ID_VENDOR_FROM_DATABASE=Sampo Technology Corp.
+
+usb:v05A6*
+ ID_VENDOR_FROM_DATABASE=Cisco Systems, Inc.
+
+usb:v05A6p0001*
+ ID_MODEL_FROM_DATABASE=CVA124 Cable Voice Adapter (WDM)
+
+usb:v05A6p0002*
+ ID_MODEL_FROM_DATABASE=CVA122 Cable Voice Adapter (WDM)
+
+usb:v05A6p0003*
+ ID_MODEL_FROM_DATABASE=CVA124E Cable Voice Adapter (WDM)
+
+usb:v05A6p0004*
+ ID_MODEL_FROM_DATABASE=CVA122E Cable Voice Adapter (WDM)
+
+usb:v05A7*
+ ID_VENDOR_FROM_DATABASE=Bose Corp.
+
+usb:v05A8*
+ ID_VENDOR_FROM_DATABASE=Spacetec IMC Corp.
+
+usb:v05A9*
+ ID_VENDOR_FROM_DATABASE=OmniVision Technologies, Inc.
+
+usb:v05A9p0511*
+ ID_MODEL_FROM_DATABASE=OV511 Webcam
+
+usb:v05A9p0518*
+ ID_MODEL_FROM_DATABASE=OV518 Webcam
+
+usb:v05A9p0519*
+ ID_MODEL_FROM_DATABASE=OV519 Microphone
+
+usb:v05A9p1550*
+ ID_MODEL_FROM_DATABASE=VEHO Filmscanner
+
+usb:v05A9p2640*
+ ID_MODEL_FROM_DATABASE=OV2640 Webcam
+
+usb:v05A9p2643*
+ ID_MODEL_FROM_DATABASE=Monitor Webcam
+
+usb:v05A9p264B*
+ ID_MODEL_FROM_DATABASE=Monitor Webcam
+
+usb:v05A9p2800*
+ ID_MODEL_FROM_DATABASE=SuperCAM
+
+usb:v05A9p4519*
+ ID_MODEL_FROM_DATABASE=Webcam Classic
+
+usb:v05A9p7670*
+ ID_MODEL_FROM_DATABASE=OV7670 Webcam
+
+usb:v05A9p8519*
+ ID_MODEL_FROM_DATABASE=OV519 Webcam
+
+usb:v05A9pA511*
+ ID_MODEL_FROM_DATABASE=OV511+ Webcam
+
+usb:v05A9pA518*
+ ID_MODEL_FROM_DATABASE=D-Link DSB-C310 Webcam
+
+usb:v05AA*
+ ID_VENDOR_FROM_DATABASE=Utilux South China, Ltd
+
+usb:v05AB*
+ ID_VENDOR_FROM_DATABASE=In-System Design
+
+usb:v05ABp0002*
+ ID_MODEL_FROM_DATABASE=Parallel Port
+
+usb:v05ABp0030*
+ ID_MODEL_FROM_DATABASE=Storage Adapter V2 (TPP)
+
+usb:v05ABp0031*
+ ID_MODEL_FROM_DATABASE=ATA Bridge
+
+usb:v05ABp0060*
+ ID_MODEL_FROM_DATABASE=USB 2.0 ATA Bridge
+
+usb:v05ABp0061*
+ ID_MODEL_FROM_DATABASE=Storage Adapter V3 (TPP-I)
+
+usb:v05ABp0101*
+ ID_MODEL_FROM_DATABASE=Storage Adapter (TPP)
+
+usb:v05ABp0130*
+ ID_MODEL_FROM_DATABASE=Compact Flash and Microdrive Reader (TPP)
+
+usb:v05ABp0200*
+ ID_MODEL_FROM_DATABASE=USS725 ATA Bridge
+
+usb:v05ABp0201*
+ ID_MODEL_FROM_DATABASE=Storage Adapter (TPP)
+
+usb:v05ABp0202*
+ ID_MODEL_FROM_DATABASE=ATA Bridge
+
+usb:v05ABp0300*
+ ID_MODEL_FROM_DATABASE=Portable Hard Drive (TPP)
+
+usb:v05ABp0301*
+ ID_MODEL_FROM_DATABASE=Portable Hard Drive V2
+
+usb:v05ABp0350*
+ ID_MODEL_FROM_DATABASE=Portable Hard Drive (TPP)
+
+usb:v05ABp0351*
+ ID_MODEL_FROM_DATABASE=Portable Hard Drive V2
+
+usb:v05ABp081A*
+ ID_MODEL_FROM_DATABASE=ATA Bridge
+
+usb:v05ABp0CDA*
+ ID_MODEL_FROM_DATABASE=ATA Bridge for CD-R/RW
+
+usb:v05ABp1001*
+ ID_MODEL_FROM_DATABASE=BAYI Printer Class Support
+
+usb:v05ABp5700*
+ ID_MODEL_FROM_DATABASE=Storage Adapter V2 (TPP)
+
+usb:v05ABp5701*
+ ID_MODEL_FROM_DATABASE=USB Storage Adapter V2
+
+usb:v05ABp5901*
+ ID_MODEL_FROM_DATABASE=Smart Board (TPP)
+
+usb:v05ABp5A01*
+ ID_MODEL_FROM_DATABASE=ATI Storage Adapter (TPP)
+
+usb:v05ABp5D01*
+ ID_MODEL_FROM_DATABASE=DataBook Adapter (TPP)
+
+usb:v05AC*
+ ID_VENDOR_FROM_DATABASE=Apple, Inc.
+
+usb:v05ACp0201*
+ ID_MODEL_FROM_DATABASE=USB Keyboard [Alps or Logitech, M2452]
+
+usb:v05ACp0202*
+ ID_MODEL_FROM_DATABASE=Keyboard [ALPS]
+
+usb:v05ACp0205*
+ ID_MODEL_FROM_DATABASE=Extended Keyboard [Mitsumi]
+
+usb:v05ACp0206*
+ ID_MODEL_FROM_DATABASE=Extended Keyboard [Mitsumi]
+
+usb:v05ACp020B*
+ ID_MODEL_FROM_DATABASE=Pro Keyboard [Mitsumi, A1048/US layout]
+
+usb:v05ACp020C*
+ ID_MODEL_FROM_DATABASE=Extended Keyboard [Mitsumi]
+
+usb:v05ACp020D*
+ ID_MODEL_FROM_DATABASE=Pro Keyboard [Mitsumi, A1048/JIS layout]
+
+usb:v05ACp020E*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
+
+usb:v05ACp020F*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
+
+usb:v05ACp0214*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
+
+usb:v05ACp0215*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
+
+usb:v05ACp0216*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
+
+usb:v05ACp0217*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
+
+usb:v05ACp0218*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
+
+usb:v05ACp0219*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
+
+usb:v05ACp021A*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
+
+usb:v05ACp021B*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
+
+usb:v05ACp021C*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
+
+usb:v05ACp021D*
+ ID_MODEL_FROM_DATABASE=Aluminum Mini Keyboard (ANSI)
+
+usb:v05ACp021E*
+ ID_MODEL_FROM_DATABASE=Aluminum Mini Keyboard (ISO)
+
+usb:v05ACp021F*
+ ID_MODEL_FROM_DATABASE=Aluminum Mini Keyboard (JIS)
+
+usb:v05ACp0220*
+ ID_MODEL_FROM_DATABASE=Aluminum Keyboard (ANSI)
+
+usb:v05ACp0221*
+ ID_MODEL_FROM_DATABASE=Aluminum Keyboard (ISO)
+
+usb:v05ACp0222*
+ ID_MODEL_FROM_DATABASE=Aluminum Keyboard (JIS)
+
+usb:v05ACp0223*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
+
+usb:v05ACp0224*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
+
+usb:v05ACp0225*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
+
+usb:v05ACp0229*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (ANSI)
+
+usb:v05ACp022A*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (ISO)
+
+usb:v05ACp022B*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (JIS)
+
+usb:v05ACp0230*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro 4,1) (ANSI)
+
+usb:v05ACp0231*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro 4,1) (ISO)
+
+usb:v05ACp0232*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro 4,1) (JIS)
+
+usb:v05ACp0236*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
+
+usb:v05ACp0237*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
+
+usb:v05ACp0238*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
+
+usb:v05ACp023F*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
+
+usb:v05ACp0240*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
+
+usb:v05ACp0241*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
+
+usb:v05ACp0242*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
+
+usb:v05ACp0243*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
+
+usb:v05ACp0244*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
+
+usb:v05ACp0245*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
+
+usb:v05ACp0246*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
+
+usb:v05ACp0247*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
+
+usb:v05ACp024A*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Air) (ISO)
+
+usb:v05ACp024D*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Air) (ISO)
+
+usb:v05ACp0250*
+ ID_MODEL_FROM_DATABASE=Aluminium Keyboard (ISO)
+
+usb:v05ACp0252*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
+
+usb:v05ACp0253*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
+
+usb:v05ACp0254*
+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
+
+usb:v05ACp0263*
+ ID_MODEL_FROM_DATABASE=Apple Internal Keyboard / Trackpad (MacBook Retina)
+
+usb:v05ACp0301*
+ ID_MODEL_FROM_DATABASE=USB Mouse [Mitsumi, M4848]
+
+usb:v05ACp0302*
+ ID_MODEL_FROM_DATABASE=Optical Mouse [Fujitsu]
+
+usb:v05ACp0304*
+ ID_MODEL_FROM_DATABASE=Optical USB Mouse [Mitsumi]
+
+usb:v05ACp0306*
+ ID_MODEL_FROM_DATABASE=Optical USB Mouse [Fujitsu]
+
+usb:v05ACp030A*
+ ID_MODEL_FROM_DATABASE=Internal Trackpad
+
+usb:v05ACp030B*
+ ID_MODEL_FROM_DATABASE=Internal Trackpad
+
+usb:v05ACp030D*
+ ID_MODEL_FROM_DATABASE=Magic Mouse
+
+usb:v05ACp030E*
+ ID_MODEL_FROM_DATABASE=MC380Z/A [Magic Trackpad]
+
+usb:v05ACp1000*
+ ID_MODEL_FROM_DATABASE=Bluetooth HCI MacBookPro (HID mode)
+
+usb:v05ACp1001*
+ ID_MODEL_FROM_DATABASE=Keyboard Hub [ALPS]
+
+usb:v05ACp1002*
+ ID_MODEL_FROM_DATABASE=Extended Keyboard Hub [Mitsumi]
+
+usb:v05ACp1003*
+ ID_MODEL_FROM_DATABASE=Hub in Pro Keyboard [Mitsumi, A1048]
+
+usb:v05ACp1006*
+ ID_MODEL_FROM_DATABASE=Hub in Aluminum Keyboard
+
+usb:v05ACp1101*
+ ID_MODEL_FROM_DATABASE=Speakers
+
+usb:v05ACp1105*
+ ID_MODEL_FROM_DATABASE=Audio in LED Cinema Display
+
+usb:v05ACp1107*
+ ID_MODEL_FROM_DATABASE=Thunderbolt Display Audio
+
+usb:v05ACp1201*
+ ID_MODEL_FROM_DATABASE=3G iPod
+
+usb:v05ACp1202*
+ ID_MODEL_FROM_DATABASE=iPod 2G
+
+usb:v05ACp1203*
+ ID_MODEL_FROM_DATABASE=iPod 4.Gen Grayscale 40G
+
+usb:v05ACp1204*
+ ID_MODEL_FROM_DATABASE=iPod [Photo]
+
+usb:v05ACp1205*
+ ID_MODEL_FROM_DATABASE=iPod Mini 1.Gen/2.Gen
+
+usb:v05ACp1206*
+ ID_MODEL_FROM_DATABASE=iPod '06'
+
+usb:v05ACp1207*
+ ID_MODEL_FROM_DATABASE=iPod '07'
+
+usb:v05ACp1208*
+ ID_MODEL_FROM_DATABASE=iPod '08'
+
+usb:v05ACp1209*
+ ID_MODEL_FROM_DATABASE=iPod Video
+
+usb:v05ACp120A*
+ ID_MODEL_FROM_DATABASE=iPod Nano
+
+usb:v05ACp1223*
+ ID_MODEL_FROM_DATABASE=iPod Classic/Nano 3.Gen (DFU mode)
+
+usb:v05ACp1224*
+ ID_MODEL_FROM_DATABASE=iPod Nano 3.Gen (DFU mode)
+
+usb:v05ACp1225*
+ ID_MODEL_FROM_DATABASE=iPod Nano 4.Gen (DFU mode)
+
+usb:v05ACp1227*
+ ID_MODEL_FROM_DATABASE=Mobile Device (DFU Mode)
+
+usb:v05ACp1231*
+ ID_MODEL_FROM_DATABASE=iPod Nano 5.Gen (DFU mode)
+
+usb:v05ACp1240*
+ ID_MODEL_FROM_DATABASE=iPod Nano 2.Gen (DFU mode)
+
+usb:v05ACp1242*
+ ID_MODEL_FROM_DATABASE=iPod Nano 3.Gen (WTF mode)
+
+usb:v05ACp1243*
+ ID_MODEL_FROM_DATABASE=iPod Nano 4.Gen (WTF mode)
+
+usb:v05ACp1245*
+ ID_MODEL_FROM_DATABASE=iPod Classic 3.Gen (WTF mode)
+
+usb:v05ACp1246*
+ ID_MODEL_FROM_DATABASE=iPod Nano 5.Gen (WTF mode)
+
+usb:v05ACp1255*
+ ID_MODEL_FROM_DATABASE=iPod Nano 4.Gen (DFU mode)
+
+usb:v05ACp1260*
+ ID_MODEL_FROM_DATABASE=iPod Nano 2.Gen
+
+usb:v05ACp1261*
+ ID_MODEL_FROM_DATABASE=iPod Classic
+
+usb:v05ACp1262*
+ ID_MODEL_FROM_DATABASE=iPod Nano 3.Gen
+
+usb:v05ACp1263*
+ ID_MODEL_FROM_DATABASE=iPod Nano 4.Gen
+
+usb:v05ACp1265*
+ ID_MODEL_FROM_DATABASE=iPod Nano 5.Gen
+
+usb:v05ACp1266*
+ ID_MODEL_FROM_DATABASE=iPod Nano 6.Gen
+
+usb:v05ACp1281*
+ ID_MODEL_FROM_DATABASE=Apple Mobile Device [Recovery Mode]
+
+usb:v05ACp1290*
+ ID_MODEL_FROM_DATABASE=iPhone
+
+usb:v05ACp1291*
+ ID_MODEL_FROM_DATABASE=iPod Touch 1.Gen
+
+usb:v05ACp1292*
+ ID_MODEL_FROM_DATABASE=iPhone 3G
+
+usb:v05ACp1293*
+ ID_MODEL_FROM_DATABASE=iPod Touch 2.Gen
+
+usb:v05ACp1294*
+ ID_MODEL_FROM_DATABASE=iPhone 3GS
+
+usb:v05ACp1296*
+ ID_MODEL_FROM_DATABASE=iPod Touch 3.Gen (8GB)
+
+usb:v05ACp1297*
+ ID_MODEL_FROM_DATABASE=iPhone 4
+
+usb:v05ACp1299*
+ ID_MODEL_FROM_DATABASE=iPod Touch 3.Gen
+
+usb:v05ACp129A*
+ ID_MODEL_FROM_DATABASE=iPad
+
+usb:v05ACp129E*
+ ID_MODEL_FROM_DATABASE=iPod Touch 4.Gen
+
+usb:v05ACp129F*
+ ID_MODEL_FROM_DATABASE=iPad 2
+
+usb:v05ACp12A0*
+ ID_MODEL_FROM_DATABASE=iPhone 4S
+
+usb:v05ACp12A2*
+ ID_MODEL_FROM_DATABASE=iPad 2 (3G; 64GB)
+
+usb:v05ACp12A6*
+ ID_MODEL_FROM_DATABASE=iPad 3 (3G, 16 GB)
+
+usb:v05ACp12A9*
+ ID_MODEL_FROM_DATABASE=iPad 2
+
+usb:v05ACp12AA*
+ ID_MODEL_FROM_DATABASE=iPod Touch 5.Gen [A1421]
+
+usb:v05ACp1300*
+ ID_MODEL_FROM_DATABASE=iPod Shuffle
+
+usb:v05ACp1301*
+ ID_MODEL_FROM_DATABASE=iPod Shuffle 2.Gen
+
+usb:v05ACp1302*
+ ID_MODEL_FROM_DATABASE=iPod Shuffle 3.Gen
+
+usb:v05ACp1303*
+ ID_MODEL_FROM_DATABASE=iPod Shuffle 4.Gen
+
+usb:v05ACp1401*
+ ID_MODEL_FROM_DATABASE=Modem
+
+usb:v05ACp1402*
+ ID_MODEL_FROM_DATABASE=Ethernet Adapter [A1277]
+
+usb:v05ACp1500*
+ ID_MODEL_FROM_DATABASE=SuperDrive [A1379]
+
+usb:v05ACp8202*
+ ID_MODEL_FROM_DATABASE=HCF V.90 Data/Fax Modem
+
+usb:v05ACp8203*
+ ID_MODEL_FROM_DATABASE=Bluetooth HCI
+
+usb:v05ACp8204*
+ ID_MODEL_FROM_DATABASE=Built-in Bluetooth 2.0+EDR HCI
+
+usb:v05ACp8205*
+ ID_MODEL_FROM_DATABASE=Bluetooth HCI
+
+usb:v05ACp8206*
+ ID_MODEL_FROM_DATABASE=Bluetooth HCI
+
+usb:v05ACp820A*
+ ID_MODEL_FROM_DATABASE=Bluetooth HID Keyboard
+
+usb:v05ACp820B*
+ ID_MODEL_FROM_DATABASE=Bluetooth HID Mouse
+
+usb:v05ACp820F*
+ ID_MODEL_FROM_DATABASE=Bluetooth HCI
+
+usb:v05ACp8213*
+ ID_MODEL_FROM_DATABASE=Bluetooth Host Controller
+
+usb:v05ACp8215*
+ ID_MODEL_FROM_DATABASE=Built-in Bluetooth 2.0+EDR HCI
+
+usb:v05ACp8216*
+ ID_MODEL_FROM_DATABASE=Bluetooth USB Host Controller
+
+usb:v05ACp8217*
+ ID_MODEL_FROM_DATABASE=Bluetooth USB Host Controller
+
+usb:v05ACp8218*
+ ID_MODEL_FROM_DATABASE=Bluetooth Host Controller
+
+usb:v05ACp821A*
+ ID_MODEL_FROM_DATABASE=Bluetooth Host Controller
+
+usb:v05ACp821F*
+ ID_MODEL_FROM_DATABASE=Built-in Bluetooth 2.0+EDR HCI
+
+usb:v05ACp8240*
+ ID_MODEL_FROM_DATABASE=Built-in IR Receiver
+
+usb:v05ACp8241*
+ ID_MODEL_FROM_DATABASE=Built-in IR Receiver
+
+usb:v05ACp8242*
+ ID_MODEL_FROM_DATABASE=Built-in IR Receiver
+
+usb:v05ACp8286*
+ ID_MODEL_FROM_DATABASE=Bluetooth Host Controller
+
+usb:v05ACp8300*
+ ID_MODEL_FROM_DATABASE=Built-in iSight (no firmware loaded)
+
+usb:v05ACp8403*
+ ID_MODEL_FROM_DATABASE=Internal Memory Card Reader
+
+usb:v05ACp8404*
+ ID_MODEL_FROM_DATABASE=Internal Memory Card Reader
+
+usb:v05ACp8501*
+ ID_MODEL_FROM_DATABASE=Built-in iSight [Micron]
+
+usb:v05ACp8502*
+ ID_MODEL_FROM_DATABASE=Built-in iSight
+
+usb:v05ACp8505*
+ ID_MODEL_FROM_DATABASE=Built-in iSight
+
+usb:v05ACp8507*
+ ID_MODEL_FROM_DATABASE=Built-in iSight
+
+usb:v05ACp8508*
+ ID_MODEL_FROM_DATABASE=iSight in LED Cinema Display
+
+usb:v05ACp8509*
+ ID_MODEL_FROM_DATABASE=FaceTime HD Camera
+
+usb:v05ACp850A*
+ ID_MODEL_FROM_DATABASE=FaceTime Camera
+
+usb:v05ACp8510*
+ ID_MODEL_FROM_DATABASE=FaceTime HD Camera (Built-in)
+
+usb:v05ACp911C*
+ ID_MODEL_FROM_DATABASE=Hub in A1082 [Cinema HD Display 23"]
+
+usb:v05ACp912F*
+ ID_MODEL_FROM_DATABASE=Hub in 30" Cinema Display
+
+usb:v05ACp9215*
+ ID_MODEL_FROM_DATABASE=Studio Display 15"
+
+usb:v05ACp9217*
+ ID_MODEL_FROM_DATABASE=Studio Display 17"
+
+usb:v05ACp9218*
+ ID_MODEL_FROM_DATABASE=Cinema Display 23"
+
+usb:v05ACp9219*
+ ID_MODEL_FROM_DATABASE=Cinema Display 20"
+
+usb:v05ACp921C*
+ ID_MODEL_FROM_DATABASE=A1082 [Cinema HD Display 23"]
+
+usb:v05ACp921E*
+ ID_MODEL_FROM_DATABASE=Cinema Display 24"
+
+usb:v05ACp9221*
+ ID_MODEL_FROM_DATABASE=30" Cinema Display
+
+usb:v05ACp9226*
+ ID_MODEL_FROM_DATABASE=LED Cinema Display
+
+usb:v05ACp9227*
+ ID_MODEL_FROM_DATABASE=Thunderbolt Display
+
+usb:v05ACp9232*
+ ID_MODEL_FROM_DATABASE=Cinema HD Display 30"
+
+usb:v05ACpFFFF*
+ ID_MODEL_FROM_DATABASE=Bluetooth in DFU mode - Driver
+
+usb:v05AD*
+ ID_VENDOR_FROM_DATABASE=Y.C. Cable U.S.A., Inc.
+
+usb:v05AE*
+ ID_VENDOR_FROM_DATABASE=Synopsys, Inc.
+
+usb:v05AF*
+ ID_VENDOR_FROM_DATABASE=Jing-Mold Enterprise Co., Ltd
+
+usb:v05AFp0806*
+ ID_MODEL_FROM_DATABASE=HP SK806A Keyboard
+
+usb:v05AFp0809*
+ ID_MODEL_FROM_DATABASE=Wireless Keyboard and Mouse
+
+usb:v05AFp0821*
+ ID_MODEL_FROM_DATABASE=IDE to
+
+usb:v05AFp3062*
+ ID_MODEL_FROM_DATABASE=Cordless Keyboard
+
+usb:v05AFp9167*
+ ID_MODEL_FROM_DATABASE=KB 9151B - 678
+
+usb:v05AFp9267*
+ ID_MODEL_FROM_DATABASE=KB 9251B - 678 Mouse
+
+usb:v05B0*
+ ID_VENDOR_FROM_DATABASE=Fountain Technologies, Inc.
+
+usb:v05B1*
+ ID_VENDOR_FROM_DATABASE=First International Computer, Inc.
+
+usb:v05B1p1389*
+ ID_MODEL_FROM_DATABASE=Bluetooth Wireless Adapter
+
+usb:v05B4*
+ ID_VENDOR_FROM_DATABASE=LG Semicon Co., Ltd
+
+usb:v05B4p4857*
+ ID_MODEL_FROM_DATABASE=M-Any DAH-210
+
+usb:v05B4p6001*
+ ID_MODEL_FROM_DATABASE=Digisette DUO-MP3 AR-100
+
+usb:v05B5*
+ ID_VENDOR_FROM_DATABASE=Dialogic Corp.
+
+usb:v05B6*
+ ID_VENDOR_FROM_DATABASE=Proxima Corp.
+
+usb:v05B7*
+ ID_VENDOR_FROM_DATABASE=Medianix Semiconductor, Inc.
+
+usb:v05B8*
+ ID_VENDOR_FROM_DATABASE=Agiler, Inc.
+
+usb:v05B8p3002*
+ ID_MODEL_FROM_DATABASE=Scroll Mouse
+
+usb:v05B9*
+ ID_VENDOR_FROM_DATABASE=Philips Research Laboratories
+
+usb:v05BA*
+ ID_VENDOR_FROM_DATABASE=DigitalPersona, Inc.
+
+usb:v05BAp0007*
+ ID_MODEL_FROM_DATABASE=Fingerprint Reader
+
+usb:v05BAp0008*
+ ID_MODEL_FROM_DATABASE=Fingerprint Reader
+
+usb:v05BAp000A*
+ ID_MODEL_FROM_DATABASE=Fingerprint Reader
+
+usb:v05BB*
+ ID_VENDOR_FROM_DATABASE=Grey Cell Systems
+
+usb:v05BC*
+ ID_VENDOR_FROM_DATABASE=3G Green Green Globe Co., Ltd
+
+usb:v05BCp0004*
+ ID_MODEL_FROM_DATABASE=Trackball
+
+usb:v05BD*
+ ID_VENDOR_FROM_DATABASE=RAFI GmbH & Co. KG
+
+usb:v05BE*
+ ID_VENDOR_FROM_DATABASE=Tyco Electronics (Raychem)
+
+usb:v05BF*
+ ID_VENDOR_FROM_DATABASE=S & S Research
+
+usb:v05C0*
+ ID_VENDOR_FROM_DATABASE=Keil Software
+
+usb:v05C1*
+ ID_VENDOR_FROM_DATABASE=Kawasaki Microelectronics, Inc.
+
+usb:v05C2*
+ ID_VENDOR_FROM_DATABASE=Media Phonics (Suisse) S.A.
+
+usb:v05C5*
+ ID_VENDOR_FROM_DATABASE=Digi International, Inc.
+
+usb:v05C5p0002*
+ ID_MODEL_FROM_DATABASE=AccelePort USB 2
+
+usb:v05C5p0004*
+ ID_MODEL_FROM_DATABASE=AccelePort USB 4
+
+usb:v05C5p0008*
+ ID_MODEL_FROM_DATABASE=AccelePort USB 8
+
+usb:v05C6*
+ ID_VENDOR_FROM_DATABASE=Qualcomm, Inc.
+
+usb:v05C6p0114*
+ ID_MODEL_FROM_DATABASE=Select RW-200 CDMA Wireless Modem
+
+usb:v05C6p1000*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v05C6p3100*
+ ID_MODEL_FROM_DATABASE=CDMA Wireless Modem/Phone
+
+usb:v05C6p3196*
+ ID_MODEL_FROM_DATABASE=CDMA Wireless Modem
+
+usb:v05C6p3197*
+ ID_MODEL_FROM_DATABASE=CDMA Wireless Modem/Phone
+
+usb:v05C6p6000*
+ ID_MODEL_FROM_DATABASE=Siemens SG75
+
+usb:v05C6p6503*
+ ID_MODEL_FROM_DATABASE=AnyData APE-540H
+
+usb:v05C6p6613*
+ ID_MODEL_FROM_DATABASE=Onda H600/N501HS ZTE MF330
+
+usb:v05C6p9000*
+ ID_MODEL_FROM_DATABASE=SIMCom SIM5218 modem
+
+usb:v05C6p9001*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem
+
+usb:v05C6p9002*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem
+
+usb:v05C6p9008*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
+
+usb:v05C6p9018*
+ ID_MODEL_FROM_DATABASE=Qualcomm HSUSB Device
+
+usb:v05C6p9025*
+ ID_MODEL_FROM_DATABASE=Qualcomm HSUSB Device
+
+usb:v05C6p9201*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
+
+usb:v05C6p9202*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem
+
+usb:v05C6p9203*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem
+
+usb:v05C6p9211*
+ ID_MODEL_FROM_DATABASE=Acer Gobi Wireless Modem (QDL mode)
+
+usb:v05C6p9212*
+ ID_MODEL_FROM_DATABASE=Acer Gobi Wireless Modem
+
+usb:v05C6p9214*
+ ID_MODEL_FROM_DATABASE=Acer Gobi 2000 Wireless Modem (QDL mode)
+
+usb:v05C6p9215*
+ ID_MODEL_FROM_DATABASE=Acer Gobi 2000 Wireless Modem
+
+usb:v05C6p9221*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
+
+usb:v05C6p9222*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem
+
+usb:v05C6p9224*
+ ID_MODEL_FROM_DATABASE=Sony Gobi 2000 Wireless Modem (QDL mode)
+
+usb:v05C6p9225*
+ ID_MODEL_FROM_DATABASE=Sony Gobi 2000 Wireless Modem
+
+usb:v05C6p9231*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
+
+usb:v05C6p9234*
+ ID_MODEL_FROM_DATABASE=Top Global Gobi 2000 Wireless Modem (QDL mode)
+
+usb:v05C6p9235*
+ ID_MODEL_FROM_DATABASE=Top Global Gobi 2000 Wireless Modem
+
+usb:v05C6p9244*
+ ID_MODEL_FROM_DATABASE=Samsung Gobi 2000 Wireless Modem (QDL mode)
+
+usb:v05C6p9245*
+ ID_MODEL_FROM_DATABASE=Samsung Gobi 2000 Wireless Modem
+
+usb:v05C6p9264*
+ ID_MODEL_FROM_DATABASE=Asus Gobi 2000 Wireless Modem (QDL mode)
+
+usb:v05C6p9265*
+ ID_MODEL_FROM_DATABASE=Asus Gobi 2000 Wireless Modem
+
+usb:v05C6p9274*
+ ID_MODEL_FROM_DATABASE=iRex Technologies Gobi 2000 Wireless Modem (QDL mode)
+
+usb:v05C6p9275*
+ ID_MODEL_FROM_DATABASE=iRex Technologies Gobi 2000 Wireless Modem
+
+usb:v05C7*
+ ID_VENDOR_FROM_DATABASE=Qtronix Corp.
+
+usb:v05C7p0113*
+ ID_MODEL_FROM_DATABASE=PC Line Mouse
+
+usb:v05C7p1001*
+ ID_MODEL_FROM_DATABASE=Lynx Mouse
+
+usb:v05C7p2001*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v05C7p2011*
+ ID_MODEL_FROM_DATABASE=SCorpius Keyboard
+
+usb:v05C7p6001*
+ ID_MODEL_FROM_DATABASE=Ten-Keypad
+
+usb:v05C8*
+ ID_VENDOR_FROM_DATABASE=Cheng Uei Precision Industry Co., Ltd (Foxlink)
+
+usb:v05C8p0103*
+ ID_MODEL_FROM_DATABASE=FO13FF-65 PC-CAM
+
+usb:v05C8p021A*
+ ID_MODEL_FROM_DATABASE=HP Webcam
+
+usb:v05C8p0318*
+ ID_MODEL_FROM_DATABASE=Webcam
+
+usb:v05C8p0403*
+ ID_MODEL_FROM_DATABASE=Webcam
+
+usb:v05C9*
+ ID_VENDOR_FROM_DATABASE=Semtech Corp.
+
+usb:v05CA*
+ ID_VENDOR_FROM_DATABASE=Ricoh Co., Ltd
+
+usb:v05CAp0101*
+ ID_MODEL_FROM_DATABASE=RDC-5300 Camera
+
+usb:v05CAp0325*
+ ID_MODEL_FROM_DATABASE=Caplio GX (ptp)
+
+usb:v05CAp032D*
+ ID_MODEL_FROM_DATABASE=Caplio GX 8 (ptp)
+
+usb:v05CAp032F*
+ ID_MODEL_FROM_DATABASE=Caplio R3 (ptp)
+
+usb:v05CAp03A1*
+ ID_MODEL_FROM_DATABASE=IS200e
+
+usb:v05CAp0403*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v05CAp0405*
+ ID_MODEL_FROM_DATABASE=Type 101
+
+usb:v05CAp0406*
+ ID_MODEL_FROM_DATABASE=Type 102
+
+usb:v05CAp1803*
+ ID_MODEL_FROM_DATABASE=V5 camera [R5U870]
+
+usb:v05CAp1810*
+ ID_MODEL_FROM_DATABASE=Pavilion Webcam [R5U870]
+
+usb:v05CAp1812*
+ ID_MODEL_FROM_DATABASE=Pavilion Webcam
+
+usb:v05CAp1814*
+ ID_MODEL_FROM_DATABASE=HD Webcam
+
+usb:v05CAp1820*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
+usb:v05CAp1830*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera VGP-VCC2 [R5U870]
+
+usb:v05CAp1832*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera VGP-VCC3 [R5U870]
+
+usb:v05CAp1833*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera VGP-VCC2 [R5U870]
+
+usb:v05CAp1834*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera VGP-VCC2 [R5U870]
+
+usb:v05CAp1835*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera VGP-VCC5 [R5U870]
+
+usb:v05CAp1836*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera VGP-VCC4 [R5U870]
+
+usb:v05CAp1837*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera VGP-VCC4 [R5U870]
+
+usb:v05CAp1839*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera VGP-VCC6 [R5U870]
+
+usb:v05CAp183A*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera VGP-VCC7 [R5U870]
+
+usb:v05CAp183B*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera VGP-VCC8 [R5U870]
+
+usb:v05CAp183D*
+ ID_MODEL_FROM_DATABASE=Sony Vaio Integrated Webcam
+
+usb:v05CAp183E*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera VGP-VCC9 [R5U870]
+
+usb:v05CAp1841*
+ ID_MODEL_FROM_DATABASE=Fujitsu F01/ Lifebook U810 [R5U870]
+
+usb:v05CAp1870*
+ ID_MODEL_FROM_DATABASE=Webcam 1000
+
+usb:v05CAp18B0*
+ ID_MODEL_FROM_DATABASE=Sony Vaio Integrated Webcam
+
+usb:v05CAp18B1*
+ ID_MODEL_FROM_DATABASE=Sony Vaio Integrated Webcam
+
+usb:v05CAp18B3*
+ ID_MODEL_FROM_DATABASE=Sony Vaio Integrated Webcam
+
+usb:v05CAp18B5*
+ ID_MODEL_FROM_DATABASE=Sony Vaio Integrated Webcam
+
+usb:v05CAp2201*
+ ID_MODEL_FROM_DATABASE=RDC-7 Camera
+
+usb:v05CAp2202*
+ ID_MODEL_FROM_DATABASE=Caplio RR30
+
+usb:v05CAp2203*
+ ID_MODEL_FROM_DATABASE=Caplio 300G
+
+usb:v05CAp2204*
+ ID_MODEL_FROM_DATABASE=Caplio G3
+
+usb:v05CAp2205*
+ ID_MODEL_FROM_DATABASE=Caplio RR30 / Medion MD 6126 Camera
+
+usb:v05CAp2206*
+ ID_MODEL_FROM_DATABASE=Konica DG-3Z
+
+usb:v05CAp2207*
+ ID_MODEL_FROM_DATABASE=Caplio Pro G3
+
+usb:v05CAp2208*
+ ID_MODEL_FROM_DATABASE=Caplio G4
+
+usb:v05CAp2209*
+ ID_MODEL_FROM_DATABASE=Caplio 400G wide
+
+usb:v05CAp220A*
+ ID_MODEL_FROM_DATABASE=KONICA MINOLTA DG-4Wide
+
+usb:v05CAp220B*
+ ID_MODEL_FROM_DATABASE=Caplio RX
+
+usb:v05CAp220C*
+ ID_MODEL_FROM_DATABASE=Caplio GX
+
+usb:v05CAp220D*
+ ID_MODEL_FROM_DATABASE=Caplio R1/RZ1
+
+usb:v05CAp220E*
+ ID_MODEL_FROM_DATABASE=Sea & Sea 5000G
+
+usb:v05CAp220F*
+ ID_MODEL_FROM_DATABASE=Rollei dr5 / Rollei dr5 (PTP mode)
+
+usb:v05CAp2211*
+ ID_MODEL_FROM_DATABASE=Caplio R1S
+
+usb:v05CAp2212*
+ ID_MODEL_FROM_DATABASE=Caplio R1v Camera
+
+usb:v05CAp2213*
+ ID_MODEL_FROM_DATABASE=Caplio R2
+
+usb:v05CAp2214*
+ ID_MODEL_FROM_DATABASE=Caplio GX 8
+
+usb:v05CAp2215*
+ ID_MODEL_FROM_DATABASE=DSC 725
+
+usb:v05CAp2216*
+ ID_MODEL_FROM_DATABASE=Caplio R3
+
+usb:v05CAp2222*
+ ID_MODEL_FROM_DATABASE=RDC-i500
+
+usb:v05CB*
+ ID_VENDOR_FROM_DATABASE=PowerVision Technologies, Inc.
+
+usb:v05CBp1483*
+ ID_MODEL_FROM_DATABASE=PV8630 interface (scanners, webcams)
+
+usb:v05CC*
+ ID_VENDOR_FROM_DATABASE=ELSA AG
+
+usb:v05CCp2100*
+ ID_MODEL_FROM_DATABASE=MicroLink ISDN Office
+
+usb:v05CCp2219*
+ ID_MODEL_FROM_DATABASE=MicroLink ISDN
+
+usb:v05CCp2265*
+ ID_MODEL_FROM_DATABASE=MicroLink 56k
+
+usb:v05CCp2267*
+ ID_MODEL_FROM_DATABASE=MicroLink 56k (V.250)
+
+usb:v05CCp2280*
+ ID_MODEL_FROM_DATABASE=MicroLink 56k Fun
+
+usb:v05CCp3000*
+ ID_MODEL_FROM_DATABASE=Micolink USB2Ethernet [pegasus]
+
+usb:v05CCp3100*
+ ID_MODEL_FROM_DATABASE=AirLancer USB-11
+
+usb:v05CCp3363*
+ ID_MODEL_FROM_DATABASE=MicroLink ADSL Fun
+
+usb:v05CD*
+ ID_VENDOR_FROM_DATABASE=Silicom, Ltd
+
+usb:v05CE*
+ ID_VENDOR_FROM_DATABASE=sci-worx GmbH
+
+usb:v05CF*
+ ID_VENDOR_FROM_DATABASE=Sung Forn Co., Ltd
+
+usb:v05D0*
+ ID_VENDOR_FROM_DATABASE=GE Medical Systems Lunar
+
+usb:v05D1*
+ ID_VENDOR_FROM_DATABASE=Brainboxes, Ltd
+
+usb:v05D1p0003*
+ ID_MODEL_FROM_DATABASE=Bluetooth Adapter BL-554
+
+usb:v05D2*
+ ID_VENDOR_FROM_DATABASE=Wave Systems Corp.
+
+usb:v05D3*
+ ID_VENDOR_FROM_DATABASE=Tohoku Ricoh Co., Ltd
+
+usb:v05D5*
+ ID_VENDOR_FROM_DATABASE=Super Gate Technology Co., Ltd
+
+usb:v05D6*
+ ID_VENDOR_FROM_DATABASE=Philips Semiconductors, CICT
+
+usb:v05D7*
+ ID_VENDOR_FROM_DATABASE=Thomas & Betts Corp.
+
+usb:v05D7p0099*
+ ID_MODEL_FROM_DATABASE=10Mbps Ethernet [klsi]
+
+usb:v05D8*
+ ID_VENDOR_FROM_DATABASE=Ultima Electronics Corp.
+
+usb:v05D8p4001*
+ ID_MODEL_FROM_DATABASE=Artec Ultima 2000
+
+usb:v05D8p4002*
+ ID_MODEL_FROM_DATABASE=Artec Ultima 2000 (GT6801 based)/Lifetec LT9385/ScanMagic 1200 UB Plus Scanner
+
+usb:v05D8p4003*
+ ID_MODEL_FROM_DATABASE=Artec E+ 48U
+
+usb:v05D8p4004*
+ ID_MODEL_FROM_DATABASE=Artec E+ Pro
+
+usb:v05D8p4005*
+ ID_MODEL_FROM_DATABASE=MEM48U
+
+usb:v05D8p4006*
+ ID_MODEL_FROM_DATABASE=TRUST EASY WEBSCAN 19200
+
+usb:v05D8p4007*
+ ID_MODEL_FROM_DATABASE=TRUST 240H EASY WEBSCAN GOLD
+
+usb:v05D8p4008*
+ ID_MODEL_FROM_DATABASE=Trust Easy Webscan 19200
+
+usb:v05D8p4009*
+ ID_MODEL_FROM_DATABASE=Umax Astraslim
+
+usb:v05D8p4013*
+ ID_MODEL_FROM_DATABASE=IT Scan 1200
+
+usb:v05D8p8105*
+ ID_MODEL_FROM_DATABASE=Artec T1 USB TVBOX (cold)
+
+usb:v05D8p8106*
+ ID_MODEL_FROM_DATABASE=Artec T1 USB TVBOX (warm)
+
+usb:v05D8p8107*
+ ID_MODEL_FROM_DATABASE=Artec T1 USB TVBOX with AN2235 (cold)
+
+usb:v05D8p8108*
+ ID_MODEL_FROM_DATABASE=Artec T1 USB TVBOX with AN2235 (warm)
+
+usb:v05D8p8109*
+ ID_MODEL_FROM_DATABASE=Artec T1 USB2.0 TVBOX (cold
+
+usb:v05D9*
+ ID_VENDOR_FROM_DATABASE=Axiohm Transaction Solutions
+
+usb:v05D9pA225*
+ ID_MODEL_FROM_DATABASE=A225 Printer
+
+usb:v05D9pA758*
+ ID_MODEL_FROM_DATABASE=A758 Printer
+
+usb:v05D9pA794*
+ ID_MODEL_FROM_DATABASE=A794 Printer
+
+usb:v05DA*
+ ID_VENDOR_FROM_DATABASE=Microtek International, Inc.
+
+usb:v05DAp0091*
+ ID_MODEL_FROM_DATABASE=ScanMaker X6u
+
+usb:v05DAp0093*
+ ID_MODEL_FROM_DATABASE=ScanMaker V6USL
+
+usb:v05DAp0094*
+ ID_MODEL_FROM_DATABASE=Phantom 336CX/C3
+
+usb:v05DAp0099*
+ ID_MODEL_FROM_DATABASE=ScanMaker X6/X6U
+
+usb:v05DAp009A*
+ ID_MODEL_FROM_DATABASE=Phantom C6
+
+usb:v05DAp00A0*
+ ID_MODEL_FROM_DATABASE=Phantom 336CX/C3 (#2)
+
+usb:v05DAp00A3*
+ ID_MODEL_FROM_DATABASE=ScanMaker V6USL
+
+usb:v05DAp00AC*
+ ID_MODEL_FROM_DATABASE=ScanMaker V6UL
+
+usb:v05DAp00B6*
+ ID_MODEL_FROM_DATABASE=ScanMaker V6UPL
+
+usb:v05DAp00EF*
+ ID_MODEL_FROM_DATABASE=ScanMaker V6UPL
+
+usb:v05DAp1006*
+ ID_MODEL_FROM_DATABASE=Jenoptik JD350 entrance
+
+usb:v05DAp1011*
+ ID_MODEL_FROM_DATABASE=NHJ Che-ez! Kiss Digital Camera
+
+usb:v05DAp1018*
+ ID_MODEL_FROM_DATABASE=Digital Dream Enigma 1.3
+
+usb:v05DAp1020*
+ ID_MODEL_FROM_DATABASE=Digital Dream l'espion xtra
+
+usb:v05DAp1025*
+ ID_MODEL_FROM_DATABASE=Take-it Still Camera Device
+
+usb:v05DAp1026*
+ ID_MODEL_FROM_DATABASE=Take-it
+
+usb:v05DAp1043*
+ ID_MODEL_FROM_DATABASE=Take-It 1300 DSC Bulk Driver
+
+usb:v05DAp1045*
+ ID_MODEL_FROM_DATABASE=Take-it D1
+
+usb:v05DAp1047*
+ ID_MODEL_FROM_DATABASE=Take-it Camera Composite Device
+
+usb:v05DAp1048*
+ ID_MODEL_FROM_DATABASE=Take-it Q3
+
+usb:v05DAp1049*
+ ID_MODEL_FROM_DATABASE=3M Still Camera Device
+
+usb:v05DAp1051*
+ ID_MODEL_FROM_DATABASE=Camcorder Series
+
+usb:v05DAp1052*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v05DAp1053*
+ ID_MODEL_FROM_DATABASE=Take-it DV Composite Device
+
+usb:v05DAp1054*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v05DAp1055*
+ ID_MODEL_FROM_DATABASE=Digital Camera Series(536)
+
+usb:v05DAp1056*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v05DAp1057*
+ ID_MODEL_FROM_DATABASE=Take-it DSC Camera Device(536)
+
+usb:v05DAp1058*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v05DAp1059*
+ ID_MODEL_FROM_DATABASE=Camcorder DSC Series
+
+usb:v05DAp1060*
+ ID_MODEL_FROM_DATABASE=Microtek Take-it MV500
+
+usb:v05DAp2007*
+ ID_MODEL_FROM_DATABASE=ArtixScan DI 1210
+
+usb:v05DAp200C*
+ ID_MODEL_FROM_DATABASE=1394_USB2 Scanner
+
+usb:v05DAp200E*
+ ID_MODEL_FROM_DATABASE=ArtixScan DI 810
+
+usb:v05DAp2017*
+ ID_MODEL_FROM_DATABASE=UF ICE Scanner
+
+usb:v05DAp201C*
+ ID_MODEL_FROM_DATABASE=4800 Scanner
+
+usb:v05DAp201D*
+ ID_MODEL_FROM_DATABASE=ArtixScan DI 1610
+
+usb:v05DAp201F*
+ ID_MODEL_FROM_DATABASE=4800 Scanner-ICE
+
+usb:v05DAp202E*
+ ID_MODEL_FROM_DATABASE=ArtixScan DI 2020
+
+usb:v05DAp208B*
+ ID_MODEL_FROM_DATABASE=ScanMaker 6800
+
+usb:v05DAp208F*
+ ID_MODEL_FROM_DATABASE=ArtixScan DI 2010
+
+usb:v05DAp209E*
+ ID_MODEL_FROM_DATABASE=ScanMaker 4700LP
+
+usb:v05DAp20A7*
+ ID_MODEL_FROM_DATABASE=ScanMaker 5600
+
+usb:v05DAp20B0*
+ ID_MODEL_FROM_DATABASE=ScanMaker X12USL
+
+usb:v05DAp20B1*
+ ID_MODEL_FROM_DATABASE=ScanMaker 8700
+
+usb:v05DAp20B4*
+ ID_MODEL_FROM_DATABASE=ScanMaker 4700
+
+usb:v05DAp20BD*
+ ID_MODEL_FROM_DATABASE=ScanMaker 5700
+
+usb:v05DAp20C9*
+ ID_MODEL_FROM_DATABASE=ScanMaker 6700
+
+usb:v05DAp20D2*
+ ID_MODEL_FROM_DATABASE=Microtek ArtixScan 1800f
+
+usb:v05DAp20D6*
+ ID_MODEL_FROM_DATABASE=PS4000
+
+usb:v05DAp20DE*
+ ID_MODEL_FROM_DATABASE=ScanMaker 9800XL
+
+usb:v05DAp20E0*
+ ID_MODEL_FROM_DATABASE=ScanMaker 9700XL
+
+usb:v05DAp20ED*
+ ID_MODEL_FROM_DATABASE=ScanMaker 4700
+
+usb:v05DAp20EE*
+ ID_MODEL_FROM_DATABASE=Micortek ScanMaker X12USL
+
+usb:v05DAp3008*
+ ID_MODEL_FROM_DATABASE=Scanner
+
+usb:v05DAp300A*
+ ID_MODEL_FROM_DATABASE=4800 ICE Scanner
+
+usb:v05DAp300B*
+ ID_MODEL_FROM_DATABASE=4800 Scanner
+
+usb:v05DAp300F*
+ ID_MODEL_FROM_DATABASE=MiniScan C5
+
+usb:v05DAp3020*
+ ID_MODEL_FROM_DATABASE=4800dpi Scanner
+
+usb:v05DAp3021*
+ ID_MODEL_FROM_DATABASE=1200dpi Scanner
+
+usb:v05DAp3022*
+ ID_MODEL_FROM_DATABASE=Scanner 4800dpi
+
+usb:v05DAp3023*
+ ID_MODEL_FROM_DATABASE=USB1200II Scanner
+
+usb:v05DAp30C1*
+ ID_MODEL_FROM_DATABASE=USB600 Scanner
+
+usb:v05DAp30CE*
+ ID_MODEL_FROM_DATABASE=ScanMaker 3800
+
+usb:v05DAp30CF*
+ ID_MODEL_FROM_DATABASE=ScanMaker 4800
+
+usb:v05DAp30D4*
+ ID_MODEL_FROM_DATABASE=USB1200 Scanner
+
+usb:v05DAp30D8*
+ ID_MODEL_FROM_DATABASE=Scanner
+
+usb:v05DAp30D9*
+ ID_MODEL_FROM_DATABASE=USB2400 Scanner
+
+usb:v05DAp30E4*
+ ID_MODEL_FROM_DATABASE=ScanMaker 4100
+
+usb:v05DAp30E5*
+ ID_MODEL_FROM_DATABASE=USB3200 Scanner
+
+usb:v05DAp30E6*
+ ID_MODEL_FROM_DATABASE=ScanMaker i320
+
+usb:v05DAp40B3*
+ ID_MODEL_FROM_DATABASE=ScanMaker 3600
+
+usb:v05DAp40B8*
+ ID_MODEL_FROM_DATABASE=ScanMaker 3700
+
+usb:v05DAp40C7*
+ ID_MODEL_FROM_DATABASE=ScanMaker 4600
+
+usb:v05DAp40CA*
+ ID_MODEL_FROM_DATABASE=ScanMaker 3600
+
+usb:v05DAp40CB*
+ ID_MODEL_FROM_DATABASE=ScanMaker 3700
+
+usb:v05DAp40DD*
+ ID_MODEL_FROM_DATABASE=ScanMaker 3750i
+
+usb:v05DAp40FF*
+ ID_MODEL_FROM_DATABASE=ScanMaker 3600
+
+usb:v05DAp5003*
+ ID_MODEL_FROM_DATABASE=Goya
+
+usb:v05DAp5013*
+ ID_MODEL_FROM_DATABASE=3200 Scanner
+
+usb:v05DAp80A3*
+ ID_MODEL_FROM_DATABASE=ScanMaker V6USL (#2)
+
+usb:v05DAp80AC*
+ ID_MODEL_FROM_DATABASE=ScanMaker V6UL/SpicyU
+
+usb:v05DB*
+ ID_VENDOR_FROM_DATABASE=Sun Corp. (Suntac?)
+
+usb:v05DBp0003*
+ ID_MODEL_FROM_DATABASE=SUNTAC U-Cable type D2
+
+usb:v05DBp0005*
+ ID_MODEL_FROM_DATABASE=SUNTAC U-Cable type P1
+
+usb:v05DBp0009*
+ ID_MODEL_FROM_DATABASE=SUNTAC Slipper U
+
+usb:v05DBp000A*
+ ID_MODEL_FROM_DATABASE=SUNTAC Ir-Trinity
+
+usb:v05DBp000B*
+ ID_MODEL_FROM_DATABASE=SUNTAC U-Cable type A3
+
+usb:v05DBp0011*
+ ID_MODEL_FROM_DATABASE=SUNTAC U-Cable type A4
+
+usb:v05DC*
+ ID_VENDOR_FROM_DATABASE=Lexar Media, Inc.
+
+usb:v05DCp0001*
+ ID_MODEL_FROM_DATABASE=jumpSHOT CompactFlash Reader
+
+usb:v05DCp0002*
+ ID_MODEL_FROM_DATABASE=JumpShot
+
+usb:v05DCp0003*
+ ID_MODEL_FROM_DATABASE=JumpShot
+
+usb:v05DCp0080*
+ ID_MODEL_FROM_DATABASE=Jumpdrive Secure 64MB
+
+usb:v05DCp0081*
+ ID_MODEL_FROM_DATABASE=RBC Compact Flash Drive
+
+usb:v05DCp00A7*
+ ID_MODEL_FROM_DATABASE=JumpDrive Impact
+
+usb:v05DCp0100*
+ ID_MODEL_FROM_DATABASE=JumpDrive PRO
+
+usb:v05DCp0200*
+ ID_MODEL_FROM_DATABASE=JumpDrive 2.0 Pro
+
+usb:v05DCp0300*
+ ID_MODEL_FROM_DATABASE=Jumpdrive Geysr
+
+usb:v05DCp0301*
+ ID_MODEL_FROM_DATABASE=JumpDrive Classic
+
+usb:v05DCp0302*
+ ID_MODEL_FROM_DATABASE=JD Micro
+
+usb:v05DCp0303*
+ ID_MODEL_FROM_DATABASE=JD Micro Pro
+
+usb:v05DCp0304*
+ ID_MODEL_FROM_DATABASE=JD Secure II
+
+usb:v05DCp0310*
+ ID_MODEL_FROM_DATABASE=JumpDrive
+
+usb:v05DCp0311*
+ ID_MODEL_FROM_DATABASE=JumpDrive Classic
+
+usb:v05DCp0312*
+ ID_MODEL_FROM_DATABASE=JD Micro
+
+usb:v05DCp0313*
+ ID_MODEL_FROM_DATABASE=JD Micro Pro
+
+usb:v05DCp0320*
+ ID_MODEL_FROM_DATABASE=JumpDrive
+
+usb:v05DCp0321*
+ ID_MODEL_FROM_DATABASE=JD Micro
+
+usb:v05DCp0322*
+ ID_MODEL_FROM_DATABASE=JD Micro Pro
+
+usb:v05DCp0323*
+ ID_MODEL_FROM_DATABASE=UFC
+
+usb:v05DCp0330*
+ ID_MODEL_FROM_DATABASE=JumpDrive Expression
+
+usb:v05DCp0340*
+ ID_MODEL_FROM_DATABASE=JumpDrive TAD
+
+usb:v05DCp0350*
+ ID_MODEL_FROM_DATABASE=Express Card
+
+usb:v05DCp0400*
+ ID_MODEL_FROM_DATABASE=UFDC
+
+usb:v05DCp0401*
+ ID_MODEL_FROM_DATABASE=UFDC
+
+usb:v05DCp0403*
+ ID_MODEL_FROM_DATABASE=Locked B Device
+
+usb:v05DCp0405*
+ ID_MODEL_FROM_DATABASE=Locked C Device
+
+usb:v05DCp0407*
+ ID_MODEL_FROM_DATABASE=Locked D Device
+
+usb:v05DCp0409*
+ ID_MODEL_FROM_DATABASE=Locked E Device
+
+usb:v05DCp040B*
+ ID_MODEL_FROM_DATABASE=Locked F Device
+
+usb:v05DCp040D*
+ ID_MODEL_FROM_DATABASE=Locked G Device
+
+usb:v05DCp040F*
+ ID_MODEL_FROM_DATABASE=Locked H Device
+
+usb:v05DCp0410*
+ ID_MODEL_FROM_DATABASE=JumpDrive
+
+usb:v05DCp0411*
+ ID_MODEL_FROM_DATABASE=JumpDrive
+
+usb:v05DCp0413*
+ ID_MODEL_FROM_DATABASE=Locked J Device
+
+usb:v05DCp0415*
+ ID_MODEL_FROM_DATABASE=Locked K Device
+
+usb:v05DCp0417*
+ ID_MODEL_FROM_DATABASE=Locked L Device
+
+usb:v05DCp0419*
+ ID_MODEL_FROM_DATABASE=Locked M Device
+
+usb:v05DCp041B*
+ ID_MODEL_FROM_DATABASE=Locked N Device
+
+usb:v05DCp041D*
+ ID_MODEL_FROM_DATABASE=Locked O Device
+
+usb:v05DCp041F*
+ ID_MODEL_FROM_DATABASE=Locked P Device
+
+usb:v05DCp0420*
+ ID_MODEL_FROM_DATABASE=JumpDrive
+
+usb:v05DCp0421*
+ ID_MODEL_FROM_DATABASE=JumpDrive
+
+usb:v05DCp0423*
+ ID_MODEL_FROM_DATABASE=Locked R Device
+
+usb:v05DCp0425*
+ ID_MODEL_FROM_DATABASE=Locked S Device
+
+usb:v05DCp0427*
+ ID_MODEL_FROM_DATABASE=Locked T Device
+
+usb:v05DCp0429*
+ ID_MODEL_FROM_DATABASE=Locked U Device
+
+usb:v05DCp042B*
+ ID_MODEL_FROM_DATABASE=Locked V Device
+
+usb:v05DCp042D*
+ ID_MODEL_FROM_DATABASE=Locked W Device
+
+usb:v05DCp042F*
+ ID_MODEL_FROM_DATABASE=Locked X Device
+
+usb:v05DCp0431*
+ ID_MODEL_FROM_DATABASE=Locked Y Device
+
+usb:v05DCp0433*
+ ID_MODEL_FROM_DATABASE=Locked Z Device
+
+usb:v05DCp4D02*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v05DCp4D12*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v05DCp4D30*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v05DCpA300*
+ ID_MODEL_FROM_DATABASE=JumpDrive2
+
+usb:v05DCpA400*
+ ID_MODEL_FROM_DATABASE=JumpDrive trade; Pro 40-501
+
+usb:v05DCpA410*
+ ID_MODEL_FROM_DATABASE=JumpDrive 128MB/256MB
+
+usb:v05DCpA411*
+ ID_MODEL_FROM_DATABASE=JumpDrive Traveler
+
+usb:v05DCpA420*
+ ID_MODEL_FROM_DATABASE=JumpDrive Pro
+
+usb:v05DCpA421*
+ ID_MODEL_FROM_DATABASE=JumpDrive Pro II
+
+usb:v05DCpA422*
+ ID_MODEL_FROM_DATABASE=JumpDrive Micro Pro
+
+usb:v05DCpA430*
+ ID_MODEL_FROM_DATABASE=JumpDrive Secure
+
+usb:v05DCpA431*
+ ID_MODEL_FROM_DATABASE=JumpDrive Secure II
+
+usb:v05DCpA432*
+ ID_MODEL_FROM_DATABASE=JumpDrive Classic
+
+usb:v05DCpA440*
+ ID_MODEL_FROM_DATABASE=JumpDrive Lightning
+
+usb:v05DCpA450*
+ ID_MODEL_FROM_DATABASE=JumpDrive TouchGuard
+
+usb:v05DCpA460*
+ ID_MODEL_FROM_DATABASE=JD Mercury
+
+usb:v05DCpA501*
+ ID_MODEL_FROM_DATABASE=JumpDrive Classic
+
+usb:v05DCpA510*
+ ID_MODEL_FROM_DATABASE=JumpDrive Sport
+
+usb:v05DCpA530*
+ ID_MODEL_FROM_DATABASE=JumpDrive Expression
+
+usb:v05DCpA531*
+ ID_MODEL_FROM_DATABASE=JumpDrive Secure II
+
+usb:v05DCpA560*
+ ID_MODEL_FROM_DATABASE=JumpDrive FireFly
+
+usb:v05DCpA701*
+ ID_MODEL_FROM_DATABASE=JumpDrive FireFly
+
+usb:v05DCpA731*
+ ID_MODEL_FROM_DATABASE=JumpDrive FireFly
+
+usb:v05DCpA790*
+ ID_MODEL_FROM_DATABASE=JumpDrive 2GB
+
+usb:v05DCpA811*
+ ID_MODEL_FROM_DATABASE=16GB Gizmo!
+
+usb:v05DCpA813*
+ ID_MODEL_FROM_DATABASE=16gB flash thumb drive
+
+usb:v05DCpB002*
+ ID_MODEL_FROM_DATABASE=USB CF Reader
+
+usb:v05DCpB018*
+ ID_MODEL_FROM_DATABASE=Multi-Card Reader
+
+usb:v05DCpB047*
+ ID_MODEL_FROM_DATABASE=SDHC Reader [RW047-7000]
+
+usb:v05DCpC753*
+ ID_MODEL_FROM_DATABASE=JumpDrive TwistTurn
+
+usb:v05DD*
+ ID_VENDOR_FROM_DATABASE=Delta Electronics, Inc.
+
+usb:v05DDpFF31*
+ ID_MODEL_FROM_DATABASE=AWU-120
+
+usb:v05DDpFF32*
+ ID_MODEL_FROM_DATABASE=FriendlyNET AeroLAN AL2011
+
+usb:v05DDpFF35*
+ ID_MODEL_FROM_DATABASE=PCW 100 - Wireless 802.11b Adapter
+
+usb:v05DDpFF91*
+ ID_MODEL_FROM_DATABASE=2Wire PC Port Phoneline 10Mbps Adapter
+
+usb:v05DF*
+ ID_VENDOR_FROM_DATABASE=Silicon Vision, Inc.
+
+usb:v05E0*
+ ID_VENDOR_FROM_DATABASE=Symbol Technologies
+
+usb:v05E0p0700*
+ ID_MODEL_FROM_DATABASE=Bar Code Scanner (CS1504)
+
+usb:v05E0p0800*
+ ID_MODEL_FROM_DATABASE=Spectrum24 Wireless LAN Adapter
+
+usb:v05E0p1200*
+ ID_MODEL_FROM_DATABASE=Bar Code Scanner
+
+usb:v05E0p1900*
+ ID_MODEL_FROM_DATABASE=SNAPI Imaging Device
+
+usb:v05E0p2000*
+ ID_MODEL_FROM_DATABASE=MC3090 Rugged Mobile Computer
+
+usb:v05E0p200D*
+ ID_MODEL_FROM_DATABASE=MC70 Rugged Mobile Computer
+
+usb:v05E1*
+ ID_VENDOR_FROM_DATABASE=Syntek Semiconductor Co., Ltd
+
+usb:v05E1p0100*
+ ID_MODEL_FROM_DATABASE=802.11g + Bluetooth Wireless Adapter
+
+usb:v05E1p0408*
+ ID_MODEL_FROM_DATABASE=STK1160 Video Capture Device
+
+usb:v05E1p0500*
+ ID_MODEL_FROM_DATABASE=DC-112X Webcam
+
+usb:v05E1p0501*
+ ID_MODEL_FROM_DATABASE=DC-1125 Webcam
+
+usb:v05E1p0890*
+ ID_MODEL_FROM_DATABASE=STK011 Camera
+
+usb:v05E1p0892*
+ ID_MODEL_FROM_DATABASE=STK013 Camera
+
+usb:v05E1p0895*
+ ID_MODEL_FROM_DATABASE=STK016 Camera
+
+usb:v05E1p0896*
+ ID_MODEL_FROM_DATABASE=STK017 Camera
+
+usb:v05E1p2010*
+ ID_MODEL_FROM_DATABASE=ARCTIC Sound P261 Headphones
+
+usb:v05E2*
+ ID_VENDOR_FROM_DATABASE=ElecVision, Inc.
+
+usb:v05E3*
+ ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.
+
+usb:v05E3p000A*
+ ID_MODEL_FROM_DATABASE=Keyboard with PS/2 Port
+
+usb:v05E3p000B*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v05E3p0100*
+ ID_MODEL_FROM_DATABASE=Nintendo Game Boy Advance SP
+
+usb:v05E3p0120*
+ ID_MODEL_FROM_DATABASE=Pacific Image Electronics PrimeFilm 1800u slide/negative scanner
+
+usb:v05E3p0131*
+ ID_MODEL_FROM_DATABASE=CF/SM Reader/Writer
+
+usb:v05E3p0142*
+ ID_MODEL_FROM_DATABASE=Multiple Slides Scanner-3600
+
+usb:v05E3p0143*
+ ID_MODEL_FROM_DATABASE=Multiple Frames Film Scanner-36series
+
+usb:v05E3p0180*
+ ID_MODEL_FROM_DATABASE=Plustek Scanner
+
+usb:v05E3p0182*
+ ID_MODEL_FROM_DATABASE=Wize Media 1000
+
+usb:v05E3p0189*
+ ID_MODEL_FROM_DATABASE=ScanJet 4600 series
+
+usb:v05E3p018A*
+ ID_MODEL_FROM_DATABASE=Xerox 6400
+
+usb:v05E3p0300*
+ ID_MODEL_FROM_DATABASE=GLUSB98PT Parallel Port
+
+usb:v05E3p0301*
+ ID_MODEL_FROM_DATABASE=USB2LPT Cable Release2
+
+usb:v05E3p0406*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v05E3p0501*
+ ID_MODEL_FROM_DATABASE=GL620USB Host-Host interface
+
+usb:v05E3p0502*
+ ID_MODEL_FROM_DATABASE=GL620USB-A GeneLink USB-USB Bridge
+
+usb:v05E3p0503*
+ ID_MODEL_FROM_DATABASE=Webcam
+
+usb:v05E3p0504*
+ ID_MODEL_FROM_DATABASE=HID Keyboard Filter
+
+usb:v05E3p0604*
+ ID_MODEL_FROM_DATABASE=USB 1.1 Hub
+
+usb:v05E3p0605*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Hub
+
+usb:v05E3p0606*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub
+
+usb:v05E3p0607*
+ ID_MODEL_FROM_DATABASE=Logitech G110 Hub
+
+usb:v05E3p0608*
+ ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB
+
+usb:v05E3p0610*
+ ID_MODEL_FROM_DATABASE=4-port hub
+
+usb:v05E3p0660*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Hub
+
+usb:v05E3p0700*
+ ID_MODEL_FROM_DATABASE=SIIG US2256 CompactFlash Card Reader
+
+usb:v05E3p0701*
+ ID_MODEL_FROM_DATABASE=USB 2.0 IDE Adapter
+
+usb:v05E3p0702*
+ ID_MODEL_FROM_DATABASE=USB 2.0 IDE Adapter [GL811E]
+
+usb:v05E3p0703*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v05E3p0704*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v05E3p0705*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v05E3p0706*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v05E3p0707*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v05E3p0708*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v05E3p0709*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v05E3p070A*
+ ID_MODEL_FROM_DATABASE=Pen Flash
+
+usb:v05E3p070B*
+ ID_MODEL_FROM_DATABASE=DMHS1B Rev 3 DFU Adapter
+
+usb:v05E3p070E*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Card Reader
+
+usb:v05E3p070F*
+ ID_MODEL_FROM_DATABASE=Pen Flash
+
+usb:v05E3p0710*
+ ID_MODEL_FROM_DATABASE=USB 2.0 33-in-1 Card Reader
+
+usb:v05E3p0711*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v05E3p0712*
+ ID_MODEL_FROM_DATABASE=Delkin Mass Storage Device
+
+usb:v05E3p0715*
+ ID_MODEL_FROM_DATABASE=USB 2.0 microSD Reader
+
+usb:v05E3p0716*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Multislot Card Reader/Writer
+
+usb:v05E3p0717*
+ ID_MODEL_FROM_DATABASE=All-in-1 Card Reader
+
+usb:v05E3p0718*
+ ID_MODEL_FROM_DATABASE=IDE/SATA Adapter
+
+usb:v05E3p0719*
+ ID_MODEL_FROM_DATABASE=SATA adapter
+
+usb:v05E3p0723*
+ ID_MODEL_FROM_DATABASE=GL827L SD/MMC/MS Flash Card Reader
+
+usb:v05E3p0726*
+ ID_MODEL_FROM_DATABASE=SD Card Reader
+
+usb:v05E3p0727*
+ ID_MODEL_FROM_DATABASE=microSD Reader/Writer
+
+usb:v05E3p0736*
+ ID_MODEL_FROM_DATABASE=microSD Reader/Writer
+
+usb:v05E3p0760*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Card Reader/Writer
+
+usb:v05E3p0761*
+ ID_MODEL_FROM_DATABASE=Genesys Mass Storage Device
+
+usb:v05E3p0780*
+ ID_MODEL_FROM_DATABASE=USBFS DFU Adapter
+
+usb:v05E3p07A0*
+ ID_MODEL_FROM_DATABASE=Pen Flash
+
+usb:v05E3p0880*
+ ID_MODEL_FROM_DATABASE=Wasp (SL-6612)
+
+usb:v05E3p0927*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v05E3p1205*
+ ID_MODEL_FROM_DATABASE=Afilias Optical Mouse H3003 / Trust Optical USB MultiColour Mouse MI-2330
+
+usb:v05E3pA700*
+ ID_MODEL_FROM_DATABASE=Pen Flash
+
+usb:v05E3pF102*
+ ID_MODEL_FROM_DATABASE=VX7012 TV Box
+
+usb:v05E3pF103*
+ ID_MODEL_FROM_DATABASE=VX7012 TV Box
+
+usb:v05E3pF104*
+ ID_MODEL_FROM_DATABASE=VX7012 TV Box
+
+usb:v05E3pFD21*
+ ID_MODEL_FROM_DATABASE=3M TL20 Temperature Logger
+
+usb:v05E3pFE00*
+ ID_MODEL_FROM_DATABASE=Razer Mouse
+
+usb:v05E4*
+ ID_VENDOR_FROM_DATABASE=Red Wing Corp.
+
+usb:v05E5*
+ ID_VENDOR_FROM_DATABASE=Fuji Electric Co., Ltd
+
+usb:v05E6*
+ ID_VENDOR_FROM_DATABASE=Keithley Instruments
+
+usb:v05E8*
+ ID_VENDOR_FROM_DATABASE=ICC, Inc.
+
+usb:v05E9*
+ ID_VENDOR_FROM_DATABASE=Kawasaki LSI
+
+usb:v05E9p0008*
+ ID_MODEL_FROM_DATABASE=KL5KUSB101B Ethernet [klsi]
+
+usb:v05E9p0009*
+ ID_MODEL_FROM_DATABASE=Sony 10Mbps Ethernet [pegasus]
+
+usb:v05E9p000C*
+ ID_MODEL_FROM_DATABASE=USB-to-RS-232
+
+usb:v05E9p000D*
+ ID_MODEL_FROM_DATABASE=USB-to-RS-232
+
+usb:v05E9p0014*
+ ID_MODEL_FROM_DATABASE=RS-232 J104
+
+usb:v05E9p0040*
+ ID_MODEL_FROM_DATABASE=Ethernet Adapter
+
+usb:v05E9p2008*
+ ID_MODEL_FROM_DATABASE=Ethernet Adapter
+
+usb:v05EB*
+ ID_VENDOR_FROM_DATABASE=FFC, Ltd
+
+usb:v05EC*
+ ID_VENDOR_FROM_DATABASE=COM21, Inc.
+
+usb:v05EE*
+ ID_VENDOR_FROM_DATABASE=Cytechinfo Inc.
+
+usb:v05EF*
+ ID_VENDOR_FROM_DATABASE=AVB, Inc. [anko?]
+
+usb:v05EFp020A*
+ ID_MODEL_FROM_DATABASE=Top Shot Pegasus Joystick
+
+usb:v05EFp8884*
+ ID_MODEL_FROM_DATABASE=Mag Turbo Force Wheel
+
+usb:v05EFp8888*
+ ID_MODEL_FROM_DATABASE=Top Shot Force Feedback Racing Wheel
+
+usb:v05F0*
+ ID_VENDOR_FROM_DATABASE=Canopus Co., Ltd
+
+usb:v05F0p0101*
+ ID_MODEL_FROM_DATABASE=DA-Port DAC
+
+usb:v05F1*
+ ID_VENDOR_FROM_DATABASE=Compass Communications
+
+usb:v05F2*
+ ID_VENDOR_FROM_DATABASE=Dexin Corp., Ltd
+
+usb:v05F2p0010*
+ ID_MODEL_FROM_DATABASE=AQ Mouse
+
+usb:v05F3*
+ ID_VENDOR_FROM_DATABASE=PI Engineering, Inc.
+
+usb:v05F3p0007*
+ ID_MODEL_FROM_DATABASE=Kinesis Advantage PRO MPC/USB Keyboard
+
+usb:v05F3p0081*
+ ID_MODEL_FROM_DATABASE=Kinesis Integrated Hub
+
+usb:v05F3p00FF*
+ ID_MODEL_FROM_DATABASE=VEC Footpedal
+
+usb:v05F3p020B*
+ ID_MODEL_FROM_DATABASE=PS2 Adapter
+
+usb:v05F3p0232*
+ ID_MODEL_FROM_DATABASE=X-Keys Switch Interface, Programming Mode
+
+usb:v05F3p0261*
+ ID_MODEL_FROM_DATABASE=X-Keys Switch Interface, SPLAT Mode
+
+usb:v05F3p0264*
+ ID_MODEL_FROM_DATABASE=X-Keys Switch Interface, Composite Mode
+
+usb:v05F5*
+ ID_VENDOR_FROM_DATABASE=Unixtar Technology, Inc.
+
+usb:v05F6*
+ ID_VENDOR_FROM_DATABASE=AOC International
+
+usb:v05F7*
+ ID_VENDOR_FROM_DATABASE=RFC Distribution(s) PTE, Ltd
+
+usb:v05F9*
+ ID_VENDOR_FROM_DATABASE=PSC Scanning, Inc.
+
+usb:v05F9p1104*
+ ID_MODEL_FROM_DATABASE=Magellan 2200VS
+
+usb:v05F9p2206*
+ ID_MODEL_FROM_DATABASE=Datalogic Gryphon GFS4170
+
+usb:v05F9p2602*
+ ID_MODEL_FROM_DATABASE=Datalogic Magellan 1100i Barcode Scanner
+
+usb:v05F9p5204*
+ ID_MODEL_FROM_DATABASE=Datalogic Gryphon GFS4170 (config mode)
+
+usb:v05FA*
+ ID_VENDOR_FROM_DATABASE=Siemens Telecommunications Systems, Ltd
+
+usb:v05FAp3301*
+ ID_MODEL_FROM_DATABASE=Keyboard with PS/2 Mouse Port
+
+usb:v05FAp3302*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v05FAp3303*
+ ID_MODEL_FROM_DATABASE=Keyboard with PS/2 Mouse Port
+
+usb:v05FC*
+ ID_VENDOR_FROM_DATABASE=Harman Multimedia
+
+usb:v05FCp7849*
+ ID_MODEL_FROM_DATABASE=Harman/Kardon SoundSticks
+
+usb:v05FD*
+ ID_VENDOR_FROM_DATABASE=InterAct, Inc.
+
+usb:v05FDp0239*
+ ID_MODEL_FROM_DATABASE=SV-239 HammerHead Digital
+
+usb:v05FDp0251*
+ ID_MODEL_FROM_DATABASE=Raider Pro
+
+usb:v05FDp0253*
+ ID_MODEL_FROM_DATABASE=ProPad 8 Digital
+
+usb:v05FDp0286*
+ ID_MODEL_FROM_DATABASE=SV-286 Cyclone Digital
+
+usb:v05FDp107A*
+ ID_MODEL_FROM_DATABASE=PowerPad Pro X-Box pad
+
+usb:v05FDp262A*
+ ID_MODEL_FROM_DATABASE=3dfx HammerHead FX
+
+usb:v05FDp262F*
+ ID_MODEL_FROM_DATABASE=HammerHead Fx
+
+usb:v05FDpDAAE*
+ ID_MODEL_FROM_DATABASE=Game Shark
+
+usb:v05FE*
+ ID_VENDOR_FROM_DATABASE=Chic Technology Corp.
+
+usb:v05FEp0001*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v05FEp0003*
+ ID_MODEL_FROM_DATABASE=Cypress USB Mouse
+
+usb:v05FEp0005*
+ ID_MODEL_FROM_DATABASE=Viewmaster 4D Browser Mouse
+
+usb:v05FEp0007*
+ ID_MODEL_FROM_DATABASE=Twinhead Mouse
+
+usb:v05FEp0009*
+ ID_MODEL_FROM_DATABASE=Inland Pro 4500/5000 Mouse
+
+usb:v05FEp0011*
+ ID_MODEL_FROM_DATABASE=Browser Mouse
+
+usb:v05FEp0014*
+ ID_MODEL_FROM_DATABASE=Gamepad
+
+usb:v05FEp1010*
+ ID_MODEL_FROM_DATABASE=Optical Wireless
+
+usb:v05FF*
+ ID_VENDOR_FROM_DATABASE=LeCroy Corp.
+
+usb:v0600*
+ ID_VENDOR_FROM_DATABASE=Barco Display Systems
+
+usb:v0601*
+ ID_VENDOR_FROM_DATABASE=Jazz Hipster Corp.
+
+usb:v0601p0003*
+ ID_MODEL_FROM_DATABASE=Internet Security Co., Ltd. SecureKey
+
+usb:v0602*
+ ID_VENDOR_FROM_DATABASE=Vista Imaging, Inc.
+
+usb:v0602p1001*
+ ID_MODEL_FROM_DATABASE=ViCam Webcam
+
+usb:v0603*
+ ID_VENDOR_FROM_DATABASE=Novatek Microelectronics Corp.
+
+usb:v0603p00F1*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v0603p6871*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v0604*
+ ID_VENDOR_FROM_DATABASE=Jean Co., Ltd
+
+usb:v0605*
+ ID_VENDOR_FROM_DATABASE=Anchor C&C Co., Ltd
+
+usb:v0606*
+ ID_VENDOR_FROM_DATABASE=Royal Information Electronics Co., Ltd
+
+usb:v0607*
+ ID_VENDOR_FROM_DATABASE=Bridge Information Co., Ltd
+
+usb:v0608*
+ ID_VENDOR_FROM_DATABASE=Genrad Ads
+
+usb:v0609*
+ ID_VENDOR_FROM_DATABASE=SMK Manufacturing, Inc.
+
+usb:v0609p031D*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v0609p0322*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v0609p0334*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v0609pFF12*
+ ID_MODEL_FROM_DATABASE=SMK Bluetooth Device
+
+usb:v060A*
+ ID_VENDOR_FROM_DATABASE=Worthington Data Solutions, Inc.
+
+usb:v060B*
+ ID_VENDOR_FROM_DATABASE=Solid Year
+
+usb:v060Bp0001*
+ ID_MODEL_FROM_DATABASE=MacAlly Keyboard
+
+usb:v060Bp0230*
+ ID_MODEL_FROM_DATABASE=KSK-8003 UX Keyboard
+
+usb:v060Bp1006*
+ ID_MODEL_FROM_DATABASE=Japanese Keyboard - 260U
+
+usb:v060Bp2101*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v060Bp2231*
+ ID_MODEL_FROM_DATABASE=KSK-6001 UELX Keyboard
+
+usb:v060Bp2270*
+ ID_MODEL_FROM_DATABASE=Gigabyte K8100 Aivia Gaming Keyboard
+
+usb:v060Bp5811*
+ ID_MODEL_FROM_DATABASE=ACK-571U Wireless Keyboard
+
+usb:v060Bp5903*
+ ID_MODEL_FROM_DATABASE=Japanese Keyboard - 595U
+
+usb:v060Bp6001*
+ ID_MODEL_FROM_DATABASE=SolidTek USB 2p HUB
+
+usb:v060Bp6002*
+ ID_MODEL_FROM_DATABASE=SolidTek USB Keyboard
+
+usb:v060Bp6003*
+ ID_MODEL_FROM_DATABASE=Japanese Keyboard - 600HM
+
+usb:v060Bp6231*
+ ID_MODEL_FROM_DATABASE=Thermaltake eSPORTS Meka Keyboard
+
+usb:v060Bp8007*
+ ID_MODEL_FROM_DATABASE=P-W1G1F12 VER:1 [Macally MegaCam]
+
+usb:v060BpA001*
+ ID_MODEL_FROM_DATABASE=Maxwell Compact Pc PM3
+
+usb:v060C*
+ ID_VENDOR_FROM_DATABASE=EEH Datalink GmbH
+
+usb:v060D*
+ ID_VENDOR_FROM_DATABASE=Auctor Corp.
+
+usb:v060E*
+ ID_VENDOR_FROM_DATABASE=Transmonde Technologies, Inc.
+
+usb:v060F*
+ ID_VENDOR_FROM_DATABASE=Joinsoon Electronics Mfg. Co., Ltd
+
+usb:v0610*
+ ID_VENDOR_FROM_DATABASE=Costar Electronics, Inc.
+
+usb:v0611*
+ ID_VENDOR_FROM_DATABASE=Totoku Electric Co., Ltd
+
+usb:v0613*
+ ID_VENDOR_FROM_DATABASE=TransAct Technologies, Inc.
+
+usb:v0614*
+ ID_VENDOR_FROM_DATABASE=Bio-Rad Laboratories
+
+usb:v0615*
+ ID_VENDOR_FROM_DATABASE=Quabbin Wire & Cable Co., Inc.
+
+usb:v0616*
+ ID_VENDOR_FROM_DATABASE=Future Techno Designs PVT, Ltd
+
+usb:v0617*
+ ID_VENDOR_FROM_DATABASE=Swiss Federal Insitute of Technology
+
+usb:v0618*
+ ID_VENDOR_FROM_DATABASE=MacAlly
+
+usb:v0618p0101*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v0619*
+ ID_VENDOR_FROM_DATABASE=Seiko Instruments, Inc.
+
+usb:v0619p0101*
+ ID_MODEL_FROM_DATABASE=SLP-100 Driver
+
+usb:v0619p0102*
+ ID_MODEL_FROM_DATABASE=SLP-200 Driver
+
+usb:v0619p0103*
+ ID_MODEL_FROM_DATABASE=SLP-100N Driver
+
+usb:v0619p0104*
+ ID_MODEL_FROM_DATABASE=SLP-200N Driver
+
+usb:v0619p0105*
+ ID_MODEL_FROM_DATABASE=SLP-240 Driver
+
+usb:v0619p0501*
+ ID_MODEL_FROM_DATABASE=SLP-440 Driver
+
+usb:v0619p0502*
+ ID_MODEL_FROM_DATABASE=SLP-450 Driver
+
+usb:v061A*
+ ID_VENDOR_FROM_DATABASE=Veridicom International, Inc.
+
+usb:v061Ap0110*
+ ID_MODEL_FROM_DATABASE=5thSense Fingerprint Sensor
+
+usb:v061Ap0200*
+ ID_MODEL_FROM_DATABASE=FPS200 Fingerprint Sensor
+
+usb:v061Ap8200*
+ ID_MODEL_FROM_DATABASE=VKI-A Fingerprint Sensor/Flash Storage (dumb)
+
+usb:v061Ap9200*
+ ID_MODEL_FROM_DATABASE=VKI-B Fingerprint Sensor/Flash Storage (smart)
+
+usb:v061B*
+ ID_VENDOR_FROM_DATABASE=Promptus Communications, Inc.
+
+usb:v061C*
+ ID_VENDOR_FROM_DATABASE=Act Labs, Ltd
+
+usb:v061D*
+ ID_VENDOR_FROM_DATABASE=Quatech, Inc.
+
+usb:v061DpC020*
+ ID_MODEL_FROM_DATABASE=SSU-100
+
+usb:v061E*
+ ID_VENDOR_FROM_DATABASE=Nissei Electric Co.
+
+usb:v061Ep0001*
+ ID_MODEL_FROM_DATABASE=nissei 128DE-USB -
+
+usb:v061Ep0010*
+ ID_MODEL_FROM_DATABASE=nissei 128DE-PNA -
+
+usb:v0620*
+ ID_VENDOR_FROM_DATABASE=Alaris, Inc.
+
+usb:v0620p0004*
+ ID_MODEL_FROM_DATABASE=QuickVideo weeCam
+
+usb:v0620p0007*
+ ID_MODEL_FROM_DATABASE=QuickVideo weeCam
+
+usb:v0620p000A*
+ ID_MODEL_FROM_DATABASE=QuickVideo weeCam
+
+usb:v0620p000B*
+ ID_MODEL_FROM_DATABASE=QuickVideo weeCam
+
+usb:v0621*
+ ID_VENDOR_FROM_DATABASE=ODU-Steckverbindungssysteme GmbH & Co. KG
+
+usb:v0622*
+ ID_VENDOR_FROM_DATABASE=Iotech, Inc.
+
+usb:v0623*
+ ID_VENDOR_FROM_DATABASE=Littelfuse, Inc.
+
+usb:v0624*
+ ID_VENDOR_FROM_DATABASE=Avocent Corp.
+
+usb:v0624p0294*
+ ID_MODEL_FROM_DATABASE=Dell 03R874 KVM dongle
+
+usb:v0624p0402*
+ ID_MODEL_FROM_DATABASE=Cisco Virtual Keyboard and Mouse
+
+usb:v0624p0403*
+ ID_MODEL_FROM_DATABASE=Cisco Virtual Mass Storage
+
+usb:v0625*
+ ID_VENDOR_FROM_DATABASE=TiMedia Technology Co., Ltd
+
+usb:v0626*
+ ID_VENDOR_FROM_DATABASE=Nippon Systems Development Co., Ltd
+
+usb:v0627*
+ ID_VENDOR_FROM_DATABASE=Adomax Technology Co., Ltd
+
+usb:v0628*
+ ID_VENDOR_FROM_DATABASE=Tasking Software, Inc.
+
+usb:v0629*
+ ID_VENDOR_FROM_DATABASE=Zida Technologies, Ltd
+
+usb:v062A*
+ ID_VENDOR_FROM_DATABASE=Creative Labs
+
+usb:v062Ap0000*
+ ID_MODEL_FROM_DATABASE=Optical mouse
+
+usb:v062Ap0001*
+ ID_MODEL_FROM_DATABASE=Notebook Optical Mouse
+
+usb:v062Ap0102*
+ ID_MODEL_FROM_DATABASE=Wireless Keyboard/Mouse Combo [MK1152WC]
+
+usb:v062Ap0201*
+ ID_MODEL_FROM_DATABASE=Defender Office Keyboard (K7310) S Zodiak KM-9010
+
+usb:v062Ap0252*
+ ID_MODEL_FROM_DATABASE=Emerge Uni-retractable Laser Mouse
+
+usb:v062Ap3286*
+ ID_MODEL_FROM_DATABASE=Nano Receiver [Sandstrom Laser Mouse SMWLL11]
+
+usb:v062Ap6301*
+ ID_MODEL_FROM_DATABASE=Trust Wireless Optical Mouse MI-4150K
+
+usb:v062Ap9003*
+ ID_MODEL_FROM_DATABASE=VoIP Conference Hub (A16GH)
+
+usb:v062Ap9004*
+ ID_MODEL_FROM_DATABASE=USR9602 USB Internet Mini Phone
+
+usb:v062B*
+ ID_VENDOR_FROM_DATABASE=Greatlink Electronics Taiwan, Ltd
+
+usb:v062C*
+ ID_VENDOR_FROM_DATABASE=Institute for Information Industry
+
+usb:v062D*
+ ID_VENDOR_FROM_DATABASE=Taiwan Tai-Hao Enterprises Co., Ltd
+
+usb:v062E*
+ ID_VENDOR_FROM_DATABASE=Mainsuper Enterprises Co., Ltd
+
+usb:v062F*
+ ID_VENDOR_FROM_DATABASE=Sin Sheng Terminal & Machine, Inc.
+
+usb:v0631*
+ ID_VENDOR_FROM_DATABASE=JUJO Electronics Corp.
+
+usb:v0633*
+ ID_VENDOR_FROM_DATABASE=Cyrix Corp.
+
+usb:v0634*
+ ID_VENDOR_FROM_DATABASE=Micron Technology, Inc.
+
+usb:v0634p0655*
+ ID_MODEL_FROM_DATABASE=Embedded Mass Storage Drive [RealSSD]
+
+usb:v0635*
+ ID_VENDOR_FROM_DATABASE=Methode Electronics, Inc.
+
+usb:v0636*
+ ID_VENDOR_FROM_DATABASE=Sierra Imaging, Inc.
+
+usb:v0636p0003*
+ ID_MODEL_FROM_DATABASE=Vivicam 35Xx
+
+usb:v0638*
+ ID_VENDOR_FROM_DATABASE=Avision, Inc.
+
+usb:v0638p0268*
+ ID_MODEL_FROM_DATABASE=iVina 1200U Scanner
+
+usb:v0638p026A*
+ ID_MODEL_FROM_DATABASE=Minolta Dimage Scan Dual II AF-2820U (2886)
+
+usb:v0638p0A10*
+ ID_MODEL_FROM_DATABASE=iVina FB1600/UMAX Astra 4500
+
+usb:v0638p0A13*
+ ID_MODEL_FROM_DATABASE=AV600U
+
+usb:v0638p0A15*
+ ID_MODEL_FROM_DATABASE=Konica Minolta SC-110
+
+usb:v0638p0A16*
+ ID_MODEL_FROM_DATABASE=Konica Minolta SC-215
+
+usb:v0638p0A30*
+ ID_MODEL_FROM_DATABASE=UMAX Astra 6700 Scanner
+
+usb:v0638p0A41*
+ ID_MODEL_FROM_DATABASE=Avision AM3000/MF3000 Series
+
+usb:v0638p0F01*
+ ID_MODEL_FROM_DATABASE=fi-4010CU
+
+usb:v0638p4004*
+ ID_MODEL_FROM_DATABASE=Minolta Dimage Scan Elite II AF-2920 (2888)
+
+usb:v0639*
+ ID_VENDOR_FROM_DATABASE=Chrontel, Inc.
+
+usb:v063A*
+ ID_VENDOR_FROM_DATABASE=Techwin Corp.
+
+usb:v063B*
+ ID_VENDOR_FROM_DATABASE=Taugagreining HF
+
+usb:v063C*
+ ID_VENDOR_FROM_DATABASE=Yamaichi Electronics Co., Ltd (Sakura)
+
+usb:v063D*
+ ID_VENDOR_FROM_DATABASE=Fong Kai Industrial Co., Ltd
+
+usb:v063E*
+ ID_VENDOR_FROM_DATABASE=RealMedia Technology, Inc.
+
+usb:v063F*
+ ID_VENDOR_FROM_DATABASE=New Technology Cable, Ltd
+
+usb:v0640*
+ ID_VENDOR_FROM_DATABASE=Hitex Development Tools
+
+usb:v0640p0026*
+ ID_MODEL_FROM_DATABASE=LPC-Stick
+
+usb:v0641*
+ ID_VENDOR_FROM_DATABASE=Woods Industries, Inc.
+
+usb:v0642*
+ ID_VENDOR_FROM_DATABASE=VIA Medical Corp.
+
+usb:v0644*
+ ID_VENDOR_FROM_DATABASE=TEAC Corp.
+
+usb:v0644p0000*
+ ID_MODEL_FROM_DATABASE=Floppy
+
+usb:v0644p0200*
+ ID_MODEL_FROM_DATABASE=All-In-One Multi-Card Reader CA200/B/S
+
+usb:v0644p1000*
+ ID_MODEL_FROM_DATABASE=CD-ROM Drive
+
+usb:v0644p800D*
+ ID_MODEL_FROM_DATABASE=TASCAM Portastudio DP-01FX
+
+usb:v0644p800E*
+ ID_MODEL_FROM_DATABASE=TASCAM US-122L
+
+usb:v0644p8021*
+ ID_MODEL_FROM_DATABASE=TASCAM US-122mkII
+
+usb:v0644pD001*
+ ID_MODEL_FROM_DATABASE=CD-R/RW Unit
+
+usb:v0644pD002*
+ ID_MODEL_FROM_DATABASE=CD-R/RW Unit
+
+usb:v0644pD010*
+ ID_MODEL_FROM_DATABASE=CD-RW/DVD Unit
+
+usb:v0645*
+ ID_VENDOR_FROM_DATABASE=Who? Vision Systems, Inc.
+
+usb:v0646*
+ ID_VENDOR_FROM_DATABASE=UMAX
+
+usb:v0647*
+ ID_VENDOR_FROM_DATABASE=Acton Research Corp.
+
+usb:v0647p0100*
+ ID_MODEL_FROM_DATABASE=ARC SpectraPro UV/VIS/IR Monochromator/Spectrograph
+
+usb:v0647p0101*
+ ID_MODEL_FROM_DATABASE=ARC AM-VM Mono Airpath/Vacuum Monochromator/Spectrograph
+
+usb:v0647p0102*
+ ID_MODEL_FROM_DATABASE=ARC Inspectrum Mono
+
+usb:v0647p0103*
+ ID_MODEL_FROM_DATABASE=ARC Filterwheel
+
+usb:v0647p03E9*
+ ID_MODEL_FROM_DATABASE=Inspectrum 128x1024 F VIS Spectrograph
+
+usb:v0647p03EA*
+ ID_MODEL_FROM_DATABASE=Inspectrum 256x1024 F VIS Spectrograph
+
+usb:v0647p03EB*
+ ID_MODEL_FROM_DATABASE=Inspectrum 128x1024 B VIS Spectrograph
+
+usb:v0647p03EC*
+ ID_MODEL_FROM_DATABASE=Inspectrum 256x1024 B VIS Spectrograph
+
+usb:v0648*
+ ID_VENDOR_FROM_DATABASE=Inside Out Networks
+
+usb:v0649*
+ ID_VENDOR_FROM_DATABASE=Weli Science Co., Ltd
+
+usb:v064B*
+ ID_VENDOR_FROM_DATABASE=Analog Devices, Inc. (White Mountain DSP)
+
+usb:v064Bp0165*
+ ID_MODEL_FROM_DATABASE=Blackfin 535 [ADZS HPUSB ICE]
+
+usb:v064C*
+ ID_VENDOR_FROM_DATABASE=Ji-Haw Industrial Co., Ltd
+
+usb:v064D*
+ ID_VENDOR_FROM_DATABASE=TriTech Microelectronics, Ltd
+
+usb:v064E*
+ ID_VENDOR_FROM_DATABASE=Suyin Corp.
+
+usb:v064EpA100*
+ ID_MODEL_FROM_DATABASE=Acer OrbiCam
+
+usb:v064EpA101*
+ ID_MODEL_FROM_DATABASE=Acer CrystalEye Webcam
+
+usb:v064EpA102*
+ ID_MODEL_FROM_DATABASE=Acer/Lenovo Webcam [CN0316]
+
+usb:v064EpA103*
+ ID_MODEL_FROM_DATABASE=Acer/HP Integrated Webcam [CN0314]
+
+usb:v064EpA110*
+ ID_MODEL_FROM_DATABASE=HP Webcam
+
+usb:v064EpA114*
+ ID_MODEL_FROM_DATABASE=Lemote Webcam
+
+usb:v064EpA136*
+ ID_MODEL_FROM_DATABASE=Asus Integrated Webcam [CN031B]
+
+usb:v064EpA219*
+ ID_MODEL_FROM_DATABASE=1.3M WebCam (notebook emachines E730, Acer sub-brand)
+
+usb:v064EpC107*
+ ID_MODEL_FROM_DATABASE=HP webcam [dv6-1190en]
+
+usb:v064EpD101*
+ ID_MODEL_FROM_DATABASE=Acer CrystalEye Webcam
+
+usb:v064EpE201*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam
+
+usb:v064EpE203*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam
+
+usb:v064EpE258*
+ ID_MODEL_FROM_DATABASE=HP TrueVision HD Integrated Webcam
+
+usb:v064EpF102*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam [R5U877]
+
+usb:v064EpF103*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam [R5U877]
+
+usb:v064EpF300*
+ ID_MODEL_FROM_DATABASE=UVC 0.3M Webcam
+
+usb:v064F*
+ ID_VENDOR_FROM_DATABASE=WIBU-Systems AG
+
+usb:v064Fp03E9*
+ ID_MODEL_FROM_DATABASE=CmStick (article no. 1001)
+
+usb:v064Fp03F2*
+ ID_MODEL_FROM_DATABASE=CmStick/M (article no. 1010)
+
+usb:v064Fp03F3*
+ ID_MODEL_FROM_DATABASE=CmStick/M (article no. 1011)
+
+usb:v064Fp0BD7*
+ ID_MODEL_FROM_DATABASE=BOX/U
+
+usb:v064Fp0BD8*
+ ID_MODEL_FROM_DATABASE=BOX/RU
+
+usb:v0650*
+ ID_VENDOR_FROM_DATABASE=Dynapro Systems
+
+usb:v0651*
+ ID_VENDOR_FROM_DATABASE=Likom Technology Sdn. Bhd.
+
+usb:v0652*
+ ID_VENDOR_FROM_DATABASE=Stargate Solutions, Inc.
+
+usb:v0653*
+ ID_VENDOR_FROM_DATABASE=CNF, Inc.
+
+usb:v0654*
+ ID_VENDOR_FROM_DATABASE=Granite Microsystems, Inc.
+
+usb:v0654p0005*
+ ID_MODEL_FROM_DATABASE=Device Bay Controller
+
+usb:v0654p0006*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v0654p0007*
+ ID_MODEL_FROM_DATABASE=Device Bay Controller
+
+usb:v0654p0016*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v0655*
+ ID_VENDOR_FROM_DATABASE=Space Shuttle Hi-Tech Co., Ltd
+
+usb:v0656*
+ ID_VENDOR_FROM_DATABASE=Glory Mark Electronic, Ltd
+
+usb:v0657*
+ ID_VENDOR_FROM_DATABASE=Tekcon Electronics Corp.
+
+usb:v0658*
+ ID_VENDOR_FROM_DATABASE=Sigma Designs, Inc.
+
+usb:v0659*
+ ID_VENDOR_FROM_DATABASE=Aethra
+
+usb:v065A*
+ ID_VENDOR_FROM_DATABASE=Optoelectronics Co., Ltd
+
+usb:v065Ap0001*
+ ID_MODEL_FROM_DATABASE=Barcode scanner / NLV-1001 (keyboard mode)
+
+usb:v065Ap0009*
+ ID_MODEL_FROM_DATABASE=NLV-1001 (serial mode) / OPN-2001 [Opticon]
+
+usb:v065B*
+ ID_VENDOR_FROM_DATABASE=Tracewell Systems
+
+usb:v065E*
+ ID_VENDOR_FROM_DATABASE=Silicon Graphics
+
+usb:v065F*
+ ID_VENDOR_FROM_DATABASE=Good Way Technology Co., Ltd & GWC technology Inc.
+
+usb:v0660*
+ ID_VENDOR_FROM_DATABASE=TSAY-E (BVI) International, Inc.
+
+usb:v0661*
+ ID_VENDOR_FROM_DATABASE=Hamamatsu Photonics K.K.
+
+usb:v0662*
+ ID_VENDOR_FROM_DATABASE=Kansai Electric Co., Ltd
+
+usb:v0663*
+ ID_VENDOR_FROM_DATABASE=Topmax Electronic Co., Ltd
+
+usb:v0663p0103*
+ ID_MODEL_FROM_DATABASE=CobraPad
+
+usb:v0664*
+ ID_VENDOR_FROM_DATABASE=ET&T Technology Co., Ltd.
+
+usb:v0664p0301*
+ ID_MODEL_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
+
+usb:v0664p0302*
+ ID_MODEL_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
+
+usb:v0664p0303*
+ ID_MODEL_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
+
+usb:v0664p0304*
+ ID_MODEL_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
+
+usb:v0664p0305*
+ ID_MODEL_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
+
+usb:v0664p0306*
+ ID_MODEL_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
+
+usb:v0664p0307*
+ ID_MODEL_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
+
+usb:v0664p0309*
+ ID_MODEL_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
+
+usb:v0665*
+ ID_VENDOR_FROM_DATABASE=Cypress Semiconductor
+
+usb:v0665p5161*
+ ID_MODEL_FROM_DATABASE=USB to Serial
+
+usb:v0667*
+ ID_VENDOR_FROM_DATABASE=Aiwa Co., Ltd
+
+usb:v0667p0FA1*
+ ID_MODEL_FROM_DATABASE=TD-U8000 Tape Drive
+
+usb:v0668*
+ ID_VENDOR_FROM_DATABASE=WordWand
+
+usb:v0669*
+ ID_VENDOR_FROM_DATABASE=Oce' Printing Systems GmbH
+
+usb:v066A*
+ ID_VENDOR_FROM_DATABASE=Total Technologies, Ltd
+
+usb:v066B*
+ ID_VENDOR_FROM_DATABASE=Linksys, Inc.
+
+usb:v066Bp0105*
+ ID_MODEL_FROM_DATABASE=SCM eUSB SmartMedia Card Reader
+
+usb:v066Bp010A*
+ ID_MODEL_FROM_DATABASE=Melco MCR-U2 SmartMedia / CompactFlash Reader
+
+usb:v066Bp200C*
+ ID_MODEL_FROM_DATABASE=USB10TX
+
+usb:v066Bp2202*
+ ID_MODEL_FROM_DATABASE=USB10TX Ethernet [pegasus]
+
+usb:v066Bp2203*
+ ID_MODEL_FROM_DATABASE=USB100TX Ethernet [pegasus]
+
+usb:v066Bp2204*
+ ID_MODEL_FROM_DATABASE=USB100TX HomePNA Ethernet [pegasus]
+
+usb:v066Bp2206*
+ ID_MODEL_FROM_DATABASE=USB Ethernet [pegasus]
+
+usb:v066Bp2207*
+ ID_MODEL_FROM_DATABASE=HomeLink Phoneline 10M Network Adapter
+
+usb:v066Bp2211*
+ ID_MODEL_FROM_DATABASE=WUSB11 802.11b Adapter
+
+usb:v066Bp2212*
+ ID_MODEL_FROM_DATABASE=WUSB11v2.5 802.11b Adapter
+
+usb:v066Bp2213*
+ ID_MODEL_FROM_DATABASE=WUSB12v1.1 802.11b Adapter
+
+usb:v066Bp2219*
+ ID_MODEL_FROM_DATABASE=Instant Wireless Network Adapter
+
+usb:v066Bp400B*
+ ID_MODEL_FROM_DATABASE=USB10TX
+
+usb:v066D*
+ ID_VENDOR_FROM_DATABASE=Entrega, Inc.
+
+usb:v066E*
+ ID_VENDOR_FROM_DATABASE=Acer Semiconductor America, Inc.
+
+usb:v066F*
+ ID_VENDOR_FROM_DATABASE=SigmaTel, Inc.
+
+usb:v066Fp003B*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp003E*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp003F*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp0040*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp0041*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp0042*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp0043*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp004B*
+ ID_MODEL_FROM_DATABASE=A-Max PA11 MP3 Player
+
+usb:v066Fp3400*
+ ID_MODEL_FROM_DATABASE=STMP3400 D-Major MP3 Player
+
+usb:v066Fp3410*
+ ID_MODEL_FROM_DATABASE=STMP3410 D-Major MP3 Player
+
+usb:v066Fp3500*
+ ID_MODEL_FROM_DATABASE=Player Recovery Device
+
+usb:v066Fp3780*
+ ID_MODEL_FROM_DATABASE=STMP3780/i.MX23 SystemOnChip in RecoveryMode
+
+usb:v066Fp4200*
+ ID_MODEL_FROM_DATABASE=STIr4200 IrDA Bridge
+
+usb:v066Fp4210*
+ ID_MODEL_FROM_DATABASE=STIr4210 IrDA Bridge
+
+usb:v066Fp8000*
+ ID_MODEL_FROM_DATABASE=MSCN MP3 Player
+
+usb:v066Fp8001*
+ ID_MODEL_FROM_DATABASE=SigmaTel MSCN Audio Player
+
+usb:v066Fp8004*
+ ID_MODEL_FROM_DATABASE=MSCNMMC MP3 Player
+
+usb:v066Fp8008*
+ ID_MODEL_FROM_DATABASE=i-Bead 100 MP3 Player
+
+usb:v066Fp8020*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8034*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8036*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8038*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8056*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8060*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8066*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp807E*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8092*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8096*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp809A*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp80AA*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp80AC*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp80B8*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp80BA*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp80BC*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp80BF*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp80C5*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp80C8*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp80CA*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp80CC*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8104*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8106*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8108*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp810A*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp810C*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8122*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8124*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8126*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8128*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8134*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8136*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8138*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp813A*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp813E*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8140*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8142*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8144*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8146*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8148*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp814C*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8201*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8202*
+ ID_MODEL_FROM_DATABASE=Jens of Sweden / I-BEAD 150M/150H MP3 player
+
+usb:v066Fp8203*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8204*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8205*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8206*
+ ID_MODEL_FROM_DATABASE=Digital MP3 Music Player
+
+usb:v066Fp8207*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8208*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8209*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp820A*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp820B*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp820C*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp820D*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp820E*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp820F*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8210*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8211*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8212*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8213*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8214*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8215*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8216*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8217*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8218*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8219*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp821A*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp821B*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp821C*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp821D*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp821E*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp821F*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8220*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8221*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8222*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8223*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8224*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8225*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8226*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8227*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8228*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8229*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8230*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp829C*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp82E0*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp8320*
+ ID_MODEL_FROM_DATABASE=TrekStor i.Beat fun
+
+usb:v066Fp835D*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp9000*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp9001*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v066Fp9002*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0670*
+ ID_VENDOR_FROM_DATABASE=Sequel Imaging
+
+usb:v0670p0001*
+ ID_MODEL_FROM_DATABASE=Calibrator
+
+usb:v0670p0005*
+ ID_MODEL_FROM_DATABASE=Enable Cable
+
+usb:v0672*
+ ID_VENDOR_FROM_DATABASE=Labtec, Inc.
+
+usb:v0672p1041*
+ ID_MODEL_FROM_DATABASE=LCS1040 Speaker System
+
+usb:v0672p5000*
+ ID_MODEL_FROM_DATABASE=SpaceBall 4000 FLX
+
+usb:v0673*
+ ID_VENDOR_FROM_DATABASE=HCL
+
+usb:v0673p5000*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v0674*
+ ID_VENDOR_FROM_DATABASE=Key Mouse Electronic Enterprise Co., Ltd
+
+usb:v0675*
+ ID_VENDOR_FROM_DATABASE=DrayTek Corp.
+
+usb:v0675p0110*
+ ID_MODEL_FROM_DATABASE=Vigor 128 ISDN TA
+
+usb:v0675p0530*
+ ID_MODEL_FROM_DATABASE=Vigor530 IEEE 802.11G Adapter (ISL3880+NET2280)
+
+usb:v0675p0550*
+ ID_MODEL_FROM_DATABASE=Vigor550
+
+usb:v0675p1688*
+ ID_MODEL_FROM_DATABASE=miniVigor 128 ISDN TA
+
+usb:v0675p6694*
+ ID_MODEL_FROM_DATABASE=USB ISDN TA
+
+usb:v0676*
+ ID_VENDOR_FROM_DATABASE=Teles AG
+
+usb:v0677*
+ ID_VENDOR_FROM_DATABASE=Aiwa Co., Ltd
+
+usb:v0677p07D5*
+ ID_MODEL_FROM_DATABASE=TM-ED1285(USB)
+
+usb:v0677p0FA1*
+ ID_MODEL_FROM_DATABASE=TD-U8000 Tape Drive
+
+usb:v0678*
+ ID_VENDOR_FROM_DATABASE=ACard Technology Corp.
+
+usb:v067B*
+ ID_VENDOR_FROM_DATABASE=Prolific Technology, Inc.
+
+usb:v067Bp0000*
+ ID_MODEL_FROM_DATABASE=PL2301 USB-USB Bridge
+
+usb:v067Bp0001*
+ ID_MODEL_FROM_DATABASE=PL2302 USB-USB Bridge
+
+usb:v067Bp0307*
+ ID_MODEL_FROM_DATABASE=Motorola Serial Adapter
+
+usb:v067Bp04BB*
+ ID_MODEL_FROM_DATABASE=PL2303 Serial (IODATA USB-RSAQ2)
+
+usb:v067Bp0600*
+ ID_MODEL_FROM_DATABASE=IDE Bridge
+
+usb:v067Bp0610*
+ ID_MODEL_FROM_DATABASE=Onext EG210U MODEM
+
+usb:v067Bp0611*
+ ID_MODEL_FROM_DATABASE=AlDiga AL-11U Quad-band GSM/GPRS/EDGE modem
+
+usb:v067Bp2303*
+ ID_MODEL_FROM_DATABASE=PL2303 Serial Port
+
+usb:v067Bp2305*
+ ID_MODEL_FROM_DATABASE=PL2305 Parallel Port
+
+usb:v067Bp2306*
+ ID_MODEL_FROM_DATABASE=Raylink Bridge Controller
+
+usb:v067Bp2307*
+ ID_MODEL_FROM_DATABASE=PL2307 USB-ATAPI4 Bridge
+
+usb:v067Bp2313*
+ ID_MODEL_FROM_DATABASE=FITEL PHS U Cable Adaptor
+
+usb:v067Bp2315*
+ ID_MODEL_FROM_DATABASE=Flash Disk Embedded Hub
+
+usb:v067Bp2316*
+ ID_MODEL_FROM_DATABASE=Flash Disk Security Device
+
+usb:v067Bp2317*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v067Bp2501*
+ ID_MODEL_FROM_DATABASE=PL2501 USB-USB Bridge (USB 2.0)
+
+usb:v067Bp2506*
+ ID_MODEL_FROM_DATABASE=Kaser 8gB micro hard drive
+
+usb:v067Bp2507*
+ ID_MODEL_FROM_DATABASE=PL2507 Hi-speed USB to IDE bridge controller
+
+usb:v067Bp2515*
+ ID_MODEL_FROM_DATABASE=Flash Disk Embedded Hub
+
+usb:v067Bp2517*
+ ID_MODEL_FROM_DATABASE=Flash Disk Mass Storage Device
+
+usb:v067Bp2528*
+ ID_MODEL_FROM_DATABASE=Storage device (8gB thumb drive)
+
+usb:v067Bp25A1*
+ ID_MODEL_FROM_DATABASE=PL25A1 Host-Host Bridge
+
+usb:v067Bp3400*
+ ID_MODEL_FROM_DATABASE=Hi-Speed Flash Disk with TruePrint AES3400
+
+usb:v067Bp3500*
+ ID_MODEL_FROM_DATABASE=Hi-Speed Flash Disk with TruePrint AES3500
+
+usb:v067Bp3507*
+ ID_MODEL_FROM_DATABASE=PL3507 ATAPI6 Bridge
+
+usb:v067BpAAA0*
+ ID_MODEL_FROM_DATABASE=Prolific Pharos
+
+usb:v067BpAAA2*
+ ID_MODEL_FROM_DATABASE=PL2303 Serial Adapter (IODATA USB-RSAQ3)
+
+usb:v067C*
+ ID_VENDOR_FROM_DATABASE=Efficient Networks, Inc.
+
+usb:v067Cp1001*
+ ID_MODEL_FROM_DATABASE=Siemens SpeedStream 100MBps Ethernet
+
+usb:v067Cp1022*
+ ID_MODEL_FROM_DATABASE=Siemens SpeedStream 1022 802.11b Adapter
+
+usb:v067Cp1023*
+ ID_MODEL_FROM_DATABASE=SpeedStream Wireless
+
+usb:v067Cp4020*
+ ID_MODEL_FROM_DATABASE=SpeedStream 4020 ATM/ADSL Installer
+
+usb:v067Cp4031*
+ ID_MODEL_FROM_DATABASE=Efficient ADSL Modem
+
+usb:v067Cp4032*
+ ID_MODEL_FROM_DATABASE=SpeedStream 4031 ATM/ADSL Installer
+
+usb:v067Cp4033*
+ ID_MODEL_FROM_DATABASE=SpeedStream 4031 ATM/ADSL Installer
+
+usb:v067Cp4060*
+ ID_MODEL_FROM_DATABASE=Alcatel Speedstream 4060 ADSL Modem
+
+usb:v067Cp4062*
+ ID_MODEL_FROM_DATABASE=Efficient Networks 4060 Loader
+
+usb:v067Cp5667*
+ ID_MODEL_FROM_DATABASE=Efficient Networks Virtual Bus for ADSL Modem
+
+usb:v067CpC031*
+ ID_MODEL_FROM_DATABASE=SpeedStream 4031 ATM/ADSL Installer
+
+usb:v067CpC032*
+ ID_MODEL_FROM_DATABASE=SpeedStream 4031 ATM/ADSL Installer
+
+usb:v067CpC033*
+ ID_MODEL_FROM_DATABASE=SpeedStream 4031 ATM/ADSL Installer
+
+usb:v067CpC060*
+ ID_MODEL_FROM_DATABASE=SpeedStream 4060 Miniport ATM/ADSL Adapter
+
+usb:v067CpD667*
+ ID_MODEL_FROM_DATABASE=Efficient Networks Virtual Bus for ADSL Modem
+
+usb:v067CpE240*
+ ID_MODEL_FROM_DATABASE=Speedstream Ethernet Adapter E240
+
+usb:v067CpE540*
+ ID_MODEL_FROM_DATABASE=Speedstream Ethernet Adapter E240
+
+usb:v067D*
+ ID_VENDOR_FROM_DATABASE=Hohner Corp.
+
+usb:v067E*
+ ID_VENDOR_FROM_DATABASE=Intermec Technologies Corp.
+
+usb:v067Ep0801*
+ ID_MODEL_FROM_DATABASE=HID Keyboard, Barcode scanner
+
+usb:v067Ep0803*
+ ID_MODEL_FROM_DATABASE=VCP, Barcode scanner
+
+usb:v067Ep0805*
+ ID_MODEL_FROM_DATABASE=VCP + UVC, Barcode scanner
+
+usb:v067Ep1001*
+ ID_MODEL_FROM_DATABASE=Mobile Computer
+
+usb:v067F*
+ ID_VENDOR_FROM_DATABASE=Virata, Ltd
+
+usb:v067Fp4552*
+ ID_MODEL_FROM_DATABASE=DSL-200 ADSL Modem
+
+usb:v067Fp6542*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v067Fp6549*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v067Fp7541*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v0680*
+ ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Corp., CPP Div. (Avance Logic)
+
+usb:v0680p0002*
+ ID_MODEL_FROM_DATABASE=Arowana Optical Wheel Mouse MSOP-01
+
+usb:v0681*
+ ID_VENDOR_FROM_DATABASE=Siemens Information and Communication Products
+
+usb:v0681p0001*
+ ID_MODEL_FROM_DATABASE=Dect Base
+
+usb:v0681p0002*
+ ID_MODEL_FROM_DATABASE=Gigaset 3075 Passive ISDN
+
+usb:v0681p0005*
+ ID_MODEL_FROM_DATABASE=ID-Mouse with Fingerprint Reader
+
+usb:v0681p0012*
+ ID_MODEL_FROM_DATABASE=I-Gate 802.11b Adapter
+
+usb:v0681p001B*
+ ID_MODEL_FROM_DATABASE=WLL013
+
+usb:v0681p001D*
+ ID_MODEL_FROM_DATABASE=Hipath 1000
+
+usb:v0681p0022*
+ ID_MODEL_FROM_DATABASE=Gigaset SX353 ISDN
+
+usb:v0681p0026*
+ ID_MODEL_FROM_DATABASE=DECT Data - Gigaset M34
+
+usb:v0681p002B*
+ ID_MODEL_FROM_DATABASE=A-100-I ADSL Modem
+
+usb:v0681p002E*
+ ID_MODEL_FROM_DATABASE=ADSL Router_S-141
+
+usb:v0681p0034*
+ ID_MODEL_FROM_DATABASE=GSM module MC35/ES75 USB Modem
+
+usb:v0681p3C06*
+ ID_MODEL_FROM_DATABASE=54g USB Network Adapter
+
+usb:v0682*
+ ID_VENDOR_FROM_DATABASE=Victor Company of Japan, Ltd
+
+usb:v0684*
+ ID_VENDOR_FROM_DATABASE=Actiontec Electronics, Inc.
+
+usb:v0685*
+ ID_VENDOR_FROM_DATABASE=ZD Incorporated
+
+usb:v0685p7000*
+ ID_MODEL_FROM_DATABASE=HSDPA Modem
+
+usb:v0686*
+ ID_VENDOR_FROM_DATABASE=Minolta Co., Ltd
+
+usb:v0686p2001*
+ ID_MODEL_FROM_DATABASE=PagePro 4110W
+
+usb:v0686p2004*
+ ID_MODEL_FROM_DATABASE=PagePro 1200W
+
+usb:v0686p2005*
+ ID_MODEL_FROM_DATABASE=Magicolor 2300 DL
+
+usb:v0686p3001*
+ ID_MODEL_FROM_DATABASE=PagePro 4100
+
+usb:v0686p3005*
+ ID_MODEL_FROM_DATABASE=PagePro 1250E
+
+usb:v0686p3006*
+ ID_MODEL_FROM_DATABASE=PagePro 1250W
+
+usb:v0686p3009*
+ ID_MODEL_FROM_DATABASE=Magicolor 2300W
+
+usb:v0686p300B*
+ ID_MODEL_FROM_DATABASE=PagePro 1350W
+
+usb:v0686p300C*
+ ID_MODEL_FROM_DATABASE=PagePro 1300W
+
+usb:v0686p302E*
+ ID_MODEL_FROM_DATABASE=Develop D 1650iD PCL
+
+usb:v0686p3034*
+ ID_MODEL_FROM_DATABASE=Develop D 2050iD PCL
+
+usb:v0686p4001*
+ ID_MODEL_FROM_DATABASE=Dimage 2300
+
+usb:v0686p4003*
+ ID_MODEL_FROM_DATABASE=Dimage 2330 Zoom Camera
+
+usb:v0686p4004*
+ ID_MODEL_FROM_DATABASE=Dimage Scan Elite II AF-2920 (2888)
+
+usb:v0686p4005*
+ ID_MODEL_FROM_DATABASE=Minolta DiMAGE E201 Mass Storage Device
+
+usb:v0686p4006*
+ ID_MODEL_FROM_DATABASE=Dimage 7 Camera
+
+usb:v0686p4007*
+ ID_MODEL_FROM_DATABASE=Dimage S304 Camera
+
+usb:v0686p4008*
+ ID_MODEL_FROM_DATABASE=Dimage 5 Camera
+
+usb:v0686p4009*
+ ID_MODEL_FROM_DATABASE=Dimage X Camera
+
+usb:v0686p400A*
+ ID_MODEL_FROM_DATABASE=Dimage S404 Camera
+
+usb:v0686p400B*
+ ID_MODEL_FROM_DATABASE=Dimage 7i Camera
+
+usb:v0686p400C*
+ ID_MODEL_FROM_DATABASE=Dimage F100 Camera
+
+usb:v0686p400D*
+ ID_MODEL_FROM_DATABASE=Dimage Scan Dual III AF-2840 (2889)
+
+usb:v0686p400E*
+ ID_MODEL_FROM_DATABASE=Dimage Scan Elite 5400 (2890)
+
+usb:v0686p400F*
+ ID_MODEL_FROM_DATABASE=Dimage 7Hi Camera
+
+usb:v0686p4010*
+ ID_MODEL_FROM_DATABASE=Dimage Xi Camera
+
+usb:v0686p4011*
+ ID_MODEL_FROM_DATABASE=Dimage F300 Camera
+
+usb:v0686p4012*
+ ID_MODEL_FROM_DATABASE=Dimage F200 Camera
+
+usb:v0686p4014*
+ ID_MODEL_FROM_DATABASE=Dimage S414 Camera
+
+usb:v0686p4015*
+ ID_MODEL_FROM_DATABASE=Dimage XT Camera [storage]
+
+usb:v0686p4016*
+ ID_MODEL_FROM_DATABASE=Dimage XT Camera [remote mode]
+
+usb:v0686p4017*
+ ID_MODEL_FROM_DATABASE=Dimage E223
+
+usb:v0686p4018*
+ ID_MODEL_FROM_DATABASE=Dimage Z1 Camera
+
+usb:v0686p4019*
+ ID_MODEL_FROM_DATABASE=Dimage A1 Camera [remote mode]
+
+usb:v0686p401A*
+ ID_MODEL_FROM_DATABASE=Dimage A1 Camera [storage]
+
+usb:v0686p401C*
+ ID_MODEL_FROM_DATABASE=Dimage X20 Camera
+
+usb:v0686p401E*
+ ID_MODEL_FROM_DATABASE=Dimage E323 Camera
+
+usb:v068A*
+ ID_VENDOR_FROM_DATABASE=Pertech, Inc.
+
+usb:v068B*
+ ID_VENDOR_FROM_DATABASE=Potrans International, Inc.
+
+usb:v068E*
+ ID_VENDOR_FROM_DATABASE=CH Products, Inc.
+
+usb:v068Ep00D3*
+ ID_MODEL_FROM_DATABASE=OEM 3 axis 5 button joystick
+
+usb:v068Ep00E2*
+ ID_MODEL_FROM_DATABASE=HFX OEM Joystick
+
+usb:v068Ep00F1*
+ ID_MODEL_FROM_DATABASE=Pro Throttle
+
+usb:v068Ep00F2*
+ ID_MODEL_FROM_DATABASE=Flight Sim Pedals
+
+usb:v068Ep00F3*
+ ID_MODEL_FROM_DATABASE=Fighterstick
+
+usb:v068Ep00F4*
+ ID_MODEL_FROM_DATABASE=Combatstick
+
+usb:v068Ep00FA*
+ ID_MODEL_FROM_DATABASE=Flight Sim Pedals
+
+usb:v068Ep00FF*
+ ID_MODEL_FROM_DATABASE=Flight Sim Yoke
+
+usb:v068Ep0500*
+ ID_MODEL_FROM_DATABASE=GameStick 3D
+
+usb:v068Ep0501*
+ ID_MODEL_FROM_DATABASE=CH Pro Pedals
+
+usb:v068Ep0504*
+ ID_MODEL_FROM_DATABASE=F-16 Combat Stick
+
+usb:v0690*
+ ID_VENDOR_FROM_DATABASE=Golden Bridge Electech, Inc.
+
+usb:v0693*
+ ID_VENDOR_FROM_DATABASE=Hagiwara Sys-Com Co., Ltd
+
+usb:v0693p0002*
+ ID_MODEL_FROM_DATABASE=FlashGate SmartMedia Card Reader
+
+usb:v0693p0003*
+ ID_MODEL_FROM_DATABASE=FlashGate CompactFlash Card Reader
+
+usb:v0693p0005*
+ ID_MODEL_FROM_DATABASE=FlashGate
+
+usb:v0693p0006*
+ ID_MODEL_FROM_DATABASE=SM PCCard R/W and SPD
+
+usb:v0693p0007*
+ ID_MODEL_FROM_DATABASE=FlashGate ME (Authenticated)
+
+usb:v0693p000A*
+ ID_MODEL_FROM_DATABASE=SDCard/MMC Reader/Writer
+
+usb:v0694*
+ ID_VENDOR_FROM_DATABASE=Lego Group
+
+usb:v0694p0001*
+ ID_MODEL_FROM_DATABASE=Mindstorms Tower
+
+usb:v0694p0002*
+ ID_MODEL_FROM_DATABASE=Mindstorms NXT
+
+usb:v0698*
+ ID_VENDOR_FROM_DATABASE=Chuntex (CTX)
+
+usb:v0698p1786*
+ ID_MODEL_FROM_DATABASE=1300ex Monitor
+
+usb:v0698p2003*
+ ID_MODEL_FROM_DATABASE=CTX M730V built in Camera
+
+usb:v0698p9999*
+ ID_MODEL_FROM_DATABASE=VLxxxx Monitor+Hub
+
+usb:v0699*
+ ID_VENDOR_FROM_DATABASE=Tektronix, Inc.
+
+usb:v069A*
+ ID_VENDOR_FROM_DATABASE=Askey Computer Corp.
+
+usb:v069Ap0001*
+ ID_MODEL_FROM_DATABASE=VC010 Webcam [pwc]
+
+usb:v069Ap0303*
+ ID_MODEL_FROM_DATABASE=Cable Modem
+
+usb:v069Ap0311*
+ ID_MODEL_FROM_DATABASE=ADSL Router Remote NDIS Device
+
+usb:v069Ap0318*
+ ID_MODEL_FROM_DATABASE=Remote NDIS Device
+
+usb:v069Ap0319*
+ ID_MODEL_FROM_DATABASE=220V Remote NDIS Device
+
+usb:v069Ap0320*
+ ID_MODEL_FROM_DATABASE=IEEE 802.11b Wireless LAN Card
+
+usb:v069Ap0321*
+ ID_MODEL_FROM_DATABASE=Dynalink WLL013 / Compex WLU11A 802.11b Adapter
+
+usb:v069Ap0402*
+ ID_MODEL_FROM_DATABASE=Scientific Atlanta WebSTAR 100 & 200 series Cable Modem
+
+usb:v069Ap0811*
+ ID_MODEL_FROM_DATABASE=BT Virtual Bus for Helium
+
+usb:v069Ap0821*
+ ID_MODEL_FROM_DATABASE=BT Voyager 1010 802.11b Adapter
+
+usb:v069Ap4402*
+ ID_MODEL_FROM_DATABASE=Scientific Atlanta WebSTAR 2000 series Cable Modem
+
+usb:v069Ap4403*
+ ID_MODEL_FROM_DATABASE=Scientific Atlanta WebSTAR 300 series Cable Modem
+
+usb:v069Ap4501*
+ ID_MODEL_FROM_DATABASE=Scientific-Atlanta WebSTAR 2000 series Cable Modem
+
+usb:v069B*
+ ID_VENDOR_FROM_DATABASE=Thomson, Inc.
+
+usb:v069Bp0704*
+ ID_MODEL_FROM_DATABASE=DCM245 Cable Modem
+
+usb:v069Bp0705*
+ ID_MODEL_FROM_DATABASE=THG540K Cable Modem
+
+usb:v069Bp0709*
+ ID_MODEL_FROM_DATABASE=Lyra PDP2424
+
+usb:v069Bp070C*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v069Bp070D*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v069Bp070E*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v069Bp070F*
+ ID_MODEL_FROM_DATABASE=RCA Lyra RD1071 MP3 Player
+
+usb:v069Bp0731*
+ ID_MODEL_FROM_DATABASE=Lyra M200E256
+
+usb:v069Bp0761*
+ ID_MODEL_FROM_DATABASE=RCA H100A
+
+usb:v069Bp0778*
+ ID_MODEL_FROM_DATABASE=PEARL USB Device
+
+usb:v069Bp2220*
+ ID_MODEL_FROM_DATABASE=RCA Kazoo RD1000 MP3 Player
+
+usb:v069Bp300A*
+ ID_MODEL_FROM_DATABASE=RCA Lyra MP3 Player
+
+usb:v069Bp3012*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v069Bp3013*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v069Bp5557*
+ ID_MODEL_FROM_DATABASE=RCA CDS6300
+
+usb:v069D*
+ ID_VENDOR_FROM_DATABASE=Hughes Network Systems (HNS)
+
+usb:v069Dp0001*
+ ID_MODEL_FROM_DATABASE=Satellite Receiver Device
+
+usb:v069Dp0002*
+ ID_MODEL_FROM_DATABASE=Satellite Device
+
+usb:v069E*
+ ID_VENDOR_FROM_DATABASE=Welcat Inc.
+
+usb:v069Ep0005*
+ ID_MODEL_FROM_DATABASE=Marx CryptoBox v1.2
+
+usb:v069F*
+ ID_VENDOR_FROM_DATABASE=Allied Data Technologies BV
+
+usb:v069Fp0010*
+ ID_MODEL_FROM_DATABASE=Tornado Speakerphone FaxModem 56.0
+
+usb:v069Fp0011*
+ ID_MODEL_FROM_DATABASE=Tornado Speakerphone FaxModem 56.0
+
+usb:v069Fp1000*
+ ID_MODEL_FROM_DATABASE=ADT VvBus for CopperJet
+
+usb:v069Fp1004*
+ ID_MODEL_FROM_DATABASE=CopperJet 821 RouterPlus
+
+usb:v06A2*
+ ID_VENDOR_FROM_DATABASE=Topro Technology, Inc.
+
+usb:v06A2p0033*
+ ID_MODEL_FROM_DATABASE=USB Mouse
+
+usb:v06A3*
+ ID_VENDOR_FROM_DATABASE=Saitek PLC
+
+usb:v06A3p0006*
+ ID_MODEL_FROM_DATABASE=Cyborg Gold Joystick
+
+usb:v06A3p0109*
+ ID_MODEL_FROM_DATABASE=P880 Pad
+
+usb:v06A3p0160*
+ ID_MODEL_FROM_DATABASE=ST290 Pro
+
+usb:v06A3p0200*
+ ID_MODEL_FROM_DATABASE=Xbox Adrenalin Hub
+
+usb:v06A3p0241*
+ ID_MODEL_FROM_DATABASE=Xbox Adrenalin Gamepad
+
+usb:v06A3p0255*
+ ID_MODEL_FROM_DATABASE=X52 Flight Controller
+
+usb:v06A3p040B*
+ ID_MODEL_FROM_DATABASE=P990 Dual Analog Pad
+
+usb:v06A3p040C*
+ ID_MODEL_FROM_DATABASE=P2900 Wireless Pad
+
+usb:v06A3p0422*
+ ID_MODEL_FROM_DATABASE=ST90 Joystick
+
+usb:v06A3p0460*
+ ID_MODEL_FROM_DATABASE=ST290 Pro Flight Stick
+
+usb:v06A3p0463*
+ ID_MODEL_FROM_DATABASE=ST290
+
+usb:v06A3p0464*
+ ID_MODEL_FROM_DATABASE=Cyborg Evo
+
+usb:v06A3p0471*
+ ID_MODEL_FROM_DATABASE=Cyborg Graphite Stick
+
+usb:v06A3p0501*
+ ID_MODEL_FROM_DATABASE=R100 Sports Wheel
+
+usb:v06A3p0502*
+ ID_MODEL_FROM_DATABASE=ST200 Stick
+
+usb:v06A3p0506*
+ ID_MODEL_FROM_DATABASE=R220 Digital Wheel
+
+usb:v06A3p051E*
+ ID_MODEL_FROM_DATABASE=Cyborg Digital II Stick
+
+usb:v06A3p052D*
+ ID_MODEL_FROM_DATABASE=P750 Gamepad
+
+usb:v06A3p053C*
+ ID_MODEL_FROM_DATABASE=X45 Flight Controller
+
+usb:v06A3p053F*
+ ID_MODEL_FROM_DATABASE=X36F Flightstick
+
+usb:v06A3p056C*
+ ID_MODEL_FROM_DATABASE=P2000 Tilt Pad
+
+usb:v06A3p056F*
+ ID_MODEL_FROM_DATABASE=P2000 Tilt Pad
+
+usb:v06A3p05D2*
+ ID_MODEL_FROM_DATABASE=PC Dash 2
+
+usb:v06A3p075C*
+ ID_MODEL_FROM_DATABASE=X52 Flight Controller
+
+usb:v06A3p0762*
+ ID_MODEL_FROM_DATABASE=Saitek X52 Pro Flight Control System
+
+usb:v06A3p0763*
+ ID_MODEL_FROM_DATABASE=Pro Flight Rudder Pedals
+
+usb:v06A3p0764*
+ ID_MODEL_FROM_DATABASE=Flight Pro Combat Rudder
+
+usb:v06A3p0805*
+ ID_MODEL_FROM_DATABASE=R440 Force Wheel
+
+usb:v06A3p0B4E*
+ ID_MODEL_FROM_DATABASE=Pro Flight Backlit Information Panel
+
+usb:v06A3p0BAC*
+ ID_MODEL_FROM_DATABASE=Pro Flight Yoke
+
+usb:v06A3p0C2D*
+ ID_MODEL_FROM_DATABASE=Pro Flight Quadrant
+
+usb:v06A3p0D05*
+ ID_MODEL_FROM_DATABASE=Pro Flight Radio Panel
+
+usb:v06A3p0D06*
+ ID_MODEL_FROM_DATABASE=Flight Pro Multi Panel
+
+usb:v06A3p0D67*
+ ID_MODEL_FROM_DATABASE=Pro Flight Switch Panel
+
+usb:v06A3p1003*
+ ID_MODEL_FROM_DATABASE=GM2 Action Pad
+
+usb:v06A3p1009*
+ ID_MODEL_FROM_DATABASE=Action Pad
+
+usb:v06A3p100A*
+ ID_MODEL_FROM_DATABASE=SP550 Pad and Joystick Combo
+
+usb:v06A3p100B*
+ ID_MODEL_FROM_DATABASE=SP550 Pad
+
+usb:v06A3p1509*
+ ID_MODEL_FROM_DATABASE=P3000 Wireless Pad
+
+usb:v06A3p1589*
+ ID_MODEL_FROM_DATABASE=P3000 Wireless Pad
+
+usb:v06A3p2541*
+ ID_MODEL_FROM_DATABASE=X45 Flight Controller
+
+usb:v06A3p3509*
+ ID_MODEL_FROM_DATABASE=P3000 RF GamePad
+
+usb:v06A3p353E*
+ ID_MODEL_FROM_DATABASE=Cyborg Evo Wireless
+
+usb:v06A3p3589*
+ ID_MODEL_FROM_DATABASE=P3000 Wireless Pad
+
+usb:v06A3p35BE*
+ ID_MODEL_FROM_DATABASE=Cyborg Evo
+
+usb:v06A3p5509*
+ ID_MODEL_FROM_DATABASE=P3000 Wireless Pad
+
+usb:v06A3p712C*
+ ID_MODEL_FROM_DATABASE=Pro Flight Yoke integrated hub
+
+usb:v06A3p8000*
+ ID_MODEL_FROM_DATABASE=Gamers' Keyboard
+
+usb:v06A3p801E*
+ ID_MODEL_FROM_DATABASE=Cyborg 3D Digital Stick II
+
+usb:v06A3p8020*
+ ID_MODEL_FROM_DATABASE=Eclipse Keyboard
+
+usb:v06A3p8021*
+ ID_MODEL_FROM_DATABASE=Eclipse II Keyboard
+
+usb:v06A3p802D*
+ ID_MODEL_FROM_DATABASE=P750 Pad
+
+usb:v06A3p803F*
+ ID_MODEL_FROM_DATABASE=X36 Flight Controller
+
+usb:v06A3p806F*
+ ID_MODEL_FROM_DATABASE=P2000 Tilt Pad
+
+usb:v06A3p80C0*
+ ID_MODEL_FROM_DATABASE=Pro Gamer Command Unit
+
+usb:v06A3p80C1*
+ ID_MODEL_FROM_DATABASE=Cyborg Command Pad Unit
+
+usb:v06A3pA2AE*
+ ID_MODEL_FROM_DATABASE=Pro Flight Instrument Panel
+
+usb:v06A3pA502*
+ ID_MODEL_FROM_DATABASE=Gaming Mouse
+
+usb:v06A3pF518*
+ ID_MODEL_FROM_DATABASE=P3200 Rumble Force Game Pad
+
+usb:v06A3pFF04*
+ ID_MODEL_FROM_DATABASE=R440 Force Wheel
+
+usb:v06A3pFF0C*
+ ID_MODEL_FROM_DATABASE=Cyborg Force Rumble Pad
+
+usb:v06A3pFF0D*
+ ID_MODEL_FROM_DATABASE=P2600 Rumble Force Pad
+
+usb:v06A3pFF12*
+ ID_MODEL_FROM_DATABASE=Cyborg 3D Force Stick
+
+usb:v06A3pFF17*
+ ID_MODEL_FROM_DATABASE=ST 330 Rumble Force Stick
+
+usb:v06A3pFF52*
+ ID_MODEL_FROM_DATABASE=Cyborg 3D Rumble Force Joystick
+
+usb:v06A3pFFB5*
+ ID_MODEL_FROM_DATABASE=Cyborg Evo Force Joystick
+
+usb:v06A4*
+ ID_VENDOR_FROM_DATABASE=Xiamen Doowell Electron Co., Ltd
+
+usb:v06A5*
+ ID_VENDOR_FROM_DATABASE=Divio
+
+usb:v06A5p0000*
+ ID_MODEL_FROM_DATABASE=Typhoon Webcam 100k [nw8000]
+
+usb:v06A5pD001*
+ ID_MODEL_FROM_DATABASE=ProLink DS3303u Webcam
+
+usb:v06A5pD800*
+ ID_MODEL_FROM_DATABASE=Chicony TwinkleCam
+
+usb:v06A5pD820*
+ ID_MODEL_FROM_DATABASE=Wize Media 1000
+
+usb:v06A7*
+ ID_VENDOR_FROM_DATABASE=MicroStore, Inc.
+
+usb:v06A8*
+ ID_VENDOR_FROM_DATABASE=Topaz Systems, Inc.
+
+usb:v06A8p0042*
+ ID_MODEL_FROM_DATABASE=SignatureGem 1X5 Pad
+
+usb:v06A8p0043*
+ ID_MODEL_FROM_DATABASE=SignatureGem 1X5-HID Pad
+
+usb:v06A9*
+ ID_VENDOR_FROM_DATABASE=Westell
+
+usb:v06A9p0005*
+ ID_MODEL_FROM_DATABASE=WireSpeed Dual Connect Modem
+
+usb:v06A9p0006*
+ ID_MODEL_FROM_DATABASE=WireSpeed Dual Connect Modem
+
+usb:v06A9p000A*
+ ID_MODEL_FROM_DATABASE=WireSpeed Dual Connect Modem
+
+usb:v06A9p000B*
+ ID_MODEL_FROM_DATABASE=WireSpeed Dual Connect Modem
+
+usb:v06A9p000E*
+ ID_MODEL_FROM_DATABASE=A90-211WG-01 802.11g Adapter [Intersil ISL3887]
+
+usb:v06AA*
+ ID_VENDOR_FROM_DATABASE=Sysgration, Ltd
+
+usb:v06AC*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Laboratories of America, Inc.
+
+usb:v06AD*
+ ID_VENDOR_FROM_DATABASE=Greatland Electronics Taiwan, Ltd
+
+usb:v06AE*
+ ID_VENDOR_FROM_DATABASE=Professional Multimedia Testing Centre
+
+usb:v06AF*
+ ID_VENDOR_FROM_DATABASE=Harting, Inc. of North America
+
+usb:v06B8*
+ ID_VENDOR_FROM_DATABASE=Pixela Corp.
+
+usb:v06B9*
+ ID_VENDOR_FROM_DATABASE=Alcatel Telecom
+
+usb:v06B9p0120*
+ ID_MODEL_FROM_DATABASE=SpeedTouch 120g 802.11g Wireless Adapter [Intersil ISL3886]
+
+usb:v06B9p0121*
+ ID_MODEL_FROM_DATABASE=SpeedTouch 121g Wireless Dongle
+
+usb:v06B9p2001*
+ ID_MODEL_FROM_DATABASE=SPEED TOUCH Card
+
+usb:v06B9p4061*
+ ID_MODEL_FROM_DATABASE=SpeedTouch ISDN or ADSL Modem
+
+usb:v06B9p4062*
+ ID_MODEL_FROM_DATABASE=SpeedTouch ISDN or ADSL router
+
+usb:v06B9pA5A5*
+ ID_MODEL_FROM_DATABASE=DynaMiTe Modem
+
+usb:v06BA*
+ ID_VENDOR_FROM_DATABASE=Smooth Cord & Connector Co., Ltd
+
+usb:v06BB*
+ ID_VENDOR_FROM_DATABASE=EDA, Inc.
+
+usb:v06BC*
+ ID_VENDOR_FROM_DATABASE=Oki Data Corp.
+
+usb:v06BCp000B*
+ ID_MODEL_FROM_DATABASE=Okipage 14ex Printer
+
+usb:v06BCp0027*
+ ID_MODEL_FROM_DATABASE=Okipage 14e
+
+usb:v06BCp0A91*
+ ID_MODEL_FROM_DATABASE=B2500MFP (printer+scanner)
+
+usb:v06BCp3801*
+ ID_MODEL_FROM_DATABASE=B6100 Laser Printer
+
+usb:v06BD*
+ ID_VENDOR_FROM_DATABASE=AGFA-Gevaert NV
+
+usb:v06BDp0001*
+ ID_MODEL_FROM_DATABASE=SnapScan 1212U
+
+usb:v06BDp0002*
+ ID_MODEL_FROM_DATABASE=SnapScan 1236U
+
+usb:v06BDp0100*
+ ID_MODEL_FROM_DATABASE=SnapScan Touch
+
+usb:v06BDp0101*
+ ID_MODEL_FROM_DATABASE=SNAPSCAN ELITE
+
+usb:v06BDp0200*
+ ID_MODEL_FROM_DATABASE=ScanMaker 8700
+
+usb:v06BDp02BF*
+ ID_MODEL_FROM_DATABASE=DUOSCAN f40
+
+usb:v06BDp0400*
+ ID_MODEL_FROM_DATABASE=CL30
+
+usb:v06BDp0401*
+ ID_MODEL_FROM_DATABASE=Mass Storage
+
+usb:v06BDp0403*
+ ID_MODEL_FROM_DATABASE=ePhoto CL18 Camera
+
+usb:v06BDp0404*
+ ID_MODEL_FROM_DATABASE=ePhoto CL20 Camera
+
+usb:v06BDp2061*
+ ID_MODEL_FROM_DATABASE=SnapScan 1212U (?)
+
+usb:v06BDp208D*
+ ID_MODEL_FROM_DATABASE=Snapscan e40
+
+usb:v06BDp208F*
+ ID_MODEL_FROM_DATABASE=SnapScan e50
+
+usb:v06BDp2091*
+ ID_MODEL_FROM_DATABASE=SnapScan e20
+
+usb:v06BDp2093*
+ ID_MODEL_FROM_DATABASE=SnapScan e10
+
+usb:v06BDp2095*
+ ID_MODEL_FROM_DATABASE=SnapScan e25
+
+usb:v06BDp2097*
+ ID_MODEL_FROM_DATABASE=SnapScan e26
+
+usb:v06BDp20FD*
+ ID_MODEL_FROM_DATABASE=SnapScan e52
+
+usb:v06BDp20FF*
+ ID_MODEL_FROM_DATABASE=SnapScan e42
+
+usb:v06BE*
+ ID_VENDOR_FROM_DATABASE=AME Optimedia Technology Co., Ltd
+
+usb:v06BEp0800*
+ ID_MODEL_FROM_DATABASE=Optimedia Camera
+
+usb:v06BEp1005*
+ ID_MODEL_FROM_DATABASE=Dazzle DPVM! (1005)
+
+usb:v06BEpD001*
+ ID_MODEL_FROM_DATABASE=P35U Camera Capture
+
+usb:v06BF*
+ ID_VENDOR_FROM_DATABASE=Leoco Corp.
+
+usb:v06C2*
+ ID_VENDOR_FROM_DATABASE=Phidgets Inc. (formerly GLAB)
+
+usb:v06C2p0030*
+ ID_MODEL_FROM_DATABASE=PhidgetRFID
+
+usb:v06C2p0038*
+ ID_MODEL_FROM_DATABASE=4-Motor PhidgetServo v3.0
+
+usb:v06C2p0039*
+ ID_MODEL_FROM_DATABASE=1-Motor PhidgetServo v3.0
+
+usb:v06C2p003A*
+ ID_MODEL_FROM_DATABASE=8-Motor PhidgetAvancedServo
+
+usb:v06C2p0040*
+ ID_MODEL_FROM_DATABASE=PhidgetInterface Kit 0-0-4
+
+usb:v06C2p0044*
+ ID_MODEL_FROM_DATABASE=PhidgetInterface Kit 0-16-16
+
+usb:v06C2p0045*
+ ID_MODEL_FROM_DATABASE=PhidgetInterface Kit 8-8-8
+
+usb:v06C2p0048*
+ ID_MODEL_FROM_DATABASE=PhidgetStepper (Under Development)
+
+usb:v06C2p0049*
+ ID_MODEL_FROM_DATABASE=PhidgetTextLED Ver 1.0
+
+usb:v06C2p004A*
+ ID_MODEL_FROM_DATABASE=PhidgetLED Ver 1.0
+
+usb:v06C2p004B*
+ ID_MODEL_FROM_DATABASE=PhidgetEncoder Ver 1.0
+
+usb:v06C2p0051*
+ ID_MODEL_FROM_DATABASE=PhidgetInterface Kit 0-5-7 (Custom)
+
+usb:v06C2p0052*
+ ID_MODEL_FROM_DATABASE=PhidgetTextLCD
+
+usb:v06C2p0053*
+ ID_MODEL_FROM_DATABASE=PhidgetInterfaceKit 0-8-8
+
+usb:v06C2p0058*
+ ID_MODEL_FROM_DATABASE=PhidgetMotorControl Ver 1.0
+
+usb:v06C2p0070*
+ ID_MODEL_FROM_DATABASE=PhidgetTemperatureSensor Ver 1.0
+
+usb:v06C2p0071*
+ ID_MODEL_FROM_DATABASE=PhidgetAccelerometer Ver 1.0
+
+usb:v06C2p0072*
+ ID_MODEL_FROM_DATABASE=PhidgetWeightSensor Ver 1.0
+
+usb:v06C2p0073*
+ ID_MODEL_FROM_DATABASE=PhidgetHumiditySensor
+
+usb:v06C2p0074*
+ ID_MODEL_FROM_DATABASE=PhidgetPHSensor
+
+usb:v06C2p0075*
+ ID_MODEL_FROM_DATABASE=PhidgetGyroscope
+
+usb:v06C4*
+ ID_VENDOR_FROM_DATABASE=Bizlink International Corp.
+
+usb:v06C5*
+ ID_VENDOR_FROM_DATABASE=Hagenuk, GmbH
+
+usb:v06C6*
+ ID_VENDOR_FROM_DATABASE=Infowave Software, Inc.
+
+usb:v06C8*
+ ID_VENDOR_FROM_DATABASE=SIIG, Inc.
+
+usb:v06C9*
+ ID_VENDOR_FROM_DATABASE=Taxan (Europe), Ltd
+
+usb:v06C9p0005*
+ ID_MODEL_FROM_DATABASE=Monitor Control
+
+usb:v06C9p0007*
+ ID_MODEL_FROM_DATABASE=Monitor Control
+
+usb:v06C9p0009*
+ ID_MODEL_FROM_DATABASE=Monitor Control
+
+usb:v06CA*
+ ID_VENDOR_FROM_DATABASE=Newer Technology, Inc.
+
+usb:v06CB*
+ ID_VENDOR_FROM_DATABASE=Synaptics, Inc.
+
+usb:v06CBp0001*
+ ID_MODEL_FROM_DATABASE=TouchPad
+
+usb:v06CBp0002*
+ ID_MODEL_FROM_DATABASE=Integrated TouchPad
+
+usb:v06CBp0003*
+ ID_MODEL_FROM_DATABASE=cPad
+
+usb:v06CBp0005*
+ ID_MODEL_FROM_DATABASE=Touchpad/FPS
+
+usb:v06CBp0006*
+ ID_MODEL_FROM_DATABASE=TouchScreen
+
+usb:v06CBp0007*
+ ID_MODEL_FROM_DATABASE=USB Styk
+
+usb:v06CBp0008*
+ ID_MODEL_FROM_DATABASE=WheelPad
+
+usb:v06CBp0009*
+ ID_MODEL_FROM_DATABASE=Composite TouchPad and TrackPoint
+
+usb:v06CBp000E*
+ ID_MODEL_FROM_DATABASE=HID Device
+
+usb:v06CBp0010*
+ ID_MODEL_FROM_DATABASE=Wireless TouchPad
+
+usb:v06CBp0013*
+ ID_MODEL_FROM_DATABASE=DisplayPad
+
+usb:v06CC*
+ ID_VENDOR_FROM_DATABASE=Terayon Communication Systems
+
+usb:v06CCp0101*
+ ID_MODEL_FROM_DATABASE=Cable Modem
+
+usb:v06CCp0102*
+ ID_MODEL_FROM_DATABASE=Cable Modem
+
+usb:v06CCp0103*
+ ID_MODEL_FROM_DATABASE=Cable Modem
+
+usb:v06CCp0104*
+ ID_MODEL_FROM_DATABASE=Cable Modem
+
+usb:v06CCp0304*
+ ID_MODEL_FROM_DATABASE=Cable Modem
+
+usb:v06CD*
+ ID_VENDOR_FROM_DATABASE=Keyspan
+
+usb:v06CDp0101*
+ ID_MODEL_FROM_DATABASE=USA-28 PDA [no firmware]
+
+usb:v06CDp0102*
+ ID_MODEL_FROM_DATABASE=USA-28X PDA [no firmware]
+
+usb:v06CDp0103*
+ ID_MODEL_FROM_DATABASE=USA-19 PDA [no firmware]
+
+usb:v06CDp0104*
+ ID_MODEL_FROM_DATABASE=PDA [prerenum]
+
+usb:v06CDp0105*
+ ID_MODEL_FROM_DATABASE=USA-18X PDA [no firmware]
+
+usb:v06CDp0106*
+ ID_MODEL_FROM_DATABASE=USA-19W PDA [no firmware]
+
+usb:v06CDp0107*
+ ID_MODEL_FROM_DATABASE=USA-19 PDA
+
+usb:v06CDp0108*
+ ID_MODEL_FROM_DATABASE=USA-19W PDA
+
+usb:v06CDp0109*
+ ID_MODEL_FROM_DATABASE=USA-49W serial adapter [no firmware]
+
+usb:v06CDp010A*
+ ID_MODEL_FROM_DATABASE=USA-49W serial adapter
+
+usb:v06CDp010B*
+ ID_MODEL_FROM_DATABASE=USA-19Qi serial adapter [no firmware]
+
+usb:v06CDp010C*
+ ID_MODEL_FROM_DATABASE=USA-19Qi serial adapter
+
+usb:v06CDp010D*
+ ID_MODEL_FROM_DATABASE=USA-19Q serial Adapter (no firmware)
+
+usb:v06CDp010E*
+ ID_MODEL_FROM_DATABASE=USA-19Q serial Adapter
+
+usb:v06CDp010F*
+ ID_MODEL_FROM_DATABASE=USA-28 PDA
+
+usb:v06CDp0110*
+ ID_MODEL_FROM_DATABASE=USA-28Xb PDA
+
+usb:v06CDp0111*
+ ID_MODEL_FROM_DATABASE=USA-18 serial Adapter
+
+usb:v06CDp0112*
+ ID_MODEL_FROM_DATABASE=USA-18X PDA
+
+usb:v06CDp0113*
+ ID_MODEL_FROM_DATABASE=USA-28Xb PDA [no firmware]
+
+usb:v06CDp0114*
+ ID_MODEL_FROM_DATABASE=USA-28Xa PDA [no firmware]
+
+usb:v06CDp0115*
+ ID_MODEL_FROM_DATABASE=USA-28Xa PDA
+
+usb:v06CDp0116*
+ ID_MODEL_FROM_DATABASE=USA-18XA serial Adapter (no firmware)
+
+usb:v06CDp0117*
+ ID_MODEL_FROM_DATABASE=USA-18XA serial Adapter
+
+usb:v06CDp0118*
+ ID_MODEL_FROM_DATABASE=USA-19QW PDA [no firmware]
+
+usb:v06CDp0119*
+ ID_MODEL_FROM_DATABASE=USA-19QW PDA
+
+usb:v06CDp011A*
+ ID_MODEL_FROM_DATABASE=USA-49Wlc serial adapter [no firmware]
+
+usb:v06CDp011B*
+ ID_MODEL_FROM_DATABASE=MPR Serial Preloader (MPRQI)
+
+usb:v06CDp011C*
+ ID_MODEL_FROM_DATABASE=MPR Serial (MPRQI)
+
+usb:v06CDp011D*
+ ID_MODEL_FROM_DATABASE=MPR Serial Preloader (MPRQ)
+
+usb:v06CDp011E*
+ ID_MODEL_FROM_DATABASE=MPR Serial (MPRQ)
+
+usb:v06CDp0121*
+ ID_MODEL_FROM_DATABASE=USA-19hs serial adapter
+
+usb:v06CDp012A*
+ ID_MODEL_FROM_DATABASE=USA-49Wlc serial adapter
+
+usb:v06CDp0201*
+ ID_MODEL_FROM_DATABASE=UIA-10 Digital Media Remote [Cypress AN2131SC]
+
+usb:v06CDp0202*
+ ID_MODEL_FROM_DATABASE=UIA-11 Digital Media Remote
+
+usb:v06CE*
+ ID_VENDOR_FROM_DATABASE=Contec
+
+usb:v06CEp8311*
+ ID_MODEL_FROM_DATABASE=COM-1(USB)H
+
+usb:v06CF*
+ ID_VENDOR_FROM_DATABASE=SpheronVR AG
+
+usb:v06CFp1010*
+ ID_MODEL_FROM_DATABASE=PanoCam 10
+
+usb:v06CFp1012*
+ ID_MODEL_FROM_DATABASE=PanoCam 12/12X
+
+usb:v06D0*
+ ID_VENDOR_FROM_DATABASE=LapLink, Inc.
+
+usb:v06D0p0622*
+ ID_MODEL_FROM_DATABASE=LapLink Gold USB-USB Bridge [net1080]
+
+usb:v06D1*
+ ID_VENDOR_FROM_DATABASE=Daewoo Electronics Co., Ltd
+
+usb:v06D3*
+ ID_VENDOR_FROM_DATABASE=Mitsubishi Electric Corp.
+
+usb:v06D3p0380*
+ ID_MODEL_FROM_DATABASE=CP8000D Port
+
+usb:v06D3p0381*
+ ID_MODEL_FROM_DATABASE=CP770D Port
+
+usb:v06D3p0385*
+ ID_MODEL_FROM_DATABASE=CP900D Port
+
+usb:v06D3p0387*
+ ID_MODEL_FROM_DATABASE=CP980D Port
+
+usb:v06D3p038B*
+ ID_MODEL_FROM_DATABASE=CP3020D Port
+
+usb:v06D3p038C*
+ ID_MODEL_FROM_DATABASE=CP900DW(ID) Port
+
+usb:v06D3p0393*
+ ID_MODEL_FROM_DATABASE=CP9500D/DW Port
+
+usb:v06D3p0394*
+ ID_MODEL_FROM_DATABASE=CP9000D/DW Port
+
+usb:v06D3p03A1*
+ ID_MODEL_FROM_DATABASE=CP9550D/DW Port
+
+usb:v06D4*
+ ID_VENDOR_FROM_DATABASE=Cisco Systems
+
+usb:v06D5*
+ ID_VENDOR_FROM_DATABASE=Toshiba
+
+usb:v06D5p4000*
+ ID_MODEL_FROM_DATABASE=Japanese Keyboard
+
+usb:v06D6*
+ ID_VENDOR_FROM_DATABASE=Aashima Technology B.V.
+
+usb:v06D6p0025*
+ ID_MODEL_FROM_DATABASE=Gamepad
+
+usb:v06D6p0026*
+ ID_MODEL_FROM_DATABASE=Predator TH 400 Gamepad
+
+usb:v06D6p002D*
+ ID_MODEL_FROM_DATABASE=Trust PowerC@m 350FT
+
+usb:v06D6p002E*
+ ID_MODEL_FROM_DATABASE=Trust PowerC@m 350FS
+
+usb:v06D6p0030*
+ ID_MODEL_FROM_DATABASE=Trust 710 LCD POWERC@M ZOOM - MSD
+
+usb:v06D6p0031*
+ ID_MODEL_FROM_DATABASE=Trust 610/710 LCD POWERC@M ZOOM
+
+usb:v06D6p003A*
+ ID_MODEL_FROM_DATABASE=Trust PowerC@m 770Z (mass storage mode)
+
+usb:v06D6p003B*
+ ID_MODEL_FROM_DATABASE=Trust PowerC@m 770Z (webcam mode)
+
+usb:v06D6p003C*
+ ID_MODEL_FROM_DATABASE=Trust 910z PowerC@m
+
+usb:v06D6p003F*
+ ID_MODEL_FROM_DATABASE=Trust 735S POWERC@M ZOOM, WDM DSC Bulk Driver
+
+usb:v06D6p0050*
+ ID_MODEL_FROM_DATABASE=Trust 738AV LCD PV Digital Camera
+
+usb:v06D6p0062*
+ ID_MODEL_FROM_DATABASE=TRUST 782AV LCD P. V. Video Capture
+
+usb:v06D6p0066*
+ ID_MODEL_FROM_DATABASE=TRUST Digital PCTV and Movie Editor
+
+usb:v06D6p0067*
+ ID_MODEL_FROM_DATABASE=Trust 350FS POWERC@M FLASH
+
+usb:v06D6p006B*
+ ID_MODEL_FROM_DATABASE=TRUST AUDIO VIDEO EDITOR
+
+usb:v06D7*
+ ID_VENDOR_FROM_DATABASE=Network Computing Devices (NCD)
+
+usb:v06D8*
+ ID_VENDOR_FROM_DATABASE=Technical Marketing Research, Inc.
+
+usb:v06DA*
+ ID_VENDOR_FROM_DATABASE=Phoenixtec Power Co., Ltd
+
+usb:v06DAp0002*
+ ID_MODEL_FROM_DATABASE=UPS
+
+usb:v06DAp0003*
+ ID_MODEL_FROM_DATABASE=1300VA UPS
+
+usb:v06DB*
+ ID_VENDOR_FROM_DATABASE=Paradyne
+
+usb:v06DC*
+ ID_VENDOR_FROM_DATABASE=Foxlink Image Technology Co., Ltd
+
+usb:v06DCp0012*
+ ID_MODEL_FROM_DATABASE=Scan 1200c Scanner
+
+usb:v06DCp0014*
+ ID_MODEL_FROM_DATABASE=Prolink Winscan Pro 2448U
+
+usb:v06DE*
+ ID_VENDOR_FROM_DATABASE=Heisei Electronics Co., Ltd
+
+usb:v06E0*
+ ID_VENDOR_FROM_DATABASE=Multi-Tech Systems, Inc.
+
+usb:v06E0pF101*
+ ID_MODEL_FROM_DATABASE=MT5634ZBA-USB MultiModemUSB (old firmware)
+
+usb:v06E0pF103*
+ ID_MODEL_FROM_DATABASE=MT5634MU MultiMobileUSB
+
+usb:v06E0pF104*
+ ID_MODEL_FROM_DATABASE=MT5634ZBA-USB MultiModemUSB (new firmware)
+
+usb:v06E0pF107*
+ ID_MODEL_FROM_DATABASE=MT5634ZBA-USB-V92 MultiModemUSB
+
+usb:v06E1*
+ ID_VENDOR_FROM_DATABASE=ADS Technologies, Inc.
+
+usb:v06E1p0008*
+ ID_MODEL_FROM_DATABASE=UBS-10BT Ethernet [klsi]
+
+usb:v06E1p0009*
+ ID_MODEL_FROM_DATABASE=UBS-10BT Ethernet
+
+usb:v06E1p0833*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v06E1pA155*
+ ID_MODEL_FROM_DATABASE=FM Radio Receiver/Instant FM Music (RDX-155-EF)
+
+usb:v06E1pA160*
+ ID_MODEL_FROM_DATABASE=Instant Video-To-Go RDX-160 (no firmware)
+
+usb:v06E1pA161*
+ ID_MODEL_FROM_DATABASE=Instant Video-To-Go RDX-160
+
+usb:v06E1pA190*
+ ID_MODEL_FROM_DATABASE=Instand VCD Capture
+
+usb:v06E1pA191*
+ ID_MODEL_FROM_DATABASE=Instant VideoXpress
+
+usb:v06E1pA337*
+ ID_MODEL_FROM_DATABASE=Mini DigitalTV
+
+usb:v06E1pA701*
+ ID_MODEL_FROM_DATABASE=DVD Xpress
+
+usb:v06E1pA708*
+ ID_MODEL_FROM_DATABASE=saa7114H video input card (Instant VideoMPX)
+
+usb:v06E1pB337*
+ ID_MODEL_FROM_DATABASE=Mini DigitalTV
+
+usb:v06E1pB701*
+ ID_MODEL_FROM_DATABASE=DVD Xpress B
+
+usb:v06E4*
+ ID_VENDOR_FROM_DATABASE=Alcatel Microelectronics
+
+usb:v06E6*
+ ID_VENDOR_FROM_DATABASE=Tiger Jet Network, Inc.
+
+usb:v06E6p0200*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6p0201*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6p0202*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6p0203*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6p0210*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6p0211*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6p0212*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6p031C*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6p031D*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6p031E*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6p3200*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6p3201*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6p3202*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6p3203*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6p7200*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6p7210*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6p7250*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6p825C*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6p831C*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6p831D*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6p831E*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pB200*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pB201*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pB202*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pB210*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pB211*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pB212*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pB250*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pB251*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pB252*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pC200*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pC201*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pC202*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pC203*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pC210*
+ ID_MODEL_FROM_DATABASE=Personal PhoneGateway
+
+usb:v06E6pC211*
+ ID_MODEL_FROM_DATABASE=Personal PhoneGateway
+
+usb:v06E6pC212*
+ ID_MODEL_FROM_DATABASE=Personal PhoneGateway
+
+usb:v06E6pC213*
+ ID_MODEL_FROM_DATABASE=PPG Device
+
+usb:v06E6pC25C*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pC290*
+ ID_MODEL_FROM_DATABASE=PPG Device
+
+usb:v06E6pC291*
+ ID_MODEL_FROM_DATABASE=PPG Device
+
+usb:v06E6pC292*
+ ID_MODEL_FROM_DATABASE=PPG Device
+
+usb:v06E6pC293*
+ ID_MODEL_FROM_DATABASE=Personal PhoneGateway
+
+usb:v06E6pC31C*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pC39C*
+ ID_MODEL_FROM_DATABASE=Personal PhoneGateway
+
+usb:v06E6pC39D*
+ ID_MODEL_FROM_DATABASE=PPG Device
+
+usb:v06E6pC39E*
+ ID_MODEL_FROM_DATABASE=PPG Device
+
+usb:v06E6pC39F*
+ ID_MODEL_FROM_DATABASE=PPG Device
+
+usb:v06E6pC700*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pC701*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pC702*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pC703*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pC710*
+ ID_MODEL_FROM_DATABASE=VoIP Combo Device
+
+usb:v06E6pC711*
+ ID_MODEL_FROM_DATABASE=VoIP Combo
+
+usb:v06E6pC712*
+ ID_MODEL_FROM_DATABASE=VoIP Combo Device
+
+usb:v06E6pC713*
+ ID_MODEL_FROM_DATABASE=VoIP Combo Device
+
+usb:v06E6pCF00*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pCF01*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pCF02*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pCF03*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pD210*
+ ID_MODEL_FROM_DATABASE=Personal PhoneGateway
+
+usb:v06E6pD211*
+ ID_MODEL_FROM_DATABASE=PPG Device
+
+usb:v06E6pD212*
+ ID_MODEL_FROM_DATABASE=PPG Device
+
+usb:v06E6pD213*
+ ID_MODEL_FROM_DATABASE=Personal PhoneGateway
+
+usb:v06E6pD700*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pD701*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pD702*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pD703*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pD710*
+ ID_MODEL_FROM_DATABASE=VoIP Combo
+
+usb:v06E6pD711*
+ ID_MODEL_FROM_DATABASE=VoIP Combo Device
+
+usb:v06E6pD712*
+ ID_MODEL_FROM_DATABASE=VoIP Combo
+
+usb:v06E6pD713*
+ ID_MODEL_FROM_DATABASE=VoIP Combo
+
+usb:v06E6pDF00*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pDF01*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pDF02*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pDF03*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pF200*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pF201*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pF202*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pF203*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pF210*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pF250*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06E6pF252*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pF310*
+ ID_MODEL_FROM_DATABASE=Internet Phone
+
+usb:v06E6pF350*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v06EA*
+ ID_VENDOR_FROM_DATABASE=Sirius Technologies
+
+usb:v06EAp0001*
+ ID_MODEL_FROM_DATABASE=NetCom Roadster II 56k
+
+usb:v06EAp0002*
+ ID_MODEL_FROM_DATABASE=Roadster II 56k
+
+usb:v06EB*
+ ID_VENDOR_FROM_DATABASE=PC Expert Tech. Co., Ltd
+
+usb:v06EF*
+ ID_VENDOR_FROM_DATABASE=I.A.C. Geometrische Ingenieurs B.V.
+
+usb:v06F0*
+ ID_VENDOR_FROM_DATABASE=T.N.C Industrial Co., Ltd
+
+usb:v06F0pDE01*
+ ID_MODEL_FROM_DATABASE=DualCam Video Camera
+
+usb:v06F0pDE02*
+ ID_MODEL_FROM_DATABASE=DualCam Still Camera
+
+usb:v06F1*
+ ID_VENDOR_FROM_DATABASE=Opcode Systems, Inc.
+
+usb:v06F1pA011*
+ ID_MODEL_FROM_DATABASE=SonicPort
+
+usb:v06F1pA021*
+ ID_MODEL_FROM_DATABASE=SonicPort Optical
+
+usb:v06F2*
+ ID_VENDOR_FROM_DATABASE=Emine Technology Co.
+
+usb:v06F2p0011*
+ ID_MODEL_FROM_DATABASE=KVM Switch Keyboard
+
+usb:v06F6*
+ ID_VENDOR_FROM_DATABASE=Wintrend Technology Co., Ltd
+
+usb:v06F7*
+ ID_VENDOR_FROM_DATABASE=Wailly Technology Ltd
+
+usb:v06F7p0003*
+ ID_MODEL_FROM_DATABASE=USB->Din 4 Adaptor
+
+usb:v06F8*
+ ID_VENDOR_FROM_DATABASE=Guillemot Corp.
+
+usb:v06F8p3002*
+ ID_MODEL_FROM_DATABASE=Hercules Blog Webcam
+
+usb:v06F8p3004*
+ ID_MODEL_FROM_DATABASE=Hercules Classic Silver
+
+usb:v06F8p3005*
+ ID_MODEL_FROM_DATABASE=Hercules Dualpix Exchange
+
+usb:v06F8p3007*
+ ID_MODEL_FROM_DATABASE=Hercules Dualpix Chat and Show
+
+usb:v06F8p3020*
+ ID_MODEL_FROM_DATABASE=Hercules Webcam EC300
+
+usb:v06F8pA300*
+ ID_MODEL_FROM_DATABASE=Dual Analog Leader GamePad
+
+usb:v06F8pB000*
+ ID_MODEL_FROM_DATABASE=Hercules DJ Console
+
+usb:v06F8pC000*
+ ID_MODEL_FROM_DATABASE=Hercules Muse Pocket
+
+usb:v06F8pD002*
+ ID_MODEL_FROM_DATABASE=Hercules DJ Console
+
+usb:v06F8pE000*
+ ID_MODEL_FROM_DATABASE=HWGUSB2-54 WLAN
+
+usb:v06F8pE010*
+ ID_MODEL_FROM_DATABASE=HWGUSB2-54-LB
+
+usb:v06F8pE020*
+ ID_MODEL_FROM_DATABASE=HWGUSB2-54V2-AP
+
+usb:v06F8pE031*
+ ID_MODEL_FROM_DATABASE=Hercules HWNUm-300 Wireless N mini [Realtek RTL8191SU]
+
+usb:v06F8pE032*
+ ID_MODEL_FROM_DATABASE=HWGUm-54 [Hercules Wireless G Ultra Mini Key]
+
+usb:v06F8pE033*
+ ID_MODEL_FROM_DATABASE=Hercules HWNUp-150 802.11n Wireless N Pico [Realtek RTL8188CUS]
+
+usb:v06F9*
+ ID_VENDOR_FROM_DATABASE=ASYST electronic d.o.o.
+
+usb:v06FA*
+ ID_VENDOR_FROM_DATABASE=HSD S.r.L
+
+usb:v06FC*
+ ID_VENDOR_FROM_DATABASE=Motorola Semiconductor Products Sector
+
+usb:v06FD*
+ ID_VENDOR_FROM_DATABASE=Boston Acoustics
+
+usb:v06FDp0101*
+ ID_MODEL_FROM_DATABASE=Audio Device
+
+usb:v06FDp0102*
+ ID_MODEL_FROM_DATABASE=Audio Device
+
+usb:v06FDp0201*
+ ID_MODEL_FROM_DATABASE=2-piece Audio Device
+
+usb:v06FE*
+ ID_VENDOR_FROM_DATABASE=Gallant Computer, Inc.
+
+usb:v0701*
+ ID_VENDOR_FROM_DATABASE=Supercomal Wire & Cable SDN. BHD.
+
+usb:v0703*
+ ID_VENDOR_FROM_DATABASE=Bvtech Industry, Inc.
+
+usb:v0705*
+ ID_VENDOR_FROM_DATABASE=NKK Corp.
+
+usb:v0706*
+ ID_VENDOR_FROM_DATABASE=Ariel Corp.
+
+usb:v0707*
+ ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
+
+usb:v0707p0100*
+ ID_MODEL_FROM_DATABASE=2202 Ethernet [klsi]
+
+usb:v0707p0200*
+ ID_MODEL_FROM_DATABASE=2202 Ethernet [pegasus]
+
+usb:v0707p0201*
+ ID_MODEL_FROM_DATABASE=EZ Connect USB Ethernet
+
+usb:v0707pEE04*
+ ID_MODEL_FROM_DATABASE=SMCWUSB32 802.11b Wireless LAN Card
+
+usb:v0707pEE06*
+ ID_MODEL_FROM_DATABASE=SMC2862W-G v1 EZ Connect 802.11g Adapter [Intersil ISL3886]
+
+usb:v0707pEE13*
+ ID_MODEL_FROM_DATABASE=SMC2862W-G v2 EZ Connect 802.11g Adapter [Intersil ISL3887]
+
+usb:v0708*
+ ID_VENDOR_FROM_DATABASE=Putercom Co., Ltd
+
+usb:v0708p047E*
+ ID_MODEL_FROM_DATABASE=USB-1284 BRIDGE
+
+usb:v0709*
+ ID_VENDOR_FROM_DATABASE=Silicon Systems, Ltd (SSL)
+
+usb:v070A*
+ ID_VENDOR_FROM_DATABASE=Oki Electric Industry Co., Ltd
+
+usb:v070Ap4002*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v070Ap4003*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v070D*
+ ID_VENDOR_FROM_DATABASE=Comoss Electronic Co., Ltd
+
+usb:v070E*
+ ID_VENDOR_FROM_DATABASE=Excel Cell Electronic Co., Ltd
+
+usb:v0710*
+ ID_VENDOR_FROM_DATABASE=Connect Tech, Inc.
+
+usb:v0710p0001*
+ ID_MODEL_FROM_DATABASE=WhiteHeat (fake ID)
+
+usb:v0710p8001*
+ ID_MODEL_FROM_DATABASE=WhiteHeat
+
+usb:v0711*
+ ID_VENDOR_FROM_DATABASE=Magic Control Technology Corp.
+
+usb:v0711p0100*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v0711p0180*
+ ID_MODEL_FROM_DATABASE=IRXpress Infrared Device
+
+usb:v0711p0181*
+ ID_MODEL_FROM_DATABASE=IRXpress Infrared Device
+
+usb:v0711p0200*
+ ID_MODEL_FROM_DATABASE=BAY-3U1S1P Serial Port
+
+usb:v0711p0210*
+ ID_MODEL_FROM_DATABASE=MCT1S Serial Port
+
+usb:v0711p0230*
+ ID_MODEL_FROM_DATABASE=MCT-232 Serial Port
+
+usb:v0711p0231*
+ ID_MODEL_FROM_DATABASE=PS/2 Mouse Port
+
+usb:v0711p0232*
+ ID_MODEL_FROM_DATABASE=Serial On Port
+
+usb:v0711p0240*
+ ID_MODEL_FROM_DATABASE=PS/2 to USB Converter
+
+usb:v0711p0300*
+ ID_MODEL_FROM_DATABASE=BAY-3U1S1P Parallel Port
+
+usb:v0711p0302*
+ ID_MODEL_FROM_DATABASE=Parallel Port
+
+usb:v0711p0900*
+ ID_MODEL_FROM_DATABASE=SVGA Adapter
+
+usb:v0711p5001*
+ ID_MODEL_FROM_DATABASE=Trigger UV-002BD[Startech USBVGAE]
+
+usb:v0711p5100*
+ ID_MODEL_FROM_DATABASE=Magic Control Technology Corp. (USB2VGA dongle)
+
+usb:v0713*
+ ID_VENDOR_FROM_DATABASE=Interval Research Corp.
+
+usb:v0714*
+ ID_VENDOR_FROM_DATABASE=NewMotion, Inc.
+
+usb:v0714p0003*
+ ID_MODEL_FROM_DATABASE=ADB to USB convertor
+
+usb:v0717*
+ ID_VENDOR_FROM_DATABASE=ZNK Corp.
+
+usb:v0718*
+ ID_VENDOR_FROM_DATABASE=Imation Corp.
+
+usb:v0718p0002*
+ ID_MODEL_FROM_DATABASE=SuperDisk 120MB
+
+usb:v0718p0003*
+ ID_MODEL_FROM_DATABASE=SuperDisk 120MB (Authenticated)
+
+usb:v0718p0060*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v0718p0061*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v0718p0062*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v0718p0063*
+ ID_MODEL_FROM_DATABASE=Swivel Flash Drive
+
+usb:v0718p0064*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v0718p0065*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v0718p0066*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v0718p0067*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v0718p0068*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v0718p0084*
+ ID_MODEL_FROM_DATABASE=Flash Drive Mini
+
+usb:v0718p043C*
+ ID_MODEL_FROM_DATABASE=Flash drive 16GB [Nano Pro]
+
+usb:v0718p0582*
+ ID_MODEL_FROM_DATABASE=Revo Flash Drive
+
+usb:v0718p0622*
+ ID_MODEL_FROM_DATABASE=TDK Trans-It 4GB
+
+usb:v0718p0624*
+ ID_MODEL_FROM_DATABASE=TDK Trans-It 16GB
+
+usb:v0718p1120*
+ ID_MODEL_FROM_DATABASE=RDX External dock (redbud)
+
+usb:v0718pD000*
+ ID_MODEL_FROM_DATABASE=Disc Stakka CD/DVD Manager
+
+usb:v0719*
+ ID_VENDOR_FROM_DATABASE=Tremon Enterprises Co., Ltd
+
+usb:v071B*
+ ID_VENDOR_FROM_DATABASE=Domain Technologies, Inc.
+
+usb:v071Bp0002*
+ ID_MODEL_FROM_DATABASE=DTI-56362-USB Digital Interface Unit
+
+usb:v071Bp0101*
+ ID_MODEL_FROM_DATABASE=Audio4-USB DSP Data Acquisition Unit
+
+usb:v071Bp0201*
+ ID_MODEL_FROM_DATABASE=Audio4-5410 DSP Data Acquisition Unit
+
+usb:v071Bp0301*
+ ID_MODEL_FROM_DATABASE=SB-USB JTAG Emulator
+
+usb:v071Bp3203*
+ ID_MODEL_FROM_DATABASE=Rockchip Media Player
+
+usb:v071Bp32BB*
+ ID_MODEL_FROM_DATABASE=Music Mediatouch
+
+usb:v071C*
+ ID_VENDOR_FROM_DATABASE=Xionics Document Technologies, Inc.
+
+usb:v071D*
+ ID_VENDOR_FROM_DATABASE=Eicon Networks Corp.
+
+usb:v071Dp1000*
+ ID_MODEL_FROM_DATABASE=Diva ISDN TA
+
+usb:v071Dp1003*
+ ID_MODEL_FROM_DATABASE=Diva
+
+usb:v071Dp2000*
+ ID_MODEL_FROM_DATABASE=Teledat Surf
+
+usb:v071E*
+ ID_VENDOR_FROM_DATABASE=Ariston Technologies
+
+usb:v0723*
+ ID_VENDOR_FROM_DATABASE=Centillium Communications Corp.
+
+usb:v0723p0002*
+ ID_MODEL_FROM_DATABASE=Palladia 300/400 Adsl Modem
+
+usb:v0726*
+ ID_VENDOR_FROM_DATABASE=Vanguard International Semiconductor-America
+
+usb:v0729*
+ ID_VENDOR_FROM_DATABASE=Amitm
+
+usb:v0729p1000*
+ ID_MODEL_FROM_DATABASE=USC-1000 Serial Port
+
+usb:v072E*
+ ID_VENDOR_FROM_DATABASE=Sunix Co., Ltd
+
+usb:v072F*
+ ID_VENDOR_FROM_DATABASE=Advanced Card Systems, Ltd
+
+usb:v072Fp0001*
+ ID_MODEL_FROM_DATABASE=AC1030-based SmartCard Reader
+
+usb:v072Fp0008*
+ ID_MODEL_FROM_DATABASE=ACR 80 Smart Card Reader
+
+usb:v072Fp1000*
+ ID_MODEL_FROM_DATABASE=PLDT Drive
+
+usb:v072Fp1001*
+ ID_MODEL_FROM_DATABASE=PLDT Drive
+
+usb:v072Fp8002*
+ ID_MODEL_FROM_DATABASE=AET63 BioTRUSTKey
+
+usb:v072Fp8003*
+ ID_MODEL_FROM_DATABASE=ACR120
+
+usb:v072Fp8103*
+ ID_MODEL_FROM_DATABASE=ACR120
+
+usb:v072Fp9000*
+ ID_MODEL_FROM_DATABASE=ACR38 AC1038-based Smart Card Reader
+
+usb:v072Fp90CC*
+ ID_MODEL_FROM_DATABASE=ACR38 SmartCard Reader
+
+usb:v072Fp90CF*
+ ID_MODEL_FROM_DATABASE=ACR38 SAM Smart Card Reader
+
+usb:v072Fp90D0*
+ ID_MODEL_FROM_DATABASE=PertoSmart EMV - Card Reader
+
+usb:v0731*
+ ID_VENDOR_FROM_DATABASE=Susteen, Inc.
+
+usb:v0731p0528*
+ ID_MODEL_FROM_DATABASE=SonyEricsson DCU-11 Cable
+
+usb:v0732*
+ ID_VENDOR_FROM_DATABASE=Goldfull Electronics & Telecommunications Corp.
+
+usb:v0733*
+ ID_VENDOR_FROM_DATABASE=ViewQuest Technologies, Inc.
+
+usb:v0733p0101*
+ ID_MODEL_FROM_DATABASE=Digital Video Camera
+
+usb:v0733p0110*
+ ID_MODEL_FROM_DATABASE=VQ110 Video Camera
+
+usb:v0733p0401*
+ ID_MODEL_FROM_DATABASE=CS330 Webcam
+
+usb:v0733p0402*
+ ID_MODEL_FROM_DATABASE=M-318B Webcam
+
+usb:v0733p0430*
+ ID_MODEL_FROM_DATABASE=Intel Pro Share Webcam
+
+usb:v0733p0630*
+ ID_MODEL_FROM_DATABASE=VQ630 Dual Mode Digital Camera(Bulk)
+
+usb:v0733p0631*
+ ID_MODEL_FROM_DATABASE=Hercules Dualpix
+
+usb:v0733p0780*
+ ID_MODEL_FROM_DATABASE=Smart Cam Deluxe(composite)
+
+usb:v0733p1310*
+ ID_MODEL_FROM_DATABASE=Epsilon 1.3/Jenoptik JD C1.3/UMAX AstraPix 470
+
+usb:v0733p1311*
+ ID_MODEL_FROM_DATABASE=Digital Dream Epsilon 1.3
+
+usb:v0733p1314*
+ ID_MODEL_FROM_DATABASE=Mercury 2.1MEG Deluxe Classic Cam
+
+usb:v0733p2211*
+ ID_MODEL_FROM_DATABASE=Jenoptik jdc 21 LCD Camera
+
+usb:v0733p2221*
+ ID_MODEL_FROM_DATABASE=Mercury Digital Pro 3.1p
+
+usb:v0733p3261*
+ ID_MODEL_FROM_DATABASE=Concord 3045 spca536a Camera
+
+usb:v0733p3281*
+ ID_MODEL_FROM_DATABASE=Cyberpix S550V
+
+usb:v0734*
+ ID_VENDOR_FROM_DATABASE=Lasat Communications A/S
+
+usb:v0734p0001*
+ ID_MODEL_FROM_DATABASE=560V Modem
+
+usb:v0734p0002*
+ ID_MODEL_FROM_DATABASE=Lasat 560V Modem
+
+usb:v0734p043A*
+ ID_MODEL_FROM_DATABASE=DVS Audio
+
+usb:v0734p043B*
+ ID_MODEL_FROM_DATABASE=3DeMon USB Capture
+
+usb:v0735*
+ ID_VENDOR_FROM_DATABASE=Asuscom Network
+
+usb:v0735p2100*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter
+
+usb:v0735p2101*
+ ID_MODEL_FROM_DATABASE=ISDN Adapter
+
+usb:v0735p6694*
+ ID_MODEL_FROM_DATABASE=ISDNlink 128K
+
+usb:v0735pC541*
+ ID_MODEL_FROM_DATABASE=ISDN TA 280
+
+usb:v0736*
+ ID_VENDOR_FROM_DATABASE=Lorom Industrial Co., Ltd
+
+usb:v0738*
+ ID_VENDOR_FROM_DATABASE=Mad Catz, Inc.
+
+usb:v0738p4507*
+ ID_MODEL_FROM_DATABASE=XBox Device
+
+usb:v0738p4516*
+ ID_MODEL_FROM_DATABASE=XBox Device
+
+usb:v0738p4520*
+ ID_MODEL_FROM_DATABASE=XBox Device
+
+usb:v0738p4526*
+ ID_MODEL_FROM_DATABASE=XBox Device
+
+usb:v0738p4536*
+ ID_MODEL_FROM_DATABASE=XBox Device
+
+usb:v0738p4540*
+ ID_MODEL_FROM_DATABASE=XBox Device
+
+usb:v0738p4556*
+ ID_MODEL_FROM_DATABASE=XBox Device
+
+usb:v0738p4566*
+ ID_MODEL_FROM_DATABASE=XBox Device
+
+usb:v0738p4576*
+ ID_MODEL_FROM_DATABASE=XBox Device
+
+usb:v0738p4586*
+ ID_MODEL_FROM_DATABASE=XBox Device
+
+usb:v0738p4588*
+ ID_MODEL_FROM_DATABASE=XBox Device
+
+usb:v0738p8818*
+ ID_MODEL_FROM_DATABASE=Street Fighter IV Arcade FightStick (PS3)
+
+usb:v073A*
+ ID_VENDOR_FROM_DATABASE=Chaplet Systems, Inc.
+
+usb:v073Ap2230*
+ ID_MODEL_FROM_DATABASE=infrared dongle for remote
+
+usb:v073B*
+ ID_VENDOR_FROM_DATABASE=Suncom Technologies
+
+usb:v073C*
+ ID_VENDOR_FROM_DATABASE=Industrial Electronic Engineers, Inc.
+
+usb:v073Cp0305*
+ ID_MODEL_FROM_DATABASE=Pole Display (PC305-3415 2 x 20 Line Display)
+
+usb:v073Cp0322*
+ ID_MODEL_FROM_DATABASE=Pole Display (PC322-3415 2 x 20 Line Display)
+
+usb:v073Cp0324*
+ ID_MODEL_FROM_DATABASE=Pole Display (LB324-USB 4 x 20 Line Display)
+
+usb:v073Cp0330*
+ ID_MODEL_FROM_DATABASE=Pole Display (P330-3415 2 x 20 Line Display)
+
+usb:v073Cp0424*
+ ID_MODEL_FROM_DATABASE=Pole Display (SP324-4415 4 x 20 Line Display)
+
+usb:v073Cp0450*
+ ID_MODEL_FROM_DATABASE=Pole Display (L450-USB Graphic Line Display)
+
+usb:v073Cp0505*
+ ID_MODEL_FROM_DATABASE=Pole Display (SPC505-3415 2 x 20 Line Display)
+
+usb:v073Cp0522*
+ ID_MODEL_FROM_DATABASE=Pole Display (SPC522-3415 2 x 20 Line Display)
+
+usb:v073Cp0624*
+ ID_MODEL_FROM_DATABASE=Pole Display (SP324-3415 4 x 20 Line Display)
+
+usb:v073D*
+ ID_VENDOR_FROM_DATABASE=Eutron S.p.a.
+
+usb:v073Dp0005*
+ ID_MODEL_FROM_DATABASE=Crypto Token
+
+usb:v073Dp0007*
+ ID_MODEL_FROM_DATABASE=CryptoIdentity CCID
+
+usb:v073Dp0025*
+ ID_MODEL_FROM_DATABASE=SmartKey 3
+
+usb:v073Dp0C00*
+ ID_MODEL_FROM_DATABASE=Pocket Reader
+
+usb:v073Dp0D00*
+ ID_MODEL_FROM_DATABASE=StarSign Bio Token 3.0 EU
+
+usb:v073E*
+ ID_VENDOR_FROM_DATABASE=NEC, Inc.
+
+usb:v073Ep0301*
+ ID_MODEL_FROM_DATABASE=Game Pad
+
+usb:v0745*
+ ID_VENDOR_FROM_DATABASE=Syntech Information Co., Ltd
+
+usb:v0746*
+ ID_VENDOR_FROM_DATABASE=Onkyo Corp.
+
+usb:v0746p5500*
+ ID_MODEL_FROM_DATABASE=SE-U55 Audio Device
+
+usb:v0747*
+ ID_VENDOR_FROM_DATABASE=Labway Corp.
+
+usb:v0748*
+ ID_VENDOR_FROM_DATABASE=Strong Man Enterprise Co., Ltd
+
+usb:v0749*
+ ID_VENDOR_FROM_DATABASE=EVer Electronics Corp.
+
+usb:v074A*
+ ID_VENDOR_FROM_DATABASE=Ming Fortune Industry Co., Ltd
+
+usb:v074B*
+ ID_VENDOR_FROM_DATABASE=Polestar Tech. Corp.
+
+usb:v074C*
+ ID_VENDOR_FROM_DATABASE=C-C-C Group PLC
+
+usb:v074D*
+ ID_VENDOR_FROM_DATABASE=Micronas GmbH
+
+usb:v074Dp3553*
+ ID_MODEL_FROM_DATABASE=Composite USB-Device
+
+usb:v074Dp3554*
+ ID_MODEL_FROM_DATABASE=Composite USB-Device
+
+usb:v074Dp3556*
+ ID_MODEL_FROM_DATABASE=Composite USB-Device
+
+usb:v074E*
+ ID_VENDOR_FROM_DATABASE=Digital Stream Corp.
+
+usb:v074Ep0001*
+ ID_MODEL_FROM_DATABASE=PS/2 Adapter
+
+usb:v074Ep0002*
+ ID_MODEL_FROM_DATABASE=PS/2 Adapter
+
+usb:v0755*
+ ID_VENDOR_FROM_DATABASE=Aureal Semiconductor
+
+usb:v0757*
+ ID_VENDOR_FROM_DATABASE=Network Technologies, Inc.
+
+usb:v075B*
+ ID_VENDOR_FROM_DATABASE=Sophisticated Circuits, Inc.
+
+usb:v075Bp0001*
+ ID_MODEL_FROM_DATABASE=Kick-off! Watchdog
+
+usb:v0763*
+ ID_VENDOR_FROM_DATABASE=Midiman
+
+usb:v0763p0115*
+ ID_MODEL_FROM_DATABASE=O2 / KeyRig 25
+
+usb:v0763p0117*
+ ID_MODEL_FROM_DATABASE=Trigger Finger
+
+usb:v0763p0119*
+ ID_MODEL_FROM_DATABASE=MidAir
+
+usb:v0763p0150*
+ ID_MODEL_FROM_DATABASE=M-Audio Uno
+
+usb:v0763p0160*
+ ID_MODEL_FROM_DATABASE=M-Audio 1x1
+
+usb:v0763p0192*
+ ID_MODEL_FROM_DATABASE=M-Audio Keystation 88es
+
+usb:v0763p0193*
+ ID_MODEL_FROM_DATABASE=ProKeys 88
+
+usb:v0763p0194*
+ ID_MODEL_FROM_DATABASE=ProKeys 88sx
+
+usb:v0763p0195*
+ ID_MODEL_FROM_DATABASE=Oxygen 8 v2
+
+usb:v0763p0196*
+ ID_MODEL_FROM_DATABASE=Oxygen 49
+
+usb:v0763p0197*
+ ID_MODEL_FROM_DATABASE=Oxygen 61
+
+usb:v0763p0198*
+ ID_MODEL_FROM_DATABASE=Axiom 25
+
+usb:v0763p0199*
+ ID_MODEL_FROM_DATABASE=Axiom 49
+
+usb:v0763p019A*
+ ID_MODEL_FROM_DATABASE=Axiom 61
+
+usb:v0763p019B*
+ ID_MODEL_FROM_DATABASE=KeyRig 49
+
+usb:v0763p019C*
+ ID_MODEL_FROM_DATABASE=KeyStudio
+
+usb:v0763p1001*
+ ID_MODEL_FROM_DATABASE=MidiSport 2x2
+
+usb:v0763p1002*
+ ID_MODEL_FROM_DATABASE=MidiSport 2x2
+
+usb:v0763p1003*
+ ID_MODEL_FROM_DATABASE=MidiSport 2x2
+
+usb:v0763p1010*
+ ID_MODEL_FROM_DATABASE=MidiSport 1x1
+
+usb:v0763p1011*
+ ID_MODEL_FROM_DATABASE=MidiSport 1x1
+
+usb:v0763p1014*
+ ID_MODEL_FROM_DATABASE=M-Audio Keystation Loader
+
+usb:v0763p1015*
+ ID_MODEL_FROM_DATABASE=M-Audio Keystation
+
+usb:v0763p1020*
+ ID_MODEL_FROM_DATABASE=Midisport 4x4
+
+usb:v0763p1021*
+ ID_MODEL_FROM_DATABASE=MidiSport 4x4
+
+usb:v0763p1030*
+ ID_MODEL_FROM_DATABASE=Midisport 8x8
+
+usb:v0763p1031*
+ ID_MODEL_FROM_DATABASE=MidiSport 8x8/s Loader
+
+usb:v0763p1033*
+ ID_MODEL_FROM_DATABASE=MidiSport 8x8/s
+
+usb:v0763p1040*
+ ID_MODEL_FROM_DATABASE=M-Audio MidiSport 2x4 Loader
+
+usb:v0763p1041*
+ ID_MODEL_FROM_DATABASE=M-Audio MidiSport 2x4
+
+usb:v0763p1110*
+ ID_MODEL_FROM_DATABASE=MidiSport 1x1
+
+usb:v0763p2001*
+ ID_MODEL_FROM_DATABASE=M Audio Quattro
+
+usb:v0763p2002*
+ ID_MODEL_FROM_DATABASE=M Audio Duo
+
+usb:v0763p2003*
+ ID_MODEL_FROM_DATABASE=M Audio AudioPhile
+
+usb:v0763p2004*
+ ID_MODEL_FROM_DATABASE=M-Audio MobilePre
+
+usb:v0763p2006*
+ ID_MODEL_FROM_DATABASE=M-Audio Transit
+
+usb:v0763p2007*
+ ID_MODEL_FROM_DATABASE=M-Audio Sonica Theater
+
+usb:v0763p2008*
+ ID_MODEL_FROM_DATABASE=M-Audio Ozone
+
+usb:v0763p200D*
+ ID_MODEL_FROM_DATABASE=M-Audio OmniStudio
+
+usb:v0763p200F*
+ ID_MODEL_FROM_DATABASE=M-Audio MobilePre
+
+usb:v0763p2010*
+ ID_MODEL_FROM_DATABASE=M-Audio Fast Track
+
+usb:v0763p2012*
+ ID_MODEL_FROM_DATABASE=M-Audio Fast Track Pro
+
+usb:v0763p2013*
+ ID_MODEL_FROM_DATABASE=M-Audio JamLab
+
+usb:v0763p2015*
+ ID_MODEL_FROM_DATABASE=M-Audio RunTime DFU
+
+usb:v0763p2016*
+ ID_MODEL_FROM_DATABASE=M-Audio RunTime DFU
+
+usb:v0763p2019*
+ ID_MODEL_FROM_DATABASE=M-Audio Ozone Academic
+
+usb:v0763p201A*
+ ID_MODEL_FROM_DATABASE=M-Audio Micro
+
+usb:v0763p201B*
+ ID_MODEL_FROM_DATABASE=M-Audio RunTime DFU
+
+usb:v0763p201D*
+ ID_MODEL_FROM_DATABASE=M-Audio Producer
+
+usb:v0763p2024*
+ ID_MODEL_FROM_DATABASE=M-Audio Fast Track MKII
+
+usb:v0763p2080*
+ ID_MODEL_FROM_DATABASE=M-Audio RunTime DFU
+
+usb:v0763p2081*
+ ID_MODEL_FROM_DATABASE=M-Audio RunTime DFU / Fast Track Ultra 8R
+
+usb:v0763p2803*
+ ID_MODEL_FROM_DATABASE=M-Audio Audiophile DFU
+
+usb:v0763p2804*
+ ID_MODEL_FROM_DATABASE=M-Audio MobilePre DFU
+
+usb:v0763p2806*
+ ID_MODEL_FROM_DATABASE=M-Audio Transit DFU
+
+usb:v0763p2815*
+ ID_MODEL_FROM_DATABASE=M-Audio DFU
+
+usb:v0763p2816*
+ ID_MODEL_FROM_DATABASE=M-Audio DFU
+
+usb:v0763p281B*
+ ID_MODEL_FROM_DATABASE=M-Audio DFU
+
+usb:v0763p2880*
+ ID_MODEL_FROM_DATABASE=M-Audio DFU
+
+usb:v0763p2881*
+ ID_MODEL_FROM_DATABASE=M-Audio DFU
+
+usb:v0764*
+ ID_VENDOR_FROM_DATABASE=Cyber Power System, Inc.
+
+usb:v0764p0005*
+ ID_MODEL_FROM_DATABASE=Cyber Power UPS
+
+usb:v0764p0501*
+ ID_MODEL_FROM_DATABASE=CP1500 AVR UPS
+
+usb:v0765*
+ ID_VENDOR_FROM_DATABASE=X-Rite, Inc.
+
+usb:v0765p5001*
+ ID_MODEL_FROM_DATABASE=Huey PRO Colorimeter
+
+usb:v0765pD094*
+ ID_MODEL_FROM_DATABASE=X-Rite DTP94 [Quato Silver Haze Pro]
+
+usb:v0766*
+ ID_VENDOR_FROM_DATABASE=Jess-Link Products Co., Ltd
+
+usb:v0766p001B*
+ ID_MODEL_FROM_DATABASE=Packard Bell Go
+
+usb:v0766p0204*
+ ID_MODEL_FROM_DATABASE=TopSpeed Cyberlink Remote Control
+
+usb:v0767*
+ ID_VENDOR_FROM_DATABASE=Tokheim Corp.
+
+usb:v0768*
+ ID_VENDOR_FROM_DATABASE=Camtel Technology Corp.
+
+usb:v0768p0006*
+ ID_MODEL_FROM_DATABASE=Camtel Technology USB TV Genie Pro FM Model TVB330
+
+usb:v0768p0023*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v0769*
+ ID_VENDOR_FROM_DATABASE=Surecom Technology Corp.
+
+usb:v0769p11F2*
+ ID_MODEL_FROM_DATABASE=EP-9001-g 802.11g 54M WLAN Adapter
+
+usb:v0769p11F3*
+ ID_MODEL_FROM_DATABASE=RT2570
+
+usb:v0769p11F7*
+ ID_MODEL_FROM_DATABASE=802.11g 54M WLAN Adapter
+
+usb:v0769p31F3*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v076A*
+ ID_VENDOR_FROM_DATABASE=Smart Technology Enablers, Inc.
+
+usb:v076B*
+ ID_VENDOR_FROM_DATABASE=OmniKey AG
+
+usb:v076Bp0596*
+ ID_MODEL_FROM_DATABASE=CardMan 2020
+
+usb:v076Bp1021*
+ ID_MODEL_FROM_DATABASE=CardMan 1021
+
+usb:v076Bp1221*
+ ID_MODEL_FROM_DATABASE=CardMan 1221
+
+usb:v076Bp1784*
+ ID_MODEL_FROM_DATABASE=CardMan 6020
+
+usb:v076Bp3021*
+ ID_MODEL_FROM_DATABASE=CardMan 3121
+
+usb:v076Bp3610*
+ ID_MODEL_FROM_DATABASE=CardMan 3620
+
+usb:v076Bp3621*
+ ID_MODEL_FROM_DATABASE=CardMan 3621
+
+usb:v076Bp3821*
+ ID_MODEL_FROM_DATABASE=CardMan 3821
+
+usb:v076Bp4321*
+ ID_MODEL_FROM_DATABASE=CardMan 4321
+
+usb:v076Bp5121*
+ ID_MODEL_FROM_DATABASE=CardMan 5121
+
+usb:v076Bp5125*
+ ID_MODEL_FROM_DATABASE=CardMan 5125
+
+usb:v076Bp6622*
+ ID_MODEL_FROM_DATABASE=CardMan 6121
+
+usb:v076BpA011*
+ ID_MODEL_FROM_DATABASE=CCID Smart Card Reader Keyboard
+
+usb:v076BpA021*
+ ID_MODEL_FROM_DATABASE=CCID Smart Card Reader
+
+usb:v076BpA022*
+ ID_MODEL_FROM_DATABASE=CardMan Smart@Link
+
+usb:v076BpC000*
+ ID_MODEL_FROM_DATABASE=CardMan 3x21 CS
+
+usb:v076BpC001*
+ ID_MODEL_FROM_DATABASE=CardMan 5121 CS
+
+usb:v076C*
+ ID_VENDOR_FROM_DATABASE=Partner Tech
+
+usb:v076D*
+ ID_VENDOR_FROM_DATABASE=Denso Corp.
+
+usb:v076E*
+ ID_VENDOR_FROM_DATABASE=Kuan Tech Enterprise Co., Ltd
+
+usb:v076F*
+ ID_VENDOR_FROM_DATABASE=Jhen Vei Electronic Co., Ltd
+
+usb:v0770*
+ ID_VENDOR_FROM_DATABASE=Welch Allyn, Inc - Medical Division
+
+usb:v0771*
+ ID_VENDOR_FROM_DATABASE=Observator Instruments BV
+
+usb:v0771p4455*
+ ID_MODEL_FROM_DATABASE=OMC45III
+
+usb:v0771pAE0F*
+ ID_MODEL_FROM_DATABASE=OMC45III
+
+usb:v0772*
+ ID_VENDOR_FROM_DATABASE=Your data Our Care
+
+usb:v0774*
+ ID_VENDOR_FROM_DATABASE=AmTRAN Technology Co., Ltd
+
+usb:v0775*
+ ID_VENDOR_FROM_DATABASE=Longshine Electronics Corp.
+
+usb:v0776*
+ ID_VENDOR_FROM_DATABASE=Inalways Corp.
+
+usb:v0777*
+ ID_VENDOR_FROM_DATABASE=Comda Enterprise Corp.
+
+usb:v0778*
+ ID_VENDOR_FROM_DATABASE=Volex, Inc.
+
+usb:v0779*
+ ID_VENDOR_FROM_DATABASE=Fairchild Semiconductor
+
+usb:v077A*
+ ID_VENDOR_FROM_DATABASE=Sankyo Seiki Mfg. Co., Ltd
+
+usb:v077B*
+ ID_VENDOR_FROM_DATABASE=Linksys
+
+usb:v077Bp08BE*
+ ID_MODEL_FROM_DATABASE=BEFCMU10 v4 Cable Modem
+
+usb:v077Bp2219*
+ ID_MODEL_FROM_DATABASE=WUSB11 V2.6 802.11b Adapter
+
+usb:v077Bp2226*
+ ID_MODEL_FROM_DATABASE=USB200M 100baseTX Adapter
+
+usb:v077Bp2227*
+ ID_MODEL_FROM_DATABASE=Network Everywhere NWU11B
+
+usb:v077C*
+ ID_VENDOR_FROM_DATABASE=Forward Electronics Co., Ltd
+
+usb:v077Cp0005*
+ ID_MODEL_FROM_DATABASE=NEC Keyboard
+
+usb:v077D*
+ ID_VENDOR_FROM_DATABASE=Griffin Technology
+
+usb:v077Dp0223*
+ ID_MODEL_FROM_DATABASE=IMic Audio In/Out
+
+usb:v077Dp0405*
+ ID_MODEL_FROM_DATABASE=iMate, ADB Adapter
+
+usb:v077Dp0410*
+ ID_MODEL_FROM_DATABASE=PowerMate
+
+usb:v077Dp041A*
+ ID_MODEL_FROM_DATABASE=PowerWave
+
+usb:v077Dp04AA*
+ ID_MODEL_FROM_DATABASE=SoundKnob
+
+usb:v077Dp07AF*
+ ID_MODEL_FROM_DATABASE=iMic
+
+usb:v077Dp1016*
+ ID_MODEL_FROM_DATABASE=AirClick
+
+usb:v077Dp627A*
+ ID_MODEL_FROM_DATABASE=Radio SHARK
+
+usb:v077F*
+ ID_VENDOR_FROM_DATABASE=Well Excellent & Most Corp.
+
+usb:v0780*
+ ID_VENDOR_FROM_DATABASE=Sagem Monetel GmbH
+
+usb:v0780p1202*
+ ID_MODEL_FROM_DATABASE=ORGA 900 Smart Card Terminal Virtual Com Port
+
+usb:v0780p1302*
+ ID_MODEL_FROM_DATABASE=ORGA 6000 Smart Card Terminal Virtual Com Port
+
+usb:v0780p1303*
+ ID_MODEL_FROM_DATABASE=ORGA 6000 Smart Card Terminal USB RNDIS
+
+usb:v0780pDF55*
+ ID_MODEL_FROM_DATABASE=ORGA 900/6000 Smart Card Terminal DFU
+
+usb:v0781*
+ ID_VENDOR_FROM_DATABASE=SanDisk Corp.
+
+usb:v0781p0001*
+ ID_MODEL_FROM_DATABASE=SDDR-05a ImageMate CompactFlash Reader
+
+usb:v0781p0002*
+ ID_MODEL_FROM_DATABASE=SDDR-31 ImageMate II CompactFlash Reader
+
+usb:v0781p0005*
+ ID_MODEL_FROM_DATABASE=SDDR-05b (CF II) ImageMate CompactFlash Reader
+
+usb:v0781p0100*
+ ID_MODEL_FROM_DATABASE=ImageMate SDDR-12
+
+usb:v0781p0200*
+ ID_MODEL_FROM_DATABASE=SDDR-09 (SSFDC) ImageMate SmartMedia Reader [eusb]
+
+usb:v0781p0400*
+ ID_MODEL_FROM_DATABASE=SecureMate SD/MMC Reader
+
+usb:v0781p0621*
+ ID_MODEL_FROM_DATABASE=SDDR-86 Imagemate 6-in-1 Reader
+
+usb:v0781p0720*
+ ID_MODEL_FROM_DATABASE=Sansa C200 series in recovery mode
+
+usb:v0781p0729*
+ ID_MODEL_FROM_DATABASE=Sansa E200 series in recovery mode
+
+usb:v0781p0810*
+ ID_MODEL_FROM_DATABASE=SDDR-75 ImageMate CF-SM Reader
+
+usb:v0781p0830*
+ ID_MODEL_FROM_DATABASE=ImageMate CF/MMC/SD Reader
+
+usb:v0781p1234*
+ ID_MODEL_FROM_DATABASE=Cruzer Mini Flash Drive
+
+usb:v0781p5150*
+ ID_MODEL_FROM_DATABASE=SDCZ2 Cruzer Mini Flash Drive (thin)
+
+usb:v0781p5151*
+ ID_MODEL_FROM_DATABASE=Cruzer Micro Flash Drive
+
+usb:v0781p5153*
+ ID_MODEL_FROM_DATABASE=Cruzer Flash Drive
+
+usb:v0781p5204*
+ ID_MODEL_FROM_DATABASE=Cruzer Crossfire
+
+usb:v0781p5402*
+ ID_MODEL_FROM_DATABASE=U3 Cruzer Micro
+
+usb:v0781p5406*
+ ID_MODEL_FROM_DATABASE=Cruzer Micro U3
+
+usb:v0781p5408*
+ ID_MODEL_FROM_DATABASE=Cruzer Titanium U3
+
+usb:v0781p540E*
+ ID_MODEL_FROM_DATABASE=Cruzer Contour Flash Drive
+
+usb:v0781p5530*
+ ID_MODEL_FROM_DATABASE=Cruzer
+
+usb:v0781p5567*
+ ID_MODEL_FROM_DATABASE=Cruzer Blade
+
+usb:v0781p5571*
+ ID_MODEL_FROM_DATABASE=Cruzer Fit
+
+usb:v0781p5580*
+ ID_MODEL_FROM_DATABASE=SDCZ80 Flash Drive
+
+usb:v0781p5E10*
+ ID_MODEL_FROM_DATABASE=Encrypted
+
+usb:v0781p6100*
+ ID_MODEL_FROM_DATABASE=Ultra II SD Plus 2GB
+
+usb:v0781p7100*
+ ID_MODEL_FROM_DATABASE=Cruzer Mini
+
+usb:v0781p7101*
+ ID_MODEL_FROM_DATABASE=Pen Flash
+
+usb:v0781p7102*
+ ID_MODEL_FROM_DATABASE=Cruzer Mini
+
+usb:v0781p7103*
+ ID_MODEL_FROM_DATABASE=Cruzer Mini
+
+usb:v0781p7104*
+ ID_MODEL_FROM_DATABASE=Cruzer Micro Mini 256MB Flash Drive
+
+usb:v0781p7105*
+ ID_MODEL_FROM_DATABASE=Cruzer Mini
+
+usb:v0781p7106*
+ ID_MODEL_FROM_DATABASE=Cruzer Mini
+
+usb:v0781p7112*
+ ID_MODEL_FROM_DATABASE=Cruzer Micro 128MB Flash Drive
+
+usb:v0781p7113*
+ ID_MODEL_FROM_DATABASE=Cruzer Micro 256MB Flash Drive
+
+usb:v0781p7114*
+ ID_MODEL_FROM_DATABASE=Cruzer Mini
+
+usb:v0781p7115*
+ ID_MODEL_FROM_DATABASE=Cruzer Mini
+
+usb:v0781p7301*
+ ID_MODEL_FROM_DATABASE=Sansa e100 series (mtp)
+
+usb:v0781p7302*
+ ID_MODEL_FROM_DATABASE=Sansa e100 series (msc)
+
+usb:v0781p7400*
+ ID_MODEL_FROM_DATABASE=Sansa M200 series (mtp)
+
+usb:v0781p7401*
+ ID_MODEL_FROM_DATABASE=Sansa M200 series (msc)
+
+usb:v0781p7420*
+ ID_MODEL_FROM_DATABASE=Sansa E200 series (mtp)
+
+usb:v0781p7421*
+ ID_MODEL_FROM_DATABASE=Sansa E200 Series (msc)
+
+usb:v0781p7422*
+ ID_MODEL_FROM_DATABASE=Sansa E200 series v2 (mtp)
+
+usb:v0781p7423*
+ ID_MODEL_FROM_DATABASE=Sansa E200 series v2 (msc)
+
+usb:v0781p7430*
+ ID_MODEL_FROM_DATABASE=Sansa M200 series
+
+usb:v0781p7431*
+ ID_MODEL_FROM_DATABASE=Sansa M200 series V4 (msc)
+
+usb:v0781p7432*
+ ID_MODEL_FROM_DATABASE=Sansa Clip (mtp)
+
+usb:v0781p7433*
+ ID_MODEL_FROM_DATABASE=Sansa Clip (msc)
+
+usb:v0781p7434*
+ ID_MODEL_FROM_DATABASE=Sansa Clip V2 (mtp)
+
+usb:v0781p7435*
+ ID_MODEL_FROM_DATABASE=Sansa Clip V2 (msc)
+
+usb:v0781p7450*
+ ID_MODEL_FROM_DATABASE=Sansa C250
+
+usb:v0781p7451*
+ ID_MODEL_FROM_DATABASE=Sansa C240
+
+usb:v0781p7460*
+ ID_MODEL_FROM_DATABASE=Sansa Express
+
+usb:v0781p7480*
+ ID_MODEL_FROM_DATABASE=Sansa Connect
+
+usb:v0781p7481*
+ ID_MODEL_FROM_DATABASE=Sansa Connect (in recovery mode)
+
+usb:v0781p74B0*
+ ID_MODEL_FROM_DATABASE=Sansa View (msc)
+
+usb:v0781p74B1*
+ ID_MODEL_FROM_DATABASE=Sansa View (mtp)
+
+usb:v0781p74C0*
+ ID_MODEL_FROM_DATABASE=Sansa Fuze (mtp)
+
+usb:v0781p74C1*
+ ID_MODEL_FROM_DATABASE=Sansa Fuze (msc)
+
+usb:v0781p74C2*
+ ID_MODEL_FROM_DATABASE=Sansa Fuze V2 (mtp)
+
+usb:v0781p74C3*
+ ID_MODEL_FROM_DATABASE=Sansa Fuze V2 (msc)
+
+usb:v0781p74D0*
+ ID_MODEL_FROM_DATABASE=Sansa Clip+ (mtp)
+
+usb:v0781p74D1*
+ ID_MODEL_FROM_DATABASE=Sansa Clip+ (msc)
+
+usb:v0781p8181*
+ ID_MODEL_FROM_DATABASE=Pen Flash
+
+usb:v0781p8183*
+ ID_MODEL_FROM_DATABASE=Hi-Speed Mass Storage Device
+
+usb:v0781p8185*
+ ID_MODEL_FROM_DATABASE=SDCZ2 Cruzer Mini Flash Drive (older, thick)
+
+usb:v0781p8888*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v0781p8889*
+ ID_MODEL_FROM_DATABASE=SDDR-88 Imagemate 8-in-1 Reader
+
+usb:v0781p8919*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v0781p8989*
+ ID_MODEL_FROM_DATABASE=ImageMate 12-in-1 Reader
+
+usb:v0781p9191*
+ ID_MODEL_FROM_DATABASE=ImageMate CF
+
+usb:v0781p9219*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v0781p9292*
+ ID_MODEL_FROM_DATABASE=ImageMate CF Reader/Writer
+
+usb:v0781p9393*
+ ID_MODEL_FROM_DATABASE=ImageMate SD-MMC
+
+usb:v0781p9595*
+ ID_MODEL_FROM_DATABASE=ImageMate xD-SM
+
+usb:v0781p9797*
+ ID_MODEL_FROM_DATABASE=ImageMate MS-PRO
+
+usb:v0781p9919*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v0781p9999*
+ ID_MODEL_FROM_DATABASE=SDDR-99 5-in-1 Reader
+
+usb:v0781pA7C1*
+ ID_MODEL_FROM_DATABASE=Storage device (SD card reader)
+
+usb:v0781pA7E8*
+ ID_MODEL_FROM_DATABASE=SDDR-113 MicroMate SDHC Reader
+
+usb:v0781pB2B3*
+ ID_MODEL_FROM_DATABASE=SDDR-103 MobileMate SD+ Reader
+
+usb:v0781pB4B5*
+ ID_MODEL_FROM_DATABASE=SDDR-89 V4 ImageMate 12-in-1 Reader
+
+usb:v0782*
+ ID_VENDOR_FROM_DATABASE=Trackerball
+
+usb:v0783*
+ ID_VENDOR_FROM_DATABASE=C3PO
+
+usb:v0783p0003*
+ ID_MODEL_FROM_DATABASE=LTC31 SmartCard Reader
+
+usb:v0783p0006*
+ ID_MODEL_FROM_DATABASE=LTC31v2
+
+usb:v0783p0009*
+ ID_MODEL_FROM_DATABASE=KBR36
+
+usb:v0783p0010*
+ ID_MODEL_FROM_DATABASE=LTC32
+
+usb:v0784*
+ ID_VENDOR_FROM_DATABASE=Vivitar, Inc.
+
+usb:v0784p0100*
+ ID_MODEL_FROM_DATABASE=Vivicam 2655
+
+usb:v0784p1310*
+ ID_MODEL_FROM_DATABASE=Vivicam 3305
+
+usb:v0784p1688*
+ ID_MODEL_FROM_DATABASE=Vivicam 3665
+
+usb:v0784p1689*
+ ID_MODEL_FROM_DATABASE=Gateway DC-M42/Labtec DC-505/Vivitar Vivicam 3705
+
+usb:v0784p2620*
+ ID_MODEL_FROM_DATABASE=AOL Photocam Plus
+
+usb:v0784p2888*
+ ID_MODEL_FROM_DATABASE=Polaroid DC700
+
+usb:v0784p3330*
+ ID_MODEL_FROM_DATABASE=Nytec ND-3200 Camera
+
+usb:v0784p4300*
+ ID_MODEL_FROM_DATABASE=Traveler D1
+
+usb:v0784p5260*
+ ID_MODEL_FROM_DATABASE=Werlisa Sport PX 100 / JVC GC-A33 Camera
+
+usb:v0784p5300*
+ ID_MODEL_FROM_DATABASE=Pretec dc530
+
+usb:v0785*
+ ID_VENDOR_FROM_DATABASE=NTT-ME
+
+usb:v0785p0001*
+ ID_MODEL_FROM_DATABASE=MN128mini-V ISDN TA
+
+usb:v0785p0003*
+ ID_MODEL_FROM_DATABASE=MN128mini-J ISDN TA
+
+usb:v0789*
+ ID_VENDOR_FROM_DATABASE=Logitec Corp.
+
+usb:v0789p0026*
+ ID_MODEL_FROM_DATABASE=LHD Device
+
+usb:v0789p0033*
+ ID_MODEL_FROM_DATABASE=DVD Multi-plus unit LDR-H443SU2
+
+usb:v0789p0063*
+ ID_MODEL_FROM_DATABASE=LDR Device
+
+usb:v0789p0064*
+ ID_MODEL_FROM_DATABASE=LDR-R Device
+
+usb:v0789p00B3*
+ ID_MODEL_FROM_DATABASE=DVD Multi-plus unit LDR-H443U2
+
+usb:v0789p0105*
+ ID_MODEL_FROM_DATABASE=LAN-TX/U1H2 10/100 Ethernet Adapter [pegasus II]
+
+usb:v0789p010C*
+ ID_MODEL_FROM_DATABASE=Realtek RTL8187 Wireless 802.11g 54Mbps Network Adapter
+
+usb:v0789p0160*
+ ID_MODEL_FROM_DATABASE=LAN-GTJ/U2A
+
+usb:v0789p0162*
+ ID_MODEL_FROM_DATABASE=LAN-WN22/U2 Wireless LAN Adapter
+
+usb:v0789p0163*
+ ID_MODEL_FROM_DATABASE=LAN-WN12/U2 Wireless LAN Adapter
+
+usb:v0789p0164*
+ ID_MODEL_FROM_DATABASE=LAN-W150/U2M Wireless LAN Adapter
+
+usb:v0789p0166*
+ ID_MODEL_FROM_DATABASE=LAN-W300N/U2 Wireless LAN Adapter
+
+usb:v0789p0168*
+ ID_MODEL_FROM_DATABASE=LAN-W150N/U2 Wireless LAN Adapter
+
+usb:v0789p0170*
+ ID_MODEL_FROM_DATABASE=LAN-W300AN/U2 Wireless LAN Adapter
+
+usb:v078B*
+ ID_VENDOR_FROM_DATABASE=Happ Controls, Inc.
+
+usb:v078Bp0010*
+ ID_MODEL_FROM_DATABASE=Driving UGCI
+
+usb:v078Bp0020*
+ ID_MODEL_FROM_DATABASE=Flying UGCI
+
+usb:v078Bp0030*
+ ID_MODEL_FROM_DATABASE=Fighting UGCI
+
+usb:v078C*
+ ID_VENDOR_FROM_DATABASE=GTCO/CalComp
+
+usb:v078Cp0090*
+ ID_MODEL_FROM_DATABASE=Tablet Adapter
+
+usb:v078Cp0100*
+ ID_MODEL_FROM_DATABASE=Tablet Adapter
+
+usb:v078Cp0200*
+ ID_MODEL_FROM_DATABASE=Tablet Adapter
+
+usb:v078Cp0300*
+ ID_MODEL_FROM_DATABASE=Tablet Adapter
+
+usb:v078Cp0400*
+ ID_MODEL_FROM_DATABASE=Digitizer (Whiteboard)
+
+usb:v078E*
+ ID_VENDOR_FROM_DATABASE=Brincom, Inc.
+
+usb:v0790*
+ ID_VENDOR_FROM_DATABASE=Pro-Image Manufacturing Co., Ltd
+
+usb:v0791*
+ ID_VENDOR_FROM_DATABASE=Copartner Wire and Cable Mfg. Corp.
+
+usb:v0792*
+ ID_VENDOR_FROM_DATABASE=Axis Communications AB
+
+usb:v0793*
+ ID_VENDOR_FROM_DATABASE=Wha Yu Industrial Co., Ltd
+
+usb:v0794*
+ ID_VENDOR_FROM_DATABASE=ABL Electronics Corp.
+
+usb:v0795*
+ ID_VENDOR_FROM_DATABASE=RealChip, Inc.
+
+usb:v0796*
+ ID_VENDOR_FROM_DATABASE=Certicom Corp.
+
+usb:v0797*
+ ID_VENDOR_FROM_DATABASE=Grandtech Semiconductor Corp.
+
+usb:v0797p6801*
+ ID_MODEL_FROM_DATABASE=Flatbed Scanner
+
+usb:v0797p6802*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v0797p8001*
+ ID_MODEL_FROM_DATABASE=SmartCam
+
+usb:v0797p801A*
+ ID_MODEL_FROM_DATABASE=Typhoon StyloCam
+
+usb:v0797p801C*
+ ID_MODEL_FROM_DATABASE=Meade Binoculars/Camera
+
+usb:v0797p8901*
+ ID_MODEL_FROM_DATABASE=ScanHex SX-35a
+
+usb:v0797p8909*
+ ID_MODEL_FROM_DATABASE=ScanHex SX-35b
+
+usb:v0797p8911*
+ ID_MODEL_FROM_DATABASE=ScanHex SX-35c
+
+usb:v0798*
+ ID_VENDOR_FROM_DATABASE=Optelec
+
+usb:v0798p0001*
+ ID_MODEL_FROM_DATABASE=Braille Voyager
+
+usb:v0799*
+ ID_VENDOR_FROM_DATABASE=Altera
+
+usb:v0799p7651*
+ ID_MODEL_FROM_DATABASE=Programming Unit
+
+usb:v079B*
+ ID_VENDOR_FROM_DATABASE=Sagem
+
+usb:v079Bp0027*
+ ID_MODEL_FROM_DATABASE=USB-Serial Controller
+
+usb:v079Bp002F*
+ ID_MODEL_FROM_DATABASE=Mobile
+
+usb:v079Bp0030*
+ ID_MODEL_FROM_DATABASE=Mobile Communication Device
+
+usb:v079Bp0042*
+ ID_MODEL_FROM_DATABASE=Mobile
+
+usb:v079Bp004A*
+ ID_MODEL_FROM_DATABASE=XG-760A 802.11bg
+
+usb:v079Bp004B*
+ ID_MODEL_FROM_DATABASE=Wi-Fi 11g adapter
+
+usb:v079Bp0056*
+ ID_MODEL_FROM_DATABASE=Agfa AP1100 Photo Printer
+
+usb:v079Bp005D*
+ ID_MODEL_FROM_DATABASE=Mobile Mass Storage
+
+usb:v079Bp0062*
+ ID_MODEL_FROM_DATABASE=XG-76NA 802.11bg
+
+usb:v079Bp0078*
+ ID_MODEL_FROM_DATABASE=Laser Pro Monochrome MFP
+
+usb:v079D*
+ ID_VENDOR_FROM_DATABASE=Alfadata Computer Corp.
+
+usb:v079Dp0201*
+ ID_MODEL_FROM_DATABASE=GamePort Adapter
+
+usb:v07A1*
+ ID_VENDOR_FROM_DATABASE=Digicom S.p.A.
+
+usb:v07A1pD952*
+ ID_MODEL_FROM_DATABASE=Palladio USB V.92 Modem
+
+usb:v07A2*
+ ID_VENDOR_FROM_DATABASE=National Technical Systems
+
+usb:v07A3*
+ ID_VENDOR_FROM_DATABASE=Onnto Corp.
+
+usb:v07A4*
+ ID_VENDOR_FROM_DATABASE=Be, Inc.
+
+usb:v07A6*
+ ID_VENDOR_FROM_DATABASE=ADMtek, Inc.
+
+usb:v07A6p07C2*
+ ID_MODEL_FROM_DATABASE=AN986A Ethernet
+
+usb:v07A6p0986*
+ ID_MODEL_FROM_DATABASE=AN986 Pegasus Ethernet
+
+usb:v07A6p8266*
+ ID_MODEL_FROM_DATABASE=Infineon WildCard-USB Wireless LAN Adapter
+
+usb:v07A6p8511*
+ ID_MODEL_FROM_DATABASE=ADM8511 Pegasus II Ethernet
+
+usb:v07A6p8513*
+ ID_MODEL_FROM_DATABASE=AN8513 Ethernet
+
+usb:v07A6p8515*
+ ID_MODEL_FROM_DATABASE=AN8515 Ethernet
+
+usb:v07AA*
+ ID_VENDOR_FROM_DATABASE=Corega K.K.
+
+usb:v07AAp0001*
+ ID_MODEL_FROM_DATABASE=Ether USB-T Ethernet [klsi]
+
+usb:v07AAp0004*
+ ID_MODEL_FROM_DATABASE=FEther USB-TX Ethernet [pegasus]
+
+usb:v07AAp000C*
+ ID_MODEL_FROM_DATABASE=WirelessLAN USB-11
+
+usb:v07AAp000D*
+ ID_MODEL_FROM_DATABASE=FEther USB-TXS
+
+usb:v07AAp0011*
+ ID_MODEL_FROM_DATABASE=Wireless LAN USB-11 mini
+
+usb:v07AAp0012*
+ ID_MODEL_FROM_DATABASE=Stick-11 802.11b Adapter
+
+usb:v07AAp0017*
+ ID_MODEL_FROM_DATABASE=FEther USB2-TX
+
+usb:v07AAp0018*
+ ID_MODEL_FROM_DATABASE=Wireless LAN USB-11 mini 2
+
+usb:v07AAp001A*
+ ID_MODEL_FROM_DATABASE=ULUSB-11 Key
+
+usb:v07AAp001C*
+ ID_MODEL_FROM_DATABASE=CG-WLUSB2GTST 802.11g Wireless Adapter [Intersil ISL3887]
+
+usb:v07AAp002E*
+ ID_MODEL_FROM_DATABASE=CG-WLUSB2GPX [Ralink RT2571W]
+
+usb:v07AAp002F*
+ ID_MODEL_FROM_DATABASE=CG-WLUSB2GNL
+
+usb:v07AAp0031*
+ ID_MODEL_FROM_DATABASE=CG-WLUSB2GS 802.11bg [Atheros AR5523]
+
+usb:v07AAp003C*
+ ID_MODEL_FROM_DATABASE=CG-WLUSB2GNL
+
+usb:v07AAp003F*
+ ID_MODEL_FROM_DATABASE=CG-WLUSB300AGN
+
+usb:v07AAp0041*
+ ID_MODEL_FROM_DATABASE=CG-WLUSB300GNS
+
+usb:v07AAp0042*
+ ID_MODEL_FROM_DATABASE=CG-WLUSB300GNM
+
+usb:v07AAp0043*
+ ID_MODEL_FROM_DATABASE=CG-WLUSB300N rev A2 [Realtek RTL8192U]
+
+usb:v07AAp0047*
+ ID_MODEL_FROM_DATABASE=CG-WLUSBNM
+
+usb:v07AAp0051*
+ ID_MODEL_FROM_DATABASE=CG-WLUSB300NM
+
+usb:v07AAp7613*
+ ID_MODEL_FROM_DATABASE=Stick-11 V2 802.11b Adapter
+
+usb:v07AAp9601*
+ ID_MODEL_FROM_DATABASE=FEther USB-TXC
+
+usb:v07AB*
+ ID_VENDOR_FROM_DATABASE=Freecom Technologies
+
+usb:v07ABpFC01*
+ ID_MODEL_FROM_DATABASE=IDE bridge
+
+usb:v07ABpFC02*
+ ID_MODEL_FROM_DATABASE=Cable II USB-2
+
+usb:v07ABpFC03*
+ ID_MODEL_FROM_DATABASE=USB2-IDE IDE bridge
+
+usb:v07ABpFCD6*
+ ID_MODEL_FROM_DATABASE=Freecom HD Classic
+
+usb:v07ABpFCF6*
+ ID_MODEL_FROM_DATABASE=DataBar 512 MB
+
+usb:v07ABpFCF8*
+ ID_MODEL_FROM_DATABASE=Freecom Classic SL Network Drive
+
+usb:v07ABpFCFE*
+ ID_MODEL_FROM_DATABASE=Hard Drive 80GB
+
+usb:v07AF*
+ ID_VENDOR_FROM_DATABASE=Microtech
+
+usb:v07AFp0004*
+ ID_MODEL_FROM_DATABASE=SCSI-DB25 SCSI Bridge [shuttle]
+
+usb:v07AFp0005*
+ ID_MODEL_FROM_DATABASE=SCSI-HD50 SCSI Bridge [shuttle]
+
+usb:v07AFp0006*
+ ID_MODEL_FROM_DATABASE=CameraMate SmartMedia and CompactFlash Card Reader [eusb/shuttle]
+
+usb:v07AFpFC01*
+ ID_MODEL_FROM_DATABASE=Freecom USB-IDE
+
+usb:v07B0*
+ ID_VENDOR_FROM_DATABASE=Trust Technologies
+
+usb:v07B0p0001*
+ ID_MODEL_FROM_DATABASE=ISDN TA
+
+usb:v07B0p0002*
+ ID_MODEL_FROM_DATABASE=ISDN TA128 Plus
+
+usb:v07B0p0003*
+ ID_MODEL_FROM_DATABASE=ISDN TA128 Deluxe
+
+usb:v07B0p0005*
+ ID_MODEL_FROM_DATABASE=ISDN TA128 SE
+
+usb:v07B0p0006*
+ ID_MODEL_FROM_DATABASE=ISDN TA128 CE
+
+usb:v07B0p0007*
+ ID_MODEL_FROM_DATABASE=ISDN TA
+
+usb:v07B0p0008*
+ ID_MODEL_FROM_DATABASE=ISDN TA
+
+usb:v07B1*
+ ID_VENDOR_FROM_DATABASE=IMP, Inc.
+
+usb:v07B2*
+ ID_VENDOR_FROM_DATABASE=Motorola BCS, Inc.
+
+usb:v07B2p0100*
+ ID_MODEL_FROM_DATABASE=SURFboard Voice over IP Cable Modem
+
+usb:v07B2p0900*
+ ID_MODEL_FROM_DATABASE=SURFboard Gateway
+
+usb:v07B2p0950*
+ ID_MODEL_FROM_DATABASE=SURFboard SBG950 Gateway
+
+usb:v07B2p1000*
+ ID_MODEL_FROM_DATABASE=SURFboard SBG1000 Gateway
+
+usb:v07B2p4100*
+ ID_MODEL_FROM_DATABASE=SurfBoard SB4100 Cable Modem
+
+usb:v07B2p4200*
+ ID_MODEL_FROM_DATABASE=SurfBoard SB4200 Cable Modem
+
+usb:v07B2p4210*
+ ID_MODEL_FROM_DATABASE=SurfBoard 4210 Cable Modem
+
+usb:v07B2p4220*
+ ID_MODEL_FROM_DATABASE=SURFboard SB4220 Cable Modem
+
+usb:v07B2p4500*
+ ID_MODEL_FROM_DATABASE=CG4500 Communications Gateway
+
+usb:v07B2p450B*
+ ID_MODEL_FROM_DATABASE=CG4501 Communications Gateway
+
+usb:v07B2p450E*
+ ID_MODEL_FROM_DATABASE=CG4500E Communications Gateway
+
+usb:v07B2p5100*
+ ID_MODEL_FROM_DATABASE=SurfBoard SB5100 Cable Modem
+
+usb:v07B2p5101*
+ ID_MODEL_FROM_DATABASE=SurfBoard SB5101 Cable Modem
+
+usb:v07B2p5120*
+ ID_MODEL_FROM_DATABASE=SurfBoard SB5120 Cable Modem (RNDIS)
+
+usb:v07B2p5121*
+ ID_MODEL_FROM_DATABASE=Surfboard 5121 Cable Modem
+
+usb:v07B2p7030*
+ ID_MODEL_FROM_DATABASE=WU830G 802.11bg Wireless Adapter [Envara WiND512]
+
+usb:v07B3*
+ ID_VENDOR_FROM_DATABASE=Plustek, Inc.
+
+usb:v07B3p0001*
+ ID_MODEL_FROM_DATABASE=OpticPro 1212U Scanner
+
+usb:v07B3p0003*
+ ID_MODEL_FROM_DATABASE=Scanner
+
+usb:v07B3p0010*
+ ID_MODEL_FROM_DATABASE=OpticPro U12 Scanner
+
+usb:v07B3p0011*
+ ID_MODEL_FROM_DATABASE=OpticPro U24 Scanner
+
+usb:v07B3p0013*
+ ID_MODEL_FROM_DATABASE=OpticPro UT12 Scanner
+
+usb:v07B3p0014*
+ ID_MODEL_FROM_DATABASE=Scanner
+
+usb:v07B3p0015*
+ ID_MODEL_FROM_DATABASE=OpticPro U24 Scanner
+
+usb:v07B3p0017*
+ ID_MODEL_FROM_DATABASE=OpticPro UT12/16/24 Scanner
+
+usb:v07B3p0204*
+ ID_MODEL_FROM_DATABASE=Scanner
+
+usb:v07B3p0400*
+ ID_MODEL_FROM_DATABASE=OpticPro 1248U Scanner
+
+usb:v07B3p0401*
+ ID_MODEL_FROM_DATABASE=OpticPro 1248U Scanner #2
+
+usb:v07B3p0403*
+ ID_MODEL_FROM_DATABASE=OpticPro U16B Scanner
+
+usb:v07B3p0404*
+ ID_MODEL_FROM_DATABASE=Scanner
+
+usb:v07B3p0405*
+ ID_MODEL_FROM_DATABASE=A8 Namecard-s Controller
+
+usb:v07B3p0406*
+ ID_MODEL_FROM_DATABASE=A8 Namecard-D Controller
+
+usb:v07B3p0410*
+ ID_MODEL_FROM_DATABASE=Scanner
+
+usb:v07B3p0412*
+ ID_MODEL_FROM_DATABASE=Scanner
+
+usb:v07B3p0413*
+ ID_MODEL_FROM_DATABASE=OpticSlim 1200 Scanner
+
+usb:v07B3p0601*
+ ID_MODEL_FROM_DATABASE=OpticPro ST24 Scanner
+
+usb:v07B3p0800*
+ ID_MODEL_FROM_DATABASE=OpticPro ST48 Scanner
+
+usb:v07B3p0900*
+ ID_MODEL_FROM_DATABASE=OpticBook 3600 Scanner
+
+usb:v07B3p090C*
+ ID_MODEL_FROM_DATABASE=OpticBook 3600 Plus Scanner
+
+usb:v07B3p0A06*
+ ID_MODEL_FROM_DATABASE=TVcam VD100
+
+usb:v07B3p0B00*
+ ID_MODEL_FROM_DATABASE=SmartPhoto F50
+
+usb:v07B3p0C03*
+ ID_MODEL_FROM_DATABASE=OpticPro ST64+ Scanner
+
+usb:v07B3p0C04*
+ ID_MODEL_FROM_DATABASE=Optic Film 7200i scanner
+
+usb:v07B3p0C0C*
+ ID_MODEL_FROM_DATABASE=PL806 Scanner
+
+usb:v07B3p0C26*
+ ID_MODEL_FROM_DATABASE=OpticBook 4600 Scanner
+
+usb:v07B3p0C2B*
+ ID_MODEL_FROM_DATABASE=Mobile Office D428 Scanner
+
+usb:v07B3p0E08*
+ ID_MODEL_FROM_DATABASE=Plustek OpticBook A300 Scanner
+
+usb:v07B3p1300*
+ ID_MODEL_FROM_DATABASE=OpticBook 3800 Scanner
+
+usb:v07B3p1301*
+ ID_MODEL_FROM_DATABASE=OpticBook 4800 Scanner
+
+usb:v07B4*
+ ID_VENDOR_FROM_DATABASE=Olympus Optical Co., Ltd
+
+usb:v07B4p0100*
+ ID_MODEL_FROM_DATABASE=Camedia C-2100/C-3000 Ultra Zoom Camera
+
+usb:v07B4p0102*
+ ID_MODEL_FROM_DATABASE=Camedia E-10/C-220/C-50 Camera
+
+usb:v07B4p0105*
+ ID_MODEL_FROM_DATABASE=Camedia C-310Z/C-700/C-750UZ/C-755/C-765UZ/C-3040/C-4000/C-5050Z/D-560/C-3020Z Zoom Camera
+
+usb:v07B4p0109*
+ ID_MODEL_FROM_DATABASE=C-370Z/C-500Z/D-535Z/X-450
+
+usb:v07B4p010A*
+ ID_MODEL_FROM_DATABASE=MAUSB-10 xD and SmartMedia Card Reader
+
+usb:v07B4p0112*
+ ID_MODEL_FROM_DATABASE=MAUSB-100 xD Card Reader
+
+usb:v07B4p0113*
+ ID_MODEL_FROM_DATABASE=Mju 500
+
+usb:v07B4p0114*
+ ID_MODEL_FROM_DATABASE=C-350Z Camera
+
+usb:v07B4p0118*
+ ID_MODEL_FROM_DATABASE=Mju Mini Digital/Mju Digital 500 Camera / Stylus 850 SW
+
+usb:v07B4p0184*
+ ID_MODEL_FROM_DATABASE=P-S100 port
+
+usb:v07B4p0203*
+ ID_MODEL_FROM_DATABASE=Digital Voice Recorder DW-90
+
+usb:v07B4p0206*
+ ID_MODEL_FROM_DATABASE=Digital Voice Recorder DS-330
+
+usb:v07B4p0207*
+ ID_MODEL_FROM_DATABASE=Digital Voice Recorder & Camera W-10
+
+usb:v07B4p0209*
+ ID_MODEL_FROM_DATABASE=Digital Voice Recorder DM-20
+
+usb:v07B4p020D*
+ ID_MODEL_FROM_DATABASE=Digital Voice Recorder VN-240PC
+
+usb:v07B4p0244*
+ ID_MODEL_FROM_DATABASE=Digital Voice Recorder VN-8500PC
+
+usb:v07B4p0280*
+ ID_MODEL_FROM_DATABASE=m:robe 100
+
+usb:v07B5*
+ ID_VENDOR_FROM_DATABASE=Mega World International, Ltd
+
+usb:v07B5p0017*
+ ID_MODEL_FROM_DATABASE=Joystick
+
+usb:v07B5p0213*
+ ID_MODEL_FROM_DATABASE=Thrustmaster Firestorm Digital 3 Gamepad
+
+usb:v07B5p0312*
+ ID_MODEL_FROM_DATABASE=Gamepad
+
+usb:v07B5p9902*
+ ID_MODEL_FROM_DATABASE=GamePad
+
+usb:v07B6*
+ ID_VENDOR_FROM_DATABASE=Marubun Corp.
+
+usb:v07B7*
+ ID_VENDOR_FROM_DATABASE=TIME Interconnect, Ltd
+
+usb:v07B8*
+ ID_VENDOR_FROM_DATABASE=AboCom Systems Inc
+
+usb:v07B8p110C*
+ ID_MODEL_FROM_DATABASE=XX1
+
+usb:v07B8p1201*
+ ID_MODEL_FROM_DATABASE=IEEE 802.11b Adapter
+
+usb:v07B8p200C*
+ ID_MODEL_FROM_DATABASE=XX2
+
+usb:v07B8p2573*
+ ID_MODEL_FROM_DATABASE=Wireless LAN Card
+
+usb:v07B8p2770*
+ ID_MODEL_FROM_DATABASE=802.11n/b/g Mini Wireless LAN USB2.0 Adapter
+
+usb:v07B8p2870*
+ ID_MODEL_FROM_DATABASE=802.11n/b/g Wireless LAN USB2.0 Adapter
+
+usb:v07B8p3070*
+ ID_MODEL_FROM_DATABASE=802.11n/b/g Mini Wireless LAN USB2.0 Adapter
+
+usb:v07B8p3071*
+ ID_MODEL_FROM_DATABASE=802.11n/b/g Mini Wireless LAN USB2.0 Adapter
+
+usb:v07B8p3072*
+ ID_MODEL_FROM_DATABASE=802.11n/b/g Mini Wireless LAN USB2.0 Adapter
+
+usb:v07B8p4000*
+ ID_MODEL_FROM_DATABASE=DU-E10 Ethernet [klsi]
+
+usb:v07B8p4002*
+ ID_MODEL_FROM_DATABASE=DU-E100 Ethernet [pegasus]
+
+usb:v07B8p4003*
+ ID_MODEL_FROM_DATABASE=1/10/100 Ethernet Adapter
+
+usb:v07B8p4004*
+ ID_MODEL_FROM_DATABASE=XX4
+
+usb:v07B8p4007*
+ ID_MODEL_FROM_DATABASE=XX5
+
+usb:v07B8p400B*
+ ID_MODEL_FROM_DATABASE=XX6
+
+usb:v07B8p400C*
+ ID_MODEL_FROM_DATABASE=XX7
+
+usb:v07B8p401A*
+ ID_MODEL_FROM_DATABASE=RTL8151
+
+usb:v07B8p4102*
+ ID_MODEL_FROM_DATABASE=USB 1.1 10/100M Fast Ethernet Adapter
+
+usb:v07B8p4104*
+ ID_MODEL_FROM_DATABASE=XX9
+
+usb:v07B8p420A*
+ ID_MODEL_FROM_DATABASE=UF200 Ethernet
+
+usb:v07B8p5301*
+ ID_MODEL_FROM_DATABASE=GW-US54ZGL 802.11bg
+
+usb:v07B8p6001*
+ ID_MODEL_FROM_DATABASE=802.11bg
+
+usb:v07B8pA001*
+ ID_MODEL_FROM_DATABASE=WUG2200 802.11g Wireless Adapter [Envara WiND512]
+
+usb:v07B8pABC1*
+ ID_MODEL_FROM_DATABASE=DU-E10 Ethernet [pegasus]
+
+usb:v07B8pB000*
+ ID_MODEL_FROM_DATABASE=BWU613
+
+usb:v07B8pB02A*
+ ID_MODEL_FROM_DATABASE=AboCom Bluetooth Device
+
+usb:v07B8pB02B*
+ ID_MODEL_FROM_DATABASE=Bluetooth dongle
+
+usb:v07B8pB02C*
+ ID_MODEL_FROM_DATABASE=BCM92045DG-Flash with trace filter
+
+usb:v07B8pB02D*
+ ID_MODEL_FROM_DATABASE=BCM92045DG-Flash with trace filter
+
+usb:v07B8pB02E*
+ ID_MODEL_FROM_DATABASE=BCM92045DG-Flash with trace filter
+
+usb:v07B8pB030*
+ ID_MODEL_FROM_DATABASE=BCM92045DG-Flash with trace filter
+
+usb:v07B8pB031*
+ ID_MODEL_FROM_DATABASE=BCM92045DG-Flash with trace filter
+
+usb:v07B8pB032*
+ ID_MODEL_FROM_DATABASE=BCM92045DG-Flash with trace filter
+
+usb:v07B8pB033*
+ ID_MODEL_FROM_DATABASE=BCM92045DG-Flash with trace filter
+
+usb:v07B8pB21A*
+ ID_MODEL_FROM_DATABASE=WUG2400 802.11g Wireless Adapter [Texas Instruments TNETW1450]
+
+usb:v07B8pB21B*
+ ID_MODEL_FROM_DATABASE=HWU54DM
+
+usb:v07B8pB21C*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v07B8pB21D*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v07B8pB21E*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v07B8pB21F*
+ ID_MODEL_FROM_DATABASE=WUG2700
+
+usb:v07B8pD011*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v07B8pE001*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v07B8pE002*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v07B8pE003*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v07B8pE004*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v07B8pE005*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v07B8pE006*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v07B8pE007*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v07B8pE008*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v07B8pE009*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v07B8pE00A*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v07B8pE4F0*
+ ID_MODEL_FROM_DATABASE=Card Reader Driver
+
+usb:v07B8pF101*
+ ID_MODEL_FROM_DATABASE=DSB-560 Modem [atlas]
+
+usb:v07BC*
+ ID_VENDOR_FROM_DATABASE=Canon Computer Systems, Inc.
+
+usb:v07BD*
+ ID_VENDOR_FROM_DATABASE=Webgear, Inc.
+
+usb:v07BE*
+ ID_VENDOR_FROM_DATABASE=Veridicom
+
+usb:v07C0*
+ ID_VENDOR_FROM_DATABASE=Code Mercenaries Hard- und Software GmbH
+
+usb:v07C0p1113*
+ ID_MODEL_FROM_DATABASE=JoyWarrior24F8
+
+usb:v07C0p1116*
+ ID_MODEL_FROM_DATABASE=JoyWarrior24F14
+
+usb:v07C0p1121*
+ ID_MODEL_FROM_DATABASE=The Claw
+
+usb:v07C0p1500*
+ ID_MODEL_FROM_DATABASE=IO-Warrior 40
+
+usb:v07C0p1501*
+ ID_MODEL_FROM_DATABASE=IO-Warrior 24
+
+usb:v07C0p1502*
+ ID_MODEL_FROM_DATABASE=IO-Warrior 48
+
+usb:v07C0p1503*
+ ID_MODEL_FROM_DATABASE=IO-Warrior 28
+
+usb:v07C0p1511*
+ ID_MODEL_FROM_DATABASE=IO-Warrior 24 Power Vampire
+
+usb:v07C0p1512*
+ ID_MODEL_FROM_DATABASE=IO-Warrior 24 Power Vampire
+
+usb:v07C1*
+ ID_VENDOR_FROM_DATABASE=Keisokugiken
+
+usb:v07C1p0068*
+ ID_MODEL_FROM_DATABASE=HKS-0200 USBDAQ
+
+usb:v07C4*
+ ID_VENDOR_FROM_DATABASE=Datafab Systems, Inc.
+
+usb:v07C4p0102*
+ ID_MODEL_FROM_DATABASE=USB to LS120
+
+usb:v07C4p0103*
+ ID_MODEL_FROM_DATABASE=USB to IDE
+
+usb:v07C4p1234*
+ ID_MODEL_FROM_DATABASE=USB to ATAPI
+
+usb:v07C4pA000*
+ ID_MODEL_FROM_DATABASE=CompactFlash Card Reader
+
+usb:v07C4pA001*
+ ID_MODEL_FROM_DATABASE=CompactFlash & SmartMedia Card Reader [eusb]
+
+usb:v07C4pA002*
+ ID_MODEL_FROM_DATABASE=Disk Drive
+
+usb:v07C4pA003*
+ ID_MODEL_FROM_DATABASE=Datafab-based Reader
+
+usb:v07C4pA004*
+ ID_MODEL_FROM_DATABASE=USB to MMC Class Drive
+
+usb:v07C4pA005*
+ ID_MODEL_FROM_DATABASE=CompactFlash & SmartMedia Card Reader
+
+usb:v07C4pA006*
+ ID_MODEL_FROM_DATABASE=SmartMedia Card Reader
+
+usb:v07C4pA007*
+ ID_MODEL_FROM_DATABASE=Memory Stick Class Drive
+
+usb:v07C4pA103*
+ ID_MODEL_FROM_DATABASE=MDSM-B reader
+
+usb:v07C4pA107*
+ ID_MODEL_FROM_DATABASE=USB to Memory Stick (LC1) Drive
+
+usb:v07C4pA109*
+ ID_MODEL_FROM_DATABASE=LC1 CompactFlash & SmartMedia Card Reader
+
+usb:v07C4pA10B*
+ ID_MODEL_FROM_DATABASE=USB to CF+MS(LC1)
+
+usb:v07C4pA200*
+ ID_MODEL_FROM_DATABASE=DF-UT-06 Hama MMC/SD Reader
+
+usb:v07C4pA400*
+ ID_MODEL_FROM_DATABASE=CompactFlash & Microdrive Reader
+
+usb:v07C4pA600*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v07C4pAD01*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v07C4pAE01*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v07C4pAF01*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v07C4pB000*
+ ID_MODEL_FROM_DATABASE=USB to CF(LC1)
+
+usb:v07C4pB001*
+ ID_MODEL_FROM_DATABASE=USB to CF+PCMCIA
+
+usb:v07C4pB004*
+ ID_MODEL_FROM_DATABASE=MMC/SD Reader
+
+usb:v07C4pB006*
+ ID_MODEL_FROM_DATABASE=USB to PCMCIA
+
+usb:v07C4pB00A*
+ ID_MODEL_FROM_DATABASE=USB to CF+SD Drive(LC1)
+
+usb:v07C4pB00B*
+ ID_MODEL_FROM_DATABASE=USB to Memory Stick(LC1)
+
+usb:v07C4pC010*
+ ID_MODEL_FROM_DATABASE=Kingston FCR-HS2/ATA Card Reader
+
+usb:v07C5*
+ ID_VENDOR_FROM_DATABASE=APG Cash Drawer
+
+usb:v07C6*
+ ID_VENDOR_FROM_DATABASE=ShareWave, Inc.
+
+usb:v07C6p0002*
+ ID_MODEL_FROM_DATABASE=Bodega Wireless Access Point
+
+usb:v07C6p0003*
+ ID_MODEL_FROM_DATABASE=Bodega Wireless Network Adapter
+
+usb:v07C7*
+ ID_VENDOR_FROM_DATABASE=Powertech Industrial Co., Ltd
+
+usb:v07C8*
+ ID_VENDOR_FROM_DATABASE=B.U.G., Inc.
+
+usb:v07C8p0202*
+ ID_MODEL_FROM_DATABASE=MN128-SOHO PAL
+
+usb:v07C9*
+ ID_VENDOR_FROM_DATABASE=Allied Telesyn International
+
+usb:v07C9pB100*
+ ID_MODEL_FROM_DATABASE=AT-USB100
+
+usb:v07CA*
+ ID_VENDOR_FROM_DATABASE=AVerMedia Technologies, Inc.
+
+usb:v07CAp0002*
+ ID_MODEL_FROM_DATABASE=AVerTV PVR USB/EZMaker Pro Device
+
+usb:v07CAp0026*
+ ID_MODEL_FROM_DATABASE=AVerTV
+
+usb:v07CAp0337*
+ ID_MODEL_FROM_DATABASE=A867 DVB-T dongle
+
+usb:v07CAp0837*
+ ID_MODEL_FROM_DATABASE=H837 Hybrid ATSC/QAM
+
+usb:v07CAp1228*
+ ID_MODEL_FROM_DATABASE=MPEG-2 Capture Device (M038)
+
+usb:v07CAp1830*
+ ID_MODEL_FROM_DATABASE=AVerTV Volar Video Capture (H830)
+
+usb:v07CAp3835*
+ ID_MODEL_FROM_DATABASE=AVerTV Volar Green HD (A835B)
+
+usb:v07CAp850A*
+ ID_MODEL_FROM_DATABASE=AverTV Volar Black HD (A850)
+
+usb:v07CAp850B*
+ ID_MODEL_FROM_DATABASE=AverTV Red HD+ (A850T)
+
+usb:v07CApA309*
+ ID_MODEL_FROM_DATABASE=AVerTV DVB-T (A309)
+
+usb:v07CApA801*
+ ID_MODEL_FROM_DATABASE=AVerTV DVB-T (A800)
+
+usb:v07CApA815*
+ ID_MODEL_FROM_DATABASE=AVerTV DVB-T Volar X (A815)
+
+usb:v07CApA827*
+ ID_MODEL_FROM_DATABASE=AVerTV Hybrid Volar HX (A827)
+
+usb:v07CApA867*
+ ID_MODEL_FROM_DATABASE=AVerTV DVB-T (A867)
+
+usb:v07CApB800*
+ ID_MODEL_FROM_DATABASE=MR800 FM Radio
+
+usb:v07CApE880*
+ ID_MODEL_FROM_DATABASE=MPEG-2 Capture Device (E880)
+
+usb:v07CApE882*
+ ID_MODEL_FROM_DATABASE=MPEG-2 Capture Device (E882)
+
+usb:v07CB*
+ ID_VENDOR_FROM_DATABASE=Kingmax Technology, Inc.
+
+usb:v07CC*
+ ID_VENDOR_FROM_DATABASE=Carry Computer Eng., Co., Ltd
+
+usb:v07CCp0000*
+ ID_MODEL_FROM_DATABASE=CF Card Reader
+
+usb:v07CCp0001*
+ ID_MODEL_FROM_DATABASE=Reader (UICSE)
+
+usb:v07CCp0002*
+ ID_MODEL_FROM_DATABASE=Reader (UIS)
+
+usb:v07CCp0003*
+ ID_MODEL_FROM_DATABASE=SM Card Reader
+
+usb:v07CCp0004*
+ ID_MODEL_FROM_DATABASE=SM/CF/PCMCIA Card Reader
+
+usb:v07CCp0005*
+ ID_MODEL_FROM_DATABASE=Reader (UISA2SE)
+
+usb:v07CCp0006*
+ ID_MODEL_FROM_DATABASE=SM/CF/PCMCIA Card Reader
+
+usb:v07CCp0007*
+ ID_MODEL_FROM_DATABASE=Reader (UISA6SE)
+
+usb:v07CCp000C*
+ ID_MODEL_FROM_DATABASE=SM/CF Card Reader
+
+usb:v07CCp000D*
+ ID_MODEL_FROM_DATABASE=SM/CF Card Reader
+
+usb:v07CCp000E*
+ ID_MODEL_FROM_DATABASE=Reader (UISDA)
+
+usb:v07CCp000F*
+ ID_MODEL_FROM_DATABASE=Reader (UICLIK)
+
+usb:v07CCp0010*
+ ID_MODEL_FROM_DATABASE=Reader (UISMA)
+
+usb:v07CCp0012*
+ ID_MODEL_FROM_DATABASE=Reader (UISC6SE-FLASH)
+
+usb:v07CCp0014*
+ ID_MODEL_FROM_DATABASE=Litronic Fortezza Reader
+
+usb:v07CCp0030*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UISDMC12S)
+
+usb:v07CCp0040*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UISDMC13S)
+
+usb:v07CCp0100*
+ ID_MODEL_FROM_DATABASE=Reader (UID)
+
+usb:v07CCp0101*
+ ID_MODEL_FROM_DATABASE=Reader (UIM)
+
+usb:v07CCp0102*
+ ID_MODEL_FROM_DATABASE=Reader (UISDMA)
+
+usb:v07CCp0103*
+ ID_MODEL_FROM_DATABASE=Reader (UISDMC)
+
+usb:v07CCp0104*
+ ID_MODEL_FROM_DATABASE=Reader (UISDM)
+
+usb:v07CCp0200*
+ ID_MODEL_FROM_DATABASE=6-in-1 Card Reader
+
+usb:v07CCp0201*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UISDMC1S & UISDMC3S)
+
+usb:v07CCp0202*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UISDMC5S)
+
+usb:v07CCp0203*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UISMC5S)
+
+usb:v07CCp0204*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UIM4/5S & UIM7S)
+
+usb:v07CCp0205*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UIS4/5S & UIS7S)
+
+usb:v07CCp0206*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UISDMC10S & UISDMC11S)
+
+usb:v07CCp0207*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UPIDMA)
+
+usb:v07CCp0208*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UCFC II)
+
+usb:v07CCp0210*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UPIXXA)
+
+usb:v07CCp0213*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UPIDA)
+
+usb:v07CCp0214*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UPIMA)
+
+usb:v07CCp0215*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UPISA)
+
+usb:v07CCp0217*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UPISDMA)
+
+usb:v07CCp0223*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UCIDA)
+
+usb:v07CCp0224*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UCIMA)
+
+usb:v07CCp0225*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UIS7S)
+
+usb:v07CCp0227*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UCIDMA)
+
+usb:v07CCp0234*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UIM7S)
+
+usb:v07CCp0235*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UIS4S-S)
+
+usb:v07CCp0237*
+ ID_MODEL_FROM_DATABASE=Velper (UISDMC4S)
+
+usb:v07CCp0300*
+ ID_MODEL_FROM_DATABASE=6-in-1 Card Reader
+
+usb:v07CCp0301*
+ ID_MODEL_FROM_DATABASE=6-in-1 Card Reader
+
+usb:v07CCp0303*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UID10W)
+
+usb:v07CCp0304*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UIM10W)
+
+usb:v07CCp0305*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UIS10W)
+
+usb:v07CCp0308*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UIC10W)
+
+usb:v07CCp0309*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UISC3W)
+
+usb:v07CCp0310*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UISDMA2W)
+
+usb:v07CCp0311*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UISDMC14W)
+
+usb:v07CCp0320*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UISDMC4W)
+
+usb:v07CCp0321*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UISDMC37W)
+
+usb:v07CCp0330*
+ ID_MODEL_FROM_DATABASE=WINTERREADER Reader
+
+usb:v07CCp0350*
+ ID_MODEL_FROM_DATABASE=9-in-1 Card Reader
+
+usb:v07CCp0500*
+ ID_MODEL_FROM_DATABASE=Mass Storage
+
+usb:v07CCp0501*
+ ID_MODEL_FROM_DATABASE=Mass Storage
+
+usb:v07CD*
+ ID_VENDOR_FROM_DATABASE=Elektor
+
+usb:v07CDp0001*
+ ID_MODEL_FROM_DATABASE=USBuart Serial Port
+
+usb:v07CF*
+ ID_VENDOR_FROM_DATABASE=Casio Computer Co., Ltd
+
+usb:v07CFp1001*
+ ID_MODEL_FROM_DATABASE=QV-8000SX/5700/3000EX Digicam; Exilim EX-M20
+
+usb:v07CFp1003*
+ ID_MODEL_FROM_DATABASE=Exilim EX-S500
+
+usb:v07CFp1004*
+ ID_MODEL_FROM_DATABASE=Exilim EX-Z120
+
+usb:v07CFp1011*
+ ID_MODEL_FROM_DATABASE=USB-CASIO PC CAMERA
+
+usb:v07CFp1116*
+ ID_MODEL_FROM_DATABASE=EXILIM EX-Z19
+
+usb:v07CFp1125*
+ ID_MODEL_FROM_DATABASE=Exilim EX-H10 Digital Camera (mass storage mode)
+
+usb:v07CFp1133*
+ ID_MODEL_FROM_DATABASE=Exilim EX-Z350 Digital Camera (mass storage mode)
+
+usb:v07CFp1225*
+ ID_MODEL_FROM_DATABASE=Exilim EX-H10 Digital Camera (PictBridge mode)
+
+usb:v07CFp1233*
+ ID_MODEL_FROM_DATABASE=Exilim EX-Z350 Digital Camera (PictBridge mode)
+
+usb:v07CFp2002*
+ ID_MODEL_FROM_DATABASE=E-125 Cassiopeia Pocket PC
+
+usb:v07CFp3801*
+ ID_MODEL_FROM_DATABASE=WMP-1 MP3-Watch
+
+usb:v07CFp4001*
+ ID_MODEL_FROM_DATABASE=Label Printer KL-P1000
+
+usb:v07CFp4007*
+ ID_MODEL_FROM_DATABASE=CW50 Device
+
+usb:v07CFp4104*
+ ID_MODEL_FROM_DATABASE=Cw75 Device
+
+usb:v07CFp4107*
+ ID_MODEL_FROM_DATABASE=CW-L300 Device
+
+usb:v07CFp4500*
+ ID_MODEL_FROM_DATABASE=LV-20 Digital Camera
+
+usb:v07CFp6801*
+ ID_MODEL_FROM_DATABASE=PL-40R
+
+usb:v07CFp6802*
+ ID_MODEL_FROM_DATABASE=MIDI Keyboard
+
+usb:v07D0*
+ ID_VENDOR_FROM_DATABASE=Dazzle
+
+usb:v07D0p0001*
+ ID_MODEL_FROM_DATABASE=Digital Video Creator I
+
+usb:v07D0p0002*
+ ID_MODEL_FROM_DATABASE=Global Village VideoFX Grabber
+
+usb:v07D0p0003*
+ ID_MODEL_FROM_DATABASE=Fusion Model DVC-50 Rev 1 (NTSC)
+
+usb:v07D0p0004*
+ ID_MODEL_FROM_DATABASE=DVC-800 (PAL) Grabber
+
+usb:v07D0p0005*
+ ID_MODEL_FROM_DATABASE=Fusion Video and Audio Ports
+
+usb:v07D0p0006*
+ ID_MODEL_FROM_DATABASE=DVC 150 Loader Device
+
+usb:v07D0p0007*
+ ID_MODEL_FROM_DATABASE=DVC 150
+
+usb:v07D0p0327*
+ ID_MODEL_FROM_DATABASE=Fusion Digital Media Reader
+
+usb:v07D0p1001*
+ ID_MODEL_FROM_DATABASE=DM-FLEX DFU Adapter
+
+usb:v07D0p1002*
+ ID_MODEL_FROM_DATABASE=DMHS2 DFU Adapter
+
+usb:v07D0p1102*
+ ID_MODEL_FROM_DATABASE=CF Reader/Writer
+
+usb:v07D0p1103*
+ ID_MODEL_FROM_DATABASE=SD Reader/Writer
+
+usb:v07D0p1104*
+ ID_MODEL_FROM_DATABASE=SM Reader/Writer
+
+usb:v07D0p1105*
+ ID_MODEL_FROM_DATABASE=MS Reader/Writer
+
+usb:v07D0p1106*
+ ID_MODEL_FROM_DATABASE=xD/SM Reader/Writer
+
+usb:v07D0p1202*
+ ID_MODEL_FROM_DATABASE=MultiSlot Reader/Writer
+
+usb:v07D0p2000*
+ ID_MODEL_FROM_DATABASE=FX2 DFU Adapter
+
+usb:v07D0p2001*
+ ID_MODEL_FROM_DATABASE=eUSB CompactFlash Reader
+
+usb:v07D0p4100*
+ ID_MODEL_FROM_DATABASE=Kingsun SF-620 Infrared Adapter
+
+usb:v07D0p4101*
+ ID_MODEL_FROM_DATABASE=Connectivity Cable (CA-42 clone)
+
+usb:v07D0p4959*
+ ID_MODEL_FROM_DATABASE=Kingsun KS-959 Infrared Adapter
+
+usb:v07D1*
+ ID_VENDOR_FROM_DATABASE=D-Link System
+
+usb:v07D1p13EC*
+ ID_MODEL_FROM_DATABASE=VvBus for Helium 2xx
+
+usb:v07D1p13ED*
+ ID_MODEL_FROM_DATABASE=VvBus for Helium 2xx
+
+usb:v07D1p13F1*
+ ID_MODEL_FROM_DATABASE=DSL-302G Modem
+
+usb:v07D1p13F2*
+ ID_MODEL_FROM_DATABASE=DSL-502G Router
+
+usb:v07D1p3300*
+ ID_MODEL_FROM_DATABASE=DWA-130 802.11n Wireless N Adapter(rev.E) [Realtek RTL8191SU]
+
+usb:v07D1p3302*
+ ID_MODEL_FROM_DATABASE=DWA-130 802.11n Wireless N Adapter(rev.C2) [Realtek RTL8191SU]
+
+usb:v07D1p3303*
+ ID_MODEL_FROM_DATABASE=DWA-131 802.11n Wireless N Nano Adapter(rev.A1) [Realtek RTL8192SU]
+
+usb:v07D1p3304*
+ ID_MODEL_FROM_DATABASE=FR-300USB 802.11bgn Wireless Adapter
+
+usb:v07D1p3A07*
+ ID_MODEL_FROM_DATABASE=WUA-2340 RangeBooster G Adapter(rev.A) [Atheros AR5523]
+
+usb:v07D1p3A08*
+ ID_MODEL_FROM_DATABASE=WUA-2340 RangeBooster G Adapter(rev.A) (no firmware) [Atheros AR5523]
+
+usb:v07D1p3A09*
+ ID_MODEL_FROM_DATABASE=DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.A2) [Atheros AR9170+AR9104]
+
+usb:v07D1p3A0D*
+ ID_MODEL_FROM_DATABASE=DWA-120 802.11g Wireless 108G Adapter [Atheros AR5523]
+
+usb:v07D1p3A0F*
+ ID_MODEL_FROM_DATABASE=DWA-130 802.11n Wireless N Adapter(rev.D) [Atheros AR9170+AR9102]
+
+usb:v07D1p3A10*
+ ID_MODEL_FROM_DATABASE=DWA-126 802.11n Wireless Adapter [Atheros AR9271]
+
+usb:v07D1p3B01*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.D) [Marvell 88W8338+88W8010]
+
+usb:v07D1p3B10*
+ ID_MODEL_FROM_DATABASE=DWA-142 RangeBooster N Adapter [Marvell 88W8362+88W8060]
+
+usb:v07D1p3B11*
+ ID_MODEL_FROM_DATABASE=DWA-130 802.11n Wireless N Adapter(rev.A1) [Marvell 88W8362+88W8060]
+
+usb:v07D1p3C03*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.C1) [Ralink RT2571W]
+
+usb:v07D1p3C04*
+ ID_MODEL_FROM_DATABASE=WUA-1340
+
+usb:v07D1p3C05*
+ ID_MODEL_FROM_DATABASE=EH103 Wireless G Adapter
+
+usb:v07D1p3C06*
+ ID_MODEL_FROM_DATABASE=DWA-111 802.11bg Wireless Adapter [Ralink RT2571W]
+
+usb:v07D1p3C07*
+ ID_MODEL_FROM_DATABASE=DWA-110 Wireless G Adapter(rev.A1) [Ralink RT2571W]
+
+usb:v07D1p3C09*
+ ID_MODEL_FROM_DATABASE=DWA-140 RangeBooster N Adapter(rev.B1) [Ralink RT2870]
+
+usb:v07D1p3C0A*
+ ID_MODEL_FROM_DATABASE=DWA-140 RangeBooster N Adapter(rev.B2) [Ralink RT3072]
+
+usb:v07D1p3C0B*
+ ID_MODEL_FROM_DATABASE=DWA-110 Wireless G Adapter(rev.B) [Ralink RT2870]
+
+usb:v07D1p3C0D*
+ ID_MODEL_FROM_DATABASE=DWA-125 Wireless N 150 Adapter(rev.A1) [Ralink RT3070]
+
+usb:v07D1p3C0E*
+ ID_MODEL_FROM_DATABASE=WUA-2340 RangeBooster G Adapter(rev.B) [Ralink RT2070]
+
+usb:v07D1p3C0F*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.E1) [Ralink RT2070]
+
+usb:v07D1p3C10*
+ ID_MODEL_FROM_DATABASE=DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.A1) [Atheros AR9170+AR9104]
+
+usb:v07D1p3C11*
+ ID_MODEL_FROM_DATABASE=DWA-160 Xtreme N Dual Band USB Adapter(rev.B) [Ralink RT2870]
+
+usb:v07D1p3C13*
+ ID_MODEL_FROM_DATABASE=DWA-130 802.11n Wireless N Adapter(rev.B) [Ralink RT2870]
+
+usb:v07D1p3C15*
+ ID_MODEL_FROM_DATABASE=DWA-140 RangeBooster N Adapter(rev.B3) [Ralink RT2870]
+
+usb:v07D1p3C16*
+ ID_MODEL_FROM_DATABASE=DWA-125 Wireless N 150 Adapter(rev.A2) [Ralink RT3070]
+
+usb:v07D1p3E02*
+ ID_MODEL_FROM_DATABASE=DWM-156 3.75G HSUPA Adapter
+
+usb:v07D1p5100*
+ ID_MODEL_FROM_DATABASE=Remote NDIS Device
+
+usb:v07D1pA800*
+ ID_MODEL_FROM_DATABASE=DWM-152 3.75G HSUPA Adapter
+
+usb:v07D1pF101*
+ ID_MODEL_FROM_DATABASE=DBT-122 Bluetooth
+
+usb:v07D1pFC01*
+ ID_MODEL_FROM_DATABASE=DBT-120 Bluetooth Adapter
+
+usb:v07D2*
+ ID_VENDOR_FROM_DATABASE=Aptio Products, Inc.
+
+usb:v07D3*
+ ID_VENDOR_FROM_DATABASE=Cyberdata Corp.
+
+usb:v07D5*
+ ID_VENDOR_FROM_DATABASE=Radiant Systems
+
+usb:v07D7*
+ ID_VENDOR_FROM_DATABASE=GCC Technologies, Inc.
+
+usb:v07DA*
+ ID_VENDOR_FROM_DATABASE=Arasan Chip Systems
+
+usb:v07DE*
+ ID_VENDOR_FROM_DATABASE=Diamond Multimedia
+
+usb:v07DEp2820*
+ ID_MODEL_FROM_DATABASE=VC500 Video Capture Dongle
+
+usb:v07DF*
+ ID_VENDOR_FROM_DATABASE=David Electronics Co., Ltd
+
+usb:v07E1*
+ ID_VENDOR_FROM_DATABASE=Ambient Technologies, Inc.
+
+usb:v07E1p5201*
+ ID_MODEL_FROM_DATABASE=V.90 Modem
+
+usb:v07E2*
+ ID_VENDOR_FROM_DATABASE=Elmeg GmbH & Co., Ltd
+
+usb:v07E3*
+ ID_VENDOR_FROM_DATABASE=Planex Communications, Inc.
+
+usb:v07E4*
+ ID_VENDOR_FROM_DATABASE=Movado Enterprise Co., Ltd
+
+usb:v07E4p0967*
+ ID_MODEL_FROM_DATABASE=SCard R/W CSR-145
+
+usb:v07E4p0968*
+ ID_MODEL_FROM_DATABASE=SCard R/W CSR-145
+
+usb:v07E5*
+ ID_VENDOR_FROM_DATABASE=QPS, Inc.
+
+usb:v07E5p05C2*
+ ID_MODEL_FROM_DATABASE=IDE-to-USB2.0 PCA
+
+usb:v07E5p5C01*
+ ID_MODEL_FROM_DATABASE=Que! CDRW
+
+usb:v07E6*
+ ID_VENDOR_FROM_DATABASE=Allied Cable Corp.
+
+usb:v07E7*
+ ID_VENDOR_FROM_DATABASE=Mirvo Toys, Inc.
+
+usb:v07E8*
+ ID_VENDOR_FROM_DATABASE=Labsystems
+
+usb:v07EA*
+ ID_VENDOR_FROM_DATABASE=Iwatsu Electric Co., Ltd
+
+usb:v07EB*
+ ID_VENDOR_FROM_DATABASE=Double-H Technology Co., Ltd
+
+usb:v07EC*
+ ID_VENDOR_FROM_DATABASE=Taiyo Electric Wire & Cable Co., Ltd
+
+usb:v07EE*
+ ID_VENDOR_FROM_DATABASE=Torex Retail (formerly Logware)
+
+usb:v07EEp0002*
+ ID_MODEL_FROM_DATABASE=Cash Drawer I/F
+
+usb:v07EF*
+ ID_VENDOR_FROM_DATABASE=STSN
+
+usb:v07EFp0001*
+ ID_MODEL_FROM_DATABASE=Internet Access Device
+
+usb:v07F2*
+ ID_VENDOR_FROM_DATABASE=Microcomputer Applications, Inc.
+
+usb:v07F2p0001*
+ ID_MODEL_FROM_DATABASE=KEYLOK II
+
+usb:v07F6*
+ ID_VENDOR_FROM_DATABASE=Circuit Assembly Corp.
+
+usb:v07F7*
+ ID_VENDOR_FROM_DATABASE=Century Corp.
+
+usb:v07F7p0005*
+ ID_MODEL_FROM_DATABASE=ScanLogic/Century Corporation uATA
+
+usb:v07F7p011E*
+ ID_MODEL_FROM_DATABASE=Century USB Disk Enclosure
+
+usb:v07F9*
+ ID_VENDOR_FROM_DATABASE=Dotop Technology, Inc.
+
+usb:v07FA*
+ ID_VENDOR_FROM_DATABASE=DrayTek Corp.
+
+usb:v07FAp0778*
+ ID_MODEL_FROM_DATABASE=miniVigor 128 ISDN TA
+
+usb:v07FAp1012*
+ ID_MODEL_FROM_DATABASE=BeWAN ADSL USB ST (grey)
+
+usb:v07FAp1196*
+ ID_MODEL_FROM_DATABASE=BWIFI-USB54AR 802.11bg
+
+usb:v07FApA904*
+ ID_MODEL_FROM_DATABASE=BeWAN ADSL
+
+usb:v07FApA905*
+ ID_MODEL_FROM_DATABASE=BeWAN ADSL ST
+
+usb:v07FD*
+ ID_VENDOR_FROM_DATABASE=Mark of the Unicorn
+
+usb:v07FDp0000*
+ ID_MODEL_FROM_DATABASE=FastLane MIDI Interface
+
+usb:v07FDp0001*
+ ID_MODEL_FROM_DATABASE=FastLane Quad MIDI Interface
+
+usb:v07FDp0002*
+ ID_MODEL_FROM_DATABASE=MOTU Audio for 64 bit
+
+usb:v07FF*
+ ID_VENDOR_FROM_DATABASE=Unknown
+
+usb:v07FFp00FF*
+ ID_MODEL_FROM_DATABASE=Portable Hard Drive
+
+usb:v0801*
+ ID_VENDOR_FROM_DATABASE=MagTek
+
+usb:v0801p0001*
+ ID_MODEL_FROM_DATABASE=Mini Swipe Reader (Keyboard Emulation)
+
+usb:v0801p0002*
+ ID_MODEL_FROM_DATABASE=Mini Swipe Reader
+
+usb:v0801p0003*
+ ID_MODEL_FROM_DATABASE=Magstripe Insert Reader
+
+usb:v0802*
+ ID_VENDOR_FROM_DATABASE=Mako Technologies, LLC
+
+usb:v0803*
+ ID_VENDOR_FROM_DATABASE=Zoom Telephonics, Inc.
+
+usb:v0803p1300*
+ ID_MODEL_FROM_DATABASE=V92 Faxmodem
+
+usb:v0803p4310*
+ ID_MODEL_FROM_DATABASE=4410a Wireless-G Adapter [Intersil ISL3887]
+
+usb:v0803p4410*
+ ID_MODEL_FROM_DATABASE=4410b Wireless-G Adapter [ZyDAS ZD1211B]
+
+usb:v0803p5241*
+ ID_MODEL_FROM_DATABASE=Cable Modem
+
+usb:v0803p5551*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v0803p9700*
+ ID_MODEL_FROM_DATABASE=2986L FaxModem
+
+usb:v0803p9800*
+ ID_MODEL_FROM_DATABASE=Cable Modem
+
+usb:v0803pA312*
+ ID_MODEL_FROM_DATABASE=Wireless-G
+
+usb:v0809*
+ ID_VENDOR_FROM_DATABASE=Genicom Technology, Inc.
+
+usb:v080A*
+ ID_VENDOR_FROM_DATABASE=Evermuch Technology Co., Ltd
+
+usb:v080B*
+ ID_VENDOR_FROM_DATABASE=Cross Match Technologies
+
+usb:v080Bp0002*
+ ID_MODEL_FROM_DATABASE=Fingerprint Scanner (After ReNumeration)
+
+usb:v080Bp0010*
+ ID_MODEL_FROM_DATABASE=300LC Series Fingerprint Scanner (Before ReNumeration)
+
+usb:v080C*
+ ID_VENDOR_FROM_DATABASE=Datalogic S.p.A.
+
+usb:v080Cp0300*
+ ID_MODEL_FROM_DATABASE=Gryphon D120 Barcode Scanner
+
+usb:v080Cp0400*
+ ID_MODEL_FROM_DATABASE=Gryphon D120 Barcode Scanner
+
+usb:v080Cp0500*
+ ID_MODEL_FROM_DATABASE=Gryphon D120 Barcode Scanner
+
+usb:v080Cp0600*
+ ID_MODEL_FROM_DATABASE=Gryphon M100 Barcode Scanner
+
+usb:v080D*
+ ID_VENDOR_FROM_DATABASE=Teco Image Systems Co., Ltd
+
+usb:v080Dp0102*
+ ID_MODEL_FROM_DATABASE=Hercules Scan@home 48
+
+usb:v080Dp0104*
+ ID_MODEL_FROM_DATABASE=3.2Slim
+
+usb:v080Dp0110*
+ ID_MODEL_FROM_DATABASE=UMAX AstraSlim 1200 Scanner
+
+usb:v0810*
+ ID_VENDOR_FROM_DATABASE=Personal Communication Systems, Inc.
+
+usb:v0810p0001*
+ ID_MODEL_FROM_DATABASE=Dual PSX Adaptor
+
+usb:v0810p0002*
+ ID_MODEL_FROM_DATABASE=Dual PCS Adaptor
+
+usb:v0810p0003*
+ ID_MODEL_FROM_DATABASE=PlayStation Gamepad
+
+usb:v0813*
+ ID_VENDOR_FROM_DATABASE=Mattel, Inc.
+
+usb:v0813p0001*
+ ID_MODEL_FROM_DATABASE=Intel Play QX3 Microscope
+
+usb:v0813p0002*
+ ID_MODEL_FROM_DATABASE=Dual Mode Camera Plus
+
+usb:v0819*
+ ID_VENDOR_FROM_DATABASE=eLicenser
+
+usb:v0819p0101*
+ ID_MODEL_FROM_DATABASE=License Management and Copy Protection
+
+usb:v081A*
+ ID_VENDOR_FROM_DATABASE=MG Logic
+
+usb:v081Ap1000*
+ ID_MODEL_FROM_DATABASE=Duo Pen Tablet
+
+usb:v081B*
+ ID_VENDOR_FROM_DATABASE=Indigita Corp.
+
+usb:v081Bp0600*
+ ID_MODEL_FROM_DATABASE=Storage Adapter
+
+usb:v081Bp0601*
+ ID_MODEL_FROM_DATABASE=Storage Adapter
+
+usb:v081C*
+ ID_VENDOR_FROM_DATABASE=Mipsys
+
+usb:v081E*
+ ID_VENDOR_FROM_DATABASE=AlphaSmart, Inc.
+
+usb:v081EpDF00*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0822*
+ ID_VENDOR_FROM_DATABASE=Reudo Corp.
+
+usb:v0822p2001*
+ ID_MODEL_FROM_DATABASE=IRXpress Infrared Device
+
+usb:v0825*
+ ID_VENDOR_FROM_DATABASE=GC Protronics
+
+usb:v0826*
+ ID_VENDOR_FROM_DATABASE=Data Transit
+
+usb:v0827*
+ ID_VENDOR_FROM_DATABASE=BroadLogic, Inc.
+
+usb:v0828*
+ ID_VENDOR_FROM_DATABASE=Sato Corp.
+
+usb:v0829*
+ ID_VENDOR_FROM_DATABASE=DirecTV Broadband, Inc. (Telocity)
+
+usb:v082D*
+ ID_VENDOR_FROM_DATABASE=Handspring
+
+usb:v082Dp0100*
+ ID_MODEL_FROM_DATABASE=Visor
+
+usb:v082Dp0200*
+ ID_MODEL_FROM_DATABASE=Treo
+
+usb:v082Dp0300*
+ ID_MODEL_FROM_DATABASE=Treo 600
+
+usb:v082Dp0400*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v082Dp0500*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v082Dp0600*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830*
+ ID_VENDOR_FROM_DATABASE=Palm, Inc.
+
+usb:v0830p0001*
+ ID_MODEL_FROM_DATABASE=m500
+
+usb:v0830p0002*
+ ID_MODEL_FROM_DATABASE=m505
+
+usb:v0830p0003*
+ ID_MODEL_FROM_DATABASE=m515
+
+usb:v0830p0004*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0005*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0006*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0010*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0011*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0012*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0013*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0014*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0020*
+ ID_MODEL_FROM_DATABASE=i705
+
+usb:v0830p0021*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0022*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0023*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0024*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0030*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0031*
+ ID_MODEL_FROM_DATABASE=Tungsten W
+
+usb:v0830p0032*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0033*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0034*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0040*
+ ID_MODEL_FROM_DATABASE=m125
+
+usb:v0830p0041*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0042*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0043*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0044*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0050*
+ ID_MODEL_FROM_DATABASE=m130
+
+usb:v0830p0051*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0052*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0053*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0054*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0060*
+ ID_MODEL_FROM_DATABASE=Tungsten C/E/T/T2/T3 / Zire 71
+
+usb:v0830p0061*
+ ID_MODEL_FROM_DATABASE=Lifedrive / Treo 650/680 / Tunsten E2/T5/TX / Centro / Zire 21/31/72 / Z22
+
+usb:v0830p0062*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0063*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0064*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0070*
+ ID_MODEL_FROM_DATABASE=Zire
+
+usb:v0830p0071*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0072*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0080*
+ ID_MODEL_FROM_DATABASE=Serial Adapter [for Palm III]
+
+usb:v0830p0081*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p0082*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0830p00A0*
+ ID_MODEL_FROM_DATABASE=Treo 800w
+
+usb:v0830p0101*
+ ID_MODEL_FROM_DATABASE=Pre
+
+usb:v0832*
+ ID_VENDOR_FROM_DATABASE=Kouwell Electronics Corp.
+
+usb:v0832p5850*
+ ID_MODEL_FROM_DATABASE=Cable
+
+usb:v0833*
+ ID_VENDOR_FROM_DATABASE=Sourcenext Corp.
+
+usb:v0833p012E*
+ ID_MODEL_FROM_DATABASE=KeikaiDenwa 8 with charger
+
+usb:v0833p039F*
+ ID_MODEL_FROM_DATABASE=KeikaiDenwa 8
+
+usb:v0835*
+ ID_VENDOR_FROM_DATABASE=Action Star Enterprise Co., Ltd
+
+usb:v0836*
+ ID_VENDOR_FROM_DATABASE=TrekStor
+
+usb:v0836p2836*
+ ID_MODEL_FROM_DATABASE=i.Beat mood
+
+usb:v0839*
+ ID_VENDOR_FROM_DATABASE=Samsung Techwin Co., Ltd
+
+usb:v0839p0005*
+ ID_MODEL_FROM_DATABASE=Digimax Camera
+
+usb:v0839p0008*
+ ID_MODEL_FROM_DATABASE=Digimax 230 Camera
+
+usb:v0839p0009*
+ ID_MODEL_FROM_DATABASE=Digimax 340
+
+usb:v0839p000A*
+ ID_MODEL_FROM_DATABASE=Digimax 410
+
+usb:v0839p000E*
+ ID_MODEL_FROM_DATABASE=Digimax 360
+
+usb:v0839p0010*
+ ID_MODEL_FROM_DATABASE=Digimax 300
+
+usb:v0839p1003*
+ ID_MODEL_FROM_DATABASE=Digimax 210SE
+
+usb:v0839p1005*
+ ID_MODEL_FROM_DATABASE=Digimax 220
+
+usb:v0839p1009*
+ ID_MODEL_FROM_DATABASE=Digimax V4
+
+usb:v0839p1012*
+ ID_MODEL_FROM_DATABASE=6500 Document Camera
+
+usb:v0839p1058*
+ ID_MODEL_FROM_DATABASE=S730 Camera
+
+usb:v0839p1064*
+ ID_MODEL_FROM_DATABASE=Digimax D830 Camera
+
+usb:v0839p1542*
+ ID_MODEL_FROM_DATABASE=Digimax 50 Duo
+
+usb:v0839p3000*
+ ID_MODEL_FROM_DATABASE=Digimax 35 MP3
+
+usb:v083A*
+ ID_VENDOR_FROM_DATABASE=Accton Technology Corp.
+
+usb:v083Ap1046*
+ ID_MODEL_FROM_DATABASE=10/100 Ethernet [pegasus]
+
+usb:v083Ap1060*
+ ID_MODEL_FROM_DATABASE=HomeLine Adapter
+
+usb:v083Ap1F4D*
+ ID_MODEL_FROM_DATABASE=SMC8013WG Broadband Remote NDIS Device
+
+usb:v083Ap3046*
+ ID_MODEL_FROM_DATABASE=10/100 Series Adapter
+
+usb:v083Ap3060*
+ ID_MODEL_FROM_DATABASE=1/10/100 Adapter
+
+usb:v083Ap3501*
+ ID_MODEL_FROM_DATABASE=2664W
+
+usb:v083Ap3502*
+ ID_MODEL_FROM_DATABASE=WN3501D Wireless Adapter
+
+usb:v083Ap3503*
+ ID_MODEL_FROM_DATABASE=T-Sinus 111 Wireless Adapter
+
+usb:v083Ap4501*
+ ID_MODEL_FROM_DATABASE=T-Sinus 154data
+
+usb:v083Ap4502*
+ ID_MODEL_FROM_DATABASE=Siemens S30853-S1016-R107 802.11g Wireless Adapter [Intersil ISL3886]
+
+usb:v083Ap4505*
+ ID_MODEL_FROM_DATABASE=SMCWUSB-G 802.11bg
+
+usb:v083Ap4507*
+ ID_MODEL_FROM_DATABASE=SMCWUSBT-G2 802.11g Wireless Adapter [Atheros AR5523]
+
+usb:v083Ap4521*
+ ID_MODEL_FROM_DATABASE=Siemens S30863-S1016-R107-2 802.11g Wireless Adapter [Intersil ISL3887]
+
+usb:v083Ap5046*
+ ID_MODEL_FROM_DATABASE=SpeedStream 10/100 Ethernet [pegasus]
+
+usb:v083Ap5501*
+ ID_MODEL_FROM_DATABASE=Wireless Adapter 11g
+
+usb:v083Ap6500*
+ ID_MODEL_FROM_DATABASE=Cable Modem
+
+usb:v083Ap6618*
+ ID_MODEL_FROM_DATABASE=802.11n Wireless Adapter
+
+usb:v083Ap7511*
+ ID_MODEL_FROM_DATABASE=Arcadyan 802.11N Wireless Adapter
+
+usb:v083Ap7512*
+ ID_MODEL_FROM_DATABASE=Arcadyan 802.11N Wireless Adapter
+
+usb:v083Ap7522*
+ ID_MODEL_FROM_DATABASE=Arcadyan 802.11N Wireless Adapter
+
+usb:v083Ap8522*
+ ID_MODEL_FROM_DATABASE=Arcadyan 802.11N Wireless Adapter
+
+usb:v083Ap8541*
+ ID_MODEL_FROM_DATABASE=WN4501F 802.11g Wireless Adapter [Intersil ISL3887]
+
+usb:v083ApA512*
+ ID_MODEL_FROM_DATABASE=Arcadyan 802.11N Wireless Adapter
+
+usb:v083ApA618*
+ ID_MODEL_FROM_DATABASE=SMCWUSBS-N EZ Connect N Draft 11n Wireless Adapter [Ralink RT2870]
+
+usb:v083ApA701*
+ ID_MODEL_FROM_DATABASE=SMCWUSBS-N3 EZ Connect N Wireless Adapter [Ralink RT3070]
+
+usb:v083ApB004*
+ ID_MODEL_FROM_DATABASE=CPWUE001 USB/Ethernet Adapter
+
+usb:v083ApB522*
+ ID_MODEL_FROM_DATABASE=SMCWUSBS-N2 EZ Connect N Wireless Adapter [Ralink RT2870]
+
+usb:v083ApBB01*
+ ID_MODEL_FROM_DATABASE=BlueExpert Bluetooth Device
+
+usb:v083ApC003*
+ ID_MODEL_FROM_DATABASE=802.11b Wireless Adapter
+
+usb:v083ApC501*
+ ID_MODEL_FROM_DATABASE=Zoom 4410 Wireless-G [Intersil ISL3887]
+
+usb:v083ApC561*
+ ID_MODEL_FROM_DATABASE=802.11a/g Wireless Adapter
+
+usb:v083ApD522*
+ ID_MODEL_FROM_DATABASE=Speedport W 102 Stick IEEE 802.11n USB 2.0 Adapter
+
+usb:v083ApE501*
+ ID_MODEL_FROM_DATABASE=ZD1211B
+
+usb:v083ApE503*
+ ID_MODEL_FROM_DATABASE=Arcadyan WN4501 802.11b/g
+
+usb:v083ApE506*
+ ID_MODEL_FROM_DATABASE=WUS-201 802.11bg
+
+usb:v083ApF501*
+ ID_MODEL_FROM_DATABASE=802.11g Wireless Adapter
+
+usb:v083ApF502*
+ ID_MODEL_FROM_DATABASE=802.11g Wireless Adapter
+
+usb:v083ApF522*
+ ID_MODEL_FROM_DATABASE=Arcadyan WN7512 802.11n
+
+usb:v083F*
+ ID_VENDOR_FROM_DATABASE=Global Village
+
+usb:v083FpB100*
+ ID_MODEL_FROM_DATABASE=TelePort V.90 Fax/Modem
+
+usb:v0840*
+ ID_VENDOR_FROM_DATABASE=Argosy Research, Inc.
+
+usb:v0840p0060*
+ ID_MODEL_FROM_DATABASE=Storage Adapter Bridge Module
+
+usb:v0841*
+ ID_VENDOR_FROM_DATABASE=Rioport.com, Inc.
+
+usb:v0841p0001*
+ ID_MODEL_FROM_DATABASE=Rio 500
+
+usb:v0844*
+ ID_VENDOR_FROM_DATABASE=Welland Industrial Co., Ltd
+
+usb:v0846*
+ ID_VENDOR_FROM_DATABASE=NetGear, Inc.
+
+usb:v0846p1001*
+ ID_MODEL_FROM_DATABASE=EA101 10 Mbps 10BASE-T Ethernet [Kawasaki LSI KL5KLUSB101B]
+
+usb:v0846p1002*
+ ID_MODEL_FROM_DATABASE=Ethernet
+
+usb:v0846p1020*
+ ID_MODEL_FROM_DATABASE=FA101 Fast Ethernet USB 1.1
+
+usb:v0846p1040*
+ ID_MODEL_FROM_DATABASE=FA120 Fast Ethernet USB 2.0 [Asix AX88172 / AX8817x]
+
+usb:v0846p4110*
+ ID_MODEL_FROM_DATABASE=MA111(v1) 802.11b Wireless [Intersil Prism 3.0]
+
+usb:v0846p4200*
+ ID_MODEL_FROM_DATABASE=WG121(v1) 54 Mbps Wireless [Intersil ISL3886]
+
+usb:v0846p4210*
+ ID_MODEL_FROM_DATABASE=WG121(v2) 54 Mbps Wireless [Intersil ISL3886]
+
+usb:v0846p4220*
+ ID_MODEL_FROM_DATABASE=WG111(v1) 54 Mbps Wireless [Intersil ISL3886]
+
+usb:v0846p4230*
+ ID_MODEL_FROM_DATABASE=MA111(v2) 802.11b Wireless [SIS SIS 162]
+
+usb:v0846p4240*
+ ID_MODEL_FROM_DATABASE=WG111(v1) rev 2 54 Mbps Wireless [Intersil ISL3887]
+
+usb:v0846p4260*
+ ID_MODEL_FROM_DATABASE=WG111v3 54 Mbps Wireless [realtek RTL8187B]
+
+usb:v0846p4300*
+ ID_MODEL_FROM_DATABASE=WG111U Double 108 Mbps Wireless [Atheros AR5004X / AR5005UX]
+
+usb:v0846p4301*
+ ID_MODEL_FROM_DATABASE=WG111U (no firmware) Double 108 Mbps Wireless [Atheros AR5004X / AR5005UX]
+
+usb:v0846p5F00*
+ ID_MODEL_FROM_DATABASE=WPN111 802.11g Wireless Adapter [Atheros AR5523]
+
+usb:v0846p6A00*
+ ID_MODEL_FROM_DATABASE=WG111v2 54 Mbps Wireless [RealTek RTL8187L]
+
+usb:v0846p7100*
+ ID_MODEL_FROM_DATABASE=WN121T RangeMax Next Wireless-N [Marvell TopDog]
+
+usb:v0846p9000*
+ ID_MODEL_FROM_DATABASE=WN111(v1) RangeMax Next Wireless [Marvell 88W8362+88W8060]
+
+usb:v0846p9001*
+ ID_MODEL_FROM_DATABASE=WN111(v2) RangeMax Next Wireless [Atheros AR9170+AR9101]
+
+usb:v0846p9010*
+ ID_MODEL_FROM_DATABASE=WNDA3100v1 802.11abgn [Atheros AR9170+AR9104]
+
+usb:v0846p9011*
+ ID_MODEL_FROM_DATABASE=WNDA3100v2 802.11abgn [Broadcom BCM4323]
+
+usb:v0846p9012*
+ ID_MODEL_FROM_DATABASE=WNDA4100 802.11abgn 3x3:3 [Ralink RT3573]
+
+usb:v0846p9018*
+ ID_MODEL_FROM_DATABASE=WNDA3200 802.11abgn Wireless Adapter [Atheros AR7010+AR9280]
+
+usb:v0846p9020*
+ ID_MODEL_FROM_DATABASE=WNA3100(v1) Wireless-N 300 [Broadcom BCM43231]
+
+usb:v0846p9030*
+ ID_MODEL_FROM_DATABASE=WNA1100 Wireless-N 150 [Atheros AR9271]
+
+usb:v0846p9040*
+ ID_MODEL_FROM_DATABASE=WNA1000 Wireless-N 150 [Atheros AR9170+AR9101]
+
+usb:v0846p9041*
+ ID_MODEL_FROM_DATABASE=WNA1000M 802.11bgn [Realtek RTL8188CUS]
+
+usb:v0846pA001*
+ ID_MODEL_FROM_DATABASE=PA101 10 Mbps HPNA Home Phoneline RJ-1
+
+usb:v084D*
+ ID_VENDOR_FROM_DATABASE=Minton Optic Industry Co., Inc.
+
+usb:v084Dp0001*
+ ID_MODEL_FROM_DATABASE=Jenoptik JD800i
+
+usb:v084Dp0003*
+ ID_MODEL_FROM_DATABASE=S-Cam F5/D-Link DSC-350 Digital Camera
+
+usb:v084Dp0011*
+ ID_MODEL_FROM_DATABASE=Argus DC3500 Digital Camera
+
+usb:v084Dp0014*
+ ID_MODEL_FROM_DATABASE=Praktica DC 32
+
+usb:v084Dp0019*
+ ID_MODEL_FROM_DATABASE=Praktica DPix3000
+
+usb:v084Dp0025*
+ ID_MODEL_FROM_DATABASE=Praktica DC 60
+
+usb:v084Dp1001*
+ ID_MODEL_FROM_DATABASE=ScanHex SX-35d
+
+usb:v084E*
+ ID_VENDOR_FROM_DATABASE=KB Gear
+
+usb:v084Ep0001*
+ ID_MODEL_FROM_DATABASE=JamCam Camera
+
+usb:v084Ep1001*
+ ID_MODEL_FROM_DATABASE=Jam Studio Tablet
+
+usb:v084Ep1002*
+ ID_MODEL_FROM_DATABASE=Pablo Tablet
+
+usb:v084F*
+ ID_VENDOR_FROM_DATABASE=Empeg
+
+usb:v084Fp0001*
+ ID_MODEL_FROM_DATABASE=Empeg-Car Mark I/II Player
+
+usb:v0850*
+ ID_VENDOR_FROM_DATABASE=Fast Point Technologies, Inc.
+
+usb:v0851*
+ ID_VENDOR_FROM_DATABASE=Macronix International Co., Ltd
+
+usb:v0851p1542*
+ ID_MODEL_FROM_DATABASE=SiPix Blink
+
+usb:v0851p1543*
+ ID_MODEL_FROM_DATABASE=Maxell WS30 Slim Digital Camera, or Pandigital PI8004W01 digital photo frame
+
+usb:v0851pA168*
+ ID_MODEL_FROM_DATABASE=MXIC
+
+usb:v0852*
+ ID_VENDOR_FROM_DATABASE=CSEM
+
+usb:v0853*
+ ID_VENDOR_FROM_DATABASE=Topre Corporation
+
+usb:v0853p0100*
+ ID_MODEL_FROM_DATABASE=HHKB Professional
+
+usb:v0854*
+ ID_VENDOR_FROM_DATABASE=ActiveWire, Inc.
+
+usb:v0854p0100*
+ ID_MODEL_FROM_DATABASE=I/O Board
+
+usb:v0854p0101*
+ ID_MODEL_FROM_DATABASE=I/O Board, rev1
+
+usb:v0856*
+ ID_VENDOR_FROM_DATABASE=B&B Electronics
+
+usb:v0856pAC01*
+ ID_MODEL_FROM_DATABASE=uLinks USOTL4 RS422/485 Adapter
+
+usb:v0858*
+ ID_VENDOR_FROM_DATABASE=Hitachi Maxell, Ltd
+
+usb:v0858p3102*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0858pFFFF*
+ ID_MODEL_FROM_DATABASE=Maxell module with BlueCore in DFU mode
+
+usb:v0859*
+ ID_VENDOR_FROM_DATABASE=Minolta Systems Laboratory, Inc.
+
+usb:v085A*
+ ID_VENDOR_FROM_DATABASE=Xircom
+
+usb:v085Ap0001*
+ ID_MODEL_FROM_DATABASE=Portstation Dual Serial Port
+
+usb:v085Ap0003*
+ ID_MODEL_FROM_DATABASE=Portstation Paraller Port
+
+usb:v085Ap0008*
+ ID_MODEL_FROM_DATABASE=Ethernet
+
+usb:v085Ap0009*
+ ID_MODEL_FROM_DATABASE=Ethernet
+
+usb:v085Ap000B*
+ ID_MODEL_FROM_DATABASE=Portstation Dual PS/2 Port
+
+usb:v085Ap0021*
+ ID_MODEL_FROM_DATABASE=1 port to Serial Converter
+
+usb:v085Ap0022*
+ ID_MODEL_FROM_DATABASE=Parallel Port
+
+usb:v085Ap0023*
+ ID_MODEL_FROM_DATABASE=2 port to Serial Converter
+
+usb:v085Ap0024*
+ ID_MODEL_FROM_DATABASE=Parallel Port
+
+usb:v085Ap0027*
+ ID_MODEL_FROM_DATABASE=1 port to Serial Converter
+
+usb:v085Ap0028*
+ ID_MODEL_FROM_DATABASE=PortGear to SCSI Converter
+
+usb:v085Ap0032*
+ ID_MODEL_FROM_DATABASE=PortStation SCSI Module
+
+usb:v085Ap003C*
+ ID_MODEL_FROM_DATABASE=Bluetooth Adapter
+
+usb:v085Ap0299*
+ ID_MODEL_FROM_DATABASE=Colorvision, Inc. Monitor Spyder
+
+usb:v085Ap8021*
+ ID_MODEL_FROM_DATABASE=1 port to Serial
+
+usb:v085Ap8023*
+ ID_MODEL_FROM_DATABASE=2 port to Serial
+
+usb:v085Ap8027*
+ ID_MODEL_FROM_DATABASE=PGSDB9 Serial Port
+
+usb:v085C*
+ ID_VENDOR_FROM_DATABASE=ColorVision, Inc.
+
+usb:v085Cp0200*
+ ID_MODEL_FROM_DATABASE=Monitor Spyder
+
+usb:v0862*
+ ID_VENDOR_FROM_DATABASE=Teletrol Systems, Inc.
+
+usb:v0863*
+ ID_VENDOR_FROM_DATABASE=Filanet Corp.
+
+usb:v0864*
+ ID_VENDOR_FROM_DATABASE=NetGear, Inc.
+
+usb:v0864p4100*
+ ID_MODEL_FROM_DATABASE=MA101 802.11b Adapter
+
+usb:v0864p4102*
+ ID_MODEL_FROM_DATABASE=MA101 802.11b Adapter
+
+usb:v0867*
+ ID_VENDOR_FROM_DATABASE=Data Translation, Inc.
+
+usb:v0867p9812*
+ ID_MODEL_FROM_DATABASE=ECON Data acquisition unit
+
+usb:v0867p9816*
+ ID_MODEL_FROM_DATABASE=DT9816 ECON data acquisition module
+
+usb:v0867p9836*
+ ID_MODEL_FROM_DATABASE=DT9836 data acquisition card
+
+usb:v086A*
+ ID_VENDOR_FROM_DATABASE=Emagic Soft- und Hardware GmbH
+
+usb:v086Ap0001*
+ ID_MODEL_FROM_DATABASE=Unitor8
+
+usb:v086Ap0002*
+ ID_MODEL_FROM_DATABASE=AMT8
+
+usb:v086Ap0003*
+ ID_MODEL_FROM_DATABASE=MT4
+
+usb:v086C*
+ ID_VENDOR_FROM_DATABASE=DeTeWe - Deutsche Telephonwerke AG & Co.
+
+usb:v086Cp1001*
+ ID_MODEL_FROM_DATABASE=Eumex 504PC ISDN TA
+
+usb:v086Cp1002*
+ ID_MODEL_FROM_DATABASE=Eumex 504PC (FlashLoad)
+
+usb:v086Cp1003*
+ ID_MODEL_FROM_DATABASE=TA33 ISDN TA
+
+usb:v086Cp1004*
+ ID_MODEL_FROM_DATABASE=TA33 (FlashLoad)
+
+usb:v086Cp1005*
+ ID_MODEL_FROM_DATABASE=Eumex 604PC HomeNet
+
+usb:v086Cp1006*
+ ID_MODEL_FROM_DATABASE=Eumex 604PC HomeNet (FlashLoad)
+
+usb:v086Cp1007*
+ ID_MODEL_FROM_DATABASE=Eumex 704PC DSL
+
+usb:v086Cp1008*
+ ID_MODEL_FROM_DATABASE=Eumex 704PC DSL (FlashLoad)
+
+usb:v086Cp1009*
+ ID_MODEL_FROM_DATABASE=Eumex 724PC DSL
+
+usb:v086Cp100A*
+ ID_MODEL_FROM_DATABASE=Eumex 724PC DSL (FlashLoad)
+
+usb:v086Cp100B*
+ ID_MODEL_FROM_DATABASE=OpenCom 30
+
+usb:v086Cp100C*
+ ID_MODEL_FROM_DATABASE=OpenCom 30 (FlashLoad)
+
+usb:v086Cp100D*
+ ID_MODEL_FROM_DATABASE=BeeTel Home 100
+
+usb:v086Cp100E*
+ ID_MODEL_FROM_DATABASE=BeeTel Home 100 (FlashLoad)
+
+usb:v086Cp1011*
+ ID_MODEL_FROM_DATABASE=USB2DECT
+
+usb:v086Cp1012*
+ ID_MODEL_FROM_DATABASE=USB2DECT (FlashLoad)
+
+usb:v086Cp1013*
+ ID_MODEL_FROM_DATABASE=Eumex 704PC LAN
+
+usb:v086Cp1014*
+ ID_MODEL_FROM_DATABASE=Eumex 704PC LAN (FlashLoad)
+
+usb:v086Cp1019*
+ ID_MODEL_FROM_DATABASE=Eumex 504 SE
+
+usb:v086Cp101A*
+ ID_MODEL_FROM_DATABASE=Eumex 504 SE (Flash-Mode)
+
+usb:v086Cp1021*
+ ID_MODEL_FROM_DATABASE=OpenCom 40
+
+usb:v086Cp1022*
+ ID_MODEL_FROM_DATABASE=OpenCom 40 (FlashLoad)
+
+usb:v086Cp1023*
+ ID_MODEL_FROM_DATABASE=OpenCom 45
+
+usb:v086Cp1024*
+ ID_MODEL_FROM_DATABASE=OpenCom 45 (FlashLoad)
+
+usb:v086Cp1025*
+ ID_MODEL_FROM_DATABASE=Sinus 61 data
+
+usb:v086Cp1029*
+ ID_MODEL_FROM_DATABASE=dect BOX
+
+usb:v086Cp102C*
+ ID_MODEL_FROM_DATABASE=Eumex 604PC HomeNet [FlashLoad]
+
+usb:v086Cp1030*
+ ID_MODEL_FROM_DATABASE=Eumex 704PC DSL [FlashLoad]
+
+usb:v086Cp1032*
+ ID_MODEL_FROM_DATABASE=OpenCom 40 [FlashLoad]
+
+usb:v086Cp1033*
+ ID_MODEL_FROM_DATABASE=OpenCom 30 plus
+
+usb:v086Cp1034*
+ ID_MODEL_FROM_DATABASE=OpenCom 30 plus (FlashLoad)
+
+usb:v086Cp1041*
+ ID_MODEL_FROM_DATABASE=Eumex 220PC
+
+usb:v086Cp1042*
+ ID_MODEL_FROM_DATABASE=Eumex 220PC (FlashMode)
+
+usb:v086Cp1055*
+ ID_MODEL_FROM_DATABASE=Eumex 220 Version 2 ISDN TA
+
+usb:v086Cp1056*
+ ID_MODEL_FROM_DATABASE=Eumex 220 Version 2 ISDN TA (Flash-Mode)
+
+usb:v086Cp2000*
+ ID_MODEL_FROM_DATABASE=OpenCom 1000
+
+usb:v086E*
+ ID_VENDOR_FROM_DATABASE=System TALKS, Inc.
+
+usb:v086Ep1920*
+ ID_MODEL_FROM_DATABASE=SGC-X2UL
+
+usb:v086F*
+ ID_VENDOR_FROM_DATABASE=MEC IMEX, Inc.
+
+usb:v0870*
+ ID_VENDOR_FROM_DATABASE=Metricom
+
+usb:v0870p0001*
+ ID_MODEL_FROM_DATABASE=Ricochet GS
+
+usb:v0871*
+ ID_VENDOR_FROM_DATABASE=SanDisk, Inc.
+
+usb:v0871p0001*
+ ID_MODEL_FROM_DATABASE=SDDR-01 Compact Flash Reader
+
+usb:v0871p0002*
+ ID_MODEL_FROM_DATABASE=SDDR-31 Compact Flash Reader
+
+usb:v0871p0005*
+ ID_MODEL_FROM_DATABASE=SDDR-05 Compact Flash Reader
+
+usb:v0873*
+ ID_VENDOR_FROM_DATABASE=Xpeed, Inc.
+
+usb:v0874*
+ ID_VENDOR_FROM_DATABASE=A-Tec Subsystem, Inc.
+
+usb:v0879*
+ ID_VENDOR_FROM_DATABASE=Comtrol Corp.
+
+usb:v087C*
+ ID_VENDOR_FROM_DATABASE=Adesso/Kbtek America, Inc.
+
+usb:v087D*
+ ID_VENDOR_FROM_DATABASE=Jaton Corp.
+
+usb:v087Dp5704*
+ ID_MODEL_FROM_DATABASE=Ethernet
+
+usb:v087E*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Computer Products of America
+
+usb:v087F*
+ ID_VENDOR_FROM_DATABASE=QualCore Logic Inc.
+
+usb:v0880*
+ ID_VENDOR_FROM_DATABASE=APT Technologies, Inc.
+
+usb:v0883*
+ ID_VENDOR_FROM_DATABASE=Recording Industry Association of America (RIAA)
+
+usb:v0885*
+ ID_VENDOR_FROM_DATABASE=Boca Research, Inc.
+
+usb:v0886*
+ ID_VENDOR_FROM_DATABASE=XAC Automation Corp.
+
+usb:v0886p0630*
+ ID_MODEL_FROM_DATABASE=Intel PC Camera CS630
+
+usb:v0887*
+ ID_VENDOR_FROM_DATABASE=Hannstar Electronics Corp.
+
+usb:v088A*
+ ID_VENDOR_FROM_DATABASE=TechTools
+
+usb:v088Ap1002*
+ ID_MODEL_FROM_DATABASE=DigiView DV3100
+
+usb:v088B*
+ ID_VENDOR_FROM_DATABASE=MassWorks, Inc.
+
+usb:v088Bp4944*
+ ID_MODEL_FROM_DATABASE=MassWorks ID-75 TouchScreen
+
+usb:v088C*
+ ID_VENDOR_FROM_DATABASE=Swecoin AB
+
+usb:v088Cp2030*
+ ID_MODEL_FROM_DATABASE=Ticket Printer TTP 2030
+
+usb:v088E*
+ ID_VENDOR_FROM_DATABASE=iLok
+
+usb:v088Ep5036*
+ ID_MODEL_FROM_DATABASE=Portable secure storage for software licenses
+
+usb:v0892*
+ ID_VENDOR_FROM_DATABASE=DioGraphy, Inc.
+
+usb:v0892p0101*
+ ID_MODEL_FROM_DATABASE=Smartdio Reader/Writer
+
+usb:v0897*
+ ID_VENDOR_FROM_DATABASE=Lauterbach
+
+usb:v0897p0002*
+ ID_MODEL_FROM_DATABASE=Power Debug/Power Debug II
+
+usb:v089C*
+ ID_VENDOR_FROM_DATABASE=United Technologies Research Cntr.
+
+usb:v089D*
+ ID_VENDOR_FROM_DATABASE=Icron Technologies Corp.
+
+usb:v089E*
+ ID_VENDOR_FROM_DATABASE=NST Co., Ltd
+
+usb:v089F*
+ ID_VENDOR_FROM_DATABASE=Primex Aerospace Co.
+
+usb:v08A5*
+ ID_VENDOR_FROM_DATABASE=e9, Inc.
+
+usb:v08A6*
+ ID_VENDOR_FROM_DATABASE=Toshiba TEC
+
+usb:v08A6p0051*
+ ID_MODEL_FROM_DATABASE=B-SV4
+
+usb:v08A8*
+ ID_VENDOR_FROM_DATABASE=Andrea Electronics
+
+usb:v08A9*
+ ID_VENDOR_FROM_DATABASE=CWAV Inc.
+
+usb:v08A9p0005*
+ ID_MODEL_FROM_DATABASE=USBee ZX
+
+usb:v08A9p0009*
+ ID_MODEL_FROM_DATABASE=USBee SX
+
+usb:v08A9p0012*
+ ID_MODEL_FROM_DATABASE=USBee AX-Standard
+
+usb:v08A9p0013*
+ ID_MODEL_FROM_DATABASE=USBee AX-Plus
+
+usb:v08A9p0014*
+ ID_MODEL_FROM_DATABASE=USBee AX-Pro
+
+usb:v08A9p0015*
+ ID_MODEL_FROM_DATABASE=USBee DX
+
+usb:v08AE*
+ ID_VENDOR_FROM_DATABASE=Macally (Mace Group, Inc.)
+
+usb:v08B4*
+ ID_VENDOR_FROM_DATABASE=Sorenson Vision, Inc.
+
+usb:v08B7*
+ ID_VENDOR_FROM_DATABASE=NATSU
+
+usb:v08B7p0001*
+ ID_MODEL_FROM_DATABASE=Playstation adapter
+
+usb:v08B8*
+ ID_VENDOR_FROM_DATABASE=J. Gordon Electronic Design, Inc.
+
+usb:v08B8p01F4*
+ ID_MODEL_FROM_DATABASE=USBSIMM1
+
+usb:v08B9*
+ ID_VENDOR_FROM_DATABASE=RadioShack Corp. (Tandy)
+
+usb:v08BB*
+ ID_VENDOR_FROM_DATABASE=Texas Instruments
+
+usb:v08BBp2702*
+ ID_MODEL_FROM_DATABASE=Speakers
+
+usb:v08BBp2704*
+ ID_MODEL_FROM_DATABASE=Audio Codec
+
+usb:v08BBp2706*
+ ID_MODEL_FROM_DATABASE=PCM2706 Audio Codec
+
+usb:v08BBp2900*
+ ID_MODEL_FROM_DATABASE=PCM2900 Audio Codec
+
+usb:v08BBp2901*
+ ID_MODEL_FROM_DATABASE=PCM2901 Audio Codec
+
+usb:v08BBp2902*
+ ID_MODEL_FROM_DATABASE=PCM2902 Audio Codec
+
+usb:v08BBp2904*
+ ID_MODEL_FROM_DATABASE=PCM2904 Audio Codec
+
+usb:v08BBp2910*
+ ID_MODEL_FROM_DATABASE=PCM2912 Audio Codec
+
+usb:v08BBp29B0*
+ ID_MODEL_FROM_DATABASE=PCM2900B Audio CODEC
+
+usb:v08BBp29B2*
+ ID_MODEL_FROM_DATABASE=PCM2902 Audio CODEC
+
+usb:v08BBp29B3*
+ ID_MODEL_FROM_DATABASE=PCM2903B Audio CODEC
+
+usb:v08BBp29B6*
+ ID_MODEL_FROM_DATABASE=PCM2906B Audio CODEC
+
+usb:v08BBp29C0*
+ ID_MODEL_FROM_DATABASE=PCM2900C Audio CODEC
+
+usb:v08BBp29C2*
+ ID_MODEL_FROM_DATABASE=PCM2902C Audio CODEC
+
+usb:v08BBp29C3*
+ ID_MODEL_FROM_DATABASE=PCM2903C Audio CODEC
+
+usb:v08BBp29C6*
+ ID_MODEL_FROM_DATABASE=PCM2906C Audio CODEC
+
+usb:v08BD*
+ ID_VENDOR_FROM_DATABASE=Citizen Watch Co., Ltd
+
+usb:v08BDp0208*
+ ID_MODEL_FROM_DATABASE=CLP-521 Label Printer
+
+usb:v08BDp1100*
+ ID_MODEL_FROM_DATABASE=X1-USB Floppy
+
+usb:v08C3*
+ ID_VENDOR_FROM_DATABASE=Precise Biometrics
+
+usb:v08C3p0001*
+ ID_MODEL_FROM_DATABASE=100 SC
+
+usb:v08C3p0002*
+ ID_MODEL_FROM_DATABASE=100 A
+
+usb:v08C3p0003*
+ ID_MODEL_FROM_DATABASE=100 SC BioKeyboard
+
+usb:v08C3p0006*
+ ID_MODEL_FROM_DATABASE=100 A BioKeyboard
+
+usb:v08C3p0100*
+ ID_MODEL_FROM_DATABASE=100 MC ISP
+
+usb:v08C3p0101*
+ ID_MODEL_FROM_DATABASE=100 MC FingerPrint and SmartCard Reader
+
+usb:v08C3p0300*
+ ID_MODEL_FROM_DATABASE=100 AX
+
+usb:v08C3p0400*
+ ID_MODEL_FROM_DATABASE=100 SC
+
+usb:v08C3p0401*
+ ID_MODEL_FROM_DATABASE=150 MC
+
+usb:v08C3p0402*
+ ID_MODEL_FROM_DATABASE=200 MC FingerPrint and SmartCard Reader
+
+usb:v08C3p0404*
+ ID_MODEL_FROM_DATABASE=100 SC Upgrade
+
+usb:v08C3p0405*
+ ID_MODEL_FROM_DATABASE=150 MC Upgrade
+
+usb:v08C3p0406*
+ ID_MODEL_FROM_DATABASE=100 MC Upgrade
+
+usb:v08C4*
+ ID_VENDOR_FROM_DATABASE=Proxim, Inc.
+
+usb:v08C4p0100*
+ ID_MODEL_FROM_DATABASE=Skyline 802.11b Wireless Adapter
+
+usb:v08C4p02F2*
+ ID_MODEL_FROM_DATABASE=Farallon Home Phoneline Adapter
+
+usb:v08C7*
+ ID_VENDOR_FROM_DATABASE=Key Nice Enterprise Co., Ltd
+
+usb:v08C8*
+ ID_VENDOR_FROM_DATABASE=2Wire, Inc.
+
+usb:v08C9*
+ ID_VENDOR_FROM_DATABASE=Nippon Telegraph and Telephone Corp.
+
+usb:v08CA*
+ ID_VENDOR_FROM_DATABASE=Aiptek International, Inc.
+
+usb:v08CAp0001*
+ ID_MODEL_FROM_DATABASE=Tablet
+
+usb:v08CAp0010*
+ ID_MODEL_FROM_DATABASE=Tablet
+
+usb:v08CAp0020*
+ ID_MODEL_FROM_DATABASE=APT-6000U Tablet
+
+usb:v08CAp0021*
+ ID_MODEL_FROM_DATABASE=APT-2 Tablet
+
+usb:v08CAp0022*
+ ID_MODEL_FROM_DATABASE=Tablet
+
+usb:v08CAp0023*
+ ID_MODEL_FROM_DATABASE=Tablet
+
+usb:v08CAp0024*
+ ID_MODEL_FROM_DATABASE=Tablet
+
+usb:v08CAp0100*
+ ID_MODEL_FROM_DATABASE=Pen Drive
+
+usb:v08CAp0102*
+ ID_MODEL_FROM_DATABASE=DualCam
+
+usb:v08CAp0103*
+ ID_MODEL_FROM_DATABASE=Pocket DV Digital Camera
+
+usb:v08CAp0104*
+ ID_MODEL_FROM_DATABASE=Pocket DVII
+
+usb:v08CAp0105*
+ ID_MODEL_FROM_DATABASE=Mega DV(Disk)
+
+usb:v08CAp0106*
+ ID_MODEL_FROM_DATABASE=Pocket DV3100+
+
+usb:v08CAp0107*
+ ID_MODEL_FROM_DATABASE=Pocket DV3100
+
+usb:v08CAp0109*
+ ID_MODEL_FROM_DATABASE=Nisis DV4 Digital Camera
+
+usb:v08CAp010A*
+ ID_MODEL_FROM_DATABASE=Trust 738AV LCD PV Mass Storage
+
+usb:v08CAp0111*
+ ID_MODEL_FROM_DATABASE=PenCam VGA Plus
+
+usb:v08CAp2008*
+ ID_MODEL_FROM_DATABASE=Mini PenCam 2
+
+usb:v08CAp2010*
+ ID_MODEL_FROM_DATABASE=Pocket CAM 3 Mega (webcam)
+
+usb:v08CAp2011*
+ ID_MODEL_FROM_DATABASE=Pocket CAM 3 Mega (storage)
+
+usb:v08CAp2016*
+ ID_MODEL_FROM_DATABASE=PocketCam 2 Mega
+
+usb:v08CAp2018*
+ ID_MODEL_FROM_DATABASE=Pencam SD 2M
+
+usb:v08CAp2020*
+ ID_MODEL_FROM_DATABASE=Slim 3000F
+
+usb:v08CAp2022*
+ ID_MODEL_FROM_DATABASE=Slim 3200
+
+usb:v08CAp2024*
+ ID_MODEL_FROM_DATABASE=Pocket DV3500
+
+usb:v08CAp2028*
+ ID_MODEL_FROM_DATABASE=Pocket Cam4M
+
+usb:v08CAp2040*
+ ID_MODEL_FROM_DATABASE=Pocket DV4100M
+
+usb:v08CAp2042*
+ ID_MODEL_FROM_DATABASE=Pocket DV5100M Composite Device
+
+usb:v08CAp2043*
+ ID_MODEL_FROM_DATABASE=Pocket DV5100M (Disk)
+
+usb:v08CAp2060*
+ ID_MODEL_FROM_DATABASE=Pocket DV5300
+
+usb:v08CD*
+ ID_VENDOR_FROM_DATABASE=Jue Hsun Ind. Corp.
+
+usb:v08CE*
+ ID_VENDOR_FROM_DATABASE=Long Well Electronics Corp.
+
+usb:v08CF*
+ ID_VENDOR_FROM_DATABASE=Productivity Enhancement Products
+
+usb:v08D1*
+ ID_VENDOR_FROM_DATABASE=smartBridges, Inc.
+
+usb:v08D1p0001*
+ ID_MODEL_FROM_DATABASE=smartNIC Ethernet [catc]
+
+usb:v08D1p0003*
+ ID_MODEL_FROM_DATABASE=smartNIC 2 PnP Ethernet
+
+usb:v08D3*
+ ID_VENDOR_FROM_DATABASE=Virtual Ink
+
+usb:v08D4*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Siemens Computers
+
+usb:v08D4p0009*
+ ID_MODEL_FROM_DATABASE=SCR SmartCard Reader
+
+usb:v08D8*
+ ID_VENDOR_FROM_DATABASE=IXXAT Automation GmbH
+
+usb:v08D8p0002*
+ ID_MODEL_FROM_DATABASE=USB-to-CAN compact
+
+usb:v08D8p0003*
+ ID_MODEL_FROM_DATABASE=USB-to-CAN II
+
+usb:v08D8p0100*
+ ID_MODEL_FROM_DATABASE=USB-to-CAN
+
+usb:v08D9*
+ ID_VENDOR_FROM_DATABASE=Increment P Corp.
+
+usb:v08DD*
+ ID_VENDOR_FROM_DATABASE=Billionton Systems, Inc.
+
+usb:v08DDp0112*
+ ID_MODEL_FROM_DATABASE=Wireless LAN Adapter
+
+usb:v08DDp0113*
+ ID_MODEL_FROM_DATABASE=Wireless LAN Adapter
+
+usb:v08DDp0986*
+ ID_MODEL_FROM_DATABASE=USB-100N Ethernet [pegasus]
+
+usb:v08DDp0987*
+ ID_MODEL_FROM_DATABASE=USBLP-100 HomePNA Ethernet [pegasus]
+
+usb:v08DDp0988*
+ ID_MODEL_FROM_DATABASE=USBEL-100 Ethernet [pegasus]
+
+usb:v08DDp1986*
+ ID_MODEL_FROM_DATABASE=10/100 LAN Adapter
+
+usb:v08DDp2103*
+ ID_MODEL_FROM_DATABASE=DVB-T TV-Tuner Card-R
+
+usb:v08DDp8511*
+ ID_MODEL_FROM_DATABASE=USBE-100 Ethernet [pegasus2]
+
+usb:v08DDp90FF*
+ ID_MODEL_FROM_DATABASE=USB2AR Ethernet
+
+usb:v08DE*
+ ID_VENDOR_FROM_DATABASE=???
+
+usb:v08DEp7A01*
+ ID_MODEL_FROM_DATABASE=802.11b Adapter
+
+usb:v08DF*
+ ID_VENDOR_FROM_DATABASE=Spyrus, Inc.
+
+usb:v08DFp0001*
+ ID_MODEL_FROM_DATABASE=Rosetta Token V1
+
+usb:v08DFp0002*
+ ID_MODEL_FROM_DATABASE=Rosetta Token V2
+
+usb:v08DFp0003*
+ ID_MODEL_FROM_DATABASE=Rosetta Token V3
+
+usb:v08DFp0A00*
+ ID_MODEL_FROM_DATABASE=Lynks Interface
+
+usb:v08E3*
+ ID_VENDOR_FROM_DATABASE=Olitec, Inc.
+
+usb:v08E3p0002*
+ ID_MODEL_FROM_DATABASE=USB-RS232 Bridge
+
+usb:v08E3p0100*
+ ID_MODEL_FROM_DATABASE=Interface ADSL
+
+usb:v08E3p0101*
+ ID_MODEL_FROM_DATABASE=Interface ADSL
+
+usb:v08E3p0102*
+ ID_MODEL_FROM_DATABASE=ADSL
+
+usb:v08E3p0301*
+ ID_MODEL_FROM_DATABASE=RNIS
+
+usb:v08E4*
+ ID_VENDOR_FROM_DATABASE=Pioneer Corp.
+
+usb:v08E5*
+ ID_VENDOR_FROM_DATABASE=Litronic
+
+usb:v08E6*
+ ID_VENDOR_FROM_DATABASE=Gemplus
+
+usb:v08E6p0001*
+ ID_MODEL_FROM_DATABASE=GemPC-Touch 430
+
+usb:v08E6p0430*
+ ID_MODEL_FROM_DATABASE=GemPC430 SmartCard Reader
+
+usb:v08E6p0432*
+ ID_MODEL_FROM_DATABASE=GemPC432 SmartCard Reader
+
+usb:v08E6p0435*
+ ID_MODEL_FROM_DATABASE=GemPC435 SmartCard Reader
+
+usb:v08E6p0437*
+ ID_MODEL_FROM_DATABASE=GemPC433 SL SmartCard Reader
+
+usb:v08E6p1359*
+ ID_MODEL_FROM_DATABASE=UA SECURE STORAGE TOKEN
+
+usb:v08E6p2202*
+ ID_MODEL_FROM_DATABASE=Gem e-Seal Pro Token
+
+usb:v08E6p3437*
+ ID_MODEL_FROM_DATABASE=GemPC Twin SmartCard Reader
+
+usb:v08E6p3438*
+ ID_MODEL_FROM_DATABASE=GemPC Key SmartCard Reader
+
+usb:v08E6p3478*
+ ID_MODEL_FROM_DATABASE=PinPad Smart Card Reader
+
+usb:v08E6p34EC*
+ ID_MODEL_FROM_DATABASE=Compact Smart Card Reader Writer
+
+usb:v08E6p4433*
+ ID_MODEL_FROM_DATABASE=GemPC433-Swap
+
+usb:v08E6p5501*
+ ID_MODEL_FROM_DATABASE=GemProx-PU Contactless Smart Card Reader
+
+usb:v08E6pACE0*
+ ID_MODEL_FROM_DATABASE=UA HYBRID TOKEN
+
+usb:v08E7*
+ ID_VENDOR_FROM_DATABASE=Pan-International Wire & Cable
+
+usb:v08E8*
+ ID_VENDOR_FROM_DATABASE=Integrated Memory Logic
+
+usb:v08E9*
+ ID_VENDOR_FROM_DATABASE=Extended Systems, Inc.
+
+usb:v08E9p0100*
+ ID_MODEL_FROM_DATABASE=XTNDAccess IrDA Dongle
+
+usb:v08EA*
+ ID_VENDOR_FROM_DATABASE=Ericsson, Inc., Blue Ridge Labs
+
+usb:v08EAp00C9*
+ ID_MODEL_FROM_DATABASE=ADSL Modem HM120dp Loader
+
+usb:v08EAp00CA*
+ ID_MODEL_FROM_DATABASE=ADSL WAN Modem HM120dp
+
+usb:v08EAp00CE*
+ ID_MODEL_FROM_DATABASE=HM230d Virtual Bus for Helium
+
+usb:v08EApABBA*
+ ID_MODEL_FROM_DATABASE=USB Driver for Bluetooth Wireless Technology
+
+usb:v08EApABBB*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device in DFU State
+
+usb:v08EC*
+ ID_VENDOR_FROM_DATABASE=M-Systems Flash Disk Pioneers
+
+usb:v08ECp0001*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v08ECp0002*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v08ECp0005*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v08ECp0008*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v08ECp0010*
+ ID_MODEL_FROM_DATABASE=DiskOnKey
+
+usb:v08ECp0011*
+ ID_MODEL_FROM_DATABASE=DiskOnKey
+
+usb:v08ECp0012*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v08ECp0014*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v08ECp0015*
+ ID_MODEL_FROM_DATABASE=Kingston DataTraveler ELITE
+
+usb:v08ECp0016*
+ ID_MODEL_FROM_DATABASE=Kingston DataTraveler U3
+
+usb:v08ECp0020*
+ ID_MODEL_FROM_DATABASE=TravelDrive Intuix U3 2GB
+
+usb:v08ECp0021*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ECp0022*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ECp0023*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ECp0024*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ECp0025*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ECp0026*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ECp0027*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ECp0028*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ECp0029*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ECp0030*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ECp0822*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v08ECp0832*
+ ID_MODEL_FROM_DATABASE=Hi-Speed Mass Storage Device
+
+usb:v08ECp0834*
+ ID_MODEL_FROM_DATABASE=M-Disk 220
+
+usb:v08ECp0998*
+ ID_MODEL_FROM_DATABASE=Kingston Data Traveler2.0 Disk Driver
+
+usb:v08ECp0999*
+ ID_MODEL_FROM_DATABASE=Kingston Data Traveler2.0 Disk Driver
+
+usb:v08ECp1000*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v08ECp2000*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v08ECp2038*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ECp2039*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ECp204A*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ECp204B*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v08ED*
+ ID_VENDOR_FROM_DATABASE=MediaTek Inc.
+
+usb:v08EDp0002*
+ ID_MODEL_FROM_DATABASE=CECT M800 memory card
+
+usb:v08EE*
+ ID_VENDOR_FROM_DATABASE=CCSI/Hesso
+
+usb:v08F0*
+ ID_VENDOR_FROM_DATABASE=Corex Technologies
+
+usb:v08F1*
+ ID_VENDOR_FROM_DATABASE=CTI Electronics Corp.
+
+usb:v08F2*
+ ID_VENDOR_FROM_DATABASE=Gotop Information Inc.
+
+usb:v08F2p007F*
+ ID_MODEL_FROM_DATABASE=Super Q2 Tablet
+
+usb:v08F5*
+ ID_VENDOR_FROM_DATABASE=SysTec Co., Ltd
+
+usb:v08F6*
+ ID_VENDOR_FROM_DATABASE=Logic 3 International, Ltd
+
+usb:v08F7*
+ ID_VENDOR_FROM_DATABASE=Vernier
+
+usb:v08F7p0001*
+ ID_MODEL_FROM_DATABASE=LabPro
+
+usb:v08F7p0002*
+ ID_MODEL_FROM_DATABASE=EasyTemp/Go!Temp
+
+usb:v08F7p0003*
+ ID_MODEL_FROM_DATABASE=Go!Link
+
+usb:v08F7p0004*
+ ID_MODEL_FROM_DATABASE=Go!Motion
+
+usb:v08F8*
+ ID_VENDOR_FROM_DATABASE=Keen Top International Enterprise Co., Ltd
+
+usb:v08F9*
+ ID_VENDOR_FROM_DATABASE=Wipro Technologies
+
+usb:v08FA*
+ ID_VENDOR_FROM_DATABASE=Caere
+
+usb:v08FB*
+ ID_VENDOR_FROM_DATABASE=Socket Communications
+
+usb:v08FC*
+ ID_VENDOR_FROM_DATABASE=Sicon Cable Technology Co., Ltd
+
+usb:v08FD*
+ ID_VENDOR_FROM_DATABASE=Digianswer A/S
+
+usb:v08FDp0001*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v08FF*
+ ID_VENDOR_FROM_DATABASE=AuthenTec, Inc.
+
+usb:v08FFp1600*
+ ID_MODEL_FROM_DATABASE=AES1600
+
+usb:v08FFp1610*
+ ID_MODEL_FROM_DATABASE=AES1600
+
+usb:v08FFp1660*
+ ID_MODEL_FROM_DATABASE=AES1660 Fingerprint Sensor
+
+usb:v08FFp1680*
+ ID_MODEL_FROM_DATABASE=AES1660 Fingerprint Sensor
+
+usb:v08FFp168F*
+ ID_MODEL_FROM_DATABASE=AES1660 Fingerprint Sensor
+
+usb:v08FFp2500*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp2501*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp2502*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp2503*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp2504*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp2505*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp2506*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp2507*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp2508*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp2509*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp250A*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp250B*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp250C*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp250D*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp250E*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp250F*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp2510*
+ ID_MODEL_FROM_DATABASE=AES2510
+
+usb:v08FFp2550*
+ ID_MODEL_FROM_DATABASE=AES2550 Fingerprint Sensor
+
+usb:v08FFp2580*
+ ID_MODEL_FROM_DATABASE=AES2501 Fingerprint Sensor
+
+usb:v08FFp2588*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp2589*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp258A*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp258B*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp258C*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp258D*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp258E*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp258F*
+ ID_MODEL_FROM_DATABASE=AES2501
+
+usb:v08FFp2660*
+ ID_MODEL_FROM_DATABASE=AES2660 Fingerprint Sensor
+
+usb:v08FFp2680*
+ ID_MODEL_FROM_DATABASE=AES2660 Fingerprint Sensor
+
+usb:v08FFp268F*
+ ID_MODEL_FROM_DATABASE=AES2660 Fingerprint Sensor
+
+usb:v08FFp2810*
+ ID_MODEL_FROM_DATABASE=AES2810
+
+usb:v08FFp3400*
+ ID_MODEL_FROM_DATABASE=AES3400 TruePrint Sensor
+
+usb:v08FFp3401*
+ ID_MODEL_FROM_DATABASE=AES3400 Sensor
+
+usb:v08FFp3402*
+ ID_MODEL_FROM_DATABASE=AES3400 Sensor
+
+usb:v08FFp3403*
+ ID_MODEL_FROM_DATABASE=AES3400 Sensor
+
+usb:v08FFp3404*
+ ID_MODEL_FROM_DATABASE=AES3400 TruePrint Sensor
+
+usb:v08FFp3405*
+ ID_MODEL_FROM_DATABASE=AES3400 TruePrint Sensor
+
+usb:v08FFp3406*
+ ID_MODEL_FROM_DATABASE=AES3400 TruePrint Sensor
+
+usb:v08FFp3407*
+ ID_MODEL_FROM_DATABASE=AES3400 TruePrint Sensor
+
+usb:v08FFp4902*
+ ID_MODEL_FROM_DATABASE=BioMV with TruePrint AES3500
+
+usb:v08FFp4903*
+ ID_MODEL_FROM_DATABASE=BioMV with TruePrint AES3400
+
+usb:v08FFp5500*
+ ID_MODEL_FROM_DATABASE=AES4000
+
+usb:v08FFp5501*
+ ID_MODEL_FROM_DATABASE=AES4000 TruePrint Sensor
+
+usb:v08FFp5503*
+ ID_MODEL_FROM_DATABASE=AES4000 TruePrint Sensor
+
+usb:v08FFp5505*
+ ID_MODEL_FROM_DATABASE=AES4000 TruePrint Sensor
+
+usb:v08FFp5507*
+ ID_MODEL_FROM_DATABASE=AES4000 TruePrint Sensor
+
+usb:v08FFp55FF*
+ ID_MODEL_FROM_DATABASE=AES4000 TruePrint Sensor.
+
+usb:v08FFp5700*
+ ID_MODEL_FROM_DATABASE=AES3500 Fingerprint Reader
+
+usb:v08FFp5701*
+ ID_MODEL_FROM_DATABASE=AES3500 TruePrint Sensor
+
+usb:v08FFp5702*
+ ID_MODEL_FROM_DATABASE=AES3500 TruePrint Sensor
+
+usb:v08FFp5703*
+ ID_MODEL_FROM_DATABASE=AES3500 TruePrint Sensor
+
+usb:v08FFp5704*
+ ID_MODEL_FROM_DATABASE=AES3500-BZ TruePrint Sensor
+
+usb:v08FFp5705*
+ ID_MODEL_FROM_DATABASE=AES3500-BZ TruePrint Sensor
+
+usb:v08FFp5706*
+ ID_MODEL_FROM_DATABASE=AES3500-BZ TruePrint Sensor
+
+usb:v08FFp5707*
+ ID_MODEL_FROM_DATABASE=AES3500-BZ TruePrint Sensor
+
+usb:v08FFp5710*
+ ID_MODEL_FROM_DATABASE=AES3500 TruePrint Sensor
+
+usb:v08FFp5711*
+ ID_MODEL_FROM_DATABASE=AES3500 TruePrint Sensor
+
+usb:v08FFp5712*
+ ID_MODEL_FROM_DATABASE=AES3500 TruePrint Sensor
+
+usb:v08FFp5713*
+ ID_MODEL_FROM_DATABASE=AES3500 TruePrint Sensor
+
+usb:v08FFp5714*
+ ID_MODEL_FROM_DATABASE=AES3500-BZ TruePrint Sensor
+
+usb:v08FFp5715*
+ ID_MODEL_FROM_DATABASE=AES3500-BZ TruePrint Sensor
+
+usb:v08FFp5716*
+ ID_MODEL_FROM_DATABASE=AES3500-BZ TruePrint Sensor
+
+usb:v08FFp5717*
+ ID_MODEL_FROM_DATABASE=AES3500-BZ TruePrint Sensor
+
+usb:v08FFp5730*
+ ID_MODEL_FROM_DATABASE=AES3500 TruePrint Sensor
+
+usb:v08FFp5731*
+ ID_MODEL_FROM_DATABASE=AES3500 TruePrint Sensor
+
+usb:v08FFp5732*
+ ID_MODEL_FROM_DATABASE=AES3500 TruePrint Sensor
+
+usb:v08FFp5733*
+ ID_MODEL_FROM_DATABASE=AES3500 TruePrint Sensor
+
+usb:v08FFp5734*
+ ID_MODEL_FROM_DATABASE=AES3500-BZ TruePrint Sensor
+
+usb:v08FFp5735*
+ ID_MODEL_FROM_DATABASE=AES3500-BZ TruePrint Sensor
+
+usb:v08FFp5736*
+ ID_MODEL_FROM_DATABASE=AES3500-BZ TruePrint Sensor
+
+usb:v08FFp5737*
+ ID_MODEL_FROM_DATABASE=AES3500-BZ TruePrint Sensor
+
+usb:v08FFpAFE3*
+ ID_MODEL_FROM_DATABASE=FingerLoc Sensor Module (Anchor)
+
+usb:v08FFpAFE4*
+ ID_MODEL_FROM_DATABASE=FingerLoc Sensor Module (Anchor)
+
+usb:v08FFpAFE5*
+ ID_MODEL_FROM_DATABASE=FingerLoc Sensor Module (Anchor)
+
+usb:v08FFpAFE6*
+ ID_MODEL_FROM_DATABASE=FingerLoc Sensor Module (Anchor)
+
+usb:v08FFpFFFD*
+ ID_MODEL_FROM_DATABASE=AES2510 Sensor (USB Emulator)
+
+usb:v08FFpFFFF*
+ ID_MODEL_FROM_DATABASE=Sensor (Emulator)
+
+usb:v0900*
+ ID_VENDOR_FROM_DATABASE=Pinnacle Systems, Inc.
+
+usb:v0901*
+ ID_VENDOR_FROM_DATABASE=VST Technologies
+
+usb:v0901p0001*
+ ID_MODEL_FROM_DATABASE=Hard Drive Adapter (TPP)
+
+usb:v0901p0002*
+ ID_MODEL_FROM_DATABASE=SigmaDrive Adapter (TPP)
+
+usb:v0906*
+ ID_VENDOR_FROM_DATABASE=Faraday Technology Corp.
+
+usb:v0908*
+ ID_VENDOR_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd
+
+usb:v0908p2701*
+ ID_MODEL_FROM_DATABASE=Spy Pen VGA
+
+usb:v0909*
+ ID_VENDOR_FROM_DATABASE=Audio-Technica Corp.
+
+usb:v090A*
+ ID_VENDOR_FROM_DATABASE=Trumpion Microelectronics, Inc.
+
+usb:v090Ap1001*
+ ID_MODEL_FROM_DATABASE=T33520 Flash Card Controller
+
+usb:v090Ap1100*
+ ID_MODEL_FROM_DATABASE=Comotron C3310 MP3 player
+
+usb:v090Ap1200*
+ ID_MODEL_FROM_DATABASE=MP3 player
+
+usb:v090Ap1540*
+ ID_MODEL_FROM_DATABASE=Digitex Container Flash Disk
+
+usb:v090B*
+ ID_VENDOR_FROM_DATABASE=Neurosmith
+
+usb:v090C*
+ ID_VENDOR_FROM_DATABASE=Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.)
+
+usb:v090Cp0371*
+ ID_MODEL_FROM_DATABASE=Silicon Motion SM371 Camera
+
+usb:v090Cp0373*
+ ID_MODEL_FROM_DATABASE=Silicon Motion Camera
+
+usb:v090Cp037A*
+ ID_MODEL_FROM_DATABASE=Silicon Motion Camera
+
+usb:v090Cp037B*
+ ID_MODEL_FROM_DATABASE=Silicon Motion Camera
+
+usb:v090Cp1000*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v090Cp1132*
+ ID_MODEL_FROM_DATABASE=5-in-1 Card Reader
+
+usb:v090Cp337B*
+ ID_MODEL_FROM_DATABASE=Silicon Motion Camera
+
+usb:v090Cp3710*
+ ID_MODEL_FROM_DATABASE=Silicon Motion Camera
+
+usb:v090Cp3720*
+ ID_MODEL_FROM_DATABASE=Silicon Motion Camera
+
+usb:v090Cp37BC*
+ ID_MODEL_FROM_DATABASE=HP Webcam-101 Integrated Camera
+
+usb:v090Cp37C0*
+ ID_MODEL_FROM_DATABASE=Silicon Motion Camera
+
+usb:v090Cp6000*
+ ID_MODEL_FROM_DATABASE=SD/SDHC Card Reader (SG365 / FlexiDrive XC+)
+
+usb:v090Cp6200*
+ ID_MODEL_FROM_DATABASE=microSD card reader
+
+usb:v090Cp71B3*
+ ID_MODEL_FROM_DATABASE=SM731 Camera
+
+usb:v090Cp837B*
+ ID_MODEL_FROM_DATABASE=Silicon Motion Camera
+
+usb:v090Cp937B*
+ ID_MODEL_FROM_DATABASE=Silicon Motion Camera
+
+usb:v090CpB370*
+ ID_MODEL_FROM_DATABASE=Silicon Motion SM370 Camera
+
+usb:v090CpB371*
+ ID_MODEL_FROM_DATABASE=Silicon Motion SM371 Camera
+
+usb:v090D*
+ ID_VENDOR_FROM_DATABASE=Multiport Computer Vertriebs GmbH
+
+usb:v090E*
+ ID_VENDOR_FROM_DATABASE=Shining Technology, Inc.
+
+usb:v090F*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Devices, Inc.
+
+usb:v0910*
+ ID_VENDOR_FROM_DATABASE=Alation Systems, Inc.
+
+usb:v0911*
+ ID_VENDOR_FROM_DATABASE=Philips Speech Processing
+
+usb:v0911p149A*
+ ID_MODEL_FROM_DATABASE=SpeechMike II Pro Plus LFH5276
+
+usb:v0911p2512*
+ ID_MODEL_FROM_DATABASE=SpeechMike Pro
+
+usb:v0912*
+ ID_VENDOR_FROM_DATABASE=Voquette, Inc.
+
+usb:v0915*
+ ID_VENDOR_FROM_DATABASE=GlobeSpan, Inc.
+
+usb:v0915p0001*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v0915p0002*
+ ID_MODEL_FROM_DATABASE=ADSL ATM Modem
+
+usb:v0915p0005*
+ ID_MODEL_FROM_DATABASE=LAN Modem
+
+usb:v0915p2000*
+ ID_MODEL_FROM_DATABASE=802.11 Adapter
+
+usb:v0915p2002*
+ ID_MODEL_FROM_DATABASE=802.11 Adapter
+
+usb:v0915p8000*
+ ID_MODEL_FROM_DATABASE=ADSL LAN Modem
+
+usb:v0915p8005*
+ ID_MODEL_FROM_DATABASE=DSL-302G Modem
+
+usb:v0915p8101*
+ ID_MODEL_FROM_DATABASE=ADSL WAN Modem
+
+usb:v0915p8102*
+ ID_MODEL_FROM_DATABASE=DSL-200 ADSL Modem
+
+usb:v0915p8103*
+ ID_MODEL_FROM_DATABASE=DSL-200 ADSL Modem
+
+usb:v0915p8104*
+ ID_MODEL_FROM_DATABASE=DSL-200 Modem
+
+usb:v0915p8400*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v0915p8401*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v0915p8402*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v0915p8500*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v0915p8501*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v0917*
+ ID_VENDOR_FROM_DATABASE=SmartDisk Corp.
+
+usb:v0917p0001*
+ ID_MODEL_FROM_DATABASE=eFilm Reader-11 SM/CF
+
+usb:v0917p0002*
+ ID_MODEL_FROM_DATABASE=eFilm Reader-11 SM
+
+usb:v0917p0003*
+ ID_MODEL_FROM_DATABASE=eFilm Reader-11 CF
+
+usb:v0917p0200*
+ ID_MODEL_FROM_DATABASE=FireFly
+
+usb:v0917p0201*
+ ID_MODEL_FROM_DATABASE=FireLite
+
+usb:v0917p0202*
+ ID_MODEL_FROM_DATABASE=STORAGE ADAPTER (FirePower)
+
+usb:v0917p0204*
+ ID_MODEL_FROM_DATABASE=FlashTrax Storage
+
+usb:v0917p0205*
+ ID_MODEL_FROM_DATABASE=STORAGE ADAPTER (CrossFire)
+
+usb:v0917p0206*
+ ID_MODEL_FROM_DATABASE=FireFly 20G HDD
+
+usb:v0917p0207*
+ ID_MODEL_FROM_DATABASE=FireLite
+
+usb:v0917p020F*
+ ID_MODEL_FROM_DATABASE=STORAGE ADAPTER (FireLite)
+
+usb:v0917pDA01*
+ ID_MODEL_FROM_DATABASE=eFilm Reader-11 Test
+
+usb:v0917pFFFF*
+ ID_MODEL_FROM_DATABASE=eFilm Reader-11 (Class/PDR)
+
+usb:v0919*
+ ID_VENDOR_FROM_DATABASE=Tiger Electronics
+
+usb:v0919p0100*
+ ID_MODEL_FROM_DATABASE=Fast Flicks Digital Camera
+
+usb:v091E*
+ ID_VENDOR_FROM_DATABASE=Garmin International
+
+usb:v091Ep0003*
+ ID_MODEL_FROM_DATABASE=GPS (various models)
+
+usb:v091Ep0004*
+ ID_MODEL_FROM_DATABASE=iQue 3600
+
+usb:v091Ep0200*
+ ID_MODEL_FROM_DATABASE=Data Card Programmer (install)
+
+usb:v091Ep1200*
+ ID_MODEL_FROM_DATABASE=Data Card Programmer
+
+usb:v091Ep21A5*
+ ID_MODEL_FROM_DATABASE=etrex Cx (msc)
+
+usb:v091Ep2236*
+ ID_MODEL_FROM_DATABASE=nuvi 360
+
+usb:v091Ep2271*
+ ID_MODEL_FROM_DATABASE=Edge 605/705
+
+usb:v091Ep2295*
+ ID_MODEL_FROM_DATABASE=Colorado 300
+
+usb:v091Ep22B6*
+ ID_MODEL_FROM_DATABASE=eTrex Vista HCx (Mass Storage mode)
+
+usb:v091Ep231B*
+ ID_MODEL_FROM_DATABASE=Oregon 400t
+
+usb:v091Ep2353*
+ ID_MODEL_FROM_DATABASE=Nüvi 205T
+
+usb:v091Ep2380*
+ ID_MODEL_FROM_DATABASE=Oregon series
+
+usb:v091Ep23CC*
+ ID_MODEL_FROM_DATABASE=nüvi 1350
+
+usb:v091Ep2459*
+ ID_MODEL_FROM_DATABASE=GPSmap 62/78 series
+
+usb:v091Ep2519*
+ ID_MODEL_FROM_DATABASE=eTrex 30
+
+usb:v091Ep2535*
+ ID_MODEL_FROM_DATABASE=Edge 800
+
+usb:v091Ep255B*
+ ID_MODEL_FROM_DATABASE=Nuvi 2505LM
+
+usb:v0920*
+ ID_VENDOR_FROM_DATABASE=Echelon Co.
+
+usb:v0920p7500*
+ ID_MODEL_FROM_DATABASE=Network Interface
+
+usb:v0921*
+ ID_VENDOR_FROM_DATABASE=GoHubs, Inc.
+
+usb:v0921p1001*
+ ID_MODEL_FROM_DATABASE=GoCOM232 Serial
+
+usb:v0922*
+ ID_VENDOR_FROM_DATABASE=Dymo-CoStar Corp.
+
+usb:v0922p0007*
+ ID_MODEL_FROM_DATABASE=LabelWriter 330
+
+usb:v0922p0009*
+ ID_MODEL_FROM_DATABASE=LabelWriter 310
+
+usb:v0922p001A*
+ ID_MODEL_FROM_DATABASE=LabelWriter 400 Turbo
+
+usb:v0922p0020*
+ ID_MODEL_FROM_DATABASE=LabelWriter 450
+
+usb:v0923*
+ ID_VENDOR_FROM_DATABASE=IC Media Corp.
+
+usb:v0923p010F*
+ ID_MODEL_FROM_DATABASE=SIIG MobileCam
+
+usb:v0924*
+ ID_VENDOR_FROM_DATABASE=Xerox
+
+usb:v0924p23DD*
+ ID_MODEL_FROM_DATABASE=DocuPrint M760 (X760_USB)
+
+usb:v0924p3CE8*
+ ID_MODEL_FROM_DATABASE=Phaser 3428 Printer
+
+usb:v0924p3D5B*
+ ID_MODEL_FROM_DATABASE=Phaser 6115MFP TWAIN Scanner
+
+usb:v0924p420F*
+ ID_MODEL_FROM_DATABASE=WorkCentre PE220 Series
+
+usb:v0924p421F*
+ ID_MODEL_FROM_DATABASE=M20 Scanner
+
+usb:v0924p423B*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v0924p4274*
+ ID_MODEL_FROM_DATABASE=Xerox Phaser 3635MFPX
+
+usb:v0924pFFEF*
+ ID_MODEL_FROM_DATABASE=WorkCenter M15
+
+usb:v0924pFFFB*
+ ID_MODEL_FROM_DATABASE=DocuPrint M750 (X750_USB)
+
+usb:v0925*
+ ID_VENDOR_FROM_DATABASE=Lakeview Research
+
+usb:v0925p0005*
+ ID_MODEL_FROM_DATABASE=Gamtec.,Ltd SmartJoy PLUS Adapter
+
+usb:v0925p3881*
+ ID_MODEL_FROM_DATABASE=Saleae Logic
+
+usb:v0925p8101*
+ ID_MODEL_FROM_DATABASE=Phidgets, Inc., 1-Motor PhidgetServo v2.0
+
+usb:v0925p8104*
+ ID_MODEL_FROM_DATABASE=Phidgets, Inc., 4-Motor PhidgetServo v2.0
+
+usb:v0925p8800*
+ ID_MODEL_FROM_DATABASE=WiseGroup Ltd, MP-8800 Quad Joypad
+
+usb:v0925p8866*
+ ID_MODEL_FROM_DATABASE=WiseGroup Ltd, MP-8866 Dual Joypad
+
+usb:v0927*
+ ID_VENDOR_FROM_DATABASE=Summus, Ltd
+
+usb:v0928*
+ ID_VENDOR_FROM_DATABASE=PLX Technology, Inc. (formerly Oxford Semiconductor, Ltd)
+
+usb:v0928p8000*
+ ID_MODEL_FROM_DATABASE=Firmware uploader
+
+usb:v0929*
+ ID_VENDOR_FROM_DATABASE=American Biometric Co.
+
+usb:v092A*
+ ID_VENDOR_FROM_DATABASE=Toshiba Information & Industrial Sys. And Services
+
+usb:v092B*
+ ID_VENDOR_FROM_DATABASE=Sena Technologies, Inc.
+
+usb:v092F*
+ ID_VENDOR_FROM_DATABASE=Northern Embedded Science/CAVNEX
+
+usb:v092Fp0004*
+ ID_MODEL_FROM_DATABASE=JTAG-4
+
+usb:v092Fp0005*
+ ID_MODEL_FROM_DATABASE=JTAG-5
+
+usb:v0930*
+ ID_VENDOR_FROM_DATABASE=Toshiba Corp.
+
+usb:v0930p0009*
+ ID_MODEL_FROM_DATABASE=Gigabeat F/X (HDD audio player)
+
+usb:v0930p000C*
+ ID_MODEL_FROM_DATABASE=Gigabeat F (mtp)
+
+usb:v0930p0010*
+ ID_MODEL_FROM_DATABASE=Gigabeat S (mtp)
+
+usb:v0930p0301*
+ ID_MODEL_FROM_DATABASE=PCX1100U Cable Modem (WDM)
+
+usb:v0930p0302*
+ ID_MODEL_FROM_DATABASE=PCX2000 Cable Modem (WDM)
+
+usb:v0930p0305*
+ ID_MODEL_FROM_DATABASE=Cable Modem PCX3000
+
+usb:v0930p0307*
+ ID_MODEL_FROM_DATABASE=Cable Modem PCX2500
+
+usb:v0930p0308*
+ ID_MODEL_FROM_DATABASE=PCX2200 Cable Modem (WDM)
+
+usb:v0930p0309*
+ ID_MODEL_FROM_DATABASE=PCX5000 Cable Modem (WDM)
+
+usb:v0930p030B*
+ ID_MODEL_FROM_DATABASE=Cable Modem PCX2600
+
+usb:v0930p0501*
+ ID_MODEL_FROM_DATABASE=Bluetooth Controller
+
+usb:v0930p0502*
+ ID_MODEL_FROM_DATABASE=Integrated Bluetooth
+
+usb:v0930p0503*
+ ID_MODEL_FROM_DATABASE=Bluetooth Controller
+
+usb:v0930p0505*
+ ID_MODEL_FROM_DATABASE=Integrated Bluetooth
+
+usb:v0930p0506*
+ ID_MODEL_FROM_DATABASE=Integrated Bluetooth
+
+usb:v0930p0507*
+ ID_MODEL_FROM_DATABASE=Bluetooth Adapter
+
+usb:v0930p0508*
+ ID_MODEL_FROM_DATABASE=Integrated Bluetooth HCI
+
+usb:v0930p0509*
+ ID_MODEL_FROM_DATABASE=BT EDR Dongle
+
+usb:v0930p0706*
+ ID_MODEL_FROM_DATABASE=PocketPC e740
+
+usb:v0930p0707*
+ ID_MODEL_FROM_DATABASE=Pocket PC e330 Series
+
+usb:v0930p0708*
+ ID_MODEL_FROM_DATABASE=Pocket PC e350 Series
+
+usb:v0930p0709*
+ ID_MODEL_FROM_DATABASE=Pocket PC e750 Series
+
+usb:v0930p070A*
+ ID_MODEL_FROM_DATABASE=Pocket PC e400 Series
+
+usb:v0930p070B*
+ ID_MODEL_FROM_DATABASE=Pocket PC e800 Series
+
+usb:v0930p0A07*
+ ID_MODEL_FROM_DATABASE=WLM-10U1 802.11abgn Wireless Adapter [Ralink RT3572]
+
+usb:v0930p0B05*
+ ID_MODEL_FROM_DATABASE=PX1220E-1G25 External hard drive
+
+usb:v0930p0B09*
+ ID_MODEL_FROM_DATABASE=PX1396E-3T01 External hard drive
+
+usb:v0930p1300*
+ ID_MODEL_FROM_DATABASE=Wireless Broadband (CDMA EV-DO) SM-Bus Minicard Status Port
+
+usb:v0930p1301*
+ ID_MODEL_FROM_DATABASE=Wireless Broadband (CDMA EV-DO) Minicard Status Port
+
+usb:v0930p1302*
+ ID_MODEL_FROM_DATABASE=Wireless Broadband (3G HSDPA) SM-Bus Minicard Status Port
+
+usb:v0930p1303*
+ ID_MODEL_FROM_DATABASE=Wireless Broadband (3G HSDPA) Minicard Status Port
+
+usb:v0930p1308*
+ ID_MODEL_FROM_DATABASE=Broadband (3G HSDPA) SM-Bus Minicard Diagnostics Port
+
+usb:v0930p130B*
+ ID_MODEL_FROM_DATABASE=F3507g Mobile Broadband Module
+
+usb:v0930p130C*
+ ID_MODEL_FROM_DATABASE=F3607gw Mobile Broadband Module
+
+usb:v0930p1311*
+ ID_MODEL_FROM_DATABASE=F3607gw v2 Mobile Broadband Module
+
+usb:v0930p1400*
+ ID_MODEL_FROM_DATABASE=Memory Stick 2GB
+
+usb:v0930p642F*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p6506*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p6507*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p6508*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p6509*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p6510*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p6517*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p6518*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p6519*
+ ID_MODEL_FROM_DATABASE=Kingston DataTraveler 2.0 USB Stick
+
+usb:v0930p651A*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p651B*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p651C*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p651D*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p651E*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p651F*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p6520*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p6521*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p6522*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2C
+
+usb:v0930p6523*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p6524*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p6525*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p6526*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p6527*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p6528*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p6529*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p652A*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p652B*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p652C*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p652D*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p652F*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p6530*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p6531*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p6532*
+ ID_MODEL_FROM_DATABASE=256M Stick
+
+usb:v0930p6533*
+ ID_MODEL_FROM_DATABASE=512M Stick
+
+usb:v0930p6534*
+ ID_MODEL_FROM_DATABASE=TravelDrive
+
+usb:v0930p653C*
+ ID_MODEL_FROM_DATABASE=Kingston DataTraveler 2.0 Stick (512M)
+
+usb:v0930p653D*
+ ID_MODEL_FROM_DATABASE=Kingston DataTraveler 2.0 Stick (1GB)
+
+usb:v0930p653E*
+ ID_MODEL_FROM_DATABASE=Flash Memory
+
+usb:v0930p6540*
+ ID_MODEL_FROM_DATABASE=TransMemory Flash Memory
+
+usb:v0930p6544*
+ ID_MODEL_FROM_DATABASE=Kingston DataTraveler 2.0 Stick (2GB)
+
+usb:v0930p6545*
+ ID_MODEL_FROM_DATABASE=Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick
+
+usb:v0931*
+ ID_VENDOR_FROM_DATABASE=Harmonic Data Systems, Ltd
+
+usb:v0932*
+ ID_VENDOR_FROM_DATABASE=Crescentec Corp.
+
+usb:v0932p0300*
+ ID_MODEL_FROM_DATABASE=VideoAdvantage
+
+usb:v0932p0302*
+ ID_MODEL_FROM_DATABASE=Syntek DC-112X
+
+usb:v0932p0320*
+ ID_MODEL_FROM_DATABASE=VideoAdvantage
+
+usb:v0932p0482*
+ ID_MODEL_FROM_DATABASE=USB2.0 TVBOX
+
+usb:v0932p1100*
+ ID_MODEL_FROM_DATABASE=DC-1100 Video Enhamcement Device
+
+usb:v0932p1112*
+ ID_MODEL_FROM_DATABASE=Veo Web Camera
+
+usb:v0932pA311*
+ ID_MODEL_FROM_DATABASE=Video Enhancement Device
+
+usb:v0933*
+ ID_VENDOR_FROM_DATABASE=Quantum Corp.
+
+usb:v0934*
+ ID_VENDOR_FROM_DATABASE=Spirent Communications
+
+usb:v0936*
+ ID_VENDOR_FROM_DATABASE=NuTesla
+
+usb:v0936p0030*
+ ID_MODEL_FROM_DATABASE=Composite Device, Mass Storage Device (Flash Drive) amd HID
+
+usb:v0936p003C*
+ ID_MODEL_FROM_DATABASE=Rhythmedics HID Bootloader
+
+usb:v0939*
+ ID_VENDOR_FROM_DATABASE=Lumberg, Inc.
+
+usb:v0939p0B15*
+ ID_MODEL_FROM_DATABASE=Toshiba Stor.E Alu 2 1TB (PX1710E-1HJ0)
+
+usb:v093A*
+ ID_VENDOR_FROM_DATABASE=Pixart Imaging, Inc.
+
+usb:v093Ap0007*
+ ID_MODEL_FROM_DATABASE=CMOS 100K-R Rev. 1.90
+
+usb:v093Ap010E*
+ ID_MODEL_FROM_DATABASE=Digital camera, CD302N/Elta Medi@ digi-cam/HE-501A
+
+usb:v093Ap010F*
+ ID_MODEL_FROM_DATABASE=Argus DC-1610/DC-1620/Emprex PCD3600/Philips P44417B keychain camera/Precision Mini,Model HA513A/Vivitar Vivicam 55
+
+usb:v093Ap020F*
+ ID_MODEL_FROM_DATABASE=Bullet Line Photo Viewer
+
+usb:v093Ap050F*
+ ID_MODEL_FROM_DATABASE=Mars-Semi Pc-Camera
+
+usb:v093Ap2460*
+ ID_MODEL_FROM_DATABASE=Q-TEC WEBCAM 100
+
+usb:v093Ap2468*
+ ID_MODEL_FROM_DATABASE=SoC PC-Camera
+
+usb:v093Ap2470*
+ ID_MODEL_FROM_DATABASE=SoC PC-Camera
+
+usb:v093Ap2471*
+ ID_MODEL_FROM_DATABASE=SoC PC-Camera
+
+usb:v093Ap2500*
+ ID_MODEL_FROM_DATABASE=USB Optical Mouse
+
+usb:v093Ap2510*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v093Ap2600*
+ ID_MODEL_FROM_DATABASE=Typhoon Easycam USB 330K (newer)/Typhoon Easycam USB 2.0 VGA 1.3M/Sansun SN-508
+
+usb:v093Ap2601*
+ ID_MODEL_FROM_DATABASE=SPC 610NC Laptop Camera
+
+usb:v093Ap2603*
+ ID_MODEL_FROM_DATABASE=PAC7312 Camera
+
+usb:v093Ap2608*
+ ID_MODEL_FROM_DATABASE=PAC7311 Trust WB-3300p
+
+usb:v093Ap260E*
+ ID_MODEL_FROM_DATABASE=PAC7311 Gigaware VGA PC Camera:Trust WB-3350p:SIGMA cam 2350
+
+usb:v093Ap260F*
+ ID_MODEL_FROM_DATABASE=PAC7311 SnakeCam
+
+usb:v093Ap2621*
+ ID_MODEL_FROM_DATABASE=PAC731x Trust Webcam
+
+usb:v093Ap2624*
+ ID_MODEL_FROM_DATABASE=Webcam
+
+usb:v093B*
+ ID_VENDOR_FROM_DATABASE=Plextor Corp.
+
+usb:v093Bp0010*
+ ID_MODEL_FROM_DATABASE=Storage Adapter
+
+usb:v093Bp0011*
+ ID_MODEL_FROM_DATABASE=PlexWriter 40/12/40U
+
+usb:v093Bp0041*
+ ID_MODEL_FROM_DATABASE=PX-708A DVD RW
+
+usb:v093Bp0042*
+ ID_MODEL_FROM_DATABASE=PX-712UF DVD RW
+
+usb:v093BpA002*
+ ID_MODEL_FROM_DATABASE=ConvertX M402U XLOADER
+
+usb:v093BpA003*
+ ID_MODEL_FROM_DATABASE=ConvertX AV100U A/V Capture Audio
+
+usb:v093BpA004*
+ ID_MODEL_FROM_DATABASE=ConvertX TV402U XLOADER
+
+usb:v093BpA005*
+ ID_MODEL_FROM_DATABASE=ConvertX TV100U A/V Capture
+
+usb:v093BpA102*
+ ID_MODEL_FROM_DATABASE=ConvertX M402U A/V Capture
+
+usb:v093BpA104*
+ ID_MODEL_FROM_DATABASE=ConvertX PX-TV402U/NA
+
+usb:v093C*
+ ID_VENDOR_FROM_DATABASE=Intrepid Control Systems, Inc.
+
+usb:v093Cp0601*
+ ID_MODEL_FROM_DATABASE=ValueCAN
+
+usb:v093Cp0701*
+ ID_MODEL_FROM_DATABASE=NeoVI Blue vehicle bus interface
+
+usb:v093D*
+ ID_VENDOR_FROM_DATABASE=InnoSync, Inc.
+
+usb:v093E*
+ ID_VENDOR_FROM_DATABASE=J.S.T. Mfg. Co., Ltd
+
+usb:v093F*
+ ID_VENDOR_FROM_DATABASE=Olympia Telecom Vertriebs GmbH
+
+usb:v0940*
+ ID_VENDOR_FROM_DATABASE=Japan Storage Battery Co., Ltd
+
+usb:v0941*
+ ID_VENDOR_FROM_DATABASE=Photobit Corp.
+
+usb:v0942*
+ ID_VENDOR_FROM_DATABASE=i2Go.com, LLC
+
+usb:v0943*
+ ID_VENDOR_FROM_DATABASE=HCL Technologies India Private, Ltd
+
+usb:v0944*
+ ID_VENDOR_FROM_DATABASE=KORG, Inc.
+
+usb:v0944p0001*
+ ID_MODEL_FROM_DATABASE=PXR4 4-Track Digital Recorder
+
+usb:v0944p0020*
+ ID_MODEL_FROM_DATABASE=KAOSS Pad KP3 Dynamic Effect/Sampler
+
+usb:v0944p0023*
+ ID_MODEL_FROM_DATABASE=KAOSSILATOR PRO Dynamic Phrase Synthesizer
+
+usb:v0944p010D*
+ ID_MODEL_FROM_DATABASE=nanoKEY MIDI keyboard
+
+usb:v0944p010E*
+ ID_MODEL_FROM_DATABASE=nanoPAD pad controller
+
+usb:v0944p010F*
+ ID_MODEL_FROM_DATABASE=nanoKONTROL studio controller
+
+usb:v0944p0117*
+ ID_MODEL_FROM_DATABASE=nanoKONTROL2 MIDI Controller
+
+usb:v0944p0F03*
+ ID_MODEL_FROM_DATABASE=K-Series K61P MIDI studio controller
+
+usb:v0945*
+ ID_VENDOR_FROM_DATABASE=Pasco Scientific
+
+usb:v0948*
+ ID_VENDOR_FROM_DATABASE=Kronauer music in digital
+
+usb:v0948p0301*
+ ID_MODEL_FROM_DATABASE=USB Pro (24/48)
+
+usb:v0948p0302*
+ ID_MODEL_FROM_DATABASE=USB Pro (24/96 playback)
+
+usb:v0948p0303*
+ ID_MODEL_FROM_DATABASE=USB Pro (24/96 record)
+
+usb:v0948p0304*
+ ID_MODEL_FROM_DATABASE=USB Pro (16/48)
+
+usb:v0948p1105*
+ ID_MODEL_FROM_DATABASE=USB One
+
+usb:v094B*
+ ID_VENDOR_FROM_DATABASE=Linkup Systems Corp.
+
+usb:v094Bp0001*
+ ID_MODEL_FROM_DATABASE=neonode N2
+
+usb:v094D*
+ ID_VENDOR_FROM_DATABASE=Cable Television Laboratories
+
+usb:v094F*
+ ID_VENDOR_FROM_DATABASE=Yano
+
+usb:v094Fp0101*
+ ID_MODEL_FROM_DATABASE=U640MO-03
+
+usb:v094Fp05FC*
+ ID_MODEL_FROM_DATABASE=METALWEAR-HDD
+
+usb:v0951*
+ ID_VENDOR_FROM_DATABASE=Kingston Technology
+
+usb:v0951p0008*
+ ID_MODEL_FROM_DATABASE=Ethernet
+
+usb:v0951p000A*
+ ID_MODEL_FROM_DATABASE=KNU101TX 100baseTX Ethernet
+
+usb:v0951p1600*
+ ID_MODEL_FROM_DATABASE=DataTraveler II Pen Drive
+
+usb:v0951p1601*
+ ID_MODEL_FROM_DATABASE=DataTraveler II+ Pen Drive
+
+usb:v0951p1602*
+ ID_MODEL_FROM_DATABASE=DataTraveler Mini
+
+usb:v0951p1603*
+ ID_MODEL_FROM_DATABASE=DataTraveler 1GB/2GB Pen Drive
+
+usb:v0951p1606*
+ ID_MODEL_FROM_DATABASE=Eee PC 701 SD Card Reader [ENE UB6225]
+
+usb:v0951p1607*
+ ID_MODEL_FROM_DATABASE=DataTraveler 100
+
+usb:v0951p160D*
+ ID_MODEL_FROM_DATABASE=DataTraveler Vault Privacy
+
+usb:v0951p1613*
+ ID_MODEL_FROM_DATABASE=DataTraveler DT101C Flash Drive
+
+usb:v0951p1616*
+ ID_MODEL_FROM_DATABASE=DataTraveler Locker 4GB
+
+usb:v0951p1621*
+ ID_MODEL_FROM_DATABASE=DataTraveler 150 (32GB)
+
+usb:v0951p1624*
+ ID_MODEL_FROM_DATABASE=DataTraveler G2
+
+usb:v0951p1625*
+ ID_MODEL_FROM_DATABASE=DataTraveler 101 II
+
+usb:v0951p162A*
+ ID_MODEL_FROM_DATABASE=DataTraveler 112 4GB Pen Drive
+
+usb:v0951p162D*
+ ID_MODEL_FROM_DATABASE=DataTraveler 102
+
+usb:v0951p1630*
+ ID_MODEL_FROM_DATABASE=DataTraveler 200 (32GB)
+
+usb:v0951p1642*
+ ID_MODEL_FROM_DATABASE=DT101 G2
+
+usb:v0951p1643*
+ ID_MODEL_FROM_DATABASE=DataTraveler G3
+
+usb:v0951p1653*
+ ID_MODEL_FROM_DATABASE=Data Traveler 100 G2 8 GiB
+
+usb:v0951p1656*
+ ID_MODEL_FROM_DATABASE=DataTraveler Ultimate G2
+
+usb:v0951p1689*
+ ID_MODEL_FROM_DATABASE=DataTraveler SE9
+
+usb:v0951p168A*
+ ID_MODEL_FROM_DATABASE=DataTraveler Micro
+
+usb:v0951p168C*
+ ID_MODEL_FROM_DATABASE=DT Elite 3.0
+
+usb:v0954*
+ ID_VENDOR_FROM_DATABASE=RPM Systems Corp.
+
+usb:v0955*
+ ID_VENDOR_FROM_DATABASE=NVidia Corp.
+
+usb:v0955p7030*
+ ID_MODEL_FROM_DATABASE=Tegra 3 (recovery mode)
+
+usb:v0955p7100*
+ ID_MODEL_FROM_DATABASE=Notion Ink Adam
+
+usb:v0956*
+ ID_VENDOR_FROM_DATABASE=BSquare Corp.
+
+usb:v0957*
+ ID_VENDOR_FROM_DATABASE=Agilent Technologies, Inc.
+
+usb:v0957p0200*
+ ID_MODEL_FROM_DATABASE=E-Video DC-350 Camera
+
+usb:v0957p0202*
+ ID_MODEL_FROM_DATABASE=E-Video DC-350 Camera
+
+usb:v0957p0518*
+ ID_MODEL_FROM_DATABASE=82357B GPIB Interface
+
+usb:v0957p0A07*
+ ID_MODEL_FROM_DATABASE=34411A Multimeter
+
+usb:v0957p1745*
+ ID_MODEL_FROM_DATABASE=Test and Measurement Device (IVI)
+
+usb:v0957p2918*
+ ID_MODEL_FROM_DATABASE=U2702A oscilloscope
+
+usb:v0958*
+ ID_VENDOR_FROM_DATABASE=CompuLink Research, Inc.
+
+usb:v0959*
+ ID_VENDOR_FROM_DATABASE=Cologne Chip AG
+
+usb:v0959p2BD0*
+ ID_MODEL_FROM_DATABASE=Intelligent ISDN (Ver. 3.60.04)
+
+usb:v095A*
+ ID_VENDOR_FROM_DATABASE=Portsmith
+
+usb:v095Ap3003*
+ ID_MODEL_FROM_DATABASE=Express Ethernet
+
+usb:v095B*
+ ID_VENDOR_FROM_DATABASE=Medialogic Corp.
+
+usb:v095C*
+ ID_VENDOR_FROM_DATABASE=K-Tec Electronics
+
+usb:v095D*
+ ID_VENDOR_FROM_DATABASE=Polycom, Inc.
+
+usb:v095Dp0001*
+ ID_MODEL_FROM_DATABASE=Polycom ViaVideo
+
+usb:v0967*
+ ID_VENDOR_FROM_DATABASE=Acer (??)
+
+usb:v0967p0204*
+ ID_MODEL_FROM_DATABASE=WarpLink 802.11b Adapter
+
+usb:v0968*
+ ID_VENDOR_FROM_DATABASE=Catalyst Enterprises, Inc.
+
+usb:v096E*
+ ID_VENDOR_FROM_DATABASE=Feitian Technologies, Inc.
+
+usb:v096Ep0120*
+ ID_MODEL_FROM_DATABASE=Microcosm Ltd Dinkey
+
+usb:v096Ep0802*
+ ID_MODEL_FROM_DATABASE=ePass2000 (G&D STARCOS SPK 2.4)
+
+usb:v096Ep0807*
+ ID_MODEL_FROM_DATABASE=ePass2003
+
+usb:v0971*
+ ID_VENDOR_FROM_DATABASE=Gretag-Macbeth AG
+
+usb:v0971p2003*
+ ID_MODEL_FROM_DATABASE=Eye-One display
+
+usb:v0971p2005*
+ ID_MODEL_FROM_DATABASE=Huey
+
+usb:v0971p2007*
+ ID_MODEL_FROM_DATABASE=ColorMunki
+
+usb:v0973*
+ ID_VENDOR_FROM_DATABASE=Schlumberger
+
+usb:v0973p0001*
+ ID_MODEL_FROM_DATABASE=e-gate Smart Card
+
+usb:v0974*
+ ID_VENDOR_FROM_DATABASE=Datagraphix, a business unit of Anacomp
+
+usb:v0975*
+ ID_VENDOR_FROM_DATABASE=OL'E Communications, Inc.
+
+usb:v0976*
+ ID_VENDOR_FROM_DATABASE=Adirondack Wire & Cable
+
+usb:v0977*
+ ID_VENDOR_FROM_DATABASE=Lightsurf Technologies
+
+usb:v0978*
+ ID_VENDOR_FROM_DATABASE=Beckhoff GmbH
+
+usb:v0979*
+ ID_VENDOR_FROM_DATABASE=Jeilin Technology Corp., Ltd
+
+usb:v0979p0224*
+ ID_MODEL_FROM_DATABASE=JL2005A Toy Camera
+
+usb:v0979p0226*
+ ID_MODEL_FROM_DATABASE=JL2005A Toy Camera
+
+usb:v0979p0227*
+ ID_MODEL_FROM_DATABASE=JL2005B/C/D Toy Camera
+
+usb:v097A*
+ ID_VENDOR_FROM_DATABASE=Minds At Work LLC
+
+usb:v097Ap0001*
+ ID_MODEL_FROM_DATABASE=Digital Wallet
+
+usb:v097B*
+ ID_VENDOR_FROM_DATABASE=Knudsen Engineering, Ltd
+
+usb:v097C*
+ ID_VENDOR_FROM_DATABASE=Marunix Co., Ltd
+
+usb:v097D*
+ ID_VENDOR_FROM_DATABASE=Rosun Technologies, Inc.
+
+usb:v097E*
+ ID_VENDOR_FROM_DATABASE=Biopac Systems Inc.
+
+usb:v097Ep0035*
+ ID_MODEL_FROM_DATABASE=MP35 v1.0
+
+usb:v097F*
+ ID_VENDOR_FROM_DATABASE=Barun Electronics Co., Ltd
+
+usb:v0981*
+ ID_VENDOR_FROM_DATABASE=Oak Technology, Ltd
+
+usb:v0984*
+ ID_VENDOR_FROM_DATABASE=Apricorn
+
+usb:v0984p0040*
+ ID_MODEL_FROM_DATABASE=SATA Wire (2.5")
+
+usb:v0984p0200*
+ ID_MODEL_FROM_DATABASE=Hard Drive Storage (TPP)
+
+usb:v0985*
+ ID_VENDOR_FROM_DATABASE=cab Produkttechnik GmbH & Co KG
+
+usb:v0985p0045*
+ ID_MODEL_FROM_DATABASE=Mach4/200 Label Printer
+
+usb:v0985p00A3*
+ ID_MODEL_FROM_DATABASE=A3/200 or A3/300 Label Printer
+
+usb:v0986*
+ ID_VENDOR_FROM_DATABASE=Matsushita Electric Works, Ltd.
+
+usb:v098C*
+ ID_VENDOR_FROM_DATABASE=Vitana Corp.
+
+usb:v098D*
+ ID_VENDOR_FROM_DATABASE=INDesign
+
+usb:v098E*
+ ID_VENDOR_FROM_DATABASE=Integrated Intellectual Property, Inc.
+
+usb:v098F*
+ ID_VENDOR_FROM_DATABASE=Kenwood TMI Corp.
+
+usb:v0993*
+ ID_VENDOR_FROM_DATABASE=Gemstar eBook Group, Ltd
+
+usb:v0993p0001*
+ ID_MODEL_FROM_DATABASE=REB1100 eBook Reader
+
+usb:v0993p0002*
+ ID_MODEL_FROM_DATABASE=eBook
+
+usb:v0996*
+ ID_VENDOR_FROM_DATABASE=Integrated Telecom Express, Inc.
+
+usb:v099A*
+ ID_VENDOR_FROM_DATABASE=Zippy Technology Corp.
+
+usb:v099Ap0638*
+ ID_MODEL_FROM_DATABASE=Sanwa Supply Inc. Small Keyboard
+
+usb:v099Ap610C*
+ ID_MODEL_FROM_DATABASE=EL-610 Super Mini Electron luminescent Keyboard
+
+usb:v099Ap7160*
+ ID_MODEL_FROM_DATABASE=Hyper Slim Keyboard
+
+usb:v09A3*
+ ID_VENDOR_FROM_DATABASE=PairGain Technologies
+
+usb:v09A4*
+ ID_VENDOR_FROM_DATABASE=Contech Research, Inc.
+
+usb:v09A5*
+ ID_VENDOR_FROM_DATABASE=VCON Telecommunications
+
+usb:v09A6*
+ ID_VENDOR_FROM_DATABASE=Poinchips
+
+usb:v09A6p8001*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v09A7*
+ ID_VENDOR_FROM_DATABASE=Data Transmission Network Corp.
+
+usb:v09A8*
+ ID_VENDOR_FROM_DATABASE=Lin Shiung Enterprise Co., Ltd
+
+usb:v09A9*
+ ID_VENDOR_FROM_DATABASE=Smart Card Technologies Co., Ltd
+
+usb:v09AA*
+ ID_VENDOR_FROM_DATABASE=Intersil Corp.
+
+usb:v09AAp1000*
+ ID_MODEL_FROM_DATABASE=Prism GT 802.11b/g Adapter
+
+usb:v09AAp3642*
+ ID_MODEL_FROM_DATABASE=Prism 2.x 802.11b Adapter
+
+usb:v09AB*
+ ID_VENDOR_FROM_DATABASE=Japan Cash Machine Co., Ltd.
+
+usb:v09AE*
+ ID_VENDOR_FROM_DATABASE=Tripp Lite
+
+usb:v09B2*
+ ID_VENDOR_FROM_DATABASE=Franklin Electronic Publishers, Inc.
+
+usb:v09B2p0001*
+ ID_MODEL_FROM_DATABASE=eBookman Palm Computer
+
+usb:v09B3*
+ ID_VENDOR_FROM_DATABASE=Altius Solutions, Inc.
+
+usb:v09B4*
+ ID_VENDOR_FROM_DATABASE=MDS Telephone Systems
+
+usb:v09B5*
+ ID_VENDOR_FROM_DATABASE=Celltrix Technology Co., Ltd
+
+usb:v09BC*
+ ID_VENDOR_FROM_DATABASE=Grundig
+
+usb:v09BCp0002*
+ ID_MODEL_FROM_DATABASE=MPaxx MP150 MP3 Player
+
+usb:v09BE*
+ ID_VENDOR_FROM_DATABASE=MySmart.Com
+
+usb:v09BEp0001*
+ ID_MODEL_FROM_DATABASE=MySmartPad
+
+usb:v09BF*
+ ID_VENDOR_FROM_DATABASE=Auerswald GmbH & Co. KG
+
+usb:v09BFp00C0*
+ ID_MODEL_FROM_DATABASE=COMpact 2104 ISDN PBX
+
+usb:v09BFp00DB*
+ ID_MODEL_FROM_DATABASE=COMpact 4410/2206 ISDN
+
+usb:v09BFp00DC*
+ ID_MODEL_FROM_DATABASE=COMpact 4406 DSL (PBX)
+
+usb:v09BFp00DD*
+ ID_MODEL_FROM_DATABASE=COMpact 2204 (PBX)
+
+usb:v09BFp00DE*
+ ID_MODEL_FROM_DATABASE=COMpact 2104 (Rev.2 PBX)
+
+usb:v09BFp00E0*
+ ID_MODEL_FROM_DATABASE=COMmander Business (PBX)
+
+usb:v09BFp00E2*
+ ID_MODEL_FROM_DATABASE=COMmander Basic.2 (PBX)
+
+usb:v09BFp00F1*
+ ID_MODEL_FROM_DATABASE=COMfort 2000 (System telephone)
+
+usb:v09BFp00F2*
+ ID_MODEL_FROM_DATABASE=COMfort 1200 (System telephone)
+
+usb:v09BFp00F5*
+ ID_MODEL_FROM_DATABASE=COMfortel 2500 (System telephone)
+
+usb:v09BFp8000*
+ ID_MODEL_FROM_DATABASE=COMpact 2104 DSL (DSL modem)
+
+usb:v09BFp8001*
+ ID_MODEL_FROM_DATABASE=COMpact 4406 DSL (DSL modem)
+
+usb:v09BFp8002*
+ ID_MODEL_FROM_DATABASE=Analog/ISDN Converter (Line converter)
+
+usb:v09BFp8005*
+ ID_MODEL_FROM_DATABASE=WG-640 (Automatic event dialer)
+
+usb:v09C0*
+ ID_VENDOR_FROM_DATABASE=Genpix Electronics, LLC
+
+usb:v09C0p0136*
+ ID_MODEL_FROM_DATABASE=Axon CNS, MultiClamp 700B
+
+usb:v09C0p0202*
+ ID_MODEL_FROM_DATABASE=8PSK DVB-S tuner
+
+usb:v09C0p0203*
+ ID_MODEL_FROM_DATABASE=Skywalker-1 DVB-S tuner
+
+usb:v09C0p0204*
+ ID_MODEL_FROM_DATABASE=Skywalker-CW3K DVB-S tuner
+
+usb:v09C0p0205*
+ ID_MODEL_FROM_DATABASE=Skywalker-CW3K DVB-S tuner
+
+usb:v09C0p0206*
+ ID_MODEL_FROM_DATABASE=Skywalker-2 DVB-S tuner
+
+usb:v09C1*
+ ID_VENDOR_FROM_DATABASE=Arris Interactive LLC
+
+usb:v09C1p1337*
+ ID_MODEL_FROM_DATABASE=TOUCHSTONE DEVICE
+
+usb:v09C2*
+ ID_VENDOR_FROM_DATABASE=Nisca Corp.
+
+usb:v09C3*
+ ID_VENDOR_FROM_DATABASE=ActivCard, Inc.
+
+usb:v09C3p0007*
+ ID_MODEL_FROM_DATABASE=Reader V2
+
+usb:v09C3p0008*
+ ID_MODEL_FROM_DATABASE=ZFG-9800-AC SmartCard Reader
+
+usb:v09C3p0014*
+ ID_MODEL_FROM_DATABASE=ActivIdentity ActivKey SIM USB Token
+
+usb:v09C4*
+ ID_VENDOR_FROM_DATABASE=ACTiSYS Corp.
+
+usb:v09C4p0011*
+ ID_MODEL_FROM_DATABASE=ACT-IR2000U IrDA Dongle
+
+usb:v09C5*
+ ID_VENDOR_FROM_DATABASE=Memory Corp.
+
+usb:v09CC*
+ ID_VENDOR_FROM_DATABASE=Workbit Corp.
+
+usb:v09CCp0404*
+ ID_MODEL_FROM_DATABASE=BAFO USB-ATA/ATAPI Bridge Controller
+
+usb:v09CD*
+ ID_VENDOR_FROM_DATABASE=Psion Dacom Home Networks, Ltd
+
+usb:v09CDp2001*
+ ID_MODEL_FROM_DATABASE=Psion WaveFinder DAB radio receiver
+
+usb:v09CE*
+ ID_VENDOR_FROM_DATABASE=City Electronics, Ltd
+
+usb:v09CF*
+ ID_VENDOR_FROM_DATABASE=Electronics Testing Center, Taiwan
+
+usb:v09D1*
+ ID_VENDOR_FROM_DATABASE=NeoMagic, Inc.
+
+usb:v09D2*
+ ID_VENDOR_FROM_DATABASE=Vreelin Engineering, Inc.
+
+usb:v09D3*
+ ID_VENDOR_FROM_DATABASE=Com One
+
+usb:v09D3p0001*
+ ID_MODEL_FROM_DATABASE=ISDN TA
+
+usb:v09D7*
+ ID_VENDOR_FROM_DATABASE=Novatel Wireless
+
+usb:v09D7p0100*
+ ID_MODEL_FROM_DATABASE=NovAtel FlexPack GPS receiver
+
+usb:v09D9*
+ ID_VENDOR_FROM_DATABASE=KRF Tech, Ltd
+
+usb:v09DA*
+ ID_VENDOR_FROM_DATABASE=A4 Tech Co., Ltd
+
+usb:v09DAp0006*
+ ID_MODEL_FROM_DATABASE=Optical Mouse WOP-35 / Trust 450L Optical Mouse
+
+usb:v09DAp000A*
+ ID_MODEL_FROM_DATABASE=Optical Mouse Opto 510D
+
+usb:v09DAp000E*
+ ID_MODEL_FROM_DATABASE=X-F710F Optical Mouse 3xFire Gaming Mouse
+
+usb:v09DAp0018*
+ ID_MODEL_FROM_DATABASE=Trust Human Interface Device
+
+usb:v09DAp001A*
+ ID_MODEL_FROM_DATABASE=Wireless Mouse & RXM-15 Receiver
+
+usb:v09DAp002A*
+ ID_MODEL_FROM_DATABASE=Wireless Optical Mouse NB-30
+
+usb:v09DAp022B*
+ ID_MODEL_FROM_DATABASE=Wireless Mouse (Battery Free)
+
+usb:v09DAp024F*
+ ID_MODEL_FROM_DATABASE=RF Receiver and G6-20D Wireless Optical Mouse
+
+usb:v09DAp0260*
+ ID_MODEL_FROM_DATABASE=KV-300H Isolation Keyboard
+
+usb:v09DAp032B*
+ ID_MODEL_FROM_DATABASE=Wireless Mouse (Battery Free)
+
+usb:v09DAp8090*
+ ID_MODEL_FROM_DATABASE=X-718BK Oscar Optical Gaming Mouse
+
+usb:v09DAp9033*
+ ID_MODEL_FROM_DATABASE=X-718BK Optical Mouse
+
+usb:v09DAp9090*
+ ID_MODEL_FROM_DATABASE=XL-750BK Laser Mouse
+
+usb:v09DB*
+ ID_VENDOR_FROM_DATABASE=Measurement Computing Corp.
+
+usb:v09DBp0075*
+ ID_MODEL_FROM_DATABASE=MiniLab 1008
+
+usb:v09DBp0076*
+ ID_MODEL_FROM_DATABASE=PMD-1024
+
+usb:v09DBp007A*
+ ID_MODEL_FROM_DATABASE=PMD-1208LS
+
+usb:v09DBp0081*
+ ID_MODEL_FROM_DATABASE=USB-1616FS
+
+usb:v09DBp0082*
+ ID_MODEL_FROM_DATABASE=USB-1208FS
+
+usb:v09DBp0088*
+ ID_MODEL_FROM_DATABASE=USB-1616FS internal hub
+
+usb:v09DC*
+ ID_VENDOR_FROM_DATABASE=Aimex Corp.
+
+usb:v09DD*
+ ID_VENDOR_FROM_DATABASE=Fellowes, Inc.
+
+usb:v09DF*
+ ID_VENDOR_FROM_DATABASE=Addonics Technologies Corp.
+
+usb:v09E1*
+ ID_VENDOR_FROM_DATABASE=Intellon Corp.
+
+usb:v09E1p5121*
+ ID_MODEL_FROM_DATABASE=MicroLink dLAN
+
+usb:v09E5*
+ ID_VENDOR_FROM_DATABASE=Jo-Dan International, Inc.
+
+usb:v09E6*
+ ID_VENDOR_FROM_DATABASE=Silutia, Inc.
+
+usb:v09E7*
+ ID_VENDOR_FROM_DATABASE=Real 3D, Inc.
+
+usb:v09E8*
+ ID_VENDOR_FROM_DATABASE=AKAI Professional M.I. Corp.
+
+usb:v09E8p0062*
+ ID_MODEL_FROM_DATABASE=MPD16 MIDI Pad Controller Unit
+
+usb:v09E8p006D*
+ ID_MODEL_FROM_DATABASE=EWI electronic wind instrument
+
+usb:v09E8p0071*
+ ID_MODEL_FROM_DATABASE=MPK25 MIDI Keyboard
+
+usb:v09E8p0076*
+ ID_MODEL_FROM_DATABASE=LPK25 MIDI Keyboard
+
+usb:v09E9*
+ ID_VENDOR_FROM_DATABASE=Chen-Source, Inc.
+
+usb:v09EB*
+ ID_VENDOR_FROM_DATABASE=IM Networks, Inc.
+
+usb:v09EBp4331*
+ ID_MODEL_FROM_DATABASE=iRhythm Tuner Remote
+
+usb:v09EF*
+ ID_VENDOR_FROM_DATABASE=Xitel
+
+usb:v09EFp0101*
+ ID_MODEL_FROM_DATABASE=MD-Port DG2 MiniDisc Interface
+
+usb:v09F3*
+ ID_VENDOR_FROM_DATABASE=GoFlight, Inc.
+
+usb:v09F3p0018*
+ ID_MODEL_FROM_DATABASE=GF-46 Multi-Mode Display Module
+
+usb:v09F3p0028*
+ ID_MODEL_FROM_DATABASE=RP-48 Combination Pushbutton-Rotary Module
+
+usb:v09F3p0048*
+ ID_MODEL_FROM_DATABASE=LGTII - Landing Gear and Trim Control Module
+
+usb:v09F3p0064*
+ ID_MODEL_FROM_DATABASE=MCPPro - Airliner Mode Control Panel (Autopilot)
+
+usb:v09F3p0300*
+ ID_MODEL_FROM_DATABASE=EFIS - Electronic Flight Information System
+
+usb:v09F5*
+ ID_VENDOR_FROM_DATABASE=AresCom
+
+usb:v09F5p0168*
+ ID_MODEL_FROM_DATABASE=Network Adapter
+
+usb:v09F5p0188*
+ ID_MODEL_FROM_DATABASE=LAN Adapter
+
+usb:v09F5p0850*
+ ID_MODEL_FROM_DATABASE=Adapter
+
+usb:v09F6*
+ ID_VENDOR_FROM_DATABASE=RocketChips, Inc.
+
+usb:v09F7*
+ ID_VENDOR_FROM_DATABASE=Edu-Science (H.K.), Ltd
+
+usb:v09F8*
+ ID_VENDOR_FROM_DATABASE=SoftConnex Technologies, Inc.
+
+usb:v09F9*
+ ID_VENDOR_FROM_DATABASE=Bay Associates
+
+usb:v09FA*
+ ID_VENDOR_FROM_DATABASE=Mtek Vision
+
+usb:v09FB*
+ ID_VENDOR_FROM_DATABASE=Altera
+
+usb:v09FBp6001*
+ ID_MODEL_FROM_DATABASE=Blaster
+
+usb:v09FF*
+ ID_VENDOR_FROM_DATABASE=Gain Technology Corp.
+
+usb:v0A00*
+ ID_VENDOR_FROM_DATABASE=Liquid Audio
+
+usb:v0A01*
+ ID_VENDOR_FROM_DATABASE=ViA, Inc.
+
+usb:v0A05*
+ ID_VENDOR_FROM_DATABASE=Unknown Manufacturer
+
+usb:v0A05p7211*
+ ID_MODEL_FROM_DATABASE=hub
+
+usb:v0A07*
+ ID_VENDOR_FROM_DATABASE=Ontrak Control Systems Inc.
+
+usb:v0A07p0064*
+ ID_MODEL_FROM_DATABASE=ADU100 Data Acquisition Interface
+
+usb:v0A07p0078*
+ ID_MODEL_FROM_DATABASE=ADU120 Data Acquisition Interface
+
+usb:v0A07p0082*
+ ID_MODEL_FROM_DATABASE=ADU130 Data Acquisition Interface
+
+usb:v0A07p00C8*
+ ID_MODEL_FROM_DATABASE=ADU200 Relay I/O Interface
+
+usb:v0A07p00D0*
+ ID_MODEL_FROM_DATABASE=ADU208 Relay I/O Interface
+
+usb:v0A07p00DA*
+ ID_MODEL_FROM_DATABASE=ADU218 Solid-State Relay I/O Interface
+
+usb:v0A0B*
+ ID_VENDOR_FROM_DATABASE=Cybex Computer Products Co.
+
+usb:v0A11*
+ ID_VENDOR_FROM_DATABASE=Xentec, Inc.
+
+usb:v0A12*
+ ID_VENDOR_FROM_DATABASE=Cambridge Silicon Radio, Ltd
+
+usb:v0A12p0001*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle (HCI mode)
+
+usb:v0A12p0002*
+ ID_MODEL_FROM_DATABASE=Frontline Test Equipment Bluetooth Device
+
+usb:v0A12p0003*
+ ID_MODEL_FROM_DATABASE=Nanosira
+
+usb:v0A12p0004*
+ ID_MODEL_FROM_DATABASE=Nanosira WHQL Reference Radio
+
+usb:v0A12p0005*
+ ID_MODEL_FROM_DATABASE=Nanosira-Multimedia
+
+usb:v0A12p0006*
+ ID_MODEL_FROM_DATABASE=Nanosira-Multimedia WHQL Reference Radio
+
+usb:v0A12p0007*
+ ID_MODEL_FROM_DATABASE=Nanosira3-ROM
+
+usb:v0A12p0008*
+ ID_MODEL_FROM_DATABASE=Nanosira3-ROM
+
+usb:v0A12p0009*
+ ID_MODEL_FROM_DATABASE=Nanosira4-EDR WHQL Reference Radio
+
+usb:v0A12p000A*
+ ID_MODEL_FROM_DATABASE=Nanosira4-EDR-ROM
+
+usb:v0A12p000B*
+ ID_MODEL_FROM_DATABASE=Nanosira5-ROM
+
+usb:v0A12p0043*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0A12p0100*
+ ID_MODEL_FROM_DATABASE=Casira with BlueCore2-External Module
+
+usb:v0A12p0101*
+ ID_MODEL_FROM_DATABASE=Casira with BlueCore2-Flash Module
+
+usb:v0A12p0102*
+ ID_MODEL_FROM_DATABASE=Casira with BlueCore3-Multimedia Module
+
+usb:v0A12p0103*
+ ID_MODEL_FROM_DATABASE=Casira with BlueCore3-Flash Module
+
+usb:v0A12p0104*
+ ID_MODEL_FROM_DATABASE=Casira with BlueCore4-External Module
+
+usb:v0A12p0105*
+ ID_MODEL_FROM_DATABASE=Casira with BlueCore4-Multimedia Module
+
+usb:v0A12p1000*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle (HID proxy mode)
+
+usb:v0A12p1010*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0A12p1011*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0A12p1012*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0A12pFFFF*
+ ID_MODEL_FROM_DATABASE=USB Bluetooth Device in DFU State
+
+usb:v0A13*
+ ID_VENDOR_FROM_DATABASE=Telebyte, Inc.
+
+usb:v0A14*
+ ID_VENDOR_FROM_DATABASE=Spacelabs Medical, Inc.
+
+usb:v0A15*
+ ID_VENDOR_FROM_DATABASE=Scalar Corp.
+
+usb:v0A16*
+ ID_VENDOR_FROM_DATABASE=Trek Technology (S) PTE, Ltd
+
+usb:v0A16p1111*
+ ID_MODEL_FROM_DATABASE=ThumbDrive
+
+usb:v0A16p8888*
+ ID_MODEL_FROM_DATABASE=IBM USB Memory Key
+
+usb:v0A16p9988*
+ ID_MODEL_FROM_DATABASE=Trek2000 TD-G2
+
+usb:v0A17*
+ ID_VENDOR_FROM_DATABASE=Pentax Corp.
+
+usb:v0A17p0004*
+ ID_MODEL_FROM_DATABASE=Optio 330
+
+usb:v0A17p0006*
+ ID_MODEL_FROM_DATABASE=Optio S
+
+usb:v0A17p0007*
+ ID_MODEL_FROM_DATABASE=Optio 550
+
+usb:v0A17p0009*
+ ID_MODEL_FROM_DATABASE=Optio 33WR
+
+usb:v0A17p000A*
+ ID_MODEL_FROM_DATABASE=Optio 555
+
+usb:v0A17p000C*
+ ID_MODEL_FROM_DATABASE=Optio 43WR (mass storage mode)
+
+usb:v0A17p000D*
+ ID_MODEL_FROM_DATABASE=Optio 43WR
+
+usb:v0A17p0015*
+ ID_MODEL_FROM_DATABASE=Optio S40/S5i
+
+usb:v0A17p003B*
+ ID_MODEL_FROM_DATABASE=Optio 50 (mass storage mode)
+
+usb:v0A17p003D*
+ ID_MODEL_FROM_DATABASE=Optio S55
+
+usb:v0A17p0043*
+ ID_MODEL_FROM_DATABASE=*ist DL
+
+usb:v0A17p0047*
+ ID_MODEL_FROM_DATABASE=Optio S60
+
+usb:v0A17p0052*
+ ID_MODEL_FROM_DATABASE=Optio 60 Digital Camera
+
+usb:v0A17p006E*
+ ID_MODEL_FROM_DATABASE=K10D
+
+usb:v0A17p0070*
+ ID_MODEL_FROM_DATABASE=K100D
+
+usb:v0A17p0093*
+ ID_MODEL_FROM_DATABASE=K200D
+
+usb:v0A17p00A7*
+ ID_MODEL_FROM_DATABASE=Optio E50
+
+usb:v0A17p1001*
+ ID_MODEL_FROM_DATABASE=EI2000 Camera powered by Digita!
+
+usb:v0A18*
+ ID_VENDOR_FROM_DATABASE=Heidelberger Druckmaschinen AG
+
+usb:v0A19*
+ ID_VENDOR_FROM_DATABASE=Hua Geng Technologies, Inc.
+
+usb:v0A21*
+ ID_VENDOR_FROM_DATABASE=Medtronic Physio Control Corp.
+
+usb:v0A21p8001*
+ ID_MODEL_FROM_DATABASE=MMT-7305WW [Medtronic Minimed CareLink]
+
+usb:v0A22*
+ ID_VENDOR_FROM_DATABASE=Century Semiconductor USA, Inc.
+
+usb:v0A27*
+ ID_VENDOR_FROM_DATABASE=Datacard Group
+
+usb:v0A27p0102*
+ ID_MODEL_FROM_DATABASE=SP35
+
+usb:v0A2C*
+ ID_VENDOR_FROM_DATABASE=AK-Modul-Bus Computer GmbH
+
+usb:v0A2Cp0008*
+ ID_MODEL_FROM_DATABASE=GPIO Ports
+
+usb:v0A34*
+ ID_VENDOR_FROM_DATABASE=TG3 Electronics, Inc.
+
+usb:v0A34p0101*
+ ID_MODEL_FROM_DATABASE=TG82tp
+
+usb:v0A34p0110*
+ ID_MODEL_FROM_DATABASE=Deck 82-key backlit keyboard
+
+usb:v0A35*
+ ID_VENDOR_FROM_DATABASE=Radikal Technologies
+
+usb:v0A35p002A*
+ ID_MODEL_FROM_DATABASE=SAC - Software Assigned Controller
+
+usb:v0A35p008A*
+ ID_MODEL_FROM_DATABASE=SAC Hub
+
+usb:v0A39*
+ ID_VENDOR_FROM_DATABASE=Gilat Satellite Networks, Ltd
+
+usb:v0A3A*
+ ID_VENDOR_FROM_DATABASE=PentaMedia Co., Ltd
+
+usb:v0A3Ap0163*
+ ID_MODEL_FROM_DATABASE=KN-W510U 1.0 Wireless LAN Adapter
+
+usb:v0A3C*
+ ID_VENDOR_FROM_DATABASE=NTT DoCoMo, Inc.
+
+usb:v0A3D*
+ ID_VENDOR_FROM_DATABASE=Varo Vision
+
+usb:v0A3F*
+ ID_VENDOR_FROM_DATABASE=Swissonic AG
+
+usb:v0A43*
+ ID_VENDOR_FROM_DATABASE=Boca Systems, Inc.
+
+usb:v0A46*
+ ID_VENDOR_FROM_DATABASE=Davicom Semiconductor, Inc.
+
+usb:v0A46p0268*
+ ID_MODEL_FROM_DATABASE=ST268
+
+usb:v0A46p6688*
+ ID_MODEL_FROM_DATABASE=ZT6688 Fast Ethernet Adapter
+
+usb:v0A46p8515*
+ ID_MODEL_FROM_DATABASE=ADMtek ADM8515 NIC
+
+usb:v0A46p9000*
+ ID_MODEL_FROM_DATABASE=DM9000E Fast Ethernet Adapter
+
+usb:v0A46p9601*
+ ID_MODEL_FROM_DATABASE=DM9601 Fast Ethernet Adapter
+
+usb:v0A47*
+ ID_VENDOR_FROM_DATABASE=Hirose Electric
+
+usb:v0A48*
+ ID_VENDOR_FROM_DATABASE=I/O Interconnect
+
+usb:v0A48p3233*
+ ID_MODEL_FROM_DATABASE=Multimedia Card Reader
+
+usb:v0A48p3239*
+ ID_MODEL_FROM_DATABASE=Multimedia Card Reader
+
+usb:v0A48p3258*
+ ID_MODEL_FROM_DATABASE=Dane Elec zMate SD Reader
+
+usb:v0A48p3259*
+ ID_MODEL_FROM_DATABASE=Dane Elec zMate CF Reader
+
+usb:v0A48p5000*
+ ID_MODEL_FROM_DATABASE=MediaGear xD-SM
+
+usb:v0A48p500A*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0A48p500F*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0A48p5010*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0A48p5011*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0A48p5014*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0A48p5020*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0A48p5021*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0A48p5022*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0A48p5023*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0A48p5024*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0A48p5025*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0A4B*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Media Devices, Ltd
+
+usb:v0A4C*
+ ID_VENDOR_FROM_DATABASE=Computex Co., Ltd
+
+usb:v0A4Cp15D9*
+ ID_MODEL_FROM_DATABASE=OPTICAL MOUSE
+
+usb:v0A4D*
+ ID_VENDOR_FROM_DATABASE=Evolution Electronics, Ltd
+
+usb:v0A4Dp0064*
+ ID_MODEL_FROM_DATABASE=MK-225 Driver
+
+usb:v0A4Dp0065*
+ ID_MODEL_FROM_DATABASE=MK-225C Driver
+
+usb:v0A4Dp0066*
+ ID_MODEL_FROM_DATABASE=MK-225C Driver
+
+usb:v0A4Dp0067*
+ ID_MODEL_FROM_DATABASE=MK-425C Driver
+
+usb:v0A4Dp0078*
+ ID_MODEL_FROM_DATABASE=MK-37 Driver
+
+usb:v0A4Dp0079*
+ ID_MODEL_FROM_DATABASE=MK-37C Driver
+
+usb:v0A4Dp007A*
+ ID_MODEL_FROM_DATABASE=MK-37C Driver
+
+usb:v0A4Dp008C*
+ ID_MODEL_FROM_DATABASE=TerraTec MIDI MASTER
+
+usb:v0A4Dp008D*
+ ID_MODEL_FROM_DATABASE=MK-249C Driver
+
+usb:v0A4Dp008E*
+ ID_MODEL_FROM_DATABASE=MK-249C MIDI Keyboard
+
+usb:v0A4Dp008F*
+ ID_MODEL_FROM_DATABASE=MK-449C Driver
+
+usb:v0A4Dp0090*
+ ID_MODEL_FROM_DATABASE=Keystation 49e Driver
+
+usb:v0A4Dp0091*
+ ID_MODEL_FROM_DATABASE=Keystation 61es Driver
+
+usb:v0A4Dp00A0*
+ ID_MODEL_FROM_DATABASE=MK-361 Driver
+
+usb:v0A4Dp00A1*
+ ID_MODEL_FROM_DATABASE=MK-361C Driver
+
+usb:v0A4Dp00A2*
+ ID_MODEL_FROM_DATABASE=MK-361C Driver
+
+usb:v0A4Dp00A3*
+ ID_MODEL_FROM_DATABASE=MK-461C MIDI Keyboard
+
+usb:v0A4Dp00B5*
+ ID_MODEL_FROM_DATABASE=Keystation Pro 88 Driver
+
+usb:v0A4Dp00D2*
+ ID_MODEL_FROM_DATABASE=E-Keys Driver
+
+usb:v0A4Dp00F0*
+ ID_MODEL_FROM_DATABASE=UC-16 Driver
+
+usb:v0A4Dp00F1*
+ ID_MODEL_FROM_DATABASE=X-Session Driver
+
+usb:v0A4Dp00F5*
+ ID_MODEL_FROM_DATABASE=UC-33e MIDI Controller
+
+usb:v0A4E*
+ ID_VENDOR_FROM_DATABASE=Steinberg Soft-und Hardware GmbH
+
+usb:v0A4F*
+ ID_VENDOR_FROM_DATABASE=Litton Systems, Inc.
+
+usb:v0A50*
+ ID_VENDOR_FROM_DATABASE=Mimaki Engineering Co., Ltd
+
+usb:v0A51*
+ ID_VENDOR_FROM_DATABASE=Sony Electronics, Inc.
+
+usb:v0A52*
+ ID_VENDOR_FROM_DATABASE=Jebsee Electronics Co., Ltd
+
+usb:v0A53*
+ ID_VENDOR_FROM_DATABASE=Portable Peripheral Co., Ltd
+
+usb:v0A53p1000*
+ ID_MODEL_FROM_DATABASE=Scanner
+
+usb:v0A53p2000*
+ ID_MODEL_FROM_DATABASE=Q-Scan A6 Scanner
+
+usb:v0A53p2001*
+ ID_MODEL_FROM_DATABASE=Q-Scan A6 Scanner
+
+usb:v0A53p2013*
+ ID_MODEL_FROM_DATABASE=Media Drive A6 Scanner
+
+usb:v0A53p2014*
+ ID_MODEL_FROM_DATABASE=Media Drive A6 Scanner
+
+usb:v0A53p2015*
+ ID_MODEL_FROM_DATABASE=BizCardReader 600C
+
+usb:v0A53p2016*
+ ID_MODEL_FROM_DATABASE=BizCardReader 600C
+
+usb:v0A53p202A*
+ ID_MODEL_FROM_DATABASE=Scanshell-CSSN
+
+usb:v0A53p3000*
+ ID_MODEL_FROM_DATABASE=Q-Scan A8 Scanner
+
+usb:v0A53p3002*
+ ID_MODEL_FROM_DATABASE=Q-Scan A8 Reader
+
+usb:v0A53p3015*
+ ID_MODEL_FROM_DATABASE=BizCardReader 300G
+
+usb:v0A53p302A*
+ ID_MODEL_FROM_DATABASE=LM9832 - PA570 Mini Business Card Scanner [Targus]
+
+usb:v0A53p5001*
+ ID_MODEL_FROM_DATABASE=BizCardReader 900C
+
+usb:v0A5A*
+ ID_VENDOR_FROM_DATABASE=Electronics For Imaging, Inc.
+
+usb:v0A5B*
+ ID_VENDOR_FROM_DATABASE=EAsics NV
+
+usb:v0A5C*
+ ID_VENDOR_FROM_DATABASE=Broadcom Corp.
+
+usb:v0A5Cp0201*
+ ID_MODEL_FROM_DATABASE=iLine10(tm) Network Adapter
+
+usb:v0A5Cp2000*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0A5Cp2001*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0A5Cp2009*
+ ID_MODEL_FROM_DATABASE=BCM2035 Bluetooth
+
+usb:v0A5Cp200A*
+ ID_MODEL_FROM_DATABASE=BCM2035 Bluetooth dongle
+
+usb:v0A5Cp200F*
+ ID_MODEL_FROM_DATABASE=Bluetooth Controller
+
+usb:v0A5Cp201D*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0A5Cp201E*
+ ID_MODEL_FROM_DATABASE=IBM Integrated Bluetooth IV
+
+usb:v0A5Cp2020*
+ ID_MODEL_FROM_DATABASE=Bluetooth dongle
+
+usb:v0A5Cp2021*
+ ID_MODEL_FROM_DATABASE=BCM2035B3 Bluetooth Adapter
+
+usb:v0A5Cp2033*
+ ID_MODEL_FROM_DATABASE=BCM2033 Bluetooth
+
+usb:v0A5Cp2035*
+ ID_MODEL_FROM_DATABASE=BCM2035 Bluetooth
+
+usb:v0A5Cp2038*
+ ID_MODEL_FROM_DATABASE=Blutonium Device
+
+usb:v0A5Cp2039*
+ ID_MODEL_FROM_DATABASE=BCM2045 Bluetooth
+
+usb:v0A5Cp2045*
+ ID_MODEL_FROM_DATABASE=Bluetooth Controller
+
+usb:v0A5Cp2046*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0A5Cp2047*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0A5Cp205E*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0A5Cp2100*
+ ID_MODEL_FROM_DATABASE=Bluetooth 2.0+eDR dongle
+
+usb:v0A5Cp2101*
+ ID_MODEL_FROM_DATABASE=BCM2045 Bluetooth
+
+usb:v0A5Cp2102*
+ ID_MODEL_FROM_DATABASE=ANYCOM Blue USB-200/250
+
+usb:v0A5Cp2110*
+ ID_MODEL_FROM_DATABASE=BCM2045B (BDC-2) [Bluetooth Controller]
+
+usb:v0A5Cp2111*
+ ID_MODEL_FROM_DATABASE=ANYCOM Blue USB-UHE 200/250
+
+usb:v0A5Cp2120*
+ ID_MODEL_FROM_DATABASE=2045 Bluetooth 2.0 USB-UHE Device with trace filter
+
+usb:v0A5Cp2121*
+ ID_MODEL_FROM_DATABASE=BCM2210 Bluetooth
+
+usb:v0A5Cp2122*
+ ID_MODEL_FROM_DATABASE=Bluetooth 2.0+EDR dongle
+
+usb:v0A5Cp2123*
+ ID_MODEL_FROM_DATABASE=Bluetooth dongle
+
+usb:v0A5Cp2130*
+ ID_MODEL_FROM_DATABASE=2045 Bluetooth 2.0 USB-UHE Device with trace filter
+
+usb:v0A5Cp2131*
+ ID_MODEL_FROM_DATABASE=2045 Bluetooth 2.0 Device with trace filter
+
+usb:v0A5Cp2145*
+ ID_MODEL_FROM_DATABASE=BCM2045B (BDC-2.1) [Bluetooth Controller]
+
+usb:v0A5Cp2148*
+ ID_MODEL_FROM_DATABASE=BCM92046DG-CL1ROM Bluetooth 2.1 Adapter
+
+usb:v0A5Cp2150*
+ ID_MODEL_FROM_DATABASE=BCM2046 Bluetooth Device
+
+usb:v0A5Cp2151*
+ ID_MODEL_FROM_DATABASE=Bluetooth
+
+usb:v0A5Cp2154*
+ ID_MODEL_FROM_DATABASE=BCM92046DG-CL1ROM Bluetooth 2.1 UHE Dongle
+
+usb:v0A5Cp217D*
+ ID_MODEL_FROM_DATABASE=HP Bluethunder
+
+usb:v0A5Cp217F*
+ ID_MODEL_FROM_DATABASE=BCM2045B (BDC-2.1)
+
+usb:v0A5Cp2198*
+ ID_MODEL_FROM_DATABASE=Bluetooth 3.0 Device
+
+usb:v0A5Cp219B*
+ ID_MODEL_FROM_DATABASE=Bluetooth 2.1 Device
+
+usb:v0A5Cp21B1*
+ ID_MODEL_FROM_DATABASE=HP Bluetooth Module
+
+usb:v0A5Cp21B4*
+ ID_MODEL_FROM_DATABASE=BCM2070 Bluetooth 2.1 + EDR
+
+usb:v0A5Cp21B9*
+ ID_MODEL_FROM_DATABASE=BCM2070 Bluetooth 2.1 + EDR
+
+usb:v0A5Cp21BA*
+ ID_MODEL_FROM_DATABASE=BCM2070 Bluetooth 2.1 + EDR
+
+usb:v0A5Cp21BB*
+ ID_MODEL_FROM_DATABASE=BCM2070 Bluetooth 2.1 + EDR
+
+usb:v0A5Cp21BC*
+ ID_MODEL_FROM_DATABASE=BCM2070 Bluetooth 2.1 + EDR
+
+usb:v0A5Cp21BD*
+ ID_MODEL_FROM_DATABASE=BCM2070 Bluetooth 2.1 + EDR
+
+usb:v0A5Cp21D7*
+ ID_MODEL_FROM_DATABASE=BCM43142 Bluetooth 4.0
+
+usb:v0A5Cp21E1*
+ ID_MODEL_FROM_DATABASE=HP Portable SoftSailing
+
+usb:v0A5Cp21E3*
+ ID_MODEL_FROM_DATABASE=HP Portable Valentine
+
+usb:v0A5Cp21E6*
+ ID_MODEL_FROM_DATABASE=BCM20702 Bluetooth 4.0 [ThinkPad]
+
+usb:v0A5Cp21E8*
+ ID_MODEL_FROM_DATABASE=BCM20702A0 Bluetooth 4.0
+
+usb:v0A5Cp21F1*
+ ID_MODEL_FROM_DATABASE=HP Portable Bumble Bee
+
+usb:v0A5Cp22BE*
+ ID_MODEL_FROM_DATABASE=BCM2070 Bluetooth 3.0 + HS
+
+usb:v0A5Cp4500*
+ ID_MODEL_FROM_DATABASE=BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
+
+usb:v0A5Cp4502*
+ ID_MODEL_FROM_DATABASE=Keyboard (Boot Interface Subclass)
+
+usb:v0A5Cp4503*
+ ID_MODEL_FROM_DATABASE=Mouse (Boot Interface Subclass)
+
+usb:v0A5Cp5800*
+ ID_MODEL_FROM_DATABASE=BCM5880 Secure Applications Processor
+
+usb:v0A5Cp5801*
+ ID_MODEL_FROM_DATABASE=BCM5880 Secure Applications Processor with fingerprint swipe sensor
+
+usb:v0A5Cp5802*
+ ID_MODEL_FROM_DATABASE=BCM5880 Secure Applications Processor with fingerprint touch sensor
+
+usb:v0A5Cp5803*
+ ID_MODEL_FROM_DATABASE=BCM5880 Secure Applications Processor with secure keyboard
+
+usb:v0A5Cp6300*
+ ID_MODEL_FROM_DATABASE=Pirelli Remote NDIS Device
+
+usb:v0A5CpBD11*
+ ID_MODEL_FROM_DATABASE=TiVo AG0100 802.11bg Wireless Adapter [Broadcom BCM4320]
+
+usb:v0A5CpBD13*
+ ID_MODEL_FROM_DATABASE=BCM4323 802.11abgn Wireless Adapter
+
+usb:v0A5CpBD17*
+ ID_MODEL_FROM_DATABASE=BCM43236 802.11abgn Wireless Adapter
+
+usb:v0A5CpD11B*
+ ID_MODEL_FROM_DATABASE=Eminent EM4045 [Broadcom 4320 USB]
+
+usb:v0A5D*
+ ID_VENDOR_FROM_DATABASE=Diatrend Corp.
+
+usb:v0A5F*
+ ID_VENDOR_FROM_DATABASE=Zebra
+
+usb:v0A5Fp0009*
+ ID_MODEL_FROM_DATABASE=LP2844 Printer
+
+usb:v0A5Fp0081*
+ ID_MODEL_FROM_DATABASE=GK420t Label Printer
+
+usb:v0A5Fp008B*
+ ID_MODEL_FROM_DATABASE=HC100 wristbands Printer
+
+usb:v0A5Fp930A*
+ ID_MODEL_FROM_DATABASE=Printer
+
+usb:v0A62*
+ ID_VENDOR_FROM_DATABASE=MPMan
+
+usb:v0A62p0010*
+ ID_MODEL_FROM_DATABASE=MPMan MP-F40 MP3 Player
+
+usb:v0A66*
+ ID_VENDOR_FROM_DATABASE=ClearCube Technology
+
+usb:v0A67*
+ ID_VENDOR_FROM_DATABASE=Medeli Electronics Co., Ltd
+
+usb:v0A68*
+ ID_VENDOR_FROM_DATABASE=Comaide Corp.
+
+usb:v0A69*
+ ID_VENDOR_FROM_DATABASE=Chroma ate, Inc.
+
+usb:v0A6B*
+ ID_VENDOR_FROM_DATABASE=Green House Co., Ltd
+
+usb:v0A6Bp0001*
+ ID_MODEL_FROM_DATABASE=Compact Flash R/W with MP3 player
+
+usb:v0A6Bp000F*
+ ID_MODEL_FROM_DATABASE=FlashDisk
+
+usb:v0A6C*
+ ID_VENDOR_FROM_DATABASE=Integrated Circuit Systems, Inc.
+
+usb:v0A6D*
+ ID_VENDOR_FROM_DATABASE=UPS Manufacturing
+
+usb:v0A6E*
+ ID_VENDOR_FROM_DATABASE=Benwin
+
+usb:v0A6F*
+ ID_VENDOR_FROM_DATABASE=Core Technology, Inc.
+
+usb:v0A6Fp0400*
+ ID_MODEL_FROM_DATABASE=Xanboo
+
+usb:v0A70*
+ ID_VENDOR_FROM_DATABASE=International Game Technology
+
+usb:v0A71*
+ ID_VENDOR_FROM_DATABASE=VIPColor Technologies USA, Inc.
+
+usb:v0A71p0001*
+ ID_MODEL_FROM_DATABASE=VP485 Printer
+
+usb:v0A72*
+ ID_VENDOR_FROM_DATABASE=Sanwa Denshi
+
+usb:v0A73*
+ ID_VENDOR_FROM_DATABASE=Mackie Designs
+
+usb:v0A73p0002*
+ ID_MODEL_FROM_DATABASE=XD-2 [Spike]
+
+usb:v0A7D*
+ ID_VENDOR_FROM_DATABASE=NSTL, Inc.
+
+usb:v0A7E*
+ ID_VENDOR_FROM_DATABASE=Octagon Systems Corp.
+
+usb:v0A80*
+ ID_VENDOR_FROM_DATABASE=Rexon Technology Corp., Ltd
+
+usb:v0A81*
+ ID_VENDOR_FROM_DATABASE=Chesen Electronics Corp.
+
+usb:v0A81p0101*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v0A81p0103*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v0A81p0203*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v0A81p0205*
+ ID_MODEL_FROM_DATABASE=PS/2 Keyboard+Mouse Adapter
+
+usb:v0A81p0701*
+ ID_MODEL_FROM_DATABASE=USB Missile Launcher
+
+usb:v0A81pFF01*
+ ID_MODEL_FROM_DATABASE=Wireless Missile Launcher
+
+usb:v0A82*
+ ID_VENDOR_FROM_DATABASE=Syscan
+
+usb:v0A82p4600*
+ ID_MODEL_FROM_DATABASE=TravelScan 460/464
+
+usb:v0A83*
+ ID_VENDOR_FROM_DATABASE=NextComm, Inc.
+
+usb:v0A84*
+ ID_VENDOR_FROM_DATABASE=Maui Innovative Peripherals
+
+usb:v0A85*
+ ID_VENDOR_FROM_DATABASE=Idexx Labs
+
+usb:v0A86*
+ ID_VENDOR_FROM_DATABASE=NITGen Co., Ltd
+
+usb:v0A8D*
+ ID_VENDOR_FROM_DATABASE=Picturetel
+
+usb:v0A8E*
+ ID_VENDOR_FROM_DATABASE=Japan Aviation Electronics Industry, Ltd
+
+usb:v0A8Ep2011*
+ ID_MODEL_FROM_DATABASE=Filter Driver For JAE XMC R/W
+
+usb:v0A90*
+ ID_VENDOR_FROM_DATABASE=Candy Technology Co., Ltd
+
+usb:v0A91*
+ ID_VENDOR_FROM_DATABASE=Globlink Technology, Inc.
+
+usb:v0A91p3801*
+ ID_MODEL_FROM_DATABASE=Targus PAKP003 Mouse
+
+usb:v0A92*
+ ID_VENDOR_FROM_DATABASE=EGO SYStems, Inc.
+
+usb:v0A92p0011*
+ ID_MODEL_FROM_DATABASE=SYS WaveTerminal U2A
+
+usb:v0A92p0021*
+ ID_MODEL_FROM_DATABASE=GIGAPort
+
+usb:v0A92p0031*
+ ID_MODEL_FROM_DATABASE=GIGAPortAG
+
+usb:v0A92p0053*
+ ID_MODEL_FROM_DATABASE=AudioTrak Optoplay
+
+usb:v0A92p0061*
+ ID_MODEL_FROM_DATABASE=Waveterminal U24
+
+usb:v0A92p0071*
+ ID_MODEL_FROM_DATABASE=MAYA EX7
+
+usb:v0A92p0091*
+ ID_MODEL_FROM_DATABASE=Maya 44
+
+usb:v0A92p00B1*
+ ID_MODEL_FROM_DATABASE=MAYA EX5
+
+usb:v0A92p1000*
+ ID_MODEL_FROM_DATABASE=MIDI Mate
+
+usb:v0A92p1010*
+ ID_MODEL_FROM_DATABASE=RoMI/O
+
+usb:v0A92p1020*
+ ID_MODEL_FROM_DATABASE=M4U
+
+usb:v0A92p1030*
+ ID_MODEL_FROM_DATABASE=M8U
+
+usb:v0A92p1090*
+ ID_MODEL_FROM_DATABASE=KeyControl49
+
+usb:v0A92p10A0*
+ ID_MODEL_FROM_DATABASE=KeyControl25
+
+usb:v0A93*
+ ID_VENDOR_FROM_DATABASE=C Technologies AB
+
+usb:v0A93p0002*
+ ID_MODEL_FROM_DATABASE=C-Pen 10
+
+usb:v0A93p0005*
+ ID_MODEL_FROM_DATABASE=MyPen Light
+
+usb:v0A93p000D*
+ ID_MODEL_FROM_DATABASE=Input Pen
+
+usb:v0A93p0010*
+ ID_MODEL_FROM_DATABASE=C-Pen 20
+
+usb:v0A93p0A93*
+ ID_MODEL_FROM_DATABASE=PayPen
+
+usb:v0A94*
+ ID_VENDOR_FROM_DATABASE=Intersense
+
+usb:v0AA3*
+ ID_VENDOR_FROM_DATABASE=Lava Computer Mfg., Inc.
+
+usb:v0AA4*
+ ID_VENDOR_FROM_DATABASE=Develco Elektronik
+
+usb:v0AA5*
+ ID_VENDOR_FROM_DATABASE=First International Digital
+
+usb:v0AA5p0002*
+ ID_MODEL_FROM_DATABASE=irock! 500 Series
+
+usb:v0AA5p0801*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0AA6*
+ ID_VENDOR_FROM_DATABASE=Perception Digital, Ltd
+
+usb:v0AA6p0101*
+ ID_MODEL_FROM_DATABASE=Hercules Jukebox
+
+usb:v0AA6p1501*
+ ID_MODEL_FROM_DATABASE=Store 'n' Go HD Drive
+
+usb:v0AA7*
+ ID_VENDOR_FROM_DATABASE=Wincor Nixdorf International GmbH
+
+usb:v0AA7p0100*
+ ID_MODEL_FROM_DATABASE=POS Keyboard, TA58P-USB
+
+usb:v0AA7p0101*
+ ID_MODEL_FROM_DATABASE=POS Keyboard, TA85P-USB
+
+usb:v0AA7p0102*
+ ID_MODEL_FROM_DATABASE=POS Keyboard, TA59-USB
+
+usb:v0AA7p0103*
+ ID_MODEL_FROM_DATABASE=POS Keyboard, TA60-USB
+
+usb:v0AA7p0104*
+ ID_MODEL_FROM_DATABASE=SNIkey Keyboard, SNIKey-KB-USB
+
+usb:v0AA7p0200*
+ ID_MODEL_FROM_DATABASE=Operator Display, BA63-USB
+
+usb:v0AA7p0201*
+ ID_MODEL_FROM_DATABASE=Operator Display, BA66-USB
+
+usb:v0AA7p0202*
+ ID_MODEL_FROM_DATABASE=Operator Display & Scanner, XiCheck-BA63
+
+usb:v0AA7p0203*
+ ID_MODEL_FROM_DATABASE=Operator Display & Scanner, XiCheck-BA66
+
+usb:v0AA7p0204*
+ ID_MODEL_FROM_DATABASE=Graphics Operator Display, BA63GV
+
+usb:v0AA7p0300*
+ ID_MODEL_FROM_DATABASE=POS Printer (printer class mode), TH210
+
+usb:v0AA7p0301*
+ ID_MODEL_FROM_DATABASE=POS Printer (native mode), TH210
+
+usb:v0AA7p0302*
+ ID_MODEL_FROM_DATABASE=POS Printer (printer class mode), TH220
+
+usb:v0AA7p0303*
+ ID_MODEL_FROM_DATABASE=POS Printer (native mode), TH220
+
+usb:v0AA7p0304*
+ ID_MODEL_FROM_DATABASE=POS Printer, TH230
+
+usb:v0AA7p0305*
+ ID_MODEL_FROM_DATABASE=Lottery Printer, XiPrintPlus
+
+usb:v0AA7p0306*
+ ID_MODEL_FROM_DATABASE=POS Printer (printer class mode), TH320
+
+usb:v0AA7p0307*
+ ID_MODEL_FROM_DATABASE=POS Printer (native mode), TH320
+
+usb:v0AA7p0308*
+ ID_MODEL_FROM_DATABASE=POS Printer (printer class mode), TH420
+
+usb:v0AA7p0309*
+ ID_MODEL_FROM_DATABASE=POS Printer (native mode), TH420
+
+usb:v0AA7p030A*
+ ID_MODEL_FROM_DATABASE=POS Printer, TH200B
+
+usb:v0AA7p0400*
+ ID_MODEL_FROM_DATABASE=Lottery Scanner, Xiscan S
+
+usb:v0AA7p0401*
+ ID_MODEL_FROM_DATABASE=Lottery Scanner, Xiscan 3
+
+usb:v0AA7p0402*
+ ID_MODEL_FROM_DATABASE=Programmable Magnetic Swipe Card Reader, MSRP-USB
+
+usb:v0AA7p0500*
+ ID_MODEL_FROM_DATABASE=IDE Adapter
+
+usb:v0AA7p0501*
+ ID_MODEL_FROM_DATABASE=Hub Printer Interface
+
+usb:v0AA7p0502*
+ ID_MODEL_FROM_DATABASE=Hub SNIKey Keyboard
+
+usb:v0AA7p4304*
+ ID_MODEL_FROM_DATABASE=Banking Printer TP07
+
+usb:v0AA7p4305*
+ ID_MODEL_FROM_DATABASE=Banking Printer TP07c
+
+usb:v0AA7p4500*
+ ID_MODEL_FROM_DATABASE=WN Central Special Electronics
+
+usb:v0AA8*
+ ID_VENDOR_FROM_DATABASE=TriGem Computer, Inc.
+
+usb:v0AA8p0060*
+ ID_MODEL_FROM_DATABASE=TG 11Mbps WLAN Mini Adapter
+
+usb:v0AA8p1001*
+ ID_MODEL_FROM_DATABASE=DreamComboM4100
+
+usb:v0AA8p3002*
+ ID_MODEL_FROM_DATABASE=InkJet Color Printer
+
+usb:v0AA8p8001*
+ ID_MODEL_FROM_DATABASE=TG_iMON
+
+usb:v0AA8p8002*
+ ID_MODEL_FROM_DATABASE=TG_KLOSS
+
+usb:v0AA8pA001*
+ ID_MODEL_FROM_DATABASE=TG_X2
+
+usb:v0AA8pA002*
+ ID_MODEL_FROM_DATABASE=TGVFD_KLOSS
+
+usb:v0AA8pFFDA*
+ ID_MODEL_FROM_DATABASE=iMON_VFD
+
+usb:v0AA9*
+ ID_VENDOR_FROM_DATABASE=Baromtec Co.
+
+usb:v0AA9pF01B*
+ ID_MODEL_FROM_DATABASE=Medion MD 6242 MP3 Player
+
+usb:v0AAA*
+ ID_VENDOR_FROM_DATABASE=Japan CBM Corp.
+
+usb:v0AAB*
+ ID_VENDOR_FROM_DATABASE=Vision Shape Europe SA
+
+usb:v0AAC*
+ ID_VENDOR_FROM_DATABASE=iCompression, Inc.
+
+usb:v0AAD*
+ ID_VENDOR_FROM_DATABASE=Rohde & Schwarz GmbH & Co. KG
+
+usb:v0AADp0003*
+ ID_MODEL_FROM_DATABASE=NRP-Z21
+
+usb:v0AADp000C*
+ ID_MODEL_FROM_DATABASE=NRP-Z11
+
+usb:v0AADp0013*
+ ID_MODEL_FROM_DATABASE=NRP-Z22
+
+usb:v0AADp0014*
+ ID_MODEL_FROM_DATABASE=NRP-Z23
+
+usb:v0AADp0015*
+ ID_MODEL_FROM_DATABASE=NRP-Z24
+
+usb:v0AADp0016*
+ ID_MODEL_FROM_DATABASE=NRP-Z51
+
+usb:v0AADp0017*
+ ID_MODEL_FROM_DATABASE=NRP-Z52
+
+usb:v0AADp0018*
+ ID_MODEL_FROM_DATABASE=NRP-Z55
+
+usb:v0AADp0019*
+ ID_MODEL_FROM_DATABASE=NRP-Z56
+
+usb:v0AADp0021*
+ ID_MODEL_FROM_DATABASE=NRP-Z91
+
+usb:v0AADp0023*
+ ID_MODEL_FROM_DATABASE=NRP-Z81
+
+usb:v0AADp002C*
+ ID_MODEL_FROM_DATABASE=NRP-Z31
+
+usb:v0AADp002D*
+ ID_MODEL_FROM_DATABASE=NRP-Z37
+
+usb:v0AADp002F*
+ ID_MODEL_FROM_DATABASE=NRP-Z27
+
+usb:v0AADp0051*
+ ID_MODEL_FROM_DATABASE=NRP-Z28
+
+usb:v0AADp0052*
+ ID_MODEL_FROM_DATABASE=NRP-Z98
+
+usb:v0AADp0062*
+ ID_MODEL_FROM_DATABASE=NRP-Z92
+
+usb:v0AADp0070*
+ ID_MODEL_FROM_DATABASE=NRP-Z57
+
+usb:v0AADp0083*
+ ID_MODEL_FROM_DATABASE=NRP-Z85
+
+usb:v0AADp0095*
+ ID_MODEL_FROM_DATABASE=NRP-Z86
+
+usb:v0AAE*
+ ID_VENDOR_FROM_DATABASE=NEC infrontia Corp. (Nitsuko)
+
+usb:v0AAF*
+ ID_VENDOR_FROM_DATABASE=Digitalway Co., Ltd
+
+usb:v0AB0*
+ ID_VENDOR_FROM_DATABASE=Arrow Strong Electronics Co., Ltd
+
+usb:v0AB1*
+ ID_VENDOR_FROM_DATABASE=FEIG ELECTRONIC GmbH
+
+usb:v0AB1p0002*
+ ID_MODEL_FROM_DATABASE=OBID RFID-Reader
+
+usb:v0ABA*
+ ID_VENDOR_FROM_DATABASE=Ellisys
+
+usb:v0ABAp8001*
+ ID_MODEL_FROM_DATABASE=Tracker 110 Protocol Analyzer
+
+usb:v0ABAp8002*
+ ID_MODEL_FROM_DATABASE=Explorer 200 Protocol Analyzer
+
+usb:v0ABE*
+ ID_VENDOR_FROM_DATABASE=Stereo-Link
+
+usb:v0ABEp0101*
+ ID_MODEL_FROM_DATABASE=SL1200 DAC
+
+usb:v0ABF*
+ ID_VENDOR_FROM_DATABASE=Diolan
+
+usb:v0ABFp3370*
+ ID_MODEL_FROM_DATABASE=I2C/SPI Adapter - U2C-12
+
+usb:v0AC3*
+ ID_VENDOR_FROM_DATABASE=Sanyo Semiconductor Company Micro
+
+usb:v0AC4*
+ ID_VENDOR_FROM_DATABASE=Leco Corp.
+
+usb:v0AC5*
+ ID_VENDOR_FROM_DATABASE=I & C Corp.
+
+usb:v0AC6*
+ ID_VENDOR_FROM_DATABASE=Singing Electrons, Inc.
+
+usb:v0AC7*
+ ID_VENDOR_FROM_DATABASE=Panwest Corp.
+
+usb:v0AC8*
+ ID_VENDOR_FROM_DATABASE=Z-Star Microelectronics Corp.
+
+usb:v0AC8p0301*
+ ID_MODEL_FROM_DATABASE=Web Camera
+
+usb:v0AC8p0302*
+ ID_MODEL_FROM_DATABASE=ZC0302 Webcam
+
+usb:v0AC8p0321*
+ ID_MODEL_FROM_DATABASE=Vimicro generic vc0321 Camera
+
+usb:v0AC8p0323*
+ ID_MODEL_FROM_DATABASE=Luxya WC-1200 USB 2.0 Webcam
+
+usb:v0AC8p0328*
+ ID_MODEL_FROM_DATABASE=A4Tech PK-130MG
+
+usb:v0AC8p0336*
+ ID_MODEL_FROM_DATABASE=Elecom UCAM-DLQ30
+
+usb:v0AC8p301B*
+ ID_MODEL_FROM_DATABASE=ZC0301 Webcam
+
+usb:v0AC8p303B*
+ ID_MODEL_FROM_DATABASE=ZC0303 Webcam
+
+usb:v0AC8p305B*
+ ID_MODEL_FROM_DATABASE=ZC0305 Webcam
+
+usb:v0AC8p307B*
+ ID_MODEL_FROM_DATABASE=USB 1.1 Webcam
+
+usb:v0AC8p332D*
+ ID_MODEL_FROM_DATABASE=Vega USB 2.0 Camera
+
+usb:v0AC8p3343*
+ ID_MODEL_FROM_DATABASE=Sirius USB 2.0 Camera
+
+usb:v0AC8p3370*
+ ID_MODEL_FROM_DATABASE=Traveler TV 6500 SF Dia-scanner
+
+usb:v0AC8p3420*
+ ID_MODEL_FROM_DATABASE=Venus USB2.0 Camera
+
+usb:v0AC8pC001*
+ ID_MODEL_FROM_DATABASE=Sony embedded vimicro Camera
+
+usb:v0AC8pC002*
+ ID_MODEL_FROM_DATABASE=Visual Communication Camera VGP-VCC1
+
+usb:v0AC8pC302*
+ ID_MODEL_FROM_DATABASE=Vega USB 2.0 Camera
+
+usb:v0AC8pC303*
+ ID_MODEL_FROM_DATABASE=Saturn USB 2.0 Camera
+
+usb:v0AC8pC326*
+ ID_MODEL_FROM_DATABASE=Namuga 1.3M Webcam
+
+usb:v0AC8pC33F*
+ ID_MODEL_FROM_DATABASE=Webcam
+
+usb:v0AC9*
+ ID_VENDOR_FROM_DATABASE=Micro Solutions, Inc.
+
+usb:v0AC9p0000*
+ ID_MODEL_FROM_DATABASE=Backpack CD-ReWriter
+
+usb:v0AC9p0001*
+ ID_MODEL_FROM_DATABASE=BACKPACK 2 Cable
+
+usb:v0AC9p0010*
+ ID_MODEL_FROM_DATABASE=BACKPACK
+
+usb:v0AC9p0011*
+ ID_MODEL_FROM_DATABASE=Backpack 40GB Hard Drive
+
+usb:v0AC9p0110*
+ ID_MODEL_FROM_DATABASE=BACKPACK
+
+usb:v0AC9p0111*
+ ID_MODEL_FROM_DATABASE=BackPack
+
+usb:v0AC9p1234*
+ ID_MODEL_FROM_DATABASE=BACKPACK
+
+usb:v0ACA*
+ ID_VENDOR_FROM_DATABASE=OPEN Networks Ltd
+
+usb:v0ACAp1060*
+ ID_MODEL_FROM_DATABASE=OPEN NT1 Plus II
+
+usb:v0ACC*
+ ID_VENDOR_FROM_DATABASE=Koga Electronics Co.
+
+usb:v0ACD*
+ ID_VENDOR_FROM_DATABASE=ID Tech
+
+usb:v0ACDp0300*
+ ID_MODEL_FROM_DATABASE=IDT1221U RS-232 Adapter
+
+usb:v0ACDp0401*
+ ID_MODEL_FROM_DATABASE=Spectrum III Hybrid Smartcard Reader
+
+usb:v0ACDp0630*
+ ID_MODEL_FROM_DATABASE=Spectrum III Mag-Only Insert Reader (SPT3-355 Series) USB-CDC
+
+usb:v0ACE*
+ ID_VENDOR_FROM_DATABASE=ZyDAS
+
+usb:v0ACEp1201*
+ ID_MODEL_FROM_DATABASE=ZD1201 802.11b
+
+usb:v0ACEp1211*
+ ID_MODEL_FROM_DATABASE=ZD1211 802.11g
+
+usb:v0ACEp1215*
+ ID_MODEL_FROM_DATABASE=ZD1211B 802.11g
+
+usb:v0ACEp1221*
+ ID_MODEL_FROM_DATABASE=ZD1221 802.11n
+
+usb:v0ACEp1602*
+ ID_MODEL_FROM_DATABASE=ZyXEL Omni FaxModem 56K
+
+usb:v0ACEp1608*
+ ID_MODEL_FROM_DATABASE=ZyXEL Omni FaxModem 56K UNO
+
+usb:v0ACEp1611*
+ ID_MODEL_FROM_DATABASE=ZyXEL Omni FaxModem 56K Plus
+
+usb:v0ACEp2011*
+ ID_MODEL_FROM_DATABASE=Virtual media for 802.11bg
+
+usb:v0ACEp20FF*
+ ID_MODEL_FROM_DATABASE=Virtual media for 802.11bg
+
+usb:v0ACEpA211*
+ ID_MODEL_FROM_DATABASE=ZD1211 802.11b/g Wireless Adapter
+
+usb:v0ACEpB215*
+ ID_MODEL_FROM_DATABASE=802.11bg
+
+usb:v0ACF*
+ ID_VENDOR_FROM_DATABASE=Intoto, Inc.
+
+usb:v0AD0*
+ ID_VENDOR_FROM_DATABASE=Intellix Corp.
+
+usb:v0AD1*
+ ID_VENDOR_FROM_DATABASE=Remotec Technology, Ltd
+
+usb:v0AD2*
+ ID_VENDOR_FROM_DATABASE=Service & Quality Technology Co., Ltd
+
+usb:v0ADA*
+ ID_VENDOR_FROM_DATABASE=Data Encryption Systems Ltd.
+
+usb:v0ADAp0005*
+ ID_MODEL_FROM_DATABASE=DK2
+
+usb:v0AE3*
+ ID_VENDOR_FROM_DATABASE=Allion Computer, Inc.
+
+usb:v0AE4*
+ ID_VENDOR_FROM_DATABASE=Taito Corp.
+
+usb:v0AE7*
+ ID_VENDOR_FROM_DATABASE=Neodym Systems, Inc.
+
+usb:v0AE8*
+ ID_VENDOR_FROM_DATABASE=System Support Co., Ltd
+
+usb:v0AE9*
+ ID_VENDOR_FROM_DATABASE=North Shore Circuit Design L.L.P.
+
+usb:v0AEA*
+ ID_VENDOR_FROM_DATABASE=SciEssence, LLC
+
+usb:v0AEB*
+ ID_VENDOR_FROM_DATABASE=TTP Communications, Ltd
+
+usb:v0AEC*
+ ID_VENDOR_FROM_DATABASE=Neodio Technologies Corp.
+
+usb:v0AECp2101*
+ ID_MODEL_FROM_DATABASE=SmartMedia Card Reader
+
+usb:v0AECp2102*
+ ID_MODEL_FROM_DATABASE=CompactFlash Card Reader
+
+usb:v0AECp2103*
+ ID_MODEL_FROM_DATABASE=MMC/SD Card Reader
+
+usb:v0AECp2104*
+ ID_MODEL_FROM_DATABASE=MemoryStick Card Reader
+
+usb:v0AECp2201*
+ ID_MODEL_FROM_DATABASE=SmartMedia+CompactFlash Card Reader
+
+usb:v0AECp2202*
+ ID_MODEL_FROM_DATABASE=SmartMedia+MMC/SD Card Reader
+
+usb:v0AECp2203*
+ ID_MODEL_FROM_DATABASE=SmartMedia+MemoryStick Card Reader
+
+usb:v0AECp2204*
+ ID_MODEL_FROM_DATABASE=CompactFlash+MMC/SD Card Reader
+
+usb:v0AECp2205*
+ ID_MODEL_FROM_DATABASE=CompactFlash+MemoryStick Card Reader
+
+usb:v0AECp2206*
+ ID_MODEL_FROM_DATABASE=MMC/SD+MemoryStick Card Reader
+
+usb:v0AECp2301*
+ ID_MODEL_FROM_DATABASE=SmartMedia+CompactFlash+MMC/SD Card Reader
+
+usb:v0AECp2302*
+ ID_MODEL_FROM_DATABASE=SmartMedia+CompactFlash+MemoryStick Card Reader
+
+usb:v0AECp2303*
+ ID_MODEL_FROM_DATABASE=SmartMedia+MMC/SD+MemoryStick Card Reader
+
+usb:v0AECp2304*
+ ID_MODEL_FROM_DATABASE=CompactFlash+MMC/SD+MemoryStick Card Reader
+
+usb:v0AECp3016*
+ ID_MODEL_FROM_DATABASE=MMC/SD+Memory Stick Card Reader
+
+usb:v0AECp3050*
+ ID_MODEL_FROM_DATABASE=ND3050 8-in-1 Card Reader
+
+usb:v0AECp3060*
+ ID_MODEL_FROM_DATABASE=1.1 FS Card Reader
+
+usb:v0AECp3101*
+ ID_MODEL_FROM_DATABASE=MMC/SD Card Reader
+
+usb:v0AECp3102*
+ ID_MODEL_FROM_DATABASE=MemoryStick Card Reader
+
+usb:v0AECp3201*
+ ID_MODEL_FROM_DATABASE=MMC/SD+MemoryStick Card Reader
+
+usb:v0AECp3216*
+ ID_MODEL_FROM_DATABASE=HS Card Reader
+
+usb:v0AECp3260*
+ ID_MODEL_FROM_DATABASE=7-in-1 Card Reader
+
+usb:v0AECp5010*
+ ID_MODEL_FROM_DATABASE=ND5010 Card Reader
+
+usb:v0AF0*
+ ID_VENDOR_FROM_DATABASE=Option
+
+usb:v0AF0p5000*
+ ID_MODEL_FROM_DATABASE=UMTS Card
+
+usb:v0AF0p6000*
+ ID_MODEL_FROM_DATABASE=GlobeTrotter 3G datacard
+
+usb:v0AF0p6300*
+ ID_MODEL_FROM_DATABASE=GT 3G Quad UMTS/GPRS Card
+
+usb:v0AF0p6600*
+ ID_MODEL_FROM_DATABASE=GlobeTrotter 3G+ datacard
+
+usb:v0AF0p6711*
+ ID_MODEL_FROM_DATABASE=GlobeTrotter Express 7.2 v2
+
+usb:v0AF0p6971*
+ ID_MODEL_FROM_DATABASE=Globetrotter HSDPA Modem
+
+usb:v0AF0p7251*
+ ID_MODEL_FROM_DATABASE=Globetrotter HSUPA Modem (aka iCON HSUPA E)
+
+usb:v0AF0p7501*
+ ID_MODEL_FROM_DATABASE=Globetrotter HSUPA Modem (icon 411 aka "Vodafone K3760")
+
+usb:v0AF0p7601*
+ ID_MODEL_FROM_DATABASE=Globetrotter MO40x 3G Modem (GTM 382)
+
+usb:v0AF0p7701*
+ ID_MODEL_FROM_DATABASE=Globetrotter HSUPA Modem (aka icon 451)
+
+usb:v0AF0pD055*
+ ID_MODEL_FROM_DATABASE=Globetrotter GI0505 [iCON 505]
+
+usb:v0AF6*
+ ID_VENDOR_FROM_DATABASE=Silver I Co., Ltd
+
+usb:v0AF7*
+ ID_VENDOR_FROM_DATABASE=B2C2, Inc.
+
+usb:v0AF7p0101*
+ ID_MODEL_FROM_DATABASE=Digital TV USB Receiver (DVB-S/T/C / ATSC)
+
+usb:v0AF9*
+ ID_VENDOR_FROM_DATABASE=Hama, Inc.
+
+usb:v0AF9p0010*
+ ID_MODEL_FROM_DATABASE=USB SightCam 100
+
+usb:v0AF9p0011*
+ ID_MODEL_FROM_DATABASE=Micro Innovations IC50C Webcam
+
+usb:v0AFC*
+ ID_VENDOR_FROM_DATABASE=Zaptronix Ltd
+
+usb:v0AFD*
+ ID_VENDOR_FROM_DATABASE=Tateno Dennou, Inc.
+
+usb:v0AFE*
+ ID_VENDOR_FROM_DATABASE=Cummins Engine Co.
+
+usb:v0AFF*
+ ID_VENDOR_FROM_DATABASE=Jump Zone Network Products, Inc.
+
+usb:v0B00*
+ ID_VENDOR_FROM_DATABASE=INGENICO
+
+usb:v0B05*
+ ID_VENDOR_FROM_DATABASE=ASUSTek Computer, Inc.
+
+usb:v0B05p1101*
+ ID_MODEL_FROM_DATABASE=Mass Storage (UISDMC4S)
+
+usb:v0B05p1706*
+ ID_MODEL_FROM_DATABASE=WL-167G v1 802.11g Adapter [Ralink RT2571]
+
+usb:v0B05p1707*
+ ID_MODEL_FROM_DATABASE=WL-167G v1 802.11g Adapter [Ralink RT2571]
+
+usb:v0B05p1708*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0B05p170B*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0B05p170C*
+ ID_MODEL_FROM_DATABASE=WL-159g 802.11bg
+
+usb:v0B05p170D*
+ ID_MODEL_FROM_DATABASE=802.11b/g Wireless Network Adapter
+
+usb:v0B05p1712*
+ ID_MODEL_FROM_DATABASE=BT-183 Bluetooth 2.0+EDR adapter
+
+usb:v0B05p1715*
+ ID_MODEL_FROM_DATABASE=2045 Bluetooth 2.0 Device with trace filter
+
+usb:v0B05p1716*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0B05p1717*
+ ID_MODEL_FROM_DATABASE=WL169gE 802.11g Adapter [Broadcom 4320 USB]
+
+usb:v0B05p171B*
+ ID_MODEL_FROM_DATABASE=A9T wireless 802.11bg
+
+usb:v0B05p171C*
+ ID_MODEL_FROM_DATABASE=802.11b/g Wireless Network Adapter
+
+usb:v0B05p171F*
+ ID_MODEL_FROM_DATABASE=My Cinema U3000 Mini [DiBcom DiB7700P]
+
+usb:v0B05p1723*
+ ID_MODEL_FROM_DATABASE=WL-167G v2 802.11g Adapter [Ralink RT2571W]
+
+usb:v0B05p1724*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v0B05p1726*
+ ID_MODEL_FROM_DATABASE=Laptop OLED Display
+
+usb:v0B05p172A*
+ ID_MODEL_FROM_DATABASE=ASUS 802.11n Network Adapter
+
+usb:v0B05p172B*
+ ID_MODEL_FROM_DATABASE=802.11n Network Adapter
+
+usb:v0B05p1731*
+ ID_MODEL_FROM_DATABASE=802.11n Network Adapter
+
+usb:v0B05p1732*
+ ID_MODEL_FROM_DATABASE=802.11n Network Adapter
+
+usb:v0B05p1734*
+ ID_MODEL_FROM_DATABASE=ASUS AF-200
+
+usb:v0B05p173C*
+ ID_MODEL_FROM_DATABASE=BT-183 Bluetooth 2.0
+
+usb:v0B05p173F*
+ ID_MODEL_FROM_DATABASE=My Cinema U3100 Mini
+
+usb:v0B05p1742*
+ ID_MODEL_FROM_DATABASE=802.11n Network Adapter
+
+usb:v0B05p1743*
+ ID_MODEL_FROM_DATABASE=Xonar U1 Audio Station
+
+usb:v0B05p1751*
+ ID_MODEL_FROM_DATABASE=BT-253 Bluetooth Adapter
+
+usb:v0B05p175B*
+ ID_MODEL_FROM_DATABASE=Laptop OLED Display
+
+usb:v0B05p1760*
+ ID_MODEL_FROM_DATABASE=802.11n Network Adapter
+
+usb:v0B05p1761*
+ ID_MODEL_FROM_DATABASE=USB-N11 802.11n Network Adapter [Ralink RT2870]
+
+usb:v0B05p1774*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
+
+usb:v0B05p1776*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem
+
+usb:v0B05p1779*
+ ID_MODEL_FROM_DATABASE=My Cinema U3100 Mini Plus [AF9035A]
+
+usb:v0B05p1784*
+ ID_MODEL_FROM_DATABASE=USB-N13 802.11n Network Adapter (rev. A1) [Ralink RT3072]
+
+usb:v0B05p1786*
+ ID_MODEL_FROM_DATABASE=USB-N10 802.11n Network Adapter [Realtek RTL8188SU]
+
+usb:v0B05p1791*
+ ID_MODEL_FROM_DATABASE=WL-167G v3 802.11n Adapter [Realtek RTL8188SU]
+
+usb:v0B05p179D*
+ ID_MODEL_FROM_DATABASE=USB-N53 802.11abgn Network Adapter [Ralink RT3572]
+
+usb:v0B05p179E*
+ ID_MODEL_FROM_DATABASE=Eee Note EA800 (network mode)
+
+usb:v0B05p179F*
+ ID_MODEL_FROM_DATABASE=Eee Note EA800 (tablet mode)
+
+usb:v0B05p17A1*
+ ID_MODEL_FROM_DATABASE=Eee Note EA800 (mass storage mode)
+
+usb:v0B05p17AB*
+ ID_MODEL_FROM_DATABASE=USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU]
+
+usb:v0B05p4C80*
+ ID_MODEL_FROM_DATABASE=Transformer Pad TF300TG
+
+usb:v0B05p4C90*
+ ID_MODEL_FROM_DATABASE=Transformer Pad Infinity TF700
+
+usb:v0B05p4C91*
+ ID_MODEL_FROM_DATABASE=Transformer Pad Infinity TF700 (Debug mode)
+
+usb:v0B05p4D00*
+ ID_MODEL_FROM_DATABASE=Transformer Prime TF201
+
+usb:v0B05p4D01*
+ ID_MODEL_FROM_DATABASE=Transformer Prime TF201 (debug mode)
+
+usb:v0B05p4DAF*
+ ID_MODEL_FROM_DATABASE=Transformer Pad Infinity TF700 (Fastboot)
+
+usb:v0B05p6101*
+ ID_MODEL_FROM_DATABASE=Cable Modem
+
+usb:v0B05p620A*
+ ID_MODEL_FROM_DATABASE=Remote NDIS Device
+
+usb:v0B05pB700*
+ ID_MODEL_FROM_DATABASE=Broadcom Bluetooth 2.1
+
+usb:v0B0B*
+ ID_VENDOR_FROM_DATABASE=Datamax-O'Neil
+
+usb:v0B0Bp106E*
+ ID_MODEL_FROM_DATABASE=Datamax E-4304
+
+usb:v0B0C*
+ ID_VENDOR_FROM_DATABASE=Todos AB
+
+usb:v0B0Cp0009*
+ ID_MODEL_FROM_DATABASE=Todos Argos Mini II Smart Card Reader
+
+usb:v0B0Cp001E*
+ ID_MODEL_FROM_DATABASE=e.dentifier2 (ABN AMRO electronic banking card reader NL)
+
+usb:v0B0Cp002E*
+ ID_MODEL_FROM_DATABASE=C200 smartcard controller (Nordea card reader)
+
+usb:v0B0Cp003F*
+ ID_MODEL_FROM_DATABASE=Todos C400 smartcard controller (Handelsbanken card reader)
+
+usb:v0B0Cp0050*
+ ID_MODEL_FROM_DATABASE=Argos Mini II Smart Card Reader (CCID)
+
+usb:v0B0D*
+ ID_VENDOR_FROM_DATABASE=ProjectLab
+
+usb:v0B0Dp0000*
+ ID_MODEL_FROM_DATABASE=CenturyCD
+
+usb:v0B0E*
+ ID_VENDOR_FROM_DATABASE=GN Netcom
+
+usb:v0B0Ep1022*
+ ID_MODEL_FROM_DATABASE=Jabra PRO 9450, Type 9400BS (DECT Headset)
+
+usb:v0B0Ep620C*
+ ID_MODEL_FROM_DATABASE=Jabra BT620s
+
+usb:v0B0F*
+ ID_VENDOR_FROM_DATABASE=AVID Technology
+
+usb:v0B10*
+ ID_VENDOR_FROM_DATABASE=Pcally
+
+usb:v0B11*
+ ID_VENDOR_FROM_DATABASE=I Tech Solutions Co., Ltd
+
+usb:v0B1E*
+ ID_VENDOR_FROM_DATABASE=Electronic Warfare Assoc., Inc. (EWA)
+
+usb:v0B1Ep8007*
+ ID_MODEL_FROM_DATABASE=Blackhawk USB560-BP JTAG Emulator
+
+usb:v0B1F*
+ ID_VENDOR_FROM_DATABASE=Insyde Software Corp.
+
+usb:v0B20*
+ ID_VENDOR_FROM_DATABASE=TransDimension, Inc.
+
+usb:v0B21*
+ ID_VENDOR_FROM_DATABASE=Yokogawa Electric Corp.
+
+usb:v0B22*
+ ID_VENDOR_FROM_DATABASE=Japan System Development Co., Ltd
+
+usb:v0B23*
+ ID_VENDOR_FROM_DATABASE=Pan-Asia Electronics Co., Ltd
+
+usb:v0B24*
+ ID_VENDOR_FROM_DATABASE=Link Evolution Corp.
+
+usb:v0B27*
+ ID_VENDOR_FROM_DATABASE=Ritek Corp.
+
+usb:v0B28*
+ ID_VENDOR_FROM_DATABASE=Kenwood Corp.
+
+usb:v0B2C*
+ ID_VENDOR_FROM_DATABASE=Village Center, Inc.
+
+usb:v0B30*
+ ID_VENDOR_FROM_DATABASE=PNY Technologies, Inc.
+
+usb:v0B30p0006*
+ ID_MODEL_FROM_DATABASE=SM Media-Shuttle Card Reader
+
+usb:v0B33*
+ ID_VENDOR_FROM_DATABASE=Contour Design, Inc.
+
+usb:v0B33p0020*
+ ID_MODEL_FROM_DATABASE=ShuttleXpress
+
+usb:v0B37*
+ ID_VENDOR_FROM_DATABASE=Hitachi ULSI Systems Co., Ltd
+
+usb:v0B38*
+ ID_VENDOR_FROM_DATABASE=Gear Head
+
+usb:v0B38p0003*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v0B38p0010*
+ ID_MODEL_FROM_DATABASE=107-Key Keyboard
+
+usb:v0B39*
+ ID_VENDOR_FROM_DATABASE=Omnidirectional Control Technology, Inc.
+
+usb:v0B39p0001*
+ ID_MODEL_FROM_DATABASE=Composite USB PS2 Converter
+
+usb:v0B39p0109*
+ ID_MODEL_FROM_DATABASE=USB TO Ethernet
+
+usb:v0B39p0421*
+ ID_MODEL_FROM_DATABASE=Serial
+
+usb:v0B39p0801*
+ ID_MODEL_FROM_DATABASE=USB-Parallel Bridge
+
+usb:v0B39p0901*
+ ID_MODEL_FROM_DATABASE=OCT To Fast Ethernet Converter
+
+usb:v0B39p0C03*
+ ID_MODEL_FROM_DATABASE=LAN DOCK Serial Converter
+
+usb:v0B3A*
+ ID_VENDOR_FROM_DATABASE=IPaxess
+
+usb:v0B3B*
+ ID_VENDOR_FROM_DATABASE=Tekram Technology Co., Ltd
+
+usb:v0B3Bp0163*
+ ID_MODEL_FROM_DATABASE=TL-WN320G 1.0 WLAN Adapter
+
+usb:v0B3Bp1601*
+ ID_MODEL_FROM_DATABASE=Allnet 0193 802.11b Adapter
+
+usb:v0B3Bp1602*
+ ID_MODEL_FROM_DATABASE=ZyXEL ZyAIR B200 802.11b Adapter
+
+usb:v0B3Bp1612*
+ ID_MODEL_FROM_DATABASE=AIR.Mate 2@net 802.11b Adapter
+
+usb:v0B3Bp1613*
+ ID_MODEL_FROM_DATABASE=802.11b Wireless LAN Adapter
+
+usb:v0B3Bp1620*
+ ID_MODEL_FROM_DATABASE=Allnet Wireless Network Adapter [Envara WiND512]
+
+usb:v0B3Bp1630*
+ ID_MODEL_FROM_DATABASE=QuickWLAN 802.11bg
+
+usb:v0B3Bp5630*
+ ID_MODEL_FROM_DATABASE=802.11bg
+
+usb:v0B3Bp6630*
+ ID_MODEL_FROM_DATABASE=ZD1211
+
+usb:v0B3C*
+ ID_VENDOR_FROM_DATABASE=Olivetti Techcenter
+
+usb:v0B3CpA010*
+ ID_MODEL_FROM_DATABASE=Simple_Way Printer/Scanner/Copier
+
+usb:v0B3CpC000*
+ ID_MODEL_FROM_DATABASE=Olicard 100
+
+usb:v0B3CpC700*
+ ID_MODEL_FROM_DATABASE=Olicard 100 (Mass Storage mode)
+
+usb:v0B3E*
+ ID_VENDOR_FROM_DATABASE=Kikusui Electronics Corp.
+
+usb:v0B41*
+ ID_VENDOR_FROM_DATABASE=Hal Corp.
+
+usb:v0B41p0011*
+ ID_MODEL_FROM_DATABASE=Crossam2+USB IR commander
+
+usb:v0B43*
+ ID_VENDOR_FROM_DATABASE=Play.com, Inc.
+
+usb:v0B43p0003*
+ ID_MODEL_FROM_DATABASE=PS2 Controller Converter
+
+usb:v0B43p0005*
+ ID_MODEL_FROM_DATABASE=GameCube Adaptor
+
+usb:v0B47*
+ ID_VENDOR_FROM_DATABASE=Sportbug.com, Inc.
+
+usb:v0B48*
+ ID_VENDOR_FROM_DATABASE=TechnoTrend AG
+
+usb:v0B48p1003*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge USB-Nova
+
+usb:v0B48p1004*
+ ID_MODEL_FROM_DATABASE=TT-PCline
+
+usb:v0B48p1005*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge USB-Nova
+
+usb:v0B48p1006*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DEC3000-s
+
+usb:v0B48p1007*
+ ID_MODEL_FROM_DATABASE=TT-micro plus Device
+
+usb:v0B48p1008*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DEC2000-t
+
+usb:v0B48p1009*
+ ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DEC2540-t
+
+usb:v0B48p3001*
+ ID_MODEL_FROM_DATABASE=DVB-S receiver
+
+usb:v0B48p3002*
+ ID_MODEL_FROM_DATABASE=DVB-C receiver
+
+usb:v0B48p3003*
+ ID_MODEL_FROM_DATABASE=DVB-T receiver
+
+usb:v0B48p3004*
+ ID_MODEL_FROM_DATABASE=TT TV-Stick
+
+usb:v0B48p3005*
+ ID_MODEL_FROM_DATABASE=TT TV-Stick (8kB EEPROM)
+
+usb:v0B48p3006*
+ ID_MODEL_FROM_DATABASE=TT-connect S-2400 DVB-S receiver
+
+usb:v0B48p3007*
+ ID_MODEL_FROM_DATABASE=TT-connect S2-3600
+
+usb:v0B48p3008*
+ ID_MODEL_FROM_DATABASE=TT-connect
+
+usb:v0B48p3009*
+ ID_MODEL_FROM_DATABASE=TT-connect S-2400 DVB-S receiver (8kB EEPROM)
+
+usb:v0B48p300A*
+ ID_MODEL_FROM_DATABASE=TT-connect S2-3650 CI
+
+usb:v0B48p300B*
+ ID_MODEL_FROM_DATABASE=TT-connect C-3650 CI
+
+usb:v0B48p300C*
+ ID_MODEL_FROM_DATABASE=TT-connect T-3650 CI
+
+usb:v0B48p300D*
+ ID_MODEL_FROM_DATABASE=TT-connect CT-3650 CI
+
+usb:v0B48p300E*
+ ID_MODEL_FROM_DATABASE=TT-connect C-2400
+
+usb:v0B49*
+ ID_VENDOR_FROM_DATABASE=ASCII Corp.
+
+usb:v0B49p064F*
+ ID_MODEL_FROM_DATABASE=Trance Vibrator
+
+usb:v0B4B*
+ ID_VENDOR_FROM_DATABASE=Pine Corp. Ltd.
+
+usb:v0B4Bp0100*
+ ID_MODEL_FROM_DATABASE=D'music MP3 Player
+
+usb:v0B4D*
+ ID_VENDOR_FROM_DATABASE=Graphtec America, Inc.
+
+usb:v0B4Dp110A*
+ ID_MODEL_FROM_DATABASE=Graphtec CC200-20
+
+usb:v0B4E*
+ ID_VENDOR_FROM_DATABASE=Musical Electronics, Ltd
+
+usb:v0B4Ep6500*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0B4Ep8028*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0B4Ep8920*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0B50*
+ ID_VENDOR_FROM_DATABASE=Dumpries Co., Ltd
+
+usb:v0B51*
+ ID_VENDOR_FROM_DATABASE=Comfort Keyboard Co.
+
+usb:v0B51p0020*
+ ID_MODEL_FROM_DATABASE=Comfort Keyboard
+
+usb:v0B52*
+ ID_VENDOR_FROM_DATABASE=Colorado MicroDisplay, Inc.
+
+usb:v0B54*
+ ID_VENDOR_FROM_DATABASE=Sinbon Electronics Co., Ltd
+
+usb:v0B56*
+ ID_VENDOR_FROM_DATABASE=TYI Systems, Ltd
+
+usb:v0B57*
+ ID_VENDOR_FROM_DATABASE=Beijing HanwangTechnology Co., Ltd
+
+usb:v0B59*
+ ID_VENDOR_FROM_DATABASE=Lake Communications, Ltd
+
+usb:v0B5A*
+ ID_VENDOR_FROM_DATABASE=Corel Corp.
+
+usb:v0B5F*
+ ID_VENDOR_FROM_DATABASE=Green Electronics Co., Ltd
+
+usb:v0B60*
+ ID_VENDOR_FROM_DATABASE=Nsine, Ltd
+
+usb:v0B61*
+ ID_VENDOR_FROM_DATABASE=NEC Viewtechnology, Ltd
+
+usb:v0B62*
+ ID_VENDOR_FROM_DATABASE=Orange Micro, Inc.
+
+usb:v0B62p000B*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0B62p0059*
+ ID_MODEL_FROM_DATABASE=iBOT2 Webcam
+
+usb:v0B63*
+ ID_VENDOR_FROM_DATABASE=ADLink Technology, Inc.
+
+usb:v0B64*
+ ID_VENDOR_FROM_DATABASE=Wonderful Wire Cable Co., Ltd
+
+usb:v0B65*
+ ID_VENDOR_FROM_DATABASE=Expert Magnetics Corp.
+
+usb:v0B69*
+ ID_VENDOR_FROM_DATABASE=CacheVision
+
+usb:v0B6A*
+ ID_VENDOR_FROM_DATABASE=Maxim Integrated Products
+
+usb:v0B6ApA132*
+ ID_MODEL_FROM_DATABASE=WUP-005 [Nintendo Wii U Pro Controller]
+
+usb:v0B6F*
+ ID_VENDOR_FROM_DATABASE=Nagano Japan Radio Co., Ltd
+
+usb:v0B70*
+ ID_VENDOR_FROM_DATABASE=PortalPlayer, Inc.
+
+usb:v0B70p00BA*
+ ID_MODEL_FROM_DATABASE=iRiver H10 20GB
+
+usb:v0B71*
+ ID_VENDOR_FROM_DATABASE=SHIN-EI Sangyo Co., Ltd
+
+usb:v0B72*
+ ID_VENDOR_FROM_DATABASE=Embedded Wireless Technology Co., Ltd
+
+usb:v0B73*
+ ID_VENDOR_FROM_DATABASE=Computone Corp.
+
+usb:v0B75*
+ ID_VENDOR_FROM_DATABASE=Roland DG Corp.
+
+usb:v0B79*
+ ID_VENDOR_FROM_DATABASE=Sunrise Telecom, Inc.
+
+usb:v0B7A*
+ ID_VENDOR_FROM_DATABASE=Zeevo, Inc.
+
+usb:v0B7Ap07D0*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle
+
+usb:v0B7B*
+ ID_VENDOR_FROM_DATABASE=Taiko Denki Co., Ltd
+
+usb:v0B7C*
+ ID_VENDOR_FROM_DATABASE=ITRAN Communications, Ltd
+
+usb:v0B7D*
+ ID_VENDOR_FROM_DATABASE=Astrodesign, Inc.
+
+usb:v0B81*
+ ID_VENDOR_FROM_DATABASE=id3 Semiconductors
+
+usb:v0B81p0001*
+ ID_MODEL_FROM_DATABASE=Biothentic II smartcard reader with fingerprint sensor
+
+usb:v0B81p0002*
+ ID_MODEL_FROM_DATABASE=DFU-Enabled Devices (DFU)
+
+usb:v0B81p0012*
+ ID_MODEL_FROM_DATABASE=BioPAD biometric module (DFU + CDC)
+
+usb:v0B81p0102*
+ ID_MODEL_FROM_DATABASE=Certis V1 fingerprint reader
+
+usb:v0B81p0103*
+ ID_MODEL_FROM_DATABASE=Certis V2 fingerprint reader
+
+usb:v0B81p0200*
+ ID_MODEL_FROM_DATABASE=CL1356T / CL1356T5 / CL1356A smartcard readers (CCID)
+
+usb:v0B81p0201*
+ ID_MODEL_FROM_DATABASE=CL1356T / CL1356T5 / CL1356A smartcard readers (DFU + CCID)
+
+usb:v0B81p0220*
+ ID_MODEL_FROM_DATABASE=CL1356A FFPJP smartcard reader (CCID + HID)
+
+usb:v0B81p0221*
+ ID_MODEL_FROM_DATABASE=CL1356A smartcard reader (DFU + CCID + HID)
+
+usb:v0B84*
+ ID_VENDOR_FROM_DATABASE=Rextron Technology, Inc.
+
+usb:v0B85*
+ ID_VENDOR_FROM_DATABASE=Elkat Electronics, Sdn., Bhd.
+
+usb:v0B86*
+ ID_VENDOR_FROM_DATABASE=Exputer Systems, Inc.
+
+usb:v0B86p5100*
+ ID_MODEL_FROM_DATABASE=XMC5100 Zippy Drive
+
+usb:v0B86p5110*
+ ID_MODEL_FROM_DATABASE=XMC5110 Flash Drive
+
+usb:v0B86p5200*
+ ID_MODEL_FROM_DATABASE=XMC5200 Zippy Drive
+
+usb:v0B86p5201*
+ ID_MODEL_FROM_DATABASE=XMC5200 Zippy Drive
+
+usb:v0B86p5202*
+ ID_MODEL_FROM_DATABASE=XMC5200 Zippy Drive
+
+usb:v0B86p5280*
+ ID_MODEL_FROM_DATABASE=XMC5280 Storage Drive
+
+usb:v0B86pFFF0*
+ ID_MODEL_FROM_DATABASE=ISP5200 Debugger
+
+usb:v0B87*
+ ID_VENDOR_FROM_DATABASE=Plus-One I & T, Inc.
+
+usb:v0B88*
+ ID_VENDOR_FROM_DATABASE=Sigma Koki Co., Ltd, Technology Center
+
+usb:v0B89*
+ ID_VENDOR_FROM_DATABASE=Advanced Digital Broadcast, Ltd
+
+usb:v0B8C*
+ ID_VENDOR_FROM_DATABASE=SMART Technologies Inc.
+
+usb:v0B8Cp0001*
+ ID_MODEL_FROM_DATABASE=Interactive Whiteboard Controller (SB6) (HID)
+
+usb:v0B8Cp00C3*
+ ID_MODEL_FROM_DATABASE=Sympodium ID350
+
+usb:v0B95*
+ ID_VENDOR_FROM_DATABASE=ASIX Electronics Corp.
+
+usb:v0B95p1720*
+ ID_MODEL_FROM_DATABASE=10/100 Ethernet
+
+usb:v0B95p1780*
+ ID_MODEL_FROM_DATABASE=AX88178
+
+usb:v0B95p7720*
+ ID_MODEL_FROM_DATABASE=AX88772
+
+usb:v0B95p772A*
+ ID_MODEL_FROM_DATABASE=AX88772A Fast Ethernet
+
+usb:v0B95p772B*
+ ID_MODEL_FROM_DATABASE=AX88772B
+
+usb:v0B95p7E2B*
+ ID_MODEL_FROM_DATABASE=AX88772B
+
+usb:v0B96*
+ ID_VENDOR_FROM_DATABASE=Sewon Telecom
+
+usb:v0B97*
+ ID_VENDOR_FROM_DATABASE=O2 Micro, Inc.
+
+usb:v0B97p7732*
+ ID_MODEL_FROM_DATABASE=Smart Card Reader
+
+usb:v0B97p7761*
+ ID_MODEL_FROM_DATABASE=Oz776 1.1 Hub
+
+usb:v0B97p7762*
+ ID_MODEL_FROM_DATABASE=Oz776 SmartCard Reader
+
+usb:v0B97p7772*
+ ID_MODEL_FROM_DATABASE=OZ776 CCID Smartcard Reader
+
+usb:v0B98*
+ ID_VENDOR_FROM_DATABASE=Playmates Toys, Inc.
+
+usb:v0B99*
+ ID_VENDOR_FROM_DATABASE=Audio International, Inc.
+
+usb:v0B9B*
+ ID_VENDOR_FROM_DATABASE=Dipl.-Ing. Stefan Kunde
+
+usb:v0B9Bp4012*
+ ID_MODEL_FROM_DATABASE=Reflex RC-controller Interface
+
+usb:v0B9D*
+ ID_VENDOR_FROM_DATABASE=Softprotec Co.
+
+usb:v0B9F*
+ ID_VENDOR_FROM_DATABASE=Chippo Technologies
+
+usb:v0BAF*
+ ID_VENDOR_FROM_DATABASE=U.S. Robotics
+
+usb:v0BAFp00E5*
+ ID_MODEL_FROM_DATABASE=USR6000
+
+usb:v0BAFp00EB*
+ ID_MODEL_FROM_DATABASE=USR1120 802.11b Adapter
+
+usb:v0BAFp00EC*
+ ID_MODEL_FROM_DATABASE=56K Faxmodem
+
+usb:v0BAFp00F1*
+ ID_MODEL_FROM_DATABASE=SureConnect ADSL ATM Adapter
+
+usb:v0BAFp00F2*
+ ID_MODEL_FROM_DATABASE=SureConnect ADSL Loader
+
+usb:v0BAFp00F5*
+ ID_MODEL_FROM_DATABASE=SureConnect ADSL ATM Adapter
+
+usb:v0BAFp00F6*
+ ID_MODEL_FROM_DATABASE=SureConnect ADSL Loader
+
+usb:v0BAFp00F7*
+ ID_MODEL_FROM_DATABASE=SureConnect ADSL ATM Adapter
+
+usb:v0BAFp00F8*
+ ID_MODEL_FROM_DATABASE=SureConnect ADSL Loader
+
+usb:v0BAFp00F9*
+ ID_MODEL_FROM_DATABASE=SureConnect ADSL ATM Adapter
+
+usb:v0BAFp00FA*
+ ID_MODEL_FROM_DATABASE=SureConnect ADSL Loader
+
+usb:v0BAFp00FB*
+ ID_MODEL_FROM_DATABASE=SureConnect ADSL Ethernet/USB Router
+
+usb:v0BAFp0111*
+ ID_MODEL_FROM_DATABASE=USR5420 802.11g Adapter [Broadcom 4320 USB]
+
+usb:v0BAFp0118*
+ ID_MODEL_FROM_DATABASE=U5 802.11g Adapter
+
+usb:v0BAFp011B*
+ ID_MODEL_FROM_DATABASE=Wireless MAXg Adapter [Broadcom 4320]
+
+usb:v0BAFp0121*
+ ID_MODEL_FROM_DATABASE=USR5423 802.11bg Wireless Adapter [ZyDAS ZD1211B]
+
+usb:v0BAFp6112*
+ ID_MODEL_FROM_DATABASE=FaxModem Model 5633
+
+usb:v0BB0*
+ ID_VENDOR_FROM_DATABASE=Concord Camera Corp.
+
+usb:v0BB0p0100*
+ ID_MODEL_FROM_DATABASE=Sound Vision Stream
+
+usb:v0BB0p5007*
+ ID_MODEL_FROM_DATABASE=3340z/Rollei DC3100
+
+usb:v0BB1*
+ ID_VENDOR_FROM_DATABASE=Infinilink Corp.
+
+usb:v0BB2*
+ ID_VENDOR_FROM_DATABASE=Ambit Microsystems Corp.
+
+usb:v0BB2p0302*
+ ID_MODEL_FROM_DATABASE=U10H010 802.11b Wireless Adapter [Intersil PRISM 3]
+
+usb:v0BB2p6098*
+ ID_MODEL_FROM_DATABASE=USB Cable Modem
+
+usb:v0BB3*
+ ID_VENDOR_FROM_DATABASE=Ofuji Technology
+
+usb:v0BB4*
+ ID_VENDOR_FROM_DATABASE=HTC (High Tech Computer Corp.)
+
+usb:v0BB4p00CE*
+ ID_MODEL_FROM_DATABASE=mmO2 XDA GSM/GPRS Pocket PC
+
+usb:v0BB4p00CF*
+ ID_MODEL_FROM_DATABASE=SPV C500 Smart Phone
+
+usb:v0BB4p0A01*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A02*
+ ID_MODEL_FROM_DATABASE=Himalaya GSM/GPRS Pocket PC
+
+usb:v0BB4p0A03*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A04*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A05*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A06*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A07*
+ ID_MODEL_FROM_DATABASE=Magician PocketPC SmartPhone / O2 XDA
+
+usb:v0BB4p0A08*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A09*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A0A*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A0B*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A0C*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A0D*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A0E*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A0F*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A10*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A11*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A12*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A13*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A14*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A15*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A16*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A17*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A18*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A19*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A1A*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A1B*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A1C*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A1D*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A1E*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A1F*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A20*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A21*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A22*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A23*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A24*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A25*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A26*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A27*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A28*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A29*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A2A*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A2B*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A2C*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A2D*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A2E*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A2F*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A30*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A31*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A32*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A33*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A34*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A35*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A36*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A37*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A38*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A39*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A3A*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A3B*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A3C*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A3D*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A3E*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A3F*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A40*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A41*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A42*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A43*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A44*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A45*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A46*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A47*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A48*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A49*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A4A*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A4B*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A4C*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A4D*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A4E*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A4F*
+ ID_MODEL_FROM_DATABASE=PocketPC Sync
+
+usb:v0BB4p0A50*
+ ID_MODEL_FROM_DATABASE=HTC SmartPhone Sync
+
+usb:v0BB4p0A51*
+ ID_MODEL_FROM_DATABASE=SPV C400 / T-Mobile SDA GSM/GPRS Pocket PC
+
+usb:v0BB4p0A52*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A53*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A54*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A55*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A56*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A57*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A58*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A59*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A5A*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A5B*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A5C*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A5D*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A5E*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A5F*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A60*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A61*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A62*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A63*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A64*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A65*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A66*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A67*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A68*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A69*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A6A*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A6B*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A6C*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A6D*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A6E*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A6F*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A70*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A71*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A72*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A73*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A74*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A75*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A76*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A77*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A78*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A79*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A7A*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A7B*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A7C*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A7D*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A7E*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A7F*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A80*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A81*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A82*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A83*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A84*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A85*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A86*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A87*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A88*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A89*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A8A*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A8B*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A8C*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A8D*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A8E*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A8F*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A90*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A91*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A92*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A93*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A94*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A95*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A96*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A97*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A98*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A99*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A9A*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A9B*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A9C*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A9D*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A9E*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0A9F*
+ ID_MODEL_FROM_DATABASE=SmartPhone Sync
+
+usb:v0BB4p0B03*
+ ID_MODEL_FROM_DATABASE=Ozone Mobile Broadband
+
+usb:v0BB4p0B04*
+ ID_MODEL_FROM_DATABASE=Hermes / TyTN / T-Mobile MDA Vario II / O2 Xda Trion
+
+usb:v0BB4p0B05*
+ ID_MODEL_FROM_DATABASE=P3600
+
+usb:v0BB4p0B06*
+ ID_MODEL_FROM_DATABASE=Athena / Advantage x7500 / Dopod U1000 / T-Mobile AMEO
+
+usb:v0BB4p0B0C*
+ ID_MODEL_FROM_DATABASE=Elf / Touch / P3450 / T-Mobile MDA Touch / O2 Xda Nova / Dopod S1
+
+usb:v0BB4p0B1F*
+ ID_MODEL_FROM_DATABASE=Sony Ericsson XPERIA X1
+
+usb:v0BB4p0B2F*
+ ID_MODEL_FROM_DATABASE=Rhodium
+
+usb:v0BB4p0B51*
+ ID_MODEL_FROM_DATABASE=Qtek 8310 mobile phone [Tornado Noble]
+
+usb:v0BB4p0BCE*
+ ID_MODEL_FROM_DATABASE=Vario MDA
+
+usb:v0BB4p0C01*
+ ID_MODEL_FROM_DATABASE=Dream / ADP1 / G1 / Magic / Tattoo
+
+usb:v0BB4p0C02*
+ ID_MODEL_FROM_DATABASE=Dream / ADP1 / G1 / Magic / Tattoo (Debug)
+
+usb:v0BB4p0C13*
+ ID_MODEL_FROM_DATABASE=Diamond
+
+usb:v0BB4p0C1F*
+ ID_MODEL_FROM_DATABASE=Sony Ericsson XPERIA X1
+
+usb:v0BB4p0C5F*
+ ID_MODEL_FROM_DATABASE=Snap
+
+usb:v0BB4p0C86*
+ ID_MODEL_FROM_DATABASE=Sensation
+
+usb:v0BB4p0C87*
+ ID_MODEL_FROM_DATABASE=Desire (debug)
+
+usb:v0BB4p0C8D*
+ ID_MODEL_FROM_DATABASE=EVO 4G (debug)
+
+usb:v0BB4p0C91*
+ ID_MODEL_FROM_DATABASE=Vision
+
+usb:v0BB4p0C94*
+ ID_MODEL_FROM_DATABASE=Vision
+
+usb:v0BB4p0C97*
+ ID_MODEL_FROM_DATABASE=Legend
+
+usb:v0BB4p0C99*
+ ID_MODEL_FROM_DATABASE=Desire (debug)
+
+usb:v0BB4p0C9E*
+ ID_MODEL_FROM_DATABASE=Incredible
+
+usb:v0BB4p0CA2*
+ ID_MODEL_FROM_DATABASE=Desire HD (debug mode)
+
+usb:v0BB4p0CA5*
+ ID_MODEL_FROM_DATABASE=Android Phone [Evo Shift 4G]
+
+usb:v0BB4p0FF8*
+ ID_MODEL_FROM_DATABASE=Desire HD (Tethering Mode)
+
+usb:v0BB4p0FF9*
+ ID_MODEL_FROM_DATABASE=Desire / Desire HD / Hero / Thunderbolt (Charge Mode)
+
+usb:v0BB4p0FFE*
+ ID_MODEL_FROM_DATABASE=Desire HD (modem mode)
+
+usb:v0BB4p0FFF*
+ ID_MODEL_FROM_DATABASE=Android Fastboot Bootloader
+
+usb:v0BB5*
+ ID_VENDOR_FROM_DATABASE=Murata Manufacturing Co., Ltd
+
+usb:v0BB6*
+ ID_VENDOR_FROM_DATABASE=Network Alchemy
+
+usb:v0BB7*
+ ID_VENDOR_FROM_DATABASE=Joytech Computer Co., Ltd
+
+usb:v0BB8*
+ ID_VENDOR_FROM_DATABASE=Hitachi Semiconductor and Devices Sales Co., Ltd
+
+usb:v0BB9*
+ ID_VENDOR_FROM_DATABASE=Eiger M&C Co., Ltd
+
+usb:v0BBA*
+ ID_VENDOR_FROM_DATABASE=ZAccess Systems
+
+usb:v0BBB*
+ ID_VENDOR_FROM_DATABASE=General Meters Corp.
+
+usb:v0BBC*
+ ID_VENDOR_FROM_DATABASE=Assistive Technology, Inc.
+
+usb:v0BBD*
+ ID_VENDOR_FROM_DATABASE=System Connection, Inc.
+
+usb:v0BC0*
+ ID_VENDOR_FROM_DATABASE=Knilink Technology, Inc.
+
+usb:v0BC1*
+ ID_VENDOR_FROM_DATABASE=Fuw Yng Electronics Co., Ltd
+
+usb:v0BC2*
+ ID_VENDOR_FROM_DATABASE=Seagate RSS LLC
+
+usb:v0BC2p0502*
+ ID_MODEL_FROM_DATABASE=ST3300601CB-RK 300 GB External Hard Drive
+
+usb:v0BC2p0503*
+ ID_MODEL_FROM_DATABASE=ST3250824A [Barracuda 7200.9]
+
+usb:v0BC2p2000*
+ ID_MODEL_FROM_DATABASE=Storage Adapter V3 (TPP)
+
+usb:v0BC2p2200*
+ ID_MODEL_FROM_DATABASE=FreeAgent Go FW
+
+usb:v0BC2p2300*
+ ID_MODEL_FROM_DATABASE=Expansion Portable
+
+usb:v0BC2p2320*
+ ID_MODEL_FROM_DATABASE=USB 3.0 bridge [Portable Expansion Drive]
+
+usb:v0BC2p3320*
+ ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive]
+
+usb:v0BC2p3332*
+ ID_MODEL_FROM_DATABASE=Expansion
+
+usb:v0BC2p5021*
+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex USB 2.0
+
+usb:v0BC2p5031*
+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex USB 3.0
+
+usb:v0BC2p50A1*
+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk
+
+usb:v0BC2p50A5*
+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk USB 3.0
+
+usb:v0BC2p5121*
+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex
+
+usb:v0BC2p5161*
+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex dock
+
+usb:v0BC2pA003*
+ ID_MODEL_FROM_DATABASE=Backup Plus
+
+usb:v0BC3*
+ ID_VENDOR_FROM_DATABASE=IPWireless, Inc.
+
+usb:v0BC3p0001*
+ ID_MODEL_FROM_DATABASE=UMTS-TDD (TD-CDMA) modem
+
+usb:v0BC4*
+ ID_VENDOR_FROM_DATABASE=Microcube Corp.
+
+usb:v0BC5*
+ ID_VENDOR_FROM_DATABASE=JCN Co., Ltd
+
+usb:v0BC6*
+ ID_VENDOR_FROM_DATABASE=ExWAY, Inc.
+
+usb:v0BC7*
+ ID_VENDOR_FROM_DATABASE=X10 Wireless Technology, Inc.
+
+usb:v0BC7p0001*
+ ID_MODEL_FROM_DATABASE=ActiveHome (ACPI-compliant)
+
+usb:v0BC7p0002*
+ ID_MODEL_FROM_DATABASE=Firecracker Interface (ACPI-compliant)
+
+usb:v0BC7p0003*
+ ID_MODEL_FROM_DATABASE=VGA Video Sender (ACPI-compliant)
+
+usb:v0BC7p0004*
+ ID_MODEL_FROM_DATABASE=X10 Receiver
+
+usb:v0BC7p0005*
+ ID_MODEL_FROM_DATABASE=Wireless Transceiver (ACPI-compliant)
+
+usb:v0BC7p0006*
+ ID_MODEL_FROM_DATABASE=Wireless Transceiver (ACPI-compliant)
+
+usb:v0BC7p0007*
+ ID_MODEL_FROM_DATABASE=Wireless Transceiver (ACPI-compliant)
+
+usb:v0BC7p0008*
+ ID_MODEL_FROM_DATABASE=Wireless Transceiver (ACPI-compliant)
+
+usb:v0BC7p0009*
+ ID_MODEL_FROM_DATABASE=Wireless Transceiver (ACPI-compliant)
+
+usb:v0BC7p000A*
+ ID_MODEL_FROM_DATABASE=Wireless Transceiver (ACPI-compliant)
+
+usb:v0BC7p000B*
+ ID_MODEL_FROM_DATABASE=Transceiver (ACPI-compliant)
+
+usb:v0BC7p000C*
+ ID_MODEL_FROM_DATABASE=Transceiver (ACPI-compliant)
+
+usb:v0BC7p000D*
+ ID_MODEL_FROM_DATABASE=Transceiver (ACPI-compliant)
+
+usb:v0BC7p000E*
+ ID_MODEL_FROM_DATABASE=Transceiver (ACPI-compliant)
+
+usb:v0BC7p000F*
+ ID_MODEL_FROM_DATABASE=Transceiver (ACPI-compliant)
+
+usb:v0BC8*
+ ID_VENDOR_FROM_DATABASE=Telmax Communications
+
+usb:v0BC9*
+ ID_VENDOR_FROM_DATABASE=ECI Telecom, Ltd
+
+usb:v0BCA*
+ ID_VENDOR_FROM_DATABASE=Startek Engineering, Inc.
+
+usb:v0BCB*
+ ID_VENDOR_FROM_DATABASE=Perfect Technic Enterprise Co., Ltd
+
+usb:v0BD7*
+ ID_VENDOR_FROM_DATABASE=Andrew Pargeter & Associates
+
+usb:v0BD7pA021*
+ ID_MODEL_FROM_DATABASE=Amptek DP4 multichannel signal analyzer
+
+usb:v0BDA*
+ ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Corp.
+
+usb:v0BDAp0103*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Card Reader
+
+usb:v0BDAp0104*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0106*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0107*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0108*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0111*
+ ID_MODEL_FROM_DATABASE=RTS5111 Card Reader Controller
+
+usb:v0BDAp0113*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0115*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device (Multicard Reader)
+
+usb:v0BDAp0116*
+ ID_MODEL_FROM_DATABASE=RTS5116 Card Reader Controller
+
+usb:v0BDAp0117*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0118*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0119*
+ ID_MODEL_FROM_DATABASE=Storage Device (SD card reader)
+
+usb:v0BDAp0129*
+ ID_MODEL_FROM_DATABASE=RTS5129 Card Reader Controller
+
+usb:v0BDAp0138*
+ ID_MODEL_FROM_DATABASE=RTS5138 Card Reader Controller
+
+usb:v0BDAp0139*
+ ID_MODEL_FROM_DATABASE=RTS5139 Card Reader Controller
+
+usb:v0BDAp0151*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device (Multicard Reader)
+
+usb:v0BDAp0152*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0153*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0156*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0157*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0158*
+ ID_MODEL_FROM_DATABASE=USB 2.0 multicard reader
+
+usb:v0BDAp0159*
+ ID_MODEL_FROM_DATABASE=RTS5159 Card Reader Controller
+
+usb:v0BDAp0161*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0168*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0169*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0171*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0176*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0178*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0BDAp0184*
+ ID_MODEL_FROM_DATABASE=RTS5182 Card Reader
+
+usb:v0BDAp0186*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v0BDAp2831*
+ ID_MODEL_FROM_DATABASE=RTL2831U DVB-T
+
+usb:v0BDAp2832*
+ ID_MODEL_FROM_DATABASE=RTL2832U DVB-T
+
+usb:v0BDAp2838*
+ ID_MODEL_FROM_DATABASE=RTL2838 DVB-T
+
+usb:v0BDAp8150*
+ ID_MODEL_FROM_DATABASE=RTL8150 Fast Ethernet Adapter
+
+usb:v0BDAp8151*
+ ID_MODEL_FROM_DATABASE=RTL8151 Adapteon Business Mobile Networks BV
+
+usb:v0BDAp8171*
+ ID_MODEL_FROM_DATABASE=RTL8188SU 802.11n WLAN Adapter
+
+usb:v0BDAp8172*
+ ID_MODEL_FROM_DATABASE=RTL8191SU 802.11n WLAN Adapter
+
+usb:v0BDAp8174*
+ ID_MODEL_FROM_DATABASE=RTL8192SU 802.11n WLAN Adapter
+
+usb:v0BDAp8176*
+ ID_MODEL_FROM_DATABASE=RTL8188CUS 802.11n WLAN Adapter
+
+usb:v0BDAp8178*
+ ID_MODEL_FROM_DATABASE=RTL8192CU 802.11n WLAN Adapter
+
+usb:v0BDAp817F*
+ ID_MODEL_FROM_DATABASE=RTL8188RU 802.11n WLAN Adapter
+
+usb:v0BDAp8187*
+ ID_MODEL_FROM_DATABASE=RTL8187 Wireless Adapter
+
+usb:v0BDAp8189*
+ ID_MODEL_FROM_DATABASE=RTL8187B Wireless 802.11g 54Mbps Network Adapter
+
+usb:v0BDAp8192*
+ ID_MODEL_FROM_DATABASE=RTL8191SU 802.11n Wireless Adapter
+
+usb:v0BDAp8193*
+ ID_MODEL_FROM_DATABASE=RTL8192DU 802.11an WLAN Adapter
+
+usb:v0BDAp8197*
+ ID_MODEL_FROM_DATABASE=RTL8187B Wireless Adapter
+
+usb:v0BDAp8198*
+ ID_MODEL_FROM_DATABASE=RTL8187B Wireless Adapter
+
+usb:v0BDAp8199*
+ ID_MODEL_FROM_DATABASE=RTL8187SU 802.11g WLAN Adapter
+
+usb:v0BDB*
+ ID_VENDOR_FROM_DATABASE=Ericsson Business Mobile Networks BV
+
+usb:v0BDBp1000*
+ ID_MODEL_FROM_DATABASE=BV Bluetooth Device
+
+usb:v0BDBp1002*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device 1.2
+
+usb:v0BDBp1049*
+ ID_MODEL_FROM_DATABASE=C3607w Mobile Broadband Module
+
+usb:v0BDBp1900*
+ ID_MODEL_FROM_DATABASE=F3507g Mobile Broadband Module
+
+usb:v0BDBp1902*
+ ID_MODEL_FROM_DATABASE=F3507g v2 Mobile Broadband Module
+
+usb:v0BDBp1904*
+ ID_MODEL_FROM_DATABASE=F3607gw Mobile Broadband Module
+
+usb:v0BDBp1905*
+ ID_MODEL_FROM_DATABASE=F3607gw v2 Mobile Broadband Module
+
+usb:v0BDBp1906*
+ ID_MODEL_FROM_DATABASE=F3607gw v3 Mobile Broadband Module
+
+usb:v0BDBp1909*
+ ID_MODEL_FROM_DATABASE=F3307 v2 Mobile Broadband Module
+
+usb:v0BDBp190A*
+ ID_MODEL_FROM_DATABASE=F3307 Mobile Broadband Module
+
+usb:v0BDBp190B*
+ ID_MODEL_FROM_DATABASE=C3607w v2 Mobile Broadband Module
+
+usb:v0BDC*
+ ID_VENDOR_FROM_DATABASE=Y Media Corp.
+
+usb:v0BDD*
+ ID_VENDOR_FROM_DATABASE=Orange PCS
+
+usb:v0BE2*
+ ID_VENDOR_FROM_DATABASE=Kanda Tsushin Kogyo Co., Ltd
+
+usb:v0BE3*
+ ID_VENDOR_FROM_DATABASE=TOYO Corp.
+
+usb:v0BE4*
+ ID_VENDOR_FROM_DATABASE=Elka International, Ltd
+
+usb:v0BE5*
+ ID_VENDOR_FROM_DATABASE=DOME imaging systems, Inc.
+
+usb:v0BE6*
+ ID_VENDOR_FROM_DATABASE=Dong Guan Humen Wonderful Wire Cable Factory
+
+usb:v0BED*
+ ID_VENDOR_FROM_DATABASE=MEI
+
+usb:v0BEDp1100*
+ ID_MODEL_FROM_DATABASE=CASHFLOW SC
+
+usb:v0BEDp1101*
+ ID_MODEL_FROM_DATABASE=Series 2000 Combo Acceptor
+
+usb:v0BEE*
+ ID_VENDOR_FROM_DATABASE=LTK Industries, Ltd
+
+usb:v0BEF*
+ ID_VENDOR_FROM_DATABASE=Way2Call Communications
+
+usb:v0BF0*
+ ID_VENDOR_FROM_DATABASE=Pace Micro Technology PLC
+
+usb:v0BF1*
+ ID_VENDOR_FROM_DATABASE=Intracom S.A.
+
+usb:v0BF1p0001*
+ ID_MODEL_FROM_DATABASE=netMod Driver Ver 2.4.17 (CAPI)
+
+usb:v0BF1p0002*
+ ID_MODEL_FROM_DATABASE=netMod Driver Ver 2.4 (CAPI)
+
+usb:v0BF1p0003*
+ ID_MODEL_FROM_DATABASE=netMod Driver Ver 2.4 (CAPI)
+
+usb:v0BF2*
+ ID_VENDOR_FROM_DATABASE=Konexx
+
+usb:v0BF6*
+ ID_VENDOR_FROM_DATABASE=Addonics Technologies, Inc.
+
+usb:v0BF6p0103*
+ ID_MODEL_FROM_DATABASE=Storage Device
+
+usb:v0BF6p1234*
+ ID_MODEL_FROM_DATABASE=Storage Device
+
+usb:v0BF6pA000*
+ ID_MODEL_FROM_DATABASE=Cable 205 (TPP)
+
+usb:v0BF6pA001*
+ ID_MODEL_FROM_DATABASE=Cable 205
+
+usb:v0BF6pA002*
+ ID_MODEL_FROM_DATABASE=IDE Bridge
+
+usb:v0BF7*
+ ID_VENDOR_FROM_DATABASE=Sunny Giken, Inc.
+
+usb:v0BF8*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Siemens Computers
+
+usb:v0BF8p1001*
+ ID_MODEL_FROM_DATABASE=Fujitsu Pocket Loox 600 PDA
+
+usb:v0BF8p1006*
+ ID_MODEL_FROM_DATABASE=SmartCard Reader 2A
+
+usb:v0BF8p1007*
+ ID_MODEL_FROM_DATABASE=Connect2Air E-5400 802.11g Wireless Adapter
+
+usb:v0BF8p1009*
+ ID_MODEL_FROM_DATABASE=Connect2Air E-5400 D1700 802.11g Wireless Adapter [Intersil ISL3887]
+
+usb:v0BF8p100C*
+ ID_MODEL_FROM_DATABASE=Keyboard FSC KBPC PX
+
+usb:v0BF8p100F*
+ ID_MODEL_FROM_DATABASE=miniCard D2301 802.11bg Wireless Module [SiS 163U]
+
+usb:v0BFD*
+ ID_VENDOR_FROM_DATABASE=Kvaser AB
+
+usb:v0BFDp0004*
+ ID_MODEL_FROM_DATABASE=USBcan II
+
+usb:v0BFDp000B*
+ ID_MODEL_FROM_DATABASE=Leaf Light HS
+
+usb:v0BFDp000E*
+ ID_MODEL_FROM_DATABASE=Leaf SemiPro HS
+
+usb:v0C04*
+ ID_VENDOR_FROM_DATABASE=MOTO Development Group, Inc.
+
+usb:v0C05*
+ ID_VENDOR_FROM_DATABASE=Appian Graphics
+
+usb:v0C06*
+ ID_VENDOR_FROM_DATABASE=Hasbro Games, Inc.
+
+usb:v0C07*
+ ID_VENDOR_FROM_DATABASE=Infinite Data Storage, Ltd
+
+usb:v0C08*
+ ID_VENDOR_FROM_DATABASE=Agate
+
+usb:v0C08p0378*
+ ID_MODEL_FROM_DATABASE=Q 16MB Storage Device
+
+usb:v0C09*
+ ID_VENDOR_FROM_DATABASE=Comjet Information System
+
+usb:v0C09pA5A5*
+ ID_MODEL_FROM_DATABASE=Litto Version USB2.0
+
+usb:v0C0A*
+ ID_VENDOR_FROM_DATABASE=Highpoint Technologies, Inc.
+
+usb:v0C0B*
+ ID_VENDOR_FROM_DATABASE=Dura Micro, Inc. (Acomdata)
+
+usb:v0C0Bp27CB*
+ ID_MODEL_FROM_DATABASE=6-in-1 Flash Reader and Writer
+
+usb:v0C0Bp27D7*
+ ID_MODEL_FROM_DATABASE=Multi Memory reader/writer MD-005
+
+usb:v0C0Bp27DA*
+ ID_MODEL_FROM_DATABASE=Multi Memory reader/writer MD-005
+
+usb:v0C0Bp27DC*
+ ID_MODEL_FROM_DATABASE=Multi Memory reader/writer MD-005
+
+usb:v0C0Bp27E7*
+ ID_MODEL_FROM_DATABASE=3,5'' HDD case MD-231
+
+usb:v0C0Bp27EE*
+ ID_MODEL_FROM_DATABASE=3,5'' HDD case MD-231
+
+usb:v0C0Bp2814*
+ ID_MODEL_FROM_DATABASE=3,5'' HDD case MD-231
+
+usb:v0C0Bp2815*
+ ID_MODEL_FROM_DATABASE=3,5'' HDD case MD-231
+
+usb:v0C0Bp281D*
+ ID_MODEL_FROM_DATABASE=3,5'' HDD case MD-231
+
+usb:v0C0Bp5FAB*
+ ID_MODEL_FROM_DATABASE=Storage Adaptor
+
+usb:v0C0BpA109*
+ ID_MODEL_FROM_DATABASE=CF/SM Reader and Writer
+
+usb:v0C0BpA10C*
+ ID_MODEL_FROM_DATABASE=SD/MS Reader and Writer
+
+usb:v0C0BpB001*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Mass Storage IDE adapter
+
+usb:v0C0BpB004*
+ ID_MODEL_FROM_DATABASE=MMC/SD Reader and Writer
+
+usb:v0C12*
+ ID_VENDOR_FROM_DATABASE=Zeroplus
+
+usb:v0C12p0005*
+ ID_MODEL_FROM_DATABASE=PSX Vibration Feedback Converter
+
+usb:v0C12p0030*
+ ID_MODEL_FROM_DATABASE=PSX Vibration Feedback Converter
+
+usb:v0C12p700E*
+ ID_MODEL_FROM_DATABASE=Logic Analyzer (LAP-C-16032)
+
+usb:v0C12p8801*
+ ID_MODEL_FROM_DATABASE=Xbox Controller
+
+usb:v0C12p8802*
+ ID_MODEL_FROM_DATABASE=Xbox Controller
+
+usb:v0C12p8809*
+ ID_MODEL_FROM_DATABASE=Red Octane Ignition Xbox DDR Pad
+
+usb:v0C12p880A*
+ ID_MODEL_FROM_DATABASE=Pelican Eclipse PL-2023
+
+usb:v0C12p8810*
+ ID_MODEL_FROM_DATABASE=Xbox Controller
+
+usb:v0C12p9902*
+ ID_MODEL_FROM_DATABASE=VibraX
+
+usb:v0C15*
+ ID_VENDOR_FROM_DATABASE=Iris Graphics
+
+usb:v0C16*
+ ID_VENDOR_FROM_DATABASE=Gyration, Inc.
+
+usb:v0C16p0002*
+ ID_MODEL_FROM_DATABASE=RF Technology Receiver
+
+usb:v0C16p0003*
+ ID_MODEL_FROM_DATABASE=RF Technology Receiver
+
+usb:v0C16p0008*
+ ID_MODEL_FROM_DATABASE=RF Technology Receiver
+
+usb:v0C16p0080*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v0C16p0081*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v0C17*
+ ID_VENDOR_FROM_DATABASE=Cyberboard A/S
+
+usb:v0C18*
+ ID_VENDOR_FROM_DATABASE=SynerTek Korea, Inc.
+
+usb:v0C19*
+ ID_VENDOR_FROM_DATABASE=cyberPIXIE, Inc.
+
+usb:v0C1A*
+ ID_VENDOR_FROM_DATABASE=Silicon Motion, Inc.
+
+usb:v0C1B*
+ ID_VENDOR_FROM_DATABASE=MIPS Technologies
+
+usb:v0C1C*
+ ID_VENDOR_FROM_DATABASE=Hang Zhou Silan Electronics Co., Ltd
+
+usb:v0C22*
+ ID_VENDOR_FROM_DATABASE=Tally Printer Corp.
+
+usb:v0C23*
+ ID_VENDOR_FROM_DATABASE=Lernout + Hauspie
+
+usb:v0C24*
+ ID_VENDOR_FROM_DATABASE=Taiyo Yuden
+
+usb:v0C24p0001*
+ ID_MODEL_FROM_DATABASE=Bluetooth Adaptor
+
+usb:v0C24p0002*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device2
+
+usb:v0C24p0005*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device(BC04-External)
+
+usb:v0C24p000B*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device(BC04-External)
+
+usb:v0C24p000C*
+ ID_MODEL_FROM_DATABASE=Bluetooth Adaptor
+
+usb:v0C24p000E*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device(BC04-External)
+
+usb:v0C24p000F*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device (V2.0+EDR)
+
+usb:v0C24p0010*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device(BC04-External)
+
+usb:v0C24p0012*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device(BC04-External)
+
+usb:v0C24p0018*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device(BC04-External)
+
+usb:v0C24p0019*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0C24p0021*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0C24p0C24*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device(SAMPLE)
+
+usb:v0C24pFFFF*
+ ID_MODEL_FROM_DATABASE=Bluetooth module with BlueCore in DFU mode
+
+usb:v0C25*
+ ID_VENDOR_FROM_DATABASE=Sampo Corp.
+
+usb:v0C25p0310*
+ ID_MODEL_FROM_DATABASE=Scream Cam
+
+usb:v0C26*
+ ID_VENDOR_FROM_DATABASE=Prolific Technology Inc.
+
+usb:v0C26p0018*
+ ID_MODEL_FROM_DATABASE=USB-Serial Controller [Icom Inc. OPC-478UC]
+
+usb:v0C27*
+ ID_VENDOR_FROM_DATABASE=RFIDeas, Inc
+
+usb:v0C27p3BFA*
+ ID_MODEL_FROM_DATABASE=pcProx Card Reader
+
+usb:v0C2E*
+ ID_VENDOR_FROM_DATABASE=Metrologic Instruments
+
+usb:v0C2Ep0007*
+ ID_MODEL_FROM_DATABASE=Metrologic MS7120 Barcode Scanner (IBM SurePOS mode)
+
+usb:v0C2Ep0200*
+ ID_MODEL_FROM_DATABASE=Metrologic Scanner
+
+usb:v0C2Ep0204*
+ ID_MODEL_FROM_DATABASE=Metrologic MS7120 Barcode Scanner (keyboard mode)
+
+usb:v0C2Ep0206*
+ ID_MODEL_FROM_DATABASE=Metrologic MS4980 Barcode Scanner
+
+usb:v0C2Ep0700*
+ ID_MODEL_FROM_DATABASE=Metrologic MS7120 Barcode Scanner (uni-directional serial mode)
+
+usb:v0C2Ep0720*
+ ID_MODEL_FROM_DATABASE=Metrologic MS7120 Barcode Scanner (bi-directional serial mode)
+
+usb:v0C2Ep0B61*
+ ID_MODEL_FROM_DATABASE=Vuquest 3310g
+
+usb:v0C2Ep0B6A*
+ ID_MODEL_FROM_DATABASE=Vuquest 3310 Area-Imaging Scanner
+
+usb:v0C35*
+ ID_VENDOR_FROM_DATABASE=Eagletron, Inc.
+
+usb:v0C36*
+ ID_VENDOR_FROM_DATABASE=E Ink Corp.
+
+usb:v0C37*
+ ID_VENDOR_FROM_DATABASE=e.Digital
+
+usb:v0C38*
+ ID_VENDOR_FROM_DATABASE=Der An Electric Wire & Cable Co., Ltd
+
+usb:v0C39*
+ ID_VENDOR_FROM_DATABASE=IFR
+
+usb:v0C3A*
+ ID_VENDOR_FROM_DATABASE=Furui Precise Component (Kunshan) Co., Ltd
+
+usb:v0C3B*
+ ID_VENDOR_FROM_DATABASE=Komatsu, Ltd
+
+usb:v0C3C*
+ ID_VENDOR_FROM_DATABASE=Radius Co., Ltd
+
+usb:v0C3D*
+ ID_VENDOR_FROM_DATABASE=Innocom, Inc.
+
+usb:v0C3E*
+ ID_VENDOR_FROM_DATABASE=Nextcell, Inc.
+
+usb:v0C44*
+ ID_VENDOR_FROM_DATABASE=Motorola iDEN
+
+usb:v0C44p0021*
+ ID_MODEL_FROM_DATABASE=iDEN P2k0 Device
+
+usb:v0C44p0022*
+ ID_MODEL_FROM_DATABASE=iDEN P2k1 Device
+
+usb:v0C44p03A2*
+ ID_MODEL_FROM_DATABASE=iDEN Smartphone
+
+usb:v0C44p41D9*
+ ID_MODEL_FROM_DATABASE=i1 phone
+
+usb:v0C45*
+ ID_VENDOR_FROM_DATABASE=Microdia
+
+usb:v0C45p0011*
+ ID_MODEL_FROM_DATABASE=EBUDDY
+
+usb:v0C45p1018*
+ ID_MODEL_FROM_DATABASE=Compact Flash storage memory card reader
+
+usb:v0C45p1020*
+ ID_MODEL_FROM_DATABASE=Mass Storage Reader
+
+usb:v0C45p1028*
+ ID_MODEL_FROM_DATABASE=Mass Storage Reader
+
+usb:v0C45p1030*
+ ID_MODEL_FROM_DATABASE=Mass Storage Reader
+
+usb:v0C45p1031*
+ ID_MODEL_FROM_DATABASE=Sonix Mass Storage Device
+
+usb:v0C45p1032*
+ ID_MODEL_FROM_DATABASE=Mass Storage Reader
+
+usb:v0C45p1033*
+ ID_MODEL_FROM_DATABASE=Sonix Mass Storage Device
+
+usb:v0C45p1034*
+ ID_MODEL_FROM_DATABASE=Mass Storage Reader
+
+usb:v0C45p1035*
+ ID_MODEL_FROM_DATABASE=Mass Storage Reader
+
+usb:v0C45p1036*
+ ID_MODEL_FROM_DATABASE=Mass Storage Reader
+
+usb:v0C45p1037*
+ ID_MODEL_FROM_DATABASE=Sonix Mass Storage Device
+
+usb:v0C45p1050*
+ ID_MODEL_FROM_DATABASE=CF Card Reader
+
+usb:v0C45p1058*
+ ID_MODEL_FROM_DATABASE=HDD Reader
+
+usb:v0C45p1060*
+ ID_MODEL_FROM_DATABASE=iFlash SM-Direct Card Reader
+
+usb:v0C45p1061*
+ ID_MODEL_FROM_DATABASE=Mass Storage Reader
+
+usb:v0C45p1062*
+ ID_MODEL_FROM_DATABASE=Mass Storage Reader
+
+usb:v0C45p1063*
+ ID_MODEL_FROM_DATABASE=Sonix Mass Storage Device
+
+usb:v0C45p1064*
+ ID_MODEL_FROM_DATABASE=Mass Storage Reader
+
+usb:v0C45p1065*
+ ID_MODEL_FROM_DATABASE=Mass Storage Reader
+
+usb:v0C45p1066*
+ ID_MODEL_FROM_DATABASE=Mass Storage Reader
+
+usb:v0C45p1067*
+ ID_MODEL_FROM_DATABASE=Mass Storage Reader
+
+usb:v0C45p1158*
+ ID_MODEL_FROM_DATABASE=A56AK
+
+usb:v0C45p184C*
+ ID_MODEL_FROM_DATABASE=VoIP Phone
+
+usb:v0C45p6001*
+ ID_MODEL_FROM_DATABASE=Genius VideoCAM NB
+
+usb:v0C45p6005*
+ ID_MODEL_FROM_DATABASE=Sweex Mini Webcam
+
+usb:v0C45p6007*
+ ID_MODEL_FROM_DATABASE=VideoCAM Eye
+
+usb:v0C45p6009*
+ ID_MODEL_FROM_DATABASE=VideoCAM ExpressII
+
+usb:v0C45p600D*
+ ID_MODEL_FROM_DATABASE=TwinkleCam USB camera
+
+usb:v0C45p6011*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C102)
+
+usb:v0C45p6019*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C102)
+
+usb:v0C45p6024*
+ ID_MODEL_FROM_DATABASE=VideoCAM ExpressII
+
+usb:v0C45p6025*
+ ID_MODEL_FROM_DATABASE=VideoCAM ExpressII
+
+usb:v0C45p6028*
+ ID_MODEL_FROM_DATABASE=Typhoon Easycam USB 330K (older)
+
+usb:v0C45p6029*
+ ID_MODEL_FROM_DATABASE=Triplex i-mini PC Camera
+
+usb:v0C45p602A*
+ ID_MODEL_FROM_DATABASE=Meade ETX-105EC Camera
+
+usb:v0C45p602B*
+ ID_MODEL_FROM_DATABASE=VideoCAM NB 300
+
+usb:v0C45p602C*
+ ID_MODEL_FROM_DATABASE=Clas Ohlson TWC-30XOP Webcam
+
+usb:v0C45p602D*
+ ID_MODEL_FROM_DATABASE=VideoCAM ExpressII
+
+usb:v0C45p602E*
+ ID_MODEL_FROM_DATABASE=VideoCAM Messenger
+
+usb:v0C45p6030*
+ ID_MODEL_FROM_DATABASE=VideoCAM ExpressII
+
+usb:v0C45p603F*
+ ID_MODEL_FROM_DATABASE=VideoCAM ExpressII
+
+usb:v0C45p6040*
+ ID_MODEL_FROM_DATABASE=CCD PC Camera (PC390A)
+
+usb:v0C45p606A*
+ ID_MODEL_FROM_DATABASE=CCD PC Camera (PC390A)
+
+usb:v0C45p607A*
+ ID_MODEL_FROM_DATABASE=CCD PC Camera (PC390A)
+
+usb:v0C45p607B*
+ ID_MODEL_FROM_DATABASE=Win2 PC Camera
+
+usb:v0C45p607C*
+ ID_MODEL_FROM_DATABASE=CCD PC Camera (PC390A)
+
+usb:v0C45p607E*
+ ID_MODEL_FROM_DATABASE=CCD PC Camera (PC390A)
+
+usb:v0C45p6080*
+ ID_MODEL_FROM_DATABASE=Audio (Microphone)
+
+usb:v0C45p6082*
+ ID_MODEL_FROM_DATABASE=VideoCAM Look
+
+usb:v0C45p6083*
+ ID_MODEL_FROM_DATABASE=VideoCAM Look
+
+usb:v0C45p608C*
+ ID_MODEL_FROM_DATABASE=VideoCAM Look
+
+usb:v0C45p608E*
+ ID_MODEL_FROM_DATABASE=VideoCAM Look
+
+usb:v0C45p608F*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C103 + OV7630)
+
+usb:v0C45p60A8*
+ ID_MODEL_FROM_DATABASE=VideoCAM Look
+
+usb:v0C45p60AA*
+ ID_MODEL_FROM_DATABASE=VideoCAM Look
+
+usb:v0C45p60AB*
+ ID_MODEL_FROM_DATABASE=PC Camera
+
+usb:v0C45p60AF*
+ ID_MODEL_FROM_DATABASE=VideoCAM Look
+
+usb:v0C45p60B0*
+ ID_MODEL_FROM_DATABASE=Genius VideoCam Look
+
+usb:v0C45p60C0*
+ ID_MODEL_FROM_DATABASE=PC Camera with Mic (SN9C105)
+
+usb:v0C45p60C8*
+ ID_MODEL_FROM_DATABASE=Win2 PC Camera
+
+usb:v0C45p60CC*
+ ID_MODEL_FROM_DATABASE=PC Camera with Mic (SN9C105)
+
+usb:v0C45p60EC*
+ ID_MODEL_FROM_DATABASE=PC Camera with Mic (SN9C105)
+
+usb:v0C45p60EF*
+ ID_MODEL_FROM_DATABASE=Win2 PC Camera
+
+usb:v0C45p60FA*
+ ID_MODEL_FROM_DATABASE=PC Camera with Mic (SN9C105)
+
+usb:v0C45p60FB*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v0C45p60FC*
+ ID_MODEL_FROM_DATABASE=PC Camera with Mic (SN9C105)
+
+usb:v0C45p60FE*
+ ID_MODEL_FROM_DATABASE=Audio (Microphone)
+
+usb:v0C45p6108*
+ ID_MODEL_FROM_DATABASE=Win2 PC Camera
+
+usb:v0C45p6122*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C110)
+
+usb:v0C45p6123*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C110)
+
+usb:v0C45p6128*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C325 + OM6802)
+
+usb:v0C45p612A*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C325)
+
+usb:v0C45p612C*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C110)
+
+usb:v0C45p612E*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C110)
+
+usb:v0C45p612F*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C110)
+
+usb:v0C45p6130*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C120)
+
+usb:v0C45p6138*
+ ID_MODEL_FROM_DATABASE=Win2 PC Camera
+
+usb:v0C45p613A*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C120)
+
+usb:v0C45p613B*
+ ID_MODEL_FROM_DATABASE=Win2 PC Camera
+
+usb:v0C45p613C*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C120)
+
+usb:v0C45p613E*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C120)
+
+usb:v0C45p6143*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C120 + SP80708)
+
+usb:v0C45p6240*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + MI1300)
+
+usb:v0C45p6242*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + MI1310)
+
+usb:v0C45p6243*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + S5K4AAFX)
+
+usb:v0C45p6248*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + OV9655)
+
+usb:v0C45p624B*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + CX1332)
+
+usb:v0C45p624C*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + MI1320)
+
+usb:v0C45p624E*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + SOI968)
+
+usb:v0C45p624F*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + OV9650)
+
+usb:v0C45p6251*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + OV9650)
+
+usb:v0C45p6253*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + OV9650)
+
+usb:v0C45p6260*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + OV7670ISP)
+
+usb:v0C45p6262*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + OM6802)
+
+usb:v0C45p6270*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + MI0360/MT9V011 or MI0360SOC/MT9V111) U-CAM PC Camera NE878, Whitcom WHC017, ...
+
+usb:v0C45p627A*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + S5K53BEB)
+
+usb:v0C45p627B*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + OV7660)
+
+usb:v0C45p627C*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + HV7131R)
+
+usb:v0C45p627F*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + OV965x + EEPROM)
+
+usb:v0C45p6280*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + MI1300)
+
+usb:v0C45p6282*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + MI1310)
+
+usb:v0C45p6283*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + S5K4AAFX)
+
+usb:v0C45p6288*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OV9655)
+
+usb:v0C45p628A*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + ICM107)
+
+usb:v0C45p628B*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + CX1332)
+
+usb:v0C45p628C*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + MI1320)
+
+usb:v0C45p628E*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + SOI968)
+
+usb:v0C45p628F*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OV9650)
+
+usb:v0C45p62A0*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OV7670ISP)
+
+usb:v0C45p62A2*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OM6802)
+
+usb:v0C45p62B0*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + MI0360/MT9V011 or MI0360SOC/MT9V111)
+
+usb:v0C45p62B3*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OV9655)
+
+usb:v0C45p62BA*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + S5K53BEB)
+
+usb:v0C45p62BB*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OV7660)
+
+usb:v0C45p62BC*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + HV7131R)
+
+usb:v0C45p62BE*
+ ID_MODEL_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OV7663)
+
+usb:v0C45p62C0*
+ ID_MODEL_FROM_DATABASE=Sonix USB 2.0 Camera
+
+usb:v0C45p62E0*
+ ID_MODEL_FROM_DATABASE=MSI Starcam Racer
+
+usb:v0C45p6310*
+ ID_MODEL_FROM_DATABASE=Sonix USB 2.0 Camera
+
+usb:v0C45p63E0*
+ ID_MODEL_FROM_DATABASE=Sonix Integrated Webcam
+
+usb:v0C45p63F1*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
+usb:v0C45p63F8*
+ ID_MODEL_FROM_DATABASE=Sonix Integrated Webcam
+
+usb:v0C45p6409*
+ ID_MODEL_FROM_DATABASE=Webcam
+
+usb:v0C45p6413*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
+usb:v0C45p6417*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
+usb:v0C45p641D*
+ ID_MODEL_FROM_DATABASE=1.3 MPixel Integrated Webcam
+
+usb:v0C45p6480*
+ ID_MODEL_FROM_DATABASE=Sonix 1.3 MP Laptop Integrated Webcam
+
+usb:v0C45p648B*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
+usb:v0C45p64BD*
+ ID_MODEL_FROM_DATABASE=Sony Visual Communication Camera
+
+usb:v0C45p7402*
+ ID_MODEL_FROM_DATABASE=TEMPerHUM Temperature & Humidity Sensor
+
+usb:v0C45p7403*
+ ID_MODEL_FROM_DATABASE=Foot Switch
+
+usb:v0C45p8000*
+ ID_MODEL_FROM_DATABASE=DC31VC
+
+usb:v0C45p8006*
+ ID_MODEL_FROM_DATABASE=Dual Mode Camera (8006 VGA)
+
+usb:v0C45p800A*
+ ID_MODEL_FROM_DATABASE=Vivitar Vivicam3350B
+
+usb:v0C46*
+ ID_VENDOR_FROM_DATABASE=WaveRider Communications, Inc.
+
+usb:v0C4A*
+ ID_VENDOR_FROM_DATABASE=ALGE-TIMING GmbH
+
+usb:v0C4Ap0889*
+ ID_MODEL_FROM_DATABASE=Timy
+
+usb:v0C4Ap088A*
+ ID_MODEL_FROM_DATABASE=Timy 2
+
+usb:v0C4B*
+ ID_VENDOR_FROM_DATABASE=Reiner SCT Kartensysteme GmbH
+
+usb:v0C4Bp0100*
+ ID_MODEL_FROM_DATABASE=cyberJack e-com/pinpad
+
+usb:v0C4Bp0300*
+ ID_MODEL_FROM_DATABASE=cyberJack pinpad(a)
+
+usb:v0C4Bp0501*
+ ID_MODEL_FROM_DATABASE=cyberJack RFID comfort dual interface smartcard reader
+
+usb:v0C4Bp9102*
+ ID_MODEL_FROM_DATABASE=cyberJack RFID basis contactless smartcard reader
+
+usb:v0C4C*
+ ID_VENDOR_FROM_DATABASE=Needham's Electronics
+
+usb:v0C4Cp0021*
+ ID_MODEL_FROM_DATABASE=EMP-21 Universal Programmer
+
+usb:v0C52*
+ ID_VENDOR_FROM_DATABASE=Sealevel Systems, Inc.
+
+usb:v0C52p2101*
+ ID_MODEL_FROM_DATABASE=SeaLINK+232
+
+usb:v0C52p2102*
+ ID_MODEL_FROM_DATABASE=SeaLINK+485
+
+usb:v0C52p2103*
+ ID_MODEL_FROM_DATABASE=SeaLINK+232I
+
+usb:v0C52p2104*
+ ID_MODEL_FROM_DATABASE=SeaLINK+485I
+
+usb:v0C52p2211*
+ ID_MODEL_FROM_DATABASE=SeaPORT+2/232 (Port 1)
+
+usb:v0C52p2212*
+ ID_MODEL_FROM_DATABASE=SeaPORT+2/485 (Port 1)
+
+usb:v0C52p2213*
+ ID_MODEL_FROM_DATABASE=SeaPORT+2 (Port 1)
+
+usb:v0C52p2221*
+ ID_MODEL_FROM_DATABASE=SeaPORT+2/232 (Port 2)
+
+usb:v0C52p2222*
+ ID_MODEL_FROM_DATABASE=SeaPORT+2/485 (Port 2)
+
+usb:v0C52p2223*
+ ID_MODEL_FROM_DATABASE=SeaPORT+2 (Port 2)
+
+usb:v0C52p2411*
+ ID_MODEL_FROM_DATABASE=SeaPORT+4/232 (Port 1)
+
+usb:v0C52p2412*
+ ID_MODEL_FROM_DATABASE=SeaPORT+4/485 (Port 1)
+
+usb:v0C52p2413*
+ ID_MODEL_FROM_DATABASE=SeaPORT+4 (Port 1)
+
+usb:v0C52p2421*
+ ID_MODEL_FROM_DATABASE=SeaPORT+4/232 (Port 2)
+
+usb:v0C52p2422*
+ ID_MODEL_FROM_DATABASE=SeaPORT+4/485 (Port 2)
+
+usb:v0C52p2423*
+ ID_MODEL_FROM_DATABASE=SeaPORT+4 (Port 2)
+
+usb:v0C52p2431*
+ ID_MODEL_FROM_DATABASE=SeaPORT+4/232 (Port 3)
+
+usb:v0C52p2432*
+ ID_MODEL_FROM_DATABASE=SeaPORT+4/485 (Port 3)
+
+usb:v0C52p2433*
+ ID_MODEL_FROM_DATABASE=SeaPORT+4 (Port 3)
+
+usb:v0C52p2441*
+ ID_MODEL_FROM_DATABASE=SeaPORT+4/232 (Port 4)
+
+usb:v0C52p2442*
+ ID_MODEL_FROM_DATABASE=SeaPORT+4/485 (Port 4)
+
+usb:v0C52p2443*
+ ID_MODEL_FROM_DATABASE=SeaPORT+4 (Port 4)
+
+usb:v0C52p2811*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/232 (Port 1)
+
+usb:v0C52p2812*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/485 (Port 1)
+
+usb:v0C52p2813*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8 (Port 1)
+
+usb:v0C52p2821*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/232 (Port 2)
+
+usb:v0C52p2822*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/485 (Port 2)
+
+usb:v0C52p2823*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8 (Port 2)
+
+usb:v0C52p2831*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/232 (Port 3)
+
+usb:v0C52p2832*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/485 (Port 3)
+
+usb:v0C52p2833*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8 (Port 3)
+
+usb:v0C52p2841*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/232 (Port 4)
+
+usb:v0C52p2842*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/485 (Port 4)
+
+usb:v0C52p2843*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8 (Port 4)
+
+usb:v0C52p2851*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/232 (Port 5)
+
+usb:v0C52p2852*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/485 (Port 5)
+
+usb:v0C52p2853*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8 (Port 5)
+
+usb:v0C52p2861*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/232 (Port 6)
+
+usb:v0C52p2862*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/485 (Port 6)
+
+usb:v0C52p2863*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8 (Port 6)
+
+usb:v0C52p2871*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/232 (Port 7)
+
+usb:v0C52p2872*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/485 (Port 7)
+
+usb:v0C52p2873*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8 (Port 7)
+
+usb:v0C52p2881*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/232 (Port 8)
+
+usb:v0C52p2882*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8/485 (Port 8)
+
+usb:v0C52p2883*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8 (Port 8)
+
+usb:v0C52p9020*
+ ID_MODEL_FROM_DATABASE=SeaLINK+422
+
+usb:v0C52pA02A*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8 (Port 1+2)
+
+usb:v0C52pA02B*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8 (Port 3+4)
+
+usb:v0C52pA02C*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8 (Port 5+6)
+
+usb:v0C52pA02D*
+ ID_MODEL_FROM_DATABASE=SeaLINK+8 (Port 7+8)
+
+usb:v0C53*
+ ID_VENDOR_FROM_DATABASE=ViewPLUS, Inc.
+
+usb:v0C54*
+ ID_VENDOR_FROM_DATABASE=Glory, Ltd
+
+usb:v0C55*
+ ID_VENDOR_FROM_DATABASE=Spectrum Digital, Inc.
+
+usb:v0C55p0510*
+ ID_MODEL_FROM_DATABASE=Spectrum Digital XDS510 JTAG Debugger
+
+usb:v0C55p0540*
+ ID_MODEL_FROM_DATABASE=SPI540
+
+usb:v0C55p5416*
+ ID_MODEL_FROM_DATABASE=TMS320C5416 DSK
+
+usb:v0C55p6416*
+ ID_MODEL_FROM_DATABASE=TMS320C6416 DDB
+
+usb:v0C56*
+ ID_VENDOR_FROM_DATABASE=Billion Bright, Ltd
+
+usb:v0C57*
+ ID_VENDOR_FROM_DATABASE=Imaginative Design Operation Co., Ltd
+
+usb:v0C58*
+ ID_VENDOR_FROM_DATABASE=Vidar Systems Corp.
+
+usb:v0C59*
+ ID_VENDOR_FROM_DATABASE=Dong Guan Shinko Wire Co., Ltd
+
+usb:v0C5A*
+ ID_VENDOR_FROM_DATABASE=TRS International Mfg., Inc.
+
+usb:v0C5E*
+ ID_VENDOR_FROM_DATABASE=Xytronix Research & Design
+
+usb:v0C60*
+ ID_VENDOR_FROM_DATABASE=Apogee Electronics Corp.
+
+usb:v0C62*
+ ID_VENDOR_FROM_DATABASE=Chant Sincere Co., Ltd
+
+usb:v0C63*
+ ID_VENDOR_FROM_DATABASE=Toko, Inc.
+
+usb:v0C64*
+ ID_VENDOR_FROM_DATABASE=Signality System Engineering Co., Ltd
+
+usb:v0C65*
+ ID_VENDOR_FROM_DATABASE=Eminence Enterprise Co., Ltd
+
+usb:v0C66*
+ ID_VENDOR_FROM_DATABASE=Rexon Electronics Corp.
+
+usb:v0C67*
+ ID_VENDOR_FROM_DATABASE=Concept Telecom, Ltd
+
+usb:v0C6A*
+ ID_VENDOR_FROM_DATABASE=ACS
+
+usb:v0C6Ap0005*
+ ID_MODEL_FROM_DATABASE=Color 320 x 240 LCD Display Terminal with Touchscreen
+
+usb:v0C6C*
+ ID_VENDOR_FROM_DATABASE=JETI Technische Instrumente GmbH
+
+usb:v0C6Cp04B2*
+ ID_MODEL_FROM_DATABASE=Specbos 1201
+
+usb:v0C70*
+ ID_VENDOR_FROM_DATABASE=MCT Elektronikladen
+
+usb:v0C70p0000*
+ ID_MODEL_FROM_DATABASE=USB08 Development board
+
+usb:v0C70p0747*
+ ID_MODEL_FROM_DATABASE=Eye Movement Recorder [Visagraph]/[ReadAlyzer]
+
+usb:v0C72*
+ ID_VENDOR_FROM_DATABASE=PEAK System
+
+usb:v0C72p000C*
+ ID_MODEL_FROM_DATABASE=PCAN-USB
+
+usb:v0C72p000D*
+ ID_MODEL_FROM_DATABASE=PCAN Pro
+
+usb:v0C74*
+ ID_VENDOR_FROM_DATABASE=Optronic Laboratories Inc.
+
+usb:v0C74p0002*
+ ID_MODEL_FROM_DATABASE=OL 700-30 Goniometer
+
+usb:v0C76*
+ ID_VENDOR_FROM_DATABASE=JMTek, LLC.
+
+usb:v0C76p0001*
+ ID_MODEL_FROM_DATABASE=Mass Storage Controller
+
+usb:v0C76p0002*
+ ID_MODEL_FROM_DATABASE=Mass Storage Controller
+
+usb:v0C76p0003*
+ ID_MODEL_FROM_DATABASE=USBdisk
+
+usb:v0C76p0004*
+ ID_MODEL_FROM_DATABASE=Mass Storage Controller
+
+usb:v0C76p0005*
+ ID_MODEL_FROM_DATABASE=Transcend Flash disk
+
+usb:v0C76p0006*
+ ID_MODEL_FROM_DATABASE=Transcend JetFlash
+
+usb:v0C76p0007*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0C76p1600*
+ ID_MODEL_FROM_DATABASE=Ion Quick Play LP turntable
+
+usb:v0C76p1605*
+ ID_MODEL_FROM_DATABASE=SSS Headphone Set
+
+usb:v0C76p1607*
+ ID_MODEL_FROM_DATABASE=audio controller
+
+usb:v0C77*
+ ID_VENDOR_FROM_DATABASE=Sipix Group, Ltd
+
+usb:v0C77p1001*
+ ID_MODEL_FROM_DATABASE=SiPix Web2
+
+usb:v0C77p1002*
+ ID_MODEL_FROM_DATABASE=SiPix SC2100
+
+usb:v0C77p1010*
+ ID_MODEL_FROM_DATABASE=SiPix Snap
+
+usb:v0C77p1011*
+ ID_MODEL_FROM_DATABASE=SiPix Blink 2
+
+usb:v0C77p1015*
+ ID_MODEL_FROM_DATABASE=SiPix CAMeleon
+
+usb:v0C78*
+ ID_VENDOR_FROM_DATABASE=Detto Corp.
+
+usb:v0C79*
+ ID_VENDOR_FROM_DATABASE=NuConnex Technologies Pte., Ltd
+
+usb:v0C7A*
+ ID_VENDOR_FROM_DATABASE=Wing-Span Enterprise Co., Ltd
+
+usb:v0C86*
+ ID_VENDOR_FROM_DATABASE=NDA Technologies, Inc.
+
+usb:v0C88*
+ ID_VENDOR_FROM_DATABASE=Kyocera Wireless Corp.
+
+usb:v0C88p0021*
+ ID_MODEL_FROM_DATABASE=Handheld
+
+usb:v0C88p17DA*
+ ID_MODEL_FROM_DATABASE=Qualcomm Kyocera CDMA Technologies MSM
+
+usb:v0C89*
+ ID_VENDOR_FROM_DATABASE=Honda Tsushin Kogyo Co., Ltd
+
+usb:v0C8A*
+ ID_VENDOR_FROM_DATABASE=Pathway Connectivity, Inc.
+
+usb:v0C8B*
+ ID_VENDOR_FROM_DATABASE=Wavefly Corp.
+
+usb:v0C8C*
+ ID_VENDOR_FROM_DATABASE=Coactive Networks
+
+usb:v0C8D*
+ ID_VENDOR_FROM_DATABASE=Tempo
+
+usb:v0C8E*
+ ID_VENDOR_FROM_DATABASE=Cesscom Co., Ltd
+
+usb:v0C8Ep6000*
+ ID_MODEL_FROM_DATABASE=Luxian Series
+
+usb:v0C8F*
+ ID_VENDOR_FROM_DATABASE=Applied Microsystems
+
+usb:v0C94*
+ ID_VENDOR_FROM_DATABASE=Cryptera
+
+usb:v0C94pA000*
+ ID_MODEL_FROM_DATABASE=EPP 1217
+
+usb:v0C98*
+ ID_VENDOR_FROM_DATABASE=Berkshire Products, Inc.
+
+usb:v0C98p1140*
+ ID_MODEL_FROM_DATABASE=USB PC Watchdog
+
+usb:v0C99*
+ ID_VENDOR_FROM_DATABASE=Innochips Co., Ltd
+
+usb:v0C9A*
+ ID_VENDOR_FROM_DATABASE=Hanwool Robotics Corp.
+
+usb:v0C9B*
+ ID_VENDOR_FROM_DATABASE=Jobin Yvon, Inc.
+
+usb:v0C9D*
+ ID_VENDOR_FROM_DATABASE=SemTek
+
+usb:v0C9Dp0170*
+ ID_MODEL_FROM_DATABASE=3873 Manual Insert card reader
+
+usb:v0CA2*
+ ID_VENDOR_FROM_DATABASE=Zyfer
+
+usb:v0CA3*
+ ID_VENDOR_FROM_DATABASE=Sega Corp.
+
+usb:v0CA4*
+ ID_VENDOR_FROM_DATABASE=ST&T Instrument Corp.
+
+usb:v0CA5*
+ ID_VENDOR_FROM_DATABASE=BAE Systems Canada, Inc.
+
+usb:v0CA6*
+ ID_VENDOR_FROM_DATABASE=Castles Technology Co., Ltd
+
+usb:v0CA6p0010*
+ ID_MODEL_FROM_DATABASE=EZUSB PC/SC Smart Card Reader
+
+usb:v0CA6p0050*
+ ID_MODEL_FROM_DATABASE=EZ220PU Reader Controller
+
+usb:v0CA6p1077*
+ ID_MODEL_FROM_DATABASE=Bludrive Family Smart Card Reader
+
+usb:v0CA6p107E*
+ ID_MODEL_FROM_DATABASE=Reader Controller
+
+usb:v0CA6p2010*
+ ID_MODEL_FROM_DATABASE=myPad110 PC/SC Smart Card Reader
+
+usb:v0CA6p3050*
+ ID_MODEL_FROM_DATABASE=EZ710 Smart Card Reader
+
+usb:v0CA7*
+ ID_VENDOR_FROM_DATABASE=Information Systems Laboratories
+
+usb:v0CAD*
+ ID_VENDOR_FROM_DATABASE=Motorola CGISS
+
+usb:v0CADp9001*
+ ID_MODEL_FROM_DATABASE=PowerPad Pocket PC Device
+
+usb:v0CAE*
+ ID_VENDOR_FROM_DATABASE=Ascom Business Systems, Ltd
+
+usb:v0CAF*
+ ID_VENDOR_FROM_DATABASE=Buslink
+
+usb:v0CAFp2507*
+ ID_MODEL_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
+
+usb:v0CAFp2515*
+ ID_MODEL_FROM_DATABASE=Flash Disk Embedded Hub
+
+usb:v0CAFp2516*
+ ID_MODEL_FROM_DATABASE=Flash Disk Security Device
+
+usb:v0CAFp2517*
+ ID_MODEL_FROM_DATABASE=Flash Disk Mass Storage Device
+
+usb:v0CAFp25C7*
+ ID_MODEL_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
+
+usb:v0CAFp3A00*
+ ID_MODEL_FROM_DATABASE=Hard Drive
+
+usb:v0CAFp3A20*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0CAFp3ACD*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0CB0*
+ ID_VENDOR_FROM_DATABASE=Flying Pig Systems
+
+usb:v0CB1*
+ ID_VENDOR_FROM_DATABASE=Innovonics, Inc.
+
+usb:v0CB6*
+ ID_VENDOR_FROM_DATABASE=Celestix Networks, Pte., Ltd
+
+usb:v0CB7*
+ ID_VENDOR_FROM_DATABASE=Singatron Enterprise Co., Ltd
+
+usb:v0CB8*
+ ID_VENDOR_FROM_DATABASE=Opticis Co., Ltd
+
+usb:v0CBA*
+ ID_VENDOR_FROM_DATABASE=Trust Electronic (Shanghai) Co., Ltd
+
+usb:v0CBB*
+ ID_VENDOR_FROM_DATABASE=Shanghai Darong Electronics Co., Ltd
+
+usb:v0CBC*
+ ID_VENDOR_FROM_DATABASE=Palmax Technology Co., Ltd
+
+usb:v0CBCp0101*
+ ID_MODEL_FROM_DATABASE=Pocket PC P6C
+
+usb:v0CBCp0201*
+ ID_MODEL_FROM_DATABASE=Personal Digital Assistant
+
+usb:v0CBCp0301*
+ ID_MODEL_FROM_DATABASE=Personal Digital Assistant P6M+
+
+usb:v0CBCp0401*
+ ID_MODEL_FROM_DATABASE=Pocket PC
+
+usb:v0CBD*
+ ID_VENDOR_FROM_DATABASE=Pentel Co., Ltd (Electronics Equipment Div.)
+
+usb:v0CBE*
+ ID_VENDOR_FROM_DATABASE=Keryx Technologies, Inc.
+
+usb:v0CBF*
+ ID_VENDOR_FROM_DATABASE=Union Genius Computer Co., Ltd
+
+usb:v0CC0*
+ ID_VENDOR_FROM_DATABASE=Kuon Yi Industrial Corp.
+
+usb:v0CC1*
+ ID_VENDOR_FROM_DATABASE=Given Imaging, Ltd
+
+usb:v0CC2*
+ ID_VENDOR_FROM_DATABASE=Timex Corp.
+
+usb:v0CC3*
+ ID_VENDOR_FROM_DATABASE=Rimage Corp.
+
+usb:v0CC4*
+ ID_VENDOR_FROM_DATABASE=emsys GmbH
+
+usb:v0CC5*
+ ID_VENDOR_FROM_DATABASE=Sendo
+
+usb:v0CC6*
+ ID_VENDOR_FROM_DATABASE=Intermagic Corp.
+
+usb:v0CC7*
+ ID_VENDOR_FROM_DATABASE=Kontron Medical AG
+
+usb:v0CC8*
+ ID_VENDOR_FROM_DATABASE=Technotools Corp.
+
+usb:v0CC9*
+ ID_VENDOR_FROM_DATABASE=BroadMAX Technologies, Inc.
+
+usb:v0CCA*
+ ID_VENDOR_FROM_DATABASE=Amphenol
+
+usb:v0CCB*
+ ID_VENDOR_FROM_DATABASE=SKNet Co., Ltd
+
+usb:v0CCC*
+ ID_VENDOR_FROM_DATABASE=Domex Technology Corp.
+
+usb:v0CCD*
+ ID_VENDOR_FROM_DATABASE=TerraTec Electronic GmbH
+
+usb:v0CCDp0012*
+ ID_MODEL_FROM_DATABASE=PHASE 26
+
+usb:v0CCDp0013*
+ ID_MODEL_FROM_DATABASE=PHASE 26
+
+usb:v0CCDp0014*
+ ID_MODEL_FROM_DATABASE=PHASE 26
+
+usb:v0CCDp0015*
+ ID_MODEL_FROM_DATABASE=Flash Update for TerraTec PHASE 26
+
+usb:v0CCDp0021*
+ ID_MODEL_FROM_DATABASE=Cameo Grabster 200
+
+usb:v0CCDp0023*
+ ID_MODEL_FROM_DATABASE=Mystify Claw
+
+usb:v0CCDp0028*
+ ID_MODEL_FROM_DATABASE=Aureon 5.1 MkII
+
+usb:v0CCDp0032*
+ ID_MODEL_FROM_DATABASE=MIDI HUBBLE
+
+usb:v0CCDp0035*
+ ID_MODEL_FROM_DATABASE=Miditech Play'n Roll
+
+usb:v0CCDp0036*
+ ID_MODEL_FROM_DATABASE=Cinergy 250 Audio
+
+usb:v0CCDp0037*
+ ID_MODEL_FROM_DATABASE=Cinergy 250 Audio
+
+usb:v0CCDp0038*
+ ID_MODEL_FROM_DATABASE=Cinergy T² DVB-T Receiver
+
+usb:v0CCDp0039*
+ ID_MODEL_FROM_DATABASE=Grabster AV 400
+
+usb:v0CCDp003B*
+ ID_MODEL_FROM_DATABASE=Cinergy 400
+
+usb:v0CCDp003C*
+ ID_MODEL_FROM_DATABASE=Grabster AV 250
+
+usb:v0CCDp0042*
+ ID_MODEL_FROM_DATABASE=Cinergy Hybrid T XS
+
+usb:v0CCDp0043*
+ ID_MODEL_FROM_DATABASE=Cinergy T XS
+
+usb:v0CCDp004E*
+ ID_MODEL_FROM_DATABASE=Cinergy T XS
+
+usb:v0CCDp004F*
+ ID_MODEL_FROM_DATABASE=Cinergy Analog XS
+
+usb:v0CCDp0055*
+ ID_MODEL_FROM_DATABASE=Cinergy T XE (Version 1, AF9005)
+
+usb:v0CCDp005C*
+ ID_MODEL_FROM_DATABASE=Cinergy T²
+
+usb:v0CCDp0069*
+ ID_MODEL_FROM_DATABASE=Cinergy T XE (Version 2, AF9015)
+
+usb:v0CCDp006B*
+ ID_MODEL_FROM_DATABASE=Cinergy HT PVR (EU)
+
+usb:v0CCDp0072*
+ ID_MODEL_FROM_DATABASE=Cinergy Hybrid T
+
+usb:v0CCDp0077*
+ ID_MODEL_FROM_DATABASE=Aureon Dual USB
+
+usb:v0CCDp0078*
+ ID_MODEL_FROM_DATABASE=Cinergy T XXS
+
+usb:v0CCDp0086*
+ ID_MODEL_FROM_DATABASE=Cinergy Hybrid XE
+
+usb:v0CCDp008E*
+ ID_MODEL_FROM_DATABASE=Cinergy HTC XS
+
+usb:v0CCDp0097*
+ ID_MODEL_FROM_DATABASE=Cinergy T RC MKII
+
+usb:v0CCDp0099*
+ ID_MODEL_FROM_DATABASE=AfaTech 9015 [Cinergy T Stick Dual]
+
+usb:v0CCDp00A5*
+ ID_MODEL_FROM_DATABASE=Cinergy Hybrid Stick
+
+usb:v0CCDp00A9*
+ ID_MODEL_FROM_DATABASE=RTL2838 DVB-T COFDM Demodulator [TerraTec Cinergy T Stick Black]
+
+usb:v0CCDp00B3*
+ ID_MODEL_FROM_DATABASE=NOXON DAB/DAB+ Stick
+
+usb:v0CCDp10A7*
+ ID_MODEL_FROM_DATABASE=TerraTec G3
+
+usb:v0CD4*
+ ID_VENDOR_FROM_DATABASE=Bang Olufsen
+
+usb:v0CD4p0101*
+ ID_MODEL_FROM_DATABASE=BeolinkPC2
+
+usb:v0CD5*
+ ID_VENDOR_FROM_DATABASE=LabJack Corporation
+
+usb:v0CD5p0003*
+ ID_MODEL_FROM_DATABASE=U3
+
+usb:v0CD5p0009*
+ ID_MODEL_FROM_DATABASE=UE9
+
+usb:v0CD7*
+ ID_VENDOR_FROM_DATABASE=NewChip S.r.l.
+
+usb:v0CD8*
+ ID_VENDOR_FROM_DATABASE=JS Digitech, Inc.
+
+usb:v0CD8p2007*
+ ID_MODEL_FROM_DATABASE=Smart Card Reader/JSTU-9700
+
+usb:v0CD9*
+ ID_VENDOR_FROM_DATABASE=Hitachi Shin Din Cable, Ltd
+
+usb:v0CDE*
+ ID_VENDOR_FROM_DATABASE=Z-Com
+
+usb:v0CDEp0001*
+ ID_MODEL_FROM_DATABASE=XI-750 802.11b Wireless Adapter [Atmel AT76C503A]
+
+usb:v0CDEp0002*
+ ID_MODEL_FROM_DATABASE=XI-725/726 Prism2.5 802.11b Adapter
+
+usb:v0CDEp0003*
+ ID_MODEL_FROM_DATABASE=Sagem 802.11b Dongle
+
+usb:v0CDEp0004*
+ ID_MODEL_FROM_DATABASE=Sagem 802.11b Dongle
+
+usb:v0CDEp0005*
+ ID_MODEL_FROM_DATABASE=XI-735 Prism3 802.11b Adapter
+
+usb:v0CDEp0006*
+ ID_MODEL_FROM_DATABASE=XG-300 802.11b Adapter
+
+usb:v0CDEp0008*
+ ID_MODEL_FROM_DATABASE=XG-703A 802.11g Wireless Adapter [Intersil ISL3887]
+
+usb:v0CDEp0009*
+ ID_MODEL_FROM_DATABASE=(ZD1211)IEEE 802.11b+g Adapter
+
+usb:v0CDEp0011*
+ ID_MODEL_FROM_DATABASE=ZD1211
+
+usb:v0CDEp0012*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:v0CDEp0013*
+ ID_MODEL_FROM_DATABASE=AR5523 driver (no firmware)
+
+usb:v0CDEp0014*
+ ID_MODEL_FROM_DATABASE=NB 802.11g Wireless LAN Adapter(3887A)
+
+usb:v0CDEp0015*
+ ID_MODEL_FROM_DATABASE=XG-705A 802.11g Wireless Adapter [Intersil ISL3887]
+
+usb:v0CDEp0016*
+ ID_MODEL_FROM_DATABASE=NB 802.11g Wireless LAN Adapter(3887A)
+
+usb:v0CDEp0018*
+ ID_MODEL_FROM_DATABASE=NB 802.11a/b/g Wireless LAN Adapter(3887A)
+
+usb:v0CDEp001A*
+ ID_MODEL_FROM_DATABASE=802.11bg
+
+usb:v0CDEp001C*
+ ID_MODEL_FROM_DATABASE=802.11b/g Wireless Network Adapter
+
+usb:v0CDEp0020*
+ ID_MODEL_FROM_DATABASE=AG-760A 802.11abg Wireless Adapter [ZyDAS ZD1211B]
+
+usb:v0CDEp0022*
+ ID_MODEL_FROM_DATABASE=802.11b/g/n Wireless Network Adapter
+
+usb:v0CDEp0023*
+ ID_MODEL_FROM_DATABASE=UB81 802.11bgn
+
+usb:v0CDEp0025*
+ ID_MODEL_FROM_DATABASE=802.11b/g/n USB Wireless Network Adapter
+
+usb:v0CDEp0026*
+ ID_MODEL_FROM_DATABASE=UB82 802.11abgn
+
+usb:v0CDEp0027*
+ ID_MODEL_FROM_DATABASE=Sphairon Homelink 1202 802.11n Wireless Adapter [Atheros AR9170]
+
+usb:v0CE5*
+ ID_VENDOR_FROM_DATABASE=Validation Technologies International
+
+usb:v0CE5p0003*
+ ID_MODEL_FROM_DATABASE=Matrix
+
+usb:v0CE9*
+ ID_VENDOR_FROM_DATABASE=pico Technology
+
+usb:v0CE9p1001*
+ ID_MODEL_FROM_DATABASE=PicoScope3000 series PC Oscilloscope
+
+usb:v0CF1*
+ ID_VENDOR_FROM_DATABASE=e-Conn Electronic Co., Ltd
+
+usb:v0CF2*
+ ID_VENDOR_FROM_DATABASE=ENE Technology, Inc.
+
+usb:v0CF2p6220*
+ ID_MODEL_FROM_DATABASE=SD Card Reader (SG361)
+
+usb:v0CF2p6225*
+ ID_MODEL_FROM_DATABASE=SD card reader (UB6225)
+
+usb:v0CF2p6250*
+ ID_MODEL_FROM_DATABASE=SD card reader (UB6250)
+
+usb:v0CF3*
+ ID_VENDOR_FROM_DATABASE=Atheros Communications, Inc.
+
+usb:v0CF3p0001*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:v0CF3p0002*
+ ID_MODEL_FROM_DATABASE=AR5523 (no firmware)
+
+usb:v0CF3p0003*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:v0CF3p0004*
+ ID_MODEL_FROM_DATABASE=AR5523 (no firmware)
+
+usb:v0CF3p0005*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:v0CF3p0006*
+ ID_MODEL_FROM_DATABASE=AR5523 (no firmware)
+
+usb:v0CF3p1001*
+ ID_MODEL_FROM_DATABASE=Thomson TG121N [Atheros AR9001U-(2)NG]
+
+usb:v0CF3p1002*
+ ID_MODEL_FROM_DATABASE=TP-Link TL-WN821N v2 802.11n [Atheros AR9170]
+
+usb:v0CF3p1006*
+ ID_MODEL_FROM_DATABASE=TP-Link TL-WN322G v3 / TL-WN422G v2 802.11g [Atheros AR9271]
+
+usb:v0CF3p1010*
+ ID_MODEL_FROM_DATABASE=3Com 3CRUSBN275 802.11abgn Wireless Adapter [Atheros AR9170]
+
+usb:v0CF3p20FF*
+ ID_MODEL_FROM_DATABASE=AR7010 (no firmware)
+
+usb:v0CF3p3000*
+ ID_MODEL_FROM_DATABASE=AR3011 Bluetooth (no firmware)
+
+usb:v0CF3p3002*
+ ID_MODEL_FROM_DATABASE=AR3011 Bluetooth
+
+usb:v0CF3p3005*
+ ID_MODEL_FROM_DATABASE=AR3011 Bluetooth
+
+usb:v0CF3p3008*
+ ID_MODEL_FROM_DATABASE=Bluetooth (AR3011)
+
+usb:v0CF3p7015*
+ ID_MODEL_FROM_DATABASE=TP-Link TL-WN821N v3 802.11n [Atheros AR7010+AR9287]
+
+usb:v0CF3p9170*
+ ID_MODEL_FROM_DATABASE=AR9170 802.11n
+
+usb:v0CF3p9271*
+ ID_MODEL_FROM_DATABASE=AR9271 802.11n
+
+usb:v0CF3pB002*
+ ID_MODEL_FROM_DATABASE=Ubiquiti WiFiStation 802.11n [Atheros AR9271]
+
+usb:v0CF3pB003*
+ ID_MODEL_FROM_DATABASE=Ubiquiti WiFiStationEXT 802.11n [Atheros AR9271]
+
+usb:v0CF4*
+ ID_VENDOR_FROM_DATABASE=Fomtex Corp.
+
+usb:v0CF5*
+ ID_VENDOR_FROM_DATABASE=Cellink Co., Ltd
+
+usb:v0CF6*
+ ID_VENDOR_FROM_DATABASE=Compucable Corp.
+
+usb:v0CF7*
+ ID_VENDOR_FROM_DATABASE=ishoni Networks
+
+usb:v0CF8*
+ ID_VENDOR_FROM_DATABASE=Clarisys, Inc.
+
+usb:v0CF8p0750*
+ ID_MODEL_FROM_DATABASE=Claritel-i750 - vp
+
+usb:v0CF9*
+ ID_VENDOR_FROM_DATABASE=Central System Research Co., Ltd
+
+usb:v0CFA*
+ ID_VENDOR_FROM_DATABASE=Inviso, Inc.
+
+usb:v0CFC*
+ ID_VENDOR_FROM_DATABASE=Minolta-QMS, Inc.
+
+usb:v0CFCp2301*
+ ID_MODEL_FROM_DATABASE=Magicolor 2300 DL
+
+usb:v0CFCp2350*
+ ID_MODEL_FROM_DATABASE=Magicolor 2350EN/3300
+
+usb:v0CFCp3100*
+ ID_MODEL_FROM_DATABASE=Magicolor 3100
+
+usb:v0CFCp7300*
+ ID_MODEL_FROM_DATABASE=Magicolor 5450/5550
+
+usb:v0CFF*
+ ID_VENDOR_FROM_DATABASE=SAFA MEDIA Co., Ltd.
+
+usb:v0CFFp0320*
+ ID_MODEL_FROM_DATABASE=SR-380N
+
+usb:v0D06*
+ ID_VENDOR_FROM_DATABASE=telos EDV Systementwicklung GmbH
+
+usb:v0D08*
+ ID_VENDOR_FROM_DATABASE=UTStarcom
+
+usb:v0D08p0602*
+ ID_MODEL_FROM_DATABASE=DV007 [serial]
+
+usb:v0D08p0603*
+ ID_MODEL_FROM_DATABASE=DV007 [storage]
+
+usb:v0D0B*
+ ID_VENDOR_FROM_DATABASE=Contemporary Controls
+
+usb:v0D0C*
+ ID_VENDOR_FROM_DATABASE=Astron Electronics Co., Ltd
+
+usb:v0D0D*
+ ID_VENDOR_FROM_DATABASE=MKNet Corp.
+
+usb:v0D0E*
+ ID_VENDOR_FROM_DATABASE=Hybrid Networks, Inc.
+
+usb:v0D0F*
+ ID_VENDOR_FROM_DATABASE=Feng Shin Cable Co., Ltd
+
+usb:v0D10*
+ ID_VENDOR_FROM_DATABASE=Elastic Networks
+
+usb:v0D10p0001*
+ ID_MODEL_FROM_DATABASE=StormPort (WDM)
+
+usb:v0D11*
+ ID_VENDOR_FROM_DATABASE=Maspro Denkoh Corp.
+
+usb:v0D12*
+ ID_VENDOR_FROM_DATABASE=Hansol Electronics, Inc.
+
+usb:v0D13*
+ ID_VENDOR_FROM_DATABASE=BMF Corp.
+
+usb:v0D14*
+ ID_VENDOR_FROM_DATABASE=Array Comm, Inc.
+
+usb:v0D15*
+ ID_VENDOR_FROM_DATABASE=OnStream b.v.
+
+usb:v0D16*
+ ID_VENDOR_FROM_DATABASE=Hi-Touch Imaging Technologies Co., Ltd
+
+usb:v0D16p0001*
+ ID_MODEL_FROM_DATABASE=PhotoShuttle
+
+usb:v0D16p0002*
+ ID_MODEL_FROM_DATABASE=Photo Printer 730 series
+
+usb:v0D16p0004*
+ ID_MODEL_FROM_DATABASE=Photo Printer 63xPL/PS
+
+usb:v0D16p0100*
+ ID_MODEL_FROM_DATABASE=Photo Printer 63xPL/PS
+
+usb:v0D16p0102*
+ ID_MODEL_FROM_DATABASE=Photo Printer 64xPS
+
+usb:v0D16p0103*
+ ID_MODEL_FROM_DATABASE=Photo Printer 730 series
+
+usb:v0D16p0104*
+ ID_MODEL_FROM_DATABASE=Photo Printer 63xPL/PS
+
+usb:v0D16p0105*
+ ID_MODEL_FROM_DATABASE=Photo Printer 64xPS
+
+usb:v0D16p0200*
+ ID_MODEL_FROM_DATABASE=Photo Printer 64xDL
+
+usb:v0D17*
+ ID_VENDOR_FROM_DATABASE=NALTEC, Inc.
+
+usb:v0D18*
+ ID_VENDOR_FROM_DATABASE=coaXmedia
+
+usb:v0D19*
+ ID_VENDOR_FROM_DATABASE=Hank Connection Industrial Co., Ltd
+
+usb:v0D28*
+ ID_VENDOR_FROM_DATABASE=NXP
+
+usb:v0D28p0204*
+ ID_MODEL_FROM_DATABASE=LPC1768
+
+usb:v0D32*
+ ID_VENDOR_FROM_DATABASE=Leo Hui Electric Wire & Cable Co., Ltd
+
+usb:v0D33*
+ ID_VENDOR_FROM_DATABASE=AirSpeak, Inc.
+
+usb:v0D34*
+ ID_VENDOR_FROM_DATABASE=Rearden Steel Technologies
+
+usb:v0D35*
+ ID_VENDOR_FROM_DATABASE=Dah Kun Co., Ltd
+
+usb:v0D3A*
+ ID_VENDOR_FROM_DATABASE=Posiflex Technologies, Inc.
+
+usb:v0D3C*
+ ID_VENDOR_FROM_DATABASE=Sri Cable Technology, Ltd
+
+usb:v0D3D*
+ ID_VENDOR_FROM_DATABASE=Tangtop Technology Co., Ltd
+
+usb:v0D3Dp0001*
+ ID_MODEL_FROM_DATABASE=HID Keyboard
+
+usb:v0D3E*
+ ID_VENDOR_FROM_DATABASE=Fitcom, inc.
+
+usb:v0D3F*
+ ID_VENDOR_FROM_DATABASE=MTS Systems Corp.
+
+usb:v0D40*
+ ID_VENDOR_FROM_DATABASE=Ascor, Inc.
+
+usb:v0D41*
+ ID_VENDOR_FROM_DATABASE=Ta Yun Terminals Industrial Co., Ltd
+
+usb:v0D42*
+ ID_VENDOR_FROM_DATABASE=Full Der Co., Ltd
+
+usb:v0D46*
+ ID_VENDOR_FROM_DATABASE=Kobil Systems GmbH
+
+usb:v0D46p2012*
+ ID_MODEL_FROM_DATABASE=KAAN Standard Plus (Smartcard reader)
+
+usb:v0D46p3003*
+ ID_MODEL_FROM_DATABASE=mIDentity Light / KAAN SIM III
+
+usb:v0D46p4000*
+ ID_MODEL_FROM_DATABASE=mIDentity (mass storage)
+
+usb:v0D46p4001*
+ ID_MODEL_FROM_DATABASE=mIDentity Basic/Classic (composite device)
+
+usb:v0D46p4081*
+ ID_MODEL_FROM_DATABASE=mIDentity Basic/Classic (installationless)
+
+usb:v0D48*
+ ID_VENDOR_FROM_DATABASE=Promethean Limited
+
+usb:v0D48p0001*
+ ID_MODEL_FROM_DATABASE=ACTIVboard
+
+usb:v0D48p0004*
+ ID_MODEL_FROM_DATABASE=ACTIVboard
+
+usb:v0D48p0100*
+ ID_MODEL_FROM_DATABASE=Audio
+
+usb:v0D49*
+ ID_VENDOR_FROM_DATABASE=Maxtor
+
+usb:v0D49p3000*
+ ID_MODEL_FROM_DATABASE=Drive
+
+usb:v0D49p3010*
+ ID_MODEL_FROM_DATABASE=3000LE Drive
+
+usb:v0D49p3100*
+ ID_MODEL_FROM_DATABASE=Hi-Speed USB-IDE Bridge Controller
+
+usb:v0D49p3200*
+ ID_MODEL_FROM_DATABASE=Personal Storage 3200
+
+usb:v0D49p5000*
+ ID_MODEL_FROM_DATABASE=5000XT Drive
+
+usb:v0D49p5010*
+ ID_MODEL_FROM_DATABASE=5000LE Drive
+
+usb:v0D49p5020*
+ ID_MODEL_FROM_DATABASE=Mobile Hard Disk Drive
+
+usb:v0D49p7000*
+ ID_MODEL_FROM_DATABASE=OneTouch
+
+usb:v0D49p7010*
+ ID_MODEL_FROM_DATABASE=OneTouch
+
+usb:v0D49p7100*
+ ID_MODEL_FROM_DATABASE=OneTouch II 300GB External Hard Disk
+
+usb:v0D49p7410*
+ ID_MODEL_FROM_DATABASE=Mobile Hard Disk Drive (1TB)
+
+usb:v0D49p7450*
+ ID_MODEL_FROM_DATABASE=Basics Portable USB Device
+
+usb:v0D4A*
+ ID_VENDOR_FROM_DATABASE=NF Corp.
+
+usb:v0D4B*
+ ID_VENDOR_FROM_DATABASE=Grape Systems, Inc.
+
+usb:v0D4C*
+ ID_VENDOR_FROM_DATABASE=Tedas AG
+
+usb:v0D4D*
+ ID_VENDOR_FROM_DATABASE=Coherent, Inc.
+
+usb:v0D4E*
+ ID_VENDOR_FROM_DATABASE=Agere Systems Netherland BV
+
+usb:v0D4Ep047A*
+ ID_MODEL_FROM_DATABASE=WLAN Card
+
+usb:v0D4Ep1000*
+ ID_MODEL_FROM_DATABASE=Wireless Card Model 0801
+
+usb:v0D4Ep1001*
+ ID_MODEL_FROM_DATABASE=Wireless Card Model 0802
+
+usb:v0D4F*
+ ID_VENDOR_FROM_DATABASE=EADS Airbus France
+
+usb:v0D50*
+ ID_VENDOR_FROM_DATABASE=Cleware GmbH
+
+usb:v0D50p0011*
+ ID_MODEL_FROM_DATABASE=USB-Temp2 Thermometer
+
+usb:v0D51*
+ ID_VENDOR_FROM_DATABASE=Volex (Asia) Pte., Ltd
+
+usb:v0D53*
+ ID_VENDOR_FROM_DATABASE=HMI Co., Ltd
+
+usb:v0D54*
+ ID_VENDOR_FROM_DATABASE=Holon Corp.
+
+usb:v0D55*
+ ID_VENDOR_FROM_DATABASE=ASKA Technologies, Inc.
+
+usb:v0D56*
+ ID_VENDOR_FROM_DATABASE=AVLAB Technology, Inc.
+
+usb:v0D57*
+ ID_VENDOR_FROM_DATABASE=Solomon Microtech, Ltd
+
+usb:v0D5C*
+ ID_VENDOR_FROM_DATABASE=SMC Networks, Inc.
+
+usb:v0D5CpA001*
+ ID_MODEL_FROM_DATABASE=SMC2662W (v1) EZ Connect 802.11b Wireless Adapter [Atmel AT76C503A]
+
+usb:v0D5CpA002*
+ ID_MODEL_FROM_DATABASE=SMC2662W v2 / SMC2662W-AR / Belkin F5D6050 [Atmel at76c503a]
+
+usb:v0D5E*
+ ID_VENDOR_FROM_DATABASE=Myacom, Ltd
+
+usb:v0D5Ep2346*
+ ID_MODEL_FROM_DATABASE=BT Digital Access adapter
+
+usb:v0D5F*
+ ID_VENDOR_FROM_DATABASE=CSI, Inc.
+
+usb:v0D60*
+ ID_VENDOR_FROM_DATABASE=IVL Technologies, Ltd
+
+usb:v0D61*
+ ID_VENDOR_FROM_DATABASE=Meilu Electronics (Shenzhen) Co., Ltd
+
+usb:v0D62*
+ ID_VENDOR_FROM_DATABASE=Darfon Electronics Corp.
+
+usb:v0D62p0003*
+ ID_MODEL_FROM_DATABASE=Smartcard Reader
+
+usb:v0D62p0004*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v0D62p001C*
+ ID_MODEL_FROM_DATABASE=Benq X120 Internet Keyboard Pro
+
+usb:v0D62p0306*
+ ID_MODEL_FROM_DATABASE=M530 Mouse
+
+usb:v0D62p0800*
+ ID_MODEL_FROM_DATABASE=Magic Wheel
+
+usb:v0D62p2021*
+ ID_MODEL_FROM_DATABASE=AM805 Keyboard
+
+usb:v0D62p2026*
+ ID_MODEL_FROM_DATABASE=TECOM Bluetooth Device
+
+usb:v0D62p2050*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v0D62p2106*
+ ID_MODEL_FROM_DATABASE=Dell L20U Multimedia Keyboard
+
+usb:v0D62pA100*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v0D63*
+ ID_VENDOR_FROM_DATABASE=Fritz Gegauf AG
+
+usb:v0D64*
+ ID_VENDOR_FROM_DATABASE=DXG Technology Corp.
+
+usb:v0D64p0105*
+ ID_MODEL_FROM_DATABASE=Dual Mode Digital Camera 1.3M
+
+usb:v0D64p0107*
+ ID_MODEL_FROM_DATABASE=Horus MT-409 Camera
+
+usb:v0D64p0108*
+ ID_MODEL_FROM_DATABASE=Dual Mode Digital Camera
+
+usb:v0D64p0202*
+ ID_MODEL_FROM_DATABASE=Dual Mode Video Camera Device
+
+usb:v0D64p0303*
+ ID_MODEL_FROM_DATABASE=DXG-305V Camera
+
+usb:v0D64p1001*
+ ID_MODEL_FROM_DATABASE=SiPix Stylecam/UMAX AstraPix 320s
+
+usb:v0D64p1002*
+ ID_MODEL_FROM_DATABASE=Fashion Cam 01 Dual-Mode DSC (Video Camera)
+
+usb:v0D64p1003*
+ ID_MODEL_FROM_DATABASE=Fashion Cam Dual-Mode DSC (Controller)
+
+usb:v0D64p1021*
+ ID_MODEL_FROM_DATABASE=D-Link DSC 350F
+
+usb:v0D64p1208*
+ ID_MODEL_FROM_DATABASE=Dual Mode Still Camera Device
+
+usb:v0D64p2208*
+ ID_MODEL_FROM_DATABASE=Mass Storage
+
+usb:v0D64p3105*
+ ID_MODEL_FROM_DATABASE=Dual Mode Digital Camera Disk
+
+usb:v0D64p3108*
+ ID_MODEL_FROM_DATABASE=Digicam Mass Storage Device
+
+usb:v0D65*
+ ID_VENDOR_FROM_DATABASE=KMJP Co., Ltd
+
+usb:v0D66*
+ ID_VENDOR_FROM_DATABASE=TMT
+
+usb:v0D67*
+ ID_VENDOR_FROM_DATABASE=Advanet, Inc.
+
+usb:v0D68*
+ ID_VENDOR_FROM_DATABASE=Super Link Electronics Co., Ltd
+
+usb:v0D69*
+ ID_VENDOR_FROM_DATABASE=NSI
+
+usb:v0D6A*
+ ID_VENDOR_FROM_DATABASE=Megapower International Corp.
+
+usb:v0D6B*
+ ID_VENDOR_FROM_DATABASE=And-Or Logic
+
+usb:v0D70*
+ ID_VENDOR_FROM_DATABASE=Try Computer Co., Ltd
+
+usb:v0D71*
+ ID_VENDOR_FROM_DATABASE=Hirakawa Hewtech Corp.
+
+usb:v0D72*
+ ID_VENDOR_FROM_DATABASE=Winmate Communication, Inc.
+
+usb:v0D73*
+ ID_VENDOR_FROM_DATABASE=Hit's Communications, Inc.
+
+usb:v0D76*
+ ID_VENDOR_FROM_DATABASE=MFP Korea, Inc.
+
+usb:v0D77*
+ ID_VENDOR_FROM_DATABASE=Power Sentry/Newpoint
+
+usb:v0D78*
+ ID_VENDOR_FROM_DATABASE=Japan Distributor Corp.
+
+usb:v0D7A*
+ ID_VENDOR_FROM_DATABASE=MARX Datentechnik GmbH
+
+usb:v0D7B*
+ ID_VENDOR_FROM_DATABASE=Wellco Technology Co., Ltd
+
+usb:v0D7C*
+ ID_VENDOR_FROM_DATABASE=Taiwan Line Tek Electronic Co., Ltd
+
+usb:v0D7D*
+ ID_VENDOR_FROM_DATABASE=Phison Electronics Corp.
+
+usb:v0D7Dp0100*
+ ID_MODEL_FROM_DATABASE=PS1001/1011/1006/1026 Flash Disk
+
+usb:v0D7Dp0110*
+ ID_MODEL_FROM_DATABASE=Gigabyte FlexDrive
+
+usb:v0D7Dp0120*
+ ID_MODEL_FROM_DATABASE=Disk Pro 64MB
+
+usb:v0D7Dp0124*
+ ID_MODEL_FROM_DATABASE=GIGABYTE Disk
+
+usb:v0D7Dp0240*
+ ID_MODEL_FROM_DATABASE=I/O-Magic/Transcend 6-in-1 Card Reader
+
+usb:v0D7Dp110E*
+ ID_MODEL_FROM_DATABASE=NEC uPD720121/130 USB-ATA/ATAPI Bridge
+
+usb:v0D7Dp1240*
+ ID_MODEL_FROM_DATABASE=Apacer 6-in-1 Card Reader 2.0
+
+usb:v0D7Dp1270*
+ ID_MODEL_FROM_DATABASE=Wolverine SixPac 6000
+
+usb:v0D7Dp1300*
+ ID_MODEL_FROM_DATABASE=Flash Disk
+
+usb:v0D7Dp1320*
+ ID_MODEL_FROM_DATABASE=PS2031 Flash Disk
+
+usb:v0D7Dp1400*
+ ID_MODEL_FROM_DATABASE=Attache 256MB USB 2.0 Flash Drive
+
+usb:v0D7Dp1420*
+ ID_MODEL_FROM_DATABASE=PS2044 Pen Drive
+
+usb:v0D7Dp1470*
+ ID_MODEL_FROM_DATABASE=Vosonic X's-Drive II+ VP2160
+
+usb:v0D7Dp1620*
+ ID_MODEL_FROM_DATABASE=USB Disk Pro
+
+usb:v0D7Dp1900*
+ ID_MODEL_FROM_DATABASE=USB Thumb Drive
+
+usb:v0D7E*
+ ID_VENDOR_FROM_DATABASE=American Computer & Digital Components
+
+usb:v0D7Ep2507*
+ ID_MODEL_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
+
+usb:v0D7Ep2517*
+ ID_MODEL_FROM_DATABASE=Hi-Speed Mass Storage Device
+
+usb:v0D7Ep25C7*
+ ID_MODEL_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
+
+usb:v0D7F*
+ ID_VENDOR_FROM_DATABASE=Essential Reality LLC
+
+usb:v0D7Fp0100*
+ ID_MODEL_FROM_DATABASE=P5 Glove glove controller
+
+usb:v0D80*
+ ID_VENDOR_FROM_DATABASE=H.R. Silvine Electronics, Inc.
+
+usb:v0D81*
+ ID_VENDOR_FROM_DATABASE=TechnoVision
+
+usb:v0D83*
+ ID_VENDOR_FROM_DATABASE=Think Outside, Inc.
+
+usb:v0D87*
+ ID_VENDOR_FROM_DATABASE=Dolby Laboratories Inc.
+
+usb:v0D89*
+ ID_VENDOR_FROM_DATABASE=Oz Software
+
+usb:v0D8A*
+ ID_VENDOR_FROM_DATABASE=King Jim Co., Ltd
+
+usb:v0D8Ap0101*
+ ID_MODEL_FROM_DATABASE=TEPRA PRO
+
+usb:v0D8B*
+ ID_VENDOR_FROM_DATABASE=Ascom Telecommunications, Ltd
+
+usb:v0D8C*
+ ID_VENDOR_FROM_DATABASE=C-Media Electronics, Inc.
+
+usb:v0D8Cp0001*
+ ID_MODEL_FROM_DATABASE=Audio Device
+
+usb:v0D8Cp0002*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v0D8Cp0003*
+ ID_MODEL_FROM_DATABASE=Sound Device
+
+usb:v0D8Cp0006*
+ ID_MODEL_FROM_DATABASE=Storm HP-USB500 5.1 Headset
+
+usb:v0D8Cp000C*
+ ID_MODEL_FROM_DATABASE=Audio Adapter
+
+usb:v0D8Cp000D*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v0D8Cp000E*
+ ID_MODEL_FROM_DATABASE=Audio Adapter (Planet UP-100, Genius G-Talk)
+
+usb:v0D8Cp001F*
+ ID_MODEL_FROM_DATABASE=CM108 Audio Controller
+
+usb:v0D8Cp0102*
+ ID_MODEL_FROM_DATABASE=CM106 Like Sound Device
+
+usb:v0D8Cp0103*
+ ID_MODEL_FROM_DATABASE=CM102-A+/102S+ Audio Controller
+
+usb:v0D8Cp0104*
+ ID_MODEL_FROM_DATABASE=CM103+ Audio Controller
+
+usb:v0D8Cp0105*
+ ID_MODEL_FROM_DATABASE=CM108 Audio Controller
+
+usb:v0D8Cp0107*
+ ID_MODEL_FROM_DATABASE=CM108 Audio Controller
+
+usb:v0D8Cp010F*
+ ID_MODEL_FROM_DATABASE=CM108 Audio Controller
+
+usb:v0D8Cp0115*
+ ID_MODEL_FROM_DATABASE=CM108 Audio Controller
+
+usb:v0D8Cp013C*
+ ID_MODEL_FROM_DATABASE=CM108 Audio Controller
+
+usb:v0D8Cp0201*
+ ID_MODEL_FROM_DATABASE=CM6501
+
+usb:v0D8Cp5000*
+ ID_MODEL_FROM_DATABASE=Mass Storage Controller
+
+usb:v0D8Cp5200*
+ ID_MODEL_FROM_DATABASE=Mass Storage Controller(0D8C,5200)
+
+usb:v0D8CpB213*
+ ID_MODEL_FROM_DATABASE=USB Phone CM109 (aka CT2000,VPT1000)
+
+usb:v0D8D*
+ ID_VENDOR_FROM_DATABASE=Promotion & Display Technology, Ltd
+
+usb:v0D8Dp0234*
+ ID_MODEL_FROM_DATABASE=V-234 Composite Device
+
+usb:v0D8Dp0550*
+ ID_MODEL_FROM_DATABASE=V-550 Composite Device
+
+usb:v0D8Dp0551*
+ ID_MODEL_FROM_DATABASE=V-551 Composite Device
+
+usb:v0D8Dp0552*
+ ID_MODEL_FROM_DATABASE=V-552 Composite Device
+
+usb:v0D8Dp0651*
+ ID_MODEL_FROM_DATABASE=V-651 Composite Device
+
+usb:v0D8Dp0652*
+ ID_MODEL_FROM_DATABASE=V-652 Composite Device
+
+usb:v0D8Dp0653*
+ ID_MODEL_FROM_DATABASE=V-653 Composite Device
+
+usb:v0D8Dp0654*
+ ID_MODEL_FROM_DATABASE=V-654 Composite Device
+
+usb:v0D8Dp0655*
+ ID_MODEL_FROM_DATABASE=V-655 Composite Device
+
+usb:v0D8Dp0656*
+ ID_MODEL_FROM_DATABASE=V-656 Composite Device
+
+usb:v0D8Dp0657*
+ ID_MODEL_FROM_DATABASE=V-657 Composite Device
+
+usb:v0D8Dp0658*
+ ID_MODEL_FROM_DATABASE=V-658 Composite Device
+
+usb:v0D8Dp0659*
+ ID_MODEL_FROM_DATABASE=V-659 Composite Device
+
+usb:v0D8Dp0660*
+ ID_MODEL_FROM_DATABASE=V-660 Composite Device
+
+usb:v0D8Dp0661*
+ ID_MODEL_FROM_DATABASE=V-661 Composite Device
+
+usb:v0D8Dp0662*
+ ID_MODEL_FROM_DATABASE=V-662 Composite Device
+
+usb:v0D8Dp0850*
+ ID_MODEL_FROM_DATABASE=V-850 Composite Device
+
+usb:v0D8Dp0851*
+ ID_MODEL_FROM_DATABASE=V-851 Composite Device
+
+usb:v0D8Dp0852*
+ ID_MODEL_FROM_DATABASE=V-852 Composite Device
+
+usb:v0D8Dp0901*
+ ID_MODEL_FROM_DATABASE=V-901 Composite Device
+
+usb:v0D8Dp0902*
+ ID_MODEL_FROM_DATABASE=V-902 Composite Device
+
+usb:v0D8Dp0903*
+ ID_MODEL_FROM_DATABASE=V-903 Composite Device
+
+usb:v0D8Dp4754*
+ ID_MODEL_FROM_DATABASE=Voyager DMP Composite Device
+
+usb:v0D8DpBB00*
+ ID_MODEL_FROM_DATABASE=Bloomberg Composite Device
+
+usb:v0D8DpBB01*
+ ID_MODEL_FROM_DATABASE=Bloomberg Composite Device
+
+usb:v0D8DpBB02*
+ ID_MODEL_FROM_DATABASE=Bloomberg Composite Device
+
+usb:v0D8DpBB03*
+ ID_MODEL_FROM_DATABASE=Bloomberg Composite Device
+
+usb:v0D8DpBB04*
+ ID_MODEL_FROM_DATABASE=Bloomberg Composite Device
+
+usb:v0D8DpBB05*
+ ID_MODEL_FROM_DATABASE=Bloomberg Composite Device
+
+usb:v0D8DpFFFE*
+ ID_MODEL_FROM_DATABASE=Global Tuner Composite Device
+
+usb:v0D8DpFFFF*
+ ID_MODEL_FROM_DATABASE=Voyager DMP Composite Device
+
+usb:v0D8E*
+ ID_VENDOR_FROM_DATABASE=Global Sun Technology, Inc.
+
+usb:v0D8Ep0163*
+ ID_MODEL_FROM_DATABASE=802.11g 54 Mbps Wireless Dongle
+
+usb:v0D8Ep1621*
+ ID_MODEL_FROM_DATABASE=802.11b Wireless Adapter
+
+usb:v0D8Ep3762*
+ ID_MODEL_FROM_DATABASE=Cohiba 802.11g Wireless Mini adapter [Intersil ISL3887]
+
+usb:v0D8Ep3763*
+ ID_MODEL_FROM_DATABASE=802.11g Wireless dongle
+
+usb:v0D8Ep7100*
+ ID_MODEL_FROM_DATABASE=802.11b Adapter
+
+usb:v0D8Ep7110*
+ ID_MODEL_FROM_DATABASE=WL-210 / WU210P 802.11b Wireless Adapter [Atmel AT76C503A]
+
+usb:v0D8Ep7605*
+ ID_MODEL_FROM_DATABASE=TRENDnet TEW-224UB 802.11b Wireless Adapter [Atmel AT76C503A]
+
+usb:v0D8Ep7801*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:v0D8Ep7802*
+ ID_MODEL_FROM_DATABASE=AR5523 (no firmware)
+
+usb:v0D8Ep7811*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:v0D8Ep7812*
+ ID_MODEL_FROM_DATABASE=AR5523 (no firmware)
+
+usb:v0D8Ep7A01*
+ ID_MODEL_FROM_DATABASE=PRISM25 802.11b Adapter
+
+usb:v0D8F*
+ ID_VENDOR_FROM_DATABASE=Pitney Bowes
+
+usb:v0D90*
+ ID_VENDOR_FROM_DATABASE=Sure-Fire Electrical Corp.
+
+usb:v0D96*
+ ID_VENDOR_FROM_DATABASE=Skanhex Technology, Inc.
+
+usb:v0D96p0000*
+ ID_MODEL_FROM_DATABASE=Jenoptik JD350 video
+
+usb:v0D96p3300*
+ ID_MODEL_FROM_DATABASE=SX330z Camera
+
+usb:v0D96p4100*
+ ID_MODEL_FROM_DATABASE=SX410z Camera
+
+usb:v0D96p4102*
+ ID_MODEL_FROM_DATABASE=MD 9700 Camera
+
+usb:v0D96p4104*
+ ID_MODEL_FROM_DATABASE=Jenoptik JD-4100z3s
+
+usb:v0D96p410A*
+ ID_MODEL_FROM_DATABASE=Medion 9801/Novatech SX-410z
+
+usb:v0D96p5200*
+ ID_MODEL_FROM_DATABASE=SX-520z Camera
+
+usb:v0D97*
+ ID_VENDOR_FROM_DATABASE=Santa Barbara Instrument Group
+
+usb:v0D97p0001*
+ ID_MODEL_FROM_DATABASE=SBIG Astronomy Camera (without firmware)
+
+usb:v0D97p0101*
+ ID_MODEL_FROM_DATABASE=SBIG Astronomy Camera (with firmware)
+
+usb:v0D98*
+ ID_VENDOR_FROM_DATABASE=Mars Semiconductor Corp.
+
+usb:v0D98p0300*
+ ID_MODEL_FROM_DATABASE=Avaya Wireless Card
+
+usb:v0D98p1007*
+ ID_MODEL_FROM_DATABASE=Discovery Kids Digital Camera
+
+usb:v0D99*
+ ID_VENDOR_FROM_DATABASE=Trazer Technologies, Inc.
+
+usb:v0D9A*
+ ID_VENDOR_FROM_DATABASE=RTX Telecom AS
+
+usb:v0D9Ap0001*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0D9B*
+ ID_VENDOR_FROM_DATABASE=Tat Shing Electrical Co.
+
+usb:v0D9C*
+ ID_VENDOR_FROM_DATABASE=Chee Chen Hi-Technology Co., Ltd
+
+usb:v0D9D*
+ ID_VENDOR_FROM_DATABASE=Sanwa Supply, Inc.
+
+usb:v0D9E*
+ ID_VENDOR_FROM_DATABASE=Avaya
+
+usb:v0D9Ep0300*
+ ID_MODEL_FROM_DATABASE=Wireless Card
+
+usb:v0D9F*
+ ID_VENDOR_FROM_DATABASE=Powercom Co., Ltd
+
+usb:v0D9Fp0001*
+ ID_MODEL_FROM_DATABASE=Uninterruptible Power Supply
+
+usb:v0D9Fp0002*
+ ID_MODEL_FROM_DATABASE=Black Knight PRO / WOW Uninterruptible Power Supply (Cypress HID->COM RS232)
+
+usb:v0D9Fp00A2*
+ ID_MODEL_FROM_DATABASE=Imperial Uninterruptible Power Supply (HID PDC)
+
+usb:v0D9Fp00A3*
+ ID_MODEL_FROM_DATABASE=Smart King PRO Uninterruptible Power Supply (HID PDC)
+
+usb:v0D9Fp00A4*
+ ID_MODEL_FROM_DATABASE=WOW Uninterruptible Power Supply (HID PDC)
+
+usb:v0D9Fp00A5*
+ ID_MODEL_FROM_DATABASE=Vanguard Uninterruptible Power Supply (HID PDC)
+
+usb:v0D9Fp00A6*
+ ID_MODEL_FROM_DATABASE=Black Knight PRO Uninterruptible Power Supply (HID PDC)
+
+usb:v0DA0*
+ ID_VENDOR_FROM_DATABASE=Danger Research
+
+usb:v0DA1*
+ ID_VENDOR_FROM_DATABASE=Suzhou Peter's Precise Industrial Co., Ltd
+
+usb:v0DA2*
+ ID_VENDOR_FROM_DATABASE=Land Instruments International, Ltd
+
+usb:v0DA3*
+ ID_VENDOR_FROM_DATABASE=Nippon Electro-Sensory Devices Corp.
+
+usb:v0DA4*
+ ID_VENDOR_FROM_DATABASE=Polar Electro OY
+
+usb:v0DA4p0001*
+ ID_MODEL_FROM_DATABASE=Interface
+
+usb:v0DA7*
+ ID_VENDOR_FROM_DATABASE=IOGear, Inc.
+
+usb:v0DA8*
+ ID_VENDOR_FROM_DATABASE=softDSP Co., Ltd
+
+usb:v0DA8p0001*
+ ID_MODEL_FROM_DATABASE=SDS 200A Oscilloscope
+
+usb:v0DAB*
+ ID_VENDOR_FROM_DATABASE=Cubig Group
+
+usb:v0DABp0100*
+ ID_MODEL_FROM_DATABASE=DVR/CVR-M140 MP3 Player
+
+usb:v0DAD*
+ ID_VENDOR_FROM_DATABASE=Westover Scientific
+
+usb:v0DB0*
+ ID_VENDOR_FROM_DATABASE=Micro Star International
+
+usb:v0DB0p1020*
+ ID_MODEL_FROM_DATABASE=PC2PC WLAN Card
+
+usb:v0DB0p1967*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle
+
+usb:v0DB0p3801*
+ ID_MODEL_FROM_DATABASE=Motorola Bluetooth 2.1+EDR Device
+
+usb:v0DB0p4011*
+ ID_MODEL_FROM_DATABASE=Medion Flash XL V2.0 Card Reader
+
+usb:v0DB0p4023*
+ ID_MODEL_FROM_DATABASE=Lexar Mobile Card Reader
+
+usb:v0DB0p4600*
+ ID_MODEL_FROM_DATABASE=802.11b/g Turbo Wireless Adapter
+
+usb:v0DB0p5501*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0DB0p5502*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0DB0p5513*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0DB0p5515*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0DB0p5516*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0DB0p5580*
+ ID_MODEL_FROM_DATABASE=Mega Sky 580 DVB-T Tuner [M902x]
+
+usb:v0DB0p5581*
+ ID_MODEL_FROM_DATABASE=Mega Sky 580 DVB-T Tuner [GL861]
+
+usb:v0DB0p6823*
+ ID_MODEL_FROM_DATABASE=UB11B/MS-6823 802.11b Wi-Fi adapter
+
+usb:v0DB0p6826*
+ ID_MODEL_FROM_DATABASE=IEEE 802.11g Wireless Network Adapter
+
+usb:v0DB0p6855*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0DB0p6861*
+ ID_MODEL_FROM_DATABASE=MSI-6861 802.11g WiFi adapter
+
+usb:v0DB0p6865*
+ ID_MODEL_FROM_DATABASE=RT2570
+
+usb:v0DB0p6869*
+ ID_MODEL_FROM_DATABASE=RT2570
+
+usb:v0DB0p6874*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v0DB0p6877*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v0DB0p6881*
+ ID_MODEL_FROM_DATABASE=Bluetooth Class I EDR Device
+
+usb:v0DB0p688A*
+ ID_MODEL_FROM_DATABASE=Bluetooth Class I EDR Device
+
+usb:v0DB0p6899*
+ ID_MODEL_FROM_DATABASE=802.11bgn 1T1R Mini Card Wireless Adapter
+
+usb:v0DB0p6970*
+ ID_MODEL_FROM_DATABASE=MS-6970 BToes Bluetooth adapter
+
+usb:v0DB0p697A*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle
+
+usb:v0DB0p6982*
+ ID_MODEL_FROM_DATABASE=Medion Flash XL Card Reader
+
+usb:v0DB0pA861*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v0DB0pA874*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v0DB0pA970*
+ ID_MODEL_FROM_DATABASE=Bluetooth dongle
+
+usb:v0DB0pA97A*
+ ID_MODEL_FROM_DATABASE=Bluetooth EDR Device
+
+usb:v0DB0pB970*
+ ID_MODEL_FROM_DATABASE=Bluetooth EDR Device
+
+usb:v0DB0pB97A*
+ ID_MODEL_FROM_DATABASE=Bluetooth EDR Device
+
+usb:v0DB1*
+ ID_VENDOR_FROM_DATABASE=Wen Te Electronics Co., Ltd
+
+usb:v0DB2*
+ ID_VENDOR_FROM_DATABASE=Shian Hwi Plug Parts, Plastic Factory
+
+usb:v0DB3*
+ ID_VENDOR_FROM_DATABASE=Tekram Technology Co., Ltd
+
+usb:v0DB4*
+ ID_VENDOR_FROM_DATABASE=Chung Fu Chen Yeh Enterprise Corp.
+
+usb:v0DB7*
+ ID_VENDOR_FROM_DATABASE=ELCON Systemtechnik
+
+usb:v0DB7p0002*
+ ID_MODEL_FROM_DATABASE=Goldpfeil P-LAN
+
+usb:v0DBC*
+ ID_VENDOR_FROM_DATABASE=A&D Medical
+
+usb:v0DBCp0003*
+ ID_MODEL_FROM_DATABASE=AND Serial Cable [AND Smart Cable]
+
+usb:v0DBE*
+ ID_VENDOR_FROM_DATABASE=Jiuh Shiuh Precision Industry Co., Ltd
+
+usb:v0DBF*
+ ID_VENDOR_FROM_DATABASE=Jess-Link International
+
+usb:v0DBFp0002*
+ ID_MODEL_FROM_DATABASE=SmartDongle Security Key
+
+usb:v0DBFp0200*
+ ID_MODEL_FROM_DATABASE=HDD Storage Solution
+
+usb:v0DBFp021B*
+ ID_MODEL_FROM_DATABASE=USB-2.0 IDE Adapter
+
+usb:v0DBFp0300*
+ ID_MODEL_FROM_DATABASE=Storage Adapter
+
+usb:v0DBFp0333*
+ ID_MODEL_FROM_DATABASE=Storage Adapter
+
+usb:v0DBFp0707*
+ ID_MODEL_FROM_DATABASE=ZIV Drive
+
+usb:v0DC0*
+ ID_VENDOR_FROM_DATABASE=G7 Solutions (formerly Great Notions)
+
+usb:v0DC1*
+ ID_VENDOR_FROM_DATABASE=Tamagawa Seiki Co., Ltd
+
+usb:v0DC3*
+ ID_VENDOR_FROM_DATABASE=Athena Smartcard Solutions, Inc.
+
+usb:v0DC3p0801*
+ ID_MODEL_FROM_DATABASE=ASEDrive III
+
+usb:v0DC3p0802*
+ ID_MODEL_FROM_DATABASE=ASEDrive IIIe
+
+usb:v0DC3p1104*
+ ID_MODEL_FROM_DATABASE=ASEDrive IIIe KB
+
+usb:v0DC3p1701*
+ ID_MODEL_FROM_DATABASE=ASEKey
+
+usb:v0DC3p1702*
+ ID_MODEL_FROM_DATABASE=ASEKey
+
+usb:v0DC4*
+ ID_VENDOR_FROM_DATABASE=Macpower Peripherals, Ltd
+
+usb:v0DC4p0040*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0DC4p0041*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0DC4p0042*
+ ID_MODEL_FROM_DATABASE=Mass Storage Device
+
+usb:v0DC4p0101*
+ ID_MODEL_FROM_DATABASE=Hi-Speed Mass Storage Device
+
+usb:v0DC4p020A*
+ ID_MODEL_FROM_DATABASE=Oyen Digital MiniPro 2.5" hard drive enclosure
+
+usb:v0DC5*
+ ID_VENDOR_FROM_DATABASE=SDK Co., Ltd
+
+usb:v0DC6*
+ ID_VENDOR_FROM_DATABASE=Precision Squared Technology Corp.
+
+usb:v0DC6p2301*
+ ID_MODEL_FROM_DATABASE=Wireless Touchpad Keyboard
+
+usb:v0DC7*
+ ID_VENDOR_FROM_DATABASE=First Cable Line, Inc.
+
+usb:v0DCD*
+ ID_VENDOR_FROM_DATABASE=NetworkFab Corp.
+
+usb:v0DCDp0001*
+ ID_MODEL_FROM_DATABASE=Remote Interface Adapter
+
+usb:v0DCDp0002*
+ ID_MODEL_FROM_DATABASE=High Bandwidth Codec
+
+usb:v0DD0*
+ ID_VENDOR_FROM_DATABASE=Access Solutions
+
+usb:v0DD0p1002*
+ ID_MODEL_FROM_DATABASE=Triple Talk Speech Synthesizer
+
+usb:v0DD1*
+ ID_VENDOR_FROM_DATABASE=Contek Electronics Co., Ltd
+
+usb:v0DD2*
+ ID_VENDOR_FROM_DATABASE=Power Quotient International Co., Ltd
+
+usb:v0DD2p0003*
+ ID_MODEL_FROM_DATABASE=Mass Storage (P)
+
+usb:v0DD3*
+ ID_VENDOR_FROM_DATABASE=MediaQ
+
+usb:v0DD4*
+ ID_VENDOR_FROM_DATABASE=Custom Engineering SPA
+
+usb:v0DD5*
+ ID_VENDOR_FROM_DATABASE=California Micro Devices
+
+usb:v0DD7*
+ ID_VENDOR_FROM_DATABASE=Kocom Co., Ltd
+
+usb:v0DD8*
+ ID_VENDOR_FROM_DATABASE=Netac Technology Co., Ltd
+
+usb:v0DD8p1060*
+ ID_MODEL_FROM_DATABASE=USB-CF-Card
+
+usb:v0DD8pE007*
+ ID_MODEL_FROM_DATABASE=OnlyDisk U222 Pendrive
+
+usb:v0DD8pF607*
+ ID_MODEL_FROM_DATABASE=OnlyDisk U208 1G flash drive [U-SAFE]
+
+usb:v0DD9*
+ ID_VENDOR_FROM_DATABASE=HighSpeed Surfing
+
+usb:v0DDA*
+ ID_VENDOR_FROM_DATABASE=Integrated Circuit Solution, Inc.
+
+usb:v0DDAp0001*
+ ID_MODEL_FROM_DATABASE=Multi-Card Reader 6in1
+
+usb:v0DDAp0002*
+ ID_MODEL_FROM_DATABASE=Multi-Card Reader 7in1
+
+usb:v0DDAp0003*
+ ID_MODEL_FROM_DATABASE=Flash Disk
+
+usb:v0DDAp0005*
+ ID_MODEL_FROM_DATABASE=Internal Multi-Card Reader 6in1
+
+usb:v0DDAp0008*
+ ID_MODEL_FROM_DATABASE=SD single card reader
+
+usb:v0DDAp0009*
+ ID_MODEL_FROM_DATABASE=MS single card reader
+
+usb:v0DDAp000A*
+ ID_MODEL_FROM_DATABASE=MS+SD Dual Card Reader
+
+usb:v0DDAp000B*
+ ID_MODEL_FROM_DATABASE=SM single card reader
+
+usb:v0DDAp0101*
+ ID_MODEL_FROM_DATABASE=All-In-One Card Reader
+
+usb:v0DDAp0102*
+ ID_MODEL_FROM_DATABASE=All-In-One Card Reader
+
+usb:v0DDAp0301*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0DDAp0302*
+ ID_MODEL_FROM_DATABASE=Multi-Card MP3 Player
+
+usb:v0DDAp1001*
+ ID_MODEL_FROM_DATABASE=Multi-Flash Disk
+
+usb:v0DDAp2001*
+ ID_MODEL_FROM_DATABASE=Multi-Card Reader
+
+usb:v0DDAp2002*
+ ID_MODEL_FROM_DATABASE=Q018 default PID
+
+usb:v0DDAp2003*
+ ID_MODEL_FROM_DATABASE=Multi-Card Reader
+
+usb:v0DDAp2005*
+ ID_MODEL_FROM_DATABASE=Datalux DLX-1611 16in1 Card Reader
+
+usb:v0DDAp2006*
+ ID_MODEL_FROM_DATABASE=All-In-One Card Reader
+
+usb:v0DDAp2007*
+ ID_MODEL_FROM_DATABASE=USB to ATAPI bridge
+
+usb:v0DDAp2008*
+ ID_MODEL_FROM_DATABASE=All-In-One Card Reader
+
+usb:v0DDAp2013*
+ ID_MODEL_FROM_DATABASE=SD/MS Combo Card Reader
+
+usb:v0DDAp2014*
+ ID_MODEL_FROM_DATABASE=SD/MS Single Card Reader
+
+usb:v0DDAp2023*
+ ID_MODEL_FROM_DATABASE=card reader SD/MS DEMO board with ICSI brand name (MaskROM version)
+
+usb:v0DDAp2024*
+ ID_MODEL_FROM_DATABASE=card reader SD/MS DEMO board with Generic brand name (MaskROM version)
+
+usb:v0DDAp2026*
+ ID_MODEL_FROM_DATABASE=USB2.0 Card Reader
+
+usb:v0DDAp2027*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Card Reader
+
+usb:v0DDAp2315*
+ ID_MODEL_FROM_DATABASE=UFD MP3 player (model 2)
+
+usb:v0DDAp2318*
+ ID_MODEL_FROM_DATABASE=UFD MP3 player (model 1)
+
+usb:v0DDAp2321*
+ ID_MODEL_FROM_DATABASE=UFD MP3 player
+
+usb:v0DDB*
+ ID_VENDOR_FROM_DATABASE=Tamarack, Inc.
+
+usb:v0DDD*
+ ID_VENDOR_FROM_DATABASE=Datelink Technology Co., Ltd
+
+usb:v0DDE*
+ ID_VENDOR_FROM_DATABASE=Ubicom, Inc.
+
+usb:v0DE0*
+ ID_VENDOR_FROM_DATABASE=BD Consumer Healthcare
+
+usb:v0DE7*
+ ID_VENDOR_FROM_DATABASE=USBmicro
+
+usb:v0DE7p0191*
+ ID_MODEL_FROM_DATABASE=U401 Interface card
+
+usb:v0DE7p01A5*
+ ID_MODEL_FROM_DATABASE=U421 interface card
+
+usb:v0DE7p01C3*
+ ID_MODEL_FROM_DATABASE=U451 relay interface card
+
+usb:v0DEA*
+ ID_VENDOR_FROM_DATABASE=UTECH Electronic (D.G.) Co., Ltd.
+
+usb:v0DED*
+ ID_VENDOR_FROM_DATABASE=Novasonics
+
+usb:v0DEE*
+ ID_VENDOR_FROM_DATABASE=Lifetime Memory Products
+
+usb:v0DEEp4010*
+ ID_MODEL_FROM_DATABASE=Storage Adapter
+
+usb:v0DEF*
+ ID_VENDOR_FROM_DATABASE=Full Rise Electronic Co., Ltd
+
+usb:v0DF4*
+ ID_VENDOR_FROM_DATABASE=NET&SYS
+
+usb:v0DF4p0201*
+ ID_MODEL_FROM_DATABASE=MNG-2005
+
+usb:v0DF6*
+ ID_VENDOR_FROM_DATABASE=Sitecom Europe B.V.
+
+usb:v0DF6p0001*
+ ID_MODEL_FROM_DATABASE=C-Media VOIP Device
+
+usb:v0DF6p0004*
+ ID_MODEL_FROM_DATABASE=Bluetooth 2.0 Adapter 100m
+
+usb:v0DF6p0007*
+ ID_MODEL_FROM_DATABASE=Bluetooth 2.0 Adapter 10m
+
+usb:v0DF6p000B*
+ ID_MODEL_FROM_DATABASE=Bluetooth 2.0 Adapter DFU
+
+usb:v0DF6p000D*
+ ID_MODEL_FROM_DATABASE=WL-168 Wireless Network Adapter 54g
+
+usb:v0DF6p0017*
+ ID_MODEL_FROM_DATABASE=WL-182 Wireless-N Network USB Card
+
+usb:v0DF6p0019*
+ ID_MODEL_FROM_DATABASE=Bluetooth 2.0 adapter 10m CN-512v2 001
+
+usb:v0DF6p001A*
+ ID_MODEL_FROM_DATABASE=Bluetooth 2.0 adapter 100m CN-521v2 001
+
+usb:v0DF6p002B*
+ ID_MODEL_FROM_DATABASE=WL-188 Wireless Network 300N USB Adapter
+
+usb:v0DF6p002C*
+ ID_MODEL_FROM_DATABASE=WL-301 Wireless Network 300N USB Adapter
+
+usb:v0DF6p002D*
+ ID_MODEL_FROM_DATABASE=WL-302 Wireless Network 300N USB dongle
+
+usb:v0DF6p0036*
+ ID_MODEL_FROM_DATABASE=WL-603 Wireless Adapter
+
+usb:v0DF6p0039*
+ ID_MODEL_FROM_DATABASE=WL-315 Wireless-N USB Adapter
+
+usb:v0DF6p003B*
+ ID_MODEL_FROM_DATABASE=WL-321 Wireless USB Gaming Adapter 300N
+
+usb:v0DF6p003C*
+ ID_MODEL_FROM_DATABASE=WL-323 Wireless-N USB Adapter
+
+usb:v0DF6p003D*
+ ID_MODEL_FROM_DATABASE=WL-324 Wireless USB Adapter 300N
+
+usb:v0DF6p003E*
+ ID_MODEL_FROM_DATABASE=WL-343 Wireless USB Adapter 150N X1
+
+usb:v0DF6p003F*
+ ID_MODEL_FROM_DATABASE=WL-608 Wireless USB Adapter 54g
+
+usb:v0DF6p0040*
+ ID_MODEL_FROM_DATABASE=WL-344 Wireless Adapter 300N X2 [Ralink RT3071]
+
+usb:v0DF6p0041*
+ ID_MODEL_FROM_DATABASE=WL-329 Wireless Dualband USB adapter 300N
+
+usb:v0DF6p0042*
+ ID_MODEL_FROM_DATABASE=WL-345 Wireless USB adapter 300N X3
+
+usb:v0DF6p0045*
+ ID_MODEL_FROM_DATABASE=WL-353 Wireless USB Adapter 150N Nano
+
+usb:v0DF6p0047*
+ ID_MODEL_FROM_DATABASE=WL-352v1 Wireless USB Adapter 300N 002
+
+usb:v0DF6p0048*
+ ID_MODEL_FROM_DATABASE=WL-349v1 Wireless Adapter 150N 002 [Ralink RT3070]
+
+usb:v0DF6p0049*
+ ID_MODEL_FROM_DATABASE=WL-356 Wireless Adapter 300N
+
+usb:v0DF6p004A*
+ ID_MODEL_FROM_DATABASE=WL-358v1 Wireless Micro USB Adapter 300N X3 002
+
+usb:v0DF6p004B*
+ ID_MODEL_FROM_DATABASE=WL-349v3 Wireless Micro Adapter 150N X1 [Realtek RTL8192SU]
+
+usb:v0DF6p004C*
+ ID_MODEL_FROM_DATABASE=WL-352 802.11n Adapter [Realtek RTL8191SU]
+
+usb:v0DF6p0050*
+ ID_MODEL_FROM_DATABASE=WL-349v4 Wireless Micro Adapter 150N X1 [Ralink RT3370]
+
+usb:v0DF6p0056*
+ ID_MODEL_FROM_DATABASE=LN-031 10/100/1000 Ethernet Adapter
+
+usb:v0DF6p005D*
+ ID_MODEL_FROM_DATABASE=WLA-2000 v1.001 WLAN [RTL8191SU]
+
+usb:v0DF6p0060*
+ ID_MODEL_FROM_DATABASE=WLA-4000 802.11bgn [Ralink RT3072]
+
+usb:v0DF6p0062*
+ ID_MODEL_FROM_DATABASE=WLA-5000 802.11abgn [Ralink RT3572]
+
+usb:v0DF6p061C*
+ ID_MODEL_FROM_DATABASE=LN-028 Network USB 2.0 Adapter
+
+usb:v0DF6p21F4*
+ ID_MODEL_FROM_DATABASE=44 St Bluetooth Device
+
+usb:v0DF6p2200*
+ ID_MODEL_FROM_DATABASE=Sitecom bluetooth2.0 class 2 dongle CN-512
+
+usb:v0DF6p2208*
+ ID_MODEL_FROM_DATABASE=Sitecom bluetooth2.0 class 2 dongle CN-520
+
+usb:v0DF6p2209*
+ ID_MODEL_FROM_DATABASE=Sitecom bluetooth2.0 class 1 dongle CN-521
+
+usb:v0DF6p9071*
+ ID_MODEL_FROM_DATABASE=WL-113 rev 1 Wireless Network USB Adapter
+
+usb:v0DF6p9075*
+ ID_MODEL_FROM_DATABASE=WL-117 Hi-Speed USB Adapter
+
+usb:v0DF6p90AC*
+ ID_MODEL_FROM_DATABASE=WL-172 Wireless Network USB Adapter 54g Turbo
+
+usb:v0DF6p9712*
+ ID_MODEL_FROM_DATABASE=WL-113 rev 2 Wireless Network USB Adapter
+
+usb:v0DF7*
+ ID_VENDOR_FROM_DATABASE=Mobile Action Technology, Inc.
+
+usb:v0DF7p0620*
+ ID_MODEL_FROM_DATABASE=MA-620 Infrared Adapter
+
+usb:v0DF7p0700*
+ ID_MODEL_FROM_DATABASE=MA-700 Bluetooth Adapter
+
+usb:v0DF7p0720*
+ ID_MODEL_FROM_DATABASE=MA-720 Bluetooth Adapter
+
+usb:v0DF7p0722*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle
+
+usb:v0DF7p0730*
+ ID_MODEL_FROM_DATABASE=MA-730/MA-730G Bluetooth Adapter
+
+usb:v0DF7p0800*
+ ID_MODEL_FROM_DATABASE=Data Cable
+
+usb:v0DF7p0820*
+ ID_MODEL_FROM_DATABASE=Data Cable
+
+usb:v0DF7p0900*
+ ID_MODEL_FROM_DATABASE=MA i-gotU Travel Logger GPS
+
+usb:v0DF7p1800*
+ ID_MODEL_FROM_DATABASE=Generic Card Reader
+
+usb:v0DF7p1802*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v0DFA*
+ ID_VENDOR_FROM_DATABASE=Toyo Communication Equipment Co., Ltd
+
+usb:v0DFC*
+ ID_VENDOR_FROM_DATABASE=GeneralTouch Technology Co., Ltd
+
+usb:v0DFCp0001*
+ ID_MODEL_FROM_DATABASE=Touchscreen
+
+usb:v0E03*
+ ID_VENDOR_FROM_DATABASE=Nippon Systemware Co., Ltd
+
+usb:v0E08*
+ ID_VENDOR_FROM_DATABASE=Winbest Technology Co., Ltd
+
+usb:v0E0B*
+ ID_VENDOR_FROM_DATABASE=Amigo Technology Inc.
+
+usb:v0E0Bp9031*
+ ID_MODEL_FROM_DATABASE=802.11n Wireless USB Card
+
+usb:v0E0Bp9041*
+ ID_MODEL_FROM_DATABASE=802.11n Wireless USB Card
+
+usb:v0E0C*
+ ID_VENDOR_FROM_DATABASE=Gesytec
+
+usb:v0E0Cp0101*
+ ID_MODEL_FROM_DATABASE=LonUSB LonTalk Network Adapter
+
+usb:v0E0F*
+ ID_VENDOR_FROM_DATABASE=VMware, Inc.
+
+usb:v0E0Fp0001*
+ ID_MODEL_FROM_DATABASE=Device
+
+usb:v0E0Fp0002*
+ ID_MODEL_FROM_DATABASE=Virtual USB Hub
+
+usb:v0E0Fp0003*
+ ID_MODEL_FROM_DATABASE=Virtual Mouse
+
+usb:v0E0Fp0004*
+ ID_MODEL_FROM_DATABASE=Virtual CCID
+
+usb:v0E0Fp0005*
+ ID_MODEL_FROM_DATABASE=Virtual Mass Storage
+
+usb:v0E0Fp0006*
+ ID_MODEL_FROM_DATABASE=Virtual Keyboard
+
+usb:v0E0FpF80A*
+ ID_MODEL_FROM_DATABASE=Smoker FX2
+
+usb:v0E16*
+ ID_VENDOR_FROM_DATABASE=JMTek, LLC
+
+usb:v0E17*
+ ID_VENDOR_FROM_DATABASE=Walex Electronic, Ltd
+
+usb:v0E1A*
+ ID_VENDOR_FROM_DATABASE=Unisys
+
+usb:v0E1B*
+ ID_VENDOR_FROM_DATABASE=Crewave
+
+usb:v0E20*
+ ID_VENDOR_FROM_DATABASE=Pegasus Technologies Ltd.
+
+usb:v0E20p0101*
+ ID_MODEL_FROM_DATABASE=NoteTaker
+
+usb:v0E21*
+ ID_VENDOR_FROM_DATABASE=Cowon Systems, Inc.
+
+usb:v0E21p0300*
+ ID_MODEL_FROM_DATABASE=iAudio CW200
+
+usb:v0E21p0400*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0E21p0500*
+ ID_MODEL_FROM_DATABASE=iAudio M3
+
+usb:v0E21p0510*
+ ID_MODEL_FROM_DATABASE=iAudio X5, subpack USB port
+
+usb:v0E21p0513*
+ ID_MODEL_FROM_DATABASE=iAudio X5, side USB port
+
+usb:v0E21p0520*
+ ID_MODEL_FROM_DATABASE=iAudio M5, side USB port
+
+usb:v0E21p0601*
+ ID_MODEL_FROM_DATABASE=iAudio G3
+
+usb:v0E21p0681*
+ ID_MODEL_FROM_DATABASE=iAUDIO E2
+
+usb:v0E21p0700*
+ ID_MODEL_FROM_DATABASE=iAudio U3
+
+usb:v0E21p0751*
+ ID_MODEL_FROM_DATABASE=iAudio 7
+
+usb:v0E21p0760*
+ ID_MODEL_FROM_DATABASE=iAUDIO U5 / iAUDIO G2
+
+usb:v0E21p0800*
+ ID_MODEL_FROM_DATABASE=Cowon D2 (UMS mode)
+
+usb:v0E21p0801*
+ ID_MODEL_FROM_DATABASE=Cowon D2 (MTP mode)
+
+usb:v0E21p0910*
+ ID_MODEL_FROM_DATABASE=iAUDIO 9
+
+usb:v0E21p0920*
+ ID_MODEL_FROM_DATABASE=J3
+
+usb:v0E22*
+ ID_VENDOR_FROM_DATABASE=Symbian Ltd.
+
+usb:v0E23*
+ ID_VENDOR_FROM_DATABASE=Liou Yuane Enterprise Co., Ltd
+
+usb:v0E25*
+ ID_VENDOR_FROM_DATABASE=VinChip Systems, Inc.
+
+usb:v0E26*
+ ID_VENDOR_FROM_DATABASE=J-Phone East Co., Ltd
+
+usb:v0E30*
+ ID_VENDOR_FROM_DATABASE=HeartMath LLC
+
+usb:v0E34*
+ ID_VENDOR_FROM_DATABASE=Micro Computer Control Corp.
+
+usb:v0E35*
+ ID_VENDOR_FROM_DATABASE=3Pea Technologies, Inc.
+
+usb:v0E36*
+ ID_VENDOR_FROM_DATABASE=TiePie engineering
+
+usb:v0E36p0008*
+ ID_MODEL_FROM_DATABASE=Handyscope HS3
+
+usb:v0E36p0009*
+ ID_MODEL_FROM_DATABASE=Handyscope HS3 (br)
+
+usb:v0E36p000A*
+ ID_MODEL_FROM_DATABASE=Handyscope HS4
+
+usb:v0E36p000B*
+ ID_MODEL_FROM_DATABASE=Handyscope HS4 (br)
+
+usb:v0E36p000E*
+ ID_MODEL_FROM_DATABASE=Handyscope HS4-DIFF
+
+usb:v0E36p000F*
+ ID_MODEL_FROM_DATABASE=Handyscope HS4-DIFF (br)
+
+usb:v0E36p0010*
+ ID_MODEL_FROM_DATABASE=Handyscope HS2
+
+usb:v0E36p0011*
+ ID_MODEL_FROM_DATABASE=TiePieSCOPE HS805 (br)
+
+usb:v0E36p0012*
+ ID_MODEL_FROM_DATABASE=TiePieSCOPE HS805
+
+usb:v0E36p0013*
+ ID_MODEL_FROM_DATABASE=Handyprobe HP3
+
+usb:v0E36p0014*
+ ID_MODEL_FROM_DATABASE=Handyprobe HP3
+
+usb:v0E36p0018*
+ ID_MODEL_FROM_DATABASE=Handyprobe HP2
+
+usb:v0E36p001B*
+ ID_MODEL_FROM_DATABASE=Handyscope HS5
+
+usb:v0E36p0042*
+ ID_MODEL_FROM_DATABASE=TiePieSCOPE HS801
+
+usb:v0E36p00FD*
+ ID_MODEL_FROM_DATABASE=USB To Parallel adapter
+
+usb:v0E36p00FE*
+ ID_MODEL_FROM_DATABASE=USB To Parallel adapter
+
+usb:v0E38*
+ ID_VENDOR_FROM_DATABASE=Stratitec, Inc.
+
+usb:v0E39*
+ ID_VENDOR_FROM_DATABASE=Smart Modular Technologies, Inc.
+
+usb:v0E39p0137*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v0E3A*
+ ID_VENDOR_FROM_DATABASE=Neostar Technology Co., Ltd
+
+usb:v0E3Ap1100*
+ ID_MODEL_FROM_DATABASE=CW-1100 Wireless Network Adapter
+
+usb:v0E3B*
+ ID_VENDOR_FROM_DATABASE=Mansella, Ltd
+
+usb:v0E41*
+ ID_VENDOR_FROM_DATABASE=Line6, Inc.
+
+usb:v0E41p4147*
+ ID_MODEL_FROM_DATABASE=TonePort GX
+
+usb:v0E41p414D*
+ ID_MODEL_FROM_DATABASE=Pod HD500
+
+usb:v0E41p4156*
+ ID_MODEL_FROM_DATABASE=POD HD Desktop
+
+usb:v0E41p4250*
+ ID_MODEL_FROM_DATABASE=BassPODxt
+
+usb:v0E41p4252*
+ ID_MODEL_FROM_DATABASE=BassPODxt Pro
+
+usb:v0E41p4642*
+ ID_MODEL_FROM_DATABASE=BassPODxt Live
+
+usb:v0E41p4650*
+ ID_MODEL_FROM_DATABASE=PODxt Live
+
+usb:v0E41p4750*
+ ID_MODEL_FROM_DATABASE=GuitarPort
+
+usb:v0E41p5044*
+ ID_MODEL_FROM_DATABASE=PODxt
+
+usb:v0E41p5050*
+ ID_MODEL_FROM_DATABASE=PODxt Pro
+
+usb:v0E41p534D*
+ ID_MODEL_FROM_DATABASE=SeaMonkey
+
+usb:v0E44*
+ ID_VENDOR_FROM_DATABASE=Sun-Riseful Technology Co., Ltd.
+
+usb:v0E48*
+ ID_VENDOR_FROM_DATABASE=Julia Corp., Ltd
+
+usb:v0E48p0100*
+ ID_MODEL_FROM_DATABASE=CardPro SmartCard Reader
+
+usb:v0E4A*
+ ID_VENDOR_FROM_DATABASE=Shenzhen Bao Hing Electric Wire & Cable Mfr. Co.
+
+usb:v0E4C*
+ ID_VENDOR_FROM_DATABASE=Radica Games, Ltd
+
+usb:v0E4Cp1097*
+ ID_MODEL_FROM_DATABASE=Gamester Controller
+
+usb:v0E4Cp2390*
+ ID_MODEL_FROM_DATABASE=Games Jtech Controller
+
+usb:v0E4Cp7288*
+ ID_MODEL_FROM_DATABASE=funkey reader
+
+usb:v0E50*
+ ID_VENDOR_FROM_DATABASE=TechnoData Interware
+
+usb:v0E50p0002*
+ ID_MODEL_FROM_DATABASE=Matrixlock Dongle (HID)
+
+usb:v0E55*
+ ID_VENDOR_FROM_DATABASE=Speed Dragon Multimedia, Ltd
+
+usb:v0E55p110A*
+ ID_MODEL_FROM_DATABASE=Tanic S110-SG1 + ISSC IS1002N [Slow Infra-Red (SIR) & Bluetooth 1.2 (Class 2) Adapter]
+
+usb:v0E55p110B*
+ ID_MODEL_FROM_DATABASE=MS3303H USB-to-Serial Bridge
+
+usb:v0E56*
+ ID_VENDOR_FROM_DATABASE=Kingston Technology Company, Inc.
+
+usb:v0E56p6021*
+ ID_MODEL_FROM_DATABASE=K-PEX 100
+
+usb:v0E5A*
+ ID_VENDOR_FROM_DATABASE=Active Co., Ltd
+
+usb:v0E5B*
+ ID_VENDOR_FROM_DATABASE=Union Power Information Industrial Co., Ltd
+
+usb:v0E5C*
+ ID_VENDOR_FROM_DATABASE=Bitland Information Technology Co., Ltd
+
+usb:v0E5Cp6118*
+ ID_MODEL_FROM_DATABASE=LCD Device
+
+usb:v0E5Cp6119*
+ ID_MODEL_FROM_DATABASE=remote receive and control device
+
+usb:v0E5Cp6441*
+ ID_MODEL_FROM_DATABASE=C-Media Sound Device
+
+usb:v0E5D*
+ ID_VENDOR_FROM_DATABASE=Neltron Industrial Co., Ltd
+
+usb:v0E5E*
+ ID_VENDOR_FROM_DATABASE=Conwise Technology Co., Ltd.
+
+usb:v0E5Ep6622*
+ ID_MODEL_FROM_DATABASE=CW6622
+
+usb:v0E66*
+ ID_VENDOR_FROM_DATABASE=Hawking Technologies
+
+usb:v0E66p0001*
+ ID_MODEL_FROM_DATABASE=HWUN1 Hi-Gain Wireless-300N Adapter w/ Upgradable Antenna [Ralink RT2870]
+
+usb:v0E66p0003*
+ ID_MODEL_FROM_DATABASE=HWDN1 Hi-Gain Wireless-300N Dish Adapter [Ralink RT2870]
+
+usb:v0E66p0009*
+ ID_MODEL_FROM_DATABASE=HWUN2 Hi-Gain Wireless-150N Adapter w/ Upgradable Antenna [Ralink RT2770]
+
+usb:v0E66p000B*
+ ID_MODEL_FROM_DATABASE=HWDN2 Hi-Gain Wireless-150N Dish Adapter [Ralink RT2770]
+
+usb:v0E66p0013*
+ ID_MODEL_FROM_DATABASE=HWUN3 Hi-Gain Wireless-N Adapter [Ralink RT3070]
+
+usb:v0E66p0015*
+ ID_MODEL_FROM_DATABASE=HWDN2 Rev. E Hi-Gain Wireless-150N Dish Adapter [Realtek RTL8191SU]
+
+usb:v0E66p0017*
+ ID_MODEL_FROM_DATABASE=HAWNU1 Hi-Gain Wireless-150N Network Adapter with Range Amplifier [Ralink RT3070]
+
+usb:v0E66p0018*
+ ID_MODEL_FROM_DATABASE=Wireless-N Network Adapter [Ralink RT2870]
+
+usb:v0E66p400B*
+ ID_MODEL_FROM_DATABASE=UF100 10/100 Network Adapter
+
+usb:v0E66p400C*
+ ID_MODEL_FROM_DATABASE=UF100 Ethernet [pegasus2]
+
+usb:v0E67*
+ ID_VENDOR_FROM_DATABASE=Fossil, Inc.
+
+usb:v0E67p0002*
+ ID_MODEL_FROM_DATABASE=Wrist PDA
+
+usb:v0E6A*
+ ID_VENDOR_FROM_DATABASE=Megawin Technology Co., Ltd
+
+usb:v0E6Ap0101*
+ ID_MODEL_FROM_DATABASE=MA100 [USB-UART Bridge IC]
+
+usb:v0E6Ap6001*
+ ID_MODEL_FROM_DATABASE=GEMBIRD Flexible keyboard KB-109F-B-DE
+
+usb:v0E6F*
+ ID_VENDOR_FROM_DATABASE=Logic3
+
+usb:v0E6Fp0003*
+ ID_MODEL_FROM_DATABASE=Freebird wireless Controller
+
+usb:v0E6Fp0005*
+ ID_MODEL_FROM_DATABASE=Eclipse wireless Controller
+
+usb:v0E6Fp0006*
+ ID_MODEL_FROM_DATABASE=Edge wireless Controller
+
+usb:v0E70*
+ ID_VENDOR_FROM_DATABASE=Tokyo Electronic Industry Co., Ltd
+
+usb:v0E72*
+ ID_VENDOR_FROM_DATABASE=Hsi-Chin Electronics Co., Ltd
+
+usb:v0E75*
+ ID_VENDOR_FROM_DATABASE=TVS Electronics, Ltd
+
+usb:v0E79*
+ ID_VENDOR_FROM_DATABASE=Archos, Inc.
+
+usb:v0E79p1106*
+ ID_MODEL_FROM_DATABASE=Pocket Media Assistant - PMA400
+
+usb:v0E79p1204*
+ ID_MODEL_FROM_DATABASE=Gmini XS 200
+
+usb:v0E79p1306*
+ ID_MODEL_FROM_DATABASE=504 Portable Multimedia Player
+
+usb:v0E79p1330*
+ ID_MODEL_FROM_DATABASE=5 Tablet
+
+usb:v0E79p1332*
+ ID_MODEL_FROM_DATABASE=5 IMT
+
+usb:v0E79p1416*
+ ID_MODEL_FROM_DATABASE=32 IT
+
+usb:v0E79p1417*
+ ID_MODEL_FROM_DATABASE=A43 IT
+
+usb:v0E79p150E*
+ ID_MODEL_FROM_DATABASE=80 G9
+
+usb:v0E7B*
+ ID_VENDOR_FROM_DATABASE=On-Tech Industry Co., Ltd
+
+usb:v0E7E*
+ ID_VENDOR_FROM_DATABASE=Gmate, Inc.
+
+usb:v0E7Ep0001*
+ ID_MODEL_FROM_DATABASE=Yopy 3000 PDA
+
+usb:v0E7Ep1001*
+ ID_MODEL_FROM_DATABASE=YP3X00 PDA
+
+usb:v0E82*
+ ID_VENDOR_FROM_DATABASE=Ching Tai Electric Wire & Cable Co., Ltd
+
+usb:v0E83*
+ ID_VENDOR_FROM_DATABASE=Shin An Wire & Cable Co.
+
+usb:v0E8C*
+ ID_VENDOR_FROM_DATABASE=Well Force Electronic Co., Ltd
+
+usb:v0E8D*
+ ID_VENDOR_FROM_DATABASE=MediaTek Inc.
+
+usb:v0E8Dp0003*
+ ID_MODEL_FROM_DATABASE=MT6227 phone
+
+usb:v0E8Dp0004*
+ ID_MODEL_FROM_DATABASE=MT6227 phone
+
+usb:v0E8Dp0023*
+ ID_MODEL_FROM_DATABASE=S103
+
+usb:v0E8Dp1806*
+ ID_MODEL_FROM_DATABASE=Samsung SE-208AB Slim Portable DVD Writer
+
+usb:v0E8Dp1836*
+ ID_MODEL_FROM_DATABASE=Samsung SE-S084 Super WriteMaster Slim External DVD writer
+
+usb:v0E8Dp3329*
+ ID_MODEL_FROM_DATABASE=Qstarz BT-Q1000XT
+
+usb:v0E8F*
+ ID_VENDOR_FROM_DATABASE=GreenAsia Inc.
+
+usb:v0E8Fp0003*
+ ID_MODEL_FROM_DATABASE=MaxFire Blaze2
+
+usb:v0E8Fp0012*
+ ID_MODEL_FROM_DATABASE=USB Wireless 2.4GHz Gamepad
+
+usb:v0E8Fp0016*
+ ID_MODEL_FROM_DATABASE=4 port USB 1.1 hub UH-174
+
+usb:v0E8Fp0020*
+ ID_MODEL_FROM_DATABASE=USB to PS/2 Adapter
+
+usb:v0E8Fp0021*
+ ID_MODEL_FROM_DATABASE=Multimedia Keyboard Controller
+
+usb:v0E8Fp0201*
+ ID_MODEL_FROM_DATABASE=SmartJoy Frag Xpad/PS2 adaptor
+
+usb:v0E90*
+ ID_VENDOR_FROM_DATABASE=WiebeTech, LLC
+
+usb:v0E90p0100*
+ ID_MODEL_FROM_DATABASE=Storage Adapter V1
+
+usb:v0E91*
+ ID_VENDOR_FROM_DATABASE=VTech Engineering Canada, Ltd
+
+usb:v0E92*
+ ID_VENDOR_FROM_DATABASE=C's Glory Enterprise Co., Ltd
+
+usb:v0E93*
+ ID_VENDOR_FROM_DATABASE=eM Technics Co., Ltd
+
+usb:v0E95*
+ ID_VENDOR_FROM_DATABASE=Future Technology Co., Ltd
+
+usb:v0E96*
+ ID_VENDOR_FROM_DATABASE=Aplux Communications, Ltd
+
+usb:v0E96pC001*
+ ID_MODEL_FROM_DATABASE=TRUST 380 USB2 SPACEC@M
+
+usb:v0E97*
+ ID_VENDOR_FROM_DATABASE=Fingerworks, Inc.
+
+usb:v0E97p0908*
+ ID_MODEL_FROM_DATABASE=Composite HID (Keyboard and Mouse)
+
+usb:v0E98*
+ ID_VENDOR_FROM_DATABASE=Advanced Analogic Technologies, Inc.
+
+usb:v0E99*
+ ID_VENDOR_FROM_DATABASE=Parallel Dice Co., Ltd
+
+usb:v0E9A*
+ ID_VENDOR_FROM_DATABASE=TA HSING Industries, Ltd
+
+usb:v0E9B*
+ ID_VENDOR_FROM_DATABASE=ADTEC Corp.
+
+usb:v0E9C*
+ ID_VENDOR_FROM_DATABASE=Streamzap, Inc.
+
+usb:v0E9Cp0000*
+ ID_MODEL_FROM_DATABASE=Streamzap Remote Control
+
+usb:v0E9F*
+ ID_VENDOR_FROM_DATABASE=Tamura Corp.
+
+usb:v0EA0*
+ ID_VENDOR_FROM_DATABASE=Ours Technology, Inc.
+
+usb:v0EA0p2126*
+ ID_MODEL_FROM_DATABASE=7-in-1 Card Reader
+
+usb:v0EA0p2153*
+ ID_MODEL_FROM_DATABASE=SD Card Reader Key
+
+usb:v0EA0p2168*
+ ID_MODEL_FROM_DATABASE=Transcend JetFlash 2.0 / Astone USB Drive
+
+usb:v0EA0p6803*
+ ID_MODEL_FROM_DATABASE=OTI-6803 Flash Disk
+
+usb:v0EA0p6808*
+ ID_MODEL_FROM_DATABASE=OTI-6808 Flash Disk
+
+usb:v0EA0p6828*
+ ID_MODEL_FROM_DATABASE=OTI-6828 Flash Disk
+
+usb:v0EA0p6858*
+ ID_MODEL_FROM_DATABASE=OTi-6858 serial adapter
+
+usb:v0EA6*
+ ID_VENDOR_FROM_DATABASE=Nihon Computer Co., Ltd
+
+usb:v0EA7*
+ ID_VENDOR_FROM_DATABASE=MSL Enterprises Corp.
+
+usb:v0EA8*
+ ID_VENDOR_FROM_DATABASE=CenDyne, Inc.
+
+usb:v0EAD*
+ ID_VENDOR_FROM_DATABASE=Humax Co., Ltd
+
+usb:v0EB0*
+ ID_VENDOR_FROM_DATABASE=NovaTech
+
+usb:v0EB0p9020*
+ ID_MODEL_FROM_DATABASE=NovaTech NV-902W
+
+usb:v0EB0p9021*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v0EB1*
+ ID_VENDOR_FROM_DATABASE=WIS Technologies, Inc.
+
+usb:v0EB1p6666*
+ ID_MODEL_FROM_DATABASE=WinFast WalkieTV TV Loader
+
+usb:v0EB1p6668*
+ ID_MODEL_FROM_DATABASE=WinFast WalkieTV TV Loader
+
+usb:v0EB1p7007*
+ ID_MODEL_FROM_DATABASE=WinFast WalkieTV WDM Capture
+
+usb:v0EB2*
+ ID_VENDOR_FROM_DATABASE=Y-S Electronic Co., Ltd
+
+usb:v0EB3*
+ ID_VENDOR_FROM_DATABASE=Saint Technology Corp.
+
+usb:v0EB7*
+ ID_VENDOR_FROM_DATABASE=Endor AG
+
+usb:v0EB8*
+ ID_VENDOR_FROM_DATABASE=Mettler Toledo
+
+usb:v0EB8pF000*
+ ID_MODEL_FROM_DATABASE=PS60 Scale
+
+usb:v0EBE*
+ ID_VENDOR_FROM_DATABASE=VWeb Corp.
+
+usb:v0EBF*
+ ID_VENDOR_FROM_DATABASE=Omega Technology of Taiwan, Inc.
+
+usb:v0EC0*
+ ID_VENDOR_FROM_DATABASE=LHI Technology (China) Co., Ltd
+
+usb:v0EC1*
+ ID_VENDOR_FROM_DATABASE=Abit Computer Corp.
+
+usb:v0EC2*
+ ID_VENDOR_FROM_DATABASE=Sweetray Industrial, Ltd
+
+usb:v0EC3*
+ ID_VENDOR_FROM_DATABASE=Axell Co., Ltd
+
+usb:v0EC4*
+ ID_VENDOR_FROM_DATABASE=Ballracing Developments, Ltd
+
+usb:v0EC5*
+ ID_VENDOR_FROM_DATABASE=GT Information System Co., Ltd
+
+usb:v0EC6*
+ ID_VENDOR_FROM_DATABASE=InnoVISION Multimedia, Ltd
+
+usb:v0EC7*
+ ID_VENDOR_FROM_DATABASE=Theta Link Corp.
+
+usb:v0EC7p1008*
+ ID_MODEL_FROM_DATABASE=So., Show 301 Digital Camera
+
+usb:v0ECD*
+ ID_VENDOR_FROM_DATABASE=Lite-On IT Corp.
+
+usb:v0ECDp1400*
+ ID_MODEL_FROM_DATABASE=CD\RW 40X
+
+usb:v0ECDpA100*
+ ID_MODEL_FROM_DATABASE=LDW-411SX DVD/CD Rewritable Drive
+
+usb:v0ECE*
+ ID_VENDOR_FROM_DATABASE=TaiSol Electronics Co., Ltd
+
+usb:v0ECF*
+ ID_VENDOR_FROM_DATABASE=Phogenix Imaging, LLC
+
+usb:v0ED1*
+ ID_VENDOR_FROM_DATABASE=WinMaxGroup
+
+usb:v0ED1p6660*
+ ID_MODEL_FROM_DATABASE=Flash Disk 64M-C
+
+usb:v0ED1p6680*
+ ID_MODEL_FROM_DATABASE=Flash Disk 64M-B
+
+usb:v0ED1p7634*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v0ED2*
+ ID_VENDOR_FROM_DATABASE=Kyoto Micro Computer Co., Ltd
+
+usb:v0ED3*
+ ID_VENDOR_FROM_DATABASE=Wing-Tech Enterprise Co., Ltd
+
+usb:v0ED5*
+ ID_VENDOR_FROM_DATABASE=Fiberbyte
+
+usb:v0ED5pE000*
+ ID_MODEL_FROM_DATABASE=USB-inSync Device
+
+usb:v0ED5pF000*
+ ID_MODEL_FROM_DATABASE=Fiberbyte USB-inSync Device
+
+usb:v0ED5pF201*
+ ID_MODEL_FROM_DATABASE=Fiberbyte USB-inSync DAQ-2500X
+
+usb:v0EDA*
+ ID_VENDOR_FROM_DATABASE=Noriake Itron Corp.
+
+usb:v0EDF*
+ ID_VENDOR_FROM_DATABASE=e-MDT Co., Ltd
+
+usb:v0EDFp2060*
+ ID_MODEL_FROM_DATABASE=FID irock! 100 Series
+
+usb:v0EE0*
+ ID_VENDOR_FROM_DATABASE=Shima Seiki Mfg., Ltd
+
+usb:v0EE1*
+ ID_VENDOR_FROM_DATABASE=Sarotech Co., Ltd
+
+usb:v0EE2*
+ ID_VENDOR_FROM_DATABASE=AMI Semiconductor, Inc.
+
+usb:v0EE3*
+ ID_VENDOR_FROM_DATABASE=ComTrue Technology Corp.
+
+usb:v0EE3p1000*
+ ID_MODEL_FROM_DATABASE=Image Tank 1.5
+
+usb:v0EE4*
+ ID_VENDOR_FROM_DATABASE=Sunrich Technology, Ltd
+
+usb:v0EEE*
+ ID_VENDOR_FROM_DATABASE=Digital Stream Technology, Inc.
+
+usb:v0EEEp8810*
+ ID_MODEL_FROM_DATABASE=Mass Storage Drive
+
+usb:v0EEF*
+ ID_VENDOR_FROM_DATABASE=D-WAV Scientific Co., Ltd
+
+usb:v0EEFp0001*
+ ID_MODEL_FROM_DATABASE=eGalax TouchScreen
+
+usb:v0EEFp0002*
+ ID_MODEL_FROM_DATABASE=Touchscreen Controller(Professional)
+
+usb:v0EF0*
+ ID_VENDOR_FROM_DATABASE=Hitachi Cable, Ltd
+
+usb:v0EF1*
+ ID_VENDOR_FROM_DATABASE=Aichi Micro Intelligent Corp.
+
+usb:v0EF2*
+ ID_VENDOR_FROM_DATABASE=I/O Magic Corp.
+
+usb:v0EF3*
+ ID_VENDOR_FROM_DATABASE=Lynn Products, Inc.
+
+usb:v0EF4*
+ ID_VENDOR_FROM_DATABASE=DSI Datotech
+
+usb:v0EF5*
+ ID_VENDOR_FROM_DATABASE=PointChips
+
+usb:v0EF5p2202*
+ ID_MODEL_FROM_DATABASE=Flash Disk
+
+usb:v0EF5p2366*
+ ID_MODEL_FROM_DATABASE=Flash Disk
+
+usb:v0EF6*
+ ID_VENDOR_FROM_DATABASE=Yield Microelectronics Corp.
+
+usb:v0EF7*
+ ID_VENDOR_FROM_DATABASE=SM Tech Co., Ltd (Tulip)
+
+usb:v0EFD*
+ ID_VENDOR_FROM_DATABASE=Oasis Semiconductor
+
+usb:v0EFE*
+ ID_VENDOR_FROM_DATABASE=Wem Technology, Inc.
+
+usb:v0F03*
+ ID_VENDOR_FROM_DATABASE=Unitek UPS Systems
+
+usb:v0F03p0001*
+ ID_MODEL_FROM_DATABASE=Alpha 1200Sx
+
+usb:v0F06*
+ ID_VENDOR_FROM_DATABASE=Visual Frontier Enterprise Co., Ltd
+
+usb:v0F08*
+ ID_VENDOR_FROM_DATABASE=CSL Wire & Plug (Shen Zhen) Co.
+
+usb:v0F0C*
+ ID_VENDOR_FROM_DATABASE=CAS Corp.
+
+usb:v0F0D*
+ ID_VENDOR_FROM_DATABASE=Hori Co., Ltd
+
+usb:v0F0Dp0011*
+ ID_MODEL_FROM_DATABASE=Real Arcade Pro 3
+
+usb:v0F0E*
+ ID_VENDOR_FROM_DATABASE=Energy Full Corp.
+
+usb:v0F11*
+ ID_VENDOR_FROM_DATABASE=LD Didactic GmbH
+
+usb:v0F11p1000*
+ ID_MODEL_FROM_DATABASE=CASSY-S
+
+usb:v0F11p1010*
+ ID_MODEL_FROM_DATABASE=Pocket-CASSY
+
+usb:v0F11p1020*
+ ID_MODEL_FROM_DATABASE=Mobile-CASSY
+
+usb:v0F11p1080*
+ ID_MODEL_FROM_DATABASE=Joule and Wattmeter
+
+usb:v0F11p1081*
+ ID_MODEL_FROM_DATABASE=Digital Multimeter P
+
+usb:v0F11p1090*
+ ID_MODEL_FROM_DATABASE=UMI P
+
+usb:v0F11p1100*
+ ID_MODEL_FROM_DATABASE=X-Ray Apparatus
+
+usb:v0F11p1101*
+ ID_MODEL_FROM_DATABASE=X-Ray Apparatus
+
+usb:v0F11p1200*
+ ID_MODEL_FROM_DATABASE=VideoCom
+
+usb:v0F11p2000*
+ ID_MODEL_FROM_DATABASE=COM3LAB
+
+usb:v0F11p2010*
+ ID_MODEL_FROM_DATABASE=Terminal Adapter
+
+usb:v0F11p2020*
+ ID_MODEL_FROM_DATABASE=Network Analyser
+
+usb:v0F11p2030*
+ ID_MODEL_FROM_DATABASE=Converter Control Unit
+
+usb:v0F11p2040*
+ ID_MODEL_FROM_DATABASE=Machine Test System
+
+usb:v0F12*
+ ID_VENDOR_FROM_DATABASE=Mars Engineering Corp.
+
+usb:v0F13*
+ ID_VENDOR_FROM_DATABASE=Acetek Technology Co., Ltd
+
+usb:v0F18*
+ ID_VENDOR_FROM_DATABASE=Finger Lakes Instrumentation
+
+usb:v0F18p0002*
+ ID_MODEL_FROM_DATABASE=CCD
+
+usb:v0F18p0006*
+ ID_MODEL_FROM_DATABASE=Focuser
+
+usb:v0F18p0007*
+ ID_MODEL_FROM_DATABASE=Filter Wheel
+
+usb:v0F18p000A*
+ ID_MODEL_FROM_DATABASE=ProLine CCD
+
+usb:v0F18p000B*
+ ID_MODEL_FROM_DATABASE=Color Filter Wheel 4
+
+usb:v0F18p000C*
+ ID_MODEL_FROM_DATABASE=PDF2
+
+usb:v0F18p000D*
+ ID_MODEL_FROM_DATABASE=Guider
+
+usb:v0F19*
+ ID_VENDOR_FROM_DATABASE=Oracom Co., Ltd
+
+usb:v0F1B*
+ ID_VENDOR_FROM_DATABASE=Onset Computer Corp.
+
+usb:v0F1C*
+ ID_VENDOR_FROM_DATABASE=Funai Electric Co., Ltd
+
+usb:v0F1D*
+ ID_VENDOR_FROM_DATABASE=Iwill Corp.
+
+usb:v0F21*
+ ID_VENDOR_FROM_DATABASE=IOI Technology Corp.
+
+usb:v0F22*
+ ID_VENDOR_FROM_DATABASE=Senior Industries, Inc.
+
+usb:v0F23*
+ ID_VENDOR_FROM_DATABASE=Leader Tech Manufacturer Co., Ltd
+
+usb:v0F24*
+ ID_VENDOR_FROM_DATABASE=Flex-P Industries, Snd., Bhd.
+
+usb:v0F2D*
+ ID_VENDOR_FROM_DATABASE=ViPower, Inc.
+
+usb:v0F2E*
+ ID_VENDOR_FROM_DATABASE=Geniality Maple Technology Co., Ltd
+
+usb:v0F2F*
+ ID_VENDOR_FROM_DATABASE=Priva Design Services
+
+usb:v0F30*
+ ID_VENDOR_FROM_DATABASE=Jess Technology Co., Ltd
+
+usb:v0F30p001C*
+ ID_MODEL_FROM_DATABASE=PS3 Guitar Controller Dongle
+
+usb:v0F30p0110*
+ ID_MODEL_FROM_DATABASE=Dual Analog Rumble Pad
+
+usb:v0F30p0111*
+ ID_MODEL_FROM_DATABASE=Colour Rumble Pad
+
+usb:v0F30p0208*
+ ID_MODEL_FROM_DATABASE=Xbox & PC Gamepad
+
+usb:v0F31*
+ ID_VENDOR_FROM_DATABASE=Chrysalis Development
+
+usb:v0F32*
+ ID_VENDOR_FROM_DATABASE=YFC-BonEagle Electric Co., Ltd
+
+usb:v0F37*
+ ID_VENDOR_FROM_DATABASE=Kokuyo Co., Ltd
+
+usb:v0F38*
+ ID_VENDOR_FROM_DATABASE=Nien-Yi Industrial Corp.
+
+usb:v0F3D*
+ ID_VENDOR_FROM_DATABASE=Airprime, Incorporated
+
+usb:v0F3Dp0112*
+ ID_MODEL_FROM_DATABASE=CDMA 1xEVDO PC Card, PC 5220
+
+usb:v0F41*
+ ID_VENDOR_FROM_DATABASE=RDC Semiconductor Co., Ltd
+
+usb:v0F42*
+ ID_VENDOR_FROM_DATABASE=Nital Consulting Services, Inc.
+
+usb:v0F44*
+ ID_VENDOR_FROM_DATABASE=Polhemus
+
+usb:v0F44pEF11*
+ ID_MODEL_FROM_DATABASE=Patriot (firmware not loaded)
+
+usb:v0F44pEF12*
+ ID_MODEL_FROM_DATABASE=Patriot
+
+usb:v0F44pFF11*
+ ID_MODEL_FROM_DATABASE=Liberty (firmware not loaded)
+
+usb:v0F44pFF12*
+ ID_MODEL_FROM_DATABASE=Liberty
+
+usb:v0F4B*
+ ID_VENDOR_FROM_DATABASE=St. John Technology Co., Ltd
+
+usb:v0F4C*
+ ID_VENDOR_FROM_DATABASE=WorldWide Cable Opto Corp.
+
+usb:v0F4D*
+ ID_VENDOR_FROM_DATABASE=Microtune, Inc.
+
+usb:v0F4Dp1000*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle
+
+usb:v0F4E*
+ ID_VENDOR_FROM_DATABASE=Freedom Scientific
+
+usb:v0F52*
+ ID_VENDOR_FROM_DATABASE=Wing Key Electrical Co., Ltd
+
+usb:v0F53*
+ ID_VENDOR_FROM_DATABASE=Dongguan White Horse Cable Factory, Ltd
+
+usb:v0F54*
+ ID_VENDOR_FROM_DATABASE=Kawai Musical Instruments Mfg. Co., Ltd
+
+usb:v0F55*
+ ID_VENDOR_FROM_DATABASE=AmbiCom, Inc.
+
+usb:v0F5C*
+ ID_VENDOR_FROM_DATABASE=Prairiecomm, Inc.
+
+usb:v0F5D*
+ ID_VENDOR_FROM_DATABASE=NewAge International, LLC
+
+usb:v0F5Dp9455*
+ ID_MODEL_FROM_DATABASE=Compact Drive
+
+usb:v0F5F*
+ ID_VENDOR_FROM_DATABASE=Key Technology Corp.
+
+usb:v0F60*
+ ID_VENDOR_FROM_DATABASE=NTK, Ltd
+
+usb:v0F61*
+ ID_VENDOR_FROM_DATABASE=Varian, Inc.
+
+usb:v0F62*
+ ID_VENDOR_FROM_DATABASE=Acrox Technologies Co., Ltd
+
+usb:v0F62p1001*
+ ID_MODEL_FROM_DATABASE=Targus Mini Trackball Optical Mouse
+
+usb:v0F63*
+ ID_VENDOR_FROM_DATABASE=LeapFrog Enterprises
+
+usb:v0F63p0010*
+ ID_MODEL_FROM_DATABASE=Leapster Explorer
+
+usb:v0F63p0500*
+ ID_MODEL_FROM_DATABASE=Fly Fusion
+
+usb:v0F63p0600*
+ ID_MODEL_FROM_DATABASE=Leap Port Turbo
+
+usb:v0F63p0700*
+ ID_MODEL_FROM_DATABASE=POGO
+
+usb:v0F63p0800*
+ ID_MODEL_FROM_DATABASE=Didj
+
+usb:v0F63p0900*
+ ID_MODEL_FROM_DATABASE=TAGSchool
+
+usb:v0F63p0A00*
+ ID_MODEL_FROM_DATABASE=Leapster 2
+
+usb:v0F63p0B00*
+ ID_MODEL_FROM_DATABASE=Crammer
+
+usb:v0F63p0C00*
+ ID_MODEL_FROM_DATABASE=Tag Jr
+
+usb:v0F63p0D00*
+ ID_MODEL_FROM_DATABASE=My Pal Scout
+
+usb:v0F63p0E00*
+ ID_MODEL_FROM_DATABASE=Tag32
+
+usb:v0F63p0F00*
+ ID_MODEL_FROM_DATABASE=Tag64
+
+usb:v0F63p1000*
+ ID_MODEL_FROM_DATABASE=Kiwi16
+
+usb:v0F63p1100*
+ ID_MODEL_FROM_DATABASE=Leapster L2x
+
+usb:v0F63p1111*
+ ID_MODEL_FROM_DATABASE=Fly Fusion
+
+usb:v0F63p1300*
+ ID_MODEL_FROM_DATABASE=Didj UK/France (Leapster Advance)
+
+usb:v0F68*
+ ID_VENDOR_FROM_DATABASE=Kobe Steel, Ltd
+
+usb:v0F69*
+ ID_VENDOR_FROM_DATABASE=Dionex Corp.
+
+usb:v0F6A*
+ ID_VENDOR_FROM_DATABASE=Vibren Technologies, Inc.
+
+usb:v0F6E*
+ ID_VENDOR_FROM_DATABASE=INTELLIGENT SYSTEMS
+
+usb:v0F6Ep0100*
+ ID_MODEL_FROM_DATABASE=GameBoy Color Emulator
+
+usb:v0F6Ep0201*
+ ID_MODEL_FROM_DATABASE=GameBoy Advance Flash Gang Writer
+
+usb:v0F6Ep0202*
+ ID_MODEL_FROM_DATABASE=GameBoy Advance Capture
+
+usb:v0F6Ep0300*
+ ID_MODEL_FROM_DATABASE=Gamecube DOL Viewer
+
+usb:v0F6Ep0400*
+ ID_MODEL_FROM_DATABASE=NDS Emulator
+
+usb:v0F6Ep0401*
+ ID_MODEL_FROM_DATABASE=NDS UIC
+
+usb:v0F6Ep0402*
+ ID_MODEL_FROM_DATABASE=NDS Writer
+
+usb:v0F6Ep0403*
+ ID_MODEL_FROM_DATABASE=NDS Capture
+
+usb:v0F6Ep0404*
+ ID_MODEL_FROM_DATABASE=NDS Emulator (Lite)
+
+usb:v0F73*
+ ID_VENDOR_FROM_DATABASE=DFI
+
+usb:v0F7C*
+ ID_VENDOR_FROM_DATABASE=DQ Technology, Inc.
+
+usb:v0F7D*
+ ID_VENDOR_FROM_DATABASE=NetBotz, Inc.
+
+usb:v0F7E*
+ ID_VENDOR_FROM_DATABASE=Fluke Corp.
+
+usb:v0F88*
+ ID_VENDOR_FROM_DATABASE=VTech Holdings, Ltd
+
+usb:v0F88p3012*
+ ID_MODEL_FROM_DATABASE=RT2570
+
+usb:v0F88p3014*
+ ID_MODEL_FROM_DATABASE=ZD1211B
+
+usb:v0F8B*
+ ID_VENDOR_FROM_DATABASE=Yazaki Corp.
+
+usb:v0F8C*
+ ID_VENDOR_FROM_DATABASE=Young Generation International Corp.
+
+usb:v0F8D*
+ ID_VENDOR_FROM_DATABASE=Uniwill Computer Corp.
+
+usb:v0F8E*
+ ID_VENDOR_FROM_DATABASE=Kingnet Technology Co., Ltd
+
+usb:v0F8F*
+ ID_VENDOR_FROM_DATABASE=Soma Networks
+
+usb:v0F97*
+ ID_VENDOR_FROM_DATABASE=CviLux Corp.
+
+usb:v0F98*
+ ID_VENDOR_FROM_DATABASE=CyberBank Corp.
+
+usb:v0F9C*
+ ID_VENDOR_FROM_DATABASE=Hyun Won, Inc.
+
+usb:v0F9Cp0301*
+ ID_MODEL_FROM_DATABASE=M-Any Premium DAH-610 MP3/WMA Player
+
+usb:v0F9Cp0332*
+ ID_MODEL_FROM_DATABASE=mobiBLU DAH-1200 MP3/Ogg Player
+
+usb:v0F9E*
+ ID_VENDOR_FROM_DATABASE=Lucent Technologies
+
+usb:v0FA3*
+ ID_VENDOR_FROM_DATABASE=Starconn Electronic Co., Ltd
+
+usb:v0FA4*
+ ID_VENDOR_FROM_DATABASE=ATL Technology
+
+usb:v0FA5*
+ ID_VENDOR_FROM_DATABASE=Sotec Co., Ltd
+
+usb:v0FA7*
+ ID_VENDOR_FROM_DATABASE=Epox Computer Co., Ltd
+
+usb:v0FA8*
+ ID_VENDOR_FROM_DATABASE=Logic Controls, Inc.
+
+usb:v0FAF*
+ ID_VENDOR_FROM_DATABASE=Winpoint Electronic Corp.
+
+usb:v0FB0*
+ ID_VENDOR_FROM_DATABASE=Haurtian Wire & Cable Co., Ltd
+
+usb:v0FB1*
+ ID_VENDOR_FROM_DATABASE=Inclose Design, Inc.
+
+usb:v0FB2*
+ ID_VENDOR_FROM_DATABASE=Juan-Chern Industrial Co., Ltd
+
+usb:v0FB6*
+ ID_VENDOR_FROM_DATABASE=Heber Ltd
+
+usb:v0FB6p3FC3*
+ ID_MODEL_FROM_DATABASE=Firefly X10i I/O Board (with firmware)
+
+usb:v0FB6p3FC4*
+ ID_MODEL_FROM_DATABASE=Firefly X10i I/O Board (without firmware)
+
+usb:v0FB8*
+ ID_VENDOR_FROM_DATABASE=Wistron Corp.
+
+usb:v0FB8p0002*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v0FB9*
+ ID_VENDOR_FROM_DATABASE=AACom Corp.
+
+usb:v0FBA*
+ ID_VENDOR_FROM_DATABASE=San Shing Electronics Co., Ltd
+
+usb:v0FBB*
+ ID_VENDOR_FROM_DATABASE=Bitwise Systems, Inc.
+
+usb:v0FC1*
+ ID_VENDOR_FROM_DATABASE=Mitac Internatinal Corp.
+
+usb:v0FC2*
+ ID_VENDOR_FROM_DATABASE=Plug and Jack Industrial, Inc.
+
+usb:v0FC5*
+ ID_VENDOR_FROM_DATABASE=Delcom Engineering
+
+usb:v0FC5p1222*
+ ID_MODEL_FROM_DATABASE=I/O Development Board
+
+usb:v0FC6*
+ ID_VENDOR_FROM_DATABASE=Dataplus Supplies, Inc.
+
+usb:v0FCA*
+ ID_VENDOR_FROM_DATABASE=Research In Motion, Ltd.
+
+usb:v0FCAp0001*
+ ID_MODEL_FROM_DATABASE=Blackberry Handheld
+
+usb:v0FCAp0004*
+ ID_MODEL_FROM_DATABASE=Blackberry Handheld
+
+usb:v0FCAp0006*
+ ID_MODEL_FROM_DATABASE=Blackberry Pearl
+
+usb:v0FCAp0008*
+ ID_MODEL_FROM_DATABASE=Blackberry Pearl
+
+usb:v0FCAp8001*
+ ID_MODEL_FROM_DATABASE=Blackberry Handheld
+
+usb:v0FCAp8004*
+ ID_MODEL_FROM_DATABASE=Blackberry Handheld
+
+usb:v0FCAp8007*
+ ID_MODEL_FROM_DATABASE=Blackberry Handheld
+
+usb:v0FCAp8010*
+ ID_MODEL_FROM_DATABASE=Blackberry Playbook (Connect to Windows mode)
+
+usb:v0FCAp8011*
+ ID_MODEL_FROM_DATABASE=Blackberry Playbook (Connect to Mac mode)
+
+usb:v0FCAp8020*
+ ID_MODEL_FROM_DATABASE=Blackberry Playbook (CD-Rom mode)
+
+usb:v0FCE*
+ ID_VENDOR_FROM_DATABASE=Sony Ericsson Mobile Communications AB
+
+usb:v0FCEp0076*
+ ID_MODEL_FROM_DATABASE=W910i (Multimedia mode)
+
+usb:v0FCEp00AF*
+ ID_MODEL_FROM_DATABASE=V640i Phone [PTP Camera]
+
+usb:v0FCEp00D4*
+ ID_MODEL_FROM_DATABASE=C902 [MTP]
+
+usb:v0FCEp00D9*
+ ID_MODEL_FROM_DATABASE=C702 Phone
+
+usb:v0FCEp0112*
+ ID_MODEL_FROM_DATABASE=W995 Walkman Phone
+
+usb:v0FCEp015A*
+ ID_MODEL_FROM_DATABASE=Xperia Pro [Media Transfer Protocol]
+
+usb:v0FCEp0166*
+ ID_MODEL_FROM_DATABASE=Xperia Mini Pro
+
+usb:v0FCEp0169*
+ ID_MODEL_FROM_DATABASE=Xperia S
+
+usb:v0FCEp0172*
+ ID_MODEL_FROM_DATABASE=Xperia P
+
+usb:v0FCEp0177*
+ ID_MODEL_FROM_DATABASE=Xperia Ion [Mass Storage]
+
+usb:v0FCEp0DDE*
+ ID_MODEL_FROM_DATABASE=Xperia Mini Pro Bootloader
+
+usb:v0FCEp1010*
+ ID_MODEL_FROM_DATABASE=WMC Modem
+
+usb:v0FCEp10AF*
+ ID_MODEL_FROM_DATABASE=V640i Phone [PictBridge]
+
+usb:v0FCEp10D4*
+ ID_MODEL_FROM_DATABASE=C902 Phone [PictBridge]
+
+usb:v0FCEp2105*
+ ID_MODEL_FROM_DATABASE=W715 Phone
+
+usb:v0FCEp2137*
+ ID_MODEL_FROM_DATABASE=Xperia X10 mini (USB debug)
+
+usb:v0FCEp2138*
+ ID_MODEL_FROM_DATABASE=Xperia X10 mini pro (Debug)
+
+usb:v0FCEp2149*
+ ID_MODEL_FROM_DATABASE=Xperia X8 (debug)
+
+usb:v0FCEp3137*
+ ID_MODEL_FROM_DATABASE=Xperia X10 mini
+
+usb:v0FCEp3138*
+ ID_MODEL_FROM_DATABASE=Xperia X10 mini pro
+
+usb:v0FCEp3149*
+ ID_MODEL_FROM_DATABASE=Xperia X8
+
+usb:v0FCEp5177*
+ ID_MODEL_FROM_DATABASE=Xperia Ion [Debug Mode]
+
+usb:v0FCEp614F*
+ ID_MODEL_FROM_DATABASE=Xperia X12 (debug mode)
+
+usb:v0FCEp6166*
+ ID_MODEL_FROM_DATABASE=Xperia Mini Pro
+
+usb:v0FCEp715A*
+ ID_MODEL_FROM_DATABASE=Xperia Pro [Tethering]
+
+usb:v0FCEp7177*
+ ID_MODEL_FROM_DATABASE=Xperia Ion [Tethering]
+
+usb:v0FCEp8004*
+ ID_MODEL_FROM_DATABASE=9000 Phone [Mass Storage]
+
+usb:v0FCEpADDE*
+ ID_MODEL_FROM_DATABASE=Boot loader
+
+usb:v0FCEpD008*
+ ID_MODEL_FROM_DATABASE=V800-Vodafone 802SE Phone
+
+usb:v0FCEpD016*
+ ID_MODEL_FROM_DATABASE=K750i Phone
+
+usb:v0FCEpD017*
+ ID_MODEL_FROM_DATABASE=K608i Phone
+
+usb:v0FCEpD019*
+ ID_MODEL_FROM_DATABASE=VDC EGPRS Modem
+
+usb:v0FCEpD025*
+ ID_MODEL_FROM_DATABASE=520 WMC Data Modem
+
+usb:v0FCEpD028*
+ ID_MODEL_FROM_DATABASE=W800i
+
+usb:v0FCEpD038*
+ ID_MODEL_FROM_DATABASE=W850i Phone
+
+usb:v0FCEpD039*
+ ID_MODEL_FROM_DATABASE=K800i (phone mode)
+
+usb:v0FCEpD041*
+ ID_MODEL_FROM_DATABASE=K510i Phone
+
+usb:v0FCEpD042*
+ ID_MODEL_FROM_DATABASE=W810i Phone
+
+usb:v0FCEpD043*
+ ID_MODEL_FROM_DATABASE=V630i Phone
+
+usb:v0FCEpD046*
+ ID_MODEL_FROM_DATABASE=K610i Phone
+
+usb:v0FCEpD065*
+ ID_MODEL_FROM_DATABASE=W960i Phone (PC Suite)
+
+usb:v0FCEpD076*
+ ID_MODEL_FROM_DATABASE=W910i (Phone mode)
+
+usb:v0FCEpD089*
+ ID_MODEL_FROM_DATABASE=W580i Phone (mass storage)
+
+usb:v0FCEpD0A1*
+ ID_MODEL_FROM_DATABASE=K810
+
+usb:v0FCEpD0AF*
+ ID_MODEL_FROM_DATABASE=V640i Phone
+
+usb:v0FCEpD0CF*
+ ID_MODEL_FROM_DATABASE=MD300 Mobile Broadband Modem
+
+usb:v0FCEpD0D4*
+ ID_MODEL_FROM_DATABASE=C902 Phone [Modem]
+
+usb:v0FCEpD0E1*
+ ID_MODEL_FROM_DATABASE=MD400 Mobile Broadband Modem
+
+usb:v0FCEpD12E*
+ ID_MODEL_FROM_DATABASE=Xperia X10
+
+usb:v0FCEpE000*
+ ID_MODEL_FROM_DATABASE=K810 (PictBridge mode)
+
+usb:v0FCEpE039*
+ ID_MODEL_FROM_DATABASE=K800i (msc mode)
+
+usb:v0FCEpE042*
+ ID_MODEL_FROM_DATABASE=W810i Phone
+
+usb:v0FCEpE043*
+ ID_MODEL_FROM_DATABASE=V630i Phone [Mass Storage]
+
+usb:v0FCEpE075*
+ ID_MODEL_FROM_DATABASE=K850i
+
+usb:v0FCEpE076*
+ ID_MODEL_FROM_DATABASE=W910i (Mass storage)
+
+usb:v0FCEpE089*
+ ID_MODEL_FROM_DATABASE=W580i Phone
+
+usb:v0FCEpE090*
+ ID_MODEL_FROM_DATABASE=W200 Phone (Mass Storage)
+
+usb:v0FCEpE0A1*
+ ID_MODEL_FROM_DATABASE=K810 (Mass Storage mode)
+
+usb:v0FCEpE0A3*
+ ID_MODEL_FROM_DATABASE=W660i
+
+usb:v0FCEpE0AF*
+ ID_MODEL_FROM_DATABASE=V640i Phone [Mass Storage]
+
+usb:v0FCEpE0D4*
+ ID_MODEL_FROM_DATABASE=C902 Phone [Mass Storage]
+
+usb:v0FCEpE0EF*
+ ID_MODEL_FROM_DATABASE=C905 Phone [Mass Storage]
+
+usb:v0FCEpE0F3*
+ ID_MODEL_FROM_DATABASE=W595
+
+usb:v0FCEpE105*
+ ID_MODEL_FROM_DATABASE=W705
+
+usb:v0FCEpE112*
+ ID_MODEL_FROM_DATABASE=W995 Phone (Mass Storage)
+
+usb:v0FCEpE12E*
+ ID_MODEL_FROM_DATABASE=X10i Phone
+
+usb:v0FCEpE133*
+ ID_MODEL_FROM_DATABASE=Vivaz
+
+usb:v0FCEpE14F*
+ ID_MODEL_FROM_DATABASE=Xperia Arc/X12
+
+usb:v0FCEpE15A*
+ ID_MODEL_FROM_DATABASE=Xperia Pro [Mass Storage Class]
+
+usb:v0FCEpE161*
+ ID_MODEL_FROM_DATABASE=Xperia Ray
+
+usb:v0FCEpE166*
+ ID_MODEL_FROM_DATABASE=Xperia Mini Pro
+
+usb:v0FCEpE167*
+ ID_MODEL_FROM_DATABASE=XPERIA mini
+
+usb:v0FCF*
+ ID_VENDOR_FROM_DATABASE=Dynastream Innovations, Inc.
+
+usb:v0FCFp1003*
+ ID_MODEL_FROM_DATABASE=ANT Development Board
+
+usb:v0FCFp1004*
+ ID_MODEL_FROM_DATABASE=ANT2USB
+
+usb:v0FCFp1006*
+ ID_MODEL_FROM_DATABASE=ANT Development Board
+
+usb:v0FCFp1008*
+ ID_MODEL_FROM_DATABASE=Mini stick Suunto
+
+usb:v0FD0*
+ ID_VENDOR_FROM_DATABASE=Tulip Computers B.V.
+
+usb:v0FD1*
+ ID_VENDOR_FROM_DATABASE=Giant Electronics Ltd.
+
+usb:v0FD4*
+ ID_VENDOR_FROM_DATABASE=Tenovis GmbH & Co., KG
+
+usb:v0FD5*
+ ID_VENDOR_FROM_DATABASE=Direct Access Technology, Inc.
+
+usb:v0FD9*
+ ID_VENDOR_FROM_DATABASE=Elgato Systems GmbH
+
+usb:v0FD9p0011*
+ ID_MODEL_FROM_DATABASE=EyeTV Diversity
+
+usb:v0FD9p0018*
+ ID_MODEL_FROM_DATABASE=EyeTV Hybrid
+
+usb:v0FD9p0020*
+ ID_MODEL_FROM_DATABASE=EyeTV DTT Deluxe
+
+usb:v0FD9p0021*
+ ID_MODEL_FROM_DATABASE=EyeTV DTT
+
+usb:v0FD9p002A*
+ ID_MODEL_FROM_DATABASE=EyeTV Sat
+
+usb:v0FD9p002C*
+ ID_MODEL_FROM_DATABASE=EyeTV DTT Deluxe v2
+
+usb:v0FD9p0033*
+ ID_MODEL_FROM_DATABASE=Video Capture
+
+usb:v0FD9p0037*
+ ID_MODEL_FROM_DATABASE=Video Capture v2
+
+usb:v0FDA*
+ ID_VENDOR_FROM_DATABASE=Quantec Networks GmbH
+
+usb:v0FDAp0100*
+ ID_MODEL_FROM_DATABASE=quanton flight control
+
+usb:v0FDC*
+ ID_VENDOR_FROM_DATABASE=Micro Plus
+
+usb:v0FE0*
+ ID_VENDOR_FROM_DATABASE=Osterhout Design Group
+
+usb:v0FE0p0100*
+ ID_MODEL_FROM_DATABASE=Bluetooth Mouse
+
+usb:v0FE0p0101*
+ ID_MODEL_FROM_DATABASE=Bluetooth IMU
+
+usb:v0FE0p0200*
+ ID_MODEL_FROM_DATABASE=Bluetooth Keypad
+
+usb:v0FE4*
+ ID_VENDOR_FROM_DATABASE=IN-Tech Electronics, Ltd
+
+usb:v0FE5*
+ ID_VENDOR_FROM_DATABASE=Greenconn (U.S.A.), Inc.
+
+usb:v0FE6*
+ ID_VENDOR_FROM_DATABASE=Kontron (Industrial Computer Source / ICS Advent)
+
+usb:v0FE6p8101*
+ ID_MODEL_FROM_DATABASE=DM9601 Fast Ethernet Adapter
+
+usb:v0FE6p811E*
+ ID_MODEL_FROM_DATABASE=Parallel Adapter
+
+usb:v0FE6p9700*
+ ID_MODEL_FROM_DATABASE=DM9601 Fast Ethernet Adapter
+
+usb:v0FE9*
+ ID_VENDOR_FROM_DATABASE=DVICO
+
+usb:v0FE9p4020*
+ ID_MODEL_FROM_DATABASE=TViX M-6500
+
+usb:v0FE9pDB00*
+ ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T (MT352+LgZ201) (uninitialized)
+
+usb:v0FE9pDB01*
+ ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T (MT352+LgZ201) (initialized)
+
+usb:v0FE9pDB10*
+ ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T (MT352+Thomson7579) (uninitialized)
+
+usb:v0FE9pDB11*
+ ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T (MT352+Thomson7579) (initialized)
+
+usb:v0FE9pDB78*
+ ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Dual Digital 4 (ZL10353+xc2028/xc3028) (initialized)
+
+usb:v0FEA*
+ ID_VENDOR_FROM_DATABASE=United Computer Accessories
+
+usb:v0FEB*
+ ID_VENDOR_FROM_DATABASE=CRS Electronic Co., Ltd
+
+usb:v0FEC*
+ ID_VENDOR_FROM_DATABASE=UMC Electronics Co., Ltd
+
+usb:v0FED*
+ ID_VENDOR_FROM_DATABASE=Access Co., Ltd
+
+usb:v0FEE*
+ ID_VENDOR_FROM_DATABASE=Xsido Corp.
+
+usb:v0FEF*
+ ID_VENDOR_FROM_DATABASE=MJ Research, Inc.
+
+usb:v0FF6*
+ ID_VENDOR_FROM_DATABASE=Core Valley Co., Ltd
+
+usb:v0FF7*
+ ID_VENDOR_FROM_DATABASE=CHI SHING Computer Accessories Co., Ltd
+
+usb:v0FFC*
+ ID_VENDOR_FROM_DATABASE=Clavia DMI AB
+
+usb:v0FFCp0021*
+ ID_MODEL_FROM_DATABASE=Nord Stage 2
+
+usb:v0FFF*
+ ID_VENDOR_FROM_DATABASE=Aopen, Inc.
+
+usb:v1000*
+ ID_VENDOR_FROM_DATABASE=Speed Tech Corp.
+
+usb:v1001*
+ ID_VENDOR_FROM_DATABASE=Ritronics Components (S) Pte., Ltd
+
+usb:v1003*
+ ID_VENDOR_FROM_DATABASE=Sigma Corp.
+
+usb:v1003p0003*
+ ID_MODEL_FROM_DATABASE=SD14
+
+usb:v1003p0100*
+ ID_MODEL_FROM_DATABASE=SD9/SD10
+
+usb:v1004*
+ ID_VENDOR_FROM_DATABASE=LG Electronics, Inc.
+
+usb:v1004p1FAE*
+ ID_MODEL_FROM_DATABASE=U8120 3G Cellphone
+
+usb:v1004p6000*
+ ID_MODEL_FROM_DATABASE=Various Mobile Phones
+
+usb:v1004p6005*
+ ID_MODEL_FROM_DATABASE=T5100
+
+usb:v1004p6018*
+ ID_MODEL_FROM_DATABASE=GM360/GD510/GW520/KP501
+
+usb:v1004p618E*
+ ID_MODEL_FROM_DATABASE=Ally/Optimus One/Vortex (debug mode)
+
+usb:v1004p618F*
+ ID_MODEL_FROM_DATABASE=Ally/Optimus One
+
+usb:v1004p61C6*
+ ID_MODEL_FROM_DATABASE=Vortex (msc)
+
+usb:v1004p61CC*
+ ID_MODEL_FROM_DATABASE=Optimus S
+
+usb:v1004p61FC*
+ ID_MODEL_FROM_DATABASE=Optimus 3
+
+usb:v1004p6800*
+ ID_MODEL_FROM_DATABASE=CDMA Modem
+
+usb:v1004p7000*
+ ID_MODEL_FROM_DATABASE=LG LDP-7024D(LD)USB
+
+usb:v1004pA400*
+ ID_MODEL_FROM_DATABASE=Renoir (KC910)
+
+usb:v1005*
+ ID_VENDOR_FROM_DATABASE=Apacer Technology, Inc.
+
+usb:v1005p1001*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v1005p1004*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v1005p1006*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v1005pB113*
+ ID_MODEL_FROM_DATABASE=Handy Steno 2.0/HT203
+
+usb:v1005pB223*
+ ID_MODEL_FROM_DATABASE=CD-RW + 6in1 Card Reader Digital Storage / Converter
+
+usb:v1006*
+ ID_VENDOR_FROM_DATABASE=iRiver, Ltd.
+
+usb:v1006p3001*
+ ID_MODEL_FROM_DATABASE=iHP-100
+
+usb:v1006p3002*
+ ID_MODEL_FROM_DATABASE=iHP-120/140 MP3 Player
+
+usb:v1006p3003*
+ ID_MODEL_FROM_DATABASE=H320/H340
+
+usb:v1006p3004*
+ ID_MODEL_FROM_DATABASE=H340 (mtp)
+
+usb:v1009*
+ ID_VENDOR_FROM_DATABASE=Emuzed, Inc.
+
+usb:v1009p000E*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v1009p0013*
+ ID_MODEL_FROM_DATABASE=Angel MPEG Device
+
+usb:v1009p0015*
+ ID_MODEL_FROM_DATABASE=Lumanate Wave PAL SECAM DVBT Device
+
+usb:v1009p0016*
+ ID_MODEL_FROM_DATABASE=Lumanate Wave NTSC/ATSC Combo Device
+
+usb:v100A*
+ ID_VENDOR_FROM_DATABASE=AV Chaseway, Ltd
+
+usb:v100Ap2402*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v100Ap2404*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v100Ap2405*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v100Ap2406*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v100ApA0C0*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v100B*
+ ID_VENDOR_FROM_DATABASE=Chou Chin Industrial Co., Ltd
+
+usb:v100D*
+ ID_VENDOR_FROM_DATABASE=Netopia, Inc.
+
+usb:v100Dp3342*
+ ID_MODEL_FROM_DATABASE=Cayman 3352 DSL Modem
+
+usb:v100Dp3382*
+ ID_MODEL_FROM_DATABASE=3380 Series Network Interface
+
+usb:v100Dp6072*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v100Dp9031*
+ ID_MODEL_FROM_DATABASE=Motorola 802.11n Dualband USB Wireless Adapter
+
+usb:v100Dp9032*
+ ID_MODEL_FROM_DATABASE=Motorola 802.11n 5G USB Wireless Adapter
+
+usb:v100DpCB01*
+ ID_MODEL_FROM_DATABASE=Cayman 3341 Ethernet DSL Router
+
+usb:v1010*
+ ID_VENDOR_FROM_DATABASE=Fukuda Denshi Co., Ltd
+
+usb:v1011*
+ ID_VENDOR_FROM_DATABASE=Mobile Media Tech.
+
+usb:v1011p0001*
+ ID_MODEL_FROM_DATABASE=AccFast Mp3
+
+usb:v1012*
+ ID_VENDOR_FROM_DATABASE=SDKM Fibres, Wires & Cables Berhad
+
+usb:v1013*
+ ID_VENDOR_FROM_DATABASE=TST-Touchless Sensor Technology AG
+
+usb:v1014*
+ ID_VENDOR_FROM_DATABASE=Densitron Technologies PLC
+
+usb:v1015*
+ ID_VENDOR_FROM_DATABASE=Softronics Pty., Ltd
+
+usb:v1016*
+ ID_VENDOR_FROM_DATABASE=Xiamen Hung's Enterprise Co., Ltd
+
+usb:v1017*
+ ID_VENDOR_FROM_DATABASE=Speedy Industrial Supplies, Pte., Ltd
+
+usb:v1019*
+ ID_VENDOR_FROM_DATABASE=Elitegroup Computer Systems (ECS)
+
+usb:v1019p0C55*
+ ID_MODEL_FROM_DATABASE=Flash Reader, Desknote UCR-61S2B
+
+usb:v1019p0F38*
+ ID_MODEL_FROM_DATABASE=Infrared Receiver
+
+usb:v1020*
+ ID_VENDOR_FROM_DATABASE=Labtec
+
+usb:v1020p0006*
+ ID_MODEL_FROM_DATABASE=Wireless Keyboard
+
+usb:v1020p000A*
+ ID_MODEL_FROM_DATABASE=Wireless Optical Mouse
+
+usb:v1020p0106*
+ ID_MODEL_FROM_DATABASE=Wireless Optical Mouse
+
+usb:v1022*
+ ID_VENDOR_FROM_DATABASE=Shinko Shoji Co., Ltd
+
+usb:v1025*
+ ID_VENDOR_FROM_DATABASE=Hyper-Paltek
+
+usb:v1025p005E*
+ ID_MODEL_FROM_DATABASE=USB DVB-T device
+
+usb:v1025p005F*
+ ID_MODEL_FROM_DATABASE=USB DVB-T device
+
+usb:v1025p0300*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v1025p0350*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v1026*
+ ID_VENDOR_FROM_DATABASE=Newly Corp.
+
+usb:v1027*
+ ID_VENDOR_FROM_DATABASE=Time Domain
+
+usb:v1028*
+ ID_VENDOR_FROM_DATABASE=Inovys Corp.
+
+usb:v1029*
+ ID_VENDOR_FROM_DATABASE=Atlantic Coast Telesys
+
+usb:v102A*
+ ID_VENDOR_FROM_DATABASE=Ramos Technology Co., Ltd
+
+usb:v102B*
+ ID_VENDOR_FROM_DATABASE=Infotronic America, Inc.
+
+usb:v102C*
+ ID_VENDOR_FROM_DATABASE=Etoms Electronics Corp.
+
+usb:v102Cp6151*
+ ID_MODEL_FROM_DATABASE=Q-Cam Sangha CIF
+
+usb:v102Cp6251*
+ ID_MODEL_FROM_DATABASE=Q-Cam VGA
+
+usb:v102D*
+ ID_VENDOR_FROM_DATABASE=Winic Corp.
+
+usb:v1031*
+ ID_VENDOR_FROM_DATABASE=Comax Technology, Inc.
+
+usb:v1032*
+ ID_VENDOR_FROM_DATABASE=C-One Technology Corp.
+
+usb:v1033*
+ ID_VENDOR_FROM_DATABASE=Nucam Corp.
+
+usb:v1033p0068*
+ ID_MODEL_FROM_DATABASE=3,5'' HDD case MD-231
+
+usb:v1038*
+ ID_VENDOR_FROM_DATABASE=Ideazon, Inc.
+
+usb:v1038p0100*
+ ID_MODEL_FROM_DATABASE=Zboard
+
+usb:v1039*
+ ID_VENDOR_FROM_DATABASE=devolo AG
+
+usb:v1039p0824*
+ ID_MODEL_FROM_DATABASE=1866 802.11bg [Texas Instruments TNETW1450]
+
+usb:v1039p2140*
+ ID_MODEL_FROM_DATABASE=dsl+ 1100 duo
+
+usb:v103D*
+ ID_VENDOR_FROM_DATABASE=Stanton
+
+usb:v103Dp0100*
+ ID_MODEL_FROM_DATABASE=ScratchAmp
+
+usb:v103Dp0101*
+ ID_MODEL_FROM_DATABASE=ScratchAmp
+
+usb:v1043*
+ ID_VENDOR_FROM_DATABASE=iCreate Technologies Corp.
+
+usb:v1043p160F*
+ ID_MODEL_FROM_DATABASE=Wireless Network Adapter
+
+usb:v1043p4901*
+ ID_MODEL_FROM_DATABASE=AV-836 Video Capture Device
+
+usb:v1043p8006*
+ ID_MODEL_FROM_DATABASE=Flash Disk 32-256 MB
+
+usb:v1043p8012*
+ ID_MODEL_FROM_DATABASE=Flash Disk 256 MB
+
+usb:v1044*
+ ID_VENDOR_FROM_DATABASE=Chu Yuen Enterprise Co., Ltd
+
+usb:v1044p7001*
+ ID_MODEL_FROM_DATABASE=Gigabyte U7000 DVB-T tuner
+
+usb:v1044p7002*
+ ID_MODEL_FROM_DATABASE=Gigabyte U8000 DVB-T tuner
+
+usb:v1044p7004*
+ ID_MODEL_FROM_DATABASE=Gigabyte U7100 DVB-T tuner
+
+usb:v1044p7005*
+ ID_MODEL_FROM_DATABASE=Gigabyte U7200 DVB-T tuner [AF9035]
+
+usb:v1044p7006*
+ ID_MODEL_FROM_DATABASE=Gigabyte U6000 DVB-T tuner [em2863]
+
+usb:v1044p8001*
+ ID_MODEL_FROM_DATABASE=GN-54G
+
+usb:v1044p8002*
+ ID_MODEL_FROM_DATABASE=GN-BR402W
+
+usb:v1044p8003*
+ ID_MODEL_FROM_DATABASE=GN-WLBM101
+
+usb:v1044p8004*
+ ID_MODEL_FROM_DATABASE=GN-WLBZ101 802.11b Adapter
+
+usb:v1044p8005*
+ ID_MODEL_FROM_DATABASE=GN-WLBZ201 802.11b Adapter
+
+usb:v1044p8006*
+ ID_MODEL_FROM_DATABASE=GN-WBZB-M 802.11b Adapter
+
+usb:v1044p8007*
+ ID_MODEL_FROM_DATABASE=GN-WBKG
+
+usb:v1044p8008*
+ ID_MODEL_FROM_DATABASE=GN-WB01GS
+
+usb:v1044p800A*
+ ID_MODEL_FROM_DATABASE=GN-WI05GS
+
+usb:v1044p800B*
+ ID_MODEL_FROM_DATABASE=GN-WB30N 802.11n WLAN Card
+
+usb:v1044p800C*
+ ID_MODEL_FROM_DATABASE=GN-WB31N 802.11n USB WLAN Card
+
+usb:v1044p800D*
+ ID_MODEL_FROM_DATABASE=GN-WB32L 802.11n USB WLAN Card
+
+usb:v1046*
+ ID_VENDOR_FROM_DATABASE=Winbond Electronics Corp. [hex]
+
+usb:v1046p6694*
+ ID_MODEL_FROM_DATABASE=Generic W6694 USB
+
+usb:v1046p8901*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v1046p9967*
+ ID_MODEL_FROM_DATABASE=W9967CF/W9968CF Webcam IC
+
+usb:v1048*
+ ID_VENDOR_FROM_DATABASE=Targus Group International
+
+usb:v104B*
+ ID_VENDOR_FROM_DATABASE=Mylex / Buslogic
+
+usb:v104C*
+ ID_VENDOR_FROM_DATABASE=AMCO TEC International, Inc.
+
+usb:v104D*
+ ID_VENDOR_FROM_DATABASE=Newport Corporation
+
+usb:v104Dp1003*
+ ID_MODEL_FROM_DATABASE=Model-52 LED Light Source Power Supply and Driver
+
+usb:v104F*
+ ID_VENDOR_FROM_DATABASE=WB Electronics
+
+usb:v104Fp0001*
+ ID_MODEL_FROM_DATABASE=Infinity Phoenix
+
+usb:v104Fp0002*
+ ID_MODEL_FROM_DATABASE=Smartmouse
+
+usb:v104Fp0003*
+ ID_MODEL_FROM_DATABASE=FunProgrammer
+
+usb:v104Fp0004*
+ ID_MODEL_FROM_DATABASE=Infinity Unlimited
+
+usb:v104Fp0006*
+ ID_MODEL_FROM_DATABASE=Infinity Smart
+
+usb:v104Fp0007*
+ ID_MODEL_FROM_DATABASE=Infinity Smart module
+
+usb:v104Fp0008*
+ ID_MODEL_FROM_DATABASE=Infinity CryptoKey
+
+usb:v104Fp0009*
+ ID_MODEL_FROM_DATABASE=RE-BL PlayStation 3 IR-to-Bluetooth converter
+
+usb:v1050*
+ ID_VENDOR_FROM_DATABASE=Yubico.com
+
+usb:v1050p0010*
+ ID_MODEL_FROM_DATABASE=Yubikey
+
+usb:v1053*
+ ID_VENDOR_FROM_DATABASE=Immanuel Electronics Co., Ltd
+
+usb:v1054*
+ ID_VENDOR_FROM_DATABASE=BMS International Beheer N.V.
+
+usb:v1054p5004*
+ ID_MODEL_FROM_DATABASE=DSL 7420 Loader
+
+usb:v1054p5005*
+ ID_MODEL_FROM_DATABASE=DSL 7420 LAN Modem
+
+usb:v1055*
+ ID_VENDOR_FROM_DATABASE=Complex Micro Interconnection Co., Ltd
+
+usb:v1056*
+ ID_VENDOR_FROM_DATABASE=Hsin Chen Ent Co., Ltd
+
+usb:v1057*
+ ID_VENDOR_FROM_DATABASE=ON Semiconductor
+
+usb:v1058*
+ ID_VENDOR_FROM_DATABASE=Western Digital Technologies, Inc.
+
+usb:v1058p0200*
+ ID_MODEL_FROM_DATABASE=FireWire USB Combo
+
+usb:v1058p0400*
+ ID_MODEL_FROM_DATABASE=External HDD
+
+usb:v1058p0500*
+ ID_MODEL_FROM_DATABASE=hub
+
+usb:v1058p0702*
+ ID_MODEL_FROM_DATABASE=Passport External HDD
+
+usb:v1058p0704*
+ ID_MODEL_FROM_DATABASE=Passport External HDD
+
+usb:v1058p070A*
+ ID_MODEL_FROM_DATABASE=My Passport Essential SE
+
+usb:v1058p071A*
+ ID_MODEL_FROM_DATABASE=My Passport 1TB
+
+usb:v1058p0740*
+ ID_MODEL_FROM_DATABASE=My Passport
+
+usb:v1058p0742*
+ ID_MODEL_FROM_DATABASE=My Passport Essential SE
+
+usb:v1058p0748*
+ ID_MODEL_FROM_DATABASE=My Passport 1TB USB 3.0
+
+usb:v1058p0900*
+ ID_MODEL_FROM_DATABASE=MyBook Essential External HDD
+
+usb:v1058p0901*
+ ID_MODEL_FROM_DATABASE=MyBook External HDD
+
+usb:v1058p0903*
+ ID_MODEL_FROM_DATABASE=My Book Premium Edition
+
+usb:v1058p0910*
+ ID_MODEL_FROM_DATABASE=MyBook Essential External HDD
+
+usb:v1058p1001*
+ ID_MODEL_FROM_DATABASE=External Hard Disk [Elements]
+
+usb:v1058p1003*
+ ID_MODEL_FROM_DATABASE=Elements 1000 GB
+
+usb:v1058p1010*
+ ID_MODEL_FROM_DATABASE=Elements External HDD
+
+usb:v1058p1021*
+ ID_MODEL_FROM_DATABASE=Elements 2TB
+
+usb:v1058p1023*
+ ID_MODEL_FROM_DATABASE=Elements SE
+
+usb:v1058p1103*
+ ID_MODEL_FROM_DATABASE=My Book Studio
+
+usb:v1058p1104*
+ ID_MODEL_FROM_DATABASE=MyBook Mirror Edition External HDD
+
+usb:v1058p1105*
+ ID_MODEL_FROM_DATABASE=My Book Studio II
+
+usb:v1058p1123*
+ ID_MODEL_FROM_DATABASE=My Book 3.0
+
+usb:v1058p1140*
+ ID_MODEL_FROM_DATABASE=My Book Essential USB3.0
+
+usb:v1059*
+ ID_VENDOR_FROM_DATABASE=Giesecke & Devrient GmbH
+
+usb:v1059p000B*
+ ID_MODEL_FROM_DATABASE=StarSign Bio Token 3.0
+
+usb:v105C*
+ ID_VENDOR_FROM_DATABASE=Hong Ji Electric Wire & Cable (Dongguan) Co., Ltd
+
+usb:v105D*
+ ID_VENDOR_FROM_DATABASE=Delkin Devices, Inc.
+
+usb:v105E*
+ ID_VENDOR_FROM_DATABASE=Valence Semiconductor Design, Ltd
+
+usb:v105F*
+ ID_VENDOR_FROM_DATABASE=Chin Shong Enterprise Co., Ltd
+
+usb:v1060*
+ ID_VENDOR_FROM_DATABASE=Easthome Industrial Co., Ltd
+
+usb:v1063*
+ ID_VENDOR_FROM_DATABASE=Motorola Electronics Taiwan, Ltd [hex]
+
+usb:v1063p1555*
+ ID_MODEL_FROM_DATABASE=MC141555 Hub
+
+usb:v1063p4100*
+ ID_MODEL_FROM_DATABASE=SB4100 USB Cable Modem
+
+usb:v1065*
+ ID_VENDOR_FROM_DATABASE=CCYU Technology
+
+usb:v1065p0020*
+ ID_MODEL_FROM_DATABASE=USB-DVR2 Dev Board
+
+usb:v1065p2136*
+ ID_MODEL_FROM_DATABASE=EasyDisk ED1064
+
+usb:v106A*
+ ID_VENDOR_FROM_DATABASE=Loyal Legend, Ltd
+
+usb:v106C*
+ ID_VENDOR_FROM_DATABASE=Curitel Communications, Inc.
+
+usb:v106Cp1101*
+ ID_MODEL_FROM_DATABASE=CDMA 2000 1xRTT USB modem (HX-550C)
+
+usb:v106Cp1102*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp1103*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp1104*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp1105*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v106Cp1106*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp1301*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v106Cp1302*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp1303*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp1304*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp1401*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v106Cp1402*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp1403*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp1501*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp1502*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp1503*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp1601*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp1602*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp1603*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp2101*
+ ID_MODEL_FROM_DATABASE=AudioVox 8900 Cell Phone
+
+usb:v106Cp2102*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp2103*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp2301*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp2302*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp2303*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp2401*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp2402*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp2403*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp2501*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp2502*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp2503*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp2601*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp2602*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp2603*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp3701*
+ ID_MODEL_FROM_DATABASE=Broadband Wireless modem
+
+usb:v106Cp3702*
+ ID_MODEL_FROM_DATABASE=Pantech PX-500
+
+usb:v106Cp3714*
+ ID_MODEL_FROM_DATABASE=PANTECH USB MODEM [UM175]
+
+usb:v106Cp3716*
+ ID_MODEL_FROM_DATABASE=UMW190 Modem
+
+usb:v106Cp3721*
+ ID_MODEL_FROM_DATABASE=Option Beemo (GI0801) LTE surfstick
+
+usb:v106Cp3B14*
+ ID_MODEL_FROM_DATABASE=Option Beemo (GI0801) LTE surfstick
+
+usb:v106Cp3EB4*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp4101*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp4102*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp4301*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v106Cp4302*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp4401*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v106Cp4402*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp4501*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp4502*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp4601*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v106Cp4602*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp5101*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp5102*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp5301*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp5302*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp5401*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp5402*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp5501*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp5502*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp5601*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106Cp5602*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106Cp7101*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v106Cp7102*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106CpA000*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106CpA001*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106CpC100*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106CpC200*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106CpC500*
+ ID_MODEL_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
+
+usb:v106CpE200*
+ ID_MODEL_FROM_DATABASE=Packet Service
+
+usb:v106D*
+ ID_VENDOR_FROM_DATABASE=San Chieh Manufacturing, Ltd
+
+usb:v106E*
+ ID_VENDOR_FROM_DATABASE=ConectL
+
+usb:v106F*
+ ID_VENDOR_FROM_DATABASE=Money Controls
+
+usb:v106Fp0009*
+ ID_MODEL_FROM_DATABASE=CT10x Coin Transaction
+
+usb:v106Fp000A*
+ ID_MODEL_FROM_DATABASE=CR10x Coin Recycler
+
+usb:v1076*
+ ID_VENDOR_FROM_DATABASE=GCT Semiconductor, Inc.
+
+usb:v1076p0031*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v1076p0032*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v107B*
+ ID_VENDOR_FROM_DATABASE=Gateway, Inc.
+
+usb:v107Bp3009*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver
+
+usb:v107Bp55B2*
+ ID_MODEL_FROM_DATABASE=WBU-110 802.11b Wireless Adapter [Intersil PRISM 3]
+
+usb:v107Bp55F2*
+ ID_MODEL_FROM_DATABASE=WGU-210 802.11g Adapter [Intersil ISL3886]
+
+usb:v107D*
+ ID_VENDOR_FROM_DATABASE=Arlec Australia, Ltd
+
+usb:v107E*
+ ID_VENDOR_FROM_DATABASE=Midoriya Electric Co., Ltd
+
+usb:v107F*
+ ID_VENDOR_FROM_DATABASE=KidzMouse, Inc.
+
+usb:v1082*
+ ID_VENDOR_FROM_DATABASE=Shin-Etsukaken Co., Ltd
+
+usb:v1083*
+ ID_VENDOR_FROM_DATABASE=Canon Electronics, Inc.
+
+usb:v1083p162C*
+ ID_MODEL_FROM_DATABASE=P-150 Scanner
+
+usb:v1084*
+ ID_VENDOR_FROM_DATABASE=Pantech Co., Ltd
+
+usb:v108A*
+ ID_VENDOR_FROM_DATABASE=Chloride Power Protection
+
+usb:v108B*
+ ID_VENDOR_FROM_DATABASE=Grand-tek Technology Co., Ltd
+
+usb:v108C*
+ ID_VENDOR_FROM_DATABASE=Robert Bosch GmbH
+
+usb:v108E*
+ ID_VENDOR_FROM_DATABASE=Lotes Co., Ltd.
+
+usb:v1099*
+ ID_VENDOR_FROM_DATABASE=Surface Optics Corp.
+
+usb:v109A*
+ ID_VENDOR_FROM_DATABASE=DATASOFT Systems GmbH
+
+usb:v109F*
+ ID_VENDOR_FROM_DATABASE=eSOL Co., Ltd
+
+usb:v109Fp3163*
+ ID_MODEL_FROM_DATABASE=Trigem Mobile SmartDisplay84
+
+usb:v109Fp3164*
+ ID_MODEL_FROM_DATABASE=Trigem Mobile SmartDisplay121
+
+usb:v10A0*
+ ID_VENDOR_FROM_DATABASE=Hirotech, Inc.
+
+usb:v10A3*
+ ID_VENDOR_FROM_DATABASE=Mitsubishi Materials Corp.
+
+usb:v10A9*
+ ID_VENDOR_FROM_DATABASE=SK Teletech Co., Ltd
+
+usb:v10A9p1102*
+ ID_MODEL_FROM_DATABASE=Sky Love Actually IM-U460K
+
+usb:v10A9p1104*
+ ID_MODEL_FROM_DATABASE=Sky Vega IM-A650S
+
+usb:v10A9p6021*
+ ID_MODEL_FROM_DATABASE=SIRIUS alpha
+
+usb:v10AA*
+ ID_VENDOR_FROM_DATABASE=Cables To Go
+
+usb:v10AB*
+ ID_VENDOR_FROM_DATABASE=USI Co., Ltd
+
+usb:v10ABp1002*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v10ABp1003*
+ ID_MODEL_FROM_DATABASE=BC02-EXT in DFU
+
+usb:v10ABp1005*
+ ID_MODEL_FROM_DATABASE=Bluetooth Adptr
+
+usb:v10ABp1006*
+ ID_MODEL_FROM_DATABASE=BC04-EXT in DFU
+
+usb:v10ABp10C5*
+ ID_MODEL_FROM_DATABASE=Sony-Ericsson / Samsung DataCable
+
+usb:v10AC*
+ ID_VENDOR_FROM_DATABASE=Honeywell, Inc.
+
+usb:v10AE*
+ ID_VENDOR_FROM_DATABASE=Princeton Technology Corp.
+
+usb:v10AF*
+ ID_VENDOR_FROM_DATABASE=Liebert Corp.
+
+usb:v10AFp0000*
+ ID_MODEL_FROM_DATABASE=UPS
+
+usb:v10AFp0001*
+ ID_MODEL_FROM_DATABASE=PowerSure PSA UPS
+
+usb:v10AFp0002*
+ ID_MODEL_FROM_DATABASE=PowerSure PST UPS
+
+usb:v10AFp0003*
+ ID_MODEL_FROM_DATABASE=PowerSure PSP UPS
+
+usb:v10AFp0004*
+ ID_MODEL_FROM_DATABASE=PowerSure PSI UPS
+
+usb:v10AFp0005*
+ ID_MODEL_FROM_DATABASE=UPStation GXT 2U UPS
+
+usb:v10AFp0006*
+ ID_MODEL_FROM_DATABASE=UPStation GXT UPS
+
+usb:v10AFp0007*
+ ID_MODEL_FROM_DATABASE=Nfinity Power Systems UPS
+
+usb:v10AFp0008*
+ ID_MODEL_FROM_DATABASE=PowerSure Interactive UPS
+
+usb:v10B5*
+ ID_VENDOR_FROM_DATABASE=Comodo (PLX?)
+
+usb:v10B5p9060*
+ ID_MODEL_FROM_DATABASE=Test Board
+
+usb:v10B8*
+ ID_VENDOR_FROM_DATABASE=DiBcom
+
+usb:v10B8p0BB8*
+ ID_MODEL_FROM_DATABASE=DiBcom USB DVB-T reference design (MOD300) (cold)
+
+usb:v10B8p0BB9*
+ ID_MODEL_FROM_DATABASE=DiBcom USB DVB-T reference design (MOD300) (warm)
+
+usb:v10B8p0BC6*
+ ID_MODEL_FROM_DATABASE=DiBcom USB2.0 DVB-T reference design (MOD3000P) (cold)
+
+usb:v10B8p0BC7*
+ ID_MODEL_FROM_DATABASE=DiBcom USB2.0 DVB-T reference design (MOD3000P) (warm)
+
+usb:v10BB*
+ ID_VENDOR_FROM_DATABASE=TM Technology, Inc.
+
+usb:v10BC*
+ ID_VENDOR_FROM_DATABASE=Dinging Technology Co., Ltd
+
+usb:v10BD*
+ ID_VENDOR_FROM_DATABASE=TMT Technology, Inc.
+
+usb:v10BDp1427*
+ ID_MODEL_FROM_DATABASE=Ethernet
+
+usb:v10BF*
+ ID_VENDOR_FROM_DATABASE=SmartHome
+
+usb:v10BFp0001*
+ ID_MODEL_FROM_DATABASE=SmartHome PowerLinc
+
+usb:v10C4*
+ ID_VENDOR_FROM_DATABASE=Cygnal Integrated Products, Inc.
+
+usb:v10C4p0002*
+ ID_MODEL_FROM_DATABASE=F32x USBXpress Device
+
+usb:v10C4p0003*
+ ID_MODEL_FROM_DATABASE=CommandIR
+
+usb:v10C4p8030*
+ ID_MODEL_FROM_DATABASE=K4JRG Ham Radio devices
+
+usb:v10C4p8044*
+ ID_MODEL_FROM_DATABASE=USB Debug Adapter
+
+usb:v10C4p804E*
+ ID_MODEL_FROM_DATABASE=Software Bisque Paramount ME
+
+usb:v10C4p80A9*
+ ID_MODEL_FROM_DATABASE=CP210x to UART Bridge Controller
+
+usb:v10C4p80CA*
+ ID_MODEL_FROM_DATABASE=ATM2400 Sensor Device
+
+usb:v10C4p813F*
+ ID_MODEL_FROM_DATABASE=tams EasyControl
+
+usb:v10C4p8149*
+ ID_MODEL_FROM_DATABASE=West Mountain Radio Computerized Battery Analyzer
+
+usb:v10C4p814A*
+ ID_MODEL_FROM_DATABASE=West Mountain Radio RIGblaster P&P
+
+usb:v10C4p814B*
+ ID_MODEL_FROM_DATABASE=West Mountain Radio RIGtalk
+
+usb:v10C4p818A*
+ ID_MODEL_FROM_DATABASE=Silicon Labs FM Radio Reference Design
+
+usb:v10C4p81E8*
+ ID_MODEL_FROM_DATABASE=Zephyr BioHarness
+
+usb:v10C4p8460*
+ ID_MODEL_FROM_DATABASE=Sangoma Wanpipe VoiceTime
+
+usb:v10C4p8461*
+ ID_MODEL_FROM_DATABASE=Sangoma U100
+
+usb:v10C4p8477*
+ ID_MODEL_FROM_DATABASE=Balluff RFID Reader
+
+usb:v10C4p8605*
+ ID_MODEL_FROM_DATABASE=dilitronics ESoLUX solar lighting controller
+
+usb:v10C4p86BC*
+ ID_MODEL_FROM_DATABASE=C8051F34x AudioDelay [AD-340]
+
+usb:v10C4p8789*
+ ID_MODEL_FROM_DATABASE=C8051F34x Extender & EDID MGR [EMX-DVI]
+
+usb:v10C4p87BE*
+ ID_MODEL_FROM_DATABASE=C8051F34x HDMI Audio Extractor [EMX-HD-AUD]
+
+usb:v10C4p8863*
+ ID_MODEL_FROM_DATABASE=C8051F34x Bootloader
+
+usb:v10C4pEA60*
+ ID_MODEL_FROM_DATABASE=CP210x UART Bridge / myAVR mySmartUSB light
+
+usb:v10C4pEA61*
+ ID_MODEL_FROM_DATABASE=CP210x UART Bridge
+
+usb:v10C4pEA70*
+ ID_MODEL_FROM_DATABASE=CP210x UART Bridge
+
+usb:v10C4pEA80*
+ ID_MODEL_FROM_DATABASE=CP210x UART Bridge
+
+usb:v10C5*
+ ID_VENDOR_FROM_DATABASE=Sanei Electric, Inc.
+
+usb:v10C5p819A*
+ ID_MODEL_FROM_DATABASE=FM Radio
+
+usb:v10C6*
+ ID_VENDOR_FROM_DATABASE=Intec, Inc.
+
+usb:v10CB*
+ ID_VENDOR_FROM_DATABASE=Eratech
+
+usb:v10CC*
+ ID_VENDOR_FROM_DATABASE=GBM Connector Co., Ltd
+
+usb:v10CCp1101*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v10CD*
+ ID_VENDOR_FROM_DATABASE=Kycon, Inc.
+
+usb:v10CE*
+ ID_VENDOR_FROM_DATABASE=Silicon Labs
+
+usb:v10CEpEA6A*
+ ID_MODEL_FROM_DATABASE=MobiData EDGE USB Modem
+
+usb:v10CF*
+ ID_VENDOR_FROM_DATABASE=Velleman Components, Inc.
+
+usb:v10CFp2011*
+ ID_MODEL_FROM_DATABASE=R-Engine MPEG2 encoder/decoder
+
+usb:v10CFp5500*
+ ID_MODEL_FROM_DATABASE=8055 Experiment Interface Board (address=0)
+
+usb:v10CFp5501*
+ ID_MODEL_FROM_DATABASE=8055 Experiment Interface Board (address=1)
+
+usb:v10CFp5502*
+ ID_MODEL_FROM_DATABASE=8055 Experiment Interface Board (address=2)
+
+usb:v10CFp5503*
+ ID_MODEL_FROM_DATABASE=8055 Experiment Interface Board (address=3)
+
+usb:v10D1*
+ ID_VENDOR_FROM_DATABASE=Hottinger Baldwin Measurement
+
+usb:v10D1p0101*
+ ID_MODEL_FROM_DATABASE=USB-Module for Spider8, CP32
+
+usb:v10D1p0202*
+ ID_MODEL_FROM_DATABASE=CP22 - Communication Processor
+
+usb:v10D1p0301*
+ ID_MODEL_FROM_DATABASE=CP42 - Communication Processor
+
+usb:v10D4*
+ ID_VENDOR_FROM_DATABASE=Man Boon Manufactory, Ltd
+
+usb:v10D5*
+ ID_VENDOR_FROM_DATABASE=Uni Class Technology Co., Ltd
+
+usb:v10D5p5552*
+ ID_MODEL_FROM_DATABASE=KVM Human Interface Composite Device (Keyboard/Mouse ports)
+
+usb:v10D5p55A2*
+ ID_MODEL_FROM_DATABASE=2Port KVMSwitcher
+
+usb:v10D6*
+ ID_VENDOR_FROM_DATABASE=Actions Semiconductor Co., Ltd
+
+usb:v10D6p1000*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v10D6p1100*
+ ID_MODEL_FROM_DATABASE=MPMan MP-Ki 128 MP3 Player/Recorder
+
+usb:v10D6p1101*
+ ID_MODEL_FROM_DATABASE=D-Wave 2GB MP4 Player / AK1025 MP3/MP4 Player
+
+usb:v10D6p2200*
+ ID_MODEL_FROM_DATABASE=Acer MP-120 MP3 player
+
+usb:v10D6p8888*
+ ID_MODEL_FROM_DATABASE=ADFU Device
+
+usb:v10D6pFF51*
+ ID_MODEL_FROM_DATABASE=ADFU Device
+
+usb:v10D6pFF61*
+ ID_MODEL_FROM_DATABASE=MP4 Player
+
+usb:v10D6pFF66*
+ ID_MODEL_FROM_DATABASE=Craig 2GB MP3/Video Player
+
+usb:v10DE*
+ ID_VENDOR_FROM_DATABASE=Authenex, Inc.
+
+usb:v10DF*
+ ID_VENDOR_FROM_DATABASE=In-Win Development, Inc.
+
+usb:v10DFp0500*
+ ID_MODEL_FROM_DATABASE=iAPP CR-e500 Card reader
+
+usb:v10E0*
+ ID_VENDOR_FROM_DATABASE=Post-Op Video, Inc.
+
+usb:v10E1*
+ ID_VENDOR_FROM_DATABASE=CablePlus, Ltd
+
+usb:v10E2*
+ ID_VENDOR_FROM_DATABASE=Nada Electronics, Ltd
+
+usb:v10EC*
+ ID_VENDOR_FROM_DATABASE=Vast Technologies, Inc.
+
+usb:v10F0*
+ ID_VENDOR_FROM_DATABASE=Nexio Co., Ltd
+
+usb:v10F0p2002*
+ ID_MODEL_FROM_DATABASE=iNexio Touchscreen controller
+
+usb:v10F1*
+ ID_VENDOR_FROM_DATABASE=Importek
+
+usb:v10F1p1A08*
+ ID_MODEL_FROM_DATABASE=Internal Webcam
+
+usb:v10F1p1A1E*
+ ID_MODEL_FROM_DATABASE=Laptop Integrated Webcam 1.3M
+
+usb:v10F1p1A2A*
+ ID_MODEL_FROM_DATABASE=Laptop Integrated Webcam
+
+usb:v10F5*
+ ID_VENDOR_FROM_DATABASE=Turtle Beach
+
+usb:v10F5p0200*
+ ID_MODEL_FROM_DATABASE=Audio Advantage Roadie
+
+usb:v10FB*
+ ID_VENDOR_FROM_DATABASE=Pictos Technologies, Inc.
+
+usb:v10FD*
+ ID_VENDOR_FROM_DATABASE=Anubis Electronics, Ltd
+
+usb:v10FDp7E50*
+ ID_MODEL_FROM_DATABASE=FlyCam Usb 100
+
+usb:v10FDp804D*
+ ID_MODEL_FROM_DATABASE=Typhoon Webshot II Webcam [zc0301]
+
+usb:v10FDp8050*
+ ID_MODEL_FROM_DATABASE=FlyCAM-USB 300 XP2
+
+usb:v10FDpDE00*
+ ID_MODEL_FROM_DATABASE=WinFast WalkieTV WDM Capture Driver.
+
+usb:v10FE*
+ ID_VENDOR_FROM_DATABASE=Thrane & Thrane
+
+usb:v10FEp000C*
+ ID_MODEL_FROM_DATABASE=TT-3750 BGAN-XL Radio Module
+
+usb:v1100*
+ ID_VENDOR_FROM_DATABASE=VirTouch, Ltd
+
+usb:v1100p0001*
+ ID_MODEL_FROM_DATABASE=VTPlayer VTP-1 Braille Mouse
+
+usb:v1101*
+ ID_VENDOR_FROM_DATABASE=EasyPass Industrial Co., Ltd
+
+usb:v1101p0001*
+ ID_MODEL_FROM_DATABASE=FSK Electronics Super GSM Reader
+
+usb:v1108*
+ ID_VENDOR_FROM_DATABASE=Brightcom Technologies, Ltd
+
+usb:v110A*
+ ID_VENDOR_FROM_DATABASE=Moxa Technologies Co., Ltd.
+
+usb:v110Ap1250*
+ ID_MODEL_FROM_DATABASE=UPort 1250 2-Port RS-232/422/485
+
+usb:v110Ap1251*
+ ID_MODEL_FROM_DATABASE=UPort 1250I 2-Port RS-232/422/485 with Isolation
+
+usb:v110Ap1410*
+ ID_MODEL_FROM_DATABASE=UPort 1410 4-Port RS-232
+
+usb:v110Ap1450*
+ ID_MODEL_FROM_DATABASE=UPort 1450 4-Port RS-232/422/485
+
+usb:v110Ap1451*
+ ID_MODEL_FROM_DATABASE=UPort 1450I 4-Port RS-232/422/485 with Isolation
+
+usb:v110Ap1613*
+ ID_MODEL_FROM_DATABASE=UPort 1610-16 16-Port RS-232
+
+usb:v110Ap1618*
+ ID_MODEL_FROM_DATABASE=UPort 1610-8 8-Port RS-232
+
+usb:v110Ap1653*
+ ID_MODEL_FROM_DATABASE=UPort 1650-16 16-Port RS-232/422/485
+
+usb:v110Ap1658*
+ ID_MODEL_FROM_DATABASE=UPort 1650-8 8-Port RS-232/422/485
+
+usb:v1110*
+ ID_VENDOR_FROM_DATABASE=Analog Devices Canada, Ltd (Allied Telesyn)
+
+usb:v1110p5C01*
+ ID_MODEL_FROM_DATABASE=Huawei MT-882 Remote NDIS Network Device
+
+usb:v1110p6489*
+ ID_MODEL_FROM_DATABASE=ADSL ETH/USB RTR
+
+usb:v1110p9000*
+ ID_MODEL_FROM_DATABASE=ADSL LAN Adapter
+
+usb:v1110p9001*
+ ID_MODEL_FROM_DATABASE=ADSL Loader
+
+usb:v1110p900F*
+ ID_MODEL_FROM_DATABASE=AT-AR215 DSL Modem
+
+usb:v1110p9010*
+ ID_MODEL_FROM_DATABASE=AT-AR215 DSL Modem
+
+usb:v1110p9021*
+ ID_MODEL_FROM_DATABASE=ADSL WAN Adapter
+
+usb:v1110p9022*
+ ID_MODEL_FROM_DATABASE=ADSL Loader
+
+usb:v1110p9023*
+ ID_MODEL_FROM_DATABASE=ADSL WAN Adapter
+
+usb:v1110p9024*
+ ID_MODEL_FROM_DATABASE=ADSL Loader
+
+usb:v1110p9031*
+ ID_MODEL_FROM_DATABASE=ADSL LAN Adapter
+
+usb:v1110p9032*
+ ID_MODEL_FROM_DATABASE=ADSL Loader
+
+usb:v1111*
+ ID_VENDOR_FROM_DATABASE=Pandora International Ltd.
+
+usb:v1111p8888*
+ ID_MODEL_FROM_DATABASE=Evolution Device
+
+usb:v1112*
+ ID_VENDOR_FROM_DATABASE=YM ELECTRIC CO., Ltd
+
+usb:v1113*
+ ID_VENDOR_FROM_DATABASE=Medion AG
+
+usb:v1113pA0A2*
+ ID_MODEL_FROM_DATABASE=Active Sync device
+
+usb:v111E*
+ ID_VENDOR_FROM_DATABASE=VSO Electric Co., Ltd
+
+usb:v112A*
+ ID_VENDOR_FROM_DATABASE=RedRat
+
+usb:v112Ap0001*
+ ID_MODEL_FROM_DATABASE=RedRat3 IR Transceiver
+
+usb:v112Ap0005*
+ ID_MODEL_FROM_DATABASE=RedRat3II IR Transceiver
+
+usb:v112E*
+ ID_VENDOR_FROM_DATABASE=Master Hill Electric Wire and Cable Co., Ltd
+
+usb:v112F*
+ ID_VENDOR_FROM_DATABASE=Cellon International, Inc.
+
+usb:v1130*
+ ID_VENDOR_FROM_DATABASE=Tenx Technology, Inc.
+
+usb:v1130p0002*
+ ID_MODEL_FROM_DATABASE=iBuddy
+
+usb:v1130p0202*
+ ID_MODEL_FROM_DATABASE=Rocket Launcher
+
+usb:v1130p6604*
+ ID_MODEL_FROM_DATABASE=MCE IR-Receiver
+
+usb:v1130p660C*
+ ID_MODEL_FROM_DATABASE=Foot Pedal/Thermometer
+
+usb:v1130p6806*
+ ID_MODEL_FROM_DATABASE=Keychain photo frame
+
+usb:v1130pC301*
+ ID_MODEL_FROM_DATABASE=Digital Photo viewer [Wallet Pix]
+
+usb:v1130pF211*
+ ID_MODEL_FROM_DATABASE=TP6911 Audio Headset
+
+usb:v1131*
+ ID_VENDOR_FROM_DATABASE=Integrated System Solution Corp.
+
+usb:v1131p1001*
+ ID_MODEL_FROM_DATABASE=KY-BT100 Bluetooth Adapter
+
+usb:v1131p1002*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v1131p1003*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v1131p1004*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v1132*
+ ID_VENDOR_FROM_DATABASE=Toshiba Corp., Digital Media Equipment [hex]
+
+usb:v1132p4331*
+ ID_MODEL_FROM_DATABASE=PDR-M4/M5/M70 Digital Camera
+
+usb:v1132p4332*
+ ID_MODEL_FROM_DATABASE=PDR-M60 Digital Camera
+
+usb:v1132p4333*
+ ID_MODEL_FROM_DATABASE=PDR-M2300/PDR-M700
+
+usb:v1132p4334*
+ ID_MODEL_FROM_DATABASE=PDR-M65
+
+usb:v1132p4335*
+ ID_MODEL_FROM_DATABASE=PDR-M61
+
+usb:v1132p4337*
+ ID_MODEL_FROM_DATABASE=PDR-M11
+
+usb:v1132p4338*
+ ID_MODEL_FROM_DATABASE=PDR-M25
+
+usb:v1136*
+ ID_VENDOR_FROM_DATABASE=CTS Electronincs
+
+usb:v1136p3131*
+ ID_MODEL_FROM_DATABASE=CTS LS515
+
+usb:v113C*
+ ID_VENDOR_FROM_DATABASE=Arin Tech Co., Ltd
+
+usb:v113D*
+ ID_VENDOR_FROM_DATABASE=Mapower Electronics Co., Ltd
+
+usb:v1141*
+ ID_VENDOR_FROM_DATABASE=V One Multimedia, Pte., Ltd
+
+usb:v1142*
+ ID_VENDOR_FROM_DATABASE=CyberScan Technologies, Inc.
+
+usb:v1145*
+ ID_VENDOR_FROM_DATABASE=Japan Radio Company
+
+usb:v1145p0001*
+ ID_MODEL_FROM_DATABASE=AirH PHONE AH-J3001V/J3002V
+
+usb:v1146*
+ ID_VENDOR_FROM_DATABASE=Shimane SANYO Electric Co., Ltd.
+
+usb:v1147*
+ ID_VENDOR_FROM_DATABASE=Ever Great Electric Wire and Cable Co., Ltd
+
+usb:v114B*
+ ID_VENDOR_FROM_DATABASE=Sphairon Access Systems GmbH
+
+usb:v114Bp0110*
+ ID_MODEL_FROM_DATABASE=Turbolink UB801R WLAN Adapter
+
+usb:v114Bp0150*
+ ID_MODEL_FROM_DATABASE=Turbolink UB801RE Wireless 802.11g 54Mbps Network Adapter [RTL8187]
+
+usb:v114C*
+ ID_VENDOR_FROM_DATABASE=Tinius Olsen Testing Machine Co., Inc.
+
+usb:v114D*
+ ID_VENDOR_FROM_DATABASE=Alpha Imaging Technology Corp.
+
+usb:v114F*
+ ID_VENDOR_FROM_DATABASE=Wavecom
+
+usb:v115B*
+ ID_VENDOR_FROM_DATABASE=Salix Technology Co., Ltd.
+
+usb:v1162*
+ ID_VENDOR_FROM_DATABASE=Secugen Corp.
+
+usb:v1163*
+ ID_VENDOR_FROM_DATABASE=DeLorme Publishing, Inc.
+
+usb:v1163p0100*
+ ID_MODEL_FROM_DATABASE=Earthmate GPS (orig)
+
+usb:v1163p0200*
+ ID_MODEL_FROM_DATABASE=Earthmate GPS (LT-20, LT-40)
+
+usb:v1163p2020*
+ ID_MODEL_FROM_DATABASE=Earthmate GPS (PN-40)
+
+usb:v1164*
+ ID_VENDOR_FROM_DATABASE=YUAN High-Tech Development Co., Ltd
+
+usb:v1164p0300*
+ ID_MODEL_FROM_DATABASE=ELSAVISION 460D
+
+usb:v1164p0601*
+ ID_MODEL_FROM_DATABASE=Analog TV Tuner
+
+usb:v1164p0900*
+ ID_MODEL_FROM_DATABASE=TigerBird BMP837 USB2.0 WDM Encoder
+
+usb:v1164p0BC7*
+ ID_MODEL_FROM_DATABASE=Digital TV Tuner
+
+usb:v1164p521B*
+ ID_MODEL_FROM_DATABASE=MC521A mini Card ATSC Tuner
+
+usb:v1164p6601*
+ ID_MODEL_FROM_DATABASE=Digital TV Tuner Card [RTL2832U]
+
+usb:v1165*
+ ID_VENDOR_FROM_DATABASE=Telson Electronics Co., Ltd
+
+usb:v1166*
+ ID_VENDOR_FROM_DATABASE=Bantam Interactive Technologies
+
+usb:v1167*
+ ID_VENDOR_FROM_DATABASE=Salient Systems Corp.
+
+usb:v1168*
+ ID_VENDOR_FROM_DATABASE=BizConn International Corp.
+
+usb:v116E*
+ ID_VENDOR_FROM_DATABASE=Gigastorage Corp.
+
+usb:v116F*
+ ID_VENDOR_FROM_DATABASE=Silicon 10 Technology Corp.
+
+usb:v116Fp0005*
+ ID_MODEL_FROM_DATABASE=Flash Card Reader
+
+usb:v116FpC108*
+ ID_MODEL_FROM_DATABASE=Flash Card Reader
+
+usb:v116FpC109*
+ ID_MODEL_FROM_DATABASE=Flash Card Reader
+
+usb:v1175*
+ ID_VENDOR_FROM_DATABASE=Shengyih Steel Mold Co., Ltd
+
+usb:v117D*
+ ID_VENDOR_FROM_DATABASE=Santa Electronic, Inc.
+
+usb:v117E*
+ ID_VENDOR_FROM_DATABASE=JNC, Inc.
+
+usb:v1182*
+ ID_VENDOR_FROM_DATABASE=Venture Corp., Ltd
+
+usb:v1183*
+ ID_VENDOR_FROM_DATABASE=Compaq Computer Corp. [hex] (Digital Dream ??)
+
+usb:v1183p0001*
+ ID_MODEL_FROM_DATABASE=DigitalDream l'espion XS
+
+usb:v1183p19C7*
+ ID_MODEL_FROM_DATABASE=ISDN TA
+
+usb:v1183p4008*
+ ID_MODEL_FROM_DATABASE=56k FaxModem
+
+usb:v1183p504A*
+ ID_MODEL_FROM_DATABASE=PJB-100 Personal Jukebox
+
+usb:v1184*
+ ID_VENDOR_FROM_DATABASE=Kyocera Elco Corp.
+
+usb:v1188*
+ ID_VENDOR_FROM_DATABASE=Bloomberg L.P.
+
+usb:v1189*
+ ID_VENDOR_FROM_DATABASE=Acer Communications & Multimedia
+
+usb:v1189p0893*
+ ID_MODEL_FROM_DATABASE=EP-1427X-2 Ethernet Adapter [Acer]
+
+usb:v118F*
+ ID_VENDOR_FROM_DATABASE=You Yang Technology Co., Ltd
+
+usb:v1190*
+ ID_VENDOR_FROM_DATABASE=Tripace
+
+usb:v1191*
+ ID_VENDOR_FROM_DATABASE=Loyalty Founder Enterprise Co., Ltd
+
+usb:v1196*
+ ID_VENDOR_FROM_DATABASE=Yankee Robotics, LLC
+
+usb:v1196p0010*
+ ID_MODEL_FROM_DATABASE=Trifid Camera without code
+
+usb:v1196p0011*
+ ID_MODEL_FROM_DATABASE=Trifid Camera
+
+usb:v1197*
+ ID_VENDOR_FROM_DATABASE=Technoimagia Co., Ltd
+
+usb:v1198*
+ ID_VENDOR_FROM_DATABASE=StarShine Technology Corp.
+
+usb:v1199*
+ ID_VENDOR_FROM_DATABASE=Sierra Wireless, Inc.
+
+usb:v1199p0019*
+ ID_MODEL_FROM_DATABASE=AC595U
+
+usb:v1199p0021*
+ ID_MODEL_FROM_DATABASE=AC597E
+
+usb:v1199p0024*
+ ID_MODEL_FROM_DATABASE=MC5727 CDMA modem
+
+usb:v1199p0110*
+ ID_MODEL_FROM_DATABASE=Composite Device
+
+usb:v1199p0112*
+ ID_MODEL_FROM_DATABASE=CDMA 1xEVDO PC Card, AirCard 580
+
+usb:v1199p0120*
+ ID_MODEL_FROM_DATABASE=AC595U
+
+usb:v1199p0218*
+ ID_MODEL_FROM_DATABASE=MC5720 Wireless Modem
+
+usb:v1199p6467*
+ ID_MODEL_FROM_DATABASE=MP Series Network Adapter
+
+usb:v1199p6468*
+ ID_MODEL_FROM_DATABASE=MP Series Network Adapter
+
+usb:v1199p6469*
+ ID_MODEL_FROM_DATABASE=MP Series Network Adapter
+
+usb:v1199p6802*
+ ID_MODEL_FROM_DATABASE=MC8755 Device
+
+usb:v1199p6803*
+ ID_MODEL_FROM_DATABASE=MC8765 Device
+
+usb:v1199p6804*
+ ID_MODEL_FROM_DATABASE=MC8755 Device
+
+usb:v1199p6805*
+ ID_MODEL_FROM_DATABASE=MC8765 Device
+
+usb:v1199p6812*
+ ID_MODEL_FROM_DATABASE=MC8775 Device
+
+usb:v1199p6820*
+ ID_MODEL_FROM_DATABASE=AC875 Device
+
+usb:v1199p6832*
+ ID_MODEL_FROM_DATABASE=MC8780 Device
+
+usb:v1199p6833*
+ ID_MODEL_FROM_DATABASE=MC8781 Device
+
+usb:v1199p683A*
+ ID_MODEL_FROM_DATABASE=MC8785 Device
+
+usb:v1199p683C*
+ ID_MODEL_FROM_DATABASE=MC8790 Device
+
+usb:v1199p6850*
+ ID_MODEL_FROM_DATABASE=AirCard 880 Device
+
+usb:v1199p6851*
+ ID_MODEL_FROM_DATABASE=AirCard 881 Device
+
+usb:v1199p6852*
+ ID_MODEL_FROM_DATABASE=AirCard 880E Device
+
+usb:v1199p6853*
+ ID_MODEL_FROM_DATABASE=AirCard 881E Device
+
+usb:v1199p6854*
+ ID_MODEL_FROM_DATABASE=AirCard 885 Device
+
+usb:v1199p6856*
+ ID_MODEL_FROM_DATABASE=ATT "USB Connect 881"
+
+usb:v1199p6870*
+ ID_MODEL_FROM_DATABASE=MC8780 Device
+
+usb:v1199p6871*
+ ID_MODEL_FROM_DATABASE=MC8781 Device
+
+usb:v1199p6893*
+ ID_MODEL_FROM_DATABASE=MC8777 Device
+
+usb:v1199p68A3*
+ ID_MODEL_FROM_DATABASE=MC8700 Modem
+
+usb:v1199p68AA*
+ ID_MODEL_FROM_DATABASE=4G LTE adapter
+
+usb:v1199p9000*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem (QDL mode)
+
+usb:v1199p9001*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem
+
+usb:v1199p9002*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem
+
+usb:v1199p9003*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem
+
+usb:v1199p9004*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem
+
+usb:v1199p9005*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem
+
+usb:v1199p9006*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem
+
+usb:v1199p9007*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem
+
+usb:v1199p9008*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem
+
+usb:v1199p9009*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem
+
+usb:v1199p900A*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem
+
+usb:v119A*
+ ID_VENDOR_FROM_DATABASE=ZHAN QI Technology Co., Ltd
+
+usb:v119B*
+ ID_VENDOR_FROM_DATABASE=ruwido austria GmbH
+
+usb:v119Bp0400*
+ ID_MODEL_FROM_DATABASE=Infrared Keyboard V2.01
+
+usb:v11A0*
+ ID_VENDOR_FROM_DATABASE=Chipcon AS
+
+usb:v11A0pEB11*
+ ID_MODEL_FROM_DATABASE=CC2400EB 2.0 ZigBee Sniffer
+
+usb:v11A3*
+ ID_VENDOR_FROM_DATABASE=Technovas Co., Ltd
+
+usb:v11A3p8031*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v11A3p8032*
+ ID_MODEL_FROM_DATABASE=MP3 Player
+
+usb:v11AA*
+ ID_VENDOR_FROM_DATABASE=GlobalMedia Group, LLC
+
+usb:v11AAp1518*
+ ID_MODEL_FROM_DATABASE=iREZ K2
+
+usb:v11AB*
+ ID_VENDOR_FROM_DATABASE=Exito Electronics Co., Ltd
+
+usb:v11AC*
+ ID_VENDOR_FROM_DATABASE=Nike
+
+usb:v11ACp6565*
+ ID_MODEL_FROM_DATABASE=FuelBand
+
+usb:v11B0*
+ ID_VENDOR_FROM_DATABASE=ATECH FLASH TECHNOLOGY
+
+usb:v11C5*
+ ID_VENDOR_FROM_DATABASE=Inmax
+
+usb:v11C5p0521*
+ ID_MODEL_FROM_DATABASE=IMT-0521 Smartcard Reader
+
+usb:v11DB*
+ ID_VENDOR_FROM_DATABASE=Topfield Co., Ltd.
+
+usb:v11DBp1000*
+ ID_MODEL_FROM_DATABASE=PVR
+
+usb:v11DBp1100*
+ ID_MODEL_FROM_DATABASE=PVR
+
+usb:v11E6*
+ ID_VENDOR_FROM_DATABASE=K.I. Technology Co. Ltd.
+
+usb:v11F5*
+ ID_VENDOR_FROM_DATABASE=Siemens AG
+
+usb:v11F5p0001*
+ ID_MODEL_FROM_DATABASE=SX1
+
+usb:v11F5p0003*
+ ID_MODEL_FROM_DATABASE=Mobile phone USB cable
+
+usb:v11F5p0004*
+ ID_MODEL_FROM_DATABASE=X75
+
+usb:v11F5p0005*
+ ID_MODEL_FROM_DATABASE=SXG75/EF81
+
+usb:v11F5p0008*
+ ID_MODEL_FROM_DATABASE=UMTS/HSDPA Data Card
+
+usb:v11F6*
+ ID_VENDOR_FROM_DATABASE=Prolific
+
+usb:v11F6p2001*
+ ID_MODEL_FROM_DATABASE=Willcom WSIM
+
+usb:v11F7*
+ ID_VENDOR_FROM_DATABASE=Alcatel (?)
+
+usb:v11F7p02DF*
+ ID_MODEL_FROM_DATABASE=TD10 Mobile phone USB cable
+
+usb:v1203*
+ ID_VENDOR_FROM_DATABASE=TSC Auto ID Technology Co., Ltd
+
+usb:v1203p0140*
+ ID_MODEL_FROM_DATABASE=TTP-245C
+
+usb:v1209*
+ ID_VENDOR_FROM_DATABASE=InterBiometrics
+
+usb:v1209p1001*
+ ID_MODEL_FROM_DATABASE=USB Hub
+
+usb:v1209p1002*
+ ID_MODEL_FROM_DATABASE=USB Relais
+
+usb:v1209p1003*
+ ID_MODEL_FROM_DATABASE=IBSecureCam-P
+
+usb:v1209p1004*
+ ID_MODEL_FROM_DATABASE=IBSecureCam-O
+
+usb:v1209p1005*
+ ID_MODEL_FROM_DATABASE=IBSecureCam-N
+
+usb:v120E*
+ ID_VENDOR_FROM_DATABASE=Hudson Soft Co., Ltd
+
+usb:v120F*
+ ID_VENDOR_FROM_DATABASE=Magellan
+
+usb:v120Fp524E*
+ ID_MODEL_FROM_DATABASE=RoadMate 1475T
+
+usb:v120Fp5260*
+ ID_MODEL_FROM_DATABASE=Triton Handheld GPS Receiver (300/400/500/1500/2000)
+
+usb:v1210*
+ ID_VENDOR_FROM_DATABASE=DigiTech
+
+usb:v1210p001B*
+ ID_MODEL_FROM_DATABASE=RP155 Guitar Multi-Effects Processor
+
+usb:v1210p001C*
+ ID_MODEL_FROM_DATABASE=RP255 Guitar Multi-Effects Processor
+
+usb:v121E*
+ ID_VENDOR_FROM_DATABASE=Jungsoft Co., Ltd
+
+usb:v121Ep3403*
+ ID_MODEL_FROM_DATABASE=Muzio JM250 Audio Player
+
+usb:v1223*
+ ID_VENDOR_FROM_DATABASE=SKYCABLE ENTERPRISE. CO., LTD.
+
+usb:v1230*
+ ID_VENDOR_FROM_DATABASE=Chipidea-Microelectronica, S.A.
+
+usb:v1233*
+ ID_VENDOR_FROM_DATABASE=Denver Electronics
+
+usb:v1233p5677*
+ ID_MODEL_FROM_DATABASE=FUSB200 mp3 player
+
+usb:v1234*
+ ID_VENDOR_FROM_DATABASE=Brain Actuated Technologies
+
+usb:v1234p0000*
+ ID_MODEL_FROM_DATABASE=Neural Impulse Actuator Prototype 1.0 [NIA]
+
+usb:v1234p4321*
+ ID_MODEL_FROM_DATABASE=Human Interface Device
+
+usb:v1234pED02*
+ ID_MODEL_FROM_DATABASE=Emotiv EPOC Developer Headset Wireless Dongle
+
+usb:v1235*
+ ID_VENDOR_FROM_DATABASE=Novation EMS
+
+usb:v1235p0001*
+ ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation
+
+usb:v1235p0002*
+ ID_MODEL_FROM_DATABASE=Speedio
+
+usb:v1235p0003*
+ ID_MODEL_FROM_DATABASE=ReMOTE ZeRO SL
+
+usb:v1235p4661*
+ ID_MODEL_FROM_DATABASE=ReMOTE25
+
+usb:v1235p8006*
+ ID_MODEL_FROM_DATABASE=Focusrite Scarlett 2i2
+
+usb:v1241*
+ ID_VENDOR_FROM_DATABASE=Belkin
+
+usb:v1241p0504*
+ ID_MODEL_FROM_DATABASE=Wireless Trackball Keyboard
+
+usb:v1241p1111*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v1241p1122*
+ ID_MODEL_FROM_DATABASE=Typhoon Stream Optical Mouse USB+PS/2
+
+usb:v1241p1155*
+ ID_MODEL_FROM_DATABASE=PS2/USB Browser Combo Mouse
+
+usb:v1241p1166*
+ ID_MODEL_FROM_DATABASE=MI-2150 Trust Mouse
+
+usb:v1241p1177*
+ ID_MODEL_FROM_DATABASE=F8E842-DL Mouse
+
+usb:v1241p1503*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v1241p1603*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v1241pF767*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v124A*
+ ID_VENDOR_FROM_DATABASE=AirVast
+
+usb:v124Ap168B*
+ ID_MODEL_FROM_DATABASE=PRISM3 WLAN Adapter
+
+usb:v124Ap4017*
+ ID_MODEL_FROM_DATABASE=PC-Chips 802.11b Adapter
+
+usb:v124Ap4023*
+ ID_MODEL_FROM_DATABASE=WM168g 802.11bg Wireless Adapter [Intersil ISL3886]
+
+usb:v124Ap4025*
+ ID_MODEL_FROM_DATABASE=IOGear GWU513 v2 802.11bg Wireless Adapter [Intersil ISL3887]
+
+usb:v124B*
+ ID_VENDOR_FROM_DATABASE=Nyko (Honey Bee)
+
+usb:v124Bp4D01*
+ ID_MODEL_FROM_DATABASE=Airflo EX Joystick
+
+usb:v124C*
+ ID_VENDOR_FROM_DATABASE=MXI - Memory Experts International, Inc.
+
+usb:v124Cp3200*
+ ID_MODEL_FROM_DATABASE=Stealth MXP 1GB
+
+usb:v125C*
+ ID_VENDOR_FROM_DATABASE=Apogee Inc.
+
+usb:v125Cp0010*
+ ID_MODEL_FROM_DATABASE=Alta series CCD
+
+usb:v125F*
+ ID_VENDOR_FROM_DATABASE=A-DATA Technology Co., Ltd.
+
+usb:v125Fp312A*
+ ID_MODEL_FROM_DATABASE=Superior S102
+
+usb:v125Fp312B*
+ ID_MODEL_FROM_DATABASE=Superior S102 Pro
+
+usb:v125FpA91A*
+ ID_MODEL_FROM_DATABASE=Portable HDD CH91
+
+usb:v125FpC08A*
+ ID_MODEL_FROM_DATABASE=C008 Flash Drive
+
+usb:v125FpC81A*
+ ID_MODEL_FROM_DATABASE=Flash drive
+
+usb:v125FpC93A*
+ ID_MODEL_FROM_DATABASE=4GB Pen Drive
+
+usb:v125FpC96A*
+ ID_MODEL_FROM_DATABASE=C906 Flash Drive
+
+usb:v1260*
+ ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
+
+usb:v1260pEE22*
+ ID_MODEL_FROM_DATABASE=SMC2862W-G v3 EZ Connect 802.11g Adapter [Intersil ISL3887]
+
+usb:v1264*
+ ID_VENDOR_FROM_DATABASE=Covidien Energy-based Devices
+
+usb:v1266*
+ ID_VENDOR_FROM_DATABASE=Pirelli Broadband Solutions
+
+usb:v1266p6302*
+ ID_MODEL_FROM_DATABASE=Fastweb DRG A226M ADSL Router
+
+usb:v1267*
+ ID_VENDOR_FROM_DATABASE=Logic3 / SpectraVideo plc
+
+usb:v1267p0103*
+ ID_MODEL_FROM_DATABASE=G-720 Keyboard
+
+usb:v1267p0201*
+ ID_MODEL_FROM_DATABASE=A4Tech SWOP-3 Mouse
+
+usb:v1267p0210*
+ ID_MODEL_FROM_DATABASE=LG Optical Mouse 3D-310
+
+usb:v1267pA001*
+ ID_MODEL_FROM_DATABASE=JP260 PC Game Pad
+
+usb:v1267pC002*
+ ID_MODEL_FROM_DATABASE=Wireless Optical Mouse
+
+usb:v126C*
+ ID_VENDOR_FROM_DATABASE=Aristocrat Technologies
+
+usb:v126D*
+ ID_VENDOR_FROM_DATABASE=Bel Stewart
+
+usb:v126E*
+ ID_VENDOR_FROM_DATABASE=Strobe Data, Inc.
+
+usb:v126F*
+ ID_VENDOR_FROM_DATABASE=TwinMOS
+
+usb:v126Fp0163*
+ ID_MODEL_FROM_DATABASE=Storage device (2gB thumb drive)
+
+usb:v126Fp1325*
+ ID_MODEL_FROM_DATABASE=Mobile Disk
+
+usb:v126Fp2168*
+ ID_MODEL_FROM_DATABASE=Mobile Disk III
+
+usb:v126FpA006*
+ ID_MODEL_FROM_DATABASE=G240 802.11bg
+
+usb:v1274*
+ ID_VENDOR_FROM_DATABASE=Ensoniq
+
+usb:v1275*
+ ID_VENDOR_FROM_DATABASE=Xaxero Marine Software Engineering, Ltd.
+
+usb:v1275p0002*
+ ID_MODEL_FROM_DATABASE=WeatherFax 2000 Demodulator
+
+usb:v1275p0080*
+ ID_MODEL_FROM_DATABASE=SkyEye Weather Satellite Receiver
+
+usb:v1278*
+ ID_VENDOR_FROM_DATABASE=Starlight Xpress
+
+usb:v1278p0105*
+ ID_MODEL_FROM_DATABASE=SXV-M5
+
+usb:v1278p0107*
+ ID_MODEL_FROM_DATABASE=SXV-M7
+
+usb:v1278p0109*
+ ID_MODEL_FROM_DATABASE=SXV-M9
+
+usb:v1278p0110*
+ ID_MODEL_FROM_DATABASE=SXVF-H16
+
+usb:v1278p0115*
+ ID_MODEL_FROM_DATABASE=SXVF-H5
+
+usb:v1278p0119*
+ ID_MODEL_FROM_DATABASE=SXV-H9
+
+usb:v1278p0135*
+ ID_MODEL_FROM_DATABASE=SXVF-H35
+
+usb:v1278p0136*
+ ID_MODEL_FROM_DATABASE=SXVF-H36
+
+usb:v1278p0200*
+ ID_MODEL_FROM_DATABASE=SXV interface for paraller MX cameras
+
+usb:v1278p0305*
+ ID_MODEL_FROM_DATABASE=SXV-M5C
+
+usb:v1278p0307*
+ ID_MODEL_FROM_DATABASE=SXV-M7C
+
+usb:v1278p0319*
+ ID_MODEL_FROM_DATABASE=SXV-H9C
+
+usb:v1278p0325*
+ ID_MODEL_FROM_DATABASE=SXV-M25C
+
+usb:v1278p0326*
+ ID_MODEL_FROM_DATABASE=SXVR-M26C
+
+usb:v1278p0507*
+ ID_MODEL_FROM_DATABASE=Lodestar autoguider
+
+usb:v1278p0517*
+ ID_MODEL_FROM_DATABASE=CoStar
+
+usb:v1283*
+ ID_VENDOR_FROM_DATABASE=zebris Medical GmbH
+
+usb:v1283p0100*
+ ID_MODEL_FROM_DATABASE=USB-RS232 Adaptor
+
+usb:v1283p0110*
+ ID_MODEL_FROM_DATABASE=CMS20
+
+usb:v1283p0111*
+ ID_MODEL_FROM_DATABASE=CMS 10
+
+usb:v1283p0112*
+ ID_MODEL_FROM_DATABASE=CMS 05
+
+usb:v1283p0114*
+ ID_MODEL_FROM_DATABASE=ARCUS digma PC-Interface
+
+usb:v1283p0115*
+ ID_MODEL_FROM_DATABASE=SAM Axioquick recorder
+
+usb:v1283p0116*
+ ID_MODEL_FROM_DATABASE=SAM Axioquick recorder
+
+usb:v1283p0120*
+ ID_MODEL_FROM_DATABASE=emed-X
+
+usb:v1283p0121*
+ ID_MODEL_FROM_DATABASE=emed-AT
+
+usb:v1283p0130*
+ ID_MODEL_FROM_DATABASE=PDM
+
+usb:v1283p0150*
+ ID_MODEL_FROM_DATABASE=CMS10GI (Golf)
+
+usb:v1286*
+ ID_VENDOR_FROM_DATABASE=Marvell Semiconductor, Inc.
+
+usb:v1286p1FAB*
+ ID_MODEL_FROM_DATABASE=88W8338 [Libertas] 802.11g
+
+usb:v1286p2001*
+ ID_MODEL_FROM_DATABASE=88W8388 802.11a/b/g WLAN
+
+usb:v1286p2006*
+ ID_MODEL_FROM_DATABASE=88W8362 802.11n WLAN
+
+usb:v1286p8001*
+ ID_MODEL_FROM_DATABASE=BLOB boot loader firmware
+
+usb:v1291*
+ ID_VENDOR_FROM_DATABASE=Qualcomm Flarion Technologies, Inc. / Leadtek Research, Inc.
+
+usb:v1291p0010*
+ ID_MODEL_FROM_DATABASE=FDM 2xxx Flash-OFDM modem
+
+usb:v1291p0011*
+ ID_MODEL_FROM_DATABASE=LR7F06/LR7F14 Flash-OFDM modem
+
+usb:v1292*
+ ID_VENDOR_FROM_DATABASE=Innomedia
+
+usb:v1292p0258*
+ ID_MODEL_FROM_DATABASE=Creative Labs VoIP Blaster
+
+usb:v1293*
+ ID_VENDOR_FROM_DATABASE=Belkin Components [hex]
+
+usb:v1293p0002*
+ ID_MODEL_FROM_DATABASE=F5U002 Parallel Port [uss720]
+
+usb:v1293p2101*
+ ID_MODEL_FROM_DATABASE=104-key keyboard
+
+usb:v1294*
+ ID_VENDOR_FROM_DATABASE=RISO KAGAKU CORP.
+
+usb:v129B*
+ ID_VENDOR_FROM_DATABASE=CyberTAN Technology
+
+usb:v129Bp160B*
+ ID_MODEL_FROM_DATABASE=Siemens S30853-S1031-R351 802.11g Wireless Adapter [Atheros AR5523]
+
+usb:v129Bp160C*
+ ID_MODEL_FROM_DATABASE=Siemens S30853-S1038-R351 802.11g Wireless Adapter [Atheros AR5523]
+
+usb:v129Bp1666*
+ ID_MODEL_FROM_DATABASE=TG54USB 802.11bg
+
+usb:v129Bp1667*
+ ID_MODEL_FROM_DATABASE=802.11bg
+
+usb:v129Bp1828*
+ ID_MODEL_FROM_DATABASE=Gigaset USB Adapter 300
+
+usb:v12A7*
+ ID_VENDOR_FROM_DATABASE=Trendchip Technologies Corp.
+
+usb:v12AB*
+ ID_VENDOR_FROM_DATABASE=Honey Bee Electronic International Ltd.
+
+usb:v12B8*
+ ID_VENDOR_FROM_DATABASE=Zhejiang Xinya Electronic Technology Co., Ltd.
+
+usb:v12B9*
+ ID_VENDOR_FROM_DATABASE=E28
+
+usb:v12BA*
+ ID_VENDOR_FROM_DATABASE=Licensed by Sony Computer Entertainment America
+
+usb:v12BAp00FF*
+ ID_MODEL_FROM_DATABASE=Rocksmith Guitar Adapter
+
+usb:v12BAp0100*
+ ID_MODEL_FROM_DATABASE=RedOctane Guitar for PlayStation(R)3
+
+usb:v12BAp0120*
+ ID_MODEL_FROM_DATABASE=RedOctane Drum Kit for PlayStation(R)3
+
+usb:v12BAp0200*
+ ID_MODEL_FROM_DATABASE=Harmonix Guitar for PlayStation(R)3
+
+usb:v12BAp0210*
+ ID_MODEL_FROM_DATABASE=Harmonix Drum Kit for PlayStation(R)3
+
+usb:v12C4*
+ ID_VENDOR_FROM_DATABASE=Autocue Group Ltd
+
+usb:v12C4p0006*
+ ID_MODEL_FROM_DATABASE=Teleprompter Two-button Hand Control (v1)
+
+usb:v12C4p0008*
+ ID_MODEL_FROM_DATABASE=Teleprompter Foot Control (v1)
+
+usb:v12D1*
+ ID_VENDOR_FROM_DATABASE=Huawei Technologies Co., Ltd.
+
+usb:v12D1p1001*
+ ID_MODEL_FROM_DATABASE=E169/E620/E800 HSDPA Modem
+
+usb:v12D1p1003*
+ ID_MODEL_FROM_DATABASE=E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem
+
+usb:v12D1p1004*
+ ID_MODEL_FROM_DATABASE=E220 (bis)
+
+usb:v12D1p1009*
+ ID_MODEL_FROM_DATABASE=U120
+
+usb:v12D1p1010*
+ ID_MODEL_FROM_DATABASE=ETS2252+ CDMA Fixed Wireless Terminal
+
+usb:v12D1p1021*
+ ID_MODEL_FROM_DATABASE=U8520
+
+usb:v12D1p1035*
+ ID_MODEL_FROM_DATABASE=U8120
+
+usb:v12D1p1037*
+ ID_MODEL_FROM_DATABASE=Ideos
+
+usb:v12D1p1038*
+ ID_MODEL_FROM_DATABASE=Ideos (debug mode)
+
+usb:v12D1p1039*
+ ID_MODEL_FROM_DATABASE=Ideos (tethering mode)
+
+usb:v12D1p1406*
+ ID_MODEL_FROM_DATABASE=E1750
+
+usb:v12D1p140B*
+ ID_MODEL_FROM_DATABASE=EC1260 Wireless Data Modem HSD USB Card
+
+usb:v12D1p140C*
+ ID_MODEL_FROM_DATABASE=E180v
+
+usb:v12D1p1412*
+ ID_MODEL_FROM_DATABASE=EC168c
+
+usb:v12D1p1436*
+ ID_MODEL_FROM_DATABASE=E173 3G Modem (modem-mode)
+
+usb:v12D1p1446*
+ ID_MODEL_FROM_DATABASE=E1552/E1800/E173 (HSPA modem)
+
+usb:v12D1p1465*
+ ID_MODEL_FROM_DATABASE=K3765 HSPA
+
+usb:v12D1p14C3*
+ ID_MODEL_FROM_DATABASE=K5005 Vodafone LTE/UMTS/GSM Modem/Networkcard
+
+usb:v12D1p14C8*
+ ID_MODEL_FROM_DATABASE=K5005 Vodafone LTE/UMTS/GSM MOdem/Networkcard
+
+usb:v12D1p14C9*
+ ID_MODEL_FROM_DATABASE=K3770 3G Modem
+
+usb:v12D1p14D1*
+ ID_MODEL_FROM_DATABASE=K3770 3G Modem (Mass Storage Mode)
+
+usb:v12D1p14F1*
+ ID_MODEL_FROM_DATABASE=Gobi 3000 HSPA+ Modem
+
+usb:v12D1p1501*
+ ID_MODEL_FROM_DATABASE=Pulse
+
+usb:v12D1p1505*
+ ID_MODEL_FROM_DATABASE=E398 LTE/UMTS/GSM Modem/Networkcard
+
+usb:v12D1p1506*
+ ID_MODEL_FROM_DATABASE=E398 LTE/UMTS/GSM Modem/Networkcard
+
+usb:v12D1p150A*
+ ID_MODEL_FROM_DATABASE=E398 LTE/UMTS/GSM Modem/Networkcard
+
+usb:v12D1p1520*
+ ID_MODEL_FROM_DATABASE=K3765 HSPA
+
+usb:v12D1p1521*
+ ID_MODEL_FROM_DATABASE=K4505 HSPA+
+
+usb:v12D1p1805*
+ ID_MODEL_FROM_DATABASE=AT&T Go Phone U2800A phone
+
+usb:v12D1p1C05*
+ ID_MODEL_FROM_DATABASE=E173s 3G broadband stick (modem on)
+
+usb:v12D1p1C0B*
+ ID_MODEL_FROM_DATABASE=E173s 3G broadband stick (modem off)
+
+usb:v12D1p1D50*
+ ID_MODEL_FROM_DATABASE=ET302s TD-SCDMA/TD-HSDPA Mobile Broadband
+
+usb:v12D1p380B*
+ ID_MODEL_FROM_DATABASE=WiMAX USB modem(s)
+
+usb:v12D2*
+ ID_VENDOR_FROM_DATABASE=LINE TECH INDUSTRIAL CO., LTD.
+
+usb:v12D6*
+ ID_VENDOR_FROM_DATABASE=EMS Dr. Thomas Wuensche
+
+usb:v12D6p0444*
+ ID_MODEL_FROM_DATABASE=CPC-USB/ARM7
+
+usb:v12D6p0888*
+ ID_MODEL_FROM_DATABASE=CPC-USB/M16C
+
+usb:v12D7*
+ ID_VENDOR_FROM_DATABASE=BETTER WIRE FACTORY CO., LTD.
+
+usb:v12E6*
+ ID_VENDOR_FROM_DATABASE=Waldorf Music GmbH
+
+usb:v12E6p0013*
+ ID_MODEL_FROM_DATABASE=Blofeld
+
+usb:v12EF*
+ ID_VENDOR_FROM_DATABASE=Tapwave, Inc.
+
+usb:v12EFp0100*
+ ID_MODEL_FROM_DATABASE=Tapwave Handheld [Tapwave Zodiac]
+
+usb:v12F5*
+ ID_VENDOR_FROM_DATABASE=Dynamic System Electronics Corp.
+
+usb:v12F7*
+ ID_VENDOR_FROM_DATABASE=Memorex Products, Inc.
+
+usb:v12F7p1A00*
+ ID_MODEL_FROM_DATABASE=TD Classic 003B
+
+usb:v12F7p1E23*
+ ID_MODEL_FROM_DATABASE=TravelDrive 2007 Flash Drive
+
+usb:v12FD*
+ ID_VENDOR_FROM_DATABASE=AIN Comm. Technology Co., Ltd
+
+usb:v12FDp1001*
+ ID_MODEL_FROM_DATABASE=AWU2000b 802.11b Stick
+
+usb:v12FF*
+ ID_VENDOR_FROM_DATABASE=Fascinating Electronics, Inc.
+
+usb:v12FFp0101*
+ ID_MODEL_FROM_DATABASE=Advanced RC Servo Controller
+
+usb:v1307*
+ ID_VENDOR_FROM_DATABASE=Transcend Information, Inc.
+
+usb:v1307p0163*
+ ID_MODEL_FROM_DATABASE=256MB/512MB/1GB Flash Drive
+
+usb:v1307p0165*
+ ID_MODEL_FROM_DATABASE=2GB/4GB Flash Drive
+
+usb:v1307p0190*
+ ID_MODEL_FROM_DATABASE=Ut190 8 GB Flash Drive with MicroSD reader
+
+usb:v1307p0310*
+ ID_MODEL_FROM_DATABASE=SD/MicroSD CardReader [hama]
+
+usb:v1307p0330*
+ ID_MODEL_FROM_DATABASE=63-in-1 Multi-Card Reader/Writer
+
+usb:v1307p0361*
+ ID_MODEL_FROM_DATABASE=CR-75: 51-in-1 Card Reader/Writer [Sakar]
+
+usb:v1307p1169*
+ ID_MODEL_FROM_DATABASE=TS2GJF210 JetFlash 210 2GB
+
+usb:v1307p1171*
+ ID_MODEL_FROM_DATABASE=Fingerprint Reader
+
+usb:v1308*
+ ID_VENDOR_FROM_DATABASE=Shuttle, Inc.
+
+usb:v1308p0003*
+ ID_MODEL_FROM_DATABASE=VFD Module
+
+usb:v1308pC001*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver
+
+usb:v1310*
+ ID_VENDOR_FROM_DATABASE=Roper
+
+usb:v1310p0001*
+ ID_MODEL_FROM_DATABASE=Class 1 Bluetooth Dongle
+
+usb:v1312*
+ ID_VENDOR_FROM_DATABASE=ICS Electronics
+
+usb:v1313*
+ ID_VENDOR_FROM_DATABASE=ThorLabs
+
+usb:v1313p8070*
+ ID_MODEL_FROM_DATABASE=PM100D
+
+usb:v131D*
+ ID_VENDOR_FROM_DATABASE=Natural Point
+
+usb:v131Dp0155*
+ ID_MODEL_FROM_DATABASE=TrackIR 3 Pro Head Tracker
+
+usb:v131Dp0156*
+ ID_MODEL_FROM_DATABASE=TrackIR 4 Pro Head Tracker
+
+usb:v132A*
+ ID_VENDOR_FROM_DATABASE=Envara Inc.
+
+usb:v132Ap1502*
+ ID_MODEL_FROM_DATABASE=WiND 802.11abg / 802.11bg WLAN
+
+usb:v132B*
+ ID_VENDOR_FROM_DATABASE=Konica Minolta
+
+usb:v132Bp0000*
+ ID_MODEL_FROM_DATABASE=Dimage A2 Camera
+
+usb:v132Bp0001*
+ ID_MODEL_FROM_DATABASE=Minolta DiMAGE A2 (ptp)
+
+usb:v132Bp0003*
+ ID_MODEL_FROM_DATABASE=Dimage Xg Camera
+
+usb:v132Bp0006*
+ ID_MODEL_FROM_DATABASE=Dimage Z2 Camera
+
+usb:v132Bp0007*
+ ID_MODEL_FROM_DATABASE=Minolta DiMAGE Z2 (PictBridge mode)
+
+usb:v132Bp0008*
+ ID_MODEL_FROM_DATABASE=Dimage X21 Camera
+
+usb:v132Bp000A*
+ ID_MODEL_FROM_DATABASE=Dimage Scan Dual IV AF-3200 (2891)
+
+usb:v132Bp000B*
+ ID_MODEL_FROM_DATABASE=Dimage Z10 Camera
+
+usb:v132Bp000D*
+ ID_MODEL_FROM_DATABASE=Dimage X50 Camera [storage?]
+
+usb:v132Bp000F*
+ ID_MODEL_FROM_DATABASE=Dimage X50 Camera [p2p?]
+
+usb:v132Bp0010*
+ ID_MODEL_FROM_DATABASE=Dimage G600 Camera
+
+usb:v132Bp0012*
+ ID_MODEL_FROM_DATABASE=Dimage Scan Elite 5400 II (2892)
+
+usb:v132Bp0013*
+ ID_MODEL_FROM_DATABASE=Dimage X31 Camera
+
+usb:v132Bp0015*
+ ID_MODEL_FROM_DATABASE=Dimage G530 Camera
+
+usb:v132Bp0017*
+ ID_MODEL_FROM_DATABASE=Dimage Z3 Camera
+
+usb:v132Bp0018*
+ ID_MODEL_FROM_DATABASE=Minolta DiMAGE Z3 (PictBridge mode)
+
+usb:v132Bp0019*
+ ID_MODEL_FROM_DATABASE=Dimage A200 Camera
+
+usb:v132Bp0021*
+ ID_MODEL_FROM_DATABASE=Dimage Z5 Camera
+
+usb:v132Bp0022*
+ ID_MODEL_FROM_DATABASE=Minolta DiMAGE Z5 (PictBridge mode)
+
+usb:v132Bp002C*
+ ID_MODEL_FROM_DATABASE=Dynax 5D camera
+
+usb:v132Bp2001*
+ ID_MODEL_FROM_DATABASE=Magicolor 2400w
+
+usb:v132Bp2004*
+ ID_MODEL_FROM_DATABASE=Magicolor 5430DL
+
+usb:v132Bp2005*
+ ID_MODEL_FROM_DATABASE=Magicolor 2430 DL
+
+usb:v132Bp2029*
+ ID_MODEL_FROM_DATABASE=Magicolor 5440DL
+
+usb:v132Bp2030*
+ ID_MODEL_FROM_DATABASE=PagePro 1350E(N)
+
+usb:v132Bp2033*
+ ID_MODEL_FROM_DATABASE=PagePro 1400W
+
+usb:v132Bp2043*
+ ID_MODEL_FROM_DATABASE=Magicolor 2530DL
+
+usb:v132Bp2045*
+ ID_MODEL_FROM_DATABASE=Magicolor 2500W
+
+usb:v132Bp2049*
+ ID_MODEL_FROM_DATABASE=Magicolor 2490MF
+
+usb:v1342*
+ ID_VENDOR_FROM_DATABASE=Mobility
+
+usb:v1342p0200*
+ ID_MODEL_FROM_DATABASE=EasiDock 200 Hub
+
+usb:v1342p0201*
+ ID_MODEL_FROM_DATABASE=EasiDock 200 Keyboard and Mouse Port
+
+usb:v1342p0202*
+ ID_MODEL_FROM_DATABASE=EasiDock 200 Serial Port
+
+usb:v1342p0203*
+ ID_MODEL_FROM_DATABASE=EasiDock 200 Printer Port
+
+usb:v1342p0204*
+ ID_MODEL_FROM_DATABASE=Ethernet
+
+usb:v1342p0304*
+ ID_MODEL_FROM_DATABASE=EasiDock Ethernet
+
+usb:v1345*
+ ID_VENDOR_FROM_DATABASE=Sino Lite Technology Corp.
+
+usb:v1345p001C*
+ ID_MODEL_FROM_DATABASE=Xbox Controller Hub
+
+usb:v1345p6006*
+ ID_MODEL_FROM_DATABASE=Defender Wireless Controller
+
+usb:v1347*
+ ID_VENDOR_FROM_DATABASE=Moravian Instruments
+
+usb:v1347p0400*
+ ID_MODEL_FROM_DATABASE=G2CCD USB 1.1 obsolete
+
+usb:v1347p0401*
+ ID_MODEL_FROM_DATABASE=G2CCD-S with Sony ICX285 CCD
+
+usb:v1347p0402*
+ ID_MODEL_FROM_DATABASE=G2CCD2
+
+usb:v1347p0403*
+ ID_MODEL_FROM_DATABASE=G2/G3CCD-I KAI CCD
+
+usb:v1347p0404*
+ ID_MODEL_FROM_DATABASE=G2/G3/G4 CCD-F KAF CCD
+
+usb:v1347p0410*
+ ID_MODEL_FROM_DATABASE=G1-0400 CCD
+
+usb:v1347p0411*
+ ID_MODEL_FROM_DATABASE=G1-0800 CCD
+
+usb:v1347p0412*
+ ID_MODEL_FROM_DATABASE=G1-0300 CCD
+
+usb:v1347p0413*
+ ID_MODEL_FROM_DATABASE=G1-2000 CCD
+
+usb:v1347p0414*
+ ID_MODEL_FROM_DATABASE=G1-1400 CCD
+
+usb:v1348*
+ ID_VENDOR_FROM_DATABASE=Katsuragawa Electric Co., Ltd.
+
+usb:v134C*
+ ID_VENDOR_FROM_DATABASE=PanJit International Inc.
+
+usb:v134Cp0001*
+ ID_MODEL_FROM_DATABASE=Touch Panel Controller
+
+usb:v134Cp0002*
+ ID_MODEL_FROM_DATABASE=Touch Panel Controller
+
+usb:v134Cp0003*
+ ID_MODEL_FROM_DATABASE=Touch Panel Controller
+
+usb:v134Cp0004*
+ ID_MODEL_FROM_DATABASE=Touch Panel Controller
+
+usb:v134E*
+ ID_VENDOR_FROM_DATABASE=Digby's Bitpile, Inc. DBA D Bit
+
+usb:v1357*
+ ID_VENDOR_FROM_DATABASE=P&E Microcomputer Systems
+
+usb:v1357p0503*
+ ID_MODEL_FROM_DATABASE=USB-ML-12 HCS08/HCS12 Multilink
+
+usb:v1357p0504*
+ ID_MODEL_FROM_DATABASE=DEMOJM
+
+usb:v1366*
+ ID_VENDOR_FROM_DATABASE=SEGGER
+
+usb:v1366p0101*
+ ID_MODEL_FROM_DATABASE=J-Link ARM
+
+usb:v136B*
+ ID_VENDOR_FROM_DATABASE=STEC
+
+usb:v1370*
+ ID_VENDOR_FROM_DATABASE=Swissbit
+
+usb:v1370p0323*
+ ID_MODEL_FROM_DATABASE=Swissmemory cirrusWHITE
+
+usb:v1370p6828*
+ ID_MODEL_FROM_DATABASE=Victorinox Flash Drive
+
+usb:v1371*
+ ID_VENDOR_FROM_DATABASE=CNet Technology Inc.
+
+usb:v1371p0001*
+ ID_MODEL_FROM_DATABASE=CNUSB-611AR Wireless Adapter-G [AT76C503]
+
+usb:v1371p0002*
+ ID_MODEL_FROM_DATABASE=CNUSB-611AR Wireless Adapter-G [AT76C503] (FiberLine WL-240U)
+
+usb:v1371p0013*
+ ID_MODEL_FROM_DATABASE=CNUSB-611 Wireless Adapter [AT76C505]
+
+usb:v1371p0014*
+ ID_MODEL_FROM_DATABASE=CNUSB-611 Wireless Adapter [AT76C505] (FiberLine WL-240U)
+
+usb:v1371p5743*
+ ID_MODEL_FROM_DATABASE=CNUSB-611 (D) Wireless Adapter [AT76C503]
+
+usb:v1371p9022*
+ ID_MODEL_FROM_DATABASE=CWD-854 [RT2573]
+
+usb:v1371p9032*
+ ID_MODEL_FROM_DATABASE=CWD-854 rev F
+
+usb:v1371p9401*
+ ID_MODEL_FROM_DATABASE=CWD-854 Wireless 802.11g 54Mbps Network Adapter [RTL8187]
+
+usb:v1376*
+ ID_VENDOR_FROM_DATABASE=Vimtron Electronics Co., Ltd.
+
+usb:v137B*
+ ID_VENDOR_FROM_DATABASE=SCAPS GmbH
+
+usb:v137Bp0002*
+ ID_MODEL_FROM_DATABASE=SCAPS USC-2 Scanner Controller
+
+usb:v1385*
+ ID_VENDOR_FROM_DATABASE=Netgear, Inc
+
+usb:v1385p4250*
+ ID_MODEL_FROM_DATABASE=WG111T
+
+usb:v1385p4251*
+ ID_MODEL_FROM_DATABASE=WG111T (no firmware)
+
+usb:v1385p5F00*
+ ID_MODEL_FROM_DATABASE=WPN111 RangeMax(TM) Wireless USB 2.0 Adapter
+
+usb:v1385p5F01*
+ ID_MODEL_FROM_DATABASE=WPN111 (no firmware)
+
+usb:v1385p5F02*
+ ID_MODEL_FROM_DATABASE=WPN111 (no firmware)
+
+usb:v1385p6E00*
+ ID_MODEL_FROM_DATABASE=WPNT121 802.11g 240Mbps Wireless Adapter [Airgo AGN300]
+
+usb:v138A*
+ ID_VENDOR_FROM_DATABASE=Validity Sensors, Inc.
+
+usb:v138Ap0001*
+ ID_MODEL_FROM_DATABASE=VFS101 Fingerprint Reader
+
+usb:v138Ap0005*
+ ID_MODEL_FROM_DATABASE=VFS301 Fingerprint Reader
+
+usb:v138Ap0007*
+ ID_MODEL_FROM_DATABASE=VFS451 Fingerprint Reader
+
+usb:v138Ap0008*
+ ID_MODEL_FROM_DATABASE=VFS300 Fingerprint Reader
+
+usb:v138Ap0011*
+ ID_MODEL_FROM_DATABASE=VFS5011 Fingerprint Reader
+
+usb:v138Ap0018*
+ ID_MODEL_FROM_DATABASE=Fingerprint scanner
+
+usb:v138Ap003C*
+ ID_MODEL_FROM_DATABASE=VFS471 Fingerprint Reader
+
+usb:v138E*
+ ID_VENDOR_FROM_DATABASE=Jungo LTD
+
+usb:v138Ep9000*
+ ID_MODEL_FROM_DATABASE=Raisonance S.A. STM32 ARM evaluation board
+
+usb:v1390*
+ ID_VENDOR_FROM_DATABASE=TOMTOM B.V.
+
+usb:v1390p0001*
+ ID_MODEL_FROM_DATABASE=GO 520 T/GO 630/ONE XL (v9)
+
+usb:v1391*
+ ID_VENDOR_FROM_DATABASE=IdealTEK, Inc.
+
+usb:v1391p1000*
+ ID_MODEL_FROM_DATABASE=URTC-1000
+
+usb:v1395*
+ ID_VENDOR_FROM_DATABASE=Sennheiser Communications
+
+usb:v1395p3556*
+ ID_MODEL_FROM_DATABASE=USB Headset
+
+usb:v1397*
+ ID_VENDOR_FROM_DATABASE=BEHRINGER International GmbH
+
+usb:v1397p00BC*
+ ID_MODEL_FROM_DATABASE=BCF2000
+
+usb:v1398*
+ ID_VENDOR_FROM_DATABASE=Q-tec
+
+usb:v1398p2103*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Storage Device
+
+usb:v13AD*
+ ID_VENDOR_FROM_DATABASE=Baltech
+
+usb:v13ADp9999*
+ ID_MODEL_FROM_DATABASE=Card reader
+
+usb:v13B0*
+ ID_VENDOR_FROM_DATABASE=PerkinElmer Optoelectronics
+
+usb:v13B0p000A*
+ ID_MODEL_FROM_DATABASE=Alesis Photon X25 MIDI Controller
+
+usb:v13B1*
+ ID_VENDOR_FROM_DATABASE=Linksys
+
+usb:v13B1p000A*
+ ID_MODEL_FROM_DATABASE=WUSB54G v2 802.11g Adapter [Intersil ISL3887]
+
+usb:v13B1p000B*
+ ID_MODEL_FROM_DATABASE=WUSB11 v4.0 802.11b Adapter [ALi M4301]
+
+usb:v13B1p000C*
+ ID_MODEL_FROM_DATABASE=WUSB54AG 802.11a/g Adapter [Intersil ISL3887]
+
+usb:v13B1p000D*
+ ID_MODEL_FROM_DATABASE=WUSB54G v4 802.11g Adapter [Ralink RT2500USB]
+
+usb:v13B1p000E*
+ ID_MODEL_FROM_DATABASE=WUSB54GS v1 802.11g Adapter [Broadcom 4320 USB]
+
+usb:v13B1p0011*
+ ID_MODEL_FROM_DATABASE=WUSB54GP v4.0 802.11g Adapter [Ralink RT2500USB]
+
+usb:v13B1p0014*
+ ID_MODEL_FROM_DATABASE=WUSB54GS v2 802.11g Adapter [Broadcom 4320 USB]
+
+usb:v13B1p0018*
+ ID_MODEL_FROM_DATABASE=USB200M 10/100 Ethernet Adapter
+
+usb:v13B1p001A*
+ ID_MODEL_FROM_DATABASE=HU200TS Wireless Adapter
+
+usb:v13B1p001E*
+ ID_MODEL_FROM_DATABASE=WUSBF54G 802.11bg
+
+usb:v13B1p0020*
+ ID_MODEL_FROM_DATABASE=WUSB54GC v1 802.11g Adapter [Ralink RT73]
+
+usb:v13B1p0022*
+ ID_MODEL_FROM_DATABASE=WUSB54GX4 802.11g 240Mbps Wireless Adapter [Airgo AGN300]
+
+usb:v13B1p0023*
+ ID_MODEL_FROM_DATABASE=WUSB54GR
+
+usb:v13B1p0024*
+ ID_MODEL_FROM_DATABASE=WUSBF54G v1.1 802.11bg
+
+usb:v13B1p0026*
+ ID_MODEL_FROM_DATABASE=WUSB54GSC v1 802.11g Adapter [Broadcom 4320 USB]
+
+usb:v13B1p0028*
+ ID_MODEL_FROM_DATABASE=WUSB200 802.11g Adapter [Ralink RT2671]
+
+usb:v13B1p0029*
+ ID_MODEL_FROM_DATABASE=WUSB300N 802.11bgn Wireless Adapter [Marvell 88W8362+88W8060]
+
+usb:v13B1p002F*
+ ID_MODEL_FROM_DATABASE=AE1000 v1 802.11n [Ralink RT3572]
+
+usb:v13B1p0031*
+ ID_MODEL_FROM_DATABASE=AM10 v1 802.11n [Ralink RT3072]
+
+usb:v13B1p0039*
+ ID_MODEL_FROM_DATABASE=AE1200 802.11bgn Wireless Adapter [Broadcom BCM43235]
+
+usb:v13B1p003A*
+ ID_MODEL_FROM_DATABASE=AE2500 802.11abgn Wireless Adapter [Broadcom BCM43236]
+
+usb:v13B1p13B1*
+ ID_MODEL_FROM_DATABASE=WUSB200: Wireless-G Business Network Adapter with Rangebooster
+
+usb:v13B2*
+ ID_VENDOR_FROM_DATABASE=Alesis
+
+usb:v13B2p0030*
+ ID_MODEL_FROM_DATABASE=Multimix 8
+
+usb:v13B3*
+ ID_VENDOR_FROM_DATABASE=Nippon Dics Co., Ltd.
+
+usb:v13BA*
+ ID_VENDOR_FROM_DATABASE=PCPlay
+
+usb:v13BAp0001*
+ ID_MODEL_FROM_DATABASE=König Electronic CMP-KEYPAD12 Numeric Keypad
+
+usb:v13BAp0017*
+ ID_MODEL_FROM_DATABASE=PS/2 Keyboard+Mouse Adapter
+
+usb:v13BAp0018*
+ ID_MODEL_FROM_DATABASE=Barcode PCP-BCG4209
+
+usb:v13BE*
+ ID_VENDOR_FROM_DATABASE=Ricoh Printing Systems, Ltd.
+
+usb:v13CA*
+ ID_VENDOR_FROM_DATABASE=JyeTai Precision Industrial Co., Ltd.
+
+usb:v13CF*
+ ID_VENDOR_FROM_DATABASE=Wisair Ltd.
+
+usb:v13CFp1200*
+ ID_MODEL_FROM_DATABASE=Olidata Wireless Multimedia Adapter
+
+usb:v13D0*
+ ID_VENDOR_FROM_DATABASE=Techsan Electronics Co., Ltd.
+
+usb:v13D0p2282*
+ ID_MODEL_FROM_DATABASE=TechniSat DVB-PC TV Star 2
+
+usb:v13D1*
+ ID_VENDOR_FROM_DATABASE=A-Max Technology Macao Commercial Offshore Co. Ltd.
+
+usb:v13D1p7019*
+ ID_MODEL_FROM_DATABASE=MD 82288
+
+usb:v13D1pABE6*
+ ID_MODEL_FROM_DATABASE=Wireless 802.11g 54Mbps Network Adapter [RTL8187]
+
+usb:v13D2*
+ ID_VENDOR_FROM_DATABASE=Shark Multimedia
+
+usb:v13D2p0400*
+ ID_MODEL_FROM_DATABASE=Pocket Ethernet [klsi]
+
+usb:v13D3*
+ ID_VENDOR_FROM_DATABASE=IMC Networks
+
+usb:v13D3p3201*
+ ID_MODEL_FROM_DATABASE=VisionDTV USB-Ter/HAMA USB DVB-T device cold
+
+usb:v13D3p3202*
+ ID_MODEL_FROM_DATABASE=VisionDTV USB-Ter/HAMA USB DVB-T device warm
+
+usb:v13D3p3203*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
+
+usb:v13D3p3204*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
+
+usb:v13D3p3205*
+ ID_MODEL_FROM_DATABASE=DNTV Live! Tiny USB2 BDA (No Remote)
+
+usb:v13D3p3206*
+ ID_MODEL_FROM_DATABASE=DNTV Live! Tiny USB2 BDA (No Remote)
+
+usb:v13D3p3207*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
+
+usb:v13D3p3208*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
+
+usb:v13D3p3209*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDST7022BDA DVB-S Box(Without HID)
+
+usb:v13D3p3211*
+ ID_MODEL_FROM_DATABASE=DTV-DVB Hybrid Analog/Capture / Pinnacle PCTV 310e
+
+usb:v13D3p3212*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDTT704C - DVBT/NTSC/PAL Driver(PCM4)
+
+usb:v13D3p3213*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDTT704D - DVBT/NTSC/PAL Driver (PCM4)
+
+usb:v13D3p3214*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDTT704F -(MiniCard) DVBT/NTSC/PAL Driver(Without HID)
+
+usb:v13D3p3215*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDAT7240 - ATSC/NTSC/PAL Driver(PCM4)
+
+usb:v13D3p3216*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDTT 7047-USB 2.0 DVB-T Driver
+
+usb:v13D3p3217*
+ ID_MODEL_FROM_DATABASE=Digital-TV Receiver.
+
+usb:v13D3p3219*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDTT7049 - DVB-T Driver(Without HID)
+
+usb:v13D3p3220*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDTT 7047M-USB 2.0 DVB-T Driver
+
+usb:v13D3p3223*
+ ID_MODEL_FROM_DATABASE=DNTV Live! Tiny USB2 BDA (No Remote)
+
+usb:v13D3p3224*
+ ID_MODEL_FROM_DATABASE=DNTV Live! Tiny USB2 BDA (No Remote)
+
+usb:v13D3p3226*
+ ID_MODEL_FROM_DATABASE=DigitalNow TinyTwin DVB-T Receiver
+
+usb:v13D3p3234*
+ ID_MODEL_FROM_DATABASE=DVB-T FTA Half Minicard [RTL2832U]
+
+usb:v13D3p3236*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDTT 7047A-USB 2.0 DVB-T Driver
+
+usb:v13D3p3237*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDTT 704J - dual DVB-T Driver
+
+usb:v13D3p3239*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDTT704D - DVBT/NTSC/PAL Driver(Without HID)
+
+usb:v13D3p3240*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDXTTM6010 - A/D Driver(Without HID)
+
+usb:v13D3p3241*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDXTTM6010 - A/D Driver(Without HID)
+
+usb:v13D3p3242*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDAT7240LP - ATSC/NTSC/PAL Driver(Without HID)
+
+usb:v13D3p3243*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDXTTM6010 - A/D Driver(Without HID)
+
+usb:v13D3p3244*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDTT 7047Z-USB 2.0 DVB-T Driver
+
+usb:v13D3p3247*
+ ID_MODEL_FROM_DATABASE=802.11 n/g/b Wireless LAN Adapter
+
+usb:v13D3p3249*
+ ID_MODEL_FROM_DATABASE=Internal Bluetooth
+
+usb:v13D3p3262*
+ ID_MODEL_FROM_DATABASE=802.11 n/g/b Wireless LAN USB Adapter
+
+usb:v13D3p3273*
+ ID_MODEL_FROM_DATABASE=802.11 n/g/b Wireless LAN USB Mini-Card
+
+usb:v13D3p3274*
+ ID_MODEL_FROM_DATABASE=DVB-T Dongle [RTL2832U]
+
+usb:v13D3p3282*
+ ID_MODEL_FROM_DATABASE=DVB-T + GPS Minicard [RTL2832U]
+
+usb:v13D3p3284*
+ ID_MODEL_FROM_DATABASE=Wireless LAN USB Mini-Card
+
+usb:v13D3p3304*
+ ID_MODEL_FROM_DATABASE=Asus Integrated Bluetooth module [AR3011]
+
+usb:v13D3p3306*
+ ID_MODEL_FROM_DATABASE=Mediao 802.11n WLAN [Realtek RTL8191SU]
+
+usb:v13D3p3315*
+ ID_MODEL_FROM_DATABASE=Bluetooth module
+
+usb:v13D3p3375*
+ ID_MODEL_FROM_DATABASE=Atheros AR3012 Bluetooth 4.0 Adapter
+
+usb:v13D3p5070*
+ ID_MODEL_FROM_DATABASE=Webcam
+
+usb:v13D3p5111*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
+usb:v13D3p5115*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
+usb:v13D3p5116*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
+usb:v13D3p5126*
+ ID_MODEL_FROM_DATABASE=PC Cam
+
+usb:v13D3p5702*
+ ID_MODEL_FROM_DATABASE=UVC VGA Webcam
+
+usb:v13D3p5710*
+ ID_MODEL_FROM_DATABASE=UVC VGA Webcam
+
+usb:v13D3p5716*
+ ID_MODEL_FROM_DATABASE=UVC VGA Webcam
+
+usb:v13D3p7020*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
+
+usb:v13D3p7022*
+ ID_MODEL_FROM_DATABASE=DTV-DVB UDST7022BDA DVB-S Box(Without HID)
+
+usb:v13DC*
+ ID_VENDOR_FROM_DATABASE=ALEREON, INC.
+
+usb:v13DD*
+ ID_VENDOR_FROM_DATABASE=i.Tech Dynamic Limited
+
+usb:v13E1*
+ ID_VENDOR_FROM_DATABASE=Kaibo Wire & Cable (Shenzhen) Co., Ltd.
+
+usb:v13E5*
+ ID_VENDOR_FROM_DATABASE=Rane
+
+usb:v13E5p0001*
+ ID_MODEL_FROM_DATABASE=SL-1
+
+usb:v13E5p0003*
+ ID_MODEL_FROM_DATABASE=TTM 57SL
+
+usb:v13E6*
+ ID_VENDOR_FROM_DATABASE=TechnoScope Co., Ltd.
+
+usb:v13EA*
+ ID_VENDOR_FROM_DATABASE=Hengstler
+
+usb:v13EAp0001*
+ ID_MODEL_FROM_DATABASE=C-56 Thermal Printer
+
+usb:v13EC*
+ ID_VENDOR_FROM_DATABASE=Zydacron
+
+usb:v13ECp0006*
+ ID_MODEL_FROM_DATABASE=HID Remote Control
+
+usb:v13EE*
+ ID_VENDOR_FROM_DATABASE=MosArt
+
+usb:v13EEp0003*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v13FD*
+ ID_VENDOR_FROM_DATABASE=Initio Corporation
+
+usb:v13FDp0840*
+ ID_MODEL_FROM_DATABASE=INIC-1618L SATA
+
+usb:v13FDp0841*
+ ID_MODEL_FROM_DATABASE=Samsung SE-T084M DVD-RW
+
+usb:v13FDp1340*
+ ID_MODEL_FROM_DATABASE=Hi-Speed USB to SATA Bridge
+
+usb:v13FDp160F*
+ ID_MODEL_FROM_DATABASE=RocketFish SATA Bridge [INIC-1611]
+
+usb:v13FDp1640*
+ ID_MODEL_FROM_DATABASE=INIC-1610L SATA Bridge
+
+usb:v13FDp1840*
+ ID_MODEL_FROM_DATABASE=INIC-1608 SATA bridge
+
+usb:v13FE*
+ ID_VENDOR_FROM_DATABASE=Kingston Technology Company Inc.
+
+usb:v13FEp1A00*
+ ID_MODEL_FROM_DATABASE=512MB/1GB Flash Drive
+
+usb:v13FEp1A23*
+ ID_MODEL_FROM_DATABASE=512MB Flash Drive
+
+usb:v13FEp1D00*
+ ID_MODEL_FROM_DATABASE=DataTraveler 2.0 1GB/4GB Flash Drive / Patriot Xporter 4GB Flash Drive
+
+usb:v13FEp1E00*
+ ID_MODEL_FROM_DATABASE=Flash Drive 2 GB [ICIDU 2 GB]
+
+usb:v13FEp1E50*
+ ID_MODEL_FROM_DATABASE=U3 Smart Drive
+
+usb:v13FEp1F00*
+ ID_MODEL_FROM_DATABASE=DataTraveler 2.0 4GB Flash Drive / Patriot Xporter 32GB (PEF32GUSB) Flash Drive
+
+usb:v13FEp1F23*
+ ID_MODEL_FROM_DATABASE=2Gb
+
+usb:v13FEp2240*
+ ID_MODEL_FROM_DATABASE=microSD card reader
+
+usb:v13FEp3100*
+ ID_MODEL_FROM_DATABASE=2/4 GB stick
+
+usb:v13FEp3123*
+ ID_MODEL_FROM_DATABASE=Verbatim STORE N GO 4GB
+
+usb:v13FEp3800*
+ ID_MODEL_FROM_DATABASE=Rage XT Flash Drive
+
+usb:v13FEp3E00*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v13FEp5100*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v1400*
+ ID_VENDOR_FROM_DATABASE=Axxion Group Corp.
+
+usb:v1402*
+ ID_VENDOR_FROM_DATABASE=Bowe Bell & Howell
+
+usb:v1403*
+ ID_VENDOR_FROM_DATABASE=Sitronix
+
+usb:v1403p0001*
+ ID_MODEL_FROM_DATABASE=Digital Photo Frame
+
+usb:v140E*
+ ID_VENDOR_FROM_DATABASE=Telechips, Inc.
+
+usb:v140EpB011*
+ ID_MODEL_FROM_DATABASE=TCC780X-based player (USB Boot mode)
+
+usb:v140EpB021*
+ ID_MODEL_FROM_DATABASE=TCC77X-based players (USB Boot mode)
+
+usb:v1410*
+ ID_VENDOR_FROM_DATABASE=Novatel Wireless
+
+usb:v1410p1110*
+ ID_MODEL_FROM_DATABASE=Merlin S620
+
+usb:v1410p1120*
+ ID_MODEL_FROM_DATABASE=Merlin EX720
+
+usb:v1410p1130*
+ ID_MODEL_FROM_DATABASE=Merlin S720
+
+usb:v1410p1400*
+ ID_MODEL_FROM_DATABASE=Merlin U730/U740 (Vodafone)
+
+usb:v1410p1410*
+ ID_MODEL_FROM_DATABASE=Merlin U740 (non-Vodafone)
+
+usb:v1410p1430*
+ ID_MODEL_FROM_DATABASE=Merlin XU870
+
+usb:v1410p1450*
+ ID_MODEL_FROM_DATABASE=Merlin X950D
+
+usb:v1410p2110*
+ ID_MODEL_FROM_DATABASE=Ovation U720/MCD3000
+
+usb:v1410p2410*
+ ID_MODEL_FROM_DATABASE=Expedite EU740
+
+usb:v1410p2420*
+ ID_MODEL_FROM_DATABASE=Expedite EU850D/EU860D/EU870D
+
+usb:v1410p4100*
+ ID_MODEL_FROM_DATABASE=U727
+
+usb:v1410p4400*
+ ID_MODEL_FROM_DATABASE=Ovation MC930D/MC950D
+
+usb:v1410p9010*
+ ID_MODEL_FROM_DATABASE=Expedite E362
+
+usb:v1410pA001*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem
+
+usb:v1410pA008*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
+
+usb:v1410pB001*
+ ID_MODEL_FROM_DATABASE=Ovation MC551
+
+usb:v1415*
+ ID_VENDOR_FROM_DATABASE=Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc.
+
+usb:v1415p0000*
+ ID_MODEL_FROM_DATABASE=Sony SingStar USBMIC
+
+usb:v1415p0020*
+ ID_MODEL_FROM_DATABASE=Sony Wireless SingStar
+
+usb:v1415p2000*
+ ID_MODEL_FROM_DATABASE=Sony Playstation Eye
+
+usb:v1419*
+ ID_VENDOR_FROM_DATABASE=ABILITY ENTERPRISE CO., LTD.
+
+usb:v1429*
+ ID_VENDOR_FROM_DATABASE=Vega Technologies Industrial (Austria) Co.
+
+usb:v142A*
+ ID_VENDOR_FROM_DATABASE=Thales E-Transactions
+
+usb:v142Ap0003*
+ ID_MODEL_FROM_DATABASE=Artema Hybrid
+
+usb:v142Ap0005*
+ ID_MODEL_FROM_DATABASE=Artema Modular
+
+usb:v142Ap0043*
+ ID_MODEL_FROM_DATABASE=medCompact
+
+usb:v142B*
+ ID_VENDOR_FROM_DATABASE=Arbiter Systems, Inc.
+
+usb:v142Bp03A5*
+ ID_MODEL_FROM_DATABASE=933A Portable Power Sentinel
+
+usb:v1430*
+ ID_VENDOR_FROM_DATABASE=RedOctane
+
+usb:v1430p0150*
+ ID_MODEL_FROM_DATABASE=wireless receiver for skylanders wii
+
+usb:v1430p4734*
+ ID_MODEL_FROM_DATABASE=Guitar Hero4 hub
+
+usb:v1430p474B*
+ ID_MODEL_FROM_DATABASE=Guitar Hero MIDI interface
+
+usb:v1431*
+ ID_VENDOR_FROM_DATABASE=Pertech Resources, Inc.
+
+usb:v1435*
+ ID_VENDOR_FROM_DATABASE=Wistron NeWeb
+
+usb:v1435p0427*
+ ID_MODEL_FROM_DATABASE=UR054g 802.11g Wireless Adapter [Intersil ISL3887]
+
+usb:v1435p0711*
+ ID_MODEL_FROM_DATABASE=UR055G 802.11bg
+
+usb:v1435p0804*
+ ID_MODEL_FROM_DATABASE=AR9170+AR9104 802.11abgn Wireless Adapter
+
+usb:v1435p0826*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:v1435p0827*
+ ID_MODEL_FROM_DATABASE=AR5523 (no firmware)
+
+usb:v1435p0828*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:v1435p0829*
+ ID_MODEL_FROM_DATABASE=AR5523 (no firmware)
+
+usb:v1436*
+ ID_VENDOR_FROM_DATABASE=Denali Software, Inc.
+
+usb:v143C*
+ ID_VENDOR_FROM_DATABASE=Altek Corporation
+
+usb:v1443*
+ ID_VENDOR_FROM_DATABASE=Digilent
+
+usb:v1443p0007*
+ ID_MODEL_FROM_DATABASE=Development board JTAG
+
+usb:v1446*
+ ID_VENDOR_FROM_DATABASE=X.J.GROUP
+
+usb:v1446p6A73*
+ ID_MODEL_FROM_DATABASE=Stamps.com Model 510 5LB Scale
+
+usb:v1453*
+ ID_VENDOR_FROM_DATABASE=Radio Shack
+
+usb:v1453p4026*
+ ID_MODEL_FROM_DATABASE=26-183 Serial Cable
+
+usb:v1456*
+ ID_VENDOR_FROM_DATABASE=Extending Wire & Cable Co., Ltd.
+
+usb:v1457*
+ ID_VENDOR_FROM_DATABASE=First International Computer, Inc.
+
+usb:v1457p5117*
+ ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 kernel usbnet (g_ether, CDC Ethernet) mode
+
+usb:v1457p5118*
+ ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 Debug board (V2+)
+
+usb:v1457p5119*
+ ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 u-boot cdc_acm serial port
+
+usb:v1457p5120*
+ ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 u-boot usbtty generic serial
+
+usb:v1457p5121*
+ ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 kernel mass storage (g_storage) mode
+
+usb:v1457p5122*
+ ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 / Neo Freerunner kernel cdc_ether USB network
+
+usb:v1457p5123*
+ ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 internal USB CSR4 module
+
+usb:v1457p5124*
+ ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 Bluetooth Device ID service
+
+usb:v145F*
+ ID_VENDOR_FROM_DATABASE=Trust
+
+usb:v145Fp0106*
+ ID_MODEL_FROM_DATABASE=Trust K56 V92 USB Modem
+
+usb:v145Fp013D*
+ ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + OV7660)
+
+usb:v145Fp013F*
+ ID_MODEL_FROM_DATABASE=Megapixel Auto Focus Webcam
+
+usb:v145Fp0142*
+ ID_MODEL_FROM_DATABASE=WB-6250X Webcam
+
+usb:v145Fp015A*
+ ID_MODEL_FROM_DATABASE=WB-8300X 2MP Webcam
+
+usb:v145Fp0161*
+ ID_MODEL_FROM_DATABASE=15901 802.11bg Wireless Adapter [Realtek RTL8187L]
+
+usb:v145Fp0167*
+ ID_MODEL_FROM_DATABASE=Widescreen 3MP Webcam
+
+usb:v145Fp0176*
+ ID_MODEL_FROM_DATABASE=Isla Keyboard
+
+usb:v1460*
+ ID_VENDOR_FROM_DATABASE=Tatung Co.
+
+usb:v1460p9150*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver
+
+usb:v1461*
+ ID_VENDOR_FROM_DATABASE=Staccato Communications
+
+usb:v1462*
+ ID_VENDOR_FROM_DATABASE=Micro Star International
+
+usb:v1462p5512*
+ ID_MODEL_FROM_DATABASE=MegaStick-1 Flash Stick
+
+usb:v1462p8807*
+ ID_MODEL_FROM_DATABASE=DIGIVOX mini III [af9015]
+
+usb:v1472*
+ ID_VENDOR_FROM_DATABASE=Huawei-3Com
+
+usb:v1472p0007*
+ ID_MODEL_FROM_DATABASE=Aolynk WUB300g [ZyDAS ZD1211]
+
+usb:v1472p0009*
+ ID_MODEL_FROM_DATABASE=Aolynk WUB320g
+
+usb:v147A*
+ ID_VENDOR_FROM_DATABASE=Formosa Industrial Computing, Inc.
+
+usb:v147ApE015*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v147ApE016*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v147ApE017*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v147ApE018*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v147ApE02C*
+ ID_MODEL_FROM_DATABASE=Infrared Receiver
+
+usb:v147ApE03A*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v147ApE03C*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v147ApE03E*
+ ID_MODEL_FROM_DATABASE=Infrared Receiver [IR605A/Q]
+
+usb:v147E*
+ ID_VENDOR_FROM_DATABASE=Upek
+
+usb:v147Ep1000*
+ ID_MODEL_FROM_DATABASE=Biometric Touchchip/Touchstrip Fingerprint Sensor
+
+usb:v147Ep1001*
+ ID_MODEL_FROM_DATABASE=TCS5B Fingerprint sensor
+
+usb:v147Ep1002*
+ ID_MODEL_FROM_DATABASE=Biometric Touchchip/Touchstrip Fingerprint Sensor
+
+usb:v147Ep2016*
+ ID_MODEL_FROM_DATABASE=Biometric Touchchip/Touchstrip Fingerprint Sensor
+
+usb:v147Ep2020*
+ ID_MODEL_FROM_DATABASE=TouchChip Fingerprint Coprocessor (WBF advanced mode)
+
+usb:v147Ep3000*
+ ID_MODEL_FROM_DATABASE=TCS1C EIM/Cypress Fingerprint sensor
+
+usb:v147Ep3001*
+ ID_MODEL_FROM_DATABASE=TCS1C EIM/STM32 Fingerprint sensor
+
+usb:v147F*
+ ID_VENDOR_FROM_DATABASE=Hama GmbH & Co., KG
+
+usb:v1482*
+ ID_VENDOR_FROM_DATABASE=Vaillant
+
+usb:v1482p1005*
+ ID_MODEL_FROM_DATABASE=VRD PC-Interface
+
+usb:v1484*
+ ID_VENDOR_FROM_DATABASE=Elsa AG [hex]
+
+usb:v1484p1746*
+ ID_MODEL_FROM_DATABASE=Ecomo 19H99 Monitor
+
+usb:v1484p7616*
+ ID_MODEL_FROM_DATABASE=Elsa Hub
+
+usb:v1485*
+ ID_VENDOR_FROM_DATABASE=Silicom
+
+usb:v1485p0001*
+ ID_MODEL_FROM_DATABASE=U2E
+
+usb:v1485p0002*
+ ID_MODEL_FROM_DATABASE=Psion Gold Port Ethernet
+
+usb:v1487*
+ ID_VENDOR_FROM_DATABASE=DSP Group, Ltd.
+
+usb:v148E*
+ ID_VENDOR_FROM_DATABASE=EVATRONIX SA
+
+usb:v148F*
+ ID_VENDOR_FROM_DATABASE=Ralink Technology, Corp.
+
+usb:v148Fp1706*
+ ID_MODEL_FROM_DATABASE=RT2500USB Wireless Adapter
+
+usb:v148Fp2070*
+ ID_MODEL_FROM_DATABASE=RT2070 Wireless Adapter
+
+usb:v148Fp2570*
+ ID_MODEL_FROM_DATABASE=RT2570 Wireless Adapter
+
+usb:v148Fp2573*
+ ID_MODEL_FROM_DATABASE=RT2501/RT2573 Wireless Adapter
+
+usb:v148Fp2671*
+ ID_MODEL_FROM_DATABASE=RT2601/RT2671 Wireless Adapter
+
+usb:v148Fp2770*
+ ID_MODEL_FROM_DATABASE=RT2770 Wireless Adapter
+
+usb:v148Fp2870*
+ ID_MODEL_FROM_DATABASE=RT2870 Wireless Adapter
+
+usb:v148Fp3070*
+ ID_MODEL_FROM_DATABASE=RT2870/RT3070 Wireless Adapter
+
+usb:v148Fp3071*
+ ID_MODEL_FROM_DATABASE=RT3071 Wireless Adapter
+
+usb:v148Fp3072*
+ ID_MODEL_FROM_DATABASE=RT3072 Wireless Adapter
+
+usb:v148Fp3370*
+ ID_MODEL_FROM_DATABASE=RT3370 Wireless Adapter
+
+usb:v148Fp3572*
+ ID_MODEL_FROM_DATABASE=RT3572 Wireless Adapter
+
+usb:v148Fp3573*
+ ID_MODEL_FROM_DATABASE=RT3573 Wireless Adapter
+
+usb:v148Fp5370*
+ ID_MODEL_FROM_DATABASE=RT5370 Wireless Adapter
+
+usb:v148Fp5372*
+ ID_MODEL_FROM_DATABASE=RT5372 Wireless Adapter
+
+usb:v148Fp5572*
+ ID_MODEL_FROM_DATABASE=RT5572 Wireless Adapter
+
+usb:v148Fp9020*
+ ID_MODEL_FROM_DATABASE=RT2500USB Wireless Adapter
+
+usb:v148Fp9021*
+ ID_MODEL_FROM_DATABASE=RT2501USB Wireless Adapter
+
+usb:v1491*
+ ID_VENDOR_FROM_DATABASE=Futronic Technology Co. Ltd.
+
+usb:v1491p0020*
+ ID_MODEL_FROM_DATABASE=FS81 Fingerprint Scanner Module
+
+usb:v1493*
+ ID_VENDOR_FROM_DATABASE=Suunto
+
+usb:v1497*
+ ID_VENDOR_FROM_DATABASE=Panstrong Company Ltd.
+
+usb:v1498*
+ ID_VENDOR_FROM_DATABASE=Microtek International Inc.
+
+usb:v1498pA090*
+ ID_MODEL_FROM_DATABASE=DVB-T Tuner
+
+usb:v149A*
+ ID_VENDOR_FROM_DATABASE=Imagination Technologies
+
+usb:v149Ap2107*
+ ID_MODEL_FROM_DATABASE=DBX1 DSP core
+
+usb:v14AA*
+ ID_VENDOR_FROM_DATABASE=WideView Technology Inc.
+
+usb:v14AAp0001*
+ ID_MODEL_FROM_DATABASE=Avermedia AverTV DVBT USB1.1 (cold)
+
+usb:v14AAp0002*
+ ID_MODEL_FROM_DATABASE=Avermedia AverTV DVBT USB1.1 (warm)
+
+usb:v14AAp0201*
+ ID_MODEL_FROM_DATABASE=AVermedia/Yakumo/Hama/Typhoon DVB-T USB2.0 (cold)
+
+usb:v14AAp0221*
+ ID_MODEL_FROM_DATABASE=WT-220U DVB-T dongle
+
+usb:v14AAp022B*
+ ID_MODEL_FROM_DATABASE=WT-220U DVB-T dongle
+
+usb:v14AAp0301*
+ ID_MODEL_FROM_DATABASE=AVermedia/Yakumo/Hama/Typhoon DVB-T USB2.0 (warm)
+
+usb:v14AD*
+ ID_VENDOR_FROM_DATABASE=CTK Corporation
+
+usb:v14AE*
+ ID_VENDOR_FROM_DATABASE=Printronix Inc.
+
+usb:v14AF*
+ ID_VENDOR_FROM_DATABASE=ATP Electronics Inc.
+
+usb:v14B0*
+ ID_VENDOR_FROM_DATABASE=StarTech.com Ltd.
+
+usb:v14B2*
+ ID_VENDOR_FROM_DATABASE=Ralink Technology, Corp.
+
+usb:v14B2p3A93*
+ ID_MODEL_FROM_DATABASE=Topcom 802.11bg Wireless Adapter [Atheros AR5523]
+
+usb:v14B2p3A95*
+ ID_MODEL_FROM_DATABASE=Toshiba WUS-G06G-JT 802.11bg Wireless Adapter [Atheros AR5523]
+
+usb:v14B2p3A98*
+ ID_MODEL_FROM_DATABASE=Airlink101 AWLL4130 802.11bg Wireless Adapter [Atheros AR5523]
+
+usb:v14B2p3C02*
+ ID_MODEL_FROM_DATABASE=Conceptronic C54RU v2 802.11bg Wireless Adapter [Ralink RT2571]
+
+usb:v14B2p3C05*
+ ID_MODEL_FROM_DATABASE=rt2570 802.11g WLAN
+
+usb:v14B2p3C06*
+ ID_MODEL_FROM_DATABASE=Conceptronic C300RU v1 802.11bgn Wireless Adapter [Ralink RT2870]
+
+usb:v14B2p3C07*
+ ID_MODEL_FROM_DATABASE=802.11n adapter
+
+usb:v14B2p3C09*
+ ID_MODEL_FROM_DATABASE=802.11n adapter
+
+usb:v14B2p3C22*
+ ID_MODEL_FROM_DATABASE=Conceptronic C54RU v3 802.11bg Wireless Adapter [Ralink RT2571W]
+
+usb:v14B2p3C23*
+ ID_MODEL_FROM_DATABASE=Airlink101 AWLL6080 802.11bgn Wireless Adapter [Ralink RT2870]
+
+usb:v14B2p3C24*
+ ID_MODEL_FROM_DATABASE=NEC NP01LM 802.11abg Wireless Adapter [Ralink RT2571W]
+
+usb:v14B2p3C25*
+ ID_MODEL_FROM_DATABASE=DrayTek Vigor N61 802.11bgn Wireless Adapter [Ralink RT2870]
+
+usb:v14B2p3C27*
+ ID_MODEL_FROM_DATABASE=Airlink101 AWLL6070 802.11bgn Wireless Adapter [Ralink RT2770]
+
+usb:v14B2p3C28*
+ ID_MODEL_FROM_DATABASE=Conceptronic C300RU v2 802.11bgn Wireless Adapter [Ralink RT2770]
+
+usb:v14B2p3C2B*
+ ID_MODEL_FROM_DATABASE=NEC NP02LM 802.11bgn Wireless Adapter [Ralink RT3072]
+
+usb:v14B2p3C2C*
+ ID_MODEL_FROM_DATABASE=Keebox W150NU 802.11bgn Wireless Adapter [Ralink RT3070]
+
+usb:v14C0*
+ ID_VENDOR_FROM_DATABASE=Rockwell Automation, Inc.
+
+usb:v14C2*
+ ID_VENDOR_FROM_DATABASE=Gemlight Computer, Ltd
+
+usb:v14C2p0250*
+ ID_MODEL_FROM_DATABASE=Storage Adapter V2
+
+usb:v14C2p0350*
+ ID_MODEL_FROM_DATABASE=Storage Adapter V2
+
+usb:v14C8*
+ ID_VENDOR_FROM_DATABASE=Zytronic
+
+usb:v14CD*
+ ID_VENDOR_FROM_DATABASE=Super Top
+
+usb:v14CDp121C*
+ ID_MODEL_FROM_DATABASE=microSD card reader
+
+usb:v14CDp123A*
+ ID_MODEL_FROM_DATABASE=SD/MMC/RS-MMC Card Reader
+
+usb:v14CDp125C*
+ ID_MODEL_FROM_DATABASE=SD card reader
+
+usb:v14CDp127B*
+ ID_MODEL_FROM_DATABASE=SDXC Reader
+
+usb:v14CDp6116*
+ ID_MODEL_FROM_DATABASE=M6116 SATA Bridge
+
+usb:v14CDp6600*
+ ID_MODEL_FROM_DATABASE=USB 2.0 IDE DEVICE
+
+usb:v14CDp6700*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v14CDp6900*
+ ID_MODEL_FROM_DATABASE=Card Reader
+
+usb:v14CDp8123*
+ ID_MODEL_FROM_DATABASE=SD MMC Reader
+
+usb:v14CDp8125*
+ ID_MODEL_FROM_DATABASE=SD MMC Reader
+
+usb:v14D8*
+ ID_VENDOR_FROM_DATABASE=JAMER INDUSTRIES CO., LTD.
+
+usb:v14DD*
+ ID_VENDOR_FROM_DATABASE=Raritan Computer, Inc.
+
+usb:v14DDp1007*
+ ID_MODEL_FROM_DATABASE=D2CIM-VUSB KVM connector
+
+usb:v14E1*
+ ID_VENDOR_FROM_DATABASE=Dialogue Technology Corp.
+
+usb:v14E1p5000*
+ ID_MODEL_FROM_DATABASE=PenMount 5000 Touch Controller
+
+usb:v14E5*
+ ID_VENDOR_FROM_DATABASE=SAIN Information & Communications Co., Ltd.
+
+usb:v14EA*
+ ID_VENDOR_FROM_DATABASE=Planex Communications
+
+usb:v14EApAB10*
+ ID_MODEL_FROM_DATABASE=GW-US54GZ
+
+usb:v14EApAB11*
+ ID_MODEL_FROM_DATABASE=GU-1000T
+
+usb:v14EApAB13*
+ ID_MODEL_FROM_DATABASE=GW-US54Mini 802.11bg
+
+usb:v14ED*
+ ID_VENDOR_FROM_DATABASE=Shure Inc.
+
+usb:v14EDp29B6*
+ ID_MODEL_FROM_DATABASE=X2u Adapter
+
+usb:v14F7*
+ ID_VENDOR_FROM_DATABASE=TechniSat Digital GmbH
+
+usb:v14F7p0001*
+ ID_MODEL_FROM_DATABASE=SkyStar 2 HD CI
+
+usb:v14F7p0002*
+ ID_MODEL_FROM_DATABASE=SkyStar 2 HD CI
+
+usb:v14F7p0003*
+ ID_MODEL_FROM_DATABASE=CableStar Combo HD CI
+
+usb:v14F7p0004*
+ ID_MODEL_FROM_DATABASE=AirStar TeleStick 2
+
+usb:v14F7p0500*
+ ID_MODEL_FROM_DATABASE=DVB-PC TV Star HD
+
+usb:v1500*
+ ID_VENDOR_FROM_DATABASE=Ellisys
+
+usb:v1501*
+ ID_VENDOR_FROM_DATABASE=Pine-Tum Enterprise Co., Ltd.
+
+usb:v1509*
+ ID_VENDOR_FROM_DATABASE=First International Computer, Inc.
+
+usb:v1509p9242*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver
+
+usb:v1513*
+ ID_VENDOR_FROM_DATABASE=medMobile
+
+usb:v1513p0444*
+ ID_MODEL_FROM_DATABASE=medMobile
+
+usb:v1514*
+ ID_VENDOR_FROM_DATABASE=Actel
+
+usb:v1514p2003*
+ ID_MODEL_FROM_DATABASE=FlashPro3 Programmer
+
+usb:v1514p2004*
+ ID_MODEL_FROM_DATABASE=FlashPro3 Programmer
+
+usb:v1514p2005*
+ ID_MODEL_FROM_DATABASE=FlashPro3 Programmer
+
+usb:v1516*
+ ID_VENDOR_FROM_DATABASE=CompUSA
+
+usb:v1516p1603*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+usb:v1516p8628*
+ ID_MODEL_FROM_DATABASE=Pen Drive
+
+usb:v1518*
+ ID_VENDOR_FROM_DATABASE=Cheshire Engineering Corp.
+
+usb:v1518p0001*
+ ID_MODEL_FROM_DATABASE=HDReye High Dynamic Range Camera
+
+usb:v1518p0002*
+ ID_MODEL_FROM_DATABASE=HDReye (before firmware loads)
+
+usb:v1520*
+ ID_VENDOR_FROM_DATABASE=Bitwire Corp.
+
+usb:v1524*
+ ID_VENDOR_FROM_DATABASE=ENE Technology Inc
+
+usb:v1524p6680*
+ ID_MODEL_FROM_DATABASE=UTS 6680
+
+usb:v1527*
+ ID_VENDOR_FROM_DATABASE=Silicon Portals
+
+usb:v1527p0200*
+ ID_MODEL_FROM_DATABASE=YAP Phone (no firmware)
+
+usb:v1527p0201*
+ ID_MODEL_FROM_DATABASE=YAP Phone
+
+usb:v1529*
+ ID_VENDOR_FROM_DATABASE=UBIQUAM Co., Ltd.
+
+usb:v1529p3100*
+ ID_MODEL_FROM_DATABASE=CDMA 1xRTT USB Modem (U-100/105/200/300/520)
+
+usb:v152A*
+ ID_VENDOR_FROM_DATABASE=Thesycon Systemsoftware & Consulting GmbH
+
+usb:v152D*
+ ID_VENDOR_FROM_DATABASE=JMicron Technology Corp. / JMicron USA Technology Corp.
+
+usb:v152Dp0539*
+ ID_MODEL_FROM_DATABASE=JMS539 SuperSpeed SATA II 3.0G Bridge
+
+usb:v152Dp2329*
+ ID_MODEL_FROM_DATABASE=JM20329 SATA Bridge
+
+usb:v152Dp2335*
+ ID_MODEL_FROM_DATABASE=ATA/ATAPI Bridge
+
+usb:v152Dp2336*
+ ID_MODEL_FROM_DATABASE=Hard Disk Drive
+
+usb:v152Dp2337*
+ ID_MODEL_FROM_DATABASE=ATA/ATAPI Bridge
+
+usb:v152Dp2338*
+ ID_MODEL_FROM_DATABASE=JM20337 Hi-Speed USB to SATA & PATA Combo Bridge
+
+usb:v152Dp2339*
+ ID_MODEL_FROM_DATABASE=JM20339 SATA Bridge
+
+usb:v152Dp2352*
+ ID_MODEL_FROM_DATABASE=ATA/ATAPI Bridge
+
+usb:v152Dp2509*
+ ID_MODEL_FROM_DATABASE=JMS539 SuperSpeed SATA II 3.0G Bridge
+
+usb:v152E*
+ ID_VENDOR_FROM_DATABASE=LG (HLDS)
+
+usb:v152Ep2507*
+ ID_MODEL_FROM_DATABASE=PL-2507 IDE Controller
+
+usb:v152EpE001*
+ ID_MODEL_FROM_DATABASE=GSA-5120D DVD-RW
+
+usb:v1532*
+ ID_VENDOR_FROM_DATABASE=Razer USA, Ltd
+
+usb:v1532p0001*
+ ID_MODEL_FROM_DATABASE=RZ01-020300 Optical Mouse [Diamondback]
+
+usb:v1532p0003*
+ ID_MODEL_FROM_DATABASE=Krait Mouse
+
+usb:v1532p0007*
+ ID_MODEL_FROM_DATABASE=DeathAdder Mouse
+
+usb:v1532p0013*
+ ID_MODEL_FROM_DATABASE=Orochi mouse
+
+usb:v1532p0016*
+ ID_MODEL_FROM_DATABASE=DeathAdder Mouse
+
+usb:v1532p0017*
+ ID_MODEL_FROM_DATABASE=RZ01-0035 Laser Gaming Mouse [Imperator]
+
+usb:v1532p001C*
+ ID_MODEL_FROM_DATABASE=RZ01-0036 Optical Gaming Mouse [Abyssus]
+
+usb:v1532p0024*
+ ID_MODEL_FROM_DATABASE=Razer Mamba
+
+usb:v1532p0036*
+ ID_MODEL_FROM_DATABASE=RZ01-0075, Gaming Mouse [Naga Hex]
+
+usb:v1532p0101*
+ ID_MODEL_FROM_DATABASE=Copperhead Mouse
+
+usb:v1532p0102*
+ ID_MODEL_FROM_DATABASE=Tarantula Keyboard
+
+usb:v1532p0109*
+ ID_MODEL_FROM_DATABASE=Lycosa Keyboard
+
+usb:v1532p0300*
+ ID_MODEL_FROM_DATABASE=RZ06-0063 Motion Sensing Controllers [Hydra]
+
+usb:v1546*
+ ID_VENDOR_FROM_DATABASE=U-Blox AG
+
+usb:v1547*
+ ID_VENDOR_FROM_DATABASE=SG Intec Ltd & Co KG
+
+usb:v1547p1000*
+ ID_MODEL_FROM_DATABASE=SG-Lock[U2]
+
+usb:v154A*
+ ID_VENDOR_FROM_DATABASE=Celectronic GmbH
+
+usb:v154Ap8180*
+ ID_MODEL_FROM_DATABASE=CARD STAR/medic2
+
+usb:v154B*
+ ID_VENDOR_FROM_DATABASE=PNY
+
+usb:v154Bp0010*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Flash Drive
+
+usb:v154Bp004D*
+ ID_MODEL_FROM_DATABASE=8 GB Flash Drive
+
+usb:v154Bp0057*
+ ID_MODEL_FROM_DATABASE=32GB Micro Slide Attache Flash Drive
+
+usb:v154Bp6545*
+ ID_MODEL_FROM_DATABASE=FD Device
+
+usb:v154D*
+ ID_VENDOR_FROM_DATABASE=ConnectCounty Holdings Berhad
+
+usb:v154E*
+ ID_VENDOR_FROM_DATABASE=D&M Holdings, Inc. (Denon/Marantz)
+
+usb:v154Ep3000*
+ ID_MODEL_FROM_DATABASE=Marantz RC9001 Remote Control
+
+usb:v154F*
+ ID_VENDOR_FROM_DATABASE=SNBC CO., Ltd
+
+usb:v1554*
+ ID_VENDOR_FROM_DATABASE=Prolink Microsystems Corp.
+
+usb:v1554p5010*
+ ID_MODEL_FROM_DATABASE=PV-D231U(RN)-F [PixelView PlayTV SBTVD Full-Seg]
+
+usb:v1557*
+ ID_VENDOR_FROM_DATABASE=OQO
+
+usb:v1557p0002*
+ ID_MODEL_FROM_DATABASE=model 01 WiFi interface
+
+usb:v1557p0003*
+ ID_MODEL_FROM_DATABASE=model 01 Bluetooth interface
+
+usb:v1557p0A80*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
+
+usb:v1557p7720*
+ ID_MODEL_FROM_DATABASE=model 01+ Ethernet
+
+usb:v1557p8150*
+ ID_MODEL_FROM_DATABASE=model 01 Ethernet interface
+
+usb:v1568*
+ ID_VENDOR_FROM_DATABASE=Sunf Pu Technology Co., Ltd
+
+usb:v156F*
+ ID_VENDOR_FROM_DATABASE=Quantum Corporation
+
+usb:v1570*
+ ID_VENDOR_FROM_DATABASE=ALLTOP TECHNOLOGY CO., LTD.
+
+usb:v157B*
+ ID_VENDOR_FROM_DATABASE=Ketron SRL
+
+usb:v157E*
+ ID_VENDOR_FROM_DATABASE=TRENDnet
+
+usb:v157Ep3006*
+ ID_MODEL_FROM_DATABASE=TEW-444UB EU [TRENDnet]
+
+usb:v157Ep3007*
+ ID_MODEL_FROM_DATABASE=TEW-444UB EU (no firmware)
+
+usb:v157Ep300A*
+ ID_MODEL_FROM_DATABASE=TEW-429UB 802.11bg
+
+usb:v157Ep300B*
+ ID_MODEL_FROM_DATABASE=TEW-429UB 802.11bg
+
+usb:v157Ep300C*
+ ID_MODEL_FROM_DATABASE=TEW-429UF A1 802.11bg Wireless Adapter [ZyDAS ZD1211B]
+
+usb:v157Ep300D*
+ ID_MODEL_FROM_DATABASE=TEW-429UB C1 802.11bg
+
+usb:v157Ep300E*
+ ID_MODEL_FROM_DATABASE=SMC SMCWUSB-N 802.11bgn 2x2:2 Wireless Adapter [Ralink RT2870]
+
+usb:v157Ep3012*
+ ID_MODEL_FROM_DATABASE=TEW-604UB 802.11bg Wireless Adapter [Atheros AR5523]
+
+usb:v157Ep3013*
+ ID_MODEL_FROM_DATABASE=TEW-645UB 802.11bgn 1x2:2 Wireless Adapter [Ralink RT2770]
+
+usb:v157Ep3204*
+ ID_MODEL_FROM_DATABASE=Allnet ALL0298 v2 802.11bg
+
+usb:v157Ep3205*
+ ID_MODEL_FROM_DATABASE=Allnet ALL0283 [AR5523]
+
+usb:v157Ep3206*
+ ID_MODEL_FROM_DATABASE=Allnet ALL0283 [AR5523](no firmware)
+
+usb:v157Ep3207*
+ ID_MODEL_FROM_DATABASE=TEW-509UB A1 802.11abg Wireless Adapter [ZyDAS ZD1211]
+
+usb:v157Ep3208*
+ ID_MODEL_FROM_DATABASE=TEW-509UB 1.1R 802.11abg Wireless Adapter
+
+usb:v1582*
+ ID_VENDOR_FROM_DATABASE=Fiberline
+
+usb:v1582p6003*
+ ID_MODEL_FROM_DATABASE=WL-430U 802.11bg
+
+usb:v1587*
+ ID_VENDOR_FROM_DATABASE=SMA Technologie AG
+
+usb:v158D*
+ ID_VENDOR_FROM_DATABASE=Oakley Inc.
+
+usb:v158E*
+ ID_VENDOR_FROM_DATABASE=JDS Uniphase Corporation (JDSU)
+
+usb:v158Ep0820*
+ ID_MODEL_FROM_DATABASE=SmartPocket Class Device
+
+usb:v1598*
+ ID_VENDOR_FROM_DATABASE=Kunshan Guoji Electronics Co., Ltd.
+
+usb:v15A2*
+ ID_VENDOR_FROM_DATABASE=Freescale Semiconductor, Inc.
+
+usb:v15A2p003B*
+ ID_MODEL_FROM_DATABASE=USB2CAN Application for ColdFire DEMOJM board
+
+usb:v15A2p0042*
+ ID_MODEL_FROM_DATABASE=OSBDM - Debug Port
+
+usb:v15A2p004F*
+ ID_MODEL_FROM_DATABASE=i.MX28 SystemOnChip in RecoveryMode
+
+usb:v15A2p0052*
+ ID_MODEL_FROM_DATABASE=i.MX50 SystemOnChip in RecoveryMode
+
+usb:v15A2p0054*
+ ID_MODEL_FROM_DATABASE=i.MX6Q SystemOnChip in RecoveryMode
+
+usb:v15A4*
+ ID_VENDOR_FROM_DATABASE=Afatech Technologies, Inc.
+
+usb:v15A4p1000*
+ ID_MODEL_FROM_DATABASE=AF9015/AF9035 DVB-T stick
+
+usb:v15A4p1001*
+ ID_MODEL_FROM_DATABASE=AF9015/AF9035 DVB-T stick
+
+usb:v15A4p1336*
+ ID_MODEL_FROM_DATABASE=SDHC/MicroSD/MMC/MS/M2/CF/XD Flash Card Reader
+
+usb:v15A4p9015*
+ ID_MODEL_FROM_DATABASE=AF9015 DVB-T USB2.0 stick
+
+usb:v15A4p9016*
+ ID_MODEL_FROM_DATABASE=AF9015 DVB-T USB2.0 stick
+
+usb:v15A8*
+ ID_VENDOR_FROM_DATABASE=Teams Power Limited
+
+usb:v15A9*
+ ID_VENDOR_FROM_DATABASE=Gemtek
+
+usb:v15A9p0002*
+ ID_MODEL_FROM_DATABASE=SparkLAN WL-682 802.11bg Wireless Adapter [Intersil ISL3887]
+
+usb:v15A9p0004*
+ ID_MODEL_FROM_DATABASE=WUBR-177G [Ralink RT2571W]
+
+usb:v15A9p0006*
+ ID_MODEL_FROM_DATABASE=Wireless 11n USB Adapter
+
+usb:v15A9p0010*
+ ID_MODEL_FROM_DATABASE=802.11n USB Wireless Card
+
+usb:v15A9p0012*
+ ID_MODEL_FROM_DATABASE=WUBR-208N 802.11abgn Wireless Adapter [Ralink RT2870]
+
+usb:v15AA*
+ ID_VENDOR_FROM_DATABASE=Gearway Electronics (Dong Guan) Co., Ltd.
+
+usb:v15AD*
+ ID_VENDOR_FROM_DATABASE=VMware Inc.
+
+usb:v15BA*
+ ID_VENDOR_FROM_DATABASE=Olimex Ltd.
+
+usb:v15BAp0003*
+ ID_MODEL_FROM_DATABASE=OpenOCD JTAG
+
+usb:v15BAp0004*
+ ID_MODEL_FROM_DATABASE=OpenOCD JTAG TINY
+
+usb:v15BAp002A*
+ ID_MODEL_FROM_DATABASE=ARM-USB-TINY-H JTAG interface
+
+usb:v15BAp002B*
+ ID_MODEL_FROM_DATABASE=ARM-USB-OCD-H JTAG+RS232
+
+usb:v15C0*
+ ID_VENDOR_FROM_DATABASE=XL Imaging
+
+usb:v15C0p0001*
+ ID_MODEL_FROM_DATABASE=2M pixel Microscope Camera
+
+usb:v15C0p0002*
+ ID_MODEL_FROM_DATABASE=3M pixel Microscope Camera
+
+usb:v15C0p0003*
+ ID_MODEL_FROM_DATABASE=1.3M pixel Microscope Camera (mono)
+
+usb:v15C0p0004*
+ ID_MODEL_FROM_DATABASE=1.3M pixel Microscope Camera (colour)
+
+usb:v15C0p0005*
+ ID_MODEL_FROM_DATABASE=3M pixel Microscope Camera (Mk 2)
+
+usb:v15C0p0006*
+ ID_MODEL_FROM_DATABASE=2M pixel Microscope Camera (with capture button)
+
+usb:v15C0p0007*
+ ID_MODEL_FROM_DATABASE=3M pixel Microscope Camera (with capture button)
+
+usb:v15C0p0008*
+ ID_MODEL_FROM_DATABASE=1.3M pixel Microscope Camera (colour, with capture button)
+
+usb:v15C0p0009*
+ ID_MODEL_FROM_DATABASE=1.3M pixel Microscope Camera (colour, with capture button)
+
+usb:v15C0p000A*
+ ID_MODEL_FROM_DATABASE=2M pixel Microscope Camera (Mk 2)
+
+usb:v15C0p0010*
+ ID_MODEL_FROM_DATABASE=1.3M pixel "Tinycam"
+
+usb:v15C0p0101*
+ ID_MODEL_FROM_DATABASE=3M pixel Microscope Camera
+
+usb:v15C2*
+ ID_VENDOR_FROM_DATABASE=SoundGraph Inc.
+
+usb:v15C2p0036*
+ ID_MODEL_FROM_DATABASE=LC16M VFD Display/IR Receiver
+
+usb:v15C2p0038*
+ ID_MODEL_FROM_DATABASE=GD01 MX LCD Display/IR Receiver
+
+usb:v15C2pFFDA*
+ ID_MODEL_FROM_DATABASE=iMON PAD Remote Controller
+
+usb:v15C2pFFDC*
+ ID_MODEL_FROM_DATABASE=iMON PAD Remote Controller
+
+usb:v15C5*
+ ID_VENDOR_FROM_DATABASE=Advance Multimedia Internet Technology Inc. (AMIT)
+
+usb:v15C5p0008*
+ ID_MODEL_FROM_DATABASE=WL532U 802.11g Adapter
+
+usb:v15C6*
+ ID_VENDOR_FROM_DATABASE=Laboratoires MXM
+
+usb:v15C6p1000*
+ ID_MODEL_FROM_DATABASE=DigistimSP (cold)
+
+usb:v15C6p1001*
+ ID_MODEL_FROM_DATABASE=DigistimSP (warm)
+
+usb:v15C6p1002*
+ ID_MODEL_FROM_DATABASE=DigimapSP USB (cold)
+
+usb:v15C6p1003*
+ ID_MODEL_FROM_DATABASE=DigimapSP USB (warm)
+
+usb:v15C6p1004*
+ ID_MODEL_FROM_DATABASE=DigistimSP (cold)
+
+usb:v15C6p1005*
+ ID_MODEL_FROM_DATABASE=DigistimSP (warm)
+
+usb:v15C6p1100*
+ ID_MODEL_FROM_DATABASE=Odyssee (cold)
+
+usb:v15C6p1101*
+ ID_MODEL_FROM_DATABASE=Odyssee (warm)
+
+usb:v15C6p1200*
+ ID_MODEL_FROM_DATABASE=Digispy
+
+usb:v15C8*
+ ID_VENDOR_FROM_DATABASE=KTF Technologies
+
+usb:v15C8p3201*
+ ID_MODEL_FROM_DATABASE=EVER EV-W100/EV-W250
+
+usb:v15C9*
+ ID_VENDOR_FROM_DATABASE=D-Box Technologies
+
+usb:v15CA*
+ ID_VENDOR_FROM_DATABASE=Textech International Ltd.
+
+usb:v15CAp00C3*
+ ID_MODEL_FROM_DATABASE=Mini Optical Mouse
+
+usb:v15CAp0101*
+ ID_MODEL_FROM_DATABASE=MIDI Interface cable
+
+usb:v15CAp1806*
+ ID_MODEL_FROM_DATABASE=MIDI Interface cable
+
+usb:v15D5*
+ ID_VENDOR_FROM_DATABASE=Coulomb Electronics Ltd.
+
+usb:v15D9*
+ ID_VENDOR_FROM_DATABASE=Trust International B.V.
+
+usb:v15D9p0A33*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v15D9p0A37*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v15D9p0A41*
+ ID_MODEL_FROM_DATABASE=MI-2540D [Optical mouse]
+
+usb:v15D9p0A4C*
+ ID_MODEL_FROM_DATABASE=USB+PS/2 Optical Mouse
+
+usb:v15D9p0A4D*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v15DC*
+ ID_VENDOR_FROM_DATABASE=Hynix Semiconductor Inc.
+
+usb:v15E0*
+ ID_VENDOR_FROM_DATABASE=Seong Ji Industrial Co., Ltd.
+
+usb:v15E1*
+ ID_VENDOR_FROM_DATABASE=RSA
+
+usb:v15E1p2007*
+ ID_MODEL_FROM_DATABASE=RSA SecurID (R) Authenticator
+
+usb:v15E4*
+ ID_VENDOR_FROM_DATABASE=Numark
+
+usb:v15E4p0024*
+ ID_MODEL_FROM_DATABASE=Mixtrack
+
+usb:v15E8*
+ ID_VENDOR_FROM_DATABASE=SohoWare
+
+usb:v15E8p9100*
+ ID_MODEL_FROM_DATABASE=NUB100 Ethernet [pegasus]
+
+usb:v15E8p9110*
+ ID_MODEL_FROM_DATABASE=10/100 USB Ethernet
+
+usb:v15E9*
+ ID_VENDOR_FROM_DATABASE=Pacific Digital Corp.
+
+usb:v15E9p04CE*
+ ID_MODEL_FROM_DATABASE=MemoryFrame MF-570
+
+usb:v15E9p1968*
+ ID_MODEL_FROM_DATABASE=MemoryFrame MF-570
+
+usb:v15E9p1969*
+ ID_MODEL_FROM_DATABASE=Digital Frame
+
+usb:v15EC*
+ ID_VENDOR_FROM_DATABASE=Belcarra Technologies Corp.
+
+usb:v15F4*
+ ID_VENDOR_FROM_DATABASE=HanfTek
+
+usb:v15F4p0001*
+ ID_MODEL_FROM_DATABASE=HanfTek UMT-010 USB2.0 DVB-T (cold)
+
+usb:v15F4p0025*
+ ID_MODEL_FROM_DATABASE=HanfTek UMT-010 USB2.0 DVB-T (warm)
+
+usb:v1604*
+ ID_VENDOR_FROM_DATABASE=Tascam
+
+usb:v1604p8000*
+ ID_MODEL_FROM_DATABASE=US-428 Audio/Midi Controller (without fw)
+
+usb:v1604p8001*
+ ID_MODEL_FROM_DATABASE=US-428 Audio/Midi Controller
+
+usb:v1604p8004*
+ ID_MODEL_FROM_DATABASE=US-224 Audio/Midi Controller (without fw)
+
+usb:v1604p8005*
+ ID_MODEL_FROM_DATABASE=US-224 Audio/Midi Controller
+
+usb:v1604p8006*
+ ID_MODEL_FROM_DATABASE=US-122 Audio/Midi Interface (without fw)
+
+usb:v1604p8007*
+ ID_MODEL_FROM_DATABASE=US-122 Audio/Midi Interface
+
+usb:v1606*
+ ID_VENDOR_FROM_DATABASE=Umax
+
+usb:v1606p0002*
+ ID_MODEL_FROM_DATABASE=Astra 1236U Scanner
+
+usb:v1606p0010*
+ ID_MODEL_FROM_DATABASE=Astra 1220U
+
+usb:v1606p0030*
+ ID_MODEL_FROM_DATABASE=Astra 1600U/2000U
+
+usb:v1606p0050*
+ ID_MODEL_FROM_DATABASE=Scanner
+
+usb:v1606p0060*
+ ID_MODEL_FROM_DATABASE=Astra 3400/3450
+
+usb:v1606p0070*
+ ID_MODEL_FROM_DATABASE=Astra 4400/4450
+
+usb:v1606p0130*
+ ID_MODEL_FROM_DATABASE=Astra 2100U
+
+usb:v1606p0160*
+ ID_MODEL_FROM_DATABASE=Astra 5400U
+
+usb:v1606p0170*
+ ID_MODEL_FROM_DATABASE=Uniscan D50
+
+usb:v1606p0230*
+ ID_MODEL_FROM_DATABASE=Astra 2200/2200SU
+
+usb:v1606p0350*
+ ID_MODEL_FROM_DATABASE=Astra 4800/4850 Scanner
+
+usb:v1606p1030*
+ ID_MODEL_FROM_DATABASE=Astra 4000U
+
+usb:v1606p1220*
+ ID_MODEL_FROM_DATABASE=Genesys Logic Scanner Controller NT5.0
+
+usb:v1606p2010*
+ ID_MODEL_FROM_DATABASE=AstraCam Digital Camera
+
+usb:v1606p2020*
+ ID_MODEL_FROM_DATABASE=AstraCam 1000
+
+usb:v1606p2030*
+ ID_MODEL_FROM_DATABASE=AstraCam 1800 Digital Camera
+
+usb:v1608*
+ ID_VENDOR_FROM_DATABASE=Inside Out Networks [hex]
+
+usb:v1608p0001*
+ ID_MODEL_FROM_DATABASE=EdgePort/4 Serial Port
+
+usb:v1608p0002*
+ ID_MODEL_FROM_DATABASE=Edgeport/8
+
+usb:v1608p0003*
+ ID_MODEL_FROM_DATABASE=Rapidport/4
+
+usb:v1608p0004*
+ ID_MODEL_FROM_DATABASE=Edgeport/4
+
+usb:v1608p0005*
+ ID_MODEL_FROM_DATABASE=Edgeport/2
+
+usb:v1608p0006*
+ ID_MODEL_FROM_DATABASE=Edgeport/4i
+
+usb:v1608p0007*
+ ID_MODEL_FROM_DATABASE=Edgeport/2i
+
+usb:v1608p0008*
+ ID_MODEL_FROM_DATABASE=Edgeport/8
+
+usb:v1608p000C*
+ ID_MODEL_FROM_DATABASE=Edgeport/421
+
+usb:v1608p000D*
+ ID_MODEL_FROM_DATABASE=Edgeport/21
+
+usb:v1608p000E*
+ ID_MODEL_FROM_DATABASE=Edgeport/4
+
+usb:v1608p000F*
+ ID_MODEL_FROM_DATABASE=Edgeport/8
+
+usb:v1608p0010*
+ ID_MODEL_FROM_DATABASE=Edgeport/2
+
+usb:v1608p0011*
+ ID_MODEL_FROM_DATABASE=Edgeport/4
+
+usb:v1608p0012*
+ ID_MODEL_FROM_DATABASE=Edgeport/416
+
+usb:v1608p0014*
+ ID_MODEL_FROM_DATABASE=Edgeport/8i
+
+usb:v1608p0018*
+ ID_MODEL_FROM_DATABASE=Edgeport/412
+
+usb:v1608p0019*
+ ID_MODEL_FROM_DATABASE=Edgeport/412
+
+usb:v1608p001A*
+ ID_MODEL_FROM_DATABASE=Edgeport/2+2i
+
+usb:v1608p0101*
+ ID_MODEL_FROM_DATABASE=Edgeport/4
+
+usb:v1608p0105*
+ ID_MODEL_FROM_DATABASE=Edgeport/2
+
+usb:v1608p0106*
+ ID_MODEL_FROM_DATABASE=Edgeport/4i
+
+usb:v1608p0107*
+ ID_MODEL_FROM_DATABASE=Edgeport/2i
+
+usb:v1608p010C*
+ ID_MODEL_FROM_DATABASE=Edgeport/421
+
+usb:v1608p010D*
+ ID_MODEL_FROM_DATABASE=Edgeport/21
+
+usb:v1608p0110*
+ ID_MODEL_FROM_DATABASE=Edgeport/2
+
+usb:v1608p0111*
+ ID_MODEL_FROM_DATABASE=Edgeport/4
+
+usb:v1608p0112*
+ ID_MODEL_FROM_DATABASE=Edgeport/416
+
+usb:v1608p0114*
+ ID_MODEL_FROM_DATABASE=Edgeport/8i
+
+usb:v1608p0201*
+ ID_MODEL_FROM_DATABASE=Edgeport/4
+
+usb:v1608p0203*
+ ID_MODEL_FROM_DATABASE=Rapidport/4
+
+usb:v1608p0204*
+ ID_MODEL_FROM_DATABASE=Edgeport/4
+
+usb:v1608p0205*
+ ID_MODEL_FROM_DATABASE=Edgeport/2
+
+usb:v1608p0206*
+ ID_MODEL_FROM_DATABASE=Edgeport/4i
+
+usb:v1608p0207*
+ ID_MODEL_FROM_DATABASE=Edgeport/2i
+
+usb:v1608p020C*
+ ID_MODEL_FROM_DATABASE=Edgeport/421
+
+usb:v1608p020D*
+ ID_MODEL_FROM_DATABASE=Edgeport/21
+
+usb:v1608p020E*
+ ID_MODEL_FROM_DATABASE=Edgeport/4
+
+usb:v1608p020F*
+ ID_MODEL_FROM_DATABASE=Edgeport/8
+
+usb:v1608p0210*
+ ID_MODEL_FROM_DATABASE=Edgeport/2
+
+usb:v1608p0211*
+ ID_MODEL_FROM_DATABASE=Edgeport/4
+
+usb:v1608p0212*
+ ID_MODEL_FROM_DATABASE=Edgeport/416
+
+usb:v1608p0214*
+ ID_MODEL_FROM_DATABASE=Edgeport/8i
+
+usb:v1608p0215*
+ ID_MODEL_FROM_DATABASE=Edgeport/1
+
+usb:v1608p0216*
+ ID_MODEL_FROM_DATABASE=EPOS/44
+
+usb:v1608p0217*
+ ID_MODEL_FROM_DATABASE=Edgeport/42
+
+usb:v1608p021A*
+ ID_MODEL_FROM_DATABASE=Edgeport/2+2i
+
+usb:v1608p021B*
+ ID_MODEL_FROM_DATABASE=Edgeport/2c
+
+usb:v1608p021C*
+ ID_MODEL_FROM_DATABASE=Edgeport/221c
+
+usb:v1608p021D*
+ ID_MODEL_FROM_DATABASE=Edgeport/22c
+
+usb:v1608p021E*
+ ID_MODEL_FROM_DATABASE=Edgeport/21c
+
+usb:v1608p021F*
+ ID_MODEL_FROM_DATABASE=Edgeport/62
+
+usb:v1608p0240*
+ ID_MODEL_FROM_DATABASE=Edgeport/1
+
+usb:v1608p0241*
+ ID_MODEL_FROM_DATABASE=Edgeport/1i
+
+usb:v1608p0242*
+ ID_MODEL_FROM_DATABASE=Edgeport/4s
+
+usb:v1608p0243*
+ ID_MODEL_FROM_DATABASE=Edgeport/8s
+
+usb:v1608p0244*
+ ID_MODEL_FROM_DATABASE=Edgeport/8
+
+usb:v1608p0245*
+ ID_MODEL_FROM_DATABASE=Edgeport/22c
+
+usb:v1608p0301*
+ ID_MODEL_FROM_DATABASE=Watchport/P
+
+usb:v1608p0302*
+ ID_MODEL_FROM_DATABASE=Watchport/M
+
+usb:v1608p0303*
+ ID_MODEL_FROM_DATABASE=Watchport/W
+
+usb:v1608p0304*
+ ID_MODEL_FROM_DATABASE=Watchport/T
+
+usb:v1608p0305*
+ ID_MODEL_FROM_DATABASE=Watchport/H
+
+usb:v1608p0306*
+ ID_MODEL_FROM_DATABASE=Watchport/E
+
+usb:v1608p0307*
+ ID_MODEL_FROM_DATABASE=Watchport/L
+
+usb:v1608p0308*
+ ID_MODEL_FROM_DATABASE=Watchport/R
+
+usb:v1608p0309*
+ ID_MODEL_FROM_DATABASE=Watchport/A
+
+usb:v1608p030A*
+ ID_MODEL_FROM_DATABASE=Watchport/D
+
+usb:v1608p030B*
+ ID_MODEL_FROM_DATABASE=Watchport/D
+
+usb:v1608p030C*
+ ID_MODEL_FROM_DATABASE=Power Management Port
+
+usb:v1608p030E*
+ ID_MODEL_FROM_DATABASE=Power Management Port
+
+usb:v1608p030F*
+ ID_MODEL_FROM_DATABASE=Watchport/G
+
+usb:v1608p0310*
+ ID_MODEL_FROM_DATABASE=Watchport/Tc
+
+usb:v1608p0311*
+ ID_MODEL_FROM_DATABASE=Watchport/Hc
+
+usb:v1608p1403*
+ ID_MODEL_FROM_DATABASE=MultiTech Systems MT4X56 Modem
+
+usb:v1608p1A17*
+ ID_MODEL_FROM_DATABASE=Agilent Technologies (E6473)
+
+usb:v160A*
+ ID_VENDOR_FROM_DATABASE=VIA Technologies, Inc.
+
+usb:v160Ap3184*
+ ID_MODEL_FROM_DATABASE=VIA VNT-6656 [WiFi 802.11b/g USB Dongle]
+
+usb:v160E*
+ ID_VENDOR_FROM_DATABASE=INRO
+
+usb:v160Ep0001*
+ ID_MODEL_FROM_DATABASE=E2USBKey
+
+usb:v1614*
+ ID_VENDOR_FROM_DATABASE=Amoi Electronics
+
+usb:v1614p0404*
+ ID_MODEL_FROM_DATABASE=WMA9109 UMTS Phone
+
+usb:v1614p0600*
+ ID_MODEL_FROM_DATABASE=Vodafone VDA GPS / Toschiba Protege G710
+
+usb:v1614p0804*
+ ID_MODEL_FROM_DATABASE=WP-S1 Phone
+
+usb:v1619*
+ ID_VENDOR_FROM_DATABASE=L & K Precision Technology Co., Ltd.
+
+usb:v1621*
+ ID_VENDOR_FROM_DATABASE=Wionics Research
+
+usb:v1628*
+ ID_VENDOR_FROM_DATABASE=Stonestreet One, Inc.
+
+usb:v162A*
+ ID_VENDOR_FROM_DATABASE=Airgo Networks Inc.
+
+usb:v162F*
+ ID_VENDOR_FROM_DATABASE=WiQuest Communications, Inc.
+
+usb:v1630*
+ ID_VENDOR_FROM_DATABASE=2Wire, Inc.
+
+usb:v1630p0005*
+ ID_MODEL_FROM_DATABASE=802.11g Wireless Adapter [Intersil ISL3886]
+
+usb:v1630p0011*
+ ID_MODEL_FROM_DATABASE=PC Port 10 Mps Adapter
+
+usb:v1630pFF81*
+ ID_MODEL_FROM_DATABASE=802.11b Wireless Adapter [Lucent/Agere Hermes I]
+
+usb:v1631*
+ ID_VENDOR_FROM_DATABASE=Good Way Technology
+
+usb:v1631p6200*
+ ID_MODEL_FROM_DATABASE=GWUSB2E
+
+usb:v1631pC019*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v1645*
+ ID_VENDOR_FROM_DATABASE=Cross Match Technologies GmbH
+
+usb:v1645p0001*
+ ID_MODEL_FROM_DATABASE=1S Serial Port
+
+usb:v1645p0002*
+ ID_MODEL_FROM_DATABASE=2S Serial Port
+
+usb:v1645p0003*
+ ID_MODEL_FROM_DATABASE=1S25 Serial Port
+
+usb:v1645p0004*
+ ID_MODEL_FROM_DATABASE=4S Serial Port
+
+usb:v1645p0005*
+ ID_MODEL_FROM_DATABASE=E45 Ethernet [klsi]
+
+usb:v1645p0006*
+ ID_MODEL_FROM_DATABASE=Parallel Port
+
+usb:v1645p0007*
+ ID_MODEL_FROM_DATABASE=U1-SC25 SCSI
+
+usb:v1645p0008*
+ ID_MODEL_FROM_DATABASE=Ethernet
+
+usb:v1645p0016*
+ ID_MODEL_FROM_DATABASE=Bi-directional to Parallel Printer Converter
+
+usb:v1645p0080*
+ ID_MODEL_FROM_DATABASE=1 port to Serial Converter
+
+usb:v1645p0081*
+ ID_MODEL_FROM_DATABASE=1 port to Serial Converter
+
+usb:v1645p0093*
+ ID_MODEL_FROM_DATABASE=1S9 Serial Port
+
+usb:v1645p8000*
+ ID_MODEL_FROM_DATABASE=EZ-USB
+
+usb:v1645p8001*
+ ID_MODEL_FROM_DATABASE=1 port to Serial
+
+usb:v1645p8002*
+ ID_MODEL_FROM_DATABASE=2x Serial Port
+
+usb:v1645p8003*
+ ID_MODEL_FROM_DATABASE=1 port to Serial
+
+usb:v1645p8004*
+ ID_MODEL_FROM_DATABASE=2U4S serial/usb hub
+
+usb:v1645p8005*
+ ID_MODEL_FROM_DATABASE=Ethernet
+
+usb:v1645p8080*
+ ID_MODEL_FROM_DATABASE=1 port to Serial
+
+usb:v1645p8081*
+ ID_MODEL_FROM_DATABASE=1 port to Serial
+
+usb:v1645p8093*
+ ID_MODEL_FROM_DATABASE=PortGear Serial Port
+
+usb:v1649*
+ ID_VENDOR_FROM_DATABASE=SofTec Microsystems
+
+usb:v1649p0102*
+ ID_MODEL_FROM_DATABASE=uDART In-Circuit Debugger
+
+usb:v1649p0200*
+ ID_MODEL_FROM_DATABASE=SpYder USBSPYDER08
+
+usb:v164A*
+ ID_VENDOR_FROM_DATABASE=ChipX
+
+usb:v164C*
+ ID_VENDOR_FROM_DATABASE=Matrix Vision GmbH
+
+usb:v164Cp0101*
+ ID_MODEL_FROM_DATABASE=mvBlueFOX camera (no firmware)
+
+usb:v164Cp0103*
+ ID_MODEL_FROM_DATABASE=mvBlueFOX camera
+
+usb:v164Cp0201*
+ ID_MODEL_FROM_DATABASE=mvBlueLYNX-X intelligent camera (bootloader)
+
+usb:v164Cp0203*
+ ID_MODEL_FROM_DATABASE=mvBlueLYNX-X intelligent camera
+
+usb:v1657*
+ ID_VENDOR_FROM_DATABASE=Struck Innovative Systeme GmbH
+
+usb:v1657p3150*
+ ID_MODEL_FROM_DATABASE=SIS3150 USB2.0 to VME interface
+
+usb:v165B*
+ ID_VENDOR_FROM_DATABASE=Frontier Design Group
+
+usb:v165Bp8101*
+ ID_MODEL_FROM_DATABASE=Tranzport Control Surface
+
+usb:v165BpFAD1*
+ ID_MODEL_FROM_DATABASE=Alphatrack Control Surface
+
+usb:v165C*
+ ID_VENDOR_FROM_DATABASE=Kondo Kagaku
+
+usb:v165Cp0002*
+ ID_MODEL_FROM_DATABASE=Serial Adapter
+
+usb:v1660*
+ ID_VENDOR_FROM_DATABASE=Creatix Polymedia GmbH
+
+usb:v1668*
+ ID_VENDOR_FROM_DATABASE=Actiontec Electronics, Inc. [hex]
+
+usb:v1668p0009*
+ ID_MODEL_FROM_DATABASE=Gateway
+
+usb:v1668p0333*
+ ID_MODEL_FROM_DATABASE=Modem
+
+usb:v1668p0358*
+ ID_MODEL_FROM_DATABASE=InternetPhoneWizard
+
+usb:v1668p0405*
+ ID_MODEL_FROM_DATABASE=Gateway
+
+usb:v1668p0408*
+ ID_MODEL_FROM_DATABASE=Prism2.5 802.11b Adapter
+
+usb:v1668p0413*
+ ID_MODEL_FROM_DATABASE=Gateway
+
+usb:v1668p0421*
+ ID_MODEL_FROM_DATABASE=Prism2.5 802.11b Adapter
+
+usb:v1668p0441*
+ ID_MODEL_FROM_DATABASE=IBM Integrated Bluetooth II
+
+usb:v1668p0500*
+ ID_MODEL_FROM_DATABASE=BTM200B BlueTooth Adapter
+
+usb:v1668p1050*
+ ID_MODEL_FROM_DATABASE=802UIG-1 802.11g Wireless Mini Adapter [Intersil ISL3887]
+
+usb:v1668p1200*
+ ID_MODEL_FROM_DATABASE=802AIN Wireless N Network Adapter [Atheros AR9170+AR9101]
+
+usb:v1668p1441*
+ ID_MODEL_FROM_DATABASE=IBM Integrated Bluetooth II
+
+usb:v1668p2441*
+ ID_MODEL_FROM_DATABASE=BMDC-2 IBM Bluetooth III w.56k
+
+usb:v1668p3441*
+ ID_MODEL_FROM_DATABASE=IBM Integrated Bluetooth III
+
+usb:v1668p6010*
+ ID_MODEL_FROM_DATABASE=Gateway
+
+usb:v1668p6097*
+ ID_MODEL_FROM_DATABASE=802.11b Wireless Adapter
+
+usb:v1668p6106*
+ ID_MODEL_FROM_DATABASE=802UI3(B) 802.11b Wireless Adapter [Intersil PRISM 3]
+
+usb:v1668p7605*
+ ID_MODEL_FROM_DATABASE=UAT1 Wireless Ethernet Adapter
+
+usb:v1669*
+ ID_VENDOR_FROM_DATABASE=PiKRON Ltd. [hex]
+
+usb:v1669p1001*
+ ID_MODEL_FROM_DATABASE=uLan2USB Converter - PS1 protocol
+
+usb:v166A*
+ ID_VENDOR_FROM_DATABASE=Clipsal
+
+usb:v166Ap0101*
+ ID_MODEL_FROM_DATABASE=C-Bus Multi-room Audio Matrix Switcher
+
+usb:v166Ap0201*
+ ID_MODEL_FROM_DATABASE=C-Bus Pascal Automation Controller
+
+usb:v166Ap0301*
+ ID_MODEL_FROM_DATABASE=C-Bus Wireless PC Interface
+
+usb:v166Ap0303*
+ ID_MODEL_FROM_DATABASE=C-Bus interface
+
+usb:v166Ap0304*
+ ID_MODEL_FROM_DATABASE=C-Bus Black and White Touchscreen
+
+usb:v166Ap0305*
+ ID_MODEL_FROM_DATABASE=C-Bus Spectrum Colour Touchscreen
+
+usb:v166Ap0401*
+ ID_MODEL_FROM_DATABASE=C-Bus Architectural Dimmer
+
+usb:v1677*
+ ID_VENDOR_FROM_DATABASE=China Huada Integrated Circuit Design (Group) Co., Ltd. (CIDC Group)
+
+usb:v1677p0103*
+ ID_MODEL_FROM_DATABASE=Token
+
+usb:v1679*
+ ID_VENDOR_FROM_DATABASE=Total Phase
+
+usb:v1679p2001*
+ ID_MODEL_FROM_DATABASE=Beagle Protocol Analyzer
+
+usb:v1679p2002*
+ ID_MODEL_FROM_DATABASE=Cheetah SPI Host Adapter
+
+usb:v1680*
+ ID_VENDOR_FROM_DATABASE=Golden Bridge Electech Inc.
+
+usb:v1680pA332*
+ ID_MODEL_FROM_DATABASE=DVB-T Dongle [RTL2832U]
+
+usb:v1681*
+ ID_VENDOR_FROM_DATABASE=Prevo Technologies, Inc.
+
+usb:v1681p0001*
+ ID_MODEL_FROM_DATABASE=Tuner's Dashboard
+
+usb:v1681p0002*
+ ID_MODEL_FROM_DATABASE=Tubachron
+
+usb:v1682*
+ ID_VENDOR_FROM_DATABASE=Maxwise Production Enterprise Ltd.
+
+usb:v1684*
+ ID_VENDOR_FROM_DATABASE=Godspeed Computer Corp.
+
+usb:v1685*
+ ID_VENDOR_FROM_DATABASE=Delock
+
+usb:v1685p0200*
+ ID_MODEL_FROM_DATABASE=Infrared adapter
+
+usb:v1686*
+ ID_VENDOR_FROM_DATABASE=ZOOM Corporation
+
+usb:v1686p0045*
+ ID_MODEL_FROM_DATABASE=H4 Digital Recorder
+
+usb:v1687*
+ ID_VENDOR_FROM_DATABASE=Kingmax Digital Inc.
+
+usb:v1687p5289*
+ ID_MODEL_FROM_DATABASE=FlashDisk
+
+usb:v1687p6211*
+ ID_MODEL_FROM_DATABASE=FlashDisk
+
+usb:v1688*
+ ID_VENDOR_FROM_DATABASE=Saab AB
+
+usb:v1689*
+ ID_VENDOR_FROM_DATABASE=Razer USA, Ltd
+
+usb:v1689pFD00*
+ ID_MODEL_FROM_DATABASE=Onza Tournament Edition controller
+
+usb:v168C*
+ ID_VENDOR_FROM_DATABASE=Atheros Communications
+
+usb:v168Cp0001*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:v168Cp0002*
+ ID_MODEL_FROM_DATABASE=AR5523 (no firmware)
+
+usb:v1690*
+ ID_VENDOR_FROM_DATABASE=Askey Computer Corp. [hex]
+
+usb:v1690p0001*
+ ID_MODEL_FROM_DATABASE=Arcaze Gamepad
+
+usb:v1690p0101*
+ ID_MODEL_FROM_DATABASE=Creative Modem Blaster DE5670
+
+usb:v1690p0102*
+ ID_MODEL_FROM_DATABASE=V1456 VQE-R2 Modem [conexant]
+
+usb:v1690p0103*
+ ID_MODEL_FROM_DATABASE=1456 VQE-R3 Modem [conexant]
+
+usb:v1690p0104*
+ ID_MODEL_FROM_DATABASE=HCF V90 Data Fax RTAD Modem
+
+usb:v1690p0107*
+ ID_MODEL_FROM_DATABASE=HCF V.90 Data,Fax,RTAD Modem
+
+usb:v1690p0109*
+ ID_MODEL_FROM_DATABASE=MagicXpress V.90 Pocket Modem [conexant]
+
+usb:v1690p0203*
+ ID_MODEL_FROM_DATABASE=Voyager ADSL Modem Loader
+
+usb:v1690p0204*
+ ID_MODEL_FROM_DATABASE=Voyager ADSL Modem
+
+usb:v1690p0205*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v1690p0206*
+ ID_MODEL_FROM_DATABASE=GlobeSpan ADSL WAN Modem
+
+usb:v1690p0208*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v1690p0209*
+ ID_MODEL_FROM_DATABASE=Voyager 100 ADSL Modem
+
+usb:v1690p0211*
+ ID_MODEL_FROM_DATABASE=Globespan Virata ADSL LAN Modem
+
+usb:v1690p0212*
+ ID_MODEL_FROM_DATABASE=DSL Modem
+
+usb:v1690p0213*
+ ID_MODEL_FROM_DATABASE=HM121d DSL Modem
+
+usb:v1690p0214*
+ ID_MODEL_FROM_DATABASE=HM121d DSL Modem
+
+usb:v1690p0215*
+ ID_MODEL_FROM_DATABASE=Voyager 105 ADSL Modem
+
+usb:v1690p0701*
+ ID_MODEL_FROM_DATABASE=WLAN
+
+usb:v1690p0710*
+ ID_MODEL_FROM_DATABASE=SMCWUSBT-G
+
+usb:v1690p0711*
+ ID_MODEL_FROM_DATABASE=SMCWUSBT-G (no firmware)
+
+usb:v1690p0712*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:v1690p0713*
+ ID_MODEL_FROM_DATABASE=AR5523 (no firmware)
+
+usb:v1690p0715*
+ ID_MODEL_FROM_DATABASE=Name: Voyager 1055 Laptop 802.11g Adapter [Broadcom 4320]
+
+usb:v1690p0722*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v1690p0726*
+ ID_MODEL_FROM_DATABASE=Wi-Fi Wireless LAN Adapter
+
+usb:v1690p0740*
+ ID_MODEL_FROM_DATABASE=802.11n Wireless LAN Card
+
+usb:v1690p0901*
+ ID_MODEL_FROM_DATABASE=Voyager 205 ADSL Router
+
+usb:v1696*
+ ID_VENDOR_FROM_DATABASE=Hitachi Video and Information System, Inc.
+
+usb:v1697*
+ ID_VENDOR_FROM_DATABASE=VTec Test, Inc.
+
+usb:v16A5*
+ ID_VENDOR_FROM_DATABASE=Shenzhen Zhengerya Cable Co., Ltd.
+
+usb:v16A6*
+ ID_VENDOR_FROM_DATABASE=Unigraf
+
+usb:v16A6p3000*
+ ID_MODEL_FROM_DATABASE=VTG-3xxx Video Test Generator family
+
+usb:v16A6p4000*
+ ID_MODEL_FROM_DATABASE=VTG-4xxx Video Test Generator family
+
+usb:v16A6p5000*
+ ID_MODEL_FROM_DATABASE=VTG-5xxx Video Test Generator family
+
+usb:v16A6p5001*
+ ID_MODEL_FROM_DATABASE=VTG-5xxx Special (update) mode of VTG-5xxx family
+
+usb:v16AB*
+ ID_VENDOR_FROM_DATABASE=Global Sun Technology
+
+usb:v16ABp7801*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:v16ABp7802*
+ ID_MODEL_FROM_DATABASE=AR5523 (no firmware)
+
+usb:v16ABp7811*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:v16ABp7812*
+ ID_MODEL_FROM_DATABASE=AR5523 (no firmware)
+
+usb:v16AC*
+ ID_VENDOR_FROM_DATABASE=Dongguan ChingLung Wire & Cable Co., Ltd.
+
+usb:v16B4*
+ ID_VENDOR_FROM_DATABASE=iStation
+
+usb:v16B4p0801*
+ ID_MODEL_FROM_DATABASE=U43
+
+usb:v16B5*
+ ID_VENDOR_FROM_DATABASE=Persentec, Inc.
+
+usb:v16B5p0002*
+ ID_MODEL_FROM_DATABASE=Otto driving companion
+
+usb:v16C0*
+ ID_VENDOR_FROM_DATABASE=Van Ooijen Technische Informatica
+
+usb:v16C0p03E8*
+ ID_MODEL_FROM_DATABASE=free for internal lab use 1000
+
+usb:v16C0p03E9*
+ ID_MODEL_FROM_DATABASE=free for internal lab use 1001
+
+usb:v16C0p03EA*
+ ID_MODEL_FROM_DATABASE=free for internal lab use 1002
+
+usb:v16C0p03EB*
+ ID_MODEL_FROM_DATABASE=free for internal lab use 1003
+
+usb:v16C0p03EC*
+ ID_MODEL_FROM_DATABASE=free for internal lab use 1004
+
+usb:v16C0p03ED*
+ ID_MODEL_FROM_DATABASE=free for internal lab use 1005
+
+usb:v16C0p03EE*
+ ID_MODEL_FROM_DATABASE=free for internal lab use 1006
+
+usb:v16C0p03EF*
+ ID_MODEL_FROM_DATABASE=free for internal lab use 1007
+
+usb:v16C0p03F0*
+ ID_MODEL_FROM_DATABASE=free for internal lab use 1008
+
+usb:v16C0p03F1*
+ ID_MODEL_FROM_DATABASE=free for internal lab use 1009
+
+usb:v16C0p0477*
+ ID_MODEL_FROM_DATABASE=Teensy Rebootor
+
+usb:v16C0p0478*
+ ID_MODEL_FROM_DATABASE=Teensy Halfkay Bootloader
+
+usb:v16C0p0479*
+ ID_MODEL_FROM_DATABASE=Teensy Debug
+
+usb:v16C0p047A*
+ ID_MODEL_FROM_DATABASE=Teensy Serial
+
+usb:v16C0p047B*
+ ID_MODEL_FROM_DATABASE=Teensy Serial+Debug
+
+usb:v16C0p047C*
+ ID_MODEL_FROM_DATABASE=Teensy Keyboard
+
+usb:v16C0p047D*
+ ID_MODEL_FROM_DATABASE=Teensy Keyboard+Debug
+
+usb:v16C0p047E*
+ ID_MODEL_FROM_DATABASE=Teensy Mouse
+
+usb:v16C0p047F*
+ ID_MODEL_FROM_DATABASE=Teensy Mouse+Debug
+
+usb:v16C0p0480*
+ ID_MODEL_FROM_DATABASE=Teensy RawHID
+
+usb:v16C0p0481*
+ ID_MODEL_FROM_DATABASE=Teensy RawHID+Debug
+
+usb:v16C0p0482*
+ ID_MODEL_FROM_DATABASE=Teensyduino Keyboard+Mouse+Joystick
+
+usb:v16C0p0483*
+ ID_MODEL_FROM_DATABASE=Teensyduino Serial
+
+usb:v16C0p0484*
+ ID_MODEL_FROM_DATABASE=Teensyduino Disk
+
+usb:v16C0p0485*
+ ID_MODEL_FROM_DATABASE=Teensyduino MIDI
+
+usb:v16C0p0486*
+ ID_MODEL_FROM_DATABASE=Teensyduino RawHID
+
+usb:v16C0p0487*
+ ID_MODEL_FROM_DATABASE=Teensyduino Serial+Keyboard+Mouse+Joystick
+
+usb:v16C0p0488*
+ ID_MODEL_FROM_DATABASE=Teensyduino Flight Sim Controls
+
+usb:v16C0p05DC*
+ ID_MODEL_FROM_DATABASE=shared ID for use with libusb
+
+usb:v16C0p05DD*
+ ID_MODEL_FROM_DATABASE=BlackcatUSB2
+
+usb:v16C0p05DF*
+ ID_MODEL_FROM_DATABASE=HID device except mice, keyboards, and joysticks
+
+usb:v16C0p05E1*
+ ID_MODEL_FROM_DATABASE=Free shared USB VID/PID pair for CDC devices
+
+usb:v16C0p05E4*
+ ID_MODEL_FROM_DATABASE=Free shared USB VID/PID pair for MIDI devices
+
+usb:v16C0p06B4*
+ ID_MODEL_FROM_DATABASE=USB2LPT with 2 interfaces
+
+usb:v16C0p06B5*
+ ID_MODEL_FROM_DATABASE=USB2LPT with 3 interfaces (native, HID, printer)
+
+usb:v16C0p076B*
+ ID_MODEL_FROM_DATABASE=OpenPCD 13.56MHz RFID Reader
+
+usb:v16C0p076C*
+ ID_MODEL_FROM_DATABASE=OpenPICC 13.56MHz RFID Simulator (native)
+
+usb:v16C0p08AC*
+ ID_MODEL_FROM_DATABASE=OpenBeacon USB stick
+
+usb:v16C0p08CA*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte Universal Display
+
+usb:v16C0p08CB*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte Studio Clock
+
+usb:v16C0p08CC*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte SAM7S MT Boot Loader
+
+usb:v16C0p08CD*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte SAM7X MT Boot Loader
+
+usb:v16C0p0A32*
+ ID_MODEL_FROM_DATABASE=jbmedia Light-Manager Pro
+
+usb:v16C0p27D8*
+ ID_MODEL_FROM_DATABASE=libusb-bound devices
+
+usb:v16C0p27D9*
+ ID_MODEL_FROM_DATABASE=HID device except mice, keyboards, and joysticks
+
+usb:v16C0p27DA*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v16C0p27DB*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v16C0p27DC*
+ ID_MODEL_FROM_DATABASE=Joystick
+
+usb:v16C0p27DD*
+ ID_MODEL_FROM_DATABASE=CDC-ACM class devices (modems)
+
+usb:v16C0p27DE*
+ ID_MODEL_FROM_DATABASE=MIDI class devices
+
+usb:v16C0p294A*
+ ID_MODEL_FROM_DATABASE=Eye Movement Recorder [Visagraph]
+
+usb:v16C0p294B*
+ ID_MODEL_FROM_DATABASE=Eye Movement Recorder [ReadAlyzer]
+
+usb:v16CA*
+ ID_VENDOR_FROM_DATABASE=Wireless Cables, Inc.
+
+usb:v16CAp1502*
+ ID_MODEL_FROM_DATABASE=Bluetooth Dongle
+
+usb:v16CC*
+ ID_VENDOR_FROM_DATABASE=silex technology, Inc.
+
+usb:v16D0*
+ ID_VENDOR_FROM_DATABASE=MCS
+
+usb:v16D0p0498*
+ ID_MODEL_FROM_DATABASE=Braintechnology USB-LPS
+
+usb:v16D0p0504*
+ ID_MODEL_FROM_DATABASE=RETRO Innovations ZoomFloppy
+
+usb:v16D0p054B*
+ ID_MODEL_FROM_DATABASE=GrauTec ReelBox OLED Display (external)
+
+usb:v16D0p05BE*
+ ID_MODEL_FROM_DATABASE=EasyLogic Board
+
+usb:v16D0p0753*
+ ID_MODEL_FROM_DATABASE=Digistump DigiSpark
+
+usb:v16D0p075C*
+ ID_MODEL_FROM_DATABASE=AB-1.x UAC1 [Audio Widget]
+
+usb:v16D0p075D*
+ ID_MODEL_FROM_DATABASE=AB-1.x UAC2 [Audio Widget]
+
+usb:v16D3*
+ ID_VENDOR_FROM_DATABASE=Frontline Test Equipment, Inc.
+
+usb:v16D5*
+ ID_VENDOR_FROM_DATABASE=AnyDATA Corporation
+
+usb:v16D5p6202*
+ ID_MODEL_FROM_DATABASE=CDMA/UMTS/GPRS modem
+
+usb:v16D5p6501*
+ ID_MODEL_FROM_DATABASE=CDMA 2000 1xRTT/EV-DO Modem
+
+usb:v16D5p6502*
+ ID_MODEL_FROM_DATABASE=CDMA/UMTS/GPRS modem
+
+usb:v16D6*
+ ID_VENDOR_FROM_DATABASE=JABLOCOM s.r.o.
+
+usb:v16D6p8000*
+ ID_MODEL_FROM_DATABASE=GDP-04 desktop phone
+
+usb:v16D6p8001*
+ ID_MODEL_FROM_DATABASE=EYE-02
+
+usb:v16D6p8003*
+ ID_MODEL_FROM_DATABASE=GDP-04 modem
+
+usb:v16D6p8004*
+ ID_MODEL_FROM_DATABASE=Bootloader
+
+usb:v16D6p8005*
+ ID_MODEL_FROM_DATABASE=GDP-04i
+
+usb:v16D6p8007*
+ ID_MODEL_FROM_DATABASE=BTP-06 modem
+
+usb:v16D8*
+ ID_VENDOR_FROM_DATABASE=CMOTECH Co., Ltd.
+
+usb:v16D8p5141*
+ ID_MODEL_FROM_DATABASE=CMOTECH CDMA Technologies modem
+
+usb:v16D8p5533*
+ ID_MODEL_FROM_DATABASE=CCU-550 CDMA EV-DO modem
+
+usb:v16D8p5543*
+ ID_MODEL_FROM_DATABASE=CDMA 2000 1xRTT/1xEVDO modem
+
+usb:v16D8p6280*
+ ID_MODEL_FROM_DATABASE=CMOTECH CDMA Technologies modem
+
+usb:v16D8p6803*
+ ID_MODEL_FROM_DATABASE=CNU-680 CDMA EV-DO modem
+
+usb:v16D8p8001*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem (QDL mode)
+
+usb:v16D8p8002*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem
+
+usb:v16DC*
+ ID_VENDOR_FROM_DATABASE=Wiener, Plein & Baus
+
+usb:v16DCp0001*
+ ID_MODEL_FROM_DATABASE=CC
+
+usb:v16DCp000B*
+ ID_MODEL_FROM_DATABASE=VM
+
+usb:v16DCp0010*
+ ID_MODEL_FROM_DATABASE=PL512 Power Supply System
+
+usb:v16DCp0011*
+ ID_MODEL_FROM_DATABASE=MARATON Power Supply System
+
+usb:v16DCp0012*
+ ID_MODEL_FROM_DATABASE=MPOD Multi Channel Power Supply System
+
+usb:v16DCp0015*
+ ID_MODEL_FROM_DATABASE=CML Control, Measurement and Data Logging System
+
+usb:v16DF*
+ ID_VENDOR_FROM_DATABASE=King Billion Electronics Co., Ltd.
+
+usb:v16F0*
+ ID_VENDOR_FROM_DATABASE=GN ReSound A/S
+
+usb:v16F0p0001*
+ ID_MODEL_FROM_DATABASE=Speedlink Programming Interface
+
+usb:v16F0p0003*
+ ID_MODEL_FROM_DATABASE=Airlink Wireless Programming Interface
+
+usb:v16F5*
+ ID_VENDOR_FROM_DATABASE=Futurelogic Inc.
+
+usb:v1706*
+ ID_VENDOR_FROM_DATABASE=BlueView Technologies, Inc.
+
+usb:v1707*
+ ID_VENDOR_FROM_DATABASE=ARTIMI
+
+usb:v170B*
+ ID_VENDOR_FROM_DATABASE=Swissonic
+
+usb:v170Bp0011*
+ ID_MODEL_FROM_DATABASE=MIDI-USB 1x1
+
+usb:v170D*
+ ID_VENDOR_FROM_DATABASE=Avnera
+
+usb:v1725*
+ ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor
+
+usb:v1726*
+ ID_VENDOR_FROM_DATABASE=Axesstel, Inc.
+
+usb:v1726p1000*
+ ID_MODEL_FROM_DATABASE=wireless modem
+
+usb:v1726p2000*
+ ID_MODEL_FROM_DATABASE=wireless modem
+
+usb:v1726p3000*
+ ID_MODEL_FROM_DATABASE=wireless modem
+
+usb:v172F*
+ ID_VENDOR_FROM_DATABASE=Waltop International Corp.
+
+usb:v172Fp0022*
+ ID_MODEL_FROM_DATABASE=Tablet
+
+usb:v172Fp0024*
+ ID_MODEL_FROM_DATABASE=Tablet
+
+usb:v172Fp0025*
+ ID_MODEL_FROM_DATABASE=Tablet
+
+usb:v172Fp0026*
+ ID_MODEL_FROM_DATABASE=Tablet
+
+usb:v172Fp0031*
+ ID_MODEL_FROM_DATABASE=Slim Tablet 12.1"
+
+usb:v172Fp0032*
+ ID_MODEL_FROM_DATABASE=Slim Tablet 5.8"
+
+usb:v172Fp0034*
+ ID_MODEL_FROM_DATABASE=Slim Tablet 12.1"
+
+usb:v172Fp0038*
+ ID_MODEL_FROM_DATABASE=Genius G-Pen F509
+
+usb:v172Fp0500*
+ ID_MODEL_FROM_DATABASE=Media Tablet 14.1"
+
+usb:v172Fp0501*
+ ID_MODEL_FROM_DATABASE=Media Tablet 10.6"
+
+usb:v172Fp0502*
+ ID_MODEL_FROM_DATABASE=Sirius Battery Free Tablet
+
+usb:v1733*
+ ID_VENDOR_FROM_DATABASE=Cellink Technology Co., Ltd
+
+usb:v1733p0101*
+ ID_MODEL_FROM_DATABASE=RF Wireless Optical Mouse OP-701
+
+usb:v1736*
+ ID_VENDOR_FROM_DATABASE=CANON IMAGING SYSTEM TECHNOLOGIES INC.
+
+usb:v1737*
+ ID_VENDOR_FROM_DATABASE=Linksys
+
+usb:v1737p0039*
+ ID_MODEL_FROM_DATABASE=USB1000 Gigabit Notebook Adapter
+
+usb:v1737p0070*
+ ID_MODEL_FROM_DATABASE=WUSB100 v1 RangePlus Wireless Network Adapter [Ralink RT2870]
+
+usb:v1737p0071*
+ ID_MODEL_FROM_DATABASE=WUSB600N v1 Dual-Band Wireless-N Network Adapter [Ralink RT2870]
+
+usb:v1737p0073*
+ ID_MODEL_FROM_DATABASE=WUSB54GC v2 802.11g Adapter [Realtek RTL8187B]
+
+usb:v1737p0075*
+ ID_MODEL_FROM_DATABASE=WUSB54GSC v2 802.11g Adapter [Broadcom 4326U]
+
+usb:v1737p0077*
+ ID_MODEL_FROM_DATABASE=WUSB54GC v3 802.11g Adapter [Ralink RT2070L]
+
+usb:v1737p0078*
+ ID_MODEL_FROM_DATABASE=WUSB100 v2 RangePlus Wireless Network Adapter [Ralink RT3070]
+
+usb:v1737p0079*
+ ID_MODEL_FROM_DATABASE=WUSB600N v2 Dual-Band Wireless-N Network Adapter [Ralink RT3572]
+
+usb:v1740*
+ ID_VENDOR_FROM_DATABASE=Senao
+
+usb:v1740p0605*
+ ID_MODEL_FROM_DATABASE=LevelOne WUA-0605 N_Max Wireless USB Adapter
+
+usb:v1740p0615*
+ ID_MODEL_FROM_DATABASE=LevelOne WUA-0615 N_Max Wireless USB Adapter
+
+usb:v1740p1000*
+ ID_MODEL_FROM_DATABASE=NUB-350 802.11g Wireless Adapter [Intersil ISL3887]
+
+usb:v1740p2000*
+ ID_MODEL_FROM_DATABASE=NUB-8301 802.11bg
+
+usb:v1740p3701*
+ ID_MODEL_FROM_DATABASE=EUB-3701 EXT 802.11g Wireless Adapter [Ralink RT2571W]
+
+usb:v1740p9603*
+ ID_MODEL_FROM_DATABASE=RTL8188S WLAN Adapter
+
+usb:v1740p9701*
+ ID_MODEL_FROM_DATABASE=EnGenius 802.11n Wireless USB Adapter
+
+usb:v1740p9702*
+ ID_MODEL_FROM_DATABASE=EnGenius 802.11n Wireless USB Adapter
+
+usb:v1740p9703*
+ ID_MODEL_FROM_DATABASE=EnGenius 802.11n Wireless USB Adapter
+
+usb:v1740p9705*
+ ID_MODEL_FROM_DATABASE=EnGenius 802.11n Wireless USB Adapter
+
+usb:v1740p9706*
+ ID_MODEL_FROM_DATABASE=EUB9706 802.11n Wireless Adapter [Ralink RT3072]
+
+usb:v1740p9801*
+ ID_MODEL_FROM_DATABASE=EUB9801 802.11abgn Wireless Adapter [Ralink RT3572]
+
+usb:v1743*
+ ID_VENDOR_FROM_DATABASE=General Atomics
+
+usb:v174C*
+ ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc.
+
+usb:v174Cp5106*
+ ID_MODEL_FROM_DATABASE=Transcend StoreJet 25M3
+
+usb:v174Cp55AA*
+ ID_MODEL_FROM_DATABASE=ASMedia 2105 SATA bridge
+
+usb:v174F*
+ ID_VENDOR_FROM_DATABASE=Syntek
+
+usb:v174Fp1105*
+ ID_MODEL_FROM_DATABASE=SM-MS/Pro-MMC-XD Card Reader
+
+usb:v174Fp110B*
+ ID_MODEL_FROM_DATABASE=HP Webcam
+
+usb:v174Fp1403*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
+usb:v174Fp1404*
+ ID_MODEL_FROM_DATABASE=USB Camera device, 1.3 MPixel Web Cam
+
+usb:v174Fp5212*
+ ID_MODEL_FROM_DATABASE=USB 2.0 UVC PC Camera
+
+usb:v174Fp5A11*
+ ID_MODEL_FROM_DATABASE=PC Camera
+
+usb:v174Fp5A31*
+ ID_MODEL_FROM_DATABASE=Sonix USB 2.0 Camera
+
+usb:v174Fp5A35*
+ ID_MODEL_FROM_DATABASE=Sonix 1.3MPixel USB 2.0 Camera
+
+usb:v174Fp6A31*
+ ID_MODEL_FROM_DATABASE=Web Cam - Asus A8J, F3S, F5R, VX2S, V1S
+
+usb:v174Fp6A33*
+ ID_MODEL_FROM_DATABASE=Web Cam - Asus F3SA, F9J, F9S
+
+usb:v174Fp6A51*
+ ID_MODEL_FROM_DATABASE=2.0MPixel Web Cam - Asus Z96J, Z96S, S96S
+
+usb:v174Fp6A54*
+ ID_MODEL_FROM_DATABASE=Web Cam
+
+usb:v174Fp6D51*
+ ID_MODEL_FROM_DATABASE=2.0Mpixel Web Cam - Eurocom D900C
+
+usb:v174Fp8A12*
+ ID_MODEL_FROM_DATABASE=Syntek 0.3MPixel USB 2.0 UVC PC Camera
+
+usb:v174Fp8A33*
+ ID_MODEL_FROM_DATABASE=Syntek USB 2.0 UVC PC Camera
+
+usb:v174FpA311*
+ ID_MODEL_FROM_DATABASE=1.3MPixel Web Cam - Asus A3A, A6J, A6K, A6M, A6R, A6T, A6V, A7T, A7sv, A7U
+
+usb:v174FpA312*
+ ID_MODEL_FROM_DATABASE=1.3MPixel Web Cam
+
+usb:v174FpA821*
+ ID_MODEL_FROM_DATABASE=Web Cam - Packard Bell BU45, PB Easynote MX66-208W
+
+usb:v174FpAA11*
+ ID_MODEL_FROM_DATABASE=Web Cam
+
+usb:v1753*
+ ID_VENDOR_FROM_DATABASE=GERTEC Telecomunicacoes Ltda.
+
+usb:v1753pC901*
+ ID_MODEL_FROM_DATABASE=PPC900 Pinpad Terminal
+
+usb:v1759*
+ ID_VENDOR_FROM_DATABASE=LucidPort Technology, Inc.
+
+usb:v1761*
+ ID_VENDOR_FROM_DATABASE=ASUSTek Computer, Inc. (wrong ID)
+
+usb:v1761p0B05*
+ ID_MODEL_FROM_DATABASE=802.11n Network Adapter (wrong ID - swapped vendor and device)
+
+usb:v1772*
+ ID_VENDOR_FROM_DATABASE=System Level Solutions, Inc.
+
+usb:v1776*
+ ID_VENDOR_FROM_DATABASE=Arowana
+
+usb:v1776p501C*
+ ID_MODEL_FROM_DATABASE=300K CMOS Camera
+
+usb:v177F*
+ ID_VENDOR_FROM_DATABASE=Sweex
+
+usb:v177Fp0004*
+ ID_MODEL_FROM_DATABASE=MM004V5 Photo Key Chain (Digital Photo Frame) 1.5"
+
+usb:v177Fp0153*
+ ID_MODEL_FROM_DATABASE=LW153 802.11n Adapter [ralink rt3070]
+
+usb:v177Fp0154*
+ ID_MODEL_FROM_DATABASE=LW154 802.11bgn (1x1:1) Wireless Adapter [Realtek RTL8188SU]
+
+usb:v177Fp0313*
+ ID_MODEL_FROM_DATABASE=LW313 802.11n Adapter [ralink rt2770 + rt2720]
+
+usb:v1781*
+ ID_VENDOR_FROM_DATABASE=Multiple Vendors
+
+usb:v1781p083E*
+ ID_MODEL_FROM_DATABASE=MetaGeek Wi-Spy
+
+usb:v1781p083F*
+ ID_MODEL_FROM_DATABASE=MetaGeek Wi-Spy 2.4x
+
+usb:v1781p0938*
+ ID_MODEL_FROM_DATABASE=Iguanaworks USB IR Transceiver
+
+usb:v1781p0C30*
+ ID_MODEL_FROM_DATABASE=Telldus TellStick
+
+usb:v1781p0C31*
+ ID_MODEL_FROM_DATABASE=Telldus TellStick Duo
+
+usb:v1781p0C9F*
+ ID_MODEL_FROM_DATABASE=USBtiny
+
+usb:v1782*
+ ID_VENDOR_FROM_DATABASE=Spreadtrum Communications Inc.
+
+usb:v1784*
+ ID_VENDOR_FROM_DATABASE=TopSeed Technology Corp.
+
+usb:v1784p0001*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver
+
+usb:v1784p0004*
+ ID_MODEL_FROM_DATABASE=RF Combo Device
+
+usb:v1784p0006*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver
+
+usb:v1784p0007*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver
+
+usb:v1784p0008*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver
+
+usb:v1784p000A*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver
+
+usb:v1784p0011*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver
+
+usb:v1787*
+ ID_VENDOR_FROM_DATABASE=ATI AIB
+
+usb:v1788*
+ ID_VENDOR_FROM_DATABASE=ShenZhen Litkconn Technology Co., Ltd.
+
+usb:v1796*
+ ID_VENDOR_FROM_DATABASE=Printrex, Inc.
+
+usb:v1797*
+ ID_VENDOR_FROM_DATABASE=JALCO CO., LTD.
+
+usb:v1799*
+ ID_VENDOR_FROM_DATABASE=Thales Norway A/S
+
+usb:v1799p7051*
+ ID_MODEL_FROM_DATABASE=Belkin F5D7051 802.11g Adapter v1000 [Broadcom 4320]
+
+usb:v1799p8051*
+ ID_MODEL_FROM_DATABASE=Belkin F5D8051 v2 802.11bgn Wireless Adapter [Marvell 88W8362]
+
+usb:v179D*
+ ID_VENDOR_FROM_DATABASE=Ricavision International, Inc.
+
+usb:v179Dp0010*
+ ID_MODEL_FROM_DATABASE=Internal Infrared Transceiver
+
+usb:v17A0*
+ ID_VENDOR_FROM_DATABASE=Samson Technologies Corp.
+
+usb:v17A0p0001*
+ ID_MODEL_FROM_DATABASE=C01U condenser microphone
+
+usb:v17A0p0002*
+ ID_MODEL_FROM_DATABASE=Q1U dynamic microphone
+
+usb:v17A0p0100*
+ ID_MODEL_FROM_DATABASE=C03U multi-pattern microphone
+
+usb:v17A0p0101*
+ ID_MODEL_FROM_DATABASE=UB1 boundary microphone
+
+usb:v17A0p0200*
+ ID_MODEL_FROM_DATABASE=StudioDock monitors (internal hub)
+
+usb:v17A0p0201*
+ ID_MODEL_FROM_DATABASE=StudioDock monitors (audio)
+
+usb:v17A0p0301*
+ ID_MODEL_FROM_DATABASE=Q2U handheld microphone with XLR
+
+usb:v17A0p0302*
+ ID_MODEL_FROM_DATABASE=GoMic compact condenser microphone
+
+usb:v17A0p0310*
+ ID_MODEL_FROM_DATABASE=Meteor condenser microphone
+
+usb:v17A4*
+ ID_VENDOR_FROM_DATABASE=Concept2
+
+usb:v17A4p0001*
+ ID_MODEL_FROM_DATABASE=Performance Monitor 3
+
+usb:v17A4p0002*
+ ID_MODEL_FROM_DATABASE=Performance Monitor 4
+
+usb:v17A5*
+ ID_VENDOR_FROM_DATABASE=Advanced Connection Technology Inc.
+
+usb:v17A7*
+ ID_VENDOR_FROM_DATABASE=MICOMSOFT CO., LTD.
+
+usb:v17A8*
+ ID_VENDOR_FROM_DATABASE=Kamstrup A/S
+
+usb:v17A8p0001*
+ ID_MODEL_FROM_DATABASE=Optical Eye/3-wire
+
+usb:v17A8p0005*
+ ID_MODEL_FROM_DATABASE=M-Bus Master MultiPort 250D
+
+usb:v17B3*
+ ID_VENDOR_FROM_DATABASE=Grey Innovation
+
+usb:v17B3p0004*
+ ID_MODEL_FROM_DATABASE=Linux-USB Midi Gadget
+
+usb:v17BA*
+ ID_VENDOR_FROM_DATABASE=SAURIS GmbH
+
+usb:v17BAp0001*
+ ID_MODEL_FROM_DATABASE=SAU510-USB [no firmware]
+
+usb:v17BAp0510*
+ ID_MODEL_FROM_DATABASE=SAU510-USB and SAU510-USB plus JTAG Emulators
+
+usb:v17BAp0511*
+ ID_MODEL_FROM_DATABASE=SAU510-USB Iso Plus JTAG Emulator
+
+usb:v17BAp0520*
+ ID_MODEL_FROM_DATABASE=SAU510-USB Nano JTAG Emulator
+
+usb:v17BAp1511*
+ ID_MODEL_FROM_DATABASE=Onboard Emulator on SAUModule development kit
+
+usb:v17C3*
+ ID_VENDOR_FROM_DATABASE=Singim International Corp.
+
+usb:v17CC*
+ ID_VENDOR_FROM_DATABASE=Native Instruments
+
+usb:v17CCp041C*
+ ID_MODEL_FROM_DATABASE=Audio 2 DJ
+
+usb:v17CCp0808*
+ ID_MODEL_FROM_DATABASE=Maschine Controller
+
+usb:v17CCp0815*
+ ID_MODEL_FROM_DATABASE=Audio Kontrol 1
+
+usb:v17CCp0839*
+ ID_MODEL_FROM_DATABASE=Audio 4 DJ
+
+usb:v17CCp0D8D*
+ ID_MODEL_FROM_DATABASE=Guitarrig Mobile
+
+usb:v17CCp1915*
+ ID_MODEL_FROM_DATABASE=Session I/O
+
+usb:v17CCp1940*
+ ID_MODEL_FROM_DATABASE=RigKontrol3
+
+usb:v17CCp1969*
+ ID_MODEL_FROM_DATABASE=RigKontrol2
+
+usb:v17CCp1978*
+ ID_MODEL_FROM_DATABASE=Audio 8 DJ
+
+usb:v17CCp2280*
+ ID_MODEL_FROM_DATABASE=Medion MDPNA1500 in card reader mode
+
+usb:v17CCp2305*
+ ID_MODEL_FROM_DATABASE=Traktor Kontrol X1
+
+usb:v17CCp4711*
+ ID_MODEL_FROM_DATABASE=Kore Controller
+
+usb:v17CCp4712*
+ ID_MODEL_FROM_DATABASE=Kore Controller 2
+
+usb:v17CCpBAFF*
+ ID_MODEL_FROM_DATABASE=Traktor Kontrol S4
+
+usb:v17CF*
+ ID_VENDOR_FROM_DATABASE=Hip Hing Cable & Plug Mfy. Ltd.
+
+usb:v17D0*
+ ID_VENDOR_FROM_DATABASE=Sanford L.P.
+
+usb:v17D3*
+ ID_VENDOR_FROM_DATABASE=Korea Techtron Co., Ltd.
+
+usb:v17E9*
+ ID_VENDOR_FROM_DATABASE=DisplayLink
+
+usb:v17E9p0051*
+ ID_MODEL_FROM_DATABASE=USB VGA Adaptor
+
+usb:v17E9p0377*
+ ID_MODEL_FROM_DATABASE=Plugable UD-160-A (M)
+
+usb:v17E9p0378*
+ ID_MODEL_FROM_DATABASE=Plugable UGA-2K-A
+
+usb:v17E9p0379*
+ ID_MODEL_FROM_DATABASE=Plugable UGA-125
+
+usb:v17E9p037A*
+ ID_MODEL_FROM_DATABASE=Plugable UGA-165
+
+usb:v17E9p037B*
+ ID_MODEL_FROM_DATABASE=Plugable USB-VGA-165
+
+usb:v17E9p037C*
+ ID_MODEL_FROM_DATABASE=Plugable DC-125
+
+usb:v17E9p037D*
+ ID_MODEL_FROM_DATABASE=Plugable USB2-HDMI-165
+
+usb:v17E9p430A*
+ ID_MODEL_FROM_DATABASE=HP Port Replicator (Composite Device)
+
+usb:v17EB*
+ ID_VENDOR_FROM_DATABASE=Cornice, Inc.
+
+usb:v17EF*
+ ID_VENDOR_FROM_DATABASE=Lenovo
+
+usb:v17EFp1003*
+ ID_MODEL_FROM_DATABASE=Integrated Smart Card Reader
+
+usb:v17EFp1004*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
+usb:v17EFp100A*
+ ID_MODEL_FROM_DATABASE=ThinkPad Mini Dock Plus Series 3
+
+usb:v17EFp3815*
+ ID_MODEL_FROM_DATABASE=ChipsBnk 2GB USB Stick
+
+usb:v17EFp4802*
+ ID_MODEL_FROM_DATABASE=Lenovo Vc0323+MI1310_SOC Camera
+
+usb:v17EFp4807*
+ ID_MODEL_FROM_DATABASE=UVC Camera
+
+usb:v17EFp480C*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
+usb:v17EFp480D*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]
+
+usb:v17EFp480E*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]
+
+usb:v17EFp480F*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]
+
+usb:v17EFp4810*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]
+
+usb:v17EFp4811*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]
+
+usb:v17EFp4812*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]
+
+usb:v17EFp4813*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]
+
+usb:v17EFp4814*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]
+
+usb:v17EFp4815*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]
+
+usb:v17EFp481C*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
+usb:v17EFp481D*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
+usb:v17EFp6007*
+ ID_MODEL_FROM_DATABASE=Smartcard Keyboard
+
+usb:v17EFp6009*
+ ID_MODEL_FROM_DATABASE=ThinkPad Keyboard with TrackPoint
+
+usb:v17EFp6014*
+ ID_MODEL_FROM_DATABASE=Mini Wireless Keyboard N5901
+
+usb:v17EFp7423*
+ ID_MODEL_FROM_DATABASE=IdeaPad A1 Tablet
+
+usb:v17EFp7435*
+ ID_MODEL_FROM_DATABASE=A789 (Mass Storage mode, with debug)
+
+usb:v17EFp743A*
+ ID_MODEL_FROM_DATABASE=A789 (Mass Storage mode)
+
+usb:v17EFp7497*
+ ID_MODEL_FROM_DATABASE=A789 (MTP mode)
+
+usb:v17EFp7498*
+ ID_MODEL_FROM_DATABASE=A789 (MTP mode, with debug)
+
+usb:v17EFp749A*
+ ID_MODEL_FROM_DATABASE=A789 (PTP mode)
+
+usb:v17EFp749B*
+ ID_MODEL_FROM_DATABASE=A789 (PTP mode, with debug)
+
+usb:v17F4*
+ ID_VENDOR_FROM_DATABASE=WaveSense
+
+usb:v17F4pAAAA*
+ ID_MODEL_FROM_DATABASE=Jazz Blood Glucose Meter
+
+usb:v17F5*
+ ID_VENDOR_FROM_DATABASE=K.K. Rocky
+
+usb:v17F6*
+ ID_VENDOR_FROM_DATABASE=Unicomp, Inc
+
+usb:v17F6p0709*
+ ID_MODEL_FROM_DATABASE=Model M Keyboard
+
+usb:v1809*
+ ID_VENDOR_FROM_DATABASE=Advantech
+
+usb:v1809p4604*
+ ID_MODEL_FROM_DATABASE=USB-4604
+
+usb:v1809p4761*
+ ID_MODEL_FROM_DATABASE=USB-4761 Portable Data Acquisition Module
+
+usb:v1822*
+ ID_VENDOR_FROM_DATABASE=Twinhan
+
+usb:v1822p3201*
+ ID_MODEL_FROM_DATABASE=VisionDTV USB-Ter/HAMA USB DVB-T device cold
+
+usb:v1822p3202*
+ ID_MODEL_FROM_DATABASE=VisionDTV USB-Ter/HAMA USB DVB-T device warm
+
+usb:v1831*
+ ID_VENDOR_FROM_DATABASE=Gwo Jinn Industries Co., Ltd.
+
+usb:v1832*
+ ID_VENDOR_FROM_DATABASE=Huizhou Shenghua Industrial Co., Ltd.
+
+usb:v183D*
+ ID_VENDOR_FROM_DATABASE=VIVOphone
+
+usb:v183Dp0010*
+ ID_MODEL_FROM_DATABASE=VoiceKey
+
+usb:v1843*
+ ID_VENDOR_FROM_DATABASE=Vaisala
+
+usb:v1849*
+ ID_VENDOR_FROM_DATABASE=ASRock Incorporation
+
+usb:v1852*
+ ID_VENDOR_FROM_DATABASE=GYROCOM C&C Co., LTD
+
+usb:v1852p7922*
+ ID_MODEL_FROM_DATABASE=Audiotrak DR.DAC2 DX [GYROCOM C&C]
+
+usb:v1854*
+ ID_VENDOR_FROM_DATABASE=Memory Devices Ltd.
+
+usb:v185B*
+ ID_VENDOR_FROM_DATABASE=Compro
+
+usb:v185Bp3020*
+ ID_MODEL_FROM_DATABASE=K100 Infrared Receiver
+
+usb:v185Bp3082*
+ ID_MODEL_FROM_DATABASE=K100 Infrared Receiver v2
+
+usb:v185BpD000*
+ ID_MODEL_FROM_DATABASE=Compro Videomate DVB-U2000 - DVB-T USB cold
+
+usb:v185BpD001*
+ ID_MODEL_FROM_DATABASE=Compro Videomate DVB-U2000 - DVB-T USB warm
+
+usb:v1861*
+ ID_VENDOR_FROM_DATABASE=Tech Technology Industrial Company
+
+usb:v1862*
+ ID_VENDOR_FROM_DATABASE=Teridian Semiconductor Corp.
+
+usb:v1870*
+ ID_VENDOR_FROM_DATABASE=Nexio Co., Ltd
+
+usb:v1870p0001*
+ ID_MODEL_FROM_DATABASE=iNexio Touchscreen controller
+
+usb:v1871*
+ ID_VENDOR_FROM_DATABASE=Aveo Technology Corp.
+
+usb:v1871p0101*
+ ID_MODEL_FROM_DATABASE=UVC camera (Bresser microscope)
+
+usb:v1871p0D01*
+ ID_MODEL_FROM_DATABASE=USB2.0 Camera
+
+usb:v1873*
+ ID_VENDOR_FROM_DATABASE=Navilock
+
+usb:v1873pEE93*
+ ID_MODEL_FROM_DATABASE=EasyLogger
+
+usb:v187C*
+ ID_VENDOR_FROM_DATABASE=Alienware Corporation
+
+usb:v187Cp0600*
+ ID_MODEL_FROM_DATABASE=Dual Compatible Game Pad
+
+usb:v187F*
+ ID_VENDOR_FROM_DATABASE=Siano Mobile Silicon
+
+usb:v187Fp0010*
+ ID_MODEL_FROM_DATABASE=Stallar Board
+
+usb:v187Fp0100*
+ ID_MODEL_FROM_DATABASE=Stallar Board
+
+usb:v187Fp0200*
+ ID_MODEL_FROM_DATABASE=Nova A
+
+usb:v187Fp0201*
+ ID_MODEL_FROM_DATABASE=Nova B
+
+usb:v187Fp0202*
+ ID_MODEL_FROM_DATABASE=Nice
+
+usb:v187Fp0300*
+ ID_MODEL_FROM_DATABASE=Vega
+
+usb:v187Fp0301*
+ ID_MODEL_FROM_DATABASE=VeNice
+
+usb:v1892*
+ ID_VENDOR_FROM_DATABASE=Vast Technologies, Inc.
+
+usb:v1894*
+ ID_VENDOR_FROM_DATABASE=Topseed
+
+usb:v1894p5632*
+ ID_MODEL_FROM_DATABASE=Atek Tote Remote
+
+usb:v1894p5641*
+ ID_MODEL_FROM_DATABASE=TSAM-004 Presentation Remote
+
+usb:v1897*
+ ID_VENDOR_FROM_DATABASE=Evertop Wire Cable Co.
+
+usb:v189F*
+ ID_VENDOR_FROM_DATABASE=3Shape A/S
+
+usb:v189Fp0002*
+ ID_MODEL_FROM_DATABASE=Legato2 3D Scanner
+
+usb:v18A4*
+ ID_VENDOR_FROM_DATABASE=CSSN
+
+usb:v18A4p0001*
+ ID_MODEL_FROM_DATABASE=Snapshell IDR
+
+usb:v18A5*
+ ID_VENDOR_FROM_DATABASE=Verbatim, Ltd
+
+usb:v18A5p0214*
+ ID_MODEL_FROM_DATABASE=Portable Hard Drive
+
+usb:v18A5p0216*
+ ID_MODEL_FROM_DATABASE=External Hard Drive
+
+usb:v18A5p0218*
+ ID_MODEL_FROM_DATABASE=External Hard Drive
+
+usb:v18A5p0227*
+ ID_MODEL_FROM_DATABASE=Pocket Hard Drive
+
+usb:v18A5p022B*
+ ID_MODEL_FROM_DATABASE=Portable Hard Drive (Store'n'Go)
+
+usb:v18A5p0237*
+ ID_MODEL_FROM_DATABASE=Portable Harddrive (500 GB)
+
+usb:v18A5p0302*
+ ID_MODEL_FROM_DATABASE=32GB Flash Drive
+
+usb:v18B1*
+ ID_VENDOR_FROM_DATABASE=Petalynx
+
+usb:v18B1p0037*
+ ID_MODEL_FROM_DATABASE=Maxter Remote Control
+
+usb:v18B4*
+ ID_VENDOR_FROM_DATABASE=e3C Technologies
+
+usb:v18B4p1001*
+ ID_MODEL_FROM_DATABASE=DUTV007
+
+usb:v18B4p1002*
+ ID_MODEL_FROM_DATABASE=EC168 (v5) based USB DVB-T receiver
+
+usb:v18B4p1689*
+ ID_MODEL_FROM_DATABASE=DUTV009
+
+usb:v18B4pFFFA*
+ ID_MODEL_FROM_DATABASE=EC168 (v2) based USB DVB-T receiver
+
+usb:v18B4pFFFB*
+ ID_MODEL_FROM_DATABASE=EC168 (v3) based USB DVB-T receiver
+
+usb:v18B6*
+ ID_VENDOR_FROM_DATABASE=Mikkon Technology Limited
+
+usb:v18B7*
+ ID_VENDOR_FROM_DATABASE=Zotek Electronic Co., Ltd.
+
+usb:v18C5*
+ ID_VENDOR_FROM_DATABASE=AMIT Technology, Inc.
+
+usb:v18C5p0002*
+ ID_MODEL_FROM_DATABASE=CG-WLUSB2GO
+
+usb:v18C5p0008*
+ ID_MODEL_FROM_DATABASE=CG-WLUSB2GNR Corega Wireless USB Adapter
+
+usb:v18C5p0012*
+ ID_MODEL_FROM_DATABASE=CG-WLUSB10 Corega Wireless USB Adapter
+
+usb:v18CD*
+ ID_VENDOR_FROM_DATABASE=Ecamm
+
+usb:v18CDpCAFE*
+ ID_MODEL_FROM_DATABASE=Pico iMage
+
+usb:v18D1*
+ ID_VENDOR_FROM_DATABASE=Google Inc.
+
+usb:v18D1p0D02*
+ ID_MODEL_FROM_DATABASE=Celkon A88
+
+usb:v18D1p2D00*
+ ID_MODEL_FROM_DATABASE=Android-powered device in accessory mode
+
+usb:v18D1p2D01*
+ ID_MODEL_FROM_DATABASE=Android-powered device in accessory mode with ADB support
+
+usb:v18D1p4E11*
+ ID_MODEL_FROM_DATABASE=Nexus One
+
+usb:v18D1p4E12*
+ ID_MODEL_FROM_DATABASE=Nexus One (debug)
+
+usb:v18D1p4E13*
+ ID_MODEL_FROM_DATABASE=Nexus One (tether)
+
+usb:v18D1p4E20*
+ ID_MODEL_FROM_DATABASE=Nexus S (fastboot)
+
+usb:v18D1p4E21*
+ ID_MODEL_FROM_DATABASE=Nexus S
+
+usb:v18D1p4E22*
+ ID_MODEL_FROM_DATABASE=Nexus S (debug)
+
+usb:v18D1p4E24*
+ ID_MODEL_FROM_DATABASE=Nexus S (tether)
+
+usb:v18D1p4E40*
+ ID_MODEL_FROM_DATABASE=Nexus 7 (fastboot)
+
+usb:v18D1p4E41*
+ ID_MODEL_FROM_DATABASE=ASUS Nexus 7 (MTP modus)
+
+usb:v18D1p4E42*
+ ID_MODEL_FROM_DATABASE=Nexus 7 (debug)
+
+usb:v18D1p4E43*
+ ID_MODEL_FROM_DATABASE=ASUS Nexus 7 (PTP modus)
+
+usb:v18D1p4EE1*
+ ID_MODEL_FROM_DATABASE=Nexus 4
+
+usb:v18D1p4EE2*
+ ID_MODEL_FROM_DATABASE=Nexus 4 (debug)
+
+usb:v18D1p4EE3*
+ ID_MODEL_FROM_DATABASE=Nexus 4 (tether)
+
+usb:v18D1p4EE4*
+ ID_MODEL_FROM_DATABASE=Nexus 4 (debug + tether)
+
+usb:v18D1p7102*
+ ID_MODEL_FROM_DATABASE=Toshiba Thrive tablet
+
+usb:v18D1pB004*
+ ID_MODEL_FROM_DATABASE=Pandigital / B&N Novel 9" tablet
+
+usb:v18D5*
+ ID_VENDOR_FROM_DATABASE=Starline International Group Limited
+
+usb:v18D9*
+ ID_VENDOR_FROM_DATABASE=Kaba
+
+usb:v18D9p01A0*
+ ID_MODEL_FROM_DATABASE=B-Net 91 07
+
+usb:v18DC*
+ ID_VENDOR_FROM_DATABASE=LKC Technologies, Inc.
+
+usb:v18DD*
+ ID_VENDOR_FROM_DATABASE=Planon System Solutions Inc.
+
+usb:v18DDp1000*
+ ID_MODEL_FROM_DATABASE=DocuPen RC800
+
+usb:v18E3*
+ ID_VENDOR_FROM_DATABASE=Fitipower Integrated Technology Inc
+
+usb:v18E3p7102*
+ ID_MODEL_FROM_DATABASE=Multi Card Reader (Internal)
+
+usb:v18E3p9101*
+ ID_MODEL_FROM_DATABASE=All-in-1 Card Reader
+
+usb:v18E3p9102*
+ ID_MODEL_FROM_DATABASE=Multi Card Reader
+
+usb:v18E3p9512*
+ ID_MODEL_FROM_DATABASE=Webcam
+
+usb:v18E8*
+ ID_VENDOR_FROM_DATABASE=Qcom
+
+usb:v18E8p6144*
+ ID_MODEL_FROM_DATABASE=LR802UA 802.11b Wireless Adapter [ALi M4301AU]
+
+usb:v18E8p6196*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v18E8p6229*
+ ID_MODEL_FROM_DATABASE=RT2573
+
+usb:v18E8p6232*
+ ID_MODEL_FROM_DATABASE=Wireless 802.11g 54Mbps Network Adapter [RTL8187]
+
+usb:v18EA*
+ ID_VENDOR_FROM_DATABASE=Matrox Graphics, Inc.
+
+usb:v18EAp0002*
+ ID_MODEL_FROM_DATABASE=DualHead2Go [Analog Edition]
+
+usb:v18EAp0004*
+ ID_MODEL_FROM_DATABASE=TripleHead2Go [Digital Edition]
+
+usb:v18EC*
+ ID_VENDOR_FROM_DATABASE=Arkmicro Technologies Inc.
+
+usb:v18ECp3118*
+ ID_MODEL_FROM_DATABASE=USB to IrDA adapter [ARK3116T]
+
+usb:v18ECp3188*
+ ID_MODEL_FROM_DATABASE=ARK3188 UVC Webcam
+
+usb:v18ECp3299*
+ ID_MODEL_FROM_DATABASE=Webcam Carrefour
+
+usb:v18ECp3366*
+ ID_MODEL_FROM_DATABASE=Bresser Biolux NV
+
+usb:v18FD*
+ ID_VENDOR_FROM_DATABASE=FineArch Inc.
+
+usb:v1908*
+ ID_VENDOR_FROM_DATABASE=GEMBIRD
+
+usb:v1908p1320*
+ ID_MODEL_FROM_DATABASE=PhotoFrame PF-15-1
+
+usb:v190D*
+ ID_VENDOR_FROM_DATABASE=Motorola GSG
+
+usb:v1914*
+ ID_VENDOR_FROM_DATABASE=Alco Digital Devices Limited
+
+usb:v1915*
+ ID_VENDOR_FROM_DATABASE=Nordic Semiconductor ASA
+
+usb:v1915p2233*
+ ID_MODEL_FROM_DATABASE=Linksys WUSB11 v2.8 802.11b Adapter [Atmel AT76C505]
+
+usb:v1915p2234*
+ ID_MODEL_FROM_DATABASE=Linksys WUSB54G v1 OEM 802.11g Adapter [Intersil ISL3886]
+
+usb:v1915p2235*
+ ID_MODEL_FROM_DATABASE=Linksys WUSB54GP v1 OEM 802.11g Adapter [Intersil ISL3886]
+
+usb:v1915p2236*
+ ID_MODEL_FROM_DATABASE=Linksys WUSB11 v3.0 802.11b Adapter [Intersil PRISM 3]
+
+usb:v1926*
+ ID_VENDOR_FROM_DATABASE=NextWindow
+
+usb:v1926p0003*
+ ID_MODEL_FROM_DATABASE=1900 HID Touchscreen
+
+usb:v1926p0006*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0064*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0065*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0066*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0067*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0068*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0069*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0071*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0072*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0073*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0074*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0075*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0076*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0077*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0078*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0079*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p007A*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p007E*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p007F*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0080*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0081*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0082*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0083*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0084*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0085*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0086*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v1926p0087*
+ ID_MODEL_FROM_DATABASE=1950 HID Touchscreen
+
+usb:v192F*
+ ID_VENDOR_FROM_DATABASE=Avago Technologies, Pte.
+
+usb:v192Fp0000*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v192Fp0416*
+ ID_MODEL_FROM_DATABASE=ADNS-5700 Optical Mouse Controller (3-button)
+
+usb:v192Fp0616*
+ ID_MODEL_FROM_DATABASE=ADNS-5700 Optical Mouse Controller (5-button)
+
+usb:v1930*
+ ID_VENDOR_FROM_DATABASE=Shenzhen Xianhe Technology Co., Ltd.
+
+usb:v1931*
+ ID_VENDOR_FROM_DATABASE=Ningbo Broad Telecommunication Co., Ltd.
+
+usb:v1934*
+ ID_VENDOR_FROM_DATABASE=Feature Integration Technology Inc. (Fintek)
+
+usb:v1934p0602*
+ ID_MODEL_FROM_DATABASE=F71610 or F71612 Consumer Infrared Receiver/Transceiver
+
+usb:v1934p0702*
+ ID_MODEL_FROM_DATABASE=Integrated Consumer Infrared Receiver/Transceiver
+
+usb:v1934p5168*
+ ID_MODEL_FROM_DATABASE=F71610A or F71612A Consumer Infrared Receiver/Transceiver
+
+usb:v1941*
+ ID_VENDOR_FROM_DATABASE=Dream Link
+
+usb:v1941p8021*
+ ID_MODEL_FROM_DATABASE=WH1080 Weather Station / USB Missile Launcher
+
+usb:v1943*
+ ID_VENDOR_FROM_DATABASE=Sensoray Co., Inc.
+
+usb:v1943p2250*
+ ID_MODEL_FROM_DATABASE=Model 2250 MPEG and JPEG Capture Card
+
+usb:v1943p2253*
+ ID_MODEL_FROM_DATABASE=Model 2253 Audio/Video Codec Card
+
+usb:v1943p2255*
+ ID_MODEL_FROM_DATABASE=Model 2255 4 Channel Capture Card
+
+usb:v1943p2257*
+ ID_MODEL_FROM_DATABASE=Model 2257 4 Channel Capture Card
+
+usb:v1943pA250*
+ ID_MODEL_FROM_DATABASE=Model 2250 MPEG and JPEG Capture Card (cold)
+
+usb:v1943pA253*
+ ID_MODEL_FROM_DATABASE=Model 2253 Audio/Video Codec Card (cold)
+
+usb:v1949*
+ ID_VENDOR_FROM_DATABASE=Lab126, Inc.
+
+usb:v1949p0002*
+ ID_MODEL_FROM_DATABASE=Amazon Kindle
+
+usb:v1949p0004*
+ ID_MODEL_FROM_DATABASE=Amazon Kindle 3/4/Paperwhite
+
+usb:v1949p0006*
+ ID_MODEL_FROM_DATABASE=Kindle Fire
+
+usb:v1949p0008*
+ ID_MODEL_FROM_DATABASE=Amazon Kindle Fire HD 8.9"
+
+usb:v194F*
+ ID_VENDOR_FROM_DATABASE=PreSonus Audio Electronics, Inc.
+
+usb:v194Fp0101*
+ ID_MODEL_FROM_DATABASE=AudioBox 22 VSL
+
+usb:v194Fp0102*
+ ID_MODEL_FROM_DATABASE=AudioBox 44 VSL
+
+usb:v194Fp0103*
+ ID_MODEL_FROM_DATABASE=AudioBox 1818 VSL
+
+usb:v194Fp0301*
+ ID_MODEL_FROM_DATABASE=AudioBox
+
+usb:v1951*
+ ID_VENDOR_FROM_DATABASE=Hyperstone AG
+
+usb:v1953*
+ ID_VENDOR_FROM_DATABASE=Ironkey Inc.
+
+usb:v1954*
+ ID_VENDOR_FROM_DATABASE=Radiient Technologies
+
+usb:v195D*
+ ID_VENDOR_FROM_DATABASE=Itron Technology iONE
+
+usb:v195Dp7002*
+ ID_MODEL_FROM_DATABASE=Libra-Q11 IR remote
+
+usb:v195Dp7006*
+ ID_MODEL_FROM_DATABASE=Libra-Q26 / 1.0 Remote
+
+usb:v195Dp7777*
+ ID_MODEL_FROM_DATABASE=Scorpius wireless keyboard
+
+usb:v195Dp7779*
+ ID_MODEL_FROM_DATABASE=Scorpius-P20MT
+
+usb:v1965*
+ ID_VENDOR_FROM_DATABASE=Uniden Corporation
+
+usb:v1965p0016*
+ ID_MODEL_FROM_DATABASE=HomePatrol-1
+
+usb:v1967*
+ ID_VENDOR_FROM_DATABASE=CASIO HITACHI Mobile Communications Co., Ltd.
+
+usb:v196B*
+ ID_VENDOR_FROM_DATABASE=Wispro Technology Inc.
+
+usb:v1970*
+ ID_VENDOR_FROM_DATABASE=Dane-Elec Corp. USA
+
+usb:v1970p0000*
+ ID_MODEL_FROM_DATABASE=Z Mate 16GB
+
+usb:v1975*
+ ID_VENDOR_FROM_DATABASE=Dongguan Guneetal Wire & Cable Co., Ltd.
+
+usb:v1976*
+ ID_VENDOR_FROM_DATABASE=Chipsbrand Microelectronics (HK) Co., Ltd.
+
+usb:v1976p6025*
+ ID_MODEL_FROM_DATABASE=Flash Drive 512 MB
+
+usb:v1977*
+ ID_VENDOR_FROM_DATABASE=T-Logic
+
+usb:v1977p0111*
+ ID_MODEL_FROM_DATABASE=TL203 MP3 Player and Voice Recorder
+
+usb:v197D*
+ ID_VENDOR_FROM_DATABASE=Leuze electronic
+
+usb:v197Dp0222*
+ ID_MODEL_FROM_DATABASE=BCL 508i
+
+usb:v1989*
+ ID_VENDOR_FROM_DATABASE=Nuconn Technology Corp.
+
+usb:v198F*
+ ID_VENDOR_FROM_DATABASE=Beceem Communications Inc.
+
+usb:v198Fp0210*
+ ID_MODEL_FROM_DATABASE=BCS200 WiMAX Adapter
+
+usb:v198Fp0220*
+ ID_MODEL_FROM_DATABASE=BCSM250 WiMAX Adapter
+
+usb:v1990*
+ ID_VENDOR_FROM_DATABASE=Acron Precision Industrial Co., Ltd.
+
+usb:v1995*
+ ID_VENDOR_FROM_DATABASE=Trillium Technology Pty. Ltd.
+
+usb:v1995p3202*
+ ID_MODEL_FROM_DATABASE=REC-ADPT-USB (recorder)
+
+usb:v1995p3203*
+ ID_MODEL_FROM_DATABASE=REC-A-ADPT-USB (recorder)
+
+usb:v199B*
+ ID_VENDOR_FROM_DATABASE=MicroStrain, Inc.
+
+usb:v199Bp3065*
+ ID_MODEL_FROM_DATABASE=3DM-GX3-25 Orientation Sensor
+
+usb:v199E*
+ ID_VENDOR_FROM_DATABASE=The Imaging Source Europe GmbH
+
+usb:v199Ep8101*
+ ID_MODEL_FROM_DATABASE=DFx 21BU04 Camera
+
+usb:v199F*
+ ID_VENDOR_FROM_DATABASE=Benica Corporation
+
+usb:v19A8*
+ ID_VENDOR_FROM_DATABASE=Biforst Technology Inc.
+
+usb:v19AB*
+ ID_VENDOR_FROM_DATABASE=Bodelin
+
+usb:v19ABp1000*
+ ID_MODEL_FROM_DATABASE=ProScope HR
+
+usb:v19AF*
+ ID_VENDOR_FROM_DATABASE=S Life
+
+usb:v19AFp6611*
+ ID_MODEL_FROM_DATABASE=Celestia VoIP Phone
+
+usb:v19B2*
+ ID_VENDOR_FROM_DATABASE=Batronix
+
+usb:v19B2p0010*
+ ID_MODEL_FROM_DATABASE=BX32 Batupo
+
+usb:v19B2p0011*
+ ID_MODEL_FROM_DATABASE=BX32P Barlino
+
+usb:v19B2p0012*
+ ID_MODEL_FROM_DATABASE=BX40 Bagero
+
+usb:v19B2p0013*
+ ID_MODEL_FROM_DATABASE=BX48 Batego
+
+usb:v19B4*
+ ID_VENDOR_FROM_DATABASE=Celestron
+
+usb:v19B4p0002*
+ ID_MODEL_FROM_DATABASE=SkyScout Personal Planetarium
+
+usb:v19B4p0101*
+ ID_MODEL_FROM_DATABASE=Handheld Digital Microscope 44302
+
+usb:v19B5*
+ ID_VENDOR_FROM_DATABASE=B & W Group
+
+usb:v19B6*
+ ID_VENDOR_FROM_DATABASE=Infotech Logistic, LLC
+
+usb:v19B9*
+ ID_VENDOR_FROM_DATABASE=Data Robotics
+
+usb:v19B9p8D20*
+ ID_MODEL_FROM_DATABASE=Drobo Elite
+
+usb:v19C2*
+ ID_VENDOR_FROM_DATABASE=Futuba
+
+usb:v19C2p6A11*
+ ID_MODEL_FROM_DATABASE=MDM166A Fluorescent Display
+
+usb:v19CA*
+ ID_VENDOR_FROM_DATABASE=Mindtribe
+
+usb:v19CAp0001*
+ ID_MODEL_FROM_DATABASE=Sandio 3D HID Mouse
+
+usb:v19CF*
+ ID_VENDOR_FROM_DATABASE=Parrot SA
+
+usb:v19D2*
+ ID_VENDOR_FROM_DATABASE=ZTE WCDMA Technologies MSM
+
+usb:v19D2p0001*
+ ID_MODEL_FROM_DATABASE=CDMA Wireless Modem
+
+usb:v19D2p0002*
+ ID_MODEL_FROM_DATABASE=MF632/ONDA ET502HS/MT505UP
+
+usb:v19D2p0007*
+ ID_MODEL_FROM_DATABASE=TU25 WiMAX Adapter [Beceem BCS200]
+
+usb:v19D2p0031*
+ ID_MODEL_FROM_DATABASE=MF110/MF627/MF636
+
+usb:v19D2p0063*
+ ID_MODEL_FROM_DATABASE=K3565-Z HSDPA
+
+usb:v19D2p0064*
+ ID_MODEL_FROM_DATABASE=MF627 AU
+
+usb:v19D2p0083*
+ ID_MODEL_FROM_DATABASE=MF190
+
+usb:v19D2p0103*
+ ID_MODEL_FROM_DATABASE=MF112
+
+usb:v19D2p0104*
+ ID_MODEL_FROM_DATABASE=K4505-Z
+
+usb:v19D2p0146*
+ ID_MODEL_FROM_DATABASE=MF 195E (HSPA+ Modem)
+
+usb:v19D2p0167*
+ ID_MODEL_FROM_DATABASE=MF820 4G LTE
+
+usb:v19D2p0172*
+ ID_MODEL_FROM_DATABASE=AX226 WIMAX MODEM (After Modeswitch)
+
+usb:v19D2p0325*
+ ID_MODEL_FROM_DATABASE=LTE4G O2 ZTE MF821D LTE/UMTS/GSM Modem/Networkcard
+
+usb:v19D2p0326*
+ ID_MODEL_FROM_DATABASE=LTE4G O2 ZTE MF821D LTE/UMTS/GSM Modem/Networkcard
+
+usb:v19D2p1008*
+ ID_MODEL_FROM_DATABASE=K3570-Z
+
+usb:v19D2p1010*
+ ID_MODEL_FROM_DATABASE=K3571-Z
+
+usb:v19D2p1017*
+ ID_MODEL_FROM_DATABASE=K5006-Z vodafone LTE/UMTS/GSM Modem/Networkcard
+
+usb:v19D2p1018*
+ ID_MODEL_FROM_DATABASE=K5006-Z vodafone LTE/UMTS/GSM Modem/Networkcard
+
+usb:v19D2p1203*
+ ID_MODEL_FROM_DATABASE=MF691 [ T-Mobile webConnect Rocket 2.0]
+
+usb:v19D2p1217*
+ ID_MODEL_FROM_DATABASE=MF652
+
+usb:v19D2p1218*
+ ID_MODEL_FROM_DATABASE=MF652
+
+usb:v19D2p2000*
+ ID_MODEL_FROM_DATABASE=MF627/MF628/MF628+/MF636+ HSDPA/HSUPA
+
+usb:v19D2pFFF2*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
+
+usb:v19D2pFFF3*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem
+
+usb:v19E1*
+ ID_VENDOR_FROM_DATABASE=WeiDuan Electronic Accessory (S.Z.) Co., Ltd.
+
+usb:v19E8*
+ ID_VENDOR_FROM_DATABASE=Industrial Technology Research Institute
+
+usb:v19EF*
+ ID_VENDOR_FROM_DATABASE=Pak Heng Technology (Shenzhen) Co., Ltd.
+
+usb:v19F7*
+ ID_VENDOR_FROM_DATABASE=RODE Microphones
+
+usb:v19F7p0001*
+ ID_MODEL_FROM_DATABASE=Podcaster
+
+usb:v19FA*
+ ID_VENDOR_FROM_DATABASE=Gampaq Co.Ltd
+
+usb:v19FAp0703*
+ ID_MODEL_FROM_DATABASE=Steering Wheel
+
+usb:v19FF*
+ ID_VENDOR_FROM_DATABASE=Dynex
+
+usb:v19FFp0102*
+ ID_MODEL_FROM_DATABASE=1.3MP Webcam
+
+usb:v19FFp0201*
+ ID_MODEL_FROM_DATABASE=Rocketfish Wireless 2.4G Laser Mouse
+
+usb:v1A08*
+ ID_VENDOR_FROM_DATABASE=Bellwood International, Inc.
+
+usb:v1A0A*
+ ID_VENDOR_FROM_DATABASE=USB-IF non-workshop
+
+usb:v1A0ApBADD*
+ ID_MODEL_FROM_DATABASE=USB OTG Compliance test device
+
+usb:v1A12*
+ ID_VENDOR_FROM_DATABASE=KES Co., Ltd.
+
+usb:v1A1D*
+ ID_VENDOR_FROM_DATABASE=Veho
+
+usb:v1A1Dp0407*
+ ID_MODEL_FROM_DATABASE=Mimi WiFi speakers
+
+usb:v1A25*
+ ID_VENDOR_FROM_DATABASE=Amphenol East Asia Ltd.
+
+usb:v1A2A*
+ ID_VENDOR_FROM_DATABASE=Seagate Branded Solutions
+
+usb:v1A2C*
+ ID_VENDOR_FROM_DATABASE=China Resource Semico Co., Ltd
+
+usb:v1A2Cp0021*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v1A2Cp0024*
+ ID_MODEL_FROM_DATABASE=Multimedia Keyboard
+
+usb:v1A32*
+ ID_VENDOR_FROM_DATABASE=Quanta Microsystems, Inc.
+
+usb:v1A32p0304*
+ ID_MODEL_FROM_DATABASE=802.11n Wireless LAN Card
+
+usb:v1A34*
+ ID_VENDOR_FROM_DATABASE=ACRUX
+
+usb:v1A34p0802*
+ ID_MODEL_FROM_DATABASE=Gamepad
+
+usb:v1A36*
+ ID_VENDOR_FROM_DATABASE=Biwin Technology Ltd.
+
+usb:v1A40*
+ ID_VENDOR_FROM_DATABASE=Terminus Technology Inc.
+
+usb:v1A40p0101*
+ ID_MODEL_FROM_DATABASE=4-Port HUB
+
+usb:v1A40p0201*
+ ID_MODEL_FROM_DATABASE=FE 2.1 7-port Hub
+
+usb:v1A41*
+ ID_VENDOR_FROM_DATABASE=Action Electronics Co., Ltd.
+
+usb:v1A44*
+ ID_VENDOR_FROM_DATABASE=VASCO Data Security International
+
+usb:v1A44p0001*
+ ID_MODEL_FROM_DATABASE=Digipass 905 SmartCard Reader
+
+usb:v1A4A*
+ ID_VENDOR_FROM_DATABASE=Silicon Image
+
+usb:v1A4B*
+ ID_VENDOR_FROM_DATABASE=SafeBoot International B.V.
+
+usb:v1A5A*
+ ID_VENDOR_FROM_DATABASE=Tandberg Data
+
+usb:v1A61*
+ ID_VENDOR_FROM_DATABASE=Abbott Diabetes Care
+
+usb:v1A61p3410*
+ ID_MODEL_FROM_DATABASE=CoPilot System Cable
+
+usb:v1A6A*
+ ID_VENDOR_FROM_DATABASE=Spansion Inc.
+
+usb:v1A6D*
+ ID_VENDOR_FROM_DATABASE=SamYoung Electronics Co., Ltd
+
+usb:v1A6E*
+ ID_VENDOR_FROM_DATABASE=Global Unichip Corp.
+
+usb:v1A6F*
+ ID_VENDOR_FROM_DATABASE=Sagem Orga GmbH
+
+usb:v1A72*
+ ID_VENDOR_FROM_DATABASE=Physik Instrumente
+
+usb:v1A72p1008*
+ ID_MODEL_FROM_DATABASE=E-861 PiezoWalk NEXACT Controller
+
+usb:v1A79*
+ ID_VENDOR_FROM_DATABASE=Bayer Health Care LLC
+
+usb:v1A7B*
+ ID_VENDOR_FROM_DATABASE=Lumberg Connect GmbH & Co. KG
+
+usb:v1A7C*
+ ID_VENDOR_FROM_DATABASE=Evoluent
+
+usb:v1A7Cp0068*
+ ID_MODEL_FROM_DATABASE=VerticalMouse 3
+
+usb:v1A7Cp0168*
+ ID_MODEL_FROM_DATABASE=VerticalMouse 3 Wireless
+
+usb:v1A7Cp0191*
+ ID_MODEL_FROM_DATABASE=VerticalMouse 4
+
+usb:v1A81*
+ ID_VENDOR_FROM_DATABASE=Holtek Semiconductor, Inc.
+
+usb:v1A81p2203*
+ ID_MODEL_FROM_DATABASE=Laser Gaming mouse
+
+usb:v1A81p2204*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v1A81p2205*
+ ID_MODEL_FROM_DATABASE=Laser Mouse
+
+usb:v1A86*
+ ID_VENDOR_FROM_DATABASE=QinHeng Electronics
+
+usb:v1A86p5512*
+ ID_MODEL_FROM_DATABASE=CH341 in EPP/MEM/I2C mode, EPP/I2C adapter
+
+usb:v1A86p5523*
+ ID_MODEL_FROM_DATABASE=CH341 in serial mode, usb to serial port converter
+
+usb:v1A86p5584*
+ ID_MODEL_FROM_DATABASE=CH341 in parallel mode, usb to printer port converter
+
+usb:v1A86p7523*
+ ID_MODEL_FROM_DATABASE=HL-340 USB-Serial adapter
+
+usb:v1A86p752D*
+ ID_MODEL_FROM_DATABASE=CH345 MIDI adapter
+
+usb:v1A86p7584*
+ ID_MODEL_FROM_DATABASE=CH340S
+
+usb:v1A86pE008*
+ ID_MODEL_FROM_DATABASE=HID-based serial adapater
+
+usb:v1A89*
+ ID_VENDOR_FROM_DATABASE=Dynalith Systems Co., Ltd.
+
+usb:v1A8B*
+ ID_VENDOR_FROM_DATABASE=SGS Taiwan Ltd.
+
+usb:v1A8D*
+ ID_VENDOR_FROM_DATABASE=BandRich, Inc.
+
+usb:v1A8Dp1002*
+ ID_MODEL_FROM_DATABASE=BandLuxe 3.5G HSDPA Adapter
+
+usb:v1A8Dp1009*
+ ID_MODEL_FROM_DATABASE=BandLuxe 3.5G HSPA Adapter
+
+usb:v1A8Dp100D*
+ ID_MODEL_FROM_DATABASE=4G LTE adapter
+
+usb:v1A98*
+ ID_VENDOR_FROM_DATABASE=Leica Camera AG
+
+usb:v1AA4*
+ ID_VENDOR_FROM_DATABASE=Data Drive Thru, Inc.
+
+usb:v1AA5*
+ ID_VENDOR_FROM_DATABASE=UBeacon Technologies, Inc.
+
+usb:v1AA6*
+ ID_VENDOR_FROM_DATABASE=eFortune Technology Corp.
+
+usb:v1AAD*
+ ID_VENDOR_FROM_DATABASE=KeeTouch
+
+usb:v1AADp0001*
+ ID_MODEL_FROM_DATABASE=Touchscreen
+
+usb:v1AB1*
+ ID_VENDOR_FROM_DATABASE=Rigol Technologies
+
+usb:v1AB1p0588*
+ ID_MODEL_FROM_DATABASE=DS1000 SERIES
+
+usb:v1ACB*
+ ID_VENDOR_FROM_DATABASE=Salcomp Plc
+
+usb:v1AD1*
+ ID_VENDOR_FROM_DATABASE=Desay Wire Co., Ltd.
+
+usb:v1AD4*
+ ID_VENDOR_FROM_DATABASE=APS
+
+usb:v1AD4p0002*
+ ID_MODEL_FROM_DATABASE=KM290-HRS
+
+usb:v1ADB*
+ ID_VENDOR_FROM_DATABASE=SEL C662 Serial Cable
+
+usb:v1AE4*
+ ID_VENDOR_FROM_DATABASE=ic-design Reinhard Gottinger GmbH
+
+usb:v1AE7*
+ ID_VENDOR_FROM_DATABASE=X-TENSIONS
+
+usb:v1AE7p0381*
+ ID_MODEL_FROM_DATABASE=VS-DVB-T 380U (af9015 based)
+
+usb:v1AE7p2001*
+ ID_MODEL_FROM_DATABASE=SpeedLink Snappy Mic webcam (SL-6825-SBK)
+
+usb:v1AE7p9003*
+ ID_MODEL_FROM_DATABASE=SpeedLink Vicious And Devine Laplace webcam, white (VD-1504-SWT)
+
+usb:v1AE7p9004*
+ ID_MODEL_FROM_DATABASE=SpeedLink Vicious And Devine Laplace webcam, black (VD-1504-SBK)
+
+usb:v1AED*
+ ID_VENDOR_FROM_DATABASE=High Top Precision Electronic Co., Ltd.
+
+usb:v1AEF*
+ ID_VENDOR_FROM_DATABASE=Conntech Electronic (Suzhou) Corporation
+
+usb:v1AF1*
+ ID_VENDOR_FROM_DATABASE=Connect One Ltd.
+
+usb:v1AFE*
+ ID_VENDOR_FROM_DATABASE=A. Eberle GmbH & Co. KG
+
+usb:v1AFEp0001*
+ ID_MODEL_FROM_DATABASE=PQ Box 100
+
+usb:v1B04*
+ ID_VENDOR_FROM_DATABASE=Meilhaus Electronic GmbH
+
+usb:v1B04p0630*
+ ID_MODEL_FROM_DATABASE=ME-630
+
+usb:v1B04p0940*
+ ID_MODEL_FROM_DATABASE=ME-94
+
+usb:v1B04p0950*
+ ID_MODEL_FROM_DATABASE=ME-95
+
+usb:v1B04p0960*
+ ID_MODEL_FROM_DATABASE=ME-96
+
+usb:v1B04p1000*
+ ID_MODEL_FROM_DATABASE=ME-1000
+
+usb:v1B04p100A*
+ ID_MODEL_FROM_DATABASE=ME-1000
+
+usb:v1B04p100B*
+ ID_MODEL_FROM_DATABASE=ME-1000
+
+usb:v1B04p1400*
+ ID_MODEL_FROM_DATABASE=ME-1400
+
+usb:v1B04p140A*
+ ID_MODEL_FROM_DATABASE=ME-1400A
+
+usb:v1B04p140B*
+ ID_MODEL_FROM_DATABASE=ME-1400B
+
+usb:v1B04p140C*
+ ID_MODEL_FROM_DATABASE=ME-1400C
+
+usb:v1B04p140D*
+ ID_MODEL_FROM_DATABASE=ME-1400D
+
+usb:v1B04p140E*
+ ID_MODEL_FROM_DATABASE=ME-1400E
+
+usb:v1B04p14EA*
+ ID_MODEL_FROM_DATABASE=ME-1400EA
+
+usb:v1B04p14EB*
+ ID_MODEL_FROM_DATABASE=ME-1400EB
+
+usb:v1B04p1604*
+ ID_MODEL_FROM_DATABASE=ME-1600/4U
+
+usb:v1B04p1608*
+ ID_MODEL_FROM_DATABASE=ME-1600/8U
+
+usb:v1B04p160C*
+ ID_MODEL_FROM_DATABASE=ME-1600/12U
+
+usb:v1B04p160F*
+ ID_MODEL_FROM_DATABASE=ME-1600/16U
+
+usb:v1B04p168F*
+ ID_MODEL_FROM_DATABASE=ME-1600/16U8I
+
+usb:v1B04p4610*
+ ID_MODEL_FROM_DATABASE=ME-4610
+
+usb:v1B04p4650*
+ ID_MODEL_FROM_DATABASE=ME-4650
+
+usb:v1B04p4660*
+ ID_MODEL_FROM_DATABASE=ME-4660
+
+usb:v1B04p4661*
+ ID_MODEL_FROM_DATABASE=ME-4660I
+
+usb:v1B04p4662*
+ ID_MODEL_FROM_DATABASE=ME-4660
+
+usb:v1B04p4663*
+ ID_MODEL_FROM_DATABASE=ME-4660I
+
+usb:v1B04p4670*
+ ID_MODEL_FROM_DATABASE=ME-4670
+
+usb:v1B04p4671*
+ ID_MODEL_FROM_DATABASE=ME-4670I
+
+usb:v1B04p4672*
+ ID_MODEL_FROM_DATABASE=ME-4670S
+
+usb:v1B04p4673*
+ ID_MODEL_FROM_DATABASE=ME-4670IS
+
+usb:v1B04p4680*
+ ID_MODEL_FROM_DATABASE=ME-4680
+
+usb:v1B04p4681*
+ ID_MODEL_FROM_DATABASE=ME-4680I
+
+usb:v1B04p4682*
+ ID_MODEL_FROM_DATABASE=ME-4680S
+
+usb:v1B04p4683*
+ ID_MODEL_FROM_DATABASE=ME-4680IS
+
+usb:v1B04p6004*
+ ID_MODEL_FROM_DATABASE=ME-6000/4
+
+usb:v1B04p6008*
+ ID_MODEL_FROM_DATABASE=ME-6000/8
+
+usb:v1B04p600F*
+ ID_MODEL_FROM_DATABASE=ME-6000/16
+
+usb:v1B04p6014*
+ ID_MODEL_FROM_DATABASE=ME-6000I/4
+
+usb:v1B04p6018*
+ ID_MODEL_FROM_DATABASE=ME-6000I/8
+
+usb:v1B04p601F*
+ ID_MODEL_FROM_DATABASE=ME-6000I/16
+
+usb:v1B04p6034*
+ ID_MODEL_FROM_DATABASE=ME-6000ISLE/4
+
+usb:v1B04p6038*
+ ID_MODEL_FROM_DATABASE=ME-6000ISLE/8
+
+usb:v1B04p603F*
+ ID_MODEL_FROM_DATABASE=ME-6000ISLE/16
+
+usb:v1B04p6044*
+ ID_MODEL_FROM_DATABASE=ME-6000/4/DIO
+
+usb:v1B04p6048*
+ ID_MODEL_FROM_DATABASE=ME-6000/8/DIO
+
+usb:v1B04p604F*
+ ID_MODEL_FROM_DATABASE=ME-6000/16/DIO
+
+usb:v1B04p6054*
+ ID_MODEL_FROM_DATABASE=ME-6000I/4/DIO
+
+usb:v1B04p6058*
+ ID_MODEL_FROM_DATABASE=ME-6000I/8/DIO
+
+usb:v1B04p605F*
+ ID_MODEL_FROM_DATABASE=ME-6000I/16/DIO
+
+usb:v1B04p6074*
+ ID_MODEL_FROM_DATABASE=ME-6000ISLE/4/DIO
+
+usb:v1B04p6078*
+ ID_MODEL_FROM_DATABASE=ME-6000ISLE/8/DIO
+
+usb:v1B04p607F*
+ ID_MODEL_FROM_DATABASE=ME-6000ISLE/16/DIO
+
+usb:v1B04p6104*
+ ID_MODEL_FROM_DATABASE=ME-6100/4
+
+usb:v1B04p6108*
+ ID_MODEL_FROM_DATABASE=ME-6100/8
+
+usb:v1B04p610F*
+ ID_MODEL_FROM_DATABASE=ME-6100/16
+
+usb:v1B04p6114*
+ ID_MODEL_FROM_DATABASE=ME-6100I/4
+
+usb:v1B04p6118*
+ ID_MODEL_FROM_DATABASE=ME-6100I/8
+
+usb:v1B04p611F*
+ ID_MODEL_FROM_DATABASE=ME-6100I/16
+
+usb:v1B04p6134*
+ ID_MODEL_FROM_DATABASE=ME-6100ISLE/4
+
+usb:v1B04p6138*
+ ID_MODEL_FROM_DATABASE=ME-6100ISLE/8
+
+usb:v1B04p613F*
+ ID_MODEL_FROM_DATABASE=ME-6100ISLE/16
+
+usb:v1B04p6144*
+ ID_MODEL_FROM_DATABASE=ME-6100/4/DIO
+
+usb:v1B04p6148*
+ ID_MODEL_FROM_DATABASE=ME-6100/8/DIO
+
+usb:v1B04p614F*
+ ID_MODEL_FROM_DATABASE=ME-6100/16/DIO
+
+usb:v1B04p6154*
+ ID_MODEL_FROM_DATABASE=ME-6100I/4/DIO
+
+usb:v1B04p6158*
+ ID_MODEL_FROM_DATABASE=ME-6100I/8/DIO
+
+usb:v1B04p615F*
+ ID_MODEL_FROM_DATABASE=ME-6100I/16/DIO
+
+usb:v1B04p6174*
+ ID_MODEL_FROM_DATABASE=ME-6100ISLE/4/DIO
+
+usb:v1B04p6178*
+ ID_MODEL_FROM_DATABASE=ME-6100ISLE/8/DIO
+
+usb:v1B04p617F*
+ ID_MODEL_FROM_DATABASE=ME-6100ISLE/16/DIO
+
+usb:v1B04p6259*
+ ID_MODEL_FROM_DATABASE=ME-6200I/9/DIO
+
+usb:v1B04p6359*
+ ID_MODEL_FROM_DATABASE=ME-6300I/9/DIO
+
+usb:v1B04p810A*
+ ID_MODEL_FROM_DATABASE=ME-8100A
+
+usb:v1B04p810B*
+ ID_MODEL_FROM_DATABASE=ME-8100B
+
+usb:v1B04p820A*
+ ID_MODEL_FROM_DATABASE=ME-8200A
+
+usb:v1B04p820B*
+ ID_MODEL_FROM_DATABASE=ME-8200B
+
+usb:v1B0E*
+ ID_VENDOR_FROM_DATABASE=BLUTRONICS S.r.l.
+
+usb:v1B0Ep1078*
+ ID_MODEL_FROM_DATABASE=BLUDRIVE II CCID
+
+usb:v1B0Ep1079*
+ ID_MODEL_FROM_DATABASE=BLUDRIVE II CCID
+
+usb:v1B0Ep1080*
+ ID_MODEL_FROM_DATABASE=WRITECHIP II CCID
+
+usb:v1B1C*
+ ID_VENDOR_FROM_DATABASE=Corsair
+
+usb:v1B1Cp0890*
+ ID_MODEL_FROM_DATABASE=Flash Padlock
+
+usb:v1B1Cp0A00*
+ ID_MODEL_FROM_DATABASE=SP2500 Speakers
+
+usb:v1B1Cp0A60*
+ ID_MODEL_FROM_DATABASE=Vengeance K60 Keyboard
+
+usb:v1B1Cp1A01*
+ ID_MODEL_FROM_DATABASE=Flash Voyager GT
+
+usb:v1B1Cp1A0A*
+ ID_MODEL_FROM_DATABASE=Survivor Stealth Flash Drive
+
+usb:v1B1Cp1A90*
+ ID_MODEL_FROM_DATABASE=Flash Voyager GT
+
+usb:v1B20*
+ ID_VENDOR_FROM_DATABASE=MStar Semiconductor, Inc.
+
+usb:v1B22*
+ ID_VENDOR_FROM_DATABASE=WiLinx Corp.
+
+usb:v1B26*
+ ID_VENDOR_FROM_DATABASE=Cellex Power Products, Inc.
+
+usb:v1B27*
+ ID_VENDOR_FROM_DATABASE=Current Electronics Inc.
+
+usb:v1B28*
+ ID_VENDOR_FROM_DATABASE=NAVIsis Inc.
+
+usb:v1B32*
+ ID_VENDOR_FROM_DATABASE=Ugobe Life Forms, Inc.
+
+usb:v1B32p0064*
+ ID_MODEL_FROM_DATABASE=Pleo robotic dinosaur
+
+usb:v1B36*
+ ID_VENDOR_FROM_DATABASE=ViXS Systems, Inc.
+
+usb:v1B3B*
+ ID_VENDOR_FROM_DATABASE=iPassion Technology Inc.
+
+usb:v1B3Bp2933*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2935*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2936*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2937*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2938*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2939*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2950*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2951*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2952*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2953*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2955*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2956*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2957*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2958*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2959*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2960*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2961*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2962*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2963*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2965*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2966*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2967*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2968*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3Bp2969*
+ ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller
+
+usb:v1B3F*
+ ID_VENDOR_FROM_DATABASE=Generalplus Technology Inc.
+
+usb:v1B3Fp0C52*
+ ID_MODEL_FROM_DATABASE=808 Camera #9 (mass storage mode)
+
+usb:v1B3Fp2002*
+ ID_MODEL_FROM_DATABASE=808 Camera #9 (web-cam mode)
+
+usb:v1B47*
+ ID_VENDOR_FROM_DATABASE=Energizer Holdings, Inc.
+
+usb:v1B47p0001*
+ ID_MODEL_FROM_DATABASE=CHUSB Duo Charger (NiMH AA/AAA USB smart charger)
+
+usb:v1B48*
+ ID_VENDOR_FROM_DATABASE=Plastron Precision Co., Ltd.
+
+usb:v1B59*
+ ID_VENDOR_FROM_DATABASE=K.S. Terminals Inc.
+
+usb:v1B5A*
+ ID_VENDOR_FROM_DATABASE=Chao Zhou Kai Yuan Electric Co., Ltd.
+
+usb:v1B65*
+ ID_VENDOR_FROM_DATABASE=The Hong Kong Standards and Testing Centre Ltd.
+
+usb:v1B72*
+ ID_VENDOR_FROM_DATABASE=ATERGI TECHNOLOGY CO., LTD.
+
+usb:v1B73*
+ ID_VENDOR_FROM_DATABASE=Fresco Logic
+
+usb:v1B73p1000*
+ ID_MODEL_FROM_DATABASE=xHC1 Controller
+
+usb:v1B75*
+ ID_VENDOR_FROM_DATABASE=Ovislink Corp.
+
+usb:v1B75p3072*
+ ID_MODEL_FROM_DATABASE=AirLive WN-360USB adapter
+
+usb:v1B75p8171*
+ ID_MODEL_FROM_DATABASE=WN-370USB 802.11bgn Wireless Adapter [Realtek RTL8188SU]
+
+usb:v1B75p8187*
+ ID_MODEL_FROM_DATABASE=AirLive WL-1600USB 802.11g Adapter [Realtek RTL8187L]
+
+usb:v1B75p9170*
+ ID_MODEL_FROM_DATABASE=AirLive X.USB 802.11abgn [Atheros AR9170+AR9104]
+
+usb:v1B75pA200*
+ ID_MODEL_FROM_DATABASE=AirLive WN-200USB wireless 11b/g/n dongle
+
+usb:v1B76*
+ ID_VENDOR_FROM_DATABASE=Legend Silicon Corp.
+
+usb:v1B80*
+ ID_VENDOR_FROM_DATABASE=Afatech
+
+usb:v1B80pC810*
+ ID_MODEL_FROM_DATABASE=MC810 [af9015]
+
+usb:v1B80pD393*
+ ID_MODEL_FROM_DATABASE=DVB-T receiver [RTL2832U]
+
+usb:v1B80pD396*
+ ID_MODEL_FROM_DATABASE=UB396-T [RTL2832U]
+
+usb:v1B80pD397*
+ ID_MODEL_FROM_DATABASE=DVB-T receiver [RTL2832U]
+
+usb:v1B80pD398*
+ ID_MODEL_FROM_DATABASE=DVB-T receiver [RTL2832U]
+
+usb:v1B80pD700*
+ ID_MODEL_FROM_DATABASE=FM Radio SnapMusic Mobile 700 (FM700)
+
+usb:v1B80pE297*
+ ID_MODEL_FROM_DATABASE=Conceptronic DVB-T CTVDIGRCU V3.0
+
+usb:v1B80pE383*
+ ID_MODEL_FROM_DATABASE=DVB-T UB383-T [af9015]
+
+usb:v1B80pE385*
+ ID_MODEL_FROM_DATABASE=DVB-T UB385-T [af9015]
+
+usb:v1B80pE386*
+ ID_MODEL_FROM_DATABASE=DVB-T UB385-T [af9015]
+
+usb:v1B80pE399*
+ ID_MODEL_FROM_DATABASE=DVB-T KWorld PlusTV 399U [af9015]
+
+usb:v1B80pE39A*
+ ID_MODEL_FROM_DATABASE=DVB-T395U [af9015]
+
+usb:v1B80pE39B*
+ ID_MODEL_FROM_DATABASE=DVB-T395U [af9015]
+
+usb:v1B80pE401*
+ ID_MODEL_FROM_DATABASE=Sveon STV22 DVB-T [af9015]
+
+usb:v1B80pE409*
+ ID_MODEL_FROM_DATABASE=IT9137FN Dual DVB-T [KWorld UB499-2T]
+
+usb:v1B86*
+ ID_VENDOR_FROM_DATABASE=Dongguan Guanshang Electronics Co., Ltd.
+
+usb:v1B88*
+ ID_VENDOR_FROM_DATABASE=ShenMing Electron (Dong Guan) Co., Ltd.
+
+usb:v1B8C*
+ ID_VENDOR_FROM_DATABASE=Altium Limited
+
+usb:v1B8D*
+ ID_VENDOR_FROM_DATABASE=e-MOVE Technology Co., Ltd.
+
+usb:v1B8E*
+ ID_VENDOR_FROM_DATABASE=Amlogic, Inc.
+
+usb:v1B8F*
+ ID_VENDOR_FROM_DATABASE=MA LABS, Inc.
+
+usb:v1B96*
+ ID_VENDOR_FROM_DATABASE=N-Trig
+
+usb:v1B96p0001*
+ ID_MODEL_FROM_DATABASE=Duosense Transparent Electromagnetic Digitizer
+
+usb:v1B98*
+ ID_VENDOR_FROM_DATABASE=YMax Communications Corp.
+
+usb:v1B99*
+ ID_VENDOR_FROM_DATABASE=Shenzhen Yuanchuan Electronic
+
+usb:v1BA1*
+ ID_VENDOR_FROM_DATABASE=JINQ CHERN ENTERPRISE CO., LTD.
+
+usb:v1BA2*
+ ID_VENDOR_FROM_DATABASE=Lite Metals & Plastic (Shenzhen) Co., Ltd.
+
+usb:v1BA4*
+ ID_VENDOR_FROM_DATABASE=Ember Corporation
+
+usb:v1BA4p0001*
+ ID_MODEL_FROM_DATABASE=InSight USB Link
+
+usb:v1BA6*
+ ID_VENDOR_FROM_DATABASE=Abilis Systems
+
+usb:v1BA8*
+ ID_VENDOR_FROM_DATABASE=China Telecommunication Technology Labs
+
+usb:v1BAD*
+ ID_VENDOR_FROM_DATABASE=Harmonix Music
+
+usb:v1BADp0002*
+ ID_MODEL_FROM_DATABASE=Guitar for Xbox 360
+
+usb:v1BADp0003*
+ ID_MODEL_FROM_DATABASE=Drum Kit for Xbox 360
+
+usb:v1BAE*
+ ID_VENDOR_FROM_DATABASE=Vuzix Corporation
+
+usb:v1BAEp0002*
+ ID_MODEL_FROM_DATABASE=VR920 Immersive Eyewear
+
+usb:v1BBB*
+ ID_VENDOR_FROM_DATABASE=T & A Mobile Phones
+
+usb:v1BC4*
+ ID_VENDOR_FROM_DATABASE=Ford Motor Co.
+
+usb:v1BC5*
+ ID_VENDOR_FROM_DATABASE=AVIXE Technology (China) Ltd.
+
+usb:v1BC7*
+ ID_VENDOR_FROM_DATABASE=Telit
+
+usb:v1BC7p0020*
+ ID_MODEL_FROM_DATABASE=HE863
+
+usb:v1BC7p0021*
+ ID_MODEL_FROM_DATABASE=HE910
+
+usb:v1BC7p1003*
+ ID_MODEL_FROM_DATABASE=UC864-E
+
+usb:v1BC7p1004*
+ ID_MODEL_FROM_DATABASE=UC864-G
+
+usb:v1BC7p1005*
+ ID_MODEL_FROM_DATABASE=CC864-DUAL
+
+usb:v1BC7p1006*
+ ID_MODEL_FROM_DATABASE=CC864-SINGLE
+
+usb:v1BC7p1010*
+ ID_MODEL_FROM_DATABASE=DE910-DUAL
+
+usb:v1BCE*
+ ID_VENDOR_FROM_DATABASE=Contac Cable Industrial Limited
+
+usb:v1BCF*
+ ID_VENDOR_FROM_DATABASE=Sunplus Innovation Technology Inc.
+
+usb:v1BCFp0007*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v1BCFp053A*
+ ID_MODEL_FROM_DATABASE=Targa Silvercrest OMC807-C optische Funkmaus
+
+usb:v1BCFp05C5*
+ ID_MODEL_FROM_DATABASE=SPRF2413A [2.4GHz Wireless Keyboard/Mouse Receiver]
+
+usb:v1BCFp05CF*
+ ID_MODEL_FROM_DATABASE=Micro keyboard & mouse receiver
+
+usb:v1BCFp0C31*
+ ID_MODEL_FROM_DATABASE=SPIF30x Serial-ATA bridge
+
+usb:v1BCFp2885*
+ ID_MODEL_FROM_DATABASE=ASUS Webcam
+
+usb:v1BCFp2888*
+ ID_MODEL_FROM_DATABASE=HP Universal Camera
+
+usb:v1BD0*
+ ID_VENDOR_FROM_DATABASE=Hangzhou Riyue Electronic Co., Ltd.
+
+usb:v1BD5*
+ ID_VENDOR_FROM_DATABASE=BG Systems, Inc.
+
+usb:v1BDE*
+ ID_VENDOR_FROM_DATABASE=P-TWO INDUSTRIES, INC.
+
+usb:v1BEF*
+ ID_VENDOR_FROM_DATABASE=Shenzhen Tongyuan Network-Communication Cables Co., Ltd
+
+usb:v1BF0*
+ ID_VENDOR_FROM_DATABASE=RealVision Inc.
+
+usb:v1BF5*
+ ID_VENDOR_FROM_DATABASE=Extranet Systems Inc.
+
+usb:v1BF6*
+ ID_VENDOR_FROM_DATABASE=Orient Semiconductor Electronics, Ltd.
+
+usb:v1BFD*
+ ID_VENDOR_FROM_DATABASE=TouchPack
+
+usb:v1BFDp1268*
+ ID_MODEL_FROM_DATABASE=Touch Screen
+
+usb:v1BFDp1368*
+ ID_MODEL_FROM_DATABASE=Touch Screen
+
+usb:v1BFDp1568*
+ ID_MODEL_FROM_DATABASE=Capacitive Touch Screen
+
+usb:v1BFDp1668*
+ ID_MODEL_FROM_DATABASE=IR Touch Screen
+
+usb:v1BFDp1688*
+ ID_MODEL_FROM_DATABASE=Resistive Touch Screen
+
+usb:v1BFDp2968*
+ ID_MODEL_FROM_DATABASE=Touch Screen
+
+usb:v1BFDp5968*
+ ID_MODEL_FROM_DATABASE=Touch Screen
+
+usb:v1BFDp6968*
+ ID_MODEL_FROM_DATABASE=Touch Screen
+
+usb:v1C02*
+ ID_VENDOR_FROM_DATABASE=Kreton Corporation
+
+usb:v1C04*
+ ID_VENDOR_FROM_DATABASE=QNAP System Inc.
+
+usb:v1C0C*
+ ID_VENDOR_FROM_DATABASE=Ionics EMS, Inc.
+
+usb:v1C0Cp0102*
+ ID_MODEL_FROM_DATABASE=Plug Computer
+
+usb:v1C0D*
+ ID_VENDOR_FROM_DATABASE=Relm Wireless
+
+usb:v1C10*
+ ID_VENDOR_FROM_DATABASE=Lanterra Industrial Co., Ltd.
+
+usb:v1C13*
+ ID_VENDOR_FROM_DATABASE=ALECTRONIC LIMITED
+
+usb:v1C1A*
+ ID_VENDOR_FROM_DATABASE=Datel Electronics Ltd.
+
+usb:v1C1B*
+ ID_VENDOR_FROM_DATABASE=Volkswagen of America, Inc.
+
+usb:v1C1F*
+ ID_VENDOR_FROM_DATABASE=Goldvish S.A.
+
+usb:v1C20*
+ ID_VENDOR_FROM_DATABASE=Fuji Electric Device Technology Co., Ltd.
+
+usb:v1C21*
+ ID_VENDOR_FROM_DATABASE=ADDMM LLC
+
+usb:v1C22*
+ ID_VENDOR_FROM_DATABASE=ZHONGSHAN CHIANG YU ELECTRIC CO., LTD.
+
+usb:v1C26*
+ ID_VENDOR_FROM_DATABASE=Shanghai Haiying Electronics Co., Ltd.
+
+usb:v1C27*
+ ID_VENDOR_FROM_DATABASE=HuiYang D & S Cable Co., Ltd.
+
+usb:v1C31*
+ ID_VENDOR_FROM_DATABASE=LS Cable Ltd.
+
+usb:v1C34*
+ ID_VENDOR_FROM_DATABASE=SpringCard
+
+usb:v1C34p7241*
+ ID_MODEL_FROM_DATABASE=Prox'N'Roll RFID Scanner
+
+usb:v1C37*
+ ID_VENDOR_FROM_DATABASE=Authorizer Technologies, Inc.
+
+usb:v1C3D*
+ ID_VENDOR_FROM_DATABASE=NONIN MEDICAL INC.
+
+usb:v1C3E*
+ ID_VENDOR_FROM_DATABASE=Wep Peripherals
+
+usb:v1C40*
+ ID_VENDOR_FROM_DATABASE=EZPrototypes
+
+usb:v1C40p0533*
+ ID_MODEL_FROM_DATABASE=TiltStick
+
+usb:v1C40p0534*
+ ID_MODEL_FROM_DATABASE=i2c-tiny-usb interface
+
+usb:v1C40p0535*
+ ID_MODEL_FROM_DATABASE=glcd2usb interface
+
+usb:v1C40p0536*
+ ID_MODEL_FROM_DATABASE=Swiss ColorPAL
+
+usb:v1C49*
+ ID_VENDOR_FROM_DATABASE=Cherng Weei Technology Corp.
+
+usb:v1C4F*
+ ID_VENDOR_FROM_DATABASE=SiGma Micro
+
+usb:v1C4Fp0002*
+ ID_MODEL_FROM_DATABASE=Keyboard TRACER Gamma Ivory
+
+usb:v1C4Fp0003*
+ ID_MODEL_FROM_DATABASE=HID controller
+
+usb:v1C4Fp000E*
+ ID_MODEL_FROM_DATABASE=Genius KB-120 Keyboard
+
+usb:v1C4Fp0026*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v1C4Fp3000*
+ ID_MODEL_FROM_DATABASE=Micro USB Web Camera
+
+usb:v1C4Fp3002*
+ ID_MODEL_FROM_DATABASE=WebCam SiGma Micro
+
+usb:v1C6B*
+ ID_VENDOR_FROM_DATABASE=Philips & Lite-ON Digital Solutions Corporation
+
+usb:v1C6BpA222*
+ ID_MODEL_FROM_DATABASE=DVD Writer Slimtype eTAU108
+
+usb:v1C6C*
+ ID_VENDOR_FROM_DATABASE=Skydigital Inc.
+
+usb:v1C73*
+ ID_VENDOR_FROM_DATABASE=AMT
+
+usb:v1C73p861F*
+ ID_MODEL_FROM_DATABASE=Anysee E30 USB 2.0 DVB-T Receiver
+
+usb:v1C77*
+ ID_VENDOR_FROM_DATABASE=Kaetat Industrial Co., Ltd.
+
+usb:v1C78*
+ ID_VENDOR_FROM_DATABASE=Datascope Corp.
+
+usb:v1C79*
+ ID_VENDOR_FROM_DATABASE=Unigen Corporation
+
+usb:v1C7A*
+ ID_VENDOR_FROM_DATABASE=LighTuning Technology Inc.
+
+usb:v1C7Ap0801*
+ ID_MODEL_FROM_DATABASE=Fingerprint Reader
+
+usb:v1C7B*
+ ID_VENDOR_FROM_DATABASE=LUXSHARE PRECISION INDUSTRY (SHENZHEN) CO., LTD.
+
+usb:v1C83*
+ ID_VENDOR_FROM_DATABASE=Schomäcker GmbH
+
+usb:v1C83p0001*
+ ID_MODEL_FROM_DATABASE=RS150 V2
+
+usb:v1C87*
+ ID_VENDOR_FROM_DATABASE=2N TELEKOMUNIKACE a.s.
+
+usb:v1C88*
+ ID_VENDOR_FROM_DATABASE=Somagic, Inc.
+
+usb:v1C88p0007*
+ ID_MODEL_FROM_DATABASE=SMI Grabber (EasyCAP DC60+ clone) (no firmware) [SMI-2021CBE]
+
+usb:v1C88p003C*
+ ID_MODEL_FROM_DATABASE=SMI Grabber (EasyCAP DC60+ clone) [SMI-2021CBE]
+
+usb:v1C89*
+ ID_VENDOR_FROM_DATABASE=HONGKONG WEIDIDA ELECTRON LIMITED
+
+usb:v1C8E*
+ ID_VENDOR_FROM_DATABASE=ASTRON INTERNATIONAL CORP.
+
+usb:v1C98*
+ ID_VENDOR_FROM_DATABASE=ALPINE ELECTRONICS, INC.
+
+usb:v1C9E*
+ ID_VENDOR_FROM_DATABASE=OMEGA TECHNOLOGY
+
+usb:v1C9Ep6061*
+ ID_MODEL_FROM_DATABASE=WL-72B 3.5G MODEM
+
+usb:v1CA0*
+ ID_VENDOR_FROM_DATABASE=ACCARIO Inc.
+
+usb:v1CA1*
+ ID_VENDOR_FROM_DATABASE=Symwave
+
+usb:v1CA1p18AB*
+ ID_MODEL_FROM_DATABASE=SATA bridge
+
+usb:v1CAC*
+ ID_VENDOR_FROM_DATABASE=Kinstone
+
+usb:v1CACpA332*
+ ID_MODEL_FROM_DATABASE=C8 Webcam
+
+usb:v1CACpB288*
+ ID_MODEL_FROM_DATABASE=C18 Webcam
+
+usb:v1CB3*
+ ID_VENDOR_FROM_DATABASE=Aces Electronic Co., Ltd.
+
+usb:v1CB4*
+ ID_VENDOR_FROM_DATABASE=OPEX CORPORATION
+
+usb:v1CB6*
+ ID_VENDOR_FROM_DATABASE=IdeaCom Technology Inc.
+
+usb:v1CB6p6681*
+ ID_MODEL_FROM_DATABASE=IDC6681
+
+usb:v1CBE*
+ ID_VENDOR_FROM_DATABASE=Luminary Micro Inc.
+
+usb:v1CBEp00FD*
+ ID_MODEL_FROM_DATABASE=In-Circuit Debug Interface
+
+usb:v1CBEp00FF*
+ ID_MODEL_FROM_DATABASE=Stellaris ROM DFU Bootloader
+
+usb:v1CBF*
+ ID_VENDOR_FROM_DATABASE=FORTAT SKYMARK INDUSTRIAL COMPANY
+
+usb:v1CC0*
+ ID_VENDOR_FROM_DATABASE=PlantSense
+
+usb:v1CCA*
+ ID_VENDOR_FROM_DATABASE=NextWave Broadband Inc.
+
+usb:v1CCD*
+ ID_VENDOR_FROM_DATABASE=Bodatong Technology (Shenzhen) Co., Ltd.
+
+usb:v1CD4*
+ ID_VENDOR_FROM_DATABASE=adp corporation
+
+usb:v1CD5*
+ ID_VENDOR_FROM_DATABASE=Firecomms Ltd.
+
+usb:v1CD6*
+ ID_VENDOR_FROM_DATABASE=Antonio Precise Products Manufactory Ltd.
+
+usb:v1CDE*
+ ID_VENDOR_FROM_DATABASE=Telecommunications Technology Association (TTA)
+
+usb:v1CDF*
+ ID_VENDOR_FROM_DATABASE=WonTen Technology Co., Ltd.
+
+usb:v1CE0*
+ ID_VENDOR_FROM_DATABASE=EDIMAX TECHNOLOGY CO., LTD.
+
+usb:v1CE1*
+ ID_VENDOR_FROM_DATABASE=Amphenol KAE
+
+usb:v1CF1*
+ ID_VENDOR_FROM_DATABASE=Dresden Elektronik
+
+usb:v1CF1p0001*
+ ID_MODEL_FROM_DATABASE=Sensor Terminal Board
+
+usb:v1CF1p0004*
+ ID_MODEL_FROM_DATABASE=Wireless Handheld Terminal
+
+usb:v1CF1p0017*
+ ID_MODEL_FROM_DATABASE=deRFusbSniffer 2.4 GHz
+
+usb:v1CF1p0018*
+ ID_MODEL_FROM_DATABASE=deRFusb24E001
+
+usb:v1CF1p0019*
+ ID_MODEL_FROM_DATABASE=deRFusb14E001
+
+usb:v1CF1p001A*
+ ID_MODEL_FROM_DATABASE=deRFusb23E00
+
+usb:v1CF1p001B*
+ ID_MODEL_FROM_DATABASE=deRFusb13E00
+
+usb:v1CF1p001C*
+ ID_MODEL_FROM_DATABASE=deRFnode
+
+usb:v1CF1p001D*
+ ID_MODEL_FROM_DATABASE=deRFnode / gateway
+
+usb:v1CF1p0022*
+ ID_MODEL_FROM_DATABASE=deUSB level shifter
+
+usb:v1CF1p0023*
+ ID_MODEL_FROM_DATABASE=deRFusbSniffer Sub-GHz
+
+usb:v1CF1p0025*
+ ID_MODEL_FROM_DATABASE=deRFusb23E06
+
+usb:v1CF1p0027*
+ ID_MODEL_FROM_DATABASE=deRFusb13E06
+
+usb:v1CFC*
+ ID_VENDOR_FROM_DATABASE=ANDES TECHNOLOGY CORPORATION
+
+usb:v1CFD*
+ ID_VENDOR_FROM_DATABASE=Flextronics Digital Design Japan, LTD.
+
+usb:v1D03*
+ ID_VENDOR_FROM_DATABASE=iCON
+
+usb:v1D03p0028*
+ ID_MODEL_FROM_DATABASE=iCreativ MIDI Controller
+
+usb:v1D07*
+ ID_VENDOR_FROM_DATABASE=Solid-Motion
+
+usb:v1D08*
+ ID_VENDOR_FROM_DATABASE=NINGBO HENTEK DRAGON ELECTRONICS CO., LTD.
+
+usb:v1D09*
+ ID_VENDOR_FROM_DATABASE=TechFaith Wireless Technology Limited
+
+usb:v1D09p1026*
+ ID_MODEL_FROM_DATABASE=HSUPA Modem FLYING-LARK46-VER0.07 [Flying Angel]
+
+usb:v1D0A*
+ ID_VENDOR_FROM_DATABASE=Johnson Controls, Inc. The Automotive Business Unit
+
+usb:v1D0B*
+ ID_VENDOR_FROM_DATABASE=HAN HUA CABLE & WIRE TECHNOLOGY (J.X.) CO., LTD.
+
+usb:v1D0F*
+ ID_VENDOR_FROM_DATABASE=Sonix Technology Co., Ltd.
+
+usb:v1D14*
+ ID_VENDOR_FROM_DATABASE=ALPHA-SAT TECHNOLOGY LIMITED
+
+usb:v1D17*
+ ID_VENDOR_FROM_DATABASE=C-Thru Music Ltd.
+
+usb:v1D17p0001*
+ ID_MODEL_FROM_DATABASE=AXiS-49 Harmonic Table MIDI Keyboard
+
+usb:v1D19*
+ ID_VENDOR_FROM_DATABASE=Dexatek Technology Ltd.
+
+usb:v1D19p1101*
+ ID_MODEL_FROM_DATABASE=DK DVB-T Dongle
+
+usb:v1D19p1102*
+ ID_MODEL_FROM_DATABASE=DK mini DVB-T Dongle
+
+usb:v1D19p1103*
+ ID_MODEL_FROM_DATABASE=DK 5217 DVB-T Dongle
+
+usb:v1D19p6105*
+ ID_MODEL_FROM_DATABASE=Video grabber
+
+usb:v1D19p8202*
+ ID_MODEL_FROM_DATABASE=DK DVBC/T DONGLE
+
+usb:v1D1F*
+ ID_VENDOR_FROM_DATABASE=Diostech Co., Ltd.
+
+usb:v1D20*
+ ID_VENDOR_FROM_DATABASE=SAMTACK INC.
+
+usb:v1D27*
+ ID_VENDOR_FROM_DATABASE=ASUS
+
+usb:v1D34*
+ ID_VENDOR_FROM_DATABASE=Dream Cheeky
+
+usb:v1D34p0001*
+ ID_MODEL_FROM_DATABASE=Dream Cheeky Fidget
+
+usb:v1D34p0004*
+ ID_MODEL_FROM_DATABASE=Dream Cheeky Webmail Notifier
+
+usb:v1D34p0008*
+ ID_MODEL_FROM_DATABASE=Dream Cheeky button
+
+usb:v1D34p000A*
+ ID_MODEL_FROM_DATABASE=Dream Cheeky Mailbox Friends Alert
+
+usb:v1D34p000D*
+ ID_MODEL_FROM_DATABASE=Dream Cheeky Big Red Button
+
+usb:v1D34p0013*
+ ID_MODEL_FROM_DATABASE=Dream Cheeky LED Message Board
+
+usb:v1D4D*
+ ID_VENDOR_FROM_DATABASE=PEGATRON CORPORATION
+
+usb:v1D4Dp0002*
+ ID_MODEL_FROM_DATABASE=Ralink RT2770/2720 802.11b/g/n Wireless LAN Mini-USB Device
+
+usb:v1D4Dp000C*
+ ID_MODEL_FROM_DATABASE=Ralink RT3070 802.11b/g/n Wireless Lan USB Device
+
+usb:v1D4Dp000E*
+ ID_MODEL_FROM_DATABASE=Ralink RT3070 802.11b/g/n Wireless Lan USB Device
+
+usb:v1D50*
+ ID_VENDOR_FROM_DATABASE=OpenMoko, Inc.
+
+usb:v1D50p5119*
+ ID_MODEL_FROM_DATABASE=GTA01/GTA02 U-Boot Bootloader
+
+usb:v1D50p602B*
+ ID_MODEL_FROM_DATABASE=FPGALink
+
+usb:v1D57*
+ ID_VENDOR_FROM_DATABASE=Xenta
+
+usb:v1D57p0005*
+ ID_MODEL_FROM_DATABASE=Wireless Receiver (Keyboard and Mouse)
+
+usb:v1D57p0006*
+ ID_MODEL_FROM_DATABASE=Wireless Receiver (RC Laser Pointer)
+
+usb:v1D57p000C*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
+usb:v1D57p2400*
+ ID_MODEL_FROM_DATABASE=Wireless Mouse Receiver
+
+usb:v1D57p32DA*
+ ID_MODEL_FROM_DATABASE=2.4GHz Receiver (Keyboard and Mouse)
+
+usb:v1D57p83D0*
+ ID_MODEL_FROM_DATABASE=Click-mouse!
+
+usb:v1D57pAC01*
+ ID_MODEL_FROM_DATABASE=Wireless Receiver (Keyboard and Mouse)
+
+usb:v1D57pAD02*
+ ID_MODEL_FROM_DATABASE=SE340D PC Remote Control
+
+usb:v1D57pAF01*
+ ID_MODEL_FROM_DATABASE=AUVIO Universal Remote Receiver for PlayStation 3
+
+usb:v1D5B*
+ ID_VENDOR_FROM_DATABASE=Smartronix, Inc.
+
+usb:v1D6B*
+ ID_VENDOR_FROM_DATABASE=Linux Foundation
+
+usb:v1D6Bp0001*
+ ID_MODEL_FROM_DATABASE=1.1 root hub
+
+usb:v1D6Bp0002*
+ ID_MODEL_FROM_DATABASE=2.0 root hub
+
+usb:v1D6Bp0003*
+ ID_MODEL_FROM_DATABASE=3.0 root hub
+
+usb:v1D6Bp0100*
+ ID_MODEL_FROM_DATABASE=PTP Gadget
+
+usb:v1D6Bp0101*
+ ID_MODEL_FROM_DATABASE=Audio Gadget
+
+usb:v1D6Bp0102*
+ ID_MODEL_FROM_DATABASE=EEM Gadget
+
+usb:v1D6Bp0103*
+ ID_MODEL_FROM_DATABASE=NCM (Ethernet) Gadget
+
+usb:v1D6Bp0104*
+ ID_MODEL_FROM_DATABASE=Multifunction Composite Gadget
+
+usb:v1D6Bp0105*
+ ID_MODEL_FROM_DATABASE=FunctionFS Gadget
+
+usb:v1D6Bp0200*
+ ID_MODEL_FROM_DATABASE=Qemu Audio Device
+
+usb:v1DE1*
+ ID_VENDOR_FROM_DATABASE=Actions Microelectronics Co.
+
+usb:v1DE1p1101*
+ ID_MODEL_FROM_DATABASE=Generic Display Device (Mass storage mode)
+
+usb:v1DE1pC101*
+ ID_MODEL_FROM_DATABASE=Generic Display Device
+
+usb:v1E0E*
+ ID_VENDOR_FROM_DATABASE=Qualcomm / Option
+
+usb:v1E0EpF000*
+ ID_MODEL_FROM_DATABASE=iCON 210 UMTS Surfstick
+
+usb:v1E10*
+ ID_VENDOR_FROM_DATABASE=Point Grey Research, Inc.
+
+usb:v1E10p2004*
+ ID_MODEL_FROM_DATABASE=Sony 1.3MP 1/3" ICX445 IIDC video camera [Chameleon]
+
+usb:v1E17*
+ ID_VENDOR_FROM_DATABASE=Mirion Technologies Dosimetry Services Division
+
+usb:v1E17p0001*
+ ID_MODEL_FROM_DATABASE=instadose dosimeter
+
+usb:v1E1D*
+ ID_VENDOR_FROM_DATABASE=Lumension Security
+
+usb:v1E1Dp0165*
+ ID_MODEL_FROM_DATABASE=Secure Pen drive
+
+usb:v1E1F*
+ ID_VENDOR_FROM_DATABASE=INVIA
+
+usb:v1E29*
+ ID_VENDOR_FROM_DATABASE=Festo AG & Co. KG
+
+usb:v1E29p0101*
+ ID_MODEL_FROM_DATABASE=CPX Adapter
+
+usb:v1E29p0102*
+ ID_MODEL_FROM_DATABASE=CPX Adapter >=HW10.09 [CP2102]
+
+usb:v1E29p0401*
+ ID_MODEL_FROM_DATABASE=iL3-TP [AT90USB646]
+
+usb:v1E29p0402*
+ ID_MODEL_FROM_DATABASE=FTDI232 [EasyPort]
+
+usb:v1E29p0403*
+ ID_MODEL_FROM_DATABASE=FTDI232 [EasyPort Mini]
+
+usb:v1E29p0404*
+ ID_MODEL_FROM_DATABASE=FTDI232 [Netzteil-GL]
+
+usb:v1E29p0405*
+ ID_MODEL_FROM_DATABASE=FTDI232 [MotorPrüfstand]
+
+usb:v1E29p0406*
+ ID_MODEL_FROM_DATABASE=STM32F103 [EasyKit]
+
+usb:v1E29p0407*
+ ID_MODEL_FROM_DATABASE=LPC2378 [Robotino]
+
+usb:v1E29p0408*
+ ID_MODEL_FROM_DATABASE=LPC2378 [Robotino-Arm]
+
+usb:v1E29p0409*
+ ID_MODEL_FROM_DATABASE=LPC2378 [Robotino-Arm Bootloader]
+
+usb:v1E29p040A*
+ ID_MODEL_FROM_DATABASE=LPC2378 [Robotino Bootloader]
+
+usb:v1E29p040B*
+ ID_MODEL_FROM_DATABASE=LPC2378 [Robotino XT]
+
+usb:v1E29p040C*
+ ID_MODEL_FROM_DATABASE=LPC2378 [Robotino XT Bootloader]
+
+usb:v1E29p040D*
+ ID_MODEL_FROM_DATABASE=LPC2378 [Robotino 3]
+
+usb:v1E29p040E*
+ ID_MODEL_FROM_DATABASE=LPC2378 [Robotino 3 Bootloader]
+
+usb:v1E29p0501*
+ ID_MODEL_FROM_DATABASE=CP2102 [CMSP]
+
+usb:v1E29p0601*
+ ID_MODEL_FROM_DATABASE=CMMP-AS
+
+usb:v1E3D*
+ ID_VENDOR_FROM_DATABASE=Chipsbank Microelectronics Co., Ltd
+
+usb:v1E3Dp2093*
+ ID_MODEL_FROM_DATABASE=CBM209x Flash Drive (OEM)
+
+usb:v1E3Dp4082*
+ ID_MODEL_FROM_DATABASE=CBM4082 SD Card Reader
+
+usb:v1E41*
+ ID_VENDOR_FROM_DATABASE=Cleverscope
+
+usb:v1E41p0001*
+ ID_MODEL_FROM_DATABASE=CS328A PC Oscilloscope
+
+usb:v1E4E*
+ ID_VENDOR_FROM_DATABASE=Cubeternet
+
+usb:v1E4Ep0100*
+ ID_MODEL_FROM_DATABASE=WebCam
+
+usb:v1E4Ep0102*
+ ID_MODEL_FROM_DATABASE=GL-UPC822 UVC WebCam
+
+usb:v1E54*
+ ID_VENDOR_FROM_DATABASE=TypeMatrix
+
+usb:v1E54p2030*
+ ID_MODEL_FROM_DATABASE=2030 USB Keyboard
+
+usb:v1E68*
+ ID_VENDOR_FROM_DATABASE=TrekStor GmbH & Co. KG
+
+usb:v1E68p001B*
+ ID_MODEL_FROM_DATABASE=DataStation maxi g.u
+
+usb:v1E71*
+ ID_VENDOR_FROM_DATABASE=NZXT
+
+usb:v1E71p0001*
+ ID_MODEL_FROM_DATABASE=Avatar Optical Mouse
+
+usb:v1E74*
+ ID_VENDOR_FROM_DATABASE=Coby Electronics Corporation
+
+usb:v1E74p2211*
+ ID_MODEL_FROM_DATABASE=MP300
+
+usb:v1E74p2647*
+ ID_MODEL_FROM_DATABASE=2 GB 2 Go Video MP3 Player [MP601-2G]
+
+usb:v1E74p2659*
+ ID_MODEL_FROM_DATABASE=Coby 4GB Go Video MP3 Player [MP620-4G]
+
+usb:v1E74p4641*
+ ID_MODEL_FROM_DATABASE=A8705 MP3/Video Player
+
+usb:v1E74p6511*
+ ID_MODEL_FROM_DATABASE=MP705-8G MP3 player
+
+usb:v1E74p6512*
+ ID_MODEL_FROM_DATABASE=MP705-4G
+
+usb:v1E74p7111*
+ ID_MODEL_FROM_DATABASE=MP957 Music and Video Player
+
+usb:v1E7D*
+ ID_VENDOR_FROM_DATABASE=ROCCAT
+
+usb:v1E7Dp2C24*
+ ID_MODEL_FROM_DATABASE=Pyra Mouse (wired)
+
+usb:v1E7Dp2CED*
+ ID_MODEL_FROM_DATABASE=Kone Mouse
+
+usb:v1E7Dp2CF6*
+ ID_MODEL_FROM_DATABASE=Pyra Mouse (wireless)
+
+usb:v1E7Dp2D50*
+ ID_MODEL_FROM_DATABASE=Kova+ Mouse
+
+usb:v1E7Dp2D51*
+ ID_MODEL_FROM_DATABASE=Kone+ Mouse
+
+usb:v1E7Dp30D4*
+ ID_MODEL_FROM_DATABASE=Arvo Keyboard
+
+usb:v1EBB*
+ ID_VENDOR_FROM_DATABASE=NuCORE Technology, Inc.
+
+usb:v1EDA*
+ ID_VENDOR_FROM_DATABASE=AirTies Wireless Networks
+
+usb:v1EDAp2012*
+ ID_MODEL_FROM_DATABASE=Air2210 54 Mbps Wireless Adapter
+
+usb:v1EDAp2210*
+ ID_MODEL_FROM_DATABASE=Air2210 54 Mbps Wireless Adapter
+
+usb:v1EDAp2310*
+ ID_MODEL_FROM_DATABASE=Air2310 150 Mbps Wireless Adapter
+
+usb:v1EDAp2410*
+ ID_MODEL_FROM_DATABASE=Air2410 300 Mbps Wireless Adapter
+
+usb:v1EDB*
+ ID_VENDOR_FROM_DATABASE=Blackmagic design
+
+usb:v1EDBpBD3B*
+ ID_MODEL_FROM_DATABASE=Intensity Shuttle
+
+usb:v1EE8*
+ ID_VENDOR_FROM_DATABASE=ONDA COMMUNICATION S.p.a.
+
+usb:v1EE8p0014*
+ ID_MODEL_FROM_DATABASE=MT833UP
+
+usb:v1EF6*
+ ID_VENDOR_FROM_DATABASE=EADS Deutschland GmbH
+
+usb:v1EF6p5064*
+ ID_MODEL_FROM_DATABASE=FDR Interface
+
+usb:v1EF6p5648*
+ ID_MODEL_FROM_DATABASE=RIU CSMU/BSD
+
+usb:v1EF6p564A*
+ ID_MODEL_FROM_DATABASE=Cassidian RIU CSMU/BSD Simulator
+
+usb:v1F28*
+ ID_VENDOR_FROM_DATABASE=Cal-Comp
+
+usb:v1F28p0020*
+ ID_MODEL_FROM_DATABASE=CDMA USB Modem A600
+
+usb:v1F28p0021*
+ ID_MODEL_FROM_DATABASE=CD INSTALLER USB Device
+
+usb:v1F44*
+ ID_VENDOR_FROM_DATABASE=The Neat Company
+
+usb:v1F44p0001*
+ ID_MODEL_FROM_DATABASE=NM-1000 scanner
+
+usb:v1F48*
+ ID_VENDOR_FROM_DATABASE=H-TRONIC GmbH
+
+usb:v1F48p0627*
+ ID_MODEL_FROM_DATABASE=Data capturing system
+
+usb:v1F48p0628*
+ ID_MODEL_FROM_DATABASE=Data capturing and control module
+
+usb:v1F4D*
+ ID_VENDOR_FROM_DATABASE=G-Tek Electronics Group
+
+usb:v1F4DpB803*
+ ID_MODEL_FROM_DATABASE=Lifeview LV5TDLX DVB-T [RTL2832U]
+
+usb:v1F6F*
+ ID_VENDOR_FROM_DATABASE=Aliph
+
+usb:v1F6Fp0023*
+ ID_MODEL_FROM_DATABASE=Jawbone Jambox
+
+usb:v1F6Fp8000*
+ ID_MODEL_FROM_DATABASE=Jawbone Jambox - Updating
+
+usb:v1F75*
+ ID_VENDOR_FROM_DATABASE=Innostor Technology Corporation
+
+usb:v1F75p0888*
+ ID_MODEL_FROM_DATABASE=IS888 SATA Storage Controller
+
+usb:v1F75p0902*
+ ID_MODEL_FROM_DATABASE=IS902 UFD controller
+
+usb:v1F82*
+ ID_VENDOR_FROM_DATABASE=TANDBERG
+
+usb:v1F82p0001*
+ ID_MODEL_FROM_DATABASE=PrecisionHD Camera
+
+usb:v1F84*
+ ID_VENDOR_FROM_DATABASE=Alere, Inc.
+
+usb:v1F87*
+ ID_VENDOR_FROM_DATABASE=Stantum
+
+usb:v1F87p0002*
+ ID_MODEL_FROM_DATABASE=Multi-touch HID Controller
+
+usb:v1F9B*
+ ID_VENDOR_FROM_DATABASE=Ubiquiti Networks, Inc.
+
+usb:v1F9Bp0241*
+ ID_MODEL_FROM_DATABASE=AirView2-EXT
+
+usb:v1FAB*
+ ID_VENDOR_FROM_DATABASE=Samsung Opto-Electroncs Co., Ltd.
+
+usb:v1FABp104D*
+ ID_MODEL_FROM_DATABASE=ES65
+
+usb:v1FBD*
+ ID_VENDOR_FROM_DATABASE=Delphin Technology AG
+
+usb:v1FBDp0001*
+ ID_MODEL_FROM_DATABASE=Expert Key - Data aquisition system
+
+usb:v1FC9*
+ ID_VENDOR_FROM_DATABASE=NXP Semiconductors
+
+usb:v1FC9p0003*
+ ID_MODEL_FROM_DATABASE=LPC1343
+
+usb:v1FC9p010B*
+ ID_MODEL_FROM_DATABASE=PR533
+
+usb:v1FDE*
+ ID_VENDOR_FROM_DATABASE=ILX Lightwave Corporation
+
+usb:v1FDEp0001*
+ ID_MODEL_FROM_DATABASE=UART Bridge
+
+usb:v1FE7*
+ ID_VENDOR_FROM_DATABASE=Vertex Wireless Co., Ltd.
+
+usb:v1FE7p1000*
+ ID_MODEL_FROM_DATABASE=VW100 series CDMA EV-DO Rev.A modem
+
+usb:v1FF7*
+ ID_VENDOR_FROM_DATABASE=CVT Electronics.Co.,Ltd
+
+usb:v1FF7p0013*
+ ID_MODEL_FROM_DATABASE=CVTouch Screen (HID)
+
+usb:v1FF7p001A*
+ ID_MODEL_FROM_DATABASE=Human Interface Device
+
+usb:v1FFF*
+ ID_VENDOR_FROM_DATABASE=Ideofy Inc.
+
+usb:v2001*
+ ID_VENDOR_FROM_DATABASE=D-Link Corp.
+
+usb:v2001p0001*
+ ID_MODEL_FROM_DATABASE=DWL-120 WIRELESS ADAPTER
+
+usb:v2001p0201*
+ ID_MODEL_FROM_DATABASE=DHN-120 10Mb Home Phoneline Adapter
+
+usb:v2001p1A00*
+ ID_MODEL_FROM_DATABASE=DUB-E100 Fast Ethernet Adapter(rev.A) [ASIX AX88172]
+
+usb:v2001p1A02*
+ ID_MODEL_FROM_DATABASE=DUB-E100 Fast Ethernet Adapter(rev.C1) [ASIX AX88772]
+
+usb:v2001p200C*
+ ID_MODEL_FROM_DATABASE=10/100 Ethernet
+
+usb:v2001p3200*
+ ID_MODEL_FROM_DATABASE=DWL-120 802.11b Wireless Adapter(rev.E1) [Atmel at76c503a]
+
+usb:v2001p3301*
+ ID_MODEL_FROM_DATABASE=DWA-130 802.11n Wireless N Adapter(rev.C1) [Realtek RTL8192U]
+
+usb:v2001p3306*
+ ID_MODEL_FROM_DATABASE=DWL-G122 Wireless Adapter(rev.F1) [Realtek RTL8188SU]
+
+usb:v2001p3308*
+ ID_MODEL_FROM_DATABASE=DWA-121 802.11n Wireless N 150 Pico Adapter [Realtek RTL8188CUS]
+
+usb:v2001p3309*
+ ID_MODEL_FROM_DATABASE=DWA-135 802.11n Wireless N Adapter(rev.A1) [Realtek RTL8192CU]
+
+usb:v2001p330A*
+ ID_MODEL_FROM_DATABASE=DWA-133 802.11n Wireless N Adapter [Realtek RTL8192CU]
+
+usb:v2001p3500*
+ ID_MODEL_FROM_DATABASE=Elitegroup Computer Systems WLAN card WL-162
+
+usb:v2001p3700*
+ ID_MODEL_FROM_DATABASE=DWL-122 802.11b [Intersil Prism 3]
+
+usb:v2001p3701*
+ ID_MODEL_FROM_DATABASE=DWL-G120 Spinnaker 802.11g [Intersil ISL3886]
+
+usb:v2001p3702*
+ ID_MODEL_FROM_DATABASE=DWL-120 802.11b Wireless Adapter(rev.F) [Intersil ISL3871]
+
+usb:v2001p3703*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.A1) [Intersil ISL3880]
+
+usb:v2001p3704*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.A2) [Intersil ISL3887]
+
+usb:v2001p3705*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G120 Wireless Adapter(rev.C) [Intersil ISL3887]
+
+usb:v2001p3761*
+ ID_MODEL_FROM_DATABASE=IEEE 802.11g USB2.0 Wireless Network Adapter-PN
+
+usb:v2001p3A00*
+ ID_MODEL_FROM_DATABASE=DWL-AG132 [Atheros AR5523]
+
+usb:v2001p3A01*
+ ID_MODEL_FROM_DATABASE=DWL-AG132 (no firmware) [Atheros AR5523]
+
+usb:v2001p3A02*
+ ID_MODEL_FROM_DATABASE=DWL-G132 [Atheros AR5523]
+
+usb:v2001p3A03*
+ ID_MODEL_FROM_DATABASE=DWL-G132 (no firmware) [Atheros AR5523]
+
+usb:v2001p3A04*
+ ID_MODEL_FROM_DATABASE=DWL-AG122 [Atheros AR5523]
+
+usb:v2001p3A05*
+ ID_MODEL_FROM_DATABASE=DWL-AG122 (no firmware) [Atheros AR5523]
+
+usb:v2001p3A80*
+ ID_MODEL_FROM_DATABASE=AirPlus Xtreme G DWL-G132 Wireless Adapter
+
+usb:v2001p3A81*
+ ID_MODEL_FROM_DATABASE=predator Bootloader Download
+
+usb:v2001p3A82*
+ ID_MODEL_FROM_DATABASE=AirPremier AG DWL-AG132 Wireless Adapter
+
+usb:v2001p3A83*
+ ID_MODEL_FROM_DATABASE=predator Bootloader Download
+
+usb:v2001p3B00*
+ ID_MODEL_FROM_DATABASE=AirPlus DWL-120+ Wireless Adapter [Texas Instruments ACX100USB]
+
+usb:v2001p3B01*
+ ID_MODEL_FROM_DATABASE=WLAN Boot Device
+
+usb:v2001p3C00*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.B1) [Ralink RT2571]
+
+usb:v2001p3C01*
+ ID_MODEL_FROM_DATABASE=AirPlus AG DWL-AG122 Wireless Adapter
+
+usb:v2001p3C02*
+ ID_MODEL_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter
+
+usb:v2001p3C05*
+ ID_MODEL_FROM_DATABASE=DUB-E100 Fast Ethernet Adapter(rev.B1) [ASIX AX88772]
+
+usb:v2001p3C15*
+ ID_MODEL_FROM_DATABASE=DWA-140 RangeBooster N Adapter(rev.B3) [Ralink RT5372]
+
+usb:v2001p3C17*
+ ID_MODEL_FROM_DATABASE=DWA-123 Wireless N 150 Adapter(rev.A1) [Ralink RT3370]
+
+usb:v2001p3C19*
+ ID_MODEL_FROM_DATABASE=DWA-125 Wireless N 150 Adapter(rev.A3) [Ralink RT5370]
+
+usb:v2001p3C1A*
+ ID_MODEL_FROM_DATABASE=DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.B2) [Ralink RT5572]
+
+usb:v2001p3C1B*
+ ID_MODEL_FROM_DATABASE=DWA-127 Wireless N 150 High-Gain Adapter(rev.A1) [Ralink RT3070]
+
+usb:v2001p4000*
+ ID_MODEL_FROM_DATABASE=DSB-650C Ethernet [klsi]
+
+usb:v2001p4001*
+ ID_MODEL_FROM_DATABASE=DSB-650TX Ethernet [pegasus]
+
+usb:v2001p4002*
+ ID_MODEL_FROM_DATABASE=DSB-650TX Ethernet [pegasus]
+
+usb:v2001p4003*
+ ID_MODEL_FROM_DATABASE=DSB-650TX-PNA Ethernet [pegasus]
+
+usb:v2001p400B*
+ ID_MODEL_FROM_DATABASE=10/100 Ethernet
+
+usb:v2001p4102*
+ ID_MODEL_FROM_DATABASE=10/100 Ethernet
+
+usb:v2001p5100*
+ ID_MODEL_FROM_DATABASE=DSL-200 ADSL ATM Modem
+
+usb:v2001p5102*
+ ID_MODEL_FROM_DATABASE=DSL-200 ADSL Loader
+
+usb:v2001p5B00*
+ ID_MODEL_FROM_DATABASE=Remote NDIS Network Device
+
+usb:v2001p9414*
+ ID_MODEL_FROM_DATABASE=Cable Modem
+
+usb:v2001p9B00*
+ ID_MODEL_FROM_DATABASE=Broadband Cable Modem Remote NDIS Device
+
+usb:v2001pABC1*
+ ID_MODEL_FROM_DATABASE=DSB-650 Ethernet [pegasus]
+
+usb:v2001pF013*
+ ID_MODEL_FROM_DATABASE=DLink 7 port USB2.0 Hub
+
+usb:v2001pF103*
+ ID_MODEL_FROM_DATABASE=DUB-H7 7-port USB 2.0 hub
+
+usb:v2001pF10D*
+ ID_MODEL_FROM_DATABASE=Accent Communications Modem
+
+usb:v2001pF110*
+ ID_MODEL_FROM_DATABASE=DUB-AV300 A/V Capture
+
+usb:v2001pF111*
+ ID_MODEL_FROM_DATABASE=DBT-122 Bluetooth adapter
+
+usb:v2001pF112*
+ ID_MODEL_FROM_DATABASE=DUB-T210 Audio Device
+
+usb:v2001pF116*
+ ID_MODEL_FROM_DATABASE=Formosa 2
+
+usb:v2001pF117*
+ ID_MODEL_FROM_DATABASE=Formosa 3
+
+usb:v2001pF118*
+ ID_MODEL_FROM_DATABASE=Formosa 4
+
+usb:v2002*
+ ID_VENDOR_FROM_DATABASE=DAP Technologies
+
+usb:v200C*
+ ID_VENDOR_FROM_DATABASE=Reloop
+
+usb:v200Cp100B*
+ ID_MODEL_FROM_DATABASE=Play audio soundcard
+
+usb:v2013*
+ ID_VENDOR_FROM_DATABASE=PCTV Systems
+
+usb:v2013p0245*
+ ID_MODEL_FROM_DATABASE=PCTV 73ESE
+
+usb:v2013p0246*
+ ID_MODEL_FROM_DATABASE=PCTV 74E
+
+usb:v2013p0248*
+ ID_MODEL_FROM_DATABASE=PCTV 282E
+
+usb:v2013p024F*
+ ID_MODEL_FROM_DATABASE=nanoStick T2 290e
+
+usb:v2019*
+ ID_VENDOR_FROM_DATABASE=PLANEX
+
+usb:v2019p3220*
+ ID_MODEL_FROM_DATABASE=GW-US11S WLAN [Atmel AT76C503A]
+
+usb:v2019p4901*
+ ID_MODEL_FROM_DATABASE=GW-USSuper300 802.11bgn Wireless Adapter [Realtek RTL8191SU]
+
+usb:v2019p4903*
+ ID_MODEL_FROM_DATABASE=GW-USFang300 802.11abgn Wireless Adapter [Realtek RTL8192DU]
+
+usb:v2019p4904*
+ ID_MODEL_FROM_DATABASE=GW-USUltra300 802.11abgn Wireless Adapter [Realtek RTL8192DU]
+
+usb:v2019p5303*
+ ID_MODEL_FROM_DATABASE=GW-US54GXS 802.11bg
+
+usb:v2019p5304*
+ ID_MODEL_FROM_DATABASE=GWUS300 802.11n
+
+usb:v2019pAB01*
+ ID_MODEL_FROM_DATABASE=GW-US54HP
+
+usb:v2019pAB24*
+ ID_MODEL_FROM_DATABASE=GW-US300MiniS
+
+usb:v2019pAB25*
+ ID_MODEL_FROM_DATABASE=GW-USMini2N 802.11n Wireless Adapter [Ralink RT2870]
+
+usb:v2019pAB28*
+ ID_MODEL_FROM_DATABASE=GW-USNano
+
+usb:v2019pAB29*
+ ID_MODEL_FROM_DATABASE=GW-USMicro300
+
+usb:v2019pAB2A*
+ ID_MODEL_FROM_DATABASE=GW-USNano2 802.11n Wireless Adapter [Realtek RTL8188CUS]
+
+usb:v2019pAB2B*
+ ID_MODEL_FROM_DATABASE=GW-USEco300 802.11bgn Wireless Adapter [Realtek RTL8192CU]
+
+usb:v2019pAB2C*
+ ID_MODEL_FROM_DATABASE=GW-USDual300 802.11abgn Wireless Adapter [Realtek RTL8192DU]
+
+usb:v2019pAB50*
+ ID_MODEL_FROM_DATABASE=GW-US54Mini2
+
+usb:v2019pC002*
+ ID_MODEL_FROM_DATABASE=GW-US54SG
+
+usb:v2019pC007*
+ ID_MODEL_FROM_DATABASE=GW-US54GZL
+
+usb:v2019pED02*
+ ID_MODEL_FROM_DATABASE=GW-USMM
+
+usb:v2019pED06*
+ ID_MODEL_FROM_DATABASE=GW-US300MiniW 802.11bgn Wireless Adapter
+
+usb:v2019pED10*
+ ID_MODEL_FROM_DATABASE=GW-US300Mini2
+
+usb:v2019pED14*
+ ID_MODEL_FROM_DATABASE=GW-USMicroN
+
+usb:v2019pED16*
+ ID_MODEL_FROM_DATABASE=GW-USMicroN2W 802.11bgn Wireless Adapter [Realtek RTL8188SU]
+
+usb:v2019pED17*
+ ID_MODEL_FROM_DATABASE=GW-USValue-EZ 802.11n Wireless Adapter [Realtek RTL8188CUS]
+
+usb:v2019pED18*
+ ID_MODEL_FROM_DATABASE=GW-USHyper300 / GW-USH300N 802.11bgn Wireless Adapter [Realtek RTL8191SU]
+
+usb:v2040*
+ ID_VENDOR_FROM_DATABASE=Hauppauge
+
+usb:v2040p0C80*
+ ID_MODEL_FROM_DATABASE=Windham
+
+usb:v2040p0C90*
+ ID_MODEL_FROM_DATABASE=Windham
+
+usb:v2040p1700*
+ ID_MODEL_FROM_DATABASE=CataMount
+
+usb:v2040p1800*
+ ID_MODEL_FROM_DATABASE=Okemo A
+
+usb:v2040p1801*
+ ID_MODEL_FROM_DATABASE=Okemo B
+
+usb:v2040p2000*
+ ID_MODEL_FROM_DATABASE=Tiger Minicard
+
+usb:v2040p2009*
+ ID_MODEL_FROM_DATABASE=Tiger Minicard R2
+
+usb:v2040p200A*
+ ID_MODEL_FROM_DATABASE=Tiger Minicard
+
+usb:v2040p2010*
+ ID_MODEL_FROM_DATABASE=Tiger Minicard
+
+usb:v2040p2011*
+ ID_MODEL_FROM_DATABASE=WinTV MiniCard [Dell Digital TV Receiver]
+
+usb:v2040p2019*
+ ID_MODEL_FROM_DATABASE=Tiger Minicard
+
+usb:v2040p2400*
+ ID_MODEL_FROM_DATABASE=WinTV PVR USB2 (Model 24019)
+
+usb:v2040p4700*
+ ID_MODEL_FROM_DATABASE=WinTV Nova-S-USB2
+
+usb:v2040p4902*
+ ID_MODEL_FROM_DATABASE=HD PVR
+
+usb:v2040p4903*
+ ID_MODEL_FROM_DATABASE=HS PVR
+
+usb:v2040p4982*
+ ID_MODEL_FROM_DATABASE=HD PVR
+
+usb:v2040p5500*
+ ID_MODEL_FROM_DATABASE=Windham
+
+usb:v2040p5510*
+ ID_MODEL_FROM_DATABASE=Windham
+
+usb:v2040p5520*
+ ID_MODEL_FROM_DATABASE=Windham
+
+usb:v2040p5530*
+ ID_MODEL_FROM_DATABASE=Windham
+
+usb:v2040p5580*
+ ID_MODEL_FROM_DATABASE=Windham
+
+usb:v2040p5590*
+ ID_MODEL_FROM_DATABASE=Windham
+
+usb:v2040p6500*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-900
+
+usb:v2040p6502*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-900
+
+usb:v2040p6503*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-930
+
+usb:v2040p6513*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-980
+
+usb:v2040p7050*
+ ID_MODEL_FROM_DATABASE=Nova-T Stick
+
+usb:v2040p7060*
+ ID_MODEL_FROM_DATABASE=Nova-T Stick 2
+
+usb:v2040p7070*
+ ID_MODEL_FROM_DATABASE=Nova-T Stick 3
+
+usb:v2040p7240*
+ ID_MODEL_FROM_DATABASE=WinTV HVR-850
+
+usb:v2040p8400*
+ ID_MODEL_FROM_DATABASE=WinTV Nova-T-500
+
+usb:v2040p9300*
+ ID_MODEL_FROM_DATABASE=WinTV NOVA-T USB2 (cold)
+
+usb:v2040p9301*
+ ID_MODEL_FROM_DATABASE=WinTV NOVA-T USB2 (warm)
+
+usb:v2040p9941*
+ ID_MODEL_FROM_DATABASE=WinTV Nova-T-500
+
+usb:v2040p9950*
+ ID_MODEL_FROM_DATABASE=WinTV Nova-T-500
+
+usb:v2040pB910*
+ ID_MODEL_FROM_DATABASE=Windham
+
+usb:v2040pB980*
+ ID_MODEL_FROM_DATABASE=Windham
+
+usb:v2040pB990*
+ ID_MODEL_FROM_DATABASE=Windham
+
+usb:v2040pC000*
+ ID_MODEL_FROM_DATABASE=Windham
+
+usb:v2040pC010*
+ ID_MODEL_FROM_DATABASE=Windham
+
+usb:v2047*
+ ID_VENDOR_FROM_DATABASE=Texas Instruments
+
+usb:v2047p0200*
+ ID_MODEL_FROM_DATABASE=MSP430 USB HID Bootstrap Loader
+
+usb:v2080*
+ ID_VENDOR_FROM_DATABASE=Barnes & Noble
+
+usb:v2080p0001*
+ ID_MODEL_FROM_DATABASE=nook
+
+usb:v2080p0002*
+ ID_MODEL_FROM_DATABASE=NOOKcolor
+
+usb:v2080p0003*
+ ID_MODEL_FROM_DATABASE=NOOK Simple Touch
+
+usb:v2080p0004*
+ ID_MODEL_FROM_DATABASE=NOOK Tablet
+
+usb:v2087*
+ ID_VENDOR_FROM_DATABASE=Cando
+
+usb:v2087p0A01*
+ ID_MODEL_FROM_DATABASE=Multi Touch Panel
+
+usb:v2087p0A02*
+ ID_MODEL_FROM_DATABASE=Multi Touch Panel
+
+usb:v2087p0B03*
+ ID_MODEL_FROM_DATABASE=Multi Touch Panel
+
+usb:v20A0*
+ ID_VENDOR_FROM_DATABASE=Clay Logic
+
+usb:v20A0p4123*
+ ID_MODEL_FROM_DATABASE=IKALOGIC SCANALOGIC 2
+
+usb:v20A0p414A*
+ ID_MODEL_FROM_DATABASE=MDE SPI Interface
+
+usb:v20A0p415A*
+ ID_MODEL_FROM_DATABASE=OpenPilot
+
+usb:v20A0p415B*
+ ID_MODEL_FROM_DATABASE=CopterControl
+
+usb:v20A0p415C*
+ ID_MODEL_FROM_DATABASE=PipXtreme
+
+usb:v20B1*
+ ID_VENDOR_FROM_DATABASE=XMOS Ltd
+
+usb:v20B1p10AD*
+ ID_MODEL_FROM_DATABASE=XUSB Loader
+
+usb:v20B1pF7D1*
+ ID_MODEL_FROM_DATABASE=XTAG2 - JTAG Adapter
+
+usb:v20B3*
+ ID_VENDOR_FROM_DATABASE=Hanvon
+
+usb:v20B3p0A18*
+ ID_MODEL_FROM_DATABASE=10.1 Touch screen overlay
+
+usb:v20B7*
+ ID_VENDOR_FROM_DATABASE=Qi Hardware
+
+usb:v20B7p0713*
+ ID_MODEL_FROM_DATABASE=Milkymist JTAG/serial
+
+usb:v20B7p1540*
+ ID_MODEL_FROM_DATABASE=ben-wpan, AT86RF230-based
+
+usb:v20B7p1DB5*
+ ID_MODEL_FROM_DATABASE=IDBG in DFU mode
+
+usb:v20B7p1DB6*
+ ID_MODEL_FROM_DATABASE=IDBG in normal mode
+
+usb:v20B7pC25B*
+ ID_MODEL_FROM_DATABASE=C2 Dongle
+
+usb:v20B7pCB72*
+ ID_MODEL_FROM_DATABASE=ben-wpan, cntr
+
+usb:v20DF*
+ ID_VENDOR_FROM_DATABASE=Simtec Electronics
+
+usb:v20DFp0001*
+ ID_MODEL_FROM_DATABASE=Entropy Key [UDEKEY01]
+
+usb:v20F4*
+ ID_VENDOR_FROM_DATABASE=TRENDnet
+
+usb:v20F4p648B*
+ ID_MODEL_FROM_DATABASE=TEW-648UBM 802.11n 150Mbps Micro Wireless N Adapter [Realtek RTL8188CUS]
+
+usb:v2101*
+ ID_VENDOR_FROM_DATABASE=ActionStar
+
+usb:v2101p0201*
+ ID_MODEL_FROM_DATABASE=SIIG 4-to-2 Printer Switch
+
+usb:v2162*
+ ID_VENDOR_FROM_DATABASE=Creative (?)
+
+usb:v2162p2031*
+ ID_MODEL_FROM_DATABASE=Network Blaster Wireless Adapter
+
+usb:v2162p500C*
+ ID_MODEL_FROM_DATABASE=DE5771 Modem Blaster
+
+usb:v2162p8001*
+ ID_MODEL_FROM_DATABASE=Broadxent BritePort DSL Bridge 8010U
+
+usb:v2184*
+ ID_VENDOR_FROM_DATABASE=GW Instek
+
+usb:v2184p0005*
+ ID_MODEL_FROM_DATABASE=GDS-3000 Oscilloscope
+
+usb:v2184p0006*
+ ID_MODEL_FROM_DATABASE=GDS-3000 Oscilloscope
+
+usb:v2184p0011*
+ ID_MODEL_FROM_DATABASE=AFG Function Generator (CDC)
+
+usb:v21A1*
+ ID_VENDOR_FROM_DATABASE=Emotiv Systems Pty. Ltd.
+
+usb:v21A1p0001*
+ ID_MODEL_FROM_DATABASE=EPOC Consumer Headset Wireless Dongle
+
+usb:v21D6*
+ ID_VENDOR_FROM_DATABASE=Agecodagis SARL
+
+usb:v21D6p0002*
+ ID_MODEL_FROM_DATABASE=Seismic recorder [Tellus]
+
+usb:v2222*
+ ID_VENDOR_FROM_DATABASE=MacAlly
+
+usb:v2222p0004*
+ ID_MODEL_FROM_DATABASE=iWebKey Keyboard
+
+usb:v2222p2520*
+ ID_MODEL_FROM_DATABASE=Mini Tablet
+
+usb:v2222p4050*
+ ID_MODEL_FROM_DATABASE=AirStick joystick
+
+usb:v2227*
+ ID_VENDOR_FROM_DATABASE=SAMWOO Enterprise
+
+usb:v2227p3105*
+ ID_MODEL_FROM_DATABASE=SKYDATA SKD-U100
+
+usb:v2233*
+ ID_VENDOR_FROM_DATABASE=RadioShack Corporation
+
+usb:v2233p6323*
+ ID_MODEL_FROM_DATABASE=USB Electronic Scale
+
+usb:v2237*
+ ID_VENDOR_FROM_DATABASE=Kobo Inc.
+
+usb:v2237p4161*
+ ID_MODEL_FROM_DATABASE=eReader White
+
+usb:v22A6*
+ ID_VENDOR_FROM_DATABASE=Pie Digital, Inc.
+
+usb:v22A6pFFFF*
+ ID_MODEL_FROM_DATABASE=PieKey "beta" 4GB model 4E4F41482E4F5247 (SM3251Q BB)
+
+usb:v22B8*
+ ID_VENDOR_FROM_DATABASE=Motorola PCS
+
+usb:v22B8p0001*
+ ID_MODEL_FROM_DATABASE=Wally 2.2 chipset
+
+usb:v22B8p0002*
+ ID_MODEL_FROM_DATABASE=Wally 2.4 chipset
+
+usb:v22B8p0005*
+ ID_MODEL_FROM_DATABASE=V.60c/V.60i GSM Phone
+
+usb:v22B8p0830*
+ ID_MODEL_FROM_DATABASE=2386C-HT820
+
+usb:v22B8p0833*
+ ID_MODEL_FROM_DATABASE=2386C-HT820 [Flash Mode]
+
+usb:v22B8p0850*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v22B8p1001*
+ ID_MODEL_FROM_DATABASE=Patriot 1.0 (GSM) chipset
+
+usb:v22B8p1002*
+ ID_MODEL_FROM_DATABASE=Patriot 2.0 chipset
+
+usb:v22B8p1005*
+ ID_MODEL_FROM_DATABASE=T280e GSM/GPRS Phone
+
+usb:v22B8p1101*
+ ID_MODEL_FROM_DATABASE=Patriot 1.0 (TDMA) chipset
+
+usb:v22B8p1801*
+ ID_MODEL_FROM_DATABASE=Rainbow chipset flash
+
+usb:v22B8p2035*
+ ID_MODEL_FROM_DATABASE=Bluetooth Device
+
+usb:v22B8p2805*
+ ID_MODEL_FROM_DATABASE=GSM Modem
+
+usb:v22B8p2821*
+ ID_MODEL_FROM_DATABASE=T720 GSM Phone
+
+usb:v22B8p2822*
+ ID_MODEL_FROM_DATABASE=V.120e GSM Phone
+
+usb:v22B8p2823*
+ ID_MODEL_FROM_DATABASE=Flash Interface
+
+usb:v22B8p2A01*
+ ID_MODEL_FROM_DATABASE=MSM6050 chipset
+
+usb:v22B8p2A02*
+ ID_MODEL_FROM_DATABASE=CDMA modem
+
+usb:v22B8p2A03*
+ ID_MODEL_FROM_DATABASE=MSM6050 chipset flash
+
+usb:v22B8p2A21*
+ ID_MODEL_FROM_DATABASE=V710 GSM Phone (P2K)
+
+usb:v22B8p2A22*
+ ID_MODEL_FROM_DATABASE=V710 GSM Phone (AT)
+
+usb:v22B8p2A23*
+ ID_MODEL_FROM_DATABASE=MSM6100 chipset flash
+
+usb:v22B8p2A41*
+ ID_MODEL_FROM_DATABASE=MSM6300 chipset
+
+usb:v22B8p2A42*
+ ID_MODEL_FROM_DATABASE=Usb Modem
+
+usb:v22B8p2A43*
+ ID_MODEL_FROM_DATABASE=MSM6300 chipset flash
+
+usb:v22B8p2A61*
+ ID_MODEL_FROM_DATABASE=E815 GSM Phone (P2K)
+
+usb:v22B8p2A62*
+ ID_MODEL_FROM_DATABASE=E815 GSM Phone (AT)
+
+usb:v22B8p2A63*
+ ID_MODEL_FROM_DATABASE=MSM6500 chipset flash
+
+usb:v22B8p2A81*
+ ID_MODEL_FROM_DATABASE=MSM6025 chipset
+
+usb:v22B8p2A83*
+ ID_MODEL_FROM_DATABASE=MSM6025 chipset flash
+
+usb:v22B8p2AC1*
+ ID_MODEL_FROM_DATABASE=MSM6100 chipset
+
+usb:v22B8p2AC3*
+ ID_MODEL_FROM_DATABASE=MSM6100 chipset flash
+
+usb:v22B8p2D78*
+ ID_MODEL_FROM_DATABASE=XT300[SPICE]
+
+usb:v22B8p3001*
+ ID_MODEL_FROM_DATABASE=A835/E1000 GSM Phone (P2K)
+
+usb:v22B8p3002*
+ ID_MODEL_FROM_DATABASE=A835/E1000 GSM Phone (AT)
+
+usb:v22B8p3801*
+ ID_MODEL_FROM_DATABASE=C350L/C450 (P2K)
+
+usb:v22B8p3802*
+ ID_MODEL_FROM_DATABASE=C330/C350L/C450/EZX GSM Phone (AT)
+
+usb:v22B8p3803*
+ ID_MODEL_FROM_DATABASE=Neptune LT chipset flash
+
+usb:v22B8p4001*
+ ID_MODEL_FROM_DATABASE=OMAP 1.0 chipset
+
+usb:v22B8p4002*
+ ID_MODEL_FROM_DATABASE=A920/A925 UMTS Phone
+
+usb:v22B8p4003*
+ ID_MODEL_FROM_DATABASE=OMAP 1.0 chipset flash
+
+usb:v22B8p4008*
+ ID_MODEL_FROM_DATABASE=OMAP 1.0 chipset RDL
+
+usb:v22B8p41D6*
+ ID_MODEL_FROM_DATABASE=Droid X (Windows media mode)
+
+usb:v22B8p41D9*
+ ID_MODEL_FROM_DATABASE=Droid/Milestone
+
+usb:v22B8p41DB*
+ ID_MODEL_FROM_DATABASE=Droid/Milestone (Debug mode)
+
+usb:v22B8p41DE*
+ ID_MODEL_FROM_DATABASE=Droid X (PC mode)
+
+usb:v22B8p4204*
+ ID_MODEL_FROM_DATABASE=MPx200 Smartphone
+
+usb:v22B8p4214*
+ ID_MODEL_FROM_DATABASE=MPc GSM
+
+usb:v22B8p4224*
+ ID_MODEL_FROM_DATABASE=MPx220 Smartphone
+
+usb:v22B8p4234*
+ ID_MODEL_FROM_DATABASE=MPc CDMA
+
+usb:v22B8p4244*
+ ID_MODEL_FROM_DATABASE=MPx100 Smartphone
+
+usb:v22B8p4285*
+ ID_MODEL_FROM_DATABASE=Droid X (Mass storage)
+
+usb:v22B8p4801*
+ ID_MODEL_FROM_DATABASE=Neptune LTS chipset
+
+usb:v22B8p4803*
+ ID_MODEL_FROM_DATABASE=Neptune LTS chipset flash
+
+usb:v22B8p4810*
+ ID_MODEL_FROM_DATABASE=Triplet GSM Phone (storage)
+
+usb:v22B8p4901*
+ ID_MODEL_FROM_DATABASE=Triplet GSM Phone (P2K)
+
+usb:v22B8p4902*
+ ID_MODEL_FROM_DATABASE=Triplet GSM Phone (AT)
+
+usb:v22B8p4903*
+ ID_MODEL_FROM_DATABASE=Neptune LTE chipset flash
+
+usb:v22B8p4A01*
+ ID_MODEL_FROM_DATABASE=Neptune LTX chipset
+
+usb:v22B8p4A03*
+ ID_MODEL_FROM_DATABASE=Neptune LTX chipset flash
+
+usb:v22B8p4A32*
+ ID_MODEL_FROM_DATABASE=L6-imode Phone
+
+usb:v22B8p5801*
+ ID_MODEL_FROM_DATABASE=Neptune ULS chipset
+
+usb:v22B8p5803*
+ ID_MODEL_FROM_DATABASE=Neptune ULS chipset flash
+
+usb:v22B8p5901*
+ ID_MODEL_FROM_DATABASE=Neptune VLT chipset
+
+usb:v22B8p5903*
+ ID_MODEL_FROM_DATABASE=Neptune VLT chipset flash
+
+usb:v22B8p6001*
+ ID_MODEL_FROM_DATABASE=Dalhart EZX
+
+usb:v22B8p6003*
+ ID_MODEL_FROM_DATABASE=Dalhart flash
+
+usb:v22B8p6004*
+ ID_MODEL_FROM_DATABASE=EZX GSM Phone (CDC Net)
+
+usb:v22B8p6006*
+ ID_MODEL_FROM_DATABASE=MOTOROKR E6
+
+usb:v22B8p6008*
+ ID_MODEL_FROM_DATABASE=Dalhart RDL
+
+usb:v22B8p6009*
+ ID_MODEL_FROM_DATABASE=EZX GSM Phone (P2K)
+
+usb:v22B8p600A*
+ ID_MODEL_FROM_DATABASE=Dalhart EZX config 17
+
+usb:v22B8p600B*
+ ID_MODEL_FROM_DATABASE=Dalhart EZX config 18
+
+usb:v22B8p600C*
+ ID_MODEL_FROM_DATABASE=EZX GSM Phone (USBLAN)
+
+usb:v22B8p6021*
+ ID_MODEL_FROM_DATABASE=JUIX chipset
+
+usb:v22B8p6023*
+ ID_MODEL_FROM_DATABASE=JUIX chipset flash
+
+usb:v22B8p6026*
+ ID_MODEL_FROM_DATABASE=Flash RAM Downloader/miniOS
+
+usb:v22B8p6027*
+ ID_MODEL_FROM_DATABASE=USBLAN
+
+usb:v22B8p604C*
+ ID_MODEL_FROM_DATABASE=EZX GSM Phone (Storage)
+
+usb:v22B8p6101*
+ ID_MODEL_FROM_DATABASE=Talon integrated chipset
+
+usb:v22B8p6401*
+ ID_MODEL_FROM_DATABASE=Argon chipset
+
+usb:v22B8p6403*
+ ID_MODEL_FROM_DATABASE=Argon chipset flash
+
+usb:v22B8p6415*
+ ID_MODEL_FROM_DATABASE=ROKR Z6 (MTP mode)
+
+usb:v22B8p6604*
+ ID_MODEL_FROM_DATABASE=Washington CDMA Phone
+
+usb:v22B8p6631*
+ ID_MODEL_FROM_DATABASE=CDC Modem
+
+usb:v22B8p7001*
+ ID_MODEL_FROM_DATABASE=Q Smartphone
+
+usb:v22B8pFE01*
+ ID_MODEL_FROM_DATABASE=StarTAC III MS900
+
+usb:v22B9*
+ ID_VENDOR_FROM_DATABASE=eTurboTouch Technology, Inc.
+
+usb:v22B9p0006*
+ ID_MODEL_FROM_DATABASE=Touch Screen
+
+usb:v22BA*
+ ID_VENDOR_FROM_DATABASE=Technology Innovation Holdings, Ltd
+
+usb:v2304*
+ ID_VENDOR_FROM_DATABASE=Pinnacle Systems, Inc.
+
+usb:v2304p0109*
+ ID_MODEL_FROM_DATABASE=Studio PCTV USB (SECAM)
+
+usb:v2304p0110*
+ ID_MODEL_FROM_DATABASE=Studio PCTV USB (PAL)
+
+usb:v2304p0111*
+ ID_MODEL_FROM_DATABASE=Miro PCTV USB
+
+usb:v2304p0112*
+ ID_MODEL_FROM_DATABASE=Studio PCTV USB (NTSC) with FM radio
+
+usb:v2304p0201*
+ ID_MODEL_FROM_DATABASE=Systems MovieBox Device
+
+usb:v2304p0204*
+ ID_MODEL_FROM_DATABASE=MovieBox USB_B
+
+usb:v2304p0205*
+ ID_MODEL_FROM_DATABASE=DVC 150B
+
+usb:v2304p0206*
+ ID_MODEL_FROM_DATABASE=Systems MovieBox Deluxe Device
+
+usb:v2304p0207*
+ ID_MODEL_FROM_DATABASE=Dazzle DVC90 Video Device
+
+usb:v2304p0208*
+ ID_MODEL_FROM_DATABASE=Studio PCTV USB2
+
+usb:v2304p020E*
+ ID_MODEL_FROM_DATABASE=PCTV 200e
+
+usb:v2304p020F*
+ ID_MODEL_FROM_DATABASE=PCTV 400e BDA Device
+
+usb:v2304p0210*
+ ID_MODEL_FROM_DATABASE=Studio PCTV USB (PAL) with FM radio
+
+usb:v2304p0212*
+ ID_MODEL_FROM_DATABASE=Studio PCTV USB (NTSC)
+
+usb:v2304p0213*
+ ID_MODEL_FROM_DATABASE=500-USB Device
+
+usb:v2304p0214*
+ ID_MODEL_FROM_DATABASE=Studio PCTV USB (PAL) with FM radio
+
+usb:v2304p0216*
+ ID_MODEL_FROM_DATABASE=PCTV 60e
+
+usb:v2304p0219*
+ ID_MODEL_FROM_DATABASE=PCTV 260e
+
+usb:v2304p021A*
+ ID_MODEL_FROM_DATABASE=Dazzle DVC100 Audio Device
+
+usb:v2304p021B*
+ ID_MODEL_FROM_DATABASE=Dazzle DVC130/DVC170
+
+usb:v2304p021D*
+ ID_MODEL_FROM_DATABASE=Dazzle DVC130
+
+usb:v2304p021E*
+ ID_MODEL_FROM_DATABASE=Dazzle DVC170
+
+usb:v2304p021F*
+ ID_MODEL_FROM_DATABASE=PCTV Sat HDTV Pro BDA Device
+
+usb:v2304p0222*
+ ID_MODEL_FROM_DATABASE=PCTV Sat Pro BDA Device
+
+usb:v2304p0223*
+ ID_MODEL_FROM_DATABASE=DazzleTV Sat BDA Device
+
+usb:v2304p0225*
+ ID_MODEL_FROM_DATABASE=Remote Kit Infrared Transceiver
+
+usb:v2304p0226*
+ ID_MODEL_FROM_DATABASE=PCTV 330e
+
+usb:v2304p0227*
+ ID_MODEL_FROM_DATABASE=PCTV for Mac, HD Stick
+
+usb:v2304p0228*
+ ID_MODEL_FROM_DATABASE=PCTV DVB-T Flash Stick
+
+usb:v2304p0229*
+ ID_MODEL_FROM_DATABASE=PCTV Dual DVB-T 2001e
+
+usb:v2304p022A*
+ ID_MODEL_FROM_DATABASE=PCTV 160e
+
+usb:v2304p022B*
+ ID_MODEL_FROM_DATABASE=PCTV 71e [Afatech AF9015]
+
+usb:v2304p0232*
+ ID_MODEL_FROM_DATABASE=PCTV 170e
+
+usb:v2304p0236*
+ ID_MODEL_FROM_DATABASE=PCTV 72e [DiBcom DiB7000PC]
+
+usb:v2304p0237*
+ ID_MODEL_FROM_DATABASE=PCTV 73e [DiBcom DiB7000PC]
+
+usb:v2304p023A*
+ ID_MODEL_FROM_DATABASE=PCTV 801e
+
+usb:v2304p023B*
+ ID_MODEL_FROM_DATABASE=PCTV 801e SE
+
+usb:v2304p023D*
+ ID_MODEL_FROM_DATABASE=PCTV 340e
+
+usb:v2304p023E*
+ ID_MODEL_FROM_DATABASE=PCTV 340e SE
+
+usb:v2304p0300*
+ ID_MODEL_FROM_DATABASE=Studio Linx Video input cable (NTSC)
+
+usb:v2304p0301*
+ ID_MODEL_FROM_DATABASE=Studio Linx Video input cable (PAL)
+
+usb:v2304p0302*
+ ID_MODEL_FROM_DATABASE=Dazzle DVC120
+
+usb:v2304p0419*
+ ID_MODEL_FROM_DATABASE=PCTV Bungee USB (PAL) with FM radio
+
+usb:v2304p061D*
+ ID_MODEL_FROM_DATABASE=PCTV Deluxe (NTSC) Device
+
+usb:v2304p061E*
+ ID_MODEL_FROM_DATABASE=PCTV Deluxe (PAL) Device
+
+usb:v2318*
+ ID_VENDOR_FROM_DATABASE=Shining Technologies, Inc. [hex]
+
+usb:v2318p0011*
+ ID_MODEL_FROM_DATABASE=CitiDISK Jr. IDE Enclosure
+
+usb:v2341*
+ ID_VENDOR_FROM_DATABASE=Arduino SA
+
+usb:v2341p0001*
+ ID_MODEL_FROM_DATABASE=Uno (CDC ACM)
+
+usb:v2341p0010*
+ ID_MODEL_FROM_DATABASE=Mega 2560 (CDC ACM)
+
+usb:v2341p003B*
+ ID_MODEL_FROM_DATABASE=Serial Adapter (CDC ACM)
+
+usb:v2341p003F*
+ ID_MODEL_FROM_DATABASE=Mega ADK (CDC ACM)
+
+usb:v2341p0042*
+ ID_MODEL_FROM_DATABASE=Mega 2560 R3 (CDC ACM)
+
+usb:v2341p0043*
+ ID_MODEL_FROM_DATABASE=Uno R3 (CDC ACM)
+
+usb:v2341p0044*
+ ID_MODEL_FROM_DATABASE=Mega ADK R3 (CDC ACM)
+
+usb:v2341p0045*
+ ID_MODEL_FROM_DATABASE=Serial R3 (CDC ACM)
+
+usb:v2341p8036*
+ ID_MODEL_FROM_DATABASE=Leonardo (CDC ACM, HID)
+
+usb:v2373*
+ ID_VENDOR_FROM_DATABASE=Pumatronix Ltda
+
+usb:v2373p0001*
+ ID_MODEL_FROM_DATABASE=5 MegaPixel Digital Still Camera [DSC5M]
+
+usb:v2375*
+ ID_VENDOR_FROM_DATABASE=Digit@lway, Inc.
+
+usb:v2375p0001*
+ ID_MODEL_FROM_DATABASE=Digital Audio Player
+
+usb:v2406*
+ ID_VENDOR_FROM_DATABASE=SANHO Digital Electronics Co., Ltd.
+
+usb:v2406p6688*
+ ID_MODEL_FROM_DATABASE=PD7X Portable Storage
+
+usb:v2443*
+ ID_VENDOR_FROM_DATABASE=Aessent Technology Ltd
+
+usb:v2443p00DC*
+ ID_MODEL_FROM_DATABASE=aes220 FPGA Mini-Module
+
+usb:v2478*
+ ID_VENDOR_FROM_DATABASE=Tripp-Lite
+
+usb:v2478p2008*
+ ID_MODEL_FROM_DATABASE=U209-000-R Serial Port
+
+usb:v2632*
+ ID_VENDOR_FROM_DATABASE=TwinMOS
+
+usb:v2632p3209*
+ ID_MODEL_FROM_DATABASE=7-in-1 Card Reader
+
+usb:v2650*
+ ID_VENDOR_FROM_DATABASE=Electronics For Imaging, Inc. [hex]
+
+usb:v2659*
+ ID_VENDOR_FROM_DATABASE=Sundtek
+
+usb:v2659p1101*
+ ID_MODEL_FROM_DATABASE=TNT DVB-T/DAB/DAB+/FM
+
+usb:v2659p1201*
+ ID_MODEL_FROM_DATABASE=FM Transmitter/Receiver
+
+usb:v2659p1202*
+ ID_MODEL_FROM_DATABASE=MediaTV Analog/FM/DVB-T
+
+usb:v2659p1203*
+ ID_MODEL_FROM_DATABASE=MediaTV Analog/FM/DVB-T MiniPCIe
+
+usb:v2659p1204*
+ ID_MODEL_FROM_DATABASE=MediaTV Analog/FM/ATSC
+
+usb:v2659p1205*
+ ID_MODEL_FROM_DATABASE=SkyTV Ultimate V
+
+usb:v2659p1206*
+ ID_MODEL_FROM_DATABASE=MediaTV DVB-T MiniPCIe
+
+usb:v2659p1207*
+ ID_MODEL_FROM_DATABASE=Sundtek HD Capture
+
+usb:v2659p1208*
+ ID_MODEL_FROM_DATABASE=Sundtek SkyTV Ultimate III
+
+usb:v2659p1209*
+ ID_MODEL_FROM_DATABASE=MediaTV Analog/FM/ATSC MiniPCIe
+
+usb:v2659p1210*
+ ID_MODEL_FROM_DATABASE=MediaTV Pro III (EU)
+
+usb:v2659p1211*
+ ID_MODEL_FROM_DATABASE=MediaTV Pro III (US)
+
+usb:v2659p1212*
+ ID_MODEL_FROM_DATABASE=MediaTV Pro III MiniPCIe (EU)
+
+usb:v2659p1213*
+ ID_MODEL_FROM_DATABASE=MediaTV Pro III MiniPCIe (US)
+
+usb:v2730*
+ ID_VENDOR_FROM_DATABASE=Citizen
+
+usb:v2730p200F*
+ ID_MODEL_FROM_DATABASE=CT-S310 Label printer
+
+usb:v2735*
+ ID_VENDOR_FROM_DATABASE=DigitalWay
+
+usb:v2735p0003*
+ ID_MODEL_FROM_DATABASE=MPIO HS100
+
+usb:v2735p1001*
+ ID_MODEL_FROM_DATABASE=MPIO FY200
+
+usb:v2735p1002*
+ ID_MODEL_FROM_DATABASE=MPIO FL100
+
+usb:v2735p1003*
+ ID_MODEL_FROM_DATABASE=MPIO FD100
+
+usb:v2735p1004*
+ ID_MODEL_FROM_DATABASE=MPIO HD200
+
+usb:v2735p1005*
+ ID_MODEL_FROM_DATABASE=MPIO HD300
+
+usb:v2735p1006*
+ ID_MODEL_FROM_DATABASE=MPIO FG100
+
+usb:v2735p1007*
+ ID_MODEL_FROM_DATABASE=MPIO FG130
+
+usb:v2735p1008*
+ ID_MODEL_FROM_DATABASE=MPIO FY300
+
+usb:v2735p1009*
+ ID_MODEL_FROM_DATABASE=MPIO FY400
+
+usb:v2735p100A*
+ ID_MODEL_FROM_DATABASE=MPIO FL300
+
+usb:v2735p100B*
+ ID_MODEL_FROM_DATABASE=MPIO HS200
+
+usb:v2735p100C*
+ ID_MODEL_FROM_DATABASE=MPIO FL350
+
+usb:v2735p100D*
+ ID_MODEL_FROM_DATABASE=MPIO FY500
+
+usb:v2735p100E*
+ ID_MODEL_FROM_DATABASE=MPIO FY500
+
+usb:v2735p100F*
+ ID_MODEL_FROM_DATABASE=MPIO FY600
+
+usb:v2735p1012*
+ ID_MODEL_FROM_DATABASE=MPIO FL400
+
+usb:v2735p1013*
+ ID_MODEL_FROM_DATABASE=MPIO HD400
+
+usb:v2735p1014*
+ ID_MODEL_FROM_DATABASE=MPIO HD400
+
+usb:v2735p1016*
+ ID_MODEL_FROM_DATABASE=MPIO FY700
+
+usb:v2735p1017*
+ ID_MODEL_FROM_DATABASE=MPIO FY700
+
+usb:v2735p1018*
+ ID_MODEL_FROM_DATABASE=MPIO FY800
+
+usb:v2735p1019*
+ ID_MODEL_FROM_DATABASE=MPIO FY800
+
+usb:v2735p101A*
+ ID_MODEL_FROM_DATABASE=MPIO FY900
+
+usb:v2735p101B*
+ ID_MODEL_FROM_DATABASE=MPIO FY900
+
+usb:v2735p102B*
+ ID_MODEL_FROM_DATABASE=MPIO FL500
+
+usb:v2735p102C*
+ ID_MODEL_FROM_DATABASE=MPIO FL500
+
+usb:v2735p103F*
+ ID_MODEL_FROM_DATABASE=MPIO FY570
+
+usb:v2735p1040*
+ ID_MODEL_FROM_DATABASE=MPIO FY570
+
+usb:v2735p1041*
+ ID_MODEL_FROM_DATABASE=MPIO FY670
+
+usb:v2735p1042*
+ ID_MODEL_FROM_DATABASE=MPIO FY670
+
+usb:v2735p1043*
+ ID_MODEL_FROM_DATABASE=HCT HMD-180A
+
+usb:v2735p1044*
+ ID_MODEL_FROM_DATABASE=HCT HMD-180A
+
+usb:v2770*
+ ID_VENDOR_FROM_DATABASE=NHJ, Ltd
+
+usb:v2770p0A01*
+ ID_MODEL_FROM_DATABASE=ScanJet 4600 series
+
+usb:v2770p905C*
+ ID_MODEL_FROM_DATABASE=Che-Ez Snap SNAP-U/Digigr8/Soundstar TDC-35
+
+usb:v2770p9060*
+ ID_MODEL_FROM_DATABASE=A130
+
+usb:v2770p9120*
+ ID_MODEL_FROM_DATABASE=Che-ez! Snap / iClick Tiny VGA Digital Camera
+
+usb:v2770p9130*
+ ID_MODEL_FROM_DATABASE=TCG 501
+
+usb:v2770p913C*
+ ID_MODEL_FROM_DATABASE=Argus DC-1730
+
+usb:v2770p9150*
+ ID_MODEL_FROM_DATABASE=Mini Cam
+
+usb:v2770p9153*
+ ID_MODEL_FROM_DATABASE=iClick 5X
+
+usb:v2770p915D*
+ ID_MODEL_FROM_DATABASE=Cyberpix S-210S / Little Tikes My Real Digital Camera
+
+usb:v2770p930B*
+ ID_MODEL_FROM_DATABASE=CCD Webcam(PC370R)
+
+usb:v2770p930C*
+ ID_MODEL_FROM_DATABASE=CCD Webcam(PC370R)
+
+usb:v2821*
+ ID_VENDOR_FROM_DATABASE=ASUSTek Computer Inc.
+
+usb:v2821p0161*
+ ID_MODEL_FROM_DATABASE=WL-161 802.11b Wireless Adapter [SiS 162U]
+
+usb:v2821p160F*
+ ID_MODEL_FROM_DATABASE=WL-160g 802.11g Wireless Adapter [Envara WiND512]
+
+usb:v2821p3300*
+ ID_MODEL_FROM_DATABASE=WL-140 / Hawking HWU36D 802.11b Wireless Adapter [Intersil PRISM 3]
+
+usb:v2899*
+ ID_VENDOR_FROM_DATABASE=Toptronic Industrial Co., Ltd
+
+usb:v2899p012C*
+ ID_MODEL_FROM_DATABASE=Camera Device
+
+usb:v2C02*
+ ID_VENDOR_FROM_DATABASE=Planex Communications
+
+usb:v2C02p14EA*
+ ID_MODEL_FROM_DATABASE=GW-US11H WLAN
+
+usb:v2C1A*
+ ID_VENDOR_FROM_DATABASE=Dolphin Peripherals
+
+usb:v2C1Ap0000*
+ ID_MODEL_FROM_DATABASE=Wireless Optical Mouse
+
+usb:v2FB2*
+ ID_VENDOR_FROM_DATABASE=Fujitsu, Ltd
+
+usb:v3125*
+ ID_VENDOR_FROM_DATABASE=Eagletron
+
+usb:v3125p0001*
+ ID_MODEL_FROM_DATABASE=TrackerPod Camera Stand
+
+usb:v3176*
+ ID_VENDOR_FROM_DATABASE=Whanam Electronics Co., Ltd
+
+usb:v3275*
+ ID_VENDOR_FROM_DATABASE=VidzMedia Pte Ltd
+
+usb:v3275p4FB1*
+ ID_MODEL_FROM_DATABASE=MonsterTV P2H
+
+usb:v3334*
+ ID_VENDOR_FROM_DATABASE=AEI
+
+usb:v3334p1701*
+ ID_MODEL_FROM_DATABASE=Fast Ethernet
+
+usb:v3340*
+ ID_VENDOR_FROM_DATABASE=Yakumo
+
+usb:v3340p043A*
+ ID_MODEL_FROM_DATABASE=Mio A701 DigiWalker PPCPhone
+
+usb:v3340p0E3A*
+ ID_MODEL_FROM_DATABASE=Pocket PC 300 GPS SL / Typhoon MyGuide 3500
+
+usb:v3340pA0A3*
+ ID_MODEL_FROM_DATABASE=deltaX 5 BT (D) PDA
+
+usb:v3504*
+ ID_VENDOR_FROM_DATABASE=Micro Star
+
+usb:v3504pF110*
+ ID_MODEL_FROM_DATABASE=Security Key
+
+usb:v3538*
+ ID_VENDOR_FROM_DATABASE=Power Quotient International Co., Ltd
+
+usb:v3538p0001*
+ ID_MODEL_FROM_DATABASE=Travel Flash
+
+usb:v3538p0015*
+ ID_MODEL_FROM_DATABASE=Mass Storge Device
+
+usb:v3538p0022*
+ ID_MODEL_FROM_DATABASE=Hi-Speed Mass Storage Device
+
+usb:v3538p0042*
+ ID_MODEL_FROM_DATABASE=Cool Drive U339 Flash Disk
+
+usb:v3538p0054*
+ ID_MODEL_FROM_DATABASE=Flash Drive (2GB)
+
+usb:v3579*
+ ID_VENDOR_FROM_DATABASE=DIVA
+
+usb:v3579p6901*
+ ID_MODEL_FROM_DATABASE=Media Reader
+
+usb:v3636*
+ ID_VENDOR_FROM_DATABASE=InVibro
+
+usb:v3838*
+ ID_VENDOR_FROM_DATABASE=WEM
+
+usb:v3838p0001*
+ ID_MODEL_FROM_DATABASE=5-in-1 Card Reader
+
+usb:v3923*
+ ID_VENDOR_FROM_DATABASE=National Instruments Corp.
+
+usb:v3923p12C0*
+ ID_MODEL_FROM_DATABASE=DAQPad-6020E
+
+usb:v3923p12D0*
+ ID_MODEL_FROM_DATABASE=DAQPad-6507
+
+usb:v3923p12E0*
+ ID_MODEL_FROM_DATABASE=NI 4350
+
+usb:v3923p12F0*
+ ID_MODEL_FROM_DATABASE=NI 5102
+
+usb:v3923p1750*
+ ID_MODEL_FROM_DATABASE=DAQPad-6508
+
+usb:v3923p17B0*
+ ID_MODEL_FROM_DATABASE=USB-ISA-Bridge
+
+usb:v3923p1820*
+ ID_MODEL_FROM_DATABASE=DAQPad-6020E (68 pin I/O)
+
+usb:v3923p1830*
+ ID_MODEL_FROM_DATABASE=DAQPad-6020E (BNC)
+
+usb:v3923p1F00*
+ ID_MODEL_FROM_DATABASE=DAQPad-6024E
+
+usb:v3923p1F10*
+ ID_MODEL_FROM_DATABASE=DAQPad-6024E
+
+usb:v3923p1F20*
+ ID_MODEL_FROM_DATABASE=DAQPad-6025E
+
+usb:v3923p1F30*
+ ID_MODEL_FROM_DATABASE=DAQPad-6025E
+
+usb:v3923p1F40*
+ ID_MODEL_FROM_DATABASE=DAQPad-6036E
+
+usb:v3923p1F50*
+ ID_MODEL_FROM_DATABASE=DAQPad-6036E
+
+usb:v3923p2F80*
+ ID_MODEL_FROM_DATABASE=DAQPad-6052E
+
+usb:v3923p2F90*
+ ID_MODEL_FROM_DATABASE=DAQPad-6052E
+
+usb:v3923p702B*
+ ID_MODEL_FROM_DATABASE=GPIB-USB-B
+
+usb:v3923p703C*
+ ID_MODEL_FROM_DATABASE=USB-485 RS485 Cable
+
+usb:v3923p709B*
+ ID_MODEL_FROM_DATABASE=GPIB-USB-HS
+
+usb:v3923p7254*
+ ID_MODEL_FROM_DATABASE=NI MIO (data acquisition card) firmware updater
+
+usb:v3923p729E*
+ ID_MODEL_FROM_DATABASE=USB-6251 (OEM) data acquisition card
+
+usb:v40BB*
+ ID_VENDOR_FROM_DATABASE=I-O Data
+
+usb:v40BBp0A09*
+ ID_MODEL_FROM_DATABASE=USB2.0-SCSI Bridge USB2-SC
+
+usb:v4101*
+ ID_VENDOR_FROM_DATABASE=i-rocks
+
+usb:v4101p1301*
+ ID_MODEL_FROM_DATABASE=IR-2510 usb phone
+
+usb:v4102*
+ ID_VENDOR_FROM_DATABASE=iRiver, Ltd.
+
+usb:v4102p1001*
+ ID_MODEL_FROM_DATABASE=iFP-100 series mp3 player
+
+usb:v4102p1003*
+ ID_MODEL_FROM_DATABASE=iFP-300 series mp3 player
+
+usb:v4102p1005*
+ ID_MODEL_FROM_DATABASE=iFP-500 series mp3 player
+
+usb:v4102p1007*
+ ID_MODEL_FROM_DATABASE=iFP-700 series mp3/ogg vorbis player
+
+usb:v4102p1008*
+ ID_MODEL_FROM_DATABASE=iFP-800 series mp3/ogg vorbis player
+
+usb:v4102p100A*
+ ID_MODEL_FROM_DATABASE=iFP-1000 series mp3/ogg vorbis player
+
+usb:v4102p1014*
+ ID_MODEL_FROM_DATABASE=T20 series mp3/ogg vorbis player (ums firmware)
+
+usb:v4102p1019*
+ ID_MODEL_FROM_DATABASE=T30
+
+usb:v4102p1034*
+ ID_MODEL_FROM_DATABASE=T60
+
+usb:v4102p1040*
+ ID_MODEL_FROM_DATABASE=M1Player
+
+usb:v4102p1041*
+ ID_MODEL_FROM_DATABASE=E100 (ums)
+
+usb:v4102p1101*
+ ID_MODEL_FROM_DATABASE=iFP-100 series mp3 player (ums firmware)
+
+usb:v4102p1103*
+ ID_MODEL_FROM_DATABASE=iFP-300 series mp3 player (ums firmware)
+
+usb:v4102p1105*
+ ID_MODEL_FROM_DATABASE=iFP-500 series mp3 player (ums firmware)
+
+usb:v4102p1113*
+ ID_MODEL_FROM_DATABASE=T10 (alternate)
+
+usb:v4102p1117*
+ ID_MODEL_FROM_DATABASE=T10
+
+usb:v4102p1119*
+ ID_MODEL_FROM_DATABASE=T30 series mp3/ogg/wma player
+
+usb:v4102p1141*
+ ID_MODEL_FROM_DATABASE=E100 (mtp)
+
+usb:v4102p2002*
+ ID_MODEL_FROM_DATABASE=H10 6GB
+
+usb:v4102p2101*
+ ID_MODEL_FROM_DATABASE=H10 20GB (mtp)
+
+usb:v4102p2102*
+ ID_MODEL_FROM_DATABASE=H10 5GB (mtp)
+
+usb:v4102p2105*
+ ID_MODEL_FROM_DATABASE=H10 5/6GB (mtp)
+
+usb:v413C*
+ ID_VENDOR_FROM_DATABASE=Dell Computer Corp.
+
+usb:v413Cp0000*
+ ID_MODEL_FROM_DATABASE=DRAC 5 Virtual Keyboard and Mouse
+
+usb:v413Cp0001*
+ ID_MODEL_FROM_DATABASE=DRAC 5 Virtual Media
+
+usb:v413Cp0058*
+ ID_MODEL_FROM_DATABASE=Port Replicator
+
+usb:v413Cp1001*
+ ID_MODEL_FROM_DATABASE=Keyboard Hub
+
+usb:v413Cp1002*
+ ID_MODEL_FROM_DATABASE=Keyboard Hub
+
+usb:v413Cp1003*
+ ID_MODEL_FROM_DATABASE=Keyboard Hub
+
+usb:v413Cp1005*
+ ID_MODEL_FROM_DATABASE=Multimedia Pro Keyboard Hub
+
+usb:v413Cp2001*
+ ID_MODEL_FROM_DATABASE=Keyboard HID Support
+
+usb:v413Cp2002*
+ ID_MODEL_FROM_DATABASE=SK-8125 Keyboard
+
+usb:v413Cp2003*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v413Cp2005*
+ ID_MODEL_FROM_DATABASE=RT7D50 Keyboard
+
+usb:v413Cp2010*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v413Cp2011*
+ ID_MODEL_FROM_DATABASE=Multimedia Pro Keyboard
+
+usb:v413Cp2100*
+ ID_MODEL_FROM_DATABASE=SK-3106 Keyboard
+
+usb:v413Cp2101*
+ ID_MODEL_FROM_DATABASE=SmartCard Reader Keyboard
+
+usb:v413Cp2105*
+ ID_MODEL_FROM_DATABASE=Model L100 Keyboard
+
+usb:v413Cp2106*
+ ID_MODEL_FROM_DATABASE=Dell QuietKey Keyboard
+
+usb:v413Cp2500*
+ ID_MODEL_FROM_DATABASE=DRAC4 Remote Access Card
+
+usb:v413Cp2513*
+ ID_MODEL_FROM_DATABASE=internal USB Hub of E-Port Replicator
+
+usb:v413Cp3010*
+ ID_MODEL_FROM_DATABASE=Optical Wheel Mouse
+
+usb:v413Cp3012*
+ ID_MODEL_FROM_DATABASE=Optical Wheel Mouse
+
+usb:v413Cp3016*
+ ID_MODEL_FROM_DATABASE=Optical 5-Button Wheel Mouse
+
+usb:v413Cp3200*
+ ID_MODEL_FROM_DATABASE=Mouse
+
+usb:v413Cp4001*
+ ID_MODEL_FROM_DATABASE=Axim X5
+
+usb:v413Cp4002*
+ ID_MODEL_FROM_DATABASE=Axim X3
+
+usb:v413Cp4003*
+ ID_MODEL_FROM_DATABASE=Axim X30
+
+usb:v413Cp4004*
+ ID_MODEL_FROM_DATABASE=Axim Sync
+
+usb:v413Cp4005*
+ ID_MODEL_FROM_DATABASE=Axim Sync
+
+usb:v413Cp4006*
+ ID_MODEL_FROM_DATABASE=Axim Sync
+
+usb:v413Cp4007*
+ ID_MODEL_FROM_DATABASE=Axim Sync
+
+usb:v413Cp4008*
+ ID_MODEL_FROM_DATABASE=Axim Sync
+
+usb:v413Cp4009*
+ ID_MODEL_FROM_DATABASE=Axim Sync
+
+usb:v413Cp4011*
+ ID_MODEL_FROM_DATABASE=Axim X51v
+
+usb:v413Cp5103*
+ ID_MODEL_FROM_DATABASE=AIO Printer A940
+
+usb:v413Cp5105*
+ ID_MODEL_FROM_DATABASE=AIO Printer A920
+
+usb:v413Cp5107*
+ ID_MODEL_FROM_DATABASE=AIO Printer A960
+
+usb:v413Cp5109*
+ ID_MODEL_FROM_DATABASE=Photo AIO Printer 922
+
+usb:v413Cp5110*
+ ID_MODEL_FROM_DATABASE=Photo AIO Printer 962
+
+usb:v413Cp5111*
+ ID_MODEL_FROM_DATABASE=Photo AIO Printer 942
+
+usb:v413Cp5112*
+ ID_MODEL_FROM_DATABASE=Photo AIO Printer 924
+
+usb:v413Cp5113*
+ ID_MODEL_FROM_DATABASE=Photo AIO Printer 944
+
+usb:v413Cp5114*
+ ID_MODEL_FROM_DATABASE=Photo AIO Printer 964
+
+usb:v413Cp5115*
+ ID_MODEL_FROM_DATABASE=Photo AIO Printer 926
+
+usb:v413Cp5116*
+ ID_MODEL_FROM_DATABASE=AIO Printer 946
+
+usb:v413Cp5117*
+ ID_MODEL_FROM_DATABASE=Photo AIO Printer 966
+
+usb:v413Cp5118*
+ ID_MODEL_FROM_DATABASE=AIO 810
+
+usb:v413Cp5124*
+ ID_MODEL_FROM_DATABASE=Laser MFP 1815
+
+usb:v413Cp5128*
+ ID_MODEL_FROM_DATABASE=Photo AIO 928
+
+usb:v413Cp5200*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v413Cp5202*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v413Cp5203*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v413Cp5210*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v413Cp5211*
+ ID_MODEL_FROM_DATABASE=1110 Laser Printer
+
+usb:v413Cp5220*
+ ID_MODEL_FROM_DATABASE=Laser MFP 1600n
+
+usb:v413Cp5225*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v413Cp5226*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v413Cp5300*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v413Cp5400*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v413Cp5401*
+ ID_MODEL_FROM_DATABASE=Laser Printer
+
+usb:v413Cp5513*
+ ID_MODEL_FROM_DATABASE=WLA3310 Wireless Adapter [Intersil ISL3887]
+
+usb:v413Cp5601*
+ ID_MODEL_FROM_DATABASE=Laser Printer 3100cn
+
+usb:v413Cp5602*
+ ID_MODEL_FROM_DATABASE=Laser Printer 3000cn
+
+usb:v413Cp5631*
+ ID_MODEL_FROM_DATABASE=Laser Printer 5100cn
+
+usb:v413Cp5905*
+ ID_MODEL_FROM_DATABASE=Printing Support
+
+usb:v413Cp8000*
+ ID_MODEL_FROM_DATABASE=BC02 Bluetooth Adapter
+
+usb:v413Cp8010*
+ ID_MODEL_FROM_DATABASE=TrueMobile Bluetooth Module in
+
+usb:v413Cp8100*
+ ID_MODEL_FROM_DATABASE=TrueMobile 1180 802.11b Adapter [Intersil PRISM 3]
+
+usb:v413Cp8102*
+ ID_MODEL_FROM_DATABASE=TrueMobile 1300 802.11g Wireless Adapter [Intersil ISL3880]
+
+usb:v413Cp8103*
+ ID_MODEL_FROM_DATABASE=Wireless 350 Bluetooth
+
+usb:v413Cp8104*
+ ID_MODEL_FROM_DATABASE=Wireless 1450 Dual-band (802.11a/b/g) Adapter [Intersil ISL3887]
+
+usb:v413Cp8105*
+ ID_MODEL_FROM_DATABASE=U2 in HID - Driver
+
+usb:v413Cp8106*
+ ID_MODEL_FROM_DATABASE=Wireless 350 Bluetooth Internal Card in
+
+usb:v413Cp8110*
+ ID_MODEL_FROM_DATABASE=Wireless 3xx Bluetooth Internal Card
+
+usb:v413Cp8111*
+ ID_MODEL_FROM_DATABASE=Wireless 3xx Bluetooth Internal Card in
+
+usb:v413Cp8114*
+ ID_MODEL_FROM_DATABASE=Wireless 5700 Mobile Broadband (CDMA EV-DO) Minicard Modem
+
+usb:v413Cp8115*
+ ID_MODEL_FROM_DATABASE=Wireless 5500 Mobile Broadband (3G HSDPA) Minicard Modem
+
+usb:v413Cp8116*
+ ID_MODEL_FROM_DATABASE=Wireless 5505 Mobile Broadband (3G HSDPA) Minicard Modem
+
+usb:v413Cp8117*
+ ID_MODEL_FROM_DATABASE=Wireless 5700 Mobile Broadband (CDMA EV-DO) Expresscard Modem
+
+usb:v413Cp8118*
+ ID_MODEL_FROM_DATABASE=Wireless 5510 Mobile Broadband (3G HSDPA) Expresscard Status Port
+
+usb:v413Cp8120*
+ ID_MODEL_FROM_DATABASE=Bluetooth adapter
+
+usb:v413Cp8121*
+ ID_MODEL_FROM_DATABASE=Eastfold in HID
+
+usb:v413Cp8122*
+ ID_MODEL_FROM_DATABASE=Eastfold in DFU
+
+usb:v413Cp8123*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v413Cp8124*
+ ID_MODEL_FROM_DATABASE=eHome Infrared Receiver
+
+usb:v413Cp8126*
+ ID_MODEL_FROM_DATABASE=Wireless 355 Bluetooth
+
+usb:v413Cp8127*
+ ID_MODEL_FROM_DATABASE=Wireless 355 Module with Bluetooth 2.0 + EDR Technology.
+
+usb:v413Cp8128*
+ ID_MODEL_FROM_DATABASE=Wireless 5700-Sprint Mobile Broadband (CDMA EV-DO) Mini-Card Status Port
+
+usb:v413Cp8129*
+ ID_MODEL_FROM_DATABASE=Wireless 5700-Telus Mobile Broadband (CDMA EV-DO) Mini-Card Status Port
+
+usb:v413Cp8131*
+ ID_MODEL_FROM_DATABASE=Wireless 360 Bluetooth 2.0 + EDR module.
+
+usb:v413Cp8133*
+ ID_MODEL_FROM_DATABASE=Wireless 5720 VZW Mobile Broadband (EVDO Rev-A) Minicard GPS Port
+
+usb:v413Cp8134*
+ ID_MODEL_FROM_DATABASE=Wireless 5720 Sprint Mobile Broadband (EVDO Rev-A) Minicard Status Port
+
+usb:v413Cp8135*
+ ID_MODEL_FROM_DATABASE=Wireless 5720 TELUS Mobile Broadband (EVDO Rev-A) Minicard Diagnostics Port
+
+usb:v413Cp8136*
+ ID_MODEL_FROM_DATABASE=Wireless 5520 Cingular Mobile Broadband (3G HSDPA) Minicard Diagnostics Port
+
+usb:v413Cp8137*
+ ID_MODEL_FROM_DATABASE=Wireless 5520 Voda L Mobile Broadband (3G HSDPA) Minicard Status Port
+
+usb:v413Cp8138*
+ ID_MODEL_FROM_DATABASE=Wireless 5520 Voda I Mobile Broadband (3G HSDPA) Minicard EAP-SIM Port
+
+usb:v413Cp8140*
+ ID_MODEL_FROM_DATABASE=Wireless 360 Bluetooth
+
+usb:v413Cp8142*
+ ID_MODEL_FROM_DATABASE=Mobile 360 in DFU
+
+usb:v413Cp8147*
+ ID_MODEL_FROM_DATABASE=F3507g Mobile Broadband Module
+
+usb:v413Cp8156*
+ ID_MODEL_FROM_DATABASE=Wireless 370 Bluetooth Mini-card
+
+usb:v413Cp8157*
+ ID_MODEL_FROM_DATABASE=Integrated Keyboard
+
+usb:v413Cp8158*
+ ID_MODEL_FROM_DATABASE=Integrated Touchpad / Trackstick
+
+usb:v413Cp8160*
+ ID_MODEL_FROM_DATABASE=Wireless 365 Bluetooth
+
+usb:v413Cp8161*
+ ID_MODEL_FROM_DATABASE=Integrated Keyboard
+
+usb:v413Cp8162*
+ ID_MODEL_FROM_DATABASE=Integrated Touchpad [Synaptics]
+
+usb:v413Cp8171*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
+
+usb:v413Cp8172*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem
+
+usb:v413Cp8183*
+ ID_MODEL_FROM_DATABASE=F3607gw Mobile Broadband Module
+
+usb:v413Cp8184*
+ ID_MODEL_FROM_DATABASE=F3607gw v2 Mobile Broadband Module
+
+usb:v413Cp8185*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem (QDL mode)
+
+usb:v413Cp8186*
+ ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem
+
+usb:v413Cp8187*
+ ID_MODEL_FROM_DATABASE=DW375 Bluetooth Module
+
+usb:v413Cp8501*
+ ID_MODEL_FROM_DATABASE=Bluetooth Adapter
+
+usb:v413Cp9500*
+ ID_MODEL_FROM_DATABASE=USB CP210x UART Bridge Controller [DW700]
+
+usb:v413CpA001*
+ ID_MODEL_FROM_DATABASE=Hub
+
+usb:v413CpA005*
+ ID_MODEL_FROM_DATABASE=Internal 2.0 Hub
+
+usb:v413CpA700*
+ ID_MODEL_FROM_DATABASE=Hub (in 1905FP LCD Monitor)
+
+usb:v4146*
+ ID_VENDOR_FROM_DATABASE=USBest Technology
+
+usb:v4146p9281*
+ ID_MODEL_FROM_DATABASE=Iomega Micro Mini 128MB Flash Drive
+
+usb:v4146pBA01*
+ ID_MODEL_FROM_DATABASE=Intuix Flash Drive
+
+usb:v4242*
+ ID_VENDOR_FROM_DATABASE=USB Design by Example
+
+usb:v4242p4201*
+ ID_MODEL_FROM_DATABASE=Buttons and Lights HID device
+
+usb:v4242p4220*
+ ID_MODEL_FROM_DATABASE=Echo 1 Camera
+
+usb:v4317*
+ ID_VENDOR_FROM_DATABASE=Broadcom Corp.
+
+usb:v4317p0700*
+ ID_MODEL_FROM_DATABASE=U.S. Robotics USR5426 802.11g Adapter
+
+usb:v4317p0701*
+ ID_MODEL_FROM_DATABASE=U.S. Robotics USR5425 Wireless MAXg Adapter
+
+usb:v4317p0711*
+ ID_MODEL_FROM_DATABASE=Belkin F5D7051 v3000 802.11g
+
+usb:v4317p0720*
+ ID_MODEL_FROM_DATABASE=Dynex DX-BUSB
+
+usb:v4348*
+ ID_VENDOR_FROM_DATABASE=WinChipHead
+
+usb:v4348p5523*
+ ID_MODEL_FROM_DATABASE=USB->RS 232 adapter with Prolifec PL 2303 chipset
+
+usb:v4348p5537*
+ ID_MODEL_FROM_DATABASE=13.56Mhz RFID Card Reader and Writer
+
+usb:v4348p5584*
+ ID_MODEL_FROM_DATABASE=CH34x printer adapter cable
+
+usb:v4572*
+ ID_VENDOR_FROM_DATABASE=Shuttle, Inc.
+
+usb:v4572p4572*
+ ID_MODEL_FROM_DATABASE=Shuttle PN31 Remote
+
+usb:v4586*
+ ID_VENDOR_FROM_DATABASE=Panram
+
+usb:v4586p1026*
+ ID_MODEL_FROM_DATABASE=Crystal Bar Flash Drive
+
+usb:v4670*
+ ID_VENDOR_FROM_DATABASE=EMS Production
+
+usb:v4670p9394*
+ ID_MODEL_FROM_DATABASE=Game Cube USB Memory Adaptor 64M
+
+usb:v4752*
+ ID_VENDOR_FROM_DATABASE=Miditech
+
+usb:v4752p0011*
+ ID_MODEL_FROM_DATABASE=Midistart-2
+
+usb:v4757*
+ ID_VENDOR_FROM_DATABASE=GW Instek
+
+usb:v4757p2009*
+ ID_MODEL_FROM_DATABASE=PEL-2000 Series Electronic Load (CDC)
+
+usb:v4757p2010*
+ ID_MODEL_FROM_DATABASE=PEL-2000 Series Electronic Load (CDC)
+
+usb:v4766*
+ ID_VENDOR_FROM_DATABASE=Aceeca
+
+usb:v4766p0001*
+ ID_MODEL_FROM_DATABASE=MEZ1000 RDA
+
+usb:v4855*
+ ID_VENDOR_FROM_DATABASE=Memorex
+
+usb:v4855p7288*
+ ID_MODEL_FROM_DATABASE=Ultra Traveldrive 160G 2.5" HDD
+
+usb:v4971*
+ ID_VENDOR_FROM_DATABASE=SimpleTech
+
+usb:v4971pCB01*
+ ID_MODEL_FROM_DATABASE=SP-U25/120G
+
+usb:v4971pCE17*
+ ID_MODEL_FROM_DATABASE=1TB SimpleDrive II USB External Hard Drive
+
+usb:v4D46*
+ ID_VENDOR_FROM_DATABASE=Musical Fidelity
+
+usb:v4D46p0001*
+ ID_MODEL_FROM_DATABASE=V-Link
+
+usb:v4D46p0002*
+ ID_MODEL_FROM_DATABASE=V-DAC II
+
+usb:v5032*
+ ID_VENDOR_FROM_DATABASE=Grandtec
+
+usb:v5032p0BB8*
+ ID_MODEL_FROM_DATABASE=Grandtec USB1.1 DVB-T (cold)
+
+usb:v5032p0BB9*
+ ID_MODEL_FROM_DATABASE=Grandtec USB1.1 DVB-T (warm)
+
+usb:v5032p0FA0*
+ ID_MODEL_FROM_DATABASE=Grandtec USB1.1 DVB-T (cold)
+
+usb:v5032p0FA1*
+ ID_MODEL_FROM_DATABASE=Grandtec USB1.1 DVB-T (warm)
+
+usb:v5041*
+ ID_VENDOR_FROM_DATABASE=Linksys (?)
+
+usb:v5041p2234*
+ ID_MODEL_FROM_DATABASE=WUSB54G v1 802.11g Adapter [Intersil ISL3886]
+
+usb:v5041p2235*
+ ID_MODEL_FROM_DATABASE=WUSB54GP v1 802.11g Adapter [Intersil ISL3886]
+
+usb:v50C2*
+ ID_VENDOR_FROM_DATABASE=Averatec (?)
+
+usb:v50C2p4013*
+ ID_MODEL_FROM_DATABASE=WLAN Adapter
+
+usb:v5173*
+ ID_VENDOR_FROM_DATABASE=Sweex
+
+usb:v5173p1809*
+ ID_MODEL_FROM_DATABASE=ZD1211
+
+usb:v5219*
+ ID_VENDOR_FROM_DATABASE=I-Tetra
+
+usb:v5219p1001*
+ ID_MODEL_FROM_DATABASE=Cetus CDC Device
+
+usb:v5345*
+ ID_VENDOR_FROM_DATABASE=Owon
+
+usb:v5345p1234*
+ ID_MODEL_FROM_DATABASE=PDS6062T Oscilloscope
+
+usb:v544D*
+ ID_VENDOR_FROM_DATABASE=Transmeta Corp.
+
+usb:v5543*
+ ID_VENDOR_FROM_DATABASE=UC-Logic Technology Corp.
+
+usb:v5543p0002*
+ ID_MODEL_FROM_DATABASE=SuperPen WP3325U Tablet
+
+usb:v5543p0003*
+ ID_MODEL_FROM_DATABASE=Tablet WP4030U
+
+usb:v5543p0004*
+ ID_MODEL_FROM_DATABASE=Tablet WP5540U
+
+usb:v5543p0005*
+ ID_MODEL_FROM_DATABASE=Tablet WP8060U
+
+usb:v5543p0041*
+ ID_MODEL_FROM_DATABASE=Genius PenSketch 6x8 Tablet
+
+usb:v5543p0042*
+ ID_MODEL_FROM_DATABASE=Tablet PF1209
+
+usb:v5543p0064*
+ ID_MODEL_FROM_DATABASE=Aiptek HyperPen 10000U
+
+usb:v5555*
+ ID_VENDOR_FROM_DATABASE=Epiphan Systems Inc.
+
+usb:v5555p1110*
+ ID_MODEL_FROM_DATABASE=VGA2USB
+
+usb:v5555p1120*
+ ID_MODEL_FROM_DATABASE=KVM2USB
+
+usb:v5555p2222*
+ ID_MODEL_FROM_DATABASE=DVI2USB
+
+usb:v5555p3333*
+ ID_MODEL_FROM_DATABASE=VGA2USB Pro
+
+usb:v5555p3337*
+ ID_MODEL_FROM_DATABASE=KVM2USB Pro
+
+usb:v5555p3340*
+ ID_MODEL_FROM_DATABASE=VGA2USB LR
+
+usb:v5555p3344*
+ ID_MODEL_FROM_DATABASE=KVM2USB LR
+
+usb:v5555p3411*
+ ID_MODEL_FROM_DATABASE=DVI2USB Solo
+
+usb:v5555p3422*
+ ID_MODEL_FROM_DATABASE=DVI2USB Duo
+
+usb:v55AA*
+ ID_VENDOR_FROM_DATABASE=OnSpec Electronic, Inc.
+
+usb:v55AAp0015*
+ ID_MODEL_FROM_DATABASE=Hard Drive
+
+usb:v55AAp0102*
+ ID_MODEL_FROM_DATABASE=SuperDisk
+
+usb:v55AAp0103*
+ ID_MODEL_FROM_DATABASE=IDE Hard Drive
+
+usb:v55AAp0201*
+ ID_MODEL_FROM_DATABASE=DDI to Reader-19
+
+usb:v55AAp1234*
+ ID_MODEL_FROM_DATABASE=ATAPI Bridge
+
+usb:v55AApA103*
+ ID_MODEL_FROM_DATABASE=Sandisk SDDR-55 SmartMedia Card Reader
+
+usb:v55AApB000*
+ ID_MODEL_FROM_DATABASE=USB to CompactFlash Card Reader
+
+usb:v55AApB004*
+ ID_MODEL_FROM_DATABASE=OnSpec MMC/SD Reader/Writer
+
+usb:v55AApB00B*
+ ID_MODEL_FROM_DATABASE=USB to Memory Stick Card Reader
+
+usb:v55AApB00C*
+ ID_MODEL_FROM_DATABASE=USB to SmartMedia Card Reader
+
+usb:v55AApB012*
+ ID_MODEL_FROM_DATABASE=Mitsumi FA402M 8-in-2 Card Reader
+
+usb:v55AApB200*
+ ID_MODEL_FROM_DATABASE=Compact Flash Reader
+
+usb:v55AApB204*
+ ID_MODEL_FROM_DATABASE=MMC/ SD Reader
+
+usb:v55AApB207*
+ ID_MODEL_FROM_DATABASE=Memory Stick Reader
+
+usb:v5656*
+ ID_VENDOR_FROM_DATABASE=Uni-Trend Group Limited
+
+usb:v5656p0832*
+ ID_MODEL_FROM_DATABASE=UT2000/UT3000 Digital Storage Oscilloscope
+
+usb:v595A*
+ ID_VENDOR_FROM_DATABASE=IRTOUCHSYSTEMS Co. Ltd.
+
+usb:v595Ap0001*
+ ID_MODEL_FROM_DATABASE=Touchscreen
+
+usb:v5986*
+ ID_VENDOR_FROM_DATABASE=Acer, Inc
+
+usb:v5986p0100*
+ ID_MODEL_FROM_DATABASE=Orbicam
+
+usb:v5986p0101*
+ ID_MODEL_FROM_DATABASE=USB2.0 Camera
+
+usb:v5986p0102*
+ ID_MODEL_FROM_DATABASE=Crystal Eye Webcam
+
+usb:v5986p01A6*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam
+
+usb:v5986p01A7*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam
+
+usb:v5986p01A9*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam
+
+usb:v5986p0200*
+ ID_MODEL_FROM_DATABASE=OrbiCam
+
+usb:v5986p0203*
+ ID_MODEL_FROM_DATABASE=BisonCam NB Pro 1300
+
+usb:v5986p0241*
+ ID_MODEL_FROM_DATABASE=BisonCam, NB Pro
+
+usb:v5986p02D0*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam [R5U877]
+
+usb:v5986p03D0*
+ ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam [R5U877]
+
+usb:v5A57*
+ ID_VENDOR_FROM_DATABASE=Zinwell
+
+usb:v5A57p0260*
+ ID_MODEL_FROM_DATABASE=RT2570
+
+usb:v5A57p0280*
+ ID_MODEL_FROM_DATABASE=802.11a/b/g/n USB Wireless LAN Card
+
+usb:v5A57p0282*
+ ID_MODEL_FROM_DATABASE=802.11b/g/n USB Wireless LAN Card
+
+usb:v5A57p0283*
+ ID_MODEL_FROM_DATABASE=802.11b/g/n USB Wireless LAN Card
+
+usb:v5A57p0284*
+ ID_MODEL_FROM_DATABASE=802.11a/b/g/n USB Wireless LAN Card
+
+usb:v5A57p0290*
+ ID_MODEL_FROM_DATABASE=ZW-N290 802.11n [Realtek RTL8192SU]
+
+usb:v5A57p5257*
+ ID_MODEL_FROM_DATABASE=Metronic 495257 wifi 802.11ng
+
+usb:v6000*
+ ID_VENDOR_FROM_DATABASE=Beholder International Ltd.
+
+usb:v6000pDEC0*
+ ID_MODEL_FROM_DATABASE=TV Wander
+
+usb:v6000pDEC1*
+ ID_MODEL_FROM_DATABASE=TV Voyage
+
+usb:v601A*
+ ID_VENDOR_FROM_DATABASE=Ingenic Semiconductor Ltd.
+
+usb:v601Ap4740*
+ ID_MODEL_FROM_DATABASE=XBurst Jz4740 boot mode
+
+usb:v6189*
+ ID_VENDOR_FROM_DATABASE=Sitecom
+
+usb:v6189p182D*
+ ID_MODEL_FROM_DATABASE=USB 2.0 Ethernet
+
+usb:v6189p2068*
+ ID_MODEL_FROM_DATABASE=USB to serial cable (v2)
+
+usb:v6253*
+ ID_VENDOR_FROM_DATABASE=TwinHan Technology Co., Ltd
+
+usb:v6253p0100*
+ ID_MODEL_FROM_DATABASE=Ir reciver f. remote control
+
+usb:v636C*
+ ID_VENDOR_FROM_DATABASE=CoreLogic, Inc.
+
+usb:v6472*
+ ID_VENDOR_FROM_DATABASE=Unknown (Sony?)
+
+usb:v6472p01C8*
+ ID_MODEL_FROM_DATABASE=PlayStation Portable [Mass Storage]
+
+usb:v6547*
+ ID_VENDOR_FROM_DATABASE=Arkmicro Technologies Inc.
+
+usb:v6547p0232*
+ ID_MODEL_FROM_DATABASE=ARK3116 Serial
+
+usb:v6615*
+ ID_VENDOR_FROM_DATABASE=IRTOUCHSYSTEMS Co. Ltd.
+
+usb:v6615p0001*
+ ID_MODEL_FROM_DATABASE=Touchscreen
+
+usb:v6666*
+ ID_VENDOR_FROM_DATABASE=Prototype product Vendor ID
+
+usb:v6666p0667*
+ ID_MODEL_FROM_DATABASE=WiseGroup Smart Joy PSX, PS-PC Smart JoyPad
+
+usb:v6666p2667*
+ ID_MODEL_FROM_DATABASE=JCOP BlueZ Smartcard reader
+
+usb:v6666p8802*
+ ID_MODEL_FROM_DATABASE=SmartJoy Dual Plus PS2 converter
+
+usb:v6666p8804*
+ ID_MODEL_FROM_DATABASE=WiseGroup SuperJoy Box 5
+
+usb:v6677*
+ ID_VENDOR_FROM_DATABASE=WiseGroup, Ltd.
+
+usb:v6677p8802*
+ ID_MODEL_FROM_DATABASE=SmartJoy Dual Plus PS2 converter
+
+usb:v6677p8811*
+ ID_MODEL_FROM_DATABASE=Deluxe Dance Mat
+
+usb:v6891*
+ ID_VENDOR_FROM_DATABASE=3Com
+
+usb:v6891pA727*
+ ID_MODEL_FROM_DATABASE=3CRUSB10075 802.11bg [ZyDAS ZD1211]
+
+usb:v695C*
+ ID_VENDOR_FROM_DATABASE=Opera1
+
+usb:v695Cp3829*
+ ID_MODEL_FROM_DATABASE=Opera1 DVB-S (warm state)
+
+usb:v6993*
+ ID_VENDOR_FROM_DATABASE=Yealink Network Technology Co., Ltd.
+
+usb:v6993pB001*
+ ID_MODEL_FROM_DATABASE=VoIP Phone
+
+usb:v6A75*
+ ID_VENDOR_FROM_DATABASE=Shanghai Jujo Electronics Co., Ltd
+
+usb:v7104*
+ ID_VENDOR_FROM_DATABASE=CME (Central Music Co.)
+
+usb:v7104p2202*
+ ID_MODEL_FROM_DATABASE=UF5/UF6/UF7/UF8 MIDI Master Keyboard
+
+usb:v726C*
+ ID_VENDOR_FROM_DATABASE=StackFoundry LLC
+
+usb:v726Cp2149*
+ ID_MODEL_FROM_DATABASE=EntropyKing Random Number Generator
+
+usb:v734C*
+ ID_VENDOR_FROM_DATABASE=TBS Technologies China
+
+usb:v734Cp5920*
+ ID_MODEL_FROM_DATABASE=Q-Box II DVB-S2 HD
+
+usb:v734Cp5928*
+ ID_MODEL_FROM_DATABASE=Q-Box II DVB-S2 HD
+
+usb:v7392*
+ ID_VENDOR_FROM_DATABASE=Edimax Technology Co., Ltd
+
+usb:v7392p7711*
+ ID_MODEL_FROM_DATABASE=EW-7711UTn nLite Wireless Adapter [Ralink RT2870]
+
+usb:v7392p7717*
+ ID_MODEL_FROM_DATABASE=EW-7717UN 802.11n Wireless Adapter [Ralink RT2870]
+
+usb:v7392p7718*
+ ID_MODEL_FROM_DATABASE=EW-7718UN 802.11n Wireless Adapter [Ralink RT2870]
+
+usb:v7392p7722*
+ ID_MODEL_FROM_DATABASE=EW-7722UTn 802.11n Wireless Adapter [Ralink RT307x]
+
+usb:v7392p7811*
+ ID_MODEL_FROM_DATABASE=EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
+
+usb:v8086*
+ ID_VENDOR_FROM_DATABASE=Intel Corp.
+
+usb:v8086p0001*
+ ID_MODEL_FROM_DATABASE=AnyPoint (TM) Home Network 1.6 Mbps Wireless Adapter
+
+usb:v8086p0044*
+ ID_MODEL_FROM_DATABASE=CPU DRAM Controller
+
+usb:v8086p0046*
+ ID_MODEL_FROM_DATABASE=HD Graphics
+
+usb:v8086p0100*
+ ID_MODEL_FROM_DATABASE=Personal Audio Player 3000
+
+usb:v8086p0101*
+ ID_MODEL_FROM_DATABASE=Personal Audio Player 3000
+
+usb:v8086p0110*
+ ID_MODEL_FROM_DATABASE=Easy PC Camera
+
+usb:v8086p0120*
+ ID_MODEL_FROM_DATABASE=PC Camera CS120
+
+usb:v8086p0180*
+ ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m
+
+usb:v8086p0181*
+ ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m
+
+usb:v8086p0182*
+ ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m
+
+usb:v8086p0186*
+ ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m
+
+usb:v8086p0188*
+ ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m
+
+usb:v8086p0200*
+ ID_MODEL_FROM_DATABASE=AnyPoint(TM) Wireless II Network 11Mbps Adapter [Atmel AT76C503A]
+
+usb:v8086p0431*
+ ID_MODEL_FROM_DATABASE=Intel Pro Video PC Camera
+
+usb:v8086p0510*
+ ID_MODEL_FROM_DATABASE=Digital Movie Creator
+
+usb:v8086p0630*
+ ID_MODEL_FROM_DATABASE=Pocket PC Camera
+
+usb:v8086p0780*
+ ID_MODEL_FROM_DATABASE=CS780 Microphone Input
+
+usb:v8086p07D3*
+ ID_MODEL_FROM_DATABASE=BLOB boot loader firmware
+
+usb:v8086p0DAD*
+ ID_MODEL_FROM_DATABASE=Cherry MiniatureCard Keyboard
+
+usb:v8086p1010*
+ ID_MODEL_FROM_DATABASE=AnyPoint(TM) Home Network 10 Mbps Phoneline Adapter
+
+usb:v8086p110A*
+ ID_MODEL_FROM_DATABASE=Bluetooth Controller from (Ericsson P4A)
+
+usb:v8086p110B*
+ ID_MODEL_FROM_DATABASE=Bluetooth Controller from (Intel/CSR)
+
+usb:v8086p1110*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN Module
+
+usb:v8086p1111*
+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2011B 802.11b Adapter [Intersil PRISM 2.5]
+
+usb:v8086p1134*
+ ID_MODEL_FROM_DATABASE=Hollister Mobile Monitor
+
+usb:v8086p1139*
+ ID_MODEL_FROM_DATABASE=In-Target Probe (ITP)
+
+usb:v8086p1234*
+ ID_MODEL_FROM_DATABASE=Prototype Reader/Writer
+
+usb:v8086p1403*
+ ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m
+
+usb:v8086p1405*
+ ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m
+
+usb:v8086p1406*
+ ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m
+
+usb:v8086p2448*
+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge
+
+usb:v8086p3100*
+ ID_MODEL_FROM_DATABASE=PRO/DSL 3220 Modem - WAN
+
+usb:v8086p3101*
+ ID_MODEL_FROM_DATABASE=PRO/DSL 3220 Modem
+
+usb:v8086p3240*
+ ID_MODEL_FROM_DATABASE=AnyPoint® 3240 Modem - WAN
+
+usb:v8086p3241*
+ ID_MODEL_FROM_DATABASE=AnyPoint® 3240 Modem
+
+usb:v8086p8602*
+ ID_MODEL_FROM_DATABASE=Miniature Card Slot
+
+usb:v8086p9303*
+ ID_MODEL_FROM_DATABASE=Intel 8x930Hx Hub
+
+usb:v8086p9500*
+ ID_MODEL_FROM_DATABASE=CE 9500 DVB-T
+
+usb:v8086p9890*
+ ID_MODEL_FROM_DATABASE=82930 Test Board
+
+usb:v8086pBEEF*
+ ID_MODEL_FROM_DATABASE=SCM Miniature Card Reader/Writer
+
+usb:v8086pC013*
+ ID_MODEL_FROM_DATABASE=Wireless HID Station
+
+usb:v8086pF001*
+ ID_MODEL_FROM_DATABASE=XScale PXA27x Bulverde flash
+
+usb:v8086pF1A5*
+ ID_MODEL_FROM_DATABASE=Z-U130 [Value Solid State Drive]
+
+usb:v8087*
+ ID_VENDOR_FROM_DATABASE=Intel Corp.
+
+usb:v8087p0020*
+ ID_MODEL_FROM_DATABASE=Integrated Rate Matching Hub
+
+usb:v8087p0024*
+ ID_MODEL_FROM_DATABASE=Integrated Rate Matching Hub
+
+usb:v80EE*
+ ID_VENDOR_FROM_DATABASE=VirtualBox
+
+usb:v80EEp0021*
+ ID_MODEL_FROM_DATABASE=USB Tablet
+
+usb:v8282*
+ ID_VENDOR_FROM_DATABASE=Keio
+
+usb:v8282p3201*
+ ID_MODEL_FROM_DATABASE=Retro Adapter
+
+usb:v8282p3301*
+ ID_MODEL_FROM_DATABASE=Retro Adapter Mouse
+
+usb:v8341*
+ ID_VENDOR_FROM_DATABASE=EGO Systems, Inc.
+
+usb:v8341p2000*
+ ID_MODEL_FROM_DATABASE=Flashdisk
+
+usb:v9016*
+ ID_VENDOR_FROM_DATABASE=Sitecom
+
+usb:v9016p182D*
+ ID_MODEL_FROM_DATABASE=WL-022 802.11b Adapter
+
+usb:v9022*
+ ID_VENDOR_FROM_DATABASE=TeVii Technology Ltd.
+
+usb:v9022pD630*
+ ID_MODEL_FROM_DATABASE=DVB-S S630
+
+usb:v9022pD650*
+ ID_MODEL_FROM_DATABASE=DVB-S2 S650
+
+usb:v9022pD660*
+ ID_MODEL_FROM_DATABASE=DVB-S2 S660
+
+usb:v9148*
+ ID_VENDOR_FROM_DATABASE=GeoLab, Ltd
+
+usb:v9148p0004*
+ ID_MODEL_FROM_DATABASE=R3 Compatible Device
+
+usb:v9710*
+ ID_VENDOR_FROM_DATABASE=MosChip Semiconductor
+
+usb:v9710p7703*
+ ID_MODEL_FROM_DATABASE=MCS7703 Serial Port Adapter
+
+usb:v9710p7705*
+ ID_MODEL_FROM_DATABASE=MCS7705 Parallel port adapter
+
+usb:v9710p7715*
+ ID_MODEL_FROM_DATABASE=MCS7715 Parallel and serial port adapter
+
+usb:v9710p7717*
+ ID_MODEL_FROM_DATABASE=MCS7717 3-port hub with serial and parallel adapter
+
+usb:v9710p7720*
+ ID_MODEL_FROM_DATABASE=MCS7720 Dual serial port adapter
+
+usb:v9710p7730*
+ ID_MODEL_FROM_DATABASE=MCS7730 10/100 Mbps Ethernet adapter
+
+usb:v9710p7780*
+ ID_MODEL_FROM_DATABASE=MCS7780 4Mbps Fast IrDA Adapter
+
+usb:v9710p7830*
+ ID_MODEL_FROM_DATABASE=MCS7830 10/100 Mbps Ethernet adapter
+
+usb:v9710p7832*
+ ID_MODEL_FROM_DATABASE=MCS7832 10/100 Mbps Ethernet adapter
+
+usb:v9710p7840*
+ ID_MODEL_FROM_DATABASE=MCS7820/MCS7840 2/4 port serial adapter
+
+usb:v99FA*
+ ID_VENDOR_FROM_DATABASE=Grandtec
+
+usb:v99FAp8988*
+ ID_MODEL_FROM_DATABASE=V.cap Camera Device
+
+usb:v9AC4*
+ ID_VENDOR_FROM_DATABASE=J. Westhues
+
+usb:v9AC4p4B8F*
+ ID_MODEL_FROM_DATABASE=ProxMark-3 RFID Instrument
+
+usb:vA128*
+ ID_VENDOR_FROM_DATABASE=AnMo Electronics Corp. / Dino-Lite (?)
+
+usb:vA128p0610*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + HV7131R)
+
+usb:vA128p0611*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + HV7131R)
+
+usb:vA128p0612*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C120 + HV7131R)
+
+usb:vA128p0613*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + HV7131R)
+
+usb:vA128p0614*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)
+
+usb:vA128p0615*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)
+
+usb:vA128p0616*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C120 + HV7131R)
+
+usb:vA128p0617*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)
+
+usb:vA128p0618*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + HV7131R)
+
+usb:vA168*
+ ID_VENDOR_FROM_DATABASE=AnMo Electronics Corporation
+
+usb:vA168p0610*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope
+
+usb:vA168p0611*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope
+
+usb:vA168p0613*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope
+
+usb:vA168p0614*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Pro Digital Microscope
+
+usb:vA168p0615*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Pro Digital Microscope
+
+usb:vA168p0617*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Pro Digital Microscope
+
+usb:vA168p0618*
+ ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope
+
+usb:vA600*
+ ID_VENDOR_FROM_DATABASE=Asix
+
+usb:vA600pE110*
+ ID_MODEL_FROM_DATABASE=OK1ZIA Davac 4.x
+
+usb:vA727*
+ ID_VENDOR_FROM_DATABASE=3Com
+
+usb:vA727p6893*
+ ID_MODEL_FROM_DATABASE=3CRUSB20075 OfficeConnect Wireless 108Mbps 11g Adapter [Atheros AR5523]
+
+usb:vA727p6895*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:vA727p6897*
+ ID_MODEL_FROM_DATABASE=AR5523
+
+usb:vABCD*
+ ID_VENDOR_FROM_DATABASE=Unknown
+
+usb:vABCDpCDEE*
+ ID_MODEL_FROM_DATABASE=Petcam
+
+usb:vC251*
+ ID_VENDOR_FROM_DATABASE=Keil Software, Inc.
+
+usb:vC251p2710*
+ ID_MODEL_FROM_DATABASE=ULink
+
+usb:vCACE*
+ ID_VENDOR_FROM_DATABASE=CACE Technologies Inc.
+
+usb:vCACEp0002*
+ ID_MODEL_FROM_DATABASE=AirPCAP Classic 802.11 packet capture adapter
+
+usb:vCACEp0300*
+ ID_MODEL_FROM_DATABASE=AirPcap NX [Atheros AR9001U-(2)NG]
+
+usb:vD209*
+ ID_VENDOR_FROM_DATABASE=Ultimarc
+
+usb:vD209p0301*
+ ID_MODEL_FROM_DATABASE=I-PAC Arcade Control Interface
+
+usb:vD209p0501*
+ ID_MODEL_FROM_DATABASE=Ultra-Stik Ultimarc Ultra-Stik Player 1
+
+usb:vE4E4*
+ ID_VENDOR_FROM_DATABASE=Xorcom Ltd.
+
+usb:vE4E4p1130*
+ ID_MODEL_FROM_DATABASE=Astribank series
+
+usb:vE4E4p1131*
+ ID_MODEL_FROM_DATABASE=Astribank series
+
+usb:vE4E4p1132*
+ ID_MODEL_FROM_DATABASE=Astribank series
+
+usb:vE4E4p1140*
+ ID_MODEL_FROM_DATABASE=Astribank series
+
+usb:vE4E4p1141*
+ ID_MODEL_FROM_DATABASE=Astribank series
+
+usb:vE4E4p1142*
+ ID_MODEL_FROM_DATABASE=Astribank series
+
+usb:vE4E4p1150*
+ ID_MODEL_FROM_DATABASE=Astribank series
+
+usb:vE4E4p1151*
+ ID_MODEL_FROM_DATABASE=Astribank series
+
+usb:vE4E4p1152*
+ ID_MODEL_FROM_DATABASE=Astribank series
+
+usb:vE4E4p1160*
+ ID_MODEL_FROM_DATABASE=Astribank 2 series
+
+usb:vE4E4p1161*
+ ID_MODEL_FROM_DATABASE=Astribank 2 series
+
+usb:vE4E4p1162*
+ ID_MODEL_FROM_DATABASE=Astribank 2 series
+
+usb:vEB03*
+ ID_VENDOR_FROM_DATABASE=MakingThings
+
+usb:vEB03p0920*
+ ID_MODEL_FROM_DATABASE=Make Controller Kit
+
+usb:vEB1A*
+ ID_VENDOR_FROM_DATABASE=eMPIA Technology, Inc.
+
+usb:vEB1Ap17DE*
+ ID_MODEL_FROM_DATABASE=KWorld V-Stream XPERT DTV - DVB-T USB cold
+
+usb:vEB1Ap17DF*
+ ID_MODEL_FROM_DATABASE=KWorld V-Stream XPERT DTV - DVB-T USB warm
+
+usb:vEB1Ap2571*
+ ID_MODEL_FROM_DATABASE=M035 Compact Web Cam
+
+usb:vEB1Ap2710*
+ ID_MODEL_FROM_DATABASE=SilverCrest Webcam
+
+usb:vEB1Ap2750*
+ ID_MODEL_FROM_DATABASE=ECS Elitegroup G220 integrated Webcam
+
+usb:vEB1Ap2761*
+ ID_MODEL_FROM_DATABASE=EeePC 701 integrated Webcam
+
+usb:vEB1Ap2776*
+ ID_MODEL_FROM_DATABASE=Combined audio and video input device
+
+usb:vEB1Ap2800*
+ ID_MODEL_FROM_DATABASE=Terratec Cinergy 200
+
+usb:vEB1Ap2801*
+ ID_MODEL_FROM_DATABASE=GrabBeeX+ Video Encoder
+
+usb:vEB1Ap2863*
+ ID_MODEL_FROM_DATABASE=Video Grabber
+
+usb:vEB1Ap2870*
+ ID_MODEL_FROM_DATABASE=Pinnacle PCTV Stick
+
+usb:vEB1Ap2881*
+ ID_MODEL_FROM_DATABASE=EM2881 Video Controller
+
+usb:vEB1Ap50A3*
+ ID_MODEL_FROM_DATABASE=Gadmei UTV380 TV Box
+
+usb:vEB1Ap50A6*
+ ID_MODEL_FROM_DATABASE=Gadmei UTV330 TV Box
+
+usb:vEB1ApE355*
+ ID_MODEL_FROM_DATABASE=KWorld DVB-T 355U Digital TV Dongle
+
+usb:vEB2A*
+ ID_VENDOR_FROM_DATABASE=KWorld
+
+usb:vF003*
+ ID_VENDOR_FROM_DATABASE=Hewlett Packard
+
+usb:vF003p6002*
+ ID_MODEL_FROM_DATABASE=PhotoSmart C500
+
+usb:vF4EC*
+ ID_VENDOR_FROM_DATABASE=Atten Electronics / Siglent Technologies
+
+usb:vF4ECpEE38*
+ ID_MODEL_FROM_DATABASE=Digital Storage Oscilloscope
diff --git a/hwdb/20-usb-vendor-product.hwdb b/hwdb/20-usb-vendor-product.hwdb
deleted file mode 100644
index a9b5a7e5a3..0000000000
--- a/hwdb/20-usb-vendor-product.hwdb
+++ /dev/null
@@ -1,48138 +0,0 @@
-# This file is part of systemd.
-#
-# Data imported from: http://www.linux-usb.org/usb.ids
-
-usb:v0001*
- ID_VENDOR_FROM_DATABASE=Fry's Electronics
-
-usb:v0001p142B*
- ID_PRODUCT_FROM_DATABASE=Arbiter Systems, Inc.
-
-usb:v0001p7778*
- ID_PRODUCT_FROM_DATABASE=Counterfeit flash drive [Kingston]
-
-usb:v0002*
- ID_VENDOR_FROM_DATABASE=Ingram
-
-usb:v0003*
- ID_VENDOR_FROM_DATABASE=Club Mac
-
-usb:v0004*
- ID_VENDOR_FROM_DATABASE=Nebraska Furniture Mart
-
-usb:v0053*
- ID_VENDOR_FROM_DATABASE=Planex
-
-usb:v0053p5301*
- ID_PRODUCT_FROM_DATABASE=GW-US54ZGL 802.11bg
-
-usb:v0079*
- ID_VENDOR_FROM_DATABASE=DragonRise Inc.
-
-usb:v0079p0006*
- ID_PRODUCT_FROM_DATABASE=Generic USB Joystick
-
-usb:v0079p0011*
- ID_PRODUCT_FROM_DATABASE=Gamepad
-
-usb:v0105*
- ID_VENDOR_FROM_DATABASE=Trust International B.V.
-
-usb:v0105p145F*
- ID_PRODUCT_FROM_DATABASE=NW-3100 802.11b/g 54Mbps Wireless Network Adapter [zd1211]
-
-usb:v0145*
- ID_VENDOR_FROM_DATABASE=Unknown
-
-usb:v0145p0112*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v0204*
- ID_VENDOR_FROM_DATABASE=Chipsbank Microelectronics Co., Ltd
-
-usb:v0204p6025*
- ID_PRODUCT_FROM_DATABASE=CBM2080 Flash drive controller
-
-usb:v0204p6026*
- ID_PRODUCT_FROM_DATABASE=CBM1180 Flash drive controller
-
-usb:v0218*
- ID_VENDOR_FROM_DATABASE=Hangzhou Worlde
-
-usb:v0218p0301*
- ID_PRODUCT_FROM_DATABASE=MIDI Port
-
-usb:v02AD*
- ID_VENDOR_FROM_DATABASE=HUMAX Co., Ltd.
-
-usb:v02ADp138C*
- ID_PRODUCT_FROM_DATABASE=PVR Mass Storage
-
-usb:v0300*
- ID_VENDOR_FROM_DATABASE=MM300 eBook Reader
-
-usb:v0324*
- ID_VENDOR_FROM_DATABASE=OCZ Technology Inc
-
-usb:v0324pBC06*
- ID_PRODUCT_FROM_DATABASE=OCZ ATV USB 2.0 Flash Drive
-
-usb:v0324pBC08*
- ID_PRODUCT_FROM_DATABASE=OCZ Rally2/ATV USB 2.0 Flash Drive
-
-usb:v0325*
- ID_VENDOR_FROM_DATABASE=OCZ Technology Inc
-
-usb:v0325pAC02*
- ID_PRODUCT_FROM_DATABASE=ATV Turbo / Rally2 Dual Channel USB 2.0 Flash Drive
-
-usb:v0386*
- ID_VENDOR_FROM_DATABASE=LTS
-
-usb:v0386p0001*
- ID_PRODUCT_FROM_DATABASE=PSX for USB Converter
-
-usb:v03DA*
- ID_VENDOR_FROM_DATABASE=Bernd Walter Computer Technology
-
-usb:v03DAp0002*
- ID_PRODUCT_FROM_DATABASE=HD44780 LCD interface
-
-usb:v03E8*
- ID_VENDOR_FROM_DATABASE=EndPoints, Inc.
-
-usb:v03E8p0004*
- ID_PRODUCT_FROM_DATABASE=SE401 Webcam
-
-usb:v03E8p0008*
- ID_PRODUCT_FROM_DATABASE=101 Ethernet [klsi]
-
-usb:v03E8p0015*
- ID_PRODUCT_FROM_DATABASE=ATAPI Enclosure
-
-usb:v03E8p2123*
- ID_PRODUCT_FROM_DATABASE=SiPix StyleCam Deluxe
-
-usb:v03E8p8004*
- ID_PRODUCT_FROM_DATABASE=Aox 99001
-
-usb:v03E9*
- ID_VENDOR_FROM_DATABASE=Thesys Microelectronics
-
-usb:v03EA*
- ID_VENDOR_FROM_DATABASE=Data Broadcasting Corp.
-
-usb:v03EB*
- ID_VENDOR_FROM_DATABASE=Atmel Corp.
-
-usb:v03EBp0902*
- ID_PRODUCT_FROM_DATABASE=4-Port Hub
-
-usb:v03EBp2002*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v03EBp2015*
- ID_PRODUCT_FROM_DATABASE=at90usbkey sample firmware (HID keyboard)
-
-usb:v03EBp2018*
- ID_PRODUCT_FROM_DATABASE=at90usbkey sample firmware (CDC ACM)
-
-usb:v03EBp2019*
- ID_PRODUCT_FROM_DATABASE=stk525 sample firmware (microphone)
-
-usb:v03EBp201C*
- ID_PRODUCT_FROM_DATABASE=at90usbkey sample firmware (HID mouse)
-
-usb:v03EBp201D*
- ID_PRODUCT_FROM_DATABASE=at90usbkey sample firmware (HID generic)
-
-usb:v03EBp2022*
- ID_PRODUCT_FROM_DATABASE=at90usbkey sample firmware (composite device)
-
-usb:v03EBp2040*
- ID_PRODUCT_FROM_DATABASE=LUFA Test PID
-
-usb:v03EBp2041*
- ID_PRODUCT_FROM_DATABASE=LUFA Mouse Demo Application
-
-usb:v03EBp2042*
- ID_PRODUCT_FROM_DATABASE=LUFA Keyboard Demo Application
-
-usb:v03EBp2043*
- ID_PRODUCT_FROM_DATABASE=LUFA Joystick Demo Application
-
-usb:v03EBp2044*
- ID_PRODUCT_FROM_DATABASE=LUFA CDC Demo Application
-
-usb:v03EBp2045*
- ID_PRODUCT_FROM_DATABASE=LUFA Mass Storage Demo Application
-
-usb:v03EBp2046*
- ID_PRODUCT_FROM_DATABASE=LUFA Audio Output Demo Application
-
-usb:v03EBp2047*
- ID_PRODUCT_FROM_DATABASE=LUFA Audio Input Demo Application
-
-usb:v03EBp2048*
- ID_PRODUCT_FROM_DATABASE=LUFA MIDI Demo Application
-
-usb:v03EBp2049*
- ID_PRODUCT_FROM_DATABASE=Stripe Snoop Magnetic Stripe Reader
-
-usb:v03EBp204A*
- ID_PRODUCT_FROM_DATABASE=LUFA CDC Class Bootloader
-
-usb:v03EBp204B*
- ID_PRODUCT_FROM_DATABASE=LUFA USB to Serial Adapter Project
-
-usb:v03EBp204C*
- ID_PRODUCT_FROM_DATABASE=LUFA RNDIS Demo Application
-
-usb:v03EBp204D*
- ID_PRODUCT_FROM_DATABASE=LUFA Combined Mouse and Keyboard Demo Application
-
-usb:v03EBp204E*
- ID_PRODUCT_FROM_DATABASE=LUFA Dual CDC Demo Application
-
-usb:v03EBp204F*
- ID_PRODUCT_FROM_DATABASE=LUFA Generic HID Demo Application
-
-usb:v03EBp2060*
- ID_PRODUCT_FROM_DATABASE=Benito Programmer Project
-
-usb:v03EBp2061*
- ID_PRODUCT_FROM_DATABASE=LUFA Combined Mass Storage and Keyboard Demo Application
-
-usb:v03EBp2062*
- ID_PRODUCT_FROM_DATABASE=LUFA Combined CDC and Mouse Demo Application
-
-usb:v03EBp2063*
- ID_PRODUCT_FROM_DATABASE=LUFA Datalogger Device
-
-usb:v03EBp2064*
- ID_PRODUCT_FROM_DATABASE=Interfaceless Control-Only LUFA Devices
-
-usb:v03EBp2065*
- ID_PRODUCT_FROM_DATABASE=LUFA Test and Measurement Demo Application
-
-usb:v03EBp2066*
- ID_PRODUCT_FROM_DATABASE=LUFA Multiple Report HID Demo
-
-usb:v03EBp2068*
- ID_PRODUCT_FROM_DATABASE=LUFA Virtual Serial/Mass Storage Demo
-
-usb:v03EBp2069*
- ID_PRODUCT_FROM_DATABASE=LUFA Webserver Project
-
-usb:v03EBp2103*
- ID_PRODUCT_FROM_DATABASE=JTAG ICE mkII
-
-usb:v03EBp2104*
- ID_PRODUCT_FROM_DATABASE=AVR ISP mkII
-
-usb:v03EBp2105*
- ID_PRODUCT_FROM_DATABASE=AVRONE!
-
-usb:v03EBp2106*
- ID_PRODUCT_FROM_DATABASE=STK600 development board
-
-usb:v03EBp2107*
- ID_PRODUCT_FROM_DATABASE=AVR Dragon
-
-usb:v03EBp2109*
- ID_PRODUCT_FROM_DATABASE=STK541 ZigBee Development Board
-
-usb:v03EBp210D*
- ID_PRODUCT_FROM_DATABASE=XPLAIN evaluation kit (CDC ACM)
-
-usb:v03EBp2122*
- ID_PRODUCT_FROM_DATABASE=XMEGA-A1 Explained evaluation kit
-
-usb:v03EBp2310*
- ID_PRODUCT_FROM_DATABASE=EVK11xx evaluation board
-
-usb:v03EBp2FE4*
- ID_PRODUCT_FROM_DATABASE=ATxmega32A4U DFU bootloader
-
-usb:v03EBp2FFB*
- ID_PRODUCT_FROM_DATABASE=at90usb AVR DFU bootloader
-
-usb:v03EBp2FFD*
- ID_PRODUCT_FROM_DATABASE=at89c5130/c5131 DFU bootloader
-
-usb:v03EBp2FFF*
- ID_PRODUCT_FROM_DATABASE=at89c5132/c51snd1c DFU bootloader
-
-usb:v03EBp3301*
- ID_PRODUCT_FROM_DATABASE=at43301 4-Port Hub
-
-usb:v03EBp3312*
- ID_PRODUCT_FROM_DATABASE=4-Port Hub
-
-usb:v03EBp4102*
- ID_PRODUCT_FROM_DATABASE=AirVast W-Buddie WN210
-
-usb:v03EBp5601*
- ID_PRODUCT_FROM_DATABASE=at76c510 Prism-II 802.11b Access Point
-
-usb:v03EBp5603*
- ID_PRODUCT_FROM_DATABASE=Cisco 7920 WiFi IP Phone
-
-usb:v03EBp6119*
- ID_PRODUCT_FROM_DATABASE=AT91SAM CDC Demo Application
-
-usb:v03EBp6124*
- ID_PRODUCT_FROM_DATABASE=at91sam SAMBA bootloader
-
-usb:v03EBp6127*
- ID_PRODUCT_FROM_DATABASE=AT91SAM HID Keyboard Demo Application
-
-usb:v03EBp6129*
- ID_PRODUCT_FROM_DATABASE=AT91SAM Mass Storage Demo Application
-
-usb:v03EBp6200*
- ID_PRODUCT_FROM_DATABASE=AT91SAM HID Mouse Demo Application
-
-usb:v03EBp7603*
- ID_PRODUCT_FROM_DATABASE=D-Link DWL-120 802.11b Wireless Adapter [Atmel at76c503a]
-
-usb:v03EBp7604*
- ID_PRODUCT_FROM_DATABASE=at76c503a 802.11b Adapter
-
-usb:v03EBp7605*
- ID_PRODUCT_FROM_DATABASE=at76c503a 802.11b Adapter
-
-usb:v03EBp7606*
- ID_PRODUCT_FROM_DATABASE=at76c505 802.11b Adapter
-
-usb:v03EBp7611*
- ID_PRODUCT_FROM_DATABASE=at76c510 rfmd2948 802.11b Access Point
-
-usb:v03EBp7613*
- ID_PRODUCT_FROM_DATABASE=WL-1130 USB
-
-usb:v03EBp7614*
- ID_PRODUCT_FROM_DATABASE=AT76c505a Wireless Adapter
-
-usb:v03EBp7615*
- ID_PRODUCT_FROM_DATABASE=AT76C505AMX Wireless Adapter
-
-usb:v03EBp7617*
- ID_PRODUCT_FROM_DATABASE=AT76C505AS Wireless Adapter
-
-usb:v03EBp7800*
- ID_PRODUCT_FROM_DATABASE=Mini Album
-
-usb:v03EBpFF07*
- ID_PRODUCT_FROM_DATABASE=Tux Droid fish dongle
-
-usb:v03EC*
- ID_VENDOR_FROM_DATABASE=Iwatsu America, Inc.
-
-usb:v03ED*
- ID_VENDOR_FROM_DATABASE=Mitel Corp.
-
-usb:v03EE*
- ID_VENDOR_FROM_DATABASE=Mitsumi
-
-usb:v03EEp0000*
- ID_PRODUCT_FROM_DATABASE=CD-R/RW Drive
-
-usb:v03EEp2501*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v03EEp2502*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v03EEp5609*
- ID_PRODUCT_FROM_DATABASE=Japanese Keyboard
-
-usb:v03EEp641F*
- ID_PRODUCT_FROM_DATABASE=WIF-0402C Bluetooth Adapter
-
-usb:v03EEp6438*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v03EEp6440*
- ID_PRODUCT_FROM_DATABASE=WML-C52APR Bluetooth Adapter
-
-usb:v03EEp6901*
- ID_PRODUCT_FROM_DATABASE=SmartDisk FDD
-
-usb:v03EEp6902*
- ID_PRODUCT_FROM_DATABASE=Floppy Disk Drive
-
-usb:v03EEp7500*
- ID_PRODUCT_FROM_DATABASE=CD-R/RW
-
-usb:v03EEpFFFF*
- ID_PRODUCT_FROM_DATABASE=Dongle with BlueCore in DFU mode
-
-usb:v03F0*
- ID_VENDOR_FROM_DATABASE=Hewlett-Packard
-
-usb:v03F0p0004*
- ID_PRODUCT_FROM_DATABASE=DeskJet 895c
-
-usb:v03F0p0011*
- ID_PRODUCT_FROM_DATABASE=OfficeJet G55
-
-usb:v03F0p0012*
- ID_PRODUCT_FROM_DATABASE=DeskJet 1125C Printer Port
-
-usb:v03F0p0024*
- ID_PRODUCT_FROM_DATABASE=KU-0316 Keyboard
-
-usb:v03F0p002A*
- ID_PRODUCT_FROM_DATABASE=LaserJet P1102
-
-usb:v03F0p0101*
- ID_PRODUCT_FROM_DATABASE=ScanJet 4100c
-
-usb:v03F0p0102*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart S20
-
-usb:v03F0p0104*
- ID_PRODUCT_FROM_DATABASE=DeskJet 880c/970c
-
-usb:v03F0p0105*
- ID_PRODUCT_FROM_DATABASE=ScanJet 4200c
-
-usb:v03F0p0107*
- ID_PRODUCT_FROM_DATABASE=CD-Writer Plus
-
-usb:v03F0p010C*
- ID_PRODUCT_FROM_DATABASE=Multimedia Keyboard Hub
-
-usb:v03F0p0111*
- ID_PRODUCT_FROM_DATABASE=G55xi Printer/Scanner/Copier
-
-usb:v03F0p0117*
- ID_PRODUCT_FROM_DATABASE=LaserJet 3200
-
-usb:v03F0p011C*
- ID_PRODUCT_FROM_DATABASE=hn210w 802.11b Adapter
-
-usb:v03F0p011D*
- ID_PRODUCT_FROM_DATABASE=Bluetooth 1.2 Interface [Broadcom BCM2035]
-
-usb:v03F0p0121*
- ID_PRODUCT_FROM_DATABASE=HP49g+ Calculator
-
-usb:v03F0p0122*
- ID_PRODUCT_FROM_DATABASE=HID Internet Keyboard
-
-usb:v03F0p0201*
- ID_PRODUCT_FROM_DATABASE=ScanJet 6200c
-
-usb:v03F0p0202*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart S20
-
-usb:v03F0p0204*
- ID_PRODUCT_FROM_DATABASE=DeskJet 815c
-
-usb:v03F0p0205*
- ID_PRODUCT_FROM_DATABASE=ScanJet 3300c
-
-usb:v03F0p0207*
- ID_PRODUCT_FROM_DATABASE=CD-Writer Plus 8200e
-
-usb:v03F0p020C*
- ID_PRODUCT_FROM_DATABASE=Multimedia Keyboard
-
-usb:v03F0p0211*
- ID_PRODUCT_FROM_DATABASE=OfficeJet G85
-
-usb:v03F0p0212*
- ID_PRODUCT_FROM_DATABASE=DeskJet 1220C
-
-usb:v03F0p0217*
- ID_PRODUCT_FROM_DATABASE=LaserJet 2200
-
-usb:v03F0p0218*
- ID_PRODUCT_FROM_DATABASE=APOLLO P2500/2600
-
-usb:v03F0p0304*
- ID_PRODUCT_FROM_DATABASE=DeskJet 810c/812c
-
-usb:v03F0p0305*
- ID_PRODUCT_FROM_DATABASE=ScanJet 4300c
-
-usb:v03F0p0307*
- ID_PRODUCT_FROM_DATABASE=CD-Writer+ CD-4e
-
-usb:v03F0p0311*
- ID_PRODUCT_FROM_DATABASE=OfficeJet G85xi
-
-usb:v03F0p0312*
- ID_PRODUCT_FROM_DATABASE=Color Inkjet CP1700
-
-usb:v03F0p0314*
- ID_PRODUCT_FROM_DATABASE=designjet 30/130 series
-
-usb:v03F0p0317*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1200
-
-usb:v03F0p0324*
- ID_PRODUCT_FROM_DATABASE=SK-2885 keyboard
-
-usb:v03F0p0401*
- ID_PRODUCT_FROM_DATABASE=ScanJet 5200c
-
-usb:v03F0p0404*
- ID_PRODUCT_FROM_DATABASE=DeskJet 830c/832c
-
-usb:v03F0p0405*
- ID_PRODUCT_FROM_DATABASE=ScanJet 3400cse
-
-usb:v03F0p0411*
- ID_PRODUCT_FROM_DATABASE=OfficeJet G95
-
-usb:v03F0p0412*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v03F0p0417*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1200 series
-
-usb:v03F0p0423*
- ID_PRODUCT_FROM_DATABASE=HS-COMBO Cardreader
-
-usb:v03F0p0504*
- ID_PRODUCT_FROM_DATABASE=DeskJet 885c
-
-usb:v03F0p0505*
- ID_PRODUCT_FROM_DATABASE=ScanJet 2100c
-
-usb:v03F0p0507*
- ID_PRODUCT_FROM_DATABASE=DVD+RW
-
-usb:v03F0p050C*
- ID_PRODUCT_FROM_DATABASE=5219 Wireless Keyboard
-
-usb:v03F0p0511*
- ID_PRODUCT_FROM_DATABASE=OfficeJet K60
-
-usb:v03F0p0512*
- ID_PRODUCT_FROM_DATABASE=DeckJet 450
-
-usb:v03F0p0517*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1000
-
-usb:v03F0p051D*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Interface
-
-usb:v03F0p0601*
- ID_PRODUCT_FROM_DATABASE=ScanJet 6300c
-
-usb:v03F0p0604*
- ID_PRODUCT_FROM_DATABASE=DeskJet 840c
-
-usb:v03F0p0605*
- ID_PRODUCT_FROM_DATABASE=ScanJet 2200c
-
-usb:v03F0p0611*
- ID_PRODUCT_FROM_DATABASE=OfficeJet K60xi
-
-usb:v03F0p0612*
- ID_PRODUCT_FROM_DATABASE=business inkjet 3000
-
-usb:v03F0p0624*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle
-
-usb:v03F0p0701*
- ID_PRODUCT_FROM_DATABASE=ScanJet 5300c/5370c
-
-usb:v03F0p0704*
- ID_PRODUCT_FROM_DATABASE=DeskJet 825c
-
-usb:v03F0p0705*
- ID_PRODUCT_FROM_DATABASE=ScanJet 4400c
-
-usb:v03F0p0711*
- ID_PRODUCT_FROM_DATABASE=OfficeJet K80
-
-usb:v03F0p0712*
- ID_PRODUCT_FROM_DATABASE=DeskJet 1180c
-
-usb:v03F0p0714*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v03F0p0801*
- ID_PRODUCT_FROM_DATABASE=ScanJet 7400c
-
-usb:v03F0p0804*
- ID_PRODUCT_FROM_DATABASE=DeskJet 816c
-
-usb:v03F0p0805*
- ID_PRODUCT_FROM_DATABASE=HP4470C
-
-usb:v03F0p0811*
- ID_PRODUCT_FROM_DATABASE=OfficeJet K80xi
-
-usb:v03F0p0817*
- ID_PRODUCT_FROM_DATABASE=LaserJet 3300
-
-usb:v03F0p0901*
- ID_PRODUCT_FROM_DATABASE=ScanJet 2300c
-
-usb:v03F0p0904*
- ID_PRODUCT_FROM_DATABASE=DeskJet 845c
-
-usb:v03F0p0912*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v03F0p0917*
- ID_PRODUCT_FROM_DATABASE=LaserJet 3330
-
-usb:v03F0p0924*
- ID_PRODUCT_FROM_DATABASE=Modular Smartcard Keyboard
-
-usb:v03F0p0A01*
- ID_PRODUCT_FROM_DATABASE=ScanJet 2400c
-
-usb:v03F0p0A17*
- ID_PRODUCT_FROM_DATABASE=color LaserJet 3700
-
-usb:v03F0p0B01*
- ID_PRODUCT_FROM_DATABASE=ScanJet 82x0C
-
-usb:v03F0p0B0C*
- ID_PRODUCT_FROM_DATABASE=Wireless Keyboard and Optical Mouse receiver
-
-usb:v03F0p0B17*
- ID_PRODUCT_FROM_DATABASE=LaserJet 2300d
-
-usb:v03F0p0C17*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1010
-
-usb:v03F0p0C24*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle
-
-usb:v03F0p0D12*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 9100 series
-
-usb:v03F0p0D17*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1012
-
-usb:v03F0p0E17*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1015
-
-usb:v03F0p0F0C*
- ID_PRODUCT_FROM_DATABASE=Wireless Keyboard and Optical Mouse receiver
-
-usb:v03F0p0F11*
- ID_PRODUCT_FROM_DATABASE=OfficeJet V40
-
-usb:v03F0p0F12*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v03F0p0F17*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1150
-
-usb:v03F0p1001*
- ID_PRODUCT_FROM_DATABASE=Photo Scanner 1000
-
-usb:v03F0p1002*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 140 series
-
-usb:v03F0p1004*
- ID_PRODUCT_FROM_DATABASE=DeskJet 970c/970cse
-
-usb:v03F0p1005*
- ID_PRODUCT_FROM_DATABASE=ScanJet 5400c
-
-usb:v03F0p1011*
- ID_PRODUCT_FROM_DATABASE=OfficeJet V40xi
-
-usb:v03F0p1016*
- ID_PRODUCT_FROM_DATABASE=Jornada 548 / iPAQ HW6515 Pocket PC
-
-usb:v03F0p1017*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1300
-
-usb:v03F0p1024*
- ID_PRODUCT_FROM_DATABASE=Smart Card Keyboard
-
-usb:v03F0p1027*
- ID_PRODUCT_FROM_DATABASE=Virtual keyboard and mouse
-
-usb:v03F0p1102*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 240 series
-
-usb:v03F0p1104*
- ID_PRODUCT_FROM_DATABASE=DeskJet 959c
-
-usb:v03F0p1105*
- ID_PRODUCT_FROM_DATABASE=ScanJet 5470c/5490c
-
-usb:v03F0p1111*
- ID_PRODUCT_FROM_DATABASE=OfficeJet v60
-
-usb:v03F0p1116*
- ID_PRODUCT_FROM_DATABASE=Jornada 568 Pocket PC
-
-usb:v03F0p1117*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1300n
-
-usb:v03F0p1151*
- ID_PRODUCT_FROM_DATABASE=PSC-750xi Printer/Scanner/Copier
-
-usb:v03F0p1202*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 320 series
-
-usb:v03F0p1204*
- ID_PRODUCT_FROM_DATABASE=DeskJet 930c
-
-usb:v03F0p1205*
- ID_PRODUCT_FROM_DATABASE=ScanJet 4500C/5550C
-
-usb:v03F0p1211*
- ID_PRODUCT_FROM_DATABASE=OfficeJet v60xi
-
-usb:v03F0p1217*
- ID_PRODUCT_FROM_DATABASE=LaserJet 2300L
-
-usb:v03F0p1302*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 370 series
-
-usb:v03F0p1305*
- ID_PRODUCT_FROM_DATABASE=ScanJet 4570c
-
-usb:v03F0p1311*
- ID_PRODUCT_FROM_DATABASE=OfficeJet V30
-
-usb:v03F0p1312*
- ID_PRODUCT_FROM_DATABASE=DeskJet 460
-
-usb:v03F0p1317*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1005
-
-usb:v03F0p1327*
- ID_PRODUCT_FROM_DATABASE=iLO Virtual Hub
-
-usb:v03F0p1405*
- ID_PRODUCT_FROM_DATABASE=ScanJet 3670
-
-usb:v03F0p1411*
- ID_PRODUCT_FROM_DATABASE=PSC 750
-
-usb:v03F0p1424*
- ID_PRODUCT_FROM_DATABASE=f2105 Monitor Hub
-
-usb:v03F0p1502*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 420 series
-
-usb:v03F0p1504*
- ID_PRODUCT_FROM_DATABASE=DeskJet 920c
-
-usb:v03F0p150C*
- ID_PRODUCT_FROM_DATABASE=Mood Lighting (Microchip Technology Inc.)
-
-usb:v03F0p1511*
- ID_PRODUCT_FROM_DATABASE=PSC 750xi
-
-usb:v03F0p1512*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v03F0p1517*
- ID_PRODUCT_FROM_DATABASE=color LaserJet 3500
-
-usb:v03F0p1524*
- ID_PRODUCT_FROM_DATABASE=Smart Card Keyboard - KR
-
-usb:v03F0p1602*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 330 series
-
-usb:v03F0p1604*
- ID_PRODUCT_FROM_DATABASE=DeskJet 940c
-
-usb:v03F0p1605*
- ID_PRODUCT_FROM_DATABASE=ScanJet 5530C PhotoSmart
-
-usb:v03F0p1611*
- ID_PRODUCT_FROM_DATABASE=psc 780
-
-usb:v03F0p1617*
- ID_PRODUCT_FROM_DATABASE=LaserJet 3015
-
-usb:v03F0p161D*
- ID_PRODUCT_FROM_DATABASE=Wireless Rechargeable Optical Mouse (HID)
-
-usb:v03F0p1624*
- ID_PRODUCT_FROM_DATABASE=Smart Card Keyboard - JP
-
-usb:v03F0p1702*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 380 series
-
-usb:v03F0p1704*
- ID_PRODUCT_FROM_DATABASE=DeskJet 948C
-
-usb:v03F0p1705*
- ID_PRODUCT_FROM_DATABASE=ScanJet 5590
-
-usb:v03F0p1711*
- ID_PRODUCT_FROM_DATABASE=psc 780xi
-
-usb:v03F0p1712*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v03F0p1717*
- ID_PRODUCT_FROM_DATABASE=LaserJet 3020
-
-usb:v03F0p171D*
- ID_PRODUCT_FROM_DATABASE=Bluetooth 2.0 Interface [Broadcom BCM2045]
-
-usb:v03F0p1801*
- ID_PRODUCT_FROM_DATABASE=Inkjet P-2000U
-
-usb:v03F0p1802*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 470 series
-
-usb:v03F0p1804*
- ID_PRODUCT_FROM_DATABASE=DeskJet 916C
-
-usb:v03F0p1805*
- ID_PRODUCT_FROM_DATABASE=ScanJet 7650
-
-usb:v03F0p1811*
- ID_PRODUCT_FROM_DATABASE=PSC 720
-
-usb:v03F0p1812*
- ID_PRODUCT_FROM_DATABASE=OfficeJet Pro K550
-
-usb:v03F0p1817*
- ID_PRODUCT_FROM_DATABASE=LaserJet 3030
-
-usb:v03F0p181D*
- ID_PRODUCT_FROM_DATABASE=Bluetooth 2.0 Interface
-
-usb:v03F0p1902*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart A430 series
-
-usb:v03F0p1904*
- ID_PRODUCT_FROM_DATABASE=DeskJet 3820
-
-usb:v03F0p1911*
- ID_PRODUCT_FROM_DATABASE=OfficeJet V45
-
-usb:v03F0p1917*
- ID_PRODUCT_FROM_DATABASE=LaserJet 3380
-
-usb:v03F0p1A02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart A510 series
-
-usb:v03F0p1A11*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 5100 series
-
-usb:v03F0p1A17*
- ID_PRODUCT_FROM_DATABASE=color LaserJet 4650
-
-usb:v03F0p1B02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart A610 series
-
-usb:v03F0p1B04*
- ID_PRODUCT_FROM_DATABASE=DeskJet 3810
-
-usb:v03F0p1B05*
- ID_PRODUCT_FROM_DATABASE=ScanJet 4850C/4890C
-
-usb:v03F0p1B07*
- ID_PRODUCT_FROM_DATABASE=Premium Starter Webcam
-
-usb:v03F0p1C02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart A710 series
-
-usb:v03F0p1C17*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet 2550l
-
-usb:v03F0p1D02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart A310 series
-
-usb:v03F0p1D17*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1320
-
-usb:v03F0p1E02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart A320 Printer series
-
-usb:v03F0p1E11*
- ID_PRODUCT_FROM_DATABASE=PSC-950
-
-usb:v03F0p1E17*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1160 series
-
-usb:v03F0p1F02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart A440 Printer series
-
-usb:v03F0p1F11*
- ID_PRODUCT_FROM_DATABASE=PSC 920
-
-usb:v03F0p1F12*
- ID_PRODUCT_FROM_DATABASE=OfficeJet Pro K5300
-
-usb:v03F0p1F17*
- ID_PRODUCT_FROM_DATABASE=color LaserJet 5550
-
-usb:v03F0p1F1D*
- ID_PRODUCT_FROM_DATABASE=un2400 Gobi Wireless Modem
-
-usb:v03F0p2001*
- ID_PRODUCT_FROM_DATABASE=Floppy
-
-usb:v03F0p2002*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v03F0p2004*
- ID_PRODUCT_FROM_DATABASE=DeskJet 640c
-
-usb:v03F0p2005*
- ID_PRODUCT_FROM_DATABASE=ScanJet 3570c
-
-usb:v03F0p2012*
- ID_PRODUCT_FROM_DATABASE=OfficeJet Pro K5400
-
-usb:v03F0p201D*
- ID_PRODUCT_FROM_DATABASE=un2400 Gobi Wireless Modem (QDL mode)
-
-usb:v03F0p2102*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7345
-
-usb:v03F0p2104*
- ID_PRODUCT_FROM_DATABASE=DeskJet 630c
-
-usb:v03F0p2112*
- ID_PRODUCT_FROM_DATABASE=OfficeJet Pro L7500
-
-usb:v03F0p211D*
- ID_PRODUCT_FROM_DATABASE=Sierra MC5725 [ev2210]
-
-usb:v03F0p2202*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7600 series
-
-usb:v03F0p2205*
- ID_PRODUCT_FROM_DATABASE=ScanJet 3500c
-
-usb:v03F0p2212*
- ID_PRODUCT_FROM_DATABASE=OfficeJet Pro L7600
-
-usb:v03F0p2217*
- ID_PRODUCT_FROM_DATABASE=color LaserJet 9500 MFP
-
-usb:v03F0p2302*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7600 series
-
-usb:v03F0p2304*
- ID_PRODUCT_FROM_DATABASE=DeskJet 656c
-
-usb:v03F0p2305*
- ID_PRODUCT_FROM_DATABASE=ScanJet 3970c
-
-usb:v03F0p2311*
- ID_PRODUCT_FROM_DATABASE=OfficeJet d series
-
-usb:v03F0p2312*
- ID_PRODUCT_FROM_DATABASE=OfficeJet Pro L7700
-
-usb:v03F0p2317*
- ID_PRODUCT_FROM_DATABASE=LaserJet 4350
-
-usb:v03F0p231D*
- ID_PRODUCT_FROM_DATABASE=4 GB Flash Drive
-
-usb:v03F0p2402*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7700 series
-
-usb:v03F0p2404*
- ID_PRODUCT_FROM_DATABASE=Deskjet F2280 series
-
-usb:v03F0p2405*
- ID_PRODUCT_FROM_DATABASE=ScanJet 4070 PhotoSmart
-
-usb:v03F0p2417*
- ID_PRODUCT_FROM_DATABASE=LaserJet 4250
-
-usb:v03F0p241D*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem (QDL mode)
-
-usb:v03F0p2424*
- ID_PRODUCT_FROM_DATABASE=LP1965 19" Monitor Hub
-
-usb:v03F0p2502*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7700 series
-
-usb:v03F0p2504*
- ID_PRODUCT_FROM_DATABASE=DeskJet F4200 series
-
-usb:v03F0p2505*
- ID_PRODUCT_FROM_DATABASE=ScanJet 3770
-
-usb:v03F0p2512*
- ID_PRODUCT_FROM_DATABASE=OfficeJet Pro L7300
-
-usb:v03F0p2517*
- ID_PRODUCT_FROM_DATABASE=LaserJet 2410
-
-usb:v03F0p251D*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem
-
-usb:v03F0p2524*
- ID_PRODUCT_FROM_DATABASE=LP3065 30" Monitor Hub
-
-usb:v03F0p2602*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart A520 series
-
-usb:v03F0p2605*
- ID_PRODUCT_FROM_DATABASE=ScanJet 3800c
-
-usb:v03F0p2611*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 7100 series
-
-usb:v03F0p2617*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet 2820 series
-
-usb:v03F0p2624*
- ID_PRODUCT_FROM_DATABASE=Pole Display (HP522 2 x 20 Line Display)
-
-usb:v03F0p2702*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart A620 series
-
-usb:v03F0p2704*
- ID_PRODUCT_FROM_DATABASE=DeskJet 915
-
-usb:v03F0p2717*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet 2830
-
-usb:v03F0p2811*
- ID_PRODUCT_FROM_DATABASE=PSC-2100
-
-usb:v03F0p2817*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet 2840
-
-usb:v03F0p2902*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart A820 series
-
-usb:v03F0p2911*
- ID_PRODUCT_FROM_DATABASE=PSC 2200
-
-usb:v03F0p2917*
- ID_PRODUCT_FROM_DATABASE=LaserJet 2420
-
-usb:v03F0p2A11*
- ID_PRODUCT_FROM_DATABASE=PSC 2150 series
-
-usb:v03F0p2A17*
- ID_PRODUCT_FROM_DATABASE=LaserJet 2430
-
-usb:v03F0p2B11*
- ID_PRODUCT_FROM_DATABASE=PSC 2170 series
-
-usb:v03F0p2B17*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1020
-
-usb:v03F0p2C12*
- ID_PRODUCT_FROM_DATABASE=Officejet J4680
-
-usb:v03F0p2C17*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1022
-
-usb:v03F0p2C24*
- ID_PRODUCT_FROM_DATABASE=Logitech M-UAL-96 Mouse
-
-usb:v03F0p2D05*
- ID_PRODUCT_FROM_DATABASE=Scanjet 7000
-
-usb:v03F0p2D11*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 6110
-
-usb:v03F0p2D17*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v03F0p2E11*
- ID_PRODUCT_FROM_DATABASE=PSC 1000
-
-usb:v03F0p2E17*
- ID_PRODUCT_FROM_DATABASE=LaserJet 2600n
-
-usb:v03F0p2E24*
- ID_PRODUCT_FROM_DATABASE=LP2275w Monitor Hub
-
-usb:v03F0p2F11*
- ID_PRODUCT_FROM_DATABASE=PSC 1200
-
-usb:v03F0p2F17*
- ID_PRODUCT_FROM_DATABASE=EWS 2605dn
-
-usb:v03F0p2F24*
- ID_PRODUCT_FROM_DATABASE=LP2475w Monitor Hub
-
-usb:v03F0p3002*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart P1000
-
-usb:v03F0p3004*
- ID_PRODUCT_FROM_DATABASE=DeskJet 980c
-
-usb:v03F0p3005*
- ID_PRODUCT_FROM_DATABASE=ScanJet 4670v
-
-usb:v03F0p3011*
- ID_PRODUCT_FROM_DATABASE=PSC 1100 series
-
-usb:v03F0p3017*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v03F0p3102*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart P1100 Printer w/ Card Reader
-
-usb:v03F0p3104*
- ID_PRODUCT_FROM_DATABASE=DeskJet 960c
-
-usb:v03F0p3111*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 4100 series
-
-usb:v03F0p3117*
- ID_PRODUCT_FROM_DATABASE=EWS 2605dtn
-
-usb:v03F0p311D*
- ID_PRODUCT_FROM_DATABASE=Atheros AR9285 Malbec Bluetooth Adapter
-
-usb:v03F0p3202*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 1215
-
-usb:v03F0p3207*
- ID_PRODUCT_FROM_DATABASE=4 GB flash drive
-
-usb:v03F0p3211*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 4105 series
-
-usb:v03F0p3217*
- ID_PRODUCT_FROM_DATABASE=LaserJet 3050
-
-usb:v03F0p3302*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 1218
-
-usb:v03F0p3304*
- ID_PRODUCT_FROM_DATABASE=DeskJet 990c
-
-usb:v03F0p3312*
- ID_PRODUCT_FROM_DATABASE=OfficeJet J6410
-
-usb:v03F0p3317*
- ID_PRODUCT_FROM_DATABASE=LaserJet 3052
-
-usb:v03F0p3402*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 1115
-
-usb:v03F0p3404*
- ID_PRODUCT_FROM_DATABASE=DeskJet 6122
-
-usb:v03F0p3417*
- ID_PRODUCT_FROM_DATABASE=LaserJet 3055
-
-usb:v03F0p3502*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 230
-
-usb:v03F0p3504*
- ID_PRODUCT_FROM_DATABASE=DeskJet 6127c
-
-usb:v03F0p3511*
- ID_PRODUCT_FROM_DATABASE=PSC 2300
-
-usb:v03F0p3517*
- ID_PRODUCT_FROM_DATABASE=LaserJet 3390
-
-usb:v03F0p3602*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 1315
-
-usb:v03F0p3611*
- ID_PRODUCT_FROM_DATABASE=PSC 2410 PhotoSmart
-
-usb:v03F0p3617*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet 2605
-
-usb:v03F0p3711*
- ID_PRODUCT_FROM_DATABASE=PSC 2500
-
-usb:v03F0p3717*
- ID_PRODUCT_FROM_DATABASE=EWS UPD
-
-usb:v03F0p3724*
- ID_PRODUCT_FROM_DATABASE=Webcam
-
-usb:v03F0p3802*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 100
-
-usb:v03F0p3807*
- ID_PRODUCT_FROM_DATABASE=c485w Flash Drive
-
-usb:v03F0p3817*
- ID_PRODUCT_FROM_DATABASE=LaserJet P2015 series
-
-usb:v03F0p3902*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 130
-
-usb:v03F0p3A02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7150
-
-usb:v03F0p3A11*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 5500 series
-
-usb:v03F0p3A17*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v03F0p3B02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7150~
-
-usb:v03F0p3B11*
- ID_PRODUCT_FROM_DATABASE=PSC 1300 series
-
-usb:v03F0p3B17*
- ID_PRODUCT_FROM_DATABASE=LaserJet M1005 MFP
-
-usb:v03F0p3C02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7350
-
-usb:v03F0p3C11*
- ID_PRODUCT_FROM_DATABASE=PSC 1358
-
-usb:v03F0p3C17*
- ID_PRODUCT_FROM_DATABASE=EWS UPD
-
-usb:v03F0p3D02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7350~
-
-usb:v03F0p3D11*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 4215
-
-usb:v03F0p3D17*
- ID_PRODUCT_FROM_DATABASE=LaserJet P1005
-
-usb:v03F0p3E02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7550
-
-usb:v03F0p3E17*
- ID_PRODUCT_FROM_DATABASE=LaserJet P1006
-
-usb:v03F0p3F02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7550~
-
-usb:v03F0p3F11*
- ID_PRODUCT_FROM_DATABASE=PSC-1315/PSC-1317
-
-usb:v03F0p4002*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 635/715/720/735/935 (storage)
-
-usb:v03F0p4004*
- ID_PRODUCT_FROM_DATABASE=cp1160
-
-usb:v03F0p4102*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 618
-
-usb:v03F0p4105*
- ID_PRODUCT_FROM_DATABASE=ScanJet 4370
-
-usb:v03F0p4111*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 7200 series
-
-usb:v03F0p4117*
- ID_PRODUCT_FROM_DATABASE=LaserJet 1018
-
-usb:v03F0p4202*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 812
-
-usb:v03F0p4205*
- ID_PRODUCT_FROM_DATABASE=ScanJet G3010
-
-usb:v03F0p4211*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 7300 series
-
-usb:v03F0p4217*
- ID_PRODUCT_FROM_DATABASE=EWS CM1015
-
-usb:v03F0p4302*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 850 (ptp)
-
-usb:v03F0p4305*
- ID_PRODUCT_FROM_DATABASE=ScanJet G3110
-
-usb:v03F0p4311*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 7400 series
-
-usb:v03F0p4317*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet CM1017
-
-usb:v03F0p4402*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 935 (ptp)
-
-usb:v03F0p4417*
- ID_PRODUCT_FROM_DATABASE=EWS UPD
-
-usb:v03F0p4502*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 945 (PTP mode)
-
-usb:v03F0p4505*
- ID_PRODUCT_FROM_DATABASE=ScanJet G4010
-
-usb:v03F0p4511*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 2600
-
-usb:v03F0p4512*
- ID_PRODUCT_FROM_DATABASE=E709n [Officejet 6500 Wireless]
-
-usb:v03F0p4517*
- ID_PRODUCT_FROM_DATABASE=EWS UPD
-
-usb:v03F0p4605*
- ID_PRODUCT_FROM_DATABASE=ScanJet G4050
-
-usb:v03F0p4611*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 2700
-
-usb:v03F0p4717*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet CP1215
-
-usb:v03F0p4811*
- ID_PRODUCT_FROM_DATABASE=PSC 1600
-
-usb:v03F0p4911*
- ID_PRODUCT_FROM_DATABASE=PSC 2350
-
-usb:v03F0p4B11*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 6200
-
-usb:v03F0p4C11*
- ID_PRODUCT_FROM_DATABASE=PSC 1500 series
-
-usb:v03F0p4C17*
- ID_PRODUCT_FROM_DATABASE=EWS UPD
-
-usb:v03F0p4D11*
- ID_PRODUCT_FROM_DATABASE=PSC 1400
-
-usb:v03F0p4D17*
- ID_PRODUCT_FROM_DATABASE=EWS UPD
-
-usb:v03F0p4E11*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 2570 series
-
-usb:v03F0p4F11*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 5600 (USBHUB)
-
-usb:v03F0p4F17*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet CM1312 MFP
-
-usb:v03F0p5004*
- ID_PRODUCT_FROM_DATABASE=DeskJet 995c
-
-usb:v03F0p5011*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 3100 series
-
-usb:v03F0p5017*
- ID_PRODUCT_FROM_DATABASE=EWS UPD
-
-usb:v03F0p5111*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 3200 series
-
-usb:v03F0p5211*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 3300 series
-
-usb:v03F0p5311*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 6300
-
-usb:v03F0p5312*
- ID_PRODUCT_FROM_DATABASE=Officejet Pro 8500A
-
-usb:v03F0p5411*
- ID_PRODUCT_FROM_DATABASE=OfficeJet 4300
-
-usb:v03F0p5511*
- ID_PRODUCT_FROM_DATABASE=DeskJet F300 series
-
-usb:v03F0p5611*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart C3180
-
-usb:v03F0p5617*
- ID_PRODUCT_FROM_DATABASE=LaserJet M1120 MFP
-
-usb:v03F0p5711*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart C4100 series
-
-usb:v03F0p5717*
- ID_PRODUCT_FROM_DATABASE=LaserJet M1120n MFP
-
-usb:v03F0p5811*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart C5100 series
-
-usb:v03F0p5817*
- ID_PRODUCT_FROM_DATABASE=LaserJet M1319f MFP
-
-usb:v03F0p5911*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart C6180
-
-usb:v03F0p5A11*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart C7100 series
-
-usb:v03F0p5B11*
- ID_PRODUCT_FROM_DATABASE=OfficeJet J2100 series
-
-usb:v03F0p5C11*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart C4200 Printer series
-
-usb:v03F0p5C17*
- ID_PRODUCT_FROM_DATABASE=LaserJet P2055 series
-
-usb:v03F0p5D11*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart C5200 series
-
-usb:v03F0p5E11*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart D7400 series
-
-usb:v03F0p6004*
- ID_PRODUCT_FROM_DATABASE=DeskJet 5550
-
-usb:v03F0p6102*
- ID_PRODUCT_FROM_DATABASE=Hewlett Packard Digital Camera
-
-usb:v03F0p6104*
- ID_PRODUCT_FROM_DATABASE=DeskJet 5650c
-
-usb:v03F0p6117*
- ID_PRODUCT_FROM_DATABASE=color LaserJet 3550
-
-usb:v03F0p6202*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 215
-
-usb:v03F0p6204*
- ID_PRODUCT_FROM_DATABASE=DeskJet 5150c
-
-usb:v03F0p6217*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet 4700
-
-usb:v03F0p6302*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 318/612
-
-usb:v03F0p6317*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet 4730mfp
-
-usb:v03F0p6402*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 715 (ptp)
-
-usb:v03F0p6411*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart C8100 series
-
-usb:v03F0p6417*
- ID_PRODUCT_FROM_DATABASE=LaserJet 5200
-
-usb:v03F0p6502*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 120 (ptp)
-
-usb:v03F0p6511*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart C7200 series
-
-usb:v03F0p6602*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 320
-
-usb:v03F0p6611*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart C4380 series
-
-usb:v03F0p6617*
- ID_PRODUCT_FROM_DATABASE=LaserJet 5200L
-
-usb:v03F0p6702*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 720 (ptp)
-
-usb:v03F0p6717*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet 3000
-
-usb:v03F0p6802*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 620 (ptp)
-
-usb:v03F0p6811*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart D5300 series
-
-usb:v03F0p6817*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet 3800
-
-usb:v03F0p6911*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart D7200 series
-
-usb:v03F0p6917*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet 3600
-
-usb:v03F0p6A02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 735 (ptp)
-
-usb:v03F0p6A11*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart C6200 series
-
-usb:v03F0p6A17*
- ID_PRODUCT_FROM_DATABASE=LaserJet 4240
-
-usb:v03F0p6B02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart R707 (PTP mode)
-
-usb:v03F0p6B11*
- ID_PRODUCT_FROM_DATABASE=Photosmart C4500 series
-
-usb:v03F0p6C17*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet 4610
-
-usb:v03F0p6F17*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet CP6015 series
-
-usb:v03F0p7004*
- ID_PRODUCT_FROM_DATABASE=DeskJet 3320c
-
-usb:v03F0p7102*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 635 (PTP mode)
-
-usb:v03F0p7104*
- ID_PRODUCT_FROM_DATABASE=DeskJet 3420c
-
-usb:v03F0p7117*
- ID_PRODUCT_FROM_DATABASE=CM8060 Color MFP with Edgeline Technology
-
-usb:v03F0p7202*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 43x (ptp)
-
-usb:v03F0p7204*
- ID_PRODUCT_FROM_DATABASE=DeskJet 36xx
-
-usb:v03F0p7217*
- ID_PRODUCT_FROM_DATABASE=LaserJet M5035 MFP
-
-usb:v03F0p7302*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart M307 (PTP mode)
-
-usb:v03F0p7304*
- ID_PRODUCT_FROM_DATABASE=DeskJet 35xx
-
-usb:v03F0p7311*
- ID_PRODUCT_FROM_DATABASE=Photosmart Premium C309
-
-usb:v03F0p7317*
- ID_PRODUCT_FROM_DATABASE=LaserJet P3005
-
-usb:v03F0p7404*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v03F0p7417*
- ID_PRODUCT_FROM_DATABASE=LaserJet M4345 MFP
-
-usb:v03F0p7504*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v03F0p7517*
- ID_PRODUCT_FROM_DATABASE=LaserJet M3035 MFP
-
-usb:v03F0p7604*
- ID_PRODUCT_FROM_DATABASE=DeskJet 3940
-
-usb:v03F0p7611*
- ID_PRODUCT_FROM_DATABASE=DeskJet F2492 All-in-One
-
-usb:v03F0p7617*
- ID_PRODUCT_FROM_DATABASE=LaserJet P3004
-
-usb:v03F0p7702*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart R817 (PTP mode)
-
-usb:v03F0p7704*
- ID_PRODUCT_FROM_DATABASE=DeskJet D4100
-
-usb:v03F0p7717*
- ID_PRODUCT_FROM_DATABASE=CM8050 Color MFP with Edgeline Technology
-
-usb:v03F0p7804*
- ID_PRODUCT_FROM_DATABASE=DeskJet D1360
-
-usb:v03F0p7817*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet CP3505
-
-usb:v03F0p7917*
- ID_PRODUCT_FROM_DATABASE=LaserJet M5025 MFP
-
-usb:v03F0p7A02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart M415 (PTP mode)
-
-usb:v03F0p7A04*
- ID_PRODUCT_FROM_DATABASE=DeskJet D2460
-
-usb:v03F0p7A17*
- ID_PRODUCT_FROM_DATABASE=LaserJet M3027 MFP
-
-usb:v03F0p7B02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart M23 (PTP mode)
-
-usb:v03F0p7B17*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet CP4005
-
-usb:v03F0p7C17*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet CM6040 series
-
-usb:v03F0p7D04*
- ID_PRODUCT_FROM_DATABASE=DeskJet F2100 Printer series
-
-usb:v03F0p7D17*
- ID_PRODUCT_FROM_DATABASE=Color LaserJet CM4730 MFP
-
-usb:v03F0p7E04*
- ID_PRODUCT_FROM_DATABASE=DeskJet F4100 Printer series
-
-usb:v03F0p8017*
- ID_PRODUCT_FROM_DATABASE=LaserJet P4515
-
-usb:v03F0p8104*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v03F0p8117*
- ID_PRODUCT_FROM_DATABASE=LaserJet P4015
-
-usb:v03F0p811C*
- ID_PRODUCT_FROM_DATABASE=Ethernet HN210E
-
-usb:v03F0p8204*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v03F0p8207*
- ID_PRODUCT_FROM_DATABASE=FHA-3510 2.4GHz Wireless Optical Mobile Mouse
-
-usb:v03F0p8217*
- ID_PRODUCT_FROM_DATABASE=LaserJet P4014
-
-usb:v03F0p8317*
- ID_PRODUCT_FROM_DATABASE=LaserJet M9050 MFP
-
-usb:v03F0p8404*
- ID_PRODUCT_FROM_DATABASE=DeskJet 6800 series
-
-usb:v03F0p8417*
- ID_PRODUCT_FROM_DATABASE=LaserJet M9040 MFP
-
-usb:v03F0p8504*
- ID_PRODUCT_FROM_DATABASE=DeskJet 6600 series
-
-usb:v03F0p8604*
- ID_PRODUCT_FROM_DATABASE=DeskJet 5440
-
-usb:v03F0p8704*
- ID_PRODUCT_FROM_DATABASE=DeskJet 5940
-
-usb:v03F0p8711*
- ID_PRODUCT_FROM_DATABASE=Deskjet 2050 J510
-
-usb:v03F0p8804*
- ID_PRODUCT_FROM_DATABASE=DeskJet 6980 series
-
-usb:v03F0p8904*
- ID_PRODUCT_FROM_DATABASE=DeskJet 6940 series
-
-usb:v03F0p8C07*
- ID_PRODUCT_FROM_DATABASE=Digital Stereo Headset
-
-usb:v03F0p8C11*
- ID_PRODUCT_FROM_DATABASE=Deskjet F4500 series
-
-usb:v03F0p9002*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart M437
-
-usb:v03F0p9102*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart M537
-
-usb:v03F0p9302*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart R930 series
-
-usb:v03F0p9402*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart R837
-
-usb:v03F0p9502*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart R840 series
-
-usb:v03F0p9602*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart M730 series
-
-usb:v03F0p9702*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart R740 series
-
-usb:v03F0p9802*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart Mz60 series
-
-usb:v03F0p9902*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart M630 series
-
-usb:v03F0p9A02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart E330 series
-
-usb:v03F0p9B02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart M540 series
-
-usb:v03F0p9C02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart M440 series
-
-usb:v03F0pA004*
- ID_PRODUCT_FROM_DATABASE=DeskJet 5850c
-
-usb:v03F0pA011*
- ID_PRODUCT_FROM_DATABASE=Deskjet 3050A
-
-usb:v03F0pB002*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7200 series
-
-usb:v03F0pB102*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7200 series
-
-usb:v03F0pB107*
- ID_PRODUCT_FROM_DATABASE=v255w/c310w Flash Drive
-
-usb:v03F0pB116*
- ID_PRODUCT_FROM_DATABASE=Webcam
-
-usb:v03F0pB202*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7600 series
-
-usb:v03F0pB302*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7600 series
-
-usb:v03F0pB402*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7700 series
-
-usb:v03F0pB502*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7700 series
-
-usb:v03F0pB602*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7900 series
-
-usb:v03F0pB702*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7900 series
-
-usb:v03F0pB802*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7400 series
-
-usb:v03F0pB902*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7800 series
-
-usb:v03F0pBA02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 8100 series
-
-usb:v03F0pBB02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 8400 series
-
-usb:v03F0pBC02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 8700 series
-
-usb:v03F0pBD02*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart Pro B9100 series
-
-usb:v03F0pBEF4*
- ID_PRODUCT_FROM_DATABASE=NEC Picty760
-
-usb:v03F0pC002*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 7800 series
-
-usb:v03F0pC102*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 8000 series
-
-usb:v03F0pC202*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart 8200 series
-
-usb:v03F0pC302*
- ID_PRODUCT_FROM_DATABASE=DeskJet D2300
-
-usb:v03F0pC402*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart D5100 series
-
-usb:v03F0pC502*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart D6100 series
-
-usb:v03F0pC602*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart D7100 series
-
-usb:v03F0pC702*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart D7300 series
-
-usb:v03F0pC802*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart D5060 Printer
-
-usb:v03F0pD104*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle
-
-usb:v03F0pEFBE*
- ID_PRODUCT_FROM_DATABASE=NEC Picty900
-
-usb:v03F0pF0BE*
- ID_PRODUCT_FROM_DATABASE=NEC Picty920
-
-usb:v03F0pF1BE*
- ID_PRODUCT_FROM_DATABASE=NEC Picty800
-
-usb:v03F1*
- ID_VENDOR_FROM_DATABASE=Genoa Technology
-
-usb:v03F2*
- ID_VENDOR_FROM_DATABASE=Oak Technology, Inc.
-
-usb:v03F3*
- ID_VENDOR_FROM_DATABASE=Adaptec, Inc.
-
-usb:v03F3p0020*
- ID_PRODUCT_FROM_DATABASE=AWN-8020 WLAN [Intersil PRISM 2.5]
-
-usb:v03F3p0080*
- ID_PRODUCT_FROM_DATABASE=AVC-1100 Audio Capture
-
-usb:v03F3p0083*
- ID_PRODUCT_FROM_DATABASE=AVC-2200 Device
-
-usb:v03F3p0087*
- ID_PRODUCT_FROM_DATABASE=AVC-2210 Loader
-
-usb:v03F3p0088*
- ID_PRODUCT_FROM_DATABASE=AVC-2210 Device
-
-usb:v03F3p008B*
- ID_PRODUCT_FROM_DATABASE=AVC-2310 Loader
-
-usb:v03F3p008C*
- ID_PRODUCT_FROM_DATABASE=AVC-2310 Device
-
-usb:v03F3p0094*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v03F3p009B*
- ID_PRODUCT_FROM_DATABASE=AVC-1410 GameBridge TV NTSC
-
-usb:v03F3p2000*
- ID_PRODUCT_FROM_DATABASE=USBXchange
-
-usb:v03F3p2001*
- ID_PRODUCT_FROM_DATABASE=USBXchange Adapter
-
-usb:v03F3p2002*
- ID_PRODUCT_FROM_DATABASE=USB2-Xchange
-
-usb:v03F3p2003*
- ID_PRODUCT_FROM_DATABASE=USB2-Xchange Adapter
-
-usb:v03F3p4000*
- ID_PRODUCT_FROM_DATABASE=4-port hub
-
-usb:v03F3pADCC*
- ID_PRODUCT_FROM_DATABASE=Composite Device Support
-
-usb:v03F4*
- ID_VENDOR_FROM_DATABASE=Diebold, Inc.
-
-usb:v03F5*
- ID_VENDOR_FROM_DATABASE=Siemens Electromechanical
-
-usb:v03F8*
- ID_VENDOR_FROM_DATABASE=Epson Imaging Technology Center
-
-usb:v03F9*
- ID_VENDOR_FROM_DATABASE=KeyTronic Corp.
-
-usb:v03F9p0100*
- ID_PRODUCT_FROM_DATABASE=KT-2001 Keyboard
-
-usb:v03F9p0101*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v03F9p0102*
- ID_PRODUCT_FROM_DATABASE=Keyboard Mouse
-
-usb:v03FB*
- ID_VENDOR_FROM_DATABASE=OPTi, Inc.
-
-usb:v03FC*
- ID_VENDOR_FROM_DATABASE=Elitegroup Computer Systems
-
-usb:v03FD*
- ID_VENDOR_FROM_DATABASE=Xilinx, Inc.
-
-usb:v03FE*
- ID_VENDOR_FROM_DATABASE=Farallon Comunications
-
-usb:v0400*
- ID_VENDOR_FROM_DATABASE=National Semiconductor Corp.
-
-usb:v0400p05DC*
- ID_PRODUCT_FROM_DATABASE=Rigol Technologies DS1000USB Oscilloscope
-
-usb:v0400p0807*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle
-
-usb:v0400p080A*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0400p09C4*
- ID_PRODUCT_FROM_DATABASE=Rigol Technologies DG1022 Arbitrary Waveform Generator
-
-usb:v0400p1000*
- ID_PRODUCT_FROM_DATABASE=Mustek BearPaw 1200 Scanner
-
-usb:v0400p1001*
- ID_PRODUCT_FROM_DATABASE=Mustek BearPaw 2400 Scanner
-
-usb:v0400p1237*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v0400pA000*
- ID_PRODUCT_FROM_DATABASE=Smart Display Reference Device
-
-usb:v0400pC359*
- ID_PRODUCT_FROM_DATABASE=Logitech Harmony (Boot loader mode)
-
-usb:v0400pC35B*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v0400pC55D*
- ID_PRODUCT_FROM_DATABASE=Rigol Technologies DS5000USB Oscilloscope
-
-usb:v0401*
- ID_VENDOR_FROM_DATABASE=National Registry, Inc.
-
-usb:v0402*
- ID_VENDOR_FROM_DATABASE=ALi Corp.
-
-usb:v0402p5462*
- ID_PRODUCT_FROM_DATABASE=M5462 IDE Controller
-
-usb:v0402p5602*
- ID_PRODUCT_FROM_DATABASE=M5602 Video Camera Controller
-
-usb:v0402p5603*
- ID_PRODUCT_FROM_DATABASE=M5603 Video Camera Controller
-
-usb:v0402p5606*
- ID_PRODUCT_FROM_DATABASE=M5606 Video Camera Controller [UVC]
-
-usb:v0402p5621*
- ID_PRODUCT_FROM_DATABASE=M5621 High-Speed IDE Controller
-
-usb:v0402p5623*
- ID_PRODUCT_FROM_DATABASE=M5623 Scanner Controller
-
-usb:v0402p5627*
- ID_PRODUCT_FROM_DATABASE=Welland ME-740PS USB2 3.5" Power Saving Enclosure
-
-usb:v0402p5632*
- ID_PRODUCT_FROM_DATABASE=M5632 Host-to-Host Link
-
-usb:v0402p5635*
- ID_PRODUCT_FROM_DATABASE=M5635 Flash Card Reader
-
-usb:v0402p5636*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Storage Device
-
-usb:v0402p5637*
- ID_PRODUCT_FROM_DATABASE=M5637 IDE Controller
-
-usb:v0402p5661*
- ID_PRODUCT_FROM_DATABASE=M5661 MP3 player
-
-usb:v0402p5667*
- ID_PRODUCT_FROM_DATABASE=M5667 MP3 player
-
-usb:v0402p9665*
- ID_PRODUCT_FROM_DATABASE=Gateway Webcam
-
-usb:v0403*
- ID_VENDOR_FROM_DATABASE=Future Technology Devices International, Ltd
-
-usb:v0403p0000*
- ID_PRODUCT_FROM_DATABASE=H4SMK 7 Port Hub
-
-usb:v0403p0232*
- ID_PRODUCT_FROM_DATABASE=Serial Converter
-
-usb:v0403p1060*
- ID_PRODUCT_FROM_DATABASE=JTAG adapter
-
-usb:v0403p6001*
- ID_PRODUCT_FROM_DATABASE=FT232 USB-Serial (UART) IC
-
-usb:v0403p6002*
- ID_PRODUCT_FROM_DATABASE=Lumel PD12
-
-usb:v0403p6007*
- ID_PRODUCT_FROM_DATABASE=Serial Converter
-
-usb:v0403p6008*
- ID_PRODUCT_FROM_DATABASE=Serial Converter
-
-usb:v0403p6009*
- ID_PRODUCT_FROM_DATABASE=Serial Converter
-
-usb:v0403p6010*
- ID_PRODUCT_FROM_DATABASE=FT2232C Dual USB-UART/FIFO IC
-
-usb:v0403p6011*
- ID_PRODUCT_FROM_DATABASE=FT4232H Quad HS USB-UART/FIFO IC
-
-usb:v0403p6014*
- ID_PRODUCT_FROM_DATABASE=FT232H Single HS USB-UART/FIFO IC
-
-usb:v0403p6015*
- ID_PRODUCT_FROM_DATABASE=Bridge(I2C/SPI/UART/FIFO)
-
-usb:v0403p8040*
- ID_PRODUCT_FROM_DATABASE=4 Port Hub
-
-usb:v0403p8070*
- ID_PRODUCT_FROM_DATABASE=7 Port Hub
-
-usb:v0403p8370*
- ID_PRODUCT_FROM_DATABASE=7 Port Hub
-
-usb:v0403p8371*
- ID_PRODUCT_FROM_DATABASE=PS/2 Keyboard And Mouse
-
-usb:v0403p8372*
- ID_PRODUCT_FROM_DATABASE=FT8U100AX Serial Port
-
-usb:v0403p8A28*
- ID_PRODUCT_FROM_DATABASE=Rainforest Automation ZigBee Controller
-
-usb:v0403p8A98*
- ID_PRODUCT_FROM_DATABASE=TIAO Multi-Protocol Adapter
-
-usb:v0403p9E90*
- ID_PRODUCT_FROM_DATABASE=Marvell OpenRD Base/Client
-
-usb:v0403p9F80*
- ID_PRODUCT_FROM_DATABASE=Ewert Energy Systems CANdapter
-
-usb:v0403pA6D0*
- ID_PRODUCT_FROM_DATABASE=Texas Instruments XDS100v2 JTAG / BeagleBone A3
-
-usb:v0403pA951*
- ID_PRODUCT_FROM_DATABASE=HCP HIT GSM/GPRS modem [Cinterion MC55i]
-
-usb:v0403pABB8*
- ID_PRODUCT_FROM_DATABASE=Lego Mindstorms NXTCam
-
-usb:v0403pB810*
- ID_PRODUCT_FROM_DATABASE=US Interface Navigator (CAT and 2nd PTT lines)
-
-usb:v0403pB811*
- ID_PRODUCT_FROM_DATABASE=US Interface Navigator (WKEY and FSK lines)
-
-usb:v0403pB812*
- ID_PRODUCT_FROM_DATABASE=US Interface Navigator (RS232 and CONFIG lines)
-
-usb:v0403pB9B0*
- ID_PRODUCT_FROM_DATABASE=Fujitsu SK-16FX-100PMC V1.1
-
-usb:v0403pBAF8*
- ID_PRODUCT_FROM_DATABASE=Amontec JTAGkey - Open On-Chip Debugger
-
-usb:v0403pBCD8*
- ID_PRODUCT_FROM_DATABASE=Stellaris Development Board
-
-usb:v0403pBCD9*
- ID_PRODUCT_FROM_DATABASE=Stellaris Evaluation Board
-
-usb:v0403pBCDA*
- ID_PRODUCT_FROM_DATABASE=Stellaris ICDI Board
-
-usb:v0403pBDC8*
- ID_PRODUCT_FROM_DATABASE=Egnite GmbH - JTAG/RS-232 adapter
-
-usb:v0403pBFD8*
- ID_PRODUCT_FROM_DATABASE=OpenDCC
-
-usb:v0403pBFD9*
- ID_PRODUCT_FROM_DATABASE=OpenDCC (Sniffer)
-
-usb:v0403pBFDA*
- ID_PRODUCT_FROM_DATABASE=OpenDCC (Throttle)
-
-usb:v0403pBFDB*
- ID_PRODUCT_FROM_DATABASE=OpenDCC (Gateway)
-
-usb:v0403pBFDC*
- ID_PRODUCT_FROM_DATABASE=OpenDCC (GBM)
-
-usb:v0403pC630*
- ID_PRODUCT_FROM_DATABASE=lcd2usb interface
-
-usb:v0403pC631*
- ID_PRODUCT_FROM_DATABASE=i2c-tiny-usb interface
-
-usb:v0403pC632*
- ID_PRODUCT_FROM_DATABASE=xu1541 c64 floppy drive interface
-
-usb:v0403pC633*
- ID_PRODUCT_FROM_DATABASE=TinyCrypt dongle
-
-usb:v0403pC634*
- ID_PRODUCT_FROM_DATABASE=glcd2usb interface
-
-usb:v0403pC7D0*
- ID_PRODUCT_FROM_DATABASE=RR-CirKits LocoBuffer-USB
-
-usb:v0403pC8B8*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte MTD TCU
-
-usb:v0403pC8B9*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte MTD TCU 1HE
-
-usb:v0403pC8BA*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte Rubidium H1
-
-usb:v0403pC8BB*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte Rubidium H3
-
-usb:v0403pC8BC*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte Rubidium S1
-
-usb:v0403pC8BD*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte Rubidium T1
-
-usb:v0403pC8BE*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte Rubidium D1
-
-usb:v0403pCC48*
- ID_PRODUCT_FROM_DATABASE=Tactrix OpenPort 1.3 Mitsubishi
-
-usb:v0403pCC49*
- ID_PRODUCT_FROM_DATABASE=Tactrix OpenPort 1.3 Subaru
-
-usb:v0403pCC4A*
- ID_PRODUCT_FROM_DATABASE=Tactrix OpenPort 1.3 Universal
-
-usb:v0403pCFF8*
- ID_PRODUCT_FROM_DATABASE=Distortec JTAG-lock-pick
-
-usb:v0403pD010*
- ID_PRODUCT_FROM_DATABASE=SCS PTC-IIusb
-
-usb:v0403pD011*
- ID_PRODUCT_FROM_DATABASE=SCS Position-Tracker/TNC
-
-usb:v0403pD012*
- ID_PRODUCT_FROM_DATABASE=SCS DRAGON 1
-
-usb:v0403pD013*
- ID_PRODUCT_FROM_DATABASE=SCS DRAGON 1
-
-usb:v0403pD578*
- ID_PRODUCT_FROM_DATABASE=Accesio USB-COM-4SM
-
-usb:v0403pD6F8*
- ID_PRODUCT_FROM_DATABASE=UNI Black BOX
-
-usb:v0403pD738*
- ID_PRODUCT_FROM_DATABASE=Propox JTAGcable II
-
-usb:v0403pD739*
- ID_PRODUCT_FROM_DATABASE=Propox ISPcable III
-
-usb:v0403pD9A9*
- ID_PRODUCT_FROM_DATABASE=Actisense USG-1 NMEA Serial Gateway
-
-usb:v0403pD9AA*
- ID_PRODUCT_FROM_DATABASE=Actisense NGT-1 NMEA2000 PC Interface
-
-usb:v0403pE0D0*
- ID_PRODUCT_FROM_DATABASE=Total Phase Aardvark I2C/SPI Host Adapter
-
-usb:v0403pE521*
- ID_PRODUCT_FROM_DATABASE=EVER Sinline XL Series UPS
-
-usb:v0403pE6C8*
- ID_PRODUCT_FROM_DATABASE=PYRAMID Computer GmbH LCD
-
-usb:v0403pE700*
- ID_PRODUCT_FROM_DATABASE=Elster Unicom III Optical Probe
-
-usb:v0403pE729*
- ID_PRODUCT_FROM_DATABASE=Segway Robotic Mobility Platforms 200
-
-usb:v0403pE888*
- ID_PRODUCT_FROM_DATABASE=Expert ISDN Control USB
-
-usb:v0403pE889*
- ID_PRODUCT_FROM_DATABASE=USB-RS232 OptoBridge
-
-usb:v0403pE88A*
- ID_PRODUCT_FROM_DATABASE=Expert mouseCLOCK USB II
-
-usb:v0403pE88B*
- ID_PRODUCT_FROM_DATABASE=Precision Clock MSF USB
-
-usb:v0403pE88C*
- ID_PRODUCT_FROM_DATABASE=Expert mouseCLOCK USB II HBG
-
-usb:v0403pEA90*
- ID_PRODUCT_FROM_DATABASE=Eclo 1-Wire Adapter
-
-usb:v0403pED71*
- ID_PRODUCT_FROM_DATABASE=HAMEG HO870 Serial Port
-
-usb:v0403pED72*
- ID_PRODUCT_FROM_DATABASE=HAMEG HO720 Serial Port
-
-usb:v0403pED73*
- ID_PRODUCT_FROM_DATABASE=HAMEG HO730 Serial Port
-
-usb:v0403pED74*
- ID_PRODUCT_FROM_DATABASE=HAMEG HO820 Serial Port
-
-usb:v0403pEF10*
- ID_PRODUCT_FROM_DATABASE=FT1245BL
-
-usb:v0403pF070*
- ID_PRODUCT_FROM_DATABASE=Serial Converter 422/485 [Vardaan VEUSB422R3]
-
-usb:v0403pF1A0*
- ID_PRODUCT_FROM_DATABASE=Asix PRESTO Programmer
-
-usb:v0403pF208*
- ID_PRODUCT_FROM_DATABASE=Papenmeier Braille-Display
-
-usb:v0403pF3C0*
- ID_PRODUCT_FROM_DATABASE=4N-GALAXY Serial Converter
-
-usb:v0403pF608*
- ID_PRODUCT_FROM_DATABASE=CTI USB-485-Mini
-
-usb:v0403pF60B*
- ID_PRODUCT_FROM_DATABASE=CTI USB-Nano-485
-
-usb:v0403pF680*
- ID_PRODUCT_FROM_DATABASE=Suunto Sports Instrument
-
-usb:v0403pF758*
- ID_PRODUCT_FROM_DATABASE=GW Instek GDS-8x0 Oscilloscope
-
-usb:v0403pF7C0*
- ID_PRODUCT_FROM_DATABASE=ZeitControl Cardsystems TagTracer MIFARE
-
-usb:v0403pF850*
- ID_PRODUCT_FROM_DATABASE=USB-UIRT (Universal Infrared Receiver+Transmitter)
-
-usb:v0403pF918*
- ID_PRODUCT_FROM_DATABASE=Ant8 Logic Probe
-
-usb:v0403pFA00*
- ID_PRODUCT_FROM_DATABASE=Matrix Orbital USB Serial
-
-usb:v0403pFA01*
- ID_PRODUCT_FROM_DATABASE=Matrix Orbital MX2 or MX3
-
-usb:v0403pFA02*
- ID_PRODUCT_FROM_DATABASE=Matrix Orbital MX4 or MX5
-
-usb:v0403pFA03*
- ID_PRODUCT_FROM_DATABASE=Matrix Orbital VK/LK202 Family
-
-usb:v0403pFA04*
- ID_PRODUCT_FROM_DATABASE=Matrix Orbital VK/LK204 Family
-
-usb:v0403pFC08*
- ID_PRODUCT_FROM_DATABASE=Crystalfontz CFA-632 USB LCD
-
-usb:v0403pFC09*
- ID_PRODUCT_FROM_DATABASE=Crystalfontz CFA-634 USB LCD
-
-usb:v0403pFC0B*
- ID_PRODUCT_FROM_DATABASE=Crystalfontz CFA-633 USB LCD
-
-usb:v0403pFC0C*
- ID_PRODUCT_FROM_DATABASE=Crystalfontz CFA-631 USB LCD
-
-usb:v0403pFC0D*
- ID_PRODUCT_FROM_DATABASE=Crystalfontz CFA-635 USB LCD
-
-usb:v0403pFC82*
- ID_PRODUCT_FROM_DATABASE=SEMC DSS-20/DSS-25 SyncStation
-
-usb:v0403pFD48*
- ID_PRODUCT_FROM_DATABASE=ShipModul MiniPlex-4xUSB NMEA Multiplexer
-
-usb:v0403pFD49*
- ID_PRODUCT_FROM_DATABASE=ShipModul MiniPlex-4xUSB-AIS NMEA Multiplexer
-
-usb:v0403pFF08*
- ID_PRODUCT_FROM_DATABASE=ToolHouse LoopBack Adapter
-
-usb:v0403pFF18*
- ID_PRODUCT_FROM_DATABASE=ScienceScope Logbook ML
-
-usb:v0403pFF19*
- ID_PRODUCT_FROM_DATABASE=Logbook Bus
-
-usb:v0403pFF1A*
- ID_PRODUCT_FROM_DATABASE=Logbook Bus
-
-usb:v0403pFF1B*
- ID_PRODUCT_FROM_DATABASE=Logbook Bus
-
-usb:v0403pFF1C*
- ID_PRODUCT_FROM_DATABASE=ScienceScope Logbook LS
-
-usb:v0403pFF1D*
- ID_PRODUCT_FROM_DATABASE=ScienceScope Logbook HS
-
-usb:v0403pFF1E*
- ID_PRODUCT_FROM_DATABASE=Logbook Bus
-
-usb:v0403pFF1F*
- ID_PRODUCT_FROM_DATABASE=Logbook Bus
-
-usb:v0404*
- ID_VENDOR_FROM_DATABASE=NCR Corp.
-
-usb:v0404p0202*
- ID_PRODUCT_FROM_DATABASE=78XX Scanner
-
-usb:v0404p0203*
- ID_PRODUCT_FROM_DATABASE=78XX Scanner - Embedded System
-
-usb:v0404p0310*
- ID_PRODUCT_FROM_DATABASE=K590 Printer, Self-Service
-
-usb:v0404p0311*
- ID_PRODUCT_FROM_DATABASE=7167 Printer, Receipt/Slip
-
-usb:v0404p0312*
- ID_PRODUCT_FROM_DATABASE=7197 Printer Receipt
-
-usb:v0404p0320*
- ID_PRODUCT_FROM_DATABASE=5932-USB Keyboard
-
-usb:v0404p0321*
- ID_PRODUCT_FROM_DATABASE=5953-USB Dynakey
-
-usb:v0404p0322*
- ID_PRODUCT_FROM_DATABASE=5932-USB Enhanced Keyboard
-
-usb:v0404p0323*
- ID_PRODUCT_FROM_DATABASE=5932-USB Enhanced Keyboard, Flash-Recovery/Download
-
-usb:v0404p0324*
- ID_PRODUCT_FROM_DATABASE=5953-USB Enhanced Dynakey
-
-usb:v0404p0325*
- ID_PRODUCT_FROM_DATABASE=5953-USB Enhanced Dynakey Flash-Recovery/Download
-
-usb:v0404p0328*
- ID_PRODUCT_FROM_DATABASE=K016: USB-MSR ISO 3-track MSR: POS Standard (See HID pages)
-
-usb:v0404p0329*
- ID_PRODUCT_FROM_DATABASE=K018: USB-MSR JIS 2-Track MSR: POS Standard
-
-usb:v0404p032A*
- ID_PRODUCT_FROM_DATABASE=K016: USB-MSR ISO 3-Track MSR: HID Keyboard Mode
-
-usb:v0404p032B*
- ID_PRODUCT_FROM_DATABASE=K016/K018: USB-MSR Flash-Recovery/Download
-
-usb:v0405*
- ID_VENDOR_FROM_DATABASE=Synopsys, Inc.
-
-usb:v0406*
- ID_VENDOR_FROM_DATABASE=Fujitsu-ICL Computers
-
-usb:v0407*
- ID_VENDOR_FROM_DATABASE=Fujitsu Personal Systems, Inc.
-
-usb:v0408*
- ID_VENDOR_FROM_DATABASE=Quanta Computer, Inc.
-
-usb:v0408p0103*
- ID_PRODUCT_FROM_DATABASE=FV TouchCam N1 (Audio)
-
-usb:v0408p030C*
- ID_PRODUCT_FROM_DATABASE=HP Webcam
-
-usb:v0408p03B2*
- ID_PRODUCT_FROM_DATABASE=HP Webcam
-
-usb:v0408p1030*
- ID_PRODUCT_FROM_DATABASE=FV TouchCam N1 (Video)
-
-usb:v0408p3000*
- ID_PRODUCT_FROM_DATABASE=Optical dual-touch panel
-
-usb:v0408p3001*
- ID_PRODUCT_FROM_DATABASE=Optical Touch Screen
-
-usb:v0409*
- ID_VENDOR_FROM_DATABASE=NEC Corp.
-
-usb:v0409p0011*
- ID_PRODUCT_FROM_DATABASE=PC98 Series Layout Keyboard Mouse
-
-usb:v0409p0012*
- ID_PRODUCT_FROM_DATABASE=ATerm IT75DSU ISDN TA
-
-usb:v0409p0014*
- ID_PRODUCT_FROM_DATABASE=Japanese Keyboard
-
-usb:v0409p0019*
- ID_PRODUCT_FROM_DATABASE=109 Japanese Keyboard with Bus-Powered Hub
-
-usb:v0409p001A*
- ID_PRODUCT_FROM_DATABASE=PC98 Series Layout Keyboard with Bus-Powered Hub
-
-usb:v0409p0025*
- ID_PRODUCT_FROM_DATABASE=Mini Keyboard with Bus-Powered Hub
-
-usb:v0409p0027*
- ID_PRODUCT_FROM_DATABASE=MultiSync Monitor
-
-usb:v0409p002C*
- ID_PRODUCT_FROM_DATABASE=Clik!-USB Drive
-
-usb:v0409p0034*
- ID_PRODUCT_FROM_DATABASE=109 Japanese Keyboard with One-touch start buttons
-
-usb:v0409p003F*
- ID_PRODUCT_FROM_DATABASE=Wireless Keyboard with One-touch start buttons
-
-usb:v0409p0040*
- ID_PRODUCT_FROM_DATABASE=Floppy
-
-usb:v0409p004E*
- ID_PRODUCT_FROM_DATABASE=SuperScript 1400 Series
-
-usb:v0409p004F*
- ID_PRODUCT_FROM_DATABASE=Wireless Keyboard with One-touch start buttons
-
-usb:v0409p0050*
- ID_PRODUCT_FROM_DATABASE=7-port hub
-
-usb:v0409p0058*
- ID_PRODUCT_FROM_DATABASE=HighSpeed Hub
-
-usb:v0409p0059*
- ID_PRODUCT_FROM_DATABASE=HighSpeed Hub
-
-usb:v0409p005A*
- ID_PRODUCT_FROM_DATABASE=HighSpeed Hub
-
-usb:v0409p006A*
- ID_PRODUCT_FROM_DATABASE=Conceptronic USB Harddisk Box
-
-usb:v0409p007D*
- ID_PRODUCT_FROM_DATABASE=MINICUBE2
-
-usb:v0409p007E*
- ID_PRODUCT_FROM_DATABASE=PG-FP5 Flash Memory Programmer
-
-usb:v0409p0081*
- ID_PRODUCT_FROM_DATABASE=SuperScript 1400 Series
-
-usb:v0409p0082*
- ID_PRODUCT_FROM_DATABASE=SuperScript 1400 Series
-
-usb:v0409p0094*
- ID_PRODUCT_FROM_DATABASE=Japanese Keyboard with One-touch start buttons
-
-usb:v0409p0095*
- ID_PRODUCT_FROM_DATABASE=Japanese Keyboard
-
-usb:v0409p00A9*
- ID_PRODUCT_FROM_DATABASE=AtermIT21L 128K Support Standard
-
-usb:v0409p00AA*
- ID_PRODUCT_FROM_DATABASE=AtermITX72 128K Support Standard
-
-usb:v0409p00AB*
- ID_PRODUCT_FROM_DATABASE=AtermITX62 128K Support Standard
-
-usb:v0409p00AC*
- ID_PRODUCT_FROM_DATABASE=AtermIT42 128K Support Standard
-
-usb:v0409p00AE*
- ID_PRODUCT_FROM_DATABASE=INSMATEV70G-MAX Standard
-
-usb:v0409p00AF*
- ID_PRODUCT_FROM_DATABASE=AtermITX70 128K Support Standard
-
-usb:v0409p00B0*
- ID_PRODUCT_FROM_DATABASE=AtermITX80 128K Support Standard
-
-usb:v0409p00B2*
- ID_PRODUCT_FROM_DATABASE=AtermITX80D 128K Support Standard
-
-usb:v0409p00C0*
- ID_PRODUCT_FROM_DATABASE=Wireless Remocon
-
-usb:v0409p00F7*
- ID_PRODUCT_FROM_DATABASE=Smart Display PK-SD10
-
-usb:v0409p011D*
- ID_PRODUCT_FROM_DATABASE=e228 Mobile Phone
-
-usb:v0409p0203*
- ID_PRODUCT_FROM_DATABASE=HID Audio Controls
-
-usb:v0409p021D*
- ID_PRODUCT_FROM_DATABASE=Aterm WL54SU2 802.11g Wireless Adapter [Atheros AR5523]
-
-usb:v0409p0248*
- ID_PRODUCT_FROM_DATABASE=Aterm PA-WL54GU
-
-usb:v0409p0249*
- ID_PRODUCT_FROM_DATABASE=Aterm WL300NU-G
-
-usb:v0409p02B4*
- ID_PRODUCT_FROM_DATABASE=Aterm WL300NU-AG
-
-usb:v0409p02B6*
- ID_PRODUCT_FROM_DATABASE=Aterm WL300NU-GS 802.11n Wireless Adapter
-
-usb:v0409p0300*
- ID_PRODUCT_FROM_DATABASE=LifeTouch Note
-
-usb:v0409p0301*
- ID_PRODUCT_FROM_DATABASE=LifeTouch Note (debug mode)
-
-usb:v0409p55AA*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v0409p55AB*
- ID_PRODUCT_FROM_DATABASE=Hub [iMac/iTouch kbd]
-
-usb:v0409p8010*
- ID_PRODUCT_FROM_DATABASE=Intellibase Hub
-
-usb:v0409p8011*
- ID_PRODUCT_FROM_DATABASE=Intellibase Hub
-
-usb:v0409pEFBE*
- ID_PRODUCT_FROM_DATABASE=P!cty 900 [HP DJ]
-
-usb:v0409pF0BE*
- ID_PRODUCT_FROM_DATABASE=P!cty 920 [HP DJ 812c]
-
-usb:v040A*
- ID_VENDOR_FROM_DATABASE=Kodak Co.
-
-usb:v040Ap0001*
- ID_PRODUCT_FROM_DATABASE=DVC-323
-
-usb:v040Ap0002*
- ID_PRODUCT_FROM_DATABASE=DVC-325
-
-usb:v040Ap0100*
- ID_PRODUCT_FROM_DATABASE=DC-220
-
-usb:v040Ap0110*
- ID_PRODUCT_FROM_DATABASE=DC-260
-
-usb:v040Ap0111*
- ID_PRODUCT_FROM_DATABASE=DC-265
-
-usb:v040Ap0112*
- ID_PRODUCT_FROM_DATABASE=DC-290
-
-usb:v040Ap0120*
- ID_PRODUCT_FROM_DATABASE=DC-240
-
-usb:v040Ap0121*
- ID_PRODUCT_FROM_DATABASE=DC-240 (PTP firmware)
-
-usb:v040Ap0130*
- ID_PRODUCT_FROM_DATABASE=DC-280
-
-usb:v040Ap0131*
- ID_PRODUCT_FROM_DATABASE=DC-5000
-
-usb:v040Ap0132*
- ID_PRODUCT_FROM_DATABASE=DC-3400
-
-usb:v040Ap0140*
- ID_PRODUCT_FROM_DATABASE=DC-4800
-
-usb:v040Ap0160*
- ID_PRODUCT_FROM_DATABASE=DC4800
-
-usb:v040Ap0170*
- ID_PRODUCT_FROM_DATABASE=DX3900
-
-usb:v040Ap0200*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0300*
- ID_PRODUCT_FROM_DATABASE=EZ-200
-
-usb:v040Ap0400*
- ID_PRODUCT_FROM_DATABASE=MC3
-
-usb:v040Ap0402*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0403*
- ID_PRODUCT_FROM_DATABASE=Z7590
-
-usb:v040Ap0500*
- ID_PRODUCT_FROM_DATABASE=DX3500
-
-usb:v040Ap0510*
- ID_PRODUCT_FROM_DATABASE=DX3600
-
-usb:v040Ap0525*
- ID_PRODUCT_FROM_DATABASE=DX3215
-
-usb:v040Ap0530*
- ID_PRODUCT_FROM_DATABASE=DX3700
-
-usb:v040Ap0535*
- ID_PRODUCT_FROM_DATABASE=EasyShare CX4230 Camera
-
-usb:v040Ap0540*
- ID_PRODUCT_FROM_DATABASE=LS420
-
-usb:v040Ap0550*
- ID_PRODUCT_FROM_DATABASE=DX4900
-
-usb:v040Ap0555*
- ID_PRODUCT_FROM_DATABASE=DX4330
-
-usb:v040Ap0560*
- ID_PRODUCT_FROM_DATABASE=CX4200
-
-usb:v040Ap0565*
- ID_PRODUCT_FROM_DATABASE=CX4210
-
-usb:v040Ap0566*
- ID_PRODUCT_FROM_DATABASE=CX4300
-
-usb:v040Ap0567*
- ID_PRODUCT_FROM_DATABASE=LS753
-
-usb:v040Ap0568*
- ID_PRODUCT_FROM_DATABASE=LS443
-
-usb:v040Ap0569*
- ID_PRODUCT_FROM_DATABASE=LS663
-
-usb:v040Ap0570*
- ID_PRODUCT_FROM_DATABASE=DX6340
-
-usb:v040Ap0571*
- ID_PRODUCT_FROM_DATABASE=CX6330
-
-usb:v040Ap0572*
- ID_PRODUCT_FROM_DATABASE=DX6440
-
-usb:v040Ap0573*
- ID_PRODUCT_FROM_DATABASE=CX6230
-
-usb:v040Ap0574*
- ID_PRODUCT_FROM_DATABASE=CX6200
-
-usb:v040Ap0575*
- ID_PRODUCT_FROM_DATABASE=DX6490
-
-usb:v040Ap0576*
- ID_PRODUCT_FROM_DATABASE=DX4530
-
-usb:v040Ap0577*
- ID_PRODUCT_FROM_DATABASE=DX7630
-
-usb:v040Ap0578*
- ID_PRODUCT_FROM_DATABASE=CX7300/CX7310
-
-usb:v040Ap0579*
- ID_PRODUCT_FROM_DATABASE=CX7220
-
-usb:v040Ap057A*
- ID_PRODUCT_FROM_DATABASE=CX7330
-
-usb:v040Ap057B*
- ID_PRODUCT_FROM_DATABASE=CX7430
-
-usb:v040Ap057C*
- ID_PRODUCT_FROM_DATABASE=CX7530
-
-usb:v040Ap057D*
- ID_PRODUCT_FROM_DATABASE=DX7440
-
-usb:v040Ap057E*
- ID_PRODUCT_FROM_DATABASE=C300
-
-usb:v040Ap057F*
- ID_PRODUCT_FROM_DATABASE=DX7590
-
-usb:v040Ap0580*
- ID_PRODUCT_FROM_DATABASE=Z730
-
-usb:v040Ap0581*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0582*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0583*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0584*
- ID_PRODUCT_FROM_DATABASE=CX6445
-
-usb:v040Ap0585*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0586*
- ID_PRODUCT_FROM_DATABASE=CX7525
-
-usb:v040Ap0587*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0588*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0589*
- ID_PRODUCT_FROM_DATABASE=EasyShare C360
-
-usb:v040Ap058A*
- ID_PRODUCT_FROM_DATABASE=C310
-
-usb:v040Ap058B*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap058C*
- ID_PRODUCT_FROM_DATABASE=C330
-
-usb:v040Ap058D*
- ID_PRODUCT_FROM_DATABASE=C340
-
-usb:v040Ap058E*
- ID_PRODUCT_FROM_DATABASE=V530
-
-usb:v040Ap058F*
- ID_PRODUCT_FROM_DATABASE=V550
-
-usb:v040Ap0590*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0591*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0592*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0593*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0594*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0595*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0596*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0597*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap0598*
- ID_PRODUCT_FROM_DATABASE=EASYSHARE M1033 digital camera
-
-usb:v040Ap0599*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap059A*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap059B*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap059C*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap059D*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap059E*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap059F*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05A0*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05A1*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05A2*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05A3*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05A4*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05A5*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05A6*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05A7*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05A8*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05A9*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05AA*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05AB*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05AC*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05AD*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05AE*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05AF*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05B0*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05B1*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05B2*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05B3*
- ID_PRODUCT_FROM_DATABASE=EasyShare Z710 Camera
-
-usb:v040Ap05B4*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05B5*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05B6*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05B7*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05B8*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05B9*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05BA*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05BB*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05BC*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05BD*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05BE*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05BF*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05C0*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05C1*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05C2*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05C3*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05C4*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05C5*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v040Ap05C8*
- ID_PRODUCT_FROM_DATABASE=EASYSHARE Z1485 IS Digital Camera
-
-usb:v040Ap05D3*
- ID_PRODUCT_FROM_DATABASE=EasyShare M320 Camera
-
-usb:v040Ap05D4*
- ID_PRODUCT_FROM_DATABASE=EasyShare C180 Digital Camera
-
-usb:v040Ap1001*
- ID_PRODUCT_FROM_DATABASE=EasyShare SV811 Digital Picture Frame
-
-usb:v040Ap4000*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v040Ap4056*
- ID_PRODUCT_FROM_DATABASE=ESP 7200 Series AiO
-
-usb:v040Ap4109*
- ID_PRODUCT_FROM_DATABASE=EasyShare Printer Dock Series 3
-
-usb:v040Ap410D*
- ID_PRODUCT_FROM_DATABASE=EasyShare G600 Printer Dock
-
-usb:v040Ap5010*
- ID_PRODUCT_FROM_DATABASE=Wireless Adapter
-
-usb:v040Ap5012*
- ID_PRODUCT_FROM_DATABASE=DBT-220 Bluetooth Adapter
-
-usb:v040Ap6001*
- ID_PRODUCT_FROM_DATABASE=i30
-
-usb:v040Ap6002*
- ID_PRODUCT_FROM_DATABASE=i40
-
-usb:v040Ap6003*
- ID_PRODUCT_FROM_DATABASE=i50
-
-usb:v040Ap6004*
- ID_PRODUCT_FROM_DATABASE=i60
-
-usb:v040Ap6005*
- ID_PRODUCT_FROM_DATABASE=i80
-
-usb:v040B*
- ID_VENDOR_FROM_DATABASE=Weltrend Semiconductor
-
-usb:v040Bp6510*
- ID_PRODUCT_FROM_DATABASE=Weltrend Bar Code Reader
-
-usb:v040Bp6520*
- ID_PRODUCT_FROM_DATABASE=XBOX Xploder
-
-usb:v040Bp6533*
- ID_PRODUCT_FROM_DATABASE=Speed-Link Competition Pro
-
-usb:v040Bp6543*
- ID_PRODUCT_FROM_DATABASE=Manhattan Magnetic Card Strip Reader
-
-usb:v040C*
- ID_VENDOR_FROM_DATABASE=VTech Computers, Ltd
-
-usb:v040D*
- ID_VENDOR_FROM_DATABASE=VIA Technologies, Inc.
-
-usb:v040Dp3184*
- ID_PRODUCT_FROM_DATABASE=VNT VT6656 USB-802.11 Wireless LAN Adapter
-
-usb:v040Dp6205*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Card Reader
-
-usb:v040E*
- ID_VENDOR_FROM_DATABASE=MCCI
-
-usb:v040F*
- ID_VENDOR_FROM_DATABASE=Echo Speech Corp.
-
-usb:v0411*
- ID_VENDOR_FROM_DATABASE=BUFFALO INC. (formerly MelCo., Inc.)
-
-usb:v0411p0001*
- ID_PRODUCT_FROM_DATABASE=LUA-TX Ethernet [pegasus]
-
-usb:v0411p0005*
- ID_PRODUCT_FROM_DATABASE=LUA-TX Ethernet
-
-usb:v0411p0006*
- ID_PRODUCT_FROM_DATABASE=WLI-USB-L11 Wireless LAN Adapter
-
-usb:v0411p0009*
- ID_PRODUCT_FROM_DATABASE=LUA2-TX Ethernet
-
-usb:v0411p000B*
- ID_PRODUCT_FROM_DATABASE=WLI-USB-L11G-WR Wireless LAN Adapter
-
-usb:v0411p000D*
- ID_PRODUCT_FROM_DATABASE=WLI-USB-L11G Wireless LAN Adapter
-
-usb:v0411p0012*
- ID_PRODUCT_FROM_DATABASE=LUA-KTX Ethernet
-
-usb:v0411p0013*
- ID_PRODUCT_FROM_DATABASE=USB2-IDE Adapter
-
-usb:v0411p0016*
- ID_PRODUCT_FROM_DATABASE=WLI-USB-S11 802.11b Adapter
-
-usb:v0411p0018*
- ID_PRODUCT_FROM_DATABASE=USB2-IDE Adapter
-
-usb:v0411p001C*
- ID_PRODUCT_FROM_DATABASE=USB-IDE Bridge: DUB-PxxG
-
-usb:v0411p0027*
- ID_PRODUCT_FROM_DATABASE=WLI-USB-KS11G 802.11b Adapter
-
-usb:v0411p002A*
- ID_PRODUCT_FROM_DATABASE=SMSC USB97C202 "HD-HB300V2-EU"
-
-usb:v0411p003D*
- ID_PRODUCT_FROM_DATABASE=LUA-U2-KTX Ethernet
-
-usb:v0411p0044*
- ID_PRODUCT_FROM_DATABASE=WLI-USB-KB11 Wireless LAN Adapter
-
-usb:v0411p004B*
- ID_PRODUCT_FROM_DATABASE=WLI-USB-G54 802.11g Adapter [Broadcom 4320 USB]
-
-usb:v0411p004D*
- ID_PRODUCT_FROM_DATABASE=WLI-USB-B11 Wireless LAN Adapter
-
-usb:v0411p0050*
- ID_PRODUCT_FROM_DATABASE=WLI2-USB2-G54 Wireless LAN Adapter
-
-usb:v0411p005E*
- ID_PRODUCT_FROM_DATABASE=WLI-U2-KG54-YB WLAN
-
-usb:v0411p0065*
- ID_PRODUCT_FROM_DATABASE=Python2 WDM Encoder
-
-usb:v0411p0066*
- ID_PRODUCT_FROM_DATABASE=WLI-U2-KG54 WLAN
-
-usb:v0411p0067*
- ID_PRODUCT_FROM_DATABASE=WLI-U2-KG54-AI WLAN
-
-usb:v0411p006E*
- ID_PRODUCT_FROM_DATABASE=LUA-U2-GT 10/100/1000 Ethernet Adapter
-
-usb:v0411p0089*
- ID_PRODUCT_FROM_DATABASE=RUF-C/U2 Flash Drive
-
-usb:v0411p008B*
- ID_PRODUCT_FROM_DATABASE=Nintendo Wi-Fi
-
-usb:v0411p0091*
- ID_PRODUCT_FROM_DATABASE=WLI-U2-KAMG54 Wireless LAN Adapter
-
-usb:v0411p0092*
- ID_PRODUCT_FROM_DATABASE=WLI-U2-KAMG54 Bootloader
-
-usb:v0411p0097*
- ID_PRODUCT_FROM_DATABASE=WLI-U2-KG54-BB
-
-usb:v0411p00A9*
- ID_PRODUCT_FROM_DATABASE=WLI-U2-AMG54HP Wireless LAN Adapter
-
-usb:v0411p00AA*
- ID_PRODUCT_FROM_DATABASE=WLI-U2-AMG54HP Bootloader
-
-usb:v0411p00B3*
- ID_PRODUCT_FROM_DATABASE=PC-OP-RS1 RemoteStation
-
-usb:v0411p00BC*
- ID_PRODUCT_FROM_DATABASE=WLI-U2-KG125S 802.11g Adapter [Broadcom 4320 USB]
-
-usb:v0411p00CA*
- ID_PRODUCT_FROM_DATABASE=802.11n Network Adapter
-
-usb:v0411p00CB*
- ID_PRODUCT_FROM_DATABASE=WLI-U2-G300N 802.11n Adapter
-
-usb:v0411p00D8*
- ID_PRODUCT_FROM_DATABASE=WLI-U2-SG54HP
-
-usb:v0411p00D9*
- ID_PRODUCT_FROM_DATABASE=WLI-U2-G54HP
-
-usb:v0411p00DA*
- ID_PRODUCT_FROM_DATABASE=WLI-U2-KG54L 802.11bg [ZyDAS ZD1211B]
-
-usb:v0411p00DB*
- ID_PRODUCT_FROM_DATABASE=External Hard Drive HD-PF32OU2 [Buffalo Ministation]
-
-usb:v0411p00E8*
- ID_PRODUCT_FROM_DATABASE=WLI-UC-G300N Wireless LAN Adapter [Ralink RT2870]
-
-usb:v0411p012E*
- ID_PRODUCT_FROM_DATABASE=WLI-UC-AG300N Wireless LAN Adapter
-
-usb:v0411p0148*
- ID_PRODUCT_FROM_DATABASE=WLI-UC-G300HP Wireless LAN Adapter
-
-usb:v0411p0150*
- ID_PRODUCT_FROM_DATABASE=WLP-UC-AG300 Wireless LAN Adapter
-
-usb:v0411p0157*
- ID_PRODUCT_FROM_DATABASE=External Hard Drive HD-PEU2
-
-usb:v0411p0158*
- ID_PRODUCT_FROM_DATABASE=WLI-UC-GNHP Wireless LAN Adapter
-
-usb:v0411p015D*
- ID_PRODUCT_FROM_DATABASE=WLI-UC-GN Wireless LAN Adapter [Ralink RT3070]
-
-usb:v0411p016F*
- ID_PRODUCT_FROM_DATABASE=WLI-UC-G301N Wireless LAN Adapter [Ralink RT3072]
-
-usb:v0411p017F*
- ID_PRODUCT_FROM_DATABASE=Sony UWA-BR100 802.11abgn Wireless Adapter [Atheros AR7010+AR9280]
-
-usb:v0411p019E*
- ID_PRODUCT_FROM_DATABASE=WLI-UC-GNP Wireless LAN Adapter
-
-usb:v0411p01A1*
- ID_PRODUCT_FROM_DATABASE=MiniStation Metro
-
-usb:v0411p01A2*
- ID_PRODUCT_FROM_DATABASE=WLI-UC-GNM Wireless LAN Adapter [Ralink RT8070]
-
-usb:v0411p01DC*
- ID_PRODUCT_FROM_DATABASE=Ultra-Slim Portable DVD Writer (DVSM-PC58U2V)
-
-usb:v0411p01DE*
- ID_PRODUCT_FROM_DATABASE=External Hard Drive HD-PCTU3 [Buffalo MiniStation]
-
-usb:v0411p01EE*
- ID_PRODUCT_FROM_DATABASE=WLI-UC-GNM2 Wireless LAN Adapter [Ralink RT3070]
-
-usb:v0411p01F1*
- ID_PRODUCT_FROM_DATABASE=SATA Adapter [HD-LBU3]
-
-usb:v0411p01FD*
- ID_PRODUCT_FROM_DATABASE=WLI-UC-G450 Wireless LAN Adapter
-
-usb:v0412*
- ID_VENDOR_FROM_DATABASE=Award Software International
-
-usb:v0413*
- ID_VENDOR_FROM_DATABASE=Leadtek Research, Inc.
-
-usb:v0413p1310*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - NTSC + FM
-
-usb:v0413p1311*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - NTSC + MTS + FM
-
-usb:v0413p1312*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - PAL BG + FM
-
-usb:v0413p1313*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - PAL BG+TXT + FM
-
-usb:v0413p1314*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP PAL I
-
-usb:v0413p1315*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP PAL I+TXT
-
-usb:v0413p1316*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP PAL DK
-
-usb:v0413p1317*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP PAL DK+TXT
-
-usb:v0413p1318*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - PAL I/DK + FM
-
-usb:v0413p1319*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - PAL N + FM
-
-usb:v0413p131A*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP SECAM LL
-
-usb:v0413p131B*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP SECAM LL+TXT
-
-usb:v0413p131C*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP SECAM DK
-
-usb:v0413p131D*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - SECAM DK + TXT + FM
-
-usb:v0413p131E*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - NTSC Japan + FM
-
-usb:v0413p1320*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - NTSC
-
-usb:v0413p1321*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - NTSC + MTS
-
-usb:v0413p1322*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - PAL BG
-
-usb:v0413p1323*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - PAL BG+TXT
-
-usb:v0413p1324*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP PAL I
-
-usb:v0413p1325*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP PAL I+TXT
-
-usb:v0413p1326*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP PAL DK
-
-usb:v0413p1327*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP PAL DK+TXT
-
-usb:v0413p1328*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - PAL I/DK
-
-usb:v0413p1329*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - PAL N
-
-usb:v0413p132A*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP SECAM LL
-
-usb:v0413p132B*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP SECAM LL+TXT
-
-usb:v0413p132C*
- ID_PRODUCT_FROM_DATABASE=WinFast TV Audio - PHP SECAM DK
-
-usb:v0413p132D*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - SECAM DK + TXT
-
-usb:v0413p132E*
- ID_PRODUCT_FROM_DATABASE=WinFast TV - NTSC Japan
-
-usb:v0413p6023*
- ID_PRODUCT_FROM_DATABASE=EMP Audio Device
-
-usb:v0413p6024*
- ID_PRODUCT_FROM_DATABASE=WinFast PalmTop/Novo TV Video
-
-usb:v0413p6025*
- ID_PRODUCT_FROM_DATABASE=WinFast DTV Dongle (cold state)
-
-usb:v0413p6026*
- ID_PRODUCT_FROM_DATABASE=WinFast DTV Dongle (warm state)
-
-usb:v0413p6029*
- ID_PRODUCT_FROM_DATABASE=WinFast DTV Dongle Gold
-
-usb:v0413p6125*
- ID_PRODUCT_FROM_DATABASE=WinFast DTV Dongle
-
-usb:v0413p6126*
- ID_PRODUCT_FROM_DATABASE=WinFast DTV Dongle BDA Driver
-
-usb:v0413p6A03*
- ID_PRODUCT_FROM_DATABASE=RTL2832 [WinFast DTV Dongle Mini]
-
-usb:v0413p6F00*
- ID_PRODUCT_FROM_DATABASE=WinFast DTV Dongle (STK7700P based)
-
-usb:v0414*
- ID_VENDOR_FROM_DATABASE=Giga-Byte Technology Co., Ltd
-
-usb:v0416*
- ID_VENDOR_FROM_DATABASE=Winbond Electronics Corp.
-
-usb:v0416p0035*
- ID_PRODUCT_FROM_DATABASE=W89C35 802.11bg WLAN Adapter
-
-usb:v0416p0101*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v0416p0961*
- ID_PRODUCT_FROM_DATABASE=AVL Flash Card Reader
-
-usb:v0416p3810*
- ID_PRODUCT_FROM_DATABASE=Smart Card Controller
-
-usb:v0416p3811*
- ID_PRODUCT_FROM_DATABASE=Generic Controller - Single interface
-
-usb:v0416p3812*
- ID_PRODUCT_FROM_DATABASE=Smart Card Controller_2Interface
-
-usb:v0416p3813*
- ID_PRODUCT_FROM_DATABASE=Panel Display
-
-usb:v0416p5518*
- ID_PRODUCT_FROM_DATABASE=4-Port Hub
-
-usb:v0416p551A*
- ID_PRODUCT_FROM_DATABASE=PC Sync Keypad
-
-usb:v0416p551B*
- ID_PRODUCT_FROM_DATABASE=PC Async Keypad
-
-usb:v0416p551C*
- ID_PRODUCT_FROM_DATABASE=Sync Tenkey
-
-usb:v0416p551D*
- ID_PRODUCT_FROM_DATABASE=Async Tenkey
-
-usb:v0416p551E*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v0416p551F*
- ID_PRODUCT_FROM_DATABASE=Keyboard w/ Sys and Media
-
-usb:v0416p5521*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v0416p6481*
- ID_PRODUCT_FROM_DATABASE=16-bit Scanner
-
-usb:v0416p7721*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Reader/Writer
-
-usb:v0416p7722*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Reader/Writer
-
-usb:v0416p7723*
- ID_PRODUCT_FROM_DATABASE=SD Card Reader
-
-usb:v0417*
- ID_VENDOR_FROM_DATABASE=Symbios Logic
-
-usb:v0418*
- ID_VENDOR_FROM_DATABASE=AST Research
-
-usb:v0419*
- ID_VENDOR_FROM_DATABASE=Samsung Info. Systems America, Inc.
-
-usb:v0419p0001*
- ID_PRODUCT_FROM_DATABASE=IrDA Remote Controller / Creative Cordless Mouse
-
-usb:v0419p0600*
- ID_PRODUCT_FROM_DATABASE=Desktop Wireless 6000
-
-usb:v0419p3001*
- ID_PRODUCT_FROM_DATABASE=Xerox P1202 Laser Printer
-
-usb:v0419p3003*
- ID_PRODUCT_FROM_DATABASE=Olivetti PG L12L
-
-usb:v0419p3201*
- ID_PRODUCT_FROM_DATABASE=Docuprint P8ex
-
-usb:v0419p3404*
- ID_PRODUCT_FROM_DATABASE=SCX-5x12 series
-
-usb:v0419p3406*
- ID_PRODUCT_FROM_DATABASE=MFP 830 series
-
-usb:v0419p3407*
- ID_PRODUCT_FROM_DATABASE=ML-912
-
-usb:v0419p3601*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v0419p3602*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v0419p4602*
- ID_PRODUCT_FROM_DATABASE=Remote NDIS Network Device
-
-usb:v0419p8001*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v0419p8002*
- ID_PRODUCT_FROM_DATABASE=SyncMaster HID Monitor Control
-
-usb:v0419pAA03*
- ID_PRODUCT_FROM_DATABASE=SDAS-3 MP3 Player
-
-usb:v041A*
- ID_VENDOR_FROM_DATABASE=Phoenix Technologies, Ltd
-
-usb:v041B*
- ID_VENDOR_FROM_DATABASE=d'TV
-
-usb:v041D*
- ID_VENDOR_FROM_DATABASE=S3, Inc.
-
-usb:v041E*
- ID_VENDOR_FROM_DATABASE=Creative Technology, Ltd
-
-usb:v041Ep1002*
- ID_PRODUCT_FROM_DATABASE=Nomad II
-
-usb:v041Ep1003*
- ID_PRODUCT_FROM_DATABASE=Blaster GamePad Cobra
-
-usb:v041Ep1050*
- ID_PRODUCT_FROM_DATABASE=GamePad Cobra
-
-usb:v041Ep1053*
- ID_PRODUCT_FROM_DATABASE=Mouse Gamer HD7600L
-
-usb:v041Ep200C*
- ID_PRODUCT_FROM_DATABASE=MuVo V100
-
-usb:v041Ep2020*
- ID_PRODUCT_FROM_DATABASE=Zen X-Fi 2
-
-usb:v041Ep2029*
- ID_PRODUCT_FROM_DATABASE=ZiiO
-
-usb:v041Ep2801*
- ID_PRODUCT_FROM_DATABASE=Prodikeys PC-MIDI multifunction keyboard
-
-usb:v041Ep3000*
- ID_PRODUCT_FROM_DATABASE=SoundBlaster Extigy
-
-usb:v041Ep3002*
- ID_PRODUCT_FROM_DATABASE=SB External Composite Device
-
-usb:v041Ep3010*
- ID_PRODUCT_FROM_DATABASE=SoundBlaster MP3+
-
-usb:v041Ep3014*
- ID_PRODUCT_FROM_DATABASE=SB External Composite Device
-
-usb:v041Ep3015*
- ID_PRODUCT_FROM_DATABASE=Sound Blaster Digital Music LX
-
-usb:v041Ep3020*
- ID_PRODUCT_FROM_DATABASE=SoundBlaster Audigy 2 NX
-
-usb:v041Ep3030*
- ID_PRODUCT_FROM_DATABASE=SB External Composite Device
-
-usb:v041Ep3040*
- ID_PRODUCT_FROM_DATABASE=SoundBlaster Live! 24-bit External SB0490
-
-usb:v041Ep3060*
- ID_PRODUCT_FROM_DATABASE=Sound Blaster Audigy 2 ZS External
-
-usb:v041Ep3061*
- ID_PRODUCT_FROM_DATABASE=SoundBlaster Audigy 2 ZS Video Editor
-
-usb:v041Ep3090*
- ID_PRODUCT_FROM_DATABASE=Sound Blaster Digital Music SX
-
-usb:v041Ep30D3*
- ID_PRODUCT_FROM_DATABASE=Sound Blaster Play!
-
-usb:v041Ep3121*
- ID_PRODUCT_FROM_DATABASE=WoW tap chat
-
-usb:v041Ep3F00*
- ID_PRODUCT_FROM_DATABASE=E-Mu Xboard 25 MIDI Controller
-
-usb:v041Ep3F02*
- ID_PRODUCT_FROM_DATABASE=E-Mu 0202
-
-usb:v041Ep3F04*
- ID_PRODUCT_FROM_DATABASE=E-Mu 0404
-
-usb:v041Ep3F07*
- ID_PRODUCT_FROM_DATABASE=E-Mu Xmidi 1x1
-
-usb:v041Ep4003*
- ID_PRODUCT_FROM_DATABASE=VideoBlaster Webcam Go Plus [W9967CF]
-
-usb:v041Ep4004*
- ID_PRODUCT_FROM_DATABASE=Nomad II MG
-
-usb:v041Ep4005*
- ID_PRODUCT_FROM_DATABASE=Webcam Blaster Go ES
-
-usb:v041Ep4007*
- ID_PRODUCT_FROM_DATABASE=Go Mini
-
-usb:v041Ep400A*
- ID_PRODUCT_FROM_DATABASE=PC-Cam 300
-
-usb:v041Ep400B*
- ID_PRODUCT_FROM_DATABASE=PC-Cam 600
-
-usb:v041Ep400C*
- ID_PRODUCT_FROM_DATABASE=Webcam 5 [pwc]
-
-usb:v041Ep400D*
- ID_PRODUCT_FROM_DATABASE=Webcam PD1001
-
-usb:v041Ep400F*
- ID_PRODUCT_FROM_DATABASE=PC-CAM 550 (Composite)
-
-usb:v041Ep4011*
- ID_PRODUCT_FROM_DATABASE=Webcam PRO eX
-
-usb:v041Ep4012*
- ID_PRODUCT_FROM_DATABASE=PC-CAM350
-
-usb:v041Ep4013*
- ID_PRODUCT_FROM_DATABASE=PC-Cam 750
-
-usb:v041Ep4015*
- ID_PRODUCT_FROM_DATABASE=CardCam Value
-
-usb:v041Ep4016*
- ID_PRODUCT_FROM_DATABASE=CardCam
-
-usb:v041Ep4017*
- ID_PRODUCT_FROM_DATABASE=Webcam Mobile [PD1090]
-
-usb:v041Ep4018*
- ID_PRODUCT_FROM_DATABASE=Webcam Vista [PD1100]
-
-usb:v041Ep4019*
- ID_PRODUCT_FROM_DATABASE=Audio Device
-
-usb:v041Ep401A*
- ID_PRODUCT_FROM_DATABASE=Webcam Vista [PD1100]
-
-usb:v041Ep401C*
- ID_PRODUCT_FROM_DATABASE=Webcam NX [PD1110]
-
-usb:v041Ep401D*
- ID_PRODUCT_FROM_DATABASE=Webcam NX Ultra
-
-usb:v041Ep401E*
- ID_PRODUCT_FROM_DATABASE=Webcam NX Pro
-
-usb:v041Ep401F*
- ID_PRODUCT_FROM_DATABASE=Webcam Notebook [PD1171]
-
-usb:v041Ep4020*
- ID_PRODUCT_FROM_DATABASE=Webcam NX
-
-usb:v041Ep4021*
- ID_PRODUCT_FROM_DATABASE=Webcam NX Ultra
-
-usb:v041Ep4022*
- ID_PRODUCT_FROM_DATABASE=Webcam NX Pro
-
-usb:v041Ep4028*
- ID_PRODUCT_FROM_DATABASE=Vista Plus cam [VF0090]
-
-usb:v041Ep4029*
- ID_PRODUCT_FROM_DATABASE=Webcam Live!
-
-usb:v041Ep402F*
- ID_PRODUCT_FROM_DATABASE=DC-CAM 3000Z
-
-usb:v041Ep4034*
- ID_PRODUCT_FROM_DATABASE=Webcam Instant
-
-usb:v041Ep4035*
- ID_PRODUCT_FROM_DATABASE=Webcam Instant
-
-usb:v041Ep4036*
- ID_PRODUCT_FROM_DATABASE=Webcam Live!/Live! Pro
-
-usb:v041Ep4037*
- ID_PRODUCT_FROM_DATABASE=Webcam Live!
-
-usb:v041Ep4038*
- ID_PRODUCT_FROM_DATABASE=ORITE CCD Webcam [PC370R]
-
-usb:v041Ep4039*
- ID_PRODUCT_FROM_DATABASE=Webcam Live! Effects
-
-usb:v041Ep403A*
- ID_PRODUCT_FROM_DATABASE=Webcam NX Pro 2
-
-usb:v041Ep403B*
- ID_PRODUCT_FROM_DATABASE=Creative Webcam Vista [VF0010]
-
-usb:v041Ep403C*
- ID_PRODUCT_FROM_DATABASE=Webcam Live! Ultra
-
-usb:v041Ep403D*
- ID_PRODUCT_FROM_DATABASE=Webcam Notebook Ultra
-
-usb:v041Ep403E*
- ID_PRODUCT_FROM_DATABASE=Webcam Vista Plus
-
-usb:v041Ep4041*
- ID_PRODUCT_FROM_DATABASE=Webcam Live! Motion
-
-usb:v041Ep4043*
- ID_PRODUCT_FROM_DATABASE=Vibra Plus Webcam
-
-usb:v041Ep4045*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Voice
-
-usb:v041Ep4049*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Voice
-
-usb:v041Ep4051*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Notebook Pro [VF0250]
-
-usb:v041Ep4052*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Vista IM
-
-usb:v041Ep4053*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Video IM
-
-usb:v041Ep4054*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Video IM
-
-usb:v041Ep4055*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Video IM Pro
-
-usb:v041Ep4056*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Video IM Pro
-
-usb:v041Ep4057*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Optia
-
-usb:v041Ep4058*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Optia AF
-
-usb:v041Ep4061*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Notebook Pro [VF0400]
-
-usb:v041Ep4063*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Video IM Pro
-
-usb:v041Ep4068*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Notebook [VF0470]
-
-usb:v041Ep406C*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Sync [VF0520]
-
-usb:v041Ep4083*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Socialize [VF0640]
-
-usb:v041Ep4087*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Socialize HD 1080 [VF0680]
-
-usb:v041Ep4088*
- ID_PRODUCT_FROM_DATABASE=Live! Cam Chat HD [VF0700]
-
-usb:v041Ep4100*
- ID_PRODUCT_FROM_DATABASE=Nomad Jukebox 2
-
-usb:v041Ep4101*
- ID_PRODUCT_FROM_DATABASE=Nomad Jukebox 3
-
-usb:v041Ep4102*
- ID_PRODUCT_FROM_DATABASE=NOMAD MuVo^2
-
-usb:v041Ep4106*
- ID_PRODUCT_FROM_DATABASE=Nomad MuVo
-
-usb:v041Ep4107*
- ID_PRODUCT_FROM_DATABASE=NOMAD MuVo
-
-usb:v041Ep4108*
- ID_PRODUCT_FROM_DATABASE=Nomad Jukebox Zen
-
-usb:v041Ep4109*
- ID_PRODUCT_FROM_DATABASE=Nomad Jukebox Zen NX
-
-usb:v041Ep410B*
- ID_PRODUCT_FROM_DATABASE=Nomad Jukebox Zen USB 2.0
-
-usb:v041Ep410C*
- ID_PRODUCT_FROM_DATABASE=Nomad MuVo NX
-
-usb:v041Ep410F*
- ID_PRODUCT_FROM_DATABASE=NOMAD MuVo^2 (Flash)
-
-usb:v041Ep4110*
- ID_PRODUCT_FROM_DATABASE=Nomad Jukebox Zen Xtra
-
-usb:v041Ep4111*
- ID_PRODUCT_FROM_DATABASE=Dell Digital Jukebox
-
-usb:v041Ep4116*
- ID_PRODUCT_FROM_DATABASE=MuVo^2
-
-usb:v041Ep4117*
- ID_PRODUCT_FROM_DATABASE=Nomad MuVo TX
-
-usb:v041Ep411B*
- ID_PRODUCT_FROM_DATABASE=Zen Touch
-
-usb:v041Ep411C*
- ID_PRODUCT_FROM_DATABASE=Nomad MuVo USB 2.0
-
-usb:v041Ep411D*
- ID_PRODUCT_FROM_DATABASE=Zen
-
-usb:v041Ep411E*
- ID_PRODUCT_FROM_DATABASE=Zen Micro
-
-usb:v041Ep4120*
- ID_PRODUCT_FROM_DATABASE=Nomad MuVo TX FM
-
-usb:v041Ep4123*
- ID_PRODUCT_FROM_DATABASE=Zen Portable Media Center
-
-usb:v041Ep4124*
- ID_PRODUCT_FROM_DATABASE=MuVo^2 FM (uHDD)
-
-usb:v041Ep4126*
- ID_PRODUCT_FROM_DATABASE=Dell DJ (2nd gen)
-
-usb:v041Ep4127*
- ID_PRODUCT_FROM_DATABASE=Dell DJ
-
-usb:v041Ep4128*
- ID_PRODUCT_FROM_DATABASE=NOMAD Jukebox Zen Xtra (mtp)
-
-usb:v041Ep412B*
- ID_PRODUCT_FROM_DATABASE=MuVo N200 with FM radio
-
-usb:v041Ep412F*
- ID_PRODUCT_FROM_DATABASE=Dell Digital Jukebox 2.Gen
-
-usb:v041Ep4130*
- ID_PRODUCT_FROM_DATABASE=Zen Micro (mtp)
-
-usb:v041Ep4131*
- ID_PRODUCT_FROM_DATABASE=Zen Touch (mtp)
-
-usb:v041Ep4133*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v041Ep4134*
- ID_PRODUCT_FROM_DATABASE=Zen Neeon
-
-usb:v041Ep4136*
- ID_PRODUCT_FROM_DATABASE=Zen Sleek
-
-usb:v041Ep4137*
- ID_PRODUCT_FROM_DATABASE=Zen Sleek (mtp)
-
-usb:v041Ep4139*
- ID_PRODUCT_FROM_DATABASE=Zen Nano Plus
-
-usb:v041Ep413C*
- ID_PRODUCT_FROM_DATABASE=Zen MicroPhoto
-
-usb:v041Ep4150*
- ID_PRODUCT_FROM_DATABASE=Zen V (MTP)
-
-usb:v041Ep4151*
- ID_PRODUCT_FROM_DATABASE=Zen Vision:M (mtp)
-
-usb:v041Ep4152*
- ID_PRODUCT_FROM_DATABASE=Zen V Plus
-
-usb:v041Ep4153*
- ID_PRODUCT_FROM_DATABASE=Zen Vision W
-
-usb:v041Ep4154*
- ID_PRODUCT_FROM_DATABASE=Zen Stone
-
-usb:v041Ep4155*
- ID_PRODUCT_FROM_DATABASE=Zen Stone plus
-
-usb:v041Ep4157*
- ID_PRODUCT_FROM_DATABASE=Zen (MTP)
-
-usb:v041Ep500F*
- ID_PRODUCT_FROM_DATABASE=Broadband Blaster 8012U-V
-
-usb:v041Ep5015*
- ID_PRODUCT_FROM_DATABASE=TECOM Bluetooth Device
-
-usb:v041EpFFFF*
- ID_PRODUCT_FROM_DATABASE=Webcam Live! Ultra
-
-usb:v041F*
- ID_VENDOR_FROM_DATABASE=LCS Telegraphics
-
-usb:v0420*
- ID_VENDOR_FROM_DATABASE=Chips and Technologies
-
-usb:v0420p1307*
- ID_PRODUCT_FROM_DATABASE=Celly SIM Card Reader
-
-usb:v0421*
- ID_VENDOR_FROM_DATABASE=Nokia Mobile Phones
-
-usb:v0421p0001*
- ID_PRODUCT_FROM_DATABASE=E61i (PC Suite mode)
-
-usb:v0421p0018*
- ID_PRODUCT_FROM_DATABASE=6288 GSM Smartphone
-
-usb:v0421p0019*
- ID_PRODUCT_FROM_DATABASE=6288 GSM Smartphone (imaging mode)
-
-usb:v0421p001A*
- ID_PRODUCT_FROM_DATABASE=6288 GSM Smartphone (file transfer mode)
-
-usb:v0421p0024*
- ID_PRODUCT_FROM_DATABASE=5610 XpressMusic (Storage mode)
-
-usb:v0421p0025*
- ID_PRODUCT_FROM_DATABASE=5610 XpressMusic (PC Suite mode)
-
-usb:v0421p0028*
- ID_PRODUCT_FROM_DATABASE=5610 XpressMusic (Imaging mode)
-
-usb:v0421p002D*
- ID_PRODUCT_FROM_DATABASE=6120 Phone (Mass storage mode)
-
-usb:v0421p002E*
- ID_PRODUCT_FROM_DATABASE=6120 Phone (Media-Player mode)
-
-usb:v0421p002F*
- ID_PRODUCT_FROM_DATABASE=6120 Phone (PC-Suite mode)
-
-usb:v0421p0042*
- ID_PRODUCT_FROM_DATABASE=E51 (PC Suite mode)
-
-usb:v0421p0064*
- ID_PRODUCT_FROM_DATABASE=3109c GSM Phone
-
-usb:v0421p006B*
- ID_PRODUCT_FROM_DATABASE=5310 Xpress Music (PC Suite mode)
-
-usb:v0421p006C*
- ID_PRODUCT_FROM_DATABASE=5310 Xpress music (Storage mode)
-
-usb:v0421p006D*
- ID_PRODUCT_FROM_DATABASE=N95 (Storage mode)
-
-usb:v0421p006E*
- ID_PRODUCT_FROM_DATABASE=N95 (Multimedia mode)
-
-usb:v0421p006F*
- ID_PRODUCT_FROM_DATABASE=N95 (Printing mode)
-
-usb:v0421p0070*
- ID_PRODUCT_FROM_DATABASE=N95 (PC Suite mode)
-
-usb:v0421p0096*
- ID_PRODUCT_FROM_DATABASE=N810 Internet Tablet
-
-usb:v0421p00AA*
- ID_PRODUCT_FROM_DATABASE=E71 (Mass storage mode)
-
-usb:v0421p00AB*
- ID_PRODUCT_FROM_DATABASE=E71 (PC Suite mode)
-
-usb:v0421p00E4*
- ID_PRODUCT_FROM_DATABASE=E71 (Media transfer mode)
-
-usb:v0421p0103*
- ID_PRODUCT_FROM_DATABASE=ADL Flashing Engine AVALON Parent
-
-usb:v0421p0104*
- ID_PRODUCT_FROM_DATABASE=ADL Re-Flashing Engine Parent
-
-usb:v0421p0105*
- ID_PRODUCT_FROM_DATABASE=Nokia Firmware Upgrade Mode
-
-usb:v0421p0106*
- ID_PRODUCT_FROM_DATABASE=ROM Parent
-
-usb:v0421p0154*
- ID_PRODUCT_FROM_DATABASE=5800 XpressMusic (PC Suite mode)
-
-usb:v0421p0155*
- ID_PRODUCT_FROM_DATABASE=5800 XpressMusic (Multimedia mode)
-
-usb:v0421p0156*
- ID_PRODUCT_FROM_DATABASE=5800 XpressMusic (Storage mode)
-
-usb:v0421p0157*
- ID_PRODUCT_FROM_DATABASE=5800 XpressMusic (Imaging mode)
-
-usb:v0421p0199*
- ID_PRODUCT_FROM_DATABASE=6700 Classic (msc)
-
-usb:v0421p019A*
- ID_PRODUCT_FROM_DATABASE=6700 Classic (PC Suite)
-
-usb:v0421p019B*
- ID_PRODUCT_FROM_DATABASE=6700 Classic (mtp)
-
-usb:v0421p01B0*
- ID_PRODUCT_FROM_DATABASE=6303 classic Phone (PC Suite mode)
-
-usb:v0421p01B1*
- ID_PRODUCT_FROM_DATABASE=6303 classic Phone (Mass storage mode)
-
-usb:v0421p01B2*
- ID_PRODUCT_FROM_DATABASE=6303 classic Phone (Printing and media mode)
-
-usb:v0421p01C7*
- ID_PRODUCT_FROM_DATABASE=N900 (Storage Mode)
-
-usb:v0421p01C8*
- ID_PRODUCT_FROM_DATABASE=N900 (PC-Suite Mode)
-
-usb:v0421p0228*
- ID_PRODUCT_FROM_DATABASE=5530 XpressMusic
-
-usb:v0421p023A*
- ID_PRODUCT_FROM_DATABASE=6730 Classic
-
-usb:v0421p026A*
- ID_PRODUCT_FROM_DATABASE=N97 (mass storage)
-
-usb:v0421p026B*
- ID_PRODUCT_FROM_DATABASE=N97 (Multimedia)
-
-usb:v0421p026C*
- ID_PRODUCT_FROM_DATABASE=N97 (PC Suite)
-
-usb:v0421p026D*
- ID_PRODUCT_FROM_DATABASE=N97 (Pictures)
-
-usb:v0421p0295*
- ID_PRODUCT_FROM_DATABASE=660i/6600i Slide Phone (Mass Storage)
-
-usb:v0421p0297*
- ID_PRODUCT_FROM_DATABASE=660i/6600i Slide Phone (Still Image)
-
-usb:v0421p02E1*
- ID_PRODUCT_FROM_DATABASE=5230 (Storage mode)
-
-usb:v0421p02E2*
- ID_PRODUCT_FROM_DATABASE=5230 (Multimedia mode)
-
-usb:v0421p02E3*
- ID_PRODUCT_FROM_DATABASE=5230 (PC-Suite mode)
-
-usb:v0421p02E4*
- ID_PRODUCT_FROM_DATABASE=5230 (Imaging mode)
-
-usb:v0421p0360*
- ID_PRODUCT_FROM_DATABASE=C1-01 Ovi Suite Mode
-
-usb:v0421p03A4*
- ID_PRODUCT_FROM_DATABASE=C5 (Storage mode)
-
-usb:v0421p03C0*
- ID_PRODUCT_FROM_DATABASE=C7-00
-
-usb:v0421p03D1*
- ID_PRODUCT_FROM_DATABASE=N950
-
-usb:v0421p0400*
- ID_PRODUCT_FROM_DATABASE=7600 Phone Parent
-
-usb:v0421p0401*
- ID_PRODUCT_FROM_DATABASE=6650 GSM Phone
-
-usb:v0421p0402*
- ID_PRODUCT_FROM_DATABASE=6255 Phone Parent
-
-usb:v0421p0404*
- ID_PRODUCT_FROM_DATABASE=5510
-
-usb:v0421p0405*
- ID_PRODUCT_FROM_DATABASE=9500 GSM Communicator
-
-usb:v0421p0407*
- ID_PRODUCT_FROM_DATABASE=Music Player HDR-1(tm)
-
-usb:v0421p040B*
- ID_PRODUCT_FROM_DATABASE=N-Gage GSM Phone
-
-usb:v0421p040D*
- ID_PRODUCT_FROM_DATABASE=6620 Phone Parent
-
-usb:v0421p040E*
- ID_PRODUCT_FROM_DATABASE=6651 Phone Parent
-
-usb:v0421p040F*
- ID_PRODUCT_FROM_DATABASE=6230 GSM Phone
-
-usb:v0421p0410*
- ID_PRODUCT_FROM_DATABASE=6630 Imaging Smartphone
-
-usb:v0421p0411*
- ID_PRODUCT_FROM_DATABASE=7610 Phone Parent
-
-usb:v0421p0413*
- ID_PRODUCT_FROM_DATABASE=6260 Phone Parent
-
-usb:v0421p0414*
- ID_PRODUCT_FROM_DATABASE=7370
-
-usb:v0421p0415*
- ID_PRODUCT_FROM_DATABASE=9300 GSM Smartphone
-
-usb:v0421p0416*
- ID_PRODUCT_FROM_DATABASE=6170 Phone Parent
-
-usb:v0421p0417*
- ID_PRODUCT_FROM_DATABASE=7270 Phone Parent
-
-usb:v0421p0418*
- ID_PRODUCT_FROM_DATABASE=E70 (PC Suite mode)
-
-usb:v0421p0419*
- ID_PRODUCT_FROM_DATABASE=E60 (PC Suite mode)
-
-usb:v0421p041A*
- ID_PRODUCT_FROM_DATABASE=9500 GSM Communicator (RNDIS)
-
-usb:v0421p041B*
- ID_PRODUCT_FROM_DATABASE=9300 GSM Smartphone (RNDIS)
-
-usb:v0421p041C*
- ID_PRODUCT_FROM_DATABASE=7710 Phone Parent
-
-usb:v0421p041D*
- ID_PRODUCT_FROM_DATABASE=6670 Phone Parent
-
-usb:v0421p041E*
- ID_PRODUCT_FROM_DATABASE=6680
-
-usb:v0421p041F*
- ID_PRODUCT_FROM_DATABASE=6235 Phone Parent
-
-usb:v0421p0421*
- ID_PRODUCT_FROM_DATABASE=3230 Phone Parent
-
-usb:v0421p0422*
- ID_PRODUCT_FROM_DATABASE=6681 Phone Parent
-
-usb:v0421p0423*
- ID_PRODUCT_FROM_DATABASE=6682 Phone Parent
-
-usb:v0421p0428*
- ID_PRODUCT_FROM_DATABASE=6230i Modem
-
-usb:v0421p0429*
- ID_PRODUCT_FROM_DATABASE=6230i MultiMedia Card
-
-usb:v0421p0431*
- ID_PRODUCT_FROM_DATABASE=770 Internet Tablet
-
-usb:v0421p0432*
- ID_PRODUCT_FROM_DATABASE=N90 Phone Parent
-
-usb:v0421p0435*
- ID_PRODUCT_FROM_DATABASE=E70 (IP Passthrough/RNDIS mode)
-
-usb:v0421p0436*
- ID_PRODUCT_FROM_DATABASE=E60 (IP Passthrough/RNDIS mode)
-
-usb:v0421p0437*
- ID_PRODUCT_FROM_DATABASE=6265 Phone Parent
-
-usb:v0421p043A*
- ID_PRODUCT_FROM_DATABASE=N70 USB Phone Parent
-
-usb:v0421p043B*
- ID_PRODUCT_FROM_DATABASE=3155 Phone Parent
-
-usb:v0421p043C*
- ID_PRODUCT_FROM_DATABASE=6155 Phone Parent
-
-usb:v0421p043D*
- ID_PRODUCT_FROM_DATABASE=6270 Phone Parent
-
-usb:v0421p0443*
- ID_PRODUCT_FROM_DATABASE=N70 Phone Parent
-
-usb:v0421p0444*
- ID_PRODUCT_FROM_DATABASE=N91
-
-usb:v0421p044C*
- ID_PRODUCT_FROM_DATABASE=NM850iG Phone Parent
-
-usb:v0421p044D*
- ID_PRODUCT_FROM_DATABASE=E61 (PC Suite mode)
-
-usb:v0421p044E*
- ID_PRODUCT_FROM_DATABASE=E61 (Data Exchange mode)
-
-usb:v0421p044F*
- ID_PRODUCT_FROM_DATABASE=E61 (IP Passthrough/RNDIS mode)
-
-usb:v0421p0453*
- ID_PRODUCT_FROM_DATABASE=9300 Phone Parent
-
-usb:v0421p0456*
- ID_PRODUCT_FROM_DATABASE=6111 Phone Parent
-
-usb:v0421p0457*
- ID_PRODUCT_FROM_DATABASE=6111 Phone (Printing mode)
-
-usb:v0421p045A*
- ID_PRODUCT_FROM_DATABASE=6280 Phone Parent
-
-usb:v0421p045D*
- ID_PRODUCT_FROM_DATABASE=6282 Phone Parent
-
-usb:v0421p046E*
- ID_PRODUCT_FROM_DATABASE=6110 Navigator
-
-usb:v0421p0471*
- ID_PRODUCT_FROM_DATABASE=6110 Navigator
-
-usb:v0421p0485*
- ID_PRODUCT_FROM_DATABASE=MTP Device
-
-usb:v0421p04B9*
- ID_PRODUCT_FROM_DATABASE=5300
-
-usb:v0421p04C3*
- ID_PRODUCT_FROM_DATABASE=N800 Internet Tablet
-
-usb:v0421p04CE*
- ID_PRODUCT_FROM_DATABASE=E90 Communicator (PC Suite mode)
-
-usb:v0421p04CF*
- ID_PRODUCT_FROM_DATABASE=E90 Communicator (Storage mode)
-
-usb:v0421p04F0*
- ID_PRODUCT_FROM_DATABASE=Nokia N95 (PC Suite mode)
-
-usb:v0421p04F9*
- ID_PRODUCT_FROM_DATABASE=6300 (PC Suite mode)
-
-usb:v0421p0508*
- ID_PRODUCT_FROM_DATABASE=E65 (PC Suite mode)
-
-usb:v0421p0509*
- ID_PRODUCT_FROM_DATABASE=E65 (Storage mode)
-
-usb:v0421p0518*
- ID_PRODUCT_FROM_DATABASE=N9 Phone
-
-usb:v0421p0600*
- ID_PRODUCT_FROM_DATABASE=Digital Pen SU-1B
-
-usb:v0421p0610*
- ID_PRODUCT_FROM_DATABASE=CS-15 (Internet Stick 3G modem)
-
-usb:v0421p0800*
- ID_PRODUCT_FROM_DATABASE=Connectivity Cable DKU-5
-
-usb:v0421p0801*
- ID_PRODUCT_FROM_DATABASE=Data Cable DKU-6
-
-usb:v0421p0802*
- ID_PRODUCT_FROM_DATABASE=CA-42 Phone Parent
-
-usb:v0422*
- ID_VENDOR_FROM_DATABASE=ADI Systems, Inc.
-
-usb:v0423*
- ID_VENDOR_FROM_DATABASE=Computer Access Technology Corp.
-
-usb:v0423p000A*
- ID_PRODUCT_FROM_DATABASE=NetMate Ethernet
-
-usb:v0423p000C*
- ID_PRODUCT_FROM_DATABASE=NetMate2 Ethernet
-
-usb:v0423p000D*
- ID_PRODUCT_FROM_DATABASE=USB Chief Analyzer
-
-usb:v0423p0100*
- ID_PRODUCT_FROM_DATABASE=Generic Universal Protocol Analyzer
-
-usb:v0423p0101*
- ID_PRODUCT_FROM_DATABASE=UPA USBTracer
-
-usb:v0423p0200*
- ID_PRODUCT_FROM_DATABASE=Generic 10K Universal Protocol Analyzer
-
-usb:v0423p020A*
- ID_PRODUCT_FROM_DATABASE=PETracer ML
-
-usb:v0423p0300*
- ID_PRODUCT_FROM_DATABASE=Generic Universal Protocol Analyzer
-
-usb:v0423p0301*
- ID_PRODUCT_FROM_DATABASE=2500H Tracer Trainer
-
-usb:v0423p030A*
- ID_PRODUCT_FROM_DATABASE=PETracer x1
-
-usb:v0423p1237*
- ID_PRODUCT_FROM_DATABASE=Andromeda Hub
-
-usb:v0424*
- ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
-
-usb:v0424p0001*
- ID_PRODUCT_FROM_DATABASE=Integrated Hub
-
-usb:v0424p0ACD*
- ID_PRODUCT_FROM_DATABASE=Sitecom Internal Multi Memory reader/writer MD-005
-
-usb:v0424p0FDC*
- ID_PRODUCT_FROM_DATABASE=Floppy
-
-usb:v0424p10CD*
- ID_PRODUCT_FROM_DATABASE=Sitecom Internal Multi Memory reader/writer MD-005
-
-usb:v0424p2020*
- ID_PRODUCT_FROM_DATABASE=USB Hub
-
-usb:v0424p20CD*
- ID_PRODUCT_FROM_DATABASE=Sitecom Internal Multi Memory reader/writer MD-005
-
-usb:v0424p20FC*
- ID_PRODUCT_FROM_DATABASE=6-in-1 Card Reader
-
-usb:v0424p2228*
- ID_PRODUCT_FROM_DATABASE=9-in-2 Card Reader
-
-usb:v0424p223A*
- ID_PRODUCT_FROM_DATABASE=8-in-1 Card Reader
-
-usb:v0424p2503*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Hub
-
-usb:v0424p2504*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Hub
-
-usb:v0424p2512*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Hub
-
-usb:v0424p2513*
- ID_PRODUCT_FROM_DATABASE=2.0 Hub
-
-usb:v0424p2514*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Hub
-
-usb:v0424p2517*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v0424p2524*
- ID_PRODUCT_FROM_DATABASE=USB MultiSwitch Hub
-
-usb:v0424p2602*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Hub
-
-usb:v0424p2640*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Hub
-
-usb:v0424p4060*
- ID_PRODUCT_FROM_DATABASE=Ultra Fast Media Reader
-
-usb:v0424p4064*
- ID_PRODUCT_FROM_DATABASE=Ultra Fast Media Reader
-
-usb:v0424p9512*
- ID_PRODUCT_FROM_DATABASE=LAN9500 Ethernet 10/100 Adapter
-
-usb:v0424pA700*
- ID_PRODUCT_FROM_DATABASE=2 Port Hub
-
-usb:v0425*
- ID_VENDOR_FROM_DATABASE=Motorola Semiconductors HK, Ltd
-
-usb:v0425p0101*
- ID_PRODUCT_FROM_DATABASE=G-Tech Wireless Mouse & Keyboard
-
-usb:v0425pF102*
- ID_PRODUCT_FROM_DATABASE=G-Tech U+P Wireless Mouse
-
-usb:v0426*
- ID_VENDOR_FROM_DATABASE=Integrated Device Technology, Inc.
-
-usb:v0426p0426*
- ID_PRODUCT_FROM_DATABASE=WDM Driver
-
-usb:v0427*
- ID_VENDOR_FROM_DATABASE=Motorola Electronics Taiwan, Ltd
-
-usb:v0428*
- ID_VENDOR_FROM_DATABASE=Advanced Gravis Computer Tech, Ltd
-
-usb:v0428p4001*
- ID_PRODUCT_FROM_DATABASE=GamePad Pro
-
-usb:v0429*
- ID_VENDOR_FROM_DATABASE=Cirrus Logic
-
-usb:v042A*
- ID_VENDOR_FROM_DATABASE=Ericsson Austrian, AG
-
-usb:v042B*
- ID_VENDOR_FROM_DATABASE=Intel Corp.
-
-usb:v042Bp9316*
- ID_PRODUCT_FROM_DATABASE=8x931Hx Customer Hub
-
-usb:v042C*
- ID_VENDOR_FROM_DATABASE=Innovative Semiconductors, Inc.
-
-usb:v042D*
- ID_VENDOR_FROM_DATABASE=Micronics
-
-usb:v042E*
- ID_VENDOR_FROM_DATABASE=Acer, Inc.
-
-usb:v042Ep0380*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v042F*
- ID_VENDOR_FROM_DATABASE=Molex, Inc.
-
-usb:v0430*
- ID_VENDOR_FROM_DATABASE=Sun Microsystems, Inc.
-
-usb:v0430p0002*
- ID_PRODUCT_FROM_DATABASE=109 Keyboard
-
-usb:v0430p0005*
- ID_PRODUCT_FROM_DATABASE=Type 6 Keyboard
-
-usb:v0430p000A*
- ID_PRODUCT_FROM_DATABASE=109 Japanese Keyboard
-
-usb:v0430p000B*
- ID_PRODUCT_FROM_DATABASE=109 Japanese Keyboard
-
-usb:v0430p0082*
- ID_PRODUCT_FROM_DATABASE=109 Japanese Keyboard
-
-usb:v0430p0083*
- ID_PRODUCT_FROM_DATABASE=109 Japanese Keyboard
-
-usb:v0430p00A2*
- ID_PRODUCT_FROM_DATABASE=Type 7 Keyboard
-
-usb:v0430p0100*
- ID_PRODUCT_FROM_DATABASE=3-button Mouse
-
-usb:v0430p100E*
- ID_PRODUCT_FROM_DATABASE=24.1" LCD Monitor v4 / FID-638 Mouse
-
-usb:v0430p36BA*
- ID_PRODUCT_FROM_DATABASE=Bus Powered Hub
-
-usb:v0430pA101*
- ID_PRODUCT_FROM_DATABASE=remote key/mouse for P3 chip
-
-usb:v0430pA102*
- ID_PRODUCT_FROM_DATABASE=remote key/mouse/storage for P3 chip
-
-usb:v0430pA103*
- ID_PRODUCT_FROM_DATABASE=remote storage for P3 chip
-
-usb:v0430pA4A2*
- ID_PRODUCT_FROM_DATABASE=Ethernet (RNDIS and CDC ethernet)
-
-usb:v0430pCDAB*
- ID_PRODUCT_FROM_DATABASE=Raritan KVM dongle
-
-usb:v0431*
- ID_VENDOR_FROM_DATABASE=Itac Systems, Inc.
-
-usb:v0431p0100*
- ID_PRODUCT_FROM_DATABASE=Mouse-Trak 3-button Track Ball
-
-usb:v0432*
- ID_VENDOR_FROM_DATABASE=Unisys Corp.
-
-usb:v0433*
- ID_VENDOR_FROM_DATABASE=Alps Electric, Inc.
-
-usb:v0433p1101*
- ID_PRODUCT_FROM_DATABASE=IBM Game Controller
-
-usb:v0433pABAB*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v0434*
- ID_VENDOR_FROM_DATABASE=Samsung Info. Systems America, Inc.
-
-usb:v0435*
- ID_VENDOR_FROM_DATABASE=Hyundai Electronics America
-
-usb:v0436*
- ID_VENDOR_FROM_DATABASE=Taugagreining HF
-
-usb:v0436p0005*
- ID_PRODUCT_FROM_DATABASE=CameraMate (DPCM_USB)
-
-usb:v0437*
- ID_VENDOR_FROM_DATABASE=Framatome Connectors USA
-
-usb:v0438*
- ID_VENDOR_FROM_DATABASE=Advanced Micro Devices, Inc.
-
-usb:v0439*
- ID_VENDOR_FROM_DATABASE=Voice Technologies Group
-
-usb:v043D*
- ID_VENDOR_FROM_DATABASE=Lexmark International, Inc.
-
-usb:v043Dp0001*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp0002*
- ID_PRODUCT_FROM_DATABASE=Optra E310 Printer
-
-usb:v043Dp0003*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp0004*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp0005*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp0006*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp0007*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp0008*
- ID_PRODUCT_FROM_DATABASE=Inkjet Color Printer
-
-usb:v043Dp0009*
- ID_PRODUCT_FROM_DATABASE=Optra S2450 Printer
-
-usb:v043Dp000A*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp000B*
- ID_PRODUCT_FROM_DATABASE=Inkjet Color Printer
-
-usb:v043Dp000C*
- ID_PRODUCT_FROM_DATABASE=Optra E312 Printer
-
-usb:v043Dp000D*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp000E*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp000F*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp0010*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp0011*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp0012*
- ID_PRODUCT_FROM_DATABASE=Inkjet Color Printer
-
-usb:v043Dp0013*
- ID_PRODUCT_FROM_DATABASE=Inkjet Color Printer
-
-usb:v043Dp0014*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0015*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0016*
- ID_PRODUCT_FROM_DATABASE=Z12 Color Jetprinter
-
-usb:v043Dp0017*
- ID_PRODUCT_FROM_DATABASE=Z32 printer
-
-usb:v043Dp0018*
- ID_PRODUCT_FROM_DATABASE=Z52 Printer
-
-usb:v043Dp0019*
- ID_PRODUCT_FROM_DATABASE=Forms Printer
-
-usb:v043Dp001A*
- ID_PRODUCT_FROM_DATABASE=Z65 Printer
-
-usb:v043Dp001B*
- ID_PRODUCT_FROM_DATABASE=InkJet Photo Printer
-
-usb:v043Dp001C*
- ID_PRODUCT_FROM_DATABASE=Kodak Personal Picture Maker 200 Printer
-
-usb:v043Dp001D*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp001E*
- ID_PRODUCT_FROM_DATABASE=InkJet Photo Printer
-
-usb:v043Dp001F*
- ID_PRODUCT_FROM_DATABASE=Kodak Personal Picture Maker 200 Card Reader
-
-usb:v043Dp0020*
- ID_PRODUCT_FROM_DATABASE=Z51 Printer
-
-usb:v043Dp0021*
- ID_PRODUCT_FROM_DATABASE=Z33 Printer
-
-usb:v043Dp0022*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0023*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp0024*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp0025*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0026*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0027*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0028*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0029*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp002A*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp002B*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp002C*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp002D*
- ID_PRODUCT_FROM_DATABASE=X70/X73 Scan/Print/Copy
-
-usb:v043Dp002E*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp002F*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0030*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0031*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0032*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0033*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0034*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0035*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0036*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0037*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0038*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0039*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp003A*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp003B*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp003C*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp003D*
- ID_PRODUCT_FROM_DATABASE=X83 Scan/Print/Copy
-
-usb:v043Dp003E*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp003F*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0040*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0041*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0042*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0043*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0044*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0045*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0046*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0047*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0048*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp0049*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp004A*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp004B*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp004C*
- ID_PRODUCT_FROM_DATABASE=Scan Print Copy
-
-usb:v043Dp004D*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp004E*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp004F*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0050*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0051*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp0052*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp0053*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0054*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0057*
- ID_PRODUCT_FROM_DATABASE=Z35 Printer
-
-usb:v043Dp0058*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v043Dp005A*
- ID_PRODUCT_FROM_DATABASE=X63
-
-usb:v043Dp005C*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0060*
- ID_PRODUCT_FROM_DATABASE=X74/X75 Scanner
-
-usb:v043Dp0061*
- ID_PRODUCT_FROM_DATABASE=X74 Hub
-
-usb:v043Dp0065*
- ID_PRODUCT_FROM_DATABASE=X5130
-
-usb:v043Dp0069*
- ID_PRODUCT_FROM_DATABASE=X74/X75 Printer
-
-usb:v043Dp006D*
- ID_PRODUCT_FROM_DATABASE=X125
-
-usb:v043Dp006E*
- ID_PRODUCT_FROM_DATABASE=C510
-
-usb:v043Dp0072*
- ID_PRODUCT_FROM_DATABASE=X6170 Printer
-
-usb:v043Dp0073*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0078*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp0079*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp007A*
- ID_PRODUCT_FROM_DATABASE=Generic Hub
-
-usb:v043Dp007B*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp007C*
- ID_PRODUCT_FROM_DATABASE=X1110/X1130/X1140/X1150/X1170/X1180/X1185
-
-usb:v043Dp007D*
- ID_PRODUCT_FROM_DATABASE=Photo 3150
-
-usb:v043Dp008A*
- ID_PRODUCT_FROM_DATABASE=4200 series
-
-usb:v043Dp008B*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp008C*
- ID_PRODUCT_FROM_DATABASE=to CF/SM/SD/MS Card Reader
-
-usb:v043Dp008E*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp008F*
- ID_PRODUCT_FROM_DATABASE=X422
-
-usb:v043Dp0093*
- ID_PRODUCT_FROM_DATABASE=X5250
-
-usb:v043Dp0095*
- ID_PRODUCT_FROM_DATABASE=E220 Printer
-
-usb:v043Dp0096*
- ID_PRODUCT_FROM_DATABASE=2200 series
-
-usb:v043Dp0097*
- ID_PRODUCT_FROM_DATABASE=P6250
-
-usb:v043Dp0098*
- ID_PRODUCT_FROM_DATABASE=7100 series
-
-usb:v043Dp009E*
- ID_PRODUCT_FROM_DATABASE=P910 series Human Interface Device
-
-usb:v043Dp009F*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp00A9*
- ID_PRODUCT_FROM_DATABASE=IBM Infoprint 1410 MFP
-
-usb:v043Dp00AB*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp00B2*
- ID_PRODUCT_FROM_DATABASE=3300 series
-
-usb:v043Dp00B8*
- ID_PRODUCT_FROM_DATABASE=7300 series
-
-usb:v043Dp00B9*
- ID_PRODUCT_FROM_DATABASE=8300 series
-
-usb:v043Dp00BA*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp00BB*
- ID_PRODUCT_FROM_DATABASE=2300 series
-
-usb:v043Dp00BD*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v043Dp00BE*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v043Dp00BF*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v043Dp00C0*
- ID_PRODUCT_FROM_DATABASE=6300 series
-
-usb:v043Dp00C1*
- ID_PRODUCT_FROM_DATABASE=4300 series
-
-usb:v043Dp00C7*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v043Dp00C8*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v043Dp00C9*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v043Dp00CB*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v043Dp00CC*
- ID_PRODUCT_FROM_DATABASE=E120(n)
-
-usb:v043Dp00D0*
- ID_PRODUCT_FROM_DATABASE=9300 series
-
-usb:v043Dp00D3*
- ID_PRODUCT_FROM_DATABASE=X340 Scanner
-
-usb:v043Dp00D4*
- ID_PRODUCT_FROM_DATABASE=X342n Scanner
-
-usb:v043Dp00D5*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v043Dp00D6*
- ID_PRODUCT_FROM_DATABASE=X340 Scanner
-
-usb:v043Dp00E8*
- ID_PRODUCT_FROM_DATABASE=X642e
-
-usb:v043Dp00E9*
- ID_PRODUCT_FROM_DATABASE=2400 series
-
-usb:v043Dp00F6*
- ID_PRODUCT_FROM_DATABASE=3400 series
-
-usb:v043Dp00F7*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp00FF*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v043Dp010B*
- ID_PRODUCT_FROM_DATABASE=2500 series
-
-usb:v043Dp010D*
- ID_PRODUCT_FROM_DATABASE=3500-4500 series
-
-usb:v043Dp010F*
- ID_PRODUCT_FROM_DATABASE=6500 series
-
-usb:v043Dp0142*
- ID_PRODUCT_FROM_DATABASE=X3650 (Printer, Scanner, Copier)
-
-usb:v043Dp4303*
- ID_PRODUCT_FROM_DATABASE=Xerox WorkCentre Pro 412
-
-usb:v043E*
- ID_VENDOR_FROM_DATABASE=LG Electronics USA, Inc.
-
-usb:v043Ep3001*
- ID_PRODUCT_FROM_DATABASE=AN-WF100 802.11abgn Wireless Adapter [Broadcom BCM4323]
-
-usb:v043Ep42BD*
- ID_PRODUCT_FROM_DATABASE=Flatron 795FT Plus Monitor
-
-usb:v043Ep4A4D*
- ID_PRODUCT_FROM_DATABASE=Flatron 915FT Plus Monitor
-
-usb:v043Ep7001*
- ID_PRODUCT_FROM_DATABASE=MF-PD100 Soul Digital MP3 Player
-
-usb:v043Ep7013*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v043Ep8484*
- ID_PRODUCT_FROM_DATABASE=LPC-U30 Webcam II
-
-usb:v043Ep8585*
- ID_PRODUCT_FROM_DATABASE=LPC-UC35 Webcam
-
-usb:v043Ep8888*
- ID_PRODUCT_FROM_DATABASE=Electronics VCS Camera II(LPC-U20)
-
-usb:v043Ep9800*
- ID_PRODUCT_FROM_DATABASE=Remote Control Receiver_iMON
-
-usb:v043Ep9803*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v043Ep9804*
- ID_PRODUCT_FROM_DATABASE=DMB Receiver Control
-
-usb:v043Ep9C01*
- ID_PRODUCT_FROM_DATABASE=LGE Sync
-
-usb:v043F*
- ID_VENDOR_FROM_DATABASE=RadiSys Corp.
-
-usb:v0440*
- ID_VENDOR_FROM_DATABASE=Eizo Nanao Corp.
-
-usb:v0441*
- ID_VENDOR_FROM_DATABASE=Winbond Systems Lab.
-
-usb:v0441p1456*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v0442*
- ID_VENDOR_FROM_DATABASE=Ericsson, Inc.
-
-usb:v0442pABBA*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0443*
- ID_VENDOR_FROM_DATABASE=Gateway, Inc.
-
-usb:v0443p000E*
- ID_PRODUCT_FROM_DATABASE=Multimedia Keyboard
-
-usb:v0443p002E*
- ID_PRODUCT_FROM_DATABASE=Millennium Keyboard
-
-usb:v0445*
- ID_VENDOR_FROM_DATABASE=Lucent Technologies, Inc.
-
-usb:v0446*
- ID_VENDOR_FROM_DATABASE=NMB Technologies Corp.
-
-usb:v0446p6781*
- ID_PRODUCT_FROM_DATABASE=Keyboard with PS/2 Mouse Port
-
-usb:v0446p6782*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v0447*
- ID_VENDOR_FROM_DATABASE=Momentum Microsystems
-
-usb:v044A*
- ID_VENDOR_FROM_DATABASE=Shamrock Tech. Co., Ltd
-
-usb:v044B*
- ID_VENDOR_FROM_DATABASE=WSI
-
-usb:v044C*
- ID_VENDOR_FROM_DATABASE=CCL/ITRI
-
-usb:v044D*
- ID_VENDOR_FROM_DATABASE=Siemens Nixdorf AG
-
-usb:v044E*
- ID_VENDOR_FROM_DATABASE=Alps Electric Co., Ltd
-
-usb:v044Ep1104*
- ID_PRODUCT_FROM_DATABASE=Japanese Keyboard
-
-usb:v044Ep2002*
- ID_PRODUCT_FROM_DATABASE=MD-5500 Printer
-
-usb:v044Ep2014*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v044Ep3001*
- ID_PRODUCT_FROM_DATABASE=UGTZ4 Bluetooth
-
-usb:v044Ep3002*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v044Ep3003*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v044Ep3004*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Adapter
-
-usb:v044Ep3005*
- ID_PRODUCT_FROM_DATABASE=Integrated Bluetooth Device
-
-usb:v044Ep3006*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Adapter
-
-usb:v044Ep3007*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Controller (ALPS/UGX)
-
-usb:v044Ep300C*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Controller (ALPS/UGPZ6)
-
-usb:v044Ep300D*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Controller (ALPS/UGPZ6)
-
-usb:v044Ep3010*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Adapter
-
-usb:v044Ep3017*
- ID_PRODUCT_FROM_DATABASE=BCM2046 Bluetooth Device
-
-usb:v044EpFFFF*
- ID_PRODUCT_FROM_DATABASE=Compaq Bluetooth Multiport Module
-
-usb:v044F*
- ID_VENDOR_FROM_DATABASE=ThrustMaster, Inc.
-
-usb:v044Fp0400*
- ID_PRODUCT_FROM_DATABASE=HOTAS Cougar
-
-usb:v044FpA003*
- ID_PRODUCT_FROM_DATABASE=Rage 3D Game Pad
-
-usb:v044FpA01B*
- ID_PRODUCT_FROM_DATABASE=PK-GP301 Driving Wheel
-
-usb:v044FpA0A0*
- ID_PRODUCT_FROM_DATABASE=Top Gun Joystick
-
-usb:v044FpA0A1*
- ID_PRODUCT_FROM_DATABASE=Top Gun Joystick (rev2)
-
-usb:v044FpA0A3*
- ID_PRODUCT_FROM_DATABASE=Fusion Digital GamePad
-
-usb:v044FpA201*
- ID_PRODUCT_FROM_DATABASE=PK-GP201 PlayStick
-
-usb:v044FpB10A*
- ID_PRODUCT_FROM_DATABASE=T.16000M Joystick
-
-usb:v044FpB203*
- ID_PRODUCT_FROM_DATABASE=360 Modena Pro Wheel
-
-usb:v044FpB300*
- ID_PRODUCT_FROM_DATABASE=Firestorm Dual Power
-
-usb:v044FpB304*
- ID_PRODUCT_FROM_DATABASE=Firestorm Dual Power
-
-usb:v044FpB307*
- ID_PRODUCT_FROM_DATABASE=vibrating Upad
-
-usb:v044FpB30B*
- ID_PRODUCT_FROM_DATABASE=Wireless VibrationPad
-
-usb:v044FpB315*
- ID_PRODUCT_FROM_DATABASE=Firestorm Dual Analog 3
-
-usb:v044FpB323*
- ID_PRODUCT_FROM_DATABASE=Dual Trigger 3-in-1 (PC Mode)
-
-usb:v044FpB324*
- ID_PRODUCT_FROM_DATABASE=Dual Trigger 3-in-1 (PS3 Mode)
-
-usb:v044FpB603*
- ID_PRODUCT_FROM_DATABASE=force feedback Wheel
-
-usb:v044FpB605*
- ID_PRODUCT_FROM_DATABASE=force feedback Racing Wheel
-
-usb:v044FpB651*
- ID_PRODUCT_FROM_DATABASE=Ferrari GT Rumble Force Wheel
-
-usb:v044FpB653*
- ID_PRODUCT_FROM_DATABASE=RGT Force Feedback Clutch Racing Wheel
-
-usb:v044FpB654*
- ID_PRODUCT_FROM_DATABASE=Ferrari GT Force Feedback Wheel
-
-usb:v044FpB700*
- ID_PRODUCT_FROM_DATABASE=Tacticalboard
-
-usb:v0450*
- ID_VENDOR_FROM_DATABASE=DFI, Inc.
-
-usb:v0451*
- ID_VENDOR_FROM_DATABASE=Texas Instruments, Inc.
-
-usb:v0451p1234*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0451p1428*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v0451p1446*
- ID_PRODUCT_FROM_DATABASE=TUSB2040/2070 Hub
-
-usb:v0451p16A6*
- ID_PRODUCT_FROM_DATABASE=BM-USBD1 BlueRobin RF heart rate sensor receiver
-
-usb:v0451p2036*
- ID_PRODUCT_FROM_DATABASE=TUSB2036 Hub
-
-usb:v0451p2046*
- ID_PRODUCT_FROM_DATABASE=TUSB2046 Hub
-
-usb:v0451p2077*
- ID_PRODUCT_FROM_DATABASE=TUSB2077 Hub
-
-usb:v0451p3410*
- ID_PRODUCT_FROM_DATABASE=TUSB3410 Microcontroller
-
-usb:v0451p3F00*
- ID_PRODUCT_FROM_DATABASE=OMAP1610
-
-usb:v0451p3F02*
- ID_PRODUCT_FROM_DATABASE=SMC WSKP100 Wi-Fi Phone
-
-usb:v0451p5409*
- ID_PRODUCT_FROM_DATABASE=Frontier Labs NEX IA+ Digital Audio Player
-
-usb:v0451p6000*
- ID_PRODUCT_FROM_DATABASE=AU5 ADSL Modem (pre-reenum)
-
-usb:v0451p6001*
- ID_PRODUCT_FROM_DATABASE=AU5 ADSL Modem
-
-usb:v0451p6060*
- ID_PRODUCT_FROM_DATABASE=RNDIS/BeWAN ADSL2+
-
-usb:v0451p6070*
- ID_PRODUCT_FROM_DATABASE=RNDIS/BeWAN ADSL2+
-
-usb:v0451p625F*
- ID_PRODUCT_FROM_DATABASE=TUSB6250 ATA Bridge
-
-usb:v0451p8042*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v0451pDBC0*
- ID_PRODUCT_FROM_DATABASE=Device Bay Controller
-
-usb:v0451pE001*
- ID_PRODUCT_FROM_DATABASE=GraphLink
-
-usb:v0451pE003*
- ID_PRODUCT_FROM_DATABASE=TI-84 Plus Calculator
-
-usb:v0451pE004*
- ID_PRODUCT_FROM_DATABASE=TI-89 Titanium Calculator
-
-usb:v0451pE008*
- ID_PRODUCT_FROM_DATABASE=TI-84 Plus Silver Calculator
-
-usb:v0451pF430*
- ID_PRODUCT_FROM_DATABASE=MSP-FET430UIF JTAG Tool
-
-usb:v0451pF432*
- ID_PRODUCT_FROM_DATABASE=eZ430 Development Tool
-
-usb:v0451pFFFF*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0452*
- ID_VENDOR_FROM_DATABASE=Mitsubishi Electronics America, Inc.
-
-usb:v0452p0021*
- ID_PRODUCT_FROM_DATABASE=HID Monitor Controls
-
-usb:v0452p0050*
- ID_PRODUCT_FROM_DATABASE=Diamond Pro 900u CRT Monitor
-
-usb:v0452p0051*
- ID_PRODUCT_FROM_DATABASE=Integrated Hub
-
-usb:v0453*
- ID_VENDOR_FROM_DATABASE=CMD Technology
-
-usb:v0453p6781*
- ID_PRODUCT_FROM_DATABASE=NMB Keyboard
-
-usb:v0453p6783*
- ID_PRODUCT_FROM_DATABASE=Chicony Composite Keyboard
-
-usb:v0454*
- ID_VENDOR_FROM_DATABASE=Vobis Microcomputer AG
-
-usb:v0455*
- ID_VENDOR_FROM_DATABASE=Telematics International, Inc.
-
-usb:v0456*
- ID_VENDOR_FROM_DATABASE=Analog Devices, Inc.
-
-usb:v0456pF000*
- ID_PRODUCT_FROM_DATABASE=FT2232 JTAG ICE [gnICE]
-
-usb:v0456pF001*
- ID_PRODUCT_FROM_DATABASE=FT2232H Hi-Speed JTAG ICE [gnICE+]
-
-usb:v0457*
- ID_VENDOR_FROM_DATABASE=Silicon Integrated Systems Corp.
-
-usb:v0457p0150*
- ID_PRODUCT_FROM_DATABASE=Super Talent 1GB Flash Drive
-
-usb:v0457p0151*
- ID_PRODUCT_FROM_DATABASE=Super Flash 1GB / GXT 64MB Flash Drive
-
-usb:v0457p0162*
- ID_PRODUCT_FROM_DATABASE=SiS162 usb Wireless LAN Adapter
-
-usb:v0457p0163*
- ID_PRODUCT_FROM_DATABASE=802.11 Wireless LAN Adapter
-
-usb:v0457p5401*
- ID_PRODUCT_FROM_DATABASE=Wireless Adapter RO80211GS-USB
-
-usb:v0458*
- ID_VENDOR_FROM_DATABASE=KYE Systems Corp. (Mouse Systems)
-
-usb:v0458p0001*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v0458p0002*
- ID_PRODUCT_FROM_DATABASE=Genius NetMouse Pro
-
-usb:v0458p0003*
- ID_PRODUCT_FROM_DATABASE=Genius NetScroll+
-
-usb:v0458p0006*
- ID_PRODUCT_FROM_DATABASE=Easy Mouse+
-
-usb:v0458p000B*
- ID_PRODUCT_FROM_DATABASE=NetMouse Wheel(P+U)
-
-usb:v0458p000C*
- ID_PRODUCT_FROM_DATABASE=TACOMA Fingerprint V1.06.01
-
-usb:v0458p000E*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Web
-
-usb:v0458p0013*
- ID_PRODUCT_FROM_DATABASE=TACOMA Fingerprint Mouse V1.06.01
-
-usb:v0458p001A*
- ID_PRODUCT_FROM_DATABASE=Genius WebScroll+
-
-usb:v0458p0036*
- ID_PRODUCT_FROM_DATABASE=Pocket Mouse LE
-
-usb:v0458p0039*
- ID_PRODUCT_FROM_DATABASE=NetScroll+ Superior
-
-usb:v0458p003A*
- ID_PRODUCT_FROM_DATABASE=NetScroll+ Mini Traveler / Genius NetScroll 120
-
-usb:v0458p004C*
- ID_PRODUCT_FROM_DATABASE=Slimstar Pro Keyboard
-
-usb:v0458p0056*
- ID_PRODUCT_FROM_DATABASE=Ergo 300 Mouse
-
-usb:v0458p0057*
- ID_PRODUCT_FROM_DATABASE=Enhanced Gaming Device
-
-usb:v0458p0059*
- ID_PRODUCT_FROM_DATABASE=Enhanced Laser Device
-
-usb:v0458p005A*
- ID_PRODUCT_FROM_DATABASE=Enhanced Device
-
-usb:v0458p005B*
- ID_PRODUCT_FROM_DATABASE=Enhanced Device
-
-usb:v0458p005C*
- ID_PRODUCT_FROM_DATABASE=Enhanced Laser Gaming Device
-
-usb:v0458p005D*
- ID_PRODUCT_FROM_DATABASE=Enhanced Device
-
-usb:v0458p0061*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle
-
-usb:v0458p0066*
- ID_PRODUCT_FROM_DATABASE=Genius Traveler 1000 Wireless Mouse
-
-usb:v0458p0072*
- ID_PRODUCT_FROM_DATABASE=Navigator 335
-
-usb:v0458p0083*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle
-
-usb:v0458p0087*
- ID_PRODUCT_FROM_DATABASE=Ergo 525V Laser Mouse
-
-usb:v0458p0100*
- ID_PRODUCT_FROM_DATABASE=EasyPen Tablet
-
-usb:v0458p0101*
- ID_PRODUCT_FROM_DATABASE=CueCat
-
-usb:v0458p011B*
- ID_PRODUCT_FROM_DATABASE=NetScroll T220
-
-usb:v0458p1001*
- ID_PRODUCT_FROM_DATABASE=Joystick
-
-usb:v0458p1002*
- ID_PRODUCT_FROM_DATABASE=Game Pad
-
-usb:v0458p1003*
- ID_PRODUCT_FROM_DATABASE=Genius VideoCam
-
-usb:v0458p1004*
- ID_PRODUCT_FROM_DATABASE=Flight2000 F-23 Joystick
-
-usb:v0458p100A*
- ID_PRODUCT_FROM_DATABASE=Aashima Technology Trust Sight Fighter Vibration Feedback Joystick
-
-usb:v0458p2001*
- ID_PRODUCT_FROM_DATABASE=ColorPage-Vivid Pro Scanner
-
-usb:v0458p2004*
- ID_PRODUCT_FROM_DATABASE=ColorPage-HR6 V1 Scanner
-
-usb:v0458p2005*
- ID_PRODUCT_FROM_DATABASE=ColorPage-HR6/Vivid3
-
-usb:v0458p2007*
- ID_PRODUCT_FROM_DATABASE=ColorPage-HR6 V2 Scanner
-
-usb:v0458p2008*
- ID_PRODUCT_FROM_DATABASE=ColorPage-HR6 V2 Scanner
-
-usb:v0458p2009*
- ID_PRODUCT_FROM_DATABASE=ColorPage-HR6A Scanner
-
-usb:v0458p2011*
- ID_PRODUCT_FROM_DATABASE=ColorPage-Vivid3x Scanner
-
-usb:v0458p2012*
- ID_PRODUCT_FROM_DATABASE=Plustek Scanner
-
-usb:v0458p2013*
- ID_PRODUCT_FROM_DATABASE=ColorPage-HR7 Scanner
-
-usb:v0458p2014*
- ID_PRODUCT_FROM_DATABASE=ColorPage-Vivid4
-
-usb:v0458p2015*
- ID_PRODUCT_FROM_DATABASE=ColorPage-HR7LE Scanner
-
-usb:v0458p2016*
- ID_PRODUCT_FROM_DATABASE=ColorPage-HR6X Scanner
-
-usb:v0458p2017*
- ID_PRODUCT_FROM_DATABASE=ColorPage-Vivid3xe
-
-usb:v0458p2018*
- ID_PRODUCT_FROM_DATABASE=ColorPage-HR7X
-
-usb:v0458p2019*
- ID_PRODUCT_FROM_DATABASE=ColorPage-HR6X Slim
-
-usb:v0458p201A*
- ID_PRODUCT_FROM_DATABASE=ColorPage-Vivid4xe
-
-usb:v0458p201B*
- ID_PRODUCT_FROM_DATABASE=ColorPage-Vivid4x
-
-usb:v0458p201C*
- ID_PRODUCT_FROM_DATABASE=ColorPage-HR8
-
-usb:v0458p201D*
- ID_PRODUCT_FROM_DATABASE=ColorPage-Vivid 1200 X
-
-usb:v0458p201E*
- ID_PRODUCT_FROM_DATABASE=ColorPage-Slim 1200
-
-usb:v0458p201F*
- ID_PRODUCT_FROM_DATABASE=ColorPage-Vivid 1200 XE
-
-usb:v0458p2020*
- ID_PRODUCT_FROM_DATABASE=ColorPage-Slim 1200 USB2
-
-usb:v0458p2021*
- ID_PRODUCT_FROM_DATABASE=ColorPage-SF600
-
-usb:v0458p3017*
- ID_PRODUCT_FROM_DATABASE=SPEED WHEEL 3 Vibration
-
-usb:v0458p3018*
- ID_PRODUCT_FROM_DATABASE=Wireless 2.4Ghz Game Pad
-
-usb:v0458p3019*
- ID_PRODUCT_FROM_DATABASE=10-Button USB Joystick with Vibration
-
-usb:v0458p301A*
- ID_PRODUCT_FROM_DATABASE=MaxFire G-12U Vibration
-
-usb:v0458p301D*
- ID_PRODUCT_FROM_DATABASE=Genius MaxFire MiniPad
-
-usb:v0458p400F*
- ID_PRODUCT_FROM_DATABASE=Genius TVGo DVB-T02Q MCE
-
-usb:v0458p4012*
- ID_PRODUCT_FROM_DATABASE=TVGo DVB-T03 [AF9015]
-
-usb:v0458p5003*
- ID_PRODUCT_FROM_DATABASE=G-pen 560 Tablet
-
-usb:v0458p5004*
- ID_PRODUCT_FROM_DATABASE=G-pen Tablet
-
-usb:v0458p6001*
- ID_PRODUCT_FROM_DATABASE=GF3000F Ethernet Adapter
-
-usb:v0458p7004*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Express V2
-
-usb:v0458p7006*
- ID_PRODUCT_FROM_DATABASE=Dsc 1.3 Smart Camera Device
-
-usb:v0458p7007*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Web
-
-usb:v0458p7009*
- ID_PRODUCT_FROM_DATABASE=G-Shot G312 Still Camera Device
-
-usb:v0458p700C*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Web V3
-
-usb:v0458p700D*
- ID_PRODUCT_FROM_DATABASE=G-Shot G511 Composite Device
-
-usb:v0458p700F*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Web
-
-usb:v0458p7012*
- ID_PRODUCT_FROM_DATABASE=WebCAM USB2.0
-
-usb:v0458p7014*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Live V3
-
-usb:v0458p701C*
- ID_PRODUCT_FROM_DATABASE=G-Shot G512 Still Camera
-
-usb:v0458p7020*
- ID_PRODUCT_FROM_DATABASE=Sim 321C
-
-usb:v0458p7025*
- ID_PRODUCT_FROM_DATABASE=Eye 311Q Camera
-
-usb:v0458p7029*
- ID_PRODUCT_FROM_DATABASE=Genius Look 320s (SN9C201 + HV7131R)
-
-usb:v0458p702F*
- ID_PRODUCT_FROM_DATABASE=Genius Slim 322
-
-usb:v0458p7035*
- ID_PRODUCT_FROM_DATABASE=i-Look 325T Camera
-
-usb:v0458p7045*
- ID_PRODUCT_FROM_DATABASE=Genius Look 1320 V2
-
-usb:v0458p704C*
- ID_PRODUCT_FROM_DATABASE=Genius i-Look 1321
-
-usb:v0458p704D*
- ID_PRODUCT_FROM_DATABASE=Slim 1322AF
-
-usb:v0458p7055*
- ID_PRODUCT_FROM_DATABASE=Slim 2020AF camera
-
-usb:v0458p705A*
- ID_PRODUCT_FROM_DATABASE=Asus USB2.0 Webcam
-
-usb:v0458p705C*
- ID_PRODUCT_FROM_DATABASE=Genius iSlim 1300AF
-
-usb:v0458p7079*
- ID_PRODUCT_FROM_DATABASE=FaceCam 2025R
-
-usb:v0458p707F*
- ID_PRODUCT_FROM_DATABASE=TVGo DVB-T03 [RTL2832]
-
-usb:v0459*
- ID_VENDOR_FROM_DATABASE=Adobe Systems, Inc.
-
-usb:v045A*
- ID_VENDOR_FROM_DATABASE=SONICblue, Inc.
-
-usb:v045Ap07DA*
- ID_PRODUCT_FROM_DATABASE=Supra Express 56K modem
-
-usb:v045Ap0B4A*
- ID_PRODUCT_FROM_DATABASE=SupraMax 2890 56K Modem [Lucent Atlas]
-
-usb:v045Ap0B68*
- ID_PRODUCT_FROM_DATABASE=SupraMax 56K Modem
-
-usb:v045Ap5001*
- ID_PRODUCT_FROM_DATABASE=Rio 600 MP3 Player
-
-usb:v045Ap5002*
- ID_PRODUCT_FROM_DATABASE=Rio 800 MP3 Player
-
-usb:v045Ap5003*
- ID_PRODUCT_FROM_DATABASE=Nike Psa/Play MP3 Player
-
-usb:v045Ap5005*
- ID_PRODUCT_FROM_DATABASE=Rio S10 MP3 Player
-
-usb:v045Ap5006*
- ID_PRODUCT_FROM_DATABASE=Rio S50 MP3 Player
-
-usb:v045Ap5007*
- ID_PRODUCT_FROM_DATABASE=Rio S35 MP3 Player
-
-usb:v045Ap5008*
- ID_PRODUCT_FROM_DATABASE=Rio 900 MP3 Player
-
-usb:v045Ap5009*
- ID_PRODUCT_FROM_DATABASE=Rio S30 MP3 Player
-
-usb:v045Ap500D*
- ID_PRODUCT_FROM_DATABASE=Fuse MP3 Player
-
-usb:v045Ap500E*
- ID_PRODUCT_FROM_DATABASE=Chiba MP3 Player
-
-usb:v045Ap500F*
- ID_PRODUCT_FROM_DATABASE=Cali MP3 Player
-
-usb:v045Ap5010*
- ID_PRODUCT_FROM_DATABASE=Rio S11 MP3 Player
-
-usb:v045Ap501C*
- ID_PRODUCT_FROM_DATABASE=Virgin MPF-1000
-
-usb:v045Ap501D*
- ID_PRODUCT_FROM_DATABASE=Rio Fuse
-
-usb:v045Ap501E*
- ID_PRODUCT_FROM_DATABASE=Rio Chiba
-
-usb:v045Ap501F*
- ID_PRODUCT_FROM_DATABASE=Rio Cali
-
-usb:v045Ap503F*
- ID_PRODUCT_FROM_DATABASE=Cali256 MP3 Player
-
-usb:v045Ap5202*
- ID_PRODUCT_FROM_DATABASE=Rio Riot MP3 Player
-
-usb:v045Ap5210*
- ID_PRODUCT_FROM_DATABASE=Rio Karma Music Player
-
-usb:v045Ap5220*
- ID_PRODUCT_FROM_DATABASE=Rio Nitrus MP3 Player
-
-usb:v045Ap5221*
- ID_PRODUCT_FROM_DATABASE=Rio Eigen
-
-usb:v045B*
- ID_VENDOR_FROM_DATABASE=Hitachi, Ltd
-
-usb:v045Bp0053*
- ID_PRODUCT_FROM_DATABASE=RX610 RX-Stick
-
-usb:v045D*
- ID_VENDOR_FROM_DATABASE=Nortel Networks, Ltd
-
-usb:v045E*
- ID_VENDOR_FROM_DATABASE=Microsoft Corp.
-
-usb:v045Ep0007*
- ID_PRODUCT_FROM_DATABASE=SideWinder Game Pad
-
-usb:v045Ep0008*
- ID_PRODUCT_FROM_DATABASE=SideWinder Precision Pro
-
-usb:v045Ep0009*
- ID_PRODUCT_FROM_DATABASE=IntelliMouse
-
-usb:v045Ep000B*
- ID_PRODUCT_FROM_DATABASE=Natural Keyboard Elite
-
-usb:v045Ep000E*
- ID_PRODUCT_FROM_DATABASE=SideWinder® Freestyle Pro
-
-usb:v045Ep0014*
- ID_PRODUCT_FROM_DATABASE=Digital Sound System 80
-
-usb:v045Ep001A*
- ID_PRODUCT_FROM_DATABASE=SideWinder Precision Racing Wheel
-
-usb:v045Ep001B*
- ID_PRODUCT_FROM_DATABASE=SideWinder Force Feedback 2 Joystick
-
-usb:v045Ep001C*
- ID_PRODUCT_FROM_DATABASE=Internet Keyboard Pro
-
-usb:v045Ep001D*
- ID_PRODUCT_FROM_DATABASE=Natural Keyboard Pro
-
-usb:v045Ep001E*
- ID_PRODUCT_FROM_DATABASE=IntelliMouse Explorer
-
-usb:v045Ep0023*
- ID_PRODUCT_FROM_DATABASE=Trackball Optical
-
-usb:v045Ep0024*
- ID_PRODUCT_FROM_DATABASE=Trackball Explorer
-
-usb:v045Ep0025*
- ID_PRODUCT_FROM_DATABASE=IntelliEye Mouse
-
-usb:v045Ep0026*
- ID_PRODUCT_FROM_DATABASE=SideWinder GamePad Pro
-
-usb:v045Ep0027*
- ID_PRODUCT_FROM_DATABASE=SideWinder PnP GamePad
-
-usb:v045Ep0028*
- ID_PRODUCT_FROM_DATABASE=SideWinder Dual Strike
-
-usb:v045Ep0029*
- ID_PRODUCT_FROM_DATABASE=IntelliMouse Optical
-
-usb:v045Ep002B*
- ID_PRODUCT_FROM_DATABASE=Internet Keyboard Pro
-
-usb:v045Ep002D*
- ID_PRODUCT_FROM_DATABASE=Internet Keyboard
-
-usb:v045Ep002F*
- ID_PRODUCT_FROM_DATABASE=Integrated Hub
-
-usb:v045Ep0033*
- ID_PRODUCT_FROM_DATABASE=Sidewinder Strategic Commander
-
-usb:v045Ep0034*
- ID_PRODUCT_FROM_DATABASE=SideWinder Force Feedback Wheel
-
-usb:v045Ep0038*
- ID_PRODUCT_FROM_DATABASE=SideWinder Precision 2
-
-usb:v045Ep0039*
- ID_PRODUCT_FROM_DATABASE=IntelliMouse Optical
-
-usb:v045Ep003B*
- ID_PRODUCT_FROM_DATABASE=SideWinder Game Voice
-
-usb:v045Ep003C*
- ID_PRODUCT_FROM_DATABASE=SideWinder Joystick
-
-usb:v045Ep0040*
- ID_PRODUCT_FROM_DATABASE=Wheel Mouse Optical
-
-usb:v045Ep0047*
- ID_PRODUCT_FROM_DATABASE=IntelliMouse Explorer 3.0
-
-usb:v045Ep0048*
- ID_PRODUCT_FROM_DATABASE=Office Keyboard 1.0A
-
-usb:v045Ep0053*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v045Ep0059*
- ID_PRODUCT_FROM_DATABASE=Wireless IntelliMouse Explorer
-
-usb:v045Ep005C*
- ID_PRODUCT_FROM_DATABASE=Office Keyboard (106/109)
-
-usb:v045Ep005F*
- ID_PRODUCT_FROM_DATABASE=Wireless MultiMedia Keyboard
-
-usb:v045Ep0061*
- ID_PRODUCT_FROM_DATABASE=Wireless MultiMedia Keyboard (106/109)
-
-usb:v045Ep0063*
- ID_PRODUCT_FROM_DATABASE=Wireless Natural MultiMedia Keyboard
-
-usb:v045Ep0065*
- ID_PRODUCT_FROM_DATABASE=Wireless Natural MultiMedia Keyboard (106/109)
-
-usb:v045Ep006A*
- ID_PRODUCT_FROM_DATABASE=Wireless Optical Mouse (IntelliPoint)
-
-usb:v045Ep006D*
- ID_PRODUCT_FROM_DATABASE=eHome Remote Control Keyboard keys
-
-usb:v045Ep006E*
- ID_PRODUCT_FROM_DATABASE=MN-510 802.11b Wireless Adapter [Intersil ISL3873B]
-
-usb:v045Ep006F*
- ID_PRODUCT_FROM_DATABASE=Smart Display Reference Device
-
-usb:v045Ep0070*
- ID_PRODUCT_FROM_DATABASE=Wireless MultiMedia Keyboard
-
-usb:v045Ep0071*
- ID_PRODUCT_FROM_DATABASE=Wireless MultiMedia Keyboard (106/109)
-
-usb:v045Ep0072*
- ID_PRODUCT_FROM_DATABASE=Wireless Natural MultiMedia Keyboard
-
-usb:v045Ep0073*
- ID_PRODUCT_FROM_DATABASE=Wireless Natural MultiMedia Keyboard (106/109)
-
-usb:v045Ep0079*
- ID_PRODUCT_FROM_DATABASE=IXI Ogo CT-17 handheld device
-
-usb:v045Ep007A*
- ID_PRODUCT_FROM_DATABASE=10/100 USB NIC
-
-usb:v045Ep007D*
- ID_PRODUCT_FROM_DATABASE=Notebook Optical Mouse
-
-usb:v045Ep007E*
- ID_PRODUCT_FROM_DATABASE=Wireless Transceiver for Bluetooth
-
-usb:v045Ep0080*
- ID_PRODUCT_FROM_DATABASE=Digital Media Pro Keyboard
-
-usb:v045Ep0083*
- ID_PRODUCT_FROM_DATABASE=Basic Optical Mouse
-
-usb:v045Ep0084*
- ID_PRODUCT_FROM_DATABASE=Basic Optical Mouse
-
-usb:v045Ep008A*
- ID_PRODUCT_FROM_DATABASE=Wireless Keyboard and Mouse
-
-usb:v045Ep008B*
- ID_PRODUCT_FROM_DATABASE=Dual Receiver Wireless Mouse (IntelliPoint)
-
-usb:v045Ep008C*
- ID_PRODUCT_FROM_DATABASE=Wireless Intellimouse Explorer 2.0
-
-usb:v045Ep0095*
- ID_PRODUCT_FROM_DATABASE=IntelliMouse Explorer 4.0 (IntelliPoint)
-
-usb:v045Ep009C*
- ID_PRODUCT_FROM_DATABASE=Wireless Transceiver for Bluetooth 2.0
-
-usb:v045Ep009D*
- ID_PRODUCT_FROM_DATABASE=Wireless Optical Desktop 3.0
-
-usb:v045Ep00A0*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v045Ep00A4*
- ID_PRODUCT_FROM_DATABASE=Compact Optical Mouse, model 1016
-
-usb:v045Ep00B0*
- ID_PRODUCT_FROM_DATABASE=Digital Media Pro Keyboard
-
-usb:v045Ep00B4*
- ID_PRODUCT_FROM_DATABASE=Digital Media Keyboard 1.0A
-
-usb:v045Ep00B9*
- ID_PRODUCT_FROM_DATABASE=Wireless Optical Mouse 3.0
-
-usb:v045Ep00BB*
- ID_PRODUCT_FROM_DATABASE=Fingerprint Reader
-
-usb:v045Ep00BC*
- ID_PRODUCT_FROM_DATABASE=Fingerprint Reader
-
-usb:v045Ep00BD*
- ID_PRODUCT_FROM_DATABASE=Fingerprint Reader
-
-usb:v045Ep00C2*
- ID_PRODUCT_FROM_DATABASE=MN-710 802.11g Wireless Adapter [Intersil ISL3886]
-
-usb:v045Ep00C9*
- ID_PRODUCT_FROM_DATABASE=MTP Device
-
-usb:v045Ep00CA*
- ID_PRODUCT_FROM_DATABASE=Fingerprint Reader
-
-usb:v045Ep00CB*
- ID_PRODUCT_FROM_DATABASE=Basic Optical Mouse v2.0
-
-usb:v045Ep00CE*
- ID_PRODUCT_FROM_DATABASE=Generic PPC Flash device
-
-usb:v045Ep00D1*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse with Tilt Wheel
-
-usb:v045Ep00DA*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v045Ep00DB*
- ID_PRODUCT_FROM_DATABASE=Natural Ergonomic Keyboard 4000 V1.0
-
-usb:v045Ep00DD*
- ID_PRODUCT_FROM_DATABASE=Comfort Curve Keyboard 2000 V1.0
-
-usb:v045Ep00E1*
- ID_PRODUCT_FROM_DATABASE=Wireless Laser Mouse 6000 Reciever
-
-usb:v045Ep00F4*
- ID_PRODUCT_FROM_DATABASE=LifeCam VX-6000 (SN9C20x + OV9650)
-
-usb:v045Ep00F5*
- ID_PRODUCT_FROM_DATABASE=LifeCam VX-3000
-
-usb:v045Ep00F6*
- ID_PRODUCT_FROM_DATABASE=Comfort Optical Mouse 1000
-
-usb:v045Ep00F7*
- ID_PRODUCT_FROM_DATABASE=LifeCam VX-1000
-
-usb:v045Ep00F8*
- ID_PRODUCT_FROM_DATABASE=LifeCam NX-6000
-
-usb:v045Ep00F9*
- ID_PRODUCT_FROM_DATABASE=Wireless Desktop Receiver 3.1
-
-usb:v045Ep0202*
- ID_PRODUCT_FROM_DATABASE=Xbox Controller
-
-usb:v045Ep0280*
- ID_PRODUCT_FROM_DATABASE=XBox Device
-
-usb:v045Ep0283*
- ID_PRODUCT_FROM_DATABASE=Xbox Communicator
-
-usb:v045Ep0284*
- ID_PRODUCT_FROM_DATABASE=Xbox DVD Playback Kit
-
-usb:v045Ep0285*
- ID_PRODUCT_FROM_DATABASE=Xbox Controller S
-
-usb:v045Ep0288*
- ID_PRODUCT_FROM_DATABASE=Xbox Controller S Hub
-
-usb:v045Ep0289*
- ID_PRODUCT_FROM_DATABASE=Xbox Controller S
-
-usb:v045Ep028B*
- ID_PRODUCT_FROM_DATABASE=Xbox360 DVD Emulator
-
-usb:v045Ep028D*
- ID_PRODUCT_FROM_DATABASE=Xbox360 Memory Unit 64MB
-
-usb:v045Ep028E*
- ID_PRODUCT_FROM_DATABASE=Xbox360 Controller
-
-usb:v045Ep028F*
- ID_PRODUCT_FROM_DATABASE=Xbox360 Wireless Controller
-
-usb:v045Ep0290*
- ID_PRODUCT_FROM_DATABASE=Xbox360 Performance Pipe (PIX)
-
-usb:v045Ep0291*
- ID_PRODUCT_FROM_DATABASE=Xbox 360 Wireless Receiver for Windows
-
-usb:v045Ep0292*
- ID_PRODUCT_FROM_DATABASE=Xbox360 Wireless Networking Adapter
-
-usb:v045Ep029C*
- ID_PRODUCT_FROM_DATABASE=Xbox360 HD-DVD Drive
-
-usb:v045Ep029D*
- ID_PRODUCT_FROM_DATABASE=Xbox360 HD-DVD Drive
-
-usb:v045Ep029E*
- ID_PRODUCT_FROM_DATABASE=Xbox360 HD-DVD Memory Unit
-
-usb:v045Ep02A0*
- ID_PRODUCT_FROM_DATABASE=Xbox360 Big Button IR
-
-usb:v045Ep02A8*
- ID_PRODUCT_FROM_DATABASE=Xbox360 Wireless N Networking Adapter [Atheros AR7010+AR9280]
-
-usb:v045Ep02AD*
- ID_PRODUCT_FROM_DATABASE=Xbox NUI Audio
-
-usb:v045Ep02AE*
- ID_PRODUCT_FROM_DATABASE=Xbox NUI Camera
-
-usb:v045Ep02B0*
- ID_PRODUCT_FROM_DATABASE=Xbox NUI Motor
-
-usb:v045Ep0400*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0401*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0402*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0403*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0404*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0405*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0406*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0407*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0408*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0409*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep040A*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep040B*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep040C*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep040D*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep040E*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep040F*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0410*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0411*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0412*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0413*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0414*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0415*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0416*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0417*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2002
-
-usb:v045Ep0432*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0433*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0434*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0435*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0436*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0437*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0438*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0439*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep043A*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep043B*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep043C*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep043D*
- ID_PRODUCT_FROM_DATABASE=Becker Traffic Assist Highspeed 7934
-
-usb:v045Ep043E*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep043F*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0440*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0441*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0442*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0443*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0444*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0445*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0446*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0447*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0448*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0449*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep044A*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep044B*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep044C*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep044D*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep044E*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep044F*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0450*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0451*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0452*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0453*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0454*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0455*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0456*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0457*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0458*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0459*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep045A*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep045B*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep045C*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep045D*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep045E*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep045F*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0460*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0461*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0462*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0463*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0464*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0465*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0466*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0467*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0468*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0469*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep046A*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep046B*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep046C*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep046D*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep046E*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep046F*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0470*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0471*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0472*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0473*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0474*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0475*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0476*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0477*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0478*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep0479*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep047A*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep047B*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Pocket PC 2003
-
-usb:v045Ep04C8*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2002
-
-usb:v045Ep04C9*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2002
-
-usb:v045Ep04CA*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2002
-
-usb:v045Ep04CB*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2002
-
-usb:v045Ep04CC*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2002
-
-usb:v045Ep04CD*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2002
-
-usb:v045Ep04CE*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2002
-
-usb:v045Ep04D7*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04D8*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04D9*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04DA*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04DB*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04DC*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04DD*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04DE*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04DF*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04E0*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04E1*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04E2*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04E3*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04E4*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04E5*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04E6*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04E7*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04E8*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04E9*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04EA*
- ID_PRODUCT_FROM_DATABASE=Windows Powered Smartphone 2003
-
-usb:v045Ep04EC*
- ID_PRODUCT_FROM_DATABASE=Windows Phone (Zune)
-
-usb:v045Ep063E*
- ID_PRODUCT_FROM_DATABASE=Zune HD Media Player
-
-usb:v045Ep0640*
- ID_PRODUCT_FROM_DATABASE=KIN Phone
-
-usb:v045Ep0641*
- ID_PRODUCT_FROM_DATABASE=KIN Phone
-
-usb:v045Ep0642*
- ID_PRODUCT_FROM_DATABASE=KIN Phone
-
-usb:v045Ep0707*
- ID_PRODUCT_FROM_DATABASE=Wireless Laser Mouse 8000
-
-usb:v045Ep0708*
- ID_PRODUCT_FROM_DATABASE=Transceiver v 3.0 for Bluetooth
-
-usb:v045Ep070A*
- ID_PRODUCT_FROM_DATABASE=Charon Bluetooth Dongle (DFU)
-
-usb:v045Ep0710*
- ID_PRODUCT_FROM_DATABASE=Zune Media Player
-
-usb:v045Ep0713*
- ID_PRODUCT_FROM_DATABASE=Wireless Presenter Mouse 8000
-
-usb:v045Ep0719*
- ID_PRODUCT_FROM_DATABASE=Xbox 360 Wireless Adapter
-
-usb:v045Ep071F*
- ID_PRODUCT_FROM_DATABASE=Mouse/Keyboard 2.4GHz Transceiver V2.0
-
-usb:v045Ep0721*
- ID_PRODUCT_FROM_DATABASE=LifeCam NX-3000 (UVC-compliant)
-
-usb:v045Ep0723*
- ID_PRODUCT_FROM_DATABASE=LifeCam VX-7000 (UVC-compliant)
-
-usb:v045Ep0724*
- ID_PRODUCT_FROM_DATABASE=SideWinder Mouse
-
-usb:v045Ep0730*
- ID_PRODUCT_FROM_DATABASE=Digital Media Keyboard 3000
-
-usb:v045Ep0734*
- ID_PRODUCT_FROM_DATABASE=Wireless Optical Desktop 700
-
-usb:v045Ep0736*
- ID_PRODUCT_FROM_DATABASE=Sidewinder X5 Mouse
-
-usb:v045Ep0737*
- ID_PRODUCT_FROM_DATABASE=Compact Optical Mouse 500
-
-usb:v045Ep0745*
- ID_PRODUCT_FROM_DATABASE=Nano Transceiver v1.0 for Bluetooth
-
-usb:v045Ep0750*
- ID_PRODUCT_FROM_DATABASE=Wired Keyboard 600
-
-usb:v045Ep0752*
- ID_PRODUCT_FROM_DATABASE=Wired Keyboard 400
-
-usb:v045Ep075D*
- ID_PRODUCT_FROM_DATABASE=LifeCam Cinema
-
-usb:v045Ep0766*
- ID_PRODUCT_FROM_DATABASE=LifeCam VX-800
-
-usb:v045Ep0768*
- ID_PRODUCT_FROM_DATABASE=Sidewinder X4
-
-usb:v045Ep076D*
- ID_PRODUCT_FROM_DATABASE=LifeCam HD-5000
-
-usb:v045Ep0772*
- ID_PRODUCT_FROM_DATABASE=LifeCam Studio
-
-usb:v045Ep0779*
- ID_PRODUCT_FROM_DATABASE=LifeCam HD-3000
-
-usb:v045Ep930A*
- ID_PRODUCT_FROM_DATABASE=ISOUSB.SYS Intel 82930 Isochronous IO Test Board
-
-usb:v045EpFFF8*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v045EpFFFF*
- ID_PRODUCT_FROM_DATABASE=Windows CE Mass Storage
-
-usb:v0460*
- ID_VENDOR_FROM_DATABASE=Ace Cad Enterprise Co., Ltd
-
-usb:v0460p0004*
- ID_PRODUCT_FROM_DATABASE=Tablet (5x3.75)
-
-usb:v0460p0006*
- ID_PRODUCT_FROM_DATABASE=LCD Tablet (12x9)
-
-usb:v0460p0008*
- ID_PRODUCT_FROM_DATABASE=Tablet (3x2.25)
-
-usb:v0461*
- ID_VENDOR_FROM_DATABASE=Primax Electronics, Ltd
-
-usb:v0461p0010*
- ID_PRODUCT_FROM_DATABASE=HP Keyboard
-
-usb:v0461p0300*
- ID_PRODUCT_FROM_DATABASE=G2-300 Scanner
-
-usb:v0461p0301*
- ID_PRODUCT_FROM_DATABASE=G2E-300 Scanner
-
-usb:v0461p0302*
- ID_PRODUCT_FROM_DATABASE=G2-300 #2 Scanner
-
-usb:v0461p0303*
- ID_PRODUCT_FROM_DATABASE=G2E-300 #2 Scanner
-
-usb:v0461p0340*
- ID_PRODUCT_FROM_DATABASE=Colorado 9600 Scanner
-
-usb:v0461p0341*
- ID_PRODUCT_FROM_DATABASE=Colorado 600u Scanner
-
-usb:v0461p0345*
- ID_PRODUCT_FROM_DATABASE=Visioneer 6200 Scanner
-
-usb:v0461p0346*
- ID_PRODUCT_FROM_DATABASE=Memorex Maxx 6136u Scanner
-
-usb:v0461p0347*
- ID_PRODUCT_FROM_DATABASE=Primascan Colorado 2600u/Visioneer 4400 Scanner
-
-usb:v0461p0360*
- ID_PRODUCT_FROM_DATABASE=Colorado 19200 Scanner
-
-usb:v0461p0361*
- ID_PRODUCT_FROM_DATABASE=Colorado 1200u Scanner
-
-usb:v0461p0363*
- ID_PRODUCT_FROM_DATABASE=VistaScan Astra 3600(ENG)
-
-usb:v0461p0364*
- ID_PRODUCT_FROM_DATABASE=LG Electronics Scanworks 600U Scanner
-
-usb:v0461p0365*
- ID_PRODUCT_FROM_DATABASE=VistaScan Astra 3600(ENG)
-
-usb:v0461p0366*
- ID_PRODUCT_FROM_DATABASE=6400
-
-usb:v0461p0367*
- ID_PRODUCT_FROM_DATABASE=VistaScan Astra 3600(ENG)
-
-usb:v0461p0371*
- ID_PRODUCT_FROM_DATABASE=Visioneer Onetouch 8920 Scanner
-
-usb:v0461p0374*
- ID_PRODUCT_FROM_DATABASE=UMAX Astra 2500
-
-usb:v0461p0375*
- ID_PRODUCT_FROM_DATABASE=VistaScan Astra 3600(ENG)
-
-usb:v0461p0377*
- ID_PRODUCT_FROM_DATABASE=Medion MD 5345 Scanner
-
-usb:v0461p0378*
- ID_PRODUCT_FROM_DATABASE=VistaScan Astra 3600(ENG)
-
-usb:v0461p037B*
- ID_PRODUCT_FROM_DATABASE=Medion MD 6190 Scanner
-
-usb:v0461p037C*
- ID_PRODUCT_FROM_DATABASE=VistaScan Astra 3600(ENG)
-
-usb:v0461p0380*
- ID_PRODUCT_FROM_DATABASE=G2-600 Scanner
-
-usb:v0461p0381*
- ID_PRODUCT_FROM_DATABASE=ReadyScan 636i Scanner
-
-usb:v0461p0382*
- ID_PRODUCT_FROM_DATABASE=G2-600 #2 Scanner
-
-usb:v0461p0383*
- ID_PRODUCT_FROM_DATABASE=G2E-600 Scanner
-
-usb:v0461p038A*
- ID_PRODUCT_FROM_DATABASE=UMAX Astra 3000/3600
-
-usb:v0461p038B*
- ID_PRODUCT_FROM_DATABASE=Xerox 2400 Onetouch
-
-usb:v0461p038C*
- ID_PRODUCT_FROM_DATABASE=UMAX Astra 4100
-
-usb:v0461p0392*
- ID_PRODUCT_FROM_DATABASE=Medion/Lifetec/Tevion/Cytron MD 6190
-
-usb:v0461p03A8*
- ID_PRODUCT_FROM_DATABASE=9420M
-
-usb:v0461p0813*
- ID_PRODUCT_FROM_DATABASE=IBM UltraPort Camera
-
-usb:v0461p0815*
- ID_PRODUCT_FROM_DATABASE=Micro Innovations IC200 Webcam
-
-usb:v0461p0819*
- ID_PRODUCT_FROM_DATABASE=Fujifilm IX-30 Camera [webcam mode]
-
-usb:v0461p081A*
- ID_PRODUCT_FROM_DATABASE=Fujifilm IX-30 Camera [storage mode]
-
-usb:v0461p081C*
- ID_PRODUCT_FROM_DATABASE=Elitegroup ECS-C11 Camera
-
-usb:v0461p081D*
- ID_PRODUCT_FROM_DATABASE=Elitegroup ECS-C11 Storage
-
-usb:v0461p0A00*
- ID_PRODUCT_FROM_DATABASE=Micro Innovations Web Cam 320
-
-usb:v0461p4D01*
- ID_PRODUCT_FROM_DATABASE=Comfort Keyboard
-
-usb:v0461p4D02*
- ID_PRODUCT_FROM_DATABASE=Mouse-in-a-Box
-
-usb:v0461p4D03*
- ID_PRODUCT_FROM_DATABASE=Kensington Mouse-in-a-box
-
-usb:v0461p4D04*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v0461p4D06*
- ID_PRODUCT_FROM_DATABASE=Balless Mouse (HID)
-
-usb:v0461p4D0F*
- ID_PRODUCT_FROM_DATABASE=HP Optical Mouse
-
-usb:v0461p4D15*
- ID_PRODUCT_FROM_DATABASE=Dell Optical Mouse
-
-usb:v0461p4D17*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v0461p4D20*
- ID_PRODUCT_FROM_DATABASE=HP Optical Mouse
-
-usb:v0461p4D2A*
- ID_PRODUCT_FROM_DATABASE=PoPo Elixir Mouse (HID)
-
-usb:v0461p4D2B*
- ID_PRODUCT_FROM_DATABASE=Wireless Laser Mini Mouse (HID)
-
-usb:v0461p4D2C*
- ID_PRODUCT_FROM_DATABASE=PoPo Mini Pointer Mouse (HID)
-
-usb:v0461p4D2E*
- ID_PRODUCT_FROM_DATABASE=Optical Mobile Mouse (HID)
-
-usb:v0461p4D51*
- ID_PRODUCT_FROM_DATABASE=0Y357C PMX-MMOCZUL (B) [Dell Laser Mouse]
-
-usb:v0461p4D75*
- ID_PRODUCT_FROM_DATABASE=Rocketfish RF-FLBTAD Bluetooth Adapter
-
-usb:v0461p4D81*
- ID_PRODUCT_FROM_DATABASE=Dell N889 Optical Mouse
-
-usb:v0461p4DE7*
- ID_PRODUCT_FROM_DATABASE=webcam
-
-usb:v0463*
- ID_VENDOR_FROM_DATABASE=MGE UPS Systems
-
-usb:v0463p0001*
- ID_PRODUCT_FROM_DATABASE=UPS
-
-usb:v0463pFFFF*
- ID_PRODUCT_FROM_DATABASE=UPS
-
-usb:v0464*
- ID_VENDOR_FROM_DATABASE=AMP/Tycoelectronics Corp.
-
-usb:v0467*
- ID_VENDOR_FROM_DATABASE=AT&T Paradyne
-
-usb:v0468*
- ID_VENDOR_FROM_DATABASE=Wieson Technologies Co., Ltd
-
-usb:v046A*
- ID_VENDOR_FROM_DATABASE=Cherry GmbH
-
-usb:v046Ap0001*
- ID_PRODUCT_FROM_DATABASE=My3000 Keyboard
-
-usb:v046Ap0003*
- ID_PRODUCT_FROM_DATABASE=My3000 Hub
-
-usb:v046Ap0004*
- ID_PRODUCT_FROM_DATABASE=CyBoard Keyboard
-
-usb:v046Ap0005*
- ID_PRODUCT_FROM_DATABASE=XX33 SmartCard Reader Keyboard
-
-usb:v046Ap0008*
- ID_PRODUCT_FROM_DATABASE=Wireless Keyboard and Mouse
-
-usb:v046Ap0010*
- ID_PRODUCT_FROM_DATABASE=SmartBoard XX44
-
-usb:v046Ap0011*
- ID_PRODUCT_FROM_DATABASE=G83 (RS 6000) Keyboard
-
-usb:v046Ap0021*
- ID_PRODUCT_FROM_DATABASE=CyMotion Expert Combo
-
-usb:v046Ap0023*
- ID_PRODUCT_FROM_DATABASE=CyMotion Master Linux Keyboard G230
-
-usb:v046Ap0027*
- ID_PRODUCT_FROM_DATABASE=CyMotion Master Solar Keyboard
-
-usb:v046Ap002A*
- ID_PRODUCT_FROM_DATABASE=Wireless Mouse & Keyboard
-
-usb:v046Ap002D*
- ID_PRODUCT_FROM_DATABASE=SmartTerminal XX44
-
-usb:v046Ap003E*
- ID_PRODUCT_FROM_DATABASE=SmartTerminal ST-2xxx
-
-usb:v046Ap0080*
- ID_PRODUCT_FROM_DATABASE=eHealth Terminal ST 1503
-
-usb:v046Ap0081*
- ID_PRODUCT_FROM_DATABASE=eHealth Keyboard G87 1504
-
-usb:v046Ap0106*
- ID_PRODUCT_FROM_DATABASE=R-300 Wireless Mouse Receiver
-
-usb:v046B*
- ID_VENDOR_FROM_DATABASE=American Megatrends, Inc.
-
-usb:v046Bp0001*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v046Bp0101*
- ID_PRODUCT_FROM_DATABASE=PS/2 Keyboard, Mouse & Joystick Ports
-
-usb:v046Bp0301*
- ID_PRODUCT_FROM_DATABASE=USB 1.0 Hub
-
-usb:v046Bp0500*
- ID_PRODUCT_FROM_DATABASE=Serial & Parallel Ports
-
-usb:v046BpFF10*
- ID_PRODUCT_FROM_DATABASE=Virtual Keyboard and Mouse
-
-usb:v046C*
- ID_VENDOR_FROM_DATABASE=Toshiba Corp., Digital Media Equipment
-
-usb:v046D*
- ID_VENDOR_FROM_DATABASE=Logitech, Inc.
-
-usb:v046Dp0082*
- ID_PRODUCT_FROM_DATABASE=Acer Aspire 5672 Webcam
-
-usb:v046Dp0200*
- ID_PRODUCT_FROM_DATABASE=WingMan Extreme Joystick
-
-usb:v046Dp0203*
- ID_PRODUCT_FROM_DATABASE=M2452 Keyboard
-
-usb:v046Dp0301*
- ID_PRODUCT_FROM_DATABASE=M4848 Mouse
-
-usb:v046Dp0401*
- ID_PRODUCT_FROM_DATABASE=HP PageScan
-
-usb:v046Dp0402*
- ID_PRODUCT_FROM_DATABASE=NEC PageScan
-
-usb:v046Dp040F*
- ID_PRODUCT_FROM_DATABASE=Logitech/Storm PageScan
-
-usb:v046Dp0430*
- ID_PRODUCT_FROM_DATABASE=Mic (Cordless)
-
-usb:v046Dp0801*
- ID_PRODUCT_FROM_DATABASE=QuickCam Home
-
-usb:v046Dp0802*
- ID_PRODUCT_FROM_DATABASE=Webcam C200
-
-usb:v046Dp0804*
- ID_PRODUCT_FROM_DATABASE=Webcam C250
-
-usb:v046Dp0805*
- ID_PRODUCT_FROM_DATABASE=Webcam C300
-
-usb:v046Dp0807*
- ID_PRODUCT_FROM_DATABASE=Webcam B500
-
-usb:v046Dp0808*
- ID_PRODUCT_FROM_DATABASE=Webcam C600
-
-usb:v046Dp0809*
- ID_PRODUCT_FROM_DATABASE=Webcam Pro 9000
-
-usb:v046Dp080A*
- ID_PRODUCT_FROM_DATABASE=Portable Webcam C905
-
-usb:v046Dp080F*
- ID_PRODUCT_FROM_DATABASE=Webcam C120
-
-usb:v046Dp0810*
- ID_PRODUCT_FROM_DATABASE=QuickCam Pro
-
-usb:v046Dp0819*
- ID_PRODUCT_FROM_DATABASE=Webcam C210
-
-usb:v046Dp081B*
- ID_PRODUCT_FROM_DATABASE=Webcam C310
-
-usb:v046Dp081D*
- ID_PRODUCT_FROM_DATABASE=HD Webcam C510
-
-usb:v046Dp0820*
- ID_PRODUCT_FROM_DATABASE=QuickCam VC
-
-usb:v046Dp0821*
- ID_PRODUCT_FROM_DATABASE=HD Webcam C910
-
-usb:v046Dp0825*
- ID_PRODUCT_FROM_DATABASE=Webcam C270
-
-usb:v046Dp0828*
- ID_PRODUCT_FROM_DATABASE=HD Webcam B990
-
-usb:v046Dp082D*
- ID_PRODUCT_FROM_DATABASE=HD Pro Webcam C920
-
-usb:v046Dp0830*
- ID_PRODUCT_FROM_DATABASE=QuickClip
-
-usb:v046Dp0840*
- ID_PRODUCT_FROM_DATABASE=QuickCam Express
-
-usb:v046Dp0850*
- ID_PRODUCT_FROM_DATABASE=QuickCam Web
-
-usb:v046Dp0870*
- ID_PRODUCT_FROM_DATABASE=QuickCam Express
-
-usb:v046Dp0890*
- ID_PRODUCT_FROM_DATABASE=QuickCam Traveler
-
-usb:v046Dp0892*
- ID_PRODUCT_FROM_DATABASE=OrbiCam
-
-usb:v046Dp0894*
- ID_PRODUCT_FROM_DATABASE=CrystalCam
-
-usb:v046Dp0895*
- ID_PRODUCT_FROM_DATABASE=QuickCam for Dell Notebooks
-
-usb:v046Dp0896*
- ID_PRODUCT_FROM_DATABASE=OrbiCam
-
-usb:v046Dp0897*
- ID_PRODUCT_FROM_DATABASE=QuickCam for Dell Notebooks
-
-usb:v046Dp0899*
- ID_PRODUCT_FROM_DATABASE=QuickCam for Dell Notebooks
-
-usb:v046Dp089D*
- ID_PRODUCT_FROM_DATABASE=QuickCam E2500 series
-
-usb:v046Dp08A0*
- ID_PRODUCT_FROM_DATABASE=QuickCam IM
-
-usb:v046Dp08A1*
- ID_PRODUCT_FROM_DATABASE=QuickCam IM with sound
-
-usb:v046Dp08A2*
- ID_PRODUCT_FROM_DATABASE=Labtec Webcam Pro
-
-usb:v046Dp08A3*
- ID_PRODUCT_FROM_DATABASE=QuickCam QuickCam Chat
-
-usb:v046Dp08A6*
- ID_PRODUCT_FROM_DATABASE=QuickCam IM
-
-usb:v046Dp08A7*
- ID_PRODUCT_FROM_DATABASE=QuickCam Image
-
-usb:v046Dp08A9*
- ID_PRODUCT_FROM_DATABASE=Notebook Deluxe
-
-usb:v046Dp08AA*
- ID_PRODUCT_FROM_DATABASE=Labtec Notebooks
-
-usb:v046Dp08AC*
- ID_PRODUCT_FROM_DATABASE=QuickCam Cool
-
-usb:v046Dp08AD*
- ID_PRODUCT_FROM_DATABASE=QuickCam Communicate STX
-
-usb:v046Dp08AE*
- ID_PRODUCT_FROM_DATABASE=QuickCam for Notebooks
-
-usb:v046Dp08AF*
- ID_PRODUCT_FROM_DATABASE=QuickCam Easy/Cool
-
-usb:v046Dp08B0*
- ID_PRODUCT_FROM_DATABASE=QuickCam 3000 Pro [pwc]
-
-usb:v046Dp08B1*
- ID_PRODUCT_FROM_DATABASE=QuickCam Notebook Pro
-
-usb:v046Dp08B2*
- ID_PRODUCT_FROM_DATABASE=QuickCam Pro 4000
-
-usb:v046Dp08B3*
- ID_PRODUCT_FROM_DATABASE=QuickCam Zoom
-
-usb:v046Dp08B4*
- ID_PRODUCT_FROM_DATABASE=QuickCam Zoom
-
-usb:v046Dp08B5*
- ID_PRODUCT_FROM_DATABASE=QuickCam Sphere
-
-usb:v046Dp08B9*
- ID_PRODUCT_FROM_DATABASE=QuickCam IM
-
-usb:v046Dp08BD*
- ID_PRODUCT_FROM_DATABASE=Microphone (Pro 4000)
-
-usb:v046Dp08C0*
- ID_PRODUCT_FROM_DATABASE=QuickCam Pro 3000
-
-usb:v046Dp08C1*
- ID_PRODUCT_FROM_DATABASE=QuickCam Fusion
-
-usb:v046Dp08C2*
- ID_PRODUCT_FROM_DATABASE=QuickCam PTZ
-
-usb:v046Dp08C3*
- ID_PRODUCT_FROM_DATABASE=Camera (Notebooks Pro)
-
-usb:v046Dp08C5*
- ID_PRODUCT_FROM_DATABASE=QuickCam Pro 5000
-
-usb:v046Dp08C6*
- ID_PRODUCT_FROM_DATABASE=QuickCam for DELL Notebooks
-
-usb:v046Dp08C7*
- ID_PRODUCT_FROM_DATABASE=QuickCam OEM Cisco VT Camera II
-
-usb:v046Dp08C9*
- ID_PRODUCT_FROM_DATABASE=QuickCam Ultra Vision
-
-usb:v046Dp08CA*
- ID_PRODUCT_FROM_DATABASE=Mic (Fusion)
-
-usb:v046Dp08CB*
- ID_PRODUCT_FROM_DATABASE=Mic (Notebooks Pro)
-
-usb:v046Dp08CC*
- ID_PRODUCT_FROM_DATABASE=Mic (PTZ)
-
-usb:v046Dp08CE*
- ID_PRODUCT_FROM_DATABASE=QuickCam Pro 5000
-
-usb:v046Dp08CF*
- ID_PRODUCT_FROM_DATABASE=QuickCam UpdateMe
-
-usb:v046Dp08D0*
- ID_PRODUCT_FROM_DATABASE=QuickCam Express
-
-usb:v046Dp08D7*
- ID_PRODUCT_FROM_DATABASE=QuickCam Communicate STX
-
-usb:v046Dp08D8*
- ID_PRODUCT_FROM_DATABASE=QuickCam for Notebook Deluxe
-
-usb:v046Dp08D9*
- ID_PRODUCT_FROM_DATABASE=QuickCam IM/Connect
-
-usb:v046Dp08DA*
- ID_PRODUCT_FROM_DATABASE=QuickCam Messanger
-
-usb:v046Dp08DD*
- ID_PRODUCT_FROM_DATABASE=QuickCam for Notebooks
-
-usb:v046Dp08E0*
- ID_PRODUCT_FROM_DATABASE=QuickCam Express
-
-usb:v046Dp08E1*
- ID_PRODUCT_FROM_DATABASE=Labtec Webcam
-
-usb:v046Dp08F0*
- ID_PRODUCT_FROM_DATABASE=QuickCam Messenger
-
-usb:v046Dp08F1*
- ID_PRODUCT_FROM_DATABASE=QuickCam Express
-
-usb:v046Dp08F2*
- ID_PRODUCT_FROM_DATABASE=Microphone (Messenger)
-
-usb:v046Dp08F3*
- ID_PRODUCT_FROM_DATABASE=QuickCam Express
-
-usb:v046Dp08F4*
- ID_PRODUCT_FROM_DATABASE=Labtec Webcam
-
-usb:v046Dp08F5*
- ID_PRODUCT_FROM_DATABASE=QuickCam Messenger Communicate
-
-usb:v046Dp08F6*
- ID_PRODUCT_FROM_DATABASE=QuickCam Messenger Plus
-
-usb:v046Dp0900*
- ID_PRODUCT_FROM_DATABASE=ClickSmart 310
-
-usb:v046Dp0901*
- ID_PRODUCT_FROM_DATABASE=ClickSmart 510
-
-usb:v046Dp0903*
- ID_PRODUCT_FROM_DATABASE=ClickSmart 820
-
-usb:v046Dp0905*
- ID_PRODUCT_FROM_DATABASE=ClickSmart 820
-
-usb:v046Dp0910*
- ID_PRODUCT_FROM_DATABASE=QuickCam Cordless
-
-usb:v046Dp0920*
- ID_PRODUCT_FROM_DATABASE=QuickCam Express
-
-usb:v046Dp0921*
- ID_PRODUCT_FROM_DATABASE=Labtec Webcam
-
-usb:v046Dp0922*
- ID_PRODUCT_FROM_DATABASE=QuickCam Live
-
-usb:v046Dp0928*
- ID_PRODUCT_FROM_DATABASE=QuickCam Express
-
-usb:v046Dp0929*
- ID_PRODUCT_FROM_DATABASE=Labtec Webcam Pro
-
-usb:v046Dp092A*
- ID_PRODUCT_FROM_DATABASE=QuickCam for Notebooks
-
-usb:v046Dp092B*
- ID_PRODUCT_FROM_DATABASE=Labtec Webcam Plus
-
-usb:v046Dp092C*
- ID_PRODUCT_FROM_DATABASE=QuickCam Chat
-
-usb:v046Dp092D*
- ID_PRODUCT_FROM_DATABASE=QuickCam Express / Go
-
-usb:v046Dp092E*
- ID_PRODUCT_FROM_DATABASE=QuickCam Chat
-
-usb:v046Dp092F*
- ID_PRODUCT_FROM_DATABASE=QuickCam Express Plus
-
-usb:v046Dp0950*
- ID_PRODUCT_FROM_DATABASE=Pocket Camera
-
-usb:v046Dp0960*
- ID_PRODUCT_FROM_DATABASE=ClickSmart 420
-
-usb:v046Dp0970*
- ID_PRODUCT_FROM_DATABASE=Pocket750
-
-usb:v046Dp0990*
- ID_PRODUCT_FROM_DATABASE=QuickCam Pro 9000
-
-usb:v046Dp0991*
- ID_PRODUCT_FROM_DATABASE=QuickCam Pro for Notebooks
-
-usb:v046Dp0992*
- ID_PRODUCT_FROM_DATABASE=QuickCam Communicate Deluxe
-
-usb:v046Dp0994*
- ID_PRODUCT_FROM_DATABASE=QuickCam Orbit/Sphere AF
-
-usb:v046Dp09A1*
- ID_PRODUCT_FROM_DATABASE=QuickCam Communicate MP/S5500
-
-usb:v046Dp09A2*
- ID_PRODUCT_FROM_DATABASE=QuickCam Communicate Deluxe/S7500
-
-usb:v046Dp09A4*
- ID_PRODUCT_FROM_DATABASE=QuickCam E 3500
-
-usb:v046Dp09A5*
- ID_PRODUCT_FROM_DATABASE=Quickcam 3000 For Business
-
-usb:v046Dp09A6*
- ID_PRODUCT_FROM_DATABASE=QuickCam Vision Pro
-
-usb:v046Dp09B0*
- ID_PRODUCT_FROM_DATABASE=Acer OrbiCam
-
-usb:v046Dp09B2*
- ID_PRODUCT_FROM_DATABASE=Fujitsu Webcam
-
-usb:v046Dp09C0*
- ID_PRODUCT_FROM_DATABASE=QuickCam for Dell Notebooks Mic
-
-usb:v046Dp09C1*
- ID_PRODUCT_FROM_DATABASE=QuickCam Deluxe for Notebooks
-
-usb:v046Dp0A01*
- ID_PRODUCT_FROM_DATABASE=USB Headset
-
-usb:v046Dp0A02*
- ID_PRODUCT_FROM_DATABASE=Premium Stereo USB Headset 350
-
-usb:v046Dp0A03*
- ID_PRODUCT_FROM_DATABASE=Logitech USB Microphone
-
-usb:v046Dp0A04*
- ID_PRODUCT_FROM_DATABASE=V20 portable speakers (USB powered)
-
-usb:v046Dp0A07*
- ID_PRODUCT_FROM_DATABASE=Z-10 Speakers
-
-usb:v046Dp0A0B*
- ID_PRODUCT_FROM_DATABASE=ClearChat Pro USB
-
-usb:v046Dp0A0C*
- ID_PRODUCT_FROM_DATABASE=Clear Chat Comfort USB Headset
-
-usb:v046Dp0A13*
- ID_PRODUCT_FROM_DATABASE=Z-5 Speakers
-
-usb:v046Dp0A17*
- ID_PRODUCT_FROM_DATABASE=G330 Headset
-
-usb:v046Dp0B02*
- ID_PRODUCT_FROM_DATABASE=C-UV35 [Bluetooth Mini-Receiver] (HID proxy mode)
-
-usb:v046Dp8801*
- ID_PRODUCT_FROM_DATABASE=Video Camera
-
-usb:v046DpB305*
- ID_PRODUCT_FROM_DATABASE=BT Mini-Receiver
-
-usb:v046DpBFE4*
- ID_PRODUCT_FROM_DATABASE=Premium Optical Wheel Mouse
-
-usb:v046DpC000*
- ID_PRODUCT_FROM_DATABASE=N43 [Pilot Mouse]
-
-usb:v046DpC001*
- ID_PRODUCT_FROM_DATABASE=N48/M-BB48 [FirstMouse Plus]
-
-usb:v046DpC002*
- ID_PRODUCT_FROM_DATABASE=M-BA47 [MouseMan Plus]
-
-usb:v046DpC003*
- ID_PRODUCT_FROM_DATABASE=MouseMan
-
-usb:v046DpC004*
- ID_PRODUCT_FROM_DATABASE=WingMan Gaming Mouse
-
-usb:v046DpC005*
- ID_PRODUCT_FROM_DATABASE=WingMan Gaming Wheel Mouse
-
-usb:v046DpC00B*
- ID_PRODUCT_FROM_DATABASE=MouseMan Wheel
-
-usb:v046DpC00C*
- ID_PRODUCT_FROM_DATABASE=Optical Wheel Mouse
-
-usb:v046DpC00D*
- ID_PRODUCT_FROM_DATABASE=MouseMan Wheel+
-
-usb:v046DpC00E*
- ID_PRODUCT_FROM_DATABASE=M-BJ58/M-BJ69 Optical Wheel Mouse
-
-usb:v046DpC00F*
- ID_PRODUCT_FROM_DATABASE=MouseMan Traveler/Mobile
-
-usb:v046DpC011*
- ID_PRODUCT_FROM_DATABASE=Optical MouseMan
-
-usb:v046DpC012*
- ID_PRODUCT_FROM_DATABASE=Mouseman Dual Optical
-
-usb:v046DpC014*
- ID_PRODUCT_FROM_DATABASE=Corded Workstation Mouse
-
-usb:v046DpC015*
- ID_PRODUCT_FROM_DATABASE=Corded Workstation Mouse
-
-usb:v046DpC016*
- ID_PRODUCT_FROM_DATABASE=Optical Wheel Mouse
-
-usb:v046DpC018*
- ID_PRODUCT_FROM_DATABASE=Optical Wheel Mouse
-
-usb:v046DpC019*
- ID_PRODUCT_FROM_DATABASE=Optical Tilt Wheel Mouse
-
-usb:v046DpC01A*
- ID_PRODUCT_FROM_DATABASE=M-BQ85 Optical Wheel Mouse
-
-usb:v046DpC01B*
- ID_PRODUCT_FROM_DATABASE=MX310 Optical Mouse
-
-usb:v046DpC01C*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v046DpC01D*
- ID_PRODUCT_FROM_DATABASE=MX510 Optical Mouse
-
-usb:v046DpC01E*
- ID_PRODUCT_FROM_DATABASE=MX518 Optical Mouse
-
-usb:v046DpC024*
- ID_PRODUCT_FROM_DATABASE=MX300 Optical Mouse
-
-usb:v046DpC025*
- ID_PRODUCT_FROM_DATABASE=MX500 Optical Mouse
-
-usb:v046DpC030*
- ID_PRODUCT_FROM_DATABASE=iFeel Mouse
-
-usb:v046DpC031*
- ID_PRODUCT_FROM_DATABASE=iFeel Mouse+
-
-usb:v046DpC032*
- ID_PRODUCT_FROM_DATABASE=MouseMan iFeel
-
-usb:v046DpC033*
- ID_PRODUCT_FROM_DATABASE=iFeel MouseMan+
-
-usb:v046DpC034*
- ID_PRODUCT_FROM_DATABASE=MouseMan Optical
-
-usb:v046DpC035*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v046DpC036*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v046DpC037*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v046DpC038*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v046DpC03D*
- ID_PRODUCT_FROM_DATABASE=M-BT96a Pilot Optical Mouse
-
-usb:v046DpC03E*
- ID_PRODUCT_FROM_DATABASE=Premium Optical Wheel Mouse (M-BT58)
-
-usb:v046DpC03F*
- ID_PRODUCT_FROM_DATABASE=M-BT85 [UltraX Optical Mouse]
-
-usb:v046DpC040*
- ID_PRODUCT_FROM_DATABASE=Corded Tilt-Wheel Mouse
-
-usb:v046DpC041*
- ID_PRODUCT_FROM_DATABASE=G5 Laser Mouse
-
-usb:v046DpC042*
- ID_PRODUCT_FROM_DATABASE=G3 Laser Mouse
-
-usb:v046DpC043*
- ID_PRODUCT_FROM_DATABASE=MX320/MX400 Laser Mouse
-
-usb:v046DpC044*
- ID_PRODUCT_FROM_DATABASE=LX3 Optical Mouse
-
-usb:v046DpC045*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v046DpC046*
- ID_PRODUCT_FROM_DATABASE=RX1000 Laser Mouse
-
-usb:v046DpC047*
- ID_PRODUCT_FROM_DATABASE=Laser Mouse M-UAL120
-
-usb:v046DpC048*
- ID_PRODUCT_FROM_DATABASE=G9 Laser Mouse
-
-usb:v046DpC049*
- ID_PRODUCT_FROM_DATABASE=G5 Laser Mouse
-
-usb:v046DpC050*
- ID_PRODUCT_FROM_DATABASE=RX 250 Optical Mouse
-
-usb:v046DpC051*
- ID_PRODUCT_FROM_DATABASE=G3 (MX518) Optical Mouse
-
-usb:v046DpC053*
- ID_PRODUCT_FROM_DATABASE=Laser Mouse
-
-usb:v046DpC054*
- ID_PRODUCT_FROM_DATABASE=Bluetooth mini-receiver
-
-usb:v046DpC058*
- ID_PRODUCT_FROM_DATABASE=M115 Mouse
-
-usb:v046DpC05A*
- ID_PRODUCT_FROM_DATABASE=M90/M100 Optical Mouse
-
-usb:v046DpC05B*
- ID_PRODUCT_FROM_DATABASE=M-U0004 810-001317 [B110 Optical USB Mouse]
-
-usb:v046DpC05D*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v046DpC05F*
- ID_PRODUCT_FROM_DATABASE=M115 Optical Mouse
-
-usb:v046DpC061*
- ID_PRODUCT_FROM_DATABASE=RX1500 Laser Mouse
-
-usb:v046DpC062*
- ID_PRODUCT_FROM_DATABASE=M-UAS144 [LS1 Laser Mouse]
-
-usb:v046DpC063*
- ID_PRODUCT_FROM_DATABASE=DELL Laser Mouse
-
-usb:v046DpC068*
- ID_PRODUCT_FROM_DATABASE=G500 Laser Mouse
-
-usb:v046DpC069*
- ID_PRODUCT_FROM_DATABASE=M500 Laser Mouse
-
-usb:v046DpC06A*
- ID_PRODUCT_FROM_DATABASE=USB Optical Mouse
-
-usb:v046DpC06B*
- ID_PRODUCT_FROM_DATABASE=G700 Wireless Gaming Mouse
-
-usb:v046DpC06C*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v046DpC101*
- ID_PRODUCT_FROM_DATABASE=UltraX Media Remote
-
-usb:v046DpC110*
- ID_PRODUCT_FROM_DATABASE=Harmony 885 Remote
-
-usb:v046DpC111*
- ID_PRODUCT_FROM_DATABASE=Harmony 525 Remote
-
-usb:v046DpC11F*
- ID_PRODUCT_FROM_DATABASE=Harmony 900 Remote
-
-usb:v046DpC122*
- ID_PRODUCT_FROM_DATABASE=Harmony 700 Remote
-
-usb:v046DpC201*
- ID_PRODUCT_FROM_DATABASE=WingMan Extreme Joystick with Throttle
-
-usb:v046DpC202*
- ID_PRODUCT_FROM_DATABASE=WingMan Formula
-
-usb:v046DpC207*
- ID_PRODUCT_FROM_DATABASE=WingMan Extreme Digital 3D
-
-usb:v046DpC208*
- ID_PRODUCT_FROM_DATABASE=WingMan Gamepad Extreme
-
-usb:v046DpC209*
- ID_PRODUCT_FROM_DATABASE=WingMan Gamepad
-
-usb:v046DpC20A*
- ID_PRODUCT_FROM_DATABASE=WingMan RumblePad
-
-usb:v046DpC20B*
- ID_PRODUCT_FROM_DATABASE=WingMan Action Pad
-
-usb:v046DpC20C*
- ID_PRODUCT_FROM_DATABASE=WingMan Precision
-
-usb:v046DpC20D*
- ID_PRODUCT_FROM_DATABASE=WingMan Attack 2
-
-usb:v046DpC20E*
- ID_PRODUCT_FROM_DATABASE=WingMan Formula GP
-
-usb:v046DpC211*
- ID_PRODUCT_FROM_DATABASE=iTouch Cordless Reciever
-
-usb:v046DpC212*
- ID_PRODUCT_FROM_DATABASE=WingMan Extreme Digital 3D
-
-usb:v046DpC213*
- ID_PRODUCT_FROM_DATABASE=J-UH16 (Freedom 2.4 Cordless Joystick)
-
-usb:v046DpC214*
- ID_PRODUCT_FROM_DATABASE=ATK3 (Attack III Joystick)
-
-usb:v046DpC215*
- ID_PRODUCT_FROM_DATABASE=Extreme 3D Pro
-
-usb:v046DpC216*
- ID_PRODUCT_FROM_DATABASE=Dual Action Gamepad
-
-usb:v046DpC218*
- ID_PRODUCT_FROM_DATABASE=Logitech RumblePad 2 USB
-
-usb:v046DpC219*
- ID_PRODUCT_FROM_DATABASE=Cordless RumblePad 2
-
-usb:v046DpC21A*
- ID_PRODUCT_FROM_DATABASE=Precision Gamepad
-
-usb:v046DpC21C*
- ID_PRODUCT_FROM_DATABASE=G13 Advanced Gameboard
-
-usb:v046DpC21D*
- ID_PRODUCT_FROM_DATABASE=F310 Gamepad [XInput Mode]
-
-usb:v046DpC21E*
- ID_PRODUCT_FROM_DATABASE=F510 Gamepad [XInput Mode]
-
-usb:v046DpC21F*
- ID_PRODUCT_FROM_DATABASE=F710 Wireless Gamepad [XInput Mode]
-
-usb:v046DpC221*
- ID_PRODUCT_FROM_DATABASE=G11/G15 Keyboard / Keyboard
-
-usb:v046DpC222*
- ID_PRODUCT_FROM_DATABASE=G15 Keyboard / LCD
-
-usb:v046DpC223*
- ID_PRODUCT_FROM_DATABASE=G11/G15 Keyboard / USB Hub
-
-usb:v046DpC225*
- ID_PRODUCT_FROM_DATABASE=G11/G15 Keyboard / G keys
-
-usb:v046DpC226*
- ID_PRODUCT_FROM_DATABASE=G15 Refresh Keyboard
-
-usb:v046DpC227*
- ID_PRODUCT_FROM_DATABASE=G15 Refresh Keyboard
-
-usb:v046DpC22A*
- ID_PRODUCT_FROM_DATABASE=Gaming Keyboard G110
-
-usb:v046DpC22B*
- ID_PRODUCT_FROM_DATABASE=Gaming Keyboard G110 G-keys
-
-usb:v046DpC22D*
- ID_PRODUCT_FROM_DATABASE=G510 Gaming Keyboard
-
-usb:v046DpC22E*
- ID_PRODUCT_FROM_DATABASE=G510 Gaming Keyboard onboard audio
-
-usb:v046DpC246*
- ID_PRODUCT_FROM_DATABASE=Gaming Mouse G300
-
-usb:v046DpC281*
- ID_PRODUCT_FROM_DATABASE=WingMan Force
-
-usb:v046DpC283*
- ID_PRODUCT_FROM_DATABASE=WingMan Force 3D
-
-usb:v046DpC285*
- ID_PRODUCT_FROM_DATABASE=WingMan Strike Force 3D
-
-usb:v046DpC286*
- ID_PRODUCT_FROM_DATABASE=Force 3D Pro
-
-usb:v046DpC287*
- ID_PRODUCT_FROM_DATABASE=Flight System G940
-
-usb:v046DpC291*
- ID_PRODUCT_FROM_DATABASE=WingMan Formula Force
-
-usb:v046DpC293*
- ID_PRODUCT_FROM_DATABASE=WingMan Formula Force GP
-
-usb:v046DpC294*
- ID_PRODUCT_FROM_DATABASE=Driving Force
-
-usb:v046DpC295*
- ID_PRODUCT_FROM_DATABASE=Momo Force Steering Wheel
-
-usb:v046DpC298*
- ID_PRODUCT_FROM_DATABASE=Driving Force Pro
-
-usb:v046DpC299*
- ID_PRODUCT_FROM_DATABASE=G25 Racing Wheel
-
-usb:v046DpC29B*
- ID_PRODUCT_FROM_DATABASE=G27 Racing Wheel
-
-usb:v046DpC29C*
- ID_PRODUCT_FROM_DATABASE=Speed Force Wireless Wheel for Wii
-
-usb:v046DpC2A0*
- ID_PRODUCT_FROM_DATABASE=Wingman Force Feedback Mouse
-
-usb:v046DpC2A1*
- ID_PRODUCT_FROM_DATABASE=WingMan Force Feedback Mouse
-
-usb:v046DpC301*
- ID_PRODUCT_FROM_DATABASE=iTouch Keyboard
-
-usb:v046DpC302*
- ID_PRODUCT_FROM_DATABASE=iTouch Pro Keyboard
-
-usb:v046DpC303*
- ID_PRODUCT_FROM_DATABASE=iTouch Keyboard
-
-usb:v046DpC305*
- ID_PRODUCT_FROM_DATABASE=Internet Keyboard
-
-usb:v046DpC307*
- ID_PRODUCT_FROM_DATABASE=Internet Keyboard
-
-usb:v046DpC308*
- ID_PRODUCT_FROM_DATABASE=Internet Navigator Keyboard
-
-usb:v046DpC309*
- ID_PRODUCT_FROM_DATABASE=Internet Keyboard
-
-usb:v046DpC30A*
- ID_PRODUCT_FROM_DATABASE=iTouch Composite
-
-usb:v046DpC30B*
- ID_PRODUCT_FROM_DATABASE=NetPlay Keyboard
-
-usb:v046DpC30C*
- ID_PRODUCT_FROM_DATABASE=Internet Keys (X)
-
-usb:v046DpC30D*
- ID_PRODUCT_FROM_DATABASE=Internet Keys
-
-usb:v046DpC30E*
- ID_PRODUCT_FROM_DATABASE=UltraX Keyboard (Y-BL49)
-
-usb:v046DpC30F*
- ID_PRODUCT_FROM_DATABASE=Logicool HID-Compliant Keyboard (106 key)
-
-usb:v046DpC311*
- ID_PRODUCT_FROM_DATABASE=Y-UF49 [Internet Pro Keyboard]
-
-usb:v046DpC312*
- ID_PRODUCT_FROM_DATABASE=DeLuxe 250 Keyboard
-
-usb:v046DpC313*
- ID_PRODUCT_FROM_DATABASE=Internet 350 Keyboard
-
-usb:v046DpC315*
- ID_PRODUCT_FROM_DATABASE=Classic New Touch Keyboard
-
-usb:v046DpC316*
- ID_PRODUCT_FROM_DATABASE=HID-Compliant Keyboard
-
-usb:v046DpC317*
- ID_PRODUCT_FROM_DATABASE=Wave Corded Keyboard
-
-usb:v046DpC318*
- ID_PRODUCT_FROM_DATABASE=Illuminated Keyboard
-
-usb:v046DpC31A*
- ID_PRODUCT_FROM_DATABASE=Comfort Wave 450
-
-usb:v046DpC31B*
- ID_PRODUCT_FROM_DATABASE=Compact Keyboard K300
-
-usb:v046DpC31C*
- ID_PRODUCT_FROM_DATABASE=Keyboard K120 for Business
-
-usb:v046DpC31D*
- ID_PRODUCT_FROM_DATABASE=Media Keyboard K200
-
-usb:v046DpC401*
- ID_PRODUCT_FROM_DATABASE=TrackMan Marble Wheel
-
-usb:v046DpC402*
- ID_PRODUCT_FROM_DATABASE=Marble Mouse (2-button)
-
-usb:v046DpC403*
- ID_PRODUCT_FROM_DATABASE=Turbo TrackMan Marble FX
-
-usb:v046DpC404*
- ID_PRODUCT_FROM_DATABASE=TrackMan Wheel
-
-usb:v046DpC408*
- ID_PRODUCT_FROM_DATABASE=Marble Mouse (4-button)
-
-usb:v046DpC501*
- ID_PRODUCT_FROM_DATABASE=Cordless Mouse Receiver
-
-usb:v046DpC502*
- ID_PRODUCT_FROM_DATABASE=Cordless Mouse & iTouch Keys
-
-usb:v046DpC503*
- ID_PRODUCT_FROM_DATABASE=Cordless Mouse+Keyboard Receiver
-
-usb:v046DpC504*
- ID_PRODUCT_FROM_DATABASE=Cordless Mouse+Keyboard Receiver
-
-usb:v046DpC505*
- ID_PRODUCT_FROM_DATABASE=Cordless Mouse+Keyboard Receiver
-
-usb:v046DpC506*
- ID_PRODUCT_FROM_DATABASE=MX700 Cordless Mouse Receiver
-
-usb:v046DpC508*
- ID_PRODUCT_FROM_DATABASE=Cordless Trackball
-
-usb:v046DpC509*
- ID_PRODUCT_FROM_DATABASE=Cordless Keyboard & Mouse
-
-usb:v046DpC50A*
- ID_PRODUCT_FROM_DATABASE=Cordless Mouse
-
-usb:v046DpC50B*
- ID_PRODUCT_FROM_DATABASE=Cordless Desktop Optical
-
-usb:v046DpC50C*
- ID_PRODUCT_FROM_DATABASE=Cordless Desktop S510
-
-usb:v046DpC50D*
- ID_PRODUCT_FROM_DATABASE=Cordless Mouse
-
-usb:v046DpC50E*
- ID_PRODUCT_FROM_DATABASE=Cordless Mouse Receiver
-
-usb:v046DpC510*
- ID_PRODUCT_FROM_DATABASE=Cordless Mouse
-
-usb:v046DpC512*
- ID_PRODUCT_FROM_DATABASE=LX-700 Cordless Desktop Receiver
-
-usb:v046DpC513*
- ID_PRODUCT_FROM_DATABASE=MX3000 Cordless Desktop Receiver
-
-usb:v046DpC514*
- ID_PRODUCT_FROM_DATABASE=Cordless Mouse
-
-usb:v046DpC515*
- ID_PRODUCT_FROM_DATABASE=Cordless 2.4 GHz Presenter Presentation remote control
-
-usb:v046DpC517*
- ID_PRODUCT_FROM_DATABASE=LX710 Cordless Desktop Laser
-
-usb:v046DpC518*
- ID_PRODUCT_FROM_DATABASE=MX610 Laser Cordless Mouse
-
-usb:v046DpC51A*
- ID_PRODUCT_FROM_DATABASE=MX Revolution/G7 Cordless Mouse
-
-usb:v046DpC51B*
- ID_PRODUCT_FROM_DATABASE=V220 Cordless Optical Mouse for Notebooks
-
-usb:v046DpC521*
- ID_PRODUCT_FROM_DATABASE=Cordless Mouse Receiver
-
-usb:v046DpC525*
- ID_PRODUCT_FROM_DATABASE=MX Revolution Cordless Mouse
-
-usb:v046DpC526*
- ID_PRODUCT_FROM_DATABASE=Nano Receiver
-
-usb:v046DpC529*
- ID_PRODUCT_FROM_DATABASE=diNovo Keyboard for notebooks
-
-usb:v046DpC52B*
- ID_PRODUCT_FROM_DATABASE=Unifying Receiver
-
-usb:v046DpC52F*
- ID_PRODUCT_FROM_DATABASE=Wireless Mouse M305
-
-usb:v046DpC623*
- ID_PRODUCT_FROM_DATABASE=3Dconnexion Space Traveller 3D Mouse
-
-usb:v046DpC625*
- ID_PRODUCT_FROM_DATABASE=3Dconnexion Space Pilot 3D Mouse
-
-usb:v046DpC626*
- ID_PRODUCT_FROM_DATABASE=3Dconnexion Space Navigator 3D Mouse
-
-usb:v046DpC627*
- ID_PRODUCT_FROM_DATABASE=3Dconnexion Space Explorer 3D Mouse
-
-usb:v046DpC702*
- ID_PRODUCT_FROM_DATABASE=Cordless Presenter
-
-usb:v046DpC703*
- ID_PRODUCT_FROM_DATABASE=Elite Keyboard Y-RP20 + Mouse MX900 (Bluetooth)
-
-usb:v046DpC704*
- ID_PRODUCT_FROM_DATABASE=diNovo Wireless Desktop
-
-usb:v046DpC705*
- ID_PRODUCT_FROM_DATABASE=MX900 Bluetooth Wireless Hub (C-UJ16A)
-
-usb:v046DpC707*
- ID_PRODUCT_FROM_DATABASE=Bluetooth wireless hub
-
-usb:v046DpC708*
- ID_PRODUCT_FROM_DATABASE=Bluetooth wireless hub
-
-usb:v046DpC709*
- ID_PRODUCT_FROM_DATABASE=BT Mini-Receiver (HCI mode)
-
-usb:v046DpC70A*
- ID_PRODUCT_FROM_DATABASE=MX5000 Cordless Desktop
-
-usb:v046DpC70B*
- ID_PRODUCT_FROM_DATABASE=BT Mini-Receiver (HID proxy mode)
-
-usb:v046DpC70C*
- ID_PRODUCT_FROM_DATABASE=BT Mini-Receiver (HID proxy mode)
-
-usb:v046DpC70D*
- ID_PRODUCT_FROM_DATABASE=Bluetooth wireless hub
-
-usb:v046DpC70E*
- ID_PRODUCT_FROM_DATABASE=MX1000 Bluetooth Laser Mouse
-
-usb:v046DpC70F*
- ID_PRODUCT_FROM_DATABASE=Bluetooth wireless hub
-
-usb:v046DpC712*
- ID_PRODUCT_FROM_DATABASE=Bluetooth wireless hub
-
-usb:v046DpC714*
- ID_PRODUCT_FROM_DATABASE=diNovo Edge Keyboard
-
-usb:v046DpC715*
- ID_PRODUCT_FROM_DATABASE=Bluetooth wireless hub
-
-usb:v046DpC71A*
- ID_PRODUCT_FROM_DATABASE=Bluetooth wireless hub
-
-usb:v046DpC71D*
- ID_PRODUCT_FROM_DATABASE=Bluetooth wireless hub
-
-usb:v046DpC71F*
- ID_PRODUCT_FROM_DATABASE=diNovo Mini Wireless Keyboard
-
-usb:v046DpC720*
- ID_PRODUCT_FROM_DATABASE=Bluetooth wireless hub
-
-usb:v046DpCA03*
- ID_PRODUCT_FROM_DATABASE=MOMO Racing
-
-usb:v046DpCA04*
- ID_PRODUCT_FROM_DATABASE=Formula Vibration Feedback Wheel
-
-usb:v046DpCAB1*
- ID_PRODUCT_FROM_DATABASE=Cordless Keyboard for Wii HID Receiver
-
-usb:v046DpD001*
- ID_PRODUCT_FROM_DATABASE=QuickCam Pro
-
-usb:v046E*
- ID_VENDOR_FROM_DATABASE=Behavior Tech. Computer Corp.
-
-usb:v046Ep0100*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v046Ep3001*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v046Ep3002*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v046Ep3003*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v046Ep3005*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v046Ep3008*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v046Ep5250*
- ID_PRODUCT_FROM_DATABASE=KeyMaestro Multimedia Keyboard
-
-usb:v046Ep5273*
- ID_PRODUCT_FROM_DATABASE=KeyMaestro Multimedia Keyboard
-
-usb:v046Ep52E6*
- ID_PRODUCT_FROM_DATABASE=Cordless Mouse
-
-usb:v046Ep5308*
- ID_PRODUCT_FROM_DATABASE=KeyMaestro Keyboard
-
-usb:v046Ep5408*
- ID_PRODUCT_FROM_DATABASE=KeyMaestro Multimedia Keyboard/Hub
-
-usb:v046Ep5500*
- ID_PRODUCT_FROM_DATABASE=Portable Keyboard 86+9 keys (Model 6100C US)
-
-usb:v046Ep5720*
- ID_PRODUCT_FROM_DATABASE=Smart Card Reader
-
-usb:v046Ep6782*
- ID_PRODUCT_FROM_DATABASE=BTC 7932 mouse+keyboard
-
-usb:v046F*
- ID_VENDOR_FROM_DATABASE=Crystal Semiconductor
-
-usb:v0471*
- ID_VENDOR_FROM_DATABASE=Philips (or NXP)
-
-usb:v0471p0101*
- ID_PRODUCT_FROM_DATABASE=DSS350 Digital Speaker System
-
-usb:v0471p0104*
- ID_PRODUCT_FROM_DATABASE=DSS330 Digital Speaker System [uda1321]
-
-usb:v0471p0105*
- ID_PRODUCT_FROM_DATABASE=UDA1321
-
-usb:v0471p014F*
- ID_PRODUCT_FROM_DATABASE=GoGear SA9200
-
-usb:v0471p0160*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0471p0161*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0471p0163*
- ID_PRODUCT_FROM_DATABASE=GoGear SA1100
-
-usb:v0471p0164*
- ID_PRODUCT_FROM_DATABASE=GoGear SA1110/02
-
-usb:v0471p0165*
- ID_PRODUCT_FROM_DATABASE=GoGear SA1330
-
-usb:v0471p0201*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v0471p0222*
- ID_PRODUCT_FROM_DATABASE=Creative Nomad Jukebox
-
-usb:v0471p0302*
- ID_PRODUCT_FROM_DATABASE=PCA645VC Webcam [pwc]
-
-usb:v0471p0303*
- ID_PRODUCT_FROM_DATABASE=PCA646VC Webcam [pwc]
-
-usb:v0471p0304*
- ID_PRODUCT_FROM_DATABASE=Askey VC010 Webcam [pwc]
-
-usb:v0471p0307*
- ID_PRODUCT_FROM_DATABASE=PCVC675K Webcam [pwc]
-
-usb:v0471p0308*
- ID_PRODUCT_FROM_DATABASE=PCVC680K Webcam [pwc]
-
-usb:v0471p030B*
- ID_PRODUCT_FROM_DATABASE=PC VGA Camera (Vesta Fun)
-
-usb:v0471p030C*
- ID_PRODUCT_FROM_DATABASE=PCVC690K Webcam [pwc]
-
-usb:v0471p0310*
- ID_PRODUCT_FROM_DATABASE=PCVC730K Webcam [pwc]
-
-usb:v0471p0311*
- ID_PRODUCT_FROM_DATABASE=PCVC740K ToUcam Pro [pwc]
-
-usb:v0471p0312*
- ID_PRODUCT_FROM_DATABASE=PCVC750K Webcam [pwc]
-
-usb:v0471p0314*
- ID_PRODUCT_FROM_DATABASE=DMVC 1000K
-
-usb:v0471p0316*
- ID_PRODUCT_FROM_DATABASE=DMVC 2000K Video Capture
-
-usb:v0471p0321*
- ID_PRODUCT_FROM_DATABASE=FunCam
-
-usb:v0471p0322*
- ID_PRODUCT_FROM_DATABASE=DMVC1300K PC Camera
-
-usb:v0471p0325*
- ID_PRODUCT_FROM_DATABASE=SPC 200NC PC Camera
-
-usb:v0471p0326*
- ID_PRODUCT_FROM_DATABASE=SPC 300NC PC Camera
-
-usb:v0471p0327*
- ID_PRODUCT_FROM_DATABASE=Webcam SPC 6000 NC (Webcam w/ mic)
-
-usb:v0471p0328*
- ID_PRODUCT_FROM_DATABASE=SPC 700NC PC Camera
-
-usb:v0471p0329*
- ID_PRODUCT_FROM_DATABASE=SPC 900NC PC Camera / ORITE CCD Webcam(PC370R)
-
-usb:v0471p032D*
- ID_PRODUCT_FROM_DATABASE=SPC 210NC PC Camera
-
-usb:v0471p032E*
- ID_PRODUCT_FROM_DATABASE=SPC 315NC PC Camera
-
-usb:v0471p0330*
- ID_PRODUCT_FROM_DATABASE=SPC 710NC PC Camera
-
-usb:v0471p0331*
- ID_PRODUCT_FROM_DATABASE=SPC 1300NC PC Camera
-
-usb:v0471p0332*
- ID_PRODUCT_FROM_DATABASE=SPC 1000NC PC Camera
-
-usb:v0471p0333*
- ID_PRODUCT_FROM_DATABASE=SPC 620NC PC Camera
-
-usb:v0471p0334*
- ID_PRODUCT_FROM_DATABASE=SPC 520/525NC PC Camera
-
-usb:v0471p0401*
- ID_PRODUCT_FROM_DATABASE=Semiconductors CICT Keyboard
-
-usb:v0471p0402*
- ID_PRODUCT_FROM_DATABASE=PS/2 Mouse on Semiconductors CICT Keyboard
-
-usb:v0471p0406*
- ID_PRODUCT_FROM_DATABASE=15 inch Detachable Monitor
-
-usb:v0471p0407*
- ID_PRODUCT_FROM_DATABASE=10 inch Mobile Monitor
-
-usb:v0471p0408*
- ID_PRODUCT_FROM_DATABASE=SG3WA1/74 802.11b WLAN Adapter [Atmel AT76C503A]
-
-usb:v0471p0471*
- ID_PRODUCT_FROM_DATABASE=Digital Speaker System
-
-usb:v0471p0601*
- ID_PRODUCT_FROM_DATABASE=OVU1020 IR Dongle (Kbd+Mouse)
-
-usb:v0471p0602*
- ID_PRODUCT_FROM_DATABASE=ATI Remote Wonder II Input Device
-
-usb:v0471p0603*
- ID_PRODUCT_FROM_DATABASE=ATI Remote Wonder II Controller
-
-usb:v0471p0608*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v0471p060A*
- ID_PRODUCT_FROM_DATABASE=TSU9600 Remote Control
-
-usb:v0471p060C*
- ID_PRODUCT_FROM_DATABASE=Consumer Infrared Transceiver (HP)
-
-usb:v0471p060D*
- ID_PRODUCT_FROM_DATABASE=Consumer Infrared Transceiver (SRM5100)
-
-usb:v0471p060E*
- ID_PRODUCT_FROM_DATABASE=RF Dongle
-
-usb:v0471p060F*
- ID_PRODUCT_FROM_DATABASE=Consumer Infrared Transceiver
-
-usb:v0471p0613*
- ID_PRODUCT_FROM_DATABASE=Infrared Transceiver
-
-usb:v0471p0617*
- ID_PRODUCT_FROM_DATABASE=IEEE802.15.4 RF Dongle
-
-usb:v0471p0619*
- ID_PRODUCT_FROM_DATABASE=TSU9400 Remote Control
-
-usb:v0471p0666*
- ID_PRODUCT_FROM_DATABASE=Hantek DDS-3005 Arbitrary Waveform Generator
-
-usb:v0471p0700*
- ID_PRODUCT_FROM_DATABASE=Semiconductors CICT Hub
-
-usb:v0471p0701*
- ID_PRODUCT_FROM_DATABASE=150P1 TFT Display
-
-usb:v0471p0809*
- ID_PRODUCT_FROM_DATABASE=AVNET Bluetooth Device
-
-usb:v0471p0811*
- ID_PRODUCT_FROM_DATABASE=JR24 CDRW
-
-usb:v0471p0814*
- ID_PRODUCT_FROM_DATABASE=DCCX38/P data cable
-
-usb:v0471p0815*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v0471p0844*
- ID_PRODUCT_FROM_DATABASE=SA2111/02 1GB Flash Audio Player
-
-usb:v0471p084A*
- ID_PRODUCT_FROM_DATABASE=GoGear SA3125
-
-usb:v0471p084E*
- ID_PRODUCT_FROM_DATABASE=GoGear SA60xx (mtp)
-
-usb:v0471p0888*
- ID_PRODUCT_FROM_DATABASE=Hantek DDS-3005 Arbitrary Waveform Generator
-
-usb:v0471p1103*
- ID_PRODUCT_FROM_DATABASE=Digital Speaker System
-
-usb:v0471p1120*
- ID_PRODUCT_FROM_DATABASE=Creative Rhomba MP3 player
-
-usb:v0471p1125*
- ID_PRODUCT_FROM_DATABASE=Nike psa[128max Player
-
-usb:v0471p1137*
- ID_PRODUCT_FROM_DATABASE=HDD065 MP3 player
-
-usb:v0471p1201*
- ID_PRODUCT_FROM_DATABASE=Arima Bluetooth Device
-
-usb:v0471p1230*
- ID_PRODUCT_FROM_DATABASE=Wireless Adapter 11g
-
-usb:v0471p1232*
- ID_PRODUCT_FROM_DATABASE=SNU6500 Wireless Adapter
-
-usb:v0471p1233*
- ID_PRODUCT_FROM_DATABASE=Wireless Adapter Bootloader Download
-
-usb:v0471p1236*
- ID_PRODUCT_FROM_DATABASE=SNU5600 802.11bg
-
-usb:v0471p1237*
- ID_PRODUCT_FROM_DATABASE=TalkTalk SNU5630NS/05 802.11bg
-
-usb:v0471p1552*
- ID_PRODUCT_FROM_DATABASE=ISP 1581 Hi-Speed USB MPEG2 Encoder Reference Kit
-
-usb:v0471p1801*
- ID_PRODUCT_FROM_DATABASE=Diva MP3 player
-
-usb:v0471p200A*
- ID_PRODUCT_FROM_DATABASE=Wireless Network Adapter
-
-usb:v0471p200F*
- ID_PRODUCT_FROM_DATABASE=802.11n Wireless Adapter
-
-usb:v0471p2021*
- ID_PRODUCT_FROM_DATABASE=SDE3273FC/97 2.5" SATA HDD Enclosure [INIC-1608L]
-
-usb:v0471p2022*
- ID_PRODUCT_FROM_DATABASE=GoGear SA52XX
-
-usb:v0471p2034*
- ID_PRODUCT_FROM_DATABASE=Webcam SPC530NC
-
-usb:v0471p2036*
- ID_PRODUCT_FROM_DATABASE=Webcam SPC1030NC
-
-usb:v0471p203F*
- ID_PRODUCT_FROM_DATABASE=TSU9200 Remote Control
-
-usb:v0471p2046*
- ID_PRODUCT_FROM_DATABASE=TSU9800 Remote Control
-
-usb:v0471p204E*
- ID_PRODUCT_FROM_DATABASE=GoGear RaGa (SA1942/02)
-
-usb:v0471p205E*
- ID_PRODUCT_FROM_DATABASE=TSU9300 Remote Control
-
-usb:v0471p206C*
- ID_PRODUCT_FROM_DATABASE=MCE IR Receiver - Spinel plusf0r ASUS
-
-usb:v0471p2070*
- ID_PRODUCT_FROM_DATABASE=GoGear Mix
-
-usb:v0471p2076*
- ID_PRODUCT_FROM_DATABASE=GoGear Aria
-
-usb:v0471p2079*
- ID_PRODUCT_FROM_DATABASE=GoGear Opus
-
-usb:v0471p2088*
- ID_PRODUCT_FROM_DATABASE=MCE IR Receiver with ALS- Spinel plus for ASUS
-
-usb:v0471p209E*
- ID_PRODUCT_FROM_DATABASE=PTA01 Wireless Adapter
-
-usb:v0471p20B6*
- ID_PRODUCT_FROM_DATABASE=GoGear Vibe
-
-usb:v0471p20D0*
- ID_PRODUCT_FROM_DATABASE=SPZ2000 Webcam [PixArt PAC7332]
-
-usb:v0471p20E3*
- ID_PRODUCT_FROM_DATABASE=GoGear Raga
-
-usb:v0471p262C*
- ID_PRODUCT_FROM_DATABASE=SPC230NC Webcam
-
-usb:v0471p485D*
- ID_PRODUCT_FROM_DATABASE=Senselock SenseIV v2.x
-
-usb:v0471pDF55*
- ID_PRODUCT_FROM_DATABASE=LPCXpresso LPC-Link
-
-usb:v0472*
- ID_VENDOR_FROM_DATABASE=Chicony Electronics Co., Ltd
-
-usb:v0472p0065*
- ID_PRODUCT_FROM_DATABASE=PFU-65 Keyboard [Chicony]
-
-usb:v0472pB086*
- ID_PRODUCT_FROM_DATABASE=Asus USB2.0 Webcam
-
-usb:v0472pB091*
- ID_PRODUCT_FROM_DATABASE=Webcam
-
-usb:v0473*
- ID_VENDOR_FROM_DATABASE=Sanyo Information Business Co., Ltd
-
-usb:v0474*
- ID_VENDOR_FROM_DATABASE=Sanyo Electric Co., Ltd
-
-usb:v0474p0110*
- ID_PRODUCT_FROM_DATABASE=Digital Voice Recorder R200
-
-usb:v0474p0217*
- ID_PRODUCT_FROM_DATABASE=Xacti J2
-
-usb:v0474p022F*
- ID_PRODUCT_FROM_DATABASE=C5 Digital Media Camera (mass storage mode)
-
-usb:v0474p0230*
- ID_PRODUCT_FROM_DATABASE=C5 Digital Media Camera (PictBridge mode)
-
-usb:v0474p0231*
- ID_PRODUCT_FROM_DATABASE=C5 Digital Media Camera (PC control mode)
-
-usb:v0474p0401*
- ID_PRODUCT_FROM_DATABASE=Optical Drive
-
-usb:v0474p0701*
- ID_PRODUCT_FROM_DATABASE=SCP-4900 Cellphone
-
-usb:v0474p071F*
- ID_PRODUCT_FROM_DATABASE=Usb Com Port Enumerator
-
-usb:v0474p0722*
- ID_PRODUCT_FROM_DATABASE=W33SA Camera
-
-usb:v0475*
- ID_VENDOR_FROM_DATABASE=Relisys/Teco Information System
-
-usb:v0475p0100*
- ID_PRODUCT_FROM_DATABASE=NEC Petiscan
-
-usb:v0475p0103*
- ID_PRODUCT_FROM_DATABASE=Eclipse 1200U/Episode
-
-usb:v0475p0210*
- ID_PRODUCT_FROM_DATABASE=Scorpio Ultra 3
-
-usb:v0476*
- ID_VENDOR_FROM_DATABASE=AESP
-
-usb:v0477*
- ID_VENDOR_FROM_DATABASE=Seagate Technology, Inc.
-
-usb:v0478*
- ID_VENDOR_FROM_DATABASE=Connectix Corp.
-
-usb:v0478p0001*
- ID_PRODUCT_FROM_DATABASE=QuickCam
-
-usb:v0478p0002*
- ID_PRODUCT_FROM_DATABASE=QuickClip
-
-usb:v0478p0003*
- ID_PRODUCT_FROM_DATABASE=QuickCam Pro
-
-usb:v0479*
- ID_VENDOR_FROM_DATABASE=Advanced Peripheral Laboratories
-
-usb:v047A*
- ID_VENDOR_FROM_DATABASE=Semtech Corp.
-
-usb:v047Ap0004*
- ID_PRODUCT_FROM_DATABASE=ScreenCoder UR7HCTS2-USB
-
-usb:v047B*
- ID_VENDOR_FROM_DATABASE=Silitek Corp.
-
-usb:v047Bp0001*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v047Bp0002*
- ID_PRODUCT_FROM_DATABASE=Keyboard and Mouse
-
-usb:v047Bp0011*
- ID_PRODUCT_FROM_DATABASE=SK-1688U Keyboard
-
-usb:v047Bp00F9*
- ID_PRODUCT_FROM_DATABASE=SK-1789u Keyboard
-
-usb:v047Bp0101*
- ID_PRODUCT_FROM_DATABASE=BlueTooth Keyboard and Mouse
-
-usb:v047Bp020B*
- ID_PRODUCT_FROM_DATABASE=SK-3105 SmartCard Reader
-
-usb:v047Bp050E*
- ID_PRODUCT_FROM_DATABASE=Internet Compact Keyboard
-
-usb:v047Bp1000*
- ID_PRODUCT_FROM_DATABASE=Trust Office Scan USB 19200
-
-usb:v047Bp1002*
- ID_PRODUCT_FROM_DATABASE=HP ScanJet 4300c Parallel Port
-
-usb:v047C*
- ID_VENDOR_FROM_DATABASE=Dell Computer Corp.
-
-usb:v047D*
- ID_VENDOR_FROM_DATABASE=Kensington
-
-usb:v047Dp1001*
- ID_PRODUCT_FROM_DATABASE=Mouse*in*a*Box
-
-usb:v047Dp1002*
- ID_PRODUCT_FROM_DATABASE=Expert Mouse Pro
-
-usb:v047Dp1003*
- ID_PRODUCT_FROM_DATABASE=Orbit TrackBall
-
-usb:v047Dp1004*
- ID_PRODUCT_FROM_DATABASE=MouseWorks
-
-usb:v047Dp1005*
- ID_PRODUCT_FROM_DATABASE=TurboBall
-
-usb:v047Dp1006*
- ID_PRODUCT_FROM_DATABASE=TurboRing
-
-usb:v047Dp1009*
- ID_PRODUCT_FROM_DATABASE=Orbit TrackBall for Mac
-
-usb:v047Dp1012*
- ID_PRODUCT_FROM_DATABASE=PocketMouse
-
-usb:v047Dp1013*
- ID_PRODUCT_FROM_DATABASE=Mouse*in*a*Box Optical Pro
-
-usb:v047Dp1014*
- ID_PRODUCT_FROM_DATABASE=Expert Mouse Pro Wireless
-
-usb:v047Dp1015*
- ID_PRODUCT_FROM_DATABASE=Expert Mouse
-
-usb:v047Dp1016*
- ID_PRODUCT_FROM_DATABASE=ADB/USB Orbit
-
-usb:v047Dp1018*
- ID_PRODUCT_FROM_DATABASE=Studio Mouse
-
-usb:v047Dp101D*
- ID_PRODUCT_FROM_DATABASE=Mouse*in*a*Box Optical Pro
-
-usb:v047Dp101E*
- ID_PRODUCT_FROM_DATABASE=Studio Mouse Wireless
-
-usb:v047Dp101F*
- ID_PRODUCT_FROM_DATABASE=PocketMouse Pro
-
-usb:v047Dp1020*
- ID_PRODUCT_FROM_DATABASE=Expert Mouse Trackball
-
-usb:v047Dp1021*
- ID_PRODUCT_FROM_DATABASE=Expert Mouse Wireless
-
-usb:v047Dp1022*
- ID_PRODUCT_FROM_DATABASE=Orbit Optical
-
-usb:v047Dp1023*
- ID_PRODUCT_FROM_DATABASE=Pocket Mouse Pro Wireless
-
-usb:v047Dp1024*
- ID_PRODUCT_FROM_DATABASE=PocketMouse
-
-usb:v047Dp1025*
- ID_PRODUCT_FROM_DATABASE=Mouse*in*a*Box Optical Elite Wireless
-
-usb:v047Dp1026*
- ID_PRODUCT_FROM_DATABASE=Pocket Mouse Pro
-
-usb:v047Dp1027*
- ID_PRODUCT_FROM_DATABASE=StudioMouse
-
-usb:v047Dp1028*
- ID_PRODUCT_FROM_DATABASE=StudioMouse Wireless
-
-usb:v047Dp1029*
- ID_PRODUCT_FROM_DATABASE=Mouse*in*a*Box Optical Elite
-
-usb:v047Dp102A*
- ID_PRODUCT_FROM_DATABASE=Mouse*in*a*Box Optical
-
-usb:v047Dp102B*
- ID_PRODUCT_FROM_DATABASE=PocketMouse
-
-usb:v047Dp102C*
- ID_PRODUCT_FROM_DATABASE=Iridio
-
-usb:v047Dp102D*
- ID_PRODUCT_FROM_DATABASE=Pilot Optical
-
-usb:v047Dp102E*
- ID_PRODUCT_FROM_DATABASE=Pilot Optical Pro
-
-usb:v047Dp102F*
- ID_PRODUCT_FROM_DATABASE=Pilot Optical Pro Wireless
-
-usb:v047Dp1042*
- ID_PRODUCT_FROM_DATABASE=Ci25m Notebook Optical Mouse [Diamond Eye Precision]
-
-usb:v047Dp1043*
- ID_PRODUCT_FROM_DATABASE=Ci65m Wireless Notebook Optical Mouse
-
-usb:v047Dp104A*
- ID_PRODUCT_FROM_DATABASE=PilotMouse Mini Retractable
-
-usb:v047Dp105D*
- ID_PRODUCT_FROM_DATABASE=PocketMouse Bluetooth
-
-usb:v047Dp105E*
- ID_PRODUCT_FROM_DATABASE=Bluetooth EDR Dongle
-
-usb:v047Dp1061*
- ID_PRODUCT_FROM_DATABASE=PocketMouse Grip
-
-usb:v047Dp1062*
- ID_PRODUCT_FROM_DATABASE=PocketMouse Max
-
-usb:v047Dp1063*
- ID_PRODUCT_FROM_DATABASE=PocketMouse Max Wireless
-
-usb:v047Dp1064*
- ID_PRODUCT_FROM_DATABASE=PocketMouse 2.0 Wireless
-
-usb:v047Dp1065*
- ID_PRODUCT_FROM_DATABASE=PocketMouse 2.0
-
-usb:v047Dp1066*
- ID_PRODUCT_FROM_DATABASE=PocketMouse Max Glow
-
-usb:v047Dp1067*
- ID_PRODUCT_FROM_DATABASE=ValueMouse
-
-usb:v047Dp1068*
- ID_PRODUCT_FROM_DATABASE=ValueOpt White
-
-usb:v047Dp1069*
- ID_PRODUCT_FROM_DATABASE=ValueOpt Black
-
-usb:v047Dp106A*
- ID_PRODUCT_FROM_DATABASE=PilotMouse Laser Wireless Mini
-
-usb:v047Dp106B*
- ID_PRODUCT_FROM_DATABASE=PilotMouse Laser - 3 Button
-
-usb:v047Dp106C*
- ID_PRODUCT_FROM_DATABASE=PilotMouse Laser - Gaming
-
-usb:v047Dp106D*
- ID_PRODUCT_FROM_DATABASE=PilotMouse Laser - Wired
-
-usb:v047Dp106E*
- ID_PRODUCT_FROM_DATABASE=PilotMouse Micro Laser
-
-usb:v047Dp1070*
- ID_PRODUCT_FROM_DATABASE=ValueOpt Travel
-
-usb:v047Dp1071*
- ID_PRODUCT_FROM_DATABASE=ValueOpt RF TX
-
-usb:v047Dp1072*
- ID_PRODUCT_FROM_DATABASE=PocketMouse Colour
-
-usb:v047Dp1073*
- ID_PRODUCT_FROM_DATABASE=PilotMouse Laser - 6 Button
-
-usb:v047Dp1074*
- ID_PRODUCT_FROM_DATABASE=PilotMouse Laser Wireless Mini
-
-usb:v047Dp1075*
- ID_PRODUCT_FROM_DATABASE=SlimBlade Presenter Media Mouse
-
-usb:v047Dp1076*
- ID_PRODUCT_FROM_DATABASE=SlimBlade Media Mouse
-
-usb:v047Dp1077*
- ID_PRODUCT_FROM_DATABASE=SlimBlade Presenter Mouse
-
-usb:v047Dp1152*
- ID_PRODUCT_FROM_DATABASE=Bluetooth EDR Dongle
-
-usb:v047Dp2002*
- ID_PRODUCT_FROM_DATABASE=Optical Elite Wireless
-
-usb:v047Dp2010*
- ID_PRODUCT_FROM_DATABASE=Wireless Presentation Remote
-
-usb:v047Dp2012*
- ID_PRODUCT_FROM_DATABASE=Wireless Presenter with Laser Pointer
-
-usb:v047Dp2021*
- ID_PRODUCT_FROM_DATABASE=PilotBoard Wireless
-
-usb:v047Dp2030*
- ID_PRODUCT_FROM_DATABASE=PilotBoard Wireless
-
-usb:v047Dp2034*
- ID_PRODUCT_FROM_DATABASE=SlimBlade Media Notebook Set
-
-usb:v047Dp2041*
- ID_PRODUCT_FROM_DATABASE=SlimBlade Trackball
-
-usb:v047Dp2048*
- ID_PRODUCT_FROM_DATABASE=Orbit Trackball with Scroll Ring
-
-usb:v047Dp4003*
- ID_PRODUCT_FROM_DATABASE=Gravis Xterminator Digital Gamepad
-
-usb:v047Dp4005*
- ID_PRODUCT_FROM_DATABASE=Gravis Eliminator GamePad Pro
-
-usb:v047Dp4006*
- ID_PRODUCT_FROM_DATABASE=Gravis Eliminator AfterShock
-
-usb:v047Dp4007*
- ID_PRODUCT_FROM_DATABASE=Gravis Xterminator Force
-
-usb:v047Dp4008*
- ID_PRODUCT_FROM_DATABASE=Gravis Destroyer TiltPad
-
-usb:v047Dp5001*
- ID_PRODUCT_FROM_DATABASE=Cabo I Camera
-
-usb:v047Dp5002*
- ID_PRODUCT_FROM_DATABASE=VideoCam CABO II
-
-usb:v047Dp5003*
- ID_PRODUCT_FROM_DATABASE=VideoCam
-
-usb:v047E*
- ID_VENDOR_FROM_DATABASE=Agere Systems, Inc. (Lucent)
-
-usb:v047Ep0300*
- ID_PRODUCT_FROM_DATABASE=ORiNOCO Card
-
-usb:v047Ep1001*
- ID_PRODUCT_FROM_DATABASE=USS720 Parallel Port
-
-usb:v047Ep2892*
- ID_PRODUCT_FROM_DATABASE=Systems Soft Modem
-
-usb:v047EpBAD1*
- ID_PRODUCT_FROM_DATABASE=Lucent 56k Modem
-
-usb:v047EpF101*
- ID_PRODUCT_FROM_DATABASE=Atlas Modem
-
-usb:v047F*
- ID_VENDOR_FROM_DATABASE=Plantronics, Inc.
-
-usb:v047Fp0101*
- ID_PRODUCT_FROM_DATABASE=Bulk Driver
-
-usb:v047Fp0301*
- ID_PRODUCT_FROM_DATABASE=Bulk Driver
-
-usb:v047Fp0411*
- ID_PRODUCT_FROM_DATABASE=Savi Office Base Station
-
-usb:v047Fp0CA1*
- ID_PRODUCT_FROM_DATABASE=USB DSP v4 Audio Interface
-
-usb:v047Fp4254*
- ID_PRODUCT_FROM_DATABASE=BUA-100 Bluetooth Adapter
-
-usb:v047FpAC01*
- ID_PRODUCT_FROM_DATABASE=Savi 7xx
-
-usb:v047FpAD01*
- ID_PRODUCT_FROM_DATABASE=GameCom 777 5.1 Headset
-
-usb:v0480*
- ID_VENDOR_FROM_DATABASE=Toshiba America Info. Systems, Inc.
-
-usb:v0480p0001*
- ID_PRODUCT_FROM_DATABASE=InTouch Module
-
-usb:v0480p0004*
- ID_PRODUCT_FROM_DATABASE=InTouch Module
-
-usb:v0480p0011*
- ID_PRODUCT_FROM_DATABASE=InTouch Module
-
-usb:v0480p0014*
- ID_PRODUCT_FROM_DATABASE=InTouch Module
-
-usb:v0480pA007*
- ID_PRODUCT_FROM_DATABASE=External Disk USB 3.0
-
-usb:v0481*
- ID_VENDOR_FROM_DATABASE=Zenith Data Systems
-
-usb:v0482*
- ID_VENDOR_FROM_DATABASE=Kyocera Corp.
-
-usb:v0482p000E*
- ID_PRODUCT_FROM_DATABASE=FS-1020D Printer
-
-usb:v0482p0100*
- ID_PRODUCT_FROM_DATABASE=Finecam S3x
-
-usb:v0482p0101*
- ID_PRODUCT_FROM_DATABASE=Finecam S4
-
-usb:v0482p0103*
- ID_PRODUCT_FROM_DATABASE=Finecam S5
-
-usb:v0482p0105*
- ID_PRODUCT_FROM_DATABASE=Finecam L3
-
-usb:v0482p0106*
- ID_PRODUCT_FROM_DATABASE=Finecam
-
-usb:v0482p0107*
- ID_PRODUCT_FROM_DATABASE=Digital Camera Device
-
-usb:v0482p0108*
- ID_PRODUCT_FROM_DATABASE=Digital Camera Device
-
-usb:v0482p0203*
- ID_PRODUCT_FROM_DATABASE=AH-K3001V
-
-usb:v0482p0204*
- ID_PRODUCT_FROM_DATABASE=iBurst Terminal
-
-usb:v0483*
- ID_VENDOR_FROM_DATABASE=SGS Thomson Microelectronics
-
-usb:v0483p0137*
- ID_PRODUCT_FROM_DATABASE=BeWAN ADSL USB ST (blue or green)
-
-usb:v0483p0138*
- ID_PRODUCT_FROM_DATABASE=Unicorn II (ST70138B + MTC-20174TQ chipset)
-
-usb:v0483p1307*
- ID_PRODUCT_FROM_DATABASE=Cytronix 6in1 Card Reader
-
-usb:v0483p163D*
- ID_PRODUCT_FROM_DATABASE=Cool Icam Digi-MP3
-
-usb:v0483p2015*
- ID_PRODUCT_FROM_DATABASE=TouchChip® Fingerprint Reader
-
-usb:v0483p2016*
- ID_PRODUCT_FROM_DATABASE=Fingerprint Reader
-
-usb:v0483p2017*
- ID_PRODUCT_FROM_DATABASE=Biometric Smart Card Reader
-
-usb:v0483p2018*
- ID_PRODUCT_FROM_DATABASE=BioSimKey
-
-usb:v0483p2302*
- ID_PRODUCT_FROM_DATABASE=Portable Flash Device (PFD)
-
-usb:v0483p3744*
- ID_PRODUCT_FROM_DATABASE=STLINK Pseudo disk
-
-usb:v0483p3747*
- ID_PRODUCT_FROM_DATABASE=ST Micro Connect Lite
-
-usb:v0483p3748*
- ID_PRODUCT_FROM_DATABASE=ST-LINK/V2
-
-usb:v0483p4810*
- ID_PRODUCT_FROM_DATABASE=ISDN adapter
-
-usb:v0483p481D*
- ID_PRODUCT_FROM_DATABASE=BT Digital Access adapter
-
-usb:v0483p5000*
- ID_PRODUCT_FROM_DATABASE=ST Micro/Ergenic ERG BT-002 Bluetooth Adapter
-
-usb:v0483p5001*
- ID_PRODUCT_FROM_DATABASE=ST Micro Bluetooth Device
-
-usb:v0483p5710*
- ID_PRODUCT_FROM_DATABASE=Joystick in FS Mode
-
-usb:v0483p5721*
- ID_PRODUCT_FROM_DATABASE=Hantek DDS-3X25 Arbitrary Waveform Generator
-
-usb:v0483p7270*
- ID_PRODUCT_FROM_DATABASE=ST Micro Serial Bridge
-
-usb:v0483p7554*
- ID_PRODUCT_FROM_DATABASE=56k SoftModem
-
-usb:v0483pDF11*
- ID_PRODUCT_FROM_DATABASE=STM Device in DFU Mode
-
-usb:v0483pFF10*
- ID_PRODUCT_FROM_DATABASE=Swann ST56 Modem
-
-usb:v0484*
- ID_VENDOR_FROM_DATABASE=Specialix
-
-usb:v0485*
- ID_VENDOR_FROM_DATABASE=Nokia Monitors
-
-usb:v0486*
- ID_VENDOR_FROM_DATABASE=ASUS Computers, Inc.
-
-usb:v0486p0185*
- ID_PRODUCT_FROM_DATABASE=EeePC T91MT HID Touch Panel
-
-usb:v0487*
- ID_VENDOR_FROM_DATABASE=Stewart Connector
-
-usb:v0488*
- ID_VENDOR_FROM_DATABASE=Cirque Corp.
-
-usb:v0489*
- ID_VENDOR_FROM_DATABASE=Foxconn / Hon Hai
-
-usb:v0489p0502*
- ID_PRODUCT_FROM_DATABASE=SmartMedia Card Reader Firmware Loader
-
-usb:v0489p0503*
- ID_PRODUCT_FROM_DATABASE=SmartMedia Card Reader
-
-usb:v0489pD00C*
- ID_PRODUCT_FROM_DATABASE=Rollei Compactline (Storage Mode)
-
-usb:v0489pD00E*
- ID_PRODUCT_FROM_DATABASE=Rollei Compactline (Video Mode)
-
-usb:v0489pE000*
- ID_PRODUCT_FROM_DATABASE=T-Com TC 300
-
-usb:v0489pE003*
- ID_PRODUCT_FROM_DATABASE=Pirelli DP-L10
-
-usb:v0489pE00D*
- ID_PRODUCT_FROM_DATABASE=Broadcom Bluetooth 2.1 Device
-
-usb:v0489pE00F*
- ID_PRODUCT_FROM_DATABASE=Foxconn T77H114 BCM2070 [Single-Chip Bluetooth 2.1 + EDR Adapter]
-
-usb:v0489pE016*
- ID_PRODUCT_FROM_DATABASE=Ubee PXU1900 WiMAX Adapter [Beceem BCSM250]
-
-usb:v0489pE02C*
- ID_PRODUCT_FROM_DATABASE=Atheros AR5BBU12 Bluetooth Device
-
-usb:v048A*
- ID_VENDOR_FROM_DATABASE=S-MOS Systems, Inc.
-
-usb:v048C*
- ID_VENDOR_FROM_DATABASE=Alps Electric Ireland, Ltd
-
-usb:v048D*
- ID_VENDOR_FROM_DATABASE=Integrated Technology Express, Inc.
-
-usb:v048Dp1165*
- ID_PRODUCT_FROM_DATABASE=IT1165 Flash Controller
-
-usb:v048Dp1336*
- ID_PRODUCT_FROM_DATABASE=SD/MMC Cardreader
-
-usb:v048Dp1345*
- ID_PRODUCT_FROM_DATABASE=Multi Cardreader
-
-usb:v048Dp9006*
- ID_PRODUCT_FROM_DATABASE=IT9135 BDA Afatech DVB-T HDTV Dongle
-
-usb:v048Dp9009*
- ID_PRODUCT_FROM_DATABASE=Zolid HD DVD Maker
-
-usb:v048Dp9135*
- ID_PRODUCT_FROM_DATABASE=Zolid Mini DVB-T Stick
-
-usb:v048F*
- ID_VENDOR_FROM_DATABASE=Eicon Tech.
-
-usb:v0490*
- ID_VENDOR_FROM_DATABASE=United Microelectronics Corp.
-
-usb:v0491*
- ID_VENDOR_FROM_DATABASE=Capetronic
-
-usb:v0491p0003*
- ID_PRODUCT_FROM_DATABASE=Taxan Monitor Control
-
-usb:v0492*
- ID_VENDOR_FROM_DATABASE=Samsung SemiConductor, Inc.
-
-usb:v0492p0140*
- ID_PRODUCT_FROM_DATABASE=MP3 player
-
-usb:v0492p0141*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0493*
- ID_VENDOR_FROM_DATABASE=MAG Technology Co., Ltd
-
-usb:v0495*
- ID_VENDOR_FROM_DATABASE=ESS Technology, Inc.
-
-usb:v0496*
- ID_VENDOR_FROM_DATABASE=Micron Electronics
-
-usb:v0497*
- ID_VENDOR_FROM_DATABASE=Smile International
-
-usb:v0497pC001*
- ID_PRODUCT_FROM_DATABASE=Camera Device
-
-usb:v0498*
- ID_VENDOR_FROM_DATABASE=Capetronic (Kaohsiung) Corp.
-
-usb:v0499*
- ID_VENDOR_FROM_DATABASE=Yamaha Corp.
-
-usb:v0499p1000*
- ID_PRODUCT_FROM_DATABASE=UX256 MIDI I/F
-
-usb:v0499p1001*
- ID_PRODUCT_FROM_DATABASE=MU1000
-
-usb:v0499p1002*
- ID_PRODUCT_FROM_DATABASE=MU2000
-
-usb:v0499p1003*
- ID_PRODUCT_FROM_DATABASE=MU500
-
-usb:v0499p1004*
- ID_PRODUCT_FROM_DATABASE=UW500
-
-usb:v0499p1005*
- ID_PRODUCT_FROM_DATABASE=MOTIF6
-
-usb:v0499p1006*
- ID_PRODUCT_FROM_DATABASE=MOTIF7
-
-usb:v0499p1007*
- ID_PRODUCT_FROM_DATABASE=MOTIF8
-
-usb:v0499p1008*
- ID_PRODUCT_FROM_DATABASE=UX96 MIDI I/F
-
-usb:v0499p1009*
- ID_PRODUCT_FROM_DATABASE=UX16 MIDI I/F
-
-usb:v0499p100A*
- ID_PRODUCT_FROM_DATABASE=EOS BX
-
-usb:v0499p100C*
- ID_PRODUCT_FROM_DATABASE=UC-MX
-
-usb:v0499p100D*
- ID_PRODUCT_FROM_DATABASE=UC-KX
-
-usb:v0499p100E*
- ID_PRODUCT_FROM_DATABASE=S08
-
-usb:v0499p100F*
- ID_PRODUCT_FROM_DATABASE=CLP-150
-
-usb:v0499p1010*
- ID_PRODUCT_FROM_DATABASE=CLP-170
-
-usb:v0499p1011*
- ID_PRODUCT_FROM_DATABASE=P-250
-
-usb:v0499p1012*
- ID_PRODUCT_FROM_DATABASE=TYROS
-
-usb:v0499p1013*
- ID_PRODUCT_FROM_DATABASE=PF-500
-
-usb:v0499p1014*
- ID_PRODUCT_FROM_DATABASE=S90
-
-usb:v0499p1015*
- ID_PRODUCT_FROM_DATABASE=MOTIF-R
-
-usb:v0499p1016*
- ID_PRODUCT_FROM_DATABASE=MDP-5
-
-usb:v0499p1017*
- ID_PRODUCT_FROM_DATABASE=CVP-204
-
-usb:v0499p1018*
- ID_PRODUCT_FROM_DATABASE=CVP-206
-
-usb:v0499p1019*
- ID_PRODUCT_FROM_DATABASE=CVP-208
-
-usb:v0499p101A*
- ID_PRODUCT_FROM_DATABASE=CVP-210
-
-usb:v0499p101B*
- ID_PRODUCT_FROM_DATABASE=PSR-1100
-
-usb:v0499p101C*
- ID_PRODUCT_FROM_DATABASE=PSR-2100
-
-usb:v0499p101D*
- ID_PRODUCT_FROM_DATABASE=CLP-175
-
-usb:v0499p101E*
- ID_PRODUCT_FROM_DATABASE=PSR-K1
-
-usb:v0499p101F*
- ID_PRODUCT_FROM_DATABASE=EZ-J24
-
-usb:v0499p1020*
- ID_PRODUCT_FROM_DATABASE=EZ-250i
-
-usb:v0499p1021*
- ID_PRODUCT_FROM_DATABASE=MOTIF ES 6
-
-usb:v0499p1022*
- ID_PRODUCT_FROM_DATABASE=MOTIF ES 7
-
-usb:v0499p1023*
- ID_PRODUCT_FROM_DATABASE=MOTIF ES 8
-
-usb:v0499p1024*
- ID_PRODUCT_FROM_DATABASE=CVP-301
-
-usb:v0499p1025*
- ID_PRODUCT_FROM_DATABASE=CVP-303
-
-usb:v0499p1026*
- ID_PRODUCT_FROM_DATABASE=CVP-305
-
-usb:v0499p1027*
- ID_PRODUCT_FROM_DATABASE=CVP-307
-
-usb:v0499p1028*
- ID_PRODUCT_FROM_DATABASE=CVP-309
-
-usb:v0499p1029*
- ID_PRODUCT_FROM_DATABASE=CVP-309GP
-
-usb:v0499p102A*
- ID_PRODUCT_FROM_DATABASE=PSR-1500
-
-usb:v0499p102B*
- ID_PRODUCT_FROM_DATABASE=PSR-3000
-
-usb:v0499p102E*
- ID_PRODUCT_FROM_DATABASE=ELS-01/01C
-
-usb:v0499p1030*
- ID_PRODUCT_FROM_DATABASE=PSR-295/293
-
-usb:v0499p1031*
- ID_PRODUCT_FROM_DATABASE=DGX-205/203
-
-usb:v0499p1032*
- ID_PRODUCT_FROM_DATABASE=DGX-305
-
-usb:v0499p1033*
- ID_PRODUCT_FROM_DATABASE=DGX-505
-
-usb:v0499p1037*
- ID_PRODUCT_FROM_DATABASE=PSR-E403
-
-usb:v0499p103C*
- ID_PRODUCT_FROM_DATABASE=MOTIF-RACK ES
-
-usb:v0499p1054*
- ID_PRODUCT_FROM_DATABASE=S90XS Keyboard/Music Synthesizer
-
-usb:v0499p2000*
- ID_PRODUCT_FROM_DATABASE=DGP-7
-
-usb:v0499p2001*
- ID_PRODUCT_FROM_DATABASE=DGP-5
-
-usb:v0499p3001*
- ID_PRODUCT_FROM_DATABASE=YST-MS55D USB Speaker
-
-usb:v0499p3003*
- ID_PRODUCT_FROM_DATABASE=YST-M45D USB Speaker
-
-usb:v0499p4000*
- ID_PRODUCT_FROM_DATABASE=NetVolante RTA54i Broadband&ISDN Router
-
-usb:v0499p4001*
- ID_PRODUCT_FROM_DATABASE=NetVolante RTW65b Broadband Wireless Router
-
-usb:v0499p4002*
- ID_PRODUCT_FROM_DATABASE=NetVolante RTW65i Broadband&ISDN Wireless Router
-
-usb:v0499p4004*
- ID_PRODUCT_FROM_DATABASE=NetVolante RTA55i Broadband VoIP Router
-
-usb:v0499p5000*
- ID_PRODUCT_FROM_DATABASE=CS1D
-
-usb:v0499p5001*
- ID_PRODUCT_FROM_DATABASE=DSP1D
-
-usb:v0499p5002*
- ID_PRODUCT_FROM_DATABASE=DME32
-
-usb:v0499p5003*
- ID_PRODUCT_FROM_DATABASE=DM2000
-
-usb:v0499p5004*
- ID_PRODUCT_FROM_DATABASE=02R96
-
-usb:v0499p5005*
- ID_PRODUCT_FROM_DATABASE=ACU16-C
-
-usb:v0499p5006*
- ID_PRODUCT_FROM_DATABASE=NHB32-C
-
-usb:v0499p5007*
- ID_PRODUCT_FROM_DATABASE=DM1000
-
-usb:v0499p5008*
- ID_PRODUCT_FROM_DATABASE=01V96
-
-usb:v0499p5009*
- ID_PRODUCT_FROM_DATABASE=SPX2000
-
-usb:v0499p500A*
- ID_PRODUCT_FROM_DATABASE=PM5D
-
-usb:v0499p500B*
- ID_PRODUCT_FROM_DATABASE=DME64N
-
-usb:v0499p500C*
- ID_PRODUCT_FROM_DATABASE=DME24N
-
-usb:v0499p6001*
- ID_PRODUCT_FROM_DATABASE=CRW2200UX Lightspeed 2 External CD-RW Drive
-
-usb:v0499p7000*
- ID_PRODUCT_FROM_DATABASE=DTX
-
-usb:v0499p7010*
- ID_PRODUCT_FROM_DATABASE=UB99
-
-usb:v049A*
- ID_VENDOR_FROM_DATABASE=Gandalf Technologies, Ltd
-
-usb:v049B*
- ID_VENDOR_FROM_DATABASE=Curtis Computer Products
-
-usb:v049C*
- ID_VENDOR_FROM_DATABASE=Acer Advanced Labs, Inc.
-
-usb:v049Cp0002*
- ID_PRODUCT_FROM_DATABASE=Keyboard (???)
-
-usb:v049D*
- ID_VENDOR_FROM_DATABASE=VLSI Technology
-
-usb:v049F*
- ID_VENDOR_FROM_DATABASE=Compaq Computer Corp.
-
-usb:v049Fp0002*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v049Fp0003*
- ID_PRODUCT_FROM_DATABASE=iPAQ PocketPC
-
-usb:v049Fp000E*
- ID_PRODUCT_FROM_DATABASE=Internet Keyboard
-
-usb:v049Fp0012*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v049Fp0018*
- ID_PRODUCT_FROM_DATABASE=PA-1/PA-2 MP3 Player
-
-usb:v049Fp0019*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v049Fp001A*
- ID_PRODUCT_FROM_DATABASE=S4 100 Scanner
-
-usb:v049Fp001E*
- ID_PRODUCT_FROM_DATABASE=IJ650 Inkjet Printer
-
-usb:v049Fp001F*
- ID_PRODUCT_FROM_DATABASE=WL215 Adapter
-
-usb:v049Fp0021*
- ID_PRODUCT_FROM_DATABASE=S200 Scanner
-
-usb:v049Fp0027*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Multiport Module by Compaq
-
-usb:v049Fp002A*
- ID_PRODUCT_FROM_DATABASE=1400P Inkjet Printer
-
-usb:v049Fp002B*
- ID_PRODUCT_FROM_DATABASE=A3000
-
-usb:v049Fp002C*
- ID_PRODUCT_FROM_DATABASE=Lexmark X125
-
-usb:v049Fp0032*
- ID_PRODUCT_FROM_DATABASE=802.11b Adapter [ipaq h5400]
-
-usb:v049Fp0033*
- ID_PRODUCT_FROM_DATABASE=Wireless LAN MultiPort W100 [Intersil PRISM 2.5]
-
-usb:v049Fp0036*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Multiport Module
-
-usb:v049Fp0051*
- ID_PRODUCT_FROM_DATABASE=KU-0133 Easy Access Interner Keyboard
-
-usb:v049Fp0076*
- ID_PRODUCT_FROM_DATABASE=Wireless LAN MultiPort W200
-
-usb:v049Fp0080*
- ID_PRODUCT_FROM_DATABASE=GPRS Multiport
-
-usb:v049Fp0086*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v049Fp504A*
- ID_PRODUCT_FROM_DATABASE=Personal Jukebox PJB100
-
-usb:v049Fp505A*
- ID_PRODUCT_FROM_DATABASE=Linux-USB "CDC Subset" Device, or Itsy (experimental)
-
-usb:v049Fp8511*
- ID_PRODUCT_FROM_DATABASE=iPAQ Networking 10/100 Ethernet [pegasus2]
-
-usb:v04A0*
- ID_VENDOR_FROM_DATABASE=Digital Equipment Corp.
-
-usb:v04A1*
- ID_VENDOR_FROM_DATABASE=SystemSoft Corp.
-
-usb:v04A1pFFF0*
- ID_PRODUCT_FROM_DATABASE=Telex Composite Device
-
-usb:v04A2*
- ID_VENDOR_FROM_DATABASE=FirePower Systems
-
-usb:v04A3*
- ID_VENDOR_FROM_DATABASE=Trident Microsystems, Inc.
-
-usb:v04A4*
- ID_VENDOR_FROM_DATABASE=Hitachi, Ltd
-
-usb:v04A4p0004*
- ID_PRODUCT_FROM_DATABASE=DVD-CAM DZ-MV100A Camcorder
-
-usb:v04A4p001E*
- ID_PRODUCT_FROM_DATABASE=DVDCAM USB HS Interface
-
-usb:v04A5*
- ID_VENDOR_FROM_DATABASE=Acer Peripherals Inc. (now BenQ Corp.)
-
-usb:v04A5p0001*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v04A5p0002*
- ID_PRODUCT_FROM_DATABASE=API Ergo K/B
-
-usb:v04A5p0003*
- ID_PRODUCT_FROM_DATABASE=API Generic K/B Mouse
-
-usb:v04A5p12A6*
- ID_PRODUCT_FROM_DATABASE=AcerScan C310U
-
-usb:v04A5p1A20*
- ID_PRODUCT_FROM_DATABASE=Prisa 310U
-
-usb:v04A5p1A2A*
- ID_PRODUCT_FROM_DATABASE=Prisa 620U
-
-usb:v04A5p2022*
- ID_PRODUCT_FROM_DATABASE=Prisa 320U/340U
-
-usb:v04A5p2040*
- ID_PRODUCT_FROM_DATABASE=Prisa 620UT
-
-usb:v04A5p205E*
- ID_PRODUCT_FROM_DATABASE=ScanPrisa 640BU
-
-usb:v04A5p2060*
- ID_PRODUCT_FROM_DATABASE=Prisa 620U+/640U
-
-usb:v04A5p207E*
- ID_PRODUCT_FROM_DATABASE=Prisa 640BU
-
-usb:v04A5p209E*
- ID_PRODUCT_FROM_DATABASE=ScanPrisa 640BT
-
-usb:v04A5p20AE*
- ID_PRODUCT_FROM_DATABASE=S2W 3000U
-
-usb:v04A5p20B0*
- ID_PRODUCT_FROM_DATABASE=S2W 3300U/4300U
-
-usb:v04A5p20BE*
- ID_PRODUCT_FROM_DATABASE=Prisa 640BT
-
-usb:v04A5p20C0*
- ID_PRODUCT_FROM_DATABASE=Prisa 1240UT
-
-usb:v04A5p20DE*
- ID_PRODUCT_FROM_DATABASE=S2W 4300U+
-
-usb:v04A5p20F8*
- ID_PRODUCT_FROM_DATABASE=Benq 5000
-
-usb:v04A5p20FC*
- ID_PRODUCT_FROM_DATABASE=Benq 5000
-
-usb:v04A5p20FE*
- ID_PRODUCT_FROM_DATABASE=SW2 5300U
-
-usb:v04A5p2137*
- ID_PRODUCT_FROM_DATABASE=Benq 5150/5250
-
-usb:v04A5p2202*
- ID_PRODUCT_FROM_DATABASE=Benq 7400UT
-
-usb:v04A5p2311*
- ID_PRODUCT_FROM_DATABASE=Benq 5560
-
-usb:v04A5p3003*
- ID_PRODUCT_FROM_DATABASE=Benq Webcam
-
-usb:v04A5p3008*
- ID_PRODUCT_FROM_DATABASE=Benq 1500
-
-usb:v04A5p300A*
- ID_PRODUCT_FROM_DATABASE=Benq 3410
-
-usb:v04A5p300C*
- ID_PRODUCT_FROM_DATABASE=Benq 1016
-
-usb:v04A5p3019*
- ID_PRODUCT_FROM_DATABASE=Benq DC C40
-
-usb:v04A5p4000*
- ID_PRODUCT_FROM_DATABASE=P30 Composite Device
-
-usb:v04A5p4013*
- ID_PRODUCT_FROM_DATABASE=BenQ-Siemens EF82/SL91
-
-usb:v04A5p4044*
- ID_PRODUCT_FROM_DATABASE=BenQ-Siemens SF71
-
-usb:v04A5p4045*
- ID_PRODUCT_FROM_DATABASE=BenQ-Siemens E81
-
-usb:v04A5p4048*
- ID_PRODUCT_FROM_DATABASE=BenQ M7
-
-usb:v04A5p6001*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6002*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6003*
- ID_PRODUCT_FROM_DATABASE=ATA/ATAPI Adapter
-
-usb:v04A5p6004*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6005*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6006*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6007*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6008*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6009*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p600A*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p600B*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p600C*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p600D*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p600E*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p600F*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6010*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6011*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6012*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6013*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6014*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6015*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v04A5p6125*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v04A5p6180*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v04A5p6200*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v04A5p7500*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed Mass Storage Device
-
-usb:v04A5p9000*
- ID_PRODUCT_FROM_DATABASE=AWL300 Wireless Adapter
-
-usb:v04A5p9001*
- ID_PRODUCT_FROM_DATABASE=AWL400 Wireless Adapter
-
-usb:v04A5p9213*
- ID_PRODUCT_FROM_DATABASE=Kbd Hub
-
-usb:v04A6*
- ID_VENDOR_FROM_DATABASE=Nokia Display Products
-
-usb:v04A6p00B9*
- ID_PRODUCT_FROM_DATABASE=Audio
-
-usb:v04A6p0180*
- ID_PRODUCT_FROM_DATABASE=Hub Type P
-
-usb:v04A6p0181*
- ID_PRODUCT_FROM_DATABASE=HID Monitor Controls
-
-usb:v04A7*
- ID_VENDOR_FROM_DATABASE=Visioneer
-
-usb:v04A7p0100*
- ID_PRODUCT_FROM_DATABASE=StrobePro
-
-usb:v04A7p0101*
- ID_PRODUCT_FROM_DATABASE=Strobe Pro Scanner (1.01)
-
-usb:v04A7p0102*
- ID_PRODUCT_FROM_DATABASE=StrobePro Scanner
-
-usb:v04A7p0211*
- ID_PRODUCT_FROM_DATABASE=OneTouch 7600 Scanner
-
-usb:v04A7p0221*
- ID_PRODUCT_FROM_DATABASE=OneTouch 5300 Scanner
-
-usb:v04A7p0223*
- ID_PRODUCT_FROM_DATABASE=OneTouch 8200
-
-usb:v04A7p0224*
- ID_PRODUCT_FROM_DATABASE=OneTouch 4800 USB/Microtek Scanport 3000
-
-usb:v04A7p0225*
- ID_PRODUCT_FROM_DATABASE=VistaScan Astra 3600(ENG)
-
-usb:v04A7p0226*
- ID_PRODUCT_FROM_DATABASE=OneTouch 5300 USB
-
-usb:v04A7p0229*
- ID_PRODUCT_FROM_DATABASE=OneTouch 7100
-
-usb:v04A7p022A*
- ID_PRODUCT_FROM_DATABASE=OneTouch 6600
-
-usb:v04A7p022C*
- ID_PRODUCT_FROM_DATABASE=OneTouch 9000/9020
-
-usb:v04A7p0231*
- ID_PRODUCT_FROM_DATABASE=6100 Scanner
-
-usb:v04A7p0311*
- ID_PRODUCT_FROM_DATABASE=6200 EPP/USB Scanner
-
-usb:v04A7p0321*
- ID_PRODUCT_FROM_DATABASE=OneTouch 8100 EPP/USB Scanner
-
-usb:v04A7p0331*
- ID_PRODUCT_FROM_DATABASE=OneTouch 8600 EPP/USB Scanner
-
-usb:v04A7p0341*
- ID_PRODUCT_FROM_DATABASE=6400
-
-usb:v04A7p0361*
- ID_PRODUCT_FROM_DATABASE=VistaScan Astra 3600(ENG)
-
-usb:v04A7p0362*
- ID_PRODUCT_FROM_DATABASE=OneTouch 9320
-
-usb:v04A7p0371*
- ID_PRODUCT_FROM_DATABASE=OneTouch 8700/8920
-
-usb:v04A7p0380*
- ID_PRODUCT_FROM_DATABASE=OneTouch 7700
-
-usb:v04A7p0382*
- ID_PRODUCT_FROM_DATABASE=Photo Port 7700
-
-usb:v04A7p0390*
- ID_PRODUCT_FROM_DATABASE=9650
-
-usb:v04A7p03A0*
- ID_PRODUCT_FROM_DATABASE=Xerox 4800 One Touch
-
-usb:v04A7p0410*
- ID_PRODUCT_FROM_DATABASE=OneTouch Pro 8800/8820
-
-usb:v04A7p0421*
- ID_PRODUCT_FROM_DATABASE=9450 USB
-
-usb:v04A7p0423*
- ID_PRODUCT_FROM_DATABASE=9750 Scanner
-
-usb:v04A7p0424*
- ID_PRODUCT_FROM_DATABASE=Strobe XP 450
-
-usb:v04A7p0425*
- ID_PRODUCT_FROM_DATABASE=Strobe XP 100
-
-usb:v04A7p0426*
- ID_PRODUCT_FROM_DATABASE=Strobe XP 200
-
-usb:v04A7p0427*
- ID_PRODUCT_FROM_DATABASE=Strobe XP 100
-
-usb:v04A7p0444*
- ID_PRODUCT_FROM_DATABASE=OneTouch 7300
-
-usb:v04A7p0445*
- ID_PRODUCT_FROM_DATABASE=CardReader 100
-
-usb:v04A7p0446*
- ID_PRODUCT_FROM_DATABASE=Xerox DocuMate 510
-
-usb:v04A7p0447*
- ID_PRODUCT_FROM_DATABASE=XEROX DocuMate 520
-
-usb:v04A7p0448*
- ID_PRODUCT_FROM_DATABASE=XEROX DocuMate 250
-
-usb:v04A7p0449*
- ID_PRODUCT_FROM_DATABASE=Xerox DocuMate 252
-
-usb:v04A7p044A*
- ID_PRODUCT_FROM_DATABASE=Xerox 6400
-
-usb:v04A7p044C*
- ID_PRODUCT_FROM_DATABASE=Xerox DocuMate 262
-
-usb:v04A7p0474*
- ID_PRODUCT_FROM_DATABASE=Strobe XP 300
-
-usb:v04A7p0475*
- ID_PRODUCT_FROM_DATABASE=Xerox DocuMate 272
-
-usb:v04A7p0478*
- ID_PRODUCT_FROM_DATABASE=Strobe XP 220
-
-usb:v04A7p0479*
- ID_PRODUCT_FROM_DATABASE=Strobe XP 470
-
-usb:v04A7p047A*
- ID_PRODUCT_FROM_DATABASE=9450
-
-usb:v04A7p047B*
- ID_PRODUCT_FROM_DATABASE=9650
-
-usb:v04A7p047D*
- ID_PRODUCT_FROM_DATABASE=9420
-
-usb:v04A7p0480*
- ID_PRODUCT_FROM_DATABASE=9520
-
-usb:v04A7p048F*
- ID_PRODUCT_FROM_DATABASE=Strobe XP 470
-
-usb:v04A7p0491*
- ID_PRODUCT_FROM_DATABASE=Strobe XP 450
-
-usb:v04A7p0493*
- ID_PRODUCT_FROM_DATABASE=9750
-
-usb:v04A7p0494*
- ID_PRODUCT_FROM_DATABASE=Strobe XP 120
-
-usb:v04A7p0497*
- ID_PRODUCT_FROM_DATABASE=Patriot 430
-
-usb:v04A7p0498*
- ID_PRODUCT_FROM_DATABASE=Patriot 680
-
-usb:v04A7p0499*
- ID_PRODUCT_FROM_DATABASE=Patriot 780
-
-usb:v04A7p049B*
- ID_PRODUCT_FROM_DATABASE=Strobe XP 100
-
-usb:v04A7p04A0*
- ID_PRODUCT_FROM_DATABASE=7400
-
-usb:v04A7p04AC*
- ID_PRODUCT_FROM_DATABASE=Xerox Travel Scanner 100
-
-usb:v04A8*
- ID_VENDOR_FROM_DATABASE=Multivideo Labs, Inc.
-
-usb:v04A8p0101*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v04A8p0303*
- ID_PRODUCT_FROM_DATABASE=Peripheral Switch
-
-usb:v04A8p0404*
- ID_PRODUCT_FROM_DATABASE=Peripheral Switch
-
-usb:v04A9*
- ID_VENDOR_FROM_DATABASE=Canon, Inc.
-
-usb:v04A9p1005*
- ID_PRODUCT_FROM_DATABASE=BJ Printer Hub
-
-usb:v04A9p1035*
- ID_PRODUCT_FROM_DATABASE=PD Printer Storage
-
-usb:v04A9p1050*
- ID_PRODUCT_FROM_DATABASE=BJC-8200
-
-usb:v04A9p1051*
- ID_PRODUCT_FROM_DATABASE=BJC-3000 Color Printer
-
-usb:v04A9p1052*
- ID_PRODUCT_FROM_DATABASE=BJC-6100
-
-usb:v04A9p1053*
- ID_PRODUCT_FROM_DATABASE=BJC-6200
-
-usb:v04A9p1054*
- ID_PRODUCT_FROM_DATABASE=BJC-6500
-
-usb:v04A9p1055*
- ID_PRODUCT_FROM_DATABASE=BJC-85
-
-usb:v04A9p1056*
- ID_PRODUCT_FROM_DATABASE=BJC-2110 Color Printer
-
-usb:v04A9p1057*
- ID_PRODUCT_FROM_DATABASE=LR1
-
-usb:v04A9p105A*
- ID_PRODUCT_FROM_DATABASE=BJC-55
-
-usb:v04A9p105B*
- ID_PRODUCT_FROM_DATABASE=S600 Printer
-
-usb:v04A9p105C*
- ID_PRODUCT_FROM_DATABASE=S400
-
-usb:v04A9p105D*
- ID_PRODUCT_FROM_DATABASE=S450 Printer
-
-usb:v04A9p105E*
- ID_PRODUCT_FROM_DATABASE=S800
-
-usb:v04A9p1062*
- ID_PRODUCT_FROM_DATABASE=S500 Printer
-
-usb:v04A9p1063*
- ID_PRODUCT_FROM_DATABASE=S4500
-
-usb:v04A9p1064*
- ID_PRODUCT_FROM_DATABASE=S300 Printer
-
-usb:v04A9p1065*
- ID_PRODUCT_FROM_DATABASE=S100
-
-usb:v04A9p1066*
- ID_PRODUCT_FROM_DATABASE=S630
-
-usb:v04A9p1067*
- ID_PRODUCT_FROM_DATABASE=S900
-
-usb:v04A9p1068*
- ID_PRODUCT_FROM_DATABASE=S9000
-
-usb:v04A9p1069*
- ID_PRODUCT_FROM_DATABASE=S820
-
-usb:v04A9p106A*
- ID_PRODUCT_FROM_DATABASE=S200 Printer
-
-usb:v04A9p106B*
- ID_PRODUCT_FROM_DATABASE=S520 Printer
-
-usb:v04A9p106D*
- ID_PRODUCT_FROM_DATABASE=S750 Printer
-
-usb:v04A9p106E*
- ID_PRODUCT_FROM_DATABASE=S820D
-
-usb:v04A9p1070*
- ID_PRODUCT_FROM_DATABASE=S530D
-
-usb:v04A9p1072*
- ID_PRODUCT_FROM_DATABASE=I850 Printer
-
-usb:v04A9p1073*
- ID_PRODUCT_FROM_DATABASE=I550 Printer
-
-usb:v04A9p1074*
- ID_PRODUCT_FROM_DATABASE=S330 Printer
-
-usb:v04A9p1076*
- ID_PRODUCT_FROM_DATABASE=i70
-
-usb:v04A9p1077*
- ID_PRODUCT_FROM_DATABASE=i950
-
-usb:v04A9p107A*
- ID_PRODUCT_FROM_DATABASE=S830D
-
-usb:v04A9p107B*
- ID_PRODUCT_FROM_DATABASE=i320
-
-usb:v04A9p107C*
- ID_PRODUCT_FROM_DATABASE=i470D
-
-usb:v04A9p107D*
- ID_PRODUCT_FROM_DATABASE=i9100
-
-usb:v04A9p107E*
- ID_PRODUCT_FROM_DATABASE=i450
-
-usb:v04A9p107F*
- ID_PRODUCT_FROM_DATABASE=i860
-
-usb:v04A9p1082*
- ID_PRODUCT_FROM_DATABASE=i350
-
-usb:v04A9p1084*
- ID_PRODUCT_FROM_DATABASE=i250
-
-usb:v04A9p1085*
- ID_PRODUCT_FROM_DATABASE=i255
-
-usb:v04A9p1086*
- ID_PRODUCT_FROM_DATABASE=i560
-
-usb:v04A9p1088*
- ID_PRODUCT_FROM_DATABASE=i965
-
-usb:v04A9p108A*
- ID_PRODUCT_FROM_DATABASE=i455
-
-usb:v04A9p108B*
- ID_PRODUCT_FROM_DATABASE=i900D
-
-usb:v04A9p108C*
- ID_PRODUCT_FROM_DATABASE=i475D
-
-usb:v04A9p108D*
- ID_PRODUCT_FROM_DATABASE=PIXMA iP2000
-
-usb:v04A9p108F*
- ID_PRODUCT_FROM_DATABASE=i80
-
-usb:v04A9p1090*
- ID_PRODUCT_FROM_DATABASE=i9900 Photo Printer
-
-usb:v04A9p1091*
- ID_PRODUCT_FROM_DATABASE=PIXMA iP1500
-
-usb:v04A9p1093*
- ID_PRODUCT_FROM_DATABASE=PIXMA iP4000
-
-usb:v04A9p1094*
- ID_PRODUCT_FROM_DATABASE=PIXMA iP3000x Printer
-
-usb:v04A9p1095*
- ID_PRODUCT_FROM_DATABASE=PIXMA iP6000D
-
-usb:v04A9p1097*
- ID_PRODUCT_FROM_DATABASE=PIXMA iP5000
-
-usb:v04A9p1098*
- ID_PRODUCT_FROM_DATABASE=PIXMA iP1000
-
-usb:v04A9p1099*
- ID_PRODUCT_FROM_DATABASE=PIXMA iP8500
-
-usb:v04A9p109C*
- ID_PRODUCT_FROM_DATABASE=PIXMA iP4000R
-
-usb:v04A9p109D*
- ID_PRODUCT_FROM_DATABASE=iP90
-
-usb:v04A9p10A0*
- ID_PRODUCT_FROM_DATABASE=PIXMA iP1600 Printer
-
-usb:v04A9p10A2*
- ID_PRODUCT_FROM_DATABASE=iP4200
-
-usb:v04A9p10A4*
- ID_PRODUCT_FROM_DATABASE=iP5200R
-
-usb:v04A9p10A5*
- ID_PRODUCT_FROM_DATABASE=iP5200
-
-usb:v04A9p10A7*
- ID_PRODUCT_FROM_DATABASE=iP6210D
-
-usb:v04A9p10A8*
- ID_PRODUCT_FROM_DATABASE=iP6220D
-
-usb:v04A9p10A9*
- ID_PRODUCT_FROM_DATABASE=iP6600D
-
-usb:v04A9p10B6*
- ID_PRODUCT_FROM_DATABASE=PIXMA iP4300 Printer
-
-usb:v04A9p10C2*
- ID_PRODUCT_FROM_DATABASE=PIXMA iP1800 Printer
-
-usb:v04A9p10C4*
- ID_PRODUCT_FROM_DATABASE=Pixma iP4500 Printer
-
-usb:v04A9p1404*
- ID_PRODUCT_FROM_DATABASE=W6400PG
-
-usb:v04A9p1405*
- ID_PRODUCT_FROM_DATABASE=W8400PG
-
-usb:v04A9p150F*
- ID_PRODUCT_FROM_DATABASE=BIJ2350 PCL
-
-usb:v04A9p1510*
- ID_PRODUCT_FROM_DATABASE=BIJ1350 PCL
-
-usb:v04A9p1512*
- ID_PRODUCT_FROM_DATABASE=BIJ1350D PCL
-
-usb:v04A9p1601*
- ID_PRODUCT_FROM_DATABASE=DR-2080C Scanner
-
-usb:v04A9p1607*
- ID_PRODUCT_FROM_DATABASE=DR-6080 Scanner
-
-usb:v04A9p1700*
- ID_PRODUCT_FROM_DATABASE=PIXMA MP110 Scanner
-
-usb:v04A9p1701*
- ID_PRODUCT_FROM_DATABASE=PIXMA MP130 Scanner
-
-usb:v04A9p1702*
- ID_PRODUCT_FROM_DATABASE=MP410 Composite
-
-usb:v04A9p1703*
- ID_PRODUCT_FROM_DATABASE=MP430 Composite
-
-usb:v04A9p1704*
- ID_PRODUCT_FROM_DATABASE=MP330 Composite
-
-usb:v04A9p1706*
- ID_PRODUCT_FROM_DATABASE=PIXMA MP750 Scanner
-
-usb:v04A9p1707*
- ID_PRODUCT_FROM_DATABASE=PIXMA MP780 Scanner
-
-usb:v04A9p1708*
- ID_PRODUCT_FROM_DATABASE=PIXMA MP760 Scanner
-
-usb:v04A9p1709*
- ID_PRODUCT_FROM_DATABASE=PIXMA MP150 Scanner
-
-usb:v04A9p170A*
- ID_PRODUCT_FROM_DATABASE=PIXMA MP170 Scanner
-
-usb:v04A9p170B*
- ID_PRODUCT_FROM_DATABASE=PIXMA MP450 Scanner
-
-usb:v04A9p170C*
- ID_PRODUCT_FROM_DATABASE=PIXMA MP500 Scanner
-
-usb:v04A9p170D*
- ID_PRODUCT_FROM_DATABASE=PIXMA MP800 Scanner
-
-usb:v04A9p170E*
- ID_PRODUCT_FROM_DATABASE=MP800R
-
-usb:v04A9p1710*
- ID_PRODUCT_FROM_DATABASE=MP950
-
-usb:v04A9p1712*
- ID_PRODUCT_FROM_DATABASE=MP530
-
-usb:v04A9p1713*
- ID_PRODUCT_FROM_DATABASE=PIXMA MP830 Scanner
-
-usb:v04A9p1714*
- ID_PRODUCT_FROM_DATABASE=MP160
-
-usb:v04A9p1715*
- ID_PRODUCT_FROM_DATABASE=MP180 Storage
-
-usb:v04A9p1716*
- ID_PRODUCT_FROM_DATABASE=MP460 Composite
-
-usb:v04A9p1717*
- ID_PRODUCT_FROM_DATABASE=MP510
-
-usb:v04A9p1718*
- ID_PRODUCT_FROM_DATABASE=MP600 Storage
-
-usb:v04A9p171A*
- ID_PRODUCT_FROM_DATABASE=MP810 Storage
-
-usb:v04A9p171B*
- ID_PRODUCT_FROM_DATABASE=MP960
-
-usb:v04A9p1721*
- ID_PRODUCT_FROM_DATABASE=MP210 ser
-
-usb:v04A9p1723*
- ID_PRODUCT_FROM_DATABASE=MP470 ser
-
-usb:v04A9p1725*
- ID_PRODUCT_FROM_DATABASE=MP610 ser
-
-usb:v04A9p1726*
- ID_PRODUCT_FROM_DATABASE=MP970 ser
-
-usb:v04A9p1727*
- ID_PRODUCT_FROM_DATABASE=MX300 ser
-
-usb:v04A9p1728*
- ID_PRODUCT_FROM_DATABASE=MX310 ser
-
-usb:v04A9p1729*
- ID_PRODUCT_FROM_DATABASE=MX700 ser
-
-usb:v04A9p172B*
- ID_PRODUCT_FROM_DATABASE=MP140 ser
-
-usb:v04A9p173E*
- ID_PRODUCT_FROM_DATABASE=MP560
-
-usb:v04A9p173F*
- ID_PRODUCT_FROM_DATABASE=Pixma MP640 Multifunction device
-
-usb:v04A9p1748*
- ID_PRODUCT_FROM_DATABASE=Pixma MG5150
-
-usb:v04A9p174D*
- ID_PRODUCT_FROM_DATABASE=MX360 ser
-
-usb:v04A9p1900*
- ID_PRODUCT_FROM_DATABASE=CanoScan LiDE 90
-
-usb:v04A9p1901*
- ID_PRODUCT_FROM_DATABASE=CanoScan 8800F
-
-usb:v04A9p1904*
- ID_PRODUCT_FROM_DATABASE=CanoScan LiDE 100
-
-usb:v04A9p1905*
- ID_PRODUCT_FROM_DATABASE=CanoScan LiDE 200
-
-usb:v04A9p1906*
- ID_PRODUCT_FROM_DATABASE=CanoScan 5600F
-
-usb:v04A9p1907*
- ID_PRODUCT_FROM_DATABASE=CanoScan LiDE 700F
-
-usb:v04A9p1909*
- ID_PRODUCT_FROM_DATABASE=CanoScan LiDE 110
-
-usb:v04A9p190A*
- ID_PRODUCT_FROM_DATABASE=CanoScan LiDE 210
-
-usb:v04A9p2200*
- ID_PRODUCT_FROM_DATABASE=CanoScan LiDE 25
-
-usb:v04A9p2201*
- ID_PRODUCT_FROM_DATABASE=CanoScan FB320U
-
-usb:v04A9p2202*
- ID_PRODUCT_FROM_DATABASE=CanoScan FB620U
-
-usb:v04A9p2204*
- ID_PRODUCT_FROM_DATABASE=CanoScan FB630U
-
-usb:v04A9p2205*
- ID_PRODUCT_FROM_DATABASE=CanoScan FB1210U
-
-usb:v04A9p2206*
- ID_PRODUCT_FROM_DATABASE=CanoScan N650U/N656U
-
-usb:v04A9p2207*
- ID_PRODUCT_FROM_DATABASE=CanoScan 1220U
-
-usb:v04A9p2208*
- ID_PRODUCT_FROM_DATABASE=CanoScan D660U
-
-usb:v04A9p220A*
- ID_PRODUCT_FROM_DATABASE=CanoScan D2400UF
-
-usb:v04A9p220B*
- ID_PRODUCT_FROM_DATABASE=CanoScan D646U
-
-usb:v04A9p220C*
- ID_PRODUCT_FROM_DATABASE=CanoScan D1250U2
-
-usb:v04A9p220D*
- ID_PRODUCT_FROM_DATABASE=CanoScan N670U/N676U/LiDE 20
-
-usb:v04A9p220E*
- ID_PRODUCT_FROM_DATABASE=CanoScan N1240U/LiDE 30
-
-usb:v04A9p220F*
- ID_PRODUCT_FROM_DATABASE=CanoScan 8000F
-
-usb:v04A9p2210*
- ID_PRODUCT_FROM_DATABASE=CanoScan 9900F
-
-usb:v04A9p2212*
- ID_PRODUCT_FROM_DATABASE=CanoScan 5000F
-
-usb:v04A9p2213*
- ID_PRODUCT_FROM_DATABASE=CanoScan LiDE 50/LiDE 35/LiDE 40
-
-usb:v04A9p2214*
- ID_PRODUCT_FROM_DATABASE=CanoScan LiDE 80
-
-usb:v04A9p2215*
- ID_PRODUCT_FROM_DATABASE=CanoScan 3000/3000F/3000ex
-
-usb:v04A9p2216*
- ID_PRODUCT_FROM_DATABASE=CanoScan 3200F
-
-usb:v04A9p2217*
- ID_PRODUCT_FROM_DATABASE=CanoScan 5200F
-
-usb:v04A9p2219*
- ID_PRODUCT_FROM_DATABASE=CanoScan 9950F
-
-usb:v04A9p221B*
- ID_PRODUCT_FROM_DATABASE=CanoScan 4200F
-
-usb:v04A9p221C*
- ID_PRODUCT_FROM_DATABASE=CanoScan LiDE 60
-
-usb:v04A9p221E*
- ID_PRODUCT_FROM_DATABASE=CanoScan 8400F
-
-usb:v04A9p221F*
- ID_PRODUCT_FROM_DATABASE=CanoScan LiDE 500F
-
-usb:v04A9p2220*
- ID_PRODUCT_FROM_DATABASE=CanoScan LIDE 25
-
-usb:v04A9p2224*
- ID_PRODUCT_FROM_DATABASE=CanoScan LiDE 600F
-
-usb:v04A9p2225*
- ID_PRODUCT_FROM_DATABASE=CanoScan LiDE 70
-
-usb:v04A9p2228*
- ID_PRODUCT_FROM_DATABASE=CanoScan 4400F
-
-usb:v04A9p2602*
- ID_PRODUCT_FROM_DATABASE=MultiPASS C555
-
-usb:v04A9p2603*
- ID_PRODUCT_FROM_DATABASE=MultiPASS C755
-
-usb:v04A9p260A*
- ID_PRODUCT_FROM_DATABASE=CAPT Printer
-
-usb:v04A9p260E*
- ID_PRODUCT_FROM_DATABASE=LBP-2000
-
-usb:v04A9p2610*
- ID_PRODUCT_FROM_DATABASE=MPC600F
-
-usb:v04A9p2611*
- ID_PRODUCT_FROM_DATABASE=SmartBase MPC400
-
-usb:v04A9p2612*
- ID_PRODUCT_FROM_DATABASE=MultiPASS C855
-
-usb:v04A9p2617*
- ID_PRODUCT_FROM_DATABASE=CAPT Printer
-
-usb:v04A9p261A*
- ID_PRODUCT_FROM_DATABASE=iR1600
-
-usb:v04A9p261B*
- ID_PRODUCT_FROM_DATABASE=iR1610
-
-usb:v04A9p261C*
- ID_PRODUCT_FROM_DATABASE=iC2300
-
-usb:v04A9p261F*
- ID_PRODUCT_FROM_DATABASE=MPC200 Printer
-
-usb:v04A9p2621*
- ID_PRODUCT_FROM_DATABASE=iR2000
-
-usb:v04A9p2622*
- ID_PRODUCT_FROM_DATABASE=iR2010
-
-usb:v04A9p2623*
- ID_PRODUCT_FROM_DATABASE=FAX-B180C
-
-usb:v04A9p2629*
- ID_PRODUCT_FROM_DATABASE=FAXPHONE L75
-
-usb:v04A9p262B*
- ID_PRODUCT_FROM_DATABASE=LaserShot LBP-1120 Printer
-
-usb:v04A9p262D*
- ID_PRODUCT_FROM_DATABASE=iR C3200
-
-usb:v04A9p262F*
- ID_PRODUCT_FROM_DATABASE=MultiPASS MP730
-
-usb:v04A9p2630*
- ID_PRODUCT_FROM_DATABASE=MultiPASS MP700
-
-usb:v04A9p2631*
- ID_PRODUCT_FROM_DATABASE=LASER CLASS 700
-
-usb:v04A9p2632*
- ID_PRODUCT_FROM_DATABASE=FAX-L2000
-
-usb:v04A9p2635*
- ID_PRODUCT_FROM_DATABASE=MPC190
-
-usb:v04A9p2637*
- ID_PRODUCT_FROM_DATABASE=iR C6800
-
-usb:v04A9p2638*
- ID_PRODUCT_FROM_DATABASE=iR C3100
-
-usb:v04A9p263C*
- ID_PRODUCT_FROM_DATABASE=Smartbase MP360
-
-usb:v04A9p263D*
- ID_PRODUCT_FROM_DATABASE=MP370
-
-usb:v04A9p263E*
- ID_PRODUCT_FROM_DATABASE=MP390 FAX
-
-usb:v04A9p263F*
- ID_PRODUCT_FROM_DATABASE=MP375
-
-usb:v04A9p2646*
- ID_PRODUCT_FROM_DATABASE=MF5530 Scanner Device V1.9.1
-
-usb:v04A9p2647*
- ID_PRODUCT_FROM_DATABASE=MF5550 Composite
-
-usb:v04A9p264D*
- ID_PRODUCT_FROM_DATABASE=PIXMA MP710
-
-usb:v04A9p264E*
- ID_PRODUCT_FROM_DATABASE=MF5630
-
-usb:v04A9p264F*
- ID_PRODUCT_FROM_DATABASE=MF5650 (FAX)
-
-usb:v04A9p2650*
- ID_PRODUCT_FROM_DATABASE=iR 6800C EUR
-
-usb:v04A9p2651*
- ID_PRODUCT_FROM_DATABASE=iR 3100C EUR
-
-usb:v04A9p2655*
- ID_PRODUCT_FROM_DATABASE=FP-L170/MF350/L380/L398
-
-usb:v04A9p2659*
- ID_PRODUCT_FROM_DATABASE=MF8100
-
-usb:v04A9p265B*
- ID_PRODUCT_FROM_DATABASE=CAPT Printer
-
-usb:v04A9p265C*
- ID_PRODUCT_FROM_DATABASE=iR C3220
-
-usb:v04A9p265D*
- ID_PRODUCT_FROM_DATABASE=MF5730
-
-usb:v04A9p265E*
- ID_PRODUCT_FROM_DATABASE=MF5750
-
-usb:v04A9p265F*
- ID_PRODUCT_FROM_DATABASE=MF5770
-
-usb:v04A9p2660*
- ID_PRODUCT_FROM_DATABASE=MF3110
-
-usb:v04A9p2663*
- ID_PRODUCT_FROM_DATABASE=iR3570/iR4570
-
-usb:v04A9p2664*
- ID_PRODUCT_FROM_DATABASE=iR2270/iR2870
-
-usb:v04A9p2665*
- ID_PRODUCT_FROM_DATABASE=iR C2620
-
-usb:v04A9p2666*
- ID_PRODUCT_FROM_DATABASE=iR C5800
-
-usb:v04A9p2667*
- ID_PRODUCT_FROM_DATABASE=iR85PLUS
-
-usb:v04A9p2669*
- ID_PRODUCT_FROM_DATABASE=iR105PLUS
-
-usb:v04A9p266A*
- ID_PRODUCT_FROM_DATABASE=CAPT Device
-
-usb:v04A9p266B*
- ID_PRODUCT_FROM_DATABASE=iR8070
-
-usb:v04A9p266C*
- ID_PRODUCT_FROM_DATABASE=iR9070
-
-usb:v04A9p266D*
- ID_PRODUCT_FROM_DATABASE=iR 5800C EUR
-
-usb:v04A9p266E*
- ID_PRODUCT_FROM_DATABASE=CAPT Device
-
-usb:v04A9p266F*
- ID_PRODUCT_FROM_DATABASE=iR2230
-
-usb:v04A9p2670*
- ID_PRODUCT_FROM_DATABASE=iR3530
-
-usb:v04A9p2671*
- ID_PRODUCT_FROM_DATABASE=iR5570/iR6570
-
-usb:v04A9p2672*
- ID_PRODUCT_FROM_DATABASE=iR C3170
-
-usb:v04A9p2673*
- ID_PRODUCT_FROM_DATABASE=iR 3170C EUR
-
-usb:v04A9p2674*
- ID_PRODUCT_FROM_DATABASE=L120
-
-usb:v04A9p2675*
- ID_PRODUCT_FROM_DATABASE=iR2830
-
-usb:v04A9p2676*
- ID_PRODUCT_FROM_DATABASE=CAPT Device
-
-usb:v04A9p2677*
- ID_PRODUCT_FROM_DATABASE=iR C2570
-
-usb:v04A9p2678*
- ID_PRODUCT_FROM_DATABASE=iR 2570C EUR
-
-usb:v04A9p2679*
- ID_PRODUCT_FROM_DATABASE=CAPT Device
-
-usb:v04A9p267A*
- ID_PRODUCT_FROM_DATABASE=iR2016
-
-usb:v04A9p267B*
- ID_PRODUCT_FROM_DATABASE=iR2020
-
-usb:v04A9p267D*
- ID_PRODUCT_FROM_DATABASE=MF7100 series
-
-usb:v04A9p2684*
- ID_PRODUCT_FROM_DATABASE=MF3200 series
-
-usb:v04A9p2686*
- ID_PRODUCT_FROM_DATABASE=MF6500 series
-
-usb:v04A9p2687*
- ID_PRODUCT_FROM_DATABASE=iR4530
-
-usb:v04A9p2688*
- ID_PRODUCT_FROM_DATABASE=LBP3460
-
-usb:v04A9p268C*
- ID_PRODUCT_FROM_DATABASE=iR C6870
-
-usb:v04A9p268D*
- ID_PRODUCT_FROM_DATABASE=iR 6870C EUR
-
-usb:v04A9p268E*
- ID_PRODUCT_FROM_DATABASE=iR C5870
-
-usb:v04A9p268F*
- ID_PRODUCT_FROM_DATABASE=iR 5870C EUR
-
-usb:v04A9p2691*
- ID_PRODUCT_FROM_DATABASE=iR7105
-
-usb:v04A9p26A3*
- ID_PRODUCT_FROM_DATABASE=MF4100 series
-
-usb:v04A9p26B0*
- ID_PRODUCT_FROM_DATABASE=MF4600 series
-
-usb:v04A9p26B4*
- ID_PRODUCT_FROM_DATABASE=MF4010 series
-
-usb:v04A9p26B5*
- ID_PRODUCT_FROM_DATABASE=MF4200 series
-
-usb:v04A9p2737*
- ID_PRODUCT_FROM_DATABASE=MF4410
-
-usb:v04A9p3041*
- ID_PRODUCT_FROM_DATABASE=PowerShot S10
-
-usb:v04A9p3042*
- ID_PRODUCT_FROM_DATABASE=CanoScan FS4000US Film Scanner
-
-usb:v04A9p3043*
- ID_PRODUCT_FROM_DATABASE=PowerShot S20
-
-usb:v04A9p3044*
- ID_PRODUCT_FROM_DATABASE=EOS D30
-
-usb:v04A9p3045*
- ID_PRODUCT_FROM_DATABASE=PowerShot S100
-
-usb:v04A9p3046*
- ID_PRODUCT_FROM_DATABASE=IXY Digital
-
-usb:v04A9p3047*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS
-
-usb:v04A9p3048*
- ID_PRODUCT_FROM_DATABASE=PowerShot G1
-
-usb:v04A9p3049*
- ID_PRODUCT_FROM_DATABASE=PowerShot Pro90 IS
-
-usb:v04A9p304A*
- ID_PRODUCT_FROM_DATABASE=CP-10
-
-usb:v04A9p304B*
- ID_PRODUCT_FROM_DATABASE=IXY Digital 300
-
-usb:v04A9p304C*
- ID_PRODUCT_FROM_DATABASE=PowerShot S300
-
-usb:v04A9p304D*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 300
-
-usb:v04A9p304E*
- ID_PRODUCT_FROM_DATABASE=PowerShot A20
-
-usb:v04A9p304F*
- ID_PRODUCT_FROM_DATABASE=PowerShot A10
-
-usb:v04A9p3050*
- ID_PRODUCT_FROM_DATABASE=PowerShot unknown 1
-
-usb:v04A9p3051*
- ID_PRODUCT_FROM_DATABASE=PowerShot S110
-
-usb:v04A9p3052*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS V
-
-usb:v04A9p3055*
- ID_PRODUCT_FROM_DATABASE=PowerShot G2
-
-usb:v04A9p3056*
- ID_PRODUCT_FROM_DATABASE=PowerShot S40
-
-usb:v04A9p3057*
- ID_PRODUCT_FROM_DATABASE=PowerShot S30
-
-usb:v04A9p3058*
- ID_PRODUCT_FROM_DATABASE=PowerShot A40
-
-usb:v04A9p3059*
- ID_PRODUCT_FROM_DATABASE=PowerShot A30
-
-usb:v04A9p305B*
- ID_PRODUCT_FROM_DATABASE=ZR45MC Digital Camcorder
-
-usb:v04A9p305C*
- ID_PRODUCT_FROM_DATABASE=PowerShot unknown 2
-
-usb:v04A9p3060*
- ID_PRODUCT_FROM_DATABASE=EOS D60
-
-usb:v04A9p3061*
- ID_PRODUCT_FROM_DATABASE=PowerShot A100
-
-usb:v04A9p3062*
- ID_PRODUCT_FROM_DATABASE=PowerShot A200
-
-usb:v04A9p3063*
- ID_PRODUCT_FROM_DATABASE=CP-100
-
-usb:v04A9p3065*
- ID_PRODUCT_FROM_DATABASE=PowerShot S200
-
-usb:v04A9p3066*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 330
-
-usb:v04A9p3067*
- ID_PRODUCT_FROM_DATABASE=MV550i Digital Video Camera
-
-usb:v04A9p3069*
- ID_PRODUCT_FROM_DATABASE=PowerShot G3
-
-usb:v04A9p306A*
- ID_PRODUCT_FROM_DATABASE=Digital unknown 3
-
-usb:v04A9p306B*
- ID_PRODUCT_FROM_DATABASE=MVX2i Digital Video Camera
-
-usb:v04A9p306C*
- ID_PRODUCT_FROM_DATABASE=PowerShot S45
-
-usb:v04A9p306D*
- ID_PRODUCT_FROM_DATABASE=PowerShot S45 PtP Mode
-
-usb:v04A9p306E*
- ID_PRODUCT_FROM_DATABASE=PowerShot G3 (normal mode)
-
-usb:v04A9p306F*
- ID_PRODUCT_FROM_DATABASE=PowerShot G3 (ptp)
-
-usb:v04A9p3070*
- ID_PRODUCT_FROM_DATABASE=PowerShot S230
-
-usb:v04A9p3071*
- ID_PRODUCT_FROM_DATABASE=PowerShot S230 (ptp)
-
-usb:v04A9p3072*
- ID_PRODUCT_FROM_DATABASE=PowerShot SD100 / Digital IXUS II (ptp)
-
-usb:v04A9p3073*
- ID_PRODUCT_FROM_DATABASE=PowerShot A70 (ptp)
-
-usb:v04A9p3074*
- ID_PRODUCT_FROM_DATABASE=PowerShot A60 (ptp)
-
-usb:v04A9p3075*
- ID_PRODUCT_FROM_DATABASE=IXUS 400 Camera
-
-usb:v04A9p3076*
- ID_PRODUCT_FROM_DATABASE=PowerShot A300
-
-usb:v04A9p3077*
- ID_PRODUCT_FROM_DATABASE=PowerShot S50
-
-usb:v04A9p3078*
- ID_PRODUCT_FROM_DATABASE=ZR70MC Digital Camcorder
-
-usb:v04A9p307A*
- ID_PRODUCT_FROM_DATABASE=MV650i (normal mode)
-
-usb:v04A9p307B*
- ID_PRODUCT_FROM_DATABASE=MV630i Digital Video Camera
-
-usb:v04A9p307C*
- ID_PRODUCT_FROM_DATABASE=MV630i (normal mode)
-
-usb:v04A9p307D*
- ID_PRODUCT_FROM_DATABASE=CP-300
-
-usb:v04A9p307F*
- ID_PRODUCT_FROM_DATABASE=Optura 20
-
-usb:v04A9p3080*
- ID_PRODUCT_FROM_DATABASE=MVX150i (normal mode) / Optura 20 (normal mode)
-
-usb:v04A9p3081*
- ID_PRODUCT_FROM_DATABASE=Optura 10
-
-usb:v04A9p3082*
- ID_PRODUCT_FROM_DATABASE=MVX100i / Optura 10
-
-usb:v04A9p3083*
- ID_PRODUCT_FROM_DATABASE=EOS 10D
-
-usb:v04A9p3084*
- ID_PRODUCT_FROM_DATABASE=EOS 300D / EOS Digital Rebel
-
-usb:v04A9p3085*
- ID_PRODUCT_FROM_DATABASE=PowerShot G5
-
-usb:v04A9p3087*
- ID_PRODUCT_FROM_DATABASE=Elura 50 (PTP mode)
-
-usb:v04A9p3088*
- ID_PRODUCT_FROM_DATABASE=Elura 50 (normal mode)
-
-usb:v04A9p308D*
- ID_PRODUCT_FROM_DATABASE=MVX3i
-
-usb:v04A9p308E*
- ID_PRODUCT_FROM_DATABASE=FV M1 (normal mode) / MVX 3i (normal mode) / Optura Xi (normal mode)
-
-usb:v04A9p3093*
- ID_PRODUCT_FROM_DATABASE=Optura 300
-
-usb:v04A9p3096*
- ID_PRODUCT_FROM_DATABASE=IXY DV M2 (normal mode) / MVX 10i (normal mode)
-
-usb:v04A9p3099*
- ID_PRODUCT_FROM_DATABASE=EOS 300D (ptp)
-
-usb:v04A9p309A*
- ID_PRODUCT_FROM_DATABASE=PowerShot A80
-
-usb:v04A9p309B*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS (ptp)
-
-usb:v04A9p309C*
- ID_PRODUCT_FROM_DATABASE=PowerShot S1 IS
-
-usb:v04A9p309D*
- ID_PRODUCT_FROM_DATABASE=Powershot Pro 1
-
-usb:v04A9p309F*
- ID_PRODUCT_FROM_DATABASE=Camera
-
-usb:v04A9p30A0*
- ID_PRODUCT_FROM_DATABASE=Camera
-
-usb:v04A9p30A1*
- ID_PRODUCT_FROM_DATABASE=Camera
-
-usb:v04A9p30A2*
- ID_PRODUCT_FROM_DATABASE=Camera
-
-usb:v04A9p30A8*
- ID_PRODUCT_FROM_DATABASE=Elura 60E/Optura 40 (ptp)
-
-usb:v04A9p30A9*
- ID_PRODUCT_FROM_DATABASE=MVX25i (normal mode) / Optura 40 (normal mode)
-
-usb:v04A9p30B1*
- ID_PRODUCT_FROM_DATABASE=PowerShot S70 (normal mode) / PowerShot S70 (PTP mode)
-
-usb:v04A9p30B2*
- ID_PRODUCT_FROM_DATABASE=PowerShot S60 (normal mode) / PowerShot S60 (PTP mode)
-
-usb:v04A9p30B3*
- ID_PRODUCT_FROM_DATABASE=PowerShot G6 (normal mode) / PowerShot G6 (PTP mode)
-
-usb:v04A9p30B4*
- ID_PRODUCT_FROM_DATABASE=PowerShot S500
-
-usb:v04A9p30B5*
- ID_PRODUCT_FROM_DATABASE=PowerShot A75
-
-usb:v04A9p30B6*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS II2 / Digital IXUS II2 (PTP mode) / PowerShot SD110 (PTP mode) / PowerShot SD110 Digital ELPH
-
-usb:v04A9p30B7*
- ID_PRODUCT_FROM_DATABASE=PowerShot A400 / PowerShot A400 (PTP mode)
-
-usb:v04A9p30B8*
- ID_PRODUCT_FROM_DATABASE=PowerShot A310 / PowerShot A310 (PTP mode)
-
-usb:v04A9p30B9*
- ID_PRODUCT_FROM_DATABASE=Powershot A85
-
-usb:v04A9p30BA*
- ID_PRODUCT_FROM_DATABASE=PowerShot S410 Digital Elph
-
-usb:v04A9p30BB*
- ID_PRODUCT_FROM_DATABASE=PowerShot A95
-
-usb:v04A9p30BD*
- ID_PRODUCT_FROM_DATABASE=CP-220
-
-usb:v04A9p30BE*
- ID_PRODUCT_FROM_DATABASE=CP-330
-
-usb:v04A9p30BF*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 40
-
-usb:v04A9p30C0*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 30 (PTP mode) / PowerShot SD200 (PTP mode)
-
-usb:v04A9p30C1*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 50 (normal mode) / IXY Digital 55 (normal mode) / PowerShot A520 (PTP mode) / PowerShot SD400 (normal mode)
-
-usb:v04A9p30C2*
- ID_PRODUCT_FROM_DATABASE=PowerShot A510 (normal mode) / PowerShot A510 (PTP mode)
-
-usb:v04A9p30C4*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS i5 (normal mode) / IXY Digital L2 (normal mode) / PowerShot SD20 (normal mode)
-
-usb:v04A9p30EA*
- ID_PRODUCT_FROM_DATABASE=EOS 1D Mark II (PTP mode)
-
-usb:v04A9p30EB*
- ID_PRODUCT_FROM_DATABASE=EOS 20D
-
-usb:v04A9p30EC*
- ID_PRODUCT_FROM_DATABASE=EOS 20D (ptp)
-
-usb:v04A9p30EE*
- ID_PRODUCT_FROM_DATABASE=EOS 350D
-
-usb:v04A9p30EF*
- ID_PRODUCT_FROM_DATABASE=EOS 350D (ptp)
-
-usb:v04A9p30F0*
- ID_PRODUCT_FROM_DATABASE=PowerShot S2 IS (PTP mode)
-
-usb:v04A9p30F2*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 700 (normal mode) / Digital IXUS 700 (PTP mode) / IXY Digital 600 (normal mode) / PowerShot SD500 (normal mode) / PowerShot SD500 (PTP mode)
-
-usb:v04A9p30F4*
- ID_PRODUCT_FROM_DATABASE=PowerShot SD30 / Ixus iZoom / IXY DIGITAL L3
-
-usb:v04A9p30F5*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP500
-
-usb:v04A9p30F6*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP400
-
-usb:v04A9p30F8*
- ID_PRODUCT_FROM_DATABASE=Powershot A430
-
-usb:v04A9p30F9*
- ID_PRODUCT_FROM_DATABASE=PowerShot A410 (PTP mode)
-
-usb:v04A9p30FA*
- ID_PRODUCT_FROM_DATABASE=PowerShot S80
-
-usb:v04A9p30FC*
- ID_PRODUCT_FROM_DATABASE=PowerShot A620 (PTP mode)
-
-usb:v04A9p30FD*
- ID_PRODUCT_FROM_DATABASE=PowerShot A610 (normal mode)/PowerShot A610 (PTP mode)
-
-usb:v04A9p30FE*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 65 (PTP mode)/PowerShot SD630 (PTP mode)
-
-usb:v04A9p30FF*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 55 (PTP mode)/PowerShot SD450 (PTP mode)
-
-usb:v04A9p3100*
- ID_PRODUCT_FROM_DATABASE=PowerShot TX1
-
-usb:v04A9p310B*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP600
-
-usb:v04A9p310E*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 50 (PTP mode)
-
-usb:v04A9p3110*
- ID_PRODUCT_FROM_DATABASE=EOS Digital Rebel XTi
-
-usb:v04A9p3116*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 750 / PowerShot SD550 (PTP mode)
-
-usb:v04A9p3117*
- ID_PRODUCT_FROM_DATABASE=PowerShot A700
-
-usb:v04A9p3119*
- ID_PRODUCT_FROM_DATABASE=PowerShot SD700 IS / Digital IXUS 800 IS / IXY Digital 800 IS
-
-usb:v04A9p311B*
- ID_PRODUCT_FROM_DATABASE=PowerShot A540
-
-usb:v04A9p3127*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP710
-
-usb:v04A9p3128*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP510
-
-usb:v04A9p312D*
- ID_PRODUCT_FROM_DATABASE=Elura 100
-
-usb:v04A9p3138*
- ID_PRODUCT_FROM_DATABASE=PowerShot A710 IS
-
-usb:v04A9p3141*
- ID_PRODUCT_FROM_DATABASE=SELPHY ES1
-
-usb:v04A9p3142*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP730
-
-usb:v04A9p3143*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP720
-
-usb:v04A9p3147*
- ID_PRODUCT_FROM_DATABASE=EOS 1Ds Mark III
-
-usb:v04A9p314F*
- ID_PRODUCT_FROM_DATABASE=Powershot SD1000
-
-usb:v04A9p3155*
- ID_PRODUCT_FROM_DATABASE=PowerShot A450
-
-usb:v04A9p315A*
- ID_PRODUCT_FROM_DATABASE=PowerShot G9
-
-usb:v04A9p315D*
- ID_PRODUCT_FROM_DATABASE=PowerShot A720
-
-usb:v04A9p3160*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 860 IS
-
-usb:v04A9p3170*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP750
-
-usb:v04A9p3171*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP740
-
-usb:v04A9p3175*
- ID_PRODUCT_FROM_DATABASE=IXY Digital 25 IS
-
-usb:v04A9p3176*
- ID_PRODUCT_FROM_DATABASE=PowerShot A590
-
-usb:v04A9p317A*
- ID_PRODUCT_FROM_DATABASE=PC1267 [Powershot A470]
-
-usb:v04A9p3184*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 80 IS (PTP mode)
-
-usb:v04A9p3185*
- ID_PRODUCT_FROM_DATABASE=SELPHY ES2
-
-usb:v04A9p3192*
- ID_PRODUCT_FROM_DATABASE=PowerShot SX110 IS
-
-usb:v04A9p319A*
- ID_PRODUCT_FROM_DATABASE=EOS 7D
-
-usb:v04A9p31AA*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP770
-
-usb:v04A9p31AB*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP760
-
-usb:v04A9p31AD*
- ID_PRODUCT_FROM_DATABASE=PowerShot E1
-
-usb:v04A9p31B0*
- ID_PRODUCT_FROM_DATABASE=SELPHY ES30
-
-usb:v04A9p31BC*
- ID_PRODUCT_FROM_DATABASE=PowerShot D10
-
-usb:v04A9p31BF*
- ID_PRODUCT_FROM_DATABASE=PowerShot A480
-
-usb:v04A9p31C0*
- ID_PRODUCT_FROM_DATABASE=PowerShot SX200 IS
-
-usb:v04A9p31DD*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP780
-
-usb:v04A9p31E5*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 200 IS
-
-usb:v04A9p31EE*
- ID_PRODUCT_FROM_DATABASE=SELPHY ES40
-
-usb:v04A9p31EF*
- ID_PRODUCT_FROM_DATABASE=PowerShot A495
-
-usb:v04A9p31F1*
- ID_PRODUCT_FROM_DATABASE=PowerShot A3100 IS / PowerShot A3150 IS
-
-usb:v04A9p31F2*
- ID_PRODUCT_FROM_DATABASE=PowerShot A3000 IS
-
-usb:v04A9p31F3*
- ID_PRODUCT_FROM_DATABASE=PowerShot Digital ELPH SD1400 IS
-
-usb:v04A9p31F4*
- ID_PRODUCT_FROM_DATABASE=PowerShot SD1300 IS / IXUS 105
-
-usb:v04A9p31F5*
- ID_PRODUCT_FROM_DATABASE=Powershot SD3500 IS / IXUS 210 IS
-
-usb:v04A9p31F6*
- ID_PRODUCT_FROM_DATABASE=PowerShot SX210 IS
-
-usb:v04A9p31F7*
- ID_PRODUCT_FROM_DATABASE=Powershot SD4000 IS / IXUS 300 HS / IXY 30S
-
-usb:v04A9p31F8*
- ID_PRODUCT_FROM_DATABASE=Powershot SD4500 IS / IXUS 1000 HS / IXY 50S
-
-usb:v04A9p31FF*
- ID_PRODUCT_FROM_DATABASE=Digital IXUS 55
-
-usb:v04A9p3209*
- ID_PRODUCT_FROM_DATABASE=Vixia HF S21 A
-
-usb:v04A9p3210*
- ID_PRODUCT_FROM_DATABASE=Powershot SX30 IS
-
-usb:v04A9p3211*
- ID_PRODUCT_FROM_DATABASE=PowerShot SX130 IS
-
-usb:v04A9p3212*
- ID_PRODUCT_FROM_DATABASE=Powershot S95
-
-usb:v04A9p3214*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP800
-
-usb:v04A9p3218*
- ID_PRODUCT_FROM_DATABASE=EOS 600D / Rebel T3i (ptp)
-
-usb:v04A9p3223*
- ID_PRODUCT_FROM_DATABASE=PowerShot A3300 IS
-
-usb:v04A9p3224*
- ID_PRODUCT_FROM_DATABASE=PowerShot A3200 IS
-
-usb:v04A9p3226*
- ID_PRODUCT_FROM_DATABASE=PowerShow A800
-
-usb:v04A9p3228*
- ID_PRODUCT_FROM_DATABASE=PowerShot SX230 HS
-
-usb:v04A9p3229*
- ID_PRODUCT_FROM_DATABASE=IXUS 220 HS
-
-usb:v04A9p322A*
- ID_PRODUCT_FROM_DATABASE=PowerShot A2200
-
-usb:v04A9p322B*
- ID_PRODUCT_FROM_DATABASE=Powershot A1200
-
-usb:v04A9p3233*
- ID_PRODUCT_FROM_DATABASE=PowerShot G1 X
-
-usb:v04A9p3234*
- ID_PRODUCT_FROM_DATABASE=PowerShot SX150 IS
-
-usb:v04A9p3236*
- ID_PRODUCT_FROM_DATABASE=PowerShot S100
-
-usb:v04A9p3238*
- ID_PRODUCT_FROM_DATABASE=PowerShot SX40 HS
-
-usb:v04A9p323F*
- ID_PRODUCT_FROM_DATABASE=PowerShot A810
-
-usb:v04A9p3243*
- ID_PRODUCT_FROM_DATABASE=PowerShot A4000 IS
-
-usb:v04A9p3244*
- ID_PRODUCT_FROM_DATABASE=PowerShot SX260 HS
-
-usb:v04A9p3245*
- ID_PRODUCT_FROM_DATABASE=PowerShot SX240 HS
-
-usb:v04A9p3247*
- ID_PRODUCT_FROM_DATABASE=PowerShot ELPH 520 HS
-
-usb:v04A9p3248*
- ID_PRODUCT_FROM_DATABASE=PowerShot A3400 IS
-
-usb:v04A9p3249*
- ID_PRODUCT_FROM_DATABASE=PowerShot A2400 IS
-
-usb:v04A9p324A*
- ID_PRODUCT_FROM_DATABASE=PowerShot A2300
-
-usb:v04A9p3255*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP900
-
-usb:v04A9p3256*
- ID_PRODUCT_FROM_DATABASE=SELPHY CP810
-
-usb:v04A9p3259*
- ID_PRODUCT_FROM_DATABASE=PowerShot SX50 HS
-
-usb:v04A9p325A*
- ID_PRODUCT_FROM_DATABASE=PowerShot SX160 IS
-
-usb:v04AA*
- ID_VENDOR_FROM_DATABASE=DaeWoo Telecom, Ltd
-
-usb:v04AB*
- ID_VENDOR_FROM_DATABASE=Chromatic Research
-
-usb:v04AC*
- ID_VENDOR_FROM_DATABASE=Micro Audiometrics Corp.
-
-usb:v04AD*
- ID_VENDOR_FROM_DATABASE=Dooin Electronics
-
-usb:v04ADp2501*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v04AF*
- ID_VENDOR_FROM_DATABASE=Winnov L.P.
-
-usb:v04B0*
- ID_VENDOR_FROM_DATABASE=Nikon Corp.
-
-usb:v04B0p0102*
- ID_PRODUCT_FROM_DATABASE=Coolpix 990
-
-usb:v04B0p0103*
- ID_PRODUCT_FROM_DATABASE=Coolpix 880
-
-usb:v04B0p0104*
- ID_PRODUCT_FROM_DATABASE=Coolpix 995
-
-usb:v04B0p0106*
- ID_PRODUCT_FROM_DATABASE=Coolpix 775
-
-usb:v04B0p0107*
- ID_PRODUCT_FROM_DATABASE=Coolpix 5000
-
-usb:v04B0p0108*
- ID_PRODUCT_FROM_DATABASE=Coolpix 2500
-
-usb:v04B0p0109*
- ID_PRODUCT_FROM_DATABASE=Coolpix 2500 (ptp)
-
-usb:v04B0p010A*
- ID_PRODUCT_FROM_DATABASE=Coolpix 4500
-
-usb:v04B0p010B*
- ID_PRODUCT_FROM_DATABASE=Coolpix 4500 (ptp)
-
-usb:v04B0p010D*
- ID_PRODUCT_FROM_DATABASE=Coolpix 5700 (ptp)
-
-usb:v04B0p010E*
- ID_PRODUCT_FROM_DATABASE=Coolpix 4300 (storage)
-
-usb:v04B0p010F*
- ID_PRODUCT_FROM_DATABASE=Coolpix 4300 (ptp)
-
-usb:v04B0p0110*
- ID_PRODUCT_FROM_DATABASE=Coolpix 3500 (Sierra Mode)
-
-usb:v04B0p0111*
- ID_PRODUCT_FROM_DATABASE=Coolpix 3500 (ptp)
-
-usb:v04B0p0112*
- ID_PRODUCT_FROM_DATABASE=Coolpix 885 (ptp)
-
-usb:v04B0p0113*
- ID_PRODUCT_FROM_DATABASE=Coolpix 5000 (ptp)
-
-usb:v04B0p0114*
- ID_PRODUCT_FROM_DATABASE=Coolpix 3100 (storage)
-
-usb:v04B0p0115*
- ID_PRODUCT_FROM_DATABASE=Coolpix 3100 (ptp)
-
-usb:v04B0p0117*
- ID_PRODUCT_FROM_DATABASE=Coolpix 2100 (ptp)
-
-usb:v04B0p0119*
- ID_PRODUCT_FROM_DATABASE=Coolpix 5400 (ptp)
-
-usb:v04B0p011D*
- ID_PRODUCT_FROM_DATABASE=Coolpix 3700 (ptp)
-
-usb:v04B0p0121*
- ID_PRODUCT_FROM_DATABASE=Coolpix 3200 (ptp)
-
-usb:v04B0p0122*
- ID_PRODUCT_FROM_DATABASE=Coolpix 2200 (ptp)
-
-usb:v04B0p0124*
- ID_PRODUCT_FROM_DATABASE=Coolpix 8400 (mass storage mode)
-
-usb:v04B0p0125*
- ID_PRODUCT_FROM_DATABASE=Coolpix 8400 (ptp)
-
-usb:v04B0p0126*
- ID_PRODUCT_FROM_DATABASE=Coolpix 8800
-
-usb:v04B0p0129*
- ID_PRODUCT_FROM_DATABASE=Coolpix 4800 (ptp)
-
-usb:v04B0p012C*
- ID_PRODUCT_FROM_DATABASE=Coolpix 4100 (storage)
-
-usb:v04B0p012D*
- ID_PRODUCT_FROM_DATABASE=Coolpix 4100 (ptp)
-
-usb:v04B0p012E*
- ID_PRODUCT_FROM_DATABASE=Coolpix 5600 (ptp)
-
-usb:v04B0p0130*
- ID_PRODUCT_FROM_DATABASE=Coolpix 4600 (ptp)
-
-usb:v04B0p0135*
- ID_PRODUCT_FROM_DATABASE=Coolpix 5900 (ptp)
-
-usb:v04B0p0136*
- ID_PRODUCT_FROM_DATABASE=Coolpix 7900 (storage)
-
-usb:v04B0p0137*
- ID_PRODUCT_FROM_DATABASE=Coolpix 7900 (ptp)
-
-usb:v04B0p013A*
- ID_PRODUCT_FROM_DATABASE=Coolpix 100 (storage)
-
-usb:v04B0p013B*
- ID_PRODUCT_FROM_DATABASE=Coolpix 100 (ptp)
-
-usb:v04B0p0141*
- ID_PRODUCT_FROM_DATABASE=Coolpix P2 (storage)
-
-usb:v04B0p0142*
- ID_PRODUCT_FROM_DATABASE=Coolpix P2 (ptp)
-
-usb:v04B0p0163*
- ID_PRODUCT_FROM_DATABASE=Coolpix P5100 (ptp)
-
-usb:v04B0p0169*
- ID_PRODUCT_FROM_DATABASE=Coolpix P50 (ptp)
-
-usb:v04B0p0202*
- ID_PRODUCT_FROM_DATABASE=Coolpix SQ (ptp)
-
-usb:v04B0p0203*
- ID_PRODUCT_FROM_DATABASE=Coolpix 4200 (mass storage mode)
-
-usb:v04B0p0204*
- ID_PRODUCT_FROM_DATABASE=Coolpix 4200 (ptp)
-
-usb:v04B0p0205*
- ID_PRODUCT_FROM_DATABASE=Coolpix 5200 (storage)
-
-usb:v04B0p0206*
- ID_PRODUCT_FROM_DATABASE=Coolpix 5200 (ptp)
-
-usb:v04B0p0301*
- ID_PRODUCT_FROM_DATABASE=Coolpix 2000 (storage)
-
-usb:v04B0p0302*
- ID_PRODUCT_FROM_DATABASE=Coolpix 2000 (ptp)
-
-usb:v04B0p0317*
- ID_PRODUCT_FROM_DATABASE=Coolpix L20 (ptp)
-
-usb:v04B0p0402*
- ID_PRODUCT_FROM_DATABASE=DSC D100 (ptp)
-
-usb:v04B0p0403*
- ID_PRODUCT_FROM_DATABASE=D2H (mass storage mode)
-
-usb:v04B0p0404*
- ID_PRODUCT_FROM_DATABASE=D2H SLR (ptp)
-
-usb:v04B0p0405*
- ID_PRODUCT_FROM_DATABASE=D70 (mass storage mode)
-
-usb:v04B0p0406*
- ID_PRODUCT_FROM_DATABASE=DSC D70 (ptp)
-
-usb:v04B0p0408*
- ID_PRODUCT_FROM_DATABASE=D2X SLR (ptp)
-
-usb:v04B0p0409*
- ID_PRODUCT_FROM_DATABASE=D50 digital camera
-
-usb:v04B0p040A*
- ID_PRODUCT_FROM_DATABASE=D50 (ptp)
-
-usb:v04B0p040C*
- ID_PRODUCT_FROM_DATABASE=D2Hs
-
-usb:v04B0p040E*
- ID_PRODUCT_FROM_DATABASE=DSC D70s (ptp)
-
-usb:v04B0p040F*
- ID_PRODUCT_FROM_DATABASE=D200 (mass storage mode)
-
-usb:v04B0p0410*
- ID_PRODUCT_FROM_DATABASE=D200 (ptp)
-
-usb:v04B0p0413*
- ID_PRODUCT_FROM_DATABASE=D40 (mass storage mode)
-
-usb:v04B0p041E*
- ID_PRODUCT_FROM_DATABASE=D60 digital camera (mass storage mode)
-
-usb:v04B0p0422*
- ID_PRODUCT_FROM_DATABASE=D700 (ptp)
-
-usb:v04B0p0425*
- ID_PRODUCT_FROM_DATABASE=D300S
-
-usb:v04B0p042A*
- ID_PRODUCT_FROM_DATABASE=D800 (ptp)
-
-usb:v04B0p0F03*
- ID_PRODUCT_FROM_DATABASE=PD-10 Wireless Printer Adapter
-
-usb:v04B0p4000*
- ID_PRODUCT_FROM_DATABASE=Coolscan LS 40 ED
-
-usb:v04B0p4001*
- ID_PRODUCT_FROM_DATABASE=LS 50 ED/Coolscan V ED
-
-usb:v04B0p4002*
- ID_PRODUCT_FROM_DATABASE=Super Coolscan LS-5000 ED
-
-usb:v04B1*
- ID_VENDOR_FROM_DATABASE=Pan International
-
-usb:v04B3*
- ID_VENDOR_FROM_DATABASE=IBM Corp.
-
-usb:v04B3p3003*
- ID_PRODUCT_FROM_DATABASE=Rapid Access III Keyboard
-
-usb:v04B3p3004*
- ID_PRODUCT_FROM_DATABASE=Media Access Pro Keyboard
-
-usb:v04B3p300A*
- ID_PRODUCT_FROM_DATABASE=Rapid Access IIIe Keyboard
-
-usb:v04B3p3016*
- ID_PRODUCT_FROM_DATABASE=UltraNav Keyboard Hub
-
-usb:v04B3p3018*
- ID_PRODUCT_FROM_DATABASE=UltraNav Keyboard
-
-usb:v04B3p301B*
- ID_PRODUCT_FROM_DATABASE=SK-8815 Keyboard
-
-usb:v04B3p301C*
- ID_PRODUCT_FROM_DATABASE=Enhanced Performance Keyboard
-
-usb:v04B3p3020*
- ID_PRODUCT_FROM_DATABASE=Enhanced Performance Keyboard
-
-usb:v04B3p3025*
- ID_PRODUCT_FROM_DATABASE=NetVista Full Width Keyboard
-
-usb:v04B3p3100*
- ID_PRODUCT_FROM_DATABASE=NetVista Mouse
-
-usb:v04B3p3103*
- ID_PRODUCT_FROM_DATABASE=ScrollPoint Pro Mouse
-
-usb:v04B3p3104*
- ID_PRODUCT_FROM_DATABASE=ScrollPoint Wireless Mouse
-
-usb:v04B3p3105*
- ID_PRODUCT_FROM_DATABASE=ScrollPoint Optical (HID)
-
-usb:v04B3p3107*
- ID_PRODUCT_FROM_DATABASE=ThinkPad 800dpi Optical Travel Mouse
-
-usb:v04B3p3108*
- ID_PRODUCT_FROM_DATABASE=800dpi Optical Mouse w/ Scroll Point
-
-usb:v04B3p3109*
- ID_PRODUCT_FROM_DATABASE=Optical ScrollPoint Pro Mouse
-
-usb:v04B3p310B*
- ID_PRODUCT_FROM_DATABASE=Red Wheel Mouse
-
-usb:v04B3p310C*
- ID_PRODUCT_FROM_DATABASE=Wheel Mouse
-
-usb:v04B3p4427*
- ID_PRODUCT_FROM_DATABASE=Portable CD ROM
-
-usb:v04B3p4482*
- ID_PRODUCT_FROM_DATABASE=Serial Converter
-
-usb:v04B3p4485*
- ID_PRODUCT_FROM_DATABASE=Serial Converter
-
-usb:v04B3p4525*
- ID_PRODUCT_FROM_DATABASE=Double sided CRT
-
-usb:v04B3p4535*
- ID_PRODUCT_FROM_DATABASE=4610 Suremark Printer
-
-usb:v04B3p4550*
- ID_PRODUCT_FROM_DATABASE=NVRAM (128 KB)
-
-usb:v04B3p4554*
- ID_PRODUCT_FROM_DATABASE=Cash Drawer
-
-usb:v04B3p4580*
- ID_PRODUCT_FROM_DATABASE=Hub w/ NVRAM
-
-usb:v04B3p4581*
- ID_PRODUCT_FROM_DATABASE=4800-2xx Hub w/ Cash Drawer
-
-usb:v04B3p4604*
- ID_PRODUCT_FROM_DATABASE=Keyboard w/ Card Reader
-
-usb:v04B3p4671*
- ID_PRODUCT_FROM_DATABASE=4820 LCD w/ MSR/KB
-
-usb:v04B4*
- ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corp.
-
-usb:v04B4p0001*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v04B4p0002*
- ID_PRODUCT_FROM_DATABASE=CY7C63x0x Thermometer
-
-usb:v04B4p0033*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v04B4p0100*
- ID_PRODUCT_FROM_DATABASE=Cino FuzzyScan F760-B
-
-usb:v04B4p0101*
- ID_PRODUCT_FROM_DATABASE=Keyboard/Hub
-
-usb:v04B4p0102*
- ID_PRODUCT_FROM_DATABASE=Keyboard with APM
-
-usb:v04B4p0130*
- ID_PRODUCT_FROM_DATABASE=MyIRC Remote Receiver
-
-usb:v04B4p0306*
- ID_PRODUCT_FROM_DATABASE=Telephone Receiver
-
-usb:v04B4p0407*
- ID_PRODUCT_FROM_DATABASE=Optical Skype Mouse
-
-usb:v04B4p0BAD*
- ID_PRODUCT_FROM_DATABASE=MetaGeek Wi-Spy
-
-usb:v04B4p1002*
- ID_PRODUCT_FROM_DATABASE=CY7C63001 R100 FM Radio
-
-usb:v04B4p1006*
- ID_PRODUCT_FROM_DATABASE=Human Interface Device
-
-usb:v04B4p2050*
- ID_PRODUCT_FROM_DATABASE=hub
-
-usb:v04B4p2830*
- ID_PRODUCT_FROM_DATABASE=Opera1 DVB-S (cold state)
-
-usb:v04B4p4381*
- ID_PRODUCT_FROM_DATABASE=SCAPS USC-1 Scanner Controller
-
-usb:v04B4p4611*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter FX2 (CY)
-
-usb:v04B4p4616*
- ID_PRODUCT_FROM_DATABASE=Flash Disk (TPP)
-
-usb:v04B4p5201*
- ID_PRODUCT_FROM_DATABASE=Combi Keyboard-Hub (Hub)
-
-usb:v04B4p5202*
- ID_PRODUCT_FROM_DATABASE=Combi Keyboard-Hub (Keyboard)
-
-usb:v04B4p5500*
- ID_PRODUCT_FROM_DATABASE=HID->COM RS232 Adapter
-
-usb:v04B4p5A9B*
- ID_PRODUCT_FROM_DATABASE=Dacal CD/DVD Library D-101/DC-300/DC-016RW
-
-usb:v04B4p6370*
- ID_PRODUCT_FROM_DATABASE=ViewMate Desktop Mouse CC2201
-
-usb:v04B4p6560*
- ID_PRODUCT_FROM_DATABASE=CY7C65640 USB-2.0 "TetraHub"
-
-usb:v04B4p6830*
- ID_PRODUCT_FROM_DATABASE=CY7C68300A EZ-USB AT2 USB 2.0 to ATA/ATAPI
-
-usb:v04B4p6831*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter ISD-300LP (CY)
-
-usb:v04B4p7417*
- ID_PRODUCT_FROM_DATABASE=Wireless PC Lock/Ultra Mouse
-
-usb:v04B4p8329*
- ID_PRODUCT_FROM_DATABASE=USB To keyboard/Mouse Converter
-
-usb:v04B4p8613*
- ID_PRODUCT_FROM_DATABASE=CY7C68013 EZ-USB FX2 USB 2.0 Development Kit
-
-usb:v04B4p8614*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
-
-usb:v04B4p861F*
- ID_PRODUCT_FROM_DATABASE=Anysee E30 USB 2.0 DVB-T Receiver
-
-usb:v04B4pBCA1*
- ID_PRODUCT_FROM_DATABASE=Barcode Reader
-
-usb:v04B4pCC04*
- ID_PRODUCT_FROM_DATABASE=Centor USB RACIA-ALVAR USB PORT
-
-usb:v04B4pCC06*
- ID_PRODUCT_FROM_DATABASE=Centor-P RACIA-ALVAR USB PORT
-
-usb:v04B4pD5D5*
- ID_PRODUCT_FROM_DATABASE=CY7C63x0x Zoltrix Z-Boxer GamePad
-
-usb:v04B4pDE61*
- ID_PRODUCT_FROM_DATABASE=Barcode Reader
-
-usb:v04B4pDE64*
- ID_PRODUCT_FROM_DATABASE=Barcode Reader
-
-usb:v04B4pF000*
- ID_PRODUCT_FROM_DATABASE=CY30700 Licorice evaluation board
-
-usb:v04B4pF111*
- ID_PRODUCT_FROM_DATABASE=CY8CKIT-002 PSoC MiniProg3 Rev A Program and debug kit
-
-usb:v04B4pF115*
- ID_PRODUCT_FROM_DATABASE=PSoC FirstTouch Programmer
-
-usb:v04B5*
- ID_VENDOR_FROM_DATABASE=ROHM LSI Systems USA, LLC
-
-usb:v04B5p3064*
- ID_PRODUCT_FROM_DATABASE=Hantek DSO-3064
-
-usb:v04B6*
- ID_VENDOR_FROM_DATABASE=Hint Corp.
-
-usb:v04B7*
- ID_VENDOR_FROM_DATABASE=Compal Electronics, Inc.
-
-usb:v04B8*
- ID_VENDOR_FROM_DATABASE=Seiko Epson Corp.
-
-usb:v04B8p0001*
- ID_PRODUCT_FROM_DATABASE=Stylus Color 740 / Photo 750
-
-usb:v04B8p0002*
- ID_PRODUCT_FROM_DATABASE=ISD Smart Cable for Mac
-
-usb:v04B8p0003*
- ID_PRODUCT_FROM_DATABASE=ISD Smart Cable
-
-usb:v04B8p0004*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04B8p0005*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04B8p0006*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04B8p0007*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04B8p0101*
- ID_PRODUCT_FROM_DATABASE=GT-7000U [Perfection 636]
-
-usb:v04B8p0102*
- ID_PRODUCT_FROM_DATABASE=GT-2200
-
-usb:v04B8p0103*
- ID_PRODUCT_FROM_DATABASE=GT-6600U [Perfection 610]
-
-usb:v04B8p0104*
- ID_PRODUCT_FROM_DATABASE=GT-7600UF [Perfection 1200U/1200U Photo]
-
-usb:v04B8p0105*
- ID_PRODUCT_FROM_DATABASE=Stylus Scan 2000
-
-usb:v04B8p0106*
- ID_PRODUCT_FROM_DATABASE=Stylus Scan 2500
-
-usb:v04B8p0107*
- ID_PRODUCT_FROM_DATABASE=ES-2000 [Expression 1600U]
-
-usb:v04B8p0108*
- ID_PRODUCT_FROM_DATABASE=CC-700
-
-usb:v04B8p0109*
- ID_PRODUCT_FROM_DATABASE=ES-8500 [Expression 1640 XL]
-
-usb:v04B8p010A*
- ID_PRODUCT_FROM_DATABASE=GT-8700/GT-8700F [Perfection 1640SU/1640SU PHOTO]
-
-usb:v04B8p010B*
- ID_PRODUCT_FROM_DATABASE=GT-7700U [Perfection 1240U]
-
-usb:v04B8p010C*
- ID_PRODUCT_FROM_DATABASE=GT-6700U [Perfection 640]
-
-usb:v04B8p010D*
- ID_PRODUCT_FROM_DATABASE=CC-500L
-
-usb:v04B8p010E*
- ID_PRODUCT_FROM_DATABASE=ES-2200 [Perfection 1680]
-
-usb:v04B8p010F*
- ID_PRODUCT_FROM_DATABASE=GT-7200U [Perfection 1250/1250 PHOTO]
-
-usb:v04B8p0110*
- ID_PRODUCT_FROM_DATABASE=GT-8200U/GT-8200UF [Perfection 1650/1650 PHOTO]
-
-usb:v04B8p0112*
- ID_PRODUCT_FROM_DATABASE=GT-9700F [Perfection 2450 PHOTO]
-
-usb:v04B8p0114*
- ID_PRODUCT_FROM_DATABASE=Perfection 660
-
-usb:v04B8p0116*
- ID_PRODUCT_FROM_DATABASE=GT-9400UF [Perfection 3170]
-
-usb:v04B8p0118*
- ID_PRODUCT_FROM_DATABASE=GT-F600 [Perfection 4180]
-
-usb:v04B8p0119*
- ID_PRODUCT_FROM_DATABASE=GT-X750 [Perfection 4490 Photo]
-
-usb:v04B8p011A*
- ID_PRODUCT_FROM_DATABASE=CC-550L [1000 ICS]
-
-usb:v04B8p011B*
- ID_PRODUCT_FROM_DATABASE=GT-9300UF [Perfection 2400 PHOTO]
-
-usb:v04B8p011C*
- ID_PRODUCT_FROM_DATABASE=GT-9800F [Perfection 3200]
-
-usb:v04B8p011D*
- ID_PRODUCT_FROM_DATABASE=GT-7300U [Perfection 1260/1260 PHOTO]
-
-usb:v04B8p011E*
- ID_PRODUCT_FROM_DATABASE=GT-8300UF [Perfection 1660 PHOTO]
-
-usb:v04B8p011F*
- ID_PRODUCT_FROM_DATABASE=GT-8400UF [Perfection 1670/1670 PHOTO]
-
-usb:v04B8p0120*
- ID_PRODUCT_FROM_DATABASE=GT-7400U [Perfection 1270]
-
-usb:v04B8p0121*
- ID_PRODUCT_FROM_DATABASE=GT-F500/GT-F550 [Perfection 2480/2580 PHOTO]
-
-usb:v04B8p0122*
- ID_PRODUCT_FROM_DATABASE=GT-F520/GT-F570 [Perfection 3590 PHOTO]
-
-usb:v04B8p0126*
- ID_PRODUCT_FROM_DATABASE=ES-7000H [GT-15000]
-
-usb:v04B8p0128*
- ID_PRODUCT_FROM_DATABASE=GT-X700 [Perfection 4870]
-
-usb:v04B8p0129*
- ID_PRODUCT_FROM_DATABASE=ES-10000G [Expression 10000XL]
-
-usb:v04B8p012A*
- ID_PRODUCT_FROM_DATABASE=GT-X800 [Perfection 4990 PHOTO]
-
-usb:v04B8p012B*
- ID_PRODUCT_FROM_DATABASE=ES-H300 [GT-2500]
-
-usb:v04B8p012C*
- ID_PRODUCT_FROM_DATABASE=GT-X900 [Perfection V700/V750 Photo]
-
-usb:v04B8p012D*
- ID_PRODUCT_FROM_DATABASE=GT-F650 [GT-S600/Perfection V10/V100]
-
-usb:v04B8p012E*
- ID_PRODUCT_FROM_DATABASE=GT-F670 [Perfection V200 Photo]
-
-usb:v04B8p012F*
- ID_PRODUCT_FROM_DATABASE=GT-F700 [Perfection V350]
-
-usb:v04B8p0130*
- ID_PRODUCT_FROM_DATABASE=GT-X770 [Perfection V500]
-
-usb:v04B8p0131*
- ID_PRODUCT_FROM_DATABASE=GT-F720 [GT-S620/Perfection V30/V300 Photo]
-
-usb:v04B8p0133*
- ID_PRODUCT_FROM_DATABASE=GT-1500 [GT-D1000]
-
-usb:v04B8p0135*
- ID_PRODUCT_FROM_DATABASE=GT-X970
-
-usb:v04B8p0136*
- ID_PRODUCT_FROM_DATABASE=ES-D400 [GT-S80]
-
-usb:v04B8p0137*
- ID_PRODUCT_FROM_DATABASE=ES-D200 [GT-S50]
-
-usb:v04B8p0138*
- ID_PRODUCT_FROM_DATABASE=ES-H7200 [GT-20000]
-
-usb:v04B8p013A*
- ID_PRODUCT_FROM_DATABASE=GT-X820 [Perfection V600 Photo]
-
-usb:v04B8p0142*
- ID_PRODUCT_FROM_DATABASE=GT-F730 [GT-S630/Perfection V33/V330 Photo]
-
-usb:v04B8p0143*
- ID_PRODUCT_FROM_DATABASE=GT-S55
-
-usb:v04B8p0144*
- ID_PRODUCT_FROM_DATABASE=GT-S85
-
-usb:v04B8p0202*
- ID_PRODUCT_FROM_DATABASE=Receipt Printer M129C
-
-usb:v04B8p0401*
- ID_PRODUCT_FROM_DATABASE=CP 800 Digital Camera
-
-usb:v04B8p0402*
- ID_PRODUCT_FROM_DATABASE=PhotoPC 850z
-
-usb:v04B8p0403*
- ID_PRODUCT_FROM_DATABASE=PhotoPC 3000z
-
-usb:v04B8p0509*
- ID_PRODUCT_FROM_DATABASE=JVC PIX-MC10
-
-usb:v04B8p0601*
- ID_PRODUCT_FROM_DATABASE=Stylus Photo 875DC Card Reader
-
-usb:v04B8p0602*
- ID_PRODUCT_FROM_DATABASE=Stylus Photo 895 Card Reader
-
-usb:v04B8p0801*
- ID_PRODUCT_FROM_DATABASE=CC-600PX [Stylus CX5200/CX5400/CX6600]
-
-usb:v04B8p0802*
- ID_PRODUCT_FROM_DATABASE=CC-570L [Stylus CX3100/CX3200]
-
-usb:v04B8p0803*
- ID_PRODUCT_FROM_DATABASE=Printer (Composite Device)
-
-usb:v04B8p0804*
- ID_PRODUCT_FROM_DATABASE=Storage Device
-
-usb:v04B8p0805*
- ID_PRODUCT_FROM_DATABASE=Stylus CX6300/CX6400
-
-usb:v04B8p0806*
- ID_PRODUCT_FROM_DATABASE=PM-A850 [Stylus Photo RX600/610]
-
-usb:v04B8p0807*
- ID_PRODUCT_FROM_DATABASE=Stylus Photo RX500/510
-
-usb:v04B8p0808*
- ID_PRODUCT_FROM_DATABASE=Stylus CX5200/CX5300/CX5400
-
-usb:v04B8p0809*
- ID_PRODUCT_FROM_DATABASE=Storage Device
-
-usb:v04B8p080A*
- ID_PRODUCT_FROM_DATABASE=F-3200
-
-usb:v04B8p080C*
- ID_PRODUCT_FROM_DATABASE=ME100 [Stylus CX1500]
-
-usb:v04B8p080D*
- ID_PRODUCT_FROM_DATABASE=Stylus CX4500/4600
-
-usb:v04B8p080E*
- ID_PRODUCT_FROM_DATABASE=PX-A550 [CX-3500/3600/3650 MFP]
-
-usb:v04B8p080F*
- ID_PRODUCT_FROM_DATABASE=Stylus Photo RX420/RX425/RX430
-
-usb:v04B8p0810*
- ID_PRODUCT_FROM_DATABASE=PM-A900 [Stylus Photo RX700]
-
-usb:v04B8p0811*
- ID_PRODUCT_FROM_DATABASE=PM-A870 [Stylus Photo RX620/RX630]
-
-usb:v04B8p0812*
- ID_PRODUCT_FROM_DATABASE=MFP Composite Device
-
-usb:v04B8p0813*
- ID_PRODUCT_FROM_DATABASE=Stylus CX6500/6600
-
-usb:v04B8p0814*
- ID_PRODUCT_FROM_DATABASE=PM-A700
-
-usb:v04B8p0815*
- ID_PRODUCT_FROM_DATABASE=LP-A500 [AcuLaser CX1]
-
-usb:v04B8p0816*
- ID_PRODUCT_FROM_DATABASE=Printer (Composite Device)
-
-usb:v04B8p0817*
- ID_PRODUCT_FROM_DATABASE=LP-M5500/LP-M5500F
-
-usb:v04B8p0818*
- ID_PRODUCT_FROM_DATABASE=Stylus CX3700/CX3800/DX3800
-
-usb:v04B8p0819*
- ID_PRODUCT_FROM_DATABASE=PX-A650 [Stylus CX4700/CX4800/DX4800/DX4850]
-
-usb:v04B8p081A*
- ID_PRODUCT_FROM_DATABASE=PM-A750 [Stylus Photo RX520/RX530]
-
-usb:v04B8p081B*
- ID_PRODUCT_FROM_DATABASE=MFP Composite Device
-
-usb:v04B8p081C*
- ID_PRODUCT_FROM_DATABASE=PM-A890 [Stylus Photo RX640/RX650]
-
-usb:v04B8p081D*
- ID_PRODUCT_FROM_DATABASE=PM-A950
-
-usb:v04B8p081E*
- ID_PRODUCT_FROM_DATABASE=MFP Composite Device
-
-usb:v04B8p081F*
- ID_PRODUCT_FROM_DATABASE=Stylus CX7700/7800
-
-usb:v04B8p0820*
- ID_PRODUCT_FROM_DATABASE=Stylus CX4100/CX4200/DX4200
-
-usb:v04B8p0821*
- ID_PRODUCT_FROM_DATABASE=Stylus CX5700F/CX5800F
-
-usb:v04B8p0822*
- ID_PRODUCT_FROM_DATABASE=Storage Device
-
-usb:v04B8p0823*
- ID_PRODUCT_FROM_DATABASE=MFP Composite Device
-
-usb:v04B8p0824*
- ID_PRODUCT_FROM_DATABASE=Storage Device
-
-usb:v04B8p0825*
- ID_PRODUCT_FROM_DATABASE=MFP Composite Device
-
-usb:v04B8p0826*
- ID_PRODUCT_FROM_DATABASE=Storage Device
-
-usb:v04B8p0827*
- ID_PRODUCT_FROM_DATABASE=PM-A820 [Stylus Photo RX560/RX580/RX585/RX590]
-
-usb:v04B8p0828*
- ID_PRODUCT_FROM_DATABASE=PM-A970
-
-usb:v04B8p0829*
- ID_PRODUCT_FROM_DATABASE=PM-T990
-
-usb:v04B8p082A*
- ID_PRODUCT_FROM_DATABASE=PM-A920
-
-usb:v04B8p082B*
- ID_PRODUCT_FROM_DATABASE=Stylus CX5900/CX5000/DX5000/DX5050
-
-usb:v04B8p082C*
- ID_PRODUCT_FROM_DATABASE=Storage Device
-
-usb:v04B8p082D*
- ID_PRODUCT_FROM_DATABASE=Storage Device
-
-usb:v04B8p082E*
- ID_PRODUCT_FROM_DATABASE=PX-A720 [Stylus CX5900/CX6000/DX6000]
-
-usb:v04B8p082F*
- ID_PRODUCT_FROM_DATABASE=PX-A620 [Stylus CX3900/DX4000/DX4050]
-
-usb:v04B8p0830*
- ID_PRODUCT_FROM_DATABASE=ME 200 [Stylus CX2800/CX2900]
-
-usb:v04B8p0831*
- ID_PRODUCT_FROM_DATABASE=Stylus CX6900F/CX7000F/DX7000F
-
-usb:v04B8p0832*
- ID_PRODUCT_FROM_DATABASE=MFP Composite Device
-
-usb:v04B8p0833*
- ID_PRODUCT_FROM_DATABASE=LP-M5600
-
-usb:v04B8p0834*
- ID_PRODUCT_FROM_DATABASE=LP-M6000
-
-usb:v04B8p0835*
- ID_PRODUCT_FROM_DATABASE=AcuLaser CX21
-
-usb:v04B8p0836*
- ID_PRODUCT_FROM_DATABASE=PM-T960
-
-usb:v04B8p0837*
- ID_PRODUCT_FROM_DATABASE=PM-A940 [Stylus Photo RX680/RX685/RX690]
-
-usb:v04B8p0838*
- ID_PRODUCT_FROM_DATABASE=PX-A640 [CX7300/CX7400/DX7400]
-
-usb:v04B8p0839*
- ID_PRODUCT_FROM_DATABASE=PX-A740 [CX8300/CX8400/DX8400]
-
-usb:v04B8p083A*
- ID_PRODUCT_FROM_DATABASE=PX-FA700 [CX9300F/CX9400Fax/DX9400F]
-
-usb:v04B8p083B*
- ID_PRODUCT_FROM_DATABASE=MFP Composite Device
-
-usb:v04B8p083C*
- ID_PRODUCT_FROM_DATABASE=PM-A840S [Stylus Photo RX595/RX610]
-
-usb:v04B8p083D*
- ID_PRODUCT_FROM_DATABASE=MFP Composite Device
-
-usb:v04B8p083E*
- ID_PRODUCT_FROM_DATABASE=MFP Composite Device
-
-usb:v04B8p083F*
- ID_PRODUCT_FROM_DATABASE=Stylus CX4300/CX4400/CX5500/CX5600/DX4400/DX4450
-
-usb:v04B8p0841*
- ID_PRODUCT_FROM_DATABASE=PX-401A [ME 300/Stylus NX100]
-
-usb:v04B8p0843*
- ID_PRODUCT_FROM_DATABASE=LP-M5000
-
-usb:v04B8p0844*
- ID_PRODUCT_FROM_DATABASE=EP-901A/EP-901F [Artisan 800/Stylus Photo PX800FW]
-
-usb:v04B8p0846*
- ID_PRODUCT_FROM_DATABASE=EP-801A [Artisan 700/Stylus Photo PX700W/TX700W]
-
-usb:v04B8p0847*
- ID_PRODUCT_FROM_DATABASE=PX-601F [ME Office 700FW/Stylus Office BX600FW/TX600FW]
-
-usb:v04B8p0848*
- ID_PRODUCT_FROM_DATABASE=ME Office 600F/Stylus Office BX300F/TX300F
-
-usb:v04B8p0849*
- ID_PRODUCT_FROM_DATABASE=Stylus SX205
-
-usb:v04B8p084A*
- ID_PRODUCT_FROM_DATABASE=PX-501A [Stylus NX400]
-
-usb:v04B8p084D*
- ID_PRODUCT_FROM_DATABASE=PX-402A [Stylus SX115/Stylus NX110 Series]
-
-usb:v04B8p084F*
- ID_PRODUCT_FROM_DATABASE=ME OFFICE 510
-
-usb:v04B8p0850*
- ID_PRODUCT_FROM_DATABASE=EP-702A [Stylus Photo PX650/TX650 Series]
-
-usb:v04B8p0851*
- ID_PRODUCT_FROM_DATABASE=Stylus SX410
-
-usb:v04B8p0852*
- ID_PRODUCT_FROM_DATABASE=EP-802A [Artisan 710 Series/Stylus Photo PX710W/TX720W Series]
-
-usb:v04B8p0853*
- ID_PRODUCT_FROM_DATABASE=EP-902A [Artisan 810 Series/Stylus Photo PX810FW Series]
-
-usb:v04B8p0854*
- ID_PRODUCT_FROM_DATABASE=ME OFFICE 650FN Series/Stylus Office BX310FN/TX520FN Series
-
-usb:v04B8p0855*
- ID_PRODUCT_FROM_DATABASE=PX-602F [Stylus Office BX610FW/TX620FW Series]
-
-usb:v04B8p0856*
- ID_PRODUCT_FROM_DATABASE=PX-502A [Stylus SX515W]
-
-usb:v04B8p085C*
- ID_PRODUCT_FROM_DATABASE=ME 320/330 Series [Stylus SX125]
-
-usb:v04B8p085D*
- ID_PRODUCT_FROM_DATABASE=PX-603F [ME OFFICE 960FWD Series/Stylus Office BX625FWD/TX620FWD Series]
-
-usb:v04B8p085E*
- ID_PRODUCT_FROM_DATABASE=PX-503A [ME OFFICE 900WD Series/Stylus Office BX525WD]
-
-usb:v04B8p085F*
- ID_PRODUCT_FROM_DATABASE=Stylus Office BX320FW/TX525FW Series
-
-usb:v04B8p0860*
- ID_PRODUCT_FROM_DATABASE=EP-903A/EP-903F [Artisan 835/Stylus Photo PX820FWD Series]
-
-usb:v04B8p0861*
- ID_PRODUCT_FROM_DATABASE=EP-803A/EP-803AW [Artisan 725/Stylus Photo PX720WD/TX720WD Series]
-
-usb:v04B8p0862*
- ID_PRODUCT_FROM_DATABASE=EP-703A [Stylus Photo PX660 Series]
-
-usb:v04B8p0863*
- ID_PRODUCT_FROM_DATABASE=ME OFFICE 620F Series/Stylus Office BX305F/BX305FW/TX320F
-
-usb:v04B8p0864*
- ID_PRODUCT_FROM_DATABASE=ME OFFICE 560W Series
-
-usb:v04B8p0865*
- ID_PRODUCT_FROM_DATABASE=ME OFFICE 520 Series
-
-usb:v04B8p0866*
- ID_PRODUCT_FROM_DATABASE=AcuLaser MX20DN/MX20DNF/MX21DNF
-
-usb:v04B8p0869*
- ID_PRODUCT_FROM_DATABASE=PX-1600F
-
-usb:v04B8p086A*
- ID_PRODUCT_FROM_DATABASE=PX-673F [Stylus Office BX925FWD]
-
-usb:v04B8p0870*
- ID_PRODUCT_FROM_DATABASE=Stylus Office BX305FW Plus
-
-usb:v04B8p0871*
- ID_PRODUCT_FROM_DATABASE=K200 Series
-
-usb:v04B8p0872*
- ID_PRODUCT_FROM_DATABASE=K300 Series
-
-usb:v04B8p0873*
- ID_PRODUCT_FROM_DATABASE=L200 Series
-
-usb:v04B8p0878*
- ID_PRODUCT_FROM_DATABASE=EP-704A
-
-usb:v04B8p0879*
- ID_PRODUCT_FROM_DATABASE=EP-904A/EP-904F [Artisan 837/Stylus Photo PX830FWD Series]
-
-usb:v04B8p087B*
- ID_PRODUCT_FROM_DATABASE=EP-804A/EP-804AR/EP-804AW [Stylus Photo PX730WD/Artisan 730 Series]
-
-usb:v04B8p087C*
- ID_PRODUCT_FROM_DATABASE=PX-1700F
-
-usb:v04B8p087D*
- ID_PRODUCT_FROM_DATABASE=PX-B750F
-
-usb:v04B8p087F*
- ID_PRODUCT_FROM_DATABASE=PX-403A
-
-usb:v04B8p0880*
- ID_PRODUCT_FROM_DATABASE=PX-434A [Stylus NX330 Series]
-
-usb:v04B8p0881*
- ID_PRODUCT_FROM_DATABASE=PX-404A [ME OFFICE 535]
-
-usb:v04B8p0883*
- ID_PRODUCT_FROM_DATABASE=ME 340 Series/Stylus NX130 Series
-
-usb:v04B8p0884*
- ID_PRODUCT_FROM_DATABASE=Stylus NX430W Series
-
-usb:v04B8p0885*
- ID_PRODUCT_FROM_DATABASE=Stylus NX230 Series
-
-usb:v04B8p088F*
- ID_PRODUCT_FROM_DATABASE=Stylus Office BX635FWD
-
-usb:v04B8p0890*
- ID_PRODUCT_FROM_DATABASE=ME OFFICE 940FW Series/Stylus Office BX630FW Series
-
-usb:v04B8p0891*
- ID_PRODUCT_FROM_DATABASE=Stylus Office BX535WD
-
-usb:v04B8p0892*
- ID_PRODUCT_FROM_DATABASE=Stylus Office BX935FWD
-
-usb:v04B8p0893*
- ID_PRODUCT_FROM_DATABASE=EP-774A
-
-usb:v04B9*
- ID_VENDOR_FROM_DATABASE=Rainbow Technologies, Inc.
-
-usb:v04B9p0300*
- ID_PRODUCT_FROM_DATABASE=SafeNet USB SuperPro/UltraPro
-
-usb:v04B9p1000*
- ID_PRODUCT_FROM_DATABASE=iKey 1000 Token
-
-usb:v04B9p1001*
- ID_PRODUCT_FROM_DATABASE=iKey 1200 Token
-
-usb:v04B9p1002*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04B9p1003*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04B9p1004*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04B9p1005*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04B9p1006*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04B9p1200*
- ID_PRODUCT_FROM_DATABASE=iKey 2000 Token
-
-usb:v04B9p1201*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04B9p1202*
- ID_PRODUCT_FROM_DATABASE=iKey 2032 Token
-
-usb:v04B9p1203*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04B9p1204*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04B9p1205*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04B9p1206*
- ID_PRODUCT_FROM_DATABASE=iKey 4000 Token
-
-usb:v04B9p1300*
- ID_PRODUCT_FROM_DATABASE=iKey 3000 Token
-
-usb:v04B9p1301*
- ID_PRODUCT_FROM_DATABASE=iKey 3000
-
-usb:v04B9p1302*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04B9p1303*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04B9p1304*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04B9p1305*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04B9p1306*
- ID_PRODUCT_FROM_DATABASE=iKey Token
-
-usb:v04BA*
- ID_VENDOR_FROM_DATABASE=Toucan Systems, Ltd
-
-usb:v04BB*
- ID_VENDOR_FROM_DATABASE=I-O Data Device, Inc.
-
-usb:v04BBp0101*
- ID_PRODUCT_FROM_DATABASE=USB2-IDE/ATAPI Bridge Adapter
-
-usb:v04BBp0201*
- ID_PRODUCT_FROM_DATABASE=USB2-IDE/ATAPI Bridge Adapter
-
-usb:v04BBp0204*
- ID_PRODUCT_FROM_DATABASE=DVD Multi-plus unit iU-CD2
-
-usb:v04BBp0206*
- ID_PRODUCT_FROM_DATABASE=DVD Multi-plus unit DVR-UEH8
-
-usb:v04BBp0301*
- ID_PRODUCT_FROM_DATABASE=Storage Device
-
-usb:v04BBp0314*
- ID_PRODUCT_FROM_DATABASE=USB-SSMRW SD-card
-
-usb:v04BBp0319*
- ID_PRODUCT_FROM_DATABASE=USB2-IDE/ATAPI Bridge Adapter
-
-usb:v04BBp031A*
- ID_PRODUCT_FROM_DATABASE=USB2-IDE/ATAPI Bridge Adapter
-
-usb:v04BBp031B*
- ID_PRODUCT_FROM_DATABASE=USB2-IDE/ATAPI Bridge Adapter
-
-usb:v04BBp031E*
- ID_PRODUCT_FROM_DATABASE=USB-SDRW SD-card
-
-usb:v04BBp0502*
- ID_PRODUCT_FROM_DATABASE=Nogatech Live! (BT)
-
-usb:v04BBp0528*
- ID_PRODUCT_FROM_DATABASE=GV-USB Video Capture
-
-usb:v04BBp0901*
- ID_PRODUCT_FROM_DATABASE=USB ETT
-
-usb:v04BBp0904*
- ID_PRODUCT_FROM_DATABASE=ET/TX Ethernet [pegasus]
-
-usb:v04BBp0913*
- ID_PRODUCT_FROM_DATABASE=ET/TX-S Ethernet [pegasus2]
-
-usb:v04BBp0919*
- ID_PRODUCT_FROM_DATABASE=USB WN-B11
-
-usb:v04BBp0922*
- ID_PRODUCT_FROM_DATABASE=IOData AirPort WN-B11/USBS 802.11b
-
-usb:v04BBp0930*
- ID_PRODUCT_FROM_DATABASE=ETG-US2
-
-usb:v04BBp0937*
- ID_PRODUCT_FROM_DATABASE=WN-WAG/USL Wireless LAN Adapter
-
-usb:v04BBp0938*
- ID_PRODUCT_FROM_DATABASE=WN-G54/USL Wireless LAN Adapter
-
-usb:v04BBp093B*
- ID_PRODUCT_FROM_DATABASE=WN-GDN/USB
-
-usb:v04BBp093F*
- ID_PRODUCT_FROM_DATABASE=WNGDNUS2 802.11n
-
-usb:v04BBp0944*
- ID_PRODUCT_FROM_DATABASE=WHG-AGDN/US Wireless LAN Adapter
-
-usb:v04BBp0945*
- ID_PRODUCT_FROM_DATABASE=WN-GDN/US3 Wireless LAN Adapter
-
-usb:v04BBp0947*
- ID_PRODUCT_FROM_DATABASE=WN-G150U Wireless LAN Adapter
-
-usb:v04BBp0948*
- ID_PRODUCT_FROM_DATABASE=WN-G300U Wireless LAN Adapter
-
-usb:v04BBp0A03*
- ID_PRODUCT_FROM_DATABASE=Serial USB-RSAQ1
-
-usb:v04BBp0A07*
- ID_PRODUCT_FROM_DATABASE=USB2-iCN Adapter
-
-usb:v04BBp0A08*
- ID_PRODUCT_FROM_DATABASE=USB2-iCN Adapter
-
-usb:v04BBp0C01*
- ID_PRODUCT_FROM_DATABASE=FM-10 Pro Disk
-
-usb:v04BD*
- ID_VENDOR_FROM_DATABASE=Toshiba Electronics Taiwan Corp.
-
-usb:v04BE*
- ID_VENDOR_FROM_DATABASE=Telia Research AB
-
-usb:v04BF*
- ID_VENDOR_FROM_DATABASE=TDK Corp.
-
-usb:v04BFp0100*
- ID_PRODUCT_FROM_DATABASE=MediaReader CF
-
-usb:v04BFp0115*
- ID_PRODUCT_FROM_DATABASE=USB-PDC Adapter UPA9664
-
-usb:v04BFp0116*
- ID_PRODUCT_FROM_DATABASE=USB-cdmaOne Adapter UCA1464
-
-usb:v04BFp0117*
- ID_PRODUCT_FROM_DATABASE=USB-PHS Adapter UHA6400
-
-usb:v04BFp0118*
- ID_PRODUCT_FROM_DATABASE=USB-PHS Adapter UPA6400
-
-usb:v04BFp0135*
- ID_PRODUCT_FROM_DATABASE=MediaReader Dual
-
-usb:v04BFp0202*
- ID_PRODUCT_FROM_DATABASE=73S1121F Smart Card Reader-
-
-usb:v04BFp0309*
- ID_PRODUCT_FROM_DATABASE=Bluetooth USB dongle
-
-usb:v04BFp030A*
- ID_PRODUCT_FROM_DATABASE=IBM Bluetooth Ultraport Module
-
-usb:v04BFp030B*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v04BFp030C*
- ID_PRODUCT_FROM_DATABASE=Ultraport Bluetooth Device
-
-usb:v04BFp0310*
- ID_PRODUCT_FROM_DATABASE=Integrated Bluetooth
-
-usb:v04BFp0311*
- ID_PRODUCT_FROM_DATABASE=Integrated Bluetooth Device
-
-usb:v04BFp0317*
- ID_PRODUCT_FROM_DATABASE=Bluetooth UltraPort Module from IBM
-
-usb:v04BFp0318*
- ID_PRODUCT_FROM_DATABASE=IBM Integrated Bluetooth
-
-usb:v04BFp0319*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Adapter
-
-usb:v04BFp0320*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Adapter
-
-usb:v04BFp0321*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v04BFp0A28*
- ID_PRODUCT_FROM_DATABASE=INDI AV-IN Device
-
-usb:v04C1*
- ID_VENDOR_FROM_DATABASE=U.S. Robotics (3Com)
-
-usb:v04C1p0020*
- ID_PRODUCT_FROM_DATABASE=56K Voice Pro
-
-usb:v04C1p0022*
- ID_PRODUCT_FROM_DATABASE=56K Voice Pro
-
-usb:v04C1p007E*
- ID_PRODUCT_FROM_DATABASE=ISDN TA
-
-usb:v04C1p0082*
- ID_PRODUCT_FROM_DATABASE=OfficeConnect Analog Modem
-
-usb:v04C1p008F*
- ID_PRODUCT_FROM_DATABASE=Pro ISDN TA
-
-usb:v04C1p0097*
- ID_PRODUCT_FROM_DATABASE=OfficeConnect Analog
-
-usb:v04C1p009D*
- ID_PRODUCT_FROM_DATABASE=HomeConnect Webcam [vicam]
-
-usb:v04C1p00A9*
- ID_PRODUCT_FROM_DATABASE=ISDN Pro TA-U
-
-usb:v04C1p00B9*
- ID_PRODUCT_FROM_DATABASE=HomeConnect IDSL Modem
-
-usb:v04C1p3021*
- ID_PRODUCT_FROM_DATABASE=56k Voice FaxModem Pro
-
-usb:v04C2*
- ID_VENDOR_FROM_DATABASE=Methode Electronics Far East PTE, Ltd
-
-usb:v04C3*
- ID_VENDOR_FROM_DATABASE=Maxi Switch, Inc.
-
-usb:v04C3p1102*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v04C3p2102*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v04C4*
- ID_VENDOR_FROM_DATABASE=Lockheed Martin Energy Research
-
-usb:v04C5*
- ID_VENDOR_FROM_DATABASE=Fujitsu, Ltd
-
-usb:v04C5p1029*
- ID_PRODUCT_FROM_DATABASE=fi-4010c Scanner
-
-usb:v04C5p1033*
- ID_PRODUCT_FROM_DATABASE=fi-4110CU
-
-usb:v04C5p1041*
- ID_PRODUCT_FROM_DATABASE=fi-4120c Scanner
-
-usb:v04C5p1042*
- ID_PRODUCT_FROM_DATABASE=fi-4220c Scanner
-
-usb:v04C5p105B*
- ID_PRODUCT_FROM_DATABASE=AH-F401U Air H device
-
-usb:v04C5p1096*
- ID_PRODUCT_FROM_DATABASE=fi-5110EOX
-
-usb:v04C5p1097*
- ID_PRODUCT_FROM_DATABASE=fi-5110C
-
-usb:v04C5p10AE*
- ID_PRODUCT_FROM_DATABASE=fi-4120C2
-
-usb:v04C5p10AF*
- ID_PRODUCT_FROM_DATABASE=fi-4220C2
-
-usb:v04C5p10E0*
- ID_PRODUCT_FROM_DATABASE=fi-5120c Scanner
-
-usb:v04C5p10E1*
- ID_PRODUCT_FROM_DATABASE=fi-5220C
-
-usb:v04C5p10E7*
- ID_PRODUCT_FROM_DATABASE=fi-5900C
-
-usb:v04C5p10FE*
- ID_PRODUCT_FROM_DATABASE=S500
-
-usb:v04C5p1150*
- ID_PRODUCT_FROM_DATABASE=fi-6230
-
-usb:v04C6*
- ID_VENDOR_FROM_DATABASE=Toshiba America Electronic Components
-
-usb:v04C7*
- ID_VENDOR_FROM_DATABASE=Micro Macro Technologies
-
-usb:v04C8*
- ID_VENDOR_FROM_DATABASE=Konica Corp.
-
-usb:v04C8p0720*
- ID_PRODUCT_FROM_DATABASE=Digital Color Camera
-
-usb:v04C8p0721*
- ID_PRODUCT_FROM_DATABASE=e-miniD Camera
-
-usb:v04C8p0722*
- ID_PRODUCT_FROM_DATABASE=e-mini
-
-usb:v04C8p0723*
- ID_PRODUCT_FROM_DATABASE=KD-200Z Camera
-
-usb:v04C8p0726*
- ID_PRODUCT_FROM_DATABASE=KD-310Z Camera
-
-usb:v04C8p0728*
- ID_PRODUCT_FROM_DATABASE=Revio C2 Mass Storage Device
-
-usb:v04C8p0729*
- ID_PRODUCT_FROM_DATABASE=Revio C2 Digital Camera
-
-usb:v04C8p072C*
- ID_PRODUCT_FROM_DATABASE=Revio KD20M
-
-usb:v04C8p072D*
- ID_PRODUCT_FROM_DATABASE=Revio KD410Z
-
-usb:v04CA*
- ID_VENDOR_FROM_DATABASE=Lite-On Technology Corp.
-
-usb:v04CAp1766*
- ID_PRODUCT_FROM_DATABASE=HID Monitor Controls
-
-usb:v04CAp9304*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v04CApF01C*
- ID_PRODUCT_FROM_DATABASE=TT1280DA DVB-T TV Tuner
-
-usb:v04CB*
- ID_VENDOR_FROM_DATABASE=Fuji Photo Film Co., Ltd
-
-usb:v04CBp0100*
- ID_PRODUCT_FROM_DATABASE=FinePix 30i/40i/50i, A101/201, 1300/2200, 1400/2400/2600/2800/4500/4700/4800/4900/6800/6900 Zoom
-
-usb:v04CBp0103*
- ID_PRODUCT_FROM_DATABASE=FinePix NX-500/NX-700 printer
-
-usb:v04CBp0104*
- ID_PRODUCT_FROM_DATABASE=FinePix A101, 2600/2800/4800/6800 Zoom (PC CAM)
-
-usb:v04CBp0108*
- ID_PRODUCT_FROM_DATABASE=FinePix F601 Zoom (DSC)
-
-usb:v04CBp0109*
- ID_PRODUCT_FROM_DATABASE=FinePix F601 Zoom (PC CAM)
-
-usb:v04CBp010A*
- ID_PRODUCT_FROM_DATABASE=FinePix S602 (Pro) Zoom (DSC)
-
-usb:v04CBp010B*
- ID_PRODUCT_FROM_DATABASE=FinePix S602 (Pro) Zoom (PC CAM)
-
-usb:v04CBp010D*
- ID_PRODUCT_FROM_DATABASE=FinePix Digital Camera 020531
-
-usb:v04CBp010E*
- ID_PRODUCT_FROM_DATABASE=FinePix F402 Zoom (DSC)
-
-usb:v04CBp010F*
- ID_PRODUCT_FROM_DATABASE=FinePix F402 Zoom (PC CAM)
-
-usb:v04CBp0110*
- ID_PRODUCT_FROM_DATABASE=FinePix M603 Zoom (DSC)
-
-usb:v04CBp0111*
- ID_PRODUCT_FROM_DATABASE=FinePix M603 Zoom (PC CAM)
-
-usb:v04CBp0112*
- ID_PRODUCT_FROM_DATABASE=FinePix A202, A200 Zoom (DSC)
-
-usb:v04CBp0113*
- ID_PRODUCT_FROM_DATABASE=FinePix A202, A200 Zoom (PC CAM)
-
-usb:v04CBp0114*
- ID_PRODUCT_FROM_DATABASE=FinePix F401 Zoom (DSC)
-
-usb:v04CBp0115*
- ID_PRODUCT_FROM_DATABASE=FinePix F401 Zoom (PC CAM)
-
-usb:v04CBp0116*
- ID_PRODUCT_FROM_DATABASE=FinePix A203 Zoom (DSC)
-
-usb:v04CBp0117*
- ID_PRODUCT_FROM_DATABASE=FinePix A203 Zoom (PC CAM)
-
-usb:v04CBp0118*
- ID_PRODUCT_FROM_DATABASE=FinePix A303 Zoom (DSC)
-
-usb:v04CBp0119*
- ID_PRODUCT_FROM_DATABASE=FinePix A303 Zoom (PC CAM)
-
-usb:v04CBp011A*
- ID_PRODUCT_FROM_DATABASE=FinePix S304/3800 Zoom (DSC)
-
-usb:v04CBp011B*
- ID_PRODUCT_FROM_DATABASE=FinePix S304/3800 Zoom (PC CAM)
-
-usb:v04CBp011C*
- ID_PRODUCT_FROM_DATABASE=FinePix A204/2650 Zoom (DSC)
-
-usb:v04CBp011D*
- ID_PRODUCT_FROM_DATABASE=FinePix A204/2650 Zoom (PC CAM)
-
-usb:v04CBp0120*
- ID_PRODUCT_FROM_DATABASE=FinePix F700 Zoom (DSC)
-
-usb:v04CBp0121*
- ID_PRODUCT_FROM_DATABASE=FinePix F700 Zoom (PC CAM)
-
-usb:v04CBp0122*
- ID_PRODUCT_FROM_DATABASE=FinePix F410 Zoom (DSC)
-
-usb:v04CBp0123*
- ID_PRODUCT_FROM_DATABASE=FinePix F410 Zoom (PC CAM)
-
-usb:v04CBp0124*
- ID_PRODUCT_FROM_DATABASE=FinePix A310 Zoom (DSC)
-
-usb:v04CBp0125*
- ID_PRODUCT_FROM_DATABASE=FinePix A310 Zoom (PC CAM)
-
-usb:v04CBp0126*
- ID_PRODUCT_FROM_DATABASE=FinePix A210 Zoom (DSC)
-
-usb:v04CBp0127*
- ID_PRODUCT_FROM_DATABASE=FinePix A210 Zoom (PC CAM)
-
-usb:v04CBp0128*
- ID_PRODUCT_FROM_DATABASE=FinePix A205(S) Zoom (DSC)
-
-usb:v04CBp0129*
- ID_PRODUCT_FROM_DATABASE=FinePix A205(S) Zoom (PC CAM)
-
-usb:v04CBp012A*
- ID_PRODUCT_FROM_DATABASE=FinePix F610 Zoom (DSC)
-
-usb:v04CBp012B*
- ID_PRODUCT_FROM_DATABASE=FinePix Digital Camera 030513
-
-usb:v04CBp012C*
- ID_PRODUCT_FROM_DATABASE=FinePix S7000 Zoom (DSC)
-
-usb:v04CBp012D*
- ID_PRODUCT_FROM_DATABASE=FinePix S7000 Zoom (PC CAM)
-
-usb:v04CBp012F*
- ID_PRODUCT_FROM_DATABASE=FinePix Digital Camera 030731
-
-usb:v04CBp0130*
- ID_PRODUCT_FROM_DATABASE=FinePix S5000 Zoom (DSC)
-
-usb:v04CBp0131*
- ID_PRODUCT_FROM_DATABASE=FinePix S5000 Zoom (PC CAM)
-
-usb:v04CBp013B*
- ID_PRODUCT_FROM_DATABASE=FinePix Digital Camera 030722
-
-usb:v04CBp013C*
- ID_PRODUCT_FROM_DATABASE=FinePix S3000 Zoom (DSC)
-
-usb:v04CBp013D*
- ID_PRODUCT_FROM_DATABASE=FinePix S3000 Zoom (PC CAM)
-
-usb:v04CBp013E*
- ID_PRODUCT_FROM_DATABASE=FinePix F420 Zoom (DSC)
-
-usb:v04CBp013F*
- ID_PRODUCT_FROM_DATABASE=FinePix F420 Zoom (PC CAM)
-
-usb:v04CBp0142*
- ID_PRODUCT_FROM_DATABASE=FinePix S7000 Zoom (PTP)
-
-usb:v04CBp0148*
- ID_PRODUCT_FROM_DATABASE=FinePix A330 Zoom (DSC)
-
-usb:v04CBp0149*
- ID_PRODUCT_FROM_DATABASE=FinePix A330 Zoom (UVC)
-
-usb:v04CBp014A*
- ID_PRODUCT_FROM_DATABASE=FinePix A330 Zoom (PTP)
-
-usb:v04CBp014B*
- ID_PRODUCT_FROM_DATABASE=FinePix A340 Zoom (DSC)
-
-usb:v04CBp014C*
- ID_PRODUCT_FROM_DATABASE=FinePix A340 Zoom (UVC)
-
-usb:v04CBp0159*
- ID_PRODUCT_FROM_DATABASE=FinePix F710 Zoom (DSC)
-
-usb:v04CBp0165*
- ID_PRODUCT_FROM_DATABASE=FinePix S3500 Zoom (DSC)
-
-usb:v04CBp0168*
- ID_PRODUCT_FROM_DATABASE=FinePix E500 Zoom (DSC)
-
-usb:v04CBp0169*
- ID_PRODUCT_FROM_DATABASE=FinePix E500 Zoom (UVC)
-
-usb:v04CBp016B*
- ID_PRODUCT_FROM_DATABASE=FinePix E510 Zoom (DSC)
-
-usb:v04CBp016C*
- ID_PRODUCT_FROM_DATABASE=FinePix E510 Zoom (PC CAM)
-
-usb:v04CBp016E*
- ID_PRODUCT_FROM_DATABASE=FinePix S5500 Zoom (DSC)
-
-usb:v04CBp016F*
- ID_PRODUCT_FROM_DATABASE=FinePix S5500 Zoom (UVC)
-
-usb:v04CBp0171*
- ID_PRODUCT_FROM_DATABASE=FinePix E550 Zoom (DSC)
-
-usb:v04CBp0172*
- ID_PRODUCT_FROM_DATABASE=FinePix E550 Zoom (UVC)
-
-usb:v04CBp0177*
- ID_PRODUCT_FROM_DATABASE=FinePix F10 (DSC)
-
-usb:v04CBp0179*
- ID_PRODUCT_FROM_DATABASE=Finepix F10 (PTP)
-
-usb:v04CBp0186*
- ID_PRODUCT_FROM_DATABASE=FinePix S5200/S5600 Zoom (DSC)
-
-usb:v04CBp0188*
- ID_PRODUCT_FROM_DATABASE=FinePix S5200/S5600 Zoom (PTP)
-
-usb:v04CBp018E*
- ID_PRODUCT_FROM_DATABASE=FinePix S9500 Zoom (DSC)
-
-usb:v04CBp018F*
- ID_PRODUCT_FROM_DATABASE=FinePix S9500 Zoom (PTP)
-
-usb:v04CBp0192*
- ID_PRODUCT_FROM_DATABASE=FinePix E900 Zoom (DSC)
-
-usb:v04CBp0193*
- ID_PRODUCT_FROM_DATABASE=FinePix E900 Zoom (PTP)
-
-usb:v04CBp019B*
- ID_PRODUCT_FROM_DATABASE=FinePix F30 (PTP)
-
-usb:v04CBp01AF*
- ID_PRODUCT_FROM_DATABASE=FinePix A700 (PTP)
-
-usb:v04CBp01BF*
- ID_PRODUCT_FROM_DATABASE=FinePix F6000fd/S6500fd Zoom (PTP)
-
-usb:v04CBp01C0*
- ID_PRODUCT_FROM_DATABASE=FinePix F20 (PTP)
-
-usb:v04CBp01C1*
- ID_PRODUCT_FROM_DATABASE=FinePix F31fd (PTP)
-
-usb:v04CBp01C4*
- ID_PRODUCT_FROM_DATABASE=FinePix S5700 Zoom (PTP)
-
-usb:v04CBp01C5*
- ID_PRODUCT_FROM_DATABASE=FinePix F40fd (PTP)
-
-usb:v04CBp01C6*
- ID_PRODUCT_FROM_DATABASE=FinePix A820 Zoom (PTP)
-
-usb:v04CBp01D2*
- ID_PRODUCT_FROM_DATABASE=FinePix A800 Zoom (PTP)
-
-usb:v04CBp01D3*
- ID_PRODUCT_FROM_DATABASE=FinePix A920 (PTP)
-
-usb:v04CBp01D4*
- ID_PRODUCT_FROM_DATABASE=FinePix F50fd (PTP)
-
-usb:v04CBp01D5*
- ID_PRODUCT_FROM_DATABASE=FinePix F47 (PTP)
-
-usb:v04CBp01F7*
- ID_PRODUCT_FROM_DATABASE=FinePix J250 (PTP)
-
-usb:v04CBp01FD*
- ID_PRODUCT_FROM_DATABASE=A160
-
-usb:v04CBp023E*
- ID_PRODUCT_FROM_DATABASE=FinePix AX300
-
-usb:v04CBp0240*
- ID_PRODUCT_FROM_DATABASE=FinePix S2950 Digital Camera
-
-usb:v04CBp0241*
- ID_PRODUCT_FROM_DATABASE=FinePix S3200 Digital Camera
-
-usb:v04CC*
- ID_VENDOR_FROM_DATABASE=ST-Ericsson
-
-usb:v04CCp1122*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v04CCp1520*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Hub (Avocent KVM)
-
-usb:v04CCp1521*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Hub
-
-usb:v04CCp1A62*
- ID_PRODUCT_FROM_DATABASE=GW Instek GSP-830 Spectrum Analyzer (HID)
-
-usb:v04CCp2323*
- ID_PRODUCT_FROM_DATABASE=Ux500 serial debug port
-
-usb:v04CCp2533*
- ID_PRODUCT_FROM_DATABASE=NFC device (PN533)
-
-usb:v04CCp8116*
- ID_PRODUCT_FROM_DATABASE=Camera
-
-usb:v04CD*
- ID_VENDOR_FROM_DATABASE=Tatung Co. Of America
-
-usb:v04CE*
- ID_VENDOR_FROM_DATABASE=ScanLogic Corp.
-
-usb:v04CEp0002*
- ID_PRODUCT_FROM_DATABASE=SL11R-IDE IDE Bridge
-
-usb:v04CEp0100*
- ID_PRODUCT_FROM_DATABASE=USB2PRN Printer Class
-
-usb:v04CEp0300*
- ID_PRODUCT_FROM_DATABASE=Phantom 336CX - C3 scanner
-
-usb:v04CEp04CE*
- ID_PRODUCT_FROM_DATABASE=SL11DEMO, VID: 0x4ce, PID: 0x4ce
-
-usb:v04CEp07D1*
- ID_PRODUCT_FROM_DATABASE=SL11R, VID: 0x4ce, PID: 0x07D1
-
-usb:v04CF*
- ID_VENDOR_FROM_DATABASE=Myson Century, Inc.
-
-usb:v04CFp0022*
- ID_PRODUCT_FROM_DATABASE=OCZ Alchemy Series Elixir II Keyboard
-
-usb:v04CFp0800*
- ID_PRODUCT_FROM_DATABASE=MTP800 Mass Storage Device
-
-usb:v04CFp8810*
- ID_PRODUCT_FROM_DATABASE=CS8810 Mass Storage Device
-
-usb:v04CFp8811*
- ID_PRODUCT_FROM_DATABASE=CS8811 Mass Storage Device
-
-usb:v04CFp8813*
- ID_PRODUCT_FROM_DATABASE=CS8813 Mass Storage Device
-
-usb:v04CFp8818*
- ID_PRODUCT_FROM_DATABASE=USB2.0 to ATAPI Bridge Controller
-
-usb:v04CFp8819*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 SD/MMC Reader
-
-usb:v04CFp9920*
- ID_PRODUCT_FROM_DATABASE=CS8819A2-114 Mass Storage Device
-
-usb:v04D0*
- ID_VENDOR_FROM_DATABASE=Digi International
-
-usb:v04D1*
- ID_VENDOR_FROM_DATABASE=ITT Canon
-
-usb:v04D2*
- ID_VENDOR_FROM_DATABASE=Altec Lansing Technologies
-
-usb:v04D2p0070*
- ID_PRODUCT_FROM_DATABASE=ADA70 Speakers
-
-usb:v04D2p0305*
- ID_PRODUCT_FROM_DATABASE=Non-Compliant Audio Device
-
-usb:v04D2p0311*
- ID_PRODUCT_FROM_DATABASE=ADA-310 Speakers
-
-usb:v04D2p2060*
- ID_PRODUCT_FROM_DATABASE=Claritel-i750 - vp
-
-usb:v04D2pFF05*
- ID_PRODUCT_FROM_DATABASE=ADA-305 Speakers
-
-usb:v04D2pFF47*
- ID_PRODUCT_FROM_DATABASE=Lansing HID Audio Controls
-
-usb:v04D2pFF49*
- ID_PRODUCT_FROM_DATABASE=Lansing HID Audio Controls
-
-usb:v04D3*
- ID_VENDOR_FROM_DATABASE=VidUS, Inc.
-
-usb:v04D4*
- ID_VENDOR_FROM_DATABASE=LSI Logic, Inc.
-
-usb:v04D5*
- ID_VENDOR_FROM_DATABASE=Forte Technologies, Inc.
-
-usb:v04D6*
- ID_VENDOR_FROM_DATABASE=Mentor Graphics
-
-usb:v04D7*
- ID_VENDOR_FROM_DATABASE=Oki Semiconductor
-
-usb:v04D7p1BE4*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v04D8*
- ID_VENDOR_FROM_DATABASE=Microchip Technology, Inc.
-
-usb:v04D8p0002*
- ID_PRODUCT_FROM_DATABASE=PicoLCD 20x2
-
-usb:v04D8p0003*
- ID_PRODUCT_FROM_DATABASE=PICkit 2 Microcontroller Programmer
-
-usb:v04D8p000A*
- ID_PRODUCT_FROM_DATABASE=CDC RS-232 Emulation Demo
-
-usb:v04D8p000B*
- ID_PRODUCT_FROM_DATABASE=PIC18F2550 (32K Flashable 10 Channel, 10 Bit A/D USB Microcontroller)
-
-usb:v04D8p0032*
- ID_PRODUCT_FROM_DATABASE=PICkit1
-
-usb:v04D8p0033*
- ID_PRODUCT_FROM_DATABASE=PICkit2
-
-usb:v04D8p0036*
- ID_PRODUCT_FROM_DATABASE=PICkit Serial Analyzer
-
-usb:v04D8p00E0*
- ID_PRODUCT_FROM_DATABASE=PIC32 Starter Board
-
-usb:v04D8p0A04*
- ID_PRODUCT_FROM_DATABASE=AGP LIN Serial Analyzer
-
-usb:v04D8p8000*
- ID_PRODUCT_FROM_DATABASE=In-Circuit Debugger
-
-usb:v04D8p8001*
- ID_PRODUCT_FROM_DATABASE=ICD2 in-circuit debugger
-
-usb:v04D8p8101*
- ID_PRODUCT_FROM_DATABASE=PIC24F Starter Kit
-
-usb:v04D8p8107*
- ID_PRODUCT_FROM_DATABASE=Microstick II
-
-usb:v04D8p900A*
- ID_PRODUCT_FROM_DATABASE=PICkit3
-
-usb:v04D8pC001*
- ID_PRODUCT_FROM_DATABASE=PicoLCD 20x4
-
-usb:v04D8pF8DA*
- ID_PRODUCT_FROM_DATABASE=Hughski Ltd. ColorHug
-
-usb:v04D8pFBBA*
- ID_PRODUCT_FROM_DATABASE=DiscFerret Magnetic Disc Analyser (bootloader mode)
-
-usb:v04D8pFBBB*
- ID_PRODUCT_FROM_DATABASE=DiscFerret Magnetic Disc Analyser (active mode)
-
-usb:v04D8pFC92*
- ID_PRODUCT_FROM_DATABASE=Open Bench Logic Sniffer
-
-usb:v04D8pFFEF*
- ID_PRODUCT_FROM_DATABASE=PICoPLC [APStech]
-
-usb:v04D9*
- ID_VENDOR_FROM_DATABASE=Holtek Semiconductor, Inc.
-
-usb:v04D9p0022*
- ID_PRODUCT_FROM_DATABASE=Portable Keyboard
-
-usb:v04D9p048E*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v04D9p0499*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v04D9p1203*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v04D9p1400*
- ID_PRODUCT_FROM_DATABASE=PS/2 keyboard + mouse controller
-
-usb:v04D9p1503*
- ID_PRODUCT_FROM_DATABASE=Shortboard Lefty
-
-usb:v04D9p1603*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v04D9p2013*
- ID_PRODUCT_FROM_DATABASE=Keyboard [Das Keyboard]
-
-usb:v04D9p2221*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v04D9pA055*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v04DA*
- ID_VENDOR_FROM_DATABASE=Panasonic (Matsushita)
-
-usb:v04DAp0901*
- ID_PRODUCT_FROM_DATABASE=LS-120 Camera
-
-usb:v04DAp0912*
- ID_PRODUCT_FROM_DATABASE=SDR-S10
-
-usb:v04DAp0B01*
- ID_PRODUCT_FROM_DATABASE=CD-R/RW Drive
-
-usb:v04DAp0B03*
- ID_PRODUCT_FROM_DATABASE=SuperDisk 240MB
-
-usb:v04DAp0D01*
- ID_PRODUCT_FROM_DATABASE=CD-R Drive KXL-840AN
-
-usb:v04DAp0D09*
- ID_PRODUCT_FROM_DATABASE=CD-R Drive KXL-RW32AN
-
-usb:v04DAp0D0A*
- ID_PRODUCT_FROM_DATABASE=CD-R Drive KXL-CB20AN
-
-usb:v04DAp0D0D*
- ID_PRODUCT_FROM_DATABASE=CDRCB03
-
-usb:v04DAp0D0E*
- ID_PRODUCT_FROM_DATABASE=DVD-ROM & CD-R/RW
-
-usb:v04DAp0F40*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04DAp104D*
- ID_PRODUCT_FROM_DATABASE=Elite Panaboard UB-T880 (HID)
-
-usb:v04DAp104E*
- ID_PRODUCT_FROM_DATABASE=Elite Panaboard Pen Adaptor (HID)
-
-usb:v04DAp1500*
- ID_PRODUCT_FROM_DATABASE=MFSUSB Driver
-
-usb:v04DAp1800*
- ID_PRODUCT_FROM_DATABASE=DY-WL10 802.11abgn Adapter [Broadcom BCM4323]
-
-usb:v04DAp1B00*
- ID_PRODUCT_FROM_DATABASE=MultiMediaCard
-
-usb:v04DAp2121*
- ID_PRODUCT_FROM_DATABASE=EB-VS6
-
-usb:v04DAp2316*
- ID_PRODUCT_FROM_DATABASE=DVC Mass Storage Device
-
-usb:v04DAp2317*
- ID_PRODUCT_FROM_DATABASE=DVC USB-SERIAL Driver for WinXP
-
-usb:v04DAp2318*
- ID_PRODUCT_FROM_DATABASE=NV-GS11/230/250 (webcam mode)
-
-usb:v04DAp2319*
- ID_PRODUCT_FROM_DATABASE=NV-GS15 (webcam mode)
-
-usb:v04DAp231A*
- ID_PRODUCT_FROM_DATABASE=NV-GS11/230/250 (DV mode)
-
-usb:v04DAp231D*
- ID_PRODUCT_FROM_DATABASE=DVC Web Camera Device
-
-usb:v04DAp231E*
- ID_PRODUCT_FROM_DATABASE=DVC DV Stream Device
-
-usb:v04DAp2372*
- ID_PRODUCT_FROM_DATABASE=Lumix Camera
-
-usb:v04DAp2374*
- ID_PRODUCT_FROM_DATABASE=DMC-FZ18/FZ20
-
-usb:v04DAp2451*
- ID_PRODUCT_FROM_DATABASE=HDC-SD9
-
-usb:v04DAp2497*
- ID_PRODUCT_FROM_DATABASE=HDC-TM700
-
-usb:v04DAp250C*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
-
-usb:v04DAp250D*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem
-
-usb:v04DAp3904*
- ID_PRODUCT_FROM_DATABASE=N5HBZ0000055 802.11abgn Wireless Adapter [Atheros AR7010+AR9280]
-
-usb:v04DAp3C04*
- ID_PRODUCT_FROM_DATABASE=JT-P100MR-20 [ePassport Reader]
-
-usb:v04DB*
- ID_VENDOR_FROM_DATABASE=Hypertec Pty, Ltd
-
-usb:v04DC*
- ID_VENDOR_FROM_DATABASE=Huan Hsin Holdings, Ltd
-
-usb:v04DD*
- ID_VENDOR_FROM_DATABASE=Sharp Corp.
-
-usb:v04DDp13A6*
- ID_PRODUCT_FROM_DATABASE=MFC2000
-
-usb:v04DDp6006*
- ID_PRODUCT_FROM_DATABASE=AL-1216
-
-usb:v04DDp6007*
- ID_PRODUCT_FROM_DATABASE=AL-1045
-
-usb:v04DDp6008*
- ID_PRODUCT_FROM_DATABASE=AL-1255
-
-usb:v04DDp6009*
- ID_PRODUCT_FROM_DATABASE=AL-1530CS
-
-usb:v04DDp600A*
- ID_PRODUCT_FROM_DATABASE=AL-1540CS
-
-usb:v04DDp600B*
- ID_PRODUCT_FROM_DATABASE=AL-1456
-
-usb:v04DDp600C*
- ID_PRODUCT_FROM_DATABASE=AL-1555
-
-usb:v04DDp600D*
- ID_PRODUCT_FROM_DATABASE=AL-1225
-
-usb:v04DDp600E*
- ID_PRODUCT_FROM_DATABASE=AL-1551CS
-
-usb:v04DDp600F*
- ID_PRODUCT_FROM_DATABASE=AR-122E
-
-usb:v04DDp6010*
- ID_PRODUCT_FROM_DATABASE=AR-152E
-
-usb:v04DDp6011*
- ID_PRODUCT_FROM_DATABASE=AR-157E
-
-usb:v04DDp6012*
- ID_PRODUCT_FROM_DATABASE=SN-1045
-
-usb:v04DDp6013*
- ID_PRODUCT_FROM_DATABASE=SN-1255
-
-usb:v04DDp6014*
- ID_PRODUCT_FROM_DATABASE=SN-1456
-
-usb:v04DDp6015*
- ID_PRODUCT_FROM_DATABASE=SN-1555
-
-usb:v04DDp6016*
- ID_PRODUCT_FROM_DATABASE=AR-153E
-
-usb:v04DDp6017*
- ID_PRODUCT_FROM_DATABASE=AR-122E N
-
-usb:v04DDp6018*
- ID_PRODUCT_FROM_DATABASE=AR-153E N
-
-usb:v04DDp6019*
- ID_PRODUCT_FROM_DATABASE=AR-152E N
-
-usb:v04DDp601A*
- ID_PRODUCT_FROM_DATABASE=AR-157E N
-
-usb:v04DDp601B*
- ID_PRODUCT_FROM_DATABASE=AL-1217
-
-usb:v04DDp601C*
- ID_PRODUCT_FROM_DATABASE=AL-1226
-
-usb:v04DDp601D*
- ID_PRODUCT_FROM_DATABASE=AR-123E
-
-usb:v04DDp6021*
- ID_PRODUCT_FROM_DATABASE=IS01
-
-usb:v04DDp7002*
- ID_PRODUCT_FROM_DATABASE=DVC Ver.1.0
-
-usb:v04DDp7004*
- ID_PRODUCT_FROM_DATABASE=VE-CG40U Digital Still Camera
-
-usb:v04DDp7005*
- ID_PRODUCT_FROM_DATABASE=VE-CG30 Digital Still Camera
-
-usb:v04DDp7007*
- ID_PRODUCT_FROM_DATABASE=VL-Z7S Digital Camcorder
-
-usb:v04DDp8004*
- ID_PRODUCT_FROM_DATABASE=Zaurus SL-5000D/SL-5500 PDA
-
-usb:v04DDp8005*
- ID_PRODUCT_FROM_DATABASE=Zaurus A-300
-
-usb:v04DDp8006*
- ID_PRODUCT_FROM_DATABASE=Zaurus SL-B500/SL-5600 PDA
-
-usb:v04DDp8007*
- ID_PRODUCT_FROM_DATABASE=Zaurus C-700 PDA
-
-usb:v04DDp9009*
- ID_PRODUCT_FROM_DATABASE=AR-M160
-
-usb:v04DDp9014*
- ID_PRODUCT_FROM_DATABASE=IM-DR80 Portable NetMD Player
-
-usb:v04DDp9031*
- ID_PRODUCT_FROM_DATABASE=Zaurus C-750/C-760/C-860/SL-C3000 PDA
-
-usb:v04DDp9032*
- ID_PRODUCT_FROM_DATABASE=Zaurus SL-6000
-
-usb:v04DDp903A*
- ID_PRODUCT_FROM_DATABASE=GSM GPRS
-
-usb:v04DDp9050*
- ID_PRODUCT_FROM_DATABASE=Zaurus C-860 PDA
-
-usb:v04DDp9056*
- ID_PRODUCT_FROM_DATABASE=Viewcam Z
-
-usb:v04DDp9073*
- ID_PRODUCT_FROM_DATABASE=AM-900
-
-usb:v04DDp9074*
- ID_PRODUCT_FROM_DATABASE=GSM GPRS
-
-usb:v04DDp90A9*
- ID_PRODUCT_FROM_DATABASE=Sharp Composite
-
-usb:v04DDp90D0*
- ID_PRODUCT_FROM_DATABASE=USB-to-Serial Comm. Port
-
-usb:v04DDp90F2*
- ID_PRODUCT_FROM_DATABASE=Sharp 3G GSM USB Control
-
-usb:v04DDp9120*
- ID_PRODUCT_FROM_DATABASE=WS004SH
-
-usb:v04DDp9122*
- ID_PRODUCT_FROM_DATABASE=WS007SH
-
-usb:v04DDp9123*
- ID_PRODUCT_FROM_DATABASE=W-ZERO3 ES Smartphone
-
-usb:v04DDp91A3*
- ID_PRODUCT_FROM_DATABASE=922SH Internet Machine
-
-usb:v04DDp939A*
- ID_PRODUCT_FROM_DATABASE=IS03
-
-usb:v04DE*
- ID_VENDOR_FROM_DATABASE=MindShare, Inc.
-
-usb:v04DF*
- ID_VENDOR_FROM_DATABASE=Interlink Electronics
-
-usb:v04E1*
- ID_VENDOR_FROM_DATABASE=Iiyama North America, Inc.
-
-usb:v04E1p0201*
- ID_PRODUCT_FROM_DATABASE=Monitor Hub
-
-usb:v04E2*
- ID_VENDOR_FROM_DATABASE=Exar Corp.
-
-usb:v04E3*
- ID_VENDOR_FROM_DATABASE=Zilog, Inc.
-
-usb:v04E4*
- ID_VENDOR_FROM_DATABASE=ACC Microelectronics
-
-usb:v04E5*
- ID_VENDOR_FROM_DATABASE=Promise Technology
-
-usb:v04E6*
- ID_VENDOR_FROM_DATABASE=SCM Microsystems, Inc.
-
-usb:v04E6p0001*
- ID_PRODUCT_FROM_DATABASE=E-USB ATA Bridge
-
-usb:v04E6p0002*
- ID_PRODUCT_FROM_DATABASE=eUSCSI SCSI Bridge
-
-usb:v04E6p0003*
- ID_PRODUCT_FROM_DATABASE=eUSB SmartMedia Card Reader
-
-usb:v04E6p0005*
- ID_PRODUCT_FROM_DATABASE=eUSB SmartMedia/CompactFlash Card Reader
-
-usb:v04E6p0006*
- ID_PRODUCT_FROM_DATABASE=eUSB SmartMedia Card Reader
-
-usb:v04E6p0007*
- ID_PRODUCT_FROM_DATABASE=Hifd
-
-usb:v04E6p0009*
- ID_PRODUCT_FROM_DATABASE=eUSB ATA/ATAPI Adapter
-
-usb:v04E6p000A*
- ID_PRODUCT_FROM_DATABASE=eUSB CompactFlash Adapter
-
-usb:v04E6p000B*
- ID_PRODUCT_FROM_DATABASE=eUSCSI Bridge
-
-usb:v04E6p000C*
- ID_PRODUCT_FROM_DATABASE=eUSCSI Bridge
-
-usb:v04E6p000D*
- ID_PRODUCT_FROM_DATABASE=Dazzle MS
-
-usb:v04E6p0012*
- ID_PRODUCT_FROM_DATABASE=Dazzle SD/MMC
-
-usb:v04E6p0101*
- ID_PRODUCT_FROM_DATABASE=eUSB ATA Bridge (Sony Spressa USB CDRW)
-
-usb:v04E6p0311*
- ID_PRODUCT_FROM_DATABASE=Dazzle DM-CF
-
-usb:v04E6p0312*
- ID_PRODUCT_FROM_DATABASE=Dazzle DM-SD/MMC
-
-usb:v04E6p0313*
- ID_PRODUCT_FROM_DATABASE=Dazzle SM
-
-usb:v04E6p0314*
- ID_PRODUCT_FROM_DATABASE=Dazzle MS
-
-usb:v04E6p0322*
- ID_PRODUCT_FROM_DATABASE=e-Film Reader-5
-
-usb:v04E6p0325*
- ID_PRODUCT_FROM_DATABASE=eUSB ORCA Quad Reader
-
-usb:v04E6p0327*
- ID_PRODUCT_FROM_DATABASE=Digital Media Reader
-
-usb:v04E6p03FE*
- ID_PRODUCT_FROM_DATABASE=DMHS2 DFU Adapter
-
-usb:v04E6p0406*
- ID_PRODUCT_FROM_DATABASE=eUSB SmartDM Reader
-
-usb:v04E6p04E6*
- ID_PRODUCT_FROM_DATABASE=eUSB DFU Adapter
-
-usb:v04E6p04E7*
- ID_PRODUCT_FROM_DATABASE=STCII DFU Adapter
-
-usb:v04E6p04E8*
- ID_PRODUCT_FROM_DATABASE=eUSBDM DFU Adapter
-
-usb:v04E6p04E9*
- ID_PRODUCT_FROM_DATABASE=DM-E DFU Adapter
-
-usb:v04E6p0500*
- ID_PRODUCT_FROM_DATABASE=Veridicom 5thSense Fingerprint Sensor and eUSB SmartCard
-
-usb:v04E6p0701*
- ID_PRODUCT_FROM_DATABASE=DCS200 Loader Device
-
-usb:v04E6p0702*
- ID_PRODUCT_FROM_DATABASE=DVD Creation Station 200
-
-usb:v04E6p0703*
- ID_PRODUCT_FROM_DATABASE=DVC100 Loader Device
-
-usb:v04E6p0704*
- ID_PRODUCT_FROM_DATABASE=Digital Video Creator 100
-
-usb:v04E6p1001*
- ID_PRODUCT_FROM_DATABASE=SCR300 Smart Card Reader
-
-usb:v04E6p1010*
- ID_PRODUCT_FROM_DATABASE=USBAT-2 CompactFlash Card Reader
-
-usb:v04E6p1014*
- ID_PRODUCT_FROM_DATABASE=e-Film Reader-3
-
-usb:v04E6p1020*
- ID_PRODUCT_FROM_DATABASE=USBAT ATA/ATAPI Adapter
-
-usb:v04E6p2007*
- ID_PRODUCT_FROM_DATABASE=RSA SecurID ComboReader
-
-usb:v04E6p2009*
- ID_PRODUCT_FROM_DATABASE=Citibank Smart Card Reader
-
-usb:v04E6p200A*
- ID_PRODUCT_FROM_DATABASE=Reflex v.2 Smart Card Reader
-
-usb:v04E6p200D*
- ID_PRODUCT_FROM_DATABASE=STR391 Reader
-
-usb:v04E6p5111*
- ID_PRODUCT_FROM_DATABASE=SCR331-DI SmartCard Reader
-
-usb:v04E6p5113*
- ID_PRODUCT_FROM_DATABASE=SCR333 SmartCard Reader
-
-usb:v04E6p5114*
- ID_PRODUCT_FROM_DATABASE=SCR331-DI SmartCard Reader
-
-usb:v04E6p5115*
- ID_PRODUCT_FROM_DATABASE=SCR335 SmartCard Reader
-
-usb:v04E6p5116*
- ID_PRODUCT_FROM_DATABASE=SCR331-LC1 / SCR3310 SmartCard Reader
-
-usb:v04E6p5117*
- ID_PRODUCT_FROM_DATABASE=SCR3320 - Smart Card Reader
-
-usb:v04E6p5118*
- ID_PRODUCT_FROM_DATABASE=Expresscard SIM Card Reader
-
-usb:v04E6p5119*
- ID_PRODUCT_FROM_DATABASE=SCR3340 - ExpressCard54 Smart Card Reader
-
-usb:v04E6p511B*
- ID_PRODUCT_FROM_DATABASE=SmartCard Reader
-
-usb:v04E6p511D*
- ID_PRODUCT_FROM_DATABASE=SCR3311 Smart Card Reader
-
-usb:v04E6p5120*
- ID_PRODUCT_FROM_DATABASE=SCR331-DI SmartCard Reader
-
-usb:v04E6p5121*
- ID_PRODUCT_FROM_DATABASE=SDI010 Smart Card Reader
-
-usb:v04E6p5151*
- ID_PRODUCT_FROM_DATABASE=SCR338 Keyboard Smart Card Reader
-
-usb:v04E6p5292*
- ID_PRODUCT_FROM_DATABASE=SCL011 RFID reader
-
-usb:v04E6p5410*
- ID_PRODUCT_FROM_DATABASE=SCR35xx Smart Card Reader
-
-usb:v04E6pE000*
- ID_PRODUCT_FROM_DATABASE=SCRx31 Reader
-
-usb:v04E6pE001*
- ID_PRODUCT_FROM_DATABASE=SCR331 SmartCard Reader
-
-usb:v04E6pE003*
- ID_PRODUCT_FROM_DATABASE=SPR532 PinPad SmartCard Reader
-
-usb:v04E7*
- ID_VENDOR_FROM_DATABASE=Elo TouchSystems
-
-usb:v04E7p0001*
- ID_PRODUCT_FROM_DATABASE=TouchScreen
-
-usb:v04E7p0002*
- ID_PRODUCT_FROM_DATABASE=Touchmonitor Interface 2600 Rev 2
-
-usb:v04E7p0004*
- ID_PRODUCT_FROM_DATABASE=4000U CarrollTouch® Touchmonitor Interface
-
-usb:v04E7p0007*
- ID_PRODUCT_FROM_DATABASE=2500U IntelliTouch® Touchmonitor Interface
-
-usb:v04E7p0008*
- ID_PRODUCT_FROM_DATABASE=3000U AccuTouch® Touchmonitor Interface
-
-usb:v04E7p0009*
- ID_PRODUCT_FROM_DATABASE=4000U CarrollTouch® Touchmonitor Interface
-
-usb:v04E7p0020*
- ID_PRODUCT_FROM_DATABASE=Touchscreen Interface (2700)
-
-usb:v04E7p0021*
- ID_PRODUCT_FROM_DATABASE=Touchmonitor Interface
-
-usb:v04E7p0030*
- ID_PRODUCT_FROM_DATABASE=4500U CarrollTouch® Touchmonitor Interface
-
-usb:v04E7p0032*
- ID_PRODUCT_FROM_DATABASE=Touchmonitor Interface
-
-usb:v04E7p0033*
- ID_PRODUCT_FROM_DATABASE=Touchmonitor Interface
-
-usb:v04E7p0041*
- ID_PRODUCT_FROM_DATABASE=5010 Surface Capacitive Touchmonitor Interface
-
-usb:v04E7p0042*
- ID_PRODUCT_FROM_DATABASE=Touchmonitor Interface
-
-usb:v04E7p0050*
- ID_PRODUCT_FROM_DATABASE=2216 AccuTouch® Touchmonitor Interface
-
-usb:v04E7p0071*
- ID_PRODUCT_FROM_DATABASE=Touchmonitor Interface
-
-usb:v04E7p0072*
- ID_PRODUCT_FROM_DATABASE=Touchmonitor Interface
-
-usb:v04E7p0081*
- ID_PRODUCT_FROM_DATABASE=Touchmonitor Interface
-
-usb:v04E7p0082*
- ID_PRODUCT_FROM_DATABASE=Touchmonitor Interface
-
-usb:v04E7p00FF*
- ID_PRODUCT_FROM_DATABASE=Touchmonitor Interface
-
-usb:v04E8*
- ID_VENDOR_FROM_DATABASE=Samsung Electronics Co., Ltd
-
-usb:v04E8p0100*
- ID_PRODUCT_FROM_DATABASE=Kingston Flash Drive (128MB)
-
-usb:v04E8p0110*
- ID_PRODUCT_FROM_DATABASE=Connect3D Flash Drive
-
-usb:v04E8p0111*
- ID_PRODUCT_FROM_DATABASE=Connect3D Flash Drive
-
-usb:v04E8p1003*
- ID_PRODUCT_FROM_DATABASE=MP3 Player and Recorder
-
-usb:v04E8p1006*
- ID_PRODUCT_FROM_DATABASE=SDC-200Z
-
-usb:v04E8p130C*
- ID_PRODUCT_FROM_DATABASE=NX100
-
-usb:v04E8p1F06*
- ID_PRODUCT_FROM_DATABASE=HX-MU064DA portable harddisk
-
-usb:v04E8p2018*
- ID_PRODUCT_FROM_DATABASE=WIS09ABGN LinkStick Wireless LAN Adapter
-
-usb:v04E8p2035*
- ID_PRODUCT_FROM_DATABASE=Digital Photo Frame Mass Storage
-
-usb:v04E8p2036*
- ID_PRODUCT_FROM_DATABASE=Digital Photo Frame Mini Monitor
-
-usb:v04E8p3004*
- ID_PRODUCT_FROM_DATABASE=ML-4600
-
-usb:v04E8p3005*
- ID_PRODUCT_FROM_DATABASE=Docuprint P1210
-
-usb:v04E8p3008*
- ID_PRODUCT_FROM_DATABASE=ML-6060 laser printer
-
-usb:v04E8p300C*
- ID_PRODUCT_FROM_DATABASE=ML-1210 Printer
-
-usb:v04E8p300E*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v04E8p3104*
- ID_PRODUCT_FROM_DATABASE=ML-3550N
-
-usb:v04E8p3210*
- ID_PRODUCT_FROM_DATABASE=ML-5200A Laser Printer
-
-usb:v04E8p3226*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v04E8p3228*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v04E8p322A*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v04E8p322C*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v04E8p3230*
- ID_PRODUCT_FROM_DATABASE=ML-1440
-
-usb:v04E8p3232*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v04E8p3236*
- ID_PRODUCT_FROM_DATABASE=ML-1450
-
-usb:v04E8p3238*
- ID_PRODUCT_FROM_DATABASE=ML-1430
-
-usb:v04E8p323A*
- ID_PRODUCT_FROM_DATABASE=ML-1710 Printer
-
-usb:v04E8p323B*
- ID_PRODUCT_FROM_DATABASE=Phaser 3130
-
-usb:v04E8p323C*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v04E8p323D*
- ID_PRODUCT_FROM_DATABASE=Phaser 3120
-
-usb:v04E8p323E*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v04E8p3240*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v04E8p3242*
- ID_PRODUCT_FROM_DATABASE=ML-1510 Laser Printer
-
-usb:v04E8p3248*
- ID_PRODUCT_FROM_DATABASE=Color Laser Printer
-
-usb:v04E8p324A*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v04E8p324C*
- ID_PRODUCT_FROM_DATABASE=ML-1740 Printer
-
-usb:v04E8p324D*
- ID_PRODUCT_FROM_DATABASE=Phaser 3121
-
-usb:v04E8p3256*
- ID_PRODUCT_FROM_DATABASE=ML-1520 Laser Printer
-
-usb:v04E8p325B*
- ID_PRODUCT_FROM_DATABASE=Xerox Phaser 3117 Laser Printer
-
-usb:v04E8p325F*
- ID_PRODUCT_FROM_DATABASE=Phaser 3425 Laser Printer
-
-usb:v04E8p3260*
- ID_PRODUCT_FROM_DATABASE=CLP-510 Color Laser Printer
-
-usb:v04E8p3268*
- ID_PRODUCT_FROM_DATABASE=ML-1610 Mono Laser Printer
-
-usb:v04E8p326C*
- ID_PRODUCT_FROM_DATABASE=ML-2010P Mono Laser Printer
-
-usb:v04E8p3276*
- ID_PRODUCT_FROM_DATABASE=ML-3050/ML-3051 Laser Printer
-
-usb:v04E8p328E*
- ID_PRODUCT_FROM_DATABASE=CLP-310 Color Laser Printer
-
-usb:v04E8p3292*
- ID_PRODUCT_FROM_DATABASE=ML-1640 Series Laser Printer
-
-usb:v04E8p3296*
- ID_PRODUCT_FROM_DATABASE=ML-2580N Mono Laser Printer
-
-usb:v04E8p3297*
- ID_PRODUCT_FROM_DATABASE=ML-191x/ML-252x Laser Printer
-
-usb:v04E8p330C*
- ID_PRODUCT_FROM_DATABASE=ML-1865
-
-usb:v04E8p3310*
- ID_PRODUCT_FROM_DATABASE=ML-331x Series Laser Printer
-
-usb:v04E8p3315*
- ID_PRODUCT_FROM_DATABASE=ML-2540 Series Laser Printer
-
-usb:v04E8p3409*
- ID_PRODUCT_FROM_DATABASE=SCX-4216F Scanner
-
-usb:v04E8p340C*
- ID_PRODUCT_FROM_DATABASE=SCX-5x15 series
-
-usb:v04E8p340D*
- ID_PRODUCT_FROM_DATABASE=SCX-6x20 series
-
-usb:v04E8p340E*
- ID_PRODUCT_FROM_DATABASE=MFP 560 series
-
-usb:v04E8p340F*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v04E8p3412*
- ID_PRODUCT_FROM_DATABASE=SCX-4x20 series
-
-usb:v04E8p3413*
- ID_PRODUCT_FROM_DATABASE=SCX-4100 Scanner
-
-usb:v04E8p3415*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v04E8p3419*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v04E8p341A*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v04E8p341B*
- ID_PRODUCT_FROM_DATABASE=SCX-4200 series
-
-usb:v04E8p341C*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v04E8p341D*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v04E8p341F*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v04E8p3420*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v04E8p3426*
- ID_PRODUCT_FROM_DATABASE=SCX-4500 Laser Printer
-
-usb:v04E8p3605*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v04E8p3606*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v04E8p3609*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v04E8p3902*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v04E8p3903*
- ID_PRODUCT_FROM_DATABASE=Xerox WorkCentre XK50cx
-
-usb:v04E8p390F*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v04E8p3911*
- ID_PRODUCT_FROM_DATABASE=SCX-1020 series
-
-usb:v04E8p4005*
- ID_PRODUCT_FROM_DATABASE=GT-S8000 Jet (msc)
-
-usb:v04E8p4F1F*
- ID_PRODUCT_FROM_DATABASE=GT-S8000 Jet (mtp)
-
-usb:v04E8p5000*
- ID_PRODUCT_FROM_DATABASE=YP-MF series
-
-usb:v04E8p5001*
- ID_PRODUCT_FROM_DATABASE=YP-100
-
-usb:v04E8p5002*
- ID_PRODUCT_FROM_DATABASE=YP-30
-
-usb:v04E8p5003*
- ID_PRODUCT_FROM_DATABASE=YP-700
-
-usb:v04E8p5004*
- ID_PRODUCT_FROM_DATABASE=YP-30
-
-usb:v04E8p5005*
- ID_PRODUCT_FROM_DATABASE=YP-300
-
-usb:v04E8p5006*
- ID_PRODUCT_FROM_DATABASE=YP-750
-
-usb:v04E8p500D*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v04E8p5010*
- ID_PRODUCT_FROM_DATABASE=Yepp YP-35
-
-usb:v04E8p5011*
- ID_PRODUCT_FROM_DATABASE=YP-780
-
-usb:v04E8p5013*
- ID_PRODUCT_FROM_DATABASE=YP-60
-
-usb:v04E8p5015*
- ID_PRODUCT_FROM_DATABASE=yepp upgrade
-
-usb:v04E8p501B*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v04E8p5021*
- ID_PRODUCT_FROM_DATABASE=Yepp YP-ST5
-
-usb:v04E8p5026*
- ID_PRODUCT_FROM_DATABASE=YP-MT6V
-
-usb:v04E8p5027*
- ID_PRODUCT_FROM_DATABASE=YP-T7
-
-usb:v04E8p502B*
- ID_PRODUCT_FROM_DATABASE=YP-F1
-
-usb:v04E8p5032*
- ID_PRODUCT_FROM_DATABASE=YP-J70
-
-usb:v04E8p503B*
- ID_PRODUCT_FROM_DATABASE=YP-U1 MP3 Player
-
-usb:v04E8p503D*
- ID_PRODUCT_FROM_DATABASE=YP-T7F
-
-usb:v04E8p5041*
- ID_PRODUCT_FROM_DATABASE=YP-Z5
-
-usb:v04E8p5050*
- ID_PRODUCT_FROM_DATABASE=YP-U2 MP3 Player
-
-usb:v04E8p5051*
- ID_PRODUCT_FROM_DATABASE=YP-F2R
-
-usb:v04E8p5055*
- ID_PRODUCT_FROM_DATABASE=YP-T9
-
-usb:v04E8p507D*
- ID_PRODUCT_FROM_DATABASE=YP-U3 (mtp)
-
-usb:v04E8p507F*
- ID_PRODUCT_FROM_DATABASE=YP-T9J
-
-usb:v04E8p5080*
- ID_PRODUCT_FROM_DATABASE=Yepp YP-K3 (msc)
-
-usb:v04E8p5081*
- ID_PRODUCT_FROM_DATABASE=Yepp YP-K3 (mtp)
-
-usb:v04E8p5082*
- ID_PRODUCT_FROM_DATABASE=YP-P2 (msc)
-
-usb:v04E8p5083*
- ID_PRODUCT_FROM_DATABASE=YP-P2 (mtp)
-
-usb:v04E8p508A*
- ID_PRODUCT_FROM_DATABASE=YP-T10
-
-usb:v04E8p508B*
- ID_PRODUCT_FROM_DATABASE=YP-S5 MP3 Player
-
-usb:v04E8p508C*
- ID_PRODUCT_FROM_DATABASE=YP-S5
-
-usb:v04E8p5090*
- ID_PRODUCT_FROM_DATABASE=YP-S3 (msc)
-
-usb:v04E8p5091*
- ID_PRODUCT_FROM_DATABASE=YP-S3 (mtp)
-
-usb:v04E8p5092*
- ID_PRODUCT_FROM_DATABASE=YP-U4 (msc)
-
-usb:v04E8p5093*
- ID_PRODUCT_FROM_DATABASE=YP-U4 (mtp)
-
-usb:v04E8p5095*
- ID_PRODUCT_FROM_DATABASE=YP-S2
-
-usb:v04E8p510F*
- ID_PRODUCT_FROM_DATABASE=YP-R1
-
-usb:v04E8p5119*
- ID_PRODUCT_FROM_DATABASE=Yepp YP-P3
-
-usb:v04E8p511C*
- ID_PRODUCT_FROM_DATABASE=YP-Q2
-
-usb:v04E8p5121*
- ID_PRODUCT_FROM_DATABASE=YP-U5
-
-usb:v04E8p5123*
- ID_PRODUCT_FROM_DATABASE=Yepp YP-M1
-
-usb:v04E8p5A00*
- ID_PRODUCT_FROM_DATABASE=YP-NEU
-
-usb:v04E8p5A01*
- ID_PRODUCT_FROM_DATABASE=YP-NDU
-
-usb:v04E8p5A03*
- ID_PRODUCT_FROM_DATABASE=Yepp MP3 Player
-
-usb:v04E8p5A04*
- ID_PRODUCT_FROM_DATABASE=YP-800
-
-usb:v04E8p5A08*
- ID_PRODUCT_FROM_DATABASE=YP-90
-
-usb:v04E8p5A0F*
- ID_PRODUCT_FROM_DATABASE=Meizu M6 MiniPlayer
-
-usb:v04E8p5B01*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Reader/Writer
-
-usb:v04E8p5B02*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Reader/Writer
-
-usb:v04E8p5B03*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Reader/Writer
-
-usb:v04E8p5B04*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Reader/Writer
-
-usb:v04E8p5B05*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Reader/Writer
-
-usb:v04E8p5B11*
- ID_PRODUCT_FROM_DATABASE=SEW-2001u Card
-
-usb:v04E8p5F00*
- ID_PRODUCT_FROM_DATABASE=NEXiO Sync
-
-usb:v04E8p5F01*
- ID_PRODUCT_FROM_DATABASE=NEXiO Sync
-
-usb:v04E8p5F02*
- ID_PRODUCT_FROM_DATABASE=NEXiO Sync
-
-usb:v04E8p5F03*
- ID_PRODUCT_FROM_DATABASE=NEXiO Sync
-
-usb:v04E8p5F04*
- ID_PRODUCT_FROM_DATABASE=NEXiO Sync
-
-usb:v04E8p5F05*
- ID_PRODUCT_FROM_DATABASE=STORY Station 1TB
-
-usb:v04E8p6032*
- ID_PRODUCT_FROM_DATABASE=G2 Portable hard drive
-
-usb:v04E8p60B3*
- ID_PRODUCT_FROM_DATABASE=M2 Portable Hard Drive
-
-usb:v04E8p60C4*
- ID_PRODUCT_FROM_DATABASE=M2 Portable Hard Drive USB 3.0
-
-usb:v04E8p6601*
- ID_PRODUCT_FROM_DATABASE=Mobile Phone
-
-usb:v04E8p6602*
- ID_PRODUCT_FROM_DATABASE=Galaxy
-
-usb:v04E8p6603*
- ID_PRODUCT_FROM_DATABASE=Galaxy
-
-usb:v04E8p6611*
- ID_PRODUCT_FROM_DATABASE=MITs Sync
-
-usb:v04E8p6613*
- ID_PRODUCT_FROM_DATABASE=MITs Sync
-
-usb:v04E8p6615*
- ID_PRODUCT_FROM_DATABASE=MITs Sync
-
-usb:v04E8p6617*
- ID_PRODUCT_FROM_DATABASE=MITs Sync
-
-usb:v04E8p6619*
- ID_PRODUCT_FROM_DATABASE=MITs Sync
-
-usb:v04E8p661B*
- ID_PRODUCT_FROM_DATABASE=MITs Sync
-
-usb:v04E8p661E*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v04E8p6620*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v04E8p6622*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v04E8p6624*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v04E8p662E*
- ID_PRODUCT_FROM_DATABASE=MITs Sync
-
-usb:v04E8p6630*
- ID_PRODUCT_FROM_DATABASE=MITs Sync
-
-usb:v04E8p6632*
- ID_PRODUCT_FROM_DATABASE=MITs Sync
-
-usb:v04E8p663E*
- ID_PRODUCT_FROM_DATABASE=D900e Phone
-
-usb:v04E8p663F*
- ID_PRODUCT_FROM_DATABASE=SGH-E720/SGH-E840
-
-usb:v04E8p6640*
- ID_PRODUCT_FROM_DATABASE=Usb Modem Enumerator
-
-usb:v04E8p6702*
- ID_PRODUCT_FROM_DATABASE=X830
-
-usb:v04E8p6708*
- ID_PRODUCT_FROM_DATABASE=U600 Phone
-
-usb:v04E8p6709*
- ID_PRODUCT_FROM_DATABASE=U600
-
-usb:v04E8p6734*
- ID_PRODUCT_FROM_DATABASE=Juke
-
-usb:v04E8p6759*
- ID_PRODUCT_FROM_DATABASE=D900e Media Player
-
-usb:v04E8p675A*
- ID_PRODUCT_FROM_DATABASE=D900e Mass Storage
-
-usb:v04E8p675B*
- ID_PRODUCT_FROM_DATABASE=D900e Camera
-
-usb:v04E8p6772*
- ID_PRODUCT_FROM_DATABASE=Standalone LTE device (Trial)
-
-usb:v04E8p6795*
- ID_PRODUCT_FROM_DATABASE=S5230
-
-usb:v04E8p6802*
- ID_PRODUCT_FROM_DATABASE=Standalone HSPA device
-
-usb:v04E8p6806*
- ID_PRODUCT_FROM_DATABASE=Composite LTE device (Trial)
-
-usb:v04E8p6807*
- ID_PRODUCT_FROM_DATABASE=Composite HSPA device
-
-usb:v04E8p681C*
- ID_PRODUCT_FROM_DATABASE=Galaxy Portal/Spica/S
-
-usb:v04E8p681D*
- ID_PRODUCT_FROM_DATABASE=Galaxy Portal/Spica Android Phone
-
-usb:v04E8p684E*
- ID_PRODUCT_FROM_DATABASE=Wave (GT-S8500)
-
-usb:v04E8p685B*
- ID_PRODUCT_FROM_DATABASE=GT-I9100 Phone [Galaxy S II] (mass storage mode)
-
-usb:v04E8p685C*
- ID_PRODUCT_FROM_DATABASE=GT-I9250 Phone [Galaxy Nexus]
-
-usb:v04E8p685E*
- ID_PRODUCT_FROM_DATABASE=GT-I9100 Phone [Galaxy S II] (USB Debugging mode)
-
-usb:v04E8p6860*
- ID_PRODUCT_FROM_DATABASE=GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1]
-
-usb:v04E8p6865*
- ID_PRODUCT_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (PTP mode)
-
-usb:v04E8p6866*
- ID_PRODUCT_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (debugging mode)
-
-usb:v04E8p6875*
- ID_PRODUCT_FROM_DATABASE=GT-B3710 Standalone LTE device (Commercial)
-
-usb:v04E8p6876*
- ID_PRODUCT_FROM_DATABASE=GT-B3710 LTE Modem
-
-usb:v04E8p6877*
- ID_PRODUCT_FROM_DATABASE=Galaxy S
-
-usb:v04E8p6888*
- ID_PRODUCT_FROM_DATABASE=GT-B3730 Composite LTE device (Commercial)
-
-usb:v04E8p6889*
- ID_PRODUCT_FROM_DATABASE=GT-B3730 Composite LTE device (Commercial)
-
-usb:v04E8p689A*
- ID_PRODUCT_FROM_DATABASE=LTE Storage Driver [CMC2xx]
-
-usb:v04E8p689E*
- ID_PRODUCT_FROM_DATABASE=GT-S5670 [Galaxy Fit]
-
-usb:v04E8p68AA*
- ID_PRODUCT_FROM_DATABASE=Reality
-
-usb:v04E8p7011*
- ID_PRODUCT_FROM_DATABASE=SEW-2003U Card
-
-usb:v04E8p7021*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v04E8p7061*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v04E8p7080*
- ID_PRODUCT_FROM_DATABASE=Anycall SCH-W580
-
-usb:v04E8p7081*
- ID_PRODUCT_FROM_DATABASE=Human Interface Device
-
-usb:v04E8p8001*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v04E8pE020*
- ID_PRODUCT_FROM_DATABASE=SERI E02 SCOM 6200 UMTS Phone
-
-usb:v04E8pE021*
- ID_PRODUCT_FROM_DATABASE=SERI E02 SCOM 6200 Virtual UARTs
-
-usb:v04E8pE022*
- ID_PRODUCT_FROM_DATABASE=SERI E02 SCOM 6200 Flash Load Disk
-
-usb:v04E8pFF30*
- ID_PRODUCT_FROM_DATABASE=SG_iMON
-
-usb:v04E9*
- ID_VENDOR_FROM_DATABASE=PC-Tel, Inc.
-
-usb:v04EA*
- ID_VENDOR_FROM_DATABASE=Brooktree Corp.
-
-usb:v04EB*
- ID_VENDOR_FROM_DATABASE=Northstar Systems, Inc.
-
-usb:v04EBpE004*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Transceiver
-
-usb:v04EC*
- ID_VENDOR_FROM_DATABASE=Tokyo Electron Device, Ltd
-
-usb:v04ED*
- ID_VENDOR_FROM_DATABASE=Annabooks
-
-usb:v04EF*
- ID_VENDOR_FROM_DATABASE=Pacific Electronic International, Inc.
-
-usb:v04F0*
- ID_VENDOR_FROM_DATABASE=Daewoo Electronics Co., Ltd
-
-usb:v04F1*
- ID_VENDOR_FROM_DATABASE=Victor Company of Japan, Ltd
-
-usb:v04F1p0001*
- ID_PRODUCT_FROM_DATABASE=GC-QX3 Digital Still Camera
-
-usb:v04F1p0004*
- ID_PRODUCT_FROM_DATABASE=GR-DVL815U Digital Video Camera
-
-usb:v04F1p0006*
- ID_PRODUCT_FROM_DATABASE=DV Camera Storage
-
-usb:v04F1p0008*
- ID_PRODUCT_FROM_DATABASE=GZ-MG30AA/MC500E Digital Video Camera
-
-usb:v04F1p0009*
- ID_PRODUCT_FROM_DATABASE=GR-DX25EK Digital Video Camera
-
-usb:v04F1p000A*
- ID_PRODUCT_FROM_DATABASE=GR-D72 Digital Video Camera
-
-usb:v04F1p1001*
- ID_PRODUCT_FROM_DATABASE=GC-A50 Camera Device
-
-usb:v04F1p3008*
- ID_PRODUCT_FROM_DATABASE=MP-PRX1 Ethernet
-
-usb:v04F1p3009*
- ID_PRODUCT_FROM_DATABASE=MP-XP7250 WLAN Adapter
-
-usb:v04F2*
- ID_VENDOR_FROM_DATABASE=Chicony Electronics Co., Ltd
-
-usb:v04F2p0001*
- ID_PRODUCT_FROM_DATABASE=KU-8933 Keyboard
-
-usb:v04F2p0002*
- ID_PRODUCT_FROM_DATABASE=NT68P81 Keyboard
-
-usb:v04F2p0110*
- ID_PRODUCT_FROM_DATABASE=KU-2971 Keyboard
-
-usb:v04F2p0111*
- ID_PRODUCT_FROM_DATABASE=KU-9908 Keyboard
-
-usb:v04F2p0112*
- ID_PRODUCT_FROM_DATABASE=KU-8933 Keyboard with PS/2 Mouse port
-
-usb:v04F2p0116*
- ID_PRODUCT_FROM_DATABASE=KU-2971/KU-0325 Keyboard
-
-usb:v04F2p0200*
- ID_PRODUCT_FROM_DATABASE=KBR-0108
-
-usb:v04F2p0201*
- ID_PRODUCT_FROM_DATABASE=Gaming Keyboard KPD0250
-
-usb:v04F2p0220*
- ID_PRODUCT_FROM_DATABASE=Wireless HID Receiver
-
-usb:v04F2p0402*
- ID_PRODUCT_FROM_DATABASE=Genius LuxeMate i200 Keyboard
-
-usb:v04F2p0403*
- ID_PRODUCT_FROM_DATABASE=KU-0420 keyboard
-
-usb:v04F2p0418*
- ID_PRODUCT_FROM_DATABASE=KU-0418 Tactical Pad
-
-usb:v04F2p0760*
- ID_PRODUCT_FROM_DATABASE=Acer KU-0760 Keyboard
-
-usb:v04F2p0841*
- ID_PRODUCT_FROM_DATABASE=HP Multimedia Keyboard
-
-usb:v04F2p0860*
- ID_PRODUCT_FROM_DATABASE=2.4G Multimedia Wireless Kit
-
-usb:v04F2pA001*
- ID_PRODUCT_FROM_DATABASE=E-Video DC-100 Camera
-
-usb:v04F2pA120*
- ID_PRODUCT_FROM_DATABASE=ORITE CCD Webcam(PC370R)
-
-usb:v04F2pA121*
- ID_PRODUCT_FROM_DATABASE=ORITE CCD Webcam(PC370R)
-
-usb:v04F2pA122*
- ID_PRODUCT_FROM_DATABASE=ORITE CCD Webcam(PC370R)
-
-usb:v04F2pA123*
- ID_PRODUCT_FROM_DATABASE=ORITE CCD Webcam(PC370R)
-
-usb:v04F2pA124*
- ID_PRODUCT_FROM_DATABASE=ORITE CCD Webcam(PC370R)
-
-usb:v04F2pA128*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C202 + OV7663 + EEPROM)
-
-usb:v04F2pA133*
- ID_PRODUCT_FROM_DATABASE=Gateway Webcam
-
-usb:v04F2pA136*
- ID_PRODUCT_FROM_DATABASE=LabTec Webcam 5500
-
-usb:v04F2pA204*
- ID_PRODUCT_FROM_DATABASE=DSC WIA Device (1300)
-
-usb:v04F2pA208*
- ID_PRODUCT_FROM_DATABASE=DSC WIA Device (2320)
-
-usb:v04F2pA209*
- ID_PRODUCT_FROM_DATABASE=Labtec DC-2320
-
-usb:v04F2pA20A*
- ID_PRODUCT_FROM_DATABASE=DSC WIA Device (3310)
-
-usb:v04F2pA20C*
- ID_PRODUCT_FROM_DATABASE=DSC WIA Device (3320)
-
-usb:v04F2pA210*
- ID_PRODUCT_FROM_DATABASE=Audio Device
-
-usb:v04F2pB008*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Camera
-
-usb:v04F2pB009*
- ID_PRODUCT_FROM_DATABASE=Integrated Camera
-
-usb:v04F2pB010*
- ID_PRODUCT_FROM_DATABASE=Integrated Camera
-
-usb:v04F2pB012*
- ID_PRODUCT_FROM_DATABASE=1.3 MPixel UVC Webcam
-
-usb:v04F2pB013*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Camera
-
-usb:v04F2pB015*
- ID_PRODUCT_FROM_DATABASE=VGA 24fps UVC Webcam
-
-usb:v04F2pB016*
- ID_PRODUCT_FROM_DATABASE=VGA 30fps UVC Webcam
-
-usb:v04F2pB018*
- ID_PRODUCT_FROM_DATABASE=2M UVC Webcam
-
-usb:v04F2pB021*
- ID_PRODUCT_FROM_DATABASE=ViewSonic 1.3M, USB2.0 Webcam
-
-usb:v04F2pB022*
- ID_PRODUCT_FROM_DATABASE=Gateway USB 2.0 Webcam
-
-usb:v04F2pB023*
- ID_PRODUCT_FROM_DATABASE=Gateway USB 2.0 Webcam
-
-usb:v04F2pB024*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Webcam
-
-usb:v04F2pB025*
- ID_PRODUCT_FROM_DATABASE=Camera
-
-usb:v04F2pB027*
- ID_PRODUCT_FROM_DATABASE=Gateway USB 2.0 Webcam
-
-usb:v04F2pB028*
- ID_PRODUCT_FROM_DATABASE=VGA UVC Webcam
-
-usb:v04F2pB029*
- ID_PRODUCT_FROM_DATABASE=1.3M UVC Webcam
-
-usb:v04F2pB036*
- ID_PRODUCT_FROM_DATABASE=Asus Integrated 0.3M UVC Webcam
-
-usb:v04F2pB044*
- ID_PRODUCT_FROM_DATABASE=Acer CrystalEye Webcam
-
-usb:v04F2pB057*
- ID_PRODUCT_FROM_DATABASE=integrated USB webcam
-
-usb:v04F2pB059*
- ID_PRODUCT_FROM_DATABASE=CKF7037 HP webcam
-
-usb:v04F2pB071*
- ID_PRODUCT_FROM_DATABASE=2.0M UVC Webcam / CNF7129
-
-usb:v04F2pB091*
- ID_PRODUCT_FROM_DATABASE=Webcam
-
-usb:v04F2pB104*
- ID_PRODUCT_FROM_DATABASE=CNF7069 Webcam
-
-usb:v04F2pB107*
- ID_PRODUCT_FROM_DATABASE=CNF7070 Webcam
-
-usb:v04F2pB14C*
- ID_PRODUCT_FROM_DATABASE=CNF8050 Webcam
-
-usb:v04F2pB175*
- ID_PRODUCT_FROM_DATABASE=4-Port Hub
-
-usb:v04F2pB1AA*
- ID_PRODUCT_FROM_DATABASE=Webcam-101
-
-usb:v04F2pB1B4*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Camera
-
-usb:v04F2pB1B9*
- ID_PRODUCT_FROM_DATABASE=Asus Integrated Webcam
-
-usb:v04F2pB1CF*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Camera
-
-usb:v04F2pB1D6*
- ID_PRODUCT_FROM_DATABASE=CNF9055 Toshiba Webcam
-
-usb:v04F2pB217*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Camera (0.3MP)
-
-usb:v04F2pB221*
- ID_PRODUCT_FROM_DATABASE=integrated camera
-
-usb:v04F2pB230*
- ID_PRODUCT_FROM_DATABASE=Integrated HP HD Webcam
-
-usb:v04F2pB257*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Camera
-
-usb:v04F2pB26B*
- ID_PRODUCT_FROM_DATABASE=Sony Visual Communication Camera
-
-usb:v04F2pB272*
- ID_PRODUCT_FROM_DATABASE=Lenovo EasyCamera
-
-usb:v04F2pB2B0*
- ID_PRODUCT_FROM_DATABASE=Camera
-
-usb:v04F2pB2B9*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Camera UVC
-
-usb:v04F2pB2EA*
- ID_PRODUCT_FROM_DATABASE=Integrated Camera [ThinkPad]
-
-usb:v04F2pB330*
- ID_PRODUCT_FROM_DATABASE=Asus 720p CMOS webcam
-
-usb:v04F3*
- ID_VENDOR_FROM_DATABASE=Elan Microelectronics Corp.
-
-usb:v04F3p0103*
- ID_PRODUCT_FROM_DATABASE=ActiveJet K-2024 Multimedia Keyboard
-
-usb:v04F3p01A4*
- ID_PRODUCT_FROM_DATABASE=Wireless Keyboard
-
-usb:v04F3p0210*
- ID_PRODUCT_FROM_DATABASE=AM-400 Hama Optical Mouse
-
-usb:v04F3p0212*
- ID_PRODUCT_FROM_DATABASE=Laser Mouse
-
-usb:v04F3p0214*
- ID_PRODUCT_FROM_DATABASE=Lynx M9 Optical Mouse
-
-usb:v04F3p0230*
- ID_PRODUCT_FROM_DATABASE=3D Optical Mouse
-
-usb:v04F3p0232*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v04F3p02F4*
- ID_PRODUCT_FROM_DATABASE=2.4G Cordless Mouse
-
-usb:v04F3p04A0*
- ID_PRODUCT_FROM_DATABASE=Dream Cheeky Stress/Panic Button
-
-usb:v04F4*
- ID_VENDOR_FROM_DATABASE=Harting Elektronik, Inc.
-
-usb:v04F5*
- ID_VENDOR_FROM_DATABASE=Fujitsu-ICL Systems, Inc.
-
-usb:v04F6*
- ID_VENDOR_FROM_DATABASE=Norand Corp.
-
-usb:v04F7*
- ID_VENDOR_FROM_DATABASE=Newnex Technology Corp.
-
-usb:v04F8*
- ID_VENDOR_FROM_DATABASE=FuturePlus Systems
-
-usb:v04F9*
- ID_VENDOR_FROM_DATABASE=Brother Industries, Ltd
-
-usb:v04F9p0002*
- ID_PRODUCT_FROM_DATABASE=HL-1050 Laser Printer
-
-usb:v04F9p0005*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0006*
- ID_PRODUCT_FROM_DATABASE=HL-1240 Laser Printer
-
-usb:v04F9p0007*
- ID_PRODUCT_FROM_DATABASE=HL-1250 Laser Printer
-
-usb:v04F9p0008*
- ID_PRODUCT_FROM_DATABASE=HL-1270 Laser Printer
-
-usb:v04F9p0009*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p000A*
- ID_PRODUCT_FROM_DATABASE=P2500 series
-
-usb:v04F9p000B*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p000C*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p000D*
- ID_PRODUCT_FROM_DATABASE=HL-1440 Laser Printer
-
-usb:v04F9p000E*
- ID_PRODUCT_FROM_DATABASE=HL-1450 series
-
-usb:v04F9p000F*
- ID_PRODUCT_FROM_DATABASE=HL-1470N series
-
-usb:v04F9p0010*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0011*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0012*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0013*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0014*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0015*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0016*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0017*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0018*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p001A*
- ID_PRODUCT_FROM_DATABASE=HL-1430 Laser Printer
-
-usb:v04F9p001C*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p001E*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0020*
- ID_PRODUCT_FROM_DATABASE=HL-5130 series
-
-usb:v04F9p0021*
- ID_PRODUCT_FROM_DATABASE=HL-5140 series
-
-usb:v04F9p0022*
- ID_PRODUCT_FROM_DATABASE=HL-5150D series
-
-usb:v04F9p0023*
- ID_PRODUCT_FROM_DATABASE=HL-5170DN series
-
-usb:v04F9p0024*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0025*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0027*
- ID_PRODUCT_FROM_DATABASE=HL-2030 Laser Printer
-
-usb:v04F9p0028*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0029*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p002A*
- ID_PRODUCT_FROM_DATABASE=HL-52x0 series
-
-usb:v04F9p002B*
- ID_PRODUCT_FROM_DATABASE=HL-5250DN Printer
-
-usb:v04F9p002C*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p002D*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p0039*
- ID_PRODUCT_FROM_DATABASE=HL-5340 series
-
-usb:v04F9p0100*
- ID_PRODUCT_FROM_DATABASE=MFC8600/9650 series
-
-usb:v04F9p0101*
- ID_PRODUCT_FROM_DATABASE=MFC9600/9870 series
-
-usb:v04F9p0102*
- ID_PRODUCT_FROM_DATABASE=MFC9750/1200 series
-
-usb:v04F9p0104*
- ID_PRODUCT_FROM_DATABASE=MFC-8300J
-
-usb:v04F9p0105*
- ID_PRODUCT_FROM_DATABASE=MFC-9600J
-
-usb:v04F9p0106*
- ID_PRODUCT_FROM_DATABASE=MFC-7300C
-
-usb:v04F9p0107*
- ID_PRODUCT_FROM_DATABASE=MFC-7400C
-
-usb:v04F9p0108*
- ID_PRODUCT_FROM_DATABASE=MFC-9200C
-
-usb:v04F9p0109*
- ID_PRODUCT_FROM_DATABASE=MFC-830
-
-usb:v04F9p010A*
- ID_PRODUCT_FROM_DATABASE=MFC-840
-
-usb:v04F9p010B*
- ID_PRODUCT_FROM_DATABASE=MFC-860
-
-usb:v04F9p010C*
- ID_PRODUCT_FROM_DATABASE=MFC-7400J
-
-usb:v04F9p010D*
- ID_PRODUCT_FROM_DATABASE=MFC-9200J
-
-usb:v04F9p010E*
- ID_PRODUCT_FROM_DATABASE=MFC3100C Scanner
-
-usb:v04F9p010F*
- ID_PRODUCT_FROM_DATABASE=MFC 5100C
-
-usb:v04F9p0110*
- ID_PRODUCT_FROM_DATABASE=MFC4800 Scanner
-
-usb:v04F9p0111*
- ID_PRODUCT_FROM_DATABASE=MFC 6800
-
-usb:v04F9p0112*
- ID_PRODUCT_FROM_DATABASE=DCP1000 Port(FaxModem)
-
-usb:v04F9p0113*
- ID_PRODUCT_FROM_DATABASE=MFC-8500
-
-usb:v04F9p0114*
- ID_PRODUCT_FROM_DATABASE=MFC9700 Port(FaxModem)
-
-usb:v04F9p0115*
- ID_PRODUCT_FROM_DATABASE=MFC9800 Scanner
-
-usb:v04F9p0116*
- ID_PRODUCT_FROM_DATABASE=DCP1400 Scanner
-
-usb:v04F9p0119*
- ID_PRODUCT_FROM_DATABASE=MFC-9660
-
-usb:v04F9p011B*
- ID_PRODUCT_FROM_DATABASE=MFC-9880
-
-usb:v04F9p011C*
- ID_PRODUCT_FROM_DATABASE=MFC-9760
-
-usb:v04F9p011D*
- ID_PRODUCT_FROM_DATABASE=MFC-9070
-
-usb:v04F9p011E*
- ID_PRODUCT_FROM_DATABASE=MFC-9180
-
-usb:v04F9p011F*
- ID_PRODUCT_FROM_DATABASE=MFC-9160
-
-usb:v04F9p0120*
- ID_PRODUCT_FROM_DATABASE=MFC580 Port(FaxModem)
-
-usb:v04F9p0121*
- ID_PRODUCT_FROM_DATABASE=MFC-590
-
-usb:v04F9p0122*
- ID_PRODUCT_FROM_DATABASE=MFC-5100J
-
-usb:v04F9p0129*
- ID_PRODUCT_FROM_DATABASE=Imagistics 2500 (MFC-8640D clone)
-
-usb:v04F9p012F*
- ID_PRODUCT_FROM_DATABASE=FAX-4750e
-
-usb:v04F9p0132*
- ID_PRODUCT_FROM_DATABASE=MFC-5200C RemovableDisk
-
-usb:v04F9p0135*
- ID_PRODUCT_FROM_DATABASE=MFC-100 Scanner
-
-usb:v04F9p0136*
- ID_PRODUCT_FROM_DATABASE=MFC-150CL Scanner
-
-usb:v04F9p013C*
- ID_PRODUCT_FROM_DATABASE=MFC-890 Port
-
-usb:v04F9p013D*
- ID_PRODUCT_FROM_DATABASE=MFC-5200J Printer
-
-usb:v04F9p013E*
- ID_PRODUCT_FROM_DATABASE=MFC-4420C RemovableDisk
-
-usb:v04F9p013F*
- ID_PRODUCT_FROM_DATABASE=MFC-4820C RemovableDisk
-
-usb:v04F9p0140*
- ID_PRODUCT_FROM_DATABASE=DCP-8020
-
-usb:v04F9p0141*
- ID_PRODUCT_FROM_DATABASE=DCP-8025D
-
-usb:v04F9p0142*
- ID_PRODUCT_FROM_DATABASE=MFC-8420
-
-usb:v04F9p0143*
- ID_PRODUCT_FROM_DATABASE=MFC-8820D
-
-usb:v04F9p0144*
- ID_PRODUCT_FROM_DATABASE=DCP-4020C RemovableDisk
-
-usb:v04F9p0146*
- ID_PRODUCT_FROM_DATABASE=MFC-3220C
-
-usb:v04F9p0147*
- ID_PRODUCT_FROM_DATABASE=FAX-1820C Printer
-
-usb:v04F9p0148*
- ID_PRODUCT_FROM_DATABASE=MFC-3320CN Printer
-
-usb:v04F9p0149*
- ID_PRODUCT_FROM_DATABASE=FAX-1920CN Printer
-
-usb:v04F9p014A*
- ID_PRODUCT_FROM_DATABASE=MFC-3420C
-
-usb:v04F9p014B*
- ID_PRODUCT_FROM_DATABASE=MFC-3820CN
-
-usb:v04F9p014D*
- ID_PRODUCT_FROM_DATABASE=FAX-1815C Printer
-
-usb:v04F9p014E*
- ID_PRODUCT_FROM_DATABASE=MFC-8820J
-
-usb:v04F9p0150*
- ID_PRODUCT_FROM_DATABASE=MFC-8220 Port(FaxModem)
-
-usb:v04F9p0151*
- ID_PRODUCT_FROM_DATABASE=MFC-8210J
-
-usb:v04F9p0157*
- ID_PRODUCT_FROM_DATABASE=MFC-3420J Printer
-
-usb:v04F9p0158*
- ID_PRODUCT_FROM_DATABASE=MFC-3820JN Port(FaxModem)
-
-usb:v04F9p015D*
- ID_PRODUCT_FROM_DATABASE=MFC Composite Device
-
-usb:v04F9p015E*
- ID_PRODUCT_FROM_DATABASE=DCP-8045D
-
-usb:v04F9p015F*
- ID_PRODUCT_FROM_DATABASE=MFC-8440
-
-usb:v04F9p0160*
- ID_PRODUCT_FROM_DATABASE=MFC-8840D
-
-usb:v04F9p0161*
- ID_PRODUCT_FROM_DATABASE=MFC-210C
-
-usb:v04F9p0162*
- ID_PRODUCT_FROM_DATABASE=MFC-420CN Remote Setup Port
-
-usb:v04F9p0163*
- ID_PRODUCT_FROM_DATABASE=MFC-410CN RemovableDisk
-
-usb:v04F9p0165*
- ID_PRODUCT_FROM_DATABASE=MFC-620CN
-
-usb:v04F9p0166*
- ID_PRODUCT_FROM_DATABASE=MFC-610CLN RemovableDisk
-
-usb:v04F9p0168*
- ID_PRODUCT_FROM_DATABASE=MFC-620CLN
-
-usb:v04F9p0169*
- ID_PRODUCT_FROM_DATABASE=DCP-110C RemovableDisk
-
-usb:v04F9p016B*
- ID_PRODUCT_FROM_DATABASE=DCP-310CN RemovableDisk
-
-usb:v04F9p016C*
- ID_PRODUCT_FROM_DATABASE=FAX-2440C Printer
-
-usb:v04F9p016D*
- ID_PRODUCT_FROM_DATABASE=MFC-5440CN
-
-usb:v04F9p016E*
- ID_PRODUCT_FROM_DATABASE=MFC-5840CN Remote Setup Port
-
-usb:v04F9p0170*
- ID_PRODUCT_FROM_DATABASE=FAX-1840C Printer
-
-usb:v04F9p0171*
- ID_PRODUCT_FROM_DATABASE=FAX-1835C Printer
-
-usb:v04F9p0172*
- ID_PRODUCT_FROM_DATABASE=FAX-1940CN Printer
-
-usb:v04F9p0173*
- ID_PRODUCT_FROM_DATABASE=MFC-3240C Remote Setup Port
-
-usb:v04F9p0174*
- ID_PRODUCT_FROM_DATABASE=MFC-3340CN RemovableDisk
-
-usb:v04F9p017B*
- ID_PRODUCT_FROM_DATABASE=Imagistics sx2100
-
-usb:v04F9p0180*
- ID_PRODUCT_FROM_DATABASE=MFC-7420
-
-usb:v04F9p0181*
- ID_PRODUCT_FROM_DATABASE=MFC-7820N Port(FaxModem)
-
-usb:v04F9p0182*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v04F9p0183*
- ID_PRODUCT_FROM_DATABASE=DCP-7020
-
-usb:v04F9p0184*
- ID_PRODUCT_FROM_DATABASE=DCP-7025 Printer
-
-usb:v04F9p0185*
- ID_PRODUCT_FROM_DATABASE=MFC-7220 Printer
-
-usb:v04F9p0186*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v04F9p0187*
- ID_PRODUCT_FROM_DATABASE=FAX-2820 Printer
-
-usb:v04F9p0188*
- ID_PRODUCT_FROM_DATABASE=FAX-2920 Printer
-
-usb:v04F9p018A*
- ID_PRODUCT_FROM_DATABASE=MFC-9420CN
-
-usb:v04F9p018C*
- ID_PRODUCT_FROM_DATABASE=DCP-115C
-
-usb:v04F9p018D*
- ID_PRODUCT_FROM_DATABASE=DCP-116C
-
-usb:v04F9p018E*
- ID_PRODUCT_FROM_DATABASE=DCP-117C
-
-usb:v04F9p018F*
- ID_PRODUCT_FROM_DATABASE=DCP-118C
-
-usb:v04F9p0190*
- ID_PRODUCT_FROM_DATABASE=DCP-120C
-
-usb:v04F9p0191*
- ID_PRODUCT_FROM_DATABASE=DCP-315CN
-
-usb:v04F9p0192*
- ID_PRODUCT_FROM_DATABASE=DCP-340CW
-
-usb:v04F9p0193*
- ID_PRODUCT_FROM_DATABASE=MFC-215C
-
-usb:v04F9p0194*
- ID_PRODUCT_FROM_DATABASE=MFC-425CN
-
-usb:v04F9p0195*
- ID_PRODUCT_FROM_DATABASE=MFC-820CW Remote Setup Port
-
-usb:v04F9p0196*
- ID_PRODUCT_FROM_DATABASE=MFC-820CN Remote Setup Port
-
-usb:v04F9p0197*
- ID_PRODUCT_FROM_DATABASE=MFC-640CW
-
-usb:v04F9p019A*
- ID_PRODUCT_FROM_DATABASE=MFC-840CLN Remote Setup Port
-
-usb:v04F9p01A2*
- ID_PRODUCT_FROM_DATABASE=MFC-8640D
-
-usb:v04F9p01A3*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v04F9p01A4*
- ID_PRODUCT_FROM_DATABASE=DCP-8065DN Printer
-
-usb:v04F9p01A5*
- ID_PRODUCT_FROM_DATABASE=MFC-8460N Port(FaxModem)
-
-usb:v04F9p01A6*
- ID_PRODUCT_FROM_DATABASE=MFC-8860DN Port(FaxModem)
-
-usb:v04F9p01A7*
- ID_PRODUCT_FROM_DATABASE=MFC-8870DW Printer
-
-usb:v04F9p01A8*
- ID_PRODUCT_FROM_DATABASE=DCP-130C
-
-usb:v04F9p01A9*
- ID_PRODUCT_FROM_DATABASE=DCP-330C
-
-usb:v04F9p01AA*
- ID_PRODUCT_FROM_DATABASE=DCP-540CN
-
-usb:v04F9p01AB*
- ID_PRODUCT_FROM_DATABASE=MFC-240C
-
-usb:v04F9p01AE*
- ID_PRODUCT_FROM_DATABASE=DCP-750CW RemovableDisk
-
-usb:v04F9p01AF*
- ID_PRODUCT_FROM_DATABASE=MFC-440CN
-
-usb:v04F9p01B0*
- ID_PRODUCT_FROM_DATABASE=MFC-660CN
-
-usb:v04F9p01B1*
- ID_PRODUCT_FROM_DATABASE=MFC-665CW Remote Setup Port
-
-usb:v04F9p01B2*
- ID_PRODUCT_FROM_DATABASE=MFC-845CW Remote Setup Port
-
-usb:v04F9p01B4*
- ID_PRODUCT_FROM_DATABASE=MFC-460CN Remote Setup Port
-
-usb:v04F9p01B5*
- ID_PRODUCT_FROM_DATABASE=MFC-630CD
-
-usb:v04F9p01B6*
- ID_PRODUCT_FROM_DATABASE=MFC-850CDN
-
-usb:v04F9p01B7*
- ID_PRODUCT_FROM_DATABASE=MFC-5460CN Remote Setup Port
-
-usb:v04F9p01B8*
- ID_PRODUCT_FROM_DATABASE=MFC-5860CN
-
-usb:v04F9p01BA*
- ID_PRODUCT_FROM_DATABASE=MFC-3360C
-
-usb:v04F9p01BD*
- ID_PRODUCT_FROM_DATABASE=MFC-8660DN
-
-usb:v04F9p01BE*
- ID_PRODUCT_FROM_DATABASE=DCP-750CN RemovableDisk
-
-usb:v04F9p01BF*
- ID_PRODUCT_FROM_DATABASE=MFC-860CDN Remote Setup Port
-
-usb:v04F9p01C0*
- ID_PRODUCT_FROM_DATABASE=DCP-128C
-
-usb:v04F9p01C1*
- ID_PRODUCT_FROM_DATABASE=DCP-129C
-
-usb:v04F9p01C2*
- ID_PRODUCT_FROM_DATABASE=DCP-131C
-
-usb:v04F9p01C3*
- ID_PRODUCT_FROM_DATABASE=DCP-329C
-
-usb:v04F9p01C4*
- ID_PRODUCT_FROM_DATABASE=DCP-331C
-
-usb:v04F9p01C5*
- ID_PRODUCT_FROM_DATABASE=MFC-239C
-
-usb:v04F9p01CA*
- ID_PRODUCT_FROM_DATABASE=MFC-9440CN Remote Setup Port
-
-usb:v04F9p01CE*
- ID_PRODUCT_FROM_DATABASE=DCP-135C
-
-usb:v04F9p01CF*
- ID_PRODUCT_FROM_DATABASE=DCP-150C
-
-usb:v04F9p01D0*
- ID_PRODUCT_FROM_DATABASE=DCP-350C
-
-usb:v04F9p01D1*
- ID_PRODUCT_FROM_DATABASE=DCP-560CN
-
-usb:v04F9p01D4*
- ID_PRODUCT_FROM_DATABASE=MFC-230C
-
-usb:v04F9p01D5*
- ID_PRODUCT_FROM_DATABASE=MFC-235C
-
-usb:v04F9p01D6*
- ID_PRODUCT_FROM_DATABASE=MFC-260C
-
-usb:v04F9p01DF*
- ID_PRODUCT_FROM_DATABASE=DCP-155C
-
-usb:v04F9p01E0*
- ID_PRODUCT_FROM_DATABASE=MFC-265C
-
-usb:v04F9p01E1*
- ID_PRODUCT_FROM_DATABASE=DCP-153C
-
-usb:v04F9p01E2*
- ID_PRODUCT_FROM_DATABASE=DCP-157C
-
-usb:v04F9p01E3*
- ID_PRODUCT_FROM_DATABASE=DCP-353C
-
-usb:v04F9p01E4*
- ID_PRODUCT_FROM_DATABASE=DCP-357C
-
-usb:v04F9p01E7*
- ID_PRODUCT_FROM_DATABASE=MFC-7340
-
-usb:v04F9p01E9*
- ID_PRODUCT_FROM_DATABASE=DCP-7040
-
-usb:v04F9p01EA*
- ID_PRODUCT_FROM_DATABASE=DCP-7030
-
-usb:v04F9p01EB*
- ID_PRODUCT_FROM_DATABASE=MFC-7320
-
-usb:v04F9p01F4*
- ID_PRODUCT_FROM_DATABASE=MFC-5890CN
-
-usb:v04F9p0223*
- ID_PRODUCT_FROM_DATABASE=DCP-365CN
-
-usb:v04F9p0248*
- ID_PRODUCT_FROM_DATABASE=DCP-7055 scanner/printer
-
-usb:v04F9p1000*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p1002*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v04F9p2002*
- ID_PRODUCT_FROM_DATABASE=PTUSB Printing
-
-usb:v04F9p2004*
- ID_PRODUCT_FROM_DATABASE=PT-2300/2310 p-Touch Laber Printer
-
-usb:v04F9p2015*
- ID_PRODUCT_FROM_DATABASE=QL-500 P-touch label printer
-
-usb:v04F9p2016*
- ID_PRODUCT_FROM_DATABASE=QL-550 P-touch label printer
-
-usb:v04F9p201A*
- ID_PRODUCT_FROM_DATABASE=PT-18R P-touch label printer
-
-usb:v04F9p201B*
- ID_PRODUCT_FROM_DATABASE=QL-650TD P-Touch Label Printer
-
-usb:v04F9p2027*
- ID_PRODUCT_FROM_DATABASE=QL-560 P-Touch Label Printer
-
-usb:v04F9p2100*
- ID_PRODUCT_FROM_DATABASE=Card Reader Writer
-
-usb:v04FA*
- ID_VENDOR_FROM_DATABASE=Dallas Semiconductor
-
-usb:v04FAp2490*
- ID_PRODUCT_FROM_DATABASE=DS1490F 2-in-1 Fob, 1-Wire adapter
-
-usb:v04FAp4201*
- ID_PRODUCT_FROM_DATABASE=DS4201 Audio DAC
-
-usb:v04FB*
- ID_VENDOR_FROM_DATABASE=Biostar Microtech International Corp.
-
-usb:v04FC*
- ID_VENDOR_FROM_DATABASE=Sunplus Technology Co., Ltd
-
-usb:v04FCp0003*
- ID_PRODUCT_FROM_DATABASE=CM1092 / Wintech CM-5098 Optical Mouse
-
-usb:v04FCp0005*
- ID_PRODUCT_FROM_DATABASE=USB OpticalWheel Mouse
-
-usb:v04FCp0013*
- ID_PRODUCT_FROM_DATABASE=ViewMate Desktop Mouse CC2201
-
-usb:v04FCp0015*
- ID_PRODUCT_FROM_DATABASE=ViewMate Desktop Mouse CC2201
-
-usb:v04FCp00D3*
- ID_PRODUCT_FROM_DATABASE=00052486 / Laser Mouse M1052 [hama]
-
-usb:v04FCp0171*
- ID_PRODUCT_FROM_DATABASE=SPCA1527A/SPCA1528 SD card camera (Mass Storage mode)
-
-usb:v04FCp0232*
- ID_PRODUCT_FROM_DATABASE=Fingerprint
-
-usb:v04FCp0538*
- ID_PRODUCT_FROM_DATABASE=Wireless Optical Mouse 2.4G [Bright]
-
-usb:v04FCp0561*
- ID_PRODUCT_FROM_DATABASE=Flexcam 100
-
-usb:v04FCp05D8*
- ID_PRODUCT_FROM_DATABASE=Wireless keyboard/mouse
-
-usb:v04FCp0C15*
- ID_PRODUCT_FROM_DATABASE=SPIF215A SATA bridge
-
-usb:v04FCp0C25*
- ID_PRODUCT_FROM_DATABASE=SATALink SPIF225A
-
-usb:v04FCp1528*
- ID_PRODUCT_FROM_DATABASE=SPCA1527A/SPCA1528 SD card camera (webcam mode)
-
-usb:v04FCp1533*
- ID_PRODUCT_FROM_DATABASE=Mass Storage
-
-usb:v04FCp2080*
- ID_PRODUCT_FROM_DATABASE=ASUS Webcam
-
-usb:v04FCp500C*
- ID_PRODUCT_FROM_DATABASE=CA500C Digital Camera
-
-usb:v04FCp504A*
- ID_PRODUCT_FROM_DATABASE=Aiptek Mini PenCam 1.3
-
-usb:v04FCp504B*
- ID_PRODUCT_FROM_DATABASE=Aiptek Mega PockerCam 1.3/Maxell MaxPocket LE 1.3
-
-usb:v04FCp5330*
- ID_PRODUCT_FROM_DATABASE=Digitrex 2110
-
-usb:v04FCp5331*
- ID_PRODUCT_FROM_DATABASE=Vivitar Vivicam 10
-
-usb:v04FCp5360*
- ID_PRODUCT_FROM_DATABASE=Sunplus Generic Digital Camera
-
-usb:v04FCp5720*
- ID_PRODUCT_FROM_DATABASE=Card Reader Driver
-
-usb:v04FCp7333*
- ID_PRODUCT_FROM_DATABASE=Finet Technology Palmpix DC-85
-
-usb:v04FCp757A*
- ID_PRODUCT_FROM_DATABASE=Aiptek, MP315 MP3 Player
-
-usb:v04FCpFFFF*
- ID_PRODUCT_FROM_DATABASE=PureDigital Ritz Disposable
-
-usb:v04FD*
- ID_VENDOR_FROM_DATABASE=Soliton Systems, K.K.
-
-usb:v04FDp0003*
- ID_PRODUCT_FROM_DATABASE=Smart Card Reader II
-
-usb:v04FE*
- ID_VENDOR_FROM_DATABASE=PFU, Ltd
-
-usb:v04FF*
- ID_VENDOR_FROM_DATABASE=E-CMOS Corp.
-
-usb:v0500*
- ID_VENDOR_FROM_DATABASE=Siam United Hi-Tech
-
-usb:v0500p0001*
- ID_PRODUCT_FROM_DATABASE=DART Keyboard Mouse
-
-usb:v0500p0002*
- ID_PRODUCT_FROM_DATABASE=DART-2 Keyboard
-
-usb:v0501*
- ID_VENDOR_FROM_DATABASE=Fujikura DDK, Ltd
-
-usb:v0502*
- ID_VENDOR_FROM_DATABASE=Acer, Inc.
-
-usb:v0502p0001*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0502p0736*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0502p15B1*
- ID_PRODUCT_FROM_DATABASE=PDA n311
-
-usb:v0502p1631*
- ID_PRODUCT_FROM_DATABASE=c10 Series
-
-usb:v0502p1632*
- ID_PRODUCT_FROM_DATABASE=c20 Series
-
-usb:v0502p16E1*
- ID_PRODUCT_FROM_DATABASE=n10 Handheld Sync
-
-usb:v0502p16E2*
- ID_PRODUCT_FROM_DATABASE=n20 Pocket PC Sync
-
-usb:v0502p16E3*
- ID_PRODUCT_FROM_DATABASE=n30 Handheld Sync
-
-usb:v0502p3202*
- ID_PRODUCT_FROM_DATABASE=Liquid
-
-usb:v0502p3203*
- ID_PRODUCT_FROM_DATABASE=Liquid (Debug mode)
-
-usb:v0502p3317*
- ID_PRODUCT_FROM_DATABASE=Liquid
-
-usb:v0502p3325*
- ID_PRODUCT_FROM_DATABASE=Iconia tablet A500
-
-usb:v0502p3341*
- ID_PRODUCT_FROM_DATABASE=Iconia tablet A500
-
-usb:v0502pD001*
- ID_PRODUCT_FROM_DATABASE=Divio NW801/DVC-V6+ Digital Camera
-
-usb:v0503*
- ID_VENDOR_FROM_DATABASE=Hitachi America, Ltd
-
-usb:v0504*
- ID_VENDOR_FROM_DATABASE=Hayes Microcomputer Products
-
-usb:v0506*
- ID_VENDOR_FROM_DATABASE=3Com Corp.
-
-usb:v0506p009D*
- ID_PRODUCT_FROM_DATABASE=HomeConnect Camera
-
-usb:v0506p00A0*
- ID_PRODUCT_FROM_DATABASE=3CREB96 Bluetooth Adapter
-
-usb:v0506p00A1*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0506p00A2*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0506p00DF*
- ID_PRODUCT_FROM_DATABASE=3Com Home Connect lite
-
-usb:v0506p0100*
- ID_PRODUCT_FROM_DATABASE=HomeConnect ADSL Modem Driver
-
-usb:v0506p03E8*
- ID_PRODUCT_FROM_DATABASE=3C19250 Ethernet [klsi]
-
-usb:v0506p0A01*
- ID_PRODUCT_FROM_DATABASE=3CRSHEW696 Wireless Adapter
-
-usb:v0506p0A11*
- ID_PRODUCT_FROM_DATABASE=3CRWE254G72 802.11g Adapter
-
-usb:v0506p11F8*
- ID_PRODUCT_FROM_DATABASE=HomeConnect 3C460
-
-usb:v0506p2922*
- ID_PRODUCT_FROM_DATABASE=HomeConnect Cable Modem External with
-
-usb:v0506p3021*
- ID_PRODUCT_FROM_DATABASE=U.S.Robotics 56000 Voice FaxModem Pro
-
-usb:v0506p4601*
- ID_PRODUCT_FROM_DATABASE=3C460B 10/100 Ethernet Adapter
-
-usb:v0506pF002*
- ID_PRODUCT_FROM_DATABASE=3CP4218 ADSL Modem (pre-init)
-
-usb:v0506pF003*
- ID_PRODUCT_FROM_DATABASE=3CP4218 ADSL Modem
-
-usb:v0506pF100*
- ID_PRODUCT_FROM_DATABASE=3CP4218 ADSL Modem (pre-init)
-
-usb:v0507*
- ID_VENDOR_FROM_DATABASE=Hosiden Corp.
-
-usb:v0507p0011*
- ID_PRODUCT_FROM_DATABASE=Konami ParaParaParadise Controller
-
-usb:v0508*
- ID_VENDOR_FROM_DATABASE=Clarion Co., Ltd
-
-usb:v0509*
- ID_VENDOR_FROM_DATABASE=Aztech Systems, Ltd
-
-usb:v0509p0801*
- ID_PRODUCT_FROM_DATABASE=ADSL Modem
-
-usb:v0509p0802*
- ID_PRODUCT_FROM_DATABASE=ADSL Modem (RFC1483)
-
-usb:v0509p0806*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v0509p080F*
- ID_PRODUCT_FROM_DATABASE=Binatone ADSL500 Modem Network Interface
-
-usb:v0509p0812*
- ID_PRODUCT_FROM_DATABASE=Pirelli ADSL Modem Network Interface
-
-usb:v050A*
- ID_VENDOR_FROM_DATABASE=Cinch Connectors
-
-usb:v050B*
- ID_VENDOR_FROM_DATABASE=Cable System International
-
-usb:v050C*
- ID_VENDOR_FROM_DATABASE=InnoMedia, Inc.
-
-usb:v050D*
- ID_VENDOR_FROM_DATABASE=Belkin Components
-
-usb:v050Dp0004*
- ID_PRODUCT_FROM_DATABASE=Direct Connect
-
-usb:v050Dp0012*
- ID_PRODUCT_FROM_DATABASE=F8T012 Bluetooth Adapter
-
-usb:v050Dp0013*
- ID_PRODUCT_FROM_DATABASE=F8T013 Bluetooth Adapter
-
-usb:v050Dp0017*
- ID_PRODUCT_FROM_DATABASE=B8T017 Bluetooth+EDR 2.1
-
-usb:v050Dp003A*
- ID_PRODUCT_FROM_DATABASE=Universal Media Reader
-
-usb:v050Dp0050*
- ID_PRODUCT_FROM_DATABASE=F5D6050 802.11b Wireless Adapter v2000 [Atmel at76c503a]
-
-usb:v050Dp0081*
- ID_PRODUCT_FROM_DATABASE=F8T001v2 Bluetooth
-
-usb:v050Dp0083*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v050Dp0084*
- ID_PRODUCT_FROM_DATABASE=F8T003v2 Bluetooth
-
-usb:v050Dp0102*
- ID_PRODUCT_FROM_DATABASE=Flip KVM
-
-usb:v050Dp0103*
- ID_PRODUCT_FROM_DATABASE=F5U103 Serial Adapter [etek]
-
-usb:v050Dp0106*
- ID_PRODUCT_FROM_DATABASE=VideoBus II Adapter, Video
-
-usb:v050Dp0108*
- ID_PRODUCT_FROM_DATABASE=F1DE108B KVM
-
-usb:v050Dp0109*
- ID_PRODUCT_FROM_DATABASE=F5U109/F5U409 PDA Adapter
-
-usb:v050Dp0115*
- ID_PRODUCT_FROM_DATABASE=SCSI Adapter
-
-usb:v050Dp0119*
- ID_PRODUCT_FROM_DATABASE=F5U120-PC Dual PS/2 Ports / F5U118-UNV ADB Adapter
-
-usb:v050Dp0121*
- ID_PRODUCT_FROM_DATABASE=F5D5050 100Mbps Ethernet
-
-usb:v050Dp0122*
- ID_PRODUCT_FROM_DATABASE=Ethernet Adapter
-
-usb:v050Dp0131*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device with trace filter
-
-usb:v050Dp016A*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Mini Dongle
-
-usb:v050Dp0200*
- ID_PRODUCT_FROM_DATABASE=Nostromo SpeedPad n52te Gaming Keyboard
-
-usb:v050Dp0201*
- ID_PRODUCT_FROM_DATABASE=Peripheral Switch
-
-usb:v050Dp0208*
- ID_PRODUCT_FROM_DATABASE=USBView II Video Adapter [nt1004]
-
-usb:v050Dp0210*
- ID_PRODUCT_FROM_DATABASE=F5U228 Hi-Speed USB 2.0 DVD Creator
-
-usb:v050Dp0211*
- ID_PRODUCT_FROM_DATABASE=F5U211 USB 2.0 15-in-1 Media Reader & Writer
-
-usb:v050Dp0224*
- ID_PRODUCT_FROM_DATABASE=F5U224 USB 2.0 4-Port Hub
-
-usb:v050Dp0234*
- ID_PRODUCT_FROM_DATABASE=F5U234 USB 2.0 4-Port Hub
-
-usb:v050Dp0237*
- ID_PRODUCT_FROM_DATABASE=F5U237 USB 2.0 7-Port Hub
-
-usb:v050Dp0240*
- ID_PRODUCT_FROM_DATABASE=F5U240 USB 2.0 CF Card Reader
-
-usb:v050Dp0249*
- ID_PRODUCT_FROM_DATABASE=USB 2 Flash Media Device
-
-usb:v050Dp0257*
- ID_PRODUCT_FROM_DATABASE=F5U257 Serial
-
-usb:v050Dp0304*
- ID_PRODUCT_FROM_DATABASE=FSU304 USB 2.0 - 4 Ports Hub
-
-usb:v050Dp0307*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 - 7 ports Hub [FSU307]
-
-usb:v050Dp0409*
- ID_PRODUCT_FROM_DATABASE=F5U409 Serial
-
-usb:v050Dp0551*
- ID_PRODUCT_FROM_DATABASE=F6C550-AVR UPS
-
-usb:v050Dp0706*
- ID_PRODUCT_FROM_DATABASE=2-N-1 USB 2.0 7-Port Hub (Lower half)
-
-usb:v050Dp0802*
- ID_PRODUCT_FROM_DATABASE=Nostromo n40 Gamepad
-
-usb:v050Dp0803*
- ID_PRODUCT_FROM_DATABASE=Nostromo 1745 GamePad
-
-usb:v050Dp0805*
- ID_PRODUCT_FROM_DATABASE=Nostromo N50 GamePad
-
-usb:v050Dp0815*
- ID_PRODUCT_FROM_DATABASE=Nostromo n52 HID SpeedPad Mouse Wheel
-
-usb:v050Dp0826*
- ID_PRODUCT_FROM_DATABASE=ErgoFit Wireless Optical Mouse (HID)
-
-usb:v050Dp0980*
- ID_PRODUCT_FROM_DATABASE=HID UPS Battery
-
-usb:v050Dp1004*
- ID_PRODUCT_FROM_DATABASE=F9L1004 802.11n Surf N300 XR Wireless Adapter [Realtek RTL8192CU]
-
-usb:v050Dp1102*
- ID_PRODUCT_FROM_DATABASE=F7D1102 N150/Surf Micro Wireless Adapter v1000 [Realtek RTL8188CUS]
-
-usb:v050Dp1103*
- ID_PRODUCT_FROM_DATABASE=F9L1103 N750 DB 802.11abgn 2x3:3 [Ralink RT3573]
-
-usb:v050Dp11F2*
- ID_PRODUCT_FROM_DATABASE=ISY Wireless Micro Adapter IWL 2000 [RTL8188CUS]
-
-usb:v050Dp1202*
- ID_PRODUCT_FROM_DATABASE=F5U120-PC Parallel Printer Port
-
-usb:v050Dp1203*
- ID_PRODUCT_FROM_DATABASE=F5U120-PC Serial Port
-
-usb:v050Dp2103*
- ID_PRODUCT_FROM_DATABASE=F7D2102 802.11n N300 Micro Wireless Adapter v3000 [Realtek RTL8192CU]
-
-usb:v050Dp258A*
- ID_PRODUCT_FROM_DATABASE=F5U258 Host to Host cable
-
-usb:v050Dp3101*
- ID_PRODUCT_FROM_DATABASE=F1DF102U/F1DG102U Flip Hub
-
-usb:v050Dp3201*
- ID_PRODUCT_FROM_DATABASE=F1DF102U/F1DG102U Flip KVM
-
-usb:v050Dp4050*
- ID_PRODUCT_FROM_DATABASE=ZD1211B
-
-usb:v050Dp5055*
- ID_PRODUCT_FROM_DATABASE=F5D5055 Gigabit Network Adapter [AX88xxx]
-
-usb:v050Dp6050*
- ID_PRODUCT_FROM_DATABASE=F6D6050 802.11abgn Wireless Adapter [Broadcom BCM4323]
-
-usb:v050Dp6051*
- ID_PRODUCT_FROM_DATABASE=F5D6051 802.11b Wireless Network Adapter [ZyDAS ZD1201]
-
-usb:v050Dp615A*
- ID_PRODUCT_FROM_DATABASE=F7D4101 / F9L1101 802.11abgn Wireless Adapter [Broadcom BCM4323]
-
-usb:v050Dp7050*
- ID_PRODUCT_FROM_DATABASE=F5D7050 Wireless G Adapter v1000/v2000 [Intersil ISL3887]
-
-usb:v050Dp7051*
- ID_PRODUCT_FROM_DATABASE=F5D7051 802.11g Adapter v1000 [Broadcom 4320 USB]
-
-usb:v050Dp705A*
- ID_PRODUCT_FROM_DATABASE=F5D7050 Wireless G Adapter v3000 [Ralink RT2571W]
-
-usb:v050Dp705B*
- ID_PRODUCT_FROM_DATABASE=Wireless G Adapter
-
-usb:v050Dp705C*
- ID_PRODUCT_FROM_DATABASE=F5D7050 Wireless G Adapter v4000 [Zydas ZD1211B]
-
-usb:v050Dp705E*
- ID_PRODUCT_FROM_DATABASE=F5D7050 Wireless G Adapter v5000 [Realtek RTL8187B]
-
-usb:v050Dp706A*
- ID_PRODUCT_FROM_DATABASE=2-N-1 7-Port Hub (Upper half)
-
-usb:v050Dp8053*
- ID_PRODUCT_FROM_DATABASE=F5D8053 N Wireless USB Adapter v1000/v4000 [Ralink RT2870]
-
-usb:v050Dp805C*
- ID_PRODUCT_FROM_DATABASE=F5D8053 N Wireless Adapter v3000 [Ralink RT2870]
-
-usb:v050Dp805E*
- ID_PRODUCT_FROM_DATABASE=F5D8053 N Wireless USB Adapter v5000 [Realtek RTL8192U]
-
-usb:v050Dp815C*
- ID_PRODUCT_FROM_DATABASE=F5D8053 N Wireless USB Adapter v3000 [Ralink RT2870]
-
-usb:v050Dp815F*
- ID_PRODUCT_FROM_DATABASE=F5D8053 N Wireless USB Adapter v6000 [Realtek RTL8192SU]
-
-usb:v050Dp825A*
- ID_PRODUCT_FROM_DATABASE=F5D8055 N+ Wireless Adapter v1000 [Ralink RT2870]
-
-usb:v050Dp825B*
- ID_PRODUCT_FROM_DATABASE=F5D8055 N+ Wireless Adapter v2000 [Ralink RT3072]
-
-usb:v050Dp845A*
- ID_PRODUCT_FROM_DATABASE=F7D2101 802.11n Surf & Share Wireless Adapter v1000 [Realtek RTL8192SU]
-
-usb:v050Dp905B*
- ID_PRODUCT_FROM_DATABASE=F5D9050 Wireless G+ MIMO Network Adapter v3000 [Ralink RT2573]
-
-usb:v050Dp905C*
- ID_PRODUCT_FROM_DATABASE=F5D9050 Wireless G+ MIMO Network Adapter v4000 [Ralink RT2573]
-
-usb:v050Dp935A*
- ID_PRODUCT_FROM_DATABASE=F6D4050 N150 Enhanced Wireless Network Adapter v1000 [Ralink RT3070]
-
-usb:v050Dp935B*
- ID_PRODUCT_FROM_DATABASE=F6D4050 N150 Enhanced Wireless Network Adapter v2000 [Ralink RT3070]
-
-usb:v050Dp945A*
- ID_PRODUCT_FROM_DATABASE=F7D1101 v1 Basic Wireless Adapter [Realtek RTL8188SU]
-
-usb:v050Dp945B*
- ID_PRODUCT_FROM_DATABASE=F7D1101 v2 Basic Wireless Adapter [Ralink RT3370]
-
-usb:v050DpD321*
- ID_PRODUCT_FROM_DATABASE=Dynex DX-NUSB 802.11bgn Wireless Adapter [Broadcom BCM43231]
-
-usb:v050E*
- ID_VENDOR_FROM_DATABASE=Neon Technology, Inc.
-
-usb:v050F*
- ID_VENDOR_FROM_DATABASE=KC Technology, Inc.
-
-usb:v050Fp0001*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v050Fp0003*
- ID_PRODUCT_FROM_DATABASE=KC82C160S Hub
-
-usb:v050Fp0180*
- ID_PRODUCT_FROM_DATABASE=KC-180 IrDA Dongle
-
-usb:v050Fp0190*
- ID_PRODUCT_FROM_DATABASE=KC2190 USB Host-to-Host cable
-
-usb:v0510*
- ID_VENDOR_FROM_DATABASE=Sejin Electron, Inc.
-
-usb:v0510p0001*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v0510p1000*
- ID_PRODUCT_FROM_DATABASE=Keyboard with PS/2 Mouse Port
-
-usb:v0510pE001*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v0511*
- ID_VENDOR_FROM_DATABASE=N'Able (DataBook) Technologies, Inc.
-
-usb:v0511p002B*
- ID_PRODUCT_FROM_DATABASE=AOC DVB
-
-usb:v0512*
- ID_VENDOR_FROM_DATABASE=Hualon Microelectronics Corp.
-
-usb:v0513*
- ID_VENDOR_FROM_DATABASE=digital-X, Inc.
-
-usb:v0514*
- ID_VENDOR_FROM_DATABASE=FCI Electronics
-
-usb:v0515*
- ID_VENDOR_FROM_DATABASE=ACTC
-
-usb:v0516*
- ID_VENDOR_FROM_DATABASE=Longwell Electronics
-
-usb:v0517*
- ID_VENDOR_FROM_DATABASE=Butterfly Communications
-
-usb:v0518*
- ID_VENDOR_FROM_DATABASE=EzKEY Corp.
-
-usb:v0518p0001*
- ID_PRODUCT_FROM_DATABASE=USB to PS2 Adaptor v1.09
-
-usb:v0518p0002*
- ID_PRODUCT_FROM_DATABASE=EZ-9900C Keyboard
-
-usb:v0519*
- ID_VENDOR_FROM_DATABASE=Star Micronics Co., Ltd
-
-usb:v0519p0003*
- ID_PRODUCT_FROM_DATABASE=TSP100ECO/TSP100II
-
-usb:v0519pC002*
- ID_PRODUCT_FROM_DATABASE=Xlive Bluetooth XBM-100S MP3 Player
-
-usb:v051A*
- ID_VENDOR_FROM_DATABASE=WYSE Technology
-
-usb:v051ApA005*
- ID_PRODUCT_FROM_DATABASE=Smart Display Version 9973
-
-usb:v051B*
- ID_VENDOR_FROM_DATABASE=Silicon Graphics
-
-usb:v051C*
- ID_VENDOR_FROM_DATABASE=Shuttle, Inc.
-
-usb:v051Cp0005*
- ID_PRODUCT_FROM_DATABASE=VFD Module
-
-usb:v051CpC001*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v051CpC002*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v051D*
- ID_VENDOR_FROM_DATABASE=American Power Conversion
-
-usb:v051Dp0001*
- ID_PRODUCT_FROM_DATABASE=UPS
-
-usb:v051Dp0002*
- ID_PRODUCT_FROM_DATABASE=Uninterruptible Power Supply
-
-usb:v051Dp0003*
- ID_PRODUCT_FROM_DATABASE=UPS
-
-usb:v051E*
- ID_VENDOR_FROM_DATABASE=Scientific Atlanta, Inc.
-
-usb:v051F*
- ID_VENDOR_FROM_DATABASE=IO Systems (Elite Electronics), Inc.
-
-usb:v0520*
- ID_VENDOR_FROM_DATABASE=Taiwan Semiconductor Manufacturing Co.
-
-usb:v0521*
- ID_VENDOR_FROM_DATABASE=Airborn Connectors
-
-usb:v0522*
- ID_VENDOR_FROM_DATABASE=Advanced Connectek, Inc.
-
-usb:v0523*
- ID_VENDOR_FROM_DATABASE=ATEN GmbH
-
-usb:v0524*
- ID_VENDOR_FROM_DATABASE=Sola Electronics
-
-usb:v0525*
- ID_VENDOR_FROM_DATABASE=Netchip Technology, Inc.
-
-usb:v0525p100D*
- ID_PRODUCT_FROM_DATABASE=RFMD Bluetooth Device
-
-usb:v0525p1080*
- ID_PRODUCT_FROM_DATABASE=NET1080 USB-USB Bridge
-
-usb:v0525p1200*
- ID_PRODUCT_FROM_DATABASE=SSDC Adapter II
-
-usb:v0525p1265*
- ID_PRODUCT_FROM_DATABASE=File-backed Storage Gadget
-
-usb:v0525pA0F0*
- ID_PRODUCT_FROM_DATABASE=Cambridge Electronic Devices Power1401 mk 2
-
-usb:v0525pA140*
- ID_PRODUCT_FROM_DATABASE=USB Clik! 40
-
-usb:v0525pA141*
- ID_PRODUCT_FROM_DATABASE=(OME) PocketZip 40 MP3 Player Driver
-
-usb:v0525pA220*
- ID_PRODUCT_FROM_DATABASE=GVC Bluetooth Wireless Adapter
-
-usb:v0525pA4A0*
- ID_PRODUCT_FROM_DATABASE=Linux-USB "Gadget Zero"
-
-usb:v0525pA4A1*
- ID_PRODUCT_FROM_DATABASE=Linux-USB Ethernet Gadget
-
-usb:v0525pA4A2*
- ID_PRODUCT_FROM_DATABASE=Linux-USB Ethernet/RNDIS Gadget
-
-usb:v0525pA4A3*
- ID_PRODUCT_FROM_DATABASE=Linux-USB user-mode isochronous source/sink
-
-usb:v0525pA4A4*
- ID_PRODUCT_FROM_DATABASE=Linux-USB user-mode bulk source/sink
-
-usb:v0525pA4A5*
- ID_PRODUCT_FROM_DATABASE=Linux-USB File Storage Gadget
-
-usb:v0525pA4A6*
- ID_PRODUCT_FROM_DATABASE=Linux-USB Serial Gadget
-
-usb:v0525pA4A7*
- ID_PRODUCT_FROM_DATABASE=Linux-USB Serial Gadget (CDC ACM mode)
-
-usb:v0525pA4A8*
- ID_PRODUCT_FROM_DATABASE=Linux-USB Printer Gadget
-
-usb:v0525pA4A9*
- ID_PRODUCT_FROM_DATABASE=Linux-USB OBEX Gadget
-
-usb:v0525pA4AA*
- ID_PRODUCT_FROM_DATABASE=Linux-USB CDC Composite Gadge (Ethernet and ACM)
-
-usb:v0526*
- ID_VENDOR_FROM_DATABASE=Temic MHS S.A.
-
-usb:v0527*
- ID_VENDOR_FROM_DATABASE=ALTRA
-
-usb:v0528*
- ID_VENDOR_FROM_DATABASE=ATI Technologies, Inc.
-
-usb:v0528p7561*
- ID_PRODUCT_FROM_DATABASE=TV Wonder
-
-usb:v0528p7562*
- ID_PRODUCT_FROM_DATABASE=TV Wonder, Edition (FN5)
-
-usb:v0528p7563*
- ID_PRODUCT_FROM_DATABASE=TV Wonder, Edition (FI)
-
-usb:v0528p7564*
- ID_PRODUCT_FROM_DATABASE=TV Wonder, Edition (FQ)
-
-usb:v0528p7565*
- ID_PRODUCT_FROM_DATABASE=TV Wonder, Edition (NTSC+)
-
-usb:v0528p7566*
- ID_PRODUCT_FROM_DATABASE=TV Wonder, Edition (FN5)
-
-usb:v0528p7567*
- ID_PRODUCT_FROM_DATABASE=TV Wonder, Edition (FI)
-
-usb:v0528p7568*
- ID_PRODUCT_FROM_DATABASE=TV Wonder, Edition (FQ)
-
-usb:v0528p7569*
- ID_PRODUCT_FROM_DATABASE=Live! Pro (A)
-
-usb:v0528p756A*
- ID_PRODUCT_FROM_DATABASE=Live! Pro Audio (O)
-
-usb:v0529*
- ID_VENDOR_FROM_DATABASE=Aladdin Knowledge Systems
-
-usb:v0529p0001*
- ID_PRODUCT_FROM_DATABASE=HASP v0.06
-
-usb:v0529p030B*
- ID_PRODUCT_FROM_DATABASE=eToken R1 v3.1.3.x
-
-usb:v0529p0313*
- ID_PRODUCT_FROM_DATABASE=eToken R1 v3.2.3.x
-
-usb:v0529p031B*
- ID_PRODUCT_FROM_DATABASE=eToken R1 v3.3.3.x
-
-usb:v0529p0323*
- ID_PRODUCT_FROM_DATABASE=eToken R1 v3.4.3.x
-
-usb:v0529p0412*
- ID_PRODUCT_FROM_DATABASE=eToken R2 v2.2.4.x
-
-usb:v0529p041A*
- ID_PRODUCT_FROM_DATABASE=eToken R2 v2.2.4.x
-
-usb:v0529p0422*
- ID_PRODUCT_FROM_DATABASE=eToken R2 v2.4.4.x
-
-usb:v0529p042A*
- ID_PRODUCT_FROM_DATABASE=eToken R2 v2.5.4.x
-
-usb:v0529p050C*
- ID_PRODUCT_FROM_DATABASE=eToken Pro v4.1.5.x
-
-usb:v0529p0514*
- ID_PRODUCT_FROM_DATABASE=eToken Pro v4.2.5.4
-
-usb:v0529p0600*
- ID_PRODUCT_FROM_DATABASE=eToken Pro 64k (4.2)
-
-usb:v0529p0620*
- ID_PRODUCT_FROM_DATABASE=Token JC
-
-usb:v052A*
- ID_VENDOR_FROM_DATABASE=Crescent Heart Software
-
-usb:v052B*
- ID_VENDOR_FROM_DATABASE=Tekom Technologies, Inc.
-
-usb:v052Bp0102*
- ID_PRODUCT_FROM_DATABASE=Ca508A HP1020 Camera v.1.3.1.6
-
-usb:v052Bp0801*
- ID_PRODUCT_FROM_DATABASE=Yakumo MegaImage 37
-
-usb:v052Bp1512*
- ID_PRODUCT_FROM_DATABASE=Yakumo MegaImage IV
-
-usb:v052Bp1513*
- ID_PRODUCT_FROM_DATABASE=Aosta CX100 Webcam
-
-usb:v052Bp1514*
- ID_PRODUCT_FROM_DATABASE=Aosta CX100 Webcam Storage
-
-usb:v052Bp1905*
- ID_PRODUCT_FROM_DATABASE=Yakumo MegaImage 47
-
-usb:v052Bp1911*
- ID_PRODUCT_FROM_DATABASE=Yakumo MegaImage 47 SL
-
-usb:v052Bp2202*
- ID_PRODUCT_FROM_DATABASE=WDM Still Image Capture
-
-usb:v052Bp2203*
- ID_PRODUCT_FROM_DATABASE=Sound Vision Stream Driver
-
-usb:v052Bp3A06*
- ID_PRODUCT_FROM_DATABASE=DigiLife DDV-5120A
-
-usb:v052BpD001*
- ID_PRODUCT_FROM_DATABASE=P35U Camera Capture
-
-usb:v052C*
- ID_VENDOR_FROM_DATABASE=Canon Information Systems, Inc.
-
-usb:v052D*
- ID_VENDOR_FROM_DATABASE=Avid Electronics Corp.
-
-usb:v052E*
- ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
-
-usb:v052F*
- ID_VENDOR_FROM_DATABASE=Unicore Software, Inc.
-
-usb:v0530*
- ID_VENDOR_FROM_DATABASE=American Microsystems, Inc.
-
-usb:v0531*
- ID_VENDOR_FROM_DATABASE=Wacom Technology Corp.
-
-usb:v0532*
- ID_VENDOR_FROM_DATABASE=Systech Corp.
-
-usb:v0533*
- ID_VENDOR_FROM_DATABASE=Alcatel Mobile Phones
-
-usb:v0534*
- ID_VENDOR_FROM_DATABASE=Motorola, Inc.
-
-usb:v0535*
- ID_VENDOR_FROM_DATABASE=LIH TZU Electric Co., Ltd
-
-usb:v0536*
- ID_VENDOR_FROM_DATABASE=Hand Held Products (Welch Allyn, Inc.)
-
-usb:v0536p01A0*
- ID_PRODUCT_FROM_DATABASE=PDT
-
-usb:v0537*
- ID_VENDOR_FROM_DATABASE=Inventec Corp.
-
-usb:v0538*
- ID_VENDOR_FROM_DATABASE=Caldera International, Inc. (SCO)
-
-usb:v0539*
- ID_VENDOR_FROM_DATABASE=Shyh Shiun Terminals Co., Ltd
-
-usb:v053A*
- ID_VENDOR_FROM_DATABASE=PrehKeyTec GmbH
-
-usb:v053Ap0B00*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v053B*
- ID_VENDOR_FROM_DATABASE=Global Village Communication
-
-usb:v053C*
- ID_VENDOR_FROM_DATABASE=Institut of Microelectronic & Mechatronic Systems
-
-usb:v053D*
- ID_VENDOR_FROM_DATABASE=Silicon Architect
-
-usb:v053E*
- ID_VENDOR_FROM_DATABASE=Mobility Electronics
-
-usb:v053F*
- ID_VENDOR_FROM_DATABASE=Synopsys, Inc.
-
-usb:v0540*
- ID_VENDOR_FROM_DATABASE=UniAccess AB
-
-usb:v0540p0101*
- ID_PRODUCT_FROM_DATABASE=Panache Surf ISDN TA
-
-usb:v0541*
- ID_VENDOR_FROM_DATABASE=Sirf Technology, Inc.
-
-usb:v0543*
- ID_VENDOR_FROM_DATABASE=ViewSonic Corp.
-
-usb:v0543p00FE*
- ID_PRODUCT_FROM_DATABASE=G773 Monitor Hub
-
-usb:v0543p00FF*
- ID_PRODUCT_FROM_DATABASE=P815 Monitor Hub
-
-usb:v0543p0BF2*
- ID_PRODUCT_FROM_DATABASE=airpanel V150 Wireless Smart Display
-
-usb:v0543p0BF3*
- ID_PRODUCT_FROM_DATABASE=airpanel V110 Wireless Smart Display
-
-usb:v0543p0ED9*
- ID_PRODUCT_FROM_DATABASE=Color Pocket PC V35
-
-usb:v0543p0F01*
- ID_PRODUCT_FROM_DATABASE=airsync Wi-Fi Wireless Adapter
-
-usb:v0543p1527*
- ID_PRODUCT_FROM_DATABASE=Color Pocket PC V36
-
-usb:v0543p1529*
- ID_PRODUCT_FROM_DATABASE=Color Pocket PC V37
-
-usb:v0543p152B*
- ID_PRODUCT_FROM_DATABASE=Color Pocket PC V38
-
-usb:v0543p152E*
- ID_PRODUCT_FROM_DATABASE=Pocket PC
-
-usb:v0543p1921*
- ID_PRODUCT_FROM_DATABASE=Communicator Pocket PC
-
-usb:v0543p1922*
- ID_PRODUCT_FROM_DATABASE=Smartphone
-
-usb:v0543p1923*
- ID_PRODUCT_FROM_DATABASE=Pocket PC V30
-
-usb:v0543p1A11*
- ID_PRODUCT_FROM_DATABASE=Wireless 802.11g Adapter
-
-usb:v0543p1E60*
- ID_PRODUCT_FROM_DATABASE=TA310 - ATSC/NTSC/PAL Driver(PCM4)
-
-usb:v0543p4153*
- ID_PRODUCT_FROM_DATABASE=ViewSonic G773 Control (?)
-
-usb:v0544*
- ID_VENDOR_FROM_DATABASE=Cristie Electronics, Ltd
-
-usb:v0545*
- ID_VENDOR_FROM_DATABASE=Xirlink, Inc.
-
-usb:v0545p7333*
- ID_PRODUCT_FROM_DATABASE=Trution Web Camera
-
-usb:v0545p8002*
- ID_PRODUCT_FROM_DATABASE=IBM NetCamera
-
-usb:v0545p8009*
- ID_PRODUCT_FROM_DATABASE=Veo PC Camera
-
-usb:v0545p800C*
- ID_PRODUCT_FROM_DATABASE=Veo Stingray
-
-usb:v0545p800D*
- ID_PRODUCT_FROM_DATABASE=Veo PC Camera
-
-usb:v0545p8080*
- ID_PRODUCT_FROM_DATABASE=IBM C-It Webcam
-
-usb:v0545p808A*
- ID_PRODUCT_FROM_DATABASE=Veo PC Camera
-
-usb:v0545p808B*
- ID_PRODUCT_FROM_DATABASE=Veo Stingray
-
-usb:v0545p808D*
- ID_PRODUCT_FROM_DATABASE=Veo PC Camera
-
-usb:v0545p810A*
- ID_PRODUCT_FROM_DATABASE=Veo Advanced Connect Webcam
-
-usb:v0545p810B*
- ID_PRODUCT_FROM_DATABASE=Veo PC Camera
-
-usb:v0545p810C*
- ID_PRODUCT_FROM_DATABASE=Veo PC Camera
-
-usb:v0545p8135*
- ID_PRODUCT_FROM_DATABASE=Veo Mobile/Advanced Web Camera
-
-usb:v0545p813A*
- ID_PRODUCT_FROM_DATABASE=Veo PC Camera
-
-usb:v0545p813B*
- ID_PRODUCT_FROM_DATABASE=Veo PC Camera
-
-usb:v0545p813C*
- ID_PRODUCT_FROM_DATABASE=Veo Mobile/Advanced Web Camera
-
-usb:v0545p8333*
- ID_PRODUCT_FROM_DATABASE=Veo Stingray/Connect Web Camera
-
-usb:v0545p888C*
- ID_PRODUCT_FROM_DATABASE=eVision 123 digital camera
-
-usb:v0545p888D*
- ID_PRODUCT_FROM_DATABASE=eVision 123 digital camera
-
-usb:v0546*
- ID_VENDOR_FROM_DATABASE=Polaroid Corp.
-
-usb:v0546p0DAF*
- ID_PRODUCT_FROM_DATABASE=PDC 2300Z
-
-usb:v0546p1BED*
- ID_PRODUCT_FROM_DATABASE=PDC 1320 Camera
-
-usb:v0546p3097*
- ID_PRODUCT_FROM_DATABASE=PDC 310
-
-usb:v0546p3155*
- ID_PRODUCT_FROM_DATABASE=PDC 3070 Camera
-
-usb:v0546p3187*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0546p3191*
- ID_PRODUCT_FROM_DATABASE=Ion 80 Camera
-
-usb:v0546p3273*
- ID_PRODUCT_FROM_DATABASE=PDC 2030 Camera
-
-usb:v0546p3304*
- ID_PRODUCT_FROM_DATABASE=a500 Digital Camera
-
-usb:v0546pDCCF*
- ID_PRODUCT_FROM_DATABASE=Sound Vision Stream Driver
-
-usb:v0547*
- ID_VENDOR_FROM_DATABASE=Anchor Chips, Inc.
-
-usb:v0547p0001*
- ID_PRODUCT_FROM_DATABASE=ICSI Bluetooth Device
-
-usb:v0547p1002*
- ID_PRODUCT_FROM_DATABASE=Python2 WDM Encoder
-
-usb:v0547p1006*
- ID_PRODUCT_FROM_DATABASE=Hantek DSO-2100 UF
-
-usb:v0547p2131*
- ID_PRODUCT_FROM_DATABASE=AN2131 EZUSB Microcontroller
-
-usb:v0547p2235*
- ID_PRODUCT_FROM_DATABASE=AN2235 EZUSB-FX Microcontroller
-
-usb:v0547p2710*
- ID_PRODUCT_FROM_DATABASE=EZ-Link Loader (EZLNKLDR.SYS)
-
-usb:v0547p2720*
- ID_PRODUCT_FROM_DATABASE=AN2720 USB-USB Bridge
-
-usb:v0547p2727*
- ID_PRODUCT_FROM_DATABASE=Xircom PGUNET USB-USB Bridge
-
-usb:v0547p2750*
- ID_PRODUCT_FROM_DATABASE=EZ-Link (EZLNKUSB.SYS)
-
-usb:v0547p2810*
- ID_PRODUCT_FROM_DATABASE=Cypress ATAPI Bridge
-
-usb:v0547p7777*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0547p9999*
- ID_PRODUCT_FROM_DATABASE=AN2131 uninitialized (?)
-
-usb:v0548*
- ID_VENDOR_FROM_DATABASE=Tyan Computer Corp.
-
-usb:v0548p1005*
- ID_PRODUCT_FROM_DATABASE=EZ Cart II GameBoy Flash Programmer
-
-usb:v0549*
- ID_VENDOR_FROM_DATABASE=Pixera Corp.
-
-usb:v054A*
- ID_VENDOR_FROM_DATABASE=Fujitsu Microelectronics, Inc.
-
-usb:v054B*
- ID_VENDOR_FROM_DATABASE=New Media Corp.
-
-usb:v054C*
- ID_VENDOR_FROM_DATABASE=Sony Corp.
-
-usb:v054Cp0001*
- ID_PRODUCT_FROM_DATABASE=HUB
-
-usb:v054Cp0002*
- ID_PRODUCT_FROM_DATABASE=Standard HUB
-
-usb:v054Cp0010*
- ID_PRODUCT_FROM_DATABASE=DSC-S30/S70/S75/F505V/F505/FD92/W1 Cybershot/Mavica Digital Camera
-
-usb:v054Cp0014*
- ID_PRODUCT_FROM_DATABASE=Nogatech USBVision (SY)
-
-usb:v054Cp0022*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter V2 (TPP)
-
-usb:v054Cp0023*
- ID_PRODUCT_FROM_DATABASE=CD Writer
-
-usb:v054Cp0024*
- ID_PRODUCT_FROM_DATABASE=Mavica CD-1000 Camera
-
-usb:v054Cp0025*
- ID_PRODUCT_FROM_DATABASE=NW-MS7 Walkman MemoryStick Reader
-
-usb:v054Cp002B*
- ID_PRODUCT_FROM_DATABASE=Portable USB Harddrive V2
-
-usb:v054Cp002C*
- ID_PRODUCT_FROM_DATABASE=USB Floppy Disk Drive
-
-usb:v054Cp002D*
- ID_PRODUCT_FROM_DATABASE=MSAC-US1 MemoryStick Reader
-
-usb:v054Cp002E*
- ID_PRODUCT_FROM_DATABASE=HandyCam MemoryStick Reader
-
-usb:v054Cp0030*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter V2 (TPP)
-
-usb:v054Cp0032*
- ID_PRODUCT_FROM_DATABASE=MemoryStick MSC-U01 Reader
-
-usb:v054Cp0035*
- ID_PRODUCT_FROM_DATABASE=Network Walkman (E)
-
-usb:v054Cp0036*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0037*
- ID_PRODUCT_FROM_DATABASE=MG Memory Stick Reader/Writer
-
-usb:v054Cp0038*
- ID_PRODUCT_FROM_DATABASE=Clie PEG-S300/D PalmOS PDA
-
-usb:v054Cp0039*
- ID_PRODUCT_FROM_DATABASE=Network Walkman (MS)
-
-usb:v054Cp003C*
- ID_PRODUCT_FROM_DATABASE=VAIO-MX LCD Control
-
-usb:v054Cp0045*
- ID_PRODUCT_FROM_DATABASE=Digital Imaging Video
-
-usb:v054Cp0046*
- ID_PRODUCT_FROM_DATABASE=Network Walkman
-
-usb:v054Cp004A*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Hi-Fi System
-
-usb:v054Cp004B*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Reader/Writer
-
-usb:v054Cp004E*
- ID_PRODUCT_FROM_DATABASE=DSC-xxx (ptp)
-
-usb:v054Cp0056*
- ID_PRODUCT_FROM_DATABASE=MG Memory Stick Reader/Writer
-
-usb:v054Cp0058*
- ID_PRODUCT_FROM_DATABASE=Clie PEG-N7x0C PalmOS PDA Mass Storage
-
-usb:v054Cp0066*
- ID_PRODUCT_FROM_DATABASE=Clie PEG-N7x0C/PEG-T425 PalmOS PDA Serial
-
-usb:v054Cp0067*
- ID_PRODUCT_FROM_DATABASE=CMR-PC3 Webcam
-
-usb:v054Cp0069*
- ID_PRODUCT_FROM_DATABASE=Memorystick MSC-U03 Reader
-
-usb:v054Cp006C*
- ID_PRODUCT_FROM_DATABASE=FeliCa S310 [PaSoRi]
-
-usb:v054Cp006D*
- ID_PRODUCT_FROM_DATABASE=Clie PEG-T425 PDA Mass Storage
-
-usb:v054Cp006F*
- ID_PRODUCT_FROM_DATABASE=Network Walkman (EV)
-
-usb:v054Cp0073*
- ID_PRODUCT_FROM_DATABASE=Storage CRX1750U
-
-usb:v054Cp0075*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0076*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter ACR-U20
-
-usb:v054Cp007C*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp007F*
- ID_PRODUCT_FROM_DATABASE=IC Recorder (MS)
-
-usb:v054Cp0080*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0081*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0084*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0085*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0086*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp008B*
- ID_PRODUCT_FROM_DATABASE=Micro Vault 64M Mass Storage
-
-usb:v054Cp0095*
- ID_PRODUCT_FROM_DATABASE=Clie s360
-
-usb:v054Cp0099*
- ID_PRODUCT_FROM_DATABASE=Clie NR70 PDA Mass Storage
-
-usb:v054Cp009A*
- ID_PRODUCT_FROM_DATABASE=Clie NR70 PDA Serial
-
-usb:v054Cp00AB*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera (PCGA-UVC10)
-
-usb:v054Cp00AF*
- ID_PRODUCT_FROM_DATABASE=DPP-EX Series Digital Photo Printer
-
-usb:v054Cp00BF*
- ID_PRODUCT_FROM_DATABASE=IC Recorder (S)
-
-usb:v054Cp00C0*
- ID_PRODUCT_FROM_DATABASE=Handycam DCR-30
-
-usb:v054Cp00C6*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp00C7*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp00C8*
- ID_PRODUCT_FROM_DATABASE=MZ-N710 Minidisc Walkman
-
-usb:v054Cp00C9*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp00CA*
- ID_PRODUCT_FROM_DATABASE=MZ-DN430 Minidisc Walkman
-
-usb:v054Cp00CB*
- ID_PRODUCT_FROM_DATABASE=MSAC-US20 Memory Stick Reader
-
-usb:v054Cp00DA*
- ID_PRODUCT_FROM_DATABASE=Clie nx60
-
-usb:v054Cp00E8*
- ID_PRODUCT_FROM_DATABASE=Network Walkman (MS)
-
-usb:v054Cp00E9*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v054Cp00EB*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0101*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0103*
- ID_PRODUCT_FROM_DATABASE=IC Recorder (ST)
-
-usb:v054Cp0105*
- ID_PRODUCT_FROM_DATABASE=Micro Vault Hub
-
-usb:v054Cp0107*
- ID_PRODUCT_FROM_DATABASE=VCC-U01 Visual Communication Camera
-
-usb:v054Cp0110*
- ID_PRODUCT_FROM_DATABASE=Digital Imaging Video
-
-usb:v054Cp0113*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0116*
- ID_PRODUCT_FROM_DATABASE=IC Recorder (P)
-
-usb:v054Cp0144*
- ID_PRODUCT_FROM_DATABASE=Clie PEG-TH55 PDA
-
-usb:v054Cp0147*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera (PCGA-UVC11)
-
-usb:v054Cp014C*
- ID_PRODUCT_FROM_DATABASE=Aiwa AM-NX9 Net MD Music Recorder MDLP
-
-usb:v054Cp014D*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Reader/Writer
-
-usb:v054Cp0154*
- ID_PRODUCT_FROM_DATABASE=Eyetoy Audio Device
-
-usb:v054Cp015F*
- ID_PRODUCT_FROM_DATABASE=IC Recorder (BM)
-
-usb:v054Cp0169*
- ID_PRODUCT_FROM_DATABASE=Clie PEG-TJ35 PDA Serial
-
-usb:v054Cp016A*
- ID_PRODUCT_FROM_DATABASE=Clie PEG-TJ35 PDA Mass Storage
-
-usb:v054Cp016B*
- ID_PRODUCT_FROM_DATABASE=Mobile HDD
-
-usb:v054Cp016D*
- ID_PRODUCT_FROM_DATABASE=IC Recorder (SX)
-
-usb:v054Cp016E*
- ID_PRODUCT_FROM_DATABASE=DPP-EX50 Digital Photo Printer
-
-usb:v054Cp0171*
- ID_PRODUCT_FROM_DATABASE=Fingerprint Sensor 3500
-
-usb:v054Cp017E*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp017F*
- ID_PRODUCT_FROM_DATABASE=Hi-MD WALKMAN
-
-usb:v054Cp0180*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0181*
- ID_PRODUCT_FROM_DATABASE=Hi-MD WALKMAN
-
-usb:v054Cp0182*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0183*
- ID_PRODUCT_FROM_DATABASE=Hi-MD WALKMAN
-
-usb:v054Cp0184*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0185*
- ID_PRODUCT_FROM_DATABASE=Hi-MD WALKMAN
-
-usb:v054Cp0186*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0187*
- ID_PRODUCT_FROM_DATABASE=Hi-MD MZ-NH600 WALKMAN
-
-usb:v054Cp0188*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp018A*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp018B*
- ID_PRODUCT_FROM_DATABASE=Hi-MD SOUND GATE
-
-usb:v054Cp019E*
- ID_PRODUCT_FROM_DATABASE=Micro Vault 1.0G Mass Storage
-
-usb:v054Cp01AD*
- ID_PRODUCT_FROM_DATABASE=ATRAC HDD PA
-
-usb:v054Cp01BB*
- ID_PRODUCT_FROM_DATABASE=FeliCa S320 [PaSoRi]
-
-usb:v054Cp01BD*
- ID_PRODUCT_FROM_DATABASE=MRW62E Multi-Card Reader/Writer
-
-usb:v054Cp01C3*
- ID_PRODUCT_FROM_DATABASE=NW-E55 Network Walkman
-
-usb:v054Cp01C6*
- ID_PRODUCT_FROM_DATABASE=MEMORY P-AUDIO
-
-usb:v054Cp01C7*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v054Cp01C8*
- ID_PRODUCT_FROM_DATABASE=PSP Type A
-
-usb:v054Cp01C9*
- ID_PRODUCT_FROM_DATABASE=PSP Type B
-
-usb:v054Cp01D0*
- ID_PRODUCT_FROM_DATABASE=DVD+RW External Drive DRU-700A
-
-usb:v054Cp01D5*
- ID_PRODUCT_FROM_DATABASE=IC RECORDER
-
-usb:v054Cp01DE*
- ID_PRODUCT_FROM_DATABASE=VRD-VC10 [Video Capture]
-
-usb:v054Cp01E9*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp01EA*
- ID_PRODUCT_FROM_DATABASE=Hi-MD WALKMAN
-
-usb:v054Cp01EE*
- ID_PRODUCT_FROM_DATABASE=IC RECORDER
-
-usb:v054Cp01FA*
- ID_PRODUCT_FROM_DATABASE=IC Recorder (P)
-
-usb:v054Cp01FB*
- ID_PRODUCT_FROM_DATABASE=NW-E405 Network Walkman
-
-usb:v054Cp020F*
- ID_PRODUCT_FROM_DATABASE=Device
-
-usb:v054Cp0210*
- ID_PRODUCT_FROM_DATABASE=ATRAC HDD PA
-
-usb:v054Cp0219*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp021A*
- ID_PRODUCT_FROM_DATABASE=Hi-MD WALKMAN
-
-usb:v054Cp021B*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp021C*
- ID_PRODUCT_FROM_DATABASE=Hi-MD WALKMAN
-
-usb:v054Cp021D*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0227*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v054Cp022C*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp022D*
- ID_PRODUCT_FROM_DATABASE=Hi-MD AUDIO
-
-usb:v054Cp0233*
- ID_PRODUCT_FROM_DATABASE=ATRAC HDD PA
-
-usb:v054Cp0236*
- ID_PRODUCT_FROM_DATABASE=Mobile HDD
-
-usb:v054Cp023B*
- ID_PRODUCT_FROM_DATABASE=DVD+RW External Drive DRU-800UL
-
-usb:v054Cp023C*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp023D*
- ID_PRODUCT_FROM_DATABASE=Hi-MD WALKMAN
-
-usb:v054Cp0243*
- ID_PRODUCT_FROM_DATABASE=MicroVault Flash Drive
-
-usb:v054Cp024B*
- ID_PRODUCT_FROM_DATABASE=Vaio VGX Mouse
-
-usb:v054Cp0257*
- ID_PRODUCT_FROM_DATABASE=IFU-WLM2 USB Wireless LAN Module (Wireless Mode)
-
-usb:v054Cp0258*
- ID_PRODUCT_FROM_DATABASE=IFU-WLM2 USB Wireless LAN Module (Memory Mode)
-
-usb:v054Cp0259*
- ID_PRODUCT_FROM_DATABASE=IC RECORDER
-
-usb:v054Cp0267*
- ID_PRODUCT_FROM_DATABASE=Tachikoma Device
-
-usb:v054Cp0268*
- ID_PRODUCT_FROM_DATABASE=Batoh Device / PlayStation 3 Controller
-
-usb:v054Cp0269*
- ID_PRODUCT_FROM_DATABASE=HDD WALKMAN
-
-usb:v054Cp026A*
- ID_PRODUCT_FROM_DATABASE=HDD WALKMAN
-
-usb:v054Cp0271*
- ID_PRODUCT_FROM_DATABASE=IC Recorder (P)
-
-usb:v054Cp027C*
- ID_PRODUCT_FROM_DATABASE=NETWORK WALKMAN
-
-usb:v054Cp027E*
- ID_PRODUCT_FROM_DATABASE=SONY Communicator
-
-usb:v054Cp027F*
- ID_PRODUCT_FROM_DATABASE=IC RECORDER
-
-usb:v054Cp0286*
- ID_PRODUCT_FROM_DATABASE=Net MD
-
-usb:v054Cp0287*
- ID_PRODUCT_FROM_DATABASE=Hi-MD WALKMAN
-
-usb:v054Cp0290*
- ID_PRODUCT_FROM_DATABASE=VGP-UVC100 Visual Communication Camera
-
-usb:v054Cp029B*
- ID_PRODUCT_FROM_DATABASE=PRS-500 eBook reader
-
-usb:v054Cp02A5*
- ID_PRODUCT_FROM_DATABASE=MicroVault Flash Drive
-
-usb:v054Cp02AF*
- ID_PRODUCT_FROM_DATABASE=Handycam DCR-DVD306E
-
-usb:v054Cp02C4*
- ID_PRODUCT_FROM_DATABASE=Device
-
-usb:v054Cp02D1*
- ID_PRODUCT_FROM_DATABASE=DVD RW
-
-usb:v054Cp02D2*
- ID_PRODUCT_FROM_DATABASE=PSP Slim
-
-usb:v054Cp02E1*
- ID_PRODUCT_FROM_DATABASE=FeliCa S330 [PaSoRi]
-
-usb:v054Cp02EA*
- ID_PRODUCT_FROM_DATABASE=PlayStation 3 Memory Card Adaptor
-
-usb:v054Cp02F9*
- ID_PRODUCT_FROM_DATABASE=DSC-H9
-
-usb:v054Cp0317*
- ID_PRODUCT_FROM_DATABASE=WALKMAN
-
-usb:v054Cp031A*
- ID_PRODUCT_FROM_DATABASE=Walkman NWD-B103F
-
-usb:v054Cp031E*
- ID_PRODUCT_FROM_DATABASE=PRS-300/PRS-505 eBook reader
-
-usb:v054Cp0325*
- ID_PRODUCT_FROM_DATABASE=NWZ-A818
-
-usb:v054Cp033E*
- ID_PRODUCT_FROM_DATABASE=DSC-W120/W290
-
-usb:v054Cp0346*
- ID_PRODUCT_FROM_DATABASE=Handycam DCR-SR55E
-
-usb:v054Cp0348*
- ID_PRODUCT_FROM_DATABASE=HandyCam HDR-TG3E
-
-usb:v054Cp035B*
- ID_PRODUCT_FROM_DATABASE=Walkman NWZ-A828
-
-usb:v054Cp035C*
- ID_PRODUCT_FROM_DATABASE=NWZ-A726/A728/A729
-
-usb:v054Cp0382*
- ID_PRODUCT_FROM_DATABASE=Memory Stick PRO-HG Duo Adaptor (MSAC-UAH1)
-
-usb:v054Cp0385*
- ID_PRODUCT_FROM_DATABASE=Walkman NWZ-E436F
-
-usb:v054Cp0387*
- ID_PRODUCT_FROM_DATABASE=IC Recorder (P)
-
-usb:v054Cp03BC*
- ID_PRODUCT_FROM_DATABASE=Webbie HD - MHS-CM1
-
-usb:v054Cp03D3*
- ID_PRODUCT_FROM_DATABASE=DR-BT100CX
-
-usb:v054Cp03D5*
- ID_PRODUCT_FROM_DATABASE=PlayStation Move motion controller
-
-usb:v054Cp03FC*
- ID_PRODUCT_FROM_DATABASE=WALKMAN [NWZ-E345]
-
-usb:v054Cp03FD*
- ID_PRODUCT_FROM_DATABASE=Walkman NWZ-E443
-
-usb:v054Cp042F*
- ID_PRODUCT_FROM_DATABASE=PlayStation Move navigation controller
-
-usb:v054Cp0440*
- ID_PRODUCT_FROM_DATABASE=DSC-H55
-
-usb:v054Cp0485*
- ID_PRODUCT_FROM_DATABASE=MHS-PM5 HD camcorder
-
-usb:v054Cp04CB*
- ID_PRODUCT_FROM_DATABASE=WALKMAN NWZ-E354
-
-usb:v054Cp1000*
- ID_PRODUCT_FROM_DATABASE=Wireless Buzz! Receiver
-
-usb:v054D*
- ID_VENDOR_FROM_DATABASE=Try Corp.
-
-usb:v054E*
- ID_VENDOR_FROM_DATABASE=Proside Corp.
-
-usb:v054F*
- ID_VENDOR_FROM_DATABASE=WYSE Technology Taiwan
-
-usb:v0550*
- ID_VENDOR_FROM_DATABASE=Fuji Xerox Co., Ltd
-
-usb:v0550p0002*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v0550p0004*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v0550p0005*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v0551*
- ID_VENDOR_FROM_DATABASE=CompuTrend Systems, Inc.
-
-usb:v0552*
- ID_VENDOR_FROM_DATABASE=Philips Monitors
-
-usb:v0553*
- ID_VENDOR_FROM_DATABASE=STMicroelectronics Imaging Division (VLSI Vision)
-
-usb:v0553p0001*
- ID_PRODUCT_FROM_DATABASE=TerraCAM
-
-usb:v0553p0002*
- ID_PRODUCT_FROM_DATABASE=CPiA Webcam
-
-usb:v0553p0100*
- ID_PRODUCT_FROM_DATABASE=STV0672 Camera
-
-usb:v0553p0140*
- ID_PRODUCT_FROM_DATABASE=Video Camera
-
-usb:v0553p0150*
- ID_PRODUCT_FROM_DATABASE=CDE CAM 100
-
-usb:v0553p0151*
- ID_PRODUCT_FROM_DATABASE=Digital Blue QX5 Microscope
-
-usb:v0553p0200*
- ID_PRODUCT_FROM_DATABASE=Dual-mode Camera0
-
-usb:v0553p0201*
- ID_PRODUCT_FROM_DATABASE=Dual-mode Camera1
-
-usb:v0553p0202*
- ID_PRODUCT_FROM_DATABASE=Aiptek PenCam 1
-
-usb:v0553p0674*
- ID_PRODUCT_FROM_DATABASE=Multi-mode Camera
-
-usb:v0553p0679*
- ID_PRODUCT_FROM_DATABASE=NMS Video Camera (Webcam)
-
-usb:v0553p1002*
- ID_PRODUCT_FROM_DATABASE=Che-ez! Splash
-
-usb:v0554*
- ID_VENDOR_FROM_DATABASE=Dictaphone Corp.
-
-usb:v0555*
- ID_VENDOR_FROM_DATABASE=ANAM S&T Co., Ltd
-
-usb:v0556*
- ID_VENDOR_FROM_DATABASE=Asahi Kasei Microsystems Co., Ltd
-
-usb:v0556p0001*
- ID_PRODUCT_FROM_DATABASE=AK5370 I/F A/D Converter
-
-usb:v0557*
- ID_VENDOR_FROM_DATABASE=ATEN International Co., Ltd
-
-usb:v0557p2001*
- ID_PRODUCT_FROM_DATABASE=UC-1284 Printer Port
-
-usb:v0557p2002*
- ID_PRODUCT_FROM_DATABASE=10Mbps Ethernet [klsi]
-
-usb:v0557p2004*
- ID_PRODUCT_FROM_DATABASE=UC-100KM PS/2 Mouse and Keyboard adapter
-
-usb:v0557p2006*
- ID_PRODUCT_FROM_DATABASE=UC-1284B Printer Port
-
-usb:v0557p2007*
- ID_PRODUCT_FROM_DATABASE=UC-110T 100Mbps Ethernet [pegasus]
-
-usb:v0557p2008*
- ID_PRODUCT_FROM_DATABASE=UC-232A Serial Port [pl2303]
-
-usb:v0557p2009*
- ID_PRODUCT_FROM_DATABASE=UC-210T Ethernet
-
-usb:v0557p2011*
- ID_PRODUCT_FROM_DATABASE=UC-2324 4xSerial Ports [mos7840]
-
-usb:v0557p2202*
- ID_PRODUCT_FROM_DATABASE=CS124U Miniview II KVM Switch
-
-usb:v0557p2213*
- ID_PRODUCT_FROM_DATABASE=CS682 2-Port USB 2.0 DVI KVM Switch
-
-usb:v0557p2221*
- ID_PRODUCT_FROM_DATABASE=Winbond Hermon
-
-usb:v0557p2404*
- ID_PRODUCT_FROM_DATABASE=4-port switch
-
-usb:v0557p2600*
- ID_PRODUCT_FROM_DATABASE=IDE Bridge
-
-usb:v0557p2701*
- ID_PRODUCT_FROM_DATABASE=CE700A KVM Extender
-
-usb:v0557p4000*
- ID_PRODUCT_FROM_DATABASE=DSB-650 10Mbps Ethernet [klsi]
-
-usb:v0557p7000*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v0557p7820*
- ID_PRODUCT_FROM_DATABASE=UC-2322 2xSerial Ports [mos7820]
-
-usb:v0558*
- ID_VENDOR_FROM_DATABASE=Truevision, Inc.
-
-usb:v0558p1009*
- ID_PRODUCT_FROM_DATABASE=GW Instek GDS-1000 Oscilloscope
-
-usb:v0558p100A*
- ID_PRODUCT_FROM_DATABASE=GW Instek GDS-1000A Oscilloscope
-
-usb:v0558p2009*
- ID_PRODUCT_FROM_DATABASE=GW Instek GDS-2000 Oscilloscope
-
-usb:v0559*
- ID_VENDOR_FROM_DATABASE=Cadence Design Systems, Inc.
-
-usb:v055A*
- ID_VENDOR_FROM_DATABASE=Kenwood USA
-
-usb:v055B*
- ID_VENDOR_FROM_DATABASE=KnowledgeTek, Inc.
-
-usb:v055C*
- ID_VENDOR_FROM_DATABASE=Proton Electronic Ind.
-
-usb:v055D*
- ID_VENDOR_FROM_DATABASE=Samsung Electro-Mechanics Co.
-
-usb:v055Dp0001*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v055Dp0BB1*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v055Dp1030*
- ID_PRODUCT_FROM_DATABASE=Optical Wheel Mouse (OMS3CB/OMGB30)
-
-usb:v055Dp1031*
- ID_PRODUCT_FROM_DATABASE=Optical Wheel Mouse (OMA3CB/OMGI30)
-
-usb:v055Dp1040*
- ID_PRODUCT_FROM_DATABASE=Mouse HID Device
-
-usb:v055Dp1050*
- ID_PRODUCT_FROM_DATABASE=E-Mail Optical Wheel Mouse (OMS3CE)
-
-usb:v055Dp1080*
- ID_PRODUCT_FROM_DATABASE=Optical Wheel Mouse (OMS3CH)
-
-usb:v055Dp2020*
- ID_PRODUCT_FROM_DATABASE=Floppy Disk Drive
-
-usb:v055Dp6780*
- ID_PRODUCT_FROM_DATABASE=Keyboard V1
-
-usb:v055Dp6781*
- ID_PRODUCT_FROM_DATABASE=Keyboard Mouse
-
-usb:v055Dp8001*
- ID_PRODUCT_FROM_DATABASE=E.M. Hub
-
-usb:v055Dp9000*
- ID_PRODUCT_FROM_DATABASE=AnyCam [pwc]
-
-usb:v055Dp9001*
- ID_PRODUCT_FROM_DATABASE=MPC-C30 AnyCam Premium for Notebooks [pwc]
-
-usb:v055DpA000*
- ID_PRODUCT_FROM_DATABASE=SWL-2100U
-
-usb:v055DpA010*
- ID_PRODUCT_FROM_DATABASE=WLAN Adapter(SWL-2300)
-
-usb:v055DpA011*
- ID_PRODUCT_FROM_DATABASE=Boot Device
-
-usb:v055DpA012*
- ID_PRODUCT_FROM_DATABASE=WLAN Adapter(SWL-2300)
-
-usb:v055DpA013*
- ID_PRODUCT_FROM_DATABASE=WLAN Adapter(SWL-2350)
-
-usb:v055DpA230*
- ID_PRODUCT_FROM_DATABASE=Boot Device
-
-usb:v055DpB000*
- ID_PRODUCT_FROM_DATABASE=11Mbps WLAN Mini Adapter
-
-usb:v055DpB230*
- ID_PRODUCT_FROM_DATABASE=Netopia 802.11b WLAN Adapter
-
-usb:v055DpB231*
- ID_PRODUCT_FROM_DATABASE=LG Wireless LAN 11b Adapter
-
-usb:v055E*
- ID_VENDOR_FROM_DATABASE=CTX Opto-Electronics Corp.
-
-usb:v055F*
- ID_VENDOR_FROM_DATABASE=Mustek Systems, Inc.
-
-usb:v055Fp0001*
- ID_PRODUCT_FROM_DATABASE=ScanExpress 1200 CU
-
-usb:v055Fp0002*
- ID_PRODUCT_FROM_DATABASE=ScanExpress 600 CU
-
-usb:v055Fp0003*
- ID_PRODUCT_FROM_DATABASE=ScanExpress 1200 USB
-
-usb:v055Fp0006*
- ID_PRODUCT_FROM_DATABASE=ScanExpress 1200 UB
-
-usb:v055Fp0007*
- ID_PRODUCT_FROM_DATABASE=ScanExpress 1200 USB Plus
-
-usb:v055Fp0008*
- ID_PRODUCT_FROM_DATABASE=ScanExpress 1200 CU Plus
-
-usb:v055Fp0010*
- ID_PRODUCT_FROM_DATABASE=BearPaw 1200F
-
-usb:v055Fp0210*
- ID_PRODUCT_FROM_DATABASE=ScanExpress A3 USB
-
-usb:v055Fp0218*
- ID_PRODUCT_FROM_DATABASE=BearPaw 2400 TA
-
-usb:v055Fp0219*
- ID_PRODUCT_FROM_DATABASE=BearPaw 2400 TA Plus
-
-usb:v055Fp021A*
- ID_PRODUCT_FROM_DATABASE=BearPaw 2448 TA Plus
-
-usb:v055Fp021B*
- ID_PRODUCT_FROM_DATABASE=BearPaw 1200 CU Plus
-
-usb:v055Fp021C*
- ID_PRODUCT_FROM_DATABASE=BearPaw 1200 CU Plus
-
-usb:v055Fp021D*
- ID_PRODUCT_FROM_DATABASE=BearPaw 2400 CU Plus
-
-usb:v055Fp021E*
- ID_PRODUCT_FROM_DATABASE=BearPaw 1200 TA/CS
-
-usb:v055Fp021F*
- ID_PRODUCT_FROM_DATABASE=SNAPSCAN e22
-
-usb:v055Fp0400*
- ID_PRODUCT_FROM_DATABASE=BearPaw 2400 TA Pro
-
-usb:v055Fp0401*
- ID_PRODUCT_FROM_DATABASE=P 3600 A3 Pro
-
-usb:v055Fp0408*
- ID_PRODUCT_FROM_DATABASE=BearPaw 2448 CU Pro
-
-usb:v055Fp0409*
- ID_PRODUCT_FROM_DATABASE=BearPaw 2448 TA Pro
-
-usb:v055Fp040B*
- ID_PRODUCT_FROM_DATABASE=ScanExpress A3 USB 1200 PRO
-
-usb:v055Fp0873*
- ID_PRODUCT_FROM_DATABASE=ScanExpress 600 USB
-
-usb:v055Fp1000*
- ID_PRODUCT_FROM_DATABASE=BearPaw 4800 TA Pro
-
-usb:v055FpA350*
- ID_PRODUCT_FROM_DATABASE=gSmart 350 Camera
-
-usb:v055FpA800*
- ID_PRODUCT_FROM_DATABASE=MDC 800 Camera
-
-usb:v055FpB500*
- ID_PRODUCT_FROM_DATABASE=MDC 3000 Camera
-
-usb:v055FpC005*
- ID_PRODUCT_FROM_DATABASE=PC CAM 300A
-
-usb:v055FpC200*
- ID_PRODUCT_FROM_DATABASE=gSmart 300
-
-usb:v055FpC211*
- ID_PRODUCT_FROM_DATABASE=Kowa Bs888e Microcamera
-
-usb:v055FpC220*
- ID_PRODUCT_FROM_DATABASE=gSmart mini
-
-usb:v055FpC230*
- ID_PRODUCT_FROM_DATABASE=Digicam 330K
-
-usb:v055FpC232*
- ID_PRODUCT_FROM_DATABASE=MDC3500 Camera
-
-usb:v055FpC360*
- ID_PRODUCT_FROM_DATABASE=DV 4000 Camera
-
-usb:v055FpC420*
- ID_PRODUCT_FROM_DATABASE=gSmart mini 2 Camera
-
-usb:v055FpC430*
- ID_PRODUCT_FROM_DATABASE=gSmart LCD 2 Camera
-
-usb:v055FpC440*
- ID_PRODUCT_FROM_DATABASE=DV 3000 Camera
-
-usb:v055FpC520*
- ID_PRODUCT_FROM_DATABASE=gSmart mini 3 Camera
-
-usb:v055FpC530*
- ID_PRODUCT_FROM_DATABASE=gSmart LCD 2 Camera
-
-usb:v055FpC540*
- ID_PRODUCT_FROM_DATABASE=gSmart D30 Camera
-
-usb:v055FpC630*
- ID_PRODUCT_FROM_DATABASE=MDC 4000 Camera
-
-usb:v055FpC631*
- ID_PRODUCT_FROM_DATABASE=MDC 4000 Camera
-
-usb:v055FpC650*
- ID_PRODUCT_FROM_DATABASE=MDC 5500Z Camera
-
-usb:v055FpD001*
- ID_PRODUCT_FROM_DATABASE=WCam 300
-
-usb:v055FpD003*
- ID_PRODUCT_FROM_DATABASE=WCam 300A
-
-usb:v055FpD004*
- ID_PRODUCT_FROM_DATABASE=WCam 300AN
-
-usb:v0560*
- ID_VENDOR_FROM_DATABASE=Interface Corp.
-
-usb:v0561*
- ID_VENDOR_FROM_DATABASE=Oasis Design, Inc.
-
-usb:v0562*
- ID_VENDOR_FROM_DATABASE=Telex Communications, Inc.
-
-usb:v0562p0001*
- ID_PRODUCT_FROM_DATABASE=Enhanced Microphone
-
-usb:v0562p0002*
- ID_PRODUCT_FROM_DATABASE=Telex Microphone
-
-usb:v0563*
- ID_VENDOR_FROM_DATABASE=Immersion Corp.
-
-usb:v0564*
- ID_VENDOR_FROM_DATABASE=Kodak Digital Product Center, Japan Ltd. (formerly Chinon Industries Inc.)
-
-usb:v0565*
- ID_VENDOR_FROM_DATABASE=Peracom Networks, Inc.
-
-usb:v0565p0001*
- ID_PRODUCT_FROM_DATABASE=Serial Port [etek]
-
-usb:v0565p0002*
- ID_PRODUCT_FROM_DATABASE=Enet Ethernet [klsi]
-
-usb:v0565p0003*
- ID_PRODUCT_FROM_DATABASE=@Home Networks Ethernet [klsi]
-
-usb:v0565p0005*
- ID_PRODUCT_FROM_DATABASE=Enet2 Ethernet [klsi]
-
-usb:v0565p0041*
- ID_PRODUCT_FROM_DATABASE=Peracom Remote NDIS Ethernet Adapter
-
-usb:v0566*
- ID_VENDOR_FROM_DATABASE=Monterey International Corp.
-
-usb:v0566p0110*
- ID_PRODUCT_FROM_DATABASE=ViewMate Desktop Mouse CC2201
-
-usb:v0566p1001*
- ID_PRODUCT_FROM_DATABASE=ViewMate Desktop Mouse CC2201
-
-usb:v0566p1002*
- ID_PRODUCT_FROM_DATABASE=ViewMate Desktop Mouse CC2201
-
-usb:v0566p1003*
- ID_PRODUCT_FROM_DATABASE=ViewMate Desktop Mouse CC2201
-
-usb:v0566p1004*
- ID_PRODUCT_FROM_DATABASE=ViewMate Desktop Mouse CC2201
-
-usb:v0566p1005*
- ID_PRODUCT_FROM_DATABASE=ViewMate Desktop Mouse CC2201
-
-usb:v0566p1006*
- ID_PRODUCT_FROM_DATABASE=ViewMate Desktop Mouse CC2201
-
-usb:v0566p1007*
- ID_PRODUCT_FROM_DATABASE=ViewMate Desktop Mouse CC2201
-
-usb:v0566p2800*
- ID_PRODUCT_FROM_DATABASE=MIC K/B
-
-usb:v0566p2801*
- ID_PRODUCT_FROM_DATABASE=MIC K/B Mouse
-
-usb:v0566p2802*
- ID_PRODUCT_FROM_DATABASE=Kbd Hub
-
-usb:v0566p3004*
- ID_PRODUCT_FROM_DATABASE=Genius KB-29E
-
-usb:v0566p3107*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v0567*
- ID_VENDOR_FROM_DATABASE=Xyratex International, Ltd
-
-usb:v0568*
- ID_VENDOR_FROM_DATABASE=Quartz Ingenierie
-
-usb:v0569*
- ID_VENDOR_FROM_DATABASE=SegaSoft
-
-usb:v056A*
- ID_VENDOR_FROM_DATABASE=Wacom Co., Ltd
-
-usb:v056Ap0000*
- ID_PRODUCT_FROM_DATABASE=PenPartner
-
-usb:v056Ap0001*
- ID_PRODUCT_FROM_DATABASE=PenPartner 4x5
-
-usb:v056Ap0002*
- ID_PRODUCT_FROM_DATABASE=PenPartner 6x8
-
-usb:v056Ap0003*
- ID_PRODUCT_FROM_DATABASE=Cintiq Partner
-
-usb:v056Ap0010*
- ID_PRODUCT_FROM_DATABASE=Graphire
-
-usb:v056Ap0011*
- ID_PRODUCT_FROM_DATABASE=Graphire 2 4x5
-
-usb:v056Ap0012*
- ID_PRODUCT_FROM_DATABASE=Graphire 2 5x7
-
-usb:v056Ap0013*
- ID_PRODUCT_FROM_DATABASE=Graphire 3 4x5
-
-usb:v056Ap0014*
- ID_PRODUCT_FROM_DATABASE=Graphire 3 6x8
-
-usb:v056Ap0015*
- ID_PRODUCT_FROM_DATABASE=Graphire 4 4x5
-
-usb:v056Ap0016*
- ID_PRODUCT_FROM_DATABASE=Graphire 4 6x8
-
-usb:v056Ap0017*
- ID_PRODUCT_FROM_DATABASE=CTE-450 [Bamboo Fun]
-
-usb:v056Ap0018*
- ID_PRODUCT_FROM_DATABASE=Bamboo Fun 6x8
-
-usb:v056Ap0019*
- ID_PRODUCT_FROM_DATABASE=Bamboo One Medium
-
-usb:v056Ap0020*
- ID_PRODUCT_FROM_DATABASE=Intuos 4x5
-
-usb:v056Ap0021*
- ID_PRODUCT_FROM_DATABASE=Intuos 6x8
-
-usb:v056Ap0022*
- ID_PRODUCT_FROM_DATABASE=Intuos 9x12
-
-usb:v056Ap0023*
- ID_PRODUCT_FROM_DATABASE=Intuos 12x12
-
-usb:v056Ap0024*
- ID_PRODUCT_FROM_DATABASE=Intuos 12x18
-
-usb:v056Ap0026*
- ID_PRODUCT_FROM_DATABASE=Intuos5 touch S
-
-usb:v056Ap0027*
- ID_PRODUCT_FROM_DATABASE=Intuos5 touch M
-
-usb:v056Ap0028*
- ID_PRODUCT_FROM_DATABASE=Intuos5 touch L
-
-usb:v056Ap0029*
- ID_PRODUCT_FROM_DATABASE=Intuos5 S
-
-usb:v056Ap002A*
- ID_PRODUCT_FROM_DATABASE=Intuos5 M
-
-usb:v056Ap0030*
- ID_PRODUCT_FROM_DATABASE=PL400
-
-usb:v056Ap0031*
- ID_PRODUCT_FROM_DATABASE=PL500
-
-usb:v056Ap0032*
- ID_PRODUCT_FROM_DATABASE=PL600
-
-usb:v056Ap0033*
- ID_PRODUCT_FROM_DATABASE=PL600SX
-
-usb:v056Ap0034*
- ID_PRODUCT_FROM_DATABASE=PL550
-
-usb:v056Ap0035*
- ID_PRODUCT_FROM_DATABASE=PL800
-
-usb:v056Ap0037*
- ID_PRODUCT_FROM_DATABASE=PL700
-
-usb:v056Ap0038*
- ID_PRODUCT_FROM_DATABASE=PL510
-
-usb:v056Ap0039*
- ID_PRODUCT_FROM_DATABASE=DTU-710
-
-usb:v056Ap003F*
- ID_PRODUCT_FROM_DATABASE=Cintiq 21UX (DTZ-2100)
-
-usb:v056Ap0041*
- ID_PRODUCT_FROM_DATABASE=Intuos2 4x5
-
-usb:v056Ap0042*
- ID_PRODUCT_FROM_DATABASE=Intuos2 6x8
-
-usb:v056Ap0043*
- ID_PRODUCT_FROM_DATABASE=Intuos2 9x12
-
-usb:v056Ap0044*
- ID_PRODUCT_FROM_DATABASE=Intuos2 12x12
-
-usb:v056Ap0045*
- ID_PRODUCT_FROM_DATABASE=Intuos2 12x18
-
-usb:v056Ap0047*
- ID_PRODUCT_FROM_DATABASE=Intuos2 6x8
-
-usb:v056Ap0060*
- ID_PRODUCT_FROM_DATABASE=Volito
-
-usb:v056Ap0061*
- ID_PRODUCT_FROM_DATABASE=PenStation2
-
-usb:v056Ap0062*
- ID_PRODUCT_FROM_DATABASE=Volito2 4x5
-
-usb:v056Ap0063*
- ID_PRODUCT_FROM_DATABASE=Volito2 2x3
-
-usb:v056Ap0064*
- ID_PRODUCT_FROM_DATABASE=PenPartner2
-
-usb:v056Ap0065*
- ID_PRODUCT_FROM_DATABASE=Bamboo
-
-usb:v056Ap0069*
- ID_PRODUCT_FROM_DATABASE=Bamboo One
-
-usb:v056Ap0081*
- ID_PRODUCT_FROM_DATABASE=Graphire Wireless 6x8
-
-usb:v056Ap0090*
- ID_PRODUCT_FROM_DATABASE=TPC90
-
-usb:v056Ap0093*
- ID_PRODUCT_FROM_DATABASE=TPC93
-
-usb:v056Ap009A*
- ID_PRODUCT_FROM_DATABASE=TPC9A
-
-usb:v056Ap00B0*
- ID_PRODUCT_FROM_DATABASE=Intuos3 4x5
-
-usb:v056Ap00B1*
- ID_PRODUCT_FROM_DATABASE=Intuos3 6x18
-
-usb:v056Ap00B2*
- ID_PRODUCT_FROM_DATABASE=Intuos3 9x12
-
-usb:v056Ap00B3*
- ID_PRODUCT_FROM_DATABASE=Intuos3 12x12
-
-usb:v056Ap00B4*
- ID_PRODUCT_FROM_DATABASE=Intuos3 12x19
-
-usb:v056Ap00B5*
- ID_PRODUCT_FROM_DATABASE=Intuos3 6x11 (PTZ-631W)
-
-usb:v056Ap00B7*
- ID_PRODUCT_FROM_DATABASE=Intuos3 4x6
-
-usb:v056Ap00B8*
- ID_PRODUCT_FROM_DATABASE=Intuos4 4x6
-
-usb:v056Ap00B9*
- ID_PRODUCT_FROM_DATABASE=Intuos4 6x9
-
-usb:v056Ap00BA*
- ID_PRODUCT_FROM_DATABASE=Intuos4 8x13
-
-usb:v056Ap00BB*
- ID_PRODUCT_FROM_DATABASE=Intuos4 12x19
-
-usb:v056Ap00C0*
- ID_PRODUCT_FROM_DATABASE=DTF-521
-
-usb:v056Ap00C4*
- ID_PRODUCT_FROM_DATABASE=DTF-720
-
-usb:v056Ap00C5*
- ID_PRODUCT_FROM_DATABASE=Cintiq 20WSX
-
-usb:v056Ap00C6*
- ID_PRODUCT_FROM_DATABASE=Cintiq 12WX
-
-usb:v056Ap00C7*
- ID_PRODUCT_FROM_DATABASE=DTU-1931
-
-usb:v056Ap00CC*
- ID_PRODUCT_FROM_DATABASE=Cintiq 21UX (DTK-2100)
-
-usb:v056Ap00D1*
- ID_PRODUCT_FROM_DATABASE=Bamboo Pen & Touch (CTH-460-DE)
-
-usb:v056Ap00D3*
- ID_PRODUCT_FROM_DATABASE=Bamboo Fun (CTH-661)
-
-usb:v056Ap00D6*
- ID_PRODUCT_FROM_DATABASE=Bamboo Pen & Touch (CTH-460)
-
-usb:v056Ap00DB*
- ID_PRODUCT_FROM_DATABASE=Bamboo Fun (CTH-661SE-NL)
-
-usb:v056Ap00DD*
- ID_PRODUCT_FROM_DATABASE=Bamboo Pen (CTL-470)
-
-usb:v056Ap00F6*
- ID_PRODUCT_FROM_DATABASE=Cintiq 24HD touch (DTH-2400) touchscreen
-
-usb:v056Ap00F8*
- ID_PRODUCT_FROM_DATABASE=Cintiq 24HD touch (DTH-2400) tablet
-
-usb:v056Ap0400*
- ID_PRODUCT_FROM_DATABASE=PenPartner 4x5
-
-usb:v056Ap4850*
- ID_PRODUCT_FROM_DATABASE=PenPartner 6x8
-
-usb:v056B*
- ID_VENDOR_FROM_DATABASE=Decicon, Inc.
-
-usb:v056C*
- ID_VENDOR_FROM_DATABASE=eTEK Labs
-
-usb:v056Cp0006*
- ID_PRODUCT_FROM_DATABASE=KwikLink Host-Host Connector
-
-usb:v056Cp8007*
- ID_PRODUCT_FROM_DATABASE=Kwik232 Serial Port
-
-usb:v056Cp8100*
- ID_PRODUCT_FROM_DATABASE=KwikLink Host-Host Connector
-
-usb:v056Cp8101*
- ID_PRODUCT_FROM_DATABASE=KwikLink USB-USB Bridge
-
-usb:v056D*
- ID_VENDOR_FROM_DATABASE=EIZO Corp.
-
-usb:v056Dp0000*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v056Dp0001*
- ID_PRODUCT_FROM_DATABASE=Monitor
-
-usb:v056Dp0002*
- ID_PRODUCT_FROM_DATABASE=HID Monitor Controls
-
-usb:v056Dp0003*
- ID_PRODUCT_FROM_DATABASE=Device Bay Controller
-
-usb:v056E*
- ID_VENDOR_FROM_DATABASE=Elecom Co., Ltd
-
-usb:v056Ep0002*
- ID_PRODUCT_FROM_DATABASE=29UO Mouse
-
-usb:v056Ep0072*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v056Ep200C*
- ID_PRODUCT_FROM_DATABASE=LD-USB/TX
-
-usb:v056Ep4002*
- ID_PRODUCT_FROM_DATABASE=Laneed 100Mbps Ethernet LD-USB/TX [pegasus]
-
-usb:v056Ep4005*
- ID_PRODUCT_FROM_DATABASE=LD-USBL/TX
-
-usb:v056Ep400B*
- ID_PRODUCT_FROM_DATABASE=LD-USB/TX
-
-usb:v056Ep4010*
- ID_PRODUCT_FROM_DATABASE=LD-USB20
-
-usb:v056Ep5003*
- ID_PRODUCT_FROM_DATABASE=UC-SGT
-
-usb:v056Ep5004*
- ID_PRODUCT_FROM_DATABASE=UC-SGT
-
-usb:v056Ep6008*
- ID_PRODUCT_FROM_DATABASE=Flash Disk
-
-usb:v056EpABC1*
- ID_PRODUCT_FROM_DATABASE=LD-USB/TX
-
-usb:v056F*
- ID_VENDOR_FROM_DATABASE=Korea Data Systems Co., Ltd
-
-usb:v056FpCD00*
- ID_PRODUCT_FROM_DATABASE=CDM-751 CD organizer
-
-usb:v0570*
- ID_VENDOR_FROM_DATABASE=Epson America
-
-usb:v0571*
- ID_VENDOR_FROM_DATABASE=Interex, Inc.
-
-usb:v0571p0002*
- ID_PRODUCT_FROM_DATABASE=echoFX InterView Lite
-
-usb:v0572*
- ID_VENDOR_FROM_DATABASE=Conexant Systems (Rockwell), Inc.
-
-usb:v0572p0001*
- ID_PRODUCT_FROM_DATABASE=Ezcam II Webcam
-
-usb:v0572p0002*
- ID_PRODUCT_FROM_DATABASE=Ezcam II Webcam
-
-usb:v0572p0040*
- ID_PRODUCT_FROM_DATABASE=Wondereye CP-115 Webcam
-
-usb:v0572p0041*
- ID_PRODUCT_FROM_DATABASE=Webcam Notebook
-
-usb:v0572p0042*
- ID_PRODUCT_FROM_DATABASE=Webcam Notebook
-
-usb:v0572p1232*
- ID_PRODUCT_FROM_DATABASE=V.90 modem
-
-usb:v0572p1234*
- ID_PRODUCT_FROM_DATABASE=Typhoon Redfun Modem V90 56k
-
-usb:v0572p1252*
- ID_PRODUCT_FROM_DATABASE=HCF V90 Data Fax Voice Modem
-
-usb:v0572p1253*
- ID_PRODUCT_FROM_DATABASE=Zoom V.92 Faxmodem
-
-usb:v0572p1300*
- ID_PRODUCT_FROM_DATABASE=SoftK56 Data Fax Voice CARP
-
-usb:v0572p1301*
- ID_PRODUCT_FROM_DATABASE=Modem Enumerator
-
-usb:v0572p1328*
- ID_PRODUCT_FROM_DATABASE=TrendNet TFM-561 modem
-
-usb:v0572p2000*
- ID_PRODUCT_FROM_DATABASE=SoftGate 802.11 Adapter
-
-usb:v0572p2002*
- ID_PRODUCT_FROM_DATABASE=SoftGate 802.11 Adapter
-
-usb:v0572p262A*
- ID_PRODUCT_FROM_DATABASE=tm5600 Video & Audio Grabber Capture
-
-usb:v0572p8390*
- ID_PRODUCT_FROM_DATABASE=WinFast PalmTop/Novo TV Video
-
-usb:v0572p8392*
- ID_PRODUCT_FROM_DATABASE=WinFast PalmTop/Novo TV Video
-
-usb:v0572pCAFE*
- ID_PRODUCT_FROM_DATABASE=AccessRunner ADSL Modem
-
-usb:v0572pCB00*
- ID_PRODUCT_FROM_DATABASE=ADSL Modem
-
-usb:v0572pCB01*
- ID_PRODUCT_FROM_DATABASE=ADSL Modem
-
-usb:v0572pCB06*
- ID_PRODUCT_FROM_DATABASE=StarModem Network Interface
-
-usb:v0573*
- ID_VENDOR_FROM_DATABASE=Zoran Co. Personal Media Division (Nogatech)
-
-usb:v0573p0003*
- ID_PRODUCT_FROM_DATABASE=USBGear USBG-V1
-
-usb:v0573p0400*
- ID_PRODUCT_FROM_DATABASE=D-Link V100
-
-usb:v0573p0600*
- ID_PRODUCT_FROM_DATABASE=Dazzle USBVision (1006)
-
-usb:v0573p1300*
- ID_PRODUCT_FROM_DATABASE=leadtek USBVision (1006)
-
-usb:v0573p2000*
- ID_PRODUCT_FROM_DATABASE=X10 va10a Wireless Camera
-
-usb:v0573p2001*
- ID_PRODUCT_FROM_DATABASE=Dazzle EmMe (2001)
-
-usb:v0573p2101*
- ID_PRODUCT_FROM_DATABASE=Zoran Co. PMD (Nogatech) AV-grabber Manhattan
-
-usb:v0573p2D00*
- ID_PRODUCT_FROM_DATABASE=Osprey 50
-
-usb:v0573p2D01*
- ID_PRODUCT_FROM_DATABASE=Hauppauge USB-Live Model 600
-
-usb:v0573p3000*
- ID_PRODUCT_FROM_DATABASE=Dazzle MicroCam (NTSC)
-
-usb:v0573p3001*
- ID_PRODUCT_FROM_DATABASE=Dazzle MicroCam (PAL)
-
-usb:v0573p4000*
- ID_PRODUCT_FROM_DATABASE=Nogatech TV! (NTSC)
-
-usb:v0573p4001*
- ID_PRODUCT_FROM_DATABASE=Nogatech TV! (PAL)
-
-usb:v0573p4002*
- ID_PRODUCT_FROM_DATABASE=Nogatech TV! (PAL-I-)
-
-usb:v0573p4003*
- ID_PRODUCT_FROM_DATABASE=Nogatech TV! (MF-)
-
-usb:v0573p4008*
- ID_PRODUCT_FROM_DATABASE=Nogatech TV! (NTSC) (T)
-
-usb:v0573p4009*
- ID_PRODUCT_FROM_DATABASE=Nogatech TV! (PAL) (T)
-
-usb:v0573p4010*
- ID_PRODUCT_FROM_DATABASE=Nogatech TV! (NTSC) (A)
-
-usb:v0573p4100*
- ID_PRODUCT_FROM_DATABASE=USB-TV FM (NTSC)
-
-usb:v0573p4110*
- ID_PRODUCT_FROM_DATABASE=PNY USB-TV (NTSC) FM
-
-usb:v0573p4400*
- ID_PRODUCT_FROM_DATABASE=Nogatech TV! Pro (NTSC)
-
-usb:v0573p4401*
- ID_PRODUCT_FROM_DATABASE=Nogatech TV! Pro (PAL)
-
-usb:v0573p4450*
- ID_PRODUCT_FROM_DATABASE=PixelView PlayTv-USB PRO (PAL) FM
-
-usb:v0573p4451*
- ID_PRODUCT_FROM_DATABASE=Nogatech TV! Pro (PAL+)
-
-usb:v0573p4452*
- ID_PRODUCT_FROM_DATABASE=Nogatech TV! Pro (PAL-I+)
-
-usb:v0573p4500*
- ID_PRODUCT_FROM_DATABASE=Nogatech TV! Pro (NTSC)
-
-usb:v0573p4501*
- ID_PRODUCT_FROM_DATABASE=Nogatech TV! Pro (PAL)
-
-usb:v0573p4550*
- ID_PRODUCT_FROM_DATABASE=ZTV ZT-721 2.4GHz A/V Receiver
-
-usb:v0573p4551*
- ID_PRODUCT_FROM_DATABASE=Dazzle TV! Pro Audio (P+)
-
-usb:v0573p4D00*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB USA
-
-usb:v0573p4D01*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB
-
-usb:v0573p4D02*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB UK
-
-usb:v0573p4D03*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB France
-
-usb:v0573p4D04*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV (PAL D/K)
-
-usb:v0573p4D10*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB with FM USA radio
-
-usb:v0573p4D11*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB (PAL) with FM radio
-
-usb:v0573p4D12*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB UK with FM Radio
-
-usb:v0573p4D14*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV (PAL D/K FM)
-
-usb:v0573p4D20*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB II (PAL) with FM radio
-
-usb:v0573p4D21*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB II (PAL)
-
-usb:v0573p4D22*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB II (PAL) Model 566
-
-usb:v0573p4D23*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB France 4D23
-
-usb:v0573p4D24*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV Pro (PAL D/K)
-
-usb:v0573p4D25*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB Model 40209 rev B234
-
-usb:v0573p4D26*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB Model 40209 rev B243
-
-usb:v0573p4D27*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB Model 40204 Rev B281
-
-usb:v0573p4D28*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB Model 40204 rev B283
-
-usb:v0573p4D29*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB Model 40205 rev B298
-
-usb:v0573p4D2A*
- ID_PRODUCT_FROM_DATABASE=Hauppague WinTV-USB Model 602 Rev B285
-
-usb:v0573p4D2B*
- ID_PRODUCT_FROM_DATABASE=Hauppague WinTV-USB Model 602 Rev B282
-
-usb:v0573p4D2C*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV Pro (PAL/SECAM)
-
-usb:v0573p4D30*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB FM Model 40211 Rev B123
-
-usb:v0573p4D31*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB III (PAL) with FM radio Model 568
-
-usb:v0573p4D32*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB III (PAL) FM Model 573
-
-usb:v0573p4D34*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV Pro (PAL D/K FM)
-
-usb:v0573p4D35*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB III (PAL) FM Model 597
-
-usb:v0573p4D36*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV Pro (PAL B/G FM)
-
-usb:v0573p4D37*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV-USB Model 40219 rev E189
-
-usb:v0573p4D38*
- ID_PRODUCT_FROM_DATABASE=Hauppauge WinTV Pro (NTSC FM)
-
-usb:v0574*
- ID_VENDOR_FROM_DATABASE=City University of Hong Kong
-
-usb:v0575*
- ID_VENDOR_FROM_DATABASE=Philips Creative Display Solutions
-
-usb:v0576*
- ID_VENDOR_FROM_DATABASE=BAFO/Quality Computer Accessories
-
-usb:v0577*
- ID_VENDOR_FROM_DATABASE=ELSA
-
-usb:v0578*
- ID_VENDOR_FROM_DATABASE=Intrinsix Corp.
-
-usb:v0579*
- ID_VENDOR_FROM_DATABASE=GVC Corp.
-
-usb:v057A*
- ID_VENDOR_FROM_DATABASE=Samsung Electronics America
-
-usb:v057B*
- ID_VENDOR_FROM_DATABASE=Y-E Data, Inc.
-
-usb:v057Bp0000*
- ID_PRODUCT_FROM_DATABASE=FlashBuster-U Floppy
-
-usb:v057Bp0001*
- ID_PRODUCT_FROM_DATABASE=Tri-Media Reader Floppy
-
-usb:v057Bp0006*
- ID_PRODUCT_FROM_DATABASE=Tri-Media Reader Card Reader
-
-usb:v057Bp0010*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Reader Writer
-
-usb:v057Bp0020*
- ID_PRODUCT_FROM_DATABASE=HEXA Media Drive 6-in-1 Card Reader Writer
-
-usb:v057Bp0030*
- ID_PRODUCT_FROM_DATABASE=Memory Card Viewer (TV)
-
-usb:v057C*
- ID_VENDOR_FROM_DATABASE=AVM GmbH
-
-usb:v057Cp0B00*
- ID_PRODUCT_FROM_DATABASE=ISDN-Controller B1 Family
-
-usb:v057Cp0C00*
- ID_PRODUCT_FROM_DATABASE=ISDN-Controller FRITZ!Card
-
-usb:v057Cp1000*
- ID_PRODUCT_FROM_DATABASE=ISDN-Controller FRITZ!Card v2.0
-
-usb:v057Cp1900*
- ID_PRODUCT_FROM_DATABASE=ISDN-Controller FRITZ!Card v2.1
-
-usb:v057Cp2000*
- ID_PRODUCT_FROM_DATABASE=ISDN-Connector FRITZ!X
-
-usb:v057Cp2200*
- ID_PRODUCT_FROM_DATABASE=BlueFRITZ!
-
-usb:v057Cp2300*
- ID_PRODUCT_FROM_DATABASE=Teledat X130 DSL
-
-usb:v057Cp2800*
- ID_PRODUCT_FROM_DATABASE=ISDN-Connector TA
-
-usb:v057Cp3200*
- ID_PRODUCT_FROM_DATABASE=Teledat X130 DSL
-
-usb:v057Cp3500*
- ID_PRODUCT_FROM_DATABASE=FRITZ!Card DSL SL
-
-usb:v057Cp3701*
- ID_PRODUCT_FROM_DATABASE=FRITZ!Box SL
-
-usb:v057Cp3702*
- ID_PRODUCT_FROM_DATABASE=FRITZ!Box
-
-usb:v057Cp3800*
- ID_PRODUCT_FROM_DATABASE=BlueFRITZ! Bluetooth Stick
-
-usb:v057Cp3A00*
- ID_PRODUCT_FROM_DATABASE=FRITZ!Box Fon
-
-usb:v057Cp3C00*
- ID_PRODUCT_FROM_DATABASE=FRITZ!Box WLAN
-
-usb:v057Cp3D00*
- ID_PRODUCT_FROM_DATABASE=Fritz!Box
-
-usb:v057Cp3E01*
- ID_PRODUCT_FROM_DATABASE=FRITZ!Box (Annex A)
-
-usb:v057Cp4001*
- ID_PRODUCT_FROM_DATABASE=FRITZ!Box Fon (Annex A)
-
-usb:v057Cp4101*
- ID_PRODUCT_FROM_DATABASE=FRITZ!Box WLAN (Annex A)
-
-usb:v057Cp4201*
- ID_PRODUCT_FROM_DATABASE=FRITZ!Box Fon WLAN (Annex A)
-
-usb:v057Cp4601*
- ID_PRODUCT_FROM_DATABASE=Eumex 5520PC (WinXP/2000)
-
-usb:v057Cp4602*
- ID_PRODUCT_FROM_DATABASE=Eumex 400 (WinXP/2000)
-
-usb:v057Cp4701*
- ID_PRODUCT_FROM_DATABASE=AVM FRITZ!Box Fon ata
-
-usb:v057Cp5401*
- ID_PRODUCT_FROM_DATABASE=Eumex 300 IP
-
-usb:v057Cp5601*
- ID_PRODUCT_FROM_DATABASE=AVM Fritz!WLAN [Texas Instruments TNETW1450]
-
-usb:v057Cp6201*
- ID_PRODUCT_FROM_DATABASE=AVM Fritz!WLAN v1.1 [Texas Instruments TNETW1450]
-
-usb:v057Cp62FF*
- ID_PRODUCT_FROM_DATABASE=AVM Fritz!WLAN USB (in CD-ROM-mode)
-
-usb:v057Cp8401*
- ID_PRODUCT_FROM_DATABASE=Fritz!WLAN N [Atheros AR9001U]
-
-usb:v057Cp8402*
- ID_PRODUCT_FROM_DATABASE=Fritz!WLAN N 2.4 [Atheros AR9001U]
-
-usb:v057Cp8403*
- ID_PRODUCT_FROM_DATABASE=Fritz!WLAN N v2 [Atheros AR9271]
-
-usb:v057Cp84FF*
- ID_PRODUCT_FROM_DATABASE=AVM Fritz!WLAN USB N (in CD-ROM-mode)
-
-usb:v057D*
- ID_VENDOR_FROM_DATABASE=Shark Multimedia, Inc.
-
-usb:v057E*
- ID_VENDOR_FROM_DATABASE=Nintendo Co., Ltd
-
-usb:v057Ep0305*
- ID_PRODUCT_FROM_DATABASE=Broadcom BCM2045A Bluetooth Radio [Nintendo Wii]
-
-usb:v057Ep0306*
- ID_PRODUCT_FROM_DATABASE=Wii Remote Controller RVL-003
-
-usb:v057F*
- ID_VENDOR_FROM_DATABASE=QuickShot, Ltd
-
-usb:v057Fp6238*
- ID_PRODUCT_FROM_DATABASE=USB StrikePad
-
-usb:v0580*
- ID_VENDOR_FROM_DATABASE=Denron, Inc.
-
-usb:v0581*
- ID_VENDOR_FROM_DATABASE=Racal Data Group
-
-usb:v0582*
- ID_VENDOR_FROM_DATABASE=Roland Corp.
-
-usb:v0582p0000*
- ID_PRODUCT_FROM_DATABASE=UA-100
-
-usb:v0582p0002*
- ID_PRODUCT_FROM_DATABASE=UM-4/MPU-64 MIDI Interface
-
-usb:v0582p0003*
- ID_PRODUCT_FROM_DATABASE=SoundCanvas SC-8850
-
-usb:v0582p0004*
- ID_PRODUCT_FROM_DATABASE=U-8
-
-usb:v0582p0005*
- ID_PRODUCT_FROM_DATABASE=Edirol UM-2 MIDI Adapter
-
-usb:v0582p0007*
- ID_PRODUCT_FROM_DATABASE=SoundCanvas SC-8820
-
-usb:v0582p0008*
- ID_PRODUCT_FROM_DATABASE=PC-300
-
-usb:v0582p0009*
- ID_PRODUCT_FROM_DATABASE=Edirol UM-1SX MIDI Adapter
-
-usb:v0582p000B*
- ID_PRODUCT_FROM_DATABASE=SK-500
-
-usb:v0582p000C*
- ID_PRODUCT_FROM_DATABASE=SC-D70
-
-usb:v0582p0010*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-5
-
-usb:v0582p0011*
- ID_PRODUCT_FROM_DATABASE=Edirol UA-5 Sound Capture
-
-usb:v0582p0012*
- ID_PRODUCT_FROM_DATABASE=XV-5050
-
-usb:v0582p0013*
- ID_PRODUCT_FROM_DATABASE=XV-5050
-
-usb:v0582p0014*
- ID_PRODUCT_FROM_DATABASE=EDIROL UM-880 MIDI I/F (native)
-
-usb:v0582p0015*
- ID_PRODUCT_FROM_DATABASE=EDIROL UM-880 MIDI I/F (generic)
-
-usb:v0582p0016*
- ID_PRODUCT_FROM_DATABASE=EDIROL SD-90
-
-usb:v0582p0017*
- ID_PRODUCT_FROM_DATABASE=EDIROL SD-90
-
-usb:v0582p0018*
- ID_PRODUCT_FROM_DATABASE=UA-1A
-
-usb:v0582p001B*
- ID_PRODUCT_FROM_DATABASE=MMP-2
-
-usb:v0582p001C*
- ID_PRODUCT_FROM_DATABASE=MMP-2
-
-usb:v0582p001D*
- ID_PRODUCT_FROM_DATABASE=V-SYNTH
-
-usb:v0582p001E*
- ID_PRODUCT_FROM_DATABASE=V-SYNTH
-
-usb:v0582p0023*
- ID_PRODUCT_FROM_DATABASE=EDIROL UM-550
-
-usb:v0582p0024*
- ID_PRODUCT_FROM_DATABASE=EDIROL UM-550
-
-usb:v0582p0025*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-20
-
-usb:v0582p0026*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-20
-
-usb:v0582p0027*
- ID_PRODUCT_FROM_DATABASE=EDIROL SD-20
-
-usb:v0582p0028*
- ID_PRODUCT_FROM_DATABASE=EDIROL SD-20
-
-usb:v0582p0029*
- ID_PRODUCT_FROM_DATABASE=EDIROL SD-80
-
-usb:v0582p002A*
- ID_PRODUCT_FROM_DATABASE=EDIROL SD-80
-
-usb:v0582p002B*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-700
-
-usb:v0582p002C*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-700
-
-usb:v0582p002D*
- ID_PRODUCT_FROM_DATABASE=XV-2020 Synthesizer
-
-usb:v0582p002E*
- ID_PRODUCT_FROM_DATABASE=XV-2020 Synthesizer
-
-usb:v0582p002F*
- ID_PRODUCT_FROM_DATABASE=VariOS
-
-usb:v0582p0030*
- ID_PRODUCT_FROM_DATABASE=VariOS
-
-usb:v0582p0033*
- ID_PRODUCT_FROM_DATABASE=EDIROL PCR
-
-usb:v0582p0034*
- ID_PRODUCT_FROM_DATABASE=EDIROL PCR
-
-usb:v0582p0037*
- ID_PRODUCT_FROM_DATABASE=Digital Piano
-
-usb:v0582p0038*
- ID_PRODUCT_FROM_DATABASE=Digital Piano
-
-usb:v0582p003B*
- ID_PRODUCT_FROM_DATABASE=BOSS GS-10
-
-usb:v0582p003C*
- ID_PRODUCT_FROM_DATABASE=BOSS GS-10
-
-usb:v0582p0040*
- ID_PRODUCT_FROM_DATABASE=GI-20
-
-usb:v0582p0041*
- ID_PRODUCT_FROM_DATABASE=GI-20
-
-usb:v0582p0042*
- ID_PRODUCT_FROM_DATABASE=RS-70
-
-usb:v0582p0043*
- ID_PRODUCT_FROM_DATABASE=RS-70
-
-usb:v0582p0044*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-1000
-
-usb:v0582p0047*
- ID_PRODUCT_FROM_DATABASE=EDIROL UR-80 WAVE
-
-usb:v0582p0048*
- ID_PRODUCT_FROM_DATABASE=EDIROL UR-80 MIDI
-
-usb:v0582p0049*
- ID_PRODUCT_FROM_DATABASE=EDIROL UR-80 WAVE
-
-usb:v0582p004A*
- ID_PRODUCT_FROM_DATABASE=EDIROL UR-80 MIDI
-
-usb:v0582p004B*
- ID_PRODUCT_FROM_DATABASE=EDIROL M-100FX
-
-usb:v0582p004C*
- ID_PRODUCT_FROM_DATABASE=EDIROL PCR-A WAVE
-
-usb:v0582p004D*
- ID_PRODUCT_FROM_DATABASE=EDIROL PCR-A MIDI
-
-usb:v0582p004E*
- ID_PRODUCT_FROM_DATABASE=EDIROL PCR-A WAVE
-
-usb:v0582p004F*
- ID_PRODUCT_FROM_DATABASE=EDIROL PCR-A MIDI
-
-usb:v0582p0050*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-3FX
-
-usb:v0582p0052*
- ID_PRODUCT_FROM_DATABASE=EDIROL UM-1SX
-
-usb:v0582p0054*
- ID_PRODUCT_FROM_DATABASE=Digital Piano
-
-usb:v0582p0060*
- ID_PRODUCT_FROM_DATABASE=EXR Series
-
-usb:v0582p0064*
- ID_PRODUCT_FROM_DATABASE=EDIROL PCR-1 WAVE
-
-usb:v0582p0065*
- ID_PRODUCT_FROM_DATABASE=EDIROL PCR-1 MIDI
-
-usb:v0582p0066*
- ID_PRODUCT_FROM_DATABASE=EDIROL PCR-1 WAVE
-
-usb:v0582p0067*
- ID_PRODUCT_FROM_DATABASE=EDIROL PCR-1 MIDI
-
-usb:v0582p006A*
- ID_PRODUCT_FROM_DATABASE=SP-606
-
-usb:v0582p006B*
- ID_PRODUCT_FROM_DATABASE=SP-606
-
-usb:v0582p006D*
- ID_PRODUCT_FROM_DATABASE=FANTOM-X
-
-usb:v0582p006E*
- ID_PRODUCT_FROM_DATABASE=FANTOM-X
-
-usb:v0582p0073*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-25
-
-usb:v0582p0074*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-25
-
-usb:v0582p0075*
- ID_PRODUCT_FROM_DATABASE=BOSS DR-880
-
-usb:v0582p0076*
- ID_PRODUCT_FROM_DATABASE=BOSS DR-880
-
-usb:v0582p007A*
- ID_PRODUCT_FROM_DATABASE=RD
-
-usb:v0582p007B*
- ID_PRODUCT_FROM_DATABASE=RD
-
-usb:v0582p007D*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-101
-
-usb:v0582p0080*
- ID_PRODUCT_FROM_DATABASE=G-70
-
-usb:v0582p0081*
- ID_PRODUCT_FROM_DATABASE=G-70
-
-usb:v0582p008B*
- ID_PRODUCT_FROM_DATABASE=EDIROL PC-50
-
-usb:v0582p008C*
- ID_PRODUCT_FROM_DATABASE=EDIROL PC-50
-
-usb:v0582p008D*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-101 USB1
-
-usb:v0582p0092*
- ID_PRODUCT_FROM_DATABASE=EDIROL PC-80 WAVE
-
-usb:v0582p0093*
- ID_PRODUCT_FROM_DATABASE=EDIROL PC-80 MIDI
-
-usb:v0582p0096*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-1EX
-
-usb:v0582p009A*
- ID_PRODUCT_FROM_DATABASE=EDIROL UM-3EX
-
-usb:v0582p009D*
- ID_PRODUCT_FROM_DATABASE=EDIROL UM-1
-
-usb:v0582p00A2*
- ID_PRODUCT_FROM_DATABASE=Digital Piano
-
-usb:v0582p00A3*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-4FX
-
-usb:v0582p00A6*
- ID_PRODUCT_FROM_DATABASE=Juno-G
-
-usb:v0582p00AD*
- ID_PRODUCT_FROM_DATABASE=SH-201
-
-usb:v0582p00B2*
- ID_PRODUCT_FROM_DATABASE=VG-99
-
-usb:v0582p00B3*
- ID_PRODUCT_FROM_DATABASE=VG-99
-
-usb:v0582p00C4*
- ID_PRODUCT_FROM_DATABASE=EDIROL M-16DX
-
-usb:v0582p00DB*
- ID_PRODUCT_FROM_DATABASE=BOSS GT-10 Guitar Effects Processor
-
-usb:v0582p00DE*
- ID_PRODUCT_FROM_DATABASE=Fantom-G7
-
-usb:v0582p00E6*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-25EX (Advanced mode)
-
-usb:v0582p00E7*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-25EX
-
-usb:v0582p010F*
- ID_PRODUCT_FROM_DATABASE=A-PRO
-
-usb:v0582p0110*
- ID_PRODUCT_FROM_DATABASE=A-PRO
-
-usb:v0582p0505*
- ID_PRODUCT_FROM_DATABASE=EDIROL UA-101
-
-usb:v0583*
- ID_VENDOR_FROM_DATABASE=Padix Co., Ltd (Rockfire)
-
-usb:v0583p0001*
- ID_PRODUCT_FROM_DATABASE=4 Axis 12 button +POV
-
-usb:v0583p0002*
- ID_PRODUCT_FROM_DATABASE=4 Axis 12 button +POV
-
-usb:v0583p2030*
- ID_PRODUCT_FROM_DATABASE=RM-203 USB Nest [mode 1]
-
-usb:v0583p2031*
- ID_PRODUCT_FROM_DATABASE=RM-203 USB Nest [mode 2]
-
-usb:v0583p2032*
- ID_PRODUCT_FROM_DATABASE=RM-203 USB Nest [mode 3]
-
-usb:v0583p2033*
- ID_PRODUCT_FROM_DATABASE=RM-203 USB Nest [mode 4]
-
-usb:v0583p2050*
- ID_PRODUCT_FROM_DATABASE=PX-205 PSX Bridge
-
-usb:v0583p205F*
- ID_PRODUCT_FROM_DATABASE=PSX/USB converter
-
-usb:v0583p206F*
- ID_PRODUCT_FROM_DATABASE=USB, 2-axis 8-button gamepad
-
-usb:v0583p3050*
- ID_PRODUCT_FROM_DATABASE=QF-305u Gamepad
-
-usb:v0583p3379*
- ID_PRODUCT_FROM_DATABASE=Rockfire X-Force
-
-usb:v0583p337F*
- ID_PRODUCT_FROM_DATABASE=Rockfire USB RacingStar Vibra
-
-usb:v0583p509F*
- ID_PRODUCT_FROM_DATABASE=USB,4-Axis,12-Button with POV
-
-usb:v0583p5259*
- ID_PRODUCT_FROM_DATABASE=Rockfire USB SkyShuttle Vibra
-
-usb:v0583p525F*
- ID_PRODUCT_FROM_DATABASE=USB Vibration Pad
-
-usb:v0583p5308*
- ID_PRODUCT_FROM_DATABASE=USB Wireless VibrationPad
-
-usb:v0583p5359*
- ID_PRODUCT_FROM_DATABASE=Rockfire USB SkyShuttle Pro
-
-usb:v0583p535F*
- ID_PRODUCT_FROM_DATABASE=USB,real VibrationPad
-
-usb:v0583p5659*
- ID_PRODUCT_FROM_DATABASE=Rockfire USB SkyShuttle Vibra
-
-usb:v0583p565F*
- ID_PRODUCT_FROM_DATABASE=USB VibrationPad
-
-usb:v0583p6009*
- ID_PRODUCT_FROM_DATABASE=Revenger
-
-usb:v0583p600F*
- ID_PRODUCT_FROM_DATABASE=USB,GameBoard II
-
-usb:v0583p6258*
- ID_PRODUCT_FROM_DATABASE=USB, 4-axis, 6-button joystick w/view finder
-
-usb:v0583p6889*
- ID_PRODUCT_FROM_DATABASE=Windstorm Pro
-
-usb:v0583p688F*
- ID_PRODUCT_FROM_DATABASE=QF-688uv Windstorm Pro Joystick
-
-usb:v0583p7070*
- ID_PRODUCT_FROM_DATABASE=QF-707u Bazooka Joystick
-
-usb:v0583pA000*
- ID_PRODUCT_FROM_DATABASE=MaxFire G-08XU Gamepad
-
-usb:v0583pA015*
- ID_PRODUCT_FROM_DATABASE=4-Axis,16-Button with POV
-
-usb:v0583pA019*
- ID_PRODUCT_FROM_DATABASE=USB, Vibration ,4-axis, 8-button joystick w/view finder
-
-usb:v0583pA020*
- ID_PRODUCT_FROM_DATABASE=USB,4-Axis,10-Button with POV
-
-usb:v0583pA021*
- ID_PRODUCT_FROM_DATABASE=USB,4-Axis,12-Button with POV
-
-usb:v0583pA022*
- ID_PRODUCT_FROM_DATABASE=USB,4-Axis,14-Button with POV
-
-usb:v0583pA023*
- ID_PRODUCT_FROM_DATABASE=USB,4-Axis,16-Button with POV
-
-usb:v0583pA024*
- ID_PRODUCT_FROM_DATABASE=4axis,12button vibrition audio gamepad
-
-usb:v0583pA025*
- ID_PRODUCT_FROM_DATABASE=4axis,12button vibrition audio gamepad
-
-usb:v0583pA130*
- ID_PRODUCT_FROM_DATABASE=USB Wireless 2.4GHz Gamepad
-
-usb:v0583pA131*
- ID_PRODUCT_FROM_DATABASE=USB Wireless 2.4GHz Joystick
-
-usb:v0583pA132*
- ID_PRODUCT_FROM_DATABASE=USB Wireless 2.4GHz Wheelpad
-
-usb:v0583pA133*
- ID_PRODUCT_FROM_DATABASE=USB Wireless 2.4GHz Wheel&Gamepad
-
-usb:v0583pA202*
- ID_PRODUCT_FROM_DATABASE=ForceFeedbackWheel
-
-usb:v0583pA209*
- ID_PRODUCT_FROM_DATABASE=MetalStrike FF
-
-usb:v0583pB000*
- ID_PRODUCT_FROM_DATABASE=USB,4-Axis,12-Button with POV
-
-usb:v0583pB001*
- ID_PRODUCT_FROM_DATABASE=USB,4-Axis,12-Button with POV
-
-usb:v0583pB002*
- ID_PRODUCT_FROM_DATABASE=Vibration,12-Button USB Wheel
-
-usb:v0583pB005*
- ID_PRODUCT_FROM_DATABASE=USB,12-Button Wheel
-
-usb:v0583pB008*
- ID_PRODUCT_FROM_DATABASE=USB Wireless 2.4GHz Wheel
-
-usb:v0583pB009*
- ID_PRODUCT_FROM_DATABASE=USB,12-Button Wheel
-
-usb:v0583pB00A*
- ID_PRODUCT_FROM_DATABASE=PSX/USB converter
-
-usb:v0583pB00B*
- ID_PRODUCT_FROM_DATABASE=PSX/USB converter
-
-usb:v0583pB00C*
- ID_PRODUCT_FROM_DATABASE=PSX/USB converter
-
-usb:v0583pB00D*
- ID_PRODUCT_FROM_DATABASE=PSX/USB converter
-
-usb:v0583pB00E*
- ID_PRODUCT_FROM_DATABASE=4-Axis,12-Button with POV
-
-usb:v0583pB00F*
- ID_PRODUCT_FROM_DATABASE=USB,5-Axis,10-Button with POV
-
-usb:v0583pB010*
- ID_PRODUCT_FROM_DATABASE=MetalStrike Pro
-
-usb:v0583pB012*
- ID_PRODUCT_FROM_DATABASE=Wireless MetalStrike
-
-usb:v0583pB013*
- ID_PRODUCT_FROM_DATABASE=USB,Wiress 2.4GHZ Joystick
-
-usb:v0583pB016*
- ID_PRODUCT_FROM_DATABASE=USB,5-Axis,10-Button with POV
-
-usb:v0583pB018*
- ID_PRODUCT_FROM_DATABASE=TW6 Wheel
-
-usb:v0583pFF60*
- ID_PRODUCT_FROM_DATABASE=USB Wireless VibrationPad
-
-usb:v0584*
- ID_VENDOR_FROM_DATABASE=RATOC System, Inc.
-
-usb:v0584p0008*
- ID_PRODUCT_FROM_DATABASE=Fujifilm MemoryCard ReaderWriter
-
-usb:v0584p0220*
- ID_PRODUCT_FROM_DATABASE=U2SCX SCSI Converter
-
-usb:v0584pB000*
- ID_PRODUCT_FROM_DATABASE=REX-USB60
-
-usb:v0584pB020*
- ID_PRODUCT_FROM_DATABASE=REX-USB60F
-
-usb:v0585*
- ID_VENDOR_FROM_DATABASE=FlashPoint Technology, Inc.
-
-usb:v0585p0001*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p0002*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p0003*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p0004*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p0005*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p0006*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p0007*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p0008*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p0009*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p000A*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p000B*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p000C*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p000D*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p000E*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0585p000F*
- ID_PRODUCT_FROM_DATABASE=Digital Camera
-
-usb:v0586*
- ID_VENDOR_FROM_DATABASE=ZyXEL Communications Corp.
-
-usb:v0586p0025*
- ID_PRODUCT_FROM_DATABASE=802.11b/g/n USB Wireless Network Adapter
-
-usb:v0586p0102*
- ID_PRODUCT_FROM_DATABASE=omni.net II ISDN TA
-
-usb:v0586p1000*
- ID_PRODUCT_FROM_DATABASE=Omni NET Modem / ISDN TA
-
-usb:v0586p1500*
- ID_PRODUCT_FROM_DATABASE=Omni 56K Plus
-
-usb:v0586p2011*
- ID_PRODUCT_FROM_DATABASE=Scorpion-980N keyboard
-
-usb:v0586p3304*
- ID_PRODUCT_FROM_DATABASE=LAN Modem
-
-usb:v0586p3309*
- ID_PRODUCT_FROM_DATABASE=ADSL Modem Prestige 600 series
-
-usb:v0586p330A*
- ID_PRODUCT_FROM_DATABASE=ADSL Modem Interface
-
-usb:v0586p330E*
- ID_PRODUCT_FROM_DATABASE=USB Broadband ADSL Modem Rev 1.10
-
-usb:v0586p3400*
- ID_PRODUCT_FROM_DATABASE=ZyAIR B-220 IEEE 802.11b Adapter
-
-usb:v0586p3401*
- ID_PRODUCT_FROM_DATABASE=ZyAIR G-220 802.11bg
-
-usb:v0586p3402*
- ID_PRODUCT_FROM_DATABASE=ZyAIR G-220F 802.11bg
-
-usb:v0586p3403*
- ID_PRODUCT_FROM_DATABASE=AG-200 802.11abg Wireless Adapter [Atheros AR5523]
-
-usb:v0586p3407*
- ID_PRODUCT_FROM_DATABASE=G-200 v2 802.11bg
-
-usb:v0586p3408*
- ID_PRODUCT_FROM_DATABASE=G-260 802.11bg
-
-usb:v0586p3409*
- ID_PRODUCT_FROM_DATABASE=AG-225H 802.11bg
-
-usb:v0586p340A*
- ID_PRODUCT_FROM_DATABASE=M-202 802.11bg
-
-usb:v0586p340C*
- ID_PRODUCT_FROM_DATABASE=G-270S 802.11bg Wireless Adapter [Atheros AR5523]
-
-usb:v0586p340F*
- ID_PRODUCT_FROM_DATABASE=G-220 v2 802.11bg
-
-usb:v0586p3410*
- ID_PRODUCT_FROM_DATABASE=ZyAIR G-202 802.11bg
-
-usb:v0586p3412*
- ID_PRODUCT_FROM_DATABASE=802.11bg
-
-usb:v0586p3413*
- ID_PRODUCT_FROM_DATABASE=ZyAIR AG-225H v2 802.11bg
-
-usb:v0586p3415*
- ID_PRODUCT_FROM_DATABASE=G-210H 802.11g Wireless Adapter
-
-usb:v0586p3416*
- ID_PRODUCT_FROM_DATABASE=NWD-210N 802.11b/g/n-draft wireless adapter
-
-usb:v0586p3417*
- ID_PRODUCT_FROM_DATABASE=NWD271N 802.11n Wireless Adapter [Atheros AR9001U-(2)NG]
-
-usb:v0586p3418*
- ID_PRODUCT_FROM_DATABASE=NWD211AN 802.11abgn Wireless Adapter [Ralink RT2870]
-
-usb:v0586p3419*
- ID_PRODUCT_FROM_DATABASE=G-220 v3 802.11bg Wireless Adapter [ZyDAS ZD1211B]
-
-usb:v0586p341A*
- ID_PRODUCT_FROM_DATABASE=NWD-270N Wireless N-lite USB Adapter
-
-usb:v0586p341E*
- ID_PRODUCT_FROM_DATABASE=NWD2105 802.11bgn Wireless Adapter [Ralink RT3070]
-
-usb:v0586p341F*
- ID_PRODUCT_FROM_DATABASE=NWD2205 802.11n Wireless N Adapter [Realtek RTL8192CU]
-
-usb:v0586p343E*
- ID_PRODUCT_FROM_DATABASE=N220 802.11bgn Wireless Adapter
-
-usb:v0587*
- ID_VENDOR_FROM_DATABASE=America Kotobuki Electronics Industries, Inc.
-
-usb:v0588*
- ID_VENDOR_FROM_DATABASE=Sapien Design
-
-usb:v0589*
- ID_VENDOR_FROM_DATABASE=Victron
-
-usb:v058A*
- ID_VENDOR_FROM_DATABASE=Nohau Corp.
-
-usb:v058B*
- ID_VENDOR_FROM_DATABASE=Infineon Technologies
-
-usb:v058Bp001C*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v058C*
- ID_VENDOR_FROM_DATABASE=In Focus Systems
-
-usb:v058Cp0007*
- ID_PRODUCT_FROM_DATABASE=Flash
-
-usb:v058Cp0008*
- ID_PRODUCT_FROM_DATABASE=LP130
-
-usb:v058Cp000A*
- ID_PRODUCT_FROM_DATABASE=LP530
-
-usb:v058Cp0010*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp0011*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp0012*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp0013*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp0014*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp0015*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp0016*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp0017*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp0018*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp0019*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp001A*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp001B*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp001C*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp001D*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp001E*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058Cp001F*
- ID_PRODUCT_FROM_DATABASE=Projector
-
-usb:v058CpFFE5*
- ID_PRODUCT_FROM_DATABASE=IN34 Projector
-
-usb:v058D*
- ID_VENDOR_FROM_DATABASE=Micrel Semiconductor
-
-usb:v058E*
- ID_VENDOR_FROM_DATABASE=Tripath Technology, Inc.
-
-usb:v058F*
- ID_VENDOR_FROM_DATABASE=Alcor Micro Corp.
-
-usb:v058Fp1234*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v058Fp2412*
- ID_PRODUCT_FROM_DATABASE=SCard R/W CSR-145
-
-usb:v058Fp2802*
- ID_PRODUCT_FROM_DATABASE=Monterey Keyboard
-
-usb:v058Fp5492*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v058Fp6232*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed 16-in-1 Flash Card Reader/Writer
-
-usb:v058Fp6254*
- ID_PRODUCT_FROM_DATABASE=USB Hub
-
-usb:v058Fp6331*
- ID_PRODUCT_FROM_DATABASE=SD/MMC/MS Card Reader
-
-usb:v058Fp6332*
- ID_PRODUCT_FROM_DATABASE=Multi-Function Card Reader
-
-usb:v058Fp6335*
- ID_PRODUCT_FROM_DATABASE=SD/MMC Card Reader
-
-usb:v058Fp6360*
- ID_PRODUCT_FROM_DATABASE=Multimedia Card Reader
-
-usb:v058Fp6361*
- ID_PRODUCT_FROM_DATABASE=Multimedia Card Reader
-
-usb:v058Fp6362*
- ID_PRODUCT_FROM_DATABASE=Flash Card Reader/Writer
-
-usb:v058Fp6364*
- ID_PRODUCT_FROM_DATABASE=AU6477 Card Reader Controller
-
-usb:v058Fp6366*
- ID_PRODUCT_FROM_DATABASE=Multi Flash Reader
-
-usb:v058Fp6377*
- ID_PRODUCT_FROM_DATABASE=Multimedia Card Reader
-
-usb:v058Fp6386*
- ID_PRODUCT_FROM_DATABASE=Memory Card
-
-usb:v058Fp6387*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v058Fp6390*
- ID_PRODUCT_FROM_DATABASE=USB 2.0-IDE bridge
-
-usb:v058Fp9213*
- ID_PRODUCT_FROM_DATABASE=MacAlly Kbd Hub
-
-usb:v058Fp9215*
- ID_PRODUCT_FROM_DATABASE=AU9814 Hub
-
-usb:v058Fp9254*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v058Fp9310*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UID4/5A & UID7A)
-
-usb:v058Fp9320*
- ID_PRODUCT_FROM_DATABASE=Micro Storage Driver for Win98
-
-usb:v058Fp9321*
- ID_PRODUCT_FROM_DATABASE=Micro Storage Driver for Win98
-
-usb:v058Fp9330*
- ID_PRODUCT_FROM_DATABASE=SD Reader
-
-usb:v058Fp9331*
- ID_PRODUCT_FROM_DATABASE=Micro Storage Driver for Win98
-
-usb:v058Fp9340*
- ID_PRODUCT_FROM_DATABASE=Delkin eFilm Reader-32
-
-usb:v058Fp9350*
- ID_PRODUCT_FROM_DATABASE=Delkin eFilm Reader-32
-
-usb:v058Fp9360*
- ID_PRODUCT_FROM_DATABASE=8-in-1 Media Card Reader
-
-usb:v058Fp9361*
- ID_PRODUCT_FROM_DATABASE=Multimedia Card Reader
-
-usb:v058Fp9368*
- ID_PRODUCT_FROM_DATABASE=Multimedia Card Reader
-
-usb:v058Fp9380*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v058Fp9382*
- ID_PRODUCT_FROM_DATABASE=Acer/Sweex Flash drive
-
-usb:v058Fp9384*
- ID_PRODUCT_FROM_DATABASE=qdi U2Disk T209M
-
-usb:v058Fp9410*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v058Fp9472*
- ID_PRODUCT_FROM_DATABASE=Keyboard Hub
-
-usb:v058Fp9510*
- ID_PRODUCT_FROM_DATABASE=ChunghwaTL USB02 Smartcard Reader
-
-usb:v058Fp9520*
- ID_PRODUCT_FROM_DATABASE=EMV Certified Smart Card Reader
-
-usb:v058Fp9720*
- ID_PRODUCT_FROM_DATABASE=USB-Serial Adapter
-
-usb:v058FpA014*
- ID_PRODUCT_FROM_DATABASE=Asus Integrated Webcam
-
-usb:v0590*
- ID_VENDOR_FROM_DATABASE=Omron Corp.
-
-usb:v0590p0004*
- ID_PRODUCT_FROM_DATABASE=Cable Modem
-
-usb:v0590p000B*
- ID_PRODUCT_FROM_DATABASE=MR56SVS
-
-usb:v0590p0028*
- ID_PRODUCT_FROM_DATABASE=HJ-720IT Pedometer / Blood Pressure Monitor HEM-7080IT-E
-
-usb:v0591*
- ID_VENDOR_FROM_DATABASE=Questra Consulting
-
-usb:v0592*
- ID_VENDOR_FROM_DATABASE=Powerware Corp.
-
-usb:v0592p0002*
- ID_PRODUCT_FROM_DATABASE=UPS (X-Slot)
-
-usb:v0593*
- ID_VENDOR_FROM_DATABASE=Incite
-
-usb:v0594*
- ID_VENDOR_FROM_DATABASE=Princeton Graphic Systems
-
-usb:v0595*
- ID_VENDOR_FROM_DATABASE=Zoran Microelectronics, Ltd
-
-usb:v0595p1001*
- ID_PRODUCT_FROM_DATABASE=Digitrex DSC-1300/DSC-2100 (mass storage mode)
-
-usb:v0595p2002*
- ID_PRODUCT_FROM_DATABASE=DIGITAL STILL CAMERA 6M 4X
-
-usb:v0595p4343*
- ID_PRODUCT_FROM_DATABASE=Digital Camera EX-20 DSC
-
-usb:v0596*
- ID_VENDOR_FROM_DATABASE=MicroTouch Systems, Inc.
-
-usb:v0596p0001*
- ID_PRODUCT_FROM_DATABASE=Touchscreen
-
-usb:v0596p0002*
- ID_PRODUCT_FROM_DATABASE=Touch Screen Controller
-
-usb:v0596p0500*
- ID_PRODUCT_FROM_DATABASE=PCT Multitouch HID Controller
-
-usb:v0597*
- ID_VENDOR_FROM_DATABASE=Trisignal Communications
-
-usb:v0598*
- ID_VENDOR_FROM_DATABASE=Niigata Canotec Co., Inc.
-
-usb:v0599*
- ID_VENDOR_FROM_DATABASE=Brilliance Semiconductor, Inc.
-
-usb:v059A*
- ID_VENDOR_FROM_DATABASE=Spectrum Signal Processing, Inc.
-
-usb:v059B*
- ID_VENDOR_FROM_DATABASE=Iomega Corp.
-
-usb:v059Bp0001*
- ID_PRODUCT_FROM_DATABASE=Zip 100 (Type 1)
-
-usb:v059Bp000B*
- ID_PRODUCT_FROM_DATABASE=Zip 100 (Type 2)
-
-usb:v059Bp0021*
- ID_PRODUCT_FROM_DATABASE=Win98 Disk Controller
-
-usb:v059Bp0030*
- ID_PRODUCT_FROM_DATABASE=Zip 250 (Ver 1)
-
-usb:v059Bp0031*
- ID_PRODUCT_FROM_DATABASE=Zip 100 (Type 3)
-
-usb:v059Bp0032*
- ID_PRODUCT_FROM_DATABASE=Zip 250 (Ver 2)
-
-usb:v059Bp0034*
- ID_PRODUCT_FROM_DATABASE=Zip 100 Driver
-
-usb:v059Bp0037*
- ID_PRODUCT_FROM_DATABASE=Zip 750 MB
-
-usb:v059Bp0040*
- ID_PRODUCT_FROM_DATABASE=SCSI Bridge
-
-usb:v059Bp0042*
- ID_PRODUCT_FROM_DATABASE=Rev 70 GB
-
-usb:v059Bp0050*
- ID_PRODUCT_FROM_DATABASE=Zip CD 650 Writer
-
-usb:v059Bp0053*
- ID_PRODUCT_FROM_DATABASE=CDRW55292EXT CD-RW External Drive
-
-usb:v059Bp0056*
- ID_PRODUCT_FROM_DATABASE=External CD-RW Drive Enclosure
-
-usb:v059Bp0057*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v059Bp005D*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v059Bp005F*
- ID_PRODUCT_FROM_DATABASE=CDRW64892EXT3-C CD-RW 52x24x52x External Drive
-
-usb:v059Bp0060*
- ID_PRODUCT_FROM_DATABASE=PCMCIA PocketZip Dock
-
-usb:v059Bp0061*
- ID_PRODUCT_FROM_DATABASE=Varo PocketZip 40 MP3 Player
-
-usb:v059Bp006D*
- ID_PRODUCT_FROM_DATABASE=HipZip MP3 Player
-
-usb:v059Bp007C*
- ID_PRODUCT_FROM_DATABASE=Ultra Max USB/1394
-
-usb:v059Bp007D*
- ID_PRODUCT_FROM_DATABASE=HTC42606 0G9AT00 [Iomega HDD]
-
-usb:v059Bp007E*
- ID_PRODUCT_FROM_DATABASE=Mini 256MB/512MB Flash Drive [IOM2D5]
-
-usb:v059Bp00DB*
- ID_PRODUCT_FROM_DATABASE=FotoShow Zip 250 Driver
-
-usb:v059Bp0150*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v059Bp015D*
- ID_PRODUCT_FROM_DATABASE=Super DVD Writer
-
-usb:v059Bp0173*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
-
-usb:v059Bp0174*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
-
-usb:v059Bp0176*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
-
-usb:v059Bp0177*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
-
-usb:v059Bp0178*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
-
-usb:v059Bp0179*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
-
-usb:v059Bp017A*
- ID_PRODUCT_FROM_DATABASE=HDD
-
-usb:v059Bp017B*
- ID_PRODUCT_FROM_DATABASE=HDD/1394A
-
-usb:v059Bp017C*
- ID_PRODUCT_FROM_DATABASE=HDD/1394B
-
-usb:v059Bp0251*
- ID_PRODUCT_FROM_DATABASE=Optical
-
-usb:v059Bp0252*
- ID_PRODUCT_FROM_DATABASE=Optical
-
-usb:v059Bp0278*
- ID_PRODUCT_FROM_DATABASE=LDHD-UPS [Professional Desktop Hard Drive eSATA / USB2.0]
-
-usb:v059Bp027A*
- ID_PRODUCT_FROM_DATABASE=LPHD250-U [Portable Hard Drive Silver Series 250 Go]
-
-usb:v059Bp0470*
- ID_PRODUCT_FROM_DATABASE=Prestige Portable Hard Drive
-
-usb:v059Bp047A*
- ID_PRODUCT_FROM_DATABASE=Select Portable Hard Drive
-
-usb:v059Bp0571*
- ID_PRODUCT_FROM_DATABASE=Prestige Portable Hard Drive
-
-usb:v059Bp0579*
- ID_PRODUCT_FROM_DATABASE=eGo Portable Hard Drive
-
-usb:v059Bp1052*
- ID_PRODUCT_FROM_DATABASE=DVD+RW External Drive
-
-usb:v059C*
- ID_VENDOR_FROM_DATABASE=A-Trend Technology Co., Ltd
-
-usb:v059D*
- ID_VENDOR_FROM_DATABASE=Advanced Input Devices
-
-usb:v059E*
- ID_VENDOR_FROM_DATABASE=Intelligent Instrumentation
-
-usb:v059F*
- ID_VENDOR_FROM_DATABASE=LaCie, Ltd
-
-usb:v059Fp0201*
- ID_PRODUCT_FROM_DATABASE=StudioDrive USB2
-
-usb:v059Fp0202*
- ID_PRODUCT_FROM_DATABASE=StudioDrive USB2
-
-usb:v059Fp0203*
- ID_PRODUCT_FROM_DATABASE=StudioDrive USB2
-
-usb:v059Fp0211*
- ID_PRODUCT_FROM_DATABASE=PocketDrive
-
-usb:v059Fp0212*
- ID_PRODUCT_FROM_DATABASE=PocketDrive
-
-usb:v059Fp0213*
- ID_PRODUCT_FROM_DATABASE=PocketDrive USB2
-
-usb:v059Fp0323*
- ID_PRODUCT_FROM_DATABASE=LaCie d2 Drive USB2
-
-usb:v059Fp0421*
- ID_PRODUCT_FROM_DATABASE=Big Disk G465
-
-usb:v059Fp0641*
- ID_PRODUCT_FROM_DATABASE=Mobile Hard Drive
-
-usb:v059Fp1010*
- ID_PRODUCT_FROM_DATABASE=Desktop Hard Drive
-
-usb:v059Fp1019*
- ID_PRODUCT_FROM_DATABASE=Desktop Hard Drive
-
-usb:v059Fp1021*
- ID_PRODUCT_FROM_DATABASE=Little Disk
-
-usb:v059Fp1027*
- ID_PRODUCT_FROM_DATABASE=iamaKey V2
-
-usb:v059Fp102A*
- ID_PRODUCT_FROM_DATABASE=Rikiki Hard Drive
-
-usb:v059Fp1049*
- ID_PRODUCT_FROM_DATABASE=rikiki Harddrive
-
-usb:v059Fp1052*
- ID_PRODUCT_FROM_DATABASE=P'9220 Mobile Drive
-
-usb:v059FpA601*
- ID_PRODUCT_FROM_DATABASE=HardDrive
-
-usb:v059FpA602*
- ID_PRODUCT_FROM_DATABASE=CD R/W
-
-usb:v05A0*
- ID_VENDOR_FROM_DATABASE=Vetronix Corp.
-
-usb:v05A1*
- ID_VENDOR_FROM_DATABASE=USC Corp.
-
-usb:v05A2*
- ID_VENDOR_FROM_DATABASE=Fuji Film Microdevices Co., Ltd
-
-usb:v05A3*
- ID_VENDOR_FROM_DATABASE=ARC International
-
-usb:v05A3p8388*
- ID_PRODUCT_FROM_DATABASE=Marvell 88W8388 802.11a/b/g WLAN
-
-usb:v05A4*
- ID_VENDOR_FROM_DATABASE=Ortek Technology, Inc.
-
-usb:v05A4p1000*
- ID_PRODUCT_FROM_DATABASE=WKB-1000S Wireless Ergo Keyboard with Touchpad
-
-usb:v05A4p2000*
- ID_PRODUCT_FROM_DATABASE=WKB-2000 Wireless Keyboard with Touchpad
-
-usb:v05A4p9720*
- ID_PRODUCT_FROM_DATABASE=Keyboard Mouse
-
-usb:v05A4p9722*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v05A4p9731*
- ID_PRODUCT_FROM_DATABASE=MCK-600W/MCK-800USB Keyboard
-
-usb:v05A4p9783*
- ID_PRODUCT_FROM_DATABASE=Wireless Keypad
-
-usb:v05A5*
- ID_VENDOR_FROM_DATABASE=Sampo Technology Corp.
-
-usb:v05A6*
- ID_VENDOR_FROM_DATABASE=Cisco Systems, Inc.
-
-usb:v05A6p0001*
- ID_PRODUCT_FROM_DATABASE=CVA124 Cable Voice Adapter (WDM)
-
-usb:v05A6p0002*
- ID_PRODUCT_FROM_DATABASE=CVA122 Cable Voice Adapter (WDM)
-
-usb:v05A6p0003*
- ID_PRODUCT_FROM_DATABASE=CVA124E Cable Voice Adapter (WDM)
-
-usb:v05A6p0004*
- ID_PRODUCT_FROM_DATABASE=CVA122E Cable Voice Adapter (WDM)
-
-usb:v05A7*
- ID_VENDOR_FROM_DATABASE=Bose Corp.
-
-usb:v05A8*
- ID_VENDOR_FROM_DATABASE=Spacetec IMC Corp.
-
-usb:v05A9*
- ID_VENDOR_FROM_DATABASE=OmniVision Technologies, Inc.
-
-usb:v05A9p0511*
- ID_PRODUCT_FROM_DATABASE=OV511 Webcam
-
-usb:v05A9p0518*
- ID_PRODUCT_FROM_DATABASE=OV518 Webcam
-
-usb:v05A9p0519*
- ID_PRODUCT_FROM_DATABASE=OV519 Microphone
-
-usb:v05A9p1550*
- ID_PRODUCT_FROM_DATABASE=VEHO Filmscanner
-
-usb:v05A9p2640*
- ID_PRODUCT_FROM_DATABASE=OV2640 Webcam
-
-usb:v05A9p2643*
- ID_PRODUCT_FROM_DATABASE=Monitor Webcam
-
-usb:v05A9p264B*
- ID_PRODUCT_FROM_DATABASE=Monitor Webcam
-
-usb:v05A9p2800*
- ID_PRODUCT_FROM_DATABASE=SuperCAM
-
-usb:v05A9p4519*
- ID_PRODUCT_FROM_DATABASE=Webcam Classic
-
-usb:v05A9p7670*
- ID_PRODUCT_FROM_DATABASE=OV7670 Webcam
-
-usb:v05A9p8519*
- ID_PRODUCT_FROM_DATABASE=OV519 Webcam
-
-usb:v05A9pA511*
- ID_PRODUCT_FROM_DATABASE=OV511+ Webcam
-
-usb:v05A9pA518*
- ID_PRODUCT_FROM_DATABASE=D-Link DSB-C310 Webcam
-
-usb:v05AA*
- ID_VENDOR_FROM_DATABASE=Utilux South China, Ltd
-
-usb:v05AB*
- ID_VENDOR_FROM_DATABASE=In-System Design
-
-usb:v05ABp0002*
- ID_PRODUCT_FROM_DATABASE=Parallel Port
-
-usb:v05ABp0030*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter V2 (TPP)
-
-usb:v05ABp0031*
- ID_PRODUCT_FROM_DATABASE=ATA Bridge
-
-usb:v05ABp0060*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 ATA Bridge
-
-usb:v05ABp0061*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter V3 (TPP-I)
-
-usb:v05ABp0101*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter (TPP)
-
-usb:v05ABp0130*
- ID_PRODUCT_FROM_DATABASE=Compact Flash and Microdrive Reader (TPP)
-
-usb:v05ABp0200*
- ID_PRODUCT_FROM_DATABASE=USS725 ATA Bridge
-
-usb:v05ABp0201*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter (TPP)
-
-usb:v05ABp0202*
- ID_PRODUCT_FROM_DATABASE=ATA Bridge
-
-usb:v05ABp0300*
- ID_PRODUCT_FROM_DATABASE=Portable Hard Drive (TPP)
-
-usb:v05ABp0301*
- ID_PRODUCT_FROM_DATABASE=Portable Hard Drive V2
-
-usb:v05ABp0350*
- ID_PRODUCT_FROM_DATABASE=Portable Hard Drive (TPP)
-
-usb:v05ABp0351*
- ID_PRODUCT_FROM_DATABASE=Portable Hard Drive V2
-
-usb:v05ABp081A*
- ID_PRODUCT_FROM_DATABASE=ATA Bridge
-
-usb:v05ABp0CDA*
- ID_PRODUCT_FROM_DATABASE=ATA Bridge for CD-R/RW
-
-usb:v05ABp1001*
- ID_PRODUCT_FROM_DATABASE=BAYI Printer Class Support
-
-usb:v05ABp5700*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter V2 (TPP)
-
-usb:v05ABp5701*
- ID_PRODUCT_FROM_DATABASE=USB Storage Adapter V2
-
-usb:v05ABp5901*
- ID_PRODUCT_FROM_DATABASE=Smart Board (TPP)
-
-usb:v05ABp5A01*
- ID_PRODUCT_FROM_DATABASE=ATI Storage Adapter (TPP)
-
-usb:v05ABp5D01*
- ID_PRODUCT_FROM_DATABASE=DataBook Adapter (TPP)
-
-usb:v05AC*
- ID_VENDOR_FROM_DATABASE=Apple, Inc.
-
-usb:v05ACp0201*
- ID_PRODUCT_FROM_DATABASE=USB Keyboard [Alps or Logitech, M2452]
-
-usb:v05ACp0202*
- ID_PRODUCT_FROM_DATABASE=Keyboard [ALPS]
-
-usb:v05ACp0205*
- ID_PRODUCT_FROM_DATABASE=Extended Keyboard [Mitsumi]
-
-usb:v05ACp0206*
- ID_PRODUCT_FROM_DATABASE=Extended Keyboard [Mitsumi]
-
-usb:v05ACp020B*
- ID_PRODUCT_FROM_DATABASE=Pro Keyboard [Mitsumi, A1048/US layout]
-
-usb:v05ACp020C*
- ID_PRODUCT_FROM_DATABASE=Extended Keyboard [Mitsumi]
-
-usb:v05ACp020D*
- ID_PRODUCT_FROM_DATABASE=Pro Keyboard [Mitsumi, A1048/JIS layout]
-
-usb:v05ACp020E*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
-
-usb:v05ACp020F*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
-
-usb:v05ACp0214*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
-
-usb:v05ACp0215*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
-
-usb:v05ACp0216*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
-
-usb:v05ACp0217*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
-
-usb:v05ACp0218*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
-
-usb:v05ACp0219*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
-
-usb:v05ACp021A*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
-
-usb:v05ACp021B*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
-
-usb:v05ACp021C*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
-
-usb:v05ACp021D*
- ID_PRODUCT_FROM_DATABASE=Aluminum Mini Keyboard (ANSI)
-
-usb:v05ACp021E*
- ID_PRODUCT_FROM_DATABASE=Aluminum Mini Keyboard (ISO)
-
-usb:v05ACp021F*
- ID_PRODUCT_FROM_DATABASE=Aluminum Mini Keyboard (JIS)
-
-usb:v05ACp0220*
- ID_PRODUCT_FROM_DATABASE=Aluminum Keyboard (ANSI)
-
-usb:v05ACp0221*
- ID_PRODUCT_FROM_DATABASE=Aluminum Keyboard (ISO)
-
-usb:v05ACp0222*
- ID_PRODUCT_FROM_DATABASE=Aluminum Keyboard (JIS)
-
-usb:v05ACp0223*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
-
-usb:v05ACp0224*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
-
-usb:v05ACp0225*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
-
-usb:v05ACp0229*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (ANSI)
-
-usb:v05ACp022A*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (ISO)
-
-usb:v05ACp022B*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (JIS)
-
-usb:v05ACp0230*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro 4,1) (ANSI)
-
-usb:v05ACp0231*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro 4,1) (ISO)
-
-usb:v05ACp0232*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro 4,1) (JIS)
-
-usb:v05ACp0236*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
-
-usb:v05ACp0237*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
-
-usb:v05ACp0238*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
-
-usb:v05ACp023F*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
-
-usb:v05ACp0240*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
-
-usb:v05ACp0241*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
-
-usb:v05ACp0242*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
-
-usb:v05ACp0243*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
-
-usb:v05ACp0244*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
-
-usb:v05ACp0245*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
-
-usb:v05ACp0246*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
-
-usb:v05ACp0247*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
-
-usb:v05ACp024D*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Air) (ISO)
-
-usb:v05ACp0250*
- ID_PRODUCT_FROM_DATABASE=Aluminium Keyboard (ISO)
-
-usb:v05ACp0252*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI)
-
-usb:v05ACp0253*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (ISO)
-
-usb:v05ACp0254*
- ID_PRODUCT_FROM_DATABASE=Internal Keyboard/Trackpad (JIS)
-
-usb:v05ACp0301*
- ID_PRODUCT_FROM_DATABASE=USB Mouse [Mitsumi, M4848]
-
-usb:v05ACp0302*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse [Fujitsu]
-
-usb:v05ACp0304*
- ID_PRODUCT_FROM_DATABASE=Optical USB Mouse [Mitsumi]
-
-usb:v05ACp0306*
- ID_PRODUCT_FROM_DATABASE=Optical USB Mouse [Fujitsu]
-
-usb:v05ACp030A*
- ID_PRODUCT_FROM_DATABASE=Internal Trackpad
-
-usb:v05ACp030B*
- ID_PRODUCT_FROM_DATABASE=Internal Trackpad
-
-usb:v05ACp030D*
- ID_PRODUCT_FROM_DATABASE=Magic Mouse
-
-usb:v05ACp030E*
- ID_PRODUCT_FROM_DATABASE=MC380Z/A [Magic Trackpad]
-
-usb:v05ACp1000*
- ID_PRODUCT_FROM_DATABASE=Bluetooth HCI MacBookPro (HID mode)
-
-usb:v05ACp1001*
- ID_PRODUCT_FROM_DATABASE=Keyboard Hub [ALPS]
-
-usb:v05ACp1002*
- ID_PRODUCT_FROM_DATABASE=Extended Keyboard Hub [Mitsumi]
-
-usb:v05ACp1003*
- ID_PRODUCT_FROM_DATABASE=Hub in Pro Keyboard [Mitsumi, A1048]
-
-usb:v05ACp1006*
- ID_PRODUCT_FROM_DATABASE=Hub in Aluminum Keyboard
-
-usb:v05ACp1101*
- ID_PRODUCT_FROM_DATABASE=Speakers
-
-usb:v05ACp1105*
- ID_PRODUCT_FROM_DATABASE=Audio in LED Cinema Display
-
-usb:v05ACp1107*
- ID_PRODUCT_FROM_DATABASE=Thunderbolt Display Audio
-
-usb:v05ACp1201*
- ID_PRODUCT_FROM_DATABASE=3G iPod
-
-usb:v05ACp1202*
- ID_PRODUCT_FROM_DATABASE=iPod 2G
-
-usb:v05ACp1203*
- ID_PRODUCT_FROM_DATABASE=iPod 4.Gen Grayscale 40G
-
-usb:v05ACp1204*
- ID_PRODUCT_FROM_DATABASE=iPod [Photo]
-
-usb:v05ACp1205*
- ID_PRODUCT_FROM_DATABASE=iPod Mini 1.Gen/2.Gen
-
-usb:v05ACp1206*
- ID_PRODUCT_FROM_DATABASE=iPod '06'
-
-usb:v05ACp1207*
- ID_PRODUCT_FROM_DATABASE=iPod '07'
-
-usb:v05ACp1208*
- ID_PRODUCT_FROM_DATABASE=iPod '08'
-
-usb:v05ACp1209*
- ID_PRODUCT_FROM_DATABASE=iPod Video
-
-usb:v05ACp120A*
- ID_PRODUCT_FROM_DATABASE=iPod Nano
-
-usb:v05ACp1223*
- ID_PRODUCT_FROM_DATABASE=iPod Classic/Nano 3.Gen (DFU mode)
-
-usb:v05ACp1224*
- ID_PRODUCT_FROM_DATABASE=iPod Nano 3.Gen (DFU mode)
-
-usb:v05ACp1225*
- ID_PRODUCT_FROM_DATABASE=iPod Nano 4.Gen (DFU mode)
-
-usb:v05ACp1227*
- ID_PRODUCT_FROM_DATABASE=Mobile Device (DFU Mode)
-
-usb:v05ACp1231*
- ID_PRODUCT_FROM_DATABASE=iPod Nano 5.Gen (DFU mode)
-
-usb:v05ACp1240*
- ID_PRODUCT_FROM_DATABASE=iPod Nano 2.Gen (DFU mode)
-
-usb:v05ACp1242*
- ID_PRODUCT_FROM_DATABASE=iPod Nano 3.Gen (WTF mode)
-
-usb:v05ACp1243*
- ID_PRODUCT_FROM_DATABASE=iPod Nano 4.Gen (WTF mode)
-
-usb:v05ACp1245*
- ID_PRODUCT_FROM_DATABASE=iPod Classic 3.Gen (WTF mode)
-
-usb:v05ACp1246*
- ID_PRODUCT_FROM_DATABASE=iPod Nano 5.Gen (WTF mode)
-
-usb:v05ACp1255*
- ID_PRODUCT_FROM_DATABASE=iPod Nano 4.Gen (DFU mode)
-
-usb:v05ACp1260*
- ID_PRODUCT_FROM_DATABASE=iPod Nano 2.Gen
-
-usb:v05ACp1261*
- ID_PRODUCT_FROM_DATABASE=iPod Classic
-
-usb:v05ACp1262*
- ID_PRODUCT_FROM_DATABASE=iPod Nano 3.Gen
-
-usb:v05ACp1263*
- ID_PRODUCT_FROM_DATABASE=iPod Nano 4.Gen
-
-usb:v05ACp1265*
- ID_PRODUCT_FROM_DATABASE=iPod Nano 5.Gen
-
-usb:v05ACp1266*
- ID_PRODUCT_FROM_DATABASE=iPod Nano 6.Gen
-
-usb:v05ACp1281*
- ID_PRODUCT_FROM_DATABASE=Apple Mobile Device [Recovery Mode]
-
-usb:v05ACp1290*
- ID_PRODUCT_FROM_DATABASE=iPhone
-
-usb:v05ACp1291*
- ID_PRODUCT_FROM_DATABASE=iPod Touch 1.Gen
-
-usb:v05ACp1292*
- ID_PRODUCT_FROM_DATABASE=iPhone 3G
-
-usb:v05ACp1293*
- ID_PRODUCT_FROM_DATABASE=iPod Touch 2.Gen
-
-usb:v05ACp1294*
- ID_PRODUCT_FROM_DATABASE=iPhone 3GS
-
-usb:v05ACp1296*
- ID_PRODUCT_FROM_DATABASE=iPod Touch 3.Gen (8GB)
-
-usb:v05ACp1297*
- ID_PRODUCT_FROM_DATABASE=iPhone 4
-
-usb:v05ACp1299*
- ID_PRODUCT_FROM_DATABASE=iPod Touch 3.Gen
-
-usb:v05ACp129A*
- ID_PRODUCT_FROM_DATABASE=iPad
-
-usb:v05ACp129E*
- ID_PRODUCT_FROM_DATABASE=iPod Touch 4.Gen
-
-usb:v05ACp129F*
- ID_PRODUCT_FROM_DATABASE=iPad 2
-
-usb:v05ACp12A0*
- ID_PRODUCT_FROM_DATABASE=iPhone 4S
-
-usb:v05ACp12A2*
- ID_PRODUCT_FROM_DATABASE=iPad 2 (3G; 64GB)
-
-usb:v05ACp12A9*
- ID_PRODUCT_FROM_DATABASE=iPad 2
-
-usb:v05ACp12AA*
- ID_PRODUCT_FROM_DATABASE=iPod Touch 5.Gen [A1421]
-
-usb:v05ACp1300*
- ID_PRODUCT_FROM_DATABASE=iPod Shuffle
-
-usb:v05ACp1301*
- ID_PRODUCT_FROM_DATABASE=iPod Shuffle 2.Gen
-
-usb:v05ACp1302*
- ID_PRODUCT_FROM_DATABASE=iPod Shuffle 3.Gen
-
-usb:v05ACp1303*
- ID_PRODUCT_FROM_DATABASE=iPod Shuffle 4.Gen
-
-usb:v05ACp1401*
- ID_PRODUCT_FROM_DATABASE=Modem
-
-usb:v05ACp1402*
- ID_PRODUCT_FROM_DATABASE=Ethernet Adapter [A1277]
-
-usb:v05ACp8202*
- ID_PRODUCT_FROM_DATABASE=HCF V.90 Data/Fax Modem
-
-usb:v05ACp8203*
- ID_PRODUCT_FROM_DATABASE=Bluetooth HCI
-
-usb:v05ACp8204*
- ID_PRODUCT_FROM_DATABASE=Built-in Bluetooth 2.0+EDR HCI
-
-usb:v05ACp8205*
- ID_PRODUCT_FROM_DATABASE=Bluetooth HCI
-
-usb:v05ACp8206*
- ID_PRODUCT_FROM_DATABASE=Bluetooth HCI
-
-usb:v05ACp820A*
- ID_PRODUCT_FROM_DATABASE=Bluetooth HID Keyboard
-
-usb:v05ACp820B*
- ID_PRODUCT_FROM_DATABASE=Bluetooth HID Mouse
-
-usb:v05ACp820F*
- ID_PRODUCT_FROM_DATABASE=Bluetooth HCI
-
-usb:v05ACp8213*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Host Controller
-
-usb:v05ACp8215*
- ID_PRODUCT_FROM_DATABASE=Built-in Bluetooth 2.0+EDR HCI
-
-usb:v05ACp8216*
- ID_PRODUCT_FROM_DATABASE=Bluetooth USB Host Controller
-
-usb:v05ACp8217*
- ID_PRODUCT_FROM_DATABASE=Bluetooth USB Host Controller
-
-usb:v05ACp8218*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Host Controller
-
-usb:v05ACp821A*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Host Controller
-
-usb:v05ACp821F*
- ID_PRODUCT_FROM_DATABASE=Built-in Bluetooth 2.0+EDR HCI
-
-usb:v05ACp8240*
- ID_PRODUCT_FROM_DATABASE=Built-in IR Receiver
-
-usb:v05ACp8241*
- ID_PRODUCT_FROM_DATABASE=Built-in IR Receiver
-
-usb:v05ACp8242*
- ID_PRODUCT_FROM_DATABASE=Built-in IR Receiver
-
-usb:v05ACp8300*
- ID_PRODUCT_FROM_DATABASE=Built-in iSight (no firmware loaded)
-
-usb:v05ACp8403*
- ID_PRODUCT_FROM_DATABASE=Internal Memory Card Reader
-
-usb:v05ACp8404*
- ID_PRODUCT_FROM_DATABASE=Internal Memory Card Reader
-
-usb:v05ACp8501*
- ID_PRODUCT_FROM_DATABASE=Built-in iSight [Micron]
-
-usb:v05ACp8502*
- ID_PRODUCT_FROM_DATABASE=Built-in iSight
-
-usb:v05ACp8505*
- ID_PRODUCT_FROM_DATABASE=Built-in iSight
-
-usb:v05ACp8507*
- ID_PRODUCT_FROM_DATABASE=Built-in iSight
-
-usb:v05ACp8508*
- ID_PRODUCT_FROM_DATABASE=iSight in LED Cinema Display
-
-usb:v05ACp8509*
- ID_PRODUCT_FROM_DATABASE=FaceTime HD Camera
-
-usb:v05ACp850A*
- ID_PRODUCT_FROM_DATABASE=FaceTime Camera
-
-usb:v05ACp911C*
- ID_PRODUCT_FROM_DATABASE=Hub in A1082 [Cinema HD Display 23"]
-
-usb:v05ACp912F*
- ID_PRODUCT_FROM_DATABASE=Hub in 30" Cinema Display
-
-usb:v05ACp9215*
- ID_PRODUCT_FROM_DATABASE=Studio Display 15"
-
-usb:v05ACp9217*
- ID_PRODUCT_FROM_DATABASE=Studio Display 17"
-
-usb:v05ACp9218*
- ID_PRODUCT_FROM_DATABASE=Cinema Display 23"
-
-usb:v05ACp9219*
- ID_PRODUCT_FROM_DATABASE=Cinema Display 20"
-
-usb:v05ACp921C*
- ID_PRODUCT_FROM_DATABASE=A1082 [Cinema HD Display 23"]
-
-usb:v05ACp921E*
- ID_PRODUCT_FROM_DATABASE=Cinema Display 24"
-
-usb:v05ACp9221*
- ID_PRODUCT_FROM_DATABASE=30" Cinema Display
-
-usb:v05ACp9226*
- ID_PRODUCT_FROM_DATABASE=LED Cinema Display
-
-usb:v05ACp9227*
- ID_PRODUCT_FROM_DATABASE=Thunderbolt Display
-
-usb:v05ACp9232*
- ID_PRODUCT_FROM_DATABASE=Cinema HD Display 30"
-
-usb:v05ACpFFFF*
- ID_PRODUCT_FROM_DATABASE=Bluetooth in DFU mode - Driver
-
-usb:v05AD*
- ID_VENDOR_FROM_DATABASE=Y.C. Cable U.S.A., Inc.
-
-usb:v05AE*
- ID_VENDOR_FROM_DATABASE=Synopsys, Inc.
-
-usb:v05AF*
- ID_VENDOR_FROM_DATABASE=Jing-Mold Enterprise Co., Ltd
-
-usb:v05AFp0806*
- ID_PRODUCT_FROM_DATABASE=HP SK806A Keyboard
-
-usb:v05AFp0809*
- ID_PRODUCT_FROM_DATABASE=Wireless Keyboard and Mouse
-
-usb:v05AFp0821*
- ID_PRODUCT_FROM_DATABASE=IDE to
-
-usb:v05AFp3062*
- ID_PRODUCT_FROM_DATABASE=Cordless Keyboard
-
-usb:v05AFp9167*
- ID_PRODUCT_FROM_DATABASE=KB 9151B - 678
-
-usb:v05AFp9267*
- ID_PRODUCT_FROM_DATABASE=KB 9251B - 678 Mouse
-
-usb:v05B0*
- ID_VENDOR_FROM_DATABASE=Fountain Technologies, Inc.
-
-usb:v05B1*
- ID_VENDOR_FROM_DATABASE=First International Computer, Inc.
-
-usb:v05B1p1389*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Wireless Adapter
-
-usb:v05B4*
- ID_VENDOR_FROM_DATABASE=LG Semicon Co., Ltd
-
-usb:v05B4p4857*
- ID_PRODUCT_FROM_DATABASE=M-Any DAH-210
-
-usb:v05B4p6001*
- ID_PRODUCT_FROM_DATABASE=Digisette DUO-MP3 AR-100
-
-usb:v05B5*
- ID_VENDOR_FROM_DATABASE=Dialogic Corp.
-
-usb:v05B6*
- ID_VENDOR_FROM_DATABASE=Proxima Corp.
-
-usb:v05B7*
- ID_VENDOR_FROM_DATABASE=Medianix Semiconductor, Inc.
-
-usb:v05B8*
- ID_VENDOR_FROM_DATABASE=Agiler, Inc.
-
-usb:v05B8p3002*
- ID_PRODUCT_FROM_DATABASE=Scroll Mouse
-
-usb:v05B9*
- ID_VENDOR_FROM_DATABASE=Philips Research Laboratories
-
-usb:v05BA*
- ID_VENDOR_FROM_DATABASE=DigitalPersona, Inc.
-
-usb:v05BAp0007*
- ID_PRODUCT_FROM_DATABASE=Fingerprint Reader
-
-usb:v05BAp0008*
- ID_PRODUCT_FROM_DATABASE=Fingerprint Reader
-
-usb:v05BAp000A*
- ID_PRODUCT_FROM_DATABASE=Fingerprint Reader
-
-usb:v05BB*
- ID_VENDOR_FROM_DATABASE=Grey Cell Systems
-
-usb:v05BC*
- ID_VENDOR_FROM_DATABASE=3G Green Green Globe Co., Ltd
-
-usb:v05BCp0004*
- ID_PRODUCT_FROM_DATABASE=Trackball
-
-usb:v05BD*
- ID_VENDOR_FROM_DATABASE=RAFI GmbH & Co. KG
-
-usb:v05BE*
- ID_VENDOR_FROM_DATABASE=Tyco Electronics (Raychem)
-
-usb:v05BF*
- ID_VENDOR_FROM_DATABASE=S & S Research
-
-usb:v05C0*
- ID_VENDOR_FROM_DATABASE=Keil Software
-
-usb:v05C1*
- ID_VENDOR_FROM_DATABASE=Kawasaki Microelectronics, Inc.
-
-usb:v05C2*
- ID_VENDOR_FROM_DATABASE=Media Phonics (Suisse) S.A.
-
-usb:v05C5*
- ID_VENDOR_FROM_DATABASE=Digi International, Inc.
-
-usb:v05C5p0002*
- ID_PRODUCT_FROM_DATABASE=AccelePort USB 2
-
-usb:v05C5p0004*
- ID_PRODUCT_FROM_DATABASE=AccelePort USB 4
-
-usb:v05C5p0008*
- ID_PRODUCT_FROM_DATABASE=AccelePort USB 8
-
-usb:v05C6*
- ID_VENDOR_FROM_DATABASE=Qualcomm, Inc.
-
-usb:v05C6p0114*
- ID_PRODUCT_FROM_DATABASE=Select RW-200 CDMA Wireless Modem
-
-usb:v05C6p1000*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v05C6p3100*
- ID_PRODUCT_FROM_DATABASE=CDMA Wireless Modem/Phone
-
-usb:v05C6p3196*
- ID_PRODUCT_FROM_DATABASE=CDMA Wireless Modem
-
-usb:v05C6p3197*
- ID_PRODUCT_FROM_DATABASE=CDMA Wireless Modem/Phone
-
-usb:v05C6p6000*
- ID_PRODUCT_FROM_DATABASE=Siemens SG75
-
-usb:v05C6p6503*
- ID_PRODUCT_FROM_DATABASE=AnyData APE-540H
-
-usb:v05C6p6613*
- ID_PRODUCT_FROM_DATABASE=Onda H600/N501HS ZTE MF330
-
-usb:v05C6p9000*
- ID_PRODUCT_FROM_DATABASE=SIMCom SIM5218 modem
-
-usb:v05C6p9001*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem
-
-usb:v05C6p9002*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem
-
-usb:v05C6p9008*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
-
-usb:v05C6p9018*
- ID_PRODUCT_FROM_DATABASE=Qualcomm HSUSB Device
-
-usb:v05C6p9025*
- ID_PRODUCT_FROM_DATABASE=Qualcomm HSUSB Device
-
-usb:v05C6p9201*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
-
-usb:v05C6p9202*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem
-
-usb:v05C6p9203*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem
-
-usb:v05C6p9211*
- ID_PRODUCT_FROM_DATABASE=Acer Gobi Wireless Modem (QDL mode)
-
-usb:v05C6p9212*
- ID_PRODUCT_FROM_DATABASE=Acer Gobi Wireless Modem
-
-usb:v05C6p9214*
- ID_PRODUCT_FROM_DATABASE=Acer Gobi 2000 Wireless Modem (QDL mode)
-
-usb:v05C6p9215*
- ID_PRODUCT_FROM_DATABASE=Acer Gobi 2000 Wireless Modem
-
-usb:v05C6p9221*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
-
-usb:v05C6p9222*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem
-
-usb:v05C6p9224*
- ID_PRODUCT_FROM_DATABASE=Sony Gobi 2000 Wireless Modem (QDL mode)
-
-usb:v05C6p9225*
- ID_PRODUCT_FROM_DATABASE=Sony Gobi 2000 Wireless Modem
-
-usb:v05C6p9231*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
-
-usb:v05C6p9234*
- ID_PRODUCT_FROM_DATABASE=Top Global Gobi 2000 Wireless Modem (QDL mode)
-
-usb:v05C6p9235*
- ID_PRODUCT_FROM_DATABASE=Top Global Gobi 2000 Wireless Modem
-
-usb:v05C6p9244*
- ID_PRODUCT_FROM_DATABASE=Samsung Gobi 2000 Wireless Modem (QDL mode)
-
-usb:v05C6p9245*
- ID_PRODUCT_FROM_DATABASE=Samsung Gobi 2000 Wireless Modem
-
-usb:v05C6p9264*
- ID_PRODUCT_FROM_DATABASE=Asus Gobi 2000 Wireless Modem (QDL mode)
-
-usb:v05C6p9265*
- ID_PRODUCT_FROM_DATABASE=Asus Gobi 2000 Wireless Modem
-
-usb:v05C6p9274*
- ID_PRODUCT_FROM_DATABASE=iRex Technologies Gobi 2000 Wireless Modem (QDL mode)
-
-usb:v05C6p9275*
- ID_PRODUCT_FROM_DATABASE=iRex Technologies Gobi 2000 Wireless Modem
-
-usb:v05C7*
- ID_VENDOR_FROM_DATABASE=Qtronix Corp.
-
-usb:v05C7p0113*
- ID_PRODUCT_FROM_DATABASE=PC Line Mouse
-
-usb:v05C7p1001*
- ID_PRODUCT_FROM_DATABASE=Lynx Mouse
-
-usb:v05C7p2001*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v05C7p2011*
- ID_PRODUCT_FROM_DATABASE=SCorpius Keyboard
-
-usb:v05C7p6001*
- ID_PRODUCT_FROM_DATABASE=Ten-Keypad
-
-usb:v05C8*
- ID_VENDOR_FROM_DATABASE=Cheng Uei Precision Industry Co., Ltd (Foxlink)
-
-usb:v05C8p0103*
- ID_PRODUCT_FROM_DATABASE=FO13FF-65 PC-CAM
-
-usb:v05C8p021A*
- ID_PRODUCT_FROM_DATABASE=HP Webcam
-
-usb:v05C8p0318*
- ID_PRODUCT_FROM_DATABASE=Webcam
-
-usb:v05C8p0403*
- ID_PRODUCT_FROM_DATABASE=Webcam
-
-usb:v05C9*
- ID_VENDOR_FROM_DATABASE=Semtech Corp.
-
-usb:v05CA*
- ID_VENDOR_FROM_DATABASE=Ricoh Co., Ltd
-
-usb:v05CAp0101*
- ID_PRODUCT_FROM_DATABASE=RDC-5300 Camera
-
-usb:v05CAp0325*
- ID_PRODUCT_FROM_DATABASE=Caplio GX (ptp)
-
-usb:v05CAp032D*
- ID_PRODUCT_FROM_DATABASE=Caplio GX 8 (ptp)
-
-usb:v05CAp032F*
- ID_PRODUCT_FROM_DATABASE=Caplio R3 (ptp)
-
-usb:v05CAp03A1*
- ID_PRODUCT_FROM_DATABASE=IS200e
-
-usb:v05CAp0403*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v05CAp0405*
- ID_PRODUCT_FROM_DATABASE=Type 101
-
-usb:v05CAp0406*
- ID_PRODUCT_FROM_DATABASE=Type 102
-
-usb:v05CAp1803*
- ID_PRODUCT_FROM_DATABASE=V5 camera [R5U870]
-
-usb:v05CAp1810*
- ID_PRODUCT_FROM_DATABASE=Pavilion Webcam [R5U870]
-
-usb:v05CAp1812*
- ID_PRODUCT_FROM_DATABASE=Pavilion Webcam
-
-usb:v05CAp1814*
- ID_PRODUCT_FROM_DATABASE=HD Webcam
-
-usb:v05CAp1820*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam
-
-usb:v05CAp1830*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera VGP-VCC2 [R5U870]
-
-usb:v05CAp1832*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera VGP-VCC3 [R5U870]
-
-usb:v05CAp1833*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera VGP-VCC2 [R5U870]
-
-usb:v05CAp1834*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera VGP-VCC2 [R5U870]
-
-usb:v05CAp1835*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera VGP-VCC5 [R5U870]
-
-usb:v05CAp1836*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera VGP-VCC4 [R5U870]
-
-usb:v05CAp1837*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera VGP-VCC4 [R5U870]
-
-usb:v05CAp1839*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera VGP-VCC6 [R5U870]
-
-usb:v05CAp183A*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera VGP-VCC7 [R5U870]
-
-usb:v05CAp183B*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera VGP-VCC8 [R5U870]
-
-usb:v05CAp183D*
- ID_PRODUCT_FROM_DATABASE=Sony Vaio Integrated Webcam
-
-usb:v05CAp183E*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera VGP-VCC9 [R5U870]
-
-usb:v05CAp1841*
- ID_PRODUCT_FROM_DATABASE=Fujitsu F01/ Lifebook U810 [R5U870]
-
-usb:v05CAp1870*
- ID_PRODUCT_FROM_DATABASE=Webcam 1000
-
-usb:v05CAp18B0*
- ID_PRODUCT_FROM_DATABASE=Sony Vaio Integrated Webcam
-
-usb:v05CAp18B1*
- ID_PRODUCT_FROM_DATABASE=Sony Vaio Integrated Webcam
-
-usb:v05CAp18B3*
- ID_PRODUCT_FROM_DATABASE=Sony Vaio Integrated Webcam
-
-usb:v05CAp18B5*
- ID_PRODUCT_FROM_DATABASE=Sony Vaio Integrated Webcam
-
-usb:v05CAp2201*
- ID_PRODUCT_FROM_DATABASE=RDC-7 Camera
-
-usb:v05CAp2202*
- ID_PRODUCT_FROM_DATABASE=Caplio RR30
-
-usb:v05CAp2203*
- ID_PRODUCT_FROM_DATABASE=Caplio 300G
-
-usb:v05CAp2204*
- ID_PRODUCT_FROM_DATABASE=Caplio G3
-
-usb:v05CAp2205*
- ID_PRODUCT_FROM_DATABASE=Caplio RR30 / Medion MD 6126 Camera
-
-usb:v05CAp2206*
- ID_PRODUCT_FROM_DATABASE=Konica DG-3Z
-
-usb:v05CAp2207*
- ID_PRODUCT_FROM_DATABASE=Caplio Pro G3
-
-usb:v05CAp2208*
- ID_PRODUCT_FROM_DATABASE=Caplio G4
-
-usb:v05CAp2209*
- ID_PRODUCT_FROM_DATABASE=Caplio 400G wide
-
-usb:v05CAp220A*
- ID_PRODUCT_FROM_DATABASE=KONICA MINOLTA DG-4Wide
-
-usb:v05CAp220B*
- ID_PRODUCT_FROM_DATABASE=Caplio RX
-
-usb:v05CAp220C*
- ID_PRODUCT_FROM_DATABASE=Caplio GX
-
-usb:v05CAp220D*
- ID_PRODUCT_FROM_DATABASE=Caplio R1/RZ1
-
-usb:v05CAp220E*
- ID_PRODUCT_FROM_DATABASE=Sea & Sea 5000G
-
-usb:v05CAp220F*
- ID_PRODUCT_FROM_DATABASE=Rollei dr5 / Rollei dr5 (PTP mode)
-
-usb:v05CAp2211*
- ID_PRODUCT_FROM_DATABASE=Caplio R1S
-
-usb:v05CAp2212*
- ID_PRODUCT_FROM_DATABASE=Caplio R1v Camera
-
-usb:v05CAp2213*
- ID_PRODUCT_FROM_DATABASE=Caplio R2
-
-usb:v05CAp2214*
- ID_PRODUCT_FROM_DATABASE=Caplio GX 8
-
-usb:v05CAp2215*
- ID_PRODUCT_FROM_DATABASE=DSC 725
-
-usb:v05CAp2216*
- ID_PRODUCT_FROM_DATABASE=Caplio R3
-
-usb:v05CAp2222*
- ID_PRODUCT_FROM_DATABASE=RDC-i500
-
-usb:v05CB*
- ID_VENDOR_FROM_DATABASE=PowerVision Technologies, Inc.
-
-usb:v05CBp1483*
- ID_PRODUCT_FROM_DATABASE=PV8630 interface (scanners, webcams)
-
-usb:v05CC*
- ID_VENDOR_FROM_DATABASE=ELSA AG
-
-usb:v05CCp2100*
- ID_PRODUCT_FROM_DATABASE=MicroLink ISDN Office
-
-usb:v05CCp2219*
- ID_PRODUCT_FROM_DATABASE=MicroLink ISDN
-
-usb:v05CCp2265*
- ID_PRODUCT_FROM_DATABASE=MicroLink 56k
-
-usb:v05CCp2267*
- ID_PRODUCT_FROM_DATABASE=MicroLink 56k (V.250)
-
-usb:v05CCp2280*
- ID_PRODUCT_FROM_DATABASE=MicroLink 56k Fun
-
-usb:v05CCp3000*
- ID_PRODUCT_FROM_DATABASE=Micolink USB2Ethernet [pegasus]
-
-usb:v05CCp3100*
- ID_PRODUCT_FROM_DATABASE=AirLancer USB-11
-
-usb:v05CCp3363*
- ID_PRODUCT_FROM_DATABASE=MicroLink ADSL Fun
-
-usb:v05CD*
- ID_VENDOR_FROM_DATABASE=Silicom, Ltd
-
-usb:v05CE*
- ID_VENDOR_FROM_DATABASE=sci-worx GmbH
-
-usb:v05CF*
- ID_VENDOR_FROM_DATABASE=Sung Forn Co., Ltd
-
-usb:v05D0*
- ID_VENDOR_FROM_DATABASE=GE Medical Systems Lunar
-
-usb:v05D1*
- ID_VENDOR_FROM_DATABASE=Brainboxes, Ltd
-
-usb:v05D1p0003*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Adapter BL-554
-
-usb:v05D2*
- ID_VENDOR_FROM_DATABASE=Wave Systems Corp.
-
-usb:v05D3*
- ID_VENDOR_FROM_DATABASE=Tohoku Ricoh Co., Ltd
-
-usb:v05D5*
- ID_VENDOR_FROM_DATABASE=Super Gate Technology Co., Ltd
-
-usb:v05D6*
- ID_VENDOR_FROM_DATABASE=Philips Semiconductors, CICT
-
-usb:v05D7*
- ID_VENDOR_FROM_DATABASE=Thomas & Betts Corp.
-
-usb:v05D7p0099*
- ID_PRODUCT_FROM_DATABASE=10Mbps Ethernet [klsi]
-
-usb:v05D8*
- ID_VENDOR_FROM_DATABASE=Ultima Electronics Corp.
-
-usb:v05D8p4001*
- ID_PRODUCT_FROM_DATABASE=Artec Ultima 2000
-
-usb:v05D8p4002*
- ID_PRODUCT_FROM_DATABASE=Artec Ultima 2000 (GT6801 based)/Lifetec LT9385/ScanMagic 1200 UB Plus Scanner
-
-usb:v05D8p4003*
- ID_PRODUCT_FROM_DATABASE=Artec E+ 48U
-
-usb:v05D8p4004*
- ID_PRODUCT_FROM_DATABASE=Artec E+ Pro
-
-usb:v05D8p4005*
- ID_PRODUCT_FROM_DATABASE=MEM48U
-
-usb:v05D8p4006*
- ID_PRODUCT_FROM_DATABASE=TRUST EASY WEBSCAN 19200
-
-usb:v05D8p4007*
- ID_PRODUCT_FROM_DATABASE=TRUST 240H EASY WEBSCAN GOLD
-
-usb:v05D8p4008*
- ID_PRODUCT_FROM_DATABASE=Trust Easy Webscan 19200
-
-usb:v05D8p4009*
- ID_PRODUCT_FROM_DATABASE=Umax Astraslim
-
-usb:v05D8p4013*
- ID_PRODUCT_FROM_DATABASE=IT Scan 1200
-
-usb:v05D8p8105*
- ID_PRODUCT_FROM_DATABASE=Artec T1 USB TVBOX (cold)
-
-usb:v05D8p8106*
- ID_PRODUCT_FROM_DATABASE=Artec T1 USB TVBOX (warm)
-
-usb:v05D8p8107*
- ID_PRODUCT_FROM_DATABASE=Artec T1 USB TVBOX with AN2235 (cold)
-
-usb:v05D8p8108*
- ID_PRODUCT_FROM_DATABASE=Artec T1 USB TVBOX with AN2235 (warm)
-
-usb:v05D8p8109*
- ID_PRODUCT_FROM_DATABASE=Artec T1 USB2.0 TVBOX (cold
-
-usb:v05D9*
- ID_VENDOR_FROM_DATABASE=Axiohm Transaction Solutions
-
-usb:v05D9pA225*
- ID_PRODUCT_FROM_DATABASE=A225 Printer
-
-usb:v05D9pA758*
- ID_PRODUCT_FROM_DATABASE=A758 Printer
-
-usb:v05D9pA794*
- ID_PRODUCT_FROM_DATABASE=A794 Printer
-
-usb:v05DA*
- ID_VENDOR_FROM_DATABASE=Microtek International, Inc.
-
-usb:v05DAp0091*
- ID_PRODUCT_FROM_DATABASE=ScanMaker X6u
-
-usb:v05DAp0093*
- ID_PRODUCT_FROM_DATABASE=ScanMaker V6USL
-
-usb:v05DAp0094*
- ID_PRODUCT_FROM_DATABASE=Phantom 336CX/C3
-
-usb:v05DAp0099*
- ID_PRODUCT_FROM_DATABASE=ScanMaker X6/X6U
-
-usb:v05DAp009A*
- ID_PRODUCT_FROM_DATABASE=Phantom C6
-
-usb:v05DAp00A0*
- ID_PRODUCT_FROM_DATABASE=Phantom 336CX/C3 (#2)
-
-usb:v05DAp00A3*
- ID_PRODUCT_FROM_DATABASE=ScanMaker V6USL
-
-usb:v05DAp00AC*
- ID_PRODUCT_FROM_DATABASE=ScanMaker V6UL
-
-usb:v05DAp00B6*
- ID_PRODUCT_FROM_DATABASE=ScanMaker V6UPL
-
-usb:v05DAp00EF*
- ID_PRODUCT_FROM_DATABASE=ScanMaker V6UPL
-
-usb:v05DAp1006*
- ID_PRODUCT_FROM_DATABASE=Jenoptik JD350 entrance
-
-usb:v05DAp1011*
- ID_PRODUCT_FROM_DATABASE=NHJ Che-ez! Kiss Digital Camera
-
-usb:v05DAp1018*
- ID_PRODUCT_FROM_DATABASE=Digital Dream Enigma 1.3
-
-usb:v05DAp1020*
- ID_PRODUCT_FROM_DATABASE=Digital Dream l'espion xtra
-
-usb:v05DAp1025*
- ID_PRODUCT_FROM_DATABASE=Take-it Still Camera Device
-
-usb:v05DAp1026*
- ID_PRODUCT_FROM_DATABASE=Take-it
-
-usb:v05DAp1043*
- ID_PRODUCT_FROM_DATABASE=Take-It 1300 DSC Bulk Driver
-
-usb:v05DAp1045*
- ID_PRODUCT_FROM_DATABASE=Take-it D1
-
-usb:v05DAp1047*
- ID_PRODUCT_FROM_DATABASE=Take-it Camera Composite Device
-
-usb:v05DAp1048*
- ID_PRODUCT_FROM_DATABASE=Take-it Q3
-
-usb:v05DAp1049*
- ID_PRODUCT_FROM_DATABASE=3M Still Camera Device
-
-usb:v05DAp1051*
- ID_PRODUCT_FROM_DATABASE=Camcorder Series
-
-usb:v05DAp1052*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v05DAp1053*
- ID_PRODUCT_FROM_DATABASE=Take-it DV Composite Device
-
-usb:v05DAp1054*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v05DAp1055*
- ID_PRODUCT_FROM_DATABASE=Digital Camera Series(536)
-
-usb:v05DAp1056*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v05DAp1057*
- ID_PRODUCT_FROM_DATABASE=Take-it DSC Camera Device(536)
-
-usb:v05DAp1058*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v05DAp1059*
- ID_PRODUCT_FROM_DATABASE=Camcorder DSC Series
-
-usb:v05DAp1060*
- ID_PRODUCT_FROM_DATABASE=Microtek Take-it MV500
-
-usb:v05DAp2007*
- ID_PRODUCT_FROM_DATABASE=ArtixScan DI 1210
-
-usb:v05DAp200C*
- ID_PRODUCT_FROM_DATABASE=1394_USB2 Scanner
-
-usb:v05DAp200E*
- ID_PRODUCT_FROM_DATABASE=ArtixScan DI 810
-
-usb:v05DAp2017*
- ID_PRODUCT_FROM_DATABASE=UF ICE Scanner
-
-usb:v05DAp201C*
- ID_PRODUCT_FROM_DATABASE=4800 Scanner
-
-usb:v05DAp201D*
- ID_PRODUCT_FROM_DATABASE=ArtixScan DI 1610
-
-usb:v05DAp201F*
- ID_PRODUCT_FROM_DATABASE=4800 Scanner-ICE
-
-usb:v05DAp202E*
- ID_PRODUCT_FROM_DATABASE=ArtixScan DI 2020
-
-usb:v05DAp208B*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 6800
-
-usb:v05DAp208F*
- ID_PRODUCT_FROM_DATABASE=ArtixScan DI 2010
-
-usb:v05DAp209E*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 4700LP
-
-usb:v05DAp20A7*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 5600
-
-usb:v05DAp20B0*
- ID_PRODUCT_FROM_DATABASE=ScanMaker X12USL
-
-usb:v05DAp20B1*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 8700
-
-usb:v05DAp20B4*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 4700
-
-usb:v05DAp20BD*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 5700
-
-usb:v05DAp20C9*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 6700
-
-usb:v05DAp20D2*
- ID_PRODUCT_FROM_DATABASE=Microtek ArtixScan 1800f
-
-usb:v05DAp20D6*
- ID_PRODUCT_FROM_DATABASE=PS4000
-
-usb:v05DAp20DE*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 9800XL
-
-usb:v05DAp20E0*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 9700XL
-
-usb:v05DAp20ED*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 4700
-
-usb:v05DAp20EE*
- ID_PRODUCT_FROM_DATABASE=Micortek ScanMaker X12USL
-
-usb:v05DAp3008*
- ID_PRODUCT_FROM_DATABASE=Scanner
-
-usb:v05DAp300A*
- ID_PRODUCT_FROM_DATABASE=4800 ICE Scanner
-
-usb:v05DAp300B*
- ID_PRODUCT_FROM_DATABASE=4800 Scanner
-
-usb:v05DAp300F*
- ID_PRODUCT_FROM_DATABASE=MiniScan C5
-
-usb:v05DAp3020*
- ID_PRODUCT_FROM_DATABASE=4800dpi Scanner
-
-usb:v05DAp3021*
- ID_PRODUCT_FROM_DATABASE=1200dpi Scanner
-
-usb:v05DAp3022*
- ID_PRODUCT_FROM_DATABASE=Scanner 4800dpi
-
-usb:v05DAp3023*
- ID_PRODUCT_FROM_DATABASE=USB1200II Scanner
-
-usb:v05DAp30C1*
- ID_PRODUCT_FROM_DATABASE=USB600 Scanner
-
-usb:v05DAp30CE*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 3800
-
-usb:v05DAp30CF*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 4800
-
-usb:v05DAp30D4*
- ID_PRODUCT_FROM_DATABASE=USB1200 Scanner
-
-usb:v05DAp30D8*
- ID_PRODUCT_FROM_DATABASE=Scanner
-
-usb:v05DAp30D9*
- ID_PRODUCT_FROM_DATABASE=USB2400 Scanner
-
-usb:v05DAp30E4*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 4100
-
-usb:v05DAp30E5*
- ID_PRODUCT_FROM_DATABASE=USB3200 Scanner
-
-usb:v05DAp30E6*
- ID_PRODUCT_FROM_DATABASE=ScanMaker i320
-
-usb:v05DAp40B3*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 3600
-
-usb:v05DAp40B8*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 3700
-
-usb:v05DAp40C7*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 4600
-
-usb:v05DAp40CA*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 3600
-
-usb:v05DAp40CB*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 3700
-
-usb:v05DAp40DD*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 3750i
-
-usb:v05DAp40FF*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 3600
-
-usb:v05DAp5003*
- ID_PRODUCT_FROM_DATABASE=Goya
-
-usb:v05DAp5013*
- ID_PRODUCT_FROM_DATABASE=3200 Scanner
-
-usb:v05DAp80A3*
- ID_PRODUCT_FROM_DATABASE=ScanMaker V6USL (#2)
-
-usb:v05DAp80AC*
- ID_PRODUCT_FROM_DATABASE=ScanMaker V6UL/SpicyU
-
-usb:v05DB*
- ID_VENDOR_FROM_DATABASE=Sun Corp. (Suntac?)
-
-usb:v05DBp0003*
- ID_PRODUCT_FROM_DATABASE=SUNTAC U-Cable type D2
-
-usb:v05DBp0005*
- ID_PRODUCT_FROM_DATABASE=SUNTAC U-Cable type P1
-
-usb:v05DBp0009*
- ID_PRODUCT_FROM_DATABASE=SUNTAC Slipper U
-
-usb:v05DBp000A*
- ID_PRODUCT_FROM_DATABASE=SUNTAC Ir-Trinity
-
-usb:v05DBp000B*
- ID_PRODUCT_FROM_DATABASE=SUNTAC U-Cable type A3
-
-usb:v05DBp0011*
- ID_PRODUCT_FROM_DATABASE=SUNTAC U-Cable type A4
-
-usb:v05DC*
- ID_VENDOR_FROM_DATABASE=Lexar Media, Inc.
-
-usb:v05DCp0001*
- ID_PRODUCT_FROM_DATABASE=jumpSHOT CompactFlash Reader
-
-usb:v05DCp0002*
- ID_PRODUCT_FROM_DATABASE=JumpShot
-
-usb:v05DCp0003*
- ID_PRODUCT_FROM_DATABASE=JumpShot
-
-usb:v05DCp0080*
- ID_PRODUCT_FROM_DATABASE=Jumpdrive Secure 64MB
-
-usb:v05DCp0081*
- ID_PRODUCT_FROM_DATABASE=RBC Compact Flash Drive
-
-usb:v05DCp00A7*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Impact
-
-usb:v05DCp0100*
- ID_PRODUCT_FROM_DATABASE=JumpDrive PRO
-
-usb:v05DCp0200*
- ID_PRODUCT_FROM_DATABASE=JumpDrive 2.0 Pro
-
-usb:v05DCp0300*
- ID_PRODUCT_FROM_DATABASE=Jumpdrive Geysr
-
-usb:v05DCp0301*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Classic
-
-usb:v05DCp0302*
- ID_PRODUCT_FROM_DATABASE=JD Micro
-
-usb:v05DCp0303*
- ID_PRODUCT_FROM_DATABASE=JD Micro Pro
-
-usb:v05DCp0304*
- ID_PRODUCT_FROM_DATABASE=JD Secure II
-
-usb:v05DCp0310*
- ID_PRODUCT_FROM_DATABASE=JumpDrive
-
-usb:v05DCp0311*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Classic
-
-usb:v05DCp0312*
- ID_PRODUCT_FROM_DATABASE=JD Micro
-
-usb:v05DCp0313*
- ID_PRODUCT_FROM_DATABASE=JD Micro Pro
-
-usb:v05DCp0320*
- ID_PRODUCT_FROM_DATABASE=JumpDrive
-
-usb:v05DCp0321*
- ID_PRODUCT_FROM_DATABASE=JD Micro
-
-usb:v05DCp0322*
- ID_PRODUCT_FROM_DATABASE=JD Micro Pro
-
-usb:v05DCp0323*
- ID_PRODUCT_FROM_DATABASE=UFC
-
-usb:v05DCp0330*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Expression
-
-usb:v05DCp0340*
- ID_PRODUCT_FROM_DATABASE=JumpDrive TAD
-
-usb:v05DCp0350*
- ID_PRODUCT_FROM_DATABASE=Express Card
-
-usb:v05DCp0400*
- ID_PRODUCT_FROM_DATABASE=UFDC
-
-usb:v05DCp0401*
- ID_PRODUCT_FROM_DATABASE=UFDC
-
-usb:v05DCp0403*
- ID_PRODUCT_FROM_DATABASE=Locked B Device
-
-usb:v05DCp0405*
- ID_PRODUCT_FROM_DATABASE=Locked C Device
-
-usb:v05DCp0407*
- ID_PRODUCT_FROM_DATABASE=Locked D Device
-
-usb:v05DCp0409*
- ID_PRODUCT_FROM_DATABASE=Locked E Device
-
-usb:v05DCp040B*
- ID_PRODUCT_FROM_DATABASE=Locked F Device
-
-usb:v05DCp040D*
- ID_PRODUCT_FROM_DATABASE=Locked G Device
-
-usb:v05DCp040F*
- ID_PRODUCT_FROM_DATABASE=Locked H Device
-
-usb:v05DCp0410*
- ID_PRODUCT_FROM_DATABASE=JumpDrive
-
-usb:v05DCp0411*
- ID_PRODUCT_FROM_DATABASE=JumpDrive
-
-usb:v05DCp0413*
- ID_PRODUCT_FROM_DATABASE=Locked J Device
-
-usb:v05DCp0415*
- ID_PRODUCT_FROM_DATABASE=Locked K Device
-
-usb:v05DCp0417*
- ID_PRODUCT_FROM_DATABASE=Locked L Device
-
-usb:v05DCp0419*
- ID_PRODUCT_FROM_DATABASE=Locked M Device
-
-usb:v05DCp041B*
- ID_PRODUCT_FROM_DATABASE=Locked N Device
-
-usb:v05DCp041D*
- ID_PRODUCT_FROM_DATABASE=Locked O Device
-
-usb:v05DCp041F*
- ID_PRODUCT_FROM_DATABASE=Locked P Device
-
-usb:v05DCp0420*
- ID_PRODUCT_FROM_DATABASE=JumpDrive
-
-usb:v05DCp0421*
- ID_PRODUCT_FROM_DATABASE=JumpDrive
-
-usb:v05DCp0423*
- ID_PRODUCT_FROM_DATABASE=Locked R Device
-
-usb:v05DCp0425*
- ID_PRODUCT_FROM_DATABASE=Locked S Device
-
-usb:v05DCp0427*
- ID_PRODUCT_FROM_DATABASE=Locked T Device
-
-usb:v05DCp0429*
- ID_PRODUCT_FROM_DATABASE=Locked U Device
-
-usb:v05DCp042B*
- ID_PRODUCT_FROM_DATABASE=Locked V Device
-
-usb:v05DCp042D*
- ID_PRODUCT_FROM_DATABASE=Locked W Device
-
-usb:v05DCp042F*
- ID_PRODUCT_FROM_DATABASE=Locked X Device
-
-usb:v05DCp0431*
- ID_PRODUCT_FROM_DATABASE=Locked Y Device
-
-usb:v05DCp0433*
- ID_PRODUCT_FROM_DATABASE=Locked Z Device
-
-usb:v05DCp4D02*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v05DCp4D12*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v05DCp4D30*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v05DCpA300*
- ID_PRODUCT_FROM_DATABASE=JumpDrive2
-
-usb:v05DCpA400*
- ID_PRODUCT_FROM_DATABASE=JumpDrive trade; Pro 40-501
-
-usb:v05DCpA410*
- ID_PRODUCT_FROM_DATABASE=JumpDrive 128MB/256MB
-
-usb:v05DCpA411*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Traveler
-
-usb:v05DCpA420*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Pro
-
-usb:v05DCpA421*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Pro II
-
-usb:v05DCpA422*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Micro Pro
-
-usb:v05DCpA430*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Secure
-
-usb:v05DCpA431*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Secure II
-
-usb:v05DCpA432*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Classic
-
-usb:v05DCpA440*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Lightning
-
-usb:v05DCpA450*
- ID_PRODUCT_FROM_DATABASE=JumpDrive TouchGuard
-
-usb:v05DCpA460*
- ID_PRODUCT_FROM_DATABASE=JD Mercury
-
-usb:v05DCpA501*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Classic
-
-usb:v05DCpA510*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Sport
-
-usb:v05DCpA530*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Expression
-
-usb:v05DCpA531*
- ID_PRODUCT_FROM_DATABASE=JumpDrive Secure II
-
-usb:v05DCpA560*
- ID_PRODUCT_FROM_DATABASE=JumpDrive FireFly
-
-usb:v05DCpA701*
- ID_PRODUCT_FROM_DATABASE=JumpDrive FireFly
-
-usb:v05DCpA731*
- ID_PRODUCT_FROM_DATABASE=JumpDrive FireFly
-
-usb:v05DCpA790*
- ID_PRODUCT_FROM_DATABASE=JumpDrive 2GB
-
-usb:v05DCpA811*
- ID_PRODUCT_FROM_DATABASE=16GB Gizmo!
-
-usb:v05DCpA813*
- ID_PRODUCT_FROM_DATABASE=16gB flash thumb drive
-
-usb:v05DCpB002*
- ID_PRODUCT_FROM_DATABASE=USB CF Reader
-
-usb:v05DCpB018*
- ID_PRODUCT_FROM_DATABASE=Multi-Card Reader
-
-usb:v05DCpB047*
- ID_PRODUCT_FROM_DATABASE=SDHC Reader [RW047-7000]
-
-usb:v05DD*
- ID_VENDOR_FROM_DATABASE=Delta Electronics, Inc.
-
-usb:v05DDpFF31*
- ID_PRODUCT_FROM_DATABASE=AWU-120
-
-usb:v05DDpFF32*
- ID_PRODUCT_FROM_DATABASE=FriendlyNET AeroLAN AL2011
-
-usb:v05DDpFF35*
- ID_PRODUCT_FROM_DATABASE=PCW 100 - Wireless 802.11b Adapter
-
-usb:v05DDpFF91*
- ID_PRODUCT_FROM_DATABASE=2Wire PC Port Phoneline 10Mbps Adapter
-
-usb:v05DF*
- ID_VENDOR_FROM_DATABASE=Silicon Vision, Inc.
-
-usb:v05E0*
- ID_VENDOR_FROM_DATABASE=Symbol Technologies
-
-usb:v05E0p0700*
- ID_PRODUCT_FROM_DATABASE=Bar Code Scanner (CS1504)
-
-usb:v05E0p0800*
- ID_PRODUCT_FROM_DATABASE=Spectrum24 Wireless LAN Adapter
-
-usb:v05E0p1200*
- ID_PRODUCT_FROM_DATABASE=Bar Code Scanner
-
-usb:v05E0p1900*
- ID_PRODUCT_FROM_DATABASE=SNAPI Imaging Device
-
-usb:v05E0p2000*
- ID_PRODUCT_FROM_DATABASE=MC3090 Rugged Mobile Computer
-
-usb:v05E0p200D*
- ID_PRODUCT_FROM_DATABASE=MC70 Rugged Mobile Computer
-
-usb:v05E1*
- ID_VENDOR_FROM_DATABASE=Syntek Semiconductor Co., Ltd
-
-usb:v05E1p0100*
- ID_PRODUCT_FROM_DATABASE=802.11g + Bluetooth Wireless Adapter
-
-usb:v05E1p0408*
- ID_PRODUCT_FROM_DATABASE=STK1160 Video Capture Device
-
-usb:v05E1p0500*
- ID_PRODUCT_FROM_DATABASE=DC-112X Webcam
-
-usb:v05E1p0501*
- ID_PRODUCT_FROM_DATABASE=DC-1125 Webcam
-
-usb:v05E1p0890*
- ID_PRODUCT_FROM_DATABASE=STK011 Camera
-
-usb:v05E1p0892*
- ID_PRODUCT_FROM_DATABASE=STK013 Camera
-
-usb:v05E1p0895*
- ID_PRODUCT_FROM_DATABASE=STK016 Camera
-
-usb:v05E1p0896*
- ID_PRODUCT_FROM_DATABASE=STK017 Camera
-
-usb:v05E2*
- ID_VENDOR_FROM_DATABASE=ElecVision, Inc.
-
-usb:v05E3*
- ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.
-
-usb:v05E3p000A*
- ID_PRODUCT_FROM_DATABASE=Keyboard with PS/2 Port
-
-usb:v05E3p000B*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v05E3p0100*
- ID_PRODUCT_FROM_DATABASE=Nintendo Game Boy Advance SP
-
-usb:v05E3p0120*
- ID_PRODUCT_FROM_DATABASE=Pacific Image Electronics PrimeFilm 1800u slide/negative scanner
-
-usb:v05E3p0131*
- ID_PRODUCT_FROM_DATABASE=CF/SM Reader/Writer
-
-usb:v05E3p0142*
- ID_PRODUCT_FROM_DATABASE=Multiple Slides Scanner-3600
-
-usb:v05E3p0143*
- ID_PRODUCT_FROM_DATABASE=Multiple Frames Film Scanner-36series
-
-usb:v05E3p0180*
- ID_PRODUCT_FROM_DATABASE=Plustek Scanner
-
-usb:v05E3p0182*
- ID_PRODUCT_FROM_DATABASE=Wize Media 1000
-
-usb:v05E3p0189*
- ID_PRODUCT_FROM_DATABASE=ScanJet 4600 series
-
-usb:v05E3p018A*
- ID_PRODUCT_FROM_DATABASE=Xerox 6400
-
-usb:v05E3p0300*
- ID_PRODUCT_FROM_DATABASE=GLUSB98PT Parallel Port
-
-usb:v05E3p0301*
- ID_PRODUCT_FROM_DATABASE=USB2LPT Cable Release2
-
-usb:v05E3p0406*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v05E3p0501*
- ID_PRODUCT_FROM_DATABASE=GL620USB Host-Host interface
-
-usb:v05E3p0502*
- ID_PRODUCT_FROM_DATABASE=GL620USB-A GeneLink USB-USB Bridge
-
-usb:v05E3p0503*
- ID_PRODUCT_FROM_DATABASE=Webcam
-
-usb:v05E3p0504*
- ID_PRODUCT_FROM_DATABASE=HID Keyboard Filter
-
-usb:v05E3p0604*
- ID_PRODUCT_FROM_DATABASE=USB 1.1 Hub
-
-usb:v05E3p0605*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Hub
-
-usb:v05E3p0606*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub
-
-usb:v05E3p0607*
- ID_PRODUCT_FROM_DATABASE=Logitech G110 Hub
-
-usb:v05E3p0608*
- ID_PRODUCT_FROM_DATABASE=USB-2.0 4-Port HUB
-
-usb:v05E3p0610*
- ID_PRODUCT_FROM_DATABASE=4-port hub
-
-usb:v05E3p0660*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Hub
-
-usb:v05E3p0700*
- ID_PRODUCT_FROM_DATABASE=SIIG US2256 CompactFlash Card Reader
-
-usb:v05E3p0701*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 IDE Adapter
-
-usb:v05E3p0702*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 IDE Adapter [GL811E]
-
-usb:v05E3p0703*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v05E3p0704*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v05E3p0705*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v05E3p0706*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v05E3p0707*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v05E3p0708*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v05E3p0709*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v05E3p070A*
- ID_PRODUCT_FROM_DATABASE=Pen Flash
-
-usb:v05E3p070B*
- ID_PRODUCT_FROM_DATABASE=DMHS1B Rev 3 DFU Adapter
-
-usb:v05E3p070E*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Card Reader
-
-usb:v05E3p070F*
- ID_PRODUCT_FROM_DATABASE=Pen Flash
-
-usb:v05E3p0710*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 33-in-1 Card Reader
-
-usb:v05E3p0711*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v05E3p0712*
- ID_PRODUCT_FROM_DATABASE=Delkin Mass Storage Device
-
-usb:v05E3p0715*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 microSD Reader
-
-usb:v05E3p0716*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Multislot Card Reader/Writer
-
-usb:v05E3p0717*
- ID_PRODUCT_FROM_DATABASE=All-in-1 Card Reader
-
-usb:v05E3p0718*
- ID_PRODUCT_FROM_DATABASE=IDE/SATA Adapter
-
-usb:v05E3p0719*
- ID_PRODUCT_FROM_DATABASE=SATA adapter
-
-usb:v05E3p0723*
- ID_PRODUCT_FROM_DATABASE=GL827L SD/MMC/MS Flash Card Reader
-
-usb:v05E3p0726*
- ID_PRODUCT_FROM_DATABASE=SD Card Reader
-
-usb:v05E3p0727*
- ID_PRODUCT_FROM_DATABASE=microSD Reader/Writer
-
-usb:v05E3p0736*
- ID_PRODUCT_FROM_DATABASE=microSD Reader/Writer
-
-usb:v05E3p0760*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Card Reader/Writer
-
-usb:v05E3p0761*
- ID_PRODUCT_FROM_DATABASE=Genesys Mass Storage Device
-
-usb:v05E3p0780*
- ID_PRODUCT_FROM_DATABASE=USBFS DFU Adapter
-
-usb:v05E3p07A0*
- ID_PRODUCT_FROM_DATABASE=Pen Flash
-
-usb:v05E3p0880*
- ID_PRODUCT_FROM_DATABASE=Wasp (SL-6612)
-
-usb:v05E3p0927*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v05E3p1205*
- ID_PRODUCT_FROM_DATABASE=Afilias Optical Mouse H3003 / Trust Optical USB MultiColour Mouse MI-2330
-
-usb:v05E3pA700*
- ID_PRODUCT_FROM_DATABASE=Pen Flash
-
-usb:v05E3pF102*
- ID_PRODUCT_FROM_DATABASE=VX7012 TV Box
-
-usb:v05E3pF103*
- ID_PRODUCT_FROM_DATABASE=VX7012 TV Box
-
-usb:v05E3pF104*
- ID_PRODUCT_FROM_DATABASE=VX7012 TV Box
-
-usb:v05E3pFD21*
- ID_PRODUCT_FROM_DATABASE=3M TL20 Temperature Logger
-
-usb:v05E3pFE00*
- ID_PRODUCT_FROM_DATABASE=Razer Mouse
-
-usb:v05E4*
- ID_VENDOR_FROM_DATABASE=Red Wing Corp.
-
-usb:v05E5*
- ID_VENDOR_FROM_DATABASE=Fuji Electric Co., Ltd
-
-usb:v05E6*
- ID_VENDOR_FROM_DATABASE=Keithley Instruments
-
-usb:v05E8*
- ID_VENDOR_FROM_DATABASE=ICC, Inc.
-
-usb:v05E9*
- ID_VENDOR_FROM_DATABASE=Kawasaki LSI
-
-usb:v05E9p0008*
- ID_PRODUCT_FROM_DATABASE=KL5KUSB101B Ethernet [klsi]
-
-usb:v05E9p0009*
- ID_PRODUCT_FROM_DATABASE=Sony 10Mbps Ethernet [pegasus]
-
-usb:v05E9p000C*
- ID_PRODUCT_FROM_DATABASE=USB-to-RS-232
-
-usb:v05E9p000D*
- ID_PRODUCT_FROM_DATABASE=USB-to-RS-232
-
-usb:v05E9p0014*
- ID_PRODUCT_FROM_DATABASE=RS-232 J104
-
-usb:v05E9p0040*
- ID_PRODUCT_FROM_DATABASE=Ethernet Adapter
-
-usb:v05E9p2008*
- ID_PRODUCT_FROM_DATABASE=Ethernet Adapter
-
-usb:v05EB*
- ID_VENDOR_FROM_DATABASE=FFC, Ltd
-
-usb:v05EC*
- ID_VENDOR_FROM_DATABASE=COM21, Inc.
-
-usb:v05EE*
- ID_VENDOR_FROM_DATABASE=Cytechinfo Inc.
-
-usb:v05EF*
- ID_VENDOR_FROM_DATABASE=AVB, Inc. [anko?]
-
-usb:v05EFp020A*
- ID_PRODUCT_FROM_DATABASE=Top Shot Pegasus Joystick
-
-usb:v05EFp8884*
- ID_PRODUCT_FROM_DATABASE=Mag Turbo Force Wheel
-
-usb:v05EFp8888*
- ID_PRODUCT_FROM_DATABASE=Top Shot Force Feedback Racing Wheel
-
-usb:v05F0*
- ID_VENDOR_FROM_DATABASE=Canopus Co., Ltd
-
-usb:v05F0p0101*
- ID_PRODUCT_FROM_DATABASE=DA-Port DAC
-
-usb:v05F1*
- ID_VENDOR_FROM_DATABASE=Compass Communications
-
-usb:v05F2*
- ID_VENDOR_FROM_DATABASE=Dexin Corp., Ltd
-
-usb:v05F2p0010*
- ID_PRODUCT_FROM_DATABASE=AQ Mouse
-
-usb:v05F3*
- ID_VENDOR_FROM_DATABASE=PI Engineering, Inc.
-
-usb:v05F3p0007*
- ID_PRODUCT_FROM_DATABASE=Kinesis Advantage PRO MPC/USB Keyboard
-
-usb:v05F3p0081*
- ID_PRODUCT_FROM_DATABASE=Kinesis Integrated Hub
-
-usb:v05F3p00FF*
- ID_PRODUCT_FROM_DATABASE=VEC Footpedal
-
-usb:v05F3p020B*
- ID_PRODUCT_FROM_DATABASE=PS2 Adapter
-
-usb:v05F3p0232*
- ID_PRODUCT_FROM_DATABASE=X-Keys Switch Interface, Programming Mode
-
-usb:v05F3p0261*
- ID_PRODUCT_FROM_DATABASE=X-Keys Switch Interface, SPLAT Mode
-
-usb:v05F3p0264*
- ID_PRODUCT_FROM_DATABASE=X-Keys Switch Interface, Composite Mode
-
-usb:v05F5*
- ID_VENDOR_FROM_DATABASE=Unixtar Technology, Inc.
-
-usb:v05F6*
- ID_VENDOR_FROM_DATABASE=AOC International
-
-usb:v05F7*
- ID_VENDOR_FROM_DATABASE=RFC Distribution(s) PTE, Ltd
-
-usb:v05F9*
- ID_VENDOR_FROM_DATABASE=PSC Scanning, Inc.
-
-usb:v05F9p1104*
- ID_PRODUCT_FROM_DATABASE=Magellan 2200VS
-
-usb:v05F9p2206*
- ID_PRODUCT_FROM_DATABASE=Gryphon Barcode Scanner
-
-usb:v05F9p2602*
- ID_PRODUCT_FROM_DATABASE=Datalogic Magellan 1100i Barcode Scanner
-
-usb:v05FA*
- ID_VENDOR_FROM_DATABASE=Siemens Telecommunications Systems, Ltd
-
-usb:v05FAp3301*
- ID_PRODUCT_FROM_DATABASE=Keyboard with PS/2 Mouse Port
-
-usb:v05FAp3302*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v05FAp3303*
- ID_PRODUCT_FROM_DATABASE=Keyboard with PS/2 Mouse Port
-
-usb:v05FC*
- ID_VENDOR_FROM_DATABASE=Harman Multimedia
-
-usb:v05FCp7849*
- ID_PRODUCT_FROM_DATABASE=Harman/Kardon SoundSticks
-
-usb:v05FD*
- ID_VENDOR_FROM_DATABASE=InterAct, Inc.
-
-usb:v05FDp0239*
- ID_PRODUCT_FROM_DATABASE=SV-239 HammerHead Digital
-
-usb:v05FDp0251*
- ID_PRODUCT_FROM_DATABASE=Raider Pro
-
-usb:v05FDp0253*
- ID_PRODUCT_FROM_DATABASE=ProPad 8 Digital
-
-usb:v05FDp0286*
- ID_PRODUCT_FROM_DATABASE=SV-286 Cyclone Digital
-
-usb:v05FDp107A*
- ID_PRODUCT_FROM_DATABASE=PowerPad Pro X-Box pad
-
-usb:v05FDp262A*
- ID_PRODUCT_FROM_DATABASE=3dfx HammerHead FX
-
-usb:v05FDp262F*
- ID_PRODUCT_FROM_DATABASE=HammerHead Fx
-
-usb:v05FDpDAAE*
- ID_PRODUCT_FROM_DATABASE=Game Shark
-
-usb:v05FE*
- ID_VENDOR_FROM_DATABASE=Chic Technology Corp.
-
-usb:v05FEp0001*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v05FEp0003*
- ID_PRODUCT_FROM_DATABASE=Cypress USB Mouse
-
-usb:v05FEp0005*
- ID_PRODUCT_FROM_DATABASE=Viewmaster 4D Browser Mouse
-
-usb:v05FEp0007*
- ID_PRODUCT_FROM_DATABASE=Twinhead Mouse
-
-usb:v05FEp0009*
- ID_PRODUCT_FROM_DATABASE=Inland Pro 4500/5000 Mouse
-
-usb:v05FEp0011*
- ID_PRODUCT_FROM_DATABASE=Browser Mouse
-
-usb:v05FEp0014*
- ID_PRODUCT_FROM_DATABASE=Gamepad
-
-usb:v05FEp1010*
- ID_PRODUCT_FROM_DATABASE=Optical Wireless
-
-usb:v05FF*
- ID_VENDOR_FROM_DATABASE=LeCroy Corp.
-
-usb:v0600*
- ID_VENDOR_FROM_DATABASE=Barco Display Systems
-
-usb:v0601*
- ID_VENDOR_FROM_DATABASE=Jazz Hipster Corp.
-
-usb:v0601p0003*
- ID_PRODUCT_FROM_DATABASE=Internet Security Co., Ltd. SecureKey
-
-usb:v0602*
- ID_VENDOR_FROM_DATABASE=Vista Imaging, Inc.
-
-usb:v0602p1001*
- ID_PRODUCT_FROM_DATABASE=ViCam Webcam
-
-usb:v0603*
- ID_VENDOR_FROM_DATABASE=Novatek Microelectronics Corp.
-
-usb:v0603p00F1*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v0603p6871*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v0604*
- ID_VENDOR_FROM_DATABASE=Jean Co., Ltd
-
-usb:v0605*
- ID_VENDOR_FROM_DATABASE=Anchor C&C Co., Ltd
-
-usb:v0606*
- ID_VENDOR_FROM_DATABASE=Royal Information Electronics Co., Ltd
-
-usb:v0607*
- ID_VENDOR_FROM_DATABASE=Bridge Information Co., Ltd
-
-usb:v0608*
- ID_VENDOR_FROM_DATABASE=Genrad Ads
-
-usb:v0609*
- ID_VENDOR_FROM_DATABASE=SMK Manufacturing, Inc.
-
-usb:v0609p031D*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v0609p0322*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v0609p0334*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v0609pFF12*
- ID_PRODUCT_FROM_DATABASE=SMK Bluetooth Device
-
-usb:v060A*
- ID_VENDOR_FROM_DATABASE=Worthington Data Solutions, Inc.
-
-usb:v060B*
- ID_VENDOR_FROM_DATABASE=Solid Year
-
-usb:v060Bp0001*
- ID_PRODUCT_FROM_DATABASE=MacAlly Keyboard
-
-usb:v060Bp0230*
- ID_PRODUCT_FROM_DATABASE=KSK-8003 UX Keyboard
-
-usb:v060Bp1006*
- ID_PRODUCT_FROM_DATABASE=Japanese Keyboard - 260U
-
-usb:v060Bp2101*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v060Bp2231*
- ID_PRODUCT_FROM_DATABASE=KSK-6001 UELX Keyboard
-
-usb:v060Bp2270*
- ID_PRODUCT_FROM_DATABASE=Gigabyte K8100 Aivia Gaming Keyboard
-
-usb:v060Bp5811*
- ID_PRODUCT_FROM_DATABASE=ACK-571U Wireless Keyboard
-
-usb:v060Bp5903*
- ID_PRODUCT_FROM_DATABASE=Japanese Keyboard - 595U
-
-usb:v060Bp6001*
- ID_PRODUCT_FROM_DATABASE=SolidTek USB 2p HUB
-
-usb:v060Bp6002*
- ID_PRODUCT_FROM_DATABASE=SolidTek USB Keyboard
-
-usb:v060Bp6003*
- ID_PRODUCT_FROM_DATABASE=Japanese Keyboard - 600HM
-
-usb:v060Bp6231*
- ID_PRODUCT_FROM_DATABASE=Thermaltake eSPORTS Meka Keyboard
-
-usb:v060Bp8007*
- ID_PRODUCT_FROM_DATABASE=P-W1G1F12 VER:1 [Macally MegaCam]
-
-usb:v060BpA001*
- ID_PRODUCT_FROM_DATABASE=Maxwell Compact Pc PM3
-
-usb:v060C*
- ID_VENDOR_FROM_DATABASE=EEH Datalink GmbH
-
-usb:v060D*
- ID_VENDOR_FROM_DATABASE=Auctor Corp.
-
-usb:v060E*
- ID_VENDOR_FROM_DATABASE=Transmonde Technologies, Inc.
-
-usb:v060F*
- ID_VENDOR_FROM_DATABASE=Joinsoon Electronics Mfg. Co., Ltd
-
-usb:v0610*
- ID_VENDOR_FROM_DATABASE=Costar Electronics, Inc.
-
-usb:v0611*
- ID_VENDOR_FROM_DATABASE=Totoku Electric Co., Ltd
-
-usb:v0613*
- ID_VENDOR_FROM_DATABASE=TransAct Technologies, Inc.
-
-usb:v0614*
- ID_VENDOR_FROM_DATABASE=Bio-Rad Laboratories
-
-usb:v0615*
- ID_VENDOR_FROM_DATABASE=Quabbin Wire & Cable Co., Inc.
-
-usb:v0616*
- ID_VENDOR_FROM_DATABASE=Future Techno Designs PVT, Ltd
-
-usb:v0617*
- ID_VENDOR_FROM_DATABASE=Swiss Federal Insitute of Technology
-
-usb:v0618*
- ID_VENDOR_FROM_DATABASE=MacAlly
-
-usb:v0618p0101*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v0619*
- ID_VENDOR_FROM_DATABASE=Seiko Instruments, Inc.
-
-usb:v0619p0101*
- ID_PRODUCT_FROM_DATABASE=SLP-100 Driver
-
-usb:v0619p0102*
- ID_PRODUCT_FROM_DATABASE=SLP-200 Driver
-
-usb:v0619p0103*
- ID_PRODUCT_FROM_DATABASE=SLP-100N Driver
-
-usb:v0619p0104*
- ID_PRODUCT_FROM_DATABASE=SLP-200N Driver
-
-usb:v0619p0105*
- ID_PRODUCT_FROM_DATABASE=SLP-240 Driver
-
-usb:v0619p0501*
- ID_PRODUCT_FROM_DATABASE=SLP-440 Driver
-
-usb:v0619p0502*
- ID_PRODUCT_FROM_DATABASE=SLP-450 Driver
-
-usb:v061A*
- ID_VENDOR_FROM_DATABASE=Veridicom International, Inc.
-
-usb:v061Ap0110*
- ID_PRODUCT_FROM_DATABASE=5thSense Fingerprint Sensor
-
-usb:v061Ap0200*
- ID_PRODUCT_FROM_DATABASE=FPS200 Fingerprint Sensor
-
-usb:v061Ap8200*
- ID_PRODUCT_FROM_DATABASE=VKI-A Fingerprint Sensor/Flash Storage (dumb)
-
-usb:v061Ap9200*
- ID_PRODUCT_FROM_DATABASE=VKI-B Fingerprint Sensor/Flash Storage (smart)
-
-usb:v061B*
- ID_VENDOR_FROM_DATABASE=Promptus Communications, Inc.
-
-usb:v061C*
- ID_VENDOR_FROM_DATABASE=Act Labs, Ltd
-
-usb:v061D*
- ID_VENDOR_FROM_DATABASE=Quatech, Inc.
-
-usb:v061DpC020*
- ID_PRODUCT_FROM_DATABASE=SSU-100
-
-usb:v061E*
- ID_VENDOR_FROM_DATABASE=Nissei Electric Co.
-
-usb:v061Ep0001*
- ID_PRODUCT_FROM_DATABASE=nissei 128DE-USB -
-
-usb:v061Ep0010*
- ID_PRODUCT_FROM_DATABASE=nissei 128DE-PNA -
-
-usb:v0620*
- ID_VENDOR_FROM_DATABASE=Alaris, Inc.
-
-usb:v0620p0004*
- ID_PRODUCT_FROM_DATABASE=QuickVideo weeCam
-
-usb:v0620p0007*
- ID_PRODUCT_FROM_DATABASE=QuickVideo weeCam
-
-usb:v0620p000A*
- ID_PRODUCT_FROM_DATABASE=QuickVideo weeCam
-
-usb:v0620p000B*
- ID_PRODUCT_FROM_DATABASE=QuickVideo weeCam
-
-usb:v0621*
- ID_VENDOR_FROM_DATABASE=ODU-Steckverbindungssysteme GmbH & Co. KG
-
-usb:v0622*
- ID_VENDOR_FROM_DATABASE=Iotech, Inc.
-
-usb:v0623*
- ID_VENDOR_FROM_DATABASE=Littelfuse, Inc.
-
-usb:v0624*
- ID_VENDOR_FROM_DATABASE=Avocent Corp.
-
-usb:v0624p0294*
- ID_PRODUCT_FROM_DATABASE=Dell 03R874 KVM dongle
-
-usb:v0624p0402*
- ID_PRODUCT_FROM_DATABASE=Cisco Virtual Keyboard and Mouse
-
-usb:v0624p0403*
- ID_PRODUCT_FROM_DATABASE=Cisco Virtual Mass Storage
-
-usb:v0625*
- ID_VENDOR_FROM_DATABASE=TiMedia Technology Co., Ltd
-
-usb:v0626*
- ID_VENDOR_FROM_DATABASE=Nippon Systems Development Co., Ltd
-
-usb:v0627*
- ID_VENDOR_FROM_DATABASE=Adomax Technology Co., Ltd
-
-usb:v0628*
- ID_VENDOR_FROM_DATABASE=Tasking Software, Inc.
-
-usb:v0629*
- ID_VENDOR_FROM_DATABASE=Zida Technologies, Ltd
-
-usb:v062A*
- ID_VENDOR_FROM_DATABASE=Creative Labs
-
-usb:v062Ap0000*
- ID_PRODUCT_FROM_DATABASE=Optical mouse
-
-usb:v062Ap0001*
- ID_PRODUCT_FROM_DATABASE=Notebook Optical Mouse
-
-usb:v062Ap0102*
- ID_PRODUCT_FROM_DATABASE=Wireless Keyboard/Mouse Combo [MK1152WC]
-
-usb:v062Ap0201*
- ID_PRODUCT_FROM_DATABASE=Defender Office Keyboard (K7310) S Zodiak KM-9010
-
-usb:v062Ap0252*
- ID_PRODUCT_FROM_DATABASE=Emerge Uni-retractable Laser Mouse
-
-usb:v062Ap3286*
- ID_PRODUCT_FROM_DATABASE=Nano Receiver [Sandstrom Laser Mouse SMWLL11]
-
-usb:v062Ap6301*
- ID_PRODUCT_FROM_DATABASE=Trust Wireless Optical Mouse MI-4150K
-
-usb:v062Ap9003*
- ID_PRODUCT_FROM_DATABASE=VoIP Conference Hub (A16GH)
-
-usb:v062Ap9004*
- ID_PRODUCT_FROM_DATABASE=USR9602 USB Internet Mini Phone
-
-usb:v062B*
- ID_VENDOR_FROM_DATABASE=Greatlink Electronics Taiwan, Ltd
-
-usb:v062C*
- ID_VENDOR_FROM_DATABASE=Institute for Information Industry
-
-usb:v062D*
- ID_VENDOR_FROM_DATABASE=Taiwan Tai-Hao Enterprises Co., Ltd
-
-usb:v062E*
- ID_VENDOR_FROM_DATABASE=Mainsuper Enterprises Co., Ltd
-
-usb:v062F*
- ID_VENDOR_FROM_DATABASE=Sin Sheng Terminal & Machine, Inc.
-
-usb:v0631*
- ID_VENDOR_FROM_DATABASE=JUJO Electronics Corp.
-
-usb:v0633*
- ID_VENDOR_FROM_DATABASE=Cyrix Corp.
-
-usb:v0634*
- ID_VENDOR_FROM_DATABASE=Micron Technology, Inc.
-
-usb:v0634p0655*
- ID_PRODUCT_FROM_DATABASE=Embedded Mass Storage Drive [RealSSD]
-
-usb:v0635*
- ID_VENDOR_FROM_DATABASE=Methode Electronics, Inc.
-
-usb:v0636*
- ID_VENDOR_FROM_DATABASE=Sierra Imaging, Inc.
-
-usb:v0636p0003*
- ID_PRODUCT_FROM_DATABASE=Vivicam 35Xx
-
-usb:v0638*
- ID_VENDOR_FROM_DATABASE=Avision, Inc.
-
-usb:v0638p0268*
- ID_PRODUCT_FROM_DATABASE=iVina 1200U Scanner
-
-usb:v0638p026A*
- ID_PRODUCT_FROM_DATABASE=Minolta Dimage Scan Dual II AF-2820U (2886)
-
-usb:v0638p0A10*
- ID_PRODUCT_FROM_DATABASE=iVina FB1600/UMAX Astra 4500
-
-usb:v0638p0A13*
- ID_PRODUCT_FROM_DATABASE=AV600U
-
-usb:v0638p0A15*
- ID_PRODUCT_FROM_DATABASE=Konica Minolta SC-110
-
-usb:v0638p0A16*
- ID_PRODUCT_FROM_DATABASE=Konica Minolta SC-215
-
-usb:v0638p0A30*
- ID_PRODUCT_FROM_DATABASE=UMAX Astra 6700 Scanner
-
-usb:v0638p0A41*
- ID_PRODUCT_FROM_DATABASE=Avision AM3000/MF3000 Series
-
-usb:v0638p0F01*
- ID_PRODUCT_FROM_DATABASE=fi-4010CU
-
-usb:v0638p4004*
- ID_PRODUCT_FROM_DATABASE=Minolta Dimage Scan Elite II AF-2920 (2888)
-
-usb:v0639*
- ID_VENDOR_FROM_DATABASE=Chrontel, Inc.
-
-usb:v063A*
- ID_VENDOR_FROM_DATABASE=Techwin Corp.
-
-usb:v063B*
- ID_VENDOR_FROM_DATABASE=Taugagreining HF
-
-usb:v063C*
- ID_VENDOR_FROM_DATABASE=Yamaichi Electronics Co., Ltd (Sakura)
-
-usb:v063D*
- ID_VENDOR_FROM_DATABASE=Fong Kai Industrial Co., Ltd
-
-usb:v063E*
- ID_VENDOR_FROM_DATABASE=RealMedia Technology, Inc.
-
-usb:v063F*
- ID_VENDOR_FROM_DATABASE=New Technology Cable, Ltd
-
-usb:v0640*
- ID_VENDOR_FROM_DATABASE=Hitex Development Tools
-
-usb:v0640p0026*
- ID_PRODUCT_FROM_DATABASE=LPC-Stick
-
-usb:v0641*
- ID_VENDOR_FROM_DATABASE=Woods Industries, Inc.
-
-usb:v0642*
- ID_VENDOR_FROM_DATABASE=VIA Medical Corp.
-
-usb:v0644*
- ID_VENDOR_FROM_DATABASE=TEAC Corp.
-
-usb:v0644p0000*
- ID_PRODUCT_FROM_DATABASE=Floppy
-
-usb:v0644p0200*
- ID_PRODUCT_FROM_DATABASE=All-In-One Multi-Card Reader CA200/B/S
-
-usb:v0644p1000*
- ID_PRODUCT_FROM_DATABASE=CD-ROM Drive
-
-usb:v0644p800D*
- ID_PRODUCT_FROM_DATABASE=TASCAM Portastudio DP-01FX
-
-usb:v0644p800E*
- ID_PRODUCT_FROM_DATABASE=TASCAM US-122L
-
-usb:v0644p8021*
- ID_PRODUCT_FROM_DATABASE=TASCAM US-122mkII
-
-usb:v0644pD001*
- ID_PRODUCT_FROM_DATABASE=CD-R/RW Unit
-
-usb:v0644pD002*
- ID_PRODUCT_FROM_DATABASE=CD-R/RW Unit
-
-usb:v0644pD010*
- ID_PRODUCT_FROM_DATABASE=CD-RW/DVD Unit
-
-usb:v0645*
- ID_VENDOR_FROM_DATABASE=Who? Vision Systems, Inc.
-
-usb:v0646*
- ID_VENDOR_FROM_DATABASE=UMAX
-
-usb:v0647*
- ID_VENDOR_FROM_DATABASE=Acton Research Corp.
-
-usb:v0647p0100*
- ID_PRODUCT_FROM_DATABASE=ARC SpectraPro UV/VIS/IR Monochromator/Spectrograph
-
-usb:v0647p0101*
- ID_PRODUCT_FROM_DATABASE=ARC AM-VM Mono Airpath/Vacuum Monochromator/Spectrograph
-
-usb:v0647p0102*
- ID_PRODUCT_FROM_DATABASE=ARC Inspectrum Mono
-
-usb:v0647p0103*
- ID_PRODUCT_FROM_DATABASE=ARC Filterwheel
-
-usb:v0647p03E9*
- ID_PRODUCT_FROM_DATABASE=Inspectrum 128x1024 F VIS Spectrograph
-
-usb:v0647p03EA*
- ID_PRODUCT_FROM_DATABASE=Inspectrum 256x1024 F VIS Spectrograph
-
-usb:v0647p03EB*
- ID_PRODUCT_FROM_DATABASE=Inspectrum 128x1024 B VIS Spectrograph
-
-usb:v0647p03EC*
- ID_PRODUCT_FROM_DATABASE=Inspectrum 256x1024 B VIS Spectrograph
-
-usb:v0648*
- ID_VENDOR_FROM_DATABASE=Inside Out Networks
-
-usb:v0649*
- ID_VENDOR_FROM_DATABASE=Weli Science Co., Ltd
-
-usb:v064B*
- ID_VENDOR_FROM_DATABASE=Analog Devices, Inc. (White Mountain DSP)
-
-usb:v064Bp0165*
- ID_PRODUCT_FROM_DATABASE=Blackfin 535 [ADZS HPUSB ICE]
-
-usb:v064C*
- ID_VENDOR_FROM_DATABASE=Ji-Haw Industrial Co., Ltd
-
-usb:v064D*
- ID_VENDOR_FROM_DATABASE=TriTech Microelectronics, Ltd
-
-usb:v064E*
- ID_VENDOR_FROM_DATABASE=Suyin Corp.
-
-usb:v064EpA100*
- ID_PRODUCT_FROM_DATABASE=Acer OrbiCam
-
-usb:v064EpA101*
- ID_PRODUCT_FROM_DATABASE=Acer CrystalEye Webcam
-
-usb:v064EpA102*
- ID_PRODUCT_FROM_DATABASE=Acer/Lenovo Webcam [CN0316]
-
-usb:v064EpA103*
- ID_PRODUCT_FROM_DATABASE=Acer/HP Integrated Webcam [CN0314]
-
-usb:v064EpA110*
- ID_PRODUCT_FROM_DATABASE=HP Webcam
-
-usb:v064EpA114*
- ID_PRODUCT_FROM_DATABASE=Lemote Webcam
-
-usb:v064EpA136*
- ID_PRODUCT_FROM_DATABASE=Asus Integrated Webcam [CN031B]
-
-usb:v064EpA219*
- ID_PRODUCT_FROM_DATABASE=1.3M WebCam (notebook emachines E730, Acer sub-brand)
-
-usb:v064EpC107*
- ID_PRODUCT_FROM_DATABASE=HP webcam [dv6-1190en]
-
-usb:v064EpD101*
- ID_PRODUCT_FROM_DATABASE=Acer CrystalEye Webcam
-
-usb:v064EpE201*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Webcam
-
-usb:v064EpE203*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Webcam
-
-usb:v064EpF102*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Webcam [R5U877]
-
-usb:v064EpF103*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Webcam [R5U877]
-
-usb:v064F*
- ID_VENDOR_FROM_DATABASE=WIBU-Systems AG
-
-usb:v064Fp03E9*
- ID_PRODUCT_FROM_DATABASE=CmStick (article no. 1001)
-
-usb:v064Fp03F2*
- ID_PRODUCT_FROM_DATABASE=CmStick/M (article no. 1010)
-
-usb:v064Fp03F3*
- ID_PRODUCT_FROM_DATABASE=CmStick/M (article no. 1011)
-
-usb:v064Fp0BD7*
- ID_PRODUCT_FROM_DATABASE=BOX/U
-
-usb:v064Fp0BD8*
- ID_PRODUCT_FROM_DATABASE=BOX/RU
-
-usb:v0650*
- ID_VENDOR_FROM_DATABASE=Dynapro Systems
-
-usb:v0651*
- ID_VENDOR_FROM_DATABASE=Likom Technology Sdn. Bhd.
-
-usb:v0652*
- ID_VENDOR_FROM_DATABASE=Stargate Solutions, Inc.
-
-usb:v0653*
- ID_VENDOR_FROM_DATABASE=CNF, Inc.
-
-usb:v0654*
- ID_VENDOR_FROM_DATABASE=Granite Microsystems, Inc.
-
-usb:v0654p0005*
- ID_PRODUCT_FROM_DATABASE=Device Bay Controller
-
-usb:v0654p0006*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v0654p0007*
- ID_PRODUCT_FROM_DATABASE=Device Bay Controller
-
-usb:v0654p0016*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v0655*
- ID_VENDOR_FROM_DATABASE=Space Shuttle Hi-Tech Co., Ltd
-
-usb:v0656*
- ID_VENDOR_FROM_DATABASE=Glory Mark Electronic, Ltd
-
-usb:v0657*
- ID_VENDOR_FROM_DATABASE=Tekcon Electronics Corp.
-
-usb:v0658*
- ID_VENDOR_FROM_DATABASE=Sigma Designs, Inc.
-
-usb:v0659*
- ID_VENDOR_FROM_DATABASE=Aethra
-
-usb:v065A*
- ID_VENDOR_FROM_DATABASE=Optoelectronics Co., Ltd
-
-usb:v065Ap0001*
- ID_PRODUCT_FROM_DATABASE=Barcode scanner
-
-usb:v065B*
- ID_VENDOR_FROM_DATABASE=Tracewell Systems
-
-usb:v065E*
- ID_VENDOR_FROM_DATABASE=Silicon Graphics
-
-usb:v065F*
- ID_VENDOR_FROM_DATABASE=Good Way Technology Co., Ltd & GWC technology Inc.
-
-usb:v0660*
- ID_VENDOR_FROM_DATABASE=TSAY-E (BVI) International, Inc.
-
-usb:v0661*
- ID_VENDOR_FROM_DATABASE=Hamamatsu Photonics K.K.
-
-usb:v0662*
- ID_VENDOR_FROM_DATABASE=Kansai Electric Co., Ltd
-
-usb:v0663*
- ID_VENDOR_FROM_DATABASE=Topmax Electronic Co., Ltd
-
-usb:v0663p0103*
- ID_PRODUCT_FROM_DATABASE=CobraPad
-
-usb:v0664*
- ID_VENDOR_FROM_DATABASE=ET&T Technology Co., Ltd.
-
-usb:v0664p0301*
- ID_PRODUCT_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
-
-usb:v0664p0302*
- ID_PRODUCT_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
-
-usb:v0664p0303*
- ID_PRODUCT_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
-
-usb:v0664p0304*
- ID_PRODUCT_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
-
-usb:v0664p0305*
- ID_PRODUCT_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
-
-usb:v0664p0306*
- ID_PRODUCT_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
-
-usb:v0664p0307*
- ID_PRODUCT_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
-
-usb:v0664p0309*
- ID_PRODUCT_FROM_DATABASE=Groovy Technology Corp. GTouch Touch Screen
-
-usb:v0665*
- ID_VENDOR_FROM_DATABASE=Cypress Semiconductor
-
-usb:v0665p5161*
- ID_PRODUCT_FROM_DATABASE=USB to Serial
-
-usb:v0667*
- ID_VENDOR_FROM_DATABASE=Aiwa Co., Ltd
-
-usb:v0667p0FA1*
- ID_PRODUCT_FROM_DATABASE=TD-U8000 Tape Drive
-
-usb:v0668*
- ID_VENDOR_FROM_DATABASE=WordWand
-
-usb:v0669*
- ID_VENDOR_FROM_DATABASE=Oce' Printing Systems GmbH
-
-usb:v066A*
- ID_VENDOR_FROM_DATABASE=Total Technologies, Ltd
-
-usb:v066B*
- ID_VENDOR_FROM_DATABASE=Linksys, Inc.
-
-usb:v066Bp0105*
- ID_PRODUCT_FROM_DATABASE=SCM eUSB SmartMedia Card Reader
-
-usb:v066Bp010A*
- ID_PRODUCT_FROM_DATABASE=Melco MCR-U2 SmartMedia / CompactFlash Reader
-
-usb:v066Bp200C*
- ID_PRODUCT_FROM_DATABASE=USB10TX
-
-usb:v066Bp2202*
- ID_PRODUCT_FROM_DATABASE=USB10TX Ethernet [pegasus]
-
-usb:v066Bp2203*
- ID_PRODUCT_FROM_DATABASE=USB100TX Ethernet [pegasus]
-
-usb:v066Bp2204*
- ID_PRODUCT_FROM_DATABASE=USB100TX HomePNA Ethernet [pegasus]
-
-usb:v066Bp2206*
- ID_PRODUCT_FROM_DATABASE=USB Ethernet [pegasus]
-
-usb:v066Bp2207*
- ID_PRODUCT_FROM_DATABASE=HomeLink Phoneline 10M Network Adapter
-
-usb:v066Bp2211*
- ID_PRODUCT_FROM_DATABASE=WUSB11 802.11b Adapter
-
-usb:v066Bp2212*
- ID_PRODUCT_FROM_DATABASE=WUSB11v2.5 802.11b Adapter
-
-usb:v066Bp2213*
- ID_PRODUCT_FROM_DATABASE=WUSB12v1.1 802.11b Adapter
-
-usb:v066Bp2219*
- ID_PRODUCT_FROM_DATABASE=Instant Wireless Network Adapter
-
-usb:v066Bp400B*
- ID_PRODUCT_FROM_DATABASE=USB10TX
-
-usb:v066D*
- ID_VENDOR_FROM_DATABASE=Entrega, Inc.
-
-usb:v066E*
- ID_VENDOR_FROM_DATABASE=Acer Semiconductor America, Inc.
-
-usb:v066F*
- ID_VENDOR_FROM_DATABASE=SigmaTel, Inc.
-
-usb:v066Fp003B*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp003E*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp003F*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp0040*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp0041*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp0042*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp0043*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp004B*
- ID_PRODUCT_FROM_DATABASE=A-Max PA11 MP3 Player
-
-usb:v066Fp3400*
- ID_PRODUCT_FROM_DATABASE=STMP3400 D-Major MP3 Player
-
-usb:v066Fp3410*
- ID_PRODUCT_FROM_DATABASE=STMP3410 D-Major MP3 Player
-
-usb:v066Fp3500*
- ID_PRODUCT_FROM_DATABASE=Player Recovery Device
-
-usb:v066Fp3780*
- ID_PRODUCT_FROM_DATABASE=STMP3780/i.MX23 SystemOnChip in RecoveryMode
-
-usb:v066Fp4200*
- ID_PRODUCT_FROM_DATABASE=STIr4200 IrDA Bridge
-
-usb:v066Fp4210*
- ID_PRODUCT_FROM_DATABASE=STIr4210 IrDA Bridge
-
-usb:v066Fp8000*
- ID_PRODUCT_FROM_DATABASE=MSCN MP3 Player
-
-usb:v066Fp8001*
- ID_PRODUCT_FROM_DATABASE=SigmaTel MSCN Audio Player
-
-usb:v066Fp8004*
- ID_PRODUCT_FROM_DATABASE=MSCNMMC MP3 Player
-
-usb:v066Fp8008*
- ID_PRODUCT_FROM_DATABASE=i-Bead 100 MP3 Player
-
-usb:v066Fp8020*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8034*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8036*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8038*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8056*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8060*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8066*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp807E*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8092*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8096*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp809A*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp80AA*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp80AC*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp80B8*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp80BA*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp80BC*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp80BF*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp80C5*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp80C8*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp80CA*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp80CC*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8104*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8106*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8108*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp810A*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp810C*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8122*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8124*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8126*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8128*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8134*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8136*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8138*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp813A*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp813E*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8140*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8142*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8144*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8146*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8148*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp814C*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8201*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8202*
- ID_PRODUCT_FROM_DATABASE=Jens of Sweden / I-BEAD 150M/150H MP3 player
-
-usb:v066Fp8203*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8204*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8205*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8206*
- ID_PRODUCT_FROM_DATABASE=Digital MP3 Music Player
-
-usb:v066Fp8207*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8208*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8209*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp820A*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp820B*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp820C*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp820D*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp820E*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp820F*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8210*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8211*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8212*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8213*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8214*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8215*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8216*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8217*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8218*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8219*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp821A*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp821B*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp821C*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp821D*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp821E*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp821F*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8220*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8221*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8222*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8223*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8224*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8225*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8226*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8227*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8228*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8229*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8230*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp829C*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp82E0*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp8320*
- ID_PRODUCT_FROM_DATABASE=TrekStor i.Beat fun
-
-usb:v066Fp835D*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp9000*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp9001*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v066Fp9002*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0670*
- ID_VENDOR_FROM_DATABASE=Sequel Imaging
-
-usb:v0670p0001*
- ID_PRODUCT_FROM_DATABASE=Calibrator
-
-usb:v0670p0005*
- ID_PRODUCT_FROM_DATABASE=Enable Cable
-
-usb:v0672*
- ID_VENDOR_FROM_DATABASE=Labtec, Inc.
-
-usb:v0672p1041*
- ID_PRODUCT_FROM_DATABASE=LCS1040 Speaker System
-
-usb:v0672p5000*
- ID_PRODUCT_FROM_DATABASE=SpaceBall 4000 FLX
-
-usb:v0673*
- ID_VENDOR_FROM_DATABASE=HCL
-
-usb:v0673p5000*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v0674*
- ID_VENDOR_FROM_DATABASE=Key Mouse Electronic Enterprise Co., Ltd
-
-usb:v0675*
- ID_VENDOR_FROM_DATABASE=DrayTek Corp.
-
-usb:v0675p0110*
- ID_PRODUCT_FROM_DATABASE=Vigor 128 ISDN TA
-
-usb:v0675p0530*
- ID_PRODUCT_FROM_DATABASE=Vigor530 IEEE 802.11G Adapter (ISL3880+NET2280)
-
-usb:v0675p0550*
- ID_PRODUCT_FROM_DATABASE=Vigor550
-
-usb:v0675p1688*
- ID_PRODUCT_FROM_DATABASE=miniVigor 128 ISDN TA
-
-usb:v0675p6694*
- ID_PRODUCT_FROM_DATABASE=USB ISDN TA
-
-usb:v0676*
- ID_VENDOR_FROM_DATABASE=Teles AG
-
-usb:v0677*
- ID_VENDOR_FROM_DATABASE=Aiwa Co., Ltd
-
-usb:v0677p07D5*
- ID_PRODUCT_FROM_DATABASE=TM-ED1285(USB)
-
-usb:v0677p0FA1*
- ID_PRODUCT_FROM_DATABASE=TD-U8000 Tape Drive
-
-usb:v0678*
- ID_VENDOR_FROM_DATABASE=ACard Technology Corp.
-
-usb:v067B*
- ID_VENDOR_FROM_DATABASE=Prolific Technology, Inc.
-
-usb:v067Bp0000*
- ID_PRODUCT_FROM_DATABASE=PL2301 USB-USB Bridge
-
-usb:v067Bp0001*
- ID_PRODUCT_FROM_DATABASE=PL2302 USB-USB Bridge
-
-usb:v067Bp0307*
- ID_PRODUCT_FROM_DATABASE=Motorola Serial Adapter
-
-usb:v067Bp04BB*
- ID_PRODUCT_FROM_DATABASE=PL2303 Serial (IODATA USB-RSAQ2)
-
-usb:v067Bp0610*
- ID_PRODUCT_FROM_DATABASE=Onext EG210U MODEM
-
-usb:v067Bp0611*
- ID_PRODUCT_FROM_DATABASE=AlDiga AL-11U Quad-band GSM/GPRS/EDGE modem
-
-usb:v067Bp2303*
- ID_PRODUCT_FROM_DATABASE=PL2303 Serial Port
-
-usb:v067Bp2305*
- ID_PRODUCT_FROM_DATABASE=PL2305 Parallel Port
-
-usb:v067Bp2306*
- ID_PRODUCT_FROM_DATABASE=Raylink Bridge Controller
-
-usb:v067Bp2307*
- ID_PRODUCT_FROM_DATABASE=PL2307 USB-ATAPI4 Bridge
-
-usb:v067Bp2313*
- ID_PRODUCT_FROM_DATABASE=FITEL PHS U Cable Adaptor
-
-usb:v067Bp2315*
- ID_PRODUCT_FROM_DATABASE=Flash Disk Embedded Hub
-
-usb:v067Bp2316*
- ID_PRODUCT_FROM_DATABASE=Flash Disk Security Device
-
-usb:v067Bp2317*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v067Bp2501*
- ID_PRODUCT_FROM_DATABASE=PL2501 USB-USB Bridge (USB 2.0)
-
-usb:v067Bp2506*
- ID_PRODUCT_FROM_DATABASE=Kaser 8gB micro hard drive
-
-usb:v067Bp2507*
- ID_PRODUCT_FROM_DATABASE=PL2507 Hi-speed USB to IDE bridge controller
-
-usb:v067Bp2515*
- ID_PRODUCT_FROM_DATABASE=Flash Disk Embedded Hub
-
-usb:v067Bp2517*
- ID_PRODUCT_FROM_DATABASE=Flash Disk Mass Storage Device
-
-usb:v067Bp2528*
- ID_PRODUCT_FROM_DATABASE=Storage device (8gB thumb drive)
-
-usb:v067Bp25A1*
- ID_PRODUCT_FROM_DATABASE=PL25A1 Host-Host Bridge
-
-usb:v067Bp3400*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed Flash Disk with TruePrint AES3400
-
-usb:v067Bp3500*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed Flash Disk with TruePrint AES3500
-
-usb:v067Bp3507*
- ID_PRODUCT_FROM_DATABASE=PL3507 ATAPI6 Bridge
-
-usb:v067BpAAA0*
- ID_PRODUCT_FROM_DATABASE=Prolific Pharos
-
-usb:v067BpAAA2*
- ID_PRODUCT_FROM_DATABASE=PL2303 Serial Adapter (IODATA USB-RSAQ3)
-
-usb:v067C*
- ID_VENDOR_FROM_DATABASE=Efficient Networks, Inc.
-
-usb:v067Cp1001*
- ID_PRODUCT_FROM_DATABASE=Siemens SpeedStream 100MBps Ethernet
-
-usb:v067Cp1022*
- ID_PRODUCT_FROM_DATABASE=Siemens SpeedStream 1022 802.11b Adapter
-
-usb:v067Cp1023*
- ID_PRODUCT_FROM_DATABASE=SpeedStream Wireless
-
-usb:v067Cp4020*
- ID_PRODUCT_FROM_DATABASE=SpeedStream 4020 ATM/ADSL Installer
-
-usb:v067Cp4031*
- ID_PRODUCT_FROM_DATABASE=Efficient ADSL Modem
-
-usb:v067Cp4032*
- ID_PRODUCT_FROM_DATABASE=SpeedStream 4031 ATM/ADSL Installer
-
-usb:v067Cp4033*
- ID_PRODUCT_FROM_DATABASE=SpeedStream 4031 ATM/ADSL Installer
-
-usb:v067Cp4060*
- ID_PRODUCT_FROM_DATABASE=Alcatel Speedstream 4060 ADSL Modem
-
-usb:v067Cp4062*
- ID_PRODUCT_FROM_DATABASE=Efficient Networks 4060 Loader
-
-usb:v067Cp5667*
- ID_PRODUCT_FROM_DATABASE=Efficient Networks Virtual Bus for ADSL Modem
-
-usb:v067CpC031*
- ID_PRODUCT_FROM_DATABASE=SpeedStream 4031 ATM/ADSL Installer
-
-usb:v067CpC032*
- ID_PRODUCT_FROM_DATABASE=SpeedStream 4031 ATM/ADSL Installer
-
-usb:v067CpC033*
- ID_PRODUCT_FROM_DATABASE=SpeedStream 4031 ATM/ADSL Installer
-
-usb:v067CpC060*
- ID_PRODUCT_FROM_DATABASE=SpeedStream 4060 Miniport ATM/ADSL Adapter
-
-usb:v067CpD667*
- ID_PRODUCT_FROM_DATABASE=Efficient Networks Virtual Bus for ADSL Modem
-
-usb:v067CpE240*
- ID_PRODUCT_FROM_DATABASE=Speedstream Ethernet Adapter E240
-
-usb:v067CpE540*
- ID_PRODUCT_FROM_DATABASE=Speedstream Ethernet Adapter E240
-
-usb:v067D*
- ID_VENDOR_FROM_DATABASE=Hohner Corp.
-
-usb:v067E*
- ID_VENDOR_FROM_DATABASE=Intermec Technologies Corp.
-
-usb:v067Ep0801*
- ID_PRODUCT_FROM_DATABASE=HID Keyboard, Barcode scanner
-
-usb:v067Ep0803*
- ID_PRODUCT_FROM_DATABASE=VCP, Barcode scanner
-
-usb:v067Ep0805*
- ID_PRODUCT_FROM_DATABASE=VCP + UVC, Barcode scanner
-
-usb:v067Ep1001*
- ID_PRODUCT_FROM_DATABASE=Mobile Computer
-
-usb:v067F*
- ID_VENDOR_FROM_DATABASE=Virata, Ltd
-
-usb:v067Fp4552*
- ID_PRODUCT_FROM_DATABASE=DSL-200 ADSL Modem
-
-usb:v067Fp6542*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v067Fp6549*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v067Fp7541*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v0680*
- ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Corp., CPP Div. (Avance Logic)
-
-usb:v0680p0002*
- ID_PRODUCT_FROM_DATABASE=Arowana Optical Wheel Mouse MSOP-01
-
-usb:v0681*
- ID_VENDOR_FROM_DATABASE=Siemens Information and Communication Products
-
-usb:v0681p0001*
- ID_PRODUCT_FROM_DATABASE=Dect Base
-
-usb:v0681p0002*
- ID_PRODUCT_FROM_DATABASE=Gigaset 3075 Passive ISDN
-
-usb:v0681p0005*
- ID_PRODUCT_FROM_DATABASE=ID-Mouse with Fingerprint Reader
-
-usb:v0681p0012*
- ID_PRODUCT_FROM_DATABASE=I-Gate 802.11b Adapter
-
-usb:v0681p001B*
- ID_PRODUCT_FROM_DATABASE=WLL013
-
-usb:v0681p001D*
- ID_PRODUCT_FROM_DATABASE=Hipath 1000
-
-usb:v0681p0022*
- ID_PRODUCT_FROM_DATABASE=Gigaset SX353 ISDN
-
-usb:v0681p0026*
- ID_PRODUCT_FROM_DATABASE=DECT Data - Gigaset M34
-
-usb:v0681p002B*
- ID_PRODUCT_FROM_DATABASE=A-100-I ADSL Modem
-
-usb:v0681p002E*
- ID_PRODUCT_FROM_DATABASE=ADSL Router_S-141
-
-usb:v0681p0034*
- ID_PRODUCT_FROM_DATABASE=GSM module MC35/ES75 USB Modem
-
-usb:v0681p3C06*
- ID_PRODUCT_FROM_DATABASE=54g USB Network Adapter
-
-usb:v0682*
- ID_VENDOR_FROM_DATABASE=Victor Company of Japan, Ltd
-
-usb:v0684*
- ID_VENDOR_FROM_DATABASE=Actiontec Electronics, Inc.
-
-usb:v0685*
- ID_VENDOR_FROM_DATABASE=ZD Incorporated
-
-usb:v0685p7000*
- ID_PRODUCT_FROM_DATABASE=HSDPA Modem
-
-usb:v0686*
- ID_VENDOR_FROM_DATABASE=Minolta Co., Ltd
-
-usb:v0686p2001*
- ID_PRODUCT_FROM_DATABASE=PagePro 4110W
-
-usb:v0686p2004*
- ID_PRODUCT_FROM_DATABASE=PagePro 1200W
-
-usb:v0686p2005*
- ID_PRODUCT_FROM_DATABASE=Magicolor 2300 DL
-
-usb:v0686p3001*
- ID_PRODUCT_FROM_DATABASE=PagePro 4100
-
-usb:v0686p3005*
- ID_PRODUCT_FROM_DATABASE=PagePro 1250E
-
-usb:v0686p3006*
- ID_PRODUCT_FROM_DATABASE=PagePro 1250W
-
-usb:v0686p3009*
- ID_PRODUCT_FROM_DATABASE=Magicolor 2300W
-
-usb:v0686p300B*
- ID_PRODUCT_FROM_DATABASE=PagePro 1350W
-
-usb:v0686p300C*
- ID_PRODUCT_FROM_DATABASE=PagePro 1300W
-
-usb:v0686p302E*
- ID_PRODUCT_FROM_DATABASE=Develop D 1650iD PCL
-
-usb:v0686p3034*
- ID_PRODUCT_FROM_DATABASE=Develop D 2050iD PCL
-
-usb:v0686p4001*
- ID_PRODUCT_FROM_DATABASE=Dimage 2300
-
-usb:v0686p4003*
- ID_PRODUCT_FROM_DATABASE=Dimage 2330 Zoom Camera
-
-usb:v0686p4004*
- ID_PRODUCT_FROM_DATABASE=Dimage Scan Elite II AF-2920 (2888)
-
-usb:v0686p4005*
- ID_PRODUCT_FROM_DATABASE=Minolta DiMAGE E201 Mass Storage Device
-
-usb:v0686p4006*
- ID_PRODUCT_FROM_DATABASE=Dimage 7 Camera
-
-usb:v0686p4007*
- ID_PRODUCT_FROM_DATABASE=Dimage S304 Camera
-
-usb:v0686p4008*
- ID_PRODUCT_FROM_DATABASE=Dimage 5 Camera
-
-usb:v0686p4009*
- ID_PRODUCT_FROM_DATABASE=Dimage X Camera
-
-usb:v0686p400A*
- ID_PRODUCT_FROM_DATABASE=Dimage S404 Camera
-
-usb:v0686p400B*
- ID_PRODUCT_FROM_DATABASE=Dimage 7i Camera
-
-usb:v0686p400C*
- ID_PRODUCT_FROM_DATABASE=Dimage F100 Camera
-
-usb:v0686p400D*
- ID_PRODUCT_FROM_DATABASE=Dimage Scan Dual III AF-2840 (2889)
-
-usb:v0686p400E*
- ID_PRODUCT_FROM_DATABASE=Dimage Scan Elite 5400 (2890)
-
-usb:v0686p400F*
- ID_PRODUCT_FROM_DATABASE=Dimage 7Hi Camera
-
-usb:v0686p4010*
- ID_PRODUCT_FROM_DATABASE=Dimage Xi Camera
-
-usb:v0686p4011*
- ID_PRODUCT_FROM_DATABASE=Dimage F300 Camera
-
-usb:v0686p4012*
- ID_PRODUCT_FROM_DATABASE=Dimage F200 Camera
-
-usb:v0686p4014*
- ID_PRODUCT_FROM_DATABASE=Dimage S414 Camera
-
-usb:v0686p4015*
- ID_PRODUCT_FROM_DATABASE=Dimage XT Camera [storage]
-
-usb:v0686p4016*
- ID_PRODUCT_FROM_DATABASE=Dimage XT Camera [remote mode]
-
-usb:v0686p4017*
- ID_PRODUCT_FROM_DATABASE=Dimage E223
-
-usb:v0686p4018*
- ID_PRODUCT_FROM_DATABASE=Dimage Z1 Camera
-
-usb:v0686p4019*
- ID_PRODUCT_FROM_DATABASE=Dimage A1 Camera [remote mode]
-
-usb:v0686p401A*
- ID_PRODUCT_FROM_DATABASE=Dimage A1 Camera [storage]
-
-usb:v0686p401C*
- ID_PRODUCT_FROM_DATABASE=Dimage X20 Camera
-
-usb:v0686p401E*
- ID_PRODUCT_FROM_DATABASE=Dimage E323 Camera
-
-usb:v068A*
- ID_VENDOR_FROM_DATABASE=Pertech, Inc.
-
-usb:v068B*
- ID_VENDOR_FROM_DATABASE=Potrans International, Inc.
-
-usb:v068E*
- ID_VENDOR_FROM_DATABASE=CH Products, Inc.
-
-usb:v068Ep00D3*
- ID_PRODUCT_FROM_DATABASE=OEM 3 axis 5 button joystick
-
-usb:v068Ep00E2*
- ID_PRODUCT_FROM_DATABASE=HFX OEM Joystick
-
-usb:v068Ep00F1*
- ID_PRODUCT_FROM_DATABASE=Pro Throttle
-
-usb:v068Ep00F2*
- ID_PRODUCT_FROM_DATABASE=Flight Sim Pedals
-
-usb:v068Ep00F3*
- ID_PRODUCT_FROM_DATABASE=Fighterstick
-
-usb:v068Ep00F4*
- ID_PRODUCT_FROM_DATABASE=Combatstick
-
-usb:v068Ep00FA*
- ID_PRODUCT_FROM_DATABASE=Flight Sim Pedals
-
-usb:v068Ep00FF*
- ID_PRODUCT_FROM_DATABASE=Flight Sim Yoke
-
-usb:v068Ep0500*
- ID_PRODUCT_FROM_DATABASE=GameStick 3D
-
-usb:v068Ep0501*
- ID_PRODUCT_FROM_DATABASE=CH Pro Pedals
-
-usb:v068Ep0504*
- ID_PRODUCT_FROM_DATABASE=F-16 Combat Stick
-
-usb:v0690*
- ID_VENDOR_FROM_DATABASE=Golden Bridge Electech, Inc.
-
-usb:v0693*
- ID_VENDOR_FROM_DATABASE=Hagiwara Sys-Com Co., Ltd
-
-usb:v0693p0002*
- ID_PRODUCT_FROM_DATABASE=FlashGate SmartMedia Card Reader
-
-usb:v0693p0003*
- ID_PRODUCT_FROM_DATABASE=FlashGate CompactFlash Card Reader
-
-usb:v0693p0005*
- ID_PRODUCT_FROM_DATABASE=FlashGate
-
-usb:v0693p0006*
- ID_PRODUCT_FROM_DATABASE=SM PCCard R/W and SPD
-
-usb:v0693p0007*
- ID_PRODUCT_FROM_DATABASE=FlashGate ME (Authenticated)
-
-usb:v0693p000A*
- ID_PRODUCT_FROM_DATABASE=SDCard/MMC Reader/Writer
-
-usb:v0694*
- ID_VENDOR_FROM_DATABASE=Lego Group
-
-usb:v0694p0001*
- ID_PRODUCT_FROM_DATABASE=Mindstorms Tower
-
-usb:v0694p0002*
- ID_PRODUCT_FROM_DATABASE=Mindstorms NXT
-
-usb:v0698*
- ID_VENDOR_FROM_DATABASE=Chuntex (CTX)
-
-usb:v0698p1786*
- ID_PRODUCT_FROM_DATABASE=1300ex Monitor
-
-usb:v0698p2003*
- ID_PRODUCT_FROM_DATABASE=CTX M730V built in Camera
-
-usb:v0698p9999*
- ID_PRODUCT_FROM_DATABASE=VLxxxx Monitor+Hub
-
-usb:v0699*
- ID_VENDOR_FROM_DATABASE=Tektronix, Inc.
-
-usb:v069A*
- ID_VENDOR_FROM_DATABASE=Askey Computer Corp.
-
-usb:v069Ap0001*
- ID_PRODUCT_FROM_DATABASE=VC010 Webcam [pwc]
-
-usb:v069Ap0303*
- ID_PRODUCT_FROM_DATABASE=Cable Modem
-
-usb:v069Ap0311*
- ID_PRODUCT_FROM_DATABASE=ADSL Router Remote NDIS Device
-
-usb:v069Ap0318*
- ID_PRODUCT_FROM_DATABASE=Remote NDIS Device
-
-usb:v069Ap0319*
- ID_PRODUCT_FROM_DATABASE=220V Remote NDIS Device
-
-usb:v069Ap0320*
- ID_PRODUCT_FROM_DATABASE=IEEE 802.11b Wireless LAN Card
-
-usb:v069Ap0321*
- ID_PRODUCT_FROM_DATABASE=Dynalink WLL013 / Compex WLU11A 802.11b Adapter
-
-usb:v069Ap0402*
- ID_PRODUCT_FROM_DATABASE=Scientific Atlanta WebSTAR 100 & 200 series Cable Modem
-
-usb:v069Ap0811*
- ID_PRODUCT_FROM_DATABASE=BT Virtual Bus for Helium
-
-usb:v069Ap0821*
- ID_PRODUCT_FROM_DATABASE=BT Voyager 1010 802.11b Adapter
-
-usb:v069Ap4402*
- ID_PRODUCT_FROM_DATABASE=Scientific Atlanta WebSTAR 2000 series Cable Modem
-
-usb:v069Ap4403*
- ID_PRODUCT_FROM_DATABASE=Scientific Atlanta WebSTAR 300 series Cable Modem
-
-usb:v069Ap4501*
- ID_PRODUCT_FROM_DATABASE=Scientific-Atlanta WebSTAR 2000 series Cable Modem
-
-usb:v069B*
- ID_VENDOR_FROM_DATABASE=Thomson, Inc.
-
-usb:v069Bp0704*
- ID_PRODUCT_FROM_DATABASE=DCM245 Cable Modem
-
-usb:v069Bp0705*
- ID_PRODUCT_FROM_DATABASE=THG540K Cable Modem
-
-usb:v069Bp0709*
- ID_PRODUCT_FROM_DATABASE=Lyra PDP2424
-
-usb:v069Bp070C*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v069Bp070D*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v069Bp070E*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v069Bp070F*
- ID_PRODUCT_FROM_DATABASE=RCA Lyra RD1071 MP3 Player
-
-usb:v069Bp0731*
- ID_PRODUCT_FROM_DATABASE=Lyra M200E256
-
-usb:v069Bp0761*
- ID_PRODUCT_FROM_DATABASE=RCA H100A
-
-usb:v069Bp0778*
- ID_PRODUCT_FROM_DATABASE=PEARL USB Device
-
-usb:v069Bp2220*
- ID_PRODUCT_FROM_DATABASE=RCA Kazoo RD1000 MP3 Player
-
-usb:v069Bp300A*
- ID_PRODUCT_FROM_DATABASE=RCA Lyra MP3 Player
-
-usb:v069Bp3012*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v069Bp3013*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v069Bp5557*
- ID_PRODUCT_FROM_DATABASE=RCA CDS6300
-
-usb:v069D*
- ID_VENDOR_FROM_DATABASE=Hughes Network Systems (HNS)
-
-usb:v069Dp0001*
- ID_PRODUCT_FROM_DATABASE=Satellite Receiver Device
-
-usb:v069Dp0002*
- ID_PRODUCT_FROM_DATABASE=Satellite Device
-
-usb:v069E*
- ID_VENDOR_FROM_DATABASE=Welcat Inc.
-
-usb:v069Ep0005*
- ID_PRODUCT_FROM_DATABASE=Marx CryptoBox v1.2
-
-usb:v069F*
- ID_VENDOR_FROM_DATABASE=Allied Data Technologies BV
-
-usb:v069Fp0010*
- ID_PRODUCT_FROM_DATABASE=Tornado Speakerphone FaxModem 56.0
-
-usb:v069Fp0011*
- ID_PRODUCT_FROM_DATABASE=Tornado Speakerphone FaxModem 56.0
-
-usb:v069Fp1000*
- ID_PRODUCT_FROM_DATABASE=ADT VvBus for CopperJet
-
-usb:v069Fp1004*
- ID_PRODUCT_FROM_DATABASE=CopperJet 821 RouterPlus
-
-usb:v06A2*
- ID_VENDOR_FROM_DATABASE=Topro Technology, Inc.
-
-usb:v06A2p0033*
- ID_PRODUCT_FROM_DATABASE=USB Mouse
-
-usb:v06A3*
- ID_VENDOR_FROM_DATABASE=Saitek PLC
-
-usb:v06A3p0006*
- ID_PRODUCT_FROM_DATABASE=Cyborg Gold Joystick
-
-usb:v06A3p0109*
- ID_PRODUCT_FROM_DATABASE=P880 Pad
-
-usb:v06A3p0160*
- ID_PRODUCT_FROM_DATABASE=ST290 Pro
-
-usb:v06A3p0200*
- ID_PRODUCT_FROM_DATABASE=Xbox Adrenalin Hub
-
-usb:v06A3p0241*
- ID_PRODUCT_FROM_DATABASE=Xbox Adrenalin Gamepad
-
-usb:v06A3p0255*
- ID_PRODUCT_FROM_DATABASE=X52 Flight Controller
-
-usb:v06A3p040B*
- ID_PRODUCT_FROM_DATABASE=P990 Dual Analog Pad
-
-usb:v06A3p040C*
- ID_PRODUCT_FROM_DATABASE=P2900 Wireless Pad
-
-usb:v06A3p0422*
- ID_PRODUCT_FROM_DATABASE=ST90 Joystick
-
-usb:v06A3p0460*
- ID_PRODUCT_FROM_DATABASE=ST290 Pro Flight Stick
-
-usb:v06A3p0463*
- ID_PRODUCT_FROM_DATABASE=ST290
-
-usb:v06A3p0464*
- ID_PRODUCT_FROM_DATABASE=Cyborg Evo
-
-usb:v06A3p0471*
- ID_PRODUCT_FROM_DATABASE=Cyborg Graphite Stick
-
-usb:v06A3p0501*
- ID_PRODUCT_FROM_DATABASE=R100 Sports Wheel
-
-usb:v06A3p0502*
- ID_PRODUCT_FROM_DATABASE=ST200 Stick
-
-usb:v06A3p0506*
- ID_PRODUCT_FROM_DATABASE=R220 Digital Wheel
-
-usb:v06A3p051E*
- ID_PRODUCT_FROM_DATABASE=Cyborg Digital II Stick
-
-usb:v06A3p052D*
- ID_PRODUCT_FROM_DATABASE=P750 Gamepad
-
-usb:v06A3p053C*
- ID_PRODUCT_FROM_DATABASE=X45 Flight Controller
-
-usb:v06A3p053F*
- ID_PRODUCT_FROM_DATABASE=X36F Flightstick
-
-usb:v06A3p056C*
- ID_PRODUCT_FROM_DATABASE=P2000 Tilt Pad
-
-usb:v06A3p056F*
- ID_PRODUCT_FROM_DATABASE=P2000 Tilt Pad
-
-usb:v06A3p05D2*
- ID_PRODUCT_FROM_DATABASE=PC Dash 2
-
-usb:v06A3p075C*
- ID_PRODUCT_FROM_DATABASE=X52 Flight Controller
-
-usb:v06A3p0762*
- ID_PRODUCT_FROM_DATABASE=Saitek X52 Pro Flight Control System
-
-usb:v06A3p0763*
- ID_PRODUCT_FROM_DATABASE=Pro Flight Rudder Pedals
-
-usb:v06A3p0764*
- ID_PRODUCT_FROM_DATABASE=Flight Pro Combat Rudder
-
-usb:v06A3p0805*
- ID_PRODUCT_FROM_DATABASE=R440 Force Wheel
-
-usb:v06A3p0B4E*
- ID_PRODUCT_FROM_DATABASE=Pro Flight Backlit Information Panel
-
-usb:v06A3p0BAC*
- ID_PRODUCT_FROM_DATABASE=Pro Flight Yoke
-
-usb:v06A3p0C2D*
- ID_PRODUCT_FROM_DATABASE=Pro Flight Quadrant
-
-usb:v06A3p0D05*
- ID_PRODUCT_FROM_DATABASE=Pro Flight Radio Panel
-
-usb:v06A3p0D06*
- ID_PRODUCT_FROM_DATABASE=Flight Pro Multi Panel
-
-usb:v06A3p0D67*
- ID_PRODUCT_FROM_DATABASE=Pro Flight Switch Panel
-
-usb:v06A3p1003*
- ID_PRODUCT_FROM_DATABASE=GM2 Action Pad
-
-usb:v06A3p1009*
- ID_PRODUCT_FROM_DATABASE=Action Pad
-
-usb:v06A3p100A*
- ID_PRODUCT_FROM_DATABASE=SP550 Pad and Joystick Combo
-
-usb:v06A3p100B*
- ID_PRODUCT_FROM_DATABASE=SP550 Pad
-
-usb:v06A3p1509*
- ID_PRODUCT_FROM_DATABASE=P3000 Wireless Pad
-
-usb:v06A3p1589*
- ID_PRODUCT_FROM_DATABASE=P3000 Wireless Pad
-
-usb:v06A3p2541*
- ID_PRODUCT_FROM_DATABASE=X45 Flight Controller
-
-usb:v06A3p3509*
- ID_PRODUCT_FROM_DATABASE=P3000 RF GamePad
-
-usb:v06A3p353E*
- ID_PRODUCT_FROM_DATABASE=Cyborg Evo Wireless
-
-usb:v06A3p3589*
- ID_PRODUCT_FROM_DATABASE=P3000 Wireless Pad
-
-usb:v06A3p35BE*
- ID_PRODUCT_FROM_DATABASE=Cyborg Evo
-
-usb:v06A3p5509*
- ID_PRODUCT_FROM_DATABASE=P3000 Wireless Pad
-
-usb:v06A3p712C*
- ID_PRODUCT_FROM_DATABASE=Pro Flight Yoke integrated hub
-
-usb:v06A3p8000*
- ID_PRODUCT_FROM_DATABASE=Gamers' Keyboard
-
-usb:v06A3p801E*
- ID_PRODUCT_FROM_DATABASE=Cyborg 3D Digital Stick II
-
-usb:v06A3p8020*
- ID_PRODUCT_FROM_DATABASE=Eclipse Keyboard
-
-usb:v06A3p8021*
- ID_PRODUCT_FROM_DATABASE=Eclipse II Keyboard
-
-usb:v06A3p802D*
- ID_PRODUCT_FROM_DATABASE=P750 Pad
-
-usb:v06A3p803F*
- ID_PRODUCT_FROM_DATABASE=X36 Flight Controller
-
-usb:v06A3p806F*
- ID_PRODUCT_FROM_DATABASE=P2000 Tilt Pad
-
-usb:v06A3p80C0*
- ID_PRODUCT_FROM_DATABASE=Pro Gamer Command Unit
-
-usb:v06A3p80C1*
- ID_PRODUCT_FROM_DATABASE=Cyborg Command Pad Unit
-
-usb:v06A3pA2AE*
- ID_PRODUCT_FROM_DATABASE=Pro Flight Instrument Panel
-
-usb:v06A3pA502*
- ID_PRODUCT_FROM_DATABASE=Gaming Mouse
-
-usb:v06A3pF518*
- ID_PRODUCT_FROM_DATABASE=P3200 Rumble Force Game Pad
-
-usb:v06A3pFF04*
- ID_PRODUCT_FROM_DATABASE=R440 Force Wheel
-
-usb:v06A3pFF0C*
- ID_PRODUCT_FROM_DATABASE=Cyborg Force Rumble Pad
-
-usb:v06A3pFF0D*
- ID_PRODUCT_FROM_DATABASE=P2600 Rumble Force Pad
-
-usb:v06A3pFF12*
- ID_PRODUCT_FROM_DATABASE=Cyborg 3D Force Stick
-
-usb:v06A3pFF17*
- ID_PRODUCT_FROM_DATABASE=ST 330 Rumble Force Stick
-
-usb:v06A3pFF52*
- ID_PRODUCT_FROM_DATABASE=Cyborg 3D Rumble Force Joystick
-
-usb:v06A3pFFB5*
- ID_PRODUCT_FROM_DATABASE=Cyborg Evo Force Joystick
-
-usb:v06A4*
- ID_VENDOR_FROM_DATABASE=Xiamen Doowell Electron Co., Ltd
-
-usb:v06A5*
- ID_VENDOR_FROM_DATABASE=Divio
-
-usb:v06A5p0000*
- ID_PRODUCT_FROM_DATABASE=Typhoon Webcam 100k [nw8000]
-
-usb:v06A5pD001*
- ID_PRODUCT_FROM_DATABASE=ProLink DS3303u Webcam
-
-usb:v06A5pD800*
- ID_PRODUCT_FROM_DATABASE=Chicony TwinkleCam
-
-usb:v06A5pD820*
- ID_PRODUCT_FROM_DATABASE=Wize Media 1000
-
-usb:v06A7*
- ID_VENDOR_FROM_DATABASE=MicroStore, Inc.
-
-usb:v06A8*
- ID_VENDOR_FROM_DATABASE=Topaz Systems, Inc.
-
-usb:v06A8p0042*
- ID_PRODUCT_FROM_DATABASE=SignatureGem 1X5 Pad
-
-usb:v06A8p0043*
- ID_PRODUCT_FROM_DATABASE=SignatureGem 1X5-HID Pad
-
-usb:v06A9*
- ID_VENDOR_FROM_DATABASE=Westell
-
-usb:v06A9p0005*
- ID_PRODUCT_FROM_DATABASE=WireSpeed Dual Connect Modem
-
-usb:v06A9p0006*
- ID_PRODUCT_FROM_DATABASE=WireSpeed Dual Connect Modem
-
-usb:v06A9p000A*
- ID_PRODUCT_FROM_DATABASE=WireSpeed Dual Connect Modem
-
-usb:v06A9p000B*
- ID_PRODUCT_FROM_DATABASE=WireSpeed Dual Connect Modem
-
-usb:v06A9p000E*
- ID_PRODUCT_FROM_DATABASE=A90-211WG-01 802.11g Adapter [Intersil ISL3887]
-
-usb:v06AA*
- ID_VENDOR_FROM_DATABASE=Sysgration, Ltd
-
-usb:v06AC*
- ID_VENDOR_FROM_DATABASE=Fujitsu Laboratories of America, Inc.
-
-usb:v06AD*
- ID_VENDOR_FROM_DATABASE=Greatland Electronics Taiwan, Ltd
-
-usb:v06AE*
- ID_VENDOR_FROM_DATABASE=Professional Multimedia Testing Centre
-
-usb:v06AF*
- ID_VENDOR_FROM_DATABASE=Harting, Inc. of North America
-
-usb:v06B8*
- ID_VENDOR_FROM_DATABASE=Pixela Corp.
-
-usb:v06B9*
- ID_VENDOR_FROM_DATABASE=Alcatel Telecom
-
-usb:v06B9p0120*
- ID_PRODUCT_FROM_DATABASE=SpeedTouch 120g 802.11g Wireless Adapter [Intersil ISL3886]
-
-usb:v06B9p0121*
- ID_PRODUCT_FROM_DATABASE=SpeedTouch 121g Wireless Dongle
-
-usb:v06B9p2001*
- ID_PRODUCT_FROM_DATABASE=SPEED TOUCH Card
-
-usb:v06B9p4061*
- ID_PRODUCT_FROM_DATABASE=SpeedTouch ISDN or ADSL Modem
-
-usb:v06B9p4062*
- ID_PRODUCT_FROM_DATABASE=SpeedTouch ISDN or ADSL router
-
-usb:v06B9pA5A5*
- ID_PRODUCT_FROM_DATABASE=DynaMiTe Modem
-
-usb:v06BA*
- ID_VENDOR_FROM_DATABASE=Smooth Cord & Connector Co., Ltd
-
-usb:v06BB*
- ID_VENDOR_FROM_DATABASE=EDA, Inc.
-
-usb:v06BC*
- ID_VENDOR_FROM_DATABASE=Oki Data Corp.
-
-usb:v06BCp000B*
- ID_PRODUCT_FROM_DATABASE=Okipage 14ex Printer
-
-usb:v06BCp0027*
- ID_PRODUCT_FROM_DATABASE=Okipage 14e
-
-usb:v06BCp0A91*
- ID_PRODUCT_FROM_DATABASE=B2500MFP (printer+scanner)
-
-usb:v06BCp3801*
- ID_PRODUCT_FROM_DATABASE=B6100 Laser Printer
-
-usb:v06BD*
- ID_VENDOR_FROM_DATABASE=AGFA-Gevaert NV
-
-usb:v06BDp0001*
- ID_PRODUCT_FROM_DATABASE=SnapScan 1212U
-
-usb:v06BDp0002*
- ID_PRODUCT_FROM_DATABASE=SnapScan 1236U
-
-usb:v06BDp0100*
- ID_PRODUCT_FROM_DATABASE=SnapScan Touch
-
-usb:v06BDp0101*
- ID_PRODUCT_FROM_DATABASE=SNAPSCAN ELITE
-
-usb:v06BDp0200*
- ID_PRODUCT_FROM_DATABASE=ScanMaker 8700
-
-usb:v06BDp02BF*
- ID_PRODUCT_FROM_DATABASE=DUOSCAN f40
-
-usb:v06BDp0400*
- ID_PRODUCT_FROM_DATABASE=CL30
-
-usb:v06BDp0401*
- ID_PRODUCT_FROM_DATABASE=Mass Storage
-
-usb:v06BDp0403*
- ID_PRODUCT_FROM_DATABASE=ePhoto CL18 Camera
-
-usb:v06BDp0404*
- ID_PRODUCT_FROM_DATABASE=ePhoto CL20 Camera
-
-usb:v06BDp2061*
- ID_PRODUCT_FROM_DATABASE=SnapScan 1212U (?)
-
-usb:v06BDp208D*
- ID_PRODUCT_FROM_DATABASE=Snapscan e40
-
-usb:v06BDp208F*
- ID_PRODUCT_FROM_DATABASE=SnapScan e50
-
-usb:v06BDp2091*
- ID_PRODUCT_FROM_DATABASE=SnapScan e20
-
-usb:v06BDp2093*
- ID_PRODUCT_FROM_DATABASE=SnapScan e10
-
-usb:v06BDp2095*
- ID_PRODUCT_FROM_DATABASE=SnapScan e25
-
-usb:v06BDp2097*
- ID_PRODUCT_FROM_DATABASE=SnapScan e26
-
-usb:v06BDp20FD*
- ID_PRODUCT_FROM_DATABASE=SnapScan e52
-
-usb:v06BDp20FF*
- ID_PRODUCT_FROM_DATABASE=SnapScan e42
-
-usb:v06BE*
- ID_VENDOR_FROM_DATABASE=AME Optimedia Technology Co., Ltd
-
-usb:v06BEp0800*
- ID_PRODUCT_FROM_DATABASE=Optimedia Camera
-
-usb:v06BEp1005*
- ID_PRODUCT_FROM_DATABASE=Dazzle DPVM! (1005)
-
-usb:v06BEpD001*
- ID_PRODUCT_FROM_DATABASE=P35U Camera Capture
-
-usb:v06BF*
- ID_VENDOR_FROM_DATABASE=Leoco Corp.
-
-usb:v06C2*
- ID_VENDOR_FROM_DATABASE=Phidgets Inc. (formerly GLAB)
-
-usb:v06C2p0030*
- ID_PRODUCT_FROM_DATABASE=PhidgetRFID
-
-usb:v06C2p0038*
- ID_PRODUCT_FROM_DATABASE=4-Motor PhidgetServo v3.0
-
-usb:v06C2p0039*
- ID_PRODUCT_FROM_DATABASE=1-Motor PhidgetServo v3.0
-
-usb:v06C2p003A*
- ID_PRODUCT_FROM_DATABASE=8-Motor PhidgetAvancedServo
-
-usb:v06C2p0040*
- ID_PRODUCT_FROM_DATABASE=PhidgetInterface Kit 0-0-4
-
-usb:v06C2p0044*
- ID_PRODUCT_FROM_DATABASE=PhidgetInterface Kit 0-16-16
-
-usb:v06C2p0045*
- ID_PRODUCT_FROM_DATABASE=PhidgetInterface Kit 8-8-8
-
-usb:v06C2p0048*
- ID_PRODUCT_FROM_DATABASE=PhidgetStepper (Under Development)
-
-usb:v06C2p0049*
- ID_PRODUCT_FROM_DATABASE=PhidgetTextLED Ver 1.0
-
-usb:v06C2p004A*
- ID_PRODUCT_FROM_DATABASE=PhidgetLED Ver 1.0
-
-usb:v06C2p004B*
- ID_PRODUCT_FROM_DATABASE=PhidgetEncoder Ver 1.0
-
-usb:v06C2p0051*
- ID_PRODUCT_FROM_DATABASE=PhidgetInterface Kit 0-5-7 (Custom)
-
-usb:v06C2p0052*
- ID_PRODUCT_FROM_DATABASE=PhidgetTextLCD
-
-usb:v06C2p0053*
- ID_PRODUCT_FROM_DATABASE=PhidgetInterfaceKit 0-8-8
-
-usb:v06C2p0058*
- ID_PRODUCT_FROM_DATABASE=PhidgetMotorControl Ver 1.0
-
-usb:v06C2p0070*
- ID_PRODUCT_FROM_DATABASE=PhidgetTemperatureSensor Ver 1.0
-
-usb:v06C2p0071*
- ID_PRODUCT_FROM_DATABASE=PhidgetAccelerometer Ver 1.0
-
-usb:v06C2p0072*
- ID_PRODUCT_FROM_DATABASE=PhidgetWeightSensor Ver 1.0
-
-usb:v06C2p0073*
- ID_PRODUCT_FROM_DATABASE=PhidgetHumiditySensor
-
-usb:v06C2p0074*
- ID_PRODUCT_FROM_DATABASE=PhidgetPHSensor
-
-usb:v06C2p0075*
- ID_PRODUCT_FROM_DATABASE=PhidgetGyroscope
-
-usb:v06C4*
- ID_VENDOR_FROM_DATABASE=Bizlink International Corp.
-
-usb:v06C5*
- ID_VENDOR_FROM_DATABASE=Hagenuk, GmbH
-
-usb:v06C6*
- ID_VENDOR_FROM_DATABASE=Infowave Software, Inc.
-
-usb:v06C8*
- ID_VENDOR_FROM_DATABASE=SIIG, Inc.
-
-usb:v06C9*
- ID_VENDOR_FROM_DATABASE=Taxan (Europe), Ltd
-
-usb:v06C9p0005*
- ID_PRODUCT_FROM_DATABASE=Monitor Control
-
-usb:v06C9p0007*
- ID_PRODUCT_FROM_DATABASE=Monitor Control
-
-usb:v06C9p0009*
- ID_PRODUCT_FROM_DATABASE=Monitor Control
-
-usb:v06CA*
- ID_VENDOR_FROM_DATABASE=Newer Technology, Inc.
-
-usb:v06CB*
- ID_VENDOR_FROM_DATABASE=Synaptics, Inc.
-
-usb:v06CBp0001*
- ID_PRODUCT_FROM_DATABASE=TouchPad
-
-usb:v06CBp0002*
- ID_PRODUCT_FROM_DATABASE=Integrated TouchPad
-
-usb:v06CBp0003*
- ID_PRODUCT_FROM_DATABASE=cPad
-
-usb:v06CBp0005*
- ID_PRODUCT_FROM_DATABASE=Touchpad/FPS
-
-usb:v06CBp0006*
- ID_PRODUCT_FROM_DATABASE=TouchScreen
-
-usb:v06CBp0007*
- ID_PRODUCT_FROM_DATABASE=USB Styk
-
-usb:v06CBp0008*
- ID_PRODUCT_FROM_DATABASE=WheelPad
-
-usb:v06CBp0009*
- ID_PRODUCT_FROM_DATABASE=Composite TouchPad and TrackPoint
-
-usb:v06CBp000E*
- ID_PRODUCT_FROM_DATABASE=HID Device
-
-usb:v06CBp0010*
- ID_PRODUCT_FROM_DATABASE=Wireless TouchPad
-
-usb:v06CBp0013*
- ID_PRODUCT_FROM_DATABASE=DisplayPad
-
-usb:v06CC*
- ID_VENDOR_FROM_DATABASE=Terayon Communication Systems
-
-usb:v06CCp0101*
- ID_PRODUCT_FROM_DATABASE=Cable Modem
-
-usb:v06CCp0102*
- ID_PRODUCT_FROM_DATABASE=Cable Modem
-
-usb:v06CCp0103*
- ID_PRODUCT_FROM_DATABASE=Cable Modem
-
-usb:v06CCp0104*
- ID_PRODUCT_FROM_DATABASE=Cable Modem
-
-usb:v06CCp0304*
- ID_PRODUCT_FROM_DATABASE=Cable Modem
-
-usb:v06CD*
- ID_VENDOR_FROM_DATABASE=Keyspan
-
-usb:v06CDp0101*
- ID_PRODUCT_FROM_DATABASE=USA-28 PDA [no firmware]
-
-usb:v06CDp0102*
- ID_PRODUCT_FROM_DATABASE=USA-28X PDA [no firmware]
-
-usb:v06CDp0103*
- ID_PRODUCT_FROM_DATABASE=USA-19 PDA [no firmware]
-
-usb:v06CDp0104*
- ID_PRODUCT_FROM_DATABASE=PDA [prerenum]
-
-usb:v06CDp0105*
- ID_PRODUCT_FROM_DATABASE=USA-18X PDA [no firmware]
-
-usb:v06CDp0106*
- ID_PRODUCT_FROM_DATABASE=USA-19W PDA [no firmware]
-
-usb:v06CDp0107*
- ID_PRODUCT_FROM_DATABASE=USA-19 PDA
-
-usb:v06CDp0108*
- ID_PRODUCT_FROM_DATABASE=USA-19W PDA
-
-usb:v06CDp0109*
- ID_PRODUCT_FROM_DATABASE=USA-49W serial adapter [no firmware]
-
-usb:v06CDp010A*
- ID_PRODUCT_FROM_DATABASE=USA-49W serial adapter
-
-usb:v06CDp010B*
- ID_PRODUCT_FROM_DATABASE=USA-19Qi serial adapter [no firmware]
-
-usb:v06CDp010C*
- ID_PRODUCT_FROM_DATABASE=USA-19Qi serial adapter
-
-usb:v06CDp010D*
- ID_PRODUCT_FROM_DATABASE=USA-19Q serial Adapter (no firmware)
-
-usb:v06CDp010E*
- ID_PRODUCT_FROM_DATABASE=USA-19Q serial Adapter
-
-usb:v06CDp010F*
- ID_PRODUCT_FROM_DATABASE=USA-28 PDA
-
-usb:v06CDp0110*
- ID_PRODUCT_FROM_DATABASE=USA-28Xb PDA
-
-usb:v06CDp0111*
- ID_PRODUCT_FROM_DATABASE=USA-18 serial Adapter
-
-usb:v06CDp0112*
- ID_PRODUCT_FROM_DATABASE=USA-18X PDA
-
-usb:v06CDp0113*
- ID_PRODUCT_FROM_DATABASE=USA-28Xb PDA [no firmware]
-
-usb:v06CDp0114*
- ID_PRODUCT_FROM_DATABASE=USA-28Xa PDA [no firmware]
-
-usb:v06CDp0115*
- ID_PRODUCT_FROM_DATABASE=USA-28Xa PDA
-
-usb:v06CDp0116*
- ID_PRODUCT_FROM_DATABASE=USA-18XA serial Adapter (no firmware)
-
-usb:v06CDp0117*
- ID_PRODUCT_FROM_DATABASE=USA-18XA serial Adapter
-
-usb:v06CDp0118*
- ID_PRODUCT_FROM_DATABASE=USA-19QW PDA [no firmware]
-
-usb:v06CDp0119*
- ID_PRODUCT_FROM_DATABASE=USA-19QW PDA
-
-usb:v06CDp011A*
- ID_PRODUCT_FROM_DATABASE=USA-49Wlc serial adapter [no firmware]
-
-usb:v06CDp011B*
- ID_PRODUCT_FROM_DATABASE=MPR Serial Preloader (MPRQI)
-
-usb:v06CDp011C*
- ID_PRODUCT_FROM_DATABASE=MPR Serial (MPRQI)
-
-usb:v06CDp011D*
- ID_PRODUCT_FROM_DATABASE=MPR Serial Preloader (MPRQ)
-
-usb:v06CDp011E*
- ID_PRODUCT_FROM_DATABASE=MPR Serial (MPRQ)
-
-usb:v06CDp0121*
- ID_PRODUCT_FROM_DATABASE=USA-19hs serial adapter
-
-usb:v06CDp012A*
- ID_PRODUCT_FROM_DATABASE=USA-49Wlc serial adapter
-
-usb:v06CDp0201*
- ID_PRODUCT_FROM_DATABASE=UIA-10 Digital Media Remote [Cypress AN2131SC]
-
-usb:v06CDp0202*
- ID_PRODUCT_FROM_DATABASE=UIA-11 Digital Media Remote
-
-usb:v06CE*
- ID_VENDOR_FROM_DATABASE=Contec
-
-usb:v06CEp8311*
- ID_PRODUCT_FROM_DATABASE=COM-1(USB)H
-
-usb:v06CF*
- ID_VENDOR_FROM_DATABASE=SpheronVR AG
-
-usb:v06CFp1010*
- ID_PRODUCT_FROM_DATABASE=PanoCam 10
-
-usb:v06CFp1012*
- ID_PRODUCT_FROM_DATABASE=PanoCam 12/12X
-
-usb:v06D0*
- ID_VENDOR_FROM_DATABASE=LapLink, Inc.
-
-usb:v06D0p0622*
- ID_PRODUCT_FROM_DATABASE=LapLink Gold USB-USB Bridge [net1080]
-
-usb:v06D1*
- ID_VENDOR_FROM_DATABASE=Daewoo Electronics Co., Ltd
-
-usb:v06D3*
- ID_VENDOR_FROM_DATABASE=Mitsubishi Electric Corp.
-
-usb:v06D3p0380*
- ID_PRODUCT_FROM_DATABASE=CP8000D Port
-
-usb:v06D3p0381*
- ID_PRODUCT_FROM_DATABASE=CP770D Port
-
-usb:v06D3p0385*
- ID_PRODUCT_FROM_DATABASE=CP900D Port
-
-usb:v06D3p0387*
- ID_PRODUCT_FROM_DATABASE=CP980D Port
-
-usb:v06D3p038B*
- ID_PRODUCT_FROM_DATABASE=CP3020D Port
-
-usb:v06D3p038C*
- ID_PRODUCT_FROM_DATABASE=CP900DW(ID) Port
-
-usb:v06D3p0393*
- ID_PRODUCT_FROM_DATABASE=CP9500D/DW Port
-
-usb:v06D3p0394*
- ID_PRODUCT_FROM_DATABASE=CP9000D/DW Port
-
-usb:v06D3p03A1*
- ID_PRODUCT_FROM_DATABASE=CP9550D/DW Port
-
-usb:v06D4*
- ID_VENDOR_FROM_DATABASE=Cisco Systems
-
-usb:v06D5*
- ID_VENDOR_FROM_DATABASE=Toshiba
-
-usb:v06D5p4000*
- ID_PRODUCT_FROM_DATABASE=Japanese Keyboard
-
-usb:v06D6*
- ID_VENDOR_FROM_DATABASE=Aashima Technology B.V.
-
-usb:v06D6p0025*
- ID_PRODUCT_FROM_DATABASE=Gamepad
-
-usb:v06D6p0026*
- ID_PRODUCT_FROM_DATABASE=Predator TH 400 Gamepad
-
-usb:v06D6p002D*
- ID_PRODUCT_FROM_DATABASE=Trust PowerC@m 350FT
-
-usb:v06D6p002E*
- ID_PRODUCT_FROM_DATABASE=Trust PowerC@m 350FS
-
-usb:v06D6p0030*
- ID_PRODUCT_FROM_DATABASE=Trust 710 LCD POWERC@M ZOOM - MSD
-
-usb:v06D6p0031*
- ID_PRODUCT_FROM_DATABASE=Trust 610/710 LCD POWERC@M ZOOM
-
-usb:v06D6p003A*
- ID_PRODUCT_FROM_DATABASE=Trust PowerC@m 770Z (mass storage mode)
-
-usb:v06D6p003B*
- ID_PRODUCT_FROM_DATABASE=Trust PowerC@m 770Z (webcam mode)
-
-usb:v06D6p003C*
- ID_PRODUCT_FROM_DATABASE=Trust 910z PowerC@m
-
-usb:v06D6p003F*
- ID_PRODUCT_FROM_DATABASE=Trust 735S POWERC@M ZOOM, WDM DSC Bulk Driver
-
-usb:v06D6p0050*
- ID_PRODUCT_FROM_DATABASE=Trust 738AV LCD PV Digital Camera
-
-usb:v06D6p0062*
- ID_PRODUCT_FROM_DATABASE=TRUST 782AV LCD P. V. Video Capture
-
-usb:v06D6p0066*
- ID_PRODUCT_FROM_DATABASE=TRUST Digital PCTV and Movie Editor
-
-usb:v06D6p0067*
- ID_PRODUCT_FROM_DATABASE=Trust 350FS POWERC@M FLASH
-
-usb:v06D6p006B*
- ID_PRODUCT_FROM_DATABASE=TRUST AUDIO VIDEO EDITOR
-
-usb:v06D7*
- ID_VENDOR_FROM_DATABASE=Network Computing Devices (NCD)
-
-usb:v06D8*
- ID_VENDOR_FROM_DATABASE=Technical Marketing Research, Inc.
-
-usb:v06DA*
- ID_VENDOR_FROM_DATABASE=Phoenixtec Power Co., Ltd
-
-usb:v06DAp0002*
- ID_PRODUCT_FROM_DATABASE=UPS
-
-usb:v06DAp0003*
- ID_PRODUCT_FROM_DATABASE=1300VA UPS
-
-usb:v06DB*
- ID_VENDOR_FROM_DATABASE=Paradyne
-
-usb:v06DC*
- ID_VENDOR_FROM_DATABASE=Foxlink Image Technology Co., Ltd
-
-usb:v06DCp0012*
- ID_PRODUCT_FROM_DATABASE=Scan 1200c Scanner
-
-usb:v06DCp0014*
- ID_PRODUCT_FROM_DATABASE=Prolink Winscan Pro 2448U
-
-usb:v06DE*
- ID_VENDOR_FROM_DATABASE=Heisei Electronics Co., Ltd
-
-usb:v06E0*
- ID_VENDOR_FROM_DATABASE=Multi-Tech Systems, Inc.
-
-usb:v06E0pF101*
- ID_PRODUCT_FROM_DATABASE=MT5634ZBA-USB MultiModemUSB (old firmware)
-
-usb:v06E0pF103*
- ID_PRODUCT_FROM_DATABASE=MT5634MU MultiMobileUSB
-
-usb:v06E0pF104*
- ID_PRODUCT_FROM_DATABASE=MT5634ZBA-USB MultiModemUSB (new firmware)
-
-usb:v06E0pF107*
- ID_PRODUCT_FROM_DATABASE=MT5634ZBA-USB-V92 MultiModemUSB
-
-usb:v06E1*
- ID_VENDOR_FROM_DATABASE=ADS Technologies, Inc.
-
-usb:v06E1p0008*
- ID_PRODUCT_FROM_DATABASE=UBS-10BT Ethernet [klsi]
-
-usb:v06E1p0009*
- ID_PRODUCT_FROM_DATABASE=UBS-10BT Ethernet
-
-usb:v06E1p0833*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v06E1pA155*
- ID_PRODUCT_FROM_DATABASE=FM Radio Receiver/Instant FM Music (RDX-155-EF)
-
-usb:v06E1pA160*
- ID_PRODUCT_FROM_DATABASE=Instant Video-To-Go RDX-160 (no firmware)
-
-usb:v06E1pA161*
- ID_PRODUCT_FROM_DATABASE=Instant Video-To-Go RDX-160
-
-usb:v06E1pA190*
- ID_PRODUCT_FROM_DATABASE=Instand VCD Capture
-
-usb:v06E1pA191*
- ID_PRODUCT_FROM_DATABASE=Instant VideoXpress
-
-usb:v06E1pA337*
- ID_PRODUCT_FROM_DATABASE=Mini DigitalTV
-
-usb:v06E1pA701*
- ID_PRODUCT_FROM_DATABASE=DVD Xpress
-
-usb:v06E1pA708*
- ID_PRODUCT_FROM_DATABASE=saa7114H video input card (Instant VideoMPX)
-
-usb:v06E1pB337*
- ID_PRODUCT_FROM_DATABASE=Mini DigitalTV
-
-usb:v06E1pB701*
- ID_PRODUCT_FROM_DATABASE=DVD Xpress B
-
-usb:v06E4*
- ID_VENDOR_FROM_DATABASE=Alcatel Microelectronics
-
-usb:v06E6*
- ID_VENDOR_FROM_DATABASE=Tiger Jet Network, Inc.
-
-usb:v06E6p0200*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6p0201*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6p0202*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6p0203*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6p0210*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6p0211*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6p0212*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6p031C*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6p031D*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6p031E*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6p3200*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6p3201*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6p3202*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6p3203*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6p7200*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6p7210*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6p7250*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6p825C*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6p831C*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6p831D*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6p831E*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pB200*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pB201*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pB202*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pB210*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pB211*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pB212*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pB250*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pB251*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pB252*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pC200*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pC201*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pC202*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pC203*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pC210*
- ID_PRODUCT_FROM_DATABASE=Personal PhoneGateway
-
-usb:v06E6pC211*
- ID_PRODUCT_FROM_DATABASE=Personal PhoneGateway
-
-usb:v06E6pC212*
- ID_PRODUCT_FROM_DATABASE=Personal PhoneGateway
-
-usb:v06E6pC213*
- ID_PRODUCT_FROM_DATABASE=PPG Device
-
-usb:v06E6pC25C*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pC290*
- ID_PRODUCT_FROM_DATABASE=PPG Device
-
-usb:v06E6pC291*
- ID_PRODUCT_FROM_DATABASE=PPG Device
-
-usb:v06E6pC292*
- ID_PRODUCT_FROM_DATABASE=PPG Device
-
-usb:v06E6pC293*
- ID_PRODUCT_FROM_DATABASE=Personal PhoneGateway
-
-usb:v06E6pC31C*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pC39C*
- ID_PRODUCT_FROM_DATABASE=Personal PhoneGateway
-
-usb:v06E6pC39D*
- ID_PRODUCT_FROM_DATABASE=PPG Device
-
-usb:v06E6pC39E*
- ID_PRODUCT_FROM_DATABASE=PPG Device
-
-usb:v06E6pC39F*
- ID_PRODUCT_FROM_DATABASE=PPG Device
-
-usb:v06E6pC700*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pC701*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pC702*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pC703*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pC710*
- ID_PRODUCT_FROM_DATABASE=VoIP Combo Device
-
-usb:v06E6pC711*
- ID_PRODUCT_FROM_DATABASE=VoIP Combo
-
-usb:v06E6pC712*
- ID_PRODUCT_FROM_DATABASE=VoIP Combo Device
-
-usb:v06E6pC713*
- ID_PRODUCT_FROM_DATABASE=VoIP Combo Device
-
-usb:v06E6pCF00*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pCF01*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pCF02*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pCF03*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pD210*
- ID_PRODUCT_FROM_DATABASE=Personal PhoneGateway
-
-usb:v06E6pD211*
- ID_PRODUCT_FROM_DATABASE=PPG Device
-
-usb:v06E6pD212*
- ID_PRODUCT_FROM_DATABASE=PPG Device
-
-usb:v06E6pD213*
- ID_PRODUCT_FROM_DATABASE=Personal PhoneGateway
-
-usb:v06E6pD700*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pD701*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pD702*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pD703*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pD710*
- ID_PRODUCT_FROM_DATABASE=VoIP Combo
-
-usb:v06E6pD711*
- ID_PRODUCT_FROM_DATABASE=VoIP Combo Device
-
-usb:v06E6pD712*
- ID_PRODUCT_FROM_DATABASE=VoIP Combo
-
-usb:v06E6pD713*
- ID_PRODUCT_FROM_DATABASE=VoIP Combo
-
-usb:v06E6pDF00*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pDF01*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pDF02*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pDF03*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pF200*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pF201*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pF202*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pF203*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pF210*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pF250*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06E6pF252*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pF310*
- ID_PRODUCT_FROM_DATABASE=Internet Phone
-
-usb:v06E6pF350*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v06EA*
- ID_VENDOR_FROM_DATABASE=Sirius Technologies
-
-usb:v06EAp0001*
- ID_PRODUCT_FROM_DATABASE=NetCom Roadster II 56k
-
-usb:v06EAp0002*
- ID_PRODUCT_FROM_DATABASE=Roadster II 56k
-
-usb:v06EB*
- ID_VENDOR_FROM_DATABASE=PC Expert Tech. Co., Ltd
-
-usb:v06EF*
- ID_VENDOR_FROM_DATABASE=I.A.C. Geometrische Ingenieurs B.V.
-
-usb:v06F0*
- ID_VENDOR_FROM_DATABASE=T.N.C Industrial Co., Ltd
-
-usb:v06F0pDE01*
- ID_PRODUCT_FROM_DATABASE=DualCam Video Camera
-
-usb:v06F0pDE02*
- ID_PRODUCT_FROM_DATABASE=DualCam Still Camera
-
-usb:v06F1*
- ID_VENDOR_FROM_DATABASE=Opcode Systems, Inc.
-
-usb:v06F1pA011*
- ID_PRODUCT_FROM_DATABASE=SonicPort
-
-usb:v06F1pA021*
- ID_PRODUCT_FROM_DATABASE=SonicPort Optical
-
-usb:v06F2*
- ID_VENDOR_FROM_DATABASE=Emine Technology Co.
-
-usb:v06F2p0011*
- ID_PRODUCT_FROM_DATABASE=KVM Switch Keyboard
-
-usb:v06F6*
- ID_VENDOR_FROM_DATABASE=Wintrend Technology Co., Ltd
-
-usb:v06F7*
- ID_VENDOR_FROM_DATABASE=Wailly Technology Ltd
-
-usb:v06F7p0003*
- ID_PRODUCT_FROM_DATABASE=USB->Din 4 Adaptor
-
-usb:v06F8*
- ID_VENDOR_FROM_DATABASE=Guillemot Corp.
-
-usb:v06F8p3002*
- ID_PRODUCT_FROM_DATABASE=Hercules Blog Webcam
-
-usb:v06F8p3004*
- ID_PRODUCT_FROM_DATABASE=Hercules Classic Silver
-
-usb:v06F8p3005*
- ID_PRODUCT_FROM_DATABASE=Hercules Dualpix Exchange
-
-usb:v06F8p3007*
- ID_PRODUCT_FROM_DATABASE=Hercules Dualpix Chat and Show
-
-usb:v06F8p3020*
- ID_PRODUCT_FROM_DATABASE=Hercules Webcam EC300
-
-usb:v06F8pA300*
- ID_PRODUCT_FROM_DATABASE=Dual Analog Leader GamePad
-
-usb:v06F8pB000*
- ID_PRODUCT_FROM_DATABASE=Hercules DJ Console
-
-usb:v06F8pC000*
- ID_PRODUCT_FROM_DATABASE=Hercules Muse Pocket
-
-usb:v06F8pD002*
- ID_PRODUCT_FROM_DATABASE=Hercules DJ Console
-
-usb:v06F8pE000*
- ID_PRODUCT_FROM_DATABASE=HWGUSB2-54 WLAN
-
-usb:v06F8pE010*
- ID_PRODUCT_FROM_DATABASE=HWGUSB2-54-LB
-
-usb:v06F8pE020*
- ID_PRODUCT_FROM_DATABASE=HWGUSB2-54V2-AP
-
-usb:v06F8pE031*
- ID_PRODUCT_FROM_DATABASE=Hercules HWNUm-300 Wireless N mini [Realtek RTL8191SU]
-
-usb:v06F8pE032*
- ID_PRODUCT_FROM_DATABASE=HWGUm-54 [Hercules Wireless G Ultra Mini Key]
-
-usb:v06F8pE033*
- ID_PRODUCT_FROM_DATABASE=Hercules HWNUp-150 802.11n Wireless N Pico [Realtek RTL8188CUS]
-
-usb:v06F9*
- ID_VENDOR_FROM_DATABASE=ASYST electronic d.o.o.
-
-usb:v06FA*
- ID_VENDOR_FROM_DATABASE=HSD S.r.L
-
-usb:v06FC*
- ID_VENDOR_FROM_DATABASE=Motorola Semiconductor Products Sector
-
-usb:v06FD*
- ID_VENDOR_FROM_DATABASE=Boston Acoustics
-
-usb:v06FDp0101*
- ID_PRODUCT_FROM_DATABASE=Audio Device
-
-usb:v06FDp0102*
- ID_PRODUCT_FROM_DATABASE=Audio Device
-
-usb:v06FDp0201*
- ID_PRODUCT_FROM_DATABASE=2-piece Audio Device
-
-usb:v06FE*
- ID_VENDOR_FROM_DATABASE=Gallant Computer, Inc.
-
-usb:v0701*
- ID_VENDOR_FROM_DATABASE=Supercomal Wire & Cable SDN. BHD.
-
-usb:v0703*
- ID_VENDOR_FROM_DATABASE=Bvtech Industry, Inc.
-
-usb:v0705*
- ID_VENDOR_FROM_DATABASE=NKK Corp.
-
-usb:v0706*
- ID_VENDOR_FROM_DATABASE=Ariel Corp.
-
-usb:v0707*
- ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
-
-usb:v0707p0100*
- ID_PRODUCT_FROM_DATABASE=2202 Ethernet [klsi]
-
-usb:v0707p0200*
- ID_PRODUCT_FROM_DATABASE=2202 Ethernet [pegasus]
-
-usb:v0707p0201*
- ID_PRODUCT_FROM_DATABASE=EZ Connect USB Ethernet
-
-usb:v0707pEE04*
- ID_PRODUCT_FROM_DATABASE=SMCWUSB32 802.11b Wireless LAN Card
-
-usb:v0707pEE06*
- ID_PRODUCT_FROM_DATABASE=SMC2862W-G v1 EZ Connect 802.11g Adapter [Intersil ISL3886]
-
-usb:v0707pEE13*
- ID_PRODUCT_FROM_DATABASE=SMC2862W-G v2 EZ Connect 802.11g Adapter [Intersil ISL3887]
-
-usb:v0708*
- ID_VENDOR_FROM_DATABASE=Putercom Co., Ltd
-
-usb:v0708p047E*
- ID_PRODUCT_FROM_DATABASE=USB-1284 BRIDGE
-
-usb:v0709*
- ID_VENDOR_FROM_DATABASE=Silicon Systems, Ltd (SSL)
-
-usb:v070A*
- ID_VENDOR_FROM_DATABASE=Oki Electric Industry Co., Ltd
-
-usb:v070Ap4002*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v070Ap4003*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v070D*
- ID_VENDOR_FROM_DATABASE=Comoss Electronic Co., Ltd
-
-usb:v070E*
- ID_VENDOR_FROM_DATABASE=Excel Cell Electronic Co., Ltd
-
-usb:v0710*
- ID_VENDOR_FROM_DATABASE=Connect Tech, Inc.
-
-usb:v0710p0001*
- ID_PRODUCT_FROM_DATABASE=WhiteHeat (fake ID)
-
-usb:v0710p8001*
- ID_PRODUCT_FROM_DATABASE=WhiteHeat
-
-usb:v0711*
- ID_VENDOR_FROM_DATABASE=Magic Control Technology Corp.
-
-usb:v0711p0100*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v0711p0180*
- ID_PRODUCT_FROM_DATABASE=IRXpress Infrared Device
-
-usb:v0711p0181*
- ID_PRODUCT_FROM_DATABASE=IRXpress Infrared Device
-
-usb:v0711p0200*
- ID_PRODUCT_FROM_DATABASE=BAY-3U1S1P Serial Port
-
-usb:v0711p0210*
- ID_PRODUCT_FROM_DATABASE=MCT1S Serial Port
-
-usb:v0711p0230*
- ID_PRODUCT_FROM_DATABASE=MCT-232 Serial Port
-
-usb:v0711p0231*
- ID_PRODUCT_FROM_DATABASE=PS/2 Mouse Port
-
-usb:v0711p0232*
- ID_PRODUCT_FROM_DATABASE=Serial On Port
-
-usb:v0711p0240*
- ID_PRODUCT_FROM_DATABASE=PS/2 to USB Converter
-
-usb:v0711p0300*
- ID_PRODUCT_FROM_DATABASE=BAY-3U1S1P Parallel Port
-
-usb:v0711p0302*
- ID_PRODUCT_FROM_DATABASE=Parallel Port
-
-usb:v0711p0900*
- ID_PRODUCT_FROM_DATABASE=SVGA Adapter
-
-usb:v0711p5001*
- ID_PRODUCT_FROM_DATABASE=Trigger UV-002BD[Startech USBVGAE]
-
-usb:v0711p5100*
- ID_PRODUCT_FROM_DATABASE=Magic Control Technology Corp. (USB2VGA dongle)
-
-usb:v0713*
- ID_VENDOR_FROM_DATABASE=Interval Research Corp.
-
-usb:v0714*
- ID_VENDOR_FROM_DATABASE=NewMotion, Inc.
-
-usb:v0714p0003*
- ID_PRODUCT_FROM_DATABASE=ADB to USB convertor
-
-usb:v0717*
- ID_VENDOR_FROM_DATABASE=ZNK Corp.
-
-usb:v0718*
- ID_VENDOR_FROM_DATABASE=Imation Corp.
-
-usb:v0718p0002*
- ID_PRODUCT_FROM_DATABASE=SuperDisk 120MB
-
-usb:v0718p0003*
- ID_PRODUCT_FROM_DATABASE=SuperDisk 120MB (Authenticated)
-
-usb:v0718p0060*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v0718p0061*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v0718p0062*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v0718p0063*
- ID_PRODUCT_FROM_DATABASE=Swivel Flash Drive
-
-usb:v0718p0064*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v0718p0065*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v0718p0066*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v0718p0067*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v0718p0068*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v0718p0084*
- ID_PRODUCT_FROM_DATABASE=Flash Drive Mini
-
-usb:v0718p043C*
- ID_PRODUCT_FROM_DATABASE=Flash drive 16GB [Nano Pro]
-
-usb:v0718p0582*
- ID_PRODUCT_FROM_DATABASE=Revo Flash Drive
-
-usb:v0718p1120*
- ID_PRODUCT_FROM_DATABASE=RDX External dock (redbud)
-
-usb:v0718pD000*
- ID_PRODUCT_FROM_DATABASE=Disc Stakka CD/DVD Manager
-
-usb:v0719*
- ID_VENDOR_FROM_DATABASE=Tremon Enterprises Co., Ltd
-
-usb:v071B*
- ID_VENDOR_FROM_DATABASE=Domain Technologies, Inc.
-
-usb:v071Bp0002*
- ID_PRODUCT_FROM_DATABASE=DTI-56362-USB Digital Interface Unit
-
-usb:v071Bp0101*
- ID_PRODUCT_FROM_DATABASE=Audio4-USB DSP Data Acquisition Unit
-
-usb:v071Bp0201*
- ID_PRODUCT_FROM_DATABASE=Audio4-5410 DSP Data Acquisition Unit
-
-usb:v071Bp0301*
- ID_PRODUCT_FROM_DATABASE=SB-USB JTAG Emulator
-
-usb:v071Bp3203*
- ID_PRODUCT_FROM_DATABASE=Rockchip Media Player
-
-usb:v071Bp32BB*
- ID_PRODUCT_FROM_DATABASE=Music Mediatouch
-
-usb:v071C*
- ID_VENDOR_FROM_DATABASE=Xionics Document Technologies, Inc.
-
-usb:v071D*
- ID_VENDOR_FROM_DATABASE=Eicon Networks Corp.
-
-usb:v071Dp1000*
- ID_PRODUCT_FROM_DATABASE=Diva ISDN TA
-
-usb:v071Dp1003*
- ID_PRODUCT_FROM_DATABASE=Diva
-
-usb:v071Dp2000*
- ID_PRODUCT_FROM_DATABASE=Teledat Surf
-
-usb:v071E*
- ID_VENDOR_FROM_DATABASE=Ariston Technologies
-
-usb:v0723*
- ID_VENDOR_FROM_DATABASE=Centillium Communications Corp.
-
-usb:v0723p0002*
- ID_PRODUCT_FROM_DATABASE=Palladia 300/400 Adsl Modem
-
-usb:v0726*
- ID_VENDOR_FROM_DATABASE=Vanguard International Semiconductor-America
-
-usb:v0729*
- ID_VENDOR_FROM_DATABASE=Amitm
-
-usb:v0729p1000*
- ID_PRODUCT_FROM_DATABASE=USC-1000 Serial Port
-
-usb:v072E*
- ID_VENDOR_FROM_DATABASE=Sunix Co., Ltd
-
-usb:v072F*
- ID_VENDOR_FROM_DATABASE=Advanced Card Systems, Ltd
-
-usb:v072Fp0001*
- ID_PRODUCT_FROM_DATABASE=AC1030-based SmartCard Reader
-
-usb:v072Fp0008*
- ID_PRODUCT_FROM_DATABASE=ACR 80 Smart Card Reader
-
-usb:v072Fp1000*
- ID_PRODUCT_FROM_DATABASE=PLDT Drive
-
-usb:v072Fp1001*
- ID_PRODUCT_FROM_DATABASE=PLDT Drive
-
-usb:v072Fp8002*
- ID_PRODUCT_FROM_DATABASE=AET63 BioTRUSTKey
-
-usb:v072Fp8003*
- ID_PRODUCT_FROM_DATABASE=ACR120
-
-usb:v072Fp8103*
- ID_PRODUCT_FROM_DATABASE=ACR120
-
-usb:v072Fp9000*
- ID_PRODUCT_FROM_DATABASE=ACR38 AC1038-based Smart Card Reader
-
-usb:v072Fp90CC*
- ID_PRODUCT_FROM_DATABASE=ACR38 SmartCard Reader
-
-usb:v072Fp90CF*
- ID_PRODUCT_FROM_DATABASE=ACR38 SAM Smart Card Reader
-
-usb:v072Fp90D0*
- ID_PRODUCT_FROM_DATABASE=PertoSmart EMV - Card Reader
-
-usb:v0731*
- ID_VENDOR_FROM_DATABASE=Susteen, Inc.
-
-usb:v0731p0528*
- ID_PRODUCT_FROM_DATABASE=SonyEricsson DCU-11 Cable
-
-usb:v0732*
- ID_VENDOR_FROM_DATABASE=Goldfull Electronics & Telecommunications Corp.
-
-usb:v0733*
- ID_VENDOR_FROM_DATABASE=ViewQuest Technologies, Inc.
-
-usb:v0733p0101*
- ID_PRODUCT_FROM_DATABASE=Digital Video Camera
-
-usb:v0733p0110*
- ID_PRODUCT_FROM_DATABASE=VQ110 Video Camera
-
-usb:v0733p0401*
- ID_PRODUCT_FROM_DATABASE=CS330 Webcam
-
-usb:v0733p0402*
- ID_PRODUCT_FROM_DATABASE=M-318B Webcam
-
-usb:v0733p0430*
- ID_PRODUCT_FROM_DATABASE=Intel Pro Share Webcam
-
-usb:v0733p0630*
- ID_PRODUCT_FROM_DATABASE=VQ630 Dual Mode Digital Camera(Bulk)
-
-usb:v0733p0631*
- ID_PRODUCT_FROM_DATABASE=Hercules Dualpix
-
-usb:v0733p0780*
- ID_PRODUCT_FROM_DATABASE=Smart Cam Deluxe(composite)
-
-usb:v0733p1310*
- ID_PRODUCT_FROM_DATABASE=Epsilon 1.3/Jenoptik JD C1.3/UMAX AstraPix 470
-
-usb:v0733p1311*
- ID_PRODUCT_FROM_DATABASE=Digital Dream Epsilon 1.3
-
-usb:v0733p1314*
- ID_PRODUCT_FROM_DATABASE=Mercury 2.1MEG Deluxe Classic Cam
-
-usb:v0733p2211*
- ID_PRODUCT_FROM_DATABASE=Jenoptik jdc 21 LCD Camera
-
-usb:v0733p2221*
- ID_PRODUCT_FROM_DATABASE=Mercury Digital Pro 3.1p
-
-usb:v0733p3261*
- ID_PRODUCT_FROM_DATABASE=Concord 3045 spca536a Camera
-
-usb:v0733p3281*
- ID_PRODUCT_FROM_DATABASE=Cyberpix S550V
-
-usb:v0734*
- ID_VENDOR_FROM_DATABASE=Lasat Communications A/S
-
-usb:v0734p0001*
- ID_PRODUCT_FROM_DATABASE=560V Modem
-
-usb:v0734p0002*
- ID_PRODUCT_FROM_DATABASE=Lasat 560V Modem
-
-usb:v0734p043A*
- ID_PRODUCT_FROM_DATABASE=DVS Audio
-
-usb:v0734p043B*
- ID_PRODUCT_FROM_DATABASE=3DeMon USB Capture
-
-usb:v0735*
- ID_VENDOR_FROM_DATABASE=Asuscom Network
-
-usb:v0735p2100*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter
-
-usb:v0735p2101*
- ID_PRODUCT_FROM_DATABASE=ISDN Adapter
-
-usb:v0735p6694*
- ID_PRODUCT_FROM_DATABASE=ISDNlink 128K
-
-usb:v0735pC541*
- ID_PRODUCT_FROM_DATABASE=ISDN TA 280
-
-usb:v0736*
- ID_VENDOR_FROM_DATABASE=Lorom Industrial Co., Ltd
-
-usb:v0738*
- ID_VENDOR_FROM_DATABASE=Mad Catz, Inc.
-
-usb:v0738p4507*
- ID_PRODUCT_FROM_DATABASE=XBox Device
-
-usb:v0738p4516*
- ID_PRODUCT_FROM_DATABASE=XBox Device
-
-usb:v0738p4520*
- ID_PRODUCT_FROM_DATABASE=XBox Device
-
-usb:v0738p4526*
- ID_PRODUCT_FROM_DATABASE=XBox Device
-
-usb:v0738p4536*
- ID_PRODUCT_FROM_DATABASE=XBox Device
-
-usb:v0738p4540*
- ID_PRODUCT_FROM_DATABASE=XBox Device
-
-usb:v0738p4556*
- ID_PRODUCT_FROM_DATABASE=XBox Device
-
-usb:v0738p4566*
- ID_PRODUCT_FROM_DATABASE=XBox Device
-
-usb:v0738p4576*
- ID_PRODUCT_FROM_DATABASE=XBox Device
-
-usb:v0738p4586*
- ID_PRODUCT_FROM_DATABASE=XBox Device
-
-usb:v0738p4588*
- ID_PRODUCT_FROM_DATABASE=XBox Device
-
-usb:v0738p8818*
- ID_PRODUCT_FROM_DATABASE=Street Fighter IV Arcade FightStick (PS3)
-
-usb:v073A*
- ID_VENDOR_FROM_DATABASE=Chaplet Systems, Inc.
-
-usb:v073Ap2230*
- ID_PRODUCT_FROM_DATABASE=infrared dongle for remote
-
-usb:v073B*
- ID_VENDOR_FROM_DATABASE=Suncom Technologies
-
-usb:v073C*
- ID_VENDOR_FROM_DATABASE=Industrial Electronic Engineers, Inc.
-
-usb:v073Cp0305*
- ID_PRODUCT_FROM_DATABASE=Pole Display (PC305-3415 2 x 20 Line Display)
-
-usb:v073Cp0322*
- ID_PRODUCT_FROM_DATABASE=Pole Display (PC322-3415 2 x 20 Line Display)
-
-usb:v073Cp0324*
- ID_PRODUCT_FROM_DATABASE=Pole Display (LB324-USB 4 x 20 Line Display)
-
-usb:v073Cp0330*
- ID_PRODUCT_FROM_DATABASE=Pole Display (P330-3415 2 x 20 Line Display)
-
-usb:v073Cp0424*
- ID_PRODUCT_FROM_DATABASE=Pole Display (SP324-4415 4 x 20 Line Display)
-
-usb:v073Cp0450*
- ID_PRODUCT_FROM_DATABASE=Pole Display (L450-USB Graphic Line Display)
-
-usb:v073Cp0505*
- ID_PRODUCT_FROM_DATABASE=Pole Display (SPC505-3415 2 x 20 Line Display)
-
-usb:v073Cp0522*
- ID_PRODUCT_FROM_DATABASE=Pole Display (SPC522-3415 2 x 20 Line Display)
-
-usb:v073Cp0624*
- ID_PRODUCT_FROM_DATABASE=Pole Display (SP324-3415 4 x 20 Line Display)
-
-usb:v073D*
- ID_VENDOR_FROM_DATABASE=Eutron S.p.a.
-
-usb:v073Dp0005*
- ID_PRODUCT_FROM_DATABASE=Crypto Token
-
-usb:v073Dp0007*
- ID_PRODUCT_FROM_DATABASE=CryptoIdentity CCID
-
-usb:v073Dp0025*
- ID_PRODUCT_FROM_DATABASE=SmartKey 3
-
-usb:v073Dp0C00*
- ID_PRODUCT_FROM_DATABASE=Pocket Reader
-
-usb:v073Dp0D00*
- ID_PRODUCT_FROM_DATABASE=StarSign Bio Token 3.0 EU
-
-usb:v073E*
- ID_VENDOR_FROM_DATABASE=NEC, Inc.
-
-usb:v073Ep0301*
- ID_PRODUCT_FROM_DATABASE=Game Pad
-
-usb:v0745*
- ID_VENDOR_FROM_DATABASE=Syntech Information Co., Ltd
-
-usb:v0746*
- ID_VENDOR_FROM_DATABASE=Onkyo Corp.
-
-usb:v0746p5500*
- ID_PRODUCT_FROM_DATABASE=SE-U55 Audio Device
-
-usb:v0747*
- ID_VENDOR_FROM_DATABASE=Labway Corp.
-
-usb:v0748*
- ID_VENDOR_FROM_DATABASE=Strong Man Enterprise Co., Ltd
-
-usb:v0749*
- ID_VENDOR_FROM_DATABASE=EVer Electronics Corp.
-
-usb:v074A*
- ID_VENDOR_FROM_DATABASE=Ming Fortune Industry Co., Ltd
-
-usb:v074B*
- ID_VENDOR_FROM_DATABASE=Polestar Tech. Corp.
-
-usb:v074C*
- ID_VENDOR_FROM_DATABASE=C-C-C Group PLC
-
-usb:v074D*
- ID_VENDOR_FROM_DATABASE=Micronas GmbH
-
-usb:v074Dp3553*
- ID_PRODUCT_FROM_DATABASE=Composite USB-Device
-
-usb:v074Dp3554*
- ID_PRODUCT_FROM_DATABASE=Composite USB-Device
-
-usb:v074Dp3556*
- ID_PRODUCT_FROM_DATABASE=Composite USB-Device
-
-usb:v074E*
- ID_VENDOR_FROM_DATABASE=Digital Stream Corp.
-
-usb:v074Ep0001*
- ID_PRODUCT_FROM_DATABASE=PS/2 Adapter
-
-usb:v074Ep0002*
- ID_PRODUCT_FROM_DATABASE=PS/2 Adapter
-
-usb:v0755*
- ID_VENDOR_FROM_DATABASE=Aureal Semiconductor
-
-usb:v0757*
- ID_VENDOR_FROM_DATABASE=Network Technologies, Inc.
-
-usb:v075B*
- ID_VENDOR_FROM_DATABASE=Sophisticated Circuits, Inc.
-
-usb:v075Bp0001*
- ID_PRODUCT_FROM_DATABASE=Kick-off! Watchdog
-
-usb:v0763*
- ID_VENDOR_FROM_DATABASE=Midiman
-
-usb:v0763p0115*
- ID_PRODUCT_FROM_DATABASE=O2 / KeyRig 25
-
-usb:v0763p0117*
- ID_PRODUCT_FROM_DATABASE=Trigger Finger
-
-usb:v0763p0119*
- ID_PRODUCT_FROM_DATABASE=MidAir
-
-usb:v0763p0150*
- ID_PRODUCT_FROM_DATABASE=M-Audio Uno
-
-usb:v0763p0160*
- ID_PRODUCT_FROM_DATABASE=M-Audio 1x1
-
-usb:v0763p0192*
- ID_PRODUCT_FROM_DATABASE=M-Audio Keystation 88es
-
-usb:v0763p0193*
- ID_PRODUCT_FROM_DATABASE=ProKeys 88
-
-usb:v0763p0194*
- ID_PRODUCT_FROM_DATABASE=ProKeys 88sx
-
-usb:v0763p0195*
- ID_PRODUCT_FROM_DATABASE=Oxygen 8 v2
-
-usb:v0763p0196*
- ID_PRODUCT_FROM_DATABASE=Oxygen 49
-
-usb:v0763p0197*
- ID_PRODUCT_FROM_DATABASE=Oxygen 61
-
-usb:v0763p0198*
- ID_PRODUCT_FROM_DATABASE=Axiom 25
-
-usb:v0763p0199*
- ID_PRODUCT_FROM_DATABASE=Axiom 49
-
-usb:v0763p019A*
- ID_PRODUCT_FROM_DATABASE=Axiom 61
-
-usb:v0763p019B*
- ID_PRODUCT_FROM_DATABASE=KeyRig 49
-
-usb:v0763p019C*
- ID_PRODUCT_FROM_DATABASE=KeyStudio
-
-usb:v0763p1001*
- ID_PRODUCT_FROM_DATABASE=MidiSport 2x2
-
-usb:v0763p1002*
- ID_PRODUCT_FROM_DATABASE=MidiSport 2x2
-
-usb:v0763p1003*
- ID_PRODUCT_FROM_DATABASE=MidiSport 2x2
-
-usb:v0763p1010*
- ID_PRODUCT_FROM_DATABASE=MidiSport 1x1
-
-usb:v0763p1011*
- ID_PRODUCT_FROM_DATABASE=MidiSport 1x1
-
-usb:v0763p1014*
- ID_PRODUCT_FROM_DATABASE=M-Audio Keystation Loader
-
-usb:v0763p1015*
- ID_PRODUCT_FROM_DATABASE=M-Audio Keystation
-
-usb:v0763p1020*
- ID_PRODUCT_FROM_DATABASE=Midisport 4x4
-
-usb:v0763p1021*
- ID_PRODUCT_FROM_DATABASE=MidiSport 4x4
-
-usb:v0763p1030*
- ID_PRODUCT_FROM_DATABASE=Midisport 8x8
-
-usb:v0763p1031*
- ID_PRODUCT_FROM_DATABASE=MidiSport 8x8/s Loader
-
-usb:v0763p1033*
- ID_PRODUCT_FROM_DATABASE=MidiSport 8x8/s
-
-usb:v0763p1040*
- ID_PRODUCT_FROM_DATABASE=M-Audio MidiSport 2x4 Loader
-
-usb:v0763p1041*
- ID_PRODUCT_FROM_DATABASE=M-Audio MidiSport 2x4
-
-usb:v0763p1110*
- ID_PRODUCT_FROM_DATABASE=MidiSport 1x1
-
-usb:v0763p2001*
- ID_PRODUCT_FROM_DATABASE=M Audio Quattro
-
-usb:v0763p2002*
- ID_PRODUCT_FROM_DATABASE=M Audio Duo
-
-usb:v0763p2003*
- ID_PRODUCT_FROM_DATABASE=M Audio AudioPhile
-
-usb:v0763p2004*
- ID_PRODUCT_FROM_DATABASE=M-Audio MobilePre
-
-usb:v0763p2006*
- ID_PRODUCT_FROM_DATABASE=M-Audio Transit
-
-usb:v0763p2007*
- ID_PRODUCT_FROM_DATABASE=M-Audio Sonica Theater
-
-usb:v0763p2008*
- ID_PRODUCT_FROM_DATABASE=M-Audio Ozone
-
-usb:v0763p200D*
- ID_PRODUCT_FROM_DATABASE=M-Audio OmniStudio
-
-usb:v0763p200F*
- ID_PRODUCT_FROM_DATABASE=M-Audio MobilePre
-
-usb:v0763p2010*
- ID_PRODUCT_FROM_DATABASE=M-Audio Fast Track
-
-usb:v0763p2012*
- ID_PRODUCT_FROM_DATABASE=M-Audio Fast Track Pro
-
-usb:v0763p2013*
- ID_PRODUCT_FROM_DATABASE=M-Audio JamLab
-
-usb:v0763p2015*
- ID_PRODUCT_FROM_DATABASE=M-Audio RunTime DFU
-
-usb:v0763p2016*
- ID_PRODUCT_FROM_DATABASE=M-Audio RunTime DFU
-
-usb:v0763p2019*
- ID_PRODUCT_FROM_DATABASE=M-Audio Ozone Academic
-
-usb:v0763p201A*
- ID_PRODUCT_FROM_DATABASE=M-Audio Micro
-
-usb:v0763p201B*
- ID_PRODUCT_FROM_DATABASE=M-Audio RunTime DFU
-
-usb:v0763p201D*
- ID_PRODUCT_FROM_DATABASE=M-Audio Producer
-
-usb:v0763p2024*
- ID_PRODUCT_FROM_DATABASE=M-Audio Fast Track MKII
-
-usb:v0763p2080*
- ID_PRODUCT_FROM_DATABASE=M-Audio RunTime DFU
-
-usb:v0763p2081*
- ID_PRODUCT_FROM_DATABASE=M-Audio RunTime DFU / Fast Track Ultra 8R
-
-usb:v0763p2803*
- ID_PRODUCT_FROM_DATABASE=M-Audio Audiophile DFU
-
-usb:v0763p2804*
- ID_PRODUCT_FROM_DATABASE=M-Audio MobilePre DFU
-
-usb:v0763p2806*
- ID_PRODUCT_FROM_DATABASE=M-Audio Transit DFU
-
-usb:v0763p2815*
- ID_PRODUCT_FROM_DATABASE=M-Audio DFU
-
-usb:v0763p2816*
- ID_PRODUCT_FROM_DATABASE=M-Audio DFU
-
-usb:v0763p281B*
- ID_PRODUCT_FROM_DATABASE=M-Audio DFU
-
-usb:v0763p2880*
- ID_PRODUCT_FROM_DATABASE=M-Audio DFU
-
-usb:v0763p2881*
- ID_PRODUCT_FROM_DATABASE=M-Audio DFU
-
-usb:v0764*
- ID_VENDOR_FROM_DATABASE=Cyber Power System, Inc.
-
-usb:v0764p0005*
- ID_PRODUCT_FROM_DATABASE=Cyber Power UPS
-
-usb:v0764p0501*
- ID_PRODUCT_FROM_DATABASE=CP1500 AVR UPS
-
-usb:v0765*
- ID_VENDOR_FROM_DATABASE=X-Rite, Inc.
-
-usb:v0765p5001*
- ID_PRODUCT_FROM_DATABASE=Huey PRO Colorimeter
-
-usb:v0765pD094*
- ID_PRODUCT_FROM_DATABASE=X-Rite DTP94 [Quato Silver Haze Pro]
-
-usb:v0766*
- ID_VENDOR_FROM_DATABASE=Jess-Link Products Co., Ltd
-
-usb:v0766p001B*
- ID_PRODUCT_FROM_DATABASE=Packard Bell Go
-
-usb:v0766p0204*
- ID_PRODUCT_FROM_DATABASE=TopSpeed Cyberlink Remote Control
-
-usb:v0767*
- ID_VENDOR_FROM_DATABASE=Tokheim Corp.
-
-usb:v0768*
- ID_VENDOR_FROM_DATABASE=Camtel Technology Corp.
-
-usb:v0768p0006*
- ID_PRODUCT_FROM_DATABASE=Camtel Technology USB TV Genie Pro FM Model TVB330
-
-usb:v0768p0023*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v0769*
- ID_VENDOR_FROM_DATABASE=Surecom Technology Corp.
-
-usb:v0769p11F2*
- ID_PRODUCT_FROM_DATABASE=EP-9001-g 802.11g 54M WLAN Adapter
-
-usb:v0769p11F3*
- ID_PRODUCT_FROM_DATABASE=RT2570
-
-usb:v0769p11F7*
- ID_PRODUCT_FROM_DATABASE=802.11g 54M WLAN Adapter
-
-usb:v0769p31F3*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v076A*
- ID_VENDOR_FROM_DATABASE=Smart Technology Enablers, Inc.
-
-usb:v076B*
- ID_VENDOR_FROM_DATABASE=OmniKey AG
-
-usb:v076Bp0596*
- ID_PRODUCT_FROM_DATABASE=CardMan 2020
-
-usb:v076Bp1021*
- ID_PRODUCT_FROM_DATABASE=CardMan 1021
-
-usb:v076Bp1221*
- ID_PRODUCT_FROM_DATABASE=CardMan 1221
-
-usb:v076Bp1784*
- ID_PRODUCT_FROM_DATABASE=CardMan 6020
-
-usb:v076Bp3021*
- ID_PRODUCT_FROM_DATABASE=CardMan 3121
-
-usb:v076Bp3610*
- ID_PRODUCT_FROM_DATABASE=CardMan 3620
-
-usb:v076Bp3621*
- ID_PRODUCT_FROM_DATABASE=CardMan 3621
-
-usb:v076Bp3821*
- ID_PRODUCT_FROM_DATABASE=CardMan 3821
-
-usb:v076Bp4321*
- ID_PRODUCT_FROM_DATABASE=CardMan 4321
-
-usb:v076Bp5121*
- ID_PRODUCT_FROM_DATABASE=CardMan 5121
-
-usb:v076Bp5125*
- ID_PRODUCT_FROM_DATABASE=CardMan 5125
-
-usb:v076Bp6622*
- ID_PRODUCT_FROM_DATABASE=CardMan 6121
-
-usb:v076BpA011*
- ID_PRODUCT_FROM_DATABASE=CCID Smart Card Reader Keyboard
-
-usb:v076BpA021*
- ID_PRODUCT_FROM_DATABASE=CCID Smart Card Reader
-
-usb:v076BpA022*
- ID_PRODUCT_FROM_DATABASE=CardMan Smart@Link
-
-usb:v076BpC000*
- ID_PRODUCT_FROM_DATABASE=CardMan 3x21 CS
-
-usb:v076BpC001*
- ID_PRODUCT_FROM_DATABASE=CardMan 5121 CS
-
-usb:v076C*
- ID_VENDOR_FROM_DATABASE=Partner Tech
-
-usb:v076D*
- ID_VENDOR_FROM_DATABASE=Denso Corp.
-
-usb:v076E*
- ID_VENDOR_FROM_DATABASE=Kuan Tech Enterprise Co., Ltd
-
-usb:v076F*
- ID_VENDOR_FROM_DATABASE=Jhen Vei Electronic Co., Ltd
-
-usb:v0770*
- ID_VENDOR_FROM_DATABASE=Welch Allyn, Inc - Medical Division
-
-usb:v0771*
- ID_VENDOR_FROM_DATABASE=Observator Instruments BV
-
-usb:v0771p4455*
- ID_PRODUCT_FROM_DATABASE=OMC45III
-
-usb:v0771pAE0F*
- ID_PRODUCT_FROM_DATABASE=OMC45III
-
-usb:v0772*
- ID_VENDOR_FROM_DATABASE=Your data Our Care
-
-usb:v0774*
- ID_VENDOR_FROM_DATABASE=AmTRAN Technology Co., Ltd
-
-usb:v0775*
- ID_VENDOR_FROM_DATABASE=Longshine Electronics Corp.
-
-usb:v0776*
- ID_VENDOR_FROM_DATABASE=Inalways Corp.
-
-usb:v0777*
- ID_VENDOR_FROM_DATABASE=Comda Enterprise Corp.
-
-usb:v0778*
- ID_VENDOR_FROM_DATABASE=Volex, Inc.
-
-usb:v0779*
- ID_VENDOR_FROM_DATABASE=Fairchild Semiconductor
-
-usb:v077A*
- ID_VENDOR_FROM_DATABASE=Sankyo Seiki Mfg. Co., Ltd
-
-usb:v077B*
- ID_VENDOR_FROM_DATABASE=Linksys
-
-usb:v077Bp08BE*
- ID_PRODUCT_FROM_DATABASE=BEFCMU10 v4 Cable Modem
-
-usb:v077Bp2219*
- ID_PRODUCT_FROM_DATABASE=WUSB11 V2.6 802.11b Adapter
-
-usb:v077Bp2226*
- ID_PRODUCT_FROM_DATABASE=USB200M 100baseTX Adapter
-
-usb:v077Bp2227*
- ID_PRODUCT_FROM_DATABASE=Network Everywhere NWU11B
-
-usb:v077C*
- ID_VENDOR_FROM_DATABASE=Forward Electronics Co., Ltd
-
-usb:v077Cp0005*
- ID_PRODUCT_FROM_DATABASE=NEC Keyboard
-
-usb:v077D*
- ID_VENDOR_FROM_DATABASE=Griffin Technology
-
-usb:v077Dp0223*
- ID_PRODUCT_FROM_DATABASE=IMic Audio In/Out
-
-usb:v077Dp0405*
- ID_PRODUCT_FROM_DATABASE=iMate, ADB Adapter
-
-usb:v077Dp0410*
- ID_PRODUCT_FROM_DATABASE=PowerMate
-
-usb:v077Dp041A*
- ID_PRODUCT_FROM_DATABASE=PowerWave
-
-usb:v077Dp04AA*
- ID_PRODUCT_FROM_DATABASE=SoundKnob
-
-usb:v077Dp07AF*
- ID_PRODUCT_FROM_DATABASE=iMic
-
-usb:v077Dp1016*
- ID_PRODUCT_FROM_DATABASE=AirClick
-
-usb:v077Dp627A*
- ID_PRODUCT_FROM_DATABASE=Radio SHARK
-
-usb:v077F*
- ID_VENDOR_FROM_DATABASE=Well Excellent & Most Corp.
-
-usb:v0780*
- ID_VENDOR_FROM_DATABASE=Sagem Monetel GmbH
-
-usb:v0780p1202*
- ID_PRODUCT_FROM_DATABASE=ORGA 900 Smart Card Terminal Virtual Com Port
-
-usb:v0780p1302*
- ID_PRODUCT_FROM_DATABASE=ORGA 6000 Smart Card Terminal Virtual Com Port
-
-usb:v0780p1303*
- ID_PRODUCT_FROM_DATABASE=ORGA 6000 Smart Card Terminal USB RNDIS
-
-usb:v0780pDF55*
- ID_PRODUCT_FROM_DATABASE=ORGA 900/6000 Smart Card Terminal DFU
-
-usb:v0781*
- ID_VENDOR_FROM_DATABASE=SanDisk Corp.
-
-usb:v0781p0001*
- ID_PRODUCT_FROM_DATABASE=SDDR-05a ImageMate CompactFlash Reader
-
-usb:v0781p0002*
- ID_PRODUCT_FROM_DATABASE=SDDR-31 ImageMate II CompactFlash Reader
-
-usb:v0781p0005*
- ID_PRODUCT_FROM_DATABASE=SDDR-05b (CF II) ImageMate CompactFlash Reader
-
-usb:v0781p0100*
- ID_PRODUCT_FROM_DATABASE=ImageMate SDDR-12
-
-usb:v0781p0200*
- ID_PRODUCT_FROM_DATABASE=SDDR-09 (SSFDC) ImageMate SmartMedia Reader [eusb]
-
-usb:v0781p0400*
- ID_PRODUCT_FROM_DATABASE=SecureMate SD/MMC Reader
-
-usb:v0781p0621*
- ID_PRODUCT_FROM_DATABASE=SDDR-86 Imagemate 6-in-1 Reader
-
-usb:v0781p0720*
- ID_PRODUCT_FROM_DATABASE=Sansa C200 series in recovery mode
-
-usb:v0781p0729*
- ID_PRODUCT_FROM_DATABASE=Sansa E200 series in recovery mode
-
-usb:v0781p0810*
- ID_PRODUCT_FROM_DATABASE=SDDR-75 ImageMate CF-SM Reader
-
-usb:v0781p0830*
- ID_PRODUCT_FROM_DATABASE=ImageMate CF/MMC/SD Reader
-
-usb:v0781p1234*
- ID_PRODUCT_FROM_DATABASE=Cruzer Mini Flash Drive
-
-usb:v0781p5150*
- ID_PRODUCT_FROM_DATABASE=SDCZ2 Cruzer Mini Flash Drive (thin)
-
-usb:v0781p5151*
- ID_PRODUCT_FROM_DATABASE=Cruzer Micro Flash Drive
-
-usb:v0781p5153*
- ID_PRODUCT_FROM_DATABASE=Cruzer Flash Drive
-
-usb:v0781p5204*
- ID_PRODUCT_FROM_DATABASE=Cruzer Crossfire
-
-usb:v0781p5402*
- ID_PRODUCT_FROM_DATABASE=U3 Cruzer Micro
-
-usb:v0781p5406*
- ID_PRODUCT_FROM_DATABASE=Cruzer Micro U3
-
-usb:v0781p5408*
- ID_PRODUCT_FROM_DATABASE=Cruzer Titanium U3
-
-usb:v0781p540E*
- ID_PRODUCT_FROM_DATABASE=Cruzer Contour Flash Drive
-
-usb:v0781p5530*
- ID_PRODUCT_FROM_DATABASE=Cruzer
-
-usb:v0781p5567*
- ID_PRODUCT_FROM_DATABASE=Cruzer Blade
-
-usb:v0781p5571*
- ID_PRODUCT_FROM_DATABASE=Cruzer Fit
-
-usb:v0781p5E10*
- ID_PRODUCT_FROM_DATABASE=Encrypted
-
-usb:v0781p6100*
- ID_PRODUCT_FROM_DATABASE=Ultra II SD Plus 2GB
-
-usb:v0781p7100*
- ID_PRODUCT_FROM_DATABASE=Cruzer Mini
-
-usb:v0781p7101*
- ID_PRODUCT_FROM_DATABASE=Pen Flash
-
-usb:v0781p7102*
- ID_PRODUCT_FROM_DATABASE=Cruzer Mini
-
-usb:v0781p7103*
- ID_PRODUCT_FROM_DATABASE=Cruzer Mini
-
-usb:v0781p7104*
- ID_PRODUCT_FROM_DATABASE=Cruzer Micro Mini 256MB Flash Drive
-
-usb:v0781p7105*
- ID_PRODUCT_FROM_DATABASE=Cruzer Mini
-
-usb:v0781p7106*
- ID_PRODUCT_FROM_DATABASE=Cruzer Mini
-
-usb:v0781p7112*
- ID_PRODUCT_FROM_DATABASE=Cruzer Micro 128MB Flash Drive
-
-usb:v0781p7113*
- ID_PRODUCT_FROM_DATABASE=Cruzer Micro 256MB Flash Drive
-
-usb:v0781p7114*
- ID_PRODUCT_FROM_DATABASE=Cruzer Mini
-
-usb:v0781p7115*
- ID_PRODUCT_FROM_DATABASE=Cruzer Mini
-
-usb:v0781p7301*
- ID_PRODUCT_FROM_DATABASE=Sansa e100 series (mtp)
-
-usb:v0781p7302*
- ID_PRODUCT_FROM_DATABASE=Sansa e100 series (msc)
-
-usb:v0781p7400*
- ID_PRODUCT_FROM_DATABASE=Sansa M200 series (mtp)
-
-usb:v0781p7401*
- ID_PRODUCT_FROM_DATABASE=Sansa M200 series (msc)
-
-usb:v0781p7420*
- ID_PRODUCT_FROM_DATABASE=Sansa E200 series (mtp)
-
-usb:v0781p7421*
- ID_PRODUCT_FROM_DATABASE=Sansa E200 Series (msc)
-
-usb:v0781p7422*
- ID_PRODUCT_FROM_DATABASE=Sansa E200 series v2 (mtp)
-
-usb:v0781p7423*
- ID_PRODUCT_FROM_DATABASE=Sansa E200 series v2 (msc)
-
-usb:v0781p7430*
- ID_PRODUCT_FROM_DATABASE=Sansa M200 series
-
-usb:v0781p7431*
- ID_PRODUCT_FROM_DATABASE=Sansa M200 series V4 (msc)
-
-usb:v0781p7432*
- ID_PRODUCT_FROM_DATABASE=Sansa Clip (mtp)
-
-usb:v0781p7433*
- ID_PRODUCT_FROM_DATABASE=Sansa Clip (msc)
-
-usb:v0781p7434*
- ID_PRODUCT_FROM_DATABASE=Sansa Clip V2 (mtp)
-
-usb:v0781p7435*
- ID_PRODUCT_FROM_DATABASE=Sansa Clip V2 (msc)
-
-usb:v0781p7450*
- ID_PRODUCT_FROM_DATABASE=Sansa C250
-
-usb:v0781p7451*
- ID_PRODUCT_FROM_DATABASE=Sansa C240
-
-usb:v0781p7460*
- ID_PRODUCT_FROM_DATABASE=Sansa Express
-
-usb:v0781p7480*
- ID_PRODUCT_FROM_DATABASE=Sansa Connect
-
-usb:v0781p7481*
- ID_PRODUCT_FROM_DATABASE=Sansa Connect (in recovery mode)
-
-usb:v0781p74B0*
- ID_PRODUCT_FROM_DATABASE=Sansa View (msc)
-
-usb:v0781p74B1*
- ID_PRODUCT_FROM_DATABASE=Sansa View (mtp)
-
-usb:v0781p74C0*
- ID_PRODUCT_FROM_DATABASE=Sansa Fuze (mtp)
-
-usb:v0781p74C1*
- ID_PRODUCT_FROM_DATABASE=Sansa Fuze (msc)
-
-usb:v0781p74C2*
- ID_PRODUCT_FROM_DATABASE=Sansa Fuze V2 (mtp)
-
-usb:v0781p74C3*
- ID_PRODUCT_FROM_DATABASE=Sansa Fuze V2 (msc)
-
-usb:v0781p74D0*
- ID_PRODUCT_FROM_DATABASE=Sansa Clip+ (mtp)
-
-usb:v0781p74D1*
- ID_PRODUCT_FROM_DATABASE=Sansa Clip+ (msc)
-
-usb:v0781p8181*
- ID_PRODUCT_FROM_DATABASE=Pen Flash
-
-usb:v0781p8183*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed Mass Storage Device
-
-usb:v0781p8185*
- ID_PRODUCT_FROM_DATABASE=SDCZ2 Cruzer Mini Flash Drive (older, thick)
-
-usb:v0781p8888*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v0781p8889*
- ID_PRODUCT_FROM_DATABASE=SDDR-88 Imagemate 8-in-1 Reader
-
-usb:v0781p8919*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v0781p8989*
- ID_PRODUCT_FROM_DATABASE=ImageMate 12-in-1 Reader
-
-usb:v0781p9191*
- ID_PRODUCT_FROM_DATABASE=ImageMate CF
-
-usb:v0781p9219*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v0781p9292*
- ID_PRODUCT_FROM_DATABASE=ImageMate CF Reader/Writer
-
-usb:v0781p9393*
- ID_PRODUCT_FROM_DATABASE=ImageMate SD-MMC
-
-usb:v0781p9595*
- ID_PRODUCT_FROM_DATABASE=ImageMate xD-SM
-
-usb:v0781p9797*
- ID_PRODUCT_FROM_DATABASE=ImageMate MS-PRO
-
-usb:v0781p9919*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v0781p9999*
- ID_PRODUCT_FROM_DATABASE=SDDR-99 5-in-1 Reader
-
-usb:v0781pA7C1*
- ID_PRODUCT_FROM_DATABASE=Storage device (SD card reader)
-
-usb:v0781pA7E8*
- ID_PRODUCT_FROM_DATABASE=SDDR-113 MicroMate SDHC Reader
-
-usb:v0781pB2B3*
- ID_PRODUCT_FROM_DATABASE=SDDR-103 MobileMate SD+ Reader
-
-usb:v0781pB4B5*
- ID_PRODUCT_FROM_DATABASE=SDDR-89 V4 ImageMate 12-in-1 Reader
-
-usb:v0782*
- ID_VENDOR_FROM_DATABASE=Trackerball
-
-usb:v0783*
- ID_VENDOR_FROM_DATABASE=C3PO
-
-usb:v0783p0003*
- ID_PRODUCT_FROM_DATABASE=LTC31 SmartCard Reader
-
-usb:v0783p0006*
- ID_PRODUCT_FROM_DATABASE=LTC31v2
-
-usb:v0783p0009*
- ID_PRODUCT_FROM_DATABASE=KBR36
-
-usb:v0783p0010*
- ID_PRODUCT_FROM_DATABASE=LTC32
-
-usb:v0784*
- ID_VENDOR_FROM_DATABASE=Vivitar, Inc.
-
-usb:v0784p0100*
- ID_PRODUCT_FROM_DATABASE=Vivicam 2655
-
-usb:v0784p1310*
- ID_PRODUCT_FROM_DATABASE=Vivicam 3305
-
-usb:v0784p1688*
- ID_PRODUCT_FROM_DATABASE=Vivicam 3665
-
-usb:v0784p1689*
- ID_PRODUCT_FROM_DATABASE=Gateway DC-M42/Labtec DC-505/Vivitar Vivicam 3705
-
-usb:v0784p2620*
- ID_PRODUCT_FROM_DATABASE=AOL Photocam Plus
-
-usb:v0784p2888*
- ID_PRODUCT_FROM_DATABASE=Polaroid DC700
-
-usb:v0784p3330*
- ID_PRODUCT_FROM_DATABASE=Nytec ND-3200 Camera
-
-usb:v0784p4300*
- ID_PRODUCT_FROM_DATABASE=Traveler D1
-
-usb:v0784p5260*
- ID_PRODUCT_FROM_DATABASE=Werlisa Sport PX 100 / JVC GC-A33 Camera
-
-usb:v0784p5300*
- ID_PRODUCT_FROM_DATABASE=Pretec dc530
-
-usb:v0785*
- ID_VENDOR_FROM_DATABASE=NTT-ME
-
-usb:v0785p0001*
- ID_PRODUCT_FROM_DATABASE=MN128mini-V ISDN TA
-
-usb:v0785p0003*
- ID_PRODUCT_FROM_DATABASE=MN128mini-J ISDN TA
-
-usb:v0789*
- ID_VENDOR_FROM_DATABASE=Logitec Corp.
-
-usb:v0789p0026*
- ID_PRODUCT_FROM_DATABASE=LHD Device
-
-usb:v0789p0033*
- ID_PRODUCT_FROM_DATABASE=DVD Multi-plus unit LDR-H443SU2
-
-usb:v0789p0063*
- ID_PRODUCT_FROM_DATABASE=LDR Device
-
-usb:v0789p0064*
- ID_PRODUCT_FROM_DATABASE=LDR-R Device
-
-usb:v0789p00B3*
- ID_PRODUCT_FROM_DATABASE=DVD Multi-plus unit LDR-H443U2
-
-usb:v0789p0105*
- ID_PRODUCT_FROM_DATABASE=LAN-TX/U1H2 10/100 Ethernet Adapter [pegasus II]
-
-usb:v0789p010C*
- ID_PRODUCT_FROM_DATABASE=Realtek RTL8187 Wireless 802.11g 54Mbps Network Adapter
-
-usb:v0789p0160*
- ID_PRODUCT_FROM_DATABASE=LAN-GTJ/U2A
-
-usb:v0789p0162*
- ID_PRODUCT_FROM_DATABASE=LAN-WN22/U2 Wireless LAN Adapter
-
-usb:v0789p0163*
- ID_PRODUCT_FROM_DATABASE=LAN-WN12/U2 Wireless LAN Adapter
-
-usb:v0789p0164*
- ID_PRODUCT_FROM_DATABASE=LAN-W150/U2M Wireless LAN Adapter
-
-usb:v0789p0166*
- ID_PRODUCT_FROM_DATABASE=LAN-W300N/U2 Wireless LAN Adapter
-
-usb:v0789p0168*
- ID_PRODUCT_FROM_DATABASE=LAN-W150N/U2 Wireless LAN Adapter
-
-usb:v0789p0170*
- ID_PRODUCT_FROM_DATABASE=LAN-W300AN/U2 Wireless LAN Adapter
-
-usb:v078B*
- ID_VENDOR_FROM_DATABASE=Happ Controls, Inc.
-
-usb:v078Bp0010*
- ID_PRODUCT_FROM_DATABASE=Driving UGCI
-
-usb:v078Bp0020*
- ID_PRODUCT_FROM_DATABASE=Flying UGCI
-
-usb:v078Bp0030*
- ID_PRODUCT_FROM_DATABASE=Fighting UGCI
-
-usb:v078C*
- ID_VENDOR_FROM_DATABASE=GTCO/CalComp
-
-usb:v078Cp0090*
- ID_PRODUCT_FROM_DATABASE=Tablet Adapter
-
-usb:v078Cp0100*
- ID_PRODUCT_FROM_DATABASE=Tablet Adapter
-
-usb:v078Cp0200*
- ID_PRODUCT_FROM_DATABASE=Tablet Adapter
-
-usb:v078Cp0300*
- ID_PRODUCT_FROM_DATABASE=Tablet Adapter
-
-usb:v078Cp0400*
- ID_PRODUCT_FROM_DATABASE=Digitizer (Whiteboard)
-
-usb:v078E*
- ID_VENDOR_FROM_DATABASE=Brincom, Inc.
-
-usb:v0790*
- ID_VENDOR_FROM_DATABASE=Pro-Image Manufacturing Co., Ltd
-
-usb:v0791*
- ID_VENDOR_FROM_DATABASE=Copartner Wire and Cable Mfg. Corp.
-
-usb:v0792*
- ID_VENDOR_FROM_DATABASE=Axis Communications AB
-
-usb:v0793*
- ID_VENDOR_FROM_DATABASE=Wha Yu Industrial Co., Ltd
-
-usb:v0794*
- ID_VENDOR_FROM_DATABASE=ABL Electronics Corp.
-
-usb:v0795*
- ID_VENDOR_FROM_DATABASE=RealChip, Inc.
-
-usb:v0796*
- ID_VENDOR_FROM_DATABASE=Certicom Corp.
-
-usb:v0797*
- ID_VENDOR_FROM_DATABASE=Grandtech Semiconductor Corp.
-
-usb:v0797p6801*
- ID_PRODUCT_FROM_DATABASE=Flatbed Scanner
-
-usb:v0797p6802*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v0797p8001*
- ID_PRODUCT_FROM_DATABASE=SmartCam
-
-usb:v0797p801A*
- ID_PRODUCT_FROM_DATABASE=Typhoon StyloCam
-
-usb:v0797p801C*
- ID_PRODUCT_FROM_DATABASE=Meade Binoculars/Camera
-
-usb:v0797p8901*
- ID_PRODUCT_FROM_DATABASE=ScanHex SX-35a
-
-usb:v0797p8909*
- ID_PRODUCT_FROM_DATABASE=ScanHex SX-35b
-
-usb:v0797p8911*
- ID_PRODUCT_FROM_DATABASE=ScanHex SX-35c
-
-usb:v0798*
- ID_VENDOR_FROM_DATABASE=Optelec
-
-usb:v0798p0001*
- ID_PRODUCT_FROM_DATABASE=Braille Voyager
-
-usb:v0799*
- ID_VENDOR_FROM_DATABASE=Altera
-
-usb:v0799p7651*
- ID_PRODUCT_FROM_DATABASE=Programming Unit
-
-usb:v079B*
- ID_VENDOR_FROM_DATABASE=Sagem
-
-usb:v079Bp0027*
- ID_PRODUCT_FROM_DATABASE=USB-Serial Controller
-
-usb:v079Bp002F*
- ID_PRODUCT_FROM_DATABASE=Mobile
-
-usb:v079Bp0030*
- ID_PRODUCT_FROM_DATABASE=Mobile Communication Device
-
-usb:v079Bp0042*
- ID_PRODUCT_FROM_DATABASE=Mobile
-
-usb:v079Bp004A*
- ID_PRODUCT_FROM_DATABASE=XG-760A 802.11bg
-
-usb:v079Bp004B*
- ID_PRODUCT_FROM_DATABASE=Wi-Fi 11g adapter
-
-usb:v079Bp0056*
- ID_PRODUCT_FROM_DATABASE=Agfa AP1100 Photo Printer
-
-usb:v079Bp005D*
- ID_PRODUCT_FROM_DATABASE=Mobile Mass Storage
-
-usb:v079Bp0062*
- ID_PRODUCT_FROM_DATABASE=XG-76NA 802.11bg
-
-usb:v079Bp0078*
- ID_PRODUCT_FROM_DATABASE=Laser Pro Monochrome MFP
-
-usb:v079D*
- ID_VENDOR_FROM_DATABASE=Alfadata Computer Corp.
-
-usb:v079Dp0201*
- ID_PRODUCT_FROM_DATABASE=GamePort Adapter
-
-usb:v07A1*
- ID_VENDOR_FROM_DATABASE=Digicom S.p.A.
-
-usb:v07A1pD952*
- ID_PRODUCT_FROM_DATABASE=Palladio USB V.92 Modem
-
-usb:v07A2*
- ID_VENDOR_FROM_DATABASE=National Technical Systems
-
-usb:v07A3*
- ID_VENDOR_FROM_DATABASE=Onnto Corp.
-
-usb:v07A4*
- ID_VENDOR_FROM_DATABASE=Be, Inc.
-
-usb:v07A6*
- ID_VENDOR_FROM_DATABASE=ADMtek, Inc.
-
-usb:v07A6p07C2*
- ID_PRODUCT_FROM_DATABASE=AN986A Ethernet
-
-usb:v07A6p0986*
- ID_PRODUCT_FROM_DATABASE=AN986 Pegasus Ethernet
-
-usb:v07A6p8266*
- ID_PRODUCT_FROM_DATABASE=Infineon WildCard-USB Wireless LAN Adapter
-
-usb:v07A6p8511*
- ID_PRODUCT_FROM_DATABASE=ADM8511 Pegasus II Ethernet
-
-usb:v07A6p8513*
- ID_PRODUCT_FROM_DATABASE=AN8513 Ethernet
-
-usb:v07A6p8515*
- ID_PRODUCT_FROM_DATABASE=AN8515 Ethernet
-
-usb:v07AA*
- ID_VENDOR_FROM_DATABASE=Corega K.K.
-
-usb:v07AAp0001*
- ID_PRODUCT_FROM_DATABASE=Ether USB-T Ethernet [klsi]
-
-usb:v07AAp0004*
- ID_PRODUCT_FROM_DATABASE=FEther USB-TX Ethernet [pegasus]
-
-usb:v07AAp000C*
- ID_PRODUCT_FROM_DATABASE=WirelessLAN USB-11
-
-usb:v07AAp000D*
- ID_PRODUCT_FROM_DATABASE=FEther USB-TXS
-
-usb:v07AAp0011*
- ID_PRODUCT_FROM_DATABASE=Wireless LAN USB-11 mini
-
-usb:v07AAp0012*
- ID_PRODUCT_FROM_DATABASE=Stick-11 802.11b Adapter
-
-usb:v07AAp0017*
- ID_PRODUCT_FROM_DATABASE=FEther USB2-TX
-
-usb:v07AAp0018*
- ID_PRODUCT_FROM_DATABASE=Wireless LAN USB-11 mini 2
-
-usb:v07AAp001A*
- ID_PRODUCT_FROM_DATABASE=ULUSB-11 Key
-
-usb:v07AAp001C*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSB2GTST 802.11g Wireless Adapter [Intersil ISL3887]
-
-usb:v07AAp002E*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSB2GPX [Ralink RT2571W]
-
-usb:v07AAp002F*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSB2GNL
-
-usb:v07AAp0031*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSB2GS 802.11bg [Atheros AR5523]
-
-usb:v07AAp003C*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSB2GNL
-
-usb:v07AAp003F*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSB300AGN
-
-usb:v07AAp0041*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSB300GNS
-
-usb:v07AAp0042*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSB300GNM
-
-usb:v07AAp0043*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSB300N rev A2 [Realtek RTL8192U]
-
-usb:v07AAp0047*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSBNM
-
-usb:v07AAp0051*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSB300NM
-
-usb:v07AAp7613*
- ID_PRODUCT_FROM_DATABASE=Stick-11 V2 802.11b Adapter
-
-usb:v07AAp9601*
- ID_PRODUCT_FROM_DATABASE=FEther USB-TXC
-
-usb:v07AB*
- ID_VENDOR_FROM_DATABASE=Freecom Technologies
-
-usb:v07ABpFC01*
- ID_PRODUCT_FROM_DATABASE=IDE bridge
-
-usb:v07ABpFC02*
- ID_PRODUCT_FROM_DATABASE=Cable II USB-2
-
-usb:v07ABpFC03*
- ID_PRODUCT_FROM_DATABASE=USB2-IDE IDE bridge
-
-usb:v07ABpFCD6*
- ID_PRODUCT_FROM_DATABASE=Freecom HD Classic
-
-usb:v07ABpFCF6*
- ID_PRODUCT_FROM_DATABASE=DataBar 512 MB
-
-usb:v07ABpFCF8*
- ID_PRODUCT_FROM_DATABASE=Freecom Classic SL Network Drive
-
-usb:v07ABpFCFE*
- ID_PRODUCT_FROM_DATABASE=Hard Drive 80GB
-
-usb:v07AF*
- ID_VENDOR_FROM_DATABASE=Microtech
-
-usb:v07AFp0004*
- ID_PRODUCT_FROM_DATABASE=SCSI-DB25 SCSI Bridge [shuttle]
-
-usb:v07AFp0005*
- ID_PRODUCT_FROM_DATABASE=SCSI-HD50 SCSI Bridge [shuttle]
-
-usb:v07AFp0006*
- ID_PRODUCT_FROM_DATABASE=CameraMate SmartMedia and CompactFlash Card Reader [eusb/shuttle]
-
-usb:v07AFpFC01*
- ID_PRODUCT_FROM_DATABASE=Freecom USB-IDE
-
-usb:v07B0*
- ID_VENDOR_FROM_DATABASE=Trust Technologies
-
-usb:v07B0p0001*
- ID_PRODUCT_FROM_DATABASE=ISDN TA
-
-usb:v07B0p0002*
- ID_PRODUCT_FROM_DATABASE=ISDN TA128 Plus
-
-usb:v07B0p0003*
- ID_PRODUCT_FROM_DATABASE=ISDN TA128 Deluxe
-
-usb:v07B0p0005*
- ID_PRODUCT_FROM_DATABASE=ISDN TA128 SE
-
-usb:v07B0p0006*
- ID_PRODUCT_FROM_DATABASE=ISDN TA128 CE
-
-usb:v07B0p0007*
- ID_PRODUCT_FROM_DATABASE=ISDN TA
-
-usb:v07B0p0008*
- ID_PRODUCT_FROM_DATABASE=ISDN TA
-
-usb:v07B1*
- ID_VENDOR_FROM_DATABASE=IMP, Inc.
-
-usb:v07B2*
- ID_VENDOR_FROM_DATABASE=Motorola BCS, Inc.
-
-usb:v07B2p0100*
- ID_PRODUCT_FROM_DATABASE=SURFboard Voice over IP Cable Modem
-
-usb:v07B2p0900*
- ID_PRODUCT_FROM_DATABASE=SURFboard Gateway
-
-usb:v07B2p0950*
- ID_PRODUCT_FROM_DATABASE=SURFboard SBG950 Gateway
-
-usb:v07B2p1000*
- ID_PRODUCT_FROM_DATABASE=SURFboard SBG1000 Gateway
-
-usb:v07B2p4100*
- ID_PRODUCT_FROM_DATABASE=SurfBoard SB4100 Cable Modem
-
-usb:v07B2p4200*
- ID_PRODUCT_FROM_DATABASE=SurfBoard SB4200 Cable Modem
-
-usb:v07B2p4210*
- ID_PRODUCT_FROM_DATABASE=SurfBoard 4210 Cable Modem
-
-usb:v07B2p4220*
- ID_PRODUCT_FROM_DATABASE=SURFboard SB4220 Cable Modem
-
-usb:v07B2p4500*
- ID_PRODUCT_FROM_DATABASE=CG4500 Communications Gateway
-
-usb:v07B2p450B*
- ID_PRODUCT_FROM_DATABASE=CG4501 Communications Gateway
-
-usb:v07B2p450E*
- ID_PRODUCT_FROM_DATABASE=CG4500E Communications Gateway
-
-usb:v07B2p5100*
- ID_PRODUCT_FROM_DATABASE=SurfBoard SB5100 Cable Modem
-
-usb:v07B2p5101*
- ID_PRODUCT_FROM_DATABASE=SurfBoard SB5101 Cable Modem
-
-usb:v07B2p5120*
- ID_PRODUCT_FROM_DATABASE=SurfBoard SB5120 Cable Modem (RNDIS)
-
-usb:v07B2p5121*
- ID_PRODUCT_FROM_DATABASE=Surfboard 5121 Cable Modem
-
-usb:v07B2p7030*
- ID_PRODUCT_FROM_DATABASE=WU830G 802.11bg Wireless Adapter [Envara WiND512]
-
-usb:v07B3*
- ID_VENDOR_FROM_DATABASE=Plustek, Inc.
-
-usb:v07B3p0001*
- ID_PRODUCT_FROM_DATABASE=OpticPro 1212U Scanner
-
-usb:v07B3p0003*
- ID_PRODUCT_FROM_DATABASE=Scanner
-
-usb:v07B3p0010*
- ID_PRODUCT_FROM_DATABASE=OpticPro U12 Scanner
-
-usb:v07B3p0011*
- ID_PRODUCT_FROM_DATABASE=OpticPro U24 Scanner
-
-usb:v07B3p0013*
- ID_PRODUCT_FROM_DATABASE=OpticPro UT12 Scanner
-
-usb:v07B3p0014*
- ID_PRODUCT_FROM_DATABASE=Scanner
-
-usb:v07B3p0015*
- ID_PRODUCT_FROM_DATABASE=OpticPro U24 Scanner
-
-usb:v07B3p0017*
- ID_PRODUCT_FROM_DATABASE=OpticPro UT12/16/24 Scanner
-
-usb:v07B3p0204*
- ID_PRODUCT_FROM_DATABASE=Scanner
-
-usb:v07B3p0400*
- ID_PRODUCT_FROM_DATABASE=OpticPro 1248U Scanner
-
-usb:v07B3p0401*
- ID_PRODUCT_FROM_DATABASE=OpticPro 1248U Scanner #2
-
-usb:v07B3p0403*
- ID_PRODUCT_FROM_DATABASE=OpticPro U16B Scanner
-
-usb:v07B3p0404*
- ID_PRODUCT_FROM_DATABASE=Scanner
-
-usb:v07B3p0405*
- ID_PRODUCT_FROM_DATABASE=A8 Namecard-s Controller
-
-usb:v07B3p0406*
- ID_PRODUCT_FROM_DATABASE=A8 Namecard-D Controller
-
-usb:v07B3p0410*
- ID_PRODUCT_FROM_DATABASE=Scanner
-
-usb:v07B3p0412*
- ID_PRODUCT_FROM_DATABASE=Scanner
-
-usb:v07B3p0413*
- ID_PRODUCT_FROM_DATABASE=OpticSlim 1200 Scanner
-
-usb:v07B3p0601*
- ID_PRODUCT_FROM_DATABASE=OpticPro ST24 Scanner
-
-usb:v07B3p0800*
- ID_PRODUCT_FROM_DATABASE=OpticPro ST48 Scanner
-
-usb:v07B3p0906*
- ID_PRODUCT_FROM_DATABASE=OpticBook 3600 Scanner
-
-usb:v07B3p0A06*
- ID_PRODUCT_FROM_DATABASE=TVcam VD100
-
-usb:v07B3p0B00*
- ID_PRODUCT_FROM_DATABASE=SmartPhoto F50
-
-usb:v07B3p0C03*
- ID_PRODUCT_FROM_DATABASE=OpticPro ST64+ Scanner
-
-usb:v07B3p0C04*
- ID_PRODUCT_FROM_DATABASE=Optic Film 7200i scanner
-
-usb:v07B3p0C0C*
- ID_PRODUCT_FROM_DATABASE=PL806 Scanner
-
-usb:v07B3p0C26*
- ID_PRODUCT_FROM_DATABASE=OpticBook 4600 Scanner
-
-usb:v07B3p0C2B*
- ID_PRODUCT_FROM_DATABASE=Mobile Office D428 Scanner
-
-usb:v07B4*
- ID_VENDOR_FROM_DATABASE=Olympus Optical Co., Ltd
-
-usb:v07B4p0100*
- ID_PRODUCT_FROM_DATABASE=Camedia C-2100/C-3000 Ultra Zoom Camera
-
-usb:v07B4p0102*
- ID_PRODUCT_FROM_DATABASE=Camedia E-10/C-220/C-50 Camera
-
-usb:v07B4p0105*
- ID_PRODUCT_FROM_DATABASE=Camedia C-310Z/C-700/C-750UZ/C-755/C-765UZ/C-3040/C-4000/C-5050Z/D-560/C-3020Z Zoom Camera
-
-usb:v07B4p0109*
- ID_PRODUCT_FROM_DATABASE=C-370Z/C-500Z/D-535Z/X-450
-
-usb:v07B4p010A*
- ID_PRODUCT_FROM_DATABASE=MAUSB-10 xD and SmartMedia Card Reader
-
-usb:v07B4p0112*
- ID_PRODUCT_FROM_DATABASE=MAUSB-100 xD Card Reader
-
-usb:v07B4p0113*
- ID_PRODUCT_FROM_DATABASE=Mju 500
-
-usb:v07B4p0114*
- ID_PRODUCT_FROM_DATABASE=C-350Z Camera
-
-usb:v07B4p0118*
- ID_PRODUCT_FROM_DATABASE=Mju Mini Digital/Mju Digital 500 Camera / Stylus 850 SW
-
-usb:v07B4p0184*
- ID_PRODUCT_FROM_DATABASE=P-S100 port
-
-usb:v07B4p0203*
- ID_PRODUCT_FROM_DATABASE=Digital Voice Recorder DW-90
-
-usb:v07B4p0206*
- ID_PRODUCT_FROM_DATABASE=Digital Voice Recorder DS-330
-
-usb:v07B4p0207*
- ID_PRODUCT_FROM_DATABASE=Digital Voice Recorder & Camera W-10
-
-usb:v07B4p0209*
- ID_PRODUCT_FROM_DATABASE=Digital Voice Recorder DM-20
-
-usb:v07B4p020D*
- ID_PRODUCT_FROM_DATABASE=Digital Voice Recorder VN-240PC
-
-usb:v07B4p0244*
- ID_PRODUCT_FROM_DATABASE=Digital Voice Recorder VN-8500PC
-
-usb:v07B4p0280*
- ID_PRODUCT_FROM_DATABASE=m:robe 100
-
-usb:v07B5*
- ID_VENDOR_FROM_DATABASE=Mega World International, Ltd
-
-usb:v07B5p0017*
- ID_PRODUCT_FROM_DATABASE=Joystick
-
-usb:v07B5p0213*
- ID_PRODUCT_FROM_DATABASE=Thrustmaster Firestorm Digital 3 Gamepad
-
-usb:v07B5p0312*
- ID_PRODUCT_FROM_DATABASE=Gamepad
-
-usb:v07B5p9902*
- ID_PRODUCT_FROM_DATABASE=GamePad
-
-usb:v07B6*
- ID_VENDOR_FROM_DATABASE=Marubun Corp.
-
-usb:v07B7*
- ID_VENDOR_FROM_DATABASE=TIME Interconnect, Ltd
-
-usb:v07B8*
- ID_VENDOR_FROM_DATABASE=AboCom Systems Inc
-
-usb:v07B8p110C*
- ID_PRODUCT_FROM_DATABASE=XX1
-
-usb:v07B8p1201*
- ID_PRODUCT_FROM_DATABASE=IEEE 802.11b Adapter
-
-usb:v07B8p200C*
- ID_PRODUCT_FROM_DATABASE=XX2
-
-usb:v07B8p2573*
- ID_PRODUCT_FROM_DATABASE=Wireless LAN Card
-
-usb:v07B8p2770*
- ID_PRODUCT_FROM_DATABASE=802.11n/b/g Mini Wireless LAN USB2.0 Adapter
-
-usb:v07B8p2870*
- ID_PRODUCT_FROM_DATABASE=802.11n/b/g Wireless LAN USB2.0 Adapter
-
-usb:v07B8p3070*
- ID_PRODUCT_FROM_DATABASE=802.11n/b/g Mini Wireless LAN USB2.0 Adapter
-
-usb:v07B8p3071*
- ID_PRODUCT_FROM_DATABASE=802.11n/b/g Mini Wireless LAN USB2.0 Adapter
-
-usb:v07B8p3072*
- ID_PRODUCT_FROM_DATABASE=802.11n/b/g Mini Wireless LAN USB2.0 Adapter
-
-usb:v07B8p4000*
- ID_PRODUCT_FROM_DATABASE=DU-E10 Ethernet [klsi]
-
-usb:v07B8p4002*
- ID_PRODUCT_FROM_DATABASE=DU-E100 Ethernet [pegasus]
-
-usb:v07B8p4003*
- ID_PRODUCT_FROM_DATABASE=1/10/100 Ethernet Adapter
-
-usb:v07B8p4004*
- ID_PRODUCT_FROM_DATABASE=XX4
-
-usb:v07B8p4007*
- ID_PRODUCT_FROM_DATABASE=XX5
-
-usb:v07B8p400B*
- ID_PRODUCT_FROM_DATABASE=XX6
-
-usb:v07B8p400C*
- ID_PRODUCT_FROM_DATABASE=XX7
-
-usb:v07B8p401A*
- ID_PRODUCT_FROM_DATABASE=RTL8151
-
-usb:v07B8p4102*
- ID_PRODUCT_FROM_DATABASE=USB 1.1 10/100M Fast Ethernet Adapter
-
-usb:v07B8p4104*
- ID_PRODUCT_FROM_DATABASE=XX9
-
-usb:v07B8p420A*
- ID_PRODUCT_FROM_DATABASE=UF200 Ethernet
-
-usb:v07B8p5301*
- ID_PRODUCT_FROM_DATABASE=GW-US54ZGL 802.11bg
-
-usb:v07B8p6001*
- ID_PRODUCT_FROM_DATABASE=802.11bg
-
-usb:v07B8pA001*
- ID_PRODUCT_FROM_DATABASE=WUG2200 802.11g Wireless Adapter [Envara WiND512]
-
-usb:v07B8pABC1*
- ID_PRODUCT_FROM_DATABASE=DU-E10 Ethernet [pegasus]
-
-usb:v07B8pB000*
- ID_PRODUCT_FROM_DATABASE=BWU613
-
-usb:v07B8pB02A*
- ID_PRODUCT_FROM_DATABASE=AboCom Bluetooth Device
-
-usb:v07B8pB02B*
- ID_PRODUCT_FROM_DATABASE=Bluetooth dongle
-
-usb:v07B8pB02C*
- ID_PRODUCT_FROM_DATABASE=BCM92045DG-Flash with trace filter
-
-usb:v07B8pB02D*
- ID_PRODUCT_FROM_DATABASE=BCM92045DG-Flash with trace filter
-
-usb:v07B8pB02E*
- ID_PRODUCT_FROM_DATABASE=BCM92045DG-Flash with trace filter
-
-usb:v07B8pB030*
- ID_PRODUCT_FROM_DATABASE=BCM92045DG-Flash with trace filter
-
-usb:v07B8pB031*
- ID_PRODUCT_FROM_DATABASE=BCM92045DG-Flash with trace filter
-
-usb:v07B8pB032*
- ID_PRODUCT_FROM_DATABASE=BCM92045DG-Flash with trace filter
-
-usb:v07B8pB033*
- ID_PRODUCT_FROM_DATABASE=BCM92045DG-Flash with trace filter
-
-usb:v07B8pB21A*
- ID_PRODUCT_FROM_DATABASE=WUG2400 802.11g Wireless Adapter [Texas Instruments TNETW1450]
-
-usb:v07B8pB21B*
- ID_PRODUCT_FROM_DATABASE=HWU54DM
-
-usb:v07B8pB21C*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v07B8pB21D*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v07B8pB21E*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v07B8pB21F*
- ID_PRODUCT_FROM_DATABASE=WUG2700
-
-usb:v07B8pD011*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v07B8pE001*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v07B8pE002*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v07B8pE003*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v07B8pE004*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v07B8pE005*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v07B8pE006*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v07B8pE007*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v07B8pE008*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v07B8pE009*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v07B8pE00A*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v07B8pE4F0*
- ID_PRODUCT_FROM_DATABASE=Card Reader Driver
-
-usb:v07B8pF101*
- ID_PRODUCT_FROM_DATABASE=DSB-560 Modem [atlas]
-
-usb:v07BC*
- ID_VENDOR_FROM_DATABASE=Canon Computer Systems, Inc.
-
-usb:v07BD*
- ID_VENDOR_FROM_DATABASE=Webgear, Inc.
-
-usb:v07BE*
- ID_VENDOR_FROM_DATABASE=Veridicom
-
-usb:v07C0*
- ID_VENDOR_FROM_DATABASE=Code Mercenaries Hard- und Software GmbH
-
-usb:v07C0p1113*
- ID_PRODUCT_FROM_DATABASE=JoyWarrior24F8
-
-usb:v07C0p1116*
- ID_PRODUCT_FROM_DATABASE=JoyWarrior24F14
-
-usb:v07C0p1121*
- ID_PRODUCT_FROM_DATABASE=The Claw
-
-usb:v07C0p1500*
- ID_PRODUCT_FROM_DATABASE=IO-Warrior 40
-
-usb:v07C0p1501*
- ID_PRODUCT_FROM_DATABASE=IO-Warrior 24
-
-usb:v07C0p1502*
- ID_PRODUCT_FROM_DATABASE=IO-Warrior 48
-
-usb:v07C0p1503*
- ID_PRODUCT_FROM_DATABASE=IO-Warrior 28
-
-usb:v07C0p1511*
- ID_PRODUCT_FROM_DATABASE=IO-Warrior 24 Power Vampire
-
-usb:v07C0p1512*
- ID_PRODUCT_FROM_DATABASE=IO-Warrior 24 Power Vampire
-
-usb:v07C1*
- ID_VENDOR_FROM_DATABASE=Keisokugiken
-
-usb:v07C1p0068*
- ID_PRODUCT_FROM_DATABASE=HKS-0200 USBDAQ
-
-usb:v07C4*
- ID_VENDOR_FROM_DATABASE=Datafab Systems, Inc.
-
-usb:v07C4p0102*
- ID_PRODUCT_FROM_DATABASE=USB to LS120
-
-usb:v07C4p0103*
- ID_PRODUCT_FROM_DATABASE=USB to IDE
-
-usb:v07C4p1234*
- ID_PRODUCT_FROM_DATABASE=USB to ATAPI
-
-usb:v07C4pA000*
- ID_PRODUCT_FROM_DATABASE=CompactFlash Card Reader
-
-usb:v07C4pA001*
- ID_PRODUCT_FROM_DATABASE=CompactFlash & SmartMedia Card Reader [eusb]
-
-usb:v07C4pA002*
- ID_PRODUCT_FROM_DATABASE=Disk Drive
-
-usb:v07C4pA003*
- ID_PRODUCT_FROM_DATABASE=Datafab-based Reader
-
-usb:v07C4pA004*
- ID_PRODUCT_FROM_DATABASE=USB to MMC Class Drive
-
-usb:v07C4pA005*
- ID_PRODUCT_FROM_DATABASE=CompactFlash & SmartMedia Card Reader
-
-usb:v07C4pA006*
- ID_PRODUCT_FROM_DATABASE=SmartMedia Card Reader
-
-usb:v07C4pA007*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Class Drive
-
-usb:v07C4pA103*
- ID_PRODUCT_FROM_DATABASE=MDSM-B reader
-
-usb:v07C4pA107*
- ID_PRODUCT_FROM_DATABASE=USB to Memory Stick (LC1) Drive
-
-usb:v07C4pA109*
- ID_PRODUCT_FROM_DATABASE=LC1 CompactFlash & SmartMedia Card Reader
-
-usb:v07C4pA10B*
- ID_PRODUCT_FROM_DATABASE=USB to CF+MS(LC1)
-
-usb:v07C4pA200*
- ID_PRODUCT_FROM_DATABASE=DF-UT-06 Hama MMC/SD Reader
-
-usb:v07C4pA400*
- ID_PRODUCT_FROM_DATABASE=CompactFlash & Microdrive Reader
-
-usb:v07C4pA600*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v07C4pAD01*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v07C4pAE01*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v07C4pAF01*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v07C4pB000*
- ID_PRODUCT_FROM_DATABASE=USB to CF(LC1)
-
-usb:v07C4pB001*
- ID_PRODUCT_FROM_DATABASE=USB to CF+PCMCIA
-
-usb:v07C4pB004*
- ID_PRODUCT_FROM_DATABASE=MMC/SD Reader
-
-usb:v07C4pB006*
- ID_PRODUCT_FROM_DATABASE=USB to PCMCIA
-
-usb:v07C4pB00A*
- ID_PRODUCT_FROM_DATABASE=USB to CF+SD Drive(LC1)
-
-usb:v07C4pB00B*
- ID_PRODUCT_FROM_DATABASE=USB to Memory Stick(LC1)
-
-usb:v07C5*
- ID_VENDOR_FROM_DATABASE=APG Cash Drawer
-
-usb:v07C6*
- ID_VENDOR_FROM_DATABASE=ShareWave, Inc.
-
-usb:v07C6p0002*
- ID_PRODUCT_FROM_DATABASE=Bodega Wireless Access Point
-
-usb:v07C6p0003*
- ID_PRODUCT_FROM_DATABASE=Bodega Wireless Network Adapter
-
-usb:v07C7*
- ID_VENDOR_FROM_DATABASE=Powertech Industrial Co., Ltd
-
-usb:v07C8*
- ID_VENDOR_FROM_DATABASE=B.U.G., Inc.
-
-usb:v07C8p0202*
- ID_PRODUCT_FROM_DATABASE=MN128-SOHO PAL
-
-usb:v07C9*
- ID_VENDOR_FROM_DATABASE=Allied Telesyn International
-
-usb:v07C9pB100*
- ID_PRODUCT_FROM_DATABASE=AT-USB100
-
-usb:v07CA*
- ID_VENDOR_FROM_DATABASE=AVerMedia Technologies, Inc.
-
-usb:v07CAp0002*
- ID_PRODUCT_FROM_DATABASE=AVerTV PVR USB/EZMaker Pro Device
-
-usb:v07CAp0026*
- ID_PRODUCT_FROM_DATABASE=AVerTV
-
-usb:v07CAp0337*
- ID_PRODUCT_FROM_DATABASE=A867 DVB-T dongle
-
-usb:v07CAp0837*
- ID_PRODUCT_FROM_DATABASE=H837 Hybrid ATSC/QAM
-
-usb:v07CAp1228*
- ID_PRODUCT_FROM_DATABASE=MPEG-2 Capture Device (M038)
-
-usb:v07CAp1830*
- ID_PRODUCT_FROM_DATABASE=AVerTV Volar Video Capture (H830)
-
-usb:v07CAp3835*
- ID_PRODUCT_FROM_DATABASE=AVerTV Volar Green HD (A835B)
-
-usb:v07CAp850A*
- ID_PRODUCT_FROM_DATABASE=AverTV Volar Black HD (A850)
-
-usb:v07CAp850B*
- ID_PRODUCT_FROM_DATABASE=AverTV Red HD+ (A850T)
-
-usb:v07CApA309*
- ID_PRODUCT_FROM_DATABASE=AVerTV DVB-T (A309)
-
-usb:v07CApA801*
- ID_PRODUCT_FROM_DATABASE=AVerTV DVB-T (A800)
-
-usb:v07CApA815*
- ID_PRODUCT_FROM_DATABASE=AVerTV DVB-T Volar X (A815)
-
-usb:v07CApA867*
- ID_PRODUCT_FROM_DATABASE=AVerTV DVB-T (A867)
-
-usb:v07CApB800*
- ID_PRODUCT_FROM_DATABASE=MR800 FM Radio
-
-usb:v07CApE880*
- ID_PRODUCT_FROM_DATABASE=MPEG-2 Capture Device (E880)
-
-usb:v07CApE882*
- ID_PRODUCT_FROM_DATABASE=MPEG-2 Capture Device (E882)
-
-usb:v07CB*
- ID_VENDOR_FROM_DATABASE=Kingmax Technology, Inc.
-
-usb:v07CC*
- ID_VENDOR_FROM_DATABASE=Carry Computer Eng., Co., Ltd
-
-usb:v07CCp0000*
- ID_PRODUCT_FROM_DATABASE=CF Card Reader
-
-usb:v07CCp0001*
- ID_PRODUCT_FROM_DATABASE=Reader (UICSE)
-
-usb:v07CCp0002*
- ID_PRODUCT_FROM_DATABASE=Reader (UIS)
-
-usb:v07CCp0003*
- ID_PRODUCT_FROM_DATABASE=SM Card Reader
-
-usb:v07CCp0004*
- ID_PRODUCT_FROM_DATABASE=SM/CF/PCMCIA Card Reader
-
-usb:v07CCp0005*
- ID_PRODUCT_FROM_DATABASE=Reader (UISA2SE)
-
-usb:v07CCp0006*
- ID_PRODUCT_FROM_DATABASE=SM/CF/PCMCIA Card Reader
-
-usb:v07CCp0007*
- ID_PRODUCT_FROM_DATABASE=Reader (UISA6SE)
-
-usb:v07CCp000C*
- ID_PRODUCT_FROM_DATABASE=SM/CF Card Reader
-
-usb:v07CCp000D*
- ID_PRODUCT_FROM_DATABASE=SM/CF Card Reader
-
-usb:v07CCp000E*
- ID_PRODUCT_FROM_DATABASE=Reader (UISDA)
-
-usb:v07CCp000F*
- ID_PRODUCT_FROM_DATABASE=Reader (UICLIK)
-
-usb:v07CCp0010*
- ID_PRODUCT_FROM_DATABASE=Reader (UISMA)
-
-usb:v07CCp0012*
- ID_PRODUCT_FROM_DATABASE=Reader (UISC6SE-FLASH)
-
-usb:v07CCp0014*
- ID_PRODUCT_FROM_DATABASE=Litronic Fortezza Reader
-
-usb:v07CCp0030*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UISDMC12S)
-
-usb:v07CCp0040*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UISDMC13S)
-
-usb:v07CCp0100*
- ID_PRODUCT_FROM_DATABASE=Reader (UID)
-
-usb:v07CCp0101*
- ID_PRODUCT_FROM_DATABASE=Reader (UIM)
-
-usb:v07CCp0102*
- ID_PRODUCT_FROM_DATABASE=Reader (UISDMA)
-
-usb:v07CCp0103*
- ID_PRODUCT_FROM_DATABASE=Reader (UISDMC)
-
-usb:v07CCp0104*
- ID_PRODUCT_FROM_DATABASE=Reader (UISDM)
-
-usb:v07CCp0200*
- ID_PRODUCT_FROM_DATABASE=6-in-1 Card Reader
-
-usb:v07CCp0201*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UISDMC1S & UISDMC3S)
-
-usb:v07CCp0202*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UISDMC5S)
-
-usb:v07CCp0203*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UISMC5S)
-
-usb:v07CCp0204*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UIM4/5S & UIM7S)
-
-usb:v07CCp0205*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UIS4/5S & UIS7S)
-
-usb:v07CCp0206*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UISDMC10S & UISDMC11S)
-
-usb:v07CCp0207*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UPIDMA)
-
-usb:v07CCp0208*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UCFC II)
-
-usb:v07CCp0210*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UPIXXA)
-
-usb:v07CCp0213*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UPIDA)
-
-usb:v07CCp0214*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UPIMA)
-
-usb:v07CCp0215*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UPISA)
-
-usb:v07CCp0217*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UPISDMA)
-
-usb:v07CCp0223*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UCIDA)
-
-usb:v07CCp0224*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UCIMA)
-
-usb:v07CCp0225*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UIS7S)
-
-usb:v07CCp0227*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UCIDMA)
-
-usb:v07CCp0234*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UIM7S)
-
-usb:v07CCp0235*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UIS4S-S)
-
-usb:v07CCp0237*
- ID_PRODUCT_FROM_DATABASE=Velper (UISDMC4S)
-
-usb:v07CCp0300*
- ID_PRODUCT_FROM_DATABASE=6-in-1 Card Reader
-
-usb:v07CCp0301*
- ID_PRODUCT_FROM_DATABASE=6-in-1 Card Reader
-
-usb:v07CCp0303*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UID10W)
-
-usb:v07CCp0304*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UIM10W)
-
-usb:v07CCp0305*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UIS10W)
-
-usb:v07CCp0308*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UIC10W)
-
-usb:v07CCp0309*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UISC3W)
-
-usb:v07CCp0310*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UISDMA2W)
-
-usb:v07CCp0311*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UISDMC14W)
-
-usb:v07CCp0320*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UISDMC4W)
-
-usb:v07CCp0321*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UISDMC37W)
-
-usb:v07CCp0330*
- ID_PRODUCT_FROM_DATABASE=WINTERREADER Reader
-
-usb:v07CCp0350*
- ID_PRODUCT_FROM_DATABASE=9-in-1 Card Reader
-
-usb:v07CCp0500*
- ID_PRODUCT_FROM_DATABASE=Mass Storage
-
-usb:v07CCp0501*
- ID_PRODUCT_FROM_DATABASE=Mass Storage
-
-usb:v07CD*
- ID_VENDOR_FROM_DATABASE=Elektor
-
-usb:v07CDp0001*
- ID_PRODUCT_FROM_DATABASE=USBuart Serial Port
-
-usb:v07CF*
- ID_VENDOR_FROM_DATABASE=Casio Computer Co., Ltd
-
-usb:v07CFp1001*
- ID_PRODUCT_FROM_DATABASE=QV-8000SX/5700/3000EX Digicam; Exilim EX-M20
-
-usb:v07CFp1003*
- ID_PRODUCT_FROM_DATABASE=Exilim EX-S500
-
-usb:v07CFp1004*
- ID_PRODUCT_FROM_DATABASE=Exilim EX-Z120
-
-usb:v07CFp1011*
- ID_PRODUCT_FROM_DATABASE=USB-CASIO PC CAMERA
-
-usb:v07CFp1116*
- ID_PRODUCT_FROM_DATABASE=EXILIM EX-Z19
-
-usb:v07CFp1125*
- ID_PRODUCT_FROM_DATABASE=Exilim EX-H10 Digital Camera (mass storage mode)
-
-usb:v07CFp1133*
- ID_PRODUCT_FROM_DATABASE=Exilim EX-Z350 Digital Camera (mass storage mode)
-
-usb:v07CFp1225*
- ID_PRODUCT_FROM_DATABASE=Exilim EX-H10 Digital Camera (PictBridge mode)
-
-usb:v07CFp1233*
- ID_PRODUCT_FROM_DATABASE=Exilim EX-Z350 Digital Camera (PictBridge mode)
-
-usb:v07CFp2002*
- ID_PRODUCT_FROM_DATABASE=E-125 Cassiopeia Pocket PC
-
-usb:v07CFp3801*
- ID_PRODUCT_FROM_DATABASE=WMP-1 MP3-Watch
-
-usb:v07CFp4001*
- ID_PRODUCT_FROM_DATABASE=Label Printer KL-P1000
-
-usb:v07CFp4007*
- ID_PRODUCT_FROM_DATABASE=CW50 Device
-
-usb:v07CFp4104*
- ID_PRODUCT_FROM_DATABASE=Cw75 Device
-
-usb:v07CFp4107*
- ID_PRODUCT_FROM_DATABASE=CW-L300 Device
-
-usb:v07CFp4500*
- ID_PRODUCT_FROM_DATABASE=LV-20 Digital Camera
-
-usb:v07CFp6801*
- ID_PRODUCT_FROM_DATABASE=PL-40R
-
-usb:v07CFp6802*
- ID_PRODUCT_FROM_DATABASE=MIDI Keyboard
-
-usb:v07D0*
- ID_VENDOR_FROM_DATABASE=Dazzle
-
-usb:v07D0p0001*
- ID_PRODUCT_FROM_DATABASE=Digital Video Creator I
-
-usb:v07D0p0002*
- ID_PRODUCT_FROM_DATABASE=Global Village VideoFX Grabber
-
-usb:v07D0p0003*
- ID_PRODUCT_FROM_DATABASE=Fusion Model DVC-50 Rev 1 (NTSC)
-
-usb:v07D0p0004*
- ID_PRODUCT_FROM_DATABASE=DVC-800 (PAL) Grabber
-
-usb:v07D0p0005*
- ID_PRODUCT_FROM_DATABASE=Fusion Video and Audio Ports
-
-usb:v07D0p0006*
- ID_PRODUCT_FROM_DATABASE=DVC 150 Loader Device
-
-usb:v07D0p0007*
- ID_PRODUCT_FROM_DATABASE=DVC 150
-
-usb:v07D0p0327*
- ID_PRODUCT_FROM_DATABASE=Fusion Digital Media Reader
-
-usb:v07D0p1001*
- ID_PRODUCT_FROM_DATABASE=DM-FLEX DFU Adapter
-
-usb:v07D0p1002*
- ID_PRODUCT_FROM_DATABASE=DMHS2 DFU Adapter
-
-usb:v07D0p1102*
- ID_PRODUCT_FROM_DATABASE=CF Reader/Writer
-
-usb:v07D0p1103*
- ID_PRODUCT_FROM_DATABASE=SD Reader/Writer
-
-usb:v07D0p1104*
- ID_PRODUCT_FROM_DATABASE=SM Reader/Writer
-
-usb:v07D0p1105*
- ID_PRODUCT_FROM_DATABASE=MS Reader/Writer
-
-usb:v07D0p1106*
- ID_PRODUCT_FROM_DATABASE=xD/SM Reader/Writer
-
-usb:v07D0p1202*
- ID_PRODUCT_FROM_DATABASE=MultiSlot Reader/Writer
-
-usb:v07D0p2000*
- ID_PRODUCT_FROM_DATABASE=FX2 DFU Adapter
-
-usb:v07D0p2001*
- ID_PRODUCT_FROM_DATABASE=eUSB CompactFlash Reader
-
-usb:v07D0p4100*
- ID_PRODUCT_FROM_DATABASE=Kingsun SF-620 Infrared Adapter
-
-usb:v07D0p4101*
- ID_PRODUCT_FROM_DATABASE=Connectivity Cable (CA-42 clone)
-
-usb:v07D0p4959*
- ID_PRODUCT_FROM_DATABASE=Kingsun KS-959 Infrared Adapter
-
-usb:v07D1*
- ID_VENDOR_FROM_DATABASE=D-Link System
-
-usb:v07D1p13EC*
- ID_PRODUCT_FROM_DATABASE=VvBus for Helium 2xx
-
-usb:v07D1p13ED*
- ID_PRODUCT_FROM_DATABASE=VvBus for Helium 2xx
-
-usb:v07D1p13F1*
- ID_PRODUCT_FROM_DATABASE=DSL-302G Modem
-
-usb:v07D1p13F2*
- ID_PRODUCT_FROM_DATABASE=DSL-502G Router
-
-usb:v07D1p3300*
- ID_PRODUCT_FROM_DATABASE=DWA-130 802.11n Wireless N Adapter(rev.E) [Realtek RTL8191SU]
-
-usb:v07D1p3302*
- ID_PRODUCT_FROM_DATABASE=DWA-130 802.11n Wireless N Adapter(rev.C2) [Realtek RTL8191SU]
-
-usb:v07D1p3303*
- ID_PRODUCT_FROM_DATABASE=DWA-131 802.11n Wireless N Nano Adapter(rev.A1) [Realtek RTL8192SU]
-
-usb:v07D1p3304*
- ID_PRODUCT_FROM_DATABASE=FR-300USB 802.11bgn Wireless Adapter
-
-usb:v07D1p3A07*
- ID_PRODUCT_FROM_DATABASE=WUA-2340 RangeBooster G Adapter(rev.A) [Atheros AR5523]
-
-usb:v07D1p3A08*
- ID_PRODUCT_FROM_DATABASE=WUA-2340 RangeBooster G Adapter(rev.A) (no firmware) [Atheros AR5523]
-
-usb:v07D1p3A09*
- ID_PRODUCT_FROM_DATABASE=DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.A2) [Atheros AR9170+AR9104]
-
-usb:v07D1p3A0D*
- ID_PRODUCT_FROM_DATABASE=DWA-120 802.11g Wireless 108G Adapter [Atheros AR5523]
-
-usb:v07D1p3A0F*
- ID_PRODUCT_FROM_DATABASE=DWA-130 802.11n Wireless N Adapter(rev.D) [Atheros AR9170+AR9102]
-
-usb:v07D1p3A10*
- ID_PRODUCT_FROM_DATABASE=DWA-126 802.11n Wireless Adapter [Atheros AR9271]
-
-usb:v07D1p3B01*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.D) [Marvell 88W8338+88W8010]
-
-usb:v07D1p3B10*
- ID_PRODUCT_FROM_DATABASE=DWA-142 RangeBooster N Adapter [Marvell 88W8362+88W8060]
-
-usb:v07D1p3B11*
- ID_PRODUCT_FROM_DATABASE=DWA-130 802.11n Wireless N Adapter(rev.A1) [Marvell 88W8362+88W8060]
-
-usb:v07D1p3C03*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.C1) [Ralink RT2571W]
-
-usb:v07D1p3C04*
- ID_PRODUCT_FROM_DATABASE=WUA-1340
-
-usb:v07D1p3C05*
- ID_PRODUCT_FROM_DATABASE=EH103 Wireless G Adapter
-
-usb:v07D1p3C06*
- ID_PRODUCT_FROM_DATABASE=DWA-111 802.11bg Wireless Adapter [Ralink RT2571W]
-
-usb:v07D1p3C07*
- ID_PRODUCT_FROM_DATABASE=DWA-110 Wireless G Adapter(rev.A1) [Ralink RT2571W]
-
-usb:v07D1p3C09*
- ID_PRODUCT_FROM_DATABASE=DWA-140 RangeBooster N Adapter(rev.B1) [Ralink RT2870]
-
-usb:v07D1p3C0A*
- ID_PRODUCT_FROM_DATABASE=DWA-140 RangeBooster N Adapter(rev.B2) [Ralink RT3072]
-
-usb:v07D1p3C0B*
- ID_PRODUCT_FROM_DATABASE=DWA-110 Wireless G Adapter(rev.B) [Ralink RT2870]
-
-usb:v07D1p3C0D*
- ID_PRODUCT_FROM_DATABASE=DWA-125 Wireless N 150 Adapter(rev.A1) [Ralink RT3070]
-
-usb:v07D1p3C0E*
- ID_PRODUCT_FROM_DATABASE=WUA-2340 RangeBooster G Adapter(rev.B) [Ralink RT2070]
-
-usb:v07D1p3C0F*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.E1) [Ralink RT2070]
-
-usb:v07D1p3C10*
- ID_PRODUCT_FROM_DATABASE=DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.A1) [Atheros AR9170+AR9104]
-
-usb:v07D1p3C11*
- ID_PRODUCT_FROM_DATABASE=DWA-160 Xtreme N Dual Band USB Adapter(rev.B) [Ralink RT2870]
-
-usb:v07D1p3C13*
- ID_PRODUCT_FROM_DATABASE=DWA-130 802.11n Wireless N Adapter(rev.B) [Ralink RT2870]
-
-usb:v07D1p3C15*
- ID_PRODUCT_FROM_DATABASE=DWA-140 RangeBooster N Adapter(rev.B3) [Ralink RT2870]
-
-usb:v07D1p3C16*
- ID_PRODUCT_FROM_DATABASE=DWA-125 Wireless N 150 Adapter(rev.A2) [Ralink RT3070]
-
-usb:v07D1p3E02*
- ID_PRODUCT_FROM_DATABASE=DWM-156 3.75G HSUPA Adapter
-
-usb:v07D1p5100*
- ID_PRODUCT_FROM_DATABASE=Remote NDIS Device
-
-usb:v07D1pA800*
- ID_PRODUCT_FROM_DATABASE=DWM-152 3.75G HSUPA Adapter
-
-usb:v07D1pF101*
- ID_PRODUCT_FROM_DATABASE=DBT-122 Bluetooth
-
-usb:v07D1pFC01*
- ID_PRODUCT_FROM_DATABASE=DBT-120 Bluetooth Adapter
-
-usb:v07D2*
- ID_VENDOR_FROM_DATABASE=Aptio Products, Inc.
-
-usb:v07D3*
- ID_VENDOR_FROM_DATABASE=Cyberdata Corp.
-
-usb:v07D5*
- ID_VENDOR_FROM_DATABASE=Radiant Systems
-
-usb:v07D7*
- ID_VENDOR_FROM_DATABASE=GCC Technologies, Inc.
-
-usb:v07DA*
- ID_VENDOR_FROM_DATABASE=Arasan Chip Systems
-
-usb:v07DE*
- ID_VENDOR_FROM_DATABASE=Diamond Multimedia
-
-usb:v07DEp2820*
- ID_PRODUCT_FROM_DATABASE=VC500 Video Capture Dongle
-
-usb:v07DF*
- ID_VENDOR_FROM_DATABASE=David Electronics Co., Ltd
-
-usb:v07E1*
- ID_VENDOR_FROM_DATABASE=Ambient Technologies, Inc.
-
-usb:v07E1p5201*
- ID_PRODUCT_FROM_DATABASE=V.90 Modem
-
-usb:v07E2*
- ID_VENDOR_FROM_DATABASE=Elmeg GmbH & Co., Ltd
-
-usb:v07E3*
- ID_VENDOR_FROM_DATABASE=Planex Communications, Inc.
-
-usb:v07E4*
- ID_VENDOR_FROM_DATABASE=Movado Enterprise Co., Ltd
-
-usb:v07E4p0967*
- ID_PRODUCT_FROM_DATABASE=SCard R/W CSR-145
-
-usb:v07E4p0968*
- ID_PRODUCT_FROM_DATABASE=SCard R/W CSR-145
-
-usb:v07E5*
- ID_VENDOR_FROM_DATABASE=QPS, Inc.
-
-usb:v07E5p05C2*
- ID_PRODUCT_FROM_DATABASE=IDE-to-USB2.0 PCA
-
-usb:v07E5p5C01*
- ID_PRODUCT_FROM_DATABASE=Que! CDRW
-
-usb:v07E6*
- ID_VENDOR_FROM_DATABASE=Allied Cable Corp.
-
-usb:v07E7*
- ID_VENDOR_FROM_DATABASE=Mirvo Toys, Inc.
-
-usb:v07E8*
- ID_VENDOR_FROM_DATABASE=Labsystems
-
-usb:v07EA*
- ID_VENDOR_FROM_DATABASE=Iwatsu Electric Co., Ltd
-
-usb:v07EB*
- ID_VENDOR_FROM_DATABASE=Double-H Technology Co., Ltd
-
-usb:v07EC*
- ID_VENDOR_FROM_DATABASE=Taiyo Electric Wire & Cable Co., Ltd
-
-usb:v07EE*
- ID_VENDOR_FROM_DATABASE=Torex Retail (formerly Logware)
-
-usb:v07EEp0002*
- ID_PRODUCT_FROM_DATABASE=Cash Drawer I/F
-
-usb:v07EF*
- ID_VENDOR_FROM_DATABASE=STSN
-
-usb:v07EFp0001*
- ID_PRODUCT_FROM_DATABASE=Internet Access Device
-
-usb:v07F2*
- ID_VENDOR_FROM_DATABASE=Microcomputer Applications, Inc.
-
-usb:v07F2p0001*
- ID_PRODUCT_FROM_DATABASE=KEYLOK II
-
-usb:v07F6*
- ID_VENDOR_FROM_DATABASE=Circuit Assembly Corp.
-
-usb:v07F7*
- ID_VENDOR_FROM_DATABASE=Century Corp.
-
-usb:v07F7p0005*
- ID_PRODUCT_FROM_DATABASE=ScanLogic/Century Corporation uATA
-
-usb:v07F7p011E*
- ID_PRODUCT_FROM_DATABASE=Century USB Disk Enclosure
-
-usb:v07F9*
- ID_VENDOR_FROM_DATABASE=Dotop Technology, Inc.
-
-usb:v07FA*
- ID_VENDOR_FROM_DATABASE=DrayTek Corp.
-
-usb:v07FAp0778*
- ID_PRODUCT_FROM_DATABASE=miniVigor 128 ISDN TA
-
-usb:v07FAp1012*
- ID_PRODUCT_FROM_DATABASE=BeWAN ADSL USB ST (grey)
-
-usb:v07FAp1196*
- ID_PRODUCT_FROM_DATABASE=BWIFI-USB54AR 802.11bg
-
-usb:v07FApA904*
- ID_PRODUCT_FROM_DATABASE=BeWAN ADSL
-
-usb:v07FApA905*
- ID_PRODUCT_FROM_DATABASE=BeWAN ADSL ST
-
-usb:v07FD*
- ID_VENDOR_FROM_DATABASE=Mark of the Unicorn
-
-usb:v07FDp0000*
- ID_PRODUCT_FROM_DATABASE=FastLane MIDI Interface
-
-usb:v07FDp0001*
- ID_PRODUCT_FROM_DATABASE=FastLane Quad MIDI Interface
-
-usb:v07FDp0002*
- ID_PRODUCT_FROM_DATABASE=MOTU Audio for 64 bit
-
-usb:v07FF*
- ID_VENDOR_FROM_DATABASE=Unknown
-
-usb:v07FFp00FF*
- ID_PRODUCT_FROM_DATABASE=Portable Hard Drive
-
-usb:v0801*
- ID_VENDOR_FROM_DATABASE=MagTek
-
-usb:v0801p0001*
- ID_PRODUCT_FROM_DATABASE=Mini Swipe Reader (Keyboard Emulation)
-
-usb:v0801p0002*
- ID_PRODUCT_FROM_DATABASE=Mini Swipe Reader
-
-usb:v0801p0003*
- ID_PRODUCT_FROM_DATABASE=Magstripe Insert Reader
-
-usb:v0802*
- ID_VENDOR_FROM_DATABASE=Mako Technologies, LLC
-
-usb:v0803*
- ID_VENDOR_FROM_DATABASE=Zoom Telephonics, Inc.
-
-usb:v0803p1300*
- ID_PRODUCT_FROM_DATABASE=V92 Faxmodem
-
-usb:v0803p4310*
- ID_PRODUCT_FROM_DATABASE=4410a Wireless-G Adapter [Intersil ISL3887]
-
-usb:v0803p4410*
- ID_PRODUCT_FROM_DATABASE=4410b Wireless-G Adapter [ZyDAS ZD1211B]
-
-usb:v0803p5241*
- ID_PRODUCT_FROM_DATABASE=Cable Modem
-
-usb:v0803p5551*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v0803p9700*
- ID_PRODUCT_FROM_DATABASE=2986L FaxModem
-
-usb:v0803p9800*
- ID_PRODUCT_FROM_DATABASE=Cable Modem
-
-usb:v0803pA312*
- ID_PRODUCT_FROM_DATABASE=Wireless-G
-
-usb:v0809*
- ID_VENDOR_FROM_DATABASE=Genicom Technology, Inc.
-
-usb:v080A*
- ID_VENDOR_FROM_DATABASE=Evermuch Technology Co., Ltd
-
-usb:v080B*
- ID_VENDOR_FROM_DATABASE=Cross Match Technologies
-
-usb:v080Bp0002*
- ID_PRODUCT_FROM_DATABASE=Fingerprint Scanner (After ReNumeration)
-
-usb:v080Bp0010*
- ID_PRODUCT_FROM_DATABASE=300LC Series Fingerprint Scanner (Before ReNumeration)
-
-usb:v080C*
- ID_VENDOR_FROM_DATABASE=Datalogic S.p.A.
-
-usb:v080Cp0300*
- ID_PRODUCT_FROM_DATABASE=Gryphon D120 Barcode Scanner
-
-usb:v080Cp0400*
- ID_PRODUCT_FROM_DATABASE=Gryphon D120 Barcode Scanner
-
-usb:v080Cp0500*
- ID_PRODUCT_FROM_DATABASE=Gryphon D120 Barcode Scanner
-
-usb:v080Cp0600*
- ID_PRODUCT_FROM_DATABASE=Gryphon M100 Barcode Scanner
-
-usb:v080D*
- ID_VENDOR_FROM_DATABASE=Teco Image Systems Co., Ltd
-
-usb:v080Dp0102*
- ID_PRODUCT_FROM_DATABASE=Hercules Scan@home 48
-
-usb:v080Dp0104*
- ID_PRODUCT_FROM_DATABASE=3.2Slim
-
-usb:v080Dp0110*
- ID_PRODUCT_FROM_DATABASE=UMAX AstraSlim 1200 Scanner
-
-usb:v0810*
- ID_VENDOR_FROM_DATABASE=Personal Communication Systems, Inc.
-
-usb:v0810p0001*
- ID_PRODUCT_FROM_DATABASE=Dual PSX Adaptor
-
-usb:v0810p0002*
- ID_PRODUCT_FROM_DATABASE=Dual PCS Adaptor
-
-usb:v0810p0003*
- ID_PRODUCT_FROM_DATABASE=PlayStation Gamepad
-
-usb:v0813*
- ID_VENDOR_FROM_DATABASE=Mattel, Inc.
-
-usb:v0813p0001*
- ID_PRODUCT_FROM_DATABASE=Intel Play QX3 Microscope
-
-usb:v0813p0002*
- ID_PRODUCT_FROM_DATABASE=Dual Mode Camera Plus
-
-usb:v0819*
- ID_VENDOR_FROM_DATABASE=eLicenser
-
-usb:v0819p0101*
- ID_PRODUCT_FROM_DATABASE=License Management and Copy Protection
-
-usb:v081A*
- ID_VENDOR_FROM_DATABASE=MG Logic
-
-usb:v081Ap1000*
- ID_PRODUCT_FROM_DATABASE=Duo Pen Tablet
-
-usb:v081B*
- ID_VENDOR_FROM_DATABASE=Indigita Corp.
-
-usb:v081Bp0600*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter
-
-usb:v081Bp0601*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter
-
-usb:v081C*
- ID_VENDOR_FROM_DATABASE=Mipsys
-
-usb:v081E*
- ID_VENDOR_FROM_DATABASE=AlphaSmart, Inc.
-
-usb:v081EpDF00*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0822*
- ID_VENDOR_FROM_DATABASE=Reudo Corp.
-
-usb:v0822p2001*
- ID_PRODUCT_FROM_DATABASE=IRXpress Infrared Device
-
-usb:v0825*
- ID_VENDOR_FROM_DATABASE=GC Protronics
-
-usb:v0826*
- ID_VENDOR_FROM_DATABASE=Data Transit
-
-usb:v0827*
- ID_VENDOR_FROM_DATABASE=BroadLogic, Inc.
-
-usb:v0828*
- ID_VENDOR_FROM_DATABASE=Sato Corp.
-
-usb:v0829*
- ID_VENDOR_FROM_DATABASE=DirecTV Broadband, Inc. (Telocity)
-
-usb:v082D*
- ID_VENDOR_FROM_DATABASE=Handspring
-
-usb:v082Dp0100*
- ID_PRODUCT_FROM_DATABASE=Visor
-
-usb:v082Dp0200*
- ID_PRODUCT_FROM_DATABASE=Treo
-
-usb:v082Dp0300*
- ID_PRODUCT_FROM_DATABASE=Treo 600
-
-usb:v082Dp0400*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v082Dp0500*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v082Dp0600*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830*
- ID_VENDOR_FROM_DATABASE=Palm, Inc.
-
-usb:v0830p0001*
- ID_PRODUCT_FROM_DATABASE=m500
-
-usb:v0830p0002*
- ID_PRODUCT_FROM_DATABASE=m505
-
-usb:v0830p0003*
- ID_PRODUCT_FROM_DATABASE=m515
-
-usb:v0830p0004*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0005*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0006*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0010*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0011*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0012*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0013*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0014*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0020*
- ID_PRODUCT_FROM_DATABASE=i705
-
-usb:v0830p0021*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0022*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0023*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0024*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0030*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0031*
- ID_PRODUCT_FROM_DATABASE=Tungsten W
-
-usb:v0830p0032*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0033*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0034*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0040*
- ID_PRODUCT_FROM_DATABASE=m125
-
-usb:v0830p0041*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0042*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0043*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0044*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0050*
- ID_PRODUCT_FROM_DATABASE=m130
-
-usb:v0830p0051*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0052*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0053*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0054*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0060*
- ID_PRODUCT_FROM_DATABASE=Tungsten C/E/T/T2/T3 / Zire 71
-
-usb:v0830p0061*
- ID_PRODUCT_FROM_DATABASE=Lifedrive / Treo 650/680 / Tunsten E2/T5/TX / Centro / Zire 21/31/72 / Z22
-
-usb:v0830p0062*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0063*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0064*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0070*
- ID_PRODUCT_FROM_DATABASE=Zire
-
-usb:v0830p0071*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0072*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0080*
- ID_PRODUCT_FROM_DATABASE=Serial Adapter [for Palm III]
-
-usb:v0830p0081*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p0082*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0830p00A0*
- ID_PRODUCT_FROM_DATABASE=Treo 800w
-
-usb:v0830p0101*
- ID_PRODUCT_FROM_DATABASE=Pre
-
-usb:v0832*
- ID_VENDOR_FROM_DATABASE=Kouwell Electronics Corp.
-
-usb:v0832p5850*
- ID_PRODUCT_FROM_DATABASE=Cable
-
-usb:v0833*
- ID_VENDOR_FROM_DATABASE=Sourcenext Corp.
-
-usb:v0833p012E*
- ID_PRODUCT_FROM_DATABASE=KeikaiDenwa 8 with charger
-
-usb:v0833p039F*
- ID_PRODUCT_FROM_DATABASE=KeikaiDenwa 8
-
-usb:v0835*
- ID_VENDOR_FROM_DATABASE=Action Star Enterprise Co., Ltd
-
-usb:v0836*
- ID_VENDOR_FROM_DATABASE=TrekStor
-
-usb:v0836p2836*
- ID_PRODUCT_FROM_DATABASE=i.Beat mood
-
-usb:v0839*
- ID_VENDOR_FROM_DATABASE=Samsung Techwin Co., Ltd
-
-usb:v0839p0005*
- ID_PRODUCT_FROM_DATABASE=Digimax Camera
-
-usb:v0839p0008*
- ID_PRODUCT_FROM_DATABASE=Digimax 230 Camera
-
-usb:v0839p0009*
- ID_PRODUCT_FROM_DATABASE=Digimax 340
-
-usb:v0839p000A*
- ID_PRODUCT_FROM_DATABASE=Digimax 410
-
-usb:v0839p000E*
- ID_PRODUCT_FROM_DATABASE=Digimax 360
-
-usb:v0839p0010*
- ID_PRODUCT_FROM_DATABASE=Digimax 300
-
-usb:v0839p1003*
- ID_PRODUCT_FROM_DATABASE=Digimax 210SE
-
-usb:v0839p1005*
- ID_PRODUCT_FROM_DATABASE=Digimax 220
-
-usb:v0839p1009*
- ID_PRODUCT_FROM_DATABASE=Digimax V4
-
-usb:v0839p1012*
- ID_PRODUCT_FROM_DATABASE=6500 Document Camera
-
-usb:v0839p1058*
- ID_PRODUCT_FROM_DATABASE=S730 Camera
-
-usb:v0839p1064*
- ID_PRODUCT_FROM_DATABASE=Digimax D830 Camera
-
-usb:v0839p1542*
- ID_PRODUCT_FROM_DATABASE=Digimax 50 Duo
-
-usb:v0839p3000*
- ID_PRODUCT_FROM_DATABASE=Digimax 35 MP3
-
-usb:v083A*
- ID_VENDOR_FROM_DATABASE=Accton Technology Corp.
-
-usb:v083Ap1046*
- ID_PRODUCT_FROM_DATABASE=10/100 Ethernet [pegasus]
-
-usb:v083Ap1060*
- ID_PRODUCT_FROM_DATABASE=HomeLine Adapter
-
-usb:v083Ap1F4D*
- ID_PRODUCT_FROM_DATABASE=SMC8013WG Broadband Remote NDIS Device
-
-usb:v083Ap3046*
- ID_PRODUCT_FROM_DATABASE=10/100 Series Adapter
-
-usb:v083Ap3060*
- ID_PRODUCT_FROM_DATABASE=1/10/100 Adapter
-
-usb:v083Ap3501*
- ID_PRODUCT_FROM_DATABASE=2664W
-
-usb:v083Ap3502*
- ID_PRODUCT_FROM_DATABASE=WN3501D Wireless Adapter
-
-usb:v083Ap3503*
- ID_PRODUCT_FROM_DATABASE=T-Sinus 111 Wireless Adapter
-
-usb:v083Ap4501*
- ID_PRODUCT_FROM_DATABASE=T-Sinus 154data
-
-usb:v083Ap4502*
- ID_PRODUCT_FROM_DATABASE=Siemens S30853-S1016-R107 802.11g Wireless Adapter [Intersil ISL3886]
-
-usb:v083Ap4505*
- ID_PRODUCT_FROM_DATABASE=SMCWUSB-G 802.11bg
-
-usb:v083Ap4507*
- ID_PRODUCT_FROM_DATABASE=SMCWUSBT-G2 802.11g Wireless Adapter [Atheros AR5523]
-
-usb:v083Ap4521*
- ID_PRODUCT_FROM_DATABASE=Siemens S30863-S1016-R107-2 802.11g Wireless Adapter [Intersil ISL3887]
-
-usb:v083Ap5046*
- ID_PRODUCT_FROM_DATABASE=SpeedStream 10/100 Ethernet [pegasus]
-
-usb:v083Ap5501*
- ID_PRODUCT_FROM_DATABASE=Wireless Adapter 11g
-
-usb:v083Ap6500*
- ID_PRODUCT_FROM_DATABASE=Cable Modem
-
-usb:v083Ap6618*
- ID_PRODUCT_FROM_DATABASE=802.11n Wireless Adapter
-
-usb:v083Ap7511*
- ID_PRODUCT_FROM_DATABASE=Arcadyan 802.11N Wireless Adapter
-
-usb:v083Ap7512*
- ID_PRODUCT_FROM_DATABASE=Arcadyan 802.11N Wireless Adapter
-
-usb:v083Ap7522*
- ID_PRODUCT_FROM_DATABASE=Arcadyan 802.11N Wireless Adapter
-
-usb:v083Ap8522*
- ID_PRODUCT_FROM_DATABASE=Arcadyan 802.11N Wireless Adapter
-
-usb:v083Ap8541*
- ID_PRODUCT_FROM_DATABASE=WN4501F 802.11g Wireless Adapter [Intersil ISL3887]
-
-usb:v083ApA512*
- ID_PRODUCT_FROM_DATABASE=Arcadyan 802.11N Wireless Adapter
-
-usb:v083ApA618*
- ID_PRODUCT_FROM_DATABASE=SMCWUSBS-N EZ Connect N Draft 11n Wireless Adapter [Ralink RT2870]
-
-usb:v083ApA701*
- ID_PRODUCT_FROM_DATABASE=SMCWUSBS-N3 EZ Connect N Wireless Adapter [Ralink RT3070]
-
-usb:v083ApB004*
- ID_PRODUCT_FROM_DATABASE=CPWUE001 USB/Ethernet Adapter
-
-usb:v083ApB522*
- ID_PRODUCT_FROM_DATABASE=SMCWUSBS-N2 EZ Connect N Wireless Adapter [Ralink RT2870]
-
-usb:v083ApBB01*
- ID_PRODUCT_FROM_DATABASE=BlueExpert Bluetooth Device
-
-usb:v083ApC003*
- ID_PRODUCT_FROM_DATABASE=802.11b Wireless Adapter
-
-usb:v083ApC501*
- ID_PRODUCT_FROM_DATABASE=Zoom 4410 Wireless-G [Intersil ISL3887]
-
-usb:v083ApC561*
- ID_PRODUCT_FROM_DATABASE=802.11a/g Wireless Adapter
-
-usb:v083ApD522*
- ID_PRODUCT_FROM_DATABASE=Speedport W 102 Stick IEEE 802.11n USB 2.0 Adapter
-
-usb:v083ApE501*
- ID_PRODUCT_FROM_DATABASE=ZD1211B
-
-usb:v083ApE503*
- ID_PRODUCT_FROM_DATABASE=Arcadyan WN4501 802.11b/g
-
-usb:v083ApE506*
- ID_PRODUCT_FROM_DATABASE=WUS-201 802.11bg
-
-usb:v083ApF501*
- ID_PRODUCT_FROM_DATABASE=802.11g Wireless Adapter
-
-usb:v083ApF502*
- ID_PRODUCT_FROM_DATABASE=802.11g Wireless Adapter
-
-usb:v083ApF522*
- ID_PRODUCT_FROM_DATABASE=Arcadyan WN7512 802.11n
-
-usb:v083F*
- ID_VENDOR_FROM_DATABASE=Global Village
-
-usb:v083FpB100*
- ID_PRODUCT_FROM_DATABASE=TelePort V.90 Fax/Modem
-
-usb:v0840*
- ID_VENDOR_FROM_DATABASE=Argosy Research, Inc.
-
-usb:v0840p0060*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter Bridge Module
-
-usb:v0841*
- ID_VENDOR_FROM_DATABASE=Rioport.com, Inc.
-
-usb:v0841p0001*
- ID_PRODUCT_FROM_DATABASE=Rio 500
-
-usb:v0844*
- ID_VENDOR_FROM_DATABASE=Welland Industrial Co., Ltd
-
-usb:v0846*
- ID_VENDOR_FROM_DATABASE=NetGear, Inc.
-
-usb:v0846p1001*
- ID_PRODUCT_FROM_DATABASE=EA101 10 Mbps 10BASE-T Ethernet [Kawasaki LSI KL5KLUSB101B]
-
-usb:v0846p1002*
- ID_PRODUCT_FROM_DATABASE=Ethernet
-
-usb:v0846p1020*
- ID_PRODUCT_FROM_DATABASE=FA101 Fast Ethernet USB 1.1
-
-usb:v0846p1040*
- ID_PRODUCT_FROM_DATABASE=FA120 Fast Ethernet USB 2.0 [Asix AX88172 / AX8817x]
-
-usb:v0846p4110*
- ID_PRODUCT_FROM_DATABASE=MA111(v1) 802.11b Wireless [Intersil Prism 3.0]
-
-usb:v0846p4200*
- ID_PRODUCT_FROM_DATABASE=WG121(v1) 54 Mbps Wireless [Intersil ISL3886]
-
-usb:v0846p4210*
- ID_PRODUCT_FROM_DATABASE=WG121(v2) 54 Mbps Wireless [Intersil ISL3886]
-
-usb:v0846p4220*
- ID_PRODUCT_FROM_DATABASE=WG111(v1) 54 Mbps Wireless [Intersil ISL3886]
-
-usb:v0846p4230*
- ID_PRODUCT_FROM_DATABASE=MA111(v2) 802.11b Wireless [SIS SIS 162]
-
-usb:v0846p4240*
- ID_PRODUCT_FROM_DATABASE=WG111(v1) rev 2 54 Mbps Wireless [Intersil ISL3887]
-
-usb:v0846p4260*
- ID_PRODUCT_FROM_DATABASE=WG111v3 54 Mbps Wireless [realtek RTL8187B]
-
-usb:v0846p4300*
- ID_PRODUCT_FROM_DATABASE=WG111U Double 108 Mbps Wireless [Atheros AR5004X / AR5005UX]
-
-usb:v0846p4301*
- ID_PRODUCT_FROM_DATABASE=WG111U (no firmware) Double 108 Mbps Wireless [Atheros AR5004X / AR5005UX]
-
-usb:v0846p5F00*
- ID_PRODUCT_FROM_DATABASE=WPN111 802.11g Wireless Adapter [Atheros AR5523]
-
-usb:v0846p6A00*
- ID_PRODUCT_FROM_DATABASE=WG111v2 54 Mbps Wireless [RealTek RTL8187L]
-
-usb:v0846p7100*
- ID_PRODUCT_FROM_DATABASE=WN121T RangeMax Next Wireless-N [Marvell TopDog]
-
-usb:v0846p9000*
- ID_PRODUCT_FROM_DATABASE=WN111(v1) RangeMax Next Wireless [Marvell 88W8362+88W8060]
-
-usb:v0846p9001*
- ID_PRODUCT_FROM_DATABASE=WN111(v2) RangeMax Next Wireless [Atheros AR9170+AR9101]
-
-usb:v0846p9010*
- ID_PRODUCT_FROM_DATABASE=WNDA3100v1 802.11abgn [Atheros AR9170+AR9104]
-
-usb:v0846p9011*
- ID_PRODUCT_FROM_DATABASE=WNDA3100v2 802.11abgn [Broadcom BCM4323]
-
-usb:v0846p9012*
- ID_PRODUCT_FROM_DATABASE=WNDA4100 802.11abgn 3x3:3 [Ralink RT3573]
-
-usb:v0846p9018*
- ID_PRODUCT_FROM_DATABASE=WNDA3200 802.11abgn Wireless Adapter [Atheros AR7010+AR9280]
-
-usb:v0846p9020*
- ID_PRODUCT_FROM_DATABASE=WNA3100(v1) Wireless-N 300 [Broadcom BCM43231]
-
-usb:v0846p9030*
- ID_PRODUCT_FROM_DATABASE=WNA1100 Wireless-N 150 [Atheros AR9271]
-
-usb:v0846p9040*
- ID_PRODUCT_FROM_DATABASE=WNA1000 Wireless-N 150 [Atheros AR9170+AR9101]
-
-usb:v0846p9041*
- ID_PRODUCT_FROM_DATABASE=WNA1000M 802.11bgn [Realtek RTL8188CUS]
-
-usb:v0846pA001*
- ID_PRODUCT_FROM_DATABASE=PA101 10 Mbps HPNA Home Phoneline RJ-1
-
-usb:v084D*
- ID_VENDOR_FROM_DATABASE=Minton Optic Industry Co., Inc.
-
-usb:v084Dp0001*
- ID_PRODUCT_FROM_DATABASE=Jenoptik JD800i
-
-usb:v084Dp0003*
- ID_PRODUCT_FROM_DATABASE=S-Cam F5/D-Link DSC-350 Digital Camera
-
-usb:v084Dp0011*
- ID_PRODUCT_FROM_DATABASE=Argus DC3500 Digital Camera
-
-usb:v084Dp0014*
- ID_PRODUCT_FROM_DATABASE=Praktica DC 32
-
-usb:v084Dp0019*
- ID_PRODUCT_FROM_DATABASE=Praktica DPix3000
-
-usb:v084Dp0025*
- ID_PRODUCT_FROM_DATABASE=Praktica DC 60
-
-usb:v084Dp1001*
- ID_PRODUCT_FROM_DATABASE=ScanHex SX-35d
-
-usb:v084E*
- ID_VENDOR_FROM_DATABASE=KB Gear
-
-usb:v084Ep0001*
- ID_PRODUCT_FROM_DATABASE=JamCam Camera
-
-usb:v084Ep1001*
- ID_PRODUCT_FROM_DATABASE=Jam Studio Tablet
-
-usb:v084Ep1002*
- ID_PRODUCT_FROM_DATABASE=Pablo Tablet
-
-usb:v084F*
- ID_VENDOR_FROM_DATABASE=Empeg
-
-usb:v084Fp0001*
- ID_PRODUCT_FROM_DATABASE=Empeg-Car Mark I/II Player
-
-usb:v0850*
- ID_VENDOR_FROM_DATABASE=Fast Point Technologies, Inc.
-
-usb:v0851*
- ID_VENDOR_FROM_DATABASE=Macronix International Co., Ltd
-
-usb:v0851p1542*
- ID_PRODUCT_FROM_DATABASE=SiPix Blink
-
-usb:v0851p1543*
- ID_PRODUCT_FROM_DATABASE=Maxell WS30 Slim Digital Camera, or Pandigital PI8004W01 digital photo frame
-
-usb:v0851pA168*
- ID_PRODUCT_FROM_DATABASE=MXIC
-
-usb:v0852*
- ID_VENDOR_FROM_DATABASE=CSEM
-
-usb:v0853*
- ID_VENDOR_FROM_DATABASE=Topre Corporation
-
-usb:v0853p0100*
- ID_PRODUCT_FROM_DATABASE=HHKB Professional
-
-usb:v0854*
- ID_VENDOR_FROM_DATABASE=ActiveWire, Inc.
-
-usb:v0854p0100*
- ID_PRODUCT_FROM_DATABASE=I/O Board
-
-usb:v0854p0101*
- ID_PRODUCT_FROM_DATABASE=I/O Board, rev1
-
-usb:v0856*
- ID_VENDOR_FROM_DATABASE=B&B Electronics
-
-usb:v0856pAC01*
- ID_PRODUCT_FROM_DATABASE=uLinks USOTL4 RS422/485 Adapter
-
-usb:v0858*
- ID_VENDOR_FROM_DATABASE=Hitachi Maxell, Ltd
-
-usb:v0858p3102*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0858pFFFF*
- ID_PRODUCT_FROM_DATABASE=Maxell module with BlueCore in DFU mode
-
-usb:v0859*
- ID_VENDOR_FROM_DATABASE=Minolta Systems Laboratory, Inc.
-
-usb:v085A*
- ID_VENDOR_FROM_DATABASE=Xircom
-
-usb:v085Ap0001*
- ID_PRODUCT_FROM_DATABASE=Portstation Dual Serial Port
-
-usb:v085Ap0003*
- ID_PRODUCT_FROM_DATABASE=Portstation Paraller Port
-
-usb:v085Ap0008*
- ID_PRODUCT_FROM_DATABASE=Ethernet
-
-usb:v085Ap0009*
- ID_PRODUCT_FROM_DATABASE=Ethernet
-
-usb:v085Ap000B*
- ID_PRODUCT_FROM_DATABASE=Portstation Dual PS/2 Port
-
-usb:v085Ap0021*
- ID_PRODUCT_FROM_DATABASE=1 port to Serial Converter
-
-usb:v085Ap0022*
- ID_PRODUCT_FROM_DATABASE=Parallel Port
-
-usb:v085Ap0023*
- ID_PRODUCT_FROM_DATABASE=2 port to Serial Converter
-
-usb:v085Ap0024*
- ID_PRODUCT_FROM_DATABASE=Parallel Port
-
-usb:v085Ap0027*
- ID_PRODUCT_FROM_DATABASE=1 port to Serial Converter
-
-usb:v085Ap0028*
- ID_PRODUCT_FROM_DATABASE=PortGear to SCSI Converter
-
-usb:v085Ap0032*
- ID_PRODUCT_FROM_DATABASE=PortStation SCSI Module
-
-usb:v085Ap003C*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Adapter
-
-usb:v085Ap0299*
- ID_PRODUCT_FROM_DATABASE=Colorvision, Inc. Monitor Spyder
-
-usb:v085Ap8021*
- ID_PRODUCT_FROM_DATABASE=1 port to Serial
-
-usb:v085Ap8023*
- ID_PRODUCT_FROM_DATABASE=2 port to Serial
-
-usb:v085Ap8027*
- ID_PRODUCT_FROM_DATABASE=PGSDB9 Serial Port
-
-usb:v085C*
- ID_VENDOR_FROM_DATABASE=ColorVision, Inc.
-
-usb:v085Cp0200*
- ID_PRODUCT_FROM_DATABASE=Monitor Spyder
-
-usb:v0862*
- ID_VENDOR_FROM_DATABASE=Teletrol Systems, Inc.
-
-usb:v0863*
- ID_VENDOR_FROM_DATABASE=Filanet Corp.
-
-usb:v0864*
- ID_VENDOR_FROM_DATABASE=NetGear, Inc.
-
-usb:v0864p4100*
- ID_PRODUCT_FROM_DATABASE=MA101 802.11b Adapter
-
-usb:v0864p4102*
- ID_PRODUCT_FROM_DATABASE=MA101 802.11b Adapter
-
-usb:v0867*
- ID_VENDOR_FROM_DATABASE=Data Translation, Inc.
-
-usb:v0867p9812*
- ID_PRODUCT_FROM_DATABASE=ECON Data acquisition unit
-
-usb:v0867p9816*
- ID_PRODUCT_FROM_DATABASE=DT9816 ECON data acquisition module
-
-usb:v0867p9836*
- ID_PRODUCT_FROM_DATABASE=DT9836 data acquisition card
-
-usb:v086A*
- ID_VENDOR_FROM_DATABASE=Emagic Soft- und Hardware GmbH
-
-usb:v086Ap0001*
- ID_PRODUCT_FROM_DATABASE=Unitor8
-
-usb:v086Ap0002*
- ID_PRODUCT_FROM_DATABASE=AMT8
-
-usb:v086Ap0003*
- ID_PRODUCT_FROM_DATABASE=MT4
-
-usb:v086C*
- ID_VENDOR_FROM_DATABASE=DeTeWe - Deutsche Telephonwerke AG & Co.
-
-usb:v086Cp1001*
- ID_PRODUCT_FROM_DATABASE=Eumex 504PC ISDN TA
-
-usb:v086Cp1002*
- ID_PRODUCT_FROM_DATABASE=Eumex 504PC (FlashLoad)
-
-usb:v086Cp1003*
- ID_PRODUCT_FROM_DATABASE=TA33 ISDN TA
-
-usb:v086Cp1004*
- ID_PRODUCT_FROM_DATABASE=TA33 (FlashLoad)
-
-usb:v086Cp1005*
- ID_PRODUCT_FROM_DATABASE=Eumex 604PC HomeNet
-
-usb:v086Cp1006*
- ID_PRODUCT_FROM_DATABASE=Eumex 604PC HomeNet (FlashLoad)
-
-usb:v086Cp1007*
- ID_PRODUCT_FROM_DATABASE=Eumex 704PC DSL
-
-usb:v086Cp1008*
- ID_PRODUCT_FROM_DATABASE=Eumex 704PC DSL (FlashLoad)
-
-usb:v086Cp1009*
- ID_PRODUCT_FROM_DATABASE=Eumex 724PC DSL
-
-usb:v086Cp100A*
- ID_PRODUCT_FROM_DATABASE=Eumex 724PC DSL (FlashLoad)
-
-usb:v086Cp100B*
- ID_PRODUCT_FROM_DATABASE=OpenCom 30
-
-usb:v086Cp100C*
- ID_PRODUCT_FROM_DATABASE=OpenCom 30 (FlashLoad)
-
-usb:v086Cp100D*
- ID_PRODUCT_FROM_DATABASE=BeeTel Home 100
-
-usb:v086Cp100E*
- ID_PRODUCT_FROM_DATABASE=BeeTel Home 100 (FlashLoad)
-
-usb:v086Cp1011*
- ID_PRODUCT_FROM_DATABASE=USB2DECT
-
-usb:v086Cp1012*
- ID_PRODUCT_FROM_DATABASE=USB2DECT (FlashLoad)
-
-usb:v086Cp1013*
- ID_PRODUCT_FROM_DATABASE=Eumex 704PC LAN
-
-usb:v086Cp1014*
- ID_PRODUCT_FROM_DATABASE=Eumex 704PC LAN (FlashLoad)
-
-usb:v086Cp1019*
- ID_PRODUCT_FROM_DATABASE=Eumex 504 SE
-
-usb:v086Cp101A*
- ID_PRODUCT_FROM_DATABASE=Eumex 504 SE (Flash-Mode)
-
-usb:v086Cp1021*
- ID_PRODUCT_FROM_DATABASE=OpenCom 40
-
-usb:v086Cp1022*
- ID_PRODUCT_FROM_DATABASE=OpenCom 40 (FlashLoad)
-
-usb:v086Cp1023*
- ID_PRODUCT_FROM_DATABASE=OpenCom 45
-
-usb:v086Cp1024*
- ID_PRODUCT_FROM_DATABASE=OpenCom 45 (FlashLoad)
-
-usb:v086Cp1025*
- ID_PRODUCT_FROM_DATABASE=Sinus 61 data
-
-usb:v086Cp1029*
- ID_PRODUCT_FROM_DATABASE=dect BOX
-
-usb:v086Cp102C*
- ID_PRODUCT_FROM_DATABASE=Eumex 604PC HomeNet [FlashLoad]
-
-usb:v086Cp1030*
- ID_PRODUCT_FROM_DATABASE=Eumex 704PC DSL [FlashLoad]
-
-usb:v086Cp1032*
- ID_PRODUCT_FROM_DATABASE=OpenCom 40 [FlashLoad]
-
-usb:v086Cp1033*
- ID_PRODUCT_FROM_DATABASE=OpenCom 30 plus
-
-usb:v086Cp1034*
- ID_PRODUCT_FROM_DATABASE=OpenCom 30 plus (FlashLoad)
-
-usb:v086Cp1041*
- ID_PRODUCT_FROM_DATABASE=Eumex 220PC
-
-usb:v086Cp1042*
- ID_PRODUCT_FROM_DATABASE=Eumex 220PC (FlashMode)
-
-usb:v086Cp1055*
- ID_PRODUCT_FROM_DATABASE=Eumex 220 Version 2 ISDN TA
-
-usb:v086Cp1056*
- ID_PRODUCT_FROM_DATABASE=Eumex 220 Version 2 ISDN TA (Flash-Mode)
-
-usb:v086Cp2000*
- ID_PRODUCT_FROM_DATABASE=OpenCom 1000
-
-usb:v086E*
- ID_VENDOR_FROM_DATABASE=System TALKS, Inc.
-
-usb:v086Ep1920*
- ID_PRODUCT_FROM_DATABASE=SGC-X2UL
-
-usb:v086F*
- ID_VENDOR_FROM_DATABASE=MEC IMEX, Inc.
-
-usb:v0870*
- ID_VENDOR_FROM_DATABASE=Metricom
-
-usb:v0870p0001*
- ID_PRODUCT_FROM_DATABASE=Ricochet GS
-
-usb:v0871*
- ID_VENDOR_FROM_DATABASE=SanDisk, Inc.
-
-usb:v0871p0001*
- ID_PRODUCT_FROM_DATABASE=SDDR-01 Compact Flash Reader
-
-usb:v0871p0002*
- ID_PRODUCT_FROM_DATABASE=SDDR-31 Compact Flash Reader
-
-usb:v0871p0005*
- ID_PRODUCT_FROM_DATABASE=SDDR-05 Compact Flash Reader
-
-usb:v0873*
- ID_VENDOR_FROM_DATABASE=Xpeed, Inc.
-
-usb:v0874*
- ID_VENDOR_FROM_DATABASE=A-Tec Subsystem, Inc.
-
-usb:v0879*
- ID_VENDOR_FROM_DATABASE=Comtrol Corp.
-
-usb:v087C*
- ID_VENDOR_FROM_DATABASE=Adesso/Kbtek America, Inc.
-
-usb:v087D*
- ID_VENDOR_FROM_DATABASE=Jaton Corp.
-
-usb:v087Dp5704*
- ID_PRODUCT_FROM_DATABASE=Ethernet
-
-usb:v087E*
- ID_VENDOR_FROM_DATABASE=Fujitsu Computer Products of America
-
-usb:v087F*
- ID_VENDOR_FROM_DATABASE=Virtual IP Group, Inc.
-
-usb:v0880*
- ID_VENDOR_FROM_DATABASE=APT Technologies, Inc.
-
-usb:v0883*
- ID_VENDOR_FROM_DATABASE=Recording Industry Association of America (RIAA)
-
-usb:v0885*
- ID_VENDOR_FROM_DATABASE=Boca Research, Inc.
-
-usb:v0886*
- ID_VENDOR_FROM_DATABASE=XAC Automation Corp.
-
-usb:v0886p0630*
- ID_PRODUCT_FROM_DATABASE=Intel PC Camera CS630
-
-usb:v0887*
- ID_VENDOR_FROM_DATABASE=Hannstar Electronics Corp.
-
-usb:v088B*
- ID_VENDOR_FROM_DATABASE=MassWorks, Inc.
-
-usb:v088Bp4944*
- ID_PRODUCT_FROM_DATABASE=MassWorks ID-75 TouchScreen
-
-usb:v088C*
- ID_VENDOR_FROM_DATABASE=Swecoin AB
-
-usb:v088Cp2030*
- ID_PRODUCT_FROM_DATABASE=Ticket Printer TTP 2030
-
-usb:v088E*
- ID_VENDOR_FROM_DATABASE=iLok
-
-usb:v088Ep5036*
- ID_PRODUCT_FROM_DATABASE=Portable secure storage for software licenses
-
-usb:v0892*
- ID_VENDOR_FROM_DATABASE=DioGraphy, Inc.
-
-usb:v0892p0101*
- ID_PRODUCT_FROM_DATABASE=Smartdio Reader/Writer
-
-usb:v0897*
- ID_VENDOR_FROM_DATABASE=Lauterbach
-
-usb:v0897p0002*
- ID_PRODUCT_FROM_DATABASE=Power Debug/Power Debug II
-
-usb:v089C*
- ID_VENDOR_FROM_DATABASE=United Technologies Research Cntr.
-
-usb:v089D*
- ID_VENDOR_FROM_DATABASE=Icron Technologies Corp.
-
-usb:v089E*
- ID_VENDOR_FROM_DATABASE=NST Co., Ltd
-
-usb:v089F*
- ID_VENDOR_FROM_DATABASE=Primex Aerospace Co.
-
-usb:v08A5*
- ID_VENDOR_FROM_DATABASE=e9, Inc.
-
-usb:v08A8*
- ID_VENDOR_FROM_DATABASE=Andrea Electronics
-
-usb:v08A9*
- ID_VENDOR_FROM_DATABASE=CWAV Inc.
-
-usb:v08A9p0005*
- ID_PRODUCT_FROM_DATABASE=USBee ZX
-
-usb:v08A9p0009*
- ID_PRODUCT_FROM_DATABASE=USBee SX
-
-usb:v08A9p0012*
- ID_PRODUCT_FROM_DATABASE=USBee AX-Standard
-
-usb:v08A9p0013*
- ID_PRODUCT_FROM_DATABASE=USBee AX-Plus
-
-usb:v08A9p0014*
- ID_PRODUCT_FROM_DATABASE=USBee AX-Pro
-
-usb:v08A9p0015*
- ID_PRODUCT_FROM_DATABASE=USBee DX
-
-usb:v08AE*
- ID_VENDOR_FROM_DATABASE=Macally (Mace Group, Inc.)
-
-usb:v08B4*
- ID_VENDOR_FROM_DATABASE=Sorenson Vision, Inc.
-
-usb:v08B7*
- ID_VENDOR_FROM_DATABASE=NATSU
-
-usb:v08B7p0001*
- ID_PRODUCT_FROM_DATABASE=Playstation adapter
-
-usb:v08B8*
- ID_VENDOR_FROM_DATABASE=J. Gordon Electronic Design, Inc.
-
-usb:v08B8p01F4*
- ID_PRODUCT_FROM_DATABASE=USBSIMM1
-
-usb:v08B9*
- ID_VENDOR_FROM_DATABASE=RadioShack Corp. (Tandy)
-
-usb:v08BB*
- ID_VENDOR_FROM_DATABASE=Texas Instruments Japan
-
-usb:v08BBp2702*
- ID_PRODUCT_FROM_DATABASE=Speakers
-
-usb:v08BBp2704*
- ID_PRODUCT_FROM_DATABASE=Audio Codec
-
-usb:v08BBp2900*
- ID_PRODUCT_FROM_DATABASE=PCM2900 Audio Codec
-
-usb:v08BBp2901*
- ID_PRODUCT_FROM_DATABASE=PCM2901 Audio Codec
-
-usb:v08BBp2902*
- ID_PRODUCT_FROM_DATABASE=PCM2902 Audio Codec
-
-usb:v08BBp2904*
- ID_PRODUCT_FROM_DATABASE=PCM2904 Audio Codec
-
-usb:v08BBp2910*
- ID_PRODUCT_FROM_DATABASE=PCM2912 Audio Codec
-
-usb:v08BBp29B0*
- ID_PRODUCT_FROM_DATABASE=PCM2900B Audio CODEC
-
-usb:v08BBp29B2*
- ID_PRODUCT_FROM_DATABASE=PCM2902 Audio CODEC
-
-usb:v08BBp29B3*
- ID_PRODUCT_FROM_DATABASE=PCM2903B Audio CODEC
-
-usb:v08BBp29B6*
- ID_PRODUCT_FROM_DATABASE=PCM2906B Audio CODEC
-
-usb:v08BBp29C0*
- ID_PRODUCT_FROM_DATABASE=PCM2900C Audio CODEC
-
-usb:v08BBp29C2*
- ID_PRODUCT_FROM_DATABASE=PCM2902C Audio CODEC
-
-usb:v08BBp29C3*
- ID_PRODUCT_FROM_DATABASE=PCM2903C Audio CODEC
-
-usb:v08BBp29C6*
- ID_PRODUCT_FROM_DATABASE=PCM2906C Audio CODEC
-
-usb:v08BD*
- ID_VENDOR_FROM_DATABASE=Citizen Watch Co., Ltd
-
-usb:v08BDp0208*
- ID_PRODUCT_FROM_DATABASE=CLP-521 Label Printer
-
-usb:v08BDp1100*
- ID_PRODUCT_FROM_DATABASE=X1-USB Floppy
-
-usb:v08C3*
- ID_VENDOR_FROM_DATABASE=Precise Biometrics
-
-usb:v08C3p0001*
- ID_PRODUCT_FROM_DATABASE=100 SC
-
-usb:v08C3p0002*
- ID_PRODUCT_FROM_DATABASE=100 A
-
-usb:v08C3p0003*
- ID_PRODUCT_FROM_DATABASE=100 SC BioKeyboard
-
-usb:v08C3p0006*
- ID_PRODUCT_FROM_DATABASE=100 A BioKeyboard
-
-usb:v08C3p0100*
- ID_PRODUCT_FROM_DATABASE=100 MC ISP
-
-usb:v08C3p0101*
- ID_PRODUCT_FROM_DATABASE=100 MC FingerPrint and SmartCard Reader
-
-usb:v08C3p0300*
- ID_PRODUCT_FROM_DATABASE=100 AX
-
-usb:v08C3p0400*
- ID_PRODUCT_FROM_DATABASE=100 SC
-
-usb:v08C3p0401*
- ID_PRODUCT_FROM_DATABASE=150 MC
-
-usb:v08C3p0402*
- ID_PRODUCT_FROM_DATABASE=200 MC FingerPrint and SmartCard Reader
-
-usb:v08C3p0404*
- ID_PRODUCT_FROM_DATABASE=100 SC Upgrade
-
-usb:v08C3p0405*
- ID_PRODUCT_FROM_DATABASE=150 MC Upgrade
-
-usb:v08C3p0406*
- ID_PRODUCT_FROM_DATABASE=100 MC Upgrade
-
-usb:v08C4*
- ID_VENDOR_FROM_DATABASE=Proxim, Inc.
-
-usb:v08C4p0100*
- ID_PRODUCT_FROM_DATABASE=Skyline 802.11b Wireless Adapter
-
-usb:v08C4p02F2*
- ID_PRODUCT_FROM_DATABASE=Farallon Home Phoneline Adapter
-
-usb:v08C7*
- ID_VENDOR_FROM_DATABASE=Key Nice Enterprise Co., Ltd
-
-usb:v08C8*
- ID_VENDOR_FROM_DATABASE=2Wire, Inc.
-
-usb:v08C9*
- ID_VENDOR_FROM_DATABASE=Nippon Telegraph and Telephone Corp.
-
-usb:v08CA*
- ID_VENDOR_FROM_DATABASE=Aiptek International, Inc.
-
-usb:v08CAp0001*
- ID_PRODUCT_FROM_DATABASE=Tablet
-
-usb:v08CAp0010*
- ID_PRODUCT_FROM_DATABASE=Tablet
-
-usb:v08CAp0020*
- ID_PRODUCT_FROM_DATABASE=APT-6000U Tablet
-
-usb:v08CAp0021*
- ID_PRODUCT_FROM_DATABASE=APT-2 Tablet
-
-usb:v08CAp0022*
- ID_PRODUCT_FROM_DATABASE=Tablet
-
-usb:v08CAp0023*
- ID_PRODUCT_FROM_DATABASE=Tablet
-
-usb:v08CAp0024*
- ID_PRODUCT_FROM_DATABASE=Tablet
-
-usb:v08CAp0100*
- ID_PRODUCT_FROM_DATABASE=Pen Drive
-
-usb:v08CAp0102*
- ID_PRODUCT_FROM_DATABASE=DualCam
-
-usb:v08CAp0103*
- ID_PRODUCT_FROM_DATABASE=Pocket DV Digital Camera
-
-usb:v08CAp0104*
- ID_PRODUCT_FROM_DATABASE=Pocket DVII
-
-usb:v08CAp0105*
- ID_PRODUCT_FROM_DATABASE=Mega DV(Disk)
-
-usb:v08CAp0106*
- ID_PRODUCT_FROM_DATABASE=Pocket DV3100+
-
-usb:v08CAp0107*
- ID_PRODUCT_FROM_DATABASE=Pocket DV3100
-
-usb:v08CAp0109*
- ID_PRODUCT_FROM_DATABASE=Nisis DV4 Digital Camera
-
-usb:v08CAp010A*
- ID_PRODUCT_FROM_DATABASE=Trust 738AV LCD PV Mass Storage
-
-usb:v08CAp0111*
- ID_PRODUCT_FROM_DATABASE=PenCam VGA Plus
-
-usb:v08CAp2008*
- ID_PRODUCT_FROM_DATABASE=Mini PenCam 2
-
-usb:v08CAp2010*
- ID_PRODUCT_FROM_DATABASE=Pocket CAM 3 Mega (webcam)
-
-usb:v08CAp2011*
- ID_PRODUCT_FROM_DATABASE=Pocket CAM 3 Mega (storage)
-
-usb:v08CAp2016*
- ID_PRODUCT_FROM_DATABASE=PocketCam 2 Mega
-
-usb:v08CAp2018*
- ID_PRODUCT_FROM_DATABASE=Pencam SD 2M
-
-usb:v08CAp2020*
- ID_PRODUCT_FROM_DATABASE=Slim 3000F
-
-usb:v08CAp2022*
- ID_PRODUCT_FROM_DATABASE=Slim 3200
-
-usb:v08CAp2024*
- ID_PRODUCT_FROM_DATABASE=Pocket DV3500
-
-usb:v08CAp2028*
- ID_PRODUCT_FROM_DATABASE=Pocket Cam4M
-
-usb:v08CAp2040*
- ID_PRODUCT_FROM_DATABASE=Pocket DV4100M
-
-usb:v08CAp2042*
- ID_PRODUCT_FROM_DATABASE=Pocket DV5100M Composite Device
-
-usb:v08CAp2043*
- ID_PRODUCT_FROM_DATABASE=Pocket DV5100M (Disk)
-
-usb:v08CAp2060*
- ID_PRODUCT_FROM_DATABASE=Pocket DV5300
-
-usb:v08CD*
- ID_VENDOR_FROM_DATABASE=Jue Hsun Ind. Corp.
-
-usb:v08CE*
- ID_VENDOR_FROM_DATABASE=Long Well Electronics Corp.
-
-usb:v08CF*
- ID_VENDOR_FROM_DATABASE=Productivity Enhancement Products
-
-usb:v08D1*
- ID_VENDOR_FROM_DATABASE=smartBridges, Inc.
-
-usb:v08D1p0001*
- ID_PRODUCT_FROM_DATABASE=smartNIC Ethernet [catc]
-
-usb:v08D1p0003*
- ID_PRODUCT_FROM_DATABASE=smartNIC 2 PnP Ethernet
-
-usb:v08D3*
- ID_VENDOR_FROM_DATABASE=Virtual Ink
-
-usb:v08D4*
- ID_VENDOR_FROM_DATABASE=Fujitsu Siemens Computers
-
-usb:v08D4p0009*
- ID_PRODUCT_FROM_DATABASE=SCR SmartCard Reader
-
-usb:v08D8*
- ID_VENDOR_FROM_DATABASE=IXXAT Automation GmbH
-
-usb:v08D8p0002*
- ID_PRODUCT_FROM_DATABASE=USB-to-CAN compact
-
-usb:v08D8p0003*
- ID_PRODUCT_FROM_DATABASE=USB-to-CAN II
-
-usb:v08D8p0100*
- ID_PRODUCT_FROM_DATABASE=USB-to-CAN
-
-usb:v08D9*
- ID_VENDOR_FROM_DATABASE=Increment P Corp.
-
-usb:v08DD*
- ID_VENDOR_FROM_DATABASE=Billionton Systems, Inc.
-
-usb:v08DDp0112*
- ID_PRODUCT_FROM_DATABASE=Wireless LAN Adapter
-
-usb:v08DDp0113*
- ID_PRODUCT_FROM_DATABASE=Wireless LAN Adapter
-
-usb:v08DDp0986*
- ID_PRODUCT_FROM_DATABASE=USB-100N Ethernet [pegasus]
-
-usb:v08DDp0987*
- ID_PRODUCT_FROM_DATABASE=USBLP-100 HomePNA Ethernet [pegasus]
-
-usb:v08DDp0988*
- ID_PRODUCT_FROM_DATABASE=USBEL-100 Ethernet [pegasus]
-
-usb:v08DDp1986*
- ID_PRODUCT_FROM_DATABASE=10/100 LAN Adapter
-
-usb:v08DDp2103*
- ID_PRODUCT_FROM_DATABASE=DVB-T TV-Tuner Card-R
-
-usb:v08DDp8511*
- ID_PRODUCT_FROM_DATABASE=USBE-100 Ethernet [pegasus2]
-
-usb:v08DDp90FF*
- ID_PRODUCT_FROM_DATABASE=USB2AR Ethernet
-
-usb:v08DE*
- ID_VENDOR_FROM_DATABASE=???
-
-usb:v08DEp7A01*
- ID_PRODUCT_FROM_DATABASE=802.11b Adapter
-
-usb:v08DF*
- ID_VENDOR_FROM_DATABASE=Spyrus, Inc.
-
-usb:v08DFp0001*
- ID_PRODUCT_FROM_DATABASE=Rosetta Token V1
-
-usb:v08DFp0002*
- ID_PRODUCT_FROM_DATABASE=Rosetta Token V2
-
-usb:v08DFp0003*
- ID_PRODUCT_FROM_DATABASE=Rosetta Token V3
-
-usb:v08DFp0A00*
- ID_PRODUCT_FROM_DATABASE=Lynks Interface
-
-usb:v08E3*
- ID_VENDOR_FROM_DATABASE=Olitec, Inc.
-
-usb:v08E3p0002*
- ID_PRODUCT_FROM_DATABASE=USB-RS232 Bridge
-
-usb:v08E3p0100*
- ID_PRODUCT_FROM_DATABASE=Interface ADSL
-
-usb:v08E3p0101*
- ID_PRODUCT_FROM_DATABASE=Interface ADSL
-
-usb:v08E3p0102*
- ID_PRODUCT_FROM_DATABASE=ADSL
-
-usb:v08E3p0301*
- ID_PRODUCT_FROM_DATABASE=RNIS
-
-usb:v08E4*
- ID_VENDOR_FROM_DATABASE=Pioneer Corp.
-
-usb:v08E5*
- ID_VENDOR_FROM_DATABASE=Litronic
-
-usb:v08E6*
- ID_VENDOR_FROM_DATABASE=Gemplus
-
-usb:v08E6p0001*
- ID_PRODUCT_FROM_DATABASE=GemPC-Touch 430
-
-usb:v08E6p0430*
- ID_PRODUCT_FROM_DATABASE=GemPC430 SmartCard Reader
-
-usb:v08E6p0432*
- ID_PRODUCT_FROM_DATABASE=GemPC432 SmartCard Reader
-
-usb:v08E6p0435*
- ID_PRODUCT_FROM_DATABASE=GemPC435 SmartCard Reader
-
-usb:v08E6p0437*
- ID_PRODUCT_FROM_DATABASE=GemPC433 SL SmartCard Reader
-
-usb:v08E6p1359*
- ID_PRODUCT_FROM_DATABASE=UA SECURE STORAGE TOKEN
-
-usb:v08E6p2202*
- ID_PRODUCT_FROM_DATABASE=Gem e-Seal Pro Token
-
-usb:v08E6p3437*
- ID_PRODUCT_FROM_DATABASE=GemPC Twin SmartCard Reader
-
-usb:v08E6p3438*
- ID_PRODUCT_FROM_DATABASE=GemPC Key SmartCard Reader
-
-usb:v08E6p3478*
- ID_PRODUCT_FROM_DATABASE=PinPad Smart Card Reader
-
-usb:v08E6p4433*
- ID_PRODUCT_FROM_DATABASE=GemPC433-Swap
-
-usb:v08E6p5501*
- ID_PRODUCT_FROM_DATABASE=GemProx-PU Contactless Smart Card Reader
-
-usb:v08E6pACE0*
- ID_PRODUCT_FROM_DATABASE=UA HYBRID TOKEN
-
-usb:v08E7*
- ID_VENDOR_FROM_DATABASE=Pan-International Wire & Cable
-
-usb:v08E8*
- ID_VENDOR_FROM_DATABASE=Integrated Memory Logic
-
-usb:v08E9*
- ID_VENDOR_FROM_DATABASE=Extended Systems, Inc.
-
-usb:v08E9p0100*
- ID_PRODUCT_FROM_DATABASE=XTNDAccess IrDA Dongle
-
-usb:v08EA*
- ID_VENDOR_FROM_DATABASE=Ericsson, Inc., Blue Ridge Labs
-
-usb:v08EAp00C9*
- ID_PRODUCT_FROM_DATABASE=ADSL Modem HM120dp Loader
-
-usb:v08EAp00CA*
- ID_PRODUCT_FROM_DATABASE=ADSL WAN Modem HM120dp
-
-usb:v08EAp00CE*
- ID_PRODUCT_FROM_DATABASE=HM230d Virtual Bus for Helium
-
-usb:v08EApABBA*
- ID_PRODUCT_FROM_DATABASE=USB Driver for Bluetooth Wireless Technology
-
-usb:v08EApABBB*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device in DFU State
-
-usb:v08EC*
- ID_VENDOR_FROM_DATABASE=M-Systems Flash Disk Pioneers
-
-usb:v08ECp0001*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v08ECp0002*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v08ECp0005*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v08ECp0008*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v08ECp0010*
- ID_PRODUCT_FROM_DATABASE=DiskOnKey
-
-usb:v08ECp0011*
- ID_PRODUCT_FROM_DATABASE=DiskOnKey
-
-usb:v08ECp0012*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v08ECp0014*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v08ECp0015*
- ID_PRODUCT_FROM_DATABASE=Kingston DataTraveler ELITE
-
-usb:v08ECp0016*
- ID_PRODUCT_FROM_DATABASE=Kingston DataTraveler U3
-
-usb:v08ECp0020*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp0021*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp0022*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp0023*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp0024*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp0025*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp0026*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp0027*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp0028*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp0029*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp0030*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp0822*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v08ECp0832*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed Mass Storage Device
-
-usb:v08ECp0834*
- ID_PRODUCT_FROM_DATABASE=M-Disk 220
-
-usb:v08ECp0998*
- ID_PRODUCT_FROM_DATABASE=Kingston Data Traveler2.0 Disk Driver
-
-usb:v08ECp0999*
- ID_PRODUCT_FROM_DATABASE=Kingston Data Traveler2.0 Disk Driver
-
-usb:v08ECp1000*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v08ECp2000*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v08ECp2038*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp2039*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp204A*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ECp204B*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v08ED*
- ID_VENDOR_FROM_DATABASE=MediaTek Inc.
-
-usb:v08EDp0002*
- ID_PRODUCT_FROM_DATABASE=CECT M800 memory card
-
-usb:v08EE*
- ID_VENDOR_FROM_DATABASE=CCSI/Hesso
-
-usb:v08F0*
- ID_VENDOR_FROM_DATABASE=Corex Technologies
-
-usb:v08F1*
- ID_VENDOR_FROM_DATABASE=CTI Electronics Corp.
-
-usb:v08F2*
- ID_VENDOR_FROM_DATABASE=Gotop Information Inc.
-
-usb:v08F2p007F*
- ID_PRODUCT_FROM_DATABASE=Super Q2 Tablet
-
-usb:v08F5*
- ID_VENDOR_FROM_DATABASE=SysTec Co., Ltd
-
-usb:v08F6*
- ID_VENDOR_FROM_DATABASE=Logic 3 International, Ltd
-
-usb:v08F7*
- ID_VENDOR_FROM_DATABASE=Vernier
-
-usb:v08F7p0001*
- ID_PRODUCT_FROM_DATABASE=LabPro
-
-usb:v08F7p0002*
- ID_PRODUCT_FROM_DATABASE=EasyTemp/Go!Temp
-
-usb:v08F7p0003*
- ID_PRODUCT_FROM_DATABASE=Go!Link
-
-usb:v08F7p0004*
- ID_PRODUCT_FROM_DATABASE=Go!Motion
-
-usb:v08F8*
- ID_VENDOR_FROM_DATABASE=Keen Top International Enterprise Co., Ltd
-
-usb:v08F9*
- ID_VENDOR_FROM_DATABASE=Wipro Technologies
-
-usb:v08FA*
- ID_VENDOR_FROM_DATABASE=Caere
-
-usb:v08FB*
- ID_VENDOR_FROM_DATABASE=Socket Communications
-
-usb:v08FC*
- ID_VENDOR_FROM_DATABASE=Sicon Cable Technology Co., Ltd
-
-usb:v08FD*
- ID_VENDOR_FROM_DATABASE=Digianswer A/S
-
-usb:v08FDp0001*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v08FF*
- ID_VENDOR_FROM_DATABASE=AuthenTec, Inc.
-
-usb:v08FFp1600*
- ID_PRODUCT_FROM_DATABASE=AES1600
-
-usb:v08FFp1610*
- ID_PRODUCT_FROM_DATABASE=AES1600
-
-usb:v08FFp1660*
- ID_PRODUCT_FROM_DATABASE=AES1660 Fingerprint Sensor
-
-usb:v08FFp1680*
- ID_PRODUCT_FROM_DATABASE=AES1660 Fingerprint Sensor
-
-usb:v08FFp168F*
- ID_PRODUCT_FROM_DATABASE=AES1660 Fingerprint Sensor
-
-usb:v08FFp2500*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp2501*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp2502*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp2503*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp2504*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp2505*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp2506*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp2507*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp2508*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp2509*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp250A*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp250B*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp250C*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp250D*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp250E*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp250F*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp2510*
- ID_PRODUCT_FROM_DATABASE=AES2510
-
-usb:v08FFp2550*
- ID_PRODUCT_FROM_DATABASE=AES2550 Fingerprint Sensor
-
-usb:v08FFp2580*
- ID_PRODUCT_FROM_DATABASE=AES2501 Fingerprint Sensor
-
-usb:v08FFp2588*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp2589*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp258A*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp258B*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp258C*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp258D*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp258E*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp258F*
- ID_PRODUCT_FROM_DATABASE=AES2501
-
-usb:v08FFp2660*
- ID_PRODUCT_FROM_DATABASE=AES2660 Fingerprint Sensor
-
-usb:v08FFp2680*
- ID_PRODUCT_FROM_DATABASE=AES2660 Fingerprint Sensor
-
-usb:v08FFp268F*
- ID_PRODUCT_FROM_DATABASE=AES2660 Fingerprint Sensor
-
-usb:v08FFp2810*
- ID_PRODUCT_FROM_DATABASE=AES2810
-
-usb:v08FFp3400*
- ID_PRODUCT_FROM_DATABASE=AES3400 TruePrint Sensor
-
-usb:v08FFp3401*
- ID_PRODUCT_FROM_DATABASE=AES3400 Sensor
-
-usb:v08FFp3402*
- ID_PRODUCT_FROM_DATABASE=AES3400 Sensor
-
-usb:v08FFp3403*
- ID_PRODUCT_FROM_DATABASE=AES3400 Sensor
-
-usb:v08FFp3404*
- ID_PRODUCT_FROM_DATABASE=AES3400 TruePrint Sensor
-
-usb:v08FFp3405*
- ID_PRODUCT_FROM_DATABASE=AES3400 TruePrint Sensor
-
-usb:v08FFp3406*
- ID_PRODUCT_FROM_DATABASE=AES3400 TruePrint Sensor
-
-usb:v08FFp3407*
- ID_PRODUCT_FROM_DATABASE=AES3400 TruePrint Sensor
-
-usb:v08FFp4902*
- ID_PRODUCT_FROM_DATABASE=BioMV with TruePrint AES3500
-
-usb:v08FFp4903*
- ID_PRODUCT_FROM_DATABASE=BioMV with TruePrint AES3400
-
-usb:v08FFp5500*
- ID_PRODUCT_FROM_DATABASE=AES4000
-
-usb:v08FFp5501*
- ID_PRODUCT_FROM_DATABASE=AES4000 TruePrint Sensor
-
-usb:v08FFp5503*
- ID_PRODUCT_FROM_DATABASE=AES4000 TruePrint Sensor
-
-usb:v08FFp5505*
- ID_PRODUCT_FROM_DATABASE=AES4000 TruePrint Sensor
-
-usb:v08FFp5507*
- ID_PRODUCT_FROM_DATABASE=AES4000 TruePrint Sensor
-
-usb:v08FFp55FF*
- ID_PRODUCT_FROM_DATABASE=AES4000 TruePrint Sensor.
-
-usb:v08FFp5700*
- ID_PRODUCT_FROM_DATABASE=AES3500 Fingerprint Reader
-
-usb:v08FFp5701*
- ID_PRODUCT_FROM_DATABASE=AES3500 TruePrint Sensor
-
-usb:v08FFp5702*
- ID_PRODUCT_FROM_DATABASE=AES3500 TruePrint Sensor
-
-usb:v08FFp5703*
- ID_PRODUCT_FROM_DATABASE=AES3500 TruePrint Sensor
-
-usb:v08FFp5704*
- ID_PRODUCT_FROM_DATABASE=AES3500-BZ TruePrint Sensor
-
-usb:v08FFp5705*
- ID_PRODUCT_FROM_DATABASE=AES3500-BZ TruePrint Sensor
-
-usb:v08FFp5706*
- ID_PRODUCT_FROM_DATABASE=AES3500-BZ TruePrint Sensor
-
-usb:v08FFp5707*
- ID_PRODUCT_FROM_DATABASE=AES3500-BZ TruePrint Sensor
-
-usb:v08FFp5710*
- ID_PRODUCT_FROM_DATABASE=AES3500 TruePrint Sensor
-
-usb:v08FFp5711*
- ID_PRODUCT_FROM_DATABASE=AES3500 TruePrint Sensor
-
-usb:v08FFp5712*
- ID_PRODUCT_FROM_DATABASE=AES3500 TruePrint Sensor
-
-usb:v08FFp5713*
- ID_PRODUCT_FROM_DATABASE=AES3500 TruePrint Sensor
-
-usb:v08FFp5714*
- ID_PRODUCT_FROM_DATABASE=AES3500-BZ TruePrint Sensor
-
-usb:v08FFp5715*
- ID_PRODUCT_FROM_DATABASE=AES3500-BZ TruePrint Sensor
-
-usb:v08FFp5716*
- ID_PRODUCT_FROM_DATABASE=AES3500-BZ TruePrint Sensor
-
-usb:v08FFp5717*
- ID_PRODUCT_FROM_DATABASE=AES3500-BZ TruePrint Sensor
-
-usb:v08FFp5730*
- ID_PRODUCT_FROM_DATABASE=AES3500 TruePrint Sensor
-
-usb:v08FFp5731*
- ID_PRODUCT_FROM_DATABASE=AES3500 TruePrint Sensor
-
-usb:v08FFp5732*
- ID_PRODUCT_FROM_DATABASE=AES3500 TruePrint Sensor
-
-usb:v08FFp5733*
- ID_PRODUCT_FROM_DATABASE=AES3500 TruePrint Sensor
-
-usb:v08FFp5734*
- ID_PRODUCT_FROM_DATABASE=AES3500-BZ TruePrint Sensor
-
-usb:v08FFp5735*
- ID_PRODUCT_FROM_DATABASE=AES3500-BZ TruePrint Sensor
-
-usb:v08FFp5736*
- ID_PRODUCT_FROM_DATABASE=AES3500-BZ TruePrint Sensor
-
-usb:v08FFp5737*
- ID_PRODUCT_FROM_DATABASE=AES3500-BZ TruePrint Sensor
-
-usb:v08FFpAFE3*
- ID_PRODUCT_FROM_DATABASE=FingerLoc Sensor Module (Anchor)
-
-usb:v08FFpAFE4*
- ID_PRODUCT_FROM_DATABASE=FingerLoc Sensor Module (Anchor)
-
-usb:v08FFpAFE5*
- ID_PRODUCT_FROM_DATABASE=FingerLoc Sensor Module (Anchor)
-
-usb:v08FFpAFE6*
- ID_PRODUCT_FROM_DATABASE=FingerLoc Sensor Module (Anchor)
-
-usb:v08FFpFFFD*
- ID_PRODUCT_FROM_DATABASE=AES2510 Sensor (USB Emulator)
-
-usb:v08FFpFFFF*
- ID_PRODUCT_FROM_DATABASE=Sensor (Emulator)
-
-usb:v0900*
- ID_VENDOR_FROM_DATABASE=Pinnacle Systems, Inc.
-
-usb:v0901*
- ID_VENDOR_FROM_DATABASE=VST Technologies
-
-usb:v0901p0001*
- ID_PRODUCT_FROM_DATABASE=Hard Drive Adapter (TPP)
-
-usb:v0901p0002*
- ID_PRODUCT_FROM_DATABASE=SigmaDrive Adapter (TPP)
-
-usb:v0906*
- ID_VENDOR_FROM_DATABASE=Faraday Technology Corp.
-
-usb:v0908*
- ID_VENDOR_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd
-
-usb:v0908p2701*
- ID_PRODUCT_FROM_DATABASE=Spy Pen VGA
-
-usb:v0909*
- ID_VENDOR_FROM_DATABASE=Audio-Technica Corp.
-
-usb:v090A*
- ID_VENDOR_FROM_DATABASE=Trumpion Microelectronics, Inc.
-
-usb:v090Ap1001*
- ID_PRODUCT_FROM_DATABASE=T33520 Flash Card Controller
-
-usb:v090Ap1100*
- ID_PRODUCT_FROM_DATABASE=Comotron C3310 MP3 player
-
-usb:v090Ap1200*
- ID_PRODUCT_FROM_DATABASE=MP3 player
-
-usb:v090Ap1540*
- ID_PRODUCT_FROM_DATABASE=Digitex Container Flash Disk
-
-usb:v090B*
- ID_VENDOR_FROM_DATABASE=Neurosmith
-
-usb:v090C*
- ID_VENDOR_FROM_DATABASE=Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.)
-
-usb:v090Cp0371*
- ID_PRODUCT_FROM_DATABASE=Silicon Motion SM371 Camera
-
-usb:v090Cp0373*
- ID_PRODUCT_FROM_DATABASE=Silicon Motion Camera
-
-usb:v090Cp037A*
- ID_PRODUCT_FROM_DATABASE=Silicon Motion Camera
-
-usb:v090Cp037B*
- ID_PRODUCT_FROM_DATABASE=Silicon Motion Camera
-
-usb:v090Cp1000*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v090Cp1132*
- ID_PRODUCT_FROM_DATABASE=5-in-1 Card Reader
-
-usb:v090Cp337B*
- ID_PRODUCT_FROM_DATABASE=Silicon Motion Camera
-
-usb:v090Cp3710*
- ID_PRODUCT_FROM_DATABASE=Silicon Motion Camera
-
-usb:v090Cp3720*
- ID_PRODUCT_FROM_DATABASE=Silicon Motion Camera
-
-usb:v090Cp37BC*
- ID_PRODUCT_FROM_DATABASE=HP Webcam-101 Integrated Camera
-
-usb:v090Cp37C0*
- ID_PRODUCT_FROM_DATABASE=Silicon Motion Camera
-
-usb:v090Cp6000*
- ID_PRODUCT_FROM_DATABASE=SD/SDHC Card Reader (SG365 / FlexiDrive XC+)
-
-usb:v090Cp6200*
- ID_PRODUCT_FROM_DATABASE=microSD card reader
-
-usb:v090Cp71B3*
- ID_PRODUCT_FROM_DATABASE=SM731 Camera
-
-usb:v090Cp837B*
- ID_PRODUCT_FROM_DATABASE=Silicon Motion Camera
-
-usb:v090Cp937B*
- ID_PRODUCT_FROM_DATABASE=Silicon Motion Camera
-
-usb:v090CpB370*
- ID_PRODUCT_FROM_DATABASE=Silicon Motion SM370 Camera
-
-usb:v090CpB371*
- ID_PRODUCT_FROM_DATABASE=Silicon Motion SM371 Camera
-
-usb:v090D*
- ID_VENDOR_FROM_DATABASE=Multiport Computer Vertriebs GmbH
-
-usb:v090E*
- ID_VENDOR_FROM_DATABASE=Shining Technology, Inc.
-
-usb:v090F*
- ID_VENDOR_FROM_DATABASE=Fujitsu Devices, Inc.
-
-usb:v0910*
- ID_VENDOR_FROM_DATABASE=Alation Systems, Inc.
-
-usb:v0911*
- ID_VENDOR_FROM_DATABASE=Philips Speech Processing
-
-usb:v0911p149A*
- ID_PRODUCT_FROM_DATABASE=SpeechMike II Pro Plus LFH5276
-
-usb:v0911p2512*
- ID_PRODUCT_FROM_DATABASE=SpeechMike Pro
-
-usb:v0912*
- ID_VENDOR_FROM_DATABASE=Voquette, Inc.
-
-usb:v0915*
- ID_VENDOR_FROM_DATABASE=GlobeSpan, Inc.
-
-usb:v0915p0001*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v0915p0002*
- ID_PRODUCT_FROM_DATABASE=ADSL ATM Modem
-
-usb:v0915p0005*
- ID_PRODUCT_FROM_DATABASE=LAN Modem
-
-usb:v0915p2000*
- ID_PRODUCT_FROM_DATABASE=802.11 Adapter
-
-usb:v0915p2002*
- ID_PRODUCT_FROM_DATABASE=802.11 Adapter
-
-usb:v0915p8000*
- ID_PRODUCT_FROM_DATABASE=ADSL LAN Modem
-
-usb:v0915p8005*
- ID_PRODUCT_FROM_DATABASE=DSL-302G Modem
-
-usb:v0915p8101*
- ID_PRODUCT_FROM_DATABASE=ADSL WAN Modem
-
-usb:v0915p8102*
- ID_PRODUCT_FROM_DATABASE=DSL-200 ADSL Modem
-
-usb:v0915p8103*
- ID_PRODUCT_FROM_DATABASE=DSL-200 ADSL Modem
-
-usb:v0915p8104*
- ID_PRODUCT_FROM_DATABASE=DSL-200 Modem
-
-usb:v0915p8400*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v0915p8401*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v0915p8402*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v0915p8500*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v0915p8501*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v0917*
- ID_VENDOR_FROM_DATABASE=SmartDisk Corp.
-
-usb:v0917p0001*
- ID_PRODUCT_FROM_DATABASE=eFilm Reader-11 SM/CF
-
-usb:v0917p0002*
- ID_PRODUCT_FROM_DATABASE=eFilm Reader-11 SM
-
-usb:v0917p0003*
- ID_PRODUCT_FROM_DATABASE=eFilm Reader-11 CF
-
-usb:v0917p0200*
- ID_PRODUCT_FROM_DATABASE=FireFly
-
-usb:v0917p0201*
- ID_PRODUCT_FROM_DATABASE=FireLite
-
-usb:v0917p0202*
- ID_PRODUCT_FROM_DATABASE=STORAGE ADAPTER (FirePower)
-
-usb:v0917p0204*
- ID_PRODUCT_FROM_DATABASE=FlashTrax Storage
-
-usb:v0917p0205*
- ID_PRODUCT_FROM_DATABASE=STORAGE ADAPTER (CrossFire)
-
-usb:v0917p0206*
- ID_PRODUCT_FROM_DATABASE=FireFly 20G HDD
-
-usb:v0917p0207*
- ID_PRODUCT_FROM_DATABASE=FireLite
-
-usb:v0917p020F*
- ID_PRODUCT_FROM_DATABASE=STORAGE ADAPTER (FireLite)
-
-usb:v0917pDA01*
- ID_PRODUCT_FROM_DATABASE=eFilm Reader-11 Test
-
-usb:v0917pFFFF*
- ID_PRODUCT_FROM_DATABASE=eFilm Reader-11 (Class/PDR)
-
-usb:v0919*
- ID_VENDOR_FROM_DATABASE=Tiger Electronics
-
-usb:v0919p0100*
- ID_PRODUCT_FROM_DATABASE=Fast Flicks Digital Camera
-
-usb:v091E*
- ID_VENDOR_FROM_DATABASE=Garmin International
-
-usb:v091Ep0003*
- ID_PRODUCT_FROM_DATABASE=GPS (various models)
-
-usb:v091Ep0004*
- ID_PRODUCT_FROM_DATABASE=iQue 3600
-
-usb:v091Ep0200*
- ID_PRODUCT_FROM_DATABASE=Data Card Programmer (install)
-
-usb:v091Ep1200*
- ID_PRODUCT_FROM_DATABASE=Data Card Programmer
-
-usb:v091Ep21A5*
- ID_PRODUCT_FROM_DATABASE=etrex Cx (msc)
-
-usb:v091Ep2236*
- ID_PRODUCT_FROM_DATABASE=nuvi 360
-
-usb:v091Ep2271*
- ID_PRODUCT_FROM_DATABASE=Edge 605/705
-
-usb:v091Ep2295*
- ID_PRODUCT_FROM_DATABASE=Colorado 300
-
-usb:v091Ep22B6*
- ID_PRODUCT_FROM_DATABASE=eTrex Vista HCx (Mass Storage mode)
-
-usb:v091Ep231B*
- ID_PRODUCT_FROM_DATABASE=Oregon 400t
-
-usb:v091Ep2353*
- ID_PRODUCT_FROM_DATABASE=Nüvi 205T
-
-usb:v091Ep2380*
- ID_PRODUCT_FROM_DATABASE=Oregon series
-
-usb:v091Ep23CC*
- ID_PRODUCT_FROM_DATABASE=nüvi 1350
-
-usb:v091Ep2459*
- ID_PRODUCT_FROM_DATABASE=GPSmap 62/78 series
-
-usb:v091Ep2519*
- ID_PRODUCT_FROM_DATABASE=eTrex 30
-
-usb:v091Ep2535*
- ID_PRODUCT_FROM_DATABASE=Edge 800
-
-usb:v091Ep255B*
- ID_PRODUCT_FROM_DATABASE=Nuvi 2505LM
-
-usb:v0920*
- ID_VENDOR_FROM_DATABASE=Echelon Co.
-
-usb:v0920p7500*
- ID_PRODUCT_FROM_DATABASE=Network Interface
-
-usb:v0921*
- ID_VENDOR_FROM_DATABASE=GoHubs, Inc.
-
-usb:v0921p1001*
- ID_PRODUCT_FROM_DATABASE=GoCOM232 Serial
-
-usb:v0922*
- ID_VENDOR_FROM_DATABASE=Dymo-CoStar Corp.
-
-usb:v0922p0007*
- ID_PRODUCT_FROM_DATABASE=LabelWriter 330
-
-usb:v0922p0009*
- ID_PRODUCT_FROM_DATABASE=LabelWriter 310
-
-usb:v0922p001A*
- ID_PRODUCT_FROM_DATABASE=LabelWriter 400 Turbo
-
-usb:v0922p0020*
- ID_PRODUCT_FROM_DATABASE=LabelWriter 450
-
-usb:v0923*
- ID_VENDOR_FROM_DATABASE=IC Media Corp.
-
-usb:v0923p010F*
- ID_PRODUCT_FROM_DATABASE=SIIG MobileCam
-
-usb:v0924*
- ID_VENDOR_FROM_DATABASE=Xerox
-
-usb:v0924p23DD*
- ID_PRODUCT_FROM_DATABASE=DocuPrint M760 (X760_USB)
-
-usb:v0924p3CE8*
- ID_PRODUCT_FROM_DATABASE=Phaser 3428 Printer
-
-usb:v0924p3D5B*
- ID_PRODUCT_FROM_DATABASE=Phaser 6115MFP TWAIN Scanner
-
-usb:v0924p420F*
- ID_PRODUCT_FROM_DATABASE=WorkCentre PE220 Series
-
-usb:v0924p421F*
- ID_PRODUCT_FROM_DATABASE=M20 Scanner
-
-usb:v0924p423B*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v0924p4274*
- ID_PRODUCT_FROM_DATABASE=Xerox Phaser 3635MFPX
-
-usb:v0924pFFEF*
- ID_PRODUCT_FROM_DATABASE=WorkCenter M15
-
-usb:v0924pFFFB*
- ID_PRODUCT_FROM_DATABASE=DocuPrint M750 (X750_USB)
-
-usb:v0925*
- ID_VENDOR_FROM_DATABASE=Lakeview Research
-
-usb:v0925p0005*
- ID_PRODUCT_FROM_DATABASE=Gamtec.,Ltd SmartJoy PLUS Adapter
-
-usb:v0925p3881*
- ID_PRODUCT_FROM_DATABASE=Saleae Logic
-
-usb:v0925p8101*
- ID_PRODUCT_FROM_DATABASE=Phidgets, Inc., 1-Motor PhidgetServo v2.0
-
-usb:v0925p8104*
- ID_PRODUCT_FROM_DATABASE=Phidgets, Inc., 4-Motor PhidgetServo v2.0
-
-usb:v0925p8800*
- ID_PRODUCT_FROM_DATABASE=WiseGroup Ltd, MP-8800 Quad Joypad
-
-usb:v0925p8866*
- ID_PRODUCT_FROM_DATABASE=WiseGroup Ltd, MP-8866 Dual Joypad
-
-usb:v0927*
- ID_VENDOR_FROM_DATABASE=Summus, Ltd
-
-usb:v0928*
- ID_VENDOR_FROM_DATABASE=PLX Technology, Inc. (formerly Oxford Semiconductor, Ltd)
-
-usb:v0928p8000*
- ID_PRODUCT_FROM_DATABASE=Firmware uploader
-
-usb:v0929*
- ID_VENDOR_FROM_DATABASE=American Biometric Co.
-
-usb:v092A*
- ID_VENDOR_FROM_DATABASE=Toshiba Information & Industrial Sys. And Services
-
-usb:v092B*
- ID_VENDOR_FROM_DATABASE=Sena Technologies, Inc.
-
-usb:v092F*
- ID_VENDOR_FROM_DATABASE=Northern Embedded Science/CAVNEX
-
-usb:v092Fp0004*
- ID_PRODUCT_FROM_DATABASE=JTAG-4
-
-usb:v092Fp0005*
- ID_PRODUCT_FROM_DATABASE=JTAG-5
-
-usb:v0930*
- ID_VENDOR_FROM_DATABASE=Toshiba Corp.
-
-usb:v0930p0009*
- ID_PRODUCT_FROM_DATABASE=Gigabeat F/X (HDD audio player)
-
-usb:v0930p000C*
- ID_PRODUCT_FROM_DATABASE=Gigabeat F (mtp)
-
-usb:v0930p0010*
- ID_PRODUCT_FROM_DATABASE=Gigabeat S (mtp)
-
-usb:v0930p0301*
- ID_PRODUCT_FROM_DATABASE=PCX1100U Cable Modem (WDM)
-
-usb:v0930p0302*
- ID_PRODUCT_FROM_DATABASE=PCX2000 Cable Modem (WDM)
-
-usb:v0930p0305*
- ID_PRODUCT_FROM_DATABASE=Cable Modem PCX3000
-
-usb:v0930p0307*
- ID_PRODUCT_FROM_DATABASE=Cable Modem PCX2500
-
-usb:v0930p0308*
- ID_PRODUCT_FROM_DATABASE=PCX2200 Cable Modem (WDM)
-
-usb:v0930p0309*
- ID_PRODUCT_FROM_DATABASE=PCX5000 Cable Modem (WDM)
-
-usb:v0930p030B*
- ID_PRODUCT_FROM_DATABASE=Cable Modem PCX2600
-
-usb:v0930p0501*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Controller
-
-usb:v0930p0502*
- ID_PRODUCT_FROM_DATABASE=Integrated Bluetooth
-
-usb:v0930p0503*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Controller
-
-usb:v0930p0505*
- ID_PRODUCT_FROM_DATABASE=Integrated Bluetooth
-
-usb:v0930p0506*
- ID_PRODUCT_FROM_DATABASE=Integrated Bluetooth
-
-usb:v0930p0507*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Adapter
-
-usb:v0930p0508*
- ID_PRODUCT_FROM_DATABASE=Integrated Bluetooth HCI
-
-usb:v0930p0509*
- ID_PRODUCT_FROM_DATABASE=BT EDR Dongle
-
-usb:v0930p0706*
- ID_PRODUCT_FROM_DATABASE=PocketPC e740
-
-usb:v0930p0707*
- ID_PRODUCT_FROM_DATABASE=Pocket PC e330 Series
-
-usb:v0930p0708*
- ID_PRODUCT_FROM_DATABASE=Pocket PC e350 Series
-
-usb:v0930p0709*
- ID_PRODUCT_FROM_DATABASE=Pocket PC e750 Series
-
-usb:v0930p070A*
- ID_PRODUCT_FROM_DATABASE=Pocket PC e400 Series
-
-usb:v0930p070B*
- ID_PRODUCT_FROM_DATABASE=Pocket PC e800 Series
-
-usb:v0930p0A07*
- ID_PRODUCT_FROM_DATABASE=WLM-10U1 802.11abgn Wireless Adapter [Ralink RT3572]
-
-usb:v0930p0B05*
- ID_PRODUCT_FROM_DATABASE=PX1220E-1G25 External hard drive
-
-usb:v0930p0B09*
- ID_PRODUCT_FROM_DATABASE=PX1396E-3T01 External hard drive
-
-usb:v0930p1300*
- ID_PRODUCT_FROM_DATABASE=Wireless Broadband (CDMA EV-DO) SM-Bus Minicard Status Port
-
-usb:v0930p1301*
- ID_PRODUCT_FROM_DATABASE=Wireless Broadband (CDMA EV-DO) Minicard Status Port
-
-usb:v0930p1302*
- ID_PRODUCT_FROM_DATABASE=Wireless Broadband (3G HSDPA) SM-Bus Minicard Status Port
-
-usb:v0930p1303*
- ID_PRODUCT_FROM_DATABASE=Wireless Broadband (3G HSDPA) Minicard Status Port
-
-usb:v0930p1308*
- ID_PRODUCT_FROM_DATABASE=Broadband (3G HSDPA) SM-Bus Minicard Diagnostics Port
-
-usb:v0930p130B*
- ID_PRODUCT_FROM_DATABASE=F3507g Mobile Broadband Module
-
-usb:v0930p130C*
- ID_PRODUCT_FROM_DATABASE=F3607gw Mobile Broadband Module
-
-usb:v0930p1311*
- ID_PRODUCT_FROM_DATABASE=F3607gw v2 Mobile Broadband Module
-
-usb:v0930p1400*
- ID_PRODUCT_FROM_DATABASE=Memory Stick 2GB
-
-usb:v0930p642F*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p6506*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p6507*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p6508*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p6509*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p6510*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p6517*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p6518*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p6519*
- ID_PRODUCT_FROM_DATABASE=Kingston DataTraveler 2.0 USB Stick
-
-usb:v0930p651A*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p651B*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p651C*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p651D*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p651E*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p651F*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p6520*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p6521*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p6522*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2C
-
-usb:v0930p6523*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p6524*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p6525*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p6526*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p6527*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p6528*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p6529*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p652A*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p652B*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p652C*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p652D*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p652F*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p6530*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p6531*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p6532*
- ID_PRODUCT_FROM_DATABASE=256M Stick
-
-usb:v0930p6533*
- ID_PRODUCT_FROM_DATABASE=512M Stick
-
-usb:v0930p6534*
- ID_PRODUCT_FROM_DATABASE=TravelDrive
-
-usb:v0930p653C*
- ID_PRODUCT_FROM_DATABASE=Kingston DataTraveler 2.0 Stick (512M)
-
-usb:v0930p653D*
- ID_PRODUCT_FROM_DATABASE=Kingston DataTraveler 2.0 Stick (1GB)
-
-usb:v0930p653E*
- ID_PRODUCT_FROM_DATABASE=Flash Memory
-
-usb:v0930p6540*
- ID_PRODUCT_FROM_DATABASE=TransMemory Flash Memory
-
-usb:v0930p6544*
- ID_PRODUCT_FROM_DATABASE=Kingston DataTraveler 2.0 Stick (2GB)
-
-usb:v0930p6545*
- ID_PRODUCT_FROM_DATABASE=Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick
-
-usb:v0931*
- ID_VENDOR_FROM_DATABASE=Harmonic Data Systems, Ltd
-
-usb:v0932*
- ID_VENDOR_FROM_DATABASE=Crescentec Corp.
-
-usb:v0932p0300*
- ID_PRODUCT_FROM_DATABASE=VideoAdvantage
-
-usb:v0932p0302*
- ID_PRODUCT_FROM_DATABASE=Syntek DC-112X
-
-usb:v0932p0320*
- ID_PRODUCT_FROM_DATABASE=VideoAdvantage
-
-usb:v0932p0482*
- ID_PRODUCT_FROM_DATABASE=USB2.0 TVBOX
-
-usb:v0932p1100*
- ID_PRODUCT_FROM_DATABASE=DC-1100 Video Enhamcement Device
-
-usb:v0932p1112*
- ID_PRODUCT_FROM_DATABASE=Veo Web Camera
-
-usb:v0932pA311*
- ID_PRODUCT_FROM_DATABASE=Video Enhancement Device
-
-usb:v0933*
- ID_VENDOR_FROM_DATABASE=Quantum Corp.
-
-usb:v0934*
- ID_VENDOR_FROM_DATABASE=Spirent Communications
-
-usb:v0936*
- ID_VENDOR_FROM_DATABASE=NuTesla
-
-usb:v0936p0030*
- ID_PRODUCT_FROM_DATABASE=Composite Device, Mass Storage Device (Flash Drive) amd HID
-
-usb:v0936p003C*
- ID_PRODUCT_FROM_DATABASE=Rhythmedics HID Bootloader
-
-usb:v0939*
- ID_VENDOR_FROM_DATABASE=Lumberg, Inc.
-
-usb:v0939p0B15*
- ID_PRODUCT_FROM_DATABASE=Toshiba Stor.E Alu 2 1TB (PX1710E-1HJ0)
-
-usb:v093A*
- ID_VENDOR_FROM_DATABASE=Pixart Imaging, Inc.
-
-usb:v093Ap0007*
- ID_PRODUCT_FROM_DATABASE=CMOS 100K-R Rev. 1.90
-
-usb:v093Ap010E*
- ID_PRODUCT_FROM_DATABASE=Digital camera, CD302N/Elta Medi@ digi-cam/HE-501A
-
-usb:v093Ap010F*
- ID_PRODUCT_FROM_DATABASE=Argus DC-1610/DC-1620/Emprex PCD3600/Philips P44417B keychain camera/Precision Mini,Model HA513A/Vivitar Vivicam 55
-
-usb:v093Ap020F*
- ID_PRODUCT_FROM_DATABASE=Bullet Line Photo Viewer
-
-usb:v093Ap050F*
- ID_PRODUCT_FROM_DATABASE=Mars-Semi Pc-Camera
-
-usb:v093Ap2460*
- ID_PRODUCT_FROM_DATABASE=Q-TEC WEBCAM 100
-
-usb:v093Ap2468*
- ID_PRODUCT_FROM_DATABASE=SoC PC-Camera
-
-usb:v093Ap2470*
- ID_PRODUCT_FROM_DATABASE=SoC PC-Camera
-
-usb:v093Ap2471*
- ID_PRODUCT_FROM_DATABASE=SoC PC-Camera
-
-usb:v093Ap2500*
- ID_PRODUCT_FROM_DATABASE=USB Optical Mouse
-
-usb:v093Ap2510*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v093Ap2600*
- ID_PRODUCT_FROM_DATABASE=Typhoon Easycam USB 330K (newer)/Typhoon Easycam USB 2.0 VGA 1.3M/Sansun SN-508
-
-usb:v093Ap2601*
- ID_PRODUCT_FROM_DATABASE=SPC 610NC Laptop Camera
-
-usb:v093Ap2603*
- ID_PRODUCT_FROM_DATABASE=PAC7312 Camera
-
-usb:v093Ap2608*
- ID_PRODUCT_FROM_DATABASE=PAC7311 Trust WB-3300p
-
-usb:v093Ap260E*
- ID_PRODUCT_FROM_DATABASE=PAC7311 Gigaware VGA PC Camera:Trust WB-3350p:SIGMA cam 2350
-
-usb:v093Ap260F*
- ID_PRODUCT_FROM_DATABASE=PAC7311 SnakeCam
-
-usb:v093Ap2621*
- ID_PRODUCT_FROM_DATABASE=PAC731x Trust Webcam
-
-usb:v093Ap2624*
- ID_PRODUCT_FROM_DATABASE=Webcam
-
-usb:v093B*
- ID_VENDOR_FROM_DATABASE=Plextor Corp.
-
-usb:v093Bp0010*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter
-
-usb:v093Bp0011*
- ID_PRODUCT_FROM_DATABASE=PlexWriter 40/12/40U
-
-usb:v093Bp0041*
- ID_PRODUCT_FROM_DATABASE=PX-708A DVD RW
-
-usb:v093Bp0042*
- ID_PRODUCT_FROM_DATABASE=PX-712UF DVD RW
-
-usb:v093BpA002*
- ID_PRODUCT_FROM_DATABASE=ConvertX M402U XLOADER
-
-usb:v093BpA003*
- ID_PRODUCT_FROM_DATABASE=ConvertX AV100U A/V Capture Audio
-
-usb:v093BpA004*
- ID_PRODUCT_FROM_DATABASE=ConvertX TV402U XLOADER
-
-usb:v093BpA005*
- ID_PRODUCT_FROM_DATABASE=ConvertX TV100U A/V Capture
-
-usb:v093BpA102*
- ID_PRODUCT_FROM_DATABASE=ConvertX M402U A/V Capture
-
-usb:v093BpA104*
- ID_PRODUCT_FROM_DATABASE=ConvertX PX-TV402U/NA
-
-usb:v093C*
- ID_VENDOR_FROM_DATABASE=Intrepid Control Systems, Inc.
-
-usb:v093Cp0601*
- ID_PRODUCT_FROM_DATABASE=ValueCAN
-
-usb:v093Cp0701*
- ID_PRODUCT_FROM_DATABASE=NeoVI Blue vehicle bus interface
-
-usb:v093D*
- ID_VENDOR_FROM_DATABASE=InnoSync, Inc.
-
-usb:v093E*
- ID_VENDOR_FROM_DATABASE=J.S.T. Mfg. Co., Ltd
-
-usb:v093F*
- ID_VENDOR_FROM_DATABASE=Olympia Telecom Vertriebs GmbH
-
-usb:v0940*
- ID_VENDOR_FROM_DATABASE=Japan Storage Battery Co., Ltd
-
-usb:v0941*
- ID_VENDOR_FROM_DATABASE=Photobit Corp.
-
-usb:v0942*
- ID_VENDOR_FROM_DATABASE=i2Go.com, LLC
-
-usb:v0943*
- ID_VENDOR_FROM_DATABASE=HCL Technologies India Private, Ltd
-
-usb:v0944*
- ID_VENDOR_FROM_DATABASE=KORG, Inc.
-
-usb:v0944p0001*
- ID_PRODUCT_FROM_DATABASE=PXR4 4-Track Digital Recorder
-
-usb:v0944p0020*
- ID_PRODUCT_FROM_DATABASE=KAOSS Pad KP3 Dynamic Effect/Sampler
-
-usb:v0944p0023*
- ID_PRODUCT_FROM_DATABASE=KAOSSILATOR PRO Dynamic Phrase Synthesizer
-
-usb:v0944p010D*
- ID_PRODUCT_FROM_DATABASE=nanoKEY MIDI keyboard
-
-usb:v0944p010E*
- ID_PRODUCT_FROM_DATABASE=nanoPAD pad controller
-
-usb:v0944p010F*
- ID_PRODUCT_FROM_DATABASE=nanoKONTROL studio controller
-
-usb:v0944p0117*
- ID_PRODUCT_FROM_DATABASE=nanoKONTROL2 MIDI Controller
-
-usb:v0944p0F03*
- ID_PRODUCT_FROM_DATABASE=K-Series K61P MIDI studio controller
-
-usb:v0945*
- ID_VENDOR_FROM_DATABASE=Pasco Scientific
-
-usb:v0948*
- ID_VENDOR_FROM_DATABASE=Kronauer music in digital
-
-usb:v0948p0301*
- ID_PRODUCT_FROM_DATABASE=USB Pro (24/48)
-
-usb:v0948p0302*
- ID_PRODUCT_FROM_DATABASE=USB Pro (24/96 playback)
-
-usb:v0948p0303*
- ID_PRODUCT_FROM_DATABASE=USB Pro (24/96 record)
-
-usb:v0948p0304*
- ID_PRODUCT_FROM_DATABASE=USB Pro (16/48)
-
-usb:v0948p1105*
- ID_PRODUCT_FROM_DATABASE=USB One
-
-usb:v094B*
- ID_VENDOR_FROM_DATABASE=Linkup Systems Corp.
-
-usb:v094Bp0001*
- ID_PRODUCT_FROM_DATABASE=neonode N2
-
-usb:v094D*
- ID_VENDOR_FROM_DATABASE=Cable Television Laboratories
-
-usb:v094F*
- ID_VENDOR_FROM_DATABASE=Yano
-
-usb:v094Fp0101*
- ID_PRODUCT_FROM_DATABASE=U640MO-03
-
-usb:v094Fp05FC*
- ID_PRODUCT_FROM_DATABASE=METALWEAR-HDD
-
-usb:v0951*
- ID_VENDOR_FROM_DATABASE=Kingston Technology
-
-usb:v0951p0008*
- ID_PRODUCT_FROM_DATABASE=Ethernet
-
-usb:v0951p000A*
- ID_PRODUCT_FROM_DATABASE=KNU101TX 100baseTX Ethernet
-
-usb:v0951p1600*
- ID_PRODUCT_FROM_DATABASE=DataTraveler II Pen Drive
-
-usb:v0951p1601*
- ID_PRODUCT_FROM_DATABASE=DataTraveler II+ Pen Drive
-
-usb:v0951p1602*
- ID_PRODUCT_FROM_DATABASE=DataTraveler Mini
-
-usb:v0951p1603*
- ID_PRODUCT_FROM_DATABASE=DataTraveler 1GB/2GB Pen Drive
-
-usb:v0951p1606*
- ID_PRODUCT_FROM_DATABASE=Eee PC 701 SD Card Reader [ENE UB6225]
-
-usb:v0951p1607*
- ID_PRODUCT_FROM_DATABASE=DataTraveler 100
-
-usb:v0951p160D*
- ID_PRODUCT_FROM_DATABASE=DataTraveler Vault Privacy
-
-usb:v0951p1613*
- ID_PRODUCT_FROM_DATABASE=DataTraveler DT101C Flash Drive
-
-usb:v0951p1616*
- ID_PRODUCT_FROM_DATABASE=DataTraveler Locker 4GB
-
-usb:v0951p1621*
- ID_PRODUCT_FROM_DATABASE=DataTraveler 150 (32GB)
-
-usb:v0951p1624*
- ID_PRODUCT_FROM_DATABASE=DataTraveler G2 4GB Pen Drive
-
-usb:v0951p1625*
- ID_PRODUCT_FROM_DATABASE=DataTraveler 101 II
-
-usb:v0951p162A*
- ID_PRODUCT_FROM_DATABASE=DataTraveler 112 4GB Pen Drive
-
-usb:v0951p162D*
- ID_PRODUCT_FROM_DATABASE=DataTraveler 102
-
-usb:v0951p1630*
- ID_PRODUCT_FROM_DATABASE=DataTraveler 200 (32GB)
-
-usb:v0951p1642*
- ID_PRODUCT_FROM_DATABASE=DT101 G2
-
-usb:v0951p1643*
- ID_PRODUCT_FROM_DATABASE=DataTraveler G3 4GB
-
-usb:v0951p1653*
- ID_PRODUCT_FROM_DATABASE=Data Traveler 100 G2 8 GiB
-
-usb:v0951p1656*
- ID_PRODUCT_FROM_DATABASE=DataTraveler Ultimate G2
-
-usb:v0954*
- ID_VENDOR_FROM_DATABASE=RPM Systems Corp.
-
-usb:v0955*
- ID_VENDOR_FROM_DATABASE=NVidia Corp.
-
-usb:v0955p7030*
- ID_PRODUCT_FROM_DATABASE=Tegra 3 (recovery mode)
-
-usb:v0955p7100*
- ID_PRODUCT_FROM_DATABASE=Notion Ink Adam
-
-usb:v0956*
- ID_VENDOR_FROM_DATABASE=BSquare Corp.
-
-usb:v0957*
- ID_VENDOR_FROM_DATABASE=Agilent Technologies, Inc.
-
-usb:v0957p0200*
- ID_PRODUCT_FROM_DATABASE=E-Video DC-350 Camera
-
-usb:v0957p0202*
- ID_PRODUCT_FROM_DATABASE=E-Video DC-350 Camera
-
-usb:v0957p0518*
- ID_PRODUCT_FROM_DATABASE=82357B GPIB Interface
-
-usb:v0957p1745*
- ID_PRODUCT_FROM_DATABASE=Test and Measurement Device (IVI)
-
-usb:v0957p2918*
- ID_PRODUCT_FROM_DATABASE=U2702A oscilloscope
-
-usb:v0958*
- ID_VENDOR_FROM_DATABASE=CompuLink Research, Inc.
-
-usb:v0959*
- ID_VENDOR_FROM_DATABASE=Cologne Chip AG
-
-usb:v0959p2BD0*
- ID_PRODUCT_FROM_DATABASE=Intelligent ISDN (Ver. 3.60.04)
-
-usb:v095A*
- ID_VENDOR_FROM_DATABASE=Portsmith
-
-usb:v095Ap3003*
- ID_PRODUCT_FROM_DATABASE=Express Ethernet
-
-usb:v095B*
- ID_VENDOR_FROM_DATABASE=Medialogic Corp.
-
-usb:v095C*
- ID_VENDOR_FROM_DATABASE=K-Tec Electronics
-
-usb:v095D*
- ID_VENDOR_FROM_DATABASE=Polycom, Inc.
-
-usb:v095Dp0001*
- ID_PRODUCT_FROM_DATABASE=Polycom ViaVideo
-
-usb:v0967*
- ID_VENDOR_FROM_DATABASE=Acer (??)
-
-usb:v0967p0204*
- ID_PRODUCT_FROM_DATABASE=WarpLink 802.11b Adapter
-
-usb:v0968*
- ID_VENDOR_FROM_DATABASE=Catalyst Enterprises, Inc.
-
-usb:v096E*
- ID_VENDOR_FROM_DATABASE=Feitian Technologies, Inc.
-
-usb:v096Ep0120*
- ID_PRODUCT_FROM_DATABASE=Microcosm Ltd Dinkey
-
-usb:v096Ep0802*
- ID_PRODUCT_FROM_DATABASE=ePass2000 (G&D STARCOS SPK 2.4)
-
-usb:v096Ep0807*
- ID_PRODUCT_FROM_DATABASE=ePass2003
-
-usb:v0971*
- ID_VENDOR_FROM_DATABASE=Gretag-Macbeth AG
-
-usb:v0971p2003*
- ID_PRODUCT_FROM_DATABASE=Eye-One display
-
-usb:v0971p2005*
- ID_PRODUCT_FROM_DATABASE=Huey
-
-usb:v0971p2007*
- ID_PRODUCT_FROM_DATABASE=ColorMunki
-
-usb:v0973*
- ID_VENDOR_FROM_DATABASE=Schlumberger
-
-usb:v0973p0001*
- ID_PRODUCT_FROM_DATABASE=e-gate Smart Card
-
-usb:v0974*
- ID_VENDOR_FROM_DATABASE=Datagraphix, a business unit of Anacomp
-
-usb:v0975*
- ID_VENDOR_FROM_DATABASE=OL'E Communications, Inc.
-
-usb:v0976*
- ID_VENDOR_FROM_DATABASE=Adirondack Wire & Cable
-
-usb:v0977*
- ID_VENDOR_FROM_DATABASE=Lightsurf Technologies
-
-usb:v0978*
- ID_VENDOR_FROM_DATABASE=Beckhoff GmbH
-
-usb:v0979*
- ID_VENDOR_FROM_DATABASE=Jeilin Technology Corp., Ltd
-
-usb:v0979p0224*
- ID_PRODUCT_FROM_DATABASE=JL2005A Toy Camera
-
-usb:v0979p0226*
- ID_PRODUCT_FROM_DATABASE=JL2005A Toy Camera
-
-usb:v0979p0227*
- ID_PRODUCT_FROM_DATABASE=JL2005B/C/D Toy Camera
-
-usb:v097A*
- ID_VENDOR_FROM_DATABASE=Minds At Work LLC
-
-usb:v097Ap0001*
- ID_PRODUCT_FROM_DATABASE=Digital Wallet
-
-usb:v097B*
- ID_VENDOR_FROM_DATABASE=Knudsen Engineering, Ltd
-
-usb:v097C*
- ID_VENDOR_FROM_DATABASE=Marunix Co., Ltd
-
-usb:v097D*
- ID_VENDOR_FROM_DATABASE=Rosun Technologies, Inc.
-
-usb:v097E*
- ID_VENDOR_FROM_DATABASE=Biopac Systems Inc.
-
-usb:v097Ep0035*
- ID_PRODUCT_FROM_DATABASE=MP35 v1.0
-
-usb:v097F*
- ID_VENDOR_FROM_DATABASE=Barun Electronics Co., Ltd
-
-usb:v0981*
- ID_VENDOR_FROM_DATABASE=Oak Technology, Ltd
-
-usb:v0984*
- ID_VENDOR_FROM_DATABASE=Apricorn
-
-usb:v0984p0200*
- ID_PRODUCT_FROM_DATABASE=Hard Drive Storage (TPP)
-
-usb:v0985*
- ID_VENDOR_FROM_DATABASE=cab Produkttechnik GmbH & Co KG
-
-usb:v0985p0045*
- ID_PRODUCT_FROM_DATABASE=Mach4/200 Label Printer
-
-usb:v0985p00A3*
- ID_PRODUCT_FROM_DATABASE=A3/200 or A3/300 Label Printer
-
-usb:v0986*
- ID_VENDOR_FROM_DATABASE=Matsushita Electric Works, Ltd.
-
-usb:v098C*
- ID_VENDOR_FROM_DATABASE=Vitana Corp.
-
-usb:v098D*
- ID_VENDOR_FROM_DATABASE=INDesign
-
-usb:v098E*
- ID_VENDOR_FROM_DATABASE=Integrated Intellectual Property, Inc.
-
-usb:v098F*
- ID_VENDOR_FROM_DATABASE=Kenwood TMI Corp.
-
-usb:v0993*
- ID_VENDOR_FROM_DATABASE=Gemstar eBook Group, Ltd
-
-usb:v0993p0001*
- ID_PRODUCT_FROM_DATABASE=REB1100 eBook Reader
-
-usb:v0993p0002*
- ID_PRODUCT_FROM_DATABASE=eBook
-
-usb:v0996*
- ID_VENDOR_FROM_DATABASE=Integrated Telecom Express, Inc.
-
-usb:v099A*
- ID_VENDOR_FROM_DATABASE=Zippy Technology Corp.
-
-usb:v099Ap0638*
- ID_PRODUCT_FROM_DATABASE=Sanwa Supply Inc. Small Keyboard
-
-usb:v099Ap610C*
- ID_PRODUCT_FROM_DATABASE=EL-610 Super Mini Electron luminescent Keyboard
-
-usb:v099Ap7160*
- ID_PRODUCT_FROM_DATABASE=Hyper Slim Keyboard
-
-usb:v09A3*
- ID_VENDOR_FROM_DATABASE=PairGain Technologies
-
-usb:v09A4*
- ID_VENDOR_FROM_DATABASE=Contech Research, Inc.
-
-usb:v09A5*
- ID_VENDOR_FROM_DATABASE=VCON Telecommunications
-
-usb:v09A6*
- ID_VENDOR_FROM_DATABASE=Poinchips
-
-usb:v09A6p8001*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v09A7*
- ID_VENDOR_FROM_DATABASE=Data Transmission Network Corp.
-
-usb:v09A8*
- ID_VENDOR_FROM_DATABASE=Lin Shiung Enterprise Co., Ltd
-
-usb:v09A9*
- ID_VENDOR_FROM_DATABASE=Smart Card Technologies Co., Ltd
-
-usb:v09AA*
- ID_VENDOR_FROM_DATABASE=Intersil Corp.
-
-usb:v09AAp1000*
- ID_PRODUCT_FROM_DATABASE=Prism GT 802.11b/g Adapter
-
-usb:v09AAp3642*
- ID_PRODUCT_FROM_DATABASE=Prism 2.x 802.11b Adapter
-
-usb:v09AB*
- ID_VENDOR_FROM_DATABASE=Japan Cash Machine Co., Ltd.
-
-usb:v09AE*
- ID_VENDOR_FROM_DATABASE=Tripp Lite
-
-usb:v09B2*
- ID_VENDOR_FROM_DATABASE=Franklin Electronic Publishers, Inc.
-
-usb:v09B2p0001*
- ID_PRODUCT_FROM_DATABASE=eBookman Palm Computer
-
-usb:v09B3*
- ID_VENDOR_FROM_DATABASE=Altius Solutions, Inc.
-
-usb:v09B4*
- ID_VENDOR_FROM_DATABASE=MDS Telephone Systems
-
-usb:v09B5*
- ID_VENDOR_FROM_DATABASE=Celltrix Technology Co., Ltd
-
-usb:v09BC*
- ID_VENDOR_FROM_DATABASE=Grundig
-
-usb:v09BCp0002*
- ID_PRODUCT_FROM_DATABASE=MPaxx MP150 MP3 Player
-
-usb:v09BE*
- ID_VENDOR_FROM_DATABASE=MySmart.Com
-
-usb:v09BEp0001*
- ID_PRODUCT_FROM_DATABASE=MySmartPad
-
-usb:v09BF*
- ID_VENDOR_FROM_DATABASE=Auerswald GmbH & Co. KG
-
-usb:v09BFp00C0*
- ID_PRODUCT_FROM_DATABASE=COMpact 2104 ISDN PBX
-
-usb:v09BFp00DB*
- ID_PRODUCT_FROM_DATABASE=COMpact 4410/2206 ISDN
-
-usb:v09BFp00DC*
- ID_PRODUCT_FROM_DATABASE=COMpact 4406 DSL (PBX)
-
-usb:v09BFp00DD*
- ID_PRODUCT_FROM_DATABASE=COMpact 2204 (PBX)
-
-usb:v09BFp00DE*
- ID_PRODUCT_FROM_DATABASE=COMpact 2104 (Rev.2 PBX)
-
-usb:v09BFp00E0*
- ID_PRODUCT_FROM_DATABASE=COMmander Business (PBX)
-
-usb:v09BFp00E2*
- ID_PRODUCT_FROM_DATABASE=COMmander Basic.2 (PBX)
-
-usb:v09BFp00F1*
- ID_PRODUCT_FROM_DATABASE=COMfort 2000 (System telephone)
-
-usb:v09BFp00F2*
- ID_PRODUCT_FROM_DATABASE=COMfort 1200 (System telephone)
-
-usb:v09BFp00F5*
- ID_PRODUCT_FROM_DATABASE=COMfortel 2500 (System telephone)
-
-usb:v09BFp8000*
- ID_PRODUCT_FROM_DATABASE=COMpact 2104 DSL (DSL modem)
-
-usb:v09BFp8001*
- ID_PRODUCT_FROM_DATABASE=COMpact 4406 DSL (DSL modem)
-
-usb:v09BFp8002*
- ID_PRODUCT_FROM_DATABASE=Analog/ISDN Converter (Line converter)
-
-usb:v09BFp8005*
- ID_PRODUCT_FROM_DATABASE=WG-640 (Automatic event dialer)
-
-usb:v09C0*
- ID_VENDOR_FROM_DATABASE=Genpix Electronics, LLC
-
-usb:v09C0p0136*
- ID_PRODUCT_FROM_DATABASE=Axon CNS, MultiClamp 700B
-
-usb:v09C0p0202*
- ID_PRODUCT_FROM_DATABASE=8PSK DVB-S tuner
-
-usb:v09C0p0203*
- ID_PRODUCT_FROM_DATABASE=Skywalker-1 DVB-S tuner
-
-usb:v09C0p0204*
- ID_PRODUCT_FROM_DATABASE=Skywalker-CW3K DVB-S tuner
-
-usb:v09C0p0205*
- ID_PRODUCT_FROM_DATABASE=Skywalker-CW3K DVB-S tuner
-
-usb:v09C0p0206*
- ID_PRODUCT_FROM_DATABASE=Skywalker-2 DVB-S tuner
-
-usb:v09C1*
- ID_VENDOR_FROM_DATABASE=Arris Interactive LLC
-
-usb:v09C1p1337*
- ID_PRODUCT_FROM_DATABASE=TOUCHSTONE DEVICE
-
-usb:v09C2*
- ID_VENDOR_FROM_DATABASE=Nisca Corp.
-
-usb:v09C3*
- ID_VENDOR_FROM_DATABASE=ActivCard, Inc.
-
-usb:v09C3p0007*
- ID_PRODUCT_FROM_DATABASE=Reader V2
-
-usb:v09C3p0008*
- ID_PRODUCT_FROM_DATABASE=ZFG-9800-AC SmartCard Reader
-
-usb:v09C3p0014*
- ID_PRODUCT_FROM_DATABASE=ActivIdentity ActivKey SIM USB Token
-
-usb:v09C4*
- ID_VENDOR_FROM_DATABASE=ACTiSYS Corp.
-
-usb:v09C4p0011*
- ID_PRODUCT_FROM_DATABASE=ACT-IR2000U IrDA Dongle
-
-usb:v09C5*
- ID_VENDOR_FROM_DATABASE=Memory Corp.
-
-usb:v09CC*
- ID_VENDOR_FROM_DATABASE=Workbit Corp.
-
-usb:v09CCp0404*
- ID_PRODUCT_FROM_DATABASE=BAFO USB-ATA/ATAPI Bridge Controller
-
-usb:v09CD*
- ID_VENDOR_FROM_DATABASE=Psion Dacom Home Networks, Ltd
-
-usb:v09CDp2001*
- ID_PRODUCT_FROM_DATABASE=Psion WaveFinder DAB radio receiver
-
-usb:v09CE*
- ID_VENDOR_FROM_DATABASE=City Electronics, Ltd
-
-usb:v09CF*
- ID_VENDOR_FROM_DATABASE=Electronics Testing Center, Taiwan
-
-usb:v09D1*
- ID_VENDOR_FROM_DATABASE=NeoMagic, Inc.
-
-usb:v09D2*
- ID_VENDOR_FROM_DATABASE=Vreelin Engineering, Inc.
-
-usb:v09D3*
- ID_VENDOR_FROM_DATABASE=Com One
-
-usb:v09D3p0001*
- ID_PRODUCT_FROM_DATABASE=ISDN TA
-
-usb:v09D7*
- ID_VENDOR_FROM_DATABASE=Novatel Wireless
-
-usb:v09D7p0100*
- ID_PRODUCT_FROM_DATABASE=NovAtel FlexPack GPS receiver
-
-usb:v09D9*
- ID_VENDOR_FROM_DATABASE=KRF Tech, Ltd
-
-usb:v09DA*
- ID_VENDOR_FROM_DATABASE=A4 Tech Co., Ltd
-
-usb:v09DAp0006*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse WOP-35 / Trust 450L Optical Mouse
-
-usb:v09DAp000A*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse Opto 510D
-
-usb:v09DAp000E*
- ID_PRODUCT_FROM_DATABASE=X-F710F Optical Mouse 3xFire Gaming Mouse
-
-usb:v09DAp0018*
- ID_PRODUCT_FROM_DATABASE=Trust Human Interface Device
-
-usb:v09DAp001A*
- ID_PRODUCT_FROM_DATABASE=Wireless Mouse & RXM-15 Receiver
-
-usb:v09DAp002A*
- ID_PRODUCT_FROM_DATABASE=Wireless Optical Mouse NB-30
-
-usb:v09DAp022B*
- ID_PRODUCT_FROM_DATABASE=Wireless Mouse (Battery Free)
-
-usb:v09DAp024F*
- ID_PRODUCT_FROM_DATABASE=RF Receiver and G6-20D Wireless Optical Mouse
-
-usb:v09DAp0260*
- ID_PRODUCT_FROM_DATABASE=KV-300H Isolation Keyboard
-
-usb:v09DAp032B*
- ID_PRODUCT_FROM_DATABASE=Wireless Mouse (Battery Free)
-
-usb:v09DAp8090*
- ID_PRODUCT_FROM_DATABASE=X-718BK Oscar Optical Gaming Mouse
-
-usb:v09DAp9090*
- ID_PRODUCT_FROM_DATABASE=XL-750BK Laser Mouse
-
-usb:v09DB*
- ID_VENDOR_FROM_DATABASE=Measurement Computing Corp.
-
-usb:v09DBp0075*
- ID_PRODUCT_FROM_DATABASE=MiniLab 1008
-
-usb:v09DBp0076*
- ID_PRODUCT_FROM_DATABASE=PMD-1024
-
-usb:v09DBp007A*
- ID_PRODUCT_FROM_DATABASE=PMD-1208LS
-
-usb:v09DBp0081*
- ID_PRODUCT_FROM_DATABASE=USB-1616FS
-
-usb:v09DBp0082*
- ID_PRODUCT_FROM_DATABASE=USB-1208FS
-
-usb:v09DBp0088*
- ID_PRODUCT_FROM_DATABASE=USB-1616FS internal hub
-
-usb:v09DC*
- ID_VENDOR_FROM_DATABASE=Aimex Corp.
-
-usb:v09DD*
- ID_VENDOR_FROM_DATABASE=Fellowes, Inc.
-
-usb:v09DF*
- ID_VENDOR_FROM_DATABASE=Addonics Technologies Corp.
-
-usb:v09E1*
- ID_VENDOR_FROM_DATABASE=Intellon Corp.
-
-usb:v09E1p5121*
- ID_PRODUCT_FROM_DATABASE=MicroLink dLAN
-
-usb:v09E5*
- ID_VENDOR_FROM_DATABASE=Jo-Dan International, Inc.
-
-usb:v09E6*
- ID_VENDOR_FROM_DATABASE=Silutia, Inc.
-
-usb:v09E7*
- ID_VENDOR_FROM_DATABASE=Real 3D, Inc.
-
-usb:v09E8*
- ID_VENDOR_FROM_DATABASE=AKAI Professional M.I. Corp.
-
-usb:v09E8p0062*
- ID_PRODUCT_FROM_DATABASE=MPD16 MIDI Pad Controller Unit
-
-usb:v09E8p006D*
- ID_PRODUCT_FROM_DATABASE=EWI electronic wind instrument
-
-usb:v09E8p0071*
- ID_PRODUCT_FROM_DATABASE=MPK25 MIDI Keyboard
-
-usb:v09E8p0076*
- ID_PRODUCT_FROM_DATABASE=LPK25 MIDI Keyboard
-
-usb:v09E9*
- ID_VENDOR_FROM_DATABASE=Chen-Source, Inc.
-
-usb:v09EB*
- ID_VENDOR_FROM_DATABASE=IM Networks, Inc.
-
-usb:v09EBp4331*
- ID_PRODUCT_FROM_DATABASE=iRhythm Tuner Remote
-
-usb:v09EF*
- ID_VENDOR_FROM_DATABASE=Xitel
-
-usb:v09EFp0101*
- ID_PRODUCT_FROM_DATABASE=MD-Port DG2 MiniDisc Interface
-
-usb:v09F3*
- ID_VENDOR_FROM_DATABASE=GoFlight, Inc.
-
-usb:v09F3p0018*
- ID_PRODUCT_FROM_DATABASE=GF-46 Multi-Mode Display Module
-
-usb:v09F3p0028*
- ID_PRODUCT_FROM_DATABASE=RP-48 Combination Pushbutton-Rotary Module
-
-usb:v09F3p0048*
- ID_PRODUCT_FROM_DATABASE=LGTII - Landing Gear and Trim Control Module
-
-usb:v09F3p0064*
- ID_PRODUCT_FROM_DATABASE=MCPPro - Airliner Mode Control Panel (Autopilot)
-
-usb:v09F3p0300*
- ID_PRODUCT_FROM_DATABASE=EFIS - Electronic Flight Information System
-
-usb:v09F5*
- ID_VENDOR_FROM_DATABASE=AresCom
-
-usb:v09F5p0168*
- ID_PRODUCT_FROM_DATABASE=Network Adapter
-
-usb:v09F5p0188*
- ID_PRODUCT_FROM_DATABASE=LAN Adapter
-
-usb:v09F5p0850*
- ID_PRODUCT_FROM_DATABASE=Adapter
-
-usb:v09F6*
- ID_VENDOR_FROM_DATABASE=RocketChips, Inc.
-
-usb:v09F7*
- ID_VENDOR_FROM_DATABASE=Edu-Science (H.K.), Ltd
-
-usb:v09F8*
- ID_VENDOR_FROM_DATABASE=SoftConnex Technologies, Inc.
-
-usb:v09F9*
- ID_VENDOR_FROM_DATABASE=Bay Associates
-
-usb:v09FA*
- ID_VENDOR_FROM_DATABASE=Mtek Vision
-
-usb:v09FB*
- ID_VENDOR_FROM_DATABASE=Altera
-
-usb:v09FBp6001*
- ID_PRODUCT_FROM_DATABASE=Blaster
-
-usb:v09FF*
- ID_VENDOR_FROM_DATABASE=Gain Technology Corp.
-
-usb:v0A00*
- ID_VENDOR_FROM_DATABASE=Liquid Audio
-
-usb:v0A01*
- ID_VENDOR_FROM_DATABASE=ViA, Inc.
-
-usb:v0A07*
- ID_VENDOR_FROM_DATABASE=Ontrak Control Systems Inc.
-
-usb:v0A07p0064*
- ID_PRODUCT_FROM_DATABASE=ADU100 Data Acquisition Interface
-
-usb:v0A07p0078*
- ID_PRODUCT_FROM_DATABASE=ADU120 Data Acquisition Interface
-
-usb:v0A07p0082*
- ID_PRODUCT_FROM_DATABASE=ADU130 Data Acquisition Interface
-
-usb:v0A07p00C8*
- ID_PRODUCT_FROM_DATABASE=ADU200 Relay I/O Interface
-
-usb:v0A07p00D0*
- ID_PRODUCT_FROM_DATABASE=ADU208 Relay I/O Interface
-
-usb:v0A07p00DA*
- ID_PRODUCT_FROM_DATABASE=ADU218 Solid-State Relay I/O Interface
-
-usb:v0A0B*
- ID_VENDOR_FROM_DATABASE=Cybex Computer Products Co.
-
-usb:v0A11*
- ID_VENDOR_FROM_DATABASE=Xentec, Inc.
-
-usb:v0A12*
- ID_VENDOR_FROM_DATABASE=Cambridge Silicon Radio, Ltd
-
-usb:v0A12p0001*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle (HCI mode)
-
-usb:v0A12p0002*
- ID_PRODUCT_FROM_DATABASE=Frontline Test Equipment Bluetooth Device
-
-usb:v0A12p0003*
- ID_PRODUCT_FROM_DATABASE=Nanosira
-
-usb:v0A12p0004*
- ID_PRODUCT_FROM_DATABASE=Nanosira WHQL Reference Radio
-
-usb:v0A12p0005*
- ID_PRODUCT_FROM_DATABASE=Nanosira-Multimedia
-
-usb:v0A12p0006*
- ID_PRODUCT_FROM_DATABASE=Nanosira-Multimedia WHQL Reference Radio
-
-usb:v0A12p0007*
- ID_PRODUCT_FROM_DATABASE=Nanosira3-ROM
-
-usb:v0A12p0008*
- ID_PRODUCT_FROM_DATABASE=Nanosira3-ROM
-
-usb:v0A12p0009*
- ID_PRODUCT_FROM_DATABASE=Nanosira4-EDR WHQL Reference Radio
-
-usb:v0A12p000A*
- ID_PRODUCT_FROM_DATABASE=Nanosira4-EDR-ROM
-
-usb:v0A12p000B*
- ID_PRODUCT_FROM_DATABASE=Nanosira5-ROM
-
-usb:v0A12p0043*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0A12p0100*
- ID_PRODUCT_FROM_DATABASE=Casira with BlueCore2-External Module
-
-usb:v0A12p0101*
- ID_PRODUCT_FROM_DATABASE=Casira with BlueCore2-Flash Module
-
-usb:v0A12p0102*
- ID_PRODUCT_FROM_DATABASE=Casira with BlueCore3-Multimedia Module
-
-usb:v0A12p0103*
- ID_PRODUCT_FROM_DATABASE=Casira with BlueCore3-Flash Module
-
-usb:v0A12p0104*
- ID_PRODUCT_FROM_DATABASE=Casira with BlueCore4-External Module
-
-usb:v0A12p0105*
- ID_PRODUCT_FROM_DATABASE=Casira with BlueCore4-Multimedia Module
-
-usb:v0A12p1000*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle (HID proxy mode)
-
-usb:v0A12p1010*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0A12p1011*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0A12p1012*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0A12pFFFF*
- ID_PRODUCT_FROM_DATABASE=USB Bluetooth Device in DFU State
-
-usb:v0A13*
- ID_VENDOR_FROM_DATABASE=Telebyte, Inc.
-
-usb:v0A14*
- ID_VENDOR_FROM_DATABASE=Spacelabs Medical, Inc.
-
-usb:v0A15*
- ID_VENDOR_FROM_DATABASE=Scalar Corp.
-
-usb:v0A16*
- ID_VENDOR_FROM_DATABASE=Trek Technology (S) PTE, Ltd
-
-usb:v0A16p1111*
- ID_PRODUCT_FROM_DATABASE=ThumbDrive
-
-usb:v0A16p8888*
- ID_PRODUCT_FROM_DATABASE=IBM USB Memory Key
-
-usb:v0A16p9988*
- ID_PRODUCT_FROM_DATABASE=Trek2000 TD-G2
-
-usb:v0A17*
- ID_VENDOR_FROM_DATABASE=Pentax Corp.
-
-usb:v0A17p0004*
- ID_PRODUCT_FROM_DATABASE=Optio 330
-
-usb:v0A17p0006*
- ID_PRODUCT_FROM_DATABASE=Optio S
-
-usb:v0A17p0007*
- ID_PRODUCT_FROM_DATABASE=Optio 550
-
-usb:v0A17p0009*
- ID_PRODUCT_FROM_DATABASE=Optio 33WR
-
-usb:v0A17p000A*
- ID_PRODUCT_FROM_DATABASE=Optio 555
-
-usb:v0A17p000C*
- ID_PRODUCT_FROM_DATABASE=Optio 43WR (mass storage mode)
-
-usb:v0A17p000D*
- ID_PRODUCT_FROM_DATABASE=Optio 43WR
-
-usb:v0A17p0015*
- ID_PRODUCT_FROM_DATABASE=Optio S40/S5i
-
-usb:v0A17p003B*
- ID_PRODUCT_FROM_DATABASE=Optio 50 (mass storage mode)
-
-usb:v0A17p003D*
- ID_PRODUCT_FROM_DATABASE=Optio S55
-
-usb:v0A17p0043*
- ID_PRODUCT_FROM_DATABASE=*ist DL
-
-usb:v0A17p0047*
- ID_PRODUCT_FROM_DATABASE=Optio S60
-
-usb:v0A17p0052*
- ID_PRODUCT_FROM_DATABASE=Optio 60 Digital Camera
-
-usb:v0A17p006E*
- ID_PRODUCT_FROM_DATABASE=K10D
-
-usb:v0A17p0070*
- ID_PRODUCT_FROM_DATABASE=K100D
-
-usb:v0A17p0093*
- ID_PRODUCT_FROM_DATABASE=K200D
-
-usb:v0A17p00A7*
- ID_PRODUCT_FROM_DATABASE=Optio E50
-
-usb:v0A17p1001*
- ID_PRODUCT_FROM_DATABASE=EI2000 Camera powered by Digita!
-
-usb:v0A18*
- ID_VENDOR_FROM_DATABASE=Heidelberger Druckmaschinen AG
-
-usb:v0A19*
- ID_VENDOR_FROM_DATABASE=Hua Geng Technologies, Inc.
-
-usb:v0A21*
- ID_VENDOR_FROM_DATABASE=Medtronic Physio Control Corp.
-
-usb:v0A21p8001*
- ID_PRODUCT_FROM_DATABASE=MMT-7305WW [Medtronic Minimed CareLink]
-
-usb:v0A22*
- ID_VENDOR_FROM_DATABASE=Century Semiconductor USA, Inc.
-
-usb:v0A27*
- ID_VENDOR_FROM_DATABASE=Datacard Group
-
-usb:v0A27p0102*
- ID_PRODUCT_FROM_DATABASE=SP35
-
-usb:v0A2C*
- ID_VENDOR_FROM_DATABASE=AK-Modul-Bus Computer GmbH
-
-usb:v0A2Cp0008*
- ID_PRODUCT_FROM_DATABASE=GPIO Ports
-
-usb:v0A34*
- ID_VENDOR_FROM_DATABASE=TG3 Electronics, Inc.
-
-usb:v0A34p0101*
- ID_PRODUCT_FROM_DATABASE=TG82tp
-
-usb:v0A34p0110*
- ID_PRODUCT_FROM_DATABASE=Deck 82-key backlit keyboard
-
-usb:v0A35*
- ID_VENDOR_FROM_DATABASE=Radikal Technologies
-
-usb:v0A35p002A*
- ID_PRODUCT_FROM_DATABASE=SAC - Software Assigned Controller
-
-usb:v0A35p008A*
- ID_PRODUCT_FROM_DATABASE=SAC Hub
-
-usb:v0A39*
- ID_VENDOR_FROM_DATABASE=Gilat Satellite Networks, Ltd
-
-usb:v0A3A*
- ID_VENDOR_FROM_DATABASE=PentaMedia Co., Ltd
-
-usb:v0A3Ap0163*
- ID_PRODUCT_FROM_DATABASE=KN-W510U 1.0 Wireless LAN Adapter
-
-usb:v0A3C*
- ID_VENDOR_FROM_DATABASE=NTT DoCoMo, Inc.
-
-usb:v0A3D*
- ID_VENDOR_FROM_DATABASE=Varo Vision
-
-usb:v0A3F*
- ID_VENDOR_FROM_DATABASE=Swissonic AG
-
-usb:v0A43*
- ID_VENDOR_FROM_DATABASE=Boca Systems, Inc.
-
-usb:v0A46*
- ID_VENDOR_FROM_DATABASE=Davicom Semiconductor, Inc.
-
-usb:v0A46p0268*
- ID_PRODUCT_FROM_DATABASE=ST268
-
-usb:v0A46p6688*
- ID_PRODUCT_FROM_DATABASE=ZT6688 Fast Ethernet Adapter
-
-usb:v0A46p8515*
- ID_PRODUCT_FROM_DATABASE=ADMtek ADM8515 NIC
-
-usb:v0A46p9000*
- ID_PRODUCT_FROM_DATABASE=DM9000E Fast Ethernet Adapter
-
-usb:v0A46p9601*
- ID_PRODUCT_FROM_DATABASE=DM9601 Fast Ethernet Adapter
-
-usb:v0A47*
- ID_VENDOR_FROM_DATABASE=Hirose Electric
-
-usb:v0A48*
- ID_VENDOR_FROM_DATABASE=I/O Interconnect
-
-usb:v0A48p3233*
- ID_PRODUCT_FROM_DATABASE=Multimedia Card Reader
-
-usb:v0A48p3239*
- ID_PRODUCT_FROM_DATABASE=Multimedia Card Reader
-
-usb:v0A48p3258*
- ID_PRODUCT_FROM_DATABASE=Dane Elec zMate SD Reader
-
-usb:v0A48p3259*
- ID_PRODUCT_FROM_DATABASE=Dane Elec zMate CF Reader
-
-usb:v0A48p5000*
- ID_PRODUCT_FROM_DATABASE=MediaGear xD-SM
-
-usb:v0A48p500A*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0A48p500F*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0A48p5010*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0A48p5011*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0A48p5014*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0A48p5020*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0A48p5021*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0A48p5022*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0A48p5023*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0A48p5024*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0A48p5025*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0A4B*
- ID_VENDOR_FROM_DATABASE=Fujitsu Media Devices, Ltd
-
-usb:v0A4C*
- ID_VENDOR_FROM_DATABASE=Computex Co., Ltd
-
-usb:v0A4Cp15D9*
- ID_PRODUCT_FROM_DATABASE=OPTICAL MOUSE
-
-usb:v0A4D*
- ID_VENDOR_FROM_DATABASE=Evolution Electronics, Ltd
-
-usb:v0A4Dp0064*
- ID_PRODUCT_FROM_DATABASE=MK-225 Driver
-
-usb:v0A4Dp0065*
- ID_PRODUCT_FROM_DATABASE=MK-225C Driver
-
-usb:v0A4Dp0066*
- ID_PRODUCT_FROM_DATABASE=MK-225C Driver
-
-usb:v0A4Dp0067*
- ID_PRODUCT_FROM_DATABASE=MK-425C Driver
-
-usb:v0A4Dp0078*
- ID_PRODUCT_FROM_DATABASE=MK-37 Driver
-
-usb:v0A4Dp0079*
- ID_PRODUCT_FROM_DATABASE=MK-37C Driver
-
-usb:v0A4Dp007A*
- ID_PRODUCT_FROM_DATABASE=MK-37C Driver
-
-usb:v0A4Dp008C*
- ID_PRODUCT_FROM_DATABASE=TerraTec MIDI MASTER
-
-usb:v0A4Dp008D*
- ID_PRODUCT_FROM_DATABASE=MK-249C Driver
-
-usb:v0A4Dp008E*
- ID_PRODUCT_FROM_DATABASE=MK-249C MIDI Keyboard
-
-usb:v0A4Dp008F*
- ID_PRODUCT_FROM_DATABASE=MK-449C Driver
-
-usb:v0A4Dp0090*
- ID_PRODUCT_FROM_DATABASE=Keystation 49e Driver
-
-usb:v0A4Dp0091*
- ID_PRODUCT_FROM_DATABASE=Keystation 61es Driver
-
-usb:v0A4Dp00A0*
- ID_PRODUCT_FROM_DATABASE=MK-361 Driver
-
-usb:v0A4Dp00A1*
- ID_PRODUCT_FROM_DATABASE=MK-361C Driver
-
-usb:v0A4Dp00A2*
- ID_PRODUCT_FROM_DATABASE=MK-361C Driver
-
-usb:v0A4Dp00A3*
- ID_PRODUCT_FROM_DATABASE=MK-461C MIDI Keyboard
-
-usb:v0A4Dp00B5*
- ID_PRODUCT_FROM_DATABASE=Keystation Pro 88 Driver
-
-usb:v0A4Dp00D2*
- ID_PRODUCT_FROM_DATABASE=E-Keys Driver
-
-usb:v0A4Dp00F0*
- ID_PRODUCT_FROM_DATABASE=UC-16 Driver
-
-usb:v0A4Dp00F1*
- ID_PRODUCT_FROM_DATABASE=X-Session Driver
-
-usb:v0A4Dp00F5*
- ID_PRODUCT_FROM_DATABASE=UC-33e MIDI Controller
-
-usb:v0A4E*
- ID_VENDOR_FROM_DATABASE=Steinberg Soft-und Hardware GmbH
-
-usb:v0A4F*
- ID_VENDOR_FROM_DATABASE=Litton Systems, Inc.
-
-usb:v0A50*
- ID_VENDOR_FROM_DATABASE=Mimaki Engineering Co., Ltd
-
-usb:v0A51*
- ID_VENDOR_FROM_DATABASE=Sony Electronics, Inc.
-
-usb:v0A52*
- ID_VENDOR_FROM_DATABASE=Jebsee Electronics Co., Ltd
-
-usb:v0A53*
- ID_VENDOR_FROM_DATABASE=Portable Peripheral Co., Ltd
-
-usb:v0A53p1000*
- ID_PRODUCT_FROM_DATABASE=Scanner
-
-usb:v0A53p2000*
- ID_PRODUCT_FROM_DATABASE=Q-Scan A6 Scanner
-
-usb:v0A53p2001*
- ID_PRODUCT_FROM_DATABASE=Q-Scan A6 Scanner
-
-usb:v0A53p2013*
- ID_PRODUCT_FROM_DATABASE=Media Drive A6 Scanner
-
-usb:v0A53p2014*
- ID_PRODUCT_FROM_DATABASE=Media Drive A6 Scanner
-
-usb:v0A53p2015*
- ID_PRODUCT_FROM_DATABASE=BizCardReader 600C
-
-usb:v0A53p2016*
- ID_PRODUCT_FROM_DATABASE=BizCardReader 600C
-
-usb:v0A53p202A*
- ID_PRODUCT_FROM_DATABASE=Scanshell-CSSN
-
-usb:v0A53p3000*
- ID_PRODUCT_FROM_DATABASE=Q-Scan A8 Scanner
-
-usb:v0A53p3002*
- ID_PRODUCT_FROM_DATABASE=Q-Scan A8 Reader
-
-usb:v0A53p3015*
- ID_PRODUCT_FROM_DATABASE=BizCardReader 300G
-
-usb:v0A53p302A*
- ID_PRODUCT_FROM_DATABASE=LM9832 - PA570 Mini Business Card Scanner [Targus]
-
-usb:v0A53p5001*
- ID_PRODUCT_FROM_DATABASE=BizCardReader 900C
-
-usb:v0A5A*
- ID_VENDOR_FROM_DATABASE=Electronics For Imaging, Inc.
-
-usb:v0A5B*
- ID_VENDOR_FROM_DATABASE=EAsics NV
-
-usb:v0A5C*
- ID_VENDOR_FROM_DATABASE=Broadcom Corp.
-
-usb:v0A5Cp0201*
- ID_PRODUCT_FROM_DATABASE=iLine10(tm) Network Adapter
-
-usb:v0A5Cp2000*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0A5Cp2001*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0A5Cp2009*
- ID_PRODUCT_FROM_DATABASE=BCM2035 Bluetooth
-
-usb:v0A5Cp200A*
- ID_PRODUCT_FROM_DATABASE=BCM2035 Bluetooth dongle
-
-usb:v0A5Cp200F*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Controller
-
-usb:v0A5Cp201D*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0A5Cp201E*
- ID_PRODUCT_FROM_DATABASE=IBM Integrated Bluetooth IV
-
-usb:v0A5Cp2020*
- ID_PRODUCT_FROM_DATABASE=Bluetooth dongle
-
-usb:v0A5Cp2021*
- ID_PRODUCT_FROM_DATABASE=BCM2035B3 Bluetooth Adapter
-
-usb:v0A5Cp2033*
- ID_PRODUCT_FROM_DATABASE=BCM2033 Bluetooth
-
-usb:v0A5Cp2035*
- ID_PRODUCT_FROM_DATABASE=BCM2035 Bluetooth
-
-usb:v0A5Cp2038*
- ID_PRODUCT_FROM_DATABASE=Blutonium Device
-
-usb:v0A5Cp2039*
- ID_PRODUCT_FROM_DATABASE=BCM2045 Bluetooth
-
-usb:v0A5Cp2045*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Controller
-
-usb:v0A5Cp2046*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0A5Cp2047*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0A5Cp205E*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0A5Cp2100*
- ID_PRODUCT_FROM_DATABASE=Bluetooth 2.0+eDR dongle
-
-usb:v0A5Cp2101*
- ID_PRODUCT_FROM_DATABASE=BCM2045 Bluetooth
-
-usb:v0A5Cp2102*
- ID_PRODUCT_FROM_DATABASE=ANYCOM Blue USB-200/250
-
-usb:v0A5Cp2110*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Controller
-
-usb:v0A5Cp2111*
- ID_PRODUCT_FROM_DATABASE=ANYCOM Blue USB-UHE 200/250
-
-usb:v0A5Cp2120*
- ID_PRODUCT_FROM_DATABASE=2045 Bluetooth 2.0 USB-UHE Device with trace filter
-
-usb:v0A5Cp2121*
- ID_PRODUCT_FROM_DATABASE=BCM2210 Bluetooth
-
-usb:v0A5Cp2122*
- ID_PRODUCT_FROM_DATABASE=Bluetooth 2.0+EDR dongle
-
-usb:v0A5Cp2123*
- ID_PRODUCT_FROM_DATABASE=Bluetooth dongle
-
-usb:v0A5Cp2130*
- ID_PRODUCT_FROM_DATABASE=2045 Bluetooth 2.0 USB-UHE Device with trace filter
-
-usb:v0A5Cp2131*
- ID_PRODUCT_FROM_DATABASE=2045 Bluetooth 2.0 Device with trace filter
-
-usb:v0A5Cp2145*
- ID_PRODUCT_FROM_DATABASE=Bluetooth with Enhanced Data Rate II
-
-usb:v0A5Cp2148*
- ID_PRODUCT_FROM_DATABASE=BCM92046DG-CL1ROM Bluetooth 2.1 Adapter
-
-usb:v0A5Cp2150*
- ID_PRODUCT_FROM_DATABASE=BCM2046 Bluetooth Device
-
-usb:v0A5Cp2151*
- ID_PRODUCT_FROM_DATABASE=Bluetooth
-
-usb:v0A5Cp217D*
- ID_PRODUCT_FROM_DATABASE=HP Bluethunder
-
-usb:v0A5Cp217F*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Controller
-
-usb:v0A5Cp2198*
- ID_PRODUCT_FROM_DATABASE=Bluetooth 3.0 Device
-
-usb:v0A5Cp219B*
- ID_PRODUCT_FROM_DATABASE=Bluetooth 2.1 Device
-
-usb:v0A5Cp21B1*
- ID_PRODUCT_FROM_DATABASE=HP Bluetooth Module
-
-usb:v0A5Cp21B4*
- ID_PRODUCT_FROM_DATABASE=BCM2070 Bluetooth 2.1 + EDR
-
-usb:v0A5Cp21B9*
- ID_PRODUCT_FROM_DATABASE=BCM2070 Bluetooth 2.1 + EDR
-
-usb:v0A5Cp21BA*
- ID_PRODUCT_FROM_DATABASE=BCM2070 Bluetooth 2.1 + EDR
-
-usb:v0A5Cp21BB*
- ID_PRODUCT_FROM_DATABASE=BCM2070 Bluetooth 2.1 + EDR
-
-usb:v0A5Cp21BC*
- ID_PRODUCT_FROM_DATABASE=BCM2070 Bluetooth 2.1 + EDR
-
-usb:v0A5Cp21BD*
- ID_PRODUCT_FROM_DATABASE=BCM2070 Bluetooth 2.1 + EDR
-
-usb:v0A5Cp21D7*
- ID_PRODUCT_FROM_DATABASE=BCM43142 Bluetooth 4.0
-
-usb:v0A5Cp21E1*
- ID_PRODUCT_FROM_DATABASE=HP Portable SoftSailing
-
-usb:v0A5Cp21E3*
- ID_PRODUCT_FROM_DATABASE=HP Portable Valentine
-
-usb:v0A5Cp21E6*
- ID_PRODUCT_FROM_DATABASE=BCM20702 Bluetooth 4.0 [ThinkPad]
-
-usb:v0A5Cp21E8*
- ID_PRODUCT_FROM_DATABASE=BCM20702A0 Bluetooth 4.0
-
-usb:v0A5Cp21F1*
- ID_PRODUCT_FROM_DATABASE=HP Portable Bumble Bee
-
-usb:v0A5Cp22BE*
- ID_PRODUCT_FROM_DATABASE=BCM2070 Bluetooth 3.0 + HS
-
-usb:v0A5Cp4500*
- ID_PRODUCT_FROM_DATABASE=BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
-
-usb:v0A5Cp4502*
- ID_PRODUCT_FROM_DATABASE=Keyboard (Boot Interface Subclass)
-
-usb:v0A5Cp4503*
- ID_PRODUCT_FROM_DATABASE=Mouse (Boot Interface Subclass)
-
-usb:v0A5Cp5800*
- ID_PRODUCT_FROM_DATABASE=BCM5880 Secure Applications Processor
-
-usb:v0A5Cp5801*
- ID_PRODUCT_FROM_DATABASE=BCM5880 Secure Applications Processor with fingerprint swipe sensor
-
-usb:v0A5Cp5802*
- ID_PRODUCT_FROM_DATABASE=BCM5880 Secure Applications Processor with fingerprint touch sensor
-
-usb:v0A5Cp5803*
- ID_PRODUCT_FROM_DATABASE=BCM5880 Secure Applications Processor with secure keyboard
-
-usb:v0A5Cp6300*
- ID_PRODUCT_FROM_DATABASE=Pirelli Remote NDIS Device
-
-usb:v0A5CpBD11*
- ID_PRODUCT_FROM_DATABASE=TiVo AG0100 802.11bg Wireless Adapter [Broadcom BCM4320]
-
-usb:v0A5CpBD13*
- ID_PRODUCT_FROM_DATABASE=BCM4323 802.11abgn Wireless Adapter
-
-usb:v0A5CpBD17*
- ID_PRODUCT_FROM_DATABASE=BCM43236 802.11abgn Wireless Adapter
-
-usb:v0A5CpD11B*
- ID_PRODUCT_FROM_DATABASE=Eminent EM4045 [Broadcom 4320 USB]
-
-usb:v0A5D*
- ID_VENDOR_FROM_DATABASE=Diatrend Corp.
-
-usb:v0A5F*
- ID_VENDOR_FROM_DATABASE=Zebra
-
-usb:v0A5Fp0009*
- ID_PRODUCT_FROM_DATABASE=LP2844 Printer
-
-usb:v0A5Fp0081*
- ID_PRODUCT_FROM_DATABASE=GK420t Label Printer
-
-usb:v0A5Fp008B*
- ID_PRODUCT_FROM_DATABASE=HC100 wristbands Printer
-
-usb:v0A5Fp930A*
- ID_PRODUCT_FROM_DATABASE=Printer
-
-usb:v0A62*
- ID_VENDOR_FROM_DATABASE=MPMan
-
-usb:v0A62p0010*
- ID_PRODUCT_FROM_DATABASE=MPMan MP-F40 MP3 Player
-
-usb:v0A66*
- ID_VENDOR_FROM_DATABASE=ClearCube Technology
-
-usb:v0A67*
- ID_VENDOR_FROM_DATABASE=Medeli Electronics Co., Ltd
-
-usb:v0A68*
- ID_VENDOR_FROM_DATABASE=Comaide Corp.
-
-usb:v0A69*
- ID_VENDOR_FROM_DATABASE=Chroma ate, Inc.
-
-usb:v0A6B*
- ID_VENDOR_FROM_DATABASE=Green House Co., Ltd
-
-usb:v0A6Bp0001*
- ID_PRODUCT_FROM_DATABASE=Compact Flash R/W with MP3 player
-
-usb:v0A6Bp000F*
- ID_PRODUCT_FROM_DATABASE=FlashDisk
-
-usb:v0A6C*
- ID_VENDOR_FROM_DATABASE=Integrated Circuit Systems, Inc.
-
-usb:v0A6D*
- ID_VENDOR_FROM_DATABASE=UPS Manufacturing
-
-usb:v0A6E*
- ID_VENDOR_FROM_DATABASE=Benwin
-
-usb:v0A6F*
- ID_VENDOR_FROM_DATABASE=Core Technology, Inc.
-
-usb:v0A6Fp0400*
- ID_PRODUCT_FROM_DATABASE=Xanboo
-
-usb:v0A70*
- ID_VENDOR_FROM_DATABASE=International Game Technology
-
-usb:v0A71*
- ID_VENDOR_FROM_DATABASE=VIPColor Technologies USA, Inc.
-
-usb:v0A71p0001*
- ID_PRODUCT_FROM_DATABASE=VP485 Printer
-
-usb:v0A72*
- ID_VENDOR_FROM_DATABASE=Sanwa Denshi
-
-usb:v0A73*
- ID_VENDOR_FROM_DATABASE=Mackie Designs
-
-usb:v0A73p0002*
- ID_PRODUCT_FROM_DATABASE=XD-2 [Spike]
-
-usb:v0A7D*
- ID_VENDOR_FROM_DATABASE=NSTL, Inc.
-
-usb:v0A7E*
- ID_VENDOR_FROM_DATABASE=Octagon Systems Corp.
-
-usb:v0A80*
- ID_VENDOR_FROM_DATABASE=Rexon Technology Corp., Ltd
-
-usb:v0A81*
- ID_VENDOR_FROM_DATABASE=Chesen Electronics Corp.
-
-usb:v0A81p0101*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v0A81p0103*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v0A81p0203*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v0A81p0205*
- ID_PRODUCT_FROM_DATABASE=PS/2 Keyboard+Mouse Adapter
-
-usb:v0A81p0701*
- ID_PRODUCT_FROM_DATABASE=USB Missile Launcher
-
-usb:v0A81pFF01*
- ID_PRODUCT_FROM_DATABASE=Wireless Missile Launcher
-
-usb:v0A82*
- ID_VENDOR_FROM_DATABASE=Syscan
-
-usb:v0A82p4600*
- ID_PRODUCT_FROM_DATABASE=TravelScan 460/464
-
-usb:v0A83*
- ID_VENDOR_FROM_DATABASE=NextComm, Inc.
-
-usb:v0A84*
- ID_VENDOR_FROM_DATABASE=Maui Innovative Peripherals
-
-usb:v0A85*
- ID_VENDOR_FROM_DATABASE=Idexx Labs
-
-usb:v0A86*
- ID_VENDOR_FROM_DATABASE=NITGen Co., Ltd
-
-usb:v0A8D*
- ID_VENDOR_FROM_DATABASE=Picturetel
-
-usb:v0A8E*
- ID_VENDOR_FROM_DATABASE=Japan Aviation Electronics Industry, Ltd
-
-usb:v0A8Ep2011*
- ID_PRODUCT_FROM_DATABASE=Filter Driver For JAE XMC R/W
-
-usb:v0A90*
- ID_VENDOR_FROM_DATABASE=Candy Technology Co., Ltd
-
-usb:v0A91*
- ID_VENDOR_FROM_DATABASE=Globlink Technology, Inc.
-
-usb:v0A91p3801*
- ID_PRODUCT_FROM_DATABASE=Targus PAKP003 Mouse
-
-usb:v0A92*
- ID_VENDOR_FROM_DATABASE=EGO SYStems, Inc.
-
-usb:v0A92p0011*
- ID_PRODUCT_FROM_DATABASE=SYS WaveTerminal U2A
-
-usb:v0A92p0021*
- ID_PRODUCT_FROM_DATABASE=GIGAPort
-
-usb:v0A92p0031*
- ID_PRODUCT_FROM_DATABASE=GIGAPortAG
-
-usb:v0A92p0053*
- ID_PRODUCT_FROM_DATABASE=AudioTrak Optoplay
-
-usb:v0A92p0061*
- ID_PRODUCT_FROM_DATABASE=Waveterminal U24
-
-usb:v0A92p0071*
- ID_PRODUCT_FROM_DATABASE=MAYA EX7
-
-usb:v0A92p0091*
- ID_PRODUCT_FROM_DATABASE=Maya 44
-
-usb:v0A92p00B1*
- ID_PRODUCT_FROM_DATABASE=MAYA EX5
-
-usb:v0A92p1000*
- ID_PRODUCT_FROM_DATABASE=MIDI Mate
-
-usb:v0A92p1010*
- ID_PRODUCT_FROM_DATABASE=RoMI/O
-
-usb:v0A92p1020*
- ID_PRODUCT_FROM_DATABASE=M4U
-
-usb:v0A92p1030*
- ID_PRODUCT_FROM_DATABASE=M8U
-
-usb:v0A92p1090*
- ID_PRODUCT_FROM_DATABASE=KeyControl49
-
-usb:v0A92p10A0*
- ID_PRODUCT_FROM_DATABASE=KeyControl25
-
-usb:v0A93*
- ID_VENDOR_FROM_DATABASE=C Technologies AB
-
-usb:v0A93p0002*
- ID_PRODUCT_FROM_DATABASE=C-Pen 10
-
-usb:v0A93p0005*
- ID_PRODUCT_FROM_DATABASE=MyPen Light
-
-usb:v0A93p000D*
- ID_PRODUCT_FROM_DATABASE=Input Pen
-
-usb:v0A93p0010*
- ID_PRODUCT_FROM_DATABASE=C-Pen 20
-
-usb:v0A93p0A93*
- ID_PRODUCT_FROM_DATABASE=PayPen
-
-usb:v0A94*
- ID_VENDOR_FROM_DATABASE=Intersense
-
-usb:v0AA3*
- ID_VENDOR_FROM_DATABASE=Lava Computer Mfg., Inc.
-
-usb:v0AA4*
- ID_VENDOR_FROM_DATABASE=Develco Elektronik
-
-usb:v0AA5*
- ID_VENDOR_FROM_DATABASE=First International Digital
-
-usb:v0AA5p0002*
- ID_PRODUCT_FROM_DATABASE=irock! 500 Series
-
-usb:v0AA5p0801*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0AA6*
- ID_VENDOR_FROM_DATABASE=Perception Digital, Ltd
-
-usb:v0AA6p0101*
- ID_PRODUCT_FROM_DATABASE=Hercules Jukebox
-
-usb:v0AA6p1501*
- ID_PRODUCT_FROM_DATABASE=Store 'n' Go HD Drive
-
-usb:v0AA7*
- ID_VENDOR_FROM_DATABASE=Wincor Nixdorf International GmbH
-
-usb:v0AA7p0100*
- ID_PRODUCT_FROM_DATABASE=POS Keyboard, TA58P-USB
-
-usb:v0AA7p0101*
- ID_PRODUCT_FROM_DATABASE=POS Keyboard, TA85P-USB
-
-usb:v0AA7p0102*
- ID_PRODUCT_FROM_DATABASE=POS Keyboard, TA59-USB
-
-usb:v0AA7p0103*
- ID_PRODUCT_FROM_DATABASE=POS Keyboard, TA60-USB
-
-usb:v0AA7p0104*
- ID_PRODUCT_FROM_DATABASE=SNIkey Keyboard, SNIKey-KB-USB
-
-usb:v0AA7p0200*
- ID_PRODUCT_FROM_DATABASE=Operator Display, BA63-USB
-
-usb:v0AA7p0201*
- ID_PRODUCT_FROM_DATABASE=Operator Display, BA66-USB
-
-usb:v0AA7p0202*
- ID_PRODUCT_FROM_DATABASE=Operator Display & Scanner, XiCheck-BA63
-
-usb:v0AA7p0203*
- ID_PRODUCT_FROM_DATABASE=Operator Display & Scanner, XiCheck-BA66
-
-usb:v0AA7p0204*
- ID_PRODUCT_FROM_DATABASE=Graphics Operator Display, BA63GV
-
-usb:v0AA7p0300*
- ID_PRODUCT_FROM_DATABASE=POS Printer (printer class mode), TH210
-
-usb:v0AA7p0301*
- ID_PRODUCT_FROM_DATABASE=POS Printer (native mode), TH210
-
-usb:v0AA7p0302*
- ID_PRODUCT_FROM_DATABASE=POS Printer (printer class mode), TH220
-
-usb:v0AA7p0303*
- ID_PRODUCT_FROM_DATABASE=POS Printer (native mode), TH220
-
-usb:v0AA7p0304*
- ID_PRODUCT_FROM_DATABASE=POS Printer, TH230
-
-usb:v0AA7p0305*
- ID_PRODUCT_FROM_DATABASE=Lottery Printer, XiPrintPlus
-
-usb:v0AA7p0306*
- ID_PRODUCT_FROM_DATABASE=POS Printer (printer class mode), TH320
-
-usb:v0AA7p0307*
- ID_PRODUCT_FROM_DATABASE=POS Printer (native mode), TH320
-
-usb:v0AA7p0308*
- ID_PRODUCT_FROM_DATABASE=POS Printer (printer class mode), TH420
-
-usb:v0AA7p0309*
- ID_PRODUCT_FROM_DATABASE=POS Printer (native mode), TH420
-
-usb:v0AA7p030A*
- ID_PRODUCT_FROM_DATABASE=POS Printer, TH200B
-
-usb:v0AA7p0400*
- ID_PRODUCT_FROM_DATABASE=Lottery Scanner, Xiscan S
-
-usb:v0AA7p0401*
- ID_PRODUCT_FROM_DATABASE=Lottery Scanner, Xiscan 3
-
-usb:v0AA7p0402*
- ID_PRODUCT_FROM_DATABASE=Programmable Magnetic Swipe Card Reader, MSRP-USB
-
-usb:v0AA7p0500*
- ID_PRODUCT_FROM_DATABASE=IDE Adapter
-
-usb:v0AA7p0501*
- ID_PRODUCT_FROM_DATABASE=Hub Printer Interface
-
-usb:v0AA7p0502*
- ID_PRODUCT_FROM_DATABASE=Hub SNIKey Keyboard
-
-usb:v0AA7p4304*
- ID_PRODUCT_FROM_DATABASE=Banking Printer TP07
-
-usb:v0AA7p4305*
- ID_PRODUCT_FROM_DATABASE=Banking Printer TP07c
-
-usb:v0AA7p4500*
- ID_PRODUCT_FROM_DATABASE=WN Central Special Electronics
-
-usb:v0AA8*
- ID_VENDOR_FROM_DATABASE=TriGem Computer, Inc.
-
-usb:v0AA8p0060*
- ID_PRODUCT_FROM_DATABASE=TG 11Mbps WLAN Mini Adapter
-
-usb:v0AA8p1001*
- ID_PRODUCT_FROM_DATABASE=DreamComboM4100
-
-usb:v0AA8p3002*
- ID_PRODUCT_FROM_DATABASE=InkJet Color Printer
-
-usb:v0AA8p8001*
- ID_PRODUCT_FROM_DATABASE=TG_iMON
-
-usb:v0AA8p8002*
- ID_PRODUCT_FROM_DATABASE=TG_KLOSS
-
-usb:v0AA8pA001*
- ID_PRODUCT_FROM_DATABASE=TG_X2
-
-usb:v0AA8pA002*
- ID_PRODUCT_FROM_DATABASE=TGVFD_KLOSS
-
-usb:v0AA8pFFDA*
- ID_PRODUCT_FROM_DATABASE=iMON_VFD
-
-usb:v0AA9*
- ID_VENDOR_FROM_DATABASE=Baromtec Co.
-
-usb:v0AA9pF01B*
- ID_PRODUCT_FROM_DATABASE=Medion MD 6242 MP3 Player
-
-usb:v0AAA*
- ID_VENDOR_FROM_DATABASE=Japan CBM Corp.
-
-usb:v0AAB*
- ID_VENDOR_FROM_DATABASE=Vision Shape Europe SA
-
-usb:v0AAC*
- ID_VENDOR_FROM_DATABASE=iCompression, Inc.
-
-usb:v0AAD*
- ID_VENDOR_FROM_DATABASE=Rohde & Schwarz GmbH & Co. KG
-
-usb:v0AADp0003*
- ID_PRODUCT_FROM_DATABASE=NRP-Z21
-
-usb:v0AADp000C*
- ID_PRODUCT_FROM_DATABASE=NRP-Z11
-
-usb:v0AADp0013*
- ID_PRODUCT_FROM_DATABASE=NRP-Z22
-
-usb:v0AADp0014*
- ID_PRODUCT_FROM_DATABASE=NRP-Z23
-
-usb:v0AADp0015*
- ID_PRODUCT_FROM_DATABASE=NRP-Z24
-
-usb:v0AADp0016*
- ID_PRODUCT_FROM_DATABASE=NRP-Z51
-
-usb:v0AADp0017*
- ID_PRODUCT_FROM_DATABASE=NRP-Z52
-
-usb:v0AADp0018*
- ID_PRODUCT_FROM_DATABASE=NRP-Z55
-
-usb:v0AADp0019*
- ID_PRODUCT_FROM_DATABASE=NRP-Z56
-
-usb:v0AADp0021*
- ID_PRODUCT_FROM_DATABASE=NRP-Z91
-
-usb:v0AADp0023*
- ID_PRODUCT_FROM_DATABASE=NRP-Z81
-
-usb:v0AADp002C*
- ID_PRODUCT_FROM_DATABASE=NRP-Z31
-
-usb:v0AADp002D*
- ID_PRODUCT_FROM_DATABASE=NRP-Z37
-
-usb:v0AADp002F*
- ID_PRODUCT_FROM_DATABASE=NRP-Z27
-
-usb:v0AADp0051*
- ID_PRODUCT_FROM_DATABASE=NRP-Z28
-
-usb:v0AADp0052*
- ID_PRODUCT_FROM_DATABASE=NRP-Z98
-
-usb:v0AADp0062*
- ID_PRODUCT_FROM_DATABASE=NRP-Z92
-
-usb:v0AADp0070*
- ID_PRODUCT_FROM_DATABASE=NRP-Z57
-
-usb:v0AADp0083*
- ID_PRODUCT_FROM_DATABASE=NRP-Z85
-
-usb:v0AADp0095*
- ID_PRODUCT_FROM_DATABASE=NRP-Z86
-
-usb:v0AAE*
- ID_VENDOR_FROM_DATABASE=NEC infrontia Corp. (Nitsuko)
-
-usb:v0AAF*
- ID_VENDOR_FROM_DATABASE=Digitalway Co., Ltd
-
-usb:v0AB0*
- ID_VENDOR_FROM_DATABASE=Arrow Strong Electronics Co., Ltd
-
-usb:v0AB1*
- ID_VENDOR_FROM_DATABASE=FEIG ELECTRONIC GmbH
-
-usb:v0AB1p0002*
- ID_PRODUCT_FROM_DATABASE=OBID RFID-Reader
-
-usb:v0ABA*
- ID_VENDOR_FROM_DATABASE=Ellisys
-
-usb:v0ABAp8001*
- ID_PRODUCT_FROM_DATABASE=Tracker 110 Protocol Analyzer
-
-usb:v0ABAp8002*
- ID_PRODUCT_FROM_DATABASE=Explorer 200 Protocol Analyzer
-
-usb:v0ABE*
- ID_VENDOR_FROM_DATABASE=Stereo-Link
-
-usb:v0ABEp0101*
- ID_PRODUCT_FROM_DATABASE=SL1200 DAC
-
-usb:v0ABF*
- ID_VENDOR_FROM_DATABASE=Diolan
-
-usb:v0ABFp3370*
- ID_PRODUCT_FROM_DATABASE=I2C/SPI Adapter - U2C-12
-
-usb:v0AC3*
- ID_VENDOR_FROM_DATABASE=Sanyo Semiconductor Company Micro
-
-usb:v0AC4*
- ID_VENDOR_FROM_DATABASE=Leco Corp.
-
-usb:v0AC5*
- ID_VENDOR_FROM_DATABASE=I & C Corp.
-
-usb:v0AC6*
- ID_VENDOR_FROM_DATABASE=Singing Electrons, Inc.
-
-usb:v0AC7*
- ID_VENDOR_FROM_DATABASE=Panwest Corp.
-
-usb:v0AC8*
- ID_VENDOR_FROM_DATABASE=Z-Star Microelectronics Corp.
-
-usb:v0AC8p0301*
- ID_PRODUCT_FROM_DATABASE=Web Camera
-
-usb:v0AC8p0302*
- ID_PRODUCT_FROM_DATABASE=ZC0302 Webcam
-
-usb:v0AC8p0321*
- ID_PRODUCT_FROM_DATABASE=Vimicro generic vc0321 Camera
-
-usb:v0AC8p0323*
- ID_PRODUCT_FROM_DATABASE=Luxya WC-1200 USB 2.0 Webcam
-
-usb:v0AC8p0328*
- ID_PRODUCT_FROM_DATABASE=A4Tech PK-130MG
-
-usb:v0AC8p0336*
- ID_PRODUCT_FROM_DATABASE=Elecom UCAM-DLQ30
-
-usb:v0AC8p301B*
- ID_PRODUCT_FROM_DATABASE=ZC0301 Webcam
-
-usb:v0AC8p303B*
- ID_PRODUCT_FROM_DATABASE=ZC0303 Webcam
-
-usb:v0AC8p305B*
- ID_PRODUCT_FROM_DATABASE=ZC0305 Webcam
-
-usb:v0AC8p307B*
- ID_PRODUCT_FROM_DATABASE=USB 1.1 Webcam
-
-usb:v0AC8p332D*
- ID_PRODUCT_FROM_DATABASE=Vega USB 2.0 Camera
-
-usb:v0AC8p3343*
- ID_PRODUCT_FROM_DATABASE=Sirius USB 2.0 Camera
-
-usb:v0AC8p3370*
- ID_PRODUCT_FROM_DATABASE=Traveler TV 6500 SF Dia-scanner
-
-usb:v0AC8p3420*
- ID_PRODUCT_FROM_DATABASE=Venus USB2.0 Camera
-
-usb:v0AC8pC001*
- ID_PRODUCT_FROM_DATABASE=Sony embedded vimicro Camera
-
-usb:v0AC8pC002*
- ID_PRODUCT_FROM_DATABASE=Visual Communication Camera VGP-VCC1
-
-usb:v0AC8pC302*
- ID_PRODUCT_FROM_DATABASE=Vega USB 2.0 Camera
-
-usb:v0AC8pC303*
- ID_PRODUCT_FROM_DATABASE=Saturn USB 2.0 Camera
-
-usb:v0AC8pC326*
- ID_PRODUCT_FROM_DATABASE=Namuga 1.3M Webcam
-
-usb:v0AC8pC33F*
- ID_PRODUCT_FROM_DATABASE=Webcam
-
-usb:v0AC9*
- ID_VENDOR_FROM_DATABASE=Micro Solutions, Inc.
-
-usb:v0AC9p0000*
- ID_PRODUCT_FROM_DATABASE=Backpack CD-ReWriter
-
-usb:v0AC9p0001*
- ID_PRODUCT_FROM_DATABASE=BACKPACK 2 Cable
-
-usb:v0AC9p0010*
- ID_PRODUCT_FROM_DATABASE=BACKPACK
-
-usb:v0AC9p0011*
- ID_PRODUCT_FROM_DATABASE=Backpack 40GB Hard Drive
-
-usb:v0AC9p0110*
- ID_PRODUCT_FROM_DATABASE=BACKPACK
-
-usb:v0AC9p0111*
- ID_PRODUCT_FROM_DATABASE=BackPack
-
-usb:v0AC9p1234*
- ID_PRODUCT_FROM_DATABASE=BACKPACK
-
-usb:v0ACA*
- ID_VENDOR_FROM_DATABASE=OPEN Networks Ltd
-
-usb:v0ACAp1060*
- ID_PRODUCT_FROM_DATABASE=OPEN NT1 Plus II
-
-usb:v0ACC*
- ID_VENDOR_FROM_DATABASE=Koga Electronics Co.
-
-usb:v0ACD*
- ID_VENDOR_FROM_DATABASE=ID Tech
-
-usb:v0ACDp0300*
- ID_PRODUCT_FROM_DATABASE=IDT1221U RS-232 Adapter
-
-usb:v0ACDp0401*
- ID_PRODUCT_FROM_DATABASE=Spectrum III Hybrid Smartcard Reader
-
-usb:v0ACDp0630*
- ID_PRODUCT_FROM_DATABASE=Spectrum III Mag-Only Insert Reader (SPT3-355 Series) USB-CDC
-
-usb:v0ACE*
- ID_VENDOR_FROM_DATABASE=ZyDAS
-
-usb:v0ACEp1201*
- ID_PRODUCT_FROM_DATABASE=ZD1201 802.11b
-
-usb:v0ACEp1211*
- ID_PRODUCT_FROM_DATABASE=ZD1211 802.11g
-
-usb:v0ACEp1215*
- ID_PRODUCT_FROM_DATABASE=ZD1211B 802.11g
-
-usb:v0ACEp1221*
- ID_PRODUCT_FROM_DATABASE=ZD1221 802.11n
-
-usb:v0ACEp1602*
- ID_PRODUCT_FROM_DATABASE=ZyXEL Omni FaxModem 56K
-
-usb:v0ACEp1608*
- ID_PRODUCT_FROM_DATABASE=ZyXEL Omni FaxModem 56K UNO
-
-usb:v0ACEp1611*
- ID_PRODUCT_FROM_DATABASE=ZyXEL Omni FaxModem 56K Plus
-
-usb:v0ACEp2011*
- ID_PRODUCT_FROM_DATABASE=Virtual media for 802.11bg
-
-usb:v0ACEp20FF*
- ID_PRODUCT_FROM_DATABASE=Virtual media for 802.11bg
-
-usb:v0ACEpA211*
- ID_PRODUCT_FROM_DATABASE=ZD1211 802.11b/g Wireless Adapter
-
-usb:v0ACEpB215*
- ID_PRODUCT_FROM_DATABASE=802.11bg
-
-usb:v0ACF*
- ID_VENDOR_FROM_DATABASE=Intoto, Inc.
-
-usb:v0AD0*
- ID_VENDOR_FROM_DATABASE=Intellix Corp.
-
-usb:v0AD1*
- ID_VENDOR_FROM_DATABASE=Remotec Technology, Ltd
-
-usb:v0AD2*
- ID_VENDOR_FROM_DATABASE=Service & Quality Technology Co., Ltd
-
-usb:v0ADA*
- ID_VENDOR_FROM_DATABASE=Data Encryption Systems Ltd.
-
-usb:v0ADAp0005*
- ID_PRODUCT_FROM_DATABASE=DK2
-
-usb:v0AE3*
- ID_VENDOR_FROM_DATABASE=Allion Computer, Inc.
-
-usb:v0AE4*
- ID_VENDOR_FROM_DATABASE=Taito Corp.
-
-usb:v0AE7*
- ID_VENDOR_FROM_DATABASE=Neodym Systems, Inc.
-
-usb:v0AE8*
- ID_VENDOR_FROM_DATABASE=System Support Co., Ltd
-
-usb:v0AE9*
- ID_VENDOR_FROM_DATABASE=North Shore Circuit Design L.L.P.
-
-usb:v0AEA*
- ID_VENDOR_FROM_DATABASE=SciEssence, LLC
-
-usb:v0AEB*
- ID_VENDOR_FROM_DATABASE=TTP Communications, Ltd
-
-usb:v0AEC*
- ID_VENDOR_FROM_DATABASE=Neodio Technologies Corp.
-
-usb:v0AECp2101*
- ID_PRODUCT_FROM_DATABASE=SmartMedia Card Reader
-
-usb:v0AECp2102*
- ID_PRODUCT_FROM_DATABASE=CompactFlash Card Reader
-
-usb:v0AECp2103*
- ID_PRODUCT_FROM_DATABASE=MMC/SD Card Reader
-
-usb:v0AECp2104*
- ID_PRODUCT_FROM_DATABASE=MemoryStick Card Reader
-
-usb:v0AECp2201*
- ID_PRODUCT_FROM_DATABASE=SmartMedia+CompactFlash Card Reader
-
-usb:v0AECp2202*
- ID_PRODUCT_FROM_DATABASE=SmartMedia+MMC/SD Card Reader
-
-usb:v0AECp2203*
- ID_PRODUCT_FROM_DATABASE=SmartMedia+MemoryStick Card Reader
-
-usb:v0AECp2204*
- ID_PRODUCT_FROM_DATABASE=CompactFlash+MMC/SD Card Reader
-
-usb:v0AECp2205*
- ID_PRODUCT_FROM_DATABASE=CompactFlash+MemoryStick Card Reader
-
-usb:v0AECp2206*
- ID_PRODUCT_FROM_DATABASE=MMC/SD+MemoryStick Card Reader
-
-usb:v0AECp2301*
- ID_PRODUCT_FROM_DATABASE=SmartMedia+CompactFlash+MMC/SD Card Reader
-
-usb:v0AECp2302*
- ID_PRODUCT_FROM_DATABASE=SmartMedia+CompactFlash+MemoryStick Card Reader
-
-usb:v0AECp2303*
- ID_PRODUCT_FROM_DATABASE=SmartMedia+MMC/SD+MemoryStick Card Reader
-
-usb:v0AECp2304*
- ID_PRODUCT_FROM_DATABASE=CompactFlash+MMC/SD+MemoryStick Card Reader
-
-usb:v0AECp3016*
- ID_PRODUCT_FROM_DATABASE=MMC/SD+Memory Stick Card Reader
-
-usb:v0AECp3050*
- ID_PRODUCT_FROM_DATABASE=ND3050 8-in-1 Card Reader
-
-usb:v0AECp3060*
- ID_PRODUCT_FROM_DATABASE=1.1 FS Card Reader
-
-usb:v0AECp3101*
- ID_PRODUCT_FROM_DATABASE=MMC/SD Card Reader
-
-usb:v0AECp3102*
- ID_PRODUCT_FROM_DATABASE=MemoryStick Card Reader
-
-usb:v0AECp3201*
- ID_PRODUCT_FROM_DATABASE=MMC/SD+MemoryStick Card Reader
-
-usb:v0AECp3216*
- ID_PRODUCT_FROM_DATABASE=HS Card Reader
-
-usb:v0AECp3260*
- ID_PRODUCT_FROM_DATABASE=7-in-1 Card Reader
-
-usb:v0AECp5010*
- ID_PRODUCT_FROM_DATABASE=ND5010 Card Reader
-
-usb:v0AF0*
- ID_VENDOR_FROM_DATABASE=Option
-
-usb:v0AF0p5000*
- ID_PRODUCT_FROM_DATABASE=UMTS Card
-
-usb:v0AF0p6000*
- ID_PRODUCT_FROM_DATABASE=GlobeTrotter 3G datacard
-
-usb:v0AF0p6300*
- ID_PRODUCT_FROM_DATABASE=GT 3G Quad UMTS/GPRS Card
-
-usb:v0AF0p6600*
- ID_PRODUCT_FROM_DATABASE=GlobeTrotter 3G+ datacard
-
-usb:v0AF0p6711*
- ID_PRODUCT_FROM_DATABASE=GlobeTrotter Express 7.2 v2
-
-usb:v0AF0p6971*
- ID_PRODUCT_FROM_DATABASE=Globetrotter HSDPA Modem
-
-usb:v0AF0p7251*
- ID_PRODUCT_FROM_DATABASE=Globetrotter HSUPA Modem (aka iCON HSUPA E)
-
-usb:v0AF0p7501*
- ID_PRODUCT_FROM_DATABASE=Globetrotter HSUPA Modem (icon 411 aka "Vodafone K3760")
-
-usb:v0AF0p7601*
- ID_PRODUCT_FROM_DATABASE=Globetrotter MO40x 3G Modem (GTM 382)
-
-usb:v0AF0p7701*
- ID_PRODUCT_FROM_DATABASE=Globetrotter HSUPA Modem (aka icon 451)
-
-usb:v0AF0pD055*
- ID_PRODUCT_FROM_DATABASE=Globetrotter GI0505 [iCON 505]
-
-usb:v0AF6*
- ID_VENDOR_FROM_DATABASE=Silver I Co., Ltd
-
-usb:v0AF7*
- ID_VENDOR_FROM_DATABASE=B2C2, Inc.
-
-usb:v0AF7p0101*
- ID_PRODUCT_FROM_DATABASE=Digital TV USB Receiver (DVB-S/T/C / ATSC)
-
-usb:v0AF9*
- ID_VENDOR_FROM_DATABASE=Hama, Inc.
-
-usb:v0AF9p0010*
- ID_PRODUCT_FROM_DATABASE=USB SightCam 100
-
-usb:v0AF9p0011*
- ID_PRODUCT_FROM_DATABASE=Micro Innovations IC50C Webcam
-
-usb:v0AFC*
- ID_VENDOR_FROM_DATABASE=Zaptronix Ltd
-
-usb:v0AFD*
- ID_VENDOR_FROM_DATABASE=Tateno Dennou, Inc.
-
-usb:v0AFE*
- ID_VENDOR_FROM_DATABASE=Cummins Engine Co.
-
-usb:v0AFF*
- ID_VENDOR_FROM_DATABASE=Jump Zone Network Products, Inc.
-
-usb:v0B00*
- ID_VENDOR_FROM_DATABASE=INGENICO
-
-usb:v0B05*
- ID_VENDOR_FROM_DATABASE=ASUSTek Computer, Inc.
-
-usb:v0B05p1101*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (UISDMC4S)
-
-usb:v0B05p1706*
- ID_PRODUCT_FROM_DATABASE=WL-167G v1 802.11g Adapter [Ralink RT2571]
-
-usb:v0B05p1707*
- ID_PRODUCT_FROM_DATABASE=WL-167G v1 802.11g Adapter [Ralink RT2571]
-
-usb:v0B05p1708*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0B05p170B*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0B05p170C*
- ID_PRODUCT_FROM_DATABASE=WL-159g 802.11bg
-
-usb:v0B05p170D*
- ID_PRODUCT_FROM_DATABASE=802.11b/g Wireless Network Adapter
-
-usb:v0B05p1712*
- ID_PRODUCT_FROM_DATABASE=BT-183 Bluetooth 2.0+EDR adapter
-
-usb:v0B05p1715*
- ID_PRODUCT_FROM_DATABASE=2045 Bluetooth 2.0 Device with trace filter
-
-usb:v0B05p1716*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0B05p1717*
- ID_PRODUCT_FROM_DATABASE=WL169gE 802.11g Adapter [Broadcom 4320 USB]
-
-usb:v0B05p171B*
- ID_PRODUCT_FROM_DATABASE=A9T wireless 802.11bg
-
-usb:v0B05p171C*
- ID_PRODUCT_FROM_DATABASE=802.11b/g Wireless Network Adapter
-
-usb:v0B05p171F*
- ID_PRODUCT_FROM_DATABASE=My Cinema U3000 Mini [DiBcom DiB7700P]
-
-usb:v0B05p1723*
- ID_PRODUCT_FROM_DATABASE=WL-167G v2 802.11g Adapter [Ralink RT2571W]
-
-usb:v0B05p1724*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v0B05p1726*
- ID_PRODUCT_FROM_DATABASE=Laptop OLED Display
-
-usb:v0B05p172A*
- ID_PRODUCT_FROM_DATABASE=ASUS 802.11n Network Adapter
-
-usb:v0B05p172B*
- ID_PRODUCT_FROM_DATABASE=802.11n Network Adapter
-
-usb:v0B05p1731*
- ID_PRODUCT_FROM_DATABASE=802.11n Network Adapter
-
-usb:v0B05p1732*
- ID_PRODUCT_FROM_DATABASE=802.11n Network Adapter
-
-usb:v0B05p1734*
- ID_PRODUCT_FROM_DATABASE=ASUS AF-200
-
-usb:v0B05p173C*
- ID_PRODUCT_FROM_DATABASE=BT-183 Bluetooth 2.0
-
-usb:v0B05p173F*
- ID_PRODUCT_FROM_DATABASE=My Cinema U3100 Mini
-
-usb:v0B05p1742*
- ID_PRODUCT_FROM_DATABASE=802.11n Network Adapter
-
-usb:v0B05p1743*
- ID_PRODUCT_FROM_DATABASE=Xonar U1 Audio Station
-
-usb:v0B05p1751*
- ID_PRODUCT_FROM_DATABASE=BT-253 Bluetooth Adapter
-
-usb:v0B05p175B*
- ID_PRODUCT_FROM_DATABASE=Laptop OLED Display
-
-usb:v0B05p1760*
- ID_PRODUCT_FROM_DATABASE=802.11n Network Adapter
-
-usb:v0B05p1761*
- ID_PRODUCT_FROM_DATABASE=USB-N11 802.11n Network Adapter [Ralink RT2870]
-
-usb:v0B05p1774*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
-
-usb:v0B05p1776*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem
-
-usb:v0B05p1779*
- ID_PRODUCT_FROM_DATABASE=My Cinema U3100 Mini Plus [AF9035A]
-
-usb:v0B05p1784*
- ID_PRODUCT_FROM_DATABASE=USB-N13 802.11n Network Adapter (rev. A1) [Ralink RT3072]
-
-usb:v0B05p1786*
- ID_PRODUCT_FROM_DATABASE=USB-N10 802.11n Network Adapter [Realtek RTL8188SU]
-
-usb:v0B05p1791*
- ID_PRODUCT_FROM_DATABASE=WL-167G v3 802.11n Adapter [Realtek RTL8188SU]
-
-usb:v0B05p179D*
- ID_PRODUCT_FROM_DATABASE=USB-N53 802.11abgn Network Adapter [Ralink RT3572]
-
-usb:v0B05p179E*
- ID_PRODUCT_FROM_DATABASE=Eee Note EA800 (network mode)
-
-usb:v0B05p179F*
- ID_PRODUCT_FROM_DATABASE=Eee Note EA800 (tablet mode)
-
-usb:v0B05p17A1*
- ID_PRODUCT_FROM_DATABASE=Eee Note EA800 (mass storage mode)
-
-usb:v0B05p17AB*
- ID_PRODUCT_FROM_DATABASE=USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU]
-
-usb:v0B05p4C80*
- ID_PRODUCT_FROM_DATABASE=Transformer Pad TF300TG
-
-usb:v0B05p4C90*
- ID_PRODUCT_FROM_DATABASE=Transformer Pad Infinity TF700
-
-usb:v0B05p4C91*
- ID_PRODUCT_FROM_DATABASE=Transformer Pad Infinity TF700 (Debug mode)
-
-usb:v0B05p4D00*
- ID_PRODUCT_FROM_DATABASE=Transformer Prime TF201
-
-usb:v0B05p4D01*
- ID_PRODUCT_FROM_DATABASE=Transformer Prime TF201 (debug mode)
-
-usb:v0B05p4DAF*
- ID_PRODUCT_FROM_DATABASE=Transformer Pad Infinity TF700 (Fastboot)
-
-usb:v0B05p6101*
- ID_PRODUCT_FROM_DATABASE=Cable Modem
-
-usb:v0B05p620A*
- ID_PRODUCT_FROM_DATABASE=Remote NDIS Device
-
-usb:v0B05pB700*
- ID_PRODUCT_FROM_DATABASE=Broadcom Bluetooth 2.1
-
-usb:v0B0B*
- ID_VENDOR_FROM_DATABASE=Datamax-O'Neil
-
-usb:v0B0Bp106E*
- ID_PRODUCT_FROM_DATABASE=Datamax E-4304
-
-usb:v0B0C*
- ID_VENDOR_FROM_DATABASE=Todos AB
-
-usb:v0B0Cp0009*
- ID_PRODUCT_FROM_DATABASE=Todos Argos Mini II Smart Card Reader
-
-usb:v0B0Cp001E*
- ID_PRODUCT_FROM_DATABASE=e.dentifier2 (ABN AMRO electronic banking card reader NL)
-
-usb:v0B0Cp002E*
- ID_PRODUCT_FROM_DATABASE=C200 smartcard controller (Nordea card reader)
-
-usb:v0B0Cp003F*
- ID_PRODUCT_FROM_DATABASE=Todos C400 smartcard controller (Handelsbanken card reader)
-
-usb:v0B0Cp0050*
- ID_PRODUCT_FROM_DATABASE=Argos Mini II Smart Card Reader (CCID)
-
-usb:v0B0D*
- ID_VENDOR_FROM_DATABASE=ProjectLab
-
-usb:v0B0Dp0000*
- ID_PRODUCT_FROM_DATABASE=CenturyCD
-
-usb:v0B0E*
- ID_VENDOR_FROM_DATABASE=GN Netcom
-
-usb:v0B0Ep1022*
- ID_PRODUCT_FROM_DATABASE=Jabra PRO 9450, Type 9400BS (DECT Headset)
-
-usb:v0B0F*
- ID_VENDOR_FROM_DATABASE=AVID Technology
-
-usb:v0B10*
- ID_VENDOR_FROM_DATABASE=Pcally
-
-usb:v0B11*
- ID_VENDOR_FROM_DATABASE=I Tech Solutions Co., Ltd
-
-usb:v0B1E*
- ID_VENDOR_FROM_DATABASE=Electronic Warfare Assoc., Inc. (EWA)
-
-usb:v0B1Ep8007*
- ID_PRODUCT_FROM_DATABASE=Blackhawk USB560-BP JTAG Emulator
-
-usb:v0B1F*
- ID_VENDOR_FROM_DATABASE=Insyde Software Corp.
-
-usb:v0B20*
- ID_VENDOR_FROM_DATABASE=TransDimension, Inc.
-
-usb:v0B21*
- ID_VENDOR_FROM_DATABASE=Yokogawa Electric Corp.
-
-usb:v0B22*
- ID_VENDOR_FROM_DATABASE=Japan System Development Co., Ltd
-
-usb:v0B23*
- ID_VENDOR_FROM_DATABASE=Pan-Asia Electronics Co., Ltd
-
-usb:v0B24*
- ID_VENDOR_FROM_DATABASE=Link Evolution Corp.
-
-usb:v0B27*
- ID_VENDOR_FROM_DATABASE=Ritek Corp.
-
-usb:v0B28*
- ID_VENDOR_FROM_DATABASE=Kenwood Corp.
-
-usb:v0B2C*
- ID_VENDOR_FROM_DATABASE=Village Center, Inc.
-
-usb:v0B30*
- ID_VENDOR_FROM_DATABASE=PNY Technologies, Inc.
-
-usb:v0B30p0006*
- ID_PRODUCT_FROM_DATABASE=SM Media-Shuttle Card Reader
-
-usb:v0B33*
- ID_VENDOR_FROM_DATABASE=Contour Design, Inc.
-
-usb:v0B33p0020*
- ID_PRODUCT_FROM_DATABASE=ShuttleXpress
-
-usb:v0B37*
- ID_VENDOR_FROM_DATABASE=Hitachi ULSI Systems Co., Ltd
-
-usb:v0B38*
- ID_VENDOR_FROM_DATABASE=Gear Head
-
-usb:v0B38p0003*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v0B38p0010*
- ID_PRODUCT_FROM_DATABASE=107-Key Keyboard
-
-usb:v0B39*
- ID_VENDOR_FROM_DATABASE=Omnidirectional Control Technology, Inc.
-
-usb:v0B39p0001*
- ID_PRODUCT_FROM_DATABASE=Composite USB PS2 Converter
-
-usb:v0B39p0109*
- ID_PRODUCT_FROM_DATABASE=USB TO Ethernet
-
-usb:v0B39p0421*
- ID_PRODUCT_FROM_DATABASE=Serial
-
-usb:v0B39p0801*
- ID_PRODUCT_FROM_DATABASE=USB-Parallel Bridge
-
-usb:v0B39p0901*
- ID_PRODUCT_FROM_DATABASE=OCT To Fast Ethernet Converter
-
-usb:v0B39p0C03*
- ID_PRODUCT_FROM_DATABASE=LAN DOCK Serial Converter
-
-usb:v0B3A*
- ID_VENDOR_FROM_DATABASE=IPaxess
-
-usb:v0B3B*
- ID_VENDOR_FROM_DATABASE=Tekram Technology Co., Ltd
-
-usb:v0B3Bp0163*
- ID_PRODUCT_FROM_DATABASE=TL-WN320G 1.0 WLAN Adapter
-
-usb:v0B3Bp1601*
- ID_PRODUCT_FROM_DATABASE=Allnet 0193 802.11b Adapter
-
-usb:v0B3Bp1602*
- ID_PRODUCT_FROM_DATABASE=ZyXEL ZyAIR B200 802.11b Adapter
-
-usb:v0B3Bp1612*
- ID_PRODUCT_FROM_DATABASE=AIR.Mate 2@net 802.11b Adapter
-
-usb:v0B3Bp1613*
- ID_PRODUCT_FROM_DATABASE=802.11b Wireless LAN Adapter
-
-usb:v0B3Bp1620*
- ID_PRODUCT_FROM_DATABASE=Allnet Wireless Network Adapter [Envara WiND512]
-
-usb:v0B3Bp1630*
- ID_PRODUCT_FROM_DATABASE=QuickWLAN 802.11bg
-
-usb:v0B3Bp5630*
- ID_PRODUCT_FROM_DATABASE=802.11bg
-
-usb:v0B3Bp6630*
- ID_PRODUCT_FROM_DATABASE=ZD1211
-
-usb:v0B3C*
- ID_VENDOR_FROM_DATABASE=Olivetti Techcenter
-
-usb:v0B3CpA010*
- ID_PRODUCT_FROM_DATABASE=Simple_Way Printer/Scanner/Copier
-
-usb:v0B3CpC000*
- ID_PRODUCT_FROM_DATABASE=Olicard 100
-
-usb:v0B3CpC700*
- ID_PRODUCT_FROM_DATABASE=Olicard 100 (Mass Storage mode)
-
-usb:v0B3E*
- ID_VENDOR_FROM_DATABASE=Kikusui Electronics Corp.
-
-usb:v0B41*
- ID_VENDOR_FROM_DATABASE=Hal Corp.
-
-usb:v0B41p0011*
- ID_PRODUCT_FROM_DATABASE=Crossam2+USB IR commander
-
-usb:v0B43*
- ID_VENDOR_FROM_DATABASE=Play.com, Inc.
-
-usb:v0B43p0003*
- ID_PRODUCT_FROM_DATABASE=PS2 Controller Converter
-
-usb:v0B43p0005*
- ID_PRODUCT_FROM_DATABASE=GameCube Adaptor
-
-usb:v0B47*
- ID_VENDOR_FROM_DATABASE=Sportbug.com, Inc.
-
-usb:v0B48*
- ID_VENDOR_FROM_DATABASE=TechnoTrend AG
-
-usb:v0B48p1003*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge USB-Nova
-
-usb:v0B48p1004*
- ID_PRODUCT_FROM_DATABASE=TT-PCline
-
-usb:v0B48p1005*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge USB-Nova
-
-usb:v0B48p1006*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge DEC3000-s
-
-usb:v0B48p1007*
- ID_PRODUCT_FROM_DATABASE=TT-micro plus Device
-
-usb:v0B48p1008*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge DEC2000-t
-
-usb:v0B48p1009*
- ID_PRODUCT_FROM_DATABASE=Technotrend/Hauppauge DEC2540-t
-
-usb:v0B48p3001*
- ID_PRODUCT_FROM_DATABASE=DVB-S receiver
-
-usb:v0B48p3002*
- ID_PRODUCT_FROM_DATABASE=DVB-C receiver
-
-usb:v0B48p3003*
- ID_PRODUCT_FROM_DATABASE=DVB-T receiver
-
-usb:v0B48p3004*
- ID_PRODUCT_FROM_DATABASE=TT TV-Stick
-
-usb:v0B48p3005*
- ID_PRODUCT_FROM_DATABASE=TT TV-Stick (8kB EEPROM)
-
-usb:v0B48p3006*
- ID_PRODUCT_FROM_DATABASE=TT-connect S-2400 DVB-S receiver
-
-usb:v0B48p3007*
- ID_PRODUCT_FROM_DATABASE=TT-connect S2-3600
-
-usb:v0B48p3008*
- ID_PRODUCT_FROM_DATABASE=TT-connect
-
-usb:v0B48p3009*
- ID_PRODUCT_FROM_DATABASE=TT-connect S-2400 DVB-S receiver (8kB EEPROM)
-
-usb:v0B48p300A*
- ID_PRODUCT_FROM_DATABASE=TT-connect S2-3650 CI
-
-usb:v0B48p300B*
- ID_PRODUCT_FROM_DATABASE=TT-connect C-3650 CI
-
-usb:v0B48p300C*
- ID_PRODUCT_FROM_DATABASE=TT-connect T-3650 CI
-
-usb:v0B48p300D*
- ID_PRODUCT_FROM_DATABASE=TT-connect CT-3650 CI
-
-usb:v0B48p300E*
- ID_PRODUCT_FROM_DATABASE=TT-connect C-2400
-
-usb:v0B49*
- ID_VENDOR_FROM_DATABASE=ASCII Corp.
-
-usb:v0B49p064F*
- ID_PRODUCT_FROM_DATABASE=Trance Vibrator
-
-usb:v0B4B*
- ID_VENDOR_FROM_DATABASE=Pine Corp. Ltd.
-
-usb:v0B4Bp0100*
- ID_PRODUCT_FROM_DATABASE=D'music MP3 Player
-
-usb:v0B4D*
- ID_VENDOR_FROM_DATABASE=Graphtec America, Inc.
-
-usb:v0B4Dp110A*
- ID_PRODUCT_FROM_DATABASE=Graphtec CC200-20
-
-usb:v0B4E*
- ID_VENDOR_FROM_DATABASE=Musical Electronics, Ltd
-
-usb:v0B4Ep6500*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0B4Ep8028*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0B4Ep8920*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0B50*
- ID_VENDOR_FROM_DATABASE=Dumpries Co., Ltd
-
-usb:v0B51*
- ID_VENDOR_FROM_DATABASE=Comfort Keyboard Co.
-
-usb:v0B51p0020*
- ID_PRODUCT_FROM_DATABASE=Comfort Keyboard
-
-usb:v0B52*
- ID_VENDOR_FROM_DATABASE=Colorado MicroDisplay, Inc.
-
-usb:v0B54*
- ID_VENDOR_FROM_DATABASE=Sinbon Electronics Co., Ltd
-
-usb:v0B56*
- ID_VENDOR_FROM_DATABASE=TYI Systems, Ltd
-
-usb:v0B57*
- ID_VENDOR_FROM_DATABASE=Beijing HanwangTechnology Co., Ltd
-
-usb:v0B59*
- ID_VENDOR_FROM_DATABASE=Lake Communications, Ltd
-
-usb:v0B5A*
- ID_VENDOR_FROM_DATABASE=Corel Corp.
-
-usb:v0B5F*
- ID_VENDOR_FROM_DATABASE=Green Electronics Co., Ltd
-
-usb:v0B60*
- ID_VENDOR_FROM_DATABASE=Nsine, Ltd
-
-usb:v0B61*
- ID_VENDOR_FROM_DATABASE=NEC Viewtechnology, Ltd
-
-usb:v0B62*
- ID_VENDOR_FROM_DATABASE=Orange Micro, Inc.
-
-usb:v0B62p000B*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0B62p0059*
- ID_PRODUCT_FROM_DATABASE=iBOT2 Webcam
-
-usb:v0B63*
- ID_VENDOR_FROM_DATABASE=ADLink Technology, Inc.
-
-usb:v0B64*
- ID_VENDOR_FROM_DATABASE=Wonderful Wire Cable Co., Ltd
-
-usb:v0B65*
- ID_VENDOR_FROM_DATABASE=Expert Magnetics Corp.
-
-usb:v0B69*
- ID_VENDOR_FROM_DATABASE=CacheVision
-
-usb:v0B6A*
- ID_VENDOR_FROM_DATABASE=Maxim Integrated Products
-
-usb:v0B6F*
- ID_VENDOR_FROM_DATABASE=Nagano Japan Radio Co., Ltd
-
-usb:v0B70*
- ID_VENDOR_FROM_DATABASE=PortalPlayer, Inc.
-
-usb:v0B70p00BA*
- ID_PRODUCT_FROM_DATABASE=iRiver H10 20GB
-
-usb:v0B71*
- ID_VENDOR_FROM_DATABASE=SHIN-EI Sangyo Co., Ltd
-
-usb:v0B72*
- ID_VENDOR_FROM_DATABASE=Embedded Wireless Technology Co., Ltd
-
-usb:v0B73*
- ID_VENDOR_FROM_DATABASE=Computone Corp.
-
-usb:v0B75*
- ID_VENDOR_FROM_DATABASE=Roland DG Corp.
-
-usb:v0B79*
- ID_VENDOR_FROM_DATABASE=Sunrise Telecom, Inc.
-
-usb:v0B7A*
- ID_VENDOR_FROM_DATABASE=Zeevo, Inc.
-
-usb:v0B7Ap07D0*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle
-
-usb:v0B7B*
- ID_VENDOR_FROM_DATABASE=Taiko Denki Co., Ltd
-
-usb:v0B7C*
- ID_VENDOR_FROM_DATABASE=ITRAN Communications, Ltd
-
-usb:v0B7D*
- ID_VENDOR_FROM_DATABASE=Astrodesign, Inc.
-
-usb:v0B81*
- ID_VENDOR_FROM_DATABASE=id3 Semiconductors
-
-usb:v0B81p0001*
- ID_PRODUCT_FROM_DATABASE=Biothentic II smartcard reader with fingerprint sensor
-
-usb:v0B81p0002*
- ID_PRODUCT_FROM_DATABASE=DFU-Enabled Devices (DFU)
-
-usb:v0B81p0012*
- ID_PRODUCT_FROM_DATABASE=BioPAD biometric module (DFU + CDC)
-
-usb:v0B81p0102*
- ID_PRODUCT_FROM_DATABASE=Certis V1 fingerprint reader
-
-usb:v0B81p0103*
- ID_PRODUCT_FROM_DATABASE=Certis V2 fingerprint reader
-
-usb:v0B81p0200*
- ID_PRODUCT_FROM_DATABASE=CL1356T / CL1356T5 / CL1356A smartcard readers (CCID)
-
-usb:v0B81p0201*
- ID_PRODUCT_FROM_DATABASE=CL1356T / CL1356T5 / CL1356A smartcard readers (DFU + CCID)
-
-usb:v0B81p0220*
- ID_PRODUCT_FROM_DATABASE=CL1356A FFPJP smartcard reader (CCID + HID)
-
-usb:v0B81p0221*
- ID_PRODUCT_FROM_DATABASE=CL1356A smartcard reader (DFU + CCID + HID)
-
-usb:v0B84*
- ID_VENDOR_FROM_DATABASE=Rextron Technology, Inc.
-
-usb:v0B85*
- ID_VENDOR_FROM_DATABASE=Elkat Electronics, Sdn., Bhd.
-
-usb:v0B86*
- ID_VENDOR_FROM_DATABASE=Exputer Systems, Inc.
-
-usb:v0B86p5100*
- ID_PRODUCT_FROM_DATABASE=XMC5100 Zippy Drive
-
-usb:v0B86p5110*
- ID_PRODUCT_FROM_DATABASE=XMC5110 Flash Drive
-
-usb:v0B86p5200*
- ID_PRODUCT_FROM_DATABASE=XMC5200 Zippy Drive
-
-usb:v0B86p5201*
- ID_PRODUCT_FROM_DATABASE=XMC5200 Zippy Drive
-
-usb:v0B86p5202*
- ID_PRODUCT_FROM_DATABASE=XMC5200 Zippy Drive
-
-usb:v0B86p5280*
- ID_PRODUCT_FROM_DATABASE=XMC5280 Storage Drive
-
-usb:v0B86pFFF0*
- ID_PRODUCT_FROM_DATABASE=ISP5200 Debugger
-
-usb:v0B87*
- ID_VENDOR_FROM_DATABASE=Plus-One I & T, Inc.
-
-usb:v0B88*
- ID_VENDOR_FROM_DATABASE=Sigma Koki Co., Ltd, Technology Center
-
-usb:v0B89*
- ID_VENDOR_FROM_DATABASE=Advanced Digital Broadcast, Ltd
-
-usb:v0B8C*
- ID_VENDOR_FROM_DATABASE=SMART Technologies Inc.
-
-usb:v0B8Cp0001*
- ID_PRODUCT_FROM_DATABASE=Interactive Whiteboard Controller (SB6) (HID)
-
-usb:v0B8Cp00C3*
- ID_PRODUCT_FROM_DATABASE=Sympodium ID350
-
-usb:v0B95*
- ID_VENDOR_FROM_DATABASE=ASIX Electronics Corp.
-
-usb:v0B95p1720*
- ID_PRODUCT_FROM_DATABASE=10/100 Ethernet
-
-usb:v0B95p1780*
- ID_PRODUCT_FROM_DATABASE=AX88178
-
-usb:v0B95p7720*
- ID_PRODUCT_FROM_DATABASE=AX88772
-
-usb:v0B95p772A*
- ID_PRODUCT_FROM_DATABASE=AX88772A Fast Ethernet
-
-usb:v0B95p772B*
- ID_PRODUCT_FROM_DATABASE=AX88772B
-
-usb:v0B95p7E2B*
- ID_PRODUCT_FROM_DATABASE=AX88772B
-
-usb:v0B96*
- ID_VENDOR_FROM_DATABASE=Sewon Telecom
-
-usb:v0B97*
- ID_VENDOR_FROM_DATABASE=O2 Micro, Inc.
-
-usb:v0B97p7732*
- ID_PRODUCT_FROM_DATABASE=Smart Card Reader
-
-usb:v0B97p7761*
- ID_PRODUCT_FROM_DATABASE=Oz776 1.1 Hub
-
-usb:v0B97p7762*
- ID_PRODUCT_FROM_DATABASE=Oz776 SmartCard Reader
-
-usb:v0B97p7772*
- ID_PRODUCT_FROM_DATABASE=OZ776 CCID Smartcard Reader
-
-usb:v0B98*
- ID_VENDOR_FROM_DATABASE=Playmates Toys, Inc.
-
-usb:v0B99*
- ID_VENDOR_FROM_DATABASE=Audio International, Inc.
-
-usb:v0B9B*
- ID_VENDOR_FROM_DATABASE=Dipl.-Ing. Stefan Kunde
-
-usb:v0B9Bp4012*
- ID_PRODUCT_FROM_DATABASE=Reflex RC-controller Interface
-
-usb:v0B9D*
- ID_VENDOR_FROM_DATABASE=Softprotec Co.
-
-usb:v0B9F*
- ID_VENDOR_FROM_DATABASE=Chippo Technologies
-
-usb:v0BAF*
- ID_VENDOR_FROM_DATABASE=U.S. Robotics
-
-usb:v0BAFp00E5*
- ID_PRODUCT_FROM_DATABASE=USR6000
-
-usb:v0BAFp00EB*
- ID_PRODUCT_FROM_DATABASE=USR1120 802.11b Adapter
-
-usb:v0BAFp00EC*
- ID_PRODUCT_FROM_DATABASE=56K Faxmodem
-
-usb:v0BAFp00F1*
- ID_PRODUCT_FROM_DATABASE=SureConnect ADSL ATM Adapter
-
-usb:v0BAFp00F2*
- ID_PRODUCT_FROM_DATABASE=SureConnect ADSL Loader
-
-usb:v0BAFp00F5*
- ID_PRODUCT_FROM_DATABASE=SureConnect ADSL ATM Adapter
-
-usb:v0BAFp00F6*
- ID_PRODUCT_FROM_DATABASE=SureConnect ADSL Loader
-
-usb:v0BAFp00F7*
- ID_PRODUCT_FROM_DATABASE=SureConnect ADSL ATM Adapter
-
-usb:v0BAFp00F8*
- ID_PRODUCT_FROM_DATABASE=SureConnect ADSL Loader
-
-usb:v0BAFp00F9*
- ID_PRODUCT_FROM_DATABASE=SureConnect ADSL ATM Adapter
-
-usb:v0BAFp00FA*
- ID_PRODUCT_FROM_DATABASE=SureConnect ADSL Loader
-
-usb:v0BAFp00FB*
- ID_PRODUCT_FROM_DATABASE=SureConnect ADSL Ethernet/USB Router
-
-usb:v0BAFp0111*
- ID_PRODUCT_FROM_DATABASE=USR5420 802.11g Adapter [Broadcom 4320 USB]
-
-usb:v0BAFp0118*
- ID_PRODUCT_FROM_DATABASE=U5 802.11g Adapter
-
-usb:v0BAFp011B*
- ID_PRODUCT_FROM_DATABASE=Wireless MAXg Adapter [Broadcom 4320]
-
-usb:v0BAFp0121*
- ID_PRODUCT_FROM_DATABASE=USR5423 802.11bg Wireless Adapter [ZyDAS ZD1211B]
-
-usb:v0BAFp6112*
- ID_PRODUCT_FROM_DATABASE=FaxModem Model 5633
-
-usb:v0BB0*
- ID_VENDOR_FROM_DATABASE=Concord Camera Corp.
-
-usb:v0BB0p0100*
- ID_PRODUCT_FROM_DATABASE=Sound Vision Stream
-
-usb:v0BB0p5007*
- ID_PRODUCT_FROM_DATABASE=3340z/Rollei DC3100
-
-usb:v0BB1*
- ID_VENDOR_FROM_DATABASE=Infinilink Corp.
-
-usb:v0BB2*
- ID_VENDOR_FROM_DATABASE=Ambit Microsystems Corp.
-
-usb:v0BB2p0302*
- ID_PRODUCT_FROM_DATABASE=U10H010 802.11b Wireless Adapter [Intersil PRISM 3]
-
-usb:v0BB2p6098*
- ID_PRODUCT_FROM_DATABASE=USB Cable Modem
-
-usb:v0BB3*
- ID_VENDOR_FROM_DATABASE=Ofuji Technology
-
-usb:v0BB4*
- ID_VENDOR_FROM_DATABASE=HTC (High Tech Computer Corp.)
-
-usb:v0BB4p00CE*
- ID_PRODUCT_FROM_DATABASE=mmO2 XDA GSM/GPRS Pocket PC
-
-usb:v0BB4p00CF*
- ID_PRODUCT_FROM_DATABASE=SPV C500 Smart Phone
-
-usb:v0BB4p0A01*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A02*
- ID_PRODUCT_FROM_DATABASE=Himalaya GSM/GPRS Pocket PC
-
-usb:v0BB4p0A03*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A04*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A05*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A06*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A07*
- ID_PRODUCT_FROM_DATABASE=Magician PocketPC SmartPhone / O2 XDA
-
-usb:v0BB4p0A08*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A09*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A0A*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A0B*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A0C*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A0D*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A0E*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A0F*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A10*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A11*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A12*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A13*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A14*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A15*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A16*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A17*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A18*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A19*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A1A*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A1B*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A1C*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A1D*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A1E*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A1F*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A20*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A21*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A22*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A23*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A24*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A25*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A26*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A27*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A28*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A29*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A2A*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A2B*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A2C*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A2D*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A2E*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A2F*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A30*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A31*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A32*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A33*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A34*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A35*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A36*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A37*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A38*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A39*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A3A*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A3B*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A3C*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A3D*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A3E*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A3F*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A40*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A41*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A42*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A43*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A44*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A45*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A46*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A47*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A48*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A49*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A4A*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A4B*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A4C*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A4D*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A4E*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A4F*
- ID_PRODUCT_FROM_DATABASE=PocketPC Sync
-
-usb:v0BB4p0A50*
- ID_PRODUCT_FROM_DATABASE=HTC SmartPhone Sync
-
-usb:v0BB4p0A51*
- ID_PRODUCT_FROM_DATABASE=SPV C400 / T-Mobile SDA GSM/GPRS Pocket PC
-
-usb:v0BB4p0A52*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A53*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A54*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A55*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A56*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A57*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A58*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A59*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A5A*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A5B*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A5C*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A5D*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A5E*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A5F*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A60*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A61*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A62*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A63*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A64*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A65*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A66*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A67*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A68*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A69*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A6A*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A6B*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A6C*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A6D*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A6E*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A6F*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A70*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A71*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A72*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A73*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A74*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A75*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A76*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A77*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A78*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A79*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A7A*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A7B*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A7C*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A7D*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A7E*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A7F*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A80*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A81*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A82*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A83*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A84*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A85*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A86*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A87*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A88*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A89*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A8A*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A8B*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A8C*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A8D*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A8E*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A8F*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A90*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A91*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A92*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A93*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A94*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A95*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A96*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A97*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A98*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A99*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A9A*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A9B*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A9C*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A9D*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A9E*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0A9F*
- ID_PRODUCT_FROM_DATABASE=SmartPhone Sync
-
-usb:v0BB4p0B03*
- ID_PRODUCT_FROM_DATABASE=Ozone Mobile Broadband
-
-usb:v0BB4p0B04*
- ID_PRODUCT_FROM_DATABASE=Hermes / TyTN / T-Mobile MDA Vario II / O2 Xda Trion
-
-usb:v0BB4p0B05*
- ID_PRODUCT_FROM_DATABASE=P3600
-
-usb:v0BB4p0B06*
- ID_PRODUCT_FROM_DATABASE=Athena / Advantage x7500 / Dopod U1000 / T-Mobile AMEO
-
-usb:v0BB4p0B0C*
- ID_PRODUCT_FROM_DATABASE=Elf / Touch / P3450 / T-Mobile MDA Touch / O2 Xda Nova / Dopod S1
-
-usb:v0BB4p0B1F*
- ID_PRODUCT_FROM_DATABASE=Sony Ericsson XPERIA X1
-
-usb:v0BB4p0B2F*
- ID_PRODUCT_FROM_DATABASE=Rhodium
-
-usb:v0BB4p0B51*
- ID_PRODUCT_FROM_DATABASE=Qtek 8310 mobile phone [Tornado Noble]
-
-usb:v0BB4p0BCE*
- ID_PRODUCT_FROM_DATABASE=Vario MDA
-
-usb:v0BB4p0C01*
- ID_PRODUCT_FROM_DATABASE=Dream / ADP1 / G1 / Magic / Tattoo
-
-usb:v0BB4p0C02*
- ID_PRODUCT_FROM_DATABASE=Dream / ADP1 / G1 / Magic / Tattoo (Debug)
-
-usb:v0BB4p0C13*
- ID_PRODUCT_FROM_DATABASE=Diamond
-
-usb:v0BB4p0C1F*
- ID_PRODUCT_FROM_DATABASE=Sony Ericsson XPERIA X1
-
-usb:v0BB4p0C5F*
- ID_PRODUCT_FROM_DATABASE=Snap
-
-usb:v0BB4p0C86*
- ID_PRODUCT_FROM_DATABASE=Sensation
-
-usb:v0BB4p0C87*
- ID_PRODUCT_FROM_DATABASE=Desire (debug)
-
-usb:v0BB4p0C8D*
- ID_PRODUCT_FROM_DATABASE=EVO 4G (debug)
-
-usb:v0BB4p0C91*
- ID_PRODUCT_FROM_DATABASE=Vision
-
-usb:v0BB4p0C94*
- ID_PRODUCT_FROM_DATABASE=Vision
-
-usb:v0BB4p0C97*
- ID_PRODUCT_FROM_DATABASE=Legend
-
-usb:v0BB4p0C99*
- ID_PRODUCT_FROM_DATABASE=Desire (debug)
-
-usb:v0BB4p0C9E*
- ID_PRODUCT_FROM_DATABASE=Incredible
-
-usb:v0BB4p0CA2*
- ID_PRODUCT_FROM_DATABASE=Desire HD (debug mode)
-
-usb:v0BB4p0CA5*
- ID_PRODUCT_FROM_DATABASE=Android Phone [Evo Shift 4G]
-
-usb:v0BB4p0FF8*
- ID_PRODUCT_FROM_DATABASE=Desire HD (Tethering Mode)
-
-usb:v0BB4p0FF9*
- ID_PRODUCT_FROM_DATABASE=Desire / Desire HD / Hero (Charge Mode)
-
-usb:v0BB4p0FFE*
- ID_PRODUCT_FROM_DATABASE=Desire HD (modem mode)
-
-usb:v0BB4p0FFF*
- ID_PRODUCT_FROM_DATABASE=Android Fastboot Bootloader
-
-usb:v0BB5*
- ID_VENDOR_FROM_DATABASE=Murata Manufacturing Co., Ltd
-
-usb:v0BB6*
- ID_VENDOR_FROM_DATABASE=Network Alchemy
-
-usb:v0BB7*
- ID_VENDOR_FROM_DATABASE=Joytech Computer Co., Ltd
-
-usb:v0BB8*
- ID_VENDOR_FROM_DATABASE=Hitachi Semiconductor and Devices Sales Co., Ltd
-
-usb:v0BB9*
- ID_VENDOR_FROM_DATABASE=Eiger M&C Co., Ltd
-
-usb:v0BBA*
- ID_VENDOR_FROM_DATABASE=ZAccess Systems
-
-usb:v0BBB*
- ID_VENDOR_FROM_DATABASE=General Meters Corp.
-
-usb:v0BBC*
- ID_VENDOR_FROM_DATABASE=Assistive Technology, Inc.
-
-usb:v0BBD*
- ID_VENDOR_FROM_DATABASE=System Connection, Inc.
-
-usb:v0BC0*
- ID_VENDOR_FROM_DATABASE=Knilink Technology, Inc.
-
-usb:v0BC1*
- ID_VENDOR_FROM_DATABASE=Fuw Yng Electronics Co., Ltd
-
-usb:v0BC2*
- ID_VENDOR_FROM_DATABASE=Seagate RSS LLC
-
-usb:v0BC2p0502*
- ID_PRODUCT_FROM_DATABASE=ST3300601CB-RK 300 GB External Hard Drive
-
-usb:v0BC2p0503*
- ID_PRODUCT_FROM_DATABASE=ST3250824A [Barracuda 7200.9]
-
-usb:v0BC2p2000*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter V3 (TPP)
-
-usb:v0BC2p2200*
- ID_PRODUCT_FROM_DATABASE=FreeAgent Go FW
-
-usb:v0BC2p2300*
- ID_PRODUCT_FROM_DATABASE=Expansion Portable
-
-usb:v0BC2p2320*
- ID_PRODUCT_FROM_DATABASE=USB 3.0 bridge [Portable Expansion Drive]
-
-usb:v0BC2p3332*
- ID_PRODUCT_FROM_DATABASE=Expansion
-
-usb:v0BC2p5021*
- ID_PRODUCT_FROM_DATABASE=FreeAgent GoFlex USB 2.0
-
-usb:v0BC2p5031*
- ID_PRODUCT_FROM_DATABASE=FreeAgent GoFlex USB 3.0
-
-usb:v0BC2p50A5*
- ID_PRODUCT_FROM_DATABASE=FreeAgent GoFlex Desk USB 3.0
-
-usb:v0BC2p5121*
- ID_PRODUCT_FROM_DATABASE=FreeAgent GoFlex
-
-usb:v0BC2p5161*
- ID_PRODUCT_FROM_DATABASE=FreeAgent GoFlex dock
-
-usb:v0BC3*
- ID_VENDOR_FROM_DATABASE=IPWireless, Inc.
-
-usb:v0BC3p0001*
- ID_PRODUCT_FROM_DATABASE=UMTS-TDD (TD-CDMA) modem
-
-usb:v0BC4*
- ID_VENDOR_FROM_DATABASE=Microcube Corp.
-
-usb:v0BC5*
- ID_VENDOR_FROM_DATABASE=JCN Co., Ltd
-
-usb:v0BC6*
- ID_VENDOR_FROM_DATABASE=ExWAY, Inc.
-
-usb:v0BC7*
- ID_VENDOR_FROM_DATABASE=X10 Wireless Technology, Inc.
-
-usb:v0BC7p0001*
- ID_PRODUCT_FROM_DATABASE=ActiveHome (ACPI-compliant)
-
-usb:v0BC7p0002*
- ID_PRODUCT_FROM_DATABASE=Firecracker Interface (ACPI-compliant)
-
-usb:v0BC7p0003*
- ID_PRODUCT_FROM_DATABASE=VGA Video Sender (ACPI-compliant)
-
-usb:v0BC7p0004*
- ID_PRODUCT_FROM_DATABASE=X10 Receiver
-
-usb:v0BC7p0005*
- ID_PRODUCT_FROM_DATABASE=Wireless Transceiver (ACPI-compliant)
-
-usb:v0BC7p0006*
- ID_PRODUCT_FROM_DATABASE=Wireless Transceiver (ACPI-compliant)
-
-usb:v0BC7p0007*
- ID_PRODUCT_FROM_DATABASE=Wireless Transceiver (ACPI-compliant)
-
-usb:v0BC7p0008*
- ID_PRODUCT_FROM_DATABASE=Wireless Transceiver (ACPI-compliant)
-
-usb:v0BC7p0009*
- ID_PRODUCT_FROM_DATABASE=Wireless Transceiver (ACPI-compliant)
-
-usb:v0BC7p000A*
- ID_PRODUCT_FROM_DATABASE=Wireless Transceiver (ACPI-compliant)
-
-usb:v0BC7p000B*
- ID_PRODUCT_FROM_DATABASE=Transceiver (ACPI-compliant)
-
-usb:v0BC7p000C*
- ID_PRODUCT_FROM_DATABASE=Transceiver (ACPI-compliant)
-
-usb:v0BC7p000D*
- ID_PRODUCT_FROM_DATABASE=Transceiver (ACPI-compliant)
-
-usb:v0BC7p000E*
- ID_PRODUCT_FROM_DATABASE=Transceiver (ACPI-compliant)
-
-usb:v0BC7p000F*
- ID_PRODUCT_FROM_DATABASE=Transceiver (ACPI-compliant)
-
-usb:v0BC8*
- ID_VENDOR_FROM_DATABASE=Telmax Communications
-
-usb:v0BC9*
- ID_VENDOR_FROM_DATABASE=ECI Telecom, Ltd
-
-usb:v0BCA*
- ID_VENDOR_FROM_DATABASE=Startek Engineering, Inc.
-
-usb:v0BCB*
- ID_VENDOR_FROM_DATABASE=Perfect Technic Enterprise Co., Ltd
-
-usb:v0BD7*
- ID_VENDOR_FROM_DATABASE=Andrew Pargeter & Associates
-
-usb:v0BD7pA021*
- ID_PRODUCT_FROM_DATABASE=Amptek DP4 multichannel signal analyzer
-
-usb:v0BDA*
- ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Corp.
-
-usb:v0BDAp0103*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Card Reader
-
-usb:v0BDAp0104*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0106*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0107*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0108*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0111*
- ID_PRODUCT_FROM_DATABASE=RTS5111 Card Reader Controller
-
-usb:v0BDAp0113*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0115*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device (Multicard Reader)
-
-usb:v0BDAp0116*
- ID_PRODUCT_FROM_DATABASE=RTS5116 Card Reader Controller
-
-usb:v0BDAp0117*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0118*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0119*
- ID_PRODUCT_FROM_DATABASE=Storage Device (SD card reader)
-
-usb:v0BDAp0129*
- ID_PRODUCT_FROM_DATABASE=RTS5129 Card Reader Controller
-
-usb:v0BDAp0138*
- ID_PRODUCT_FROM_DATABASE=RTS5138 Card Reader Controller
-
-usb:v0BDAp0139*
- ID_PRODUCT_FROM_DATABASE=RTS5139 Card Reader Controller
-
-usb:v0BDAp0151*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device (Multicard Reader)
-
-usb:v0BDAp0152*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0153*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0156*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0157*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0158*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 multicard reader
-
-usb:v0BDAp0159*
- ID_PRODUCT_FROM_DATABASE=RTS5159 Card Reader Controller
-
-usb:v0BDAp0161*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0168*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0169*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0171*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0176*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0178*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0BDAp0186*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v0BDAp2831*
- ID_PRODUCT_FROM_DATABASE=RTL2831U DVB-T
-
-usb:v0BDAp2832*
- ID_PRODUCT_FROM_DATABASE=RTL2832U DVB-T
-
-usb:v0BDAp2838*
- ID_PRODUCT_FROM_DATABASE=RTL2838 DVB-T
-
-usb:v0BDAp8150*
- ID_PRODUCT_FROM_DATABASE=RTL8150 Fast Ethernet Adapter
-
-usb:v0BDAp8151*
- ID_PRODUCT_FROM_DATABASE=RTL8151 Adapteon Business Mobile Networks BV
-
-usb:v0BDAp8171*
- ID_PRODUCT_FROM_DATABASE=RTL8188SU 802.11n WLAN Adapter
-
-usb:v0BDAp8172*
- ID_PRODUCT_FROM_DATABASE=RTL8191SU 802.11n WLAN Adapter
-
-usb:v0BDAp8174*
- ID_PRODUCT_FROM_DATABASE=RTL8192SU 802.11n WLAN Adapter
-
-usb:v0BDAp8176*
- ID_PRODUCT_FROM_DATABASE=RTL8188CUS 802.11n WLAN Adapter
-
-usb:v0BDAp8178*
- ID_PRODUCT_FROM_DATABASE=RTL8192CU 802.11n WLAN Adapter
-
-usb:v0BDAp817F*
- ID_PRODUCT_FROM_DATABASE=RTL8188RU 802.11n WLAN Adapter
-
-usb:v0BDAp8187*
- ID_PRODUCT_FROM_DATABASE=RTL8187 Wireless Adapter
-
-usb:v0BDAp8189*
- ID_PRODUCT_FROM_DATABASE=RTL8187B Wireless 802.11g 54Mbps Network Adapter
-
-usb:v0BDAp8192*
- ID_PRODUCT_FROM_DATABASE=RTL8191SU 802.11n Wireless Adapter
-
-usb:v0BDAp8193*
- ID_PRODUCT_FROM_DATABASE=RTL8192DU 802.11an WLAN Adapter
-
-usb:v0BDAp8197*
- ID_PRODUCT_FROM_DATABASE=RTL8187B Wireless Adapter
-
-usb:v0BDAp8198*
- ID_PRODUCT_FROM_DATABASE=RTL8187B Wireless Adapter
-
-usb:v0BDB*
- ID_VENDOR_FROM_DATABASE=Ericsson Business Mobile Networks BV
-
-usb:v0BDBp1000*
- ID_PRODUCT_FROM_DATABASE=BV Bluetooth Device
-
-usb:v0BDBp1002*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device 1.2
-
-usb:v0BDBp1049*
- ID_PRODUCT_FROM_DATABASE=C3607w Mobile Broadband Module
-
-usb:v0BDBp1900*
- ID_PRODUCT_FROM_DATABASE=F3507g Mobile Broadband Module
-
-usb:v0BDBp1902*
- ID_PRODUCT_FROM_DATABASE=F3507g v2 Mobile Broadband Module
-
-usb:v0BDBp1904*
- ID_PRODUCT_FROM_DATABASE=F3607gw Mobile Broadband Module
-
-usb:v0BDBp1905*
- ID_PRODUCT_FROM_DATABASE=F3607gw v2 Mobile Broadband Module
-
-usb:v0BDBp1906*
- ID_PRODUCT_FROM_DATABASE=F3607gw v3 Mobile Broadband Module
-
-usb:v0BDBp1909*
- ID_PRODUCT_FROM_DATABASE=F3307 v2 Mobile Broadband Module
-
-usb:v0BDBp190A*
- ID_PRODUCT_FROM_DATABASE=F3307 Mobile Broadband Module
-
-usb:v0BDBp190B*
- ID_PRODUCT_FROM_DATABASE=C3607w v2 Mobile Broadband Module
-
-usb:v0BDC*
- ID_VENDOR_FROM_DATABASE=Y Media Corp.
-
-usb:v0BDD*
- ID_VENDOR_FROM_DATABASE=Orange PCS
-
-usb:v0BE2*
- ID_VENDOR_FROM_DATABASE=Kanda Tsushin Kogyo Co., Ltd
-
-usb:v0BE3*
- ID_VENDOR_FROM_DATABASE=TOYO Corp.
-
-usb:v0BE4*
- ID_VENDOR_FROM_DATABASE=Elka International, Ltd
-
-usb:v0BE5*
- ID_VENDOR_FROM_DATABASE=DOME imaging systems, Inc.
-
-usb:v0BE6*
- ID_VENDOR_FROM_DATABASE=Dong Guan Humen Wonderful Wire Cable Factory
-
-usb:v0BED*
- ID_VENDOR_FROM_DATABASE=Silicon Labs
-
-usb:v0BEDp1100*
- ID_PRODUCT_FROM_DATABASE=MEI CASHFLOW SC
-
-usb:v0BEDp1101*
- ID_PRODUCT_FROM_DATABASE=Series 2000 Combo Acceptor
-
-usb:v0BEE*
- ID_VENDOR_FROM_DATABASE=LTK Industries, Ltd
-
-usb:v0BEF*
- ID_VENDOR_FROM_DATABASE=Way2Call Communications
-
-usb:v0BF0*
- ID_VENDOR_FROM_DATABASE=Pace Micro Technology PLC
-
-usb:v0BF1*
- ID_VENDOR_FROM_DATABASE=Intracom S.A.
-
-usb:v0BF1p0001*
- ID_PRODUCT_FROM_DATABASE=netMod Driver Ver 2.4.17 (CAPI)
-
-usb:v0BF1p0002*
- ID_PRODUCT_FROM_DATABASE=netMod Driver Ver 2.4 (CAPI)
-
-usb:v0BF1p0003*
- ID_PRODUCT_FROM_DATABASE=netMod Driver Ver 2.4 (CAPI)
-
-usb:v0BF2*
- ID_VENDOR_FROM_DATABASE=Konexx
-
-usb:v0BF6*
- ID_VENDOR_FROM_DATABASE=Addonics Technologies, Inc.
-
-usb:v0BF6p0103*
- ID_PRODUCT_FROM_DATABASE=Storage Device
-
-usb:v0BF6p1234*
- ID_PRODUCT_FROM_DATABASE=Storage Device
-
-usb:v0BF6pA000*
- ID_PRODUCT_FROM_DATABASE=Cable 205 (TPP)
-
-usb:v0BF6pA001*
- ID_PRODUCT_FROM_DATABASE=Cable 205
-
-usb:v0BF6pA002*
- ID_PRODUCT_FROM_DATABASE=IDE Bridge
-
-usb:v0BF7*
- ID_VENDOR_FROM_DATABASE=Sunny Giken, Inc.
-
-usb:v0BF8*
- ID_VENDOR_FROM_DATABASE=Fujitsu Siemens Computers
-
-usb:v0BF8p1001*
- ID_PRODUCT_FROM_DATABASE=Fujitsu Pocket Loox 600 PDA
-
-usb:v0BF8p1006*
- ID_PRODUCT_FROM_DATABASE=SmartCard Reader 2A
-
-usb:v0BF8p1007*
- ID_PRODUCT_FROM_DATABASE=Connect2Air E-5400 802.11g Wireless Adapter
-
-usb:v0BF8p1009*
- ID_PRODUCT_FROM_DATABASE=Connect2Air E-5400 D1700 802.11g Wireless Adapter [Intersil ISL3887]
-
-usb:v0BF8p100C*
- ID_PRODUCT_FROM_DATABASE=Keyboard FSC KBPC PX
-
-usb:v0BF8p100F*
- ID_PRODUCT_FROM_DATABASE=miniCard D2301 802.11bg Wireless Module [SiS 163U]
-
-usb:v0BFD*
- ID_VENDOR_FROM_DATABASE=Kvaser AB
-
-usb:v0BFDp0004*
- ID_PRODUCT_FROM_DATABASE=USBcan II
-
-usb:v0BFDp000B*
- ID_PRODUCT_FROM_DATABASE=Leaf Light HS
-
-usb:v0BFDp000E*
- ID_PRODUCT_FROM_DATABASE=Leaf SemiPro HS
-
-usb:v0C04*
- ID_VENDOR_FROM_DATABASE=MOTO Development Group, Inc.
-
-usb:v0C05*
- ID_VENDOR_FROM_DATABASE=Appian Graphics
-
-usb:v0C06*
- ID_VENDOR_FROM_DATABASE=Hasbro Games, Inc.
-
-usb:v0C07*
- ID_VENDOR_FROM_DATABASE=Infinite Data Storage, Ltd
-
-usb:v0C08*
- ID_VENDOR_FROM_DATABASE=Agate
-
-usb:v0C08p0378*
- ID_PRODUCT_FROM_DATABASE=Q 16MB Storage Device
-
-usb:v0C09*
- ID_VENDOR_FROM_DATABASE=Comjet Information System
-
-usb:v0C09pA5A5*
- ID_PRODUCT_FROM_DATABASE=Litto Version USB2.0
-
-usb:v0C0A*
- ID_VENDOR_FROM_DATABASE=Highpoint Technologies, Inc.
-
-usb:v0C0B*
- ID_VENDOR_FROM_DATABASE=Dura Micro, Inc. (Acomdata)
-
-usb:v0C0Bp27CB*
- ID_PRODUCT_FROM_DATABASE=6-in-1 Flash Reader and Writer
-
-usb:v0C0Bp27D7*
- ID_PRODUCT_FROM_DATABASE=Multi Memory reader/writer MD-005
-
-usb:v0C0Bp27DA*
- ID_PRODUCT_FROM_DATABASE=Multi Memory reader/writer MD-005
-
-usb:v0C0Bp27DC*
- ID_PRODUCT_FROM_DATABASE=Multi Memory reader/writer MD-005
-
-usb:v0C0Bp27E7*
- ID_PRODUCT_FROM_DATABASE=3,5'' HDD case MD-231
-
-usb:v0C0Bp27EE*
- ID_PRODUCT_FROM_DATABASE=3,5'' HDD case MD-231
-
-usb:v0C0Bp2814*
- ID_PRODUCT_FROM_DATABASE=3,5'' HDD case MD-231
-
-usb:v0C0Bp2815*
- ID_PRODUCT_FROM_DATABASE=3,5'' HDD case MD-231
-
-usb:v0C0Bp281D*
- ID_PRODUCT_FROM_DATABASE=3,5'' HDD case MD-231
-
-usb:v0C0Bp5FAB*
- ID_PRODUCT_FROM_DATABASE=Storage Adaptor
-
-usb:v0C0BpA109*
- ID_PRODUCT_FROM_DATABASE=CF/SM Reader and Writer
-
-usb:v0C0BpA10C*
- ID_PRODUCT_FROM_DATABASE=SD/MS Reader and Writer
-
-usb:v0C0BpB001*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Mass Storage IDE adapter
-
-usb:v0C0BpB004*
- ID_PRODUCT_FROM_DATABASE=MMC/SD Reader and Writer
-
-usb:v0C12*
- ID_VENDOR_FROM_DATABASE=Zeroplus
-
-usb:v0C12p0005*
- ID_PRODUCT_FROM_DATABASE=PSX Vibration Feedback Converter
-
-usb:v0C12p0030*
- ID_PRODUCT_FROM_DATABASE=PSX Vibration Feedback Converter
-
-usb:v0C12p700E*
- ID_PRODUCT_FROM_DATABASE=Logic Analyzer (LAP-C-16032)
-
-usb:v0C12p8801*
- ID_PRODUCT_FROM_DATABASE=Xbox Controller
-
-usb:v0C12p8802*
- ID_PRODUCT_FROM_DATABASE=Xbox Controller
-
-usb:v0C12p8809*
- ID_PRODUCT_FROM_DATABASE=Red Octane Ignition Xbox DDR Pad
-
-usb:v0C12p880A*
- ID_PRODUCT_FROM_DATABASE=Pelican Eclipse PL-2023
-
-usb:v0C12p8810*
- ID_PRODUCT_FROM_DATABASE=Xbox Controller
-
-usb:v0C12p9902*
- ID_PRODUCT_FROM_DATABASE=VibraX
-
-usb:v0C15*
- ID_VENDOR_FROM_DATABASE=Iris Graphics
-
-usb:v0C16*
- ID_VENDOR_FROM_DATABASE=Gyration, Inc.
-
-usb:v0C16p0002*
- ID_PRODUCT_FROM_DATABASE=RF Technology Receiver
-
-usb:v0C16p0003*
- ID_PRODUCT_FROM_DATABASE=RF Technology Receiver
-
-usb:v0C16p0008*
- ID_PRODUCT_FROM_DATABASE=RF Technology Receiver
-
-usb:v0C16p0080*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v0C16p0081*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v0C17*
- ID_VENDOR_FROM_DATABASE=Cyberboard A/S
-
-usb:v0C18*
- ID_VENDOR_FROM_DATABASE=SynerTek Korea, Inc.
-
-usb:v0C19*
- ID_VENDOR_FROM_DATABASE=cyberPIXIE, Inc.
-
-usb:v0C1A*
- ID_VENDOR_FROM_DATABASE=Silicon Motion, Inc.
-
-usb:v0C1B*
- ID_VENDOR_FROM_DATABASE=MIPS Technologies
-
-usb:v0C1C*
- ID_VENDOR_FROM_DATABASE=Hang Zhou Silan Electronics Co., Ltd
-
-usb:v0C22*
- ID_VENDOR_FROM_DATABASE=Tally Printer Corp.
-
-usb:v0C23*
- ID_VENDOR_FROM_DATABASE=Lernout + Hauspie
-
-usb:v0C24*
- ID_VENDOR_FROM_DATABASE=Taiyo Yuden
-
-usb:v0C24p0001*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Adaptor
-
-usb:v0C24p0002*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device2
-
-usb:v0C24p0005*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device(BC04-External)
-
-usb:v0C24p000B*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device(BC04-External)
-
-usb:v0C24p000C*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Adaptor
-
-usb:v0C24p000E*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device(BC04-External)
-
-usb:v0C24p000F*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device (V2.0+EDR)
-
-usb:v0C24p0010*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device(BC04-External)
-
-usb:v0C24p0012*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device(BC04-External)
-
-usb:v0C24p0018*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device(BC04-External)
-
-usb:v0C24p0019*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0C24p0021*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0C24p0C24*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device(SAMPLE)
-
-usb:v0C24pFFFF*
- ID_PRODUCT_FROM_DATABASE=Bluetooth module with BlueCore in DFU mode
-
-usb:v0C25*
- ID_VENDOR_FROM_DATABASE=Sampo Corp.
-
-usb:v0C25p0310*
- ID_PRODUCT_FROM_DATABASE=Scream Cam
-
-usb:v0C26*
- ID_VENDOR_FROM_DATABASE=Prolific Technology Inc.
-
-usb:v0C26p0018*
- ID_PRODUCT_FROM_DATABASE=USB-Serial Controller [Icom Inc. OPC-478UC]
-
-usb:v0C27*
- ID_VENDOR_FROM_DATABASE=RFIDeas, Inc
-
-usb:v0C27p3BFA*
- ID_PRODUCT_FROM_DATABASE=pcProx Card Reader
-
-usb:v0C2E*
- ID_VENDOR_FROM_DATABASE=Metrologic Instruments
-
-usb:v0C2Ep0007*
- ID_PRODUCT_FROM_DATABASE=Metrologic MS7120 Barcode Scanner (IBM SurePOS mode)
-
-usb:v0C2Ep0200*
- ID_PRODUCT_FROM_DATABASE=Metrologic Scanner
-
-usb:v0C2Ep0204*
- ID_PRODUCT_FROM_DATABASE=Metrologic MS7120 Barcode Scanner (keyboard mode)
-
-usb:v0C2Ep0700*
- ID_PRODUCT_FROM_DATABASE=Metrologic MS7120 Barcode Scanner (uni-directional serial mode)
-
-usb:v0C2Ep0720*
- ID_PRODUCT_FROM_DATABASE=Metrologic MS7120 Barcode Scanner (bi-directional serial mode)
-
-usb:v0C2Ep0B61*
- ID_PRODUCT_FROM_DATABASE=Vuquest 3310g
-
-usb:v0C2Ep0B6A*
- ID_PRODUCT_FROM_DATABASE=Vuquest 3310 Area-Imaging Scanner
-
-usb:v0C35*
- ID_VENDOR_FROM_DATABASE=Eagletron, Inc.
-
-usb:v0C36*
- ID_VENDOR_FROM_DATABASE=E Ink Corp.
-
-usb:v0C37*
- ID_VENDOR_FROM_DATABASE=e.Digital
-
-usb:v0C38*
- ID_VENDOR_FROM_DATABASE=Der An Electric Wire & Cable Co., Ltd
-
-usb:v0C39*
- ID_VENDOR_FROM_DATABASE=IFR
-
-usb:v0C3A*
- ID_VENDOR_FROM_DATABASE=Furui Precise Component (Kunshan) Co., Ltd
-
-usb:v0C3B*
- ID_VENDOR_FROM_DATABASE=Komatsu, Ltd
-
-usb:v0C3C*
- ID_VENDOR_FROM_DATABASE=Radius Co., Ltd
-
-usb:v0C3D*
- ID_VENDOR_FROM_DATABASE=Innocom, Inc.
-
-usb:v0C3E*
- ID_VENDOR_FROM_DATABASE=Nextcell, Inc.
-
-usb:v0C44*
- ID_VENDOR_FROM_DATABASE=Motorola iDEN
-
-usb:v0C44p0021*
- ID_PRODUCT_FROM_DATABASE=iDEN P2k0 Device
-
-usb:v0C44p0022*
- ID_PRODUCT_FROM_DATABASE=iDEN P2k1 Device
-
-usb:v0C44p03A2*
- ID_PRODUCT_FROM_DATABASE=iDEN Smartphone
-
-usb:v0C44p41D9*
- ID_PRODUCT_FROM_DATABASE=i1 phone
-
-usb:v0C45*
- ID_VENDOR_FROM_DATABASE=Microdia
-
-usb:v0C45p0011*
- ID_PRODUCT_FROM_DATABASE=EBUDDY
-
-usb:v0C45p1020*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Reader
-
-usb:v0C45p1028*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Reader
-
-usb:v0C45p1030*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Reader
-
-usb:v0C45p1031*
- ID_PRODUCT_FROM_DATABASE=Sonix Mass Storage Device
-
-usb:v0C45p1032*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Reader
-
-usb:v0C45p1033*
- ID_PRODUCT_FROM_DATABASE=Sonix Mass Storage Device
-
-usb:v0C45p1034*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Reader
-
-usb:v0C45p1035*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Reader
-
-usb:v0C45p1036*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Reader
-
-usb:v0C45p1037*
- ID_PRODUCT_FROM_DATABASE=Sonix Mass Storage Device
-
-usb:v0C45p1050*
- ID_PRODUCT_FROM_DATABASE=CF Card Reader
-
-usb:v0C45p1058*
- ID_PRODUCT_FROM_DATABASE=HDD Reader
-
-usb:v0C45p1060*
- ID_PRODUCT_FROM_DATABASE=iFlash SM-Direct Card Reader
-
-usb:v0C45p1061*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Reader
-
-usb:v0C45p1062*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Reader
-
-usb:v0C45p1063*
- ID_PRODUCT_FROM_DATABASE=Sonix Mass Storage Device
-
-usb:v0C45p1064*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Reader
-
-usb:v0C45p1065*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Reader
-
-usb:v0C45p1066*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Reader
-
-usb:v0C45p1067*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Reader
-
-usb:v0C45p1158*
- ID_PRODUCT_FROM_DATABASE=A56AK
-
-usb:v0C45p184C*
- ID_PRODUCT_FROM_DATABASE=VoIP Phone
-
-usb:v0C45p6001*
- ID_PRODUCT_FROM_DATABASE=Genius VideoCAM NB
-
-usb:v0C45p6005*
- ID_PRODUCT_FROM_DATABASE=Sweex Mini Webcam
-
-usb:v0C45p6007*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Eye
-
-usb:v0C45p6009*
- ID_PRODUCT_FROM_DATABASE=VideoCAM ExpressII
-
-usb:v0C45p600D*
- ID_PRODUCT_FROM_DATABASE=TwinkleCam USB camera
-
-usb:v0C45p6011*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C102)
-
-usb:v0C45p6019*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C102)
-
-usb:v0C45p6024*
- ID_PRODUCT_FROM_DATABASE=VideoCAM ExpressII
-
-usb:v0C45p6025*
- ID_PRODUCT_FROM_DATABASE=VideoCAM ExpressII
-
-usb:v0C45p6028*
- ID_PRODUCT_FROM_DATABASE=Typhoon Easycam USB 330K (older)
-
-usb:v0C45p6029*
- ID_PRODUCT_FROM_DATABASE=Triplex i-mini PC Camera
-
-usb:v0C45p602A*
- ID_PRODUCT_FROM_DATABASE=Meade ETX-105EC Camera
-
-usb:v0C45p602B*
- ID_PRODUCT_FROM_DATABASE=VideoCAM NB 300
-
-usb:v0C45p602C*
- ID_PRODUCT_FROM_DATABASE=Clas Ohlson TWC-30XOP Webcam
-
-usb:v0C45p602D*
- ID_PRODUCT_FROM_DATABASE=VideoCAM ExpressII
-
-usb:v0C45p602E*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Messenger
-
-usb:v0C45p6030*
- ID_PRODUCT_FROM_DATABASE=VideoCAM ExpressII
-
-usb:v0C45p603F*
- ID_PRODUCT_FROM_DATABASE=VideoCAM ExpressII
-
-usb:v0C45p6040*
- ID_PRODUCT_FROM_DATABASE=CCD PC Camera (PC390A)
-
-usb:v0C45p606A*
- ID_PRODUCT_FROM_DATABASE=CCD PC Camera (PC390A)
-
-usb:v0C45p607A*
- ID_PRODUCT_FROM_DATABASE=CCD PC Camera (PC390A)
-
-usb:v0C45p607B*
- ID_PRODUCT_FROM_DATABASE=Win2 PC Camera
-
-usb:v0C45p607C*
- ID_PRODUCT_FROM_DATABASE=CCD PC Camera (PC390A)
-
-usb:v0C45p607E*
- ID_PRODUCT_FROM_DATABASE=CCD PC Camera (PC390A)
-
-usb:v0C45p6080*
- ID_PRODUCT_FROM_DATABASE=Audio (Microphone)
-
-usb:v0C45p6082*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Look
-
-usb:v0C45p6083*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Look
-
-usb:v0C45p608C*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Look
-
-usb:v0C45p608E*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Look
-
-usb:v0C45p608F*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C103 + OV7630)
-
-usb:v0C45p60A8*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Look
-
-usb:v0C45p60AA*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Look
-
-usb:v0C45p60AB*
- ID_PRODUCT_FROM_DATABASE=PC Camera
-
-usb:v0C45p60AF*
- ID_PRODUCT_FROM_DATABASE=VideoCAM Look
-
-usb:v0C45p60B0*
- ID_PRODUCT_FROM_DATABASE=Genius VideoCam Look
-
-usb:v0C45p60C0*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Mic (SN9C105)
-
-usb:v0C45p60C8*
- ID_PRODUCT_FROM_DATABASE=Win2 PC Camera
-
-usb:v0C45p60CC*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Mic (SN9C105)
-
-usb:v0C45p60EC*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Mic (SN9C105)
-
-usb:v0C45p60EF*
- ID_PRODUCT_FROM_DATABASE=Win2 PC Camera
-
-usb:v0C45p60FA*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Mic (SN9C105)
-
-usb:v0C45p60FB*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v0C45p60FC*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Mic (SN9C105)
-
-usb:v0C45p60FE*
- ID_PRODUCT_FROM_DATABASE=Audio (Microphone)
-
-usb:v0C45p6108*
- ID_PRODUCT_FROM_DATABASE=Win2 PC Camera
-
-usb:v0C45p6122*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C110)
-
-usb:v0C45p6123*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C110)
-
-usb:v0C45p6128*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C325 + OM6802)
-
-usb:v0C45p612A*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C325)
-
-usb:v0C45p612C*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C110)
-
-usb:v0C45p612E*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C110)
-
-usb:v0C45p612F*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C110)
-
-usb:v0C45p6130*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C120)
-
-usb:v0C45p6138*
- ID_PRODUCT_FROM_DATABASE=Win2 PC Camera
-
-usb:v0C45p613A*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C120)
-
-usb:v0C45p613B*
- ID_PRODUCT_FROM_DATABASE=Win2 PC Camera
-
-usb:v0C45p613C*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C120)
-
-usb:v0C45p613E*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C120)
-
-usb:v0C45p6143*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C120 + SP80708)
-
-usb:v0C45p6240*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + MI1300)
-
-usb:v0C45p6242*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + MI1310)
-
-usb:v0C45p6243*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + S5K4AAFX)
-
-usb:v0C45p6248*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + OV9655)
-
-usb:v0C45p624B*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + CX1332)
-
-usb:v0C45p624C*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + MI1320)
-
-usb:v0C45p624E*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + SOI968)
-
-usb:v0C45p624F*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + OV9650)
-
-usb:v0C45p6251*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + OV9650)
-
-usb:v0C45p6253*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + OV9650)
-
-usb:v0C45p6260*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + OV7670ISP)
-
-usb:v0C45p6262*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + OM6802)
-
-usb:v0C45p6270*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + MI0360/MT9V011 or MI0360SOC/MT9V111) U-CAM PC Camera NE878, Whitcom WHC017, ...
-
-usb:v0C45p627A*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + S5K53BEB)
-
-usb:v0C45p627B*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + OV7660)
-
-usb:v0C45p627C*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + HV7131R)
-
-usb:v0C45p627F*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + OV965x + EEPROM)
-
-usb:v0C45p6280*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + MI1300)
-
-usb:v0C45p6282*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + MI1310)
-
-usb:v0C45p6283*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + S5K4AAFX)
-
-usb:v0C45p6288*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OV9655)
-
-usb:v0C45p628A*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + ICM107)
-
-usb:v0C45p628B*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + CX1332)
-
-usb:v0C45p628C*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + MI1320)
-
-usb:v0C45p628E*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + SOI968)
-
-usb:v0C45p628F*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OV9650)
-
-usb:v0C45p62A0*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OV7670ISP)
-
-usb:v0C45p62A2*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OM6802)
-
-usb:v0C45p62B0*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + MI0360/MT9V011 or MI0360SOC/MT9V111)
-
-usb:v0C45p62B3*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OV9655)
-
-usb:v0C45p62BA*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + S5K53BEB)
-
-usb:v0C45p62BB*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OV7660)
-
-usb:v0C45p62BC*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + HV7131R)
-
-usb:v0C45p62BE*
- ID_PRODUCT_FROM_DATABASE=PC Camera with Microphone (SN9C202 + OV7663)
-
-usb:v0C45p62C0*
- ID_PRODUCT_FROM_DATABASE=Sonix USB 2.0 Camera
-
-usb:v0C45p62E0*
- ID_PRODUCT_FROM_DATABASE=MSI Starcam Racer
-
-usb:v0C45p6310*
- ID_PRODUCT_FROM_DATABASE=Sonix USB 2.0 Camera
-
-usb:v0C45p63E0*
- ID_PRODUCT_FROM_DATABASE=Sonix Integrated Webcam
-
-usb:v0C45p63F1*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam
-
-usb:v0C45p63F8*
- ID_PRODUCT_FROM_DATABASE=Sonix Integrated Webcam
-
-usb:v0C45p6409*
- ID_PRODUCT_FROM_DATABASE=Webcam
-
-usb:v0C45p6413*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam
-
-usb:v0C45p6417*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam
-
-usb:v0C45p641D*
- ID_PRODUCT_FROM_DATABASE=1.3 MPixel Integrated Webcam
-
-usb:v0C45p6480*
- ID_PRODUCT_FROM_DATABASE=Sonix 1.3 MP Laptop Integrated Webcam
-
-usb:v0C45p648B*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam
-
-usb:v0C45p64BD*
- ID_PRODUCT_FROM_DATABASE=Sony Visual Communication Camera
-
-usb:v0C45p7402*
- ID_PRODUCT_FROM_DATABASE=TEMPerHUM Temperature & Humidity Sensor
-
-usb:v0C45p7403*
- ID_PRODUCT_FROM_DATABASE=Foot Switch
-
-usb:v0C45p8000*
- ID_PRODUCT_FROM_DATABASE=DC31VC
-
-usb:v0C45p8006*
- ID_PRODUCT_FROM_DATABASE=Dual Mode Camera (8006 VGA)
-
-usb:v0C45p800A*
- ID_PRODUCT_FROM_DATABASE=Vivitar Vivicam3350B
-
-usb:v0C46*
- ID_VENDOR_FROM_DATABASE=WaveRider Communications, Inc.
-
-usb:v0C4A*
- ID_VENDOR_FROM_DATABASE=ALGE-TIMING GmbH
-
-usb:v0C4Ap0889*
- ID_PRODUCT_FROM_DATABASE=Timy
-
-usb:v0C4Ap088A*
- ID_PRODUCT_FROM_DATABASE=Timy 2
-
-usb:v0C4B*
- ID_VENDOR_FROM_DATABASE=Reiner SCT Kartensysteme GmbH
-
-usb:v0C4Bp0100*
- ID_PRODUCT_FROM_DATABASE=cyberJack e-com/pinpad
-
-usb:v0C4Bp0300*
- ID_PRODUCT_FROM_DATABASE=cyberJack pinpad(a)
-
-usb:v0C4Bp9102*
- ID_PRODUCT_FROM_DATABASE=cyberJack RFID basis contactless smartcard reader
-
-usb:v0C4C*
- ID_VENDOR_FROM_DATABASE=Needham's Electronics
-
-usb:v0C4Cp0021*
- ID_PRODUCT_FROM_DATABASE=EMP-21 Universal Programmer
-
-usb:v0C52*
- ID_VENDOR_FROM_DATABASE=Sealevel Systems, Inc.
-
-usb:v0C52p2101*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+232
-
-usb:v0C52p2102*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+485
-
-usb:v0C52p2103*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+232I
-
-usb:v0C52p2104*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+485I
-
-usb:v0C52p2211*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+2/232 (Port 1)
-
-usb:v0C52p2212*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+2/485 (Port 1)
-
-usb:v0C52p2213*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+2 (Port 1)
-
-usb:v0C52p2221*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+2/232 (Port 2)
-
-usb:v0C52p2222*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+2/485 (Port 2)
-
-usb:v0C52p2223*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+2 (Port 2)
-
-usb:v0C52p2411*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+4/232 (Port 1)
-
-usb:v0C52p2412*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+4/485 (Port 1)
-
-usb:v0C52p2413*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+4 (Port 1)
-
-usb:v0C52p2421*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+4/232 (Port 2)
-
-usb:v0C52p2422*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+4/485 (Port 2)
-
-usb:v0C52p2423*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+4 (Port 2)
-
-usb:v0C52p2431*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+4/232 (Port 3)
-
-usb:v0C52p2432*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+4/485 (Port 3)
-
-usb:v0C52p2433*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+4 (Port 3)
-
-usb:v0C52p2441*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+4/232 (Port 4)
-
-usb:v0C52p2442*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+4/485 (Port 4)
-
-usb:v0C52p2443*
- ID_PRODUCT_FROM_DATABASE=SeaPORT+4 (Port 4)
-
-usb:v0C52p2811*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/232 (Port 1)
-
-usb:v0C52p2812*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/485 (Port 1)
-
-usb:v0C52p2813*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8 (Port 1)
-
-usb:v0C52p2821*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/232 (Port 2)
-
-usb:v0C52p2822*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/485 (Port 2)
-
-usb:v0C52p2823*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8 (Port 2)
-
-usb:v0C52p2831*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/232 (Port 3)
-
-usb:v0C52p2832*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/485 (Port 3)
-
-usb:v0C52p2833*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8 (Port 3)
-
-usb:v0C52p2841*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/232 (Port 4)
-
-usb:v0C52p2842*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/485 (Port 4)
-
-usb:v0C52p2843*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8 (Port 4)
-
-usb:v0C52p2851*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/232 (Port 5)
-
-usb:v0C52p2852*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/485 (Port 5)
-
-usb:v0C52p2853*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8 (Port 5)
-
-usb:v0C52p2861*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/232 (Port 6)
-
-usb:v0C52p2862*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/485 (Port 6)
-
-usb:v0C52p2863*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8 (Port 6)
-
-usb:v0C52p2871*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/232 (Port 7)
-
-usb:v0C52p2872*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/485 (Port 7)
-
-usb:v0C52p2873*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8 (Port 7)
-
-usb:v0C52p2881*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/232 (Port 8)
-
-usb:v0C52p2882*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8/485 (Port 8)
-
-usb:v0C52p2883*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8 (Port 8)
-
-usb:v0C52p9020*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+422
-
-usb:v0C52pA02A*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8 (Port 1+2)
-
-usb:v0C52pA02B*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8 (Port 3+4)
-
-usb:v0C52pA02C*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8 (Port 5+6)
-
-usb:v0C52pA02D*
- ID_PRODUCT_FROM_DATABASE=SeaLINK+8 (Port 7+8)
-
-usb:v0C53*
- ID_VENDOR_FROM_DATABASE=ViewPLUS, Inc.
-
-usb:v0C54*
- ID_VENDOR_FROM_DATABASE=Glory, Ltd
-
-usb:v0C55*
- ID_VENDOR_FROM_DATABASE=Spectrum Digital, Inc.
-
-usb:v0C55p0510*
- ID_PRODUCT_FROM_DATABASE=Spectrum Digital XDS510 JTAG Debugger
-
-usb:v0C55p0540*
- ID_PRODUCT_FROM_DATABASE=SPI540
-
-usb:v0C55p5416*
- ID_PRODUCT_FROM_DATABASE=TMS320C5416 DSK
-
-usb:v0C55p6416*
- ID_PRODUCT_FROM_DATABASE=TMS320C6416 DDB
-
-usb:v0C56*
- ID_VENDOR_FROM_DATABASE=Billion Bright, Ltd
-
-usb:v0C57*
- ID_VENDOR_FROM_DATABASE=Imaginative Design Operation Co., Ltd
-
-usb:v0C58*
- ID_VENDOR_FROM_DATABASE=Vidar Systems Corp.
-
-usb:v0C59*
- ID_VENDOR_FROM_DATABASE=Dong Guan Shinko Wire Co., Ltd
-
-usb:v0C5A*
- ID_VENDOR_FROM_DATABASE=TRS International Mfg., Inc.
-
-usb:v0C5E*
- ID_VENDOR_FROM_DATABASE=Xytronix Research & Design
-
-usb:v0C60*
- ID_VENDOR_FROM_DATABASE=Apogee Electronics Corp.
-
-usb:v0C62*
- ID_VENDOR_FROM_DATABASE=Chant Sincere Co., Ltd
-
-usb:v0C63*
- ID_VENDOR_FROM_DATABASE=Toko, Inc.
-
-usb:v0C64*
- ID_VENDOR_FROM_DATABASE=Signality System Engineering Co., Ltd
-
-usb:v0C65*
- ID_VENDOR_FROM_DATABASE=Eminence Enterprise Co., Ltd
-
-usb:v0C66*
- ID_VENDOR_FROM_DATABASE=Rexon Electronics Corp.
-
-usb:v0C67*
- ID_VENDOR_FROM_DATABASE=Concept Telecom, Ltd
-
-usb:v0C6A*
- ID_VENDOR_FROM_DATABASE=ACS
-
-usb:v0C6Ap0005*
- ID_PRODUCT_FROM_DATABASE=Color 320 x 240 LCD Display Terminal with Touchscreen
-
-usb:v0C6C*
- ID_VENDOR_FROM_DATABASE=JETI Technische Instrumente GmbH
-
-usb:v0C6Cp04B2*
- ID_PRODUCT_FROM_DATABASE=Specbos 1201
-
-usb:v0C70*
- ID_VENDOR_FROM_DATABASE=MCT Elektronikladen
-
-usb:v0C70p0000*
- ID_PRODUCT_FROM_DATABASE=USB08 Development board
-
-usb:v0C70p0747*
- ID_PRODUCT_FROM_DATABASE=Eye Movement Recorder [Visagraph]/[ReadAlyzer]
-
-usb:v0C72*
- ID_VENDOR_FROM_DATABASE=PEAK System
-
-usb:v0C72p000C*
- ID_PRODUCT_FROM_DATABASE=PCAN-USB
-
-usb:v0C72p000D*
- ID_PRODUCT_FROM_DATABASE=PCAN Pro
-
-usb:v0C74*
- ID_VENDOR_FROM_DATABASE=Optronic Laboratories Inc.
-
-usb:v0C74p0002*
- ID_PRODUCT_FROM_DATABASE=OL 700-30 Goniometer
-
-usb:v0C76*
- ID_VENDOR_FROM_DATABASE=JMTek, LLC.
-
-usb:v0C76p0001*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Controller
-
-usb:v0C76p0002*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Controller
-
-usb:v0C76p0003*
- ID_PRODUCT_FROM_DATABASE=USBdisk
-
-usb:v0C76p0004*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Controller
-
-usb:v0C76p0005*
- ID_PRODUCT_FROM_DATABASE=Transcend Flash disk
-
-usb:v0C76p0006*
- ID_PRODUCT_FROM_DATABASE=Transcend JetFlash
-
-usb:v0C76p0007*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0C76p1600*
- ID_PRODUCT_FROM_DATABASE=Ion Quick Play LP turntable
-
-usb:v0C76p1605*
- ID_PRODUCT_FROM_DATABASE=SSS Headphone Set
-
-usb:v0C76p1607*
- ID_PRODUCT_FROM_DATABASE=audio controller
-
-usb:v0C77*
- ID_VENDOR_FROM_DATABASE=Sipix Group, Ltd
-
-usb:v0C77p1001*
- ID_PRODUCT_FROM_DATABASE=SiPix Web2
-
-usb:v0C77p1002*
- ID_PRODUCT_FROM_DATABASE=SiPix SC2100
-
-usb:v0C77p1010*
- ID_PRODUCT_FROM_DATABASE=SiPix Snap
-
-usb:v0C77p1011*
- ID_PRODUCT_FROM_DATABASE=SiPix Blink 2
-
-usb:v0C77p1015*
- ID_PRODUCT_FROM_DATABASE=SiPix CAMeleon
-
-usb:v0C78*
- ID_VENDOR_FROM_DATABASE=Detto Corp.
-
-usb:v0C79*
- ID_VENDOR_FROM_DATABASE=NuConnex Technologies Pte., Ltd
-
-usb:v0C7A*
- ID_VENDOR_FROM_DATABASE=Wing-Span Enterprise Co., Ltd
-
-usb:v0C86*
- ID_VENDOR_FROM_DATABASE=NDA Technologies, Inc.
-
-usb:v0C88*
- ID_VENDOR_FROM_DATABASE=Kyocera Wireless Corp.
-
-usb:v0C88p0021*
- ID_PRODUCT_FROM_DATABASE=Handheld
-
-usb:v0C88p17DA*
- ID_PRODUCT_FROM_DATABASE=Qualcomm Kyocera CDMA Technologies MSM
-
-usb:v0C89*
- ID_VENDOR_FROM_DATABASE=Honda Tsushin Kogyo Co., Ltd
-
-usb:v0C8A*
- ID_VENDOR_FROM_DATABASE=Pathway Connectivity, Inc.
-
-usb:v0C8B*
- ID_VENDOR_FROM_DATABASE=Wavefly Corp.
-
-usb:v0C8C*
- ID_VENDOR_FROM_DATABASE=Coactive Networks
-
-usb:v0C8D*
- ID_VENDOR_FROM_DATABASE=Tempo
-
-usb:v0C8E*
- ID_VENDOR_FROM_DATABASE=Cesscom Co., Ltd
-
-usb:v0C8Ep6000*
- ID_PRODUCT_FROM_DATABASE=Luxian Series
-
-usb:v0C8F*
- ID_VENDOR_FROM_DATABASE=Applied Microsystems
-
-usb:v0C94*
- ID_VENDOR_FROM_DATABASE=Cryptera
-
-usb:v0C94pA000*
- ID_PRODUCT_FROM_DATABASE=EPP 1217
-
-usb:v0C98*
- ID_VENDOR_FROM_DATABASE=Berkshire Products, Inc.
-
-usb:v0C98p1140*
- ID_PRODUCT_FROM_DATABASE=USB PC Watchdog
-
-usb:v0C99*
- ID_VENDOR_FROM_DATABASE=Innochips Co., Ltd
-
-usb:v0C9A*
- ID_VENDOR_FROM_DATABASE=Hanwool Robotics Corp.
-
-usb:v0C9B*
- ID_VENDOR_FROM_DATABASE=Jobin Yvon, Inc.
-
-usb:v0C9D*
- ID_VENDOR_FROM_DATABASE=SemTek
-
-usb:v0C9Dp0170*
- ID_PRODUCT_FROM_DATABASE=3873 Manual Insert card reader
-
-usb:v0CA2*
- ID_VENDOR_FROM_DATABASE=Zyfer
-
-usb:v0CA3*
- ID_VENDOR_FROM_DATABASE=Sega Corp.
-
-usb:v0CA4*
- ID_VENDOR_FROM_DATABASE=ST&T Instrument Corp.
-
-usb:v0CA5*
- ID_VENDOR_FROM_DATABASE=BAE Systems Canada, Inc.
-
-usb:v0CA6*
- ID_VENDOR_FROM_DATABASE=Castles Technology Co., Ltd
-
-usb:v0CA6p0010*
- ID_PRODUCT_FROM_DATABASE=EZUSB PC/SC Smart Card Reader
-
-usb:v0CA6p0050*
- ID_PRODUCT_FROM_DATABASE=EZ220PU Reader Controller
-
-usb:v0CA6p1077*
- ID_PRODUCT_FROM_DATABASE=Bludrive Family Smart Card Reader
-
-usb:v0CA6p107E*
- ID_PRODUCT_FROM_DATABASE=Reader Controller
-
-usb:v0CA6p2010*
- ID_PRODUCT_FROM_DATABASE=myPad110 PC/SC Smart Card Reader
-
-usb:v0CA6p3050*
- ID_PRODUCT_FROM_DATABASE=EZ710 Smart Card Reader
-
-usb:v0CA7*
- ID_VENDOR_FROM_DATABASE=Information Systems Laboratories
-
-usb:v0CAD*
- ID_VENDOR_FROM_DATABASE=Motorola CGISS
-
-usb:v0CADp9001*
- ID_PRODUCT_FROM_DATABASE=PowerPad Pocket PC Device
-
-usb:v0CAE*
- ID_VENDOR_FROM_DATABASE=Ascom Business Systems, Ltd
-
-usb:v0CAF*
- ID_VENDOR_FROM_DATABASE=Buslink
-
-usb:v0CAFp2507*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
-
-usb:v0CAFp2515*
- ID_PRODUCT_FROM_DATABASE=Flash Disk Embedded Hub
-
-usb:v0CAFp2516*
- ID_PRODUCT_FROM_DATABASE=Flash Disk Security Device
-
-usb:v0CAFp2517*
- ID_PRODUCT_FROM_DATABASE=Flash Disk Mass Storage Device
-
-usb:v0CAFp25C7*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
-
-usb:v0CAFp3A00*
- ID_PRODUCT_FROM_DATABASE=Hard Drive
-
-usb:v0CAFp3A20*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0CAFp3ACD*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0CB0*
- ID_VENDOR_FROM_DATABASE=Flying Pig Systems
-
-usb:v0CB1*
- ID_VENDOR_FROM_DATABASE=Innovonics, Inc.
-
-usb:v0CB6*
- ID_VENDOR_FROM_DATABASE=Celestix Networks, Pte., Ltd
-
-usb:v0CB7*
- ID_VENDOR_FROM_DATABASE=Singatron Enterprise Co., Ltd
-
-usb:v0CB8*
- ID_VENDOR_FROM_DATABASE=Opticis Co., Ltd
-
-usb:v0CBA*
- ID_VENDOR_FROM_DATABASE=Trust Electronic (Shanghai) Co., Ltd
-
-usb:v0CBB*
- ID_VENDOR_FROM_DATABASE=Shanghai Darong Electronics Co., Ltd
-
-usb:v0CBC*
- ID_VENDOR_FROM_DATABASE=Palmax Technology Co., Ltd
-
-usb:v0CBCp0101*
- ID_PRODUCT_FROM_DATABASE=Pocket PC P6C
-
-usb:v0CBCp0201*
- ID_PRODUCT_FROM_DATABASE=Personal Digital Assistant
-
-usb:v0CBCp0301*
- ID_PRODUCT_FROM_DATABASE=Personal Digital Assistant P6M+
-
-usb:v0CBCp0401*
- ID_PRODUCT_FROM_DATABASE=Pocket PC
-
-usb:v0CBD*
- ID_VENDOR_FROM_DATABASE=Pentel Co., Ltd (Electronics Equipment Div.)
-
-usb:v0CBE*
- ID_VENDOR_FROM_DATABASE=Keryx Technologies, Inc.
-
-usb:v0CBF*
- ID_VENDOR_FROM_DATABASE=Union Genius Computer Co., Ltd
-
-usb:v0CC0*
- ID_VENDOR_FROM_DATABASE=Kuon Yi Industrial Corp.
-
-usb:v0CC1*
- ID_VENDOR_FROM_DATABASE=Given Imaging, Ltd
-
-usb:v0CC2*
- ID_VENDOR_FROM_DATABASE=Timex Corp.
-
-usb:v0CC3*
- ID_VENDOR_FROM_DATABASE=Rimage Corp.
-
-usb:v0CC4*
- ID_VENDOR_FROM_DATABASE=emsys GmbH
-
-usb:v0CC5*
- ID_VENDOR_FROM_DATABASE=Sendo
-
-usb:v0CC6*
- ID_VENDOR_FROM_DATABASE=Intermagic Corp.
-
-usb:v0CC7*
- ID_VENDOR_FROM_DATABASE=Kontron Medical AG
-
-usb:v0CC8*
- ID_VENDOR_FROM_DATABASE=Technotools Corp.
-
-usb:v0CC9*
- ID_VENDOR_FROM_DATABASE=BroadMAX Technologies, Inc.
-
-usb:v0CCA*
- ID_VENDOR_FROM_DATABASE=Amphenol
-
-usb:v0CCB*
- ID_VENDOR_FROM_DATABASE=SKNet Co., Ltd
-
-usb:v0CCC*
- ID_VENDOR_FROM_DATABASE=Domex Technology Corp.
-
-usb:v0CCD*
- ID_VENDOR_FROM_DATABASE=TerraTec Electronic GmbH
-
-usb:v0CCDp0012*
- ID_PRODUCT_FROM_DATABASE=PHASE 26
-
-usb:v0CCDp0013*
- ID_PRODUCT_FROM_DATABASE=PHASE 26
-
-usb:v0CCDp0014*
- ID_PRODUCT_FROM_DATABASE=PHASE 26
-
-usb:v0CCDp0015*
- ID_PRODUCT_FROM_DATABASE=Flash Update for TerraTec PHASE 26
-
-usb:v0CCDp0021*
- ID_PRODUCT_FROM_DATABASE=Cameo Grabster 200
-
-usb:v0CCDp0023*
- ID_PRODUCT_FROM_DATABASE=Mystify Claw
-
-usb:v0CCDp0028*
- ID_PRODUCT_FROM_DATABASE=Aureon 5.1 MkII
-
-usb:v0CCDp0032*
- ID_PRODUCT_FROM_DATABASE=MIDI HUBBLE
-
-usb:v0CCDp0035*
- ID_PRODUCT_FROM_DATABASE=Miditech Play'n Roll
-
-usb:v0CCDp0036*
- ID_PRODUCT_FROM_DATABASE=Cinergy 250 Audio
-
-usb:v0CCDp0037*
- ID_PRODUCT_FROM_DATABASE=Cinergy 250 Audio
-
-usb:v0CCDp0038*
- ID_PRODUCT_FROM_DATABASE=Cinergy T² DVB-T Receiver
-
-usb:v0CCDp0039*
- ID_PRODUCT_FROM_DATABASE=Grabster AV 400
-
-usb:v0CCDp003B*
- ID_PRODUCT_FROM_DATABASE=Cinergy 400
-
-usb:v0CCDp003C*
- ID_PRODUCT_FROM_DATABASE=Grabster AV 250
-
-usb:v0CCDp0042*
- ID_PRODUCT_FROM_DATABASE=Cinergy Hybrid T XS
-
-usb:v0CCDp0043*
- ID_PRODUCT_FROM_DATABASE=Cinergy T XS
-
-usb:v0CCDp004E*
- ID_PRODUCT_FROM_DATABASE=Cinergy T XS
-
-usb:v0CCDp004F*
- ID_PRODUCT_FROM_DATABASE=Cinergy Analog XS
-
-usb:v0CCDp0055*
- ID_PRODUCT_FROM_DATABASE=Cinergy T XE (Version 1, AF9005)
-
-usb:v0CCDp005C*
- ID_PRODUCT_FROM_DATABASE=Cinergy T²
-
-usb:v0CCDp0069*
- ID_PRODUCT_FROM_DATABASE=Cinergy T XE (Version 2, AF9015)
-
-usb:v0CCDp006B*
- ID_PRODUCT_FROM_DATABASE=Cinergy HT PVR (EU)
-
-usb:v0CCDp0072*
- ID_PRODUCT_FROM_DATABASE=Cinergy Hybrid T
-
-usb:v0CCDp0077*
- ID_PRODUCT_FROM_DATABASE=Aureon Dual USB
-
-usb:v0CCDp0078*
- ID_PRODUCT_FROM_DATABASE=Cinergy T XXS
-
-usb:v0CCDp0086*
- ID_PRODUCT_FROM_DATABASE=Cinergy Hybrid XE
-
-usb:v0CCDp008E*
- ID_PRODUCT_FROM_DATABASE=Cinergy HTC XS
-
-usb:v0CCDp0097*
- ID_PRODUCT_FROM_DATABASE=Cinergy T RC MKII
-
-usb:v0CCDp0099*
- ID_PRODUCT_FROM_DATABASE=AfaTech 9015 [Cinergy T Stick Dual]
-
-usb:v0CCDp00A5*
- ID_PRODUCT_FROM_DATABASE=Cinergy Hybrid Stick
-
-usb:v0CCDp00A9*
- ID_PRODUCT_FROM_DATABASE=RTL2838 DVB-T COFDM Demodulator [TerraTec Cinergy T Stick Black]
-
-usb:v0CCDp00B3*
- ID_PRODUCT_FROM_DATABASE=NOXON DAB/DAB+ Stick
-
-usb:v0CCDp10A7*
- ID_PRODUCT_FROM_DATABASE=TerraTec G3
-
-usb:v0CD4*
- ID_VENDOR_FROM_DATABASE=Bang Olufsen
-
-usb:v0CD4p0101*
- ID_PRODUCT_FROM_DATABASE=BeolinkPC2
-
-usb:v0CD5*
- ID_VENDOR_FROM_DATABASE=LabJack Corporation
-
-usb:v0CD5p0003*
- ID_PRODUCT_FROM_DATABASE=U3
-
-usb:v0CD5p0009*
- ID_PRODUCT_FROM_DATABASE=UE9
-
-usb:v0CD7*
- ID_VENDOR_FROM_DATABASE=NewChip S.r.l.
-
-usb:v0CD8*
- ID_VENDOR_FROM_DATABASE=JS Digitech, Inc.
-
-usb:v0CD8p2007*
- ID_PRODUCT_FROM_DATABASE=Smart Card Reader/JSTU-9700
-
-usb:v0CD9*
- ID_VENDOR_FROM_DATABASE=Hitachi Shin Din Cable, Ltd
-
-usb:v0CDE*
- ID_VENDOR_FROM_DATABASE=Z-Com
-
-usb:v0CDEp0001*
- ID_PRODUCT_FROM_DATABASE=XI-750 802.11b Wireless Adapter [Atmel AT76C503A]
-
-usb:v0CDEp0002*
- ID_PRODUCT_FROM_DATABASE=XI-725/726 Prism2.5 802.11b Adapter
-
-usb:v0CDEp0003*
- ID_PRODUCT_FROM_DATABASE=Sagem 802.11b Dongle
-
-usb:v0CDEp0004*
- ID_PRODUCT_FROM_DATABASE=Sagem 802.11b Dongle
-
-usb:v0CDEp0005*
- ID_PRODUCT_FROM_DATABASE=XI-735 Prism3 802.11b Adapter
-
-usb:v0CDEp0006*
- ID_PRODUCT_FROM_DATABASE=XG-300 802.11b Adapter
-
-usb:v0CDEp0008*
- ID_PRODUCT_FROM_DATABASE=XG-703A 802.11g Wireless Adapter [Intersil ISL3887]
-
-usb:v0CDEp0009*
- ID_PRODUCT_FROM_DATABASE=(ZD1211)IEEE 802.11b+g Adapter
-
-usb:v0CDEp0011*
- ID_PRODUCT_FROM_DATABASE=ZD1211
-
-usb:v0CDEp0012*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:v0CDEp0013*
- ID_PRODUCT_FROM_DATABASE=AR5523 driver (no firmware)
-
-usb:v0CDEp0014*
- ID_PRODUCT_FROM_DATABASE=NB 802.11g Wireless LAN Adapter(3887A)
-
-usb:v0CDEp0015*
- ID_PRODUCT_FROM_DATABASE=XG-705A 802.11g Wireless Adapter [Intersil ISL3887]
-
-usb:v0CDEp0016*
- ID_PRODUCT_FROM_DATABASE=NB 802.11g Wireless LAN Adapter(3887A)
-
-usb:v0CDEp0018*
- ID_PRODUCT_FROM_DATABASE=NB 802.11a/b/g Wireless LAN Adapter(3887A)
-
-usb:v0CDEp001A*
- ID_PRODUCT_FROM_DATABASE=802.11bg
-
-usb:v0CDEp001C*
- ID_PRODUCT_FROM_DATABASE=802.11b/g Wireless Network Adapter
-
-usb:v0CDEp0020*
- ID_PRODUCT_FROM_DATABASE=AG-760A 802.11abg Wireless Adapter [ZyDAS ZD1211B]
-
-usb:v0CDEp0022*
- ID_PRODUCT_FROM_DATABASE=802.11b/g/n Wireless Network Adapter
-
-usb:v0CDEp0023*
- ID_PRODUCT_FROM_DATABASE=UB81 802.11bgn
-
-usb:v0CDEp0025*
- ID_PRODUCT_FROM_DATABASE=802.11b/g/n USB Wireless Network Adapter
-
-usb:v0CDEp0026*
- ID_PRODUCT_FROM_DATABASE=UB82 802.11abgn
-
-usb:v0CDEp0027*
- ID_PRODUCT_FROM_DATABASE=Sphairon Homelink 1202 802.11n Wireless Adapter [Atheros AR9170]
-
-usb:v0CE5*
- ID_VENDOR_FROM_DATABASE=Validation Technologies International
-
-usb:v0CE5p0003*
- ID_PRODUCT_FROM_DATABASE=Matrix
-
-usb:v0CE9*
- ID_VENDOR_FROM_DATABASE=pico Technology
-
-usb:v0CE9p1001*
- ID_PRODUCT_FROM_DATABASE=PicoScope3204
-
-usb:v0CF1*
- ID_VENDOR_FROM_DATABASE=e-Conn Electronic Co., Ltd
-
-usb:v0CF2*
- ID_VENDOR_FROM_DATABASE=ENE Technology, Inc.
-
-usb:v0CF2p6220*
- ID_PRODUCT_FROM_DATABASE=SD Card Reader (SG361)
-
-usb:v0CF2p6225*
- ID_PRODUCT_FROM_DATABASE=SD card reader (UB6225)
-
-usb:v0CF2p6250*
- ID_PRODUCT_FROM_DATABASE=SD card reader (UB6250)
-
-usb:v0CF3*
- ID_VENDOR_FROM_DATABASE=Atheros Communications, Inc.
-
-usb:v0CF3p0001*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:v0CF3p0002*
- ID_PRODUCT_FROM_DATABASE=AR5523 (no firmware)
-
-usb:v0CF3p0003*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:v0CF3p0004*
- ID_PRODUCT_FROM_DATABASE=AR5523 (no firmware)
-
-usb:v0CF3p0005*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:v0CF3p0006*
- ID_PRODUCT_FROM_DATABASE=AR5523 (no firmware)
-
-usb:v0CF3p1001*
- ID_PRODUCT_FROM_DATABASE=Thomson TG121N [Atheros AR9001U-(2)NG]
-
-usb:v0CF3p1002*
- ID_PRODUCT_FROM_DATABASE=TP-Link TL-WN821N v2 802.11n [Atheros AR9170]
-
-usb:v0CF3p1006*
- ID_PRODUCT_FROM_DATABASE=TP-Link TL-WN322G v3 / TL-WN422G v2 802.11g [Atheros AR9271]
-
-usb:v0CF3p1010*
- ID_PRODUCT_FROM_DATABASE=3Com 3CRUSBN275 802.11abgn Wireless Adapter [Atheros AR9170]
-
-usb:v0CF3p20FF*
- ID_PRODUCT_FROM_DATABASE=AR7010 (no firmware)
-
-usb:v0CF3p3000*
- ID_PRODUCT_FROM_DATABASE=AR3011 Bluetooth (no firmware)
-
-usb:v0CF3p3002*
- ID_PRODUCT_FROM_DATABASE=AR3011 Bluetooth
-
-usb:v0CF3p3005*
- ID_PRODUCT_FROM_DATABASE=AR3011 Bluetooth
-
-usb:v0CF3p7015*
- ID_PRODUCT_FROM_DATABASE=TP-Link TL-WN821N v3 802.11n [Atheros AR7010+AR9287]
-
-usb:v0CF3p9170*
- ID_PRODUCT_FROM_DATABASE=AR9170 802.11n
-
-usb:v0CF3p9271*
- ID_PRODUCT_FROM_DATABASE=AR9271 802.11n
-
-usb:v0CF3pB002*
- ID_PRODUCT_FROM_DATABASE=Ubiquiti WiFiStation 802.11n [Atheros AR9271]
-
-usb:v0CF3pB003*
- ID_PRODUCT_FROM_DATABASE=Ubiquiti WiFiStationEXT 802.11n [Atheros AR9271]
-
-usb:v0CF4*
- ID_VENDOR_FROM_DATABASE=Fomtex Corp.
-
-usb:v0CF5*
- ID_VENDOR_FROM_DATABASE=Cellink Co., Ltd
-
-usb:v0CF6*
- ID_VENDOR_FROM_DATABASE=Compucable Corp.
-
-usb:v0CF7*
- ID_VENDOR_FROM_DATABASE=ishoni Networks
-
-usb:v0CF8*
- ID_VENDOR_FROM_DATABASE=Clarisys, Inc.
-
-usb:v0CF8p0750*
- ID_PRODUCT_FROM_DATABASE=Claritel-i750 - vp
-
-usb:v0CF9*
- ID_VENDOR_FROM_DATABASE=Central System Research Co., Ltd
-
-usb:v0CFA*
- ID_VENDOR_FROM_DATABASE=Inviso, Inc.
-
-usb:v0CFC*
- ID_VENDOR_FROM_DATABASE=Minolta-QMS, Inc.
-
-usb:v0CFCp2301*
- ID_PRODUCT_FROM_DATABASE=Magicolor 2300 DL
-
-usb:v0CFCp2350*
- ID_PRODUCT_FROM_DATABASE=Magicolor 2350EN/3300
-
-usb:v0CFCp3100*
- ID_PRODUCT_FROM_DATABASE=Magicolor 3100
-
-usb:v0CFCp7300*
- ID_PRODUCT_FROM_DATABASE=Magicolor 5450/5550
-
-usb:v0CFF*
- ID_VENDOR_FROM_DATABASE=SAFA MEDIA Co., Ltd.
-
-usb:v0CFFp0320*
- ID_PRODUCT_FROM_DATABASE=SR-380N
-
-usb:v0D06*
- ID_VENDOR_FROM_DATABASE=telos EDV Systementwicklung GmbH
-
-usb:v0D08*
- ID_VENDOR_FROM_DATABASE=UTStarcom
-
-usb:v0D08p0602*
- ID_PRODUCT_FROM_DATABASE=DV007 [serial]
-
-usb:v0D08p0603*
- ID_PRODUCT_FROM_DATABASE=DV007 [storage]
-
-usb:v0D0B*
- ID_VENDOR_FROM_DATABASE=Contemporary Controls
-
-usb:v0D0C*
- ID_VENDOR_FROM_DATABASE=Astron Electronics Co., Ltd
-
-usb:v0D0D*
- ID_VENDOR_FROM_DATABASE=MKNet Corp.
-
-usb:v0D0E*
- ID_VENDOR_FROM_DATABASE=Hybrid Networks, Inc.
-
-usb:v0D0F*
- ID_VENDOR_FROM_DATABASE=Feng Shin Cable Co., Ltd
-
-usb:v0D10*
- ID_VENDOR_FROM_DATABASE=Elastic Networks
-
-usb:v0D10p0001*
- ID_PRODUCT_FROM_DATABASE=StormPort (WDM)
-
-usb:v0D11*
- ID_VENDOR_FROM_DATABASE=Maspro Denkoh Corp.
-
-usb:v0D12*
- ID_VENDOR_FROM_DATABASE=Hansol Electronics, Inc.
-
-usb:v0D13*
- ID_VENDOR_FROM_DATABASE=BMF Corp.
-
-usb:v0D14*
- ID_VENDOR_FROM_DATABASE=Array Comm, Inc.
-
-usb:v0D15*
- ID_VENDOR_FROM_DATABASE=OnStream b.v.
-
-usb:v0D16*
- ID_VENDOR_FROM_DATABASE=Hi-Touch Imaging Technologies Co., Ltd
-
-usb:v0D16p0001*
- ID_PRODUCT_FROM_DATABASE=PhotoShuttle
-
-usb:v0D16p0002*
- ID_PRODUCT_FROM_DATABASE=Photo Printer 730 series
-
-usb:v0D16p0004*
- ID_PRODUCT_FROM_DATABASE=Photo Printer 63xPL/PS
-
-usb:v0D16p0100*
- ID_PRODUCT_FROM_DATABASE=Photo Printer 63xPL/PS
-
-usb:v0D16p0102*
- ID_PRODUCT_FROM_DATABASE=Photo Printer 64xPS
-
-usb:v0D16p0103*
- ID_PRODUCT_FROM_DATABASE=Photo Printer 730 series
-
-usb:v0D16p0104*
- ID_PRODUCT_FROM_DATABASE=Photo Printer 63xPL/PS
-
-usb:v0D16p0105*
- ID_PRODUCT_FROM_DATABASE=Photo Printer 64xPS
-
-usb:v0D16p0200*
- ID_PRODUCT_FROM_DATABASE=Photo Printer 64xDL
-
-usb:v0D17*
- ID_VENDOR_FROM_DATABASE=NALTEC, Inc.
-
-usb:v0D18*
- ID_VENDOR_FROM_DATABASE=coaXmedia
-
-usb:v0D19*
- ID_VENDOR_FROM_DATABASE=Hank Connection Industrial Co., Ltd
-
-usb:v0D28*
- ID_VENDOR_FROM_DATABASE=NXP
-
-usb:v0D28p0204*
- ID_PRODUCT_FROM_DATABASE=LPC1768
-
-usb:v0D32*
- ID_VENDOR_FROM_DATABASE=Leo Hui Electric Wire & Cable Co., Ltd
-
-usb:v0D33*
- ID_VENDOR_FROM_DATABASE=AirSpeak, Inc.
-
-usb:v0D34*
- ID_VENDOR_FROM_DATABASE=Rearden Steel Technologies
-
-usb:v0D35*
- ID_VENDOR_FROM_DATABASE=Dah Kun Co., Ltd
-
-usb:v0D3A*
- ID_VENDOR_FROM_DATABASE=Posiflex Technologies, Inc.
-
-usb:v0D3C*
- ID_VENDOR_FROM_DATABASE=Sri Cable Technology, Ltd
-
-usb:v0D3D*
- ID_VENDOR_FROM_DATABASE=Tangtop Technology Co., Ltd
-
-usb:v0D3Dp0001*
- ID_PRODUCT_FROM_DATABASE=HID Keyboard
-
-usb:v0D3E*
- ID_VENDOR_FROM_DATABASE=Fitcom, inc.
-
-usb:v0D3F*
- ID_VENDOR_FROM_DATABASE=MTS Systems Corp.
-
-usb:v0D40*
- ID_VENDOR_FROM_DATABASE=Ascor, Inc.
-
-usb:v0D41*
- ID_VENDOR_FROM_DATABASE=Ta Yun Terminals Industrial Co., Ltd
-
-usb:v0D42*
- ID_VENDOR_FROM_DATABASE=Full Der Co., Ltd
-
-usb:v0D46*
- ID_VENDOR_FROM_DATABASE=Kobil Systems GmbH
-
-usb:v0D46p2012*
- ID_PRODUCT_FROM_DATABASE=KAAN Standard Plus (Smartcard reader)
-
-usb:v0D46p3003*
- ID_PRODUCT_FROM_DATABASE=mIDentity Light / KAAN SIM III
-
-usb:v0D46p4000*
- ID_PRODUCT_FROM_DATABASE=mIDentity (mass storage)
-
-usb:v0D46p4001*
- ID_PRODUCT_FROM_DATABASE=mIDentity Basic/Classic (composite device)
-
-usb:v0D46p4081*
- ID_PRODUCT_FROM_DATABASE=mIDentity Basic/Classic (installationless)
-
-usb:v0D48*
- ID_VENDOR_FROM_DATABASE=Promethean Limited
-
-usb:v0D48p0001*
- ID_PRODUCT_FROM_DATABASE=ACTIVboard
-
-usb:v0D48p0004*
- ID_PRODUCT_FROM_DATABASE=ACTIVboard
-
-usb:v0D48p0100*
- ID_PRODUCT_FROM_DATABASE=Audio
-
-usb:v0D49*
- ID_VENDOR_FROM_DATABASE=Maxtor
-
-usb:v0D49p3000*
- ID_PRODUCT_FROM_DATABASE=Drive
-
-usb:v0D49p3010*
- ID_PRODUCT_FROM_DATABASE=3000LE Drive
-
-usb:v0D49p3100*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed USB-IDE Bridge Controller
-
-usb:v0D49p3200*
- ID_PRODUCT_FROM_DATABASE=Personal Storage 3200
-
-usb:v0D49p5000*
- ID_PRODUCT_FROM_DATABASE=5000XT Drive
-
-usb:v0D49p5010*
- ID_PRODUCT_FROM_DATABASE=5000LE Drive
-
-usb:v0D49p5020*
- ID_PRODUCT_FROM_DATABASE=Mobile Hard Disk Drive
-
-usb:v0D49p7000*
- ID_PRODUCT_FROM_DATABASE=OneTouch
-
-usb:v0D49p7010*
- ID_PRODUCT_FROM_DATABASE=OneTouch
-
-usb:v0D49p7100*
- ID_PRODUCT_FROM_DATABASE=OneTouch II 300GB External Hard Disk
-
-usb:v0D49p7410*
- ID_PRODUCT_FROM_DATABASE=Mobile Hard Disk Drive (1TB)
-
-usb:v0D49p7450*
- ID_PRODUCT_FROM_DATABASE=Basics Portable USB Device
-
-usb:v0D4A*
- ID_VENDOR_FROM_DATABASE=NF Corp.
-
-usb:v0D4B*
- ID_VENDOR_FROM_DATABASE=Grape Systems, Inc.
-
-usb:v0D4C*
- ID_VENDOR_FROM_DATABASE=Tedas AG
-
-usb:v0D4D*
- ID_VENDOR_FROM_DATABASE=Coherent, Inc.
-
-usb:v0D4E*
- ID_VENDOR_FROM_DATABASE=Agere Systems Netherland BV
-
-usb:v0D4Ep047A*
- ID_PRODUCT_FROM_DATABASE=WLAN Card
-
-usb:v0D4Ep1000*
- ID_PRODUCT_FROM_DATABASE=Wireless Card Model 0801
-
-usb:v0D4Ep1001*
- ID_PRODUCT_FROM_DATABASE=Wireless Card Model 0802
-
-usb:v0D4F*
- ID_VENDOR_FROM_DATABASE=EADS Airbus France
-
-usb:v0D50*
- ID_VENDOR_FROM_DATABASE=Cleware GmbH
-
-usb:v0D50p0011*
- ID_PRODUCT_FROM_DATABASE=USB-Temp2 Thermometer
-
-usb:v0D51*
- ID_VENDOR_FROM_DATABASE=Volex (Asia) Pte., Ltd
-
-usb:v0D53*
- ID_VENDOR_FROM_DATABASE=HMI Co., Ltd
-
-usb:v0D54*
- ID_VENDOR_FROM_DATABASE=Holon Corp.
-
-usb:v0D55*
- ID_VENDOR_FROM_DATABASE=ASKA Technologies, Inc.
-
-usb:v0D56*
- ID_VENDOR_FROM_DATABASE=AVLAB Technology, Inc.
-
-usb:v0D57*
- ID_VENDOR_FROM_DATABASE=Solomon Microtech, Ltd
-
-usb:v0D5C*
- ID_VENDOR_FROM_DATABASE=SMC Networks, Inc.
-
-usb:v0D5CpA001*
- ID_PRODUCT_FROM_DATABASE=SMC2662W (v1) EZ Connect 802.11b Wireless Adapter [Atmel AT76C503A]
-
-usb:v0D5CpA002*
- ID_PRODUCT_FROM_DATABASE=SMC2662W v2 / SMC2662W-AR / Belkin F5D6050 [Atmel at76c503a]
-
-usb:v0D5E*
- ID_VENDOR_FROM_DATABASE=Myacom, Ltd
-
-usb:v0D5Ep2346*
- ID_PRODUCT_FROM_DATABASE=BT Digital Access adapter
-
-usb:v0D5F*
- ID_VENDOR_FROM_DATABASE=CSI, Inc.
-
-usb:v0D60*
- ID_VENDOR_FROM_DATABASE=IVL Technologies, Ltd
-
-usb:v0D61*
- ID_VENDOR_FROM_DATABASE=Meilu Electronics (Shenzhen) Co., Ltd
-
-usb:v0D62*
- ID_VENDOR_FROM_DATABASE=Darfon Electronics Corp.
-
-usb:v0D62p0003*
- ID_PRODUCT_FROM_DATABASE=Smartcard Reader
-
-usb:v0D62p0004*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v0D62p001C*
- ID_PRODUCT_FROM_DATABASE=Benq X120 Internet Keyboard Pro
-
-usb:v0D62p0306*
- ID_PRODUCT_FROM_DATABASE=M530 Mouse
-
-usb:v0D62p0800*
- ID_PRODUCT_FROM_DATABASE=Magic Wheel
-
-usb:v0D62p2021*
- ID_PRODUCT_FROM_DATABASE=AM805 Keyboard
-
-usb:v0D62p2026*
- ID_PRODUCT_FROM_DATABASE=TECOM Bluetooth Device
-
-usb:v0D62p2050*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v0D62p2106*
- ID_PRODUCT_FROM_DATABASE=Dell L20U Multimedia Keyboard
-
-usb:v0D62pA100*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v0D63*
- ID_VENDOR_FROM_DATABASE=Fritz Gegauf AG
-
-usb:v0D64*
- ID_VENDOR_FROM_DATABASE=DXG Technology Corp.
-
-usb:v0D64p0105*
- ID_PRODUCT_FROM_DATABASE=Dual Mode Digital Camera 1.3M
-
-usb:v0D64p0107*
- ID_PRODUCT_FROM_DATABASE=Horus MT-409 Camera
-
-usb:v0D64p0108*
- ID_PRODUCT_FROM_DATABASE=Dual Mode Digital Camera
-
-usb:v0D64p0202*
- ID_PRODUCT_FROM_DATABASE=Dual Mode Video Camera Device
-
-usb:v0D64p0303*
- ID_PRODUCT_FROM_DATABASE=DXG-305V Camera
-
-usb:v0D64p1001*
- ID_PRODUCT_FROM_DATABASE=SiPix Stylecam/UMAX AstraPix 320s
-
-usb:v0D64p1002*
- ID_PRODUCT_FROM_DATABASE=Fashion Cam 01 Dual-Mode DSC (Video Camera)
-
-usb:v0D64p1003*
- ID_PRODUCT_FROM_DATABASE=Fashion Cam Dual-Mode DSC (Controller)
-
-usb:v0D64p1021*
- ID_PRODUCT_FROM_DATABASE=D-Link DSC 350F
-
-usb:v0D64p1208*
- ID_PRODUCT_FROM_DATABASE=Dual Mode Still Camera Device
-
-usb:v0D64p2208*
- ID_PRODUCT_FROM_DATABASE=Mass Storage
-
-usb:v0D64p3105*
- ID_PRODUCT_FROM_DATABASE=Dual Mode Digital Camera Disk
-
-usb:v0D64p3108*
- ID_PRODUCT_FROM_DATABASE=Digicam Mass Storage Device
-
-usb:v0D65*
- ID_VENDOR_FROM_DATABASE=KMJP Co., Ltd
-
-usb:v0D66*
- ID_VENDOR_FROM_DATABASE=TMT
-
-usb:v0D67*
- ID_VENDOR_FROM_DATABASE=Advanet, Inc.
-
-usb:v0D68*
- ID_VENDOR_FROM_DATABASE=Super Link Electronics Co., Ltd
-
-usb:v0D69*
- ID_VENDOR_FROM_DATABASE=NSI
-
-usb:v0D6A*
- ID_VENDOR_FROM_DATABASE=Megapower International Corp.
-
-usb:v0D6B*
- ID_VENDOR_FROM_DATABASE=And-Or Logic
-
-usb:v0D70*
- ID_VENDOR_FROM_DATABASE=Try Computer Co., Ltd
-
-usb:v0D71*
- ID_VENDOR_FROM_DATABASE=Hirakawa Hewtech Corp.
-
-usb:v0D72*
- ID_VENDOR_FROM_DATABASE=Winmate Communication, Inc.
-
-usb:v0D73*
- ID_VENDOR_FROM_DATABASE=Hit's Communications, Inc.
-
-usb:v0D76*
- ID_VENDOR_FROM_DATABASE=MFP Korea, Inc.
-
-usb:v0D77*
- ID_VENDOR_FROM_DATABASE=Power Sentry/Newpoint
-
-usb:v0D78*
- ID_VENDOR_FROM_DATABASE=Japan Distributor Corp.
-
-usb:v0D7A*
- ID_VENDOR_FROM_DATABASE=MARX Datentechnik GmbH
-
-usb:v0D7B*
- ID_VENDOR_FROM_DATABASE=Wellco Technology Co., Ltd
-
-usb:v0D7C*
- ID_VENDOR_FROM_DATABASE=Taiwan Line Tek Electronic Co., Ltd
-
-usb:v0D7D*
- ID_VENDOR_FROM_DATABASE=Phison Electronics Corp.
-
-usb:v0D7Dp0100*
- ID_PRODUCT_FROM_DATABASE=PS1001/1011/1006/1026 Flash Disk
-
-usb:v0D7Dp0110*
- ID_PRODUCT_FROM_DATABASE=Gigabyte FlexDrive
-
-usb:v0D7Dp0120*
- ID_PRODUCT_FROM_DATABASE=Disk Pro 64MB
-
-usb:v0D7Dp0124*
- ID_PRODUCT_FROM_DATABASE=GIGABYTE Disk
-
-usb:v0D7Dp0240*
- ID_PRODUCT_FROM_DATABASE=I/O-Magic/Transcend 6-in-1 Card Reader
-
-usb:v0D7Dp110E*
- ID_PRODUCT_FROM_DATABASE=NEC uPD720121/130 USB-ATA/ATAPI Bridge
-
-usb:v0D7Dp1240*
- ID_PRODUCT_FROM_DATABASE=Apacer 6-in-1 Card Reader 2.0
-
-usb:v0D7Dp1270*
- ID_PRODUCT_FROM_DATABASE=Wolverine SixPac 6000
-
-usb:v0D7Dp1300*
- ID_PRODUCT_FROM_DATABASE=Flash Disk
-
-usb:v0D7Dp1320*
- ID_PRODUCT_FROM_DATABASE=PS2031 Flash Disk
-
-usb:v0D7Dp1400*
- ID_PRODUCT_FROM_DATABASE=Attache 256MB USB 2.0 Flash Drive
-
-usb:v0D7Dp1420*
- ID_PRODUCT_FROM_DATABASE=PS2044 Pen Drive
-
-usb:v0D7Dp1470*
- ID_PRODUCT_FROM_DATABASE=Vosonic X's-Drive II+ VP2160
-
-usb:v0D7Dp1620*
- ID_PRODUCT_FROM_DATABASE=USB Disk Pro
-
-usb:v0D7Dp1900*
- ID_PRODUCT_FROM_DATABASE=USB Thumb Drive
-
-usb:v0D7E*
- ID_VENDOR_FROM_DATABASE=American Computer & Digital Components
-
-usb:v0D7Ep2507*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
-
-usb:v0D7Ep2517*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed Mass Storage Device
-
-usb:v0D7Ep25C7*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed USB-to-IDE Bridge Controller
-
-usb:v0D7F*
- ID_VENDOR_FROM_DATABASE=Essential Reality LLC
-
-usb:v0D7Fp0100*
- ID_PRODUCT_FROM_DATABASE=P5 Glove glove controller
-
-usb:v0D80*
- ID_VENDOR_FROM_DATABASE=H.R. Silvine Electronics, Inc.
-
-usb:v0D81*
- ID_VENDOR_FROM_DATABASE=TechnoVision
-
-usb:v0D83*
- ID_VENDOR_FROM_DATABASE=Think Outside, Inc.
-
-usb:v0D87*
- ID_VENDOR_FROM_DATABASE=Dolby Laboratories Inc.
-
-usb:v0D89*
- ID_VENDOR_FROM_DATABASE=Oz Software
-
-usb:v0D8A*
- ID_VENDOR_FROM_DATABASE=King Jim Co., Ltd
-
-usb:v0D8Ap0101*
- ID_PRODUCT_FROM_DATABASE=TEPRA PRO
-
-usb:v0D8B*
- ID_VENDOR_FROM_DATABASE=Ascom Telecommunications, Ltd
-
-usb:v0D8C*
- ID_VENDOR_FROM_DATABASE=C-Media Electronics, Inc.
-
-usb:v0D8Cp0001*
- ID_PRODUCT_FROM_DATABASE=Audio Device
-
-usb:v0D8Cp0002*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v0D8Cp0003*
- ID_PRODUCT_FROM_DATABASE=Sound Device
-
-usb:v0D8Cp0006*
- ID_PRODUCT_FROM_DATABASE=Storm HP-USB500 5.1 Headset
-
-usb:v0D8Cp000C*
- ID_PRODUCT_FROM_DATABASE=Audio Adapter
-
-usb:v0D8Cp000D*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v0D8Cp000E*
- ID_PRODUCT_FROM_DATABASE=Audio Adapter (Planet UP-100, Genius G-Talk)
-
-usb:v0D8Cp001F*
- ID_PRODUCT_FROM_DATABASE=CM108 Audio Controller
-
-usb:v0D8Cp0102*
- ID_PRODUCT_FROM_DATABASE=CM106 Like Sound Device
-
-usb:v0D8Cp0103*
- ID_PRODUCT_FROM_DATABASE=CM102-A+/102S+ Audio Controller
-
-usb:v0D8Cp0104*
- ID_PRODUCT_FROM_DATABASE=CM103+ Audio Controller
-
-usb:v0D8Cp0105*
- ID_PRODUCT_FROM_DATABASE=CM108 Audio Controller
-
-usb:v0D8Cp0107*
- ID_PRODUCT_FROM_DATABASE=CM108 Audio Controller
-
-usb:v0D8Cp010F*
- ID_PRODUCT_FROM_DATABASE=CM108 Audio Controller
-
-usb:v0D8Cp0115*
- ID_PRODUCT_FROM_DATABASE=CM108 Audio Controller
-
-usb:v0D8Cp013C*
- ID_PRODUCT_FROM_DATABASE=CM108 Audio Controller
-
-usb:v0D8Cp0201*
- ID_PRODUCT_FROM_DATABASE=CM6501
-
-usb:v0D8Cp5000*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Controller
-
-usb:v0D8Cp5200*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Controller(0D8C,5200)
-
-usb:v0D8CpB213*
- ID_PRODUCT_FROM_DATABASE=USB Phone CM109 (aka CT2000,VPT1000)
-
-usb:v0D8D*
- ID_VENDOR_FROM_DATABASE=Promotion & Display Technology, Ltd
-
-usb:v0D8Dp0234*
- ID_PRODUCT_FROM_DATABASE=V-234 Composite Device
-
-usb:v0D8Dp0550*
- ID_PRODUCT_FROM_DATABASE=V-550 Composite Device
-
-usb:v0D8Dp0551*
- ID_PRODUCT_FROM_DATABASE=V-551 Composite Device
-
-usb:v0D8Dp0552*
- ID_PRODUCT_FROM_DATABASE=V-552 Composite Device
-
-usb:v0D8Dp0651*
- ID_PRODUCT_FROM_DATABASE=V-651 Composite Device
-
-usb:v0D8Dp0652*
- ID_PRODUCT_FROM_DATABASE=V-652 Composite Device
-
-usb:v0D8Dp0653*
- ID_PRODUCT_FROM_DATABASE=V-653 Composite Device
-
-usb:v0D8Dp0654*
- ID_PRODUCT_FROM_DATABASE=V-654 Composite Device
-
-usb:v0D8Dp0655*
- ID_PRODUCT_FROM_DATABASE=V-655 Composite Device
-
-usb:v0D8Dp0656*
- ID_PRODUCT_FROM_DATABASE=V-656 Composite Device
-
-usb:v0D8Dp0657*
- ID_PRODUCT_FROM_DATABASE=V-657 Composite Device
-
-usb:v0D8Dp0658*
- ID_PRODUCT_FROM_DATABASE=V-658 Composite Device
-
-usb:v0D8Dp0659*
- ID_PRODUCT_FROM_DATABASE=V-659 Composite Device
-
-usb:v0D8Dp0660*
- ID_PRODUCT_FROM_DATABASE=V-660 Composite Device
-
-usb:v0D8Dp0661*
- ID_PRODUCT_FROM_DATABASE=V-661 Composite Device
-
-usb:v0D8Dp0662*
- ID_PRODUCT_FROM_DATABASE=V-662 Composite Device
-
-usb:v0D8Dp0850*
- ID_PRODUCT_FROM_DATABASE=V-850 Composite Device
-
-usb:v0D8Dp0851*
- ID_PRODUCT_FROM_DATABASE=V-851 Composite Device
-
-usb:v0D8Dp0852*
- ID_PRODUCT_FROM_DATABASE=V-852 Composite Device
-
-usb:v0D8Dp0901*
- ID_PRODUCT_FROM_DATABASE=V-901 Composite Device
-
-usb:v0D8Dp0902*
- ID_PRODUCT_FROM_DATABASE=V-902 Composite Device
-
-usb:v0D8Dp0903*
- ID_PRODUCT_FROM_DATABASE=V-903 Composite Device
-
-usb:v0D8Dp4754*
- ID_PRODUCT_FROM_DATABASE=Voyager DMP Composite Device
-
-usb:v0D8DpBB00*
- ID_PRODUCT_FROM_DATABASE=Bloomberg Composite Device
-
-usb:v0D8DpBB01*
- ID_PRODUCT_FROM_DATABASE=Bloomberg Composite Device
-
-usb:v0D8DpBB02*
- ID_PRODUCT_FROM_DATABASE=Bloomberg Composite Device
-
-usb:v0D8DpBB03*
- ID_PRODUCT_FROM_DATABASE=Bloomberg Composite Device
-
-usb:v0D8DpBB04*
- ID_PRODUCT_FROM_DATABASE=Bloomberg Composite Device
-
-usb:v0D8DpBB05*
- ID_PRODUCT_FROM_DATABASE=Bloomberg Composite Device
-
-usb:v0D8DpFFFE*
- ID_PRODUCT_FROM_DATABASE=Global Tuner Composite Device
-
-usb:v0D8DpFFFF*
- ID_PRODUCT_FROM_DATABASE=Voyager DMP Composite Device
-
-usb:v0D8E*
- ID_VENDOR_FROM_DATABASE=Global Sun Technology, Inc.
-
-usb:v0D8Ep0163*
- ID_PRODUCT_FROM_DATABASE=802.11g 54 Mbps Wireless Dongle
-
-usb:v0D8Ep1621*
- ID_PRODUCT_FROM_DATABASE=802.11b Wireless Adapter
-
-usb:v0D8Ep3762*
- ID_PRODUCT_FROM_DATABASE=Cohiba 802.11g Wireless Mini adapter [Intersil ISL3887]
-
-usb:v0D8Ep3763*
- ID_PRODUCT_FROM_DATABASE=802.11g Wireless dongle
-
-usb:v0D8Ep7100*
- ID_PRODUCT_FROM_DATABASE=802.11b Adapter
-
-usb:v0D8Ep7110*
- ID_PRODUCT_FROM_DATABASE=WL-210 / WU210P 802.11b Wireless Adapter [Atmel AT76C503A]
-
-usb:v0D8Ep7605*
- ID_PRODUCT_FROM_DATABASE=TRENDnet TEW-224UB 802.11b Wireless Adapter [Atmel AT76C503A]
-
-usb:v0D8Ep7801*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:v0D8Ep7802*
- ID_PRODUCT_FROM_DATABASE=AR5523 (no firmware)
-
-usb:v0D8Ep7811*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:v0D8Ep7812*
- ID_PRODUCT_FROM_DATABASE=AR5523 (no firmware)
-
-usb:v0D8Ep7A01*
- ID_PRODUCT_FROM_DATABASE=PRISM25 802.11b Adapter
-
-usb:v0D8F*
- ID_VENDOR_FROM_DATABASE=Pitney Bowes
-
-usb:v0D90*
- ID_VENDOR_FROM_DATABASE=Sure-Fire Electrical Corp.
-
-usb:v0D96*
- ID_VENDOR_FROM_DATABASE=Skanhex Technology, Inc.
-
-usb:v0D96p0000*
- ID_PRODUCT_FROM_DATABASE=Jenoptik JD350 video
-
-usb:v0D96p3300*
- ID_PRODUCT_FROM_DATABASE=SX330z Camera
-
-usb:v0D96p4100*
- ID_PRODUCT_FROM_DATABASE=SX410z Camera
-
-usb:v0D96p4102*
- ID_PRODUCT_FROM_DATABASE=MD 9700 Camera
-
-usb:v0D96p4104*
- ID_PRODUCT_FROM_DATABASE=Jenoptik JD-4100z3s
-
-usb:v0D96p410A*
- ID_PRODUCT_FROM_DATABASE=Medion 9801/Novatech SX-410z
-
-usb:v0D96p5200*
- ID_PRODUCT_FROM_DATABASE=SX-520z Camera
-
-usb:v0D97*
- ID_VENDOR_FROM_DATABASE=Santa Barbara Instrument Group
-
-usb:v0D97p0001*
- ID_PRODUCT_FROM_DATABASE=SBIG Astronomy Camera (without firmware)
-
-usb:v0D97p0101*
- ID_PRODUCT_FROM_DATABASE=SBIG Astronomy Camera (with firmware)
-
-usb:v0D98*
- ID_VENDOR_FROM_DATABASE=Mars Semiconductor Corp.
-
-usb:v0D98p0300*
- ID_PRODUCT_FROM_DATABASE=Avaya Wireless Card
-
-usb:v0D98p1007*
- ID_PRODUCT_FROM_DATABASE=Discovery Kids Digital Camera
-
-usb:v0D99*
- ID_VENDOR_FROM_DATABASE=Trazer Technologies, Inc.
-
-usb:v0D9A*
- ID_VENDOR_FROM_DATABASE=RTX Telecom AS
-
-usb:v0D9Ap0001*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0D9B*
- ID_VENDOR_FROM_DATABASE=Tat Shing Electrical Co.
-
-usb:v0D9C*
- ID_VENDOR_FROM_DATABASE=Chee Chen Hi-Technology Co., Ltd
-
-usb:v0D9D*
- ID_VENDOR_FROM_DATABASE=Sanwa Supply, Inc.
-
-usb:v0D9E*
- ID_VENDOR_FROM_DATABASE=Avaya
-
-usb:v0D9Ep0300*
- ID_PRODUCT_FROM_DATABASE=Wireless Card
-
-usb:v0D9F*
- ID_VENDOR_FROM_DATABASE=Powercom Co., Ltd
-
-usb:v0D9Fp0001*
- ID_PRODUCT_FROM_DATABASE=Uninterruptible Power Supply
-
-usb:v0D9Fp0002*
- ID_PRODUCT_FROM_DATABASE=Black Knight PRO / WOW Uninterruptible Power Supply (Cypress HID->COM RS232)
-
-usb:v0D9Fp00A2*
- ID_PRODUCT_FROM_DATABASE=Imperial Uninterruptible Power Supply (HID PDC)
-
-usb:v0D9Fp00A3*
- ID_PRODUCT_FROM_DATABASE=Smart King PRO Uninterruptible Power Supply (HID PDC)
-
-usb:v0D9Fp00A4*
- ID_PRODUCT_FROM_DATABASE=WOW Uninterruptible Power Supply (HID PDC)
-
-usb:v0D9Fp00A5*
- ID_PRODUCT_FROM_DATABASE=Vanguard Uninterruptible Power Supply (HID PDC)
-
-usb:v0D9Fp00A6*
- ID_PRODUCT_FROM_DATABASE=Black Knight PRO Uninterruptible Power Supply (HID PDC)
-
-usb:v0DA0*
- ID_VENDOR_FROM_DATABASE=Danger Research
-
-usb:v0DA1*
- ID_VENDOR_FROM_DATABASE=Suzhou Peter's Precise Industrial Co., Ltd
-
-usb:v0DA2*
- ID_VENDOR_FROM_DATABASE=Land Instruments International, Ltd
-
-usb:v0DA3*
- ID_VENDOR_FROM_DATABASE=Nippon Electro-Sensory Devices Corp.
-
-usb:v0DA4*
- ID_VENDOR_FROM_DATABASE=Polar Electro OY
-
-usb:v0DA4p0001*
- ID_PRODUCT_FROM_DATABASE=Interface
-
-usb:v0DA7*
- ID_VENDOR_FROM_DATABASE=IOGear, Inc.
-
-usb:v0DA8*
- ID_VENDOR_FROM_DATABASE=softDSP Co., Ltd
-
-usb:v0DA8p0001*
- ID_PRODUCT_FROM_DATABASE=SDS 200A Oscilloscope
-
-usb:v0DAB*
- ID_VENDOR_FROM_DATABASE=Cubig Group
-
-usb:v0DABp0100*
- ID_PRODUCT_FROM_DATABASE=DVR/CVR-M140 MP3 Player
-
-usb:v0DAD*
- ID_VENDOR_FROM_DATABASE=Westover Scientific
-
-usb:v0DB0*
- ID_VENDOR_FROM_DATABASE=Micro Star International
-
-usb:v0DB0p1020*
- ID_PRODUCT_FROM_DATABASE=PC2PC WLAN Card
-
-usb:v0DB0p1967*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle
-
-usb:v0DB0p3801*
- ID_PRODUCT_FROM_DATABASE=Motorola Bluetooth 2.1+EDR Device
-
-usb:v0DB0p4011*
- ID_PRODUCT_FROM_DATABASE=Medion Flash XL V2.0 Card Reader
-
-usb:v0DB0p4023*
- ID_PRODUCT_FROM_DATABASE=Lexar Mobile Card Reader
-
-usb:v0DB0p4600*
- ID_PRODUCT_FROM_DATABASE=802.11b/g Turbo Wireless Adapter
-
-usb:v0DB0p5501*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0DB0p5502*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0DB0p5513*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0DB0p5515*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0DB0p5516*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0DB0p5580*
- ID_PRODUCT_FROM_DATABASE=Mega Sky 580 DVB-T Tuner [M902x]
-
-usb:v0DB0p5581*
- ID_PRODUCT_FROM_DATABASE=Mega Sky 580 DVB-T Tuner [GL861]
-
-usb:v0DB0p6823*
- ID_PRODUCT_FROM_DATABASE=UB11B/MS-6823 802.11b Wi-Fi adapter
-
-usb:v0DB0p6826*
- ID_PRODUCT_FROM_DATABASE=IEEE 802.11g Wireless Network Adapter
-
-usb:v0DB0p6855*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0DB0p6861*
- ID_PRODUCT_FROM_DATABASE=MSI-6861 802.11g WiFi adapter
-
-usb:v0DB0p6865*
- ID_PRODUCT_FROM_DATABASE=RT2570
-
-usb:v0DB0p6869*
- ID_PRODUCT_FROM_DATABASE=RT2570
-
-usb:v0DB0p6874*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v0DB0p6877*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v0DB0p6881*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Class I EDR Device
-
-usb:v0DB0p688A*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Class I EDR Device
-
-usb:v0DB0p6899*
- ID_PRODUCT_FROM_DATABASE=802.11bgn 1T1R Mini Card Wireless Adapter
-
-usb:v0DB0p6970*
- ID_PRODUCT_FROM_DATABASE=MS-6970 BToes Bluetooth adapter
-
-usb:v0DB0p697A*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle
-
-usb:v0DB0p6982*
- ID_PRODUCT_FROM_DATABASE=Medion Flash XL Card Reader
-
-usb:v0DB0pA861*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v0DB0pA874*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v0DB0pA970*
- ID_PRODUCT_FROM_DATABASE=Bluetooth dongle
-
-usb:v0DB0pA97A*
- ID_PRODUCT_FROM_DATABASE=Bluetooth EDR Device
-
-usb:v0DB0pB970*
- ID_PRODUCT_FROM_DATABASE=Bluetooth EDR Device
-
-usb:v0DB0pB97A*
- ID_PRODUCT_FROM_DATABASE=Bluetooth EDR Device
-
-usb:v0DB1*
- ID_VENDOR_FROM_DATABASE=Wen Te Electronics Co., Ltd
-
-usb:v0DB2*
- ID_VENDOR_FROM_DATABASE=Shian Hwi Plug Parts, Plastic Factory
-
-usb:v0DB3*
- ID_VENDOR_FROM_DATABASE=Tekram Technology Co., Ltd
-
-usb:v0DB4*
- ID_VENDOR_FROM_DATABASE=Chung Fu Chen Yeh Enterprise Corp.
-
-usb:v0DB7*
- ID_VENDOR_FROM_DATABASE=ELCON Systemtechnik
-
-usb:v0DB7p0002*
- ID_PRODUCT_FROM_DATABASE=Goldpfeil P-LAN
-
-usb:v0DBC*
- ID_VENDOR_FROM_DATABASE=A&D Medical
-
-usb:v0DBCp0003*
- ID_PRODUCT_FROM_DATABASE=AND Serial Cable [AND Smart Cable]
-
-usb:v0DBE*
- ID_VENDOR_FROM_DATABASE=Jiuh Shiuh Precision Industry Co., Ltd
-
-usb:v0DBF*
- ID_VENDOR_FROM_DATABASE=Jess-Link International
-
-usb:v0DBFp0002*
- ID_PRODUCT_FROM_DATABASE=SmartDongle Security Key
-
-usb:v0DBFp0200*
- ID_PRODUCT_FROM_DATABASE=HDD Storage Solution
-
-usb:v0DBFp021B*
- ID_PRODUCT_FROM_DATABASE=USB-2.0 IDE Adapter
-
-usb:v0DBFp0300*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter
-
-usb:v0DBFp0333*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter
-
-usb:v0DBFp0707*
- ID_PRODUCT_FROM_DATABASE=ZIV Drive
-
-usb:v0DC0*
- ID_VENDOR_FROM_DATABASE=G7 Solutions (formerly Great Notions)
-
-usb:v0DC1*
- ID_VENDOR_FROM_DATABASE=Tamagawa Seiki Co., Ltd
-
-usb:v0DC3*
- ID_VENDOR_FROM_DATABASE=Athena Smartcard Solutions, Inc.
-
-usb:v0DC3p0801*
- ID_PRODUCT_FROM_DATABASE=ASEDrive III
-
-usb:v0DC3p0802*
- ID_PRODUCT_FROM_DATABASE=ASEDrive IIIe
-
-usb:v0DC3p1104*
- ID_PRODUCT_FROM_DATABASE=ASEDrive IIIe KB
-
-usb:v0DC3p1701*
- ID_PRODUCT_FROM_DATABASE=ASEKey
-
-usb:v0DC3p1702*
- ID_PRODUCT_FROM_DATABASE=ASEKey
-
-usb:v0DC4*
- ID_VENDOR_FROM_DATABASE=Macpower Peripherals, Ltd
-
-usb:v0DC4p0040*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0DC4p0041*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0DC4p0042*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Device
-
-usb:v0DC4p0101*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed Mass Storage Device
-
-usb:v0DC4p020A*
- ID_PRODUCT_FROM_DATABASE=Oyen Digital MiniPro 2.5" hard drive enclosure
-
-usb:v0DC5*
- ID_VENDOR_FROM_DATABASE=SDK Co., Ltd
-
-usb:v0DC6*
- ID_VENDOR_FROM_DATABASE=Precision Squared Technology Corp.
-
-usb:v0DC6p2301*
- ID_PRODUCT_FROM_DATABASE=Wireless Touchpad Keyboard
-
-usb:v0DC7*
- ID_VENDOR_FROM_DATABASE=First Cable Line, Inc.
-
-usb:v0DCD*
- ID_VENDOR_FROM_DATABASE=NetworkFab Corp.
-
-usb:v0DCDp0001*
- ID_PRODUCT_FROM_DATABASE=Remote Interface Adapter
-
-usb:v0DCDp0002*
- ID_PRODUCT_FROM_DATABASE=High Bandwidth Codec
-
-usb:v0DD0*
- ID_VENDOR_FROM_DATABASE=Access Solutions
-
-usb:v0DD0p1002*
- ID_PRODUCT_FROM_DATABASE=Triple Talk Speech Synthesizer
-
-usb:v0DD1*
- ID_VENDOR_FROM_DATABASE=Contek Electronics Co., Ltd
-
-usb:v0DD2*
- ID_VENDOR_FROM_DATABASE=Power Quotient International Co., Ltd
-
-usb:v0DD2p0003*
- ID_PRODUCT_FROM_DATABASE=Mass Storage (P)
-
-usb:v0DD3*
- ID_VENDOR_FROM_DATABASE=MediaQ
-
-usb:v0DD4*
- ID_VENDOR_FROM_DATABASE=Custom Engineering SPA
-
-usb:v0DD5*
- ID_VENDOR_FROM_DATABASE=California Micro Devices
-
-usb:v0DD7*
- ID_VENDOR_FROM_DATABASE=Kocom Co., Ltd
-
-usb:v0DD8*
- ID_VENDOR_FROM_DATABASE=Netac Technology Co., Ltd
-
-usb:v0DD8p1060*
- ID_PRODUCT_FROM_DATABASE=USB-CF-Card
-
-usb:v0DD8pE007*
- ID_PRODUCT_FROM_DATABASE=OnlyDisk U222 Pendrive
-
-usb:v0DD8pF607*
- ID_PRODUCT_FROM_DATABASE=OnlyDisk U208 1G flash drive [U-SAFE]
-
-usb:v0DD9*
- ID_VENDOR_FROM_DATABASE=HighSpeed Surfing
-
-usb:v0DDA*
- ID_VENDOR_FROM_DATABASE=Integrated Circuit Solution, Inc.
-
-usb:v0DDAp0001*
- ID_PRODUCT_FROM_DATABASE=Multi-Card Reader 6in1
-
-usb:v0DDAp0002*
- ID_PRODUCT_FROM_DATABASE=Multi-Card Reader 7in1
-
-usb:v0DDAp0003*
- ID_PRODUCT_FROM_DATABASE=Flash Disk
-
-usb:v0DDAp0005*
- ID_PRODUCT_FROM_DATABASE=Internal Multi-Card Reader 6in1
-
-usb:v0DDAp0008*
- ID_PRODUCT_FROM_DATABASE=SD single card reader
-
-usb:v0DDAp0009*
- ID_PRODUCT_FROM_DATABASE=MS single card reader
-
-usb:v0DDAp000A*
- ID_PRODUCT_FROM_DATABASE=MS+SD Dual Card Reader
-
-usb:v0DDAp000B*
- ID_PRODUCT_FROM_DATABASE=SM single card reader
-
-usb:v0DDAp0101*
- ID_PRODUCT_FROM_DATABASE=All-In-One Card Reader
-
-usb:v0DDAp0102*
- ID_PRODUCT_FROM_DATABASE=All-In-One Card Reader
-
-usb:v0DDAp0301*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0DDAp0302*
- ID_PRODUCT_FROM_DATABASE=Multi-Card MP3 Player
-
-usb:v0DDAp1001*
- ID_PRODUCT_FROM_DATABASE=Multi-Flash Disk
-
-usb:v0DDAp2001*
- ID_PRODUCT_FROM_DATABASE=Multi-Card Reader
-
-usb:v0DDAp2002*
- ID_PRODUCT_FROM_DATABASE=Q018 default PID
-
-usb:v0DDAp2003*
- ID_PRODUCT_FROM_DATABASE=Multi-Card Reader
-
-usb:v0DDAp2005*
- ID_PRODUCT_FROM_DATABASE=Datalux DLX-1611 16in1 Card Reader
-
-usb:v0DDAp2006*
- ID_PRODUCT_FROM_DATABASE=All-In-One Card Reader
-
-usb:v0DDAp2007*
- ID_PRODUCT_FROM_DATABASE=USB to ATAPI bridge
-
-usb:v0DDAp2008*
- ID_PRODUCT_FROM_DATABASE=All-In-One Card Reader
-
-usb:v0DDAp2013*
- ID_PRODUCT_FROM_DATABASE=SD/MS Combo Card Reader
-
-usb:v0DDAp2014*
- ID_PRODUCT_FROM_DATABASE=SD/MS Single Card Reader
-
-usb:v0DDAp2023*
- ID_PRODUCT_FROM_DATABASE=card reader SD/MS DEMO board with ICSI brand name (MaskROM version)
-
-usb:v0DDAp2024*
- ID_PRODUCT_FROM_DATABASE=card reader SD/MS DEMO board with Generic brand name (MaskROM version)
-
-usb:v0DDAp2026*
- ID_PRODUCT_FROM_DATABASE=USB2.0 Card Reader
-
-usb:v0DDAp2027*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Card Reader
-
-usb:v0DDAp2315*
- ID_PRODUCT_FROM_DATABASE=UFD MP3 player (model 2)
-
-usb:v0DDAp2318*
- ID_PRODUCT_FROM_DATABASE=UFD MP3 player (model 1)
-
-usb:v0DDAp2321*
- ID_PRODUCT_FROM_DATABASE=UFD MP3 player
-
-usb:v0DDB*
- ID_VENDOR_FROM_DATABASE=Tamarack, Inc.
-
-usb:v0DDD*
- ID_VENDOR_FROM_DATABASE=Datelink Technology Co., Ltd
-
-usb:v0DDE*
- ID_VENDOR_FROM_DATABASE=Ubicom, Inc.
-
-usb:v0DE0*
- ID_VENDOR_FROM_DATABASE=BD Consumer Healthcare
-
-usb:v0DE7*
- ID_VENDOR_FROM_DATABASE=USBmicro
-
-usb:v0DE7p0191*
- ID_PRODUCT_FROM_DATABASE=U401 Interface card
-
-usb:v0DE7p01A5*
- ID_PRODUCT_FROM_DATABASE=U421 interface card
-
-usb:v0DE7p01C3*
- ID_PRODUCT_FROM_DATABASE=U451 relay interface card
-
-usb:v0DEA*
- ID_VENDOR_FROM_DATABASE=UTECH Electronic (D.G.) Co., Ltd.
-
-usb:v0DED*
- ID_VENDOR_FROM_DATABASE=Novasonics
-
-usb:v0DEE*
- ID_VENDOR_FROM_DATABASE=Lifetime Memory Products
-
-usb:v0DEEp4010*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter
-
-usb:v0DEF*
- ID_VENDOR_FROM_DATABASE=Full Rise Electronic Co., Ltd
-
-usb:v0DF4*
- ID_VENDOR_FROM_DATABASE=NET&SYS
-
-usb:v0DF4p0201*
- ID_PRODUCT_FROM_DATABASE=MNG-2005
-
-usb:v0DF6*
- ID_VENDOR_FROM_DATABASE=Sitecom Europe B.V.
-
-usb:v0DF6p0001*
- ID_PRODUCT_FROM_DATABASE=C-Media VOIP Device
-
-usb:v0DF6p0004*
- ID_PRODUCT_FROM_DATABASE=Bluetooth 2.0 Adapter 100m
-
-usb:v0DF6p0007*
- ID_PRODUCT_FROM_DATABASE=Bluetooth 2.0 Adapter 10m
-
-usb:v0DF6p000B*
- ID_PRODUCT_FROM_DATABASE=Bluetooth 2.0 Adapter DFU
-
-usb:v0DF6p000D*
- ID_PRODUCT_FROM_DATABASE=WL-168 Wireless Network Adapter 54g
-
-usb:v0DF6p0017*
- ID_PRODUCT_FROM_DATABASE=WL-182 Wireless-N Network USB Card
-
-usb:v0DF6p0019*
- ID_PRODUCT_FROM_DATABASE=Bluetooth 2.0 adapter 10m CN-512v2 001
-
-usb:v0DF6p001A*
- ID_PRODUCT_FROM_DATABASE=Bluetooth 2.0 adapter 100m CN-521v2 001
-
-usb:v0DF6p002B*
- ID_PRODUCT_FROM_DATABASE=WL-188 Wireless Network 300N USB Adapter
-
-usb:v0DF6p002C*
- ID_PRODUCT_FROM_DATABASE=WL-301 Wireless Network 300N USB Adapter
-
-usb:v0DF6p002D*
- ID_PRODUCT_FROM_DATABASE=WL-302 Wireless Network 300N USB dongle
-
-usb:v0DF6p0036*
- ID_PRODUCT_FROM_DATABASE=WL-603 Wireless Adapter
-
-usb:v0DF6p0039*
- ID_PRODUCT_FROM_DATABASE=WL-315 Wireless-N USB Adapter
-
-usb:v0DF6p003B*
- ID_PRODUCT_FROM_DATABASE=WL-321 Wireless USB Gaming Adapter 300N
-
-usb:v0DF6p003C*
- ID_PRODUCT_FROM_DATABASE=WL-323 Wireless-N USB Adapter
-
-usb:v0DF6p003D*
- ID_PRODUCT_FROM_DATABASE=WL-324 Wireless USB Adapter 300N
-
-usb:v0DF6p003E*
- ID_PRODUCT_FROM_DATABASE=WL-343 Wireless USB Adapter 150N X1
-
-usb:v0DF6p003F*
- ID_PRODUCT_FROM_DATABASE=WL-608 Wireless USB Adapter 54g
-
-usb:v0DF6p0040*
- ID_PRODUCT_FROM_DATABASE=WL-344 Wireless Adapter 300N X2 [Ralink RT3071]
-
-usb:v0DF6p0041*
- ID_PRODUCT_FROM_DATABASE=WL-329 Wireless Dualband USB adapter 300N
-
-usb:v0DF6p0042*
- ID_PRODUCT_FROM_DATABASE=WL-345 Wireless USB adapter 300N X3
-
-usb:v0DF6p0045*
- ID_PRODUCT_FROM_DATABASE=WL-353 Wireless USB Adapter 150N Nano
-
-usb:v0DF6p0047*
- ID_PRODUCT_FROM_DATABASE=WL-352v1 Wireless USB Adapter 300N 002
-
-usb:v0DF6p0048*
- ID_PRODUCT_FROM_DATABASE=WL-349v1 Wireless Adapter 150N 002 [Ralink RT3070]
-
-usb:v0DF6p0049*
- ID_PRODUCT_FROM_DATABASE=WL-356 Wireless Adapter 300N
-
-usb:v0DF6p004A*
- ID_PRODUCT_FROM_DATABASE=WL-358v1 Wireless Micro USB Adapter 300N X3 002
-
-usb:v0DF6p004B*
- ID_PRODUCT_FROM_DATABASE=WL-349v3 Wireless Micro Adapter 150N X1 [Realtek RTL8192SU]
-
-usb:v0DF6p004C*
- ID_PRODUCT_FROM_DATABASE=WL-352 802.11n Adapter [Realtek RTL8191SU]
-
-usb:v0DF6p0050*
- ID_PRODUCT_FROM_DATABASE=WL-349v4 Wireless Micro Adapter 150N X1 [Ralink RT3370]
-
-usb:v0DF6p0056*
- ID_PRODUCT_FROM_DATABASE=LN-031 10/100/1000 Ethernet Adapter
-
-usb:v0DF6p005D*
- ID_PRODUCT_FROM_DATABASE=WLA-2000 v1.001 WLAN [RTL8191SU]
-
-usb:v0DF6p0060*
- ID_PRODUCT_FROM_DATABASE=WLA-4000 802.11bgn [Ralink RT3072]
-
-usb:v0DF6p0062*
- ID_PRODUCT_FROM_DATABASE=WLA-5000 802.11abgn [Ralink RT3572]
-
-usb:v0DF6p061C*
- ID_PRODUCT_FROM_DATABASE=LN-028 Network USB 2.0 Adapter
-
-usb:v0DF6p21F4*
- ID_PRODUCT_FROM_DATABASE=44 St Bluetooth Device
-
-usb:v0DF6p2200*
- ID_PRODUCT_FROM_DATABASE=Sitecom bluetooth2.0 class 2 dongle CN-512
-
-usb:v0DF6p2208*
- ID_PRODUCT_FROM_DATABASE=Sitecom bluetooth2.0 class 2 dongle CN-520
-
-usb:v0DF6p2209*
- ID_PRODUCT_FROM_DATABASE=Sitecom bluetooth2.0 class 1 dongle CN-521
-
-usb:v0DF6p9071*
- ID_PRODUCT_FROM_DATABASE=WL-113 rev 1 Wireless Network USB Adapter
-
-usb:v0DF6p9075*
- ID_PRODUCT_FROM_DATABASE=WL-117 Hi-Speed USB Adapter
-
-usb:v0DF6p90AC*
- ID_PRODUCT_FROM_DATABASE=WL-172 Wireless Network USB Adapter 54g Turbo
-
-usb:v0DF6p9712*
- ID_PRODUCT_FROM_DATABASE=WL-113 rev 2 Wireless Network USB Adapter
-
-usb:v0DF7*
- ID_VENDOR_FROM_DATABASE=Mobile Action Technology, Inc.
-
-usb:v0DF7p0620*
- ID_PRODUCT_FROM_DATABASE=MA-620 Infrared Adapter
-
-usb:v0DF7p0700*
- ID_PRODUCT_FROM_DATABASE=MA-700 Bluetooth Adapter
-
-usb:v0DF7p0720*
- ID_PRODUCT_FROM_DATABASE=MA-720 Bluetooth Adapter
-
-usb:v0DF7p0722*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle
-
-usb:v0DF7p0730*
- ID_PRODUCT_FROM_DATABASE=MA-730/MA-730G Bluetooth Adapter
-
-usb:v0DF7p0800*
- ID_PRODUCT_FROM_DATABASE=Data Cable
-
-usb:v0DF7p0820*
- ID_PRODUCT_FROM_DATABASE=Data Cable
-
-usb:v0DF7p0900*
- ID_PRODUCT_FROM_DATABASE=MA i-gotU Travel Logger GPS
-
-usb:v0DF7p1800*
- ID_PRODUCT_FROM_DATABASE=Generic Card Reader
-
-usb:v0DF7p1802*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v0DFA*
- ID_VENDOR_FROM_DATABASE=Toyo Communication Equipment Co., Ltd
-
-usb:v0DFC*
- ID_VENDOR_FROM_DATABASE=GeneralTouch Technology Co., Ltd
-
-usb:v0DFCp0001*
- ID_PRODUCT_FROM_DATABASE=Touchscreen
-
-usb:v0E03*
- ID_VENDOR_FROM_DATABASE=Nippon Systemware Co., Ltd
-
-usb:v0E08*
- ID_VENDOR_FROM_DATABASE=Winbest Technology Co., Ltd
-
-usb:v0E0B*
- ID_VENDOR_FROM_DATABASE=Amigo Technology Inc.
-
-usb:v0E0Bp9031*
- ID_PRODUCT_FROM_DATABASE=802.11n Wireless USB Card
-
-usb:v0E0Bp9041*
- ID_PRODUCT_FROM_DATABASE=802.11n Wireless USB Card
-
-usb:v0E0C*
- ID_VENDOR_FROM_DATABASE=Gesytec
-
-usb:v0E0Cp0101*
- ID_PRODUCT_FROM_DATABASE=LonUSB LonTalk Network Adapter
-
-usb:v0E0F*
- ID_VENDOR_FROM_DATABASE=VMware, Inc.
-
-usb:v0E0Fp0001*
- ID_PRODUCT_FROM_DATABASE=Device
-
-usb:v0E0Fp0002*
- ID_PRODUCT_FROM_DATABASE=Virtual USB Hub
-
-usb:v0E0Fp0003*
- ID_PRODUCT_FROM_DATABASE=Virtual Mouse
-
-usb:v0E0Fp0004*
- ID_PRODUCT_FROM_DATABASE=Virtual CCID
-
-usb:v0E0Fp0005*
- ID_PRODUCT_FROM_DATABASE=Virtual Mass Storage
-
-usb:v0E0Fp0006*
- ID_PRODUCT_FROM_DATABASE=Virtual Keyboard
-
-usb:v0E0FpF80A*
- ID_PRODUCT_FROM_DATABASE=Smoker FX2
-
-usb:v0E16*
- ID_VENDOR_FROM_DATABASE=JMTek, LLC
-
-usb:v0E17*
- ID_VENDOR_FROM_DATABASE=Walex Electronic, Ltd
-
-usb:v0E1A*
- ID_VENDOR_FROM_DATABASE=Unisys
-
-usb:v0E1B*
- ID_VENDOR_FROM_DATABASE=Crewave
-
-usb:v0E20*
- ID_VENDOR_FROM_DATABASE=Pegasus Technologies Ltd.
-
-usb:v0E20p0101*
- ID_PRODUCT_FROM_DATABASE=NoteTaker
-
-usb:v0E21*
- ID_VENDOR_FROM_DATABASE=Cowon Systems, Inc.
-
-usb:v0E21p0300*
- ID_PRODUCT_FROM_DATABASE=iAudio CW200
-
-usb:v0E21p0400*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0E21p0500*
- ID_PRODUCT_FROM_DATABASE=iAudio M3
-
-usb:v0E21p0510*
- ID_PRODUCT_FROM_DATABASE=iAudio X5, subpack USB port
-
-usb:v0E21p0513*
- ID_PRODUCT_FROM_DATABASE=iAudio X5, side USB port
-
-usb:v0E21p0520*
- ID_PRODUCT_FROM_DATABASE=iAudio M5, side USB port
-
-usb:v0E21p0601*
- ID_PRODUCT_FROM_DATABASE=iAudio G3
-
-usb:v0E21p0681*
- ID_PRODUCT_FROM_DATABASE=iAUDIO E2
-
-usb:v0E21p0700*
- ID_PRODUCT_FROM_DATABASE=iAudio U3
-
-usb:v0E21p0751*
- ID_PRODUCT_FROM_DATABASE=iAudio 7
-
-usb:v0E21p0760*
- ID_PRODUCT_FROM_DATABASE=iAUDIO U5 / iAUDIO G2
-
-usb:v0E21p0800*
- ID_PRODUCT_FROM_DATABASE=Cowon D2 (UMS mode)
-
-usb:v0E21p0801*
- ID_PRODUCT_FROM_DATABASE=Cowon D2 (MTP mode)
-
-usb:v0E21p0910*
- ID_PRODUCT_FROM_DATABASE=iAUDIO 9
-
-usb:v0E21p0920*
- ID_PRODUCT_FROM_DATABASE=J3
-
-usb:v0E22*
- ID_VENDOR_FROM_DATABASE=Symbian Ltd.
-
-usb:v0E23*
- ID_VENDOR_FROM_DATABASE=Liou Yuane Enterprise Co., Ltd
-
-usb:v0E25*
- ID_VENDOR_FROM_DATABASE=VinChip Systems, Inc.
-
-usb:v0E26*
- ID_VENDOR_FROM_DATABASE=J-Phone East Co., Ltd
-
-usb:v0E30*
- ID_VENDOR_FROM_DATABASE=HeartMath LLC
-
-usb:v0E34*
- ID_VENDOR_FROM_DATABASE=Micro Computer Control Corp.
-
-usb:v0E35*
- ID_VENDOR_FROM_DATABASE=3Pea Technologies, Inc.
-
-usb:v0E36*
- ID_VENDOR_FROM_DATABASE=TiePie engineering
-
-usb:v0E36p0008*
- ID_PRODUCT_FROM_DATABASE=Handyscope HS3
-
-usb:v0E36p0009*
- ID_PRODUCT_FROM_DATABASE=Handyscope HS3 (br)
-
-usb:v0E36p000A*
- ID_PRODUCT_FROM_DATABASE=Handyscope HS4
-
-usb:v0E36p000B*
- ID_PRODUCT_FROM_DATABASE=Handyscope HS4 (br)
-
-usb:v0E36p000E*
- ID_PRODUCT_FROM_DATABASE=Handyscope HS4-DIFF
-
-usb:v0E36p000F*
- ID_PRODUCT_FROM_DATABASE=Handyscope HS4-DIFF (br)
-
-usb:v0E36p0010*
- ID_PRODUCT_FROM_DATABASE=Handyscope HS2
-
-usb:v0E36p0011*
- ID_PRODUCT_FROM_DATABASE=TiePieSCOPE HS805 (br)
-
-usb:v0E36p0012*
- ID_PRODUCT_FROM_DATABASE=TiePieSCOPE HS805
-
-usb:v0E36p0013*
- ID_PRODUCT_FROM_DATABASE=Handyprobe HP3
-
-usb:v0E36p0014*
- ID_PRODUCT_FROM_DATABASE=Handyprobe HP3
-
-usb:v0E36p0018*
- ID_PRODUCT_FROM_DATABASE=Handyprobe HP2
-
-usb:v0E36p001B*
- ID_PRODUCT_FROM_DATABASE=Handyscope HS5
-
-usb:v0E36p0042*
- ID_PRODUCT_FROM_DATABASE=TiePieSCOPE HS801
-
-usb:v0E36p00FD*
- ID_PRODUCT_FROM_DATABASE=USB To Parallel adapter
-
-usb:v0E36p00FE*
- ID_PRODUCT_FROM_DATABASE=USB To Parallel adapter
-
-usb:v0E38*
- ID_VENDOR_FROM_DATABASE=Stratitec, Inc.
-
-usb:v0E39*
- ID_VENDOR_FROM_DATABASE=Smart Modular Technologies, Inc.
-
-usb:v0E39p0137*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v0E3A*
- ID_VENDOR_FROM_DATABASE=Neostar Technology Co., Ltd
-
-usb:v0E3Ap1100*
- ID_PRODUCT_FROM_DATABASE=CW-1100 Wireless Network Adapter
-
-usb:v0E3B*
- ID_VENDOR_FROM_DATABASE=Mansella, Ltd
-
-usb:v0E41*
- ID_VENDOR_FROM_DATABASE=Line6, Inc.
-
-usb:v0E41p4147*
- ID_PRODUCT_FROM_DATABASE=TonePort GX
-
-usb:v0E41p4156*
- ID_PRODUCT_FROM_DATABASE=POD HD Desktop
-
-usb:v0E41p4250*
- ID_PRODUCT_FROM_DATABASE=BassPODxt
-
-usb:v0E41p4252*
- ID_PRODUCT_FROM_DATABASE=BassPODxt Pro
-
-usb:v0E41p4642*
- ID_PRODUCT_FROM_DATABASE=BassPODxt Live
-
-usb:v0E41p4650*
- ID_PRODUCT_FROM_DATABASE=PODxt Live
-
-usb:v0E41p4750*
- ID_PRODUCT_FROM_DATABASE=GuitarPort
-
-usb:v0E41p5044*
- ID_PRODUCT_FROM_DATABASE=PODxt
-
-usb:v0E41p5050*
- ID_PRODUCT_FROM_DATABASE=PODxt Pro
-
-usb:v0E41p534D*
- ID_PRODUCT_FROM_DATABASE=SeaMonkey
-
-usb:v0E44*
- ID_VENDOR_FROM_DATABASE=Sun-Riseful Technology Co., Ltd.
-
-usb:v0E48*
- ID_VENDOR_FROM_DATABASE=Julia Corp., Ltd
-
-usb:v0E48p0100*
- ID_PRODUCT_FROM_DATABASE=CardPro SmartCard Reader
-
-usb:v0E4A*
- ID_VENDOR_FROM_DATABASE=Shenzhen Bao Hing Electric Wire & Cable Mfr. Co.
-
-usb:v0E4C*
- ID_VENDOR_FROM_DATABASE=Radica Games, Ltd
-
-usb:v0E4Cp1097*
- ID_PRODUCT_FROM_DATABASE=Gamester Controller
-
-usb:v0E4Cp2390*
- ID_PRODUCT_FROM_DATABASE=Games Jtech Controller
-
-usb:v0E4Cp7288*
- ID_PRODUCT_FROM_DATABASE=funkey reader
-
-usb:v0E50*
- ID_VENDOR_FROM_DATABASE=TechnoData Interware
-
-usb:v0E50p0002*
- ID_PRODUCT_FROM_DATABASE=Matrixlock Dongle (HID)
-
-usb:v0E55*
- ID_VENDOR_FROM_DATABASE=Speed Dragon Multimedia, Ltd
-
-usb:v0E55p110A*
- ID_PRODUCT_FROM_DATABASE=Tanic S110-SG1 + ISSC IS1002N [Slow Infra-Red (SIR) & Bluetooth 1.2 (Class 2) Adapter]
-
-usb:v0E55p110B*
- ID_PRODUCT_FROM_DATABASE=MS3303H USB-to-Serial Bridge
-
-usb:v0E56*
- ID_VENDOR_FROM_DATABASE=Kingston Technology Company, Inc.
-
-usb:v0E56p6021*
- ID_PRODUCT_FROM_DATABASE=K-PEX 100
-
-usb:v0E5A*
- ID_VENDOR_FROM_DATABASE=Active Co., Ltd
-
-usb:v0E5B*
- ID_VENDOR_FROM_DATABASE=Union Power Information Industrial Co., Ltd
-
-usb:v0E5C*
- ID_VENDOR_FROM_DATABASE=Bitland Information Technology Co., Ltd
-
-usb:v0E5Cp6118*
- ID_PRODUCT_FROM_DATABASE=LCD Device
-
-usb:v0E5Cp6119*
- ID_PRODUCT_FROM_DATABASE=remote receive and control device
-
-usb:v0E5Cp6441*
- ID_PRODUCT_FROM_DATABASE=C-Media Sound Device
-
-usb:v0E5D*
- ID_VENDOR_FROM_DATABASE=Neltron Industrial Co., Ltd
-
-usb:v0E5E*
- ID_VENDOR_FROM_DATABASE=Conwise Technology Co., Ltd.
-
-usb:v0E5Ep6622*
- ID_PRODUCT_FROM_DATABASE=CW6622
-
-usb:v0E66*
- ID_VENDOR_FROM_DATABASE=Hawking Technologies
-
-usb:v0E66p0001*
- ID_PRODUCT_FROM_DATABASE=HWUN1 Hi-Gain Wireless-300N Adapter w/ Upgradable Antenna [Ralink RT2870]
-
-usb:v0E66p0003*
- ID_PRODUCT_FROM_DATABASE=HWDN1 Hi-Gain Wireless-300N Dish Adapter [Ralink RT2870]
-
-usb:v0E66p0009*
- ID_PRODUCT_FROM_DATABASE=HWUN2 Hi-Gain Wireless-150N Adapter w/ Upgradable Antenna [Ralink RT2770]
-
-usb:v0E66p000B*
- ID_PRODUCT_FROM_DATABASE=HWDN2 Hi-Gain Wireless-150N Dish Adapter [Ralink RT2770]
-
-usb:v0E66p0013*
- ID_PRODUCT_FROM_DATABASE=HWUN3 Hi-Gain Wireless-N Adapter [Ralink RT3070]
-
-usb:v0E66p0015*
- ID_PRODUCT_FROM_DATABASE=HWDN2 Rev. E Hi-Gain Wireless-150N Dish Adapter [Realtek RTL8191SU]
-
-usb:v0E66p0017*
- ID_PRODUCT_FROM_DATABASE=HAWNU1 Hi-Gain Wireless-150N Network Adapter with Range Amplifier [Ralink RT3070]
-
-usb:v0E66p0018*
- ID_PRODUCT_FROM_DATABASE=Wireless-N Network Adapter [Ralink RT2870]
-
-usb:v0E66p400B*
- ID_PRODUCT_FROM_DATABASE=UF100 10/100 Network Adapter
-
-usb:v0E66p400C*
- ID_PRODUCT_FROM_DATABASE=UF100 Ethernet [pegasus2]
-
-usb:v0E67*
- ID_VENDOR_FROM_DATABASE=Fossil, Inc.
-
-usb:v0E67p0002*
- ID_PRODUCT_FROM_DATABASE=Wrist PDA
-
-usb:v0E6A*
- ID_VENDOR_FROM_DATABASE=Megawin Technology Co., Ltd
-
-usb:v0E6Ap0101*
- ID_PRODUCT_FROM_DATABASE=MA100 [USB-UART Bridge IC]
-
-usb:v0E6Ap6001*
- ID_PRODUCT_FROM_DATABASE=GEMBIRD Flexible keyboard KB-109F-B-DE
-
-usb:v0E6F*
- ID_VENDOR_FROM_DATABASE=Logic3
-
-usb:v0E6Fp0003*
- ID_PRODUCT_FROM_DATABASE=Freebird wireless Controller
-
-usb:v0E6Fp0005*
- ID_PRODUCT_FROM_DATABASE=Eclipse wireless Controller
-
-usb:v0E6Fp0006*
- ID_PRODUCT_FROM_DATABASE=Edge wireless Controller
-
-usb:v0E70*
- ID_VENDOR_FROM_DATABASE=Tokyo Electronic Industry Co., Ltd
-
-usb:v0E72*
- ID_VENDOR_FROM_DATABASE=Hsi-Chin Electronics Co., Ltd
-
-usb:v0E75*
- ID_VENDOR_FROM_DATABASE=TVS Electronics, Ltd
-
-usb:v0E79*
- ID_VENDOR_FROM_DATABASE=Archos, Inc.
-
-usb:v0E79p1106*
- ID_PRODUCT_FROM_DATABASE=Pocket Media Assistant - PMA400
-
-usb:v0E79p1204*
- ID_PRODUCT_FROM_DATABASE=Gmini XS 200
-
-usb:v0E79p1306*
- ID_PRODUCT_FROM_DATABASE=504 Portable Multimedia Player
-
-usb:v0E79p1330*
- ID_PRODUCT_FROM_DATABASE=5 Tablet
-
-usb:v0E79p1332*
- ID_PRODUCT_FROM_DATABASE=5 IMT
-
-usb:v0E79p1416*
- ID_PRODUCT_FROM_DATABASE=32 IT
-
-usb:v0E79p1417*
- ID_PRODUCT_FROM_DATABASE=A43 IT
-
-usb:v0E7B*
- ID_VENDOR_FROM_DATABASE=On-Tech Industry Co., Ltd
-
-usb:v0E7E*
- ID_VENDOR_FROM_DATABASE=Gmate, Inc.
-
-usb:v0E7Ep0001*
- ID_PRODUCT_FROM_DATABASE=Yopy 3000 PDA
-
-usb:v0E7Ep1001*
- ID_PRODUCT_FROM_DATABASE=YP3X00 PDA
-
-usb:v0E82*
- ID_VENDOR_FROM_DATABASE=Ching Tai Electric Wire & Cable Co., Ltd
-
-usb:v0E83*
- ID_VENDOR_FROM_DATABASE=Shin An Wire & Cable Co.
-
-usb:v0E8C*
- ID_VENDOR_FROM_DATABASE=Well Force Electronic Co., Ltd
-
-usb:v0E8D*
- ID_VENDOR_FROM_DATABASE=MediaTek Inc.
-
-usb:v0E8Dp0003*
- ID_PRODUCT_FROM_DATABASE=MT6227 phone
-
-usb:v0E8Dp0004*
- ID_PRODUCT_FROM_DATABASE=MT6227 phone
-
-usb:v0E8Dp1806*
- ID_PRODUCT_FROM_DATABASE=Samsung SE-208AB Slim Portable DVD Writer
-
-usb:v0E8Dp1836*
- ID_PRODUCT_FROM_DATABASE=Samsung SE-S084 Super WriteMaster Slim External DVD writer
-
-usb:v0E8F*
- ID_VENDOR_FROM_DATABASE=GreenAsia Inc.
-
-usb:v0E8Fp0003*
- ID_PRODUCT_FROM_DATABASE=MaxFire Blaze2
-
-usb:v0E8Fp0012*
- ID_PRODUCT_FROM_DATABASE=USB Wireless 2.4GHz Gamepad
-
-usb:v0E8Fp0016*
- ID_PRODUCT_FROM_DATABASE=4 port USB 1.1 hub UH-174
-
-usb:v0E8Fp0020*
- ID_PRODUCT_FROM_DATABASE=USB to PS/2 Adapter
-
-usb:v0E8Fp0021*
- ID_PRODUCT_FROM_DATABASE=Multimedia Keyboard Controller
-
-usb:v0E8Fp0201*
- ID_PRODUCT_FROM_DATABASE=SmartJoy Frag Xpad/PS2 adaptor
-
-usb:v0E90*
- ID_VENDOR_FROM_DATABASE=WiebeTech, LLC
-
-usb:v0E90p0100*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter V1
-
-usb:v0E91*
- ID_VENDOR_FROM_DATABASE=VTech Engineering Canada, Ltd
-
-usb:v0E92*
- ID_VENDOR_FROM_DATABASE=C's Glory Enterprise Co., Ltd
-
-usb:v0E93*
- ID_VENDOR_FROM_DATABASE=eM Technics Co., Ltd
-
-usb:v0E95*
- ID_VENDOR_FROM_DATABASE=Future Technology Co., Ltd
-
-usb:v0E96*
- ID_VENDOR_FROM_DATABASE=Aplux Communications, Ltd
-
-usb:v0E96pC001*
- ID_PRODUCT_FROM_DATABASE=TRUST 380 USB2 SPACEC@M
-
-usb:v0E97*
- ID_VENDOR_FROM_DATABASE=Fingerworks, Inc.
-
-usb:v0E97p0908*
- ID_PRODUCT_FROM_DATABASE=Composite HID (Keyboard and Mouse)
-
-usb:v0E98*
- ID_VENDOR_FROM_DATABASE=Advanced Analogic Technologies, Inc.
-
-usb:v0E99*
- ID_VENDOR_FROM_DATABASE=Parallel Dice Co., Ltd
-
-usb:v0E9A*
- ID_VENDOR_FROM_DATABASE=TA HSING Industries, Ltd
-
-usb:v0E9B*
- ID_VENDOR_FROM_DATABASE=ADTEC Corp.
-
-usb:v0E9C*
- ID_VENDOR_FROM_DATABASE=Streamzap, Inc.
-
-usb:v0E9Cp0000*
- ID_PRODUCT_FROM_DATABASE=Streamzap Remote Control
-
-usb:v0E9F*
- ID_VENDOR_FROM_DATABASE=Tamura Corp.
-
-usb:v0EA0*
- ID_VENDOR_FROM_DATABASE=Ours Technology, Inc.
-
-usb:v0EA0p2126*
- ID_PRODUCT_FROM_DATABASE=7-in-1 Card Reader
-
-usb:v0EA0p2153*
- ID_PRODUCT_FROM_DATABASE=SD Card Reader Key
-
-usb:v0EA0p2168*
- ID_PRODUCT_FROM_DATABASE=Transcend JetFlash 2.0 / Astone USB Drive
-
-usb:v0EA0p6803*
- ID_PRODUCT_FROM_DATABASE=OTI-6803 Flash Disk
-
-usb:v0EA0p6808*
- ID_PRODUCT_FROM_DATABASE=OTI-6808 Flash Disk
-
-usb:v0EA0p6828*
- ID_PRODUCT_FROM_DATABASE=OTI-6828 Flash Disk
-
-usb:v0EA0p6858*
- ID_PRODUCT_FROM_DATABASE=OTi-6858 serial adapter
-
-usb:v0EA6*
- ID_VENDOR_FROM_DATABASE=Nihon Computer Co., Ltd
-
-usb:v0EA7*
- ID_VENDOR_FROM_DATABASE=MSL Enterprises Corp.
-
-usb:v0EA8*
- ID_VENDOR_FROM_DATABASE=CenDyne, Inc.
-
-usb:v0EAD*
- ID_VENDOR_FROM_DATABASE=Humax Co., Ltd
-
-usb:v0EB0*
- ID_VENDOR_FROM_DATABASE=NovaTech
-
-usb:v0EB0p9020*
- ID_PRODUCT_FROM_DATABASE=NovaTech NV-902W
-
-usb:v0EB0p9021*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v0EB1*
- ID_VENDOR_FROM_DATABASE=WIS Technologies, Inc.
-
-usb:v0EB1p6666*
- ID_PRODUCT_FROM_DATABASE=WinFast WalkieTV TV Loader
-
-usb:v0EB1p6668*
- ID_PRODUCT_FROM_DATABASE=WinFast WalkieTV TV Loader
-
-usb:v0EB1p7007*
- ID_PRODUCT_FROM_DATABASE=WinFast WalkieTV WDM Capture
-
-usb:v0EB2*
- ID_VENDOR_FROM_DATABASE=Y-S Electronic Co., Ltd
-
-usb:v0EB3*
- ID_VENDOR_FROM_DATABASE=Saint Technology Corp.
-
-usb:v0EB7*
- ID_VENDOR_FROM_DATABASE=Endor AG
-
-usb:v0EBE*
- ID_VENDOR_FROM_DATABASE=VWeb Corp.
-
-usb:v0EBF*
- ID_VENDOR_FROM_DATABASE=Omega Technology of Taiwan, Inc.
-
-usb:v0EC0*
- ID_VENDOR_FROM_DATABASE=LHI Technology (China) Co., Ltd
-
-usb:v0EC1*
- ID_VENDOR_FROM_DATABASE=Abit Computer Corp.
-
-usb:v0EC2*
- ID_VENDOR_FROM_DATABASE=Sweetray Industrial, Ltd
-
-usb:v0EC3*
- ID_VENDOR_FROM_DATABASE=Axell Co., Ltd
-
-usb:v0EC4*
- ID_VENDOR_FROM_DATABASE=Ballracing Developments, Ltd
-
-usb:v0EC5*
- ID_VENDOR_FROM_DATABASE=GT Information System Co., Ltd
-
-usb:v0EC6*
- ID_VENDOR_FROM_DATABASE=InnoVISION Multimedia, Ltd
-
-usb:v0EC7*
- ID_VENDOR_FROM_DATABASE=Theta Link Corp.
-
-usb:v0EC7p1008*
- ID_PRODUCT_FROM_DATABASE=So., Show 301 Digital Camera
-
-usb:v0ECD*
- ID_VENDOR_FROM_DATABASE=Lite-On IT Corp.
-
-usb:v0ECDp1400*
- ID_PRODUCT_FROM_DATABASE=CD\RW 40X
-
-usb:v0ECDpA100*
- ID_PRODUCT_FROM_DATABASE=LDW-411SX DVD/CD Rewritable Drive
-
-usb:v0ECE*
- ID_VENDOR_FROM_DATABASE=TaiSol Electronics Co., Ltd
-
-usb:v0ECF*
- ID_VENDOR_FROM_DATABASE=Phogenix Imaging, LLC
-
-usb:v0ED1*
- ID_VENDOR_FROM_DATABASE=WinMaxGroup
-
-usb:v0ED1p6660*
- ID_PRODUCT_FROM_DATABASE=Flash Disk 64M-C
-
-usb:v0ED1p6680*
- ID_PRODUCT_FROM_DATABASE=Flash Disk 64M-B
-
-usb:v0ED1p7634*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v0ED2*
- ID_VENDOR_FROM_DATABASE=Kyoto Micro Computer Co., Ltd
-
-usb:v0ED3*
- ID_VENDOR_FROM_DATABASE=Wing-Tech Enterprise Co., Ltd
-
-usb:v0ED5*
- ID_VENDOR_FROM_DATABASE=Fiberbyte
-
-usb:v0ED5pE000*
- ID_PRODUCT_FROM_DATABASE=USB-inSync Device
-
-usb:v0ED5pF000*
- ID_PRODUCT_FROM_DATABASE=Fiberbyte USB-inSync Device
-
-usb:v0ED5pF201*
- ID_PRODUCT_FROM_DATABASE=Fiberbyte USB-inSync DAQ-2500X
-
-usb:v0EDA*
- ID_VENDOR_FROM_DATABASE=Noriake Itron Corp.
-
-usb:v0EDF*
- ID_VENDOR_FROM_DATABASE=e-MDT Co., Ltd
-
-usb:v0EDFp2060*
- ID_PRODUCT_FROM_DATABASE=FID irock! 100 Series
-
-usb:v0EE0*
- ID_VENDOR_FROM_DATABASE=Shima Seiki Mfg., Ltd
-
-usb:v0EE1*
- ID_VENDOR_FROM_DATABASE=Sarotech Co., Ltd
-
-usb:v0EE2*
- ID_VENDOR_FROM_DATABASE=AMI Semiconductor, Inc.
-
-usb:v0EE3*
- ID_VENDOR_FROM_DATABASE=ComTrue Technology Corp.
-
-usb:v0EE3p1000*
- ID_PRODUCT_FROM_DATABASE=Image Tank 1.5
-
-usb:v0EE4*
- ID_VENDOR_FROM_DATABASE=Sunrich Technology, Ltd
-
-usb:v0EEE*
- ID_VENDOR_FROM_DATABASE=Digital Stream Technology, Inc.
-
-usb:v0EEEp8810*
- ID_PRODUCT_FROM_DATABASE=Mass Storage Drive
-
-usb:v0EEF*
- ID_VENDOR_FROM_DATABASE=D-WAV Scientific Co., Ltd
-
-usb:v0EEFp0001*
- ID_PRODUCT_FROM_DATABASE=eGalax TouchScreen
-
-usb:v0EEFp0002*
- ID_PRODUCT_FROM_DATABASE=Touchscreen Controller(Professional)
-
-usb:v0EF0*
- ID_VENDOR_FROM_DATABASE=Hitachi Cable, Ltd
-
-usb:v0EF1*
- ID_VENDOR_FROM_DATABASE=Aichi Micro Intelligent Corp.
-
-usb:v0EF2*
- ID_VENDOR_FROM_DATABASE=I/O Magic Corp.
-
-usb:v0EF3*
- ID_VENDOR_FROM_DATABASE=Lynn Products, Inc.
-
-usb:v0EF4*
- ID_VENDOR_FROM_DATABASE=DSI Datotech
-
-usb:v0EF5*
- ID_VENDOR_FROM_DATABASE=PointChips
-
-usb:v0EF5p2202*
- ID_PRODUCT_FROM_DATABASE=Flash Disk
-
-usb:v0EF5p2366*
- ID_PRODUCT_FROM_DATABASE=Flash Disk
-
-usb:v0EF6*
- ID_VENDOR_FROM_DATABASE=Yield Microelectronics Corp.
-
-usb:v0EF7*
- ID_VENDOR_FROM_DATABASE=SM Tech Co., Ltd (Tulip)
-
-usb:v0EFD*
- ID_VENDOR_FROM_DATABASE=Oasis Semiconductor
-
-usb:v0EFE*
- ID_VENDOR_FROM_DATABASE=Wem Technology, Inc.
-
-usb:v0F03*
- ID_VENDOR_FROM_DATABASE=Unitek UPS Systems
-
-usb:v0F03p0001*
- ID_PRODUCT_FROM_DATABASE=Alpha 1200Sx
-
-usb:v0F06*
- ID_VENDOR_FROM_DATABASE=Visual Frontier Enterprise Co., Ltd
-
-usb:v0F08*
- ID_VENDOR_FROM_DATABASE=CSL Wire & Plug (Shen Zhen) Co.
-
-usb:v0F0C*
- ID_VENDOR_FROM_DATABASE=CAS Corp.
-
-usb:v0F0D*
- ID_VENDOR_FROM_DATABASE=Hori Co., Ltd
-
-usb:v0F0Dp0011*
- ID_PRODUCT_FROM_DATABASE=Real Arcade Pro 3
-
-usb:v0F0E*
- ID_VENDOR_FROM_DATABASE=Energy Full Corp.
-
-usb:v0F11*
- ID_VENDOR_FROM_DATABASE=LD Didactic GmbH
-
-usb:v0F11p1000*
- ID_PRODUCT_FROM_DATABASE=CASSY-S
-
-usb:v0F11p1010*
- ID_PRODUCT_FROM_DATABASE=Pocket-CASSY
-
-usb:v0F11p1020*
- ID_PRODUCT_FROM_DATABASE=Mobile-CASSY
-
-usb:v0F11p1080*
- ID_PRODUCT_FROM_DATABASE=Joule and Wattmeter
-
-usb:v0F11p1081*
- ID_PRODUCT_FROM_DATABASE=Digital Multimeter P
-
-usb:v0F11p1090*
- ID_PRODUCT_FROM_DATABASE=UMI P
-
-usb:v0F11p1100*
- ID_PRODUCT_FROM_DATABASE=X-Ray Apparatus
-
-usb:v0F11p1101*
- ID_PRODUCT_FROM_DATABASE=X-Ray Apparatus
-
-usb:v0F11p1200*
- ID_PRODUCT_FROM_DATABASE=VideoCom
-
-usb:v0F11p2000*
- ID_PRODUCT_FROM_DATABASE=COM3LAB
-
-usb:v0F11p2010*
- ID_PRODUCT_FROM_DATABASE=Terminal Adapter
-
-usb:v0F11p2020*
- ID_PRODUCT_FROM_DATABASE=Network Analyser
-
-usb:v0F11p2030*
- ID_PRODUCT_FROM_DATABASE=Converter Control Unit
-
-usb:v0F11p2040*
- ID_PRODUCT_FROM_DATABASE=Machine Test System
-
-usb:v0F12*
- ID_VENDOR_FROM_DATABASE=Mars Engineering Corp.
-
-usb:v0F13*
- ID_VENDOR_FROM_DATABASE=Acetek Technology Co., Ltd
-
-usb:v0F18*
- ID_VENDOR_FROM_DATABASE=Finger Lakes Instrumentation
-
-usb:v0F18p0002*
- ID_PRODUCT_FROM_DATABASE=CCD
-
-usb:v0F18p0006*
- ID_PRODUCT_FROM_DATABASE=Focuser
-
-usb:v0F18p0007*
- ID_PRODUCT_FROM_DATABASE=Filter Wheel
-
-usb:v0F18p000A*
- ID_PRODUCT_FROM_DATABASE=ProLine CCD
-
-usb:v0F18p000B*
- ID_PRODUCT_FROM_DATABASE=Color Filter Wheel 4
-
-usb:v0F18p000C*
- ID_PRODUCT_FROM_DATABASE=PDF2
-
-usb:v0F18p000D*
- ID_PRODUCT_FROM_DATABASE=Guider
-
-usb:v0F19*
- ID_VENDOR_FROM_DATABASE=Oracom Co., Ltd
-
-usb:v0F1B*
- ID_VENDOR_FROM_DATABASE=Onset Computer Corp.
-
-usb:v0F1C*
- ID_VENDOR_FROM_DATABASE=Funai Electric Co., Ltd
-
-usb:v0F1D*
- ID_VENDOR_FROM_DATABASE=Iwill Corp.
-
-usb:v0F21*
- ID_VENDOR_FROM_DATABASE=IOI Technology Corp.
-
-usb:v0F22*
- ID_VENDOR_FROM_DATABASE=Senior Industries, Inc.
-
-usb:v0F23*
- ID_VENDOR_FROM_DATABASE=Leader Tech Manufacturer Co., Ltd
-
-usb:v0F24*
- ID_VENDOR_FROM_DATABASE=Flex-P Industries, Snd., Bhd.
-
-usb:v0F2D*
- ID_VENDOR_FROM_DATABASE=ViPower, Inc.
-
-usb:v0F2E*
- ID_VENDOR_FROM_DATABASE=Geniality Maple Technology Co., Ltd
-
-usb:v0F2F*
- ID_VENDOR_FROM_DATABASE=Priva Design Services
-
-usb:v0F30*
- ID_VENDOR_FROM_DATABASE=Jess Technology Co., Ltd
-
-usb:v0F30p001C*
- ID_PRODUCT_FROM_DATABASE=PS3 Guitar Controller Dongle
-
-usb:v0F30p0110*
- ID_PRODUCT_FROM_DATABASE=Dual Analog Rumble Pad
-
-usb:v0F30p0111*
- ID_PRODUCT_FROM_DATABASE=Colour Rumble Pad
-
-usb:v0F30p0208*
- ID_PRODUCT_FROM_DATABASE=Xbox & PC Gamepad
-
-usb:v0F31*
- ID_VENDOR_FROM_DATABASE=Chrysalis Development
-
-usb:v0F32*
- ID_VENDOR_FROM_DATABASE=YFC-BonEagle Electric Co., Ltd
-
-usb:v0F37*
- ID_VENDOR_FROM_DATABASE=Kokuyo Co., Ltd
-
-usb:v0F38*
- ID_VENDOR_FROM_DATABASE=Nien-Yi Industrial Corp.
-
-usb:v0F3D*
- ID_VENDOR_FROM_DATABASE=Airprime, Incorporated
-
-usb:v0F3Dp0112*
- ID_PRODUCT_FROM_DATABASE=CDMA 1xEVDO PC Card, PC 5220
-
-usb:v0F41*
- ID_VENDOR_FROM_DATABASE=RDC Semiconductor Co., Ltd
-
-usb:v0F42*
- ID_VENDOR_FROM_DATABASE=Nital Consulting Services, Inc.
-
-usb:v0F44*
- ID_VENDOR_FROM_DATABASE=Polhemus
-
-usb:v0F44pEF11*
- ID_PRODUCT_FROM_DATABASE=Patriot (firmware not loaded)
-
-usb:v0F44pEF12*
- ID_PRODUCT_FROM_DATABASE=Patriot
-
-usb:v0F44pFF11*
- ID_PRODUCT_FROM_DATABASE=Liberty (firmware not loaded)
-
-usb:v0F44pFF12*
- ID_PRODUCT_FROM_DATABASE=Liberty
-
-usb:v0F4B*
- ID_VENDOR_FROM_DATABASE=St. John Technology Co., Ltd
-
-usb:v0F4C*
- ID_VENDOR_FROM_DATABASE=WorldWide Cable Opto Corp.
-
-usb:v0F4D*
- ID_VENDOR_FROM_DATABASE=Microtune, Inc.
-
-usb:v0F4Dp1000*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle
-
-usb:v0F4E*
- ID_VENDOR_FROM_DATABASE=Freedom Scientific
-
-usb:v0F52*
- ID_VENDOR_FROM_DATABASE=Wing Key Electrical Co., Ltd
-
-usb:v0F53*
- ID_VENDOR_FROM_DATABASE=Dongguan White Horse Cable Factory, Ltd
-
-usb:v0F54*
- ID_VENDOR_FROM_DATABASE=Kawai Musical Instruments Mfg. Co., Ltd
-
-usb:v0F55*
- ID_VENDOR_FROM_DATABASE=AmbiCom, Inc.
-
-usb:v0F5C*
- ID_VENDOR_FROM_DATABASE=Prairiecomm, Inc.
-
-usb:v0F5D*
- ID_VENDOR_FROM_DATABASE=NewAge International, LLC
-
-usb:v0F5Dp9455*
- ID_PRODUCT_FROM_DATABASE=Compact Drive
-
-usb:v0F5F*
- ID_VENDOR_FROM_DATABASE=Key Technology Corp.
-
-usb:v0F60*
- ID_VENDOR_FROM_DATABASE=NTK, Ltd
-
-usb:v0F61*
- ID_VENDOR_FROM_DATABASE=Varian, Inc.
-
-usb:v0F62*
- ID_VENDOR_FROM_DATABASE=Acrox Technologies Co., Ltd
-
-usb:v0F62p1001*
- ID_PRODUCT_FROM_DATABASE=Targus Mini Trackball Optical Mouse
-
-usb:v0F63*
- ID_VENDOR_FROM_DATABASE=LeapFrog Enterprises
-
-usb:v0F63p0010*
- ID_PRODUCT_FROM_DATABASE=Leapster Explorer
-
-usb:v0F63p0500*
- ID_PRODUCT_FROM_DATABASE=Fly Fusion
-
-usb:v0F63p0600*
- ID_PRODUCT_FROM_DATABASE=Leap Port Turbo
-
-usb:v0F63p0700*
- ID_PRODUCT_FROM_DATABASE=POGO
-
-usb:v0F63p0800*
- ID_PRODUCT_FROM_DATABASE=Didj
-
-usb:v0F63p0900*
- ID_PRODUCT_FROM_DATABASE=TAGSchool
-
-usb:v0F63p0A00*
- ID_PRODUCT_FROM_DATABASE=Leapster 2
-
-usb:v0F63p0B00*
- ID_PRODUCT_FROM_DATABASE=Crammer
-
-usb:v0F63p0C00*
- ID_PRODUCT_FROM_DATABASE=Tag Jr
-
-usb:v0F63p0D00*
- ID_PRODUCT_FROM_DATABASE=My Pal Scout
-
-usb:v0F63p0E00*
- ID_PRODUCT_FROM_DATABASE=Tag32
-
-usb:v0F63p0F00*
- ID_PRODUCT_FROM_DATABASE=Tag64
-
-usb:v0F63p1000*
- ID_PRODUCT_FROM_DATABASE=Kiwi16
-
-usb:v0F63p1100*
- ID_PRODUCT_FROM_DATABASE=Leapster L2x
-
-usb:v0F63p1111*
- ID_PRODUCT_FROM_DATABASE=Fly Fusion
-
-usb:v0F63p1300*
- ID_PRODUCT_FROM_DATABASE=Didj UK/France (Leapster Advance)
-
-usb:v0F68*
- ID_VENDOR_FROM_DATABASE=Kobe Steel, Ltd
-
-usb:v0F69*
- ID_VENDOR_FROM_DATABASE=Dionex Corp.
-
-usb:v0F6A*
- ID_VENDOR_FROM_DATABASE=Vibren Technologies, Inc.
-
-usb:v0F6E*
- ID_VENDOR_FROM_DATABASE=INTELLIGENT SYSTEMS
-
-usb:v0F6Ep0100*
- ID_PRODUCT_FROM_DATABASE=GameBoy Color Emulator
-
-usb:v0F6Ep0201*
- ID_PRODUCT_FROM_DATABASE=GameBoy Advance Flash Gang Writer
-
-usb:v0F6Ep0202*
- ID_PRODUCT_FROM_DATABASE=GameBoy Advance Capture
-
-usb:v0F6Ep0300*
- ID_PRODUCT_FROM_DATABASE=Gamecube DOL Viewer
-
-usb:v0F6Ep0400*
- ID_PRODUCT_FROM_DATABASE=NDS Emulator
-
-usb:v0F6Ep0401*
- ID_PRODUCT_FROM_DATABASE=NDS UIC
-
-usb:v0F6Ep0402*
- ID_PRODUCT_FROM_DATABASE=NDS Writer
-
-usb:v0F6Ep0403*
- ID_PRODUCT_FROM_DATABASE=NDS Capture
-
-usb:v0F6Ep0404*
- ID_PRODUCT_FROM_DATABASE=NDS Emulator (Lite)
-
-usb:v0F73*
- ID_VENDOR_FROM_DATABASE=DFI
-
-usb:v0F7C*
- ID_VENDOR_FROM_DATABASE=DQ Technology, Inc.
-
-usb:v0F7D*
- ID_VENDOR_FROM_DATABASE=NetBotz, Inc.
-
-usb:v0F7E*
- ID_VENDOR_FROM_DATABASE=Fluke Corp.
-
-usb:v0F88*
- ID_VENDOR_FROM_DATABASE=VTech Holdings, Ltd
-
-usb:v0F88p3012*
- ID_PRODUCT_FROM_DATABASE=RT2570
-
-usb:v0F88p3014*
- ID_PRODUCT_FROM_DATABASE=ZD1211B
-
-usb:v0F8B*
- ID_VENDOR_FROM_DATABASE=Yazaki Corp.
-
-usb:v0F8C*
- ID_VENDOR_FROM_DATABASE=Young Generation International Corp.
-
-usb:v0F8D*
- ID_VENDOR_FROM_DATABASE=Uniwill Computer Corp.
-
-usb:v0F8E*
- ID_VENDOR_FROM_DATABASE=Kingnet Technology Co., Ltd
-
-usb:v0F8F*
- ID_VENDOR_FROM_DATABASE=Soma Networks
-
-usb:v0F97*
- ID_VENDOR_FROM_DATABASE=CviLux Corp.
-
-usb:v0F98*
- ID_VENDOR_FROM_DATABASE=CyberBank Corp.
-
-usb:v0F9C*
- ID_VENDOR_FROM_DATABASE=Hyun Won, Inc.
-
-usb:v0F9Cp0301*
- ID_PRODUCT_FROM_DATABASE=M-Any Premium DAH-610 MP3/WMA Player
-
-usb:v0F9Cp0332*
- ID_PRODUCT_FROM_DATABASE=mobiBLU DAH-1200 MP3/Ogg Player
-
-usb:v0F9E*
- ID_VENDOR_FROM_DATABASE=Lucent Technologies
-
-usb:v0FA3*
- ID_VENDOR_FROM_DATABASE=Starconn Electronic Co., Ltd
-
-usb:v0FA4*
- ID_VENDOR_FROM_DATABASE=ATL Technology
-
-usb:v0FA5*
- ID_VENDOR_FROM_DATABASE=Sotec Co., Ltd
-
-usb:v0FA7*
- ID_VENDOR_FROM_DATABASE=Epox Computer Co., Ltd
-
-usb:v0FA8*
- ID_VENDOR_FROM_DATABASE=Logic Controls, Inc.
-
-usb:v0FAF*
- ID_VENDOR_FROM_DATABASE=Winpoint Electronic Corp.
-
-usb:v0FB0*
- ID_VENDOR_FROM_DATABASE=Haurtian Wire & Cable Co., Ltd
-
-usb:v0FB1*
- ID_VENDOR_FROM_DATABASE=Inclose Design, Inc.
-
-usb:v0FB2*
- ID_VENDOR_FROM_DATABASE=Juan-Chern Industrial Co., Ltd
-
-usb:v0FB6*
- ID_VENDOR_FROM_DATABASE=Heber Ltd
-
-usb:v0FB6p3FC3*
- ID_PRODUCT_FROM_DATABASE=Firefly X10i I/O Board (with firmware)
-
-usb:v0FB6p3FC4*
- ID_PRODUCT_FROM_DATABASE=Firefly X10i I/O Board (without firmware)
-
-usb:v0FB8*
- ID_VENDOR_FROM_DATABASE=Wistron Corp.
-
-usb:v0FB8p0002*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v0FB9*
- ID_VENDOR_FROM_DATABASE=AACom Corp.
-
-usb:v0FBA*
- ID_VENDOR_FROM_DATABASE=San Shing Electronics Co., Ltd
-
-usb:v0FBB*
- ID_VENDOR_FROM_DATABASE=Bitwise Systems, Inc.
-
-usb:v0FC1*
- ID_VENDOR_FROM_DATABASE=Mitac Internatinal Corp.
-
-usb:v0FC2*
- ID_VENDOR_FROM_DATABASE=Plug and Jack Industrial, Inc.
-
-usb:v0FC5*
- ID_VENDOR_FROM_DATABASE=Delcom Engineering
-
-usb:v0FC5p1222*
- ID_PRODUCT_FROM_DATABASE=I/O Development Board
-
-usb:v0FC6*
- ID_VENDOR_FROM_DATABASE=Dataplus Supplies, Inc.
-
-usb:v0FCA*
- ID_VENDOR_FROM_DATABASE=Research In Motion, Ltd.
-
-usb:v0FCAp0001*
- ID_PRODUCT_FROM_DATABASE=Blackberry Handheld
-
-usb:v0FCAp0004*
- ID_PRODUCT_FROM_DATABASE=Blackberry Handheld
-
-usb:v0FCAp0006*
- ID_PRODUCT_FROM_DATABASE=Blackberry Pearl
-
-usb:v0FCAp0008*
- ID_PRODUCT_FROM_DATABASE=Blackberry Pearl
-
-usb:v0FCAp8001*
- ID_PRODUCT_FROM_DATABASE=Blackberry Handheld
-
-usb:v0FCAp8004*
- ID_PRODUCT_FROM_DATABASE=Blackberry Handheld
-
-usb:v0FCAp8007*
- ID_PRODUCT_FROM_DATABASE=Blackberry Handheld
-
-usb:v0FCAp8010*
- ID_PRODUCT_FROM_DATABASE=Blackberry Playbook (Connect to Windows mode)
-
-usb:v0FCAp8011*
- ID_PRODUCT_FROM_DATABASE=Blackberry Playbook (Connect to Mac mode)
-
-usb:v0FCAp8020*
- ID_PRODUCT_FROM_DATABASE=Blackberry Playbook (CD-Rom mode)
-
-usb:v0FCE*
- ID_VENDOR_FROM_DATABASE=Sony Ericsson Mobile Communications AB
-
-usb:v0FCEp0076*
- ID_PRODUCT_FROM_DATABASE=W910i (Multimedia mode)
-
-usb:v0FCEp00AF*
- ID_PRODUCT_FROM_DATABASE=V640i Phone [PTP Camera]
-
-usb:v0FCEp00D4*
- ID_PRODUCT_FROM_DATABASE=C902 [MTP]
-
-usb:v0FCEp00D9*
- ID_PRODUCT_FROM_DATABASE=C702 Phone
-
-usb:v0FCEp0112*
- ID_PRODUCT_FROM_DATABASE=W995 Walkman Phone
-
-usb:v0FCEp0166*
- ID_PRODUCT_FROM_DATABASE=Xperia Mini Pro
-
-usb:v0FCEp0169*
- ID_PRODUCT_FROM_DATABASE=Xperia S
-
-usb:v0FCEp0172*
- ID_PRODUCT_FROM_DATABASE=Xperia P
-
-usb:v0FCEp1010*
- ID_PRODUCT_FROM_DATABASE=WMC Modem
-
-usb:v0FCEp10AF*
- ID_PRODUCT_FROM_DATABASE=V640i Phone [PictBridge]
-
-usb:v0FCEp10D4*
- ID_PRODUCT_FROM_DATABASE=C902 Phone [PictBridge]
-
-usb:v0FCEp2105*
- ID_PRODUCT_FROM_DATABASE=W715 Phone
-
-usb:v0FCEp2137*
- ID_PRODUCT_FROM_DATABASE=Xperia X10 mini (USB debug)
-
-usb:v0FCEp2138*
- ID_PRODUCT_FROM_DATABASE=Xperia X10 mini pro (Debug)
-
-usb:v0FCEp2149*
- ID_PRODUCT_FROM_DATABASE=Xperia X8 (debug)
-
-usb:v0FCEp3137*
- ID_PRODUCT_FROM_DATABASE=Xperia X10 mini
-
-usb:v0FCEp3138*
- ID_PRODUCT_FROM_DATABASE=Xperia X10 mini pro
-
-usb:v0FCEp3149*
- ID_PRODUCT_FROM_DATABASE=Xperia X8
-
-usb:v0FCEp614F*
- ID_PRODUCT_FROM_DATABASE=Xperia X12 (debug mode)
-
-usb:v0FCEp6166*
- ID_PRODUCT_FROM_DATABASE=Xperia Mini Pro
-
-usb:v0FCEp8004*
- ID_PRODUCT_FROM_DATABASE=9000 Phone [Mass Storage]
-
-usb:v0FCEpADDE*
- ID_PRODUCT_FROM_DATABASE=Boot loader
-
-usb:v0FCEpD008*
- ID_PRODUCT_FROM_DATABASE=V800-Vodafone 802SE Phone
-
-usb:v0FCEpD016*
- ID_PRODUCT_FROM_DATABASE=K750i Phone
-
-usb:v0FCEpD017*
- ID_PRODUCT_FROM_DATABASE=K608i Phone
-
-usb:v0FCEpD019*
- ID_PRODUCT_FROM_DATABASE=VDC EGPRS Modem
-
-usb:v0FCEpD025*
- ID_PRODUCT_FROM_DATABASE=520 WMC Data Modem
-
-usb:v0FCEpD028*
- ID_PRODUCT_FROM_DATABASE=W800i
-
-usb:v0FCEpD038*
- ID_PRODUCT_FROM_DATABASE=W850i Phone
-
-usb:v0FCEpD039*
- ID_PRODUCT_FROM_DATABASE=K800i (phone mode)
-
-usb:v0FCEpD041*
- ID_PRODUCT_FROM_DATABASE=K510i Phone
-
-usb:v0FCEpD042*
- ID_PRODUCT_FROM_DATABASE=W810i Phone
-
-usb:v0FCEpD043*
- ID_PRODUCT_FROM_DATABASE=V630i Phone
-
-usb:v0FCEpD046*
- ID_PRODUCT_FROM_DATABASE=K610i Phone
-
-usb:v0FCEpD065*
- ID_PRODUCT_FROM_DATABASE=W960i Phone (PC Suite)
-
-usb:v0FCEpD076*
- ID_PRODUCT_FROM_DATABASE=W910i (Phone mode)
-
-usb:v0FCEpD089*
- ID_PRODUCT_FROM_DATABASE=W580i Phone (mass storage)
-
-usb:v0FCEpD0A1*
- ID_PRODUCT_FROM_DATABASE=K810
-
-usb:v0FCEpD0AF*
- ID_PRODUCT_FROM_DATABASE=V640i Phone
-
-usb:v0FCEpD0CF*
- ID_PRODUCT_FROM_DATABASE=MD300 Mobile Broadband Modem
-
-usb:v0FCEpD0D4*
- ID_PRODUCT_FROM_DATABASE=C902 Phone [Modem]
-
-usb:v0FCEpD0E1*
- ID_PRODUCT_FROM_DATABASE=MD400 Mobile Broadband Modem
-
-usb:v0FCEpD12E*
- ID_PRODUCT_FROM_DATABASE=Xperia X10
-
-usb:v0FCEpE000*
- ID_PRODUCT_FROM_DATABASE=K810 (PictBridge mode)
-
-usb:v0FCEpE039*
- ID_PRODUCT_FROM_DATABASE=K800i (msc mode)
-
-usb:v0FCEpE042*
- ID_PRODUCT_FROM_DATABASE=W810i Phone
-
-usb:v0FCEpE043*
- ID_PRODUCT_FROM_DATABASE=V630i Phone [Mass Storage]
-
-usb:v0FCEpE075*
- ID_PRODUCT_FROM_DATABASE=K850i
-
-usb:v0FCEpE076*
- ID_PRODUCT_FROM_DATABASE=W910i (Mass storage)
-
-usb:v0FCEpE089*
- ID_PRODUCT_FROM_DATABASE=W580i Phone
-
-usb:v0FCEpE090*
- ID_PRODUCT_FROM_DATABASE=W200 Phone (Mass Storage)
-
-usb:v0FCEpE0A1*
- ID_PRODUCT_FROM_DATABASE=K810 (Mass Storage mode)
-
-usb:v0FCEpE0A3*
- ID_PRODUCT_FROM_DATABASE=W660i
-
-usb:v0FCEpE0AF*
- ID_PRODUCT_FROM_DATABASE=V640i Phone [Mass Storage]
-
-usb:v0FCEpE0D4*
- ID_PRODUCT_FROM_DATABASE=C902 Phone [Mass Storage]
-
-usb:v0FCEpE0EF*
- ID_PRODUCT_FROM_DATABASE=C905 Phone [Mass Storage]
-
-usb:v0FCEpE0F3*
- ID_PRODUCT_FROM_DATABASE=W595
-
-usb:v0FCEpE105*
- ID_PRODUCT_FROM_DATABASE=W705
-
-usb:v0FCEpE112*
- ID_PRODUCT_FROM_DATABASE=W995 Phone (Mass Storage)
-
-usb:v0FCEpE12E*
- ID_PRODUCT_FROM_DATABASE=X10i Phone
-
-usb:v0FCEpE133*
- ID_PRODUCT_FROM_DATABASE=Vivaz
-
-usb:v0FCEpE14F*
- ID_PRODUCT_FROM_DATABASE=Xperia Arc/X12
-
-usb:v0FCEpE161*
- ID_PRODUCT_FROM_DATABASE=Xperia Ray
-
-usb:v0FCEpE166*
- ID_PRODUCT_FROM_DATABASE=Xperia Mini Pro
-
-usb:v0FCEpE167*
- ID_PRODUCT_FROM_DATABASE=XPERIA mini
-
-usb:v0FCF*
- ID_VENDOR_FROM_DATABASE=Dynastream Innovations, Inc.
-
-usb:v0FCFp1003*
- ID_PRODUCT_FROM_DATABASE=ANT Development Board
-
-usb:v0FCFp1004*
- ID_PRODUCT_FROM_DATABASE=ANT2USB
-
-usb:v0FCFp1006*
- ID_PRODUCT_FROM_DATABASE=ANT Development Board
-
-usb:v0FCFp1008*
- ID_PRODUCT_FROM_DATABASE=Mini stick Suunto
-
-usb:v0FD0*
- ID_VENDOR_FROM_DATABASE=Tulip Computers B.V.
-
-usb:v0FD1*
- ID_VENDOR_FROM_DATABASE=Giant Electronics Ltd.
-
-usb:v0FD4*
- ID_VENDOR_FROM_DATABASE=Tenovis GmbH & Co., KG
-
-usb:v0FD5*
- ID_VENDOR_FROM_DATABASE=Direct Access Technology, Inc.
-
-usb:v0FD9*
- ID_VENDOR_FROM_DATABASE=Elgato Systems GmbH
-
-usb:v0FD9p0011*
- ID_PRODUCT_FROM_DATABASE=EyeTV Diversity
-
-usb:v0FD9p0018*
- ID_PRODUCT_FROM_DATABASE=EyeTV Hybrid
-
-usb:v0FD9p0020*
- ID_PRODUCT_FROM_DATABASE=EyeTV DTT Deluxe
-
-usb:v0FD9p0021*
- ID_PRODUCT_FROM_DATABASE=EyeTV DTT
-
-usb:v0FD9p002A*
- ID_PRODUCT_FROM_DATABASE=EyeTV Sat
-
-usb:v0FD9p002C*
- ID_PRODUCT_FROM_DATABASE=EyeTV DTT Deluxe v2
-
-usb:v0FD9p0033*
- ID_PRODUCT_FROM_DATABASE=Video Capture
-
-usb:v0FD9p0037*
- ID_PRODUCT_FROM_DATABASE=Video Capture v2
-
-usb:v0FDC*
- ID_VENDOR_FROM_DATABASE=Micro Plus
-
-usb:v0FE0*
- ID_VENDOR_FROM_DATABASE=Osterhout Design Group
-
-usb:v0FE0p0100*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Mouse
-
-usb:v0FE0p0101*
- ID_PRODUCT_FROM_DATABASE=Bluetooth IMU
-
-usb:v0FE0p0200*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Keypad
-
-usb:v0FE4*
- ID_VENDOR_FROM_DATABASE=IN-Tech Electronics, Ltd
-
-usb:v0FE5*
- ID_VENDOR_FROM_DATABASE=Greenconn (U.S.A.), Inc.
-
-usb:v0FE6*
- ID_VENDOR_FROM_DATABASE=Kontron (Industrial Computer Source / ICS Advent)
-
-usb:v0FE6p8101*
- ID_PRODUCT_FROM_DATABASE=DM9601 Fast Ethernet Adapter
-
-usb:v0FE6p811E*
- ID_PRODUCT_FROM_DATABASE=Parallel Adapter
-
-usb:v0FE6p9700*
- ID_PRODUCT_FROM_DATABASE=DM9601 Fast Ethernet Adapter
-
-usb:v0FE9*
- ID_VENDOR_FROM_DATABASE=DVICO
-
-usb:v0FE9p4020*
- ID_PRODUCT_FROM_DATABASE=TViX M-6500
-
-usb:v0FE9pDB00*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV DVB-T (MT352+LgZ201) (uninitialized)
-
-usb:v0FE9pDB01*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV DVB-T (MT352+LgZ201) (initialized)
-
-usb:v0FE9pDB10*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV DVB-T (MT352+Thomson7579) (uninitialized)
-
-usb:v0FE9pDB11*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV DVB-T (MT352+Thomson7579) (initialized)
-
-usb:v0FE9pDB78*
- ID_PRODUCT_FROM_DATABASE=FusionHDTV DVB-T Dual Digital 4 (ZL10353+xc2028/xc3028) (initialized)
-
-usb:v0FEA*
- ID_VENDOR_FROM_DATABASE=United Computer Accessories
-
-usb:v0FEB*
- ID_VENDOR_FROM_DATABASE=CRS Electronic Co., Ltd
-
-usb:v0FEC*
- ID_VENDOR_FROM_DATABASE=UMC Electronics Co., Ltd
-
-usb:v0FED*
- ID_VENDOR_FROM_DATABASE=Access Co., Ltd
-
-usb:v0FEE*
- ID_VENDOR_FROM_DATABASE=Xsido Corp.
-
-usb:v0FEF*
- ID_VENDOR_FROM_DATABASE=MJ Research, Inc.
-
-usb:v0FF6*
- ID_VENDOR_FROM_DATABASE=Core Valley Co., Ltd
-
-usb:v0FF7*
- ID_VENDOR_FROM_DATABASE=CHI SHING Computer Accessories Co., Ltd
-
-usb:v0FFC*
- ID_VENDOR_FROM_DATABASE=Clavia DMI AB
-
-usb:v0FFCp0021*
- ID_PRODUCT_FROM_DATABASE=Nord Stage 2
-
-usb:v0FFF*
- ID_VENDOR_FROM_DATABASE=Aopen, Inc.
-
-usb:v1000*
- ID_VENDOR_FROM_DATABASE=Speed Tech Corp.
-
-usb:v1001*
- ID_VENDOR_FROM_DATABASE=Ritronics Components (S) Pte., Ltd
-
-usb:v1003*
- ID_VENDOR_FROM_DATABASE=Sigma Corp.
-
-usb:v1003p0003*
- ID_PRODUCT_FROM_DATABASE=SD14
-
-usb:v1003p0100*
- ID_PRODUCT_FROM_DATABASE=SD9/SD10
-
-usb:v1004*
- ID_VENDOR_FROM_DATABASE=LG Electronics, Inc.
-
-usb:v1004p1FAE*
- ID_PRODUCT_FROM_DATABASE=U8120 3G Cellphone
-
-usb:v1004p6000*
- ID_PRODUCT_FROM_DATABASE=KU330/KU990/VX4400/VX6000
-
-usb:v1004p6005*
- ID_PRODUCT_FROM_DATABASE=T5100
-
-usb:v1004p6018*
- ID_PRODUCT_FROM_DATABASE=GM360/GD510/GW520/KP501
-
-usb:v1004p618E*
- ID_PRODUCT_FROM_DATABASE=Ally/Optimus One/Vortex (debug mode)
-
-usb:v1004p618F*
- ID_PRODUCT_FROM_DATABASE=Ally/Optimus One
-
-usb:v1004p61C6*
- ID_PRODUCT_FROM_DATABASE=Vortex (msc)
-
-usb:v1004p61CC*
- ID_PRODUCT_FROM_DATABASE=Optimus S
-
-usb:v1004p61FC*
- ID_PRODUCT_FROM_DATABASE=Optimus 3
-
-usb:v1004p6800*
- ID_PRODUCT_FROM_DATABASE=CDMA Modem
-
-usb:v1004p7000*
- ID_PRODUCT_FROM_DATABASE=LG LDP-7024D(LD)USB
-
-usb:v1004pA400*
- ID_PRODUCT_FROM_DATABASE=Renoir (KC910)
-
-usb:v1005*
- ID_VENDOR_FROM_DATABASE=Apacer Technology, Inc.
-
-usb:v1005p1001*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v1005p1004*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v1005p1006*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v1005pB113*
- ID_PRODUCT_FROM_DATABASE=Handy Steno 2.0/HT203
-
-usb:v1005pB223*
- ID_PRODUCT_FROM_DATABASE=CD-RW + 6in1 Card Reader Digital Storage / Converter
-
-usb:v1006*
- ID_VENDOR_FROM_DATABASE=iRiver, Ltd.
-
-usb:v1006p3001*
- ID_PRODUCT_FROM_DATABASE=iHP-100
-
-usb:v1006p3002*
- ID_PRODUCT_FROM_DATABASE=iHP-120/140 MP3 Player
-
-usb:v1006p3003*
- ID_PRODUCT_FROM_DATABASE=H320/H340
-
-usb:v1006p3004*
- ID_PRODUCT_FROM_DATABASE=H340 (mtp)
-
-usb:v1009*
- ID_VENDOR_FROM_DATABASE=Emuzed, Inc.
-
-usb:v1009p000E*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v1009p0013*
- ID_PRODUCT_FROM_DATABASE=Angel MPEG Device
-
-usb:v1009p0015*
- ID_PRODUCT_FROM_DATABASE=Lumanate Wave PAL SECAM DVBT Device
-
-usb:v1009p0016*
- ID_PRODUCT_FROM_DATABASE=Lumanate Wave NTSC/ATSC Combo Device
-
-usb:v100A*
- ID_VENDOR_FROM_DATABASE=AV Chaseway, Ltd
-
-usb:v100Ap2402*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v100Ap2404*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v100Ap2405*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v100Ap2406*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v100ApA0C0*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v100B*
- ID_VENDOR_FROM_DATABASE=Chou Chin Industrial Co., Ltd
-
-usb:v100D*
- ID_VENDOR_FROM_DATABASE=Netopia, Inc.
-
-usb:v100Dp3342*
- ID_PRODUCT_FROM_DATABASE=Cayman 3352 DSL Modem
-
-usb:v100Dp3382*
- ID_PRODUCT_FROM_DATABASE=3380 Series Network Interface
-
-usb:v100Dp6072*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v100Dp9031*
- ID_PRODUCT_FROM_DATABASE=Motorola 802.11n Dualband USB Wireless Adapter
-
-usb:v100Dp9032*
- ID_PRODUCT_FROM_DATABASE=Motorola 802.11n 5G USB Wireless Adapter
-
-usb:v100DpCB01*
- ID_PRODUCT_FROM_DATABASE=Cayman 3341 Ethernet DSL Router
-
-usb:v1010*
- ID_VENDOR_FROM_DATABASE=Fukuda Denshi Co., Ltd
-
-usb:v1011*
- ID_VENDOR_FROM_DATABASE=Mobile Media Tech.
-
-usb:v1011p0001*
- ID_PRODUCT_FROM_DATABASE=AccFast Mp3
-
-usb:v1012*
- ID_VENDOR_FROM_DATABASE=SDKM Fibres, Wires & Cables Berhad
-
-usb:v1013*
- ID_VENDOR_FROM_DATABASE=TST-Touchless Sensor Technology AG
-
-usb:v1014*
- ID_VENDOR_FROM_DATABASE=Densitron Technologies PLC
-
-usb:v1015*
- ID_VENDOR_FROM_DATABASE=Softronics Pty., Ltd
-
-usb:v1016*
- ID_VENDOR_FROM_DATABASE=Xiamen Hung's Enterprise Co., Ltd
-
-usb:v1017*
- ID_VENDOR_FROM_DATABASE=Speedy Industrial Supplies, Pte., Ltd
-
-usb:v1019*
- ID_VENDOR_FROM_DATABASE=Elitegroup Computer Systems (ECS)
-
-usb:v1019p0C55*
- ID_PRODUCT_FROM_DATABASE=Flash Reader, Desknote UCR-61S2B
-
-usb:v1019p0F38*
- ID_PRODUCT_FROM_DATABASE=Infrared Receiver
-
-usb:v1020*
- ID_VENDOR_FROM_DATABASE=Labtec
-
-usb:v1020p0006*
- ID_PRODUCT_FROM_DATABASE=Wireless Keyboard
-
-usb:v1020p000A*
- ID_PRODUCT_FROM_DATABASE=Wireless Optical Mouse
-
-usb:v1020p0106*
- ID_PRODUCT_FROM_DATABASE=Wireless Optical Mouse
-
-usb:v1022*
- ID_VENDOR_FROM_DATABASE=Shinko Shoji Co., Ltd
-
-usb:v1025*
- ID_VENDOR_FROM_DATABASE=Hyper-Paltek
-
-usb:v1025p005E*
- ID_PRODUCT_FROM_DATABASE=USB DVB-T device
-
-usb:v1025p005F*
- ID_PRODUCT_FROM_DATABASE=USB DVB-T device
-
-usb:v1025p0300*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v1025p0350*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v1026*
- ID_VENDOR_FROM_DATABASE=Newly Corp.
-
-usb:v1027*
- ID_VENDOR_FROM_DATABASE=Time Domain
-
-usb:v1028*
- ID_VENDOR_FROM_DATABASE=Inovys Corp.
-
-usb:v1029*
- ID_VENDOR_FROM_DATABASE=Atlantic Coast Telesys
-
-usb:v102A*
- ID_VENDOR_FROM_DATABASE=Ramos Technology Co., Ltd
-
-usb:v102B*
- ID_VENDOR_FROM_DATABASE=Infotronic America, Inc.
-
-usb:v102C*
- ID_VENDOR_FROM_DATABASE=Etoms Electronics Corp.
-
-usb:v102Cp6151*
- ID_PRODUCT_FROM_DATABASE=Q-Cam Sangha CIF
-
-usb:v102Cp6251*
- ID_PRODUCT_FROM_DATABASE=Q-Cam VGA
-
-usb:v102D*
- ID_VENDOR_FROM_DATABASE=Winic Corp.
-
-usb:v1031*
- ID_VENDOR_FROM_DATABASE=Comax Technology, Inc.
-
-usb:v1032*
- ID_VENDOR_FROM_DATABASE=C-One Technology Corp.
-
-usb:v1033*
- ID_VENDOR_FROM_DATABASE=Nucam Corp.
-
-usb:v1033p0068*
- ID_PRODUCT_FROM_DATABASE=3,5'' HDD case MD-231
-
-usb:v1038*
- ID_VENDOR_FROM_DATABASE=Ideazon, Inc.
-
-usb:v1038p0100*
- ID_PRODUCT_FROM_DATABASE=Zboard
-
-usb:v1039*
- ID_VENDOR_FROM_DATABASE=devolo AG
-
-usb:v1039p0824*
- ID_PRODUCT_FROM_DATABASE=1866 802.11bg [Texas Instruments TNETW1450]
-
-usb:v1039p2140*
- ID_PRODUCT_FROM_DATABASE=dsl+ 1100 duo
-
-usb:v103D*
- ID_VENDOR_FROM_DATABASE=Stanton
-
-usb:v103Dp0100*
- ID_PRODUCT_FROM_DATABASE=ScratchAmp
-
-usb:v103Dp0101*
- ID_PRODUCT_FROM_DATABASE=ScratchAmp
-
-usb:v1043*
- ID_VENDOR_FROM_DATABASE=iCreate Technologies Corp.
-
-usb:v1043p160F*
- ID_PRODUCT_FROM_DATABASE=Wireless Network Adapter
-
-usb:v1043p4901*
- ID_PRODUCT_FROM_DATABASE=AV-836 Video Capture Device
-
-usb:v1043p8006*
- ID_PRODUCT_FROM_DATABASE=Flash Disk 32-256 MB
-
-usb:v1043p8012*
- ID_PRODUCT_FROM_DATABASE=Flash Disk 256 MB
-
-usb:v1044*
- ID_VENDOR_FROM_DATABASE=Chu Yuen Enterprise Co., Ltd
-
-usb:v1044p7001*
- ID_PRODUCT_FROM_DATABASE=Gigabyte U7000 DVB-T tuner
-
-usb:v1044p7002*
- ID_PRODUCT_FROM_DATABASE=Gigabyte U8000 DVB-T tuner
-
-usb:v1044p7004*
- ID_PRODUCT_FROM_DATABASE=Gigabyte U7100 DVB-T tuner
-
-usb:v1044p7005*
- ID_PRODUCT_FROM_DATABASE=Gigabyte U7200 DVB-T tuner [AF9035]
-
-usb:v1044p7006*
- ID_PRODUCT_FROM_DATABASE=Gigabyte U6000 DVB-T tuner [em2863]
-
-usb:v1044p8001*
- ID_PRODUCT_FROM_DATABASE=GN-54G
-
-usb:v1044p8002*
- ID_PRODUCT_FROM_DATABASE=GN-BR402W
-
-usb:v1044p8003*
- ID_PRODUCT_FROM_DATABASE=GN-WLBM101
-
-usb:v1044p8004*
- ID_PRODUCT_FROM_DATABASE=GN-WLBZ101 802.11b Adapter
-
-usb:v1044p8005*
- ID_PRODUCT_FROM_DATABASE=GN-WLBZ201 802.11b Adapter
-
-usb:v1044p8006*
- ID_PRODUCT_FROM_DATABASE=GN-WBZB-M 802.11b Adapter
-
-usb:v1044p8007*
- ID_PRODUCT_FROM_DATABASE=GN-WBKG
-
-usb:v1044p8008*
- ID_PRODUCT_FROM_DATABASE=GN-WB01GS
-
-usb:v1044p800A*
- ID_PRODUCT_FROM_DATABASE=GN-WI05GS
-
-usb:v1044p800B*
- ID_PRODUCT_FROM_DATABASE=GN-WB30N 802.11n WLAN Card
-
-usb:v1044p800C*
- ID_PRODUCT_FROM_DATABASE=GN-WB31N 802.11n USB WLAN Card
-
-usb:v1044p800D*
- ID_PRODUCT_FROM_DATABASE=GN-WB32L 802.11n USB WLAN Card
-
-usb:v1046*
- ID_VENDOR_FROM_DATABASE=Winbond Electronics Corp. [hex]
-
-usb:v1046p6694*
- ID_PRODUCT_FROM_DATABASE=Generic W6694 USB
-
-usb:v1046p8901*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v1046p9967*
- ID_PRODUCT_FROM_DATABASE=W9967CF/W9968CF Webcam IC
-
-usb:v1048*
- ID_VENDOR_FROM_DATABASE=Targus Group International
-
-usb:v104B*
- ID_VENDOR_FROM_DATABASE=Mylex / Buslogic
-
-usb:v104C*
- ID_VENDOR_FROM_DATABASE=AMCO TEC International, Inc.
-
-usb:v104D*
- ID_VENDOR_FROM_DATABASE=Newport Corporation
-
-usb:v104Dp1003*
- ID_PRODUCT_FROM_DATABASE=Model-52 LED Light Source Power Supply and Driver
-
-usb:v104F*
- ID_VENDOR_FROM_DATABASE=WB Electronics
-
-usb:v104Fp0001*
- ID_PRODUCT_FROM_DATABASE=Infinity Phoenix
-
-usb:v104Fp0002*
- ID_PRODUCT_FROM_DATABASE=Smartmouse
-
-usb:v104Fp0003*
- ID_PRODUCT_FROM_DATABASE=FunProgrammer
-
-usb:v104Fp0004*
- ID_PRODUCT_FROM_DATABASE=Infinity Unlimited
-
-usb:v104Fp0006*
- ID_PRODUCT_FROM_DATABASE=Infinity Smart
-
-usb:v104Fp0007*
- ID_PRODUCT_FROM_DATABASE=Infinity Smart module
-
-usb:v104Fp0008*
- ID_PRODUCT_FROM_DATABASE=Infinity CryptoKey
-
-usb:v104Fp0009*
- ID_PRODUCT_FROM_DATABASE=RE-BL PlayStation 3 IR-to-Bluetooth converter
-
-usb:v1050*
- ID_VENDOR_FROM_DATABASE=Yubico.com
-
-usb:v1050p0010*
- ID_PRODUCT_FROM_DATABASE=Yubikey
-
-usb:v1053*
- ID_VENDOR_FROM_DATABASE=Immanuel Electronics Co., Ltd
-
-usb:v1054*
- ID_VENDOR_FROM_DATABASE=BMS International Beheer N.V.
-
-usb:v1054p5004*
- ID_PRODUCT_FROM_DATABASE=DSL 7420 Loader
-
-usb:v1054p5005*
- ID_PRODUCT_FROM_DATABASE=DSL 7420 LAN Modem
-
-usb:v1055*
- ID_VENDOR_FROM_DATABASE=Complex Micro Interconnection Co., Ltd
-
-usb:v1056*
- ID_VENDOR_FROM_DATABASE=Hsin Chen Ent Co., Ltd
-
-usb:v1057*
- ID_VENDOR_FROM_DATABASE=ON Semiconductor
-
-usb:v1058*
- ID_VENDOR_FROM_DATABASE=Western Digital Technologies, Inc.
-
-usb:v1058p0200*
- ID_PRODUCT_FROM_DATABASE=Firewire USB Combo
-
-usb:v1058p0400*
- ID_PRODUCT_FROM_DATABASE=External HDD
-
-usb:v1058p0500*
- ID_PRODUCT_FROM_DATABASE=hub
-
-usb:v1058p0702*
- ID_PRODUCT_FROM_DATABASE=Passport External HDD
-
-usb:v1058p0704*
- ID_PRODUCT_FROM_DATABASE=Passport External HDD
-
-usb:v1058p070A*
- ID_PRODUCT_FROM_DATABASE=My Passport Essential SE
-
-usb:v1058p071A*
- ID_PRODUCT_FROM_DATABASE=My Passport 1TB
-
-usb:v1058p0740*
- ID_PRODUCT_FROM_DATABASE=My Passport 1TB
-
-usb:v1058p0742*
- ID_PRODUCT_FROM_DATABASE=My Passport Essential SE
-
-usb:v1058p0748*
- ID_PRODUCT_FROM_DATABASE=My Passport 1TB USB 3.0
-
-usb:v1058p0900*
- ID_PRODUCT_FROM_DATABASE=MyBook Essential External HDD
-
-usb:v1058p0901*
- ID_PRODUCT_FROM_DATABASE=MyBook External HDD
-
-usb:v1058p0903*
- ID_PRODUCT_FROM_DATABASE=My Book Premium Edition
-
-usb:v1058p0910*
- ID_PRODUCT_FROM_DATABASE=MyBook Essential External HDD
-
-usb:v1058p1001*
- ID_PRODUCT_FROM_DATABASE=External Hard Disk [Elements]
-
-usb:v1058p1003*
- ID_PRODUCT_FROM_DATABASE=Elements 1000 GB
-
-usb:v1058p1010*
- ID_PRODUCT_FROM_DATABASE=Elements External HDD
-
-usb:v1058p1021*
- ID_PRODUCT_FROM_DATABASE=Elements 2TB
-
-usb:v1058p1023*
- ID_PRODUCT_FROM_DATABASE=Elements SE
-
-usb:v1058p1103*
- ID_PRODUCT_FROM_DATABASE=My Book Studio
-
-usb:v1058p1104*
- ID_PRODUCT_FROM_DATABASE=MyBook Mirror Edition External HDD
-
-usb:v1058p1105*
- ID_PRODUCT_FROM_DATABASE=My Book Studio II
-
-usb:v1058p1123*
- ID_PRODUCT_FROM_DATABASE=My Book 3.0
-
-usb:v1058p1140*
- ID_PRODUCT_FROM_DATABASE=My Book Essential USB3.0
-
-usb:v1059*
- ID_VENDOR_FROM_DATABASE=Giesecke & Devrient GmbH
-
-usb:v1059p000B*
- ID_PRODUCT_FROM_DATABASE=StarSign Bio Token 3.0
-
-usb:v105C*
- ID_VENDOR_FROM_DATABASE=Hong Ji Electric Wire & Cable (Dongguan) Co., Ltd
-
-usb:v105D*
- ID_VENDOR_FROM_DATABASE=Delkin Devices, Inc.
-
-usb:v105E*
- ID_VENDOR_FROM_DATABASE=Valence Semiconductor Design, Ltd
-
-usb:v105F*
- ID_VENDOR_FROM_DATABASE=Chin Shong Enterprise Co., Ltd
-
-usb:v1060*
- ID_VENDOR_FROM_DATABASE=Easthome Industrial Co., Ltd
-
-usb:v1063*
- ID_VENDOR_FROM_DATABASE=Motorola Electronics Taiwan, Ltd [hex]
-
-usb:v1063p1555*
- ID_PRODUCT_FROM_DATABASE=MC141555 Hub
-
-usb:v1063p4100*
- ID_PRODUCT_FROM_DATABASE=SB4100 USB Cable Modem
-
-usb:v1065*
- ID_VENDOR_FROM_DATABASE=CCYU Technology
-
-usb:v1065p0020*
- ID_PRODUCT_FROM_DATABASE=USB-DVR2 Dev Board
-
-usb:v1065p2136*
- ID_PRODUCT_FROM_DATABASE=EasyDisk ED1064
-
-usb:v106A*
- ID_VENDOR_FROM_DATABASE=Loyal Legend, Ltd
-
-usb:v106C*
- ID_VENDOR_FROM_DATABASE=Curitel Communications, Inc.
-
-usb:v106Cp1101*
- ID_PRODUCT_FROM_DATABASE=CDMA 2000 1xRTT USB modem (HX-550C)
-
-usb:v106Cp1102*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp1103*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp1104*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp1105*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v106Cp1106*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp1301*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v106Cp1302*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp1303*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp1304*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp1401*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v106Cp1402*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp1403*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp1501*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp1502*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp1503*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp1601*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp1602*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp1603*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp2101*
- ID_PRODUCT_FROM_DATABASE=AudioVox 8900 Cell Phone
-
-usb:v106Cp2102*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp2103*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp2301*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp2302*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp2303*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp2401*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp2402*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp2403*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp2501*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp2502*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp2503*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp2601*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp2602*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp2603*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp3701*
- ID_PRODUCT_FROM_DATABASE=Broadband Wireless modem
-
-usb:v106Cp3702*
- ID_PRODUCT_FROM_DATABASE=Pantech PX-500
-
-usb:v106Cp3714*
- ID_PRODUCT_FROM_DATABASE=PANTECH USB MODEM [UM175]
-
-usb:v106Cp3716*
- ID_PRODUCT_FROM_DATABASE=UMW190 Modem
-
-usb:v106Cp3721*
- ID_PRODUCT_FROM_DATABASE=Option Beemo (GI0801) LTE surfstick
-
-usb:v106Cp3B14*
- ID_PRODUCT_FROM_DATABASE=Option Beemo (GI0801) LTE surfstick
-
-usb:v106Cp3EB4*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp4101*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp4102*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp4301*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v106Cp4302*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp4401*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v106Cp4402*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp4501*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp4502*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp4601*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v106Cp4602*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp5101*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp5102*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp5301*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp5302*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp5401*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp5402*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp5501*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp5502*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp5601*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106Cp5602*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106Cp7101*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v106Cp7102*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106CpA000*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106CpA001*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106CpC100*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106CpC200*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106CpC500*
- ID_PRODUCT_FROM_DATABASE=Packet Service Diagnostic Serial Port (WDM)
-
-usb:v106CpE200*
- ID_PRODUCT_FROM_DATABASE=Packet Service
-
-usb:v106D*
- ID_VENDOR_FROM_DATABASE=San Chieh Manufacturing, Ltd
-
-usb:v106E*
- ID_VENDOR_FROM_DATABASE=ConectL
-
-usb:v106F*
- ID_VENDOR_FROM_DATABASE=Money Controls
-
-usb:v106Fp0009*
- ID_PRODUCT_FROM_DATABASE=CT10x Coin Transaction
-
-usb:v106Fp000A*
- ID_PRODUCT_FROM_DATABASE=CR10x Coin Recycler
-
-usb:v1076*
- ID_VENDOR_FROM_DATABASE=GCT Semiconductor, Inc.
-
-usb:v1076p0031*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v1076p0032*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v107B*
- ID_VENDOR_FROM_DATABASE=Gateway, Inc.
-
-usb:v107Bp3009*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Transceiver
-
-usb:v107Bp55B2*
- ID_PRODUCT_FROM_DATABASE=WBU-110 802.11b Wireless Adapter [Intersil PRISM 3]
-
-usb:v107Bp55F2*
- ID_PRODUCT_FROM_DATABASE=WGU-210 802.11g Adapter [Intersil ISL3886]
-
-usb:v107D*
- ID_VENDOR_FROM_DATABASE=Arlec Australia, Ltd
-
-usb:v107E*
- ID_VENDOR_FROM_DATABASE=Midoriya Electric Co., Ltd
-
-usb:v107F*
- ID_VENDOR_FROM_DATABASE=KidzMouse, Inc.
-
-usb:v1082*
- ID_VENDOR_FROM_DATABASE=Shin-Etsukaken Co., Ltd
-
-usb:v1083*
- ID_VENDOR_FROM_DATABASE=Canon Electronics, Inc.
-
-usb:v1083p162C*
- ID_PRODUCT_FROM_DATABASE=P-150 Scanner
-
-usb:v1084*
- ID_VENDOR_FROM_DATABASE=Pantech Co., Ltd
-
-usb:v108A*
- ID_VENDOR_FROM_DATABASE=Chloride Power Protection
-
-usb:v108B*
- ID_VENDOR_FROM_DATABASE=Grand-tek Technology Co., Ltd
-
-usb:v108C*
- ID_VENDOR_FROM_DATABASE=Robert Bosch GmbH
-
-usb:v108E*
- ID_VENDOR_FROM_DATABASE=Lotes Co., Ltd.
-
-usb:v1099*
- ID_VENDOR_FROM_DATABASE=Surface Optics Corp.
-
-usb:v109A*
- ID_VENDOR_FROM_DATABASE=DATASOFT Systems GmbH
-
-usb:v109F*
- ID_VENDOR_FROM_DATABASE=eSOL Co., Ltd
-
-usb:v109Fp3163*
- ID_PRODUCT_FROM_DATABASE=Trigem Mobile SmartDisplay84
-
-usb:v109Fp3164*
- ID_PRODUCT_FROM_DATABASE=Trigem Mobile SmartDisplay121
-
-usb:v10A0*
- ID_VENDOR_FROM_DATABASE=Hirotech, Inc.
-
-usb:v10A3*
- ID_VENDOR_FROM_DATABASE=Mitsubishi Materials Corp.
-
-usb:v10A9*
- ID_VENDOR_FROM_DATABASE=SK Teletech Co., Ltd
-
-usb:v10A9p1102*
- ID_PRODUCT_FROM_DATABASE=Sky Love Actually IM-U460K
-
-usb:v10A9p1104*
- ID_PRODUCT_FROM_DATABASE=Sky Vega IM-A650S
-
-usb:v10A9p6021*
- ID_PRODUCT_FROM_DATABASE=SIRIUS alpha
-
-usb:v10AA*
- ID_VENDOR_FROM_DATABASE=Cables To Go
-
-usb:v10AB*
- ID_VENDOR_FROM_DATABASE=USI Co., Ltd
-
-usb:v10ABp1002*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v10ABp1003*
- ID_PRODUCT_FROM_DATABASE=BC02-EXT in DFU
-
-usb:v10ABp1005*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Adptr
-
-usb:v10ABp1006*
- ID_PRODUCT_FROM_DATABASE=BC04-EXT in DFU
-
-usb:v10ABp10C5*
- ID_PRODUCT_FROM_DATABASE=Sony-Ericsson / Samsung DataCable
-
-usb:v10AC*
- ID_VENDOR_FROM_DATABASE=Honeywell, Inc.
-
-usb:v10AE*
- ID_VENDOR_FROM_DATABASE=Princeton Technology Corp.
-
-usb:v10AF*
- ID_VENDOR_FROM_DATABASE=Liebert Corp.
-
-usb:v10AFp0000*
- ID_PRODUCT_FROM_DATABASE=UPS
-
-usb:v10AFp0001*
- ID_PRODUCT_FROM_DATABASE=PowerSure PSA UPS
-
-usb:v10AFp0002*
- ID_PRODUCT_FROM_DATABASE=PowerSure PST UPS
-
-usb:v10AFp0003*
- ID_PRODUCT_FROM_DATABASE=PowerSure PSP UPS
-
-usb:v10AFp0004*
- ID_PRODUCT_FROM_DATABASE=PowerSure PSI UPS
-
-usb:v10AFp0005*
- ID_PRODUCT_FROM_DATABASE=UPStation GXT 2U UPS
-
-usb:v10AFp0006*
- ID_PRODUCT_FROM_DATABASE=UPStation GXT UPS
-
-usb:v10AFp0007*
- ID_PRODUCT_FROM_DATABASE=Nfinity Power Systems UPS
-
-usb:v10AFp0008*
- ID_PRODUCT_FROM_DATABASE=PowerSure Interactive UPS
-
-usb:v10B5*
- ID_VENDOR_FROM_DATABASE=Comodo (PLX?)
-
-usb:v10B5p9060*
- ID_PRODUCT_FROM_DATABASE=Test Board
-
-usb:v10B8*
- ID_VENDOR_FROM_DATABASE=DiBcom
-
-usb:v10B8p0BB8*
- ID_PRODUCT_FROM_DATABASE=DiBcom USB DVB-T reference design (MOD300) (cold)
-
-usb:v10B8p0BB9*
- ID_PRODUCT_FROM_DATABASE=DiBcom USB DVB-T reference design (MOD300) (warm)
-
-usb:v10B8p0BC6*
- ID_PRODUCT_FROM_DATABASE=DiBcom USB2.0 DVB-T reference design (MOD3000P) (cold)
-
-usb:v10B8p0BC7*
- ID_PRODUCT_FROM_DATABASE=DiBcom USB2.0 DVB-T reference design (MOD3000P) (warm)
-
-usb:v10BB*
- ID_VENDOR_FROM_DATABASE=TM Technology, Inc.
-
-usb:v10BC*
- ID_VENDOR_FROM_DATABASE=Dinging Technology Co., Ltd
-
-usb:v10BD*
- ID_VENDOR_FROM_DATABASE=TMT Technology, Inc.
-
-usb:v10BDp1427*
- ID_PRODUCT_FROM_DATABASE=Ethernet
-
-usb:v10BF*
- ID_VENDOR_FROM_DATABASE=SmartHome
-
-usb:v10BFp0001*
- ID_PRODUCT_FROM_DATABASE=SmartHome PowerLinc
-
-usb:v10C4*
- ID_VENDOR_FROM_DATABASE=Cygnal Integrated Products, Inc.
-
-usb:v10C4p0002*
- ID_PRODUCT_FROM_DATABASE=F32x USBXpress Device
-
-usb:v10C4p0003*
- ID_PRODUCT_FROM_DATABASE=CommandIR
-
-usb:v10C4p8030*
- ID_PRODUCT_FROM_DATABASE=K4JRG Ham Radio devices
-
-usb:v10C4p8044*
- ID_PRODUCT_FROM_DATABASE=USB Debug Adapter
-
-usb:v10C4p804E*
- ID_PRODUCT_FROM_DATABASE=Software Bisque Paramount ME
-
-usb:v10C4p80A9*
- ID_PRODUCT_FROM_DATABASE=CP210x to UART Bridge Controller
-
-usb:v10C4p80CA*
- ID_PRODUCT_FROM_DATABASE=ATM2400 Sensor Device
-
-usb:v10C4p813F*
- ID_PRODUCT_FROM_DATABASE=tams EasyControl
-
-usb:v10C4p8149*
- ID_PRODUCT_FROM_DATABASE=West Mountain Radio Computerized Battery Analyzer
-
-usb:v10C4p814A*
- ID_PRODUCT_FROM_DATABASE=West Mountain Radio RIGblaster P&P
-
-usb:v10C4p814B*
- ID_PRODUCT_FROM_DATABASE=West Mountain Radio RIGtalk
-
-usb:v10C4p818A*
- ID_PRODUCT_FROM_DATABASE=Silicon Labs FM Radio Reference Design
-
-usb:v10C4p81E8*
- ID_PRODUCT_FROM_DATABASE=Zephyr BioHarness
-
-usb:v10C4p8460*
- ID_PRODUCT_FROM_DATABASE=Sangoma Wanpipe VoiceTime
-
-usb:v10C4p8461*
- ID_PRODUCT_FROM_DATABASE=Sangoma U100
-
-usb:v10C4p8477*
- ID_PRODUCT_FROM_DATABASE=Balluff RFID Reader
-
-usb:v10C4p8605*
- ID_PRODUCT_FROM_DATABASE=dilitronics ESoLUX solar lighting controller
-
-usb:v10C4p86BC*
- ID_PRODUCT_FROM_DATABASE=C8051F34x AudioDelay [AD-340]
-
-usb:v10C4p8789*
- ID_PRODUCT_FROM_DATABASE=C8051F34x Extender & EDID MGR [EMX-DVI]
-
-usb:v10C4p87BE*
- ID_PRODUCT_FROM_DATABASE=C8051F34x HDMI Audio Extractor [EMX-HD-AUD]
-
-usb:v10C4pEA60*
- ID_PRODUCT_FROM_DATABASE=CP210x UART Bridge / myAVR mySmartUSB light
-
-usb:v10C4pEA61*
- ID_PRODUCT_FROM_DATABASE=CP210x UART Bridge
-
-usb:v10C4pEA70*
- ID_PRODUCT_FROM_DATABASE=CP210x UART Bridge
-
-usb:v10C4pEA80*
- ID_PRODUCT_FROM_DATABASE=CP210x UART Bridge
-
-usb:v10C5*
- ID_VENDOR_FROM_DATABASE=Sanei Electric, Inc.
-
-usb:v10C5p819A*
- ID_PRODUCT_FROM_DATABASE=FM Radio
-
-usb:v10C6*
- ID_VENDOR_FROM_DATABASE=Intec, Inc.
-
-usb:v10CB*
- ID_VENDOR_FROM_DATABASE=Eratech
-
-usb:v10CC*
- ID_VENDOR_FROM_DATABASE=GBM Connector Co., Ltd
-
-usb:v10CCp1101*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v10CD*
- ID_VENDOR_FROM_DATABASE=Kycon, Inc.
-
-usb:v10CE*
- ID_VENDOR_FROM_DATABASE=Silicon Labs
-
-usb:v10CEpEA6A*
- ID_PRODUCT_FROM_DATABASE=MobiData EDGE USB Modem
-
-usb:v10CF*
- ID_VENDOR_FROM_DATABASE=Velleman Components, Inc.
-
-usb:v10CFp2011*
- ID_PRODUCT_FROM_DATABASE=R-Engine MPEG2 encoder/decoder
-
-usb:v10CFp5500*
- ID_PRODUCT_FROM_DATABASE=8055 Experiment Interface Board (address=0)
-
-usb:v10CFp5501*
- ID_PRODUCT_FROM_DATABASE=8055 Experiment Interface Board (address=1)
-
-usb:v10CFp5502*
- ID_PRODUCT_FROM_DATABASE=8055 Experiment Interface Board (address=2)
-
-usb:v10CFp5503*
- ID_PRODUCT_FROM_DATABASE=8055 Experiment Interface Board (address=3)
-
-usb:v10D1*
- ID_VENDOR_FROM_DATABASE=Hottinger Baldwin Measurement
-
-usb:v10D1p0101*
- ID_PRODUCT_FROM_DATABASE=USB-Module for Spider8, CP32
-
-usb:v10D1p0202*
- ID_PRODUCT_FROM_DATABASE=CP22 - Communication Processor
-
-usb:v10D1p0301*
- ID_PRODUCT_FROM_DATABASE=CP42 - Communication Processor
-
-usb:v10D4*
- ID_VENDOR_FROM_DATABASE=Man Boon Manufactory, Ltd
-
-usb:v10D5*
- ID_VENDOR_FROM_DATABASE=Uni Class Technology Co., Ltd
-
-usb:v10D5p5552*
- ID_PRODUCT_FROM_DATABASE=KVM Human Interface Composite Device (Keyboard/Mouse ports)
-
-usb:v10D5p55A2*
- ID_PRODUCT_FROM_DATABASE=2Port KVMSwitcher
-
-usb:v10D6*
- ID_VENDOR_FROM_DATABASE=Actions Semiconductor Co., Ltd
-
-usb:v10D6p1000*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v10D6p1100*
- ID_PRODUCT_FROM_DATABASE=MPMan MP-Ki 128 MP3 Player/Recorder
-
-usb:v10D6p1101*
- ID_PRODUCT_FROM_DATABASE=D-Wave 2GB MP4 Player / AK1025 MP3/MP4 Player
-
-usb:v10D6p2200*
- ID_PRODUCT_FROM_DATABASE=Acer MP-120 MP3 player
-
-usb:v10D6p8888*
- ID_PRODUCT_FROM_DATABASE=ADFU Device
-
-usb:v10D6pFF51*
- ID_PRODUCT_FROM_DATABASE=ADFU Device
-
-usb:v10D6pFF61*
- ID_PRODUCT_FROM_DATABASE=MP4 Player
-
-usb:v10D6pFF66*
- ID_PRODUCT_FROM_DATABASE=Craig 2GB MP3/Video Player
-
-usb:v10DE*
- ID_VENDOR_FROM_DATABASE=Authenex, Inc.
-
-usb:v10DF*
- ID_VENDOR_FROM_DATABASE=In-Win Development, Inc.
-
-usb:v10DFp0500*
- ID_PRODUCT_FROM_DATABASE=iAPP CR-e500 Card reader
-
-usb:v10E0*
- ID_VENDOR_FROM_DATABASE=Post-Op Video, Inc.
-
-usb:v10E1*
- ID_VENDOR_FROM_DATABASE=CablePlus, Ltd
-
-usb:v10E2*
- ID_VENDOR_FROM_DATABASE=Nada Electronics, Ltd
-
-usb:v10EC*
- ID_VENDOR_FROM_DATABASE=Vast Technologies, Inc.
-
-usb:v10F0*
- ID_VENDOR_FROM_DATABASE=Nexio Co., Ltd
-
-usb:v10F0p2002*
- ID_PRODUCT_FROM_DATABASE=iNexio Touchscreen controller
-
-usb:v10F1*
- ID_VENDOR_FROM_DATABASE=Importek
-
-usb:v10F1p1A08*
- ID_PRODUCT_FROM_DATABASE=Internal Webcam
-
-usb:v10F1p1A1E*
- ID_PRODUCT_FROM_DATABASE=Laptop Integrated Webcam 1.3M
-
-usb:v10F1p1A2A*
- ID_PRODUCT_FROM_DATABASE=Laptop Integrated Webcam
-
-usb:v10F5*
- ID_VENDOR_FROM_DATABASE=Turtle Beach
-
-usb:v10F5p0200*
- ID_PRODUCT_FROM_DATABASE=Audio Advantage Roadie
-
-usb:v10FB*
- ID_VENDOR_FROM_DATABASE=Pictos Technologies, Inc.
-
-usb:v10FD*
- ID_VENDOR_FROM_DATABASE=Anubis Electronics, Ltd
-
-usb:v10FDp7E50*
- ID_PRODUCT_FROM_DATABASE=FlyCam Usb 100
-
-usb:v10FDp804D*
- ID_PRODUCT_FROM_DATABASE=Typhoon Webshot II Webcam [zc0301]
-
-usb:v10FDp8050*
- ID_PRODUCT_FROM_DATABASE=FlyCAM-USB 300 XP2
-
-usb:v10FDpDE00*
- ID_PRODUCT_FROM_DATABASE=WinFast WalkieTV WDM Capture Driver.
-
-usb:v10FE*
- ID_VENDOR_FROM_DATABASE=Thrane & Thrane
-
-usb:v10FEp000C*
- ID_PRODUCT_FROM_DATABASE=TT-3750 BGAN-XL Radio Module
-
-usb:v1100*
- ID_VENDOR_FROM_DATABASE=VirTouch, Ltd
-
-usb:v1100p0001*
- ID_PRODUCT_FROM_DATABASE=VTPlayer VTP-1 Braille Mouse
-
-usb:v1101*
- ID_VENDOR_FROM_DATABASE=EasyPass Industrial Co., Ltd
-
-usb:v1101p0001*
- ID_PRODUCT_FROM_DATABASE=FSK Electronics Super GSM Reader
-
-usb:v1108*
- ID_VENDOR_FROM_DATABASE=Brightcom Technologies, Ltd
-
-usb:v110A*
- ID_VENDOR_FROM_DATABASE=Moxa Technologies Co., Ltd.
-
-usb:v110Ap1250*
- ID_PRODUCT_FROM_DATABASE=UPort 1250 2-Port RS-232/422/485
-
-usb:v110Ap1251*
- ID_PRODUCT_FROM_DATABASE=UPort 1250I 2-Port RS-232/422/485 with Isolation
-
-usb:v110Ap1410*
- ID_PRODUCT_FROM_DATABASE=UPort 1410 4-Port RS-232
-
-usb:v110Ap1450*
- ID_PRODUCT_FROM_DATABASE=UPort 1450 4-Port RS-232/422/485
-
-usb:v110Ap1451*
- ID_PRODUCT_FROM_DATABASE=UPort 1450I 4-Port RS-232/422/485 with Isolation
-
-usb:v110Ap1613*
- ID_PRODUCT_FROM_DATABASE=UPort 1610-16 16-Port RS-232
-
-usb:v110Ap1618*
- ID_PRODUCT_FROM_DATABASE=UPort 1610-8 8-Port RS-232
-
-usb:v110Ap1653*
- ID_PRODUCT_FROM_DATABASE=UPort 1650-16 16-Port RS-232/422/485
-
-usb:v110Ap1658*
- ID_PRODUCT_FROM_DATABASE=UPort 1650-8 8-Port RS-232/422/485
-
-usb:v1110*
- ID_VENDOR_FROM_DATABASE=Analog Devices Canada, Ltd (Allied Telesyn)
-
-usb:v1110p5C01*
- ID_PRODUCT_FROM_DATABASE=Huawei MT-882 Remote NDIS Network Device
-
-usb:v1110p6489*
- ID_PRODUCT_FROM_DATABASE=ADSL ETH/USB RTR
-
-usb:v1110p9000*
- ID_PRODUCT_FROM_DATABASE=ADSL LAN Adapter
-
-usb:v1110p9001*
- ID_PRODUCT_FROM_DATABASE=ADSL Loader
-
-usb:v1110p900F*
- ID_PRODUCT_FROM_DATABASE=AT-AR215 DSL Modem
-
-usb:v1110p9010*
- ID_PRODUCT_FROM_DATABASE=AT-AR215 DSL Modem
-
-usb:v1110p9021*
- ID_PRODUCT_FROM_DATABASE=ADSL WAN Adapter
-
-usb:v1110p9022*
- ID_PRODUCT_FROM_DATABASE=ADSL Loader
-
-usb:v1110p9023*
- ID_PRODUCT_FROM_DATABASE=ADSL WAN Adapter
-
-usb:v1110p9024*
- ID_PRODUCT_FROM_DATABASE=ADSL Loader
-
-usb:v1110p9031*
- ID_PRODUCT_FROM_DATABASE=ADSL LAN Adapter
-
-usb:v1110p9032*
- ID_PRODUCT_FROM_DATABASE=ADSL Loader
-
-usb:v1111*
- ID_VENDOR_FROM_DATABASE=Pandora International Ltd.
-
-usb:v1111p8888*
- ID_PRODUCT_FROM_DATABASE=Evolution Device
-
-usb:v1112*
- ID_VENDOR_FROM_DATABASE=YM ELECTRIC CO., Ltd
-
-usb:v1113*
- ID_VENDOR_FROM_DATABASE=Medion AG
-
-usb:v1113pA0A2*
- ID_PRODUCT_FROM_DATABASE=Active Sync device
-
-usb:v111E*
- ID_VENDOR_FROM_DATABASE=VSO Electric Co., Ltd
-
-usb:v112A*
- ID_VENDOR_FROM_DATABASE=RedRat
-
-usb:v112Ap0001*
- ID_PRODUCT_FROM_DATABASE=RedRat3 IR Transceiver
-
-usb:v112Ap0005*
- ID_PRODUCT_FROM_DATABASE=RedRat3II IR Transceiver
-
-usb:v112E*
- ID_VENDOR_FROM_DATABASE=Master Hill Electric Wire and Cable Co., Ltd
-
-usb:v112F*
- ID_VENDOR_FROM_DATABASE=Cellon International, Inc.
-
-usb:v1130*
- ID_VENDOR_FROM_DATABASE=Tenx Technology, Inc.
-
-usb:v1130p0002*
- ID_PRODUCT_FROM_DATABASE=iBuddy
-
-usb:v1130p0202*
- ID_PRODUCT_FROM_DATABASE=Rocket Launcher
-
-usb:v1130p6604*
- ID_PRODUCT_FROM_DATABASE=MCE IR-Receiver
-
-usb:v1130p660C*
- ID_PRODUCT_FROM_DATABASE=Foot Pedal/Thermometer
-
-usb:v1130p6806*
- ID_PRODUCT_FROM_DATABASE=Keychain photo frame
-
-usb:v1130pF211*
- ID_PRODUCT_FROM_DATABASE=TP6911 Audio Headset
-
-usb:v1131*
- ID_VENDOR_FROM_DATABASE=Integrated System Solution Corp.
-
-usb:v1131p1001*
- ID_PRODUCT_FROM_DATABASE=KY-BT100 Bluetooth Adapter
-
-usb:v1131p1002*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v1131p1003*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v1131p1004*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v1132*
- ID_VENDOR_FROM_DATABASE=Toshiba Corp., Digital Media Equipment [hex]
-
-usb:v1132p4331*
- ID_PRODUCT_FROM_DATABASE=PDR-M4/M5/M70 Digital Camera
-
-usb:v1132p4332*
- ID_PRODUCT_FROM_DATABASE=PDR-M60 Digital Camera
-
-usb:v1132p4333*
- ID_PRODUCT_FROM_DATABASE=PDR-M2300/PDR-M700
-
-usb:v1132p4334*
- ID_PRODUCT_FROM_DATABASE=PDR-M65
-
-usb:v1132p4335*
- ID_PRODUCT_FROM_DATABASE=PDR-M61
-
-usb:v1132p4337*
- ID_PRODUCT_FROM_DATABASE=PDR-M11
-
-usb:v1132p4338*
- ID_PRODUCT_FROM_DATABASE=PDR-M25
-
-usb:v1136*
- ID_VENDOR_FROM_DATABASE=CTS Electronincs
-
-usb:v1136p3131*
- ID_PRODUCT_FROM_DATABASE=CTS LS515
-
-usb:v113C*
- ID_VENDOR_FROM_DATABASE=Arin Tech Co., Ltd
-
-usb:v113D*
- ID_VENDOR_FROM_DATABASE=Mapower Electronics Co., Ltd
-
-usb:v1141*
- ID_VENDOR_FROM_DATABASE=V One Multimedia, Pte., Ltd
-
-usb:v1142*
- ID_VENDOR_FROM_DATABASE=CyberScan Technologies, Inc.
-
-usb:v1145*
- ID_VENDOR_FROM_DATABASE=Japan Radio Company
-
-usb:v1145p0001*
- ID_PRODUCT_FROM_DATABASE=AirH PHONE AH-J3001V/J3002V
-
-usb:v1146*
- ID_VENDOR_FROM_DATABASE=Shimane SANYO Electric Co., Ltd.
-
-usb:v1147*
- ID_VENDOR_FROM_DATABASE=Ever Great Electric Wire and Cable Co., Ltd
-
-usb:v114B*
- ID_VENDOR_FROM_DATABASE=Sphairon Access Systems GmbH
-
-usb:v114Bp0110*
- ID_PRODUCT_FROM_DATABASE=Turbolink UB801R WLAN Adapter
-
-usb:v114Bp0150*
- ID_PRODUCT_FROM_DATABASE=Turbolink UB801RE Wireless 802.11g 54Mbps Network Adapter [RTL8187]
-
-usb:v114C*
- ID_VENDOR_FROM_DATABASE=Tinius Olsen Testing Machine Co., Inc.
-
-usb:v114D*
- ID_VENDOR_FROM_DATABASE=Alpha Imaging Technology Corp.
-
-usb:v114F*
- ID_VENDOR_FROM_DATABASE=Wavecom
-
-usb:v115B*
- ID_VENDOR_FROM_DATABASE=Salix Technology Co., Ltd.
-
-usb:v1162*
- ID_VENDOR_FROM_DATABASE=Secugen Corp.
-
-usb:v1163*
- ID_VENDOR_FROM_DATABASE=DeLorme Publishing, Inc.
-
-usb:v1163p0100*
- ID_PRODUCT_FROM_DATABASE=Earthmate GPS (orig)
-
-usb:v1163p0200*
- ID_PRODUCT_FROM_DATABASE=Earthmate GPS (LT-20, LT-40)
-
-usb:v1163p2020*
- ID_PRODUCT_FROM_DATABASE=Earthmate GPS (PN-40)
-
-usb:v1164*
- ID_VENDOR_FROM_DATABASE=YUAN High-Tech Development Co., Ltd
-
-usb:v1164p0300*
- ID_PRODUCT_FROM_DATABASE=ELSAVISION 460D
-
-usb:v1164p0601*
- ID_PRODUCT_FROM_DATABASE=Analog TV Tuner
-
-usb:v1164p0900*
- ID_PRODUCT_FROM_DATABASE=TigerBird BMP837 USB2.0 WDM Encoder
-
-usb:v1164p0BC7*
- ID_PRODUCT_FROM_DATABASE=Digital TV Tuner
-
-usb:v1164p521B*
- ID_PRODUCT_FROM_DATABASE=MC521A mini Card ATSC Tuner
-
-usb:v1164p6601*
- ID_PRODUCT_FROM_DATABASE=Digital TV Tuner Card [RTL2832U]
-
-usb:v1165*
- ID_VENDOR_FROM_DATABASE=Telson Electronics Co., Ltd
-
-usb:v1166*
- ID_VENDOR_FROM_DATABASE=Bantam Interactive Technologies
-
-usb:v1167*
- ID_VENDOR_FROM_DATABASE=Salient Systems Corp.
-
-usb:v1168*
- ID_VENDOR_FROM_DATABASE=BizConn International Corp.
-
-usb:v116E*
- ID_VENDOR_FROM_DATABASE=Gigastorage Corp.
-
-usb:v116F*
- ID_VENDOR_FROM_DATABASE=Silicon 10 Technology Corp.
-
-usb:v116Fp0005*
- ID_PRODUCT_FROM_DATABASE=Flash Card Reader
-
-usb:v116FpC108*
- ID_PRODUCT_FROM_DATABASE=Flash Card Reader
-
-usb:v116FpC109*
- ID_PRODUCT_FROM_DATABASE=Flash Card Reader
-
-usb:v1175*
- ID_VENDOR_FROM_DATABASE=Shengyih Steel Mold Co., Ltd
-
-usb:v117D*
- ID_VENDOR_FROM_DATABASE=Santa Electronic, Inc.
-
-usb:v117E*
- ID_VENDOR_FROM_DATABASE=JNC, Inc.
-
-usb:v1182*
- ID_VENDOR_FROM_DATABASE=Venture Corp., Ltd
-
-usb:v1183*
- ID_VENDOR_FROM_DATABASE=Compaq Computer Corp. [hex] (Digital Dream ??)
-
-usb:v1183p0001*
- ID_PRODUCT_FROM_DATABASE=DigitalDream l'espion XS
-
-usb:v1183p19C7*
- ID_PRODUCT_FROM_DATABASE=ISDN TA
-
-usb:v1183p4008*
- ID_PRODUCT_FROM_DATABASE=56k FaxModem
-
-usb:v1183p504A*
- ID_PRODUCT_FROM_DATABASE=PJB-100 Personal Jukebox
-
-usb:v1184*
- ID_VENDOR_FROM_DATABASE=Kyocera Elco Corp.
-
-usb:v1188*
- ID_VENDOR_FROM_DATABASE=Bloomberg L.P.
-
-usb:v1189*
- ID_VENDOR_FROM_DATABASE=Acer Communications & Multimedia
-
-usb:v1189p0893*
- ID_PRODUCT_FROM_DATABASE=EP-1427X-2 Ethernet Adapter [Acer]
-
-usb:v118F*
- ID_VENDOR_FROM_DATABASE=You Yang Technology Co., Ltd
-
-usb:v1190*
- ID_VENDOR_FROM_DATABASE=Tripace
-
-usb:v1191*
- ID_VENDOR_FROM_DATABASE=Loyalty Founder Enterprise Co., Ltd
-
-usb:v1196*
- ID_VENDOR_FROM_DATABASE=Yankee Robotics, LLC
-
-usb:v1196p0010*
- ID_PRODUCT_FROM_DATABASE=Trifid Camera without code
-
-usb:v1196p0011*
- ID_PRODUCT_FROM_DATABASE=Trifid Camera
-
-usb:v1197*
- ID_VENDOR_FROM_DATABASE=Technoimagia Co., Ltd
-
-usb:v1198*
- ID_VENDOR_FROM_DATABASE=StarShine Technology Corp.
-
-usb:v1199*
- ID_VENDOR_FROM_DATABASE=Sierra Wireless, Inc.
-
-usb:v1199p0019*
- ID_PRODUCT_FROM_DATABASE=AC595U
-
-usb:v1199p0021*
- ID_PRODUCT_FROM_DATABASE=AC597E
-
-usb:v1199p0024*
- ID_PRODUCT_FROM_DATABASE=MC5727 CDMA modem
-
-usb:v1199p0110*
- ID_PRODUCT_FROM_DATABASE=Composite Device
-
-usb:v1199p0112*
- ID_PRODUCT_FROM_DATABASE=CDMA 1xEVDO PC Card, AirCard 580
-
-usb:v1199p0120*
- ID_PRODUCT_FROM_DATABASE=AC595U
-
-usb:v1199p0218*
- ID_PRODUCT_FROM_DATABASE=MC5720 Wireless Modem
-
-usb:v1199p6467*
- ID_PRODUCT_FROM_DATABASE=MP Series Network Adapter
-
-usb:v1199p6468*
- ID_PRODUCT_FROM_DATABASE=MP Series Network Adapter
-
-usb:v1199p6469*
- ID_PRODUCT_FROM_DATABASE=MP Series Network Adapter
-
-usb:v1199p6802*
- ID_PRODUCT_FROM_DATABASE=MC8755 Device
-
-usb:v1199p6803*
- ID_PRODUCT_FROM_DATABASE=MC8765 Device
-
-usb:v1199p6804*
- ID_PRODUCT_FROM_DATABASE=MC8755 Device
-
-usb:v1199p6805*
- ID_PRODUCT_FROM_DATABASE=MC8765 Device
-
-usb:v1199p6812*
- ID_PRODUCT_FROM_DATABASE=MC8775 Device
-
-usb:v1199p6820*
- ID_PRODUCT_FROM_DATABASE=AC875 Device
-
-usb:v1199p6832*
- ID_PRODUCT_FROM_DATABASE=MC8780 Device
-
-usb:v1199p6833*
- ID_PRODUCT_FROM_DATABASE=MC8781 Device
-
-usb:v1199p683A*
- ID_PRODUCT_FROM_DATABASE=MC8785 Device
-
-usb:v1199p683C*
- ID_PRODUCT_FROM_DATABASE=MC8790 Device
-
-usb:v1199p6850*
- ID_PRODUCT_FROM_DATABASE=AirCard 880 Device
-
-usb:v1199p6851*
- ID_PRODUCT_FROM_DATABASE=AirCard 881 Device
-
-usb:v1199p6852*
- ID_PRODUCT_FROM_DATABASE=AirCard 880E Device
-
-usb:v1199p6853*
- ID_PRODUCT_FROM_DATABASE=AirCard 881E Device
-
-usb:v1199p6854*
- ID_PRODUCT_FROM_DATABASE=AirCard 885 Device
-
-usb:v1199p6856*
- ID_PRODUCT_FROM_DATABASE=ATT "USB Connect 881"
-
-usb:v1199p6870*
- ID_PRODUCT_FROM_DATABASE=MC8780 Device
-
-usb:v1199p6871*
- ID_PRODUCT_FROM_DATABASE=MC8781 Device
-
-usb:v1199p6893*
- ID_PRODUCT_FROM_DATABASE=MC8777 Device
-
-usb:v1199p68A3*
- ID_PRODUCT_FROM_DATABASE=MC8700 Modem
-
-usb:v1199p68AA*
- ID_PRODUCT_FROM_DATABASE=4G LTE adapter
-
-usb:v1199p9000*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem (QDL mode)
-
-usb:v1199p9001*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem
-
-usb:v1199p9002*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem
-
-usb:v1199p9003*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem
-
-usb:v1199p9004*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem
-
-usb:v1199p9005*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem
-
-usb:v1199p9006*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem
-
-usb:v1199p9007*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem
-
-usb:v1199p9008*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem
-
-usb:v1199p9009*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem
-
-usb:v1199p900A*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem
-
-usb:v119A*
- ID_VENDOR_FROM_DATABASE=ZHAN QI Technology Co., Ltd
-
-usb:v119B*
- ID_VENDOR_FROM_DATABASE=ruwido austria GmbH
-
-usb:v119Bp0400*
- ID_PRODUCT_FROM_DATABASE=Infrared Keyboard V2.01
-
-usb:v11A0*
- ID_VENDOR_FROM_DATABASE=Chipcon AS
-
-usb:v11A0pEB11*
- ID_PRODUCT_FROM_DATABASE=CC2400EB 2.0 ZigBee Sniffer
-
-usb:v11A3*
- ID_VENDOR_FROM_DATABASE=Technovas Co., Ltd
-
-usb:v11A3p8031*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v11A3p8032*
- ID_PRODUCT_FROM_DATABASE=MP3 Player
-
-usb:v11AA*
- ID_VENDOR_FROM_DATABASE=GlobalMedia Group, LLC
-
-usb:v11AAp1518*
- ID_PRODUCT_FROM_DATABASE=iREZ K2
-
-usb:v11AB*
- ID_VENDOR_FROM_DATABASE=Exito Electronics Co., Ltd
-
-usb:v11B0*
- ID_VENDOR_FROM_DATABASE=ATECH FLASH TECHNOLOGY
-
-usb:v11C5*
- ID_VENDOR_FROM_DATABASE=Inmax
-
-usb:v11C5p0521*
- ID_PRODUCT_FROM_DATABASE=IMT-0521 Smartcard Reader
-
-usb:v11DB*
- ID_VENDOR_FROM_DATABASE=Topfield Co., Ltd.
-
-usb:v11DBp1000*
- ID_PRODUCT_FROM_DATABASE=PVR
-
-usb:v11DBp1100*
- ID_PRODUCT_FROM_DATABASE=PVR
-
-usb:v11E6*
- ID_VENDOR_FROM_DATABASE=K.I. Technology Co. Ltd.
-
-usb:v11F5*
- ID_VENDOR_FROM_DATABASE=Siemens AG
-
-usb:v11F5p0001*
- ID_PRODUCT_FROM_DATABASE=SX1
-
-usb:v11F5p0003*
- ID_PRODUCT_FROM_DATABASE=Mobile phone USB cable
-
-usb:v11F5p0004*
- ID_PRODUCT_FROM_DATABASE=X75
-
-usb:v11F5p0005*
- ID_PRODUCT_FROM_DATABASE=SXG75/EF81
-
-usb:v11F5p0008*
- ID_PRODUCT_FROM_DATABASE=UMTS/HSDPA Data Card
-
-usb:v11F6*
- ID_VENDOR_FROM_DATABASE=Prolific
-
-usb:v11F6p2001*
- ID_PRODUCT_FROM_DATABASE=Willcom WSIM
-
-usb:v11F7*
- ID_VENDOR_FROM_DATABASE=Alcatel (?)
-
-usb:v11F7p02DF*
- ID_PRODUCT_FROM_DATABASE=TD10 Mobile phone USB cable
-
-usb:v1203*
- ID_VENDOR_FROM_DATABASE=TSC Auto ID Technology Co., Ltd
-
-usb:v1203p0140*
- ID_PRODUCT_FROM_DATABASE=TTP-245C
-
-usb:v1209*
- ID_VENDOR_FROM_DATABASE=InterBiometrics
-
-usb:v1209p1001*
- ID_PRODUCT_FROM_DATABASE=USB Hub
-
-usb:v1209p1002*
- ID_PRODUCT_FROM_DATABASE=USB Relais
-
-usb:v1209p1003*
- ID_PRODUCT_FROM_DATABASE=IBSecureCam-P
-
-usb:v1209p1004*
- ID_PRODUCT_FROM_DATABASE=IBSecureCam-O
-
-usb:v1209p1005*
- ID_PRODUCT_FROM_DATABASE=IBSecureCam-N
-
-usb:v120E*
- ID_VENDOR_FROM_DATABASE=Hudson Soft Co., Ltd
-
-usb:v120F*
- ID_VENDOR_FROM_DATABASE=Magellan
-
-usb:v120Fp524E*
- ID_PRODUCT_FROM_DATABASE=RoadMate 1475T
-
-usb:v120Fp5260*
- ID_PRODUCT_FROM_DATABASE=Triton Handheld GPS Receiver (300/400/500/1500/2000)
-
-usb:v1210*
- ID_VENDOR_FROM_DATABASE=DigiTech
-
-usb:v1210p001B*
- ID_PRODUCT_FROM_DATABASE=RP155 Guitar Multi-Effects Processor
-
-usb:v1210p001C*
- ID_PRODUCT_FROM_DATABASE=RP255 Guitar Multi-Effects Processor
-
-usb:v121E*
- ID_VENDOR_FROM_DATABASE=Jungsoft Co., Ltd
-
-usb:v121Ep3403*
- ID_PRODUCT_FROM_DATABASE=Muzio JM250 Audio Player
-
-usb:v1223*
- ID_VENDOR_FROM_DATABASE=SKYCABLE ENTERPRISE. CO., LTD.
-
-usb:v1230*
- ID_VENDOR_FROM_DATABASE=Chipidea-Microelectronica, S.A.
-
-usb:v1233*
- ID_VENDOR_FROM_DATABASE=Denver Electronics
-
-usb:v1233p5677*
- ID_PRODUCT_FROM_DATABASE=FUSB200 mp3 player
-
-usb:v1234*
- ID_VENDOR_FROM_DATABASE=Brain Actuated Technologies
-
-usb:v1234p0000*
- ID_PRODUCT_FROM_DATABASE=Neural Impulse Actuator Prototype 1.0 [NIA]
-
-usb:v1234p4321*
- ID_PRODUCT_FROM_DATABASE=Human Interface Device
-
-usb:v1234pED02*
- ID_PRODUCT_FROM_DATABASE=Emotiv EPOC Developer Headset Wireless Dongle
-
-usb:v1235*
- ID_VENDOR_FROM_DATABASE=Novation EMS
-
-usb:v1235p0001*
- ID_PRODUCT_FROM_DATABASE=ReMOTE Audio/XStation
-
-usb:v1235p0002*
- ID_PRODUCT_FROM_DATABASE=Speedio
-
-usb:v1235p0003*
- ID_PRODUCT_FROM_DATABASE=ReMOTE ZeRO SL
-
-usb:v1235p4661*
- ID_PRODUCT_FROM_DATABASE=ReMOTE25
-
-usb:v1235p8006*
- ID_PRODUCT_FROM_DATABASE=Focusrite Scarlett 2i2
-
-usb:v1241*
- ID_VENDOR_FROM_DATABASE=Belkin
-
-usb:v1241p1111*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v1241p1122*
- ID_PRODUCT_FROM_DATABASE=Typhoon Stream Optical Mouse USB+PS/2
-
-usb:v1241p1155*
- ID_PRODUCT_FROM_DATABASE=PS2/USB Browser Combo Mouse
-
-usb:v1241p1166*
- ID_PRODUCT_FROM_DATABASE=MI-2150 Trust Mouse
-
-usb:v1241p1177*
- ID_PRODUCT_FROM_DATABASE=F8E842-DL Mouse
-
-usb:v1241p1503*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v1241p1603*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v124A*
- ID_VENDOR_FROM_DATABASE=AirVast
-
-usb:v124Ap168B*
- ID_PRODUCT_FROM_DATABASE=PRISM3 WLAN Adapter
-
-usb:v124Ap4017*
- ID_PRODUCT_FROM_DATABASE=PC-Chips 802.11b Adapter
-
-usb:v124Ap4023*
- ID_PRODUCT_FROM_DATABASE=WM168g 802.11bg Wireless Adapter [Intersil ISL3886]
-
-usb:v124Ap4025*
- ID_PRODUCT_FROM_DATABASE=IOGear GWU513 v2 802.11bg Wireless Adapter [Intersil ISL3887]
-
-usb:v124B*
- ID_VENDOR_FROM_DATABASE=Nyko (Honey Bee)
-
-usb:v124Bp4D01*
- ID_PRODUCT_FROM_DATABASE=Airflo EX Joystick
-
-usb:v124C*
- ID_VENDOR_FROM_DATABASE=MXI - Memory Experts International, Inc.
-
-usb:v124Cp3200*
- ID_PRODUCT_FROM_DATABASE=Stealth MXP 1GB
-
-usb:v125C*
- ID_VENDOR_FROM_DATABASE=Apogee Inc.
-
-usb:v125Cp0010*
- ID_PRODUCT_FROM_DATABASE=Alta series CCD
-
-usb:v125F*
- ID_VENDOR_FROM_DATABASE=A-DATA Technology Co., Ltd.
-
-usb:v125Fp312A*
- ID_PRODUCT_FROM_DATABASE=Superior S102
-
-usb:v125Fp312B*
- ID_PRODUCT_FROM_DATABASE=Superior S102 Pro
-
-usb:v125FpA91A*
- ID_PRODUCT_FROM_DATABASE=Portable HDD CH91
-
-usb:v125FpC08A*
- ID_PRODUCT_FROM_DATABASE=C008 Flash Drive
-
-usb:v125FpC81A*
- ID_PRODUCT_FROM_DATABASE=Flash drive
-
-usb:v125FpC93A*
- ID_PRODUCT_FROM_DATABASE=4GB Pen Drive
-
-usb:v125FpC96A*
- ID_PRODUCT_FROM_DATABASE=C906 Flash Drive
-
-usb:v1260*
- ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
-
-usb:v1260pEE22*
- ID_PRODUCT_FROM_DATABASE=SMC2862W-G v3 EZ Connect 802.11g Adapter [Intersil ISL3887]
-
-usb:v1264*
- ID_VENDOR_FROM_DATABASE=Covidien Energy-based Devices
-
-usb:v1266*
- ID_VENDOR_FROM_DATABASE=Pirelli Broadband Solutions
-
-usb:v1266p6302*
- ID_PRODUCT_FROM_DATABASE=Fastweb DRG A226M ADSL Router
-
-usb:v1267*
- ID_VENDOR_FROM_DATABASE=Logic3 / SpectraVideo plc
-
-usb:v1267p0103*
- ID_PRODUCT_FROM_DATABASE=G-720 Keyboard
-
-usb:v1267p0201*
- ID_PRODUCT_FROM_DATABASE=A4Tech SWOP-3 Mouse
-
-usb:v1267p0210*
- ID_PRODUCT_FROM_DATABASE=LG Optical Mouse 3D-310
-
-usb:v1267pA001*
- ID_PRODUCT_FROM_DATABASE=JP260 PC Game Pad
-
-usb:v1267pC002*
- ID_PRODUCT_FROM_DATABASE=Wireless Optical Mouse
-
-usb:v126C*
- ID_VENDOR_FROM_DATABASE=Aristocrat Technologies
-
-usb:v126D*
- ID_VENDOR_FROM_DATABASE=Bel Stewart
-
-usb:v126E*
- ID_VENDOR_FROM_DATABASE=Strobe Data, Inc.
-
-usb:v126F*
- ID_VENDOR_FROM_DATABASE=TwinMOS
-
-usb:v126Fp0163*
- ID_PRODUCT_FROM_DATABASE=Storage device (2gB thumb drive)
-
-usb:v126Fp1325*
- ID_PRODUCT_FROM_DATABASE=Mobile Disk
-
-usb:v126Fp2168*
- ID_PRODUCT_FROM_DATABASE=Mobile Disk III
-
-usb:v126FpA006*
- ID_PRODUCT_FROM_DATABASE=G240 802.11bg
-
-usb:v1274*
- ID_VENDOR_FROM_DATABASE=Ensoniq
-
-usb:v1275*
- ID_VENDOR_FROM_DATABASE=Xaxero Marine Software Engineering, Ltd.
-
-usb:v1275p0002*
- ID_PRODUCT_FROM_DATABASE=WeatherFax 2000 Demodulator
-
-usb:v1275p0080*
- ID_PRODUCT_FROM_DATABASE=SkyEye Weather Satellite Receiver
-
-usb:v1278*
- ID_VENDOR_FROM_DATABASE=Starlight Xpress
-
-usb:v1278p0105*
- ID_PRODUCT_FROM_DATABASE=SXV-M5
-
-usb:v1278p0107*
- ID_PRODUCT_FROM_DATABASE=SXV-M7
-
-usb:v1278p0109*
- ID_PRODUCT_FROM_DATABASE=SXV-M9
-
-usb:v1278p0110*
- ID_PRODUCT_FROM_DATABASE=SXVF-H16
-
-usb:v1278p0115*
- ID_PRODUCT_FROM_DATABASE=SXVF-H5
-
-usb:v1278p0119*
- ID_PRODUCT_FROM_DATABASE=SXV-H9
-
-usb:v1278p0135*
- ID_PRODUCT_FROM_DATABASE=SXVF-H35
-
-usb:v1278p0136*
- ID_PRODUCT_FROM_DATABASE=SXVF-H36
-
-usb:v1278p0200*
- ID_PRODUCT_FROM_DATABASE=SXV interface for paraller MX cameras
-
-usb:v1278p0305*
- ID_PRODUCT_FROM_DATABASE=SXV-M5C
-
-usb:v1278p0307*
- ID_PRODUCT_FROM_DATABASE=SXV-M7C
-
-usb:v1278p0319*
- ID_PRODUCT_FROM_DATABASE=SXV-H9C
-
-usb:v1278p0325*
- ID_PRODUCT_FROM_DATABASE=SXV-M25C
-
-usb:v1278p0326*
- ID_PRODUCT_FROM_DATABASE=SXVR-M26C
-
-usb:v1278p0507*
- ID_PRODUCT_FROM_DATABASE=Lodestar autoguider
-
-usb:v1278p0517*
- ID_PRODUCT_FROM_DATABASE=CoStar
-
-usb:v1283*
- ID_VENDOR_FROM_DATABASE=zebris Medical GmbH
-
-usb:v1283p0100*
- ID_PRODUCT_FROM_DATABASE=USB-RS232 Adaptor
-
-usb:v1283p0110*
- ID_PRODUCT_FROM_DATABASE=CMS20
-
-usb:v1283p0111*
- ID_PRODUCT_FROM_DATABASE=CMS 10
-
-usb:v1283p0112*
- ID_PRODUCT_FROM_DATABASE=CMS 05
-
-usb:v1283p0114*
- ID_PRODUCT_FROM_DATABASE=ARCUS digma PC-Interface
-
-usb:v1283p0115*
- ID_PRODUCT_FROM_DATABASE=SAM Axioquick recorder
-
-usb:v1283p0116*
- ID_PRODUCT_FROM_DATABASE=SAM Axioquick recorder
-
-usb:v1283p0120*
- ID_PRODUCT_FROM_DATABASE=emed-X
-
-usb:v1283p0121*
- ID_PRODUCT_FROM_DATABASE=emed-AT
-
-usb:v1283p0130*
- ID_PRODUCT_FROM_DATABASE=PDM
-
-usb:v1283p0150*
- ID_PRODUCT_FROM_DATABASE=CMS10GI (Golf)
-
-usb:v1286*
- ID_VENDOR_FROM_DATABASE=Marvell Semiconductor, Inc.
-
-usb:v1286p1FAB*
- ID_PRODUCT_FROM_DATABASE=88W8338 [Libertas] 802.11g
-
-usb:v1286p2001*
- ID_PRODUCT_FROM_DATABASE=88W8388 802.11a/b/g WLAN
-
-usb:v1286p2006*
- ID_PRODUCT_FROM_DATABASE=88W8362 802.11n WLAN
-
-usb:v1286p8001*
- ID_PRODUCT_FROM_DATABASE=BLOB boot loader firmware
-
-usb:v1291*
- ID_VENDOR_FROM_DATABASE=Qualcomm Flarion Technologies, Inc. / Leadtek Research, Inc.
-
-usb:v1291p0010*
- ID_PRODUCT_FROM_DATABASE=FDM 2xxx Flash-OFDM modem
-
-usb:v1291p0011*
- ID_PRODUCT_FROM_DATABASE=LR7F06/LR7F14 Flash-OFDM modem
-
-usb:v1292*
- ID_VENDOR_FROM_DATABASE=Innomedia
-
-usb:v1292p0258*
- ID_PRODUCT_FROM_DATABASE=Creative Labs VoIP Blaster
-
-usb:v1293*
- ID_VENDOR_FROM_DATABASE=Belkin Components [hex]
-
-usb:v1293p0002*
- ID_PRODUCT_FROM_DATABASE=F5U002 Parallel Port [uss720]
-
-usb:v1293p2101*
- ID_PRODUCT_FROM_DATABASE=104-key keyboard
-
-usb:v1294*
- ID_VENDOR_FROM_DATABASE=RISO KAGAKU CORP.
-
-usb:v129B*
- ID_VENDOR_FROM_DATABASE=CyberTAN Technology
-
-usb:v129Bp160B*
- ID_PRODUCT_FROM_DATABASE=Siemens S30853-S1031-R351 802.11g Wireless Adapter [Atheros AR5523]
-
-usb:v129Bp160C*
- ID_PRODUCT_FROM_DATABASE=Siemens S30853-S1038-R351 802.11g Wireless Adapter [Atheros AR5523]
-
-usb:v129Bp1666*
- ID_PRODUCT_FROM_DATABASE=TG54USB 802.11bg
-
-usb:v129Bp1667*
- ID_PRODUCT_FROM_DATABASE=802.11bg
-
-usb:v129Bp1828*
- ID_PRODUCT_FROM_DATABASE=Gigaset USB Adapter 300
-
-usb:v12A7*
- ID_VENDOR_FROM_DATABASE=Trendchip Technologies Corp.
-
-usb:v12AB*
- ID_VENDOR_FROM_DATABASE=Honey Bee Electronic International Ltd.
-
-usb:v12B8*
- ID_VENDOR_FROM_DATABASE=Zhejiang Xinya Electronic Technology Co., Ltd.
-
-usb:v12BA*
- ID_VENDOR_FROM_DATABASE=Licensed by Sony Computer Entertainment America
-
-usb:v12BAp0100*
- ID_PRODUCT_FROM_DATABASE=RedOctane Guitar for PlayStation(R)3
-
-usb:v12BAp0120*
- ID_PRODUCT_FROM_DATABASE=RedOctane Drum Kit for PlayStation(R)3
-
-usb:v12BAp0200*
- ID_PRODUCT_FROM_DATABASE=Harmonix Guitar for PlayStation(R)3
-
-usb:v12BAp0210*
- ID_PRODUCT_FROM_DATABASE=Harmonix Drum Kit for PlayStation(R)3
-
-usb:v12C4*
- ID_VENDOR_FROM_DATABASE=Autocue Group Ltd
-
-usb:v12C4p0006*
- ID_PRODUCT_FROM_DATABASE=Teleprompter Two-button Hand Control (v1)
-
-usb:v12C4p0008*
- ID_PRODUCT_FROM_DATABASE=Teleprompter Foot Control (v1)
-
-usb:v12D1*
- ID_VENDOR_FROM_DATABASE=Huawei Technologies Co., Ltd.
-
-usb:v12D1p1001*
- ID_PRODUCT_FROM_DATABASE=E169/E620/E800 HSDPA Modem
-
-usb:v12D1p1003*
- ID_PRODUCT_FROM_DATABASE=E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem
-
-usb:v12D1p1004*
- ID_PRODUCT_FROM_DATABASE=E220 (bis)
-
-usb:v12D1p1009*
- ID_PRODUCT_FROM_DATABASE=U120
-
-usb:v12D1p1010*
- ID_PRODUCT_FROM_DATABASE=ETS2252+ CDMA Fixed Wireless Terminal
-
-usb:v12D1p1021*
- ID_PRODUCT_FROM_DATABASE=U8520
-
-usb:v12D1p1035*
- ID_PRODUCT_FROM_DATABASE=U8120
-
-usb:v12D1p1037*
- ID_PRODUCT_FROM_DATABASE=Ideos
-
-usb:v12D1p1038*
- ID_PRODUCT_FROM_DATABASE=Ideos (debug mode)
-
-usb:v12D1p1039*
- ID_PRODUCT_FROM_DATABASE=Ideos (tethering mode)
-
-usb:v12D1p1406*
- ID_PRODUCT_FROM_DATABASE=E1750
-
-usb:v12D1p140B*
- ID_PRODUCT_FROM_DATABASE=EC1260 Wireless Data Modem HSD USB Card
-
-usb:v12D1p1436*
- ID_PRODUCT_FROM_DATABASE=E173 3G Modem (modem-mode)
-
-usb:v12D1p1446*
- ID_PRODUCT_FROM_DATABASE=E1552/E1800/E173 (HSPA modem)
-
-usb:v12D1p1465*
- ID_PRODUCT_FROM_DATABASE=K3765 HSPA
-
-usb:v12D1p14C3*
- ID_PRODUCT_FROM_DATABASE=K5005 Vodafone LTE/UMTS/GSM Modem/Networkcard
-
-usb:v12D1p14C8*
- ID_PRODUCT_FROM_DATABASE=K5005 Vodafone LTE/UMTS/GSM MOdem/Networkcard
-
-usb:v12D1p14C9*
- ID_PRODUCT_FROM_DATABASE=K3770 3G Modem
-
-usb:v12D1p14D1*
- ID_PRODUCT_FROM_DATABASE=K3770 3G Modem (Mass Storage Mode)
-
-usb:v12D1p14F1*
- ID_PRODUCT_FROM_DATABASE=Gobi 3000 HSPA+ Modem
-
-usb:v12D1p1501*
- ID_PRODUCT_FROM_DATABASE=Pulse
-
-usb:v12D1p1505*
- ID_PRODUCT_FROM_DATABASE=E398 LTE/UMTS/GSM Modem/Networkcard
-
-usb:v12D1p1506*
- ID_PRODUCT_FROM_DATABASE=E398 LTE/UMTS/GSM Modem/Networkcard
-
-usb:v12D1p150A*
- ID_PRODUCT_FROM_DATABASE=E398 LTE/UMTS/GSM Modem/Networkcard
-
-usb:v12D1p1520*
- ID_PRODUCT_FROM_DATABASE=K3765 HSPA
-
-usb:v12D1p1521*
- ID_PRODUCT_FROM_DATABASE=K4505 HSPA+
-
-usb:v12D1p1805*
- ID_PRODUCT_FROM_DATABASE=AT&T Go Phone U2800A phone
-
-usb:v12D1p1C05*
- ID_PRODUCT_FROM_DATABASE=E173s 3G broadband stick (modem on)
-
-usb:v12D1p1C0B*
- ID_PRODUCT_FROM_DATABASE=E173s 3G broadband stick (modem off)
-
-usb:v12D1p1D50*
- ID_PRODUCT_FROM_DATABASE=ET302s TD-SCDMA/TD-HSDPA Mobile Broadband
-
-usb:v12D1p380B*
- ID_PRODUCT_FROM_DATABASE=WiMAX USB modem(s)
-
-usb:v12D2*
- ID_VENDOR_FROM_DATABASE=LINE TECH INDUSTRIAL CO., LTD.
-
-usb:v12D6*
- ID_VENDOR_FROM_DATABASE=EMS Dr. Thomas Wuensche
-
-usb:v12D6p0444*
- ID_PRODUCT_FROM_DATABASE=CPC-USB/ARM7
-
-usb:v12D6p0888*
- ID_PRODUCT_FROM_DATABASE=CPC-USB/M16C
-
-usb:v12D7*
- ID_VENDOR_FROM_DATABASE=BETTER WIRE FACTORY CO., LTD.
-
-usb:v12E6*
- ID_VENDOR_FROM_DATABASE=Waldorf Music GmbH
-
-usb:v12E6p0013*
- ID_PRODUCT_FROM_DATABASE=Blofeld
-
-usb:v12EF*
- ID_VENDOR_FROM_DATABASE=Tapwave, Inc.
-
-usb:v12EFp0100*
- ID_PRODUCT_FROM_DATABASE=Tapwave Handheld [Tapwave Zodiac]
-
-usb:v12F5*
- ID_VENDOR_FROM_DATABASE=Dynamic System Electronics Corp.
-
-usb:v12F7*
- ID_VENDOR_FROM_DATABASE=Memorex Products, Inc.
-
-usb:v12F7p1A00*
- ID_PRODUCT_FROM_DATABASE=TD Classic 003B
-
-usb:v12F7p1E23*
- ID_PRODUCT_FROM_DATABASE=TravelDrive 2007 Flash Drive
-
-usb:v12FD*
- ID_VENDOR_FROM_DATABASE=AIN Comm. Technology Co., Ltd
-
-usb:v12FDp1001*
- ID_PRODUCT_FROM_DATABASE=AWU2000b 802.11b Stick
-
-usb:v12FF*
- ID_VENDOR_FROM_DATABASE=Fascinating Electronics, Inc.
-
-usb:v12FFp0101*
- ID_PRODUCT_FROM_DATABASE=Advanced RC Servo Controller
-
-usb:v1307*
- ID_VENDOR_FROM_DATABASE=Transcend Information, Inc.
-
-usb:v1307p0163*
- ID_PRODUCT_FROM_DATABASE=256MB/512MB/1GB Flash Drive
-
-usb:v1307p0165*
- ID_PRODUCT_FROM_DATABASE=2GB/4GB Flash Drive
-
-usb:v1307p0190*
- ID_PRODUCT_FROM_DATABASE=Ut190 8 GB Flash Drive with MicroSD reader
-
-usb:v1307p0310*
- ID_PRODUCT_FROM_DATABASE=SD/MicroSD CardReader [hama]
-
-usb:v1307p0330*
- ID_PRODUCT_FROM_DATABASE=63-in-1 Multi-Card Reader/Writer
-
-usb:v1307p0361*
- ID_PRODUCT_FROM_DATABASE=CR-75: 51-in-1 Card Reader/Writer [Sakar]
-
-usb:v1307p1169*
- ID_PRODUCT_FROM_DATABASE=TS2GJF210 JetFlash 210 2GB
-
-usb:v1307p1171*
- ID_PRODUCT_FROM_DATABASE=Fingerprint Reader
-
-usb:v1308*
- ID_VENDOR_FROM_DATABASE=Shuttle, Inc.
-
-usb:v1308p0003*
- ID_PRODUCT_FROM_DATABASE=VFD Module
-
-usb:v1308pC001*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Transceiver
-
-usb:v1310*
- ID_VENDOR_FROM_DATABASE=Roper
-
-usb:v1310p0001*
- ID_PRODUCT_FROM_DATABASE=Class 1 Bluetooth Dongle
-
-usb:v1312*
- ID_VENDOR_FROM_DATABASE=ICS Electronics
-
-usb:v131D*
- ID_VENDOR_FROM_DATABASE=Natural Point
-
-usb:v131Dp0155*
- ID_PRODUCT_FROM_DATABASE=TrackIR 3 Pro Head Tracker
-
-usb:v131Dp0156*
- ID_PRODUCT_FROM_DATABASE=TrackIR 4 Pro Head Tracker
-
-usb:v132A*
- ID_VENDOR_FROM_DATABASE=Envara Inc.
-
-usb:v132Ap1502*
- ID_PRODUCT_FROM_DATABASE=WiND 802.11abg / 802.11bg WLAN
-
-usb:v132B*
- ID_VENDOR_FROM_DATABASE=Konica Minolta
-
-usb:v132Bp0000*
- ID_PRODUCT_FROM_DATABASE=Dimage A2 Camera
-
-usb:v132Bp0001*
- ID_PRODUCT_FROM_DATABASE=Minolta DiMAGE A2 (ptp)
-
-usb:v132Bp0003*
- ID_PRODUCT_FROM_DATABASE=Dimage Xg Camera
-
-usb:v132Bp0006*
- ID_PRODUCT_FROM_DATABASE=Dimage Z2 Camera
-
-usb:v132Bp0007*
- ID_PRODUCT_FROM_DATABASE=Minolta DiMAGE Z2 (PictBridge mode)
-
-usb:v132Bp0008*
- ID_PRODUCT_FROM_DATABASE=Dimage X21 Camera
-
-usb:v132Bp000A*
- ID_PRODUCT_FROM_DATABASE=Dimage Scan Dual IV AF-3200 (2891)
-
-usb:v132Bp000B*
- ID_PRODUCT_FROM_DATABASE=Dimage Z10 Camera
-
-usb:v132Bp000D*
- ID_PRODUCT_FROM_DATABASE=Dimage X50 Camera [storage?]
-
-usb:v132Bp000F*
- ID_PRODUCT_FROM_DATABASE=Dimage X50 Camera [p2p?]
-
-usb:v132Bp0010*
- ID_PRODUCT_FROM_DATABASE=Dimage G600 Camera
-
-usb:v132Bp0012*
- ID_PRODUCT_FROM_DATABASE=Dimage Scan Elite 5400 II (2892)
-
-usb:v132Bp0013*
- ID_PRODUCT_FROM_DATABASE=Dimage X31 Camera
-
-usb:v132Bp0015*
- ID_PRODUCT_FROM_DATABASE=Dimage G530 Camera
-
-usb:v132Bp0017*
- ID_PRODUCT_FROM_DATABASE=Dimage Z3 Camera
-
-usb:v132Bp0018*
- ID_PRODUCT_FROM_DATABASE=Minolta DiMAGE Z3 (PictBridge mode)
-
-usb:v132Bp0019*
- ID_PRODUCT_FROM_DATABASE=Dimage A200 Camera
-
-usb:v132Bp0021*
- ID_PRODUCT_FROM_DATABASE=Dimage Z5 Camera
-
-usb:v132Bp0022*
- ID_PRODUCT_FROM_DATABASE=Minolta DiMAGE Z5 (PictBridge mode)
-
-usb:v132Bp002C*
- ID_PRODUCT_FROM_DATABASE=Dynax 5D camera
-
-usb:v132Bp2001*
- ID_PRODUCT_FROM_DATABASE=Magicolor 2400w
-
-usb:v132Bp2004*
- ID_PRODUCT_FROM_DATABASE=Magicolor 5430DL
-
-usb:v132Bp2005*
- ID_PRODUCT_FROM_DATABASE=Magicolor 2430 DL
-
-usb:v132Bp2029*
- ID_PRODUCT_FROM_DATABASE=Magicolor 5440DL
-
-usb:v132Bp2030*
- ID_PRODUCT_FROM_DATABASE=PagePro 1350E(N)
-
-usb:v132Bp2033*
- ID_PRODUCT_FROM_DATABASE=PagePro 1400W
-
-usb:v132Bp2043*
- ID_PRODUCT_FROM_DATABASE=Magicolor 2530DL
-
-usb:v132Bp2045*
- ID_PRODUCT_FROM_DATABASE=Magicolor 2500W
-
-usb:v132Bp2049*
- ID_PRODUCT_FROM_DATABASE=Magicolor 2490MF
-
-usb:v1342*
- ID_VENDOR_FROM_DATABASE=Mobility
-
-usb:v1342p0200*
- ID_PRODUCT_FROM_DATABASE=EasiDock 200 Hub
-
-usb:v1342p0201*
- ID_PRODUCT_FROM_DATABASE=EasiDock 200 Keyboard and Mouse Port
-
-usb:v1342p0202*
- ID_PRODUCT_FROM_DATABASE=EasiDock 200 Serial Port
-
-usb:v1342p0203*
- ID_PRODUCT_FROM_DATABASE=EasiDock 200 Printer Port
-
-usb:v1342p0204*
- ID_PRODUCT_FROM_DATABASE=Ethernet
-
-usb:v1342p0304*
- ID_PRODUCT_FROM_DATABASE=EasiDock Ethernet
-
-usb:v1345*
- ID_VENDOR_FROM_DATABASE=Sino Lite Technology Corp.
-
-usb:v1345p001C*
- ID_PRODUCT_FROM_DATABASE=Xbox Controller Hub
-
-usb:v1347*
- ID_VENDOR_FROM_DATABASE=Moravian Instruments
-
-usb:v1347p0400*
- ID_PRODUCT_FROM_DATABASE=G2CCD USB 1.1 obsolete
-
-usb:v1347p0401*
- ID_PRODUCT_FROM_DATABASE=G2CCD-S with Sony ICX285 CCD
-
-usb:v1347p0402*
- ID_PRODUCT_FROM_DATABASE=G2CCD2
-
-usb:v1347p0403*
- ID_PRODUCT_FROM_DATABASE=G2/G3CCD-I KAI CCD
-
-usb:v1347p0404*
- ID_PRODUCT_FROM_DATABASE=G2/G3/G4 CCD-F KAF CCD
-
-usb:v1347p0410*
- ID_PRODUCT_FROM_DATABASE=G1-0400 CCD
-
-usb:v1347p0411*
- ID_PRODUCT_FROM_DATABASE=G1-0800 CCD
-
-usb:v1347p0412*
- ID_PRODUCT_FROM_DATABASE=G1-0300 CCD
-
-usb:v1347p0413*
- ID_PRODUCT_FROM_DATABASE=G1-2000 CCD
-
-usb:v1347p0414*
- ID_PRODUCT_FROM_DATABASE=G1-1400 CCD
-
-usb:v1348*
- ID_VENDOR_FROM_DATABASE=Katsuragawa Electric Co., Ltd.
-
-usb:v134C*
- ID_VENDOR_FROM_DATABASE=PanJit International Inc.
-
-usb:v134Cp0001*
- ID_PRODUCT_FROM_DATABASE=Touch Panel Controller
-
-usb:v134Cp0002*
- ID_PRODUCT_FROM_DATABASE=Touch Panel Controller
-
-usb:v134Cp0003*
- ID_PRODUCT_FROM_DATABASE=Touch Panel Controller
-
-usb:v134Cp0004*
- ID_PRODUCT_FROM_DATABASE=Touch Panel Controller
-
-usb:v134E*
- ID_VENDOR_FROM_DATABASE=Digby's Bitpile, Inc. DBA D Bit
-
-usb:v1357*
- ID_VENDOR_FROM_DATABASE=P&E Microcomputer Systems
-
-usb:v1357p0503*
- ID_PRODUCT_FROM_DATABASE=USB-ML-12 HCS08/HCS12 Multilink
-
-usb:v1357p0504*
- ID_PRODUCT_FROM_DATABASE=DEMOJM
-
-usb:v1366*
- ID_VENDOR_FROM_DATABASE=SEGGER
-
-usb:v1366p0101*
- ID_PRODUCT_FROM_DATABASE=J-Link ARM
-
-usb:v136B*
- ID_VENDOR_FROM_DATABASE=STEC
-
-usb:v1370*
- ID_VENDOR_FROM_DATABASE=Swissbit
-
-usb:v1370p0323*
- ID_PRODUCT_FROM_DATABASE=Swissmemory cirrusWHITE
-
-usb:v1370p6828*
- ID_PRODUCT_FROM_DATABASE=Victorinox Flash Drive
-
-usb:v1371*
- ID_VENDOR_FROM_DATABASE=CNet Technology Inc.
-
-usb:v1371p0001*
- ID_PRODUCT_FROM_DATABASE=CNUSB-611AR Wireless Adapter-G [AT76C503]
-
-usb:v1371p0002*
- ID_PRODUCT_FROM_DATABASE=CNUSB-611AR Wireless Adapter-G [AT76C503] (FiberLine WL-240U)
-
-usb:v1371p0013*
- ID_PRODUCT_FROM_DATABASE=CNUSB-611 Wireless Adapter [AT76C505]
-
-usb:v1371p0014*
- ID_PRODUCT_FROM_DATABASE=CNUSB-611 Wireless Adapter [AT76C505] (FiberLine WL-240U)
-
-usb:v1371p5743*
- ID_PRODUCT_FROM_DATABASE=CNUSB-611 (D) Wireless Adapter [AT76C503]
-
-usb:v1371p9022*
- ID_PRODUCT_FROM_DATABASE=CWD-854 [RT2573]
-
-usb:v1371p9032*
- ID_PRODUCT_FROM_DATABASE=CWD-854 rev F
-
-usb:v1371p9401*
- ID_PRODUCT_FROM_DATABASE=CWD-854 Wireless 802.11g 54Mbps Network Adapter [RTL8187]
-
-usb:v1376*
- ID_VENDOR_FROM_DATABASE=Vimtron Electronics Co., Ltd.
-
-usb:v137B*
- ID_VENDOR_FROM_DATABASE=SCAPS GmbH
-
-usb:v137Bp0002*
- ID_PRODUCT_FROM_DATABASE=SCAPS USC-2 Scanner Controller
-
-usb:v1385*
- ID_VENDOR_FROM_DATABASE=Netgear, Inc
-
-usb:v1385p4250*
- ID_PRODUCT_FROM_DATABASE=WG111T
-
-usb:v1385p4251*
- ID_PRODUCT_FROM_DATABASE=WG111T (no firmware)
-
-usb:v1385p5F00*
- ID_PRODUCT_FROM_DATABASE=WPN111 RangeMax(TM) Wireless USB 2.0 Adapter
-
-usb:v1385p5F01*
- ID_PRODUCT_FROM_DATABASE=WPN111 (no firmware)
-
-usb:v1385p5F02*
- ID_PRODUCT_FROM_DATABASE=WPN111 (no firmware)
-
-usb:v1385p6E00*
- ID_PRODUCT_FROM_DATABASE=WPNT121 802.11g 240Mbps Wireless Adapter [Airgo AGN300]
-
-usb:v138A*
- ID_VENDOR_FROM_DATABASE=Validity Sensors, Inc.
-
-usb:v138Ap0001*
- ID_PRODUCT_FROM_DATABASE=VFS101 Fingerprint Reader
-
-usb:v138Ap0005*
- ID_PRODUCT_FROM_DATABASE=VFS301 Fingerprint Reader
-
-usb:v138Ap0007*
- ID_PRODUCT_FROM_DATABASE=VFS451 Fingerprint Reader
-
-usb:v138Ap0008*
- ID_PRODUCT_FROM_DATABASE=VFS300 Fingerprint Reader
-
-usb:v138Ap0011*
- ID_PRODUCT_FROM_DATABASE=VFS5011 Fingerprint Reader
-
-usb:v138Ap003C*
- ID_PRODUCT_FROM_DATABASE=VFS471 Fingerprint Reader
-
-usb:v138E*
- ID_VENDOR_FROM_DATABASE=Jungo LTD
-
-usb:v138Ep9000*
- ID_PRODUCT_FROM_DATABASE=Raisonance S.A. STM32 ARM evaluation board
-
-usb:v1390*
- ID_VENDOR_FROM_DATABASE=TOMTOM B.V.
-
-usb:v1390p0001*
- ID_PRODUCT_FROM_DATABASE=GO 520 T/GO 630/ONE XL (v9)
-
-usb:v1391*
- ID_VENDOR_FROM_DATABASE=IdealTEK, Inc.
-
-usb:v1391p1000*
- ID_PRODUCT_FROM_DATABASE=URTC-1000
-
-usb:v1395*
- ID_VENDOR_FROM_DATABASE=Sennheiser Communications
-
-usb:v1395p3556*
- ID_PRODUCT_FROM_DATABASE=USB Headset
-
-usb:v1397*
- ID_VENDOR_FROM_DATABASE=BEHRINGER International GmbH
-
-usb:v1397p00BC*
- ID_PRODUCT_FROM_DATABASE=BCF2000
-
-usb:v1398*
- ID_VENDOR_FROM_DATABASE=Q-tec
-
-usb:v1398p2103*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Storage Device
-
-usb:v13AD*
- ID_VENDOR_FROM_DATABASE=Baltech
-
-usb:v13ADp9999*
- ID_PRODUCT_FROM_DATABASE=Card reader
-
-usb:v13B0*
- ID_VENDOR_FROM_DATABASE=PerkinElmer Optoelectronics
-
-usb:v13B0p000A*
- ID_PRODUCT_FROM_DATABASE=Alesis Photon X25 MIDI Controller
-
-usb:v13B1*
- ID_VENDOR_FROM_DATABASE=Linksys
-
-usb:v13B1p000A*
- ID_PRODUCT_FROM_DATABASE=WUSB54G v2 802.11g Adapter [Intersil ISL3887]
-
-usb:v13B1p000B*
- ID_PRODUCT_FROM_DATABASE=WUSB11 v4.0 802.11b Adapter [ALi M4301]
-
-usb:v13B1p000C*
- ID_PRODUCT_FROM_DATABASE=WUSB54AG 802.11a/g Adapter [Intersil ISL3887]
-
-usb:v13B1p000D*
- ID_PRODUCT_FROM_DATABASE=WUSB54G v4 802.11g Adapter [Ralink RT2500USB]
-
-usb:v13B1p000E*
- ID_PRODUCT_FROM_DATABASE=WUSB54GS v1 802.11g Adapter [Broadcom 4320 USB]
-
-usb:v13B1p0011*
- ID_PRODUCT_FROM_DATABASE=WUSB54GP v4.0 802.11g Adapter [Ralink RT2500USB]
-
-usb:v13B1p0014*
- ID_PRODUCT_FROM_DATABASE=WUSB54GS v2 802.11g Adapter [Broadcom 4320 USB]
-
-usb:v13B1p0018*
- ID_PRODUCT_FROM_DATABASE=USB200M 10/100 Ethernet Adapter
-
-usb:v13B1p001A*
- ID_PRODUCT_FROM_DATABASE=HU200TS Wireless Adapter
-
-usb:v13B1p001E*
- ID_PRODUCT_FROM_DATABASE=WUSBF54G 802.11bg
-
-usb:v13B1p0020*
- ID_PRODUCT_FROM_DATABASE=WUSB54GC v1 802.11g Adapter [Ralink RT73]
-
-usb:v13B1p0022*
- ID_PRODUCT_FROM_DATABASE=WUSB54GX4 802.11g 240Mbps Wireless Adapter [Airgo AGN300]
-
-usb:v13B1p0023*
- ID_PRODUCT_FROM_DATABASE=WUSB54GR
-
-usb:v13B1p0024*
- ID_PRODUCT_FROM_DATABASE=WUSBF54G v1.1 802.11bg
-
-usb:v13B1p0026*
- ID_PRODUCT_FROM_DATABASE=WUSB54GSC v1 802.11g Adapter [Broadcom 4320 USB]
-
-usb:v13B1p0028*
- ID_PRODUCT_FROM_DATABASE=WUSB200 802.11g Adapter [Ralink RT2671]
-
-usb:v13B1p0029*
- ID_PRODUCT_FROM_DATABASE=WUSB300N 802.11bgn Wireless Adapter [Marvell 88W8362+88W8060]
-
-usb:v13B1p002F*
- ID_PRODUCT_FROM_DATABASE=AE1000 v1 802.11n [Ralink RT3572]
-
-usb:v13B1p0031*
- ID_PRODUCT_FROM_DATABASE=AM10 v1 802.11n [Ralink RT3072]
-
-usb:v13B1p0039*
- ID_PRODUCT_FROM_DATABASE=AE1200 802.11bgn Wireless Adapter [Broadcom BCM43235]
-
-usb:v13B1p003A*
- ID_PRODUCT_FROM_DATABASE=AE2500 802.11abgn Wireless Adapter [Broadcom BCM43236]
-
-usb:v13B1p13B1*
- ID_PRODUCT_FROM_DATABASE=WUSB200: Wireless-G Business Network Adapter with Rangebooster
-
-usb:v13B2*
- ID_VENDOR_FROM_DATABASE=Alesis
-
-usb:v13B2p0030*
- ID_PRODUCT_FROM_DATABASE=Multimix 8
-
-usb:v13B3*
- ID_VENDOR_FROM_DATABASE=Nippon Dics Co., Ltd.
-
-usb:v13BA*
- ID_VENDOR_FROM_DATABASE=PCPlay
-
-usb:v13BAp0017*
- ID_PRODUCT_FROM_DATABASE=PS/2 Keyboard+Mouse Adapter
-
-usb:v13BAp0018*
- ID_PRODUCT_FROM_DATABASE=Barcode PCP-BCG4209
-
-usb:v13BE*
- ID_VENDOR_FROM_DATABASE=Ricoh Printing Systems, Ltd.
-
-usb:v13CA*
- ID_VENDOR_FROM_DATABASE=JyeTai Precision Industrial Co., Ltd.
-
-usb:v13CF*
- ID_VENDOR_FROM_DATABASE=Wisair Ltd.
-
-usb:v13CFp1200*
- ID_PRODUCT_FROM_DATABASE=Olidata Wireless Multimedia Adapter
-
-usb:v13D0*
- ID_VENDOR_FROM_DATABASE=Techsan Electronics Co., Ltd.
-
-usb:v13D0p2282*
- ID_PRODUCT_FROM_DATABASE=TechniSat DVB-PC TV Star 2
-
-usb:v13D1*
- ID_VENDOR_FROM_DATABASE=A-Max Technology Macao Commercial Offshore Co. Ltd.
-
-usb:v13D1p7019*
- ID_PRODUCT_FROM_DATABASE=MD 82288
-
-usb:v13D1pABE6*
- ID_PRODUCT_FROM_DATABASE=Wireless 802.11g 54Mbps Network Adapter [RTL8187]
-
-usb:v13D2*
- ID_VENDOR_FROM_DATABASE=Shark Multimedia
-
-usb:v13D2p0400*
- ID_PRODUCT_FROM_DATABASE=Pocket Ethernet [klsi]
-
-usb:v13D3*
- ID_VENDOR_FROM_DATABASE=IMC Networks
-
-usb:v13D3p3201*
- ID_PRODUCT_FROM_DATABASE=VisionDTV USB-Ter/HAMA USB DVB-T device cold
-
-usb:v13D3p3202*
- ID_PRODUCT_FROM_DATABASE=VisionDTV USB-Ter/HAMA USB DVB-T device warm
-
-usb:v13D3p3203*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
-
-usb:v13D3p3204*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
-
-usb:v13D3p3205*
- ID_PRODUCT_FROM_DATABASE=DNTV Live! Tiny USB2 BDA (No Remote)
-
-usb:v13D3p3206*
- ID_PRODUCT_FROM_DATABASE=DNTV Live! Tiny USB2 BDA (No Remote)
-
-usb:v13D3p3207*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
-
-usb:v13D3p3208*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
-
-usb:v13D3p3209*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDST7022BDA DVB-S Box(Without HID)
-
-usb:v13D3p3211*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB Hybrid Analog/Capture / Pinnacle PCTV 310e
-
-usb:v13D3p3212*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDTT704C - DVBT/NTSC/PAL Driver(PCM4)
-
-usb:v13D3p3213*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDTT704D - DVBT/NTSC/PAL Driver (PCM4)
-
-usb:v13D3p3214*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDTT704F -(MiniCard) DVBT/NTSC/PAL Driver(Without HID)
-
-usb:v13D3p3215*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDAT7240 - ATSC/NTSC/PAL Driver(PCM4)
-
-usb:v13D3p3216*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDTT 7047-USB 2.0 DVB-T Driver
-
-usb:v13D3p3217*
- ID_PRODUCT_FROM_DATABASE=Digital-TV Receiver.
-
-usb:v13D3p3219*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDTT7049 - DVB-T Driver(Without HID)
-
-usb:v13D3p3220*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDTT 7047M-USB 2.0 DVB-T Driver
-
-usb:v13D3p3223*
- ID_PRODUCT_FROM_DATABASE=DNTV Live! Tiny USB2 BDA (No Remote)
-
-usb:v13D3p3224*
- ID_PRODUCT_FROM_DATABASE=DNTV Live! Tiny USB2 BDA (No Remote)
-
-usb:v13D3p3226*
- ID_PRODUCT_FROM_DATABASE=DigitalNow TinyTwin DVB-T Receiver
-
-usb:v13D3p3234*
- ID_PRODUCT_FROM_DATABASE=DVB-T FTA Half Minicard [RTL2832U]
-
-usb:v13D3p3236*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDTT 7047A-USB 2.0 DVB-T Driver
-
-usb:v13D3p3237*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDTT 704J - dual DVB-T Driver
-
-usb:v13D3p3239*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDTT704D - DVBT/NTSC/PAL Driver(Without HID)
-
-usb:v13D3p3240*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDXTTM6010 - A/D Driver(Without HID)
-
-usb:v13D3p3241*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDXTTM6010 - A/D Driver(Without HID)
-
-usb:v13D3p3242*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDAT7240LP - ATSC/NTSC/PAL Driver(Without HID)
-
-usb:v13D3p3243*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDXTTM6010 - A/D Driver(Without HID)
-
-usb:v13D3p3244*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDTT 7047Z-USB 2.0 DVB-T Driver
-
-usb:v13D3p3247*
- ID_PRODUCT_FROM_DATABASE=802.11 n/g/b Wireless LAN Adapter
-
-usb:v13D3p3249*
- ID_PRODUCT_FROM_DATABASE=Internal Bluetooth
-
-usb:v13D3p3262*
- ID_PRODUCT_FROM_DATABASE=802.11 n/g/b Wireless LAN USB Adapter
-
-usb:v13D3p3273*
- ID_PRODUCT_FROM_DATABASE=802.11 n/g/b Wireless LAN USB Mini-Card
-
-usb:v13D3p3274*
- ID_PRODUCT_FROM_DATABASE=DVB-T Dongle [RTL2832U]
-
-usb:v13D3p3282*
- ID_PRODUCT_FROM_DATABASE=DVB-T + GPS Minicard [RTL2832U]
-
-usb:v13D3p3284*
- ID_PRODUCT_FROM_DATABASE=Wireless LAN USB Mini-Card
-
-usb:v13D3p3304*
- ID_PRODUCT_FROM_DATABASE=Asus Integrated Bluetooth module [AR3011]
-
-usb:v13D3p3306*
- ID_PRODUCT_FROM_DATABASE=Mediao 802.11n WLAN [Realtek RTL8191SU]
-
-usb:v13D3p3315*
- ID_PRODUCT_FROM_DATABASE=Bluetooth module
-
-usb:v13D3p5070*
- ID_PRODUCT_FROM_DATABASE=Webcam
-
-usb:v13D3p5111*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam
-
-usb:v13D3p5115*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam
-
-usb:v13D3p5116*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam
-
-usb:v13D3p5126*
- ID_PRODUCT_FROM_DATABASE=PC Cam
-
-usb:v13D3p5702*
- ID_PRODUCT_FROM_DATABASE=UVC VGA Webcam
-
-usb:v13D3p5716*
- ID_PRODUCT_FROM_DATABASE=UVC VGA Webcam
-
-usb:v13D3p7020*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
-
-usb:v13D3p7022*
- ID_PRODUCT_FROM_DATABASE=DTV-DVB UDST7022BDA DVB-S Box(Without HID)
-
-usb:v13DC*
- ID_VENDOR_FROM_DATABASE=ALEREON, INC.
-
-usb:v13DD*
- ID_VENDOR_FROM_DATABASE=i.Tech Dynamic Limited
-
-usb:v13E1*
- ID_VENDOR_FROM_DATABASE=Kaibo Wire & Cable (Shenzhen) Co., Ltd.
-
-usb:v13E5*
- ID_VENDOR_FROM_DATABASE=Rane
-
-usb:v13E5p0001*
- ID_PRODUCT_FROM_DATABASE=SL-1
-
-usb:v13E5p0003*
- ID_PRODUCT_FROM_DATABASE=TTM 57SL
-
-usb:v13E6*
- ID_VENDOR_FROM_DATABASE=TechnoScope Co., Ltd.
-
-usb:v13EA*
- ID_VENDOR_FROM_DATABASE=Hengstler
-
-usb:v13EAp0001*
- ID_PRODUCT_FROM_DATABASE=C-56 Thermal Printer
-
-usb:v13EC*
- ID_VENDOR_FROM_DATABASE=Zydacron
-
-usb:v13ECp0006*
- ID_PRODUCT_FROM_DATABASE=HID Remote Control
-
-usb:v13EE*
- ID_VENDOR_FROM_DATABASE=MosArt
-
-usb:v13EEp0003*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v13FD*
- ID_VENDOR_FROM_DATABASE=Initio Corporation
-
-usb:v13FDp0840*
- ID_PRODUCT_FROM_DATABASE=INIC-1618L SATA
-
-usb:v13FDp0841*
- ID_PRODUCT_FROM_DATABASE=Samsung SE-T084M DVD-RW
-
-usb:v13FDp1340*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed USB to SATA Bridge
-
-usb:v13FDp160F*
- ID_PRODUCT_FROM_DATABASE=RocketFish SATA Bridge [INIC-1611]
-
-usb:v13FDp1640*
- ID_PRODUCT_FROM_DATABASE=ASUS SDRW-08D1S-U DVD-RW
-
-usb:v13FDp1840*
- ID_PRODUCT_FROM_DATABASE=INIC-1608 SATA bridge
-
-usb:v13FE*
- ID_VENDOR_FROM_DATABASE=Kingston Technology Company Inc.
-
-usb:v13FEp1A00*
- ID_PRODUCT_FROM_DATABASE=512MB/1GB Flash Drive
-
-usb:v13FEp1A23*
- ID_PRODUCT_FROM_DATABASE=512MB Flash Drive
-
-usb:v13FEp1D00*
- ID_PRODUCT_FROM_DATABASE=DataTraveler 2.0 1GB/4GB Flash Drive / Patriot Xporter 4GB Flash Drive
-
-usb:v13FEp1E00*
- ID_PRODUCT_FROM_DATABASE=Flash Drive 2 GB [ICIDU 2 GB]
-
-usb:v13FEp1E50*
- ID_PRODUCT_FROM_DATABASE=U3 Smart Drive
-
-usb:v13FEp1F00*
- ID_PRODUCT_FROM_DATABASE=DataTraveler 2.0 4GB Flash Drive / Patriot Xporter 32GB (PEF32GUSB) Flash Drive
-
-usb:v13FEp2240*
- ID_PRODUCT_FROM_DATABASE=microSD card reader
-
-usb:v13FEp3100*
- ID_PRODUCT_FROM_DATABASE=2/4 GB stick
-
-usb:v13FEp3800*
- ID_PRODUCT_FROM_DATABASE=Rage XT Flash Drive
-
-usb:v13FEp3E00*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v13FEp5100*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v1400*
- ID_VENDOR_FROM_DATABASE=Axxion Group Corp.
-
-usb:v1402*
- ID_VENDOR_FROM_DATABASE=Bowe Bell & Howell
-
-usb:v1403*
- ID_VENDOR_FROM_DATABASE=Sitronix
-
-usb:v1403p0001*
- ID_PRODUCT_FROM_DATABASE=Digital Photo Frame
-
-usb:v140E*
- ID_VENDOR_FROM_DATABASE=Telechips, Inc.
-
-usb:v140EpB011*
- ID_PRODUCT_FROM_DATABASE=TCC780X-based player (USB Boot mode)
-
-usb:v140EpB021*
- ID_PRODUCT_FROM_DATABASE=TCC77X-based players (USB Boot mode)
-
-usb:v1410*
- ID_VENDOR_FROM_DATABASE=Novatel Wireless
-
-usb:v1410p1110*
- ID_PRODUCT_FROM_DATABASE=Merlin S620
-
-usb:v1410p1120*
- ID_PRODUCT_FROM_DATABASE=Merlin EX720
-
-usb:v1410p1130*
- ID_PRODUCT_FROM_DATABASE=Merlin S720
-
-usb:v1410p1400*
- ID_PRODUCT_FROM_DATABASE=Merlin U730/U740 (Vodafone)
-
-usb:v1410p1410*
- ID_PRODUCT_FROM_DATABASE=Merlin U740 (non-Vodafone)
-
-usb:v1410p1430*
- ID_PRODUCT_FROM_DATABASE=Merlin XU870
-
-usb:v1410p1450*
- ID_PRODUCT_FROM_DATABASE=Merlin X950D
-
-usb:v1410p2110*
- ID_PRODUCT_FROM_DATABASE=Ovation U720/MCD3000
-
-usb:v1410p2410*
- ID_PRODUCT_FROM_DATABASE=Expedite EU740
-
-usb:v1410p2420*
- ID_PRODUCT_FROM_DATABASE=Expedite EU850D/EU860D/EU870D
-
-usb:v1410p4100*
- ID_PRODUCT_FROM_DATABASE=U727
-
-usb:v1410p4400*
- ID_PRODUCT_FROM_DATABASE=Ovation MC930D/MC950D
-
-usb:v1410pA001*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem
-
-usb:v1410pA008*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
-
-usb:v1415*
- ID_VENDOR_FROM_DATABASE=Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc.
-
-usb:v1415p0000*
- ID_PRODUCT_FROM_DATABASE=Sony SingStar USBMIC
-
-usb:v1415p0020*
- ID_PRODUCT_FROM_DATABASE=Sony Wireless SingStar
-
-usb:v1415p2000*
- ID_PRODUCT_FROM_DATABASE=Sony Playstation Eye
-
-usb:v1419*
- ID_VENDOR_FROM_DATABASE=ABILITY ENTERPRISE CO., LTD.
-
-usb:v1429*
- ID_VENDOR_FROM_DATABASE=Vega Technologies Industrial (Austria) Co.
-
-usb:v142A*
- ID_VENDOR_FROM_DATABASE=Thales E-Transactions
-
-usb:v142Ap0003*
- ID_PRODUCT_FROM_DATABASE=Artema Hybrid
-
-usb:v142Ap0005*
- ID_PRODUCT_FROM_DATABASE=Artema Modular
-
-usb:v142Ap0043*
- ID_PRODUCT_FROM_DATABASE=medCompact
-
-usb:v142B*
- ID_VENDOR_FROM_DATABASE=Arbiter Systems, Inc.
-
-usb:v142Bp03A5*
- ID_PRODUCT_FROM_DATABASE=933A Portable Power Sentinel
-
-usb:v1430*
- ID_VENDOR_FROM_DATABASE=RedOctane
-
-usb:v1430p0150*
- ID_PRODUCT_FROM_DATABASE=wireless receiver for skylanders wii
-
-usb:v1430p4734*
- ID_PRODUCT_FROM_DATABASE=Guitar Hero4 hub
-
-usb:v1430p474B*
- ID_PRODUCT_FROM_DATABASE=Guitar Hero MIDI interface
-
-usb:v1431*
- ID_VENDOR_FROM_DATABASE=Pertech Resources, Inc.
-
-usb:v1435*
- ID_VENDOR_FROM_DATABASE=Wistron NeWeb
-
-usb:v1435p0427*
- ID_PRODUCT_FROM_DATABASE=UR054g 802.11g Wireless Adapter [Intersil ISL3887]
-
-usb:v1435p0711*
- ID_PRODUCT_FROM_DATABASE=UR055G 802.11bg
-
-usb:v1435p0804*
- ID_PRODUCT_FROM_DATABASE=AR9170+AR9104 802.11abgn Wireless Adapter
-
-usb:v1435p0826*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:v1435p0827*
- ID_PRODUCT_FROM_DATABASE=AR5523 (no firmware)
-
-usb:v1435p0828*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:v1435p0829*
- ID_PRODUCT_FROM_DATABASE=AR5523 (no firmware)
-
-usb:v1436*
- ID_VENDOR_FROM_DATABASE=Denali Software, Inc.
-
-usb:v143C*
- ID_VENDOR_FROM_DATABASE=Altek Corporation
-
-usb:v1443*
- ID_VENDOR_FROM_DATABASE=Digilent
-
-usb:v1443p0007*
- ID_PRODUCT_FROM_DATABASE=CoolRunner-II CPLD Starter Kit
-
-usb:v1446*
- ID_VENDOR_FROM_DATABASE=X.J.GROUP
-
-usb:v1446p6A73*
- ID_PRODUCT_FROM_DATABASE=Stamps.com Model 510 5LB Scale
-
-usb:v1453*
- ID_VENDOR_FROM_DATABASE=Radio Shack
-
-usb:v1453p4026*
- ID_PRODUCT_FROM_DATABASE=26-183 Serial Cable
-
-usb:v1456*
- ID_VENDOR_FROM_DATABASE=Extending Wire & Cable Co., Ltd.
-
-usb:v1457*
- ID_VENDOR_FROM_DATABASE=First International Computer, Inc.
-
-usb:v1457p5117*
- ID_PRODUCT_FROM_DATABASE=OpenMoko Neo1973 kernel usbnet (g_ether, CDC Ethernet) mode
-
-usb:v1457p5118*
- ID_PRODUCT_FROM_DATABASE=OpenMoko Neo1973 Debug board (V2+)
-
-usb:v1457p5119*
- ID_PRODUCT_FROM_DATABASE=OpenMoko Neo1973 u-boot cdc_acm serial port
-
-usb:v1457p5120*
- ID_PRODUCT_FROM_DATABASE=OpenMoko Neo1973 u-boot usbtty generic serial
-
-usb:v1457p5121*
- ID_PRODUCT_FROM_DATABASE=OpenMoko Neo1973 kernel mass storage (g_storage) mode
-
-usb:v1457p5122*
- ID_PRODUCT_FROM_DATABASE=OpenMoko Neo1973 / Neo Freerunner kernel cdc_ether USB network
-
-usb:v1457p5123*
- ID_PRODUCT_FROM_DATABASE=OpenMoko Neo1973 internal USB CSR4 module
-
-usb:v1457p5124*
- ID_PRODUCT_FROM_DATABASE=OpenMoko Neo1973 Bluetooth Device ID service
-
-usb:v145F*
- ID_VENDOR_FROM_DATABASE=Trust
-
-usb:v145Fp0106*
- ID_PRODUCT_FROM_DATABASE=Trust K56 V92 USB Modem
-
-usb:v145Fp013D*
- ID_PRODUCT_FROM_DATABASE=PC Camera (SN9C201 + OV7660)
-
-usb:v145Fp013F*
- ID_PRODUCT_FROM_DATABASE=Megapixel Auto Focus Webcam
-
-usb:v145Fp0142*
- ID_PRODUCT_FROM_DATABASE=WB-6250X Webcam
-
-usb:v145Fp015A*
- ID_PRODUCT_FROM_DATABASE=WB-8300X 2MP Webcam
-
-usb:v145Fp0161*
- ID_PRODUCT_FROM_DATABASE=15901 802.11bg Wireless Adapter [Realtek RTL8187L]
-
-usb:v145Fp0167*
- ID_PRODUCT_FROM_DATABASE=Widescreen 3MP Webcam
-
-usb:v145Fp0176*
- ID_PRODUCT_FROM_DATABASE=Isla Keyboard
-
-usb:v1460*
- ID_VENDOR_FROM_DATABASE=Tatung Co.
-
-usb:v1460p9150*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Transceiver
-
-usb:v1461*
- ID_VENDOR_FROM_DATABASE=Staccato Communications
-
-usb:v1462*
- ID_VENDOR_FROM_DATABASE=Micro Star International
-
-usb:v1462p5512*
- ID_PRODUCT_FROM_DATABASE=MegaStick-1 Flash Stick
-
-usb:v1462p8807*
- ID_PRODUCT_FROM_DATABASE=DIGIVOX mini III [af9015]
-
-usb:v1472*
- ID_VENDOR_FROM_DATABASE=Huawei-3Com
-
-usb:v1472p0007*
- ID_PRODUCT_FROM_DATABASE=Aolynk WUB300g [ZyDAS ZD1211]
-
-usb:v1472p0009*
- ID_PRODUCT_FROM_DATABASE=Aolynk WUB320g
-
-usb:v147A*
- ID_VENDOR_FROM_DATABASE=Formosa Industrial Computing, Inc.
-
-usb:v147ApE015*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v147ApE016*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v147ApE017*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v147ApE018*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v147ApE02C*
- ID_PRODUCT_FROM_DATABASE=Infrared Receiver
-
-usb:v147ApE03A*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v147ApE03C*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v147ApE03E*
- ID_PRODUCT_FROM_DATABASE=Infrared Receiver [IR605A/Q]
-
-usb:v147E*
- ID_VENDOR_FROM_DATABASE=Upek
-
-usb:v147Ep1000*
- ID_PRODUCT_FROM_DATABASE=Biometric Touchchip/Touchstrip Fingerprint Sensor
-
-usb:v147Ep1001*
- ID_PRODUCT_FROM_DATABASE=TCS5B Fingerprint sensor
-
-usb:v147Ep2016*
- ID_PRODUCT_FROM_DATABASE=Biometric Touchchip/Touchstrip Fingerprint Sensor
-
-usb:v147Ep2020*
- ID_PRODUCT_FROM_DATABASE=TouchChip Fingerprint Coprocessor (WBF advanced mode)
-
-usb:v147Ep3000*
- ID_PRODUCT_FROM_DATABASE=TCS1C EIM/Cypress Fingerprint sensor
-
-usb:v147Ep3001*
- ID_PRODUCT_FROM_DATABASE=TCS1C EIM/STM32 Fingerprint sensor
-
-usb:v147F*
- ID_VENDOR_FROM_DATABASE=Hama GmbH & Co., KG
-
-usb:v1482*
- ID_VENDOR_FROM_DATABASE=Vaillant
-
-usb:v1482p1005*
- ID_PRODUCT_FROM_DATABASE=VRD PC-Interface
-
-usb:v1484*
- ID_VENDOR_FROM_DATABASE=Elsa AG [hex]
-
-usb:v1484p1746*
- ID_PRODUCT_FROM_DATABASE=Ecomo 19H99 Monitor
-
-usb:v1484p7616*
- ID_PRODUCT_FROM_DATABASE=Elsa Hub
-
-usb:v1485*
- ID_VENDOR_FROM_DATABASE=Silicom
-
-usb:v1485p0001*
- ID_PRODUCT_FROM_DATABASE=U2E
-
-usb:v1485p0002*
- ID_PRODUCT_FROM_DATABASE=Psion Gold Port Ethernet
-
-usb:v1487*
- ID_VENDOR_FROM_DATABASE=DSP Group, Ltd.
-
-usb:v148E*
- ID_VENDOR_FROM_DATABASE=EVATRONIX SA
-
-usb:v148F*
- ID_VENDOR_FROM_DATABASE=Ralink Technology, Corp.
-
-usb:v148Fp1706*
- ID_PRODUCT_FROM_DATABASE=RT2500USB Wireless Adapter
-
-usb:v148Fp2070*
- ID_PRODUCT_FROM_DATABASE=RT2070 Wireless Adapter
-
-usb:v148Fp2570*
- ID_PRODUCT_FROM_DATABASE=RT2570 Wireless Adapter
-
-usb:v148Fp2573*
- ID_PRODUCT_FROM_DATABASE=RT2501/RT2573 Wireless Adapter
-
-usb:v148Fp2671*
- ID_PRODUCT_FROM_DATABASE=RT2601/RT2671 Wireless Adapter
-
-usb:v148Fp2770*
- ID_PRODUCT_FROM_DATABASE=RT2770 Wireless Adapter
-
-usb:v148Fp2870*
- ID_PRODUCT_FROM_DATABASE=RT2870 Wireless Adapter
-
-usb:v148Fp3070*
- ID_PRODUCT_FROM_DATABASE=RT2870/RT3070 Wireless Adapter
-
-usb:v148Fp3071*
- ID_PRODUCT_FROM_DATABASE=RT3071 Wireless Adapter
-
-usb:v148Fp3072*
- ID_PRODUCT_FROM_DATABASE=RT3072 Wireless Adapter
-
-usb:v148Fp3370*
- ID_PRODUCT_FROM_DATABASE=RT3370 Wireless Adapter
-
-usb:v148Fp3572*
- ID_PRODUCT_FROM_DATABASE=RT3572 Wireless Adapter
-
-usb:v148Fp3573*
- ID_PRODUCT_FROM_DATABASE=TEW-684UB / RT3573 Wireless Adapter
-
-usb:v148Fp5370*
- ID_PRODUCT_FROM_DATABASE=RT5370 Wireless Adapter
-
-usb:v148Fp5372*
- ID_PRODUCT_FROM_DATABASE=RT5372 Wireless Adapter
-
-usb:v148Fp5572*
- ID_PRODUCT_FROM_DATABASE=RT5572 Wireless Adapter
-
-usb:v148Fp9020*
- ID_PRODUCT_FROM_DATABASE=RT2500USB Wireless Adapter
-
-usb:v148Fp9021*
- ID_PRODUCT_FROM_DATABASE=RT2501USB Wireless Adapter
-
-usb:v1491*
- ID_VENDOR_FROM_DATABASE=Futronic Technology Co. Ltd.
-
-usb:v1491p0020*
- ID_PRODUCT_FROM_DATABASE=FS81 Fingerprint Scanner Module
-
-usb:v1493*
- ID_VENDOR_FROM_DATABASE=Suunto
-
-usb:v1497*
- ID_VENDOR_FROM_DATABASE=Panstrong Company Ltd.
-
-usb:v1498*
- ID_VENDOR_FROM_DATABASE=Microtek International Inc.
-
-usb:v1498pA090*
- ID_PRODUCT_FROM_DATABASE=DVB-T Tuner
-
-usb:v149A*
- ID_VENDOR_FROM_DATABASE=Imagination Technologies
-
-usb:v149Ap2107*
- ID_PRODUCT_FROM_DATABASE=DBX1 DSP core
-
-usb:v14AA*
- ID_VENDOR_FROM_DATABASE=WideView Technology Inc.
-
-usb:v14AAp0001*
- ID_PRODUCT_FROM_DATABASE=Avermedia AverTV DVBT USB1.1 (cold)
-
-usb:v14AAp0002*
- ID_PRODUCT_FROM_DATABASE=Avermedia AverTV DVBT USB1.1 (warm)
-
-usb:v14AAp0201*
- ID_PRODUCT_FROM_DATABASE=AVermedia/Yakumo/Hama/Typhoon DVB-T USB2.0 (cold)
-
-usb:v14AAp0221*
- ID_PRODUCT_FROM_DATABASE=WT-220U DVB-T dongle
-
-usb:v14AAp022B*
- ID_PRODUCT_FROM_DATABASE=WT-220U DVB-T dongle
-
-usb:v14AAp0301*
- ID_PRODUCT_FROM_DATABASE=AVermedia/Yakumo/Hama/Typhoon DVB-T USB2.0 (warm)
-
-usb:v14AD*
- ID_VENDOR_FROM_DATABASE=CTK Corporation
-
-usb:v14AE*
- ID_VENDOR_FROM_DATABASE=Printronix Inc.
-
-usb:v14AF*
- ID_VENDOR_FROM_DATABASE=ATP Electronics Inc.
-
-usb:v14B0*
- ID_VENDOR_FROM_DATABASE=StarTech.com Ltd.
-
-usb:v14B2*
- ID_VENDOR_FROM_DATABASE=Ralink Technology, Corp.
-
-usb:v14B2p3A93*
- ID_PRODUCT_FROM_DATABASE=Topcom 802.11bg Wireless Adapter [Atheros AR5523]
-
-usb:v14B2p3A95*
- ID_PRODUCT_FROM_DATABASE=Toshiba WUS-G06G-JT 802.11bg Wireless Adapter [Atheros AR5523]
-
-usb:v14B2p3A98*
- ID_PRODUCT_FROM_DATABASE=Airlink101 AWLL4130 802.11bg Wireless Adapter [Atheros AR5523]
-
-usb:v14B2p3C02*
- ID_PRODUCT_FROM_DATABASE=Conceptronic C54RU v2 802.11bg Wireless Adapter [Ralink RT2571]
-
-usb:v14B2p3C05*
- ID_PRODUCT_FROM_DATABASE=rt2570 802.11g WLAN
-
-usb:v14B2p3C06*
- ID_PRODUCT_FROM_DATABASE=Conceptronic C300RU v1 802.11bgn Wireless Adapter [Ralink RT2870]
-
-usb:v14B2p3C07*
- ID_PRODUCT_FROM_DATABASE=802.11n adapter
-
-usb:v14B2p3C09*
- ID_PRODUCT_FROM_DATABASE=802.11n adapter
-
-usb:v14B2p3C22*
- ID_PRODUCT_FROM_DATABASE=Conceptronic C54RU v3 802.11bg Wireless Adapter [Ralink RT2571W]
-
-usb:v14B2p3C23*
- ID_PRODUCT_FROM_DATABASE=Airlink101 AWLL6080 802.11bgn Wireless Adapter [Ralink RT2870]
-
-usb:v14B2p3C24*
- ID_PRODUCT_FROM_DATABASE=NEC NP01LM 802.11abg Wireless Adapter [Ralink RT2571W]
-
-usb:v14B2p3C25*
- ID_PRODUCT_FROM_DATABASE=DrayTek Vigor N61 802.11bgn Wireless Adapter [Ralink RT2870]
-
-usb:v14B2p3C27*
- ID_PRODUCT_FROM_DATABASE=Airlink101 AWLL6070 802.11bgn Wireless Adapter [Ralink RT2770]
-
-usb:v14B2p3C28*
- ID_PRODUCT_FROM_DATABASE=Conceptronic C300RU v2 802.11bgn Wireless Adapter [Ralink RT2770]
-
-usb:v14B2p3C2B*
- ID_PRODUCT_FROM_DATABASE=NEC NP02LM 802.11bgn Wireless Adapter [Ralink RT3070]
-
-usb:v14B2p3C2C*
- ID_PRODUCT_FROM_DATABASE=Keebox W150NU 802.11bgn Wireless Adapter [Ralink RT3070]
-
-usb:v14C0*
- ID_VENDOR_FROM_DATABASE=Rockwell Automation, Inc.
-
-usb:v14C2*
- ID_VENDOR_FROM_DATABASE=Gemlight Computer, Ltd
-
-usb:v14C2p0250*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter V2
-
-usb:v14C2p0350*
- ID_PRODUCT_FROM_DATABASE=Storage Adapter V2
-
-usb:v14C8*
- ID_VENDOR_FROM_DATABASE=Zytronic
-
-usb:v14CD*
- ID_VENDOR_FROM_DATABASE=Super Top
-
-usb:v14CDp121C*
- ID_PRODUCT_FROM_DATABASE=microSD card reader
-
-usb:v14CDp123A*
- ID_PRODUCT_FROM_DATABASE=SD/MMC/RS-MMC Card Reader
-
-usb:v14CDp125C*
- ID_PRODUCT_FROM_DATABASE=SD card reader
-
-usb:v14CDp127B*
- ID_PRODUCT_FROM_DATABASE=SDXC Reader
-
-usb:v14CDp6116*
- ID_PRODUCT_FROM_DATABASE=M6116 SATA Bridge
-
-usb:v14CDp6600*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 IDE DEVICE
-
-usb:v14CDp6700*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v14CDp6900*
- ID_PRODUCT_FROM_DATABASE=Card Reader
-
-usb:v14CDp8123*
- ID_PRODUCT_FROM_DATABASE=SD MMC Reader
-
-usb:v14CDp8125*
- ID_PRODUCT_FROM_DATABASE=SD MMC Reader
-
-usb:v14D8*
- ID_VENDOR_FROM_DATABASE=JAMER INDUSTRIES CO., LTD.
-
-usb:v14DD*
- ID_VENDOR_FROM_DATABASE=Raritan Computer, Inc.
-
-usb:v14DDp1007*
- ID_PRODUCT_FROM_DATABASE=D2CIM-VUSB KVM connector
-
-usb:v14E1*
- ID_VENDOR_FROM_DATABASE=Dialogue Technology Corp.
-
-usb:v14E1p5000*
- ID_PRODUCT_FROM_DATABASE=PenMount 5000 Touch Controller
-
-usb:v14E5*
- ID_VENDOR_FROM_DATABASE=SAIN Information & Communications Co., Ltd.
-
-usb:v14EA*
- ID_VENDOR_FROM_DATABASE=Planex Communications
-
-usb:v14EApAB10*
- ID_PRODUCT_FROM_DATABASE=GW-US54GZ
-
-usb:v14EApAB11*
- ID_PRODUCT_FROM_DATABASE=GU-1000T
-
-usb:v14EApAB13*
- ID_PRODUCT_FROM_DATABASE=GW-US54Mini 802.11bg
-
-usb:v14ED*
- ID_VENDOR_FROM_DATABASE=Shure Inc.
-
-usb:v14EDp29B6*
- ID_PRODUCT_FROM_DATABASE=X2u Adapter
-
-usb:v14F7*
- ID_VENDOR_FROM_DATABASE=TechniSat Digital GmbH
-
-usb:v14F7p0001*
- ID_PRODUCT_FROM_DATABASE=SkyStar 2 HD CI
-
-usb:v14F7p0002*
- ID_PRODUCT_FROM_DATABASE=SkyStar 2 HD CI
-
-usb:v14F7p0003*
- ID_PRODUCT_FROM_DATABASE=CableStar Combo HD CI
-
-usb:v14F7p0004*
- ID_PRODUCT_FROM_DATABASE=AirStar TeleStick 2
-
-usb:v14F7p0500*
- ID_PRODUCT_FROM_DATABASE=DVB-PC TV Star HD
-
-usb:v1500*
- ID_VENDOR_FROM_DATABASE=Ellisys
-
-usb:v1501*
- ID_VENDOR_FROM_DATABASE=Pine-Tum Enterprise Co., Ltd.
-
-usb:v1509*
- ID_VENDOR_FROM_DATABASE=First International Computer, Inc.
-
-usb:v1509p9242*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Transceiver
-
-usb:v1513*
- ID_VENDOR_FROM_DATABASE=medMobile
-
-usb:v1513p0444*
- ID_PRODUCT_FROM_DATABASE=medMobile
-
-usb:v1514*
- ID_VENDOR_FROM_DATABASE=Actel
-
-usb:v1514p2003*
- ID_PRODUCT_FROM_DATABASE=FlashPro3 Programmer
-
-usb:v1514p2004*
- ID_PRODUCT_FROM_DATABASE=FlashPro3 Programmer
-
-usb:v1514p2005*
- ID_PRODUCT_FROM_DATABASE=FlashPro3 Programmer
-
-usb:v1516*
- ID_VENDOR_FROM_DATABASE=CompUSA
-
-usb:v1516p1603*
- ID_PRODUCT_FROM_DATABASE=Flash Drive
-
-usb:v1516p8628*
- ID_PRODUCT_FROM_DATABASE=Pen Drive
-
-usb:v1518*
- ID_VENDOR_FROM_DATABASE=Cheshire Engineering Corp.
-
-usb:v1518p0001*
- ID_PRODUCT_FROM_DATABASE=HDReye High Dynamic Range Camera
-
-usb:v1518p0002*
- ID_PRODUCT_FROM_DATABASE=HDReye (before firmware loads)
-
-usb:v1520*
- ID_VENDOR_FROM_DATABASE=Bitwire Corp.
-
-usb:v1524*
- ID_VENDOR_FROM_DATABASE=ENE Technology Inc
-
-usb:v1524p6680*
- ID_PRODUCT_FROM_DATABASE=UTS 6680
-
-usb:v1527*
- ID_VENDOR_FROM_DATABASE=Silicon Portals
-
-usb:v1527p0200*
- ID_PRODUCT_FROM_DATABASE=YAP Phone (no firmware)
-
-usb:v1527p0201*
- ID_PRODUCT_FROM_DATABASE=YAP Phone
-
-usb:v1529*
- ID_VENDOR_FROM_DATABASE=UBIQUAM Co., Ltd.
-
-usb:v1529p3100*
- ID_PRODUCT_FROM_DATABASE=CDMA 1xRTT USB Modem (U-100/105/200/300/520)
-
-usb:v152A*
- ID_VENDOR_FROM_DATABASE=Thesycon Systemsoftware & Consulting GmbH
-
-usb:v152D*
- ID_VENDOR_FROM_DATABASE=JMicron Technology Corp. / JMicron USA Technology Corp.
-
-usb:v152Dp2329*
- ID_PRODUCT_FROM_DATABASE=JM20329 SATA Bridge
-
-usb:v152Dp2335*
- ID_PRODUCT_FROM_DATABASE=ATA/ATAPI Bridge
-
-usb:v152Dp2336*
- ID_PRODUCT_FROM_DATABASE=Hard Disk Drive
-
-usb:v152Dp2337*
- ID_PRODUCT_FROM_DATABASE=ATA/ATAPI Bridge
-
-usb:v152Dp2338*
- ID_PRODUCT_FROM_DATABASE=JM20337 Hi-Speed USB to SATA & PATA Combo Bridge
-
-usb:v152Dp2339*
- ID_PRODUCT_FROM_DATABASE=JM20339 SATA Bridge
-
-usb:v152Dp2352*
- ID_PRODUCT_FROM_DATABASE=ATA/ATAPI Bridge
-
-usb:v152Dp2509*
- ID_PRODUCT_FROM_DATABASE=JMS539 SuperSpeed SATA II 3.0G Bridge
-
-usb:v152E*
- ID_VENDOR_FROM_DATABASE=LG (HLDS)
-
-usb:v152Ep2507*
- ID_PRODUCT_FROM_DATABASE=PL-2507 IDE Controller
-
-usb:v152EpE001*
- ID_PRODUCT_FROM_DATABASE=GSA-5120D DVD-RW
-
-usb:v1532*
- ID_VENDOR_FROM_DATABASE=Razer USA, Ltd
-
-usb:v1532p0001*
- ID_PRODUCT_FROM_DATABASE=RZ01-020300 Optical Mouse [Diamondback]
-
-usb:v1532p0003*
- ID_PRODUCT_FROM_DATABASE=Krait Mouse
-
-usb:v1532p0007*
- ID_PRODUCT_FROM_DATABASE=DeathAdder Mouse
-
-usb:v1532p0013*
- ID_PRODUCT_FROM_DATABASE=Orochi mouse
-
-usb:v1532p0016*
- ID_PRODUCT_FROM_DATABASE=DeathAdder Mouse
-
-usb:v1532p0017*
- ID_PRODUCT_FROM_DATABASE=Imperator Mouse
-
-usb:v1532p001C*
- ID_PRODUCT_FROM_DATABASE=RZ01-0036 Optical Gaming Mouse [Abyssus]
-
-usb:v1532p0024*
- ID_PRODUCT_FROM_DATABASE=Razer Mamba
-
-usb:v1532p0101*
- ID_PRODUCT_FROM_DATABASE=Copperhead Mouse
-
-usb:v1532p0102*
- ID_PRODUCT_FROM_DATABASE=Tarantula Keyboard
-
-usb:v1532p0109*
- ID_PRODUCT_FROM_DATABASE=Lycosa Keyboard
-
-usb:v1546*
- ID_VENDOR_FROM_DATABASE=U-Blox AG
-
-usb:v1547*
- ID_VENDOR_FROM_DATABASE=SG Intec Ltd & Co KG
-
-usb:v1547p1000*
- ID_PRODUCT_FROM_DATABASE=SG-Lock[U2]
-
-usb:v154A*
- ID_VENDOR_FROM_DATABASE=Celectronic GmbH
-
-usb:v154Ap8180*
- ID_PRODUCT_FROM_DATABASE=CARD STAR/medic2
-
-usb:v154B*
- ID_VENDOR_FROM_DATABASE=PNY
-
-usb:v154Bp0010*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Flash Drive
-
-usb:v154Bp004D*
- ID_PRODUCT_FROM_DATABASE=8 GB Flash Drive
-
-usb:v154Bp6545*
- ID_PRODUCT_FROM_DATABASE=FD Device
-
-usb:v154D*
- ID_VENDOR_FROM_DATABASE=ConnectCounty Holdings Berhad
-
-usb:v154E*
- ID_VENDOR_FROM_DATABASE=D&M Holdings, Inc. (Denon/Marantz)
-
-usb:v154Ep3000*
- ID_PRODUCT_FROM_DATABASE=Marantz RC9001 Remote Control
-
-usb:v154F*
- ID_VENDOR_FROM_DATABASE=SNBC CO., Ltd
-
-usb:v1554*
- ID_VENDOR_FROM_DATABASE=Prolink Microsystems Corp.
-
-usb:v1554p5010*
- ID_PRODUCT_FROM_DATABASE=PV-D231U(RN)-F [PixelView PlayTV SBTVD Full-Seg]
-
-usb:v1557*
- ID_VENDOR_FROM_DATABASE=OQO
-
-usb:v1557p0002*
- ID_PRODUCT_FROM_DATABASE=model 01 WiFi interface
-
-usb:v1557p0003*
- ID_PRODUCT_FROM_DATABASE=model 01 Bluetooth interface
-
-usb:v1557p0A80*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
-
-usb:v1557p7720*
- ID_PRODUCT_FROM_DATABASE=model 01+ Ethernet
-
-usb:v1557p8150*
- ID_PRODUCT_FROM_DATABASE=model 01 Ethernet interface
-
-usb:v1568*
- ID_VENDOR_FROM_DATABASE=Sunf Pu Technology Co., Ltd
-
-usb:v156F*
- ID_VENDOR_FROM_DATABASE=Quantum Corporation
-
-usb:v1570*
- ID_VENDOR_FROM_DATABASE=ALLTOP TECHNOLOGY CO., LTD.
-
-usb:v157B*
- ID_VENDOR_FROM_DATABASE=Ketron SRL
-
-usb:v157E*
- ID_VENDOR_FROM_DATABASE=TRENDnet
-
-usb:v157Ep3006*
- ID_PRODUCT_FROM_DATABASE=TEW-444UB EU [TRENDnet]
-
-usb:v157Ep3007*
- ID_PRODUCT_FROM_DATABASE=TEW-444UB EU (no firmware)
-
-usb:v157Ep300A*
- ID_PRODUCT_FROM_DATABASE=TEW-429UB 802.11bg
-
-usb:v157Ep300B*
- ID_PRODUCT_FROM_DATABASE=TEW-429UB 802.11bg
-
-usb:v157Ep300C*
- ID_PRODUCT_FROM_DATABASE=TEW-429UF A1 802.11bg Wireless Adapter [ZyDAS ZD1211B]
-
-usb:v157Ep300D*
- ID_PRODUCT_FROM_DATABASE=TEW-429UB C1 802.11bg
-
-usb:v157Ep300E*
- ID_PRODUCT_FROM_DATABASE=SMC SMCWUSB-N 802.11bgn 2x2:2 Wireless Adapter [Ralink RT2870]
-
-usb:v157Ep3012*
- ID_PRODUCT_FROM_DATABASE=TEW-604UB 802.11bg Wireless Adapter [Atheros AR5523]
-
-usb:v157Ep3013*
- ID_PRODUCT_FROM_DATABASE=TEW-645UB 802.11bgn 1x2:2 Wireless Adapter [Ralink RT2770]
-
-usb:v157Ep3204*
- ID_PRODUCT_FROM_DATABASE=Allnet ALL0298 v2 802.11bg
-
-usb:v157Ep3205*
- ID_PRODUCT_FROM_DATABASE=Allnet ALL0283 [AR5523]
-
-usb:v157Ep3206*
- ID_PRODUCT_FROM_DATABASE=Allnet ALL0283 [AR5523](no firmware)
-
-usb:v157Ep3207*
- ID_PRODUCT_FROM_DATABASE=TEW-509UB A1 802.11abg Wireless Adapter [ZyDAS ZD1211]
-
-usb:v157Ep3208*
- ID_PRODUCT_FROM_DATABASE=TEW-509UB 1.1R 802.11abg Wireless Adapter
-
-usb:v1582*
- ID_VENDOR_FROM_DATABASE=Fiberline
-
-usb:v1582p6003*
- ID_PRODUCT_FROM_DATABASE=WL-430U 802.11bg
-
-usb:v1587*
- ID_VENDOR_FROM_DATABASE=SMA Technologie AG
-
-usb:v158D*
- ID_VENDOR_FROM_DATABASE=Oakley Inc.
-
-usb:v158E*
- ID_VENDOR_FROM_DATABASE=JDS Uniphase Corporation (JDSU)
-
-usb:v158Ep0820*
- ID_PRODUCT_FROM_DATABASE=SmartPocket Class Device
-
-usb:v1598*
- ID_VENDOR_FROM_DATABASE=Kunshan Guoji Electronics Co., Ltd.
-
-usb:v15A2*
- ID_VENDOR_FROM_DATABASE=Freescale Semiconductor, Inc.
-
-usb:v15A2p003B*
- ID_PRODUCT_FROM_DATABASE=USB2CAN Application for ColdFire DEMOJM board
-
-usb:v15A2p0042*
- ID_PRODUCT_FROM_DATABASE=OSBDM - Debug Port
-
-usb:v15A2p004F*
- ID_PRODUCT_FROM_DATABASE=i.MX28 SystemOnChip in RecoveryMode
-
-usb:v15A2p0052*
- ID_PRODUCT_FROM_DATABASE=i.MX50 SystemOnChip in RecoveryMode
-
-usb:v15A2p0054*
- ID_PRODUCT_FROM_DATABASE=i.MX6Q SystemOnChip in RecoveryMode
-
-usb:v15A4*
- ID_VENDOR_FROM_DATABASE=Afatech Technologies, Inc.
-
-usb:v15A4p1000*
- ID_PRODUCT_FROM_DATABASE=AF9015/AF9035 DVB-T stick
-
-usb:v15A4p1001*
- ID_PRODUCT_FROM_DATABASE=AF9015/AF9035 DVB-T stick
-
-usb:v15A4p1336*
- ID_PRODUCT_FROM_DATABASE=SDHC/MicroSD/MMC/MS/M2/CF/XD Flash Card Reader
-
-usb:v15A4p9015*
- ID_PRODUCT_FROM_DATABASE=AF9015 DVB-T USB2.0 stick
-
-usb:v15A4p9016*
- ID_PRODUCT_FROM_DATABASE=AF9015 DVB-T USB2.0 stick
-
-usb:v15A8*
- ID_VENDOR_FROM_DATABASE=Teams Power Limited
-
-usb:v15A9*
- ID_VENDOR_FROM_DATABASE=Gemtek
-
-usb:v15A9p0002*
- ID_PRODUCT_FROM_DATABASE=SparkLAN WL-682 802.11bg Wireless Adapter [Intersil ISL3887]
-
-usb:v15A9p0004*
- ID_PRODUCT_FROM_DATABASE=WUBR-177G [Ralink RT2571W]
-
-usb:v15A9p0006*
- ID_PRODUCT_FROM_DATABASE=Wireless 11n USB Adapter
-
-usb:v15A9p0010*
- ID_PRODUCT_FROM_DATABASE=802.11n USB Wireless Card
-
-usb:v15A9p0012*
- ID_PRODUCT_FROM_DATABASE=WUBR-208N 802.11abgn Wireless Adapter [Ralink RT2870]
-
-usb:v15AA*
- ID_VENDOR_FROM_DATABASE=Gearway Electronics (Dong Guan) Co., Ltd.
-
-usb:v15AD*
- ID_VENDOR_FROM_DATABASE=VMware Inc.
-
-usb:v15BA*
- ID_VENDOR_FROM_DATABASE=Olimex Ltd.
-
-usb:v15BAp0003*
- ID_PRODUCT_FROM_DATABASE=OpenOCD JTAG
-
-usb:v15BAp0004*
- ID_PRODUCT_FROM_DATABASE=OpenOCD JTAG TINY
-
-usb:v15BAp002A*
- ID_PRODUCT_FROM_DATABASE=ARM-USB-TINY-H JTAG interface
-
-usb:v15C0*
- ID_VENDOR_FROM_DATABASE=XL Imaging
-
-usb:v15C0p0001*
- ID_PRODUCT_FROM_DATABASE=2M pixel Microscope Camera
-
-usb:v15C0p0002*
- ID_PRODUCT_FROM_DATABASE=3M pixel Microscope Camera
-
-usb:v15C0p0003*
- ID_PRODUCT_FROM_DATABASE=1.3M pixel Microscope Camera (mono)
-
-usb:v15C0p0004*
- ID_PRODUCT_FROM_DATABASE=1.3M pixel Microscope Camera (colour)
-
-usb:v15C0p0005*
- ID_PRODUCT_FROM_DATABASE=3M pixel Microscope Camera (Mk 2)
-
-usb:v15C0p0006*
- ID_PRODUCT_FROM_DATABASE=2M pixel Microscope Camera (with capture button)
-
-usb:v15C0p0007*
- ID_PRODUCT_FROM_DATABASE=3M pixel Microscope Camera (with capture button)
-
-usb:v15C0p0008*
- ID_PRODUCT_FROM_DATABASE=1.3M pixel Microscope Camera (colour, with capture button)
-
-usb:v15C0p0009*
- ID_PRODUCT_FROM_DATABASE=1.3M pixel Microscope Camera (colour, with capture button)
-
-usb:v15C0p000A*
- ID_PRODUCT_FROM_DATABASE=2M pixel Microscope Camera (Mk 2)
-
-usb:v15C0p0010*
- ID_PRODUCT_FROM_DATABASE=1.3M pixel "Tinycam"
-
-usb:v15C0p0101*
- ID_PRODUCT_FROM_DATABASE=3M pixel Microscope Camera
-
-usb:v15C2*
- ID_VENDOR_FROM_DATABASE=SoundGraph Inc.
-
-usb:v15C2p0036*
- ID_PRODUCT_FROM_DATABASE=LC16M VFD Display/IR Receiver
-
-usb:v15C2p0038*
- ID_PRODUCT_FROM_DATABASE=GD01 MX LCD Display/IR Receiver
-
-usb:v15C2pFFDA*
- ID_PRODUCT_FROM_DATABASE=iMON PAD Remote Controller
-
-usb:v15C2pFFDC*
- ID_PRODUCT_FROM_DATABASE=iMON PAD Remote Controller
-
-usb:v15C5*
- ID_VENDOR_FROM_DATABASE=Advance Multimedia Internet Technology Inc. (AMIT)
-
-usb:v15C5p0008*
- ID_PRODUCT_FROM_DATABASE=WL532U 802.11g Adapter
-
-usb:v15C6*
- ID_VENDOR_FROM_DATABASE=Laboratoires MXM
-
-usb:v15C6p1000*
- ID_PRODUCT_FROM_DATABASE=DigistimSP (cold)
-
-usb:v15C6p1001*
- ID_PRODUCT_FROM_DATABASE=DigistimSP (warm)
-
-usb:v15C6p1002*
- ID_PRODUCT_FROM_DATABASE=DigimapSP USB (cold)
-
-usb:v15C6p1003*
- ID_PRODUCT_FROM_DATABASE=DigimapSP USB (warm)
-
-usb:v15C6p1004*
- ID_PRODUCT_FROM_DATABASE=DigistimSP (cold)
-
-usb:v15C6p1005*
- ID_PRODUCT_FROM_DATABASE=DigistimSP (warm)
-
-usb:v15C6p1100*
- ID_PRODUCT_FROM_DATABASE=Odyssee (cold)
-
-usb:v15C6p1101*
- ID_PRODUCT_FROM_DATABASE=Odyssee (warm)
-
-usb:v15C6p1200*
- ID_PRODUCT_FROM_DATABASE=Digispy
-
-usb:v15C8*
- ID_VENDOR_FROM_DATABASE=KTF Technologies
-
-usb:v15C8p3201*
- ID_PRODUCT_FROM_DATABASE=EVER EV-W100/EV-W250
-
-usb:v15C9*
- ID_VENDOR_FROM_DATABASE=D-Box Technologies
-
-usb:v15CA*
- ID_VENDOR_FROM_DATABASE=Textech International Ltd.
-
-usb:v15CAp00C3*
- ID_PRODUCT_FROM_DATABASE=Mini Optical Mouse
-
-usb:v15CAp0101*
- ID_PRODUCT_FROM_DATABASE=MIDI Interface cable
-
-usb:v15CAp1806*
- ID_PRODUCT_FROM_DATABASE=MIDI Interface cable
-
-usb:v15D5*
- ID_VENDOR_FROM_DATABASE=Coulomb Electronics Ltd.
-
-usb:v15D9*
- ID_VENDOR_FROM_DATABASE=Trust International B.V.
-
-usb:v15D9p0A33*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v15D9p0A37*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v15D9p0A41*
- ID_PRODUCT_FROM_DATABASE=MI-2540D [Optical mouse]
-
-usb:v15D9p0A4C*
- ID_PRODUCT_FROM_DATABASE=USB+PS/2 Optical Mouse
-
-usb:v15D9p0A4D*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v15DC*
- ID_VENDOR_FROM_DATABASE=Hynix Semiconductor Inc.
-
-usb:v15E0*
- ID_VENDOR_FROM_DATABASE=Seong Ji Industrial Co., Ltd.
-
-usb:v15E1*
- ID_VENDOR_FROM_DATABASE=RSA
-
-usb:v15E1p2007*
- ID_PRODUCT_FROM_DATABASE=RSA SecurID (R) Authenticator
-
-usb:v15E4*
- ID_VENDOR_FROM_DATABASE=Numark
-
-usb:v15E4p0024*
- ID_PRODUCT_FROM_DATABASE=Mixtrack
-
-usb:v15E8*
- ID_VENDOR_FROM_DATABASE=SohoWare
-
-usb:v15E8p9100*
- ID_PRODUCT_FROM_DATABASE=NUB100 Ethernet [pegasus]
-
-usb:v15E8p9110*
- ID_PRODUCT_FROM_DATABASE=10/100 USB Ethernet
-
-usb:v15E9*
- ID_VENDOR_FROM_DATABASE=Pacific Digital Corp.
-
-usb:v15E9p04CE*
- ID_PRODUCT_FROM_DATABASE=MemoryFrame MF-570
-
-usb:v15E9p1968*
- ID_PRODUCT_FROM_DATABASE=MemoryFrame MF-570
-
-usb:v15E9p1969*
- ID_PRODUCT_FROM_DATABASE=Digital Frame
-
-usb:v15EC*
- ID_VENDOR_FROM_DATABASE=Belcarra Technologies Corp.
-
-usb:v15F4*
- ID_VENDOR_FROM_DATABASE=HanfTek
-
-usb:v15F4p0001*
- ID_PRODUCT_FROM_DATABASE=HanfTek UMT-010 USB2.0 DVB-T (cold)
-
-usb:v15F4p0025*
- ID_PRODUCT_FROM_DATABASE=HanfTek UMT-010 USB2.0 DVB-T (warm)
-
-usb:v1604*
- ID_VENDOR_FROM_DATABASE=Tascam
-
-usb:v1604p8000*
- ID_PRODUCT_FROM_DATABASE=US-428 Audio/Midi Controller (without fw)
-
-usb:v1604p8001*
- ID_PRODUCT_FROM_DATABASE=US-428 Audio/Midi Controller
-
-usb:v1604p8004*
- ID_PRODUCT_FROM_DATABASE=US-224 Audio/Midi Controller (without fw)
-
-usb:v1604p8005*
- ID_PRODUCT_FROM_DATABASE=US-224 Audio/Midi Controller
-
-usb:v1604p8006*
- ID_PRODUCT_FROM_DATABASE=US-122 Audio/Midi Interface (without fw)
-
-usb:v1604p8007*
- ID_PRODUCT_FROM_DATABASE=US-122 Audio/Midi Interface
-
-usb:v1606*
- ID_VENDOR_FROM_DATABASE=Umax
-
-usb:v1606p0002*
- ID_PRODUCT_FROM_DATABASE=Astra 1236U Scanner
-
-usb:v1606p0010*
- ID_PRODUCT_FROM_DATABASE=Astra 1220U
-
-usb:v1606p0030*
- ID_PRODUCT_FROM_DATABASE=Astra 1600U/2000U
-
-usb:v1606p0050*
- ID_PRODUCT_FROM_DATABASE=Scanner
-
-usb:v1606p0060*
- ID_PRODUCT_FROM_DATABASE=Astra 3400/3450
-
-usb:v1606p0070*
- ID_PRODUCT_FROM_DATABASE=Astra 4400/4450
-
-usb:v1606p0130*
- ID_PRODUCT_FROM_DATABASE=Astra 2100U
-
-usb:v1606p0160*
- ID_PRODUCT_FROM_DATABASE=Astra 5400U
-
-usb:v1606p0170*
- ID_PRODUCT_FROM_DATABASE=Uniscan D50
-
-usb:v1606p0230*
- ID_PRODUCT_FROM_DATABASE=Astra 2200/2200SU
-
-usb:v1606p0350*
- ID_PRODUCT_FROM_DATABASE=Astra 4800/4850 Scanner
-
-usb:v1606p1030*
- ID_PRODUCT_FROM_DATABASE=Astra 4000U
-
-usb:v1606p1220*
- ID_PRODUCT_FROM_DATABASE=Genesys Logic Scanner Controller NT5.0
-
-usb:v1606p2010*
- ID_PRODUCT_FROM_DATABASE=AstraCam Digital Camera
-
-usb:v1606p2020*
- ID_PRODUCT_FROM_DATABASE=AstraCam 1000
-
-usb:v1606p2030*
- ID_PRODUCT_FROM_DATABASE=AstraCam 1800 Digital Camera
-
-usb:v1608*
- ID_VENDOR_FROM_DATABASE=Inside Out Networks [hex]
-
-usb:v1608p0001*
- ID_PRODUCT_FROM_DATABASE=EdgePort/4 Serial Port
-
-usb:v1608p0002*
- ID_PRODUCT_FROM_DATABASE=Edgeport/8
-
-usb:v1608p0003*
- ID_PRODUCT_FROM_DATABASE=Rapidport/4
-
-usb:v1608p0004*
- ID_PRODUCT_FROM_DATABASE=Edgeport/4
-
-usb:v1608p0005*
- ID_PRODUCT_FROM_DATABASE=Edgeport/2
-
-usb:v1608p0006*
- ID_PRODUCT_FROM_DATABASE=Edgeport/4i
-
-usb:v1608p0007*
- ID_PRODUCT_FROM_DATABASE=Edgeport/2i
-
-usb:v1608p0008*
- ID_PRODUCT_FROM_DATABASE=Edgeport/8
-
-usb:v1608p000C*
- ID_PRODUCT_FROM_DATABASE=Edgeport/421
-
-usb:v1608p000D*
- ID_PRODUCT_FROM_DATABASE=Edgeport/21
-
-usb:v1608p000E*
- ID_PRODUCT_FROM_DATABASE=Edgeport/4
-
-usb:v1608p000F*
- ID_PRODUCT_FROM_DATABASE=Edgeport/8
-
-usb:v1608p0010*
- ID_PRODUCT_FROM_DATABASE=Edgeport/2
-
-usb:v1608p0011*
- ID_PRODUCT_FROM_DATABASE=Edgeport/4
-
-usb:v1608p0012*
- ID_PRODUCT_FROM_DATABASE=Edgeport/416
-
-usb:v1608p0014*
- ID_PRODUCT_FROM_DATABASE=Edgeport/8i
-
-usb:v1608p0018*
- ID_PRODUCT_FROM_DATABASE=Edgeport/412
-
-usb:v1608p0019*
- ID_PRODUCT_FROM_DATABASE=Edgeport/412
-
-usb:v1608p001A*
- ID_PRODUCT_FROM_DATABASE=Edgeport/2+2i
-
-usb:v1608p0101*
- ID_PRODUCT_FROM_DATABASE=Edgeport/4
-
-usb:v1608p0105*
- ID_PRODUCT_FROM_DATABASE=Edgeport/2
-
-usb:v1608p0106*
- ID_PRODUCT_FROM_DATABASE=Edgeport/4i
-
-usb:v1608p0107*
- ID_PRODUCT_FROM_DATABASE=Edgeport/2i
-
-usb:v1608p010C*
- ID_PRODUCT_FROM_DATABASE=Edgeport/421
-
-usb:v1608p010D*
- ID_PRODUCT_FROM_DATABASE=Edgeport/21
-
-usb:v1608p0110*
- ID_PRODUCT_FROM_DATABASE=Edgeport/2
-
-usb:v1608p0111*
- ID_PRODUCT_FROM_DATABASE=Edgeport/4
-
-usb:v1608p0112*
- ID_PRODUCT_FROM_DATABASE=Edgeport/416
-
-usb:v1608p0114*
- ID_PRODUCT_FROM_DATABASE=Edgeport/8i
-
-usb:v1608p0201*
- ID_PRODUCT_FROM_DATABASE=Edgeport/4
-
-usb:v1608p0203*
- ID_PRODUCT_FROM_DATABASE=Rapidport/4
-
-usb:v1608p0204*
- ID_PRODUCT_FROM_DATABASE=Edgeport/4
-
-usb:v1608p0205*
- ID_PRODUCT_FROM_DATABASE=Edgeport/2
-
-usb:v1608p0206*
- ID_PRODUCT_FROM_DATABASE=Edgeport/4i
-
-usb:v1608p0207*
- ID_PRODUCT_FROM_DATABASE=Edgeport/2i
-
-usb:v1608p020C*
- ID_PRODUCT_FROM_DATABASE=Edgeport/421
-
-usb:v1608p020D*
- ID_PRODUCT_FROM_DATABASE=Edgeport/21
-
-usb:v1608p020E*
- ID_PRODUCT_FROM_DATABASE=Edgeport/4
-
-usb:v1608p020F*
- ID_PRODUCT_FROM_DATABASE=Edgeport/8
-
-usb:v1608p0210*
- ID_PRODUCT_FROM_DATABASE=Edgeport/2
-
-usb:v1608p0211*
- ID_PRODUCT_FROM_DATABASE=Edgeport/4
-
-usb:v1608p0212*
- ID_PRODUCT_FROM_DATABASE=Edgeport/416
-
-usb:v1608p0214*
- ID_PRODUCT_FROM_DATABASE=Edgeport/8i
-
-usb:v1608p0215*
- ID_PRODUCT_FROM_DATABASE=Edgeport/1
-
-usb:v1608p0216*
- ID_PRODUCT_FROM_DATABASE=EPOS/44
-
-usb:v1608p0217*
- ID_PRODUCT_FROM_DATABASE=Edgeport/42
-
-usb:v1608p021A*
- ID_PRODUCT_FROM_DATABASE=Edgeport/2+2i
-
-usb:v1608p021B*
- ID_PRODUCT_FROM_DATABASE=Edgeport/2c
-
-usb:v1608p021C*
- ID_PRODUCT_FROM_DATABASE=Edgeport/221c
-
-usb:v1608p021D*
- ID_PRODUCT_FROM_DATABASE=Edgeport/22c
-
-usb:v1608p021E*
- ID_PRODUCT_FROM_DATABASE=Edgeport/21c
-
-usb:v1608p021F*
- ID_PRODUCT_FROM_DATABASE=Edgeport/62
-
-usb:v1608p0240*
- ID_PRODUCT_FROM_DATABASE=Edgeport/1
-
-usb:v1608p0241*
- ID_PRODUCT_FROM_DATABASE=Edgeport/1i
-
-usb:v1608p0242*
- ID_PRODUCT_FROM_DATABASE=Edgeport/4s
-
-usb:v1608p0243*
- ID_PRODUCT_FROM_DATABASE=Edgeport/8s
-
-usb:v1608p0244*
- ID_PRODUCT_FROM_DATABASE=Edgeport/8
-
-usb:v1608p0245*
- ID_PRODUCT_FROM_DATABASE=Edgeport/22c
-
-usb:v1608p0301*
- ID_PRODUCT_FROM_DATABASE=Watchport/P
-
-usb:v1608p0302*
- ID_PRODUCT_FROM_DATABASE=Watchport/M
-
-usb:v1608p0303*
- ID_PRODUCT_FROM_DATABASE=Watchport/W
-
-usb:v1608p0304*
- ID_PRODUCT_FROM_DATABASE=Watchport/T
-
-usb:v1608p0305*
- ID_PRODUCT_FROM_DATABASE=Watchport/H
-
-usb:v1608p0306*
- ID_PRODUCT_FROM_DATABASE=Watchport/E
-
-usb:v1608p0307*
- ID_PRODUCT_FROM_DATABASE=Watchport/L
-
-usb:v1608p0308*
- ID_PRODUCT_FROM_DATABASE=Watchport/R
-
-usb:v1608p0309*
- ID_PRODUCT_FROM_DATABASE=Watchport/A
-
-usb:v1608p030A*
- ID_PRODUCT_FROM_DATABASE=Watchport/D
-
-usb:v1608p030B*
- ID_PRODUCT_FROM_DATABASE=Watchport/D
-
-usb:v1608p030C*
- ID_PRODUCT_FROM_DATABASE=Power Management Port
-
-usb:v1608p030E*
- ID_PRODUCT_FROM_DATABASE=Power Management Port
-
-usb:v1608p030F*
- ID_PRODUCT_FROM_DATABASE=Watchport/G
-
-usb:v1608p0310*
- ID_PRODUCT_FROM_DATABASE=Watchport/Tc
-
-usb:v1608p0311*
- ID_PRODUCT_FROM_DATABASE=Watchport/Hc
-
-usb:v1608p1403*
- ID_PRODUCT_FROM_DATABASE=MultiTech Systems MT4X56 Modem
-
-usb:v1608p1A17*
- ID_PRODUCT_FROM_DATABASE=Agilent Technologies (E6473)
-
-usb:v160A*
- ID_VENDOR_FROM_DATABASE=VIA Technologies, Inc.
-
-usb:v160Ap3184*
- ID_PRODUCT_FROM_DATABASE=VIA VNT-6656 [WiFi 802.11b/g USB Dongle]
-
-usb:v160E*
- ID_VENDOR_FROM_DATABASE=INRO
-
-usb:v160Ep0001*
- ID_PRODUCT_FROM_DATABASE=E2USBKey
-
-usb:v1614*
- ID_VENDOR_FROM_DATABASE=Amoi Electronics
-
-usb:v1614p0404*
- ID_PRODUCT_FROM_DATABASE=WMA9109 UMTS Phone
-
-usb:v1614p0600*
- ID_PRODUCT_FROM_DATABASE=Vodafone VDA GPS / Toschiba Protege G710
-
-usb:v1614p0804*
- ID_PRODUCT_FROM_DATABASE=WP-S1 Phone
-
-usb:v1619*
- ID_VENDOR_FROM_DATABASE=L & K Precision Technology Co., Ltd.
-
-usb:v1621*
- ID_VENDOR_FROM_DATABASE=Wionics Research
-
-usb:v1628*
- ID_VENDOR_FROM_DATABASE=Stonestreet One, Inc.
-
-usb:v162A*
- ID_VENDOR_FROM_DATABASE=Airgo Networks Inc.
-
-usb:v162F*
- ID_VENDOR_FROM_DATABASE=WiQuest Communications, Inc.
-
-usb:v1630*
- ID_VENDOR_FROM_DATABASE=2Wire, Inc.
-
-usb:v1630p0005*
- ID_PRODUCT_FROM_DATABASE=802.11g Wireless Adapter [Intersil ISL3886]
-
-usb:v1630p0011*
- ID_PRODUCT_FROM_DATABASE=PC Port 10 Mps Adapter
-
-usb:v1630pFF81*
- ID_PRODUCT_FROM_DATABASE=802.11b Wireless Adapter [Lucent/Agere Hermes I]
-
-usb:v1631*
- ID_VENDOR_FROM_DATABASE=Good Way Technology
-
-usb:v1631p6200*
- ID_PRODUCT_FROM_DATABASE=GWUSB2E
-
-usb:v1631pC019*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v1645*
- ID_VENDOR_FROM_DATABASE=Cross Match Technologies GmbH
-
-usb:v1645p0001*
- ID_PRODUCT_FROM_DATABASE=1S Serial Port
-
-usb:v1645p0002*
- ID_PRODUCT_FROM_DATABASE=2S Serial Port
-
-usb:v1645p0003*
- ID_PRODUCT_FROM_DATABASE=1S25 Serial Port
-
-usb:v1645p0004*
- ID_PRODUCT_FROM_DATABASE=4S Serial Port
-
-usb:v1645p0005*
- ID_PRODUCT_FROM_DATABASE=E45 Ethernet [klsi]
-
-usb:v1645p0006*
- ID_PRODUCT_FROM_DATABASE=Parallel Port
-
-usb:v1645p0007*
- ID_PRODUCT_FROM_DATABASE=U1-SC25 SCSI
-
-usb:v1645p0008*
- ID_PRODUCT_FROM_DATABASE=Ethernet
-
-usb:v1645p0016*
- ID_PRODUCT_FROM_DATABASE=Bi-directional to Parallel Printer Converter
-
-usb:v1645p0080*
- ID_PRODUCT_FROM_DATABASE=1 port to Serial Converter
-
-usb:v1645p0081*
- ID_PRODUCT_FROM_DATABASE=1 port to Serial Converter
-
-usb:v1645p0093*
- ID_PRODUCT_FROM_DATABASE=1S9 Serial Port
-
-usb:v1645p8000*
- ID_PRODUCT_FROM_DATABASE=EZ-USB
-
-usb:v1645p8001*
- ID_PRODUCT_FROM_DATABASE=1 port to Serial
-
-usb:v1645p8002*
- ID_PRODUCT_FROM_DATABASE=2x Serial Port
-
-usb:v1645p8003*
- ID_PRODUCT_FROM_DATABASE=1 port to Serial
-
-usb:v1645p8004*
- ID_PRODUCT_FROM_DATABASE=2U4S serial/usb hub
-
-usb:v1645p8005*
- ID_PRODUCT_FROM_DATABASE=Ethernet
-
-usb:v1645p8080*
- ID_PRODUCT_FROM_DATABASE=1 port to Serial
-
-usb:v1645p8081*
- ID_PRODUCT_FROM_DATABASE=1 port to Serial
-
-usb:v1645p8093*
- ID_PRODUCT_FROM_DATABASE=PortGear Serial Port
-
-usb:v1649*
- ID_VENDOR_FROM_DATABASE=SofTec Microsystems
-
-usb:v1649p0102*
- ID_PRODUCT_FROM_DATABASE=uDART In-Circuit Debugger
-
-usb:v1649p0200*
- ID_PRODUCT_FROM_DATABASE=SpYder USBSPYDER08
-
-usb:v164A*
- ID_VENDOR_FROM_DATABASE=ChipX
-
-usb:v164C*
- ID_VENDOR_FROM_DATABASE=Matrix Vision GmbH
-
-usb:v164Cp0101*
- ID_PRODUCT_FROM_DATABASE=mvBlueFOX camera (no firmware)
-
-usb:v164Cp0103*
- ID_PRODUCT_FROM_DATABASE=mvBlueFOX camera
-
-usb:v164Cp0201*
- ID_PRODUCT_FROM_DATABASE=mvBlueLYNX-X intelligent camera (bootloader)
-
-usb:v164Cp0203*
- ID_PRODUCT_FROM_DATABASE=mvBlueLYNX-X intelligent camera
-
-usb:v1657*
- ID_VENDOR_FROM_DATABASE=Struck Innovative Systeme GmbH
-
-usb:v1657p3150*
- ID_PRODUCT_FROM_DATABASE=SIS3150 USB2.0 to VME interface
-
-usb:v165B*
- ID_VENDOR_FROM_DATABASE=Frontier Design Group
-
-usb:v165Bp8101*
- ID_PRODUCT_FROM_DATABASE=Tranzport Control Surface
-
-usb:v165BpFAD1*
- ID_PRODUCT_FROM_DATABASE=Alphatrack Control Surface
-
-usb:v165C*
- ID_VENDOR_FROM_DATABASE=Kondo Kagaku
-
-usb:v165Cp0002*
- ID_PRODUCT_FROM_DATABASE=Serial Adapter
-
-usb:v1660*
- ID_VENDOR_FROM_DATABASE=Creatix Polymedia GmbH
-
-usb:v1668*
- ID_VENDOR_FROM_DATABASE=Actiontec Electronics, Inc. [hex]
-
-usb:v1668p0009*
- ID_PRODUCT_FROM_DATABASE=Gateway
-
-usb:v1668p0333*
- ID_PRODUCT_FROM_DATABASE=Modem
-
-usb:v1668p0358*
- ID_PRODUCT_FROM_DATABASE=InternetPhoneWizard
-
-usb:v1668p0405*
- ID_PRODUCT_FROM_DATABASE=Gateway
-
-usb:v1668p0408*
- ID_PRODUCT_FROM_DATABASE=Prism2.5 802.11b Adapter
-
-usb:v1668p0413*
- ID_PRODUCT_FROM_DATABASE=Gateway
-
-usb:v1668p0421*
- ID_PRODUCT_FROM_DATABASE=Prism2.5 802.11b Adapter
-
-usb:v1668p0441*
- ID_PRODUCT_FROM_DATABASE=IBM Integrated Bluetooth II
-
-usb:v1668p0500*
- ID_PRODUCT_FROM_DATABASE=BTM200B BlueTooth Adapter
-
-usb:v1668p1050*
- ID_PRODUCT_FROM_DATABASE=802UIG-1 802.11g Wireless Mini Adapter [Intersil ISL3887]
-
-usb:v1668p1200*
- ID_PRODUCT_FROM_DATABASE=802AIN Wireless N Network Adapter [Atheros AR9170+AR9101]
-
-usb:v1668p1441*
- ID_PRODUCT_FROM_DATABASE=IBM Integrated Bluetooth II
-
-usb:v1668p2441*
- ID_PRODUCT_FROM_DATABASE=BMDC-2 IBM Bluetooth III w.56k
-
-usb:v1668p3441*
- ID_PRODUCT_FROM_DATABASE=IBM Integrated Bluetooth III
-
-usb:v1668p6010*
- ID_PRODUCT_FROM_DATABASE=Gateway
-
-usb:v1668p6097*
- ID_PRODUCT_FROM_DATABASE=802.11b Wireless Adapter
-
-usb:v1668p6106*
- ID_PRODUCT_FROM_DATABASE=802UI3(B) 802.11b Wireless Adapter [Intersil PRISM 3]
-
-usb:v1668p7605*
- ID_PRODUCT_FROM_DATABASE=UAT1 Wireless Ethernet Adapter
-
-usb:v1669*
- ID_VENDOR_FROM_DATABASE=PiKRON Ltd. [hex]
-
-usb:v1669p1001*
- ID_PRODUCT_FROM_DATABASE=uLan2USB Converter - PS1 protocol
-
-usb:v1677*
- ID_VENDOR_FROM_DATABASE=China Huada Integrated Circuit Design (Group) Co., Ltd. (CIDC Group)
-
-usb:v1677p0103*
- ID_PRODUCT_FROM_DATABASE=Token
-
-usb:v1679*
- ID_VENDOR_FROM_DATABASE=Total Phase
-
-usb:v1679p2001*
- ID_PRODUCT_FROM_DATABASE=Beagle Protocol Analyzer
-
-usb:v1679p2002*
- ID_PRODUCT_FROM_DATABASE=Cheetah SPI Host Adapter
-
-usb:v1680*
- ID_VENDOR_FROM_DATABASE=Golden Bridge Electech Inc.
-
-usb:v1680pA332*
- ID_PRODUCT_FROM_DATABASE=DVB-T Dongle [RTL2832U]
-
-usb:v1681*
- ID_VENDOR_FROM_DATABASE=Prevo Technologies, Inc.
-
-usb:v1681p0001*
- ID_PRODUCT_FROM_DATABASE=Tuner's Dashboard
-
-usb:v1681p0002*
- ID_PRODUCT_FROM_DATABASE=Tubachron
-
-usb:v1682*
- ID_VENDOR_FROM_DATABASE=Maxwise Production Enterprise Ltd.
-
-usb:v1684*
- ID_VENDOR_FROM_DATABASE=Godspeed Computer Corp.
-
-usb:v1685*
- ID_VENDOR_FROM_DATABASE=Delock
-
-usb:v1685p0200*
- ID_PRODUCT_FROM_DATABASE=Infrared adapter
-
-usb:v1686*
- ID_VENDOR_FROM_DATABASE=ZOOM Corporation
-
-usb:v1686p0045*
- ID_PRODUCT_FROM_DATABASE=H4 Digital Recorder
-
-usb:v1687*
- ID_VENDOR_FROM_DATABASE=Kingmax Digital Inc.
-
-usb:v1687p5289*
- ID_PRODUCT_FROM_DATABASE=FlashDisk
-
-usb:v1687p6211*
- ID_PRODUCT_FROM_DATABASE=FlashDisk
-
-usb:v1688*
- ID_VENDOR_FROM_DATABASE=Saab AB
-
-usb:v1689*
- ID_VENDOR_FROM_DATABASE=Razer USA, Ltd
-
-usb:v1689pFD00*
- ID_PRODUCT_FROM_DATABASE=Onza Tournament Edition controller
-
-usb:v168C*
- ID_VENDOR_FROM_DATABASE=Atheros Communications
-
-usb:v168Cp0001*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:v168Cp0002*
- ID_PRODUCT_FROM_DATABASE=AR5523 (no firmware)
-
-usb:v1690*
- ID_VENDOR_FROM_DATABASE=Askey Computer Corp. [hex]
-
-usb:v1690p0101*
- ID_PRODUCT_FROM_DATABASE=Creative Modem Blaster DE5670
-
-usb:v1690p0102*
- ID_PRODUCT_FROM_DATABASE=V1456 VQE-R2 Modem [conexant]
-
-usb:v1690p0103*
- ID_PRODUCT_FROM_DATABASE=1456 VQE-R3 Modem [conexant]
-
-usb:v1690p0104*
- ID_PRODUCT_FROM_DATABASE=HCF V90 Data Fax RTAD Modem
-
-usb:v1690p0107*
- ID_PRODUCT_FROM_DATABASE=HCF V.90 Data,Fax,RTAD Modem
-
-usb:v1690p0109*
- ID_PRODUCT_FROM_DATABASE=MagicXpress V.90 Pocket Modem [conexant]
-
-usb:v1690p0203*
- ID_PRODUCT_FROM_DATABASE=Voyager ADSL Modem Loader
-
-usb:v1690p0204*
- ID_PRODUCT_FROM_DATABASE=Voyager ADSL Modem
-
-usb:v1690p0205*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v1690p0206*
- ID_PRODUCT_FROM_DATABASE=GlobeSpan ADSL WAN Modem
-
-usb:v1690p0208*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v1690p0209*
- ID_PRODUCT_FROM_DATABASE=Voyager 100 ADSL Modem
-
-usb:v1690p0211*
- ID_PRODUCT_FROM_DATABASE=Globespan Virata ADSL LAN Modem
-
-usb:v1690p0212*
- ID_PRODUCT_FROM_DATABASE=DSL Modem
-
-usb:v1690p0213*
- ID_PRODUCT_FROM_DATABASE=HM121d DSL Modem
-
-usb:v1690p0214*
- ID_PRODUCT_FROM_DATABASE=HM121d DSL Modem
-
-usb:v1690p0215*
- ID_PRODUCT_FROM_DATABASE=Voyager 105 ADSL Modem
-
-usb:v1690p0701*
- ID_PRODUCT_FROM_DATABASE=WLAN
-
-usb:v1690p0710*
- ID_PRODUCT_FROM_DATABASE=SMCWUSBT-G
-
-usb:v1690p0711*
- ID_PRODUCT_FROM_DATABASE=SMCWUSBT-G (no firmware)
-
-usb:v1690p0712*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:v1690p0713*
- ID_PRODUCT_FROM_DATABASE=AR5523 (no firmware)
-
-usb:v1690p0715*
- ID_PRODUCT_FROM_DATABASE=Name: Voyager 1055 Laptop 802.11g Adapter [Broadcom 4320]
-
-usb:v1690p0722*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v1690p0726*
- ID_PRODUCT_FROM_DATABASE=Wi-Fi Wireless LAN Adapter
-
-usb:v1690p0740*
- ID_PRODUCT_FROM_DATABASE=802.11n Wireless LAN Card
-
-usb:v1690p0901*
- ID_PRODUCT_FROM_DATABASE=Voyager 205 ADSL Router
-
-usb:v1696*
- ID_VENDOR_FROM_DATABASE=Hitachi Video and Information System, Inc.
-
-usb:v1697*
- ID_VENDOR_FROM_DATABASE=VTec Test, Inc.
-
-usb:v16A5*
- ID_VENDOR_FROM_DATABASE=Shenzhen Zhengerya Cable Co., Ltd.
-
-usb:v16A6*
- ID_VENDOR_FROM_DATABASE=Unigraf
-
-usb:v16A6p3000*
- ID_PRODUCT_FROM_DATABASE=VTG-3xxx Video Test Generator family
-
-usb:v16A6p4000*
- ID_PRODUCT_FROM_DATABASE=VTG-4xxx Video Test Generator family
-
-usb:v16A6p5000*
- ID_PRODUCT_FROM_DATABASE=VTG-5xxx Video Test Generator family
-
-usb:v16A6p5001*
- ID_PRODUCT_FROM_DATABASE=VTG-5xxx Special (update) mode of VTG-5xxx family
-
-usb:v16AB*
- ID_VENDOR_FROM_DATABASE=Global Sun Technology
-
-usb:v16ABp7801*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:v16ABp7802*
- ID_PRODUCT_FROM_DATABASE=AR5523 (no firmware)
-
-usb:v16ABp7811*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:v16ABp7812*
- ID_PRODUCT_FROM_DATABASE=AR5523 (no firmware)
-
-usb:v16AC*
- ID_VENDOR_FROM_DATABASE=Dongguan ChingLung Wire & Cable Co., Ltd.
-
-usb:v16B4*
- ID_VENDOR_FROM_DATABASE=iStation
-
-usb:v16B4p0801*
- ID_PRODUCT_FROM_DATABASE=U43
-
-usb:v16B5*
- ID_VENDOR_FROM_DATABASE=Persentec, Inc.
-
-usb:v16B5p0002*
- ID_PRODUCT_FROM_DATABASE=Otto driving companion
-
-usb:v16C0*
- ID_VENDOR_FROM_DATABASE=Van Ooijen Technische Informatica
-
-usb:v16C0p03E8*
- ID_PRODUCT_FROM_DATABASE=free for internal lab use 1000
-
-usb:v16C0p03E9*
- ID_PRODUCT_FROM_DATABASE=free for internal lab use 1001
-
-usb:v16C0p03EA*
- ID_PRODUCT_FROM_DATABASE=free for internal lab use 1002
-
-usb:v16C0p03EB*
- ID_PRODUCT_FROM_DATABASE=free for internal lab use 1003
-
-usb:v16C0p03EC*
- ID_PRODUCT_FROM_DATABASE=free for internal lab use 1004
-
-usb:v16C0p03ED*
- ID_PRODUCT_FROM_DATABASE=free for internal lab use 1005
-
-usb:v16C0p03EE*
- ID_PRODUCT_FROM_DATABASE=free for internal lab use 1006
-
-usb:v16C0p03EF*
- ID_PRODUCT_FROM_DATABASE=free for internal lab use 1007
-
-usb:v16C0p03F0*
- ID_PRODUCT_FROM_DATABASE=free for internal lab use 1008
-
-usb:v16C0p03F1*
- ID_PRODUCT_FROM_DATABASE=free for internal lab use 1009
-
-usb:v16C0p0477*
- ID_PRODUCT_FROM_DATABASE=Teensy Rebootor
-
-usb:v16C0p0478*
- ID_PRODUCT_FROM_DATABASE=Teensy Halfkay Bootloader
-
-usb:v16C0p0479*
- ID_PRODUCT_FROM_DATABASE=Teensy Debug
-
-usb:v16C0p047A*
- ID_PRODUCT_FROM_DATABASE=Teensy Serial
-
-usb:v16C0p047B*
- ID_PRODUCT_FROM_DATABASE=Teensy Serial+Debug
-
-usb:v16C0p047C*
- ID_PRODUCT_FROM_DATABASE=Teensy Keyboard
-
-usb:v16C0p047D*
- ID_PRODUCT_FROM_DATABASE=Teensy Keyboard+Debug
-
-usb:v16C0p047E*
- ID_PRODUCT_FROM_DATABASE=Teensy Mouse
-
-usb:v16C0p047F*
- ID_PRODUCT_FROM_DATABASE=Teensy Mouse+Debug
-
-usb:v16C0p0480*
- ID_PRODUCT_FROM_DATABASE=Teensy RawHID
-
-usb:v16C0p0481*
- ID_PRODUCT_FROM_DATABASE=Teensy RawHID+Debug
-
-usb:v16C0p0482*
- ID_PRODUCT_FROM_DATABASE=Teensyduino Keyboard+Mouse+Joystick
-
-usb:v16C0p0483*
- ID_PRODUCT_FROM_DATABASE=Teensyduino Serial
-
-usb:v16C0p0484*
- ID_PRODUCT_FROM_DATABASE=Teensyduino Disk
-
-usb:v16C0p0485*
- ID_PRODUCT_FROM_DATABASE=Teensyduino MIDI
-
-usb:v16C0p0486*
- ID_PRODUCT_FROM_DATABASE=Teensyduino RawHID
-
-usb:v16C0p0487*
- ID_PRODUCT_FROM_DATABASE=Teensyduino Serial+Keyboard+Mouse+Joystick
-
-usb:v16C0p0488*
- ID_PRODUCT_FROM_DATABASE=Teensyduino Flight Sim Controls
-
-usb:v16C0p05DC*
- ID_PRODUCT_FROM_DATABASE=shared ID for use with libusb
-
-usb:v16C0p05DD*
- ID_PRODUCT_FROM_DATABASE=BlackcatUSB2
-
-usb:v16C0p05DF*
- ID_PRODUCT_FROM_DATABASE=Masterkit MA901 radio
-
-usb:v16C0p05E1*
- ID_PRODUCT_FROM_DATABASE=CDC-ACM class devices (modems)
-
-usb:v16C0p05E4*
- ID_PRODUCT_FROM_DATABASE=MIDI class devices
-
-usb:v16C0p076B*
- ID_PRODUCT_FROM_DATABASE=OpenPCD 13.56MHz RFID Reader
-
-usb:v16C0p076C*
- ID_PRODUCT_FROM_DATABASE=OpenPICC 13.56MHz RFID Simulator (native)
-
-usb:v16C0p08AC*
- ID_PRODUCT_FROM_DATABASE=OpenBeacon USB stick
-
-usb:v16C0p08CA*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte Universal Display
-
-usb:v16C0p08CB*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte Studio Clock
-
-usb:v16C0p08CC*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte SAM7S MT Boot Loader
-
-usb:v16C0p08CD*
- ID_PRODUCT_FROM_DATABASE=Alpermann+Velte SAM7X MT Boot Loader
-
-usb:v16C0p0A32*
- ID_PRODUCT_FROM_DATABASE=jbmedia Light-Manager Pro
-
-usb:v16C0p27DA*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v16C0p27DB*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v16C0p27DC*
- ID_PRODUCT_FROM_DATABASE=Joystick
-
-usb:v16C0p27DD*
- ID_PRODUCT_FROM_DATABASE=CDC-ACM class devices (modems)
-
-usb:v16C0p27DE*
- ID_PRODUCT_FROM_DATABASE=MIDI class devices
-
-usb:v16C0p294A*
- ID_PRODUCT_FROM_DATABASE=Eye Movement Recorder [Visagraph]
-
-usb:v16C0p294B*
- ID_PRODUCT_FROM_DATABASE=Eye Movement Recorder [ReadAlyzer]
-
-usb:v16CA*
- ID_VENDOR_FROM_DATABASE=Wireless Cables, Inc.
-
-usb:v16CAp1502*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Dongle
-
-usb:v16CC*
- ID_VENDOR_FROM_DATABASE=silex technology, Inc.
-
-usb:v16D0*
- ID_VENDOR_FROM_DATABASE=MCS
-
-usb:v16D0p0498*
- ID_PRODUCT_FROM_DATABASE=Braintechnology USB-LPS
-
-usb:v16D0p0504*
- ID_PRODUCT_FROM_DATABASE=RETRO Innovations ZoomFloppy
-
-usb:v16D0p054B*
- ID_PRODUCT_FROM_DATABASE=GrauTec ReelBox OLED Display (external)
-
-usb:v16D0p05BE*
- ID_PRODUCT_FROM_DATABASE=EasyLogic Board
-
-usb:v16D3*
- ID_VENDOR_FROM_DATABASE=Frontline Test Equipment, Inc.
-
-usb:v16D5*
- ID_VENDOR_FROM_DATABASE=AnyDATA Corporation
-
-usb:v16D5p6202*
- ID_PRODUCT_FROM_DATABASE=CDMA/UMTS/GPRS modem
-
-usb:v16D5p6501*
- ID_PRODUCT_FROM_DATABASE=CDMA 2000 1xRTT/EV-DO Modem
-
-usb:v16D5p6502*
- ID_PRODUCT_FROM_DATABASE=CDMA/UMTS/GPRS modem
-
-usb:v16D6*
- ID_VENDOR_FROM_DATABASE=JABLOCOM s.r.o.
-
-usb:v16D6p8000*
- ID_PRODUCT_FROM_DATABASE=GDP-04 desktop phone
-
-usb:v16D6p8001*
- ID_PRODUCT_FROM_DATABASE=EYE-02
-
-usb:v16D6p8003*
- ID_PRODUCT_FROM_DATABASE=GDP-04 modem
-
-usb:v16D6p8004*
- ID_PRODUCT_FROM_DATABASE=Bootloader
-
-usb:v16D6p8005*
- ID_PRODUCT_FROM_DATABASE=GDP-04i
-
-usb:v16D6p8007*
- ID_PRODUCT_FROM_DATABASE=BTP-06 modem
-
-usb:v16D8*
- ID_VENDOR_FROM_DATABASE=CMOTECH Co., Ltd.
-
-usb:v16D8p5141*
- ID_PRODUCT_FROM_DATABASE=CMOTECH CDMA Technologies modem
-
-usb:v16D8p5533*
- ID_PRODUCT_FROM_DATABASE=CCU-550 CDMA EV-DO modem
-
-usb:v16D8p5543*
- ID_PRODUCT_FROM_DATABASE=CDMA 2000 1xRTT/1xEVDO modem
-
-usb:v16D8p6280*
- ID_PRODUCT_FROM_DATABASE=CMOTECH CDMA Technologies modem
-
-usb:v16D8p6803*
- ID_PRODUCT_FROM_DATABASE=CNU-680 CDMA EV-DO modem
-
-usb:v16D8p8001*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem (QDL mode)
-
-usb:v16D8p8002*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem
-
-usb:v16DC*
- ID_VENDOR_FROM_DATABASE=Wiener, Plein & Baus
-
-usb:v16DCp0001*
- ID_PRODUCT_FROM_DATABASE=CC
-
-usb:v16DCp000B*
- ID_PRODUCT_FROM_DATABASE=VM
-
-usb:v16DCp0010*
- ID_PRODUCT_FROM_DATABASE=PL512 Power Supply System
-
-usb:v16DCp0011*
- ID_PRODUCT_FROM_DATABASE=MARATON Power Supply System
-
-usb:v16DCp0012*
- ID_PRODUCT_FROM_DATABASE=MPOD Multi Channel Power Supply System
-
-usb:v16DCp0015*
- ID_PRODUCT_FROM_DATABASE=CML Control, Measurement and Data Logging System
-
-usb:v16DF*
- ID_VENDOR_FROM_DATABASE=King Billion Electronics Co., Ltd.
-
-usb:v16F0*
- ID_VENDOR_FROM_DATABASE=GN ReSound A/S
-
-usb:v16F0p0001*
- ID_PRODUCT_FROM_DATABASE=Speedlink Programming Interface
-
-usb:v16F0p0003*
- ID_PRODUCT_FROM_DATABASE=Airlink Wireless Programming Interface
-
-usb:v16F5*
- ID_VENDOR_FROM_DATABASE=Futurelogic Inc.
-
-usb:v1706*
- ID_VENDOR_FROM_DATABASE=BlueView Technologies, Inc.
-
-usb:v1707*
- ID_VENDOR_FROM_DATABASE=ARTIMI
-
-usb:v170B*
- ID_VENDOR_FROM_DATABASE=Swissonic
-
-usb:v170Bp0011*
- ID_PRODUCT_FROM_DATABASE=MIDI-USB 1x1
-
-usb:v170D*
- ID_VENDOR_FROM_DATABASE=Avnera
-
-usb:v1725*
- ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor
-
-usb:v1726*
- ID_VENDOR_FROM_DATABASE=Axesstel, Inc.
-
-usb:v1726p1000*
- ID_PRODUCT_FROM_DATABASE=wireless modem
-
-usb:v1726p2000*
- ID_PRODUCT_FROM_DATABASE=wireless modem
-
-usb:v1726p3000*
- ID_PRODUCT_FROM_DATABASE=wireless modem
-
-usb:v172F*
- ID_VENDOR_FROM_DATABASE=Waltop International Corp.
-
-usb:v172Fp0022*
- ID_PRODUCT_FROM_DATABASE=Tablet
-
-usb:v172Fp0024*
- ID_PRODUCT_FROM_DATABASE=Tablet
-
-usb:v172Fp0025*
- ID_PRODUCT_FROM_DATABASE=Tablet
-
-usb:v172Fp0026*
- ID_PRODUCT_FROM_DATABASE=Tablet
-
-usb:v172Fp0031*
- ID_PRODUCT_FROM_DATABASE=Slim Tablet 12.1"
-
-usb:v172Fp0032*
- ID_PRODUCT_FROM_DATABASE=Slim Tablet 5.8"
-
-usb:v172Fp0034*
- ID_PRODUCT_FROM_DATABASE=Slim Tablet 12.1"
-
-usb:v172Fp0038*
- ID_PRODUCT_FROM_DATABASE=Genius G-Pen F509
-
-usb:v172Fp0500*
- ID_PRODUCT_FROM_DATABASE=Media Tablet 14.1"
-
-usb:v172Fp0501*
- ID_PRODUCT_FROM_DATABASE=Media Tablet 10.6"
-
-usb:v172Fp0502*
- ID_PRODUCT_FROM_DATABASE=Sirius Battery Free Tablet
-
-usb:v1733*
- ID_VENDOR_FROM_DATABASE=Cellink Technology Co., Ltd
-
-usb:v1733p0101*
- ID_PRODUCT_FROM_DATABASE=RF Wireless Optical Mouse OP-701
-
-usb:v1736*
- ID_VENDOR_FROM_DATABASE=CANON IMAGING SYSTEM TECHNOLOGIES INC.
-
-usb:v1737*
- ID_VENDOR_FROM_DATABASE=Linksys
-
-usb:v1737p0039*
- ID_PRODUCT_FROM_DATABASE=USB1000 Gigabit Notebook Adapter
-
-usb:v1737p0070*
- ID_PRODUCT_FROM_DATABASE=WUSB100 v1 RangePlus Wireless Network Adapter [Ralink RT2870]
-
-usb:v1737p0071*
- ID_PRODUCT_FROM_DATABASE=WUSB600N v1 Dual-Band Wireless-N Network Adapter [Ralink RT2870]
-
-usb:v1737p0073*
- ID_PRODUCT_FROM_DATABASE=WUSB54GC v2 802.11g Adapter [Realtek RTL8187B]
-
-usb:v1737p0075*
- ID_PRODUCT_FROM_DATABASE=WUSB54GSC v2 802.11g Adapter [Broadcom 4326U]
-
-usb:v1737p0077*
- ID_PRODUCT_FROM_DATABASE=WUSB54GC v3 802.11g Adapter [Ralink RT2070L]
-
-usb:v1737p0078*
- ID_PRODUCT_FROM_DATABASE=WUSB100 v2 RangePlus Wireless Network Adapter [Ralink RT3070]
-
-usb:v1737p0079*
- ID_PRODUCT_FROM_DATABASE=WUSB600N v2 Dual-Band Wireless-N Network Adapter [Ralink RT3572]
-
-usb:v1740*
- ID_VENDOR_FROM_DATABASE=Senao
-
-usb:v1740p0605*
- ID_PRODUCT_FROM_DATABASE=LevelOne WUA-0605 N_Max Wireless USB Adapter
-
-usb:v1740p0615*
- ID_PRODUCT_FROM_DATABASE=LevelOne WUA-0615 N_Max Wireless USB Adapter
-
-usb:v1740p1000*
- ID_PRODUCT_FROM_DATABASE=NUB-350 802.11g Wireless Adapter [Intersil ISL3887]
-
-usb:v1740p2000*
- ID_PRODUCT_FROM_DATABASE=NUB-8301 802.11bg
-
-usb:v1740p3701*
- ID_PRODUCT_FROM_DATABASE=EUB-3701 EXT 802.11g Wireless Adapter [Ralink RT2571W]
-
-usb:v1740p9603*
- ID_PRODUCT_FROM_DATABASE=RTL8188S WLAN Adapter
-
-usb:v1740p9701*
- ID_PRODUCT_FROM_DATABASE=EnGenius 802.11n Wireless USB Adapter
-
-usb:v1740p9702*
- ID_PRODUCT_FROM_DATABASE=EnGenius 802.11n Wireless USB Adapter
-
-usb:v1740p9703*
- ID_PRODUCT_FROM_DATABASE=EnGenius 802.11n Wireless USB Adapter
-
-usb:v1740p9705*
- ID_PRODUCT_FROM_DATABASE=EnGenius 802.11n Wireless USB Adapter
-
-usb:v1740p9706*
- ID_PRODUCT_FROM_DATABASE=EUB9706 802.11n Wireless Adapter [Ralink RT3072]
-
-usb:v1740p9801*
- ID_PRODUCT_FROM_DATABASE=EUB9801 802.11abgn Wireless Adapter [Ralink RT3572]
-
-usb:v1743*
- ID_VENDOR_FROM_DATABASE=General Atomics
-
-usb:v174C*
- ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc.
-
-usb:v174Cp5106*
- ID_PRODUCT_FROM_DATABASE=Transcend StoreJet 25M3
-
-usb:v174Cp55AA*
- ID_PRODUCT_FROM_DATABASE=ASMedia 2105 SATA bridge
-
-usb:v174F*
- ID_VENDOR_FROM_DATABASE=Syntek
-
-usb:v174Fp1105*
- ID_PRODUCT_FROM_DATABASE=SM-MS/Pro-MMC-XD Card Reader
-
-usb:v174Fp110B*
- ID_PRODUCT_FROM_DATABASE=HP Webcam
-
-usb:v174Fp1403*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam
-
-usb:v174Fp1404*
- ID_PRODUCT_FROM_DATABASE=USB Camera device, 1.3 MPixel Web Cam
-
-usb:v174Fp5212*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 UVC PC Camera
-
-usb:v174Fp5A11*
- ID_PRODUCT_FROM_DATABASE=PC Camera
-
-usb:v174Fp5A31*
- ID_PRODUCT_FROM_DATABASE=Sonix USB 2.0 Camera
-
-usb:v174Fp5A35*
- ID_PRODUCT_FROM_DATABASE=Sonix 1.3MPixel USB 2.0 Camera
-
-usb:v174Fp6A31*
- ID_PRODUCT_FROM_DATABASE=Web Cam - Asus A8J, F3S, F5R, VX2S, V1S
-
-usb:v174Fp6A33*
- ID_PRODUCT_FROM_DATABASE=Web Cam - Asus F3SA, F9J, F9S
-
-usb:v174Fp6A51*
- ID_PRODUCT_FROM_DATABASE=2.0MPixel Web Cam - Asus Z96J, Z96S, S96S
-
-usb:v174Fp6A54*
- ID_PRODUCT_FROM_DATABASE=Web Cam
-
-usb:v174Fp6D51*
- ID_PRODUCT_FROM_DATABASE=2.0Mpixel Web Cam - Eurocom D900C
-
-usb:v174Fp8A12*
- ID_PRODUCT_FROM_DATABASE=Syntek 0.3MPixel USB 2.0 UVC PC Camera
-
-usb:v174Fp8A33*
- ID_PRODUCT_FROM_DATABASE=Syntek USB 2.0 UVC PC Camera
-
-usb:v174FpA311*
- ID_PRODUCT_FROM_DATABASE=1.3MPixel Web Cam - Asus A3A, A6J, A6K, A6M, A6R, A6T, A6V, A7T, A7sv, A7U
-
-usb:v174FpA312*
- ID_PRODUCT_FROM_DATABASE=1.3MPixel Web Cam
-
-usb:v174FpA821*
- ID_PRODUCT_FROM_DATABASE=Web Cam - Packard Bell BU45, PB Easynote MX66-208W
-
-usb:v174FpAA11*
- ID_PRODUCT_FROM_DATABASE=Web Cam
-
-usb:v1753*
- ID_VENDOR_FROM_DATABASE=GERTEC Telecomunicacoes Ltda.
-
-usb:v1753pC901*
- ID_PRODUCT_FROM_DATABASE=PPC900 Pinpad Terminal
-
-usb:v1759*
- ID_VENDOR_FROM_DATABASE=LucidPort Technology, Inc.
-
-usb:v1761*
- ID_VENDOR_FROM_DATABASE=ASUSTek Computer, Inc. (wrong ID)
-
-usb:v1761p0B05*
- ID_PRODUCT_FROM_DATABASE=802.11n Network Adapter (wrong ID - swapped vendor and device)
-
-usb:v1772*
- ID_VENDOR_FROM_DATABASE=System Level Solutions, Inc.
-
-usb:v1776*
- ID_VENDOR_FROM_DATABASE=Arowana
-
-usb:v1776p501C*
- ID_PRODUCT_FROM_DATABASE=300K CMOS Camera
-
-usb:v177F*
- ID_VENDOR_FROM_DATABASE=Sweex
-
-usb:v177Fp0004*
- ID_PRODUCT_FROM_DATABASE=MM004V5 Photo Key Chain (Digital Photo Frame) 1.5"
-
-usb:v177Fp0153*
- ID_PRODUCT_FROM_DATABASE=LW153 802.11n Adapter [ralink rt3070]
-
-usb:v177Fp0154*
- ID_PRODUCT_FROM_DATABASE=LW154 802.11bgn (1x1:1) Wireless Adapter [Realtek RTL8188SU]
-
-usb:v177Fp0313*
- ID_PRODUCT_FROM_DATABASE=LW313 802.11n Adapter [ralink rt2770 + rt2720]
-
-usb:v1781*
- ID_VENDOR_FROM_DATABASE=Multiple Vendors
-
-usb:v1781p083E*
- ID_PRODUCT_FROM_DATABASE=MetaGeek Wi-Spy
-
-usb:v1781p083F*
- ID_PRODUCT_FROM_DATABASE=MetaGeek Wi-Spy 2.4x
-
-usb:v1781p0938*
- ID_PRODUCT_FROM_DATABASE=Iguanaworks USB IR Transceiver
-
-usb:v1781p0C30*
- ID_PRODUCT_FROM_DATABASE=Telldus TellStick
-
-usb:v1781p0C31*
- ID_PRODUCT_FROM_DATABASE=Telldus TellStick Duo
-
-usb:v1781p0C9F*
- ID_PRODUCT_FROM_DATABASE=USBtiny
-
-usb:v1782*
- ID_VENDOR_FROM_DATABASE=Spreadtrum Communications Inc.
-
-usb:v1784*
- ID_VENDOR_FROM_DATABASE=TopSeed Technology Corp.
-
-usb:v1784p0001*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Transceiver
-
-usb:v1784p0004*
- ID_PRODUCT_FROM_DATABASE=RF Combo Device
-
-usb:v1784p0006*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Transceiver
-
-usb:v1784p0007*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Transceiver
-
-usb:v1784p0008*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Transceiver
-
-usb:v1784p000A*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Transceiver
-
-usb:v1787*
- ID_VENDOR_FROM_DATABASE=ATI AIB
-
-usb:v1788*
- ID_VENDOR_FROM_DATABASE=ShenZhen Litkconn Technology Co., Ltd.
-
-usb:v1796*
- ID_VENDOR_FROM_DATABASE=Printrex, Inc.
-
-usb:v1797*
- ID_VENDOR_FROM_DATABASE=JALCO CO., LTD.
-
-usb:v1799*
- ID_VENDOR_FROM_DATABASE=Belkin Components
-
-usb:v1799p7051*
- ID_PRODUCT_FROM_DATABASE=F5D7051 802.11g Adapter v1000 [Broadcom 4320]
-
-usb:v1799p8051*
- ID_PRODUCT_FROM_DATABASE=F5D8051 v2 802.11bgn Wireless Adapter [Marvell 88W8362]
-
-usb:v179D*
- ID_VENDOR_FROM_DATABASE=Ricavision International, Inc.
-
-usb:v179Dp0010*
- ID_PRODUCT_FROM_DATABASE=Internal Infrared Transceiver
-
-usb:v17A0*
- ID_VENDOR_FROM_DATABASE=Samson Technologies Corp.
-
-usb:v17A0p0001*
- ID_PRODUCT_FROM_DATABASE=C01U condenser microphone
-
-usb:v17A0p0002*
- ID_PRODUCT_FROM_DATABASE=Q1U dynamic microphone
-
-usb:v17A0p0100*
- ID_PRODUCT_FROM_DATABASE=C03U multi-pattern microphone
-
-usb:v17A0p0101*
- ID_PRODUCT_FROM_DATABASE=UB1 boundary microphone
-
-usb:v17A0p0200*
- ID_PRODUCT_FROM_DATABASE=StudioDock monitors (internal hub)
-
-usb:v17A0p0201*
- ID_PRODUCT_FROM_DATABASE=StudioDock monitors (audio)
-
-usb:v17A0p0301*
- ID_PRODUCT_FROM_DATABASE=Q2U handheld microphone with XLR
-
-usb:v17A0p0302*
- ID_PRODUCT_FROM_DATABASE=GoMic compact condenser microphone
-
-usb:v17A0p0310*
- ID_PRODUCT_FROM_DATABASE=Meteor condenser microphone
-
-usb:v17A4*
- ID_VENDOR_FROM_DATABASE=Concept2
-
-usb:v17A4p0001*
- ID_PRODUCT_FROM_DATABASE=Performance Monitor 3
-
-usb:v17A4p0002*
- ID_PRODUCT_FROM_DATABASE=Performance Monitor 4
-
-usb:v17A5*
- ID_VENDOR_FROM_DATABASE=Advanced Connection Technology Inc.
-
-usb:v17A7*
- ID_VENDOR_FROM_DATABASE=MICOMSOFT CO., LTD.
-
-usb:v17A8*
- ID_VENDOR_FROM_DATABASE=Kamstrup A/S
-
-usb:v17A8p0001*
- ID_PRODUCT_FROM_DATABASE=Optical Eye/3-wire
-
-usb:v17A8p0005*
- ID_PRODUCT_FROM_DATABASE=M-Bus Master MultiPort 250D
-
-usb:v17B3*
- ID_VENDOR_FROM_DATABASE=Grey Innovation
-
-usb:v17B3p0004*
- ID_PRODUCT_FROM_DATABASE=Linux-USB Midi Gadget
-
-usb:v17BA*
- ID_VENDOR_FROM_DATABASE=SAURIS GmbH
-
-usb:v17BAp0001*
- ID_PRODUCT_FROM_DATABASE=SAU510-USB [no firmware]
-
-usb:v17BAp0510*
- ID_PRODUCT_FROM_DATABASE=SAU510-USB and SAU510-USB plus JTAG Emulators
-
-usb:v17BAp0511*
- ID_PRODUCT_FROM_DATABASE=SAU510-USB Iso Plus JTAG Emulator
-
-usb:v17BAp0520*
- ID_PRODUCT_FROM_DATABASE=SAU510-USB Nano JTAG Emulator
-
-usb:v17BAp1511*
- ID_PRODUCT_FROM_DATABASE=Onboard Emulator on SAUModule development kit
-
-usb:v17C3*
- ID_VENDOR_FROM_DATABASE=Singim International Corp.
-
-usb:v17CC*
- ID_VENDOR_FROM_DATABASE=Native Instruments
-
-usb:v17CCp041C*
- ID_PRODUCT_FROM_DATABASE=Audio 2 DJ
-
-usb:v17CCp0808*
- ID_PRODUCT_FROM_DATABASE=Maschine Controller
-
-usb:v17CCp0815*
- ID_PRODUCT_FROM_DATABASE=Audio Kontrol 1
-
-usb:v17CCp0839*
- ID_PRODUCT_FROM_DATABASE=Audio 4 DJ
-
-usb:v17CCp0D8D*
- ID_PRODUCT_FROM_DATABASE=Guitarrig Mobile
-
-usb:v17CCp1915*
- ID_PRODUCT_FROM_DATABASE=Session I/O
-
-usb:v17CCp1940*
- ID_PRODUCT_FROM_DATABASE=RigKontrol3
-
-usb:v17CCp1969*
- ID_PRODUCT_FROM_DATABASE=RigKontrol2
-
-usb:v17CCp1978*
- ID_PRODUCT_FROM_DATABASE=Audio 8 DJ
-
-usb:v17CCp2280*
- ID_PRODUCT_FROM_DATABASE=Medion MDPNA1500 in card reader mode
-
-usb:v17CCp2305*
- ID_PRODUCT_FROM_DATABASE=Traktor Kontrol X1
-
-usb:v17CCp4711*
- ID_PRODUCT_FROM_DATABASE=Kore Controller
-
-usb:v17CCp4712*
- ID_PRODUCT_FROM_DATABASE=Kore Controller 2
-
-usb:v17CCpBAFF*
- ID_PRODUCT_FROM_DATABASE=Traktor Kontrol S4
-
-usb:v17CF*
- ID_VENDOR_FROM_DATABASE=Hip Hing Cable & Plug Mfy. Ltd.
-
-usb:v17D0*
- ID_VENDOR_FROM_DATABASE=Sanford L.P.
-
-usb:v17D3*
- ID_VENDOR_FROM_DATABASE=Korea Techtron Co., Ltd.
-
-usb:v17E9*
- ID_VENDOR_FROM_DATABASE=DisplayLink
-
-usb:v17E9p0051*
- ID_PRODUCT_FROM_DATABASE=USB VGA Adaptor
-
-usb:v17E9p0377*
- ID_PRODUCT_FROM_DATABASE=Plugable UD-160-A (M)
-
-usb:v17E9p0378*
- ID_PRODUCT_FROM_DATABASE=Plugable UGA-2K-A
-
-usb:v17E9p0379*
- ID_PRODUCT_FROM_DATABASE=Plugable UGA-125
-
-usb:v17E9p037A*
- ID_PRODUCT_FROM_DATABASE=Plugable UGA-165
-
-usb:v17E9p037B*
- ID_PRODUCT_FROM_DATABASE=Plugable USB-VGA-165
-
-usb:v17E9p037C*
- ID_PRODUCT_FROM_DATABASE=Plugable DC-125
-
-usb:v17E9p037D*
- ID_PRODUCT_FROM_DATABASE=Plugable USB2-HDMI-165
-
-usb:v17E9p430A*
- ID_PRODUCT_FROM_DATABASE=HP Port Replicator (Composite Device)
-
-usb:v17EB*
- ID_VENDOR_FROM_DATABASE=Cornice, Inc.
-
-usb:v17EF*
- ID_VENDOR_FROM_DATABASE=Lenovo
-
-usb:v17EFp1003*
- ID_PRODUCT_FROM_DATABASE=Integrated Smart Card Reader
-
-usb:v17EFp1004*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam
-
-usb:v17EFp100A*
- ID_PRODUCT_FROM_DATABASE=ThinkPad Mini Dock Plus Series 3
-
-usb:v17EFp3815*
- ID_PRODUCT_FROM_DATABASE=ChipsBnk 2GB USB Stick
-
-usb:v17EFp4802*
- ID_PRODUCT_FROM_DATABASE=Lenovo Vc0323+MI1310_SOC Camera
-
-usb:v17EFp4807*
- ID_PRODUCT_FROM_DATABASE=UVC Camera
-
-usb:v17EFp480C*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam
-
-usb:v17EFp480D*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam [R5U877]
-
-usb:v17EFp480E*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam [R5U877]
-
-usb:v17EFp480F*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam [R5U877]
-
-usb:v17EFp4810*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam [R5U877]
-
-usb:v17EFp4811*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam [R5U877]
-
-usb:v17EFp4812*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam [R5U877]
-
-usb:v17EFp4813*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam [R5U877]
-
-usb:v17EFp4814*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam [R5U877]
-
-usb:v17EFp4815*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam [R5U877]
-
-usb:v17EFp481C*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam
-
-usb:v17EFp481D*
- ID_PRODUCT_FROM_DATABASE=Integrated Webcam
-
-usb:v17EFp6007*
- ID_PRODUCT_FROM_DATABASE=Smartcard Keyboard
-
-usb:v17EFp6009*
- ID_PRODUCT_FROM_DATABASE=ThinkPad Keyboard with TrackPoint
-
-usb:v17EFp6014*
- ID_PRODUCT_FROM_DATABASE=Mini Wireless Keyboard N5901
-
-usb:v17EFp7423*
- ID_PRODUCT_FROM_DATABASE=IdeaPad A1 Tablet
-
-usb:v17F4*
- ID_VENDOR_FROM_DATABASE=WaveSense
-
-usb:v17F4pAAAA*
- ID_PRODUCT_FROM_DATABASE=Jazz Blood Glucose Meter
-
-usb:v17F5*
- ID_VENDOR_FROM_DATABASE=K.K. Rocky
-
-usb:v17F6*
- ID_VENDOR_FROM_DATABASE=Unicomp, Inc
-
-usb:v17F6p0709*
- ID_PRODUCT_FROM_DATABASE=Model M Keyboard
-
-usb:v1809*
- ID_VENDOR_FROM_DATABASE=Advantech
-
-usb:v1809p4604*
- ID_PRODUCT_FROM_DATABASE=USB-4604
-
-usb:v1809p4761*
- ID_PRODUCT_FROM_DATABASE=USB-4761 Portable Data Acquisition Module
-
-usb:v1822*
- ID_VENDOR_FROM_DATABASE=Twinhan
-
-usb:v1822p3201*
- ID_PRODUCT_FROM_DATABASE=VisionDTV USB-Ter/HAMA USB DVB-T device cold
-
-usb:v1822p3202*
- ID_PRODUCT_FROM_DATABASE=VisionDTV USB-Ter/HAMA USB DVB-T device warm
-
-usb:v1831*
- ID_VENDOR_FROM_DATABASE=Gwo Jinn Industries Co., Ltd.
-
-usb:v1832*
- ID_VENDOR_FROM_DATABASE=Huizhou Shenghua Industrial Co., Ltd.
-
-usb:v183D*
- ID_VENDOR_FROM_DATABASE=VIVOphone
-
-usb:v183Dp0010*
- ID_PRODUCT_FROM_DATABASE=VoiceKey
-
-usb:v1843*
- ID_VENDOR_FROM_DATABASE=Vaisala
-
-usb:v1849*
- ID_VENDOR_FROM_DATABASE=ASRock Incorporation
-
-usb:v1852*
- ID_VENDOR_FROM_DATABASE=GYROCOM C&C Co., LTD
-
-usb:v1852p7922*
- ID_PRODUCT_FROM_DATABASE=Audiotrak DR.DAC2 DX [GYROCOM C&C]
-
-usb:v1854*
- ID_VENDOR_FROM_DATABASE=Memory Devices Ltd.
-
-usb:v185B*
- ID_VENDOR_FROM_DATABASE=Compro
-
-usb:v185Bp3020*
- ID_PRODUCT_FROM_DATABASE=K100 Infrared Receiver
-
-usb:v185Bp3082*
- ID_PRODUCT_FROM_DATABASE=K100 Infrared Receiver v2
-
-usb:v185BpD000*
- ID_PRODUCT_FROM_DATABASE=Compro Videomate DVB-U2000 - DVB-T USB cold
-
-usb:v185BpD001*
- ID_PRODUCT_FROM_DATABASE=Compro Videomate DVB-U2000 - DVB-T USB warm
-
-usb:v1861*
- ID_VENDOR_FROM_DATABASE=Tech Technology Industrial Company
-
-usb:v1862*
- ID_VENDOR_FROM_DATABASE=Teridian Semiconductor Corp.
-
-usb:v1870*
- ID_VENDOR_FROM_DATABASE=Nexio Co., Ltd
-
-usb:v1870p0001*
- ID_PRODUCT_FROM_DATABASE=iNexio Touchscreen controller
-
-usb:v1871*
- ID_VENDOR_FROM_DATABASE=Aveo Technology Corp.
-
-usb:v1871p0101*
- ID_PRODUCT_FROM_DATABASE=UVC camera (Bresser microscope)
-
-usb:v1871p0D01*
- ID_PRODUCT_FROM_DATABASE=USB2.0 Camera
-
-usb:v1873*
- ID_VENDOR_FROM_DATABASE=Navilock
-
-usb:v1873pEE93*
- ID_PRODUCT_FROM_DATABASE=EasyLogger
-
-usb:v187C*
- ID_VENDOR_FROM_DATABASE=Alienware Corporation
-
-usb:v187Cp0600*
- ID_PRODUCT_FROM_DATABASE=Dual Compatible Game Pad
-
-usb:v187F*
- ID_VENDOR_FROM_DATABASE=Siano Mobile Silicon
-
-usb:v187Fp0010*
- ID_PRODUCT_FROM_DATABASE=Stallar Board
-
-usb:v187Fp0100*
- ID_PRODUCT_FROM_DATABASE=Stallar Board
-
-usb:v187Fp0200*
- ID_PRODUCT_FROM_DATABASE=Nova A
-
-usb:v187Fp0201*
- ID_PRODUCT_FROM_DATABASE=Nova B
-
-usb:v187Fp0202*
- ID_PRODUCT_FROM_DATABASE=Nice
-
-usb:v187Fp0300*
- ID_PRODUCT_FROM_DATABASE=Vega
-
-usb:v187Fp0301*
- ID_PRODUCT_FROM_DATABASE=VeNice
-
-usb:v1892*
- ID_VENDOR_FROM_DATABASE=Vast Technologies, Inc.
-
-usb:v1894*
- ID_VENDOR_FROM_DATABASE=Topseed
-
-usb:v1894p5632*
- ID_PRODUCT_FROM_DATABASE=Atek Tote Remote
-
-usb:v1894p5641*
- ID_PRODUCT_FROM_DATABASE=TSAM-004 Presentation Remote
-
-usb:v1897*
- ID_VENDOR_FROM_DATABASE=Evertop Wire Cable Co.
-
-usb:v189F*
- ID_VENDOR_FROM_DATABASE=3Shape A/S
-
-usb:v189Fp0002*
- ID_PRODUCT_FROM_DATABASE=Legato2 3D Scanner
-
-usb:v18A4*
- ID_VENDOR_FROM_DATABASE=CSSN
-
-usb:v18A4p0001*
- ID_PRODUCT_FROM_DATABASE=Snapshell IDR
-
-usb:v18A5*
- ID_VENDOR_FROM_DATABASE=Verbatim, Ltd
-
-usb:v18A5p0214*
- ID_PRODUCT_FROM_DATABASE=Portable Hard Drive
-
-usb:v18A5p0216*
- ID_PRODUCT_FROM_DATABASE=External Hard Drive
-
-usb:v18A5p0218*
- ID_PRODUCT_FROM_DATABASE=External Hard Drive
-
-usb:v18A5p0227*
- ID_PRODUCT_FROM_DATABASE=Pocket Hard Drive
-
-usb:v18A5p022B*
- ID_PRODUCT_FROM_DATABASE=Portable Hard Drive (Store'n'Go)
-
-usb:v18A5p0237*
- ID_PRODUCT_FROM_DATABASE=Portable Harddrive (500 GB)
-
-usb:v18B1*
- ID_VENDOR_FROM_DATABASE=Petalynx
-
-usb:v18B1p0037*
- ID_PRODUCT_FROM_DATABASE=Maxter Remote Control
-
-usb:v18B4*
- ID_VENDOR_FROM_DATABASE=e3C Technologies
-
-usb:v18B4p1001*
- ID_PRODUCT_FROM_DATABASE=DUTV007
-
-usb:v18B4p1002*
- ID_PRODUCT_FROM_DATABASE=EC168 (v5) based USB DVB-T receiver
-
-usb:v18B4p1689*
- ID_PRODUCT_FROM_DATABASE=DUTV009
-
-usb:v18B4pFFFA*
- ID_PRODUCT_FROM_DATABASE=EC168 (v2) based USB DVB-T receiver
-
-usb:v18B4pFFFB*
- ID_PRODUCT_FROM_DATABASE=EC168 (v3) based USB DVB-T receiver
-
-usb:v18B6*
- ID_VENDOR_FROM_DATABASE=Mikkon Technology Limited
-
-usb:v18B7*
- ID_VENDOR_FROM_DATABASE=Zotek Electronic Co., Ltd.
-
-usb:v18C5*
- ID_VENDOR_FROM_DATABASE=AMIT Technology, Inc.
-
-usb:v18C5p0002*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSB2GO
-
-usb:v18C5p0008*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSB2GNR Corega Wireless USB Adapter
-
-usb:v18C5p0012*
- ID_PRODUCT_FROM_DATABASE=CG-WLUSB10 Corega Wireless USB Adapter
-
-usb:v18CD*
- ID_VENDOR_FROM_DATABASE=Ecamm
-
-usb:v18CDpCAFE*
- ID_PRODUCT_FROM_DATABASE=Pico iMage
-
-usb:v18D1*
- ID_VENDOR_FROM_DATABASE=Google Inc.
-
-usb:v18D1p0D02*
- ID_PRODUCT_FROM_DATABASE=Celkon A88
-
-usb:v18D1p4E11*
- ID_PRODUCT_FROM_DATABASE=Nexus One
-
-usb:v18D1p4E12*
- ID_PRODUCT_FROM_DATABASE=Nexus One (debug)
-
-usb:v18D1p4E13*
- ID_PRODUCT_FROM_DATABASE=Nexus One (tether)
-
-usb:v18D1p4E20*
- ID_PRODUCT_FROM_DATABASE=Nexus S (fastboot)
-
-usb:v18D1p4E21*
- ID_PRODUCT_FROM_DATABASE=Nexus S
-
-usb:v18D1p4E22*
- ID_PRODUCT_FROM_DATABASE=Nexus S (debug)
-
-usb:v18D1p4E24*
- ID_PRODUCT_FROM_DATABASE=Nexus S (tether)
-
-usb:v18D1p7102*
- ID_PRODUCT_FROM_DATABASE=Toshiba Thrive tablet
-
-usb:v18D1pB004*
- ID_PRODUCT_FROM_DATABASE=Pandigital / B&N Novel 9" tablet
-
-usb:v18D5*
- ID_VENDOR_FROM_DATABASE=Starline International Group Limited
-
-usb:v18D9*
- ID_VENDOR_FROM_DATABASE=Kaba
-
-usb:v18D9p01A0*
- ID_PRODUCT_FROM_DATABASE=B-Net 91 07
-
-usb:v18DC*
- ID_VENDOR_FROM_DATABASE=LKC Technologies, Inc.
-
-usb:v18DD*
- ID_VENDOR_FROM_DATABASE=Planon System Solutions Inc.
-
-usb:v18DDp1000*
- ID_PRODUCT_FROM_DATABASE=DocuPen RC800
-
-usb:v18E3*
- ID_VENDOR_FROM_DATABASE=Fitipower Integrated Technology Inc
-
-usb:v18E3p7102*
- ID_PRODUCT_FROM_DATABASE=Multi Card Reader (Internal)
-
-usb:v18E3p9101*
- ID_PRODUCT_FROM_DATABASE=All-in-1 Card Reader
-
-usb:v18E3p9102*
- ID_PRODUCT_FROM_DATABASE=Multi Card Reader
-
-usb:v18E3p9512*
- ID_PRODUCT_FROM_DATABASE=Webcam
-
-usb:v18E8*
- ID_VENDOR_FROM_DATABASE=Qcom
-
-usb:v18E8p6144*
- ID_PRODUCT_FROM_DATABASE=LR802UA 802.11b Wireless Adapter [ALi M4301AU]
-
-usb:v18E8p6196*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v18E8p6229*
- ID_PRODUCT_FROM_DATABASE=RT2573
-
-usb:v18E8p6232*
- ID_PRODUCT_FROM_DATABASE=Wireless 802.11g 54Mbps Network Adapter [RTL8187]
-
-usb:v18EA*
- ID_VENDOR_FROM_DATABASE=Matrox Graphics, Inc.
-
-usb:v18EAp0002*
- ID_PRODUCT_FROM_DATABASE=DualHead2Go [Analog Edition]
-
-usb:v18EAp0004*
- ID_PRODUCT_FROM_DATABASE=TripleHead2Go [Digital Edition]
-
-usb:v18EC*
- ID_VENDOR_FROM_DATABASE=Arkmicro Technologies Inc.
-
-usb:v18ECp3118*
- ID_PRODUCT_FROM_DATABASE=USB to IrDA adapter [ARK3116T]
-
-usb:v18ECp3188*
- ID_PRODUCT_FROM_DATABASE=ARK3188 UVC Webcam
-
-usb:v18FD*
- ID_VENDOR_FROM_DATABASE=FineArch Inc.
-
-usb:v1908*
- ID_VENDOR_FROM_DATABASE=GEMBIRD
-
-usb:v1908p1320*
- ID_PRODUCT_FROM_DATABASE=PhotoFrame PF-15-1
-
-usb:v190D*
- ID_VENDOR_FROM_DATABASE=Motorola GSG
-
-usb:v1914*
- ID_VENDOR_FROM_DATABASE=Alco Digital Devices Limited
-
-usb:v1915*
- ID_VENDOR_FROM_DATABASE=Nordic Semiconductor ASA
-
-usb:v1915p2233*
- ID_PRODUCT_FROM_DATABASE=Linksys WUSB11 v2.8 802.11b Adapter [Atmel AT76C505]
-
-usb:v1915p2234*
- ID_PRODUCT_FROM_DATABASE=Linksys WUSB54G v1 OEM 802.11g Adapter [Intersil ISL3886]
-
-usb:v1915p2235*
- ID_PRODUCT_FROM_DATABASE=Linksys WUSB54GP v1 OEM 802.11g Adapter [Intersil ISL3886]
-
-usb:v1915p2236*
- ID_PRODUCT_FROM_DATABASE=Linksys WUSB11 v3.0 802.11b Adapter [Intersil PRISM 3]
-
-usb:v1926*
- ID_VENDOR_FROM_DATABASE=NextWindow
-
-usb:v1926p0003*
- ID_PRODUCT_FROM_DATABASE=1900 HID Touchscreen
-
-usb:v1926p0006*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0064*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0065*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0066*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0067*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0068*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0069*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0071*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0072*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0073*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0074*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0075*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0076*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0077*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0078*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0079*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p007A*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p007E*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p007F*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0080*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0081*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0082*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0083*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0084*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0085*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0086*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v1926p0087*
- ID_PRODUCT_FROM_DATABASE=1950 HID Touchscreen
-
-usb:v192F*
- ID_VENDOR_FROM_DATABASE=Avago Technologies, Pte.
-
-usb:v192Fp0000*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v192Fp0416*
- ID_PRODUCT_FROM_DATABASE=ADNS-5700 Optical Mouse Controller (3-button)
-
-usb:v192Fp0616*
- ID_PRODUCT_FROM_DATABASE=ADNS-5700 Optical Mouse Controller (5-button)
-
-usb:v1930*
- ID_VENDOR_FROM_DATABASE=Shenzhen Xianhe Technology Co., Ltd.
-
-usb:v1931*
- ID_VENDOR_FROM_DATABASE=Ningbo Broad Telecommunication Co., Ltd.
-
-usb:v1934*
- ID_VENDOR_FROM_DATABASE=Feature Integration Technology Inc. (Fintek)
-
-usb:v1934p0602*
- ID_PRODUCT_FROM_DATABASE=F71610 or F71612 Consumer Infrared Receiver/Transceiver
-
-usb:v1934p0702*
- ID_PRODUCT_FROM_DATABASE=Integrated Consumer Infrared Receiver/Transceiver
-
-usb:v1934p5168*
- ID_PRODUCT_FROM_DATABASE=F71610A or F71612A Consumer Infrared Receiver/Transceiver
-
-usb:v1941*
- ID_VENDOR_FROM_DATABASE=Dream Link
-
-usb:v1941p8021*
- ID_PRODUCT_FROM_DATABASE=WH1080 Weather Station / USB Missile Launcher
-
-usb:v1943*
- ID_VENDOR_FROM_DATABASE=Sensoray Co., Inc.
-
-usb:v1943p2250*
- ID_PRODUCT_FROM_DATABASE=Model 2250 MPEG and JPEG Capture Card
-
-usb:v1943p2253*
- ID_PRODUCT_FROM_DATABASE=Model 2253 Audio/Video Codec Card
-
-usb:v1943p2255*
- ID_PRODUCT_FROM_DATABASE=Model 2255 4 Channel Capture Card
-
-usb:v1943p2257*
- ID_PRODUCT_FROM_DATABASE=Model 2257 4 Channel Capture Card
-
-usb:v1943pA250*
- ID_PRODUCT_FROM_DATABASE=Model 2250 MPEG and JPEG Capture Card (cold)
-
-usb:v1943pA253*
- ID_PRODUCT_FROM_DATABASE=Model 2253 Audio/Video Codec Card (cold)
-
-usb:v1949*
- ID_VENDOR_FROM_DATABASE=Lab126, Inc.
-
-usb:v1949p0002*
- ID_PRODUCT_FROM_DATABASE=Amazon Kindle
-
-usb:v1949p0004*
- ID_PRODUCT_FROM_DATABASE=Amazon Kindle 3/4
-
-usb:v1949p0006*
- ID_PRODUCT_FROM_DATABASE=Kindle Fire
-
-usb:v194F*
- ID_VENDOR_FROM_DATABASE=PreSonus Audio Electronics, Inc.
-
-usb:v194Fp0101*
- ID_PRODUCT_FROM_DATABASE=AudioBox 22 VSL
-
-usb:v194Fp0102*
- ID_PRODUCT_FROM_DATABASE=AudioBox 44 VSL
-
-usb:v194Fp0103*
- ID_PRODUCT_FROM_DATABASE=AudioBox 1818 VSL
-
-usb:v194Fp0301*
- ID_PRODUCT_FROM_DATABASE=AudioBox
-
-usb:v1951*
- ID_VENDOR_FROM_DATABASE=Hyperstone AG
-
-usb:v1953*
- ID_VENDOR_FROM_DATABASE=Ironkey Inc.
-
-usb:v1954*
- ID_VENDOR_FROM_DATABASE=Radiient Technologies
-
-usb:v195D*
- ID_VENDOR_FROM_DATABASE=Itron Technology iONE
-
-usb:v195Dp7002*
- ID_PRODUCT_FROM_DATABASE=Libra-Q11 IR remote
-
-usb:v195Dp7006*
- ID_PRODUCT_FROM_DATABASE=Libra-Q26 / 1.0 Remote
-
-usb:v195Dp7777*
- ID_PRODUCT_FROM_DATABASE=Scorpius wireless keyboard
-
-usb:v195Dp7779*
- ID_PRODUCT_FROM_DATABASE=Scorpius-P20MT
-
-usb:v1967*
- ID_VENDOR_FROM_DATABASE=CASIO HITACHI Mobile Communications Co., Ltd.
-
-usb:v196B*
- ID_VENDOR_FROM_DATABASE=Wispro Technology Inc.
-
-usb:v1970*
- ID_VENDOR_FROM_DATABASE=Dane-Elec Corp. USA
-
-usb:v1975*
- ID_VENDOR_FROM_DATABASE=Dongguan Guneetal Wire & Cable Co., Ltd.
-
-usb:v1976*
- ID_VENDOR_FROM_DATABASE=Chipsbrand Microelectronics (HK) Co., Ltd.
-
-usb:v1976p6025*
- ID_PRODUCT_FROM_DATABASE=Flash Drive 512 MB
-
-usb:v1977*
- ID_VENDOR_FROM_DATABASE=T-Logic
-
-usb:v1977p0111*
- ID_PRODUCT_FROM_DATABASE=TL203 MP3 Player and Voice Recorder
-
-usb:v197D*
- ID_VENDOR_FROM_DATABASE=Leuze electronic
-
-usb:v197Dp0222*
- ID_PRODUCT_FROM_DATABASE=BCL 508i
-
-usb:v1989*
- ID_VENDOR_FROM_DATABASE=Nuconn Technology Corp.
-
-usb:v198F*
- ID_VENDOR_FROM_DATABASE=Beceem Communications Inc.
-
-usb:v198Fp0210*
- ID_PRODUCT_FROM_DATABASE=BCS200 WiMAX Adapter
-
-usb:v198Fp0220*
- ID_PRODUCT_FROM_DATABASE=BCSM250 WiMAX Adapter
-
-usb:v1990*
- ID_VENDOR_FROM_DATABASE=Acron Precision Industrial Co., Ltd.
-
-usb:v1995*
- ID_VENDOR_FROM_DATABASE=Trillium Technology Pty. Ltd.
-
-usb:v1995p3202*
- ID_PRODUCT_FROM_DATABASE=REC-ADPT-USB (recorder)
-
-usb:v1995p3203*
- ID_PRODUCT_FROM_DATABASE=REC-A-ADPT-USB (recorder)
-
-usb:v199B*
- ID_VENDOR_FROM_DATABASE=MicroStrain, Inc.
-
-usb:v199Bp3065*
- ID_PRODUCT_FROM_DATABASE=3DM-GX3-25 Orientation Sensor
-
-usb:v199E*
- ID_VENDOR_FROM_DATABASE=The Imaging Source Europe GmbH
-
-usb:v199Ep8101*
- ID_PRODUCT_FROM_DATABASE=DFx 21BU04 Camera
-
-usb:v199F*
- ID_VENDOR_FROM_DATABASE=Benica Corporation
-
-usb:v19A8*
- ID_VENDOR_FROM_DATABASE=Biforst Technology Inc.
-
-usb:v19AB*
- ID_VENDOR_FROM_DATABASE=Bodelin
-
-usb:v19ABp1000*
- ID_PRODUCT_FROM_DATABASE=ProScope HR
-
-usb:v19AF*
- ID_VENDOR_FROM_DATABASE=S Life
-
-usb:v19AFp6611*
- ID_PRODUCT_FROM_DATABASE=Celestia VoIP Phone
-
-usb:v19B2*
- ID_VENDOR_FROM_DATABASE=Batronix
-
-usb:v19B2p0010*
- ID_PRODUCT_FROM_DATABASE=BX32 Batupo
-
-usb:v19B2p0011*
- ID_PRODUCT_FROM_DATABASE=BX32P Barlino
-
-usb:v19B2p0012*
- ID_PRODUCT_FROM_DATABASE=BX40 Bagero
-
-usb:v19B2p0013*
- ID_PRODUCT_FROM_DATABASE=BX48 Batego
-
-usb:v19B4*
- ID_VENDOR_FROM_DATABASE=Celestron
-
-usb:v19B4p0002*
- ID_PRODUCT_FROM_DATABASE=SkyScout Personal Planetarium
-
-usb:v19B4p0101*
- ID_PRODUCT_FROM_DATABASE=Handheld Digital Microscope 44302
-
-usb:v19B5*
- ID_VENDOR_FROM_DATABASE=B & W Group
-
-usb:v19B6*
- ID_VENDOR_FROM_DATABASE=Infotech Logistic, LLC
-
-usb:v19B9*
- ID_VENDOR_FROM_DATABASE=Data Robotics
-
-usb:v19B9p8D20*
- ID_PRODUCT_FROM_DATABASE=Drobo Elite
-
-usb:v19C2*
- ID_VENDOR_FROM_DATABASE=Futuba
-
-usb:v19C2p6A11*
- ID_PRODUCT_FROM_DATABASE=MDM166A Fluorescent Display
-
-usb:v19CA*
- ID_VENDOR_FROM_DATABASE=Mindtribe
-
-usb:v19CAp0001*
- ID_PRODUCT_FROM_DATABASE=Sandio 3D HID Mouse
-
-usb:v19CF*
- ID_VENDOR_FROM_DATABASE=Parrot SA
-
-usb:v19D2*
- ID_VENDOR_FROM_DATABASE=ZTE WCDMA Technologies MSM
-
-usb:v19D2p0001*
- ID_PRODUCT_FROM_DATABASE=CDMA Wireless Modem
-
-usb:v19D2p0002*
- ID_PRODUCT_FROM_DATABASE=MF632/ONDA ET502HS/MT505UP
-
-usb:v19D2p0007*
- ID_PRODUCT_FROM_DATABASE=TU25 WiMAX Adapter [Beceem BCS200]
-
-usb:v19D2p0031*
- ID_PRODUCT_FROM_DATABASE=MF110/MF627/MF636
-
-usb:v19D2p0063*
- ID_PRODUCT_FROM_DATABASE=K3565-Z HSDPA
-
-usb:v19D2p0064*
- ID_PRODUCT_FROM_DATABASE=MF627 AU
-
-usb:v19D2p0083*
- ID_PRODUCT_FROM_DATABASE=MF190
-
-usb:v19D2p0103*
- ID_PRODUCT_FROM_DATABASE=MF112
-
-usb:v19D2p0104*
- ID_PRODUCT_FROM_DATABASE=K4505-Z
-
-usb:v19D2p0167*
- ID_PRODUCT_FROM_DATABASE=MF820 4G LTE
-
-usb:v19D2p0172*
- ID_PRODUCT_FROM_DATABASE=AX226 WIMAX MODEM (After Modeswitch)
-
-usb:v19D2p0325*
- ID_PRODUCT_FROM_DATABASE=LTE4G O2 ZTE MF821D LTE/UMTS/GSM Modem/Networkcard
-
-usb:v19D2p0326*
- ID_PRODUCT_FROM_DATABASE=LTE4G O2 ZTE MF821D LTE/UMTS/GSM Modem/Networkcard
-
-usb:v19D2p1008*
- ID_PRODUCT_FROM_DATABASE=K3570-Z
-
-usb:v19D2p1010*
- ID_PRODUCT_FROM_DATABASE=K3571-Z
-
-usb:v19D2p1017*
- ID_PRODUCT_FROM_DATABASE=K5006-Z vodafone LTE/UMTS/GSM Modem/Networkcard
-
-usb:v19D2p1018*
- ID_PRODUCT_FROM_DATABASE=K5006-Z vodafone LTE/UMTS/GSM Modem/Networkcard
-
-usb:v19D2p1203*
- ID_PRODUCT_FROM_DATABASE=MF691 [ T-Mobile webConnect Rocket 2.0]
-
-usb:v19D2p1217*
- ID_PRODUCT_FROM_DATABASE=MF652
-
-usb:v19D2p1218*
- ID_PRODUCT_FROM_DATABASE=MF652
-
-usb:v19D2p2000*
- ID_PRODUCT_FROM_DATABASE=MF627/MF628/MF628+/MF636+ HSDPA/HSUPA
-
-usb:v19D2pFFF2*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
-
-usb:v19D2pFFF3*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem
-
-usb:v19E1*
- ID_VENDOR_FROM_DATABASE=WeiDuan Electronic Accessory (S.Z.) Co., Ltd.
-
-usb:v19E8*
- ID_VENDOR_FROM_DATABASE=Industrial Technology Research Institute
-
-usb:v19EF*
- ID_VENDOR_FROM_DATABASE=Pak Heng Technology (Shenzhen) Co., Ltd.
-
-usb:v19F7*
- ID_VENDOR_FROM_DATABASE=RODE Microphones
-
-usb:v19F7p0001*
- ID_PRODUCT_FROM_DATABASE=Podcaster
-
-usb:v19FA*
- ID_VENDOR_FROM_DATABASE=Gampaq Co.Ltd
-
-usb:v19FAp0703*
- ID_PRODUCT_FROM_DATABASE=Steering Wheel
-
-usb:v19FF*
- ID_VENDOR_FROM_DATABASE=Dynex
-
-usb:v19FFp0102*
- ID_PRODUCT_FROM_DATABASE=1.3MP Webcam
-
-usb:v19FFp0201*
- ID_PRODUCT_FROM_DATABASE=Rocketfish Wireless 2.4G Laser Mouse
-
-usb:v1A08*
- ID_VENDOR_FROM_DATABASE=Bellwood International, Inc.
-
-usb:v1A0A*
- ID_VENDOR_FROM_DATABASE=USB-IF non-workshop
-
-usb:v1A0ApBADD*
- ID_PRODUCT_FROM_DATABASE=USB OTG Compliance test device
-
-usb:v1A12*
- ID_VENDOR_FROM_DATABASE=KES Co., Ltd.
-
-usb:v1A1D*
- ID_VENDOR_FROM_DATABASE=Veho
-
-usb:v1A1Dp0407*
- ID_PRODUCT_FROM_DATABASE=Mimi WiFi speakers
-
-usb:v1A25*
- ID_VENDOR_FROM_DATABASE=Amphenol East Asia Ltd.
-
-usb:v1A2A*
- ID_VENDOR_FROM_DATABASE=Seagate Branded Solutions
-
-usb:v1A2C*
- ID_VENDOR_FROM_DATABASE=China Resource Semico Co., Ltd
-
-usb:v1A2Cp0021*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v1A2Cp0024*
- ID_PRODUCT_FROM_DATABASE=Multimedia Keyboard
-
-usb:v1A32*
- ID_VENDOR_FROM_DATABASE=Quanta Microsystems, Inc.
-
-usb:v1A32p0304*
- ID_PRODUCT_FROM_DATABASE=802.11n Wireless LAN Card
-
-usb:v1A34*
- ID_VENDOR_FROM_DATABASE=ACRUX
-
-usb:v1A34p0802*
- ID_PRODUCT_FROM_DATABASE=Gamepad
-
-usb:v1A36*
- ID_VENDOR_FROM_DATABASE=Biwin Technology Ltd.
-
-usb:v1A40*
- ID_VENDOR_FROM_DATABASE=Terminus Technology Inc.
-
-usb:v1A40p0101*
- ID_PRODUCT_FROM_DATABASE=4-Port HUB
-
-usb:v1A40p0201*
- ID_PRODUCT_FROM_DATABASE=FE 2.1 7-port Hub
-
-usb:v1A41*
- ID_VENDOR_FROM_DATABASE=Action Electronics Co., Ltd.
-
-usb:v1A44*
- ID_VENDOR_FROM_DATABASE=VASCO Data Security International
-
-usb:v1A44p0001*
- ID_PRODUCT_FROM_DATABASE=Digipass 905 SmartCard Reader
-
-usb:v1A4A*
- ID_VENDOR_FROM_DATABASE=Silicon Image
-
-usb:v1A4B*
- ID_VENDOR_FROM_DATABASE=SafeBoot International B.V.
-
-usb:v1A5A*
- ID_VENDOR_FROM_DATABASE=Tandberg Data
-
-usb:v1A61*
- ID_VENDOR_FROM_DATABASE=Abbott Diabetes Care
-
-usb:v1A61p3410*
- ID_PRODUCT_FROM_DATABASE=CoPilot System Cable
-
-usb:v1A6A*
- ID_VENDOR_FROM_DATABASE=Spansion Inc.
-
-usb:v1A6D*
- ID_VENDOR_FROM_DATABASE=SamYoung Electronics Co., Ltd
-
-usb:v1A6E*
- ID_VENDOR_FROM_DATABASE=Global Unichip Corp.
-
-usb:v1A6F*
- ID_VENDOR_FROM_DATABASE=Sagem Orga GmbH
-
-usb:v1A72*
- ID_VENDOR_FROM_DATABASE=Physik Instrumente
-
-usb:v1A72p1008*
- ID_PRODUCT_FROM_DATABASE=E-861 PiezoWalk NEXACT Controller
-
-usb:v1A79*
- ID_VENDOR_FROM_DATABASE=Bayer Health Care LLC
-
-usb:v1A7B*
- ID_VENDOR_FROM_DATABASE=Lumberg Connect GmbH & Co. KG
-
-usb:v1A7C*
- ID_VENDOR_FROM_DATABASE=Evoluent
-
-usb:v1A7Cp0068*
- ID_PRODUCT_FROM_DATABASE=VerticalMouse 3
-
-usb:v1A7Cp0168*
- ID_PRODUCT_FROM_DATABASE=VerticalMouse 3 Wireless
-
-usb:v1A7Cp0191*
- ID_PRODUCT_FROM_DATABASE=VerticalMouse 4
-
-usb:v1A81*
- ID_VENDOR_FROM_DATABASE=Holtek Semiconductor, Inc.
-
-usb:v1A81p2203*
- ID_PRODUCT_FROM_DATABASE=Laser Gaming mouse
-
-usb:v1A81p2204*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v1A81p2205*
- ID_PRODUCT_FROM_DATABASE=Laser Mouse
-
-usb:v1A86*
- ID_VENDOR_FROM_DATABASE=QinHeng Electronics
-
-usb:v1A86p5523*
- ID_PRODUCT_FROM_DATABASE=CH341 in serial mode, usb to serial port converter
-
-usb:v1A86p5584*
- ID_PRODUCT_FROM_DATABASE=CH341 in parallel mode, usb to printer port converter
-
-usb:v1A86p7523*
- ID_PRODUCT_FROM_DATABASE=HL-340 USB-Serial adapter
-
-usb:v1A86p752D*
- ID_PRODUCT_FROM_DATABASE=CH345 MIDI adapter
-
-usb:v1A86p7584*
- ID_PRODUCT_FROM_DATABASE=CH340S
-
-usb:v1A86pE008*
- ID_PRODUCT_FROM_DATABASE=HID-based serial adapater
-
-usb:v1A89*
- ID_VENDOR_FROM_DATABASE=Dynalith Systems Co., Ltd.
-
-usb:v1A8B*
- ID_VENDOR_FROM_DATABASE=SGS Taiwan Ltd.
-
-usb:v1A8D*
- ID_VENDOR_FROM_DATABASE=BandRich, Inc.
-
-usb:v1A8Dp1002*
- ID_PRODUCT_FROM_DATABASE=BandLuxe 3.5G HSDPA Adapter
-
-usb:v1A8Dp1009*
- ID_PRODUCT_FROM_DATABASE=BandLuxe 3.5G HSPA Adapter
-
-usb:v1A8Dp100D*
- ID_PRODUCT_FROM_DATABASE=4G LTE adapter
-
-usb:v1A98*
- ID_VENDOR_FROM_DATABASE=Leica Camera AG
-
-usb:v1AA4*
- ID_VENDOR_FROM_DATABASE=Data Drive Thru, Inc.
-
-usb:v1AA5*
- ID_VENDOR_FROM_DATABASE=UBeacon Technologies, Inc.
-
-usb:v1AA6*
- ID_VENDOR_FROM_DATABASE=eFortune Technology Corp.
-
-usb:v1AAD*
- ID_VENDOR_FROM_DATABASE=KeeTouch
-
-usb:v1AADp0001*
- ID_PRODUCT_FROM_DATABASE=Touchscreen
-
-usb:v1AB1*
- ID_VENDOR_FROM_DATABASE=Rigol Technologies
-
-usb:v1AB1p0588*
- ID_PRODUCT_FROM_DATABASE=DS1000 SERIES
-
-usb:v1ACB*
- ID_VENDOR_FROM_DATABASE=Salcomp Plc
-
-usb:v1AD1*
- ID_VENDOR_FROM_DATABASE=Desay Wire Co., Ltd.
-
-usb:v1AD4*
- ID_VENDOR_FROM_DATABASE=APS
-
-usb:v1AD4p0002*
- ID_PRODUCT_FROM_DATABASE=KM290-HRS
-
-usb:v1ADB*
- ID_VENDOR_FROM_DATABASE=SEL C662 Serial Cable
-
-usb:v1AE4*
- ID_VENDOR_FROM_DATABASE=ic-design Reinhard Gottinger GmbH
-
-usb:v1AE7*
- ID_VENDOR_FROM_DATABASE=X-TENSIONS
-
-usb:v1AE7p0381*
- ID_PRODUCT_FROM_DATABASE=VS-DVB-T 380U (af9015 based)
-
-usb:v1AE7p2001*
- ID_PRODUCT_FROM_DATABASE=SpeedLink SL-6825
-
-usb:v1AED*
- ID_VENDOR_FROM_DATABASE=High Top Precision Electronic Co., Ltd.
-
-usb:v1AEF*
- ID_VENDOR_FROM_DATABASE=Conntech Electronic (Suzhou) Corporation
-
-usb:v1AF1*
- ID_VENDOR_FROM_DATABASE=Connect One Ltd.
-
-usb:v1AFE*
- ID_VENDOR_FROM_DATABASE=A. Eberle GmbH & Co. KG
-
-usb:v1AFEp0001*
- ID_PRODUCT_FROM_DATABASE=PQ Box 100
-
-usb:v1B04*
- ID_VENDOR_FROM_DATABASE=Meilhaus Electronic GmbH
-
-usb:v1B04p0630*
- ID_PRODUCT_FROM_DATABASE=ME-630
-
-usb:v1B04p0940*
- ID_PRODUCT_FROM_DATABASE=ME-94
-
-usb:v1B04p0950*
- ID_PRODUCT_FROM_DATABASE=ME-95
-
-usb:v1B04p0960*
- ID_PRODUCT_FROM_DATABASE=ME-96
-
-usb:v1B04p1000*
- ID_PRODUCT_FROM_DATABASE=ME-1000
-
-usb:v1B04p100A*
- ID_PRODUCT_FROM_DATABASE=ME-1000
-
-usb:v1B04p100B*
- ID_PRODUCT_FROM_DATABASE=ME-1000
-
-usb:v1B04p1400*
- ID_PRODUCT_FROM_DATABASE=ME-1400
-
-usb:v1B04p140A*
- ID_PRODUCT_FROM_DATABASE=ME-1400A
-
-usb:v1B04p140B*
- ID_PRODUCT_FROM_DATABASE=ME-1400B
-
-usb:v1B04p140C*
- ID_PRODUCT_FROM_DATABASE=ME-1400C
-
-usb:v1B04p140D*
- ID_PRODUCT_FROM_DATABASE=ME-1400D
-
-usb:v1B04p140E*
- ID_PRODUCT_FROM_DATABASE=ME-1400E
-
-usb:v1B04p14EA*
- ID_PRODUCT_FROM_DATABASE=ME-1400EA
-
-usb:v1B04p14EB*
- ID_PRODUCT_FROM_DATABASE=ME-1400EB
-
-usb:v1B04p1604*
- ID_PRODUCT_FROM_DATABASE=ME-1600/4U
-
-usb:v1B04p1608*
- ID_PRODUCT_FROM_DATABASE=ME-1600/8U
-
-usb:v1B04p160C*
- ID_PRODUCT_FROM_DATABASE=ME-1600/12U
-
-usb:v1B04p160F*
- ID_PRODUCT_FROM_DATABASE=ME-1600/16U
-
-usb:v1B04p168F*
- ID_PRODUCT_FROM_DATABASE=ME-1600/16U8I
-
-usb:v1B04p4610*
- ID_PRODUCT_FROM_DATABASE=ME-4610
-
-usb:v1B04p4650*
- ID_PRODUCT_FROM_DATABASE=ME-4650
-
-usb:v1B04p4660*
- ID_PRODUCT_FROM_DATABASE=ME-4660
-
-usb:v1B04p4661*
- ID_PRODUCT_FROM_DATABASE=ME-4660I
-
-usb:v1B04p4662*
- ID_PRODUCT_FROM_DATABASE=ME-4660
-
-usb:v1B04p4663*
- ID_PRODUCT_FROM_DATABASE=ME-4660I
-
-usb:v1B04p4670*
- ID_PRODUCT_FROM_DATABASE=ME-4670
-
-usb:v1B04p4671*
- ID_PRODUCT_FROM_DATABASE=ME-4670I
-
-usb:v1B04p4672*
- ID_PRODUCT_FROM_DATABASE=ME-4670S
-
-usb:v1B04p4673*
- ID_PRODUCT_FROM_DATABASE=ME-4670IS
-
-usb:v1B04p4680*
- ID_PRODUCT_FROM_DATABASE=ME-4680
-
-usb:v1B04p4681*
- ID_PRODUCT_FROM_DATABASE=ME-4680I
-
-usb:v1B04p4682*
- ID_PRODUCT_FROM_DATABASE=ME-4680S
-
-usb:v1B04p4683*
- ID_PRODUCT_FROM_DATABASE=ME-4680IS
-
-usb:v1B04p6004*
- ID_PRODUCT_FROM_DATABASE=ME-6000/4
-
-usb:v1B04p6008*
- ID_PRODUCT_FROM_DATABASE=ME-6000/8
-
-usb:v1B04p600F*
- ID_PRODUCT_FROM_DATABASE=ME-6000/16
-
-usb:v1B04p6014*
- ID_PRODUCT_FROM_DATABASE=ME-6000I/4
-
-usb:v1B04p6018*
- ID_PRODUCT_FROM_DATABASE=ME-6000I/8
-
-usb:v1B04p601F*
- ID_PRODUCT_FROM_DATABASE=ME-6000I/16
-
-usb:v1B04p6034*
- ID_PRODUCT_FROM_DATABASE=ME-6000ISLE/4
-
-usb:v1B04p6038*
- ID_PRODUCT_FROM_DATABASE=ME-6000ISLE/8
-
-usb:v1B04p603F*
- ID_PRODUCT_FROM_DATABASE=ME-6000ISLE/16
-
-usb:v1B04p6044*
- ID_PRODUCT_FROM_DATABASE=ME-6000/4/DIO
-
-usb:v1B04p6048*
- ID_PRODUCT_FROM_DATABASE=ME-6000/8/DIO
-
-usb:v1B04p604F*
- ID_PRODUCT_FROM_DATABASE=ME-6000/16/DIO
-
-usb:v1B04p6054*
- ID_PRODUCT_FROM_DATABASE=ME-6000I/4/DIO
-
-usb:v1B04p6058*
- ID_PRODUCT_FROM_DATABASE=ME-6000I/8/DIO
-
-usb:v1B04p605F*
- ID_PRODUCT_FROM_DATABASE=ME-6000I/16/DIO
-
-usb:v1B04p6074*
- ID_PRODUCT_FROM_DATABASE=ME-6000ISLE/4/DIO
-
-usb:v1B04p6078*
- ID_PRODUCT_FROM_DATABASE=ME-6000ISLE/8/DIO
-
-usb:v1B04p607F*
- ID_PRODUCT_FROM_DATABASE=ME-6000ISLE/16/DIO
-
-usb:v1B04p6104*
- ID_PRODUCT_FROM_DATABASE=ME-6100/4
-
-usb:v1B04p6108*
- ID_PRODUCT_FROM_DATABASE=ME-6100/8
-
-usb:v1B04p610F*
- ID_PRODUCT_FROM_DATABASE=ME-6100/16
-
-usb:v1B04p6114*
- ID_PRODUCT_FROM_DATABASE=ME-6100I/4
-
-usb:v1B04p6118*
- ID_PRODUCT_FROM_DATABASE=ME-6100I/8
-
-usb:v1B04p611F*
- ID_PRODUCT_FROM_DATABASE=ME-6100I/16
-
-usb:v1B04p6134*
- ID_PRODUCT_FROM_DATABASE=ME-6100ISLE/4
-
-usb:v1B04p6138*
- ID_PRODUCT_FROM_DATABASE=ME-6100ISLE/8
-
-usb:v1B04p613F*
- ID_PRODUCT_FROM_DATABASE=ME-6100ISLE/16
-
-usb:v1B04p6144*
- ID_PRODUCT_FROM_DATABASE=ME-6100/4/DIO
-
-usb:v1B04p6148*
- ID_PRODUCT_FROM_DATABASE=ME-6100/8/DIO
-
-usb:v1B04p614F*
- ID_PRODUCT_FROM_DATABASE=ME-6100/16/DIO
-
-usb:v1B04p6154*
- ID_PRODUCT_FROM_DATABASE=ME-6100I/4/DIO
-
-usb:v1B04p6158*
- ID_PRODUCT_FROM_DATABASE=ME-6100I/8/DIO
-
-usb:v1B04p615F*
- ID_PRODUCT_FROM_DATABASE=ME-6100I/16/DIO
-
-usb:v1B04p6174*
- ID_PRODUCT_FROM_DATABASE=ME-6100ISLE/4/DIO
-
-usb:v1B04p6178*
- ID_PRODUCT_FROM_DATABASE=ME-6100ISLE/8/DIO
-
-usb:v1B04p617F*
- ID_PRODUCT_FROM_DATABASE=ME-6100ISLE/16/DIO
-
-usb:v1B04p6259*
- ID_PRODUCT_FROM_DATABASE=ME-6200I/9/DIO
-
-usb:v1B04p6359*
- ID_PRODUCT_FROM_DATABASE=ME-6300I/9/DIO
-
-usb:v1B04p810A*
- ID_PRODUCT_FROM_DATABASE=ME-8100A
-
-usb:v1B04p810B*
- ID_PRODUCT_FROM_DATABASE=ME-8100B
-
-usb:v1B04p820A*
- ID_PRODUCT_FROM_DATABASE=ME-8200A
-
-usb:v1B04p820B*
- ID_PRODUCT_FROM_DATABASE=ME-8200B
-
-usb:v1B0E*
- ID_VENDOR_FROM_DATABASE=BLUTRONICS S.r.l.
-
-usb:v1B0Ep1078*
- ID_PRODUCT_FROM_DATABASE=BLUDRIVE II CCID
-
-usb:v1B0Ep1079*
- ID_PRODUCT_FROM_DATABASE=BLUDRIVE II CCID
-
-usb:v1B0Ep1080*
- ID_PRODUCT_FROM_DATABASE=WRITECHIP II CCID
-
-usb:v1B1C*
- ID_VENDOR_FROM_DATABASE=Corsair
-
-usb:v1B1Cp0890*
- ID_PRODUCT_FROM_DATABASE=Flash Padlock
-
-usb:v1B1Cp0A00*
- ID_PRODUCT_FROM_DATABASE=SP2500 Speakers
-
-usb:v1B1Cp0A60*
- ID_PRODUCT_FROM_DATABASE=Vengeance K60 Keyboard
-
-usb:v1B1Cp1A01*
- ID_PRODUCT_FROM_DATABASE=Flash Voyager GT
-
-usb:v1B1Cp1A0A*
- ID_PRODUCT_FROM_DATABASE=Survivor Stealth Flash Drive
-
-usb:v1B1Cp1A90*
- ID_PRODUCT_FROM_DATABASE=Flash Voyager GT
-
-usb:v1B20*
- ID_VENDOR_FROM_DATABASE=MStar Semiconductor, Inc.
-
-usb:v1B22*
- ID_VENDOR_FROM_DATABASE=WiLinx Corp.
-
-usb:v1B26*
- ID_VENDOR_FROM_DATABASE=Cellex Power Products, Inc.
-
-usb:v1B27*
- ID_VENDOR_FROM_DATABASE=Current Electronics Inc.
-
-usb:v1B28*
- ID_VENDOR_FROM_DATABASE=NAVIsis Inc.
-
-usb:v1B32*
- ID_VENDOR_FROM_DATABASE=Ugobe Life Forms, Inc.
-
-usb:v1B32p0064*
- ID_PRODUCT_FROM_DATABASE=Pleo robotic dinosaur
-
-usb:v1B36*
- ID_VENDOR_FROM_DATABASE=ViXS Systems, Inc.
-
-usb:v1B3B*
- ID_VENDOR_FROM_DATABASE=iPassion Technology Inc.
-
-usb:v1B3Bp2933*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2935*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2936*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2937*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2938*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2939*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2950*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2951*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2952*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2953*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2955*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2956*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2957*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2958*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2959*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2960*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2961*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2962*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2963*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2965*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2966*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2967*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2968*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3Bp2969*
- ID_PRODUCT_FROM_DATABASE=PC Camera/Webcam controller
-
-usb:v1B3F*
- ID_VENDOR_FROM_DATABASE=Generalplus Technology Inc.
-
-usb:v1B3Fp0C52*
- ID_PRODUCT_FROM_DATABASE=808 Camera #9 (mass storage mode)
-
-usb:v1B3Fp2002*
- ID_PRODUCT_FROM_DATABASE=808 Camera #9 (web-cam mode)
-
-usb:v1B47*
- ID_VENDOR_FROM_DATABASE=Energizer Holdings, Inc.
-
-usb:v1B47p0001*
- ID_PRODUCT_FROM_DATABASE=CHUSB Duo Charger (NiMH AA/AAA USB smart charger)
-
-usb:v1B48*
- ID_VENDOR_FROM_DATABASE=Plastron Precision Co., Ltd.
-
-usb:v1B59*
- ID_VENDOR_FROM_DATABASE=K.S. Terminals Inc.
-
-usb:v1B5A*
- ID_VENDOR_FROM_DATABASE=Chao Zhou Kai Yuan Electric Co., Ltd.
-
-usb:v1B65*
- ID_VENDOR_FROM_DATABASE=The Hong Kong Standards and Testing Centre Ltd.
-
-usb:v1B72*
- ID_VENDOR_FROM_DATABASE=ATERGI TECHNOLOGY CO., LTD.
-
-usb:v1B73*
- ID_VENDOR_FROM_DATABASE=Fresco Logic
-
-usb:v1B73p1000*
- ID_PRODUCT_FROM_DATABASE=xHC1 Controller
-
-usb:v1B75*
- ID_VENDOR_FROM_DATABASE=Ovislink Corp.
-
-usb:v1B75p3072*
- ID_PRODUCT_FROM_DATABASE=AirLive WN-360USB adapter
-
-usb:v1B75p8171*
- ID_PRODUCT_FROM_DATABASE=WN-370USB 802.11bgn Wireless Adapter [Realtek RTL8188SU]
-
-usb:v1B75p8187*
- ID_PRODUCT_FROM_DATABASE=AirLive WL-1600USB 802.11g Adapter [Realtek RTL8187L]
-
-usb:v1B75p9170*
- ID_PRODUCT_FROM_DATABASE=AirLive X.USB 802.11abgn [Atheros AR9170+AR9104]
-
-usb:v1B75pA200*
- ID_PRODUCT_FROM_DATABASE=AirLive WN-200USB wireless 11b/g/n dongle
-
-usb:v1B76*
- ID_VENDOR_FROM_DATABASE=Legend Silicon Corp.
-
-usb:v1B80*
- ID_VENDOR_FROM_DATABASE=Afatech
-
-usb:v1B80pC810*
- ID_PRODUCT_FROM_DATABASE=MC810 [af9015]
-
-usb:v1B80pD393*
- ID_PRODUCT_FROM_DATABASE=DVB-T receiver [RTL2832U]
-
-usb:v1B80pD396*
- ID_PRODUCT_FROM_DATABASE=UB396-T [RTL2832U]
-
-usb:v1B80pD397*
- ID_PRODUCT_FROM_DATABASE=DVB-T receiver [RTL2832U]
-
-usb:v1B80pD398*
- ID_PRODUCT_FROM_DATABASE=DVB-T receiver [RTL2832U]
-
-usb:v1B80pD700*
- ID_PRODUCT_FROM_DATABASE=FM Radio SnapMusic Mobile 700 (FM700)
-
-usb:v1B80pE297*
- ID_PRODUCT_FROM_DATABASE=Conceptronic DVB-T CTVDIGRCU V3.0
-
-usb:v1B80pE383*
- ID_PRODUCT_FROM_DATABASE=DVB-T UB383-T [af9015]
-
-usb:v1B80pE385*
- ID_PRODUCT_FROM_DATABASE=DVB-T UB385-T [af9015]
-
-usb:v1B80pE386*
- ID_PRODUCT_FROM_DATABASE=DVB-T UB385-T [af9015]
-
-usb:v1B80pE399*
- ID_PRODUCT_FROM_DATABASE=DVB-T KWorld PlusTV 399U [af9015]
-
-usb:v1B80pE39A*
- ID_PRODUCT_FROM_DATABASE=DVB-T395U [af9015]
-
-usb:v1B80pE39B*
- ID_PRODUCT_FROM_DATABASE=DVB-T395U [af9015]
-
-usb:v1B80pE401*
- ID_PRODUCT_FROM_DATABASE=Sveon STV22 DVB-T [af9015]
-
-usb:v1B80pE409*
- ID_PRODUCT_FROM_DATABASE=IT9137FN Dual DVB-T [KWorld UB499-2T]
-
-usb:v1B86*
- ID_VENDOR_FROM_DATABASE=Dongguan Guanshang Electronics Co., Ltd.
-
-usb:v1B88*
- ID_VENDOR_FROM_DATABASE=ShenMing Electron (Dong Guan) Co., Ltd.
-
-usb:v1B8C*
- ID_VENDOR_FROM_DATABASE=Altium Limited
-
-usb:v1B8D*
- ID_VENDOR_FROM_DATABASE=e-MOVE Technology Co., Ltd.
-
-usb:v1B8E*
- ID_VENDOR_FROM_DATABASE=Amlogic, Inc.
-
-usb:v1B8F*
- ID_VENDOR_FROM_DATABASE=MA LABS, Inc.
-
-usb:v1B96*
- ID_VENDOR_FROM_DATABASE=N-Trig
-
-usb:v1B96p0001*
- ID_PRODUCT_FROM_DATABASE=Duosense Transparent Electromagnetic Digitizer
-
-usb:v1B98*
- ID_VENDOR_FROM_DATABASE=YMax Communications Corp.
-
-usb:v1B99*
- ID_VENDOR_FROM_DATABASE=Shenzhen Yuanchuan Electronic
-
-usb:v1BA1*
- ID_VENDOR_FROM_DATABASE=JINQ CHERN ENTERPRISE CO., LTD.
-
-usb:v1BA2*
- ID_VENDOR_FROM_DATABASE=Lite Metals & Plastic (Shenzhen) Co., Ltd.
-
-usb:v1BA4*
- ID_VENDOR_FROM_DATABASE=Ember Corporation
-
-usb:v1BA4p0001*
- ID_PRODUCT_FROM_DATABASE=InSight USB Link
-
-usb:v1BA6*
- ID_VENDOR_FROM_DATABASE=Abilis Systems
-
-usb:v1BA8*
- ID_VENDOR_FROM_DATABASE=China Telecommunication Technology Labs
-
-usb:v1BAD*
- ID_VENDOR_FROM_DATABASE=Harmonix Music
-
-usb:v1BADp0002*
- ID_PRODUCT_FROM_DATABASE=Guitar for Xbox 360
-
-usb:v1BADp0003*
- ID_PRODUCT_FROM_DATABASE=Drum Kit for Xbox 360
-
-usb:v1BAE*
- ID_VENDOR_FROM_DATABASE=Vuzix Corporation
-
-usb:v1BAEp0002*
- ID_PRODUCT_FROM_DATABASE=VR920 Immersive Eyewear
-
-usb:v1BBB*
- ID_VENDOR_FROM_DATABASE=T & A Mobile Phones
-
-usb:v1BC4*
- ID_VENDOR_FROM_DATABASE=Ford Motor Co.
-
-usb:v1BC5*
- ID_VENDOR_FROM_DATABASE=AVIXE Technology (China) Ltd.
-
-usb:v1BC7*
- ID_VENDOR_FROM_DATABASE=Telit
-
-usb:v1BC7p0020*
- ID_PRODUCT_FROM_DATABASE=HE863
-
-usb:v1BC7p1003*
- ID_PRODUCT_FROM_DATABASE=UC864-E
-
-usb:v1BC7p1004*
- ID_PRODUCT_FROM_DATABASE=UC864-G
-
-usb:v1BC7p1005*
- ID_PRODUCT_FROM_DATABASE=CC864-DUAL
-
-usb:v1BC7p1006*
- ID_PRODUCT_FROM_DATABASE=CC864-SINGLE
-
-usb:v1BC7p1010*
- ID_PRODUCT_FROM_DATABASE=DE910-DUAL
-
-usb:v1BCE*
- ID_VENDOR_FROM_DATABASE=Contac Cable Industrial Limited
-
-usb:v1BCF*
- ID_VENDOR_FROM_DATABASE=Sunplus Innovation Technology Inc.
-
-usb:v1BCFp0007*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v1BCFp053A*
- ID_PRODUCT_FROM_DATABASE=Targa Silvercrest OMC807-C optische Funkmaus
-
-usb:v1BCFp05C5*
- ID_PRODUCT_FROM_DATABASE=SPRF2413A [2.4GHz Wireless Keyboard/Mouse Receiver]
-
-usb:v1BCFp05CF*
- ID_PRODUCT_FROM_DATABASE=Micro keyboard & mouse receiver
-
-usb:v1BCFp0C31*
- ID_PRODUCT_FROM_DATABASE=SPIF30x Serial-ATA bridge
-
-usb:v1BCFp2888*
- ID_PRODUCT_FROM_DATABASE=HP Universal Camera
-
-usb:v1BD0*
- ID_VENDOR_FROM_DATABASE=Hangzhou Riyue Electronic Co., Ltd.
-
-usb:v1BD5*
- ID_VENDOR_FROM_DATABASE=BG Systems, Inc.
-
-usb:v1BDE*
- ID_VENDOR_FROM_DATABASE=P-TWO INDUSTRIES, INC.
-
-usb:v1BEF*
- ID_VENDOR_FROM_DATABASE=Shenzhen Tongyuan Network-Communication Cables Co., Ltd
-
-usb:v1BF0*
- ID_VENDOR_FROM_DATABASE=RealVision Inc.
-
-usb:v1BF5*
- ID_VENDOR_FROM_DATABASE=Extranet Systems Inc.
-
-usb:v1BF6*
- ID_VENDOR_FROM_DATABASE=Orient Semiconductor Electronics, Ltd.
-
-usb:v1BFD*
- ID_VENDOR_FROM_DATABASE=TouchPack
-
-usb:v1BFDp1268*
- ID_PRODUCT_FROM_DATABASE=Touch Screen
-
-usb:v1BFDp1368*
- ID_PRODUCT_FROM_DATABASE=Touch Screen
-
-usb:v1BFDp1568*
- ID_PRODUCT_FROM_DATABASE=Capacitive Touch Screen
-
-usb:v1BFDp1668*
- ID_PRODUCT_FROM_DATABASE=IR Touch Screen
-
-usb:v1BFDp1688*
- ID_PRODUCT_FROM_DATABASE=Resistive Touch Screen
-
-usb:v1BFDp2968*
- ID_PRODUCT_FROM_DATABASE=Touch Screen
-
-usb:v1BFDp5968*
- ID_PRODUCT_FROM_DATABASE=Touch Screen
-
-usb:v1BFDp6968*
- ID_PRODUCT_FROM_DATABASE=Touch Screen
-
-usb:v1C02*
- ID_VENDOR_FROM_DATABASE=Kreton Corporation
-
-usb:v1C04*
- ID_VENDOR_FROM_DATABASE=QNAP System Inc.
-
-usb:v1C0C*
- ID_VENDOR_FROM_DATABASE=Ionics EMS, Inc.
-
-usb:v1C0Cp0102*
- ID_PRODUCT_FROM_DATABASE=Plug Computer
-
-usb:v1C0D*
- ID_VENDOR_FROM_DATABASE=Relm Wireless
-
-usb:v1C10*
- ID_VENDOR_FROM_DATABASE=Lanterra Industrial Co., Ltd.
-
-usb:v1C13*
- ID_VENDOR_FROM_DATABASE=ALECTRONIC LIMITED
-
-usb:v1C1A*
- ID_VENDOR_FROM_DATABASE=Datel Electronics Ltd.
-
-usb:v1C1B*
- ID_VENDOR_FROM_DATABASE=Volkswagen of America, Inc.
-
-usb:v1C1F*
- ID_VENDOR_FROM_DATABASE=Goldvish S.A.
-
-usb:v1C20*
- ID_VENDOR_FROM_DATABASE=Fuji Electric Device Technology Co., Ltd.
-
-usb:v1C21*
- ID_VENDOR_FROM_DATABASE=ADDMM LLC
-
-usb:v1C22*
- ID_VENDOR_FROM_DATABASE=ZHONGSHAN CHIANG YU ELECTRIC CO., LTD.
-
-usb:v1C26*
- ID_VENDOR_FROM_DATABASE=Shanghai Haiying Electronics Co., Ltd.
-
-usb:v1C27*
- ID_VENDOR_FROM_DATABASE=HuiYang D & S Cable Co., Ltd.
-
-usb:v1C31*
- ID_VENDOR_FROM_DATABASE=LS Cable Ltd.
-
-usb:v1C34*
- ID_VENDOR_FROM_DATABASE=SpringCard
-
-usb:v1C34p7241*
- ID_PRODUCT_FROM_DATABASE=Prox'N'Roll RFID Scanner
-
-usb:v1C37*
- ID_VENDOR_FROM_DATABASE=Authorizer Technologies, Inc.
-
-usb:v1C3D*
- ID_VENDOR_FROM_DATABASE=NONIN MEDICAL INC.
-
-usb:v1C3E*
- ID_VENDOR_FROM_DATABASE=Wep Peripherals
-
-usb:v1C40*
- ID_VENDOR_FROM_DATABASE=EZPrototypes
-
-usb:v1C40p0533*
- ID_PRODUCT_FROM_DATABASE=TiltStick
-
-usb:v1C40p0534*
- ID_PRODUCT_FROM_DATABASE=i2c-tiny-usb interface
-
-usb:v1C40p0535*
- ID_PRODUCT_FROM_DATABASE=glcd2usb interface
-
-usb:v1C40p0536*
- ID_PRODUCT_FROM_DATABASE=Swiss ColorPAL
-
-usb:v1C49*
- ID_VENDOR_FROM_DATABASE=Cherng Weei Technology Corp.
-
-usb:v1C4F*
- ID_VENDOR_FROM_DATABASE=SiGma Micro
-
-usb:v1C4Fp0002*
- ID_PRODUCT_FROM_DATABASE=Keyboard TRACER Gamma Ivory
-
-usb:v1C4Fp0003*
- ID_PRODUCT_FROM_DATABASE=HID controller
-
-usb:v1C4Fp000E*
- ID_PRODUCT_FROM_DATABASE=Genius KB-120 Keyboard
-
-usb:v1C4Fp3000*
- ID_PRODUCT_FROM_DATABASE=Micro USB Web Camera
-
-usb:v1C6B*
- ID_VENDOR_FROM_DATABASE=Philips & Lite-ON Digital Solutions Corporation
-
-usb:v1C6BpA222*
- ID_PRODUCT_FROM_DATABASE=DVD Writer Slimtype eTAU108
-
-usb:v1C6C*
- ID_VENDOR_FROM_DATABASE=Skydigital Inc.
-
-usb:v1C73*
- ID_VENDOR_FROM_DATABASE=AMT
-
-usb:v1C73p861F*
- ID_PRODUCT_FROM_DATABASE=Anysee E30 USB 2.0 DVB-T Receiver
-
-usb:v1C77*
- ID_VENDOR_FROM_DATABASE=Kaetat Industrial Co., Ltd.
-
-usb:v1C78*
- ID_VENDOR_FROM_DATABASE=Datascope Corp.
-
-usb:v1C79*
- ID_VENDOR_FROM_DATABASE=Unigen Corporation
-
-usb:v1C7A*
- ID_VENDOR_FROM_DATABASE=LighTuning Technology Inc.
-
-usb:v1C7Ap0801*
- ID_PRODUCT_FROM_DATABASE=Fingerprint Reader
-
-usb:v1C7B*
- ID_VENDOR_FROM_DATABASE=LUXSHARE PRECISION INDUSTRY (SHENZHEN) CO., LTD.
-
-usb:v1C87*
- ID_VENDOR_FROM_DATABASE=2N TELEKOMUNIKACE a.s.
-
-usb:v1C88*
- ID_VENDOR_FROM_DATABASE=Somagic, Inc.
-
-usb:v1C88p0007*
- ID_PRODUCT_FROM_DATABASE=SMI Grabber (EasyCAP DC60+ clone) (no firmware) [SMI-2021CBE]
-
-usb:v1C88p003C*
- ID_PRODUCT_FROM_DATABASE=SMI Grabber (EasyCAP DC60+ clone) [SMI-2021CBE]
-
-usb:v1C89*
- ID_VENDOR_FROM_DATABASE=HONGKONG WEIDIDA ELECTRON LIMITED
-
-usb:v1C8E*
- ID_VENDOR_FROM_DATABASE=ASTRON INTERNATIONAL CORP.
-
-usb:v1C98*
- ID_VENDOR_FROM_DATABASE=ALPINE ELECTRONICS, INC.
-
-usb:v1C9E*
- ID_VENDOR_FROM_DATABASE=OMEGA TECHNOLOGY
-
-usb:v1C9Ep6061*
- ID_PRODUCT_FROM_DATABASE=WL-72B 3.5G MODEM
-
-usb:v1CA0*
- ID_VENDOR_FROM_DATABASE=ACCARIO Inc.
-
-usb:v1CA1*
- ID_VENDOR_FROM_DATABASE=Symwave
-
-usb:v1CA1p18AB*
- ID_PRODUCT_FROM_DATABASE=SATA bridge
-
-usb:v1CAC*
- ID_VENDOR_FROM_DATABASE=Kinstone
-
-usb:v1CACpA332*
- ID_PRODUCT_FROM_DATABASE=C8 Webcam
-
-usb:v1CACpB288*
- ID_PRODUCT_FROM_DATABASE=C18 Webcam
-
-usb:v1CB3*
- ID_VENDOR_FROM_DATABASE=Aces Electronic Co., Ltd.
-
-usb:v1CB4*
- ID_VENDOR_FROM_DATABASE=OPEX CORPORATION
-
-usb:v1CBE*
- ID_VENDOR_FROM_DATABASE=Luminary Micro Inc.
-
-usb:v1CBEp00FD*
- ID_PRODUCT_FROM_DATABASE=In-Circuit Debug Interface
-
-usb:v1CBEp00FF*
- ID_PRODUCT_FROM_DATABASE=Stellaris ROM DFU Bootloader
-
-usb:v1CBF*
- ID_VENDOR_FROM_DATABASE=FORTAT SKYMARK INDUSTRIAL COMPANY
-
-usb:v1CC0*
- ID_VENDOR_FROM_DATABASE=PlantSense
-
-usb:v1CCA*
- ID_VENDOR_FROM_DATABASE=NextWave Broadband Inc.
-
-usb:v1CCD*
- ID_VENDOR_FROM_DATABASE=Bodatong Technology (Shenzhen) Co., Ltd.
-
-usb:v1CD4*
- ID_VENDOR_FROM_DATABASE=adp corporation
-
-usb:v1CD5*
- ID_VENDOR_FROM_DATABASE=Firecomms Ltd.
-
-usb:v1CD6*
- ID_VENDOR_FROM_DATABASE=Antonio Precise Products Manufactory Ltd.
-
-usb:v1CDE*
- ID_VENDOR_FROM_DATABASE=Telecommunications Technology Association (TTA)
-
-usb:v1CDF*
- ID_VENDOR_FROM_DATABASE=WonTen Technology Co., Ltd.
-
-usb:v1CE0*
- ID_VENDOR_FROM_DATABASE=EDIMAX TECHNOLOGY CO., LTD.
-
-usb:v1CE1*
- ID_VENDOR_FROM_DATABASE=Amphenol KAE
-
-usb:v1CF1*
- ID_VENDOR_FROM_DATABASE=Dresden Elektronik
-
-usb:v1CF1p0001*
- ID_PRODUCT_FROM_DATABASE=Sensor Terminal Board
-
-usb:v1CF1p0004*
- ID_PRODUCT_FROM_DATABASE=Wireless Handheld Terminal
-
-usb:v1CF1p0017*
- ID_PRODUCT_FROM_DATABASE=deRFusbSniffer 2.4 GHz
-
-usb:v1CF1p0018*
- ID_PRODUCT_FROM_DATABASE=deRFusb24E001
-
-usb:v1CF1p0019*
- ID_PRODUCT_FROM_DATABASE=deRFusb14E001
-
-usb:v1CF1p001A*
- ID_PRODUCT_FROM_DATABASE=deRFusb23E00
-
-usb:v1CF1p001B*
- ID_PRODUCT_FROM_DATABASE=deRFusb13E00
-
-usb:v1CF1p001C*
- ID_PRODUCT_FROM_DATABASE=deRFnode
-
-usb:v1CF1p001D*
- ID_PRODUCT_FROM_DATABASE=deRFnode / gateway
-
-usb:v1CF1p0022*
- ID_PRODUCT_FROM_DATABASE=deUSB level shifter
-
-usb:v1CF1p0023*
- ID_PRODUCT_FROM_DATABASE=deRFusbSniffer Sub-GHz
-
-usb:v1CF1p0025*
- ID_PRODUCT_FROM_DATABASE=deRFusb23E06
-
-usb:v1CF1p0027*
- ID_PRODUCT_FROM_DATABASE=deRFusb13E06
-
-usb:v1CFC*
- ID_VENDOR_FROM_DATABASE=ANDES TECHNOLOGY CORPORATION
-
-usb:v1CFD*
- ID_VENDOR_FROM_DATABASE=Flextronics Digital Design Japan, LTD.
-
-usb:v1D03*
- ID_VENDOR_FROM_DATABASE=iCON
-
-usb:v1D03p0028*
- ID_PRODUCT_FROM_DATABASE=iCreativ MIDI Controller
-
-usb:v1D07*
- ID_VENDOR_FROM_DATABASE=Solid-Motion
-
-usb:v1D08*
- ID_VENDOR_FROM_DATABASE=NINGBO HENTEK DRAGON ELECTRONICS CO., LTD.
-
-usb:v1D09*
- ID_VENDOR_FROM_DATABASE=TechFaith Wireless Technology Limited
-
-usb:v1D09p1026*
- ID_PRODUCT_FROM_DATABASE=HSUPA Modem FLYING-LARK46-VER0.07 [Flying Angel]
-
-usb:v1D0A*
- ID_VENDOR_FROM_DATABASE=Johnson Controls, Inc. The Automotive Business Unit
-
-usb:v1D0B*
- ID_VENDOR_FROM_DATABASE=HAN HUA CABLE & WIRE TECHNOLOGY (J.X.) CO., LTD.
-
-usb:v1D0F*
- ID_VENDOR_FROM_DATABASE=Sonix Technology Co., Ltd.
-
-usb:v1D14*
- ID_VENDOR_FROM_DATABASE=ALPHA-SAT TECHNOLOGY LIMITED
-
-usb:v1D17*
- ID_VENDOR_FROM_DATABASE=C-Thru Music Ltd.
-
-usb:v1D17p0001*
- ID_PRODUCT_FROM_DATABASE=AXiS-49 Harmonic Table MIDI Keyboard
-
-usb:v1D19*
- ID_VENDOR_FROM_DATABASE=Dexatek Technology Ltd.
-
-usb:v1D19p1101*
- ID_PRODUCT_FROM_DATABASE=DK DVB-T Dongle
-
-usb:v1D19p1102*
- ID_PRODUCT_FROM_DATABASE=DK mini DVB-T Dongle
-
-usb:v1D19p1103*
- ID_PRODUCT_FROM_DATABASE=DK 5217 DVB-T Dongle
-
-usb:v1D19p6105*
- ID_PRODUCT_FROM_DATABASE=Video grabber
-
-usb:v1D19p8202*
- ID_PRODUCT_FROM_DATABASE=DK DVBC/T DONGLE
-
-usb:v1D1F*
- ID_VENDOR_FROM_DATABASE=Diostech Co., Ltd.
-
-usb:v1D20*
- ID_VENDOR_FROM_DATABASE=SAMTACK INC.
-
-usb:v1D34*
- ID_VENDOR_FROM_DATABASE=Dream Cheeky
-
-usb:v1D34p0001*
- ID_PRODUCT_FROM_DATABASE=Dream Cheeky Fidget
-
-usb:v1D34p0004*
- ID_PRODUCT_FROM_DATABASE=Dream Cheeky Webmail Notifier
-
-usb:v1D34p0008*
- ID_PRODUCT_FROM_DATABASE=Dream Cheeky button
-
-usb:v1D34p000A*
- ID_PRODUCT_FROM_DATABASE=Dream Cheeky Mailbox Friends Alert
-
-usb:v1D34p000D*
- ID_PRODUCT_FROM_DATABASE=Dream Cheeky Big Red Button
-
-usb:v1D34p0013*
- ID_PRODUCT_FROM_DATABASE=Dream Cheeky LED Message Board
-
-usb:v1D4D*
- ID_VENDOR_FROM_DATABASE=PEGATRON CORPORATION
-
-usb:v1D4Dp0002*
- ID_PRODUCT_FROM_DATABASE=Ralink RT2770/2720 802.11b/g/n Wireless LAN Mini-USB Device
-
-usb:v1D4Dp000C*
- ID_PRODUCT_FROM_DATABASE=Ralink RT3070 802.11b/g/n Wireless Lan USB Device
-
-usb:v1D4Dp000E*
- ID_PRODUCT_FROM_DATABASE=Ralink RT3070 802.11b/g/n Wireless Lan USB Device
-
-usb:v1D50*
- ID_VENDOR_FROM_DATABASE=OpenMoko, Inc.
-
-usb:v1D50p5119*
- ID_PRODUCT_FROM_DATABASE=GTA01/GTA02 U-Boot Bootloader
-
-usb:v1D57*
- ID_VENDOR_FROM_DATABASE=Xenta
-
-usb:v1D57p0005*
- ID_PRODUCT_FROM_DATABASE=Wireless Receiver (Keyboard and Mouse)
-
-usb:v1D57p0006*
- ID_PRODUCT_FROM_DATABASE=Wireless Receiver (RC Laser Pointer)
-
-usb:v1D57p000C*
- ID_PRODUCT_FROM_DATABASE=Optical Mouse
-
-usb:v1D57p2400*
- ID_PRODUCT_FROM_DATABASE=Wireless Mouse Receiver
-
-usb:v1D57p32DA*
- ID_PRODUCT_FROM_DATABASE=2.4GHz Receiver (Keyboard and Mouse)
-
-usb:v1D57p83D0*
- ID_PRODUCT_FROM_DATABASE=Click-mouse!
-
-usb:v1D57pAC01*
- ID_PRODUCT_FROM_DATABASE=Wireless Receiver (Keyboard and Mouse)
-
-usb:v1D57pAF01*
- ID_PRODUCT_FROM_DATABASE=AUVIO Universal Remote Receiver for PlayStation 3
-
-usb:v1D5B*
- ID_VENDOR_FROM_DATABASE=Smartronix, Inc.
-
-usb:v1D6B*
- ID_VENDOR_FROM_DATABASE=Linux Foundation
-
-usb:v1D6Bp0001*
- ID_PRODUCT_FROM_DATABASE=1.1 root hub
-
-usb:v1D6Bp0002*
- ID_PRODUCT_FROM_DATABASE=2.0 root hub
-
-usb:v1D6Bp0003*
- ID_PRODUCT_FROM_DATABASE=3.0 root hub
-
-usb:v1D6Bp0100*
- ID_PRODUCT_FROM_DATABASE=PTP Gadget
-
-usb:v1D6Bp0101*
- ID_PRODUCT_FROM_DATABASE=Audio Gadget
-
-usb:v1D6Bp0102*
- ID_PRODUCT_FROM_DATABASE=EEM Gadget
-
-usb:v1D6Bp0103*
- ID_PRODUCT_FROM_DATABASE=NCM (Ethernet) Gadget
-
-usb:v1D6Bp0104*
- ID_PRODUCT_FROM_DATABASE=Multifunction Composite Gadget
-
-usb:v1D6Bp0105*
- ID_PRODUCT_FROM_DATABASE=FunctionFS Gadget
-
-usb:v1D6Bp0200*
- ID_PRODUCT_FROM_DATABASE=Qemu Audio Device
-
-usb:v1DE1*
- ID_VENDOR_FROM_DATABASE=Actions Microelectronics Co.
-
-usb:v1DE1p1101*
- ID_PRODUCT_FROM_DATABASE=Generic Display Device (Mass storage mode)
-
-usb:v1DE1pC101*
- ID_PRODUCT_FROM_DATABASE=Generic Display Device
-
-usb:v1E0E*
- ID_VENDOR_FROM_DATABASE=Qualcomm / Option
-
-usb:v1E0EpF000*
- ID_PRODUCT_FROM_DATABASE=iCON 210 UMTS Surfstick
-
-usb:v1E10*
- ID_VENDOR_FROM_DATABASE=Point Grey Research, Inc.
-
-usb:v1E10p2004*
- ID_PRODUCT_FROM_DATABASE=Sony 1.3MP 1/3" ICX445 IIDC video camera [Chameleon]
-
-usb:v1E17*
- ID_VENDOR_FROM_DATABASE=Mirion Technologies Dosimetry Services Division
-
-usb:v1E17p0001*
- ID_PRODUCT_FROM_DATABASE=instadose dosimeter
-
-usb:v1E1D*
- ID_VENDOR_FROM_DATABASE=Lumension Security
-
-usb:v1E1Dp0165*
- ID_PRODUCT_FROM_DATABASE=Secure Pen drive
-
-usb:v1E1F*
- ID_VENDOR_FROM_DATABASE=INVIA
-
-usb:v1E29*
- ID_VENDOR_FROM_DATABASE=Festo AG & Co. KG
-
-usb:v1E29p0101*
- ID_PRODUCT_FROM_DATABASE=CPX Adapter
-
-usb:v1E29p0102*
- ID_PRODUCT_FROM_DATABASE=CPX Adapter >=HW10.09 [CP2102]
-
-usb:v1E29p0401*
- ID_PRODUCT_FROM_DATABASE=iL3-TP [AT90USB646]
-
-usb:v1E29p0402*
- ID_PRODUCT_FROM_DATABASE=FTDI232 [EasyPort]
-
-usb:v1E29p0403*
- ID_PRODUCT_FROM_DATABASE=FTDI232 [EasyPort Mini]
-
-usb:v1E29p0404*
- ID_PRODUCT_FROM_DATABASE=FTDI232 [Netzteil-GL]
-
-usb:v1E29p0405*
- ID_PRODUCT_FROM_DATABASE=FTDI232 [MotorPrüfstand]
-
-usb:v1E29p0406*
- ID_PRODUCT_FROM_DATABASE=STM32F103 [EasyKit]
-
-usb:v1E29p0407*
- ID_PRODUCT_FROM_DATABASE=LPC2378 [Robotino]
-
-usb:v1E29p0408*
- ID_PRODUCT_FROM_DATABASE=LPC2378 [Robotino-Arm]
-
-usb:v1E29p0409*
- ID_PRODUCT_FROM_DATABASE=LPC2378 [Robotino-Arm Bootloader]
-
-usb:v1E29p040A*
- ID_PRODUCT_FROM_DATABASE=LPC2378 [Robotino Bootloader]
-
-usb:v1E29p040B*
- ID_PRODUCT_FROM_DATABASE=LPC2378 [Robotino XT]
-
-usb:v1E29p040C*
- ID_PRODUCT_FROM_DATABASE=LPC2378 [Robotino XT Bootloader]
-
-usb:v1E29p040D*
- ID_PRODUCT_FROM_DATABASE=LPC2378 [Robotino 3]
-
-usb:v1E29p040E*
- ID_PRODUCT_FROM_DATABASE=LPC2378 [Robotino 3 Bootloader]
-
-usb:v1E29p0501*
- ID_PRODUCT_FROM_DATABASE=CP2102 [CMSP]
-
-usb:v1E29p0601*
- ID_PRODUCT_FROM_DATABASE=CMMP-AS
-
-usb:v1E3D*
- ID_VENDOR_FROM_DATABASE=Chipsbank Microelectronics Co., Ltd
-
-usb:v1E3Dp2093*
- ID_PRODUCT_FROM_DATABASE=CBM209x Flash Drive (OEM)
-
-usb:v1E3Dp4082*
- ID_PRODUCT_FROM_DATABASE=CBM4082 SD Card Reader
-
-usb:v1E41*
- ID_VENDOR_FROM_DATABASE=Cleverscope
-
-usb:v1E41p0001*
- ID_PRODUCT_FROM_DATABASE=CS328A PC Oscilloscope
-
-usb:v1E4E*
- ID_VENDOR_FROM_DATABASE=Cubeternet
-
-usb:v1E4Ep0100*
- ID_PRODUCT_FROM_DATABASE=WebCam
-
-usb:v1E4Ep0102*
- ID_PRODUCT_FROM_DATABASE=GL-UPC822 UVC WebCam
-
-usb:v1E54*
- ID_VENDOR_FROM_DATABASE=TypeMatrix
-
-usb:v1E54p2030*
- ID_PRODUCT_FROM_DATABASE=2030 USB Keyboard
-
-usb:v1E68*
- ID_VENDOR_FROM_DATABASE=TrekStor GmbH & Co. KG
-
-usb:v1E68p001B*
- ID_PRODUCT_FROM_DATABASE=DataStation maxi g.u
-
-usb:v1E71*
- ID_VENDOR_FROM_DATABASE=NZXT
-
-usb:v1E71p0001*
- ID_PRODUCT_FROM_DATABASE=Avatar Optical Mouse
-
-usb:v1E74*
- ID_VENDOR_FROM_DATABASE=Coby Electronics Corporation
-
-usb:v1E74p2211*
- ID_PRODUCT_FROM_DATABASE=MP300
-
-usb:v1E74p2647*
- ID_PRODUCT_FROM_DATABASE=2 GB 2 Go Video MP3 Player [MP601-2G]
-
-usb:v1E74p2659*
- ID_PRODUCT_FROM_DATABASE=Coby 4GB Go Video MP3 Player [MP620-4G]
-
-usb:v1E74p4641*
- ID_PRODUCT_FROM_DATABASE=A8705 MP3/Video Player
-
-usb:v1E74p6511*
- ID_PRODUCT_FROM_DATABASE=MP705-8G MP3 player
-
-usb:v1E74p6512*
- ID_PRODUCT_FROM_DATABASE=MP705-4G
-
-usb:v1E74p7111*
- ID_PRODUCT_FROM_DATABASE=MP957 Music and Video Player
-
-usb:v1E7D*
- ID_VENDOR_FROM_DATABASE=ROCCAT
-
-usb:v1E7Dp2C24*
- ID_PRODUCT_FROM_DATABASE=Pyra Mouse (wired)
-
-usb:v1E7Dp2CED*
- ID_PRODUCT_FROM_DATABASE=Kone Mouse
-
-usb:v1E7Dp2CF6*
- ID_PRODUCT_FROM_DATABASE=Pyra Mouse (wireless)
-
-usb:v1E7Dp2D50*
- ID_PRODUCT_FROM_DATABASE=Kova+ Mouse
-
-usb:v1E7Dp2D51*
- ID_PRODUCT_FROM_DATABASE=Kone+ Mouse
-
-usb:v1E7Dp30D4*
- ID_PRODUCT_FROM_DATABASE=Arvo Keyboard
-
-usb:v1EBB*
- ID_VENDOR_FROM_DATABASE=NuCORE Technology, Inc.
-
-usb:v1EDA*
- ID_VENDOR_FROM_DATABASE=AirTies Wireless Networks
-
-usb:v1EDAp2012*
- ID_PRODUCT_FROM_DATABASE=Air2210 54 Mbps Wireless Adapter
-
-usb:v1EDAp2210*
- ID_PRODUCT_FROM_DATABASE=Air2210 54 Mbps Wireless Adapter
-
-usb:v1EDAp2310*
- ID_PRODUCT_FROM_DATABASE=Air2310 150 Mbps Wireless Adapter
-
-usb:v1EDAp2410*
- ID_PRODUCT_FROM_DATABASE=Air2410 300 Mbps Wireless Adapter
-
-usb:v1EDB*
- ID_VENDOR_FROM_DATABASE=Blackmagic design
-
-usb:v1EDBpBD3B*
- ID_PRODUCT_FROM_DATABASE=Intensity Shuttle
-
-usb:v1EE8*
- ID_VENDOR_FROM_DATABASE=ONDA COMMUNICATION S.p.a.
-
-usb:v1EE8p0014*
- ID_PRODUCT_FROM_DATABASE=MT833UP
-
-usb:v1EF6*
- ID_VENDOR_FROM_DATABASE=EADS Deutschland GmbH
-
-usb:v1EF6p5064*
- ID_PRODUCT_FROM_DATABASE=FDR Interface
-
-usb:v1EF6p5648*
- ID_PRODUCT_FROM_DATABASE=RIU CSMU/BSD
-
-usb:v1EF6p564A*
- ID_PRODUCT_FROM_DATABASE=Cassidian RIU CSMU/BSD Simulator
-
-usb:v1F28*
- ID_VENDOR_FROM_DATABASE=Cal-Comp
-
-usb:v1F28p0020*
- ID_PRODUCT_FROM_DATABASE=CDMA USB Modem A600
-
-usb:v1F28p0021*
- ID_PRODUCT_FROM_DATABASE=CD INSTALLER USB Device
-
-usb:v1F44*
- ID_VENDOR_FROM_DATABASE=The Neat Company
-
-usb:v1F44p0001*
- ID_PRODUCT_FROM_DATABASE=NM-1000 scanner
-
-usb:v1F48*
- ID_VENDOR_FROM_DATABASE=H-TRONIC GmbH
-
-usb:v1F48p0627*
- ID_PRODUCT_FROM_DATABASE=Data capturing system
-
-usb:v1F48p0628*
- ID_PRODUCT_FROM_DATABASE=Data capturing and control module
-
-usb:v1F4D*
- ID_VENDOR_FROM_DATABASE=G-Tek Electronics Group
-
-usb:v1F4DpB803*
- ID_PRODUCT_FROM_DATABASE=Lifeview LV5TDLX DVB-T [RTL2832U]
-
-usb:v1F6F*
- ID_VENDOR_FROM_DATABASE=Aliph
-
-usb:v1F6Fp0023*
- ID_PRODUCT_FROM_DATABASE=Jawbone Jambox
-
-usb:v1F6Fp8000*
- ID_PRODUCT_FROM_DATABASE=Jawbone Jambox - Updating
-
-usb:v1F75*
- ID_VENDOR_FROM_DATABASE=Innostor Technology Corporation
-
-usb:v1F75p0888*
- ID_PRODUCT_FROM_DATABASE=IS888 SATA Storage Controller
-
-usb:v1F75p0902*
- ID_PRODUCT_FROM_DATABASE=IS902 UFD controller
-
-usb:v1F82*
- ID_VENDOR_FROM_DATABASE=TANDBERG
-
-usb:v1F82p0001*
- ID_PRODUCT_FROM_DATABASE=PrecisionHD Camera
-
-usb:v1F84*
- ID_VENDOR_FROM_DATABASE=Alere, Inc.
-
-usb:v1F87*
- ID_VENDOR_FROM_DATABASE=Stantum
-
-usb:v1F87p0002*
- ID_PRODUCT_FROM_DATABASE=Multi-touch HID Controller
-
-usb:v1F9B*
- ID_VENDOR_FROM_DATABASE=Ubiquiti Networks, Inc.
-
-usb:v1F9Bp0241*
- ID_PRODUCT_FROM_DATABASE=AirView2-EXT
-
-usb:v1FAB*
- ID_VENDOR_FROM_DATABASE=Samsung Opto-Electroncs Co., Ltd.
-
-usb:v1FABp104D*
- ID_PRODUCT_FROM_DATABASE=ES65
-
-usb:v1FBD*
- ID_VENDOR_FROM_DATABASE=Delphin Technology AG
-
-usb:v1FBDp0001*
- ID_PRODUCT_FROM_DATABASE=Expert Key - Data aquisition system
-
-usb:v1FC9*
- ID_VENDOR_FROM_DATABASE=NXP Semiconductors
-
-usb:v1FC9p010B*
- ID_PRODUCT_FROM_DATABASE=PR533
-
-usb:v1FDE*
- ID_VENDOR_FROM_DATABASE=ILX Lightwave Corporation
-
-usb:v1FDEp0001*
- ID_PRODUCT_FROM_DATABASE=UART Bridge
-
-usb:v1FE7*
- ID_VENDOR_FROM_DATABASE=Vertex Wireless Co., Ltd.
-
-usb:v1FE7p1000*
- ID_PRODUCT_FROM_DATABASE=VW100 series CDMA EV-DO Rev.A modem
-
-usb:v1FF7*
- ID_VENDOR_FROM_DATABASE=CVT Electronics.Co.,Ltd
-
-usb:v1FF7p0013*
- ID_PRODUCT_FROM_DATABASE=CVTouch Screen (HID)
-
-usb:v1FF7p001A*
- ID_PRODUCT_FROM_DATABASE=Human Interface Device
-
-usb:v1FFF*
- ID_VENDOR_FROM_DATABASE=Ideofy Inc.
-
-usb:v2001*
- ID_VENDOR_FROM_DATABASE=D-Link Corp.
-
-usb:v2001p0001*
- ID_PRODUCT_FROM_DATABASE=DWL-120 WIRELESS ADAPTER
-
-usb:v2001p0201*
- ID_PRODUCT_FROM_DATABASE=DHN-120 10Mb Home Phoneline Adapter
-
-usb:v2001p1A00*
- ID_PRODUCT_FROM_DATABASE=DUB-E100 10/100 Ethernet
-
-usb:v2001p1A02*
- ID_PRODUCT_FROM_DATABASE=DUB-E100 Ethernet Adapter
-
-usb:v2001p200C*
- ID_PRODUCT_FROM_DATABASE=10/100 Ethernet
-
-usb:v2001p3200*
- ID_PRODUCT_FROM_DATABASE=DWL-120 802.11b Wireless Adapter(rev.E1) [Atmel at76c503a]
-
-usb:v2001p3301*
- ID_PRODUCT_FROM_DATABASE=DWA-130 802.11n Wireless N Adapter(rev.C1) [Realtek RTL8192U]
-
-usb:v2001p3306*
- ID_PRODUCT_FROM_DATABASE=DWL-G122 Wireless Adapter(rev.F1) [Realtek RTL8188SU]
-
-usb:v2001p3308*
- ID_PRODUCT_FROM_DATABASE=DWA-121 802.11n Wireless N 150 Pico Adapter [Realtek RTL8188CUS]
-
-usb:v2001p3309*
- ID_PRODUCT_FROM_DATABASE=DWA-135 802.11n Wireless N Adapter(rev.A1) [Realtek RTL8192CU]
-
-usb:v2001p330A*
- ID_PRODUCT_FROM_DATABASE=DWA-133 802.11n Wireless N Adapter [Realtek RTL8192CU]
-
-usb:v2001p3500*
- ID_PRODUCT_FROM_DATABASE=Elitegroup Computer Systems WLAN card WL-162
-
-usb:v2001p3700*
- ID_PRODUCT_FROM_DATABASE=DWL-122 802.11b [Intersil Prism 3]
-
-usb:v2001p3701*
- ID_PRODUCT_FROM_DATABASE=DWL-G120 Spinnaker 802.11g [Intersil ISL3886]
-
-usb:v2001p3702*
- ID_PRODUCT_FROM_DATABASE=DWL-120 802.11b Wireless Adapter(rev.F) [Intersil ISL3871]
-
-usb:v2001p3703*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.A1) [Intersil ISL3880]
-
-usb:v2001p3704*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.A2) [Intersil ISL3887]
-
-usb:v2001p3705*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G120 Wireless Adapter(rev.C) [Intersil ISL3887]
-
-usb:v2001p3761*
- ID_PRODUCT_FROM_DATABASE=IEEE 802.11g USB2.0 Wireless Network Adapter-PN
-
-usb:v2001p3A00*
- ID_PRODUCT_FROM_DATABASE=DWL-AG132 [Atheros AR5523]
-
-usb:v2001p3A01*
- ID_PRODUCT_FROM_DATABASE=DWL-AG132 (no firmware) [Atheros AR5523]
-
-usb:v2001p3A02*
- ID_PRODUCT_FROM_DATABASE=DWL-G132 [Atheros AR5523]
-
-usb:v2001p3A03*
- ID_PRODUCT_FROM_DATABASE=DWL-G132 (no firmware) [Atheros AR5523]
-
-usb:v2001p3A04*
- ID_PRODUCT_FROM_DATABASE=DWL-AG122 [Atheros AR5523]
-
-usb:v2001p3A05*
- ID_PRODUCT_FROM_DATABASE=DWL-AG122 (no firmware) [Atheros AR5523]
-
-usb:v2001p3A80*
- ID_PRODUCT_FROM_DATABASE=AirPlus Xtreme G DWL-G132 Wireless Adapter
-
-usb:v2001p3A81*
- ID_PRODUCT_FROM_DATABASE=predator Bootloader Download
-
-usb:v2001p3A82*
- ID_PRODUCT_FROM_DATABASE=AirPremier AG DWL-AG132 Wireless Adapter
-
-usb:v2001p3A83*
- ID_PRODUCT_FROM_DATABASE=predator Bootloader Download
-
-usb:v2001p3B00*
- ID_PRODUCT_FROM_DATABASE=AirPlus DWL-120+ Wireless Adapter [Texas Instruments ACX100USB]
-
-usb:v2001p3B01*
- ID_PRODUCT_FROM_DATABASE=WLAN Boot Device
-
-usb:v2001p3C00*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.B1) [Ralink RT2571]
-
-usb:v2001p3C01*
- ID_PRODUCT_FROM_DATABASE=AirPlus AG DWL-AG122 Wireless Adapter
-
-usb:v2001p3C02*
- ID_PRODUCT_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter
-
-usb:v2001p3C05*
- ID_PRODUCT_FROM_DATABASE=DUB-E100 Fast Ethernet [asix]
-
-usb:v2001p3C15*
- ID_PRODUCT_FROM_DATABASE=DWA-140 RangeBooster N Adapter(rev.B3) [Ralink RT5372]
-
-usb:v2001p3C17*
- ID_PRODUCT_FROM_DATABASE=DWA-123 Wireless N 150 Adapter(rev.A1) [Ralink RT3370]
-
-usb:v2001p3C19*
- ID_PRODUCT_FROM_DATABASE=DWA-125 Wireless N 150 Adapter(rev.A3) [Ralink RT5370]
-
-usb:v2001p3C1A*
- ID_PRODUCT_FROM_DATABASE=DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.B2) [Ralink RT5572]
-
-usb:v2001p3C1B*
- ID_PRODUCT_FROM_DATABASE=DWA-127 Wireless N 150 High-Gain Adapter(rev.A1) [Ralink RT3070]
-
-usb:v2001p4000*
- ID_PRODUCT_FROM_DATABASE=DSB-650C Ethernet [klsi]
-
-usb:v2001p4001*
- ID_PRODUCT_FROM_DATABASE=DSB-650TX Ethernet [pegasus]
-
-usb:v2001p4002*
- ID_PRODUCT_FROM_DATABASE=DSB-650TX Ethernet [pegasus]
-
-usb:v2001p4003*
- ID_PRODUCT_FROM_DATABASE=DSB-650TX-PNA Ethernet [pegasus]
-
-usb:v2001p400B*
- ID_PRODUCT_FROM_DATABASE=10/100 Ethernet
-
-usb:v2001p4102*
- ID_PRODUCT_FROM_DATABASE=10/100 Ethernet
-
-usb:v2001p5100*
- ID_PRODUCT_FROM_DATABASE=DSL-200 ADSL ATM Modem
-
-usb:v2001p5102*
- ID_PRODUCT_FROM_DATABASE=DSL-200 ADSL Loader
-
-usb:v2001p5B00*
- ID_PRODUCT_FROM_DATABASE=Remote NDIS Network Device
-
-usb:v2001p9414*
- ID_PRODUCT_FROM_DATABASE=Cable Modem
-
-usb:v2001p9B00*
- ID_PRODUCT_FROM_DATABASE=Broadband Cable Modem Remote NDIS Device
-
-usb:v2001pABC1*
- ID_PRODUCT_FROM_DATABASE=DSB-650 Ethernet [pegasus]
-
-usb:v2001pF013*
- ID_PRODUCT_FROM_DATABASE=DLink 7 port USB2.0 Hub
-
-usb:v2001pF103*
- ID_PRODUCT_FROM_DATABASE=DUB-H7 7-port USB 2.0 hub
-
-usb:v2001pF10D*
- ID_PRODUCT_FROM_DATABASE=Accent Communications Modem
-
-usb:v2001pF110*
- ID_PRODUCT_FROM_DATABASE=DUB-AV300 A/V Capture
-
-usb:v2001pF111*
- ID_PRODUCT_FROM_DATABASE=DBT-122 Bluetooth adapter
-
-usb:v2001pF112*
- ID_PRODUCT_FROM_DATABASE=DUB-T210 Audio Device
-
-usb:v2001pF116*
- ID_PRODUCT_FROM_DATABASE=Formosa 2
-
-usb:v2001pF117*
- ID_PRODUCT_FROM_DATABASE=Formosa 3
-
-usb:v2001pF118*
- ID_PRODUCT_FROM_DATABASE=Formosa 4
-
-usb:v2002*
- ID_VENDOR_FROM_DATABASE=DAP Technologies
-
-usb:v200C*
- ID_VENDOR_FROM_DATABASE=Reloop
-
-usb:v200Cp100B*
- ID_PRODUCT_FROM_DATABASE=Play audio soundcard
-
-usb:v2013*
- ID_VENDOR_FROM_DATABASE=PCTV Systems
-
-usb:v2013p0245*
- ID_PRODUCT_FROM_DATABASE=PCTV 73ESE
-
-usb:v2013p0246*
- ID_PRODUCT_FROM_DATABASE=PCTV 74E
-
-usb:v2013p0248*
- ID_PRODUCT_FROM_DATABASE=PCTV 282E
-
-usb:v2013p024F*
- ID_PRODUCT_FROM_DATABASE=nanoStick T2 290e
-
-usb:v2019*
- ID_VENDOR_FROM_DATABASE=PLANEX
-
-usb:v2019p3220*
- ID_PRODUCT_FROM_DATABASE=GW-US11S WLAN [Atmel AT76C503A]
-
-usb:v2019p4901*
- ID_PRODUCT_FROM_DATABASE=GW-USSuper300 802.11bgn Wireless Adapter [Realtek RTL8191SU]
-
-usb:v2019p4903*
- ID_PRODUCT_FROM_DATABASE=GW-USFang300 802.11abgn Wireless Adapter [Realtek RTL8192DU]
-
-usb:v2019p4904*
- ID_PRODUCT_FROM_DATABASE=GW-USUltra300 802.11abgn Wireless Adapter [Realtek RTL8192DU]
-
-usb:v2019p5303*
- ID_PRODUCT_FROM_DATABASE=GW-US54GXS 802.11bg
-
-usb:v2019p5304*
- ID_PRODUCT_FROM_DATABASE=GWUS300 802.11n
-
-usb:v2019pAB01*
- ID_PRODUCT_FROM_DATABASE=GW-US54HP
-
-usb:v2019pAB24*
- ID_PRODUCT_FROM_DATABASE=GW-US300MiniS
-
-usb:v2019pAB25*
- ID_PRODUCT_FROM_DATABASE=GW-USMini2N 802.11n Wireless Adapter [Ralink RT2870]
-
-usb:v2019pAB28*
- ID_PRODUCT_FROM_DATABASE=GW-USNano
-
-usb:v2019pAB29*
- ID_PRODUCT_FROM_DATABASE=GW-USMicro300
-
-usb:v2019pAB2A*
- ID_PRODUCT_FROM_DATABASE=GW-USNano2 802.11n Wireless Adapter [Realtek RTL8188CUS]
-
-usb:v2019pAB2B*
- ID_PRODUCT_FROM_DATABASE=GW-USEco300 802.11bgn Wireless Adapter [Realtek RTL8192CU]
-
-usb:v2019pAB2C*
- ID_PRODUCT_FROM_DATABASE=GW-USDual300 802.11abgn Wireless Adapter [Realtek RTL8192DU]
-
-usb:v2019pAB50*
- ID_PRODUCT_FROM_DATABASE=GW-US54Mini2
-
-usb:v2019pC002*
- ID_PRODUCT_FROM_DATABASE=GW-US54SG
-
-usb:v2019pC007*
- ID_PRODUCT_FROM_DATABASE=GW-US54GZL
-
-usb:v2019pED02*
- ID_PRODUCT_FROM_DATABASE=GW-USMM
-
-usb:v2019pED06*
- ID_PRODUCT_FROM_DATABASE=GW-US300MiniW 802.11bgn Wireless Adapter
-
-usb:v2019pED10*
- ID_PRODUCT_FROM_DATABASE=GW-US300Mini2
-
-usb:v2019pED14*
- ID_PRODUCT_FROM_DATABASE=GW-USMicroN
-
-usb:v2019pED16*
- ID_PRODUCT_FROM_DATABASE=GW-USMicroN2W 802.11bgn Wireless Adapter [Realtek RTL8188SU]
-
-usb:v2019pED17*
- ID_PRODUCT_FROM_DATABASE=GW-USValue-EZ 802.11n Wireless Adapter [Realtek RTL8188CUS]
-
-usb:v2019pED18*
- ID_PRODUCT_FROM_DATABASE=GW-USHyper300 / GW-USH300N 802.11bgn Wireless Adapter [Realtek RTL8191SU]
-
-usb:v2040*
- ID_VENDOR_FROM_DATABASE=Hauppauge
-
-usb:v2040p0C80*
- ID_PRODUCT_FROM_DATABASE=Windham
-
-usb:v2040p0C90*
- ID_PRODUCT_FROM_DATABASE=Windham
-
-usb:v2040p1700*
- ID_PRODUCT_FROM_DATABASE=CataMount
-
-usb:v2040p1800*
- ID_PRODUCT_FROM_DATABASE=Okemo A
-
-usb:v2040p1801*
- ID_PRODUCT_FROM_DATABASE=Okemo B
-
-usb:v2040p2000*
- ID_PRODUCT_FROM_DATABASE=Tiger Minicard
-
-usb:v2040p2009*
- ID_PRODUCT_FROM_DATABASE=Tiger Minicard R2
-
-usb:v2040p200A*
- ID_PRODUCT_FROM_DATABASE=Tiger Minicard
-
-usb:v2040p2010*
- ID_PRODUCT_FROM_DATABASE=Tiger Minicard
-
-usb:v2040p2011*
- ID_PRODUCT_FROM_DATABASE=WinTV MiniCard [Dell Digital TV Receiver]
-
-usb:v2040p2019*
- ID_PRODUCT_FROM_DATABASE=Tiger Minicard
-
-usb:v2040p2400*
- ID_PRODUCT_FROM_DATABASE=WinTV PVR USB2 (Model 24019)
-
-usb:v2040p4700*
- ID_PRODUCT_FROM_DATABASE=WinTV Nova-S-USB2
-
-usb:v2040p4902*
- ID_PRODUCT_FROM_DATABASE=HD PVR
-
-usb:v2040p4903*
- ID_PRODUCT_FROM_DATABASE=HS PVR
-
-usb:v2040p4982*
- ID_PRODUCT_FROM_DATABASE=HD PVR
-
-usb:v2040p5500*
- ID_PRODUCT_FROM_DATABASE=Windham
-
-usb:v2040p5510*
- ID_PRODUCT_FROM_DATABASE=Windham
-
-usb:v2040p5520*
- ID_PRODUCT_FROM_DATABASE=Windham
-
-usb:v2040p5530*
- ID_PRODUCT_FROM_DATABASE=Windham
-
-usb:v2040p5580*
- ID_PRODUCT_FROM_DATABASE=Windham
-
-usb:v2040p5590*
- ID_PRODUCT_FROM_DATABASE=Windham
-
-usb:v2040p6500*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-900
-
-usb:v2040p6502*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-900
-
-usb:v2040p6503*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-930
-
-usb:v2040p6513*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-980
-
-usb:v2040p7050*
- ID_PRODUCT_FROM_DATABASE=Nova-T Stick
-
-usb:v2040p7060*
- ID_PRODUCT_FROM_DATABASE=Nova-T Stick 2
-
-usb:v2040p7070*
- ID_PRODUCT_FROM_DATABASE=Nova-T Stick 3
-
-usb:v2040p7240*
- ID_PRODUCT_FROM_DATABASE=WinTV HVR-850
-
-usb:v2040p8400*
- ID_PRODUCT_FROM_DATABASE=WinTV Nova-T-500
-
-usb:v2040p9300*
- ID_PRODUCT_FROM_DATABASE=WinTV NOVA-T USB2 (cold)
-
-usb:v2040p9301*
- ID_PRODUCT_FROM_DATABASE=WinTV NOVA-T USB2 (warm)
-
-usb:v2040p9941*
- ID_PRODUCT_FROM_DATABASE=WinTV Nova-T-500
-
-usb:v2040p9950*
- ID_PRODUCT_FROM_DATABASE=WinTV Nova-T-500
-
-usb:v2040pB910*
- ID_PRODUCT_FROM_DATABASE=Windham
-
-usb:v2040pB980*
- ID_PRODUCT_FROM_DATABASE=Windham
-
-usb:v2040pB990*
- ID_PRODUCT_FROM_DATABASE=Windham
-
-usb:v2040pC000*
- ID_PRODUCT_FROM_DATABASE=Windham
-
-usb:v2040pC010*
- ID_PRODUCT_FROM_DATABASE=Windham
-
-usb:v2047*
- ID_VENDOR_FROM_DATABASE=Texas Instruments
-
-usb:v2047p0200*
- ID_PRODUCT_FROM_DATABASE=MSP430 USB HID Bootstrap Loader
-
-usb:v2080*
- ID_VENDOR_FROM_DATABASE=Barnes & Noble
-
-usb:v2080p0001*
- ID_PRODUCT_FROM_DATABASE=nook
-
-usb:v2080p0002*
- ID_PRODUCT_FROM_DATABASE=NOOKcolor
-
-usb:v2080p0003*
- ID_PRODUCT_FROM_DATABASE=NOOK Simple Touch
-
-usb:v2080p0004*
- ID_PRODUCT_FROM_DATABASE=NOOK Tablet
-
-usb:v2087*
- ID_VENDOR_FROM_DATABASE=Cando
-
-usb:v2087p0A01*
- ID_PRODUCT_FROM_DATABASE=Multi Touch Panel
-
-usb:v2087p0A02*
- ID_PRODUCT_FROM_DATABASE=Multi Touch Panel
-
-usb:v2087p0B03*
- ID_PRODUCT_FROM_DATABASE=Multi Touch Panel
-
-usb:v20A0*
- ID_VENDOR_FROM_DATABASE=Clay Logic
-
-usb:v20A0p4123*
- ID_PRODUCT_FROM_DATABASE=IKALOGIC SCANALOGIC 2
-
-usb:v20A0p414A*
- ID_PRODUCT_FROM_DATABASE=MDE SPI Interface
-
-usb:v20A0p415A*
- ID_PRODUCT_FROM_DATABASE=OpenPilot
-
-usb:v20A0p415B*
- ID_PRODUCT_FROM_DATABASE=CopterControl
-
-usb:v20A0p415C*
- ID_PRODUCT_FROM_DATABASE=PipXtreme
-
-usb:v20B1*
- ID_VENDOR_FROM_DATABASE=XMOS Ltd
-
-usb:v20B1p10AD*
- ID_PRODUCT_FROM_DATABASE=XUSB Loader
-
-usb:v20B1pF7D1*
- ID_PRODUCT_FROM_DATABASE=XTAG2 - JTAG Adapter
-
-usb:v20B3*
- ID_VENDOR_FROM_DATABASE=Hanvon
-
-usb:v20B3p0A18*
- ID_PRODUCT_FROM_DATABASE=10.1 Touch screen overlay
-
-usb:v20B7*
- ID_VENDOR_FROM_DATABASE=Qi Hardware
-
-usb:v20B7p0713*
- ID_PRODUCT_FROM_DATABASE=Milkymist JTAG/serial
-
-usb:v20B7p1540*
- ID_PRODUCT_FROM_DATABASE=ben-wpan, AT86RF230-based
-
-usb:v20B7p1DB5*
- ID_PRODUCT_FROM_DATABASE=IDBG in DFU mode
-
-usb:v20B7p1DB6*
- ID_PRODUCT_FROM_DATABASE=IDBG in normal mode
-
-usb:v20B7pC25B*
- ID_PRODUCT_FROM_DATABASE=C2 Dongle
-
-usb:v20B7pCB72*
- ID_PRODUCT_FROM_DATABASE=ben-wpan, cntr
-
-usb:v20DF*
- ID_VENDOR_FROM_DATABASE=Simtec Electronics
-
-usb:v20DFp0001*
- ID_PRODUCT_FROM_DATABASE=Entropy Key [UDEKEY01]
-
-usb:v20F4*
- ID_VENDOR_FROM_DATABASE=TRENDnet
-
-usb:v20F4p648B*
- ID_PRODUCT_FROM_DATABASE=TEW-648UBM 802.11n 150Mbps Micro Wireless N Adapter [Realtek RTL8188CUS]
-
-usb:v2101*
- ID_VENDOR_FROM_DATABASE=ActionStar
-
-usb:v2101p0201*
- ID_PRODUCT_FROM_DATABASE=SIIG 4-to-2 Printer Switch
-
-usb:v2162*
- ID_VENDOR_FROM_DATABASE=Creative (?)
-
-usb:v2162p2031*
- ID_PRODUCT_FROM_DATABASE=Network Blaster Wireless Adapter
-
-usb:v2162p500C*
- ID_PRODUCT_FROM_DATABASE=DE5771 Modem Blaster
-
-usb:v2162p8001*
- ID_PRODUCT_FROM_DATABASE=Broadxent BritePort DSL Bridge 8010U
-
-usb:v2184*
- ID_VENDOR_FROM_DATABASE=GW Instek
-
-usb:v2184p0005*
- ID_PRODUCT_FROM_DATABASE=GDS-3000 Oscilloscope
-
-usb:v2184p0006*
- ID_PRODUCT_FROM_DATABASE=GDS-3000 Oscilloscope
-
-usb:v2184p0011*
- ID_PRODUCT_FROM_DATABASE=AFG Function Generator (CDC)
-
-usb:v21A1*
- ID_VENDOR_FROM_DATABASE=Emotiv Systems Pty. Ltd.
-
-usb:v21A1p0001*
- ID_PRODUCT_FROM_DATABASE=EPOC Consumer Headset Wireless Dongle
-
-usb:v21D6*
- ID_VENDOR_FROM_DATABASE=Agecodagis SARL
-
-usb:v21D6p0002*
- ID_PRODUCT_FROM_DATABASE=Seismic recorder [Tellus]
-
-usb:v2222*
- ID_VENDOR_FROM_DATABASE=MacAlly
-
-usb:v2222p0004*
- ID_PRODUCT_FROM_DATABASE=iWebKey Keyboard
-
-usb:v2222p2520*
- ID_PRODUCT_FROM_DATABASE=Mini Tablet
-
-usb:v2222p4050*
- ID_PRODUCT_FROM_DATABASE=AirStick joystick
-
-usb:v2227*
- ID_VENDOR_FROM_DATABASE=SAMWOO Enterprise
-
-usb:v2227p3105*
- ID_PRODUCT_FROM_DATABASE=SKYDATA SKD-U100
-
-usb:v2233*
- ID_VENDOR_FROM_DATABASE=RadioShack Corporation
-
-usb:v2233p6323*
- ID_PRODUCT_FROM_DATABASE=USB Electronic Scale
-
-usb:v2237*
- ID_VENDOR_FROM_DATABASE=Kobo Inc.
-
-usb:v2237p4161*
- ID_PRODUCT_FROM_DATABASE=eReader White
-
-usb:v22A6*
- ID_VENDOR_FROM_DATABASE=Pie Digital, Inc.
-
-usb:v22A6pFFFF*
- ID_PRODUCT_FROM_DATABASE=PieKey "beta" 4GB model 4E4F41482E4F5247 (SM3251Q BB)
-
-usb:v22B8*
- ID_VENDOR_FROM_DATABASE=Motorola PCS
-
-usb:v22B8p0001*
- ID_PRODUCT_FROM_DATABASE=Wally 2.2 chipset
-
-usb:v22B8p0002*
- ID_PRODUCT_FROM_DATABASE=Wally 2.4 chipset
-
-usb:v22B8p0005*
- ID_PRODUCT_FROM_DATABASE=V.60c/V.60i GSM Phone
-
-usb:v22B8p0830*
- ID_PRODUCT_FROM_DATABASE=2386C-HT820
-
-usb:v22B8p0833*
- ID_PRODUCT_FROM_DATABASE=2386C-HT820 [Flash Mode]
-
-usb:v22B8p0850*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v22B8p1001*
- ID_PRODUCT_FROM_DATABASE=Patriot 1.0 (GSM) chipset
-
-usb:v22B8p1002*
- ID_PRODUCT_FROM_DATABASE=Patriot 2.0 chipset
-
-usb:v22B8p1005*
- ID_PRODUCT_FROM_DATABASE=T280e GSM/GPRS Phone
-
-usb:v22B8p1101*
- ID_PRODUCT_FROM_DATABASE=Patriot 1.0 (TDMA) chipset
-
-usb:v22B8p1801*
- ID_PRODUCT_FROM_DATABASE=Rainbow chipset flash
-
-usb:v22B8p2035*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Device
-
-usb:v22B8p2805*
- ID_PRODUCT_FROM_DATABASE=GSM Modem
-
-usb:v22B8p2821*
- ID_PRODUCT_FROM_DATABASE=T720 GSM Phone
-
-usb:v22B8p2822*
- ID_PRODUCT_FROM_DATABASE=V.120e GSM Phone
-
-usb:v22B8p2823*
- ID_PRODUCT_FROM_DATABASE=Flash Interface
-
-usb:v22B8p2A01*
- ID_PRODUCT_FROM_DATABASE=MSM6050 chipset
-
-usb:v22B8p2A02*
- ID_PRODUCT_FROM_DATABASE=CDMA modem
-
-usb:v22B8p2A03*
- ID_PRODUCT_FROM_DATABASE=MSM6050 chipset flash
-
-usb:v22B8p2A21*
- ID_PRODUCT_FROM_DATABASE=V710 GSM Phone (P2K)
-
-usb:v22B8p2A22*
- ID_PRODUCT_FROM_DATABASE=V710 GSM Phone (AT)
-
-usb:v22B8p2A23*
- ID_PRODUCT_FROM_DATABASE=MSM6100 chipset flash
-
-usb:v22B8p2A41*
- ID_PRODUCT_FROM_DATABASE=MSM6300 chipset
-
-usb:v22B8p2A42*
- ID_PRODUCT_FROM_DATABASE=Usb Modem
-
-usb:v22B8p2A43*
- ID_PRODUCT_FROM_DATABASE=MSM6300 chipset flash
-
-usb:v22B8p2A61*
- ID_PRODUCT_FROM_DATABASE=E815 GSM Phone (P2K)
-
-usb:v22B8p2A62*
- ID_PRODUCT_FROM_DATABASE=E815 GSM Phone (AT)
-
-usb:v22B8p2A63*
- ID_PRODUCT_FROM_DATABASE=MSM6500 chipset flash
-
-usb:v22B8p2A81*
- ID_PRODUCT_FROM_DATABASE=MSM6025 chipset
-
-usb:v22B8p2A83*
- ID_PRODUCT_FROM_DATABASE=MSM6025 chipset flash
-
-usb:v22B8p2AC1*
- ID_PRODUCT_FROM_DATABASE=MSM6100 chipset
-
-usb:v22B8p2AC3*
- ID_PRODUCT_FROM_DATABASE=MSM6100 chipset flash
-
-usb:v22B8p2D78*
- ID_PRODUCT_FROM_DATABASE=XT300[SPICE]
-
-usb:v22B8p3001*
- ID_PRODUCT_FROM_DATABASE=A835/E1000 GSM Phone (P2K)
-
-usb:v22B8p3002*
- ID_PRODUCT_FROM_DATABASE=A835/E1000 GSM Phone (AT)
-
-usb:v22B8p3801*
- ID_PRODUCT_FROM_DATABASE=C350L/C450 (P2K)
-
-usb:v22B8p3802*
- ID_PRODUCT_FROM_DATABASE=C330/C350L/C450/EZX GSM Phone (AT)
-
-usb:v22B8p3803*
- ID_PRODUCT_FROM_DATABASE=Neptune LT chipset flash
-
-usb:v22B8p4001*
- ID_PRODUCT_FROM_DATABASE=OMAP 1.0 chipset
-
-usb:v22B8p4002*
- ID_PRODUCT_FROM_DATABASE=A920/A925 UMTS Phone
-
-usb:v22B8p4003*
- ID_PRODUCT_FROM_DATABASE=OMAP 1.0 chipset flash
-
-usb:v22B8p4008*
- ID_PRODUCT_FROM_DATABASE=OMAP 1.0 chipset RDL
-
-usb:v22B8p41D6*
- ID_PRODUCT_FROM_DATABASE=Droid X (Windows media mode)
-
-usb:v22B8p41D9*
- ID_PRODUCT_FROM_DATABASE=Droid/Milestone
-
-usb:v22B8p41DB*
- ID_PRODUCT_FROM_DATABASE=Droid/Milestone (Debug mode)
-
-usb:v22B8p41DE*
- ID_PRODUCT_FROM_DATABASE=Droid X (PC mode)
-
-usb:v22B8p4204*
- ID_PRODUCT_FROM_DATABASE=MPx200 Smartphone
-
-usb:v22B8p4214*
- ID_PRODUCT_FROM_DATABASE=MPc GSM
-
-usb:v22B8p4224*
- ID_PRODUCT_FROM_DATABASE=MPx220 Smartphone
-
-usb:v22B8p4234*
- ID_PRODUCT_FROM_DATABASE=MPc CDMA
-
-usb:v22B8p4244*
- ID_PRODUCT_FROM_DATABASE=MPx100 Smartphone
-
-usb:v22B8p4285*
- ID_PRODUCT_FROM_DATABASE=Droid X (Mass storage)
-
-usb:v22B8p4801*
- ID_PRODUCT_FROM_DATABASE=Neptune LTS chipset
-
-usb:v22B8p4803*
- ID_PRODUCT_FROM_DATABASE=Neptune LTS chipset flash
-
-usb:v22B8p4810*
- ID_PRODUCT_FROM_DATABASE=Triplet GSM Phone (storage)
-
-usb:v22B8p4901*
- ID_PRODUCT_FROM_DATABASE=Triplet GSM Phone (P2K)
-
-usb:v22B8p4902*
- ID_PRODUCT_FROM_DATABASE=Triplet GSM Phone (AT)
-
-usb:v22B8p4903*
- ID_PRODUCT_FROM_DATABASE=Neptune LTE chipset flash
-
-usb:v22B8p4A01*
- ID_PRODUCT_FROM_DATABASE=Neptune LTX chipset
-
-usb:v22B8p4A03*
- ID_PRODUCT_FROM_DATABASE=Neptune LTX chipset flash
-
-usb:v22B8p4A32*
- ID_PRODUCT_FROM_DATABASE=L6-imode Phone
-
-usb:v22B8p5801*
- ID_PRODUCT_FROM_DATABASE=Neptune ULS chipset
-
-usb:v22B8p5803*
- ID_PRODUCT_FROM_DATABASE=Neptune ULS chipset flash
-
-usb:v22B8p5901*
- ID_PRODUCT_FROM_DATABASE=Neptune VLT chipset
-
-usb:v22B8p5903*
- ID_PRODUCT_FROM_DATABASE=Neptune VLT chipset flash
-
-usb:v22B8p6001*
- ID_PRODUCT_FROM_DATABASE=Dalhart EZX
-
-usb:v22B8p6003*
- ID_PRODUCT_FROM_DATABASE=Dalhart flash
-
-usb:v22B8p6004*
- ID_PRODUCT_FROM_DATABASE=EZX GSM Phone (CDC Net)
-
-usb:v22B8p6006*
- ID_PRODUCT_FROM_DATABASE=MOTOROKR E6
-
-usb:v22B8p6008*
- ID_PRODUCT_FROM_DATABASE=Dalhart RDL
-
-usb:v22B8p6009*
- ID_PRODUCT_FROM_DATABASE=EZX GSM Phone (P2K)
-
-usb:v22B8p600A*
- ID_PRODUCT_FROM_DATABASE=Dalhart EZX config 17
-
-usb:v22B8p600B*
- ID_PRODUCT_FROM_DATABASE=Dalhart EZX config 18
-
-usb:v22B8p600C*
- ID_PRODUCT_FROM_DATABASE=EZX GSM Phone (USBLAN)
-
-usb:v22B8p6021*
- ID_PRODUCT_FROM_DATABASE=JUIX chipset
-
-usb:v22B8p6023*
- ID_PRODUCT_FROM_DATABASE=JUIX chipset flash
-
-usb:v22B8p6026*
- ID_PRODUCT_FROM_DATABASE=Flash RAM Downloader/miniOS
-
-usb:v22B8p6027*
- ID_PRODUCT_FROM_DATABASE=USBLAN
-
-usb:v22B8p604C*
- ID_PRODUCT_FROM_DATABASE=EZX GSM Phone (Storage)
-
-usb:v22B8p6101*
- ID_PRODUCT_FROM_DATABASE=Talon integrated chipset
-
-usb:v22B8p6401*
- ID_PRODUCT_FROM_DATABASE=Argon chipset
-
-usb:v22B8p6403*
- ID_PRODUCT_FROM_DATABASE=Argon chipset flash
-
-usb:v22B8p6415*
- ID_PRODUCT_FROM_DATABASE=ROKR Z6 (MTP mode)
-
-usb:v22B8p6604*
- ID_PRODUCT_FROM_DATABASE=Washington CDMA Phone
-
-usb:v22B8p6631*
- ID_PRODUCT_FROM_DATABASE=CDC Modem
-
-usb:v22B8p7001*
- ID_PRODUCT_FROM_DATABASE=Q Smartphone
-
-usb:v22B8pFE01*
- ID_PRODUCT_FROM_DATABASE=StarTAC III MS900
-
-usb:v22B9*
- ID_VENDOR_FROM_DATABASE=eTurboTouch Technology, Inc.
-
-usb:v22B9p0006*
- ID_PRODUCT_FROM_DATABASE=Touch Screen
-
-usb:v22BA*
- ID_VENDOR_FROM_DATABASE=Technology Innovation Holdings, Ltd
-
-usb:v2304*
- ID_VENDOR_FROM_DATABASE=Pinnacle Systems, Inc.
-
-usb:v2304p0109*
- ID_PRODUCT_FROM_DATABASE=Studio PCTV USB (SECAM)
-
-usb:v2304p0110*
- ID_PRODUCT_FROM_DATABASE=Studio PCTV USB (PAL)
-
-usb:v2304p0111*
- ID_PRODUCT_FROM_DATABASE=Miro PCTV USB
-
-usb:v2304p0112*
- ID_PRODUCT_FROM_DATABASE=Studio PCTV USB (NTSC) with FM radio
-
-usb:v2304p0201*
- ID_PRODUCT_FROM_DATABASE=Systems MovieBox Device
-
-usb:v2304p0204*
- ID_PRODUCT_FROM_DATABASE=MovieBox USB_B
-
-usb:v2304p0205*
- ID_PRODUCT_FROM_DATABASE=DVC 150B
-
-usb:v2304p0206*
- ID_PRODUCT_FROM_DATABASE=Systems MovieBox Deluxe Device
-
-usb:v2304p0207*
- ID_PRODUCT_FROM_DATABASE=Dazzle DVC90 Video Device
-
-usb:v2304p0208*
- ID_PRODUCT_FROM_DATABASE=Studio PCTV USB2
-
-usb:v2304p020E*
- ID_PRODUCT_FROM_DATABASE=PCTV 200e
-
-usb:v2304p020F*
- ID_PRODUCT_FROM_DATABASE=PCTV 400e BDA Device
-
-usb:v2304p0210*
- ID_PRODUCT_FROM_DATABASE=Studio PCTV USB (PAL) with FM radio
-
-usb:v2304p0212*
- ID_PRODUCT_FROM_DATABASE=Studio PCTV USB (NTSC)
-
-usb:v2304p0213*
- ID_PRODUCT_FROM_DATABASE=500-USB Device
-
-usb:v2304p0214*
- ID_PRODUCT_FROM_DATABASE=Studio PCTV USB (PAL) with FM radio
-
-usb:v2304p0216*
- ID_PRODUCT_FROM_DATABASE=PCTV 60e
-
-usb:v2304p0219*
- ID_PRODUCT_FROM_DATABASE=PCTV 260e
-
-usb:v2304p021A*
- ID_PRODUCT_FROM_DATABASE=Dazzle DVC100 Audio Device
-
-usb:v2304p021B*
- ID_PRODUCT_FROM_DATABASE=Dazzle DVC130/DVC170
-
-usb:v2304p021D*
- ID_PRODUCT_FROM_DATABASE=Dazzle DVC130
-
-usb:v2304p021E*
- ID_PRODUCT_FROM_DATABASE=Dazzle DVC170
-
-usb:v2304p021F*
- ID_PRODUCT_FROM_DATABASE=PCTV Sat HDTV Pro BDA Device
-
-usb:v2304p0222*
- ID_PRODUCT_FROM_DATABASE=PCTV Sat Pro BDA Device
-
-usb:v2304p0223*
- ID_PRODUCT_FROM_DATABASE=DazzleTV Sat BDA Device
-
-usb:v2304p0225*
- ID_PRODUCT_FROM_DATABASE=Remote Kit Infrared Transceiver
-
-usb:v2304p0226*
- ID_PRODUCT_FROM_DATABASE=PCTV 330e
-
-usb:v2304p0227*
- ID_PRODUCT_FROM_DATABASE=PCTV for Mac, HD Stick
-
-usb:v2304p0228*
- ID_PRODUCT_FROM_DATABASE=PCTV DVB-T Flash Stick
-
-usb:v2304p0229*
- ID_PRODUCT_FROM_DATABASE=PCTV Dual DVB-T 2001e
-
-usb:v2304p022A*
- ID_PRODUCT_FROM_DATABASE=PCTV 160e
-
-usb:v2304p022B*
- ID_PRODUCT_FROM_DATABASE=PCTV 71e [Afatech AF9015]
-
-usb:v2304p0232*
- ID_PRODUCT_FROM_DATABASE=PCTV 170e
-
-usb:v2304p0236*
- ID_PRODUCT_FROM_DATABASE=PCTV 72e [DiBcom DiB7000PC]
-
-usb:v2304p0237*
- ID_PRODUCT_FROM_DATABASE=PCTV 73e [DiBcom DiB7000PC]
-
-usb:v2304p023A*
- ID_PRODUCT_FROM_DATABASE=PCTV 801e
-
-usb:v2304p023B*
- ID_PRODUCT_FROM_DATABASE=PCTV 801e SE
-
-usb:v2304p023D*
- ID_PRODUCT_FROM_DATABASE=PCTV 340e
-
-usb:v2304p023E*
- ID_PRODUCT_FROM_DATABASE=PCTV 340e SE
-
-usb:v2304p0300*
- ID_PRODUCT_FROM_DATABASE=Studio Linx Video input cable (NTSC)
-
-usb:v2304p0301*
- ID_PRODUCT_FROM_DATABASE=Studio Linx Video input cable (PAL)
-
-usb:v2304p0302*
- ID_PRODUCT_FROM_DATABASE=Dazzle DVC120
-
-usb:v2304p0419*
- ID_PRODUCT_FROM_DATABASE=PCTV Bungee USB (PAL) with FM radio
-
-usb:v2304p061D*
- ID_PRODUCT_FROM_DATABASE=PCTV Deluxe (NTSC) Device
-
-usb:v2304p061E*
- ID_PRODUCT_FROM_DATABASE=PCTV Deluxe (PAL) Device
-
-usb:v2318*
- ID_VENDOR_FROM_DATABASE=Shining Technologies, Inc. [hex]
-
-usb:v2318p0011*
- ID_PRODUCT_FROM_DATABASE=CitiDISK Jr. IDE Enclosure
-
-usb:v2341*
- ID_VENDOR_FROM_DATABASE=Arduino SA
-
-usb:v2341p0001*
- ID_PRODUCT_FROM_DATABASE=Uno (CDC ACM)
-
-usb:v2341p0010*
- ID_PRODUCT_FROM_DATABASE=Mega 2560 (CDC ACM)
-
-usb:v2341p003B*
- ID_PRODUCT_FROM_DATABASE=Serial Adapter (CDC ACM)
-
-usb:v2341p003F*
- ID_PRODUCT_FROM_DATABASE=Mega ADK (CDC ACM)
-
-usb:v2341p0042*
- ID_PRODUCT_FROM_DATABASE=Mega 2560 R3 (CDC ACM)
-
-usb:v2341p0043*
- ID_PRODUCT_FROM_DATABASE=Uno R3 (CDC ACM)
-
-usb:v2341p0044*
- ID_PRODUCT_FROM_DATABASE=Mega ADK R3 (CDC ACM)
-
-usb:v2341p0045*
- ID_PRODUCT_FROM_DATABASE=Serial R3 (CDC ACM)
-
-usb:v2341p8036*
- ID_PRODUCT_FROM_DATABASE=Leonardo (CDC ACM, HID)
-
-usb:v2373*
- ID_VENDOR_FROM_DATABASE=Pumatronix Ltda
-
-usb:v2373p0001*
- ID_PRODUCT_FROM_DATABASE=5 MegaPixel Digital Still Camera [DSC5M]
-
-usb:v2375*
- ID_VENDOR_FROM_DATABASE=Digit@lway, Inc.
-
-usb:v2375p0001*
- ID_PRODUCT_FROM_DATABASE=Digital Audio Player
-
-usb:v2406*
- ID_VENDOR_FROM_DATABASE=SANHO Digital Electronics Co., Ltd.
-
-usb:v2406p6688*
- ID_PRODUCT_FROM_DATABASE=PD7X Portable Storage
-
-usb:v2478*
- ID_VENDOR_FROM_DATABASE=Tripp-Lite
-
-usb:v2478p2008*
- ID_PRODUCT_FROM_DATABASE=U209-000-R Serial Port
-
-usb:v2632*
- ID_VENDOR_FROM_DATABASE=TwinMOS
-
-usb:v2632p3209*
- ID_PRODUCT_FROM_DATABASE=7-in-1 Card Reader
-
-usb:v2650*
- ID_VENDOR_FROM_DATABASE=Electronics For Imaging, Inc. [hex]
-
-usb:v2659*
- ID_VENDOR_FROM_DATABASE=Sundtek
-
-usb:v2659p1101*
- ID_PRODUCT_FROM_DATABASE=TNT DVB-T/DAB/DAB+/FM
-
-usb:v2659p1201*
- ID_PRODUCT_FROM_DATABASE=FM Transmitter/Receiver
-
-usb:v2659p1202*
- ID_PRODUCT_FROM_DATABASE=MediaTV Analog/FM/DVB-T
-
-usb:v2659p1203*
- ID_PRODUCT_FROM_DATABASE=MediaTV Analog/FM/DVB-T MiniPCIe
-
-usb:v2659p1204*
- ID_PRODUCT_FROM_DATABASE=MediaTV Analog/FM/ATSC
-
-usb:v2659p1205*
- ID_PRODUCT_FROM_DATABASE=SkyTV Ultimate V
-
-usb:v2659p1206*
- ID_PRODUCT_FROM_DATABASE=MediaTV DVB-T MiniPCIe
-
-usb:v2659p1207*
- ID_PRODUCT_FROM_DATABASE=Sundtek HD Capture
-
-usb:v2659p1208*
- ID_PRODUCT_FROM_DATABASE=Sundtek SkyTV Ultimate III
-
-usb:v2730*
- ID_VENDOR_FROM_DATABASE=Citizen
-
-usb:v2730p200F*
- ID_PRODUCT_FROM_DATABASE=CT-S310 Label printer
-
-usb:v2735*
- ID_VENDOR_FROM_DATABASE=DigitalWay
-
-usb:v2735p0003*
- ID_PRODUCT_FROM_DATABASE=MPIO HS100
-
-usb:v2735p1001*
- ID_PRODUCT_FROM_DATABASE=MPIO FY200
-
-usb:v2735p1002*
- ID_PRODUCT_FROM_DATABASE=MPIO FL100
-
-usb:v2735p1003*
- ID_PRODUCT_FROM_DATABASE=MPIO FD100
-
-usb:v2735p1004*
- ID_PRODUCT_FROM_DATABASE=MPIO HD200
-
-usb:v2735p1005*
- ID_PRODUCT_FROM_DATABASE=MPIO HD300
-
-usb:v2735p1006*
- ID_PRODUCT_FROM_DATABASE=MPIO FG100
-
-usb:v2735p1007*
- ID_PRODUCT_FROM_DATABASE=MPIO FG130
-
-usb:v2735p1008*
- ID_PRODUCT_FROM_DATABASE=MPIO FY300
-
-usb:v2735p1009*
- ID_PRODUCT_FROM_DATABASE=MPIO FY400
-
-usb:v2735p100A*
- ID_PRODUCT_FROM_DATABASE=MPIO FL300
-
-usb:v2735p100B*
- ID_PRODUCT_FROM_DATABASE=MPIO HS200
-
-usb:v2735p100C*
- ID_PRODUCT_FROM_DATABASE=MPIO FL350
-
-usb:v2735p100D*
- ID_PRODUCT_FROM_DATABASE=MPIO FY500
-
-usb:v2735p100E*
- ID_PRODUCT_FROM_DATABASE=MPIO FY500
-
-usb:v2735p100F*
- ID_PRODUCT_FROM_DATABASE=MPIO FY600
-
-usb:v2735p1012*
- ID_PRODUCT_FROM_DATABASE=MPIO FL400
-
-usb:v2735p1013*
- ID_PRODUCT_FROM_DATABASE=MPIO HD400
-
-usb:v2735p1014*
- ID_PRODUCT_FROM_DATABASE=MPIO HD400
-
-usb:v2735p1016*
- ID_PRODUCT_FROM_DATABASE=MPIO FY700
-
-usb:v2735p1017*
- ID_PRODUCT_FROM_DATABASE=MPIO FY700
-
-usb:v2735p1018*
- ID_PRODUCT_FROM_DATABASE=MPIO FY800
-
-usb:v2735p1019*
- ID_PRODUCT_FROM_DATABASE=MPIO FY800
-
-usb:v2735p101A*
- ID_PRODUCT_FROM_DATABASE=MPIO FY900
-
-usb:v2735p101B*
- ID_PRODUCT_FROM_DATABASE=MPIO FY900
-
-usb:v2735p102B*
- ID_PRODUCT_FROM_DATABASE=MPIO FL500
-
-usb:v2735p102C*
- ID_PRODUCT_FROM_DATABASE=MPIO FL500
-
-usb:v2735p103F*
- ID_PRODUCT_FROM_DATABASE=MPIO FY570
-
-usb:v2735p1040*
- ID_PRODUCT_FROM_DATABASE=MPIO FY570
-
-usb:v2735p1041*
- ID_PRODUCT_FROM_DATABASE=MPIO FY670
-
-usb:v2735p1042*
- ID_PRODUCT_FROM_DATABASE=MPIO FY670
-
-usb:v2735p1043*
- ID_PRODUCT_FROM_DATABASE=HCT HMD-180A
-
-usb:v2735p1044*
- ID_PRODUCT_FROM_DATABASE=HCT HMD-180A
-
-usb:v2770*
- ID_VENDOR_FROM_DATABASE=NHJ, Ltd
-
-usb:v2770p0A01*
- ID_PRODUCT_FROM_DATABASE=ScanJet 4600 series
-
-usb:v2770p905C*
- ID_PRODUCT_FROM_DATABASE=Che-Ez Snap SNAP-U/Digigr8/Soundstar TDC-35
-
-usb:v2770p9060*
- ID_PRODUCT_FROM_DATABASE=A130
-
-usb:v2770p9120*
- ID_PRODUCT_FROM_DATABASE=Che-ez! Snap / iClick Tiny VGA Digital Camera
-
-usb:v2770p9130*
- ID_PRODUCT_FROM_DATABASE=TCG 501
-
-usb:v2770p913C*
- ID_PRODUCT_FROM_DATABASE=Argus DC-1730
-
-usb:v2770p9150*
- ID_PRODUCT_FROM_DATABASE=Mini Cam
-
-usb:v2770p9153*
- ID_PRODUCT_FROM_DATABASE=iClick 5X
-
-usb:v2770p915D*
- ID_PRODUCT_FROM_DATABASE=Cyberpix S-210S / Little Tikes My Real Digital Camera
-
-usb:v2770p930B*
- ID_PRODUCT_FROM_DATABASE=CCD Webcam(PC370R)
-
-usb:v2770p930C*
- ID_PRODUCT_FROM_DATABASE=CCD Webcam(PC370R)
-
-usb:v2821*
- ID_VENDOR_FROM_DATABASE=ASUSTek Computer Inc.
-
-usb:v2821p0161*
- ID_PRODUCT_FROM_DATABASE=WL-161 802.11b Wireless Adapter [SiS 162U]
-
-usb:v2821p160F*
- ID_PRODUCT_FROM_DATABASE=WL-160g 802.11g Wireless Adapter [Envara WiND512]
-
-usb:v2821p3300*
- ID_PRODUCT_FROM_DATABASE=WL-140 / Hawking HWU36D 802.11b Wireless Adapter [Intersil PRISM 3]
-
-usb:v2899*
- ID_VENDOR_FROM_DATABASE=Toptronic Industrial Co., Ltd
-
-usb:v2899p012C*
- ID_PRODUCT_FROM_DATABASE=Camera Device
-
-usb:v2C02*
- ID_VENDOR_FROM_DATABASE=Planex Communications
-
-usb:v2C02p14EA*
- ID_PRODUCT_FROM_DATABASE=GW-US11H WLAN
-
-usb:v2C1A*
- ID_VENDOR_FROM_DATABASE=Dolphin Peripherals
-
-usb:v2C1Ap0000*
- ID_PRODUCT_FROM_DATABASE=Wireless Optical Mouse
-
-usb:v2FB2*
- ID_VENDOR_FROM_DATABASE=Fujitsu, Ltd
-
-usb:v3125*
- ID_VENDOR_FROM_DATABASE=Eagletron
-
-usb:v3125p0001*
- ID_PRODUCT_FROM_DATABASE=TrackerPod Camera Stand
-
-usb:v3176*
- ID_VENDOR_FROM_DATABASE=Whanam Electronics Co., Ltd
-
-usb:v3275*
- ID_VENDOR_FROM_DATABASE=VidzMedia Pte Ltd
-
-usb:v3275p4FB1*
- ID_PRODUCT_FROM_DATABASE=MonsterTV P2H
-
-usb:v3334*
- ID_VENDOR_FROM_DATABASE=AEI
-
-usb:v3334p1701*
- ID_PRODUCT_FROM_DATABASE=Fast Ethernet
-
-usb:v3340*
- ID_VENDOR_FROM_DATABASE=Yakumo
-
-usb:v3340p043A*
- ID_PRODUCT_FROM_DATABASE=Mio A701 DigiWalker PPCPhone
-
-usb:v3340p0E3A*
- ID_PRODUCT_FROM_DATABASE=Pocket PC 300 GPS SL / Typhoon MyGuide 3500
-
-usb:v3340pA0A3*
- ID_PRODUCT_FROM_DATABASE=deltaX 5 BT (D) PDA
-
-usb:v3504*
- ID_VENDOR_FROM_DATABASE=Micro Star
-
-usb:v3504pF110*
- ID_PRODUCT_FROM_DATABASE=Security Key
-
-usb:v3538*
- ID_VENDOR_FROM_DATABASE=Power Quotient International Co., Ltd
-
-usb:v3538p0001*
- ID_PRODUCT_FROM_DATABASE=Travel Flash
-
-usb:v3538p0015*
- ID_PRODUCT_FROM_DATABASE=Mass Storge Device
-
-usb:v3538p0022*
- ID_PRODUCT_FROM_DATABASE=Hi-Speed Mass Storage Device
-
-usb:v3538p0042*
- ID_PRODUCT_FROM_DATABASE=Cool Drive U339 Flash Disk
-
-usb:v3538p0054*
- ID_PRODUCT_FROM_DATABASE=Flash Drive (2GB)
-
-usb:v3579*
- ID_VENDOR_FROM_DATABASE=DIVA
-
-usb:v3579p6901*
- ID_PRODUCT_FROM_DATABASE=Media Reader
-
-usb:v3636*
- ID_VENDOR_FROM_DATABASE=InVibro
-
-usb:v3838*
- ID_VENDOR_FROM_DATABASE=WEM
-
-usb:v3838p0001*
- ID_PRODUCT_FROM_DATABASE=5-in-1 Card Reader
-
-usb:v3923*
- ID_VENDOR_FROM_DATABASE=National Instruments Corp.
-
-usb:v3923p12C0*
- ID_PRODUCT_FROM_DATABASE=DAQPad-6020E
-
-usb:v3923p12D0*
- ID_PRODUCT_FROM_DATABASE=DAQPad-6507
-
-usb:v3923p12E0*
- ID_PRODUCT_FROM_DATABASE=NI 4350
-
-usb:v3923p12F0*
- ID_PRODUCT_FROM_DATABASE=NI 5102
-
-usb:v3923p1750*
- ID_PRODUCT_FROM_DATABASE=DAQPad-6508
-
-usb:v3923p17B0*
- ID_PRODUCT_FROM_DATABASE=USB-ISA-Bridge
-
-usb:v3923p1820*
- ID_PRODUCT_FROM_DATABASE=DAQPad-6020E (68 pin I/O)
-
-usb:v3923p1830*
- ID_PRODUCT_FROM_DATABASE=DAQPad-6020E (BNC)
-
-usb:v3923p1F00*
- ID_PRODUCT_FROM_DATABASE=DAQPad-6024E
-
-usb:v3923p1F10*
- ID_PRODUCT_FROM_DATABASE=DAQPad-6024E
-
-usb:v3923p1F20*
- ID_PRODUCT_FROM_DATABASE=DAQPad-6025E
-
-usb:v3923p1F30*
- ID_PRODUCT_FROM_DATABASE=DAQPad-6025E
-
-usb:v3923p1F40*
- ID_PRODUCT_FROM_DATABASE=DAQPad-6036E
-
-usb:v3923p1F50*
- ID_PRODUCT_FROM_DATABASE=DAQPad-6036E
-
-usb:v3923p2F80*
- ID_PRODUCT_FROM_DATABASE=DAQPad-6052E
-
-usb:v3923p2F90*
- ID_PRODUCT_FROM_DATABASE=DAQPad-6052E
-
-usb:v3923p702B*
- ID_PRODUCT_FROM_DATABASE=GPIB-USB-B
-
-usb:v3923p703C*
- ID_PRODUCT_FROM_DATABASE=USB-485 RS485 Cable
-
-usb:v3923p709B*
- ID_PRODUCT_FROM_DATABASE=GPIB-USB-HS
-
-usb:v3923p7254*
- ID_PRODUCT_FROM_DATABASE=NI MIO (data acquisition card) firmware updater
-
-usb:v3923p729E*
- ID_PRODUCT_FROM_DATABASE=USB-6251 (OEM) data acquisition card
-
-usb:v40BB*
- ID_VENDOR_FROM_DATABASE=I-O Data
-
-usb:v40BBp0A09*
- ID_PRODUCT_FROM_DATABASE=USB2.0-SCSI Bridge USB2-SC
-
-usb:v4101*
- ID_VENDOR_FROM_DATABASE=i-rocks
-
-usb:v4101p1301*
- ID_PRODUCT_FROM_DATABASE=IR-2510 usb phone
-
-usb:v4102*
- ID_VENDOR_FROM_DATABASE=iRiver, Ltd.
-
-usb:v4102p1001*
- ID_PRODUCT_FROM_DATABASE=iFP-100 series mp3 player
-
-usb:v4102p1003*
- ID_PRODUCT_FROM_DATABASE=iFP-300 series mp3 player
-
-usb:v4102p1005*
- ID_PRODUCT_FROM_DATABASE=iFP-500 series mp3 player
-
-usb:v4102p1007*
- ID_PRODUCT_FROM_DATABASE=iFP-700 series mp3/ogg vorbis player
-
-usb:v4102p1008*
- ID_PRODUCT_FROM_DATABASE=iFP-800 series mp3/ogg vorbis player
-
-usb:v4102p100A*
- ID_PRODUCT_FROM_DATABASE=iFP-1000 series mp3/ogg vorbis player
-
-usb:v4102p1014*
- ID_PRODUCT_FROM_DATABASE=T20 series mp3/ogg vorbis player (ums firmware)
-
-usb:v4102p1019*
- ID_PRODUCT_FROM_DATABASE=T30
-
-usb:v4102p1034*
- ID_PRODUCT_FROM_DATABASE=T60
-
-usb:v4102p1040*
- ID_PRODUCT_FROM_DATABASE=M1Player
-
-usb:v4102p1041*
- ID_PRODUCT_FROM_DATABASE=E100 (ums)
-
-usb:v4102p1101*
- ID_PRODUCT_FROM_DATABASE=iFP-100 series mp3 player (ums firmware)
-
-usb:v4102p1103*
- ID_PRODUCT_FROM_DATABASE=iFP-300 series mp3 player (ums firmware)
-
-usb:v4102p1105*
- ID_PRODUCT_FROM_DATABASE=iFP-500 series mp3 player (ums firmware)
-
-usb:v4102p1113*
- ID_PRODUCT_FROM_DATABASE=T10 (alternate)
-
-usb:v4102p1117*
- ID_PRODUCT_FROM_DATABASE=T10
-
-usb:v4102p1119*
- ID_PRODUCT_FROM_DATABASE=T30 series mp3/ogg/wma player
-
-usb:v4102p1141*
- ID_PRODUCT_FROM_DATABASE=E100 (mtp)
-
-usb:v4102p2002*
- ID_PRODUCT_FROM_DATABASE=H10 6GB
-
-usb:v4102p2101*
- ID_PRODUCT_FROM_DATABASE=H10 20GB (mtp)
-
-usb:v4102p2102*
- ID_PRODUCT_FROM_DATABASE=H10 5GB (mtp)
-
-usb:v4102p2105*
- ID_PRODUCT_FROM_DATABASE=H10 5/6GB (mtp)
-
-usb:v413C*
- ID_VENDOR_FROM_DATABASE=Dell Computer Corp.
-
-usb:v413Cp0000*
- ID_PRODUCT_FROM_DATABASE=DRAC 5 Virtual Keyboard and Mouse
-
-usb:v413Cp0001*
- ID_PRODUCT_FROM_DATABASE=DRAC 5 Virtual Media
-
-usb:v413Cp0058*
- ID_PRODUCT_FROM_DATABASE=Port Replicator
-
-usb:v413Cp1001*
- ID_PRODUCT_FROM_DATABASE=Keyboard Hub
-
-usb:v413Cp1002*
- ID_PRODUCT_FROM_DATABASE=Keyboard Hub
-
-usb:v413Cp1003*
- ID_PRODUCT_FROM_DATABASE=Keyboard Hub
-
-usb:v413Cp1005*
- ID_PRODUCT_FROM_DATABASE=Multimedia Pro Keyboard Hub
-
-usb:v413Cp2001*
- ID_PRODUCT_FROM_DATABASE=Keyboard HID Support
-
-usb:v413Cp2002*
- ID_PRODUCT_FROM_DATABASE=SK-8125 Keyboard
-
-usb:v413Cp2003*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v413Cp2005*
- ID_PRODUCT_FROM_DATABASE=RT7D50 Keyboard
-
-usb:v413Cp2010*
- ID_PRODUCT_FROM_DATABASE=Keyboard
-
-usb:v413Cp2011*
- ID_PRODUCT_FROM_DATABASE=Multimedia Pro Keyboard
-
-usb:v413Cp2100*
- ID_PRODUCT_FROM_DATABASE=SK-3106 Keyboard
-
-usb:v413Cp2101*
- ID_PRODUCT_FROM_DATABASE=SmartCard Reader Keyboard
-
-usb:v413Cp2105*
- ID_PRODUCT_FROM_DATABASE=Model L100 Keyboard
-
-usb:v413Cp2106*
- ID_PRODUCT_FROM_DATABASE=Dell QuietKey Keyboard
-
-usb:v413Cp2500*
- ID_PRODUCT_FROM_DATABASE=DRAC4 Remote Access Card
-
-usb:v413Cp2513*
- ID_PRODUCT_FROM_DATABASE=internal USB Hub of E-Port Replicator
-
-usb:v413Cp3010*
- ID_PRODUCT_FROM_DATABASE=Optical Wheel Mouse
-
-usb:v413Cp3012*
- ID_PRODUCT_FROM_DATABASE=Optical Wheel Mouse
-
-usb:v413Cp3016*
- ID_PRODUCT_FROM_DATABASE=Optical 5-Button Wheel Mouse
-
-usb:v413Cp3200*
- ID_PRODUCT_FROM_DATABASE=Mouse
-
-usb:v413Cp4001*
- ID_PRODUCT_FROM_DATABASE=Axim X5
-
-usb:v413Cp4002*
- ID_PRODUCT_FROM_DATABASE=Axim X3
-
-usb:v413Cp4003*
- ID_PRODUCT_FROM_DATABASE=Axim X30
-
-usb:v413Cp4004*
- ID_PRODUCT_FROM_DATABASE=Axim Sync
-
-usb:v413Cp4005*
- ID_PRODUCT_FROM_DATABASE=Axim Sync
-
-usb:v413Cp4006*
- ID_PRODUCT_FROM_DATABASE=Axim Sync
-
-usb:v413Cp4007*
- ID_PRODUCT_FROM_DATABASE=Axim Sync
-
-usb:v413Cp4008*
- ID_PRODUCT_FROM_DATABASE=Axim Sync
-
-usb:v413Cp4009*
- ID_PRODUCT_FROM_DATABASE=Axim Sync
-
-usb:v413Cp4011*
- ID_PRODUCT_FROM_DATABASE=Axim X51v
-
-usb:v413Cp5103*
- ID_PRODUCT_FROM_DATABASE=AIO Printer A940
-
-usb:v413Cp5105*
- ID_PRODUCT_FROM_DATABASE=AIO Printer A920
-
-usb:v413Cp5107*
- ID_PRODUCT_FROM_DATABASE=AIO Printer A960
-
-usb:v413Cp5109*
- ID_PRODUCT_FROM_DATABASE=Photo AIO Printer 922
-
-usb:v413Cp5110*
- ID_PRODUCT_FROM_DATABASE=Photo AIO Printer 962
-
-usb:v413Cp5111*
- ID_PRODUCT_FROM_DATABASE=Photo AIO Printer 942
-
-usb:v413Cp5112*
- ID_PRODUCT_FROM_DATABASE=Photo AIO Printer 924
-
-usb:v413Cp5113*
- ID_PRODUCT_FROM_DATABASE=Photo AIO Printer 944
-
-usb:v413Cp5114*
- ID_PRODUCT_FROM_DATABASE=Photo AIO Printer 964
-
-usb:v413Cp5115*
- ID_PRODUCT_FROM_DATABASE=Photo AIO Printer 926
-
-usb:v413Cp5116*
- ID_PRODUCT_FROM_DATABASE=AIO Printer 946
-
-usb:v413Cp5117*
- ID_PRODUCT_FROM_DATABASE=Photo AIO Printer 966
-
-usb:v413Cp5118*
- ID_PRODUCT_FROM_DATABASE=AIO 810
-
-usb:v413Cp5124*
- ID_PRODUCT_FROM_DATABASE=Laser MFP 1815
-
-usb:v413Cp5128*
- ID_PRODUCT_FROM_DATABASE=Photo AIO 928
-
-usb:v413Cp5200*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v413Cp5202*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v413Cp5203*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v413Cp5210*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v413Cp5211*
- ID_PRODUCT_FROM_DATABASE=1110 Laser Printer
-
-usb:v413Cp5220*
- ID_PRODUCT_FROM_DATABASE=Laser MFP 1600n
-
-usb:v413Cp5225*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v413Cp5226*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v413Cp5300*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v413Cp5400*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v413Cp5401*
- ID_PRODUCT_FROM_DATABASE=Laser Printer
-
-usb:v413Cp5513*
- ID_PRODUCT_FROM_DATABASE=WLA3310 Wireless Adapter [Intersil ISL3887]
-
-usb:v413Cp5601*
- ID_PRODUCT_FROM_DATABASE=Laser Printer 3100cn
-
-usb:v413Cp5602*
- ID_PRODUCT_FROM_DATABASE=Laser Printer 3000cn
-
-usb:v413Cp5631*
- ID_PRODUCT_FROM_DATABASE=Laser Printer 5100cn
-
-usb:v413Cp5905*
- ID_PRODUCT_FROM_DATABASE=Printing Support
-
-usb:v413Cp8000*
- ID_PRODUCT_FROM_DATABASE=BC02 Bluetooth Adapter
-
-usb:v413Cp8010*
- ID_PRODUCT_FROM_DATABASE=TrueMobile Bluetooth Module in
-
-usb:v413Cp8100*
- ID_PRODUCT_FROM_DATABASE=TrueMobile 1180 802.11b Adapter [Intersil PRISM 3]
-
-usb:v413Cp8102*
- ID_PRODUCT_FROM_DATABASE=TrueMobile 1300 802.11g Wireless Adapter [Intersil ISL3880]
-
-usb:v413Cp8103*
- ID_PRODUCT_FROM_DATABASE=Wireless 350 Bluetooth
-
-usb:v413Cp8104*
- ID_PRODUCT_FROM_DATABASE=Wireless 1450 Dual-band (802.11a/b/g) Adapter [Intersil ISL3887]
-
-usb:v413Cp8105*
- ID_PRODUCT_FROM_DATABASE=U2 in HID - Driver
-
-usb:v413Cp8106*
- ID_PRODUCT_FROM_DATABASE=Wireless 350 Bluetooth Internal Card in
-
-usb:v413Cp8110*
- ID_PRODUCT_FROM_DATABASE=Wireless 3xx Bluetooth Internal Card
-
-usb:v413Cp8111*
- ID_PRODUCT_FROM_DATABASE=Wireless 3xx Bluetooth Internal Card in
-
-usb:v413Cp8114*
- ID_PRODUCT_FROM_DATABASE=Wireless 5700 Mobile Broadband (CDMA EV-DO) Minicard Modem
-
-usb:v413Cp8115*
- ID_PRODUCT_FROM_DATABASE=Wireless 5500 Mobile Broadband (3G HSDPA) Minicard Modem
-
-usb:v413Cp8116*
- ID_PRODUCT_FROM_DATABASE=Wireless 5505 Mobile Broadband (3G HSDPA) Minicard Modem
-
-usb:v413Cp8117*
- ID_PRODUCT_FROM_DATABASE=Wireless 5700 Mobile Broadband (CDMA EV-DO) Expresscard Modem
-
-usb:v413Cp8118*
- ID_PRODUCT_FROM_DATABASE=Wireless 5510 Mobile Broadband (3G HSDPA) Expresscard Status Port
-
-usb:v413Cp8120*
- ID_PRODUCT_FROM_DATABASE=Bluetooth adapter
-
-usb:v413Cp8121*
- ID_PRODUCT_FROM_DATABASE=Eastfold in HID
-
-usb:v413Cp8122*
- ID_PRODUCT_FROM_DATABASE=Eastfold in DFU
-
-usb:v413Cp8123*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v413Cp8124*
- ID_PRODUCT_FROM_DATABASE=eHome Infrared Receiver
-
-usb:v413Cp8126*
- ID_PRODUCT_FROM_DATABASE=Wireless 355 Bluetooth
-
-usb:v413Cp8127*
- ID_PRODUCT_FROM_DATABASE=Wireless 355 Module with Bluetooth 2.0 + EDR Technology.
-
-usb:v413Cp8128*
- ID_PRODUCT_FROM_DATABASE=Wireless 5700-Sprint Mobile Broadband (CDMA EV-DO) Mini-Card Status Port
-
-usb:v413Cp8129*
- ID_PRODUCT_FROM_DATABASE=Wireless 5700-Telus Mobile Broadband (CDMA EV-DO) Mini-Card Status Port
-
-usb:v413Cp8131*
- ID_PRODUCT_FROM_DATABASE=Wireless 360 Bluetooth 2.0 + EDR module.
-
-usb:v413Cp8133*
- ID_PRODUCT_FROM_DATABASE=Wireless 5720 VZW Mobile Broadband (EVDO Rev-A) Minicard GPS Port
-
-usb:v413Cp8134*
- ID_PRODUCT_FROM_DATABASE=Wireless 5720 Sprint Mobile Broadband (EVDO Rev-A) Minicard Status Port
-
-usb:v413Cp8135*
- ID_PRODUCT_FROM_DATABASE=Wireless 5720 TELUS Mobile Broadband (EVDO Rev-A) Minicard Diagnostics Port
-
-usb:v413Cp8136*
- ID_PRODUCT_FROM_DATABASE=Wireless 5520 Cingular Mobile Broadband (3G HSDPA) Minicard Diagnostics Port
-
-usb:v413Cp8137*
- ID_PRODUCT_FROM_DATABASE=Wireless 5520 Voda L Mobile Broadband (3G HSDPA) Minicard Status Port
-
-usb:v413Cp8138*
- ID_PRODUCT_FROM_DATABASE=Wireless 5520 Voda I Mobile Broadband (3G HSDPA) Minicard EAP-SIM Port
-
-usb:v413Cp8140*
- ID_PRODUCT_FROM_DATABASE=Wireless 360 Bluetooth
-
-usb:v413Cp8142*
- ID_PRODUCT_FROM_DATABASE=Mobile 360 in DFU
-
-usb:v413Cp8147*
- ID_PRODUCT_FROM_DATABASE=F3507g Mobile Broadband Module
-
-usb:v413Cp8156*
- ID_PRODUCT_FROM_DATABASE=Wireless 370 Bluetooth Mini-card
-
-usb:v413Cp8157*
- ID_PRODUCT_FROM_DATABASE=Integrated Keyboard
-
-usb:v413Cp8158*
- ID_PRODUCT_FROM_DATABASE=Integrated Touchpad / Trackstick
-
-usb:v413Cp8160*
- ID_PRODUCT_FROM_DATABASE=Wireless 365 Bluetooth
-
-usb:v413Cp8161*
- ID_PRODUCT_FROM_DATABASE=Integrated Keyboard
-
-usb:v413Cp8162*
- ID_PRODUCT_FROM_DATABASE=Integrated Touchpad [Synaptics]
-
-usb:v413Cp8171*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
-
-usb:v413Cp8172*
- ID_PRODUCT_FROM_DATABASE=Gobi Wireless Modem
-
-usb:v413Cp8183*
- ID_PRODUCT_FROM_DATABASE=F3607gw Mobile Broadband Module
-
-usb:v413Cp8184*
- ID_PRODUCT_FROM_DATABASE=F3607gw v2 Mobile Broadband Module
-
-usb:v413Cp8185*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem (QDL mode)
-
-usb:v413Cp8186*
- ID_PRODUCT_FROM_DATABASE=Gobi 2000 Wireless Modem
-
-usb:v413Cp8187*
- ID_PRODUCT_FROM_DATABASE=DW375 Bluetooth Module
-
-usb:v413Cp8501*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Adapter
-
-usb:v413Cp9500*
- ID_PRODUCT_FROM_DATABASE=USB CP210x UART Bridge Controller [DW700]
-
-usb:v413CpA001*
- ID_PRODUCT_FROM_DATABASE=Hub
-
-usb:v413CpA005*
- ID_PRODUCT_FROM_DATABASE=Internal 2.0 Hub
-
-usb:v413CpA700*
- ID_PRODUCT_FROM_DATABASE=Hub (in 1905FP LCD Monitor)
-
-usb:v4146*
- ID_VENDOR_FROM_DATABASE=USBest Technology
-
-usb:v4146p9281*
- ID_PRODUCT_FROM_DATABASE=Iomega Micro Mini 128MB Flash Drive
-
-usb:v4146pBA01*
- ID_PRODUCT_FROM_DATABASE=Intuix Flash Drive
-
-usb:v4242*
- ID_VENDOR_FROM_DATABASE=USB Design by Example
-
-usb:v4242p4201*
- ID_PRODUCT_FROM_DATABASE=Buttons and Lights HID device
-
-usb:v4242p4220*
- ID_PRODUCT_FROM_DATABASE=Echo 1 Camera
-
-usb:v4317*
- ID_VENDOR_FROM_DATABASE=Broadcom Corp.
-
-usb:v4317p0700*
- ID_PRODUCT_FROM_DATABASE=U.S. Robotics USR5426 802.11g Adapter
-
-usb:v4317p0701*
- ID_PRODUCT_FROM_DATABASE=U.S. Robotics USR5425 Wireless MAXg Adapter
-
-usb:v4317p0711*
- ID_PRODUCT_FROM_DATABASE=Belkin F5D7051 v3000 802.11g
-
-usb:v4317p0720*
- ID_PRODUCT_FROM_DATABASE=Dynex DX-BUSB
-
-usb:v4348*
- ID_VENDOR_FROM_DATABASE=WinChipHead
-
-usb:v4348p5523*
- ID_PRODUCT_FROM_DATABASE=USB->RS 232 adapter with Prolifec PL 2303 chipset
-
-usb:v4348p5537*
- ID_PRODUCT_FROM_DATABASE=13.56Mhz RFID Card Reader and Writer
-
-usb:v4348p5584*
- ID_PRODUCT_FROM_DATABASE=CH34x printer adapter cable
-
-usb:v4572*
- ID_VENDOR_FROM_DATABASE=Shuttle, Inc.
-
-usb:v4572p4572*
- ID_PRODUCT_FROM_DATABASE=Shuttle PN31 Remote
-
-usb:v4586*
- ID_VENDOR_FROM_DATABASE=Panram
-
-usb:v4586p1026*
- ID_PRODUCT_FROM_DATABASE=Crystal Bar Flash Drive
-
-usb:v4670*
- ID_VENDOR_FROM_DATABASE=EMS Production
-
-usb:v4670p9394*
- ID_PRODUCT_FROM_DATABASE=Game Cube USB Memory Adaptor 64M
-
-usb:v4752*
- ID_VENDOR_FROM_DATABASE=Miditech
-
-usb:v4752p0011*
- ID_PRODUCT_FROM_DATABASE=Midistart-2
-
-usb:v4757*
- ID_VENDOR_FROM_DATABASE=GW Instek
-
-usb:v4757p2009*
- ID_PRODUCT_FROM_DATABASE=PEL-2000 Series Electronic Load (CDC)
-
-usb:v4757p2010*
- ID_PRODUCT_FROM_DATABASE=PEL-2000 Series Electronic Load (CDC)
-
-usb:v4766*
- ID_VENDOR_FROM_DATABASE=Aceeca
-
-usb:v4766p0001*
- ID_PRODUCT_FROM_DATABASE=MEZ1000 RDA
-
-usb:v4855*
- ID_VENDOR_FROM_DATABASE=Memorex
-
-usb:v4855p7288*
- ID_PRODUCT_FROM_DATABASE=Ultra Traveldrive 160G 2.5" HDD
-
-usb:v4971*
- ID_VENDOR_FROM_DATABASE=SimpleTech
-
-usb:v4971pCB01*
- ID_PRODUCT_FROM_DATABASE=SP-U25/120G
-
-usb:v4971pCE17*
- ID_PRODUCT_FROM_DATABASE=1TB SimpleDrive II USB External Hard Drive
-
-usb:v4D46*
- ID_VENDOR_FROM_DATABASE=Musical Fidelity
-
-usb:v4D46p0001*
- ID_PRODUCT_FROM_DATABASE=V-Link
-
-usb:v4D46p0002*
- ID_PRODUCT_FROM_DATABASE=V-DAC II
-
-usb:v5032*
- ID_VENDOR_FROM_DATABASE=Grandtec
-
-usb:v5032p0BB8*
- ID_PRODUCT_FROM_DATABASE=Grandtec USB1.1 DVB-T (cold)
-
-usb:v5032p0BB9*
- ID_PRODUCT_FROM_DATABASE=Grandtec USB1.1 DVB-T (warm)
-
-usb:v5032p0FA0*
- ID_PRODUCT_FROM_DATABASE=Grandtec USB1.1 DVB-T (cold)
-
-usb:v5032p0FA1*
- ID_PRODUCT_FROM_DATABASE=Grandtec USB1.1 DVB-T (warm)
-
-usb:v5041*
- ID_VENDOR_FROM_DATABASE=Linksys (?)
-
-usb:v5041p2234*
- ID_PRODUCT_FROM_DATABASE=WUSB54G v1 802.11g Adapter [Intersil ISL3886]
-
-usb:v5041p2235*
- ID_PRODUCT_FROM_DATABASE=WUSB54GP v1 802.11g Adapter [Intersil ISL3886]
-
-usb:v50C2*
- ID_VENDOR_FROM_DATABASE=Averatec (?)
-
-usb:v50C2p4013*
- ID_PRODUCT_FROM_DATABASE=WLAN Adapter
-
-usb:v5173*
- ID_VENDOR_FROM_DATABASE=Sweex
-
-usb:v5173p1809*
- ID_PRODUCT_FROM_DATABASE=ZD1211
-
-usb:v5219*
- ID_VENDOR_FROM_DATABASE=I-Tetra
-
-usb:v5219p1001*
- ID_PRODUCT_FROM_DATABASE=Cetus CDC Device
-
-usb:v5345*
- ID_VENDOR_FROM_DATABASE=Owon
-
-usb:v5345p1234*
- ID_PRODUCT_FROM_DATABASE=PDS6062T Oscilloscope
-
-usb:v544D*
- ID_VENDOR_FROM_DATABASE=Transmeta Corp.
-
-usb:v5543*
- ID_VENDOR_FROM_DATABASE=UC-Logic Technology Corp.
-
-usb:v5543p0002*
- ID_PRODUCT_FROM_DATABASE=SuperPen WP3325U Tablet
-
-usb:v5543p0003*
- ID_PRODUCT_FROM_DATABASE=Tablet WP4030U
-
-usb:v5543p0004*
- ID_PRODUCT_FROM_DATABASE=Tablet WP5540U
-
-usb:v5543p0005*
- ID_PRODUCT_FROM_DATABASE=Tablet WP8060U
-
-usb:v5543p0041*
- ID_PRODUCT_FROM_DATABASE=Genius PenSketch 6x8 Tablet
-
-usb:v5543p0042*
- ID_PRODUCT_FROM_DATABASE=Tablet PF1209
-
-usb:v5543p0064*
- ID_PRODUCT_FROM_DATABASE=Aiptek HyperPen 10000U
-
-usb:v5555*
- ID_VENDOR_FROM_DATABASE=Epiphan Systems Inc.
-
-usb:v5555p1110*
- ID_PRODUCT_FROM_DATABASE=VGA2USB
-
-usb:v5555p1120*
- ID_PRODUCT_FROM_DATABASE=KVM2USB
-
-usb:v5555p2222*
- ID_PRODUCT_FROM_DATABASE=DVI2USB
-
-usb:v5555p3333*
- ID_PRODUCT_FROM_DATABASE=VGA2USB Pro
-
-usb:v5555p3337*
- ID_PRODUCT_FROM_DATABASE=KVM2USB Pro
-
-usb:v5555p3340*
- ID_PRODUCT_FROM_DATABASE=VGA2USB LR
-
-usb:v5555p3344*
- ID_PRODUCT_FROM_DATABASE=KVM2USB LR
-
-usb:v5555p3411*
- ID_PRODUCT_FROM_DATABASE=DVI2USB Solo
-
-usb:v5555p3422*
- ID_PRODUCT_FROM_DATABASE=DVI2USB Duo
-
-usb:v55AA*
- ID_VENDOR_FROM_DATABASE=OnSpec Electronic, Inc.
-
-usb:v55AAp0015*
- ID_PRODUCT_FROM_DATABASE=Hard Drive
-
-usb:v55AAp0102*
- ID_PRODUCT_FROM_DATABASE=SuperDisk
-
-usb:v55AAp0103*
- ID_PRODUCT_FROM_DATABASE=IDE Hard Drive
-
-usb:v55AAp0201*
- ID_PRODUCT_FROM_DATABASE=DDI to Reader-19
-
-usb:v55AAp1234*
- ID_PRODUCT_FROM_DATABASE=ATAPI Bridge
-
-usb:v55AApA103*
- ID_PRODUCT_FROM_DATABASE=Sandisk SDDR-55 SmartMedia Card Reader
-
-usb:v55AApB000*
- ID_PRODUCT_FROM_DATABASE=USB to CompactFlash Card Reader
-
-usb:v55AApB004*
- ID_PRODUCT_FROM_DATABASE=OnSpec MMC/SD Reader/Writer
-
-usb:v55AApB00B*
- ID_PRODUCT_FROM_DATABASE=USB to Memory Stick Card Reader
-
-usb:v55AApB00C*
- ID_PRODUCT_FROM_DATABASE=USB to SmartMedia Card Reader
-
-usb:v55AApB012*
- ID_PRODUCT_FROM_DATABASE=Mitsumi FA402M 8-in-2 Card Reader
-
-usb:v55AApB200*
- ID_PRODUCT_FROM_DATABASE=Compact Flash Reader
-
-usb:v55AApB204*
- ID_PRODUCT_FROM_DATABASE=MMC/ SD Reader
-
-usb:v55AApB207*
- ID_PRODUCT_FROM_DATABASE=Memory Stick Reader
-
-usb:v5656*
- ID_VENDOR_FROM_DATABASE=Uni-Trend Group Limited
-
-usb:v5656p0832*
- ID_PRODUCT_FROM_DATABASE=UT2000/UT3000 Digital Storage Oscilloscope
-
-usb:v595A*
- ID_VENDOR_FROM_DATABASE=IRTOUCHSYSTEMS Co. Ltd.
-
-usb:v595Ap0001*
- ID_PRODUCT_FROM_DATABASE=Touchscreen
-
-usb:v5986*
- ID_VENDOR_FROM_DATABASE=Acer, Inc
-
-usb:v5986p0100*
- ID_PRODUCT_FROM_DATABASE=Orbicam
-
-usb:v5986p0101*
- ID_PRODUCT_FROM_DATABASE=USB2.0 Camera
-
-usb:v5986p0102*
- ID_PRODUCT_FROM_DATABASE=Crystal Eye Webcam
-
-usb:v5986p01A6*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Webcam
-
-usb:v5986p01A7*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Webcam
-
-usb:v5986p01A9*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Webcam
-
-usb:v5986p0200*
- ID_PRODUCT_FROM_DATABASE=OrbiCam
-
-usb:v5986p0203*
- ID_PRODUCT_FROM_DATABASE=BisonCam NB Pro 1300
-
-usb:v5986p0241*
- ID_PRODUCT_FROM_DATABASE=BisonCam, NB Pro
-
-usb:v5986p02D0*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Webcam [R5U877]
-
-usb:v5986p03D0*
- ID_PRODUCT_FROM_DATABASE=Lenovo Integrated Webcam [R5U877]
-
-usb:v5A57*
- ID_VENDOR_FROM_DATABASE=Zinwell
-
-usb:v5A57p0260*
- ID_PRODUCT_FROM_DATABASE=RT2570
-
-usb:v5A57p0280*
- ID_PRODUCT_FROM_DATABASE=802.11a/b/g/n USB Wireless LAN Card
-
-usb:v5A57p0282*
- ID_PRODUCT_FROM_DATABASE=802.11b/g/n USB Wireless LAN Card
-
-usb:v5A57p0283*
- ID_PRODUCT_FROM_DATABASE=802.11b/g/n USB Wireless LAN Card
-
-usb:v5A57p0284*
- ID_PRODUCT_FROM_DATABASE=802.11a/b/g/n USB Wireless LAN Card
-
-usb:v5A57p0290*
- ID_PRODUCT_FROM_DATABASE=ZW-N290 802.11n [Realtek RTL8192SU]
-
-usb:v5A57p5257*
- ID_PRODUCT_FROM_DATABASE=Metronic 495257 wifi 802.11ng
-
-usb:v6000*
- ID_VENDOR_FROM_DATABASE=Beholder International Ltd.
-
-usb:v6000pDEC0*
- ID_PRODUCT_FROM_DATABASE=TV Wander
-
-usb:v6000pDEC1*
- ID_PRODUCT_FROM_DATABASE=TV Voyage
-
-usb:v601A*
- ID_VENDOR_FROM_DATABASE=Ingenic Semiconductor Ltd.
-
-usb:v601Ap4740*
- ID_PRODUCT_FROM_DATABASE=XBurst Jz4740 boot mode
-
-usb:v6189*
- ID_VENDOR_FROM_DATABASE=Sitecom
-
-usb:v6189p182D*
- ID_PRODUCT_FROM_DATABASE=USB 2.0 Ethernet
-
-usb:v6189p2068*
- ID_PRODUCT_FROM_DATABASE=USB to serial cable (v2)
-
-usb:v6253*
- ID_VENDOR_FROM_DATABASE=TwinHan Technology Co., Ltd
-
-usb:v6253p0100*
- ID_PRODUCT_FROM_DATABASE=Ir reciver f. remote control
-
-usb:v636C*
- ID_VENDOR_FROM_DATABASE=CoreLogic, Inc.
-
-usb:v6472*
- ID_VENDOR_FROM_DATABASE=Unknown (Sony?)
-
-usb:v6472p01C8*
- ID_PRODUCT_FROM_DATABASE=PlayStation Portable [Mass Storage]
-
-usb:v6547*
- ID_VENDOR_FROM_DATABASE=Arkmicro Technologies Inc.
-
-usb:v6547p0232*
- ID_PRODUCT_FROM_DATABASE=ARK3116 Serial
-
-usb:v6615*
- ID_VENDOR_FROM_DATABASE=IRTOUCHSYSTEMS Co. Ltd.
-
-usb:v6615p0001*
- ID_PRODUCT_FROM_DATABASE=Touchscreen
-
-usb:v6666*
- ID_VENDOR_FROM_DATABASE=Prototype product Vendor ID
-
-usb:v6666p0667*
- ID_PRODUCT_FROM_DATABASE=WiseGroup Smart Joy PSX, PS-PC Smart JoyPad
-
-usb:v6666p2667*
- ID_PRODUCT_FROM_DATABASE=JCOP BlueZ Smartcard reader
-
-usb:v6666p8802*
- ID_PRODUCT_FROM_DATABASE=SmartJoy Dual Plus PS2 converter
-
-usb:v6666p8804*
- ID_PRODUCT_FROM_DATABASE=WiseGroup SuperJoy Box 5
-
-usb:v6677*
- ID_VENDOR_FROM_DATABASE=WiseGroup, Ltd.
-
-usb:v6677p8802*
- ID_PRODUCT_FROM_DATABASE=SmartJoy Dual Plus PS2 converter
-
-usb:v6677p8811*
- ID_PRODUCT_FROM_DATABASE=Deluxe Dance Mat
-
-usb:v6891*
- ID_VENDOR_FROM_DATABASE=3Com
-
-usb:v6891pA727*
- ID_PRODUCT_FROM_DATABASE=3CRUSB10075 802.11bg [ZyDAS ZD1211]
-
-usb:v695C*
- ID_VENDOR_FROM_DATABASE=Opera1
-
-usb:v695Cp3829*
- ID_PRODUCT_FROM_DATABASE=Opera1 DVB-S (warm state)
-
-usb:v6993*
- ID_VENDOR_FROM_DATABASE=Yealink Network Technology Co., Ltd.
-
-usb:v6993pB001*
- ID_PRODUCT_FROM_DATABASE=VoIP Phone
-
-usb:v6A75*
- ID_VENDOR_FROM_DATABASE=Shanghai Jujo Electronics Co., Ltd
-
-usb:v7104*
- ID_VENDOR_FROM_DATABASE=CME (Central Music Co.)
-
-usb:v7104p2202*
- ID_PRODUCT_FROM_DATABASE=UF5/UF6/UF7/UF8 MIDI Master Keyboard
-
-usb:v726C*
- ID_VENDOR_FROM_DATABASE=StackFoundry LLC
-
-usb:v726Cp2149*
- ID_PRODUCT_FROM_DATABASE=EntropyKing Random Number Generator
-
-usb:v734C*
- ID_VENDOR_FROM_DATABASE=TBS Technologies China
-
-usb:v734Cp5920*
- ID_PRODUCT_FROM_DATABASE=Q-Box II DVB-S2 HD
-
-usb:v734Cp5928*
- ID_PRODUCT_FROM_DATABASE=Q-Box II DVB-S2 HD
-
-usb:v7392*
- ID_VENDOR_FROM_DATABASE=Edimax Technology Co., Ltd
-
-usb:v7392p7711*
- ID_PRODUCT_FROM_DATABASE=EW-7711UTn nLite Wireless Adapter [Ralink RT2870]
-
-usb:v7392p7717*
- ID_PRODUCT_FROM_DATABASE=EW-7717UN 802.11n Wireless Adapter [Ralink RT2870]
-
-usb:v7392p7718*
- ID_PRODUCT_FROM_DATABASE=EW-7718UN 802.11n Wireless Adapter [Ralink RT2870]
-
-usb:v7392p7722*
- ID_PRODUCT_FROM_DATABASE=EW-7722UTn 802.11n Wireless Adapter [Ralink RT307x]
-
-usb:v7392p7811*
- ID_PRODUCT_FROM_DATABASE=EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
-
-usb:v8086*
- ID_VENDOR_FROM_DATABASE=Intel Corp.
-
-usb:v8086p0001*
- ID_PRODUCT_FROM_DATABASE=AnyPoint (TM) Home Network 1.6 Mbps Wireless Adapter
-
-usb:v8086p0044*
- ID_PRODUCT_FROM_DATABASE=CPU DRAM Controller
-
-usb:v8086p0046*
- ID_PRODUCT_FROM_DATABASE=HD Graphics
-
-usb:v8086p0100*
- ID_PRODUCT_FROM_DATABASE=Personal Audio Player 3000
-
-usb:v8086p0101*
- ID_PRODUCT_FROM_DATABASE=Personal Audio Player 3000
-
-usb:v8086p0110*
- ID_PRODUCT_FROM_DATABASE=Easy PC Camera
-
-usb:v8086p0120*
- ID_PRODUCT_FROM_DATABASE=PC Camera CS120
-
-usb:v8086p0180*
- ID_PRODUCT_FROM_DATABASE=WiMAX Connection 2400m
-
-usb:v8086p0181*
- ID_PRODUCT_FROM_DATABASE=WiMAX Connection 2400m
-
-usb:v8086p0182*
- ID_PRODUCT_FROM_DATABASE=WiMAX Connection 2400m
-
-usb:v8086p0186*
- ID_PRODUCT_FROM_DATABASE=WiMAX Connection 2400m
-
-usb:v8086p0188*
- ID_PRODUCT_FROM_DATABASE=WiMAX Connection 2400m
-
-usb:v8086p0200*
- ID_PRODUCT_FROM_DATABASE=AnyPoint(TM) Wireless II Network 11Mbps Adapter [Atmel AT76C503A]
-
-usb:v8086p0431*
- ID_PRODUCT_FROM_DATABASE=Intel Pro Video PC Camera
-
-usb:v8086p0510*
- ID_PRODUCT_FROM_DATABASE=Digital Movie Creator
-
-usb:v8086p0630*
- ID_PRODUCT_FROM_DATABASE=Pocket PC Camera
-
-usb:v8086p0780*
- ID_PRODUCT_FROM_DATABASE=CS780 Microphone Input
-
-usb:v8086p07D3*
- ID_PRODUCT_FROM_DATABASE=BLOB boot loader firmware
-
-usb:v8086p0DAD*
- ID_PRODUCT_FROM_DATABASE=Cherry MiniatureCard Keyboard
-
-usb:v8086p1010*
- ID_PRODUCT_FROM_DATABASE=AnyPoint(TM) Home Network 10 Mbps Phoneline Adapter
-
-usb:v8086p110A*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Controller from (Ericsson P4A)
-
-usb:v8086p110B*
- ID_PRODUCT_FROM_DATABASE=Bluetooth Controller from (Intel/CSR)
-
-usb:v8086p1110*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless LAN Module
-
-usb:v8086p1111*
- ID_PRODUCT_FROM_DATABASE=PRO/Wireless 2011B 802.11b Adapter [Intersil PRISM 2.5]
-
-usb:v8086p1134*
- ID_PRODUCT_FROM_DATABASE=Hollister Mobile Monitor
-
-usb:v8086p1139*
- ID_PRODUCT_FROM_DATABASE=In-Target Probe (ITP)
-
-usb:v8086p1234*
- ID_PRODUCT_FROM_DATABASE=Prototype Reader/Writer
-
-usb:v8086p1403*
- ID_PRODUCT_FROM_DATABASE=WiMAX Connection 2400m
-
-usb:v8086p1405*
- ID_PRODUCT_FROM_DATABASE=WiMAX Connection 2400m
-
-usb:v8086p1406*
- ID_PRODUCT_FROM_DATABASE=WiMAX Connection 2400m
-
-usb:v8086p2448*
- ID_PRODUCT_FROM_DATABASE=82801 PCI Bridge
-
-usb:v8086p3100*
- ID_PRODUCT_FROM_DATABASE=PRO/DSL 3220 Modem - WAN
-
-usb:v8086p3101*
- ID_PRODUCT_FROM_DATABASE=PRO/DSL 3220 Modem
-
-usb:v8086p3240*
- ID_PRODUCT_FROM_DATABASE=AnyPoint® 3240 Modem - WAN
-
-usb:v8086p3241*
- ID_PRODUCT_FROM_DATABASE=AnyPoint® 3240 Modem
-
-usb:v8086p8602*
- ID_PRODUCT_FROM_DATABASE=Miniature Card Slot
-
-usb:v8086p9303*
- ID_PRODUCT_FROM_DATABASE=Intel 8x930Hx Hub
-
-usb:v8086p9500*
- ID_PRODUCT_FROM_DATABASE=CE 9500 DVB-T
-
-usb:v8086p9890*
- ID_PRODUCT_FROM_DATABASE=82930 Test Board
-
-usb:v8086pBEEF*
- ID_PRODUCT_FROM_DATABASE=SCM Miniature Card Reader/Writer
-
-usb:v8086pC013*
- ID_PRODUCT_FROM_DATABASE=Wireless HID Station
-
-usb:v8086pF001*
- ID_PRODUCT_FROM_DATABASE=XScale PXA27x Bulverde flash
-
-usb:v8086pF1A5*
- ID_PRODUCT_FROM_DATABASE=Z-U130 [Value Solid State Drive]
-
-usb:v8087*
- ID_VENDOR_FROM_DATABASE=Intel Corp.
-
-usb:v8087p0020*
- ID_PRODUCT_FROM_DATABASE=Integrated Rate Matching Hub
-
-usb:v8087p0024*
- ID_PRODUCT_FROM_DATABASE=Integrated Rate Matching Hub
-
-usb:v80EE*
- ID_VENDOR_FROM_DATABASE=VirtualBox
-
-usb:v80EEp0021*
- ID_PRODUCT_FROM_DATABASE=USB Tablet
-
-usb:v8282*
- ID_VENDOR_FROM_DATABASE=Keio
-
-usb:v8282p3201*
- ID_PRODUCT_FROM_DATABASE=Retro Adapter
-
-usb:v8282p3301*
- ID_PRODUCT_FROM_DATABASE=Retro Adapter Mouse
-
-usb:v8341*
- ID_VENDOR_FROM_DATABASE=EGO Systems, Inc.
-
-usb:v8341p2000*
- ID_PRODUCT_FROM_DATABASE=Flashdisk
-
-usb:v9016*
- ID_VENDOR_FROM_DATABASE=Sitecom
-
-usb:v9016p182D*
- ID_PRODUCT_FROM_DATABASE=WL-022 802.11b Adapter
-
-usb:v9022*
- ID_VENDOR_FROM_DATABASE=TeVii Technology Ltd.
-
-usb:v9022pD630*
- ID_PRODUCT_FROM_DATABASE=DVB-S S630
-
-usb:v9022pD650*
- ID_PRODUCT_FROM_DATABASE=DVB-S2 S650
-
-usb:v9022pD660*
- ID_PRODUCT_FROM_DATABASE=DVB-S2 S660
-
-usb:v9148*
- ID_VENDOR_FROM_DATABASE=GeoLab, Ltd
-
-usb:v9148p0004*
- ID_PRODUCT_FROM_DATABASE=R3 Compatible Device
-
-usb:v9710*
- ID_VENDOR_FROM_DATABASE=MosChip Semiconductor
-
-usb:v9710p7703*
- ID_PRODUCT_FROM_DATABASE=MCS7703 Serial Port Adapter
-
-usb:v9710p7705*
- ID_PRODUCT_FROM_DATABASE=MCS7705 Parallel port adapter
-
-usb:v9710p7715*
- ID_PRODUCT_FROM_DATABASE=MCS7715 Parallel and serial port adapter
-
-usb:v9710p7717*
- ID_PRODUCT_FROM_DATABASE=MCS7717 3-port hub with serial and parallel adapter
-
-usb:v9710p7720*
- ID_PRODUCT_FROM_DATABASE=MCS7720 Dual serial port adapter
-
-usb:v9710p7730*
- ID_PRODUCT_FROM_DATABASE=MCS7730 10/100 Mbps Ethernet adapter
-
-usb:v9710p7780*
- ID_PRODUCT_FROM_DATABASE=MCS7780 4Mbps Fast IrDA Adapter
-
-usb:v9710p7830*
- ID_PRODUCT_FROM_DATABASE=MCS7830 10/100 Mbps Ethernet adapter
-
-usb:v9710p7832*
- ID_PRODUCT_FROM_DATABASE=MCS7832 10/100 Mbps Ethernet adapter
-
-usb:v9710p7840*
- ID_PRODUCT_FROM_DATABASE=MCS7820/MCS7840 2/4 port serial adapter
-
-usb:v99FA*
- ID_VENDOR_FROM_DATABASE=Grandtec
-
-usb:v99FAp8988*
- ID_PRODUCT_FROM_DATABASE=V.cap Camera Device
-
-usb:v9AC4*
- ID_VENDOR_FROM_DATABASE=J. Westhues
-
-usb:v9AC4p4B8F*
- ID_PRODUCT_FROM_DATABASE=ProxMark-3 RFID Instrument
-
-usb:vA128*
- ID_VENDOR_FROM_DATABASE=AnMo Electronics Corp. / Dino-Lite (?)
-
-usb:vA128p0610*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + HV7131R)
-
-usb:vA128p0611*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + HV7131R)
-
-usb:vA128p0612*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C120 + HV7131R)
-
-usb:vA128p0613*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + HV7131R)
-
-usb:vA128p0614*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)
-
-usb:vA128p0615*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)
-
-usb:vA128p0616*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C120 + HV7131R)
-
-usb:vA128p0617*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)
-
-usb:vA128p0618*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + HV7131R)
-
-usb:vA168*
- ID_VENDOR_FROM_DATABASE=AnMo Electronics Corporation
-
-usb:vA168p0610*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Digital Microscope
-
-usb:vA168p0611*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Digital Microscope
-
-usb:vA168p0613*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Digital Microscope
-
-usb:vA168p0614*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Pro Digital Microscope
-
-usb:vA168p0615*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Pro Digital Microscope
-
-usb:vA168p0617*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Pro Digital Microscope
-
-usb:vA168p0618*
- ID_PRODUCT_FROM_DATABASE=Dino-Lite Digital Microscope
-
-usb:vA600*
- ID_VENDOR_FROM_DATABASE=Asix
-
-usb:vA600pE110*
- ID_PRODUCT_FROM_DATABASE=OK1ZIA Davac 4.x
-
-usb:vA727*
- ID_VENDOR_FROM_DATABASE=3Com
-
-usb:vA727p6893*
- ID_PRODUCT_FROM_DATABASE=3CRUSB20075 OfficeConnect Wireless 108Mbps 11g Adapter [Atheros AR5523]
-
-usb:vA727p6895*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:vA727p6897*
- ID_PRODUCT_FROM_DATABASE=AR5523
-
-usb:vABCD*
- ID_VENDOR_FROM_DATABASE=Unknown
-
-usb:vABCDpCDEE*
- ID_PRODUCT_FROM_DATABASE=Petcam
-
-usb:vC251*
- ID_VENDOR_FROM_DATABASE=Keil Software, Inc.
-
-usb:vC251p2710*
- ID_PRODUCT_FROM_DATABASE=ULink
-
-usb:vCACE*
- ID_VENDOR_FROM_DATABASE=CACE Technologies Inc.
-
-usb:vCACEp0002*
- ID_PRODUCT_FROM_DATABASE=AirPCAP Classic 802.11 packet capture adapter
-
-usb:vCACEp0300*
- ID_PRODUCT_FROM_DATABASE=AirPcap NX [Atheros AR9001U-(2)NG]
-
-usb:vD209*
- ID_VENDOR_FROM_DATABASE=Ultimarc
-
-usb:vD209p0301*
- ID_PRODUCT_FROM_DATABASE=I-PAC Arcade Control Interface
-
-usb:vD209p0501*
- ID_PRODUCT_FROM_DATABASE=Ultra-Stik Ultimarc Ultra-Stik Player 1
-
-usb:vE4E4*
- ID_VENDOR_FROM_DATABASE=Xorcom Ltd.
-
-usb:vE4E4p1130*
- ID_PRODUCT_FROM_DATABASE=Astribank series
-
-usb:vE4E4p1131*
- ID_PRODUCT_FROM_DATABASE=Astribank series
-
-usb:vE4E4p1132*
- ID_PRODUCT_FROM_DATABASE=Astribank series
-
-usb:vE4E4p1140*
- ID_PRODUCT_FROM_DATABASE=Astribank series
-
-usb:vE4E4p1141*
- ID_PRODUCT_FROM_DATABASE=Astribank series
-
-usb:vE4E4p1142*
- ID_PRODUCT_FROM_DATABASE=Astribank series
-
-usb:vE4E4p1150*
- ID_PRODUCT_FROM_DATABASE=Astribank series
-
-usb:vE4E4p1151*
- ID_PRODUCT_FROM_DATABASE=Astribank series
-
-usb:vE4E4p1152*
- ID_PRODUCT_FROM_DATABASE=Astribank series
-
-usb:vE4E4p1160*
- ID_PRODUCT_FROM_DATABASE=Astribank 2 series
-
-usb:vE4E4p1161*
- ID_PRODUCT_FROM_DATABASE=Astribank 2 series
-
-usb:vE4E4p1162*
- ID_PRODUCT_FROM_DATABASE=Astribank 2 series
-
-usb:vEB03*
- ID_VENDOR_FROM_DATABASE=MakingThings
-
-usb:vEB03p0920*
- ID_PRODUCT_FROM_DATABASE=Make Controller Kit
-
-usb:vEB1A*
- ID_VENDOR_FROM_DATABASE=eMPIA Technology, Inc.
-
-usb:vEB1Ap17DE*
- ID_PRODUCT_FROM_DATABASE=KWorld V-Stream XPERT DTV - DVB-T USB cold
-
-usb:vEB1Ap17DF*
- ID_PRODUCT_FROM_DATABASE=KWorld V-Stream XPERT DTV - DVB-T USB warm
-
-usb:vEB1Ap2571*
- ID_PRODUCT_FROM_DATABASE=M035 Compact Web Cam
-
-usb:vEB1Ap2710*
- ID_PRODUCT_FROM_DATABASE=SilverCrest Webcam
-
-usb:vEB1Ap2750*
- ID_PRODUCT_FROM_DATABASE=ECS Elitegroup G220 integrated Webcam
-
-usb:vEB1Ap2761*
- ID_PRODUCT_FROM_DATABASE=EeePC 701 integrated Webcam
-
-usb:vEB1Ap2776*
- ID_PRODUCT_FROM_DATABASE=Combined audio and video input device
-
-usb:vEB1Ap2800*
- ID_PRODUCT_FROM_DATABASE=Terratec Cinergy 200
-
-usb:vEB1Ap2801*
- ID_PRODUCT_FROM_DATABASE=GrabBeeX+ Video Encoder
-
-usb:vEB1Ap2863*
- ID_PRODUCT_FROM_DATABASE=Video Grabber
-
-usb:vEB1Ap2870*
- ID_PRODUCT_FROM_DATABASE=Pinnacle PCTV Stick
-
-usb:vEB1Ap2881*
- ID_PRODUCT_FROM_DATABASE=EM2881 Video Controller
-
-usb:vEB1Ap50A3*
- ID_PRODUCT_FROM_DATABASE=Gadmei UTV380 TV Box
-
-usb:vEB1Ap50A6*
- ID_PRODUCT_FROM_DATABASE=Gadmei UTV330 TV Box
-
-usb:vEB1ApE355*
- ID_PRODUCT_FROM_DATABASE=KWorld DVB-T 355U Digital TV Dongle
-
-usb:vEB2A*
- ID_VENDOR_FROM_DATABASE=KWorld
-
-usb:vF003*
- ID_VENDOR_FROM_DATABASE=Hewlett Packard
-
-usb:vF003p6002*
- ID_PRODUCT_FROM_DATABASE=PhotoSmart C500
-
-usb:vF4EC*
- ID_VENDOR_FROM_DATABASE=Atten Electronics / Siglent Technologies
-
-usb:vF4ECpEE38*
- ID_PRODUCT_FROM_DATABASE=Digital Storage Oscilloscope
diff --git a/hwdb/ids-update.pl b/hwdb/ids-update.pl
index 13596b85c3..37d3556382 100755
--- a/hwdb/ids-update.pl
+++ b/hwdb/ids-update.pl
@@ -7,7 +7,7 @@ sub usb_vendor {
my $vendor;
open(IN, "<", "usb.ids");
- open(OUT, ">", "20-usb-vendor-product.hwdb");
+ open(OUT, ">", "20-usb-vendor-model.hwdb");
print(OUT "# This file is part of systemd.\n" .
"#\n" .
"# Data imported from: http://www.linux-usb.org/usb.ids\n");
@@ -26,11 +26,11 @@ sub usb_vendor {
$line =~ m/^\t([0-9a-f]{4})\s*(.+)$/;
if (defined $1) {
- my $product = uc $1;
+ my $model = uc $1;
my $text = $2;
print(OUT "\n");
- print(OUT "usb:v" . $vendor . "p" . $product . "*\n");
- print(OUT " ID_PRODUCT_FROM_DATABASE=" . $text . "\n");
+ print(OUT "usb:v" . $vendor . "p" . $model . "*\n");
+ print(OUT " ID_MODEL_FROM_DATABASE=" . $text . "\n");
}
}
@@ -109,7 +109,7 @@ sub pci_vendor {
my $device;
open(IN, "<", "pci.ids");
- open(OUT, ">", "20-pci-vendor-product.hwdb");
+ open(OUT, ">", "20-pci-vendor-model.hwdb");
print(OUT "# This file is part of systemd.\n" .
"#\n" .
"# Data imported from: http://pci-ids.ucw.cz/v2.2/pci.ids\n");
@@ -133,7 +133,7 @@ sub pci_vendor {
my $text = $2;
print(OUT "\n");
print(OUT "pci:v0000" . $vendor . "d0000" . $device . "*\n");
- print(OUT " ID_PRODUCT_FROM_DATABASE=" . $text . "\n");
+ print(OUT " ID_MODEL_FROM_DATABASE=" . $text . "\n");
next;
}
@@ -144,7 +144,7 @@ sub pci_vendor {
my $text = $3;
print(OUT "\n");
print(OUT "pci:v0000" . $vendor . "d0000" . $device . "sv0000" . $sub_vendor . "sd0000" . $sub_device . "*\n");
- print(OUT " ID_PRODUCT_FROM_DATABASE=" . $text . "\n");
+ print(OUT " ID_MODEL_FROM_DATABASE=" . $text . "\n");
}
}
@@ -219,6 +219,7 @@ sub oui {
open(IN, "<", "iab.txt");
while (my $line = <IN>) {
+ $line =~ s/^ +//;
$line =~ s/\s+$//;
$line =~ m/^([0-9A-F]{2})-([0-9A-F]{2})-([0-9A-F]{2})\s*\(hex\)\s*.+$/;
if (defined $1) {
@@ -241,6 +242,7 @@ sub oui {
open(IN, "<", "oui.txt");
while (my $line = <IN>) {
+ $line =~ s/^ +//;
$line =~ s/\s+$//;
$line =~ m/^([0-9A-F]{6})\s*\(base 16\)\s*(.+)$/;
if (defined $1) {
diff --git a/keymaps/hewlett-packard-hdx9494nr b/keymaps/hewlett-packard-hdx9494nr
new file mode 100644
index 0000000000..92217879c8
--- /dev/null
+++ b/keymaps/hewlett-packard-hdx9494nr
@@ -0,0 +1,3 @@
+0xB2 www # FnF3
+0xD8 f23 # touchpad off
+0xD9 f22 # touchpad on
diff --git a/keymaps/hewlett-packard_elitebook-8460p b/keymaps/hewlett-packard_elitebook-8460p
new file mode 100644
index 0000000000..1fe1b7237c
--- /dev/null
+++ b/keymaps/hewlett-packard_elitebook-8460p
@@ -0,0 +1,3 @@
+0xF8 wlan # Wireless HW switch button
+0xB3 prog1 # Fn+F11 - Ambient Light Sensor button
+0xB1 prog2 # Fn+ESC - System information button
diff --git a/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint b/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint
index 47e8846a68..d87549e445 100644
--- a/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint
+++ b/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint
@@ -10,4 +10,4 @@
0x90011 prog1 # Thinkvantage button
0x90015 camera # Fn+F6 headset/camera VoIP key ??
-0x90010 micmute # Microphone mute button
+0x90010 f20 # Microphone mute button; should be micmute, but see https://mail.gnome.org/archives/commits-list/2013-January/msg05822.html
diff --git a/keymaps/module-lenovo b/keymaps/module-lenovo
index 8e38883091..573a6a774b 100644
--- a/keymaps/module-lenovo
+++ b/keymaps/module-lenovo
@@ -14,4 +14,4 @@
0x15 volumedown
0x16 mute
0x17 prog1 # ThinkPad/ThinkVantage button (high keycode: "vendor")
-0x1A micmute # Microphone mute
+0x1A f20 # Microphone mute button; should be micmute, but see https://mail.gnome.org/archives/commits-list/2013-January/msg05822.html
diff --git a/make-directive-index.py b/make-directive-index.py
index eaf7019a2b..396947b303 100755
--- a/make-directive-index.py
+++ b/make-directive-index.py
@@ -2,7 +2,7 @@
#
# This file is part of systemd.
#
-# Copyright 2012 Zbigniew Jędrzejewski-Szmek
+# Copyright 2012-2013 Zbigniew Jędrzejewski-Szmek
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
@@ -19,10 +19,11 @@
import sys
import collections
-import xml.etree.ElementTree as tree
+import re
+from xml_helper import *
TEMPLATE = '''\
-<refentry id="systemd.directives">
+<refentry id="systemd.directives" conditional="HAVE_PYTHON">
<refentryinfo>
<title>systemd.directives</title>
@@ -40,7 +41,7 @@ TEMPLATE = '''\
<refmeta>
<refentrytitle>systemd.directives</refentrytitle>
- <manvolnum>5</manvolnum>
+ <manvolnum>7</manvolnum>
</refmeta>
<refnamediv>
@@ -58,12 +59,21 @@ TEMPLATE = '''\
</refsect1>
<refsect1>
- <title>System manager directives</title>
+ <title>Options on the kernel command line</title>
- <para>Directives for configuring the behaviour of the
+ <para>Kernel boot options for configuring the behaviour of the
systemd process.</para>
- <variablelist id='systemd-directives' />
+ <variablelist id='kernel-commandline-options' />
+ </refsect1>
+
+ <refsect1>
+ <title>Environment variables</title>
+
+ <para>Environment variables understood by the systemd
+ manager and other programs.</para>
+
+ <variablelist id='environment-variables' />
</refsect1>
<refsect1>
@@ -76,37 +86,152 @@ TEMPLATE = '''\
</refsect1>
<refsect1>
- <title>Journal directives</title>
+ <title>Journal fields</title>
- <para>Directives for configuring the behaviour of the
- journald process.</para>
+ <para>Fields in the journal events with a well known meaning.</para>
<variablelist id='journal-directives' />
</refsect1>
+
+ <refsect1>
+ <title>PAM configuration directives</title>
+
+ <para>Directives for configuring PAM behaviour.</para>
+
+ <variablelist id='pam-directives' />
+ </refsect1>
+
+ <refsect1>
+ <title>crypttab options</title>
+
+ <para>Options which influence mounted filesystems and
+ encrypted volumes.</para>
+
+ <variablelist id='crypttab-options' />
+ </refsect1>
+
+ <refsect1>
+ <title>System manager directives</title>
+
+ <para>Directives for configuring the behaviour of the
+ systemd process.</para>
+
+ <variablelist id='systemd-directives' />
+ </refsect1>
+
+ <refsect1>
+ <title>bootchart.conf directives</title>
+
+ <para>Directives for configuring the behaviour of the
+ systemd-bootchart process.</para>
+
+ <variablelist id='bootchart-directives' />
+ </refsect1>
+
+ <refsect1>
+ <title>command-line options</title>
+
+ <para>Command-line options accepted by programs in the
+ systemd suite.</para>
+
+ <variablelist id='options' />
+ </refsect1>
+
+ <refsect1>
+ <title>Miscellaneous options and directives</title>
+
+ <para>Other configuration elements which don't fit in
+ any of the above groups.</para>
+
+ <variablelist id='miscellaneous' />
+ </refsect1>
+
+ <refsect1>
+ <title>Files and directories</title>
+
+ <para>Paths and file names referred to in the
+ documentation.</para>
+
+ <variablelist id='filenames' />
+ </refsect1>
+
+ <refsect1>
+ <title>Colophon</title>
+ <para id='colophon' />
+ </refsect1>
</refentry>
'''
-def _extract_directives(directive_groups, page):
- t = tree.parse(page)
+COLOPHON = '''\
+This index contains {count} entries in {sections} sections,
+referring to {pages} individual manual pages.
+'''
+
+def _extract_directives(directive_groups, formatting, page):
+ t = xml_parse(page)
section = t.find('./refmeta/manvolnum').text
pagename = t.find('./refmeta/refentrytitle').text
+
+ storopt = directive_groups['options']
for variablelist in t.iterfind('.//variablelist'):
- klass = variablelist.attrib.get('class') or 'unit-directives'
- stor = directive_groups[klass]
- for varname in variablelist.iterfind('./varlistentry/term/varname'):
- text = ''.join(varname.text.partition('=')[:2])
- stor[text].append((pagename, section))
-
-def _make_section(refentry, name, directives):
- varlist = refentry.find(".//*[@id='{}']".format(name))
+ klass = variablelist.attrib.get('class')
+ storvar = directive_groups[klass or 'miscellaneous']
+ # <option>s go in OPTIONS, unless class is specified
+ for xpath, stor in (('./varlistentry/term/varname', storvar),
+ ('./varlistentry/term/option',
+ storvar if klass else storopt)):
+ for name in variablelist.iterfind(xpath):
+ text = re.sub(r'([= ]).*', r'\1', name.text).rstrip()
+ stor[text].append((pagename, section))
+ if text not in formatting:
+ # use element as formatted display
+ if name.text[-1] in '= ':
+ name.clear()
+ else:
+ name.tail = ''
+ name.text = text
+ formatting[text] = name
+
+ storfile = directive_groups['filenames']
+ for xpath, absolute_only in (('.//refsynopsisdiv//filename', False),
+ ('.//refsynopsisdiv//command', False),
+ ('.//filename', True)):
+ for name in t.iterfind(xpath):
+ if absolute_only and not (name.text and name.text.startswith('/')):
+ continue
+ if name.attrib.get('noindex'):
+ continue
+ name.tail = ''
+ if name.text:
+ if name.text.endswith('*'):
+ name.text = name.text[:-1]
+ if not name.text.startswith('.'):
+ text = name.text.partition(' ')[0]
+ if text != name.text:
+ name.clear()
+ name.text = text
+ if text.endswith('/'):
+ text = text[:-1]
+ storfile[text].append((pagename, section))
+ if text not in formatting:
+ # use element as formatted display
+ formatting[text] = name
+ else:
+ text = ' '.join(name.itertext())
+ storfile[text].append((pagename, section))
+ formatting[text] = name
+
+def _make_section(template, name, directives, formatting):
+ varlist = template.find(".//*[@id='{}']".format(name))
for varname, manpages in sorted(directives.items()):
entry = tree.SubElement(varlist, 'varlistentry')
- a = tree.SubElement(tree.SubElement(entry, 'term'), 'varname')
- a.text = varname
+ term = tree.SubElement(entry, 'term')
+ term.append(formatting[varname])
+
para = tree.SubElement(tree.SubElement(entry, 'listitem'), 'para')
b = None
- for manpage, manvolume in sorted(manpages):
+ for manpage, manvolume in sorted(set(manpages)):
if b is not None:
b.tail = ', '
b = tree.SubElement(para, 'citerefentry')
@@ -116,7 +241,20 @@ def _make_section(refentry, name, directives):
d.text = manvolume
entry.tail = '\n\n'
-def _make_page(directive_groups):
+def _make_colophon(template, groups):
+ count = 0
+ pages = set()
+ for group in groups:
+ count += len(group)
+ for pagelist in group.values():
+ pages |= set(pagelist)
+
+ para = template.find(".//para[@id='colophon']")
+ para.text = COLOPHON.format(count=count,
+ sections=len(groups),
+ pages=len(pages))
+
+def _make_page(template, directive_groups, formatting):
"""Create an XML tree from directive_groups.
directive_groups = {
@@ -125,25 +263,28 @@ def _make_page(directive_groups):
...
}
"""
- refentry = tree.fromstring(TEMPLATE)
-
for name, directives in directive_groups.items():
- _make_section(refentry, name, directives)
+ _make_section(template, name, directives, formatting)
+
+ _make_colophon(template, directive_groups.values())
- return refentry
+ return template
-def make_page(xml_files):
+def make_page(*xml_files):
"Extract directives from xml_files and return XML index tree."
+ template = tree.fromstring(TEMPLATE)
+ names = [vl.get('id') for vl in template.iterfind('.//variablelist')]
directive_groups = {name:collections.defaultdict(list)
- for name in ['unit-directives',
- 'udev-directives',
- 'systemd-directives',
- 'journal-directives',
- ]}
+ for name in names}
+ formatting = {}
for page in xml_files:
- _extract_directives(directive_groups, page)
+ try:
+ _extract_directives(directive_groups, formatting, page)
+ except Exception:
+ raise ValueError("failed to process " + page)
- return _make_page(directive_groups)
+ return _make_page(template, directive_groups, formatting)
if __name__ == '__main__':
- tree.dump(make_page(sys.argv[1:]))
+ with open(sys.argv[1], 'wb') as f:
+ f.write(xml_print(make_page(*sys.argv[2:])))
diff --git a/make-man-index.py b/make-man-index.py
index b40c963f94..74a47b821a 100755
--- a/make-man-index.py
+++ b/make-man-index.py
@@ -1,8 +1,9 @@
-# -*- Mode: python; indent-tabs-mode: nil -*- */
+# -*- Mode: python; coding: utf-8; indent-tabs-mode: nil -*- */
#
# This file is part of systemd.
#
# Copyright 2012 Lennart Poettering
+# Copyright 2013 Zbigniew Jędrzejewski-Szmek
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
@@ -17,79 +18,119 @@
# You should have received a copy of the GNU Lesser General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
-from xml.etree.ElementTree import parse, Element, SubElement, tostring
-from sys import argv, stdout
-
-index = {}
-
-def prettify(elem, indent = 0):
- s = "\n" + indent * " "
- if len(elem):
- if not elem.text or not elem.text.strip():
- elem.text = s + " "
- for e in elem:
- prettify(e, indent + 1)
- if not e.tail or not e.tail.strip():
- e.tail = s + " "
- if not e.tail or not e.tail.strip():
- e.tail = s
- else:
- if indent and (not elem.tail or not elem.tail.strip()):
- elem.tail = s
-
-for p in argv[1:]:
- t = parse(p)
+import collections
+import sys
+import re
+from xml_helper import *
+
+MDASH = ' — ' if sys.version_info.major >= 3 else ' -- '
+
+TEMPLATE = '''\
+<refentry id="systemd.index" conditional="HAVE_PYTHON">
+
+ <refentryinfo>
+ <title>systemd.index</title>
+ <productname>systemd</productname>
+
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Lennart</firstname>
+ <surname>Poettering</surname>
+ <email>lennart@poettering.net</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>systemd.index</refentrytitle>
+ <manvolnum>7</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>systemd.index</refname>
+ <refpurpose>List all manpages from the systemd project</refpurpose>
+ </refnamediv>
+</refentry>
+'''
+
+SUMMARY = '''\
+ <refsect1>
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ </para>
+
+ <para id='counts' />
+ </refsect1>
+'''
+
+COUNTS = '\
+This index contains {count} entries, referring to {pages} individual manual pages.'
+
+
+def check_id(page, t):
+ id = t.getroot().get('id')
+ if not re.search('/' + id + '[.]', page):
+ raise ValueError("id='{}' is not the same as page name '{}'".format(id, page))
+
+def make_index(pages):
+ index = collections.defaultdict(list)
+ for p in pages:
+ t = xml_parse(p)
+ check_id(p, t)
section = t.find('./refmeta/manvolnum').text
+ refname = t.find('./refnamediv/refname').text
purpose = ' '.join(t.find('./refnamediv/refpurpose').text.split())
for f in t.findall('./refnamediv/refname'):
- index[f.text] = (p, section, purpose)
+ infos = (f.text, section, purpose, refname)
+ index[f.text[0].upper()].append(infos)
+ return index
-html = Element('html')
+def add_letter(template, letter, pages):
+ refsect1 = tree.SubElement(template, 'refsect1')
+ title = tree.SubElement(refsect1, 'title')
+ title.text = letter
+ para = tree.SubElement(refsect1, 'para')
+ for info in sorted(pages, key=lambda info: str.lower(info[0])):
+ refname, section, purpose, realname = info
-head = SubElement(html, 'head')
-title = SubElement(head, 'title')
-title.text = 'Manual Page Index'
+ b = tree.SubElement(para, 'citerefentry')
+ c = tree.SubElement(b, 'refentrytitle')
+ c.text = refname
+ d = tree.SubElement(b, 'manvolnum')
+ d.text = section
-body = SubElement(html, 'body')
-h1 = SubElement(body, 'h1')
-h1.text = 'Manual Page Index'
+ b.tail = MDASH + purpose # + ' (' + p + ')'
-letter = None
-for n in sorted(index.keys(), key = str.lower):
- path, section, purpose = index[n]
+ tree.SubElement(para, 'sbr')
- if path.endswith('.xml'):
- path = path[:-4] + ".html"
+def add_summary(template, indexpages):
+ count = 0
+ pages = set()
+ for group in indexpages:
+ count += len(group)
+ for info in group:
+ refname, section, purpose, realname = info
+ pages.add((realname, section))
- c = path.rfind('/')
- if c >= 0:
- path = path[c+1:]
+ refsect1 = tree.fromstring(SUMMARY)
+ template.append(refsect1)
- if letter is None or n[0].upper() != letter:
- letter = n[0].upper()
+ para = template.find(".//para[@id='counts']")
+ para.text = COUNTS.format(count=count, pages=len(pages))
- h2 = SubElement(body, 'h2')
- h2.text = letter
+def make_page(*xml_files):
+ template = tree.fromstring(TEMPLATE)
+ index = make_index(xml_files)
- ul = SubElement(body, 'ul')
- ul.set('style', 'list-style-type:none')
+ for letter in sorted(index):
+ add_letter(template, letter, index[letter])
- li = SubElement(ul, 'li')
+ add_summary(template, index.values())
- a = SubElement(li, 'a')
- a.set('href', path)
- a.text = n + '(' + section + ')'
- a.tail = ' -- '
+ return template
- i = SubElement(li, 'i')
- i.text = purpose
-
-hr = SubElement(body, 'hr')
-
-p = SubElement(body, 'p')
-p.text = "This index contains %s entries, referring to %i individual manual pages." % (len(index), len(argv)-1)
-
-if hasattr(stdout, "buffer"):
- stdout = stdout.buffer
-prettify(html)
-stdout.write(tostring(html))
+if __name__ == '__main__':
+ with open(sys.argv[1], 'wb') as f:
+ f.write(xml_print(make_page(*sys.argv[2:])))
diff --git a/make-man-rules.py b/make-man-rules.py
new file mode 100644
index 0000000000..ad601f874f
--- /dev/null
+++ b/make-man-rules.py
@@ -0,0 +1,101 @@
+# -*- Mode: python; coding: utf-8; indent-tabs-mode: nil -*- */
+#
+# This file is part of systemd.
+#
+# Copyright 2013 Zbigniew Jędrzejewski-Szmek
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+from __future__ import print_function
+import collections
+import sys
+from xml_helper import *
+
+SECTION = '''\
+MANPAGES += \\
+ {manpages}
+MANPAGES_ALIAS += \\
+ {aliases}
+{rules}
+{htmlrules}
+'''
+
+CONDITIONAL = '''\
+if {conditional}
+''' \
++ SECTION + \
+'''\
+endif
+'''
+
+HEADER = '''\
+# Do not edit. Generated by make-man-rules.py.
+# Regenerate with 'make all update-man-list'.
+
+'''
+
+HTML_ALIAS_RULE = '''\
+{}.html: {}.html
+ $(html-alias)
+'''
+
+def man(page, number):
+ return 'man/{}.{}'.format(page, number)
+
+def add_rules(rules, name):
+ xml = xml_parse(name)
+ # print('parsing {}'.format(name), file=sys.stderr)
+ conditional = xml.getroot().get('conditional') or ''
+ rulegroup = rules[conditional]
+ refmeta = xml.find('./refmeta')
+ title = refmeta.find('./refentrytitle').text
+ number = refmeta.find('./manvolnum').text
+ refnames = xml.findall('./refnamediv/refname')
+ target = man(refnames[0].text, number)
+ if title != refnames[0].text:
+ raise ValueError('refmeta and refnamediv disagree: ' + name)
+ for refname in refnames:
+ assert all(refname not in group
+ for group in rules.values()), "duplicate page name"
+ alias = man(refname.text, number)
+ rulegroup[alias] = target
+ # print('{} => {} [{}]'.format(alias, target, conditional), file=sys.stderr)
+
+def create_rules(*xml_files):
+ " {conditional => {alias-name => source-name}} "
+ rules = collections.defaultdict(dict)
+ for name in xml_files:
+ add_rules(rules, name)
+ return rules
+
+def mjoin(files):
+ return ' \\\n\t'.join(sorted(files) or '#')
+
+def make_makefile(rules):
+ return HEADER + '\n'.join(
+ (CONDITIONAL if conditional else SECTION).format(
+ manpages=mjoin(set(rulegroup.values())),
+ aliases=mjoin(k for k,v in rulegroup.items() if k != v),
+ rules='\n'.join('{}: {}'.format(k,v)
+ for k,v in sorted(rulegroup.items())
+ if k != v),
+ htmlrules='\n'.join(HTML_ALIAS_RULE.format(k[:-2],v[:-2])
+ for k,v in sorted(rulegroup.items())
+ if k != v),
+ conditional=conditional)
+ for conditional,rulegroup in sorted(rules.items()))
+
+if __name__ == '__main__':
+ rules = create_rules(*sys.argv[1:])
+ print(make_makefile(rules), end='')
diff --git a/man/.gitignore b/man/.gitignore
index e97cda79b3..bf5eeab938 100644
--- a/man/.gitignore
+++ b/man/.gitignore
@@ -1,2 +1,4 @@
/systemd.directives.xml
+/systemd.index.xml
/*.[13578]
+/custom-entities.ent
diff --git a/man/binfmt.d.xml b/man/binfmt.d.xml
index 07ae0ac231..762d1fc66e 100644
--- a/man/binfmt.d.xml
+++ b/man/binfmt.d.xml
@@ -19,7 +19,7 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="binfmt.d">
+<refentry id="binfmt.d" conditional='ENABLE_BINFMT'>
<refentryinfo>
<title>binfmt.d</title>
@@ -76,7 +76,7 @@
as delimiter in binary format rules.</para>
<para>Each configuration file shall be named in the
- style of <filename>&lt;program&gt;.conf</filename>.
+ style of <filename><replaceable>program</replaceable>.conf</filename>.
Files in <filename>/etc/</filename> override files
with the same name in <filename>/usr/lib/</filename>
and <filename>/run/</filename>. Files in
diff --git a/man/bootchart.conf.xml b/man/bootchart.conf.xml
index f8fcfe0103..1e440eb2cc 100644
--- a/man/bootchart.conf.xml
+++ b/man/bootchart.conf.xml
@@ -25,7 +25,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="bootchart.conf">
+<refentry id="bootchart.conf" conditional='ENABLE_BOOTCHART'>
<refentryinfo>
<title>bootchart.conf</title>
<productname>systemd</productname>
@@ -70,14 +70,14 @@
<variablelist class='bootchart-directives'>
<varlistentry>
- <term><varname>samples=500</varname></term>
+ <term><varname>Samples=500</varname></term>
<listitem><para>Configure the amount of samples to
record total before bootchart exits. Each sample will
- record at intervals defined by freq=.</para></listitem>
+ record at intervals defined by Frequency=.</para></listitem>
</varlistentry>
<varlistentry>
- <term><varname>freq=25</varname></term>
+ <term><varname>Frequency=25</varname></term>
<listitem><para>Configure the sample log frequency.
This can be a fractional number, but must be larger than
0.0. Most systems can cope with values under 25-50 without
@@ -85,18 +85,18 @@
</varlistentry>
<varlistentry>
- <term><varname>rel=0</varname></term>
+ <term><varname>Relative=no</varname></term>
<listitem><para>Configures whether the left axis of the
output graph equals time=0.0 (CLOCK_MONOTONIC start). This
is useful for using bootchart at post-boot time to profile
an already booted system, otherwise the graph would become
- extremely large. If set to a non-zero value, the horizontal
- axis starts at the first recorded sample instead of time=0.0.
+ extremely large. If set to yes, the horizontal axis starts
+ at the first recorded sample instead of time=0.0.
</para></listitem>
</varlistentry>
<varlistentry>
- <term><varname>filter=0</varname></term>
+ <term><varname>Filter=no</varname></term>
<listitem><para>Configures whether the resulting graph
should omit tasks that did not contribute significantly
to the boot. Processes that are too short-lived (only
@@ -106,14 +106,14 @@
</varlistentry>
<varlistentry>
- <term><varname>output=[path]</varname></term>
+ <term><varname>Output=[path]</varname></term>
<listitem><para>Configures the output folder for writing
the graphs. By default, bootchart writes the graphs to
- <filename>/var/log</filename>.</para></listitem>
+ <filename>/run/log</filename>.</para></listitem>
</varlistentry>
<varlistentry>
- <term><varname>init=[path]</varname></term>
+ <term><varname>Init=[path]</varname></term>
<listitem><para>Configures bootchart to run a non-standard
binary instead of <filename>/sbin/init</filename>. This
option is only relevant if bootchart was invoked from the
@@ -122,25 +122,25 @@
</varlistentry>
<varlistentry>
- <term><varname>pss=0</varname></term>
- <listitem><para>If set to 1, enables logging and graphing
+ <term><varname>PlotMemoryUsage=no</varname></term>
+ <listitem><para>If set to yes, enables logging and graphing
of processes PSS memory consumption.</para></listitem>
</varlistentry>
<varlistentry>
- <term><varname>entropy=0</varname></term>
- <listitem><para>If set to 1, enables logging and graphing
+ <term><varname>PlotEntropyGraph=no</varname></term>
+ <listitem><para>If set to yes, enables logging and graphing
of the kernel random entropy pool size.</para></listitem>
</varlistentry>
<varlistentry>
- <term><varname>scale_x=100</varname></term>
+ <term><varname>ScaleX=100</varname></term>
<listitem><para>Horizontal scaling factor for all variable
graph components.</para></listitem>
</varlistentry>
<varlistentry>
- <term><varname>scale_y=20</varname></term>
+ <term><varname>ScaleY=20</varname></term>
<listitem><para>Vertical scaling factor for all variable
graph components.</para></listitem>
</varlistentry>
@@ -151,7 +151,8 @@
<refsect1>
<title>See Also</title>
<para>
- <citerefentry><refentrytitle>systemd-bootchart</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd-bootchart</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/bootup.xml b/man/bootup.xml
index 4cc4bafab7..a596e85b70 100644
--- a/man/bootup.xml
+++ b/man/bootup.xml
@@ -50,18 +50,20 @@
<refsect1>
<title>Description</title>
- <para>A number of different components are involved in the
- system boot. Immediately after power-up, the system
- BIOS will do minimal hardware initialization, and hand
- control over to a boot loader stored on a persistent
- storage device. This boot loader will then invoke an
- OS kernel from disk (or the network). In the Linux
- case this kernel now (optionally) extracts and
+ <para>A number of different components are involved in
+ the system boot. Immediately after power-up, the
+ system BIOS will do minimal hardware initialization,
+ and hand control over to a boot loader stored on a
+ persistent storage device. This boot loader will then
+ invoke an OS kernel from disk (or the network). In the
+ Linux case this kernel (optionally) extracts and
executes an initial RAM disk image (initrd) such as
<citerefentry><refentrytitle>dracut</refentrytitle><manvolnum>8</manvolnum></citerefentry>
- which looks for the root file system. After the root
- file system is found and mounted the initrd hands over
- control to the system manager (such as
+ which looks for the root file system (possibly using
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ for this). After the root file system is found and
+ mounted the initrd hands over control to the host's
+ system manager (such as
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
stored on the OS image which is then responsible for
probing all remaining hardware, mounting all necessary
@@ -132,35 +134,35 @@
v
sysinit.target
|
- _________________/|\___________________
- / | \
- | | |
- v | v
- (various | rescue.service
- sockets...) | |
- | | v
- v | <emphasis>rescue.target</emphasis>
- sockets.target |
- | |
- \_________________ |
- \|
+ ____________________________________/|\________________________________________
+ / | | | \
+ | | | | |
+ v v | v v
+ (various (various | (various rescue.service
+ timers...) paths...) | sockets...) |
+ | | | | v
+ v v | v <emphasis>rescue.target</emphasis>
+ timers.target paths.target | sockets.target
+ | | | |
+ \__________________|_________________ | ___________________/
+ \|/
v
basic.target
|
- __________________________________/| emergency.service
- / | | |
- | | | v
- v v v <emphasis>emergency.target</emphasis>
- display- (various system (various system
- manager.service services services)
- | required for |
- | graphical UIs) v
- | | <emphasis>multi-user.target</emphasis>
- | | |
- \_______________ | _________________/
+ ____________________________________/| emergency.service
+ / | | |
+ | | | v
+ v v v <emphasis>emergency.target</emphasis>
+ display- (various system (various system
+ manager.service services services)
+ | required for |
+ | graphical UIs) v
+ | | <emphasis>multi-user.target</emphasis>
+ | | |
+ \_________________ | _________________/
\|/
v
- <emphasis>graphical.target</emphasis></programlisting>
+ <emphasis>graphical.target</emphasis></programlisting>
<para>Target units that are commonly used as boot
targets are <emphasis>emphasized</emphasis>. These
@@ -174,11 +176,99 @@
</refsect1>
<refsect1>
+ <title>Bootup in the Initial RAM Disk (initrd)</title>
+ <para>The initial RAM disk implementation (initrd) can
+ be set up using systemd as well. In this case boot up
+ inside the initrd follows the following
+ structure.</para>
+
+ <para>The default target in the initrd is
+ <filename>initrd.target</filename>. The bootup process
+ begins identical to the system manager bootup (see
+ above) until it reaches
+ <filename>basic.target</filename>. From there, systemd
+ approaches the special target
+ <filename>initrd.target</filename>. If the root device
+ can be mounted at <filename>/sysroot</filename>, the
+ <filename>sysroot.mount</filename> unit becomes active
+ and <filename>initrd-root-fs.target</filename> is
+ reached. The service
+ <filename>initrd-parse-etc.service</filename> scans
+ <filename>/sysroot/etc/fstab</filename> for a possible
+ <filename>/usr</filename> mount point and additional
+ entries marked with the
+ <emphasis>x-initrd.mount</emphasis> option. All
+ entries found are mounted below
+ <filename>/sysroot</filename>, and
+ <filename>initrd-fs.target</filename> is reached. The
+ service <filename>initrd-cleanup.service</filename>
+ isolates to the
+ <filename>initrd-switch-root.target</filename>, where
+ cleanup services can run. As the very last step, the
+ <filename>initrd-switch-root.service</filename> is
+ activated, which will cause the system to switch its
+ root to <filename>/sysroot</filename>.
+ </para>
+
+<programlisting> : (beginning identical to above)
+ :
+ v
+ basic.target
+ | emergency.service
+ ______________________/| |
+ / | v
+ | sysroot.mount <emphasis>emergency.target</emphasis>
+ | |
+ | v
+ | initrd-root-fs.target
+ | |
+ | v
+ v initrd-parse-etc.service
+ (custom initrd |
+ services...) v
+ | (sysroot-usr.mount and
+ | various mounts marked
+ | with fstab option
+ | x-initrd.mount...)
+ | |
+ | v
+ | initrd-fs.target
+ \______________________ |
+ \|
+ v
+ initrd.target
+ |
+ v
+ initrd-cleanup.service
+ isolates to
+ initrd-switch-root.target
+ |
+ v
+ ______________________/|
+ / v
+ | initrd-udevadm-cleanup-db.service
+ v |
+ (custom initrd |
+ services...) |
+ \______________________ |
+ \|
+ v
+ initrd-switch-root.target
+ |
+ v
+ initrd-switch-root.service
+ |
+ v
+ Transition to Host OS</programlisting>
+ </refsect1>
+
+
+ <refsect1>
<title>System Manager Shutdown</title>
- <para>System shutdown also consists of various target
- units with some minimal ordering structure
- applied:</para>
+ <para>System shutdown with systemd also consists of
+ various target units with some minimal ordering
+ structure applied:</para>
@@ -219,7 +309,8 @@ systemd-reboot.service systemd-poweroff.service systemd-halt.service syste
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>boot</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>dracut</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/crypttab.xml b/man/crypttab.xml
index 2a839944dc..deb577b9de 100644
--- a/man/crypttab.xml
+++ b/man/crypttab.xml
@@ -25,7 +25,7 @@
The Red Hat version has been written by Miloslav Trmac <mitr@redhat.com>.
-->
-<refentry id="crypttab">
+<refentry id="crypttab" conditional='HAVE_LIBCRYPTSETUP'>
<refentryinfo>
<title>crypttab</title>
@@ -103,7 +103,7 @@
comma-delimited list of options. The following
options are recognized:</para>
- <variablelist>
+ <variablelist class='crypttab-options'>
<varlistentry>
<term><varname>cipher=</varname></term>
@@ -182,7 +182,7 @@
</varlistentry>
<varlistentry>
- <term><varname>read-only</varname></term>
+ <term><varname>read-only</varname></term><term><varname>readonly</varname></term>
<listitem><para>Set up the encrypted
block device in read-only
@@ -219,8 +219,10 @@
<listitem><para>Specify the timeout
for querying for a password. If no
unit is specified seconds is used.
- Supported units are s, ms,
- us, min, h, d.</para></listitem>
+ Supported units are s, ms, us, min, h,
+ d. A timeout of 0 waits indefinitely
+ (which is the
+ default).</para></listitem>
</varlistentry>
<varlistentry>
diff --git a/man/custom-html.xsl b/man/custom-html.xsl
index 906ddc5572..dde9d7af0e 100644
--- a/man/custom-html.xsl
+++ b/man/custom-html.xsl
@@ -33,14 +33,142 @@
</a>
</xsl:template>
+<xsl:template match="refsect1/title|refsect1/info/title">
+ <!-- the ID is output in the block.object call for refsect1 -->
+ <h2>
+ <xsl:attribute name="id">
+ <xsl:call-template name="inline.charseq"/>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ <a>
+ <xsl:attribute name="class">
+ <xsl:text>headerlink</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="title">
+ <xsl:text>Permalink to this headline</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text>#</xsl:text>
+ <xsl:call-template name="inline.charseq"/>
+ </xsl:attribute>
+ <xsl:text>¶</xsl:text>
+ </a>
+ </h2>
+</xsl:template>
+
+<xsl:template match="refsect2/title|refsect2/info/title">
+ <h3>
+ <xsl:attribute name="id">
+ <xsl:call-template name="inline.charseq"/>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ <a>
+ <xsl:attribute name="class">
+ <xsl:text>headerlink</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="title">
+ <xsl:text>Permalink to this headline</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text>#</xsl:text>
+ <xsl:call-template name="inline.charseq"/>
+ </xsl:attribute>
+ <xsl:text>¶</xsl:text>
+ </a>
+ </h3>
+</xsl:template>
+
+<xsl:template match="varlistentry">
+ <dt>
+ <xsl:attribute name="id">
+ <xsl:call-template name="inline.charseq">
+ <xsl:with-param name="content">
+ <xsl:copy-of select="term[position()=1]" />
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:apply-templates select="term"/>
+ <a>
+ <xsl:attribute name="class">
+ <xsl:text>headerlink</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="title">
+ <xsl:text>Permalink to this term</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="href">
+ <!-- <xsl:call-template name="href.target.uri" /> -->
+ <xsl:text>#</xsl:text>
+ <xsl:call-template name="inline.charseq">
+ <xsl:with-param name="content">
+ <xsl:copy-of select="term[position()=1]" />
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:text>¶</xsl:text>
+ </a>
+ </dt>
+ <dd>
+ <xsl:apply-templates select="listitem"/>
+ </dd>
+</xsl:template>
+
+
<!-- add Index link at top of page -->
<xsl:template name="user.header.content">
+ <style>
+ a.headerlink {
+ color: #c60f0f;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+ visibility: hidden;
+ }
+
+ a.headerlink:hover {
+ background-color: #c60f0f;
+ color: white;
+ }
+
+ h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
+ visibility: visible;
+ }
+ </style>
+
<a>
<xsl:attribute name="href">
<xsl:text>index.html</xsl:text>
</xsl:attribute>
<xsl:text>Index </xsl:text>
+ </a>·
+ <a>
+ <xsl:attribute name="href">
+ <xsl:text>systemd.directives.html</xsl:text>
+ </xsl:attribute>
+ <xsl:text>Directives </xsl:text>
+ </a>·
+ <a>
+ <xsl:attribute name="href">
+ <xsl:text>../python-systemd/index.html</xsl:text>
+ </xsl:attribute>
+ <xsl:text>Python </xsl:text>
+ </a>·
+ <a>
+ <xsl:attribute name="href">
+ <xsl:text>../libudev/index.html</xsl:text>
+ </xsl:attribute>
+ <xsl:text>libudev </xsl:text>
+ </a>·
+ <a>
+ <xsl:attribute name="href">
+ <xsl:text>../libudev/index.html</xsl:text>
+ </xsl:attribute>
+ <xsl:text>gudev </xsl:text>
</a>
+
+ <span style="float:right">
+ <xsl:text>systemd </xsl:text>
+ <xsl:value-of select="$systemd.version"/>
+ </span>
<hr/>
</xsl:template>
diff --git a/man/custom-man.xsl b/man/custom-man.xsl
new file mode 100644
index 0000000000..753e5715e3
--- /dev/null
+++ b/man/custom-man.xsl
@@ -0,0 +1,55 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+
+<!--
+ This file is part of systemd.
+
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ extension-element-prefixes="exsl"
+ version="1.0">
+
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"/>
+
+<xsl:template name="top.comment" />
+
+<xsl:template name="TH.title.line">
+ <xsl:param name="title"/>
+ <xsl:param name="section"/>
+ <xsl:param name="extra1"/>
+ <xsl:param name="extra2"/>
+ <xsl:param name="extra3"/>
+
+ <xsl:call-template name="mark.subheading"/>
+ <xsl:text>.TH "</xsl:text>
+ <xsl:call-template name="string.upper">
+ <xsl:with-param name="string">
+ <xsl:value-of select="normalize-space($title)"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ <xsl:text>" "</xsl:text>
+ <xsl:value-of select="normalize-space($section)"/>
+ <xsl:text>" "" "systemd </xsl:text>
+ <xsl:value-of select="$systemd.version"/>
+ <xsl:text>" "</xsl:text>
+ <xsl:value-of select="normalize-space($extra3)"/>
+ <xsl:text>"&#10;</xsl:text>
+ <xsl:call-template name="mark.subheading"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/man/hostname.xml b/man/hostname.xml
index 84a2961664..f89332e983 100644
--- a/man/hostname.xml
+++ b/man/hostname.xml
@@ -24,7 +24,7 @@
<refentry id="hostname">
<refentryinfo>
- <title>/etc/hostname</title>
+ <title>hostname</title>
<productname>systemd</productname>
<authorgroup>
diff --git a/man/hostnamectl.xml b/man/hostnamectl.xml
index a29d2f5b75..9efe220119 100644
--- a/man/hostnamectl.xml
+++ b/man/hostnamectl.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="hostnamectl">
+<refentry id="hostnamectl" conditional='ENABLE_HOSTNAMED'>
<refentryinfo>
<title>hostnamectl</title>
@@ -93,8 +93,8 @@
<variablelist>
<varlistentry>
- <term><option>--help</option></term>
<term><option>-h</option></term>
+ <term><option>--help</option></term>
<listitem><para>Prints a short help
text and exits.</para></listitem>
diff --git a/man/journalctl.xml b/man/journalctl.xml
index 959ae1efa2..cc7d1a0533 100644
--- a/man/journalctl.xml
+++ b/man/journalctl.xml
@@ -49,7 +49,9 @@
<refsynopsisdiv>
<cmdsynopsis>
- <command>journalctl <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="opt" rep="repeat">MATCHES</arg></command>
+ <command>journalctl</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ <arg choice="opt" rep="repeat">MATCHES</arg>
</cmdsynopsis>
</refsynopsisdiv>
@@ -114,8 +116,8 @@
<variablelist>
<varlistentry>
- <term><option>--help</option></term>
<term><option>-h</option></term>
+ <term><option>--help</option></term>
<listitem><para>Prints a short help
text and exits.</para></listitem>
@@ -143,8 +145,8 @@
</varlistentry>
<varlistentry>
- <term><option>--all</option></term>
<term><option>-a</option></term>
+ <term><option>--all</option></term>
<listitem><para>Show all fields in
full, even if they include unprintable
@@ -153,8 +155,8 @@
</varlistentry>
<varlistentry>
- <term><option>--follow</option></term>
<term><option>-f</option></term>
+ <term><option>--follow</option></term>
<listitem><para>Show only the most recent
journal entries, and continuously print
@@ -163,8 +165,26 @@
</varlistentry>
<varlistentry>
- <term><option>--lines=</option></term>
+ <term><option>-e</option></term>
+ <term><option>--pager-end</option></term>
+
+ <listitem><para>Immediately jump to
+ the end of the journal inside the
+ implied pager tool. This implies
+ <option>-n1000</option> to guarantee
+ that the pager won't buffer logs of
+ unbounded size. This may be overridden
+ with an explicit <option>-n</option>
+ with some other numeric value on the
+ command line. Note that this option is
+ only supported for the
+ <citerefentry><refentrytitle>less</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ pager.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>-n</option></term>
+ <term><option>--lines=</option></term>
<listitem><para>Show the most recent
journal events and limit the number of
@@ -185,8 +205,16 @@
</varlistentry>
<varlistentry>
- <term><option>--output=</option></term>
+ <term><option>-r</option></term>
+ <term><option>--reverse</option></term>
+
+ <listitem><para>Reverse output, so the newest
+ entries are displayed first.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>-o</option></term>
+ <term><option>--output=</option></term>
<listitem><para>Controls the
formatting of the journal entries that
@@ -240,8 +268,8 @@
</varlistentry>
<varlistentry>
- <term><option>--catalog</option></term>
<term><option>-x</option></term>
+ <term><option>--catalog</option></term>
<listitem><para>Augment log lines with
explanation texts from the message
@@ -264,8 +292,8 @@
</varlistentry>
<varlistentry>
- <term><option>--quiet</option></term>
<term><option>-q</option></term>
+ <term><option>--quiet</option></term>
<listitem><para>Suppresses any warning
message regarding inaccessible system
@@ -274,8 +302,8 @@
</varlistentry>
<varlistentry>
- <term><option>--merge</option></term>
<term><option>-m</option></term>
+ <term><option>--merge</option></term>
<listitem><para>Show entries
interleaved from all available
@@ -284,8 +312,8 @@
</varlistentry>
<varlistentry>
- <term><option>--this-boot</option></term>
<term><option>-b</option></term>
+ <term><option>--this-boot</option></term>
<listitem><para>Show data only from
current boot. This will add a match
@@ -295,14 +323,33 @@
</varlistentry>
<varlistentry>
- <term><option>--unit=</option></term>
<term><option>-u</option></term>
+ <term><option>--unit=</option></term>
- <listitem><para>Show data only of the
- specified unit. This will add a match
- for <literal>_SYSTEMD_UNIT=</literal>
- for the specified
- unit.</para></listitem>
+ <listitem><para>Show messages for the
+ specified systemd unit. This will add
+ a match for messages from the unit
+ (<literal>_SYSTEMD_UNIT=</literal>)
+ and additional matches for messages
+ from systemd and messages about
+ coredumps for the specified unit.</para>
+ <para>This parameter can be specified multiple times.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--user-unit=</option></term>
+
+ <listitem><para>Show messages for the
+ specified user session unit. This will
+ add a match for messages from the unit
+ (<literal>_SYSTEMD_USER_UNIT=</literal>
+ and <literal>_UID=</literal>) and
+ additional matches for messages from
+ session systemd and messages about
+ coredumps for the specified unit.</para>
+ <para>This parameter can be specified multiple times.
+ </para></listitem>
</varlistentry>
<varlistentry>
@@ -341,8 +388,8 @@
</varlistentry>
<varlistentry>
- <term><option>--cursor=</option></term>
<term><option>-c</option></term>
+ <term><option>--cursor=</option></term>
<listitem><para>Start showing entries
from the location in the journal
@@ -381,8 +428,8 @@
</varlistentry>
<varlistentry>
- <term><option>--field=</option></term>
<term><option>-F</option></term>
+ <term><option>--field=</option></term>
<listitem><para>Print all possible
data values the specified field can
@@ -391,10 +438,10 @@
</varlistentry>
<varlistentry>
- <term><option>--directory=</option></term>
<term><option>-D</option></term>
+ <term><option>--directory=</option></term>
- <listitem><para>Takes an absolute
+ <listitem><para>Takes a
directory path as argument. If
specified journalctl will operate on the
specified journal directory instead of
@@ -403,6 +450,20 @@
</varlistentry>
<varlistentry>
+ <term><option>--root=<replaceable>ROOT</replaceable></option></term>
+
+ <listitem><para>Takes a directory path
+ as argument. If specified journalctl
+ will operate on catalog file hierarchy
+ underneath the specified directory
+ instead of the root directory
+ (e.g. <option>--update-catalog</option>
+ will create
+ <filename><replaceable>ROOT</replaceable>/var/lib/systemd/catalog/database</filename>).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>--new-id128</option></term>
<listitem><para>Instead of showing
@@ -436,12 +497,39 @@
</varlistentry>
<varlistentry>
- <term><option>--list-catalog</option></term>
+ <term><option>--list-catalog
+ <optional><replaceable>ID128...</replaceable></optional>
+ </option></term>
<listitem><para>List the contents of
the message catalog, as table of
message IDs plus their short
- description strings.</para></listitem>
+ description strings.</para>
+
+ <para>If any
+ <replaceable>ID128</replaceable>s are
+ specified, only those entries are shown.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--dump-catalog
+ <optional><replaceable>ID128...</replaceable></optional>
+ </option></term>
+
+ <listitem><para>Show the contents of
+ the message catalog, with entries
+ separated by a line consisting of two
+ dashes and the id (the format is the
+ same as <filename>.catalog</filename>
+ files.</para>
+
+ <para>If any
+ <replaceable>ID128</replaceable>s are
+ specified, only those entries are shown.
+ </para>
+ </listitem>
</varlistentry>
<varlistentry>
@@ -518,7 +606,7 @@
<refsect1>
<title>Environment</title>
- <variablelist>
+ <variablelist class='environment-variables'>
<varlistentry>
<term><varname>$SYSTEMD_PAGER</varname></term>
<listitem><para>Pager to use when
@@ -564,7 +652,7 @@
<programlisting>journalctl /usr/bin/dbus-daemon</programlisting>
- <para>Show all logs of the kernel device node <filename>/dev/sda</filename>:</para>
+ <para>Show all logs of the kernel device node <filename noindex='true'>/dev/sda</filename>:</para>
<programlisting>journalctl /dev/sda</programlisting>
diff --git a/man/journald.conf.xml b/man/journald.conf.xml
index 30523c5370..6d54c94b57 100644
--- a/man/journald.conf.xml
+++ b/man/journald.conf.xml
@@ -183,7 +183,7 @@
messages is generated. This rate
limiting is applied per-service, so
that two services which log do not
- interfere with each others'
+ interfere with each other's
limits. Defaults to 200 messages in
10s. The time specification for
<varname>RateLimitInterval=</varname>
@@ -246,7 +246,7 @@
configured in
<varname>SystemMaxUse=</varname> and
<varname>RuntimeMaxUse=</varname> is
- available. Defaults to 5% of the size
+ available. Defaults to 15% of the size
of the respective file
system. <varname>SystemMaxFileSize=</varname>
and
@@ -322,6 +322,16 @@
seconds. </para></listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><varname>SyncIntervalSec=</varname></term>
+
+ <listitem><para>The timeout before syncing journal
+ data to disk. After syncing journal files have
+ OFFLINE state. Default timeout is 5 minutes.
+ </para></listitem>
+ </varlistentry>
+
<varlistentry>
<term><varname>ForwardToSyslog=</varname></term>
<term><varname>ForwardToKMsg=</varname></term>
@@ -404,7 +414,7 @@
<citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/kernel-command-line.xml b/man/kernel-command-line.xml
index 154d399d5a..6d064f6373 100644
--- a/man/kernel-command-line.xml
+++ b/man/kernel-command-line.xml
@@ -74,7 +74,7 @@
<refsect1>
<title>Core OS Command Line Arguments</title>
- <variablelist>
+ <variablelist class='kernel-commandline-options'>
<varlistentry>
<term><varname>systemd.unit=</varname></term>
<term><varname>rd.systemd.unit=</varname></term>
@@ -237,6 +237,8 @@
<term><varname>rd.luks.crypttab=</varname></term>
<term><varname>luks.uuid=</varname></term>
<term><varname>rd.luks.uuid=</varname></term>
+ <term><varname>luks.key=</varname></term>
+ <term><varname>rd.luks.key=</varname></term>
<listitem>
<para>Configures the LUKS
diff --git a/man/kernel-install.xml b/man/kernel-install.xml
new file mode 100644
index 0000000000..8c2abc747c
--- /dev/null
+++ b/man/kernel-install.xml
@@ -0,0 +1,189 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<!--
+This file is part of systemd.
+
+Copyright 2013 Harald Hoyer
+
+systemd is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or
+(at your option) any later version.
+
+systemd is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<refentry id="kernel-install">
+
+ <refentryinfo>
+ <title>kernel-install</title>
+ <productname>systemd</productname>
+
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Harald</firstname>
+ <surname>Hoyer</surname>
+ <email>harald@redhat.com</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>kernel-install</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>kernel-install</refname>
+ <refpurpose>Add and remove kernel and initramfs images to and from /boot</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>kernel-install</command>
+ <arg choice="plain">COMMAND</arg>
+ <arg choice="plain"><replaceable>KERNEL-VERSION</replaceable></arg>
+ <arg choice="opt"><replaceable>KERNEL-IMAGE</replaceable></arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+ <para>
+ <command>kernel-install</command> is used to install and remove kernel and
+ initramfs images to and from <filename>/boot</filename>.
+ </para>
+
+ <para><command>kernel-install</command> will execute the files
+ located in the directory <filename>/usr/lib/kernel/install.d/</filename>
+ and the local administration directory <filename>/etc/kernel/install.d/</filename>.
+ All files are collectively sorted and executed in lexical order, regardless of the directory in
+ which they live. However, files with identical file names replace each other.
+ Files in <filename>/etc/kernel/install.d/</filename> take precedence over files with the same name
+ in <filename>/usr/lib/kernel/install.d/</filename>. This can be used to override a system-supplied
+ executables with a local file if needed; a symbolic link in <filename>/etc/kernel/install.d/</filename>
+ with the same name as an executable in <filename>/usr/lib/kernel/install.d/</filename>,
+ pointing to /dev/null, disables the executable entirely. Executables must have the
+ extension .install; other extensions are ignored.</para>
+
+ </refsect1>
+
+ <refsect1>
+ <title>Commands</title>
+ <para>The following commands are understood:</para>
+ <variablelist>
+ <varlistentry>
+ <term><command>add <replaceable>KERNEL-VERSION</replaceable> <replaceable>KERNEL-IMAGE</replaceable></command></term>
+ <listitem>
+ <para><command>kernel-install</command> creates the directory
+ <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
+ and calls every executable
+ <filename>/usr/lib/kernel/install.d/*.install</filename> and
+ <filename>/etc/kernel/install.d/*.install</filename> with
+ the arguments
+ <programlisting>
+add <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
+ </programlisting>
+ </para>
+
+ <para>The kernel-install plugin <filename>50-depmod.install</filename> runs depmod for the <replaceable>KERNEL-VERSION</replaceable>.</para>
+
+ <para>The kernel-install plugin <filename>90-loaderentry.install</filename> copies
+ <replaceable>KERNEL-IMAGE</replaceable> to
+ <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/linux</filename>.
+ It also creates a boot loader entry according to the boot loader specification in
+ <filename>/boot/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>.conf</filename>.
+ The title of the entry is the <replaceable>PRETTY_NAME</replaceable> parameter specified in <filename>/etc/os-release</filename>,
+ or "Linux <replaceable>KERNEL-VERSION</replaceable>", if unset.
+ If the file <filename>initrd</filename> is found next to the
+ <filename>linux</filename> file, the initrd will be added to
+ the configuration.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>remove <replaceable>KERNEL-VERSION</replaceable></command></term>
+ <listitem>
+ <para>calls every executable <filename>/usr/lib/kernel/install.d/*.install</filename>
+ and <filename>/etc/kernel/install.d/*.install</filename> with the arguments
+ <programlisting>
+remove <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
+ </programlisting>
+ </para>
+
+ <para><command>kernel-install</command> removes the entire directory
+ <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename> afterwards.</para>
+
+ <para>The kernel-install plugin <filename>90-loaderentry.install</filename> removes the file
+ <filename>/boot/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>.conf</filename>.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </refsect1>
+
+ <refsect1>
+ <title>Exit status</title>
+ <para>If every executable returns with 0, 0 is returned, a non-zero failure code otherwise.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Files</title>
+ <variablelist>
+ <varlistentry>
+ <term>
+ <filename>/usr/lib/kernel/install.d/*.install</filename>
+ <filename>/etc/kernel/install.d/*.install</filename>
+ </term>
+ <listitem>
+ <para>Drop-in files, which are executed by kernel-install.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <filename>/etc/kernel/cmdline</filename>
+ <filename>/proc/cmdline</filename>
+ </term>
+ <listitem>
+ <para>The content of the file <filename>/etc/kernel/cmdline</filename> specifies the kernel command line to use.
+ If that file does not exist, <filename>/proc/cmdline</filename> is used.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <filename>/etc/machine-id</filename>
+ </term>
+ <listitem>
+ <para>The content of the file specifies the machine identification <replaceable>MACHINE-ID</replaceable>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <filename>/etc/os-release</filename>
+ </term>
+ <listitem>
+ <para>The content of the file specifies the operating system title <replaceable>PRETTY_NAME</replaceable>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <ulink url="http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec">Boot loader specification</ulink>
+ </para>
+ </refsect1>
+
+</refentry>
diff --git a/man/locale.conf.xml b/man/locale.conf.xml
index 06c0af0bf7..42634febac 100644
--- a/man/locale.conf.xml
+++ b/man/locale.conf.xml
@@ -129,7 +129,7 @@
<example>
<title>German locale with English messages</title>
- <para><filename>/etc/locale.conf:</filename></para>
+ <para><filename>/etc/locale.conf</filename>:</para>
<programlisting>LANG=de_DE.UTF-8
LC_MESSAGES=C</programlisting>
diff --git a/man/localectl.xml b/man/localectl.xml
index 33508cffe5..0b13c111a5 100644
--- a/man/localectl.xml
+++ b/man/localectl.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="localectl">
+<refentry id="localectl" conditional='ENABLE_LOCALED'>
<refentryinfo>
<title>localectl</title>
@@ -79,8 +79,8 @@
<variablelist>
<varlistentry>
- <term><option>--help</option></term>
<term><option>-h</option></term>
+ <term><option>--help</option></term>
<listitem><para>Prints a short help
text and exits.</para></listitem>
@@ -183,7 +183,7 @@
mapping of X11, after converting it to
the closest matching X11 keyboard
mapping. Use
- <command>list-locales</command> for a
+ <command>list-keymaps</command> for a
list of available keyboard mappings
(see below).</para></listitem>
</varlistentry>
@@ -194,7 +194,7 @@
<listitem><para>List available
keyboard mappings for the console,
useful for configuration with
- <command>set-keyboard</command>.</para></listitem>
+ <command>set-keymap</command>.</para></listitem>
</varlistentry>
<varlistentry>
@@ -215,6 +215,23 @@
mapping.</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><command>list-x11-keymap-models</command></term>
+ <term><command>list-x11-keymap-layouts</command></term>
+ <term><command>list-x11-keymap-variants [LAYOUT]</command></term>
+ <term><command>list-x11-keymap-options</command></term>
+
+ <listitem><para>List available X11
+ keymap models, layouts, variants and
+ options, useful for configuration with
+ <command>set-keymap</command>. The
+ command
+ <command>list-x11-keymap-variants</command>
+ optionally takes a layout parameter to
+ limit the output to the variants
+ suitable for the specific
+ layout.</para></listitem>
+ </varlistentry>
</variablelist>
</refsect1>
@@ -229,7 +246,7 @@
<refsect1>
<title>Environment</title>
- <variablelist>
+ <variablelist class='environment-variables'>
<varlistentry>
<term><varname>$SYSTEMD_PAGER</varname></term>
<listitem><para>Pager to use when
diff --git a/man/localtime.xml b/man/localtime.xml
index 88c84a3682..d3da4ed277 100644
--- a/man/localtime.xml
+++ b/man/localtime.xml
@@ -25,7 +25,7 @@
<refentry id="localtime">
<refentryinfo>
- <title>/etc/localtime</title>
+ <title>localtime</title>
<productname>systemd</productname>
<authorgroup>
diff --git a/man/loginctl.xml b/man/loginctl.xml
index 5dbc1f6967..2c8d982eda 100644
--- a/man/loginctl.xml
+++ b/man/loginctl.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="loginctl">
+<refentry id="loginctl" conditional='HAVE_PAM'>
<refentryinfo>
<title>loginctl</title>
@@ -69,8 +69,8 @@
<variablelist>
<varlistentry>
- <term><option>--help</option></term>
<term><option>-h</option></term>
+ <term><option>--help</option></term>
<listitem><para>Prints a short help
text and exits.</para></listitem>
@@ -84,8 +84,8 @@
</varlistentry>
<varlistentry>
- <term><option>--property=</option></term>
<term><option>-p</option></term>
+ <term><option>--property=</option></term>
<listitem><para>When showing
session/user properties, limit
@@ -101,8 +101,8 @@
</varlistentry>
<varlistentry>
- <term><option>--all</option></term>
<term><option>-a</option></term>
+ <term><option>--all</option></term>
<listitem><para>When showing
unit/job/manager properties, show all
@@ -110,6 +110,13 @@
set or not.</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--full</option></term>
+
+ <listitem><para>Do not ellipsize cgroup
+ members.</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><option>--no-pager</option></term>
@@ -141,8 +148,8 @@
</varlistentry>
<varlistentry>
- <term><option>--signal=</option></term>
<term><option>-s</option></term>
+ <term><option>--signal=</option></term>
<listitem><para>When used with
<command>kill-session</command> or
@@ -244,10 +251,12 @@
<varlistentry>
<term><command>lock-sessions</command></term>
+ <term><command>unlock-sessions</command></term>
- <listitem><para>Activate the screen
- lock on all current sessions
- supporting it.</para></listitem>
+ <listitem><para>Activates/deactivates
+ the screen lock on all current
+ sessions supporting
+ it.</para></listitem>
</varlistentry>
<varlistentry>
@@ -448,7 +457,7 @@
<refsect1>
<title>Environment</title>
- <variablelist>
+ <variablelist class='environment-variables'>
<varlistentry>
<term><varname>$SYSTEMD_PAGER</varname></term>
<listitem><para>Pager to use when
diff --git a/man/logind.conf.xml b/man/logind.conf.xml
index df15d51b5f..47ee0e73ff 100644
--- a/man/logind.conf.xml
+++ b/man/logind.conf.xml
@@ -22,7 +22,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="logind.conf">
+<refentry id="logind.conf" conditional='ENABLE_LOGIND'>
<refentryinfo>
<title>logind.conf</title>
<productname>systemd</productname>
@@ -142,6 +142,44 @@
</varlistentry>
<varlistentry>
+ <term><varname>IdleAction=</varname></term>
+
+ <listitem><para>Configures the action
+ to take when the system is idle. Takes
+ one of <literal>ignore</literal>,
+ <literal>poweroff</literal>,
+ <literal>reboot</literal>,
+ <literal>halt</literal>,
+ <literal>kexec</literal>,
+ <literal>suspend</literal>,
+ <literal>hibernate</literal>,
+ <literal>hybrid-sleep</literal>,
+ <literal>lock</literal>. Defaults to
+ <literal>ignore</literal>.</para>
+
+ <para>Note that this requires that
+ user sessions correctly report the
+ idle status to the system. The system
+ will execute the action after all
+ sessions reported that they are idle,
+ and no idle inhibitor lock is active,
+ and subsequently the time configured
+ with <varname>IdleActionSec=</varname>
+ (see below) has passed.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>IdleActionSec=</varname></term>
+
+ <listitem><para>Configures the delay
+ after which the action configured in
+ <varname>IdleAction=</varname> (see
+ above) is taken after the system is
+ idle.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><varname>KillOnlyUsers=</varname></term>
<term><varname>KillExcludeUsers=</varname></term>
@@ -169,10 +207,17 @@
<listitem><para>These settings control
the default control group hierarchies
- users logging in are added to. When
- logging in users will get private
- control groups in all hierarchies
- listed in
+ users logging in are added to, in
+ addition to the
+ <literal>name=systemd</literal> named
+ hierarchy. These settings take space
+ separated lists of controller
+ names. Pass the empty string to ensure
+ that logind does not touch any
+ hierarchies but systemd's own. When
+ logging in user sessions will get
+ private control groups in all
+ hierarchies listed in
<varname>Controllers=</varname> and be
reset to the root control group in all
hierarchies listed in
@@ -180,7 +225,15 @@
defaults to the empty list,
<varname>ResetControllers=</varname>
defaults to
- <literal>cpu</literal>.</para></listitem>
+ <literal>cpu</literal>. Note that for
+ all controllers that are not listed in
+ either <varname>Controllers=</varname>
+ nor
+ <varname>ResetControllers=</varname>
+ newly created sessions will be part of
+ the control groups of the system
+ service that created the
+ session.</para></listitem>
</varlistentry>
<varlistentry>
@@ -291,7 +344,7 @@
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/machine-id.xml b/man/machine-id.xml
index 7d424b705b..1e558a6178 100644
--- a/man/machine-id.xml
+++ b/man/machine-id.xml
@@ -24,7 +24,7 @@
<refentry id="machine-id">
<refentryinfo>
- <title>/etc/machine-id</title>
+ <title>machine-id</title>
<productname>systemd</productname>
<authorgroup>
@@ -75,7 +75,7 @@
logic as the D-Bus machine ID.</para>
<para>Programs may use this ID to identify the host
- with a globally unique ID in the network, that does
+ with a globally unique ID in the network, which does
not change even if the local network configuration
changes. Due to this and its greater length it is
a more useful replacement for the
diff --git a/man/modules-load.d.xml b/man/modules-load.d.xml
index bcc4d12561..ce94bef7a7 100644
--- a/man/modules-load.d.xml
+++ b/man/modules-load.d.xml
@@ -19,7 +19,7 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="modules-load.d">
+<refentry id="modules-load.d" conditional='HAVE_KMOD'>
<refentryinfo>
<title>modules-load.d</title>
@@ -58,7 +58,7 @@
reads files from the above directories which contain
kernel modules to load during boot in a static list.
Each configuration file is named in the style of
- <filename>/etc/modules-load.d/&lt;program&gt;.conf</filename>. Note
+ <filename>/etc/modules-load.d/<replaceable>program</replaceable>.conf</filename>. Note
that it is usually a better idea to rely on the
automatic module loading by PCI IDs, USB IDs, DMI IDs
or similar triggers encoded in the kernel modules
@@ -76,7 +76,7 @@
non-whitespace character is # or ; are ignored.</para>
<para>Each configuration file shall be named in the
- style of <filename>&lt;program&gt;.conf</filename>.
+ style of <filename><replaceable>program</replaceable>.conf</filename>.
Files in <filename>/etc/</filename> override files
with the same name in <filename>/usr/lib/</filename>
and <filename>/run/</filename>. Files in
diff --git a/man/nss-myhostname.xml b/man/nss-myhostname.xml
index bd3f635692..c0e2b828be 100644
--- a/man/nss-myhostname.xml
+++ b/man/nss-myhostname.xml
@@ -22,7 +22,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="nss-myhostname">
+<refentry id="nss-myhostname" conditional='HAVE_MYHOSTNAME'>
<refentryinfo>
<title>nss-myhostname</title>
@@ -50,9 +50,7 @@
</refnamediv>
<refsynopsisdiv>
- <cmdsynopsis>
- <command>nss-myhostname.la</command>
- </cmdsynopsis>
+ <para><filename>nss-myhostname.la</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -70,7 +68,7 @@
<filename>/etc</filename> file system and is fragile because the file
might be edited by the administrator at the same time. <command>nss-myhostname</command>
simply returns all locally configure public IP addresses, or -- if none
- are configured -- the IPv4 address 127.0.0.2 (wich is on the local
+ are configured -- the IPv4 address 127.0.0.2 (which is on the local
loopback) and the IPv6 address ::1 (which is the local host) for
whatever system hostname is configured locally. Patching
<filename>/etc/hosts</filename> is thus no longer necessary.</para>
diff --git a/man/os-release.xml b/man/os-release.xml
index 98320efe31..45babd61b9 100644
--- a/man/os-release.xml
+++ b/man/os-release.xml
@@ -298,6 +298,28 @@
<literal>BUG_REPORT_URL="https://bugzilla.redhat.com/"</literal></para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>BUILD_ID=</varname></term>
+
+ <listitem><para>A string uniquely
+ identifying the system image used as
+ the origin for a distribution (it is
+ not updated with system updates). The
+ field can be identical between
+ different VERSION_IDs as BUILD_ID is
+ an only a unique identifier to a
+ specific version. Distributions that
+ release each update as a new version
+ would only need to use VERSION_ID as
+ each build is already distinct based
+ on the VERSION_ID. This field is
+ optional. Example:
+ <literal>BUILD_ID="2013-03-20.3"</literal>
+ or
+ <literal>BUILD_ID=201303203</literal>.
+
+ </para></listitem>
+ </varlistentry>
</variablelist>
diff --git a/man/pam_systemd.xml b/man/pam_systemd.xml
index 600bfd71b4..2dc6651885 100644
--- a/man/pam_systemd.xml
+++ b/man/pam_systemd.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="pam_systemd">
+<refentry id="pam_systemd" conditional='HAVE_PAM'>
<refentryinfo>
<title>pam_systemd</title>
@@ -48,9 +48,7 @@
</refnamediv>
<refsynopsisdiv>
- <cmdsynopsis>
- <command>pam_systemd.so</command>
- </cmdsynopsis>
+ <para><filename>pam_systemd.so</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -118,7 +116,7 @@
<para>The following options are understood:</para>
- <variablelist>
+ <variablelist class='pam-directives'>
<varlistentry>
<term><option>kill-session-processes=</option></term>
@@ -247,7 +245,7 @@
<para>The following environment variables are set for the processes of the user's session:</para>
- <variablelist>
+ <variablelist class='environment-variables'>
<varlistentry>
<term><varname>$XDG_SESSION_ID</varname></term>
diff --git a/man/runlevel.xml b/man/runlevel.xml
index 02d5371c5d..6d9fe85726 100644
--- a/man/runlevel.xml
+++ b/man/runlevel.xml
@@ -96,7 +96,7 @@
<refsect1>
<title>Environment</title>
- <variablelist>
+ <variablelist class='environment-variables'>
<varlistentry>
<term><varname>$RUNLEVEL</varname></term>
@@ -124,7 +124,7 @@
<variablelist>
<varlistentry>
- <term><varname>/var/run/utmp</varname></term>
+ <term><filename>/var/run/utmp</filename></term>
<listitem><para>The utmp database
<command>runlevel</command> reads the
diff --git a/man/sd-login.xml b/man/sd-login.xml
index c02ad0c146..697259564d 100644
--- a/man/sd-login.xml
+++ b/man/sd-login.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="sd-login">
+<refentry id="sd-login" conditional='HAVE_PAM'>
<refentryinfo>
<title>sd-login</title>
diff --git a/man/sd-readahead.xml b/man/sd-readahead.xml
index cebaa5da2b..f8a0a0b559 100644
--- a/man/sd-readahead.xml
+++ b/man/sd-readahead.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="sd-daemon">
+<refentry id="sd-readahead" conditional='ENABLE_READAHEAD'>
<refentryinfo>
<title>sd-readahead</title>
diff --git a/man/sd_booted.xml b/man/sd_booted.xml
index 34f2cbfbc8..ce5a34dc86 100644
--- a/man/sd_booted.xml
+++ b/man/sd_booted.xml
@@ -85,11 +85,10 @@
implementation.</para>
<para>Internally, this function checks whether the
- <filename>/sys/fs/cgroup/systemd</filename> virtual file
- system is mounted, by comparing the st_dev value of
- the <function>stat()</function> data of
- <filename>/sys/fs/cgroup</filename> and
- <filename>/sys/fs/cgroup/systemd</filename>.</para>
+ directory <filename>/run/systemd/system/</filename>
+ exists. A simple check like this can also be
+ implemented trivially in shell or any other
+ language.</para>
<para>For details about the algorithm check the
liberally licensed reference implementation sources:
diff --git a/man/sd_get_seats.xml b/man/sd_get_seats.xml
index 17adcef745..9bc866dc68 100644
--- a/man/sd_get_seats.xml
+++ b/man/sd_get_seats.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="sd_get_seats">
+<refentry id="sd_get_seats" conditional='HAVE_PAM'>
<refentryinfo>
<title>sd_get_seats</title>
@@ -46,7 +46,8 @@
<refname>sd_get_seats</refname>
<refname>sd_get_sessions</refname>
<refname>sd_get_uids</refname>
- <refpurpose>Determine available seats, sessions and logged in users</refpurpose>
+ <refname>sd_get_machine_names</refname>
+ <refpurpose>Determine available seats, sessions, logged in users and virtual machines/containers</refpurpose>
</refnamediv>
<refsynopsisdiv>
@@ -65,7 +66,12 @@
<funcprototype>
<funcdef>int <function>sd_get_uids</function></funcdef>
- <paramdef>char*** <parameter>sessions</parameter></paramdef>
+ <paramdef>uid_t** <parameter>users</parameter></paramdef>
+ </funcprototype>
+
+ <funcprototype>
+ <funcdef>int <function>sd_get_machine_names</function></funcdef>
+ <paramdef>char*** <parameter>machines</parameter></paramdef>
</funcprototype>
</funcsynopsis>
@@ -90,6 +96,11 @@
<para>Similar, <function>sd_get_uids()</function> may
be used to determine all Unix users who currently have login sessions.</para>
+ <para>Similar,
+ <function>sd_get_machine_names()</function> may be
+ used to determine all current virtual machines and
+ containers on the system.</para>
+
<para>Note that the returned lists are not sorted and in an undefined order.</para>
</refsect1>
@@ -97,18 +108,20 @@
<title>Return Value</title>
<para>On success <function>sd_get_seats()</function>,
- <function>sd_get_sessions()</function> and
- <function>sd_get_uids()</function> return the number
- of entries in the arrays. On failure, these calls
- return a negative errno-style error code.</para>
+ <function>sd_get_sessions()</function>,
+ <function>sd_get_uids()</function> and
+ <function>sd_get_machine_names()</function> return the
+ number of entries in the arrays. On failure, these
+ calls return a negative errno-style error code.</para>
</refsect1>
<refsect1>
<title>Notes</title>
<para>The <function>sd_get_seats()</function>,
- <function>sd_get_sessions()</function> and
- <function>sd_get_uids()</function> interfaces
+ <function>sd_get_sessions()</function>,
+ <function>sd_get_uids()</function> and
+ <function>sd_get_machine_names()</function> interfaces
are available as shared library, which can be compiled
and linked to with the
<literal>libsystemd-login</literal>
diff --git a/man/sd_id128_to_string.xml b/man/sd_id128_to_string.xml
index ec8b263e0d..593d0752d5 100644
--- a/man/sd_id128_to_string.xml
+++ b/man/sd_id128_to_string.xml
@@ -59,7 +59,7 @@
<funcprototype>
<funcdef>int <function>sd_id128_from_string</function></funcdef>
- <paramdef>const char <parameter>s</parameter>[33], sd_id128_t* <parameter>ret</parameter></paramdef>
+ <paramdef>const char* <parameter>s</parameter>, sd_id128_t* <parameter>ret</parameter></paramdef>
</funcprototype>
</funcsynopsis>
@@ -77,14 +77,19 @@
<para><function>sd_id128_from_string()</function>
implements the reverse operation: it takes a 33
- character array with 32 hexadecimal digits
- (terminated by NUL) and parses them back into an
- 128 bit ID returned in
- <parameter>ret</parameter>.</para>
+ character string with 32 hexadecimal digits
+ (either lowercase or uppercase, terminated by NUL) and parses them back into an 128
+ bit ID returned in
+ <parameter>ret</parameter>. Alternatively, this call
+ can also parse a 37 character string with a 128bit ID
+ formatted as RFC UUID.</para>
<para>For more information about the
<literal>sd_id128_t</literal> type see
- <citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
+ <citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>. Note
+ that these calls operate the same way on all
+ architectures, i.e. the results do not depend on
+ endianess.</para>
<para>When formatting a 128 bit ID into a string it is
often easier to use a format string for
diff --git a/man/sd_journal_add_match.xml b/man/sd_journal_add_match.xml
index ad2486d749..549785ca83 100644
--- a/man/sd_journal_add_match.xml
+++ b/man/sd_journal_add_match.xml
@@ -45,6 +45,7 @@
<refnamediv>
<refname>sd_journal_add_match</refname>
<refname>sd_journal_add_disjunction</refname>
+ <refname>sd_journal_add_conjunction</refname>
<refname>sd_journal_flush_matches</refname>
<refpurpose>Add or remove entry matches</refpurpose>
</refnamediv>
@@ -66,7 +67,12 @@
</funcprototype>
<funcprototype>
- <funcdef>int <function>sd_journal_flush_matches</function></funcdef>
+ <funcdef>int <function>sd_journal_add_conjunction</function></funcdef>
+ <paramdef>sd_journal* <parameter>j</parameter></paramdef>
+ </funcprototype>
+
+ <funcprototype>
+ <funcdef>void <function>sd_journal_flush_matches</function></funcdef>
<paramdef>sd_journal* <parameter>j</parameter></paramdef>
</funcprototype>
</funcsynopsis>
@@ -105,21 +111,45 @@
<para><function>sd_journal_add_disjunction()</function>
may be used to insert a disjunction (i.e. logical OR)
in the match list. If this call is invoked all
- previously added matches are combined in an OR with
- all matches added afterwards, until
- <function>sd_journal_add_disjunction()</function> is
- invoked again to begin the next OR term. The
+ previously added matches since the last invocation of
+ <function>sd_journal_add_disjunction()</function> or
+ <function>sd_journal_add_conjunction()</function> are
+ combined in an OR with all matches added afterwards,
+ until
+ <function>sd_journal_add_disjunction()</function> or
+ <function>sd_journal_add_conjunction()</function> is
+ invoked again to begin the next OR or AND
+ term. </para>
+
+ <para><function>sd_journal_add_conjunction()</function>
+ may be used to insert a conjunction (i.e. logical AND)
+ in the match list. If this call is invoked all
+ previously added matches since the last invocation of
+ <function>sd_journal_add_conjunction()</function> are
+ combined in an AND with all matches added afterwards,
+ until
+ <function>sd_journal_add_conjunction()</function> is
+ invoked again to begin the next AND term. The
combination of
- <function>sd_journal_add_match()</function> and
- <function>sd_journal_add_disjunction()</function> may
+ <function>sd_journal_add_match()</function>,
+ <function>sd_journal_add_disjunction()</function> and
+ <function>sd_journal_add_conjunction()</function> may
be used to build complex search terms, even though
- full logical expressions are not available.</para>
+ full logical expressions are not available. Note that
+ <function>sd_journal_add_conjunction()</function>
+ operates one level 'higher' than
+ <function>sd_journal_add_disjunction()</function>. It
+ is hence possible to build an expression of AND terms,
+ consisting of OR terms, consisting of AND terms,
+ consisting of OR terms of matches (the latter OR
+ expression is implicitly created for matches with the
+ same field name, see above).</para>
<para><function>sd_journal_flush_matches()</function>
- may be used to flush all matches and disjunction terms
- again. After this call all filtering is removed and
- all entries in the journal will be iterated
- again.</para>
+ may be used to flush all matches, disjunction and
+ conjunction terms again. After this call all filtering
+ is removed and all entries in the journal will be
+ iterated again.</para>
<para>Note that filtering via matches only applies to
the way the journal is read, it has no effect on storage
@@ -129,8 +159,9 @@
<refsect1>
<title>Return Value</title>
- <para><function>sd_journal_add_match()</function> and
- <function>sd_journal_add_disjunction()</function>
+ <para><function>sd_journal_add_match()</function>,
+ <function>sd_journal_add_disjunction()</function> and
+ <function>sd_journal_add_conjunction()</function>
return 0 on success or a negative errno-style error
code. <function>sd_journal_flush_matches()</function>
returns nothing.</para>
@@ -140,10 +171,11 @@
<title>Notes</title>
<para>The <function>sd_journal_add_match()</function>,
- <function>sd_journal_add_disjunction()</function> and
- <function>sd_journal_flush_matches()</function> interfaces are
- available as shared library, which can be compiled and
- linked to with the
+ <function>sd_journal_add_disjunction()</function>,
+ <function>sd_journal_add_conjunction()</function> and
+ <function>sd_journal_flush_matches()</function>
+ interfaces are available as shared library, which can
+ be compiled and linked to with the
<literal>libsystemd-journal</literal>
<citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
file.</para>
diff --git a/man/sd_journal_get_catalog.xml b/man/sd_journal_get_catalog.xml
index fa9bbc9b2d..719d77f723 100644
--- a/man/sd_journal_get_catalog.xml
+++ b/man/sd_journal_get_catalog.xml
@@ -55,13 +55,13 @@
<funcprototype>
<funcdef>int <function>sd_journal_get_catalog</function></funcdef>
<paramdef>sd_journal* <parameter>j</parameter></paramdef>
- <paramdef>const char** <parameter>ret</parameter></paramdef>
+ <paramdef>char** <parameter>ret</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_journal_get_catalog_for_message_id</function></funcdef>
<paramdef>sd_id128_t <parameter>id</parameter></paramdef>
- <paramdef>const char** <parameter>ret</parameter></paramdef>
+ <paramdef>char** <parameter>ret</parameter></paramdef>
</funcprototype>
@@ -89,7 +89,7 @@
<function>sd_journal_get_catalog()</function> but the
entry is looked up by the specified message ID (no
open journal context is necessary for this), and no
- field substitution is done.</para>
+ field substitution is performed.</para>
<para>For more information about the journal message
catalog please refer to the <ulink
@@ -103,9 +103,14 @@
<para><function>sd_journal_get_catalog()</function>
and
<function>sd_journal_get_catalog_for_message_id()</function>
- returns 0 on success or a negative errno-style error
+ return 0 on success or a negative errno-style error
code. If no matching message catalog entry is found
-ENOENT is returned.</para>
+
+ <para>On successful return, <parameter>ret</parameter>
+ points to a new string, which must be freed with
+ <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+ </para>
</refsect1>
<refsect1>
@@ -130,6 +135,7 @@
<citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/sd_journal_get_cursor.xml b/man/sd_journal_get_cursor.xml
index 354168bee2..1b0e775bb4 100644
--- a/man/sd_journal_get_cursor.xml
+++ b/man/sd_journal_get_cursor.xml
@@ -108,7 +108,7 @@
comparing cursors is not possible. Use this call to
verify after an invocation of
<citerefentry><refentrytitle>sd_journal_seek_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>
- whether the entry being seeked to was actually found
+ whether the entry being sought to was actually found
in the journal or the next closest entry was used
instead.</para>
</refsect1>
diff --git a/man/sd_journal_get_fd.xml b/man/sd_journal_get_fd.xml
index 189d21352b..33d2980b3b 100644
--- a/man/sd_journal_get_fd.xml
+++ b/man/sd_journal_get_fd.xml
@@ -44,9 +44,11 @@
<refnamediv>
<refname>sd_journal_get_fd</refname>
- <refname>sd_journal_reliable_fd</refname>
+ <refname>sd_journal_get_events</refname>
+ <refname>sd_journal_get_timeout</refname>
<refname>sd_journal_process</refname>
<refname>sd_journal_wait</refname>
+ <refname>sd_journal_reliable_fd</refname>
<refname>SD_JOURNAL_NOP</refname>
<refname>SD_JOURNAL_APPEND</refname>
<refname>SD_JOURNAL_INVALIDATE</refname>
@@ -64,8 +66,14 @@
</funcprototype>
<funcprototype>
- <funcdef>int <function>sd_journal_reliable_fd</function></funcdef>
+ <funcdef>int <function>sd_journal_get_events</function></funcdef>
+ <paramdef>sd_journal* <parameter>j</parameter></paramdef>
+ </funcprototype>
+
+ <funcprototype>
+ <funcdef>int <function>sd_journal_get_timeout</function></funcdef>
<paramdef>sd_journal* <parameter>j</parameter></paramdef>
+ <paramdef>uint64_t* <parameter>timeout_usec</parameter></paramdef>
</funcprototype>
<funcprototype>
@@ -79,6 +87,11 @@
<paramdef>uint64_t <parameter>timeout_usec</parameter></paramdef>
</funcprototype>
+ <funcprototype>
+ <funcdef>int <function>sd_journal_reliable_fd</function></funcdef>
+ <paramdef>sd_journal* <parameter>j</parameter></paramdef>
+ </funcprototype>
+
</funcsynopsis>
</refsynopsisdiv>
@@ -87,79 +100,125 @@
<para><function>sd_journal_get_fd()</function> returns
a file descriptor that may be asynchronously polled in
- an external event loop and is signaled readable as
- soon as the journal changes, because new entries or
- files were added, rotation took place, or files have
- been deleted, and similar. The file descriptor is
- suitable for usage in
- <citerefentry><refentrytitle>poll</refentrytitle><manvolnum>2</manvolnum></citerefentry>
- where it will yield POLLIN on changes. The call takes
- one argument: the journal context object. Note that
- not all file systems are capable of generating the
- necessary events for wakeups from this file descriptor
- to be enirely reliable. In particular network files
+ an external event loop and is signaled as soon as the
+ journal changes, because new entries or files were
+ added, rotation took place, or files have been
+ deleted, and similar. The file descriptor is suitable
+ for usage in
+ <citerefentry><refentrytitle>poll</refentrytitle><manvolnum>2</manvolnum></citerefentry>. Use
+ <function>sd_journal_get_events()</function> for an
+ events mask to watch for. The call takes one argument:
+ the journal context object. Note that not all file
+ systems are capable of generating the necessary events
+ for wakeups from this file descriptor for changes to
+ be noticed immediately. In particular network files
systems do not generate suitable file change events in
- all cases. In such a case an application should not
- rely alone on wake-ups from this file descriptor but
- wake up and recheck the journal in regular time
- intervals, for example every 2s. To detect
- cases where this is necessary, use
+ all cases. Cases like this can be detected with
<function>sd_journal_reliable_fd()</function>,
- below.</para>
+ below. <function>sd_journal_get_timeout()</function>
+ will ensure in these cases that wake-ups happen
+ frequently enough for changes to be noticed, although
+ with a certain latency.</para>
+
+ <para><function>sd_journal_get_events()</function>
+ will return the <function>poll()</function> mask to
+ wait for. This function will return a combination of
+ <literal>POLLIN</literal> and
+ <literal>POLLOUT</literal> and similar to fill into
+ the <literal>.events</literal> field of
+ <literal>struct pollfd</literal>.</para>
+
+ <para><function>sd_journal_get_timeout()</function>
+ will return a timeout value for usage in <function>poll()</function>. This returns a value in microseconds since the epoch of CLOCK_MONOTONIC for timing out <function>poll()</function> in <literal>timeout_usec</literal>. See
+ <citerefentry><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ for details about
+ <literal>CLOCK_MONOTONIC</literal>. If there's no
+ timeout to wait for this will fill in
+ <literal>(uint64_t) -1</literal> instead. Note that
+ <function>poll()</function> takes a relative timeout
+ in milliseconds rather than an absolute timeout in
+ microseconds. To convert the absolute 'us' timeout into
+ relative 'ms', use code like the following:</para>
+
+ <programlisting>uint64_t t;
+int msec;
+sd_journal_get_timeout(m, &amp;t);
+if (t == (uint64_t) -1)
+ msec = -1;
+else {
+ struct timespec ts;
+ uint64_t n;
+ clock_getttime(CLOCK_MONOTONIC, &amp;ts);
+ n = (uint64_t) ts.tv_sec * 1000000 + ts.tv_nsec / 1000;
+ msec = t > n ? (int) ((t - n + 999) / 1000) : 0;
+}</programlisting>
- <para><function>sd_journal_reliable_fd()</function>
- may be used to check whether the wakeup events from
- the file descriptor returned by
- <function>sd_journal_get_fd</function> are sufficient
- to track changes to the journal. If this call returns
- 0, it is necessary to regularly recheck for journal
- changes (suggestion: every 2s). If this call returns a
- positive integer this is not necessary, and wakeups
- from the file descriptor returned by
- <function>sd_journal_get_fd()</function> are
- sufficient as only source for wake-ups.</para>
-
- <para>After each POLLIN wake-up
+ <para>The code above does not do any error checking
+ for brevity's sake. The calculated <literal>msec</literal>
+ integer can be passed directly as
+ <function>poll()</function>'s timeout
+ parameter.</para>
+
+ <para>After each <function>poll()</function> wake-up
<function>sd_journal_process()</function> needs to be
- called to process events and reset the readable state
- of the file descriptor. This call will also indicate
+ called to process events. This call will also indicate
what kind of change has been detected (see below; note
that spurious wake-ups are possible).</para>
<para>A synchronous alternative for using
<function>sd_journal_get_fd()</function>,
- <function>sd_journal_reliable_fd()</function> and
+ <function>sd_journal_get_events()</function>,
+ <function>sd_journal_get_timeout()</function> and
<function>sd_journal_process()</function> is
<function>sd_journal_wait()</function>. It will
- synchronously wait until the journal gets changed,
- possibly using a 2s time-out if this is necessary (see
- above). In either way the maximum time this call
- sleeps may be controlled with the
- <parameter>timeout_usec</parameter> parameter. Pass
- <literal>(uint64_t) -1</literal> to wait
- indefinitely. Internally this call simply combines
- <function>sd_journal_get_fd()</function>,
- <function>sd_journal_reliable_fd()</function>,
+ synchronously wait until the journal gets changed. The
+ maximum time this call sleeps may be controlled with
+ the <parameter>timeout_usec</parameter>
+ parameter. Pass <literal>(uint64_t) -1</literal> to
+ wait indefinitely. Internally this call simply
+ combines <function>sd_journal_get_fd()</function>,
+ <function>sd_journal_get_events()</function>,
+ <function>sd_journal_get_timeout()</function>,
<function>poll()</function> and
<function>sd_journal_process()</function> into
one.</para>
+ <para><function>sd_journal_reliable_fd()</function>
+ may be used to check whether the wakeup events from
+ the file descriptor returned by
+ <function>sd_journal_get_fd()</function> are known to
+ be immediately triggered. On certain file systems
+ where file change events from the OS are not available
+ (such as NFS) changes need to be polled for
+ repeatedly, and hence are detected only with a certain
+ latency. This call will return a positive value if the
+ journal changes are detected immediately and zero when
+ they need to be polled for and hence might be noticed
+ only with a certain latency. Note that there's usually
+ no need to invoke this function directly as
+ <function>sd_journal_get_timeout()</function> on these
+ file systems will ask for timeouts explicitly
+ anyway.</para>
</refsect1>
<refsect1>
<title>Return Value</title>
- <para><function>sd_journal_get_fd()</function> returns a valid file descriptor on success or a negative errno-style error
- code.</para>
+ <para><function>sd_journal_get_fd()</function> returns
+ a valid file descriptor on success or a negative
+ errno-style error code.</para>
+
+ <para><function>sd_journal_get_events()</function>
+ returns a combination of <literal>POLLIN</literal>,
+ <literal>POLLOUT</literal> and suchlike on success or
+ a negative errno-style error code.</para>
<para><function>sd_journal_reliable_fd()</function>
returns a positive integer if the file descriptor
returned by <function>sd_journal_get_fd()</function>
- is sufficient as sole wake-up source for journal
- change events. Returns 0 if it is not sufficient and
- the journal needs to be checked manually in regular
- time intervals for changes. Returns a negative
- errno-style error code on failure.</para>
+ will generate wake-ups immediately for all journal
+ changes. Returns 0 if there might be a latency
+ involved.</para>
<para><function>sd_journal_process()</function> and
<function>sd_journal_wait()</function> return one of
@@ -184,6 +243,7 @@
<title>Notes</title>
<para>The <function>sd_journal_get_fd()</function>,
+ <function>sd_journal_get_events()</function>,
<function>sd_journal_reliable_fd()</function>,
<function>sd_journal_process()</function> and
<function>sd_journal_wait()</function> interfaces are
@@ -212,7 +272,7 @@ int main(int argc, char *argv[]) {
return 1;
}
for (;;) {
- const char *d;
+ const void *d;
size_t l;
r = sd_journal_next(j);
if (r &lt; 0) {
@@ -233,7 +293,7 @@ int main(int argc, char *argv[]) {
fprintf(stderr, "Failed to read message field: %s\n", strerror(-r));
continue;
}
- printf("%.*s\n", (int) l, d);
+ printf("%.*s\n", (int) l, (const char*) d);
}
sd_journal_close(j);
return 0;
@@ -248,15 +308,27 @@ int main(int argc, char *argv[]) {
int wait_for_changes(sd_journal *j) {
struct pollfd pollfd;
- pollfd.fd = sd_journal_get_fd();
- pollfd.events = POLLIN;
- poll(&amp;pollfd, 1, sd_journal_reliable_fd() &gt; 0 ? -1 : 2000);
+ int msec;
+
+ sd_journal_get_timeout(m, &amp;t);
+ if (t == (uint64_t) -1)
+ msec = -1;
+ else {
+ struct timespec ts;
+ uint64_t n;
+ clock_getttime(CLOCK_MONOTONIC, &amp;ts);
+ n = (uint64_t) ts.tv_sec * 1000000 + ts.tv_nsec / 1000;
+ msec = t > n ? (int) ((t - n + 999) / 1000) : 0;
+ }
+
+ pollfd.fd = sd_journal_get_fd(j);
+ pollfd.events = sd_journal_get_events(j);
+ poll(&amp;pollfd, 1, msec);
return sd_journal_process(j);
}
</programlisting>
</refsect1>
-
<refsect1>
<title>See Also</title>
@@ -265,7 +337,8 @@ int wait_for_changes(sd_journal *j) {
<citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>poll</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>poll</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/sd_journal_get_usage.xml b/man/sd_journal_get_usage.xml
index 14eb1e2b79..a2b868f218 100644
--- a/man/sd_journal_get_usage.xml
+++ b/man/sd_journal_get_usage.xml
@@ -64,12 +64,12 @@
<title>Description</title>
<para><function>sd_journal_get_usage()</function>
- determines the total disk space currently used up by
- journal files. If
- <literal>SD_JOURNAL_LOCAL_ONLY</literal> has been
- passed when opening the journal files this value will
- only reflect the size of journal files of the local
- host, otherwise of all hosts.</para>
+ determines the total disk space currently used by
+ journal files (in bytes). If
+ <literal>SD_JOURNAL_LOCAL_ONLY</literal> was passed
+ when opening the journal this value will only reflect
+ the size of journal files of the local host, otherwise
+ of all hosts.</para>
</refsect1>
<refsect1>
diff --git a/man/sd_journal_seek_head.xml b/man/sd_journal_seek_head.xml
index 3716c5d367..d24b2f30ee 100644
--- a/man/sd_journal_seek_head.xml
+++ b/man/sd_journal_seek_head.xml
@@ -101,7 +101,7 @@
<para><function>sd_journal_seek_monotonic_usec()</function>
seeks to the entry with the specified monotonic
- timestamp, i.e. CLOCK_MONOOTONIC. Since monotonic time
+ timestamp, i.e. CLOCK_MONOTONIC. Since monotonic time
restarts on every reboot a boot ID needs to be
specified as well.</para>
diff --git a/man/sd_listen_fds.xml b/man/sd_listen_fds.xml
index b891b6b039..9c8fdbccaf 100644
--- a/man/sd_listen_fds.xml
+++ b/man/sd_listen_fds.xml
@@ -168,7 +168,7 @@
<refsect1>
<title>Environment</title>
- <variablelist>
+ <variablelist class='environment-variables'>
<varlistentry>
<term><varname>$LISTEN_PID</varname></term>
<term><varname>$LISTEN_FDS</varname></term>
diff --git a/man/sd_login_monitor_new.xml b/man/sd_login_monitor_new.xml
index 35cb6b368b..26af0ea247 100644
--- a/man/sd_login_monitor_new.xml
+++ b/man/sd_login_monitor_new.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="sd_login_monitor_new">
+<refentry id="sd_login_monitor_new" conditional='HAVE_PAM'>
<refentryinfo>
<title>sd_login_monitor_new</title>
@@ -47,8 +47,10 @@
<refname>sd_login_monitor_unref</refname>
<refname>sd_login_monitor_flush</refname>
<refname>sd_login_monitor_get_fd</refname>
+ <refname>sd_login_monitor_get_events</refname>
+ <refname>sd_login_monitor_get_timeout</refname>
<refname>sd_login_monitor</refname>
- <refpurpose>Monitor login sessions, seats and users</refpurpose>
+ <refpurpose>Monitor login sessions, seats, users and virtual machines/containers</refpurpose>
</refnamediv>
<refsynopsisdiv>
@@ -76,6 +78,17 @@
<paramdef>sd_login_monitor* <parameter>m</parameter></paramdef>
</funcprototype>
+ <funcprototype>
+ <funcdef>int <function>sd_login_monitor_get_events</function></funcdef>
+ <paramdef>sd_login_monitor* <parameter>m</parameter></paramdef>
+ </funcprototype>
+
+ <funcprototype>
+ <funcdef>int <function>sd_login_monitor_get_timeout</function></funcdef>
+ <paramdef>sd_login_monitor* <parameter>m</parameter></paramdef>
+ <paramdef>uint64_t* <parameter>timeout_usec</parameter></paramdef>
+ </funcprototype>
+
</funcsynopsis>
</refsynopsisdiv>
@@ -83,23 +96,26 @@
<title>Description</title>
<para><function>sd_login_monitor_new()</function> may
- be used to monitor login sessions, users and seats. Via
- a monitor object a file descriptor can be integrated
- into an application defined event loop which is woken
- up each time a user logs in, logs out or a seat is
- added or removed, or a session, user, or seat changes
- state otherwise. The first parameter takes a string
- which can be <literal>seat</literal> (to get
+ be used to monitor login sessions, users, seats and
+ virtual machines/containers. Via a monitor object a
+ file descriptor can be integrated into an application
+ defined event loop which is woken up each time a user
+ logs in, logs out or a seat is added or removed, or a
+ session, user, seat or virtual machine/container
+ changes state otherwise. The first parameter takes a
+ string which can be <literal>seat</literal> (to get
only notifications about seats being added, removed or
changed), <literal>session</literal> (to get only
notifications about sessions being created or removed
- or changed) or <literal>uid</literal> (to get only
+ or changed), <literal>uid</literal> (to get only
notifications when a user changes state in respect to
- logins). If notifications shall be generated in all
- these conditions, NULL may be passed. Note that in the
- future additional categories may be defined. The
- second parameter returns a monitor object and needs to
- be freed with the
+ logins) or <literal>machine</literal> (to get only
+ notifications when a virtual machine or container is
+ started or stopped). If notifications shall be
+ generated in all these conditions, NULL may be
+ passed. Note that in the future additional categories
+ may be defined. The second parameter returns a monitor
+ object and needs to be freed with the
<function>sd_login_monitor_unref()</function> call
after use.</para>
@@ -122,26 +138,78 @@
application defined event loop, based around
<citerefentry><refentrytitle>poll</refentrytitle><manvolnum>2</manvolnum></citerefentry>
or a similar interface. The application should include
- the returned file descriptor as wake up source for
- POLLIN events. Whenever a wake-up is triggered the
- file descriptor needs to be reset via
+ the returned file descriptor as wake-up source for the
+ events mask returned by
+ <function>sd_login_monitor_get_events()</function>. It
+ should pass a timeout value as returned by
+ <function>sd_login_monitor_get_timeout()</function>. Whenever
+ a wake-up is triggered the file descriptor needs to be
+ reset via
<function>sd_login_monitor_flush()</function>. An
application needs to reread the login state with a
function like
<citerefentry><refentrytitle>sd_get_seats</refentrytitle><manvolnum>3</manvolnum></citerefentry>
or similar to determine what changed.</para>
+
+ <para><function>sd_login_monitor_get_events()</function>
+ will return the <function>poll()</function> mask to
+ wait for. This function will return a combination of
+ <literal>POLLIN</literal>, <literal>POLLOUT</literal>
+ and similar to fill into the
+ <literal>.events</literal> field of <literal>struct
+ pollfd</literal>.</para>
+
+ <para><function>sd_login_monitor_get_timeout()</function>
+ will return a timeout value for usage in
+ <function>poll()</function>. This returns a value in
+ microseconds since the epoch of CLOCK_MONOTONIC for
+ timing out <function>poll()</function> in
+ <literal>timeout_usec</literal>. See
+ <citerefentry><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ for details about
+ <literal>CLOCK_MONOTONIC</literal>. If there's no
+ timeout to wait for this will fill in
+ <literal>(uint64_t) -1</literal> instead. Note that
+ <function>poll()</function> takes a relative timeout
+ in milliseconds rather than an absolute timeout in
+ microseconds. To convert the absolute 'us' timeout into
+ relative 'ms', use code like the following:</para>
+
+ <programlisting>uint64_t t;
+int msec;
+sd_login_monitor_get_timeout(m, &amp;t);
+if (t == (uint64_t) -1)
+ msec = -1;
+else {
+ struct timespec ts;
+ uint64_t n;
+ clock_getttime(CLOCK_MONOTONIC, &amp;ts);
+ n = (uint64_t) ts.tv_sec * 1000000 + ts.tv_nsec / 1000;
+ msec = t > n ? (int) ((t - n + 999) / 1000) : 0;
+}</programlisting>
+
+ <para>The code above does not do any error checking
+ for brevity's sake. The calculated <literal>msec</literal>
+ integer can be passed directly as
+ <function>poll()</function>'s timeout
+ parameter.</para>
</refsect1>
<refsect1>
<title>Return Value</title>
<para>On success
- <function>sd_login_monitor_new()</function> and
- <function>sd_login_monitor_flush()</function> return 0
- or a positive integer. On success
+ <function>sd_login_monitor_new()</function>,
+ <function>sd_login_monitor_flush()</function> and
+ <function>sd_login_monitor_get_timeout()</function>
+ return 0 or a positive integer. On success
<function>sd_login_monitor_get_fd()</function> returns
- a Unix file descriptor. On failure, these calls return
- a negative errno-style error code.</para>
+ a Unix file descriptor. On success
+ <function>sd_login_monitor_get_events()</function>
+ returns a combination of <literal>POLLIN</literal>,
+ <literal>POLLOUT</literal> and suchlike. On failure,
+ these calls return a negative errno-style error
+ code.</para>
<para><function>sd_login_monitor_unref()</function>
always returns NULL.</para>
@@ -151,10 +219,13 @@
<title>Notes</title>
<para>The <function>sd_login_monitor_new()</function>,
- <function>sd_login_monitor_unref()</function>, <function>sd_login_monitor_flush()</function> and
- <function>sd_login_monitor_get_fd()</function> interfaces
- are available as shared library, which can be compiled
- and linked to with the
+ <function>sd_login_monitor_unref()</function>,
+ <function>sd_login_monitor_flush()</function>,
+ <function>sd_login_monitor_get_fd()</function>,
+ <function>sd_login_monitor_get_events()</function> and
+ <function>sd_login_monitor_get_timeout()</function>
+ interfaces are available as shared library, which can
+ be compiled and linked to with the
<literal>libsystemd-login</literal>
<citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
file.</para>
@@ -166,7 +237,9 @@
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>sd_get_seats</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>sd_get_seats</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>poll</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/sd_notify.xml b/man/sd_notify.xml
index 75edeeadf3..81f74aa843 100644
--- a/man/sd_notify.xml
+++ b/man/sd_notify.xml
@@ -254,7 +254,7 @@
<refsect1>
<title>Environment</title>
- <variablelist>
+ <variablelist class='environment-variables'>
<varlistentry>
<term><varname>$NOTIFY_SOCKET</varname></term>
diff --git a/man/sd_pid_get_session.xml b/man/sd_pid_get_session.xml
index 9517795f78..543a5c0c72 100644
--- a/man/sd_pid_get_session.xml
+++ b/man/sd_pid_get_session.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="sd_pid_get_session">
+<refentry id="sd_pid_get_session" conditional='HAVE_PAM'>
<refentryinfo>
<title>sd_pid_get_session</title>
@@ -45,8 +45,10 @@
<refnamediv>
<refname>sd_pid_get_session</refname>
<refname>sd_pid_get_unit</refname>
+ <refname>sd_pid_get_user_unit</refname>
<refname>sd_pid_get_owner_uid</refname>
- <refpurpose>Determine session, service or owner of a session of a specific PID</refpurpose>
+ <refname>sd_pid_get_machine_name</refname>
+ <refpurpose>Determine session, service, owner of a session or container/VM of a specific PID</refpurpose>
</refnamediv>
<refsynopsisdiv>
@@ -66,10 +68,22 @@
</funcprototype>
<funcprototype>
+ <funcdef>int <function>sd_pid_get_user_unit</function></funcdef>
+ <paramdef>pid_t <parameter>pid</parameter></paramdef>
+ <paramdef>char** <parameter>unit</parameter></paramdef>
+ </funcprototype>
+
+ <funcprototype>
<funcdef>int <function>sd_pid_get_owner_uid</function></funcdef>
<paramdef>pid_t <parameter>pid</parameter></paramdef>
<paramdef>uid_t* <parameter>uid</parameter></paramdef>
</funcprototype>
+
+ <funcprototype>
+ <funcdef>int <function>sd_pid_get_machine_name</function></funcdef>
+ <paramdef>pid_t <parameter>pid</parameter></paramdef>
+ <paramdef>char** <parameter>name</parameter></paramdef>
+ </funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@@ -91,18 +105,28 @@
call after use.</para>
<para><function>sd_pid_get_unit()</function> may be
- used to determine the systemd unit (i.e. system
+ used to determine the systemd system unit (i.e. system
service) identifier of a process identified by the
- specified process identifier. The unit name is a short
- string, suitable for usage in file system paths. Note
- that not all processes are part of a unit/service
+ specified PID. The unit name is a short string,
+ suitable for usage in file system paths. Note that not
+ all processes are part of a system unit/service
(e.g. user processes, or kernel threads). For
- processes not being part of a systemd unit/system
- service this function will fail. The returned string
- needs to be freed with the libc
+ processes not being part of a systemd system unit this
+ function will fail. (More specifically: this call will
+ not work for processes that are part of user units,
+ use <function>sd_pid_get_user_unit()</function> for
+ that.) The returned string needs to be freed with the
+ libc
<citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
+ <para><function>sd_pid_get_user_unit()</function> may
+ be used to determine the systemd user unit (i.e. user
+ service) identifier of a process identified by the
+ specified PID. This is similar to
+ <function>sd_pid_get_unit()</function> but applies to
+ user units instead of system units.</para>
+
<para><function>sd_pid_get_owner_uid()</function> may
be used to determine the Unix user identifier of the
owner of the session of a process identified the
@@ -114,6 +138,14 @@
and not being a shared process of a user this function
will fail.</para>
+ <para><function>sd_pid_machine_name()</function> may
+ be used to determine the name of the VM or container
+ is a member of. The machine name is a short string,
+ suitable for usage in file system paths. The returned
+ string needs to be freed with the libc
+ <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ call after use.</para>
+
<para>If the <literal>pid</literal> parameter of any
of these functions is passed as 0 the operation is
executed for the calling process.</para>
@@ -131,10 +163,12 @@
<title>Notes</title>
<para>The <function>sd_pid_get_session()</function>,
- <function>sd_pid_get_pid()</function>, and
- <function>sd_pid_get_owner_uid()</function> interfaces
- are available as shared library, which can be compiled
- and linked to with the
+ <function>sd_pid_get_unit()</function>,
+ <function>sd_pid_get_user_unit()</function>,
+ <function>sd_pid_get_owner_uid()</function> and
+ <function>sd_pid_get_machine_name()</function>
+ interfaces are available as shared library, which can
+ be compiled and linked to with the
<literal>libsystemd-login</literal>
<citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
file.</para>
diff --git a/man/sd_readahead.xml b/man/sd_readahead.xml
index a1fc6f178f..c26d5c63e3 100644
--- a/man/sd_readahead.xml
+++ b/man/sd_readahead.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="sd_notify">
+<refentry id="sd_readahead" conditional='ENABLE_READAHEAD'>
<refentryinfo>
<title>sd_readahead</title>
diff --git a/man/sd_seat_get_active.xml b/man/sd_seat_get_active.xml
index b1d6d20edf..07e018de13 100644
--- a/man/sd_seat_get_active.xml
+++ b/man/sd_seat_get_active.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="sd_seat_get_active">
+<refentry id="sd_seat_get_active" conditional='HAVE_PAM'>
<refentryinfo>
<title>sd_seat_get_active</title>
diff --git a/man/sd_session_is_active.xml b/man/sd_session_is_active.xml
index a9107cb95f..6fa803bfa2 100644
--- a/man/sd_session_is_active.xml
+++ b/man/sd_session_is_active.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="sd_session_is_active">
+<refentry id="sd_session_is_active" conditional='HAVE_PAM'>
<refentryinfo>
<title>sd_session_is_active</title>
@@ -51,6 +51,7 @@
<refname>sd_session_get_type</refname>
<refname>sd_session_get_class</refname>
<refname>sd_session_get_display</refname>
+ <refname>sd_session_get_tty</refname>
<refpurpose>Determine state of a specific session</refpurpose>
</refnamediv>
@@ -104,6 +105,12 @@
<paramdef>const char* <parameter>session</parameter></paramdef>
<paramdef>char** <parameter>display</parameter></paramdef>
</funcprototype>
+
+ <funcprototype>
+ <funcdef>int <function>sd_session_get_tty</function></funcdef>
+ <paramdef>const char* <parameter>session</parameter></paramdef>
+ <paramdef>char** <parameter>tty</parameter></paramdef>
+ </funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@@ -172,8 +179,9 @@
be used to determine the class of the session
identified by the specified session identifier. The
returned string is one of <literal>user</literal>,
- <literal>greeter</literal> or
- <literal>lock-screen</literal> and needs to be freed
+ <literal>greeter</literal>,
+ <literal>lock-screen</literal>, or
+ <literal>background</literal> and needs to be freed
with the libc
<citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
@@ -181,7 +189,15 @@
<para><function>sd_session_get_display()</function>
may be used to determine the X11 display of the
session identified by the specified session
- identifier. The returned string is one of needs to be
+ identifier. The returned string needs to be
+ freed with the libc
+ <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ call after use.</para>
+
+ <para><function>sd_session_get_tty()</function>
+ may be used to determine the TTY device of the
+ session identified by the specified session
+ identifier. The returned string needs to be
freed with the libc
<citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
@@ -203,8 +219,9 @@
<function>sd_session_get_seat()</function>,
<function>sd_session_get_service()</function>,
<function>sd_session_get_type()</function>,
- <function>sd_session_get_class()</function> and
- <function>sd_session_get_display()</function> return 0 or
+ <function>sd_session_get_class()</function>,
+ <function>sd_session_get_display()</function> and
+ <function>sd_session_get_tty()</function> return 0 or
a positive integer. On failure, these calls return a
negative errno-style error code.</para>
</refsect1>
@@ -218,10 +235,11 @@
<function>sd_session_get_seat()</function>,
<function>sd_session_get_service()</function>,
<function>sd_session_get_type()</function>,
- <function>sd_session_get_class()</function> and
- <function>sd_session_get_display()</function> interfaces
- are available as shared library, which can be compiled
- and linked to with the
+ <function>sd_session_get_class()</function>,
+ <function>sd_session_get_display()</function> and
+ <function>sd_session_get_tty()</function>
+ interfaces are available as shared library, which can
+ be compiled and linked to with the
<literal>libsystemd-login</literal>
<citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
file.</para>
diff --git a/man/sd_uid_get_state.xml b/man/sd_uid_get_state.xml
index b7bc944b14..cc8fc0f5b6 100644
--- a/man/sd_uid_get_state.xml
+++ b/man/sd_uid_get_state.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="sd_uid_get_state">
+<refentry id="sd_uid_get_state" conditional='HAVE_PAM'>
<refentryinfo>
<title>sd_uid_get_state</title>
diff --git a/man/shutdown.xml b/man/shutdown.xml
index d54fcb25ab..570383319b 100644
--- a/man/shutdown.xml
+++ b/man/shutdown.xml
@@ -80,7 +80,7 @@
<para>If the time argument is used, 5 minutes
before the system goes down the
- <filename>/etc/nologin</filename> file is created to
+ <filename>/run/nologin</filename> file is created to
ensure that further logins shall not be
allowed.</para>
</refsect1>
diff --git a/man/sysctl.d.xml b/man/sysctl.d.xml
index 69aac8cab7..759b8740f5 100644
--- a/man/sysctl.d.xml
+++ b/man/sysctl.d.xml
@@ -77,7 +77,7 @@
entirely equivalent.</para>
<para>Each configuration file shall be named in the
- style of <filename>&lt;program&gt;.conf</filename>.
+ style of <filename><replaceable>program</replaceable>.conf</filename>.
Files in <filename>/etc/</filename> override files
with the same name in <filename>/usr/lib/</filename>
and <filename>/run/</filename>. Files in
@@ -92,7 +92,7 @@
alphabetical order, regardless in which of the
directories they reside, to guarantee that a specific
configuration file takes precedence over another file
- with an alphabetically earlier name, if both files
+ with an alphabetically later name, if both files
contain the same variable setting.</para>
<para>If the administrator wants to disable a
diff --git a/man/systemctl.xml b/man/systemctl.xml
index f86952c683..0afb0cc626 100644
--- a/man/systemctl.xml
+++ b/man/systemctl.xml
@@ -1,1286 +1,1337 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
- This file is part of systemd.
+This file is part of systemd.
- Copyright 2010 Lennart Poettering
+Copyright 2010 Lennart Poettering
- systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
+systemd is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or
+(at your option) any later version.
- systemd is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
+systemd is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public License
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
+You should have received a copy of the GNU Lesser General Public License
+along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="systemctl">
- <refentryinfo>
- <title>systemctl</title>
- <productname>systemd</productname>
-
- <authorgroup>
- <author>
- <contrib>Developer</contrib>
- <firstname>Lennart</firstname>
- <surname>Poettering</surname>
- <email>lennart@poettering.net</email>
- </author>
- </authorgroup>
- </refentryinfo>
-
- <refmeta>
- <refentrytitle>systemctl</refentrytitle>
- <manvolnum>1</manvolnum>
- </refmeta>
-
- <refnamediv>
- <refname>systemctl</refname>
- <refpurpose>Control the systemd system and service manager</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>systemctl <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="req">COMMAND</arg> <arg choice="opt" rep="repeat">NAME</arg></command>
- </cmdsynopsis>
- </refsynopsisdiv>
-
- <refsect1>
- <title>Description</title>
-
- <para><command>systemctl</command> may be used to
- introspect and control the state of the
- <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
- system and service manager.</para>
- </refsect1>
-
- <refsect1>
- <title>Options</title>
-
- <para>The following options are understood:</para>
-
- <variablelist>
- <varlistentry>
- <term><option>--help</option></term>
- <term><option>-h</option></term>
-
- <listitem><para>Prints a short help
- text and exits.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--version</option></term>
-
- <listitem><para>Prints a short version
- string and exits.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--type=</option></term>
- <term><option>-t</option></term>
-
- <listitem><para>The argument should
- be a unit type name such as
- <option>service</option> and
- <option>socket</option>,
- or a unit load state such as
- <option>loaded</option> and
- <option>masked</option>.
- </para>
-
- <para>If the argument is a unit type,
- when listing units, limit display to
- certain unit types. If not specified
- units of all types will be shown.</para>
-
- <para>If the argument is a unit load state,
- when listing units, limit display to
- certain unit types. If not specified
- units of in all load states will be
- shown.</para>
-
- <para>As a special case, if the argument
- is <option>help</option>, a list of
- allowed values will be printed and the
- program will exit.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--property=</option></term>
- <term><option>-p</option></term>
-
- <listitem><para>When showing
- unit/job/manager properties, limit
- display to certain properties as
- specified as argument. If not
- specified all set properties are
- shown. The argument should be a
- property name, such as
- <literal>MainPID</literal>. If
- specified more than once all
- properties with the specified names
- are shown.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--all</option></term>
- <term><option>-a</option></term>
-
- <listitem><para>When listing units,
- show all units, regardless of their
- state, including inactive units. When
- showing unit/job/manager properties,
- show all properties regardless whether
- they are set or not.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--failed</option></term>
-
- <listitem><para>When listing units,
- show only failed units. Do not confuse
- with
- <option>--fail</option>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--full</option></term>
-
- <listitem><para>Do not ellipsize unit
- names and truncate unit descriptions
- in the output of
- <command>list-units</command> and
- <command>list-jobs</command>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--fail</option></term>
-
- <listitem><para>If the requested
- operation conflicts with a pending
- unfinished job, fail the command. If
- this is not specified the requested
- operation will replace the pending job,
- if necessary. Do not confuse
- with
- <option>--failed</option>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--ignore-dependencies</option></term>
-
- <listitem><para>When enqueuing a new
- job ignore all its dependencies and
- execute it immediately. If passed no
- required units of the unit passed will
- be pulled in, and no ordering
- dependencies will be honored. This is
- mostly a debugging and rescue tool for
- the administrator and should not be
- used by
- applications.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--quiet</option></term>
- <term><option>-q</option></term>
-
- <listitem><para>Suppress output to
- STDOUT in
- <command>snapshot</command>,
- <command>is-active</command>,
- <command>is-failed</command>,
- <command>enable</command> and
- <command>disable</command>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--no-block</option></term>
-
- <listitem><para>Do not synchronously wait for
- the requested operation to finish. If this is
- not specified the job will be verified,
- enqueued and <command>systemctl</command> will
- wait until it is completed. By passing this
- argument it is only verified and
- enqueued.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--no-legend</option></term>
-
- <listitem><para>Do not print a legend, i.e.
- the column headers and the footer with hints.
- </para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--no-pager</option></term>
-
- <listitem><para>Do not pipe output into a
- pager.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--system</option></term>
-
- <listitem><para>Talk to the systemd
- system manager. (Default)</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--user</option></term>
-
- <listitem><para>Talk to the systemd
- manager of the calling user.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--order</option></term>
- <term><option>--require</option></term>
-
- <listitem><para>When used in
- conjunction with the
- <command>dot</command> command (see
- below), selects which dependencies are
- shown in the dependency graph. If
- <option>--order</option> is passed
- only dependencies of type
- <varname>After=</varname> or
- <varname>Before=</varname> are
- shown. If <option>--require</option>
- is passed only dependencies of type
- <varname>Requires=</varname>,
- <varname>RequiresOverridable=</varname>,
- <varname>Requisite=</varname>,
- <varname>RequisiteOverridable=</varname>,
- <varname>Wants=</varname> and
- <varname>Conflicts=</varname> are
- shown. If neither is passed, shows
- dependencies of all these
- types.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--no-wall</option></term>
-
- <listitem><para>Don't send wall
- message before
- halt, power-off, reboot.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--global</option></term>
-
- <listitem><para>When used with
- <command>enable</command> and
- <command>disable</command>, operate on the
- global user configuration
- directory, thus enabling or disabling
- a unit file globally for all future
- logins of all users.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--no-reload</option></term>
-
- <listitem><para>When used with
- <command>enable</command> and
- <command>disable</command>, do not
- implicitly reload daemon configuration
- after executing the
- changes.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--no-ask-password</option></term>
-
- <listitem><para>When used with
- <command>start</command> and related
- commands, disables asking for
- passwords. Background services may
- require input of a password or
- passphrase string, for example to
- unlock system hard disks or
- cryptographic certificates. Unless
- this option is specified and the
- command is invoked from a terminal
- <command>systemctl</command> will
- query the user on the terminal for the
- necessary secrets. Use this option to
- switch this behavior off. In this case
- the password must be supplied by some
- other means (for example graphical
- password agents) or the service might
- fail. This also disables querying the
- user for authentication for privileged
- operations.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--kill-who=</option></term>
-
- <listitem><para>When used with
- <command>kill</command>, choose which
- processes to kill. Must be one of
- <option>main</option>,
- <option>control</option> or
- <option>all</option> to select whether
- to kill only the main process of the
- unit, the control process or all
- processes of the unit. If omitted
- defaults to
- <option>all</option>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--signal=</option></term>
- <term><option>-s</option></term>
-
- <listitem><para>When used with
- <command>kill</command>, choose which
- signal to send to selected
- processes. Must be one of the well
- known signal specifiers such as
- SIGTERM, SIGINT or SIGSTOP. If
- omitted defaults to
- <option>SIGTERM</option>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--force</option></term>
- <term><option>-f</option></term>
-
- <listitem><para>When used with
- <command>enable</command>, overwrite any
- existing conflicting
- symlinks.</para></listitem>
-
- <listitem><para>When used with
- <command>halt</command>,
- <command>poweroff</command>,
- <command>reboot</command> or
- <command>kexec</command> execute the
- selected operation without shutting
- down all units. However, all processes
- will be killed forcibly and all file
- systems are unmounted or remounted
- read-only. This is hence a drastic but
- relatively safe option to request an
- immediate reboot. If
- <option>--force</option> is specified
- twice for these operations, they will
- be executed immediately without
- terminating any processes or umounting
- any file systems. Warning: specifying
- <option>--force</option> twice with
- any of these operations might result
- in data loss.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--root=</option></term>
-
- <listitem><para>When used with
- <command>enable</command>/<command>disable</command>/<command>is-enabled</command> (and
- related commands), use alternative
- root path when looking for unit
- files.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--runtime</option></term>
-
- <listitem><para>When used with
- <command>enable</command>/<command>disable</command>/<command>is-enabled</command> (and related commands), make
- changes only temporarily, so that they
- are dropped on the next reboot. This
- will have the effect that changes are
- not made in subdirectories of
- <filename>/etc</filename> but in
- <filename>/run</filename>, with
- identical immediate effects, however,
- since the latter is lost on reboot,
- the changes are lost
- too.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-H</option></term>
- <term><option>--host</option></term>
-
- <listitem><para>Execute operation
- remotely. Specify a hostname, or
- username and hostname separated by @,
- to connect to. This will use SSH to
- talk to the remote systemd
- instance.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-P</option></term>
- <term><option>--privileged</option></term>
-
- <listitem><para>Acquire privileges via
- PolicyKit before executing the
- operation.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--lines=</option></term>
- <term><option>-n</option></term>
-
- <listitem><para>When used with
- <command>status</command> controls the
- number of journal lines to show,
- counting from the most recent
- ones. Takes a positive integer
- argument. Defaults to
- 10.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--output=</option></term>
- <term><option>-o</option></term>
-
- <listitem><para>When used with
- <command>status</command> controls the
- formatting of the journal entries that
- are shown. For the available choices
- see
- <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>. Defaults
- to
- <literal>short</literal>.</para></listitem>
- </varlistentry>
-
- </variablelist>
-
- <para>The following commands are understood:</para>
-
- <variablelist>
- <varlistentry>
- <term><command>list-units</command></term>
-
- <listitem><para>List known units.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>start [NAME...]</command></term>
-
- <listitem><para>Start (activate) one
- or more units specified on the command
- line.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>stop [NAME...]</command></term>
-
- <listitem><para>Stop (deactivate) one
- or more units specified on the command
- line.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>reload [NAME...]</command></term>
-
- <listitem><para>Asks all units listed
- on the command line to reload their
- configuration. Note that this will
- reload the service-specific
- configuration, not the unit
- configuration file of systemd. If you
- want systemd to reload the
- configuration file of a unit use the
- <command>daemon-reload</command>
- command. In other words: for the
- example case of Apache, this will
- reload Apache's
- <filename>httpd.conf</filename> in the
- web server, not the
- <filename>apache.service</filename>
- systemd unit file. </para>
-
- <para>This command should not be
- confused with the
- <command>daemon-reload</command> or
- <command>load</command>
- commands.</para></listitem>
-
- </varlistentry>
- <varlistentry>
- <term><command>restart [NAME...]</command></term>
-
- <listitem><para>Restart one or more
- units specified on the command
- line. If the units are not running yet
- they will be
- started.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>try-restart [NAME...]</command></term>
-
- <listitem><para>Restart one or more
- units specified on the command
- line if the units are running. Do
- nothing if units are not running.
- Note that for compatibility
- with Red Hat init scripts
- <command>condrestart</command> is
- equivalent to this command.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>reload-or-restart [NAME...]</command></term>
-
- <listitem><para>Reload one or more
- units if they support it. If not,
- restart them instead. If the units
- are not running yet they will be
- started.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>reload-or-try-restart [NAME...]</command></term>
-
- <listitem><para>Reload one or more
- units if they support it. If not,
- restart them instead. Do nothing if
- the units are not running. Note that
- for compatibility with SysV init
- scripts
- <command>force-reload</command> is
- equivalent to this
- command.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>isolate [NAME]</command></term>
-
- <listitem><para>Start the unit
- specified on the command line and its
- dependencies and stop all others.</para>
-
- <para>This is similar to changing the
- runlevel in a traditional init system. The
- <command>isolate</command> command will
- immediately stop processes that are not
- enabled in the new unit, possibly including
- the graphical environment or terminal you
- are currently using.</para>
-
- <para>Note that this works only on units
- where <option>AllowIsolate=</option> is
- enabled. See
- <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- for details.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>kill [NAME...]</command></term>
-
- <listitem><para>Send a signal to one
- or more processes of the unit. Use
- <option>--kill-who=</option> to select
- which process to kill. Use
- <option>--kill-mode=</option> to
- select the kill mode and
- <option>--signal=</option> to select
- the signal to send.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>is-active [NAME...]</command></term>
-
- <listitem><para>Check whether any of
- the specified units are active
- (i.e. running). Returns an exit code
- 0 if at least one is active, non-zero
- otherwise. Unless
- <option>--quiet</option> is specified
- this will also print the current unit
- state to STDOUT.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>is-failed [NAME...]</command></term>
-
- <listitem><para>Check whether any of
- the specified units are failed.
- Returns an exit code
- 0 if at least one is failed, non-zero
- otherwise. Unless
- <option>--quiet</option> is specified
- this will also print the current unit
- state to STDOUT.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>status [NAME...|PID...]</command></term>
-
- <listitem><para>Show terse runtime
- status information about one or more
- units, followed by its most recent log
- data from the journal. This function
- is intended to generate human-readable
- output. If you are looking for
- computer-parsable output, use
- <command>show</command> instead. If a
- PID is passed information about the
- unit the process of the PID belongs to
- is shown.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>show [NAME...|JOB...]</command></term>
-
- <listitem><para>Show properties of one
- or more units, jobs or the manager
- itself. If no argument is specified
- properties of the manager will be
- shown. If a unit name is specified
- properties of the unit is shown, and
- if a job id is specified properties of
- the job is shown. By default, empty
- properties are suppressed. Use
- <option>--all</option> to show those
- too. To select specific properties to
- show use
- <option>--property=</option>. This
- command is intended to be used
- whenever computer-parsable output is
- required. Use
- <command>status</command> if you are
- looking for formatted human-readable
- output.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>help [NAME...|PID...]</command></term>
-
- <listitem><para>Show manual pages for
- one or more units, if available. If a
- PID is passed the manual pages for the
- unit the process of the PID belongs to
- is shown.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>reset-failed [NAME...]</command></term>
-
- <listitem><para>Reset the
- '<literal>failed</literal>' state of the
- specified units, or if no unit name is
- passed of all units. When a unit fails
- in some way (i.e. process exiting with
- non-zero error code, terminating
- abnormally or timing out) it will
- automatically enter the
- '<literal>failed</literal>' state and
- its exit code and status is recorded
- for introspection by the administrator
- until the service is restarted or
- reset with this
- command.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><command>list-unit-files</command></term>
-
- <listitem><para>List installed unit files.
- </para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><command>enable [NAME...]</command></term>
-
- <listitem><para>Enable one or
- more unit files or unit file
- instances, as specified on the
- command line. This will create a
- number of symlinks as encoded in
- the <literal>[Install]</literal>
- sections of the unit files. After
- the symlinks have been created the
- systemd configuration is reloaded
- (in a way that is equivalent to
- <command>daemon-reload</command>)
- to ensure the changes are taken into
- account immediately. Note that this
- does not have the effect that any of
- the units enabled are also started at
- the same time. If this is desired
- a separate <command>start</command>
- command must be invoked for the unit.
- Also note that in case of instance
- enablement, symlinks named same as
- instances are created in install
- location, however they all point to
- the same template unit file.</para>
-
- <para>This command will
- print the actions executed. This
- output may be suppressed by passing
- <option>--quiet</option>.</para>
-
- <para>Note that this operation creates
- only the suggested symlinks for the
- units. While this command is the
- recommended way to manipulate the unit
- configuration directory, the
- administrator is free to make
- additional changes manually, by
- placing or removing symlinks in the
- directory. This is particularly useful
- to create configurations that deviate
- from the suggested default
- installation. In this case the
- administrator must make sure to invoke
- <command>daemon-reload</command>
- manually as necessary, to ensure his
- changes are taken into account.</para>
-
- <para>Enabling units should not be
- confused with starting (activating)
- units, as done by the
- <command>start</command>
- command. Enabling and starting units
- is orthogonal: units may be enabled
- without being started and started
- without being enabled. Enabling simply
- hooks the unit into various suggested
- places (for example, so that the unit
- is automatically started on boot or
- when a particular kind of hardware is
- plugged in). Starting actually spawns
- the daemon process (in case of service
- units), or binds the socket (in case
- of socket units), and so
- on.</para>
-
- <para>Depending on whether
- <option>--system</option>,
- <option>--user</option> or
- <option>--global</option> is specified
- this enables the unit for the system,
- for the calling user only
- or for all future logins of all
- users. Note that in the latter case no
- systemd daemon configuration is
- reloaded.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><command>disable [NAME...]</command></term>
-
- <listitem><para>Disables one or more
- units. This removes all symlinks to
- the specified unit files from the unit
- configuration directory, and hence
- undoes the changes made by
- <command>enable</command>. Note
- however that this removes
- all symlinks to the unit files
- (i.e. including manual additions), not
- just those actually created by
- <command>enable</command>. This call
- implicitly reloads the systemd daemon
- configuration after completing the
- disabling of the units. Note that this
- command does not implicitly stop the
- units that are being disabled. If this
- is desired an additional
- <command>stop</command> command should
- be executed afterwards.</para>
-
- <para>This command will print the
- actions executed. This output may be
- suppressed by passing
- <option>--quiet</option>.</para>
- </listitem>
-
- <para>This command honors
- <option>--system</option>,
- <option>--user</option>,
- <option>--global</option> in a similar
- way as
- <command>enable</command>.</para>
- </varlistentry>
-
- <varlistentry>
- <term><command>is-enabled [NAME...]</command></term>
-
- <listitem><para>Checks whether any of
- the specified unit files are enabled
- (as with
- <command>enable</command>). Returns an
- exit code of 0 if at least one is
- enabled, non-zero otherwise. Prints
- the current enable status. To suppress
- this output use
- <option>--quiet</option>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><command>reenable [NAME...]</command></term>
-
- <listitem><para>Reenable one or more
- unit files, as specified on the
- command line. This is a combination of
- <command>disable</command> and
- <command>enable</command> and is
- useful to reset the symlinks a unit is
- enabled with to the defaults
- configured in the
- <literal>[Install]</literal> section
- of the unit file.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><command>preset [NAME...]</command></term>
-
- <listitem><para>Reset one or more unit
- files, as specified on the command
- line, to the defaults configured in
- the preset policy files. This has the
- same effect as
- <command>disable</command> or
- <command>enable</command>, depending
- how the unit is listed in the preset
- files. For more information on preset
- policy format see
- <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>. For
- more information on the concept of
- presets please consult the <ulink
- url="http://freedesktop.org/wiki/Software/systemd/Preset">Preset</ulink>
- document.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><command>mask [NAME...]</command></term>
-
- <listitem><para>Mask one or more unit
- files, as specified on the command
- line. This will link these units to
- <filename>/dev/null</filename>, making
- it impossible to start them. This is a stronger version
- of <command>disable</command>, since
- it prohibits all kinds of activation
- of the unit, including manual
- activation. Use this option with
- care.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><command>unmask [NAME...]</command></term>
-
- <listitem><para>Unmask one or more
- unit files, as specified on the
- command line. This will undo the
- effect of
- <command>mask</command>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><command>link [NAME...]</command></term>
-
- <listitem><para>Link a unit file that
- is not in the unit file search paths
- into the unit file search path. This
- requires an absolute path to a unit
- file. The effect of this can be undone
- with <command>disable</command>. The
- effect of this command is that a unit
- file is available for
- <command>start</command> and other
- commands although it isn't installed
- directly in the unit search
- path.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><command>load [NAME...]</command></term>
-
- <listitem><para>Load one or more units
- specified on the command line. This
- will simply load their configuration
- from disk, but not start them. To
- start them you need to use the
- <command>start</command> command which
- will implicitly load a unit that has
- not been loaded yet. Note that systemd
- garbage collects loaded units that are
- not active or referenced by an active
- unit. This means that units loaded
- this way will usually not stay loaded
- for long. Also note that this command
- cannot be used to reload unit
- configuration. Use the
- <command>daemon-reload</command>
- command for that. All in all, this
- command is of little use except for
- debugging.</para>
- <para>This command should not be
- confused with the
- <command>daemon-reload</command> or
- <command>reload</command>
- commands.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>list-jobs</command></term>
-
- <listitem><para>List jobs that are in progress.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>cancel [JOB...]</command></term>
-
- <listitem><para>Cancel one or more
- jobs specified on the command line by
- their numeric job
- IDs. If no job id is specified, cancel all pending jobs.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>dump</command></term>
-
- <listitem><para>Dump server
- status. This will output a (usually
- very long) human readable manager
- status dump. Its format is subject to
- change without notice and should not
- be parsed by
- applications.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>dot</command></term>
-
- <listitem><para>Generate textual
- dependency graph description in dot
- format for further processing with the
- GraphViz
- <citerefentry><refentrytitle>dot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
- tool. Use a command line like
- <command>systemctl dot | dot -Tsvg >
- systemd.svg</command> to generate a
- graphical dependency tree. Unless
- <option>--order</option> or
- <option>--require</option> is passed
- the generated graph will show both
- ordering and requirement
- dependencies.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>snapshot [NAME]</command></term>
-
- <listitem><para>Create a snapshot. If
- a snapshot name is specified, the new
- snapshot will be named after it. If
- none is specified an automatic
- snapshot name is generated. In either
- case, the snapshot name used is
- printed to STDOUT, unless
- <option>--quiet</option> is
- specified.</para>
-
- <para>A snapshot refers to a saved
- state of the systemd manager. It is
- implemented itself as a unit that is
- generated dynamically with this
- command and has dependencies on all
- units active at the time. At a later
- time the user may return to this state
- by using the
- <command>isolate</command> command on
- the snapshot unit.</para></listitem>
-
- <para>Snapshots are only useful for
- saving and restoring which units are
- running or are stopped, they do not
- save/restore any other
- state. Snapshots are dynamic and lost
- on reboot.</para>
- </varlistentry>
- <varlistentry>
- <term><command>delete [NAME...]</command></term>
-
- <listitem><para>Remove a snapshot
- previously created with
- <command>snapshot</command>.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>daemon-reload</command></term>
-
- <listitem><para>Reload systemd manager
- configuration. This will reload all
- unit files and recreate the entire
- dependency tree. While the daemon is
- reloaded, all sockets systemd listens
- on on behalf of user configuration will
- stay accessible.</para> <para>This
- command should not be confused with
- the <command>load</command> or
- <command>reload</command>
- commands.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>daemon-reexec</command></term>
-
- <listitem><para>Reexecute the systemd
- manager. This will serialize the
- manager state, reexecute the process
- and deserialize the state again. This
- command is of little use except for
- debugging and package
- upgrades. Sometimes it might be
- helpful as a heavy-weight
- <command>daemon-reload</command>. While
- the daemon is reexecuted all sockets
- systemd listens on on behalf of user
- configuration will stay
- accessible.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>show-environment</command></term>
-
- <listitem><para>Dump the systemd
- manager environment block. The
- environment block will be dumped in
- straight-forward form suitable for
- sourcing into a shell script. This
- environment block will be passed to
- all processes the manager
- spawns.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>set-environment [NAME=VALUE...]</command></term>
-
- <listitem><para>Set one or more
- systemd manager environment variables,
- as specified on the command
- line.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>unset-environment [NAME...]</command></term>
-
- <listitem><para>Unset one or more
- systemd manager environment
- variables. If only a variable name is
- specified it will be removed
- regardless of its value. If a variable
- and a value are specified the variable
- is only removed if it has the
- specified value.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>default</command></term>
-
- <listitem><para>Enter default
- mode. This is mostly equivalent to
- <command>start
- default.target</command>.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>rescue</command></term>
-
- <listitem><para>Enter rescue
- mode. This is mostly equivalent to
- <command>isolate
- rescue.target</command> but also
- prints a wall message to all
- users.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>emergency</command></term>
-
- <listitem><para>Enter emergency
- mode. This is mostly equivalent to
- <command>isolate
- emergency.target</command> but also
- prints a wall message to all
- users.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>halt</command></term>
-
- <listitem><para>Shut down and halt the
- system. This is mostly equivalent to
- <command>start halt.target</command>
- but also prints a wall message to all
- users. If combined with
- <option>--force</option> shutdown of
- all running services is skipped,
- however all processes are killed and
- all file systems are unmounted or
- mounted read-only, immediately
- followed by the system halt. If
- <option>--force</option> is specified
- twice the operation is immediately
- executed without terminating any
- processes or unmounting any file
- systems. This may result in data
- loss.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>poweroff</command></term>
-
- <listitem><para>Shut down and
- power-off the system. This is mostly
- equivalent to <command>start
- poweroff.target</command> but also
- prints a wall message to all users. If
- combined with <option>--force</option>
- shutdown of all running services is
- skipped, however all processes are
- killed and all file systems are
- unmounted or mounted read-only,
- immediately followed by the powering
- off. If <option>--force</option> is
- specified twice the operation is
- immediately executed without
- terminating any processes or
- unmounting any file systems. This may
- result in data loss.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>reboot</command></term>
-
- <listitem><para>Shut down and reboot
- the system. This is mostly equivalent
- to <command>start
- reboot.target</command> but also
- prints a wall message to all users. If
- combined with <option>--force</option>
- shutdown of all running services is
- skipped, however all processes are
- killed and all file systems are
- unmounted or mounted read-only,
- immediately followed by the reboot. If
- <option>--force</option> is specified
- twice the operation is immediately
- executed without terminating any
- processes or unmounting any file
- systems. This may result in data
- loss.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>kexec</command></term>
-
- <listitem><para>Shut down and reboot
- the system via kexec. This is mostly
- equivalent to <command>start
- kexec.target</command> but also prints
- a wall message to all users. If
- combined with <option>--force</option>
- shutdown of all running services is
- skipped, however all processes are killed
- and all file systems are unmounted or
- mounted read-only, immediately
- followed by the
- reboot.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>exit</command></term>
-
- <listitem><para>Ask the systemd
- manager to quit. This is only
- supported for user service managers
- (i.e. in conjunction with the
- <option>--user</option> option) and
- will fail otherwise.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>suspend</command></term>
-
- <listitem><para>Suspend the
- system. This will trigger activation
- of the special
- <filename>suspend.target</filename>
- target.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>hibernate</command></term>
-
- <listitem><para>Hibernate the
- system. This will trigger activation
- of the special
- <filename>hibernate.target</filename>
- target.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>hybrid-sleep</command></term>
-
- <listitem><para>Hibernate and suspend
- the system. This will trigger
- activation of the special
- <filename>hybrid-sleep.target</filename>
- target.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>switch-root [ROOT] [INIT]</command></term>
-
- <listitem><para>Switches to a
- different root directory and executes
- a new system manager process below
- it. This is intended for usage in
- initial RAM disks ("initrd"), and will
- transition from the initrd's system
- manager process (a.k.a "init" process)
- to the main system manager
- process. Takes two arguments: the
- directory to make the new root
- directory, and the path to the new
- system manager binary below it to
- execute as PID 1. If the latter is
- omitted or the empty string, a
- systemd binary will automatically be
- searched for and used as init. If the
- system manager path is omitted or
- equal the empty string the state of
- the initrd's system manager process is
- passed to the main system manager,
- which allows later introspection of the
- state of the services involved in the
- initrd boot.</para></listitem>
- </varlistentry>
- </variablelist>
-
- </refsect1>
-
- <refsect1>
- <title>Exit status</title>
-
- <para>On success 0 is returned, a non-zero failure
- code otherwise.</para>
- </refsect1>
-
- <refsect1>
- <title>Environment</title>
-
- <variablelist>
- <varlistentry>
- <term><varname>$SYSTEMD_PAGER</varname></term>
- <listitem><para>Pager to use when
- <option>--no-pager</option> is not given;
- overrides <varname>$PAGER</varname>. Setting
- this to an empty string or the value
- <literal>cat</literal> is equivalent to passing
- <option>--no-pager</option>.</para></listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>See Also</title>
- <para>
- <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemadm</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- </para>
- </refsect1>
+ <refentryinfo>
+ <title>systemctl</title>
+ <productname>systemd</productname>
+
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Lennart</firstname>
+ <surname>Poettering</surname>
+ <email>lennart@poettering.net</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>systemctl</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>systemctl</refname>
+ <refpurpose>Control the systemd system and service manager</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>systemctl</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ <arg choice="plain">COMMAND</arg>
+ <arg choice="opt" rep="repeat">NAME</arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para><command>systemctl</command> may be used to
+ introspect and control the state of the
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ system and service manager.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Options</title>
+
+ <para>The following options are understood:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>-h</option></term>
+ <term><option>--help</option></term>
+
+ <listitem><para>Prints a short help
+ text and exits.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--version</option></term>
+
+ <listitem>
+ <para>Prints a short version string and exits.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-t</option></term>
+ <term><option>--type=</option></term>
+
+ <listitem>
+ <para>The argument should be a comma separated list of unit
+ types such as <option>service</option> and
+ <option>socket</option>, or unit load states such as
+ <option>loaded</option> and <option>masked</option>
+ (types and states can be mixed).</para>
+
+ <para>If one of the arguments is a unit type, when listing
+ units, limit display to certain unit types. Otherwise units
+ of all types will be shown.</para>
+
+ <para>If one of the arguments is a unit load state, when
+ listing units, limit display to certain unit
+ types. Otherwise units of in all load states will be
+ shown.</para>
+
+ <para>As a special case, if one of the arguments is
+ <option>help</option>, a list of allowed values will be
+ printed and the program will exit.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-p</option></term>
+ <term><option>--property=</option></term>
+
+ <listitem>
+ <para>When showing unit/job/manager properties with the
+ <command>show</command> command, limit display to certain
+ properties as specified as argument. If not specified all
+ set properties are shown. The argument should be a
+ comma-separated list of property names, such as
+ <literal>MainPID</literal>. If specified more than once all
+ properties with the specified names are shown.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-a</option></term>
+ <term><option>--all</option></term>
+
+ <listitem>
+ <para>When listing units, show all loaded units, regardless
+ of their state, including inactive units. When showing
+ unit/job/manager properties, show all properties regardless
+ whether they are set or not.</para>
+ <para>To list all units installed on the system, use the
+ <command>list-unit-files</command> command instead.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--reverse</option></term>
+
+ <listitem>
+ <para>Show reverse dependencies between units with
+ <command>list-dependencies</command>, i.e. units with
+ dependencies of type <varname>Wants=</varname> or
+ <varname>Requires=</varname> on the given unit.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--after</option></term>
+ <term><option>--before</option></term>
+
+ <listitem>
+ <para>Show which units are started after, resp. before
+ with <command>list-dependencies</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--failed</option></term>
+
+ <listitem>
+ <para>When listing units, show only failed units. Do not
+ confuse with <option>--fail</option>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--full</option></term>
+
+ <listitem>
+ <para>Do not ellipsize unit names, cgroup members, and
+ truncate unit descriptions in the output of
+ <command>list-units</command> and
+ <command>list-jobs</command>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--fail</option></term>
+
+ <listitem>
+ <para>If the requested operation conflicts with a pending
+ unfinished job, fail the command. If this is not specified
+ the requested operation will replace the pending job, if
+ necessary. Do not confuse with
+ <option>--failed</option>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--show-types</option></term>
+
+ <listitem>
+ <para>When showing sockets, show the type of the socket.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--irreversible</option></term>
+
+ <listitem>
+ <para>Mark this transaction's jobs as irreversible. This prevents
+ future conflicting transactions from replacing these jobs.
+ The jobs can still be cancelled using the <command>cancel</command>
+ command.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--ignore-dependencies</option></term>
+
+ <listitem>
+ <para>When enqueuing a new job ignore all its dependencies
+ and execute it immediately. If passed no required units of
+ the unit passed will be pulled in, and no ordering
+ dependencies will be honored. This is mostly a debugging and
+ rescue tool for the administrator and should not be used by
+ applications.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-i</option></term>
+ <term><option>--ignore-inhibitors</option></term>
+
+ <listitem>
+ <para>When system shutdown or a sleep state is requested,
+ ignore inhibitor locks. Applications can establish inhibitor
+ locks to avoid that certain important operations (such as CD
+ burning or suchlike) are interrupted by system shutdown or a
+ sleep state. Any user may take these locks and privileged
+ users may override these locks. If any locks are taken,
+ shutdown and sleep state requests will normally fail
+ (regardless if privileged or not) and a list of active locks
+ is printed. However if <option>--ignore-inhibitors</option>
+ is specified the locks are ignored and not printed, and the
+ operation attempted anyway, possibly requiring additional
+ privileges.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-q</option></term>
+ <term><option>--quiet</option></term>
+
+ <listitem>
+ <para>Suppress output to standard output in
+ <command>snapshot</command>,
+ <command>is-active</command>,
+ <command>is-failed</command>,
+ <command>enable</command> and
+ <command>disable</command>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--no-block</option></term>
+
+ <listitem>
+ <para>Do not synchronously wait for the requested operation
+ to finish. If this is not specified the job will be
+ verified, enqueued and <command>systemctl</command> will
+ wait until it is completed. By passing this argument it is
+ only verified and enqueued.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--no-legend</option></term>
+
+ <listitem>
+ <para>Do not print a legend, i.e. the column headers and
+ the footer with hints.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--no-pager</option></term>
+
+ <listitem>
+ <para>Do not pipe output into a pager.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--system</option></term>
+
+ <listitem>
+ <para>Talk to the systemd system manager. (Default)</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--user</option></term>
+
+ <listitem>
+ <para>Talk to the systemd manager of the calling
+ user.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--no-wall</option></term>
+
+ <listitem>
+ <para>Don't send wall message before halt, power-off,
+ reboot.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--global</option></term>
+
+ <listitem>
+ <para>When used with <command>enable</command> and
+ <command>disable</command>, operate on the global user
+ configuration directory, thus enabling or disabling a unit
+ file globally for all future logins of all users.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--no-reload</option></term>
+
+ <listitem>
+ <para>When used with <command>enable</command> and
+ <command>disable</command>, do not implicitly reload daemon
+ configuration after executing the changes.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--no-ask-password</option></term>
+
+ <listitem>
+ <para>When used with <command>start</command> and related
+ commands, disables asking for passwords. Background services
+ may require input of a password or passphrase string, for
+ example to unlock system hard disks or cryptographic
+ certificates. Unless this option is specified and the
+ command is invoked from a terminal
+ <command>systemctl</command> will query the user on the
+ terminal for the necessary secrets. Use this option to
+ switch this behavior off. In this case the password must be
+ supplied by some other means (for example graphical password
+ agents) or the service might fail. This also disables
+ querying the user for authentication for privileged
+ operations.</para>
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--kill-who=</option></term>
+
+ <listitem>
+ <para>When used with <command>kill</command>, choose which
+ processes to kill. Must be one of <option>main</option>,
+ <option>control</option> or <option>all</option> to select
+ whether to kill only the main process of the unit, the
+ control process or all processes of the unit. If omitted
+ defaults to <option>all</option>.</para>
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-s</option></term>
+ <term><option>--signal=</option></term>
+
+ <listitem>
+ <para>When used with <command>kill</command>, choose which
+ signal to send to selected processes. Must be one of the
+ well known signal specifiers such as SIGTERM, SIGINT or
+ SIGSTOP. If omitted defaults to
+ <option>SIGTERM</option>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-f</option></term>
+ <term><option>--force</option></term>
+
+ <listitem>
+ <para>When used with <command>enable</command>, overwrite
+ any existing conflicting symlinks.</para>
+
+ <para>When used with <command>halt</command>,
+ <command>poweroff</command>, <command>reboot</command> or
+ <command>kexec</command> execute the selected operation
+ without shutting down all units. However, all processes will
+ be killed forcibly and all file systems are unmounted or
+ remounted read-only. This is hence a drastic but relatively
+ safe option to request an immediate reboot. If
+ <option>--force</option> is specified twice for these
+ operations, they will be executed immediately without
+ terminating any processes or umounting any file
+ systems. Warning: specifying <option>--force</option> twice
+ with any of these operations might result in data
+ loss.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--root=</option></term>
+
+ <listitem>
+ <para>When used with
+ <command>enable</command>/<command>disable</command>/<command>is-enabled</command>
+ (and related commands), use alternative root path when
+ looking for unit files.</para>
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--runtime</option></term>
+
+ <listitem>
+ <para>When used with <command>enable</command>,
+ <command>disable</command>, <command>is-enabled</command>
+ (and related commands), make changes only temporarily, so
+ that they are lost on the next reboot. This will have the
+ effect that changes are not made in subdirectories of
+ <filename>/etc</filename> but in <filename>/run</filename>,
+ with identical immediate effects, however, since the latter
+ is lost on reboot, the changes are lost too.</para>
+
+ <para>Similar, when used with
+ <command>set-cgroup-attr</command>,
+ <command>unset-cgroup-attr</command>,
+ <command>set-cgroup</command> and
+ <command>unset-cgroup</command>, make changes only
+ temporarily, so that they are lost on the next
+ reboot.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-H</option></term>
+ <term><option>--host</option></term>
+
+ <listitem>
+ <para>Execute operation remotely. Specify a hostname, or
+ username and hostname separated by @, to connect to. This
+ will use SSH to talk to the remote systemd
+ instance.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-P</option></term>
+ <term><option>--privileged</option></term>
+
+ <listitem>
+ <para>Acquire privileges via PolicyKit before executing the
+ operation.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-n</option></term>
+ <term><option>--lines=</option></term>
+
+ <listitem>
+ <para>When used with <command>status</command> controls the
+ number of journal lines to show, counting from the most
+ recent ones. Takes a positive integer argument. Defaults to
+ 10.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-o</option></term>
+ <term><option>--output=</option></term>
+
+ <listitem>
+ <para>When used with <command>status</command> controls the
+ formatting of the journal entries that are shown. For the
+ available choices see
+ <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+ Defaults to <literal>short</literal>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--plain</option></term>
+
+ <listitem>
+ <para>When used with <command>list-dependencies</command>
+ the output is printed as a list instead of a tree.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>Commands</title>
+
+ <para>The following commands are understood:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><command>list-units</command></term>
+
+ <listitem>
+ <para>List known units (subject to limitations specified
+ with <option>-t</option>).</para>
+
+ <para>This is the default command.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>list-sockets</command></term>
+
+ <listitem>
+ <para>List socket units ordered by the listening address. Produces output
+ similar to
+ <programlisting>
+LISTEN UNIT ACTIVATES
+/dev/initctl systemd-initctl.socket systemd-initctl.service
+...
+[::]:22 sshd.socket sshd.service
+kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
+
+5 sockets listed.
+ </programlisting>
+ Note: because the addresses might contains spaces, this output
+ is not suitable for programatic consumption.
+ </para>
+
+ <para>See also the options <option>--show-types</option>,
+ <option>--all</option>, and <option>--failed</option>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>start <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Start (activate) one or more units specified on the
+ command line.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>stop <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Stop (deactivate) one or more units specified on the
+ command line.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>reload <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Asks all units listed on the command line to reload
+ their configuration. Note that this will reload the
+ service-specific configuration, not the unit configuration
+ file of systemd. If you want systemd to reload the
+ configuration file of a unit use the
+ <command>daemon-reload</command> command. In other words:
+ for the example case of Apache, this will reload Apache's
+ <filename>httpd.conf</filename> in the web server, not the
+ <filename>apache.service</filename> systemd unit
+ file. </para>
+
+ <para>This command should not be confused with the
+ <command>daemon-reload</command> or <command>load</command>
+ commands.</para>
+ </listitem>
+
+ </varlistentry>
+ <varlistentry>
+ <term><command>restart <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Restart one or more units specified on the command
+ line. If the units are not running yet they will be
+ started.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>try-restart <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Restart one or more units specified on the command
+ line if the units are running. Do nothing if units are not
+ running. Note that for compatibility with Red Hat init
+ scripts <command>condrestart</command> is equivalent to this
+ command.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>reload-or-restart <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Reload one or more units if they support it. If not,
+ restart them instead. If the units are not running yet they
+ will be started.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>reload-or-try-restart <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Reload one or more units if they support it. If not,
+ restart them instead. Do nothing if the units are not
+ running. Note that for compatibility with SysV init scripts
+ <command>force-reload</command> is equivalent to this
+ command.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>isolate <replaceable>NAME</replaceable></command></term>
+
+ <listitem>
+ <para>Start the unit specified on the command line and its
+ dependencies and stop all others.</para>
+
+ <para>This is similar to changing the runlevel in a
+ traditional init system. The <command>isolate</command>
+ command will immediately stop processes that are not enabled
+ in the new unit, possibly including the graphical
+ environment or terminal you are currently using.</para>
+
+ <para>Note that this is allowed only on units where
+ <option>AllowIsolate=</option> is enabled. See
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>kill <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Send a signal to one or more processes of the
+ unit. Use <option>--kill-who=</option> to select which
+ process to kill. Use <option>--kill-mode=</option> to select
+ the kill mode and <option>--signal=</option> to select the
+ signal to send.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>is-active <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Check whether any of the specified units are active
+ (i.e. running). Returns an exit code 0 if at least one is
+ active, non-zero otherwise. Unless <option>--quiet</option>
+ is specified this will also print the current unit state to
+ STDOUT.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>is-failed <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Check whether any of the specified units are failed.
+ Returns an exit code 0 if at least one is failed, non-zero
+ otherwise. Unless <option>--quiet</option> is specified this
+ will also print the current unit state to
+ STDOUT.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>status [<replaceable>NAME</replaceable>...|<replaceable>PID</replaceable>...]</command></term>
+
+ <listitem>
+ <para>Show terse runtime status information about one or
+ more units, followed by most recent log data from the
+ journal. If no units are specified, show all units (subject
+ to limitations specified with <option>-t</option>). If a PID
+ is passed show information about the unit the process
+ belongs to.</para>
+
+ <para>This function is intended to generate human-readable
+ output. If you are looking for computer-parsable output, use
+ <command>show</command> instead.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>show [<replaceable>NAME</replaceable>...|<replaceable>JOB</replaceable>...]</command></term>
+
+ <listitem>
+ <para>Show properties of one or more units, jobs, or the
+ manager itself. If no argument is specified properties of
+ the manager will be shown. If a unit name is specified
+ properties of the unit is shown, and if a job id is
+ specified properties of the job is shown. By default, empty
+ properties are suppressed. Use <option>--all</option> to
+ show those too. To select specific properties to show use
+ <option>--property=</option>. This command is intended to be
+ used whenever computer-parsable output is required. Use
+ <command>status</command> if you are looking for formatted
+ human-readable output.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>get-cgroup-attr <replaceable>NAME</replaceable> <replaceable>ATTRIBUTE</replaceable>...</command></term>
+
+ <listitem>
+ <para>Retrieve the specified control group attributes of the
+ specified unit. Takes a unit name and one or more attribute
+ names such as <literal>cpu.shares</literal>. This will
+ output the current values of the specified attributes,
+ separated by new-lines. For attributes that take list of
+ items the output will be new-line separated, too. This
+ operation will always try to retrieve the data in question
+ from the kernel first, and if that is not available use the
+ configured values instead. Instead of low-level control
+ group attribute names high-level pretty names may be used,
+ as used for unit execution environment configuration, see
+ <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details. For example, passing
+ <literal>memory.limit_in_bytes</literal> and
+ <literal>MemoryLimit</literal> is equivalent.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>set-cgroup-attr <replaceable>NAME</replaceable> <replaceable>ATTRIBUTE</replaceable> <replaceable>VALUE</replaceable>...</command></term>
+
+ <listitem>
+ <para>Set the specified control group attribute of the
+ specified unit to the specified value. Takes a unit
+ name and an attribute name such as
+ <literal>cpu.shares</literal>, plus one or more values
+ (multiple values may only be used for attributes that take
+ multiple values). This operation will immediately update the
+ kernel attribute for this unit and persistently store this
+ setting for later reboots (unless <option>--runtime</option>
+ is passed, in which case the setting is not saved
+ persistently and only valid until the next reboot.) Instead
+ of low-level control group attribute names high-level pretty
+ names may be used, as used for unit execution environment
+ configuration, see
+ <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details. For example, passing
+ <literal>memory.limit_in_bytes</literal> and
+ <literal>MemoryLimit</literal> is equivalent. This operation
+ will implicitly create a control group for the unit in the
+ controller the attribute belongs to, if needed. For
+ attributes that take multiple values, this operation will
+ append the specified values to the previously set values
+ list (use <command>unset-cgroup-attr</command> to reset the
+ list explicitly). For attributes that take a single value
+ only the list will be reset implicitly.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>unset-cgroup-attr <replaceable>NAME</replaceable> <replaceable>ATTRIBUTE</replaceable>...</command></term>
+
+ <listitem><para>Unset the specified control group attributes
+ of the specified unit. Takes a unit name and one or more
+ attribut names such as <literal>cpu.shares</literal>. This
+ operation might or might not have an immediate effect on the
+ current kernel attribute value. This will remove any
+ persistently stored configuration values for this attribute
+ (as set with <command>set-cgroup-attr</command> before),
+ unless <option>--runtime</option> is passed, in which case the
+ configuration is reset only until the next reboot. Again,
+ high-level control group attributes may be used instead of the
+ low-level kernel ones. For attributes which take multiple
+ values, all currently set values are reset.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>set-cgroup <replaceable>NAME</replaceable> <replaceable>CGROUP</replaceable>...</command></term>
+ <term><command>unset-cgroup <replaceable>NAME</replaceable> <replaceable>CGROUP</replaceable>...</command></term>
+
+ <listitem><para>Add or remove a unit to/from a specific
+ control group hierarchy and/or control group path. Takes a
+ unit name, plus a control group specification in the syntax
+ <replaceable>CONTROLLER</replaceable>:<replaceable>PATH</replaceable>
+ or <replaceable>CONTROLLER</replaceable>. In the latter syntax
+ (where the path is omitted) the default unit control group
+ path is implied. Examples: <literal>cpu</literal> or
+ <literal>cpu:/foo/bar</literal>. If a unit is removed from a
+ control group hierarchy all its processes will be moved to the
+ root group of the hierarchy and all control group attributes
+ will be reset. These operations are immediately reflected in
+ the kernel hierarchy, and stored persistently to disk (unless
+ <option>--runtime</option> is passed).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>help <replaceable>NAME</replaceable>...|<replaceable>PID</replaceable>...</command></term>
+
+ <listitem>
+ <para>Show manual pages for one or more units, if
+ available. If a PID is passed the manual pages for the unit
+ the process of the PID belongs to is
+ shown.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>reset-failed [<replaceable>NAME</replaceable>...]</command></term>
+
+ <listitem>
+ <para>Reset the <literal>failed</literal> state of the
+ specified units, or if no unit name is passed of all
+ units. When a unit fails in some way (i.e. process exiting
+ with non-zero error code, terminating abnormally or timing
+ out) it will automatically enter the
+ <literal>failed</literal> state and its exit code and status
+ is recorded for introspection by the administrator until the
+ service is restarted or reset with this command.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>list-unit-files</command></term>
+
+ <listitem>
+ <para>List installed unit files.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>enable <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Enable one or more unit files or unit file instances,
+ as specified on the command line. This will create a number
+ of symlinks as encoded in the <literal>[Install]</literal>
+ sections of the unit files. After the symlinks have been
+ created the systemd configuration is reloaded (in a way that
+ is equivalent to <command>daemon-reload</command>) to ensure
+ the changes are taken into account immediately. Note that
+ this does not have the effect that any of the units enabled
+ are also started at the same time. If this is desired a
+ separate <command>start</command> command must be invoked
+ for the unit. Also note that in case of instance enablement,
+ symlinks named same as instances are created in install
+ location, however they all point to the same template unit
+ file.</para>
+
+ <para>This command will print the actions executed. This
+ output may be suppressed by passing <option>--quiet</option>.
+ </para>
+
+ <para>Note that this operation creates only the suggested
+ symlinks for the units. While this command is the
+ recommended way to manipulate the unit configuration
+ directory, the administrator is free to make additional
+ changes manually, by placing or removing symlinks in the
+ directory. This is particularly useful to create
+ configurations that deviate from the suggested default
+ installation. In this case the administrator must make sure
+ to invoke <command>daemon-reload</command> manually as
+ necessary, to ensure his changes are taken into account.
+ </para>
+
+ <para>Enabling units should not be confused with starting
+ (activating) units, as done by the <command>start</command>
+ command. Enabling and starting units is orthogonal: units
+ may be enabled without being started and started without
+ being enabled. Enabling simply hooks the unit into various
+ suggested places (for example, so that the unit is
+ automatically started on boot or when a particular kind of
+ hardware is plugged in). Starting actually spawns the daemon
+ process (in case of service units), or binds the socket (in
+ case of socket units), and so on.</para>
+
+ <para>Depending on whether <option>--system</option>,
+ <option>--user</option> or <option>--global</option> is
+ specified this enables the unit for the system, for the
+ calling user only or for all future logins of all
+ users. Note that in the last case no systemd daemon
+ configuration is reloaded.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>disable <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Disables one or more units. This removes all symlinks
+ to the specified unit files from the unit configuration
+ directory, and hence undoes the changes made by
+ <command>enable</command>. Note however that this removes
+ all symlinks to the unit files (i.e. including manual
+ additions), not just those actually created by
+ <command>enable</command>. This call implicitly reloads the
+ systemd daemon configuration after completing the disabling
+ of the units. Note that this command does not implicitly
+ stop the units that are being disabled. If this is desired
+ an additional <command>stop</command> command should be
+ executed afterwards.</para>
+
+ <para>This command will print the actions executed. This
+ output may be suppressed by passing <option>--quiet</option>.
+ </para>
+
+ <para>This command honors <option>--system</option>,
+ <option>--user</option>, <option>--global</option> in a
+ similar way as <command>enable</command>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>is-enabled <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Checks whether any of the specified unit files are
+ enabled (as with <command>enable</command>). Returns an exit
+ code of 0 if at least one is enabled, non-zero
+ otherwise. Prints the current enable status. To suppress
+ this output use <option>--quiet</option>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>reenable <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Reenable one or more unit files, as specified on the
+ command line. This is a combination of
+ <command>disable</command> and <command>enable</command> and
+ is useful to reset the symlinks a unit is enabled with to
+ the defaults configured in the <literal>[Install]</literal>
+ section of the unit file.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>preset <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Reset one or more unit files, as specified on the
+ command line, to the defaults configured in the preset
+ policy files. This has the same effect as
+ <command>disable</command> or <command>enable</command>,
+ depending how the unit is listed in the preset files. For
+ more information on preset policy format see
+ <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ For more information on the concept of presets please
+ consult the
+ <ulink url="http://freedesktop.org/wiki/Software/systemd/Preset">Preset</ulink>
+ document.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>mask <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Mask one or more unit files, as specified on the
+ command line. This will link these units to
+ <filename>/dev/null</filename>, making it impossible to
+ start them. This is a stronger version of
+ <command>disable</command>, since it prohibits all kinds of
+ activation of the unit, including manual activation. Use
+ this option with care.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>unmask <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Unmask one or more unit files, as specified on the
+ command line. This will undo the effect of
+ <command>mask</command>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>link <replaceable>FILENAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Link a unit file that is not in the unit file search
+ paths into the unit file search path. This requires an
+ absolute path to a unit file. The effect of this can be
+ undone with <command>disable</command>. The effect of this
+ command is that a unit file is available for
+ <command>start</command> and other commands although it
+ isn't installed directly in the unit search path.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>load <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Load one or more units specified on the command
+ line. This will simply load their configuration from disk,
+ but not start them. To start them you need to use the
+ <command>start</command> command which will implicitly load
+ a unit that has not been loaded yet. Note that systemd
+ garbage collects loaded units that are not active or
+ referenced by an active unit. This means that units loaded
+ this way will usually not stay loaded for long. Also note
+ that this command cannot be used to reload unit
+ configuration. Use the <command>daemon-reload</command>
+ command for that. All in all, this command is of little use
+ except for debugging.</para>
+
+ <para>This command should not be confused with the
+ <command>daemon-reload</command> or
+ <command>reload</command>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>list-jobs</command></term>
+
+ <listitem>
+ <para>List jobs that are in progress.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>cancel <replaceable>JOB</replaceable>...</command></term>
+
+ <listitem>
+ <para>Cancel one or more jobs specified on the command line
+ by their numeric job IDs. If no job id is specified, cancel
+ all pending jobs.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>dump</command></term>
+
+ <listitem>
+ <para>Dump server status. This will output a (usually very
+ long) human readable manager status dump. Its format is
+ subject to change without notice and should not be parsed by
+ applications.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>list-dependencies <replaceable>NAME</replaceable></command></term>
+
+ <listitem>
+ <para>Shows required and wanted units of the specified
+ unit. If no unit is specified
+ <filename>default.target</filename> is implied. Target units
+ are recursively expanded. When <option>--all</option> is
+ passed all other units are recursively expanded as
+ well.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>snapshot [<replaceable>NAME</replaceable>]</command></term>
+
+ <listitem>
+ <para>Create a snapshot. If a snapshot name is specified,
+ the new snapshot will be named after it. If none is
+ specified an automatic snapshot name is generated. In either
+ case, the snapshot name used is printed to STDOUT, unless
+ <option>--quiet</option> is specified.</para>
+
+ <para>A snapshot refers to a saved state of the systemd
+ manager. It is implemented itself as a unit that is
+ generated dynamically with this command and has dependencies
+ on all units active at the time. At a later time the user
+ may return to this state by using the
+ <command>isolate</command> command on the snapshot unit.
+ </para>
+
+ <para>Snapshots are only useful for saving and restoring
+ which units are running or are stopped, they do not
+ save/restore any other state. Snapshots are dynamic and lost
+ on reboot.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>delete <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Remove a snapshot previously created with
+ <command>snapshot</command>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>daemon-reload</command></term>
+
+ <listitem>
+ <para>Reload systemd manager configuration. This will reload
+ all unit files and recreate the entire dependency
+ tree. While the daemon is reloaded, all sockets systemd
+ listens on on behalf of user configuration will stay
+ accessible.</para> <para>This command should not be confused
+ with the <command>load</command> or
+ <command>reload</command> commands.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>daemon-reexec</command></term>
+
+ <listitem>
+ <para>Reexecute the systemd manager. This will serialize the
+ manager state, reexecute the process and deserialize the
+ state again. This command is of little use except for
+ debugging and package upgrades. Sometimes it might be
+ helpful as a heavy-weight <command>daemon-reload</command>.
+ While the daemon is reexecuted all sockets systemd listens
+ on on behalf of user configuration will stay accessible.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>show-environment</command></term>
+
+ <listitem>
+ <para>Dump the systemd manager environment block. The
+ environment block will be dumped in straight-forward form
+ suitable for sourcing into a shell script. This environment
+ block will be passed to all processes the manager
+ spawns.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>set-environment <replaceable>VARIABLE=VALUE</replaceable>...</command></term>
+
+ <listitem>
+ <para>Set one or more systemd manager environment variables,
+ as specified on the command line.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>unset-environment <replaceable>VARIABLE</replaceable>...</command></term>
+
+ <listitem>
+ <para>Unset one or more systemd manager environment
+ variables. If only a variable name is specified it will be
+ removed regardless of its value. If a variable and a value
+ are specified the variable is only removed if it has the
+ specified value.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>default</command></term>
+
+ <listitem>
+ <para>Enter default mode. This is mostly equivalent to
+ <command>isolate default.target</command>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>rescue</command></term>
+
+ <listitem>
+ <para>Enter rescue mode. This is mostly equivalent to
+ <command>isolate rescue.target</command> but also prints a
+ wall message to all users.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>emergency</command></term>
+
+ <listitem>
+ <para>Enter emergency mode. This is mostly equivalent to
+ <command>isolate emergency.target</command> but also prints
+ a wall message to all users.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>halt</command></term>
+
+ <listitem>
+ <para>Shut down and halt the system. This is mostly equivalent to
+ <command>start halt.target --irreversible</command> but also
+ prints a wall message to all users. If combined with
+ <option>--force</option> shutdown of all running services is
+ skipped, however all processes are killed and all file
+ systems are unmounted or mounted read-only, immediately
+ followed by the system halt. If <option>--force</option> is
+ specified twice the operation is immediately executed
+ without terminating any processes or unmounting any file
+ systems. This may result in data loss.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>poweroff</command></term>
+
+ <listitem>
+ <para>Shut down and power-off the system. This is mostly
+ equivalent to <command>start poweroff.target --irreversible</command>
+ but also prints a wall message to all users. If combined with
+ <option>--force</option> shutdown of all running services is
+ skipped, however all processes are killed and all file
+ systems are unmounted or mounted read-only, immediately
+ followed by the powering off. If <option>--force</option> is
+ specified twice the operation is immediately executed
+ without terminating any processes or unmounting any file
+ systems. This may result in data loss.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>reboot</command></term>
+
+ <listitem>
+ <para>Shut down and reboot the system. This is mostly
+ equivalent to <command>start reboot.target --irreversible</command>
+ but also prints a wall message to all users. If combined with
+ <option>--force</option> shutdown of all running services is
+ skipped, however all processes are killed and all file
+ systems are unmounted or mounted read-only, immediately
+ followed by the reboot. If <option>--force</option> is
+ specified twice the operation is immediately executed
+ without terminating any processes or unmounting any file
+ systems. This may result in data loss.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>kexec</command></term>
+
+ <listitem>
+ <para>Shut down and reboot the system via kexec. This is
+ mostly equivalent to <command>start kexec.target --irreversible</command>
+ but also prints a wall message to all users. If combined
+ with <option>--force</option> shutdown of all running
+ services is skipped, however all processes are killed and
+ all file systems are unmounted or mounted read-only,
+ immediately followed by the reboot.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>exit</command></term>
+
+ <listitem>
+ <para>Ask the systemd manager to quit. This is only
+ supported for user service managers (i.e. in conjunction
+ with the <option>--user</option> option) and will fail
+ otherwise.</para>
+ </listitem>
+
+ </varlistentry>
+ <varlistentry>
+ <term><command>suspend</command></term>
+
+ <listitem>
+ <para>Suspend the system. This will trigger activation of
+ the special <filename>suspend.target</filename> target.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>hibernate</command></term>
+
+ <listitem>
+ <para>Hibernate the system. This will trigger activation of
+ the special <filename>hibernate.target</filename> target.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>hybrid-sleep</command></term>
+
+ <listitem>
+ <para>Hibernate and suspend the system. This will trigger
+ activation of the special
+ <filename>hybrid-sleep.target</filename> target.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>switch-root <replaceable>ROOT</replaceable> [<replaceable>INIT</replaceable>]</command></term>
+
+ <listitem>
+ <para>Switches to a different root directory and executes a
+ new system manager process below it. This is intended for
+ usage in initial RAM disks ("initrd"), and will transition
+ from the initrd's system manager process (a.k.a "init"
+ process) to the main system manager process. Takes two
+ arguments: the directory to make the new root directory, and
+ the path to the new system manager binary below it to
+ execute as PID 1. If the latter is omitted or the empty
+ string, a systemd binary will automatically be searched for
+ and used as init. If the system manager path is omitted or
+ equal to the empty string the state of the initrd's system
+ manager process is passed to the main system manager, which
+ allows later introspection of the state of the services
+ involved in the initrd boot.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </refsect1>
+
+ <refsect1>
+ <title>Exit status</title>
+
+ <para>On success 0 is returned, a non-zero failure
+ code otherwise.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Environment</title>
+
+ <variablelist class='environment-variables'>
+ <varlistentry>
+ <term><varname>$SYSTEMD_PAGER</varname></term>
+
+ <listitem>
+ <para>Pager to use when <option>--no-pager</option> is not
+ given; overrides <varname>$PAGER</varname>. Setting this to
+ an empty string or the value <literal>cat</literal> is
+ equivalent to passing
+ <option>--no-pager</option>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemadm</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ </para>
+ </refsect1>
</refentry>
diff --git a/man/systemd-activate.xml b/man/systemd-activate.xml
new file mode 100644
index 0000000000..b62cf44ec4
--- /dev/null
+++ b/man/systemd-activate.xml
@@ -0,0 +1,183 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<!--
+This file is part of systemd.
+
+Copyright 2013 Zbigniew Jędrzejewski-Szmek
+
+systemd is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or
+(at your option) any later version.
+
+systemd is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<refentry id="systemd-activate">
+
+ <refentryinfo>
+ <title>systemd-activate</title>
+ <productname>systemd</productname>
+
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Zbigniew</firstname>
+ <surname>Jędrzejewski-Szmek</surname>
+ <email>zbyszek@in.waw.pl</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>systemd-activate</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>systemd-activate</refname>
+ <refpurpose>Test socket activation of daemons</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>/usr/lib/systemd/systemd-activate</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ <arg choice="plain"><replaceable>daemon</replaceable></arg>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para><command>systemd-activate</command> can be used to
+ launch a socket activated daemon from the command-line for
+ testing purposes. It can also be used to launch single instances
+ of the daemon per connection (inetd-style).
+ </para>
+
+ <para>The daemon to launch and its options should be specifed
+ after options intended for <command>systemd-activate</command>.
+ </para>
+
+ <para>If the <option>-a</option> option is given, file descriptor
+ of the connection will be used as the standard input and output of
+ the launched process. Otherwise, standard input and output will be
+ inherited, and sockets will be passed through file descriptors 3
+ and higher. Sockets passed through <varname>$LISTEN_FDS</varname>
+ to <command>systemd-activate</command> will be passed through to
+ the dameon, in the original positions. Other sockets specified
+ with <option>--listen</option> will use consecutive descriptors.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--help</option></term>
+ <term><option>-h</option></term>
+
+ <listitem><para>Prints a short help
+ text and exits.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--version</option></term>
+
+ <listitem><para>Prints a short version
+ string and exits.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-l <replaceable>address</replaceable></option></term>
+ <term><option>--listen=<replaceable>address</replaceable></option></term>
+
+ <listitem><para>Listen on this <replaceable>address</replaceable>.
+ Takes a string like <literal>2000</literal> or
+ <literal>127.0.0.1:2001</literal>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-a</option></term>
+ <term><option>--accept</option></term>
+
+ <listitem><para>Launch a separate instance of daemon per
+ connection and pass the connection socket as standard input
+ and standard output.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-E <replaceable>VAR</replaceable><optional>=<replaceable>VALUE</replaceable></optional></option></term>
+ <term><option>--environment=<replaceable>VAR</replaceable><optional>=<replaceable>VALUE</replaceable></optional></option></term>
+
+ <listitem><para>Add this variable to the environment of the
+ launched process. If <replaceable>VAR</replaceable> is
+ followed by <literal>=</literal> assume that it is a
+ variable–value pair. Otherwise obtain the value from the
+ environment of <command>systemd-activate</command> itself.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>Environment variables</title>
+ <variablelist class='environment-variables'>
+ <varlistentry>
+ <term><varname>$LISTEN_FDS</varname></term>
+ <term><varname>$LISTEN_PID</varname></term>
+
+ <listitem><para>See
+ <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>$SYSTEMD_LOG_TARGET</varname></term>
+ <term><varname>$SYSTEMD_LOG_LEVEL</varname></term>
+ <term><varname>$SYSTEMD_LOG_COLOR</varname></term>
+ <term><varname>$SYSTEMD_LOG_LOCATION</varname></term>
+
+ <listitem><para>Same as in
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>Example 1</title>
+
+ <programlisting>$ /usr/lib/systemd/systemd-activate -l 2000 -a cat</programlisting>
+
+ <para>This runs an echo server on port 2000.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Example 2</title>
+
+ <programlisting>$ /usr/lib/systemd/systemd-activate -l 19531 /usr/lib/systemd/systemd-journal-gatewayd</programlisting>
+
+ <para>This runs a socket activated instance of
+ <citerefentry><refentrytitle>systemd-journal-gatewayd</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>cat</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+</refentry>
diff --git a/man/systemd-analyze.xml b/man/systemd-analyze.xml
index c2ff9cc5bd..ae45bfcf31 100644
--- a/man/systemd-analyze.xml
+++ b/man/systemd-analyze.xml
@@ -34,6 +34,12 @@
<surname>Poettering</surname>
<email>lennart@poettering.net</email>
</author>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Harald</firstname>
+ <surname>Hoyer</surname>
+ <email>harald@redhat.com</email>
+ </author>
</authorgroup>
</refentryinfo>
@@ -55,8 +61,14 @@
<command>systemd-analyze <arg choice="opt" rep="repeat">OPTIONS</arg> blame </command>
</cmdsynopsis>
<cmdsynopsis>
+ <command>systemd-analyze <arg choice="opt" rep="repeat">OPTIONS</arg> critical-chain </command>
+ </cmdsynopsis>
+ <cmdsynopsis>
<command>systemd-analyze <arg choice="opt" rep="repeat">OPTIONS</arg> plot <arg choice="opt">&gt; file.svg</arg></command>
</cmdsynopsis>
+ <cmdsynopsis>
+ <command>systemd-analyze <arg choice="opt" rep="repeat">OPTIONS</arg> dot <arg choice="opt">pattern...</arg> </command>
+ </cmdsynopsis>
</refsynopsisdiv>
<refsect1>
@@ -85,11 +97,37 @@
be slow simply because it waits for the initialization
of another service to complete.</para>
+ <para><command>systemd-analyze critical-chain</command>
+ prints a tree of the time critical chain of units.
+ The time after the unit is active or started is printed
+ after the "@" character. The time the unit takes to
+ start is printed after the "+" character.
+ Note that the output might be misleading as the
+ initialization of one service might depend on socket
+ activation and because of the parallel execution
+ of units.</para>
+
<para><command>systemd-analyze plot</command> prints
an SVG graphic detailing which system services have
been started at what time, highlighting the time they
spent on initialization.</para>
+ <para><command>systemd-analyze dot</command> Generate
+ textual dependency graph description in dot format for
+ further processing with the GraphViz
+ <citerefentry><refentrytitle>dot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ tool. Use a command line like <command>systemd-analyze
+ dot | dot -Tsvg > systemd.svg</command> to generate a
+ graphical dependency tree. Unless
+ <option>--order</option> or <option>--require</option>
+ is passed the generated graph will show both ordering
+ and requirement dependencies. Optional pattern
+ globbing style specifications
+ (e.g. <filename>*.target</filename>) may be given at
+ the end. A unit dependency is included in the graph if
+ any of these patterns match either the origin or
+ destination node.</para>
+
<para>If no command is passed <command>systemd-analyze
time</command> is implied.</para>
@@ -116,6 +154,65 @@
of user sessions instead of the system
manager.</para></listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><option>--order</option></term>
+ <term><option>--require</option></term>
+
+ <listitem><para>When used in
+ conjunction with the
+ <command>dot</command> command (see
+ above), selects which dependencies are
+ shown in the dependency graph. If
+ <option>--order</option> is passed
+ only dependencies of type
+ <varname>After=</varname> or
+ <varname>Before=</varname> are
+ shown. If <option>--require</option>
+ is passed only dependencies of type
+ <varname>Requires=</varname>,
+ <varname>RequiresOverridable=</varname>,
+ <varname>Requisite=</varname>,
+ <varname>RequisiteOverridable=</varname>,
+ <varname>Wants=</varname> and
+ <varname>Conflicts=</varname> are
+ shown. If neither is passed, shows
+ dependencies of all these
+ types.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--from-pattern=</option></term>
+ <term><option>--to-pattern=</option></term>
+
+ <listitem><para>When used in
+ conjunction with the
+ <command>dot</command> command (see
+ above), selects which relationships
+ are shown in the dependency graph.
+ They both require
+ <citerefentry><refentrytitle>glob</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ patterns as arguments, which are
+ matched against lefthand and
+ righthand, respectively, nodes of a
+ relationship. Each of these can be
+ used more than once which means a
+ unit name must match one of given
+ values.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--fuzz=</option><replaceable>timespan</replaceable></term>
+
+ <listitem><para>When used in conjunction
+ with the <command>critical-chain</command>
+ command (see above), also show units, which
+ finished <replaceable>timespan</replaceable> earlier, than the
+ latest unit in the same level. The unit of
+ <replaceable>timespan</replaceable> is seconds
+ unless specified with a different unit,
+ i.e. "50ms".</para></listitem>
+ </varlistentry>
</variablelist>
</refsect1>
@@ -128,6 +225,23 @@
</refsect1>
<refsect1>
+ <title>Examples</title>
+
+ <para>This plots all dependencies of any unit whose
+ name starts with "<literal>avahi-daemon.</literal>":</para>
+
+ <programlisting>$ systemd-analyze dot 'avahi-daemon.*' | dot -Tsvg > avahi.svg
+$ eog avahi.svg</programlisting>
+
+ <para>This plots the dependencies between all known target units:</para>
+
+ <programlisting>systemd-analyze dot --to-pattern='*.target' --from-patter='*.target' | dot -Tsvg > targets.svg
+$ eog targets.svg</programlisting>
+
+
+ </refsect1>
+
+ <refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
diff --git a/man/systemd-ask-password.xml b/man/systemd-ask-password.xml
index 7b0b9ab809..563f9d5d61 100644
--- a/man/systemd-ask-password.xml
+++ b/man/systemd-ask-password.xml
@@ -129,7 +129,8 @@
<listitem><para>Specify the query
timeout in seconds. Defaults to
- 90s.</para></listitem>
+ 90s. A timeout of 0 waits indefinitely.
+ </para></listitem>
</varlistentry>
<varlistentry>
diff --git a/man/systemd-binfmt.service.xml b/man/systemd-binfmt.service.xml
index 1db735a826..748e41780a 100644
--- a/man/systemd-binfmt.service.xml
+++ b/man/systemd-binfmt.service.xml
@@ -19,7 +19,7 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-binfmt.service">
+<refentry id="systemd-binfmt.service" conditional='ENABLE_BINFMT'>
<refentryinfo>
<title>systemd-binfmt.service</title>
diff --git a/man/systemd-bootchart.xml b/man/systemd-bootchart.xml
index 4d53824d46..8de4c69a2d 100644
--- a/man/systemd-bootchart.xml
+++ b/man/systemd-bootchart.xml
@@ -10,6 +10,7 @@
Authors:
Auke Kok <auke-jan.h.kok@intel.com>
+ William Giokas <1007380@gmail.com>
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
@@ -25,7 +26,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-bootchart">
+<refentry id="systemd-bootchart" conditional='ENABLE_BOOTCHART'>
<refentryinfo>
<title>systemd-bootchart</title>
<productname>systemd</productname>
@@ -47,43 +48,88 @@
<refnamediv>
<refname>systemd-bootchart</refname>
- <refpurpose>Boot performance analysis graphing tool</refpurpose>
+ <refpurpose>Boot performance graphing tool</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
-
- <para>Systemd-bootchart is an boot time analysis tool. It represents
- various aspects of the system as graph elements. These graph
- elements allow the user to determine resource usage, efficiency
- and performance issues.</para>
+ <para>
+ <command>systemd-bootchart</command> is a
+ tool, usually run at system startup, that
+ collects the CPU load, disk load, memory
+ usage, as well as per-process information from
+ a running system. Collected results are output
+ as an SVG graph. Normally, systemd-bootchart
+ is invoked by the kernel by passing
+ <option>init=<filename>/usr/lib/systemd/systemd-bootchart</filename></option>
+ on the kernel commandline. systemd-bootchart will then
+ fork the real init off to resume normal system
+ startup, while monitoring and logging startup
+ information in the background.
+ </para>
+ <para>
+ After collecting a certain amount of data
+ (usually 15-30 seconds, default 20 s) the
+ logging stops and a graph is generated from
+ the logged information. This graph contains
+ vital clues as to which resources are being used,
+ in which order, and where possible problems
+ exist in the startup sequence of the system.
+ It is essentially a more detailed version of
+ the <command>systemd-analyze</command>
+ <command>plot</command> function.
+ </para>
+ <para>
+ Of course, bootchart can also be used at any
+ moment in time to collect and graph some data
+ for an amount of time. It is
+ recommended to use the <option>--rel</option>
+ switch in this case.
+ </para>
+ <para>
+ Bootchart does not require root privileges,
+ and will happily run as a normal user.
+ </para>
+ <para>
+ Bootchart graphs are by default written
+ time-stamped in <filename>/run/log</filename>
+ and saved to the journal with
+ <varname>MESSAGE_ID=9f26aa562cf440c2b16c773d0479b518</varname>.
+ Journal field <varname>BOOTCHART=</varname> contains
+ the bootchart in SVG format.
+ </para>
</refsect1>
<refsect1>
<title>Invocation</title>
- <para>systemd-bootchart can be invoked in several different ways:</para>
+ <para><command>systemd-bootchart</command> can be invoked in several different ways:</para>
- <variablelist class='bootchart-invocation'>
+ <variablelist>
<varlistentry>
- <title>Kernel invocation</title>
- <listitem><para>The kernel can invoke systemd-bootchart
- instead of the init process. In itself, systemd-bootchart
- will invoke <filename>/sbin/init</filename> if invoked in
- this matter.</para></listitem>
+ <term><emphasis>Kernel invocation</emphasis></term>
+ <listitem><para>The kernel can invoke
+ <command>systemd-bootchart</command>
+ instead of the init process. In turn,
+ <command>systemd-bootchart</command>
+ will invoke <command>/sbin/init</command>.
+ </para></listitem>
</varlistentry>
<varlistentry>
- <title>Started as a standalone program</title>
- <listitem><para>One can execute systemd-bootchart as
- normal application from the commandline. In this mode
- it is highly recommended to pass the "-r" flag in order
- to not graph the time elapsed since boot and before
- systemd-bootchart was started, as it may result in
- extremely large graphs.
- </para></listitem>
+ <term><emphasis>Started as a standalone program</emphasis></term>
+ <listitem><para>One can execute
+ <command>systemd-bootchart</command>
+ as normal application from the
+ commandline. In this mode it is highly
+ recommended to pass the
+ <option>-r</option> flag in order to
+ not graph the time elapsed since boot
+ and before systemd-bootchart was
+ started, as it may result in extremely
+ large graphs. </para></listitem>
</varlistentry>
</variablelist>
</refsect1>
@@ -91,27 +137,195 @@
<refsect1>
<title>Options</title>
- <para>Please read systemd-bootchart --help or the bootchart.conf manual
- page for information about the various options that influence how
- systemd-bootchart operates.</para>
+ <para>These options can also be set in the
+ <filename>/etc/systemd/bootchart.conf</filename>
+ file. See
+ <citerefentry><refentrytitle>bootchart.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para>
+
+ <variablelist>
+
+ <varlistentry>
+ <term><option>-h</option></term>
+ <term><option>--help</option></term>
+ <listitem><para>Prints a short help text and exits.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-n</option></term>
+ <term><option>--sample <replaceable>N</replaceable></option></term>
+ <listitem><para>Specify the number of
+ samples, <replaceable>N</replaceable>,
+ to record. Samples will be recorded at
+ intervals defined with <option>--freq</option>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-f</option></term>
+ <term><option>--freq <replaceable>f</replaceable></option></term>
+ <listitem><para>Specify the sample log
+ frequency, a positive real <replaceable>f</replaceable>, in Hz.
+ Most systems can cope with values up to 25-50 without
+ creating too much overhead.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-r</option></term>
+ <term><option>--rel</option></term>
+ <listitem><para>Use relative times instead of absolute
+ times. This is useful for using bootchart at post-boot
+ time to profile an already booted system. Without this
+ option the graph would become extremely large. If set, the
+ horizontal axis starts at the first recorded sample
+ instead of time 0.0.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-F</option></term>
+ <term><option>--no-filter</option></term>
+ <listitem><para>Disable filtering of tasks that
+ did not contribute significantly to the boot. Processes
+ that are too short-lived (only seen in one sample) or
+ that do not consume any significant CPU time (less than
+ 0.001 s) will not be displayed in the output graph.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-C</option></term>
+ <term><option>--cmdline</option></term>
+ <listitem><para>Display the full command line with arguments of processes,
+ instead of only the process name.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-o</option></term>
+ <term><option>--output <replaceable>path</replaceable></option></term>
+ <listitem><para>Specify the output folder for the
+ graphs. By default, bootchart writes the graphs to
+ <filename>/run/log</filename>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-i</option></term>
+ <term><option>--init <replaceable>path</replaceable></option></term>
+ <listitem><para>Use this init binary. Defaults to
+ <command>/sbin/init</command>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-p</option></term>
+ <term><option>--pss</option></term>
+ <listitem><para>Enable logging and graphing
+ of processes' PSS (Proportional Set Size)
+ memory consumption. See <filename>filesystems/proc.txt</filename>
+ in the kernel documentation for an
+ explanation of this field.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-e</option></term>
+ <term><option>--entropy</option></term>
+ <listitem><para>Enable logging and graphing
+ of the kernel random entropy pool size.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-x</option></term>
+ <term><option>--scale-x <replaceable>N</replaceable></option></term>
+ <listitem><para>Horizontal scaling factor for all variable
+ graph components.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-y</option></term>
+ <term><option>--scale-y <replaceable>N</replaceable></option></term>
+ <listitem><para>Vertical scaling factor for all variable
+ graph components.</para></listitem>
+ </varlistentry>
+
+ </variablelist>
+
+
</refsect1>
<refsect1>
<title>Output</title>
- <para>Systemd-bootchart generates SVG graphs. In order to render these
- on a graphica display any SVG capable viewer can be used. It should be
+ <para><command>systemd-bootchart</command> generates SVG graphs. In order to render those
+ on a graphical display any SVG capable viewer can be used. It should be
noted that the SVG render engines in most browsers (including Chrome
and Firefox) are many times faster than dedicated graphical applications
- like Gimp and Inkscape. Just point your browser at "file:///var/log"!
+ like Gimp and Inkscape. Just point your browser at <ulink url="file:///run/log/" />!
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>History</title>
+
+ <para>This version of bootchart was implemented from
+ scratch, but is inspired by former bootchart
+ incantations:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><emphasis>Original bash</emphasis></term>
+ <listitem><para>The original bash/shell code implemented
+ bootchart. This version created a compressed tarball for
+ processing with external applications. This version did
+ not graph anything, only generated data.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><emphasis>Ubuntu C Implementation</emphasis></term>
+ <listitem><para>This version replaced the shell version with
+ a fast and efficient data logger, but also did not graph
+ the data.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><emphasis>Java bootchart</emphasis></term>
+ <listitem><para>This was the original graphing application
+ for charting the data, written in java.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><emphasis>pybootchartgui.py</emphasis></term>
+ <listitem><para>pybootchart created a graph from the data
+ collected by either the bash or C version.</para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>The version of bootchart you are using now combines both the data
+ collection and the charting into a single application, making it more
+ efficient and simpler. There are no longer any timing issues with the data
+ collector and the grapher, as the graphing cannot be run until the data
+ has been collected. Also, the data kept in memory is reduced to the absolute
+ minimum needed.</para>
+
+ </refsect1>
+
+ <refsect1>
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>bootchart.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
</para>
</refsect1>
<refsect1>
- <title>See Also</title>
- <para>
- <citerefentry><refentrytitle>bootchart.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- </para>
+ <title>Bugs</title>
+ <para>systemd-bootchart does not get the model information for the hard drive
+ unless the root device is specified with <code>root=/dev/sdxY</code>. Using
+ UUIDs or PARTUUIDs will boot fine, but the hard drive model will not be
+ added to the chart.</para>
+ <para>For bugs, please contact the author and current maintainer:</para>
+ <simplelist>
+ <member>Auke Kok <email>auke-jan.h.kok@intel.com</email></member>
+ </simplelist>
</refsect1>
</refentry>
diff --git a/man/systemd-cat.xml b/man/systemd-cat.xml
index cac275b453..876ebfa3cc 100644
--- a/man/systemd-cat.xml
+++ b/man/systemd-cat.xml
@@ -168,7 +168,7 @@
<example>
<title>Invoke a program</title>
- <para>This calls <filename>/bin/ls</filename>
+ <para>This calls <filename noindex='true'>/bin/ls</filename>
with STDOUT/STDERR connected to the
journal:</para>
diff --git a/man/systemd-cgls.xml b/man/systemd-cgls.xml
index 4b6ee93b4e..6249d05a8c 100644
--- a/man/systemd-cgls.xml
+++ b/man/systemd-cgls.xml
@@ -49,7 +49,9 @@
<refsynopsisdiv>
<cmdsynopsis>
- <command>systemd-cgls <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="opt" rep="repeat">CGROUP</arg></command>
+ <command>systemd-cgls</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ <arg choice="opt" rep="repeat">CGROUP</arg>
</cmdsynopsis>
</refsynopsisdiv>
@@ -111,12 +113,30 @@
</varlistentry>
<varlistentry>
+ <term><option>--full</option></term>
+
+ <listitem><para>Do not ellipsize cgroup
+ members.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>-k</option></term>
<listitem><para>Include kernel
threads in output.</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>-m <replaceable>MACHINE</replaceable></option></term>
+ <term><option>--machine=<replaceable>MACHINE</replaceable></option></term>
+
+ <listitem><para>Limit cgroups shown to
+ the part corresponding to the
+ container <replaceable>MACHINE</replaceable>.
+ </para></listitem>
+ </varlistentry>
+
</variablelist>
</refsect1>
@@ -134,6 +154,7 @@
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-cgtop</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd-cgtop.xml b/man/systemd-cgtop.xml
index 7a34512b21..e765172234 100644
--- a/man/systemd-cgtop.xml
+++ b/man/systemd-cgtop.xml
@@ -49,7 +49,8 @@
<refsynopsisdiv>
<cmdsynopsis>
- <command>systemd-cgtop <arg choice="opt" rep="repeat">OPTIONS</arg></command>
+ <command>systemd-cgtop</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
</cmdsynopsis>
</refsynopsisdiv>
@@ -58,10 +59,14 @@
<para><command>systemd-cgtop</command> shows the top
control groups of the local Linux control group
- hierarchy, ordered by their CPU, memory and disk I/O load. The
+ hierarchy, ordered by their CPU, memory, or disk I/O load. The
display is refreshed in regular intervals (by default
every 1s), similar in style to
- <citerefentry><refentrytitle>top</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
+ <citerefentry><refentrytitle>top</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+ If <command>systemd-cgtop</command> is not connected
+ to a tty, only one iteration is performed and no
+ columns headers are printed. This mode is suitable for
+ scripting.</para>
<para>Resource usage is only accounted for control
groups in the relevant hierarchy, i.e. CPU usage is
@@ -78,7 +83,7 @@
<literal>blkio</literal> and <literal>memory</literal>
to the <varname>DefaultControllers=</varname> setting
in <filename>/etc/systemd/system.conf</filename> (see
- <citerefentry><refentrytitle>systemd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for details). Alternatively, it is possible to enable
resource accounting individually for services, by
making use of the <varname>ControlGroup=</varname>
@@ -245,6 +250,13 @@
</varlistentry>
<varlistentry>
+ <term>%</term>
+
+ <listitem><para>Toggle between showing CPU time as
+ time or percentage.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term>+</term>
<term>-</term>
diff --git a/man/systemd-coredumpctl.xml b/man/systemd-coredumpctl.xml
index 53b82ed277..02b688606c 100644
--- a/man/systemd-coredumpctl.xml
+++ b/man/systemd-coredumpctl.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-coredumpctl">
+<refentry id="systemd-coredumpctl" conditional='ENABLE_COREDUMP'>
<refentryinfo>
<title>systemd-coredumpctl</title>
@@ -71,8 +71,8 @@
<variablelist>
<varlistentry>
- <term><option>--help</option></term>
<term><option>-h</option></term>
+ <term><option>--help</option></term>
<listitem><para>Print a short help
text and exit.</para></listitem>
@@ -86,8 +86,8 @@
</varlistentry>
<varlistentry>
- <term><option>--field=</option></term>
<term><option>-F</option></term>
+ <term><option>--field=</option></term>
<listitem><para>Print all possible
data values the specified field
@@ -96,8 +96,8 @@
</varlistentry>
<varlistentry>
+ <term><option>-o</option></term>
<term><option>--output=FILE</option></term>
- <term><option>-o FILE</option></term>
<listitem><para>Write the core to
<option>FILE</option>.</para></listitem>
@@ -162,7 +162,7 @@
<variablelist>
<varlistentry>
- <term><option>PID</option></term>
+ <term><replaceable>PID</replaceable></term>
<listitem><para>Process ID of the
process that dumped
@@ -170,7 +170,7 @@
</varlistentry>
<varlistentry>
- <term><option>COMM</option></term>
+ <term><replaceable>COMM</replaceable></term>
<listitem><para>Name of the executable
(matches <option>COREDUMP_COMM=</option>).
@@ -179,7 +179,7 @@
</varlistentry>
<varlistentry>
- <term><option>EXE</option></term>
+ <term><replaceable>EXE</replaceable></term>
<listitem><para>Path to the executable
(matches <option>COREDUMP_EXE=</option>).
@@ -188,7 +188,7 @@
</varlistentry>
<varlistentry>
- <term><option>MATCH</option></term>
+ <term><replaceable>MATCH</replaceable></term>
<listitem><para>General journalctl predicates
(see <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>).
diff --git a/man/systemd-cryptsetup-generator.xml b/man/systemd-cryptsetup-generator.xml
index 49d4d5545b..7950032941 100644
--- a/man/systemd-cryptsetup-generator.xml
+++ b/man/systemd-cryptsetup-generator.xml
@@ -19,7 +19,7 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-cryptsetup-generator">
+<refentry id="systemd-cryptsetup-generator" conditional='HAVE_LIBCRYPTSETUP'>
<refentryinfo>
<title>systemd-cryptsetup-generator</title>
@@ -72,7 +72,7 @@
<para><filename>systemd-cryptsetup-generator</filename> understands
the following kernel command line parameters:</para>
- <variablelist>
+ <variablelist class='kernel-commandline-options'>
<varlistentry>
<term><varname>luks=</varname></term>
<term><varname>rd.luks=</varname></term>
@@ -128,7 +128,31 @@
(initrd) while
<varname>luks.uuid=</varname> is
honored by both the main system and
- the initrd.</para></listitem>
+ the initrd.</para>
+ <para>If /etc/crypttab contains entries with
+ the same UUID, then the options for this entry
+ will be used.</para>
+ <para>If /etc/crypttab exists, only those UUID
+ specified on the kernel command line
+ will be activated in the initrd or the real root.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>luks.key=</varname></term>
+ <term><varname>rd.luks.key=</varname></term>
+
+ <listitem><para>Takes a password file as argument.</para>
+ <para>For those entries specified with
+ <varname>rd.luks.uuid=</varname> or <varname>luks.uuid=</varname>,
+ the password file will be set to the password file specified by
+ <varname>rd.luks.key=</varname> or <varname>luks.key</varname></para>
+ <para><varname>rd.luks.key=</varname>
+ is honored only by initial RAM disk
+ (initrd) while
+ <varname>luks.key=</varname> is
+ honored by both the main system and
+ the initrd.</para>
+ </listitem>
</varlistentry>
</variablelist>
</refsect1>
diff --git a/man/systemd-cryptsetup@.service.xml b/man/systemd-cryptsetup@.service.xml
index abbb9d78f2..6fa2e0cdd0 100644
--- a/man/systemd-cryptsetup@.service.xml
+++ b/man/systemd-cryptsetup@.service.xml
@@ -19,7 +19,7 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-cryptsetup@.service">
+<refentry id="systemd-cryptsetup@.service" conditional='HAVE_LIBCRYPTSETUP'>
<refentryinfo>
<title>systemd-cryptsetup@.service</title>
diff --git a/man/systemd-delta.xml b/man/systemd-delta.xml
index 072f55f1a1..9293c9b462 100644
--- a/man/systemd-delta.xml
+++ b/man/systemd-delta.xml
@@ -100,8 +100,8 @@
</varlistentry>
<varlistentry>
- <term><option>--type=</option></term>
<term><option>-t</option></term>
+ <term><option>--type=</option></term>
<listitem><para>When listing the
differences, only list those that are
diff --git a/man/systemd-fsck@.service.xml b/man/systemd-fsck@.service.xml
index 62f63110e1..4d6464c2b8 100644
--- a/man/systemd-fsck@.service.xml
+++ b/man/systemd-fsck@.service.xml
@@ -77,7 +77,7 @@
<para><filename>systemd-fsck</filename> understands
one kernel command line parameter:</para>
- <variablelist>
+ <variablelist class='kernel-commandline-options'>
<varlistentry>
<term><varname>fsck.mode=</varname></term>
diff --git a/man/systemd-fstab-generator.xml b/man/systemd-fstab-generator.xml
index b265b6c082..4bd25bfa8f 100644
--- a/man/systemd-fstab-generator.xml
+++ b/man/systemd-fstab-generator.xml
@@ -81,7 +81,7 @@
<para><filename>systemd-fstab-generator</filename> understands
the following kernel command line parameters:</para>
- <variablelist>
+ <variablelist class='kernel-commandline-options'>
<varlistentry>
<term><varname>fstab=</varname></term>
diff --git a/man/systemd-hostnamed.service.xml b/man/systemd-hostnamed.service.xml
index d9c1911018..fe64a62fbe 100644
--- a/man/systemd-hostnamed.service.xml
+++ b/man/systemd-hostnamed.service.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-hostnamed.service">
+<refentry id="systemd-hostnamed.service" conditional='ENABLE_HOSTNAMED'>
<refentryinfo>
<title>systemd-hostnamed.service</title>
diff --git a/man/systemd-journal-gatewayd.service.xml b/man/systemd-journal-gatewayd.service.xml
index 562d22186b..0b6fd706a6 100644
--- a/man/systemd-journal-gatewayd.service.xml
+++ b/man/systemd-journal-gatewayd.service.xml
@@ -21,7 +21,7 @@ You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-journal-gatewayd.service">
+<refentry id="systemd-journal-gatewayd.service" conditional='HAVE_MICROHTTPD'>
<refentryinfo>
<title>systemd-journal-gatewayd.service</title>
@@ -52,7 +52,9 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
<refsynopsisdiv>
<para><filename>systemd-journal-gatewayd.service</filename></para>
<para><filename>systemd-journal-gatewayd.socket</filename></para>
- <cmdsynopsis><command>/usr/lib/systemd/systemd-journal-gatewayd</command>
+ <cmdsynopsis>
+ <command>/usr/lib/systemd/systemd-journal-gatewayd</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
</cmdsynopsis>
</refsynopsisdiv>
@@ -61,7 +63,9 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
<para><command>systemd-journal-gatewayd</command> serves journal
events over the network. Clients must connect using
- HTTP. The server listens on port 19531 by default.</para>
+ HTTP. The server listens on port 19531 by default.
+ If <option>--cert=</option> is specified, the server expects
+ HTTPS connections.</para>
<para>The program is started by
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
@@ -72,19 +76,61 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
</refsect1>
<refsect1>
+ <title>Options</title>
+
+ <para>The following options are understood:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>--help</option></term>
+ <term><option>-h</option></term>
+
+ <listitem><para>Prints a short help
+ text and exits.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--version</option></term>
+
+ <listitem><para>Prints a short version
+ string and exits.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--cert=</option></term>
+
+ <listitem><para>Specify the path to a file containing a server
+ certificate in PEM format. This option switches
+ <command>systemd-journal-gatewayd</command> into HTTPS mode
+ and must be used together with
+ <option>--key=</option>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--key=</option></term>
+
+ <listitem><para>Specify the path to a file containing a server
+ key in PEM format corresponding to the certificate specified
+ with <option>--cert=</option>.</para></listitem>
+ </varlistentry>
+
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
<title>Supported URLs</title>
<para>The following URLs are recognized:</para>
<variablelist>
<varlistentry>
- <term><option>/browse</option></term>
+ <term><uri>/browse</uri></term>
<listitem><para>Interactive browsing.</para></listitem>
</varlistentry>
<varlistentry>
- <term><option>/entries[?option1&amp;option2=value...]</option></term>
+ <term><uri>/entries[?option1&amp;option2=value...]</uri></term>
<listitem><para>Retrieval of events in various formats.</para>
@@ -103,7 +149,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
</varlistentry>
<varlistentry>
- <term><option>/machine</option></term>
+ <term><uri>/machine</uri></term>
<listitem><para>Return a JSON structure describing the machine.</para>
@@ -121,7 +167,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
</varlistentry>
<varlistentry>
- <term><option>/fields/</option><replaceable>FIELD_NAME</replaceable></term>
+ <term><uri>/fields/<replaceable>FIELD_NAME</replaceable></uri></term>
<listitem><para>Return a list of values of this field present in the logs.</para>
</listitem>
@@ -133,14 +179,14 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
<title>Accept header</title>
<para>
- <option>Accept: </option><replaceable>format</replaceable>
+ <option>Accept: <replaceable>format</replaceable></option>
</para>
<para>Recognized formats:</para>
<variablelist>
<varlistentry>
- <term><option>text/plain</option></term>
+ <term><constant>text/plain</constant></term>
<listitem><para>The default. Plaintext syslog-like output,
one line per journal entry
@@ -149,7 +195,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
</varlistentry>
<varlistentry>
- <term><option>application/json</option></term>
+ <term><constant>application/json</constant></term>
<listitem><para>Entries are formatted as JSON data structures,
one per line
@@ -161,7 +207,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
</varlistentry>
<varlistentry>
- <term><option>application/event-stream</option></term>
+ <term><constant>application/event-stream</constant></term>
<listitem><para>Entries are formatted as JSON data structures,
wrapped in a format suitable for <ulink
@@ -173,7 +219,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
</varlistentry>
<varlistentry>
- <term><option>application/vnd.fdo.journal</option></term>
+ <term><constant>application/vnd.fdo.journal</constant></term>
<listitem><para>Entries are serialized into a binary (but
mostly text-based) stream suitable for backups and network
@@ -191,7 +237,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
<title>Range header</title>
<para>
- <option>Range: entries=&lt;cursor&gt;[[:&lt;num_skip&gt;]:&lt;num_entries&gt;]</option>
+ <option>Range: entries=<replaceable>cursor</replaceable>[[:<replaceable>num_skip</replaceable>]:<replaceable>num_entries</replaceable>]</option>
</para>
<para>where
@@ -210,7 +256,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
<variablelist>
<varlistentry>
- <term><option>follow</option></term>
+ <term><uri>follow</uri></term>
<listitem><para>wait for new events
(like <command>journalctl --follow</command>, except that
@@ -219,7 +265,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
</varlistentry>
<varlistentry>
- <term><option>discrete</option></term>
+ <term><uri>discrete</uri></term>
<listitem><para>Test that the specified cursor refers to an
entry in the journal. Returns just this entry.</para>
@@ -227,14 +273,14 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
</varlistentry>
<varlistentry>
- <term><option>boot</option></term>
+ <term><uri>boot</uri></term>
<listitem><para>Limit events to the current boot of the system
(like <command>journalctl --this--boot</command>).</para></listitem>
</varlistentry>
<varlistentry>
- <term><option>&lt;KEY&gt;=&lt;match&gt;</option></term>
+ <term><uri><replaceable>KEY</replaceable>=<replaceable>match</replaceable></uri></term>
<listitem><para>Match journal fields. See
<citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
diff --git a/man/systemd-journald.service.xml b/man/systemd-journald.service.xml
index abc03df5db..822f3c28f0 100644
--- a/man/systemd-journald.service.xml
+++ b/man/systemd-journald.service.xml
@@ -111,13 +111,13 @@
is flushed to
<filename>/var/</filename> in order to
make it persistent (if this is
- enabled). This may be used after
+ enabled). This must be used after
<filename>/var/</filename> is mounted,
- but is generally not required since
- the first journal write when
- <filename>/var/</filename> becomes
- writable triggers the flushing
- anyway.</para></listitem>
+ as otherwise log data from
+ <filename>/run</filename> is never
+ flushed to <filename>/var</filename>
+ regardless of the
+ configuration.</para></listitem>
</varlistentry>
<varlistentry>
@@ -137,7 +137,7 @@
<filename>journald.conf</filename> may be overridden on
the kernel command line:</para>
- <variablelist>
+ <variablelist class='kernel-commandline-options'>
<varlistentry>
<term><varname>systemd.journald.forward_to_syslog=</varname></term>
<term><varname>systemd.journald.forward_to_kmsg=</varname></term>
@@ -158,6 +158,38 @@
</variablelist>
</refsect1>
+ <refsect1>
+ <title>Access Control</title>
+
+ <para>Journal files are by default owned and readable
+ by the <literal>systemd-journal</literal> system group
+ (but not writable). Adding a user to this group thus
+ enables her/him to read the journal files.</para>
+
+ <para>By default, each logged in user will get her/his
+ own set of journal files in
+ <filename>/var/log/journal/</filename>. These files
+ will not be owned by the user however, in order to
+ avoid that the user can write to them
+ directly. Instead, file system ACLs are used to ensure
+ the user gets read access only.</para>
+
+ <para>Additional users and groups may be granted
+ access to journal files via file system access control
+ lists (ACL). Distributions and administrators may
+ choose to grant read access to all members of the
+ <literal>wheel</literal> and <literal>adm</literal>
+ system groups with a command such as the
+ following:</para>
+
+ <programlisting># setfacl -Rnm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx /var/log/journal/</programlisting>
+
+ <para>Note that this command will update the ACLs both
+ for existing journal files and for future journal
+ files created in the
+ <filename>/var/log/journal/</filename>
+ directory.</para>
+ </refsect1>
<refsect1>
<title>See Also</title>
@@ -166,7 +198,8 @@
<citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>setfacl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd-localed.service.xml b/man/systemd-localed.service.xml
index 6cefc4265f..1551e6a2ba 100644
--- a/man/systemd-localed.service.xml
+++ b/man/systemd-localed.service.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-localed.service">
+<refentry id="systemd-localed.service" conditional='ENABLE_LOCALED'>
<refentryinfo>
<title>systemd-localed.service</title>
diff --git a/man/systemd-logind.service.xml b/man/systemd-logind.service.xml
index 00f34051a3..09bcfac430 100644
--- a/man/systemd-logind.service.xml
+++ b/man/systemd-logind.service.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-logind.service">
+<refentry id="systemd-logind.service" conditional='ENABLE_LOGIND'>
<refentryinfo>
<title>systemd-logind.service</title>
diff --git a/man/systemd-modules-load.service.xml b/man/systemd-modules-load.service.xml
index e5f10a7beb..1d33b8eec6 100644
--- a/man/systemd-modules-load.service.xml
+++ b/man/systemd-modules-load.service.xml
@@ -19,7 +19,7 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-modules-load.service">
+<refentry id="systemd-modules-load.service" conditional='HAVE_KMOD'>
<refentryinfo>
<title>systemd-modules-load.service</title>
@@ -71,7 +71,7 @@
<para><filename>systemd-modules-load.service</filename> understands
the following kernel command line parameters:</para>
- <variablelist>
+ <variablelist class='kernel-commandline-options'>
<varlistentry>
<term><varname>modules-load=</varname></term>
diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml
index fef5c2c83a..d9fb899895 100644
--- a/man/systemd-nspawn.xml
+++ b/man/systemd-nspawn.xml
@@ -49,7 +49,17 @@
<refsynopsisdiv>
<cmdsynopsis>
- <command>systemd-nspawn <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="opt">COMMAND</arg> <arg choice="opt" rep="repeat">ARGS</arg></command>
+ <command>systemd-nspawn</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ <arg choice="opt"><replaceable>COMMAND</replaceable>
+ <arg choice="opt" rep="repeat">ARGS</arg>
+ </arg>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <command>systemd-nspawn</command>
+ <arg choice="plain">-b</arg>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ <arg choice="opt" rep="repeat">ARGS</arg>
</cmdsynopsis>
</refsynopsisdiv>
@@ -93,9 +103,10 @@
container.</para>
<para>Use a tool like
- <citerefentry><refentrytitle>yum</refentrytitle><manvolnum>8</manvolnum></citerefentry>
- or
+ <citerefentry><refentrytitle>yum</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>debootstrap</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ or
+ <citerefentry><refentrytitle>pacman</refentrytitle><manvolnum>8</manvolnum></citerefentry>
to set up an OS directory tree suitable as file system
hierarchy for <command>systemd-nspawn</command>
containers.</para>
@@ -113,34 +124,69 @@
see each other. The PID namespace separation of the
two containers is complete and the containers will
share very few runtime objects except for the
- underlying file system.</para>
+ underlying file system. It is however possible to
+ enter an existing container, see
+ <link linkend='example-nsenter'>Example 4</link> below.
+ </para>
<para><command>systemd-nspawn</command> implements the
<ulink
url="http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface">Container
Interface</ulink> specification.</para>
+
+ <para>As a safety check
+ <command>systemd-nspawn</command> will verify the
+ existance of <filename>/etc/os-release</filename> in
+ the container tree before starting the container (see
+ <citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>). It
+ might be necessary to add this file to the container
+ tree manually if the OS of the container is too old to
+ contain this file out-of-the-box.</para>
+
+ <para>Note that the kernel auditing subsystem is
+ currently broken when used together with
+ containers. We hence recommend turning it off entirely
+ when using <command>systemd-nspawn</command> by
+ booting with <literal>audit=0</literal> on the kernel
+ command line, or by turning it off at kernel build
+ time. If auditing is enabled in the kernel operating
+ systems booted in an nspawn container might refuse
+ log-in attempts.</para>
</refsect1>
<refsect1>
<title>Options</title>
- <para>If no arguments are passed the container is set
- up and a shell started in it, otherwise the passed
- command and arguments are executed in it. The
- following options are understood:</para>
+ <para>If option <option>-b</option> is specified, the
+ arguments are used as arguments for the init
+ binary. Otherwise, <replaceable>COMMAND</replaceable>
+ specifies the program to launch in the container, and
+ the remaining arguments are used as arguments for this
+ program. If <option>-b</option> is not used and no
+ arguments are specifed, a shell is launched in the
+ container.</para>
+
+ <para>The following options are understood:</para>
<variablelist>
<varlistentry>
- <term><option>--help</option></term>
<term><option>-h</option></term>
+ <term><option>--help</option></term>
<listitem><para>Prints a short help
text and exits.</para></listitem>
</varlistentry>
<varlistentry>
- <term><option>--directory=</option></term>
+ <term><option>--version</option></term>
+
+ <listitem><para>Prints a version string
+ and exits.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>-D</option></term>
+ <term><option>--directory=</option></term>
<listitem><para>Directory to use as
file system root for the namespace
@@ -150,18 +196,21 @@
</varlistentry>
<varlistentry>
- <term><option>--boot</option></term>
<term><option>-b</option></term>
+ <term><option>--boot</option></term>
<listitem><para>Automatically search
for an init binary and invoke it
instead of a shell or a user supplied
- program.</para></listitem>
+ program. If this option is used, arguments
+ specified on the command line are used
+ as arguments for the init binary.
+ </para></listitem>
</varlistentry>
<varlistentry>
- <term><option>--user=</option></term>
<term><option>-u</option></term>
+ <term><option>--user=</option></term>
<listitem><para>Run the command
under specified user, create home
@@ -173,6 +222,21 @@
</varlistentry>
<varlistentry>
+ <term><option>-M</option></term>
+ <term><option>--machine=</option></term>
+
+ <listitem><para>Sets the machine name
+ for this container. This name may be
+ used to identify this container on the
+ host, and is used to initialize the
+ container's hostname (which the
+ container can choose to override,
+ however). If not specified the last
+ component of the root directory of the
+ container is used.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>--uuid=</option></term>
<listitem><para>Set the specified uuid
@@ -184,8 +248,8 @@
</varlistentry>
<varlistentry>
- <term><option>--controllers=</option></term>
<term><option>-C</option></term>
+ <term><option>--controllers=</option></term>
<listitem><para>Makes the container appear in
other hierarchies than the name=systemd:/ one.
@@ -220,8 +284,8 @@
list of capability names, see
<citerefentry><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for more information. Note that the
- following capabilities will be
- granted in any way: CAP_CHOWN,
+ following capabilities will be granted
+ in any way: CAP_CHOWN,
CAP_DAC_OVERRIDE, CAP_DAC_READ_SEARCH,
CAP_FOWNER, CAP_FSETID, CAP_IPC_OWNER,
CAP_KILL, CAP_LEASE,
@@ -232,7 +296,9 @@
CAP_SETUID, CAP_SYS_ADMIN,
CAP_SYS_CHROOT, CAP_SYS_NICE,
CAP_SYS_PTRACE, CAP_SYS_TTY_CONFIG,
- CAP_SYS_RESOURCE, CAP_SYS_BOOT.</para></listitem>
+ CAP_SYS_RESOURCE, CAP_SYS_BOOT,
+ CAP_AUDIT_WRITE,
+ CAP_AUDIT_CONTROL.</para></listitem>
</varlistentry>
<varlistentry>
@@ -252,13 +318,13 @@
not linked. If <literal>host</literal>,
the journal files are stored on the
host file system (beneath
- <filename>/var/log/journal/&lt;machine-id&gt;</filename>)
+ <filename>/var/log/journal/<replaceable>machine-id</replaceable></filename>)
and the subdirectory is bind-mounted
into the container at the same
location. If <literal>guest</literal>,
the journal files are stored on the
guest file system (beneath
- <filename>/var/log/journal/&lt;machine-id&gt;</filename>)
+ <filename>/var/log/journal/<replaceable>machine-id</replaceable></filename>)
and the subdirectory is symlinked into the host
at the same location. If
<literal>auto</literal> (the default),
@@ -282,6 +348,26 @@
<listitem><para>Equivalent to
<option>--link-journal=guest</option>.</para></listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><option>--bind=</option></term>
+ <term><option>--bind-ro=</option></term>
+
+ <listitem><para>Bind mount a file or
+ directory from the host into the
+ container. Either takes a path
+ argument -- in which case the
+ specified path will be mounted from
+ the host to the same path in the
+ container --, or a colon-separated
+ pair of paths -- in which case the
+ first specified path is the source in
+ the host, and the second path is the
+ destination in the container. The
+ <option>--bind-ro=</option> option
+ creates read-only bind
+ mount.</para></listitem>
+ </varlistentry>
</variablelist>
</refsect1>
@@ -289,13 +375,13 @@
<refsect1>
<title>Example 1</title>
- <programlisting># yum --releasever=17 --nogpgcheck --installroot ~/fedora-tree/ install yum passwd vim-minimal rootfiles systemd
-# systemd-nspawn -D ~/fedora-tree /usr/lib/systemd/systemd</programlisting>
+ <programlisting># yum -y --releasever=19 --nogpg --installroot=/srv/mycontainer --disablerepo='*' --enablerepo=fedora install systemd passwd yum fedora-release vim-minimal
+# systemd-nspawn -bD /srv/mycontainer</programlisting>
<para>This installs a minimal Fedora distribution into
- the directory <filename>~/fedora-tree/</filename>
- and then boots an OS in a namespace container in it,
- with systemd as init system.</para>
+ the directory <filename noindex='true'>/srv/mycontainer/</filename> and
+ then boots an OS in a namespace container in
+ it.</para>
</refsect1>
<refsect1>
@@ -308,7 +394,35 @@
distribution into the directory
<filename>~/debian-tree/</filename> and then spawns a
shell in a namespace container in it.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Example 3</title>
+
+ <programlisting># pacstrap -c -d ~/arch-tree/ base
+# systemd-nspawn -bD ~/arch-tree/</programlisting>
+
+ <para>This installs a mimimal Arch Linux distribution into
+ the directory <filename>~/arch-tree/</filename> and then
+ boots an OS in a namespace container in it.</para>
+ </refsect1>
+
+ <refsect1 id='example-nsenter'>
+ <title>Example 4</title>
+
+ <para>To enter the container, PID of one of the
+ processes sharing the new namespaces must be used.
+ <command>systemd-nspawn</command> prints the PID
+ (as viewed from the outside) of the launched process,
+ and it can be used to enter the container.</para>
+
+ <programlisting># nsenter -m -u -i -n -p -t $PID</programlisting>
+ <para><citerefentry><refentrytitle>nsenter</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ is part of
+ <ulink url="https://github.com/karelzak/util-linux">util-linux</ulink>.
+ Kernel support for entering namespaces was added in
+ Linux 3.8.</para>
</refsect1>
<refsect1>
@@ -323,8 +437,10 @@
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>unshare</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>yum</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>debootstrap</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>debootstrap</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>pacman</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd-quotacheck.service.xml b/man/systemd-quotacheck.service.xml
index 4d0218b659..ff04e582de 100644
--- a/man/systemd-quotacheck.service.xml
+++ b/man/systemd-quotacheck.service.xml
@@ -19,7 +19,7 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-quotacheck.service">
+<refentry id="systemd-quotacheck.service" conditional='ENABLE_QUOTACHECK'>
<refentryinfo>
<title>systemd-quotacheck.service</title>
@@ -67,7 +67,7 @@
<para><filename>systemd-quotacheck</filename> understands
one kernel command line parameter:</para>
- <variablelist>
+ <variablelist class='kernel-commandline-options'>
<varlistentry>
<term><varname>quotacheck.mode=</varname></term>
diff --git a/man/systemd-random-seed-load.service.xml b/man/systemd-random-seed-load.service.xml
index 87f563e293..693c008a2d 100644
--- a/man/systemd-random-seed-load.service.xml
+++ b/man/systemd-random-seed-load.service.xml
@@ -19,7 +19,7 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-random-seed-load.service">
+<refentry id="systemd-random-seed-load.service" conditional='ENABLE_RANDOMSEED'>
<refentryinfo>
<title>systemd-random-seed-load.service</title>
diff --git a/man/systemd-readahead-replay.service.xml b/man/systemd-readahead-replay.service.xml
index 66d253454b..a00f7e589b 100644
--- a/man/systemd-readahead-replay.service.xml
+++ b/man/systemd-readahead-replay.service.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-readahead-replay.service">
+<refentry id="systemd-readahead-replay.service" conditional='ENABLE_READAHEAD'>
<refentryinfo>
<title>systemd-readahead-replay.service</title>
@@ -56,7 +56,12 @@
<para><filename>systemd-readahead-collect.service</filename></para>
<para><filename>systemd-readahead-done.service</filename></para>
<para><filename>systemd-readahead-done.timer</filename></para>
- <para><filename>/usr/lib/systemd/systemd-readahead</filename></para>
+ <cmdsynopsis>
+ <command>/usr/lib/systemd/systemd-readahead/systemd-readahead</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ <arg choice="plain">COMMAND</arg>
+ <arg choice="opt">DIRECTORY | FILE</arg>
+ </cmdsynopsis>
</refsynopsisdiv>
<refsect1>
@@ -104,6 +109,95 @@
</refsect1>
<refsect1>
+ <title>Options</title>
+
+ <para><filename>systemd-readahead</filename> understands
+ the following options:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>-h</option></term>
+ <term><option>--help</option></term>
+
+ <listitem><para>Prints a short help text
+ and exits.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--max-files=</option></term>
+
+ <listitem><para>Maximum number of
+ files to read ahead. Only valid
+ for thes <command>collect</command>
+ command.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--file-size-max=</option></term>
+
+ <listitem><para>Maximum size of files
+ (in bytes) to read ahead. Only valid
+ for the <command>collect</command>
+ and <command>replay</command>
+ commands.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--timeout=</option></term>
+
+ <listitem><para>Maximum time (in usec)
+ to to spend collecting data. Only valid
+ for the <command>collect</command>
+ command.</para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ </refsect1>
+
+ <refsect1>
+ <title>Commands</title>
+
+ <para>The following commands are understood by
+ <filename>systemd-readahead</filename>:</para> <variablelist>
+ <varlistentry>
+ <term><command>collect
+ [<replaceable>DIRECTORY</replaceable>]</command></term>
+ <listitem>
+ <para>Collect read-ahead data on
+ early boot. When terminating it will
+ write out a pack file to the indicated
+ directory containing the read-ahead
+ data. </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>replay
+ [<replaceable>DIRECTORY</replaceable>]</command></term>
+ <listitem>
+ <para>Perform read-ahead on the
+ specified directory tree.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>analyze
+ [<replaceable>FILE</replaceable>]</command></term>
+ <listitem>
+ <para>Dumps the content of the
+ read-ahead pack file to the
+ terminal. The output lists
+ approximately for each file
+ how much will be read-ahead by
+ the <command>replay</command>
+ command.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
diff --git a/man/systemd-remount-fs.service.xml b/man/systemd-remount-fs.service.xml
index d920c0c400..cf04713a00 100644
--- a/man/systemd-remount-fs.service.xml
+++ b/man/systemd-remount-fs.service.xml
@@ -59,20 +59,26 @@
listed in
<citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
to the root file system, the <filename>/usr</filename>
- file system and the kernel API virtual file
- systems. This is required so that the mount options of
- these file systems -- which are pre-mounted by the
- kernel, the initial RAM disk, container environments
- or system manager code -- are updated to those listed
- in <filename>/etc/fstab</filename>. This service
- ignores normal file systems and only changes the root
- file system (i.e. <filename>/</filename>),
+ file system and the kernel API file systems. This is
+ required so that the mount options of these file
+ systems -- which are pre-mounted by the kernel, the
+ initial RAM disk, container environments or system
+ manager code -- are updated to those listed in
+ <filename>/etc/fstab</filename>. This service ignores
+ normal file systems and only changes the root file
+ system (i.e. <filename>/</filename>),
<filename>/usr</filename> and the virtual kernel API
file systems such as <filename>/proc</filename>,
<filename>/sys</filename> or
- <filename>/dev/</filename>. This service executes no
+ <filename>/dev</filename>. This service executes no
operation if <filename>/etc/fstab</filename> does not
- exist or lists no entries for the mentioned file systems.</para>
+ exist or lists no entries for the mentioned file
+ systems.</para>
+
+ <para>For a longer discussion of kernel API file
+ systems see <ulink
+ url="http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems">API
+ File Systems</ulink>.</para>
</refsect1>
<refsect1>
diff --git a/man/systemd-sleep.conf.xml b/man/systemd-sleep.conf.xml
new file mode 100644
index 0000000000..dc4b0da68e
--- /dev/null
+++ b/man/systemd-sleep.conf.xml
@@ -0,0 +1,181 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<!--
+This file is part of systemd.
+
+Copyright 2013 Zbigniew Jędrzejewski-Szmek
+
+systemd is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or
+(at your option) any later version.
+
+systemd is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<refentry id="systemd-sleep.conf">
+ <refentryinfo>
+ <title>systemd-sleep.conf</title>
+ <productname>systemd</productname>
+
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Zbigniew</firstname>
+ <surname>Jędrzejewski-Szmek</surname>
+ <email>zbyszek@in.waw.pl</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>systemd-sleep.conf</refentrytitle>
+ <manvolnum>5</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>systemd-sleep.conf</refname>
+ <refpurpose>Suspend and hibernation configuration file</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <para><filename>/etc/systemd/sleep.conf</filename></para>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para><command>systemd</command> supports three general
+ power-saving modes:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>suspend</term>
+
+ <listitem><para>a low-power state
+ where execution of the OS is paused,
+ and complete power loss might result
+ in lost data, and which is fast to
+ enter and exit. This corresponds to
+ suspend, standby, or freeze states as
+ understood by the kernel.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>hibernate</term>
+
+ <listitem><para>a low-power state
+ where execution of the OS is paused,
+ and complete power loss does not
+ result in lost data, and which might
+ be slow to enter and exit. This
+ corresponds to the hibernation as
+ understood by the kernel.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>hybrid-sleep</term>
+
+ <listitem><para>a low-power state
+ where execution of the OS is paused,
+ which might be slow to enter, and on
+ complete power loss does not result in
+ lost data but might be slower to exit
+ in that case. This mode is called
+ suspend-to-both by the kernel.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Settings in this file determine what strings
+ will be written to
+ <filename>/sys/power/disk</filename> and
+ <filename>/sys/power/state</filename> by
+ <citerefentry><refentrytitle>systemd-sleep</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ when
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ attempts to suspend or hibernate the machine.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Options</title>
+
+ <para>The following options can be configured in the
+ <literal>[Sleep]</literal> section of
+ <filename>/etc/systemd/sleep.conf</filename>:</para>
+
+ <variablelist class='systemd-directives'>
+ <varlistentry>
+ <term><varname>SuspendMode=</varname></term>
+ <term><varname>HibernateMode=</varname></term>
+ <term><varname>HybridSleepMode=</varname></term>
+
+ <listitem><para>The string to be written to
+ <filename>/sys/power/disk</filename> by,
+ respectively,
+ <citerefentry><refentrytitle>systemd-suspend.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-hibernate.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, or
+ <citerefentry><refentrytitle>systemd-hybrid-sleep.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+ More than one value can be specified by seperating
+ multiple values with commas. They will be tried
+ in turn, until one is written without error. If
+ neither suceeds, the operation will be aborted.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>SuspendState=</varname></term>
+ <term><varname>HibernateState=</varname></term>
+ <term><varname>HybridSleepState=</varname></term>
+
+ <listitem><para>The string to be written to
+ <filename>/sys/power/state</filename> by,
+ respectively,
+ <citerefentry><refentrytitle>systemd-suspend.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-hibernate.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, or
+ <citerefentry><refentrytitle>systemd-hybrid-sleep.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+ More than one value can be specified by seperating
+ multiple values with commas. They will be tried
+ in turn, until one is written without error. If
+ neither suceeds, the operation will be aborted.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>Example: freeze</title>
+
+ <para>Example: to exploit the <quote>freeze</quote> mode added
+ in Linux 3.9, one can use <command>systemctl suspend</command>
+ with
+ <programlisting>
+[Sleep]
+SuspendState=freeze
+ </programlisting></para>
+ </refsect1>
+
+ <refsect1>
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd-sleep</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-suspend.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-hibernate.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-hybrid-sleep.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+</refentry>
diff --git a/man/systemd-suspend.service.xml b/man/systemd-suspend.service.xml
index 9b8bad4791..4a4ed5cbdb 100644
--- a/man/systemd-suspend.service.xml
+++ b/man/systemd-suspend.service.xml
@@ -6,6 +6,7 @@
This file is part of systemd.
Copyright 2012 Lennart Poettering
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
@@ -63,7 +64,7 @@
<para><filename>systemd-suspend.service</filename> is
a system service that is pulled in by
<filename>suspend.target</filename> and is responsible
- for the actual system suspend. Similar,
+ for the actual system suspend. Similarly,
<filename>systemd-hibernate.service</filename> is
pulled in by <filename>hibernate.target</filename> to
execute the actual hibernation. Finally,
@@ -88,8 +89,8 @@
but the first argument is now
"<literal>post</literal>". All executables in this
directory are executed in parallel, and execution of
- the action is not continued before all executables
- finished.</para>
+ the action is not continued until all executables
+ have finished.</para>
<para>Note that scripts or binaries dropped in
<filename>/usr/lib/systemd/system-sleep/</filename>
@@ -100,7 +101,7 @@
<para>Note that
<filename>systemd-suspend.service</filename>,
- <filename>systemd-hibernate.service</filename> and
+ <filename>systemd-hibernate.service</filename>, and
<filename>systemd-hybrid-sleep.service</filename>
should never be executed directly. Instead, trigger
system sleep states with a command such as
@@ -108,14 +109,51 @@
similar.</para>
<para>Internally, this service will echo a string like
- <literal>mem</literal> into
+ "<literal>mem</literal>" into
<filename>/sys/power/state</filename>, to trigger the
- actual system suspend.</para>
+ actual system suspend. What exactly is written
+ where can be configured in the <literal>[Sleep]</literal>
+ section of <filename>/etc/systemd/sleep.conf</filename>.
+ See <citerefentry><refentrytitle>systemd-sleep.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>Options</title>
+
+ <para><command>systemd-sleep</command> understands the
+ following commands:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>-h</option></term>
+ <term><option>--help</option></term>
+
+ <listitem><para>Print a short help
+ text and exit.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--version</option></term>
+
+ <listitem><para>Print the systemd version
+ identifier and exit.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>suspend</option></term>
+ <term><option>hibernate</option></term>
+ <term><option>hybrid-sleep</option></term>
+
+ <listitem><para>Suspend, hibernate, or
+ put the system to hybrid sleep.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
+ <citerefentry><refentrytitle>systemd-sleep.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
diff --git a/man/systemd.conf.xml b/man/systemd-system.conf.xml
index a6be932c73..d8bfd1279d 100644
--- a/man/systemd.conf.xml
+++ b/man/systemd-system.conf.xml
@@ -22,9 +22,9 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd.conf">
+<refentry id="systemd-system.conf">
<refentryinfo>
- <title>systemd.conf</title>
+ <title>systemd-system.conf</title>
<productname>systemd</productname>
<authorgroup>
@@ -38,13 +38,14 @@
</refentryinfo>
<refmeta>
- <refentrytitle>systemd.conf</refentrytitle>
+ <refentrytitle>systemd-system.conf</refentrytitle>
<manvolnum>5</manvolnum>
</refmeta>
<refnamediv>
- <refname>systemd.conf</refname>
- <refpurpose>System and service manager configuration file</refpurpose>
+ <refname>systemd-system.conf</refname>
+ <refname>systemd-user.conf</refname>
+ <refpurpose>System and session service manager configuration file</refpurpose>
</refnamediv>
<refsynopsisdiv>
@@ -106,15 +107,25 @@
<term><varname>DefaultControllers=cpu</varname></term>
<listitem><para>Configures in which
- cgroup controller hierarchies to
- create per-service cgroups
- automatically, in addition to the
- name=systemd named hierarchy. Defaults
- to 'cpu'. Takes a space separated list
- of controller names. Pass an empty
- string to ensure that systemd does not
- touch any hierarchies but its
- own.</para></listitem>
+ control group hierarchies to create
+ per-service cgroups automatically, in
+ addition to the
+ <literal>name=systemd</literal> named
+ hierarchy. Defaults to
+ <literal>cpu</literal>. Takes a space
+ separated list of controller
+ names. Pass the empty string to ensure
+ that systemd does not touch any
+ hierarchies but its own.</para>
+
+ <para>Note that the default value of
+ 'cpu' will make realtime scheduling
+ unavailable to system services. See
+ <ulink
+ url="http://www.freedesktop.org/wiki/Software/systemd/MyServiceCantGetRealtime">My
+ Service Can't Get Realtime!</ulink>
+ for more
+ information.</para></listitem>
</varlistentry>
<varlistentry>
@@ -134,7 +145,20 @@
'cpu,cpuacct'. Pass an empty string to
ensure that systemd mounts all
controllers in separate
- hierarchies.</para></listitem>
+ hierarchies.</para>
+
+ <para>Note that this option is only
+ applied once, at very early boot. If
+ you use an initial RAM disk (initrd)
+ that uses systemd it might hence be
+ necessary to rebuild the initrd if
+ this option is changed, and make sure
+ the new configuration file is included
+ in it. Otherwise the initrd might
+ mount the controller hierarchies in a
+ different configuration than intended,
+ and the main system cannot remount
+ them anymore.</para></listitem>
</varlistentry>
<varlistentry>
@@ -277,7 +301,8 @@
<refsect1>
<title>See Also</title>
<para>
- <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd-timedated.service.xml b/man/systemd-timedated.service.xml
index ea2abc5765..c82c0ff439 100644
--- a/man/systemd-timedated.service.xml
+++ b/man/systemd-timedated.service.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-timedated.service">
+<refentry id="systemd-timedated.service" conditional='ENABLE_TIMEDATED'>
<refentryinfo>
<title>systemd-timedated.service</title>
diff --git a/man/systemd-tmpfiles.xml b/man/systemd-tmpfiles.xml
index 22744c7c41..0d2d65d593 100644
--- a/man/systemd-tmpfiles.xml
+++ b/man/systemd-tmpfiles.xml
@@ -45,6 +45,7 @@
<refnamediv>
<refname>systemd-tmpfiles</refname>
<refname>systemd-tmpfiles-setup.service</refname>
+ <refname>systemd-tmpfiles-setup-dev.service</refname>
<refname>systemd-tmpfiles-clean.service</refname>
<refname>systemd-tmpfiles-clean.timer</refname>
<refpurpose>Creates, deletes and cleans up volatile
@@ -57,6 +58,7 @@
</cmdsynopsis>
<para><filename>systemd-tmpfiles-setup.service</filename></para>
+ <para><filename>systemd-tmpfiles-setup-dev.service</filename></para>
<para><filename>systemd-tmpfiles-clean.service</filename></para>
<para><filename>systemd-tmpfiles-clean.timer</filename></para>
</refsynopsisdiv>
diff --git a/man/systemd-udevd.service.xml b/man/systemd-udevd.service.xml
index 92fb38f067..77b7374886 100644
--- a/man/systemd-udevd.service.xml
+++ b/man/systemd-udevd.service.xml
@@ -116,9 +116,9 @@
</refsect1>
<refsect1><title>Environment</title>
- <variablelist>
+ <variablelist class='environment-variables'>
<varlistentry>
- <term><varname>UDEV_LOG=</varname></term>
+ <term><varname>$UDEV_LOG=</varname></term>
<listitem>
<para>Set the logging priority.</para>
</listitem>
@@ -127,7 +127,7 @@
</refsect1>
<refsect1><title>Kernel command line</title>
- <variablelist>
+ <variablelist class='kernel-commandline-options'>
<para>Parameters starting with "rd." will be read when
<command>systemd-udevd</command> is used in an initrd.</para>
<varlistentry>
@@ -154,9 +154,33 @@
non-working kernel modules.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>net.ifnames=</varname></term>
+ <listitem>
+ <para>Network interfaces are renamed to give them predictable names
+ when possible. It is enabled by default, specifying 0 disables it.</para>
+ </listitem>
+ </varlistentry>
</variablelist>
</refsect1>
+ <refsect1><title>Configuration file</title>
+ <para>udev expects its main configuration file at <filename>/etc/udev/udev.conf</filename>.
+ It consists of a set of variables allowing the user to override default udev values. All
+ empty lines or lines beginning with '#' are ignored. The following variables can be
+ set:</para>
+ <variablelist>
+ <varlistentry>
+ <term><varname>udev_log</varname></term>
+ <listitem>
+ <para>The logging priority. Valid values are the numerical syslog priorities
+ or their textual representations: <option>err</option>, <option>info</option>
+ and <option>debug</option>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
<refsect1>
<title>See Also</title>
<para><citerefentry>
diff --git a/man/systemd-update-utmp-runlevel.service.xml b/man/systemd-update-utmp-runlevel.service.xml
index 0e19581f98..867b958d30 100644
--- a/man/systemd-update-utmp-runlevel.service.xml
+++ b/man/systemd-update-utmp-runlevel.service.xml
@@ -19,7 +19,7 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-user-sessions.service">
+<refentry id="systemd-update-utmp-runlevel.service">
<refentryinfo>
<title>systemd-update-utmp-runlevel.service</title>
diff --git a/man/systemd-user-sessions.service.xml b/man/systemd-user-sessions.service.xml
index 9214ec9c35..fc93e2dc2f 100644
--- a/man/systemd-user-sessions.service.xml
+++ b/man/systemd-user-sessions.service.xml
@@ -19,7 +19,7 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-user-sessions.service">
+<refentry id="systemd-user-sessions.service" conditional='HAVE_PAM'>
<refentryinfo>
<title>systemd-user-sessions.service</title>
diff --git a/man/systemd-vconsole-setup.service.xml b/man/systemd-vconsole-setup.service.xml
index c1ef80dae4..3c50799cbd 100644
--- a/man/systemd-vconsole-setup.service.xml
+++ b/man/systemd-vconsole-setup.service.xml
@@ -19,7 +19,7 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="systemd-vconsole-setup.service">
+<refentry id="systemd-vconsole-setup.service" conditional='ENABLE_VCONSOLE'>
<refentryinfo>
<title>systemd-vconsole-setup.service</title>
@@ -76,7 +76,7 @@
<filename>vconsole.conf</filename> may be overridden on
the kernel command line:</para>
- <variablelist>
+ <variablelist class='kernel-commandline-options'>
<varlistentry>
<term><varname>vconsole.keymap=</varname></term>
<term><varname>vconsole.keymap.toggle=</varname></term>
diff --git a/man/systemd.automount.xml b/man/systemd.automount.xml
index fe559e1dcb..e01cac7bc2 100644
--- a/man/systemd.automount.xml
+++ b/man/systemd.automount.xml
@@ -48,7 +48,7 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.automount</filename></para>
+ <para><filename><replaceable>automount</replaceable>.automount</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -70,7 +70,7 @@
<para>Automount units must be named after the
automount directories they control. Example: the
- automount point <filename>/home/lennart</filename>
+ automount point <filename noindex='true'>/home/lennart</filename>
must be configured in a unit file
<filename>home-lennart.automount</filename>. For
details about the escaping logic used to convert a
@@ -123,7 +123,7 @@
specific to the [Automount] section of automount units
are the following:</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>Where=</varname></term>
@@ -160,7 +160,8 @@
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>automount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>automount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.device.xml b/man/systemd.device.xml
index 141d72e3dc..7dffa236cf 100644
--- a/man/systemd.device.xml
+++ b/man/systemd.device.xml
@@ -48,7 +48,7 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.device</filename></para>
+ <para><filename><replaceable>device</replaceable>.device</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -80,7 +80,7 @@
<para>Device units are named after the
<filename>/sys</filename> and
<filename>/dev</filename> paths they control. Example:
- the device <filename>/dev/sda5</filename> is exposed
+ the device <filename noindex='true'>/dev/sda5</filename> is exposed
in systemd as <filename>dev-sda5.device</filename>. For
details about the escaping logic used to convert a
file system path to a unit name see
@@ -161,7 +161,8 @@
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index 302ac43407..b3e0287d72 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -48,10 +48,10 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.service</filename>,
- <filename>systemd.socket</filename>,
- <filename>systemd.mount</filename>,
- <filename>systemd.swap</filename></para>
+ <para><filename><replaceable>service</replaceable>.service</filename>,
+ <filename><replaceable>socket</replaceable>.socket</filename>,
+ <filename><replaceable>mount</replaceable>.mount</filename>,
+ <filename><replaceable>swap</replaceable>.swap</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -82,7 +82,7 @@
<refsect1>
<title>Options</title>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>WorkingDirectory=</varname></term>
@@ -133,10 +133,15 @@
of group names or IDs. This option may
be specified more than once in which
case all listed groups are set as
- supplementary groups. This option does
- not override but extends the list of
- supplementary groups configured in the
- system group database for the
+ supplementary groups. When the empty
+ string is assigned the list of
+ supplementary groups is reset, and all
+ assignments prior to this one will
+ have no effect. In any way, this
+ option does not override, but extends
+ the list of supplementary groups
+ configured in the system group
+ database for the
user.</para></listitem>
</varlistentry>
@@ -244,7 +249,13 @@
<listitem><para>Controls the CPU
affinity of the executed
processes. Takes a space-separated
- list of CPU indexes. See
+ list of CPU indexes. This option may
+ be specified more than once in which
+ case the specificed CPU affinity masks
+ are merged. If the empty string is
+ assigned the mask is reset, all
+ assignments prior to this will have no
+ effect. See
<citerefentry><refentrytitle>sched_setaffinity</refentrytitle><manvolnum>2</manvolnum></citerefentry>
for details.</para></listitem>
</varlistentry>
@@ -271,9 +282,28 @@
in which case all listed variables
will be set. If the same variable is
set twice the later setting will
- override the earlier setting. See
+ override the earlier setting. If the
+ empty string is assigned to this
+ option the list of environment
+ variables is reset, all prior
+ assignments have no effect.
+ Variable expansion is not performed
+ inside the strings, and $ has no special
+ meaning.
+ If you need to assign a value containing spaces
+ to a variable, use double quotes (")
+ for the assignment.</para>
+
+ <para>Example:
+ <programlisting>Environment="VAR1=word1 word2" VAR2=word3 "VAR3=word 5 6"</programlisting>
+ gives three variables <literal>VAR1</literal>,
+ <literal>VAR2</literal>, <literal>VAR3</literal>.
+ </para>
+
+ <para>
+ See
<citerefentry><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry>
- for details.</para></listitem>
+ for details about environment variables.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>EnvironmentFile=</varname></term>
@@ -284,18 +314,28 @@
contain new-line separated variable
assignments. Empty lines and lines
starting with ; or # will be ignored,
- which may be used for commenting. The
- parser strips leading and
- trailing whitespace from the values
+ which may be used for commenting. A line
+ ending with a backslash will be concatenated
+ with the following one, allowing multiline variable
+ definitions. The parser strips leading
+ and trailing whitespace from the values
of assignments, unless you use
- double quotes (").
- The
- argument passed should be an absolute
- file name or wildcard expression, optionally prefixed with
+ double quotes (").</para>
+
+ <para>The argument passed should be an
+ absolute file name or wildcard
+ expression, optionally prefixed with
"-", which indicates that if the file
does not exist it won't be read and no
- error or warning message is
- logged. The files listed with this
+ error or warning message is logged.
+ This option may be specified more than
+ once in which case all specified files
+ are read. If the empty string is
+ assigned to this option the list of
+ file to read is reset, all prior
+ assignments have no effect.</para>
+
+ <para>The files listed with this
directive will be read shortly before
the process is executed. Settings from
these files override settings made
@@ -305,7 +345,7 @@
these files the files will be read in
the order they are specified and the
later setting will override the
- earlier setting. </para></listitem>
+ earlier setting.</para></listitem>
</varlistentry>
<varlistentry>
@@ -422,7 +462,7 @@
with
<option>DefaultStandardOutput=</option>
in
- <citerefentry><refentrytitle>systemd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
which defaults to
<option>journal</option>.</para></listitem>
</varlistentry>
@@ -441,7 +481,7 @@
setting defaults to the value set with
<option>DefaultStandardError=</option>
in
- <citerefentry><refentrytitle>systemd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
which defaults to
<option>inherit</option>.</para></listitem>
</varlistentry>
@@ -679,24 +719,38 @@
for details. Takes a whitespace
separated list of capability names as
read by
- <citerefentry><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+ <citerefentry><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ e.g. <literal>CAP_SYS_ADMIN
+ CAP_DAC_OVERRIDE
+ CAP_SYS_PTRACE</literal>.
Capabilities listed will be included
in the bounding set, all others are
removed. If the list of capabilities
- is prefixed with ~ all but the listed
- capabilities will be included, the
- effect of the assignment
- inverted. Note that this option also
- effects the respective capabilities in
- the effective, permitted and
- inheritable capability sets, on top of
- what <varname>Capabilities=</varname>
+ is prefixed with <literal>~</literal>
+ all but the listed capabilities will
+ be included, the effect of the
+ assignment inverted. Note that this
+ option also affects the respective
+ capabilities in the effective,
+ permitted and inheritable capability
+ sets, on top of what
+ <varname>Capabilities=</varname>
does. If this option is not used the
capability bounding set is not
modified on process execution, hence
no limits on the capabilities of the
- process are
- enforced.</para></listitem>
+ process are enforced. This option may
+ appear more than once in which case
+ the bounding sets are merged. If the
+ empty string is assigned to this
+ option the bounding set is reset to
+ the empty capability set, and all
+ prior settings have no effect. If set
+ to <literal>~</literal> (without any
+ further argument) the bounding set is
+ reset to the full set of available
+ capabilities, also undoing any
+ previous settings.</para></listitem>
</varlistentry>
<varlistentry>
@@ -710,8 +764,12 @@
<option>no-setuid-fixup</option>,
<option>no-setuid-fixup-locked</option>,
<option>noroot</option> and/or
- <option>noroot-locked</option>.
- </para></listitem>
+ <option>noroot-locked</option>. This
+ option may appear more than once in
+ which case the secure bits are
+ ORed. If the empty string is assigned
+ to this option the bits are reset to
+ 0.</para></listitem>
</varlistentry>
<varlistentry>
@@ -739,42 +797,65 @@
groups the executed processes shall be
made members of. Takes a
space-separated list of cgroup
- identifiers. A cgroup identifier has a
- format like
- <filename>cpu:/foo/bar</filename>,
- where "cpu" identifies the kernel
+ identifiers. A cgroup identifier is
+ formatted like
+ <filename noindex='true'>cpu:/foo/bar</filename>,
+ where "cpu" indicates the kernel
control group controller used, and
- <filename>/foo/bar</filename> is the
+ <filename noindex='true'>/foo/bar</filename> is the
control group path. The controller
name and ":" may be omitted in which
case the named systemd control group
hierarchy is implied. Alternatively,
the path and ":" may be omitted, in
which case the default control group
- path for this unit is implied. This
- option may be used to place executed
- processes in arbitrary groups in
- arbitrary hierarchies -- which can be
- configured externally with additional
- execution limits. By default systemd
- will place all executed processes in
- separate per-unit control groups
- (named after the unit) in the systemd
- named hierarchy. Since every process
- can be in one group per hierarchy only
- overriding the control group path in
- the named systemd hierarchy will
- disable automatic placement in the
- default group. This option is
- primarily intended to place executed
- processes in specific paths in
- specific kernel controller
- hierarchies. It is however not
+ path for this unit is implied.</para>
+
+ <para>This option may be used to place
+ executed processes in arbitrary groups
+ in arbitrary hierarchies -- which may
+ then be externally configured with
+ additional execution limits. By
+ default systemd will place all
+ executed processes in separate
+ per-unit control groups (named after
+ the unit) in the systemd named
+ hierarchy. This option is primarily
+ intended to place executed processes
+ in specific paths in specific kernel
+ controller hierarchies. It is not
recommended to manipulate the service
- control group path in the systemd
- named hierarchy. For details about
+ control group path in the private
+ systemd named hierarchy
+ (i.e. <literal>name=systemd</literal>),
+ and doing this might result in
+ undefined behaviour. For details about
control groups see <ulink
- url="http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt">cgroups.txt</ulink>.</para></listitem>
+ url="http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt">cgroups.txt</ulink>.</para>
+
+ <para>This option may appear more than
+ once, in which case the list of
+ control group assignments is
+ merged. If the same hierarchy gets two
+ different paths assigned only the
+ later setting will take effect. If the
+ empty string is assigned to this
+ option the list of control group
+ assignments is reset, all previous
+ assignments will have no
+ effect.</para>
+
+ <para>Note that the list of control
+ group assignments of a unit is
+ extended implicitly based on the
+ settings of
+ <varname>DefaultControllers=</varname>
+ of
+ <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ but a unit's
+ <varname>ControlGroup=</varname>
+ setting for a specific controller
+ takes precedence.</para></listitem>
</varlistentry>
<varlistentry>
@@ -832,8 +913,8 @@
the controller and the default unit
cgroup path is implied. Thus, using
<varname>ControlGroupAttribute=</varname>
- is in most case sufficient to make use
- of control group enforcements,
+ is in most cases sufficient to make
+ use of control group enforcements,
explicit
<varname>ControlGroup=</varname> are
only necessary in case the implied
@@ -844,7 +925,23 @@
url="http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt">cgroups.txt</ulink>. This
option may appear more than once, in
order to set multiple control group
- attributes.</para></listitem>
+ attributes. If this option is used
+ multiple times for the same cgroup
+ attribute only the later setting takes
+ effect. If the empty string is
+ assigned to this option the list of
+ attributes is reset, all previous
+ cgroup attribute settings have no
+ effect, including those done with
+ <varname>CPUShares=</varname>,
+ <varname>MemoryLimit=</varname>,
+ <varname>MemorySoftLimit</varname>,
+ <varname>DeviceAllow=</varname>,
+ <varname>DeviceDeny=</varname>,
+ <varname>BlockIOWeight=</varname>,
+ <varname>BlockIOReadBandwidth=</varname>,
+ <varname>BlockIOWriteBandwidth=</varname>.
+ </para></listitem>
</varlistentry>
<varlistentry>
@@ -988,18 +1085,21 @@
usual file access controls would
permit this. Directories listed in
<varname>InaccessibleDirectories=</varname>
- will be made inaccessible for processes
- inside the namespace. Note that
- restricting access with these options
- does not extend to submounts of a
- directory. You must list submounts
- separately in these settings to
- ensure the same limited access. These
- options may be specified more than
- once in which case all directories
- listed will have limited access from
- within the
- namespace.</para></listitem>
+ will be made inaccessible for
+ processes inside the namespace. Note
+ that restricting access with these
+ options does not extend to submounts
+ of a directory. You must list
+ submounts separately in these settings
+ to ensure the same limited
+ access. These options may be specified
+ more than once in which case all
+ directories listed will have limited
+ access from within the namespace. If
+ the empty string is assigned to this
+ option the specific list is reset, and
+ all prior assignments have no
+ effect.</para></listitem>
</varlistentry>
<varlistentry>
@@ -1008,16 +1108,20 @@
<listitem><para>Takes a boolean
argument. If true sets up a new file
system namespace for the executed
- processes and mounts a private
- <filename>/tmp</filename> directory
- inside it, that is not shared by
+ processes and mounts private
+ <filename>/tmp</filename> and
+ <filename>/var/tmp</filename> directories
+ inside it, that are not shared by
processes outside of the
namespace. This is useful to secure
access to temporary files of the
process, but makes sharing between
processes via
- <filename>/tmp</filename>
- impossible. Defaults to
+ <filename>/tmp</filename> or
+ <filename>/var/tmp</filename>
+ impossible. All temporary data created
+ by service will be removed after service
+ is stopped. Defaults to
false.</para></listitem>
</varlistentry>
@@ -1131,8 +1235,13 @@
<function>exit_group</function>,
<function>exit</function> system calls
are implicitly whitelisted and don't
- need to be listed
- explicitly.</para></listitem>
+ need to be listed explicitly. This
+ option may be specified more than once
+ in which case the filter masks are
+ merged. If the empty string is
+ assigned the filter is reset, all
+ prior assignments will have no
+ effect.</para></listitem>
</varlistentry>
</variablelist>
@@ -1149,7 +1258,8 @@
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.journal-fields.xml b/man/systemd.journal-fields.xml
index 76a436d650..a0f1bfda13 100644
--- a/man/systemd.journal-fields.xml
+++ b/man/systemd.journal-fields.xml
@@ -212,13 +212,15 @@
<term><varname>_SYSTEMD_CGROUP=</varname></term>
<term><varname>_SYSTEMD_SESSION=</varname></term>
<term><varname>_SYSTEMD_UNIT=</varname></term>
+ <term><varname>_SYSTEMD_USER_UNIT=</varname></term>
<term><varname>_SYSTEMD_OWNER_UID=</varname></term>
<listitem>
<para>The control group path in
the systemd hierarchy, the
systemd session ID (if any),
- the systemd unit name (if any)
+ the systemd unit name (if any),
+ the systemd user session unit name (if any)
and the owner UID of the
systemd session (if any) of
the process the journal entry
@@ -313,9 +315,9 @@
messages originating in the kernel and stored in the
journal.</para>
- <variablelist>
+ <variablelist class='journal-directives'>
<varlistentry>
- <term>_KERNEL_DEVICE=</term>
+ <term><varname>_KERNEL_DEVICE=</varname></term>
<listitem>
<para>The kernel device
name. If the entry is
@@ -334,13 +336,13 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>_KERNEL_SUBSYSTEM=</term>
+ <term><varname>_KERNEL_SUBSYSTEM=</varname></term>
<listitem>
<para>The kernel subsystem name.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>_UDEV_SYSNAME=</term>
+ <term><varname>_UDEV_SYSNAME=</varname></term>
<listitem>
<para>The kernel device name
as it shows up in the device
@@ -349,7 +351,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>_UDEV_DEVNODE=</term>
+ <term><varname>_UDEV_DEVNODE=</varname></term>
<listitem>
<para>The device node path of
this device in
@@ -357,7 +359,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>_UDEV_DEVLINK=</term>
+ <term><varname>_UDEV_DEVLINK=</varname></term>
<listitem>
<para>Additional symlink names
pointing to the device node in
@@ -370,6 +372,29 @@
</refsect1>
<refsect1>
+ <title>Special Journal Fields</title>
+
+ <para>Fields used by the <command>systemd-coredump</command>
+ coredump kernel helper.
+ </para>
+
+ <variablelist class='journal-directives'>
+ <varlistentry>
+ <term><varname>COREDUMP_UNIT=</varname></term>
+ <term><varname>COREDUMP_USER_UNIT=</varname></term>
+ <listitem>
+ <para>Used to annotate
+ messages containing coredumps from
+ system and session units.
+ See
+ <citerefentry><refentrytitle>systemd-coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
<title>Address Fields</title>
<para>During serialization into external formats, such
@@ -443,7 +468,9 @@
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.kill.xml b/man/systemd.kill.xml
index 3fff2f57e6..b41ce460b5 100644
--- a/man/systemd.kill.xml
+++ b/man/systemd.kill.xml
@@ -48,10 +48,10 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.service</filename>,
- <filename>systemd.socket</filename>,
- <filename>systemd.mount</filename>,
- <filename>systemd.swap</filename></para>
+ <para><filename><replaceable>service</replaceable>.service</filename>,
+ <filename><replaceable>socket</replaceable>.socket</filename>,
+ <filename><replaceable>mount</replaceable>.mount</filename>,
+ <filename><replaceable>swap</replaceable>.swap</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -82,7 +82,7 @@
<refsect1>
<title>Options</title>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>KillMode=</varname></term>
@@ -163,7 +163,8 @@
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.mount.xml b/man/systemd.mount.xml
index 78b5f5257c..21177a2623 100644
--- a/man/systemd.mount.xml
+++ b/man/systemd.mount.xml
@@ -48,7 +48,7 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.mount</filename></para>
+ <para><filename><replaceable>mount</replaceable>.mount</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -86,7 +86,7 @@
<para>Mount units must be named after the mount point
directories they control. Example: the mount point
- <filename>/home/lennart</filename> must be configured
+ <filename noindex='true'>/home/lennart</filename> must be configured
in a unit file
<filename>home-lennart.mount</filename>. For details
about the escaping logic used to convert a file system
@@ -102,10 +102,21 @@
in the file system hierarchy, a dependency between both
units is created automatically.</para>
- <para>Mount points created at runtime independent on
- unit files or <filename>/etc/fstab</filename> will be
+ <para>Mount points created at runtime (independently of
+ unit files or <filename>/etc/fstab</filename>) will be
monitored by systemd and appear like any other mount
- unit in systemd.</para>
+ unit in systemd.
+ See <filename>/proc/self/mountinfo</filename> description
+ in <citerefentry><refentrytitle>proc</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para>
+
+ <para>Some file systems have special semantics as API
+ file systems for kernel-to-userspace and
+ userspace-to-userpace interfaces. Some of them may not
+ be changed via mount units, and cannot be disabled.
+ For a longer discussion see <ulink
+ url="http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems">API
+ File Systems</ulink>.</para>
</refsect1>
<refsect1>
@@ -145,8 +156,16 @@
<literal>h</literal>, <literal>ms</literal>.</para>
<para>If a mount point is configured in both
- <filename>/etc/fstab</filename> and a unit file, the
- configuration in the latter takes precedence.</para>
+ <filename>/etc/fstab</filename> and a unit file that
+ is stored below <filename>/usr</filename> the former
+ will take precedence. If the unit file is stored below
+ <filename>/etc</filename> it will take
+ precedence. This means: native unit files take
+ precedence over traditional configuration files, but
+ this is superseded by the rule that configuration in
+ <filename>/etc</filename> will always take precedence
+ over configuration in
+ <filename>/usr</filename>.</para>
</refsect1>
<refsect1>
@@ -163,7 +182,7 @@
options specific to the [Mount] section of mount
units are the following:</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>What=</varname></term>
@@ -257,7 +276,7 @@
for compatibility reasons and should not be used in
newly written mount files.</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>FsckPassNo=</varname></term>
@@ -281,8 +300,10 @@
<citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>proc</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.path.xml b/man/systemd.path.xml
index a27a97be77..1975142d2c 100644
--- a/man/systemd.path.xml
+++ b/man/systemd.path.xml
@@ -48,7 +48,7 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.path</filename></para>
+ <para><filename><replaceable>path</replaceable>.path</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -88,16 +88,15 @@
point in the file system hierarchy, a dependency
between both units is created automatically.</para>
- <para>Unless <varname>DefaultDependencies=</varname>
- is set to <option>false</option>, path units will
- implicitly have dependencies of type
- <varname>Conflicts=</varname> and
+ <para>Unless <varname>DefaultDependencies=false</varname>
+ is used, path units will implicitly have dependencies of
+ type <varname>Conflicts=</varname> and
<varname>Before=</varname> on
<filename>shutdown.target</filename>. These ensure
that path units are terminated cleanly prior to system
shutdown. Only path units involved with early boot or
- late system shutdown should disable this
- option.</para>
+ late system shutdown should disable this option.
+ </para>
</refsect1>
<refsect1>
@@ -108,7 +107,7 @@
monitors. The options specific to the [Path] section
of path units are the following:</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>PathExists=</varname></term>
<term><varname>PathExistsGlob=</varname></term>
@@ -130,13 +129,15 @@
specified. <varname>PathChanged=</varname>
may be used to watch a file or
directory and activate the configured
- unit whenever it changes. It is not activated
- on every write to the watched file but it is
- activated if the file which was open for writing
- gets closed. <varname>PathModified=</varname>
- is similar, but additionally it is activated
- also on simple writes to the watched file.
-
+ unit whenever it changes. It is not
+ activated on every write to the
+ watched file but it is activated if
+ the file which was open for writing
+ gets
+ closed. <varname>PathModified=</varname>
+ is similar, but additionally it is
+ activated also on simple writes to the
+ watched file.
<varname>DirectoryNotEmpty=</varname>
may be used to watch a directory and
activate the configured unit whenever
@@ -148,9 +149,14 @@
<para>Multiple directives may be
combined, of the same and of different
- types, to watch multiple paths.</para>
-
- <para>If a path is already existing
+ types, to watch multiple paths. If the
+ empty string is assigned to any of
+ these options the list of paths to
+ watch is reset, and any prior
+ assignments of these options will not
+ have any effect.</para>
+
+ <para>If a path already exists
(in case of
<varname>PathExists=</varname> and
<varname>PathExistsGlob=</varname>) or
@@ -161,7 +167,15 @@
activated, then the configured unit is
immediately activated as
well. Something similar does not apply
- to <varname>PathChanged=</varname>.
+ to <varname>PathChanged=</varname> and
+ <varname>PathModified=</varname>.</para>
+
+ <para>If the path itself or any of the
+ containing directories are not
+ accessible, <command>systemd</command>
+ will watch for permission changes and
+ notice that conditions are satisfied
+ when permissions allow that.
</para></listitem>
</varlistentry>
<varlistentry>
@@ -213,7 +227,8 @@
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>inotify</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>inotify</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index 598e863651..0454cf292e 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -48,7 +48,7 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.service</filename></para>
+ <para><filename><replaceable>service</replaceable>.service</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -121,7 +121,7 @@
options specific to the <literal>[Service]</literal>
section of service units are the following:</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>Type=</varname></term>
@@ -298,10 +298,13 @@
<term><varname>ExecStart=</varname></term>
<listitem><para>Commands with their
arguments that are executed when this
- service is started.
- </para>
+ service is started. The first
+ argument must be an absolute path
+ name.</para>
- <para>When
+ <para>When <varname>Type</varname> is
+ not <option>oneshot</option>, only one
+ command may be given. When
<varname>Type=oneshot</varname> is
used, more than one command may be
specified. Multiple command lines may
@@ -315,14 +318,21 @@
for compatibility with parsers
suitable for XDG
<filename>.desktop</filename> files.
- The commands are invoked one by
- one sequentially in the order they
- appear in the unit file.
- When <varname>Type</varname> is
- not <option>oneshot</option>, only one
- command may be given. Lone semicolons
- may be escaped as
- '<literal>\;</literal>'.</para>
+ Lone semicolons may be escaped as
+ '<literal>\;</literal>'. If the empty
+ string is assigned to this option the
+ list of commands to start is reset,
+ prior assignments of this option will
+ have no effect.</para>
+
+ <para>If more than one command is
+ specified, the commands are invoked
+ one by one sequentially in the order
+ they appear in the unit file. If one
+ of the commands fails (and is not
+ prefixed with '<literal>-</literal>'),
+ other lines are not executed and the
+ unit is considered failed.</para>
<para>Unless
<varname>Type=forking</varname> is
@@ -338,6 +348,26 @@
line (i.e. the program to execute) may
not include specifiers.</para>
+ <para>Basic environment variable
+ substitution is supported. Use
+ <literal>${FOO}</literal> as part of a
+ word, or as a word of its own on the
+ command line, in which case it will be
+ replaced by the value of the
+ environment variable including all
+ whitespace it contains, resulting in a
+ single argument. Use
+ <literal>$FOO</literal> as a separate
+ word on the command line, in which
+ case it will be replaced by the value
+ of the environment variable split up
+ at whitespace, resulting in zero or
+ more arguments. Note that the first
+ argument (i.e. the program to execute)
+ may not be a variable, since it must
+ be a literal and absolute path
+ name.</para>
+
<para>Optionally, if the absolute file
name is prefixed with
'<literal>@</literal>', the second token
@@ -355,39 +385,19 @@
'<literal>@</literal>' are used they
can appear in either order.</para>
- <para>On top of that basic environment
- variable substitution is
- supported. Use
- <literal>${FOO}</literal> as part of a
- word, or as a word of its own on the
- command line, in which case it will be
- replaced by the value of the
- environment variable including all
- whitespace it contains, resulting in a
- single argument. Use
- <literal>$FOO</literal> as a separate
- word on the command line, in which
- case it will be replaced by the value
- of the environment variable split up
- at whitespace, resulting in no or more
- arguments. Note that the first
- argument (i.e. the program to execute)
- may not be a variable, and must be a
- literal and absolute path
- name.</para>
-
<para>Note that this setting does not
directly support shell command
lines. If shell command lines are to
be used they need to be passed
explicitly to a shell implementation
- of some kind. Example:
- <literal>ExecStart=/bin/sh -c 'dmesg | tac'</literal></para>
+ of some kind. Example:</para>
+ <programlisting>ExecStart=/bin/sh -c 'dmesg | tac'
+ </programlisting>
<para>For services run by a user
instance of systemd the special
environment variable
- <literal>MANAGERPID</literal> is set
+ <varname>$MANAGERPID</varname> is set
to the PID of the systemd
instance.</para>
</listitem>
@@ -405,6 +415,11 @@
that multiple command lines are allowed
and the commands are executed one
after the other, serially.</para>
+
+ <para>If any of those commands (not
+ prefixed with '<literal>-</literal>')
+ fail, the rest are not executed and
+ the unit is considered failed.</para>
</listitem>
</varlistentry>
@@ -420,14 +435,17 @@
optional. Specifier and environment
variable substitution is supported
here following the same scheme as for
- <varname>ExecStart=</varname>. One
- additional special environment
- variables is set: if known
- <literal>$MAINPID</literal> is set to
+ <varname>ExecStart=</varname>.</para>
+
+ <para>One additional special
+ environment variables is set: if known
+ <varname>$MAINPID</varname> is set to
the main process of the daemon, and
may be used for command lines like the
- following: <command>/bin/kill -HUP
- $MAINPID</command>.</para></listitem>
+ following:</para>
+
+ <programlisting>/bin/kill -HUP $MAINPID</programlisting>
+ </listitem>
</varlistentry>
<varlistentry>
@@ -451,7 +469,7 @@
service stop is requested. Specifier
and environment variable substitution
is supported (including
- <literal>$MAINPID</literal>, see
+ <varname>$MAINPID</varname>, see
above).</para></listitem>
</varlistentry>
@@ -459,9 +477,12 @@
<term><varname>ExecStopPost=</varname></term>
<listitem><para>Additional commands
that are executed after the service
- was stopped using the commands
- configured in
- <varname>ExecStop=</varname>. This
+ was stopped. This includes cases where
+ the commands configured in
+ <varname>ExecStop=</varname> were used,
+ where the service doesn't have any
+ <varname>ExecStop=</varname> defined, or
+ where the service exited unexpectedly. This
argument takes multiple command lines,
following the same scheme as described
for <varname>ExecStart</varname>. Use
@@ -532,8 +553,8 @@
<varlistentry>
<term><varname>WatchdogSec=</varname></term>
<listitem><para>Configures the
- watchdog timeout for a service. This
- is activated when the start-up is
+ watchdog timeout for a service. The
+ watchdog is activated when the start-up is
completed. The service must call
<citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>
regularly with "WATCHDOG=1" (i.e. the
@@ -567,37 +588,66 @@
<varlistentry>
<term><varname>Restart=</varname></term>
<listitem><para>Configures whether the
- main service process shall be
- restarted when it exits. Takes one of
+ service shall be restarted when the
+ service process exits, is killed,
+ or a timeout is reached. The service
+ process may be the main service
+ process, but also one of the processes
+ specified with
+ <varname>ExecStartPre=</varname>,
+ <varname>ExecStartPost=</varname>,
+ <varname>ExecStopPre=</varname>,
+ <varname>ExecStopPost=</varname>, or
+ <varname>ExecReload=</varname>.
+ When the death of the process is a
+ result of systemd operation (e.g. service
+ stop or restart), the service will not be
+ restarted. Timeouts include missing
+ the watchdog "keep-alive ping"
+ deadline and a service start, reload,
+ and stop operation timeouts.</para>
+
+ <para>Takes one of
<option>no</option>,
<option>on-success</option>,
<option>on-failure</option>,
- <option>on-abort</option> or
+ <option>on-abort</option>, or
<option>always</option>. If set to
<option>no</option> (the default) the
- service will not be restarted when it
- exits. If set to
+ service will not be restarted. If set to
<option>on-success</option> it will be
- restarted only when it exited cleanly,
- i.e. terminated with an exit code of
- 0. If set to
- <option>on-failure</option> it will be
- restarted only when it exited with an
- exit code not equaling 0, when
- terminated by a signal (including on
+ restarted only when the service process
+ exits cleanly.
+ In this context, a clean exit means
+ an exit code of 0, or one of the signals
+ SIGHUP, SIGINT, SIGTERM, or SIGPIPE, and
+ additionally, exit statuses and signals
+ specified in <varname>SuccessExitStatus=</varname>.
+ If set to <option>on-failure</option>
+ the service will be restarted when the
+ process exits with an nonzero exit code,
+ is terminated by a signal (including on
core dump), when an operation (such as
- service reload) times out or when the
- configured watchdog timeout is
- triggered. If set to
- <option>on-abort</option> it will be
- restarted only if it exits due to
- reception of an uncaught signal
- (including on core dump). If set to
+ service reload) times out, and when the
+ configured watchdog timeout is triggered.
+ If set to
+ <option>on-abort</option> the service
+ will be restarted only if the service
+ process exits due to an uncaught
+ signal not specified as a clean exit
+ status.
+ If set to
<option>always</option> the service
will be restarted regardless whether
it exited cleanly or not, got
terminated abnormally by a signal or
- hit a timeout.</para></listitem>
+ hit a timeout.</para>
+
+ <para>In addition to the above settings,
+ the service will not be restarted if the
+ exit code or signal is specified in
+ <varname>RestartPreventExitStatus=</varname>
+ (see below).</para></listitem>
</varlistentry>
<varlistentry>
@@ -610,14 +660,20 @@
code 0 and the signals SIGHUP, SIGINT,
SIGTERM and SIGPIPE. Exit status
definitions can either be numeric exit
- codes or termination signal names, and
- are separated by spaces. Example:
+ codes or termination signal names,
+ separated by spaces. Example:
"<literal>SuccessExitStatus=1 2 8
SIGKILL</literal>", ensures that exit
codes 1, 2, 8 and the termination
signal SIGKILL are considered clean
- service
- terminations.</para></listitem>
+ service terminations. This option may
+ appear more than once in which case
+ the list of successful exit statuses
+ is merged. If the empty string is
+ assigned to this option the list is
+ reset, all prior assignments of this
+ option will have no
+ effect.</para></listitem>
</varlistentry>
<varlistentry>
@@ -638,9 +694,16 @@
logic. Example:
"<literal>RestartPreventExitStatus=1 6
SIGABRT</literal>", ensures that exit
- codes 1 and 6 and the termination signal
- SIGABRT will not result in automatic
- service restarting.</para></listitem>
+ codes 1 and 6 and the termination
+ signal SIGABRT will not result in
+ automatic service restarting. This
+ option may appear more than once in
+ which case the list of restart preventing
+ statuses is merged. If the empty
+ string is assigned to this option the
+ list is reset, all prior assignments
+ of this option will have no
+ effect.</para></listitem>
</varlistentry>
<varlistentry>
@@ -728,7 +791,7 @@
open access to the notification socket
when using
<varname>Type=notify</varname> or
- <varname>WatchdogUsec=</varname> (see
+ <varname>WatchdogSec=</varname> (see
above). If those options are used but
<varname>NotifyAccess=</varname> not
configured it will be implicitly set
@@ -754,13 +817,22 @@
same time. Also note that a different
service may be activated on incoming
traffic than inherits the sockets. Or
- in other words: The
+ in other words: the
<varname>Service=</varname> setting of
<filename>.socket</filename> units
- doesn't have to match the inverse of the
- <varname>Sockets=</varname> setting of
- the <filename>.service</filename> it
- refers to.</para></listitem>
+ doesn't have to match the inverse of
+ the <varname>Sockets=</varname>
+ setting of the
+ <filename>.service</filename> it
+ refers to.</para>
+
+ <para>This option may appear more than
+ once, in which case the list of socket
+ units is merged. If the empty string
+ is assigned to this option the list of
+ sockets is reset, all prior uses of
+ this setting will have no
+ effect.</para></listitem>
</varlistentry>
<varlistentry>
@@ -861,7 +933,7 @@
for compatibility reasons and should not be used in
newly written service files.</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>SysVStartPriority=</varname></term>
<listitem><para>Set the SysV start
@@ -922,7 +994,8 @@
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.snapshot.xml b/man/systemd.snapshot.xml
index b432682a48..08d14c4e01 100644
--- a/man/systemd.snapshot.xml
+++ b/man/systemd.snapshot.xml
@@ -48,7 +48,7 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.snapshot</filename></para>
+ <para><filename><replaceable>snapshot</replaceable>.snapshot</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -80,7 +80,8 @@
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.socket.xml b/man/systemd.socket.xml
index 4b1fcc8b0c..6dc847df3f 100644
--- a/man/systemd.socket.xml
+++ b/man/systemd.socket.xml
@@ -48,7 +48,7 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.socket</filename></para>
+ <para><filename><replaceable>socket</replaceable>.socket</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -75,7 +75,7 @@
<option>ExecStartPre=</option>,
<option>ExecStartPost=</option>,
<option>ExecStopPre=</option> and
- <option>ExecStoptPost=</option> commands are executed
+ <option>ExecStopPost=</option> commands are executed
in, and in
<citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>
which define the way the processes are
@@ -143,7 +143,7 @@
options specific to the [Socket] section of socket
units are the following:</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>ListenStream=</varname></term>
<term><varname>ListenDatagram=</varname></term>
@@ -205,19 +205,24 @@
<para>These options may be specified
more than once in which case incoming
- traffic on any of the sockets will trigger
- service activation, and all listed
- sockets will be passed to the service,
- regardless whether there is incoming
- traffic on them or not.</para>
-
- <para>If an IP address is used here, it
- is often desirable to listen on it
+ traffic on any of the sockets will
+ trigger service activation, and all
+ listed sockets will be passed to the
+ service, regardless whether there is
+ incoming traffic on them or not. If
+ the empty string is assigned to any of
+ these options, the list of addresses
+ to listen on is reset, all prior uses
+ of any of these options will have no
+ effect.</para>
+
+ <para>If an IP address is used here,
+ it is often desirable to listen on it
before the interface it is configured
on is up and running, and even
regardless whether it will be up and
- running ever at all. To deal with this it is
- recommended to set the
+ running ever at all. To deal with this
+ it is recommended to set the
<varname>FreeBind=</varname> option
described below.</para></listitem>
</varlistentry>
@@ -678,7 +683,16 @@
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ </para>
+
+ <para>
+ For more extensive descriptions see the "Systemd for Developers" series:
+ <ulink url="http://0pointer.de/blog/projects/socket-activation.html">Socket Activation</ulink>,
+ <ulink url="http://0pointer.de/blog/projects/socket-activation2.html">Socket Activation, part II</ulink>,
+ <ulink url="http://0pointer.de/blog/projects/inetd.html">Converting inetd Services</ulink>,
+ <ulink url="http://0pointer.de/blog/projects/socket-activated-containers.html">Socket Activated Internet Services and OS Containers</ulink>.
</para>
</refsect1>
diff --git a/man/systemd.special.xml b/man/systemd.special.xml
index 9ea288e337..7164b1e614 100644
--- a/man/systemd.special.xml
+++ b/man/systemd.special.xml
@@ -64,21 +64,24 @@
<filename>halt.target</filename>,
<filename>hibernate.target</filename>,
<filename>hybrid-sleep.target</filename>,
+ <filename>initrd-fs.target</filename>,
<filename>kbrequest.target</filename>,
<filename>kexec.target</filename>,
<filename>local-fs.target</filename>,
<filename>local-fs-pre.target</filename>,
- <filename>mail-transfer-agent.target</filename>,
<filename>multi-user.target</filename>,
<filename>network.target</filename>,
+ <filename>network-online.target</filename>,
<filename>nss-lookup.target</filename>,
<filename>nss-user-lookup.target</filename>,
+ <filename>paths.target</filename>,
<filename>poweroff.target</filename>,
<filename>printer.target</filename>,
<filename>reboot.target</filename>,
<filename>remote-fs.target</filename>,
<filename>remote-fs-pre.target</filename>,
<filename>rescue.target</filename>,
+ <filename>initrd-root-fs.target</filename>,
<filename>rpcbind.target</filename>,
<filename>runlevel2.target</filename>,
<filename>runlevel3.target</filename>,
@@ -94,9 +97,9 @@
<filename>swap.target</filename>,
<filename>sysinit.target</filename>,
<filename>syslog.socket</filename>,
- <filename>syslog.target</filename>,
<filename>system-update.target</filename>,
<filename>time-sync.target</filename>,
+ <filename>timers.target</filename>,
<filename>umount.target</filename></para>
</refsynopsisdiv>
@@ -116,32 +119,23 @@
<term><filename>basic.target</filename></term>
<listitem>
<para>A special target unit
- covering early boot-up.</para>
+ covering basic boot-up.</para>
<para>systemd automatically
adds dependencies of the types
- Requires and After for this
- target unit to all SysV
- service units configured for
- runlevel 1 to 5.</para>
- <para>Usually this should pull-in
- all sockets, mount points,
- swap devices and other basic
+ <varname>Requires=</varname>
+ and <varname>After=</varname>
+ for this target unit to all
+ services (except for those
+ with
+ <varname>DefaultDependencies=no</varname>).</para>
+
+ <para>Usually this should
+ pull-in all mount points, swap
+ devices, sockets, timers, and
+ path units and other basic
initialization necessary for
- the general purpose
- daemons. Most normal daemons
- should have dependencies of
- type After and Requires on
- this unit.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><filename>bluetooth.target</filename></term>
- <listitem>
- <para>This target is started
- automatically as soon as a
- bluetooth controller is
- plugged in or becomes
- available at boot.</para>
+ general purpose
+ daemons.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -169,7 +163,7 @@
<term><filename>dbus.service</filename></term>
<listitem>
<para>A special unit for the
- D-Bus system bus. As soon as
+ D-Bus bus daemon. As soon as
this service is fully started
up systemd will connect to it
and register its
@@ -182,7 +176,7 @@
<para>A special unit for the
D-Bus system bus socket. All
units with
- <literal>Type=dbus</literal>
+ <varname>Type=dbus</varname>
automatically gain a
dependency on this
unit.</para>
@@ -198,6 +192,7 @@
<filename>multi-user.target</filename>
or
<filename>graphical.target</filename>.</para>
+
<para>The default unit systemd
starts at bootup can be
overridden with the
@@ -214,14 +209,6 @@
<filename>gdm.service</filename>
or a similar display manager
service.</para>
- <para>systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with a LSB header
- referring to the
- <literal>$x-display-manager</literal>
- facility.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -255,8 +242,10 @@
<term><filename>getty.target</filename></term>
<listitem>
<para>A special target unit
- that pulls in all local TTY
- <filename>getty</filename> instances.
+ that pulls in statically
+ configured local TTY
+ <filename>getty</filename>
+ instances.
</para>
</listitem>
</varlistentry>
@@ -269,11 +258,17 @@
<filename>multi-user.target</filename>.</para>
<para>Units that are needed
- for graphical login shall add
- Wants dependencies for their
- unit to this unit (or
+ for graphical logins shall add
+ <varname>Wants=</varname>
+ dependencies for their unit to
+ this unit (or
<filename>multi-user.target</filename>)
- during installation.</para>
+ during installation. This is
+ best configured via
+ <varname>WantedBy=graphical.target</varname>
+ in the unit's
+ <literal>[Install]</literal>
+ section.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -298,7 +293,13 @@
<term><filename>halt.target</filename></term>
<listitem>
<para>A special target unit
- for shutting down and halting the system.</para>
+ for shutting down and halting
+ the system. Note that this
+ target is distinct from
+ <filename>poweroff.target</filename>
+ in that it generally really
+ just halts the system rather
+ than powering it down.</para>
<para>Applications wanting to
halt the system should start
@@ -306,6 +307,23 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><filename>initrd-fs.target</filename></term>
+ <listitem>
+ <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ automatically adds
+ dependencies of type
+ <varname>Before=</varname> to
+ <filename>sysroot-usr.mount</filename>
+ and all mount points fround in
+ <filename>/etc/fstab</filename>
+ that have the
+ <option>auto</option> and
+ <option>x-initrd.mount</option>
+ mount options set.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><filename>kbrequest.target</filename></term>
<listitem>
<para>systemd starts this
@@ -330,60 +348,21 @@
<varlistentry>
<term><filename>local-fs.target</filename></term>
<listitem>
- <para>systemd automatically
+ <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ automatically adds
+ dependencies of type
+ <varname>Before=</varname> to
+ all mount units that refer to
+ local mount points for this
+ target unit. In addition, it
adds dependencies of type
- After to all mount units that
- refer to local mount points
- for this target unit. In
- addition, systemd adds
- dependencies of type Wants to
+ <varname>Wants=</varname> to
this target unit for those
mounts listed in
<filename>/etc/fstab</filename>
that have the
- <option>auto</option> and
- <option>comment=systemd.mount</option>
- mount options set.</para>
-
- <para>systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
- <literal>$local_fs</literal>
- facility.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><filename>local-fs-pre.target</filename></term>
- <listitem>
- <para>This target unit is
- automatically ordered before
- all local mount points marked
- with <option>auto</option>
- (see above). It can be used to
- execute certain units before
- all local mounts.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><filename>mail-transfer-agent.target</filename></term>
- <listitem>
- <para>The mail transfer agent
- (MTA) service. Usually this
- should pull-in all units
- necessary for
- sending/receiving mails on the
- local host.</para>
-
- <para>systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
- <literal>$mail-transfer-agent</literal>.</para>
+ <option>auto</option> mount
+ option set.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -397,57 +376,99 @@
<para>Units that are needed
for a multi-user system shall
- add Wants dependencies to
- this unit for their unit during
- installation.</para>
+ add <varname>Wants=</varname>
+ dependencies for their unit to
+ this unit during
+ installation. This is best
+ configured via
+ <varname>WantedBy=multi-uer.target</varname>
+ in the unit's
+ <literal>[Install]</literal>
+ section.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><filename>network.target</filename></term>
- <listitem>
- <para>systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
- <literal>$network</literal>
- facility.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><filename>nss-lookup.target</filename></term>
+ <term><filename>network-online.target</filename></term>
<listitem>
- <para>A target that should be
- used as synchronization point
- for all host/network name
- service lookups. Note that
- this is independent of
- user/group name lookups for
- which
- <filename>nss-user-lookup.target</filename>
- should be used. systemd
- automatically adds
- dependencies of type After for
- this target unit to all SysV
- init script service units with
- an LSB header referring to the
- <literal>$named</literal>
- facility.</para>
- </listitem>
+ <para>Units that strictly
+ require a configured network
+ connection should pull in
+ <filename>network-online.target</filename>
+ (via a
+ <varname>Wants=</varname> type
+ dependency) and order
+ themselves after it. This
+ target unit is intended to
+ pull in a service that delays
+ further execution until the
+ network is sufficiently set
+ up. What precisely this
+ requires is left to the
+ implementation of the network
+ managing service.</para>
+
+ <para>Note the distinction
+ between this unit and
+ <filename>network.target</filename>. This
+ unit is an active unit
+ (i.e. pulled in by the
+ consumer rather than the
+ provider of this
+ functionality) and pulls in a
+ service which possibly adds
+ substantial delays to further
+ execution. In contrast,
+ <filename>network.target</filename>
+ is a passive unit (i.e. pulled
+ in by the provider of the
+ functionality, rather than the
+ consumer) that usually does
+ not delay execution
+ much. Usually,
+ <filename>network.target</filename>
+ is part of the boot of most
+ systems, while
+ <filename>network-online.target</filename>
+ is not, except when at least
+ one unit requires it. Also see
+ <ulink
+ url="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">Running
+ Services After the Network is
+ up</ulink> for more
+ information.</para>
+
+ <para>All mount units for
+ remote network file systems
+ automatically pull in this
+ unit, and order themselves
+ after it. Note that networking
+ daemons that simply provide
+ functionality to other hosts
+ generally don't need to pull
+ this in.</para>
+ </listitem>
</varlistentry>
<varlistentry>
- <term><filename>nss-user-lookup.target</filename></term>
+ <term><filename>paths.target</filename></term>
<listitem>
- <para>A target that should be
- used as synchronization point
- for all user/group name
- service lookups. Note that
- this is independent of
- host/network name lookups for
- which
- <filename>nss-lookup.target</filename>
- should be used. </para>
+ <para>A special target unit
+ that sets up all path units
+ (see
+ <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details) that shall be
+ active after boot.</para>
+
+ <para>It is recommended that
+ path units installed by
+ applications get pulled in via
+ <varname>Wants=</varname>
+ dependencies from this
+ unit. This is best configured
+ via a
+ <varname>WantedBy=paths.target</varname>
+ in the path unit's
+ <literal>[Install]</literal>
+ section.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -466,16 +487,6 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><filename>printer.target</filename></term>
- <listitem>
- <para>This target is started
- automatically as soon as a
- printer is plugged in or
- becomes available at
- boot.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term><filename>reboot.target</filename></term>
<listitem>
<para>A special target unit
@@ -500,27 +511,15 @@
<para>systemd automatically
adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
+ <varname>After=</varname> for
+ this target unit to all SysV
+ init script service units with
+ an LSB header referring to the
<literal>$remote_fs</literal>
facility.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><filename>remote-fs-pre.target</filename></term>
- <listitem>
- <para>This target unit is
- automatically ordered before
- all remote mount points marked
- with <option>auto</option>
- (see above). It can be used to
- execute certain units before
- all remote mounts.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term><filename>rescue.target</filename></term>
<listitem>
<para>A special target unit
@@ -533,16 +532,17 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><filename>rpcbind.target</filename></term>
+ <term><filename>initrd-root-fs.target</filename></term>
<listitem>
- <para>systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
- <literal>$portmap</literal>
- facility.</para>
+ <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ automatically adds
+ dependencies of type
+ <varname>Before=</varname> to
+ the
+ <filename>sysroot.mount</filename>
+ unit, which is generated from
+ the kernel command line.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
@@ -573,20 +573,12 @@
<para>Services that shall be
terminated on system shutdown
- shall add Conflicts
+ shall add <varname>Conflicts=</varname>
dependencies to this unit for
their service unit, which is
implicitly done when
<varname>DefaultDependencies=yes</varname>
is set (the default).</para>
-
- <para>systemd automatically
- adds dependencies of type
- Conflicts to this target unit
- for all SysV init script
- service units that shall be
- terminated in SysV runlevels 0
- or 6.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -606,44 +598,35 @@
<para>A special target unit
that is pulled in by
<filename>suspend.target</filename>,
- <filename>hibernate.target</filename> and <filename>hybrid-sleep.target</filename>
+ <filename>hibernate.target</filename>
+ and
+ <filename>hybrid-sleep.target</filename>
and may be used to hook units
into the sleep state
logic.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><filename>smartcard.target</filename></term>
- <listitem>
- <para>This target is started
- automatically as soon as a
- smartcard controller is
- plugged in or becomes
- available at boot.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term><filename>sockets.target</filename></term>
<listitem>
<para>A special target unit
- that sets up all service
- sockets.</para>
+ that sets up all socket
+ units.(see
+ <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details) that shall be
+ active after boot.</para>
<para>Services that can be
socket-activated shall add
- Wants dependencies to this
- unit for their socket unit
- during installation.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><filename>sound.target</filename></term>
- <listitem>
- <para>This target is started
- automatically as soon as a
- sound card is plugged in or
- becomes available at
- boot.</para>
+ <varname>Wants=</varname>
+ dependencies to this unit for
+ their socket unit during
+ installation. This is best
+ configured via a
+ <varname>WantedBy=sockets.target</varname>
+ in the socket unit's
+ <literal>[Install]</literal>
+ section.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -669,16 +652,6 @@
<listitem>
<para>A special target unit
covering early boot-up scripts.</para>
- <para>systemd automatically
- adds dependencies of the types
- Wants and After for all
- SysV service units configured
- for runlevels that are not 0
- to 6 to this target unit.
- This covers the special
- boot-up runlevels some
- distributions have, such as S
- or b.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -698,19 +671,6 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><filename>syslog.target</filename></term>
- <listitem>
- <para>systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
- <literal>$syslog</literal>
- facility.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term><filename>system-update.target</filename></term>
<listitem>
<para>A special target unit
@@ -728,16 +688,26 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><filename>time-sync.target</filename></term>
+ <term><filename>timers.target</filename></term>
<listitem>
- <para>systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
- <literal>$time</literal>
- facility.</para>
+ <para>A special target unit
+ that sets up all timer
+ units (see
+ <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details) that shall be
+ active after boot.</para>
+
+ <para>It is recommended that
+ timer units installed by
+ applications get pulled in via
+ <varname>Wants=</varname>
+ dependencies from this
+ unit. This is best configured
+ via
+ <varname>WantedBy=timers.target</varname>
+ in the timer unit's
+ <literal>[Install]</literal>
+ section.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -763,6 +733,250 @@
</refsect1>
<refsect1>
+ <title>Special System Units for Devices</title>
+
+ <para>Some target units are automatically pulled in as
+ devices of certain kinds show up in the system. These
+ may be used to automatically activate various services
+ based on the specific type of the available
+ hardware.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><filename>bluetooth.target</filename></term>
+ <listitem>
+ <para>This target is started
+ automatically as soon as a
+ Bluetooth controller is
+ plugged in or becomes
+ available at boot.</para>
+
+ <para>This may be used to pull
+ in Bluetooth management
+ daemons dynamically when
+ Bluetooth hardware is
+ found.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>printer.target</filename></term>
+ <listitem>
+ <para>This target is started
+ automatically as soon as a
+ printer is plugged in or
+ becomes available at
+ boot.</para>
+
+ <para>This may be used to pull
+ in printer management
+ daemons dynamically when
+ printer hardware is
+ found.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>smartcard.target</filename></term>
+ <listitem>
+ <para>This target is started
+ automatically as soon as a
+ smartcard controller is
+ plugged in or becomes
+ available at boot.</para>
+
+ <para>This may be used to pull
+ in smartcard management
+ daemons dynamically when
+ smartcard hardware is
+ found.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>sound.target</filename></term>
+ <listitem>
+ <para>This target is started
+ automatically as soon as a
+ sound card is plugged in or
+ becomes available at
+ boot.</para>
+
+ <para>This may be used to pull
+ in audio management daemons
+ dynamically when audio
+ hardware is found.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>Special Passive System Units </title>
+
+ <para>A number of special system targets are defined
+ that can be used to properly order boot-up of optional
+ services. These targets are generally not part of the
+ initial boot transaction, unless they are explicitly
+ pulled in by one of the implementing services. Note
+ specifically, that these <emphasis>passive</emphasis>
+ target units are generally not pulled in by the
+ consumer of a service, but by the provider of the
+ service. This means: a consuming service should order
+ itself after these targets (as appropriate), but not
+ pull it in. A providing service should order itself
+ before these targets (as appropriate) and pull it in
+ (via a <varname>Wants=</varname> type
+ dependency).</para>
+
+ <para>Note that these passive units cannot be started
+ manually, i.e. <literal>systemctl start
+ time-sync.target</literal> will fail with an
+ error. They can only be pulled in by dependency. This
+ is enforced since they exist for ordering purposes
+ only and thus are not useful as only unit within a
+ transaction.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><filename>local-fs-pre.target</filename></term>
+ <listitem>
+ <para>This target unit is
+ automatically ordered before
+ all local mount points marked
+ with <option>auto</option>
+ (see above). It can be used to
+ execute certain units before
+ all local mounts.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>network.target</filename></term>
+ <listitem>
+ <para>This unit is supposed to
+ indicate when network
+ functionality is available,
+ but it is only very weakly
+ defined what that is supposed
+ to mean, with one exception:
+ at shutdown, a unit that is
+ ordered after
+ <filename>network.target</filename>
+ will be stopped before the
+ network -- to whatever level
+ it might be set up then -- is
+ shut down. Also see <ulink
+ url="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">Running
+ Services After the Network is
+ up</ulink> for more
+ information. Also see
+ <filename>network-online.target</filename>
+ described above.</para>
+
+ <para>systemd automatically
+ adds dependencies of type
+ <varname>After=</varname> for
+ this target unit to all SysV
+ init script service units with
+ an LSB header referring to the
+ <literal>$network</literal>
+ facility.</para>
+
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>nss-lookup.target</filename></term>
+ <listitem>
+ <para>A target that should be
+ used as synchronization point
+ for all host/network name
+ service lookups. Note that
+ this is independent of
+ user/group name lookups for
+ which
+ <filename>nss-user-lookup.target</filename>
+ should be used. systemd
+ automatically adds
+ dependencies of type
+ <varname>After=</varname> for
+ this target unit to all SysV
+ init script service units with
+ an LSB header referring to the
+ <literal>$named</literal>
+ facility.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>nss-user-lookup.target</filename></term>
+ <listitem>
+ <para>A target that should be
+ used as synchronization point
+ for all user/group name
+ service lookups. Note that
+ this is independent of
+ host/network name lookups for
+ which
+ <filename>nss-lookup.target</filename>
+ should be used. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>remote-fs-pre.target</filename></term>
+ <listitem>
+ <para>This target unit is
+ automatically ordered before
+ all remote mount point units
+ (see above). It can be used to
+ run certain units before the
+ remote mounts are
+ established. Note that this
+ unit is generally not part of
+ the initial transaction,
+ unless the unit that wants to
+ be ordered before all remote
+ mounts pulls it in via a
+ <varname>Wants=</varname> type
+ dependency. If the unit wants
+ to be pulled in by the first
+ remote mount showing up it
+ should use
+ <filename>network-online.target</filename>
+ (see above).</para>
+
+ <para>Again, this target unit
+ is <emphasis>not</emphasis>
+ suitable for pulling in other
+ units, it is only useful for
+ ordering.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>rpcbind.target</filename></term>
+ <listitem>
+ <para>systemd automatically
+ adds dependencies of type
+ <varname>After=</varname> for
+ this target unit to all SysV
+ init script service units with
+ an LSB header referring to the
+ <literal>$portmap</literal>
+ facility.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>time-sync.target</filename></term>
+ <listitem>
+ <para>systemd automatically
+ adds dependencies of type
+ <varname>After=</varname> for
+ this target unit to all SysV
+ init script service units with
+ an LSB header referring to the
+ <literal>$time</literal>
+ facility.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
<title>Special User Units</title>
<para>When systemd runs as a user instance, the
@@ -770,7 +984,13 @@
similar definitions as their system counterparts:
<filename>default.target</filename>,
<filename>shutdown.target</filename>,
- <filename>sockets.target</filename></para>
+ <filename>sockets.target</filename>,
+ <filename>timers.target</filename>,
+ <filename>paths.target</filename>,
+ <filename>bluetooth.target</filename>,
+ <filename>printer.target</filename>,
+ <filename>smartcard.target</filename>,
+ <filename>sound.target</filename>.</para>
<para>In addition the following special unit is
understood only when systemd runs as service instance:</para>
@@ -810,7 +1030,8 @@
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.swap.xml b/man/systemd.swap.xml
index a932143d43..8268e6164d 100644
--- a/man/systemd.swap.xml
+++ b/man/systemd.swap.xml
@@ -48,7 +48,7 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.swap</filename></para>
+ <para><filename><replaceable>swap</replaceable>.swap</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -79,7 +79,7 @@
<para>Swap units must be named after the devices
or files they control. Example: the swap device
- <filename>/dev/sda5</filename> must be configured in a
+ <filename noindex='true'>/dev/sda5</filename> must be configured in a
unit file <filename>dev-sda5.swap</filename>. For
details about the escaping logic used to convert a
file system path to a unit name see
@@ -136,7 +136,7 @@
options specific to the [Swap] section of swap units
are the following:</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>What=</varname></term>
@@ -206,7 +206,8 @@
<citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.target.xml b/man/systemd.target.xml
index d1f4d22674..fd51cfde3a 100644
--- a/man/systemd.target.xml
+++ b/man/systemd.target.xml
@@ -48,7 +48,7 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.target</filename></para>
+ <para><filename><replaceable>target</replaceable>.target</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -101,7 +101,8 @@
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.time.xml b/man/systemd.time.xml
index 4f80a306bf..a9318bb787 100644
--- a/man/systemd.time.xml
+++ b/man/systemd.time.xml
@@ -214,7 +214,7 @@
specified it should consist of one or more english
language week day names, either in the abbreviated
(Wed) or non-abbreviated (Wednesday) form (case does
- not matter), separated by colons. Specifying two week
+ not matter), separated by commas. Specifying two week
days separated by "-" refers to a range of continuous
week days. "," and "-" may be combined freely.</para>
@@ -222,7 +222,7 @@
component may be specified as "*" in which case any
value will match. Alternatively, each component can be
specified as list of values separated by
- colons. Values may also be suffixed with "/" and a
+ commas. Values may also be suffixed with "/" and a
repetition value, which indicates that the value and
all values plus multiples of the repetition value are
matched.</para>
@@ -284,7 +284,8 @@ Wed-Sat,Tue 12-10-15 1:2:3 → Tue-Sat 2012-10-15 01:02:03
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.timer.xml b/man/systemd.timer.xml
index 5cc543e453..2b9d91a60f 100644
--- a/man/systemd.timer.xml
+++ b/man/systemd.timer.xml
@@ -48,7 +48,7 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.timer</filename></para>
+ <para><filename><replaceable>timer</replaceable>.timer</filename></para>
</refsynopsisdiv>
<refsect1>
@@ -97,7 +97,7 @@
defines. The options specific to the [Timer] section
of timer units are the following:</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>OnActiveSec=</varname></term>
<term><varname>OnBootSec=</varname></term>
@@ -115,7 +115,7 @@
machine was booted
up. <varname>OnStartupSec=</varname>
defines a timer relative to when
- systemd was
+ systemd was first
started. <varname>OnUnitActiveSec=</varname>
defines a timer relative to when the
unit the timer is activating was last
@@ -157,7 +157,13 @@
<para>These are monotonic timers,
independent of wall-clock time and timezones. If the
computer is temporarily suspended, the
- monotonic clock stops too.</para></listitem>
+ monotonic clock stops too.</para>
+
+ <para>If the empty string is assigned
+ to any of these options the list of
+ timers is reset, and all prior
+ assignments will have no
+ effect.</para></listitem>
</varlistentry>
@@ -169,8 +175,10 @@
event expressions. See
<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for more information on the syntax of
- calendar event
- expressions.</para></listitem>
+ calendar event expressions. Otherwise
+ the semantics are similar to
+ <varname>OnActiveSec=</varname> and
+ related settings.</para></listitem>
</varlistentry>
<varlistentry>
@@ -199,7 +207,8 @@
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index 8570815ad4..c56837a6e5 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -1,6 +1,9 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+<!ENTITY % entities SYSTEM "custom-entities.ent" >
+%entities;
+]>
<!--
This file is part of systemd.
@@ -48,16 +51,28 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.service</filename>,
- <filename>systemd.socket</filename>,
- <filename>systemd.device</filename>,
- <filename>systemd.mount</filename>,
- <filename>systemd.automount</filename>,
- <filename>systemd.swap</filename>,
- <filename>systemd.target</filename>,
- <filename>systemd.path</filename>,
- <filename>systemd.timer</filename>,
- <filename>systemd.snapshot</filename></para>
+ <para><filename><replaceable>service</replaceable>.service</filename>,
+ <filename><replaceable>socket</replaceable>.socket</filename>,
+ <filename><replaceable>device</replaceable>.device</filename>,
+ <filename><replaceable>mount</replaceable>.mount</filename>,
+ <filename><replaceable>automount</replaceable>.automount</filename>,
+ <filename><replaceable>swap</replaceable>.swap</filename>,
+ <filename><replaceable>target</replaceable>.target</filename>,
+ <filename><replaceable>path</replaceable>.path</filename>,
+ <filename><replaceable>timer</replaceable>.timer</filename>,
+ <filename><replaceable>snapshot</replaceable>.snapshot</filename></para>
+
+ <para><literallayout><filename>/etc/systemd/system/*</filename>
+<filename>/run/systemd/system/*</filename>
+<filename>/usr/lib/systemd/system/*</filename>
+<filename>...</filename>
+ </literallayout></para>
+
+ <para><literallayout><filename>/etc/systemd/user/*</filename>
+<filename>/run/systemd/user/*</filename>
+<filename>/usr/lib/systemd/user/*</filename>
+<filename>...</filename>
+ </literallayout></para>
</refsynopsisdiv>
<refsect1>
@@ -66,7 +81,7 @@
<para>A unit configuration file encodes information
about a service, a socket, a device, a mount point, an
automount point, a swap file or partition, a start-up
- target, a file system path or a timer controlled and
+ target, a file system path, or a timer controlled and
supervised by
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>. The
syntax is inspired by <ulink
@@ -81,10 +96,25 @@
sections of the unit files.</para>
<para>In addition to the generic [Unit] and [Install]
- sections described here, each unit should have a
+ sections described here, each unit may have a
type-specific section, e.g. [Service] for a service
unit. See the respective man pages for more
- information.</para>
+ information:
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.snapshot</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para>
+
+ <para>Unit files are loaded from a set of paths
+ determined during compilation, described in the next section.
+ </para>
<para>Unit files may contain additional options on top
of those listed here. If systemd encounters an unknown
@@ -106,12 +136,14 @@
<para>Time span values encoded in unit files can be
written in various formats. A stand-alone number
specifies a time in seconds. If suffixed with a time
- unit, the unit is honored. A concatenation of
- multiple values with units is supported, in which case
- the values are added up. Example: "50" refers to 50
+ unit, the unit is honored. A concatenation of multiple
+ values with units is supported, in which case the
+ values are added up. Example: "50" refers to 50
seconds; "2min 200ms" refers to 2 minutes plus 200
milliseconds, i.e. 120200ms. The following time units
- are understood: s, min, h, d, w, ms, us. For details see <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+ are understood: s, min, h, d, w, ms, us. For details
+ see
+ <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
<para>Empty lines and lines starting with # or ; are
ignored. This may be used for commenting. Lines ending
@@ -119,44 +151,53 @@
line while reading and the backslash is replaced by a
space character. This may be used to wrap long lines.</para>
- <para>If a line starts with <option>.include</option>
- followed by a file name, the specified file will be
- parsed at this point. Make sure that the file that is
- included has the appropriate section headers before
- any directives.</para>
-
<para>Along with a unit file
- <filename>foo.service</filename> a directory
+ <filename>foo.service</filename> the directory
<filename>foo.service.wants/</filename> may exist. All
- units symlinked from such a directory are implicitly
- added as dependencies of type
+ unit files symlinked from such a directory are
+ implicitly added as dependencies of type
<varname>Wanted=</varname> to the unit. This is useful
to hook units into the start-up of other units,
- without having to modify their unit configuration
- files. For details about the semantics of
- <varname>Wanted=</varname> see below. The preferred
- way to create symlinks in the
- <filename>.wants/</filename> directory of a service is
- with the <command>enable</command> command of the
+ without having to modify their unit files. For details
+ about the semantics of <varname>Wanted=</varname> see
+ below. The preferred way to create symlinks in the
+ <filename>.wants/</filename> directory of a unit file
+ is with the <command>enable</command> command of the
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
tool which reads information from the [Install]
- section of unit files. (See below.) A similar
+ section of unit files (see below). A similar
functionality exists for <varname>Requires=</varname>
type dependencies as well, the directory suffix is
<filename>.requires/</filename> in this case.</para>
+ <para>Along with a unit file
+ <filename>foo.service</filename> a directory
+ <filename>foo.service.d/</filename> may exist. All
+ files with the suffix <filename>.conf</filename> from
+ this directory will be parsed after the file itself is
+ parsed. This is useful to alter or add configuration
+ settings to a unit, without having to modify their
+ unit files. Make sure that the file that is included
+ has the appropriate section headers before any
+ directive.</para>
+
+ <para>If a line starts with <option>.include</option>
+ followed by a file name, the specified file will be
+ parsed at this point. Make sure that the file that is
+ included has the appropriate section headers before
+ any directives.</para>
+
<para>Note that while systemd offers a flexible
dependency system between units it is recommended to
- use this functionality only sparsely and instead rely
+ use this functionality only sparingly and instead rely
on techniques such as bus-based or socket-based
- activation which makes dependencies implicit, which
- both results in a simpler and more flexible
- system.</para>
+ activation which make dependencies implicit, resulting
+ in a both simpler and more flexible system.</para>
<para>Some unit names reflect paths existing in the
file system name space. Example: a device unit
<filename>dev-sda.device</filename> refers to a device
- with the device node <filename>/dev/sda</filename> in
+ with the device node <filename noindex='true'>/dev/sda</filename> in
the file system namespace. If this applies a special
way to escape the path name is used, so that the
result is usable as part of a file name. Basically,
@@ -186,129 +227,139 @@
<para>To refer to the instance string from
within the configuration file you may use the special
<literal>%i</literal> specifier in many of the
- configuration options. Other specifiers exist, the
- full list is:</para>
+ configuration options. See below for details.</para>
+
+ <para>If a unit file is empty (i.e. has the file size
+ 0) or is symlinked to <filename>/dev/null</filename>
+ its configuration will not be loaded and it appears
+ with a load state of <literal>masked</literal>, and
+ cannot be activated. Use this as an effective way to
+ fully disable a unit, making it impossible to start it
+ even manually.</para>
+
+ <para>The unit file format is covered by the
+ <ulink
+ url="http://www.freedesktop.org/wiki/Software/systemd/InterfaceStabilityPromise">Interface
+ Stability Promise</ulink>.</para>
+
+ </refsect1>
+
+ <refsect1>
+ <title>Unit Load Path</title>
+
+ <para>Unit files are loaded from a set of paths
+ determined during compilation, described in the two
+ tables below. Unit files found in directories higher
+ in the hierarchy override files with the same name
+ lower in the hierarchy, thus allowing overrides.
+ </para>
+
+ <para>When systemd is running in user mode
+ (<option>--user</option>) and the variable
+ <varname>$SYSTEMD_UNIT_PATH</varname> is set, this
+ contents of this variable overrides the unit load
+ path.
+ </para>
<table>
- <title>Specifiers available in unit files</title>
- <tgroup cols='3' align='left' colsep='1' rowsep='1'>
- <colspec colname="spec" />
- <colspec colname="mean" />
- <colspec colname="detail" />
+ <title>
+ Load path when running in system mode (<option>--system</option>).
+ </title>
+
+ <tgroup cols='2'>
+ <colspec colname='path' />
+ <colspec colname='expl' />
<thead>
<row>
- <entry>Specifier</entry>
- <entry>Meaning</entry>
- <entry>Details</entry>
+ <entry>Path</entry>
+ <entry>Description</entry>
</row>
</thead>
<tbody>
<row>
- <entry><literal>%n</literal></entry>
- <entry>Full unit name</entry>
- <entry></entry>
- </row>
- <row>
- <entry><literal>%N</literal></entry>
- <entry>Unescaped full unit name</entry>
- <entry></entry>
- </row>
- <row>
- <entry><literal>%p</literal></entry>
- <entry>Prefix name</entry>
- <entry>This refers to the string before the @, i.e. "getty" in the example above, where "tty3" is the instance name.</entry>
+ <entry><filename>/run/systemd/generator.early</filename></entry>
+ <entry>Generated units (early)</entry>
</row>
<row>
- <entry><literal>%P</literal></entry>
- <entry>Unescaped prefix name</entry>
- <entry></entry>
+ <entry><filename>/etc/systemd/system</filename></entry>
+ <entry>Local configuration</entry>
</row>
<row>
- <entry><literal>%i</literal></entry>
- <entry>Instance name</entry>
- <entry>This is the string between the @ character and the suffix.</entry>
+ <entry><filename>/run/systemd/systemd</filename></entry>
+ <entry>Volatile units</entry>
</row>
<row>
- <entry><literal>%I</literal></entry>
- <entry>Unescaped instance name</entry>
- <entry></entry>
+ <entry><filename>/run/systemd/generator</filename></entry>
+ <entry>Generated units (middle)</entry>
</row>
<row>
- <entry><literal>%f</literal></entry>
- <entry>Unescaped file name</entry>
- <entry>This is either the unescaped instance name (if set) with / prepended (if necessary), or the prefix name similarly prepended with /.</entry>
+ <entry><filename>/usr/local/lib/systemd/system</filename></entry>
+ <entry>Units for local packages</entry>
</row>
<row>
- <entry><literal>%c</literal></entry>
- <entry>Control group path of the unit</entry>
- <entry></entry>
+ <entry><filename>/usr/lib/systemd/system</filename></entry>
+ <entry>Units for installed packages</entry>
</row>
<row>
- <entry><literal>%r</literal></entry>
- <entry>Root control group path of systemd</entry>
- <entry></entry>
- </row>
- <row>
- <entry><literal>%R</literal></entry>
- <entry>Parent directory of the root control group path of systemd</entry>
- <entry></entry>
+ <entry><filename>/run/systemd/generator.late</filename></entry>
+ <entry>Generated units (late)</entry>
</row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>
+ Load path when running in session mode (<option>--user</option>).
+ </title>
+
+ <tgroup cols='2'>
+ <colspec colname='path' />
+ <colspec colname='expl' />
+ <thead>
<row>
- <entry><literal>%t</literal></entry>
- <entry>Runtime socket dir</entry>
- <entry>This is either /run (for the system manager) or $XDG_RUNTIME_DIR (for user managers).</entry>
+ <entry>Path</entry>
+ <entry>Description</entry>
</row>
+ </thead>
+ <tbody>
<row>
- <entry><literal>%u</literal></entry>
- <entry>User name</entry>
- <entry>This is the name of the configured user of the unit, or (if none is set) the user running the systemd instance.</entry>
+ <entry><filename>/tmp/systemd-generator.early.<replaceable>XXXXXX</replaceable></filename></entry>
+ <entry>Generated units (early)</entry>
</row>
<row>
- <entry><literal>%U</literal></entry>
- <entry>User uid</entry>
- <entry>This is the uid of the configured user of the unit, or (if none is set) the user running the systemd instance.</entry>
+ <entry><filename>/etc/systemd/user</filename></entry>
+ <entry>Local configuration</entry>
</row>
<row>
- <entry><literal>%h</literal></entry>
- <entry>User home directory</entry>
- <entry>This is the home directory of the configured user of the unit, or (if none is set) the user running the systemd instance.</entry>
+ <entry><filename>/run/systemd/user</filename></entry>
+ <entry>Volatile units</entry>
</row>
<row>
- <entry><literal>%s</literal></entry>
- <entry>User shell</entry>
- <entry>This is the shell of the configured user of the unit, or (if none is set) the user running the systemd instance.</entry>
+ <entry><filename>/tmp/systemd-generator.<replaceable>XXXXXX</replaceable></filename></entry>
+ <entry>Generated units (middle)</entry>
</row>
<row>
- <entry><literal>%m</literal></entry>
- <entry>Machine ID</entry>
- <entry>The machine ID of the running system, formatted as string. See <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry> for more information.</entry>
+ <entry><filename>/usr/local/lib/systemd/user</filename></entry>
+ <entry>Units for local packages</entry>
</row>
<row>
- <entry><literal>%b</literal></entry>
- <entry>Boot ID</entry>
- <entry>The boot ID of the running system, formatted as string. See <citerefentry><refentrytitle>random</refentrytitle><manvolnum>4</manvolnum></citerefentry> for more information.</entry>
+ <entry><filename>/usr/lib/systemd/user</filename></entry>
+ <entry>Units for installed packages</entry>
</row>
<row>
- <entry><literal>%H</literal></entry>
- <entry>Host name</entry>
- <entry>The host name of the running system.</entry>
+ <entry><filename>/tmp/systemd-generator.late.<replaceable>XXXXXX</replaceable></filename></entry>
+ <entry>Generated units (late)</entry>
</row>
</tbody>
</tgroup>
</table>
- <para>If a unit file is empty (i.e. has the file size
- 0) or is symlinked to <filename>/dev/null</filename>
- its configuration will not be loaded and it appears
- with a load state of <literal>masked</literal>, and
- cannot be activated. Use this as an effective way to
- fully disable a unit, making it impossible to start it
- even manually.</para>
-
- <para>The unit file format is covered by the
- <ulink
- url="http://www.freedesktop.org/wiki/Software/systemd/InterfaceStabilityPromise">Interface
- Stability Promise</ulink>.</para>
+ <para>Additional units might be loaded into systemd
+ ("linked") from directories not on the unit load
+ path. See the <command>link</command> command for
+ <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+ </para>
</refsect1>
<refsect1>
@@ -318,7 +369,7 @@
carries generic information about the unit that is not
dependent on the type of unit:</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>Description=</varname></term>
@@ -350,8 +401,13 @@
reference documentation that explains
what the unit's purpose is, followed
by how it is configured, followed by
- any other related
- documentation.</para></listitem>
+ any other related documentation. This
+ option may be specified more than once
+ in which case the specified list of
+ URIs is merged. If the empty string is
+ assigned to this option the list is
+ reset and all prior assignments will
+ have no effect.</para></listitem>
</varlistentry>
<varlistentry>
@@ -928,7 +984,9 @@
may be used to check whether the given
security module is enabled on the
system. Currently the only recognized
- value is <varname>selinux</varname>.
+ values are <varname>selinux</varname>,
+ <varname>apparmor</varname>, and
+ <varname>smack</varname>.
The test may be negated by prepending
an exclamation
mark.</para>
@@ -961,8 +1019,8 @@
an exclamation mark.</para>
<para><varname>ConditionACPower=</varname>
- may may be used to check whether the
- system has AC power, or is exlcusively
+ may be used to check whether the
+ system has AC power, or is exclusively
battery powered at the time of
activation of the unit. This takes a
boolean argument. If set to
@@ -1003,8 +1061,12 @@
pipe symbol must be passed first, the
exclamation second. Except for
<varname>ConditionPathIsSymbolicLink=</varname>,
- all path checks follow
- symlinks.</para></listitem>
+ all path checks follow symlinks. If
+ any of these options is assigned the
+ empty string the list of conditions is
+ reset completely, all previous
+ condition settings (of any kind) will
+ have no effect.</para></listitem>
</varlistentry>
<varlistentry>
@@ -1031,7 +1093,7 @@
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
tool during installation of a unit:</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>Alias=</varname></term>
@@ -1071,17 +1133,145 @@
<term><varname>Also=</varname></term>
<listitem><para>Additional units to
- install when this unit is
- installed. If the user requests
- installation of a unit with this
- option configured,
+ install/deinstall when this unit is
+ installed/deinstalled. If the user
+ requests installation/deinstallation
+ of a unit with this option configured,
<command>systemctl enable</command>
- will automatically install units
- listed in this option as
+ and <command>systemctl
+ disable</command> will automatically
+ install/uninstall units listed in this option as
well.</para></listitem>
</varlistentry>
</variablelist>
+ <para>The following specifiers are interpreted in the
+ Install section: %n, %N, %p, %i, %U, %u, %m, %H, %b.
+ For their meaning see the next section.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>Specifiers</title>
+
+ <para>Many settings resolve specifiers which may be
+ used to write generic unit files referring to runtime
+ or unit parameters that are replaced when the unit
+ files are loaded. The following specifiers are
+ understood:</para>
+
+ <table>
+ <title>Specifiers available in unit files</title>
+ <tgroup cols='3' align='left' colsep='1' rowsep='1'>
+ <colspec colname="spec" />
+ <colspec colname="mean" />
+ <colspec colname="detail" />
+ <thead>
+ <row>
+ <entry>Specifier</entry>
+ <entry>Meaning</entry>
+ <entry>Details</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>%n</literal></entry>
+ <entry>Full unit name</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry><literal>%N</literal></entry>
+ <entry>Unescaped full unit name</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry><literal>%p</literal></entry>
+ <entry>Prefix name</entry>
+ <entry>For instantiated units this refers to the string before the @. For non-instantiated units this refers to to the name of the unit with the type suffix removed.</entry>
+ </row>
+ <row>
+ <entry><literal>%P</literal></entry>
+ <entry>Unescaped prefix name</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry><literal>%i</literal></entry>
+ <entry>Instance name</entry>
+ <entry>For instantiated units: this is the string between the @ character and the suffix.</entry>
+ </row>
+ <row>
+ <entry><literal>%I</literal></entry>
+ <entry>Unescaped instance name</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry><literal>%f</literal></entry>
+ <entry>Unescaped file name</entry>
+ <entry>This is either the unescaped instance name (if applicable) with <filename>/</filename> prepended (if applicable), or the prefix name similarly prepended with <filename>/</filename>.</entry>
+ </row>
+ <row>
+ <entry><literal>%c</literal></entry>
+ <entry>Control group path of the unit</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry><literal>%r</literal></entry>
+ <entry>Root control group path where units are placed.</entry>
+ <entry>For system instances this usually resolves to <filename>/system</filename>, except in containers, where the path might be prefixed with the container's root control group.</entry>
+ </row>
+ <row>
+ <entry><literal>%R</literal></entry>
+ <entry>Parent directory of the control group path where units are placed.</entry>
+ <entry>For system instances this usually resolves to <filename>/</filename>, except in containers, where this resolves to the container's root directory. This specifier is particularly useful in the <varname>ControlGroup=</varname> setting (see <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>).</entry>
+ </row>
+ <row>
+ <entry><literal>%t</literal></entry>
+ <entry>Runtime socket dir</entry>
+ <entry>This is either <filename>/run</filename> (for the system manager) or <literal>$XDG_RUNTIME_DIR</literal> (for user managers).</entry>
+ </row>
+ <row>
+ <entry><literal>%u</literal></entry>
+ <entry>User name</entry>
+ <entry>This is the name of the configured user of the unit, or (if none is set) the user running the systemd instance.</entry>
+ </row>
+ <row>
+ <entry><literal>%U</literal></entry>
+ <entry>User UID</entry>
+ <entry>This is the UID of the configured user of the unit, or (if none is set) the user running the systemd instance.</entry>
+ </row>
+ <row>
+ <entry><literal>%h</literal></entry>
+ <entry>User home directory</entry>
+ <entry>This is the home directory of the configured user of the unit, or (if none is set) the user running the systemd instance.</entry>
+ </row>
+ <row>
+ <entry><literal>%s</literal></entry>
+ <entry>User shell</entry>
+ <entry>This is the shell of the configured user of the unit, or (if none is set) the user running the systemd instance. If the user is <literal>root</literal> (UID equal to 0), the shell configured in account database is ignored and <filename>/bin/sh</filename> is always used.</entry>
+ </row>
+ <row>
+ <entry><literal>%m</literal></entry>
+ <entry>Machine ID</entry>
+ <entry>The machine ID of the running system, formatted as string. See <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry> for more information.</entry>
+ </row>
+ <row>
+ <entry><literal>%b</literal></entry>
+ <entry>Boot ID</entry>
+ <entry>The boot ID of the running system, formatted as string. See <citerefentry><refentrytitle>random</refentrytitle><manvolnum>4</manvolnum></citerefentry> for more information.</entry>
+ </row>
+ <row>
+ <entry><literal>%H</literal></entry>
+ <entry>Host name</entry>
+ <entry>The host name of the running system.</entry>
+ </row>
+ <row>
+ <entry><literal>%%</literal></entry>
+ <entry>Escaped %</entry>
+ <entry>Single percent sign.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
</refsect1>
<refsect1>
@@ -1101,7 +1291,8 @@
<citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.snapshot</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.xml b/man/systemd.xml
index 7b3d265b8d..d009ed8e1c 100644
--- a/man/systemd.xml
+++ b/man/systemd.xml
@@ -78,7 +78,7 @@
the configuration file
<filename>system.conf</filename>, otherwise
<filename>user.conf</filename>. See
- <citerefentry><refentrytitle>systemd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for more information.</para>
</refsect1>
@@ -535,7 +535,9 @@
<command>disable</command> commands of
the
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
- tool.</para></listitem>
+ tool. Full list of directories is provided in
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para></listitem>
</varlistentry>
</variablelist>
@@ -564,7 +566,9 @@
tool can handle both global (i.e. for
all users) and private (for one user)
enabling/disabling of
- units.</para></listitem>
+ units. Full list of directories is provided in
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para></listitem>
</varlistentry>
</variablelist>
@@ -877,7 +881,7 @@
<refsect1>
<title>Environment</title>
- <variablelist>
+ <variablelist class='environment-variables'>
<varlistentry>
<term><varname>$SYSTEMD_LOG_LEVEL</varname></term>
<listitem><para>systemd reads the
@@ -987,7 +991,7 @@
<filename>/proc/cmdline</filename>
instead.</para></footnote>:</para>
- <variablelist>
+ <variablelist class='kernel-commandline-options'>
<varlistentry>
<term><varname>systemd.unit=</varname></term>
<term><varname>rd.systemd.unit=</varname></term>
@@ -1254,7 +1258,7 @@
<refsect1>
<title>See Also</title>
<para>
- <citerefentry><refentrytitle>systemd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
@@ -1265,7 +1269,8 @@
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/timedatectl.xml b/man/timedatectl.xml
index 01ca0a73d5..faccc5086d 100644
--- a/man/timedatectl.xml
+++ b/man/timedatectl.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="timedatectl">
+<refentry id="timedatectl" conditional='ENABLE_TIMEDATED'>
<refentryinfo>
<title>timedatectl</title>
@@ -68,8 +68,8 @@
<variablelist>
<varlistentry>
- <term><option>--help</option></term>
<term><option>-h</option></term>
+ <term><option>--help</option></term>
<listitem><para>Prints a short help
text and exits.</para></listitem>
@@ -221,7 +221,7 @@
<refsect1>
<title>Environment</title>
- <variablelist>
+ <variablelist class='environment-variables'>
<varlistentry>
<term><varname>$SYSTEMD_PAGER</varname></term>
<listitem><para>Pager to use when
diff --git a/man/tmpfiles.d.xml b/man/tmpfiles.d.xml
index 785264e3cf..519f9bc618 100644
--- a/man/tmpfiles.d.xml
+++ b/man/tmpfiles.d.xml
@@ -166,6 +166,21 @@ L /tmp/foobar - - - - /dev/null</programlisting>
</varlistentry>
<varlistentry>
+ <term><varname>X</varname></term>
+ <listitem><para>Ignore a path
+ during cleanup. Use this type
+ to prevent path removal as
+ controlled with the Age parameter.
+ Note that if path is a directory,
+ content of a directory is not
+ excluded from clean-up, only
+ directory itself. Lines of this
+ type accept shell-style globs
+ in place of normal path
+ names.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><varname>r</varname></term>
<listitem><para>Remove a file
or directory if it
diff --git a/man/udev.xml b/man/udev.xml
index 7ec7a3fed0..e253a0677a 100644
--- a/man/udev.xml
+++ b/man/udev.xml
@@ -54,28 +54,7 @@
sources is provided by the library libudev.</para>
</refsect1>
- <refsect1><title>Configuration</title>
- <para>udev configuration files are placed in <filename>/etc/udev</filename>
- and <filename>/usr/lib/udev</filename>. All empty lines or lines beginning with
- '#' are ignored.</para>
-
- <refsect2><title>Configuration file</title>
- <para>udev expects its main configuration file at <filename>/etc/udev/udev.conf</filename>.
- It consists of a set of variables allowing the user to override default udev values.
- The following variables can be set:</para>
- <variablelist>
- <varlistentry>
- <term><option>udev_log</option></term>
- <listitem>
- <para>The logging priority. Valid values are the numerical syslog priorities
- or their textual representations: <option>err</option>, <option>info</option>
- and <option>debug</option>.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
-
- <refsect2><title>Rules files</title>
+ <refsect1><title>Rules files</title>
<para>The udev rules are read from the files located in the
system rules directory <filename>/usr/lib/udev/rules.d</filename>,
the volatile runtime directory <filename>/run/udev/rules.d</filename>
@@ -94,9 +73,10 @@
extensions are ignored.</para>
<para>Every line in the rules file contains at least one key-value pair.
+ Except for empty lines or lines beginning with '#', which are ignored.
There are two kinds of keys: match and assignment.
- If all match keys are matching against its value, the rule gets applied and the
- assignment keys get the specified value assigned.</para>
+ If all match keys match against their values, the rule gets applied and the
+ assignment keys get the specified values assigned.</para>
<para>A matching rule may rename a network interface, add symlinks
pointing to the device node, or run a specified program as part of
@@ -107,21 +87,21 @@
operators are:</para>
<variablelist>
<varlistentry>
- <term><option>==</option></term>
+ <term><literal>==</literal></term>
<listitem>
<para>Compare for equality.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>!=</option></term>
+ <term><literal>!=</literal></term>
<listitem>
<para>Compare for inequality.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>=</option></term>
+ <term><literal>=</literal></term>
<listitem>
<para>Assign a value to a key. Keys that represent a list are reset
and only this single value is assigned.</para>
@@ -129,14 +109,14 @@
</varlistentry>
<varlistentry>
- <term><option>+=</option></term>
+ <term><literal>+=</literal></term>
<listitem>
<para>Add the value to a key that holds a list of entries.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>:=</option></term>
+ <term><literal>:=</literal></term>
<listitem>
<para>Assign a value to a key finally; disallow any later changes.</para>
</listitem>
@@ -148,7 +128,7 @@
not only the device that has generated the event. If multiple keys that match
a parent device are specified in a single rule, all these keys must match at
one and the same parent device.</para>
- <variablelist>
+ <variablelist class='udev-directives'>
<varlistentry>
<term><option>ACTION</option></term>
<listitem>
@@ -297,19 +277,19 @@
pattern characters are supported:</para>
<variablelist>
<varlistentry>
- <term><option>*</option></term>
+ <term><literal>*</literal></term>
<listitem>
<para>Matches zero or more characters.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>?</option></term>
+ <term><literal>?</literal></term>
<listitem>
<para>Matches any single character.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>[]</option></term>
+ <term><literal>[]</literal></term>
<listitem>
<para>Matches any single character specified within the brackets. For
example, the pattern string 'tty[SR]' would match either 'ttyS' or 'ttyR'.
@@ -322,7 +302,7 @@
</variablelist>
<para>The following keys can get values assigned:</para>
- <variablelist>
+ <variablelist class='udev-directives'>
<varlistentry>
<term><option>NAME</option></term>
<listitem>
@@ -354,7 +334,7 @@
</varlistentry>
<varlistentry>
- <term><option>OWNER, GROUP, MODE</option></term>
+ <term><option>OWNER</option>, <option>GROUP</option>, <option>MODE</option></term>
<listitem>
<para>The permissions for the device node. Every specified value overrides
the compiled-in default value.</para>
@@ -392,14 +372,31 @@
</varlistentry>
<varlistentry>
- <term><option>RUN</option></term>
+ <term><option>RUN{<replaceable>type</replaceable>}</option></term>
<listitem>
- <para>Add a program to the list of programs to be executed for a specific
- device.</para>
- <para>If no absolute path is given, the program is expected to live in
- /usr/lib/udev, otherwise the absolute path must be specified. The program
- name and following arguments are separated by spaces. Single quotes can
- be used to specify arguments with spaces.</para>
+ <para>Add a program to the list of programs to be executed after processing all the
+ rules for a specific event, depending on <literal>type</literal>:</para>
+ <variablelist>
+ <varlistentry>
+ <term><literal>program</literal></term>
+ <listitem>
+ <para>Execute an external program specified as the assigned
+ value. If no absolute path is given, the program is expected to live in
+ /usr/lib/udev, otherwise the absolute path must be specified.</para>
+ <para>This is the default if no <replaceable>type</replaceable> is
+ specified.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>builtin</literal></term>
+ <listitem>
+ <para>As <option>program</option>, but use one of the built-in programs rather
+ than an external one.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>The program name and following arguments are separated by spaces.
+ Single quotes can be used to specify arguments with spaces.</para>
<para>This can only be used for very short-running foreground tasks. Running an
event process for a long period of time may block all further events for
this or a dependent device.</para>
@@ -427,10 +424,10 @@
<term><option>IMPORT{<replaceable>type</replaceable>}</option></term>
<listitem>
<para>Import a set of variables as device properties,
- depending on <replaceable>type</replaceable>:</para>
+ depending on <literal>type</literal>:</para>
<variablelist>
<varlistentry>
- <term><option>program</option></term>
+ <term><literal>program</literal></term>
<listitem>
<para>Execute an external program specified as the assigned value and
import its output, which must be in environment key
@@ -439,14 +436,21 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><option>file</option></term>
+ <term><literal>builtin</literal></term>
+ <listitem>
+ <para>As <option>program</option>, but use one of the built-in programs rather
+ than an external one.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>file</literal></term>
<listitem>
<para>Import a text file specified as the assigned value, the content
of which must be in environment key format.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>db</option></term>
+ <term><literal>db</literal></term>
<listitem>
<para>Import a single property specified as the assigned value from the
current device database. This works only if the database is already populated
@@ -454,14 +458,14 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><option>cmdline</option></term>
+ <term><literal>cmdline</literal></term>
<listitem>
<para>Import a single property from the kernel command line. For simple flags
the value of the property is set to '1'.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>parent</option></term>
+ <term><literal>parent</literal></term>
<listitem>
<para>Import the stored keys from the parent device by reading
the database entry of the parent device. The value assigned to
@@ -489,7 +493,7 @@
<term><option>OPTIONS</option></term>
<listitem>
<para>Rule and device options:</para>
- <variablelist>
+ <variablelist class='udev-directives'>
<varlistentry>
<term><option>link_priority=<replaceable>value</replaceable></option></term>
<listitem>
@@ -546,7 +550,7 @@
is executed, allowing for the use of device properties set by earlier matching
rules. For all other fields, substitutions are performed while the individual rule is
being processed. The available substitutions are:</para>
- <variablelist>
+ <variablelist class='udev-directives'>
<varlistentry>
<term><option>$kernel</option>, <option>%k</option></term>
<listitem>
@@ -677,20 +681,19 @@
</varlistentry>
<varlistentry>
- <term><option>%%</option></term>
+ <term><literal>%%</literal></term>
<listitem>
<para>The '%' character itself.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>$$</option></term>
+ <term><literal>$$</literal></term>
<listitem>
<para>The '$' character itself.</para>
</listitem>
</varlistentry>
</variablelist>
- </refsect2>
</refsect1>
<refsect1>
diff --git a/man/udevadm.xml b/man/udevadm.xml
index 7791028221..d0b257dec9 100644
--- a/man/udevadm.xml
+++ b/man/udevadm.xml
@@ -443,6 +443,12 @@
retrieved properties.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--root=<replaceable>string</replaceable></option></term>
+ <listitem>
+ <para>Alternative root path in the filesystem for reading and writing files.</para>
+ </listitem>
+ </varlistentry>
</variablelist>
</refsect2>
diff --git a/man/vconsole.conf.xml b/man/vconsole.conf.xml
index 45156b7447..09a4776705 100644
--- a/man/vconsole.conf.xml
+++ b/man/vconsole.conf.xml
@@ -22,7 +22,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="vconsole.conf">
+<refentry id="vconsole.conf" conditional='ENABLE_VCONSOLE'>
<refentryinfo>
<title>vconsole.conf</title>
<productname>systemd</productname>
@@ -124,7 +124,7 @@
<example>
<title>German keyboard and console</title>
- <para><filename>/etc/vconsole.conf:</filename></para>
+ <para><filename>/etc/vconsole.conf</filename>:</para>
<programlisting>KEYMAP=de-latin1
FONT=latarcyrheb-sun16</programlisting>
diff --git a/po/pl.po b/po/pl.po
index 2581d01fcc..6a95d2fd74 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,13 +1,13 @@
# translation of pl.po to Polish
-# Piotr Drąg <piotrdrag@gmail.com>, 2011.
+# Piotr Drąg <piotrdrag@gmail.com>, 2011, 2013.
# Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: systemd\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-10-14 16:18+0200\n"
-"PO-Revision-Date: 2011-10-14 16:20+0200\n"
+"POT-Creation-Date: 2013-01-12 19:29+0100\n"
+"PO-Revision-Date: 2013-01-12 19:30+0100\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <trans-pl@lists.fedoraproject.org>\n"
"Language: pl\n"
@@ -15,16 +15,19 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/org.freedesktop.hostname1.policy.in.h:1
-msgid "Authentication is required to set local machine information."
-msgstr ""
-"Wymagane jest uwierzytelnienie, aby ustawić informacje o lokalnym komputerze."
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1
+msgid "Set host name"
+msgstr "Ustawienie nazwy komputera"
-#: ../src/org.freedesktop.hostname1.policy.in.h:2
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2
msgid "Authentication is required to set the local host name."
msgstr "Wymagane jest uwierzytelnienie, aby ustawić nazwę lokalnego komputera."
-#: ../src/org.freedesktop.hostname1.policy.in.h:3
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3
+msgid "Set static host name"
+msgstr "Ustawienie statycznej nazwy komputera"
+
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4
msgid ""
"Authentication is required to set the statically configured local host name, "
"as well as the pretty host name."
@@ -32,144 +35,357 @@ msgstr ""
"Wymagane jest uwierzytelnienie, aby ustawić statycznie skonfigurowaną nazwę "
"lokalnego komputera, a także jego ładną nazwę."
-#: ../src/org.freedesktop.hostname1.policy.in.h:4
-msgid "Set host name"
-msgstr "Ustawienie nazwy komputera"
-
-#: ../src/org.freedesktop.hostname1.policy.in.h:5
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5
msgid "Set machine information"
msgstr "Ustawienie informacji o komputerze"
-#: ../src/org.freedesktop.hostname1.policy.in.h:6
-msgid "Set static host name"
-msgstr "Ustawienie statycznej nazwy komputera"
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6
+msgid "Authentication is required to set local machine information."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby ustawić informacje o lokalnym komputerze."
-#: ../src/org.freedesktop.locale1.policy.in.h:1
-msgid "Authentication is required to set the system keyboard settings."
-msgstr "Wymagane jest uwierzytelnienie, aby ustawić klawiaturę systemu."
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:1
+msgid "Set system locale"
+msgstr "Ustawienie lokalizacji systemu"
-#: ../src/org.freedesktop.locale1.policy.in.h:2
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:2
msgid "Authentication is required to set the system locale."
msgstr "Wymagane jest uwierzytelnienie, aby ustawić lokalizację systemu."
-#: ../src/org.freedesktop.locale1.policy.in.h:3
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:3
msgid "Set system keyboard settings"
msgstr "Ustawienie klawiatury systemu"
-#: ../src/org.freedesktop.locale1.policy.in.h:4
-msgid "Set system locale"
-msgstr "Ustawienie lokalizacji systemu"
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:4
+msgid "Authentication is required to set the system keyboard settings."
+msgstr "Wymagane jest uwierzytelnienie, aby ustawić klawiaturę systemu."
-#: ../src/org.freedesktop.login1.policy.in.h:1
-msgid "Allow attaching devices to seats"
-msgstr "Zezwolenie na podłączanie urządzeń do stanowisk"
+#: ../src/login/org.freedesktop.login1.policy.in.h:1
+msgid "Allow applications to inhibit system shutdown"
+msgstr "Zezwolenie programom na wstrzymywanie wyłączenia systemu"
-#: ../src/org.freedesktop.login1.policy.in.h:2
-msgid "Allow non-logged-in users to run programs"
-msgstr "Zezwolenie niezalogowanym użytkownikom na uruchamianie programów"
+#: ../src/login/org.freedesktop.login1.policy.in.h:2
+msgid ""
+"Authentication is required to allow an application to inhibit system "
+"shutdown."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby zezwolić programowi na wstrzymanie "
+"wyłączenia systemu."
-#: ../src/org.freedesktop.login1.policy.in.h:3
+#: ../src/login/org.freedesktop.login1.policy.in.h:3
+msgid "Allow applications to delay system shutdown"
+msgstr "Zezwolenie programom na opóźnienie wyłączenia systemu"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:4
msgid ""
-"Authentication is required to allow a non-logged-in user to run programs"
+"Authentication is required to allow an application to delay system shutdown."
msgstr ""
-"Wymagane jest uwierzytelnienie, aby ustawić zezwolić niezalogowanym "
-"użytkownikom na uruchamianie programów"
+"Wymagane jest uwierzytelnienie, aby zezwolić programowi na opóźnienie "
+"wyłączenia systemu."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:5
+msgid "Allow applications to inhibit system sleep"
+msgstr "Zezwolenie programom na wstrzymanie uśpienia systemu"
-#: ../src/org.freedesktop.login1.policy.in.h:4
-msgid "Authentication is required to allow attaching a device to a seat"
+#: ../src/login/org.freedesktop.login1.policy.in.h:6
+msgid ""
+"Authentication is required to allow an application to inhibit system sleep."
msgstr ""
-"Wymagane jest uwierzytelnienie, aby zezwolić na podłączenie urządzenia do "
-"stanowiska"
+"Wymagane jest uwierzytelnienie, aby zezwolić programowi na wstrzymanie "
+"uśpienia systemu."
-#: ../src/org.freedesktop.login1.policy.in.h:5
-msgid "Authentication is required to allow powering off the system"
-msgstr "Wymagane jest uwierzytelnienie, aby zezwolić na wyłączanie systemu"
+#: ../src/login/org.freedesktop.login1.policy.in.h:7
+msgid "Allow applications to delay system sleep"
+msgstr "Zezwolenie programom na opóźnienie uśpienia systemu"
-#: ../src/org.freedesktop.login1.policy.in.h:6
+#: ../src/login/org.freedesktop.login1.policy.in.h:8
msgid ""
-"Authentication is required to allow powering off the system while other "
-"users are logged in"
+"Authentication is required to allow an application to delay system sleep."
msgstr ""
-"Wymagane jest uwierzytelnienie, aby zezwolić na wyłączanie systemu, kiedy są "
-"zalogowani inni użytkownicy"
+"Wymagane jest uwierzytelnienie, aby zezwolić programowi na opóźnienie "
+"uśpienia systemu."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:9
+msgid "Allow applications to inhibit automatic system suspend"
+msgstr "Zezwolenie programom na wstrzymanie automatycznego uśpienia systemu"
-#: ../src/org.freedesktop.login1.policy.in.h:7
-msgid "Authentication is required to allow rebooting the system"
+#: ../src/login/org.freedesktop.login1.policy.in.h:10
+msgid ""
+"Authentication is required to allow an application to inhibit automatic "
+"system suspend."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby zezwolić programowi na wstrzymanie "
+"automatycznego uśpienia systemu."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:11
+msgid "Allow applications to inhibit system handling of the power key"
msgstr ""
-"Wymagane jest uwierzytelnienie, aby zezwolić na ponowne uruchamianie systemu"
+"Zezwolenie programom na wstrzymanie obsługi klawisza zasilania przez system"
-#: ../src/org.freedesktop.login1.policy.in.h:8
+#: ../src/login/org.freedesktop.login1.policy.in.h:12
msgid ""
-"Authentication is required to allow rebooting the system while other users "
-"are logged in"
+"Authentication is required to allow an application to inhibit system "
+"handling of the power key."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby zezwolić programowi na wstrzymanie "
+"obsługi klawisza zasilania przez system."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:13
+msgid "Allow applications to inhibit system handling of the suspend key"
msgstr ""
-"Wymagane jest uwierzytelnienie, aby zezwolić na ponowne uruchamianie "
-"systemu, kiedy są zalogowani inni użytkownicy"
+"Zezwolenie programom na wstrzymanie obsługi klawisza uśpienia przez system"
-#: ../src/org.freedesktop.login1.policy.in.h:9
+#: ../src/login/org.freedesktop.login1.policy.in.h:14
msgid ""
-"Authentication is required to allow resetting how devices are attached to "
-"seats"
+"Authentication is required to allow an application to inhibit system "
+"handling of the suspend key."
msgstr ""
-"Wymagane jest uwierzytelnienie, aby zezwolić na ponowne ustawianie sposobu "
-"podłączenia urządzeń do stanowisk"
+"Wymagane jest uwierzytelnienie, aby zezwolić programowi na wstrzymanie "
+"obsługi klawisza uśpienia przez system."
-#: ../src/org.freedesktop.login1.policy.in.h:10
+#: ../src/login/org.freedesktop.login1.policy.in.h:15
+msgid "Allow applications to inhibit system handling of the hibernate key"
+msgstr ""
+"Zezwolenie programom na wstrzymanie obsługi klawisza hibernacji przez system"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:16
+msgid ""
+"Authentication is required to allow an application to inhibit system "
+"handling of the hibernate key."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby zezwolić programowi na wstrzymanie "
+"obsługi klawisza hibernacji przez system."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:17
+msgid "Allow applications to inhibit system handling of the lid switch"
+msgstr ""
+"Zezwolenie programom na wstrzymanie obsługi przełącznika pokrywy przez system"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:18
+msgid ""
+"Authentication is required to allow an application to inhibit system "
+"handling of the lid switch."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby zezwolić programowi na wstrzymanie "
+"obsługi przełącznika pokrywy przez system."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:19
+msgid "Allow non-logged-in users to run programs"
+msgstr "Zezwolenie niezalogowanym użytkownikom na uruchamianie programów"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:20
+msgid ""
+"Authentication is required to allow a non-logged-in user to run programs."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby zezwolić niezalogowanemu użytkownikowi "
+"na uruchamianie programów."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:21
+msgid "Allow attaching devices to seats"
+msgstr "Zezwolenie na podłączanie urządzeń do stanowisk"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:22
+msgid "Authentication is required for attaching a device to a seat."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby podłączyć urządzenie do stanowiska."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:23
msgid "Flush device to seat attachments"
msgstr "Usunięcie podłączenia urządzeń do stanowisk"
-#: ../src/org.freedesktop.login1.policy.in.h:11
+#: ../src/login/org.freedesktop.login1.policy.in.h:24
+msgid ""
+"Authentication is required for resetting how devices are attached to seats."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby ponownie ustawić sposób podłączenia "
+"urządzeń do stanowisk."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:25
msgid "Power off the system"
msgstr "Wyłączenie systemu"
-#: ../src/org.freedesktop.login1.policy.in.h:12
-msgid "Power off the system when other users are logged in"
+#: ../src/login/org.freedesktop.login1.policy.in.h:26
+msgid "Authentication is required for powering off the system."
+msgstr "Wymagane jest uwierzytelnienie, aby wyłączyć system."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:27
+msgid "Power off the system while other users are logged in"
msgstr "Wyłączenie systemu, kiedy są zalogowani inni użytkownicy"
-#: ../src/org.freedesktop.login1.policy.in.h:13
+#: ../src/login/org.freedesktop.login1.policy.in.h:28
+msgid ""
+"Authentication is required for powering off the system while other users are "
+"logged in."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby wyłączyć system, kiedy są zalogowani "
+"inni użytkownicy."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:29
+msgid "Power off the system while an application asked to inhibit it"
+msgstr "Wyłączenie systemu, kiedy program zażądał jego wstrzymania"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:30
+msgid ""
+"Authentication is required for powering off the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby wyłączyć system, kiedy program zażądał "
+"jego wstrzymania."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:31
msgid "Reboot the system"
msgstr "Ponowne uruchomienie systemu"
-#: ../src/org.freedesktop.login1.policy.in.h:14
-msgid "Reboot the system when other users are logged in"
+#: ../src/login/org.freedesktop.login1.policy.in.h:32
+msgid "Authentication is required for rebooting the system."
+msgstr "Wymagane jest uwierzytelnienie, aby ponownie uruchomić system."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:33
+msgid "Reboot the system while other users are logged in"
msgstr "Ponowne uruchomienie systemu, kiedy są zalogowani inni użytkownicy"
-#: ../src/org.freedesktop.timedate1.policy.in.h:1
+#: ../src/login/org.freedesktop.login1.policy.in.h:34
msgid ""
-"Authentication is required to control whether network time synchronization "
-"shall be enabled."
+"Authentication is required for rebooting the system while other users are "
+"logged in."
msgstr ""
-"Wymagane jest uwierzytelnienie, aby kontrolować, czy włączyć synchronizację "
-"czasu przez sieć."
+"Wymagane jest uwierzytelnienie, aby ponownie uruchomić system, kiedy są "
+"zalogowani inni użytkownicy."
-#: ../src/org.freedesktop.timedate1.policy.in.h:2
+#: ../src/login/org.freedesktop.login1.policy.in.h:35
+msgid "Reboot the system while an application asked to inhibit it"
+msgstr ""
+"Ponowne uruchomienie systemu, kiedy program poprosił o jego wstrzymanie"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:36
msgid ""
-"Authentication is required to control whether the RTC stores the local or "
-"UTC time."
+"Authentication is required for rebooting the system while an application "
+"asked to inhibit it."
msgstr ""
-"Wymagane jest uwierzytelnienie, aby kontrolować, czy RTC przechowuje czas "
-"lokalny lub czas UTC."
+"Wymagane jest uwierzytelnienie, aby ponownie uruchomić system, kiedy program "
+"zażądał jego wstrzymania."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:37
+msgid "Suspend the system"
+msgstr "Uśpienie systemu"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:38
+msgid "Authentication is required for suspending the system."
+msgstr "Wymagane jest uwierzytelnienie, aby uśpić system."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:39
+msgid "Suspend the system while other users are logged in"
+msgstr "Uśpienie systemu, kiedy są zalogowani inni użytkownicy"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:40
+msgid ""
+"Authentication is required for suspending the system while other users are "
+"logged in."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby uśpić system, kiedy są zalogowani inni "
+"użytkownicy."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:41
+msgid "Suspend the system while an application asked to inhibit it"
+msgstr "Uśpienie systemu, kiedy program poprosił o jego wstrzymanie"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:42
+msgid ""
+"Authentication is required for suspending the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby uśpić system, kiedy program zażądał jego "
+"wstrzymania."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:43
+msgid "Hibernate the system"
+msgstr "Hibernacja systemu"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:44
+msgid "Authentication is required for hibernating the system."
+msgstr "Wymagane jest uwierzytelnienie, aby zahibernować system."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:45
+msgid "Hibernate the system while other users are logged in"
+msgstr "Hibernacja systemu, kiedy są zalogowani inni użytkownicy"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:46
+msgid ""
+"Authentication is required for hibernating the system while other users are "
+"logged in."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby zahibernować system, kiedy są zalogowani "
+"inni użytkownicy."
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:47
+msgid "Hibernate the system while an application asked to inhibit it"
+msgstr "Hibernacja systemu, kiedy program zażądał jej wstrzymania"
+
+#: ../src/login/org.freedesktop.login1.policy.in.h:48
+msgid ""
+"Authentication is required for hibernating the system while an application "
+"asked to inhibit it."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby zahibernować system, kiedy program "
+"zażądał jej wstrzymania."
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1
+msgid "Set system time"
+msgstr "Ustawienie czasu systemu"
-#: ../src/org.freedesktop.timedate1.policy.in.h:3
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2
msgid "Authentication is required to set the system time."
msgstr "Wymagane jest uwierzytelnienie, aby ustawić czas systemu."
-#: ../src/org.freedesktop.timedate1.policy.in.h:4
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3
+msgid "Set system timezone"
+msgstr "Ustawienie strefy czasowej systemu"
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4
msgid "Authentication is required to set the system timezone."
msgstr "Wymagane jest uwierzytelnienie, aby ustawić strefę czasową systemu."
-#: ../src/org.freedesktop.timedate1.policy.in.h:5
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5
msgid "Set RTC to local timezone or UTC"
msgstr "Ustawienie RTC na lokalną strefę czasową lub strefę UTC"
-#: ../src/org.freedesktop.timedate1.policy.in.h:6
-msgid "Set system time"
-msgstr "Ustawienie czasu systemu"
-
-#: ../src/org.freedesktop.timedate1.policy.in.h:7
-msgid "Set system timezone"
-msgstr "Ustawienie strefy czasowej systemu"
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6
+msgid ""
+"Authentication is required to control whether the RTC stores the local or "
+"UTC time."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby kontrolować, czy RTC przechowuje czas "
+"lokalny lub czas UTC."
-#: ../src/org.freedesktop.timedate1.policy.in.h:8
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7
msgid "Turn network time synchronization on or off"
msgstr "Włączenie lub wyłączenie synchronizacji czasu przez sieć"
+
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8
+msgid ""
+"Authentication is required to control whether network time synchronization "
+"shall be enabled."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby kontrolować, czy włączyć synchronizację "
+"czasu przez sieć."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1
+msgid "Send passphrase back to system"
+msgstr "Wysłanie hasła z powrotem do systemu"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2
+msgid ""
+"Authentication is required to send the entered passphrase back to the system."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby wysłać podane hasło z powrotem do "
+"systemu."
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3
+msgid "Privileged system and service manager access"
+msgstr "Uprawniony dostęp do menedżera systemu i usług"
+
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4
+msgid "Authentication is required to access the system and service manager."
+msgstr ""
+"Wymagane jest uwierzytelnienie, aby uzyskać dostęp do menedżera systemu i "
+"usług."
diff --git a/rules/42-usb-hid-pm.rules b/rules/42-usb-hid-pm.rules
index 2b56b1134f..3fd6e8ab4c 100644
--- a/rules/42-usb-hid-pm.rules
+++ b/rules/42-usb-hid-pm.rules
@@ -32,7 +32,7 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="14dd", ATTR{idProduct}=="0002"
# USB HID devices that are internal to the machine should also be safe to autosuspend
ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="removable", GOTO="usb_hid_pm_end"
-ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="unknown", GOTO="usb_hid_pm_end"
+ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="unknown", GOTO="usb_hid_pm_end"
ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="03", ATTRS{removable}=="fixed", TEST=="../power/control", ATTR{../power/control}="auto"
diff --git a/rules/50-firmware.rules b/rules/50-firmware.rules
new file mode 100644
index 0000000000..f0ae684518
--- /dev/null
+++ b/rules/50-firmware.rules
@@ -0,0 +1,3 @@
+# do not edit this file, it will be overwritten on update
+
+SUBSYSTEM=="firmware", ACTION=="add", RUN{builtin}="firmware"
diff --git a/rules/50-udev-default.rules b/rules/50-udev-default.rules
index fc52fd17f5..f7647893d4 100644
--- a/rules/50-udev-default.rules
+++ b/rules/50-udev-default.rules
@@ -1,51 +1,45 @@
# do not edit this file, it will be overwritten on update
+SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
+
+# select "system RTC" or just use the first one
+SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc"
+SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"
+
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
+SUBSYSTEM=="input", ENV{ID_INPUT}=="", IMPORT{builtin}="input_id"
+ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"
+
+ACTION!="add", GOTO="default_permissions_end"
+
SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666"
SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666"
SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620"
SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
-
-# serial
KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
-# virtio serial / console ports
-SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
-
-# mem
SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
-# input
-SUBSYSTEM=="input", ENV{ID_INPUT}=="", IMPORT{builtin}="input_id"
SUBSYSTEM=="input", KERNEL=="mouse*|mice|event*", MODE="0640"
SUBSYSTEM=="input", KERNEL=="ts[0-9]*|uinput", MODE="0640"
SUBSYSTEM=="input", KERNEL=="js[0-9]*", MODE="0644"
-# video4linux
SUBSYSTEM=="video4linux", GROUP="video"
-
-# graphics
SUBSYSTEM=="misc", KERNEL=="agpgart", GROUP="video"
SUBSYSTEM=="graphics", GROUP="video"
SUBSYSTEM=="drm", GROUP="video"
+SUBSYSTEM=="dvb", GROUP="video"
-# sound
SUBSYSTEM=="sound", GROUP="audio", \
OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
-# DVB (video)
-SUBSYSTEM=="dvb", GROUP="video"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
-# FireWire (firewire-core driver: IIDC devices, AV/C devices)
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", GROUP="video"
SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", GROUP="video"
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video"
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", GROUP="video"
-# 'libusb' device nodes
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
-
-# printer
KERNEL=="parport[0-9]*", GROUP="lp"
SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp"
SUBSYSTEM=="ppdev", GROUP="lp"
@@ -53,23 +47,15 @@ KERNEL=="lp[0-9]*", GROUP="lp"
KERNEL=="irlpt[0-9]*", GROUP="lp"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"
-# block
SUBSYSTEM=="block", GROUP="disk"
-
-# floppy
SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
-
-# cdrom
SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="cdrom"
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
KERNEL=="sch[0-9]*", GROUP="cdrom"
KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
KERNEL=="pktcdvd", GROUP="cdrom"
-# tape
SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
-
-# block-related
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
KERNEL=="rawctl", GROUP="disk"
@@ -77,14 +63,9 @@ SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", GROUP="disk"
SUBSYSTEM=="aoe", GROUP="disk", MODE="0220"
SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
-# network
-KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"
KERNEL=="rfkill", MODE="0644"
+KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"
-KERNEL=="fuse", ACTION=="add", MODE="0666", OPTIONS+="static_node=fuse"
-
-SUBSYSTEM=="rtc", ATTR{hctosys}=="1", MODE="0644", SYMLINK+="rtc"
-
-SUBSYSTEM=="firmware", ACTION=="add", IMPORT{builtin}="firmware"
+KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse"
-ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"
+LABEL="default_permissions_end"
diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
index b74821edd4..a4d009ae6e 100644
--- a/rules/60-persistent-storage.rules
+++ b/rules/60-persistent-storage.rules
@@ -26,8 +26,6 @@ ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"
KERNEL=="vd*[!0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}"
KERNEL=="vd*[0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}-part%n"
-# ATA devices with their own "ata" kernel subsystem
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="ata", IMPORT{program}="ata_id --export $devnode"
# ATA devices using the "scsi" subsystem
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi", ATTRS{vendor}=="ATA", IMPORT{program}="ata_id --export $devnode"
# ATA/ATAPI devices (SPC-3 or later) using the "scsi" subsystem
diff --git a/rules/80-drivers.rules b/rules/80-drivers.rules
index a0615cc3b2..50523e4333 100644
--- a/rules/80-drivers.rules
+++ b/rules/80-drivers.rules
@@ -2,12 +2,12 @@
ACTION=="remove", GOTO="drivers_end"
-DRIVER!="?*", ENV{MODALIAS}=="?*", IMPORT{builtin}="kmod load $env{MODALIAS}"
-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", IMPORT{builtin}="kmod load tifm_sd"
-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", IMPORT{builtin}="kmod load tifm_ms"
-SUBSYSTEM=="memstick", IMPORT{builtin}="kmod load ms_block mspro_block"
-SUBSYSTEM=="i2o", IMPORT{builtin}="kmod load i2o_block"
+DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{builtin}="kmod load $env{MODALIAS}"
+SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN{builtin}="kmod load tifm_sd"
+SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN{builtin}="kmod load tifm_ms"
+SUBSYSTEM=="memstick", RUN{builtin}="kmod load ms_block mspro_block"
+SUBSYSTEM=="i2o", RUN{builtin}="kmod load i2o_block"
SUBSYSTEM=="module", KERNEL=="parport_pc", RUN{builtin}="kmod load ppdev"
-KERNEL=="mtd*ro", ENV{MTD_FTL}=="smartmedia", IMPORT{builtin}="kmod load sm_ftl"
+KERNEL=="mtd*ro", ENV{MTD_FTL}=="smartmedia", RUN{builtin}="kmod load sm_ftl"
LABEL="drivers_end"
diff --git a/rules/80-net-name-slot.rules b/rules/80-net-name-slot.rules
index 2834e82dbf..15b5bc4107 100644
--- a/rules/80-net-name-slot.rules
+++ b/rules/80-net-name-slot.rules
@@ -4,6 +4,9 @@ ACTION=="remove", GOTO="net_name_slot_end"
SUBSYSTEM!="net", GOTO="net_name_slot_end"
NAME!="", GOTO="net_name_slot_end"
+IMPORT{cmdline}="net.ifnames"
+ENV{net.ifnames}=="0", GOTO="net_name_slot_end"
+
NAME=="", ENV{ID_NET_NAME_ONBOARD}!="", NAME="$env{ID_NET_NAME_ONBOARD}"
NAME=="", ENV{ID_NET_NAME_SLOT}!="", NAME="$env{ID_NET_NAME_SLOT}"
NAME=="", ENV{ID_NET_NAME_PATH}!="", NAME="$env{ID_NET_NAME_PATH}"
diff --git a/shell-completion/bash/hostnamectl b/shell-completion/bash/hostnamectl
new file mode 100644
index 0000000000..a57bffe15f
--- /dev/null
+++ b/shell-completion/bash/hostnamectl
@@ -0,0 +1,60 @@
+# hostnamectl(1) completion -*- shell-script -*-
+#
+# This file is part of systemd.
+#
+# Copyright 2010 Ran Benita
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+__contains_word () {
+ local word=$1; shift
+ for w in $*; do [[ $w = $word ]] && return 0; done
+ return 1
+}
+
+_hostnamectl() {
+ local i verb comps
+ local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
+ local OPTS='-h --help --version --transient --static --pretty
+ --no-ask-password -H --host'
+
+ if [[ $cur = -* ]]; then
+ COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
+ return 0
+ fi
+
+ local -A VERBS=(
+ [STANDALONE]='status'
+ [ICONS]='set-icon-name'
+ [NAME]='set-hostname'
+ )
+
+ for ((i=0; i <= COMP_CWORD; i++)); do
+ if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
+ verb=${COMP_WORDS[i]}
+ break
+ fi
+ done
+
+ if [[ -z $verb ]]; then
+ comps=${VERBS[*]}
+ elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[ICONS]} ${VERBS[NAME]}; then
+ comps=''
+ fi
+
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+}
+
+complete -F _hostnamectl hostnamectl
diff --git a/shell-completion/bash/journalctl b/shell-completion/bash/journalctl
new file mode 100644
index 0000000000..19362ae77b
--- /dev/null
+++ b/shell-completion/bash/journalctl
@@ -0,0 +1,105 @@
+# journalctl(1) completion -*- shell-script -*-
+#
+# This file is part of systemd.
+#
+# Copyright 2010 Ran Benita
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+__contains_word () {
+ local word=$1; shift
+ for w in $*; do [[ $w = $word ]] && return 0; done
+ return 1
+}
+
+__journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC}
+ ERRNO SYSLOG_{FACILITY,IDENTIFIER,PID} COREDUMP_EXE
+ _{P,U,G}ID _COMM _EXE _CMDLINE
+ _AUDIT_{SESSION,LOGINUID}
+ _SYSTEMD_{CGROUP,SESSION,UNIT,OWNER_UID}
+ _SELINUX_CONTEXT _SOURCE_REALTIME_TIMESTAMP
+ _{BOOT,MACHINE}_ID _HOSTNAME _TRANSPORT
+ _KERNEL_{DEVICE,SUBSYSTEM}
+ _UDEV_{SYSNAME,DEVNODE,DEVLINK}
+ __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP)
+
+_journalctl() {
+ local field_vals= cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
+ local -A OPTS=(
+ [STANDALONE]='-a --all --full
+ -b --this-boot --disk-usage -f --follow --header
+ -h --help -l --local --new-id128 -m --merge --no-pager
+ --no-tail -q --quiet --setup-keys --this-boot --verify
+ --version --list-catalog --update-catalog'
+ [ARG]='-D --directory -F --field -o --output -u --unit --user-unit'
+ [ARGUNKNOWN]='-c --cursor --interval -n --lines -p --priority --since --until
+ --verify-key'
+ )
+
+ if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then
+ case $prev in
+ --directory|-D)
+ comps=$(compgen -d -- "$cur")
+ compopt -o filenames
+ ;;
+ --output|-o)
+ comps='short short-monotonic verbose export json cat'
+ ;;
+ --field|-F)
+ comps=${__journal_fields[*]}
+ ;;
+ --unit|-u)
+ comps=$(journalctl -F '_SYSTEMD_UNIT' 2>/dev/null)
+ ;;
+ --user-unit)
+ comps=$(journalctl -F '_SYSTEMD_USER_UNIT' 2>/dev/null)
+ ;;
+ *)
+ return 0
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+ fi
+
+ if [[ $cur = -* ]]; then
+ COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
+ return 0
+ elif [[ $cur = *=* ]]; then
+ mapfile -t field_vals < <(journalctl -F "${prev%=}" 2>/dev/null)
+ COMPREPLY=( $(compgen -W '${field_vals[*]}' -- "${cur#=}") )
+ elif [[ $cur = /dev* ]]; then
+ compopt -o filenames
+ COMPREPLY=( $(compgen -f -- "${cur}") )
+ elif [[ $cur = /* ]]; then
+ # Append /dev/ to the list of completions, so that
+ # after typing /<TAB><TAB> the user sees /dev/ as one
+ # of the alternatives. Later on the rule above will
+ # take care of showing device files in /dev/.
+ mapfile -t field_vals < <(journalctl -F "_EXE" 2>/dev/null; echo '/dev/')
+ COMPREPLY=( $(compgen -W '${field_vals[*]}' -- "${cur}") )
+ if [[ "${COMPREPLY[@]}" = '/dev/' ]]; then
+ compopt -o filenames
+ COMPREPLY=( $(compgen -f -- "${cur}") )
+ fi
+ elif [[ $prev = '=' ]]; then
+ mapfile -t field_vals < <(journalctl -F "${COMP_WORDS[COMP_CWORD-2]}" 2>/dev/null)
+ COMPREPLY=( $(compgen -W '${field_vals[*]}' -- "$cur") )
+ else
+ compopt -o nospace
+ COMPREPLY=( $(compgen -W '${__journal_fields[*]}' -S= -- "$cur") )
+ fi
+}
+
+complete -F _journalctl journalctl
diff --git a/shell-completion/bash/localectl b/shell-completion/bash/localectl
new file mode 100644
index 0000000000..ef19f01461
--- /dev/null
+++ b/shell-completion/bash/localectl
@@ -0,0 +1,75 @@
+# localectl(1) completion -*- shell-script -*-
+#
+# This file is part of systemd.
+#
+# Copyright 2010 Ran Benita
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+__contains_word () {
+ local word=$1; shift
+ for w in $*; do [[ $w = $word ]] && return 0; done
+ return 1
+}
+
+_localectl() {
+ local i verb comps
+ local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
+ local OPTS='-h --help --version --no-convert --no-pager --no-ask-password
+ -H --host'
+
+ if __contains_word "$prev" $OPTS; then
+ case $prev in
+ --host|-H)
+ comps=''
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+ fi
+
+ if [[ $cur = -* ]]; then
+ COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
+ return 0
+ fi
+
+ local -A VERBS=(
+ [STANDALONE]='status list-locales list-keymaps'
+ [LOCALES]='set-locale'
+ [KEYMAPS]='set-keymap'
+ [X11]='set-x11-keymap'
+ )
+
+ for ((i=0; i <= COMP_CWORD; i++)); do
+ if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
+ verb=${COMP_WORDS[i]}
+ break
+ fi
+ done
+
+ if [[ -z $verb ]]; then
+ comps=${VERBS[*]}
+ elif __contains_word "$verb" ${VERBS[LOCALES]}; then
+ comps=$(command localectl list-locales)
+ elif __contains_word "$verb" ${VERBS[KEYMAPS]}; then
+ comps=$(command localectl list-keymaps)
+ elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[X11]}; then
+ comps=''
+ fi
+
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+}
+
+complete -F _localectl localectl
diff --git a/shell-completion/bash/loginctl b/shell-completion/bash/loginctl
new file mode 100644
index 0000000000..1844085d49
--- /dev/null
+++ b/shell-completion/bash/loginctl
@@ -0,0 +1,108 @@
+# loginctl(1) completion -*- shell-script -*-
+#
+# This file is part of systemd.
+#
+# Copyright 2010 Ran Benita
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+__contains_word () {
+ local word=$1; shift
+ for w in $*; do [[ $w = $word ]] && return 0; done
+ return 1
+}
+
+__get_all_sessions () { loginctl list-sessions | { while read -r a b; do printf "%s\n" "$a"; done; } ; }
+__get_all_users () { loginctl list-users | { while read -r a b; do printf "%s\n" "$b"; done; } ; }
+__get_all_seats () { loginctl list-seats | { while read -r a b; do printf "%s\n" "$a"; done; } ; }
+
+_loginctl () {
+ local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
+ local i verb comps
+
+ local -A OPTS=(
+ [STANDALONE]='--all -a --help -h --no-pager --privileged -P --version'
+ [ARG]='--host -H --kill-who --property -p --signal -s'
+ )
+
+ if __contains_word "$prev" ${OPTS[ARG]}; then
+ case $prev in
+ --signal|-s)
+ comps=$(compgen -A signal)
+ ;;
+ --kill-who)
+ comps='all leader'
+ ;;
+ --host|-H)
+ comps=$(compgen -A hostname)
+ ;;
+ --property|-p)
+ comps=''
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+ fi
+
+
+ if [[ "$cur" = -* ]]; then
+ COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
+ return 0
+ fi
+
+ local -A VERBS=(
+ [SESSIONS]='session-status show-session activate lock-session unlock-session terminate-session kill-session'
+ [USERS]='user-status show-user enable-linger disable-linger terminate-user kill-user'
+ [SEATS]='seat-status show-seat terminate-seat'
+ [STANDALONE]='list-sessions list-users list-seats flush-devices'
+ [ATTACH]='attach'
+ )
+
+ for ((i=0; $i <= $COMP_CWORD; i++)); do
+ if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
+ ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
+ verb=${COMP_WORDS[i]}
+ break
+ fi
+ done
+
+ if [[ -z $verb ]]; then
+ comps="${VERBS[*]}"
+
+ elif __contains_word "$verb" ${VERBS[SESSIONS]}; then
+ comps=$( __get_all_sessions )
+
+ elif __contains_word "$verb" ${VERBS[USERS]}; then
+ comps=$( __get_all_users )
+
+ elif __contains_word "$verb" ${VERBS[SEATS]}; then
+ comps=$( __get_all_seats )
+
+ elif __contains_word "$verb" ${VERBS[STANDALONE]}; then
+ comps=''
+
+ elif __contains_word "$verb" ${VERBS[ATTACH]}; then
+ if [[ $prev = $verb ]]; then
+ comps=$( __get_all_seats )
+ else
+ comps=$(compgen -A file -- "$cur" )
+ compopt -o filenames
+ fi
+ fi
+
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+}
+
+complete -F _loginctl loginctl
diff --git a/shell-completion/bash/systemctl b/shell-completion/bash/systemctl
new file mode 100644
index 0000000000..191b8d13ec
--- /dev/null
+++ b/shell-completion/bash/systemctl
@@ -0,0 +1,219 @@
+# systemctl(1) completion -*- shell-script -*-
+#
+# This file is part of systemd.
+#
+# Copyright 2010 Ran Benita
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+__systemctl() {
+ local mode=$1; shift 1
+ systemctl $mode --full --no-legend "$@"
+}
+
+__systemd_properties() {
+ local mode=$1
+ { __systemctl -a $mode show;
+ systemd --dump-configuration-items; } |
+ while IFS='=' read -r key value; do
+ [[ $value ]] && echo "$key"
+ done
+}
+
+__contains_word () {
+ local word=$1; shift
+ for w in $*; do [[ $w = $word ]] && return 0; done
+ return 1
+}
+
+__filter_units_by_property () {
+ local mode=$1 property=$2 value=$3 ; shift 3
+ local units=("$@")
+ local props
+ IFS=$'\n' read -rd '' -a props < \
+ <(__systemctl $mode show --property "$property" -- "${units[@]}")
+ for ((i=0; $i < ${#units[*]}; i++)); do
+ if [[ "${props[i]}" = "$property=$value" ]]; then
+ echo " ${units[i]}"
+ fi
+ done
+}
+
+__get_all_units () { __systemctl $1 list-units --all \
+ | { while read -r a b; do echo " $a"; done; }; }
+__get_active_units () { __systemctl $1 list-units \
+ | { while read -r a b; do echo " $a"; done; }; }
+__get_startable_units () { __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap \
+ | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed " ]] && echo " $a"; done; }; }
+__get_failed_units () { __systemctl $1 list-units \
+ | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; }
+__get_enabled_units () { __systemctl $1 list-unit-files \
+ | { while read -r a b c ; do [[ $b == "enabled" ]] && echo " $a"; done; }; }
+__get_disabled_units () { __systemctl $1 list-unit-files \
+ | { while read -r a b c ; do [[ $b == "disabled" ]] && echo " $a"; done; }; }
+__get_masked_units () { __systemctl $1 list-unit-files \
+ | { while read -r a b c ; do [[ $b == "masked" ]] && echo " $a"; done; }; }
+
+_systemctl () {
+ local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
+ local i verb comps mode
+
+ local -A OPTS=(
+ [STANDALONE]='--all -a --reverse --after --before --defaults --fail --ignore-dependencies --failed --force -f --full --global
+ --help -h --no-ask-password --no-block --no-legend --no-pager --no-reload --no-wall
+ --quiet -q --privileged -P --system --user --version --runtime'
+ [ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t --root'
+ )
+
+ if __contains_word "--user" ${COMP_WORDS[*]}; then
+ mode=--user
+ else
+ mode=--system
+ fi
+
+ if __contains_word "$prev" ${OPTS[ARG]}; then
+ case $prev in
+ --signal|-s)
+ comps=$(compgen -A signal)
+ ;;
+ --type|-t)
+ comps='automount device mount path service snapshot socket swap target timer'
+ ;;
+ --kill-who)
+ comps='all control main'
+ ;;
+ --kill-mode)
+ comps='control-group process'
+ ;;
+ --root)
+ comps=$(compgen -A directory -- "$cur" )
+ compopt -o filenames
+ ;;
+ --host|-H)
+ comps=$(compgen -A hostname)
+ ;;
+ --property|-p)
+ comps=$(__systemd_properties $mode)
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+ fi
+
+ if [[ "$cur" = -* ]]; then
+ COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
+ return 0
+ fi
+
+ local -A VERBS=(
+ [ALL_UNITS]='is-active is-failed is-enabled status show mask preset help list-dependencies'
+ [ENABLED_UNITS]='disable'
+ [DISABLED_UNITS]='enable'
+ [REENABLABLE_UNITS]='reenable'
+ [FAILED_UNITS]='reset-failed'
+ [STARTABLE_UNITS]='start'
+ [STOPPABLE_UNITS]='stop condstop kill try-restart condrestart'
+ [ISOLATABLE_UNITS]='isolate'
+ [RELOADABLE_UNITS]='reload condreload reload-or-try-restart force-reload'
+ [RESTARTABLE_UNITS]='restart reload-or-restart'
+ [MASKED_UNITS]='unmask'
+ [JOBS]='cancel'
+ [SNAPSHOTS]='delete'
+ [ENVS]='set-environment unset-environment'
+ [STANDALONE]='daemon-reexec daemon-reload default dump
+ emergency exit halt hibernate hybrid-sleep kexec list-jobs
+ list-units list-unit-files poweroff reboot rescue
+ show-environment suspend'
+ [NAME]='snapshot load'
+ [FILE]='link'
+ )
+
+ for ((i=0; $i <= $COMP_CWORD; i++)); do
+ if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
+ ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
+ verb=${COMP_WORDS[i]}
+ break
+ fi
+ done
+
+ if [[ -z $verb ]]; then
+ comps="${VERBS[*]}"
+
+ elif __contains_word "$verb" ${VERBS[ALL_UNITS]}; then
+ comps=$( __get_all_units $mode )
+
+ elif __contains_word "$verb" ${VERBS[ENABLED_UNITS]}; then
+ comps=$( __get_enabled_units $mode )
+
+ elif __contains_word "$verb" ${VERBS[DISABLED_UNITS]}; then
+ comps=$( __get_disabled_units $mode )
+
+ elif __contains_word "$verb" ${VERBS[REENABLABLE_UNITS]}; then
+ comps=$( __get_disabled_units $mode;
+ __get_enabled_units $mode )
+
+ elif __contains_word "$verb" ${VERBS[STARTABLE_UNITS]}; then
+ comps=$( __filter_units_by_property $mode CanStart yes \
+ $( __get_startable_units $mode))
+
+ elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then
+ comps=$( __filter_units_by_property $mode CanStart yes \
+ $( __get_all_units $mode \
+ | while read -r line; do \
+ [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || echo " $line"; \
+ done ))
+
+ elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then
+ comps=$( __filter_units_by_property $mode CanStop yes \
+ $( __get_active_units $mode ) )
+
+ elif __contains_word "$verb" ${VERBS[RELOADABLE_UNITS]}; then
+ comps=$( __filter_units_by_property $mode CanReload yes \
+ $( __get_active_units $mode ) )
+
+ elif __contains_word "$verb" ${VERBS[ISOLATABLE_UNITS]}; then
+ comps=$( __filter_units_by_property $mode AllowIsolate yes \
+ $( __get_all_units $mode ) )
+
+ elif __contains_word "$verb" ${VERBS[FAILED_UNITS]}; then
+ comps=$( __get_failed_units $mode )
+
+ elif __contains_word "$verb" ${VERBS[MASKED_UNITS]}; then
+ comps=$( __get_masked_units $mode )
+
+ elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[NAME]}; then
+ comps=''
+
+ elif __contains_word "$verb" ${VERBS[JOBS]}; then
+ comps=$( __systemctl $mode list-jobs | { while read -r a b; do echo " $a"; done; } )
+
+ elif __contains_word "$verb" ${VERBS[SNAPSHOTS]}; then
+ comps=$( __systemctl $mode list-units --type snapshot --full --all \
+ | { while read -r a b; do echo " $a"; done; } )
+
+ elif __contains_word "$verb" ${VERBS[ENVS]}; then
+ comps=$( __systemctl $mode show-environment \
+ | while read -r line; do echo " ${line%%=*}=";done )
+ compopt -o nospace
+
+ elif __contains_word "$verb" ${VERBS[FILE]}; then
+ comps=$( compgen -A file -- "$cur" )
+ compopt -o filenames
+ fi
+
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+}
+
+complete -F _systemctl systemctl
diff --git a/shell-completion/bash/systemd-analyze b/shell-completion/bash/systemd-analyze
new file mode 100644
index 0000000000..11276ef09c
--- /dev/null
+++ b/shell-completion/bash/systemd-analyze
@@ -0,0 +1,76 @@
+# systemd-analyze(1) completion -*- shell-script -*-
+#
+# This file is part of systemd.
+#
+# Copyright 2010 Ran Benita
+# Copyright 2013 Harald Hoyer
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+__contains_word () {
+ local word=$1; shift
+ for w in $*; do [[ $w = $word ]] && return 0; done
+ return 1
+}
+
+_systemd_analyze() {
+ local i verb comps
+ local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
+ local OPTS='--help --version --system --user --from-pattern --to-pattern --order --require'
+
+ local -A VERBS=(
+ [NO_OPTION]='time blame plot'
+ [CRITICAL_CHAIN]='critical-chain'
+ [DOT]='dot'
+ )
+
+ _init_completion || return
+
+ for ((i=0; $i <= $COMP_CWORD; i++)); do
+ if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
+ ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
+ verb=${COMP_WORDS[i]}
+ break
+ fi
+ done
+
+ if [[ -z $verb && $cur = -* ]]; then
+ COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
+ return 0
+ fi
+
+ if [[ -z $verb ]]; then
+ comps=${VERBS[*]}
+
+ elif __contains_word "$verb" ${VERBS[NO_OPTION]}; then
+ if [[ $cur = -* ]]; then
+ comps='--help --version --system --user'
+ fi
+
+ elif __contains_word "$verb" ${VERBS[CRITICAL_CHAIN]}; then
+ if [[ $cur = -* ]]; then
+ comps='--help --version --system --user --fuzz'
+ fi
+
+ elif __contains_word "$verb" ${VERBS[DOT]}; then
+ if [[ $cur = -* ]]; then
+ comps='--help --version --system --user --from-pattern --to-pattern --order --require'
+ fi
+ fi
+
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+}
+
+complete -F _systemd_analyze systemd-analyze
diff --git a/shell-completion/bash/systemd-coredumpctl b/shell-completion/bash/systemd-coredumpctl
new file mode 100644
index 0000000000..4bbece7347
--- /dev/null
+++ b/shell-completion/bash/systemd-coredumpctl
@@ -0,0 +1,84 @@
+# systemd-coredumpctl(1) completion -*- shell-script -*-
+#
+# This file is part of systemd.
+#
+# Copyright 2010 Ran Benita
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+__contains_word () {
+ local word=$1; shift
+ for w in $*; do [[ $w = $word ]] && return 0; done
+ return 1
+}
+
+__journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC}
+ ERRNO SYSLOG_{FACILITY,IDENTIFIER,PID} COREDUMP_EXE
+ _{P,U,G}ID _COMM _EXE _CMDLINE
+ _AUDIT_{SESSION,LOGINUID}
+ _SYSTEMD_{CGROUP,SESSION,UNIT,OWNER_UID}
+ _SELINUX_CONTEXT _SOURCE_REALTIME_TIMESTAMP
+ _{BOOT,MACHINE}_ID _HOSTNAME _TRANSPORT
+ _KERNEL_{DEVICE,SUBSYSTEM}
+ _UDEV_{SYSNAME,DEVNODE,DEVLINK}
+ __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP)
+_coredumpctl() {
+ local i verb comps
+ local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
+ local OPTS='-h --help --version --no-pager --no-legend -o --output -F --field'
+
+ local -A VERBS=(
+ [LIST]='list'
+ [DUMP]='dump gdb'
+ )
+
+ if __contains_word "$prev" '--output -o'; then
+ comps=$( compgen -A file -- "$cur" )
+ compopt -o filenames
+ elif __contains_word "$prev" '--FIELD -F'; then
+ comps=$( compgen -W '${__journal_fields[*]}' -- "$cur" )
+ elif [[ $cur = -* ]]; then
+ comps=${OPTS}
+ elif __contains_word "$prev" ${VERBS[*]} &&
+ ! __contains_word ${COMP_WORDS[COMP_CWORD-2]} '--output -o -F --field'; then
+ compopt -o nospace
+ COMPREPLY=( $(compgen -W '${__journal_fields[*]}' -S= -- "$cur") )
+ return 0
+ elif [[ $cur = *=* ]]; then
+ mapfile -t field_vals < <(systemd-coredumpctl -F "${prev%=}" 2>/dev/null)
+ COMPREPLY=( $(compgen -W '${field_vals[*]}' -- "${cur#=}") )
+ return 0
+ elif [[ $prev = '=' ]]; then
+ mapfile -t field_vals < <(systemd-coredumpctl -F "${COMP_WORDS[COMP_CWORD-2]}" 2>/dev/null)
+ comps=${field_vals[*]}
+ else
+ for ((i=0; i <= COMP_CWORD; i++)); do
+ if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
+ verb=${COMP_WORDS[i]}
+ break
+ fi
+ done
+
+ if [[ -z $verb ]]; then
+ comps=${VERBS[*]}
+ elif __contains_word "$verb" ${VERBS[LIST]} ${VERBS[DUMP]}; then
+ comps=''
+ fi
+ fi
+
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+}
+
+complete -F _coredumpctl systemd-coredumpctl
diff --git a/shell-completion/bash/timedatectl b/shell-completion/bash/timedatectl
new file mode 100644
index 0000000000..2842b31069
--- /dev/null
+++ b/shell-completion/bash/timedatectl
@@ -0,0 +1,75 @@
+# timedatectl(1) completion -*- shell-script -*-
+#
+# This file is part of systemd.
+#
+# Copyright 2010 Ran Benita
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+__contains_word () {
+ local word=$1; shift
+ for w in $*; do [[ $w = $word ]] && return 0; done
+ return 1
+}
+
+_timedatectl() {
+ local i verb comps
+ local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
+ local OPTS='-h --help --version --adjust-system-clock --no-pager
+ --no-ask-password -H --host'
+
+ if __contains_word "$prev" $OPTS; then
+ case $prev in
+ --host|-H)
+ comps=''
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+ fi
+
+ if [[ $cur = -* ]]; then
+ COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
+ return 0
+ fi
+
+ local -A VERBS=(
+ [BOOLEAN]='set-local-rtc set-ntp'
+ [STANDALONE]='status set-time list-timezones'
+ [TIMEZONES]='set-timezone'
+ [TIME]='set-time'
+ )
+
+ for ((i=0; i <= COMP_CWORD; i++)); do
+ if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
+ verb=${COMP_WORDS[i]}
+ break
+ fi
+ done
+
+ if [[ -z $verb ]]; then
+ comps=${VERBS[*]}
+ elif __contains_word "$verb" ${VERBS[BOOLEAN]}; then
+ comps='true false'
+ elif __contains_word "$verb" ${VERBS[TIMEZONES]}; then
+ comps=$(command timedatectl list-timezones)
+ elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[TIME]}; then
+ comps=''
+ fi
+
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+}
+
+complete -F _timedatectl timedatectl
diff --git a/shell-completion/bash/udevadm b/shell-completion/bash/udevadm
new file mode 100644
index 0000000000..123fb51633
--- /dev/null
+++ b/shell-completion/bash/udevadm
@@ -0,0 +1,103 @@
+# udevadm(8) completion -*- shell-script -*-
+#
+# This file is part of systemd.
+#
+# Copyright 2010 Ran Benita
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+__contains_word () {
+ local word=$1; shift
+ for w in $*; do [[ $w = $word ]] && return 0; done
+ return 1
+}
+
+__get_all_sysdevs() {
+ local -a devs=(/sys/bus/*/devices/*/ /sys/class/*/*/)
+ printf '%s\n' "${devs[@]%/}"
+}
+
+_udevadm() {
+ local i verb comps
+ local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
+ local OPTS='-h --help --version --debug'
+
+ local -A VERBS=(
+ [INFO]='info'
+ [TRIGGER]='trigger'
+ [SETTLE]='settle'
+ [CONTROL]='control'
+ [MONITOR]='monitor'
+ [HWDB]='hwdb'
+ [TESTBUILTIN]='test-builtin'
+ [TEST]='test'
+ )
+
+ for ((i=0; $i <= $COMP_CWORD; i++)); do
+ if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
+ ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
+ verb=${COMP_WORDS[i]}
+ break
+ fi
+ done
+
+ if [[ -z $verb && $cur = -* ]]; then
+ COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
+ return 0
+ fi
+
+ if [[ -z $verb ]]; then
+ comps=${VERBS[*]}
+
+ elif __contains_word "$verb" ${VERBS[INFO]}; then
+ if [[ $cur = -* ]]; then
+ comps='--help --query= --path= --name= --root --attribute-walk --export-db --cleanup-db'
+ else
+ comps=$( __get_all_sysdevs )
+ fi
+
+ elif __contains_word "$verb" ${VERBS[TRIGGER]}; then
+ comps='--help --verbose --dry-run --type= --action= --subsystem-match=
+ --subsystem-nomatch= --attr-match= --attr-nomatch= --property-match=
+ --tag-match= --sysname-match= --parent-match='
+
+ elif __contains_word "$verb" ${VERBS[SETTLE]}; then
+ comps='--help --timeout= --seq-start= --seq-end= --exit-if-exists= --quiet'
+
+ elif __contains_word "$verb" ${VERBS[CONTROL]}; then
+ comps='--help --exit --log-priority= --stop-exec-queue --start-exec-queue
+ --reload --property= --children-max= --timeout='
+
+ elif __contains_word "$verb" ${VERBS[MONITOR]}; then
+ comps='--help --kernel --udev --property --subsystem-match= --tag-match='
+
+ elif __contains_word "$verb" ${VERBS[HWDB]}; then
+ comps='--help --update --test='
+
+ elif __contains_word "$verb" ${VERBS[TEST]}; then
+ if [[ $cur = -* ]]; then
+ comps='--help --action='
+ else
+ comps=$( __get_all_sysdevs )
+ fi
+
+ elif __contains_word "$verb" ${VERBS[TESTBUILTIN]}; then
+ comps='blkid btrfs hwdb input_id kmod net_id path_id usb_id uaccess'
+ fi
+
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+}
+
+complete -F _udevadm udevadm
diff --git a/shell-completion/systemd-bash-completion.sh b/shell-completion/systemd-bash-completion.sh
deleted file mode 100644
index 52dc72b04f..0000000000
--- a/shell-completion/systemd-bash-completion.sh
+++ /dev/null
@@ -1,607 +0,0 @@
-# This file is part of systemd.
-#
-# Copyright 2010 Ran Benita
-#
-# systemd is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2.1 of the License, or
-# (at your option) any later version.
-#
-# systemd is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with systemd; If not, see <http://www.gnu.org/licenses/>.
-
-__systemctl() {
- systemctl --full --no-legend "$@"
-}
-
-__contains_word () {
- local word=$1; shift
- for w in $*; do [[ $w = $word ]] && return 0; done
- return 1
-}
-
-__filter_units_by_property () {
- local property=$1 value=$2 ; shift 2
- local units=("$@")
- local props
- IFS=$'\n' read -rd '' -a props < \
- <(__systemctl show --property "$property" -- "${units[@]}")
- for ((i=0; $i < ${#units[*]}; i++)); do
- if [[ "${props[i]}" = "$property=$value" ]]; then
- printf "%s\n" "${units[i]}"
- fi
- done
-}
-
-__get_all_units () { __systemctl list-units --all \
- | { while read -r a b; do printf "%s\n" "$a"; done; }; }
-__get_active_units () { __systemctl list-units \
- | { while read -r a b; do printf "%s\n" "$a"; done; }; }
-__get_inactive_units () { __systemctl list-units --all \
- | { while read -r a b c d; do [[ $c == "inactive" ]] && printf "%s\n" "$a"; done; }; }
-__get_failed_units () { __systemctl list-units \
- | { while read -r a b c d; do [[ $c == "failed" ]] && printf "%s\n" "$a"; done; }; }
-__get_enabled_units () { __systemctl list-unit-files \
- | { while read -r a b c ; do [[ $b == "enabled" ]] && printf "%s\n" "$a"; done; }; }
-__get_disabled_units () { __systemctl list-unit-files \
- | { while read -r a b c ; do [[ $b == "disabled" ]] && printf "%s\n" "$a"; done; }; }
-__get_masked_units () { __systemctl list-unit-files \
- | { while read -r a b c ; do [[ $b == "masked" ]] && printf "%s\n" "$a"; done; }; }
-
-_systemctl () {
- local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
- local i verb comps
-
- local -A OPTS=(
- [STANDALONE]='--all -a --defaults --fail --ignore-dependencies --failed --force -f --full --global
- --help -h --no-ask-password --no-block --no-legend --no-pager --no-reload --no-wall
- --order --require --quiet -q --privileged -P --system --user --version --runtime'
- [ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t --root'
- )
-
- if __contains_word "$prev" ${OPTS[ARG]}; then
- case $prev in
- --signal|-s)
- comps=$(compgen -A signal)
- ;;
- --type|-t)
- comps='automount device mount path service snapshot socket swap target timer'
- ;;
- --kill-who)
- comps='all control main'
- ;;
- --kill-mode)
- comps='control-group process'
- ;;
- --root)
- comps=$(compgen -A directory -- "$cur" )
- compopt -o filenames
- ;;
- --host|-H)
- comps=$(compgen -A hostname)
- ;;
- --property|-p)
- comps=''
- ;;
- esac
- COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
- return 0
- fi
-
-
- if [[ "$cur" = -* ]]; then
- COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
- return 0
- fi
-
- local -A VERBS=(
- [ALL_UNITS]='is-active is-failed is-enabled status show mask preset'
- [ENABLED_UNITS]='disable reenable'
- [DISABLED_UNITS]='enable'
- [FAILED_UNITS]='reset-failed'
- [STARTABLE_UNITS]='start'
- [STOPPABLE_UNITS]='stop condstop kill try-restart condrestart'
- [ISOLATABLE_UNITS]='isolate'
- [RELOADABLE_UNITS]='reload condreload reload-or-try-restart force-reload'
- [RESTARTABLE_UNITS]='restart reload-or-restart'
- [MASKED_UNITS]='unmask'
- [JOBS]='cancel'
- [SNAPSHOTS]='delete'
- [ENVS]='set-environment unset-environment'
- [STANDALONE]='daemon-reexec daemon-reload default dot dump
- emergency exit halt hibernate hybrid-sleep kexec list-jobs
- list-units list-unit-files poweroff reboot rescue
- show-environment suspend'
- [NAME]='snapshot load'
- [FILE]='link'
- )
-
- for ((i=0; $i <= $COMP_CWORD; i++)); do
- if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
- ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
- verb=${COMP_WORDS[i]}
- break
- fi
- done
-
- if [[ -z $verb ]]; then
- comps="${VERBS[*]}"
-
- elif __contains_word "$verb" ${VERBS[ALL_UNITS]}; then
- comps=$( __get_all_units )
-
- elif __contains_word "$verb" ${VERBS[ENABLED_UNITS]}; then
- comps=$( __get_enabled_units )
-
- elif __contains_word "$verb" ${VERBS[DISABLED_UNITS]}; then
- comps=$( __get_disabled_units )
-
- elif __contains_word "$verb" ${VERBS[STARTABLE_UNITS]}; then
- comps=$( __filter_units_by_property CanStart yes \
- $( __get_inactive_units \
- | while read -r line; do \
- [[ "$line" =~ \.(device|snapshot)$ ]] || printf "%s\n" "$line"; \
- done ))
-
- elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then
- comps=$( __filter_units_by_property CanStart yes \
- $( __get_all_units \
- | while read -r line; do \
- [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || printf "%s\n" "$line"; \
- done ))
-
- elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then
- comps=$( __filter_units_by_property CanStop yes \
- $( __get_active_units ) )
-
- elif __contains_word "$verb" ${VERBS[RELOADABLE_UNITS]}; then
- comps=$( __filter_units_by_property CanReload yes \
- $( __get_active_units ) )
-
- elif __contains_word "$verb" ${VERBS[ISOLATABLE_UNITS]}; then
- comps=$( __filter_units_by_property AllowIsolate yes \
- $( __get_all_units ) )
-
- elif __contains_word "$verb" ${VERBS[FAILED_UNITS]}; then
- comps=$( __get_failed_units )
-
- elif __contains_word "$verb" ${VERBS[MASKED_UNITS]}; then
- comps=$( __get_masked_units )
-
- elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[NAME]}; then
- comps=''
-
- elif __contains_word "$verb" ${VERBS[JOBS]}; then
- comps=$( __systemctl list-jobs | { while read -r a b; do printf "%s\n" "$a"; done; } )
-
- elif __contains_word "$verb" ${VERBS[SNAPSHOTS]}; then
- comps=$( __systemctl list-units --type snapshot --full --all \
- | { while read -r a b; do printf "%s\n" "$a"; done; } )
-
- elif __contains_word "$verb" ${VERBS[ENVS]}; then
- comps=$( __systemctl show-environment \
- | while read -r line; do printf "%s\n" "${line%%=*}=";done )
- compopt -o nospace
-
- elif __contains_word "$verb" ${VERBS[FILE]}; then
- comps=$( compgen -A file -- "$cur" )
- compopt -o filenames
- fi
-
- COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
- return 0
-}
-complete -F _systemctl systemctl
-
-__get_all_sessions () { loginctl list-sessions | { while read -r a b; do printf "%s\n" "$a"; done; } ; }
-__get_all_users () { loginctl list-users | { while read -r a b; do printf "%s\n" "$b"; done; } ; }
-__get_all_seats () { loginctl list-seats | { while read -r a b; do printf "%s\n" "$a"; done; } ; }
-
-_loginctl () {
- local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
- local i verb comps
-
- local -A OPTS=(
- [STANDALONE]='--all -a --help -h --no-pager --privileged -P --version'
- [ARG]='--host -H --kill-who --property -p --signal -s'
- )
-
- if __contains_word "$prev" ${OPTS[ARG]}; then
- case $prev in
- --signal|-s)
- comps=$(compgen -A signal)
- ;;
- --kill-who)
- comps='all leader'
- ;;
- --host|-H)
- comps=$(compgen -A hostname)
- ;;
- --property|-p)
- comps=''
- ;;
- esac
- COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
- return 0
- fi
-
-
- if [[ "$cur" = -* ]]; then
- COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
- return 0
- fi
-
- local -A VERBS=(
- [SESSIONS]='session-status show-session activate lock-session unlock-session terminate-session kill-session'
- [USERS]='user-status show-user enable-linger disable-linger terminate-user kill-user'
- [SEATS]='seat-status show-seat terminate-seat'
- [STANDALONE]='list-sessions list-users list-seats flush-devices'
- [ATTACH]='attach'
- )
-
- for ((i=0; $i <= $COMP_CWORD; i++)); do
- if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
- ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
- verb=${COMP_WORDS[i]}
- break
- fi
- done
-
- if [[ -z $verb ]]; then
- comps="${VERBS[*]}"
-
- elif __contains_word "$verb" ${VERBS[SESSIONS]}; then
- comps=$( __get_all_sessions )
-
- elif __contains_word "$verb" ${VERBS[USERS]}; then
- comps=$( __get_all_users )
-
- elif __contains_word "$verb" ${VERBS[SEATS]}; then
- comps=$( __get_all_seats )
-
- elif __contains_word "$verb" ${VERBS[STANDALONE]}; then
- comps=''
-
- elif __contains_word "$verb" ${VERBS[ATTACH]}; then
- if [[ $prev = $verb ]]; then
- comps=$( __get_all_seats )
- else
- comps=$(compgen -A file -- "$cur" )
- compopt -o filenames
- fi
- fi
-
- COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
- return 0
-}
-complete -F _loginctl loginctl
-
-__journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC}
- ERRNO SYSLOG_{FACILITY,IDENTIFIER,PID} COREDUMP_EXE
- _{P,U,G}ID _COMM _EXE _CMDLINE
- _AUDIT_{SESSION,LOGINUID}
- _SYSTEMD_{CGROUP,SESSION,UNIT,OWNER_UID}
- _SELINUX_CONTEXT _SOURCE_REALTIME_TIMESTAMP
- _{BOOT,MACHINE}_ID _HOSTNAME _TRANSPORT
- _KERNEL_{DEVICE,SUBSYSTEM}
- _UDEV_{SYSNAME,DEVNODE,DEVLINK}
- __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP)
-
-_journalctl() {
- local field_vals= cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
- local -A OPTS=(
- [STANDALONE]='-a --all --full
- -b --this-boot --disk-usage -f --follow --header
- -h --help -l --local --new-id128 -m --merge --no-pager
- --no-tail -q --quiet --setup-keys --this-boot --verify
- --version --list-catalog --update-catalog'
- [ARG]='-D --directory -F --field -o --output -u --unit'
- [ARGUNKNOWN]='-c --cursor --interval -n --lines -p --priority --since --until
- --verify-key'
- )
-
- if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then
- case $prev in
- --directory|-D)
- comps=$(compgen -d -- "$cur")
- compopt -o filenames
- ;;
- --output|-o)
- comps='short short-monotonic verbose export json cat'
- ;;
- --field|-F)
- comps=${__journal_fields[*]}
- ;;
- --unit|-u)
- comps=$(journalctl -F '_SYSTEMD_UNIT')
- ;;
- *)
- return 0
- ;;
- esac
- COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
- return 0
- fi
-
- if [[ $cur = -* ]]; then
- COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
- return 0
- elif [[ $cur = *=* ]]; then
- mapfile -t field_vals < <(journalctl -F "${prev%=}" 2>/dev/null)
- COMPREPLY=( $(compgen -W '${field_vals[*]}' -- "${cur#=}") )
- elif [[ $prev = '=' ]]; then
- mapfile -t field_vals < <(journalctl -F "${COMP_WORDS[COMP_CWORD-2]}" 2>/dev/null)
- COMPREPLY=( $(compgen -W '${field_vals[*]}' -- "$cur") )
- else
- compopt -o nospace
- COMPREPLY=( $(compgen -W '${__journal_fields[*]}' -S= -- "$cur") )
- fi
-}
-complete -F _journalctl journalctl
-
-_coredumpctl() {
- local i verb comps
- local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
- local OPTS='-h --help --version --no-pager --no-legend -o --output -F --field'
-
- local -A VERBS=(
- [LIST]='list'
- [DUMP]='dump gdb'
- )
-
- if __contains_word "$prev" '--output -o'; then
- comps=$( compgen -A file -- "$cur" )
- compopt -o filenames
- elif __contains_word "$prev" '--FIELD -F'; then
- comps=$( compgen -W '${__journal_fields[*]}' -- "$cur" )
- elif [[ $cur = -* ]]; then
- comps=${OPTS}
- elif __contains_word "$prev" ${VERBS[*]} &&
- ! __contains_word ${COMP_WORDS[COMP_CWORD-2]} '--output -o -F --field'; then
- compopt -o nospace
- COMPREPLY=( $(compgen -W '${__journal_fields[*]}' -S= -- "$cur") )
- return 0
- elif [[ $cur = *=* ]]; then
- mapfile -t field_vals < <(systemd-coredumpctl -F "${prev%=}" 2>/dev/null)
- COMPREPLY=( $(compgen -W '${field_vals[*]}' -- "${cur#=}") )
- return 0
- elif [[ $prev = '=' ]]; then
- mapfile -t field_vals < <(systemd-coredumpctl -F "${COMP_WORDS[COMP_CWORD-2]}" 2>/dev/null)
- comps=${field_vals[*]}
- else
- for ((i=0; i <= COMP_CWORD; i++)); do
- if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
- verb=${COMP_WORDS[i]}
- break
- fi
- done
-
- if [[ -z $verb ]]; then
- comps=${VERBS[*]}
- elif __contains_word "$verb" ${VERBS[LIST]} ${VERBS[DUMP]}; then
- comps=''
- fi
- fi
-
- COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
- return 0
-}
-complete -F _coredumpctl systemd-coredumpctl
-
-_timedatectl() {
- local i verb comps
- local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
- local OPTS='-h --help --version --adjust-system-clock --no-pager
- --no-ask-password -H --host'
-
- if __contains_word "$prev" $OPTS; then
- case $prev in
- --host|-H)
- comps=''
- ;;
- esac
- COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
- return 0
- fi
-
- if [[ $cur = -* ]]; then
- COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
- return 0
- fi
-
- local -A VERBS=(
- [BOOLEAN]='set-local-rtc set-ntp'
- [STANDALONE]='status set-time list-timezones'
- [TIMEZONES]='set-timezone'
- [TIME]='set-time'
- )
-
- for ((i=0; i <= COMP_CWORD; i++)); do
- if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
- verb=${COMP_WORDS[i]}
- break
- fi
- done
-
- if [[ -z $verb ]]; then
- comps=${VERBS[*]}
- elif __contains_word "$verb" ${VERBS[BOOLEAN]}; then
- comps='true false'
- elif __contains_word "$verb" ${VERBS[TIMEZONES]}; then
- comps=$(command timedatectl list-timezones)
- elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[TIME]}; then
- comps=''
- fi
-
- COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
- return 0
-}
-complete -F _timedatectl timedatectl
-
-_localectl() {
- local i verb comps
- local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
- local OPTS='-h --help --version --no-convert --no-pager --no-ask-password
- -H --host'
-
- if __contains_word "$prev" $OPTS; then
- case $prev in
- --host|-H)
- comps=''
- ;;
- esac
- COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
- return 0
- fi
-
- if [[ $cur = -* ]]; then
- COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
- return 0
- fi
-
- local -A VERBS=(
- [STANDALONE]='status list-locales list-keymaps'
- [LOCALES]='set-locale'
- [KEYMAPS]='set-keymap'
- [X11]='set-x11-keymap'
- )
-
- for ((i=0; i <= COMP_CWORD; i++)); do
- if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
- verb=${COMP_WORDS[i]}
- break
- fi
- done
-
- if [[ -z $verb ]]; then
- comps=${VERBS[*]}
- elif __contains_word "$verb" ${VERBS[LOCALES]}; then
- comps=$(command localectl list-locales)
- elif __contains_word "$verb" ${VERBS[KEYMAPS]}; then
- comps=$(command localectl list-keymaps)
- elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[X11]}; then
- comps=''
- fi
-
- COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
- return 0
-}
-complete -F _localectl localectl
-
-_hostnamectl() {
- local i verb comps
- local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
- local OPTS='-h --help --version --transient --static --pretty
- --no-ask-password -H --host'
-
- if [[ $cur = -* ]]; then
- COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
- return 0
- fi
-
- local -A VERBS=(
- [STANDALONE]='status'
- [ICONS]='set-icon-name'
- [NAME]='set-hostname'
- )
-
- for ((i=0; i <= COMP_CWORD; i++)); do
- if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
- verb=${COMP_WORDS[i]}
- break
- fi
- done
-
- if [[ -z $verb ]]; then
- comps=${VERBS[*]}
- elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[ICONS]} ${VERBS[NAME]}; then
- comps=''
- fi
-
- COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
- return 0
-}
-complete -F _hostnamectl hostnamectl
-
-__get_all_sysdevs() {
- local -a devs=(/sys/bus/*/devices/*/ /sys/class/*/*/)
- printf '%s\n' "${devs[@]%/}"
-}
-
-_udevadm() {
- local i verb comps
- local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
- local OPTS='-h --help --version --debug'
-
- local -A VERBS=(
- [INFO]='info'
- [TRIGGER]='trigger'
- [SETTLE]='settle'
- [CONTROL]='control'
- [MONITOR]='monitor'
- [HWDB]='hwdb'
- [TESTBUILTIN]='test-builtin'
- [TEST]='test'
- )
-
- for ((i=0; $i <= $COMP_CWORD; i++)); do
- if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
- ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
- verb=${COMP_WORDS[i]}
- break
- fi
- done
-
- if [[ -z $verb && $cur = -* ]]; then
- COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
- return 0
- fi
-
- if [[ -z $verb ]]; then
- comps=${VERBS[*]}
-
- elif __contains_word "$verb" ${VERBS[INFO]}; then
- if [[ $cur = -* ]]; then
- comps='--help --query= --path= --name= --root --attribute-walk --export-db --cleanup-db'
- else
- comps=$( __get_all_sysdevs )
- fi
-
- elif __contains_word "$verb" ${VERBS[TRIGGER]}; then
- comps='--help --verbose --dry-run --type= --action= --subsystem-match=
- --subsystem-nomatch= --attr-match= --attr-nomatch= --property-match=
- --tag-match= --sysname-match= --parent-match='
-
- elif __contains_word "$verb" ${VERBS[SETTLE]}; then
- comps='--help --timeout= --seq-start= --seq-end= --exit-if-exists= --quiet'
-
- elif __contains_word "$verb" ${VERBS[CONTROL]}; then
- comps='--help --exit --log-priority= --stop-exec-queue --start-exec-queue
- --reload --property= --children-max= --timeout='
-
- elif __contains_word "$verb" ${VERBS[MONITOR]}; then
- comps='--help --kernel --udev --property --subsystem-match= --tag-match='
-
- elif __contains_word "$verb" ${VERBS[HWDB]}; then
- comps='--help --update --test='
-
- elif __contains_word "$verb" ${VERBS[TEST]}; then
- if [[ $cur = -* ]]; then
- comps='--help --action='
- else
- comps=$( __get_all_sysdevs )
- fi
-
- elif __contains_word "$verb" ${VERBS[TESTBUILTIN]}; then
- comps='blkid btrfs firmware hwdb input_id kmod net_id path_id usb_id uaccess'
- fi
-
- COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
- return 0
-}
-complete -F _udevadm udevadm
diff --git a/shell-completion/systemd-zsh-completion.zsh b/shell-completion/systemd-zsh-completion.zsh
index d5fb850cdb..411646ea59 100644
--- a/shell-completion/systemd-zsh-completion.zsh
+++ b/shell-completion/systemd-zsh-completion.zsh
@@ -12,6 +12,9 @@ _ctls()
{-t,--type=}'[List only units of a particular type]:unit type:(automount device mount path service snapshot socket swap target timer)' \
\*{-p,--property=}'[Show only properties by specific name]:unit property' \
{-a,--all}'[Show all units/properties, including dead/empty ones]' \
+ '--reverse[Show reverse dependencies]' \
+ '--after[Show units ordered after]' \
+ '--before[Show units ordered before]' \
'--failed[Show only failed units]' \
"--full[Don't ellipsize unit names on output]" \
'--fail[When queueing a new job, fail if conflicting jobs are pending]' \
@@ -27,8 +30,6 @@ _ctls()
'--no-legend[Do not print a legend, i.e. the column headers and the footer with hints]' \
'--no-pager[Do not pipe output into a pager]' \
'--no-ask-password[Do not ask for system passwords]' \
- '--order[When generating graph for dot, show only order]' \
- '--require[When generating graph for dot, show only requirement]' \
'--system[Connect to system manager]' \
'--user[Connect to user service manager]' \
'--global[Enable/disable unit files globally]' \
@@ -72,6 +73,7 @@ _ctls()
{-c,--cursor=}'[Start showing entries from specified cursor]:cursors:_journal_fields __CURSORS' \
{-b,--this-boot}'[Show data only from current boot]' \
{-u,--unit=}'[Show data only from the specified unit]:units:_journal_fields _SYSTEMD_UNIT' \
+ '--user-unit[Show data only from the specified user session unit]:units:_journal_fields _SYSTEMD_USER_UNIT' \
{-p,--priority=}'[Show only messages within the specified priority range]:priority:_journal_fields PRIORITY' \
{-f,--follow}'[Follow journal]' \
{-n,--lines=}'[Number of journal entries to show]:integer' \
@@ -95,6 +97,7 @@ _ctls()
'--verify[Verify journal file consistency]' \
'--list-catalog[List messages in catalog]' \
'--update-catalog[Update binary catalog database]' \
+ '*::default: _journal_none'
;;
localectl)
_arguments \
@@ -136,6 +139,8 @@ _ctls()
_arguments \
{-h,--help}'[Show help text.]' \
'--user[Shows performance data of user sessions instead of the system manager.]' \
+ '--order[When generating graph for dot, show only order]' \
+ '--require[When generating graph for dot, show only requirement]' \
'*::systemd-analyze commands:_systemd_analyze_command'
;;
systemd-ask-password)
@@ -271,7 +276,7 @@ _systemd-nspawn(){
}
_systemd_inhibit_command(){
- if (( CURRENT == 1 )); then
+ if (( CURRENT == 1 )); then
compset -q
_normal
else
@@ -289,10 +294,13 @@ _systemd_inhibit_command(){
_systemd_analyze_command(){
local -a _systemd_analyze_cmds
+ # Descriptions taken from systemd-analyze --help.
_systemd_analyze_cmds=(
- 'time:Print the time taken to start'
- 'blame:prints a list of all running units, ordered by the time they took to initialize'
- 'plot:prints an SVG graphic detailing which system services have been started at what time'
+ 'time:Print time spent in the kernel before reaching userspace'
+ 'blame:Print list of running units ordered by time to init'
+ 'critical-chain:Print a tree of the time critical chain of units'
+ 'plot:Output SVG graphic showing service initialization'
+ 'dot:Dump dependency graph (in dot(1) format)'
)
if (( CURRENT == 1 )); then
@@ -314,7 +322,7 @@ _outputmodes() {
_output_opts=(short short-monotonic verbose export json json-pretty json-see cat)
_describe -t output 'output mode' _output_opts || compadd "$@"
}
-
+
(( $+functions[_systemctl_command] )) || _systemctl_command()
{
@@ -345,6 +353,8 @@ _outputmodes() {
"disable:Disable one or more unit files"
"reenable:Reenable one or more unit files"
"preset:Enable/disable one or more unit files based on preset configuration"
+ "help:Show documentation for specified units"
+ "list-dependencies:Show unit dependency tree"
"mask:Mask one or more units"
"unmask:Unmask one or more units"
"link:Link one or more units files into the search path"
@@ -352,7 +362,6 @@ _outputmodes() {
"list-jobs:List jobs"
"cancel:Cancel all, one, or more jobs"
"dump:Dump server status"
- "dot:Dump dependency graph for dot(1)"
"snapshot:Create a snapshot"
"delete:Remove one or more snapshots"
"show-environment:Dump environment"
@@ -402,7 +411,9 @@ _outputmodes() {
__systemctl()
{
- systemctl --full --no-legend --no-pager "$@"
+ local -a _modes
+ _modes=("--user" "--system")
+ systemctl ${words:*_modes} --full --no-legend --no-pager "$@"
}
@@ -412,7 +423,7 @@ _systemctl_all_units()
if ( [[ ${+_sys_all_units} -eq 0 ]] || _cache_invalid SYS_ALL_UNITS ) &&
! _retrieve_cache SYS_ALL_UNITS;
then
- _sys_all_units=( $(__systemctl list-units --all | { while read a b; do echo "$a"; done; }) )
+ _sys_all_units=( $(__systemctl list-units --all | { while read a b; do echo " $a"; done; }) )
_store_cache SYS_ALL_UNITS _sys_all_units
fi
}
@@ -425,7 +436,7 @@ _systemctl_really_all_units()
if ( [[ ${+_sys_really_all_units} -eq 0 ]] || _cache_invalid SYS_REALLY_ALL_UNITS ) &&
! _retrieve_cache SYS_REALLY_ALL_UNITS;
then
- all_unit_files=( $(__systemctl list-unit-files | { while read a b; do echo "$a"; done; }) )
+ all_unit_files=( $(__systemctl list-unit-files | { while read a b; do echo " $a"; done; }) )
_systemctl_all_units
really_all_units=($_sys_all_units $all_unit_files)
_sys_really_all_units=(${(u)really_all_units})
@@ -445,20 +456,20 @@ _filter_units_by_property() {
unit=${units[i]}
prop=${(f)"$(_call_program units "$service show --no-pager --property="$property" ${unit} 2>/dev/null")"}
if [[ "${prop}" = "$property=$value" ]]; then
- echo "${unit}"
+ echo " ${unit}"
fi
done
}
-_systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read a b; do echo "$a"; done; }) )}
-_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read a b c d; do [[ $c == "inactive" ]] && echo "$a"; done; }) )}
-_systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read a b; do echo "$a"; done; }) )}
-_systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "enabled" ]] && echo "$a"; done; }) )}
-_systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read a b; do [[ $b == "disabled" ]] && echo "$a"; done; }) )}
-_systemctl_masked_units() {_sys_masked_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "masked" ]] && echo "$a"; done; }) )}
+_systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read a b; do echo " $a"; done; }) )}
+_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }) )}
+_systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read a b; do echo " $a"; done; }) )}
+_systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "enabled" ]] && echo " $a"; done; }) )}
+_systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read a b; do [[ $b == "disabled" ]] && echo " $a"; done; }) )}
+_systemctl_masked_units() {_sys_masked_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "masked" ]] && echo " $a"; done; }) )}
# Completion functions for ALL_UNITS
-for fun in is-active is-failed is-enabled status show mask preset ; do
+for fun in is-active is-failed is-enabled status show mask preset help list-dependencies ; do
(( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
{
_systemctl_really_all_units
@@ -471,7 +482,8 @@ for fun in disable reenable ; do
(( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
{
_systemctl_enabled_units
- compadd "$@" -a - _sys_enabled_units
+ _systemctl_disabled_units
+ compadd "$@" -a - _sys_enabled_units _sys_disabled_units
}
done
@@ -531,7 +543,7 @@ for fun in restart reload-or-restart ; do
_systemctl_all_units
compadd "$@" - $( _filter_units_by_property CanStart yes \
${_sys_all_units[*]} | while read line; do \
- [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || echo "$line"; \
+ [[ "$line" =~ \.device$ ]] || echo " $line"; \
done )
}
done
@@ -554,7 +566,7 @@ done
(( $+functions[_systemctl_delete] )) || _systemctl_delete()
{
compadd "$@" - $(__systemctl list-units --type snapshot --all \
- | cut -d' ' -f1 2>/dev/null ) || _message "no snampshot found"
+ | cut -d' ' -f1 2>/dev/null ) || _message "no snapshot found"
}
# Completion functions for ENVS
@@ -568,14 +580,14 @@ for fun in set-environment unset-environment ; do
fi
compadd "$@" ${suf} - $(systemctl show-environment \
- | while read line; do echo "${line%%\=}";done )
+ | while read line; do echo " ${line%%\=}";done )
}
done
(( $+functions[_systemctl_link] )) || _systemctl_link() { _files }
# no systemctl completion for:
-# [STANDALONE]='daemon-reexec daemon-reload default dot dump
+# [STANDALONE]='daemon-reexec daemon-reload default dump
# emergency exit halt kexec list-jobs list-units
# list-unit-files poweroff reboot rescue show-environment'
# [NAME]='snapshot load'
@@ -607,6 +619,7 @@ _list_fields() {
_{P,U,G}ID _COMM _EXE _CMDLINE
_AUDIT_{SESSION,LOGINUID}
_SYSTEMD_{CGROUP,SESSION,UNIT,OWNER_UID}
+ _SYSTEMD_USER_UNIT
_SELINUX_CONTEXT _SOURCE_REALTIME_TIMESTAMP
_{BOOT,MACHINE}_ID _HOSTNAME _TRANSPORT
_KERNEL_{DEVICE,SUBSYSTEM}
@@ -615,18 +628,27 @@ _list_fields() {
_describe 'possible fields' journal_fields
}
+_journal_none() {
+ local -a _commands _files
+ _commands=( ${(f)"$(_call_program commands "$service" -F _EXE 2>/dev/null)"} )
+ _alternative : \
+ 'files:/dev files:_files -W /dev -P /dev/' \
+ "commands:commands:($_commands[@])" \
+ 'fields:fields:_list_fields'
+}
+
_journal_fields() {
local -a _fields cmd
cmd=("journalctl" "-F ${@[-1]}" "2>/dev/null" )
- _fields=( ${(f)"$(_call_program fields $cmd[@])"} )
+ _fields=( ${(f)"$(_call_program fields $cmd[@])"} )
typeset -U _fields
_describe 'possible values' _fields
}
-_loginctl_all_sessions(){_sys_all_sessions=($(loginctl list-sessions | { while read a b; do echo "$a"; done; }) )}
-_loginctl_all_users() {_sys_all_users=( $(loginctl list-users | { while read a b; do echo "$a"; done; }) )}
-_loginctl_all_seats() {_sys_all_seats=( $(loginctl list-seats | { while read a b; do echo "$a"; done; }) )}
+_loginctl_all_sessions(){_sys_all_sessions=($(loginctl list-sessions | { while read a b; do echo " $a"; done; }) )}
+_loginctl_all_users() {_sys_all_users=( $(loginctl list-users | { while read a b; do echo " $a"; done; }) )}
+_loginctl_all_seats() {_sys_all_seats=( $(loginctl list-seats | { while read a b; do echo " $a"; done; }) )}
# Completion functions for SESSIONS
for fun in session-status show-session activate lock-session unlock-session terminate-session kill-session ; do
@@ -775,8 +797,8 @@ _localectl_set-x11-keymap() {
#_model=( ${(f)"$(echo $_file[2] | awk '/^ / {print $1}')"} )
#_variant=( ${(f)"$(echo $_file[3] | awk '/^ / {print $1}')"} )
#_options=( ${(f)"$(echo ${_file[4]//:/\\:} | awk '/^ / {print $1}')"} )
-
- case $CURRENT in
+
+ case $CURRENT in
2) _describe layouts _layout ;;
3) _describe models _model;;
4) _describe variants _variant;;
@@ -874,12 +896,13 @@ _systemd-coredumpctl_command(){
_describe -t commands 'systemd-coredumpctl command' _systemd_coredumpctl_cmds
else
local curcontext="$curcontext"
- local -a dumps
+ local -a _dumps
cmd="${${_systemd_coredumpctl_cmds[(r)$words[1]:*]%%:*}}"
if (( $#cmd )); then
- dumps=( "${(f)$(_call_program dumps "systemd-coredumpctl list 2>/dev/null")}" )
- if [[ -n "$dumps" ]]; then
- compadd "${dumps[@]}"
+ # user can set zstyle ':completion:*:*:systemd-coredumpctl:*' sort no for coredumps to be ordered by date, otherwise they get ordered by pid
+ _dumps=( "${(foa)$(systemd-coredumpctl list | awk 'BEGIN{OFS=":"} /^\s/ {sub(/[[ \t]+/, ""); print $5,$0}' 2>/dev/null)}" )
+ if [[ -n "$_dumps" ]]; then
+ _describe -t pids 'coredumps' _dumps
else
_message "no coredumps"
fi
@@ -943,13 +966,13 @@ _udevadm_control(){
'--timeout=[The maximum number of seconds to wait for a reply from systemd-udevd.]' \
'--help[Print help text.]'
}
-
+
_udevadm_monitor(){
_arguments \
'--kernel[Print the kernel uevents.]' \
'--udev[Print the udev event after the rule processing.]' \
'--property[Also print the properties of the event.]' \
- '--subsystem-match=[Filter events by subsystem[/devtype].]' \
+ '--subsystem-match=[Filter events by subsystem/\[devtype\].]' \
'--tag-match=[Filter events by property.]' \
'--help[Print help text.]'
}
@@ -966,7 +989,7 @@ _udevadm_test-builtin(){
if (( CURRENT == 2 )); then
_arguments \
'--help[Print help text]' \
- '*::builtins:(blkid btrfs firmware hwdb input_id kmod path_id usb_id uaccess)'
+ '*::builtins:(blkid btrfs hwdb input_id kmod path_id usb_id uaccess)'
elif (( CURRENT == 3 )); then
_arguments \
'--help[Print help text]' \
diff --git a/src/activate/activate.c b/src/activate/activate.c
new file mode 100644
index 0000000000..87526d47cc
--- /dev/null
+++ b/src/activate/activate.c
@@ -0,0 +1,443 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/epoll.h>
+#include <sys/prctl.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <getopt.h>
+
+#include <systemd/sd-daemon.h>
+
+#include "socket-util.h"
+#include "build.h"
+#include "log.h"
+#include "strv.h"
+#include "macro.h"
+
+static char** arg_listen = NULL;
+static bool arg_accept = false;
+static char** arg_args = NULL;
+static char** arg_environ = NULL;
+
+static int add_epoll(int epoll_fd, int fd) {
+ int r;
+ struct epoll_event ev = {EPOLLIN};
+ ev.data.fd = fd;
+
+ assert(epoll_fd >= 0);
+ assert(fd >= 0);
+
+ r = epoll_ctl(epoll_fd, EPOLL_CTL_ADD, fd, &ev);
+ if (r < 0)
+ log_error("Failed to add event on epoll fd:%d for fd:%d: %s",
+ epoll_fd, fd, strerror(-r));
+ return r;
+}
+
+static int set_nocloexec(int fd) {
+ int flags;
+
+ flags = fcntl(fd, F_GETFD);
+ if (flags < 0) {
+ log_error("Querying flags for fd:%d: %m", fd);
+ return -errno;
+ }
+
+ if (!(flags & FD_CLOEXEC))
+ return 0;
+
+ if (fcntl(fd, F_SETFD, flags & ~FD_CLOEXEC) < 0) {
+ log_error("Settings flags for fd:%d: %m", fd);
+ return -errno;
+ }
+
+ return 0;
+}
+
+static int print_socket(const char* desc, int fd) {
+ int r;
+ SocketAddress addr = {
+ .size = sizeof(union sockaddr_union),
+ .type = SOCK_STREAM,
+ };
+ int family;
+
+ r = getsockname(fd, &addr.sockaddr.sa, &addr.size);
+ if (r < 0) {
+ log_warning("Failed to query socket on fd:%d: %m", fd);
+ return 0;
+ }
+
+ family = socket_address_family(&addr);
+ switch(family) {
+ case AF_INET:
+ case AF_INET6: {
+ char* _cleanup_free_ a = NULL;
+ r = socket_address_print(&addr, &a);
+ if (r < 0)
+ log_warning("socket_address_print(): %s", strerror(-r));
+ else
+ log_info("%s %s address %s",
+ desc,
+ family == AF_INET ? "IP" : "IPv6",
+ a);
+ break;
+ }
+ default:
+ log_warning("Connection with unknown family %d", family);
+ }
+
+ return 0;
+}
+
+static int open_sockets(int *epoll_fd, bool accept) {
+ int n, fd;
+ int count = 0;
+ char **address;
+
+ n = sd_listen_fds(true);
+ if (n < 0) {
+ log_error("Failed to read listening file descriptors from environment: %s",
+ strerror(-n));
+ return n;
+ }
+ log_info("Received %d descriptors", n);
+
+ for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + n; fd++) {
+ log_debug("Received descriptor fd:%d", fd);
+ print_socket("Listening on", fd);
+
+ if (!arg_accept) {
+ int r = set_nocloexec(fd);
+ if (r < 0)
+ return r;
+ }
+
+ count ++;
+ }
+
+ /** Note: we leak some fd's on error here. I doesn't matter
+ * much, since the program will exit immediately anyway, but
+ * would be a pain to fix.
+ */
+
+ STRV_FOREACH(address, arg_listen) {
+ log_info("Opening address %s", *address);
+
+ fd = make_socket_fd(*address, SOCK_STREAM | (arg_accept*SOCK_CLOEXEC));
+ if (fd < 0) {
+ log_error("Failed to open '%s': %s", *address, strerror(-fd));
+ return fd;
+ }
+
+ count ++;
+ }
+
+ *epoll_fd = epoll_create1(EPOLL_CLOEXEC);
+ if (*epoll_fd < 0) {
+ log_error("Failed to create epoll object: %m");
+ return -errno;
+ }
+
+ for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + count; fd++) {
+ int r = add_epoll(*epoll_fd, fd);
+ if (r < 0)
+ return r;
+ }
+
+ return count;
+}
+
+static int launch(char* name, char **argv, char **env, int fds) {
+ unsigned n_env = 0, length;
+ _cleanup_strv_free_ char **envp = NULL;
+ char **s;
+ static const char* tocopy[] = {"TERM=", "PATH=", "USER=", "HOME="};
+ _cleanup_free_ char *tmp = NULL;
+ unsigned i;
+
+ length = strv_length(arg_environ);
+ /* PATH, TERM, HOME, USER, LISTEN_FDS, LISTEN_PID, NULL */
+ envp = new(char *, length + 7);
+
+ STRV_FOREACH(s, arg_environ) {
+ if (strchr(*s, '='))
+ envp[n_env++] = *s;
+ else {
+ _cleanup_free_ char *p = strappend(*s, "=");
+ if (!p)
+ return log_oom();
+ envp[n_env] = strv_find_prefix(env, p);
+ if (envp[n_env])
+ n_env ++;
+ }
+ }
+
+ for (i = 0; i < ELEMENTSOF(tocopy); i++) {
+ envp[n_env] = strv_find_prefix(env, tocopy[i]);
+ if (envp[n_env])
+ n_env ++;
+ }
+
+ if ((asprintf((char**)(envp + n_env++), "LISTEN_FDS=%d", fds) < 0) ||
+ (asprintf((char**)(envp + n_env++), "LISTEN_PID=%d", getpid()) < 0))
+ return log_oom();
+
+ tmp = strv_join(argv, " ");
+ if (!tmp)
+ return log_oom();
+
+ log_info("Execing %s (%s)", name, tmp);
+ execvpe(name, argv, envp);
+ log_error("Failed to execp %s (%s): %m", name, tmp);
+ return -errno;
+}
+
+static int launch1(const char* child, char** argv, char **env, int fd) {
+ pid_t parent_pid, child_pid;
+ int r;
+
+ _cleanup_free_ char *tmp = NULL;
+ tmp = strv_join(argv, " ");
+ if (!tmp)
+ return log_oom();
+
+ parent_pid = getpid();
+
+ child_pid = fork();
+ if (child_pid < 0) {
+ log_error("Failed to fork: %m");
+ return -errno;
+ }
+
+ /* In the child */
+ if (child_pid == 0) {
+ r = dup2(fd, STDIN_FILENO);
+ if (r < 0) {
+ log_error("Failed to dup connection to stdin: %m");
+ _exit(EXIT_FAILURE);
+ }
+
+ r = dup2(fd, STDOUT_FILENO);
+ if (r < 0) {
+ log_error("Failed to dup connection to stdout: %m");
+ _exit(EXIT_FAILURE);
+ }
+
+ r = close(fd);
+ if (r < 0) {
+ log_error("Failed to close dupped connection: %m");
+ _exit(EXIT_FAILURE);
+ }
+
+ /* Make sure the child goes away when the parent dies */
+ if (prctl(PR_SET_PDEATHSIG, SIGTERM) < 0)
+ _exit(EXIT_FAILURE);
+
+ /* Check whether our parent died before we were able
+ * to set the death signal */
+ if (getppid() != parent_pid)
+ _exit(EXIT_SUCCESS);
+
+ execvp(child, argv);
+ log_error("Failed to exec child %s: %m", child);
+ _exit(EXIT_FAILURE);
+ }
+
+ log_info("Spawned %s (%s) as PID %d", child, tmp, child_pid);
+
+ return 0;
+}
+
+static int do_accept(const char* name, char **argv, char **envp, int fd) {
+ SocketAddress addr = {
+ .size = sizeof(union sockaddr_union),
+ .type = SOCK_STREAM,
+ };
+ int fd2, r;
+
+ fd2 = accept(fd, &addr.sockaddr.sa, &addr.size);
+ if (fd2 < 0) {
+ log_error("Failed to accept connection on fd:%d: %m", fd);
+ return fd2;
+ }
+
+ print_socket("Connection from", fd2);
+
+ r = launch1(name, argv, envp, fd2);
+ return r;
+}
+
+/* SIGCHLD handler. */
+static void sigchld_hdl(int sig, siginfo_t *t, void *data)
+{
+ log_info("Child %d died with code %d", t->si_pid, t->si_status);
+ /* Wait for a dead child. */
+ waitpid(t->si_pid, NULL, 0);
+}
+
+static int install_chld_handler(void) {
+ int r;
+ struct sigaction act;
+ zero(act);
+ act.sa_flags = SA_SIGINFO;
+ act.sa_sigaction = sigchld_hdl;
+
+ r = sigaction(SIGCHLD, &act, 0);
+ if (r < 0)
+ log_error("Failed to install SIGCHLD handler: %m");
+ return r;
+}
+
+static int help(void) {
+ printf("%s [OPTIONS...]\n\n"
+ "Listen on sockets and launch child on connection.\n\n"
+ "Options:\n"
+ " -l --listen=ADDR Listen for raw connections at ADDR\n"
+ " -a --accept Spawn separate child for each connection\n"
+ " -h --help Show this help and exit\n"
+ " --version Print version string and exit\n"
+ "\n"
+ "Note: file descriptors from sd_listen_fds() will be passed through.\n"
+ , program_invocation_short_name
+ );
+
+ return 0;
+}
+
+static int parse_argv(int argc, char *argv[]) {
+ enum {
+ ARG_VERSION = 0x100,
+ };
+
+ static const struct option options[] = {
+ { "help", no_argument, NULL, 'h' },
+ { "version", no_argument, NULL, ARG_VERSION },
+ { "listen", required_argument, NULL, 'l' },
+ { "accept", no_argument, NULL, 'a' },
+ { "environment", required_argument, NULL, 'E' },
+ { NULL, 0, NULL, 0 }
+ };
+
+ int c;
+
+ assert(argc >= 0);
+ assert(argv);
+
+ while ((c = getopt_long(argc, argv, "+hl:saE:", options, NULL)) >= 0)
+ switch(c) {
+ case 'h':
+ help();
+ return 0 /* done */;
+
+ case ARG_VERSION:
+ puts(PACKAGE_STRING);
+ puts(SYSTEMD_FEATURES);
+ return 0 /* done */;
+
+ case 'l': {
+ int r = strv_extend(&arg_listen, optarg);
+ if (r < 0)
+ return r;
+
+ break;
+ }
+
+ case 'a':
+ arg_accept = true;
+ break;
+
+ case 'E': {
+ int r = strv_extend(&arg_environ, optarg);
+ if (r < 0)
+ return r;
+
+ break;
+ }
+
+ case '?':
+ return -EINVAL;
+
+ default:
+ log_error("Unknown option code %c", c);
+ return -EINVAL;
+ }
+
+ if (optind == argc) {
+ log_error("Usage: %s [OPTION...] PROGRAM [OPTION...]",
+ program_invocation_short_name);
+ return -EINVAL;
+ }
+
+ arg_args = argv + optind;
+
+ return 1 /* work to do */;
+}
+
+int main(int argc, char **argv, char **envp) {
+ int r, n;
+ int epoll_fd = -1;
+
+ log_set_max_level(LOG_DEBUG);
+ log_show_color(true);
+ log_parse_environment();
+
+ r = parse_argv(argc, argv);
+ if (r <= 0)
+ return r == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
+
+ r = install_chld_handler();
+ if (r < 0)
+ return EXIT_FAILURE;
+
+ n = open_sockets(&epoll_fd, arg_accept);
+ if (n < 0)
+ return EXIT_FAILURE;
+
+ while (true) {
+ struct epoll_event event;
+
+ r = epoll_wait(epoll_fd, &event, 1, -1);
+ if (r < 0) {
+ if (errno == EINTR)
+ continue;
+
+ log_error("epoll_wait() failed: %m");
+ return EXIT_FAILURE;
+ }
+
+ log_info("Communication attempt on fd:%d", event.data.fd);
+ if (arg_accept) {
+ r = do_accept(argv[optind], argv + optind, envp,
+ event.data.fd);
+ if (r < 0)
+ return EXIT_FAILURE;
+ } else
+ break;
+ }
+
+ launch(argv[optind], argv + optind, envp, n);
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/analyze/systemd-analyze.c b/src/analyze/systemd-analyze.c
new file mode 100644
index 0000000000..bb86ec7da8
--- /dev/null
+++ b/src/analyze/systemd-analyze.c
@@ -0,0 +1,1270 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2010-2013 Lennart Poettering
+ Copyright 2013 Simon Peeters
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <locale.h>
+#include <sys/utsname.h>
+#include <fnmatch.h>
+
+#include "install.h"
+#include "log.h"
+#include "dbus-common.h"
+#include "build.h"
+#include "util.h"
+#include "strxcpyx.h"
+#include "fileio.h"
+#include "strv.h"
+#include "unit-name.h"
+#include "special.h"
+#include "hashmap.h"
+
+#define SCALE_X (0.1 / 1000.0) /* pixels per us */
+#define SCALE_Y 20.0
+
+#define compare(a, b) (((a) > (b))? 1 : (((b) > (a))? -1 : 0))
+
+#define svg(...) printf(__VA_ARGS__)
+
+#define svg_bar(class, x1, x2, y) \
+ svg(" <rect class=\"%s\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n", \
+ (class), \
+ SCALE_X * (x1), SCALE_Y * (y), \
+ SCALE_X * ((x2) - (x1)), SCALE_Y - 1.0)
+
+#define svg_text(b, x, y, format, ...) \
+ do { \
+ svg(" <text class=\"%s\" x=\"%.03f\" y=\"%.03f\">", (b) ? "left" : "right", SCALE_X * (x) + (b ? 5.0 : -5.0), SCALE_Y * (y) + 14.0); \
+ svg(format, ## __VA_ARGS__); \
+ svg("</text>\n"); \
+ } while(false)
+
+static UnitFileScope arg_scope = UNIT_FILE_SYSTEM;
+static enum dot {
+ DEP_ALL,
+ DEP_ORDER,
+ DEP_REQUIRE
+} arg_dot = DEP_ALL;
+static char** arg_dot_from_patterns = NULL;
+static char** arg_dot_to_patterns = NULL;
+
+usec_t arg_fuzz = 0;
+
+struct boot_times {
+ usec_t firmware_time;
+ usec_t loader_time;
+ usec_t kernel_time;
+ usec_t kernel_done_time;
+ usec_t initrd_time;
+ usec_t userspace_time;
+ usec_t finish_time;
+};
+struct unit_times {
+ char *name;
+ usec_t ixt;
+ usec_t iet;
+ usec_t axt;
+ usec_t aet;
+ usec_t time;
+};
+
+static int bus_get_uint64_property(DBusConnection *bus, const char *path, const char *interface, const char *property, uint64_t *val) {
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ DBusMessageIter iter, sub;
+ int r;
+
+ r = bus_method_call_with_reply(
+ bus,
+ "org.freedesktop.systemd1",
+ path,
+ "org.freedesktop.DBus.Properties",
+ "Get",
+ &reply,
+ NULL,
+ DBUS_TYPE_STRING, &interface,
+ DBUS_TYPE_STRING, &property,
+ DBUS_TYPE_INVALID);
+ if (r < 0)
+ return r;
+
+ if (!dbus_message_iter_init(reply, &iter) ||
+ dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) {
+ log_error("Failed to parse reply.");
+ return -EIO;
+ }
+
+ dbus_message_iter_recurse(&iter, &sub);
+
+ if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_UINT64) {
+ log_error("Failed to parse reply.");
+ return -EIO;
+ }
+
+ dbus_message_iter_get_basic(&sub, val);
+
+ return 0;
+}
+
+static int compare_unit_time(const void *a, const void *b) {
+ return compare(((struct unit_times *)b)->time,
+ ((struct unit_times *)a)->time);
+}
+
+static int compare_unit_start(const void *a, const void *b) {
+ return compare(((struct unit_times *)a)->ixt,
+ ((struct unit_times *)b)->ixt);
+}
+
+static int get_os_name(char **_n) {
+ char *n = NULL;
+ int r;
+
+ r = parse_env_file("/etc/os-release", NEWLINE, "PRETTY_NAME", &n, NULL);
+ if (r < 0)
+ return r;
+
+ if (!n)
+ return -ENOENT;
+
+ *_n = n;
+ return 0;
+}
+
+static void free_unit_times(struct unit_times *t, unsigned n) {
+ struct unit_times *p;
+
+ for (p = t; p < t + n; p++)
+ free(p->name);
+
+ free(t);
+}
+
+static int acquire_time_data(DBusConnection *bus, struct unit_times **out) {
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ DBusMessageIter iter, sub;
+ int r, c = 0, n_units = 0;
+ struct unit_times *unit_times = NULL;
+
+ r = bus_method_call_with_reply(
+ bus,
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "ListUnits",
+ &reply,
+ NULL,
+ DBUS_TYPE_INVALID);
+ if (r < 0)
+ goto fail;
+
+ if (!dbus_message_iter_init(reply, &iter) ||
+ dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
+ dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_STRUCT) {
+ log_error("Failed to parse reply.");
+ r = -EIO;
+ goto fail;
+ }
+
+ for (dbus_message_iter_recurse(&iter, &sub);
+ dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID;
+ dbus_message_iter_next(&sub)) {
+ struct unit_info u;
+ struct unit_times *t;
+
+ if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT) {
+ log_error("Failed to parse reply.");
+ r = -EIO;
+ goto fail;
+ }
+
+ if (c >= n_units) {
+ struct unit_times *w;
+
+ n_units = MAX(2*c, 16);
+ w = realloc(unit_times, sizeof(struct unit_times) * n_units);
+
+ if (!w) {
+ r = log_oom();
+ goto fail;
+ }
+
+ unit_times = w;
+ }
+ t = unit_times+c;
+ t->name = NULL;
+
+ r = bus_parse_unit_info(&sub, &u);
+ if (r < 0)
+ goto fail;
+
+ assert_cc(sizeof(usec_t) == sizeof(uint64_t));
+
+ if (bus_get_uint64_property(bus, u.unit_path,
+ "org.freedesktop.systemd1.Unit",
+ "InactiveExitTimestampMonotonic",
+ &t->ixt) < 0 ||
+ bus_get_uint64_property(bus, u.unit_path,
+ "org.freedesktop.systemd1.Unit",
+ "ActiveEnterTimestampMonotonic",
+ &t->aet) < 0 ||
+ bus_get_uint64_property(bus, u.unit_path,
+ "org.freedesktop.systemd1.Unit",
+ "ActiveExitTimestampMonotonic",
+ &t->axt) < 0 ||
+ bus_get_uint64_property(bus, u.unit_path,
+ "org.freedesktop.systemd1.Unit",
+ "InactiveEnterTimestampMonotonic",
+ &t->iet) < 0) {
+ r = -EIO;
+ goto fail;
+ }
+
+ if (t->aet >= t->ixt)
+ t->time = t->aet - t->ixt;
+ else if (t->iet >= t->ixt)
+ t->time = t->iet - t->ixt;
+ else
+ t->time = 0;
+
+ if (t->ixt == 0)
+ continue;
+
+ t->name = strdup(u.id);
+ if (t->name == NULL) {
+ r = log_oom();
+ goto fail;
+ }
+ c++;
+ }
+
+ *out = unit_times;
+ return c;
+
+fail:
+ free_unit_times(unit_times, (unsigned) c);
+ return r;
+}
+
+static int acquire_boot_times(DBusConnection *bus, struct boot_times **bt) {
+ static struct boot_times times;
+ static bool cached = false;
+
+ if (cached)
+ goto finish;
+
+ assert_cc(sizeof(usec_t) == sizeof(uint64_t));
+
+ if (bus_get_uint64_property(bus,
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "FirmwareTimestampMonotonic",
+ &times.firmware_time) < 0 ||
+ bus_get_uint64_property(bus,
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "LoaderTimestampMonotonic",
+ &times.loader_time) < 0 ||
+ bus_get_uint64_property(bus,
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "KernelTimestamp",
+ &times.kernel_time) < 0 ||
+ bus_get_uint64_property(bus,
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "InitRDTimestampMonotonic",
+ &times.initrd_time) < 0 ||
+ bus_get_uint64_property(bus,
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "UserspaceTimestampMonotonic",
+ &times.userspace_time) < 0 ||
+ bus_get_uint64_property(bus,
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "FinishTimestampMonotonic",
+ &times.finish_time) < 0)
+ return -EIO;
+
+ if (times.finish_time <= 0) {
+ log_error("Bootup is not yet finished. Please try again later.");
+ return -EAGAIN;
+ }
+
+ if (times.initrd_time)
+ times.kernel_done_time = times.initrd_time;
+ else
+ times.kernel_done_time = times.userspace_time;
+
+ cached = true;
+
+finish:
+ *bt = &times;
+ return 0;
+}
+
+static int pretty_boot_time(DBusConnection *bus, char **_buf) {
+ char ts[FORMAT_TIMESPAN_MAX];
+ struct boot_times *t;
+ static char buf[4096];
+ size_t size;
+ char *ptr;
+ int r;
+
+ r = acquire_boot_times(bus, &t);
+ if (r < 0)
+ return r;
+
+ ptr = buf;
+ size = sizeof(buf);
+
+ size = strpcpyf(&ptr, size, "Startup finished in ");
+ if (t->firmware_time)
+ size = strpcpyf(&ptr, size, "%s (firmware) + ", format_timespan(ts, sizeof(ts), t->firmware_time - t->loader_time, USEC_PER_MSEC));
+ if (t->loader_time)
+ size = strpcpyf(&ptr, size, "%s (loader) + ", format_timespan(ts, sizeof(ts), t->loader_time, USEC_PER_MSEC));
+ if (t->kernel_time)
+ size = strpcpyf(&ptr, size, "%s (kernel) + ", format_timespan(ts, sizeof(ts), t->kernel_done_time, USEC_PER_MSEC));
+ if (t->initrd_time > 0)
+ size = strpcpyf(&ptr, size, "%s (initrd) + ", format_timespan(ts, sizeof(ts), t->userspace_time - t->initrd_time, USEC_PER_MSEC));
+
+ size = strpcpyf(&ptr, size, "%s (userspace) ", format_timespan(ts, sizeof(ts), t->finish_time - t->userspace_time, USEC_PER_MSEC));
+ if (t->kernel_time > 0)
+ size = strpcpyf(&ptr, size, "= %s", format_timespan(ts, sizeof(ts), t->firmware_time + t->finish_time, USEC_PER_MSEC));
+ else
+ size = strpcpyf(&ptr, size, "= %s", format_timespan(ts, sizeof(ts), t->finish_time - t->userspace_time, USEC_PER_MSEC));
+
+ ptr = strdup(buf);
+ if (!ptr)
+ return log_oom();
+
+ *_buf = ptr;
+ return 0;
+}
+
+static void svg_graph_box(double height, double begin, double end) {
+ long long i;
+
+ /* outside box, fill */
+ svg("<rect class=\"box\" x=\"0\" y=\"0\" width=\"%.03f\" height=\"%.03f\" />\n",
+ SCALE_X * (end - begin), SCALE_Y * height);
+
+ for (i = ((long long) (begin / 100000)) * 100000; i <= end; i+=100000) {
+ /* lines for each second */
+ if (i % 5000000 == 0)
+ svg(" <line class=\"sec5\" x1=\"%.03f\" y1=\"0\" x2=\"%.03f\" y2=\"%.03f\" />\n"
+ " <text class=\"sec\" x=\"%.03f\" y=\"%.03f\" >%.01fs</text>\n",
+ SCALE_X * i, SCALE_X * i, SCALE_Y * height, SCALE_X * i, -5.0, 0.000001 * i);
+ else if (i % 1000000 == 0)
+ svg(" <line class=\"sec1\" x1=\"%.03f\" y1=\"0\" x2=\"%.03f\" y2=\"%.03f\" />\n"
+ " <text class=\"sec\" x=\"%.03f\" y=\"%.03f\" >%.01fs</text>\n",
+ SCALE_X * i, SCALE_X * i, SCALE_Y * height, SCALE_X * i, -5.0, 0.000001 * i);
+ else
+ svg(" <line class=\"sec01\" x1=\"%.03f\" y1=\"0\" x2=\"%.03f\" y2=\"%.03f\" />\n",
+ SCALE_X * i, SCALE_X * i, SCALE_Y * height);
+ }
+}
+
+static int analyze_plot(DBusConnection *bus) {
+ struct unit_times *times;
+ struct boot_times *boot;
+ struct utsname name;
+ int n, m = 1, y=0;
+ double width;
+ _cleanup_free_ char *pretty_times = NULL, *osname = NULL;
+ struct unit_times *u;
+
+ n = acquire_boot_times(bus, &boot);
+ if (n < 0)
+ return n;
+
+ n = pretty_boot_time(bus, &pretty_times);
+ if (n < 0)
+ return n;
+
+ get_os_name(&osname);
+ assert_se(uname(&name) >= 0);
+
+ n = acquire_time_data(bus, &times);
+ if (n <= 0)
+ return n;
+
+ qsort(times, n, sizeof(struct unit_times), compare_unit_start);
+
+ width = SCALE_X * (boot->firmware_time + boot->finish_time);
+ if (width < 800.0)
+ width = 800.0;
+
+ if (boot->firmware_time > boot->loader_time)
+ m++;
+ if (boot->loader_time) {
+ m++;
+ if (width < 1000.0)
+ width = 1000.0;
+ }
+ if (boot->initrd_time)
+ m++;
+ if (boot->kernel_time)
+ m++;
+
+ for (u = times; u < times + n; u++) {
+ double len;
+
+ if (u->ixt < boot->userspace_time ||
+ u->ixt > boot->finish_time) {
+ free(u->name);
+ u->name = NULL;
+ continue;
+ }
+ len = ((boot->firmware_time + u->ixt) * SCALE_X)
+ + (10.0 * strlen(u->name));
+ if (len > width)
+ width = len;
+
+ if (u->iet > u->ixt && u->iet <= boot->finish_time
+ && u->aet == 0 && u->axt == 0)
+ u->aet = u->axt = u->iet;
+ if (u->aet < u->ixt || u->aet > boot->finish_time)
+ u->aet = boot->finish_time;
+ if (u->axt < u->aet || u->aet > boot->finish_time)
+ u->axt = boot->finish_time;
+ if (u->iet < u->axt || u->iet > boot->finish_time)
+ u->iet = boot->finish_time;
+ m++;
+ }
+
+ svg("<?xml version=\"1.0\" standalone=\"no\"?>\n"
+ "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" "
+ "\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n");
+
+ svg("<svg width=\"%.0fpx\" height=\"%.0fpx\" version=\"1.1\" "
+ "xmlns=\"http://www.w3.org/2000/svg\">\n\n",
+ 80.0 + width, 150.0 + (m * SCALE_Y));
+
+ /* write some basic info as a comment, including some help */
+ svg("<!-- This file is a systemd-analyze SVG file. It is best rendered in a -->\n"
+ "<!-- browser such as Chrome, Chromium or Firefox. Other applications -->\n"
+ "<!-- that render these files properly but much slower are ImageMagick, -->\n"
+ "<!-- gimp, inkscape, etc. To display the files on your system, just -->\n"
+ "<!-- point your browser to this file. -->\n\n"
+ "<!-- This plot was generated by systemd-analyze version %-16.16s -->\n\n", VERSION);
+
+ /* style sheet */
+ svg("<defs>\n <style type=\"text/css\">\n <![CDATA[\n"
+ " rect { stroke-width: 1; stroke-opacity: 0; }\n"
+ " rect.activating { fill: rgb(255,0,0); fill-opacity: 0.7; }\n"
+ " rect.active { fill: rgb(200,150,150); fill-opacity: 0.7; }\n"
+ " rect.deactivating { fill: rgb(150,100,100); fill-opacity: 0.7; }\n"
+ " rect.kernel { fill: rgb(150,150,150); fill-opacity: 0.7; }\n"
+ " rect.initrd { fill: rgb(150,150,150); fill-opacity: 0.7; }\n"
+ " rect.firmware { fill: rgb(150,150,150); fill-opacity: 0.7; }\n"
+ " rect.loader { fill: rgb(150,150,150); fill-opacity: 0.7; }\n"
+ " rect.userspace { fill: rgb(150,150,150); fill-opacity: 0.7; }\n"
+ " rect.box { fill: rgb(240,240,240); stroke: rgb(192,192,192); }\n"
+ " line { stroke: rgb(64,64,64); stroke-width: 1; }\n"
+ "// line.sec1 { }\n"
+ " line.sec5 { stroke-width: 2; }\n"
+ " line.sec01 { stroke: rgb(224,224,224); stroke-width: 1; }\n"
+ " text { font-family: Verdana, Helvetica; font-size: 10; }\n"
+ " text.left { font-family: Verdana, Helvetica; font-size: 10; text-anchor: start; }\n"
+ " text.right { font-family: Verdana, Helvetica; font-size: 10; text-anchor: end; }\n"
+ " text.sec { font-size: 8; }\n"
+ " ]]>\n </style>\n</defs>\n\n");
+
+ svg("<text x=\"20\" y=\"50\">%s</text>", pretty_times);
+ svg("<text x=\"20\" y=\"30\">%s %s (%s %s) %s</text>",
+ isempty(osname) ? "Linux" : osname,
+ name.nodename, name.release, name.version, name.machine);
+ svg("<text x=\"20\" y=\"%.0f\">Legend: Red = Activating; Pink = Active; Dark Pink = Deactivating</text>",
+ 120.0 + (m *SCALE_Y));
+
+ svg("<g transform=\"translate(%.3f,100)\">\n", 20.0 + (SCALE_X * boot->firmware_time));
+ svg_graph_box(m, -boot->firmware_time, boot->finish_time);
+
+ if (boot->firmware_time) {
+ svg_bar("firmware", -(double) boot->firmware_time, -(double) boot->loader_time, y);
+ svg_text(true, -(double) boot->firmware_time, y, "firmware");
+ y++;
+ }
+ if (boot->loader_time) {
+ svg_bar("loader", -(double) boot->loader_time, 0, y);
+ svg_text(true, -(double) boot->loader_time, y, "loader");
+ y++;
+ }
+ if (boot->kernel_time) {
+ svg_bar("kernel", 0, boot->kernel_done_time, y);
+ svg_text(true, 0, y, "kernel");
+ y++;
+ }
+ if (boot->initrd_time) {
+ svg_bar("initrd", boot->initrd_time, boot->userspace_time, y);
+ svg_text(true, boot->initrd_time, y, "initrd");
+ y++;
+ }
+ svg_bar("userspace", boot->userspace_time, boot->finish_time, y);
+ svg_text("left", boot->userspace_time, y, "userspace");
+ y++;
+
+ for (u = times; u < times + n; u++) {
+ char ts[FORMAT_TIMESPAN_MAX];
+ bool b;
+
+ if (!u->name)
+ continue;
+
+ svg_bar("activating", u->ixt, u->aet, y);
+ svg_bar("active", u->aet, u->axt, y);
+ svg_bar("deactivating", u->axt, u->iet, y);
+
+ b = u->ixt * SCALE_X > width * 2 / 3;
+ if (u->time)
+ svg_text(b, u->ixt, y, "%s (%s)",
+ u->name, format_timespan(ts, sizeof(ts), u->time, USEC_PER_MSEC));
+ else
+ svg_text(b, u->ixt, y, "%s", u->name);
+ y++;
+ }
+ svg("</g>\n\n");
+
+ svg("</svg>");
+
+ free_unit_times(times, (unsigned) n);
+
+ return 0;
+}
+
+
+static int list_dependencies_print(const char *name, unsigned int level, unsigned int branches,
+ bool last, struct unit_times *times, struct boot_times *boot) {
+ unsigned int i;
+ char ts[FORMAT_TIMESPAN_MAX], ts2[FORMAT_TIMESPAN_MAX];
+
+ for (i = level; i != 0; i--)
+ printf("%s", draw_special_char(branches & (1 << (i-1)) ? DRAW_TREE_VERT : DRAW_TREE_SPACE));
+
+ printf("%s", draw_special_char(last ? DRAW_TREE_RIGHT : DRAW_TREE_BRANCH));
+
+ if (times) {
+ if (times->time)
+ printf("%s%s @%s +%s%s", ANSI_HIGHLIGHT_RED_ON, name,
+ format_timespan(ts, sizeof(ts), times->ixt - boot->userspace_time, USEC_PER_MSEC),
+ format_timespan(ts2, sizeof(ts2), times->time, USEC_PER_MSEC), ANSI_HIGHLIGHT_OFF);
+ else if (times->aet > boot->userspace_time)
+ printf("%s @%s", name, format_timespan(ts, sizeof(ts), times->aet - boot->userspace_time, USEC_PER_MSEC));
+ else
+ printf("%s", name);
+ } else printf("%s", name);
+ printf("\n");
+
+ return 0;
+}
+
+static int list_dependencies_get_dependencies(DBusConnection *bus, const char *name, char ***deps) {
+ static const char dependencies[] =
+ "After\0";
+
+ _cleanup_free_ char *path;
+ const char *interface = "org.freedesktop.systemd1.Unit";
+
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ DBusMessageIter iter, sub, sub2, sub3;
+
+ int r = 0;
+ char **ret = NULL;
+
+ assert(bus);
+ assert(name);
+ assert(deps);
+
+ path = unit_dbus_path_from_name(name);
+ if (path == NULL) {
+ r = -EINVAL;
+ goto finish;
+ }
+
+ r = bus_method_call_with_reply(
+ bus,
+ "org.freedesktop.systemd1",
+ path,
+ "org.freedesktop.DBus.Properties",
+ "GetAll",
+ &reply,
+ NULL,
+ DBUS_TYPE_STRING, &interface,
+ DBUS_TYPE_INVALID);
+ if (r < 0)
+ goto finish;
+
+ if (!dbus_message_iter_init(reply, &iter) ||
+ dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
+ dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_DICT_ENTRY) {
+ log_error("Failed to parse reply.");
+ r = -EIO;
+ goto finish;
+ }
+
+ dbus_message_iter_recurse(&iter, &sub);
+
+ while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
+ const char *prop;
+
+ assert(dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_DICT_ENTRY);
+ dbus_message_iter_recurse(&sub, &sub2);
+
+ if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &prop, true) < 0) {
+ log_error("Failed to parse reply.");
+ r = -EIO;
+ goto finish;
+ }
+
+ if (dbus_message_iter_get_arg_type(&sub2) != DBUS_TYPE_VARIANT) {
+ log_error("Failed to parse reply.");
+ r = -EIO;
+ goto finish;
+ }
+
+ dbus_message_iter_recurse(&sub2, &sub3);
+ dbus_message_iter_next(&sub);
+
+ if (!nulstr_contains(dependencies, prop))
+ continue;
+
+ if (dbus_message_iter_get_arg_type(&sub3) == DBUS_TYPE_ARRAY) {
+ if (dbus_message_iter_get_element_type(&sub3) == DBUS_TYPE_STRING) {
+ DBusMessageIter sub4;
+ dbus_message_iter_recurse(&sub3, &sub4);
+
+ while (dbus_message_iter_get_arg_type(&sub4) != DBUS_TYPE_INVALID) {
+ const char *s;
+
+ assert(dbus_message_iter_get_arg_type(&sub4) == DBUS_TYPE_STRING);
+ dbus_message_iter_get_basic(&sub4, &s);
+
+ r = strv_extend(&ret, s);
+ if (r < 0) {
+ log_oom();
+ goto finish;
+ }
+
+ dbus_message_iter_next(&sub4);
+ }
+ }
+ }
+ }
+finish:
+ if (r < 0)
+ strv_free(ret);
+ else
+ *deps = ret;
+ return r;
+}
+
+static Hashmap *unit_times_hashmap;
+
+static int list_dependencies_compare(const void *_a, const void *_b) {
+ const char **a = (const char**) _a, **b = (const char**) _b;
+ usec_t usa = 0, usb = 0;
+ struct unit_times *times;
+
+ times = hashmap_get(unit_times_hashmap, *a);
+ if (times)
+ usa = times->aet;
+ times = hashmap_get(unit_times_hashmap, *b);
+ if (times)
+ usb = times->aet;
+
+ return usb - usa;
+}
+
+static int list_dependencies_one(DBusConnection *bus, const char *name, unsigned int level, char ***units,
+ unsigned int branches) {
+ _cleanup_strv_free_ char **deps = NULL;
+ char **c;
+ int r = 0;
+ usec_t service_longest = 0;
+ int to_print = 0;
+ struct unit_times *times;
+ struct boot_times *boot;
+
+ if(strv_extend(units, name))
+ return log_oom();
+
+ r = list_dependencies_get_dependencies(bus, name, &deps);
+ if (r < 0)
+ return r;
+
+ qsort(deps, strv_length(deps), sizeof (char*), list_dependencies_compare);
+
+ r = acquire_boot_times(bus, &boot);
+ if (r < 0)
+ return r;
+
+ STRV_FOREACH(c, deps) {
+ times = hashmap_get(unit_times_hashmap, *c);
+ if (times
+ && times->aet
+ && times->aet <= boot->finish_time
+ && (times->aet >= service_longest
+ || service_longest == 0)) {
+ service_longest = times->aet;
+ break;
+ }
+ }
+
+ if (service_longest == 0 )
+ return r;
+
+ STRV_FOREACH(c, deps) {
+ times = hashmap_get(unit_times_hashmap, *c);
+ if (times && times->aet
+ && times->aet <= boot->finish_time
+ && (service_longest - times->aet) <= arg_fuzz) {
+ to_print++;
+ }
+ }
+
+ if(!to_print)
+ return r;
+
+ STRV_FOREACH(c, deps) {
+ times = hashmap_get(unit_times_hashmap, *c);
+ if (!times
+ || !times->aet
+ || times->aet > boot->finish_time
+ || service_longest - times->aet > arg_fuzz)
+ continue;
+
+ to_print--;
+
+ r = list_dependencies_print(*c, level, branches, to_print == 0, times, boot);
+ if (r < 0)
+ return r;
+
+ if (strv_contains(*units, *c)) {
+ r = list_dependencies_print("...", level + 1, (branches << 1) | (to_print ? 1 : 0),
+ true, NULL, boot);
+ continue;
+ }
+
+ r = list_dependencies_one(bus, *c, level + 1, units,
+ (branches << 1) | (to_print ? 1 : 0));
+ if(r < 0)
+ return r;
+
+
+ if(!to_print)
+ break;
+
+ }
+ return 0;
+}
+
+static int list_dependencies(DBusConnection *bus) {
+ _cleanup_strv_free_ char **units = NULL;
+ char ts[FORMAT_TIMESPAN_MAX];
+ struct unit_times *times;
+ int r;
+ const char
+ *path, *id,
+ *interface = "org.freedesktop.systemd1.Unit",
+ *property = "Id";
+ DBusMessageIter iter, sub;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ struct boot_times *boot;
+
+ assert(bus);
+
+ path = unit_dbus_path_from_name(SPECIAL_DEFAULT_TARGET);
+ if (path == NULL)
+ return -EINVAL;
+
+ r = bus_method_call_with_reply (
+ bus,
+ "org.freedesktop.systemd1",
+ path,
+ "org.freedesktop.DBus.Properties",
+ "Get",
+ &reply,
+ NULL,
+ DBUS_TYPE_STRING, &interface,
+ DBUS_TYPE_STRING, &property,
+ DBUS_TYPE_INVALID);
+ if (r < 0)
+ return r;
+
+ if (!dbus_message_iter_init(reply, &iter) ||
+ dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) {
+ log_error("Failed to parse reply.");
+ return -EIO;
+ }
+
+ dbus_message_iter_recurse(&iter, &sub);
+
+ if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRING) {
+ log_error("Failed to parse reply.");
+ return -EIO;
+ }
+
+ dbus_message_iter_get_basic(&sub, &id);
+
+ times = hashmap_get(unit_times_hashmap, id);
+
+ r = acquire_boot_times(bus, &boot);
+ if (r < 0)
+ return r;
+
+ if (times) {
+ if (times->time)
+ printf("%s%s +%s%s\n", ANSI_HIGHLIGHT_RED_ON, id,
+ format_timespan(ts, sizeof(ts), times->time, USEC_PER_MSEC), ANSI_HIGHLIGHT_OFF);
+ else if (times->aet > boot->userspace_time)
+ printf("%s @%s\n", id, format_timespan(ts, sizeof(ts), times->aet - boot->userspace_time, USEC_PER_MSEC));
+ else
+ printf("%s\n", id);
+ }
+
+ return list_dependencies_one(bus, SPECIAL_DEFAULT_TARGET, 0, &units, 0);
+}
+
+static int analyze_critical_chain(DBusConnection *bus) {
+ struct unit_times *times;
+ int n, r;
+ unsigned int i;
+ Hashmap *h;
+
+ n = acquire_time_data(bus, &times);
+ if (n <= 0)
+ return n;
+
+ h = hashmap_new(string_hash_func, string_compare_func);
+ if (!h)
+ return -ENOMEM;
+
+ for (i = 0; i < (unsigned)n; i++) {
+ r = hashmap_put(h, times[i].name, &times[i]);
+ if (r < 0)
+ return r;
+ }
+ unit_times_hashmap = h;
+
+ puts("The time after the unit is active or started is printed after the \"@\" character.\n"
+ "The time the unit takes to start is printed after the \"+\" character.\n");
+
+ list_dependencies(bus);
+
+ hashmap_free(h);
+ free_unit_times(times, (unsigned) n);
+ return 0;
+}
+
+static int analyze_blame(DBusConnection *bus) {
+ struct unit_times *times;
+ unsigned i;
+ int n;
+
+ n = acquire_time_data(bus, &times);
+ if (n <= 0)
+ return n;
+
+ qsort(times, n, sizeof(struct unit_times), compare_unit_time);
+
+ for (i = 0; i < (unsigned) n; i++) {
+ char ts[FORMAT_TIMESPAN_MAX];
+
+ if (times[i].time > 0)
+ printf("%16s %s\n", format_timespan(ts, sizeof(ts), times[i].time, USEC_PER_MSEC), times[i].name);
+ }
+
+ free_unit_times(times, (unsigned) n);
+ return 0;
+}
+
+static int analyze_time(DBusConnection *bus) {
+ _cleanup_free_ char *buf = NULL;
+ int r;
+
+ r = pretty_boot_time(bus, &buf);
+ if (r < 0)
+ return r;
+
+ puts(buf);
+ return 0;
+}
+
+static int graph_one_property(const char *name, const char *prop, DBusMessageIter *iter, char* patterns[]) {
+
+ static const char * const colors[] = {
+ "Requires", "[color=\"black\"]",
+ "RequiresOverridable", "[color=\"black\"]",
+ "Requisite", "[color=\"darkblue\"]",
+ "RequisiteOverridable", "[color=\"darkblue\"]",
+ "Wants", "[color=\"grey66\"]",
+ "Conflicts", "[color=\"red\"]",
+ "ConflictedBy", "[color=\"red\"]",
+ "After", "[color=\"green\"]"
+ };
+
+ const char *c = NULL;
+ unsigned i;
+
+ assert(name);
+ assert(prop);
+ assert(iter);
+
+ for (i = 0; i < ELEMENTSOF(colors); i += 2)
+ if (streq(colors[i], prop)) {
+ c = colors[i+1];
+ break;
+ }
+
+ if (!c)
+ return 0;
+
+ if (arg_dot != DEP_ALL)
+ if ((arg_dot == DEP_ORDER) != streq(prop, "After"))
+ return 0;
+
+ if (dbus_message_iter_get_arg_type(iter) == DBUS_TYPE_ARRAY &&
+ dbus_message_iter_get_element_type(iter) == DBUS_TYPE_STRING) {
+ DBusMessageIter sub;
+
+ dbus_message_iter_recurse(iter, &sub);
+
+ for (dbus_message_iter_recurse(iter, &sub);
+ dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID;
+ dbus_message_iter_next(&sub)) {
+ const char *s;
+ char **p;
+ bool match_found;
+
+ assert(dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_STRING);
+ dbus_message_iter_get_basic(&sub, &s);
+
+ if (!strv_isempty(arg_dot_from_patterns)) {
+ match_found = false;
+
+ STRV_FOREACH(p, arg_dot_from_patterns)
+ if (fnmatch(*p, name, 0) == 0) {
+ match_found = true;
+ break;
+ }
+
+ if (!match_found)
+ continue;
+ }
+
+ if (!strv_isempty(arg_dot_to_patterns)) {
+ match_found = false;
+
+ STRV_FOREACH(p, arg_dot_to_patterns)
+ if (fnmatch(*p, s, 0) == 0) {
+ match_found = true;
+ break;
+ }
+
+ if (!match_found)
+ continue;
+ }
+
+ if (!strv_isempty(patterns)) {
+ match_found = false;
+
+ STRV_FOREACH(p, patterns)
+ if (fnmatch(*p, name, 0) == 0 || fnmatch(*p, s, 0) == 0) {
+ match_found = true;
+ break;
+ }
+ if (!match_found)
+ continue;
+ }
+
+ printf("\t\"%s\"->\"%s\" %s;\n", name, s, c);
+ }
+ }
+
+ return 0;
+}
+
+static int graph_one(DBusConnection *bus, const struct unit_info *u, char *patterns[]) {
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ const char *interface = "org.freedesktop.systemd1.Unit";
+ int r;
+ DBusMessageIter iter, sub, sub2, sub3;
+
+ assert(bus);
+ assert(u);
+
+ r = bus_method_call_with_reply(
+ bus,
+ "org.freedesktop.systemd1",
+ u->unit_path,
+ "org.freedesktop.DBus.Properties",
+ "GetAll",
+ &reply,
+ NULL,
+ DBUS_TYPE_STRING, &interface,
+ DBUS_TYPE_INVALID);
+ if (r < 0)
+ return r;
+
+ if (!dbus_message_iter_init(reply, &iter) ||
+ dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
+ dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_DICT_ENTRY) {
+ log_error("Failed to parse reply.");
+ return -EIO;
+ }
+
+ for (dbus_message_iter_recurse(&iter, &sub);
+ dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID;
+ dbus_message_iter_next(&sub)) {
+ const char *prop;
+
+ assert(dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_DICT_ENTRY);
+ dbus_message_iter_recurse(&sub, &sub2);
+
+ if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &prop, true) < 0 ||
+ dbus_message_iter_get_arg_type(&sub2) != DBUS_TYPE_VARIANT) {
+ log_error("Failed to parse reply.");
+ return -EIO;
+ }
+
+ dbus_message_iter_recurse(&sub2, &sub3);
+ r = graph_one_property(u->id, prop, &sub3, patterns);
+ if (r < 0)
+ return r;
+ }
+
+ return 0;
+}
+
+static int dot(DBusConnection *bus, char* patterns[]) {
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ DBusMessageIter iter, sub;
+ int r;
+
+ r = bus_method_call_with_reply(
+ bus,
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "ListUnits",
+ &reply,
+ NULL,
+ DBUS_TYPE_INVALID);
+ if (r < 0)
+ return r;
+
+ if (!dbus_message_iter_init(reply, &iter) ||
+ dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
+ dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_STRUCT) {
+ log_error("Failed to parse reply.");
+ return -EIO;
+ }
+
+ printf("digraph systemd {\n");
+
+ for (dbus_message_iter_recurse(&iter, &sub);
+ dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID;
+ dbus_message_iter_next(&sub)) {
+ struct unit_info u;
+
+ r = bus_parse_unit_info(&sub, &u);
+ if (r < 0)
+ return -EIO;
+
+ r = graph_one(bus, &u, patterns);
+ if (r < 0)
+ return r;
+ }
+
+ printf("}\n");
+
+ log_info(" Color legend: black = Requires\n"
+ " dark blue = Requisite\n"
+ " dark grey = Wants\n"
+ " red = Conflicts\n"
+ " green = After\n");
+
+ if (on_tty())
+ log_notice("-- You probably want to process this output with graphviz' dot tool.\n"
+ "-- Try a shell pipeline like 'systemd-analyze dot | dot -Tsvg > systemd.svg'!\n");
+
+ return 0;
+}
+
+static void analyze_help(void)
+{
+ printf("%s [OPTIONS...] {COMMAND} ...\n\n"
+ "Process systemd profiling information\n\n"
+ " -h --help Show this help\n"
+ " --version Show package version\n"
+ " --system Connect to system manager\n"
+ " --user Connect to user service manager\n"
+ " --order When generating a dependency graph, show only order\n"
+ " --require When generating a dependency graph, show only requirement\n"
+ " --from-pattern=GLOB, --to-pattern=GLOB\n"
+ " When generating a dependency graph, filter only origins\n"
+ " or destinations, respectively\n"
+ " --fuzz=TIMESPAN When printing the tree of the critical chain, print also\n"
+ " services, which finished TIMESPAN earlier, than the\n"
+ " latest in the branch. The unit of TIMESPAN is seconds\n"
+ " unless specified with a different unit, i.e. 50ms\n\n"
+ "Commands:\n"
+ " time Print time spent in the kernel before reaching userspace\n"
+ " blame Print list of running units ordered by time to init\n"
+ " critical-chain Print a tree of the time critical chain of units\n"
+ " plot Output SVG graphic showing service initialization\n"
+ " dot Dump dependency graph (in dot(1) format)\n\n",
+ program_invocation_short_name);
+
+ /* When updating this list, including descriptions, apply
+ * changes to shell-completion/bash/systemd and
+ * shell-completion/systemd-zsh-completion.zsh too. */
+}
+
+static int parse_argv(int argc, char *argv[])
+{
+ int r;
+
+ enum {
+ ARG_VERSION = 0x100,
+ ARG_ORDER,
+ ARG_REQUIRE,
+ ARG_USER,
+ ARG_SYSTEM,
+ ARG_DOT_FROM_PATTERN,
+ ARG_DOT_TO_PATTERN,
+ ARG_FUZZ
+ };
+
+ static const struct option options[] = {
+ { "help", no_argument, NULL, 'h' },
+ { "version", no_argument, NULL, ARG_VERSION },
+ { "order", no_argument, NULL, ARG_ORDER },
+ { "require", no_argument, NULL, ARG_REQUIRE },
+ { "user", no_argument, NULL, ARG_USER },
+ { "system", no_argument, NULL, ARG_SYSTEM },
+ { "from-pattern", required_argument, NULL, ARG_DOT_FROM_PATTERN},
+ { "to-pattern", required_argument, NULL, ARG_DOT_TO_PATTERN },
+ { "fuzz", required_argument, NULL, ARG_FUZZ },
+ { NULL, 0, NULL, 0 }
+ };
+
+ assert(argc >= 0);
+ assert(argv);
+
+ for (;;) {
+ switch (getopt_long(argc, argv, "h", options, NULL)) {
+
+ case 'h':
+ analyze_help();
+ return 0;
+
+ case ARG_VERSION:
+ puts(PACKAGE_STRING "\n" SYSTEMD_FEATURES);
+ return 0;
+
+ case ARG_USER:
+ arg_scope = UNIT_FILE_USER;
+ break;
+
+ case ARG_SYSTEM:
+ arg_scope = UNIT_FILE_SYSTEM;
+ break;
+
+ case ARG_ORDER:
+ arg_dot = DEP_ORDER;
+ break;
+
+ case ARG_REQUIRE:
+ arg_dot = DEP_REQUIRE;
+ break;
+
+ case ARG_DOT_FROM_PATTERN:
+ if (strv_extend(&arg_dot_from_patterns, optarg) < 0)
+ return log_oom();
+
+ break;
+
+ case ARG_DOT_TO_PATTERN:
+ if (strv_extend(&arg_dot_to_patterns, optarg) < 0)
+ return log_oom();
+
+ break;
+
+ case ARG_FUZZ:
+ r = parse_sec(optarg, &arg_fuzz);
+ if (r < 0)
+ return r;
+ break;
+
+ case -1:
+ return 1;
+
+ case '?':
+ return -EINVAL;
+
+ default:
+ assert_not_reached("Unhandled option");
+ }
+ }
+}
+
+int main(int argc, char *argv[]) {
+ int r;
+ DBusConnection *bus = NULL;
+
+ setlocale(LC_ALL, "");
+ setlocale(LC_NUMERIC, "C"); /* we want to format/parse floats in C style */
+ log_parse_environment();
+ log_open();
+
+ r = parse_argv(argc, argv);
+ if (r < 0)
+ return EXIT_FAILURE;
+ else if (r <= 0)
+ return EXIT_SUCCESS;
+
+ bus = dbus_bus_get(arg_scope == UNIT_FILE_SYSTEM ? DBUS_BUS_SYSTEM : DBUS_BUS_SESSION, NULL);
+ if (!bus)
+ return EXIT_FAILURE;
+
+ if (!argv[optind] || streq(argv[optind], "time"))
+ r = analyze_time(bus);
+ else if (streq(argv[optind], "blame"))
+ r = analyze_blame(bus);
+ else if (streq(argv[optind], "critical-chain"))
+ r = analyze_critical_chain(bus);
+ else if (streq(argv[optind], "plot"))
+ r = analyze_plot(bus);
+ else if (streq(argv[optind], "dot"))
+ r = dot(bus, argv+optind+1);
+ else
+ log_error("Unknown operation '%s'.", argv[optind]);
+
+ strv_free(arg_dot_from_patterns);
+ strv_free(arg_dot_to_patterns);
+ dbus_connection_unref(bus);
+
+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
+}
diff --git a/src/analyze/systemd-analyze.in b/src/analyze/systemd-analyze.in
deleted file mode 100755
index bcced18c2c..0000000000
--- a/src/analyze/systemd-analyze.in
+++ /dev/null
@@ -1,328 +0,0 @@
-#!@PYTHON_BINARY@
-# -*-python-*-
-
-# This file is part of systemd.
-#
-# Copyright 2010-2013 Lennart Poettering
-#
-# systemd is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2.1 of the License, or
-# (at your option) any later version.
-#
-# systemd is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with systemd; If not, see <http://www.gnu.org/licenses/>.
-
-import sys, os
-import argparse
-from gi.repository import Gio
-try:
- import cairo
-except ImportError:
- cairo = None
-
-def acquire_time_data():
- manager = Gio.DBusProxy.new_for_bus_sync(bus, Gio.DBusProxyFlags.NONE,
- None, 'org.freedesktop.systemd1', '/org/freedesktop/systemd1', 'org.freedesktop.systemd1.Manager', None)
- units = manager.ListUnits()
-
- l = []
-
- for i in units:
- if i[5] != "":
- continue
-
- properties = Gio.DBusProxy.new_for_bus_sync(bus, Gio.DBusProxyFlags.NONE,
- None, 'org.freedesktop.systemd1', i[6], 'org.freedesktop.DBus.Properties', None)
-
- ixt = properties.Get('(ss)', 'org.freedesktop.systemd1.Unit', 'InactiveExitTimestampMonotonic')
- aet = properties.Get('(ss)', 'org.freedesktop.systemd1.Unit', 'ActiveEnterTimestampMonotonic')
- axt = properties.Get('(ss)', 'org.freedesktop.systemd1.Unit', 'ActiveExitTimestampMonotonic')
- iet = properties.Get('(ss)', 'org.freedesktop.systemd1.Unit', 'InactiveEnterTimestampMonotonic')
-
- l.append((str(i[0]), ixt, aet, axt, iet))
-
- return l
-
-def acquire_start_time():
- properties = Gio.DBusProxy.new_for_bus_sync(bus, Gio.DBusProxyFlags.NONE,
- None, 'org.freedesktop.systemd1', '/org/freedesktop/systemd1', 'org.freedesktop.DBus.Properties', None)
-
- # Note that the firmware/loader times are returned as positive
- # values but are actually considered negative from the point
- # in time of kernel initialization. Also, the monotonic kernel
- # time will always be 0 since that's the epoch of the
- # monotonic clock. Since we want to know whether the kernel
- # timestamp is set at all we will instead ask for the realtime
- # clock for this timestamp.
-
- firmware_time = properties.Get('(ss)', 'org.freedesktop.systemd1.Manager', 'FirmwareTimestampMonotonic')
- loader_time = properties.Get('(ss)', 'org.freedesktop.systemd1.Manager', 'LoaderTimestampMonotonic')
- kernel_time = properties.Get('(ss)', 'org.freedesktop.systemd1.Manager', 'KernelTimestamp')
- initrd_time = properties.Get('(ss)', 'org.freedesktop.systemd1.Manager', 'InitRDTimestampMonotonic')
- userspace_time = properties.Get('(ss)', 'org.freedesktop.systemd1.Manager', 'UserspaceTimestampMonotonic')
- finish_time = properties.Get('(ss)', 'org.freedesktop.systemd1.Manager', 'FinishTimestampMonotonic')
-
- if finish_time == 0:
- sys.exit("Bootup is not yet finished. Please try again later.")
-
- assert firmware_time >= loader_time
- assert initrd_time <= userspace_time
- assert userspace_time <= finish_time
-
- return firmware_time, loader_time, kernel_time, initrd_time, userspace_time, finish_time
-
-def draw_box(context, j, k, l, m, r = 0, g = 0, b = 0):
- context.save()
- context.set_source_rgb(r, g, b)
- context.rectangle(j, k, l, m)
- context.fill()
- context.restore()
-
-def draw_text(context, x, y, text, size = 12, r = 0, g = 0, b = 0, vcenter = 0.5, hcenter = 0.5):
- context.save()
-
- context.set_source_rgb(r, g, b)
- context.select_font_face("Sans", cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_NORMAL)
- context.set_font_size(size)
-
- if vcenter or hcenter:
- x_bearing, y_bearing, width, height = context.text_extents(text)[:4]
-
- if hcenter:
- x = x - width*hcenter - x_bearing
-
- if vcenter:
- y = y - height*vcenter - y_bearing
-
- context.move_to(x, y)
- context.show_text(text)
-
- context.restore()
-
-def time():
-
- firmware_time, loader_time, kernel_time, initrd_time, userspace_time, finish_time = acquire_start_time()
-
- sys.stdout.write("Startup finished in ")
-
- if firmware_time > 0:
- sys.stdout.write("%lums (firmware) + " % ((firmware_time - loader_time) / 1000))
- if loader_time > 0:
- sys.stdout.write("%lums (loader) + " % (loader_time / 1000))
- if initrd_time > 0:
- sys.stdout.write("%lums (kernel) + %lums (initrd) + " % (initrd_time / 1000, (userspace_time - initrd_time) / 1000))
- elif kernel_time > 0:
- sys.stdout.write("%lums (kernel) + " % (userspace_time / 1000))
-
- sys.stdout.write("%lums (userspace) " % ((finish_time - userspace_time) / 1000))
-
- if kernel_time > 0:
- sys.stdout.write("= %lums\n" % ((firmware_time + finish_time) / 1000))
- else:
- sys.stdout.write("= %lums\n" % ((finish_time - userspace_time) / 1000))
-
-def blame():
-
- data = acquire_time_data()
- s = sorted(data, key = lambda i: i[2] - i[1], reverse = True)
-
- for name, ixt, aet, axt, iet in s:
-
- if ixt <= 0 or aet <= 0:
- continue
-
- if aet <= ixt:
- continue
-
- sys.stdout.write("%6lums %s\n" % ((aet - ixt) / 1000, name))
-
-def plot():
- if cairo is None:
- sys.exit("Failed to initilize python-cairo required for 'plot' verb.")
- firmware_time, loader_time, kernel_time, initrd_time, userspace_time, finish_time = acquire_start_time()
- data = acquire_time_data()
- s = sorted(data, key = lambda i: i[1])
-
- # Account for kernel and initramfs bars if they exist
- if initrd_time > 0:
- count = 3
- else:
- count = 2
-
- for name, ixt, aet, axt, iet in s:
-
- if (ixt >= userspace_time and ixt <= finish_time) or \
- (aet >= userspace_time and aet <= finish_time) or \
- (axt >= userspace_time and axt <= finish_time):
- count += 1
-
- border = 100
- bar_height = 20
- bar_space = bar_height * 0.1
-
- # 1000px = 10s, 1px = 10ms
- width = finish_time/10000 + border*2
- height = count * (bar_height + bar_space) + border * 2
-
- if width < 1000:
- width = 1000
-
- surface = cairo.SVGSurface(sys.stdout, width, height)
- context = cairo.Context(surface)
-
- draw_box(context, 0, 0, width, height, 1, 1, 1)
-
- context.translate(border + 0.5, border + 0.5)
-
- context.save()
- context.set_line_width(1)
- context.set_source_rgb(0.7, 0.7, 0.7)
-
- for x in range(0, int(finish_time/10000) + 100, 100):
- context.move_to(x, 0)
- context.line_to(x, height-border*2)
-
- context.move_to(0, 0)
- context.line_to(width-border*2, 0)
-
- context.move_to(0, height-border*2)
- context.line_to(width-border*2, height-border*2)
-
- context.stroke()
- context.restore()
-
- osrel = "Linux"
- if os.path.exists("/etc/os-release"):
- for line in open("/etc/os-release"):
- if line.startswith('PRETTY_NAME='):
- osrel = line[12:]
- osrel = osrel.strip('\"\n')
- break
-
- banner = "{} {} ({} {}) {}".format(osrel, *(os.uname()[1:5]))
- draw_text(context, 0, -15, banner, hcenter = 0, vcenter = 1)
-
- for x in range(0, int(finish_time/10000) + 100, 100):
- draw_text(context, x, -5, "%lus" % (x/100), vcenter = 0, hcenter = 0)
-
- y = 0
-
- # draw boxes for kernel and initramfs boot time
- if initrd_time > 0:
- draw_box(context, 0, y, initrd_time/10000, bar_height, 0.7, 0.7, 0.7)
- draw_text(context, 10, y + bar_height/2, "kernel", hcenter = 0)
- y += bar_height + bar_space
-
- draw_box(context, initrd_time/10000, y, userspace_time/10000-initrd_time/10000, bar_height, 0.7, 0.7, 0.7)
- draw_text(context, initrd_time/10000 + 10, y + bar_height/2, "initramfs", hcenter = 0)
- y += bar_height + bar_space
-
- else:
- draw_box(context, 0, y, userspace_time/10000, bar_height, 0.6, 0.6, 0.6)
- draw_text(context, 10, y + bar_height/2, "kernel", hcenter = 0)
- y += bar_height + bar_space
-
- draw_box(context, userspace_time/10000, y, finish_time/10000-userspace_time/10000, bar_height, 0.7, 0.7, 0.7)
- draw_text(context, userspace_time/10000 + 10, y + bar_height/2, "userspace", hcenter = 0)
- y += bar_height + bar_space
-
- for name, ixt, aet, axt, iet in s:
-
- drawn = False
- left = -1
-
- if ixt >= userspace_time and ixt <= finish_time:
-
- # Activating
- a = ixt
- b = min(filter(lambda x: x >= ixt, (aet, axt, iet, finish_time))) - ixt
-
- draw_box(context, a/10000, y, b/10000, bar_height, 1, 0, 0)
- drawn = True
-
- if left < 0:
- left = a
-
- if aet >= userspace_time and aet <= finish_time:
-
- # Active
- a = aet
- b = min(filter(lambda x: x >= aet, (axt, iet, finish_time))) - aet
-
- draw_box(context, a/10000, y, b/10000, bar_height, .8, .6, .6)
- drawn = True
-
- if left < 0:
- left = a
-
- if axt >= userspace_time and axt <= finish_time:
-
- # Deactivating
- a = axt
- b = min(filter(lambda x: x >= axt, (iet, finish_time))) - axt
-
- draw_box(context, a/10000, y, b/10000, bar_height, .6, .4, .4)
- drawn = True
-
- if left < 0:
- left = a
-
- if drawn:
- x = left/10000
-
- if x < width/2-border:
- draw_text(context, x + 10, y + bar_height/2, name, hcenter = 0)
- else:
- draw_text(context, x - 10, y + bar_height/2, name, hcenter = 1)
-
- y += bar_height + bar_space
-
- draw_text(context, 0, height-border*2, "Legend: Red = Activating; Pink = Active; Dark Pink = Deactivating", hcenter = 0, vcenter = -1)
-
- if initrd_time > 0:
- draw_text(context, 0, height-border*2 + bar_height, "Startup finished in %lums (kernel) + %lums (initramfs) + %lums (userspace) = %lums" % ( \
- initrd_time/1000, \
- (userspace_time - initrd_time)/1000, \
- (finish_time - userspace_time)/1000, \
- finish_time/1000), hcenter = 0, vcenter = -1)
- else:
- draw_text(context, 0, height-border*2 + bar_height, "Startup finished in %lums (kernel) + %lums (userspace) = %lums" % ( \
- userspace_time/1000, \
- (finish_time - userspace_time)/1000, \
- finish_time/1000), hcenter = 0, vcenter = -1)
-
- surface.finish()
-
-parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter,
- version='systemd-analyze @PACKAGE_VERSION@',
- description='Process systemd profiling information',
- epilog='''\
-time - print time spent in the kernel before reaching userspace
-blame - print list of running units ordered by time to init
-plot - output SVG graphic showing service initialization
-''')
-
-parser.add_argument('action', choices=('time', 'blame', 'plot'),
- default='time', nargs='?',
- help='action to perform (default: time)')
-parser.add_argument('--user', action='store_true',
- help='use the session bus')
-
-args = parser.parse_args()
-
-if args.user:
- bus = Gio.BusType.SESSION
-else:
- bus = Gio.BusType.SYSTEM
-
-verb = {'time' : time,
- 'blame': blame,
- 'plot' : plot,
- }
-verb.get(args.action)()
diff --git a/src/ask-password/ask-password.c b/src/ask-password/ask-password.c
index 5f675700f8..238cf12080 100644
--- a/src/ask-password/ask-password.c
+++ b/src/ask-password/ask-password.c
@@ -102,7 +102,7 @@ static int parse_argv(int argc, char *argv[]) {
break;
case ARG_TIMEOUT:
- if (parse_usec(optarg, &arg_timeout) < 0) {
+ if (parse_sec(optarg, &arg_timeout) < 0) {
log_error("Failed to parse --timeout parameter %s", optarg);
return -EINVAL;
}
diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
index 788fd4b1a4..5a42b3dbef 100644
--- a/src/binfmt/binfmt.c
+++ b/src/binfmt/binfmt.c
@@ -26,35 +26,43 @@
#include <stdio.h>
#include <limits.h>
#include <stdarg.h>
+#include <getopt.h>
#include "log.h"
#include "hashmap.h"
#include "strv.h"
#include "util.h"
#include "conf-files.h"
+#include "fileio.h"
+
+static const char conf_file_dirs[] =
+ "/etc/binfmt.d\0"
+ "/run/binfmt.d\0"
+ "/usr/local/lib/binfmt.d\0"
+ "/usr/lib/binfmt.d\0"
+#ifdef HAVE_SPLIT_USR
+ "/lib/binfmt.d\0"
+#endif
+ ;
static int delete_rule(const char *rule) {
- char *x, *fn = NULL, *e;
- int r;
+ _cleanup_free_ char *x = NULL, *fn = NULL;
+ char *e;
assert(rule[0]);
- if (!(x = strdup(rule)))
+ x = strdup(rule);
+ if (!x)
return log_oom();
e = strchrnul(x+1, x[0]);
*e = 0;
- asprintf(&fn, "/proc/sys/fs/binfmt_misc/%s", x+1);
- free(x);
-
+ fn = strappend("/proc/sys/fs/binfmt_misc/", x+1);
if (!fn)
return log_oom();
- r = write_one_line_file(fn, "-1");
- free(fn);
-
- return r;
+ return write_string_file(fn, "-1");
}
static int apply_rule(const char *rule) {
@@ -62,7 +70,8 @@ static int apply_rule(const char *rule) {
delete_rule(rule);
- if ((r = write_one_line_file("/proc/sys/fs/binfmt_misc/register", rule)) < 0) {
+ r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule);
+ if (r < 0) {
log_error("Failed to add binary format: %s", strerror(-r));
return r;
}
@@ -71,21 +80,22 @@ static int apply_rule(const char *rule) {
}
static int apply_file(const char *path, bool ignore_enoent) {
- FILE *f;
- int r = 0;
+ _cleanup_fclose_ FILE *f = NULL;
+ int r;
assert(path);
- if (!(f = fopen(path, "re"))) {
- if (ignore_enoent && errno == ENOENT)
+ r = search_and_fopen_nulstr(path, "re", conf_file_dirs, &f);
+ if (r < 0) {
+ if (ignore_enoent && r == -ENOENT)
return 0;
- log_error("Failed to open file '%s', ignoring: %m", path);
- return -errno;
+ log_error("Failed to open file '%s', ignoring: %s", path, strerror(-r));
+ return r;
}
log_debug("apply: %s\n", path);
- while (!feof(f)) {
+ for (;;) {
char l[LINE_MAX], *p;
int k;
@@ -94,30 +104,71 @@ static int apply_file(const char *path, bool ignore_enoent) {
break;
log_error("Failed to read file '%s', ignoring: %m", path);
- r = -errno;
- goto finish;
+ return -errno;
}
p = strstrip(l);
-
if (!*p)
continue;
-
- if (strchr(COMMENTS, *p))
+ if (strchr(COMMENTS "\n", *p))
continue;
- if ((k = apply_rule(p)) < 0 && r == 0)
+ k = apply_rule(p);
+ if (k < 0 && r == 0)
r = k;
}
-finish:
- fclose(f);
-
return r;
}
+static int help(void) {
+
+ printf("%s [OPTIONS...] [CONFIGURATION FILE...]\n\n"
+ "Registers binary formats.\n\n"
+ " -h --help Show this help\n",
+ program_invocation_short_name);
+
+ return 0;
+}
+
+static int parse_argv(int argc, char *argv[]) {
+
+ static const struct option options[] = {
+ { "help", no_argument, NULL, 'h' },
+ { NULL, 0, NULL, 0 }
+ };
+
+ int c;
+
+ assert(argc >= 0);
+ assert(argv);
+
+ while ((c = getopt_long(argc, argv, "h", options, NULL)) >= 0) {
+
+ switch (c) {
+
+ case 'h':
+ help();
+ return 0;
+
+ case '?':
+ return -EINVAL;
+
+ default:
+ log_error("Unknown option code %c", c);
+ return -EINVAL;
+ }
+ }
+
+ return 1;
+}
+
int main(int argc, char *argv[]) {
- int r = 0;
+ int r, k;
+
+ r = parse_argv(argc, argv);
+ if (r <= 0)
+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
@@ -125,46 +176,36 @@ int main(int argc, char *argv[]) {
umask(0022);
- if (argc > 1) {
- int i;
+ r = 0;
- for (i = 1; i < argc; i++) {
- int k;
+ if (argc > optind) {
+ int i;
+ for (i = optind; i < argc; i++) {
k = apply_file(argv[i], false);
if (k < 0 && r == 0)
r = k;
}
} else {
- char **files, **f;
+ _cleanup_strv_free_ char **files = NULL;
+ char **f;
- r = conf_files_list(&files, ".conf",
- "/etc/binfmt.d",
- "/run/binfmt.d",
- "/usr/local/lib/binfmt.d",
- "/usr/lib/binfmt.d",
-#ifdef HAVE_SPLIT_USR
- "/lib/binfmt.d",
-#endif
- NULL);
+ r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs);
if (r < 0) {
log_error("Failed to enumerate binfmt.d files: %s", strerror(-r));
goto finish;
}
/* Flush out all rules */
- write_one_line_file("/proc/sys/fs/binfmt_misc/status", "-1");
+ write_string_file("/proc/sys/fs/binfmt_misc/status", "-1");
STRV_FOREACH(f, files) {
- int k;
-
k = apply_file(*f, true);
if (k < 0 && r == 0)
r = k;
}
-
- strv_free(files);
}
+
finish:
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}
diff --git a/src/boot/Makefile b/src/boot/Makefile
new file mode 120000
index 0000000000..d0b0e8e008
--- /dev/null
+++ b/src/boot/Makefile
@@ -0,0 +1 @@
+../Makefile \ No newline at end of file
diff --git a/src/boot/boot-efi.c b/src/boot/boot-efi.c
new file mode 100644
index 0000000000..9960c4d742
--- /dev/null
+++ b/src/boot/boot-efi.c
@@ -0,0 +1,190 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Kay Sievers
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdlib.h>
+#include <stdbool.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <locale.h>
+#include <string.h>
+#include <fnmatch.h>
+#include <fcntl.h>
+#include <sys/timex.h>
+
+#include "boot.h"
+#include "boot-loader.h"
+#include "build.h"
+#include "util.h"
+#include "strv.h"
+#include "efivars.h"
+#include "conf-files.h"
+
+static char *tilt_slashes(char *s) {
+ char *p;
+
+ if (!s)
+ return NULL;
+
+ for (p = s; *p; p++)
+ if (*p == '\\')
+ *p = '/';
+ return s;
+}
+
+static int get_boot_entries(struct boot_info *info) {
+ uint16_t *list;
+ int i, n;
+ int err = 0;
+
+ n = efi_get_boot_options(&list);
+ if (n < 0)
+ return n;
+
+ for (i = 0; i < n; i++) {
+ struct boot_info_entry *e;
+
+ e = realloc(info->fw_entries, (info->fw_entries_count+1) * sizeof(struct boot_info_entry));
+ if (!e) {
+ err = -ENOMEM;
+ break;
+ }
+ info->fw_entries = e;
+
+ e = &info->fw_entries[info->fw_entries_count];
+ memset(e, 0, sizeof(struct boot_info_entry));
+ e->order = -1;
+
+ err = efi_get_boot_option(list[i], &e->title, &e->part_uuid, &e->path);
+ if (err < 0)
+ continue;
+
+ if (isempty(e->title)) {
+ free(e->title);
+ e->title = NULL;
+ }
+ tilt_slashes(e->path);
+
+ e->id = list[i];
+ info->fw_entries_count++;
+ }
+
+ free(list);
+ return err;
+}
+
+static int find_active_entry(struct boot_info *info) {
+ uint16_t boot_cur;
+ void *buf;
+ size_t l;
+ size_t i;
+ int err = -ENOENT;
+
+ err = efi_get_variable(EFI_VENDOR_GLOBAL, "BootCurrent", NULL, &buf, &l);
+ if (err < 0)
+ return err;
+
+ memcpy(&boot_cur, buf, sizeof(uint16_t));
+ for (i = 0; i < info->fw_entries_count; i++) {
+ if (info->fw_entries[i].id != boot_cur)
+ continue;
+ info->fw_entry_active = i;
+ err = 0;
+ break;
+ }
+ free(buf);
+ return err;
+}
+
+static int get_boot_order(struct boot_info *info) {
+ size_t i, k;
+ int r;
+
+ r = efi_get_boot_order(&info->fw_entries_order);
+ if (r < 0)
+ return r;
+
+ info->fw_entries_order_count = r;
+
+ for (i = 0; i < info->fw_entries_order_count; i++) {
+ for (k = 0; k < info->fw_entries_count; k++) {
+ if (info->fw_entries[k].id != info->fw_entries_order[i])
+ continue;
+ info->fw_entries[k].order = i;
+ break;
+ }
+ }
+
+ return 0;
+}
+
+static int entry_cmp(const void *a, const void *b) {
+ const struct boot_info_entry *e1 = a;
+ const struct boot_info_entry *e2 = b;
+
+ /* boot order of active entries */
+ if (e1->order > 0 && e2->order > 0)
+ return e1->order - e2->order;
+
+ /* sort active entries before inactive ones */
+ if (e1->order > 0)
+ return 1;
+ if (e2->order > 0)
+ return -1;
+
+ /* order of inactive entries */
+ return e1->id - e2->id;
+}
+
+int boot_info_query(struct boot_info *info) {
+ char str[64];
+ char buf[64];
+ char *loader_active = NULL;
+
+ info->fw_secure_boot = is_efi_secure_boot();
+ info->fw_secure_boot_setup_mode = is_efi_secure_boot_setup_mode();
+
+ efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderInfo", &info->loader);
+
+ get_boot_entries(info);
+ if (info->fw_entries_count > 0) {
+ get_boot_order(info);
+ qsort(info->fw_entries, info->fw_entries_count, sizeof(struct boot_info_entry), entry_cmp);
+ find_active_entry(info);
+ }
+
+ efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderFirmwareType", &info->fw_type);
+ efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderFirmwareInfo", &info->fw_info);
+ efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderImageIdentifier", &info->loader_image_path);
+ tilt_slashes(info->loader_image_path);
+ efi_get_loader_device_part_uuid(&info->loader_part_uuid);
+
+ boot_loader_read_entries(info);
+ efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderEntrySelected", &loader_active);
+ if (loader_active) {
+ boot_loader_find_active_entry(info, loader_active);
+ free(loader_active);
+ }
+
+ snprintf(str, sizeof(str), "LoaderEntryOptions-%s", sd_id128_to_string(info->machine_id, buf));
+ efi_get_variable_string(EFI_VENDOR_LOADER, str, &info->loader_options_added);
+
+ return 0;
+}
diff --git a/src/boot/boot-loader.c b/src/boot/boot-loader.c
new file mode 100644
index 0000000000..d44fdb3aef
--- /dev/null
+++ b/src/boot/boot-loader.c
@@ -0,0 +1,132 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Kay Sievers
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdlib.h>
+#include <stdbool.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <locale.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/timex.h>
+
+#include "boot.h"
+#include "boot-loader.h"
+#include "build.h"
+#include "util.h"
+#include "strv.h"
+#include "conf-files.h"
+
+static char *loader_fragment_read_title(const char *fragment) {
+ FILE *f;
+ char line[LINE_MAX];
+ char *title = NULL;
+
+ f = fopen(fragment, "re");
+ if (!f)
+ return NULL;
+
+ while (fgets(line, sizeof(line), f) != NULL) {
+ char *s;
+ size_t l;
+
+ l = strlen(line);
+ if (l < 1)
+ continue;
+ if (line[l-1] == '\n')
+ line[l-1] = '\0';
+
+ s = line;
+ while (isspace(s[0]))
+ s++;
+
+ if (s[0] == '#')
+ continue;
+
+ if (!startswith(s, "title"))
+ continue;
+
+ s += strlen("title");
+ if (!isspace(s[0]))
+ continue;
+ while (isspace(s[0]))
+ s++;
+
+ title = strdup(s);
+ break;
+ }
+
+ fclose(f);
+ return title;
+}
+
+int boot_loader_read_entries(struct boot_info *info) {
+ _cleanup_strv_free_ char **files = NULL;
+ static const char *loader_dir[] = { "/boot/loader/entries", NULL};
+ unsigned int count;
+ unsigned int i;
+ int err;
+
+ err = conf_files_list_strv(&files, ".conf", NULL, loader_dir);
+ if (err < 0)
+ return err;
+
+ count = strv_length(files);
+ info->loader_entries = new0(struct boot_info_entry, count);
+ if (!info->loader_entries)
+ return -ENOMEM;
+
+ for (i = 0; i < count; i++) {
+ info->loader_entries[i].title = loader_fragment_read_title(files[i]);
+ info->loader_entries[i].path = strdup(files[i]);
+ if (!info->loader_entries[i].title || !info->loader_entries[i].path) {
+ free(info->loader_entries[i].title);
+ free(info->loader_entries[i].path);
+ return -ENOMEM;
+ }
+ info->loader_entries_count++;
+ }
+
+ return 0;
+}
+
+int boot_loader_find_active_entry(struct boot_info *info, const char *loader_active) {
+ char *fn;
+ unsigned int i;
+
+ if (!loader_active)
+ return -ENOENT;
+ if (info->loader_entries_count == 0)
+ return -ENOENT;
+
+ if (asprintf(&fn, "/boot/loader/entries/%s.conf", loader_active) < 0)
+ return -ENOMEM;
+
+ for (i = 0; i < info->loader_entries_count; i++) {
+ if (streq(fn, info->loader_entries[i].path)) {
+ info->loader_entry_active = i;
+ break;
+ }
+ }
+
+ free(fn);
+ return 0;
+}
diff --git a/src/boot/boot-loader.h b/src/boot/boot-loader.h
new file mode 100644
index 0000000000..08827c30ad
--- /dev/null
+++ b/src/boot/boot-loader.h
@@ -0,0 +1,25 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Kay Sievers
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+int boot_loader_read_entries(struct boot_info *info);
+int boot_loader_find_active_entry(struct boot_info *info, const char *loader_active);
diff --git a/src/boot/boot.h b/src/boot/boot.h
new file mode 100644
index 0000000000..bd8dc69d3d
--- /dev/null
+++ b/src/boot/boot.h
@@ -0,0 +1,64 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Kay Sievers
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "sd-id128.h"
+
+/*
+ * Firmware and boot manager information to be filled in
+ * by the platform.
+ *
+ * This is partly EFI specific, if you add things, keep this
+ * as generic as possible to be able to re-use it on other
+ * platforms.
+ */
+
+struct boot_info_entry {
+ uint16_t id;
+ uint16_t order;
+ char *title;
+ sd_id128_t part_uuid;
+ char *path;
+};
+
+struct boot_info {
+ sd_id128_t machine_id;
+ sd_id128_t boot_id;
+ char *fw_type;
+ char *fw_info;
+ int fw_secure_boot;
+ int fw_secure_boot_setup_mode;
+ struct boot_info_entry *fw_entries;
+ size_t fw_entries_count;
+ uint16_t *fw_entries_order;
+ size_t fw_entries_order_count;
+ ssize_t fw_entry_active;
+ char *loader;
+ char *loader_image_path;
+ sd_id128_t loader_part_uuid;
+ struct boot_info_entry *loader_entries;
+ size_t loader_entries_count;
+ ssize_t loader_entry_active;
+ char *loader_options_added;
+};
+
+int boot_info_query(struct boot_info *info);
diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c
new file mode 100644
index 0000000000..af694fdf64
--- /dev/null
+++ b/src/boot/bootctl.c
@@ -0,0 +1,288 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Kay Sievers
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdlib.h>
+#include <stdbool.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <locale.h>
+#include <string.h>
+#include <sys/timex.h>
+
+#include "boot.h"
+#include "build.h"
+#include "util.h"
+#include "utf8.h"
+
+static int help(void) {
+ printf("%s [OPTIONS...] COMMAND ...\n\n"
+ "Query or change firmware and boot mananger settings.\n\n"
+ " -h --help Show this help\n"
+ " --version Show package version\n"
+ "Commands:\n"
+ " status Show current boot settings\n",
+ program_invocation_short_name);
+
+ return 0;
+}
+
+static int parse_argv(int argc, char *argv[]) {
+ enum {
+ ARG_VERSION = 0x100,
+ };
+
+ static const struct option options[] = {
+ { "help", no_argument, NULL, 'h' },
+ { "version", no_argument, NULL, ARG_VERSION },
+ { NULL, 0, NULL, 0 }
+ };
+
+ int c;
+
+ assert(argc >= 0);
+ assert(argv);
+ while ((c = getopt_long(argc, argv, "+hH:P", options, NULL)) >= 0) {
+
+ switch (c) {
+
+ case 'h':
+ help();
+ return 0;
+
+ case ARG_VERSION:
+ puts(PACKAGE_STRING);
+ puts(SYSTEMD_FEATURES);
+ return 0;
+
+ case '?':
+ return -EINVAL;
+
+ default:
+ log_error("Unknown option code %c", c);
+ return -EINVAL;
+ }
+ }
+
+ return 1;
+}
+
+static int boot_info_new(struct boot_info **info) {
+ struct boot_info *in;
+ int err;
+
+ in = new0(struct boot_info, 1);
+ if (!in)
+ return -ENOMEM;
+
+ err = sd_id128_get_machine(&in->machine_id);
+ if (err < 0)
+ goto err;
+
+ err = sd_id128_get_boot(&in->boot_id);
+ if (err < 0)
+ goto err;
+
+ in->fw_entry_active = -1;
+ in->loader_entry_active = -1;
+
+ *info = in;
+ return 0;
+err:
+ free(in);
+ return err;
+}
+
+static void boot_info_entries_free(struct boot_info_entry *entries, size_t n) {
+ size_t i;
+
+ for (i = 0; i < n; i++) {
+ free(entries[i].title);
+ free(entries[i].path);
+ }
+ free(entries);
+}
+
+static void boot_info_free(struct boot_info *info) {
+ free(info->fw_type);
+ free(info->fw_info);
+ boot_info_entries_free(info->fw_entries, info->fw_entries_count);
+ free(info->fw_entries_order);
+ free(info->loader);
+ free(info->loader_image_path);
+ free(info->loader_options_added);
+ boot_info_entries_free(info->loader_entries, info->loader_entries_count);
+ free(info);
+}
+
+static int show_status(char **args, unsigned n) {
+ char buf[64];
+ struct boot_info *info;
+ int err;
+
+ err = boot_info_new(&info);
+ if (err < 0)
+ return -ENOMEM;
+
+ err = boot_info_query(info);
+
+ printf("System:\n");
+ printf(" Machine ID: %s\n", sd_id128_to_string(info->machine_id, buf));
+ printf(" Boot ID: %s\n", sd_id128_to_string(info->boot_id, buf));
+ if (info->fw_type)
+ printf(" Firmware: %s (%s)\n", info->fw_type, strna(info->fw_info));
+ if (info->fw_secure_boot >= 0)
+ printf(" Secure Boot: %s\n", info->fw_secure_boot ? "enabled" : "disabled");
+ if (info->fw_secure_boot_setup_mode >= 0)
+ printf(" Setup Mode: %s\n", info->fw_secure_boot_setup_mode ? "setup" : "user");
+ printf("\n");
+
+ if (info->fw_entry_active >= 0) {
+ printf("Selected Firmware Entry:\n");
+ printf(" Title: %s\n", strna(info->fw_entries[info->fw_entry_active].title));
+ if (!sd_id128_equal(info->fw_entries[info->fw_entry_active].part_uuid, SD_ID128_NULL))
+ printf(" Partition: /dev/disk/by-partuuid/%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\n",
+ SD_ID128_FORMAT_VAL(info->fw_entries[info->fw_entry_active].part_uuid));
+ else
+ printf(" Partition: n/a\n");
+ if (info->fw_entries[info->fw_entry_active].path)
+ printf(" File: %s%s\n", draw_special_char(DRAW_TREE_RIGHT), info->fw_entries[info->fw_entry_active].path);
+ }
+ printf("\n");
+
+ if (info->loader) {
+ printf("Boot Loader:\n");
+ printf(" Product: %s\n", info->loader);
+ if (!sd_id128_equal(info->loader_part_uuid, SD_ID128_NULL))
+ printf(" Partition: /dev/disk/by-partuuid/%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\n",
+ SD_ID128_FORMAT_VAL(info->loader_part_uuid));
+ else
+ printf(" Partition: n/a\n");
+ printf(" File: %s%s\n", draw_special_char(DRAW_TREE_RIGHT), strna(info->loader_image_path));
+ printf("\n");
+
+ if (info->loader_entry_active >= 0) {
+ printf("Selected Boot Loader Entry:\n");
+ printf(" Title: %s\n", strna(info->loader_entries[info->loader_entry_active].title));
+ printf(" File: %s\n", info->loader_entries[info->loader_entry_active].path);
+ if (info->loader_options_added)
+ printf(" Options: %s\n", info->loader_options_added);
+ }
+ } else
+ printf("No suitable data is provided by the boot manager. See:\n"
+ " http://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface\n"
+ " http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec\n"
+ "for details.\n");
+ printf("\n");
+
+ boot_info_free(info);
+ return err;
+}
+
+static int bootctl_main(int argc, char *argv[]) {
+ static const struct {
+ const char* verb;
+ const enum {
+ MORE,
+ LESS,
+ EQUAL
+ } argc_cmp;
+ const int argc;
+ int (* const dispatch)(char **args, unsigned n);
+ } verbs[] = {
+ { "status", LESS, 1, show_status },
+ };
+
+ int left;
+ unsigned i;
+
+ assert(argc >= 0);
+ assert(argv);
+
+ left = argc - optind;
+
+ if (left <= 0)
+ /* Special rule: no arguments means "status" */
+ i = 0;
+ else {
+ if (streq(argv[optind], "help")) {
+ help();
+ return 0;
+ }
+
+ for (i = 0; i < ELEMENTSOF(verbs); i++)
+ if (streq(argv[optind], verbs[i].verb))
+ break;
+
+ if (i >= ELEMENTSOF(verbs)) {
+ log_error("Unknown operation %s", argv[optind]);
+ return -EINVAL;
+ }
+ }
+
+ switch (verbs[i].argc_cmp) {
+
+ case EQUAL:
+ if (left != verbs[i].argc) {
+ log_error("Invalid number of arguments.");
+ return -EINVAL;
+ }
+ break;
+
+ case MORE:
+ if (left < verbs[i].argc) {
+ log_error("Too few arguments.");
+ return -EINVAL;
+ }
+ break;
+
+ case LESS:
+ if (left > verbs[i].argc) {
+ log_error("Too many arguments.");
+ return -EINVAL;
+ }
+ break;
+
+ default:
+ assert_not_reached("Unknown comparison operator.");
+ }
+
+ return verbs[i].dispatch(argv + optind, left);
+}
+
+int main(int argc, char *argv[]) {
+ int r, retval = EXIT_FAILURE;
+
+ log_parse_environment();
+ log_open();
+
+ r = parse_argv(argc, argv);
+ if (r < 0)
+ goto finish;
+ else if (r == 0) {
+ retval = EXIT_SUCCESS;
+ goto finish;
+ }
+
+ r = bootctl_main(argc, argv);
+ retval = r < 0 ? EXIT_FAILURE : r;
+finish:
+ return retval;
+}
diff --git a/src/bootchart/Makefile b/src/bootchart/Makefile
new file mode 120000
index 0000000000..d0b0e8e008
--- /dev/null
+++ b/src/bootchart/Makefile
@@ -0,0 +1 @@
+../Makefile \ No newline at end of file
diff --git a/src/bootchart/README b/src/bootchart/README
deleted file mode 100644
index a209caf46b..0000000000
--- a/src/bootchart/README
+++ /dev/null
@@ -1,83 +0,0 @@
-
-Bootchart - a 'startup' graphing tool
-
---
-
-Bootchart is a tool, usually run at system startup, that collects and graphs
-the CPU and disk load of the system as it works. The output of bootchart is
-an SVG graph. Normally, bootchart is invoked as `bootchartd` by the kernel
-by passing "init=/sbin/bootchartd" to the kernel. Bootchart will then fork
-init off to resume normal system startup, while monitoring and logging
-startup information in the background.
-
-After collecting a certain amount of data (usually 15-30 seconds) the logging
-stops and a graph is generated from the logged information. This graph
-contains vital clues to which resources are being used, in which order, and
-where possible problems exist in the startup sequence of the system.
-
-Of course, bootchart can also be used at any moment in time to collect and
-graph some data for an amount of time. Bootchart does not even require root
-privileges to do so, and will happily run as a normal user. Bootchart graphs
-are by default written time-stamped in /var/log.
-
---
-
-This version of bootchart was implemented from scratch and inspired by former
-incantations of bootchart:
-
-- The original bash/shell code implemented bootchart. This version logged all
-data into a compressed tarball for later processing, and did not create a graph
-on it's own.
-
-- The C-code implementation found in Ubuntu. This version replaced above shell
-code version with a faster and efficient data logger, but still did not graph
-code itself.
-
-- the original Java-based bootchart, the original graphing program that created
-a bootchart graph from logged data.
-
-- the pybootchartgui.py program, which created a graph based on the data logged
-by either standalone data logger.
-
-The version you are looking at combines these 2 parts into a single program,
-which makes running it and creating graphs a bit more efficient and simple.
-You can now run a single program at startup instead of 2. There are no timing
-problems (the graphing stage will never run if the logging stage didn't
-finish). The logged data isn't being written to disc first, then read again.
-Also, the data kept in memory is reduced to the absolute minimum needed to
-keep memory use low.
-
---
-
-Requirements: glibc. Your kernel must have procfs support and several
-proc output options enabled:
- CONFIG_PROC_FS
- CONFIG_SCHEDSTATS
- CONFIG_SCHED_DEBUG
-at a minimum. bootchartd itself does not require any graphics library
-to generate the SVG output file.
-
---
-
-Configuration: please see bootchartd --help, as well as /etc/bootchartd.conf
-and/or /usr/share/doc/bootchart/bootchartd.conf.example for a list of
-configurable options.
-
---
-
-Many thanks to those who contributed ideas and code:
- - Ziga Mahkovec - Original bootchart author
- - Anders Norgaard - PyBootchartgui
- - Michael Meeks - bootchart2
- - Scott James Remnant - Ubuntu C-based logger
- - Arjan van der Ven - for the idea to merge bootgraph.pl functionality
-
---
-
-For bugs, please contact the author or current maintainer:
-Auke Kok <auke-jan.h.kok@intel.com>
-
---
-
-Download bootchart releases here: http://foo-projects.org/~sofar/bootchart/
-Source code is hosted here: git://github.com/sofar/bootchart
diff --git a/src/bootchart/bootchart.c b/src/bootchart/bootchart.c
index 2eeb37ae53..8be5a27afa 100644
--- a/src/bootchart/bootchart.c
+++ b/src/bootchart/bootchart.c
@@ -1,21 +1,42 @@
-/*
- * bootchart.c
- *
- * Copyright (C) 2009-2012 Intel Coproration
- *
- * Authors:
- * Auke Kok <auke-jan.h.kok@intel.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; version 2
- * of the License.
- */
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+/***
+ This file is part of systemd.
+
+ Copyright (C) 2009-2013 Intel Coproration
+
+ Authors:
+ Auke Kok <auke-jan.h.kok@intel.com>
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ ***/
+
+/***
+
+ Many thanks to those who contributed ideas and code:
+ - Ziga Mahkovec - Original bootchart author
+ - Anders Norgaard - PyBootchartgui
+ - Michael Meeks - bootchart2
+ - Scott James Remnant - Ubuntu C-based logger
+ - Arjan van der Ven - for the idea to merge bootgraph.pl functionality
+
+ ***/
#include <sys/time.h>
#include <sys/types.h>
#include <sys/resource.h>
+#include <sys/stat.h>
#include <stdio.h>
#include <signal.h>
#include <stdlib.h>
@@ -25,328 +46,436 @@
#include <getopt.h>
#include <limits.h>
#include <errno.h>
-
-
+#include <fcntl.h>
+#include <stdbool.h>
+#include <systemd/sd-journal.h>
+
+#include "util.h"
+#include "fileio.h"
+#include "macro.h"
+#include "conf-parser.h"
+#include "strxcpyx.h"
+#include "path-util.h"
+#include "store.h"
+#include "svg.h"
#include "bootchart.h"
+#include "list.h"
double graph_start;
double log_start;
-double sampletime[MAXSAMPLES];
struct ps_struct *ps_first;
-struct block_stat_struct blockstat[MAXSAMPLES];
-int entropy_avail[MAXSAMPLES];
-struct cpu_stat_struct cpustat[MAXCPUS];
int pscount;
int cpus;
double interval;
-FILE *of;
+FILE *of = NULL;
int overrun = 0;
static int exiting = 0;
+int sysfd=-1;
/* graph defaults */
-int entropy = 0;
-int initcall = 1;
-int relative;
-int filter = 1;
-int pss = 0;
+bool arg_entropy = false;
+bool initcall = true;
+bool arg_relative = false;
+bool arg_filter = true;
+bool arg_show_cmdline = false;
+bool arg_pss = false;
int samples;
-int len = 500; /* we record len+1 (1 start sample) */
-double hz = 25.0; /* 20 seconds log time */
-double scale_x = 100.0; /* 100px = 1sec */
-double scale_y = 20.0; /* 16px = 1 process bar */
+int arg_samples_len = 500; /* we record len+1 (1 start sample) */
+double arg_hz = 25.0; /* 20 seconds log time */
+double arg_scale_x = 100.0; /* 100px = 1sec */
+double arg_scale_y = 20.0; /* 16px = 1 process bar */
+static struct list_sample_data *sampledata;
+struct list_sample_data *head;
+
+char arg_init_path[PATH_MAX] = "/sbin/init";
+char arg_output_path[PATH_MAX] = "/run/log";
+
+static void signal_handler(int sig) {
+ if (sig++)
+ sig--;
+ exiting = 1;
+}
-char init_path[PATH_MAX] = "/sbin/init";
-char output_path[PATH_MAX] = "/var/log";
+#define BOOTCHART_CONF "/etc/systemd/bootchart.conf"
+
+#define BOOTCHART_MAX (16*1024*1024)
+
+static void parse_conf(void) {
+ char *init = NULL, *output = NULL;
+ const ConfigTableItem items[] = {
+ { "Bootchart", "Samples", config_parse_int, 0, &arg_samples_len },
+ { "Bootchart", "Frequency", config_parse_double, 0, &arg_hz },
+ { "Bootchart", "Relative", config_parse_bool, 0, &arg_relative },
+ { "Bootchart", "Filter", config_parse_bool, 0, &arg_filter },
+ { "Bootchart", "Output", config_parse_path, 0, &output },
+ { "Bootchart", "Init", config_parse_path, 0, &init },
+ { "Bootchart", "PlotMemoryUsage", config_parse_bool, 0, &arg_pss },
+ { "Bootchart", "PlotEntropyGraph", config_parse_bool, 0, &arg_entropy },
+ { "Bootchart", "ScaleX", config_parse_double, 0, &arg_scale_x },
+ { "Bootchart", "ScaleY", config_parse_double, 0, &arg_scale_y },
+ { NULL, NULL, NULL, 0, NULL }
+ };
+ _cleanup_fclose_ FILE *f;
+ int r;
+
+ f = fopen(BOOTCHART_CONF, "re");
+ if (!f)
+ return;
+
+ r = config_parse(NULL, BOOTCHART_CONF, f,
+ NULL, config_item_table_lookup, (void*) items, true, false, NULL);
+ if (r < 0)
+ log_warning("Failed to parse configuration file: %s", strerror(-r));
+
+ if (init != NULL)
+ strscpy(arg_init_path, sizeof(arg_init_path), init);
+ if (output != NULL)
+ strscpy(arg_output_path, sizeof(arg_output_path), output);
+}
-static struct rlimit rlim;
+static int parse_args(int argc, char *argv[]) {
+ static struct option options[] = {
+ {"rel", no_argument, NULL, 'r'},
+ {"freq", required_argument, NULL, 'f'},
+ {"samples", required_argument, NULL, 'n'},
+ {"pss", no_argument, NULL, 'p'},
+ {"output", required_argument, NULL, 'o'},
+ {"init", required_argument, NULL, 'i'},
+ {"no-filter", no_argument, NULL, 'F'},
+ {"cmdline", no_argument, NULL, 'C'},
+ {"help", no_argument, NULL, 'h'},
+ {"scale-x", required_argument, NULL, 'x'},
+ {"scale-y", required_argument, NULL, 'y'},
+ {"entropy", no_argument, NULL, 'e'},
+ {NULL, 0, NULL, 0}
+ };
+ int c;
+
+ while ((c = getopt_long(argc, argv, "erpf:n:o:i:FChx:y:", options, NULL)) >= 0) {
+ int r;
+
+ switch (c) {
+ case 'r':
+ arg_relative = true;
+ break;
+ case 'f':
+ r = safe_atod(optarg, &arg_hz);
+ if (r < 0)
+ log_warning("failed to parse --freq/-f argument '%s': %s",
+ optarg, strerror(-r));
+ break;
+ case 'F':
+ arg_filter = false;
+ break;
+ case 'C':
+ arg_show_cmdline = true;
+ break;
+ case 'n':
+ r = safe_atoi(optarg, &arg_samples_len);
+ if (r < 0)
+ log_warning("failed to parse --samples/-n argument '%s': %s",
+ optarg, strerror(-r));
+ break;
+ case 'o':
+ path_kill_slashes(optarg);
+ strscpy(arg_output_path, sizeof(arg_output_path), optarg);
+ break;
+ case 'i':
+ path_kill_slashes(optarg);
+ strscpy(arg_init_path, sizeof(arg_init_path), optarg);
+ break;
+ case 'p':
+ arg_pss = true;
+ break;
+ case 'x':
+ r = safe_atod(optarg, &arg_scale_x);
+ if (r < 0)
+ log_warning("failed to parse --scale-x/-x argument '%s': %s",
+ optarg, strerror(-r));
+ break;
+ case 'y':
+ r = safe_atod(optarg, &arg_scale_y);
+ if (r < 0)
+ log_warning("failed to parse --scale-y/-y argument '%s': %s",
+ optarg, strerror(-r));
+ break;
+ case 'e':
+ arg_entropy = true;
+ break;
+ case 'h':
+ fprintf(stderr, "Usage: %s [OPTIONS]\n", argv[0]);
+ fprintf(stderr, " --rel, -r Record time relative to recording\n");
+ fprintf(stderr, " --freq, -f f Sample frequency [%f]\n", arg_hz);
+ fprintf(stderr, " --samples, -n N Stop sampling at [%d] samples\n", arg_samples_len);
+ fprintf(stderr, " --scale-x, -x N Scale the graph horizontally [%f] \n", arg_scale_x);
+ fprintf(stderr, " --scale-y, -y N Scale the graph vertically [%f] \n", arg_scale_y);
+ fprintf(stderr, " --pss, -p Enable PSS graph (CPU intensive)\n");
+ fprintf(stderr, " --entropy, -e Enable the entropy_avail graph\n");
+ fprintf(stderr, " --output, -o [PATH] Path to output files [%s]\n", arg_output_path);
+ fprintf(stderr, " --init, -i [PATH] Path to init executable [%s]\n", arg_init_path);
+ fprintf(stderr, " --no-filter, -F Disable filtering of processes from the graph\n");
+ fprintf(stderr, " that are of less importance or short-lived\n");
+ fprintf(stderr, " --cmdline, -C Display the full command line with arguments\n");
+ fprintf(stderr, " of processes, instead of only the process name\n");
+ fprintf(stderr, " --help, -h Display this message\n");
+ fprintf(stderr, "See bootchart.conf for more information.\n");
+ exit (EXIT_SUCCESS);
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (arg_hz <= 0.0) {
+ fprintf(stderr, "Error: Frequency needs to be > 0\n");
+ return -EINVAL;
+ }
+
+ return 0;
+}
-static void signal_handler(int sig)
+static void do_journal_append(char *file)
{
- if (sig++)
- sig--;
- exiting = 1;
+ struct iovec iovec[5];
+ int r, f, j = 0;
+ ssize_t n;
+ _cleanup_free_ char *bootchart_file = NULL, *bootchart_message = NULL,
+ *p = NULL;
+
+ bootchart_file = strappend("BOOTCHART_FILE=", file);
+ if (bootchart_file)
+ IOVEC_SET_STRING(iovec[j++], bootchart_file);
+
+ IOVEC_SET_STRING(iovec[j++], "MESSAGE_ID=9f26aa562cf440c2b16c773d0479b518");
+ IOVEC_SET_STRING(iovec[j++], "PRIORITY=7");
+ bootchart_message = strjoin("MESSAGE=Bootchart created: ", file, NULL);
+ if (bootchart_message)
+ IOVEC_SET_STRING(iovec[j++], bootchart_message);
+
+ p = malloc(9 + BOOTCHART_MAX);
+ if (!p) {
+ r = log_oom();
+ return;
+ }
+
+ memcpy(p, "BOOTCHART=", 10);
+
+ f = open(file, O_RDONLY);
+ if (f < 0) {
+ log_error("Failed to read bootchart data: %m\n");
+ return;
+ }
+ n = loop_read(f, p + 10, BOOTCHART_MAX, false);
+ if (n < 0) {
+ log_error("Failed to read bootchart data: %s\n", strerror(-n));
+ close(f);
+ return;
+ }
+ close(f);
+
+ iovec[j].iov_base = p;
+ iovec[j].iov_len = 10 + n;
+ j++;
+
+ r = sd_journal_sendv(iovec, j);
+ if (r < 0)
+ log_error("Failed to send bootchart: %s", strerror(-r));
}
-
-int main(int argc, char *argv[])
-{
- struct sigaction sig;
- struct ps_struct *ps;
- char output_file[PATH_MAX];
- char datestr[200];
- time_t t;
- FILE *f;
- int gind;
- int i;
-
- memset(&t, 0, sizeof(time_t));
-
- rlim.rlim_cur = 4096;
- rlim.rlim_max = 4096;
- (void) setrlimit(RLIMIT_NOFILE, &rlim);
-
- f = fopen("/etc/systemd/bootchart.conf", "r");
- if (f) {
- char buf[256];
- char *key;
- char *val;
-
- while (fgets(buf, 80, f) != NULL) {
- char *c;
-
- c = strchr(buf, '\n');
- if (c) *c = 0; /* remove trailing \n */
-
- if (buf[0] == '#')
- continue; /* comment line */
-
- key = strtok(buf, "=");
- if (!key)
- continue;
- val = strtok(NULL, "=");
- if (!val)
- continue;
-
- // todo: filter leading/trailing whitespace
-
- if (!strcmp(key, "samples"))
- len = atoi(val);
- if (!strcmp(key, "freq"))
- hz = atof(val);
- if (!strcmp(key, "rel"))
- relative = atoi(val);
- if (!strcmp(key, "filter"))
- filter = atoi(val);
- if (!strcmp(key, "pss"))
- pss = atoi(val);
- if (!strcmp(key, "output"))
- strncpy(output_path, val, PATH_MAX - 1);
- if (!strcmp(key, "init"))
- strncpy(init_path, val, PATH_MAX - 1);
- if (!strcmp(key, "scale_x"))
- scale_x = atof(val);
- if (!strcmp(key, "scale_y"))
- scale_y = atof(val);
- if (!strcmp(key, "entropy"))
- entropy = atoi(val);
- }
- fclose(f);
- }
-
- while (1) {
- static struct option opts[] = {
- {"rel", 0, NULL, 'r'},
- {"freq", 1, NULL, 'f'},
- {"samples", 1, NULL, 'n'},
- {"pss", 0, NULL, 'p'},
- {"output", 1, NULL, 'o'},
- {"init", 1, NULL, 'i'},
- {"filter", 0, NULL, 'F'},
- {"help", 0, NULL, 'h'},
- {"scale-x", 1, NULL, 'x'},
- {"scale-y", 1, NULL, 'y'},
- {"entropy", 0, NULL, 'e'},
- {NULL, 0, NULL, 0}
- };
-
- gind = 0;
-
- i = getopt_long(argc, argv, "erpf:n:o:i:Fhx:y:", opts, &gind);
- if (i == -1)
- break;
- switch (i) {
- case 'r':
- relative = 1;
- break;
- case 'f':
- hz = atof(optarg);
- break;
- case 'F':
- filter = 0;
- break;
- case 'n':
- len = atoi(optarg);
- break;
- case 'o':
- strncpy(output_path, optarg, PATH_MAX - 1);
- break;
- case 'i':
- strncpy(init_path, optarg, PATH_MAX - 1);
- break;
- case 'p':
- pss = 1;
- break;
- case 'x':
- scale_x = atof(optarg);
- break;
- case 'y':
- scale_y = atof(optarg);
- break;
- case 'e':
- entropy = 1;
- break;
- case 'h':
- fprintf(stderr, "Usage: %s [OPTIONS]\n", argv[0]);
- fprintf(stderr, " --rel, -r Record time relative to recording\n");
- fprintf(stderr, " --freq, -f N Sample frequency [%f]\n", hz);
- fprintf(stderr, " --samples, -n N Stop sampling at [%d] samples\n", len);
- fprintf(stderr, " --scale-x, -x N Scale the graph horizontally [%f] \n", scale_x);
- fprintf(stderr, " --scale-y, -y N Scale the graph vertically [%f] \n", scale_y);
- fprintf(stderr, " --pss, -p Enable PSS graph (CPU intensive)\n");
- fprintf(stderr, " --entropy, -e Enable the entropy_avail graph\n");
- fprintf(stderr, " --output, -o [PATH] Path to output files [%s]\n", output_path);
- fprintf(stderr, " --init, -i [PATH] Path to init executable [%s]\n", init_path);
- fprintf(stderr, " --filter, -F Disable filtering of processes from the graph\n");
- fprintf(stderr, " that are of less importance or short-lived\n");
- fprintf(stderr, " --help, -h Display this message\n");
- fprintf(stderr, "See the installed README and bootchartd.conf.example for more information.\n");
- exit (EXIT_SUCCESS);
- break;
- default:
- break;
- }
- }
-
- if (len > MAXSAMPLES) {
- fprintf(stderr, "Error: samples exceeds maximum\n");
- exit(EXIT_FAILURE);
- }
-
- if (hz <= 0.0) {
- fprintf(stderr, "Error: Frequency needs to be > 0\n");
- exit(EXIT_FAILURE);
- }
-
- /*
- * If the kernel executed us through init=/sbin/bootchartd, then
- * fork:
- * - parent execs executable specified via init_path[] (/sbin/init by default) as pid=1
- * - child logs data
- */
- if (getpid() == 1) {
- if (fork()) {
- /* parent */
- execl(init_path, init_path, NULL);
- }
- }
-
- /* start with empty ps LL */
- ps_first = malloc(sizeof(struct ps_struct));
- if (!ps_first) {
- perror("malloc(ps_struct)");
- exit(EXIT_FAILURE);
- }
- memset(ps_first, 0, sizeof(struct ps_struct));
-
- /* handle TERM/INT nicely */
- memset(&sig, 0, sizeof(struct sigaction));
- sig.sa_handler = signal_handler;
- sigaction(SIGHUP, &sig, NULL);
-
- interval = (1.0 / hz) * 1000000000.0;
-
- log_uptime();
-
- /* main program loop */
- while (!exiting) {
- int res;
- double sample_stop;
- struct timespec req;
- time_t newint_s;
- long newint_ns;
- double elapsed;
- double timeleft;
-
- sampletime[samples] = gettime_ns();
-
- /* wait for /proc to become available, discarding samples */
- if (!(graph_start > 0.0))
- log_uptime();
- else
- log_sample(samples);
-
- sample_stop = gettime_ns();
-
- elapsed = (sample_stop - sampletime[samples]) * 1000000000.0;
- timeleft = interval - elapsed;
-
- newint_s = (time_t)(timeleft / 1000000000.0);
- newint_ns = (long)(timeleft - (newint_s * 1000000000.0));
-
- /*
- * check if we have not consumed our entire timeslice. If we
- * do, don't sleep and take a new sample right away.
- * we'll lose all the missed samples and overrun our total
- * time
- */
- if ((newint_ns > 0) || (newint_s > 0)) {
- req.tv_sec = newint_s;
- req.tv_nsec = newint_ns;
-
- res = nanosleep(&req, NULL);
- if (res) {
- if (errno == EINTR) {
- /* caught signal, probably HUP! */
- break;
- }
- perror("nanosleep()");
- exit (EXIT_FAILURE);
- }
- } else {
- overrun++;
- /* calculate how many samples we lost and scrap them */
- len = len + ((int)(newint_ns / interval));
- }
-
- samples++;
-
- if (samples > len)
- break;
-
- }
-
- /* do some cleanup, close fd's */
- ps = ps_first;
- while (ps->next_ps) {
- ps = ps->next_ps;
- if (ps->schedstat)
- close(ps->schedstat);
- if (ps->sched)
- close(ps->sched);
- if (ps->smaps)
- fclose(ps->smaps);
- }
- closedir(proc);
-
- t = time(NULL);
- strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t));
- snprintf(output_file, PATH_MAX, "%s/bootchart-%s.svg", output_path, datestr);
-
- of = fopen(output_file, "w");
- if (!of) {
- perror("open output_file");
- exit (EXIT_FAILURE);
- }
-
- svg_do();
-
- fprintf(stderr, "bootchartd: Wrote %s\n", output_file);
- fclose(of);
-
- /* nitpic cleanups */
- ps = ps_first;
- while (ps->next_ps) {
- struct ps_struct *old = ps;
- ps = ps->next_ps;
- free(old->sample);
- free(old);
- }
- free(ps->sample);
- free(ps);
-
- /* don't complain when overrun once, happens most commonly on 1st sample */
- if (overrun > 1)
- fprintf(stderr, "bootchartd: Warning: sample time overrun %i times\n", overrun);
-
- return 0;
+int main(int argc, char *argv[]) {
+ _cleanup_free_ char *build = NULL;
+ struct sigaction sig = {
+ .sa_handler = signal_handler,
+ };
+ struct ps_struct *ps;
+ char output_file[PATH_MAX];
+ char datestr[200];
+ time_t t = 0;
+ int r;
+ struct rlimit rlim;
+
+ parse_conf();
+
+ r = parse_args(argc, argv);
+ if (r < 0)
+ return EXIT_FAILURE;
+
+ /*
+ * If the kernel executed us through init=/usr/lib/systemd/systemd-bootchart, then
+ * fork:
+ * - parent execs executable specified via init_path[] (/sbin/init by default) as pid=1
+ * - child logs data
+ */
+ if (getpid() == 1) {
+ if (fork()) {
+ /* parent */
+ execl(arg_init_path, arg_init_path, NULL);
+ }
+ }
+ argv[0][0] = '@';
+
+ rlim.rlim_cur = 4096;
+ rlim.rlim_max = 4096;
+ (void) setrlimit(RLIMIT_NOFILE, &rlim);
+
+ /* start with empty ps LL */
+ ps_first = calloc(1, sizeof(struct ps_struct));
+ if (!ps_first) {
+ perror("calloc(ps_struct)");
+ exit(EXIT_FAILURE);
+ }
+
+ /* handle TERM/INT nicely */
+ sigaction(SIGHUP, &sig, NULL);
+
+ interval = (1.0 / arg_hz) * 1000000000.0;
+
+ log_uptime();
+
+ LIST_HEAD_INIT(struct list_sample_data, head);
+
+ /* main program loop */
+ for (samples = 0; !exiting && samples < arg_samples_len; samples++) {
+ int res;
+ double sample_stop;
+ struct timespec req;
+ time_t newint_s;
+ long newint_ns;
+ double elapsed;
+ double timeleft;
+
+ sampledata = new0(struct list_sample_data, 1);
+ if (sampledata == NULL) {
+ log_error("Failed to allocate memory for a node: %m");
+ return -1;
+ }
+
+ sampledata->sampletime = gettime_ns();
+ sampledata->counter = samples;
+
+ if (!of && (access(arg_output_path, R_OK|W_OK|X_OK) == 0)) {
+ t = time(NULL);
+ strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t));
+ snprintf(output_file, PATH_MAX, "%s/bootchart-%s.svg", arg_output_path, datestr);
+ of = fopen(output_file, "w");
+ }
+
+ if (sysfd < 0)
+ sysfd = open("/sys", O_RDONLY);
+
+ if (!build)
+ parse_env_file("/etc/os-release", NEWLINE,
+ "PRETTY_NAME", &build,
+ NULL);
+
+ /* wait for /proc to become available, discarding samples */
+ if (graph_start <= 0.0)
+ log_uptime();
+ else
+ log_sample(samples, &sampledata);
+
+ sample_stop = gettime_ns();
+
+ elapsed = (sample_stop - sampledata->sampletime) * 1000000000.0;
+ timeleft = interval - elapsed;
+
+ newint_s = (time_t)(timeleft / 1000000000.0);
+ newint_ns = (long)(timeleft - (newint_s * 1000000000.0));
+
+ /*
+ * check if we have not consumed our entire timeslice. If we
+ * do, don't sleep and take a new sample right away.
+ * we'll lose all the missed samples and overrun our total
+ * time
+ */
+ if (newint_ns > 0 || newint_s > 0) {
+ req.tv_sec = newint_s;
+ req.tv_nsec = newint_ns;
+
+ res = nanosleep(&req, NULL);
+ if (res) {
+ if (errno == EINTR) {
+ /* caught signal, probably HUP! */
+ break;
+ }
+ perror("nanosleep()");
+ exit (EXIT_FAILURE);
+ }
+ } else {
+ overrun++;
+ /* calculate how many samples we lost and scrap them */
+ arg_samples_len -= (int)(newint_ns / interval);
+ }
+ LIST_PREPEND(struct list_sample_data, link, head, sampledata);
+ }
+
+ /* do some cleanup, close fd's */
+ ps = ps_first;
+ while (ps->next_ps) {
+ ps = ps->next_ps;
+ if (ps->schedstat)
+ close(ps->schedstat);
+ if (ps->sched)
+ close(ps->sched);
+ if (ps->smaps)
+ fclose(ps->smaps);
+ }
+
+ if (!of) {
+ t = time(NULL);
+ strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t));
+ snprintf(output_file, PATH_MAX, "%s/bootchart-%s.svg", arg_output_path, datestr);
+ of = fopen(output_file, "w");
+ }
+
+ if (!of) {
+ fprintf(stderr, "opening output file '%s': %m\n", output_file);
+ exit (EXIT_FAILURE);
+ }
+
+ svg_do(build);
+
+ fprintf(stderr, "systemd-bootchart wrote %s\n", output_file);
+
+ do_journal_append(output_file);
+
+ if (of)
+ fclose(of);
+
+ closedir(proc);
+ if (sysfd >= 0)
+ close(sysfd);
+
+ /* nitpic cleanups */
+ ps = ps_first->next_ps;
+ while (ps->next_ps) {
+ struct ps_struct *old;
+
+ old = ps;
+ old->sample = ps->first;
+ ps = ps->next_ps;
+ while (old->sample->next) {
+ struct ps_sched_struct *oldsample = old->sample;
+
+ old->sample = old->sample->next;
+ free(oldsample);
+ }
+ free(old->sample);
+ free(old);
+ }
+ free(ps->sample);
+ free(ps);
+
+ sampledata = head;
+ while (sampledata->link_prev) {
+ struct list_sample_data *old_sampledata = sampledata;
+ sampledata = sampledata->link_prev;
+ free(old_sampledata);
+ }
+ free(sampledata);
+ /* don't complain when overrun once, happens most commonly on 1st sample */
+ if (overrun > 1)
+ fprintf(stderr, "systemd-boochart: Warning: sample time overrun %i times\n", overrun);
+
+ return 0;
}
diff --git a/src/bootchart/bootchart.conf b/src/bootchart/bootchart.conf
index 06c1b47510..48fad02726 100644
--- a/src/bootchart/bootchart.conf
+++ b/src/bootchart/bootchart.conf
@@ -1,4 +1,3 @@
-
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
@@ -6,15 +5,16 @@
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
-# See systemd-bootchart.conf(5) for details
+# See bootchart.conf(5) for details
-#samples=500
-#freq=25
-#rel=0
-#filter=1
-#output=<folder name, defaults to /var/log>
-#init=/path/to/init-binary
-#pss=0
-#entropy=0
-#scale_x=100
-#scale_y=20
+[Bootchart]
+#Samples=500
+#Frequency=25
+#Relative=no
+#Filter=yes
+#Output=<folder name, defaults to /run/log>
+#Init=/path/to/init-binary
+#PlotMemoryUsage=no
+#PlotEntropyGraph=no
+#ScaleX=100
+#ScaleY=20
diff --git a/src/bootchart/bootchart.h b/src/bootchart/bootchart.h
index 0d8bed16b0..d0273421de 100644
--- a/src/bootchart/bootchart.h
+++ b/src/bootchart/bootchart.h
@@ -1,84 +1,106 @@
-/*
- * bootchart.h
- *
- * Copyright (C) 2009-2012 Intel Coproration
- *
- * Authors:
- * Auke Kok <auke-jan.h.kok@intel.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; version 2
- * of the License.
- */
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright (C) 2009-2013 Intel Coproration
+
+ Authors:
+ Auke Kok <auke-jan.h.kok@intel.com>
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
#include <dirent.h>
+#include <stdbool.h>
+#include "list.h"
#define MAXCPUS 16
#define MAXPIDS 65535
-#define MAXSAMPLES 8192
-
struct block_stat_struct {
- /* /proc/vmstat pgpgin & pgpgout */
- int bi;
- int bo;
+ /* /proc/vmstat pgpgin & pgpgout */
+ int bi;
+ int bo;
};
struct cpu_stat_sample_struct {
- /* /proc/schedstat fields 10 & 11 (after name) */
- double runtime;
- double waittime;
-};
-
-struct cpu_stat_struct {
- /* per cpu array */
- struct cpu_stat_sample_struct sample[MAXSAMPLES];
+ /* /proc/schedstat fields 10 & 11 (after name) */
+ double runtime;
+ double waittime;
};
/* per process, per sample data we will log */
struct ps_sched_struct {
- /* /proc/<n>/schedstat fields 1 & 2 */
- double runtime;
- double waittime;
- int pss;
+ /* /proc/<n>/schedstat fields 1 & 2 */
+ double runtime;
+ double waittime;
+ int pss;
+ struct list_sample_data *sampledata;
+ struct ps_sched_struct *next;
+ struct ps_sched_struct *prev;
+ struct ps_sched_struct *cross; /* cross pointer */
+ struct ps_struct *ps_new;
+};
+
+struct list_sample_data {
+ double runtime[MAXCPUS];
+ double waittime[MAXCPUS];
+ double sampletime;
+ int entropy_avail;
+ struct block_stat_struct blockstat;
+ LIST_FIELDS(struct list_sample_data, link); /* DLL */
+ int counter;
};
/* process info */
struct ps_struct {
- struct ps_struct *next_ps; /* SLL pointer */
- struct ps_struct *parent; /* ppid ref */
- struct ps_struct *children; /* children */
- struct ps_struct *next; /* siblings */
+ struct ps_struct *next_ps; /* SLL pointer */
+ struct ps_struct *parent; /* ppid ref */
+ struct ps_struct *children; /* children */
+ struct ps_struct *next; /* siblings */
- /* must match - otherwise it's a new process with same PID */
- char name[16];
- int pid;
- int ppid;
+ /* must match - otherwise it's a new process with same PID */
+ char name[256];
+ int pid;
+ int ppid;
- /* cache fd's */
- int sched;
- int schedstat;
- FILE *smaps;
+ /* cache fd's */
+ int sched;
+ int schedstat;
+ FILE *smaps;
- /* index to first/last seen timestamps */
- int first;
- int last;
+ /* pointers to first/last seen timestamps */
+ struct ps_sched_struct *first;
+ struct ps_sched_struct *last;
- /* records actual start time, may be way before bootchart runs */
- double starttime;
+ /* records actual start time, may be way before bootchart runs */
+ double starttime;
- /* record human readable total cpu time */
- double total;
+ /* record human readable total cpu time */
+ double total;
- /* largest PSS size found */
- int pss_max;
+ /* largest PSS size found */
+ int pss_max;
- /* for drawing connection lines later */
- double pos_x;
- double pos_y;
+ /* for drawing connection lines later */
+ double pos_x;
+ double pos_y;
- struct ps_sched_struct *sample;
+ struct ps_sched_struct *sample;
};
extern int entropy_avail[];
@@ -88,30 +110,24 @@ extern double log_start;
extern double sampletime[];
extern struct ps_struct *ps_first;
extern struct block_stat_struct blockstat[];
-extern struct cpu_stat_struct cpustat[];
extern int pscount;
-extern int relative;
-extern int filter;
-extern int pss;
-extern int entropy;
-extern int initcall;
+extern bool arg_relative;
+extern bool arg_filter;
+extern bool arg_show_cmdline;
+extern bool arg_pss;
+extern bool arg_entropy;
+extern bool initcall;
extern int samples;
extern int cpus;
-extern int len;
-extern double hz;
-extern double scale_x;
-extern double scale_y;
+extern int arg_samples_len;
+extern double arg_hz;
+extern double arg_scale_x;
+extern double arg_scale_y;
extern int overrun;
extern double interval;
-extern char output_path[PATH_MAX];
-extern char init_path[PATH_MAX];
+extern char arg_output_path[PATH_MAX];
+extern char arg_init_path[PATH_MAX];
extern FILE *of;
-extern DIR *proc;
-
-extern double gettime_ns(void);
-extern void log_uptime(void);
-extern void log_sample(int sample);
-
-extern void svg_do(void);
+extern int sysfd;
diff --git a/src/bootchart/log.c b/src/bootchart/log.c
deleted file mode 100644
index 89c7b3523c..0000000000
--- a/src/bootchart/log.c
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
- * log.c
- *
- * Copyright (C) 2009-2012 Intel Coproration
- *
- * Authors:
- * Auke Kok <auke-jan.h.kok@intel.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; version 2
- * of the License.
- */
-
-#define _GNU_SOURCE 1
-#include <unistd.h>
-#include <stdlib.h>
-#include <limits.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdio.h>
-#include <string.h>
-#include <dirent.h>
-#include <fcntl.h>
-#include <time.h>
-
-
-#include "bootchart.h"
-
-/*
- * Alloc a static 4k buffer for stdio - primarily used to increase
- * PSS buffering from the default 1k stdin buffer to reduce
- * read() overhead.
- */
-static char smaps_buf[4096];
-DIR *proc;
-
-
-double gettime_ns(void)
-{
- struct timespec now;
-
- clock_gettime(CLOCK_MONOTONIC, &now);
-
- return (now.tv_sec + (now.tv_nsec / 1000000000.0));
-}
-
-
-void log_uptime(void)
-{
- FILE *f;
- char str[32];
- double uptime;
-
- f = fopen("/proc/uptime", "r");
- if (!f)
- return;
- if (!fscanf(f, "%s %*s", str)) {
- fclose(f);
- return;
- }
- fclose(f);
- uptime = strtod(str, NULL);
-
- log_start = gettime_ns();
-
- /* start graph at kernel boot time */
- if (relative)
- graph_start = log_start;
- else
- graph_start = log_start - uptime;
-}
-
-
-static char *bufgetline(char *buf)
-{
- char *c;
-
- if (!buf)
- return NULL;
-
- c = strchr(buf, '\n');
- if (c)
- c++;
- return c;
-}
-
-
-void log_sample(int sample)
-{
- static int vmstat;
- static int schedstat;
- FILE *st;
- char buf[4095];
- char key[256];
- char val[256];
- char rt[256];
- char wt[256];
- char *m;
- int c;
- int p;
- int mod;
- static int e_fd;
- ssize_t s;
- ssize_t n;
- struct dirent *ent;
-
- if (!vmstat) {
- /* block stuff */
- vmstat = open("/proc/vmstat", O_RDONLY);
- if (vmstat == -1) {
- perror("open /proc/vmstat");
- exit (EXIT_FAILURE);
- }
- }
-
- n = pread(vmstat, buf, sizeof(buf) - 1, 0);
- if (n <= 0) {
- close(vmstat);
- return;
- }
- buf[n] = '\0';
-
- m = buf;
- while (m) {
- if (sscanf(m, "%s %s", key, val) < 2)
- goto vmstat_next;
- if (!strcmp(key, "pgpgin"))
- blockstat[sample].bi = atoi(val);
- if (!strcmp(key, "pgpgout")) {
- blockstat[sample].bo = atoi(val);
- break;
- }
-vmstat_next:
- m = bufgetline(m);
- if (!m)
- break;
- }
-
- if (!schedstat) {
- /* overall CPU utilization */
- schedstat = open("/proc/schedstat", O_RDONLY);
- if (schedstat == -1) {
- perror("open /proc/schedstat");
- exit (EXIT_FAILURE);
- }
- }
-
- n = pread(schedstat, buf, sizeof(buf) - 1, 0);
- if (n <= 0) {
- close(schedstat);
- return;
- }
- buf[n] = '\0';
-
- m = buf;
- while (m) {
- if (sscanf(m, "%s %*s %*s %*s %*s %*s %*s %s %s", key, rt, wt) < 3)
- goto schedstat_next;
-
- if (strstr(key, "cpu")) {
- c = atoi((const char*)(key+3));
- if (c > MAXCPUS)
- /* Oops, we only have room for MAXCPUS data */
- break;
- cpustat[c].sample[sample].runtime = atoll(rt);
- cpustat[c].sample[sample].waittime = atoll(wt);
-
- if (c == cpus)
- cpus = c + 1;
- }
-schedstat_next:
- m = bufgetline(m);
- if (!m)
- break;
- }
-
- if (entropy) {
- if (!e_fd) {
- e_fd = open("/proc/sys/kernel/random/entropy_avail", O_RDONLY);
- }
-
- if (e_fd) {
- n = pread(e_fd, buf, sizeof(buf) - 1, 0);
- if (n > 0)
- entropy_avail[sample] = atoi(buf);
- }
- }
-
- /* all the per-process stuff goes here */
- if (!proc) {
- /* find all processes */
- proc = opendir("/proc");
- if (!proc)
- return;
- } else {
- rewinddir(proc);
- }
-
- while ((ent = readdir(proc)) != NULL) {
- char filename[PATH_MAX];
- int pid;
- struct ps_struct *ps;
-
- if ((ent->d_name[0] < '0') || (ent->d_name[0] > '9'))
- continue;
-
- pid = atoi(ent->d_name);
-
- if (pid >= MAXPIDS)
- continue;
-
- ps = ps_first;
- while (ps->next_ps) {
- ps = ps->next_ps;
- if (ps->pid == pid)
- break;
- }
-
- /* end of our LL? then append a new record */
- if (ps->pid != pid) {
- char t[32];
- struct ps_struct *parent;
-
- ps->next_ps = malloc(sizeof(struct ps_struct));
- if (!ps->next_ps) {
- perror("malloc(ps_struct)");
- exit (EXIT_FAILURE);
- }
- memset(ps->next_ps, 0, sizeof(struct ps_struct));
- ps = ps->next_ps;
- ps->pid = pid;
-
- ps->sample = malloc(sizeof(struct ps_sched_struct) * (len + 1));
- if (!ps->sample) {
- perror("malloc(ps_struct)");
- exit (EXIT_FAILURE);
- }
- memset(ps->sample, 0, sizeof(struct ps_sched_struct) * (len + 1));
-
- pscount++;
-
- /* mark our first sample */
- ps->first = sample;
-
- /* get name, start time */
- if (!ps->sched) {
- sprintf(filename, "/proc/%d/sched", pid);
- ps->sched = open(filename, O_RDONLY);
- if (ps->sched == -1)
- continue;
- }
-
- s = pread(ps->sched, buf, sizeof(buf) - 1, 0);
- if (s <= 0) {
- close(ps->sched);
- continue;
- }
-
- if (!sscanf(buf, "%s %*s %*s", key))
- continue;
-
- strncpy(ps->name, key, 16);
- /* discard line 2 */
- m = bufgetline(buf);
- if (!m)
- continue;
-
- m = bufgetline(m);
- if (!m)
- continue;
-
- if (!sscanf(m, "%*s %*s %s", t))
- continue;
-
- ps->starttime = strtod(t, NULL) / 1000.0;
-
- /* ppid */
- sprintf(filename, "/proc/%d/stat", pid);
- st = fopen(filename, "r");
- if (!st)
- continue;
- if (!fscanf(st, "%*s %*s %*s %i", &p)) {
- fclose(st);
- continue;
- }
- fclose(st);
- ps->ppid = p;
-
- /*
- * setup child pointers
- *
- * these are used to paint the tree coherently later
- * each parent has a LL of children, and a LL of siblings
- */
- if (pid == 1)
- continue; /* nothing to do for init atm */
-
- /* kthreadd has ppid=0, which breaks our tree ordering */
- if (ps->ppid == 0)
- ps->ppid = 1;
-
- parent = ps_first;
- while ((parent->next_ps && parent->pid != ps->ppid))
- parent = parent->next_ps;
-
- if ((!parent) || (parent->pid != ps->ppid)) {
- /* orphan */
- ps->ppid = 1;
- parent = ps_first->next_ps;
- }
-
- ps->parent = parent;
-
- if (!parent->children) {
- /* it's the first child */
- parent->children = ps;
- } else {
- /* walk all children and append */
- struct ps_struct *children;
- children = parent->children;
- while (children->next)
- children = children->next;
- children->next = ps;
- }
- }
-
- /* else -> found pid, append data in ps */
-
- /* below here is all continuous logging parts - we get here on every
- * iteration */
-
- /* rt, wt */
- if (!ps->schedstat) {
- sprintf(filename, "/proc/%d/schedstat", pid);
- ps->schedstat = open(filename, O_RDONLY);
- if (ps->schedstat == -1)
- continue;
- }
-
- if (pread(ps->schedstat, buf, sizeof(buf) - 1, 0) <= 0) {
- /* clean up our file descriptors - assume that the process exited */
- close(ps->schedstat);
- if (ps->sched)
- close(ps->sched);
- //if (ps->smaps)
- // fclose(ps->smaps);
- continue;
- }
- if (!sscanf(buf, "%s %s %*s", rt, wt))
- continue;
-
- ps->last = sample;
- ps->sample[sample].runtime = atoll(rt);
- ps->sample[sample].waittime = atoll(wt);
-
- ps->total = (ps->sample[ps->last].runtime
- - ps->sample[ps->first].runtime)
- / 1000000000.0;
-
- if (!pss)
- goto catch_rename;
- /* Pss */
- if (!ps->smaps) {
- sprintf(filename, "/proc/%d/smaps", pid);
- ps->smaps = fopen(filename, "r");
- setvbuf(ps->smaps, smaps_buf, _IOFBF, sizeof(smaps_buf));
- if (!ps->smaps)
- continue;
- } else {
- rewind(ps->smaps);
- }
-
- while (1) {
- int pss_kb;
-
- /* skip one line, this contains the object mapped */
- if (fgets(buf, sizeof(buf), ps->smaps) == NULL)
- break;
- /* then there's a 28 char 14 line block */
- if (fread(buf, 1, 28 * 14, ps->smaps) != 28 * 14)
- break;
-
- pss_kb = atoi(&buf[61]);
- ps->sample[sample].pss += pss_kb;
- }
-
- if (ps->sample[sample].pss > ps->pss_max)
- ps->pss_max = ps->sample[sample].pss;
-
-catch_rename:
- /* catch process rename, try to randomize time */
- mod = (hz < 4.0) ? 4.0 : (hz / 4.0);
- if (((samples - ps->first) + pid) % (int)(mod) == 0) {
-
- /* re-fetch name */
- /* get name, start time */
- if (!ps->sched) {
- sprintf(filename, "/proc/%d/sched", pid);
- ps->sched = open(filename, O_RDONLY);
- if (ps->sched == -1)
- continue;
- }
- if (pread(ps->sched, buf, sizeof(buf) - 1, 0) <= 0) {
- /* clean up file descriptors */
- close(ps->sched);
- if (ps->schedstat)
- close(ps->schedstat);
- //if (ps->smaps)
- // fclose(ps->smaps);
- continue;
- }
-
- if (!sscanf(buf, "%s %*s %*s", key))
- continue;
-
- strncpy(ps->name, key, 16);
- }
- }
-}
diff --git a/src/bootchart/store.c b/src/bootchart/store.c
new file mode 100755
index 0000000000..b2afb8d13b
--- /dev/null
+++ b/src/bootchart/store.c
@@ -0,0 +1,504 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright (C) 2009-2013 Intel Coproration
+
+ Authors:
+ Auke Kok <auke-jan.h.kok@intel.com>
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ ***/
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <limits.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <stdio.h>
+#include <string.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <time.h>
+
+#include "util.h"
+#include "strxcpyx.h"
+#include "store.h"
+#include "bootchart.h"
+
+/*
+ * Alloc a static 4k buffer for stdio - primarily used to increase
+ * PSS buffering from the default 1k stdin buffer to reduce
+ * read() overhead.
+ */
+static char smaps_buf[4096];
+static int skip = 0;
+DIR *proc;
+int procfd = -1;
+
+double gettime_ns(void) {
+ struct timespec n;
+
+ clock_gettime(CLOCK_MONOTONIC, &n);
+
+ return (n.tv_sec + (n.tv_nsec / 1000000000.0));
+}
+
+void log_uptime(void) {
+ _cleanup_fclose_ FILE *f = NULL;
+ char str[32];
+ double uptime;
+
+ f = fopen("/proc/uptime", "r");
+
+ if (!f)
+ return;
+ if (!fscanf(f, "%s %*s", str))
+ return;
+
+ uptime = strtod(str, NULL);
+
+ log_start = gettime_ns();
+
+ /* start graph at kernel boot time */
+ if (arg_relative)
+ graph_start = log_start;
+ else
+ graph_start = log_start - uptime;
+}
+
+static char *bufgetline(char *buf) {
+ char *c;
+
+ if (!buf)
+ return NULL;
+
+ c = strchr(buf, '\n');
+ if (c)
+ c++;
+ return c;
+}
+
+static int pid_cmdline_strscpy(char *buffer, size_t buf_len, int pid) {
+ char filename[PATH_MAX];
+ _cleanup_close_ int fd=-1;
+ ssize_t n;
+
+ sprintf(filename, "%d/cmdline", pid);
+ fd = openat(procfd, filename, O_RDONLY);
+ if (fd < 0)
+ return -errno;
+
+ n = read(fd, buffer, buf_len-1);
+ if (n > 0) {
+ int i;
+ for (i = 0; i < n; i++)
+ if (buffer[i] == '\0')
+ buffer[i] = ' ';
+ buffer[n] = '\0';
+ }
+ return 0;
+}
+
+void log_sample(int sample, struct list_sample_data **ptr) {
+ static int vmstat;
+ static int schedstat;
+ char buf[4096];
+ char key[256];
+ char val[256];
+ char rt[256];
+ char wt[256];
+ char *m;
+ int c;
+ int p;
+ int mod;
+ static int e_fd;
+ ssize_t s;
+ ssize_t n;
+ struct dirent *ent;
+ int fd;
+ struct list_sample_data *sampledata;
+ struct ps_sched_struct *ps_prev = NULL;
+
+
+
+ sampledata = *ptr;
+
+ /* all the per-process stuff goes here */
+ if (!proc) {
+ /* find all processes */
+ proc = opendir("/proc");
+ if (!proc)
+ return;
+ procfd = dirfd(proc);
+ } else {
+ rewinddir(proc);
+ }
+
+ if (!vmstat) {
+ /* block stuff */
+ vmstat = openat(procfd, "vmstat", O_RDONLY);
+ if (vmstat == -1) {
+ perror("open /proc/vmstat");
+ exit (EXIT_FAILURE);
+ }
+ }
+
+ n = pread(vmstat, buf, sizeof(buf) - 1, 0);
+ if (n <= 0) {
+ close(vmstat);
+ return;
+ }
+ buf[n] = '\0';
+
+ m = buf;
+ while (m) {
+ if (sscanf(m, "%s %s", key, val) < 2)
+ goto vmstat_next;
+ if (streq(key, "pgpgin"))
+ sampledata->blockstat.bi = atoi(val);
+ if (streq(key, "pgpgout")) {
+ sampledata->blockstat.bo = atoi(val);
+ break;
+ }
+vmstat_next:
+ m = bufgetline(m);
+ if (!m)
+ break;
+ }
+
+ if (!schedstat) {
+ /* overall CPU utilization */
+ schedstat = openat(procfd, "schedstat", O_RDONLY);
+ if (schedstat == -1) {
+ perror("open /proc/schedstat");
+ exit (EXIT_FAILURE);
+ }
+ }
+
+ n = pread(schedstat, buf, sizeof(buf) - 1, 0);
+ if (n <= 0) {
+ close(schedstat);
+ return;
+ }
+ buf[n] = '\0';
+
+ m = buf;
+ while (m) {
+ if (sscanf(m, "%s %*s %*s %*s %*s %*s %*s %s %s", key, rt, wt) < 3)
+ goto schedstat_next;
+
+ if (strstr(key, "cpu")) {
+ c = atoi((const char*)(key+3));
+ if (c > MAXCPUS)
+ /* Oops, we only have room for MAXCPUS data */
+ break;
+ sampledata->runtime[c] = atoll(rt);
+ sampledata->waittime[c] = atoll(wt);
+
+ if (c == cpus)
+ cpus = c + 1;
+ }
+schedstat_next:
+ m = bufgetline(m);
+ if (!m)
+ break;
+ }
+
+ if (arg_entropy) {
+ if (!e_fd) {
+ e_fd = openat(procfd, "sys/kernel/random/entropy_avail", O_RDONLY);
+ }
+
+ if (e_fd) {
+ n = pread(e_fd, buf, sizeof(buf) - 1, 0);
+ if (n > 0) {
+ buf[n] = '\0';
+ sampledata->entropy_avail = atoi(buf);
+ }
+ }
+ }
+
+ while ((ent = readdir(proc)) != NULL) {
+ char filename[PATH_MAX];
+ int pid;
+ struct ps_struct *ps;
+
+ if ((ent->d_name[0] < '0') || (ent->d_name[0] > '9'))
+ continue;
+
+ pid = atoi(ent->d_name);
+
+ if (pid >= MAXPIDS)
+ continue;
+
+ ps = ps_first;
+ while (ps->next_ps) {
+ ps = ps->next_ps;
+ if (ps->pid == pid)
+ break;
+ }
+
+ /* end of our LL? then append a new record */
+ if (ps->pid != pid) {
+ _cleanup_fclose_ FILE *st = NULL;
+ char t[32];
+ struct ps_struct *parent;
+
+ ps->next_ps = calloc(1, sizeof(struct ps_struct));
+ if (!ps->next_ps) {
+ perror("calloc(ps_struct)");
+ exit (EXIT_FAILURE);
+ }
+ ps = ps->next_ps;
+ ps->pid = pid;
+
+ ps->sample = calloc(1, sizeof(struct ps_sched_struct));
+ if (!ps->sample) {
+ perror("calloc(ps_struct)");
+ exit (EXIT_FAILURE);
+ }
+ ps->sample->sampledata = sampledata;
+
+ pscount++;
+
+ /* mark our first sample */
+ ps->first = ps->sample;
+ ps->sample->runtime = atoll(rt);
+ ps->sample->waittime = atoll(wt);
+
+ /* get name, start time */
+ if (!ps->sched) {
+ sprintf(filename, "%d/sched", pid);
+ ps->sched = openat(procfd, filename, O_RDONLY);
+ if (ps->sched == -1)
+ continue;
+ }
+
+ s = pread(ps->sched, buf, sizeof(buf) - 1, 0);
+ if (s <= 0) {
+ close(ps->sched);
+ continue;
+ }
+ buf[s] = '\0';
+
+ if (!sscanf(buf, "%s %*s %*s", key))
+ continue;
+
+ strscpy(ps->name, sizeof(ps->name), key);
+
+ /* cmdline */
+ if (arg_show_cmdline)
+ pid_cmdline_strscpy(ps->name, sizeof(ps->name), pid);
+
+ /* discard line 2 */
+ m = bufgetline(buf);
+ if (!m)
+ continue;
+
+ m = bufgetline(m);
+ if (!m)
+ continue;
+
+ if (!sscanf(m, "%*s %*s %s", t))
+ continue;
+
+ ps->starttime = strtod(t, NULL) / 1000.0;
+
+ /* ppid */
+ sprintf(filename, "%d/stat", pid);
+ fd = openat(procfd, filename, O_RDONLY);
+ st = fdopen(fd, "r");
+ if (!st)
+ continue;
+ if (!fscanf(st, "%*s %*s %*s %i", &p)) {
+ continue;
+ }
+ ps->ppid = p;
+
+ /*
+ * setup child pointers
+ *
+ * these are used to paint the tree coherently later
+ * each parent has a LL of children, and a LL of siblings
+ */
+ if (pid == 1)
+ continue; /* nothing to do for init atm */
+
+ /* kthreadd has ppid=0, which breaks our tree ordering */
+ if (ps->ppid == 0)
+ ps->ppid = 1;
+
+ parent = ps_first;
+ while ((parent->next_ps && parent->pid != ps->ppid))
+ parent = parent->next_ps;
+
+ if ((!parent) || (parent->pid != ps->ppid)) {
+ /* orphan */
+ ps->ppid = 1;
+ parent = ps_first->next_ps;
+ }
+
+ ps->parent = parent;
+
+ if (!parent->children) {
+ /* it's the first child */
+ parent->children = ps;
+ } else {
+ /* walk all children and append */
+ struct ps_struct *children;
+ children = parent->children;
+ while (children->next)
+ children = children->next;
+ children->next = ps;
+ }
+ }
+
+ /* else -> found pid, append data in ps */
+
+ /* below here is all continuous logging parts - we get here on every
+ * iteration */
+
+ /* rt, wt */
+ if (!ps->schedstat) {
+ sprintf(filename, "%d/schedstat", pid);
+ ps->schedstat = openat(procfd, filename, O_RDONLY);
+ if (ps->schedstat == -1)
+ continue;
+ }
+ s = pread(ps->schedstat, buf, sizeof(buf) - 1, 0);
+ if (s <= 0) {
+ /* clean up our file descriptors - assume that the process exited */
+ close(ps->schedstat);
+ if (ps->sched)
+ close(ps->sched);
+ //if (ps->smaps)
+ // fclose(ps->smaps);
+ continue;
+ }
+ buf[s] = '\0';
+
+ if (!sscanf(buf, "%s %s %*s", rt, wt))
+ continue;
+
+ ps->sample->next = calloc(1, sizeof(struct ps_sched_struct));
+ if (!ps->sample) {
+ perror("calloc(ps_struct)");
+ exit (EXIT_FAILURE);
+ }
+ ps->sample->next->prev = ps->sample;
+ ps->sample = ps->sample->next;
+ ps->last = ps->sample;
+ ps->sample->runtime = atoll(rt);
+ ps->sample->waittime = atoll(wt);
+ ps->sample->sampledata = sampledata;
+ ps->sample->ps_new = ps;
+ if (ps_prev) {
+ ps_prev->cross = ps->sample;
+ }
+ ps_prev = ps->sample;
+ ps->total = (ps->last->runtime - ps->first->runtime)
+ / 1000000000.0;
+
+ if (!arg_pss)
+ goto catch_rename;
+
+ /* Pss */
+ if (!ps->smaps) {
+ sprintf(filename, "%d/smaps", pid);
+ fd = openat(procfd, filename, O_RDONLY);
+ ps->smaps = fdopen(fd, "r");
+ if (!ps->smaps)
+ continue;
+ setvbuf(ps->smaps, smaps_buf, _IOFBF, sizeof(smaps_buf));
+ }
+ else {
+ rewind(ps->smaps);
+ }
+ /* test to see if we need to skip another field */
+ if (skip == 0) {
+ if (fgets(buf, sizeof(buf), ps->smaps) == NULL) {
+ continue;
+ }
+ if (fread(buf, 1, 28 * 15, ps->smaps) != (28 * 15)) {
+ continue;
+ }
+ if (buf[392] == 'V') {
+ skip = 2;
+ }
+ else {
+ skip = 1;
+ }
+ rewind(ps->smaps);
+ }
+ while (1) {
+ int pss_kb;
+
+ /* skip one line, this contains the object mapped. */
+ if (fgets(buf, sizeof(buf), ps->smaps) == NULL) {
+ break;
+ }
+ /* then there's a 28 char 14 line block */
+ if (fread(buf, 1, 28 * 14, ps->smaps) != 28 * 14) {
+ break;
+ }
+ pss_kb = atoi(&buf[61]);
+ ps->sample->pss += pss_kb;
+
+ /* skip one more line if this is a newer kernel */
+ if (skip == 2) {
+ if (fgets(buf, sizeof(buf), ps->smaps) == NULL)
+ break;
+ }
+ }
+ if (ps->sample->pss > ps->pss_max)
+ ps->pss_max = ps->sample->pss;
+
+catch_rename:
+ /* catch process rename, try to randomize time */
+ mod = (arg_hz < 4.0) ? 4.0 : (arg_hz / 4.0);
+ if (((samples - ps->pid) + pid) % (int)(mod) == 0) {
+
+ /* re-fetch name */
+ /* get name, start time */
+ if (!ps->sched) {
+ sprintf(filename, "%d/sched", pid);
+ ps->sched = openat(procfd, filename, O_RDONLY);
+ if (ps->sched == -1)
+ continue;
+ }
+ s = pread(ps->sched, buf, sizeof(buf) - 1, 0);
+ if (s <= 0) {
+ /* clean up file descriptors */
+ close(ps->sched);
+ if (ps->schedstat)
+ close(ps->schedstat);
+ //if (ps->smaps)
+ // fclose(ps->smaps);
+ continue;
+ }
+ buf[s] = '\0';
+
+ if (!sscanf(buf, "%s %*s %*s", key))
+ continue;
+
+ strscpy(ps->name, sizeof(ps->name), key);
+
+ /* cmdline */
+ if (arg_show_cmdline)
+ pid_cmdline_strscpy(ps->name, sizeof(ps->name), pid);
+ }
+ }
+}
diff --git a/src/bootchart/store.h b/src/bootchart/store.h
new file mode 100644
index 0000000000..7c8ad284da
--- /dev/null
+++ b/src/bootchart/store.h
@@ -0,0 +1,35 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright (C) 2009-2013 Intel Coproration
+
+ Authors:
+ Auke Kok <auke-jan.h.kok@intel.com>
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <dirent.h>
+#include "bootchart.h"
+
+extern DIR *proc;
+extern int procfd;
+
+double gettime_ns(void);
+void log_uptime(void);
+void log_sample(int sample, struct list_sample_data **ptr);
diff --git a/src/bootchart/svg.c b/src/bootchart/svg.c
index 68ec5399ac..859cf81c22 100644
--- a/src/bootchart/svg.c
+++ b/src/bootchart/svg.c
@@ -1,16 +1,26 @@
-/*
- * svg.c
- *
- * Copyright (C) 2009-2012 Intel Coproration
- *
- * Authors:
- * Auke Kok <auke-jan.h.kok@intel.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; version 2
- * of the License.
- */
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright (C) 2009-2013 Intel Coproration
+
+ Authors:
+ Auke Kok <auke-jan.h.kok@intel.com>
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ ***/
#include <stdio.h>
#include <stdarg.h>
@@ -20,35 +30,38 @@
#include <limits.h>
#include <unistd.h>
#include <sys/utsname.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include "util.h"
+#include "macro.h"
+#include "store.h"
+#include "svg.h"
#include "bootchart.h"
+#include "list.h"
-
-#define time_to_graph(t) ((t) * scale_x)
-#define ps_to_graph(n) ((n) * scale_y)
-#define kb_to_graph(m) ((m) * scale_y * 0.0001)
+#define time_to_graph(t) ((t) * arg_scale_x)
+#define ps_to_graph(n) ((n) * arg_scale_y)
+#define kb_to_graph(m) ((m) * arg_scale_y * 0.0001)
#define to_color(n) (192.0 - ((n) * 192.0))
-#define max(x, y) (((x) > (y)) ? (x) : (y))
-#define min(x, y) (((x) < (y)) ? (x) : (y))
-
static char str[8092];
#define svg(a...) do { snprintf(str, 8092, ## a); fputs(str, of); fflush(of); } while (0)
-static const char *colorwheel[12] = {
- "rgb(255,32,32)", // red
- "rgb(32,192,192)", // cyan
- "rgb(255,128,32)", // orange
- "rgb(128,32,192)", // blue-violet
- "rgb(255,255,32)", // yellow
- "rgb(192,32,128)", // red-violet
- "rgb(32,255,32)", // green
- "rgb(255,64,32)", // red-orange
- "rgb(32,32,255)", // blue
- "rgb(255,192,32)", // yellow-orange
- "rgb(192,32,192)", // violet
- "rgb(32,192,32)" // yellow-green
+static const char * const colorwheel[12] = {
+ "rgb(255,32,32)", // red
+ "rgb(32,192,192)", // cyan
+ "rgb(255,128,32)", // orange
+ "rgb(128,32,192)", // blue-violet
+ "rgb(255,255,32)", // yellow
+ "rgb(192,32,128)", // red-violet
+ "rgb(32,255,32)", // green
+ "rgb(255,64,32)", // red-orange
+ "rgb(32,32,255)", // blue
+ "rgb(255,192,32)", // yellow-orange
+ "rgb(192,32,192)", // violet
+ "rgb(32,192,32)" // yellow-green
};
static double idletime = -1.0;
@@ -58,1063 +71,1262 @@ static int kcount = 0;
static float psize = 0;
static float ksize = 0;
static float esize = 0;
+static struct list_sample_data *sampledata;
+static struct list_sample_data *prev_sampledata;
+extern struct list_sample_data *head;
+
+static void svg_header(void) {
+ float w;
+ float h;
+ struct list_sample_data *sampledata_last;
+
+ sampledata = head;
+ LIST_FIND_TAIL(struct list_sample_data, link, sampledata, head);
+ sampledata_last = head;
+ LIST_FOREACH_BEFORE(link, sampledata, head) {
+ sampledata_last = sampledata;
+ }
+
+ /* min width is about 1600px due to the label */
+ w = 150.0 + 10.0 + time_to_graph(sampledata_last->sampletime - graph_start);
+ w = ((w < 1600.0) ? 1600.0 : w);
+
+ /* height is variable based on pss, psize, ksize */
+ h = 400.0 + (arg_scale_y * 30.0) /* base graphs and title */
+ + (arg_pss ? (100.0 * arg_scale_y) + (arg_scale_y * 7.0) : 0.0) /* pss estimate */
+ + psize + ksize + esize;
+
+ svg("<?xml version=\"1.0\" standalone=\"no\"?>\n");
+ svg("<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" ");
+ svg("\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n");
+
+ //svg("<g transform=\"translate(10,%d)\">\n", 1000 + 150 + (pcount * 20));
+ svg("<svg width=\"%.0fpx\" height=\"%.0fpx\" version=\"1.1\" ",
+ w, h);
+ svg("xmlns=\"http://www.w3.org/2000/svg\">\n\n");
+
+ /* write some basic info as a comment, including some help */
+ svg("<!-- This file is a bootchart SVG file. It is best rendered in a browser -->\n");
+ svg("<!-- such as Chrome, Chromium, or Firefox. Other applications that -->\n");
+ svg("<!-- render these files properly but more slowly are ImageMagick, gimp, -->\n");
+ svg("<!-- inkscape, etc. To display the files on your system, just point -->\n");
+ svg("<!-- your browser to file:///run/log/ and click. This bootchart was -->\n\n");
+
+ svg("<!-- generated by bootchart version %s, running with options: -->\n", VERSION);
+ svg("<!-- hz=\"%f\" n=\"%d\" -->\n", arg_hz, arg_samples_len);
+ svg("<!-- x=\"%f\" y=\"%f\" -->\n", arg_scale_x, arg_scale_y);
+ svg("<!-- rel=\"%d\" f=\"%d\" -->\n", arg_relative, arg_filter);
+ svg("<!-- p=\"%d\" e=\"%d\" -->\n", arg_pss, arg_entropy);
+ svg("<!-- o=\"%s\" i=\"%s\" -->\n\n", arg_output_path, arg_init_path);
+
+ /* style sheet */
+ svg("<defs>\n <style type=\"text/css\">\n <![CDATA[\n");
+
+ svg(" rect { stroke-width: 1; }\n");
+ svg(" rect.cpu { fill: rgb(64,64,240); stroke-width: 0; fill-opacity: 0.7; }\n");
+ svg(" rect.wait { fill: rgb(240,240,0); stroke-width: 0; fill-opacity: 0.7; }\n");
+ svg(" rect.bi { fill: rgb(240,128,128); stroke-width: 0; fill-opacity: 0.7; }\n");
+ svg(" rect.bo { fill: rgb(192,64,64); stroke-width: 0; fill-opacity: 0.7; }\n");
+ svg(" rect.ps { fill: rgb(192,192,192); stroke: rgb(128,128,128); fill-opacity: 0.7; }\n");
+ svg(" rect.krnl { fill: rgb(240,240,0); stroke: rgb(128,128,128); fill-opacity: 0.7; }\n");
+ svg(" rect.box { fill: rgb(240,240,240); stroke: rgb(192,192,192); }\n");
+ svg(" rect.clrw { stroke-width: 0; fill-opacity: 0.7;}\n");
+ svg(" line { stroke: rgb(64,64,64); stroke-width: 1; }\n");
+ svg("// line.sec1 { }\n");
+ svg(" line.sec5 { stroke-width: 2; }\n");
+ svg(" line.sec01 { stroke: rgb(224,224,224); stroke-width: 1; }\n");
+ svg(" line.dot { stroke-dasharray: 2 4; }\n");
+ svg(" line.idle { stroke: rgb(64,64,64); stroke-dasharray: 10 6; stroke-opacity: 0.7; }\n");
+
+ svg(" .run { font-size: 8; font-style: italic; }\n");
+ svg(" text { font-family: Verdana, Helvetica; font-size: 10; }\n");
+ svg(" text.sec { font-size: 8; }\n");
+ svg(" text.t1 { font-size: 24; }\n");
+ svg(" text.t2 { font-size: 12; }\n");
+ svg(" text.idle { font-size: 18; }\n");
+
+ svg(" ]]>\n </style>\n</defs>\n\n");
+}
+static void svg_title(const char *build) {
+ char cmdline[256] = "";
+ char filename[PATH_MAX];
+ char buf[256];
+ char rootbdev[16] = "Unknown";
+ char model[256] = "Unknown";
+ char date[256] = "Unknown";
+ char cpu[256] = "Unknown";
+ char *c;
+ FILE *f;
+ time_t t;
+ int fd;
+ struct utsname uts;
+
+ /* grab /proc/cmdline */
+ fd = openat(procfd, "cmdline", O_RDONLY);
+ f = fdopen(fd, "r");
+ if (f) {
+ if (!fgets(cmdline, 255, f))
+ sprintf(cmdline, "Unknown");
+ fclose(f);
+ }
+
+ /* extract root fs so we can find disk model name in sysfs */
+ /* FIXME: this works only in the simple case */
+ c = strstr(cmdline, "root=/dev/");
+ if (c) {
+ strncpy(rootbdev, &c[10], 3);
+ rootbdev[3] = '\0';
+ sprintf(filename, "block/%s/device/model", rootbdev);
+ fd = openat(sysfd, filename, O_RDONLY);
+ f = fdopen(fd, "r");
+ if (f) {
+ if (!fgets(model, 255, f))
+ fprintf(stderr, "Error reading disk model for %s\n", rootbdev);
+ fclose(f);
+ }
+ }
+
+ /* various utsname parameters */
+ if (uname(&uts))
+ fprintf(stderr, "Error getting uname info\n");
+
+ /* date */
+ t = time(NULL);
+ strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", localtime(&t));
+
+ /* CPU type */
+ fd = openat(procfd, "cpuinfo", O_RDONLY);
+ f = fdopen(fd, "r");
+ if (f) {
+ while (fgets(buf, 255, f)) {
+ if (strstr(buf, "model name")) {
+ strncpy(cpu, &buf[13], 255);
+ break;
+ }
+ }
+ fclose(f);
+ }
+
+ svg("<text class=\"t1\" x=\"0\" y=\"30\">Bootchart for %s - %s</text>\n",
+ uts.nodename, date);
+ svg("<text class=\"t2\" x=\"20\" y=\"50\">System: %s %s %s %s</text>\n",
+ uts.sysname, uts.release, uts.version, uts.machine);
+ svg("<text class=\"t2\" x=\"20\" y=\"65\">CPU: %s</text>\n",
+ cpu);
+ svg("<text class=\"t2\" x=\"20\" y=\"80\">Disk: %s</text>\n",
+ model);
+ svg("<text class=\"t2\" x=\"20\" y=\"95\">Boot options: %s</text>\n",
+ cmdline);
+ svg("<text class=\"t2\" x=\"20\" y=\"110\">Build: %s</text>\n",
+ build);
+ svg("<text class=\"t2\" x=\"20\" y=\"125\">Log start time: %.03fs</text>\n", log_start);
+ svg("<text class=\"t2\" x=\"20\" y=\"140\">Idle time: ");
+
+ if (idletime >= 0.0)
+ svg("%.03fs", idletime);
+ else
+ svg("Not detected");
+ svg("</text>\n");
+ svg("<text class=\"sec\" x=\"20\" y=\"155\">Graph data: %.03f samples/sec, recorded %i total, dropped %i samples, %i processes, %i filtered</text>\n",
+ arg_hz, arg_samples_len, overrun, pscount, pfiltered);
+}
-static void svg_header(void)
-{
- float w;
- float h;
-
- /* min width is about 1600px due to the label */
- w = 150.0 + 10.0 + time_to_graph(sampletime[samples-1] - graph_start);
- w = ((w < 1600.0) ? 1600.0 : w);
-
- /* height is variable based on pss, psize, ksize */
- h = 400.0 + (scale_y * 30.0) /* base graphs and title */
- + (pss ? (100.0 * scale_y) + (scale_y * 7.0) : 0.0) /* pss estimate */
- + psize + ksize + esize;
-
- svg("<?xml version=\"1.0\" standalone=\"no\"?>\n");
- svg("<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" ");
- svg("\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n");
-
- //svg("<g transform=\"translate(10,%d)\">\n", 1000 + 150 + (pcount * 20));
- svg("<svg width=\"%.0fpx\" height=\"%.0fpx\" version=\"1.1\" ",
- w, h);
- svg("xmlns=\"http://www.w3.org/2000/svg\">\n\n");
-
- /* write some basic info as a comment, including some help */
- svg("<!-- This file is a bootchart SVG file. It is best rendered in a browser -->\n");
- svg("<!-- such as Chrome/Chromium, firefox. Other applications that render -->\n");
- svg("<!-- these files properly but much more slow are ImageMagick, gimp, -->\n");
- svg("<!-- inkscape, etc.. To display the files on your system, just point -->\n");
- svg("<!-- your browser to file:///var/log/ and click. This bootchart was -->\n\n");
-
- svg("<!-- generated by bootchart version %s, running with options: -->\n", VERSION);
- svg("<!-- hz=\"%f\" n=\"%d\" -->\n", hz, len);
- svg("<!-- x=\"%f\" y=\"%f\" -->\n", scale_x, scale_y);
- svg("<!-- rel=\"%d\" f=\"%d\" -->\n", relative, filter);
- svg("<!-- p=\"%d\" e=\"%d\" -->\n", pss, entropy);
- svg("<!-- o=\"%s\" i=\"%s\" -->\n\n", output_path, init_path);
-
- /* style sheet */
- svg("<defs>\n <style type=\"text/css\">\n <![CDATA[\n");
-
- svg(" rect { stroke-width: 1; }\n");
- svg(" rect.cpu { fill: rgb(64,64,240); stroke-width: 0; fill-opacity: 0.7; }\n");
- svg(" rect.wait { fill: rgb(240,240,0); stroke-width: 0; fill-opacity: 0.7; }\n");
- svg(" rect.bi { fill: rgb(240,128,128); stroke-width: 0; fill-opacity: 0.7; }\n");
- svg(" rect.bo { fill: rgb(192,64,64); stroke-width: 0; fill-opacity: 0.7; }\n");
- svg(" rect.ps { fill: rgb(192,192,192); stroke: rgb(128,128,128); fill-opacity: 0.7; }\n");
- svg(" rect.krnl { fill: rgb(240,240,0); stroke: rgb(128,128,128); fill-opacity: 0.7; }\n");
- svg(" rect.box { fill: rgb(240,240,240); stroke: rgb(192,192,192); }\n");
- svg(" rect.clrw { stroke-width: 0; fill-opacity: 0.7;}\n");
- svg(" line { stroke: rgb(64,64,64); stroke-width: 1; }\n");
- svg("// line.sec1 { }\n");
- svg(" line.sec5 { stroke-width: 2; }\n");
- svg(" line.sec01 { stroke: rgb(224,224,224); stroke-width: 1; }\n");
- svg(" line.dot { stroke-dasharray: 2 4; }\n");
- svg(" line.idle { stroke: rgb(64,64,64); stroke-dasharray: 10 6; stroke-opacity: 0.7; }\n");
-
- svg(" .run { font-size: 8; font-style: italic; }\n");
- svg(" text { font-family: Verdana, Helvetica; font-size: 10; }\n");
- svg(" text.sec { font-size: 8; }\n");
- svg(" text.t1 { font-size: 24; }\n");
- svg(" text.t2 { font-size: 12; }\n");
- svg(" text.idle { font-size: 18; }\n");
-
- svg(" ]]>\n </style>\n</defs>\n\n");
-
+static void svg_graph_box(int height) {
+ double d = 0.0;
+ int i = 0;
+ double finalsample = 0.0;
+ struct list_sample_data *sampledata_last;
+
+ sampledata_last = head;
+ LIST_FOREACH_BEFORE(link, sampledata, head) {
+ sampledata_last = sampledata;
+ }
+
+ finalsample = sampledata_last->sampletime;
+
+ /* outside box, fill */
+ svg("<rect class=\"box\" x=\"%.03f\" y=\"0\" width=\"%.03f\" height=\"%.03f\" />\n",
+ time_to_graph(0.0),
+ time_to_graph(finalsample - graph_start),
+ ps_to_graph(height));
+
+ for (d = graph_start; d <= finalsample;
+ d += (arg_scale_x < 2.0 ? 60.0 : arg_scale_x < 10.0 ? 1.0 : 0.1)) {
+ /* lines for each second */
+ if (i % 50 == 0)
+ svg(" <line class=\"sec5\" x1=\"%.03f\" y1=\"0\" x2=\"%.03f\" y2=\"%.03f\" />\n",
+ time_to_graph(d - graph_start),
+ time_to_graph(d - graph_start),
+ ps_to_graph(height));
+ else if (i % 10 == 0)
+ svg(" <line class=\"sec1\" x1=\"%.03f\" y1=\"0\" x2=\"%.03f\" y2=\"%.03f\" />\n",
+ time_to_graph(d - graph_start),
+ time_to_graph(d - graph_start),
+ ps_to_graph(height));
+ else
+ svg(" <line class=\"sec01\" x1=\"%.03f\" y1=\"0\" x2=\"%.03f\" y2=\"%.03f\" />\n",
+ time_to_graph(d - graph_start),
+ time_to_graph(d - graph_start),
+ ps_to_graph(height));
+
+ /* time label */
+ if (i % 10 == 0)
+ svg(" <text class=\"sec\" x=\"%.03f\" y=\"%.03f\" >%.01fs</text>\n",
+ time_to_graph(d - graph_start),
+ -5.0,
+ d - graph_start);
+
+ i++;
+ }
}
+/* xml comments must not contain "--" */
+static char* xml_comment_encode(const char* name) {
+ char *enc_name, *p;
-static void svg_title(void)
-{
- char cmdline[256] = "";
- char filename[PATH_MAX];
- char buf[256];
- char rootbdev[16] = "Unknown";
- char model[256] = "Unknown";
- char date[256] = "Unknown";
- char cpu[256] = "Unknown";
- char build[256] = "Unknown";
- char *c;
- FILE *f;
- time_t t;
- struct utsname uts;
-
- /* grab /proc/cmdline */
- f = fopen("/proc/cmdline", "r");
- if (f) {
- if (!fgets(cmdline, 255, f))
- sprintf(cmdline, "Unknown");
- fclose(f);
- }
-
- /* extract root fs so we can find disk model name in sysfs */
- c = strstr(cmdline, "root=/dev/");
- if (c) {
- strncpy(rootbdev, &c[10], 3);
- rootbdev[3] = '\0';
- }
- sprintf(filename, "/sys/block/%s/device/model", rootbdev);
- f = fopen(filename, "r");
- if (f) {
- if (!fgets(model, 255, f))
- fprintf(stderr, "Error reading disk model for %s\n", rootbdev);
- fclose(f);
- }
-
- /* various utsname parameters */
- if (uname(&uts))
- fprintf(stderr, "Error getting uname info\n");
-
- /* date */
- t = time(NULL);
- strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", localtime(&t));
-
- /* CPU type */
- f = fopen("/proc/cpuinfo", "r");
- if (f) {
- while (fgets(buf, 255, f)) {
- if (strstr(buf, "model name")) {
- strncpy(cpu, &buf[13], 255);
- break;
- }
- }
- fclose(f);
- }
-
- /* Build - 1st line from /etc/system-release */
- f = fopen("/etc/system-release", "r");
- if (f) {
- if (fgets(buf, 255, f))
- strncpy(build, buf, 255);
- fclose(f);
- }
-
- svg("<text class=\"t1\" x=\"0\" y=\"30\">Bootchart for %s - %s</text>\n",
- uts.nodename, date);
- svg("<text class=\"t2\" x=\"20\" y=\"50\">System: %s %s %s %s</text>\n",
- uts.sysname, uts.release, uts.version, uts.machine);
- svg("<text class=\"t2\" x=\"20\" y=\"65\">CPU: %s</text>\n",
- cpu);
- svg("<text class=\"t2\" x=\"20\" y=\"80\">Disk: %s</text>\n",
- model);
- svg("<text class=\"t2\" x=\"20\" y=\"95\">Boot options: %s</text>\n",
- cmdline);
- svg("<text class=\"t2\" x=\"20\" y=\"110\">Build: %s</text>\n",
- build);
- svg("<text class=\"t2\" x=\"20\" y=\"125\">Log start time: %.03fs</text>\n", log_start);
- svg("<text class=\"t2\" x=\"20\" y=\"140\">Idle time: ");
-
- if (idletime >= 0.0)
- svg("%.03fs", idletime);
- else
- svg("Not detected");
- svg("</text>\n");
- svg("<text class=\"sec\" x=\"20\" y=\"155\">Graph data: %.03f samples/sec, recorded %i total, dropped %i samples, %i processes, %i filtered</text>\n",
- hz, len, overrun, pscount, pfiltered);
-}
+ enc_name = strdup(name);
+ if (!enc_name)
+ return NULL;
+ for (p = enc_name; *p; p++)
+ if (p[0] == '-' && p[1] == '-')
+ p[1] = '_';
-static void svg_graph_box(int height)
-{
- double d = 0.0;
- int i = 0;
-
- /* outside box, fill */
- svg("<rect class=\"box\" x=\"%.03f\" y=\"0\" width=\"%.03f\" height=\"%.03f\" />\n",
- time_to_graph(0.0),
- time_to_graph(sampletime[samples-1] - graph_start),
- ps_to_graph(height));
-
- for (d = graph_start; d <= sampletime[samples-1];
- d += (scale_x < 2.0 ? 60.0 : scale_x < 10.0 ? 1.0 : 0.1)) {
- /* lines for each second */
- if (i % 50 == 0)
- svg(" <line class=\"sec5\" x1=\"%.03f\" y1=\"0\" x2=\"%.03f\" y2=\"%.03f\" />\n",
- time_to_graph(d - graph_start),
- time_to_graph(d - graph_start),
- ps_to_graph(height));
- else if (i % 10 == 0)
- svg(" <line class=\"sec1\" x1=\"%.03f\" y1=\"0\" x2=\"%.03f\" y2=\"%.03f\" />\n",
- time_to_graph(d - graph_start),
- time_to_graph(d - graph_start),
- ps_to_graph(height));
- else
- svg(" <line class=\"sec01\" x1=\"%.03f\" y1=\"0\" x2=\"%.03f\" y2=\"%.03f\" />\n",
- time_to_graph(d - graph_start),
- time_to_graph(d - graph_start),
- ps_to_graph(height));
-
- /* time label */
- if (i % 10 == 0)
- svg(" <text class=\"sec\" x=\"%.03f\" y=\"%.03f\" >%.01fs</text>\n",
- time_to_graph(d - graph_start),
- -5.0,
- d - graph_start);
-
- i++;
- }
+ return enc_name;
}
-
-static void svg_pss_graph(void)
-{
- struct ps_struct *ps;
- int i;
-
- svg("\n\n<!-- Pss memory size graph -->\n");
-
- svg("\n <text class=\"t2\" x=\"5\" y=\"-15\">Memory allocation - Pss</text>\n");
-
- /* vsize 1000 == 1000mb */
- svg_graph_box(100);
- /* draw some hlines for usable memory sizes */
- for (i = 100000; i < 1000000; i += 100000) {
- svg(" <line class=\"sec01\" x1=\"%.03f\" y1=\"%.0f\" x2=\"%.03f\" y2=\"%.0f\"/>\n",
- time_to_graph(.0),
- kb_to_graph(i),
- time_to_graph(sampletime[samples-1] - graph_start),
- kb_to_graph(i));
- svg(" <text class=\"sec\" x=\"%.03f\" y=\"%.0f\">%dM</text>\n",
- time_to_graph(sampletime[samples-1] - graph_start) + 5,
- kb_to_graph(i), (1000000 - i) / 1000);
- }
- svg("\n");
-
- /* now plot the graph itself */
- for (i = 1; i < samples ; i++) {
- int bottom;
- int top;
-
- bottom = 0;
- top = 0;
-
- /* put all the small pss blocks into the bottom */
- ps = ps_first;
- while (ps->next_ps) {
- ps = ps->next_ps;
- if (!ps)
- continue;
- if (ps->sample[i].pss <= (100 * scale_y))
- top += ps->sample[i].pss;
- };
- svg(" <rect class=\"clrw\" style=\"fill: %s\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
- "rgb(64,64,64)",
- time_to_graph(sampletime[i - 1] - graph_start),
- kb_to_graph(1000000.0 - top),
- time_to_graph(sampletime[i] - sampletime[i - 1]),
- kb_to_graph(top - bottom));
-
- bottom = top;
-
- /* now plot the ones that are of significant size */
- ps = ps_first;
- while (ps->next_ps) {
- ps = ps->next_ps;
- if (!ps)
- continue;
- /* don't draw anything smaller than 2mb */
- if (ps->sample[i].pss > (100 * scale_y)) {
- top = bottom + ps->sample[i].pss;
- svg(" <rect class=\"clrw\" style=\"fill: %s\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
- colorwheel[ps->pid % 12],
- time_to_graph(sampletime[i - 1] - graph_start),
- kb_to_graph(1000000.0 - top),
- time_to_graph(sampletime[i] - sampletime[i - 1]),
- kb_to_graph(top - bottom));
- bottom = top;
- }
- }
- }
-
- /* overlay all the text labels */
- for (i = 1; i < samples ; i++) {
- int bottom;
- int top;
-
- bottom = 0;
- top = 0;
-
- /* put all the small pss blocks into the bottom */
- ps = ps_first;
- while (ps->next_ps) {
- ps = ps->next_ps;
- if (!ps)
- continue;
- if (ps->sample[i].pss <= (100 * scale_y))
- top += ps->sample[i].pss;
- };
-
- bottom = top;
-
- /* now plot the ones that are of significant size */
- ps = ps_first;
- while (ps->next_ps) {
- ps = ps->next_ps;
- if (!ps)
- continue;
- /* don't draw anything smaller than 2mb */
- if (ps->sample[i].pss > (100 * scale_y)) {
- top = bottom + ps->sample[i].pss;
- /* draw a label with the process / PID */
- if ((i == 1) || (ps->sample[i - 1].pss <= (100 * scale_y)))
- svg(" <text x=\"%.03f\" y=\"%.03f\">%s [%i]</text>\n",
- time_to_graph(sampletime[i] - graph_start),
- kb_to_graph(1000000.0 - bottom - ((top - bottom) / 2)),
- ps->name,
- ps->pid);
- bottom = top;
- }
- }
- }
-
- /* debug output - full data dump */
- svg("\n\n<!-- PSS map - csv format -->\n");
- ps = ps_first;
- while (ps->next_ps) {
- ps = ps->next_ps;
- if (!ps)
- continue;
- svg("<!-- %s [%d] pss=", ps->name, ps->pid);
- for (i = 0; i < samples ; i++) {
- svg("%d," , ps->sample[i].pss);
- }
- svg(" -->\n");
- }
+static void svg_pss_graph(void) {
+ struct ps_struct *ps;
+ int i;
+ struct list_sample_data *sampledata_last;
+
+ sampledata_last = head;
+ LIST_FOREACH_BEFORE(link, sampledata, head) {
+ sampledata_last = sampledata;
+ }
+
+
+ svg("\n\n<!-- Pss memory size graph -->\n");
+
+ svg("\n <text class=\"t2\" x=\"5\" y=\"-15\">Memory allocation - Pss</text>\n");
+
+ /* vsize 1000 == 1000mb */
+ svg_graph_box(100);
+ /* draw some hlines for usable memory sizes */
+ for (i = 100000; i < 1000000; i += 100000) {
+ svg(" <line class=\"sec01\" x1=\"%.03f\" y1=\"%.0f\" x2=\"%.03f\" y2=\"%.0f\"/>\n",
+ time_to_graph(.0),
+ kb_to_graph(i),
+ time_to_graph(sampledata_last->sampletime - graph_start),
+ kb_to_graph(i));
+ svg(" <text class=\"sec\" x=\"%.03f\" y=\"%.0f\">%dM</text>\n",
+ time_to_graph(sampledata_last->sampletime - graph_start) + 5,
+ kb_to_graph(i), (1000000 - i) / 1000);
+ }
+ svg("\n");
+
+ /* now plot the graph itself */
+ i = 1;
+ prev_sampledata = head;
+ LIST_FOREACH_BEFORE(link, sampledata, head) {
+ int bottom;
+ int top;
+ struct ps_sched_struct *cross_place;
+
+ bottom = 0;
+ top = 0;
+
+ /* put all the small pss blocks into the bottom */
+ ps = ps_first;
+ while (ps->next_ps) {
+ ps = ps->next_ps;
+ if (!ps)
+ continue;
+ ps->sample = ps->first;
+ while (ps->sample->next) {
+ ps->sample = ps->sample->next;
+ if (ps->sample->sampledata == sampledata)
+ break;
+ }
+ if (ps->sample->sampledata == sampledata) {
+ if (ps->sample->pss <= (100 * arg_scale_y))
+ top += ps->sample->pss;
+ break;
+ }
+ }
+ while (ps->sample->cross) {
+ cross_place = ps->sample->cross;
+ ps = ps->sample->cross->ps_new;
+ ps->sample = cross_place;
+ if (ps->sample->pss <= (100 * arg_scale_y))
+ top += ps->sample->pss;
+ }
+
+ svg(" <rect class=\"clrw\" style=\"fill: %s\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
+ "rgb(64,64,64)",
+ time_to_graph(prev_sampledata->sampletime - graph_start),
+ kb_to_graph(1000000.0 - top),
+ time_to_graph(sampledata->sampletime - prev_sampledata->sampletime),
+ kb_to_graph(top - bottom));
+ bottom = top;
+
+ /* now plot the ones that are of significant size */
+ ps = ps_first;
+ while (ps->next_ps) {
+ ps = ps->next_ps;
+ if (!ps)
+ continue;
+ ps->sample = ps->first;
+ while (ps->sample->next) {
+ ps->sample = ps->sample->next;
+ if (ps->sample->sampledata == sampledata)
+ break;
+ }
+ /* don't draw anything smaller than 2mb */
+ if (ps->sample->sampledata == sampledata) {
+ if (ps->sample->pss > (100 * arg_scale_y)) {
+ top = bottom + ps->sample->pss;
+ svg(" <rect class=\"clrw\" style=\"fill: %s\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
+ colorwheel[ps->pid % 12],
+ time_to_graph(prev_sampledata->sampletime - graph_start),
+ kb_to_graph(1000000.0 - top),
+ time_to_graph(sampledata->sampletime - prev_sampledata->sampletime),
+ kb_to_graph(top - bottom));
+ bottom = top;
+ }
+ break;
+ }
+ }
+ while ((cross_place = ps->sample->cross)) {
+ ps = ps->sample->cross->ps_new;
+ ps->sample = cross_place;
+ if (ps->sample->pss > (100 * arg_scale_y)) {
+ top = bottom + ps->sample->pss;
+ svg(" <rect class=\"clrw\" style=\"fill: %s\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
+ colorwheel[ps->pid % 12],
+ time_to_graph(prev_sampledata->sampletime - graph_start),
+ kb_to_graph(1000000.0 - top),
+ time_to_graph(sampledata->sampletime - prev_sampledata->sampletime),
+ kb_to_graph(top - bottom));
+ bottom = top;
+ }
+ }
+ prev_sampledata = sampledata;
+ i++;
+ }
+
+ /* overlay all the text labels */
+ i = 1;
+ LIST_FOREACH_BEFORE(link, sampledata, head) {
+ int bottom;
+ int top;
+ struct ps_sched_struct *prev_sample;
+ struct ps_sched_struct *cross_place;
+
+ bottom = 0;
+ top = 0;
+
+ /* put all the small pss blocks into the bottom */
+ ps = ps_first->next_ps;
+ while (ps->next_ps) {
+ ps = ps->next_ps;
+ if (!ps)
+ continue;
+ ps->sample = ps->first;
+ while (ps->sample->next) {
+ ps->sample = ps->sample->next;
+ if (ps->sample->sampledata == sampledata)
+ break;
+ }
+ if (ps->sample->sampledata == sampledata) {
+ if (ps->sample->pss <= (100 * arg_scale_y))
+ top += ps->sample->pss;
+ break;
+ }
+ }
+ while ((cross_place = ps->sample->cross)) {
+ ps = ps->sample->cross->ps_new;
+ ps->sample = cross_place;
+ if (ps->sample->pss <= (100 * arg_scale_y))
+ top += ps->sample->pss;
+ }
+ bottom = top;
+
+ /* now plot the ones that are of significant size */
+ ps = ps_first;
+ while (ps->next_ps) {
+ prev_sample = ps->sample;
+ ps = ps->next_ps;
+ if (!ps)
+ continue;
+ ps->sample = ps->first;
+ while (ps->sample->next) {
+ prev_sample = ps->sample;
+ ps->sample = ps->sample->next;
+ if (ps->sample->sampledata == sampledata)
+ break;
+ }
+ /* don't draw anything smaller than 2mb */
+ if (ps->sample->sampledata == sampledata) {
+ if (ps->sample->pss > (100 * arg_scale_y)) {
+ top = bottom + ps->sample->pss;
+ /* draw a label with the process / PID */
+ if ((i == 1) || (prev_sample->pss <= (100 * arg_scale_y)))
+ svg(" <text x=\"%.03f\" y=\"%.03f\"><![CDATA[%s]]> [%i]</text>\n",
+ time_to_graph(sampledata->sampletime - graph_start),
+ kb_to_graph(1000000.0 - bottom - ((top - bottom) / 2)),
+ ps->name,
+ ps->pid);
+ bottom = top;
+ }
+ break;
+ }
+ }
+ while ((cross_place = ps->sample->cross)) {
+ ps = ps->sample->cross->ps_new;
+ ps->sample = cross_place;
+ prev_sample = ps->sample->prev;
+ if (ps->sample->pss > (100 * arg_scale_y)) {
+ top = bottom + ps->sample->pss;
+ /* draw a label with the process / PID */
+ if ((i == 1) || (prev_sample->pss <= (100 * arg_scale_y)))
+ svg(" <text x=\"%.03f\" y=\"%.03f\"><![CDATA[%s]]> [%i]</text>\n",
+ time_to_graph(sampledata->sampletime - graph_start),
+ kb_to_graph(1000000.0 - bottom - ((top - bottom) / 2)),
+ ps->name,
+ ps->pid);
+ bottom = top;
+ }
+ }
+ i++;
+ }
+
+ /* debug output - full data dump */
+ svg("\n\n<!-- PSS map - csv format -->\n");
+ ps = ps_first;
+ while (ps->next_ps) {
+ _cleanup_free_ char *enc_name = NULL;
+ ps = ps->next_ps;
+ if (!ps)
+ continue;
+
+ enc_name = xml_comment_encode(ps->name);
+ if(!enc_name)
+ continue;
+
+ svg("<!-- %s [%d] pss=", enc_name, ps->pid);
+
+ ps->sample = ps->first;
+ while (ps->sample->next) {
+ ps->sample = ps->sample->next;
+ svg("%d," , ps->sample->pss);
+ }
+ svg(" -->\n");
+ }
}
-static void svg_io_bi_bar(void)
-{
- double max = 0.0;
- double range;
- int max_here = 0;
- int i;
-
- svg("<!-- IO utilization graph - In -->\n");
-
- svg("<text class=\"t2\" x=\"5\" y=\"-15\">IO utilization - read</text>\n");
-
- /*
- * calculate rounding range
- *
- * We need to round IO data since IO block data is not updated on
- * each poll. Applying a smoothing function loses some burst data,
- * so keep the smoothing range short.
- */
- range = 0.25 / (1.0 / hz);
- if (range < 2.0)
- range = 2.0; /* no smoothing */
-
- /* surrounding box */
- svg_graph_box(5);
-
- /* find the max IO first */
- for (i = 1; i < samples; i++) {
- int start;
- int stop;
- double tot;
-
- start = max(i - ((range / 2) - 1), 0);
- stop = min(i + (range / 2), samples - 1);
-
- tot = (double)(blockstat[stop].bi - blockstat[start].bi)
- / (stop - start);
- if (tot > max) {
- max = tot;
- max_here = i;
- }
- tot = (double)(blockstat[stop].bo - blockstat[start].bo)
- / (stop - start);
- if (tot > max)
- max = tot;
- }
-
- /* plot bi */
- for (i = 1; i < samples; i++) {
- int start;
- int stop;
- double tot;
- double pbi;
-
- start = max(i - ((range / 2) - 1), 0);
- stop = min(i + (range / 2), samples);
-
- tot = (double)(blockstat[stop].bi - blockstat[start].bi)
- / (stop - start);
- pbi = tot / max;
-
- if (pbi > 0.001)
- svg("<rect class=\"bi\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
- time_to_graph(sampletime[i - 1] - graph_start),
- (scale_y * 5) - (pbi * (scale_y * 5)),
- time_to_graph(sampletime[i] - sampletime[i - 1]),
- pbi * (scale_y * 5));
-
- /* labels around highest value */
- if (i == max_here) {
- svg(" <text class=\"sec\" x=\"%.03f\" y=\"%.03f\">%0.2fmb/sec</text>\n",
- time_to_graph(sampletime[i] - graph_start) + 5,
- ((scale_y * 5) - (pbi * (scale_y * 5))) + 15,
- max / 1024.0 / (interval / 1000000000.0));
- }
- }
+static void svg_io_bi_bar(void) {
+ double max = 0.0;
+ double range;
+ int max_here = 0;
+ int i;
+ int k;
+ struct list_sample_data *start_sampledata = sampledata;
+ struct list_sample_data *stop_sampledata = sampledata;
+
+ svg("<!-- IO utilization graph - In -->\n");
+
+ svg("<text class=\"t2\" x=\"5\" y=\"-15\">IO utilization - read</text>\n");
+
+ /*
+ * calculate rounding range
+ *
+ * We need to round IO data since IO block data is not updated on
+ * each poll. Applying a smoothing function loses some burst data,
+ * so keep the smoothing range short.
+ */
+ range = 0.25 / (1.0 / arg_hz);
+ if (range < 2.0)
+ range = 2.0; /* no smoothing */
+
+ /* surrounding box */
+ svg_graph_box(5);
+
+ /* find the max IO first */
+ i = 1;
+ LIST_FOREACH_BEFORE(link, sampledata, head) {
+ int start;
+ int stop;
+ int diff;
+ double tot;
+
+ start = MAX(i - ((range / 2) - 1), 0);
+ stop = MIN(i + (range / 2), samples - 1);
+ diff = (stop - start);
+
+ start_sampledata = sampledata;
+ stop_sampledata = sampledata;
+
+ for (k=0;(k<((range/2)-1))&&(start_sampledata->link_next);k++)
+ start_sampledata = start_sampledata->link_next;
+ for (k=0;(k<(range/2))&&(stop_sampledata->link_prev);k++)
+ stop_sampledata = stop_sampledata->link_prev;
+
+ tot = (double)(stop_sampledata->blockstat.bi - start_sampledata->blockstat.bi)
+ / diff;
+
+ if (tot > max) {
+ max = tot;
+ max_here = i;
+ }
+
+ tot = (double)(stop_sampledata->blockstat.bo - start_sampledata->blockstat.bo)
+ / diff;
+
+ if (tot > max)
+ max = tot;
+
+ i++;
+ }
+
+ /* plot bi */
+ i = 1;
+ prev_sampledata = head;
+ LIST_FOREACH_BEFORE(link, sampledata, head) {
+ int start;
+ int stop;
+ int diff;
+ double tot;
+ double pbi;
+
+ tot = 0;
+ pbi = 0;
+
+ start = MAX(i - ((range / 2) - 1), 0);
+ stop = MIN(i + (range / 2), samples);
+ diff = (stop - start);
+
+ start_sampledata = sampledata;
+ stop_sampledata = sampledata;
+
+ for (k=0;(k<((range/2)-1))&&(start_sampledata->link_next);k++)
+ start_sampledata = start_sampledata->link_next;
+ for (k=0;(k<(range/2))&&(stop_sampledata->link_prev);k++)
+ stop_sampledata = stop_sampledata->link_prev;
+
+ tot = (double)(stop_sampledata->blockstat.bi - start_sampledata->blockstat.bi)
+ / diff;
+
+ if (max > 0)
+ pbi = tot / max;
+
+ if (pbi > 0.001)
+ svg("<rect class=\"bi\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
+ time_to_graph(prev_sampledata->sampletime - graph_start),
+ (arg_scale_y * 5) - (pbi * (arg_scale_y * 5)),
+ time_to_graph(sampledata->sampletime - prev_sampledata->sampletime),
+ pbi * (arg_scale_y * 5));
+
+ /* labels around highest value */
+ if (i == max_here) {
+ svg(" <text class=\"sec\" x=\"%.03f\" y=\"%.03f\">%0.2fmb/sec</text>\n",
+ time_to_graph(sampledata->sampletime - graph_start) + 5,
+ ((arg_scale_y * 5) - (pbi * (arg_scale_y * 5))) + 15,
+ max / 1024.0 / (interval / 1000000000.0));
+ }
+ i++;
+ prev_sampledata = sampledata;
+ }
}
-static void svg_io_bo_bar(void)
-{
- double max = 0.0;
- double range;
- int max_here = 0;
- int i;
-
- svg("<!-- IO utilization graph - out -->\n");
-
- svg("<text class=\"t2\" x=\"5\" y=\"-15\">IO utilization - write</text>\n");
-
- /*
- * calculate rounding range
- *
- * We need to round IO data since IO block data is not updated on
- * each poll. Applying a smoothing function loses some burst data,
- * so keep the smoothing range short.
- */
- range = 0.25 / (1.0 / hz);
- if (range < 2.0)
- range = 2.0; /* no smoothing */
-
- /* surrounding box */
- svg_graph_box(5);
-
- /* find the max IO first */
- for (i = 1; i < samples; i++) {
- int start;
- int stop;
- double tot;
-
- start = max(i - ((range / 2) - 1), 0);
- stop = min(i + (range / 2), samples - 1);
-
- tot = (double)(blockstat[stop].bi - blockstat[start].bi)
- / (stop - start);
- if (tot > max)
- max = tot;
- tot = (double)(blockstat[stop].bo - blockstat[start].bo)
- / (stop - start);
- if (tot > max) {
- max = tot;
- max_here = i;
- }
- }
-
- /* plot bo */
- for (i = 1; i < samples; i++) {
- int start;
- int stop;
- double tot;
- double pbo;
-
- start = max(i - ((range / 2) - 1), 0);
- stop = min(i + (range / 2), samples);
-
- tot = (double)(blockstat[stop].bo - blockstat[start].bo)
- / (stop - start);
- pbo = tot / max;
-
- if (pbo > 0.001)
- svg("<rect class=\"bo\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
- time_to_graph(sampletime[i - 1] - graph_start),
- (scale_y * 5) - (pbo * (scale_y * 5)),
- time_to_graph(sampletime[i] - sampletime[i - 1]),
- pbo * (scale_y * 5));
-
- /* labels around highest bo value */
- if (i == max_here) {
- svg(" <text class=\"sec\" x=\"%.03f\" y=\"%.03f\">%0.2fmb/sec</text>\n",
- time_to_graph(sampletime[i] - graph_start) + 5,
- ((scale_y * 5) - (pbo * (scale_y * 5))),
- max / 1024.0 / (interval / 1000000000.0));
- }
- }
+static void svg_io_bo_bar(void) {
+ double max = 0.0;
+ double range;
+ int max_here = 0;
+ int i;
+ int k;
+ struct list_sample_data *start_sampledata = sampledata;
+ struct list_sample_data *stop_sampledata = sampledata;
+
+ svg("<!-- IO utilization graph - out -->\n");
+
+ svg("<text class=\"t2\" x=\"5\" y=\"-15\">IO utilization - write</text>\n");
+
+ /*
+ * calculate rounding range
+ *
+ * We need to round IO data since IO block data is not updated on
+ * each poll. Applying a smoothing function loses some burst data,
+ * so keep the smoothing range short.
+ */
+ range = 0.25 / (1.0 / arg_hz);
+ if (range < 2.0)
+ range = 2.0; /* no smoothing */
+
+ /* surrounding box */
+ svg_graph_box(5);
+
+ /* find the max IO first */
+ i = 0;
+ LIST_FOREACH_BEFORE(link, sampledata, head) {
+ int start;
+ int stop;
+ int diff;
+ double tot;
+
+ start = MAX(i - ((range / 2) - 1), 0);
+ stop = MIN(i + (range / 2), samples - 1);
+ diff = (stop - start);
+
+ start_sampledata = sampledata;
+ stop_sampledata = sampledata;
+
+ for (k=0;(k<((range/2)-1))&&(start_sampledata->link_next);k++)
+ start_sampledata = start_sampledata->link_next;
+ for (k=0;(k<(range/2))&&(stop_sampledata->link_prev);k++)
+ stop_sampledata = stop_sampledata->link_prev;
+
+ tot = (double)(stop_sampledata->blockstat.bi - start_sampledata->blockstat.bi)
+ / diff;
+ if (tot > max)
+ max = tot;
+ tot = (double)(stop_sampledata->blockstat.bo - start_sampledata->blockstat.bo)
+ / diff;
+ if (tot > max) {
+ max = tot;
+ max_here = i;
+ }
+ i++;
+ }
+
+ /* plot bo */
+ prev_sampledata = head;
+ i=1;
+ LIST_FOREACH_BEFORE(link, sampledata, head) {
+ int start;
+ int stop;
+ int diff;
+ double tot;
+ double pbo;
+
+ tot = 0;
+ pbo = 0;
+
+ start = MAX(i - ((range / 2) - 1), 0);
+ stop = MIN(i + (range / 2), samples);
+ diff = (stop - start);
+
+ start_sampledata = sampledata;
+ stop_sampledata = sampledata;
+
+ for (k=0;(k<((range/2)-1))&&(start_sampledata->link_next);k++)
+ start_sampledata = start_sampledata->link_next;
+ for (k=0;(k<(range/2))&&(stop_sampledata->link_prev);k++)
+ stop_sampledata = stop_sampledata->link_prev;
+
+ tot = (double)(stop_sampledata->blockstat.bo - start_sampledata->blockstat.bo)
+ / diff;
+
+ if (max > 0)
+ pbo = tot / max;
+
+ if (pbo > 0.001)
+ svg("<rect class=\"bo\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
+ time_to_graph(prev_sampledata->sampletime - graph_start),
+ (arg_scale_y * 5) - (pbo * (arg_scale_y * 5)),
+ time_to_graph(sampledata->sampletime - prev_sampledata->sampletime),
+ pbo * (arg_scale_y * 5));
+
+ /* labels around highest bo value */
+ if (i == max_here) {
+ svg(" <text class=\"sec\" x=\"%.03f\" y=\"%.03f\">%0.2fmb/sec</text>\n",
+ time_to_graph(sampledata->sampletime - graph_start) + 5,
+ ((arg_scale_y * 5) - (pbo * (arg_scale_y * 5))),
+ max / 1024.0 / (interval / 1000000000.0));
+ }
+ i++;
+ prev_sampledata = sampledata;
+ }
}
+static void svg_cpu_bar(void) {
-static void svg_cpu_bar(void)
-{
- int i;
-
- svg("<!-- CPU utilization graph -->\n");
+ svg("<!-- CPU utilization graph -->\n");
- svg("<text class=\"t2\" x=\"5\" y=\"-15\">CPU utilization</text>\n");
- /* surrounding box */
- svg_graph_box(5);
+ svg("<text class=\"t2\" x=\"5\" y=\"-15\">CPU utilization</text>\n");
+ /* surrounding box */
+ svg_graph_box(5);
- /* bars for each sample, proportional to the CPU util. */
- for (i = 1; i < samples; i++) {
- int c;
- double trt;
- double ptrt;
+ /* bars for each sample, proportional to the CPU util. */
+ prev_sampledata = head;
+ LIST_FOREACH_BEFORE(link, sampledata, head) {
+ int c;
+ double trt;
+ double ptrt;
- ptrt = trt = 0.0;
+ ptrt = trt = 0.0;
- for (c = 0; c < cpus; c++)
- trt += cpustat[c].sample[i].runtime - cpustat[c].sample[i - 1].runtime;
+ for (c = 0; c < cpus; c++)
+ trt += sampledata->runtime[c] - prev_sampledata->runtime[c];
- trt = trt / 1000000000.0;
+ trt = trt / 1000000000.0;
- trt = trt / (double)cpus;
+ trt = trt / (double)cpus;
- if (trt > 0.0)
- ptrt = trt / (sampletime[i] - sampletime[i - 1]);
+ if (trt > 0.0)
+ ptrt = trt / (sampledata->sampletime - prev_sampledata->sampletime);
- if (ptrt > 1.0)
- ptrt = 1.0;
+ if (ptrt > 1.0)
+ ptrt = 1.0;
- if (ptrt > 0.001) {
- svg("<rect class=\"cpu\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
- time_to_graph(sampletime[i - 1] - graph_start),
- (scale_y * 5) - (ptrt * (scale_y * 5)),
- time_to_graph(sampletime[i] - sampletime[i - 1]),
- ptrt * (scale_y * 5));
- }
- }
+ if (ptrt > 0.001) {
+ svg("<rect class=\"cpu\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
+ time_to_graph(prev_sampledata->sampletime - graph_start),
+ (arg_scale_y * 5) - (ptrt * (arg_scale_y * 5)),
+ time_to_graph(sampledata->sampletime - prev_sampledata->sampletime),
+ ptrt * (arg_scale_y * 5));
+ }
+ prev_sampledata = sampledata;
+ }
}
-static void svg_wait_bar(void)
-{
- int i;
+static void svg_wait_bar(void) {
- svg("<!-- Wait time aggregation box -->\n");
+ svg("<!-- Wait time aggregation box -->\n");
- svg("<text class=\"t2\" x=\"5\" y=\"-15\">CPU wait</text>\n");
+ svg("<text class=\"t2\" x=\"5\" y=\"-15\">CPU wait</text>\n");
- /* surrounding box */
- svg_graph_box(5);
+ /* surrounding box */
+ svg_graph_box(5);
- /* bars for each sample, proportional to the CPU util. */
- for (i = 1; i < samples; i++) {
- int c;
- double twt;
- double ptwt;
+ /* bars for each sample, proportional to the CPU util. */
+ prev_sampledata = head;
+ LIST_FOREACH_BEFORE(link, sampledata, head) {
+ int c;
+ double twt;
+ double ptwt;
- ptwt = twt = 0.0;
+ ptwt = twt = 0.0;
- for (c = 0; c < cpus; c++)
- twt += cpustat[c].sample[i].waittime - cpustat[c].sample[i - 1].waittime;
+ for (c = 0; c < cpus; c++)
+ twt += sampledata->waittime[c] - prev_sampledata->waittime[c];
- twt = twt / 1000000000.0;
+ twt = twt / 1000000000.0;
- twt = twt / (double)cpus;
+ twt = twt / (double)cpus;
- if (twt > 0.0)
- ptwt = twt / (sampletime[i] - sampletime[i - 1]);
+ if (twt > 0.0)
+ ptwt = twt / (sampledata->sampletime - prev_sampledata->sampletime);
- if (ptwt > 1.0)
- ptwt = 1.0;
+ if (ptwt > 1.0)
+ ptwt = 1.0;
- if (ptwt > 0.001) {
- svg("<rect class=\"wait\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
- time_to_graph(sampletime[i - 1] - graph_start),
- ((scale_y * 5) - (ptwt * (scale_y * 5))),
- time_to_graph(sampletime[i] - sampletime[i - 1]),
- ptwt * (scale_y * 5));
- }
- }
+ if (ptwt > 0.001) {
+ svg("<rect class=\"wait\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
+ time_to_graph(prev_sampledata->sampletime - graph_start),
+ ((arg_scale_y * 5) - (ptwt * (arg_scale_y * 5))),
+ time_to_graph(sampledata->sampletime - prev_sampledata->sampletime),
+ ptwt * (arg_scale_y * 5));
+ }
+ prev_sampledata = sampledata;
+ }
}
-static void svg_entropy_bar(void)
-{
- int i;
+static void svg_entropy_bar(void) {
- svg("<!-- entropy pool graph -->\n");
+ svg("<!-- entropy pool graph -->\n");
- svg("<text class=\"t2\" x=\"5\" y=\"-15\">Entropy pool size</text>\n");
- /* surrounding box */
- svg_graph_box(5);
+ svg("<text class=\"t2\" x=\"5\" y=\"-15\">Entropy pool size</text>\n");
+ /* surrounding box */
+ svg_graph_box(5);
- /* bars for each sample, scale 0-4096 */
- for (i = 1; i < samples; i++) {
- /* svg("<!-- entropy %.03f %i -->\n", sampletime[i], entropy_avail[i]); */
- svg("<rect class=\"cpu\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
- time_to_graph(sampletime[i - 1] - graph_start),
- ((scale_y * 5) - ((entropy_avail[i] / 4096.) * (scale_y * 5))),
- time_to_graph(sampletime[i] - sampletime[i - 1]),
- (entropy_avail[i] / 4096.) * (scale_y * 5));
- }
+ /* bars for each sample, scale 0-4096 */
+ prev_sampledata = head;
+ LIST_FOREACH_BEFORE(link, sampledata, head) {
+ /* svg("<!-- entropy %.03f %i -->\n", sampletime[i], entropy_avail[i]); */
+ svg("<rect class=\"cpu\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
+ time_to_graph(prev_sampledata->sampletime - graph_start),
+ ((arg_scale_y * 5) - ((sampledata->entropy_avail / 4096.) * (arg_scale_y * 5))),
+ time_to_graph(sampledata->sampletime - prev_sampledata->sampletime),
+ (sampledata->entropy_avail / 4096.) * (arg_scale_y * 5));
+ prev_sampledata = sampledata;
+ }
}
-
-static struct ps_struct *get_next_ps(struct ps_struct *ps)
-{
- /*
- * walk the list of processes and return the next one to be
- * painted
- */
- if (ps == ps_first)
- return ps->next_ps;
-
- /* go deep */
- if (ps->children)
- return ps->children;
-
- /* find siblings */
- if (ps->next)
- return ps->next;
-
- /* go back for parent siblings */
- while (1) {
- if (ps->parent)
- if (ps->parent->next)
- return ps->parent->next;
- ps = ps->parent;
- if (!ps)
- return ps;
- }
-
- return NULL;
+static struct ps_struct *get_next_ps(struct ps_struct *ps) {
+ /*
+ * walk the list of processes and return the next one to be
+ * painted
+ */
+ if (ps == ps_first)
+ return ps->next_ps;
+
+ /* go deep */
+ if (ps->children)
+ return ps->children;
+
+ /* find siblings */
+ if (ps->next)
+ return ps->next;
+
+ /* go back for parent siblings */
+ while (1) {
+ if (ps->parent)
+ if (ps->parent->next)
+ return ps->parent->next;
+ ps = ps->parent;
+ if (!ps)
+ return ps;
+ }
+
+ return NULL;
}
+static int ps_filter(struct ps_struct *ps) {
+ if (!arg_filter)
+ return 0;
-static int ps_filter(struct ps_struct *ps)
-{
- if (!filter)
- return 0;
-
- /* can't draw data when there is only 1 sample (need start + stop) */
- if (ps->first == ps->last)
- return -1;
+ /* can't draw data when there is only 1 sample (need start + stop) */
+ if (ps->first == ps->last)
+ return -1;
- /* don't filter kthreadd */
- if (ps->pid == 2)
- return 0;
+ /* don't filter kthreadd */
+ if (ps->pid == 2)
+ return 0;
- /* drop stuff that doesn't use any real CPU time */
- if (ps->total <= 0.001)
- return -1;
+ /* drop stuff that doesn't use any real CPU time */
+ if (ps->total <= 0.001)
+ return -1;
- return 0;
+ return 0;
}
-
-static void svg_do_initcall(int count_only)
-{
- FILE *f;
- double t;
- char func[256];
- int ret;
- int usecs;
-
- /* can't plot initcall when disabled or in relative mode */
- if (!initcall || relative) {
- kcount = 0;
- return;
- }
-
- if (!count_only) {
- svg("<!-- initcall -->\n");
-
- svg("<text class=\"t2\" x=\"5\" y=\"-15\">Kernel init threads</text>\n");
- /* surrounding box */
- svg_graph_box(kcount);
- }
-
- kcount = 0;
-
- /*
- * Initcall graphing - parses dmesg buffer and displays kernel threads
- * This somewhat uses the same methods and scaling to show processes
- * but looks a lot simpler. It's overlaid entirely onto the PS graph
- * when appropriate.
- */
-
- f = popen("dmesg", "r");
- if (!f)
- return;
-
- while (!feof(f)) {
- int c;
- int z = 0;
- char l[256];
-
- if (fgets(l, sizeof(l) - 1, f) == NULL)
- continue;
-
- c = sscanf(l, "[%lf] initcall %s %*s %d %*s %d %*s",
- &t, func, &ret, &usecs);
- if (c != 4) {
- /* also parse initcalls done by module loading */
- c = sscanf(l, "[%lf] initcall %s %*s %*s %d %*s %d %*s",
- &t, func, &ret, &usecs);
- if (c != 4)
- continue;
- }
-
- /* chop the +0xXX/0xXX stuff */
- while(func[z] != '+')
- z++;
- func[z] = 0;
-
- if (count_only) {
- /* filter out irrelevant stuff */
- if (usecs >= 1000)
- kcount++;
- continue;
- }
-
- svg("<!-- thread=\"%s\" time=\"%.3f\" elapsed=\"%d\" result=\"%d\" -->\n",
- func, t, usecs, ret);
-
- if (usecs < 1000)
- continue;
-
- /* rect */
- svg(" <rect class=\"krnl\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
- time_to_graph(t - (usecs / 1000000.0)),
- ps_to_graph(kcount),
- time_to_graph(usecs / 1000000.0),
- ps_to_graph(1));
-
- /* label */
- svg(" <text x=\"%.03f\" y=\"%.03f\">%s <tspan class=\"run\">%.03fs</tspan></text>\n",
- time_to_graph(t - (usecs / 1000000.0)) + 5,
- ps_to_graph(kcount) + 15,
- func,
- usecs / 1000000.0);
-
- kcount++;
- }
-
- fclose(f);
+static void svg_do_initcall(int count_only) {
+ _cleanup_pclose_ FILE *f = NULL;
+ double t;
+ char func[256];
+ int ret;
+ int usecs;
+
+ /* can't plot initcall when disabled or in relative mode */
+ if (!initcall || arg_relative) {
+ kcount = 0;
+ return;
+ }
+
+ if (!count_only) {
+ svg("<!-- initcall -->\n");
+
+ svg("<text class=\"t2\" x=\"5\" y=\"-15\">Kernel init threads</text>\n");
+ /* surrounding box */
+ svg_graph_box(kcount);
+ }
+
+ kcount = 0;
+
+ /*
+ * Initcall graphing - parses dmesg buffer and displays kernel threads
+ * This somewhat uses the same methods and scaling to show processes
+ * but looks a lot simpler. It's overlaid entirely onto the PS graph
+ * when appropriate.
+ */
+
+ f = popen("dmesg", "r");
+ if (!f)
+ return;
+
+ while (!feof(f)) {
+ int c;
+ int z = 0;
+ char l[256];
+
+ if (fgets(l, sizeof(l) - 1, f) == NULL)
+ continue;
+
+ c = sscanf(l, "[%lf] initcall %s %*s %d %*s %d %*s",
+ &t, func, &ret, &usecs);
+ if (c != 4) {
+ /* also parse initcalls done by module loading */
+ c = sscanf(l, "[%lf] initcall %s %*s %*s %d %*s %d %*s",
+ &t, func, &ret, &usecs);
+ if (c != 4)
+ continue;
+ }
+
+ /* chop the +0xXX/0xXX stuff */
+ while(func[z] != '+')
+ z++;
+ func[z] = 0;
+
+ if (count_only) {
+ /* filter out irrelevant stuff */
+ if (usecs >= 1000)
+ kcount++;
+ continue;
+ }
+
+ svg("<!-- thread=\"%s\" time=\"%.3f\" elapsed=\"%d\" result=\"%d\" -->\n",
+ func, t, usecs, ret);
+
+ if (usecs < 1000)
+ continue;
+
+ /* rect */
+ svg(" <rect class=\"krnl\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
+ time_to_graph(t - (usecs / 1000000.0)),
+ ps_to_graph(kcount),
+ time_to_graph(usecs / 1000000.0),
+ ps_to_graph(1));
+
+ /* label */
+ svg(" <text x=\"%.03f\" y=\"%.03f\">%s <tspan class=\"run\">%.03fs</tspan></text>\n",
+ time_to_graph(t - (usecs / 1000000.0)) + 5,
+ ps_to_graph(kcount) + 15,
+ func,
+ usecs / 1000000.0);
+
+ kcount++;
+ }
}
-
-static void svg_ps_bars(void)
-{
- struct ps_struct *ps;
- int i = 0;
- int j = 0;
- int w;
- int pid;
-
- svg("<!-- Process graph -->\n");
-
- svg("<text class=\"t2\" x=\"5\" y=\"-15\">Processes</text>\n");
-
- /* surrounding box */
- svg_graph_box(pcount);
-
- /* pass 2 - ps boxes */
- ps = ps_first;
- while ((ps = get_next_ps(ps))) {
- double starttime;
- int t;
-
- if (!ps)
- continue;
-
- /* leave some trace of what we actually filtered etc. */
- svg("<!-- %s [%i] ppid=%i runtime=%.03fs -->\n", ps->name, ps->pid,
- ps->ppid, ps->total);
-
- /* it would be nice if we could use exec_start from /proc/pid/sched,
- * but it's unreliable and gives bogus numbers */
- starttime = sampletime[ps->first];
-
- if (!ps_filter(ps)) {
- /* remember where _to_ our children need to draw a line */
- ps->pos_x = time_to_graph(starttime - graph_start);
- ps->pos_y = ps_to_graph(j+1); /* bottom left corner */
- } else {
- /* hook children to our parent coords instead */
- ps->pos_x = ps->parent->pos_x;
- ps->pos_y = ps->parent->pos_y;
-
- /* if this is the last child, we might still need to draw a connecting line */
- if ((!ps->next) && (ps->parent))
- svg(" <line class=\"dot\" x1=\"%.03f\" y1=\"%.03f\" x2=\"%.03f\" y2=\"%.03f\" />\n",
- ps->parent->pos_x,
- ps_to_graph(j-1) + 10.0, /* whee, use the last value here */
- ps->parent->pos_x,
- ps->parent->pos_y);
- continue;
- }
-
- svg(" <rect class=\"ps\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
- time_to_graph(starttime - graph_start),
- ps_to_graph(j),
- time_to_graph(sampletime[ps->last] - starttime),
- ps_to_graph(1));
-
- /* paint cpu load over these */
- for (t = ps->first + 1; t < ps->last; t++) {
- double rt, prt;
- double wt, wrt;
-
- /* calculate over interval */
- rt = ps->sample[t].runtime - ps->sample[t-1].runtime;
- wt = ps->sample[t].waittime - ps->sample[t-1].waittime;
-
- prt = (rt / 1000000000) / (sampletime[t] - sampletime[t-1]);
- wrt = (wt / 1000000000) / (sampletime[t] - sampletime[t-1]);
-
- /* this can happen if timekeeping isn't accurate enough */
- if (prt > 1.0)
- prt = 1.0;
- if (wrt > 1.0)
- wrt = 1.0;
-
- if ((prt < 0.1) && (wrt < 0.1)) /* =~ 26 (color threshold) */
- continue;
-
- svg(" <rect class=\"wait\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
- time_to_graph(sampletime[t - 1] - graph_start),
- ps_to_graph(j),
- time_to_graph(sampletime[t] - sampletime[t - 1]),
- ps_to_graph(wrt));
-
- /* draw cpu over wait - TODO figure out how/why run + wait > interval */
- svg(" <rect class=\"cpu\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
- time_to_graph(sampletime[t - 1] - graph_start),
- ps_to_graph(j + (1.0 - prt)),
- time_to_graph(sampletime[t] - sampletime[t - 1]),
- ps_to_graph(prt));
- }
-
- /* determine where to display the process name */
- if (sampletime[ps->last] - sampletime[ps->first] < 1.5)
- /* too small to fit label inside the box */
- w = ps->last;
- else
- w = ps->first;
-
- /* text label of process name */
- svg(" <text x=\"%.03f\" y=\"%.03f\">%s [%i] <tspan class=\"run\">%.03fs</tspan></text>\n",
- time_to_graph(sampletime[w] - graph_start) + 5.0,
- ps_to_graph(j) + 14.0,
- ps->name,
- ps->pid,
- (ps->sample[ps->last].runtime - ps->sample[ps->first].runtime) / 1000000000.0);
- /* paint lines to the parent process */
- if (ps->parent) {
- /* horizontal part */
- svg(" <line class=\"dot\" x1=\"%.03f\" y1=\"%.03f\" x2=\"%.03f\" y2=\"%.03f\" />\n",
- time_to_graph(starttime - graph_start),
- ps_to_graph(j) + 10.0,
- ps->parent->pos_x,
- ps_to_graph(j) + 10.0);
-
- /* one vertical line connecting all the horizontal ones up */
- if (!ps->next)
- svg(" <line class=\"dot\" x1=\"%.03f\" y1=\"%.03f\" x2=\"%.03f\" y2=\"%.03f\" />\n",
- ps->parent->pos_x,
- ps_to_graph(j) + 10.0,
- ps->parent->pos_x,
- ps->parent->pos_y);
- }
-
- j++; /* count boxes */
-
- svg("\n");
- }
-
- /* last pass - determine when idle */
- pid = getpid();
- /* make sure we start counting from the point where we actually have
- * data: assume that bootchart's first sample is when data started
- */
- ps = ps_first;
- while (ps->next_ps) {
- ps = ps->next_ps;
- if (ps->pid == pid)
- break;
- }
-
- for (i = ps->first; i < samples - (hz / 2); i++) {
- double crt;
- double brt;
- int c;
-
- /* subtract bootchart cpu utilization from total */
- crt = 0.0;
- for (c = 0; c < cpus; c++)
- crt += cpustat[c].sample[i + ((int)hz / 2)].runtime - cpustat[c].sample[i].runtime;
- brt = ps->sample[i + ((int)hz / 2)].runtime - ps->sample[i].runtime;
-
- /*
- * our definition of "idle":
- *
- * if for (hz / 2) we've used less CPU than (interval / 2) ...
- * defaults to 4.0%, which experimentally, is where atom idles
- */
- if ((crt - brt) < (interval / 2.0)) {
- idletime = sampletime[i] - graph_start;
- svg("\n<!-- idle detected at %.03f seconds -->\n",
- idletime);
- svg("<line class=\"idle\" x1=\"%.03f\" y1=\"%.03f\" x2=\"%.03f\" y2=\"%.03f\" />\n",
- time_to_graph(idletime),
- -scale_y,
- time_to_graph(idletime),
- ps_to_graph(pcount) + scale_y);
- svg("<text class=\"idle\" x=\"%.03f\" y=\"%.03f\">%.01fs</text>\n",
- time_to_graph(idletime) + 5.0,
- ps_to_graph(pcount) + scale_y,
- idletime);
- break;
- }
- }
+static void svg_ps_bars(void) {
+ struct ps_struct *ps;
+ int i = 0;
+ int j = 0;
+ int pid;
+ double w = 0.0;
+
+ svg("<!-- Process graph -->\n");
+
+ svg("<text class=\"t2\" x=\"5\" y=\"-15\">Processes</text>\n");
+
+ /* surrounding box */
+ svg_graph_box(pcount);
+
+ /* pass 2 - ps boxes */
+ ps = ps_first;
+ while ((ps = get_next_ps(ps))) {
+ _cleanup_free_ char *enc_name = NULL;
+ double endtime;
+ double starttime;
+ int t;
+
+ enc_name = xml_comment_encode(ps->name);
+ if(!enc_name)
+ continue;
+
+ /* leave some trace of what we actually filtered etc. */
+ svg("<!-- %s [%i] ppid=%i runtime=%.03fs -->\n", enc_name, ps->pid,
+ ps->ppid, ps->total);
+
+ starttime = ps->first->sampledata->sampletime;
+
+ if (!ps_filter(ps)) {
+ /* remember where _to_ our children need to draw a line */
+ ps->pos_x = time_to_graph(starttime - graph_start);
+ ps->pos_y = ps_to_graph(j+1); /* bottom left corner */
+ } else if (ps->parent){
+ /* hook children to our parent coords instead */
+ ps->pos_x = ps->parent->pos_x;
+ ps->pos_y = ps->parent->pos_y;
+
+ /* if this is the last child, we might still need to draw a connecting line */
+ if ((!ps->next) && (ps->parent))
+ svg(" <line class=\"dot\" x1=\"%.03f\" y1=\"%.03f\" x2=\"%.03f\" y2=\"%.03f\" />\n",
+ ps->parent->pos_x,
+ ps_to_graph(j-1) + 10.0, /* whee, use the last value here */
+ ps->parent->pos_x,
+ ps->parent->pos_y);
+ continue;
+ }
+
+ endtime = ps->last->sampledata->sampletime;
+ svg(" <rect class=\"ps\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
+ time_to_graph(starttime - graph_start),
+ ps_to_graph(j),
+ time_to_graph(ps->last->sampledata->sampletime - starttime),
+ ps_to_graph(1));
+
+ /* paint cpu load over these */
+ ps->sample = ps->first;
+ t = 1;
+ while (ps->sample->next) {
+ double rt, prt;
+ double wt, wrt;
+ struct ps_sched_struct *prev;
+
+ prev = ps->sample;
+ ps->sample = ps->sample->next;
+
+ /* calculate over interval */
+ rt = ps->sample->runtime - prev->runtime;
+ wt = ps->sample->waittime - prev->waittime;
+
+ prt = (rt / 1000000000) / (ps->sample->sampledata->sampletime - prev->sampledata->sampletime);
+ wrt = (wt / 1000000000) / (ps->sample->sampledata->sampletime - prev->sampledata->sampletime);
+
+ /* this can happen if timekeeping isn't accurate enough */
+ if (prt > 1.0)
+ prt = 1.0;
+ if (wrt > 1.0)
+ wrt = 1.0;
+
+ if ((prt < 0.1) && (wrt < 0.1)) /* =~ 26 (color threshold) */
+ continue;
+
+ svg(" <rect class=\"wait\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
+ time_to_graph(prev->sampledata->sampletime - graph_start),
+ ps_to_graph(j),
+ time_to_graph(ps->sample->sampledata->sampletime - prev->sampledata->sampletime),
+ ps_to_graph(wrt));
+
+ /* draw cpu over wait - TODO figure out how/why run + wait > interval */
+ svg(" <rect class=\"cpu\" x=\"%.03f\" y=\"%.03f\" width=\"%.03f\" height=\"%.03f\" />\n",
+ time_to_graph(prev->sampledata->sampletime - graph_start),
+ ps_to_graph(j + (1.0 - prt)),
+ time_to_graph(ps->sample->sampledata->sampletime - prev->sampledata->sampletime),
+ ps_to_graph(prt));
+ t++;
+ }
+
+ /* determine where to display the process name */
+ if ((endtime - starttime) < 1.5)
+ /* too small to fit label inside the box */
+ w = endtime;
+ else
+ w = starttime;
+
+ /* text label of process name */
+ svg(" <text x=\"%.03f\" y=\"%.03f\"><![CDATA[%s]]> [%i]<tspan class=\"run\">%.03fs</tspan></text>\n",
+ time_to_graph(w - graph_start) + 5.0,
+ ps_to_graph(j) + 14.0,
+ ps->name,
+ ps->pid,
+ (ps->last->runtime - ps->first->runtime) / 1000000000.0);
+ /* paint lines to the parent process */
+ if (ps->parent) {
+ /* horizontal part */
+ svg(" <line class=\"dot\" x1=\"%.03f\" y1=\"%.03f\" x2=\"%.03f\" y2=\"%.03f\" />\n",
+ time_to_graph(starttime - graph_start),
+ ps_to_graph(j) + 10.0,
+ ps->parent->pos_x,
+ ps_to_graph(j) + 10.0);
+
+ /* one vertical line connecting all the horizontal ones up */
+ if (!ps->next)
+ svg(" <line class=\"dot\" x1=\"%.03f\" y1=\"%.03f\" x2=\"%.03f\" y2=\"%.03f\" />\n",
+ ps->parent->pos_x,
+ ps_to_graph(j) + 10.0,
+ ps->parent->pos_x,
+ ps->parent->pos_y);
+ }
+
+ j++; /* count boxes */
+
+ svg("\n");
+ }
+
+ /* last pass - determine when idle */
+ pid = getpid();
+ /* make sure we start counting from the point where we actually have
+ * data: assume that bootchart's first sample is when data started
+ */
+
+ ps = ps_first;
+ while (ps->next_ps) {
+ ps = ps->next_ps;
+ if (ps->pid == pid)
+ break;
+ }
+
+ /* need to know last node first */
+ ps->sample = ps->first;
+ i = ps->sample->next->sampledata->counter;
+
+ while (ps->sample->next && i<(samples-(arg_hz/2))) {
+ double crt;
+ double brt;
+ int c;
+ int ii;
+ struct ps_sched_struct *sample_hz;
+
+ ps->sample = ps->sample->next;
+ sample_hz = ps->sample;
+ for (ii=0;((ii<(int)arg_hz/2)&&(ps->sample->next));ii++)
+ sample_hz = sample_hz->next;
+
+ /* subtract bootchart cpu utilization from total */
+ crt = 0.0;
+ for (c = 0; c < cpus; c++)
+ crt += sample_hz->sampledata->runtime[c] - ps->sample->sampledata->runtime[c];
+ brt = sample_hz->runtime - ps->sample->runtime;
+ /*
+ * our definition of "idle":
+ *
+ * if for (hz / 2) we've used less CPU than (interval / 2) ...
+ * defaults to 4.0%, which experimentally, is where atom idles
+ */
+ if ((crt - brt) < (interval / 2.0)) {
+ idletime = ps->sample->sampledata->sampletime - graph_start;
+ svg("\n<!-- idle detected at %.03f seconds -->\n",
+ idletime);
+ svg("<line class=\"idle\" x1=\"%.03f\" y1=\"%.03f\" x2=\"%.03f\" y2=\"%.03f\" />\n",
+ time_to_graph(idletime),
+ -arg_scale_y,
+ time_to_graph(idletime),
+ ps_to_graph(pcount) + arg_scale_y);
+ svg("<text class=\"idle\" x=\"%.03f\" y=\"%.03f\">%.01fs</text>\n",
+ time_to_graph(idletime) + 5.0,
+ ps_to_graph(pcount) + arg_scale_y,
+ idletime);
+ break;
+ }
+ i++;
+ }
}
-
-static void svg_top_ten_cpu(void)
-{
- struct ps_struct *top[10];
- struct ps_struct emptyps;
- struct ps_struct *ps;
- int n, m;
-
- memset(&emptyps, 0, sizeof(struct ps_struct));
- for (n=0; n < 10; n++)
- top[n] = &emptyps;
-
- /* walk all ps's and setup ptrs */
- ps = ps_first;
- while ((ps = get_next_ps(ps))) {
- for (n = 0; n < 10; n++) {
- if (ps->total <= top[n]->total)
- continue;
- /* cascade insert */
- for (m = 9; m > n; m--)
- top[m] = top[m-1];
- top[n] = ps;
- break;
- }
- }
-
- svg("<text class=\"t2\" x=\"20\" y=\"0\">Top CPU consumers:</text>\n");
- for (n = 0; n < 10; n++)
- svg("<text class=\"t3\" x=\"20\" y=\"%d\">%3.03fs - %s[%d]</text>\n",
- 20 + (n * 13),
- top[n]->total,
- top[n]->name,
- top[n]->pid);
+static void svg_top_ten_cpu(void) {
+ struct ps_struct *top[10];
+ struct ps_struct emptyps = {};
+ struct ps_struct *ps;
+ int n, m;
+
+ for (n = 0; n < (int) ELEMENTSOF(top); n++)
+ top[n] = &emptyps;
+
+ /* walk all ps's and setup ptrs */
+ ps = ps_first;
+ while ((ps = get_next_ps(ps))) {
+ for (n = 0; n < 10; n++) {
+ if (ps->total <= top[n]->total)
+ continue;
+ /* cascade insert */
+ for (m = 9; m > n; m--)
+ top[m] = top[m-1];
+ top[n] = ps;
+ break;
+ }
+ }
+
+ svg("<text class=\"t2\" x=\"20\" y=\"0\">Top CPU consumers:</text>\n");
+ for (n = 0; n < 10; n++)
+ svg("<text class=\"t3\" x=\"20\" y=\"%d\">%3.03fs - <![CDATA[%s]]> [%d]</text>\n",
+ 20 + (n * 13),
+ top[n]->total,
+ top[n]->name,
+ top[n]->pid);
}
-
-static void svg_top_ten_pss(void)
-{
- struct ps_struct *top[10];
- struct ps_struct emptyps;
- struct ps_struct *ps;
- int n, m;
-
- memset(&emptyps, 0, sizeof(struct ps_struct));
- for (n=0; n < 10; n++)
- top[n] = &emptyps;
-
- /* walk all ps's and setup ptrs */
- ps = ps_first;
- while ((ps = get_next_ps(ps))) {
- for (n = 0; n < 10; n++) {
- if (ps->pss_max <= top[n]->pss_max)
- continue;
- /* cascade insert */
- for (m = 9; m > n; m--)
- top[m] = top[m-1];
- top[n] = ps;
- break;
- }
- }
-
- svg("<text class=\"t2\" x=\"20\" y=\"0\">Top PSS consumers:</text>\n");
- for (n = 0; n < 10; n++)
- svg("<text class=\"t3\" x=\"20\" y=\"%d\">%dK - %s[%d]</text>\n",
- 20 + (n * 13),
- top[n]->pss_max,
- top[n]->name,
- top[n]->pid);
+static void svg_top_ten_pss(void) {
+ struct ps_struct *top[10];
+ struct ps_struct emptyps = {};
+ struct ps_struct *ps;
+ int n, m;
+
+ for (n = 0; n < (int) ELEMENTSOF(top); n++)
+ top[n] = &emptyps;
+
+ /* walk all ps's and setup ptrs */
+ ps = ps_first;
+ while ((ps = get_next_ps(ps))) {
+ for (n = 0; n < 10; n++) {
+ if (ps->pss_max <= top[n]->pss_max)
+ continue;
+ /* cascade insert */
+ for (m = 9; m > n; m--)
+ top[m] = top[m-1];
+ top[n] = ps;
+ break;
+ }
+ }
+
+ svg("<text class=\"t2\" x=\"20\" y=\"0\">Top PSS consumers:</text>\n");
+ for (n = 0; n < 10; n++)
+ svg("<text class=\"t3\" x=\"20\" y=\"%d\">%dK - <![CDATA[%s]]> [%d]</text>\n",
+ 20 + (n * 13),
+ top[n]->pss_max,
+ top[n]->name,
+ top[n]->pid);
}
+void svg_do(const char *build) {
+ struct ps_struct *ps;
-void svg_do(void)
-{
- struct ps_struct *ps;
-
- memset(&str, 0, sizeof(str));
+ memset(&str, 0, sizeof(str));
- ps = ps_first;
+ ps = ps_first;
- /* count initcall thread count first */
- svg_do_initcall(1);
- ksize = (kcount ? ps_to_graph(kcount) + (scale_y * 2) : 0);
+ /* count initcall thread count first */
+ svg_do_initcall(1);
+ ksize = (kcount ? ps_to_graph(kcount) + (arg_scale_y * 2) : 0);
- /* then count processes */
- while ((ps = get_next_ps(ps))) {
- if (!ps_filter(ps))
- pcount++;
- else
- pfiltered++;
- }
- psize = ps_to_graph(pcount) + (scale_y * 2);
+ /* then count processes */
+ while ((ps = get_next_ps(ps))) {
+ if (!ps_filter(ps))
+ pcount++;
+ else
+ pfiltered++;
+ }
+ psize = ps_to_graph(pcount) + (arg_scale_y * 2);
- esize = (entropy ? scale_y * 7 : 0);
+ esize = (arg_entropy ? arg_scale_y * 7 : 0);
- /* after this, we can draw the header with proper sizing */
- svg_header();
+ /* after this, we can draw the header with proper sizing */
+ svg_header();
- svg("<g transform=\"translate(10,400)\">\n");
- svg_io_bi_bar();
- svg("</g>\n\n");
+ svg("<g transform=\"translate(10,400)\">\n");
+ svg_io_bi_bar();
+ svg("</g>\n\n");
- svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (scale_y * 7.0));
- svg_io_bo_bar();
- svg("</g>\n\n");
+ svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (arg_scale_y * 7.0));
+ svg_io_bo_bar();
+ svg("</g>\n\n");
- svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (scale_y * 14.0));
- svg_cpu_bar();
- svg("</g>\n\n");
+ svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (arg_scale_y * 14.0));
+ svg_cpu_bar();
+ svg("</g>\n\n");
- svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (scale_y * 21.0));
- svg_wait_bar();
- svg("</g>\n\n");
+ svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (arg_scale_y * 21.0));
+ svg_wait_bar();
+ svg("</g>\n\n");
- if (kcount) {
- svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (scale_y * 28.0));
- svg_do_initcall(0);
- svg("</g>\n\n");
- }
+ if (kcount) {
+ svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (arg_scale_y * 28.0));
+ svg_do_initcall(0);
+ svg("</g>\n\n");
+ }
- svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (scale_y * 28.0) + ksize);
- svg_ps_bars();
- svg("</g>\n\n");
+ svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (arg_scale_y * 28.0) + ksize);
+ svg_ps_bars();
+ svg("</g>\n\n");
- svg("<g transform=\"translate(10, 0)\">\n");
- svg_title();
- svg("</g>\n\n");
+ svg("<g transform=\"translate(10, 0)\">\n");
+ svg_title(build);
+ svg("</g>\n\n");
- svg("<g transform=\"translate(10,200)\">\n");
- svg_top_ten_cpu();
- svg("</g>\n\n");
+ svg("<g transform=\"translate(10,200)\">\n");
+ svg_top_ten_cpu();
+ svg("</g>\n\n");
- if (entropy) {
- svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (scale_y * 28.0) + ksize + psize);
- svg_entropy_bar();
- svg("</g>\n\n");
- }
+ if (arg_entropy) {
+ svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (arg_scale_y * 28.0) + ksize + psize);
+ svg_entropy_bar();
+ svg("</g>\n\n");
+ }
- if (pss) {
- svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (scale_y * 28.0) + ksize + psize + esize);
- svg_pss_graph();
- svg("</g>\n\n");
+ if (arg_pss) {
+ svg("<g transform=\"translate(10,%.03f)\">\n", 400.0 + (arg_scale_y * 28.0) + ksize + psize + esize);
+ svg_pss_graph();
+ svg("</g>\n\n");
- svg("<g transform=\"translate(410,200)\">\n");
- svg_top_ten_pss();
- svg("</g>\n\n");
- }
+ svg("<g transform=\"translate(410,200)\">\n");
+ svg_top_ten_pss();
+ svg("</g>\n\n");
+ }
- /* svg footer */
- svg("\n</svg>\n");
+ /* svg footer */
+ svg("\n</svg>\n");
}
diff --git a/src/bootchart/svg.h b/src/bootchart/svg.h
new file mode 100644
index 0000000000..e7369f5111
--- /dev/null
+++ b/src/bootchart/svg.h
@@ -0,0 +1,27 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright (C) 2009-2013 Intel Coproration
+
+ Authors:
+ Auke Kok <auke-jan.h.kok@intel.com>
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+void svg_do(const char *build);
diff --git a/src/cgls/cgls.c b/src/cgls/cgls.c
index cfb728bb80..ef3e5672ab 100644
--- a/src/cgls/cgls.c
+++ b/src/cgls/cgls.c
@@ -33,10 +33,13 @@
#include "util.h"
#include "pager.h"
#include "build.h"
+#include "output-mode.h"
static bool arg_no_pager = false;
static bool arg_kernel_threads = false;
static bool arg_all = false;
+static int arg_full = -1;
+static char* arg_machine = NULL;
static void help(void) {
@@ -46,7 +49,9 @@ static void help(void) {
" --version Show package version\n"
" --no-pager Do not pipe output into a pager\n"
" -a --all Show all groups, including empty\n"
- " -k Include kernel threads in output\n",
+ " --full Do not ellipsize output\n"
+ " -k Include kernel threads in output\n"
+ " -M --machine Show container\n",
program_invocation_short_name);
}
@@ -54,7 +59,8 @@ static int parse_argv(int argc, char *argv[]) {
enum {
ARG_NO_PAGER = 0x100,
- ARG_VERSION
+ ARG_VERSION,
+ ARG_FULL,
};
static const struct option options[] = {
@@ -62,6 +68,8 @@ static int parse_argv(int argc, char *argv[]) {
{ "version", no_argument, NULL, ARG_VERSION },
{ "no-pager", no_argument, NULL, ARG_NO_PAGER },
{ "all", no_argument, NULL, 'a' },
+ { "full", no_argument, NULL, ARG_FULL },
+ { "machine", required_argument, NULL, 'M' },
{ NULL, 0, NULL, 0 }
};
@@ -70,7 +78,7 @@ static int parse_argv(int argc, char *argv[]) {
assert(argc >= 1);
assert(argv);
- while ((c = getopt_long(argc, argv, "hka", options, NULL)) >= 0) {
+ while ((c = getopt_long(argc, argv, "hkaM:", options, NULL)) >= 0) {
switch (c) {
@@ -91,10 +99,18 @@ static int parse_argv(int argc, char *argv[]) {
arg_all = true;
break;
+ case ARG_FULL:
+ arg_full = true;
+ break;
+
case 'k':
arg_kernel_threads = true;
break;
+ case 'M':
+ arg_machine = optarg;
+ break;
+
case '?':
return -EINVAL;
@@ -109,6 +125,8 @@ static int parse_argv(int argc, char *argv[]) {
int main(int argc, char *argv[]) {
int r = 0, retval = EXIT_FAILURE;
+ int output_flags;
+ char _cleanup_free_ *root = NULL;
log_parse_environment();
log_open();
@@ -121,23 +139,40 @@ int main(int argc, char *argv[]) {
goto finish;
}
- if (!arg_no_pager)
- pager_open();
+ if (!arg_no_pager) {
+ r = pager_open(false);
+ if (r > 0) {
+ if (arg_full == -1)
+ arg_full = true;
+ }
+ }
+
+ output_flags =
+ arg_all * OUTPUT_SHOW_ALL |
+ (arg_full > 0) * OUTPUT_FULL_WIDTH;
if (optind < argc) {
- unsigned i;
+ int i;
- for (i = (unsigned) optind; i < (unsigned) argc; i++) {
+ for (i = optind; i < argc; i++) {
int q;
printf("%s:\n", argv[i]);
- q = show_cgroup_by_path(argv[i], NULL, 0, arg_kernel_threads, arg_all);
+ if (arg_machine)
+ root = strjoin("machine/", arg_machine, "/", argv[i], NULL);
+ else
+ root = strdup(argv[i]);
+ if (!root)
+ return log_oom();
+
+ q = show_cgroup_by_path(root, NULL, 0,
+ arg_kernel_threads, output_flags);
if (q < 0)
r = q;
}
} else {
- char _cleanup_free_ *p;
+ _cleanup_free_ char *p;
p = get_current_dir_name();
if (!p) {
@@ -145,31 +180,31 @@ int main(int argc, char *argv[]) {
goto finish;
}
- if (path_startswith(p, "/sys/fs/cgroup")) {
+ if (path_startswith(p, "/sys/fs/cgroup") && !arg_machine) {
printf("Working Directory %s:\n", p);
- r = show_cgroup_by_path(p, NULL, 0, arg_kernel_threads, arg_all);
+ r = show_cgroup_by_path(p, NULL, 0,
+ arg_kernel_threads, output_flags);
} else {
- char _cleanup_free_ *root = NULL;
- const char *t = NULL;
-
- r = cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, 1, &root);
- if (r < 0)
- t = "/";
- else {
- if (endswith(root, "/system"))
- root[strlen(root)-7] = 0;
-
- t = root[0] ? root : "/";
+ if (arg_machine)
+ r = cg_get_machine_path(arg_machine, &root);
+ else
+ r = cg_get_root_path(&root);
+ if (r < 0) {
+ log_error("Failed to get %s path: %s",
+ arg_machine ? "machine" : "root", strerror(-r));
+ goto finish;
}
- r = show_cgroup(SYSTEMD_CGROUP_CONTROLLER, t, NULL, 0, arg_kernel_threads, arg_all);
+ r = show_cgroup(SYSTEMD_CGROUP_CONTROLLER, root, NULL, 0,
+ arg_kernel_threads, output_flags);
}
}
- if (r < 0)
- log_error("Failed to list cgroup tree: %s", strerror(-r));
-
- retval = EXIT_SUCCESS;
+ if (r < 0) {
+ log_error("Failed to list cgroup tree %s: %s", root, strerror(-r));
+ retval = EXIT_FAILURE;
+ } else
+ retval = EXIT_SUCCESS;
finish:
pager_close();
diff --git a/src/cgtop/cgtop.c b/src/cgtop/cgtop.c
index f2e62761f1..1e21b0074d 100644
--- a/src/cgtop/cgtop.c
+++ b/src/cgtop/cgtop.c
@@ -19,9 +19,11 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#define __STDC_FORMAT_MACROS
#include <errno.h>
#include <string.h>
#include <stdlib.h>
+#include <stdint.h>
#include <unistd.h>
#include <alloca.h>
#include <getopt.h>
@@ -31,6 +33,7 @@
#include "hashmap.h"
#include "cgroup-util.h"
#include "build.h"
+#include "fileio.h"
typedef struct Group {
char *path;
@@ -68,6 +71,11 @@ static enum {
ORDER_IO
} arg_order = ORDER_CPU;
+static enum {
+ CPU_PERCENT,
+ CPU_TIME,
+} arg_cpu_type = CPU_PERCENT;
+
static void group_free(Group *g) {
assert(g);
@@ -371,16 +379,22 @@ static int group_compare(const void*a, const void *b) {
return 1;
if (arg_order == ORDER_CPU) {
- if (x->cpu_valid && y->cpu_valid) {
-
- if (x->cpu_fraction > y->cpu_fraction)
+ if (arg_cpu_type == CPU_PERCENT) {
+ if (x->cpu_valid && y->cpu_valid) {
+ if (x->cpu_fraction > y->cpu_fraction)
+ return -1;
+ else if (x->cpu_fraction < y->cpu_fraction)
+ return 1;
+ } else if (x->cpu_valid)
return -1;
- else if (x->cpu_fraction < y->cpu_fraction)
+ else if (y->cpu_valid)
return 1;
- } else if (x->cpu_valid)
- return -1;
- else if (y->cpu_valid)
- return 1;
+ } else {
+ if (x->cpu_usage > y->cpu_usage)
+ return -1;
+ else if (x->cpu_usage < y->cpu_usage)
+ return 1;
+ }
}
if (arg_order == ORDER_TASKS) {
@@ -423,17 +437,23 @@ static int group_compare(const void*a, const void *b) {
return strcmp(x->path, y->path);
}
+#define ON ANSI_HIGHLIGHT_ON
+#define OFF ANSI_HIGHLIGHT_OFF
+
static int display(Hashmap *a) {
Iterator i;
Group *g;
Group **array;
- unsigned rows, path_columns, n = 0, j;
+ signed path_columns;
+ unsigned rows, n = 0, j, maxtcpu = 0, maxtpath = 0;
+ char buffer[MAX3(21, FORMAT_BYTES_MAX, FORMAT_TIMESPAN_MAX)];
assert(a);
/* Set cursor to top left corner and clear screen */
- fputs("\033[H"
- "\033[2J", stdout);
+ if (on_tty())
+ fputs("\033[H"
+ "\033[2J", stdout);
array = alloca(sizeof(Group*) * hashmap_size(a));
@@ -443,33 +463,51 @@ static int display(Hashmap *a) {
qsort(array, n, sizeof(Group*), group_compare);
+ /* Find the longest names in one run */
+ for (j = 0; j < n; j++) {
+ unsigned cputlen, pathtlen;
+
+ format_timespan(buffer, sizeof(buffer), (nsec_t) (array[j]->cpu_usage / NSEC_PER_USEC), 0);
+ cputlen = strlen(buffer);
+ maxtcpu = MAX(maxtcpu, cputlen);
+ pathtlen = strlen(array[j]->path);
+ maxtpath = MAX(maxtpath, pathtlen);
+ }
+
+ if (arg_cpu_type == CPU_PERCENT)
+ snprintf(buffer, sizeof(buffer), "%6s", "%CPU");
+ else
+ snprintf(buffer, sizeof(buffer), "%*s", maxtcpu, "CPU Time");
+
rows = lines();
if (rows <= 10)
rows = 10;
- path_columns = columns() - 42;
- if (path_columns < 10)
- path_columns = 10;
-
- printf("%s%-*s%s %s%7s%s %s%6s%s %s%8s%s %s%8s%s %s%8s%s\n\n",
- arg_order == ORDER_PATH ? ANSI_HIGHLIGHT_ON : "", path_columns, "Path",
- arg_order == ORDER_PATH ? ANSI_HIGHLIGHT_OFF : "",
- arg_order == ORDER_TASKS ? ANSI_HIGHLIGHT_ON : "", "Tasks",
- arg_order == ORDER_TASKS ? ANSI_HIGHLIGHT_OFF : "",
- arg_order == ORDER_CPU ? ANSI_HIGHLIGHT_ON : "", "%CPU",
- arg_order == ORDER_CPU ? ANSI_HIGHLIGHT_OFF : "",
- arg_order == ORDER_MEMORY ? ANSI_HIGHLIGHT_ON : "", "Memory",
- arg_order == ORDER_MEMORY ? ANSI_HIGHLIGHT_OFF : "",
- arg_order == ORDER_IO ? ANSI_HIGHLIGHT_ON : "", "Input/s",
- arg_order == ORDER_IO ? ANSI_HIGHLIGHT_OFF : "",
- arg_order == ORDER_IO ? ANSI_HIGHLIGHT_ON : "", "Output/s",
- arg_order == ORDER_IO ? ANSI_HIGHLIGHT_OFF : "");
+ if (on_tty()) {
+ path_columns = columns() - 36 - strlen(buffer);
+ if (path_columns < 10)
+ path_columns = 10;
+
+ printf("%s%-*s%s %s%7s%s %s%s%s %s%8s%s %s%8s%s %s%8s%s\n\n",
+ arg_order == ORDER_PATH ? ON : "", path_columns, "Path",
+ arg_order == ORDER_PATH ? OFF : "",
+ arg_order == ORDER_TASKS ? ON : "", "Tasks",
+ arg_order == ORDER_TASKS ? OFF : "",
+ arg_order == ORDER_CPU ? ON : "", buffer,
+ arg_order == ORDER_CPU ? OFF : "",
+ arg_order == ORDER_MEMORY ? ON : "", "Memory",
+ arg_order == ORDER_MEMORY ? OFF : "",
+ arg_order == ORDER_IO ? ON : "", "Input/s",
+ arg_order == ORDER_IO ? OFF : "",
+ arg_order == ORDER_IO ? ON : "", "Output/s",
+ arg_order == ORDER_IO ? OFF : "");
+ } else
+ path_columns = maxtpath;
for (j = 0; j < n; j++) {
char *p;
- char m[FORMAT_BYTES_MAX];
- if (j + 5 > rows)
+ if (on_tty() && j + 5 > rows)
break;
g = array[j];
@@ -483,21 +521,24 @@ static int display(Hashmap *a) {
else
fputs(" -", stdout);
- if (g->cpu_valid)
- printf(" %6.1f", g->cpu_fraction*100);
- else
- fputs(" -", stdout);
+ if (arg_cpu_type == CPU_PERCENT) {
+ if (g->cpu_valid)
+ printf(" %6.1f", g->cpu_fraction*100);
+ else
+ fputs(" -", stdout);
+ } else
+ printf(" %*s", maxtcpu, format_timespan(buffer, sizeof(buffer), (nsec_t) (g->cpu_usage / NSEC_PER_USEC), 0));
if (g->memory_valid)
- printf(" %8s", format_bytes(m, sizeof(m), g->memory));
+ printf(" %8s", format_bytes(buffer, sizeof(buffer), g->memory));
else
fputs(" -", stdout);
if (g->io_valid) {
printf(" %8s",
- format_bytes(m, sizeof(m), g->io_input_bps));
+ format_bytes(buffer, sizeof(buffer), g->io_input_bps));
printf(" %8s",
- format_bytes(m, sizeof(m), g->io_output_bps));
+ format_bytes(buffer, sizeof(buffer), g->io_output_bps));
} else
fputs(" - -", stdout);
@@ -518,11 +559,12 @@ static void help(void) {
" -c Order by CPU load\n"
" -m Order by memory load\n"
" -i Order by IO load\n"
- " -d --delay=DELAY Specify delay\n"
+ " --cpu[=TYPE] Show CPU usage as time or percentage (default)\n"
+ " -d --delay=DELAY Delay between updates\n"
" -n --iterations=N Run for N iterations before exiting\n"
" -b --batch Run in batch mode, accepting no input\n"
- " --depth=DEPTH Maximum traversal depth (default: 2)\n",
- program_invocation_short_name);
+ " --depth=DEPTH Maximum traversal depth (default: %d)\n",
+ program_invocation_short_name, arg_depth);
}
static void version(void) {
@@ -534,6 +576,7 @@ static int parse_argv(int argc, char *argv[]) {
enum {
ARG_VERSION = 0x100,
ARG_DEPTH,
+ ARG_CPU_TYPE
};
static const struct option options[] = {
@@ -543,6 +586,7 @@ static int parse_argv(int argc, char *argv[]) {
{ "iterations", required_argument, NULL, 'n' },
{ "batch", no_argument, NULL, 'b' },
{ "depth", required_argument, NULL, ARG_DEPTH },
+ { "cpu", optional_argument, NULL, ARG_CPU_TYPE},
{ NULL, 0, NULL, 0 }
};
@@ -564,6 +608,17 @@ static int parse_argv(int argc, char *argv[]) {
version();
return 0;
+ case ARG_CPU_TYPE:
+ if (optarg) {
+ if (strcmp(optarg, "time") == 0)
+ arg_cpu_type = CPU_TIME;
+ else if (strcmp(optarg, "percentage") == 0)
+ arg_cpu_type = CPU_PERCENT;
+ else
+ return -EINVAL;
+ }
+ break;
+
case ARG_DEPTH:
r = safe_atou(optarg, &arg_depth);
if (r < 0) {
@@ -574,7 +629,7 @@ static int parse_argv(int argc, char *argv[]) {
break;
case 'd':
- r = parse_usec(optarg, &arg_delay);
+ r = parse_sec(optarg, &arg_delay);
if (r < 0 || arg_delay <= 0) {
log_error("Failed to parse delay parameter.");
return -EINVAL;
@@ -655,6 +710,9 @@ int main(int argc, char *argv[]) {
signal(SIGWINCH, columns_lines_cache_reset);
+ if (!on_tty())
+ arg_iterations = 1;
+
while (!quit) {
Hashmap *c;
usec_t t;
@@ -735,13 +793,17 @@ int main(int argc, char *argv[]) {
arg_order = ORDER_IO;
break;
+ case '%':
+ arg_cpu_type = arg_cpu_type == CPU_TIME ? CPU_PERCENT : CPU_TIME;
+ break;
+
case '+':
if (arg_delay < USEC_PER_SEC)
arg_delay += USEC_PER_MSEC*250;
else
arg_delay += USEC_PER_SEC;
- fprintf(stdout, "\nIncreased delay to %s.", format_timespan(h, sizeof(h), arg_delay));
+ fprintf(stdout, "\nIncreased delay to %s.", format_timespan(h, sizeof(h), arg_delay, 0));
fflush(stdout);
sleep(1);
break;
@@ -754,7 +816,7 @@ int main(int argc, char *argv[]) {
else
arg_delay -= USEC_PER_SEC;
- fprintf(stdout, "\nDecreased delay to %s.", format_timespan(h, sizeof(h), arg_delay));
+ fprintf(stdout, "\nDecreased delay to %s.", format_timespan(h, sizeof(h), arg_delay, 0));
fflush(stdout);
sleep(1);
break;
@@ -762,8 +824,9 @@ int main(int argc, char *argv[]) {
case '?':
case 'h':
fprintf(stdout,
- "\t<" ANSI_HIGHLIGHT_ON "P" ANSI_HIGHLIGHT_OFF "> By path; <" ANSI_HIGHLIGHT_ON "T" ANSI_HIGHLIGHT_OFF "> By tasks; <" ANSI_HIGHLIGHT_ON "C" ANSI_HIGHLIGHT_OFF "> By CPU; <" ANSI_HIGHLIGHT_ON "M" ANSI_HIGHLIGHT_OFF "> By memory; <" ANSI_HIGHLIGHT_ON "I" ANSI_HIGHLIGHT_OFF "> By I/O\n"
- "\t<" ANSI_HIGHLIGHT_ON "Q" ANSI_HIGHLIGHT_OFF "> Quit; <" ANSI_HIGHLIGHT_ON "+" ANSI_HIGHLIGHT_OFF "> Increase delay; <" ANSI_HIGHLIGHT_ON "-" ANSI_HIGHLIGHT_OFF "> Decrease delay; <" ANSI_HIGHLIGHT_ON "SPACE" ANSI_HIGHLIGHT_OFF "> Refresh");
+ "\t<" ON "P" OFF "> By path; <" ON "T" OFF "> By tasks; <" ON "C" OFF "> By CPU; <" ON "M" OFF "> By memory; <" ON "I" OFF "> By I/O\n"
+ "\t<" ON "+" OFF "> Increase delay; <" ON "-" OFF "> Decrease delay; <" ON "%%" OFF "> Toggle time\n"
+ "\t<" ON "Q" OFF "> Quit; <" ON "SPACE" OFF "> Refresh");
fflush(stdout);
sleep(3);
break;
@@ -776,8 +839,6 @@ int main(int argc, char *argv[]) {
}
}
- log_info("Exiting.");
-
r = 0;
finish:
diff --git a/src/core/automount.c b/src/core/automount.c
index 4a98540d82..a20d5340f2 100644
--- a/src/core/automount.c
+++ b/src/core/automount.c
@@ -109,7 +109,6 @@ static void automount_done(Unit *u) {
assert(a);
unmount_autofs(a);
- unit_ref_unset(&a->mount);
free(a->where);
a->where = NULL;
@@ -200,8 +199,8 @@ static int automount_verify(Automount *a) {
}
static int automount_load(Unit *u) {
- int r;
Automount *a = AUTOMOUNT(u);
+ int r;
assert(u);
assert(u->load_state == UNIT_STUB);
@@ -222,17 +221,15 @@ static int automount_load(Unit *u) {
path_kill_slashes(a->where);
- r = automount_add_mount_links(a);
+ r = unit_load_related_unit(u, ".mount", &x);
if (r < 0)
return r;
- r = unit_load_related_unit(u, ".mount", &x);
+ r = unit_add_two_dependencies(u, UNIT_BEFORE, UNIT_TRIGGERS, x, true);
if (r < 0)
return r;
- unit_ref_set(&a->mount, x);
-
- r = unit_add_two_dependencies(u, UNIT_BEFORE, UNIT_TRIGGERS, UNIT_DEREF(a->mount), true);
+ r = automount_add_mount_links(a);
if (r < 0)
return r;
@@ -586,18 +583,17 @@ fail:
}
static void automount_enter_runnning(Automount *a) {
- int r;
- struct stat st;
_cleanup_dbus_error_free_ DBusError error;
+ struct stat st;
+ int r;
assert(a);
- assert(UNIT_DEREF(a->mount));
dbus_error_init(&error);
/* We don't take mount requests anymore if we are supposed to
* shut down anyway */
- if (unit_pending_inactive(UNIT(a))) {
+ if (unit_stop_pending(UNIT(a))) {
log_debug_unit(UNIT(a)->id,
"Suppressing automount request on %s since unit stop is scheduled.", UNIT(a)->id);
automount_send_ready(a, -EHOSTDOWN);
@@ -616,11 +612,15 @@ static void automount_enter_runnning(Automount *a) {
if (!S_ISDIR(st.st_mode) || st.st_dev != a->dev_id)
log_info_unit(UNIT(a)->id,
"%s's automount point already active?", UNIT(a)->id);
- else if ((r = manager_add_job(UNIT(a)->manager, JOB_START, UNIT_DEREF(a->mount), JOB_REPLACE, true, &error, NULL)) < 0) {
- log_warning_unit(UNIT(a)->id,
- "%s failed to queue mount startup job: %s",
- UNIT(a)->id, bus_error(&error, r));
- goto fail;
+ else {
+ r = manager_add_job(UNIT(a)->manager, JOB_START, UNIT_TRIGGER(UNIT(a)),
+ JOB_REPLACE, true, &error, NULL);
+ if (r < 0) {
+ log_warning_unit(UNIT(a)->id,
+ "%s failed to queue mount startup job: %s",
+ UNIT(a)->id, bus_error(&error, r));
+ goto fail;
+ }
}
automount_set_state(a, AUTOMOUNT_RUNNING);
@@ -643,7 +643,7 @@ static int automount_start(Unit *u) {
return -EEXIST;
}
- if (UNIT_DEREF(a->mount)->load_state != UNIT_LOADED)
+ if (UNIT_TRIGGER(u)->load_state != UNIT_LOADED)
return -ENOENT;
a->result = AUTOMOUNT_SUCCESS;
@@ -765,14 +765,12 @@ static const char *automount_sub_state_to_string(Unit *u) {
}
static bool automount_check_gc(Unit *u) {
- Automount *a = AUTOMOUNT(u);
-
- assert(a);
+ assert(u);
- if (!UNIT_DEREF(a->mount))
+ if (!UNIT_TRIGGER(u))
return false;
- return UNIT_VTABLE(UNIT_DEREF(a->mount))->check_gc(UNIT_DEREF(a->mount));
+ return UNIT_VTABLE(UNIT_TRIGGER(u))->check_gc(UNIT_TRIGGER(u));
}
static void automount_fd_event(Unit *u, int fd, uint32_t events, Watch *w) {
diff --git a/src/core/automount.h b/src/core/automount.h
index 3d5736d1cb..0c6b8a72e9 100644
--- a/src/core/automount.h
+++ b/src/core/automount.h
@@ -48,8 +48,6 @@ struct Automount {
char *where;
- UnitRef mount;
-
int pipe_fd;
mode_t directory_mode;
Watch pipe_watch;
@@ -66,8 +64,8 @@ int automount_send_ready(Automount *a, int status);
int automount_add_one_mount_link(Automount *a, Mount *m);
-const char* automount_state_to_string(AutomountState i);
-AutomountState automount_state_from_string(const char *s);
+const char* automount_state_to_string(AutomountState i) _const_;
+AutomountState automount_state_from_string(const char *s) _pure_;
-const char* automount_result_to_string(AutomountResult i);
-AutomountResult automount_result_from_string(const char *s);
+const char* automount_result_to_string(AutomountResult i) _const_;
+AutomountResult automount_result_from_string(const char *s) _pure_;
diff --git a/src/core/bus-errors.h b/src/core/bus-errors.h
index 04c1b2849d..7a4084ea15 100644
--- a/src/core/bus-errors.h
+++ b/src/core/bus-errors.h
@@ -21,9 +21,6 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-#include <string.h>
-#include <dbus/dbus.h>
-
#define BUS_ERROR_NO_SUCH_UNIT "org.freedesktop.systemd1.NoSuchUnit"
#define BUS_ERROR_NO_SUCH_JOB "org.freedesktop.systemd1.NoSuchJob"
#define BUS_ERROR_NOT_SUBSCRIBED "org.freedesktop.systemd1.NotSubscribed"
@@ -43,13 +40,3 @@
#define BUS_ERROR_TRANSACTION_ORDER_IS_CYCLIC "org.freedesktop.systemd1.TransactionOrderIsCyclic"
#define BUS_ERROR_SHUTTING_DOWN "org.freedesktop.systemd1.ShuttingDown"
#define BUS_ERROR_NO_SUCH_PROCESS "org.freedesktop.systemd1.NoSuchProcess"
-
-static inline const char *bus_error(const DBusError *e, int r) {
- if (e && e->message)
- return e->message;
-
- if (r >= 0)
- return strerror(r);
-
- return strerror(-r);
-}
diff --git a/src/core/cgroup-attr.c b/src/core/cgroup-attr.c
index 71af09cf87..7e3e08eabb 100644
--- a/src/core/cgroup-attr.c
+++ b/src/core/cgroup-attr.c
@@ -22,11 +22,11 @@
#include "cgroup-attr.h"
#include "cgroup-util.h"
#include "list.h"
+#include "fileio.h"
int cgroup_attribute_apply(CGroupAttribute *a, CGroupBonding *b) {
+ _cleanup_free_ char *path = NULL, *v = NULL;
int r;
- char *path = NULL;
- char *v = NULL;
assert(a);
@@ -34,25 +34,20 @@ int cgroup_attribute_apply(CGroupAttribute *a, CGroupBonding *b) {
if (!b)
return 0;
- if (a->map_callback) {
- r = a->map_callback(a->controller, a->name, a->value, &v);
+ if (a->semantics && a->semantics->map_write) {
+ r = a->semantics->map_write(a->semantics, a->value, &v);
if (r < 0)
return r;
}
r = cg_get_path(a->controller, b->path, a->name, &path);
- if (r < 0) {
- free(v);
+ if (r < 0)
return r;
- }
- r = write_one_line_file(path, v ? v : a->value);
+ r = write_string_file(path, v ? v : a->value);
if (r < 0)
log_warning("Failed to write '%s' to %s: %s", v ? v : a->value, path, strerror(-r));
- free(path);
- free(v);
-
return r;
}
@@ -71,23 +66,50 @@ int cgroup_attribute_apply_list(CGroupAttribute *first, CGroupBonding *b) {
return r;
}
-CGroupAttribute *cgroup_attribute_find_list(CGroupAttribute *first, const char *controller, const char *name) {
+bool cgroup_attribute_matches(CGroupAttribute *a, const char *controller, const char *name) {
+ assert(a);
+
+ if (controller) {
+ if (streq(a->controller, controller) && (!name || streq(a->name, name)))
+ return true;
+
+ } else if (!name)
+ return true;
+ else if (streq(a->name, name)) {
+ size_t x, y;
+ x = strlen(a->controller);
+ y = strlen(name);
+
+ if (y > x &&
+ memcmp(a->controller, name, x) == 0 &&
+ name[x] == '.')
+ return true;
+ }
+
+ return false;
+}
+
+CGroupAttribute *cgroup_attribute_find_list(
+ CGroupAttribute *first,
+ const char *controller,
+ const char *name) {
CGroupAttribute *a;
- assert(controller);
assert(name);
LIST_FOREACH(by_unit, a, first)
- if (streq(a->controller, controller) &&
- streq(a->name, name))
+ if (cgroup_attribute_matches(a, controller, name))
return a;
return NULL;
}
-static void cgroup_attribute_free(CGroupAttribute *a) {
+void cgroup_attribute_free(CGroupAttribute *a) {
assert(a);
+ if (a->unit)
+ LIST_REMOVE(CGroupAttribute, by_unit, a->unit->cgroup_attributes, a);
+
free(a->controller);
free(a->name);
free(a->value);
@@ -100,3 +122,11 @@ void cgroup_attribute_free_list(CGroupAttribute *first) {
LIST_FOREACH_SAFE(by_unit, a, n, first)
cgroup_attribute_free(a);
}
+
+void cgroup_attribute_free_some(CGroupAttribute *first, const char *controller, const char *name) {
+ CGroupAttribute *a, *n;
+
+ LIST_FOREACH_SAFE(by_unit, a, n, first)
+ if (cgroup_attribute_matches(a, controller, name))
+ cgroup_attribute_free(a);
+}
diff --git a/src/core/cgroup-attr.h b/src/core/cgroup-attr.h
index 2b754eac40..3a13b7c92d 100644
--- a/src/core/cgroup-attr.h
+++ b/src/core/cgroup-attr.h
@@ -23,17 +23,18 @@
typedef struct CGroupAttribute CGroupAttribute;
-typedef int (*CGroupAttributeMapCallback)(const char *controller, const char*name, const char *value, char **ret);
-
#include "unit.h"
#include "cgroup.h"
+#include "cgroup-semantics.h"
struct CGroupAttribute {
char *controller;
char *name;
char *value;
- CGroupAttributeMapCallback map_callback;
+ Unit *unit;
+
+ const CGroupSemantics *semantics;
LIST_FIELDS(CGroupAttribute, by_unit);
};
@@ -41,6 +42,9 @@ struct CGroupAttribute {
int cgroup_attribute_apply(CGroupAttribute *a, CGroupBonding *b);
int cgroup_attribute_apply_list(CGroupAttribute *first, CGroupBonding *b);
-CGroupAttribute *cgroup_attribute_find_list(CGroupAttribute *first, const char *controller, const char *name);
+bool cgroup_attribute_matches(CGroupAttribute *a, const char *controller, const char *name) _pure_;
+CGroupAttribute *cgroup_attribute_find_list(CGroupAttribute *first, const char *controller, const char *name) _pure_;
+void cgroup_attribute_free(CGroupAttribute *a);
void cgroup_attribute_free_list(CGroupAttribute *first);
+void cgroup_attribute_free_some(CGroupAttribute *first, const char *controller, const char *name);
diff --git a/src/core/cgroup-semantics.c b/src/core/cgroup-semantics.c
new file mode 100644
index 0000000000..82b02bbd78
--- /dev/null
+++ b/src/core/cgroup-semantics.c
@@ -0,0 +1,333 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "util.h"
+#include "strv.h"
+#include "path-util.h"
+#include "cgroup-util.h"
+
+#include "cgroup-semantics.h"
+
+static int parse_cpu_shares(const CGroupSemantics *s, const char *value, char **ret) {
+ unsigned long ul;
+
+ assert(s);
+ assert(value);
+ assert(ret);
+
+ if (safe_atolu(value, &ul) < 0 || ul < 1)
+ return -EINVAL;
+
+ if (asprintf(ret, "%lu", ul) < 0)
+ return -ENOMEM;
+
+ return 1;
+}
+
+static int parse_memory_limit(const CGroupSemantics *s, const char *value, char **ret) {
+ off_t sz;
+
+ assert(s);
+ assert(value);
+ assert(ret);
+
+ if (parse_bytes(value, &sz) < 0 || sz <= 0)
+ return -EINVAL;
+
+ if (asprintf(ret, "%llu", (unsigned long long) sz) < 0)
+ return -ENOMEM;
+
+ return 1;
+}
+
+static int parse_device(const CGroupSemantics *s, const char *value, char **ret) {
+ _cleanup_strv_free_ char **l = NULL;
+ char *x;
+ unsigned k;
+
+ assert(s);
+ assert(value);
+ assert(ret);
+
+ l = strv_split_quoted(value);
+ if (!l)
+ return -ENOMEM;
+
+ k = strv_length(l);
+ if (k < 1 || k > 2)
+ return -EINVAL;
+
+ if (!streq(l[0], "*") && !path_startswith(l[0], "/dev"))
+ return -EINVAL;
+
+ if (!isempty(l[1]) && !in_charset(l[1], "rwm"))
+ return -EINVAL;
+
+ x = strdup(value);
+ if (!x)
+ return -ENOMEM;
+
+ *ret = x;
+ return 1;
+}
+
+static int parse_blkio_weight(const CGroupSemantics *s, const char *value, char **ret) {
+ _cleanup_strv_free_ char **l = NULL;
+ unsigned long ul;
+
+ assert(s);
+ assert(value);
+ assert(ret);
+
+ l = strv_split_quoted(value);
+ if (!l)
+ return -ENOMEM;
+
+ if (strv_length(l) != 1)
+ return 0; /* Returning 0 will cause parse_blkio_weight_device() be tried instead */
+
+ if (safe_atolu(l[0], &ul) < 0 || ul < 10 || ul > 1000)
+ return -EINVAL;
+
+ if (asprintf(ret, "%lu", ul) < 0)
+ return -ENOMEM;
+
+ return 1;
+}
+
+static int parse_blkio_weight_device(const CGroupSemantics *s, const char *value, char **ret) {
+ _cleanup_strv_free_ char **l = NULL;
+ unsigned long ul;
+
+ assert(s);
+ assert(value);
+ assert(ret);
+
+ l = strv_split_quoted(value);
+ if (!l)
+ return -ENOMEM;
+
+ if (strv_length(l) != 2)
+ return -EINVAL;
+
+ if (!path_startswith(l[0], "/dev"))
+ return -EINVAL;
+
+ if (safe_atolu(l[1], &ul) < 0 || ul < 10 || ul > 1000)
+ return -EINVAL;
+
+ if (asprintf(ret, "%s %lu", l[0], ul) < 0)
+ return -ENOMEM;
+
+ return 1;
+}
+
+static int parse_blkio_bandwidth(const CGroupSemantics *s, const char *value, char **ret) {
+ _cleanup_strv_free_ char **l = NULL;
+ off_t bytes;
+
+ assert(s);
+ assert(value);
+ assert(ret);
+
+ l = strv_split_quoted(value);
+ if (!l)
+ return -ENOMEM;
+
+ if (strv_length(l) != 2)
+ return -EINVAL;
+
+ if (!path_startswith(l[0], "/dev")) {
+ return -EINVAL;
+ }
+
+ if (parse_bytes(l[1], &bytes) < 0 || bytes <= 0)
+ return -EINVAL;
+
+ if (asprintf(ret, "%s %llu", l[0], (unsigned long long) bytes) < 0)
+ return -ENOMEM;
+
+ return 0;
+}
+
+static int map_device(const CGroupSemantics *s, const char *value, char **ret) {
+ _cleanup_strv_free_ char **l = NULL;
+ unsigned k;
+
+ assert(s);
+ assert(value);
+ assert(ret);
+
+ l = strv_split_quoted(value);
+ if (!l)
+ return -ENOMEM;
+
+ k = strv_length(l);
+ if (k < 1 || k > 2)
+ return -EINVAL;
+
+ if (streq(l[0], "*")) {
+
+ if (asprintf(ret, "a *:*%s%s",
+ isempty(l[1]) ? "" : " ", strempty(l[1])) < 0)
+ return -ENOMEM;
+ } else {
+ struct stat st;
+
+ if (stat(l[0], &st) < 0) {
+ log_warning("Couldn't stat device %s", l[0]);
+ return -errno;
+ }
+
+ if (!S_ISCHR(st.st_mode) && !S_ISBLK(st.st_mode)) {
+ log_warning("%s is not a device.", l[0]);
+ return -ENODEV;
+ }
+
+ if (asprintf(ret, "%c %u:%u%s%s",
+ S_ISCHR(st.st_mode) ? 'c' : 'b',
+ major(st.st_rdev), minor(st.st_rdev),
+ isempty(l[1]) ? "" : " ", strempty(l[1])) < 0)
+ return -ENOMEM;
+ }
+
+ return 0;
+}
+
+static int map_blkio(const CGroupSemantics *s, const char *value, char **ret) {
+ _cleanup_strv_free_ char **l = NULL;
+ struct stat st;
+ dev_t d;
+
+ assert(s);
+ assert(value);
+ assert(ret);
+
+ l = strv_split_quoted(value);
+ if (!l)
+ return log_oom();
+
+ if (strv_length(l) != 2)
+ return -EINVAL;
+
+ if (stat(l[0], &st) < 0) {
+ log_warning("Couldn't stat device %s", l[0]);
+ return -errno;
+ }
+
+ if (S_ISBLK(st.st_mode))
+ d = st.st_rdev;
+ else if (major(st.st_dev) != 0) {
+ /* If this is not a device node then find the block
+ * device this file is stored on */
+ d = st.st_dev;
+
+ /* If this is a partition, try to get the originating
+ * block device */
+ block_get_whole_disk(d, &d);
+ } else {
+ log_warning("%s is not a block device and file system block device cannot be determined or is not local.", l[0]);
+ return -ENODEV;
+ }
+
+ if (asprintf(ret, "%u:%u %s", major(d), minor(d), l[1]) < 0)
+ return -ENOMEM;
+
+ return 0;
+}
+
+static const CGroupSemantics semantics[] = {
+ { "cpu", "cpu.shares", "CPUShare", false, parse_cpu_shares, NULL, NULL },
+ { "memory", "memory.soft_limit_in_bytes", "MemorySoftLimit", false, parse_memory_limit, NULL, NULL },
+ { "memory", "memory.limit_in_bytes", "MemoryLimit", false, parse_memory_limit, NULL, NULL },
+ { "devices", "devices.allow", "DeviceAllow", true, parse_device, map_device, NULL },
+ { "devices", "devices.deny", "DeviceDeny", true, parse_device, map_device, NULL },
+ { "blkio", "blkio.weight", "BlockIOWeight", false, parse_blkio_weight, NULL, NULL },
+ { "blkio", "blkio.weight_device", "BlockIOWeight", true, parse_blkio_weight_device, map_blkio, NULL },
+ { "blkio", "blkio.read_bps_device", "BlockIOReadBandwidth", true, parse_blkio_bandwidth, map_blkio, NULL },
+ { "blkio", "blkio.write_bps_device", "BlockIOWriteBandwidth", true, parse_blkio_bandwidth, map_blkio, NULL }
+};
+
+int cgroup_semantics_find(
+ const char *controller,
+ const char *name,
+ const char *value,
+ char **ret,
+ const CGroupSemantics **_s) {
+
+ _cleanup_free_ char *c = NULL;
+ unsigned i;
+ int r;
+
+ assert(name);
+ assert(_s);
+ assert(!value == !ret);
+
+ if (!controller) {
+ r = cg_controller_from_attr(name, &c);
+ if (r < 0)
+ return r;
+
+ controller = c;
+ }
+
+ for (i = 0; i < ELEMENTSOF(semantics); i++) {
+ const CGroupSemantics *s = semantics + i;
+ bool matches_name, matches_pretty;
+
+ if (controller && s->controller && !streq(s->controller, controller))
+ continue;
+
+ matches_name = s->name && streq(s->name, name);
+ matches_pretty = s->pretty && streq(s->pretty, name);
+
+ if (!matches_name && !matches_pretty)
+ continue;
+
+ if (value) {
+ if (matches_pretty && s->map_pretty) {
+
+ r = s->map_pretty(s, value, ret);
+ if (r < 0)
+ return r;
+
+ if (r == 0)
+ continue;
+
+ } else {
+ char *x;
+
+ x = strdup(value);
+ if (!x)
+ return -ENOMEM;
+
+ *ret = x;
+ }
+ }
+
+ *_s = s;
+ return 1;
+ }
+
+ *ret = NULL;
+ *_s = NULL;
+ return 0;
+}
diff --git a/src/core/cgroup-semantics.h b/src/core/cgroup-semantics.h
new file mode 100644
index 0000000000..4f848f4bb7
--- /dev/null
+++ b/src/core/cgroup-semantics.h
@@ -0,0 +1,43 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2011 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+typedef struct CGroupSemantics CGroupSemantics;
+
+struct CGroupSemantics {
+ const char *controller;
+ const char *name;
+ const char *pretty;
+
+ bool multiple;
+
+ /* This call is used for parsing the pretty value to the actual attribute value */
+ int (*map_pretty)(const CGroupSemantics *semantics, const char *value, char **ret);
+
+ /* Right before writing this attribute the attribute value is converted to a low-level value */
+ int (*map_write)(const CGroupSemantics *semantics, const char *value, char **ret);
+
+ /* If this attribute takes a list, this call can be used to reset the list to empty */
+ int (*reset)(const CGroupSemantics *semantics, const char *group);
+};
+
+int cgroup_semantics_find(const char *controller, const char *name, const char *value, char **ret, const CGroupSemantics **semantics);
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
index 8fc1731485..83df0f3c9a 100644
--- a/src/core/cgroup.c
+++ b/src/core/cgroup.c
@@ -40,7 +40,7 @@ int cgroup_bonding_realize(CGroupBonding *b) {
assert(b->path);
assert(b->controller);
- r = cg_create(b->controller, b->path);
+ r = cg_create(b->controller, b->path, NULL);
if (r < 0) {
log_warning("Failed to create cgroup %s:%s: %s", b->controller, b->path, strerror(-r));
return r;
@@ -110,9 +110,8 @@ void cgroup_bonding_trim_list(CGroupBonding *first, bool delete_root) {
cgroup_bonding_trim(b, delete_root);
}
-
int cgroup_bonding_install(CGroupBonding *b, pid_t pid, const char *cgroup_suffix) {
- char *p = NULL;
+ _cleanup_free_ char *p = NULL;
const char *path;
int r;
@@ -129,8 +128,6 @@ int cgroup_bonding_install(CGroupBonding *b, pid_t pid, const char *cgroup_suffi
path = b->path;
r = cg_create_and_attach(b->controller, path, pid);
- free(p);
-
if (r < 0)
return r;
@@ -151,6 +148,34 @@ int cgroup_bonding_install_list(CGroupBonding *first, pid_t pid, const char *cgr
return 0;
}
+int cgroup_bonding_migrate(CGroupBonding *b, CGroupBonding *list) {
+ CGroupBonding *q;
+ int ret = 0;
+
+ LIST_FOREACH(by_unit, q, list) {
+ int r;
+
+ if (q == b)
+ continue;
+
+ if (!q->ours)
+ continue;
+
+ r = cg_migrate_recursive(q->controller, q->path, b->controller, b->path, true, false);
+ if (r < 0 && ret == 0)
+ ret = r;
+ }
+
+ return ret;
+}
+
+int cgroup_bonding_migrate_to(CGroupBonding *b, const char *target, bool rem) {
+ assert(b);
+ assert(target);
+
+ return cg_migrate_recursive(b->controller, b->path, b->controller, target, true, rem);
+}
+
int cgroup_bonding_set_group_access(CGroupBonding *b, mode_t mode, uid_t uid, gid_t gid) {
assert(b);
@@ -294,9 +319,10 @@ int cgroup_bonding_is_empty_list(CGroupBonding *first) {
}
int manager_setup_cgroup(Manager *m) {
- char *current = NULL, *path = NULL;
+ _cleanup_free_ char *current = NULL, *path = NULL;
+ char suffix_buffer[sizeof("/systemd-") + DECIMAL_STR_MAX(pid_t)];
+ const char *suffix;
int r;
- char suffix[32];
assert(m);
@@ -307,17 +333,17 @@ int manager_setup_cgroup(Manager *m) {
}
/* 1. Determine hierarchy */
- r = cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, 0, &current);
+ r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, 0, &current);
if (r < 0) {
log_error("Cannot determine cgroup we are running in: %s", strerror(-r));
- goto finish;
+ return r;
}
if (m->running_as == SYSTEMD_SYSTEM)
- strcpy(suffix, "/system");
+ suffix = "/system";
else {
- snprintf(suffix, sizeof(suffix), "/systemd-%lu", (unsigned long) getpid());
- char_array_0(suffix);
+ sprintf(suffix_buffer, "/systemd-%lu", (unsigned long) getpid());
+ suffix = suffix_buffer;
}
free(m->cgroup_hierarchy);
@@ -325,39 +351,42 @@ int manager_setup_cgroup(Manager *m) {
/* We probably got reexecuted and can continue to use our root cgroup */
m->cgroup_hierarchy = current;
current = NULL;
-
} else {
/* We need a new root cgroup */
- m->cgroup_hierarchy = NULL;
- if (asprintf(&m->cgroup_hierarchy, "%s%s", streq(current, "/") ? "" : current, suffix) < 0) {
- r = log_oom();
- goto finish;
- }
+ if (streq(current, "/"))
+ m->cgroup_hierarchy = strdup(suffix);
+ else
+ m->cgroup_hierarchy = strappend(current, suffix);
+
+ if (!m->cgroup_hierarchy)
+ return log_oom();
}
/* 2. Show data */
r = cg_get_path(SYSTEMD_CGROUP_CONTROLLER, m->cgroup_hierarchy, NULL, &path);
if (r < 0) {
log_error("Cannot find cgroup mount point: %s", strerror(-r));
- goto finish;
+ return r;
}
log_debug("Using cgroup controller " SYSTEMD_CGROUP_CONTROLLER ". File system hierarchy is at %s.", path);
/* 3. Install agent */
- r = cg_install_release_agent(SYSTEMD_CGROUP_CONTROLLER, SYSTEMD_CGROUP_AGENT_PATH);
- if (r < 0)
- log_warning("Failed to install release agent, ignoring: %s", strerror(-r));
- else if (r > 0)
- log_debug("Installed release agent.");
- else
- log_debug("Release agent already installed.");
+ if (m->running_as == SYSTEMD_SYSTEM) {
+ r = cg_install_release_agent(SYSTEMD_CGROUP_CONTROLLER, SYSTEMD_CGROUP_AGENT_PATH);
+ if (r < 0)
+ log_warning("Failed to install release agent, ignoring: %s", strerror(-r));
+ else if (r > 0)
+ log_debug("Installed release agent.");
+ else
+ log_debug("Release agent already installed.");
+ }
/* 4. Realize the group */
r = cg_create_and_attach(SYSTEMD_CGROUP_CONTROLLER, m->cgroup_hierarchy, 0);
if (r < 0) {
log_error("Failed to create root cgroup hierarchy: %s", strerror(-r));
- goto finish;
+ return r;
}
/* 5. And pin it, so that it cannot be unmounted */
@@ -367,19 +396,21 @@ int manager_setup_cgroup(Manager *m) {
m->pin_cgroupfs_fd = open(path, O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOCTTY|O_NONBLOCK);
if (r < 0) {
log_error("Failed to open pin file: %m");
- r = -errno;
- goto finish;
+ return -errno;
}
- log_debug("Created root group.");
-
+ /* 6. Remove non-existing controllers from the default controllers list */
cg_shorten_controllers(m->default_controllers);
-finish:
- free(current);
- free(path);
+ /* 7. Let's create the user and machine hierarchies
+ * right-away, so that people can inotify on them, if they
+ * wish, without this being racy. */
+ if (m->running_as == SYSTEMD_SYSTEM) {
+ cg_create(SYSTEMD_CGROUP_CONTROLLER, m->cgroup_hierarchy, "../user");
+ cg_create(SYSTEMD_CGROUP_CONTROLLER, m->cgroup_hierarchy, "../machine");
+ }
- return r;
+ return 0;
}
void manager_shutdown_cgroup(Manager *m, bool delete) {
@@ -411,7 +442,7 @@ int cgroup_bonding_get(Manager *m, const char *cgroup, CGroupBonding **bonding)
return 1;
}
- p = strdup(cgroup);
+ p = strdupa(cgroup);
if (!p)
return -ENOMEM;
@@ -419,8 +450,7 @@ int cgroup_bonding_get(Manager *m, const char *cgroup, CGroupBonding **bonding)
char *e;
e = strrchr(p, '/');
- if (!e || e == p) {
- free(p);
+ if (e == p || !e) {
*bonding = NULL;
return 0;
}
@@ -429,7 +459,6 @@ int cgroup_bonding_get(Manager *m, const char *cgroup, CGroupBonding **bonding)
b = hashmap_get(m->cgroup_bondings, p);
if (b) {
- free(p);
*bonding = b;
return 1;
}
@@ -484,7 +513,7 @@ Unit* cgroup_unit_by_pid(Manager *m, pid_t pid) {
if (pid <= 1)
return NULL;
- if (cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, pid, &group) < 0)
+ if (cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, pid, &group) < 0)
return NULL;
l = hashmap_get(m->cgroup_bondings, group);
@@ -520,7 +549,8 @@ Unit* cgroup_unit_by_pid(Manager *m, pid_t pid) {
CGroupBonding *cgroup_bonding_find_list(CGroupBonding *first, const char *controller) {
CGroupBonding *b;
- assert(controller);
+ if (!controller)
+ controller = SYSTEMD_CGROUP_CONTROLLER;
LIST_FOREACH(by_unit, b, first)
if (streq(b->controller, controller))
diff --git a/src/core/cgroup.h b/src/core/cgroup.h
index 229da52ba4..6555d89e37 100644
--- a/src/core/cgroup.h
+++ b/src/core/cgroup.h
@@ -58,6 +58,9 @@ void cgroup_bonding_free_list(CGroupBonding *first, bool trim);
int cgroup_bonding_install(CGroupBonding *b, pid_t pid, const char *suffix);
int cgroup_bonding_install_list(CGroupBonding *first, pid_t pid, const char *suffix);
+int cgroup_bonding_migrate(CGroupBonding *b, CGroupBonding *list);
+int cgroup_bonding_migrate_to(CGroupBonding *b, const char *target, bool rem);
+
int cgroup_bonding_set_group_access(CGroupBonding *b, mode_t mode, uid_t uid, gid_t gid);
int cgroup_bonding_set_group_access_list(CGroupBonding *b, mode_t mode, uid_t uid, gid_t gid);
@@ -73,7 +76,7 @@ void cgroup_bonding_trim_list(CGroupBonding *first, bool delete_root);
int cgroup_bonding_is_empty(CGroupBonding *b);
int cgroup_bonding_is_empty_list(CGroupBonding *first);
-CGroupBonding *cgroup_bonding_find_list(CGroupBonding *first, const char *controller);
+CGroupBonding *cgroup_bonding_find_list(CGroupBonding *first, const char *controller) _pure_;
char *cgroup_bonding_to_string(CGroupBonding *b);
diff --git a/src/core/condition.c b/src/core/condition.c
index b3184922b8..16cae6d23b 100644
--- a/src/core/condition.c
+++ b/src/core/condition.c
@@ -36,6 +36,7 @@
#include "condition.h"
#include "virt.h"
#include "path-util.h"
+#include "fileio.h"
Condition* condition_new(ConditionType type, const char *parameter, bool trigger, bool negate) {
Condition *c;
@@ -161,6 +162,10 @@ static bool test_security(const char *parameter) {
if (streq(parameter, "selinux"))
return is_selinux_enabled() > 0;
#endif
+ if (streq(parameter, "apparmor"))
+ return access("/sys/kernel/security/apparmor/", F_OK) == 0;
+ if (streq(parameter, "smack"))
+ return access("/sys/fs/smackfs", F_OK) == 0;
return false;
}
diff --git a/src/core/condition.h b/src/core/condition.h
index 1797385d26..50ed955af9 100644
--- a/src/core/condition.h
+++ b/src/core/condition.h
@@ -66,5 +66,5 @@ bool condition_test_list(Condition *c);
void condition_dump(Condition *c, FILE *f, const char *prefix);
void condition_dump_list(Condition *c, FILE *f, const char *prefix);
-const char* condition_type_to_string(ConditionType t);
-int condition_type_from_string(const char *s);
+const char* condition_type_to_string(ConditionType t) _const_;
+int condition_type_from_string(const char *s) _pure_;
diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
index e815cb58e4..2a8a0e1ac5 100644
--- a/src/core/dbus-execute.c
+++ b/src/core/dbus-execute.c
@@ -29,6 +29,7 @@
#include "strv.h"
#include "dbus-common.h"
#include "syscall-list.h"
+#include "fileio.h"
DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_execute_append_input, exec_input, ExecInput);
DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_execute_append_output, exec_output, ExecOutput);
@@ -159,12 +160,12 @@ int bus_execute_append_cpu_sched_priority(DBusMessageIter *i, const char *proper
if (c->cpu_sched_set)
n = c->cpu_sched_priority;
else {
- struct sched_param p;
- n = 0;
+ struct sched_param p = {};
- zero(p);
if (sched_getparam(0, &p) >= 0)
n = p.sched_priority;
+ else
+ n = 0;
}
if (!dbus_message_iter_append_basic(i, DBUS_TYPE_INT32, &n))
@@ -278,9 +279,8 @@ int bus_execute_append_rlimits(DBusMessageIter *i, const char *property, void *d
if (c->rlimit[r])
u = (uint64_t) c->rlimit[r]->rlim_max;
else {
- struct rlimit rl;
+ struct rlimit rl = {};
- zero(rl);
getrlimit(r, &rl);
u = (uint64_t) rl.rlim_max;
diff --git a/src/core/dbus-execute.h b/src/core/dbus-execute.h
index eaa1b73e69..91d70e535f 100644
--- a/src/core/dbus-execute.h
+++ b/src/core/dbus-execute.h
@@ -37,6 +37,7 @@
#define BUS_EXEC_CONTEXT_INTERFACE \
" <property name=\"Environment\" type=\"as\" access=\"read\"/>\n" \
+ " <property name=\"EnvironmentFiles\" type=\"a(sb)\" access=\"read\"/>\n" \
" <property name=\"UMask\" type=\"u\" access=\"read\"/>\n" \
" <property name=\"LimitCPU\" type=\"t\" access=\"read\"/>\n" \
" <property name=\"LimitFSIZE\" type=\"t\" access=\"read\"/>\n" \
@@ -88,13 +89,11 @@
" <property name=\"InaccessibleDirectories\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"MountFlags\" type=\"t\" access=\"read\"/>\n" \
" <property name=\"PrivateTmp\" type=\"b\" access=\"read\"/>\n" \
+ " <property name=\"PrivateNetwork\" type=\"b\" access=\"read\"/>\n" \
" <property name=\"SameProcessGroup\" type=\"b\" access=\"read\"/>\n" \
- " <property name=\"KillMode\" type=\"s\" access=\"read\"/>\n" \
- " <property name=\"KillSignal\" type=\"i\" access=\"read\"/>\n" \
" <property name=\"UtmpIdentifier\" type=\"s\" access=\"read\"/>\n" \
" <property name=\"ControlGroupModify\" type=\"b\" access=\"read\"/>\n" \
" <property name=\"ControlGroupPersistent\" type=\"b\" access=\"read\"/>\n" \
- " <property name=\"PrivateNetwork\" type=\"b\" access=\"read\"/>\n" \
" <property name=\"IgnoreSIGPIPE\" type=\"b\" access=\"read\"/>\n" \
" <property name=\"NoNewPrivileges\" type=\"b\" access=\"read\"/>\n" \
" <property name=\"SystemCallFilter\" type=\"au\" access=\"read\"/>\n"
diff --git a/src/core/dbus-job.c b/src/core/dbus-job.c
index fdc1dce177..98ccfa62ec 100644
--- a/src/core/dbus-job.c
+++ b/src/core/dbus-job.c
@@ -101,12 +101,11 @@ static DBusHandlerResult bus_job_message_dispatch(Job *j, DBusConnection *connec
if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Job", "Cancel")) {
SELINUX_UNIT_ACCESS_CHECK(j->unit, connection, message, "stop");
+ job_finish_and_invalidate(j, JOB_CANCELED, true);
reply = dbus_message_new_method_return(message);
if (!reply)
return DBUS_HANDLER_RESULT_NEED_MEMORY;
-
- job_finish_and_invalidate(j, JOB_CANCELED, true);
} else {
const BusBoundProperties bps[] = {
{ "org.freedesktop.systemd1.Job", bus_job_properties, j },
@@ -114,11 +113,10 @@ static DBusHandlerResult bus_job_message_dispatch(Job *j, DBusConnection *connec
};
SELINUX_UNIT_ACCESS_CHECK(j->unit, connection, message, "status");
-
return bus_default_message_handler(connection, message, INTROSPECTION, INTERFACES_LIST, bps);
}
- if (!dbus_connection_send(connection, reply, NULL))
+ if (!bus_maybe_send_reply(connection, message, reply))
return DBUS_HANDLER_RESULT_NEED_MEMORY;
return DBUS_HANDLER_RESULT_HANDLED;
@@ -187,7 +185,7 @@ static DBusHandlerResult bus_job_message_handler(DBusConnection *connection, DBu
free(introspection);
- if (!dbus_connection_send(connection, reply, NULL))
+ if (!bus_maybe_send_reply(connection, message, reply))
goto oom;
return DBUS_HANDLER_RESULT_HANDLED;
@@ -220,7 +218,7 @@ const DBusObjectPathVTable bus_job_vtable = {
};
static int job_send_message(Job *j, DBusMessage* (*new_message)(Job *j)) {
- DBusMessage *m = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *m = NULL;
int r;
assert(j);
@@ -229,9 +227,9 @@ static int job_send_message(Job *j, DBusMessage* (*new_message)(Job *j)) {
if (bus_has_subscriber(j->manager) || j->forgot_bus_clients) {
m = new_message(j);
if (!m)
- goto oom;
+ return -ENOMEM;
+
r = bus_broadcast(j->manager, m);
- dbus_message_unref(m);
if (r < 0)
return r;
@@ -240,18 +238,19 @@ static int job_send_message(Job *j, DBusMessage* (*new_message)(Job *j)) {
* to the client(s) which created the job */
JobBusClient *cl;
assert(j->bus_client_list);
+
LIST_FOREACH(client, cl, j->bus_client_list) {
assert(cl->bus);
m = new_message(j);
if (!m)
- goto oom;
+ return -ENOMEM;
if (!dbus_message_set_destination(m, cl->name))
- goto oom;
+ return -ENOMEM;
if (!dbus_connection_send(cl->bus, m, NULL))
- goto oom;
+ return -ENOMEM;
dbus_message_unref(m);
m = NULL;
@@ -259,10 +258,6 @@ static int job_send_message(Job *j, DBusMessage* (*new_message)(Job *j)) {
}
return 0;
-oom:
- if (m)
- dbus_message_unref(m);
- return -ENOMEM;
}
static DBusMessage* new_change_signal_message(Job *j) {
diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
index 859fa1a906..56b02a1cf5 100644
--- a/src/core/dbus-manager.c
+++ b/src/core/dbus-manager.c
@@ -36,6 +36,7 @@
#include "path-util.h"
#include "dbus-unit.h"
#include "virt.h"
+#include "env-util.h"
#define BUS_MANAGER_INTERFACE_BEGIN \
" <interface name=\"org.freedesktop.systemd1.Manager\">\n"
@@ -102,10 +103,39 @@
" <method name=\"ResetFailedUnit\">\n" \
" <arg name=\"name\" type=\"s\" direction=\"in\"/>\n" \
" </method>\n" \
+ " <method name=\"SetUnitControlGroup\">\n" \
+ " <arg name=\"name\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"group\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"mode\" type=\"s\" direction=\"in\"/>\n" \
+ " </method>\n" \
+ " <method name=\"UnsetUnitControlGroup\">\n" \
+ " <arg name=\"name\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"group\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"mode\" type=\"s\" direction=\"in\"\n/>" \
+ " </method>\n" \
+ " <method name=\"GetUnitControlGroupAttribute\">\n" \
+ " <arg name=\"name\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"attribute\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"values\" type=\"as\" direction=\"out\"/>\n" \
+ " </method>\n" \
+ " <method name=\"SetUnitControlGroupAttribute\">\n" \
+ " <arg name=\"name\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"attribute\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"values\" type=\"as\" direction=\"in\"/>\n" \
+ " <arg name=\"mode\" type=\"s\" direction=\"in\"\n/>" \
+ " </method>\n" \
+ " <method name=\"UnsetUnitControlGroupAttributes\">\n" \
+ " <arg name=\"name\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"attribute\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"mode\" type=\"s\" direction=\"in\"/>\n" \
+ " </method>\n" \
" <method name=\"GetJob\">\n" \
" <arg name=\"id\" type=\"u\" direction=\"in\"/>\n" \
" <arg name=\"job\" type=\"o\" direction=\"out\"/>\n" \
" </method>\n" \
+ " <method name=\"CancelJob\">\n" \
+ " <arg name=\"id\" type=\"u\" direction=\"in\"/>\n" \
+ " </method>\n" \
" <method name=\"ClearJobs\"/>\n" \
" <method name=\"ResetFailed\"/>\n" \
" <method name=\"ListUnits\">\n" \
@@ -124,6 +154,9 @@
" <arg name=\"cleanup\" type=\"b\" direction=\"in\"/>\n" \
" <arg name=\"unit\" type=\"o\" direction=\"out\"/>\n" \
" </method>\n" \
+ " <method name=\"RemoveSnapshot\">\n" \
+ " <arg name=\"name\" type=\"s\" direction=\"in\"/>\n" \
+ " </method>\n" \
" <method name=\"Reload\"/>\n" \
" <method name=\"Reexecute\"/>\n" \
" <method name=\"Exit\"/>\n" \
@@ -257,8 +290,8 @@
" <property name=\"DefaultControllers\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"DefaultStandardOutput\" type=\"s\" access=\"read\"/>\n" \
" <property name=\"DefaultStandardError\" type=\"s\" access=\"read\"/>\n" \
- " <property name=\"RuntimeWatchdogUSec\" type=\"s\" access=\"readwrite\"/>\n" \
- " <property name=\"ShutdownWatchdogUSec\" type=\"s\" access=\"readwrite\"/>\n" \
+ " <property name=\"RuntimeWatchdogUSec\" type=\"t\" access=\"readwrite\"/>\n" \
+ " <property name=\"ShutdownWatchdogUSec\" type=\"t\" access=\"readwrite\"/>\n" \
" <property name=\"Virtualization\" type=\"s\" access=\"read\"/>\n"
#define BUS_MANAGER_INTERFACE_END \
@@ -774,10 +807,33 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
DBUS_TYPE_INVALID))
goto oom;
+ } else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "CancelJob")) {
+ uint32_t id;
+ Job *j;
+
+ if (!dbus_message_get_args(
+ message,
+ &error,
+ DBUS_TYPE_UINT32, &id,
+ DBUS_TYPE_INVALID))
+ return bus_send_error_reply(connection, message, &error, -EINVAL);
+
+ j = manager_get_job(m, id);
+ if (!j) {
+ dbus_set_error(&error, BUS_ERROR_NO_SUCH_JOB, "Job %u does not exist.", (unsigned) id);
+ return bus_send_error_reply(connection, message, &error, -ENOENT);
+ }
+
+ SELINUX_UNIT_ACCESS_CHECK(j->unit, connection, message, "stop");
+ job_finish_and_invalidate(j, JOB_CANCELED, true);
+
+ reply = dbus_message_new_method_return(message);
+ if (!reply)
+ goto oom;
+
} else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "ClearJobs")) {
SELINUX_ACCESS_CHECK(connection, message, "reboot");
-
manager_clear_jobs(m);
reply = dbus_message_new_method_return(message);
@@ -819,6 +875,151 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
if (!reply)
goto oom;
+ } else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "SetUnitControlGroup")) {
+ const char *name;
+ Unit *u;
+ DBusMessageIter iter;
+
+ if (!dbus_message_iter_init(message, &iter))
+ goto oom;
+
+ r = bus_iter_get_basic_and_next(&iter, DBUS_TYPE_STRING, &name, true);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ u = manager_get_unit(m, name);
+ if (!u) {
+ dbus_set_error(&error, BUS_ERROR_NO_SUCH_UNIT, "Unit %s is not loaded.", name);
+ return bus_send_error_reply(connection, message, &error, -ENOENT);
+ }
+
+ SELINUX_UNIT_ACCESS_CHECK(u, connection, message, "start");
+
+ r = bus_unit_cgroup_set(u, &iter);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ reply = dbus_message_new_method_return(message);
+ if (!reply)
+ goto oom;
+
+ } else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "UnsetUnitControlGroup")) {
+ const char *name;
+ Unit *u;
+ DBusMessageIter iter;
+
+ if (!dbus_message_iter_init(message, &iter))
+ goto oom;
+
+ r = bus_iter_get_basic_and_next(&iter, DBUS_TYPE_STRING, &name, true);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ u = manager_get_unit(m, name);
+ if (!u) {
+ dbus_set_error(&error, BUS_ERROR_NO_SUCH_UNIT, "Unit %s is not loaded.", name);
+ return bus_send_error_reply(connection, message, &error, -ENOENT);
+ }
+
+ SELINUX_UNIT_ACCESS_CHECK(u, connection, message, "stop");
+
+ r = bus_unit_cgroup_unset(u, &iter);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ reply = dbus_message_new_method_return(message);
+ if (!reply)
+ goto oom;
+
+ } else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "SetUnitControlGroupAttribute")) {
+ const char *name;
+ Unit *u;
+ DBusMessageIter iter;
+
+ if (!dbus_message_iter_init(message, &iter))
+ goto oom;
+
+ r = bus_iter_get_basic_and_next(&iter, DBUS_TYPE_STRING, &name, true);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ u = manager_get_unit(m, name);
+ if (!u) {
+ dbus_set_error(&error, BUS_ERROR_NO_SUCH_UNIT, "Unit %s is not loaded.", name);
+ return bus_send_error_reply(connection, message, &error, -ENOENT);
+ }
+
+ SELINUX_UNIT_ACCESS_CHECK(u, connection, message, "start");
+
+ r = bus_unit_cgroup_attribute_set(u, &iter);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ reply = dbus_message_new_method_return(message);
+ if (!reply)
+ goto oom;
+
+ } else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "UnsetUnitControlGroupAttribute")) {
+ const char *name;
+ Unit *u;
+ DBusMessageIter iter;
+
+ if (!dbus_message_iter_init(message, &iter))
+ goto oom;
+
+ r = bus_iter_get_basic_and_next(&iter, DBUS_TYPE_STRING, &name, true);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ u = manager_get_unit(m, name);
+ if (!u) {
+ dbus_set_error(&error, BUS_ERROR_NO_SUCH_UNIT, "Unit %s is not loaded.", name);
+ return bus_send_error_reply(connection, message, &error, -ENOENT);
+ }
+
+ SELINUX_UNIT_ACCESS_CHECK(u, connection, message, "stop");
+
+ r = bus_unit_cgroup_attribute_unset(u, &iter);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ reply = dbus_message_new_method_return(message);
+ if (!reply)
+ goto oom;
+
+ } else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "GetUnitControlGroupAttribute")) {
+ const char *name;
+ Unit *u;
+ DBusMessageIter iter;
+ _cleanup_strv_free_ char **list = NULL;
+
+ if (!dbus_message_iter_init(message, &iter))
+ goto oom;
+
+ r = bus_iter_get_basic_and_next(&iter, DBUS_TYPE_STRING, &name, true);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ u = manager_get_unit(m, name);
+ if (!u) {
+ dbus_set_error(&error, BUS_ERROR_NO_SUCH_UNIT, "Unit %s is not loaded.", name);
+ return bus_send_error_reply(connection, message, &error, -ENOENT);
+ }
+
+ SELINUX_UNIT_ACCESS_CHECK(u, connection, message, "status");
+
+ r = bus_unit_cgroup_attribute_get(u, &iter, &list);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ reply = dbus_message_new_method_return(message);
+ if (!reply)
+ goto oom;
+
+ dbus_message_iter_init_append(reply, &iter);
+ if (bus_append_strv_iter(&iter, list) < 0)
+ goto oom;
+
} else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "ListUnits")) {
DBusMessageIter iter, sub;
Iterator i;
@@ -985,11 +1186,9 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
if (!client)
goto oom;
- r = set_put(s, client);
- if (r < 0) {
- free(client);
+ r = set_consume(s, client);
+ if (r < 0)
return bus_send_error_reply(connection, message, NULL, r);
- }
reply = dbus_message_new_method_return(message);
if (!reply)
@@ -1080,6 +1279,35 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
DBUS_TYPE_INVALID))
goto oom;
+ } else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "RemoveSnapshot")) {
+ const char *name;
+ Unit *u;
+
+ if (!dbus_message_get_args(
+ message,
+ &error,
+ DBUS_TYPE_STRING, &name,
+ DBUS_TYPE_INVALID))
+ return bus_send_error_reply(connection, message, &error, -EINVAL);
+
+ u = manager_get_unit(m, name);
+ if (!u) {
+ dbus_set_error(&error, BUS_ERROR_NO_SUCH_UNIT, "Unit %s does not exist.", name);
+ return bus_send_error_reply(connection, message, &error, -ENOENT);
+ }
+
+ if (u->type != UNIT_SNAPSHOT) {
+ dbus_set_error(&error, BUS_ERROR_NO_SUCH_UNIT, "Unit %s is not a snapshot.", name);
+ return bus_send_error_reply(connection, message, &error, -ENOENT);
+ }
+
+ SELINUX_UNIT_ACCESS_CHECK(u, connection, message, "stop");
+ snapshot_remove(SNAPSHOT(u));
+
+ reply = dbus_message_new_method_return(message);
+ if (!reply)
+ goto oom;
+
} else if (dbus_message_is_method_call(message, "org.freedesktop.DBus.Introspectable", "Introspect")) {
char *introspection = NULL;
FILE *f;
@@ -1251,7 +1479,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
} else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "SwitchRoot")) {
const char *switch_root, *switch_root_init;
char *u, *v;
- int k;
+ bool good;
SELINUX_ACCESS_CHECK(connection, message, "reboot");
@@ -1275,20 +1503,24 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
}
/* Safety check */
- if (isempty(switch_root_init))
- k = access(switch_root, F_OK);
+ if (isempty(switch_root_init)) {
+ good = path_is_os_tree(switch_root);
+ if (!good)
+ log_error("Not switching root: %s does not seem to be an OS tree. /etc/os-release is missing.", switch_root);
+ }
else {
- char *p;
+ _cleanup_free_ char *p = NULL;
p = strjoin(switch_root, "/", switch_root_init, NULL);
if (!p)
goto oom;
- k = access(p, X_OK);
- free(p);
+ good = access(p, X_OK) >= 0;
+ if (!good)
+ log_error("Not switching root: cannot execute new init %s", p);
}
- if (k < 0)
- return bus_send_error_reply(connection, message, NULL, -errno);
+ if (!good)
+ return bus_send_error_reply(connection, message, NULL, -EINVAL);
u = strdup(switch_root);
if (!u)
@@ -1315,7 +1547,8 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
m->exit_code = MANAGER_SWITCH_ROOT;
} else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "SetEnvironment")) {
- char **l = NULL, **e = NULL;
+ _cleanup_strv_free_ char **l = NULL;
+ char **e = NULL;
SELINUX_ACCESS_CHECK(connection, message, "reboot");
@@ -1324,9 +1557,10 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
goto oom;
if (r < 0)
return bus_send_error_reply(connection, message, NULL, r);
+ if (!strv_env_is_valid(l))
+ return bus_send_error_reply(connection, message, NULL, -EINVAL);
e = strv_env_merge(2, m->environment, l);
- strv_free(l);
if (!e)
goto oom;
@@ -1340,7 +1574,8 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
m->environment = e;
} else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "UnsetEnvironment")) {
- char **l = NULL, **e = NULL;
+ _cleanup_strv_free_ char **l = NULL;
+ char **e = NULL;
SELINUX_ACCESS_CHECK(connection, message, "reboot");
@@ -1349,10 +1584,10 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
goto oom;
if (r < 0)
return bus_send_error_reply(connection, message, NULL, r);
+ if (!strv_env_name_or_assignment_is_valid(l))
+ return bus_send_error_reply(connection, message, NULL, -EINVAL);
e = strv_env_delete(m->environment, 1, l);
- strv_free(l);
-
if (!e)
goto oom;
@@ -1366,7 +1601,8 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
m->environment = e;
} else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "UnsetAndSetEnvironment")) {
- char **l_set = NULL, **l_unset = NULL, **e = NULL, **f = NULL;
+ _cleanup_strv_free_ char **l_set = NULL, **l_unset = NULL, **e = NULL;
+ char **f = NULL;
DBusMessageIter iter;
SELINUX_ACCESS_CHECK(connection, message, "reboot");
@@ -1379,33 +1615,25 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
goto oom;
if (r < 0)
return bus_send_error_reply(connection, message, NULL, r);
+ if (!strv_env_name_or_assignment_is_valid(l_unset))
+ return bus_send_error_reply(connection, message, NULL, -EINVAL);
- if (!dbus_message_iter_next(&iter)) {
- strv_free(l_unset);
+ if (!dbus_message_iter_next(&iter))
return bus_send_error_reply(connection, message, NULL, -EINVAL);
- }
r = bus_parse_strv_iter(&iter, &l_set);
- if (r < 0) {
- strv_free(l_unset);
- if (r == -ENOMEM)
- goto oom;
-
+ if (r == -ENOMEM)
+ goto oom;
+ if (r < 0)
return bus_send_error_reply(connection, message, NULL, r);
- }
+ if (!strv_env_is_valid(l_set))
+ return bus_send_error_reply(connection, message, NULL, -EINVAL);
e = strv_env_delete(m->environment, 1, l_unset);
- strv_free(l_unset);
-
- if (!e) {
- strv_free(l_set);
+ if (!e)
goto oom;
- }
f = strv_env_merge(2, e, l_set);
- strv_free(l_set);
- strv_free(e);
-
if (!f)
goto oom;
@@ -1668,7 +1896,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
}
if (reply)
- if (!dbus_connection_send(connection, reply, NULL))
+ if (!bus_maybe_send_reply(connection, message, reply))
goto oom;
return DBUS_HANDLER_RESULT_HANDLED;
diff --git a/src/core/dbus-mount.c b/src/core/dbus-mount.c
index d81edeb807..0fcceb500d 100644
--- a/src/core/dbus-mount.c
+++ b/src/core/dbus-mount.c
@@ -40,6 +40,7 @@
BUS_EXEC_COMMAND_INTERFACE("ExecRemount") \
BUS_EXEC_CONTEXT_INTERFACE \
BUS_KILL_CONTEXT_INTERFACE \
+ BUS_UNIT_CGROUP_INTERFACE \
" <property name=\"ControlPID\" type=\"u\" access=\"read\"/>\n" \
" <property name=\"DirectoryMode\" type=\"u\" access=\"read\"/>\n" \
" <property name=\"Result\" type=\"s\" access=\"read\"/>\n" \
@@ -159,6 +160,7 @@ DBusHandlerResult bus_mount_message_handler(Unit *u, DBusConnection *c, DBusMess
{ "org.freedesktop.systemd1.Mount", bus_mount_properties, m },
{ "org.freedesktop.systemd1.Mount", bus_exec_context_properties, &m->exec_context },
{ "org.freedesktop.systemd1.Mount", bus_kill_context_properties, &m->kill_context },
+ { "org.freedesktop.systemd1.Mount", bus_unit_cgroup_properties, u },
{ NULL, }
};
diff --git a/src/core/dbus-path.c b/src/core/dbus-path.c
index f7fed1754d..1e62083d9b 100644
--- a/src/core/dbus-path.c
+++ b/src/core/dbus-path.c
@@ -84,15 +84,15 @@ static int bus_path_append_paths(DBusMessageIter *i, const char *property, void
}
static int bus_path_append_unit(DBusMessageIter *i, const char *property, void *data) {
- Unit *u = data;
- Path *p = PATH(u);
+ Unit *u = data, *trigger;
const char *t;
assert(i);
assert(property);
assert(u);
- t = UNIT_DEREF(p->unit) ? UNIT_DEREF(p->unit)->id : "";
+ trigger = UNIT_TRIGGER(u);
+ t = trigger ? trigger->id : "";
return dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, &t) ? 0 : -ENOMEM;
}
diff --git a/src/core/dbus-service.c b/src/core/dbus-service.c
index d99058dd46..e06a5dce97 100644
--- a/src/core/dbus-service.c
+++ b/src/core/dbus-service.c
@@ -50,6 +50,7 @@
BUS_EXEC_COMMAND_INTERFACE("ExecStopPost") \
BUS_EXEC_CONTEXT_INTERFACE \
BUS_KILL_CONTEXT_INTERFACE \
+ BUS_UNIT_CGROUP_INTERFACE \
" <property name=\"PermissionsStartOnly\" type=\"b\" access=\"read\"/>\n" \
" <property name=\"RootDirectoryStartOnly\" type=\"b\" access=\"read\"/>\n" \
" <property name=\"RemainAfterExit\" type=\"b\" access=\"read\"/>\n" \
@@ -152,6 +153,7 @@ DBusHandlerResult bus_service_message_handler(Unit *u, DBusConnection *connectio
{ "org.freedesktop.systemd1.Service", bus_exec_context_properties, &s->exec_context },
{ "org.freedesktop.systemd1.Service", bus_kill_context_properties, &s->kill_context },
{ "org.freedesktop.systemd1.Service", bus_exec_main_status_properties, &s->main_exec_status },
+ { "org.freedesktop.systemd1.Service", bus_unit_cgroup_properties, u },
{ NULL, }
};
diff --git a/src/core/dbus-snapshot.c b/src/core/dbus-snapshot.c
index 435c6df39c..2ae8574f59 100644
--- a/src/core/dbus-snapshot.c
+++ b/src/core/dbus-snapshot.c
@@ -54,19 +54,16 @@ static const BusProperty bus_snapshot_properties[] = {
DBusHandlerResult bus_snapshot_message_handler(Unit *u, DBusConnection *c, DBusMessage *message) {
Snapshot *s = SNAPSHOT(u);
_cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
- DBusError error;
-
- dbus_error_init(&error);
if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Snapshot", "Remove")) {
SELINUX_UNIT_ACCESS_CHECK(u, c, message, "stop");
- snapshot_remove(SNAPSHOT(u));
-
reply = dbus_message_new_method_return(message);
if (!reply)
- goto oom;
+ return DBUS_HANDLER_RESULT_NEED_MEMORY;
+
+ snapshot_remove(SNAPSHOT(u));
} else {
const BusBoundProperties bps[] = {
@@ -80,15 +77,8 @@ DBusHandlerResult bus_snapshot_message_handler(Unit *u, DBusConnection *c, DBusM
return bus_default_message_handler(c, message, INTROSPECTION, INTERFACES_LIST, bps);
}
- if (reply) {
- if (!dbus_connection_send(c, reply, NULL))
- goto oom;
- }
+ if (!bus_maybe_send_reply(c, message, reply))
+ return DBUS_HANDLER_RESULT_NEED_MEMORY;
return DBUS_HANDLER_RESULT_HANDLED;
-
-oom:
- dbus_error_free(&error);
-
- return DBUS_HANDLER_RESULT_NEED_MEMORY;
}
diff --git a/src/core/dbus-socket.c b/src/core/dbus-socket.c
index 095a031612..77d98ea0fd 100644
--- a/src/core/dbus-socket.c
+++ b/src/core/dbus-socket.c
@@ -39,6 +39,7 @@
BUS_EXEC_COMMAND_INTERFACE("ExecStopPost") \
BUS_EXEC_CONTEXT_INTERFACE \
BUS_KILL_CONTEXT_INTERFACE \
+ BUS_UNIT_CGROUP_INTERFACE \
" <property name=\"ControlPID\" type=\"u\" access=\"read\"/>\n" \
" <property name=\"BindToDevice\" type=\"s\" access=\"read\"/>\n" \
" <property name=\"DirectoryMode\" type=\"u\" access=\"read\"/>\n" \
@@ -62,6 +63,7 @@
" <property name=\"NConnections\" type=\"u\" access=\"read\"/>\n" \
" <property name=\"MessageQueueMaxMessages\" type=\"x\" access=\"read\"/>\n" \
" <property name=\"MessageQueueMessageSize\" type=\"x\" access=\"read\"/>\n" \
+ " <property name=\"Listen\" type=\"a(ss)\" access=\"read\"/>\n" \
" <property name=\"Result\" type=\"s\" access=\"read\"/>\n" \
" <property name=\"SmackLabel\" type=\"s\" access=\"read\"/>\n" \
" <property name=\"SmackLabelIPIn\" type=\"s\" access=\"read\"/>\n" \
@@ -97,6 +99,66 @@ const char bus_socket_invalidating_properties[] =
static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_socket_append_bind_ipv6_only, socket_address_bind_ipv6_only, SocketAddressBindIPv6Only);
static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_socket_append_socket_result, socket_result, SocketResult);
+static int bus_socket_append_listen(DBusMessageIter *i, const char *property, void *data) {
+
+ Socket *s = SOCKET(data);
+ SocketPort *p;
+ DBusMessageIter array, stru;
+
+ assert(data);
+ assert(property);
+ assert(s);
+
+ if (!dbus_message_iter_open_container(i, DBUS_TYPE_ARRAY, "(ss)", &array))
+ return log_oom();
+
+ LIST_FOREACH(port, p, s->ports) {
+ const char *type = socket_port_type_to_string(p);
+ _cleanup_free_ char *address = NULL;
+ const char *a;
+
+ if (!dbus_message_iter_open_container(&array, DBUS_TYPE_STRUCT, NULL, &stru))
+ return log_oom();
+
+ if (!dbus_message_iter_append_basic(&stru, DBUS_TYPE_STRING, &type))
+ return log_oom();
+
+ switch (p->type) {
+ case SOCKET_SOCKET: {
+ int r;
+
+ r = socket_address_print(&p->address, &address);
+ if (r) {
+ log_error("socket_address_print failed: %s", strerror(-r));
+ return r;
+ }
+ a = address;
+ break;
+ }
+
+ case SOCKET_SPECIAL:
+ case SOCKET_MQUEUE:
+ case SOCKET_FIFO:
+ a = p->path;
+ break;
+
+ default:
+ a = type;
+ }
+
+ if (!dbus_message_iter_append_basic(&stru, DBUS_TYPE_STRING, &a))
+ return -ENOMEM;
+
+ if (!dbus_message_iter_close_container(&array, &stru))
+ return -ENOMEM;
+ }
+
+ if (!dbus_message_iter_close_container(i, &array))
+ return -ENOMEM;
+
+ return 0;
+}
+
static const BusProperty bus_socket_properties[] = {
{ "BindIPv6Only", bus_socket_append_bind_ipv6_only, "s", offsetof(Socket, bind_ipv6_only) },
{ "Backlog", bus_property_append_unsigned, "u", offsetof(Socket, backlog) },
@@ -122,6 +184,7 @@ static const BusProperty bus_socket_properties[] = {
{ "Broadcast", bus_property_append_bool, "b", offsetof(Socket, broadcast) },
{ "PassCredentials",bus_property_append_bool, "b", offsetof(Socket, pass_cred) },
{ "PassSecurity", bus_property_append_bool, "b", offsetof(Socket, pass_sec) },
+ { "Listen", bus_socket_append_listen, "a(ss)", 0, },
{ "Mark", bus_property_append_int, "i", offsetof(Socket, mark) },
{ "MaxConnections", bus_property_append_unsigned, "u", offsetof(Socket, max_connections) },
{ "NConnections", bus_property_append_unsigned, "u", offsetof(Socket, n_connections) },
@@ -142,6 +205,7 @@ DBusHandlerResult bus_socket_message_handler(Unit *u, DBusConnection *c, DBusMes
{ "org.freedesktop.systemd1.Socket", bus_socket_properties, s },
{ "org.freedesktop.systemd1.Socket", bus_exec_context_properties, &s->exec_context },
{ "org.freedesktop.systemd1.Socket", bus_kill_context_properties, &s->kill_context },
+ { "org.freedesktop.systemd1.Socket", bus_unit_properties, u },
{ NULL, }
};
diff --git a/src/core/dbus-swap.c b/src/core/dbus-swap.c
index 67ea0f24fe..2e99fba7db 100644
--- a/src/core/dbus-swap.c
+++ b/src/core/dbus-swap.c
@@ -38,6 +38,7 @@
BUS_EXEC_COMMAND_INTERFACE("ExecDeactivate") \
BUS_EXEC_CONTEXT_INTERFACE \
BUS_KILL_CONTEXT_INTERFACE \
+ BUS_UNIT_CGROUP_INTERFACE \
" <property name=\"ControlPID\" type=\"u\" access=\"read\"/>\n" \
" <property name=\"Result\" type=\"s\" access=\"read\"/>\n" \
" </interface>\n"
@@ -106,6 +107,7 @@ DBusHandlerResult bus_swap_message_handler(Unit *u, DBusConnection *c, DBusMessa
{ "org.freedesktop.systemd1.Swap", bus_swap_properties, s },
{ "org.freedesktop.systemd1.Swap", bus_exec_context_properties, &s->exec_context },
{ "org.freedesktop.systemd1.Swap", bus_kill_context_properties, &s->kill_context },
+ { "org.freedesktop.systemd1.Swap", bus_unit_cgroup_properties, u },
{ NULL, }
};
diff --git a/src/core/dbus-timer.c b/src/core/dbus-timer.c
index 11d18cbd83..4082f7f9b9 100644
--- a/src/core/dbus-timer.c
+++ b/src/core/dbus-timer.c
@@ -30,8 +30,10 @@
#define BUS_TIMER_INTERFACE \
" <interface name=\"org.freedesktop.systemd1.Timer\">\n" \
" <property name=\"Unit\" type=\"s\" access=\"read\"/>\n" \
- " <property name=\"Timers\" type=\"a(stt)\" access=\"read\"/>\n" \
- " <property name=\"NextElapseUSec\" type=\"t\" access=\"read\"/>\n" \
+ " <property name=\"TimersMonotonic\" type=\"a(stt)\" access=\"read\"/>\n" \
+ " <property name=\"TimersCalendar\" type=\"a(sst)\" access=\"read\"/>\n" \
+ " <property name=\"NextElapseUSecRealtime\" type=\"t\" access=\"read\"/>\n" \
+ " <property name=\"NextElapseUSecMonotonic\" type=\"t\" access=\"read\"/>\n" \
" <property name=\"Result\" type=\"s\" access=\"read\"/>\n" \
" </interface>\n"
@@ -52,11 +54,13 @@
const char bus_timer_interface[] _introspect_("Timer") = BUS_TIMER_INTERFACE;
const char bus_timer_invalidating_properties[] =
- "Timers\0"
- "NextElapseUSec\0"
+ "TimersMonotonic\0"
+ "TimersRealtime\0"
+ "NextElapseUSecRealtime\0"
+ "NextElapseUSecMonotonic\0"
"Result\0";
-static int bus_timer_append_timers(DBusMessageIter *i, const char *property, void *data) {
+static int bus_timer_append_monotonic_timers(DBusMessageIter *i, const char *property, void *data) {
Timer *p = data;
DBusMessageIter sub, sub2;
TimerValue *k;
@@ -69,11 +73,14 @@ static int bus_timer_append_timers(DBusMessageIter *i, const char *property, voi
return -ENOMEM;
LIST_FOREACH(value, k, p->values) {
- char *buf;
+ _cleanup_free_ char *buf = NULL;
const char *t;
size_t l;
bool b;
+ if (k->base == TIMER_CALENDAR)
+ continue;
+
t = timer_base_to_string(k->base);
assert(endswith(t, "Sec"));
@@ -92,7 +99,48 @@ static int bus_timer_append_timers(DBusMessageIter *i, const char *property, voi
dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &k->next_elapse) &&
dbus_message_iter_close_container(&sub, &sub2);
- free(buf);
+ if (!b)
+ return -ENOMEM;
+ }
+
+ if (!dbus_message_iter_close_container(i, &sub))
+ return -ENOMEM;
+
+ return 0;
+}
+
+static int bus_timer_append_calendar_timers(DBusMessageIter *i, const char *property, void *data) {
+ Timer *p = data;
+ DBusMessageIter sub, sub2;
+ TimerValue *k;
+
+ assert(i);
+ assert(property);
+ assert(p);
+
+ if (!dbus_message_iter_open_container(i, DBUS_TYPE_ARRAY, "(sst)", &sub))
+ return -ENOMEM;
+
+ LIST_FOREACH(value, k, p->values) {
+ _cleanup_free_ char *buf = NULL;
+ const char *t;
+ bool b;
+ int j;
+
+ if (k->base != TIMER_CALENDAR)
+ continue;
+
+ t = timer_base_to_string(k->base);
+ j = calendar_spec_to_string(k->calendar_spec, &buf);
+ if (j < 0)
+ return j;
+
+ b = dbus_message_iter_open_container(&sub, DBUS_TYPE_STRUCT, NULL, &sub2) &&
+ dbus_message_iter_append_basic(&sub2, DBUS_TYPE_STRING, &t) &&
+ dbus_message_iter_append_basic(&sub2, DBUS_TYPE_STRING, &buf) &&
+ dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &k->next_elapse) &&
+ dbus_message_iter_close_container(&sub, &sub2);
+
if (!b)
return -ENOMEM;
}
@@ -104,15 +152,15 @@ static int bus_timer_append_timers(DBusMessageIter *i, const char *property, voi
}
static int bus_timer_append_unit(DBusMessageIter *i, const char *property, void *data) {
- Unit *u = data;
- Timer *timer = TIMER(u);
+ Unit *u = data, *trigger;
const char *t;
assert(i);
assert(property);
assert(u);
- t = UNIT_DEREF(timer->unit) ? UNIT_DEREF(timer->unit)->id : "";
+ trigger = UNIT_TRIGGER(u);
+ t = trigger ? trigger->id : "";
return dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, &t) ? 0 : -ENOMEM;
}
@@ -120,11 +168,12 @@ static int bus_timer_append_unit(DBusMessageIter *i, const char *property, void
static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_timer_append_timer_result, timer_result, TimerResult);
static const BusProperty bus_timer_properties[] = {
- { "Unit", bus_timer_append_unit, "s", 0 },
- { "Timers", bus_timer_append_timers, "a(stt)", 0 },
- { "NextElapseUSec", bus_property_append_usec, "t", offsetof(Timer, next_elapse_monotonic) },
- { "NextElapseUSecRealtime", bus_property_append_usec, "t", offsetof(Timer, next_elapse_realtime) },
- { "Result", bus_timer_append_timer_result,"s", offsetof(Timer, result) },
+ { "Unit", bus_timer_append_unit, "s", 0 },
+ { "TimersMonotonic", bus_timer_append_monotonic_timers, "a(stt)", 0 },
+ { "TimersCalendar", bus_timer_append_calendar_timers, "a(sst)", 0 },
+ { "NextElapseUSecMonotonic", bus_property_append_usec, "t", offsetof(Timer, next_elapse_monotonic) },
+ { "NextElapseUSecRealtime", bus_property_append_usec, "t", offsetof(Timer, next_elapse_realtime) },
+ { "Result", bus_timer_append_timer_result, "s", offsetof(Timer, result) },
{ NULL, }
};
diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c
index 8433a720b2..575f8eb36a 100644
--- a/src/core/dbus-unit.c
+++ b/src/core/dbus-unit.c
@@ -27,6 +27,10 @@
#include "bus-errors.h"
#include "dbus-common.h"
#include "selinux-access.h"
+#include "cgroup-util.h"
+#include "strv.h"
+#include "path-util.h"
+#include "fileio.h"
const char bus_unit_interface[] _introspect_("Unit") = BUS_UNIT_INTERFACE;
@@ -310,7 +314,7 @@ static int bus_unit_append_cgroups(DBusMessageIter *i, const char *property, voi
return -ENOMEM;
LIST_FOREACH(by_unit, cgb, u->cgroup_bondings) {
- char _cleanup_free_ *t = NULL;
+ _cleanup_free_ char *t = NULL;
bool success;
t = cgroup_bonding_to_string(cgb);
@@ -337,11 +341,11 @@ static int bus_unit_append_cgroup_attrs(DBusMessageIter *i, const char *property
return -ENOMEM;
LIST_FOREACH(by_unit, a, u->cgroup_attributes) {
- char _cleanup_free_ *v = NULL;
+ _cleanup_free_ char *v = NULL;
bool success;
- if (a->map_callback)
- a->map_callback(a->controller, a->name, a->value, &v);
+ if (a->semantics && a->semantics->map_write)
+ a->semantics->map_write(a->semantics, a->value, &v);
success =
dbus_message_iter_open_container(&sub, DBUS_TYPE_STRUCT, NULL, &sub2) &&
@@ -468,6 +472,90 @@ static DBusHandlerResult bus_unit_message_dispatch(Unit *u, DBusConnection *conn
if (!reply)
goto oom;
+ } else if (streq_ptr(dbus_message_get_member(message), "SetControlGroup")) {
+ DBusMessageIter iter;
+
+ SELINUX_UNIT_ACCESS_CHECK(u, connection, message, "start");
+
+ if (!dbus_message_iter_init(message, &iter))
+ goto oom;
+
+ r = bus_unit_cgroup_set(u, &iter);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ reply = dbus_message_new_method_return(message);
+ if (!reply)
+ goto oom;
+
+ } else if (streq_ptr(dbus_message_get_member(message), "UnsetControlGroup")) {
+ DBusMessageIter iter;
+
+ SELINUX_UNIT_ACCESS_CHECK(u, connection, message, "stop");
+
+ if (!dbus_message_iter_init(message, &iter))
+ goto oom;
+
+ r = bus_unit_cgroup_unset(u, &iter);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ reply = dbus_message_new_method_return(message);
+ if (!reply)
+ goto oom;
+ } else if (streq_ptr(dbus_message_get_member(message), "GetControlGroupAttribute")) {
+ DBusMessageIter iter;
+ _cleanup_strv_free_ char **list = NULL;
+
+ SELINUX_UNIT_ACCESS_CHECK(u, connection, message, "status");
+
+ if (!dbus_message_iter_init(message, &iter))
+ goto oom;
+
+ r = bus_unit_cgroup_attribute_get(u, &iter, &list);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ reply = dbus_message_new_method_return(message);
+ if (!reply)
+ goto oom;
+
+ dbus_message_iter_init_append(reply, &iter);
+ if (bus_append_strv_iter(&iter, list) < 0)
+ goto oom;
+
+ } else if (streq_ptr(dbus_message_get_member(message), "SetControlGroupAttribute")) {
+ DBusMessageIter iter;
+
+ SELINUX_UNIT_ACCESS_CHECK(u, connection, message, "start");
+
+ if (!dbus_message_iter_init(message, &iter))
+ goto oom;
+
+ r = bus_unit_cgroup_attribute_set(u, &iter);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ reply = dbus_message_new_method_return(message);
+ if (!reply)
+ goto oom;
+
+ } else if (streq_ptr(dbus_message_get_member(message), "UnsetControlGroupAttribute")) {
+ DBusMessageIter iter;
+
+ SELINUX_UNIT_ACCESS_CHECK(u, connection, message, "stop");
+
+ if (!dbus_message_iter_init(message, &iter))
+ goto oom;
+
+ r = bus_unit_cgroup_attribute_unset(u, &iter);
+ if (r < 0)
+ return bus_send_error_reply(connection, message, NULL, r);
+
+ reply = dbus_message_new_method_return(message);
+ if (!reply)
+ goto oom;
+
} else if (UNIT_VTABLE(u)->bus_message_handler)
return UNIT_VTABLE(u)->bus_message_handler(u, connection, message);
else
@@ -494,7 +582,7 @@ static DBusHandlerResult bus_unit_message_dispatch(Unit *u, DBusConnection *conn
}
if (reply)
- if (!dbus_connection_send(connection, reply, NULL))
+ if (!bus_maybe_send_reply(connection, message, reply))
goto oom;
return DBUS_HANDLER_RESULT_HANDLED;
@@ -585,7 +673,7 @@ static DBusHandlerResult bus_unit_message_handler(DBusConnection *connection, DB
free(introspection);
- if (!dbus_connection_send(connection, reply, NULL))
+ if (!bus_maybe_send_reply(connection, message, reply))
goto oom;
return DBUS_HANDLER_RESULT_HANDLED;
@@ -798,7 +886,7 @@ DBusHandlerResult bus_unit_queue_job(
DBUS_TYPE_INVALID))
goto oom;
- if (!dbus_connection_send(connection, reply, NULL))
+ if (!bus_maybe_send_reply(connection, message, reply))
goto oom;
return DBUS_HANDLER_RESULT_HANDLED;
@@ -809,6 +897,360 @@ oom:
return DBUS_HANDLER_RESULT_NEED_MEMORY;
}
+static int parse_mode(DBusMessageIter *iter, bool *runtime, bool next) {
+ const char *mode;
+ int r;
+
+ assert(iter);
+ assert(runtime);
+
+ r = bus_iter_get_basic_and_next(iter, DBUS_TYPE_STRING, &mode, next);
+ if (r < 0)
+ return r;
+
+ if (streq(mode, "runtime"))
+ *runtime = true;
+ else if (streq(mode, "persistent"))
+ *runtime = false;
+ else
+ return -EINVAL;
+
+ return 0;
+}
+
+int bus_unit_cgroup_set(Unit *u, DBusMessageIter *iter) {
+ _cleanup_free_ char *controller = NULL, *old_path = NULL, *new_path = NULL, *contents = NULL;
+ const char *name;
+ CGroupBonding *b;
+ bool runtime;
+ int r;
+
+ assert(u);
+ assert(iter);
+
+ if (!unit_get_exec_context(u))
+ return -EINVAL;
+
+ r = bus_iter_get_basic_and_next(iter, DBUS_TYPE_STRING, &name, true);
+ if (r < 0)
+ return r;
+
+ r = parse_mode(iter, &runtime, false);
+ if (r < 0)
+ return r;
+
+ r = cg_split_spec(name, &controller, &new_path);
+ if (r < 0)
+ return r;
+
+ if (!new_path) {
+ new_path = unit_default_cgroup_path(u);
+ if (!new_path)
+ return -ENOMEM;
+ }
+
+ if (!controller || streq(controller, SYSTEMD_CGROUP_CONTROLLER))
+ return -EINVAL;
+
+ b = cgroup_bonding_find_list(u->cgroup_bondings, controller);
+ if (b) {
+ if (streq(b->path, new_path))
+ return 0;
+
+ if (b->essential)
+ return -EINVAL;
+
+ old_path = strdup(b->path);
+ if (!old_path)
+ return -ENOMEM;
+ }
+
+ r = unit_add_cgroup_from_text(u, name, true, &b);
+ if (r < 0)
+ return r;
+ if (r > 0) {
+ CGroupAttribute *a;
+
+ /* Try to move things to the new place, and clean up the old place */
+ cgroup_bonding_realize(b);
+ cgroup_bonding_migrate(b, u->cgroup_bondings);
+
+ if (old_path)
+ cg_trim(controller, old_path, true);
+
+ /* Apply the attributes to the new group */
+ LIST_FOREACH(by_unit, a, u->cgroup_attributes)
+ if (streq(a->controller, controller))
+ cgroup_attribute_apply(a, b);
+ }
+
+ contents = strjoin("[", UNIT_VTABLE(u)->exec_section, "]\n"
+ "ControlGroup=", name, "\n", NULL);
+ if (!contents)
+ return -ENOMEM;
+
+ return unit_write_drop_in(u, runtime, controller, contents);
+}
+
+int bus_unit_cgroup_unset(Unit *u, DBusMessageIter *iter) {
+ _cleanup_free_ char *controller = NULL, *path = NULL, *target = NULL;
+ const char *name;
+ CGroupAttribute *a, *n;
+ CGroupBonding *b;
+ bool runtime;
+ int r;
+
+ assert(u);
+ assert(iter);
+
+ if (!unit_get_exec_context(u))
+ return -EINVAL;
+
+ r = bus_iter_get_basic_and_next(iter, DBUS_TYPE_STRING, &name, true);
+ if (r < 0)
+ return r;
+
+ r = parse_mode(iter, &runtime, false);
+ if (r < 0)
+ return r;
+
+ r = cg_split_spec(name, &controller, &path);
+ if (r < 0)
+ return r;
+
+ if (!controller || streq(controller, SYSTEMD_CGROUP_CONTROLLER))
+ return -EINVAL;
+
+ b = cgroup_bonding_find_list(u->cgroup_bondings, controller);
+ if (!b)
+ return -ENOENT;
+
+ if (path && !path_equal(path, b->path))
+ return -ENOENT;
+
+ if (b->essential)
+ return -EINVAL;
+
+ unit_remove_drop_in(u, runtime, controller);
+
+ /* Try to migrate the old group away */
+ if (cg_pid_get_path(controller, 0, &target) >= 0)
+ cgroup_bonding_migrate_to(u->cgroup_bondings, target, false);
+
+ cgroup_bonding_free(b, true);
+
+ /* Drop all attributes of this controller */
+ LIST_FOREACH_SAFE(by_unit, a, n, u->cgroup_attributes) {
+ if (!streq(a->controller, controller))
+ continue;
+
+ unit_remove_drop_in(u, runtime, a->name);
+ cgroup_attribute_free(a);
+ }
+
+ return 0;
+}
+
+int bus_unit_cgroup_attribute_get(Unit *u, DBusMessageIter *iter, char ***_result) {
+ _cleanup_free_ char *controller = NULL;
+ CGroupAttribute *a;
+ CGroupBonding *b;
+ const char *name;
+ char **l = NULL;
+ int r;
+
+ assert(u);
+ assert(iter);
+ assert(_result);
+
+ if (!unit_get_exec_context(u))
+ return -EINVAL;
+
+ r = bus_iter_get_basic_and_next(iter, DBUS_TYPE_STRING, &name, false);
+ if (r < 0)
+ return r;
+
+ r = cg_controller_from_attr(name, &controller);
+ if (r < 0)
+ return r;
+
+ /* First attempt, read the value from the kernel */
+ b = cgroup_bonding_find_list(u->cgroup_bondings, controller);
+ if (b) {
+ _cleanup_free_ char *p = NULL, *v = NULL;
+
+ r = cg_get_path(b->controller, b->path, name, &p);
+ if (r < 0)
+ return r;
+
+ r = read_full_file(p, &v, NULL);
+ if (r >= 0) {
+ /* Split on new lines */
+ l = strv_split_newlines(v);
+ if (!l)
+ return -ENOMEM;
+
+ *_result = l;
+ return 0;
+
+ }
+ }
+
+ /* If that didn't work, read our cached value */
+ LIST_FOREACH(by_unit, a, u->cgroup_attributes) {
+
+ if (!cgroup_attribute_matches(a, controller, name))
+ continue;
+
+ r = strv_extend(&l, a->value);
+ if (r < 0) {
+ strv_free(l);
+ return r;
+ }
+ }
+
+ if (!l)
+ return -ENOENT;
+
+ *_result = l;
+ return 0;
+}
+
+static int update_attribute_drop_in(Unit *u, bool runtime, const char *name) {
+ _cleanup_free_ char *buf = NULL;
+ CGroupAttribute *a;
+
+ assert(u);
+ assert(name);
+
+ LIST_FOREACH(by_unit, a, u->cgroup_attributes) {
+ if (!cgroup_attribute_matches(a, NULL, name))
+ continue;
+
+ if (!buf) {
+ buf = strjoin("[", UNIT_VTABLE(u)->exec_section, "]\n"
+ "ControlGroupAttribute=", a->name, " ", a->value, "\n", NULL);
+
+ if (!buf)
+ return -ENOMEM;
+ } else {
+ char *b;
+
+ b = strjoin(buf,
+ "ControlGroupAttribute=", a->name, " ", a->value, "\n", NULL);
+
+ if (!b)
+ return -ENOMEM;
+
+ free(buf);
+ buf = b;
+ }
+ }
+
+ if (buf)
+ return unit_write_drop_in(u, runtime, name, buf);
+ else
+ return unit_remove_drop_in(u, runtime, name);
+}
+
+int bus_unit_cgroup_attribute_set(Unit *u, DBusMessageIter *iter) {
+ _cleanup_strv_free_ char **l = NULL;
+ int r;
+ bool runtime = false;
+ char **value;
+ const char *name;
+
+ assert(u);
+ assert(iter);
+
+ if (!unit_get_exec_context(u))
+ return -EINVAL;
+
+ r = bus_iter_get_basic_and_next(iter, DBUS_TYPE_STRING, &name, true);
+ if (r < 0)
+ return r;
+
+ r = bus_parse_strv_iter(iter, &l);
+ if (r < 0)
+ return r;
+
+ if (!dbus_message_iter_next(iter))
+ return -EINVAL;
+
+ r = parse_mode(iter, &runtime, false);
+ if (r < 0)
+ return r;
+
+ STRV_FOREACH(value, l) {
+ _cleanup_free_ char *v = NULL;
+ CGroupAttribute *a;
+ const CGroupSemantics *s;
+
+ r = cgroup_semantics_find(NULL, name, *value, &v, &s);
+ if (r < 0)
+ return r;
+
+ if (s && !s->multiple && l[1])
+ return -EINVAL;
+
+ r = unit_add_cgroup_attribute(u, s, NULL, name, v ? v : *value, &a);
+ if (r < 0)
+ return r;
+
+ if (r > 0) {
+ CGroupBonding *b;
+
+ b = cgroup_bonding_find_list(u->cgroup_bondings, a->controller);
+ if (!b) {
+ /* Doesn't exist yet? Then let's add it */
+ r = unit_add_cgroup_from_text(u, a->controller, false, &b);
+ if (r < 0)
+ return r;
+
+ if (r > 0) {
+ cgroup_bonding_realize(b);
+ cgroup_bonding_migrate(b, u->cgroup_bondings);
+ }
+ }
+
+ /* Make it count */
+ cgroup_attribute_apply(a, u->cgroup_bondings);
+ }
+
+ }
+
+ r = update_attribute_drop_in(u, runtime, name);
+ if (r < 0)
+ return r;
+
+ return 0;
+}
+
+int bus_unit_cgroup_attribute_unset(Unit *u, DBusMessageIter *iter) {
+ const char *name;
+ bool runtime;
+ int r;
+
+ assert(u);
+ assert(iter);
+
+ if (!unit_get_exec_context(u))
+ return -EINVAL;
+
+ r = bus_iter_get_basic_and_next(iter, DBUS_TYPE_STRING, &name, true);
+ if (r < 0)
+ return r;
+
+ r = parse_mode(iter, &runtime, false);
+ if (r < 0)
+ return r;
+
+ cgroup_attribute_free_some(u->cgroup_attributes, NULL, name);
+ update_attribute_drop_in(u, runtime, name);
+
+ return 0;
+}
+
const BusProperty bus_unit_properties[] = {
{ "Id", bus_property_append_string, "s", offsetof(Unit, id), true },
{ "Names", bus_unit_append_names, "as", 0 },
@@ -842,6 +1284,7 @@ const BusProperty bus_unit_properties[] = {
{ "SubState", bus_unit_append_sub_state, "s", 0 },
{ "FragmentPath", bus_property_append_string, "s", offsetof(Unit, fragment_path), true },
{ "SourcePath", bus_property_append_string, "s", offsetof(Unit, source_path), true },
+ { "DropInPaths", bus_property_append_strv, "as", offsetof(Unit, dropin_paths), true },
{ "UnitFileState", bus_unit_append_file_state, "s", 0 },
{ "InactiveExitTimestamp",bus_property_append_usec, "t", offsetof(Unit, inactive_exit_timestamp.realtime) },
{ "InactiveExitTimestampMonotonic", bus_property_append_usec, "t", offsetof(Unit, inactive_exit_timestamp.monotonic) },
@@ -864,9 +1307,6 @@ const BusProperty bus_unit_properties[] = {
{ "OnFailureIsolate", bus_property_append_bool, "b", offsetof(Unit, on_failure_isolate) },
{ "IgnoreOnIsolate", bus_property_append_bool, "b", offsetof(Unit, ignore_on_isolate) },
{ "IgnoreOnSnapshot", bus_property_append_bool, "b", offsetof(Unit, ignore_on_snapshot) },
- { "DefaultControlGroup", bus_unit_append_default_cgroup, "s", 0 },
- { "ControlGroup", bus_unit_append_cgroups, "as", 0 },
- { "ControlGroupAttributes", bus_unit_append_cgroup_attrs,"a(sss)", 0 },
{ "NeedDaemonReload", bus_unit_append_need_daemon_reload, "b", 0 },
{ "JobTimeoutUSec", bus_property_append_usec, "t", offsetof(Unit, job_timeout) },
{ "ConditionTimestamp", bus_property_append_usec, "t", offsetof(Unit, condition_timestamp.realtime) },
@@ -875,3 +1315,10 @@ const BusProperty bus_unit_properties[] = {
{ "LoadError", bus_unit_append_load_error, "(ss)", 0 },
{ NULL, }
};
+
+const BusProperty bus_unit_cgroup_properties[] = {
+ { "DefaultControlGroup", bus_unit_append_default_cgroup, "s", 0 },
+ { "ControlGroups", bus_unit_append_cgroups, "as", 0 },
+ { "ControlGroupAttributes", bus_unit_append_cgroup_attrs, "a(sss)", 0 },
+ { NULL, }
+};
diff --git a/src/core/dbus-unit.h b/src/core/dbus-unit.h
index ac6785a949..acd1ddbe78 100644
--- a/src/core/dbus-unit.h
+++ b/src/core/dbus-unit.h
@@ -69,11 +69,13 @@
" <property name=\"Requisite\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"RequisiteOverridable\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"Wants\" type=\"as\" access=\"read\"/>\n" \
- " <property name=\"BindsTo\" type=\"as\" access=\"read\"/>\n" \
+ " <property name=\"BindsTo\" type=\"as\" access=\"read\"/>\n" \
+ " <property name=\"PartOf\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"RequiredBy\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"RequiredByOverridable\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"WantedBy\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"BoundBy\" type=\"as\" access=\"read\"/>\n" \
+ " <property name=\"ConsistsOf\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"Conflicts\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"ConflictedBy\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"Before\" type=\"as\" access=\"read\"/>\n" \
@@ -86,6 +88,7 @@
" <property name=\"RequiresMountsFor\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"Description\" type=\"s\" access=\"read\"/>\n" \
" <property name=\"SourcePath\" type=\"s\" access=\"read\"/>\n" \
+ " <property name=\"DropInPaths\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"Documentation\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"LoadState\" type=\"s\" access=\"read\"/>\n" \
" <property name=\"ActiveState\" type=\"s\" access=\"read\"/>\n" \
@@ -113,9 +116,6 @@
" <property name=\"OnFailureIsolate\" type=\"b\" access=\"read\"/>\n" \
" <property name=\"IgnoreOnIsolate\" type=\"b\" access=\"read\"/>\n" \
" <property name=\"IgnoreOnSnapshot\" type=\"b\" access=\"read\"/>\n" \
- " <property name=\"DefaultControlGroup\" type=\"s\" access=\"read\"/>\n" \
- " <property name=\"ControlGroup\" type=\"as\" access=\"read\"/>\n" \
- " <property name=\"ControlGroupAttributes\" type=\"a(sss)\" access=\"read\"/>\n" \
" <property name=\"NeedDaemonReload\" type=\"b\" access=\"read\"/>\n" \
" <property name=\"JobTimeoutUSec\" type=\"t\" access=\"read\"/>\n" \
" <property name=\"ConditionTimestamp\" type=\"t\" access=\"read\"/>\n" \
@@ -124,16 +124,42 @@
" <property name=\"LoadError\" type=\"(ss)\" access=\"read\"/>\n" \
" </interface>\n"
+#define BUS_UNIT_CGROUP_INTERFACE \
+ " <property name=\"DefaultControlGroup\" type=\"s\" access=\"read\"/>\n" \
+ " <property name=\"ControlGroups\" type=\"as\" access=\"read\"/>\n" \
+ " <property name=\"ControlGroupAttributes\" type=\"a(sss)\" access=\"read\"/>\n" \
+ " <method name=\"SetControlGroup\">\n" \
+ " <arg name=\"group\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"mode\" type=\"s\" direction=\"in\"/>\n" \
+ " </method>\n" \
+ " <method name=\"UnsetControlGroup\">\n" \
+ " <arg name=\"group\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"mode\" type=\"s\" direction=\"in\"/>\n" \
+ " </method>\n" \
+ " <method name=\"GetControlGroupAttribute\">\n" \
+ " <arg name=\"attribute\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"values\" type=\"as\" direction=\"out\"/>\n" \
+ " </method>\n" \
+ " <method name=\"SetControlGroupAttribute\">\n" \
+ " <arg name=\"attribute\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"values\" type=\"as\" direction=\"in\"/>\n" \
+ " <arg name=\"mode\" type=\"s\" direction=\"in\"/>\n" \
+ " </method>\n" \
+ " <method name=\"UnsetControlGroupAttribute\">\n" \
+ " <arg name=\"attribute\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"mode\" type=\"s\" direction=\"in\"/>\n" \
+ " </method>\n"
+
#define BUS_UNIT_INTERFACES_LIST \
BUS_GENERIC_INTERFACES_LIST \
"org.freedesktop.systemd1.Unit\0"
extern const BusProperty bus_unit_properties[];
+extern const BusProperty bus_unit_cgroup_properties[];
void bus_unit_send_change_signal(Unit *u);
void bus_unit_send_removed_signal(Unit *u);
-
DBusHandlerResult bus_unit_queue_job(
DBusConnection *connection,
DBusMessage *message,
@@ -142,6 +168,12 @@ DBusHandlerResult bus_unit_queue_job(
JobMode mode,
bool reload_if_possible);
+int bus_unit_cgroup_set(Unit *u, DBusMessageIter *iter);
+int bus_unit_cgroup_unset(Unit *u, DBusMessageIter *iter);
+int bus_unit_cgroup_attribute_get(Unit *u, DBusMessageIter *iter, char ***_result);
+int bus_unit_cgroup_attribute_set(Unit *u, DBusMessageIter *iter);
+int bus_unit_cgroup_attribute_unset(Unit *u, DBusMessageIter *iter);
+
extern const DBusObjectPathVTable bus_unit_vtable;
extern const char bus_unit_interface[];
diff --git a/src/core/dbus.c b/src/core/dbus.c
index 2a1c66054a..1272c938cf 100644
--- a/src/core/dbus.c
+++ b/src/core/dbus.c
@@ -48,7 +48,7 @@
#include "special.h"
#include "dbus-common.h"
-#define CONNECTIONS_MAX 52
+#define CONNECTIONS_MAX 512
/* Well-known address (http://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-types) */
#define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "unix:path=/var/run/dbus/system_bus_socket"
@@ -203,13 +203,11 @@ static void bus_toggle_watch(DBusWatch *bus_watch, void *data) {
}
static int bus_timeout_arm(Manager *m, Watch *w) {
- struct itimerspec its;
+ struct itimerspec its = {};
assert(m);
assert(w);
- zero(its);
-
if (dbus_timeout_get_enabled(w->data.bus_timeout)) {
timespec_store(&its.it_value, dbus_timeout_get_interval(w->data.bus_timeout) * USEC_PER_MSEC);
its.it_interval = its.it_value;
@@ -365,8 +363,8 @@ static DBusHandlerResult api_bus_message_filter(DBusConnection *connection, DBus
log_debug("Got D-Bus activation request for %s", name);
- if (manager_unit_pending_inactive(m, SPECIAL_DBUS_SERVICE) ||
- manager_unit_pending_inactive(m, SPECIAL_DBUS_SOCKET)) {
+ if (manager_unit_inactive_or_pending(m, SPECIAL_DBUS_SERVICE) ||
+ manager_unit_inactive_or_pending(m, SPECIAL_DBUS_SOCKET)) {
r = -EADDRNOTAVAIL;
dbus_set_error(&error, BUS_ERROR_SHUTTING_DOWN, "Refusing activation, D-Bus is shutting down.");
} else {
@@ -406,7 +404,7 @@ static DBusHandlerResult api_bus_message_filter(DBusConnection *connection, DBus
dbus_error_free(&error);
if (reply) {
- if (!dbus_connection_send(connection, reply, NULL))
+ if (!bus_maybe_send_reply(connection, message, reply))
goto oom;
dbus_message_unref(reply);
@@ -978,9 +976,8 @@ static DBusConnection* manager_bus_connect_private(Manager *m, DBusBusType type)
}
return connection;
+
fail:
- if (connection)
- dbus_connection_close(connection);
dbus_error_free(&error);
return NULL;
}
@@ -1054,7 +1051,7 @@ fail:
static int bus_init_private(Manager *m) {
DBusError error;
int r;
- const char *const external_only[] = {
+ static const char *const external_only[] = {
"EXTERNAL",
NULL
};
@@ -1077,18 +1074,33 @@ static int bus_init_private(Manager *m) {
} else {
const char *e;
char *p;
+ char *escaped;
e = secure_getenv("XDG_RUNTIME_DIR");
if (!e)
return 0;
- if (asprintf(&p, "unix:path=%s/systemd/private", e) < 0) {
+ if (asprintf(&p, "%s/systemd/private", e) < 0) {
+ r = log_oom();
+ goto fail;
+ }
+
+ mkdir_parents_label(p, 0755);
+ unlink(p);
+ free(p);
+
+ escaped = dbus_address_escape_value(e);
+ if (!escaped) {
+ r = log_oom();
+ goto fail;
+ }
+ if (asprintf(&p, "unix:path=%s/systemd/private", escaped) < 0) {
+ dbus_free(escaped);
r = log_oom();
goto fail;
}
+ dbus_free(escaped);
- mkdir_parents_label(p+10, 0755);
- unlink(p+10);
m->private_bus = dbus_server_listen(p, &error);
free(p);
}
diff --git a/src/core/device.c b/src/core/device.c
index 0b01718ad4..9fca82ab16 100644
--- a/src/core/device.c
+++ b/src/core/device.c
@@ -124,13 +124,13 @@ static void device_dump(Unit *u, FILE *f, const char *prefix) {
prefix, strna(d->sysfs));
}
-static UnitActiveState device_active_state(Unit *u) {
+_pure_ static UnitActiveState device_active_state(Unit *u) {
assert(u);
return state_translation_table[DEVICE(u)->state];
}
-static const char *device_sub_state_to_string(Unit *u) {
+_pure_ static const char *device_sub_state_to_string(Unit *u) {
assert(u);
return device_state_to_string(DEVICE(u)->state);
@@ -281,16 +281,22 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p
size_t l;
FOREACH_WORD_QUOTED(w, l, wants, state) {
- char *e;
+ char *e, *n;
e = strndup(w, l);
if (!e) {
r = -ENOMEM;
goto fail;
}
-
- r = unit_add_dependency_by_name(u, UNIT_WANTS, e, NULL, true);
+ n = unit_name_mangle(e);
+ if (!n) {
+ r = -ENOMEM;
+ goto fail;
+ }
free(e);
+
+ r = unit_add_dependency_by_name(u, UNIT_WANTS, n, NULL, true);
+ free(n);
if (r < 0)
goto fail;
}
@@ -312,6 +318,7 @@ fail:
static int device_process_new_device(Manager *m, struct udev_device *dev, bool update_state) {
const char *sysfs, *dn;
struct udev_list_entry *item = NULL, *first = NULL;
+ int r;
assert(m);
@@ -319,7 +326,9 @@ static int device_process_new_device(Manager *m, struct udev_device *dev, bool u
return -ENOMEM;
/* Add the main unit named after the sysfs path */
- device_update_unit(m, dev, sysfs, true);
+ r = device_update_unit(m, dev, sysfs, true);
+ if (r < 0)
+ return r;
/* Add an additional unit for the device node */
if ((dn = udev_device_get_devnode(dev)))
@@ -477,7 +486,6 @@ static void device_shutdown(Manager *m) {
}
static int device_enumerate(Manager *m) {
- struct epoll_event ev;
int r;
struct udev_enumerate *e = NULL;
struct udev_list_entry *item = NULL, *first = NULL;
@@ -485,6 +493,8 @@ static int device_enumerate(Manager *m) {
assert(m);
if (!m->udev) {
+ struct epoll_event ev;
+
if (!(m->udev = udev_new()))
return -ENOMEM;
diff --git a/src/core/device.h b/src/core/device.h
index 3c4604f60e..41e8de9703 100644
--- a/src/core/device.h
+++ b/src/core/device.h
@@ -52,5 +52,5 @@ extern const UnitVTable device_vtable;
void device_fd_event(Manager *m, int events);
-const char* device_state_to_string(DeviceState i);
-DeviceState device_state_from_string(const char *s);
+const char* device_state_to_string(DeviceState i) _const_;
+DeviceState device_state_from_string(const char *s) _pure_;
diff --git a/src/core/execute.c b/src/core/execute.c
index 7dc15044b4..3959ef9623 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
@@ -40,6 +40,7 @@
#include <sys/poll.h>
#include <linux/seccomp-bpf.h>
#include <glob.h>
+#include <libgen.h>
#ifdef HAVE_PAM
#include <security/pam_appl.h>
@@ -64,6 +65,8 @@
#include "loopback-setup.h"
#include "path-util.h"
#include "syscall-list.h"
+#include "env-util.h"
+#include "fileio.h"
#define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
@@ -141,7 +144,7 @@ static int flags_fds(const int fds[], unsigned n_fds, bool nonblock) {
return 0;
}
-static const char *tty_path(const ExecContext *context) {
+_pure_ static const char *tty_path(const ExecContext *context) {
assert(context);
if (context->tty_path)
@@ -163,6 +166,26 @@ void exec_context_tty_reset(const ExecContext *context) {
vt_disallocate(context->tty_path);
}
+static bool is_terminal_output(ExecOutput o) {
+ return
+ o == EXEC_OUTPUT_TTY ||
+ o == EXEC_OUTPUT_SYSLOG_AND_CONSOLE ||
+ o == EXEC_OUTPUT_KMSG_AND_CONSOLE ||
+ o == EXEC_OUTPUT_JOURNAL_AND_CONSOLE;
+}
+
+void exec_context_serialize(const ExecContext *context, Unit *u, FILE *f) {
+ assert(context);
+ assert(u);
+ assert(f);
+
+ if (context->tmp_dir)
+ unit_serialize_item(u, f, "tmp-dir", context->tmp_dir);
+
+ if (context->var_tmp_dir)
+ unit_serialize_item(u, f, "var-tmp-dir", context->var_tmp_dir);
+}
+
static int open_null_as(int flags, int nfd) {
int fd, r;
@@ -182,7 +205,10 @@ static int open_null_as(int flags, int nfd) {
static int connect_logger_as(const ExecContext *context, ExecOutput output, const char *ident, const char *unit_id, int nfd) {
int fd, r;
- union sockaddr_union sa;
+ union sockaddr_union sa = {
+ .un.sun_family = AF_UNIX,
+ .un.sun_path = "/run/systemd/journal/stdout",
+ };
assert(context);
assert(output < _EXEC_OUTPUT_MAX);
@@ -193,10 +219,6 @@ static int connect_logger_as(const ExecContext *context, ExecOutput output, cons
if (fd < 0)
return -errno;
- zero(sa);
- sa.un.sun_family = AF_UNIX;
- strncpy(sa.un.sun_path, "/run/systemd/journal/stdout", sizeof(sa.un.sun_path));
-
r = connect(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path));
if (r < 0) {
close_nointr_nofail(fd);
@@ -222,7 +244,7 @@ static int connect_logger_as(const ExecContext *context, ExecOutput output, cons
!!context->syslog_level_prefix,
output == EXEC_OUTPUT_SYSLOG || output == EXEC_OUTPUT_SYSLOG_AND_CONSOLE,
output == EXEC_OUTPUT_KMSG || output == EXEC_OUTPUT_KMSG_AND_CONSOLE,
- output == EXEC_OUTPUT_SYSLOG_AND_CONSOLE || output == EXEC_OUTPUT_KMSG_AND_CONSOLE || output == EXEC_OUTPUT_JOURNAL_AND_CONSOLE);
+ is_terminal_output(output));
if (fd != nfd) {
r = dup2(fd, nfd) < 0 ? -errno : nfd;
@@ -318,9 +340,10 @@ static int setup_input(const ExecContext *context, int socket_fd, bool apply_tty
}
}
-static int setup_output(const ExecContext *context, int socket_fd, const char *ident, const char *unit_id, bool apply_tty_stdin) {
+static int setup_output(const ExecContext *context, int fileno, int socket_fd, const char *ident, const char *unit_id, bool apply_tty_stdin) {
ExecOutput o;
ExecInput i;
+ int r;
assert(context);
assert(ident);
@@ -328,91 +351,55 @@ static int setup_output(const ExecContext *context, int socket_fd, const char *i
i = fixup_input(context->std_input, socket_fd, apply_tty_stdin);
o = fixup_output(context->std_output, socket_fd);
- /* This expects the input is already set up */
+ if (fileno == STDERR_FILENO) {
+ ExecOutput e;
+ e = fixup_output(context->std_error, socket_fd);
- switch (o) {
+ /* This expects the input and output are already set up */
+
+ /* Don't change the stderr file descriptor if we inherit all
+ * the way and are not on a tty */
+ if (e == EXEC_OUTPUT_INHERIT &&
+ o == EXEC_OUTPUT_INHERIT &&
+ i == EXEC_INPUT_NULL &&
+ !is_terminal_input(context->std_input) &&
+ getppid () != 1)
+ return fileno;
- case EXEC_OUTPUT_INHERIT:
+ /* Duplicate from stdout if possible */
+ if (e == o || e == EXEC_OUTPUT_INHERIT)
+ return dup2(STDOUT_FILENO, fileno) < 0 ? -errno : fileno;
+ o = e;
+
+ } else if (o == EXEC_OUTPUT_INHERIT) {
/* If input got downgraded, inherit the original value */
if (i == EXEC_INPUT_NULL && is_terminal_input(context->std_input))
- return open_terminal_as(tty_path(context), O_WRONLY, STDOUT_FILENO);
+ return open_terminal_as(tty_path(context), O_WRONLY, fileno);
/* If the input is connected to anything that's not a /dev/null, inherit that... */
if (i != EXEC_INPUT_NULL)
- return dup2(STDIN_FILENO, STDOUT_FILENO) < 0 ? -errno : STDOUT_FILENO;
+ return dup2(STDIN_FILENO, fileno) < 0 ? -errno : fileno;
/* If we are not started from PID 1 we just inherit STDOUT from our parent process. */
if (getppid() != 1)
- return STDOUT_FILENO;
-
- /* We need to open /dev/null here anew, to get the
- * right access mode. So we fall through */
-
- case EXEC_OUTPUT_NULL:
- return open_null_as(O_WRONLY, STDOUT_FILENO);
-
- case EXEC_OUTPUT_TTY:
- if (is_terminal_input(i))
- return dup2(STDIN_FILENO, STDOUT_FILENO) < 0 ? -errno : STDOUT_FILENO;
+ return fileno;
- /* We don't reset the terminal if this is just about output */
- return open_terminal_as(tty_path(context), O_WRONLY, STDOUT_FILENO);
-
- case EXEC_OUTPUT_SYSLOG:
- case EXEC_OUTPUT_SYSLOG_AND_CONSOLE:
- case EXEC_OUTPUT_KMSG:
- case EXEC_OUTPUT_KMSG_AND_CONSOLE:
- case EXEC_OUTPUT_JOURNAL:
- case EXEC_OUTPUT_JOURNAL_AND_CONSOLE:
- return connect_logger_as(context, o, ident, unit_id, STDOUT_FILENO);
-
- case EXEC_OUTPUT_SOCKET:
- assert(socket_fd >= 0);
- return dup2(socket_fd, STDOUT_FILENO) < 0 ? -errno : STDOUT_FILENO;
-
- default:
- assert_not_reached("Unknown output type");
+ /* We need to open /dev/null here anew, to get the right access mode. */
+ return open_null_as(O_WRONLY, fileno);
}
-}
-
-static int setup_error(const ExecContext *context, int socket_fd, const char *ident, const char *unit_id, bool apply_tty_stdin) {
- ExecOutput o, e;
- ExecInput i;
-
- assert(context);
- assert(ident);
-
- i = fixup_input(context->std_input, socket_fd, apply_tty_stdin);
- o = fixup_output(context->std_output, socket_fd);
- e = fixup_output(context->std_error, socket_fd);
-
- /* This expects the input and output are already set up */
- /* Don't change the stderr file descriptor if we inherit all
- * the way and are not on a tty */
- if (e == EXEC_OUTPUT_INHERIT &&
- o == EXEC_OUTPUT_INHERIT &&
- i == EXEC_INPUT_NULL &&
- !is_terminal_input(context->std_input) &&
- getppid () != 1)
- return STDERR_FILENO;
-
- /* Duplicate from stdout if possible */
- if (e == o || e == EXEC_OUTPUT_INHERIT)
- return dup2(STDOUT_FILENO, STDERR_FILENO) < 0 ? -errno : STDERR_FILENO;
-
- switch (e) {
+ switch (o) {
case EXEC_OUTPUT_NULL:
- return open_null_as(O_WRONLY, STDERR_FILENO);
+ return open_null_as(O_WRONLY, fileno);
case EXEC_OUTPUT_TTY:
if (is_terminal_input(i))
- return dup2(STDIN_FILENO, STDERR_FILENO) < 0 ? -errno : STDERR_FILENO;
+ return dup2(STDIN_FILENO, fileno) < 0 ? -errno : fileno;
/* We don't reset the terminal if this is just about output */
- return open_terminal_as(tty_path(context), O_WRONLY, STDERR_FILENO);
+ return open_terminal_as(tty_path(context), O_WRONLY, fileno);
case EXEC_OUTPUT_SYSLOG:
case EXEC_OUTPUT_SYSLOG_AND_CONSOLE:
@@ -420,11 +407,21 @@ static int setup_error(const ExecContext *context, int socket_fd, const char *id
case EXEC_OUTPUT_KMSG_AND_CONSOLE:
case EXEC_OUTPUT_JOURNAL:
case EXEC_OUTPUT_JOURNAL_AND_CONSOLE:
- return connect_logger_as(context, e, ident, unit_id, STDERR_FILENO);
+ r = connect_logger_as(context, o, ident, unit_id, fileno);
+ if (r < 0) {
+ log_struct_unit(LOG_CRIT, unit_id,
+ "MESSAGE=Failed to connect std%s of %s to the journal socket: %s",
+ fileno == STDOUT_FILENO ? "out" : "err",
+ unit_id, strerror(-r),
+ "ERRNO=%d", -r,
+ NULL);
+ r = open_null_as(O_WRONLY, fileno);
+ }
+ return r;
case EXEC_OUTPUT_SOCKET:
assert(socket_fd >= 0);
- return dup2(socket_fd, STDERR_FILENO) < 0 ? -errno : STDERR_FILENO;
+ return dup2(socket_fd, fileno) < 0 ? -errno : fileno;
default:
assert_not_reached("Unknown error type");
@@ -512,7 +509,7 @@ fail:
return r;
}
-static int write_confirm_message(const char *format, ...) {
+_printf_attr_(1, 2) static int write_confirm_message(const char *format, ...) {
int fd;
va_list ap;
@@ -673,9 +670,9 @@ static int enforce_user(const ExecContext *context, uid_t uid) {
/* First step: If we need to keep capabilities but
* drop privileges we need to make sure we keep our
- * caps, whiel we drop privileges. */
+ * caps, while we drop privileges. */
if (uid != 0) {
- int sb = context->secure_bits|SECURE_KEEP_CAPS;
+ int sb = context->secure_bits | 1<<SECURE_KEEP_CAPS;
if (prctl(PR_GET_SECUREBITS) != sb)
if (prctl(PR_SET_SECUREBITS, sb) < 0)
@@ -940,7 +937,7 @@ static int apply_seccomp(uint32_t *syscall_filter) {
int i;
unsigned n;
struct sock_filter *f;
- struct sock_fprog prog;
+ struct sock_fprog prog = {};
assert(syscall_filter);
@@ -957,7 +954,7 @@ static int apply_seccomp(uint32_t *syscall_filter) {
for (i = 0, n = 0; i < syscall_max(); i++)
if (syscall_filter[i >> 4] & (1 << (i & 31))) {
struct sock_filter item[] = {
- BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, i, 0, 1),
+ BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, INDEX_TO_SYSCALL(i), 0, 1),
BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW)
};
@@ -972,7 +969,6 @@ static int apply_seccomp(uint32_t *syscall_filter) {
memcpy(f + (ELEMENTSOF(header) + 2*n), footer, sizeof(footer));
/* Third: install the filter */
- zero(prog);
prog.len = ELEMENTSOF(header) + ELEMENTSOF(footer) + 2*n;
prog.filter = f;
if (prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, &prog) < 0)
@@ -983,7 +979,7 @@ static int apply_seccomp(uint32_t *syscall_filter) {
int exec_spawn(ExecCommand *command,
char **argv,
- const ExecContext *context,
+ ExecContext *context,
int fds[], unsigned n_fds,
char **environment,
bool apply_permissions,
@@ -1001,7 +997,7 @@ int exec_spawn(ExecCommand *command,
int r;
char *line;
int socket_fd;
- char _cleanup_strv_free_ **files_env = NULL;
+ _cleanup_strv_free_ char **files_env = NULL;
assert(command);
assert(context);
@@ -1024,8 +1020,8 @@ int exec_spawn(ExecCommand *command,
r = exec_context_load_environment(context, &files_env);
if (r < 0) {
- log_struct(LOG_ERR,
- "UNIT=%s", unit_id,
+ log_struct_unit(LOG_ERR,
+ unit_id,
"MESSAGE=Failed to load environment files: %s", strerror(-r),
"ERRNO=%d", -r,
NULL);
@@ -1039,18 +1035,30 @@ int exec_spawn(ExecCommand *command,
if (!line)
return log_oom();
- log_struct(LOG_DEBUG,
- "UNIT=%s", unit_id,
- "MESSAGE=About to execute %s", line,
- NULL);
+ log_struct_unit(LOG_DEBUG,
+ unit_id,
+ "EXECUTABLE=%s", command->path,
+ "MESSAGE=About to execute: %s", line,
+ NULL);
free(line);
r = cgroup_bonding_realize_list(cgroup_bondings);
if (r < 0)
return r;
+ /* We must initialize the attributes in the parent, before we
+ fork, because we really need them initialized before making
+ the process a member of the group (which we do in both the
+ child and the parent), and we cannot really apply them twice
+ (due to 'append' style attributes) */
cgroup_attribute_apply_list(cgroup_attributes, cgroup_bondings);
+ if (context->private_tmp && !context->tmp_dir && !context->var_tmp_dir) {
+ r = setup_tmpdirs(&context->tmp_dir, &context->var_tmp_dir);
+ if (r < 0)
+ return r;
+ }
+
pid = fork();
if (pid < 0)
return -errno;
@@ -1061,7 +1069,7 @@ int exec_spawn(ExecCommand *command,
const char *username = NULL, *home = NULL;
uid_t uid = (uid_t) -1;
gid_t gid = (gid_t) -1;
- char _cleanup_strv_free_ **our_env = NULL, **pam_env = NULL,
+ _cleanup_strv_free_ char **our_env = NULL, **pam_env = NULL,
**final_env = NULL, **final_argv = NULL;
unsigned n_env = 0;
bool set_access = false;
@@ -1165,13 +1173,13 @@ int exec_spawn(ExecCommand *command,
goto fail_child;
}
- err = setup_output(context, socket_fd, path_get_file_name(command->path), unit_id, apply_tty_stdin);
+ err = setup_output(context, STDOUT_FILENO, socket_fd, path_get_file_name(command->path), unit_id, apply_tty_stdin);
if (err < 0) {
r = EXIT_STDOUT;
goto fail_child;
}
- err = setup_error(context, socket_fd, path_get_file_name(command->path), unit_id, apply_tty_stdin);
+ err = setup_output(context, STDERR_FILENO, socket_fd, path_get_file_name(command->path), unit_id, apply_tty_stdin);
if (err < 0) {
r = EXIT_STDERR;
goto fail_child;
@@ -1191,7 +1199,7 @@ int exec_spawn(ExecCommand *command,
snprintf(t, sizeof(t), "%i", context->oom_score_adjust);
char_array_0(t);
- if (write_one_line_file("/proc/self/oom_score_adj", t) < 0) {
+ if (write_string_file("/proc/self/oom_score_adj", t) < 0) {
err = -errno;
r = EXIT_OOM_ADJUST;
goto fail_child;
@@ -1206,13 +1214,16 @@ int exec_spawn(ExecCommand *command,
}
if (context->cpu_sched_set) {
- struct sched_param param;
-
- zero(param);
- param.sched_priority = context->cpu_sched_priority;
+ struct sched_param param = {
+ .sched_priority = context->cpu_sched_priority,
+ };
- if (sched_setscheduler(0, context->cpu_sched_policy |
- (context->cpu_sched_reset_on_fork ? SCHED_RESET_ON_FORK : 0), &param) < 0) {
+ r = sched_setscheduler(0,
+ context->cpu_sched_policy |
+ (context->cpu_sched_reset_on_fork ?
+ SCHED_RESET_ON_FORK : 0),
+ &param);
+ if (r < 0) {
err = -errno;
r = EXIT_SETSCHEDULER;
goto fail_child;
@@ -1262,7 +1273,12 @@ int exec_spawn(ExecCommand *command,
if (cgroup_bondings && context->control_group_modify) {
err = cgroup_bonding_set_group_access_list(cgroup_bondings, 0755, uid, gid);
if (err >= 0)
- err = cgroup_bonding_set_task_access_list(cgroup_bondings, 0644, uid, gid, context->control_group_persistent);
+ err = cgroup_bonding_set_task_access_list(
+ cgroup_bondings,
+ 0644,
+ uid,
+ gid,
+ context->control_group_persistent);
if (err < 0) {
r = EXIT_CGROUP;
goto fail_child;
@@ -1273,7 +1289,12 @@ int exec_spawn(ExecCommand *command,
}
if (cgroup_bondings && !set_access && context->control_group_persistent >= 0) {
- err = cgroup_bonding_set_task_access_list(cgroup_bondings, (mode_t) -1, (uid_t) -1, (uid_t) -1, context->control_group_persistent);
+ err = cgroup_bonding_set_task_access_list(
+ cgroup_bondings,
+ (mode_t) -1,
+ (uid_t) -1,
+ (uid_t) -1,
+ context->control_group_persistent);
if (err < 0) {
r = EXIT_CGROUP;
goto fail_child;
@@ -1317,6 +1338,8 @@ int exec_spawn(ExecCommand *command,
err = setup_namespace(context->read_write_dirs,
context->read_only_dirs,
context->inaccessible_dirs,
+ context->tmp_dir,
+ context->var_tmp_dir,
context->private_tmp,
context->mount_flags);
if (err < 0) {
@@ -1339,7 +1362,7 @@ int exec_spawn(ExecCommand *command,
goto fail_child;
}
} else {
- char _cleanup_free_ *d = NULL;
+ _cleanup_free_ char *d = NULL;
if (asprintf(&d, "%s/%s",
context->root_directory ? context->root_directory : "",
@@ -1431,7 +1454,8 @@ int exec_spawn(ExecCommand *command,
}
}
- if (!(our_env = new0(char*, 7))) {
+ our_env = new0(char*, 7);
+ if (!our_env) {
err = -ENOMEM;
r = EXIT_MEMORY;
goto fail_child;
@@ -1471,20 +1495,21 @@ int exec_spawn(ExecCommand *command,
assert(n_env <= 7);
- if (!(final_env = strv_env_merge(
- 5,
- environment,
- our_env,
- context->environment,
- files_env,
- pam_env,
- NULL))) {
+ final_env = strv_env_merge(5,
+ environment,
+ our_env,
+ context->environment,
+ files_env,
+ pam_env,
+ NULL);
+ if (!final_env) {
err = -ENOMEM;
r = EXIT_MEMORY;
goto fail_child;
}
- if (!(final_argv = replace_env_argv(argv, final_env))) {
+ final_argv = replace_env_argv(argv, final_env);
+ if (!final_argv) {
err = -ENOMEM;
r = EXIT_MEMORY;
goto fail_child;
@@ -1492,6 +1517,20 @@ int exec_spawn(ExecCommand *command,
final_env = strv_env_clean(final_env);
+ if (_unlikely_(log_get_max_level() >= LOG_PRI(LOG_DEBUG))) {
+ line = exec_command_line(final_argv);
+ if (line) {
+ log_open();
+ log_struct_unit(LOG_DEBUG,
+ unit_id,
+ "EXECUTABLE=%s", command->path,
+ "MESSAGE=Executing: %s", line,
+ NULL);
+ log_close();
+ free(line);
+ line = NULL;
+ }
+ }
execve(command->path, final_argv, final_env);
err = -errno;
r = EXIT_EXEC;
@@ -1512,19 +1551,18 @@ int exec_spawn(ExecCommand *command,
_exit(r);
}
- log_struct(LOG_DEBUG,
- "UNIT=%s", unit_id,
- "MESSAGE=Forked %s as %lu",
- command->path, (unsigned long) pid,
- NULL);
+ log_struct_unit(LOG_DEBUG,
+ unit_id,
+ "MESSAGE=Forked %s as %lu",
+ command->path, (unsigned long) pid,
+ NULL);
/* We add the new process to the cgroup both in the child (so
* that we can be sure that no user code is ever executed
* outside of the cgroup) and in the parent (so that we can be
* sure that when we kill the cgroup the process will be
* killed too). */
- if (cgroup_bondings)
- cgroup_bonding_install_list(cgroup_bondings, pid, cgroup_suffix);
+ cgroup_bonding_install_list(cgroup_bondings, pid, cgroup_suffix);
exec_status_start(&command->exec_status, pid);
@@ -1545,7 +1583,35 @@ void exec_context_init(ExecContext *c) {
c->timer_slack_nsec = (nsec_t) -1;
}
-void exec_context_done(ExecContext *c) {
+void exec_context_tmp_dirs_done(ExecContext *c) {
+ char* dirs[] = {c->tmp_dir ? c->tmp_dir : c->var_tmp_dir,
+ c->tmp_dir ? c->var_tmp_dir : NULL,
+ NULL};
+ char **dirp;
+
+ for(dirp = dirs; *dirp; dirp++) {
+ char *dir;
+ int r;
+
+ r = rm_rf_dangerous(*dirp, false, true, false);
+ dir = dirname(*dirp);
+ if (r < 0)
+ log_warning("Failed to remove content of temporary directory %s: %s",
+ dir, strerror(-r));
+ else {
+ r = rmdir(dir);
+ if (r < 0)
+ log_warning("Failed to remove temporary directory %s: %s",
+ dir, strerror(-r));
+ }
+
+ free(*dirp);
+ }
+
+ c->tmp_dir = c->var_tmp_dir = NULL;
+}
+
+void exec_context_done(ExecContext *c, bool reloading_or_reexecuting) {
unsigned l;
assert(c);
@@ -1609,6 +1675,9 @@ void exec_context_done(ExecContext *c) {
free(c->syscall_filter);
c->syscall_filter = NULL;
+
+ if (!reloading_or_reexecuting)
+ exec_context_tmp_dirs_done(c);
}
void exec_command_done(ExecCommand *c) {
@@ -1658,7 +1727,7 @@ int exec_context_load_environment(const ExecContext *c, char ***l) {
int k;
bool ignore = false;
char **p;
- glob_t pglob;
+ _cleanup_globfree_ glob_t pglob = {};
int count, n;
fn = *i;
@@ -1669,7 +1738,6 @@ int exec_context_load_environment(const ExecContext *c, char ***l) {
}
if (!path_is_absolute(fn)) {
-
if (ignore)
continue;
@@ -1678,10 +1746,8 @@ int exec_context_load_environment(const ExecContext *c, char ***l) {
}
/* Filename supports globbing, take all matching files */
- zero(pglob);
errno = 0;
if (glob(fn, 0, NULL, &pglob) != 0) {
- globfree(&pglob);
if (ignore)
continue;
@@ -1690,7 +1756,6 @@ int exec_context_load_environment(const ExecContext *c, char ***l) {
}
count = pglob.gl_pathc;
if (count == 0) {
- globfree(&pglob);
if (ignore)
continue;
@@ -1698,15 +1763,17 @@ int exec_context_load_environment(const ExecContext *c, char ***l) {
return -EINVAL;
}
for (n = 0; n < count; n++) {
- k = load_env_file(pglob.gl_pathv[n], &p);
+ k = load_env_file(pglob.gl_pathv[n], NULL, &p);
if (k < 0) {
if (ignore)
continue;
strv_free(r);
- globfree(&pglob);
return k;
}
+ /* Log invalid environment variables with filename */
+ if (p)
+ p = strv_env_clean_log(p, pglob.gl_pathv[n]);
if (r == NULL)
r = p;
@@ -1716,16 +1783,12 @@ int exec_context_load_environment(const ExecContext *c, char ***l) {
m = strv_env_merge(2, r, p);
strv_free(r);
strv_free(p);
-
- if (!m) {
- globfree(&pglob);
+ if (!m)
return -ENOMEM;
- }
r = m;
}
}
- globfree(&pglob);
}
*l = r;
@@ -1733,6 +1796,37 @@ int exec_context_load_environment(const ExecContext *c, char ***l) {
return 0;
}
+static bool tty_may_match_dev_console(const char *tty) {
+ char *active = NULL, *console;
+ bool b;
+
+ if (startswith(tty, "/dev/"))
+ tty += 5;
+
+ /* trivial identity? */
+ if (streq(tty, "console"))
+ return true;
+
+ console = resolve_dev_console(&active);
+ /* if we could not resolve, assume it may */
+ if (!console)
+ return true;
+
+ /* "tty0" means the active VC, so it may be the same sometimes */
+ b = streq(console, tty) || (streq(console, "tty0") && tty_is_vc(tty));
+ free(active);
+
+ return b;
+}
+
+bool exec_context_may_touch_console(ExecContext *ec) {
+ return (ec->tty_reset || ec->tty_vhangup || ec->tty_vt_disallocate ||
+ is_terminal_input(ec->std_input) ||
+ is_terminal_output(ec->std_output) ||
+ is_terminal_output(ec->std_error)) &&
+ tty_may_match_dev_console(tty_path(ec));
+}
+
static void strv_fprintf(FILE *f, char **l) {
char **g;
@@ -1827,7 +1921,7 @@ void exec_context_dump(ExecContext *c, FILE* f, const char *prefix) {
prefix, c->cpu_sched_priority,
prefix, yes_no(c->cpu_sched_reset_on_fork));
free(policy_str);
- }
+ }
if (c->cpuset) {
fprintf(f, "%sCPUAffinity:", prefix);
@@ -1895,12 +1989,12 @@ void exec_context_dump(ExecContext *c, FILE* f, const char *prefix) {
if (c->secure_bits)
fprintf(f, "%sSecure Bits:%s%s%s%s%s%s\n",
prefix,
- (c->secure_bits & SECURE_KEEP_CAPS) ? " keep-caps" : "",
- (c->secure_bits & SECURE_KEEP_CAPS_LOCKED) ? " keep-caps-locked" : "",
- (c->secure_bits & SECURE_NO_SETUID_FIXUP) ? " no-setuid-fixup" : "",
- (c->secure_bits & SECURE_NO_SETUID_FIXUP_LOCKED) ? " no-setuid-fixup-locked" : "",
- (c->secure_bits & SECURE_NOROOT) ? " noroot" : "",
- (c->secure_bits & SECURE_NOROOT_LOCKED) ? "noroot-locked" : "");
+ (c->secure_bits & 1<<SECURE_KEEP_CAPS) ? " keep-caps" : "",
+ (c->secure_bits & 1<<SECURE_KEEP_CAPS_LOCKED) ? " keep-caps-locked" : "",
+ (c->secure_bits & 1<<SECURE_NO_SETUID_FIXUP) ? " no-setuid-fixup" : "",
+ (c->secure_bits & 1<<SECURE_NO_SETUID_FIXUP_LOCKED) ? " no-setuid-fixup-locked" : "",
+ (c->secure_bits & 1<<SECURE_NOROOT) ? " noroot" : "",
+ (c->secure_bits & 1<<SECURE_NOROOT_LOCKED) ? "noroot-locked" : "");
if (c->capability_bounding_set_drop) {
unsigned long l;
diff --git a/src/core/execute.h b/src/core/execute.h
index 2bcd2e1e6c..15574dc97e 100644
--- a/src/core/execute.h
+++ b/src/core/execute.h
@@ -36,6 +36,8 @@ typedef struct ExecContext ExecContext;
struct CGroupBonding;
struct CGroupAttribute;
+typedef struct Unit Unit;
+
#include "list.h"
#include "util.h"
@@ -141,6 +143,8 @@ struct ExecContext {
bool non_blocking;
bool private_tmp;
bool private_network;
+ char *tmp_dir;
+ char *var_tmp_dir;
bool no_new_privileges;
@@ -164,7 +168,7 @@ struct ExecContext {
int exec_spawn(ExecCommand *command,
char **argv,
- const ExecContext *context,
+ ExecContext *context,
int fds[], unsigned n_fds,
char **environment,
bool apply_permissions,
@@ -192,18 +196,22 @@ void exec_command_append_list(ExecCommand **l, ExecCommand *e);
int exec_command_set(ExecCommand *c, const char *path, ...);
void exec_context_init(ExecContext *c);
-void exec_context_done(ExecContext *c);
+void exec_context_done(ExecContext *c, bool reloading_or_reexecuting);
+void exec_context_tmp_dirs_done(ExecContext *c);
void exec_context_dump(ExecContext *c, FILE* f, const char *prefix);
void exec_context_tty_reset(const ExecContext *context);
int exec_context_load_environment(const ExecContext *c, char ***l);
+bool exec_context_may_touch_console(ExecContext *c);
+void exec_context_serialize(const ExecContext *c, Unit *u, FILE *f);
+
void exec_status_start(ExecStatus *s, pid_t pid);
void exec_status_exit(ExecStatus *s, ExecContext *context, pid_t pid, int code, int status);
void exec_status_dump(ExecStatus *s, FILE *f, const char *prefix);
-const char* exec_output_to_string(ExecOutput i);
-ExecOutput exec_output_from_string(const char *s);
+const char* exec_output_to_string(ExecOutput i) _const_;
+ExecOutput exec_output_from_string(const char *s) _pure_;
-const char* exec_input_to_string(ExecInput i);
-ExecInput exec_input_from_string(const char *s);
+const char* exec_input_to_string(ExecInput i) _const_;
+ExecInput exec_input_from_string(const char *s) _pure_;
diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c
index 7894f8a5f2..8aa1cff1d3 100644
--- a/src/core/hostname-setup.c
+++ b/src/core/hostname-setup.c
@@ -29,6 +29,7 @@
#include "macro.h"
#include "util.h"
#include "log.h"
+#include "fileio.h"
static int read_and_strip_hostname(const char *path, char **hn) {
char *s;
@@ -41,7 +42,7 @@ static int read_and_strip_hostname(const char *path, char **hn) {
if (r < 0)
return r;
- hostname_cleanup(s);
+ hostname_cleanup(s, false);
if (isempty(s)) {
free(s);
diff --git a/src/core/ima-setup.c b/src/core/ima-setup.c
index e8cc1ba8b6..7f8ec23d58 100644
--- a/src/core/ima-setup.c
+++ b/src/core/ima-setup.c
@@ -50,11 +50,6 @@ int ima_setup(void) {
int policyfd = -1, imafd = -1;
int result = 0;
-#ifndef HAVE_SELINUX
- /* Mount the securityfs filesystem */
- mount_setup_early();
-#endif
-
if (stat(IMA_POLICY_PATH, &st) < 0)
return 0;
diff --git a/src/core/job.c b/src/core/job.c
index 5ff95f5c90..d304a16d06 100644
--- a/src/core/job.c
+++ b/src/core/job.c
@@ -34,6 +34,9 @@
#include "load-dropin.h"
#include "log.h"
#include "dbus-job.h"
+#include "special.h"
+#include "sync.h"
+#include "virt.h"
JobBusClient* job_bus_client_new(DBusConnection *connection, const char *name) {
JobBusClient *cl;
@@ -166,6 +169,8 @@ static void job_merge_into_installed(Job *j, Job *other) {
assert(other->type == JOB_NOP);
j->override = j->override || other->override;
+ j->irreversible = j->irreversible || other->irreversible;
+ j->ignore_order = j->ignore_order || other->ignore_order;
}
Job* job_install(Job *j) {
@@ -201,6 +206,7 @@ Job* job_install(Job *j) {
"Merged into running job, re-running: %s/%s as %u",
uj->unit->id, job_type_to_string(uj->type), (unsigned) uj->id);
uj->state = JOB_WAITING;
+ uj->manager->n_running_jobs--;
return uj;
}
}
@@ -290,11 +296,13 @@ void job_dump(Job *j, FILE*f, const char *prefix) {
"%s-> Job %u:\n"
"%s\tAction: %s -> %s\n"
"%s\tState: %s\n"
- "%s\tForced: %s\n",
+ "%s\tForced: %s\n"
+ "%s\tIrreversible: %s\n",
prefix, j->id,
prefix, j->unit->id, job_type_to_string(j->type),
prefix, job_state_to_string(j->state),
- prefix, yes_no(j->override));
+ prefix, yes_no(j->override),
+ prefix, yes_no(j->irreversible));
}
/*
@@ -476,7 +484,7 @@ static void job_change_type(Job *j, JobType newtype) {
int job_run_and_invalidate(Job *j) {
int r;
uint32_t id;
- Manager *m;
+ Manager *m = j->manager;
assert(j);
assert(j->installed);
@@ -493,6 +501,7 @@ int job_run_and_invalidate(Job *j) {
return -EAGAIN;
j->state = JOB_RUNNING;
+ m->n_running_jobs++;
job_add_to_dbus_queue(j);
/* While we execute this operation the job might go away (for
@@ -501,7 +510,6 @@ int job_run_and_invalidate(Job *j) {
* store the id here, so that we can verify the job is still
* valid. */
id = j->id;
- m = j->manager;
switch (j->type) {
@@ -551,16 +559,17 @@ int job_run_and_invalidate(Job *j) {
r = job_finish_and_invalidate(j, JOB_DONE, true);
else if (r == -ENOEXEC)
r = job_finish_and_invalidate(j, JOB_SKIPPED, true);
- else if (r == -EAGAIN)
+ else if (r == -EAGAIN) {
j->state = JOB_WAITING;
- else if (r < 0)
+ m->n_running_jobs--;
+ } else if (r < 0)
r = job_finish_and_invalidate(j, JOB_FAILED, true);
}
return r;
}
-static const char *job_get_status_message_format(Unit *u, JobType t, JobResult result) {
+_pure_ static const char *job_get_status_message_format(Unit *u, JobType t, JobResult result) {
const UnitStatusMessageFormats *format_table;
assert(u);
@@ -579,7 +588,7 @@ static const char *job_get_status_message_format(Unit *u, JobType t, JobResult r
return NULL;
}
-static const char *job_get_status_message_format_try_harder(Unit *u, JobType t, JobResult result) {
+_pure_ static const char *job_get_status_message_format_try_harder(Unit *u, JobType t, JobResult result) {
const char *format;
assert(u);
@@ -635,20 +644,20 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) {
case JOB_DONE:
if (u->condition_result)
- unit_status_printf(u, ANSI_HIGHLIGHT_GREEN_ON " OK " ANSI_HIGHLIGHT_OFF, format, unit_description(u));
+ unit_status_printf(u, ANSI_GREEN_ON " OK " ANSI_HIGHLIGHT_OFF, format);
break;
case JOB_FAILED:
- unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON "FAILED" ANSI_HIGHLIGHT_OFF, format, unit_description(u));
- unit_status_printf(u, NULL, "See 'systemctl status %s' for details.", u->id);
+ unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON "FAILED" ANSI_HIGHLIGHT_OFF, format);
+ manager_status_printf(u->manager, false, NULL, "See 'systemctl status %s' for details.", u->id);
break;
case JOB_DEPENDENCY:
- unit_status_printf(u, ANSI_HIGHLIGHT_YELLOW_ON "DEPEND" ANSI_HIGHLIGHT_OFF, format, unit_description(u));
+ unit_status_printf(u, ANSI_HIGHLIGHT_YELLOW_ON "DEPEND" ANSI_HIGHLIGHT_OFF, format);
break;
case JOB_TIMEOUT:
- unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON " TIME " ANSI_HIGHLIGHT_OFF, format, unit_description(u));
+ unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON " TIME " ANSI_HIGHLIGHT_OFF, format);
break;
default:
@@ -664,12 +673,12 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) {
switch (result) {
case JOB_TIMEOUT:
- unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON " TIME " ANSI_HIGHLIGHT_OFF, format, unit_description(u));
+ unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON " TIME " ANSI_HIGHLIGHT_OFF, format);
break;
case JOB_DONE:
case JOB_FAILED:
- unit_status_printf(u, ANSI_HIGHLIGHT_GREEN_ON " OK " ANSI_HIGHLIGHT_OFF, format, unit_description(u));
+ unit_status_printf(u, ANSI_GREEN_ON " OK " ANSI_HIGHLIGHT_OFF, format);
break;
default:
@@ -682,7 +691,7 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) {
* Most likely a DEPEND warning from a requisiting unit will
* occur next and it's nice to see what was requisited. */
if (result == JOB_SKIPPED)
- unit_status_printf(u, ANSI_HIGHLIGHT_ON " INFO " ANSI_HIGHLIGHT_OFF, "%s is not active.", unit_description(u));
+ unit_status_printf(u, ANSI_HIGHLIGHT_ON " INFO " ANSI_HIGHLIGHT_OFF, "%s is not active.");
}
}
@@ -713,25 +722,25 @@ static void job_log_status_message(Unit *u, JobType t, JobResult result) {
sd_id128_t mid;
mid = result == JOB_DONE ? SD_MESSAGE_UNIT_STARTED : SD_MESSAGE_UNIT_FAILED;
- log_struct(result == JOB_DONE ? LOG_INFO : LOG_ERR,
+ log_struct_unit(result == JOB_DONE ? LOG_INFO : LOG_ERR,
+ u->id,
MESSAGE_ID(mid),
- "UNIT=%s", u->id,
"RESULT=%s", job_result_to_string(result),
"MESSAGE=%s", buf,
NULL);
} else if (t == JOB_STOP)
- log_struct(result == JOB_DONE ? LOG_INFO : LOG_ERR,
+ log_struct_unit(result == JOB_DONE ? LOG_INFO : LOG_ERR,
+ u->id,
MESSAGE_ID(SD_MESSAGE_UNIT_STOPPED),
- "UNIT=%s", u->id,
"RESULT=%s", job_result_to_string(result),
"MESSAGE=%s", buf,
NULL);
else if (t == JOB_RELOAD)
- log_struct(result == JOB_DONE ? LOG_INFO : LOG_ERR,
+ log_struct_unit(result == JOB_DONE ? LOG_INFO : LOG_ERR,
+ u->id,
MESSAGE_ID(SD_MESSAGE_UNIT_RELOADED),
- "UNIT=%s", u->id,
"RESULT=%s", job_result_to_string(result),
"MESSAGE=%s", buf,
NULL);
@@ -753,6 +762,9 @@ int job_finish_and_invalidate(Job *j, JobResult result, bool recursive) {
j->result = result;
+ if (j->state == JOB_RUNNING)
+ j->manager->n_running_jobs--;
+
log_debug_unit(u->id, "Job %s/%s finished, result=%s",
u->id, job_type_to_string(t), job_result_to_string(result));
@@ -818,19 +830,21 @@ int job_finish_and_invalidate(Job *j, JobResult result, bool recursive) {
* this context. And JOB_FAILURE is already handled by the
* unit itself. */
if (result == JOB_TIMEOUT || result == JOB_DEPENDENCY) {
- log_struct(LOG_NOTICE,
- "UNIT=%s", u->id,
+ log_struct_unit(LOG_NOTICE,
+ u->id,
"JOB_TYPE=%s", job_type_to_string(t),
- "JOB_RESULT=%s", job_result_to_string(t),
+ "JOB_RESULT=%s", job_result_to_string(result),
"Job %s/%s failed with result '%s'.",
u->id,
job_type_to_string(t),
job_result_to_string(result),
NULL);
- unit_trigger_on_failure(u);
+ unit_start_on_failure(u);
}
+ unit_trigger_notify(u);
+
finish:
/* Try to start the next jobs that can be started */
SET_FOREACH(other, u->dependencies[UNIT_AFTER], i)
@@ -846,10 +860,12 @@ finish:
}
int job_start_timer(Job *j) {
- struct itimerspec its;
- struct epoll_event ev;
+ struct itimerspec its = {};
+ struct epoll_event ev = {
+ .data.ptr = &j->timer_watch,
+ .events = EPOLLIN,
+ };
int fd, r;
- assert(j);
if (j->unit->job_timeout <= 0 ||
j->timer_watch.type == WATCH_JOB_TIMER)
@@ -862,7 +878,6 @@ int job_start_timer(Job *j) {
goto fail;
}
- zero(its);
timespec_store(&its.it_value, j->unit->job_timeout);
if (timerfd_settime(fd, 0, &its, NULL) < 0) {
@@ -870,10 +885,6 @@ int job_start_timer(Job *j) {
goto fail;
}
- zero(ev);
- ev.data.ptr = &j->timer_watch;
- ev.events = EPOLLIN;
-
if (epoll_ctl(j->manager->epoll_fd, EPOLL_CTL_ADD, fd, &ev) < 0) {
r = -errno;
goto fail;
@@ -943,6 +954,7 @@ int job_serialize(Job *j, FILE *f, FDSet *fds) {
fprintf(f, "job-type=%s\n", job_type_to_string(j->type));
fprintf(f, "job-state=%s\n", job_state_to_string(j->state));
fprintf(f, "job-override=%s\n", yes_no(j->override));
+ fprintf(f, "job-irreversible=%s\n", yes_no(j->irreversible));
fprintf(f, "job-sent-dbus-new-signal=%s\n", yes_no(j->sent_dbus_new_signal));
fprintf(f, "job-ignore-order=%s\n", yes_no(j->ignore_order));
/* Cannot save bus clients. Just note the fact that we're losing
@@ -1010,6 +1022,12 @@ int job_deserialize(Job *j, FILE *f, FDSet *fds) {
log_debug("Failed to parse job override flag %s", v);
else
j->override = j->override || b;
+ } else if (streq(l, "job-irreversible")) {
+ int b = parse_boolean(v);
+ if (b < 0)
+ log_debug("Failed to parse job irreversible flag %s", v);
+ else
+ j->irreversible = j->irreversible || b;
} else if (streq(l, "job-sent-dbus-new-signal")) {
int b = parse_boolean(v);
if (b < 0)
@@ -1045,21 +1063,43 @@ int job_deserialize(Job *j, FILE *f, FDSet *fds) {
}
int job_coldplug(Job *j) {
- struct epoll_event ev;
+ struct epoll_event ev = {
+ .data.ptr = &j->timer_watch,
+ .events = EPOLLIN,
+ };
if (j->timer_watch.type != WATCH_JOB_TIMER)
return 0;
- zero(ev);
- ev.data.ptr = &j->timer_watch;
- ev.events = EPOLLIN;
-
if (epoll_ctl(j->manager->epoll_fd, EPOLL_CTL_ADD, j->timer_watch.fd, &ev) < 0)
return -errno;
return 0;
}
+void job_shutdown_magic(Job *j) {
+ assert(j);
+
+ /* The shutdown target gets some special treatment here: we
+ * tell the kernel to begin with flushing its disk caches, to
+ * optimize shutdown time a bit. Ideally we wouldn't hardcode
+ * this magic into PID 1. However all other processes aren't
+ * options either since they'd exit much sooner than PID 1 and
+ * asynchronous sync() would cause their exit to be
+ * delayed. */
+
+ if (!unit_has_name(j->unit, SPECIAL_SHUTDOWN_TARGET))
+ return;
+
+ if (j->type != JOB_START)
+ return;
+
+ if (detect_container(NULL) > 0)
+ return;
+
+ asynchronous_sync();
+}
+
static const char* const job_state_table[_JOB_STATE_MAX] = {
[JOB_WAITING] = "waiting",
[JOB_RUNNING] = "running"
@@ -1083,6 +1123,7 @@ DEFINE_STRING_TABLE_LOOKUP(job_type, JobType);
static const char* const job_mode_table[_JOB_MODE_MAX] = {
[JOB_FAIL] = "fail",
[JOB_REPLACE] = "replace",
+ [JOB_REPLACE_IRREVERSIBLY] = "replace-irreversibly",
[JOB_ISOLATE] = "isolate",
[JOB_IGNORE_DEPENDENCIES] = "ignore-dependencies",
[JOB_IGNORE_REQUIREMENTS] = "ignore-requirements"
diff --git a/src/core/job.h b/src/core/job.h
index 3aa49d4b46..d90bc96b76 100644
--- a/src/core/job.h
+++ b/src/core/job.h
@@ -83,6 +83,7 @@ enum JobState {
enum JobMode {
JOB_FAIL, /* Fail if a conflicting job is already queued */
JOB_REPLACE, /* Replace an existing conflicting job */
+ JOB_REPLACE_IRREVERSIBLY, /* Like JOB_REPLACE + produce irreversible jobs */
JOB_ISOLATE, /* Start a unit, and stop all others */
JOB_IGNORE_DEPENDENCIES, /* Ignore both requirement and ordering dependencies */
JOB_IGNORE_REQUIREMENTS, /* Ignore requirement dependencies */
@@ -161,6 +162,7 @@ struct Job {
bool sent_dbus_new_signal:1;
bool ignore_order:1;
bool forgot_bus_clients:1;
+ bool irreversible:1;
};
JobBusClient* job_bus_client_new(DBusConnection *connection, const char *name);
@@ -181,22 +183,22 @@ void job_dependency_free(JobDependency *l);
int job_merge(Job *j, Job *other);
-JobType job_type_lookup_merge(JobType a, JobType b);
+JobType job_type_lookup_merge(JobType a, JobType b) _pure_;
-static inline bool job_type_is_mergeable(JobType a, JobType b) {
+_pure_ static inline bool job_type_is_mergeable(JobType a, JobType b) {
return job_type_lookup_merge(a, b) >= 0;
}
-static inline bool job_type_is_conflicting(JobType a, JobType b) {
+_pure_ static inline bool job_type_is_conflicting(JobType a, JobType b) {
return !job_type_is_mergeable(a, b);
}
-static inline bool job_type_is_superset(JobType a, JobType b) {
+_pure_ static inline bool job_type_is_superset(JobType a, JobType b) {
/* Checks whether operation a is a "superset" of b in its actions */
return a == job_type_lookup_merge(a, b);
}
-bool job_type_is_redundant(JobType a, UnitActiveState b);
+bool job_type_is_redundant(JobType a, UnitActiveState b) _pure_;
/* Collapses a state-dependent job type into a simpler type by observing
* the state of the unit which it is going to be applied to. */
@@ -217,14 +219,16 @@ int job_finish_and_invalidate(Job *j, JobResult result, bool recursive);
char *job_dbus_path(Job *j);
-const char* job_type_to_string(JobType t);
-JobType job_type_from_string(const char *s);
+void job_shutdown_magic(Job *j);
-const char* job_state_to_string(JobState t);
-JobState job_state_from_string(const char *s);
+const char* job_type_to_string(JobType t) _const_;
+JobType job_type_from_string(const char *s) _pure_;
-const char* job_mode_to_string(JobMode t);
-JobMode job_mode_from_string(const char *s);
+const char* job_state_to_string(JobState t) _const_;
+JobState job_state_from_string(const char *s) _pure_;
-const char* job_result_to_string(JobResult t);
-JobResult job_result_from_string(const char *s);
+const char* job_mode_to_string(JobMode t) _const_;
+JobMode job_mode_from_string(const char *s) _pure_;
+
+const char* job_result_to_string(JobResult t) _const_;
+JobResult job_result_from_string(const char *s) _pure_;
diff --git a/src/core/kill.h b/src/core/kill.h
index 3c9b0ab8db..71a0513e84 100644
--- a/src/core/kill.h
+++ b/src/core/kill.h
@@ -26,6 +26,8 @@ typedef struct KillContext KillContext;
#include <stdbool.h>
#include <stdio.h>
+#include "macro.h"
+
typedef enum KillMode {
/* The kill mode is a property of a unit. */
KILL_CONTROL_GROUP = 0,
@@ -53,8 +55,8 @@ typedef enum KillWho {
void kill_context_init(KillContext *c);
void kill_context_dump(KillContext *c, FILE *f, const char *prefix);
-const char *kill_mode_to_string(KillMode k);
-KillMode kill_mode_from_string(const char *s);
+const char *kill_mode_to_string(KillMode k) _const_;
+KillMode kill_mode_from_string(const char *s) _pure_;
-const char *kill_who_to_string(KillWho k);
-KillWho kill_who_from_string(const char *s);
+const char *kill_who_to_string(KillWho k) _const_;
+KillWho kill_who_from_string(const char *s) _pure_;
diff --git a/src/core/killall.c b/src/core/killall.c
index 55200ffa48..a0f57455fb 100644
--- a/src/core/killall.c
+++ b/src/core/killall.c
@@ -22,16 +22,17 @@
#include <sys/wait.h>
#include <signal.h>
#include <errno.h>
+#include <unistd.h>
#include "util.h"
#include "def.h"
#include "killall.h"
+#include "set.h"
-#define TIMEOUT_USEC (5 * USEC_PER_SEC)
+#define TIMEOUT_USEC (10 * USEC_PER_SEC)
static bool ignore_proc(pid_t pid) {
- char buf[PATH_MAX];
- FILE *f;
+ _cleanup_fclose_ FILE *f = NULL;
char c;
size_t count;
uid_t uid;
@@ -49,15 +50,11 @@ static bool ignore_proc(pid_t pid) {
if (uid != 0)
return false;
- snprintf(buf, sizeof(buf), "/proc/%lu/cmdline", (unsigned long) pid);
- char_array_0(buf);
-
- f = fopen(buf, "re");
+ f = fopen(procfs_file_alloca(pid, "cmdline"), "re");
if (!f)
return true; /* not really, but has the desired effect */
count = fread(&c, 1, 1, f);
- fclose(f);
/* Kernel threads have an empty cmdline */
if (count <= 0)
@@ -73,38 +70,68 @@ static bool ignore_proc(pid_t pid) {
return false;
}
-static void wait_for_children(int n_processes, sigset_t *mask) {
+static void wait_for_children(Set *pids, sigset_t *mask) {
usec_t until;
assert(mask);
+ if (set_isempty(pids))
+ return;
+
until = now(CLOCK_MONOTONIC) + TIMEOUT_USEC;
for (;;) {
struct timespec ts;
int k;
usec_t n;
+ void *p;
+ Iterator i;
+ /* First, let the kernel inform us about killed
+ * children. Most processes will probably be our
+ * children, but some are not (might be our
+ * grandchildren instead...). */
for (;;) {
- pid_t pid = waitpid(-1, NULL, WNOHANG);
+ pid_t pid;
+ pid = waitpid(-1, NULL, WNOHANG);
if (pid == 0)
break;
+ if (pid < 0) {
+ if (errno == ECHILD)
+ break;
- if (pid < 0 && errno == ECHILD)
+ log_error("waitpid() failed: %m");
return;
+ }
+
+ set_remove(pids, ULONG_TO_PTR(pid));
+ }
- if (n_processes > 0)
- if (--n_processes == 0)
- return;
+ /* Now explicitly check who might be remaining, who
+ * might not be our child. */
+ SET_FOREACH(p, pids, i) {
+
+ /* We misuse getpgid as a check whether a
+ * process still exists. */
+ if (getpgid((pid_t) PTR_TO_ULONG(p)) >= 0)
+ continue;
+
+ if (errno != ESRCH)
+ continue;
+
+ set_remove(pids, p);
}
+ if (set_isempty(pids))
+ return;
+
n = now(CLOCK_MONOTONIC);
if (n >= until)
return;
timespec_store(&ts, until - n);
-
- if ((k = sigtimedwait(mask, NULL, &ts)) != SIGCHLD) {
+ k = sigtimedwait(mask, NULL, &ts);
+ if (k != SIGCHLD) {
if (k < 0 && errno != EAGAIN) {
log_error("sigtimedwait() failed: %m");
@@ -117,10 +144,9 @@ static void wait_for_children(int n_processes, sigset_t *mask) {
}
}
-static int killall(int sig) {
- DIR *dir;
+static int killall(int sig, Set *pids) {
+ _cleanup_closedir_ DIR *dir = NULL;
struct dirent *d;
- unsigned int n_processes = 0;
dir = opendir("/proc");
if (!dir)
@@ -139,20 +165,29 @@ static int killall(int sig) {
if (ignore_proc(pid))
continue;
- if (kill(pid, sig) >= 0)
- n_processes++;
- else if (errno != ENOENT)
+ if (sig == SIGKILL) {
+ _cleanup_free_ char *s;
+
+ get_process_comm(pid, &s);
+ log_notice("Sending SIGKILL to PID %lu (%s).", (unsigned long) pid, strna(s));
+ }
+
+ if (kill(pid, sig) >= 0) {
+ if (pids)
+ set_put(pids, ULONG_TO_PTR((unsigned long) pid));
+ } else if (errno != ENOENT)
log_warning("Could not kill %d: %m", pid);
}
- closedir(dir);
-
- return n_processes;
+ return set_size(pids);
}
void broadcast_signal(int sig, bool wait_for_exit) {
sigset_t mask, oldmask;
- int n_processes;
+ Set *pids = NULL;
+
+ if (wait_for_exit)
+ pids = set_new(trivial_hash_func, trivial_compare_func);
assert_se(sigemptyset(&mask) == 0);
assert_se(sigaddset(&mask, SIGCHLD) == 0);
@@ -161,17 +196,15 @@ void broadcast_signal(int sig, bool wait_for_exit) {
if (kill(-1, SIGSTOP) < 0 && errno != ESRCH)
log_warning("kill(-1, SIGSTOP) failed: %m");
- n_processes = killall(sig);
+ killall(sig, pids);
if (kill(-1, SIGCONT) < 0 && errno != ESRCH)
log_warning("kill(-1, SIGCONT) failed: %m");
- if (n_processes <= 0)
- goto finish;
-
if (wait_for_exit)
- wait_for_children(n_processes, &mask);
+ wait_for_children(pids, &mask);
+
+ assert_se(sigprocmask(SIG_SETMASK, &oldmask, NULL) == 0);
-finish:
- sigprocmask(SIG_SETMASK, &oldmask, NULL);
+ set_free(pids);
}
diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
index 20ab232374..e4885fb212 100644
--- a/src/core/kmod-setup.c
+++ b/src/core/kmod-setup.c
@@ -30,66 +30,72 @@
#include "kmod-setup.h"
-typedef struct Kmodule {
- const char *name;
- const char *directory;
- bool (*condition_fn)(void);
-} KModule;
-
-static const KModule kmod_table[] = {
- { "autofs4", "/sys/class/misc/autofs", NULL } ,
- { "ipv6", "/sys/module/ipv6", NULL },
- { "unix", "/proc/net/unix", NULL } ,
-};
-
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
-static void systemd_kmod_log(void *data, int priority, const char *file, int line,
- const char *fn, const char *format, va_list args)
-{
+
+static void systemd_kmod_log(
+ void *data,
+ int priority,
+ const char *file, int line,
+ const char *fn,
+ const char *format,
+ va_list args) {
+
/* library logging is enabled at debug only */
log_metav(LOG_DEBUG, file, line, fn, format, args);
}
+
#pragma GCC diagnostic pop
int kmod_setup(void) {
- unsigned i;
+
+ static const char kmod_table[] =
+ /* This one we need to load explicitly, since
+ * auto-loading on use doesn't work before udev
+ * created the ghost device nodes, and we need it
+ * earlier than that. */
+ "autofs4\0" "/sys/class/misc/autofs\0"
+
+ /* This one we need to load explicitly, since
+ * auto-loading of IPv6 is not done when we try to
+ * configure ::1 on the loopback device. */
+ "ipv6\0" "/sys/module/ipv6\0"
+
+ "unix\0" "/proc/net/unix\0";
+
struct kmod_ctx *ctx = NULL;
- struct kmod_module *mod;
- int err;
+ const char *name, *path;
+ int r;
- for (i = 0; i < ELEMENTSOF(kmod_table); i += 2) {
- if (kmod_table[i].condition_fn && !kmod_table[i].condition_fn())
- continue;
+ NULSTR_FOREACH_PAIR(name, path, kmod_table) {
+ struct kmod_module *mod;
- if (access(kmod_table[i].directory, F_OK) >= 0)
+ if (access(path, F_OK) >= 0)
continue;
log_debug("Your kernel apparently lacks built-in %s support. Might be a good idea to compile it in. "
"We'll now try to work around this by loading the module...",
- kmod_table[i].name);
+ name);
if (!ctx) {
ctx = kmod_new(NULL, NULL);
- if (!ctx) {
- log_error("Failed to allocate memory for kmod");
- return -ENOMEM;
- }
+ if (!ctx)
+ return log_oom();
kmod_set_log_fn(ctx, systemd_kmod_log, NULL);
kmod_load_resources(ctx);
}
- err = kmod_module_new_from_name(ctx, kmod_table[i].name, &mod);
- if (err < 0) {
- log_error("Failed to lookup module '%s'", kmod_table[i].name);
+ r = kmod_module_new_from_name(ctx, name, &mod);
+ if (r < 0) {
+ log_error("Failed to lookup module '%s'", name);
continue;
}
- err = kmod_module_probe_insert_module(mod, KMOD_PROBE_APPLY_BLACKLIST, NULL, NULL, NULL, NULL);
- if (err == 0)
+ r = kmod_module_probe_insert_module(mod, KMOD_PROBE_APPLY_BLACKLIST, NULL, NULL, NULL, NULL);
+ if (r == 0)
log_info("Inserted module '%s'", kmod_module_get_name(mod));
- else if (err == KMOD_PROBE_APPLY_BLACKLIST)
+ else if (r == KMOD_PROBE_APPLY_BLACKLIST)
log_info("Module '%s' is blacklisted", kmod_module_get_name(mod));
else
log_error("Failed to insert module '%s'", kmod_module_get_name(mod));
diff --git a/src/core/load-dropin.c b/src/core/load-dropin.c
index 86f81c7484..a877e66098 100644
--- a/src/core/load-dropin.c
+++ b/src/core/load-dropin.c
@@ -27,51 +27,78 @@
#include "log.h"
#include "strv.h"
#include "unit-name.h"
+#include "conf-parser.h"
+#include "load-fragment.h"
+#include "conf-files.h"
-static int iterate_dir(Unit *u, const char *path, UnitDependency dependency) {
- DIR *d;
- struct dirent *de;
+static int iterate_dir(
+ Unit *u,
+ const char *path,
+ UnitDependency dependency,
+ char ***strv) {
+
+ _cleanup_closedir_ DIR *d = NULL;
int r;
assert(u);
assert(path);
+ /* The config directories are special, since the order of the
+ * drop-ins matters */
+ if (dependency < 0) {
+ r = strv_extend(strv, path);
+ if (r < 0)
+ return log_oom();
+
+ return 0;
+ }
+
d = opendir(path);
if (!d) {
-
if (errno == ENOENT)
return 0;
return -errno;
}
- while ((de = readdir(d))) {
- char *f;
+ for (;;) {
+ struct dirent *de;
+ union dirent_storage buf;
+ _cleanup_free_ char *f = NULL;
+ int k;
+
+ k = readdir_r(d, &buf.de, &de);
+ if (k != 0) {
+ log_error("Failed to read directory %s: %s", path, strerror(k));
+ return -k;
+ }
+
+ if (!de)
+ break;
if (ignore_file(de->d_name))
continue;
f = strjoin(path, "/", de->d_name, NULL);
- if (!f) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!f)
+ return log_oom();
r = unit_add_dependency_by_name(u, dependency, de->d_name, f, true);
- free(f);
-
if (r < 0)
log_error("Cannot add dependency %s to %s, ignoring: %s", de->d_name, u->id, strerror(-r));
}
- r = 0;
-
-finish:
- closedir(d);
- return r;
+ return 0;
}
-static int process_dir(Unit *u, const char *unit_path, const char *name, const char *suffix, UnitDependency dependency) {
+static int process_dir(
+ Unit *u,
+ const char *unit_path,
+ const char *name,
+ const char *suffix,
+ UnitDependency dependency,
+ char ***strv) {
+
int r;
char *path;
@@ -82,13 +109,13 @@ static int process_dir(Unit *u, const char *unit_path, const char *name, const c
path = strjoin(unit_path, "/", name, suffix, NULL);
if (!path)
- return -ENOMEM;
+ return log_oom();
if (u->manager->unit_path_cache &&
!set_get(u->manager->unit_path_cache, path))
r = 0;
else
- r = iterate_dir(u, path, dependency);
+ r = iterate_dir(u, path, dependency, strv);
free(path);
if (r < 0)
@@ -100,19 +127,19 @@ static int process_dir(Unit *u, const char *unit_path, const char *name, const c
template = unit_name_template(name);
if (!template)
- return -ENOMEM;
+ return log_oom();
path = strjoin(unit_path, "/", template, suffix, NULL);
free(template);
if (!path)
- return -ENOMEM;
+ return log_oom();
if (u->manager->unit_path_cache &&
!set_get(u->manager->unit_path_cache, path))
r = 0;
else
- r = iterate_dir(u, path, dependency);
+ r = iterate_dir(u, path, dependency, strv);
free(path);
if (r < 0)
@@ -122,9 +149,43 @@ static int process_dir(Unit *u, const char *unit_path, const char *name, const c
return 0;
}
-int unit_load_dropin(Unit *u) {
+char **unit_find_dropin_paths(Unit *u) {
+ _cleanup_strv_free_ char **strv = NULL;
+ char **configs = NULL;
Iterator i;
char *t;
+ int r;
+
+ assert(u);
+
+ SET_FOREACH(t, u->names, i) {
+ char **p;
+
+ STRV_FOREACH(p, u->manager->lookup_paths.unit_path) {
+ /* This loads the drop-in config snippets */
+ r = process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv);
+ if (r < 0)
+ return NULL;
+ }
+ }
+
+ if (strv_isempty(strv))
+ return NULL;
+
+ r = conf_files_list_strv(&configs, ".conf", NULL, (const char**) strv);
+ if (r < 0) {
+ log_error("Failed to get list of configuration files: %s", strerror(-r));
+ strv_free(configs);
+ return NULL;
+ }
+
+ return configs;
+}
+
+int unit_load_dropin(Unit *u) {
+ Iterator i;
+ char *t, **f;
+ int r;
assert(u);
@@ -134,17 +195,29 @@ int unit_load_dropin(Unit *u) {
char **p;
STRV_FOREACH(p, u->manager->lookup_paths.unit_path) {
- int r;
-
- r = process_dir(u, *p, t, ".wants", UNIT_WANTS);
+ r = process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL);
if (r < 0)
return r;
- r = process_dir(u, *p, t, ".requires", UNIT_REQUIRES);
+ r = process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL);
if (r < 0)
return r;
}
}
+ u->dropin_paths = unit_find_dropin_paths(u);
+ if (! u->dropin_paths)
+ return 0;
+
+ STRV_FOREACH(f, u->dropin_paths) {
+ r = config_parse(u->id, *f, NULL,
+ UNIT_VTABLE(u)->sections, config_item_perf_lookup,
+ (void*) load_fragment_gperf_lookup, false, false, u);
+ if (r < 0)
+ return r;
+ }
+
+ u->dropin_mtime = now(CLOCK_REALTIME);
+
return 0;
}
diff --git a/src/core/load-dropin.h b/src/core/load-dropin.h
index 1d2fafeee6..fd551179e2 100644
--- a/src/core/load-dropin.h
+++ b/src/core/load-dropin.h
@@ -25,4 +25,5 @@
/* Read service data supplementary drop-in directories */
+char **unit_find_dropin_paths(Unit *u);
int unit_load_dropin(Unit *u);
diff --git a/src/core/load-fragment-gperf.gperf.m4 b/src/core/load-fragment-gperf.gperf.m4
index 7fba0cfb77..4e1454ee6c 100644
--- a/src/core/load-fragment-gperf.gperf.m4
+++ b/src/core/load-fragment-gperf.gperf.m4
@@ -31,7 +31,7 @@ $1.CPUSchedulingPriority, config_parse_exec_cpu_sched_prio, 0,
$1.CPUSchedulingResetOnFork, config_parse_bool, 0, offsetof($1, exec_context.cpu_sched_reset_on_fork)
$1.CPUAffinity, config_parse_exec_cpu_affinity, 0, offsetof($1, exec_context)
$1.UMask, config_parse_mode, 0, offsetof($1, exec_context.umask)
-$1.Environment, config_parse_unit_strv_printf, 0, offsetof($1, exec_context.environment)
+$1.Environment, config_parse_environ, 0, offsetof($1, exec_context.environment)
$1.EnvironmentFile, config_parse_unit_env_file, 0, offsetof($1, exec_context.environment_files)
$1.StandardInput, config_parse_input, 0, offsetof($1, exec_context.std_input)
$1.StandardOutput, config_parse_output, 0, offsetof($1, exec_context.std_output)
@@ -48,7 +48,7 @@ $1.Capabilities, config_parse_exec_capabilities, 0,
$1.SecureBits, config_parse_exec_secure_bits, 0, offsetof($1, exec_context)
$1.CapabilityBoundingSet, config_parse_bounding_set, 0, offsetof($1, exec_context.capability_bounding_set_drop)
$1.TimerSlackNSec, config_parse_nsec, 0, offsetof($1, exec_context.timer_slack_nsec)
-$1.NoNewPrivileges config_parse_bool, 0, offsetof($1, exec_context.no_new_privileges)
+$1.NoNewPrivileges, config_parse_bool, 0, offsetof($1, exec_context.no_new_privileges)
$1.SystemCallFilter, config_parse_syscall_filter, 0, offsetof($1, exec_context)
$1.LimitCPU, config_parse_limit, RLIMIT_CPU, offsetof($1, exec_context.rlimit)
$1.LimitFSIZE, config_parse_limit, RLIMIT_FSIZE, offsetof($1, exec_context.rlimit)
@@ -68,14 +68,14 @@ $1.LimitRTPRIO, config_parse_limit, RLIMIT_RTPR
$1.LimitRTTIME, config_parse_limit, RLIMIT_RTTIME, offsetof($1, exec_context.rlimit)
$1.ControlGroup, config_parse_unit_cgroup, 0, 0
$1.ControlGroupAttribute, config_parse_unit_cgroup_attr, 0, 0
-$1.CPUShares, config_parse_unit_cpu_shares, 0, 0
-$1.MemoryLimit, config_parse_unit_memory_limit, 0, 0
-$1.MemorySoftLimit, config_parse_unit_memory_limit, 0, 0
-$1.DeviceAllow, config_parse_unit_device_allow, 0, 0
-$1.DeviceDeny, config_parse_unit_device_allow, 0, 0
-$1.BlockIOWeight, config_parse_unit_blkio_weight, 0, 0
-$1.BlockIOReadBandwidth, config_parse_unit_blkio_bandwidth, 0, 0
-$1.BlockIOWriteBandwidth, config_parse_unit_blkio_bandwidth, 0, 0
+$1.CPUShares, config_parse_unit_cgroup_attr_pretty, 0, 0
+$1.MemoryLimit, config_parse_unit_cgroup_attr_pretty, 0, 0
+$1.MemorySoftLimit, config_parse_unit_cgroup_attr_pretty, 0, 0
+$1.DeviceAllow, config_parse_unit_cgroup_attr_pretty, 0, 0
+$1.DeviceDeny, config_parse_unit_cgroup_attr_pretty, 0, 0
+$1.BlockIOWeight, config_parse_unit_cgroup_attr_pretty, 0, 0
+$1.BlockIOReadBandwidth, config_parse_unit_cgroup_attr_pretty, 0, 0
+$1.BlockIOWriteBandwidth, config_parse_unit_cgroup_attr_pretty, 0, 0
$1.ReadWriteDirectories, config_parse_path_strv, 0, offsetof($1, exec_context.read_write_dirs)
$1.ReadOnlyDirectories, config_parse_path_strv, 0, offsetof($1, exec_context.read_only_dirs)
$1.InaccessibleDirectories, config_parse_path_strv, 0, offsetof($1, exec_context.inaccessible_dirs)
@@ -90,7 +90,7 @@ $1.ControlGroupModify, config_parse_bool, 0,
$1.ControlGroupPersistent, config_parse_tristate, 0, offsetof($1, exec_context.control_group_persistent)'
)m4_dnl
m4_define(`KILL_CONTEXT_CONFIG_ITEMS',
-`$1.SendSIGKILL, config_parse_bool, 0, offsetof($1, kill_context.send_sigkill)
+`$1.SendSIGKILL, config_parse_bool, 0, offsetof($1, kill_context.send_sigkill)
$1.KillMode, config_parse_kill_mode, 0, offsetof($1, kill_context.kill_mode)
$1.KillSignal, config_parse_kill_signal, 0, offsetof($1, kill_context.kill_signal)'
)m4_dnl
@@ -122,7 +122,7 @@ Unit.DefaultDependencies, config_parse_bool, 0,
Unit.OnFailureIsolate, config_parse_bool, 0, offsetof(Unit, on_failure_isolate)
Unit.IgnoreOnIsolate, config_parse_bool, 0, offsetof(Unit, ignore_on_isolate)
Unit.IgnoreOnSnapshot, config_parse_bool, 0, offsetof(Unit, ignore_on_snapshot)
-Unit.JobTimeoutSec, config_parse_usec, 0, offsetof(Unit, job_timeout)
+Unit.JobTimeoutSec, config_parse_sec, 0, offsetof(Unit, job_timeout)
Unit.ConditionPathExists, config_parse_unit_condition_path, CONDITION_PATH_EXISTS, 0
Unit.ConditionPathExistsGlob, config_parse_unit_condition_path, CONDITION_PATH_EXISTS_GLOB, 0
Unit.ConditionPathIsDirectory, config_parse_unit_condition_path, CONDITION_PATH_IS_DIRECTORY, 0
@@ -147,12 +147,12 @@ Service.ExecStartPost, config_parse_exec, SERVICE_EXE
Service.ExecReload, config_parse_exec, SERVICE_EXEC_RELOAD, offsetof(Service, exec_command)
Service.ExecStop, config_parse_exec, SERVICE_EXEC_STOP, offsetof(Service, exec_command)
Service.ExecStopPost, config_parse_exec, SERVICE_EXEC_STOP_POST, offsetof(Service, exec_command)
-Service.RestartSec, config_parse_usec, 0, offsetof(Service, restart_usec)
+Service.RestartSec, config_parse_sec, 0, offsetof(Service, restart_usec)
Service.TimeoutSec, config_parse_service_timeout, 0, offsetof(Service, timeout_start_usec)
Service.TimeoutStartSec, config_parse_service_timeout, 0, offsetof(Service, timeout_start_usec)
Service.TimeoutStopSec, config_parse_service_timeout, 0, offsetof(Service, timeout_stop_usec)
-Service.WatchdogSec, config_parse_usec, 0, offsetof(Service, watchdog_usec)
-Service.StartLimitInterval, config_parse_usec, 0, offsetof(Service, start_limit.interval)
+Service.WatchdogSec, config_parse_sec, 0, offsetof(Service, watchdog_usec)
+Service.StartLimitInterval, config_parse_sec, 0, offsetof(Service, start_limit.interval)
Service.StartLimitBurst, config_parse_unsigned, 0, offsetof(Service, start_limit.burst)
Service.StartLimitAction, config_parse_start_limit_action, 0, offsetof(Service, start_limit_action)
Service.Type, config_parse_service_type, 0, offsetof(Service, type)
@@ -174,13 +174,13 @@ Service.FsckPassNo, config_parse_fsck_passno, 0,
EXEC_CONTEXT_CONFIG_ITEMS(Service)m4_dnl
KILL_CONTEXT_CONFIG_ITEMS(Service)m4_dnl
m4_dnl
-Socket.ListenStream, config_parse_socket_listen, 0, 0
-Socket.ListenDatagram, config_parse_socket_listen, 0, 0
-Socket.ListenSequentialPacket, config_parse_socket_listen, 0, 0
-Socket.ListenFIFO, config_parse_socket_listen, 0, 0
-Socket.ListenNetlink, config_parse_socket_listen, 0, 0
-Socket.ListenSpecial, config_parse_socket_listen, 0, 0
-Socket.ListenMessageQueue, config_parse_socket_listen, 0, 0
+Socket.ListenStream, config_parse_socket_listen, SOCKET_SOCKET, 0
+Socket.ListenDatagram, config_parse_socket_listen, SOCKET_SOCKET, 0
+Socket.ListenSequentialPacket, config_parse_socket_listen, SOCKET_SOCKET, 0
+Socket.ListenFIFO, config_parse_socket_listen, SOCKET_FIFO, 0
+Socket.ListenNetlink, config_parse_socket_listen, SOCKET_SOCKET, 0
+Socket.ListenSpecial, config_parse_socket_listen, SOCKET_SPECIAL, 0
+Socket.ListenMessageQueue, config_parse_socket_listen, SOCKET_MQUEUE, 0
Socket.BindIPv6Only, config_parse_socket_bind, 0, 0,
Socket.Backlog, config_parse_unsigned, 0, offsetof(Socket, backlog)
Socket.BindToDevice, config_parse_socket_bindtodevice, 0, 0
@@ -188,7 +188,7 @@ Socket.ExecStartPre, config_parse_exec, SOCKET_EXEC
Socket.ExecStartPost, config_parse_exec, SOCKET_EXEC_START_POST, offsetof(Socket, exec_command)
Socket.ExecStopPre, config_parse_exec, SOCKET_EXEC_STOP_PRE, offsetof(Socket, exec_command)
Socket.ExecStopPost, config_parse_exec, SOCKET_EXEC_STOP_POST, offsetof(Socket, exec_command)
-Socket.TimeoutSec, config_parse_usec, 0, offsetof(Socket, timeout_usec)
+Socket.TimeoutSec, config_parse_sec, 0, offsetof(Socket, timeout_usec)
Socket.DirectoryMode, config_parse_mode, 0, offsetof(Socket, directory_mode)
Socket.SocketMode, config_parse_mode, 0, offsetof(Socket, socket_mode)
Socket.Accept, config_parse_bool, 0, offsetof(Socket, accept)
@@ -221,7 +221,7 @@ Mount.Where, config_parse_path, 0,
Mount.Options, config_parse_string, 0, offsetof(Mount, parameters_fragment.options)
Mount.Type, config_parse_string, 0, offsetof(Mount, parameters_fragment.fstype)
Mount.FsckPassNo, config_parse_fsck_passno, 0, offsetof(Mount, parameters_fragment.passno)
-Mount.TimeoutSec, config_parse_usec, 0, offsetof(Mount, timeout_usec)
+Mount.TimeoutSec, config_parse_sec, 0, offsetof(Mount, timeout_usec)
Mount.DirectoryMode, config_parse_mode, 0, offsetof(Mount, directory_mode)
EXEC_CONTEXT_CONFIG_ITEMS(Mount)m4_dnl
KILL_CONTEXT_CONFIG_ITEMS(Mount)m4_dnl
@@ -231,7 +231,7 @@ Automount.DirectoryMode, config_parse_mode, 0,
m4_dnl
Swap.What, config_parse_path, 0, offsetof(Swap, parameters_fragment.what)
Swap.Priority, config_parse_int, 0, offsetof(Swap, parameters_fragment.priority)
-Swap.TimeoutSec, config_parse_usec, 0, offsetof(Swap, timeout_usec)
+Swap.TimeoutSec, config_parse_sec, 0, offsetof(Swap, timeout_usec)
EXEC_CONTEXT_CONFIG_ITEMS(Swap)m4_dnl
KILL_CONTEXT_CONFIG_ITEMS(Swap)m4_dnl
m4_dnl
@@ -241,14 +241,14 @@ Timer.OnBootSec, config_parse_timer, 0,
Timer.OnStartupSec, config_parse_timer, 0, 0
Timer.OnUnitActiveSec, config_parse_timer, 0, 0
Timer.OnUnitInactiveSec, config_parse_timer, 0, 0
-Timer.Unit, config_parse_timer_unit, 0, 0
+Timer.Unit, config_parse_trigger_unit, 0, 0
m4_dnl
Path.PathExists, config_parse_path_spec, 0, 0
Path.PathExistsGlob, config_parse_path_spec, 0, 0
Path.PathChanged, config_parse_path_spec, 0, 0
Path.PathModified, config_parse_path_spec, 0, 0
Path.DirectoryNotEmpty, config_parse_path_spec, 0, 0
-Path.Unit, config_parse_path_unit, 0, 0
+Path.Unit, config_parse_trigger_unit, 0, 0
Path.MakeDirectory, config_parse_bool, 0, offsetof(Path, make_directory)
Path.DirectoryMode, config_parse_mode, 0, offsetof(Path, directory_mode)
m4_dnl The [Install] section is ignored here.
diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c
index e35fdbc5ec..e2015ed58f 100644
--- a/src/core/load-fragment.c
+++ b/src/core/load-fragment.c
@@ -34,6 +34,8 @@
#include <sys/time.h>
#include <sys/resource.h>
+#include <systemd/sd-messages.h>
+
#include "unit.h"
#include "strv.h"
#include "conf-parser.h"
@@ -44,36 +46,39 @@
#include "missing.h"
#include "unit-name.h"
#include "unit-printf.h"
-#include "bus-errors.h"
+#include "dbus-common.h"
#include "utf8.h"
#include "path-util.h"
#include "syscall-list.h"
+#include "env-util.h"
#ifndef HAVE_SYSV_COMPAT
-int config_parse_warn_compat(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- log_debug("[%s:%u] Support for option %s= has been disabled at compile time and is ignored", filename, line, lvalue);
+int config_parse_warn_compat(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
+
+ log_syntax(unit, LOG_DEBUG, filename, line, EINVAL,
+ "Support for option %s= has been disabled at compile time and is ignored",
+ lvalue);
return 0;
}
#endif
-int config_parse_unit_deps(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_unit_deps(const char* unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
UnitDependency d = ltype;
Unit *u = userdata;
@@ -86,39 +91,38 @@ int config_parse_unit_deps(
assert(rvalue);
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
- char _cleanup_free_ *t = NULL, *k = NULL;
+ _cleanup_free_ char *t = NULL, *k = NULL;
int r;
t = strndup(w, l);
if (!t)
- return -ENOMEM;
+ return log_oom();
k = unit_name_printf(u, t);
if (!k)
- return -ENOMEM;
+ return log_oom();
r = unit_add_dependency_by_name(u, d, k, NULL, true);
if (r < 0)
- log_error("[%s:%u] Failed to add dependency on %s, ignoring: %s",
- filename, line, k, strerror(-r));
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to add dependency on %s, ignoring: %s", k, strerror(-r));
}
return 0;
}
-int config_parse_unit_string_printf(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_unit_string_printf(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Unit *u = userdata;
- char *k;
- int r;
+ _cleanup_free_ char *k = NULL;
assert(filename);
assert(lvalue);
@@ -127,27 +131,25 @@ int config_parse_unit_string_printf(
k = unit_full_printf(u, rvalue);
if (!k)
- return -ENOMEM;
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to resolve unit specifiers on %s. Ignoring.", rvalue);
- r = config_parse_string(filename, line, section, lvalue, ltype, k, data, userdata);
- free (k);
-
- return r;
+ return config_parse_string(unit, filename, line, section, lvalue, ltype,
+ k ? k : rvalue, data, userdata);
}
-int config_parse_unit_strv_printf(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_unit_strv_printf(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Unit *u = userdata;
- char *k;
- int r;
+ _cleanup_free_ char *k = NULL;
assert(filename);
assert(lvalue);
@@ -156,27 +158,25 @@ int config_parse_unit_strv_printf(
k = unit_full_printf(u, rvalue);
if (!k)
- return -ENOMEM;
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to resolve unit specifiers on %s. Ignoring.", rvalue);
- r = config_parse_strv(filename, line, section, lvalue, ltype, k, data, userdata);
- free(k);
-
- return r;
+ return config_parse_strv(unit, filename, line, section, lvalue, ltype,
+ k ? k : rvalue, data, userdata);
}
-int config_parse_unit_path_printf(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_unit_path_printf(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Unit *u = userdata;
- char *k;
- int r;
+ _cleanup_free_ char *k = NULL;
assert(filename);
assert(lvalue);
@@ -185,23 +185,22 @@ int config_parse_unit_path_printf(
k = unit_full_printf(u, rvalue);
if (!k)
- return log_oom();
-
- r = config_parse_path(filename, line, section, lvalue, ltype, k, data, userdata);
- free(k);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to resolve unit specifiers on %s. Ignoring.", rvalue);
- return r;
+ return config_parse_path(unit, filename, line, section, lvalue, ltype,
+ k ? k : rvalue, data, userdata);
}
-int config_parse_socket_listen(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_socket_listen(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
SocketPort *p, *tail;
Socket *s;
@@ -213,67 +212,64 @@ int config_parse_socket_listen(
s = SOCKET(data);
+ if (isempty(rvalue)) {
+ /* An empty assignment removes all ports */
+ socket_free_ports(s);
+ return 0;
+ }
+
p = new0(SocketPort, 1);
if (!p)
- return -ENOMEM;
-
- if (streq(lvalue, "ListenFIFO")) {
- p->type = SOCKET_FIFO;
-
- if (!(p->path = unit_full_printf(UNIT(s), rvalue))) {
- free(p);
- return -ENOMEM;
- }
-
- path_kill_slashes(p->path);
-
- } else if (streq(lvalue, "ListenSpecial")) {
- p->type = SOCKET_SPECIAL;
+ return log_oom();
- if (!(p->path = unit_full_printf(UNIT(s), rvalue))) {
- free(p);
- return -ENOMEM;
- }
-
- path_kill_slashes(p->path);
-
- } else if (streq(lvalue, "ListenMessageQueue")) {
-
- p->type = SOCKET_MQUEUE;
-
- if (!(p->path = unit_full_printf(UNIT(s), rvalue))) {
- free(p);
- return -ENOMEM;
+ if (ltype != SOCKET_SOCKET) {
+
+ p->type = ltype;
+ p->path = unit_full_printf(UNIT(s), rvalue);
+ if (!p->path) {
+ p->path = strdup(rvalue);
+ if (!p->path) {
+ free(p);
+ return log_oom();
+ } else
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to resolve unit specifiers on %s. Ignoring.", rvalue);
}
path_kill_slashes(p->path);
} else if (streq(lvalue, "ListenNetlink")) {
- char *k;
+ _cleanup_free_ char *k = NULL;
int r;
p->type = SOCKET_SOCKET;
k = unit_full_printf(UNIT(s), rvalue);
- r = socket_address_parse_netlink(&p->address, k);
- free(k);
+ if (!k)
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to resolve unit specifiers on %s. Ignoring.", rvalue);
+ r = socket_address_parse_netlink(&p->address, k ? k : rvalue);
if (r < 0) {
- log_error("[%s:%u] Failed to parse address value, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse address value, ignoring: %s", rvalue);
free(p);
return 0;
}
} else {
- char *k;
+ _cleanup_free_ char *k = NULL;
int r;
p->type = SOCKET_SOCKET;
k = unit_full_printf(UNIT(s), rvalue);
- r = socket_address_parse(&p->address, k);
- free(k);
+ if (!k)
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to resolve unit specifiers on %s. Ignoring.", rvalue);
+ r = socket_address_parse(&p->address, k ? k : rvalue);
if (r < 0) {
- log_error("[%s:%u] Failed to parse address value, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse address value, ignoring: %s", rvalue);
free(p);
return 0;
}
@@ -288,7 +284,8 @@ int config_parse_socket_listen(
}
if (socket_address_family(&p->address) != AF_LOCAL && p->address.type == SOCK_SEQPACKET) {
- log_error("[%s:%u] Address family not supported, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, ENOTSUP,
+ "Address family not supported, ignoring: %s", rvalue);
free(p);
return 0;
}
@@ -305,15 +302,15 @@ int config_parse_socket_listen(
return 0;
}
-int config_parse_socket_bind(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_socket_bind(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Socket *s;
SocketAddressBindIPv6Only b;
@@ -331,7 +328,8 @@ int config_parse_socket_bind(
r = parse_boolean(rvalue);
if (r < 0) {
- log_error("[%s:%u] Failed to parse bind IPv6 only value, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse bind IPv6 only value, ignoring: %s", rvalue);
return 0;
}
@@ -342,31 +340,34 @@ int config_parse_socket_bind(
return 0;
}
-int config_parse_exec_nice(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_exec_nice(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ExecContext *c = data;
- int priority;
+ int priority, r;
assert(filename);
assert(lvalue);
assert(rvalue);
assert(data);
- if (safe_atoi(rvalue, &priority) < 0) {
- log_error("[%s:%u] Failed to parse nice priority, ignoring: %s. ", filename, line, rvalue);
+ r = safe_atoi(rvalue, &priority);
+ if (r < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse nice priority, ignoring: %s. ", rvalue);
return 0;
}
if (priority < PRIO_MIN || priority >= PRIO_MAX) {
- log_error("[%s:%u] Nice priority out of range, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, ERANGE,
+ "Nice priority out of range, ignoring: %s", rvalue);
return 0;
}
@@ -376,31 +377,34 @@ int config_parse_exec_nice(
return 0;
}
-int config_parse_exec_oom_score_adjust(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_exec_oom_score_adjust(const char* unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ExecContext *c = data;
- int oa;
+ int oa, r;
assert(filename);
assert(lvalue);
assert(rvalue);
assert(data);
- if (safe_atoi(rvalue, &oa) < 0) {
- log_error("[%s:%u] Failed to parse the OOM score adjust value, ignoring: %s", filename, line, rvalue);
+ r = safe_atoi(rvalue, &oa);
+ if (r < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse the OOM score adjust value, ignoring: %s", rvalue);
return 0;
}
if (oa < OOM_SCORE_ADJ_MIN || oa > OOM_SCORE_ADJ_MAX) {
- log_error("[%s:%u] OOM score adjust value out of range, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, ERANGE,
+ "OOM score adjust value out of range, ignoring: %s", rvalue);
return 0;
}
@@ -410,15 +414,15 @@ int config_parse_exec_oom_score_adjust(
return 0;
}
-int config_parse_exec(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_exec(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ExecCommand **e = data, *nce;
char *path, **n;
@@ -430,12 +434,18 @@ int config_parse_exec(
assert(rvalue);
assert(e);
+ e += ltype;
+
+ if (isempty(rvalue)) {
+ /* An empty assignment resets the list */
+ exec_command_free_list(*e);
+ *e = NULL;
+ return 0;
+ }
+
/* We accept an absolute path as first argument, or
* alternatively an absolute prefixed with @ to allow
* overriding of argv[0]. */
-
- e += ltype;
-
for (;;) {
int i;
char *w;
@@ -465,14 +475,14 @@ int config_parse_exec(
}
if (*rvalue != '/') {
- log_error("[%s:%u] Executable path is not absolute, ignoring: %s",
- filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Executable path is not absolute, ignoring: %s", rvalue);
return 0;
}
k = 0;
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
- if (strncmp(w, ";", MAX(l, 1U)) == 0)
+ if (strneq(w, ";", MAX(l, 1U)))
break;
k++;
@@ -480,13 +490,13 @@ int config_parse_exec(
n = new(char*, k + !honour_argv0);
if (!n)
- return -ENOMEM;
+ return log_oom();
k = 0;
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
- if (strncmp(w, ";", MAX(l, 1U)) == 0)
+ if (strneq(w, ";", MAX(l, 1U)))
break;
- else if (strncmp(w, "\\;", MAX(l, 1U)) == 0)
+ else if (strneq(w, "\\;", MAX(l, 1U)))
w ++;
if (honour_argv0 && w == rvalue) {
@@ -494,12 +504,14 @@ int config_parse_exec(
path = strndup(w, l);
if (!path) {
- r = -ENOMEM;
+ r = log_oom();
goto fail;
}
if (!utf8_is_valid(path)) {
- log_error("[%s:%u] Path is not UTF-8 clean, ignoring assignment: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Path is not UTF-8 clean, ignoring assignment: %s",
+ rvalue);
r = 0;
goto fail;
}
@@ -509,12 +521,14 @@ int config_parse_exec(
c = n[k++] = cunescape_length(w, l);
if (!c) {
- r = -ENOMEM;
+ r = log_oom();
goto fail;
}
if (!utf8_is_valid(c)) {
- log_error("[%s:%u] Path is not UTF-8 clean, ignoring assignment: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Path is not UTF-8 clean, ignoring assignment: %s",
+ rvalue);
r = 0;
goto fail;
}
@@ -524,7 +538,8 @@ int config_parse_exec(
n[k] = NULL;
if (!n[0]) {
- log_error("[%s:%u] Invalid command line, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Invalid command line, ignoring: %s", rvalue);
r = 0;
goto fail;
}
@@ -532,7 +547,7 @@ int config_parse_exec(
if (!path) {
path = strdup(n[0]);
if (!path) {
- r = -ENOMEM;
+ r = log_oom();
goto fail;
}
}
@@ -541,7 +556,7 @@ int config_parse_exec(
nce = new0(ExecCommand, 1);
if (!nce) {
- r = -ENOMEM;
+ r = log_oom();
goto fail;
}
@@ -570,15 +585,15 @@ fail:
DEFINE_CONFIG_PARSE_ENUM(config_parse_service_type, service_type, ServiceType, "Failed to parse service type");
DEFINE_CONFIG_PARSE_ENUM(config_parse_service_restart, service_restart, ServiceRestart, "Failed to parse service restart specifier");
-int config_parse_socket_bindtodevice(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_socket_bindtodevice(const char* unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Socket *s = data;
char *n;
@@ -589,8 +604,9 @@ int config_parse_socket_bindtodevice(
assert(data);
if (rvalue[0] && !streq(rvalue, "*")) {
- if (!(n = strdup(rvalue)))
- return -ENOMEM;
+ n = strdup(rvalue);
+ if (!n)
+ return log_oom();
} else
n = NULL;
@@ -603,15 +619,15 @@ int config_parse_socket_bindtodevice(
DEFINE_CONFIG_PARSE_ENUM(config_parse_output, exec_output, ExecOutput, "Failed to parse output specifier");
DEFINE_CONFIG_PARSE_ENUM(config_parse_input, exec_input, ExecInput, "Failed to parse input specifier");
-int config_parse_exec_io_class(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_exec_io_class(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ExecContext *c = data;
int x;
@@ -623,7 +639,8 @@ int config_parse_exec_io_class(
x = ioprio_class_from_string(rvalue);
if (x < 0) {
- log_error("[%s:%u] Failed to parse IO scheduling class, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse IO scheduling class, ignoring: %s", rvalue);
return 0;
}
@@ -633,26 +650,28 @@ int config_parse_exec_io_class(
return 0;
}
-int config_parse_exec_io_priority(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_exec_io_priority(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ExecContext *c = data;
- int i;
+ int i, r;
assert(filename);
assert(lvalue);
assert(rvalue);
assert(data);
- if (safe_atoi(rvalue, &i) < 0 || i < 0 || i >= IOPRIO_BE_NR) {
- log_error("[%s:%u] Failed to parse io priority, ignoring: %s", filename, line, rvalue);
+ r = safe_atoi(rvalue, &i);
+ if (r < 0 || i < 0 || i >= IOPRIO_BE_NR) {
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse IO priority, ignoring: %s", rvalue);
return 0;
}
@@ -662,15 +681,15 @@ int config_parse_exec_io_priority(
return 0;
}
-int config_parse_exec_cpu_sched_policy(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_exec_cpu_sched_policy(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ExecContext *c = data;
@@ -683,7 +702,8 @@ int config_parse_exec_cpu_sched_policy(
x = sched_policy_from_string(rvalue);
if (x < 0) {
- log_error("[%s:%u] Failed to parse CPU scheduling policy, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, -x,
+ "Failed to parse CPU scheduling policy, ignoring: %s", rvalue);
return 0;
}
@@ -695,36 +715,38 @@ int config_parse_exec_cpu_sched_policy(
return 0;
}
-int config_parse_exec_cpu_sched_prio(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_exec_cpu_sched_prio(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ExecContext *c = data;
- int i, min, max;
+ int i, min, max, r;
assert(filename);
assert(lvalue);
assert(rvalue);
assert(data);
- if (safe_atoi(rvalue, &i) < 0) {
- log_error("[%s:%u] Failed to parse CPU scheduling priority, ignoring: %s", filename, line, rvalue);
+ r = safe_atoi(rvalue, &i);
+ if (r < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse CPU scheduling policy, ignoring: %s", rvalue);
return 0;
}
-
/* On Linux RR/FIFO range from 1 to 99 and OTHER/BATCH may only be 0 */
min = sched_get_priority_min(c->cpu_sched_policy);
max = sched_get_priority_max(c->cpu_sched_policy);
if (i < min || i > max) {
- log_error("[%s:%u] CPU scheduling priority is out of range, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, ERANGE,
+ "CPU scheduling priority is out of range, ignoring: %s", rvalue);
return 0;
}
@@ -734,15 +756,15 @@ int config_parse_exec_cpu_sched_prio(
return 0;
}
-int config_parse_exec_cpu_affinity(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_exec_cpu_affinity(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ExecContext *c = data;
char *w;
@@ -754,26 +776,34 @@ int config_parse_exec_cpu_affinity(
assert(rvalue);
assert(data);
+ if (isempty(rvalue)) {
+ /* An empty assignment resets the CPU list */
+ if (c->cpuset)
+ CPU_FREE(c->cpuset);
+ c->cpuset = NULL;
+ return 0;
+ }
+
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
- char _cleanup_free_ *t = NULL;
+ _cleanup_free_ char *t = NULL;
int r;
unsigned cpu;
t = strndup(w, l);
if (!t)
- return -ENOMEM;
+ return log_oom();
r = safe_atou(t, &cpu);
if (!c->cpuset) {
c->cpuset = cpu_set_malloc(&c->cpuset_ncpus);
if (!c->cpuset)
- return -ENOMEM;
+ return log_oom();
}
if (r < 0 || cpu >= c->cpuset_ncpus) {
- log_error("[%s:%u] Failed to parse CPU affinity %s, ignoring: %s",
- filename, line, t, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, ERANGE,
+ "Failed to parse CPU affinity '%s', ignoring: %s", t, rvalue);
return 0;
}
@@ -783,15 +813,15 @@ int config_parse_exec_cpu_affinity(
return 0;
}
-int config_parse_exec_capabilities(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_exec_capabilities(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ExecContext *c = data;
cap_t cap;
@@ -801,11 +831,10 @@ int config_parse_exec_capabilities(
assert(rvalue);
assert(data);
- if (!(cap = cap_from_text(rvalue))) {
- if (errno == ENOMEM)
- return -ENOMEM;
-
- log_error("[%s:%u] Failed to parse capabilities, ignoring: %s", filename, line, rvalue);
+ cap = cap_from_text(rvalue);
+ if (!cap) {
+ log_syntax(unit, LOG_ERR, filename, line, errno,
+ "Failed to parse capabilities, ignoring: %s", rvalue);
return 0;
}
@@ -816,15 +845,15 @@ int config_parse_exec_capabilities(
return 0;
}
-int config_parse_exec_secure_bits(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_exec_secure_bits(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ExecContext *c = data;
char *w;
@@ -836,22 +865,28 @@ int config_parse_exec_secure_bits(
assert(rvalue);
assert(data);
+ if (isempty(rvalue)) {
+ /* An empty assignment resets the field */
+ c->secure_bits = 0;
+ return 0;
+ }
+
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
if (first_word(w, "keep-caps"))
- c->secure_bits |= SECURE_KEEP_CAPS;
+ c->secure_bits |= 1<<SECURE_KEEP_CAPS;
else if (first_word(w, "keep-caps-locked"))
- c->secure_bits |= SECURE_KEEP_CAPS_LOCKED;
+ c->secure_bits |= 1<<SECURE_KEEP_CAPS_LOCKED;
else if (first_word(w, "no-setuid-fixup"))
- c->secure_bits |= SECURE_NO_SETUID_FIXUP;
+ c->secure_bits |= 1<<SECURE_NO_SETUID_FIXUP;
else if (first_word(w, "no-setuid-fixup-locked"))
- c->secure_bits |= SECURE_NO_SETUID_FIXUP_LOCKED;
+ c->secure_bits |= 1<<SECURE_NO_SETUID_FIXUP_LOCKED;
else if (first_word(w, "noroot"))
- c->secure_bits |= SECURE_NOROOT;
+ c->secure_bits |= 1<<SECURE_NOROOT;
else if (first_word(w, "noroot-locked"))
- c->secure_bits |= SECURE_NOROOT_LOCKED;
+ c->secure_bits |= 1<<SECURE_NOROOT_LOCKED;
else {
- log_error("[%s:%u] Failed to parse secure bits, ignoring: %s",
- filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse secure bits, ignoring: %s", rvalue);
return 0;
}
}
@@ -859,15 +894,15 @@ int config_parse_exec_secure_bits(
return 0;
}
-int config_parse_bounding_set(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_bounding_set(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
uint64_t *capability_bounding_set_drop = data;
char *w;
@@ -892,18 +927,18 @@ int config_parse_bounding_set(
* interface. */
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
- char _cleanup_free_ *t = NULL;
+ _cleanup_free_ char *t = NULL;
int r;
cap_value_t cap;
t = strndup(w, l);
if (!t)
- return -ENOMEM;
+ return log_oom();
r = cap_from_name(t, &cap);
if (r < 0) {
- log_error("[%s:%u] Failed to parse capability in bounding set, ignoring: %s",
- filename, line, t);
+ log_syntax(unit, LOG_ERR, filename, line, errno,
+ "Failed to parse capability in bounding set, ignoring: %s", t);
continue;
}
@@ -918,15 +953,15 @@ int config_parse_bounding_set(
return 0;
}
-int config_parse_limit(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_limit(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
struct rlimit **rl = data;
unsigned long long u;
@@ -940,54 +975,72 @@ int config_parse_limit(
if (streq(rvalue, "infinity"))
u = (unsigned long long) RLIM_INFINITY;
- else if (safe_atollu(rvalue, &u) < 0) {
- log_error("[%s:%u] Failed to parse resource value, ignoring: %s", filename, line, rvalue);
- return 0;
+ else {
+ int r;
+
+ r = safe_atollu(rvalue, &u);
+ if (r < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse resource value, ignoring: %s", rvalue);
+ return 0;
+ }
}
- if (!*rl)
- if (!(*rl = new(struct rlimit, 1)))
- return -ENOMEM;
+ if (!*rl) {
+ *rl = new(struct rlimit, 1);
+ if (!*rl)
+ return log_oom();
+ }
(*rl)->rlim_cur = (*rl)->rlim_max = (rlim_t) u;
return 0;
}
-int config_parse_unit_cgroup(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_unit_cgroup(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Unit *u = userdata;
char *w;
size_t l;
char *state;
+ if (isempty(rvalue)) {
+ /* An empty assignment resets the list */
+ cgroup_bonding_free_list(u->cgroup_bondings, false);
+ u->cgroup_bondings = NULL;
+ return 0;
+ }
+
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
- char _cleanup_free_ *t = NULL, *k = NULL, *ku = NULL;
+ _cleanup_free_ char *t = NULL, *k = NULL, *ku = NULL;
int r;
t = strndup(w, l);
if (!t)
- return -ENOMEM;
+ return log_oom();
k = unit_full_printf(u, t);
if (!k)
- return -ENOMEM;
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to resolve unit specifiers on %s. Ignoring.",
+ t);
- ku = cunescape(k);
+ ku = cunescape(k ? k : t);
if (!ku)
- return -ENOMEM;
+ return log_oom();
- r = unit_add_cgroup_from_text(u, ku);
+ r = unit_add_cgroup_from_text(u, ku, true, NULL);
if (r < 0) {
- log_error("[%s:%u] Failed to parse cgroup value %s, ignoring: %s",
- filename, line, k, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse cgroup value %s, ignoring: %s",
+ k, rvalue);
return 0;
}
}
@@ -996,26 +1049,28 @@ int config_parse_unit_cgroup(
}
#ifdef HAVE_SYSV_COMPAT
-int config_parse_sysv_priority(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_sysv_priority(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
int *priority = data;
- int i;
+ int i, r;
assert(filename);
assert(lvalue);
assert(rvalue);
assert(data);
- if (safe_atoi(rvalue, &i) < 0 || i < 0) {
- log_error("[%s:%u] Failed to parse SysV start priority, ignoring: %s", filename, line, rvalue);
+ r = safe_atoi(rvalue, &i);
+ if (r < 0 || i < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse SysV start priority, ignoring: %s", rvalue);
return 0;
}
@@ -1024,26 +1079,28 @@ int config_parse_sysv_priority(
}
#endif
-int config_parse_fsck_passno(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_fsck_passno(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
int *passno = data;
- int i;
+ int i, r;
assert(filename);
assert(lvalue);
assert(rvalue);
assert(data);
- if (safe_atoi(rvalue, &i) || i < 0) {
- log_error("[%s:%u] Failed to parse fsck pass number, ignoring: %s", filename, line, rvalue);
+ r = safe_atoi(rvalue, &i);
+ if (r || i < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse fsck pass number, ignoring: %s", rvalue);
return 0;
}
@@ -1053,15 +1110,15 @@ int config_parse_fsck_passno(
DEFINE_CONFIG_PARSE_ENUM(config_parse_kill_mode, kill_mode, KillMode, "Failed to parse kill mode");
-int config_parse_kill_signal(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_kill_signal(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
int *sig = data;
int r;
@@ -1071,8 +1128,10 @@ int config_parse_kill_signal(
assert(rvalue);
assert(sig);
- if ((r = signal_from_string_try_harder(rvalue)) <= 0) {
- log_error("[%s:%u] Failed to parse kill signal, ignoring: %s", filename, line, rvalue);
+ r = signal_from_string_try_harder(rvalue);
+ if (r <= 0) {
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse kill signal, ignoring: %s", rvalue);
return 0;
}
@@ -1080,15 +1139,15 @@ int config_parse_kill_signal(
return 0;
}
-int config_parse_exec_mount_flags(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_exec_mount_flags(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ExecContext *c = data;
char *w;
@@ -1102,11 +1161,11 @@ int config_parse_exec_mount_flags(
assert(data);
FOREACH_WORD_SEPARATOR(w, l, rvalue, ", ", state) {
- char _cleanup_free_ *t;
+ _cleanup_free_ char *t;
t = strndup(w, l);
if (!t)
- return -ENOMEM;
+ return log_oom();
if (streq(t, "shared"))
flags |= MS_SHARED;
@@ -1115,8 +1174,9 @@ int config_parse_exec_mount_flags(
else if (streq(w, "private"))
flags |= MS_PRIVATE;
else {
- log_error("[%s:%u] Failed to parse mount flag %s, ignoring: %s",
- filename, line, t, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse mount flag %s, ignoring: %s",
+ t, rvalue);
return 0;
}
}
@@ -1125,15 +1185,15 @@ int config_parse_exec_mount_flags(
return 0;
}
-int config_parse_timer(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_timer(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Timer *t = data;
usec_t u = 0;
@@ -1147,22 +1207,33 @@ int config_parse_timer(
assert(rvalue);
assert(data);
+ if (isempty(rvalue)) {
+ /* Empty assignment resets list */
+ timer_free_values(t);
+ return 0;
+ }
+
b = timer_base_from_string(lvalue);
if (b < 0) {
- log_error("[%s:%u] Failed to parse timer base, ignoring: %s", filename, line, lvalue);
+ log_syntax(unit, LOG_ERR, filename, line, -b,
+ "Failed to parse timer base, ignoring: %s", lvalue);
return 0;
}
if (b == TIMER_CALENDAR) {
if (calendar_spec_from_string(rvalue, &c) < 0) {
- log_error("[%s:%u] Failed to parse calendar specification, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse calendar specification, ignoring: %s",
+ rvalue);
return 0;
}
id = CLOCK_REALTIME;
} else {
- if (parse_usec(rvalue, &u) < 0) {
- log_error("[%s:%u] Failed to parse timer value, ignoring: %s", filename, line, rvalue);
+ if (parse_sec(rvalue, &u) < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse timer value, ignoring: %s",
+ rvalue);
return 0;
}
@@ -1171,7 +1242,7 @@ int config_parse_timer(
v = new0(TimerValue, 1);
if (!v)
- return -ENOMEM;
+ return log_oom();
v->base = b;
v->clock_id = id;
@@ -1183,7 +1254,8 @@ int config_parse_timer(
return 0;
}
-int config_parse_timer_unit(
+int config_parse_trigger_unit(
+ const char *unit,
const char *filename,
unsigned line,
const char *section,
@@ -1193,78 +1265,105 @@ int config_parse_timer_unit(
void *data,
void *userdata) {
- Timer *t = data;
+ _cleanup_free_ char *p = NULL;
+ Unit *u = data;
+ UnitType type;
int r;
- DBusError error;
- Unit *u;
assert(filename);
assert(lvalue);
assert(rvalue);
assert(data);
- dbus_error_init(&error);
+ if (!set_isempty(u->dependencies[UNIT_TRIGGERS])) {
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Multiple units to trigger specified, ignoring: %s", rvalue);
+ return 0;
+ }
+
+ p = unit_name_printf(u, rvalue);
+ if (!p)
+ return log_oom();
- if (endswith(rvalue, ".timer")) {
- log_error("[%s:%u] Unit cannot be of type timer, ignoring: %s", filename, line, rvalue);
+ type = unit_name_to_type(p);
+ if (type < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Unit type not valid, ignoring: %s", rvalue);
return 0;
}
- r = manager_load_unit(UNIT(t)->manager, rvalue, NULL, NULL, &u);
- if (r < 0) {
- log_error("[%s:%u] Failed to load unit %s, ignoring: %s", filename, line, rvalue, bus_error(&error, r));
- dbus_error_free(&error);
+ if (type == u->type) {
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Trigger cannot be of same type, ignoring: %s", rvalue);
return 0;
}
- unit_ref_set(&t->unit, u);
+ r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, UNIT_TRIGGERS, p, NULL, true);
+ if (r < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to add trigger on %s, ignoring: %s", p, strerror(-r));
+ return 0;
+ }
return 0;
}
-int config_parse_path_spec(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_path_spec(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Path *p = data;
PathSpec *s;
PathType b;
- char *k;
+ _cleanup_free_ char *k = NULL;
assert(filename);
assert(lvalue);
assert(rvalue);
assert(data);
+ if (isempty(rvalue)) {
+ /* Empty assignment clears list */
+ path_free_specs(p);
+ return 0;
+ }
+
b = path_type_from_string(lvalue);
if (b < 0) {
- log_error("[%s:%u] Failed to parse path type, ignoring: %s", filename, line, lvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse path type, ignoring: %s", lvalue);
return 0;
}
k = unit_full_printf(UNIT(p), rvalue);
- if (!k)
- return log_oom();
+ if (!k) {
+ k = strdup(rvalue);
+ if (!k)
+ return log_oom();
+ else
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to resolve unit specifiers on %s. Ignoring.",
+ rvalue);
+ }
if (!path_is_absolute(k)) {
- log_error("[%s:%u] Path is not absolute, ignoring: %s", filename, line, k);
- free(k);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Path is not absolute, ignoring: %s", k);
return 0;
}
s = new0(PathSpec, 1);
- if (!s) {
- free(k);
+ if (!s)
return log_oom();
- }
s->path = path_kill_slashes(k);
+ k = NULL;
s->type = b;
s->inotify_fd = -1;
@@ -1273,58 +1372,21 @@ int config_parse_path_spec(
return 0;
}
-int config_parse_path_unit(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- Path *t = data;
- int r;
- DBusError error;
- Unit *u;
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
- assert(data);
-
- dbus_error_init(&error);
-
- if (endswith(rvalue, ".path")) {
- log_error("[%s:%u] Unit cannot be of type path, ignoring: %s", filename, line, rvalue);
- return 0;
- }
-
- if ((r = manager_load_unit(UNIT(t)->manager, rvalue, NULL, &error, &u)) < 0) {
- log_error("[%s:%u] Failed to load unit %s, ignoring: %s", filename, line, rvalue, bus_error(&error, r));
- dbus_error_free(&error);
- return 0;
- }
-
- unit_ref_set(&t->unit, u);
-
- return 0;
-}
-
-int config_parse_socket_service(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_socket_service(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Socket *s = data;
int r;
DBusError error;
Unit *x;
+ _cleanup_free_ char *p = NULL;
assert(filename);
assert(lvalue);
@@ -1333,14 +1395,21 @@ int config_parse_socket_service(
dbus_error_init(&error);
- if (!endswith(rvalue, ".service")) {
- log_error("[%s:%u] Unit must be of type service, ignoring: %s", filename, line, rvalue);
+ p = unit_name_printf(UNIT(s), rvalue);
+ if (!p)
+ return log_oom();
+
+ if (!endswith(p, ".service")) {
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Unit must be of type service, ignoring: %s", rvalue);
return 0;
}
- r = manager_load_unit(UNIT(s)->manager, rvalue, NULL, &error, &x);
+ r = manager_load_unit(UNIT(s)->manager, p, NULL, &error, &x);
if (r < 0) {
- log_error("[%s:%u] Failed to load unit %s, ignoring: %s", filename, line, rvalue, bus_error(&error, r));
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to load unit %s, ignoring: %s",
+ rvalue, bus_error(&error, r));
dbus_error_free(&error);
return 0;
}
@@ -1350,15 +1419,15 @@ int config_parse_socket_service(
return 0;
}
-int config_parse_service_sockets(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_service_sockets(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Service *s = data;
int r;
@@ -1371,26 +1440,27 @@ int config_parse_service_sockets(
assert(data);
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
- char _cleanup_free_ *t = NULL, *k = NULL;
+ _cleanup_free_ char *t = NULL, *k = NULL;
t = strndup(w, l);
if (!t)
- return -ENOMEM;
+ return log_oom();
k = unit_name_printf(UNIT(s), t);
if (!k)
- return -ENOMEM;
+ return log_oom();
if (!endswith(k, ".socket")) {
- log_error("[%s:%u] Unit must be of type socket, ignoring: %s",
- filename, line, k);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Unit must be of type socket, ignoring: %s", k);
continue;
}
r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_WANTS, UNIT_AFTER, k, NULL, true);
if (r < 0)
- log_error("[%s:%u] Failed to add dependency on %s, ignoring: %s",
- filename, line, k, strerror(-r));
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to add dependency on %s, ignoring: %s",
+ k, strerror(-r));
r = unit_add_dependency_by_name(UNIT(s), UNIT_TRIGGERED_BY, k, NULL, true);
if (r < 0)
@@ -1400,15 +1470,15 @@ int config_parse_service_sockets(
return 0;
}
-int config_parse_service_timeout(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_service_timeout(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Service *s = userdata;
int r;
@@ -1418,9 +1488,9 @@ int config_parse_service_timeout(
assert(rvalue);
assert(s);
- r = config_parse_usec(filename, line, section, lvalue, ltype, rvalue, data, userdata);
-
- if (r)
+ r = config_parse_sec(unit, filename, line, section, lvalue, ltype,
+ rvalue, data, userdata);
+ if (r < 0)
return r;
if (streq(lvalue, "TimeoutSec")) {
@@ -1432,55 +1502,115 @@ int config_parse_service_timeout(
return 0;
}
-int config_parse_unit_env_file(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- char ***env = data, **k;
+int config_parse_unit_env_file(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
+
+ char ***env = data;
Unit *u = userdata;
- char *s;
+ _cleanup_free_ char *s = NULL;
+ int r;
assert(filename);
assert(lvalue);
assert(rvalue);
assert(data);
+ if (isempty(rvalue)) {
+ /* Empty assignment frees the list */
+ strv_free(*env);
+ *env = NULL;
+ return 0;
+ }
+
s = unit_full_printf(u, rvalue);
if (!s)
- return -ENOMEM;
+ return log_oom();
if (!path_is_absolute(s[0] == '-' ? s + 1 : s)) {
- log_error("[%s:%u] Path '%s' is not absolute, ignoring.", filename, line, s);
- free(s);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Path '%s' is not absolute, ignoring.", s);
+ return 0;
+ }
+
+ r = strv_extend(env, s);
+ if (r < 0)
+ return log_oom();
+
+ return 0;
+}
+
+int config_parse_environ(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
+
+ Unit *u = userdata;
+ char*** env = data, *w, *state;
+ size_t l;
+ _cleanup_free_ char *k = NULL;
+
+ assert(filename);
+ assert(lvalue);
+ assert(rvalue);
+ assert(u);
+
+ if (isempty(rvalue)) {
+ /* Empty assignment resets the list */
+ strv_free(*env);
+ *env = NULL;
return 0;
}
- k = strv_append(*env, s);
- free(s);
+ k = unit_full_printf(u, rvalue);
if (!k)
- return -ENOMEM;
+ return log_oom();
- strv_free(*env);
- *env = k;
+ FOREACH_WORD_QUOTED(w, l, k, state) {
+ _cleanup_free_ char *n;
+ char **x;
+
+ n = cunescape_length(w, l);
+ if (!n)
+ return log_oom();
+
+ if (!env_assignment_is_valid(n)) {
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Invalid environment assignment, ignoring: %s", rvalue);
+ continue;
+ }
+
+ x = strv_env_set(*env, n);
+ if (!x)
+ return log_oom();
+
+ strv_free(*env);
+ *env = x;
+ }
return 0;
}
-int config_parse_ip_tos(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_ip_tos(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
int *ip_tos = data, x;
@@ -1491,7 +1621,8 @@ int config_parse_ip_tos(
x = ip_tos_from_string(rvalue);
if (x < 0) {
- log_error("[%s:%u] Failed to parse IP TOS value, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse IP TOS value, ignoring: %s", rvalue);
return 0;
}
@@ -1499,15 +1630,15 @@ int config_parse_ip_tos(
return 0;
}
-int config_parse_unit_condition_path(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_unit_condition_path(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ConditionType cond = ltype;
Unit *u = data;
@@ -1520,6 +1651,13 @@ int config_parse_unit_condition_path(
assert(rvalue);
assert(data);
+ if (isempty(rvalue)) {
+ /* Empty assignment resets the list */
+ condition_free_list(u->conditions);
+ u->conditions = NULL;
+ return 0;
+ }
+
trigger = rvalue[0] == '|';
if (trigger)
rvalue++;
@@ -1530,30 +1668,31 @@ int config_parse_unit_condition_path(
p = unit_full_printf(u, rvalue);
if (!p)
- return -ENOMEM;
+ return log_oom();
if (!path_is_absolute(p)) {
- log_error("[%s:%u] Path in condition not absolute, ignoring: %s", filename, line, p);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Path in condition not absolute, ignoring: %s", p);
return 0;
}
c = condition_new(cond, p, trigger, negate);
if (!c)
- return -ENOMEM;
+ return log_oom();
LIST_PREPEND(Condition, conditions, u->conditions, c);
return 0;
}
-int config_parse_unit_condition_string(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_unit_condition_string(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ConditionType cond = ltype;
Unit *u = data;
@@ -1566,6 +1705,13 @@ int config_parse_unit_condition_string(
assert(rvalue);
assert(data);
+ if (isempty(rvalue)) {
+ /* Empty assignment resets the list */
+ condition_free_list(u->conditions);
+ u->conditions = NULL;
+ return 0;
+ }
+
trigger = rvalue[0] == '|';
if (trigger)
rvalue++;
@@ -1576,7 +1722,7 @@ int config_parse_unit_condition_string(
s = unit_full_printf(u, rvalue);
if (!s)
- return -ENOMEM;
+ return log_oom();
c = condition_new(cond, s, trigger, negate);
if (!c)
@@ -1586,15 +1732,15 @@ int config_parse_unit_condition_string(
return 0;
}
-int config_parse_unit_condition_null(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_unit_condition_null(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Unit *u = data;
Condition *c;
@@ -1606,22 +1752,35 @@ int config_parse_unit_condition_null(
assert(rvalue);
assert(data);
- if ((trigger = rvalue[0] == '|'))
+ if (isempty(rvalue)) {
+ /* Empty assignment resets the list */
+ condition_free_list(u->conditions);
+ u->conditions = NULL;
+ return 0;
+ }
+
+ trigger = rvalue[0] == '|';
+ if (trigger)
rvalue++;
- if ((negate = rvalue[0] == '!'))
+ negate = rvalue[0] == '!';
+ if (negate)
rvalue++;
- if ((b = parse_boolean(rvalue)) < 0) {
- log_error("[%s:%u] Failed to parse boolean value in condition, ignoring: %s", filename, line, rvalue);
+ b = parse_boolean(rvalue);
+ if (b < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, -b,
+ "Failed to parse boolean value in condition, ignoring: %s",
+ rvalue);
return 0;
}
if (!b)
negate = !negate;
- if (!(c = condition_new(CONDITION_NULL, NULL, trigger, negate)))
- return -ENOMEM;
+ c = condition_new(CONDITION_NULL, NULL, trigger, negate);
+ if (!c)
+ return log_oom();
LIST_PREPEND(Condition, conditions, u->conditions, c);
return 0;
@@ -1630,383 +1789,117 @@ int config_parse_unit_condition_null(
DEFINE_CONFIG_PARSE_ENUM(config_parse_notify_access, notify_access, NotifyAccess, "Failed to parse notify access specifier");
DEFINE_CONFIG_PARSE_ENUM(config_parse_start_limit_action, start_limit_action, StartLimitAction, "Failed to parse start limit action specifier");
-int config_parse_unit_cgroup_attr(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- Unit *u = data;
- char **l;
- int r;
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
- assert(data);
-
- l = strv_split_quoted(rvalue);
- if (!l)
- return -ENOMEM;
-
- if (strv_length(l) != 2) {
- log_error("[%s:%u] Failed to parse cgroup attribute value, ignoring: %s", filename, line, rvalue);
- strv_free(l);
- return 0;
- }
-
- r = unit_add_cgroup_attribute(u, NULL, l[0], l[1], NULL);
- strv_free(l);
-
- if (r < 0) {
- log_error("[%s:%u] Failed to add cgroup attribute value, ignoring: %s", filename, line, rvalue);
- return 0;
- }
-
- return 0;
-}
+int config_parse_unit_cgroup_attr(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
-int config_parse_unit_cpu_shares(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata) {
Unit *u = data;
+ size_t a, b;
+ _cleanup_free_ char *n = NULL, *v = NULL;
+ const CGroupSemantics *s;
int r;
- unsigned long ul;
- char *t;
assert(filename);
assert(lvalue);
assert(rvalue);
assert(data);
- if (safe_atolu(rvalue, &ul) < 0 || ul < 1) {
- log_error("[%s:%u] Failed to parse CPU shares value, ignoring: %s", filename, line, rvalue);
- return 0;
- }
-
- if (asprintf(&t, "%lu", ul) < 0)
- return -ENOMEM;
-
- r = unit_add_cgroup_attribute(u, "cpu", "cpu.shares", t, NULL);
- free(t);
-
- if (r < 0) {
- log_error("[%s:%u] Failed to add cgroup attribute value, ignoring: %s", filename, line, rvalue);
+ if (isempty(rvalue)) {
+ /* Empty assignment clears the list */
+ cgroup_attribute_free_list(u->cgroup_attributes);
+ u->cgroup_attributes = NULL;
return 0;
}
- return 0;
-}
-
-int config_parse_unit_memory_limit(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata) {
- Unit *u = data;
- int r;
- off_t sz;
- char *t;
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
- assert(data);
-
- if (parse_bytes(rvalue, &sz) < 0 || sz <= 0) {
- log_error("[%s:%u] Failed to parse memory limit value, ignoring: %s", filename, line, rvalue);
+ a = strcspn(rvalue, WHITESPACE);
+ b = strspn(rvalue + a, WHITESPACE);
+ if (a <= 0 || b <= 0) {
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse cgroup attribute value, ignoring: %s",
+ rvalue);
return 0;
}
- if (asprintf(&t, "%llu", (unsigned long long) sz) < 0)
- return -ENOMEM;
-
- r = unit_add_cgroup_attribute(u,
- "memory",
- streq(lvalue, "MemorySoftLimit") ? "memory.soft_limit_in_bytes" : "memory.limit_in_bytes",
- t, NULL);
- free(t);
+ n = strndup(rvalue, a);
+ if (!n)
+ return log_oom();
+ r = cgroup_semantics_find(NULL, n, rvalue + a + b, &v, &s);
if (r < 0) {
- log_error("[%s:%u] Failed to add cgroup attribute value, ignoring: %s", filename, line, rvalue);
- return 0;
- }
-
- return 0;
-}
-
-static int device_map(const char *controller, const char *name, const char *value, char **ret) {
- char **l;
-
- assert(controller);
- assert(name);
- assert(value);
- assert(ret);
-
- l = strv_split_quoted(value);
- if (!l)
- return -ENOMEM;
-
- assert(strv_length(l) >= 1);
-
- if (streq(l[0], "*")) {
-
- if (asprintf(ret, "a *:*%s%s",
- isempty(l[1]) ? "" : " ", strempty(l[1])) < 0) {
- strv_free(l);
- return -ENOMEM;
- }
-
- } else {
- struct stat st;
-
- if (stat(l[0], &st) < 0) {
- log_warning("Couldn't stat device %s", l[0]);
- strv_free(l);
- return -errno;
- }
-
- if (!S_ISCHR(st.st_mode) && !S_ISBLK(st.st_mode)) {
- log_warning("%s is not a device.", l[0]);
- strv_free(l);
- return -ENODEV;
- }
-
- if (asprintf(ret, "%c %u:%u%s%s",
- S_ISCHR(st.st_mode) ? 'c' : 'b',
- major(st.st_rdev), minor(st.st_rdev),
- isempty(l[1]) ? "" : " ", strempty(l[1])) < 0) {
-
- strv_free(l);
- return -ENOMEM;
- }
- }
-
- strv_free(l);
- return 0;
-}
-
-int config_parse_unit_device_allow(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata) {
- Unit *u = data;
- char **l;
- int r;
- unsigned k;
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
- assert(data);
-
- l = strv_split_quoted(rvalue);
- if (!l)
- return -ENOMEM;
-
- k = strv_length(l);
- if (k < 1 || k > 2) {
- log_error("[%s:%u] Failed to parse device value, ignoring: %s", filename, line, rvalue);
- strv_free(l);
- return 0;
- }
-
- if (!streq(l[0], "*") && !path_startswith(l[0], "/dev")) {
- log_error("[%s:%u] Device node path not absolute, ignoring: %s", filename, line, rvalue);
- strv_free(l);
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse cgroup attribute value, ignoring: %s",
+ rvalue);
return 0;
}
- if (!isempty(l[1]) && !in_charset(l[1], "rwm")) {
- log_error("[%s:%u] Device access string invalid, ignoring: %s", filename, line, rvalue);
- strv_free(l);
- return 0;
- }
- strv_free(l);
-
- r = unit_add_cgroup_attribute(u, "devices",
- streq(lvalue, "DeviceAllow") ? "devices.allow" : "devices.deny",
- rvalue, device_map);
-
+ r = unit_add_cgroup_attribute(u, s, NULL, n, v ? v : rvalue + a + b, NULL);
if (r < 0) {
- log_error("[%s:%u] Failed to add cgroup attribute value, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to add cgroup attribute value, ignoring: %s", rvalue);
return 0;
}
return 0;
}
-static int blkio_map(const char *controller, const char *name, const char *value, char **ret) {
- struct stat st;
- char **l;
- dev_t d;
-
- assert(controller);
- assert(name);
- assert(value);
- assert(ret);
-
- l = strv_split_quoted(value);
- if (!l)
- return -ENOMEM;
-
- assert(strv_length(l) == 2);
-
- if (stat(l[0], &st) < 0) {
- log_warning("Couldn't stat device %s", l[0]);
- strv_free(l);
- return -errno;
- }
-
- if (S_ISBLK(st.st_mode))
- d = st.st_rdev;
- else if (major(st.st_dev) != 0) {
- /* If this is not a device node then find the block
- * device this file is stored on */
- d = st.st_dev;
-
- /* If this is a partition, try to get the originating
- * block device */
- block_get_whole_disk(d, &d);
- } else {
- log_warning("%s is not a block device and file system block device cannot be determined or is not local.", l[0]);
- strv_free(l);
- return -ENODEV;
- }
-
- if (asprintf(ret, "%u:%u %s", major(d), minor(d), l[1]) < 0) {
- strv_free(l);
- return -ENOMEM;
- }
+int config_parse_unit_cgroup_attr_pretty(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
- strv_free(l);
- return 0;
-}
-
-int config_parse_unit_blkio_weight(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata) {
Unit *u = data;
+ _cleanup_free_ char *v = NULL;
+ const CGroupSemantics *s;
int r;
- unsigned long ul;
- const char *device = NULL, *weight;
- unsigned k;
- char *t, **l;
assert(filename);
assert(lvalue);
assert(rvalue);
assert(data);
- l = strv_split_quoted(rvalue);
- if (!l)
- return -ENOMEM;
-
- k = strv_length(l);
- if (k < 1 || k > 2) {
- log_error("[%s:%u] Failed to parse weight value, ignoring: %s", filename, line, rvalue);
- strv_free(l);
- return 0;
- }
-
- if (k == 1)
- weight = l[0];
- else {
- device = l[0];
- weight = l[1];
- }
-
- if (device && !path_is_absolute(device)) {
- log_error("[%s:%u] Failed to parse block device node value, ignoring: %s", filename, line, rvalue);
- strv_free(l);
- return 0;
- }
-
- if (safe_atolu(weight, &ul) < 0 || ul < 10 || ul > 1000) {
- log_error("[%s:%u] Failed to parse block IO weight value, ignoring: %s", filename, line, rvalue);
- strv_free(l);
- return 0;
- }
-
- if (device)
- r = asprintf(&t, "%s %lu", device, ul);
- else
- r = asprintf(&t, "%lu", ul);
- strv_free(l);
-
- if (r < 0)
- return -ENOMEM;
-
- if (device)
- r = unit_add_cgroup_attribute(u, "blkio", "blkio.weight_device", t, blkio_map);
- else
- r = unit_add_cgroup_attribute(u, "blkio", "blkio.weight", t, NULL);
- free(t);
-
+ r = cgroup_semantics_find(NULL, lvalue, rvalue, &v, &s);
if (r < 0) {
- log_error("[%s:%u] Failed to add cgroup attribute value, ignoring: %s", filename, line, rvalue);
- return 0;
- }
-
- return 0;
-}
-
-int config_parse_unit_blkio_bandwidth(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata) {
- Unit *u = data;
- int r;
- off_t bytes;
- unsigned k;
- char *t, **l;
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
- assert(data);
-
- l = strv_split_quoted(rvalue);
- if (!l)
- return -ENOMEM;
-
- k = strv_length(l);
- if (k != 2) {
- log_error("[%s:%u] Failed to parse bandwidth value, ignoring: %s", filename, line, rvalue);
- strv_free(l);
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse cgroup attribute value, ignoring: %s",
+ rvalue);
return 0;
- }
-
- if (!path_is_absolute(l[0])) {
- log_error("[%s:%u] Failed to parse block device node value, ignoring: %s", filename, line, rvalue);
- strv_free(l);
+ } else if (r == 0) {
+ log_syntax(unit, LOG_ERR, filename, line, ENOTSUP,
+ "Unknown or unsupported cgroup attribute %s, ignoring: %s",
+ lvalue, rvalue);
return 0;
}
- if (parse_bytes(l[1], &bytes) < 0 || bytes <= 0) {
- log_error("[%s:%u] Failed to parse block IO bandwidth value, ignoring: %s", filename, line, rvalue);
- strv_free(l);
- return 0;
- }
-
- r = asprintf(&t, "%s %llu", l[0], (unsigned long long) bytes);
- strv_free(l);
-
- if (r < 0)
- return -ENOMEM;
-
- r = unit_add_cgroup_attribute(u, "blkio",
- streq(lvalue, "BlockIOReadBandwidth") ? "blkio.read_bps_device" : "blkio.write_bps_device",
- t, blkio_map);
- free(t);
-
+ r = unit_add_cgroup_attribute(u, s, NULL, NULL, v, NULL);
if (r < 0) {
- log_error("[%s:%u] Failed to add cgroup attribute value, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to add cgroup attribute value, ignoring: %s", rvalue);
return 0;
}
return 0;
}
-int config_parse_unit_requires_mounts_for(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_unit_requires_mounts_for(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Unit *u = userdata;
int r;
@@ -2019,7 +1912,8 @@ int config_parse_unit_requires_mounts_for(
empty_before = !u->requires_mounts_for;
- r = config_parse_path_strv(filename, line, section, lvalue, ltype, rvalue, data, userdata);
+ r = config_parse_path_strv(unit, filename, line, section, lvalue, ltype,
+ rvalue, data, userdata);
/* Make it easy to find units with requires_mounts set */
if (empty_before && u->requires_mounts_for)
@@ -2028,15 +1922,15 @@ int config_parse_unit_requires_mounts_for(
return r;
}
-int config_parse_documentation(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_documentation(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
Unit *u = userdata;
int r;
@@ -2047,7 +1941,15 @@ int config_parse_documentation(
assert(rvalue);
assert(u);
- r = config_parse_unit_strv_printf(filename, line, section, lvalue, ltype, rvalue, data, userdata);
+ if (isempty(rvalue)) {
+ /* Empty assignment resets the list */
+ strv_free(u->documentation);
+ u->documentation = NULL;
+ return 0;
+ }
+
+ r = config_parse_unit_strv_printf(unit, filename, line, section, lvalue, ltype,
+ rvalue, data, userdata);
if (r < 0)
return r;
@@ -2056,7 +1958,8 @@ int config_parse_documentation(
if (is_valid_documentation_url(*a))
*(b++) = *a;
else {
- log_error("[%s:%u] Invalid URL, ignoring: %s", filename, line, *a);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Invalid URL, ignoring: %s", *a);
free(*a);
}
}
@@ -2066,22 +1969,24 @@ int config_parse_documentation(
}
static void syscall_set(uint32_t *p, int nr) {
+ nr = SYSCALL_TO_INDEX(nr);
p[nr >> 4] |= 1 << (nr & 31);
}
static void syscall_unset(uint32_t *p, int nr) {
+ nr = SYSCALL_TO_INDEX(nr);
p[nr >> 4] &= ~(1 << (nr & 31));
}
-int config_parse_syscall_filter(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_syscall_filter(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
ExecContext *c = data;
Unit *u = userdata;
@@ -2095,6 +2000,13 @@ int config_parse_syscall_filter(
assert(rvalue);
assert(u);
+ if (isempty(rvalue)) {
+ /* Empty assignment resets the list */
+ free(c->syscall_filter);
+ c->syscall_filter = NULL;
+ return 0;
+ }
+
if (rvalue[0] == '~') {
invert = true;
rvalue++;
@@ -2106,7 +2018,7 @@ int config_parse_syscall_filter(
n = (syscall_max() + 31) >> 4;
c->syscall_filter = new(uint32_t, n);
if (!c->syscall_filter)
- return -ENOMEM;
+ return log_oom();
memset(c->syscall_filter, invert ? 0xFF : 0, n * sizeof(uint32_t));
@@ -2122,17 +2034,16 @@ int config_parse_syscall_filter(
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
int id;
- char _cleanup_free_ *t = NULL;
+ _cleanup_free_ char *t = NULL;
t = strndup(w, l);
if (!t)
- return -ENOMEM;
+ return log_oom();
id = syscall_from_name(t);
-
if (id < 0) {
- log_error("[%s:%u] Failed to parse syscall, ignoring: %s",
- filename, line, t);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse syscall, ignoring: %s", t);
continue;
}
@@ -2184,11 +2095,9 @@ static int open_follow(char **filename, FILE **_f, Set *names, char **_final) {
if (!id)
return -ENOMEM;
- r = set_put(names, id);
- if (r < 0) {
- free(id);
+ r = set_consume(names, id);
+ if (r < 0)
return r;
- }
}
}
@@ -2359,7 +2268,9 @@ static int load_from_path(Unit *u, const char *path) {
u->load_state = UNIT_MASKED;
else {
/* Now, parse the file contents */
- r = config_parse(filename, f, UNIT_VTABLE(u)->sections, config_item_perf_lookup, (void*) load_fragment_gperf_lookup, false, u);
+ r = config_parse(u->id, filename, f, UNIT_VTABLE(u)->sections,
+ config_item_perf_lookup,
+ (void*) load_fragment_gperf_lookup, false, true, u);
if (r < 0)
goto finish;
@@ -2521,16 +2432,15 @@ void unit_dump_config_items(FILE *f) {
{ config_parse_socket_listen, "SOCKET [...]" },
{ config_parse_socket_bind, "SOCKETBIND" },
{ config_parse_socket_bindtodevice, "NETWORKINTERFACE" },
- { config_parse_usec, "SECONDS" },
+ { config_parse_sec, "SECONDS" },
{ config_parse_nsec, "NANOSECONDS" },
{ config_parse_path_strv, "PATH [...]" },
{ config_parse_unit_requires_mounts_for, "PATH [...]" },
{ config_parse_exec_mount_flags, "MOUNTFLAG [...]" },
{ config_parse_unit_string_printf, "STRING" },
+ { config_parse_trigger_unit, "UNIT" },
{ config_parse_timer, "TIMER" },
- { config_parse_timer_unit, "NAME" },
{ config_parse_path_spec, "PATH" },
- { config_parse_path_unit, "UNIT" },
{ config_parse_notify_access, "ACCESS" },
{ config_parse_ip_tos, "TOS" },
{ config_parse_unit_condition_path, "CONDITION" },
@@ -2557,7 +2467,7 @@ void unit_dump_config_items(FILE *f) {
prefix_len = dot-i;
if (dot)
- if (!prev || strncmp(prev, i, prefix_len+1) != 0) {
+ if (!prev || !strneq(prev, i, prefix_len+1)) {
if (prev)
fputc('\n', f);
diff --git a/src/core/load-fragment.h b/src/core/load-fragment.h
index 24f738464c..ff7f22a6f0 100644
--- a/src/core/load-fragment.h
+++ b/src/core/load-fragment.h
@@ -29,59 +29,55 @@ int unit_load_fragment(Unit *u);
void unit_dump_config_items(FILE *f);
-int config_parse_warn_compat(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_deps(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_string_printf(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_strv_printf(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_path_printf(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_documentation(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_socket_listen(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_socket_bind(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_exec_nice(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_exec_oom_score_adjust(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_exec(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_service_timeout(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_service_type(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_service_restart(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_socket_bindtodevice(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_output(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_input(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_exec_io_class(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_exec_io_priority(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_exec_cpu_sched_policy(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_exec_cpu_sched_prio(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_exec_cpu_affinity(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_exec_capabilities(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_exec_secure_bits(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_bounding_set(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_limit(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_cgroup(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_sysv_priority(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_fsck_passno(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_kill_signal(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_exec_mount_flags(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_timer(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_timer_unit(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_path_spec(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_path_unit(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_socket_service(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_service_sockets(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_env_file(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_ip_tos(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_condition_path(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_condition_string(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_condition_null(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_kill_mode(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_notify_access(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_start_limit_action(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_cgroup_attr(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_cpu_shares(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_memory_limit(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_device_allow(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_blkio_weight(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_blkio_bandwidth(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unit_requires_mounts_for(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_syscall_filter(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_warn_compat(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_unit_deps(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_unit_string_printf(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_unit_strv_printf(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_unit_path_printf(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_documentation(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_socket_listen(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_socket_bind(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_exec_nice(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_exec_oom_score_adjust(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_exec(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_service_timeout(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_service_type(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_service_restart(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_socket_bindtodevice(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_output(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_input(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_exec_io_class(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_exec_io_priority(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_exec_cpu_sched_policy(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_exec_cpu_sched_prio(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_exec_cpu_affinity(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_exec_capabilities(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_exec_secure_bits(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_bounding_set(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_limit(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_unit_cgroup(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_sysv_priority(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_fsck_passno(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_kill_signal(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_exec_mount_flags(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_timer(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_trigger_unit(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_path_spec(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_socket_service(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_service_sockets(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_unit_env_file(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_ip_tos(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_unit_condition_path(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_unit_condition_string(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_unit_condition_null(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_kill_mode(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_notify_access(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_start_limit_action(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_unit_cgroup_attr(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_unit_cgroup_attr_pretty(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_unit_requires_mounts_for(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_syscall_filter(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_environ(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
/* gperf prototypes */
const struct ConfigPerfItem* load_fragment_gperf_lookup(const char *key, unsigned length);
diff --git a/src/core/locale-setup.c b/src/core/locale-setup.c
index 48b59bf448..d7113b9795 100644
--- a/src/core/locale-setup.c
+++ b/src/core/locale-setup.c
@@ -27,6 +27,7 @@
#include "util.h"
#include "macro.h"
#include "virt.h"
+#include "fileio.h"
enum {
/* We don't list LC_ALL here on purpose. People should be
@@ -67,11 +68,9 @@ static const char * const variable_names[_VARIABLE_MAX] = {
};
int locale_setup(void) {
- char *variables[_VARIABLE_MAX];
+ char *variables[_VARIABLE_MAX] = {};
int r = 0, i;
- zero(variables);
-
if (detect_container(NULL) <= 0) {
r = parse_env_file("/proc/cmdline", WHITESPACE,
"locale.LANG", &variables[VARIABLE_LANG],
diff --git a/src/core/loopback-setup.c b/src/core/loopback-setup.c
index 065b75a6e3..aff24fa642 100644
--- a/src/core/loopback-setup.c
+++ b/src/core/loopback-setup.c
@@ -88,25 +88,26 @@ static int add_adresses(int fd, int if_loopback, unsigned *requests) {
union {
struct sockaddr sa;
struct sockaddr_nl nl;
- } sa;
+ } sa = {
+ .nl.nl_family = AF_NETLINK,
+ };
+
union {
struct nlmsghdr header;
uint8_t buf[NLMSG_ALIGN(sizeof(struct nlmsghdr)) +
NLMSG_ALIGN(sizeof(struct ifaddrmsg)) +
RTA_LENGTH(sizeof(struct in6_addr))];
- } request;
+ } request = {
+ .header.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifaddrmsg)),
+ .header.nlmsg_type = RTM_NEWADDR,
+ .header.nlmsg_flags = NLM_F_REQUEST|NLM_F_CREATE|NLM_F_ACK,
+ .header.nlmsg_seq = *requests + 1,
+ };
struct ifaddrmsg *ifaddrmsg;
uint32_t ipv4_address = htonl(INADDR_LOOPBACK);
int r;
- zero(request);
-
- request.header.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifaddrmsg));
- request.header.nlmsg_type = RTM_NEWADDR;
- request.header.nlmsg_flags = NLM_F_REQUEST|NLM_F_CREATE|NLM_F_ACK;
- request.header.nlmsg_seq = *requests + 1;
-
ifaddrmsg = NLMSG_DATA(&request.header);
ifaddrmsg->ifa_family = AF_INET;
ifaddrmsg->ifa_prefixlen = 8;
@@ -114,13 +115,11 @@ static int add_adresses(int fd, int if_loopback, unsigned *requests) {
ifaddrmsg->ifa_scope = RT_SCOPE_HOST;
ifaddrmsg->ifa_index = if_loopback;
- r = add_rtattr(&request.header, sizeof(request), IFA_LOCAL, &ipv4_address, sizeof(ipv4_address));
+ r = add_rtattr(&request.header, sizeof(request), IFA_LOCAL,
+ &ipv4_address, sizeof(ipv4_address));
if (r < 0)
return r;
- zero(sa);
- sa.nl.nl_family = AF_NETLINK;
-
if (sendto_loop(fd, &request, request.header.nlmsg_len, 0, &sa.sa, sizeof(sa)) < 0)
return -errno;
(*requests)++;
@@ -134,7 +133,8 @@ static int add_adresses(int fd, int if_loopback, unsigned *requests) {
ifaddrmsg->ifa_family = AF_INET6;
ifaddrmsg->ifa_prefixlen = 128;
- r = add_rtattr(&request.header, sizeof(request), IFA_LOCAL, &in6addr_loopback, sizeof(in6addr_loopback));
+ r = add_rtattr(&request.header, sizeof(request), IFA_LOCAL,
+ &in6addr_loopback, sizeof(in6addr_loopback));
if (r < 0)
return r;
@@ -149,31 +149,29 @@ static int start_interface(int fd, int if_loopback, unsigned *requests) {
union {
struct sockaddr sa;
struct sockaddr_nl nl;
- } sa;
+ } sa = {
+ .nl.nl_family = AF_NETLINK,
+ };
+
union {
struct nlmsghdr header;
uint8_t buf[NLMSG_ALIGN(sizeof(struct nlmsghdr)) +
NLMSG_ALIGN(sizeof(struct ifinfomsg))];
- } request;
+ } request = {
+ .header.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifinfomsg)),
+ .header.nlmsg_type = RTM_NEWLINK,
+ .header.nlmsg_flags = NLM_F_REQUEST|NLM_F_ACK,
+ .header.nlmsg_seq = *requests + 1,
+ };
struct ifinfomsg *ifinfomsg;
- zero(request);
-
- request.header.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifinfomsg));
- request.header.nlmsg_type = RTM_NEWLINK;
- request.header.nlmsg_flags = NLM_F_REQUEST|NLM_F_ACK;
- request.header.nlmsg_seq = *requests + 1;
-
ifinfomsg = NLMSG_DATA(&request.header);
ifinfomsg->ifi_family = AF_UNSPEC;
ifinfomsg->ifi_index = if_loopback;
ifinfomsg->ifi_flags = IFF_UP;
ifinfomsg->ifi_change = IFF_UP;
- zero(sa);
- sa.nl.nl_family = AF_NETLINK;
-
if (sendto_loop(fd, &request, request.header.nlmsg_len, 0, &sa.sa, sizeof(sa)) < 0)
return -errno;
@@ -229,11 +227,15 @@ static int read_response(int fd, unsigned requests_max) {
}
static int check_loopback(void) {
- int r, fd;
+ int r;
+ _cleanup_close_ int fd;
union {
struct sockaddr sa;
struct sockaddr_in in;
- } sa;
+ } sa = {
+ .in.sin_family = AF_INET,
+ .in.sin_addr.s_addr = INADDR_LOOPBACK,
+ };
/* If we failed to set up the loop back device, check whether
* it might already be set up */
@@ -242,17 +244,11 @@ static int check_loopback(void) {
if (fd < 0)
return -errno;
- zero(sa);
- sa.in.sin_family = AF_INET;
- sa.in.sin_addr.s_addr = INADDR_LOOPBACK;
-
if (bind(fd, &sa.sa, sizeof(sa.in)) >= 0)
r = 1;
else
r = errno == EADDRNOTAVAIL ? 0 : -errno;
- close_nointr_nofail(fd);
-
return r;
}
@@ -261,9 +257,11 @@ int loopback_setup(void) {
union {
struct sockaddr sa;
struct sockaddr_nl nl;
- } sa;
+ } sa = {
+ .nl.nl_family = AF_NETLINK,
+ };
unsigned requests = 0, i;
- int fd;
+ _cleanup_close_ int fd = -1;
bool eperm = false;
errno = 0;
@@ -275,20 +273,18 @@ int loopback_setup(void) {
if (fd < 0)
return -errno;
- zero(sa);
- sa.nl.nl_family = AF_NETLINK;
if (bind(fd, &sa.sa, sizeof(sa)) < 0) {
r = -errno;
- goto finish;
+ goto error;
}
r = add_adresses(fd, if_loopback, &requests);
if (r < 0)
- goto finish;
+ goto error;
r = start_interface(fd, if_loopback, &requests);
if (r < 0)
- goto finish;
+ goto error;
for (i = 0; i < requests; i++) {
r = read_response(fd, requests);
@@ -296,22 +292,17 @@ int loopback_setup(void) {
if (r == -EPERM)
eperm = true;
else if (r < 0)
- goto finish;
+ goto error;
}
if (eperm && check_loopback() < 0) {
r = -EPERM;
- goto finish;
+ goto error;
}
- r = 0;
-
-finish:
- if (r < 0)
- log_warning("Failed to configure loopback device: %s", strerror(-r));
-
- if (fd >= 0)
- close_nointr_nofail(fd);
+ return 0;
+error:
+ log_warning("Failed to configure loopback device: %s", strerror(-r));
return r;
}
diff --git a/src/core/machine-id-setup.c b/src/core/machine-id-setup.c
index 7f4c23b130..18e015fe7f 100644
--- a/src/core/machine-id-setup.c
+++ b/src/core/machine-id-setup.c
@@ -35,6 +35,7 @@
#include "mkdir.h"
#include "log.h"
#include "virt.h"
+#include "fileio.h"
static int shorten_uuid(char destination[36], const char *source) {
unsigned i, j;
@@ -71,16 +72,19 @@ static int generate(char id[34]) {
/* First, try reading the D-Bus machine id, unless it is a symlink */
fd = open("/var/lib/dbus/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW);
if (fd >= 0) {
-
- k = loop_read(fd, id, 32, false);
+ k = loop_read(fd, id, 33, false);
close_nointr_nofail(fd);
- if (k >= 32) {
- id[32] = '\n';
- id[33] = 0;
+ if (k == 33 && id[32] == '\n') {
- log_info("Initializing machine ID from D-Bus machine ID.");
- return 0;
+ id[32] = 0;
+ if (id128_is_valid(id)) {
+ id[32] = '\n';
+ id[33] = 0;
+
+ log_info("Initializing machine ID from D-Bus machine ID.");
+ return 0;
+ }
}
}
@@ -112,7 +116,7 @@ static int generate(char id[34]) {
* $container_uuid the way libvirt/LXC does it */
r = detect_container(NULL);
if (r > 0) {
- char *e;
+ _cleanup_free_ char *e = NULL;
r = getenv_for_pid(1, "container_uuid", &e);
if (r > 0) {
@@ -120,12 +124,9 @@ static int generate(char id[34]) {
r = shorten_uuid(id, e);
if (r >= 0) {
log_info("Initializing machine ID from container UUID.");
- free(e);
return 0;
}
}
-
- free(e);
}
}
@@ -150,62 +151,57 @@ static int generate(char id[34]) {
}
int machine_id_setup(void) {
- int fd, r;
+ _cleanup_close_ int fd = -1;
+ int r;
bool writable;
struct stat st;
char id[34]; /* 32 + \n + \0 */
- mode_t m;
-
- m = umask(0000);
-
- /* We create this 0444, to indicate that this isn't really
- * something you should ever modify. Of course, since the file
- * will be owned by root it doesn't matter much, but maybe
- * people look. */
-
- fd = open("/etc/machine-id", O_RDWR|O_CREAT|O_CLOEXEC|O_NOCTTY, 0444);
- if (fd >= 0)
- writable = true;
- else {
- fd = open("/etc/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY);
- if (fd < 0) {
- umask(m);
- log_error("Cannot open /etc/machine-id: %m");
- return -errno;
- }
- writable = false;
- }
+ RUN_WITH_UMASK(0000) {
+ /* We create this 0444, to indicate that this isn't really
+ * something you should ever modify. Of course, since the file
+ * will be owned by root it doesn't matter much, but maybe
+ * people look. */
+
+ fd = open("/etc/machine-id", O_RDWR|O_CREAT|O_CLOEXEC|O_NOCTTY, 0444);
+ if (fd >= 0)
+ writable = true;
+ else {
+ fd = open("/etc/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY);
+ if (fd < 0) {
+ log_error("Cannot open /etc/machine-id: %m");
+ return -errno;
+ }
- umask(m);
+ writable = false;
+ }
+ }
if (fstat(fd, &st) < 0) {
log_error("fstat() failed: %m");
- r = -errno;
- goto finish;
+ return -errno;
}
- if (S_ISREG(st.st_mode)) {
- if (loop_read(fd, id, 32, false) >= 32) {
- r = 0;
- goto finish;
+ if (S_ISREG(st.st_mode))
+ if (loop_read(fd, id, 33, false) == 33 && id[32] == '\n') {
+ id[32] = 0;
+
+ if (id128_is_valid(id))
+ return 0;
}
- }
/* Hmm, so, the id currently stored is not useful, then let's
* generate one */
r = generate(id);
if (r < 0)
- goto finish;
+ return r;
if (S_ISREG(st.st_mode) && writable) {
lseek(fd, 0, SEEK_SET);
- if (loop_write(fd, id, 33, false) == 33) {
- r = 0;
- goto finish;
- }
+ if (loop_write(fd, id, 33, false) == 33)
+ return 0;
}
close_nointr_nofail(fd);
@@ -214,33 +210,28 @@ int machine_id_setup(void) {
/* Hmm, we couldn't write it? So let's write it to
* /run/machine-id as a replacement */
- m = umask(0022);
- r = write_one_line_file("/run/machine-id", id);
- umask(m);
-
+ RUN_WITH_UMASK(0022) {
+ r = write_string_file("/run/machine-id", id);
+ }
if (r < 0) {
log_error("Cannot write /run/machine-id: %s", strerror(-r));
-
unlink("/run/machine-id");
- goto finish;
+ return r;
}
/* And now, let's mount it over */
- r = mount("/run/machine-id", "/etc/machine-id", NULL, MS_BIND, NULL) < 0 ? -errno : 0;
+ r = mount("/run/machine-id", "/etc/machine-id", NULL, MS_BIND, NULL);
if (r < 0) {
- unlink("/run/machine-id");
- log_error("Failed to mount /etc/machine-id: %s", strerror(-r));
- } else {
- log_info("Installed transient /etc/machine-id file.");
-
- /* Mark the mount read-only */
- mount(NULL, "/etc/machine-id", NULL, MS_BIND|MS_RDONLY|MS_REMOUNT, NULL);
+ log_error("Failed to mount /etc/machine-id: %m");
+ unlink_noerrno("/run/machine-id");
+ return -errno;
}
-finish:
+ log_info("Installed transient /etc/machine-id file.");
- if (fd >= 0)
- close_nointr_nofail(fd);
+ /* Mark the mount read-only */
+ if (mount(NULL, "/etc/machine-id", NULL, MS_BIND|MS_RDONLY|MS_REMOUNT, NULL) < 0)
+ log_warning("Failed to make transient /etc/machine-id read-only: %m");
- return r;
+ return 0;
}
diff --git a/src/core/macros.systemd.in b/src/core/macros.systemd.in
index 647cce6913..f77082c2db 100644
--- a/src/core/macros.systemd.in
+++ b/src/core/macros.systemd.in
@@ -61,11 +61,11 @@ fi \
%{nil}
%udev_hwdb_update() \
-@bindir@/udevadm hwdb --update >/dev/null 2>&1 || : \
+@rootbindir@/udevadm hwdb --update >/dev/null 2>&1 || : \
%{nil}
%udev_rules_update() \
-@bindir@/udevadm control --reload >/dev/null 2>&1 || : \
+@rootbindir@/udevadm control --reload >/dev/null 2>&1 || : \
%{nil}
%journal_catalog_update() \
diff --git a/src/core/main.c b/src/core/main.c
index 1ee3c9c0e8..7fc06bea05 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -40,7 +40,7 @@
#include "fdset.h"
#include "special.h"
#include "conf-parser.h"
-#include "bus-errors.h"
+#include "dbus-common.h"
#include "missing.h"
#include "label.h"
#include "build.h"
@@ -52,6 +52,10 @@
#include "switch-root.h"
#include "capability.h"
#include "killall.h"
+#include "env-util.h"
+#include "hwclock.h"
+#include "sd-daemon.h"
+#include "sd-messages.h"
#include "mount-setup.h"
#include "loopback-setup.h"
@@ -61,10 +65,11 @@
#include "hostname-setup.h"
#include "machine-id-setup.h"
#include "locale-setup.h"
-#include "hwclock.h"
#include "selinux-setup.h"
#include "ima-setup.h"
-#include "sd-daemon.h"
+#include "fileio.h"
+#include "smack-setup.h"
+#include "efivars.h"
static enum {
ACTION_RUN,
@@ -104,20 +109,21 @@ _noreturn_ static void crash(int sig) {
if (!arg_dump_core)
log_error("Caught <%s>, not dumping core.", signal_to_string(sig));
else {
- struct sigaction sa;
+ struct sigaction sa = {
+ .sa_handler = nop_handler,
+ .sa_flags = SA_NOCLDSTOP|SA_RESTART,
+ };
pid_t pid;
/* We want to wait for the core process, hence let's enable SIGCHLD */
- zero(sa);
- sa.sa_handler = nop_handler;
- sa.sa_flags = SA_NOCLDSTOP|SA_RESTART;
assert_se(sigaction(SIGCHLD, &sa, NULL) == 0);
- if ((pid = fork()) < 0)
+ pid = fork();
+ if (pid < 0)
log_error("Caught <%s>, cannot fork for core dump: %s", signal_to_string(sig), strerror(errno));
else if (pid == 0) {
- struct rlimit rl;
+ struct rlimit rl = {};
/* Enable default signal handler for core dump */
zero(sa);
@@ -125,7 +131,6 @@ _noreturn_ static void crash(int sig) {
assert_se(sigaction(sig, &sa, NULL) == 0);
/* Don't limit the core dump size */
- zero(rl);
rl.rlim_cur = RLIM_INFINITY;
rl.rlim_max = RLIM_INFINITY;
setrlimit(RLIMIT_CORE, &rl);
@@ -144,7 +149,8 @@ _noreturn_ static void crash(int sig) {
int r;
/* Order things nicely. */
- if ((r = wait_for_terminate(pid, &status)) < 0)
+ r = wait_for_terminate(pid, &status);
+ if (r < 0)
log_error("Caught <%s>, waitpid() failed: %s", signal_to_string(sig), strerror(-r));
else if (status.si_code != CLD_DUMPED)
log_error("Caught <%s>, core dump failed.", signal_to_string(sig));
@@ -157,16 +163,16 @@ _noreturn_ static void crash(int sig) {
chvt(arg_crash_chvt);
if (arg_crash_shell) {
- struct sigaction sa;
+ struct sigaction sa = {
+ .sa_handler = SIG_IGN,
+ .sa_flags = SA_NOCLDSTOP|SA_NOCLDWAIT|SA_RESTART,
+ };
pid_t pid;
log_info("Executing crash shell in 10s...");
sleep(10);
/* Let the kernel reap children for us */
- zero(sa);
- sa.sa_handler = SIG_IGN;
- sa.sa_flags = SA_NOCLDSTOP|SA_NOCLDWAIT|SA_RESTART;
assert_se(sigaction(SIGCHLD, &sa, NULL) == 0);
pid = fork();
@@ -188,12 +194,10 @@ _noreturn_ static void crash(int sig) {
}
static void install_crash_handler(void) {
- struct sigaction sa;
-
- zero(sa);
-
- sa.sa_handler = crash;
- sa.sa_flags = SA_NODEFER;
+ struct sigaction sa = {
+ .sa_handler = crash,
+ .sa_flags = SA_NODEFER,
+ };
sigaction_many(&sa, SIGNALS_CRASH_HANDLER, -1);
}
@@ -342,7 +346,8 @@ static int parse_proc_cmdline_word(const char *word) {
else
arg_default_std_error = r;
} else if (startswith(word, "systemd.setenv=")) {
- char *cenv, *eq;
+ _cleanup_free_ char *cenv = NULL;
+ char *eq;
int r;
cenv = strdup(word + 15);
@@ -351,40 +356,58 @@ static int parse_proc_cmdline_word(const char *word) {
eq = strchr(cenv, '=');
if (!eq) {
- r = unsetenv(cenv);
- if (r < 0)
- log_warning("unsetenv failed %m. Ignoring.");
+ if (!env_name_is_valid(cenv))
+ log_warning("Environment variable name '%s' is not valid. Ignoring.", cenv);
+ else {
+ r = unsetenv(cenv);
+ if (r < 0)
+ log_warning("Unsetting environment variable '%s' failed, ignoring: %m", cenv);
+ }
} else {
- *eq = 0;
- r = setenv(cenv, eq + 1, 1);
- if (r < 0)
- log_warning("setenv failed %m. Ignoring.");
+ if (!env_assignment_is_valid(cenv))
+ log_warning("Environment variable assignment '%s' is not valid. Ignoring.", cenv);
+ else {
+ *eq = 0;
+ r = setenv(cenv, eq + 1, 1);
+ if (r < 0)
+ log_warning("Setting environment variable '%s=%s' failed, ignoring: %m", cenv, eq + 1);
+ }
}
- free(cenv);
} else if (startswith(word, "systemd.") ||
(in_initrd() && startswith(word, "rd.systemd."))) {
- log_warning("Unknown kernel switch %s. Ignoring.", word);
-
- log_info("Supported kernel switches:\n"
- "systemd.unit=UNIT Default unit to start\n"
- "rd.systemd.unit=UNIT Default unit to start when run in initrd\n"
- "systemd.dump_core=0|1 Dump core on crash\n"
- "systemd.crash_shell=0|1 Run shell on crash\n"
- "systemd.crash_chvt=N Change to VT #N on crash\n"
- "systemd.confirm_spawn=0|1 Confirm every process spawn\n"
- "systemd.show_status=0|1 Show status updates on the console during bootup\n"
- "systemd.log_target=console|kmsg|journal|journal-or-kmsg|syslog|syslog-or-kmsg|null\n"
- " Log target\n"
- "systemd.log_level=LEVEL Log level\n"
- "systemd.log_color=0|1 Highlight important log messages\n"
- "systemd.log_location=0|1 Include code location in log messages\n"
- "systemd.default_standard_output=null|tty|syslog|syslog+console|kmsg|kmsg+console|journal|journal+console\n"
- " Set default log output for services\n"
- "systemd.default_standard_error=null|tty|syslog|syslog+console|kmsg|kmsg+console|journal|journal+console\n"
- " Set default log error output for services\n"
- "systemd.setenv=ASSIGNMENT Set an environment variable for all spawned processes\n");
+ const char *c;
+
+ /* Ignore systemd.journald.xyz and friends */
+ c = word;
+ if (startswith(c, "rd."))
+ c += 3;
+ if (startswith(c, "systemd."))
+ c += 8;
+ if (c[strcspn(c, ".=")] != '.') {
+
+ log_warning("Unknown kernel switch %s. Ignoring.", word);
+
+ log_info("Supported kernel switches:\n"
+ "systemd.unit=UNIT Default unit to start\n"
+ "rd.systemd.unit=UNIT Default unit to start when run in initrd\n"
+ "systemd.dump_core=0|1 Dump core on crash\n"
+ "systemd.crash_shell=0|1 Run shell on crash\n"
+ "systemd.crash_chvt=N Change to VT #N on crash\n"
+ "systemd.confirm_spawn=0|1 Confirm every process spawn\n"
+ "systemd.show_status=0|1 Show status updates on the console during bootup\n"
+ "systemd.log_target=console|kmsg|journal|journal-or-kmsg|syslog|syslog-or-kmsg|null\n"
+ " Log target\n"
+ "systemd.log_level=LEVEL Log level\n"
+ "systemd.log_color=0|1 Highlight important log messages\n"
+ "systemd.log_location=0|1 Include code location in log messages\n"
+ "systemd.default_standard_output=null|tty|syslog|syslog+console|kmsg|kmsg+console|journal|journal+console\n"
+ " Set default log output for services\n"
+ "systemd.default_standard_error=null|tty|syslog|syslog+console|kmsg|kmsg+console|journal|journal+console\n"
+ " Set default log error output for services\n"
+ "systemd.setenv=ASSIGNMENT Set an environment variable for all spawned processes\n");
+ }
} else if (streq(word, "quiet"))
arg_show_status = false;
@@ -400,87 +423,47 @@ static int parse_proc_cmdline_word(const char *word) {
return 0;
}
-static int config_parse_level2(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
-
- log_set_max_level_from_string(rvalue);
- return 0;
-}
-
-static int config_parse_target(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
-
- log_set_target_from_string(rvalue);
- return 0;
-}
-
-static int config_parse_color(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+#define DEFINE_SETTER(name, func, descr) \
+ static int name(const char *unit, \
+ const char *filename, \
+ unsigned line, \
+ const char *section, \
+ const char *lvalue, \
+ int ltype, \
+ const char *rvalue, \
+ void *data, \
+ void *userdata) { \
+ \
+ int r; \
+ \
+ assert(filename); \
+ assert(lvalue); \
+ assert(rvalue); \
+ \
+ r = func(rvalue); \
+ if (r < 0) \
+ log_syntax(unit, LOG_ERR, filename, line, -r, \
+ "Invalid " descr "'%s': %s", \
+ rvalue, strerror(-r)); \
+ \
+ return 0; \
+ }
- assert(filename);
- assert(lvalue);
- assert(rvalue);
+DEFINE_SETTER(config_parse_level2, log_set_max_level_from_string, "log level")
+DEFINE_SETTER(config_parse_target, log_set_target_from_string, "target")
+DEFINE_SETTER(config_parse_color, log_show_color_from_string, "color" )
+DEFINE_SETTER(config_parse_location, log_show_location_from_string, "location")
- log_show_color_from_string(rvalue);
- return 0;
-}
-static int config_parse_location(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
-
- log_show_location_from_string(rvalue);
- return 0;
-}
-
-static int config_parse_cpu_affinity2(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+static int config_parse_cpu_affinity2(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
char *w;
size_t l;
@@ -508,7 +491,8 @@ static int config_parse_cpu_affinity2(
return log_oom();
if (r < 0 || cpu >= ncpus) {
- log_error("[%s:%u] Failed to parse CPU affinity: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse CPU affinity '%s'", rvalue);
CPU_FREE(c);
return -EBADMSG;
}
@@ -518,7 +502,7 @@ static int config_parse_cpu_affinity2(
if (c) {
if (sched_setaffinity(0, CPU_ALLOC_SIZE(ncpus), c) < 0)
- log_warning("Failed to set CPU affinity: %m");
+ log_warning_unit(unit, "Failed to set CPU affinity: %m");
CPU_FREE(c);
}
@@ -539,22 +523,19 @@ static void strv_free_free(char ***l) {
}
static void free_join_controllers(void) {
- if (!arg_join_controllers)
- return;
-
strv_free_free(arg_join_controllers);
arg_join_controllers = NULL;
}
-static int config_parse_join_controllers(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+static int config_parse_join_controllers(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
unsigned n = 0;
char *state, *w;
@@ -660,8 +641,8 @@ static int parse_config_file(void) {
{ "Manager", "DefaultStandardOutput", config_parse_output, 0, &arg_default_std_output },
{ "Manager", "DefaultStandardError", config_parse_output, 0, &arg_default_std_error },
{ "Manager", "JoinControllers", config_parse_join_controllers, 0, &arg_join_controllers },
- { "Manager", "RuntimeWatchdogSec", config_parse_usec, 0, &arg_runtime_watchdog },
- { "Manager", "ShutdownWatchdogSec", config_parse_usec, 0, &arg_shutdown_watchdog },
+ { "Manager", "RuntimeWatchdogSec", config_parse_sec, 0, &arg_runtime_watchdog },
+ { "Manager", "ShutdownWatchdogSec", config_parse_sec, 0, &arg_shutdown_watchdog },
{ "Manager", "CapabilityBoundingSet", config_parse_bounding_set, 0, &arg_capability_bounding_set_drop },
{ "Manager", "TimerSlackNSec", config_parse_nsec, 0, &arg_timer_slack_nsec },
{ "Manager", "DefaultLimitCPU", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_CPU]},
@@ -683,11 +664,11 @@ static int parse_config_file(void) {
{ NULL, NULL, NULL, 0, NULL }
};
- FILE *f;
+ _cleanup_fclose_ FILE *f;
const char *fn;
int r;
- fn = arg_running_as == SYSTEMD_SYSTEM ? SYSTEM_CONFIG_FILE : USER_CONFIG_FILE;
+ fn = arg_running_as == SYSTEMD_SYSTEM ? PKGSYSCONFDIR "/system.conf" : PKGSYSCONFDIR "/user.conf";
f = fopen(fn, "re");
if (!f) {
if (errno == ENOENT)
@@ -697,17 +678,16 @@ static int parse_config_file(void) {
return 0;
}
- r = config_parse(fn, f, "Manager\0", config_item_table_lookup, (void*) items, false, NULL);
+ r = config_parse(NULL, fn, f, "Manager\0", config_item_table_lookup, (void*) items, false, false, NULL);
if (r < 0)
log_warning("Failed to parse configuration file: %s", strerror(-r));
- fclose(f);
-
return 0;
}
static int parse_proc_cmdline(void) {
- char *line, *w, *state;
+ _cleanup_free_ char *line = NULL;
+ char *w, *state;
int r;
size_t l;
@@ -716,34 +696,27 @@ static int parse_proc_cmdline(void) {
if (detect_container(NULL) > 0)
return 0;
- if ((r = read_one_line_file("/proc/cmdline", &line)) < 0) {
+ r = read_one_line_file("/proc/cmdline", &line);
+ if (r < 0) {
log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r));
return 0;
}
FOREACH_WORD_QUOTED(w, l, line, state) {
- char *word;
+ _cleanup_free_ char *word;
- if (!(word = strndup(w, l))) {
- r = -ENOMEM;
- goto finish;
- }
+ word = strndup(w, l);
+ if (!word)
+ return log_oom();
r = parse_proc_cmdline_word(word);
if (r < 0) {
log_error("Failed on cmdline argument %s: %s", word, strerror(-r));
- free(word);
- goto finish;
+ return r;
}
-
- free(word);
}
- r = 0;
-
-finish:
- free(line);
- return r;
+ return 0;
}
static int parse_argv(int argc, char *argv[]) {
@@ -1069,7 +1042,7 @@ static int version(void) {
return 0;
}
-static int prepare_reexecute(Manager *m, FILE **_f, FDSet **_fds, bool serialize_jobs) {
+static int prepare_reexecute(Manager *m, FILE **_f, FDSet **_fds, bool switching_root) {
FILE *f = NULL;
FDSet *fds = NULL;
int r;
@@ -1094,7 +1067,7 @@ static int prepare_reexecute(Manager *m, FILE **_f, FDSet **_fds, bool serialize
goto fail;
}
- r = manager_serialize(m, f, fds, serialize_jobs);
+ r = manager_serialize(m, f, fds, switching_root);
if (r < 0) {
log_error("Failed to serialize state: %s", strerror(-r));
goto fail;
@@ -1244,14 +1217,14 @@ static int initialize_join_controllers(void) {
return -ENOMEM;
arg_join_controllers[0] = strv_new("cpu", "cpuacct", NULL);
- if (!arg_join_controllers[0])
- return -ENOMEM;
-
arg_join_controllers[1] = strv_new("net_cls", "net_prio", NULL);
- if (!arg_join_controllers[1])
+ arg_join_controllers[2] = NULL;
+
+ if (!arg_join_controllers[0] || !arg_join_controllers[1]) {
+ free_join_controllers();
return -ENOMEM;
+ }
- arg_join_controllers[2] = NULL;
return 0;
}
@@ -1264,6 +1237,10 @@ int main(int argc, char *argv[]) {
bool reexecute = false;
const char *shutdown_verb = NULL;
dual_timestamp initrd_timestamp = { 0ULL, 0ULL };
+ dual_timestamp userspace_timestamp = { 0ULL, 0ULL };
+ dual_timestamp kernel_timestamp = { 0ULL, 0ULL };
+ dual_timestamp firmware_timestamp = { 0ULL, 0ULL };
+ dual_timestamp loader_timestamp = { 0ULL, 0ULL };
static char systemd[] = "systemd";
bool skip_setup = false;
int j;
@@ -1285,22 +1262,19 @@ int main(int argc, char *argv[]) {
}
#endif
+ dual_timestamp_from_monotonic(&kernel_timestamp, 0);
+ dual_timestamp_get(&userspace_timestamp);
+
/* Determine if this is a reexecution or normal bootup. We do
* the full command line parsing much later, so let's just
* have a quick peek here. */
- for (j = 1; j < argc; j++)
- if (streq(argv[j], "--deserialize")) {
- skip_setup = true;
- break;
- }
+ if (strv_find(argv+1, "--deserialize"))
+ skip_setup = true;
/* If we have switched root, do all the special setup
* things */
- for (j = 1; j < argc; j++)
- if (streq(argv[j], "--switched-root")) {
- skip_setup = false;
- break;
- }
+ if (strv_find(argv+1, "--switched-root"))
+ skip_setup = false;
/* If we get started via the /sbin/init symlink then we are
called 'init'. After a subsequent reexecution we are then
@@ -1315,7 +1289,9 @@ int main(int argc, char *argv[]) {
log_show_color(isatty(STDERR_FILENO) > 0);
if (getpid() == 1 && detect_container(NULL) <= 0) {
-
+#ifdef ENABLE_EFI
+ efi_get_boot_timestamps(&userspace_timestamp, &firmware_timestamp, &loader_timestamp);
+#endif
/* Running outside of a container as PID 1 */
arg_running_as = SYSTEMD_SYSTEM;
make_null_stdio();
@@ -1325,7 +1301,7 @@ int main(int argc, char *argv[]) {
if (in_initrd()) {
char *rd_timestamp = NULL;
- dual_timestamp_get(&initrd_timestamp);
+ initrd_timestamp = userspace_timestamp;
asprintf(&rd_timestamp, "%llu %llu",
(unsigned long long) initrd_timestamp.realtime,
(unsigned long long) initrd_timestamp.monotonic);
@@ -1336,10 +1312,13 @@ int main(int argc, char *argv[]) {
}
if (!skip_setup) {
+ mount_setup_early();
if (selinux_setup(&loaded_policy) < 0)
goto finish;
if (ima_setup() < 0)
goto finish;
+ if (smack_setup() < 0)
+ goto finish;
}
if (label_init(NULL) < 0)
@@ -1382,7 +1361,6 @@ int main(int argc, char *argv[]) {
log_set_target(LOG_TARGET_JOURNAL_OR_KMSG);
} else if (getpid() == 1) {
-
/* Running inside a container, as PID 1 */
arg_running_as = SYSTEMD_SYSTEM;
log_set_target(LOG_TARGET_CONSOLE);
@@ -1391,12 +1369,21 @@ int main(int argc, char *argv[]) {
/* For the later on, see above... */
log_set_target(LOG_TARGET_JOURNAL);
- } else {
+ /* clear the kernel timestamp,
+ * because we are in a container */
+ kernel_timestamp.monotonic = 0ULL;
+ kernel_timestamp.realtime = 0ULL;
+ } else {
/* Running as user instance */
arg_running_as = SYSTEMD_USER;
log_set_target(LOG_TARGET_AUTO);
log_open();
+
+ /* clear the kernel timestamp,
+ * because we are not PID 1 */
+ kernel_timestamp.monotonic = 0ULL;
+ kernel_timestamp.realtime = 0ULL;
}
/* Initialize default unit */
@@ -1412,7 +1399,7 @@ int main(int argc, char *argv[]) {
/* Mount /proc, /sys and friends, so that /proc/cmdline and
* /proc/$PID/fd is available. */
- if (geteuid() == 0 && !getenv("SYSTEMD_SKIP_API_MOUNTS")) {
+ if (getpid() == 1) {
r = mount_setup(loaded_policy);
if (r < 0)
goto finish;
@@ -1554,10 +1541,9 @@ int main(int argc, char *argv[]) {
/* Make sure we leave a core dump without panicing the
* kernel. */
- if (getpid() == 1)
+ if (getpid() == 1) {
install_crash_handler();
- if (geteuid() == 0 && !getenv("SYSTEMD_SKIP_API_MOUNTS")) {
r = mount_cgroup_controllers(arg_join_controllers);
if (r < 0)
goto finish;
@@ -1639,12 +1625,14 @@ int main(int argc, char *argv[]) {
m->default_std_error = arg_default_std_error;
m->runtime_watchdog = arg_runtime_watchdog;
m->shutdown_watchdog = arg_shutdown_watchdog;
+ m->userspace_timestamp = userspace_timestamp;
+ m->kernel_timestamp = kernel_timestamp;
+ m->firmware_timestamp = firmware_timestamp;
+ m->loader_timestamp = loader_timestamp;
+ m->initrd_timestamp = initrd_timestamp;
manager_set_default_rlimits(m, arg_default_rlimit);
- if (dual_timestamp_is_set(&initrd_timestamp))
- m->initrd_timestamp = initrd_timestamp;
-
if (arg_default_controllers)
manager_set_default_controllers(m, arg_default_controllers);
@@ -1710,18 +1698,29 @@ int main(int argc, char *argv[]) {
manager_dump_units(m, stdout, "\t");
}
- r = manager_add_job(m, JOB_START, target, JOB_REPLACE, false, &error, &default_unit_job);
- if (r < 0) {
- log_error("Failed to start default target: %s", bus_error(&error, r));
+ r = manager_add_job(m, JOB_START, target, JOB_ISOLATE, false, &error, &default_unit_job);
+ if (r == -EPERM) {
+ log_debug("Default target could not be isolated, starting instead: %s", bus_error(&error, r));
+ dbus_error_free(&error);
+
+ r = manager_add_job(m, JOB_START, target, JOB_REPLACE, false, &error, &default_unit_job);
+ if (r < 0) {
+ log_error("Failed to start default target: %s", bus_error(&error, r));
+ dbus_error_free(&error);
+ goto finish;
+ }
+ } else if (r < 0) {
+ log_error("Failed to isolate default target: %s", bus_error(&error, r));
dbus_error_free(&error);
goto finish;
}
+
m->default_unit_job_id = default_unit_job->id;
after_startup = now(CLOCK_MONOTONIC);
log_full(arg_action == ACTION_TEST ? LOG_INFO : LOG_DEBUG,
"Loaded units and determined initial transaction in %s.",
- format_timespan(timespan, sizeof(timespan), after_startup - before_startup));
+ format_timespan(timespan, sizeof(timespan), after_startup - before_startup, 0));
if (arg_action == ACTION_TEST) {
printf("-> By jobs:\n");
@@ -1754,7 +1753,7 @@ int main(int argc, char *argv[]) {
case MANAGER_REEXECUTE:
- if (prepare_reexecute(m, &serialization, &fds, true) < 0)
+ if (prepare_reexecute(m, &serialization, &fds, false) < 0)
goto finish;
reexecute = true;
@@ -1768,7 +1767,7 @@ int main(int argc, char *argv[]) {
m->switch_root = m->switch_root_init = NULL;
if (!switch_root_init)
- if (prepare_reexecute(m, &serialization, &fds, false) < 0)
+ if (prepare_reexecute(m, &serialization, &fds, true) < 0)
goto finish;
reexecute = true;
diff --git a/src/core/manager.c b/src/core/manager.c
index df0fd63e87..c7f8f20a70 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -70,6 +70,7 @@
#include "cgroup-util.h"
#include "path-util.h"
#include "audit-fd.h"
+#include "env-util.h"
/* As soon as 16 units are in our GC queue, make sure to run a gc sweep */
#define GC_QUEUE_ENTRIES_MAX 16
@@ -77,18 +78,28 @@
/* As soon as 5s passed since a unit was added to our GC queue, make sure to run a gc sweep */
#define GC_QUEUE_USEC_MAX (10*USEC_PER_SEC)
+/* Initial delay and the interval for printing status messages about running jobs */
+#define JOBS_IN_PROGRESS_WAIT_SEC 5
+#define JOBS_IN_PROGRESS_PERIOD_SEC 1
+#define JOBS_IN_PROGRESS_PERIOD_DIVISOR 3
+
/* Where clients shall send notification messages to */
#define NOTIFY_SOCKET "@/org/freedesktop/systemd1/notify"
+#define TIME_T_MAX (time_t)((1UL << ((sizeof(time_t) << 3) - 1)) - 1)
+
static int manager_setup_notify(Manager *m) {
union {
struct sockaddr sa;
struct sockaddr_un un;
- } sa;
- struct epoll_event ev;
- int one = 1;
-
- assert(m);
+ } sa = {
+ .sa.sa_family = AF_UNIX,
+ };
+ struct epoll_event ev = {
+ .events = EPOLLIN,
+ .data.ptr = &m->notify_watch,
+ };
+ int one = 1, r;
m->notify_watch.type = WATCH_NOTIFY;
m->notify_watch.fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
@@ -97,9 +108,6 @@ static int manager_setup_notify(Manager *m) {
return -errno;
}
- zero(sa);
- sa.sa.sa_family = AF_UNIX;
-
if (getpid() != 1 || detect_container(NULL) > 0)
snprintf(sa.un.sun_path, sizeof(sa.un.sun_path), NOTIFY_SOCKET "/%llu", random_ull());
else
@@ -107,22 +115,22 @@ static int manager_setup_notify(Manager *m) {
sa.un.sun_path[0] = 0;
- if (bind(m->notify_watch.fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1)) < 0) {
+ r = bind(m->notify_watch.fd, &sa.sa,
+ offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1));
+ if (r < 0) {
log_error("bind() failed: %m");
return -errno;
}
- if (setsockopt(m->notify_watch.fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one)) < 0) {
+ r = setsockopt(m->notify_watch.fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one));
+ if (r < 0) {
log_error("SO_PASSCRED failed: %m");
return -errno;
}
- zero(ev);
- ev.events = EPOLLIN;
- ev.data.ptr = &m->notify_watch;
-
- if (epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, m->notify_watch.fd, &ev) < 0) {
- log_error("Failed to add timer change fd to epoll: %m");
+ r = epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, m->notify_watch.fd, &ev);
+ if (r < 0) {
+ log_error("Failed to add notification socket fd to epoll: %m");
return -errno;
}
@@ -136,11 +144,151 @@ static int manager_setup_notify(Manager *m) {
return 0;
}
+static int manager_jobs_in_progress_mod_timer(Manager *m) {
+ struct itimerspec its = {
+ .it_value.tv_sec = JOBS_IN_PROGRESS_WAIT_SEC,
+ .it_interval.tv_sec = JOBS_IN_PROGRESS_PERIOD_SEC,
+ };
+
+ if (m->jobs_in_progress_watch.type != WATCH_JOBS_IN_PROGRESS)
+ return 0;
+
+ if (timerfd_settime(m->jobs_in_progress_watch.fd, 0, &its, NULL) < 0)
+ return -errno;
+
+ return 0;
+}
+
+static int manager_watch_jobs_in_progress(Manager *m) {
+ struct epoll_event ev = {
+ .events = EPOLLIN,
+ .data.ptr = &m->jobs_in_progress_watch,
+ };
+ int r;
+
+ if (m->jobs_in_progress_watch.type != WATCH_INVALID)
+ return 0;
+
+ m->jobs_in_progress_watch.type = WATCH_JOBS_IN_PROGRESS;
+ m->jobs_in_progress_watch.fd = timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK|TFD_CLOEXEC);
+ if (m->jobs_in_progress_watch.fd < 0) {
+ log_error("Failed to create timerfd: %m");
+ r = -errno;
+ goto err;
+ }
+
+ r = manager_jobs_in_progress_mod_timer(m);
+ if (r < 0) {
+ log_error("Failed to set up timer for jobs progress watch: %s", strerror(-r));
+ goto err;
+ }
+
+ if (epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, m->jobs_in_progress_watch.fd, &ev) < 0) {
+ log_error("Failed to add jobs progress timer fd to epoll: %m");
+ r = -errno;
+ goto err;
+ }
+
+ log_debug("Set up jobs progress timerfd.");
+
+ return 0;
+
+err:
+ if (m->jobs_in_progress_watch.fd >= 0)
+ close_nointr_nofail(m->jobs_in_progress_watch.fd);
+ watch_init(&m->jobs_in_progress_watch);
+ return r;
+}
+
+static void manager_unwatch_jobs_in_progress(Manager *m) {
+ if (m->jobs_in_progress_watch.type != WATCH_JOBS_IN_PROGRESS)
+ return;
+
+ assert_se(epoll_ctl(m->epoll_fd, EPOLL_CTL_DEL, m->jobs_in_progress_watch.fd, NULL) >= 0);
+ close_nointr_nofail(m->jobs_in_progress_watch.fd);
+ watch_init(&m->jobs_in_progress_watch);
+ m->jobs_in_progress_iteration = 0;
+
+ log_debug("Closed jobs progress timerfd.");
+}
+
+#define CYLON_BUFFER_EXTRA (2*strlen(ANSI_RED_ON) + strlen(ANSI_HIGHLIGHT_RED_ON) + 2*strlen(ANSI_HIGHLIGHT_OFF))
+static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos) {
+ char *p = buffer;
+
+ assert(buflen >= CYLON_BUFFER_EXTRA + width + 1);
+ assert(pos <= width+1); /* 0 or width+1 mean that the center light is behind the corner */
+
+ if (pos > 1) {
+ if (pos > 2)
+ p = mempset(p, ' ', pos-2);
+ p = stpcpy(p, ANSI_RED_ON);
+ *p++ = '*';
+ }
+
+ if (pos > 0 && pos <= width) {
+ p = stpcpy(p, ANSI_HIGHLIGHT_RED_ON);
+ *p++ = '*';
+ }
+
+ p = stpcpy(p, ANSI_HIGHLIGHT_OFF);
+
+ if (pos < width) {
+ p = stpcpy(p, ANSI_RED_ON);
+ *p++ = '*';
+ if (pos < width-1)
+ p = mempset(p, ' ', width-1-pos);
+ p = stpcpy(p, ANSI_HIGHLIGHT_OFF);
+ }
+}
+
+static void manager_print_jobs_in_progress(Manager *m) {
+ Iterator i;
+ Job *j;
+ char *job_of_n = NULL;
+ unsigned counter = 0, print_nr;
+ char cylon[6 + CYLON_BUFFER_EXTRA + 1];
+ unsigned cylon_pos;
+
+ print_nr = (m->jobs_in_progress_iteration / JOBS_IN_PROGRESS_PERIOD_DIVISOR) % m->n_running_jobs;
+
+ HASHMAP_FOREACH(j, m->jobs, i)
+ if (j->state == JOB_RUNNING && counter++ == print_nr)
+ break;
+
+ /* m->n_running_jobs must be consistent with the contents of m->jobs,
+ * so the above loop must have succeeded in finding j. */
+ assert(counter == print_nr + 1);
+
+ cylon_pos = m->jobs_in_progress_iteration % 14;
+ if (cylon_pos >= 8)
+ cylon_pos = 14 - cylon_pos;
+ draw_cylon(cylon, sizeof(cylon), 6, cylon_pos);
+
+ if (m->n_running_jobs > 1)
+ if (asprintf(&job_of_n, "(%u of %u) ", counter, m->n_running_jobs) < 0)
+ job_of_n = NULL;
+
+ manager_status_printf(m, true, cylon, "%sA %s job is running for %s",
+ strempty(job_of_n), job_type_to_string(j->type), unit_description(j->unit));
+ free(job_of_n);
+
+ m->jobs_in_progress_iteration++;
+}
+
static int manager_setup_time_change(Manager *m) {
- struct epoll_event ev;
- struct itimerspec its;
+ struct epoll_event ev = {
+ .events = EPOLLIN,
+ .data.ptr = &m->time_change_watch,
+ };
+
+ /* We only care for the cancellation event, hence we set the
+ * timeout to the latest possible value. */
+ struct itimerspec its = {
+ .it_value.tv_sec = TIME_T_MAX,
+ };
+ assert_cc(sizeof(time_t) == sizeof(TIME_T_MAX));
- assert(m);
assert(m->time_change_watch.type == WATCH_INVALID);
/* Uses TFD_TIMER_CANCEL_ON_SET to get notifications whenever
@@ -153,13 +301,6 @@ static int manager_setup_time_change(Manager *m) {
return -errno;
}
- zero(its);
-
- /* We only care for the cancellation event, hence we set the
- * timeout to the latest possible value. */
- assert_cc(sizeof(time_t) == sizeof(long));
- its.it_value.tv_sec = LONG_MAX;
-
if (timerfd_settime(m->time_change_watch.fd, TFD_TIMER_ABSTIME|TFD_TIMER_CANCEL_ON_SET, &its, NULL) < 0) {
log_debug("Failed to set up TFD_TIMER_CANCEL_ON_SET, ignoring: %m");
close_nointr_nofail(m->time_change_watch.fd);
@@ -167,10 +308,6 @@ static int manager_setup_time_change(Manager *m) {
return 0;
}
- zero(ev);
- ev.events = EPOLLIN;
- ev.data.ptr = &m->time_change_watch;
-
if (epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, m->time_change_watch.fd, &ev) < 0) {
log_error("Failed to add timer change fd to epoll: %m");
return -errno;
@@ -210,15 +347,18 @@ static int enable_special_signals(Manager *m) {
static int manager_setup_signals(Manager *m) {
sigset_t mask;
- struct epoll_event ev;
- struct sigaction sa;
+ struct epoll_event ev = {
+ .events = EPOLLIN,
+ .data.ptr = &m->signal_watch,
+ };
+ struct sigaction sa = {
+ .sa_handler = SIG_DFL,
+ .sa_flags = SA_NOCLDSTOP|SA_RESTART,
+ };
assert(m);
/* We are not interested in SIGSTOP and friends. */
- zero(sa);
- sa.sa_handler = SIG_DFL;
- sa.sa_flags = SA_NOCLDSTOP|SA_RESTART;
assert_se(sigaction(SIGCHLD, &sa, NULL) == 0);
assert_se(sigemptyset(&mask) == 0);
@@ -260,10 +400,6 @@ static int manager_setup_signals(Manager *m) {
if (m->signal_watch.fd < 0)
return -errno;
- zero(ev);
- ev.events = EPOLLIN;
- ev.data.ptr = &m->signal_watch;
-
if (epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, m->signal_watch.fd, &ev) < 0)
return -errno;
@@ -286,6 +422,9 @@ static void manager_strip_environment(Manager *m) {
* the initrd interface:
* http://www.freedesktop.org/wiki/Software/systemd/InitrdInterface */
strv_remove_prefix(m->environment, "RD_");
+
+ /* Drop invalid entries */
+ strv_env_clean(m->environment);
}
int manager_new(SystemdRunningAs running_as, Manager **_m) {
@@ -300,9 +439,6 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) {
if (!m)
return -ENOMEM;
- dual_timestamp_get(&m->userspace_timestamp);
- dual_timestamp_from_monotonic(&m->kernel_timestamp, 0);
-
m->running_as = running_as;
m->name_data_slot = m->conn_data_slot = m->subscribed_data_slot = -1;
m->exit_code = _MANAGER_EXIT_CODE_INVALID;
@@ -314,6 +450,7 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) {
watch_init(&m->swap_watch);
watch_init(&m->udev_watch);
watch_init(&m->time_change_watch);
+ watch_init(&m->jobs_in_progress_watch);
m->epoll_fd = m->dev_autofs_fd = -1;
m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */
@@ -519,6 +656,9 @@ static void manager_clear_jobs_and_units(Manager *m) {
assert(hashmap_isempty(m->jobs));
assert(hashmap_isempty(m->units));
+
+ m->n_on_console = 0;
+ m->n_running_jobs = 0;
}
void manager_free(Manager *m) {
@@ -554,6 +694,8 @@ void manager_free(Manager *m) {
close_nointr_nofail(m->notify_watch.fd);
if (m->time_change_watch.fd >= 0)
close_nointr_nofail(m->time_change_watch.fd);
+ if (m->jobs_in_progress_watch.fd >= 0)
+ close_nointr_nofail(m->jobs_in_progress_watch.fd);
free(m->notify_socket);
@@ -617,14 +759,15 @@ int manager_coldplug(Manager *m) {
static void manager_build_unit_path_cache(Manager *m) {
char **i;
- DIR *d = NULL;
+ _cleanup_free_ DIR *d = NULL;
int r;
assert(m);
set_free_free(m->unit_path_cache);
- if (!(m->unit_path_cache = set_new(string_hash_func, string_compare_func))) {
+ m->unit_path_cache = set_new(string_hash_func, string_compare_func);
+ if (!m->unit_path_cache) {
log_error("Failed to allocate unit path cache.");
return;
}
@@ -637,7 +780,8 @@ static void manager_build_unit_path_cache(Manager *m) {
d = opendir(*i);
if (!d) {
- log_error("Failed to open directory: %m");
+ if (errno != ENOENT)
+ log_error("Failed to open directory %s: %m", *i);
continue;
}
@@ -653,10 +797,9 @@ static void manager_build_unit_path_cache(Manager *m) {
goto fail;
}
- if ((r = set_put(m->unit_path_cache, p)) < 0) {
- free(p);
+ r = set_consume(m->unit_path_cache, p);
+ if (r < 0)
goto fail;
- }
}
closedir(d);
@@ -670,9 +813,6 @@ fail:
set_free_free(m->unit_path_cache);
m->unit_path_cache = NULL;
-
- if (d)
- closedir(d);
}
int manager_startup(Manager *m, FILE *serialization, FDSet *fds) {
@@ -756,7 +896,7 @@ int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool ove
job_type_collapse(&type, unit);
- tr = transaction_new();
+ tr = transaction_new(mode == JOB_REPLACE_IRREVERSIBLY);
if (!tr)
return -ENOMEM;
@@ -978,6 +1118,10 @@ unsigned manager_dispatch_run_queue(Manager *m) {
}
m->dispatching_run_queue = false;
+
+ if (m->n_running_jobs > 0)
+ manager_watch_jobs_in_progress(m);
+
return n;
}
@@ -1018,30 +1162,29 @@ static int manager_process_notify_fd(Manager *m) {
for (;;) {
char buf[4096];
- struct msghdr msghdr;
- struct iovec iovec;
- struct ucred *ucred;
+ struct iovec iovec = {
+ .iov_base = buf,
+ .iov_len = sizeof(buf)-1,
+ };
+
union {
struct cmsghdr cmsghdr;
uint8_t buf[CMSG_SPACE(sizeof(struct ucred))];
- } control;
+ } control = {};
+
+ struct msghdr msghdr = {
+ .msg_iov = &iovec,
+ .msg_iovlen = 1,
+ .msg_control = &control,
+ .msg_controllen = sizeof(control),
+ };
+ struct ucred *ucred;
Unit *u;
- char **tags;
-
- zero(iovec);
- iovec.iov_base = buf;
- iovec.iov_len = sizeof(buf)-1;
-
- zero(control);
- zero(msghdr);
- msghdr.msg_iov = &iovec;
- msghdr.msg_iovlen = 1;
- msghdr.msg_control = &control;
- msghdr.msg_controllen = sizeof(control);
+ _cleanup_strv_free_ char **tags = NULL;
n = recvmsg(m->notify_watch.fd, &msghdr, MSG_DONTWAIT);
if (n <= 0) {
- if (n >= 0)
+ if (n == 0)
return -EIO;
if (errno == EAGAIN || errno == EINTR)
@@ -1079,8 +1222,6 @@ static int manager_process_notify_fd(Manager *m) {
if (UNIT_VTABLE(u)->notify_message)
UNIT_VTABLE(u)->notify_message(u, ucred->pid, tags);
-
- strv_free(tags);
}
return 0;
@@ -1090,12 +1231,10 @@ static int manager_dispatch_sigchld(Manager *m) {
assert(m);
for (;;) {
- siginfo_t si;
+ siginfo_t si = {};
Unit *u;
int r;
- zero(si);
-
/* First we call waitd() for a PID and do not reap the
* zombie. That way we can still access /proc/$PID for
* it while it is a zombie. */
@@ -1114,7 +1253,7 @@ static int manager_dispatch_sigchld(Manager *m) {
break;
if (si.si_code == CLD_EXITED || si.si_code == CLD_KILLED || si.si_code == CLD_DUMPED) {
- char _cleanup_free_ *name = NULL;
+ _cleanup_free_ char *name = NULL;
get_process_comm(si.si_pid, &name);
log_debug("Got SIGCHLD for process %lu (%s)", (unsigned long) si.si_pid, strna(name));
@@ -1505,6 +1644,8 @@ static int process_event(Manager *m, struct epoll_event *ev) {
NULL);
/* Restart the watch */
+ epoll_ctl(m->epoll_fd, EPOLL_CTL_DEL, m->time_change_watch.fd,
+ NULL);
close_nointr_nofail(m->time_change_watch.fd);
watch_init(&m->time_change_watch);
manager_setup_time_change(m);
@@ -1517,6 +1658,16 @@ static int process_event(Manager *m, struct epoll_event *ev) {
break;
}
+ case WATCH_JOBS_IN_PROGRESS: {
+ uint64_t v;
+
+ /* not interested in the data */
+ read(w->fd, &v, sizeof(v));
+
+ manager_print_jobs_in_progress(m);
+ break;
+ }
+
default:
log_error("event type=%i", w->type);
assert_not_reached("Unknown epoll event type.");
@@ -1724,7 +1875,8 @@ void manager_send_unit_plymouth(Manager *m, Unit *u) {
/* We set SOCK_NONBLOCK here so that we rather drop the
* message then wait for plymouth */
- if ((fd = socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0)) < 0) {
+ fd = socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
+ if (fd < 0) {
log_error("socket() failed: %m");
return;
}
@@ -1807,7 +1959,6 @@ void manager_dispatch_bus_query_pid_done(
int manager_open_serialization(Manager *m, FILE **_f) {
char *path = NULL;
- mode_t saved_umask;
int fd;
FILE *f;
@@ -1821,9 +1972,9 @@ int manager_open_serialization(Manager *m, FILE **_f) {
if (!path)
return -ENOMEM;
- saved_umask = umask(0077);
- fd = mkostemp(path, O_RDWR|O_CLOEXEC);
- umask(saved_umask);
+ RUN_WITH_UMASK(0077) {
+ fd = mkostemp(path, O_RDWR|O_CLOEXEC);
+ }
if (fd < 0) {
free(path);
@@ -1844,10 +1995,11 @@ int manager_open_serialization(Manager *m, FILE **_f) {
return 0;
}
-int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool serialize_jobs) {
+int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) {
Iterator i;
Unit *u;
const char *t;
+ char **e;
int r;
assert(m);
@@ -1871,6 +2023,16 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool serialize_jobs) {
dual_timestamp_serialize(f, "finish-timestamp", &m->finish_timestamp);
}
+ if (!switching_root) {
+ STRV_FOREACH(e, m->environment) {
+ _cleanup_free_ char *ce;
+
+ ce = cescape(*e);
+ if (ce)
+ fprintf(f, "env=%s\n", *e);
+ }
+ }
+
fputc('\n', f);
HASHMAP_FOREACH_KEY(u, t, m->units, i) {
@@ -1884,7 +2046,7 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool serialize_jobs) {
fputs(u->id, f);
fputc('\n', f);
- if ((r = unit_serialize(u, f, fds, serialize_jobs)) < 0) {
+ if ((r = unit_serialize(u, f, fds, !switching_root)) < 0) {
m->n_reloading --;
return r;
}
@@ -1971,7 +2133,25 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
dual_timestamp_deserialize(l+20, &m->userspace_timestamp);
else if (startswith(l, "finish-timestamp="))
dual_timestamp_deserialize(l+17, &m->finish_timestamp);
- else
+ else if (startswith(l, "env=")) {
+ _cleanup_free_ char *uce = NULL;
+ char **e;
+
+ uce = cunescape(l+4);
+ if (!uce) {
+ r = -ENOMEM;
+ goto finish;
+ }
+
+ e = strv_env_set(m->environment, uce);
+ if (!e) {
+ r = -ENOMEM;
+ goto finish;
+ }
+
+ strv_free(m->environment);
+ m->environment = e;
+ } else
log_debug("Unknown serialization item '%s'", l);
}
@@ -2054,7 +2234,7 @@ int manager_reload(Manager *m) {
goto finish;
}
- r = manager_serialize(m, f, fds, true);
+ r = manager_serialize(m, f, fds, false);
if (r < 0) {
m->n_reloading --;
goto finish;
@@ -2115,7 +2295,7 @@ finish:
return r;
}
-bool manager_is_booting_or_shutting_down(Manager *m) {
+static bool manager_is_booting_or_shutting_down(Manager *m) {
Unit *u;
assert(m);
@@ -2132,6 +2312,12 @@ bool manager_is_booting_or_shutting_down(Manager *m) {
return false;
}
+bool manager_is_reloading_or_reexecuting(Manager *m) {
+ assert(m);
+
+ return m->n_reloading != 0;
+}
+
void manager_reset_failed(Manager *m) {
Unit *u;
Iterator i;
@@ -2142,7 +2328,7 @@ void manager_reset_failed(Manager *m) {
unit_reset_failed(u);
}
-bool manager_unit_pending_inactive(Manager *m, const char *name) {
+bool manager_unit_inactive_or_pending(Manager *m, const char *name) {
Unit *u;
assert(m);
@@ -2153,7 +2339,7 @@ bool manager_unit_pending_inactive(Manager *m, const char *name) {
if (!u)
return true;
- return unit_pending_inactive(u);
+ return unit_inactive_or_pending(u);
}
void manager_check_finished(Manager *m) {
@@ -2162,8 +2348,13 @@ void manager_check_finished(Manager *m) {
assert(m);
- if (hashmap_size(m->jobs) > 0)
+ if (m->n_running_jobs == 0)
+ manager_unwatch_jobs_in_progress(m);
+
+ if (hashmap_size(m->jobs) > 0) {
+ manager_jobs_in_progress_mod_timer(m);
return;
+ }
/* Notify Type=idle units that we are done now */
close_pipe(m->idle_pipe);
@@ -2200,10 +2391,10 @@ void manager_check_finished(Manager *m) {
"INITRD_USEC=%llu", (unsigned long long) initrd_usec,
"USERSPACE_USEC=%llu", (unsigned long long) userspace_usec,
"MESSAGE=Startup finished in %s (kernel) + %s (initrd) + %s (userspace) = %s.",
- format_timespan(kernel, sizeof(kernel), kernel_usec),
- format_timespan(initrd, sizeof(initrd), initrd_usec),
- format_timespan(userspace, sizeof(userspace), userspace_usec),
- format_timespan(sum, sizeof(sum), total_usec),
+ format_timespan(kernel, sizeof(kernel), kernel_usec, USEC_PER_MSEC),
+ format_timespan(initrd, sizeof(initrd), initrd_usec, USEC_PER_MSEC),
+ format_timespan(userspace, sizeof(userspace), userspace_usec, USEC_PER_MSEC),
+ format_timespan(sum, sizeof(sum), total_usec, USEC_PER_MSEC),
NULL);
} else {
kernel_usec = m->userspace_timestamp.monotonic - m->kernel_timestamp.monotonic;
@@ -2215,9 +2406,9 @@ void manager_check_finished(Manager *m) {
"KERNEL_USEC=%llu", (unsigned long long) kernel_usec,
"USERSPACE_USEC=%llu", (unsigned long long) userspace_usec,
"MESSAGE=Startup finished in %s (kernel) + %s (userspace) = %s.",
- format_timespan(kernel, sizeof(kernel), kernel_usec),
- format_timespan(userspace, sizeof(userspace), userspace_usec),
- format_timespan(sum, sizeof(sum), total_usec),
+ format_timespan(kernel, sizeof(kernel), kernel_usec, USEC_PER_MSEC),
+ format_timespan(userspace, sizeof(userspace), userspace_usec, USEC_PER_MSEC),
+ format_timespan(sum, sizeof(sum), total_usec, USEC_PER_MSEC),
NULL);
}
} else {
@@ -2229,7 +2420,7 @@ void manager_check_finished(Manager *m) {
MESSAGE_ID(SD_MESSAGE_STARTUP_FINISHED),
"USERSPACE_USEC=%llu", (unsigned long long) userspace_usec,
"MESSAGE=Startup finished in %s.",
- format_timespan(sum, sizeof(sum), total_usec),
+ format_timespan(sum, sizeof(sum), total_usec, USEC_PER_MSEC),
NULL);
}
@@ -2237,7 +2428,7 @@ void manager_check_finished(Manager *m) {
sd_notifyf(false,
"READY=1\nSTATUS=Startup finished in %s.",
- format_timespan(sum, sizeof(sum), total_usec));
+ format_timespan(sum, sizeof(sum), total_usec, USEC_PER_MSEC));
}
static int create_generator_dir(Manager *m, char **generator, const char *name) {
@@ -2259,7 +2450,8 @@ static int create_generator_dir(Manager *m, char **generator, const char *name)
r = mkdir_p_label(p, 0755);
if (r < 0) {
- log_error("Failed to create generator directory: %s", strerror(-r));
+ log_error("Failed to create generator directory %s: %s",
+ p, strerror(-r));
free(p);
return r;
}
@@ -2269,8 +2461,9 @@ static int create_generator_dir(Manager *m, char **generator, const char *name)
return log_oom();
if (!mkdtemp(p)) {
+ log_error("Failed to create generator directory %s: %m",
+ p);
free(p);
- log_error("Failed to create generator directory: %m");
return -errno;
}
}
@@ -2298,7 +2491,6 @@ void manager_run_generators(Manager *m) {
DIR *d = NULL;
const char *generator_path;
const char *argv[5];
- mode_t u;
int r;
assert(m);
@@ -2309,7 +2501,8 @@ void manager_run_generators(Manager *m) {
if (errno == ENOENT)
return;
- log_error("Failed to enumerate generator directory: %m");
+ log_error("Failed to enumerate generator directory %s: %m",
+ generator_path);
return;
}
@@ -2331,9 +2524,9 @@ void manager_run_generators(Manager *m) {
argv[3] = m->generator_unit_path_late;
argv[4] = NULL;
- u = umask(0022);
- execute_directory(generator_path, d, (char**) argv);
- umask(u);
+ RUN_WITH_UMASK(0022) {
+ execute_directory(generator_path, d, (char**) argv);
+ }
trim_generator_dir(m, &m->generator_unit_path);
trim_generator_dir(m, &m->generator_unit_path_early);
@@ -2439,7 +2632,7 @@ void manager_set_show_status(Manager *m, bool b) {
unlink("/run/systemd/show-status");
}
-bool manager_get_show_status(Manager *m) {
+static bool manager_get_show_status(Manager *m) {
assert(m);
if (m->running_as != SYSTEMD_SYSTEM)
@@ -2454,6 +2647,25 @@ bool manager_get_show_status(Manager *m) {
return plymouth_running();
}
+void manager_status_printf(Manager *m, bool ephemeral, const char *status, const char *format, ...) {
+ va_list ap;
+
+ if (!manager_get_show_status(m))
+ return;
+
+ /* XXX We should totally drop the check for ephemeral here
+ * and thus effectively make 'Type=idle' pointless. */
+ if (ephemeral && m->n_on_console > 0)
+ return;
+
+ if (!manager_is_booting_or_shutting_down(m))
+ return;
+
+ va_start(ap, format);
+ status_vprintf(status, true, ephemeral, format, ap);
+ va_end(ap);
+}
+
void watch_init(Watch *w) {
assert(w);
diff --git a/src/core/manager.h b/src/core/manager.h
index cc4edf8f1e..bf833540ae 100644
--- a/src/core/manager.h
+++ b/src/core/manager.h
@@ -61,7 +61,8 @@ enum WatchType {
WATCH_UDEV,
WATCH_DBUS_WATCH,
WATCH_DBUS_TIMEOUT,
- WATCH_TIME_CHANGE
+ WATCH_TIME_CHANGE,
+ WATCH_JOBS_IN_PROGRESS
};
struct Watch {
@@ -84,6 +85,7 @@ struct Watch {
#include "set.h"
#include "dbus.h"
#include "path-lookup.h"
+#include "execute.h"
struct Manager {
/* Note that the set of units we know of is allowed to be
@@ -127,6 +129,7 @@ struct Manager {
Watch notify_watch;
Watch signal_watch;
Watch time_change_watch;
+ Watch jobs_in_progress_watch;
int epoll_fd;
@@ -225,6 +228,11 @@ struct Manager {
unsigned n_installed_jobs;
unsigned n_failed_jobs;
+ /* Jobs in progress watching */
+ unsigned n_running_jobs;
+ unsigned n_on_console;
+ unsigned jobs_in_progress_iteration;
+
/* Type=idle pipes */
int idle_pipe[2];
@@ -270,20 +278,20 @@ void manager_dispatch_bus_query_pid_done(Manager *m, const char *name, pid_t pid
int manager_open_serialization(Manager *m, FILE **_f);
-int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool serialize_jobs);
+int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root);
int manager_deserialize(Manager *m, FILE *f, FDSet *fds);
int manager_distribute_fds(Manager *m, FDSet *fds);
int manager_reload(Manager *m);
-bool manager_is_booting_or_shutting_down(Manager *m);
+bool manager_is_reloading_or_reexecuting(Manager *m) _pure_;
void manager_reset_failed(Manager *m);
void manager_send_unit_audit(Manager *m, Unit *u, int type, bool success);
void manager_send_unit_plymouth(Manager *m, Unit *u);
-bool manager_unit_pending_inactive(Manager *m, const char *name);
+bool manager_unit_inactive_or_pending(Manager *m, const char *name);
void manager_check_finished(Manager *m);
@@ -293,6 +301,6 @@ void manager_undo_generators(Manager *m);
void manager_recheck_journal(Manager *m);
void manager_set_show_status(Manager *m, bool b);
-bool manager_get_show_status(Manager *m);
+void manager_status_printf(Manager *m, bool ephemeral, const char *status, const char *format, ...) _printf_attr_(4,5);
void watch_init(Watch *w);
diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c
index 98614d0c3e..4629808a7a 100644
--- a/src/core/mount-setup.c
+++ b/src/core/mount-setup.c
@@ -41,6 +41,7 @@
#include "path-util.h"
#include "missing.h"
#include "virt.h"
+#include "efivars.h"
#ifndef TTY_GID
#define TTY_GID 5
@@ -65,7 +66,7 @@ typedef struct MountPoint {
/* The first three entries we might need before SELinux is up. The
* fourth (securityfs) is needed by IMA to load a custom policy. The
* other ones we can delay until SELinux and IMA are loaded. */
-#define N_EARLY_MOUNT 4
+#define N_EARLY_MOUNT 5
static const MountPoint mount_table[] = {
{ "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
@@ -76,8 +77,8 @@ static const MountPoint mount_table[] = {
NULL, MNT_FATAL|MNT_IN_CONTAINER },
{ "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
NULL, MNT_NONE },
- { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
- is_efiboot, MNT_NONE },
+ { "smackfs", "/sys/fs/smackfs", "smackfs", "smackfsdef=*", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME,
+ NULL, MNT_NONE },
{ "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME,
NULL, MNT_FATAL|MNT_IN_CONTAINER },
{ "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC,
@@ -86,8 +87,18 @@ static const MountPoint mount_table[] = {
NULL, MNT_FATAL|MNT_IN_CONTAINER },
{ "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME,
NULL, MNT_IN_CONTAINER },
+#ifdef HAVE_XATTR
+ { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd,xattr", MS_NOSUID|MS_NOEXEC|MS_NODEV,
+ NULL, MNT_IN_CONTAINER },
+#endif
{ "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV,
NULL, MNT_IN_CONTAINER },
+ { "pstore", "/sys/fs/pstore", "pstore", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
+ NULL, MNT_NONE },
+#ifdef ENABLE_EFI
+ { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
+ is_efi_boot, MNT_NONE },
+#endif
};
/* These are API file systems that might be mounted by other software,
@@ -200,9 +211,9 @@ int mount_setup_early(void) {
int mount_cgroup_controllers(char ***join_controllers) {
int r;
- FILE *f;
char buf[LINE_MAX];
- Set *controllers;
+ _cleanup_set_free_free_ Set *controllers = NULL;
+ _cleanup_fclose_ FILE *f;
/* Mount all available cgroup controllers that are built into the kernel. */
@@ -213,10 +224,8 @@ int mount_cgroup_controllers(char ***join_controllers) {
}
controllers = set_new(string_hash_func, string_compare_func);
- if (!controllers) {
- r = log_oom();
- goto finish;
- }
+ if (!controllers)
+ return log_oom();
/* Ignore the header line */
(void) fgets(buf, sizeof(buf), f);
@@ -231,8 +240,7 @@ int mount_cgroup_controllers(char ***join_controllers) {
break;
log_error("Failed to parse /proc/cgroups.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
if (!enabled) {
@@ -240,18 +248,22 @@ int mount_cgroup_controllers(char ***join_controllers) {
continue;
}
- r = set_put(controllers, controller);
+ r = set_consume(controllers, controller);
if (r < 0) {
log_error("Failed to add controller to set.");
- free(controller);
- goto finish;
+ return r;
}
}
for (;;) {
- MountPoint p;
- char *controller, *where, *options;
+ MountPoint p = {
+ .what = "cgroup",
+ .type = "cgroup",
+ .flags = MS_NOSUID|MS_NOEXEC|MS_NODEV,
+ .mode = MNT_IN_CONTAINER,
+ };
char ***k = NULL;
+ _cleanup_free_ char *options = NULL, *controller;
controller = set_steal_first(controllers);
if (!controller)
@@ -268,14 +280,13 @@ int mount_cgroup_controllers(char ***join_controllers) {
for (i = *k, j = *k; *i; i++) {
if (!streq(*i, controller)) {
- char *t;
+ char _cleanup_free_ *t;
t = set_remove(controllers, *i);
if (!t) {
free(*i);
continue;
}
- free(t);
}
*(j++) = *i;
@@ -284,76 +295,36 @@ int mount_cgroup_controllers(char ***join_controllers) {
*j = NULL;
options = strv_join(*k, ",");
- if (!options) {
- free(controller);
- r = log_oom();
- goto finish;
- }
-
+ if (!options)
+ return log_oom();
} else {
options = controller;
controller = NULL;
}
- where = strappend("/sys/fs/cgroup/", options);
- if (!where) {
- free(options);
- r = log_oom();
- goto finish;
- }
-
- zero(p);
- p.what = "cgroup";
- p.where = where;
- p.type = "cgroup";
+ p.where = strappenda("/sys/fs/cgroup/", options);
p.options = options;
- p.flags = MS_NOSUID|MS_NOEXEC|MS_NODEV;
r = mount_one(&p, true);
- free(controller);
- free(where);
-
- if (r < 0) {
- free(options);
- goto finish;
- }
+ if (r < 0)
+ return r;
if (r > 0 && k && *k) {
char **i;
for (i = *k; *i; i++) {
- char *t;
-
- t = strappend("/sys/fs/cgroup/", *i);
- if (!t) {
- r = log_oom();
- free(options);
- goto finish;
- }
+ char *t = strappenda("/sys/fs/cgroup/", *i);
r = symlink(options, t);
- free(t);
-
if (r < 0 && errno != EEXIST) {
- log_error("Failed to create symlink: %m");
- r = -errno;
- free(options);
- goto finish;
+ log_error("Failed to create symlink %s: %m", t);
+ return -errno;
}
}
}
-
- free(options);
}
- r = 0;
-
-finish:
- set_free_free(controllers);
-
- fclose(f);
-
- return r;
+ return 0;
}
static int nftw_cb(
@@ -415,7 +386,7 @@ int mount_setup(bool loaded_policy) {
after_relabel = now(CLOCK_MONOTONIC);
log_info("Relabelled /dev and /run in %s.",
- format_timespan(timespan, sizeof(timespan), after_relabel - before_relabel));
+ format_timespan(timespan, sizeof(timespan), after_relabel - before_relabel, 0));
}
/* Create a few default symlinks, which are normally created
@@ -433,9 +404,14 @@ int mount_setup(bool loaded_policy) {
if (mount(NULL, "/", NULL, MS_REC|MS_SHARED, NULL) < 0)
log_warning("Failed to set up the root directory for shared mount propagation: %m");
- /* Create a few directories we always want around */
+ /* Create a few directories we always want around, Note that
+ * sd_booted() checks for /run/systemd/system, so this mkdir
+ * really needs to stay for good, otherwise software that
+ * copied sd-daemon.c into their sources will misdetect
+ * systemd. */
mkdir_label("/run/systemd", 0755);
mkdir_label("/run/systemd/system", 0755);
+ mkdir_label("/run/systemd/inaccessible", 0000);
return 0;
}
diff --git a/src/core/mount.c b/src/core/mount.c
index 5d2b010013..10073b50be 100644
--- a/src/core/mount.c
+++ b/src/core/mount.c
@@ -25,6 +25,7 @@
#include <sys/epoll.h>
#include <signal.h>
+#include "manager.h"
#include "unit.h"
#include "mount.h"
#include "load-fragment.h"
@@ -126,7 +127,7 @@ static void mount_done(Unit *u) {
mount_parameters_done(&m->parameters_proc_self_mountinfo);
mount_parameters_done(&m->parameters_fragment);
- exec_context_done(&m->exec_context);
+ exec_context_done(&m->exec_context, manager_is_reloading_or_reexecuting(u->manager));
exec_command_done_array(m->exec_command, _MOUNT_EXEC_COMMAND_MAX);
m->control_command = NULL;
@@ -135,7 +136,7 @@ static void mount_done(Unit *u) {
unit_unwatch_timer(u, &m->timer_watch);
}
-static MountParameters* get_mount_parameters_fragment(Mount *m) {
+_pure_ static MountParameters* get_mount_parameters_fragment(Mount *m) {
assert(m);
if (m->from_fragment)
@@ -144,7 +145,7 @@ static MountParameters* get_mount_parameters_fragment(Mount *m) {
return NULL;
}
-static MountParameters* get_mount_parameters(Mount *m) {
+_pure_ static MountParameters* get_mount_parameters(Mount *m) {
assert(m);
if (m->from_proc_self_mountinfo)
@@ -292,7 +293,7 @@ static int mount_add_requires_mounts_links(Mount *m) {
}
static char* mount_test_option(const char *haystack, const char *needle) {
- struct mntent me;
+ struct mntent me = { .mnt_opts = (char*) haystack };
assert(needle);
@@ -302,9 +303,6 @@ static char* mount_test_option(const char *haystack, const char *needle) {
if (!haystack)
return NULL;
- zero(me);
- me.mnt_opts = (char*) haystack;
-
return hasmntopt(&me, needle);
}
@@ -329,6 +327,12 @@ static bool mount_is_bind(MountParameters *p) {
if (p->fstype && streq(p->fstype, "bind"))
return true;
+ if (mount_test_option(p->options, "rbind"))
+ return true;
+
+ if (p->fstype && streq(p->fstype, "rbind"))
+ return true;
+
return false;
}
@@ -432,31 +436,49 @@ static int mount_add_quota_links(Mount *m) {
}
static int mount_add_default_dependencies(Mount *m) {
- int r;
+ const char *after, *after2, *online;
MountParameters *p;
- const char *after;
+ int r;
assert(m);
if (UNIT(m)->manager->running_as != SYSTEMD_SYSTEM)
return 0;
- p = get_mount_parameters_fragment(m);
+ p = get_mount_parameters(m);
+
if (!p)
return 0;
if (path_equal(m->where, "/"))
return 0;
- if (mount_is_network(p))
+ if (mount_is_network(p)) {
after = SPECIAL_REMOTE_FS_PRE_TARGET;
- else
+ after2 = SPECIAL_NETWORK_TARGET;
+ online = SPECIAL_NETWORK_ONLINE_TARGET;
+ } else {
after = SPECIAL_LOCAL_FS_PRE_TARGET;
+ after2 = NULL;
+ online = NULL;
+ }
- r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_WANTS, UNIT_AFTER, after, NULL, true);
+ r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after, NULL, true);
if (r < 0)
return r;
+ if (after2) {
+ r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after2, NULL, true);
+ if (r < 0)
+ return r;
+ }
+
+ if (online) {
+ r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_WANTS, UNIT_AFTER, online, NULL, true);
+ if (r < 0)
+ return r;
+ }
+
r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true);
if (r < 0)
return r;
@@ -495,7 +517,7 @@ static int mount_fix_timeouts(Mount *m) {
if (!t)
return -ENOMEM;
- r = parse_usec(t, &u);
+ r = parse_sec(t, &u);
free(t);
if (r < 0) {
@@ -717,9 +739,9 @@ static void mount_set_state(Mount *m, MountState state) {
state == MOUNT_UNMOUNTING_SIGTERM ||
state == MOUNT_UNMOUNTING_SIGKILL ||
state == MOUNT_FAILED) {
- if (state != old_state)
- mount_notify_automount(m, -ENODEV);
- }
+ if (state != old_state)
+ mount_notify_automount(m, -ENODEV);
+ }
if (state != old_state)
log_debug_unit(UNIT(m)->id,
@@ -863,6 +885,7 @@ static void mount_enter_dead(Mount *m, MountResult f) {
if (f != MOUNT_SUCCESS)
m->result = f;
+ exec_context_tmp_dirs_done(&m->exec_context);
mount_set_state(m, m->result != MOUNT_SUCCESS ? MOUNT_FAILED : MOUNT_DEAD);
}
@@ -877,56 +900,23 @@ static void mount_enter_mounted(Mount *m, MountResult f) {
static void mount_enter_signal(Mount *m, MountState state, MountResult f) {
int r;
- Set *pid_set = NULL;
- bool wait_for_exit = false;
assert(m);
if (f != MOUNT_SUCCESS)
m->result = f;
- if (m->kill_context.kill_mode != KILL_NONE) {
- int sig = (state == MOUNT_MOUNTING_SIGTERM ||
- state == MOUNT_UNMOUNTING_SIGTERM ||
- state == MOUNT_REMOUNTING_SIGTERM) ? m->kill_context.kill_signal : SIGKILL;
-
- if (m->control_pid > 0) {
- if (kill_and_sigcont(m->control_pid, sig) < 0 && errno != ESRCH)
-
- log_warning_unit(UNIT(m)->id,
- "Failed to kill control process %li: %m",
- (long) m->control_pid);
- else
- wait_for_exit = true;
- }
-
- if (m->kill_context.kill_mode == KILL_CONTROL_GROUP) {
-
- if (!(pid_set = set_new(trivial_hash_func, trivial_compare_func))) {
- r = -ENOMEM;
- goto fail;
- }
-
- /* Exclude the control pid from being killed via the cgroup */
- if (m->control_pid > 0)
- if ((r = set_put(pid_set, LONG_TO_PTR(m->control_pid))) < 0)
- goto fail;
-
- r = cgroup_bonding_kill_list(UNIT(m)->cgroup_bondings, sig, true, false, pid_set, NULL);
- if (r < 0) {
- if (r != -EAGAIN && r != -ESRCH && r != -ENOENT)
- log_warning_unit(UNIT(m)->id,
- "Failed to kill control group: %s",
- strerror(-r));
- } else if (r > 0)
- wait_for_exit = true;
-
- set_free(pid_set);
- pid_set = NULL;
- }
- }
+ r = unit_kill_context(
+ UNIT(m),
+ &m->kill_context,
+ state != MOUNT_MOUNTING_SIGTERM && state != MOUNT_UNMOUNTING_SIGTERM && state != MOUNT_REMOUNTING_SIGTERM,
+ -1,
+ m->control_pid,
+ false);
+ if (r < 0)
+ goto fail;
- if (wait_for_exit) {
+ if (r > 0) {
r = unit_watch_timer(UNIT(m), CLOCK_MONOTONIC, true, m->timeout_usec, &m->timer_watch);
if (r < 0)
goto fail;
@@ -947,19 +937,20 @@ fail:
mount_enter_mounted(m, MOUNT_FAILURE_RESOURCES);
else
mount_enter_dead(m, MOUNT_FAILURE_RESOURCES);
-
- if (pid_set)
- set_free(pid_set);
}
void warn_if_dir_nonempty(const char *unit, const char* where) {
+ assert(unit);
+ assert(where);
+
if (dir_is_empty(where) > 0)
return;
- log_struct(LOG_NOTICE,
+
+ log_struct_unit(LOG_NOTICE,
+ unit,
"MESSAGE=%s: Directory %s to mount over is not empty, mounting anyway.",
unit, where,
"WHERE=%s", where,
- "_SYSTEMD_UNIT=%s", unit,
MESSAGE_ID(SD_MESSAGE_OVERMOUNTING),
NULL);
}
@@ -1188,6 +1179,8 @@ static int mount_serialize(Unit *u, FILE *f, FDSet *fds) {
if (m->control_command_id >= 0)
unit_serialize_item(u, f, "control-command", mount_exec_command_to_string(m->control_command_id));
+ exec_context_serialize(&m->exec_context, UNIT(m), f);
+
return 0;
}
@@ -1244,7 +1237,22 @@ static int mount_deserialize_item(Unit *u, const char *key, const char *value, F
m->control_command_id = id;
m->control_command = m->exec_command + id;
}
+ } else if (streq(key, "tmp-dir")) {
+ char *t;
+
+ t = strdup(value);
+ if (!t)
+ return log_oom();
+
+ m->exec_context.tmp_dir = t;
+ } else if (streq(key, "var-tmp-dir")) {
+ char *t;
+ t = strdup(value);
+ if (!t)
+ return log_oom();
+
+ m->exec_context.var_tmp_dir = t;
} else
log_debug_unit(UNIT(m)->id,
"Unknown serialization key '%s'", key);
@@ -1252,19 +1260,19 @@ static int mount_deserialize_item(Unit *u, const char *key, const char *value, F
return 0;
}
-static UnitActiveState mount_active_state(Unit *u) {
+_pure_ static UnitActiveState mount_active_state(Unit *u) {
assert(u);
return state_translation_table[MOUNT(u)->state];
}
-static const char *mount_sub_state_to_string(Unit *u) {
+_pure_ static const char *mount_sub_state_to_string(Unit *u) {
assert(u);
return mount_state_to_string(MOUNT(u)->state);
}
-static bool mount_check_gc(Unit *u) {
+_pure_ static bool mount_check_gc(Unit *u) {
Mount *m = MOUNT(u);
assert(m);
@@ -1520,6 +1528,20 @@ static int mount_add_one(
goto fail;
}
+ u->source_path = strdup("/proc/self/mountinfo");
+ if (!u->source_path) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ r = unit_add_dependency_by_name(u, UNIT_BEFORE, SPECIAL_LOCAL_FS_TARGET, NULL, true);
+ if (r < 0)
+ goto fail;
+
+ r = unit_add_dependency_by_name(u, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true);
+ if (r < 0)
+ goto fail;
+
unit_add_to_load_queue(u);
} else {
delete = false;
@@ -1681,25 +1703,27 @@ static void mount_shutdown(Manager *m) {
static int mount_enumerate(Manager *m) {
int r;
- struct epoll_event ev;
assert(m);
if (!m->proc_self_mountinfo) {
- if (!(m->proc_self_mountinfo = fopen("/proc/self/mountinfo", "re")))
+ struct epoll_event ev = {
+ .events = EPOLLPRI,
+ .data.ptr = &m->mount_watch,
+ };
+
+ m->proc_self_mountinfo = fopen("/proc/self/mountinfo", "re");
+ if (!m->proc_self_mountinfo)
return -errno;
m->mount_watch.type = WATCH_MOUNT;
m->mount_watch.fd = fileno(m->proc_self_mountinfo);
- zero(ev);
- ev.events = EPOLLPRI;
- ev.data.ptr = &m->mount_watch;
-
if (epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, m->mount_watch.fd, &ev) < 0)
return -errno;
}
- if ((r = mount_load_proc_self_mountinfo(m, false)) < 0)
+ r = mount_load_proc_self_mountinfo(m, false);
+ if (r < 0)
goto fail;
return 0;
@@ -1800,53 +1824,7 @@ static void mount_reset_failed(Unit *u) {
}
static int mount_kill(Unit *u, KillWho who, int signo, DBusError *error) {
- Mount *m = MOUNT(u);
- int r = 0;
- Set *pid_set = NULL;
-
- assert(m);
-
- if (who == KILL_MAIN) {
- dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "Mount units have no main processes");
- return -ESRCH;
- }
-
- if (m->control_pid <= 0 && who == KILL_CONTROL) {
- dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "No control process to kill");
- return -ESRCH;
- }
-
- if (who == KILL_CONTROL || who == KILL_ALL)
- if (m->control_pid > 0)
- if (kill(m->control_pid, signo) < 0)
- r = -errno;
-
- if (who == KILL_ALL) {
- int q;
-
- pid_set = set_new(trivial_hash_func, trivial_compare_func);
- if (!pid_set)
- return -ENOMEM;
-
- /* Exclude the control pid from being killed via the cgroup */
- if (m->control_pid > 0) {
- q = set_put(pid_set, LONG_TO_PTR(m->control_pid));
- if (q < 0) {
- r = q;
- goto finish;
- }
- }
-
- q = cgroup_bonding_kill_list(UNIT(m)->cgroup_bondings, signo, false, false, pid_set, NULL);
- if (q < 0 && q != -EAGAIN && q != -ESRCH && q != -ENOENT)
- r = q;
- }
-
-finish:
- if (pid_set)
- set_free(pid_set);
-
- return r;
+ return unit_kill_common(u, who, signo, -1, MOUNT(u)->control_pid, error);
}
static const char* const mount_state_table[_MOUNT_STATE_MAX] = {
@@ -1888,13 +1866,15 @@ DEFINE_STRING_TABLE_LOOKUP(mount_result, MountResult);
const UnitVTable mount_vtable = {
.object_size = sizeof(Mount),
- .exec_context_offset = offsetof(Mount, exec_context),
.sections =
"Unit\0"
"Mount\0"
"Install\0",
+ .exec_context_offset = offsetof(Mount, exec_context),
+ .exec_section = "Mount",
+
.no_alias = true,
.no_instances = true,
diff --git a/src/core/mount.h b/src/core/mount.h
index 30c6d9b249..bcc10ee0d4 100644
--- a/src/core/mount.h
+++ b/src/core/mount.h
@@ -111,13 +111,13 @@ extern const UnitVTable mount_vtable;
void mount_fd_event(Manager *m, int events);
-const char* mount_state_to_string(MountState i);
-MountState mount_state_from_string(const char *s);
+const char* mount_state_to_string(MountState i) _const_;
+MountState mount_state_from_string(const char *s) _pure_;
-const char* mount_exec_command_to_string(MountExecCommand i);
-MountExecCommand mount_exec_command_from_string(const char *s);
+const char* mount_exec_command_to_string(MountExecCommand i) _const_;
+MountExecCommand mount_exec_command_from_string(const char *s) _pure_;
-const char* mount_result_to_string(MountResult i);
-MountResult mount_result_from_string(const char *s);
+const char* mount_result_to_string(MountResult i) _const_;
+MountResult mount_result_from_string(const char *s) _pure_;
void warn_if_dir_nonempty(const char *unit, const char* where);
diff --git a/src/core/namespace.c b/src/core/namespace.c
index ba18ddc5b0..7e33d84156 100644
--- a/src/core/namespace.c
+++ b/src/core/namespace.c
@@ -36,23 +36,24 @@
#include "path-util.h"
#include "namespace.h"
#include "missing.h"
+#include "execute.h"
-typedef enum PathMode {
+typedef enum MountMode {
/* This is ordered by priority! */
INACCESSIBLE,
READONLY,
PRIVATE_TMP,
PRIVATE_VAR_TMP,
READWRITE
-} PathMode;
+} MountMode;
-typedef struct Path {
+typedef struct BindMount {
const char *path;
- PathMode mode;
+ MountMode mode;
bool done;
-} Path;
+} BindMount;
-static int append_paths(Path **p, char **strv, PathMode mode) {
+static int append_mounts(BindMount **p, char **strv, MountMode mode) {
char **i;
STRV_FOREACH(i, strv) {
@@ -68,8 +69,8 @@ static int append_paths(Path **p, char **strv, PathMode mode) {
return 0;
}
-static int path_compare(const void *a, const void *b) {
- const Path *p = a, *q = b;
+static int mount_path_compare(const void *a, const void *b) {
+ const BindMount *p = a, *q = b;
if (path_equal(p->path, q->path)) {
@@ -93,14 +94,13 @@ static int path_compare(const void *a, const void *b) {
return 0;
}
-static void drop_duplicates(Path *p, unsigned *n, bool *need_inaccessible) {
- Path *f, *t, *previous;
+static void drop_duplicates(BindMount *m, unsigned *n) {
+ BindMount *f, *t, *previous;
- assert(p);
+ assert(m);
assert(n);
- assert(need_inaccessible);
- for (f = p, t = p, previous = NULL; f < p+*n; f++) {
+ for (f = m, t = m, previous = NULL; f < m+*n; f++) {
/* The first one wins */
if (previous && path_equal(f->path, previous->path))
@@ -109,37 +109,33 @@ static void drop_duplicates(Path *p, unsigned *n, bool *need_inaccessible) {
t->path = f->path;
t->mode = f->mode;
- if (t->mode == INACCESSIBLE)
- *need_inaccessible = true;
-
previous = t;
t++;
}
- *n = t - p;
+ *n = t - m;
}
static int apply_mount(
- Path *p,
+ BindMount *m,
const char *tmp_dir,
- const char *var_tmp_dir,
- const char *inaccessible_dir) {
+ const char *var_tmp_dir) {
const char *what;
int r;
- assert(p);
+ assert(m);
- switch (p->mode) {
+ switch (m->mode) {
case INACCESSIBLE:
- what = inaccessible_dir;
+ what = "/run/systemd/inaccessible";
break;
case READONLY:
case READWRITE:
- what = p->path;
+ what = m->path;
break;
case PRIVATE_TMP:
@@ -156,155 +152,115 @@ static int apply_mount(
assert(what);
- r = mount(what, p->path, NULL, MS_BIND|MS_REC, NULL);
+ r = mount(what, m->path, NULL, MS_BIND|MS_REC, NULL);
if (r >= 0)
- log_debug("Successfully mounted %s to %s", what, p->path);
+ log_debug("Successfully mounted %s to %s", what, m->path);
return r;
}
-static int make_read_only(Path *p) {
+static int make_read_only(BindMount *m) {
int r;
- assert(p);
+ assert(m);
- if (p->mode != INACCESSIBLE && p->mode != READONLY)
+ if (m->mode != INACCESSIBLE && m->mode != READONLY)
return 0;
- r = mount(NULL, p->path, NULL, MS_BIND|MS_REMOUNT|MS_RDONLY|MS_REC, NULL);
+ r = mount(NULL, m->path, NULL, MS_BIND|MS_REMOUNT|MS_RDONLY|MS_REC, NULL);
if (r < 0)
return -errno;
return 0;
}
-int setup_namespace(
- char **writable,
- char **readable,
- char **inaccessible,
- bool private_tmp,
- unsigned long flags) {
-
- char
- tmp_dir[] = "/tmp/systemd-private-XXXXXX",
- var_tmp_dir[] = "/var/tmp/systemd-private-XXXXXX",
- inaccessible_dir[] = "/tmp/systemd-inaccessible-XXXXXX";
-
- Path *paths, *p;
- unsigned n;
- bool need_inaccessible = false;
- bool remove_tmp = false, remove_var_tmp = false, remove_inaccessible = false;
- int r;
-
- if (!flags)
- flags = MS_SHARED;
-
- n =
- strv_length(writable) +
- strv_length(readable) +
- strv_length(inaccessible) +
- (private_tmp ? 2 : 0);
+int setup_tmpdirs(char **tmp_dir,
+ char **var_tmp_dir) {
+ int r = 0;
+ char tmp_dir_template[] = "/tmp/systemd-private-XXXXXX",
+ var_tmp_dir_template[] = "/var/tmp/systemd-private-XXXXXX";
- p = paths = alloca(sizeof(Path) * n);
- if ((r = append_paths(&p, writable, READWRITE)) < 0 ||
- (r = append_paths(&p, readable, READONLY)) < 0 ||
- (r = append_paths(&p, inaccessible, INACCESSIBLE)) < 0)
- goto fail;
-
- if (private_tmp) {
- p->path = "/tmp";
- p->mode = PRIVATE_TMP;
- p++;
-
- p->path = "/var/tmp";
- p->mode = PRIVATE_VAR_TMP;
- p++;
- }
+ assert(tmp_dir);
+ assert(var_tmp_dir);
- assert(paths + n == p);
+ r = create_tmp_dir(tmp_dir_template, tmp_dir);
+ if (r < 0)
+ return r;
- qsort(paths, n, sizeof(Path), path_compare);
- drop_duplicates(paths, &n, &need_inaccessible);
+ r = create_tmp_dir(var_tmp_dir_template, var_tmp_dir);
+ if (r == 0)
+ return 0;
- if (need_inaccessible) {
- mode_t u;
- char *d;
+ /* failure */
+ rmdir(*tmp_dir);
+ rmdir(tmp_dir_template);
+ free(*tmp_dir);
+ *tmp_dir = NULL;
- u = umask(0777);
- d = mkdtemp(inaccessible_dir);
- umask(u);
+ return r;
+}
- if (!d) {
- r = -errno;
- goto fail;
- }
+int setup_namespace(char** read_write_dirs,
+ char** read_only_dirs,
+ char** inaccessible_dirs,
+ char* tmp_dir,
+ char* var_tmp_dir,
+ bool private_tmp,
+ unsigned mount_flags) {
+
+ unsigned n = strv_length(read_write_dirs) +
+ strv_length(read_only_dirs) +
+ strv_length(inaccessible_dirs) +
+ (private_tmp ? 2 : 0);
+ BindMount *m, *mounts;
+ int r = 0;
+
+ if (!mount_flags)
+ mount_flags = MS_SHARED;
+
+ if (unshare(CLONE_NEWNS) < 0)
+ return -errno;
- remove_inaccessible = true;
- }
+ m = mounts = (BindMount *) alloca(n * sizeof(BindMount));
+ if ((r = append_mounts(&m, read_write_dirs, READWRITE)) < 0 ||
+ (r = append_mounts(&m, read_only_dirs, READONLY)) < 0 ||
+ (r = append_mounts(&m, inaccessible_dirs, INACCESSIBLE)) < 0)
+ return r;
if (private_tmp) {
- mode_t u;
- char *d;
-
- u = umask(0000);
- d = mkdtemp(tmp_dir);
- umask(u);
-
- if (!d) {
- r = -errno;
- goto fail;
- }
+ m->path = "/tmp";
+ m->mode = PRIVATE_TMP;
+ m++;
- remove_tmp = true;
-
- u = umask(0000);
- d = mkdtemp(var_tmp_dir);
- umask(u);
-
- if (!d) {
- r = -errno;
- goto fail;
- }
-
- remove_var_tmp = true;
-
- if (chmod(tmp_dir, 0777 + S_ISVTX) < 0) {
- r = -errno;
- goto fail;
- }
-
- if (chmod(var_tmp_dir, 0777 + S_ISVTX) < 0) {
- r = -errno;
- goto fail;
- }
+ m->path = "/var/tmp";
+ m->mode = PRIVATE_VAR_TMP;
+ m++;
}
- if (unshare(CLONE_NEWNS) < 0) {
- r = -errno;
- goto fail;
- }
+ assert(mounts + n == m);
+
+ qsort(mounts, n, sizeof(BindMount), mount_path_compare);
+ drop_duplicates(mounts, &n);
/* Remount / as SLAVE so that nothing now mounted in the namespace
shows up in the parent */
- if (mount(NULL, "/", NULL, MS_SLAVE|MS_REC, NULL) < 0) {
- r = -errno;
- goto fail;
- }
+ if (mount(NULL, "/", NULL, MS_SLAVE|MS_REC, NULL) < 0)
+ return -errno;
- for (p = paths; p < paths + n; p++) {
- r = apply_mount(p, tmp_dir, var_tmp_dir, inaccessible_dir);
+ for (m = mounts; m < mounts + n; ++m) {
+ r = apply_mount(m, tmp_dir, var_tmp_dir);
if (r < 0)
goto undo_mounts;
}
- for (p = paths; p < paths + n; p++) {
- r = make_read_only(p);
+ for (m = mounts; m < mounts + n; ++m) {
+ r = make_read_only(m);
if (r < 0)
goto undo_mounts;
}
/* Remount / as the desired mode */
- if (mount(NULL, "/", NULL, flags|MS_REC, NULL) < 0) {
+ if (mount(NULL, "/", NULL, mount_flags | MS_REC, NULL) < 0) {
r = -errno;
goto undo_mounts;
}
@@ -312,19 +268,10 @@ int setup_namespace(
return 0;
undo_mounts:
- for (p = paths; p < paths + n; p++)
- if (p->done)
- umount2(p->path, MNT_DETACH);
-
-fail:
- if (remove_inaccessible)
- rmdir(inaccessible_dir);
-
- if (remove_tmp)
- rmdir(tmp_dir);
-
- if (remove_var_tmp)
- rmdir(var_tmp_dir);
+ for (m = mounts; m < mounts + n; ++m) {
+ if (m->done)
+ umount2(m->path, MNT_DETACH);
+ }
return r;
}
diff --git a/src/core/namespace.h b/src/core/namespace.h
index 5d72ed91fb..ddb579468d 100644
--- a/src/core/namespace.h
+++ b/src/core/namespace.h
@@ -23,9 +23,11 @@
#include <stdbool.h>
-int setup_namespace(
- char **writable,
- char **readable,
- char **inaccessible,
- bool private_tmp,
- unsigned long flags);
+int setup_tmpdirs(char **tmp_dir, char **var_tmp_dir);
+int setup_namespace(char **read_write_dirs,
+ char **read_only_dirs,
+ char **inaccessible_dirs,
+ char *tmp_dir,
+ char *var_tmp_dir,
+ bool private_tmp,
+ unsigned mount_flags);
diff --git a/src/core/path.c b/src/core/path.c
index 767620ba75..8a09deb4ff 100644
--- a/src/core/path.c
+++ b/src/core/path.c
@@ -31,8 +31,9 @@
#include "mkdir.h"
#include "dbus-path.h"
#include "special.h"
-#include "bus-errors.h"
+#include "dbus-common.h"
#include "path-util.h"
+#include "macro.h"
static const UnitActiveState state_translation_table[_PATH_STATE_MAX] = {
[PATH_DEAD] = UNIT_INACTIVE,
@@ -52,7 +53,7 @@ int path_spec_watch(PathSpec *s, Unit *u) {
};
bool exists = false;
- char *k, *slash;
+ char *slash, *oldslash = NULL;
int r;
assert(u);
@@ -60,47 +61,85 @@ int path_spec_watch(PathSpec *s, Unit *u) {
path_spec_unwatch(s, u);
- if (!(k = strdup(s->path)))
- return -ENOMEM;
-
- if ((s->inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC)) < 0) {
+ s->inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC);
+ if (s->inotify_fd < 0) {
r = -errno;
goto fail;
}
- if (unit_watch_fd(u, s->inotify_fd, EPOLLIN, &s->watch) < 0) {
- r = -errno;
+ r = unit_watch_fd(u, s->inotify_fd, EPOLLIN, &s->watch);
+ if (r < 0)
goto fail;
- }
- s->primary_wd = inotify_add_watch(s->inotify_fd, k, flags_table[s->type]);
- if (s->primary_wd >= 0)
- exists = true;
+ /* This assumes the path was passed through path_kill_slashes()! */
- do {
+ for (slash = strchr(s->path, '/'); ; slash = strchr(slash+1, '/')) {
+ char *cut = NULL;
int flags;
+ char tmp;
+
+ if (slash) {
+ cut = slash + (slash == s->path);
+ tmp = *cut;
+ *cut = '\0';
+
+ flags = IN_MOVE_SELF | IN_DELETE_SELF | IN_ATTRIB | IN_CREATE | IN_MOVED_TO;
+ } else
+ flags = flags_table[s->type];
+
+ r = inotify_add_watch(s->inotify_fd, s->path, flags);
+ if (r < 0) {
+ if (errno == EACCES || errno == ENOENT) {
+ if (cut)
+ *cut = tmp;
+ break;
+ }
+
+ log_warning("Failed to add watch on %s: %m", s->path);
+ r = -errno;
+ if (cut)
+ *cut = tmp;
+ goto fail;
+ } else {
+ exists = true;
- /* This assumes the path was passed through path_kill_slashes()! */
- slash = strrchr(k, '/');
- if (!slash)
- break;
+ /* Path exists, we don't need to watch parent
+ too closely. */
+ if (oldslash) {
+ char *cut2 = oldslash + (oldslash == s->path);
+ char tmp2 = *cut2;
+ *cut2 = '\0';
+
+ inotify_add_watch(s->inotify_fd, s->path, IN_MOVE_SELF);
+ /* Error is ignored, the worst can happen is
+ we get spurious events. */
- /* Trim the path at the last slash. Keep the slash if it's the root dir. */
- slash[slash == k] = 0;
+ *cut2 = tmp2;
+ }
+ }
- flags = IN_MOVE_SELF;
- if (!exists)
- flags |= IN_DELETE_SELF | IN_ATTRIB | IN_CREATE | IN_MOVED_TO;
+ if (cut)
+ *cut = tmp;
- if (inotify_add_watch(s->inotify_fd, k, flags) >= 0)
- exists = true;
- } while (slash != k);
+ if (slash)
+ oldslash = slash;
+ else {
+ /* whole path has been iterated over */
+ s->primary_wd = r;
+ break;
+ }
+ }
+
+ if (!exists) {
+ log_error("Failed to add watch on any of the components of %s: %m",
+ s->path);
+ r = -errno; /* either EACCESS or ENOENT */
+ goto fail;
+ }
return 0;
fail:
- free(k);
-
path_spec_unwatch(s, u);
return r;
}
@@ -117,7 +156,7 @@ void path_spec_unwatch(PathSpec *s, Unit *u) {
}
int path_spec_fd_event(PathSpec *s, uint32_t events) {
- uint8_t *buf = NULL;
+ _cleanup_free_ uint8_t *buf = NULL;
struct inotify_event *e;
ssize_t k;
int l;
@@ -125,30 +164,24 @@ int path_spec_fd_event(PathSpec *s, uint32_t events) {
if (events != EPOLLIN) {
log_error("Got invalid poll event on inotify.");
- r = -EINVAL;
- goto out;
+ return -EINVAL;
}
if (ioctl(s->inotify_fd, FIONREAD, &l) < 0) {
log_error("FIONREAD failed: %m");
- r = -errno;
- goto out;
+ return -errno;
}
assert(l > 0);
buf = malloc(l);
- if (!buf) {
- log_error("Failed to allocate buffer: %m");
- r = -errno;
- goto out;
- }
+ if (!buf)
+ return log_oom();
k = read(s->inotify_fd, buf, l);
if (k < 0) {
log_error("Failed to read inotify event: %m");
- r = -errno;
- goto out;
+ return -errno;
}
e = (struct inotify_event*) buf;
@@ -166,8 +199,7 @@ int path_spec_fd_event(PathSpec *s, uint32_t events) {
e = (struct inotify_event*) ((uint8_t*) e + step);
k -= step;
}
-out:
- free(buf);
+
return r;
}
@@ -248,22 +280,27 @@ static void path_init(Unit *u) {
p->directory_mode = 0755;
}
-static void path_done(Unit *u) {
- Path *p = PATH(u);
+void path_free_specs(Path *p) {
PathSpec *s;
assert(p);
- unit_ref_unset(&p->unit);
-
while ((s = p->specs)) {
- path_spec_unwatch(s, u);
+ path_spec_unwatch(s, UNIT(p));
LIST_REMOVE(PathSpec, spec, p->specs, s);
path_spec_done(s);
free(s);
}
}
+static void path_done(Unit *u) {
+ Path *p = PATH(u);
+
+ assert(p);
+
+ path_free_specs(p);
+}
+
int path_add_one_mount_link(Path *p, Mount *m) {
PathSpec *s;
int r;
@@ -276,11 +313,12 @@ int path_add_one_mount_link(Path *p, Mount *m) {
return 0;
LIST_FOREACH(spec, s, p->specs) {
-
if (!path_spec_startswith(s, m->where))
continue;
- if ((r = unit_add_two_dependencies(UNIT(p), UNIT_AFTER, UNIT_REQUIRES, UNIT(m), true)) < 0)
+ r = unit_add_two_dependencies(UNIT(p), UNIT_AFTER, UNIT_REQUIRES,
+ UNIT(m), true);
+ if (r < 0)
return r;
}
@@ -293,9 +331,11 @@ static int path_add_mount_links(Path *p) {
assert(p);
- LIST_FOREACH(units_by_type, other, UNIT(p)->manager->units_by_type[UNIT_MOUNT])
- if ((r = path_add_one_mount_link(p, MOUNT(other))) < 0)
+ LIST_FOREACH(units_by_type, other, UNIT(p)->manager->units_by_type[UNIT_MOUNT]) {
+ r = path_add_one_mount_link(p, MOUNT(other));
+ if (r < 0)
return r;
+ }
return 0;
}
@@ -320,15 +360,20 @@ static int path_add_default_dependencies(Path *p) {
assert(p);
- if (UNIT(p)->manager->running_as == SYSTEMD_SYSTEM) {
- if ((r = unit_add_dependency_by_name(UNIT(p), UNIT_BEFORE, SPECIAL_BASIC_TARGET, NULL, true)) < 0)
- return r;
+ r = unit_add_dependency_by_name(UNIT(p), UNIT_BEFORE,
+ SPECIAL_PATHS_TARGET, NULL, true);
+ if (r < 0)
+ return r;
- if ((r = unit_add_two_dependencies_by_name(UNIT(p), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SYSINIT_TARGET, NULL, true)) < 0)
+ if (UNIT(p)->manager->running_as == SYSTEMD_SYSTEM) {
+ r = unit_add_two_dependencies_by_name(UNIT(p), UNIT_AFTER, UNIT_REQUIRES,
+ SPECIAL_SYSINIT_TARGET, NULL, true);
+ if (r < 0)
return r;
}
- return unit_add_two_dependencies_by_name(UNIT(p), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true);
+ return unit_add_two_dependencies_by_name(UNIT(p), UNIT_BEFORE, UNIT_CONFLICTS,
+ SPECIAL_SHUTDOWN_TARGET, NULL, true);
}
static int path_load(Unit *u) {
@@ -338,31 +383,33 @@ static int path_load(Unit *u) {
assert(u);
assert(u->load_state == UNIT_STUB);
- if ((r = unit_load_fragment_and_dropin(u)) < 0)
+ r = unit_load_fragment_and_dropin(u);
+ if (r < 0)
return r;
if (u->load_state == UNIT_LOADED) {
- if (!UNIT_DEREF(p->unit)) {
+ if (set_isempty(u->dependencies[UNIT_TRIGGERS])) {
Unit *x;
r = unit_load_related_unit(u, ".service", &x);
if (r < 0)
return r;
- unit_ref_set(&p->unit, x);
+ r = unit_add_two_dependencies(u, UNIT_BEFORE, UNIT_TRIGGERS, x, true);
+ if (r < 0)
+ return r;
}
- r = unit_add_two_dependencies(u, UNIT_BEFORE, UNIT_TRIGGERS, UNIT_DEREF(p->unit), true);
+ r = path_add_mount_links(p);
if (r < 0)
return r;
- if ((r = path_add_mount_links(p)) < 0)
- return r;
-
- if (UNIT(p)->default_dependencies)
- if ((r = path_add_default_dependencies(p)) < 0)
+ if (UNIT(p)->default_dependencies) {
+ r = path_add_default_dependencies(p);
+ if (r < 0)
return r;
+ }
}
return path_verify(p);
@@ -370,11 +417,14 @@ static int path_load(Unit *u) {
static void path_dump(Unit *u, FILE *f, const char *prefix) {
Path *p = PATH(u);
+ Unit *trigger;
PathSpec *s;
assert(p);
assert(f);
+ trigger = UNIT_TRIGGER(u);
+
fprintf(f,
"%sPath State: %s\n"
"%sResult: %s\n"
@@ -383,7 +433,7 @@ static void path_dump(Unit *u, FILE *f, const char *prefix) {
"%sDirectoryMode: %04o\n",
prefix, path_state_to_string(p->state),
prefix, path_result_to_string(p->result),
- prefix, UNIT_DEREF(p->unit)->id,
+ prefix, trigger ? trigger->id : "n/a",
prefix, yes_no(p->make_directory),
prefix, p->directory_mode);
@@ -406,9 +456,11 @@ static int path_watch(Path *p) {
assert(p);
- LIST_FOREACH(spec, s, p->specs)
- if ((r = path_spec_watch(s, UNIT(p))) < 0)
+ LIST_FOREACH(spec, s, p->specs) {
+ r = path_spec_watch(s, UNIT(p));
+ if (r < 0)
return r;
+ }
return 0;
}
@@ -463,32 +515,35 @@ static void path_enter_dead(Path *p, PathResult f) {
}
static void path_enter_running(Path *p) {
+ _cleanup_dbus_error_free_ DBusError error;
int r;
- DBusError error;
assert(p);
+
dbus_error_init(&error);
/* Don't start job if we are supposed to go down */
- if (UNIT(p)->job && UNIT(p)->job->type == JOB_STOP)
+ if (unit_stop_pending(UNIT(p)))
return;
- if ((r = manager_add_job(UNIT(p)->manager, JOB_START, UNIT_DEREF(p->unit), JOB_REPLACE, true, &error, NULL)) < 0)
+ r = manager_add_job(UNIT(p)->manager, JOB_START, UNIT_TRIGGER(UNIT(p)),
+ JOB_REPLACE, true, &error, NULL);
+ if (r < 0)
goto fail;
p->inotify_triggered = false;
- if ((r = path_watch(p)) < 0)
+ r = path_watch(p);
+ if (r < 0)
goto fail;
path_set_state(p, PATH_RUNNING);
return;
fail:
- log_warning("%s failed to queue unit startup job: %s", UNIT(p)->id, bus_error(&error, r));
+ log_warning("%s failed to queue unit startup job: %s",
+ UNIT(p)->id, bus_error(&error, r));
path_enter_dead(p, PATH_FAILURE_RESOURCES);
-
- dbus_error_free(&error);
}
static bool path_check_good(Path *p, bool initial) {
@@ -517,7 +572,8 @@ static void path_enter_waiting(Path *p, bool initial, bool recheck) {
return;
}
- if ((r = path_watch(p)) < 0)
+ r = path_watch(p);
+ if (r < 0)
goto fail;
/* Hmm, so now we have created inotify watches, but the file
@@ -535,7 +591,8 @@ static void path_enter_waiting(Path *p, bool initial, bool recheck) {
return;
fail:
- log_warning("%s failed to enter waiting state: %s", UNIT(p)->id, strerror(-r));
+ log_warning("%s failed to enter waiting state: %s",
+ UNIT(p)->id, strerror(-r));
path_enter_dead(p, PATH_FAILURE_RESOURCES);
}
@@ -557,7 +614,7 @@ static int path_start(Unit *u) {
assert(p);
assert(p->state == PATH_DEAD || p->state == PATH_FAILED);
- if (UNIT_DEREF(p->unit)->load_state != UNIT_LOADED)
+ if (UNIT_TRIGGER(u)->load_state != UNIT_LOADED)
return -ENOENT;
path_mkdir(p);
@@ -602,7 +659,8 @@ static int path_deserialize_item(Unit *u, const char *key, const char *value, FD
if (streq(key, "state")) {
PathState state;
- if ((state = path_state_from_string(value)) < 0)
+ state = path_state_from_string(value);
+ if (state < 0)
log_debug("Failed to parse state value %s", value);
else
p->deserialized_state = state;
@@ -622,13 +680,13 @@ static int path_deserialize_item(Unit *u, const char *key, const char *value, FD
return 0;
}
-static UnitActiveState path_active_state(Unit *u) {
+_pure_ static UnitActiveState path_active_state(Unit *u) {
assert(u);
return state_translation_table[PATH(u)->state];
}
-static const char *path_sub_state_to_string(Unit *u) {
+_pure_ static const char *path_sub_state_to_string(Unit *u) {
assert(u);
return path_state_to_string(PATH(u)->state);
@@ -677,32 +735,28 @@ fail:
path_enter_dead(p, PATH_FAILURE_RESOURCES);
}
-void path_unit_notify(Unit *u, UnitActiveState new_state) {
- Iterator i;
- Unit *k;
-
- if (u->type == UNIT_PATH)
- return;
-
- SET_FOREACH(k, u->dependencies[UNIT_TRIGGERED_BY], i) {
- Path *p;
+static void path_trigger_notify(Unit *u, Unit *other) {
+ Path *p = PATH(u);
- if (k->type != UNIT_PATH)
- continue;
+ assert(u);
+ assert(other);
- if (k->load_state != UNIT_LOADED)
- continue;
+ /* Invoked whenever the unit we trigger changes state or gains
+ * or loses a job */
- p = PATH(k);
+ if (other->load_state != UNIT_LOADED)
+ return;
- if (p->state == PATH_RUNNING && new_state == UNIT_INACTIVE) {
- log_debug("%s got notified about unit deactivation.", UNIT(p)->id);
+ if (p->state == PATH_RUNNING &&
+ UNIT_IS_INACTIVE_OR_FAILED(unit_active_state(other))) {
+ log_debug_unit(UNIT(p)->id,
+ "%s got notified about unit deactivation.",
+ UNIT(p)->id);
- /* Hmm, so inotify was triggered since the
- * last activation, so I guess we need to
- * recheck what is going on. */
- path_enter_waiting(p, false, p->inotify_triggered);
- }
+ /* Hmm, so inotify was triggered since the
+ * last activation, so I guess we need to
+ * recheck what is going on. */
+ path_enter_waiting(p, false, p->inotify_triggered);
}
}
@@ -769,6 +823,8 @@ const UnitVTable path_vtable = {
.fd_event = path_fd_event,
+ .trigger_notify = path_trigger_notify,
+
.reset_failed = path_reset_failed,
.bus_interface = "org.freedesktop.systemd1.Path",
diff --git a/src/core/path.h b/src/core/path.h
index 77926888ae..6adab5897d 100644
--- a/src/core/path.h
+++ b/src/core/path.h
@@ -80,8 +80,6 @@ struct Path {
LIST_HEAD(PathSpec, specs);
- UnitRef unit;
-
PathState state, deserialized_state;
bool inotify_triggered;
@@ -92,19 +90,19 @@ struct Path {
PathResult result;
};
-void path_unit_notify(Unit *u, UnitActiveState new_state);
-
/* Called from the mount code figure out if a mount is a dependency of
* any of the paths of this path object */
int path_add_one_mount_link(Path *p, Mount *m);
+void path_free_specs(Path *p);
+
extern const UnitVTable path_vtable;
-const char* path_state_to_string(PathState i);
-PathState path_state_from_string(const char *s);
+const char* path_state_to_string(PathState i) _const_;
+PathState path_state_from_string(const char *s) _pure_;
-const char* path_type_to_string(PathType i);
-PathType path_type_from_string(const char *s);
+const char* path_type_to_string(PathType i) _const_;
+PathType path_type_from_string(const char *s) _pure_;
-const char* path_result_to_string(PathResult i);
-PathResult path_result_from_string(const char *s);
+const char* path_result_to_string(PathResult i) _const_;
+PathResult path_result_from_string(const char *s) _pure_;
diff --git a/src/core/selinux-access.c b/src/core/selinux-access.c
index 6dfe8b45f3..426aed07d2 100644
--- a/src/core/selinux-access.c
+++ b/src/core/selinux-access.c
@@ -104,8 +104,6 @@ static int bus_get_selinux_security_context(
*scon = b;
- log_debug("GetConnectionSELinuxSecurityContext %s (pid %ld)", *scon, (long) bus_get_unix_process_id(connection, name, error));
-
return 0;
}
@@ -134,7 +132,7 @@ static int bus_get_audit_data(
if (r < 0)
return r;
- r = get_process_cmdline(pid, LINE_MAX, true, &audit->cmdline);
+ r = get_process_cmdline(pid, 0, true, &audit->cmdline);
if (r < 0)
return r;
@@ -176,20 +174,25 @@ static int audit_callback(
user_avc's into the /var/log/audit/audit.log, otherwise they will be
sent to syslog.
*/
-static int log_callback(int type, const char *fmt, ...) {
+_printf_attr_(2, 3) static int log_callback(int type, const char *fmt, ...) {
va_list ap;
va_start(ap, fmt);
#ifdef HAVE_AUDIT
if (get_audit_fd() >= 0) {
- char buf[LINE_MAX];
+ _cleanup_free_ char *buf = NULL;
+ int r;
- vsnprintf(buf, sizeof(buf), fmt, ap);
- audit_log_user_avc_message(get_audit_fd(), AUDIT_USER_AVC, buf, NULL, NULL, NULL, 0);
+ r = vasprintf(&buf, fmt, ap);
va_end(ap);
- return 0;
+ if (r >= 0) {
+ audit_log_user_avc_message(get_audit_fd(), AUDIT_USER_AVC, buf, NULL, NULL, NULL, 0);
+ return 0;
+ }
+
+ va_start(ap, fmt);
}
#endif
log_metav(LOG_USER | LOG_INFO, __FILE__, __LINE__, __FUNCTION__, fmt, ap);
@@ -258,7 +261,7 @@ static int get_audit_data(
const char *sender;
int r, fd;
struct ucred ucred;
- socklen_t len;
+ socklen_t len = sizeof(ucred);
sender = dbus_message_get_sender(message);
if (sender)
@@ -280,7 +283,7 @@ static int get_audit_data(
if (r < 0)
return r;
- r = get_process_cmdline(ucred.pid, LINE_MAX, true, &audit->cmdline);
+ r = get_process_cmdline(ucred.pid, 0, true, &audit->cmdline);
if (r < 0)
return r;
@@ -308,8 +311,6 @@ static int get_calling_context(
*/
sender = dbus_message_get_sender(message);
if (sender) {
- log_error("SELinux Got Sender %s", sender);
-
r = bus_get_selinux_security_context(connection, sender, scon, error);
if (r >= 0)
return r;
@@ -318,7 +319,6 @@ static int get_calling_context(
return r;
}
- log_debug("SELinux No Sender");
if (!dbus_connection_get_unix_fd(connection, &fd)) {
log_error("bus_connection_get_unix_fd failed %m");
return -EINVAL;
@@ -363,8 +363,6 @@ int selinux_access_check(
if (r < 0)
return r;
- log_debug("SELinux access check for path=%s permission=%s", strna(path), permission);
-
audit.uid = audit.loginuid = (uid_t) -1;
audit.gid = (gid_t) -1;
audit.cmdline = NULL;
diff --git a/src/core/selinux-setup.c b/src/core/selinux-setup.c
index e9c0de92f1..7a32ed59a0 100644
--- a/src/core/selinux-setup.c
+++ b/src/core/selinux-setup.c
@@ -58,9 +58,6 @@ int selinux_setup(bool *loaded_policy) {
cb.func_log = null_log;
selinux_set_callback(SELINUX_CB_LOG, cb);
- /* Make sure getcon() works, which needs /proc and /sys */
- mount_setup_early();
-
/* Already initialized by somebody else? */
r = getcon_raw(&con);
if (r == 0) {
@@ -104,7 +101,7 @@ int selinux_setup(bool *loaded_policy) {
after_load = now(CLOCK_MONOTONIC);
log_info("Successfully loaded SELinux policy in %s.",
- format_timespan(timespan, sizeof(timespan), after_load - before_load));
+ format_timespan(timespan, sizeof(timespan), after_load - before_load, 0));
*loaded_policy = true;
diff --git a/src/core/service.c b/src/core/service.c
index 2a4e691e78..3617c24711 100644
--- a/src/core/service.c
+++ b/src/core/service.c
@@ -36,12 +36,14 @@
#include "unit-printf.h"
#include "dbus-service.h"
#include "special.h"
-#include "bus-errors.h"
+#include "dbus-common.h"
#include "exit-status.h"
#include "def.h"
#include "path-util.h"
#include "util.h"
#include "utf8.h"
+#include "env-util.h"
+#include "fileio.h"
#ifdef HAVE_SYSV_COMPAT
@@ -281,7 +283,7 @@ static void service_done(Unit *u) {
free(s->status_text);
s->status_text = NULL;
- exec_context_done(&s->exec_context);
+ exec_context_done(&s->exec_context, manager_is_reloading_or_reexecuting(u->manager));
exec_command_free_array(s->exec_command, _SERVICE_EXEC_COMMAND_MAX);
s->control_command = NULL;
s->main_command = NULL;
@@ -322,17 +324,15 @@ static void service_done(Unit *u) {
static char *sysv_translate_name(const char *name) {
char *r;
- if (!(r = new(char, strlen(name) + sizeof(".service"))))
+ r = new(char, strlen(name) + sizeof(".service"));
+ if (!r)
return NULL;
if (endswith(name, ".sh"))
- /* Drop Debian-style .sh suffix */
+ /* Drop .sh suffix */
strcpy(stpcpy(r, name) - 3, ".service");
- if (startswith(name, "rc."))
- /* Drop Frugalware-style rc. prefix */
- strcpy(stpcpy(r, name + 3), ".service");
else
- /* Normal init scripts */
+ /* Normal init script name */
strcpy(stpcpy(r, name), ".service");
return r;
@@ -348,24 +348,13 @@ static int sysv_translate_facility(const char *name, const char *filename, char
static const char * const table[] = {
/* LSB defined facilities */
- "local_fs", SPECIAL_LOCAL_FS_TARGET,
- /* Due to unfortunate name selection in Mandriva,
- * $network is provided by network-up which is ordered
- * after network which actually starts interfaces.
- * To break the loop, just ignore it */
+ "local_fs", NULL,
"network", SPECIAL_NETWORK_TARGET,
"named", SPECIAL_NSS_LOOKUP_TARGET,
"portmap", SPECIAL_RPCBIND_TARGET,
"remote_fs", SPECIAL_REMOTE_FS_TARGET,
- "syslog", SPECIAL_SYSLOG_TARGET,
+ "syslog", NULL,
"time", SPECIAL_TIME_SYNC_TARGET,
-
- /* common extensions */
- "mail-transfer-agent", SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
- "x-display-manager", SPECIAL_DISPLAY_MANAGER_SERVICE,
- "null", NULL,
- "mail-transport-agent", SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
- "smtp", SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
};
unsigned i;
@@ -385,8 +374,9 @@ static int sysv_translate_facility(const char *name, const char *filename, char
if (!table[i+1])
return 0;
- if (!(r = strdup(table[i+1])))
- return -ENOMEM;
+ r = strdup(table[i+1]);
+ if (!r)
+ return log_oom();
goto finish;
}
@@ -772,7 +762,7 @@ static int service_load_sysv_path(Service *s, const char *path) {
continue;
if (unit_name_to_type(m) == UNIT_SERVICE)
- r = unit_add_name(u, m);
+ r = unit_merge_by_name(u, m);
else
/* NB: SysV targets
* which are provided
@@ -815,7 +805,6 @@ static int service_load_sysv_path(Service *s, const char *path) {
}
r = sysv_translate_facility(n, path_get_file_name(path), &m);
-
if (r < 0) {
log_error_unit(u->id,
"[%s:%u] Failed to translate LSB dependency %s, ignoring: %s",
@@ -992,10 +981,8 @@ static int service_load_sysv_name(Service *s, const char *name) {
assert(s);
assert(name);
- /* For SysV services we strip the rc.* and *.sh
- * prefixes/suffixes. */
- if (startswith(name, "rc.") ||
- endswith(name, ".sh.service"))
+ /* For SysV services we strip the *.sh suffixes. */
+ if (endswith(name, ".sh.service"))
return -ENOENT;
STRV_FOREACH(p, UNIT(s)->manager->lookup_paths.sysvinit_path) {
@@ -1012,25 +999,12 @@ static int service_load_sysv_name(Service *s, const char *name) {
r = service_load_sysv_path(s, path);
if (r >= 0 && UNIT(s)->load_state == UNIT_STUB) {
- /* Try Debian style *.sh source'able init scripts */
+ /* Try *.sh source'able init scripts */
strcat(path, ".sh");
r = service_load_sysv_path(s, path);
}
free(path);
- if (r >= 0 && UNIT(s)->load_state == UNIT_STUB) {
- /* Try Frugalware style rc.* init scripts */
-
- path = strjoin(*p, "/rc.", name, NULL);
- if (!path)
- return -ENOMEM;
-
- /* Drop .service suffix */
- path[strlen(path)-8] = 0;
- r = service_load_sysv_path(s, path);
- free(path);
- }
-
if (r < 0)
return r;
@@ -1108,7 +1082,8 @@ static int fsck_fix_order(Service *s) {
else
continue;
- if ((r = unit_add_dependency(UNIT(s), d, UNIT(t), true)) < 0)
+ r = unit_add_dependency(UNIT(s), d, UNIT(t), true);
+ if (r < 0)
return r;
}
@@ -1163,18 +1138,32 @@ static int service_add_default_dependencies(Service *s) {
/* First, pull in base system */
if (UNIT(s)->manager->running_as == SYSTEMD_SYSTEM) {
-
- if ((r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_BASIC_TARGET, NULL, true)) < 0)
+ r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES,
+ SPECIAL_BASIC_TARGET, NULL, true);
+ if (r < 0)
return r;
} else if (UNIT(s)->manager->running_as == SYSTEMD_USER) {
+ r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES,
+ SPECIAL_SOCKETS_TARGET, NULL, true);
+ if (r < 0)
+ return r;
- if ((r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SOCKETS_TARGET, NULL, true)) < 0)
+ r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES,
+ SPECIAL_TIMERS_TARGET, NULL, true);
+ if (r < 0)
+ return r;
+
+ r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES,
+ SPECIAL_PATHS_TARGET, NULL, true);
+ if (r < 0)
return r;
}
/* Second, activate normal shutdown */
- return unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true);
+ r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, UNIT_CONFLICTS,
+ SPECIAL_SHUTDOWN_TARGET, NULL, true);
+ return r;
}
static void service_fix_output(Service *s) {
@@ -1232,18 +1221,22 @@ static int service_load(Unit *u) {
service_fix_output(s);
- if ((r = unit_add_exec_dependencies(u, &s->exec_context)) < 0)
+ r = unit_add_exec_dependencies(u, &s->exec_context);
+ if (r < 0)
return r;
- if ((r = unit_add_default_cgroups(u)) < 0)
+ r = unit_add_default_cgroups(u);
+ if (r < 0)
return r;
#ifdef HAVE_SYSV_COMPAT
- if ((r = sysv_fix_order(s)) < 0)
+ r = sysv_fix_order(s);
+ if (r < 0)
return r;
#endif
- if ((r = fsck_fix_order(s)) < 0)
+ r = fsck_fix_order(s);
+ if (r < 0)
return r;
if (s->bus_name)
@@ -1256,13 +1249,18 @@ static int service_load(Unit *u) {
if (s->watchdog_usec > 0 && s->notify_access == NOTIFY_NONE)
s->notify_access = NOTIFY_MAIN;
- if (s->type == SERVICE_DBUS || s->bus_name)
- if ((r = unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_REQUIRES, SPECIAL_DBUS_SOCKET, NULL, true)) < 0)
+ if (s->type == SERVICE_DBUS || s->bus_name) {
+ r = unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_REQUIRES,
+ SPECIAL_DBUS_SOCKET, NULL, true);
+ if (r < 0)
return r;
+ }
- if (UNIT(s)->default_dependencies)
- if ((r = service_add_default_dependencies(s)) < 0)
+ if (UNIT(s)->default_dependencies) {
+ r = service_add_default_dependencies(s);
+ if (r < 0)
return r;
+ }
r = unit_exec_context_defaults(u, &s->exec_context);
if (r < 0)
@@ -1277,7 +1275,7 @@ static void service_dump(Unit *u, FILE *f, const char *prefix) {
ServiceExecCommand c;
Service *s = SERVICE(u);
const char *prefix2;
- char *p2;
+ _cleanup_free_ char *p2 = NULL;
assert(s);
@@ -1372,12 +1370,10 @@ static void service_dump(Unit *u, FILE *f, const char *prefix) {
if (s->status_text)
fprintf(f, "%sStatus Text: %s\n",
prefix, s->status_text);
-
- free(p2);
}
static int service_load_pid_file(Service *s, bool may_warn) {
- char *k;
+ _cleanup_free_ char *k = NULL;
int r;
pid_t pid;
@@ -1386,7 +1382,8 @@ static int service_load_pid_file(Service *s, bool may_warn) {
if (!s->pid_file)
return -ENOENT;
- if ((r = read_one_line_file(s->pid_file, &k)) < 0) {
+ r = read_one_line_file(s->pid_file, &k);
+ if (r < 0) {
if (may_warn)
log_info_unit(UNIT(s)->id,
"PID file %s not readable (yet?) after %s.",
@@ -1395,10 +1392,13 @@ static int service_load_pid_file(Service *s, bool may_warn) {
}
r = parse_pid(k, &pid);
- free(k);
-
- if (r < 0)
+ if (r < 0) {
+ if (may_warn)
+ log_info_unit(UNIT(s)->id,
+ "Failed to read PID from file %s: %s",
+ s->pid_file, strerror(-r));
return r;
+ }
if (kill(pid, 0) < 0 && errno != EPERM) {
if (may_warn)
@@ -1421,12 +1421,18 @@ static int service_load_pid_file(Service *s, bool may_warn) {
log_debug_unit(UNIT(s)->id,
"Main PID loaded: %lu", (unsigned long) pid);
- if ((r = service_set_main_pid(s, pid)) < 0)
+ r = service_set_main_pid(s, pid);
+ if (r < 0)
return r;
- if ((r = unit_watch_pid(UNIT(s), pid)) < 0)
+ r = unit_watch_pid(UNIT(s), pid);
+ if (r < 0) {
/* FIXME: we need to do something here */
+ log_warning_unit(UNIT(s)->id,
+ "Failed to watch PID %lu from service %s",
+ (unsigned long) pid, UNIT(s)->id);
return r;
+ }
return 0;
}
@@ -1447,16 +1453,22 @@ static int service_search_main_pid(Service *s) {
assert(s->main_pid <= 0);
- if ((pid = cgroup_bonding_search_main_pid_list(UNIT(s)->cgroup_bondings)) <= 0)
+ pid = cgroup_bonding_search_main_pid_list(UNIT(s)->cgroup_bondings);
+ if (pid <= 0)
return -ENOENT;
log_debug_unit(UNIT(s)->id,
"Main PID guessed: %lu", (unsigned long) pid);
- if ((r = service_set_main_pid(s, pid)) < 0)
+ r = service_set_main_pid(s, pid);
+ if (r < 0)
return r;
- if ((r = unit_watch_pid(UNIT(s), pid)) < 0)
+ r = unit_watch_pid(UNIT(s), pid);
+ if (r < 0)
/* FIXME: we need to do something here */
+ log_warning_unit(UNIT(s)->id,
+ "Failed to watch PID %lu from service %s",
+ (unsigned long) pid, UNIT(s)->id);
return r;
return 0;
@@ -1531,6 +1543,9 @@ static void service_set_state(Service *s, ServiceState state) {
s->control_command_id = _SERVICE_EXEC_COMMAND_INVALID;
}
+ if (state == SERVICE_FAILED)
+ service_notify_sockets_dead(s, s->result == SERVICE_FAILURE_START_LIMIT);
+
if (state == SERVICE_DEAD ||
state == SERVICE_STOP ||
state == SERVICE_STOP_SIGTERM ||
@@ -1538,7 +1553,6 @@ static void service_set_state(Service *s, ServiceState state) {
state == SERVICE_STOP_POST ||
state == SERVICE_FINAL_SIGTERM ||
state == SERVICE_FINAL_SIGKILL ||
- state == SERVICE_FAILED ||
state == SERVICE_AUTO_RESTART)
service_notify_sockets_dead(s, false);
@@ -1558,7 +1572,7 @@ static void service_set_state(Service *s, ServiceState state) {
service_connection_unref(s);
}
- if (state == SERVICE_STOP)
+ if (state == SERVICE_STOP || state == SERVICE_STOP_SIGTERM)
service_stop_watchdog(s);
/* For the inactive states unit_notify() will trim the cgroup,
@@ -1618,9 +1632,11 @@ static int service_coldplug(Unit *u) {
s->deserialized_state == SERVICE_STOP ||
s->deserialized_state == SERVICE_STOP_SIGTERM ||
s->deserialized_state == SERVICE_STOP_SIGKILL)
- if (s->main_pid > 0)
- if ((r = unit_watch_pid(UNIT(s), s->main_pid)) < 0)
+ if (s->main_pid > 0) {
+ r = unit_watch_pid(UNIT(s), s->main_pid);
+ if (r < 0)
return r;
+ }
if (s->deserialized_state == SERVICE_START_PRE ||
s->deserialized_state == SERVICE_START ||
@@ -1632,9 +1648,11 @@ static int service_coldplug(Unit *u) {
s->deserialized_state == SERVICE_STOP_POST ||
s->deserialized_state == SERVICE_FINAL_SIGTERM ||
s->deserialized_state == SERVICE_FINAL_SIGKILL)
- if (s->control_pid > 0)
- if ((r = unit_watch_pid(UNIT(s), s->control_pid)) < 0)
+ if (s->control_pid > 0) {
+ r = unit_watch_pid(UNIT(s), s->control_pid);
+ if (r < 0)
return r;
+ }
if (s->deserialized_state == SERVICE_START_POST ||
s->deserialized_state == SERVICE_RUNNING)
@@ -1669,7 +1687,8 @@ static int service_collect_fds(Service *s, int **fds, unsigned *n_fds) {
sock = SOCKET(u);
- if ((r = socket_collect_fds(sock, &cfds, &cn_fds)) < 0)
+ r = socket_collect_fds(sock, &cfds, &cn_fds);
+ if (r < 0)
goto fail;
if (!cfds)
@@ -1681,7 +1700,8 @@ static int service_collect_fds(Service *s, int **fds, unsigned *n_fds) {
} else {
int *t;
- if (!(t = new(int, rn_fds+cn_fds))) {
+ t = new(int, rn_fds+cn_fds);
+ if (!t) {
free(cfds);
r = -ENOMEM;
goto fail;
@@ -1722,9 +1742,11 @@ static int service_spawn(
pid_t pid;
int r;
- int *fds = NULL, *fdsbuf = NULL;
+ int *fds = NULL;
+ _cleanup_free_ int *fdsbuf = NULL;
unsigned n_fds = 0, n_env = 0;
- char **argv = NULL, **final_env = NULL, **our_env = NULL;
+ _cleanup_strv_free_ char
+ **argv = NULL, **final_env = NULL, **our_env = NULL;
assert(s);
assert(c);
@@ -1739,7 +1761,8 @@ static int service_spawn(
fds = &s->socket_fd;
n_fds = 1;
} else {
- if ((r = service_collect_fds(s, &fdsbuf, &n_fds)) < 0)
+ r = service_collect_fds(s, &fdsbuf, &n_fds);
+ if (r < 0)
goto fail;
fds = fdsbuf;
@@ -1747,13 +1770,15 @@ static int service_spawn(
}
if (timeout && s->timeout_start_usec) {
- r = unit_watch_timer(UNIT(s), CLOCK_MONOTONIC, true, s->timeout_start_usec, &s->timer_watch);
+ r = unit_watch_timer(UNIT(s), CLOCK_MONOTONIC, true,
+ s->timeout_start_usec, &s->timer_watch);
if (r < 0)
goto fail;
} else
unit_unwatch_timer(UNIT(s), &s->timer_watch);
- if (!(argv = unit_full_printf_strv(UNIT(s), c->argv))) {
+ argv = unit_full_printf_strv(UNIT(s), c->argv);
+ if (!argv) {
r = -ENOMEM;
goto fail;
}
@@ -1809,29 +1834,19 @@ static int service_spawn(
UNIT(s)->id,
s->type == SERVICE_IDLE ? UNIT(s)->manager->idle_pipe : NULL,
&pid);
-
if (r < 0)
goto fail;
- if ((r = unit_watch_pid(UNIT(s), pid)) < 0)
+ r = unit_watch_pid(UNIT(s), pid);
+ if (r < 0)
/* FIXME: we need to do something here */
goto fail;
- free(fdsbuf);
- strv_free(argv);
- strv_free(our_env);
- strv_free(final_env);
-
*_pid = pid;
return 0;
fail:
- free(fdsbuf);
- strv_free(argv);
- strv_free(our_env);
- strv_free(final_env);
-
if (timeout)
unit_unwatch_timer(UNIT(s), &s->timer_watch);
@@ -1863,7 +1878,7 @@ static int main_pid_good(Service *s) {
return -EAGAIN;
}
-static int control_pid_good(Service *s) {
+_pure_ static int control_pid_good(Service *s) {
assert(s);
return s->control_pid > 0;
@@ -1874,7 +1889,8 @@ static int cgroup_good(Service *s) {
assert(s);
- if ((r = cgroup_bonding_is_empty_list(UNIT(s)->cgroup_bondings)) < 0)
+ r = cgroup_bonding_is_empty_list(UNIT(s)->cgroup_bondings);
+ if (r < 0)
return r;
return !r;
@@ -1911,6 +1927,9 @@ static void service_enter_dead(Service *s, ServiceResult f, bool allow_restart)
s->forbid_restart = false;
+ /* we want fresh tmpdirs in case service is started again immediately */
+ exec_context_tmp_dirs_done(&s->exec_context);
+
return;
fail:
@@ -1931,7 +1950,8 @@ static void service_enter_stop_post(Service *s, ServiceResult f) {
service_unwatch_control_pid(s);
- if ((s->control_command = s->exec_command[SERVICE_EXEC_STOP_POST])) {
+ s->control_command = s->exec_command[SERVICE_EXEC_STOP_POST];
+ if (s->control_command) {
s->control_command_id = SERVICE_EXEC_STOP_POST;
r = service_spawn(s,
@@ -1963,66 +1983,26 @@ fail:
static void service_enter_signal(Service *s, ServiceState state, ServiceResult f) {
int r;
- Set *pid_set = NULL;
- bool wait_for_exit = false;
assert(s);
if (f != SERVICE_SUCCESS)
s->result = f;
- if (s->kill_context.kill_mode != KILL_NONE) {
- int sig = (state == SERVICE_STOP_SIGTERM || state == SERVICE_FINAL_SIGTERM) ? s->kill_context.kill_signal : SIGKILL;
-
- if (s->main_pid > 0) {
- if (kill_and_sigcont(s->main_pid, sig) < 0 && errno != ESRCH)
- log_warning_unit(UNIT(s)->id,
- "Failed to kill main process %li: %m", (long) s->main_pid);
- else
- wait_for_exit = !s->main_pid_alien;
- }
-
- if (s->control_pid > 0) {
- if (kill_and_sigcont(s->control_pid, sig) < 0 && errno != ESRCH)
- log_warning_unit(UNIT(s)->id,
- "Failed to kill control process %li: %m", (long) s->control_pid);
- else
- wait_for_exit = true;
- }
-
- if (s->kill_context.kill_mode == KILL_CONTROL_GROUP) {
-
- pid_set = set_new(trivial_hash_func, trivial_compare_func);
- if (!pid_set) {
- r = -ENOMEM;
- goto fail;
- }
-
- /* Exclude the main/control pids from being killed via the cgroup */
- if (s->main_pid > 0)
- if ((r = set_put(pid_set, LONG_TO_PTR(s->main_pid))) < 0)
- goto fail;
-
- if (s->control_pid > 0)
- if ((r = set_put(pid_set, LONG_TO_PTR(s->control_pid))) < 0)
- goto fail;
-
- r = cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, sig, true, false, pid_set, NULL);
- if (r < 0) {
- if (r != -EAGAIN && r != -ESRCH && r != -ENOENT)
- log_warning_unit(UNIT(s)->id,
- "Failed to kill control group: %s", strerror(-r));
- } else if (r > 0)
- wait_for_exit = true;
-
- set_free(pid_set);
- pid_set = NULL;
- }
- }
+ r = unit_kill_context(
+ UNIT(s),
+ &s->kill_context,
+ state != SERVICE_STOP_SIGTERM && state != SERVICE_FINAL_SIGTERM,
+ s->main_pid,
+ s->control_pid,
+ s->main_pid_alien);
+ if (r < 0)
+ goto fail;
- if (wait_for_exit) {
+ if (r > 0) {
if (s->timeout_stop_usec > 0) {
- r = unit_watch_timer(UNIT(s), CLOCK_MONOTONIC, true, s->timeout_stop_usec, &s->timer_watch);
+ r = unit_watch_timer(UNIT(s), CLOCK_MONOTONIC, true,
+ s->timeout_stop_usec, &s->timer_watch);
if (r < 0)
goto fail;
}
@@ -2043,9 +2023,6 @@ fail:
service_enter_stop_post(s, SERVICE_FAILURE_RESOURCES);
else
service_enter_dead(s, SERVICE_FAILURE_RESOURCES, true);
-
- if (pid_set)
- set_free(pid_set);
}
static void service_enter_stop(Service *s, ServiceResult f) {
@@ -2058,7 +2035,8 @@ static void service_enter_stop(Service *s, ServiceResult f) {
service_unwatch_control_pid(s);
- if ((s->control_command = s->exec_command[SERVICE_EXEC_STOP])) {
+ s->control_command = s->exec_command[SERVICE_EXEC_STOP];
+ if (s->control_command) {
s->control_command_id = SERVICE_EXEC_STOP;
r = service_spawn(s,
@@ -2114,7 +2092,8 @@ static void service_enter_start_post(Service *s) {
if (s->watchdog_usec > 0)
service_reset_watchdog(s);
- if ((s->control_command = s->exec_command[SERVICE_EXEC_START_POST])) {
+ s->control_command = s->exec_command[SERVICE_EXEC_START_POST];
+ if (s->control_command) {
s->control_command_id = SERVICE_EXEC_START_POST;
r = service_spawn(s,
@@ -2176,7 +2155,8 @@ static void service_enter_start(Service *s) {
r = service_spawn(s,
c,
- s->type == SERVICE_FORKING || s->type == SERVICE_DBUS || s->type == SERVICE_NOTIFY || s->type == SERVICE_ONESHOT,
+ s->type == SERVICE_FORKING || s->type == SERVICE_DBUS ||
+ s->type == SERVICE_NOTIFY || s->type == SERVICE_ONESHOT,
true,
true,
true,
@@ -2233,11 +2213,13 @@ static void service_enter_start_pre(Service *s) {
service_unwatch_control_pid(s);
- if ((s->control_command = s->exec_command[SERVICE_EXEC_START_PRE])) {
+ s->control_command = s->exec_command[SERVICE_EXEC_START_PRE];
+ if (s->control_command) {
/* Before we start anything, let's clear up what might
* be left from previous runs. */
- cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, SIGKILL, true, true, NULL, "control");
+ cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, SIGKILL,
+ true,true, NULL, "control");
s->control_command_id = SERVICE_EXEC_START_PRE;
@@ -2317,7 +2299,8 @@ static void service_enter_reload(Service *s) {
service_unwatch_control_pid(s);
- if ((s->control_command = s->exec_command[SERVICE_EXEC_RELOAD])) {
+ s->control_command = s->exec_command[SERVICE_EXEC_RELOAD];
+ if (s->control_command) {
s->control_command_id = SERVICE_EXEC_RELOAD;
r = service_spawn(s,
@@ -2451,7 +2434,9 @@ static int service_start_limit_test(Service *s) {
log_warning_unit(UNIT(s)->id,
"%s start request repeated too quickly, rebooting.", UNIT(s)->id);
- r = manager_add_job_by_name(UNIT(s)->manager, JOB_START, SPECIAL_REBOOT_TARGET, JOB_REPLACE, true, &error, NULL);
+ r = manager_add_job_by_name(UNIT(s)->manager, JOB_START,
+ SPECIAL_REBOOT_TARGET, JOB_REPLACE,
+ true, &error, NULL);
if (r < 0) {
log_error_unit(UNIT(s)->id,
"Failed to reboot: %s.", bus_error(&error, r));
@@ -2585,7 +2570,7 @@ static int service_reload(Unit *u) {
return 0;
}
-static bool service_can_reload(Unit *u) {
+_pure_ static bool service_can_reload(Unit *u) {
Service *s = SERVICE(u);
assert(s);
@@ -2605,7 +2590,8 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) {
unit_serialize_item(u, f, "reload-result", service_result_to_string(s->reload_result));
if (s->control_pid > 0)
- unit_serialize_item_format(u, f, "control-pid", "%lu", (unsigned long) s->control_pid);
+ unit_serialize_item_format(u, f, "control-pid", "%lu",
+ (unsigned long) s->control_pid);
if (s->main_pid_known && s->main_pid > 0)
unit_serialize_item_format(u, f, "main-pid", "%lu", (unsigned long) s->main_pid);
@@ -2619,7 +2605,8 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) {
* multiple commands attached here, we will start from the
* first one again */
if (s->control_command_id >= 0)
- unit_serialize_item(u, f, "control-command", service_exec_command_to_string(s->control_command_id));
+ unit_serialize_item(u, f, "control-command",
+ service_exec_command_to_string(s->control_command_id));
if (s->socket_fd >= 0) {
int copy;
@@ -2631,17 +2618,29 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) {
}
if (s->main_exec_status.pid > 0) {
- unit_serialize_item_format(u, f, "main-exec-status-pid", "%lu", (unsigned long) s->main_exec_status.pid);
- dual_timestamp_serialize(f, "main-exec-status-start", &s->main_exec_status.start_timestamp);
- dual_timestamp_serialize(f, "main-exec-status-exit", &s->main_exec_status.exit_timestamp);
+ unit_serialize_item_format(u, f, "main-exec-status-pid", "%lu",
+ (unsigned long) s->main_exec_status.pid);
+ dual_timestamp_serialize(f, "main-exec-status-start",
+ &s->main_exec_status.start_timestamp);
+ dual_timestamp_serialize(f, "main-exec-status-exit",
+ &s->main_exec_status.exit_timestamp);
if (dual_timestamp_is_set(&s->main_exec_status.exit_timestamp)) {
- unit_serialize_item_format(u, f, "main-exec-status-code", "%i", s->main_exec_status.code);
- unit_serialize_item_format(u, f, "main-exec-status-status", "%i", s->main_exec_status.status);
+ unit_serialize_item_format(u, f, "main-exec-status-code", "%i",
+ s->main_exec_status.code);
+ unit_serialize_item_format(u, f, "main-exec-status-status", "%i",
+ s->main_exec_status.status);
}
}
if (dual_timestamp_is_set(&s->watchdog_timestamp))
- dual_timestamp_serialize(f, "watchdog-timestamp", &s->watchdog_timestamp);
+ dual_timestamp_serialize(f, "watchdog-timestamp",
+ &s->watchdog_timestamp);
+
+ if (s->exec_context.tmp_dir)
+ unit_serialize_item(u, f, "tmp-dir", s->exec_context.tmp_dir);
+
+ if (s->exec_context.var_tmp_dir)
+ unit_serialize_item(u, f, "var-tmp-dir", s->exec_context.var_tmp_dir);
return 0;
}
@@ -2657,7 +2656,8 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value,
if (streq(key, "state")) {
ServiceState state;
- if ((state = service_state_from_string(value)) < 0)
+ state = service_state_from_string(value);
+ if (state < 0)
log_debug_unit(u->id, "Failed to parse state value %s", value);
else
s->deserialized_state = state;
@@ -2696,14 +2696,18 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value,
} else if (streq(key, "main-pid-known")) {
int b;
- if ((b = parse_boolean(value)) < 0)
+ b = parse_boolean(value);
+ if (b < 0)
log_debug_unit(u->id, "Failed to parse main-pid-known value %s", value);
else
s->main_pid_known = b;
} else if (streq(key, "status-text")) {
char *t;
- if ((t = strdup(value))) {
+ t = strdup(value);
+ if (!t)
+ log_oom();
+ else {
free(s->status_text);
s->status_text = t;
}
@@ -2711,7 +2715,8 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value,
} else if (streq(key, "control-command")) {
ServiceExecCommand id;
- if ((id = service_exec_command_from_string(value)) < 0)
+ id = service_exec_command_from_string(value);
+ if (id < 0)
log_debug_unit(u->id, "Failed to parse exec-command value %s", value);
else {
s->control_command_id = id;
@@ -2755,13 +2760,29 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value,
dual_timestamp_deserialize(value, &s->main_exec_status.exit_timestamp);
else if (streq(key, "watchdog-timestamp"))
dual_timestamp_deserialize(value, &s->watchdog_timestamp);
- else
+ else if (streq(key, "tmp-dir")) {
+ char *t;
+
+ t = strdup(value);
+ if (!t)
+ return log_oom();
+
+ s->exec_context.tmp_dir = t;
+ } else if (streq(key, "var-tmp-dir")) {
+ char *t;
+
+ t = strdup(value);
+ if (!t)
+ return log_oom();
+
+ s->exec_context.var_tmp_dir = t;
+ } else
log_debug_unit(u->id, "Unknown serialization key '%s'", key);
return 0;
}
-static UnitActiveState service_active_state(Unit *u) {
+_pure_ static UnitActiveState service_active_state(Unit *u) {
const UnitActiveState *table;
assert(u);
@@ -2797,7 +2818,7 @@ static bool service_check_gc(Unit *u) {
return false;
}
-static bool service_check_snapshot(Unit *u) {
+_pure_ static bool service_check_snapshot(Unit *u) {
Service *s = SERVICE(u);
assert(s);
@@ -2832,6 +2853,9 @@ static int service_watch_pid_file(Service *s) {
goto fail;
/* the pidfile might have appeared just before we set the watch */
+ log_debug_unit(UNIT(s)->id,
+ "Trying to read %s's PID file %s in case it changed",
+ UNIT(s)->id, s->pid_file_pathspec->path);
service_retry_pid_file(s);
return 0;
@@ -2926,24 +2950,34 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) {
s->main_pid = 0;
exec_status_exit(&s->main_exec_status, &s->exec_context, pid, code, status);
- /* If this is not a forking service than the main
- * process got started and hence we copy the exit
- * status so that it is recorded both as main and as
- * control process exit status */
if (s->main_command) {
+ /* If this is not a forking service than the
+ * main process got started and hence we copy
+ * the exit status so that it is recorded both
+ * as main and as control process exit
+ * status */
+
s->main_command->exec_status = s->main_exec_status;
if (s->main_command->ignore)
f = SERVICE_SUCCESS;
+ } else if (s->exec_command[SERVICE_EXEC_START]) {
+
+ /* If this is a forked process, then we should
+ * ignore the return value if this was
+ * configured for the starter process */
+
+ if (s->exec_command[SERVICE_EXEC_START]->ignore)
+ f = SERVICE_SUCCESS;
}
- log_struct(f == SERVICE_SUCCESS ? LOG_DEBUG : LOG_NOTICE,
+ log_struct_unit(f == SERVICE_SUCCESS ? LOG_DEBUG : LOG_NOTICE,
+ u->id,
"MESSAGE=%s: main process exited, code=%s, status=%i/%s",
u->id, sigchld_code_to_string(code), status,
strna(code == CLD_EXITED
? exit_status_to_string(status, EXIT_STATUS_FULL)
: signal_to_string(status)),
- "UNIT=%s", u->id,
"EXIT_CODE=%s", sigchld_code_to_string(code),
"EXIT_STATUS=%i", status,
NULL);
@@ -3013,7 +3047,8 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) {
s->control_pid = 0;
if (s->control_command) {
- exec_status_exit(&s->control_command->exec_status, &s->exec_context, pid, code, status);
+ exec_status_exit(&s->control_command->exec_status,
+ &s->exec_context, pid, code, status);
if (s->control_command->ignore)
f = SERVICE_SUCCESS;
@@ -3029,7 +3064,8 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) {
/* Immediately get rid of the cgroup, so that the
* kernel doesn't delay the cgroup empty messages for
* the service cgroup any longer than necessary */
- cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, SIGKILL, true, true, NULL, "control");
+ cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, SIGKILL,
+ true, true, NULL, "control");
if (s->control_command &&
s->control_command->command_next &&
@@ -3398,7 +3434,8 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) {
if (strv_find(tags, "WATCHDOG=1")) {
log_debug_unit(u->id,
"%s: got WATCHDOG=1", u->id);
- service_reset_watchdog(s);
+ if (dual_timestamp_is_set(&s->watchdog_timestamp))
+ service_reset_watchdog(s);
}
/* Notify clients about changed status or main pid */
@@ -3410,9 +3447,10 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) {
static int service_enumerate(Manager *m) {
char **p;
unsigned i;
- DIR *d = NULL;
- char *path = NULL, *fpath = NULL, *name = NULL;
- Set *runlevel_services[ELEMENTSOF(rcnd_table)], *shutdown_services = NULL;
+ _cleanup_closedir_ DIR *d = NULL;
+ _cleanup_free_ char *path = NULL, *fpath = NULL, *name = NULL;
+ Set *runlevel_services[ELEMENTSOF(rcnd_table)] = {};
+ _cleanup_set_free_ Set *shutdown_services = NULL;
Unit *service;
Iterator j;
int r;
@@ -3422,8 +3460,6 @@ static int service_enumerate(Manager *m) {
if (m->running_as != SYSTEMD_SYSTEM)
return 0;
- zero(runlevel_services);
-
STRV_FOREACH(p, m->lookup_paths.sysvrcnd_path)
for (i = 0; i < ELEMENTSOF(rcnd_table); i ++) {
struct dirent *de;
@@ -3438,9 +3474,10 @@ static int service_enumerate(Manager *m) {
if (d)
closedir(d);
- if (!(d = opendir(path))) {
+ d = opendir(path);
+ if (!d) {
if (errno != ENOENT)
- log_warning("opendir() failed on %s: %s", path, strerror(errno));
+ log_warning("opendir(%s) failed: %s", path, strerror(errno));
continue;
}
@@ -3479,8 +3516,9 @@ static int service_enumerate(Manager *m) {
}
free(name);
- if (!(name = sysv_translate_name(de->d_name + 3))) {
- r = -ENOMEM;
+ name = sysv_translate_name(de->d_name + 3);
+ if (!name) {
+ r = log_oom();
goto finish;
}
@@ -3499,19 +3537,25 @@ static int service_enumerate(Manager *m) {
SERVICE(service)->sysv_enabled = true;
}
- if ((r = set_ensure_allocated(&runlevel_services[i], trivial_hash_func, trivial_compare_func)) < 0)
+ r = set_ensure_allocated(&runlevel_services[i],
+ trivial_hash_func, trivial_compare_func);
+ if (r < 0)
goto finish;
- if ((r = set_put(runlevel_services[i], service)) < 0)
+ r = set_put(runlevel_services[i], service);
+ if (r < 0)
goto finish;
} else if (de->d_name[0] == 'K' &&
(rcnd_table[i].type == RUNLEVEL_DOWN)) {
- if ((r = set_ensure_allocated(&shutdown_services, trivial_hash_func, trivial_compare_func)) < 0)
+ r = set_ensure_allocated(&shutdown_services,
+ trivial_hash_func, trivial_compare_func);
+ if (r < 0)
goto finish;
- if ((r = set_put(shutdown_services, service)) < 0)
+ r = set_put(shutdown_services, service);
+ if (r < 0)
goto finish;
}
}
@@ -3532,7 +3576,10 @@ static int service_enumerate(Manager *m) {
if (service->fragment_path)
continue;
- if ((r = unit_add_two_dependencies_by_name_inverse(service, UNIT_AFTER, UNIT_WANTS, rcnd_table[i].target, NULL, true)) < 0)
+ r = unit_add_two_dependencies_by_name_inverse(
+ service, UNIT_AFTER, UNIT_WANTS,
+ rcnd_table[i].target, NULL, true);
+ if (r < 0)
goto finish;
}
@@ -3547,23 +3594,19 @@ static int service_enumerate(Manager *m) {
if (service->fragment_path)
continue;
- if ((r = unit_add_two_dependencies_by_name(service, UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true)) < 0)
+ r = unit_add_two_dependencies_by_name(
+ service, UNIT_BEFORE, UNIT_CONFLICTS,
+ SPECIAL_SHUTDOWN_TARGET, NULL, true);
+ if (r < 0)
goto finish;
}
r = 0;
finish:
- free(path);
- free(fpath);
- free(name);
for (i = 0; i < ELEMENTSOF(rcnd_table); i++)
set_free(runlevel_services[i]);
- set_free(shutdown_services);
-
- if (d)
- closedir(d);
return r;
}
@@ -3686,65 +3729,7 @@ static void service_reset_failed(Unit *u) {
static int service_kill(Unit *u, KillWho who, int signo, DBusError *error) {
Service *s = SERVICE(u);
- int r = 0;
- Set *pid_set = NULL;
-
- assert(s);
-
- if (s->main_pid <= 0 && who == KILL_MAIN) {
- dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "No main process to kill");
- return -ESRCH;
- }
-
- if (s->control_pid <= 0 && who == KILL_CONTROL) {
- dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "No control process to kill");
- return -ESRCH;
- }
-
- if (who == KILL_CONTROL || who == KILL_ALL)
- if (s->control_pid > 0)
- if (kill(s->control_pid, signo) < 0)
- r = -errno;
-
- if (who == KILL_MAIN || who == KILL_ALL)
- if (s->main_pid > 0)
- if (kill(s->main_pid, signo) < 0)
- r = -errno;
-
- if (who == KILL_ALL) {
- int q;
-
- pid_set = set_new(trivial_hash_func, trivial_compare_func);
- if (!pid_set)
- return -ENOMEM;
-
- /* Exclude the control/main pid from being killed via the cgroup */
- if (s->control_pid > 0) {
- q = set_put(pid_set, LONG_TO_PTR(s->control_pid));
- if (q < 0) {
- r = q;
- goto finish;
- }
- }
-
- if (s->main_pid > 0) {
- q = set_put(pid_set, LONG_TO_PTR(s->main_pid));
- if (q < 0) {
- r = q;
- goto finish;
- }
- }
-
- q = cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, signo, false, false, pid_set, NULL);
- if (q < 0 && q != -EAGAIN && q != -ESRCH && q != -ENOENT)
- r = q;
- }
-
-finish:
- if (pid_set)
- set_free(pid_set);
-
- return r;
+ return unit_kill_common(u, who, signo, s->main_pid, s->control_pid, error);
}
static const char* const service_state_table[_SERVICE_STATE_MAX] = {
@@ -3830,13 +3815,15 @@ DEFINE_STRING_TABLE_LOOKUP(start_limit_action, StartLimitAction);
const UnitVTable service_vtable = {
.object_size = sizeof(Service),
- .exec_context_offset = offsetof(Service, exec_context),
.sections =
"Unit\0"
"Service\0"
"Install\0",
+ .exec_context_offset = offsetof(Service, exec_context),
+ .exec_section = "Service",
+
.init = service_init,
.done = service_done,
.load = service_load,
diff --git a/src/core/service.h b/src/core/service.h
index d1e53bf727..703d3faa45 100644
--- a/src/core/service.h
+++ b/src/core/service.h
@@ -203,23 +203,23 @@ struct Socket;
int service_set_socket_fd(Service *s, int fd, struct Socket *socket);
-const char* service_state_to_string(ServiceState i);
-ServiceState service_state_from_string(const char *s);
+const char* service_state_to_string(ServiceState i) _const_;
+ServiceState service_state_from_string(const char *s) _pure_;
-const char* service_restart_to_string(ServiceRestart i);
-ServiceRestart service_restart_from_string(const char *s);
+const char* service_restart_to_string(ServiceRestart i) _const_;
+ServiceRestart service_restart_from_string(const char *s) _pure_;
-const char* service_type_to_string(ServiceType i);
-ServiceType service_type_from_string(const char *s);
+const char* service_type_to_string(ServiceType i) _const_;
+ServiceType service_type_from_string(const char *s) _pure_;
-const char* service_exec_command_to_string(ServiceExecCommand i);
-ServiceExecCommand service_exec_command_from_string(const char *s);
+const char* service_exec_command_to_string(ServiceExecCommand i) _const_;
+ServiceExecCommand service_exec_command_from_string(const char *s) _pure_;
-const char* notify_access_to_string(NotifyAccess i);
-NotifyAccess notify_access_from_string(const char *s);
+const char* notify_access_to_string(NotifyAccess i) _const_;
+NotifyAccess notify_access_from_string(const char *s) _pure_;
-const char* service_result_to_string(ServiceResult i);
-ServiceResult service_result_from_string(const char *s);
+const char* service_result_to_string(ServiceResult i) _const_;
+ServiceResult service_result_from_string(const char *s) _pure_;
-const char* start_limit_action_to_string(StartLimitAction i);
-StartLimitAction start_limit_action_from_string(const char *s);
+const char* start_limit_action_to_string(StartLimitAction i) _const_;
+StartLimitAction start_limit_action_from_string(const char *s) _pure_;
diff --git a/src/core/shutdown.c b/src/core/shutdown.c
index 0b0e0c3d47..2db761de36 100644
--- a/src/core/shutdown.c
+++ b/src/core/shutdown.c
@@ -261,6 +261,8 @@ int main(int argc, char *argv[]) {
if (retries >= FINALIZE_ATTEMPTS)
log_error("Too many iterations, giving up.");
+ else
+ log_info("Storage is finalized.");
arguments[0] = NULL;
arguments[1] = argv[1];
@@ -272,6 +274,9 @@ int main(int argc, char *argv[]) {
if (prepare_new_root() >= 0 &&
pivot_to_new_root() >= 0) {
+
+ log_info("Returning to initrd...");
+
execv("/shutdown", argv);
log_error("Failed to execute shutdown binary: %m");
}
diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
new file mode 100644
index 0000000000..73eeb04190
--- /dev/null
+++ b/src/core/smack-setup.c
@@ -0,0 +1,151 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright (C) 2013 Intel Corporation
+ Authors:
+ Nathaniel Chen <nathaniel.chen@intel.com>
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License,
+ or (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <sys/vfs.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <dirent.h>
+#include <sys/mount.h>
+#include <stdint.h>
+
+#include "macro.h"
+#include "smack-setup.h"
+#include "util.h"
+#include "log.h"
+#include "label.h"
+
+#define SMACK_CONFIG "/etc/smack/accesses.d/"
+#define CIPSO_CONFIG "/etc/smack/cipso/"
+
+static int write_rules(const char* dstpath, const char* srcdir) {
+ _cleanup_fclose_ FILE *dst = NULL;
+ _cleanup_closedir_ DIR *dir = NULL;
+ struct dirent *entry;
+ char buf[NAME_MAX];
+ int dfd = -1;
+ int r = 0;
+
+ dst = fopen(dstpath, "we");
+ if (!dst) {
+ if (errno != ENOENT)
+ log_warning("Failed to open %s: %m", dstpath);
+ return -errno; /* negative error */
+ }
+
+ /* write rules to dst from every file in the directory */
+ dir = opendir(srcdir);
+ if (!dir) {
+ if (errno != ENOENT)
+ log_warning("Failed to opendir %s: %m", srcdir);
+ return errno; /* positive on purpose */
+ }
+
+ dfd = dirfd(dir);
+ assert(dfd >= 0);
+
+ FOREACH_DIRENT(entry, dir, return 0) {
+ int fd;
+ _cleanup_fclose_ FILE *policy = NULL;
+
+ fd = openat(dfd, entry->d_name, O_RDONLY|O_CLOEXEC);
+ if (fd < 0) {
+ if (r == 0)
+ r = -errno;
+ log_warning("Failed to open %s: %m", entry->d_name);
+ continue;
+ }
+
+ policy = fdopen(fd, "re");
+ if (!policy) {
+ if (r == 0)
+ r = -errno;
+ close_nointr_nofail(fd);
+ log_error("Failed to open %s: %m", entry->d_name);
+ continue;
+ }
+
+ /* load2 write rules in the kernel require a line buffered stream */
+ FOREACH_LINE(buf, policy,
+ log_error("Failed to read line from %s: %m",
+ entry->d_name)) {
+ if (!fputs(buf, dst)) {
+ if (r == 0)
+ r = -EINVAL;
+ log_error("Failed to write line to %s", dstpath);
+ break;
+ }
+ if (fflush(dst)) {
+ if (r == 0)
+ r = -errno;
+ log_error("Failed to flush writes to %s: %m", dstpath);
+ break;
+ }
+ }
+ }
+
+ return r;
+}
+
+
+int smack_setup(void) {
+ int r;
+
+ r = write_rules("/sys/fs/smackfs/load2", SMACK_CONFIG);
+ switch(r) {
+ case -ENOENT:
+ log_debug("Smack is not enabled in the kernel.");
+ return 0;
+ case ENOENT:
+ log_debug("Smack access rules directory " SMACK_CONFIG " not found");
+ return 0;
+ case 0:
+ log_info("Successfully loaded Smack policies.");
+ break;
+ default:
+ log_warning("Failed to load Smack access rules: %s, ignoring.",
+ strerror(abs(r)));
+ return 0;
+ }
+
+ r = write_rules("/sys/fs/smackfs/cipso2", CIPSO_CONFIG);
+ switch(r) {
+ case -ENOENT:
+ log_debug("Smack/CIPSO is not enabled in the kernel.");
+ return 0;
+ case ENOENT:
+ log_debug("Smack/CIPSO access rules directory " CIPSO_CONFIG " not found");
+ return 0;
+ case 0:
+ log_info("Successfully loaded Smack/CIPSO policies.");
+ return 0;
+ default:
+ log_warning("Failed to load Smack/CIPSO access rules: %s, ignoring.",
+ strerror(abs(r)));
+ return 0;
+ }
+}
diff --git a/src/core/smack-setup.h b/src/core/smack-setup.h
new file mode 100644
index 0000000000..ffe91843c3
--- /dev/null
+++ b/src/core/smack-setup.h
@@ -0,0 +1,26 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright (C) 2013 Intel Corporation
+ Authors:
+ Nathaniel Chen <nathaniel.chen@intel.com>
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License,
+ or (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+int smack_setup(void);
diff --git a/src/core/snapshot.c b/src/core/snapshot.c
index 5c2a319cb6..a63eccd8de 100644
--- a/src/core/snapshot.c
+++ b/src/core/snapshot.c
@@ -173,13 +173,13 @@ static int snapshot_deserialize_item(Unit *u, const char *key, const char *value
return 0;
}
-static UnitActiveState snapshot_active_state(Unit *u) {
+_pure_ static UnitActiveState snapshot_active_state(Unit *u) {
assert(u);
return state_translation_table[SNAPSHOT(u)->state];
}
-static const char *snapshot_sub_state_to_string(Unit *u) {
+_pure_ static const char *snapshot_sub_state_to_string(Unit *u) {
assert(u);
return snapshot_state_to_string(SNAPSHOT(u)->state);
@@ -256,6 +256,7 @@ int snapshot_create(Manager *m, const char *name, bool cleanup, DBusError *e, Sn
}
SNAPSHOT(u)->cleanup = cleanup;
+ u->allow_isolate = true;
*_s = SNAPSHOT(u);
return 0;
diff --git a/src/core/snapshot.h b/src/core/snapshot.h
index 9662d93164..56f87cff4d 100644
--- a/src/core/snapshot.h
+++ b/src/core/snapshot.h
@@ -46,5 +46,5 @@ extern const UnitVTable snapshot_vtable;
int snapshot_create(Manager *m, const char *name, bool cleanup, DBusError *e, Snapshot **s);
void snapshot_remove(Snapshot *s);
-const char* snapshot_state_to_string(SnapshotState i);
-SnapshotState snapshot_state_from_string(const char *s);
+const char* snapshot_state_to_string(SnapshotState i) _const_;
+SnapshotState snapshot_state_from_string(const char *s) _pure_;
diff --git a/src/core/socket.c b/src/core/socket.c
index fcbcdbe192..1b08f0a5fd 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -28,7 +28,7 @@
#include <signal.h>
#include <arpa/inet.h>
#include <mqueue.h>
-#ifdef HAVE_ATTR_XATTR_H
+#ifdef HAVE_XATTR
#include <attr/xattr.h>
#endif
@@ -46,7 +46,7 @@
#include "dbus-socket.h"
#include "missing.h"
#include "special.h"
-#include "bus-errors.h"
+#include "dbus-common.h"
#include "label.h"
#include "exit-status.h"
#include "def.h"
@@ -102,8 +102,7 @@ static void socket_unwatch_control_pid(Socket *s) {
s->control_pid = 0;
}
-static void socket_done(Unit *u) {
- Socket *s = SOCKET(u);
+void socket_free_ports(Socket *s) {
SocketPort *p;
assert(s);
@@ -119,8 +118,16 @@ static void socket_done(Unit *u) {
free(p->path);
free(p);
}
+}
+
+static void socket_done(Unit *u) {
+ Socket *s = SOCKET(u);
+
+ assert(s);
+
+ socket_free_ports(s);
- exec_context_done(&s->exec_context);
+ exec_context_done(&s->exec_context, manager_is_reloading_or_reexecuting(u->manager));
exec_command_free_array(s->exec_command, _SOCKET_EXEC_COMMAND_MAX);
s->control_command = NULL;
@@ -308,7 +315,7 @@ static int socket_add_device_link(Socket *s) {
assert(s);
- if (!s->bind_to_device)
+ if (!s->bind_to_device || streq(s->bind_to_device, "lo"))
return 0;
if (asprintf(&t, "/sys/subsystem/net/devices/%s", s->bind_to_device) < 0)
@@ -324,18 +331,20 @@ static int socket_add_default_dependencies(Socket *s) {
int r;
assert(s);
- if (UNIT(s)->manager->running_as == SYSTEMD_SYSTEM) {
- if ((r = unit_add_dependency_by_name(UNIT(s), UNIT_BEFORE, SPECIAL_SOCKETS_TARGET, NULL, true)) < 0)
- return r;
+ r = unit_add_dependency_by_name(UNIT(s), UNIT_BEFORE, SPECIAL_SOCKETS_TARGET, NULL, true);
+ if (r < 0)
+ return r;
- if ((r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SYSINIT_TARGET, NULL, true)) < 0)
+ if (UNIT(s)->manager->running_as == SYSTEMD_SYSTEM) {
+ r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SYSINIT_TARGET, NULL, true);
+ if (r < 0)
return r;
}
return unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true);
}
-static bool socket_has_exec(Socket *s) {
+_pure_ static bool socket_has_exec(Socket *s) {
unsigned i;
assert(s);
@@ -401,7 +410,7 @@ static int socket_load(Unit *u) {
return socket_verify(s);
}
-static const char* listen_lookup(int family, int type) {
+_const_ static const char* listen_lookup(int family, int type) {
if (family == AF_NETLINK)
return "ListenNetlink";
@@ -779,7 +788,7 @@ static void socket_apply_socket_options(Socket *s, int fd) {
if (setsockopt(fd, SOL_TCP, TCP_CONGESTION, s->tcp_congestion, strlen(s->tcp_congestion)+1) < 0)
log_warning_unit(UNIT(s)->id, "TCP_CONGESTION failed: %m");
-#ifdef HAVE_ATTR_XATTR_H
+#ifdef HAVE_XATTR
if (s->smack_ip_in)
if (fsetxattr(fd, "security.SMACK64IPIN", s->smack_ip_in, strlen(s->smack_ip_in), 0) < 0)
log_error_unit(UNIT(s)->id,
@@ -801,7 +810,7 @@ static void socket_apply_fifo_options(Socket *s, int fd) {
log_warning_unit(UNIT(s)->id,
"F_SETPIPE_SZ: %m");
-#ifdef HAVE_ATTR_XATTR_H
+#ifdef HAVE_XATTR
if (s->smack)
if (fsetxattr(fd, "security.SMACK64", s->smack, strlen(s->smack), 0) < 0)
log_error_unit(UNIT(s)->id,
@@ -1246,6 +1255,7 @@ static void socket_enter_dead(Socket *s, SocketResult f) {
if (f != SOCKET_SUCCESS)
s->result = f;
+ exec_context_tmp_dirs_done(&s->exec_context);
socket_set_state(s, s->result != SOCKET_SUCCESS ? SOCKET_FAILED : SOCKET_DEAD);
}
@@ -1281,54 +1291,23 @@ fail:
static void socket_enter_signal(Socket *s, SocketState state, SocketResult f) {
int r;
- Set *pid_set = NULL;
- bool wait_for_exit = false;
assert(s);
if (f != SOCKET_SUCCESS)
s->result = f;
- if (s->kill_context.kill_mode != KILL_NONE) {
- int sig = (state == SOCKET_STOP_PRE_SIGTERM || state == SOCKET_FINAL_SIGTERM) ? s->kill_context.kill_signal : SIGKILL;
-
- if (s->control_pid > 0) {
- if (kill_and_sigcont(s->control_pid, sig) < 0 && errno != ESRCH)
-
- log_warning_unit(UNIT(s)->id,
- "Failed to kill control process %li: %m",
- (long) s->control_pid);
- else
- wait_for_exit = true;
- }
-
- if (s->kill_context.kill_mode == KILL_CONTROL_GROUP) {
-
- if (!(pid_set = set_new(trivial_hash_func, trivial_compare_func))) {
- r = -ENOMEM;
- goto fail;
- }
-
- /* Exclude the control pid from being killed via the cgroup */
- if (s->control_pid > 0)
- if ((r = set_put(pid_set, LONG_TO_PTR(s->control_pid))) < 0)
- goto fail;
-
- r = cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, sig, true, false, pid_set, NULL);
- if (r < 0) {
- if (r != -EAGAIN && r != -ESRCH && r != -ENOENT)
- log_warning_unit(UNIT(s)->id,
- "Failed to kill control group: %s",
- strerror(-r));
- } else if (r > 0)
- wait_for_exit = true;
-
- set_free(pid_set);
- pid_set = NULL;
- }
- }
+ r = unit_kill_context(
+ UNIT(s),
+ &s->kill_context,
+ state != SOCKET_STOP_PRE_SIGTERM && state != SOCKET_FINAL_SIGTERM,
+ -1,
+ s->control_pid,
+ false);
+ if (r < 0)
+ goto fail;
- if (wait_for_exit) {
+ if (r > 0) {
r = unit_watch_timer(UNIT(s), CLOCK_MONOTONIC, true, s->timeout_usec, &s->timer_watch);
if (r < 0)
goto fail;
@@ -1350,9 +1329,6 @@ fail:
socket_enter_stop_post(s, SOCKET_FAILURE_RESOURCES);
else
socket_enter_dead(s, SOCKET_FAILURE_RESOURCES);
-
- if (pid_set)
- set_free(pid_set);
}
static void socket_enter_stop_pre(Socket *s, SocketResult f) {
@@ -1471,7 +1447,7 @@ static void socket_enter_running(Socket *s, int cfd) {
/* We don't take connections anymore if we are supposed to
* shut down anyway */
- if (unit_pending_inactive(UNIT(s))) {
+ if (unit_stop_pending(UNIT(s))) {
log_debug_unit(UNIT(s)->id,
"Suppressing connection request on %s since unit stop is scheduled.",
UNIT(s)->id);
@@ -1502,7 +1478,7 @@ static void socket_enter_running(Socket *s, int cfd) {
/* If there's already a start pending don't bother to
* do anything */
SET_FOREACH(u, UNIT(s)->dependencies[UNIT_TRIGGERS], i)
- if (unit_pending_active(u)) {
+ if (unit_active_or_pending(u)) {
pending = true;
break;
}
@@ -1658,7 +1634,7 @@ static int socket_start(Unit *u) {
service = SERVICE(UNIT_DEREF(s->service));
if (UNIT(service)->load_state != UNIT_LOADED) {
- log_error_unit(UNIT(service)->id,
+ log_error_unit(u->id,
"Socket service %s not loaded, refusing.",
UNIT(service)->id);
return -ENOENT;
@@ -1669,7 +1645,7 @@ static int socket_start(Unit *u) {
if (service->state != SERVICE_DEAD &&
service->state != SERVICE_FAILED &&
service->state != SERVICE_AUTO_RESTART) {
- log_error_unit(UNIT(service)->id,
+ log_error_unit(u->id,
"Socket service %s already active, refusing.",
UNIT(service)->id);
return -EBUSY;
@@ -1677,7 +1653,7 @@ static int socket_start(Unit *u) {
#ifdef HAVE_SYSV_COMPAT
if (service->is_sysv) {
- log_error_unit(UNIT(s)->id,
+ log_error_unit(u->id,
"Using SysV services for socket activation is not supported. Refusing.");
return -ENOENT;
}
@@ -1769,6 +1745,8 @@ static int socket_serialize(Unit *u, FILE *f, FDSet *fds) {
}
}
+ exec_context_serialize(&s->exec_context, UNIT(s), f);
+
return 0;
}
@@ -1928,7 +1906,22 @@ static int socket_deserialize_item(Unit *u, const char *key, const char *value,
p->fd = fdset_remove(fds, fd);
}
}
+ } else if (streq(key, "tmp-dir")) {
+ char *t;
+
+ t = strdup(value);
+ if (!t)
+ return log_oom();
+
+ s->exec_context.tmp_dir = t;
+ } else if (streq(key, "var-tmp-dir")) {
+ char *t;
+ t = strdup(value);
+ if (!t)
+ return log_oom();
+
+ s->exec_context.var_tmp_dir = t;
} else
log_debug_unit(UNIT(s)->id,
"Unknown serialization key '%s'", key);
@@ -1964,19 +1957,41 @@ static int socket_distribute_fds(Unit *u, FDSet *fds) {
return 0;
}
-static UnitActiveState socket_active_state(Unit *u) {
+_pure_ static UnitActiveState socket_active_state(Unit *u) {
assert(u);
return state_translation_table[SOCKET(u)->state];
}
-static const char *socket_sub_state_to_string(Unit *u) {
+_pure_ static const char *socket_sub_state_to_string(Unit *u) {
assert(u);
return socket_state_to_string(SOCKET(u)->state);
}
-static bool socket_check_gc(Unit *u) {
+const char* socket_port_type_to_string(SocketPort *p) {
+
+ assert(p);
+
+ switch (p->type) {
+ case SOCKET_SOCKET:
+ switch (p->address.type) {
+ case SOCK_STREAM: return "Stream";
+ case SOCK_DGRAM: return "Datagram";
+ case SOCK_SEQPACKET: return "SequentialPacket";
+ case SOCK_RAW:
+ if (socket_address_family(&p->address) == AF_NETLINK)
+ return "Netlink";
+ default: return "Invalid";
+ }
+ case SOCKET_SPECIAL: return "Special";
+ case SOCKET_MQUEUE: return "MessageQueue";
+ case SOCKET_FIFO: return "FIFO";
+ default: return NULL;
+ }
+}
+
+_pure_ static bool socket_check_gc(Unit *u) {
Socket *s = SOCKET(u);
assert(u);
@@ -2292,53 +2307,7 @@ static void socket_reset_failed(Unit *u) {
}
static int socket_kill(Unit *u, KillWho who, int signo, DBusError *error) {
- Socket *s = SOCKET(u);
- int r = 0;
- Set *pid_set = NULL;
-
- assert(s);
-
- if (who == KILL_MAIN) {
- dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "Socket units have no main processes");
- return -ESRCH;
- }
-
- if (s->control_pid <= 0 && who == KILL_CONTROL) {
- dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "No control process to kill");
- return -ESRCH;
- }
-
- if (who == KILL_CONTROL || who == KILL_ALL)
- if (s->control_pid > 0)
- if (kill(s->control_pid, signo) < 0)
- r = -errno;
-
- if (who == KILL_ALL) {
- int q;
-
- pid_set = set_new(trivial_hash_func, trivial_compare_func);
- if (!pid_set)
- return -ENOMEM;
-
- /* Exclude the control pid from being killed via the cgroup */
- if (s->control_pid > 0) {
- q = set_put(pid_set, LONG_TO_PTR(s->control_pid));
- if (q < 0) {
- r = q;
- goto finish;
- }
- }
-
- q = cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, signo, false, false, pid_set, NULL);
- if (q < 0 && q != -EAGAIN && q != -ESRCH && q != -ENOENT)
- r = q;
- }
-
-finish:
- if (pid_set)
- set_free(pid_set);
-
- return r;
+ return unit_kill_common(u, who, signo, -1, SOCKET(u)->control_pid, error);
}
static const char* const socket_state_table[_SOCKET_STATE_MAX] = {
@@ -2381,13 +2350,15 @@ DEFINE_STRING_TABLE_LOOKUP(socket_result, SocketResult);
const UnitVTable socket_vtable = {
.object_size = sizeof(Socket),
- .exec_context_offset = offsetof(Socket, exec_context),
.sections =
"Unit\0"
"Socket\0"
"Install\0",
+ .exec_context_offset = offsetof(Socket, exec_context),
+ .exec_section = "Socket",
+
.init = socket_init,
.done = socket_done,
.load = socket_load,
diff --git a/src/core/socket.h b/src/core/socket.h
index f099520dce..9d48cde0a6 100644
--- a/src/core/socket.h
+++ b/src/core/socket.h
@@ -130,6 +130,10 @@ struct Socket {
bool broadcast;
bool pass_cred;
bool pass_sec;
+
+ /* Only for INET6 sockets: issue IPV6_V6ONLY sockopt */
+ SocketAddressBindIPv6Only bind_ipv6_only;
+
int priority;
int mark;
size_t receive_buffer;
@@ -142,9 +146,6 @@ struct Socket {
long mq_maxmsg;
long mq_msgsize;
- /* Only for INET6 sockets: issue IPV6_V6ONLY sockopt */
- SocketAddressBindIPv6Only bind_ipv6_only;
-
char *smack;
char *smack_ip_in;
char *smack_ip_out;
@@ -163,13 +164,17 @@ int socket_add_one_mount_link(Socket *s, Mount *m);
/* Called from the service code when a per-connection service ended */
void socket_connection_unref(Socket *s);
+void socket_free_ports(Socket *s);
+
extern const UnitVTable socket_vtable;
-const char* socket_state_to_string(SocketState i);
-SocketState socket_state_from_string(const char *s);
+const char* socket_state_to_string(SocketState i) _const_;
+SocketState socket_state_from_string(const char *s) _pure_;
+
+const char* socket_exec_command_to_string(SocketExecCommand i) _const_;
+SocketExecCommand socket_exec_command_from_string(const char *s) _pure_;
-const char* socket_exec_command_to_string(SocketExecCommand i);
-SocketExecCommand socket_exec_command_from_string(const char *s);
+const char* socket_result_to_string(SocketResult i) _const_;
+SocketResult socket_result_from_string(const char *s) _pure_;
-const char* socket_result_to_string(SocketResult i);
-SocketResult socket_result_from_string(const char *s);
+const char* socket_port_type_to_string(SocketPort *p) _pure_;
diff --git a/src/core/special.h b/src/core/special.h
index ef72260ecd..a9b50bce05 100644
--- a/src/core/special.h
+++ b/src/core/special.h
@@ -46,21 +46,23 @@
/* Early boot targets */
#define SPECIAL_SYSINIT_TARGET "sysinit.target"
#define SPECIAL_SOCKETS_TARGET "sockets.target"
-#define SPECIAL_LOCAL_FS_TARGET "local-fs.target" /* LSB's $local_fs */
+#define SPECIAL_TIMERS_TARGET "timers.target"
+#define SPECIAL_PATHS_TARGET "paths.target"
+#define SPECIAL_LOCAL_FS_TARGET "local-fs.target"
#define SPECIAL_LOCAL_FS_PRE_TARGET "local-fs-pre.target"
+#define SPECIAL_INITRD_FS_TARGET "initrd-fs.target"
+#define SPECIAL_INITRD_ROOT_FS_TARGET "initrd-root-fs.target"
#define SPECIAL_REMOTE_FS_TARGET "remote-fs.target" /* LSB's $remote_fs */
#define SPECIAL_REMOTE_FS_PRE_TARGET "remote-fs-pre.target"
#define SPECIAL_SWAP_TARGET "swap.target"
+#define SPECIAL_NETWORK_ONLINE_TARGET "network-online.target"
#define SPECIAL_BASIC_TARGET "basic.target"
/* LSB compatibility */
#define SPECIAL_NETWORK_TARGET "network.target" /* LSB's $network */
#define SPECIAL_NSS_LOOKUP_TARGET "nss-lookup.target" /* LSB's $named */
#define SPECIAL_RPCBIND_TARGET "rpcbind.target" /* LSB's $portmap */
-#define SPECIAL_SYSLOG_TARGET "syslog.target" /* LSB's $syslog */
#define SPECIAL_TIME_SYNC_TARGET "time-sync.target" /* LSB's $time */
-#define SPECIAL_DISPLAY_MANAGER_SERVICE "display-manager.service" /* Common extension of LSB */
-#define SPECIAL_MAIL_TRANSFER_AGENT_TARGET "mail-transfer-agent.target" /* Common extension of LSB */
/*
* Rules regarding adding further high level targets like the above:
diff --git a/src/core/swap.c b/src/core/swap.c
index c8e25d0665..d503fe20df 100644
--- a/src/core/swap.c
+++ b/src/core/swap.c
@@ -125,7 +125,7 @@ static void swap_done(Unit *u) {
free(s->parameters_fragment.what);
s->parameters_fragment.what = NULL;
- exec_context_done(&s->exec_context);
+ exec_context_done(&s->exec_context, manager_is_reloading_or_reexecuting(u->manager));
exec_command_done_array(s->exec_command, _SWAP_EXEC_COMMAND_MAX);
s->control_command = NULL;
@@ -214,7 +214,7 @@ static int swap_add_default_dependencies(Swap *s) {
static int swap_verify(Swap *s) {
bool b;
- char _cleanup_free_ *e = NULL;
+ _cleanup_free_ char *e = NULL;
if (UNIT(s)->load_state != UNIT_LOADED)
return 0;
@@ -315,7 +315,7 @@ static int swap_add_one(
bool set_flags) {
Unit *u = NULL;
- char _cleanup_free_ *e = NULL;
+ _cleanup_free_ char *e = NULL;
char *wp = NULL;
bool delete = false;
int r;
@@ -632,6 +632,7 @@ static void swap_enter_dead(Swap *s, SwapResult f) {
if (f != SWAP_SUCCESS)
s->result = f;
+ exec_context_tmp_dirs_done(&s->exec_context);
swap_set_state(s, s->result != SWAP_SUCCESS ? SWAP_FAILED : SWAP_DEAD);
}
@@ -646,57 +647,23 @@ static void swap_enter_active(Swap *s, SwapResult f) {
static void swap_enter_signal(Swap *s, SwapState state, SwapResult f) {
int r;
- Set *pid_set = NULL;
- bool wait_for_exit = false;
assert(s);
if (f != SWAP_SUCCESS)
s->result = f;
- if (s->kill_context.kill_mode != KILL_NONE) {
- int sig = (state == SWAP_ACTIVATING_SIGTERM ||
- state == SWAP_DEACTIVATING_SIGTERM) ? s->kill_context.kill_signal : SIGKILL;
-
- if (s->control_pid > 0) {
- if (kill_and_sigcont(s->control_pid, sig) < 0 && errno != ESRCH)
-
- log_warning_unit(UNIT(s)->id,
- "Failed to kill control process %li: %m",
- (long) s->control_pid);
- else
- wait_for_exit = true;
- }
-
- if (s->kill_context.kill_mode == KILL_CONTROL_GROUP) {
-
- pid_set = set_new(trivial_hash_func, trivial_compare_func);
- if (!pid_set) {
- r = log_oom();
- goto fail;
- }
-
- /* Exclude the control pid from being killed via the cgroup */
- if (s->control_pid > 0) {
- r = set_put(pid_set, LONG_TO_PTR(s->control_pid));
- if (r < 0)
- goto fail;
- }
-
- r = cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, sig, true, false, pid_set, NULL);
- if (r < 0) {
- if (r != -EAGAIN && r != -ESRCH && r != -ENOENT)
- log_warning_unit(UNIT(s)->id,
- "Failed to kill control group: %s", strerror(-r));
- } else if (r > 0)
- wait_for_exit = true;
-
- set_free(pid_set);
- pid_set = NULL;
- }
- }
+ r = unit_kill_context(
+ UNIT(s),
+ &s->kill_context,
+ state != SWAP_ACTIVATING_SIGTERM && state != SWAP_DEACTIVATING_SIGTERM,
+ -1,
+ s->control_pid,
+ false);
+ if (r < 0)
+ goto fail;
- if (wait_for_exit) {
+ if (r > 0) {
r = unit_watch_timer(UNIT(s), CLOCK_MONOTONIC, true, s->timeout_usec, &s->timer_watch);
if (r < 0)
goto fail;
@@ -712,9 +679,6 @@ fail:
"%s failed to kill processes: %s", UNIT(s)->id, strerror(-r));
swap_enter_dead(s, SWAP_FAILURE_RESOURCES);
-
- if (pid_set)
- set_free(pid_set);
}
static void swap_enter_activating(Swap *s) {
@@ -868,6 +832,8 @@ static int swap_serialize(Unit *u, FILE *f, FDSet *fds) {
if (s->control_command_id >= 0)
unit_serialize_item(u, f, "control-command", swap_exec_command_to_string(s->control_command_id));
+ exec_context_serialize(&s->exec_context, UNIT(s), f);
+
return 0;
}
@@ -911,26 +877,41 @@ static int swap_deserialize_item(Unit *u, const char *key, const char *value, FD
s->control_command_id = id;
s->control_command = s->exec_command + id;
}
+ } else if (streq(key, "tmp-dir")) {
+ char *t;
+ t = strdup(value);
+ if (!t)
+ return log_oom();
+
+ s->exec_context.tmp_dir = t;
+ } else if (streq(key, "var-tmp-dir")) {
+ char *t;
+
+ t = strdup(value);
+ if (!t)
+ return log_oom();
+
+ s->exec_context.var_tmp_dir = t;
} else
log_debug_unit(u->id, "Unknown serialization key '%s'", key);
return 0;
}
-static UnitActiveState swap_active_state(Unit *u) {
+_pure_ static UnitActiveState swap_active_state(Unit *u) {
assert(u);
return state_translation_table[SWAP(u)->state];
}
-static const char *swap_sub_state_to_string(Unit *u) {
+_pure_ static const char *swap_sub_state_to_string(Unit *u) {
assert(u);
return swap_state_to_string(SWAP(u)->state);
}
-static bool swap_check_gc(Unit *u) {
+_pure_ static bool swap_check_gc(Unit *u) {
Swap *s = SWAP(u);
assert(s);
@@ -1261,10 +1242,14 @@ static void swap_shutdown(Manager *m) {
static int swap_enumerate(Manager *m) {
int r;
- struct epoll_event ev;
assert(m);
if (!m->proc_swaps) {
+ struct epoll_event ev = {
+ .events = EPOLLPRI,
+ .data.ptr = &m->swap_watch,
+ };
+
m->proc_swaps = fopen("/proc/swaps", "re");
if (!m->proc_swaps)
return (errno == ENOENT) ? 0 : -errno;
@@ -1272,10 +1257,6 @@ static int swap_enumerate(Manager *m) {
m->swap_watch.type = WATCH_SWAP;
m->swap_watch.fd = fileno(m->proc_swaps);
- zero(ev);
- ev.events = EPOLLPRI;
- ev.data.ptr = &m->swap_watch;
-
if (epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, m->swap_watch.fd, &ev) < 0)
return -errno;
}
@@ -1299,53 +1280,7 @@ static void swap_reset_failed(Unit *u) {
}
static int swap_kill(Unit *u, KillWho who, int signo, DBusError *error) {
- Swap *s = SWAP(u);
- int r = 0;
- Set *pid_set = NULL;
-
- assert(s);
-
- if (who == KILL_MAIN) {
- dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "Swap units have no main processes");
- return -ESRCH;
- }
-
- if (s->control_pid <= 0 && who == KILL_CONTROL) {
- dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "No control process to kill");
- return -ESRCH;
- }
-
- if (who == KILL_CONTROL || who == KILL_ALL)
- if (s->control_pid > 0)
- if (kill(s->control_pid, signo) < 0)
- r = -errno;
-
- if (who == KILL_ALL) {
- int q;
-
- pid_set = set_new(trivial_hash_func, trivial_compare_func);
- if (!pid_set)
- return -ENOMEM;
-
- /* Exclude the control pid from being killed via the cgroup */
- if (s->control_pid > 0) {
- q = set_put(pid_set, LONG_TO_PTR(s->control_pid));
- if (q < 0) {
- r = q;
- goto finish;
- }
- }
-
- q = cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, signo, false, false, pid_set, NULL);
- if (q < 0 && q != -EAGAIN && q != -ESRCH && q != -ENOENT)
- r = q;
- }
-
-finish:
- if (pid_set)
- set_free(pid_set);
-
- return r;
+ return unit_kill_common(u, who, signo, -1, SWAP(u)->control_pid, error);
}
static const char* const swap_state_table[_SWAP_STATE_MAX] = {
@@ -1382,13 +1317,15 @@ DEFINE_STRING_TABLE_LOOKUP(swap_result, SwapResult);
const UnitVTable swap_vtable = {
.object_size = sizeof(Swap),
- .exec_context_offset = offsetof(Swap, exec_context),
.sections =
"Unit\0"
"Swap\0"
"Install\0",
+ .exec_context_offset = offsetof(Swap, exec_context),
+ .exec_section = "Swap",
+
.no_alias = true,
.no_instances = true,
diff --git a/src/core/swap.h b/src/core/swap.h
index 35d47fd46f..121889d1d5 100644
--- a/src/core/swap.h
+++ b/src/core/swap.h
@@ -111,11 +111,11 @@ int swap_add_one_mount_link(Swap *s, Mount *m);
int swap_dispatch_reload(Manager *m);
int swap_fd_event(Manager *m, int events);
-const char* swap_state_to_string(SwapState i);
-SwapState swap_state_from_string(const char *s);
+const char* swap_state_to_string(SwapState i) _const_;
+SwapState swap_state_from_string(const char *s) _pure_;
-const char* swap_exec_command_to_string(SwapExecCommand i);
-SwapExecCommand swap_exec_command_from_string(const char *s);
+const char* swap_exec_command_to_string(SwapExecCommand i) _const_;
+SwapExecCommand swap_exec_command_from_string(const char *s) _pure_;
-const char* swap_result_to_string(SwapResult i);
-SwapResult swap_result_from_string(const char *s);
+const char* swap_result_to_string(SwapResult i) _const_;
+SwapResult swap_result_from_string(const char *s) _pure_;
diff --git a/src/core/sync.c b/src/core/sync.c
new file mode 100644
index 0000000000..7e74b63071
--- /dev/null
+++ b/src/core/sync.c
@@ -0,0 +1,65 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <pthread.h>
+#include <unistd.h>
+
+#include "sync.h"
+
+static void *sync_thread(void *p) {
+ sync();
+ return NULL;
+}
+
+int asynchronous_sync(void) {
+ pthread_attr_t a;
+ pthread_t t;
+ int r;
+
+ /* It kinda sucks that we have to resort to threads to
+ * implement an asynchronous sync(), but well, such is
+ * life.
+ *
+ * Note that issuing this command right before exiting a
+ * process will cause the process to wait for the sync() to
+ * complete. This function hence is nicely asynchronous really
+ * only in long running processes. */
+
+ r = pthread_attr_init(&a);
+ if (r != 0)
+ return -r;
+
+ r = pthread_attr_setdetachstate(&a, PTHREAD_CREATE_DETACHED);
+ if (r != 0) {
+ r = -r;
+ goto finish;
+ }
+
+ r = pthread_create(&t, &a, sync_thread, NULL);
+ if (r != 0) {
+ r = -r;
+ goto finish;
+ }
+
+finish:
+ pthread_attr_destroy(&a);
+ return r;
+}
diff --git a/src/core/sync.h b/src/core/sync.h
new file mode 100644
index 0000000000..eb26c88deb
--- /dev/null
+++ b/src/core/sync.h
@@ -0,0 +1,24 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+int asynchronous_sync(void);
diff --git a/src/core/syscall-list.c b/src/core/syscall-list.c
index 05fad3e158..35216b2a88 100644
--- a/src/core/syscall-list.c
+++ b/src/core/syscall-list.c
@@ -26,12 +26,14 @@
#include "syscall-list.h"
-const struct syscall_name *lookup_syscall(register const char *str, register unsigned int len);
+static const struct syscall_name* lookup_syscall(register const char *str,
+ register unsigned int len);
#include "syscall-to-name.h"
#include "syscall-from-name.h"
const char *syscall_to_name(int id) {
+ id = SYSCALL_TO_INDEX(id);
if (id < 0 || id >= (int) ELEMENTSOF(syscall_names))
return NULL;
diff --git a/src/core/syscall-list.h b/src/core/syscall-list.h
index 0fc6859605..6bb4d91f91 100644
--- a/src/core/syscall-list.h
+++ b/src/core/syscall-list.h
@@ -22,6 +22,20 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#if defined __x86_64__ && defined __ILP32__
+/* The x32 ABI defines all of its syscalls with bit 30 set, which causes
+ issues when attempting to use syscalls as simple indices into an array.
+ Instead, use the syscall id & ~SYSCALL_MASK as the index, and | the
+ internal id with the syscall mask as needed.
+*/
+#include <asm/unistd.h>
+#define SYSCALL_TO_INDEX(x) ((x) & ~__X32_SYSCALL_BIT)
+#define INDEX_TO_SYSCALL(x) ((x) | __X32_SYSCALL_BIT)
+#else
+#define SYSCALL_TO_INDEX(x) (x)
+#define INDEX_TO_SYSCALL(x) (x)
+#endif
+
const char *syscall_to_name(int id);
int syscall_from_name(const char *name);
diff --git a/src/core/system.conf b/src/core/system.conf
index 68076d9735..508e0f5fa4 100644
--- a/src/core/system.conf
+++ b/src/core/system.conf
@@ -5,7 +5,7 @@
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
-# See systemd.conf(5) for details
+# See systemd-system.conf(5) for details
[Manager]
#LogLevel=info
diff --git a/src/core/target.c b/src/core/target.c
index 981424132b..3fffa0d2f5 100644
--- a/src/core/target.c
+++ b/src/core/target.c
@@ -184,13 +184,13 @@ static int target_deserialize_item(Unit *u, const char *key, const char *value,
return 0;
}
-static UnitActiveState target_active_state(Unit *u) {
+_pure_ static UnitActiveState target_active_state(Unit *u) {
assert(u);
return state_translation_table[TARGET(u)->state];
}
-static const char *target_sub_state_to_string(Unit *u) {
+_pure_ static const char *target_sub_state_to_string(Unit *u) {
assert(u);
return target_state_to_string(TARGET(u)->state);
diff --git a/src/core/target.h b/src/core/target.h
index 1676553add..a5398d9e98 100644
--- a/src/core/target.h
+++ b/src/core/target.h
@@ -40,5 +40,5 @@ struct Target {
extern const UnitVTable target_vtable;
-const char* target_state_to_string(TargetState i);
-TargetState target_state_from_string(const char *s);
+const char* target_state_to_string(TargetState i) _const_;
+TargetState target_state_from_string(const char *s) _pure_;
diff --git a/src/core/timer.c b/src/core/timer.c
index 31ef176e7e..9166c1e2fc 100644
--- a/src/core/timer.c
+++ b/src/core/timer.c
@@ -26,7 +26,7 @@
#include "timer.h"
#include "dbus-timer.h"
#include "special.h"
-#include "bus-errors.h"
+#include "dbus-common.h"
static const UnitActiveState state_translation_table[_TIMER_STATE_MAX] = {
[TIMER_DEAD] = UNIT_INACTIVE,
@@ -48,8 +48,7 @@ static void timer_init(Unit *u) {
watch_init(&t->realtime_watch);
}
-static void timer_done(Unit *u) {
- Timer *t = TIMER(u);
+void timer_free_values(Timer *t) {
TimerValue *v;
assert(t);
@@ -62,11 +61,17 @@ static void timer_done(Unit *u) {
free(v);
}
+}
+
+static void timer_done(Unit *u) {
+ Timer *t = TIMER(u);
+
+ assert(t);
+
+ timer_free_values(t);
unit_unwatch_timer(u, &t->monotonic_watch);
unit_unwatch_timer(u, &t->realtime_watch);
-
- unit_ref_unset(&t->unit);
}
static int timer_verify(Timer *t) {
@@ -89,11 +94,11 @@ static int timer_add_default_dependencies(Timer *t) {
assert(t);
- if (UNIT(t)->manager->running_as == SYSTEMD_SYSTEM) {
- r = unit_add_dependency_by_name(UNIT(t), UNIT_BEFORE, SPECIAL_BASIC_TARGET, NULL, true);
- if (r < 0)
- return r;
+ r = unit_add_dependency_by_name(UNIT(t), UNIT_BEFORE, SPECIAL_TIMERS_TARGET, NULL, true);
+ if (r < 0)
+ return r;
+ if (UNIT(t)->manager->running_as == SYSTEMD_SYSTEM) {
r = unit_add_two_dependencies_by_name(UNIT(t), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SYSINIT_TARGET, NULL, true);
if (r < 0)
return r;
@@ -115,20 +120,18 @@ static int timer_load(Unit *u) {
if (u->load_state == UNIT_LOADED) {
- if (!UNIT_DEREF(t->unit)) {
+ if (set_isempty(u->dependencies[UNIT_TRIGGERS])) {
Unit *x;
r = unit_load_related_unit(u, ".service", &x);
if (r < 0)
return r;
- unit_ref_set(&t->unit, x);
+ r = unit_add_two_dependencies(u, UNIT_BEFORE, UNIT_TRIGGERS, x, true);
+ if (r < 0)
+ return r;
}
- r = unit_add_two_dependencies(u, UNIT_BEFORE, UNIT_TRIGGERS, UNIT_DEREF(t->unit), true);
- if (r < 0)
- return r;
-
if (UNIT(t)->default_dependencies) {
r = timer_add_default_dependencies(t);
if (r < 0)
@@ -141,15 +144,18 @@ static int timer_load(Unit *u) {
static void timer_dump(Unit *u, FILE *f, const char *prefix) {
Timer *t = TIMER(u);
+ Unit *trigger;
TimerValue *v;
+ trigger = UNIT_TRIGGER(u);
+
fprintf(f,
"%sTimer State: %s\n"
"%sResult: %s\n"
"%sUnit: %s\n",
prefix, timer_state_to_string(t->state),
prefix, timer_result_to_string(t->result),
- prefix, UNIT_DEREF(t->unit)->id);
+ prefix, trigger ? trigger->id : "n/a");
LIST_FOREACH(value, v, t->values) {
@@ -170,7 +176,7 @@ static void timer_dump(Unit *u, FILE *f, const char *prefix) {
"%s%s: %s\n",
prefix,
timer_base_to_string(v->base),
- strna(format_timespan(timespan1, sizeof(timespan1), v->value)));
+ strna(format_timespan(timespan1, sizeof(timespan1), v->value, 0)));
}
}
}
@@ -245,11 +251,6 @@ static void timer_enter_waiting(Timer *t, bool initial) {
if (r < 0)
continue;
- if (!initial && v->next_elapse < ts.realtime) {
- v->disabled = true;
- continue;
- }
-
if (!found_realtime)
t->next_elapse_realtime = v->next_elapse;
else
@@ -278,18 +279,26 @@ static void timer_enter_waiting(Timer *t, bool initial) {
case TIMER_UNIT_ACTIVE:
- if (UNIT_DEREF(t->unit)->inactive_exit_timestamp.monotonic <= 0)
+ base = UNIT_TRIGGER(UNIT(t))->inactive_exit_timestamp.monotonic;
+
+ if (base <= 0)
+ base = t->last_trigger_monotonic;
+
+ if (base <= 0)
continue;
- base = UNIT_DEREF(t->unit)->inactive_exit_timestamp.monotonic;
break;
case TIMER_UNIT_INACTIVE:
- if (UNIT_DEREF(t->unit)->inactive_enter_timestamp.monotonic <= 0)
+ base = UNIT_TRIGGER(UNIT(t))->inactive_enter_timestamp.monotonic;
+
+ if (base <= 0)
+ base = t->last_trigger_monotonic;
+
+ if (base <= 0)
continue;
- base = UNIT_DEREF(t->unit)->inactive_enter_timestamp.monotonic;
break;
default:
@@ -298,7 +307,10 @@ static void timer_enter_waiting(Timer *t, bool initial) {
v->next_elapse = base + v->value;
- if (!initial && v->next_elapse < ts.monotonic) {
+ if (!initial &&
+ v->next_elapse < ts.monotonic &&
+ (v->base == TIMER_ACTIVE || v->base == TIMER_BOOT || v->base == TIMER_STARTUP)) {
+ /* This is a one time trigger, disable it now */
v->disabled = true;
continue;
}
@@ -321,9 +333,9 @@ static void timer_enter_waiting(Timer *t, bool initial) {
if (found_monotonic) {
char buf[FORMAT_TIMESPAN_MAX];
log_debug_unit(UNIT(t)->id,
- "%s: Monotonic timer elapses in %s the next time.",
+ "%s: Monotonic timer elapses in %s.",
UNIT(t)->id,
- format_timespan(buf, sizeof(buf), t->next_elapse_monotonic - ts.monotonic));
+ format_timespan(buf, sizeof(buf), t->next_elapse_monotonic > ts.monotonic ? t->next_elapse_monotonic - ts.monotonic : 0, 0));
r = unit_watch_timer(UNIT(t), CLOCK_MONOTONIC, false, t->next_elapse_monotonic, &t->monotonic_watch);
if (r < 0)
@@ -334,7 +346,7 @@ static void timer_enter_waiting(Timer *t, bool initial) {
if (found_realtime) {
char buf[FORMAT_TIMESTAMP_MAX];
log_debug_unit(UNIT(t)->id,
- "%s: Realtime timer elapses at %s the next time.",
+ "%s: Realtime timer elapses at %s.",
UNIT(t)->id,
format_timestamp(buf, sizeof(buf), t->next_elapse_realtime));
@@ -362,13 +374,16 @@ static void timer_enter_running(Timer *t) {
dbus_error_init(&error);
/* Don't start job if we are supposed to go down */
- if (UNIT(t)->job && UNIT(t)->job->type == JOB_STOP)
+ if (unit_stop_pending(UNIT(t)))
return;
- r = manager_add_job(UNIT(t)->manager, JOB_START, UNIT_DEREF(t->unit), JOB_REPLACE, true, &error, NULL);
+ r = manager_add_job(UNIT(t)->manager, JOB_START, UNIT_TRIGGER(UNIT(t)),
+ JOB_REPLACE, true, &error, NULL);
if (r < 0)
goto fail;
+ t->last_trigger_monotonic = now(CLOCK_MONOTONIC);
+
timer_set_state(t, TIMER_RUNNING);
return;
@@ -387,7 +402,7 @@ static int timer_start(Unit *u) {
assert(t);
assert(t->state == TIMER_DEAD || t->state == TIMER_FAILED);
- if (UNIT_DEREF(t->unit)->load_state != UNIT_LOADED)
+ if (UNIT_TRIGGER(u)->load_state != UNIT_LOADED)
return -ENOENT;
t->result = TIMER_SUCCESS;
@@ -449,13 +464,13 @@ static int timer_deserialize_item(Unit *u, const char *key, const char *value, F
return 0;
}
-static UnitActiveState timer_active_state(Unit *u) {
+_pure_ static UnitActiveState timer_active_state(Unit *u) {
assert(u);
return state_translation_table[TIMER(u)->state];
}
-static const char *timer_sub_state_to_string(Unit *u) {
+_pure_ static const char *timer_sub_state_to_string(Unit *u) {
assert(u);
return timer_state_to_string(TIMER(u)->state);
@@ -474,58 +489,47 @@ static void timer_timer_event(Unit *u, uint64_t elapsed, Watch *w) {
timer_enter_running(t);
}
-void timer_unit_notify(Unit *u, UnitActiveState new_state) {
- Iterator i;
- Unit *k;
-
- if (u->type == UNIT_TIMER)
- return;
+static void timer_trigger_notify(Unit *u, Unit *other) {
+ Timer *t = TIMER(u);
+ TimerValue *v;
- SET_FOREACH(k, u->dependencies[UNIT_TRIGGERED_BY], i) {
- Timer *t;
- TimerValue *v;
+ assert(u);
+ assert(other);
- if (k->type != UNIT_TIMER)
- continue;
+ if (other->load_state != UNIT_LOADED)
+ return;
- if (k->load_state != UNIT_LOADED)
- continue;
+ /* Reenable all timers that depend on unit state */
+ LIST_FOREACH(value, v, t->values)
+ if (v->base == TIMER_UNIT_ACTIVE ||
+ v->base == TIMER_UNIT_INACTIVE)
+ v->disabled = false;
- t = TIMER(k);
+ switch (t->state) {
- /* Reenable all timers that depend on unit state */
- LIST_FOREACH(value, v, t->values)
- if (v->base == TIMER_UNIT_ACTIVE ||
- v->base == TIMER_UNIT_INACTIVE)
- v->disabled = false;
+ case TIMER_WAITING:
+ case TIMER_ELAPSED:
- switch (t->state) {
+ /* Recalculate sleep time */
+ timer_enter_waiting(t, false);
+ break;
- case TIMER_WAITING:
- case TIMER_ELAPSED:
+ case TIMER_RUNNING:
- /* Recalculate sleep time */
+ if (UNIT_IS_INACTIVE_OR_FAILED(unit_active_state(other))) {
+ log_debug_unit(UNIT(t)->id,
+ "%s got notified about unit deactivation.",
+ UNIT(t)->id);
timer_enter_waiting(t, false);
- break;
-
- case TIMER_RUNNING:
-
- if (UNIT_IS_INACTIVE_OR_FAILED(new_state)) {
- log_debug_unit(UNIT(t)->id,
- "%s got notified about unit deactivation.",
- UNIT(t)->id);
- timer_enter_waiting(t, false);
- }
-
- break;
+ }
+ break;
- case TIMER_DEAD:
- case TIMER_FAILED:
- break;
+ case TIMER_DEAD:
+ case TIMER_FAILED:
+ break;
- default:
- assert_not_reached("Unknown timer state");
- }
+ default:
+ assert_not_reached("Unknown timer state");
}
}
@@ -548,8 +552,8 @@ static void timer_time_change(Unit *u) {
if (t->state != TIMER_WAITING)
return;
- log_info_unit(u->id,
- "%s: time change, recalculating next elapse.", u->id);
+ log_debug_unit(u->id,
+ "%s: time change, recalculating next elapse.", u->id);
timer_enter_waiting(t, false);
}
@@ -607,6 +611,8 @@ const UnitVTable timer_vtable = {
.timer_event = timer_timer_event,
+ .trigger_notify = timer_trigger_notify,
+
.reset_failed = timer_reset_failed,
.time_change = timer_time_change,
diff --git a/src/core/timer.h b/src/core/timer.h
index 57a514a68c..4168553e9d 100644
--- a/src/core/timer.h
+++ b/src/core/timer.h
@@ -52,8 +52,8 @@ typedef struct TimerValue {
bool disabled;
clockid_t clock_id;
- usec_t value;
- CalendarSpec *calendar_spec;
+ usec_t value; /* only for monotonic events */
+ CalendarSpec *calendar_spec; /* only for calendar events */
usec_t next_elapse;
LIST_FIELDS(struct TimerValue, value);
@@ -74,23 +74,24 @@ struct Timer {
usec_t next_elapse_realtime;
TimerState state, deserialized_state;
- UnitRef unit;
Watch monotonic_watch;
Watch realtime_watch;
TimerResult result;
+
+ usec_t last_trigger_monotonic;
};
-void timer_unit_notify(Unit *u, UnitActiveState new_state);
+void timer_free_values(Timer *t);
extern const UnitVTable timer_vtable;
-const char *timer_state_to_string(TimerState i);
-TimerState timer_state_from_string(const char *s);
+const char *timer_state_to_string(TimerState i) _const_;
+TimerState timer_state_from_string(const char *s) _pure_;
-const char *timer_base_to_string(TimerBase i);
-TimerBase timer_base_from_string(const char *s);
+const char *timer_base_to_string(TimerBase i) _const_;
+TimerBase timer_base_from_string(const char *s) _pure_;
-const char* timer_result_to_string(TimerResult i);
-TimerResult timer_result_from_string(const char *s);
+const char* timer_result_to_string(TimerResult i) _const_;
+TimerResult timer_result_from_string(const char *s) _pure_;
diff --git a/src/core/transaction.c b/src/core/transaction.c
index 1854047afd..fa97b69755 100644
--- a/src/core/transaction.c
+++ b/src/core/transaction.c
@@ -24,6 +24,7 @@
#include "transaction.h"
#include "bus-errors.h"
+#include "dbus-common.h"
static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies);
@@ -97,6 +98,7 @@ static void transaction_merge_and_delete_job(Transaction *tr, Job *j, Job *other
j->type = t;
j->state = JOB_WAITING;
j->override = j->override || other->override;
+ j->irreversible = j->irreversible || other->irreversible;
j->matters_to_anchor = j->matters_to_anchor || other->matters_to_anchor;
@@ -138,7 +140,7 @@ static void transaction_merge_and_delete_job(Transaction *tr, Job *j, Job *other
transaction_delete_job(tr, other, true);
}
-static bool job_is_conflicted_by(Job *j) {
+_pure_ static bool job_is_conflicted_by(Job *j) {
JobDependency *l;
assert(j);
@@ -318,7 +320,7 @@ rescan:
}
}
-static bool unit_matters_to_anchor(Unit *u, Job *j) {
+_pure_ static bool unit_matters_to_anchor(Unit *u, Job *j) {
assert(u);
assert(!j->transaction_prev);
@@ -395,8 +397,8 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi
"Job %s/%s deleted to break ordering cycle starting with %s/%s",
delete->unit->id, job_type_to_string(delete->type),
j->unit->id, job_type_to_string(j->type));
- status_printf(ANSI_HIGHLIGHT_RED_ON " SKIP " ANSI_HIGHLIGHT_OFF, true,
- "Ordering cycle found, skipping %s", unit_description(delete->unit));
+ unit_status_printf(delete->unit, ANSI_HIGHLIGHT_RED_ON " SKIP " ANSI_HIGHLIGHT_OFF,
+ "Ordering cycle found, skipping %s");
transaction_delete_unit(tr, delete->unit);
return -EAGAIN;
}
@@ -488,7 +490,7 @@ rescan:
}
}
-static int transaction_is_destructive(Transaction *tr, DBusError *e) {
+static int transaction_is_destructive(Transaction *tr, JobMode mode, DBusError *e) {
Iterator i;
Job *j;
@@ -503,7 +505,7 @@ static int transaction_is_destructive(Transaction *tr, DBusError *e) {
assert(!j->transaction_prev);
assert(!j->transaction_next);
- if (j->unit->job &&
+ if (j->unit->job && (mode == JOB_FAIL || j->unit->job->irreversible) &&
!job_type_is_superset(j->type, j->unit->job->type)) {
dbus_set_error(e, BUS_ERROR_TRANSACTION_IS_DESTRUCTIVE, "Transaction is destructive.");
@@ -620,6 +622,7 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) {
job_add_to_run_queue(j);
job_add_to_dbus_queue(j);
job_start_timer(j);
+ job_shutdown_magic(j);
}
return 0;
@@ -708,12 +711,10 @@ int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e
transaction_drop_redundant(tr);
/* Ninth step: check whether we can actually apply this */
- if (mode == JOB_FAIL) {
- r = transaction_is_destructive(tr, e);
- if (r < 0) {
- log_notice("Requested transaction contradicts existing jobs: %s", bus_error(e, r));
- return r;
- }
+ r = transaction_is_destructive(tr, mode, e);
+ if (r < 0) {
+ log_notice("Requested transaction contradicts existing jobs: %s", bus_error(e, r));
+ return r;
}
/* Tenth step: apply changes */
@@ -769,6 +770,7 @@ static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, b
j->marker = NULL;
j->matters_to_anchor = false;
j->override = override;
+ j->irreversible = tr->irreversible;
LIST_PREPEND(Job, transaction, f, j);
@@ -1105,7 +1107,7 @@ int transaction_add_isolate_jobs(Transaction *tr, Manager *m) {
return 0;
}
-Transaction *transaction_new(void) {
+Transaction *transaction_new(bool irreversible) {
Transaction *tr;
tr = new0(Transaction, 1);
@@ -1118,6 +1120,8 @@ Transaction *transaction_new(void) {
return NULL;
}
+ tr->irreversible = irreversible;
+
return tr;
}
diff --git a/src/core/transaction.h b/src/core/transaction.h
index 67ace4da0b..12f9194927 100644
--- a/src/core/transaction.h
+++ b/src/core/transaction.h
@@ -33,9 +33,10 @@ struct Transaction {
/* Jobs to be added */
Hashmap *jobs; /* Unit object => Job object list 1:1 */
Job *anchor_job; /* the job the user asked for */
+ bool irreversible;
};
-Transaction *transaction_new(void);
+Transaction *transaction_new(bool irreversible);
void transaction_free(Transaction *tr);
int transaction_add_job_and_dependencies(
diff --git a/src/core/umount.c b/src/core/umount.c
index 96232d38db..1e95ad70dd 100644
--- a/src/core/umount.c
+++ b/src/core/umount.c
@@ -219,7 +219,8 @@ static int loopback_list_get(MountPoint **head) {
}
if (udev_enumerate_add_match_subsystem(e, "block") < 0 ||
- udev_enumerate_add_match_sysname(e, "loop*") < 0) {
+ udev_enumerate_add_match_sysname(e, "loop*") < 0 ||
+ udev_enumerate_add_match_sysattr(e, "loop/backing_file", NULL) < 0) {
r = -EIO;
goto finish;
}
@@ -378,25 +379,23 @@ static int delete_loopback(const char *device) {
}
static int delete_dm(dev_t devnum) {
- int fd, r;
- struct dm_ioctl dm;
+ _cleanup_close_ int fd = -1;
+ int r;
+ struct dm_ioctl dm = {
+ .version = {DM_VERSION_MAJOR,
+ DM_VERSION_MINOR,
+ DM_VERSION_PATCHLEVEL},
+ .data_size = sizeof(dm),
+ .dev = devnum,
+ };
assert(major(devnum) != 0);
- if ((fd = open("/dev/mapper/control", O_RDWR|O_CLOEXEC)) < 0)
+ fd = open("/dev/mapper/control", O_RDWR|O_CLOEXEC);
+ if (fd < 0)
return -errno;
- zero(dm);
- dm.version[0] = DM_VERSION_MAJOR;
- dm.version[1] = DM_VERSION_MINOR;
- dm.version[2] = DM_VERSION_PATCHLEVEL;
-
- dm.data_size = sizeof(dm);
- dm.dev = devnum;
-
r = ioctl(fd, DM_DEV_REMOVE, &dm);
- close_nointr_nofail(fd);
-
return r >= 0 ? 0 : -errno;
}
@@ -419,7 +418,7 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e
*
* Mount points can be stacked. If a mount
* point is stacked below / or /usr, we
- * cannnot umount or remount it directly,
+ * cannot umount or remount it directly,
* since there is no way to refer to the
* underlying mount. There's nothing we can do
* about it for the general case, but we can
@@ -442,9 +441,11 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e
)
continue;
- /* Trying to umount. Forcing to umount if busy (only for NFS mounts) */
+ /* Trying to umount. We don't force here since we rely
+ * on busy NFS and FUSE file systems to return EBUSY
+ * until we closed everything on top of them. */
log_info("Unmounting %s.", m->path);
- if (umount2(m->path, MNT_FORCE) == 0) {
+ if (umount2(m->path, 0) == 0) {
if (changed)
*changed = true;
diff --git a/src/core/unit-printf.c b/src/core/unit-printf.c
index a58c96c238..85a05b872a 100644
--- a/src/core/unit-printf.c
+++ b/src/core/unit-printf.c
@@ -26,6 +26,7 @@
#include "strv.h"
#include "unit-name.h"
#include "unit-printf.h"
+#include "macro.h"
static char *specifier_prefix_and_instance(char specifier, void *data, void *userdata) {
Unit *u = userdata;
@@ -123,6 +124,7 @@ static char *specifier_user_name(char specifier, void *data, void *userdata) {
ExecContext *c;
int r;
const char *username;
+ _cleanup_free_ char *tmp = NULL;
uid_t uid;
char *printed = NULL;
@@ -130,12 +132,13 @@ static char *specifier_user_name(char specifier, void *data, void *userdata) {
c = unit_get_exec_context(u);
- /* get USER env from our own env if set */
- if (!c || !c->user)
- return getusername_malloc();
+ if (c && c->user)
+ username = c->user;
+ else
+ /* get USER env from env or our own uid */
+ username = tmp = getusername_malloc();
/* fish username from passwd */
- username = c->user;
r = get_user_creds(&username, &uid, NULL, NULL, NULL);
if (r < 0)
return NULL;
@@ -187,64 +190,37 @@ static char *specifier_user_shell(char specifier, void *data, void *userdata) {
ExecContext *c;
int r;
const char *username, *shell;
+ char *ret;
assert(u);
c = unit_get_exec_context(u);
- /* return HOME if set, otherwise from passwd */
- if (!c || !c->user) {
- char *sh;
-
- r = get_shell(&sh);
- if (r < 0)
- return strdup("/bin/sh");
-
- return sh;
- }
+ if (c && c->user)
+ username = c->user;
+ else
+ username = "root";
- username = c->user;
+ /* return /bin/sh for root, otherwise the value from passwd */
r = get_user_creds(&username, NULL, NULL, NULL, &shell);
- if (r < 0)
- return strdup("/bin/sh");
-
- return strdup(shell);
-}
-
-static char *specifier_machine_id(char specifier, void *data, void *userdata) {
- sd_id128_t id;
- char *buf;
- int r;
-
- r = sd_id128_get_machine(&id);
- if (r < 0)
- return NULL;
-
- buf = new(char, 33);
- if (!buf)
- return NULL;
-
- return sd_id128_to_string(id, buf);
-}
-
-static char *specifier_boot_id(char specifier, void *data, void *userdata) {
- sd_id128_t id;
- char *buf;
- int r;
-
- r = sd_id128_get_boot(&id);
- if (r < 0)
+ if (r < 0) {
+ log_warning_unit(u->id,
+ "Failed to determine shell: %s",
+ strerror(-r));
return NULL;
+ }
- buf = new(char, 33);
- if (!buf)
- return NULL;
+ if (!path_is_absolute(shell)) {
+ log_warning_unit(u->id,
+ "Shell %s is not absolute, ignoring.",
+ shell);
+ }
- return sd_id128_to_string(id, buf);
-}
+ ret = strdup(shell);
+ if (!ret)
+ log_oom();
-static char *specifier_host_name(char specifier, void *data, void *userdata) {
- return gethostname_malloc();
+ return ret;
}
char *unit_name_printf(Unit *u, const char* format) {
@@ -283,12 +259,13 @@ char *unit_full_printf(Unit *u, const char *format) {
* %r root cgroup path of this systemd instance (e.g. "/user/lennart/shared/systemd-4711")
* %R parent of root cgroup path (e.g. "/usr/lennart/shared")
* %t the runtime directory to place sockets in (e.g. "/run" or $XDG_RUNTIME_DIR)
+ * %U the UID of the configured user or running user
* %u the username of the configured user or running user
* %h the homedir of the configured user or running user
* %s the shell of the configured user or running user
* %m the machine ID of the running system
- * %b the boot ID of the running system
* %H the host name of the running system
+ * %b the boot ID of the running system
*/
const Specifier table[] = {
@@ -315,7 +292,6 @@ char *unit_full_printf(Unit *u, const char *format) {
{ 0, NULL, NULL }
};
- assert(u);
assert(format);
return specifier_printf(format, table, u);
diff --git a/src/core/unit.c b/src/core/unit.c
index 45453dce64..9b36b225fa 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -45,6 +45,10 @@
#include "cgroup-util.h"
#include "missing.h"
#include "cgroup-attr.h"
+#include "mkdir.h"
+#include "label.h"
+#include "fileio-label.h"
+#include "bus-errors.h"
const UnitVTable * const unit_vtable[_UNIT_TYPE_MAX] = {
[UNIT_SERVICE] = &service_vtable,
@@ -404,6 +408,7 @@ void unit_free(Unit *u) {
strv_free(u->documentation);
free(u->fragment_path);
free(u->source_path);
+ strv_free(u->dropin_paths);
free(u->instance);
set_free_free(u->names);
@@ -613,9 +618,11 @@ int unit_add_exec_dependencies(Unit *u, ExecContext *c) {
/* If syslog or kernel logging is requested, make sure our own
* logging daemon is run first. */
- if (u->manager->running_as == SYSTEMD_SYSTEM)
- if ((r = unit_add_two_dependencies_by_name(u, UNIT_REQUIRES, UNIT_AFTER, SPECIAL_JOURNALD_SOCKET, NULL, true)) < 0)
+ if (u->manager->running_as == SYSTEMD_SYSTEM) {
+ r = unit_add_dependency_by_name(u, UNIT_AFTER, SPECIAL_JOURNALD_SOCKET, NULL, true);
+ if (r < 0)
return r;
+ }
return 0;
}
@@ -690,8 +697,11 @@ void unit_dump(Unit *u, FILE *f, const char *prefix) {
if (u->source_path)
fprintf(f, "%s\tSource Path: %s\n", prefix, u->source_path);
+ STRV_FOREACH(j, u->dropin_paths)
+ fprintf(f, "%s\tDropIn Path: %s\n", prefix, *j);
+
if (u->job_timeout > 0)
- fprintf(f, "%s\tJob Timeout: %s\n", prefix, format_timespan(timespan, sizeof(timespan), u->job_timeout));
+ fprintf(f, "%s\tJob Timeout: %s\n", prefix, format_timespan(timespan, sizeof(timespan), u->job_timeout, 0));
condition_dump_list(u->conditions, f, prefix);
@@ -744,15 +754,13 @@ void unit_dump(Unit *u, FILE *f, const char *prefix) {
prefix, b->controller, b->path);
LIST_FOREACH(by_unit, a, u->cgroup_attributes) {
- char *v = NULL;
+ _cleanup_free_ char *v = NULL;
- if (a->map_callback)
- a->map_callback(a->controller, a->name, a->value, &v);
+ if (a->semantics && a->semantics->map_write)
+ a->semantics->map_write(a->semantics, a->value, &v);
fprintf(f, "%s\tControlGroupAttribute: %s %s \"%s\"\n",
prefix, a->controller, a->name, v ? v : a->value);
-
- free(v);
}
if (UNIT_VTABLE(u)->dump)
@@ -906,8 +914,8 @@ int unit_load(Unit *u) {
if (u->on_failure_isolate &&
set_size(u->dependencies[UNIT_ON_FAILURE]) > 1) {
- log_error("More than one OnFailure= dependencies specified for %s but OnFailureIsolate= enabled. Refusing.",
- u->id);
+ log_error_unit(u->id,
+ "More than one OnFailure= dependencies specified for %s but OnFailureIsolate= enabled. Refusing.", u->id);
r = -EINVAL;
goto fail;
@@ -926,7 +934,8 @@ fail:
unit_add_to_dbus_queue(u);
unit_add_to_gc_queue(u);
- log_debug("Failed to load configuration for %s: %s", u->id, strerror(-r));
+ log_debug_unit(u->id, "Failed to load configuration for %s: %s",
+ u->id, strerror(-r));
return r;
}
@@ -940,7 +949,7 @@ bool unit_condition_test(Unit *u) {
return u->condition_result;
}
-static const char* unit_get_status_message_format(Unit *u, JobType t) {
+_pure_ static const char* unit_get_status_message_format(Unit *u, JobType t) {
const UnitStatusMessageFormats *format_table;
assert(u);
@@ -957,7 +966,7 @@ static const char* unit_get_status_message_format(Unit *u, JobType t) {
return format_table->starting_stopping[t == JOB_STOP];
}
-static const char *unit_get_status_message_format_try_harder(Unit *u, JobType t) {
+_pure_ static const char *unit_get_status_message_format_try_harder(Unit *u, JobType t) {
const char *format;
assert(u);
@@ -991,7 +1000,7 @@ static void unit_status_print_starting_stopping(Unit *u, JobType t) {
if (!format)
return;
- unit_status_printf(u, "", format, unit_description(u));
+ unit_status_printf(u, "", format);
}
#pragma GCC diagnostic push
@@ -1022,11 +1031,11 @@ static void unit_status_log_starting_stopping_reloading(Unit *u, JobType t) {
t == JOB_STOP ? SD_MESSAGE_UNIT_STOPPING :
SD_MESSAGE_UNIT_RELOADING;
- log_struct(LOG_INFO,
- MESSAGE_ID(mid),
- "UNIT=%s", u->id,
- "MESSAGE=%s", buf,
- NULL);
+ log_struct_unit(LOG_INFO,
+ u->id,
+ MESSAGE_ID(mid),
+ "MESSAGE=%s", buf,
+ NULL);
}
#pragma GCC diagnostic pop
@@ -1059,13 +1068,14 @@ int unit_start(Unit *u) {
* but we don't want to recheck the condition in that case. */
if (state != UNIT_ACTIVATING &&
!unit_condition_test(u)) {
- log_debug("Starting of %s requested but condition failed. Ignoring.", u->id);
+ log_debug_unit(u->id, "Starting of %s requested but condition failed. Ignoring.", u->id);
return -EALREADY;
}
/* Forward to the main object, if we aren't it. */
if ((following = unit_following(u))) {
- log_debug("Redirecting start request from %s to %s.", u->id, following->id);
+ log_debug_unit(u->id, "Redirecting start request from %s to %s.",
+ u->id, following->id);
return unit_start(following);
}
@@ -1116,7 +1126,8 @@ int unit_stop(Unit *u) {
return -EALREADY;
if ((following = unit_following(u))) {
- log_debug("Redirecting stop request from %s to %s.", u->id, following->id);
+ log_debug_unit(u->id, "Redirecting stop request from %s to %s.",
+ u->id, following->id);
return unit_stop(following);
}
@@ -1156,7 +1167,8 @@ int unit_reload(Unit *u) {
return -ENOEXEC;
if ((following = unit_following(u))) {
- log_debug("Redirecting reload request from %s to %s.", u->id, following->id);
+ log_debug_unit(u->id, "Redirecting reload request from %s to %s.",
+ u->id, following->id);
return unit_reload(following);
}
@@ -1194,22 +1206,22 @@ static void unit_check_unneeded(Unit *u) {
return;
SET_FOREACH(other, u->dependencies[UNIT_REQUIRED_BY], i)
- if (unit_pending_active(other))
+ if (unit_active_or_pending(other))
return;
SET_FOREACH(other, u->dependencies[UNIT_REQUIRED_BY_OVERRIDABLE], i)
- if (unit_pending_active(other))
+ if (unit_active_or_pending(other))
return;
SET_FOREACH(other, u->dependencies[UNIT_WANTED_BY], i)
- if (unit_pending_active(other))
+ if (unit_active_or_pending(other))
return;
SET_FOREACH(other, u->dependencies[UNIT_BOUND_BY], i)
- if (unit_pending_active(other))
+ if (unit_active_or_pending(other))
return;
- log_info("Service %s is not needed anymore. Stopping.", u->id);
+ log_info_unit(u->id, "Service %s is not needed anymore. Stopping.", u->id);
/* Ok, nobody needs us anymore. Sniff. Then let's commit suicide */
manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, true, NULL, NULL);
@@ -1237,11 +1249,6 @@ static void retroactively_start_dependencies(Unit *u) {
!UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(other)))
manager_add_job(u->manager, JOB_START, other, JOB_FAIL, false, NULL, NULL);
- SET_FOREACH(other, u->dependencies[UNIT_REQUISITE], i)
- if (!set_get(u->dependencies[UNIT_AFTER], other) &&
- !UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(other)))
- manager_add_job(u->manager, JOB_START, other, JOB_REPLACE, true, NULL, NULL);
-
SET_FOREACH(other, u->dependencies[UNIT_WANTS], i)
if (!set_get(u->dependencies[UNIT_AFTER], other) &&
!UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(other)))
@@ -1297,7 +1304,7 @@ static void check_unneeded_dependencies(Unit *u) {
unit_check_unneeded(other);
}
-void unit_trigger_on_failure(Unit *u) {
+void unit_start_on_failure(Unit *u) {
Unit *other;
Iterator i;
@@ -1306,17 +1313,30 @@ void unit_trigger_on_failure(Unit *u) {
if (set_size(u->dependencies[UNIT_ON_FAILURE]) <= 0)
return;
- log_info("Triggering OnFailure= dependencies of %s.", u->id);
+ log_info_unit(u->id, "Triggering OnFailure= dependencies of %s.", u->id);
SET_FOREACH(other, u->dependencies[UNIT_ON_FAILURE], i) {
int r;
- if ((r = manager_add_job(u->manager, JOB_START, other, u->on_failure_isolate ? JOB_ISOLATE : JOB_REPLACE, true, NULL, NULL)) < 0)
- log_error("Failed to enqueue OnFailure= job: %s", strerror(-r));
+ r = manager_add_job(u->manager, JOB_START, other, u->on_failure_isolate ? JOB_ISOLATE : JOB_REPLACE, true, NULL, NULL);
+ if (r < 0)
+ log_error_unit(u->id, "Failed to enqueue OnFailure= job: %s", strerror(-r));
}
}
+void unit_trigger_notify(Unit *u) {
+ Unit *other;
+ Iterator i;
+
+ assert(u);
+
+ SET_FOREACH(other, u->dependencies[UNIT_TRIGGERED_BY], i)
+ if (UNIT_VTABLE(other)->trigger_notify)
+ UNIT_VTABLE(other)->trigger_notify(other, u);
+}
+
void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_success) {
+ Manager *m;
bool unexpected;
assert(u);
@@ -1329,7 +1349,9 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su
* behavior here. For example: if a mount point is remounted
* this function will be called too! */
- if (u->manager->n_reloading <= 0) {
+ m = u->manager;
+
+ if (m->n_reloading <= 0) {
dual_timestamp ts;
dual_timestamp_get(&ts);
@@ -1343,14 +1365,21 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su
u->active_enter_timestamp = ts;
else if (UNIT_IS_ACTIVE_OR_RELOADING(os) && !UNIT_IS_ACTIVE_OR_RELOADING(ns))
u->active_exit_timestamp = ts;
-
- timer_unit_notify(u, ns);
- path_unit_notify(u, ns);
}
if (UNIT_IS_INACTIVE_OR_FAILED(ns))
cgroup_bonding_trim_list(u->cgroup_bondings, true);
+ if (UNIT_IS_INACTIVE_OR_FAILED(os) != UNIT_IS_INACTIVE_OR_FAILED(ns)) {
+ ExecContext *ec = unit_get_exec_context(u);
+ if (ec && exec_context_may_touch_console(ec)) {
+ if (UNIT_IS_INACTIVE_OR_FAILED(ns))
+ m->n_on_console--;
+ else
+ m->n_on_console++;
+ }
+ }
+
if (u->job) {
unexpected = false;
@@ -1417,7 +1446,7 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su
} else
unexpected = true;
- if (u->manager->n_reloading <= 0) {
+ if (m->n_reloading <= 0) {
/* If this state change happened without being
* requested by a job, then let's retroactively start
@@ -1438,11 +1467,9 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su
check_unneeded_dependencies(u);
if (ns != os && ns == UNIT_FAILED) {
- log_struct(LOG_NOTICE,
- "MESSAGE=Unit %s entered failed state", u->id,
- "UNIT=%s", u->id,
- NULL);
- unit_trigger_on_failure(u);
+ log_notice_unit(u->id,
+ "Unit %s entered failed state.", u->id);
+ unit_start_on_failure(u);
}
}
@@ -1453,18 +1480,18 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su
/* The bus just might have become available,
* hence try to connect to it, if we aren't
* yet connected. */
- bus_init(u->manager, true);
+ bus_init(m, true);
if (u->type == UNIT_SERVICE &&
!UNIT_IS_ACTIVE_OR_RELOADING(os) &&
- u->manager->n_reloading <= 0) {
+ m->n_reloading <= 0) {
/* Write audit record if we have just finished starting up */
- manager_send_unit_audit(u->manager, u, AUDIT_SERVICE_START, true);
+ manager_send_unit_audit(m, u, AUDIT_SERVICE_START, true);
u->in_audit = true;
}
if (!UNIT_IS_ACTIVE_OR_RELOADING(os))
- manager_send_unit_plymouth(u->manager, u);
+ manager_send_unit_plymouth(m, u);
} else {
@@ -1474,46 +1501,47 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su
if (u->type == UNIT_SERVICE &&
UNIT_IS_INACTIVE_OR_FAILED(ns) &&
!UNIT_IS_INACTIVE_OR_FAILED(os) &&
- u->manager->n_reloading <= 0) {
+ m->n_reloading <= 0) {
/* Hmm, if there was no start record written
* write it now, so that we always have a nice
* pair */
if (!u->in_audit) {
- manager_send_unit_audit(u->manager, u, AUDIT_SERVICE_START, ns == UNIT_INACTIVE);
+ manager_send_unit_audit(m, u, AUDIT_SERVICE_START, ns == UNIT_INACTIVE);
if (ns == UNIT_INACTIVE)
- manager_send_unit_audit(u->manager, u, AUDIT_SERVICE_STOP, true);
+ manager_send_unit_audit(m, u, AUDIT_SERVICE_STOP, true);
} else
/* Write audit record if we have just finished shutting down */
- manager_send_unit_audit(u->manager, u, AUDIT_SERVICE_STOP, ns == UNIT_INACTIVE);
+ manager_send_unit_audit(m, u, AUDIT_SERVICE_STOP, ns == UNIT_INACTIVE);
u->in_audit = false;
}
}
- manager_recheck_journal(u->manager);
+ manager_recheck_journal(m);
+ unit_trigger_notify(u);
/* Maybe we finished startup and are now ready for being
* stopped because unneeded? */
- unit_check_unneeded(u);
+ if (u->manager->n_reloading <= 0)
+ unit_check_unneeded(u);
unit_add_to_dbus_queue(u);
unit_add_to_gc_queue(u);
}
int unit_watch_fd(Unit *u, int fd, uint32_t events, Watch *w) {
- struct epoll_event ev;
+ struct epoll_event ev = {
+ .data.ptr = w,
+ .events = events,
+ };
assert(u);
assert(fd >= 0);
assert(w);
assert(w->type == WATCH_INVALID || (w->type == WATCH_FD && w->fd == fd && w->data.unit == u));
- zero(ev);
- ev.data.ptr = w;
- ev.events = events;
-
if (epoll_ctl(u->manager->epoll_fd,
w->type == WATCH_INVALID ? EPOLL_CTL_ADD : EPOLL_CTL_MOD,
fd,
@@ -1561,7 +1589,7 @@ void unit_unwatch_pid(Unit *u, pid_t pid) {
}
int unit_watch_timer(Unit *u, clockid_t clock_id, bool relative, usec_t usec, Watch *w) {
- struct itimerspec its;
+ struct itimerspec its = {};
int flags, fd;
bool ours;
@@ -1586,8 +1614,6 @@ int unit_watch_timer(Unit *u, clockid_t clock_id, bool relative, usec_t usec, Wa
} else
assert_not_reached("Invalid watch type");
- zero(its);
-
if (usec <= 0) {
/* Set absolute time in the past, but not 0, since we
* don't want to disarm the timer */
@@ -1605,11 +1631,10 @@ int unit_watch_timer(Unit *u, clockid_t clock_id, bool relative, usec_t usec, Wa
goto fail;
if (w->type == WATCH_INVALID) {
- struct epoll_event ev;
-
- zero(ev);
- ev.data.ptr = w;
- ev.events = EPOLLIN;
+ struct epoll_event ev = {
+ .data.ptr = w,
+ .events = EPOLLIN,
+ };
if (epoll_ctl(u->manager->epoll_fd, EPOLL_CTL_ADD, fd, &ev) < 0)
goto fail;
@@ -1781,6 +1806,7 @@ static const char *resolve_template(Unit *u, const char *name, const char*path,
assert(u);
assert(name || path);
+ assert(p);
if (!name)
name = path_get_file_name(path);
@@ -1793,13 +1819,13 @@ static const char *resolve_template(Unit *u, const char *name, const char*path,
if (u->instance)
s = unit_name_replace_instance(name, u->instance);
else {
- char *i;
+ _cleanup_free_ char *i = NULL;
- if (!(i = unit_name_to_prefix(u->id)))
+ i = unit_name_to_prefix(u->id);
+ if (!i)
return NULL;
s = unit_name_replace_instance(name, i);
- free(i);
}
if (!s)
@@ -1812,22 +1838,20 @@ static const char *resolve_template(Unit *u, const char *name, const char*path,
int unit_add_dependency_by_name(Unit *u, UnitDependency d, const char *name, const char *path, bool add_reference) {
Unit *other;
int r;
- char *s;
+ _cleanup_free_ char *s = NULL;
assert(u);
assert(name || path);
- if (!(name = resolve_template(u, name, path, &s)))
+ name = resolve_template(u, name, path, &s);
+ if (!name)
return -ENOMEM;
- if ((r = manager_load_unit(u->manager, name, path, NULL, &other)) < 0)
- goto finish;
-
- r = unit_add_dependency(u, d, other, add_reference);
+ r = manager_load_unit(u->manager, name, path, NULL, &other);
+ if (r < 0)
+ return r;
-finish:
- free(s);
- return r;
+ return unit_add_dependency(u, d, other, add_reference);
}
int unit_add_two_dependencies_by_name(Unit *u, UnitDependency d, UnitDependency e, const char *name, const char *path, bool add_reference) {
@@ -1895,30 +1919,12 @@ finish:
}
int set_unit_path(const char *p) {
- char *cwd, *c;
- int r;
+ _cleanup_free_ char *c = NULL;
/* This is mostly for debug purposes */
-
- if (path_is_absolute(p)) {
- if (!(c = strdup(p)))
- return -ENOMEM;
- } else {
- if (!(cwd = get_current_dir_name()))
- return -errno;
-
- r = asprintf(&c, "%s/%s", cwd, p);
- free(cwd);
-
- if (r < 0)
- return -ENOMEM;
- }
-
- if (setenv("SYSTEMD_UNIT_PATH", c, 0) < 0) {
- r = -errno;
- free(c);
- return r;
- }
+ c = path_make_absolute_cwd(p);
+ if (setenv("SYSTEMD_UNIT_PATH", c, 0) < 0)
+ return -errno;
return 0;
}
@@ -1932,7 +1938,7 @@ char *unit_dbus_path(Unit *u) {
return unit_dbus_path_from_name(u->id);
}
-int unit_add_cgroup(Unit *u, CGroupBonding *b) {
+static int unit_add_cgroup(Unit *u, CGroupBonding *b) {
int r;
assert(u);
@@ -1941,8 +1947,9 @@ int unit_add_cgroup(Unit *u, CGroupBonding *b) {
assert(b->path);
if (!b->controller) {
- if (!(b->controller = strdup(SYSTEMD_CGROUP_CONTROLLER)))
- return -ENOMEM;
+ b->controller = strdup(SYSTEMD_CGROUP_CONTROLLER);
+ if (!b->controller)
+ return log_oom();
b->ours = true;
}
@@ -1956,7 +1963,8 @@ int unit_add_cgroup(Unit *u, CGroupBonding *b) {
l = hashmap_get(u->manager->cgroup_bondings, b->path);
LIST_PREPEND(CGroupBonding, by_path, l, b);
- if ((r = hashmap_replace(u->manager->cgroup_bondings, b->path, l)) < 0) {
+ r = hashmap_replace(u->manager->cgroup_bondings, b->path, l);
+ if (r < 0) {
LIST_REMOVE(CGroupBonding, by_path, l, b);
return r;
}
@@ -1969,26 +1977,31 @@ int unit_add_cgroup(Unit *u, CGroupBonding *b) {
}
char *unit_default_cgroup_path(Unit *u) {
- char *p;
+ _cleanup_free_ char *escaped_instance = NULL;
assert(u);
+ escaped_instance = cg_escape(u->id);
+ if (!escaped_instance)
+ return NULL;
+
if (u->instance) {
- char *t;
+ _cleanup_free_ char *t = NULL, *escaped_template = NULL;
t = unit_name_template(u->id);
if (!t)
return NULL;
- p = strjoin(u->manager->cgroup_hierarchy, "/", t, "/", u->instance, NULL);
- free(t);
- } else
- p = strjoin(u->manager->cgroup_hierarchy, "/", u->id, NULL);
+ escaped_template = cg_escape(t);
+ if (!escaped_template)
+ return NULL;
- return p;
+ return strjoin(u->manager->cgroup_hierarchy, "/", escaped_template, "/", escaped_instance, NULL);
+ } else
+ return strjoin(u->manager->cgroup_hierarchy, "/", escaped_instance, NULL);
}
-int unit_add_cgroup_from_text(Unit *u, const char *name) {
+int unit_add_cgroup_from_text(Unit *u, const char *name, bool overwrite, CGroupBonding **ret) {
char *controller = NULL, *path = NULL;
CGroupBonding *b = NULL;
bool ours = false;
@@ -1997,7 +2010,8 @@ int unit_add_cgroup_from_text(Unit *u, const char *name) {
assert(u);
assert(name);
- if ((r = cg_split_spec(name, &controller, &path)) < 0)
+ r = cg_split_spec(name, &controller, &path);
+ if (r < 0)
return r;
if (!path) {
@@ -2006,23 +2020,59 @@ int unit_add_cgroup_from_text(Unit *u, const char *name) {
}
if (!controller) {
- controller = strdup(SYSTEMD_CGROUP_CONTROLLER);
+ controller = strdup("systemd");
ours = true;
}
if (!path || !controller) {
free(path);
free(controller);
+ return log_oom();
+ }
- return -ENOMEM;
+ if (streq(controller, "systemd")) {
+ /* Within the systemd unit hierarchy we do not allow changes. */
+ if (path_startswith(path, "/system")) {
+ log_warning_unit(u->id, "Manipulating the systemd:/system cgroup hierarchy is not permitted.");
+ free(path);
+ free(controller);
+ return -EPERM;
+ }
}
- if (cgroup_bonding_find_list(u->cgroup_bondings, controller)) {
+ b = cgroup_bonding_find_list(u->cgroup_bondings, controller);
+ if (b) {
+ if (streq(path, b->path)) {
+ free(path);
+ free(controller);
+
+ if (ret)
+ *ret = b;
+ return 0;
+ }
+
+ if (overwrite && !b->essential) {
+ free(controller);
+
+ free(b->path);
+ b->path = path;
+
+ b->ours = ours;
+ b->realized = false;
+
+ if (ret)
+ *ret = b;
+
+ return 1;
+ }
+
r = -EEXIST;
+ b = NULL;
goto fail;
}
- if (!(b = new0(CGroupBonding, 1))) {
+ b = new0(CGroupBonding, 1);
+ if (!b) {
r = -ENOMEM;
goto fail;
}
@@ -2032,10 +2082,14 @@ int unit_add_cgroup_from_text(Unit *u, const char *name) {
b->ours = ours;
b->essential = streq(controller, SYSTEMD_CGROUP_CONTROLLER);
- if ((r = unit_add_cgroup(u, b)) < 0)
+ r = unit_add_cgroup(u, b);
+ if (r < 0)
goto fail;
- return 0;
+ if (ret)
+ *ret = b;
+
+ return 1;
fail:
free(path);
@@ -2051,16 +2105,21 @@ static int unit_add_one_default_cgroup(Unit *u, const char *controller) {
assert(u);
+ if (controller && !cg_controller_is_valid(controller, true))
+ return -EINVAL;
+
if (!controller)
controller = SYSTEMD_CGROUP_CONTROLLER;
if (cgroup_bonding_find_list(u->cgroup_bondings, controller))
return 0;
- if (!(b = new0(CGroupBonding, 1)))
+ b = new0(CGroupBonding, 1);
+ if (!b)
return -ENOMEM;
- if (!(b->controller = strdup(controller)))
+ b->controller = strdup(controller);
+ if (!b->controller)
goto fail;
b->path = unit_default_cgroup_path(u);
@@ -2070,10 +2129,11 @@ static int unit_add_one_default_cgroup(Unit *u, const char *controller) {
b->ours = true;
b->essential = streq(controller, SYSTEMD_CGROUP_CONTROLLER);
- if ((r = unit_add_cgroup(u, b)) < 0)
+ r = unit_add_cgroup(u, b);
+ if (r < 0)
goto fail;
- return 0;
+ return 1;
fail:
free(b->path);
@@ -2096,7 +2156,8 @@ int unit_add_default_cgroups(Unit *u) {
if (!u->manager->cgroup_hierarchy)
return 0;
- if ((r = unit_add_one_default_cgroup(u, NULL)) < 0)
+ r = unit_add_one_default_cgroup(u, NULL);
+ if (r < 0)
return r;
STRV_FOREACH(c, u->manager->default_controllers)
@@ -2111,42 +2172,90 @@ int unit_add_default_cgroups(Unit *u) {
CGroupBonding* unit_get_default_cgroup(Unit *u) {
assert(u);
- return cgroup_bonding_find_list(u->cgroup_bondings, SYSTEMD_CGROUP_CONTROLLER);
+ return cgroup_bonding_find_list(u->cgroup_bondings, NULL);
}
-int unit_add_cgroup_attribute(Unit *u, const char *controller, const char *name, const char *value, CGroupAttributeMapCallback map_callback) {
- int r;
- char *c = NULL;
+int unit_add_cgroup_attribute(
+ Unit *u,
+ const CGroupSemantics *semantics,
+ const char *controller,
+ const char *name,
+ const char *value,
+ CGroupAttribute **ret) {
+
+ _cleanup_free_ char *c = NULL;
CGroupAttribute *a;
+ int r;
assert(u);
- assert(name);
assert(value);
- if (!controller) {
- const char *dot;
+ if (semantics) {
+ /* Semantics always take precedence */
+ if (semantics->name)
+ name = semantics->name;
- dot = strchr(name, '.');
- if (!dot)
- return -EINVAL;
+ if (semantics->controller)
+ controller = semantics->controller;
+ }
- c = strndup(name, dot - name);
- if (!c)
- return -ENOMEM;
+ if (!name)
+ return -EINVAL;
+
+ if (!controller) {
+ r = cg_controller_from_attr(name, &c);
+ if (r < 0)
+ return -EINVAL;
controller = c;
}
- if (streq(controller, SYSTEMD_CGROUP_CONTROLLER)) {
- r = -EINVAL;
- goto finish;
+ if (!controller ||
+ streq(controller, SYSTEMD_CGROUP_CONTROLLER) ||
+ streq(controller, "systemd"))
+ return -EINVAL;
+
+ if (!filename_is_safe(name))
+ return -EINVAL;
+
+ if (!cg_controller_is_valid(controller, false))
+ return -EINVAL;
+
+ /* Check if this attribute already exists. Note that we will
+ * explicitly check for the value here too, as there are
+ * attributes which accept multiple values. */
+ a = cgroup_attribute_find_list(u->cgroup_attributes, controller, name);
+ if (a) {
+ if (streq(value, a->value)) {
+ /* Exactly the same value is always OK, let's ignore this */
+ if (ret)
+ *ret = a;
+
+ return 0;
+ }
+
+ if (semantics && !semantics->multiple) {
+ char *v;
+
+ /* If this is a single-item entry, we can
+ * simply patch the existing attribute */
+
+ v = strdup(value);
+ if (!v)
+ return -ENOMEM;
+
+ free(a->value);
+ a->value = v;
+
+ if (ret)
+ *ret = a;
+ return 1;
+ }
}
a = new0(CGroupAttribute, 1);
- if (!a) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!a)
+ return -ENOMEM;
if (c) {
a->controller = c;
@@ -2162,58 +2271,54 @@ int unit_add_cgroup_attribute(Unit *u, const char *controller, const char *name,
free(a->name);
free(a->value);
free(a);
-
return -ENOMEM;
}
- a->map_callback = map_callback;
+ a->semantics = semantics;
+ a->unit = u;
LIST_PREPEND(CGroupAttribute, by_unit, u->cgroup_attributes, a);
- r = 0;
+ if (ret)
+ *ret = a;
-finish:
- free(c);
- return r;
+ return 1;
}
int unit_load_related_unit(Unit *u, const char *type, Unit **_found) {
- char *t;
+ _cleanup_free_ char *t = NULL;
int r;
assert(u);
assert(type);
assert(_found);
- if (!(t = unit_name_change_suffix(u->id, type)))
+ t = unit_name_change_suffix(u->id, type);
+ if (!t)
return -ENOMEM;
assert(!unit_has_name(u, t));
r = manager_load_unit(u->manager, t, NULL, NULL, _found);
- free(t);
-
assert(r < 0 || *_found != u);
-
return r;
}
int unit_get_related_unit(Unit *u, const char *type, Unit **_found) {
+ _cleanup_free_ char *t = NULL;
Unit *found;
- char *t;
assert(u);
assert(type);
assert(_found);
- if (!(t = unit_name_change_suffix(u->id, type)))
+ t = unit_name_change_suffix(u->id, type);
+ if (!t)
return -ENOMEM;
assert(!unit_has_name(u, t));
found = manager_get_unit(u->manager, t);
- free(t);
-
if (!found)
return -ENOENT;
@@ -2371,6 +2476,9 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
job_free(j);
return r;
}
+
+ if (j->state == JOB_RUNNING)
+ u->manager->n_running_jobs++;
} else {
/* legacy */
JobType type = job_type_from_string(v);
@@ -2473,25 +2581,18 @@ int unit_coldplug(Unit *u) {
return 0;
}
-void unit_status_printf(Unit *u, const char *status, const char *format, ...) {
- va_list ap;
-
- assert(u);
- assert(format);
-
- if (!manager_get_show_status(u->manager))
- return;
-
- if (!manager_is_booting_or_shutting_down(u->manager))
- return;
-
- va_start(ap, format);
- status_vprintf(status, true, format, ap);
- va_end(ap);
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+void unit_status_printf(Unit *u, const char *status, const char *unit_status_msg_format) {
+ manager_status_printf(u->manager, false, status, unit_status_msg_format, unit_description(u));
}
+#pragma GCC diagnostic pop
bool unit_need_daemon_reload(Unit *u) {
+ _cleanup_strv_free_ char **t = NULL;
+ char **path;
struct stat st;
+ unsigned loaded_cnt, current_cnt;
assert(u);
@@ -2516,7 +2617,30 @@ bool unit_need_daemon_reload(Unit *u) {
return true;
}
- return false;
+ t = unit_find_dropin_paths(u);
+ loaded_cnt = strv_length(t);
+ current_cnt = strv_length(u->dropin_paths);
+
+ if (loaded_cnt == current_cnt) {
+ if (loaded_cnt == 0)
+ return false;
+
+ if (strv_overlap(u->dropin_paths, t)) {
+ STRV_FOREACH(path, u->dropin_paths) {
+ zero(st);
+ if (stat(*path, &st) < 0)
+ return true;
+
+ if (u->dropin_mtime > 0 &&
+ timespec_load(&st.st_mtim) > u->dropin_mtime)
+ return true;
+ }
+
+ return false;
+ } else
+ return true;
+ } else
+ return true;
}
void unit_reset_failed(Unit *u) {
@@ -2535,7 +2659,19 @@ Unit *unit_following(Unit *u) {
return NULL;
}
-bool unit_pending_inactive(Unit *u) {
+bool unit_stop_pending(Unit *u) {
+ assert(u);
+
+ /* This call does check the current state of the unit. It's
+ * hence useful to be called from state change calls of the
+ * unit itself, where the state isn't updated yet. This is
+ * different from unit_inactive_or_pending() which checks both
+ * the current state and for a queued job. */
+
+ return u->job && u->job->type == JOB_STOP;
+}
+
+bool unit_inactive_or_pending(Unit *u) {
assert(u);
/* Returns true if the unit is inactive or going down */
@@ -2543,13 +2679,13 @@ bool unit_pending_inactive(Unit *u) {
if (UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(u)))
return true;
- if (u->job && u->job->type == JOB_STOP)
+ if (unit_stop_pending(u))
return true;
return false;
}
-bool unit_pending_active(Unit *u) {
+bool unit_active_or_pending(Unit *u) {
assert(u);
/* Returns true if the unit is active or going up */
@@ -2578,6 +2714,71 @@ int unit_kill(Unit *u, KillWho w, int signo, DBusError *error) {
return UNIT_VTABLE(u)->kill(u, w, signo, error);
}
+int unit_kill_common(
+ Unit *u,
+ KillWho who,
+ int signo,
+ pid_t main_pid,
+ pid_t control_pid,
+ DBusError *error) {
+
+ int r = 0;
+
+ if (who == KILL_MAIN && main_pid <= 0) {
+ if (main_pid < 0)
+ dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "%s units have no main processes", unit_type_to_string(u->type));
+ else
+ dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "No main process to kill");
+ return -ESRCH;
+ }
+
+ if (who == KILL_CONTROL && control_pid <= 0) {
+ if (control_pid < 0)
+ dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "%s units have no control processes", unit_type_to_string(u->type));
+ else
+ dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "No control process to kill");
+ return -ESRCH;
+ }
+
+ if (who == KILL_CONTROL || who == KILL_ALL)
+ if (control_pid > 0)
+ if (kill(control_pid, signo) < 0)
+ r = -errno;
+
+ if (who == KILL_MAIN || who == KILL_ALL)
+ if (main_pid > 0)
+ if (kill(main_pid, signo) < 0)
+ r = -errno;
+
+ if (who == KILL_ALL) {
+ _cleanup_set_free_ Set *pid_set = NULL;
+ int q;
+
+ pid_set = set_new(trivial_hash_func, trivial_compare_func);
+ if (!pid_set)
+ return -ENOMEM;
+
+ /* Exclude the control/main pid from being killed via the cgroup */
+ if (control_pid > 0) {
+ q = set_put(pid_set, LONG_TO_PTR(control_pid));
+ if (q < 0)
+ return q;
+ }
+
+ if (main_pid > 0) {
+ q = set_put(pid_set, LONG_TO_PTR(main_pid));
+ if (q < 0)
+ return q;
+ }
+
+ q = cgroup_bonding_kill_list(u->cgroup_bondings, signo, false, false, pid_set, NULL);
+ if (q < 0 && q != -EAGAIN && q != -ESRCH && q != -ENOENT)
+ r = q;
+ }
+
+ return r;
+}
+
int unit_following_set(Unit *u, Set **s) {
assert(u);
assert(s);
@@ -2699,6 +2900,155 @@ ExecContext *unit_get_exec_context(Unit *u) {
return (ExecContext*) ((uint8_t*) u + offset);
}
+static int drop_in_file(Unit *u, bool runtime, const char *name, char **_p, char **_q) {
+ char *p, *q;
+ int r;
+
+ assert(u);
+ assert(name);
+ assert(_p);
+ assert(_q);
+
+ if (u->manager->running_as == SYSTEMD_USER && runtime)
+ return -ENOTSUP;
+
+ if (!filename_is_safe(name))
+ return -EINVAL;
+
+ if (u->manager->running_as == SYSTEMD_USER) {
+ _cleanup_free_ char *c = NULL;
+
+ r = user_config_home(&c);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ return -ENOENT;
+
+ p = strjoin(c, "/", u->id, ".d", NULL);
+ } else if (runtime)
+ p = strjoin("/run/systemd/system/", u->id, ".d", NULL);
+ else
+ p = strjoin("/etc/systemd/system/", u->id, ".d", NULL);
+ if (!p)
+ return -ENOMEM;
+
+ q = strjoin(p, "/50-", name, ".conf", NULL);
+ if (!q) {
+ free(p);
+ return -ENOMEM;
+ }
+
+ *_p = p;
+ *_q = q;
+ return 0;
+}
+
+int unit_write_drop_in(Unit *u, bool runtime, const char *name, const char *data) {
+ _cleanup_free_ char *p = NULL, *q = NULL;
+ int r;
+
+ assert(u);
+
+ r = drop_in_file(u, runtime, name, &p, &q);
+ if (r < 0)
+ return r;
+
+ mkdir_p(p, 0755);
+ return write_string_file_atomic_label(q, data);
+}
+
+int unit_remove_drop_in(Unit *u, bool runtime, const char *name) {
+ _cleanup_free_ char *p = NULL, *q = NULL;
+ int r;
+
+ assert(u);
+
+ r = drop_in_file(u, runtime, name, &p, &q);
+ if (unlink(q) < 0)
+ r = -errno;
+ else
+ r = 0;
+
+ rmdir(p);
+ return r;
+}
+
+int unit_kill_context(
+ Unit *u,
+ KillContext *c,
+ bool sigkill,
+ pid_t main_pid,
+ pid_t control_pid,
+ bool main_pid_alien) {
+
+ int sig, wait_for_exit = 0, r;
+
+ assert(u);
+ assert(c);
+
+ if (c->kill_mode == KILL_NONE)
+ return 0;
+
+ sig = sigkill ? SIGKILL : c->kill_signal;
+
+ if (main_pid > 0) {
+ r = kill_and_sigcont(main_pid, sig);
+
+ if (r < 0 && r != -ESRCH) {
+ _cleanup_free_ char *comm = NULL;
+ get_process_comm(main_pid, &comm);
+
+ log_warning_unit(u->id, "Failed to kill main process %li (%s): %s",
+ (long) main_pid, strna(comm), strerror(-r));
+ } else
+ wait_for_exit = !main_pid_alien;
+ }
+
+ if (control_pid > 0) {
+ r = kill_and_sigcont(control_pid, sig);
+
+ if (r < 0 && r != -ESRCH) {
+ _cleanup_free_ char *comm = NULL;
+ get_process_comm(control_pid, &comm);
+
+ log_warning_unit(u->id,
+ "Failed to kill control process %li (%s): %s",
+ (long) control_pid, strna(comm), strerror(-r));
+ } else
+ wait_for_exit = true;
+ }
+
+ if (c->kill_mode == KILL_CONTROL_GROUP) {
+ _cleanup_set_free_ Set *pid_set = NULL;
+
+ pid_set = set_new(trivial_hash_func, trivial_compare_func);
+ if (!pid_set)
+ return -ENOMEM;
+
+ /* Exclude the main/control pids from being killed via the cgroup */
+ if (main_pid > 0) {
+ r = set_put(pid_set, LONG_TO_PTR(main_pid));
+ if (r < 0)
+ return r;
+ }
+
+ if (control_pid > 0) {
+ r = set_put(pid_set, LONG_TO_PTR(control_pid));
+ if (r < 0)
+ return r;
+ }
+
+ r = cgroup_bonding_kill_list(u->cgroup_bondings, sig, true, false, pid_set, NULL);
+ if (r < 0) {
+ if (r != -EAGAIN && r != -ESRCH && r != -ENOENT)
+ log_warning_unit(u->id, "Failed to kill control group: %s", strerror(-r));
+ } else if (r > 0)
+ wait_for_exit = true;
+ }
+
+ return wait_for_exit;
+}
+
static const char* const unit_active_state_table[_UNIT_ACTIVE_STATE_MAX] = {
[UNIT_ACTIVE] = "active",
[UNIT_RELOADING] = "reloading",
diff --git a/src/core/unit.h b/src/core/unit.h
index 702bfeece6..b04475e4fb 100644
--- a/src/core/unit.h
+++ b/src/core/unit.h
@@ -23,6 +23,7 @@
#include <stdbool.h>
#include <stdlib.h>
+#include <unistd.h>
typedef struct Unit Unit;
typedef struct UnitVTable UnitVTable;
@@ -39,6 +40,7 @@ typedef struct UnitStatusMessageFormats UnitStatusMessageFormats;
#include "condition.h"
#include "install.h"
#include "unit-name.h"
+#include "cgroup-semantics.h"
enum UnitActiveState {
UNIT_ACTIVE,
@@ -136,8 +138,10 @@ struct Unit {
char *fragment_path; /* if loaded from a config file this is the primary path to it */
char *source_path; /* if converted, the source file */
+ char **dropin_paths;
usec_t fragment_mtime;
usec_t source_mtime;
+ usec_t dropin_mtime;
/* If there is something to do with this unit, then this is the installed job for it */
Job *job;
@@ -270,6 +274,9 @@ struct UnitVTable {
* ExecContext is found, if the unit type has that */
size_t exec_context_offset;
+ /* The name of the section with the exec settings of ExecContext */
+ const char *exec_section;
+
/* Config file sections this unit type understands, separated
* by NUL chars */
const char *sections;
@@ -345,7 +352,7 @@ struct UnitVTable {
/* Called whenever a process of this unit sends us a message */
void (*notify_message)(Unit *u, pid_t pid, char **tags);
- /* Called whenever a name thus Unit registered for comes or
+ /* Called whenever a name this Unit registered for comes or
* goes away. */
void (*bus_name_owner_change)(Unit *u, const char *name, const char *old_owner, const char *new_owner);
@@ -361,6 +368,10 @@ struct UnitVTable {
/* Return the set of units that are following each other */
int (*following_set)(Unit *u, Set **s);
+ /* Invoked each time a unit this unit is triggering changes
+ * state or gains/loses a job */
+ void (*trigger_notify)(Unit *u, Unit *trigger);
+
/* Called whenever CLOCK_REALTIME made a jump */
void (*time_change)(Unit *u);
@@ -410,6 +421,8 @@ extern const UnitVTable * const unit_vtable[_UNIT_TYPE_MAX];
/* For casting the various unit types into a unit */
#define UNIT(u) (&(u)->meta)
+#define UNIT_TRIGGER(u) ((Unit*) set_first((u)->dependencies[UNIT_TRIGGERS]))
+
DEFINE_CAST(SOCKET, Socket);
DEFINE_CAST(TIMER, Timer);
DEFINE_CAST(SERVICE, Service);
@@ -437,11 +450,10 @@ int unit_add_two_dependencies_by_name_inverse(Unit *u, UnitDependency d, UnitDep
int unit_add_exec_dependencies(Unit *u, ExecContext *c);
-int unit_add_cgroup(Unit *u, CGroupBonding *b);
-int unit_add_cgroup_from_text(Unit *u, const char *name);
+int unit_add_cgroup_from_text(Unit *u, const char *name, bool overwrite, CGroupBonding **ret);
int unit_add_default_cgroups(Unit *u);
CGroupBonding* unit_get_default_cgroup(Unit *u);
-int unit_add_cgroup_attribute(Unit *u, const char *controller, const char *name, const char *value, CGroupAttributeMapCallback map_callback);
+int unit_add_cgroup_attribute(Unit *u, const CGroupSemantics *semantics, const char *controller, const char *name, const char *value, CGroupAttribute **ret);
int unit_choose_id(Unit *u, const char *name);
int unit_set_description(Unit *u, const char *description);
@@ -456,13 +468,13 @@ void unit_add_to_gc_queue(Unit *u);
int unit_merge(Unit *u, Unit *other);
int unit_merge_by_name(Unit *u, const char *other);
-Unit *unit_follow_merge(Unit *u);
+Unit *unit_follow_merge(Unit *u) _pure_;
int unit_load_fragment_and_dropin(Unit *u);
int unit_load_fragment_and_dropin_optional(Unit *u);
int unit_load(Unit *unit);
-const char *unit_description(Unit *u);
+const char *unit_description(Unit *u) _pure_;
bool unit_has_name(Unit *u, const char *name);
@@ -472,15 +484,16 @@ const char* unit_sub_state_to_string(Unit *u);
void unit_dump(Unit *u, FILE *f, const char *prefix);
-bool unit_can_reload(Unit *u);
-bool unit_can_start(Unit *u);
-bool unit_can_isolate(Unit *u);
+bool unit_can_reload(Unit *u) _pure_;
+bool unit_can_start(Unit *u) _pure_;
+bool unit_can_isolate(Unit *u) _pure_;
int unit_start(Unit *u);
int unit_stop(Unit *u);
int unit_reload(Unit *u);
int unit_kill(Unit *u, KillWho w, int signo, DBusError *error);
+int unit_kill_common(Unit *u, KillWho who, int signo, pid_t main_pid, pid_t control_pid, DBusError *error);
void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_success);
@@ -505,7 +518,7 @@ char *unit_dbus_path(Unit *u);
int unit_load_related_unit(Unit *u, const char *type, Unit **_found);
int unit_get_related_unit(Unit *u, const char *type, Unit **_found);
-bool unit_can_serialize(Unit *u);
+bool unit_can_serialize(Unit *u) _pure_;
int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs);
void unit_serialize_item_format(Unit *u, FILE *f, const char *key, const char *value, ...) _printf_attr_(4,5);
void unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value);
@@ -515,7 +528,7 @@ int unit_add_node_link(Unit *u, const char *what, bool wants);
int unit_coldplug(Unit *u);
-void unit_status_printf(Unit *u, const char *status, const char *format, ...);
+void unit_status_printf(Unit *u, const char *status, const char *unit_status_msg_format) _printf_attr_(3, 0);
bool unit_need_daemon_reload(Unit *u);
@@ -523,8 +536,9 @@ void unit_reset_failed(Unit *u);
Unit *unit_following(Unit *u);
-bool unit_pending_inactive(Unit *u);
-bool unit_pending_active(Unit *u);
+bool unit_stop_pending(Unit *u) _pure_;
+bool unit_inactive_or_pending(Unit *u) _pure_;
+bool unit_active_or_pending(Unit *u);
int unit_add_default_target_dependency(Unit *u, Unit *target);
@@ -532,7 +546,8 @@ char *unit_default_cgroup_path(Unit *u);
int unit_following_set(Unit *u, Set **s);
-void unit_trigger_on_failure(Unit *u);
+void unit_start_on_failure(Unit *u);
+void unit_trigger_notify(Unit *u);
bool unit_condition_test(Unit *u);
@@ -548,17 +563,26 @@ int unit_add_mount_links(Unit *u);
int unit_exec_context_defaults(Unit *u, ExecContext *c);
-ExecContext *unit_get_exec_context(Unit *u);
+ExecContext *unit_get_exec_context(Unit *u) _pure_;
+
+int unit_write_drop_in(Unit *u, bool runtime, const char *name, const char *data);
+int unit_remove_drop_in(Unit *u, bool runtime, const char *name);
-const char *unit_active_state_to_string(UnitActiveState i);
-UnitActiveState unit_active_state_from_string(const char *s);
+int unit_kill_context(Unit *u, KillContext *c, bool sigkill, pid_t main_pid, pid_t control_pid, bool main_pid_alien);
-const char *unit_dependency_to_string(UnitDependency i);
-UnitDependency unit_dependency_from_string(const char *s);
+const char *unit_active_state_to_string(UnitActiveState i) _const_;
+UnitActiveState unit_active_state_from_string(const char *s) _pure_;
-#define log_full_unit(level, unit, ...) log_meta_object(level, __FILE__, __LINE__, __func__, "UNIT=", unit, __VA_ARGS__)
+const char *unit_dependency_to_string(UnitDependency i) _const_;
+UnitDependency unit_dependency_from_string(const char *s) _pure_;
+
+/* Macros which append UNIT= or USER_UNIT= to the message */
+
+#define log_full_unit(level, unit, ...) log_meta_object(level, __FILE__, __LINE__, __func__, getpid() == 1 ? "UNIT=" : "USER_UNIT=", unit, __VA_ARGS__)
#define log_debug_unit(unit, ...) log_full_unit(LOG_DEBUG, unit, __VA_ARGS__)
#define log_info_unit(unit, ...) log_full_unit(LOG_INFO, unit, __VA_ARGS__)
#define log_notice_unit(unit, ...) log_full_unit(LOG_NOTICE, unit, __VA_ARGS__)
#define log_warning_unit(unit, ...) log_full_unit(LOG_WARNING, unit, __VA_ARGS__)
#define log_error_unit(unit, ...) log_full_unit(LOG_ERR, unit, __VA_ARGS__)
+
+#define log_struct_unit(level, unit, ...) log_struct(level, getpid() == 1 ? "UNIT=%s" : "USER_UNIT=%s", unit, __VA_ARGS__)
diff --git a/src/core/user.conf b/src/core/user.conf
index e02b46bc3a..4252451eb7 100644
--- a/src/core/user.conf
+++ b/src/core/user.conf
@@ -5,7 +5,7 @@
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
-# See systemd.conf(5) for details
+# See systemd-user.conf(5) for details
[Manager]
#LogLevel=info
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
index 6e7b7070e2..81b770890a 100644
--- a/src/cryptsetup/cryptsetup-generator.c
+++ b/src/cryptsetup/cryptsetup-generator.c
@@ -29,11 +29,11 @@
#include "mkdir.h"
#include "virt.h"
#include "strv.h"
+#include "fileio.h"
static const char *arg_dest = "/tmp";
static bool arg_enabled = true;
static bool arg_read_crypttab = true;
-static char **arg_proc_cmdline_disks = NULL;
static bool has_option(const char *haystack, const char *needle) {
const char *f = haystack;
@@ -70,9 +70,8 @@ static int create_disk(
const char *password,
const char *options) {
- char *p = NULL, *n = NULL, *d = NULL, *u = NULL, *from = NULL, *to = NULL, *e = NULL;
- int r;
- FILE *f = NULL;
+ _cleanup_free_ char *p = NULL, *n = NULL, *d = NULL, *u = NULL, *from = NULL, *to = NULL, *e = NULL;
+ _cleanup_fclose_ FILE *f = NULL;
bool noauto, nofail;
assert(name);
@@ -82,59 +81,65 @@ static int create_disk(
nofail = has_option(options, "nofail");
n = unit_name_from_path_instance("systemd-cryptsetup", name, ".service");
- if (!n) {
- r = log_oom();
- goto fail;
- }
+ if (!n)
+ return log_oom();
p = strjoin(arg_dest, "/", n, NULL);
- if (!p) {
- r = log_oom();
- goto fail;
- }
+ if (!p)
+ return log_oom();
u = fstab_node_to_udev_node(device);
- if (!u) {
- r = log_oom();
- goto fail;
- }
+ if (!u)
+ return log_oom();
d = unit_name_from_path(u, ".device");
- if (!d) {
- r = log_oom();
- goto fail;
- }
+ if (!d)
+ return log_oom();
f = fopen(p, "wxe");
if (!f) {
- r = -errno;
log_error("Failed to create unit file %s: %m", p);
- goto fail;
+ return -errno;
}
- fprintf(f,
+ fputs(
"# Automatically generated by systemd-cryptsetup-generator\n\n"
"[Unit]\n"
- "Description=Cryptography Setup for %%I\n"
+ "Description=Cryptography Setup for %I\n"
"Documentation=man:systemd-cryptsetup@.service(8) man:crypttab(5)\n"
"SourcePath=/etc/crypttab\n"
"Conflicts=umount.target\n"
"DefaultDependencies=no\n"
- "BindsTo=%s dev-mapper-%%i.device\n"
- "After=systemd-readahead-collect.service systemd-readahead-replay.service %s\n"
- "Before=umount.target\n",
- d, d);
+ "BindsTo=dev-mapper-%i.device\n"
+ "After=systemd-readahead-collect.service systemd-readahead-replay.service\n",
+ f);
if (!nofail)
fprintf(f,
"Before=cryptsetup.target\n");
- if (password && (streq(password, "/dev/urandom") ||
- streq(password, "/dev/random") ||
- streq(password, "/dev/hw_random")))
- fputs("After=systemd-random-seed-load.service\n", f);
+ if (password) {
+ if (streq(password, "/dev/urandom") ||
+ streq(password, "/dev/random") ||
+ streq(password, "/dev/hw_random"))
+ fputs("After=systemd-random-seed-load.service\n", f);
+ else if (!streq(password, "-") &&
+ !streq(password, "none"))
+ fprintf(f,
+ "RequiresMountsFor=%s\n",
+ password);
+ }
+
+ if (is_device_path(u))
+ fprintf(f,
+ "BindsTo=%s\n"
+ "After=%s\n"
+ "Before=umount.target\n",
+ d, d);
else
- fputs("Before=local-fs.target\n", f);
+ fprintf(f,
+ "RequiresMountsFor=%s\n",
+ u);
fprintf(f,
"\n[Service]\n"
@@ -159,86 +164,78 @@ static int create_disk(
fflush(f);
if (ferror(f)) {
- r = -errno;
log_error("Failed to write file %s: %m", p);
- goto fail;
+ return -errno;
}
- if (asprintf(&from, "../%s", n) < 0) {
- r = log_oom();
- goto fail;
- }
+ if (asprintf(&from, "../%s", n) < 0)
+ return log_oom();
if (!noauto) {
to = strjoin(arg_dest, "/", d, ".wants/", n, NULL);
- if (!to) {
- r = log_oom();
- goto fail;
- }
+ if (!to)
+ return log_oom();
mkdir_parents_label(to, 0755);
if (symlink(from, to) < 0) {
- log_error("Failed to create symlink '%s' to '%s': %m", from, to);
- r = -errno;
- goto fail;
+ log_error("Failed to create symlink %s: %m", to);
+ return -errno;
}
free(to);
-
if (!nofail)
to = strjoin(arg_dest, "/cryptsetup.target.requires/", n, NULL);
else
to = strjoin(arg_dest, "/cryptsetup.target.wants/", n, NULL);
- if (!to) {
- r = log_oom();
- goto fail;
- }
+ if (!to)
+ return log_oom();
mkdir_parents_label(to, 0755);
if (symlink(from, to) < 0) {
- log_error("Failed to create symlink '%s' to '%s': %m", from, to);
- r = -errno;
- goto fail;
+ log_error("Failed to create symlink %s: %m", to);
+ return -errno;
}
-
- free(to);
- to = NULL;
}
e = unit_name_escape(name);
+ if (!e)
+ return log_oom();
+
+ free(to);
to = strjoin(arg_dest, "/dev-mapper-", e, ".device.requires/", n, NULL);
- if (!to) {
- r = log_oom();
- goto fail;
- }
+ if (!to)
+ return log_oom();
mkdir_parents_label(to, 0755);
if (symlink(from, to) < 0) {
- log_error("Failed to create symlink '%s' to '%s': %m", from, to);
- r = -errno;
- goto fail;
+ log_error("Failed to create symlink %s: %m", to);
+ return -errno;
}
- r = 0;
-
-fail:
- free(p);
- free(n);
- free(d);
- free(e);
-
- free(from);
- free(to);
-
- if (f)
- fclose(f);
+ if (!noauto && !nofail) {
+ int r;
+ free(p);
+ p = strjoin(arg_dest, "/dev-mapper-", e, ".device.d/50-job-timeout-sec-0.conf", NULL);
+ if (!p)
+ return log_oom();
+
+ mkdir_parents_label(p, 0755);
+
+ r = write_string_file(p,
+ "# Automatically generated by systemd-cryptsetup-generator\n\n"
+ "[Unit]\n"
+ "JobTimeoutSec=0\n"); /* the binary handles timeouts anyway */
+ if (r)
+ return r;
+ }
- return r;
+ return 0;
}
-static int parse_proc_cmdline(void) {
- char *line, *w, *state;
+static int parse_proc_cmdline(char ***arg_proc_cmdline_disks, char **arg_proc_cmdline_keyfile) {
+ _cleanup_free_ char *line = NULL;
+ char *w = NULL, *state = NULL;
int r;
size_t l;
@@ -252,13 +249,11 @@ static int parse_proc_cmdline(void) {
}
FOREACH_WORD_QUOTED(w, l, line, state) {
- char *word;
+ _cleanup_free_ char *word = NULL;
word = strndup(w, l);
- if (!word) {
- r = log_oom();
- goto finish;
- }
+ if (!word)
+ return log_oom();
if (startswith(word, "luks=")) {
r = parse_boolean(word + 5);
@@ -295,28 +290,29 @@ static int parse_proc_cmdline(void) {
}
} else if (startswith(word, "luks.uuid=")) {
- char **t;
-
- t = strv_append(arg_proc_cmdline_disks, word + 10);
- if (!t) {
- r = log_oom();
- goto finish;
- }
- strv_free(arg_proc_cmdline_disks);
- arg_proc_cmdline_disks = t;
+ if (strv_extend(arg_proc_cmdline_disks, word + 10) < 0)
+ return log_oom();
} else if (startswith(word, "rd.luks.uuid=")) {
if (in_initrd()) {
- char **t;
+ if (strv_extend(arg_proc_cmdline_disks, word + 13) < 0)
+ return log_oom();
+ }
- t = strv_append(arg_proc_cmdline_disks, word + 13);
- if (!t) {
- r = log_oom();
- goto finish;
- }
- strv_free(arg_proc_cmdline_disks);
- arg_proc_cmdline_disks = t;
+ } else if (startswith(word, "luks.key=")) {
+ *arg_proc_cmdline_keyfile = strdup(word + 9);
+ if (!*arg_proc_cmdline_keyfile)
+ return log_oom();
+
+ } else if (startswith(word, "rd.luks.key=")) {
+
+ if (in_initrd()) {
+ if (*arg_proc_cmdline_keyfile)
+ free(*arg_proc_cmdline_keyfile);
+ *arg_proc_cmdline_keyfile = strdup(word + 12);
+ if (!*arg_proc_cmdline_keyfile)
+ return log_oom();
}
} else if (startswith(word, "luks.") ||
@@ -324,21 +320,20 @@ static int parse_proc_cmdline(void) {
log_warning("Unknown kernel switch %s. Ignoring.", word);
}
-
- free(word);
}
- r = 0;
+ strv_uniq(*arg_proc_cmdline_disks);
-finish:
- free(line);
- return r;
+ return 0;
}
int main(int argc, char *argv[]) {
- FILE *f = NULL;
- int r = EXIT_SUCCESS;
+ _cleanup_strv_free_ char **arg_proc_cmdline_disks_done = NULL;
+ _cleanup_strv_free_ char **arg_proc_cmdline_disks = NULL;
+ _cleanup_free_ char *arg_proc_cmdline_keyfile = NULL;
+ _cleanup_fclose_ FILE *f = NULL;
unsigned n = 0;
+ int r = EXIT_SUCCESS;
char **i;
if (argc > 1 && argc != 4) {
@@ -355,91 +350,119 @@ int main(int argc, char *argv[]) {
umask(0022);
- if (parse_proc_cmdline() < 0)
+ if (parse_proc_cmdline(&arg_proc_cmdline_disks, &arg_proc_cmdline_keyfile) < 0)
return EXIT_FAILURE;
- if (!arg_enabled) {
- r = EXIT_SUCCESS;
- goto finish;
- }
+ if (!arg_enabled)
+ return EXIT_SUCCESS;
- STRV_FOREACH(i, arg_proc_cmdline_disks) {
- char *name, *device;
- const char *p = *i;
+ if (arg_read_crypttab) {
+ struct stat st;
- if (startswith(p, "luks-"))
- p += 5;
+ f = fopen("/etc/crypttab", "re");
+ if (!f) {
+ if (errno == ENOENT)
+ r = EXIT_SUCCESS;
+ else {
+ r = EXIT_FAILURE;
+ log_error("Failed to open /etc/crypttab: %m");
+ }
- name = strappend("luks-", p);
- device = strappend("UUID=", p);
+ goto next;
+ }
- if (!name || !device) {
- log_oom();
+ if (fstat(fileno(f), &st) < 0) {
+ log_error("Failed to stat /etc/crypttab: %m");
r = EXIT_FAILURE;
- free(name);
- free(device);
- goto finish;
+ goto next;
}
- if (create_disk(name, device, NULL, NULL) < 0)
- r = EXIT_FAILURE;
+ /* If we readd support for specifying passphrases
+ * directly in crypttabe we should upgrade the warning
+ * below, though possibly only if a passphrase is
+ * specified directly. */
+ if (st.st_mode & 0005)
+ log_debug("/etc/crypttab is world-readable. This is usually not a good idea.");
- free(name);
- free(device);
- }
+ for (;;) {
+ char line[LINE_MAX], *l;
+ _cleanup_free_ char *name = NULL, *device = NULL, *password = NULL, *options = NULL;
+ int k;
- if (!arg_read_crypttab)
- return r;
+ if (!fgets(line, sizeof(line), f))
+ break;
- f = fopen("/etc/crypttab", "re");
- if (!f) {
+ n++;
- if (errno == ENOENT)
- r = EXIT_SUCCESS;
- else {
- r = EXIT_FAILURE;
- log_error("Failed to open /etc/crypttab: %m");
- }
+ l = strstrip(line);
+ if (*l == '#' || *l == 0)
+ continue;
- goto finish;
- }
+ k = sscanf(l, "%ms %ms %ms %ms", &name, &device, &password, &options);
+ if (k < 2 || k > 4) {
+ log_error("Failed to parse /etc/crypttab:%u, ignoring.", n);
+ r = EXIT_FAILURE;
+ continue;
+ }
- for (;;) {
- char line[LINE_MAX], *l;
- char *name = NULL, *device = NULL, *password = NULL, *options = NULL;
- int k;
+ if (arg_proc_cmdline_disks) {
+ /*
+ If luks UUIDs are specified on the kernel command line, use them as a filter
+ for /etc/crypttab and only generate units for those.
+ */
+ STRV_FOREACH(i, arg_proc_cmdline_disks) {
+ _cleanup_free_ char *proc_device = NULL, *proc_name = NULL;
+ const char *p = *i;
- if (!fgets(line, sizeof(line), f))
- break;
+ if (startswith(p, "luks-"))
+ p += 5;
- n++;
+ proc_name = strappend("luks-", p);
+ proc_device = strappend("UUID=", p);
- l = strstrip(line);
- if (*l == '#' || *l == 0)
- continue;
+ if (!proc_name || !proc_device)
+ return log_oom();
- k = sscanf(l, "%ms %ms %ms %ms", &name, &device, &password, &options);
- if (k < 2 || k > 4) {
- log_error("Failed to parse /etc/crypttab:%u, ignoring.", n);
- r = EXIT_FAILURE;
- goto next;
+ if (streq(proc_device, device) || streq(proc_name, name)) {
+ if (create_disk(name, device, password, options) < 0)
+ r = EXIT_FAILURE;
+
+ if (strv_extend(&arg_proc_cmdline_disks_done, p) < 0)
+ return log_oom();
+ }
+ }
+ } else {
+ if (create_disk(name, device, password, options) < 0)
+ r = EXIT_FAILURE;
+ }
}
+ }
- if (create_disk(name, device, password, options) < 0)
- r = EXIT_FAILURE;
+next:
+ STRV_FOREACH(i, arg_proc_cmdline_disks) {
+ /*
+ Generate units for those UUIDs, which were specified
+ on the kernel command line and not yet written.
+ */
- next:
- free(name);
- free(device);
- free(password);
- free(options);
- }
+ _cleanup_free_ char *name = NULL, *device = NULL;
+ const char *p = *i;
-finish:
- if (f)
- fclose(f);
+ if (startswith(p, "luks-"))
+ p += 5;
+
+ if (strv_contains(arg_proc_cmdline_disks_done, p))
+ continue;
- strv_free(arg_proc_cmdline_disks);
+ name = strappend("luks-", p);
+ device = strappend("UUID=", p);
+
+ if (!name || !device)
+ return log_oom();
+
+ if (create_disk(name, device, arg_proc_cmdline_keyfile, "timeout=0") < 0)
+ r = EXIT_FAILURE;
+ }
return r;
}
diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c
index f33284370c..347394db8e 100644
--- a/src/cryptsetup/cryptsetup.c
+++ b/src/cryptsetup/cryptsetup.c
@@ -44,7 +44,7 @@ static unsigned opt_tries = 0;
static bool opt_readonly = false;
static bool opt_verify = false;
static bool opt_discards = false;
-static usec_t opt_timeout = DEFAULT_TIMEOUT_USEC;
+static usec_t opt_timeout = 0;
/* Options Debian's crypttab knows we don't:
@@ -68,7 +68,8 @@ static int parse_one_option(const char *option) {
if (startswith(option, "cipher=")) {
char *t;
- if (!(t = strdup(option+7)))
+ t = strdup(option+7);
+ if (!t)
return -ENOMEM;
free(opt_cipher);
@@ -98,7 +99,8 @@ static int parse_one_option(const char *option) {
} else if (startswith(option, "hash=")) {
char *t;
- if (!(t = strdup(option+5)))
+ t = strdup(option+5);
+ if (!t)
return -ENOMEM;
free(opt_hash);
@@ -111,7 +113,7 @@ static int parse_one_option(const char *option) {
return 0;
}
- } else if (streq(option, "readonly"))
+ } else if (streq(option, "readonly") || streq(option, "read-only"))
opt_readonly = true;
else if (streq(option, "verify"))
opt_verify = true;
@@ -125,7 +127,7 @@ static int parse_one_option(const char *option) {
opt_type = CRYPT_PLAIN;
else if (startswith(option, "timeout=")) {
- if (parse_usec(option+8, &opt_timeout) < 0) {
+ if (parse_sec(option+8, &opt_timeout) < 0) {
log_error("timeout= parse failure, ignoring.");
return 0;
}
@@ -137,22 +139,19 @@ static int parse_one_option(const char *option) {
}
static int parse_options(const char *options) {
- char *state;
- char *w;
+ char *state, *w;
size_t l;
+ int r;
assert(options);
FOREACH_WORD_SEPARATOR(w, l, options, ",", state) {
- char *o;
- int r;
+ _cleanup_free_ char *o;
- if (!(o = strndup(w, l)))
+ o = strndup(w, l);
+ if (!o)
return -ENOMEM;
-
r = parse_one_option(o);
- free(o);
-
if (r < 0)
return r;
}
@@ -165,11 +164,19 @@ static void log_glue(int level, const char *msg, void *usrptr) {
}
static char *disk_description(const char *path) {
+
+ static const char name_fields[] = {
+ "ID_PART_ENTRY_NAME\0"
+ "DM_NAME\0"
+ "ID_MODEL_FROM_DATABASE\0"
+ "ID_MODEL\0"
+ };
+
struct udev *udev = NULL;
struct udev_device *device = NULL;
struct stat st;
char *description = NULL;
- const char *model;
+ const char *i;
assert(path);
@@ -179,16 +186,23 @@ static char *disk_description(const char *path) {
if (!S_ISBLK(st.st_mode))
return NULL;
- if (!(udev = udev_new()))
+ udev = udev_new();
+ if (!udev)
return NULL;
- if (!(device = udev_device_new_from_devnum(udev, 'b', st.st_rdev)))
+ device = udev_device_new_from_devnum(udev, 'b', st.st_rdev);
+ if (!device)
goto finish;
- if ((model = udev_device_get_property_value(device, "ID_MODEL_FROM_DATABASE")) ||
- (model = udev_device_get_property_value(device, "ID_MODEL")) ||
- (model = udev_device_get_property_value(device, "DM_NAME")))
- description = strdup(model);
+ NULSTR_FOREACH(i, name_fields) {
+ const char *name;
+
+ name = udev_device_get_property_value(device, i);
+ if (!isempty(name)) {
+ description = strdup(name);
+ break;
+ }
+ }
finish:
if (device)
@@ -289,8 +303,10 @@ int main(int argc, char *argv[]) {
key_file = argv[4];
}
- if (argc >= 6 && argv[5][0] && !streq(argv[5], "-"))
- parse_options(argv[5]);
+ if (argc >= 6 && argv[5][0] && !streq(argv[5], "-")) {
+ if (parse_options(argv[5]) < 0)
+ goto finish;
+ }
/* A delicious drop of snake oil */
mlockall(MCL_FUTURE);
@@ -315,7 +331,8 @@ int main(int argc, char *argv[]) {
name = name_buffer ? name_buffer : argv[2];
- if ((k = crypt_init(&cd, argv[3]))) {
+ k = crypt_init(&cd, argv[3]);
+ if (k) {
log_error("crypt_init() failed: %s", strerror(-k));
goto finish;
}
@@ -353,8 +370,9 @@ int main(int argc, char *argv[]) {
size_t l;
l = strcspn(opt_cipher, "-");
+ truncated_cipher = strndup(opt_cipher, l);
- if (!(truncated_cipher = strndup(opt_cipher, l))) {
+ if (!truncated_cipher) {
log_oom();
goto finish;
}
@@ -373,8 +391,7 @@ int main(int argc, char *argv[]) {
passwords = NULL;
if (!key_file) {
- char *text;
- char **p;
+ char *text, **p;
if (asprintf(&text, "Please enter passphrase for disk %s!", name) < 0) {
log_oom();
@@ -444,10 +461,7 @@ int main(int argc, char *argv[]) {
k = crypt_load(cd, CRYPT_LUKS1, NULL);
if ((!opt_type && k < 0) || streq_ptr(opt_type, CRYPT_PLAIN)) {
- struct crypt_params_plain params;
-
- zero(params);
- params.hash = hash;
+ struct crypt_params_plain params = { .hash = hash };
/* for CRYPT_PLAIN limit reads
* from keyfile to key length, and
@@ -483,10 +497,25 @@ int main(int argc, char *argv[]) {
crypt_get_volume_key_size(cd)*8,
argv[3]);
- if (key_file)
- k = crypt_activate_by_keyfile_offset(cd, argv[2], CRYPT_ANY_SLOT, key_file, opt_keyfile_size,
- opt_keyfile_offset, flags);
- else {
+ if (key_file) {
+ struct stat st;
+
+ /* Ideally we'd do this on the open
+ * fd, but since this is just a
+ * warning it's OK to do this in two
+ * steps */
+ if (stat(key_file, &st) >= 0 && (st.st_mode & 0005))
+ log_warning("Key file %s is world-readable. That's certainly not a good idea.", key_file);
+
+ k = crypt_activate_by_keyfile_offset(
+ cd, argv[2], CRYPT_ANY_SLOT, key_file, opt_keyfile_size,
+ opt_keyfile_offset, flags);
+ if (k < 0) {
+ log_error("Failed to activate with key file '%s': %s", key_file, strerror(-k));
+ key_file = NULL;
+ continue;
+ }
+ } else {
char **p;
STRV_FOREACH(p, passwords) {
@@ -521,14 +550,16 @@ int main(int argc, char *argv[]) {
} else if (streq(argv[1], "detach")) {
int k;
- if ((k = crypt_init_by_name(&cd, argv[2]))) {
+ k = crypt_init_by_name(&cd, argv[2]);
+ if (k) {
log_error("crypt_init() failed: %s", strerror(-k));
goto finish;
}
crypt_set_log_callback(cd, log_glue, NULL);
- if ((k = crypt_deactivate(cd, argv[2])) < 0) {
+ k = crypt_deactivate(cd, argv[2]);
+ if (k < 0) {
log_error("Failed to deactivate: %s", strerror(-k));
goto finish;
}
diff --git a/src/delta/delta.c b/src/delta/delta.c
index 9f20938516..aec3dc8995 100644
--- a/src/delta/delta.c
+++ b/src/delta/delta.c
@@ -312,17 +312,17 @@ static int parse_flags(const char *flag_str, int flags) {
size_t l;
FOREACH_WORD(w, l, flag_str, state) {
- if (strncmp("masked", w, l) == 0)
+ if (strneq("masked", w, l))
flags |= SHOW_MASKED;
- else if (strncmp ("equivalent", w, l) == 0)
+ else if (strneq ("equivalent", w, l))
flags |= SHOW_EQUIVALENT;
- else if (strncmp("redirected", w, l) == 0)
+ else if (strneq("redirected", w, l))
flags |= SHOW_REDIRECTED;
- else if (strncmp("overridden", w, l) == 0)
+ else if (strneq("overridden", w, l))
flags |= SHOW_OVERRIDDEN;
- else if (strncmp("unchanged", w, l) == 0)
+ else if (strneq("unchanged", w, l))
flags |= SHOW_UNCHANGED;
- else if (strncmp("default", w, l) == 0)
+ else if (strneq("default", w, l))
flags |= SHOW_DEFAULTS;
else
return -EINVAL;
@@ -454,7 +454,7 @@ int main(int argc, char *argv[]) {
arg_flags |= SHOW_OVERRIDDEN;
if (!arg_no_pager)
- pager_open();
+ pager_open(false);
if (optind < argc) {
int i;
diff --git a/src/efi-boot-generator/Makefile b/src/efi-boot-generator/Makefile
new file mode 120000
index 0000000000..d0b0e8e008
--- /dev/null
+++ b/src/efi-boot-generator/Makefile
@@ -0,0 +1 @@
+../Makefile \ No newline at end of file
diff --git a/src/efi-boot-generator/efi-boot-generator.c b/src/efi-boot-generator/efi-boot-generator.c
new file mode 100644
index 0000000000..4367c536b0
--- /dev/null
+++ b/src/efi-boot-generator/efi-boot-generator.c
@@ -0,0 +1,123 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <unistd.h>
+#include <stdlib.h>
+
+#include "efivars.h"
+#include "path-util.h"
+#include "util.h"
+#include "mkdir.h"
+
+static const char *arg_dest = "/tmp";
+
+int main(int argc, char *argv[]) {
+ int r = EXIT_SUCCESS;
+ sd_id128_t id;
+ _cleanup_free_ char *name = NULL;
+ _cleanup_fclose_ FILE *f = NULL;
+
+ if (argc > 1 && argc != 4) {
+ log_error("This program takes three or no arguments.");
+ return EXIT_FAILURE;
+ }
+
+ if (argc > 1)
+ arg_dest = argv[3];
+
+ log_set_target(LOG_TARGET_SAFE);
+ log_parse_environment();
+ log_open();
+
+ umask(0022);
+
+ if (!is_efi_boot())
+ return EXIT_SUCCESS;
+
+ if (dir_is_empty("/boot") <= 0)
+ return EXIT_SUCCESS;
+
+ r = efi_get_loader_device_part_uuid(&id);
+ if (r == -ENOENT)
+ return EXIT_SUCCESS;
+ if (r < 0) {
+ log_error("Failed to read ESP partition UUID: %s", strerror(-r));
+ return EXIT_FAILURE;
+ }
+
+ name = strjoin(arg_dest, "/boot.mount", NULL);
+ if (!name) {
+ log_oom();
+ return EXIT_FAILURE;
+ }
+
+ f = fopen(name, "wxe");
+ if (!f) {
+ log_error("Failed to create mount unit file %s: %m", name);
+ return EXIT_FAILURE;
+ }
+
+ fprintf(f,
+ "# Automatially generated by systemd-efi-boot-generator\n\n"
+ "[Unit]\n"
+ "Description=EFI System Partition\n\n"
+ "[Mount]\n"
+ "Where=/boot\n"
+ "What=/dev/disk/by-partuuid/%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\n"
+ "Options=umask=0077\n",
+ SD_ID128_FORMAT_VAL(id));
+
+ free(name);
+ name = strjoin(arg_dest, "/boot.automount", NULL);
+ if (!name) {
+ log_oom();
+ return EXIT_FAILURE;
+ }
+
+ fclose(f);
+ f = fopen(name, "wxe");
+ if (!f) {
+ log_error("Failed to create automount unit file %s: %m", name);
+ return EXIT_FAILURE;
+ }
+
+ fputs("# Automatially generated by systemd-efi-boot-generator\n\n"
+ "[Unit]\n"
+ "Description=EFI System Partition Automount\n\n"
+ "[Automount]\n"
+ "Where=/boot\n", f);
+
+ free(name);
+ name = strjoin(arg_dest, "/local-fs.target.wants/boot.automount", NULL);
+ if (!name) {
+ log_oom();
+ return EXIT_FAILURE;
+ }
+
+ mkdir_parents(name, 0755);
+
+ if (symlink("../boot.automount", name) < 0) {
+ log_error("Failed to create symlink %s: %m", name);
+ return EXIT_FAILURE;
+ }
+
+ return 0;
+}
diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c
index f5d38ad261..f298cf7b9a 100644
--- a/src/fsck/fsck.c
+++ b/src/fsck/fsck.c
@@ -35,15 +35,16 @@
#include "special.h"
#include "bus-errors.h"
#include "virt.h"
+#include "fileio.h"
static bool arg_skip = false;
static bool arg_force = false;
static bool arg_show_progress = false;
-static void start_target(const char *target, bool isolate) {
+static void start_target(const char *target) {
DBusMessage *m = NULL, *reply = NULL;
DBusError error;
- const char *mode, *basic_target = "basic.target";
+ const char *mode = "replace", *basic_target = "basic.target";
DBusConnection *bus = NULL;
assert(target);
@@ -55,11 +56,6 @@ static void start_target(const char *target, bool isolate) {
goto finish;
}
- if (isolate)
- mode = "isolate";
- else
- mode = "replace";
-
log_info("Running request %s/start/%s", target, mode);
if (!(m = dbus_message_new_method_call("org.freedesktop.systemd1", "/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", "StartUnitReplace"))) {
@@ -388,10 +384,10 @@ int main(int argc, char *argv[]) {
if (status.si_code == CLD_EXITED && (status.si_status & 2) && root_directory)
/* System should be rebooted. */
- start_target(SPECIAL_REBOOT_TARGET, false);
+ start_target(SPECIAL_REBOOT_TARGET);
else if (status.si_code == CLD_EXITED && (status.si_status & 6))
/* Some other problem */
- start_target(SPECIAL_EMERGENCY_TARGET, true);
+ start_target(SPECIAL_EMERGENCY_TARGET);
else {
r = EXIT_SUCCESS;
log_warning("Ignoring error.");
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index f3ecc24be6..c17299f267 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -33,6 +33,7 @@
#include "special.h"
#include "mkdir.h"
#include "virt.h"
+#include "fileio.h"
static const char *arg_dest = "/tmp";
static bool arg_enabled = true;
@@ -68,7 +69,7 @@ static int mount_find_pri(struct mntent *me, int *ret) {
errno = 0;
r = strtoul(pri, &end, 10);
- if (errno != 0)
+ if (errno > 0)
return -errno;
if (end == pri || (*end != ',' && *end != 0))
@@ -79,8 +80,8 @@ static int mount_find_pri(struct mntent *me, int *ret) {
}
static int add_swap(const char *what, struct mntent *me) {
- char _cleanup_free_ *name = NULL, *unit = NULL, *lnk = NULL, *device = NULL;
- FILE _cleanup_fclose_ *f = NULL;
+ _cleanup_free_ char *name = NULL, *unit = NULL, *lnk = NULL, *device = NULL;
+ _cleanup_fclose_ FILE *f = NULL;
bool noauto, nofail;
int r, pri = -1;
@@ -177,7 +178,9 @@ static bool mount_is_bind(struct mntent *me) {
return
hasmntopt(me, "bind") ||
- streq(me->mnt_type, "bind");
+ streq(me->mnt_type, "bind") ||
+ hasmntopt(me, "rbind") ||
+ streq(me->mnt_type, "rbind");
}
static bool mount_is_network(struct mntent *me) {
@@ -188,15 +191,34 @@ static bool mount_is_network(struct mntent *me) {
fstype_is_network(me->mnt_type);
}
-static int add_mount(const char *what, const char *where, const char *type, const char *opts,
- int passno, bool wait, bool noauto, bool nofail, bool automount, bool isbind, bool isnetwork,
- const char *source) {
- char _cleanup_free_
+static bool mount_in_initrd(struct mntent *me) {
+ assert(me);
+
+ return
+ hasmntopt(me, "x-initrd.mount") ||
+ streq(me->mnt_dir, "/usr");
+}
+
+static int add_mount(
+ const char *what,
+ const char *where,
+ const char *type,
+ const char *opts,
+ int passno,
+ bool noauto,
+ bool nofail,
+ bool automount,
+ bool isbind,
+ const char *pre,
+ const char *pre2,
+ const char *online,
+ const char *post,
+ const char *source) {
+ _cleanup_free_ char
*name = NULL, *unit = NULL, *lnk = NULL, *device = NULL,
*automount_name = NULL, *automount_unit = NULL;
- FILE _cleanup_fclose_ *f = NULL;
+ _cleanup_fclose_ FILE *f = NULL;
int r;
- const char *post, *pre;
assert(what);
assert(where);
@@ -216,14 +238,6 @@ static int add_mount(const char *what, const char *where, const char *type, cons
mount_point_ignore(where))
return 0;
- if (isnetwork) {
- post = SPECIAL_REMOTE_FS_TARGET;
- pre = SPECIAL_REMOTE_FS_PRE_TARGET;
- } else {
- post = SPECIAL_LOCAL_FS_TARGET;
- pre = SPECIAL_LOCAL_FS_PRE_TARGET;
- }
-
name = unit_name_from_path(where, ".mount");
if (!name)
return log_oom();
@@ -248,17 +262,30 @@ static int add_mount(const char *what, const char *where, const char *type, cons
"DefaultDependencies=no\n",
source);
- if (!path_equal(where, "/"))
+ if (!path_equal(where, "/")) {
+ if (pre)
+ fprintf(f,
+ "After=%s\n",
+ pre);
+
+ if (pre2)
+ fprintf(f,
+ "After=%s\n",
+ pre2);
+
+ if (online)
+ fprintf(f,
+ "After=%s\n"
+ "Wants=%s\n",
+ online,
+ online);
+
fprintf(f,
- "After=%s\n"
- "Wants=%s\n"
"Conflicts=" SPECIAL_UMOUNT_TARGET "\n"
- "Before=" SPECIAL_UMOUNT_TARGET "\n",
- pre,
- pre);
-
+ "Before=" SPECIAL_UMOUNT_TARGET "\n");
+ }
- if (!noauto && !nofail && !automount)
+ if (post && !noauto && !nofail && !automount)
fprintf(f,
"Before=%s\n",
post);
@@ -281,10 +308,6 @@ static int add_mount(const char *what, const char *where, const char *type, cons
"Options=%s\n",
opts);
- if (wait)
- fprintf(f,
- "TimeoutSec=0\n");
-
fflush(f);
if (ferror(f)) {
log_error("Failed to write unit file %s: %m", unit);
@@ -292,14 +315,16 @@ static int add_mount(const char *what, const char *where, const char *type, cons
}
if (!noauto) {
- lnk = strjoin(arg_dest, "/", post, nofail || automount ? ".wants/" : ".requires/", name, NULL);
- if (!lnk)
- return log_oom();
+ if (post) {
+ lnk = strjoin(arg_dest, "/", post, nofail || automount ? ".wants/" : ".requires/", name, NULL);
+ if (!lnk)
+ return log_oom();
- mkdir_parents_label(lnk, 0755);
- if (symlink(unit, lnk) < 0) {
- log_error("Failed to create symlink %s: %m", lnk);
- return -errno;
+ mkdir_parents_label(lnk, 0755);
+ if (symlink(unit, lnk) < 0) {
+ log_error("Failed to create symlink %s: %m", lnk);
+ return -errno;
+ }
}
if (!isbind &&
@@ -343,14 +368,20 @@ static int add_mount(const char *what, const char *where, const char *type, cons
fprintf(f,
"# Automatically generated by systemd-fstab-generator\n\n"
"[Unit]\n"
- "SourcePath=/etc/fstab\n"
+ "SourcePath=%s\n"
"DefaultDependencies=no\n"
"Conflicts=" SPECIAL_UMOUNT_TARGET "\n"
- "Before=" SPECIAL_UMOUNT_TARGET " %s\n"
- "\n"
+ "Before=" SPECIAL_UMOUNT_TARGET "\n",
+ source);
+
+ if (post)
+ fprintf(f,
+ "Before= %s\n",
+ post);
+
+ fprintf(f,
"[Automount]\n"
"Where=%s\n",
- post,
where);
fflush(f);
@@ -374,27 +405,34 @@ static int add_mount(const char *what, const char *where, const char *type, cons
return 0;
}
-static int parse_fstab(void) {
+static int parse_fstab(const char *prefix, bool initrd) {
+ _cleanup_free_ char *fstab_path = NULL;
FILE *f;
int r = 0;
struct mntent *me;
- errno = 0;
- f = setmntent("/etc/fstab", "r");
+ fstab_path = strjoin(strempty(prefix), "/etc/fstab", NULL);
+ if (!fstab_path)
+ return log_oom();
+
+ f = setmntent(fstab_path, "r");
if (!f) {
if (errno == ENOENT)
return 0;
- log_error("Failed to open /etc/fstab: %m");
+ log_error("Failed to open %s/etc/fstab: %m", strempty(prefix));
return -errno;
}
while ((me = getmntent(f))) {
- char _cleanup_free_ *where = NULL, *what = NULL;
+ _cleanup_free_ char *where = NULL, *what = NULL;
int k;
+ if (initrd && !mount_in_initrd(me))
+ continue;
+
what = fstab_node_to_udev_node(me->mnt_fsname);
- where = strdup(me->mnt_dir);
+ where = strjoin(strempty(prefix), me->mnt_dir, NULL);
if (!what || !where) {
r = log_oom();
goto finish;
@@ -408,7 +446,8 @@ static int parse_fstab(void) {
if (streq(me->mnt_type, "swap"))
k = add_swap(what, me);
else {
- bool noauto, nofail, automount, isbind, isnetwork;
+ bool noauto, nofail, automount, isbind;
+ const char *pre, *pre2, *post, *online;
noauto = !!hasmntopt(me, "noauto");
nofail = !!hasmntopt(me, "nofail");
@@ -416,12 +455,27 @@ static int parse_fstab(void) {
hasmntopt(me, "comment=systemd.automount") ||
hasmntopt(me, "x-systemd.automount");
isbind = mount_is_bind(me);
- isnetwork = mount_is_network(me);
+
+ if (initrd) {
+ pre = pre2 = online = NULL;
+ post = SPECIAL_INITRD_FS_TARGET;
+ } else if (mount_in_initrd(me)) {
+ pre = pre2 = online = NULL;
+ post = SPECIAL_INITRD_ROOT_FS_TARGET;
+ } else if (mount_is_network(me)) {
+ pre = SPECIAL_REMOTE_FS_PRE_TARGET;
+ pre2 = SPECIAL_NETWORK_TARGET;
+ online = SPECIAL_NETWORK_ONLINE_TARGET;
+ post = SPECIAL_REMOTE_FS_TARGET;
+ } else {
+ pre = SPECIAL_LOCAL_FS_PRE_TARGET;
+ pre2 = online = NULL;
+ post = SPECIAL_LOCAL_FS_TARGET;
+ }
k = add_mount(what, where, me->mnt_type, me->mnt_opts,
- me->mnt_passno, false, noauto, nofail,
- automount, isbind, isnetwork,
- "/etc/fstab");
+ me->mnt_passno, noauto, nofail, automount,
+ isbind, pre, pre2, online, post, fstab_path);
}
if (k < 0)
@@ -434,11 +488,10 @@ finish:
}
static int parse_new_root_from_proc_cmdline(void) {
- char *w, *state;
_cleanup_free_ char *what = NULL, *type = NULL, *opts = NULL, *line = NULL;
+ char *w, *state;
int r;
size_t l;
- bool wait = false;
r = read_one_line_file("/proc/cmdline", &line);
if (r < 0) {
@@ -446,15 +499,15 @@ static int parse_new_root_from_proc_cmdline(void) {
return 0;
}
- opts = strdup("defaults");
+ opts = strdup("ro");
type = strdup("auto");
if (!opts || !type)
return log_oom();
- /* root= and roofstype= may occur more than once, the last instance should take precedence.
- * In the case of multiple rootflags= the arguments should be concatenated */
+ /* root= and roofstype= may occur more than once, the last instance should take precedence.
+ * In the case of multiple rootflags= the arguments should be concatenated */
FOREACH_WORD_QUOTED(w, l, line, state) {
- char *word, *tmp_word;
+ _cleanup_free_ char *word;
word = strndup(w, l);
if (!word)
@@ -473,41 +526,46 @@ static int parse_new_root_from_proc_cmdline(void) {
return log_oom();
} else if (startswith(word, "rootflags=")) {
- tmp_word = opts;
- opts = strjoin(opts, ",", word + 10, NULL);
- free(tmp_word);
- if (!opts)
+ char *o;
+
+ o = strjoin(opts, ",", word + 10, NULL);
+ if (!o)
return log_oom();
+ free(opts);
+ opts = o;
+
} else if (streq(word, "ro") || streq(word, "rw")) {
- tmp_word = opts;
- opts = strjoin(opts, ",", word, NULL);
- free(tmp_word);
- if (!opts)
- return log_oom();
+ char *o;
- } else if (streq(word, "rootwait"))
- wait = true;
+ o = strjoin(opts, ",", word, NULL);
+ if (!o)
+ return log_oom();
- free(word);
+ free(opts);
+ opts = o;
+ }
}
- if (what) {
+ if (!what) {
+ log_debug("Could not find a root= entry on the kernel commandline.");
+ return 0;
+ }
- log_debug("Found entry what=%s where=/new_root type=%s", what, type);
- r = add_mount(what, "/new_root", type, opts, 0, wait, false, false,
- false, false, false, "/proc/cmdline");
+ if (what[0] != '/') {
+ log_debug("Skipping entry what=%s where=/sysroot type=%s", what, type);
+ return 0;
+ }
- if (r < 0)
- return r;
- } else
- log_error("Could not find a root= entry on the kernel commandline.");
+ log_debug("Found entry what=%s where=/sysroot type=%s", what, type);
+ r = add_mount(what, "/sysroot", type, opts, 0, false, false, false,
+ false, NULL, NULL, NULL, SPECIAL_INITRD_ROOT_FS_TARGET, "/proc/cmdline");
- return 0;
+ return (r < 0) ? r : 0;
}
static int parse_proc_cmdline(void) {
- char _cleanup_free_ *line = NULL;
+ _cleanup_free_ char *line = NULL;
char *w, *state;
int r;
size_t l;
@@ -522,7 +580,7 @@ static int parse_proc_cmdline(void) {
}
FOREACH_WORD_QUOTED(w, l, line, state) {
- char _cleanup_free_ *word = NULL;
+ _cleanup_free_ char *word = NULL;
word = strndup(w, l);
if (!word)
@@ -556,7 +614,7 @@ static int parse_proc_cmdline(void) {
}
int main(int argc, char *argv[]) {
- int r, k = 0;
+ int r = 0, k, l = 0;
if (argc > 1 && argc != 4) {
log_error("This program takes three or no arguments.");
@@ -576,12 +634,15 @@ int main(int argc, char *argv[]) {
return EXIT_FAILURE;
if (in_initrd())
- k = parse_new_root_from_proc_cmdline();
+ r = parse_new_root_from_proc_cmdline();
if (!arg_enabled)
- return EXIT_SUCCESS;
+ return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS;
+
+ k = parse_fstab(NULL, false);
- r = parse_fstab();
+ if (in_initrd())
+ l = parse_fstab("/sysroot", true);
- return (r < 0) || (k < 0) ? EXIT_FAILURE : EXIT_SUCCESS;
+ return (r < 0) || (k < 0) || (l < 0) ? EXIT_FAILURE : EXIT_SUCCESS;
}
diff --git a/src/getty-generator/getty-generator.c b/src/getty-generator/getty-generator.c
index cb38f21052..4b7a60a4ec 100644
--- a/src/getty-generator/getty-generator.c
+++ b/src/getty-generator/getty-generator.c
@@ -28,6 +28,7 @@
#include "mkdir.h"
#include "unit-name.h"
#include "virt.h"
+#include "fileio.h"
static const char *arg_dest = "/tmp";
@@ -54,7 +55,7 @@ static int add_symlink(const char *fservice, const char *tservice) {
/* In case console=hvc0 is passed this will very likely result in EEXIST */
r = 0;
else {
- log_error("Failed to create symlink from %s to %s: %m", from, to);
+ log_error("Failed to create symlink %s: %m", to);
r = -errno;
}
}
diff --git a/src/hostname/hostnamectl.c b/src/hostname/hostnamectl.c
index ff1f091776..064581a31c 100644
--- a/src/hostname/hostnamectl.c
+++ b/src/hostname/hostnamectl.c
@@ -36,6 +36,7 @@
#include "strv.h"
#include "sd-id128.h"
#include "virt.h"
+#include "fileio.h"
static enum transport {
TRANSPORT_NORMAL,
@@ -78,14 +79,18 @@ static void print_status_info(StatusInfo *i) {
printf(" Static hostname: %s\n",
strna(i->static_hostname));
- if (!streq_ptr(i->hostname, i->static_hostname))
+ if (!isempty(i->pretty_hostname) &&
+ !streq_ptr(i->pretty_hostname, i->static_hostname))
+ printf(" Pretty hostname: %s\n",
+ strna(i->pretty_hostname));
+
+ if (!isempty(i->hostname) &&
+ !streq_ptr(i->hostname, i->static_hostname))
printf("Transient hostname: %s\n",
strna(i->hostname));
- printf(" Pretty hostname: %s\n"
- " Icon name: %s\n"
+ printf(" Icon name: %s\n"
" Chassis: %s\n",
- strna(i->pretty_hostname),
strna(i->icon_name),
strna(i->chassis));
@@ -151,7 +156,7 @@ static int show_status(DBusConnection *bus, char **args, unsigned n) {
const char *interface = "";
int r;
DBusMessageIter iter, sub, sub2, sub3;
- StatusInfo info;
+ StatusInfo info = {};
assert(args);
@@ -175,7 +180,6 @@ static int show_status(DBusConnection *bus, char **args, unsigned n) {
return -EIO;
}
- zero(info);
dbus_message_iter_recurse(&iter, &sub);
while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
@@ -213,26 +217,6 @@ static int show_status(DBusConnection *bus, char **args, unsigned n) {
return 0;
}
-static char* hostname_simplify(char *s) {
- char *p, *d;
-
- for (p = s, d = s; *p; p++) {
- if ((*p >= 'a' && *p <= 'z') ||
- (*p >= '0' && *p <= '9') ||
- *p == '-' || *p == '_')
- *(d++) = *p;
- else if (*p >= 'A' && *p <= 'Z')
- *(d++) = *p - 'A' + 'a';
- else if (*p == ' ')
- *(d++) = '-';
- }
-
- *d = 0;
-
- strshorten(s, HOST_NAME_MAX);
- return s;
-}
-
static int set_hostname(DBusConnection *bus, char **args, unsigned n) {
_cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
dbus_bool_t interactive = true;
@@ -246,6 +230,27 @@ static int set_hostname(DBusConnection *bus, char **args, unsigned n) {
polkit_agent_open_if_enabled();
if (arg_set_pretty) {
+ const char *p;
+
+ /* If the passed hostname is already valid, then
+ * assume the user doesn't know anything about pretty
+ * hostnames, so let's unset the pretty hostname, and
+ * just set the passed hostname as static/dynamic
+ * hostname. */
+
+ h = strdup(hostname);
+ if (!h)
+ return log_oom();
+
+ hostname_cleanup(h, true);
+
+ if (arg_set_static && streq(h, hostname))
+ p = "";
+ else {
+ p = hostname;
+ hostname = h;
+ }
+
r = bus_method_call_with_reply(
bus,
"org.freedesktop.hostname1",
@@ -254,17 +259,14 @@ static int set_hostname(DBusConnection *bus, char **args, unsigned n) {
"SetPrettyHostname",
&reply,
NULL,
- DBUS_TYPE_STRING, &hostname,
+ DBUS_TYPE_STRING, &p,
DBUS_TYPE_BOOLEAN, &interactive,
DBUS_TYPE_INVALID);
if (r < 0)
return r;
- h = strdup(hostname);
- if (!h)
- return log_oom();
-
- hostname = hostname_simplify(h);
+ dbus_message_unref(reply);
+ reply = NULL;
}
if (arg_set_static) {
@@ -282,6 +284,9 @@ static int set_hostname(DBusConnection *bus, char **args, unsigned n) {
if (r < 0)
return r;
+
+ dbus_message_unref(reply);
+ reply = NULL;
}
if (arg_set_transient) {
diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c
index 92b150bfc9..0437e33a66 100644
--- a/src/hostname/hostnamed.c
+++ b/src/hostname/hostnamed.c
@@ -32,6 +32,9 @@
#include "polkit.h"
#include "def.h"
#include "virt.h"
+#include "env-util.h"
+#include "fileio-label.h"
+#include "label.h"
#define INTERFACE \
" <interface name=\"org.freedesktop.hostname1\">\n" \
@@ -286,8 +289,7 @@ static int write_data_static_hostname(void) {
return 0;
}
-
- return write_one_line_file_atomic("/etc/hostname", data[PROP_STATIC_HOSTNAME]);
+ return write_string_file_atomic_label("/etc/hostname", data[PROP_STATIC_HOSTNAME]);
}
static int write_data_other(void) {
@@ -301,7 +303,7 @@ static int write_data_other(void) {
char **l = NULL;
int r, p;
- r = load_env_file("/etc/machine-info", &l);
+ r = load_env_file("/etc/machine-info", NULL, &l);
if (r < 0 && r != -ENOENT)
return r;
@@ -337,7 +339,7 @@ static int write_data_other(void) {
return 0;
}
- r = write_env_file("/etc/machine-info", l);
+ r = write_env_file_label("/etc/machine-info", l);
strv_free(l);
return r;
@@ -442,7 +444,7 @@ static DBusHandlerResult hostname_message_handler(
return bus_send_error_reply(connection, message, NULL, r);
}
- log_info("Changed host name to '%s'", strempty(data[PROP_HOSTNAME]));
+ log_info("Changed host name to '%s'", strna(data[PROP_HOSTNAME]));
changed = bus_properties_changed_new(
"/org/freedesktop/hostname1",
@@ -496,7 +498,7 @@ static DBusHandlerResult hostname_message_handler(
return bus_send_error_reply(connection, message, NULL, r);
}
- log_info("Changed static host name to '%s'", strempty(data[PROP_STATIC_HOSTNAME]));
+ log_info("Changed static host name to '%s'", strna(data[PROP_STATIC_HOSTNAME]));
changed = bus_properties_changed_new(
"/org/freedesktop/hostname1",
@@ -551,7 +553,7 @@ static DBusHandlerResult hostname_message_handler(
* safe than sorry */
if (k == PROP_ICON_NAME && !filename_is_safe(name))
return bus_send_error_reply(connection, message, NULL, -EINVAL);
- if (k == PROP_PRETTY_HOSTNAME && !string_is_safe(name))
+ if (k == PROP_PRETTY_HOSTNAME && string_has_cc(name))
return bus_send_error_reply(connection, message, NULL, -EINVAL);
if (k == PROP_CHASSIS && !valid_chassis(name))
return bus_send_error_reply(connection, message, NULL, -EINVAL);
@@ -572,7 +574,7 @@ static DBusHandlerResult hostname_message_handler(
log_info("Changed %s to '%s'",
k == PROP_PRETTY_HOSTNAME ? "pretty host name" :
- k == PROP_CHASSIS ? "chassis" : "icon name", strempty(data[k]));
+ k == PROP_CHASSIS ? "chassis" : "icon name", strna(data[k]));
changed = bus_properties_changed_new(
"/org/freedesktop/hostname1",
@@ -590,7 +592,7 @@ static DBusHandlerResult hostname_message_handler(
if (!reply)
goto oom;
- if (!dbus_connection_send(connection, reply, NULL))
+ if (!bus_maybe_send_reply(connection, message, reply))
goto oom;
dbus_message_unref(reply);
@@ -682,6 +684,7 @@ int main(int argc, char *argv[]) {
log_open();
umask(0022);
+ label_init("/etc");
if (argc == 2 && streq(argv[1], "--introspect")) {
fputs(DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE
diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c
index 0eb008d9e6..735f1e1450 100644
--- a/src/initctl/initctl.c
+++ b/src/initctl/initctl.c
@@ -290,7 +290,8 @@ static int server_init(Server *s, unsigned n_sockets) {
zero(*s);
- if ((s->epoll_fd = epoll_create1(EPOLL_CLOEXEC)) < 0) {
+ s->epoll_fd = epoll_create1(EPOLL_CLOEXEC);
+ if (s->epoll_fd < 0) {
r = -errno;
log_error("Failed to create epoll object: %s", strerror(errno));
goto fail;
@@ -303,8 +304,10 @@ static int server_init(Server *s, unsigned n_sockets) {
fd = SD_LISTEN_FDS_START+i;
- if ((r = sd_is_fifo(fd, NULL)) < 0) {
- log_error("Failed to determine file descriptor type: %s", strerror(-r));
+ r = sd_is_fifo(fd, NULL);
+ if (r < 0) {
+ log_error("Failed to determine file descriptor type: %s",
+ strerror(-r));
goto fail;
}
@@ -314,9 +317,11 @@ static int server_init(Server *s, unsigned n_sockets) {
goto fail;
}
- if (!(f = new0(Fifo, 1))) {
+ f = new0(Fifo, 1);
+ if (!f) {
r = -ENOMEM;
- log_error("Failed to create fifo object: %s", strerror(errno));
+ log_error("Failed to create fifo object: %s",
+ strerror(errno));
goto fail;
}
@@ -328,7 +333,8 @@ static int server_init(Server *s, unsigned n_sockets) {
if (epoll_ctl(s->epoll_fd, EPOLL_CTL_ADD, fd, &ev) < 0) {
r = -errno;
fifo_free(f);
- log_error("Failed to add fifo fd to epoll object: %s", strerror(errno));
+ log_error("Failed to add fifo fd to epoll object: %s",
+ strerror(errno));
goto fail;
}
@@ -339,7 +345,9 @@ static int server_init(Server *s, unsigned n_sockets) {
}
if (bus_connect(DBUS_BUS_SYSTEM, &s->bus, NULL, &error) < 0) {
- log_error("Failed to get D-Bus connection: %s", bus_error_message(&error));
+ log_error("Failed to get D-Bus connection: %s",
+ bus_error_message(&error));
+ r = -EIO;
goto fail;
}
diff --git a/src/journal/cat.c b/src/journal/cat.c
index a95392ccb0..ea61578353 100644
--- a/src/journal/cat.c
+++ b/src/journal/cat.c
@@ -25,7 +25,7 @@
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
-#include <sys/fcntl.h>
+#include <fcntl.h>
#include <systemd/sd-journal.h>
diff --git a/src/journal/catalog.c b/src/journal/catalog.c
index 3735ad9213..7738d243a5 100644
--- a/src/journal/catalog.c
+++ b/src/journal/catalog.c
@@ -26,6 +26,7 @@
#include <string.h>
#include <sys/mman.h>
#include <locale.h>
+#include <libgen.h>
#include "util.h"
#include "log.h"
@@ -34,11 +35,12 @@
#include "hashmap.h"
#include "strv.h"
#include "strbuf.h"
+#include "strxcpyx.h"
#include "conf-files.h"
#include "mkdir.h"
#include "catalog.h"
-static const char * const conf_file_dirs[] = {
+const char * const catalog_file_dirs[] = {
"/usr/local/lib/systemd/catalog/",
"/usr/lib/systemd/catalog/",
NULL
@@ -61,7 +63,7 @@ typedef struct CatalogItem {
le64_t offset;
} CatalogItem;
-static unsigned catalog_hash_func(const void *p) {
+unsigned catalog_hash_func(const void *p) {
const CatalogItem *i = p;
assert_cc(sizeof(unsigned) == sizeof(uint8_t)*4);
@@ -85,7 +87,7 @@ static unsigned catalog_hash_func(const void *p) {
string_hash_func(i->language);
}
-static int catalog_compare_func(const void *a, const void *b) {
+int catalog_compare_func(const void *a, const void *b) {
const CatalogItem *i = a, *j = b;
unsigned k;
@@ -96,7 +98,7 @@ static int catalog_compare_func(const void *a, const void *b) {
return 1;
}
- return strncmp(i->language, j->language, sizeof(i->language));
+ return strcmp(i->language, j->language);
}
static int finish_item(
@@ -123,12 +125,13 @@ static int finish_item(
return log_oom();
i->id = id;
- strncpy(i->language, language, sizeof(i->language));
+ strscpy(i->language, sizeof(i->language), language);
i->offset = htole64((uint64_t) offset);
r = hashmap_put(h, i, i);
if (r == EEXIST) {
- log_warning("Duplicate entry for " SD_ID128_FORMAT_STR ".%s, ignoring.", SD_ID128_FORMAT_VAL(id), language ? language : "C");
+ log_warning("Duplicate entry for " SD_ID128_FORMAT_STR ".%s, ignoring.",
+ SD_ID128_FORMAT_VAL(id), language ? language : "C");
free(i);
return 0;
}
@@ -136,7 +139,7 @@ static int finish_item(
return 0;
}
-static int import_file(Hashmap *h, struct strbuf *sb, const char *path) {
+int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) {
_cleanup_fclose_ FILE *f = NULL;
_cleanup_free_ char *payload = NULL;
unsigned n = 0;
@@ -177,7 +180,7 @@ static int import_file(Hashmap *h, struct strbuf *sb, const char *path) {
continue;
}
- if (strchr(COMMENTS, line[0]))
+ if (strchr(COMMENTS "\n", line[0]))
continue;
if (empty_line &&
@@ -185,15 +188,15 @@ static int import_file(Hashmap *h, struct strbuf *sb, const char *path) {
line[0] == '-' &&
line[1] == '-' &&
line[2] == ' ' &&
- (line[2+1+32] == ' ' || line[2+1+32] == 0)) {
+ (line[2+1+32] == ' ' || line[2+1+32] == '\0')) {
bool with_language;
sd_id128_t jd;
/* New entry */
- with_language = line[2+1+32] != 0;
- line[2+1+32] = 0;
+ with_language = line[2+1+32] != '\0';
+ line[2+1+32] = '\0';
if (sd_id128_from_string(line + 2 + 1, &jd) >= 0) {
@@ -211,21 +214,21 @@ static int import_file(Hashmap *h, struct strbuf *sb, const char *path) {
log_error("[%s:%u] Language too short.", path, n);
return -EINVAL;
}
- if (c > sizeof(language)) {
+ if (c > sizeof(language) - 1) {
log_error("[%s:%u] language too long.", path, n);
return -EINVAL;
}
- strncpy(language, t, sizeof(language));
+ strscpy(language, sizeof(language), t);
} else
- zero(language);
+ language[0] = '\0';
got_id = true;
empty_line = false;
id = jd;
if (payload)
- payload[0] = 0;
+ payload[0] = '\0';
continue;
}
@@ -269,34 +272,99 @@ static int import_file(Hashmap *h, struct strbuf *sb, const char *path) {
return 0;
}
-#define CATALOG_DATABASE CATALOG_PATH "/database"
+static long write_catalog(const char *database, Hashmap *h, struct strbuf *sb,
+ CatalogItem *items, size_t n) {
+ CatalogHeader header;
+ _cleanup_fclose_ FILE *w = NULL;
+ int r;
+ _cleanup_free_ char *d, *p = NULL;
+ size_t k;
+
+ d = dirname_malloc(database);
+ if (!d)
+ return log_oom();
+
+ r = mkdir_p(d, 0775);
+ if (r < 0) {
+ log_error("Recursive mkdir %s: %s", d, strerror(-r));
+ return r;
+ }
+
+ r = fopen_temporary(database, &w, &p);
+ if (r < 0) {
+ log_error("Failed to open database for writing: %s: %s",
+ database, strerror(-r));
+ return r;
+ }
+
+ zero(header);
+ memcpy(header.signature, CATALOG_SIGNATURE, sizeof(header.signature));
+ header.header_size = htole64(ALIGN_TO(sizeof(CatalogHeader), 8));
+ header.catalog_item_size = htole64(sizeof(CatalogItem));
+ header.n_items = htole64(hashmap_size(h));
+
+ r = -EIO;
-int catalog_update(void) {
+ k = fwrite(&header, 1, sizeof(header), w);
+ if (k != sizeof(header)) {
+ log_error("%s: failed to write header.", p);
+ goto error;
+ }
+
+ k = fwrite(items, 1, n * sizeof(CatalogItem), w);
+ if (k != n * sizeof(CatalogItem)) {
+ log_error("%s: failed to write database.", p);
+ goto error;
+ }
+
+ k = fwrite(sb->buf, 1, sb->len, w);
+ if (k != sb->len) {
+ log_error("%s: failed to write strings.", p);
+ goto error;
+ }
+
+ fflush(w);
+
+ if (ferror(w)) {
+ log_error("%s: failed to write database.", p);
+ goto error;
+ }
+
+ fchmod(fileno(w), 0644);
+
+ if (rename(p, database) < 0) {
+ log_error("rename (%s -> %s) failed: %m", p, database);
+ r = -errno;
+ goto error;
+ }
+
+ return ftell(w);
+
+error:
+ unlink(p);
+ return r;
+}
+
+int catalog_update(const char* database, const char* root, const char* const* dirs) {
_cleanup_strv_free_ char **files = NULL;
- _cleanup_fclose_ FILE *w = NULL;
- _cleanup_free_ char *p = NULL;
char **f;
Hashmap *h;
struct strbuf *sb = NULL;
_cleanup_free_ CatalogItem *items = NULL;
CatalogItem *i;
- CatalogHeader header;
- size_t k;
Iterator j;
unsigned n;
- int r;
+ long r;
h = hashmap_new(catalog_hash_func, catalog_compare_func);
- if (!h)
- return -ENOMEM;
-
sb = strbuf_new();
- if (!sb) {
+
+ if (!h || !sb) {
r = log_oom();
goto finish;
}
- r = conf_files_list_strv(&files, ".catalog", (const char **) conf_file_dirs);
+ r = conf_files_list_strv(&files, ".catalog", root, dirs);
if (r < 0) {
log_error("Failed to get catalog files: %s", strerror(-r));
goto finish;
@@ -304,7 +372,7 @@ int catalog_update(void) {
STRV_FOREACH(f, files) {
log_debug("reading file '%s'", *f);
- import_file(h, sb, *f);
+ catalog_import_file(h, sb, *f);
}
if (hashmap_size(h) <= 0) {
@@ -324,86 +392,34 @@ int catalog_update(void) {
n = 0;
HASHMAP_FOREACH(i, h, j) {
- log_debug("Found " SD_ID128_FORMAT_STR ", language %s", SD_ID128_FORMAT_VAL(i->id), isempty(i->language) ? "C" : i->language);
+ log_debug("Found " SD_ID128_FORMAT_STR ", language %s",
+ SD_ID128_FORMAT_VAL(i->id),
+ isempty(i->language) ? "C" : i->language);
items[n++] = *i;
}
assert(n == hashmap_size(h));
qsort(items, n, sizeof(CatalogItem), catalog_compare_func);
- r = mkdir_p(CATALOG_PATH, 0775);
- if (r < 0) {
- log_error("Recursive mkdir %s: %s", CATALOG_PATH, strerror(-r));
- goto finish;
- }
-
- r = fopen_temporary(CATALOG_DATABASE, &w, &p);
- if (r < 0) {
- log_error("Failed to open database for writing: %s: %s",
- CATALOG_DATABASE, strerror(-r));
- goto finish;
- }
-
- zero(header);
- memcpy(header.signature, CATALOG_SIGNATURE, sizeof(header.signature));
- header.header_size = htole64(ALIGN_TO(sizeof(CatalogHeader), 8));
- header.catalog_item_size = htole64(sizeof(CatalogItem));
- header.n_items = htole64(hashmap_size(h));
-
- k = fwrite(&header, 1, sizeof(header), w);
- if (k != sizeof(header)) {
- log_error("%s: failed to write header.", p);
- goto finish;
- }
-
- k = fwrite(items, 1, n * sizeof(CatalogItem), w);
- if (k != n * sizeof(CatalogItem)) {
- log_error("%s: failed to write database.", p);
- goto finish;
- }
-
- k = fwrite(sb->buf, 1, sb->len, w);
- if (k != sb->len) {
- log_error("%s: failed to write strings.", p);
- goto finish;
- }
-
- fflush(w);
-
- if (ferror(w)) {
- log_error("%s: failed to write database.", p);
- goto finish;
- }
-
- fchmod(fileno(w), 0644);
-
- if (rename(p, CATALOG_DATABASE) < 0) {
- log_error("rename (%s -> %s) failed: %m", p, CATALOG_DATABASE);
- r = -errno;
- goto finish;
- }
-
- log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.",
- CATALOG_DATABASE, n, sb->len, ftell(w));
-
- free(p);
- p = NULL;
+ r = write_catalog(database, h, sb, items, n);
+ if (r < 0)
+ log_error("Failed to write %s: %s", database, strerror(-r));
+ else
+ log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.",
+ database, n, sb->len, r);
r = 0;
finish:
- hashmap_free_free(h);
-
+ if (h)
+ hashmap_free_free(h);
if (sb)
strbuf_cleanup(sb);
- if (p)
- unlink(p);
-
- return r;
+ return r < 0 ? r : 0;
}
-static int open_mmap(int *_fd, struct stat *_st, void **_p) {
+static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p) {
const CatalogHeader *h;
int fd;
void *p;
@@ -413,7 +429,7 @@ static int open_mmap(int *_fd, struct stat *_st, void **_p) {
assert(_st);
assert(_p);
- fd = open(CATALOG_DATABASE, O_RDONLY|O_CLOEXEC);
+ fd = open(database, O_RDONLY|O_CLOEXEC);
if (fd < 0)
return -errno;
@@ -491,7 +507,7 @@ static const char *find_id(void *p, sd_id128_t id) {
le64toh(f->offset);
}
-int catalog_get(sd_id128_t id, char **_text) {
+int catalog_get(const char* database, sd_id128_t id, char **_text) {
_cleanup_close_ int fd = -1;
void *p = NULL;
struct stat st;
@@ -501,7 +517,7 @@ int catalog_get(sd_id128_t id, char **_text) {
assert(_text);
- r = open_mmap(&fd, &st, &p);
+ r = open_mmap(database, &fd, &st, &p);
if (r < 0)
return r;
@@ -551,7 +567,23 @@ static char *find_header(const char *s, const char *header) {
}
}
-int catalog_list(FILE *f) {
+static void dump_catalog_entry(FILE *f, sd_id128_t id, const char *s, bool oneline) {
+ if (oneline) {
+ _cleanup_free_ char *subject = NULL, *defined_by = NULL;
+
+ subject = find_header(s, "Subject:");
+ defined_by = find_header(s, "Defined-By:");
+
+ fprintf(f, SD_ID128_FORMAT_STR " %s: %s\n",
+ SD_ID128_FORMAT_VAL(id),
+ strna(defined_by), strna(subject));
+ } else
+ fprintf(f, "-- " SD_ID128_FORMAT_STR "\n%s\n",
+ SD_ID128_FORMAT_VAL(id), s);
+}
+
+
+int catalog_list(FILE *f, const char *database, bool oneline) {
_cleanup_close_ int fd = -1;
void *p = NULL;
struct stat st;
@@ -562,7 +594,7 @@ int catalog_list(FILE *f) {
sd_id128_t last_id;
bool last_id_set = false;
- r = open_mmap(&fd, &st, &p);
+ r = open_mmap(database, &fd, &st, &p);
if (r < 0)
return r;
@@ -571,17 +603,13 @@ int catalog_list(FILE *f) {
for (n = 0; n < le64toh(h->n_items); n++) {
const char *s;
- _cleanup_free_ char *subject = NULL, *defined_by = NULL;
if (last_id_set && sd_id128_equal(last_id, items[n].id))
continue;
assert_se(s = find_id(p, items[n].id));
- subject = find_header(s, "Subject:");
- defined_by = find_header(s, "Defined-By:");
-
- fprintf(f, SD_ID128_FORMAT_STR " %s: %s\n", SD_ID128_FORMAT_VAL(items[n].id), strna(defined_by), strna(subject));
+ dump_catalog_entry(f, items[n].id, s, oneline);
last_id_set = true;
last_id = items[n].id;
@@ -591,3 +619,37 @@ int catalog_list(FILE *f) {
return 0;
}
+
+int catalog_list_items(FILE *f, const char *database, bool oneline, char **items) {
+ char **item;
+ int r = 0;
+
+ STRV_FOREACH(item, items) {
+ sd_id128_t id;
+ int k;
+ _cleanup_free_ char *msg = NULL;
+
+ k = sd_id128_from_string(*item, &id);
+ if (k < 0) {
+ log_error("Failed to parse id128 '%s': %s",
+ *item, strerror(-k));
+ if (r == 0)
+ r = k;
+ continue;
+ }
+
+ k = catalog_get(database, id, &msg);
+ if (k < 0) {
+ log_full(k == -ENOENT ? LOG_NOTICE : LOG_ERR,
+ "Failed to retrieve catalog entry for '%s': %s",
+ *item, strerror(-k));
+ if (r == 0)
+ r = k;
+ continue;
+ }
+
+ dump_catalog_entry(f, id, msg, oneline);
+ }
+
+ return r;
+}
diff --git a/src/journal/catalog.h b/src/journal/catalog.h
index 9add773c95..24a2d0b553 100644
--- a/src/journal/catalog.h
+++ b/src/journal/catalog.h
@@ -21,8 +21,17 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-#include "sd-id128.h"
+#include <stdbool.h>
-int catalog_update(void);
-int catalog_get(sd_id128_t id, char **data);
-int catalog_list(FILE *f);
+#include "sd-id128.h"
+#include "hashmap.h"
+#include "strbuf.h"
+
+int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path);
+unsigned catalog_hash_func(const void *p);
+int catalog_compare_func(const void *a, const void *b) _pure_;
+int catalog_update(const char* database, const char* root, const char* const* dirs);
+int catalog_get(const char* database, sd_id128_t id, char **data);
+int catalog_list(FILE *f, const char* database, bool oneline);
+int catalog_list_items(FILE *f, const char* database, bool oneline, char **items);
+extern const char * const catalog_file_dirs[];
diff --git a/src/journal/coredump.c b/src/journal/coredump.c
index a507fc65f8..fd03e389bb 100644
--- a/src/journal/coredump.c
+++ b/src/journal/coredump.c
@@ -32,11 +32,16 @@
#include "log.h"
#include "util.h"
+#include "macro.h"
#include "mkdir.h"
#include "special.h"
#include "cgroup-util.h"
-#define COREDUMP_MAX (24*1024*1024)
+/* Few programs have less than 3MiB resident */
+#define COREDUMP_MIN_START (3*1024*1024)
+/* Make sure to not make this larger than the maximum journal entry
+ * size. See ENTRY_SIZE_MAX in journald-native.c. */
+#define COREDUMP_MAX (768*1024*1024)
enum {
ARG_PID = 1,
@@ -49,8 +54,7 @@ enum {
};
static int divert_coredump(void) {
- FILE *f;
- int r;
+ _cleanup_fclose_ FILE *f = NULL;
log_info("Detected coredump of the journal daemon itself, diverting coredump to /var/lib/systemd/coredump/.");
@@ -70,19 +74,16 @@ static int divert_coredump(void) {
if (l <= 0) {
if (ferror(f)) {
log_error("Failed to read coredump: %m");
- r = -errno;
- goto finish;
+ return -errno;
}
- r = 0;
break;
}
q = fwrite(buffer, 1, l, f);
if (q != l) {
log_error("Failed to write coredump: %m");
- r = -errno;
- goto finish;
+ return -errno;
}
}
@@ -90,25 +91,24 @@ static int divert_coredump(void) {
if (ferror(f)) {
log_error("Failed to write coredump: %m");
- r = -errno;
+ return -errno;
}
-finish:
- fclose(f);
- return r;
+ return 0;
}
int main(int argc, char* argv[]) {
int r, j = 0;
- char *p = NULL;
+ char *t;
ssize_t n;
pid_t pid;
uid_t uid;
gid_t gid;
struct iovec iovec[14];
- char *core_pid = NULL, *core_uid = NULL, *core_gid = NULL, *core_signal = NULL,
+ size_t coredump_bufsize, coredump_size;
+ _cleanup_free_ char *core_pid = NULL, *core_uid = NULL, *core_gid = NULL, *core_signal = NULL,
*core_timestamp = NULL, *core_comm = NULL, *core_exe = NULL, *core_unit = NULL,
- *core_session = NULL, *core_message = NULL, *core_cmdline = NULL, *t;
+ *core_session = NULL, *core_message = NULL, *core_cmdline = NULL, *coredump_data = NULL;
prctl(PR_SET_DUMPABLE, 0);
@@ -143,11 +143,11 @@ int main(int argc, char* argv[]) {
}
core_unit = strappend("COREDUMP_UNIT=", t);
- free(t);
+ } else if (cg_pid_get_user_unit(pid, &t) >= 0)
+ core_unit = strappend("COREDUMP_USER_UNIT=", t);
- if (core_unit)
- IOVEC_SET_STRING(iovec[j++], core_unit);
- }
+ if (core_unit)
+ IOVEC_SET_STRING(iovec[j++], core_unit);
/* OK, now we know it's not the journal, hence make use of
* it */
@@ -205,7 +205,7 @@ int main(int argc, char* argv[]) {
IOVEC_SET_STRING(iovec[j++], core_exe);
}
- if (get_process_cmdline(pid, LINE_MAX, false, &t) >= 0) {
+ if (get_process_cmdline(pid, 0, false, &t) >= 0) {
core_cmdline = strappend("COREDUMP_CMDLINE=", t);
free(t);
@@ -237,23 +237,35 @@ int main(int argc, char* argv[]) {
goto finish;
}
- p = malloc(9 + COREDUMP_MAX);
- if (!p) {
+ coredump_bufsize = COREDUMP_MIN_START;
+ coredump_data = malloc(coredump_bufsize);
+ if (!coredump_data) {
r = log_oom();
goto finish;
}
- memcpy(p, "COREDUMP=", 9);
+ memcpy(coredump_data, "COREDUMP=", 9);
+ coredump_size = 9;
- n = loop_read(STDIN_FILENO, p + 9, COREDUMP_MAX, false);
- if (n < 0) {
- log_error("Failed to read core dump data: %s", strerror(-n));
- r = (int) n;
- goto finish;
+ for (;;) {
+ n = loop_read(STDIN_FILENO, coredump_data + coredump_size,
+ coredump_bufsize - coredump_size, false);
+ if (n < 0) {
+ log_error("Failed to read core dump data: %s", strerror(-n));
+ r = (int) n;
+ goto finish;
+ } else if (n == 0)
+ break;
+
+ coredump_size += n;
+ if (!GREEDY_REALLOC(coredump_data, coredump_bufsize, coredump_size + 1)) {
+ r = log_oom();
+ goto finish;
+ }
}
- iovec[j].iov_base = p;
- iovec[j].iov_len = 9 + n;
+ iovec[j].iov_base = coredump_data;
+ iovec[j].iov_len = coredump_size;
j++;
r = sd_journal_sendv(iovec, j);
@@ -261,18 +273,5 @@ int main(int argc, char* argv[]) {
log_error("Failed to send coredump: %s", strerror(-r));
finish:
- free(p);
- free(core_pid);
- free(core_uid);
- free(core_gid);
- free(core_signal);
- free(core_timestamp);
- free(core_comm);
- free(core_exe);
- free(core_cmdline);
- free(core_unit);
- free(core_session);
- free(core_message);
-
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}
diff --git a/src/journal/coredumpctl.c b/src/journal/coredumpctl.c
index b6e558186d..5652c2f91a 100644
--- a/src/journal/coredumpctl.c
+++ b/src/journal/coredumpctl.c
@@ -34,6 +34,8 @@
#include "log.h"
#include "path-util.h"
#include "pager.h"
+#include "macro.h"
+#include "journal-internal.h"
static enum {
ACTION_NONE,
@@ -42,7 +44,6 @@ static enum {
ACTION_GDB,
} arg_action = ACTION_LIST;
-static Set *matches = NULL;
static FILE* output = NULL;
static char* field = NULL;
@@ -67,10 +68,9 @@ static Set *new_matches(void) {
return NULL;
}
- r = set_put(set, tmp);
+ r = set_consume(set, tmp);
if (r < 0) {
log_error("failed to add to set: %s", strerror(-r));
- free(tmp);
set_free(set);
return NULL;
}
@@ -103,7 +103,7 @@ static int add_match(Set *set, const char *match) {
unsigned pid;
const char* prefix;
char *pattern = NULL;
- char _cleanup_free_ *p = NULL;
+ _cleanup_free_ char *p = NULL;
if (strchr(match, '='))
prefix = "";
@@ -124,22 +124,21 @@ static int add_match(Set *set, const char *match) {
if (!pattern)
goto fail;
- r = set_put(set, pattern);
+ log_debug("Adding pattern: %s", pattern);
+ r = set_consume(set, pattern);
if (r < 0) {
- log_error("failed to add pattern '%s': %s",
+ log_error("Failed to add pattern '%s': %s",
pattern, strerror(-r));
goto fail;
}
- log_debug("Added pattern: %s", pattern);
return 0;
fail:
- free(pattern);
- log_error("failed to add match: %s", strerror(-r));
+ log_error("Failed to add match: %s", strerror(-r));
return r;
}
-static int parse_argv(int argc, char *argv[]) {
+static int parse_argv(int argc, char *argv[], Set *matches) {
enum {
ARG_VERSION = 0x100,
ARG_NO_PAGER,
@@ -268,7 +267,7 @@ static int retrieve(const void *data,
}
static void print_field(FILE* file, sd_journal *j) {
- const char _cleanup_free_ *value = NULL;
+ _cleanup_free_ const char *value = NULL;
const void *d;
size_t l;
@@ -281,7 +280,7 @@ static void print_field(FILE* file, sd_journal *j) {
}
static int print_entry(FILE* file, sd_journal *j, int had_legend) {
- const char _cleanup_free_
+ _cleanup_free_ const char
*pid = NULL, *uid = NULL, *gid = NULL,
*sgnl = NULL, *exe = NULL;
const void *d;
@@ -519,10 +518,11 @@ finish:
}
int main(int argc, char *argv[]) {
- sd_journal *j = NULL;
+ _cleanup_journal_close_ sd_journal*j = NULL;
const char* match;
Iterator it;
int r = 0;
+ _cleanup_set_free_free_ Set *matches = NULL;
setlocale(LC_ALL, "");
log_parse_environment();
@@ -534,7 +534,7 @@ int main(int argc, char *argv[]) {
goto end;
}
- r = parse_argv(argc, argv);
+ r = parse_argv(argc, argv, matches);
if (r < 0)
goto end;
@@ -560,7 +560,7 @@ int main(int argc, char *argv[]) {
case ACTION_LIST:
if (!arg_no_pager)
- pager_open();
+ pager_open(false);
r = dump_list(j);
break;
@@ -578,11 +578,6 @@ int main(int argc, char *argv[]) {
}
end:
- if (j)
- sd_journal_close(j);
-
- set_free_free(matches);
-
pager_close();
if (output)
diff --git a/src/journal/fsprg.c b/src/journal/fsprg.c
index 2190b7c796..6817a629c8 100644
--- a/src/journal/fsprg.c
+++ b/src/journal/fsprg.c
@@ -74,7 +74,7 @@ static void uint64_export(void *buf, size_t buflen, uint64_t x) {
((uint8_t*) buf)[7] = (x >> 0) & 0xff;
}
-static uint64_t uint64_import(const void *buf, size_t buflen) {
+_pure_ static uint64_t uint64_import(const void *buf, size_t buflen) {
assert(buflen == 8);
return
(uint64_t)(((uint8_t*) buf)[0]) << 56 |
diff --git a/src/journal/fsprg.h b/src/journal/fsprg.h
index 306ef18d73..150d034828 100644
--- a/src/journal/fsprg.h
+++ b/src/journal/fsprg.h
@@ -28,6 +28,8 @@
#include <sys/types.h>
#include <inttypes.h>
+#include "macro.h"
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -35,9 +37,9 @@ extern "C" {
#define FSPRG_RECOMMENDED_SECPAR 1536
#define FSPRG_RECOMMENDED_SEEDLEN (96/8)
-size_t FSPRG_mskinbytes(unsigned secpar);
-size_t FSPRG_mpkinbytes(unsigned secpar);
-size_t FSPRG_stateinbytes(unsigned secpar);
+size_t FSPRG_mskinbytes(unsigned secpar) _const_;
+size_t FSPRG_mpkinbytes(unsigned secpar) _const_;
+size_t FSPRG_stateinbytes(unsigned secpar) _const_;
/* Setup msk and mpk. Providing seed != NULL makes this algorithm deterministic. */
void FSPRG_GenMK(void *msk, void *mpk, const void *seed, size_t seedlen, unsigned secpar);
@@ -50,7 +52,7 @@ void FSPRG_GenState0(void *state, const void *mpk, const void *seed, size_t seed
void FSPRG_Evolve(void *state);
-uint64_t FSPRG_GetEpoch(const void *state);
+uint64_t FSPRG_GetEpoch(const void *state) _pure_;
/* Seek to any arbitrary state (by providing msk together with seed from GenState0). */
void FSPRG_Seek(void *state, uint64_t epoch, const void *msk, const void *seed, size_t seedlen);
diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
index 13fc8edea9..38499a6881 100644
--- a/src/journal/journal-file.c
+++ b/src/journal/journal-file.c
@@ -44,7 +44,7 @@
#define COMPRESSION_SIZE_THRESHOLD (512ULL)
/* This is the minimum journal file size */
-#define JOURNAL_FILE_SIZE_MIN (64ULL*1024ULL) /* 64 KiB */
+#define JOURNAL_FILE_SIZE_MIN (4ULL*1024ULL*1024ULL) /* 4 MiB */
/* These are the lower and upper bounds if we deduce the max_use value
* from the file system size */
@@ -68,6 +68,50 @@
/* How many entries to keep in the entry array chain cache at max */
#define CHAIN_CACHE_MAX 20
+int journal_file_set_online(JournalFile *f) {
+ assert(f);
+
+ if (!f->writable)
+ return -EPERM;
+
+ if (!(f->fd >= 0 && f->header))
+ return -EINVAL;
+
+ switch(f->header->state) {
+ case STATE_ONLINE:
+ return 0;
+
+ case STATE_OFFLINE:
+ f->header->state = STATE_ONLINE;
+ fsync(f->fd);
+ return 0;
+
+ default:
+ return -EINVAL;
+ }
+}
+
+int journal_file_set_offline(JournalFile *f) {
+ assert(f);
+
+ if (!f->writable)
+ return -EPERM;
+
+ if (!(f->fd >= 0 && f->header))
+ return -EINVAL;
+
+ if (f->header->state != STATE_ONLINE)
+ return 0;
+
+ fsync(f->fd);
+
+ f->header->state = STATE_OFFLINE;
+
+ fsync(f->fd);
+
+ return 0;
+}
+
void journal_file_close(JournalFile *f) {
assert(f);
@@ -81,16 +125,10 @@ void journal_file_close(JournalFile *f) {
if (f->mmap && f->fd >= 0)
mmap_cache_close_fd(f->mmap, f->fd);
- if (f->writable && f->fd >= 0)
- fdatasync(f->fd);
-
- if (f->header) {
- /* Mark the file offline. Don't override the archived state if it already is set */
- if (f->writable && f->header->state == STATE_ONLINE)
- f->header->state = STATE_OFFLINE;
+ journal_file_set_offline(f);
+ if (f->header)
munmap(f->header, PAGE_ALIGN(sizeof(Header)));
- }
if (f->fd >= 0)
close_nointr_nofail(f->fd);
@@ -177,7 +215,7 @@ static int journal_file_refresh_header(JournalFile *f) {
f->header->boot_id = boot_id;
- f->header->state = STATE_ONLINE;
+ journal_file_set_online(f);
/* Sync the online state to disk */
msync(f->header, PAGE_ALIGN(sizeof(Header)), MS_SYNC);
@@ -457,6 +495,10 @@ int journal_file_append_object(JournalFile *f, int type, uint64_t size, Object *
assert(offset);
assert(ret);
+ r = journal_file_set_online(f);
+ if (r < 0)
+ return r;
+
p = le64toh(f->header->tail_object_offset);
if (p == 0)
p = le64toh(f->header->header_size);
@@ -1267,9 +1309,6 @@ int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const st
assert(f);
assert(iovec || n_iovec == 0);
- if (!f->writable)
- return -EPERM;
-
if (!ts) {
dual_timestamp_get(&_ts);
ts = &_ts;
@@ -1286,7 +1325,7 @@ int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const st
#endif
/* alloca() can't take 0, hence let's allocate at least one */
- items = alloca(sizeof(EntryItem) * MAX(1, n_iovec));
+ items = alloca(sizeof(EntryItem) * MAX(1u, n_iovec));
for (i = 0; i < n_iovec; i++) {
uint64_t p;
@@ -1673,7 +1712,7 @@ found:
return 1;
}
-static int test_object_offset(JournalFile *f, uint64_t p, uint64_t needle) {
+_pure_ static int test_object_offset(JournalFile *f, uint64_t p, uint64_t needle) {
assert(f);
assert(p > 0);
@@ -1791,6 +1830,17 @@ static int test_object_monotonic(JournalFile *f, uint64_t p, uint64_t needle) {
return TEST_RIGHT;
}
+static inline int find_data_object_by_boot_id(
+ JournalFile *f,
+ sd_id128_t boot_id,
+ Object **o,
+ uint64_t *b) {
+ char t[sizeof("_BOOT_ID=")-1 + 32 + 1] = "_BOOT_ID=";
+
+ sd_id128_to_string(boot_id, t + 9);
+ return journal_file_find_data_object(f, t, sizeof(t) - 1, o, b);
+}
+
int journal_file_move_to_entry_by_monotonic(
JournalFile *f,
sd_id128_t boot_id,
@@ -1799,14 +1849,12 @@ int journal_file_move_to_entry_by_monotonic(
Object **ret,
uint64_t *offset) {
- char t[9+32+1] = "_BOOT_ID=";
Object *o;
int r;
assert(f);
- sd_id128_to_string(boot_id, t + 9);
- r = journal_file_find_data_object(f, t, strlen(t), &o, NULL);
+ r = find_data_object_by_boot_id(f, boot_id, &o, NULL);
if (r < 0)
return r;
if (r == 0)
@@ -2020,7 +2068,6 @@ int journal_file_move_to_entry_by_monotonic_for_data(
direction_t direction,
Object **ret, uint64_t *offset) {
- char t[9+32+1] = "_BOOT_ID=";
Object *o, *d;
int r;
uint64_t b, z;
@@ -2028,8 +2075,7 @@ int journal_file_move_to_entry_by_monotonic_for_data(
assert(f);
/* First, seek by time */
- sd_id128_to_string(boot_id, t + 9);
- r = journal_file_find_data_object(f, t, strlen(t), &o, &b);
+ r = find_data_object_by_boot_id(f, boot_id, &o, &b);
if (r < 0)
return r;
if (r == 0)
@@ -2730,7 +2776,7 @@ void journal_default_metrics(JournalMetrics *m, int fd) {
if (m->keep_free == (uint64_t) -1) {
if (fs_size > 0) {
- m->keep_free = PAGE_ALIGN(fs_size / 20); /* 5% of file system size */
+ m->keep_free = PAGE_ALIGN(fs_size * 3 / 20); /* 15% of file system size */
if (m->keep_free > DEFAULT_KEEP_FREE_UPPER)
m->keep_free = DEFAULT_KEEP_FREE_UPPER;
@@ -2768,7 +2814,6 @@ int journal_file_get_cutoff_realtime_usec(JournalFile *f, usec_t *from, usec_t *
}
int journal_file_get_cutoff_monotonic_usec(JournalFile *f, sd_id128_t boot_id, usec_t *from, usec_t *to) {
- char t[9+32+1] = "_BOOT_ID=";
Object *o;
uint64_t p;
int r;
@@ -2776,9 +2821,7 @@ int journal_file_get_cutoff_monotonic_usec(JournalFile *f, sd_id128_t boot_id, u
assert(f);
assert(from || to);
- sd_id128_to_string(boot_id, t + 9);
-
- r = journal_file_find_data_object(f, t, strlen(t), &o, &p);
+ r = find_data_object_by_boot_id(f, boot_id, &o, &p);
if (r <= 0)
return r;
diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h
index cdbc8e41f6..7b1cd42854 100644
--- a/src/journal/journal-file.h
+++ b/src/journal/journal-file.h
@@ -106,6 +106,8 @@ int journal_file_open(
JournalFile *template,
JournalFile **ret);
+int journal_file_set_offline(JournalFile *f);
+int journal_file_set_online(JournalFile *f);
void journal_file_close(JournalFile *j);
int journal_file_open_reliably(
@@ -148,9 +150,9 @@ static inline bool VALID_EPOCH(uint64_t u) {
int journal_file_move_to_object(JournalFile *f, int type, uint64_t offset, Object **ret);
-uint64_t journal_file_entry_n_items(Object *o);
-uint64_t journal_file_entry_array_n_items(Object *o);
-uint64_t journal_file_hash_table_n_items(Object *o);
+uint64_t journal_file_entry_n_items(Object *o) _pure_;
+uint64_t journal_file_entry_array_n_items(Object *o) _pure_;
+uint64_t journal_file_hash_table_n_items(Object *o) _pure_;
int journal_file_append_object(JournalFile *f, int type, uint64_t size, Object **ret, uint64_t *offset);
int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const struct iovec iovec[], unsigned n_iovec, uint64_t *seqno, Object **ret, uint64_t *offset);
diff --git a/src/journal/journal-gatewayd.c b/src/journal/journal-gatewayd.c
index 63d9744776..745f45f932 100644
--- a/src/journal/journal-gatewayd.c
+++ b/src/journal/journal-gatewayd.c
@@ -23,6 +23,7 @@
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
+#include <getopt.h>
#include <microhttpd.h>
@@ -30,8 +31,13 @@
#include "util.h"
#include "sd-journal.h"
#include "sd-daemon.h"
+#include "sd-bus.h"
+#include "bus-message.h"
+#include "bus-internal.h"
#include "logs-show.h"
-#include "virt.h"
+#include "microhttpd-util.h"
+#include "build.h"
+#include "fileio.h"
typedef struct RequestMeta {
sd_journal *journal;
@@ -106,8 +112,7 @@ static int open_journal(RequestMeta *m) {
return sd_journal_open(&m->journal, SD_JOURNAL_LOCAL_ONLY|SD_JOURNAL_SYSTEM_ONLY);
}
-
-static int respond_oom(struct MHD_Connection *connection) {
+static int respond_oom_internal(struct MHD_Connection *connection) {
struct MHD_Response *response;
const char m[] = "Out of memory.\n";
int ret;
@@ -125,6 +130,8 @@ static int respond_oom(struct MHD_Connection *connection) {
return ret;
}
+#define respond_oom(connection) log_oom(), respond_oom_internal(connection)
+
static int respond_error(
struct MHD_Connection *connection,
unsigned code,
@@ -328,7 +335,7 @@ static int request_parse_range(
colon2 = strchr(colon + 1, ':');
if (colon2) {
- char _cleanup_free_ *t;
+ _cleanup_free_ char *t;
t = strndup(colon + 1, colon2 - colon - 1);
if (!t)
@@ -477,18 +484,14 @@ static int request_parse_arguments(
static int request_handler_entries(
struct MHD_Connection *connection,
- void **connection_cls) {
+ void *connection_cls) {
struct MHD_Response *response;
- RequestMeta *m;
+ RequestMeta *m = connection_cls;
int r;
assert(connection);
- assert(connection_cls);
-
- m = request_meta(connection_cls);
- if (!m)
- return respond_oom(connection);
+ assert(m);
r = open_journal(m);
if (r < 0)
@@ -646,15 +649,11 @@ static int request_handler_fields(
void *connection_cls) {
struct MHD_Response *response;
- RequestMeta *m;
+ RequestMeta *m = connection_cls;
int r;
assert(connection);
- assert(connection_cls);
-
- m = request_meta(connection_cls);
- if (!m)
- return respond_oom(connection);
+ assert(m);
r = open_journal(m);
if (r < 0)
@@ -743,24 +742,63 @@ static int request_handler_file(
return ret;
}
+static int get_virtualization(char **v) {
+ _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
+ _cleanup_bus_unref_ sd_bus *bus = NULL;
+ const char *t;
+ char *b;
+ int r;
+
+ r = sd_bus_open_system(&bus);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_call_method(
+ bus,
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.DBus.Properties",
+ "Get",
+ NULL,
+ &reply,
+ "ss",
+ "org.freedesktop.systemd1.Manager",
+ "Virtualization");
+ if (r < 0)
+ return r;
+
+ r = sd_bus_message_read(reply, "v", "s", &t);
+ if (r < 0)
+ return r;
+
+ if (isempty(t)) {
+ *v = NULL;
+ return 0;
+ }
+
+ b = strdup(t);
+ if (!b)
+ return -ENOMEM;
+
+ *v = b;
+ return 1;
+}
+
static int request_handler_machine(
struct MHD_Connection *connection,
- void **connection_cls) {
+ void *connection_cls) {
struct MHD_Response *response;
- RequestMeta *m;
+ RequestMeta *m = connection_cls;
int r;
_cleanup_free_ char* hostname = NULL, *os_name = NULL;
uint64_t cutoff_from, cutoff_to, usage;
char *json;
sd_id128_t mid, bid;
- const char *v = "bare";
+ _cleanup_free_ char *v = NULL;
assert(connection);
-
- m = request_meta(connection_cls);
- if (!m)
- return respond_oom(connection);
+ assert(m);
r = open_journal(m);
if (r < 0)
@@ -788,7 +826,7 @@ static int request_handler_machine(
parse_env_file("/etc/os-release", NEWLINE, "PRETTY_NAME", &os_name, NULL);
- detect_virtualization(&v);
+ get_virtualization(&v);
r = asprintf(&json,
"{ \"machine_id\" : \"" SD_ID128_FORMAT_STR "\","
@@ -801,9 +839,9 @@ static int request_handler_machine(
"\"cutoff_to_realtime\" : \"%llu\" }\n",
SD_ID128_FORMAT_VAL(mid),
SD_ID128_FORMAT_VAL(bid),
- hostname_cleanup(hostname),
+ hostname_cleanup(hostname, false),
os_name ? os_name : "Linux",
- v,
+ v ? v : "bare",
(unsigned long long) usage,
(unsigned long long) cutoff_from,
(unsigned long long) cutoff_to);
@@ -835,43 +873,146 @@ static int request_handler(
void **connection_cls) {
assert(connection);
+ assert(connection_cls);
assert(url);
assert(method);
if (!streq(method, "GET"))
- return MHD_NO;
+ return respond_error(connection, MHD_HTTP_METHOD_NOT_ACCEPTABLE,
+ "Unsupported method.\n");
+
+
+ if (!*connection_cls) {
+ if (!request_meta(connection_cls))
+ return respond_oom(connection);
+ return MHD_YES;
+ }
if (streq(url, "/"))
return request_handler_redirect(connection, "/browse");
if (streq(url, "/entries"))
- return request_handler_entries(connection, connection_cls);
+ return request_handler_entries(connection, *connection_cls);
if (startswith(url, "/fields/"))
- return request_handler_fields(connection, url + 8, connection_cls);
+ return request_handler_fields(connection, url + 8, *connection_cls);
if (streq(url, "/browse"))
return request_handler_file(connection, DOCUMENT_ROOT "/browse.html", "text/html");
if (streq(url, "/machine"))
- return request_handler_machine(connection, connection_cls);
+ return request_handler_machine(connection, *connection_cls);
return respond_error(connection, MHD_HTTP_NOT_FOUND, "Not found.\n");
}
-int main(int argc, char *argv[]) {
- struct MHD_Daemon *d = NULL;
- int r = EXIT_FAILURE, n;
+static int help(void) {
+
+ printf("%s [OPTIONS...] ...\n\n"
+ "HTTP server for journal events.\n\n"
+ " -h --help Show this help\n"
+ " --version Show package version\n"
+ " --cert=CERT.PEM Specify server certificate in PEM format\n"
+ " --key=KEY.PEM Specify server key in PEM format\n",
+ program_invocation_short_name);
+
+ return 0;
+}
- if (argc > 1) {
+static char *key_pem = NULL;
+static char *cert_pem = NULL;
+
+static int parse_argv(int argc, char *argv[]) {
+ enum {
+ ARG_VERSION = 0x100,
+ ARG_KEY,
+ ARG_CERT,
+ };
+
+ int r, c;
+
+ static const struct option options[] = {
+ { "help", no_argument, NULL, 'h' },
+ { "version", no_argument, NULL, ARG_VERSION },
+ { "key", required_argument, NULL, ARG_KEY },
+ { "cert", required_argument, NULL, ARG_CERT },
+ { NULL, 0, NULL, 0 }
+ };
+
+ assert(argc >= 0);
+ assert(argv);
+
+ while ((c = getopt_long(argc, argv, "h", options, NULL)) >= 0)
+ switch(c) {
+ case ARG_VERSION:
+ puts(PACKAGE_STRING);
+ puts(SYSTEMD_FEATURES);
+ return 0;
+
+ case 'h':
+ return help();
+
+ case ARG_KEY:
+ if (key_pem) {
+ log_error("Key file specified twice");
+ return -EINVAL;
+ }
+ r = read_full_file(optarg, &key_pem, NULL);
+ if (r < 0) {
+ log_error("Failed to read key file: %s", strerror(-r));
+ return r;
+ }
+ assert(key_pem);
+ break;
+
+ case ARG_CERT:
+ if (cert_pem) {
+ log_error("Certificate file specified twice");
+ return -EINVAL;
+ }
+ r = read_full_file(optarg, &cert_pem, NULL);
+ if (r < 0) {
+ log_error("Failed to read certificate file: %s", strerror(-r));
+ return r;
+ }
+ assert(cert_pem);
+ break;
+
+ case '?':
+ return -EINVAL;
+
+ default:
+ log_error("Unknown option code %c", c);
+ return -EINVAL;
+ }
+
+ if (optind < argc) {
log_error("This program does not take arguments.");
- goto finish;
+ return -EINVAL;
+ }
+
+ if (!!key_pem != !!cert_pem) {
+ log_error("Certificate and key files must be specified together");
+ return -EINVAL;
}
+ return 1;
+}
+
+int main(int argc, char *argv[]) {
+ struct MHD_Daemon *d = NULL;
+ int r, n;
+
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
+ r = parse_argv(argc, argv);
+ if (r < 0)
+ return EXIT_FAILURE;
+ if (r == 0)
+ return EXIT_SUCCESS;
+
n = sd_listen_fds(1);
if (n < 0) {
log_error("Failed to determine passed sockets: %s", strerror(-n));
@@ -879,23 +1020,36 @@ int main(int argc, char *argv[]) {
} else if (n > 1) {
log_error("Can't listen on more than one socket.");
goto finish;
- } else if (n > 0) {
- d = MHD_start_daemon(
- MHD_USE_THREAD_PER_CONNECTION|MHD_USE_POLL|MHD_USE_DEBUG,
- 19531,
- NULL, NULL,
- request_handler, NULL,
- MHD_OPTION_LISTEN_SOCKET, SD_LISTEN_FDS_START,
- MHD_OPTION_NOTIFY_COMPLETED, request_meta_free, NULL,
- MHD_OPTION_END);
} else {
- d = MHD_start_daemon(
- MHD_USE_DEBUG|MHD_USE_THREAD_PER_CONNECTION|MHD_USE_POLL,
- 19531,
- NULL, NULL,
- request_handler, NULL,
- MHD_OPTION_NOTIFY_COMPLETED, request_meta_free, NULL,
- MHD_OPTION_END);
+ struct MHD_OptionItem opts[] = {
+ { MHD_OPTION_NOTIFY_COMPLETED,
+ (intptr_t) request_meta_free, NULL },
+ { MHD_OPTION_EXTERNAL_LOGGER,
+ (intptr_t) microhttpd_logger, NULL },
+ { MHD_OPTION_END, 0, NULL },
+ { MHD_OPTION_END, 0, NULL },
+ { MHD_OPTION_END, 0, NULL },
+ { MHD_OPTION_END, 0, NULL }};
+ int opts_pos = 2;
+ int flags = MHD_USE_THREAD_PER_CONNECTION|MHD_USE_POLL|MHD_USE_DEBUG;
+
+ if (n > 0)
+ opts[opts_pos++] = (struct MHD_OptionItem)
+ {MHD_OPTION_LISTEN_SOCKET, SD_LISTEN_FDS_START};
+ if (key_pem) {
+ assert(cert_pem);
+ opts[opts_pos++] = (struct MHD_OptionItem)
+ {MHD_OPTION_HTTPS_MEM_KEY, 0, key_pem};
+ opts[opts_pos++] = (struct MHD_OptionItem)
+ {MHD_OPTION_HTTPS_MEM_CERT, 0, cert_pem};
+ flags |= MHD_USE_SSL;
+ }
+
+ d = MHD_start_daemon(flags, 19531,
+ NULL, NULL,
+ request_handler, NULL,
+ MHD_OPTION_ARRAY, opts,
+ MHD_OPTION_END);
}
if (!d) {
diff --git a/src/journal/journal-internal.h b/src/journal/journal-internal.h
index 97de0e75ff..c7e585d810 100644
--- a/src/journal/journal-internal.h
+++ b/src/journal/journal-internal.h
@@ -30,6 +30,7 @@
#include "journal-def.h"
#include "list.h"
#include "hashmap.h"
+#include "set.h"
#include "journal-file.h"
typedef struct Match Match;
@@ -73,19 +74,20 @@ typedef enum LocationType {
struct Location {
LocationType type;
+ bool seqnum_set;
+ bool realtime_set;
+ bool monotonic_set;
+ bool xor_hash_set;
+
uint64_t seqnum;
sd_id128_t seqnum_id;
- bool seqnum_set;
uint64_t realtime;
- bool realtime_set;
uint64_t monotonic;
sd_id128_t boot_id;
- bool monotonic_set;
uint64_t xor_hash;
- bool xor_hash_set;
};
struct Directory {
@@ -112,7 +114,7 @@ struct sd_journal {
int inotify_fd;
- Match *level0, *level1;
+ Match *level0, *level1, *level2;
unsigned current_invalidate_counter, last_invalidate_counter;
@@ -123,7 +125,17 @@ struct sd_journal {
bool on_network;
size_t data_threshold;
+
+ Set *errors;
+
+ usec_t last_process_usec;
};
char *journal_make_match_string(sd_journal *j);
void journal_print_header(sd_journal *j);
+
+static inline void journal_closep(sd_journal **j) {
+ sd_journal_close(*j);
+}
+
+#define _cleanup_journal_close_ _cleanup_(journal_closep)
diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
index d5ec73e371..14c437da78 100644
--- a/src/journal/journal-send.c
+++ b/src/journal/journal-send.c
@@ -111,13 +111,12 @@ _public_ int sd_journal_printv(int priority, const char *format, va_list ap) {
return sd_journal_sendv(iov, 2);
}
-static int fill_iovec_sprintf(const char *format, va_list ap, int extra, struct iovec **_iov) {
+_printf_attr_(1, 0) static int fill_iovec_sprintf(const char *format, va_list ap, int extra, struct iovec **_iov) {
+ PROTECT_ERRNO;
int r, n = 0, i = 0, j;
struct iovec *iov = NULL;
- int saved_errno;
assert(_iov);
- saved_errno = errno;
if (extra > 0) {
n = MAX(extra * 2, extra + 4);
@@ -163,7 +162,6 @@ static int fill_iovec_sprintf(const char *format, va_list ap, int extra, struct
*_iov = iov;
- errno = saved_errno;
return i;
fail:
@@ -172,7 +170,6 @@ fail:
free(iov);
- errno = saved_errno;
return r;
}
@@ -202,14 +199,14 @@ finish:
}
_public_ int sd_journal_sendv(const struct iovec *iov, int n) {
+ PROTECT_ERRNO;
int fd, buffer_fd;
struct iovec *w;
uint64_t *l;
- int r, i, j = 0;
+ int i, j = 0;
struct msghdr mh;
struct sockaddr_un sa;
ssize_t k;
- int saved_errno;
union {
struct cmsghdr cmsghdr;
uint8_t buf[CMSG_SPACE(sizeof(int))];
@@ -227,24 +224,18 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) {
if (_unlikely_(n <= 0))
return -EINVAL;
- saved_errno = errno;
-
w = alloca(sizeof(struct iovec) * n * 5 + 3);
l = alloca(sizeof(uint64_t) * n);
for (i = 0; i < n; i++) {
char *c, *nl;
- if (_unlikely_(!iov[i].iov_base || iov[i].iov_len <= 1)) {
- r = -EINVAL;
- goto finish;
- }
+ if (_unlikely_(!iov[i].iov_base || iov[i].iov_len <= 1))
+ return -EINVAL;
c = memchr(iov[i].iov_base, '=', iov[i].iov_len);
- if (_unlikely_(!c || c == iov[i].iov_base)) {
- r = -EINVAL;
- goto finish;
- }
+ if (_unlikely_(!c || c == iov[i].iov_base))
+ return -EINVAL;
have_syslog_identifier = have_syslog_identifier ||
(c == (char *) iov[i].iov_base + 17 &&
@@ -252,10 +243,8 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) {
nl = memchr(iov[i].iov_base, '\n', iov[i].iov_len);
if (nl) {
- if (_unlikely_(nl < c)) {
- r = -EINVAL;
- goto finish;
- }
+ if (_unlikely_(nl < c))
+ return -EINVAL;
/* Already includes a newline? Bummer, then
* let's write the variable name, then a
@@ -300,10 +289,8 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) {
}
fd = journal_fd();
- if (_unlikely_(fd < 0)) {
- r = fd;
- goto finish;
- }
+ if (_unlikely_(fd < 0))
+ return fd;
zero(sa);
sa.sun_family = AF_UNIX;
@@ -316,37 +303,29 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) {
mh.msg_iovlen = j;
k = sendmsg(fd, &mh, MSG_NOSIGNAL);
- if (k >= 0) {
- r = 0;
- goto finish;
- }
+ if (k >= 0)
+ return 0;
- if (errno != EMSGSIZE && errno != ENOBUFS) {
- r = -errno;
- goto finish;
- }
+ if (errno != EMSGSIZE && errno != ENOBUFS)
+ return -errno;
/* Message doesn't fit... Let's dump the data in a temporary
* file and just pass a file descriptor of it to the other
* side */
buffer_fd = mkostemp(path, O_CLOEXEC|O_RDWR);
- if (buffer_fd < 0) {
- r = -errno;
- goto finish;
- }
+ if (buffer_fd < 0)
+ return -errno;
if (unlink(path) < 0) {
close_nointr_nofail(buffer_fd);
- r = -errno;
- goto finish;
+ return -errno;
}
n = writev(buffer_fd, w, j);
if (n < 0) {
close_nointr_nofail(buffer_fd);
- r = -errno;
- goto finish;
+ return -errno;
}
mh.msg_iov = NULL;
@@ -367,24 +346,15 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) {
k = sendmsg(fd, &mh, MSG_NOSIGNAL);
close_nointr_nofail(buffer_fd);
- if (k < 0) {
- r = -errno;
- goto finish;
- }
-
- r = 0;
-
-finish:
- errno = saved_errno;
+ if (k < 0)
+ return -errno;
- return r;
+ return 0;
}
static int fill_iovec_perror_and_send(const char *message, int skip, struct iovec iov[]) {
- size_t n, k, r;
- int saved_errno;
-
- saved_errno = errno;
+ PROTECT_ERRNO;
+ size_t n, k;
k = isempty(message) ? 0 : strlen(message) + 2;
n = 8 + k + 256 + 1;
@@ -394,7 +364,7 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
char* j;
errno = 0;
- j = strerror_r(saved_errno, buffer + 8 + k, n - 8 - k);
+ j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
if (errno == 0) {
char error[6 + 10 + 1]; /* for a 32bit value */
@@ -408,24 +378,18 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
memcpy(buffer + 8 + k - 2, ": ", 2);
}
- snprintf(error, sizeof(error), "ERRNO=%u", saved_errno);
+ snprintf(error, sizeof(error), "ERRNO=%u", _saved_errno_);
char_array_0(error);
IOVEC_SET_STRING(iov[skip+0], "PRIORITY=3");
IOVEC_SET_STRING(iov[skip+1], buffer);
IOVEC_SET_STRING(iov[skip+2], error);
- r = sd_journal_sendv(iov, skip + 3);
-
- errno = saved_errno;
- return r;
+ return sd_journal_sendv(iov, skip + 3);
}
- if (errno != ERANGE) {
- r = -errno;
- errno = saved_errno;
- return r;
- }
+ if (errno != ERANGE)
+ return -errno;
n *= 2;
}
diff --git a/src/journal/journal-vacuum.c b/src/journal/journal-vacuum.c
index 731f6c770f..4a3a5a9e63 100644
--- a/src/journal/journal-vacuum.c
+++ b/src/journal/journal-vacuum.c
@@ -36,7 +36,7 @@
#include "util.h"
struct vacuum_info {
- off_t usage;
+ uint64_t usage;
char *filename;
uint64_t realtime;
@@ -293,7 +293,7 @@ int journal_directory_vacuum(
if (unlinkat(dirfd(d), list[i].filename, 0) >= 0) {
log_debug("Deleted archived journal %s/%s.", directory, list[i].filename);
- if ((uint64_t) list[i].usage > sum)
+ if (list[i].usage < sum)
sum -= list[i].usage;
else
sum = 0;
diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
index a74d43be7f..409f082276 100644
--- a/src/journal/journalctl.c
+++ b/src/journal/journalctl.c
@@ -27,7 +27,6 @@
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
-#include <sys/poll.h>
#include <time.h>
#include <getopt.h>
#include <signal.h>
@@ -35,9 +34,15 @@
#include <sys/ioctl.h>
#include <linux/fs.h>
+#ifdef HAVE_ACL
+#include <sys/acl.h>
+#include "acl-util.h"
+#endif
+
#include <systemd/sd-journal.h>
#include "log.h"
+#include "logs-show.h"
#include "util.h"
#include "path-util.h"
#include "build.h"
@@ -56,11 +61,12 @@
#define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
static OutputMode arg_output = OUTPUT_SHORT;
+static bool arg_pager_end = false;
static bool arg_follow = false;
static bool arg_full = false;
static bool arg_all = false;
static bool arg_no_pager = false;
-static unsigned arg_lines = 0;
+static int arg_lines = -1;
static bool arg_no_tail = false;
static bool arg_quiet = false;
static bool arg_merge = false;
@@ -74,9 +80,12 @@ static usec_t arg_interval = DEFAULT_FSS_INTERVAL_USEC;
#endif
static usec_t arg_since, arg_until;
static bool arg_since_set = false, arg_until_set = false;
-static const char *arg_unit = NULL;
+static char **arg_system_units = NULL;
+static char **arg_user_units = NULL;
static const char *arg_field = NULL;
static bool arg_catalog = false;
+static bool arg_reverse = false;
+static const char *arg_root = NULL;
static enum {
ACTION_SHOW,
@@ -86,6 +95,7 @@ static enum {
ACTION_VERIFY,
ACTION_DISK_USAGE,
ACTION_LIST_CATALOG,
+ ACTION_DUMP_CATALOG,
ACTION_UPDATE_CATALOG
} arg_action = ACTION_SHOW;
@@ -99,10 +109,13 @@ static int help(void) {
" -c --cursor=CURSOR Start showing entries from specified cursor\n"
" -b --this-boot Show data only from current boot\n"
" -u --unit=UNIT Show data only from the specified unit\n"
+ " --user-unit=UNIT Show data only from the specified user session unit\n"
" -p --priority=RANGE Show only messages within the specified priority range\n"
+ " -e --pager-end Immediately jump to end of the journal in the pager\n"
" -f --follow Follow journal\n"
" -n --lines[=INTEGER] Number of journal entries to show\n"
" --no-tail Show all lines, even in follow mode\n"
+ " -r --reverse Show the newest entries first\n"
" -o --output=STRING Change journal output mode (short, short-monotonic,\n"
" verbose, export, json, json-pretty, json-sse, cat)\n"
" -x --catalog Add message explanations where available\n"
@@ -112,6 +125,7 @@ static int help(void) {
" --no-pager Do not pipe output into a pager\n"
" -m --merge Show entries from all available journals\n"
" -D --directory=PATH Show journal files from directory\n"
+ " --root=ROOT Operate on catalog files underneath the root ROOT\n"
#ifdef HAVE_GCRYPT
" --interval=TIME Time interval for changing the FSS sealing key\n"
" --verify-key=KEY Specify FSS verification key\n"
@@ -124,6 +138,7 @@ static int help(void) {
" --disk-usage Show total disk usage\n"
" -F --field=FIELD List all values a certain field takes\n"
" --list-catalog Show message IDs of all entries in the message catalog\n"
+ " --dump-catalog Show entries in the message catalog\n"
" --update-catalog Update the message catalog database\n"
#ifdef HAVE_GCRYPT
" --setup-keys Generate new FSS key pair\n"
@@ -141,6 +156,7 @@ static int parse_argv(int argc, char *argv[]) {
ARG_NO_PAGER,
ARG_NO_TAIL,
ARG_NEW_ID128,
+ ARG_ROOT,
ARG_HEADER,
ARG_FULL,
ARG_SETUP_KEYS,
@@ -150,7 +166,9 @@ static int parse_argv(int argc, char *argv[]) {
ARG_DISK_USAGE,
ARG_SINCE,
ARG_UNTIL,
+ ARG_USER_UNIT,
ARG_LIST_CATALOG,
+ ARG_DUMP_CATALOG,
ARG_UPDATE_CATALOG
};
@@ -158,6 +176,7 @@ static int parse_argv(int argc, char *argv[]) {
{ "help", no_argument, NULL, 'h' },
{ "version" , no_argument, NULL, ARG_VERSION },
{ "no-pager", no_argument, NULL, ARG_NO_PAGER },
+ { "pager-end", no_argument, NULL, 'e' },
{ "follow", no_argument, NULL, 'f' },
{ "output", required_argument, NULL, 'o' },
{ "all", no_argument, NULL, 'a' },
@@ -169,6 +188,7 @@ static int parse_argv(int argc, char *argv[]) {
{ "merge", no_argument, NULL, 'm' },
{ "this-boot", no_argument, NULL, 'b' },
{ "directory", required_argument, NULL, 'D' },
+ { "root", required_argument, NULL, ARG_ROOT },
{ "header", no_argument, NULL, ARG_HEADER },
{ "priority", required_argument, NULL, 'p' },
{ "setup-keys", no_argument, NULL, ARG_SETUP_KEYS },
@@ -180,10 +200,13 @@ static int parse_argv(int argc, char *argv[]) {
{ "since", required_argument, NULL, ARG_SINCE },
{ "until", required_argument, NULL, ARG_UNTIL },
{ "unit", required_argument, NULL, 'u' },
+ { "user-unit", required_argument, NULL, ARG_USER_UNIT },
{ "field", required_argument, NULL, 'F' },
{ "catalog", no_argument, NULL, 'x' },
{ "list-catalog", no_argument, NULL, ARG_LIST_CATALOG },
+ { "dump-catalog", no_argument, NULL, ARG_DUMP_CATALOG },
{ "update-catalog",no_argument, NULL, ARG_UPDATE_CATALOG },
+ { "reverse", no_argument, NULL, 'r' },
{ NULL, 0, NULL, 0 }
};
@@ -192,7 +215,7 @@ static int parse_argv(int argc, char *argv[]) {
assert(argc >= 0);
assert(argv);
- while ((c = getopt_long(argc, argv, "hfo:an::qmbD:p:c:u:F:x", options, NULL)) >= 0) {
+ while ((c = getopt_long(argc, argv, "hefo:an::qmbD:p:c:u:F:xr", options, NULL)) >= 0) {
switch (c) {
@@ -209,6 +232,14 @@ static int parse_argv(int argc, char *argv[]) {
arg_no_pager = true;
break;
+ case 'e':
+ arg_pager_end = true;
+
+ if (arg_lines < 0)
+ arg_lines = 1000;
+
+ break;
+
case 'f':
arg_follow = true;
break;
@@ -239,13 +270,30 @@ static int parse_argv(int argc, char *argv[]) {
case 'n':
if (optarg) {
- r = safe_atou(optarg, &arg_lines);
- if (r < 0 || arg_lines <= 0) {
+ r = safe_atoi(optarg, &arg_lines);
+ if (r < 0 || arg_lines < 0) {
log_error("Failed to parse lines '%s'", optarg);
return -EINVAL;
}
- } else
- arg_lines = 10;
+ } else {
+ int n;
+
+ /* Hmm, no argument? Maybe the next
+ * word on the command line is
+ * supposed to be the argument? Let's
+ * see if there is one, and is
+ * parsable as a positive
+ * integer... */
+
+ if (optind < argc &&
+ safe_atoi(argv[optind], &n) >= 0 &&
+ n >= 0) {
+
+ arg_lines = n;
+ optind++;
+ } else
+ arg_lines = 10;
+ }
break;
@@ -273,6 +321,10 @@ static int parse_argv(int argc, char *argv[]) {
arg_directory = optarg;
break;
+ case ARG_ROOT:
+ arg_root = optarg;
+ break;
+
case 'c':
arg_cursor = optarg;
break;
@@ -302,7 +354,7 @@ static int parse_argv(int argc, char *argv[]) {
break;
case ARG_INTERVAL:
- r = parse_usec(optarg, &arg_interval);
+ r = parse_sec(optarg, &arg_interval);
if (r < 0 || arg_interval <= 0) {
log_error("Failed to parse sealing key change interval: %s", optarg);
return -EINVAL;
@@ -385,7 +437,15 @@ static int parse_argv(int argc, char *argv[]) {
break;
case 'u':
- arg_unit = optarg;
+ r = strv_extend(&arg_system_units, optarg);
+ if (r < 0)
+ return log_oom();
+ break;
+
+ case ARG_USER_UNIT:
+ r = strv_extend(&arg_user_units, optarg);
+ if (r < 0)
+ return log_oom();
break;
case '?':
@@ -403,20 +463,28 @@ static int parse_argv(int argc, char *argv[]) {
arg_action = ACTION_LIST_CATALOG;
break;
+ case ARG_DUMP_CATALOG:
+ arg_action = ACTION_DUMP_CATALOG;
+ break;
+
case ARG_UPDATE_CATALOG:
arg_action = ACTION_UPDATE_CATALOG;
break;
+ case 'r':
+ arg_reverse = true;
+ break;
+
default:
log_error("Unknown option code %c", c);
return -EINVAL;
}
}
- if (arg_follow && !arg_no_tail && arg_lines <= 0)
+ if (arg_follow && !arg_no_tail && arg_lines < 0)
arg_lines = 10;
- if (arg_since_set && arg_until_set && arg_since_set > arg_until_set) {
+ if (arg_since_set && arg_until_set && arg_since > arg_until) {
log_error("--since= must be before --until=.");
return -EINVAL;
}
@@ -426,6 +494,11 @@ static int parse_argv(int argc, char *argv[]) {
return -EINVAL;
}
+ if (arg_follow && arg_reverse) {
+ log_error("Please specify either --reverse= or --follow=, not both.");
+ return -EINVAL;
+ }
+
return 1;
}
@@ -445,30 +518,33 @@ static int generate_new_id128(void) {
"As UUID:\n"
"%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\n\n"
"As macro:\n"
- "#define MESSAGE_XYZ SD_ID128_MAKE(",
+ "#define MESSAGE_XYZ SD_ID128_MAKE(",
SD_ID128_FORMAT_VAL(id),
SD_ID128_FORMAT_VAL(id));
-
for (i = 0; i < 16; i++)
printf("%02x%s", id.bytes[i], i != 15 ? "," : "");
+ fputs(")\n\n", stdout);
- fputs(")\n", stdout);
+ printf("As Python constant:\n"
+ ">>> import uuid\n"
+ ">>> MESSAGE_XYZ = uuid.UUID('" SD_ID128_FORMAT_STR "')\n",
+ SD_ID128_FORMAT_VAL(id));
return 0;
}
static int add_matches(sd_journal *j, char **args) {
char **i;
- int r;
assert(j);
STRV_FOREACH(i, args) {
+ int r;
if (streq(*i, "+"))
r = sd_journal_add_disjunction(j);
else if (path_is_absolute(*i)) {
- char *p, *t = NULL;
+ _cleanup_free_ char *p, *t = NULL;
const char *path;
struct stat st;
@@ -476,7 +552,6 @@ static int add_matches(sd_journal *j, char **args) {
path = p ? p : *i;
if (stat(path, &st) < 0) {
- free(p);
log_error("Couldn't stat file: %m");
return -errno;
}
@@ -488,18 +563,14 @@ static int add_matches(sd_journal *j, char **args) {
else if (S_ISBLK(st.st_mode))
asprintf(&t, "_KERNEL_DEVICE=b%u:%u", major(st.st_rdev), minor(st.st_rdev));
else {
- free(p);
- log_error("File is not a device node, regular file or is not executable: %s", *i);
+ log_error("File is neither a device node, nor regular file, nor executable: %s", *i);
return -EINVAL;
}
- free(p);
-
if (!t)
return log_oom();
r = sd_journal_add_match(j, t, 0);
- free(t);
} else
r = sd_journal_add_match(j, *i, 0);
@@ -535,39 +606,57 @@ static int add_this_boot(sd_journal *j) {
return r;
}
+ r = sd_journal_add_conjunction(j);
+ if (r < 0)
+ return r;
+
return 0;
}
-static int add_unit(sd_journal *j) {
- _cleanup_free_ char *m = NULL, *u = NULL;
+static int add_units(sd_journal *j) {
+ _cleanup_free_ char *u = NULL;
int r;
+ char **i;
assert(j);
- if (isempty(arg_unit))
- return 0;
+ STRV_FOREACH(i, arg_system_units) {
+ u = unit_name_mangle(*i);
+ if (!u)
+ return log_oom();
+ r = add_matches_for_unit(j, u);
+ if (r < 0)
+ return r;
+ r = sd_journal_add_disjunction(j);
+ if (r < 0)
+ return r;
+ }
- u = unit_name_mangle(arg_unit);
- if (!u)
- return log_oom();
+ STRV_FOREACH(i, arg_user_units) {
+ u = unit_name_mangle(*i);
+ if (!u)
+ return log_oom();
- m = strappend("_SYSTEMD_UNIT=", u);
- if (!m)
- return log_oom();
+ r = add_matches_for_user_unit(j, u, getuid());
+ if (r < 0)
+ return r;
+
+ r = sd_journal_add_disjunction(j);
+ if (r < 0)
+ return r;
- r = sd_journal_add_match(j, m, strlen(m));
- if (r < 0) {
- log_error("Failed to add match: %s", strerror(-r));
- return r;
}
+ r = sd_journal_add_conjunction(j);
+ if (r < 0)
+ return r;
+
return 0;
}
static int add_priorities(sd_journal *j) {
char match[] = "PRIORITY=0";
int i, r;
-
assert(j);
if (arg_priorities == 0xFF)
@@ -584,6 +673,10 @@ static int add_priorities(sd_journal *j) {
}
}
+ r = sd_journal_add_conjunction(j);
+ if (r < 0)
+ return r;
+
return 0;
}
@@ -737,12 +830,12 @@ static int setup_keys(void) {
fprintf(stderr,
ANSI_HIGHLIGHT_OFF "\n"
"The sealing key is automatically changed every %s.\n",
- format_timespan(tsb, sizeof(tsb), arg_interval));
+ format_timespan(tsb, sizeof(tsb), arg_interval, 0));
hn = gethostname_malloc();
if (hn) {
- hostname_cleanup(hn);
+ hostname_cleanup(hn, false);
fprintf(stderr, "\nThe keys have been generated for host %s/" SD_ID128_FORMAT_STR ".\n", hn, SD_ID128_FORMAT_VAL(machine));
} else
fprintf(stderr, "\nThe keys have been generated for host " SD_ID128_FORMAT_STR ".\n", SD_ID128_FORMAT_VAL(machine));
@@ -811,10 +904,10 @@ static int verify(sd_journal *j) {
log_info("=> Validated from %s to %s, final %s entries not sealed.",
format_timestamp(a, sizeof(a), first),
format_timestamp(b, sizeof(b), validated),
- format_timespan(c, sizeof(c), last > validated ? last - validated : 0));
+ format_timespan(c, sizeof(c), last > validated ? last - validated : 0, 0));
} else if (last > 0)
log_info("=> No sealing yet, %s of entries not sealed.",
- format_timespan(c, sizeof(c), last - first));
+ format_timespan(c, sizeof(c), last - first, 0));
else
log_info("=> No sealing yet, no entries in file.");
}
@@ -824,33 +917,122 @@ static int verify(sd_journal *j) {
return r;
}
-static int access_check(void) {
-
#ifdef HAVE_ACL
- if (access("/var/log/journal", F_OK) < 0 && geteuid() != 0 && in_group("adm") <= 0) {
- log_error("Unprivileged users can't see messages unless persistent log storage is enabled. Users in the group 'adm' can always see messages.");
- return -EACCES;
+static int access_check_var_log_journal(sd_journal *j) {
+ _cleanup_strv_free_ char **g = NULL;
+ bool have_access;
+ int r;
+
+ assert(j);
+
+ have_access = in_group("systemd-journal") > 0;
+
+ if (!have_access) {
+ /* Let's enumerate all groups from the default ACL of
+ * the directory, which generally should allow access
+ * to most journal files too */
+ r = search_acl_groups(&g, "/var/log/journal/", &have_access);
+ if (r < 0)
+ return r;
}
- if (!arg_quiet && geteuid() != 0 && in_group("adm") <= 0)
- log_warning("Showing user generated messages only. Users in the group 'adm' can see all messages. Pass -q to turn this notice off.");
-#else
- if (geteuid() != 0 && in_group("adm") <= 0) {
- log_error("No access to messages. Only users in the group 'adm' can see messages.");
- return -EACCES;
+ if (!have_access) {
+
+ if (strv_isempty(g))
+ log_notice("Hint: You are currently not seeing messages from other users and the system.\n"
+ " Users in the 'systemd-journal' group can see all messages. Pass -q to\n"
+ " turn off this notice.");
+ else {
+ _cleanup_free_ char *s = NULL;
+
+ r = strv_extend(&g, "systemd-journal");
+ if (r < 0)
+ return log_oom();
+
+ strv_sort(g);
+ strv_uniq(g);
+
+ s = strv_join(g, "', '");
+ if (!s)
+ return log_oom();
+
+ log_notice("Hint: You are currently not seeing messages from other users and the system.\n"
+ " Users in the groups '%s' can see all messages.\n"
+ " Pass -q to turn off this notice.", s);
+ }
}
-#endif
return 0;
}
+#endif
+
+static int access_check(sd_journal *j) {
+ Iterator it;
+ void *code;
+ int r = 0;
+
+ assert(j);
+
+ if (set_isempty(j->errors)) {
+ if (hashmap_isempty(j->files))
+ log_notice("No journal files were found.");
+ return 0;
+ }
+
+ if (set_contains(j->errors, INT_TO_PTR(-EACCES))) {
+#ifdef HAVE_ACL
+ /* If /var/log/journal doesn't even exist,
+ * unprivileged users have no access at all */
+ if (access("/var/log/journal", F_OK) < 0 &&
+ geteuid() != 0 &&
+ in_group("systemd-journal") <= 0) {
+ log_error("Unprivileged users cannot access messages, unless persistent log storage is\n"
+ "enabled. Users in the 'systemd-journal' group may always access messages.");
+ return -EACCES;
+ }
+
+ /* If /var/log/journal exists, try to pring a nice
+ notice if the user lacks access to it */
+ if (!arg_quiet && geteuid() != 0) {
+ r = access_check_var_log_journal(j);
+ if (r < 0)
+ return r;
+ }
+#else
+ if (geteuid() != 0 && in_group("systemd-journal") <= 0) {
+ log_error("Unprivileged users cannot access messages. Users in the 'systemd-journal' group\n"
+ "group may access messages.");
+ return -EACCES;
+ }
+#endif
+
+ if (hashmap_isempty(j->files)) {
+ log_error("No journal files were opened due to insufficient permissions.");
+ r = -EACCES;
+ }
+ }
+
+ SET_FOREACH(code, j->errors, it) {
+ int err;
+
+ err = -PTR_TO_INT(code);
+ assert(err > 0);
+
+ if (err != EACCES)
+ log_warning("Error was encountered while opening journal files: %s",
+ strerror(err));
+ }
+
+ return r;
+}
int main(int argc, char *argv[]) {
int r;
- sd_journal *j = NULL;
+ _cleanup_journal_close_ sd_journal*j = NULL;
bool need_seek = false;
sd_id128_t previous_boot_id;
- bool previous_boot_id_valid = false;
- unsigned n_shown = 0;
+ bool previous_boot_id_valid = false, first_line = true;
+ int n_shown = 0;
setlocale(LC_ALL, "");
log_parse_environment();
@@ -872,21 +1054,40 @@ int main(int argc, char *argv[]) {
goto finish;
}
- if (arg_action == ACTION_LIST_CATALOG) {
- r = catalog_list(stdout);
- if (r < 0)
- log_error("Failed to list catalog: %s", strerror(-r));
- goto finish;
- }
+ if (arg_action == ACTION_UPDATE_CATALOG ||
+ arg_action == ACTION_LIST_CATALOG ||
+ arg_action == ACTION_DUMP_CATALOG) {
- if (arg_action == ACTION_UPDATE_CATALOG) {
- r = catalog_update();
- goto finish;
- }
+ const char* database = CATALOG_DATABASE;
+ _cleanup_free_ char *copy = NULL;
+ if (arg_root) {
+ copy = strjoin(arg_root, "/", CATALOG_DATABASE, NULL);
+ if (!copy) {
+ r = log_oom();
+ goto finish;
+ }
+ path_kill_slashes(copy);
+ database = copy;
+ }
+
+ if (arg_action == ACTION_UPDATE_CATALOG) {
+ r = catalog_update(database, arg_root, catalog_file_dirs);
+ if (r < 0)
+ log_error("Failed to list catalog: %s", strerror(-r));
+ } else {
+ bool oneline = arg_action == ACTION_LIST_CATALOG;
+
+ if (optind < argc)
+ r = catalog_list_items(stdout, database,
+ oneline, argv + optind);
+ else
+ r = catalog_list(stdout, database, oneline);
+ if (r < 0)
+ log_error("Failed to list catalog: %s", strerror(-r));
+ }
- r = access_check();
- if (r < 0)
goto finish;
+ }
if (arg_directory)
r = sd_journal_open_directory(&j, arg_directory, 0);
@@ -894,9 +1095,13 @@ int main(int argc, char *argv[]) {
r = sd_journal_open(&j, arg_merge ? 0 : SD_JOURNAL_LOCAL_ONLY);
if (r < 0) {
log_error("Failed to open journal: %s", strerror(-r));
- goto finish;
+ return EXIT_FAILURE;
}
+ r = access_check(j);
+ if (r < 0)
+ return EXIT_FAILURE;
+
if (arg_action == ACTION_VERIFY) {
r = verify(j);
goto finish;
@@ -904,8 +1109,7 @@ int main(int argc, char *argv[]) {
if (arg_action == ACTION_PRINT_HEADER) {
journal_print_header(j);
- r = 0;
- goto finish;
+ return EXIT_SUCCESS;
}
if (arg_action == ACTION_DISK_USAGE) {
@@ -914,43 +1118,57 @@ int main(int argc, char *argv[]) {
r = sd_journal_get_usage(j, &bytes);
if (r < 0)
- goto finish;
+ return EXIT_FAILURE;
- printf("Journals take up %s on disk.\n", format_bytes(sbytes, sizeof(sbytes), bytes));
- r = 0;
- goto finish;
+ printf("Journals take up %s on disk.\n",
+ format_bytes(sbytes, sizeof(sbytes), bytes));
+ return EXIT_SUCCESS;
}
r = add_this_boot(j);
if (r < 0)
- goto finish;
+ return EXIT_FAILURE;
+
+ r = add_units(j);
+ strv_free(arg_system_units);
+ strv_free(arg_user_units);
- r = add_unit(j);
if (r < 0)
- goto finish;
+ return EXIT_FAILURE;
+
+ r = add_priorities(j);
+ if (r < 0)
+ return EXIT_FAILURE;
r = add_matches(j, argv + optind);
if (r < 0)
- goto finish;
+ return EXIT_FAILURE;
- r = add_priorities(j);
+ /* Opening the fd now means the first sd_journal_wait() will actually wait */
+ r = sd_journal_get_fd(j);
if (r < 0)
- goto finish;
+ return EXIT_FAILURE;
if (arg_field) {
const void *data;
size_t size;
+ r = sd_journal_set_data_threshold(j, 0);
+ if (r < 0) {
+ log_error("Failed to unset data size threshold");
+ return EXIT_FAILURE;
+ }
+
r = sd_journal_query_unique(j, arg_field);
if (r < 0) {
log_error("Failed to query unique data objects: %s", strerror(-r));
- goto finish;
+ return EXIT_FAILURE;
}
SD_JOURNAL_FOREACH_UNIQUE(j, data, size) {
const void *eq;
- if (arg_lines > 0 && n_shown >= arg_lines)
+ if (arg_lines >= 0 && n_shown >= arg_lines)
break;
eq = memchr(data, '=', size);
@@ -962,41 +1180,59 @@ int main(int argc, char *argv[]) {
n_shown ++;
}
- r = 0;
- goto finish;
+ return EXIT_SUCCESS;
}
if (arg_cursor) {
r = sd_journal_seek_cursor(j, arg_cursor);
if (r < 0) {
log_error("Failed to seek to cursor: %s", strerror(-r));
- goto finish;
+ return EXIT_FAILURE;
}
+ if (!arg_reverse)
+ r = sd_journal_next(j);
+ else
+ r = sd_journal_previous(j);
- r = sd_journal_next(j);
-
- } else if (arg_since_set) {
+ } else if (arg_since_set && !arg_reverse) {
r = sd_journal_seek_realtime_usec(j, arg_since);
if (r < 0) {
log_error("Failed to seek to date: %s", strerror(-r));
- goto finish;
+ return EXIT_FAILURE;
}
r = sd_journal_next(j);
- } else if (arg_lines > 0) {
+ } else if (arg_until_set && arg_reverse) {
+ r = sd_journal_seek_realtime_usec(j, arg_until);
+ if (r < 0) {
+ log_error("Failed to seek to date: %s", strerror(-r));
+ return EXIT_FAILURE;
+ }
+ r = sd_journal_previous(j);
+
+ } else if (arg_lines >= 0) {
r = sd_journal_seek_tail(j);
if (r < 0) {
log_error("Failed to seek to tail: %s", strerror(-r));
- goto finish;
+ return EXIT_FAILURE;
}
r = sd_journal_previous_skip(j, arg_lines);
+ } else if (arg_reverse) {
+ r = sd_journal_seek_tail(j);
+ if (r < 0) {
+ log_error("Failed to seek to tail: %s", strerror(-r));
+ return EXIT_FAILURE;
+ }
+
+ r = sd_journal_previous(j);
+
} else {
r = sd_journal_seek_head(j);
if (r < 0) {
log_error("Failed to seek to head: %s", strerror(-r));
- goto finish;
+ return EXIT_FAILURE;
}
r = sd_journal_next(j);
@@ -1004,11 +1240,11 @@ int main(int argc, char *argv[]) {
if (r < 0) {
log_error("Failed to iterate through journal: %s", strerror(-r));
- goto finish;
+ return EXIT_FAILURE;
}
if (!arg_no_pager && !arg_follow)
- pager_open();
+ pager_open(arg_pager_end);
if (!arg_quiet) {
usec_t start, end;
@@ -1032,11 +1268,14 @@ int main(int argc, char *argv[]) {
}
for (;;) {
- while (arg_lines == 0 || arg_follow || n_shown < arg_lines) {
+ while (arg_lines < 0 || n_shown < arg_lines || (arg_follow && !first_line)) {
int flags;
if (need_seek) {
- r = sd_journal_next(j);
+ if (!arg_reverse)
+ r = sd_journal_next(j);
+ else
+ r = sd_journal_previous(j);
if (r < 0) {
log_error("Failed to iterate through journal: %s", strerror(-r));
goto finish;
@@ -1046,7 +1285,7 @@ int main(int argc, char *argv[]) {
if (r == 0)
break;
- if (arg_until_set) {
+ if (arg_until_set && !arg_reverse) {
usec_t usec;
r = sd_journal_get_realtime_usec(j, &usec);
@@ -1054,6 +1293,20 @@ int main(int argc, char *argv[]) {
log_error("Failed to determine timestamp: %s", strerror(-r));
goto finish;
}
+ if (usec > arg_until)
+ goto finish;
+ }
+
+ if (arg_since_set && arg_reverse) {
+ usec_t usec;
+
+ r = sd_journal_get_realtime_usec(j, &usec);
+ if (r < 0) {
+ log_error("Failed to determine timestamp: %s", strerror(-r));
+ goto finish;
+ }
+ if (usec < arg_since)
+ goto finish;
}
if (!arg_merge) {
@@ -1077,7 +1330,7 @@ int main(int argc, char *argv[]) {
arg_catalog * OUTPUT_CATALOG;
r = output_journal(stdout, j, arg_output, 0, flags);
- if (r < 0)
+ if (r < 0 || ferror(stdout))
goto finish;
need_seek = true;
@@ -1092,12 +1345,11 @@ int main(int argc, char *argv[]) {
log_error("Couldn't wait for journal event: %s", strerror(-r));
goto finish;
}
+
+ first_line = false;
}
finish:
- if (j)
- sd_journal_close(j);
-
pager_close();
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
diff --git a/src/journal/journald-gperf.gperf b/src/journal/journald-gperf.gperf
index 1baef1411c..2ecba3bd0e 100644
--- a/src/journal/journald-gperf.gperf
+++ b/src/journal/journald-gperf.gperf
@@ -18,7 +18,8 @@ struct ConfigPerfItem;
Journal.Storage, config_parse_storage, 0, offsetof(Server, storage)
Journal.Compress, config_parse_bool, 0, offsetof(Server, compress)
Journal.Seal, config_parse_bool, 0, offsetof(Server, seal)
-Journal.RateLimitInterval, config_parse_usec, 0, offsetof(Server, rate_limit_interval)
+Journal.SyncIntervalSec, config_parse_sec, 0, offsetof(Server, sync_interval_usec)
+Journal.RateLimitInterval, config_parse_sec, 0, offsetof(Server, rate_limit_interval)
Journal.RateLimitBurst, config_parse_unsigned, 0, offsetof(Server, rate_limit_burst)
Journal.SystemMaxUse, config_parse_bytes_off, 0, offsetof(Server, system_metrics.max_use)
Journal.SystemMaxFileSize, config_parse_bytes_off, 0, offsetof(Server, system_metrics.max_size)
@@ -26,8 +27,8 @@ Journal.SystemKeepFree, config_parse_bytes_off, 0, offsetof(Server, system_m
Journal.RuntimeMaxUse, config_parse_bytes_off, 0, offsetof(Server, runtime_metrics.max_use)
Journal.RuntimeMaxFileSize, config_parse_bytes_off, 0, offsetof(Server, runtime_metrics.max_size)
Journal.RuntimeKeepFree, config_parse_bytes_off, 0, offsetof(Server, runtime_metrics.keep_free)
-Journal.MaxRetentionSec, config_parse_usec, 0, offsetof(Server, max_retention_usec)
-Journal.MaxFileSec, config_parse_usec, 0, offsetof(Server, max_file_usec)
+Journal.MaxRetentionSec, config_parse_sec, 0, offsetof(Server, max_retention_usec)
+Journal.MaxFileSec, config_parse_sec, 0, offsetof(Server, max_file_usec)
Journal.ForwardToSyslog, config_parse_bool, 0, offsetof(Server, forward_to_syslog)
Journal.ForwardToKMsg, config_parse_bool, 0, offsetof(Server, forward_to_kmsg)
Journal.ForwardToConsole, config_parse_bool, 0, offsetof(Server, forward_to_console)
diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c
index b8198760d6..2f536320f8 100644
--- a/src/journal/journald-kmsg.c
+++ b/src/journal/journald-kmsg.c
@@ -250,10 +250,12 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) {
break;
g = udev_list_entry_get_name(ll);
- b = strappend("_UDEV_DEVLINK=", g);
if (g) {
- IOVEC_SET_STRING(iovec[n++], b);
- z++;
+ b = strappend("_UDEV_DEVLINK=", g);
+ if (b) {
+ IOVEC_SET_STRING(iovec[n++], b);
+ z++;
+ }
}
j++;
diff --git a/src/journal/journald-native.c b/src/journal/journald-native.c
index 069114778b..f878dfc911 100644
--- a/src/journal/journald-native.c
+++ b/src/journal/journald-native.c
@@ -31,8 +31,10 @@
#include "journald-console.h"
#include "journald-syslog.h"
-#define ENTRY_SIZE_MAX (1024*1024*64)
-#define DATA_SIZE_MAX (1024*1024*64)
+/* Make sure not to make this smaller than the maximum coredump
+ * size. See COREDUMP_MAX in coredump.c */
+#define ENTRY_SIZE_MAX (1024*1024*768)
+#define DATA_SIZE_MAX (1024*1024*768)
static bool valid_user_field(const char *p, size_t l) {
const char *a;
@@ -121,11 +123,12 @@ void server_process_native_message(
/* A property follows */
- if (n+N_IOVEC_META_FIELDS >= m) {
+ /* n received properties, +1 for _TRANSPORT */
+ if (n + 1 + N_IOVEC_META_FIELDS >= m) {
struct iovec *c;
unsigned u;
- u = MAX((n+N_IOVEC_META_FIELDS+1) * 2U, 4U);
+ u = MAX((n + 1 + N_IOVEC_META_FIELDS) * 2U, 4U);
c = realloc(iovec, u * sizeof(struct iovec));
if (!c) {
log_oom();
diff --git a/src/journal/journald-rate-limit.c b/src/journal/journald-rate-limit.c
index 8bd68476a3..32e35a926d 100644
--- a/src/journal/journald-rate-limit.c
+++ b/src/journal/journald-rate-limit.c
@@ -115,7 +115,7 @@ void journal_rate_limit_free(JournalRateLimit *r) {
free(r);
}
-static bool journal_rate_limit_group_expired(JournalRateLimitGroup *g, usec_t ts) {
+_pure_ static bool journal_rate_limit_group_expired(JournalRateLimitGroup *g, usec_t ts) {
unsigned i;
assert(g);
@@ -170,21 +170,6 @@ fail:
return NULL;
}
-static uint64_t u64log2(uint64_t n) {
- unsigned r;
-
- if (n <= 1)
- return 0;
-
- r = 0;
- for (;;) {
- n = n >> 1;
- if (!n)
- return r;
- r++;
- }
-}
-
static unsigned burst_modulate(unsigned burst, uint64_t available) {
unsigned k;
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
index 43ffe75560..cc52b8a5c9 100644
--- a/src/journal/journald-server.c
+++ b/src/journal/journald-server.c
@@ -24,16 +24,14 @@
#include <linux/sockios.h>
#include <sys/statvfs.h>
#include <sys/mman.h>
+#include <sys/timerfd.h>
#include <libudev.h>
#include <systemd/sd-journal.h>
#include <systemd/sd-messages.h>
#include <systemd/sd-daemon.h>
-#ifdef HAVE_LOGIND
-#include <systemd/sd-login.h>
-#endif
-
+#include "fileio.h"
#include "mkdir.h"
#include "hashmap.h"
#include "journal-file.h"
@@ -66,6 +64,7 @@
#define USER_JOURNALS_MAX 1024
+#define DEFAULT_SYNC_INTERVAL_USEC (5*USEC_PER_MINUTE)
#define DEFAULT_RATE_LIMIT_INTERVAL (10*USEC_PER_SEC)
#define DEFAULT_RATE_LIMIT_BURST 200
@@ -91,13 +90,14 @@ DEFINE_STRING_TABLE_LOOKUP(split_mode, SplitMode);
DEFINE_CONFIG_PARSE_ENUM(config_parse_split_mode, split_mode, SplitMode, "Failed to parse split mode setting");
static uint64_t available_space(Server *s) {
- char ids[33], *p;
+ char ids[33];
+ _cleanup_free_ char *p = NULL;
const char *f;
sd_id128_t machine;
struct statvfs ss;
uint64_t sum = 0, avail = 0, ss_avail = 0;
int r;
- DIR *d;
+ _cleanup_closedir_ DIR *d = NULL;
usec_t ts;
JournalMetrics *m;
@@ -125,13 +125,11 @@ static uint64_t available_space(Server *s) {
return 0;
d = opendir(p);
- free(p);
-
if (!d)
return 0;
if (fstatvfs(dirfd(d), &ss) < 0)
- goto finish;
+ return 0;
for (;;) {
struct stat st;
@@ -170,14 +168,11 @@ static uint64_t available_space(Server *s) {
s->cached_available_space = avail;
s->cached_available_space_timestamp = ts;
-finish:
- closedir(d);
-
return avail;
}
static void server_read_file_gid(Server *s) {
- const char *adm = "adm";
+ const char *g = "systemd-journal";
int r;
assert(s);
@@ -185,9 +180,9 @@ static void server_read_file_gid(Server *s) {
if (s->file_gid_valid)
return;
- r = get_group_creds(&adm, &s->file_gid);
+ r = get_group_creds(&g, &s->file_gid);
if (r < 0)
- log_warning("Failed to resolve 'adm' group: %s", strerror(-r));
+ log_warning("Failed to resolve '%s' group: %s", g, strerror(-r));
/* if we couldn't read the gid, then it will be 0, but that's
* fine and we shouldn't try to resolve the group again, so
@@ -232,9 +227,9 @@ void server_fix_perms(Server *s, JournalFile *f, uid_t uid) {
}
}
+ /* We do not recalculate the mask here, so that the fchmod() mask above stays intact. */
if (acl_get_permset(entry, &permset) < 0 ||
- acl_add_perm(permset, ACL_READ) < 0 ||
- acl_calc_mask(&acl) < 0) {
+ acl_add_perm(permset, ACL_READ) < 0) {
log_warning("Failed to patch ACL on %s, ignoring: %m", f->path);
goto finish;
}
@@ -347,6 +342,33 @@ void server_rotate(Server *s) {
}
}
+void server_sync(Server *s) {
+ JournalFile *f;
+ void *k;
+ Iterator i;
+ int r;
+
+ static const struct itimerspec sync_timer_disable = {};
+
+ if (s->system_journal) {
+ r = journal_file_set_offline(s->system_journal);
+ if (r < 0)
+ log_error("Failed to sync system journal: %s", strerror(-r));
+ }
+
+ HASHMAP_FOREACH_KEY(f, k, s->user_journals, i) {
+ r = journal_file_set_offline(f);
+ if (r < 0)
+ log_error("Failed to sync user journal: %s", strerror(-r));
+ }
+
+ r = timerfd_settime(s->sync_timer_fd, 0, &sync_timer_disable, NULL);
+ if (r < 0)
+ log_error("Failed to disable max timer: %m");
+
+ s->sync_scheduled = false;
+}
+
void server_vacuum(Server *s) {
char *p;
char ids[33];
@@ -394,48 +416,6 @@ void server_vacuum(Server *s) {
s->cached_available_space_timestamp = 0;
}
-static char *shortened_cgroup_path(pid_t pid) {
- int r;
- char *process_path, *init_path, *path;
-
- assert(pid > 0);
-
- r = cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, pid, &process_path);
- if (r < 0)
- return NULL;
-
- r = cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, 1, &init_path);
- if (r < 0) {
- free(process_path);
- return NULL;
- }
-
- if (endswith(init_path, "/system"))
- init_path[strlen(init_path) - 7] = 0;
- else if (streq(init_path, "/"))
- init_path[0] = 0;
-
- if (startswith(process_path, init_path)) {
- char *p;
-
- p = strdup(process_path + strlen(init_path));
- if (!p) {
- free(process_path);
- free(init_path);
- return NULL;
- }
- path = p;
- } else {
- path = process_path;
- process_path = NULL;
- }
-
- free(process_path);
- free(init_path);
-
- return path;
-}
-
bool shall_try_append_again(JournalFile *f, int r) {
/* -E2BIG Hit configured limit
@@ -490,8 +470,10 @@ static void write_to_journal(Server *s, uid_t uid, struct iovec *iovec, unsigned
}
r = journal_file_append_entry(f, NULL, iovec, n, &s->seqnum, NULL, NULL);
- if (r >= 0)
+ if (r >= 0) {
+ server_schedule_sync(s);
return;
+ }
if (vacuumed || !shall_try_append_again(f, r)) {
log_error("Failed to write entry, ignoring: %s", strerror(-r));
@@ -519,18 +501,26 @@ static void dispatch_message_real(
const char *label, size_t label_len,
const char *unit_id) {
- char *pid = NULL, *uid = NULL, *gid = NULL,
- *source_time = NULL, *boot_id = NULL, *machine_id = NULL,
- *comm = NULL, *cmdline = NULL, *hostname = NULL,
- *audit_session = NULL, *audit_loginuid = NULL,
- *exe = NULL, *cgroup = NULL, *session = NULL,
- *owner_uid = NULL, *unit = NULL, *selinux_context = NULL;
-
- char idbuf[33];
+ char pid[sizeof("_PID=") + DECIMAL_STR_MAX(pid_t)],
+ uid[sizeof("_UID=") + DECIMAL_STR_MAX(uid_t)],
+ gid[sizeof("_GID=") + DECIMAL_STR_MAX(gid_t)],
+ owner_uid[sizeof("_SYSTEMD_OWNER_UID=") + DECIMAL_STR_MAX(uid_t)],
+ source_time[sizeof("_SOURCE_REALTIME_TIMESTAMP=") + DECIMAL_STR_MAX(usec_t)],
+ boot_id[sizeof("_BOOT_ID=") + 32] = "_BOOT_ID=",
+ machine_id[sizeof("_MACHINE_ID=") + 32] = "_MACHINE_ID=";
+ char *comm, *exe, *cmdline, *cgroup, *session, *unit, *hostname;
sd_id128_t id;
int r;
- char *t;
- uid_t loginuid = 0, realuid = 0;
+ char *t, *c;
+ uid_t realuid = 0, owner = 0, journal_uid;
+ bool owner_valid = false;
+#ifdef HAVE_AUDIT
+ char audit_session[sizeof("_AUDIT_SESSION=") + DECIMAL_STR_MAX(uint32_t)],
+ audit_loginuid[sizeof("_AUDIT_LOGINUID=") + DECIMAL_STR_MAX(uid_t)];
+
+ uint32_t audit;
+ uid_t loginuid;
+#endif
assert(s);
assert(iovec);
@@ -538,165 +528,154 @@ static void dispatch_message_real(
assert(n + N_IOVEC_META_FIELDS <= m);
if (ucred) {
- uint32_t audit;
-#ifdef HAVE_LOGIND
- uid_t owner;
-#endif
-
realuid = ucred->uid;
- if (asprintf(&pid, "_PID=%lu", (unsigned long) ucred->pid) >= 0)
- IOVEC_SET_STRING(iovec[n++], pid);
+ sprintf(pid, "_PID=%lu", (unsigned long) ucred->pid);
+ IOVEC_SET_STRING(iovec[n++], pid);
- if (asprintf(&uid, "_UID=%lu", (unsigned long) ucred->uid) >= 0)
- IOVEC_SET_STRING(iovec[n++], uid);
+ sprintf(uid, "_UID=%lu", (unsigned long) ucred->uid);
+ IOVEC_SET_STRING(iovec[n++], uid);
- if (asprintf(&gid, "_GID=%lu", (unsigned long) ucred->gid) >= 0)
- IOVEC_SET_STRING(iovec[n++], gid);
+ sprintf(gid, "_GID=%lu", (unsigned long) ucred->gid);
+ IOVEC_SET_STRING(iovec[n++], gid);
r = get_process_comm(ucred->pid, &t);
if (r >= 0) {
- comm = strappend("_COMM=", t);
+ comm = strappenda("_COMM=", t);
free(t);
-
- if (comm)
- IOVEC_SET_STRING(iovec[n++], comm);
+ IOVEC_SET_STRING(iovec[n++], comm);
}
r = get_process_exe(ucred->pid, &t);
if (r >= 0) {
- exe = strappend("_EXE=", t);
+ exe = strappenda("_EXE=", t);
free(t);
-
- if (exe)
- IOVEC_SET_STRING(iovec[n++], exe);
+ IOVEC_SET_STRING(iovec[n++], exe);
}
- r = get_process_cmdline(ucred->pid, LINE_MAX, false, &t);
+ r = get_process_cmdline(ucred->pid, 0, false, &t);
if (r >= 0) {
- cmdline = strappend("_CMDLINE=", t);
+ cmdline = strappenda("_CMDLINE=", t);
free(t);
-
- if (cmdline)
- IOVEC_SET_STRING(iovec[n++], cmdline);
+ IOVEC_SET_STRING(iovec[n++], cmdline);
}
+#ifdef HAVE_AUDIT
r = audit_session_from_pid(ucred->pid, &audit);
- if (r >= 0)
- if (asprintf(&audit_session, "_AUDIT_SESSION=%lu", (unsigned long) audit) >= 0)
- IOVEC_SET_STRING(iovec[n++], audit_session);
+ if (r >= 0) {
+ sprintf(audit_session, "_AUDIT_SESSION=%lu", (unsigned long) audit);
+ IOVEC_SET_STRING(iovec[n++], audit_session);
+ }
r = audit_loginuid_from_pid(ucred->pid, &loginuid);
- if (r >= 0)
- if (asprintf(&audit_loginuid, "_AUDIT_LOGINUID=%lu", (unsigned long) loginuid) >= 0)
- IOVEC_SET_STRING(iovec[n++], audit_loginuid);
-
- t = shortened_cgroup_path(ucred->pid);
- if (t) {
- cgroup = strappend("_SYSTEMD_CGROUP=", t);
- free(t);
-
- if (cgroup)
- IOVEC_SET_STRING(iovec[n++], cgroup);
+ if (r >= 0) {
+ sprintf(audit_loginuid, "_AUDIT_LOGINUID=%lu", (unsigned long) loginuid);
+ IOVEC_SET_STRING(iovec[n++], audit_loginuid);
}
+#endif
-#ifdef HAVE_LOGIND
- if (sd_pid_get_session(ucred->pid, &t) >= 0) {
- session = strappend("_SYSTEMD_SESSION=", t);
- free(t);
+ r = cg_pid_get_path_shifted(ucred->pid, NULL, &c);
+ if (r >= 0) {
+ cgroup = strappenda("_SYSTEMD_CGROUP=", c);
+ IOVEC_SET_STRING(iovec[n++], cgroup);
- if (session)
+ r = cg_path_get_session(c, &t);
+ if (r >= 0) {
+ session = strappenda("_SYSTEMD_SESSION=", t);
+ free(t);
IOVEC_SET_STRING(iovec[n++], session);
- }
+ }
- if (sd_pid_get_owner_uid(ucred->uid, &owner) >= 0)
- if (asprintf(&owner_uid, "_SYSTEMD_OWNER_UID=%lu", (unsigned long) owner) >= 0)
- IOVEC_SET_STRING(iovec[n++], owner_uid);
-#endif
+ if (cg_path_get_owner_uid(c, &owner) >= 0) {
+ owner_valid = true;
- if (cg_pid_get_unit(ucred->pid, &t) >= 0) {
- unit = strappend("_SYSTEMD_UNIT=", t);
- free(t);
- } else if (unit_id)
- unit = strappend("_SYSTEMD_UNIT=", unit_id);
+ sprintf(owner_uid, "_SYSTEMD_OWNER_UID=%lu", (unsigned long) owner);
+ IOVEC_SET_STRING(iovec[n++], owner_uid);
+ }
- if (unit)
- IOVEC_SET_STRING(iovec[n++], unit);
+ if (cg_path_get_unit(c, &t) >= 0) {
+ unit = strappenda("_SYSTEMD_UNIT=", t);
+ free(t);
+ } else if (cg_path_get_user_unit(c, &t) >= 0) {
+ unit = strappenda("_SYSTEMD_USER_UNIT=", t);
+ free(t);
+ } else if (unit_id) {
+ if (session)
+ unit = strappenda("_SYSTEMD_USER_UNIT=", unit_id);
+ else
+ unit = strappenda("_SYSTEMD_UNIT=", unit_id);
+ } else
+ unit = NULL;
+
+ if (unit)
+ IOVEC_SET_STRING(iovec[n++], unit);
+
+ free(c);
+ }
#ifdef HAVE_SELINUX
if (label) {
- selinux_context = malloc(sizeof("_SELINUX_CONTEXT=") + label_len);
- if (selinux_context) {
- memcpy(selinux_context, "_SELINUX_CONTEXT=", sizeof("_SELINUX_CONTEXT=")-1);
- memcpy(selinux_context+sizeof("_SELINUX_CONTEXT=")-1, label, label_len);
- selinux_context[sizeof("_SELINUX_CONTEXT=")-1+label_len] = 0;
- IOVEC_SET_STRING(iovec[n++], selinux_context);
- }
+ char *selinux_context = alloca(sizeof("_SELINUX_CONTEXT=") + label_len);
+
+ *((char*) mempcpy(stpcpy(selinux_context, "_SELINUX_CONTEXT="), label, label_len)) = 0;
+ IOVEC_SET_STRING(iovec[n++], selinux_context);
} else {
security_context_t con;
if (getpidcon(ucred->pid, &con) >= 0) {
- selinux_context = strappend("_SELINUX_CONTEXT=", con);
- if (selinux_context)
- IOVEC_SET_STRING(iovec[n++], selinux_context);
+ char *selinux_context = strappenda("_SELINUX_CONTEXT=", con);
freecon(con);
+ IOVEC_SET_STRING(iovec[n++], selinux_context);
}
}
#endif
}
if (tv) {
- if (asprintf(&source_time, "_SOURCE_REALTIME_TIMESTAMP=%llu",
- (unsigned long long) timeval_load(tv)) >= 0)
- IOVEC_SET_STRING(iovec[n++], source_time);
+ sprintf(source_time, "_SOURCE_REALTIME_TIMESTAMP=%llu", (unsigned long long) timeval_load(tv));
+ IOVEC_SET_STRING(iovec[n++], source_time);
}
/* Note that strictly speaking storing the boot id here is
* redundant since the entry includes this in-line
* anyway. However, we need this indexed, too. */
r = sd_id128_get_boot(&id);
- if (r >= 0)
- if (asprintf(&boot_id, "_BOOT_ID=%s", sd_id128_to_string(id, idbuf)) >= 0)
- IOVEC_SET_STRING(iovec[n++], boot_id);
+ if (r >= 0) {
+ sd_id128_to_string(id, boot_id + sizeof("_BOOT_ID=") - 1);
+ IOVEC_SET_STRING(iovec[n++], boot_id);
+ }
r = sd_id128_get_machine(&id);
- if (r >= 0)
- if (asprintf(&machine_id, "_MACHINE_ID=%s", sd_id128_to_string(id, idbuf)) >= 0)
- IOVEC_SET_STRING(iovec[n++], machine_id);
+ if (r >= 0) {
+ sd_id128_to_string(id, machine_id + sizeof("_MACHINE_ID=") - 1);
+ IOVEC_SET_STRING(iovec[n++], machine_id);
+ }
t = gethostname_malloc();
if (t) {
- hostname = strappend("_HOSTNAME=", t);
+ hostname = strappenda("_HOSTNAME=", t);
free(t);
- if (hostname)
- IOVEC_SET_STRING(iovec[n++], hostname);
+ IOVEC_SET_STRING(iovec[n++], hostname);
}
assert(n <= m);
- write_to_journal(s,
- s->split_mode == SPLIT_NONE ? 0 :
- (s->split_mode == SPLIT_UID ? realuid :
- (realuid == 0 ? 0 : loginuid)), iovec, n);
-
- free(pid);
- free(uid);
- free(gid);
- free(comm);
- free(exe);
- free(cmdline);
- free(source_time);
- free(boot_id);
- free(machine_id);
- free(hostname);
- free(audit_session);
- free(audit_loginuid);
- free(cgroup);
- free(session);
- free(owner_uid);
- free(unit);
- free(selinux_context);
+ if (s->split_mode == SPLIT_UID && realuid > 0)
+ /* Split up strictly by any UID */
+ journal_uid = realuid;
+ else if (s->split_mode == SPLIT_LOGIN && realuid > 0 && owner_valid && owner > 0)
+ /* Split up by login UIDs, this avoids creation of
+ * individual journals for system UIDs. We do this
+ * only if the realuid is not root, in order not to
+ * accidentally leak privileged information to the
+ * user that is logged by a privileged process that is
+ * part of an unprivileged session.*/
+ journal_uid = owner;
+ else
+ journal_uid = 0;
+
+ write_to_journal(s, journal_uid, iovec, n);
}
void server_driver_message(Server *s, sd_id128_t message_id, const char *format, ...) {
@@ -705,7 +684,7 @@ void server_driver_message(Server *s, sd_id128_t message_id, const char *format,
struct iovec iovec[N_IOVEC_META_FIELDS + 4];
int n = 0;
va_list ap;
- struct ucred ucred;
+ struct ucred ucred = {};
assert(s);
assert(format);
@@ -726,7 +705,6 @@ void server_driver_message(Server *s, sd_id128_t message_id, const char *format,
IOVEC_SET_STRING(iovec[n++], mid);
}
- zero(ucred);
ucred.pid = getpid();
ucred.uid = getuid();
ucred.gid = getgid();
@@ -743,8 +721,9 @@ void server_dispatch_message(
const char *unit_id,
int priority) {
- int rl;
- char *path = NULL, *c;
+ int rl, r;
+ _cleanup_free_ char *path = NULL;
+ char *c;
assert(s);
assert(iovec || n == 0);
@@ -758,8 +737,8 @@ void server_dispatch_message(
if (!ucred)
goto finish;
- path = shortened_cgroup_path(ucred->pid);
- if (!path)
+ r = cg_pid_get_path_shifted(ucred->pid, NULL, &path);
+ if (r < 0)
goto finish;
/* example: /user/lennart/3/foobar
@@ -778,18 +757,16 @@ void server_dispatch_message(
}
}
- rl = journal_rate_limit_test(s->rate_limit, path, priority & LOG_PRIMASK, available_space(s));
+ rl = journal_rate_limit_test(s->rate_limit, path,
+ priority & LOG_PRIMASK, available_space(s));
- if (rl == 0) {
- free(path);
+ if (rl == 0)
return;
- }
/* Write a suppression message if we suppressed something */
if (rl > 1)
- server_driver_message(s, SD_MESSAGE_JOURNAL_DROPPED, "Suppressed %u messages from %s", rl - 1, path);
-
- free(path);
+ server_driver_message(s, SD_MESSAGE_JOURNAL_DROPPED,
+ "Suppressed %u messages from %s", rl - 1, path);
finish:
dispatch_message_real(s, iovec, n, m, ucred, tv, label, label_len, unit_id);
@@ -961,6 +938,12 @@ int server_flush_to_var(Server *s) {
server_rotate(s);
server_vacuum(s);
+ if (!s->system_journal) {
+ log_notice("Didn't flush runtime journal since rotation of system journal wasn't successful.");
+ r = -EIO;
+ goto finish;
+ }
+
log_debug("Retrying write.");
r = journal_file_copy_entry(f, s->system_journal, o, f->current_offset, NULL, NULL, NULL);
if (r < 0) {
@@ -978,8 +961,7 @@ finish:
if (r >= 0)
rm_rf("/run/log/journal", false, true, false);
- if (j)
- sd_journal_close(j);
+ sd_journal_close(j);
return r;
}
@@ -1009,11 +991,10 @@ int process_event(Server *s, struct epoll_event *ev) {
return -errno;
}
- log_info("Received SIG%s", signal_to_string(sfsi.ssi_signo));
-
if (sfsi.ssi_signo == SIGUSR1) {
touch("/run/systemd/journal/flushed");
server_flush_to_var(s);
+ server_sync(s);
return 1;
}
@@ -1023,8 +1004,23 @@ int process_event(Server *s, struct epoll_event *ev) {
return 1;
}
+ log_info("Received SIG%s", signal_to_string(sfsi.ssi_signo));
+
return 0;
+ } else if (ev->data.fd == s->sync_timer_fd) {
+ int r;
+ uint64_t t;
+
+ log_debug("Got sync request from epoll.");
+
+ r = read(ev->data.fd, (void *)&t, sizeof(t));
+ if (r < 0)
+ return 0;
+
+ server_sync(s);
+ return 1;
+
} else if (ev->data.fd == s->dev_kmsg_fd) {
int r;
@@ -1234,7 +1230,8 @@ static int open_signalfd(Server *s) {
}
static int server_parse_proc_cmdline(Server *s) {
- char *line, *w, *state;
+ _cleanup_free_ char *line = NULL;
+ char *w, *state;
int r;
size_t l;
@@ -1248,13 +1245,11 @@ static int server_parse_proc_cmdline(Server *s) {
}
FOREACH_WORD_QUOTED(w, l, line, state) {
- char *word;
+ _cleanup_free_ char *word;
word = strndup(w, l);
- if (!word) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!word)
+ return -ENOMEM;
if (startswith(word, "systemd.journald.forward_to_syslog=")) {
r = parse_boolean(word + 35);
@@ -1276,25 +1271,18 @@ static int server_parse_proc_cmdline(Server *s) {
s->forward_to_console = r;
} else if (startswith(word, "systemd.journald"))
log_warning("Invalid systemd.journald parameter. Ignoring.");
-
- free(word);
}
- r = 0;
-
-finish:
- free(line);
- return r;
+ return 0;
}
static int server_parse_config_file(Server *s) {
- FILE *f;
- const char *fn;
+ static const char fn[] = "/etc/systemd/journald.conf";
+ _cleanup_fclose_ FILE *f = NULL;
int r;
assert(s);
- fn = "/etc/systemd/journald.conf";
f = fopen(fn, "re");
if (!f) {
if (errno == ENOENT)
@@ -1304,25 +1292,75 @@ static int server_parse_config_file(Server *s) {
return -errno;
}
- r = config_parse(fn, f, "Journal\0", config_item_perf_lookup, (void*) journald_gperf_lookup, false, s);
+ r = config_parse(NULL, fn, f, "Journal\0", config_item_perf_lookup,
+ (void*) journald_gperf_lookup, false, false, s);
if (r < 0)
log_warning("Failed to parse configuration file: %s", strerror(-r));
- fclose(f);
-
return r;
}
+static int server_open_sync_timer(Server *s) {
+ int r;
+ struct epoll_event ev;
+
+ assert(s);
+
+ s->sync_timer_fd = timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC);
+ if (s->sync_timer_fd < 0)
+ return -errno;
+
+ zero(ev);
+ ev.events = EPOLLIN;
+ ev.data.fd = s->sync_timer_fd;
+
+ r = epoll_ctl(s->epoll_fd, EPOLL_CTL_ADD, s->sync_timer_fd, &ev);
+ if (r < 0) {
+ log_error("Failed to add idle timer fd to epoll object: %m");
+ return -errno;
+ }
+
+ return 0;
+}
+
+int server_schedule_sync(Server *s) {
+ int r;
+
+ assert(s);
+
+ if (s->sync_scheduled)
+ return 0;
+
+ if (s->sync_interval_usec) {
+ struct itimerspec sync_timer_enable = {
+ .it_value.tv_sec = s->sync_interval_usec / USEC_PER_SEC,
+ .it_value.tv_nsec = s->sync_interval_usec % MSEC_PER_SEC,
+ };
+
+ r = timerfd_settime(s->sync_timer_fd, 0, &sync_timer_enable, NULL);
+ if (r < 0)
+ return -errno;
+ }
+
+ s->sync_scheduled = true;
+
+ return 0;
+}
+
int server_init(Server *s) {
int n, r, fd;
assert(s);
zero(*s);
- s->syslog_fd = s->native_fd = s->stdout_fd = s->signal_fd = s->epoll_fd = s->dev_kmsg_fd = -1;
+ s->sync_timer_fd = s->syslog_fd = s->native_fd = s->stdout_fd =
+ s->signal_fd = s->epoll_fd = s->dev_kmsg_fd = -1;
s->compress = true;
s->seal = true;
+ s->sync_interval_usec = DEFAULT_SYNC_INTERVAL_USEC;
+ s->sync_scheduled = false;
+
s->rate_limit_interval = DEFAULT_RATE_LIMIT_INTERVAL;
s->rate_limit_burst = DEFAULT_RATE_LIMIT_BURST;
@@ -1338,6 +1376,12 @@ int server_init(Server *s) {
server_parse_config_file(s);
server_parse_proc_cmdline(s);
+ if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) {
+ log_debug("Setting both rate limit interval and burst from %llu,%u to 0,0",
+ (long long unsigned) s->rate_limit_interval,
+ s->rate_limit_burst);
+ s->rate_limit_interval = s->rate_limit_burst = 0;
+ }
mkdir_p("/run/systemd/journal", 0755);
@@ -1416,6 +1460,10 @@ int server_init(Server *s) {
if (r < 0)
return r;
+ r = server_open_sync_timer(s);
+ if (r < 0)
+ return r;
+
r = open_signalfd(s);
if (r < 0)
return r;
@@ -1424,7 +1472,8 @@ int server_init(Server *s) {
if (!s->udev)
return -ENOMEM;
- s->rate_limit = journal_rate_limit_new(s->rate_limit_interval, s->rate_limit_burst);
+ s->rate_limit = journal_rate_limit_new(s->rate_limit_interval,
+ s->rate_limit_burst);
if (!s->rate_limit)
return -ENOMEM;
@@ -1487,6 +1536,9 @@ void server_done(Server *s) {
if (s->dev_kmsg_fd >= 0)
close_nointr_nofail(s->dev_kmsg_fd);
+ if (s->sync_timer_fd >= 0)
+ close_nointr_nofail(s->sync_timer_fd);
+
if (s->rate_limit)
journal_rate_limit_free(s->rate_limit);
diff --git a/src/journal/journald-server.h b/src/journal/journald-server.h
index 9f50a29e50..129f7e8ab4 100644
--- a/src/journal/journald-server.h
+++ b/src/journal/journald-server.h
@@ -71,6 +71,7 @@ typedef struct Server {
size_t buffer_size;
JournalRateLimit *rate_limit;
+ usec_t sync_interval_usec;
usec_t rate_limit_interval;
unsigned rate_limit_burst;
@@ -119,6 +120,9 @@ typedef struct Server {
uint64_t *kernel_seqnum;
struct udev *udev;
+
+ int sync_timer_fd;
+ bool sync_scheduled;
} Server;
#define N_IOVEC_META_FIELDS 17
@@ -126,27 +130,29 @@ typedef struct Server {
#define N_IOVEC_UDEV_FIELDS 32
void server_dispatch_message(Server *s, struct iovec *iovec, unsigned n, unsigned m, struct ucred *ucred, struct timeval *tv, const char *label, size_t label_len, const char *unit_id, int priority);
-void server_driver_message(Server *s, sd_id128_t message_id, const char *format, ...);
+void server_driver_message(Server *s, sd_id128_t message_id, const char *format, ...) _printf_attr_(3,4);
/* gperf lookup function */
const struct ConfigPerfItem* journald_gperf_lookup(const char *key, unsigned length);
-int config_parse_storage(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_storage(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-const char *storage_to_string(Storage s);
-Storage storage_from_string(const char *s);
+const char *storage_to_string(Storage s) _const_;
+Storage storage_from_string(const char *s) _pure_;
-int config_parse_split_mode(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_split_mode(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-const char *split_mode_to_string(SplitMode s);
-SplitMode split_mode_from_string(const char *s);
+const char *split_mode_to_string(SplitMode s) _const_;
+SplitMode split_mode_from_string(const char *s) _pure_;
void server_fix_perms(Server *s, JournalFile *f, uid_t uid);
bool shall_try_append_again(JournalFile *f, int r);
int server_init(Server *s);
void server_done(Server *s);
+void server_sync(Server *s);
void server_vacuum(Server *s);
void server_rotate(Server *s);
+int server_schedule_sync(Server *s);
int server_flush_to_var(Server *s);
int process_event(Server *s, struct epoll_event *ev);
void server_maybe_append_tags(Server *s);
diff --git a/src/journal/journald-stream.c b/src/journal/journald-stream.c
index 7b88f747db..6d51c29083 100644
--- a/src/journal/journald-stream.c
+++ b/src/journal/journald-stream.c
@@ -175,7 +175,7 @@ static int stdout_stream_line(StdoutStream *s, char *p) {
case STDOUT_STREAM_PRIORITY:
r = safe_atoi(p, &s->priority);
- if (r < 0 || s->priority <= 0 || s->priority >= 999) {
+ if (r < 0 || s->priority < 0 || s->priority > 999) {
log_warning("Failed to parse log priority line.");
return -EINVAL;
}
@@ -412,13 +412,16 @@ fail:
}
int server_open_stdout_socket(Server *s) {
- union sockaddr_union sa;
int r;
struct epoll_event ev;
assert(s);
if (s->stdout_fd < 0) {
+ union sockaddr_union sa = {
+ .un.sun_family = AF_UNIX,
+ .un.sun_path = "/run/systemd/journal/stdout",
+ };
s->stdout_fd = socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
if (s->stdout_fd < 0) {
@@ -426,10 +429,6 @@ int server_open_stdout_socket(Server *s) {
return -errno;
}
- zero(sa);
- sa.un.sun_family = AF_UNIX;
- strncpy(sa.un.sun_path, "/run/systemd/journal/stdout", sizeof(sa.un.sun_path));
-
unlink(sa.un.sun_path);
r = bind(s->stdout_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path));
diff --git a/src/journal/journald-syslog.c b/src/journal/journald-syslog.c
index afddca3630..000f5acc10 100644
--- a/src/journal/journald-syslog.c
+++ b/src/journal/journald-syslog.c
@@ -34,28 +34,28 @@
#define WARN_FORWARD_SYSLOG_MISSED_USEC (30 * USEC_PER_SEC)
static void forward_syslog_iovec(Server *s, const struct iovec *iovec, unsigned n_iovec, struct ucred *ucred, struct timeval *tv) {
- struct msghdr msghdr;
+
+ union sockaddr_union sa = {
+ .un.sun_family = AF_UNIX,
+ .un.sun_path = "/run/systemd/journal/syslog",
+ };
+ struct msghdr msghdr = {
+ .msg_iov = (struct iovec *) iovec,
+ .msg_iovlen = n_iovec,
+ .msg_name = &sa,
+ .msg_namelen = offsetof(union sockaddr_union, un.sun_path)
+ + sizeof("/run/systemd/journal/syslog") - 1,
+ };
struct cmsghdr *cmsg;
union {
struct cmsghdr cmsghdr;
uint8_t buf[CMSG_SPACE(sizeof(struct ucred))];
} control;
- union sockaddr_union sa;
assert(s);
assert(iovec);
assert(n_iovec > 0);
- zero(msghdr);
- msghdr.msg_iov = (struct iovec*) iovec;
- msghdr.msg_iovlen = n_iovec;
-
- zero(sa);
- sa.un.sun_family = AF_UNIX;
- strncpy(sa.un.sun_path, "/run/systemd/journal/syslog", sizeof(sa.un.sun_path));
- msghdr.msg_name = &sa;
- msghdr.msg_namelen = offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path);
-
if (ucred) {
zero(control);
msghdr.msg_control = &control;
@@ -412,13 +412,16 @@ void server_process_syslog_message(
}
int server_open_syslog_socket(Server *s) {
- union sockaddr_union sa;
int one, r;
struct epoll_event ev;
assert(s);
if (s->syslog_fd < 0) {
+ union sockaddr_union sa = {
+ .un.sun_family = AF_UNIX,
+ .un.sun_path = "/dev/log",
+ };
s->syslog_fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
if (s->syslog_fd < 0) {
@@ -426,10 +429,6 @@ int server_open_syslog_socket(Server *s) {
return -errno;
}
- zero(sa);
- sa.un.sun_family = AF_UNIX;
- strncpy(sa.un.sun_path, "/dev/log", sizeof(sa.un.sun_path));
-
unlink(sa.un.sun_path);
r = bind(s->syslog_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path));
diff --git a/src/journal/journald-syslog.h b/src/journal/journald-syslog.h
index 7ff215b524..324b70eef0 100644
--- a/src/journal/journald-syslog.h
+++ b/src/journal/journald-syslog.h
@@ -23,7 +23,7 @@
#include "journald-server.h"
-int syslog_fixup_facility(int priority);
+int syslog_fixup_facility(int priority) _const_;
void syslog_parse_priority(char **p, int *priority);
size_t syslog_parse_identifier(const char **buf, char **identifier, char **pid);
diff --git a/src/journal/journald.c b/src/journal/journald.c
index d6b9be5974..5fb10b1d3f 100644
--- a/src/journal/journald.c
+++ b/src/journal/journald.c
@@ -88,7 +88,6 @@ int main(int argc, char *argv[]) {
/* Calculate when to rotate the next time */
t = (int) ((server.oldest_file_usec + server.max_retention_usec - n + USEC_PER_MSEC - 1) / USEC_PER_MSEC);
- log_info("Sleeping for %i ms", t);
}
#ifdef HAVE_GCRYPT
diff --git a/src/journal/journald.conf b/src/journal/journald.conf
index 948318bc62..5410477201 100644
--- a/src/journal/journald.conf
+++ b/src/journal/journald.conf
@@ -12,6 +12,7 @@
#Compress=yes
#Seal=yes
#SplitMode=login
+#SyncIntervalSec=5m
#RateLimitInterval=10s
#RateLimitBurst=200
#SystemMaxUse=
diff --git a/src/journal/libsystemd-journal.sym b/src/journal/libsystemd-journal.sym
index 7b602f59cb..449f37c4da 100644
--- a/src/journal/libsystemd-journal.sym
+++ b/src/journal/libsystemd-journal.sym
@@ -83,9 +83,24 @@ global:
LIBSYSTEMD_JOURNAL_196 {
global:
- sd_journal_fd_reliable;
sd_journal_get_catalog;
sd_journal_get_catalog_for_message_id;
sd_journal_set_data_threshold;
sd_journal_get_data_threshold;
} LIBSYSTEMD_JOURNAL_195;
+
+LIBSYSTEMD_JOURNAL_198 {
+global:
+ sd_journal_reliable_fd;
+} LIBSYSTEMD_JOURNAL_196;
+
+LIBSYSTEMD_JOURNAL_201 {
+global:
+ sd_journal_get_events;
+ sd_journal_get_timeout;
+} LIBSYSTEMD_JOURNAL_198;
+
+LIBSYSTEMD_JOURNAL_202 {
+global:
+ sd_journal_add_conjunction;
+} LIBSYSTEMD_JOURNAL_201;
diff --git a/src/journal/lookup3.h b/src/journal/lookup3.h
index 502b42c209..3224473a6a 100644
--- a/src/journal/lookup3.h
+++ b/src/journal/lookup3.h
@@ -5,13 +5,15 @@
#include <inttypes.h>
#include <sys/types.h>
-uint32_t jenkins_hashword(const uint32_t *k, size_t length, uint32_t initval);
+#include "macro.h"
+
+uint32_t jenkins_hashword(const uint32_t *k, size_t length, uint32_t initval) _pure_;
void jenkins_hashword2(const uint32_t *k, size_t length, uint32_t *pc, uint32_t *pb);
-uint32_t jenkins_hashlittle(const void *key, size_t length, uint32_t initval);
+uint32_t jenkins_hashlittle(const void *key, size_t length, uint32_t initval) _pure_;
void jenkins_hashlittle2(const void *key, size_t length, uint32_t *pc, uint32_t *pb);
-uint32_t jenkins_hashbig(const void *key, size_t length, uint32_t initval);
+uint32_t jenkins_hashbig(const void *key, size_t length, uint32_t initval) _pure_;
static inline uint64_t hash64(const void *data, size_t length) {
uint32_t a = 0, b = 0;
diff --git a/src/journal/microhttpd-util.c b/src/journal/microhttpd-util.c
new file mode 100644
index 0000000000..382087c790
--- /dev/null
+++ b/src/journal/microhttpd-util.c
@@ -0,0 +1,37 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2012 Zbigniew Jędrzejewski-Szmek
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stddef.h>
+#include <stdio.h>
+
+#include "microhttpd-util.h"
+#include "log.h"
+#include "macro.h"
+#include "util.h"
+
+void microhttpd_logger(void *arg, const char *fmt, va_list ap) {
+ _cleanup_free_ char *f;
+ if (asprintf(&f, "microhttpd: %s", fmt) <= 0) {
+ log_oom();
+ return;
+ }
+ log_metav(LOG_INFO, NULL, 0, NULL, f, ap);
+}
diff --git a/src/journal/microhttpd-util.h b/src/journal/microhttpd-util.h
new file mode 100644
index 0000000000..20ad76990c
--- /dev/null
+++ b/src/journal/microhttpd-util.h
@@ -0,0 +1,28 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2012 Zbigniew Jędrzejewski-Szmek
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#pragma once
+
+#include <stdarg.h>
+
+#include "macro.h"
+
+void microhttpd_logger(void *arg, const char *fmt, va_list ap) _printf_attr_(2, 0);
diff --git a/src/journal/mmap-cache.c b/src/journal/mmap-cache.c
index 251aefe121..767f555526 100644
--- a/src/journal/mmap-cache.c
+++ b/src/journal/mmap-cache.c
@@ -41,9 +41,9 @@ struct Window {
bool keep_always;
bool in_unused;
+ int prot;
void *ptr;
uint64_t offset;
- int prot;
size_t size;
FileDescriptor *fd;
@@ -70,12 +70,11 @@ struct FileDescriptor {
struct MMapCache {
int n_ref;
+ unsigned n_windows;
Hashmap *fds;
Hashmap *contexts;
- unsigned n_windows;
-
LIST_HEAD(Window, unused);
Window *last_unused;
};
@@ -134,7 +133,7 @@ static void window_free(Window *w) {
free(w);
}
-static bool window_matches(Window *w, int fd, int prot, uint64_t offset, size_t size) {
+_pure_ static bool window_matches(Window *w, int fd, int prot, uint64_t offset, size_t size) {
assert(w);
assert(fd >= 0);
assert(size > 0);
diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c
index 095fbb249c..c21712b7c4 100644
--- a/src/journal/sd-journal.c
+++ b/src/journal/sd-journal.c
@@ -49,6 +49,21 @@
#define DEFAULT_DATA_THRESHOLD (64*1024)
+/* We return an error here only if we didn't manage to
+ memorize the real error. */
+static int set_put_error(sd_journal *j, int r) {
+ int k;
+
+ if (r >= 0)
+ return r;
+
+ k = set_ensure_allocated(&j->errors, trivial_hash_func, trivial_compare_func);
+ if (k < 0)
+ return k;
+
+ return set_put(j->errors, INT_TO_PTR(r));
+}
+
static void detach_location(sd_journal *j) {
Iterator i;
JournalFile *f;
@@ -94,6 +109,9 @@ static void set_location(sd_journal *j, LocationType type, JournalFile *f, Objec
init_location(&j->current_location, type, f, o);
+ if (j->current_file)
+ j->current_file->current_offset = 0;
+
j->current_file = f;
j->current_field = 0;
@@ -188,7 +206,7 @@ static void match_free_if_empty(Match *m) {
}
_public_ int sd_journal_add_match(sd_journal *j, const void *data, size_t size) {
- Match *l2, *l3, *add_here = NULL, *m;
+ Match *l3, *l4, *add_here = NULL, *m;
le64_t le_hash;
if (!j)
@@ -203,44 +221,52 @@ _public_ int sd_journal_add_match(sd_journal *j, const void *data, size_t size)
if (!match_is_valid(data, size))
return -EINVAL;
- /* level 0: OR term
- * level 1: AND terms
- * level 2: OR terms
- * level 3: concrete matches */
+ /* level 0: AND term
+ * level 1: OR terms
+ * level 2: AND terms
+ * level 3: OR terms
+ * level 4: concrete matches */
if (!j->level0) {
- j->level0 = match_new(NULL, MATCH_OR_TERM);
+ j->level0 = match_new(NULL, MATCH_AND_TERM);
if (!j->level0)
return -ENOMEM;
}
if (!j->level1) {
- j->level1 = match_new(j->level0, MATCH_AND_TERM);
+ j->level1 = match_new(j->level0, MATCH_OR_TERM);
if (!j->level1)
return -ENOMEM;
}
- assert(j->level0->type == MATCH_OR_TERM);
- assert(j->level1->type == MATCH_AND_TERM);
+ if (!j->level2) {
+ j->level2 = match_new(j->level1, MATCH_AND_TERM);
+ if (!j->level2)
+ return -ENOMEM;
+ }
+
+ assert(j->level0->type == MATCH_AND_TERM);
+ assert(j->level1->type == MATCH_OR_TERM);
+ assert(j->level2->type == MATCH_AND_TERM);
le_hash = htole64(hash64(data, size));
- LIST_FOREACH(matches, l2, j->level1->matches) {
- assert(l2->type == MATCH_OR_TERM);
+ LIST_FOREACH(matches, l3, j->level2->matches) {
+ assert(l3->type == MATCH_OR_TERM);
- LIST_FOREACH(matches, l3, l2->matches) {
- assert(l3->type == MATCH_DISCRETE);
+ LIST_FOREACH(matches, l4, l3->matches) {
+ assert(l4->type == MATCH_DISCRETE);
/* Exactly the same match already? Then ignore
* this addition */
- if (l3->le_hash == le_hash &&
- l3->size == size &&
- memcmp(l3->data, data, size) == 0)
+ if (l4->le_hash == le_hash &&
+ l4->size == size &&
+ memcmp(l4->data, data, size) == 0)
return 0;
/* Same field? Then let's add this to this OR term */
- if (same_field(data, size, l3->data, l3->size)) {
- add_here = l2;
+ if (same_field(data, size, l4->data, l4->size)) {
+ add_here = l3;
break;
}
}
@@ -250,7 +276,7 @@ _public_ int sd_journal_add_match(sd_journal *j, const void *data, size_t size)
}
if (!add_here) {
- add_here = match_new(j->level1, MATCH_OR_TERM);
+ add_here = match_new(j->level2, MATCH_OR_TERM);
if (!add_here)
goto fail;
}
@@ -273,6 +299,9 @@ fail:
if (add_here)
match_free_if_empty(add_here);
+ if (j->level2)
+ match_free_if_empty(j->level2);
+
if (j->level1)
match_free_if_empty(j->level1);
@@ -282,9 +311,7 @@ fail:
return -ENOMEM;
}
-_public_ int sd_journal_add_disjunction(sd_journal *j) {
- Match *m;
-
+_public_ int sd_journal_add_conjunction(sd_journal *j) {
assert(j);
if (!j->level0)
@@ -296,11 +323,28 @@ _public_ int sd_journal_add_disjunction(sd_journal *j) {
if (!j->level1->matches)
return 0;
- m = match_new(j->level0, MATCH_AND_TERM);
- if (!m)
- return -ENOMEM;
+ j->level1 = NULL;
+ j->level2 = NULL;
+
+ return 0;
+}
+
+_public_ int sd_journal_add_disjunction(sd_journal *j) {
+ assert(j);
+
+ if (!j->level0)
+ return 0;
+
+ if (!j->level1)
+ return 0;
+
+ if (!j->level2)
+ return 0;
- j->level1 = m;
+ if (!j->level2->matches)
+ return 0;
+
+ j->level2 = NULL;
return 0;
}
@@ -365,13 +409,13 @@ _public_ void sd_journal_flush_matches(sd_journal *j) {
if (j->level0)
match_free(j->level0);
- j->level0 = j->level1 = NULL;
+ j->level0 = j->level1 = j->level2 = NULL;
detach_location(j);
}
static int compare_entry_order(JournalFile *af, Object *_ao,
- JournalFile *bf, uint64_t bp) {
+ JournalFile *bf, uint64_t bp) {
uint64_t a, b;
Object *ao, *bo;
@@ -454,7 +498,7 @@ static int compare_entry_order(JournalFile *af, Object *_ao,
return 0;
}
-static int compare_with_location(JournalFile *af, Object *ao, Location *l) {
+_pure_ static int compare_with_location(JournalFile *af, Object *ao, Location *l) {
uint64_t a;
assert(af);
@@ -587,7 +631,7 @@ static int next_for_match(
return r;
if ((direction == DIRECTION_DOWN ? cp >= after_offset : cp <= after_offset) &&
- (np == 0 || (direction == DIRECTION_DOWN ? cp > np : np < cp))) {
+ (np == 0 || (direction == DIRECTION_DOWN ? cp > np : cp < np))) {
np = cp;
continue_looking = true;
}
@@ -958,7 +1002,7 @@ _public_ int sd_journal_get_cursor(sd_journal *j, char **cursor) {
(unsigned long long) le64toh(o->entry.xor_hash)) < 0)
return -ENOMEM;
- return 1;
+ return 0;
}
_public_ int sd_journal_seek_cursor(sd_journal *j, const char *cursor) {
@@ -1207,15 +1251,15 @@ static void check_network(sd_journal *j, int fd) {
return;
j->on_network =
- (long)sfs.f_type == (long)CIFS_MAGIC_NUMBER ||
- sfs.f_type == CODA_SUPER_MAGIC ||
- sfs.f_type == NCP_SUPER_MAGIC ||
- sfs.f_type == NFS_SUPER_MAGIC ||
- sfs.f_type == SMB_SUPER_MAGIC;
+ F_TYPE_CMP(sfs.f_type, CIFS_MAGIC_NUMBER) ||
+ F_TYPE_CMP(sfs.f_type, CODA_SUPER_MAGIC) ||
+ F_TYPE_CMP(sfs.f_type, NCP_SUPER_MAGIC) ||
+ F_TYPE_CMP(sfs.f_type, NFS_SUPER_MAGIC) ||
+ F_TYPE_CMP(sfs.f_type, SMB_SUPER_MAGIC);
}
static int add_file(sd_journal *j, const char *prefix, const char *filename) {
- char *path;
+ _cleanup_free_ char *path = NULL;
int r;
JournalFile *f;
@@ -1234,20 +1278,15 @@ static int add_file(sd_journal *j, const char *prefix, const char *filename) {
if (!path)
return -ENOMEM;
- if (hashmap_get(j->files, path)) {
- free(path);
+ if (hashmap_get(j->files, path))
return 0;
- }
if (hashmap_size(j->files) >= JOURNAL_FILES_MAX) {
log_debug("Too many open journal files, not adding %s, ignoring.", path);
- free(path);
- return 0;
+ return set_put_error(j, -ETOOMANYREFS);
}
r = journal_file_open(path, O_RDONLY, 0, false, false, NULL, j->mmap, NULL, &f);
- free(path);
-
if (r < 0) {
if (errno == ENOENT)
return 0;
@@ -1263,12 +1302,12 @@ static int add_file(sd_journal *j, const char *prefix, const char *filename) {
return r;
}
+ log_debug("File %s got added.", f->path);
+
check_network(j, f->fd);
j->current_invalidate_counter ++;
- log_debug("File %s got added.", f->path);
-
return 0;
}
@@ -1311,9 +1350,9 @@ static int remove_file(sd_journal *j, const char *prefix, const char *filename)
}
static int add_directory(sd_journal *j, const char *prefix, const char *dirname) {
- char *path;
+ _cleanup_free_ char *path = NULL;
int r;
- DIR *d;
+ _cleanup_closedir_ DIR *d = NULL;
sd_id128_t id, mid;
Directory *m;
@@ -1321,10 +1360,12 @@ static int add_directory(sd_journal *j, const char *prefix, const char *dirname)
assert(prefix);
assert(dirname);
+ log_debug("Considering %s/%s.", prefix, dirname);
+
if ((j->flags & SD_JOURNAL_LOCAL_ONLY) &&
(sd_id128_from_string(dirname, &id) < 0 ||
sd_id128_get_machine(&mid) < 0 ||
- !sd_id128_equal(id, mid)))
+ !(sd_id128_equal(id, mid) || path_startswith(prefix, "/run"))))
return 0;
path = strjoin(prefix, "/", dirname, NULL);
@@ -1334,8 +1375,6 @@ static int add_directory(sd_journal *j, const char *prefix, const char *dirname)
d = opendir(path);
if (!d) {
log_debug("Failed to open %s: %m", path);
- free(path);
-
if (errno == ENOENT)
return 0;
return -errno;
@@ -1344,32 +1383,24 @@ static int add_directory(sd_journal *j, const char *prefix, const char *dirname)
m = hashmap_get(j->directories_by_path, path);
if (!m) {
m = new0(Directory, 1);
- if (!m) {
- closedir(d);
- free(path);
+ if (!m)
return -ENOMEM;
- }
m->is_root = false;
m->path = path;
if (hashmap_put(j->directories_by_path, m->path, m) < 0) {
- closedir(d);
- free(m->path);
free(m);
return -ENOMEM;
}
+ path = NULL; /* avoid freeing in cleanup */
j->current_invalidate_counter ++;
log_debug("Directory %s got added.", m->path);
- } else if (m->is_root) {
- free (path);
- closedir(d);
+ } else if (m->is_root)
return 0;
- } else
- free(path);
if (m->wd <= 0 && j->inotify_fd >= 0) {
@@ -1393,20 +1424,23 @@ static int add_directory(sd_journal *j, const char *prefix, const char *dirname)
if (dirent_is_file_with_suffix(de, ".journal") ||
dirent_is_file_with_suffix(de, ".journal~")) {
r = add_file(j, m->path, de->d_name);
- if (r < 0)
- log_debug("Failed to add file %s/%s: %s", m->path, de->d_name, strerror(-r));
+ if (r < 0) {
+ log_debug("Failed to add file %s/%s: %s",
+ m->path, de->d_name, strerror(-r));
+ r = set_put_error(j, r);
+ if (r < 0)
+ return r;
+ }
}
}
check_network(j, dirfd(d));
- closedir(d);
-
return 0;
}
static int add_root_directory(sd_journal *j, const char *p) {
- DIR *d;
+ _cleanup_closedir_ DIR *d = NULL;
Directory *m;
int r;
@@ -1424,21 +1458,17 @@ static int add_root_directory(sd_journal *j, const char *p) {
m = hashmap_get(j->directories_by_path, p);
if (!m) {
m = new0(Directory, 1);
- if (!m) {
- closedir(d);
+ if (!m)
return -ENOMEM;
- }
m->is_root = true;
m->path = strdup(p);
if (!m->path) {
- closedir(d);
free(m);
return -ENOMEM;
}
if (hashmap_put(j->directories_by_path, m->path, m) < 0) {
- closedir(d);
free(m->path);
free(m);
return -ENOMEM;
@@ -1448,10 +1478,8 @@ static int add_root_directory(sd_journal *j, const char *p) {
log_debug("Root directory %s got added.", m->path);
- } else if (!m->is_root) {
- closedir(d);
+ } else if (!m->is_root)
return 0;
- }
if (m->wd <= 0 && j->inotify_fd >= 0) {
@@ -1475,9 +1503,13 @@ static int add_root_directory(sd_journal *j, const char *p) {
if (dirent_is_file_with_suffix(de, ".journal") ||
dirent_is_file_with_suffix(de, ".journal~")) {
r = add_file(j, m->path, de->d_name);
- if (r < 0)
- log_debug("Failed to add file %s/%s: %s", m->path, de->d_name, strerror(-r));
-
+ if (r < 0) {
+ log_debug("Failed to add file %s/%s: %s",
+ m->path, de->d_name, strerror(-r));
+ r = set_put_error(j, r);
+ if (r < 0)
+ return r;
+ }
} else if ((de->d_type == DT_DIR || de->d_type == DT_LNK || de->d_type == DT_UNKNOWN) &&
sd_id128_from_string(de->d_name, &id) >= 0) {
@@ -1489,8 +1521,6 @@ static int add_root_directory(sd_journal *j, const char *p) {
check_network(j, dirfd(d));
- closedir(d);
-
return 0;
}
@@ -1518,7 +1548,7 @@ static int remove_directory(sd_journal *j, Directory *d) {
}
static int add_search_paths(sd_journal *j) {
-
+ int r;
const char search_paths[] =
"/run/log/journal\0"
"/var/log/journal\0";
@@ -1529,8 +1559,14 @@ static int add_search_paths(sd_journal *j) {
/* We ignore most errors here, since the idea is to only open
* what's actually accessible, and ignore the rest. */
- NULSTR_FOREACH(p, search_paths)
- add_root_directory(j, p);
+ NULSTR_FOREACH(p, search_paths) {
+ r = add_root_directory(j, p);
+ if (r < 0 && r != -ENOENT) {
+ r = set_put_error(j, r);
+ if (r < 0)
+ return r;
+ }
+ }
return 0;
}
@@ -1566,37 +1602,21 @@ static sd_journal *journal_new(int flags, const char *path) {
if (path) {
j->path = strdup(path);
- if (!j->path) {
- free(j);
- return NULL;
- }
+ if (!j->path)
+ goto fail;
}
j->files = hashmap_new(string_hash_func, string_compare_func);
- if (!j->files) {
- free(j->path);
- free(j);
- return NULL;
- }
-
j->directories_by_path = hashmap_new(string_hash_func, string_compare_func);
- if (!j->directories_by_path) {
- hashmap_free(j->files);
- free(j->path);
- free(j);
- return NULL;
- }
-
j->mmap = mmap_cache_new();
- if (!j->mmap) {
- hashmap_free(j->files);
- hashmap_free(j->directories_by_path);
- free(j->path);
- free(j);
- return NULL;
- }
+ if (!j->files || !j->directories_by_path || !j->mmap)
+ goto fail;
return j;
+
+fail:
+ sd_journal_close(j);
+ return NULL;
}
_public_ int sd_journal_open(sd_journal **ret, int flags) {
@@ -1635,7 +1655,7 @@ _public_ int sd_journal_open_directory(sd_journal **ret, const char *path, int f
if (!ret)
return -EINVAL;
- if (!path || !path_is_absolute(path))
+ if (!path)
return -EINVAL;
if (flags != 0)
@@ -1646,8 +1666,10 @@ _public_ int sd_journal_open_directory(sd_journal **ret, const char *path, int f
return -ENOMEM;
r = add_root_directory(j, path);
- if (r < 0)
+ if (r < 0) {
+ set_put_error(j, r);
goto fail;
+ }
*ret = j;
return 0;
@@ -1665,6 +1687,8 @@ _public_ void sd_journal_close(sd_journal *j) {
if (!j)
return;
+ sd_journal_flush_matches(j);
+
while ((f = hashmap_steal_first(j->files)))
journal_file_close(f);
@@ -1682,13 +1706,12 @@ _public_ void sd_journal_close(sd_journal *j) {
if (j->inotify_fd >= 0)
close_nointr_nofail(j->inotify_fd);
- sd_journal_flush_matches(j);
-
if (j->mmap)
mmap_cache_unref(j->mmap);
free(j->path);
free(j->unique_field);
+ set_free(j->errors);
free(j);
}
@@ -1866,7 +1889,7 @@ _public_ int sd_journal_get_data(sd_journal *j, const char *field, const void **
*data = o->data.payload;
*size = t;
- return 1;
+ return 0;
}
r = journal_file_move_to_object(f, OBJECT_ENTRY, f->current_offset, &o);
@@ -1987,6 +2010,43 @@ _public_ int sd_journal_get_fd(sd_journal *j) {
return j->inotify_fd;
}
+_public_ int sd_journal_get_events(sd_journal *j) {
+ int fd;
+
+ if (!j)
+ return -EINVAL;
+
+ fd = sd_journal_get_fd(j);
+ if (fd < 0)
+ return fd;
+
+ return POLLIN;
+}
+
+_public_ int sd_journal_get_timeout(sd_journal *j, uint64_t *timeout_usec) {
+ int fd;
+
+ if (!j)
+ return -EINVAL;
+ if (!timeout_usec)
+ return -EINVAL;
+
+ fd = sd_journal_get_fd(j);
+ if (fd < 0)
+ return fd;
+
+ if (!j->on_network) {
+ *timeout_usec = (uint64_t) -1;
+ return 0;
+ }
+
+ /* If we are on the network we need to regularly check for
+ * changes manually */
+
+ *timeout_usec = j->last_process_usec + JOURNAL_FILES_RECHECK_USEC;
+ return 1;
+}
+
static void process_inotify_event(sd_journal *j, struct inotify_event *e) {
Directory *d;
int r;
@@ -2007,8 +2067,11 @@ static void process_inotify_event(sd_journal *j, struct inotify_event *e) {
if (e->mask & (IN_CREATE|IN_MOVED_TO|IN_MODIFY|IN_ATTRIB)) {
r = add_file(j, d->path, e->name);
- if (r < 0)
- log_debug("Failed to add file %s/%s: %s", d->path, e->name, strerror(-r));
+ if (r < 0) {
+ log_debug("Failed to add file %s/%s: %s",
+ d->path, e->name, strerror(-r));
+ set_put_error(j, r);
+ }
} else if (e->mask & (IN_DELETE|IN_MOVED_FROM|IN_UNMOUNT)) {
@@ -2066,6 +2129,8 @@ _public_ int sd_journal_process(sd_journal *j) {
if (!j)
return -EINVAL;
+ j->last_process_usec = now(CLOCK_MONOTONIC);
+
for (;;) {
struct inotify_event *e;
ssize_t l;
@@ -2099,6 +2164,7 @@ _public_ int sd_journal_process(sd_journal *j) {
_public_ int sd_journal_wait(sd_journal *j, uint64_t timeout_usec) {
int r;
+ uint64_t t;
assert(j);
@@ -2117,12 +2183,18 @@ _public_ int sd_journal_wait(sd_journal *j, uint64_t timeout_usec) {
return determine_change(j);
}
- if (j->on_network) {
- /* If we are on the network we need to regularly check
- * for changes manually */
+ r = sd_journal_get_timeout(j, &t);
+ if (r < 0)
+ return r;
+
+ if (t != (uint64_t) -1) {
+ usec_t n;
+
+ n = now(CLOCK_MONOTONIC);
+ t = t > n ? t - n : 0;
- if (timeout_usec == (uint64_t) -1 || timeout_usec > JOURNAL_FILES_RECHECK_USEC)
- timeout_usec = JOURNAL_FILES_RECHECK_USEC;
+ if (timeout_usec == (uint64_t) -1 || timeout_usec > t)
+ timeout_usec = t;
}
do {
@@ -2442,7 +2514,7 @@ _public_ int sd_journal_get_catalog(sd_journal *j, char **ret) {
if (r < 0)
return r;
- r = catalog_get(id, &text);
+ r = catalog_get(CATALOG_DATABASE, id, &text);
if (r < 0)
return r;
@@ -2458,7 +2530,7 @@ _public_ int sd_journal_get_catalog_for_message_id(sd_id128_t id, char **ret) {
if (!ret)
return -EINVAL;
- return catalog_get(id, ret);
+ return catalog_get(CATALOG_DATABASE, id, ret);
}
_public_ int sd_journal_set_data_threshold(sd_journal *j, size_t sz) {
diff --git a/src/journal/test-catalog.c b/src/journal/test-catalog.c
index cec8a11c43..987867f0c8 100644
--- a/src/journal/test-catalog.c
+++ b/src/journal/test-catalog.c
@@ -4,6 +4,7 @@
This file is part of systemd.
Copyright 2012 Lennart Poettering
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
@@ -20,29 +21,114 @@
***/
#include <locale.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <errno.h>
#include "util.h"
#include "log.h"
-#include "catalog.h"
+#include "macro.h"
#include "sd-messages.h"
+#include "catalog.h"
-int main(int argc, char *argv[]) {
+static void test_import(Hashmap *h, struct strbuf *sb,
+ const char* contents, ssize_t size, int code) {
+ int r;
+ char name[] = "/tmp/test-catalog.XXXXXX";
+ _cleanup_close_ int fd = mkstemp(name);
+ assert(fd >= 0);
+ assert_se(write(fd, contents, size) == size);
+
+ r = catalog_import_file(h, sb, name);
+ assert(r == code);
+
+ unlink(name);
+}
+
+static void test_catalog_importing(void) {
+ Hashmap *h;
+ struct strbuf *sb;
+
+ assert_se(h = hashmap_new(catalog_hash_func, catalog_compare_func));
+ assert_se(sb = strbuf_new());
+
+#define BUF "xxx"
+ test_import(h, sb, BUF, sizeof(BUF), -EINVAL);
+#undef BUF
+ assert(hashmap_isempty(h));
+ log_debug("----------------------------------------");
+
+#define BUF \
+"-- 0027229ca0644181a76c4e92458afaff dededededededededededededededede\n" \
+"Subject: message\n" \
+"\n" \
+"payload\n"
+ test_import(h, sb, BUF, sizeof(BUF), -EINVAL);
+#undef BUF
+
+ log_debug("----------------------------------------");
+
+#define BUF \
+"-- 0027229ca0644181a76c4e92458afaff dededededededededededededededed\n" \
+"Subject: message\n" \
+"\n" \
+"payload\n"
+ test_import(h, sb, BUF, sizeof(BUF), 0);
+#undef BUF
+
+ assert(hashmap_size(h) == 1);
+ log_debug("----------------------------------------");
+
+ hashmap_free_free(h);
+ strbuf_cleanup(sb);
+}
+
+
+static const char* database = NULL;
+
+static void test_catalog_update(void) {
+ int r;
+
+ static char name[] = "/tmp/test-catalog.XXXXXX";
+ r = mkstemp(name);
+ assert(r >= 0);
+
+ database = name;
+
+ /* Test what happens if there are no files. */
+ r = catalog_update(database, NULL, NULL);
+ assert(r >= 0);
+
+ /* Note: this might actually not find anything, if systemd was
+ * not installed before. That should be fine too. */
+ r = catalog_update(database, NULL, catalog_file_dirs);
+ assert(r >= 0);
+}
+
+int main(int argc, char *argv[]) {
_cleanup_free_ char *text = NULL;
+ int r;
setlocale(LC_ALL, "de_DE.UTF-8");
log_set_max_level(LOG_DEBUG);
- assert_se(catalog_update() >= 0);
+ test_catalog_importing();
+
+ test_catalog_update();
- assert_se(catalog_list(stdout) >= 0);
+ r = catalog_list(stdout, database, true);
+ assert_se(r >= 0);
- assert_se(catalog_get(SD_MESSAGE_COREDUMP, &text) >= 0);
+ r = catalog_list(stdout, database, false);
+ assert_se(r >= 0);
+ assert_se(catalog_get(database, SD_MESSAGE_COREDUMP, &text) >= 0);
printf(">>>%s<<<\n", text);
- fflush(stdout);
+ if (database)
+ unlink(database);
return 0;
}
diff --git a/src/journal/test-journal-enum.c b/src/journal/test-journal-enum.c
index 8a843ecdda..980244e016 100644
--- a/src/journal/test-journal-enum.c
+++ b/src/journal/test-journal-enum.c
@@ -23,10 +23,13 @@
#include "log.h"
#include "sd-journal.h"
+#include "macro.h"
+#include "util.h"
+#include "journal-internal.h"
int main(int argc, char *argv[]) {
unsigned n = 0;
- sd_journal *j;
+ _cleanup_journal_close_ sd_journal*j = NULL;
log_set_max_level(LOG_DEBUG);
@@ -48,6 +51,5 @@ int main(int argc, char *argv[]) {
break;
}
- sd_journal_close(j);
return 0;
}
diff --git a/src/journal/test-journal-match.c b/src/journal/test-journal-match.c
index fa228144f5..37bffc1883 100644
--- a/src/journal/test-journal-match.c
+++ b/src/journal/test-journal-match.c
@@ -28,8 +28,8 @@
#include "log.h"
int main(int argc, char *argv[]) {
- sd_journal *j;
- char *t;
+ _cleanup_journal_close_ sd_journal*j;
+ _cleanup_free_ char *t;
log_set_max_level(LOG_DEBUG);
@@ -54,14 +54,23 @@ int main(int argc, char *argv[]) {
assert_se(sd_journal_add_match(j, "ONE=two", 0) >= 0);
assert_se(sd_journal_add_match(j, "TWO=two", 0) >= 0);
- assert_se(t = journal_make_match_string(j));
+ assert_se(sd_journal_add_conjunction(j) >= 0);
+
+ assert_se(sd_journal_add_match(j, "L4_1=yes", 0) >= 0);
+ assert_se(sd_journal_add_match(j, "L4_1=ok", 0) >= 0);
+ assert_se(sd_journal_add_match(j, "L4_2=yes", 0) >= 0);
+ assert_se(sd_journal_add_match(j, "L4_2=ok", 0) >= 0);
+
+ assert_se(sd_journal_add_disjunction(j) >= 0);
+
+ assert_se(sd_journal_add_match(j, "L3=yes", 0) >= 0);
+ assert_se(sd_journal_add_match(j, "L3=ok", 0) >= 0);
- assert_se(streq(t, "((TWO=two AND (ONE=two OR ONE=one)) OR (PIFF=paff AND (QUUX=yyyyy OR QUUX=xxxxx OR QUUX=mmmm) AND (HALLO= OR HALLO=WALDO)))"));
+ assert_se(t = journal_make_match_string(j));
printf("resulting match expression is: %s\n", t);
- free(t);
- sd_journal_close(j);
+ assert_se(streq(t, "(((L3=ok OR L3=yes) OR ((L4_2=ok OR L4_2=yes) AND (L4_1=ok OR L4_1=yes))) AND ((TWO=two AND (ONE=two OR ONE=one)) OR (PIFF=paff AND (QUUX=yyyyy OR QUUX=xxxxx OR QUUX=mmmm) AND (HALLO= OR HALLO=WALDO))))"));
return 0;
}
diff --git a/src/journal/test-journal-stream.c b/src/journal/test-journal-stream.c
index b3e816db70..4aba7febc7 100644
--- a/src/journal/test-journal-stream.c
+++ b/src/journal/test-journal-stream.c
@@ -75,7 +75,7 @@ int main(int argc, char *argv[]) {
JournalFile *one, *two, *three;
char t[] = "/tmp/journal-stream-XXXXXX";
unsigned i;
- sd_journal *j;
+ _cleanup_journal_close_ sd_journal*j = NULL;
char *z;
const void *data;
size_t l;
@@ -126,25 +126,23 @@ int main(int argc, char *argv[]) {
assert_se(sd_journal_add_match(j, "MAGIC=quux", 0) >= 0);
SD_JOURNAL_FOREACH_BACKWARDS(j) {
- char *c;
+ _cleanup_free_ char *c;
assert_se(sd_journal_get_data(j, "NUMBER", &data, &l) >= 0);
printf("\t%.*s\n", (int) l, (const char*) data);
assert_se(sd_journal_get_cursor(j, &c) >= 0);
assert_se(sd_journal_test_cursor(j, c) > 0);
- free(c);
}
SD_JOURNAL_FOREACH(j) {
- char *c;
+ _cleanup_free_ char *c;
assert_se(sd_journal_get_data(j, "NUMBER", &data, &l) >= 0);
printf("\t%.*s\n", (int) l, (const char*) data);
assert_se(sd_journal_get_cursor(j, &c) >= 0);
assert_se(sd_journal_test_cursor(j, c) > 0);
- free(c);
}
sd_journal_flush_matches(j);
@@ -177,8 +175,6 @@ int main(int argc, char *argv[]) {
SD_JOURNAL_FOREACH_UNIQUE(j, data, l)
printf("%.*s\n", (int) l, (const char*) data);
- sd_journal_close(j);
-
assert_se(rm_rf_dangerous(t, false, true, false) >= 0);
return 0;
diff --git a/src/journal/test-journal-syslog.c b/src/journal/test-journal-syslog.c
index 3ae8633f22..b9419372ad 100644
--- a/src/journal/test-journal-syslog.c
+++ b/src/journal/test-journal-syslog.c
@@ -25,14 +25,14 @@
static void test_syslog_parse_identifier(const char* str,
const char *ident, const char*pid, int ret) {
const char *buf = str;
- char *ident2 = NULL, *pid2 = NULL;
+ _cleanup_free_ char *ident2 = NULL, *pid2 = NULL;
int ret2;
ret2 = syslog_parse_identifier(&buf, &ident2, &pid2);
assert(ret == ret2);
- assert(ident==ident2 || !strcmp(ident, ident2));
- assert(pid==pid2 || !strcmp(pid, pid2));
+ assert(ident==ident2 || streq(ident, ident2));
+ assert(pid==pid2 || streq(pid, pid2));
}
int main(void) {
diff --git a/src/journal/test-journal-verify.c b/src/journal/test-journal-verify.c
index b6677215c0..ad2e2d4c3b 100644
--- a/src/journal/test-journal-verify.c
+++ b/src/journal/test-journal-verify.c
@@ -117,7 +117,7 @@ int main(int argc, char *argv[]) {
log_info("=> Validated from %s to %s, %s missing",
format_timestamp(a, sizeof(a), from),
format_timestamp(b, sizeof(b), to),
- format_timespan(c, sizeof(c), total > to ? total - to : 0));
+ format_timespan(c, sizeof(c), total > to ? total - to : 0, 0));
}
journal_file_close(f);
diff --git a/src/kernel-install/50-depmod.install b/src/kernel-install/50-depmod.install
new file mode 100644
index 0000000000..68c24bed7a
--- /dev/null
+++ b/src/kernel-install/50-depmod.install
@@ -0,0 +1,8 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+[[ $1 == "add" ]] || exit 0
+[[ $2 ]] || exit 1
+
+exec depmod -a "$2"
diff --git a/src/kernel-install/90-loaderentry.install b/src/kernel-install/90-loaderentry.install
new file mode 100644
index 0000000000..55b4d24672
--- /dev/null
+++ b/src/kernel-install/90-loaderentry.install
@@ -0,0 +1,77 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+COMMAND="$1"
+KERNEL_VERSION="$2"
+BOOT_DIR_ABS="$3"
+KERNEL_IMAGE="$4"
+
+if [[ -f /etc/machine-id ]]; then
+ read MACHINE_ID < /etc/machine-id
+fi
+
+if ! [[ $MACHINE_ID ]]; then
+ exit 1
+fi
+
+BOOT_DIR="/$MACHINE_ID/$KERNEL_VERSION"
+LOADER_ENTRY="/boot/loader/entries/$MACHINE_ID-$KERNEL_VERSION.conf"
+
+if [[ $COMMAND == remove ]]; then
+ exec rm -f "$LOADER_ENTRY"
+fi
+
+if ! [[ $COMMAND == add ]]; then
+ exit 1
+fi
+
+if ! [[ $KERNEL_IMAGE ]]; then
+ exit 1
+fi
+
+if [[ -f /etc/os-release ]]; then
+ . /etc/os-release
+fi
+
+if ! [[ $PRETTY_NAME ]]; then
+ PRETTY_NAME="Linux $KERNEL_VERSION"
+fi
+
+if [[ -f /etc/kernel/cmdline ]]; then
+ readarray -t BOOT_OPTIONS < /etc/kernel/cmdline
+fi
+
+if ! [[ ${BOOT_OPTIONS[*]} ]]; then
+ readarray -t BOOT_OPTIONS < /proc/cmdline
+fi
+
+if ! [[ $BOOT_OPTIONS ]]; then
+ echo "Could not determine the kernel command line parameters." >&2
+ echo "Please specify the kernel command line in /etc/kernel/cmdline!" >&2
+ exit 1
+fi
+
+cp --preserve "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" || {
+ echo "Could not copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'." >&2
+ exit 1
+}
+
+mkdir -p "${LOADER_ENTRY%/*}" || {
+ echo "Could not create loader entry directory '${LOADER_ENTRY%/*}'." >&2
+ exit 1
+}
+
+{
+ echo "title $PRETTY_NAME"
+ echo "version $KERNEL_VERSION"
+ echo "machine-id $MACHINE_ID"
+ echo "options ${BOOT_OPTIONS[*]}"
+ echo "linux $BOOT_DIR/linux"
+ [[ -f $BOOT_DIR_ABS/initrd ]] && \
+ echo "initrd $BOOT_DIR/initrd"
+} > "$LOADER_ENTRY" || {
+ echo "Could not create loader entry '$LOADER_ENTRY'." >&2
+ exit 1
+}
+exit 0
diff --git a/src/kernel-install/kernel-install b/src/kernel-install/kernel-install
new file mode 100644
index 0000000000..fb2ee57b5b
--- /dev/null
+++ b/src/kernel-install/kernel-install
@@ -0,0 +1,123 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+#
+# This file is part of systemd.
+#
+# Copyright 2013 Harald Hoyer
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+usage()
+{
+ echo "Usage:" >&2
+ echo " $0 add <kernel-version> <kernel-image>" >&2
+ echo " $0 remove <kernel-version> <kernel-image>" >&2
+}
+
+dropindirs_sort()
+{
+ local suffix=$1; shift
+ local -a files
+ local f d i
+
+ readarray -t files < <(
+ for d in "$@"; do
+ for i in "$d/"*"$suffix"; do
+ if [[ -e "$i" ]]; then
+ echo "${i##*/}"
+ fi
+ done
+ done | sort -Vu
+ )
+
+ for f in "${files[@]}"; do
+ for d in "$@"; do
+ if [[ -e "$d/$f" ]]; then
+ echo "$d/$f"
+ continue 2
+ fi
+ done
+ done
+}
+
+export LC_COLLATE=C
+
+COMMAND="$1"
+KERNEL_VERSION="$2"
+KERNEL_IMAGE="$3"
+
+if [[ -f /etc/machine-id ]]; then
+ read MACHINE_ID < /etc/machine-id
+fi
+
+if ! [[ $MACHINE_ID ]]; then
+ echo "Could not determine your machine ID from /etc/machine-id." >&2
+ echo "Please run 'systemd-machine-id-setup' as root. See man:machine-id(5)" >&2
+ exit 1
+fi
+
+if [[ ! $COMMAND ]] || [[ ! $KERNEL_VERSION ]]; then
+ usage
+ exit 1
+fi
+
+BOOT_DIR_ABS="/boot/$MACHINE_ID/$KERNEL_VERSION"
+ret=0
+
+readarray -t PLUGINS < <(
+ dropindirs_sort ".install" \
+ "/etc/kernel/install.d" \
+ "/usr/lib/kernel/install.d"
+)
+
+case $COMMAND in
+ add)
+ if [[ ! $KERNEL_IMAGE ]]; then
+ usage
+ exit 1
+ fi
+
+ mkdir -p "$BOOT_DIR_ABS" || {
+ echo "Could not create boot directory '$BOOT_DIR_ABS'." >&2
+ exit 1
+ }
+
+ for f in "${PLUGINS[@]}"; do
+ if [[ -x $f ]]; then
+ "$f" add "$KERNEL_VERSION" "$BOOT_DIR_ABS" "$KERNEL_IMAGE"
+ ((ret+=$?))
+ fi
+ done
+ ;;
+
+ remove)
+ for f in "${PLUGINS[@]}"; do
+ if [[ -x $f ]]; then
+ "$f" remove "$KERNEL_VERSION" "$BOOT_DIR_ABS"
+ ((ret+=$?))
+ fi
+ done
+
+ rm -rf "$BOOT_DIR_ABS"
+ ((ret+=$?))
+ ;;
+
+ *)
+ usage
+ exit 1
+ ;;
+esac
+
+exit $ret
diff --git a/src/libsystemd-bus/Makefile b/src/libsystemd-bus/Makefile
new file mode 120000
index 0000000000..d0b0e8e008
--- /dev/null
+++ b/src/libsystemd-bus/Makefile
@@ -0,0 +1 @@
+../Makefile \ No newline at end of file
diff --git a/src/libsystemd-bus/bus-bloom.c b/src/libsystemd-bus/bus-bloom.c
new file mode 100644
index 0000000000..cb65e47b4c
--- /dev/null
+++ b/src/libsystemd-bus/bus-bloom.c
@@ -0,0 +1,93 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "util.h"
+#include "MurmurHash3.h"
+
+#include "bus-bloom.h"
+
+static inline void set_bit(uint64_t filter[], unsigned b) {
+ filter[b >> 6] |= 1ULL << (b & 63);
+}
+
+void bloom_add_data(uint64_t filter[BLOOM_SIZE/8], const void *data, size_t n) {
+ uint16_t hash[8];
+ unsigned k = 0;
+
+ /*
+ * Our bloom filter has the following parameters:
+ *
+ * m=512 (bits in the filter)
+ * k=8 (hash functions)
+ *
+ * We calculate a single 128bit MurmurHash value of which we
+ * use 8 parts of 9 bits as individual hash functions.
+ *
+ */
+
+ MurmurHash3_x64_128(data, n, 0, hash);
+
+ assert_cc(BLOOM_SIZE*8 == 512);
+
+ for (k = 0; k < ELEMENTSOF(hash); k++)
+ set_bit(filter, hash[k] & 511);
+}
+
+void bloom_add_pair(uint64_t filter[BLOOM_SIZE/8], const char *a, const char *b) {
+ size_t n;
+ char *c;
+
+ assert(filter);
+ assert(a);
+ assert(b);
+
+ n = strlen(a) + 1 + strlen(b);
+ c = alloca(n + 1);
+ strcpy(stpcpy(stpcpy(c, a), ":"), b);
+
+ bloom_add_data(filter, c, n);
+}
+
+void bloom_add_prefixes(uint64_t filter[BLOOM_SIZE/8], const char *a, const char *b, char sep) {
+ size_t n;
+ char *c, *p;
+
+ assert(filter);
+ assert(a);
+ assert(b);
+
+ n = strlen(a) + 1 + strlen(b);
+ c = alloca(n + 1);
+
+ p = stpcpy(stpcpy(c, a), ":");
+ strcpy(p, b);
+
+ for (;;) {
+ char *e;
+
+ e = strrchr(p, sep);
+ if (!e || e == p)
+ break;
+
+ *e = 0;
+ bloom_add_data(filter, c, e - c);
+ }
+}
diff --git a/src/libsystemd-bus/bus-bloom.h b/src/libsystemd-bus/bus-bloom.h
new file mode 100644
index 0000000000..1bf14a3331
--- /dev/null
+++ b/src/libsystemd-bus/bus-bloom.h
@@ -0,0 +1,30 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <sys/types.h>
+
+#define BLOOM_SIZE 64
+
+void bloom_add_data(uint64_t filter[BLOOM_SIZE/8], const void *data, size_t n);
+void bloom_add_pair(uint64_t filter[BLOOM_SIZE/8], const char *a, const char *b);
+void bloom_add_prefixes(uint64_t filter[BLOOM_SIZE/8], const char *a, const char *b, char sep);
diff --git a/src/libsystemd-bus/bus-control.c b/src/libsystemd-bus/bus-control.c
new file mode 100644
index 0000000000..a4dc9bf511
--- /dev/null
+++ b/src/libsystemd-bus/bus-control.c
@@ -0,0 +1,378 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#ifdef HAVE_VALGRIND_MEMCHECK_H
+#include <valgrind/memcheck.h>
+#endif
+
+#include <stddef.h>
+#include <errno.h>
+
+#include "strv.h"
+
+#include "sd-bus.h"
+#include "bus-internal.h"
+#include "bus-message.h"
+#include "bus-control.h"
+
+int sd_bus_get_unique_name(sd_bus *bus, const char **unique) {
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (!unique)
+ return -EINVAL;
+
+ r = bus_ensure_running(bus);
+ if (r < 0)
+ return r;
+
+ *unique = bus->unique_name;
+ return 0;
+}
+
+int sd_bus_request_name(sd_bus *bus, const char *name, int flags) {
+ _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
+ uint32_t ret;
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (!name)
+ return -EINVAL;
+ if (!bus->bus_client)
+ return -EINVAL;
+
+ if (bus->is_kernel) {
+ struct kdbus_cmd_name *n;
+ size_t l;
+
+ l = strlen(name);
+ n = alloca0(offsetof(struct kdbus_cmd_name, name) + l + 1);
+ n->size = offsetof(struct kdbus_cmd_name, name) + l + 1;
+ n->name_flags = flags;
+ memcpy(n->name, name, l+1);
+
+#ifdef HAVE_VALGRIND_MEMCHECK_H
+ VALGRIND_MAKE_MEM_DEFINED(n, n->size);
+#endif
+
+ r = ioctl(bus->input_fd, KDBUS_CMD_NAME_ACQUIRE, n);
+ if (r < 0)
+ return -errno;
+
+ return n->name_flags;
+ } else {
+ r = sd_bus_call_method(
+ bus,
+ "org.freedesktop.DBus",
+ "/",
+ "org.freedesktop.DBus",
+ "RequestName",
+ NULL,
+ &reply,
+ "su",
+ name,
+ flags);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_message_read(reply, "u", &ret);
+ if (r < 0)
+ return r;
+
+ return ret;
+ }
+}
+
+int sd_bus_release_name(sd_bus *bus, const char *name) {
+ _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
+ uint32_t ret;
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (!name)
+ return -EINVAL;
+ if (!bus->bus_client)
+ return -EINVAL;
+
+ if (bus->is_kernel) {
+ struct kdbus_cmd_name *n;
+ size_t l;
+
+ l = strlen(name);
+ n = alloca0(offsetof(struct kdbus_cmd_name, name) + l + 1);
+ n->size = offsetof(struct kdbus_cmd_name, name) + l + 1;
+ memcpy(n->name, name, l+1);
+
+#ifdef HAVE_VALGRIND_MEMCHECK_H
+ VALGRIND_MAKE_MEM_DEFINED(n, n->size);
+#endif
+ r = ioctl(bus->input_fd, KDBUS_CMD_NAME_RELEASE, n);
+ if (r < 0)
+ return -errno;
+
+ return n->name_flags;
+ } else {
+ r = sd_bus_call_method(
+ bus,
+ "org.freedesktop.DBus",
+ "/",
+ "org.freedesktop.DBus",
+ "ReleaseName",
+ NULL,
+ &reply,
+ "s",
+ name);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_message_read(reply, "u", &ret);
+ if (r < 0)
+ return r;
+ }
+
+ return ret;
+}
+
+int sd_bus_list_names(sd_bus *bus, char ***l) {
+ _cleanup_bus_message_unref_ sd_bus_message *reply1 = NULL, *reply2 = NULL;
+ char **x = NULL;
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (!l)
+ return -EINVAL;
+
+ r = sd_bus_call_method(
+ bus,
+ "org.freedesktop.DBus",
+ "/",
+ "org.freedesktop.DBus",
+ "ListNames",
+ NULL,
+ &reply1,
+ NULL);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_call_method(
+ bus,
+ "org.freedesktop.DBus",
+ "/",
+ "org.freedesktop.DBus",
+ "ListActivatableNames",
+ NULL,
+ &reply2,
+ NULL);
+ if (r < 0)
+ return r;
+
+ r = bus_message_read_strv_extend(reply1, &x);
+ if (r < 0) {
+ strv_free(x);
+ return r;
+ }
+
+ r = bus_message_read_strv_extend(reply2, &x);
+ if (r < 0) {
+ strv_free(x);
+ return r;
+ }
+
+ *l = strv_uniq(x);
+ return 0;
+}
+
+int sd_bus_get_owner(sd_bus *bus, const char *name, char **owner) {
+ _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
+ const char *found;
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (!name)
+ return -EINVAL;
+
+ r = sd_bus_call_method(
+ bus,
+ "org.freedesktop.DBus",
+ "/",
+ "org.freedesktop.DBus",
+ "GetNameOwner",
+ NULL,
+ &reply,
+ "s",
+ name);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_message_read(reply, "s", &found);
+ if (r < 0)
+ return r;
+
+ if (owner) {
+ char *t;
+
+ t = strdup(found);
+ if (!t)
+ return -ENOMEM;
+
+ *owner = t;
+ }
+
+ return 0;
+}
+
+int sd_bus_get_owner_uid(sd_bus *bus, const char *name, uid_t *uid) {
+ _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
+ uint32_t u;
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (!name)
+ return -EINVAL;
+ if (!uid)
+ return -EINVAL;
+
+ r = sd_bus_call_method(
+ bus,
+ "org.freedesktop.DBus",
+ "/",
+ "org.freedesktop.DBus",
+ "GetConnectionUnixUser",
+ NULL,
+ &reply,
+ "s",
+ name);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_message_read(reply, "u", &u);
+ if (r < 0)
+ return r;
+
+ *uid = (uid_t) u;
+ return 0;
+}
+
+int sd_bus_get_owner_pid(sd_bus *bus, const char *name, pid_t *pid) {
+ _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
+ uint32_t u;
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (!name)
+ return -EINVAL;
+ if (!pid)
+ return -EINVAL;
+
+ r = sd_bus_call_method(
+ bus,
+ "org.freedesktop.DBus",
+ "/",
+ "org.freedesktop.DBus",
+ "GetConnectionUnixProcessID",
+ NULL,
+ &reply,
+ "s",
+ name);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_message_read(reply, "u", &u);
+ if (r < 0)
+ return r;
+
+ if (u == 0)
+ return -EIO;
+
+ *pid = (uid_t) u;
+ return 0;
+}
+
+int bus_add_match_internal(sd_bus *bus, const char *match) {
+ assert(bus);
+ assert(match);
+
+ return sd_bus_call_method(
+ bus,
+ "org.freedesktop.DBus",
+ "/",
+ "org.freedesktop.DBus",
+ "AddMatch",
+ NULL,
+ NULL,
+ "s",
+ match);
+}
+
+int bus_remove_match_internal(sd_bus *bus, const char *match) {
+ assert(bus);
+ assert(match);
+
+ return sd_bus_call_method(
+ bus,
+ "org.freedesktop.DBus",
+ "/",
+ "org.freedesktop.DBus",
+ "RemoveMatch",
+ NULL,
+ NULL,
+ "s",
+ match);
+}
+
+int sd_bus_get_owner_machine_id(sd_bus *bus, const char *name, sd_id128_t *machine) {
+ _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
+ const char *mid;
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (!name)
+ return -EINVAL;
+
+ if (streq_ptr(name, bus->unique_name))
+ return sd_id128_get_machine(machine);
+
+ r = sd_bus_call_method(bus,
+ name,
+ "/",
+ "org.freedesktop.DBus.Peer",
+ "GetMachineId",
+ NULL,
+ &reply,
+ NULL);
+
+ if (r < 0)
+ return r;
+
+ r = sd_bus_message_read(reply, "s", &mid);
+ if (r < 0)
+ return r;
+
+ return sd_id128_from_string(mid, machine);
+}
diff --git a/src/libsystemd-bus/bus-control.h b/src/libsystemd-bus/bus-control.h
new file mode 100644
index 0000000000..34ecb260c3
--- /dev/null
+++ b/src/libsystemd-bus/bus-control.h
@@ -0,0 +1,27 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "sd-bus.h"
+
+int bus_add_match_internal(sd_bus *bus, const char *match);
+int bus_remove_match_internal(sd_bus *bus, const char *match);
diff --git a/src/libsystemd-bus/bus-error.c b/src/libsystemd-bus/bus-error.c
new file mode 100644
index 0000000000..5faa17384e
--- /dev/null
+++ b/src/libsystemd-bus/bus-error.c
@@ -0,0 +1,177 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <errno.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdbool.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util.h"
+
+#include "sd-bus.h"
+#include "bus-error.h"
+
+bool bus_error_is_dirty(sd_bus_error *e) {
+ if (!e)
+ return 0;
+
+ return e->name || e->message || e->need_free;
+}
+
+void sd_bus_error_free(sd_bus_error *e) {
+ if (!e)
+ return;
+
+ if (e->need_free) {
+ free((void*) e->name);
+ free((void*) e->message);
+ }
+
+ e->name = e->message = NULL;
+ e->need_free = false;
+}
+
+int sd_bus_error_set(sd_bus_error *e, const char *name, const char *format, ...) {
+ char *n, *m = NULL;
+ va_list ap;
+ int r;
+
+ if (!e)
+ return 0;
+ if (bus_error_is_dirty(e))
+ return -EINVAL;
+ if (!name)
+ return -EINVAL;
+
+ n = strdup(name);
+ if (!n)
+ return -ENOMEM;
+
+ if (format) {
+ va_start(ap, format);
+ r = vasprintf(&m, format, ap);
+ va_end(ap);
+
+ if (r < 0) {
+ free(n);
+ return -ENOMEM;
+ }
+ }
+
+ e->name = n;
+ e->message = m;
+ e->need_free = true;
+
+ return 0;
+}
+
+int sd_bus_error_copy(sd_bus_error *dest, const sd_bus_error *e) {
+ char *x, *y = NULL;
+
+ if (!dest)
+ return 0;
+ if (bus_error_is_dirty(dest))
+ return -EINVAL;
+ if (!sd_bus_error_is_set(e))
+ return 0;
+
+ x = strdup(e->name);
+ if (!x)
+ return -ENOMEM;
+
+ if (e->message) {
+ y = strdup(e->message);
+ if (!y) {
+ free(x);
+ return -ENOMEM;
+ }
+ }
+
+ dest->name = x;
+ dest->message = y;
+ dest->need_free = true;
+ return 0;
+}
+
+void sd_bus_error_set_const(sd_bus_error *e, const char *name, const char *message) {
+ if (!e)
+ return;
+ if (bus_error_is_dirty(e))
+ return;
+
+ e->name = name;
+ e->message = message;
+ e->need_free = false;
+}
+
+int sd_bus_error_is_set(const sd_bus_error *e) {
+ if (!e)
+ return 0;
+
+ return !!e->name;
+}
+
+int sd_bus_error_has_name(const sd_bus_error *e, const char *name) {
+ if (!e)
+ return 0;
+
+ return streq_ptr(e->name, name);
+}
+
+int bus_error_to_errno(const sd_bus_error* e) {
+
+ /* Better replce this with a gperf table */
+
+ if (!e->name)
+ return -EIO;
+
+ if (streq(e->name, "org.freedesktop.DBus.Error.NoMemory"))
+ return -ENOMEM;
+
+ if (streq(e->name, "org.freedesktop.DBus.Error.AuthFailed") ||
+ streq(e->name, "org.freedesktop.DBus.Error.AccessDenied"))
+ return -EPERM;
+
+ return -EIO;
+}
+
+int bus_error_from_errno(sd_bus_error *e, int error) {
+ if (!e)
+ return error;
+
+ if (error == -ENOMEM)
+ sd_bus_error_set_const(e, "org.freedesktop.DBus.Error.NoMemory", strerror(-error));
+ else if (error == -EPERM || error == -EACCES)
+ sd_bus_error_set_const(e, "org.freedesktop.DBus.Error.AccessDenied", strerror(-error));
+ else
+ sd_bus_error_set_const(e, "org.freedesktop.DBus.Error.Failed", "Operation failed");
+
+ return error;
+}
+
+const char *bus_error_message(const sd_bus_error *e, int error) {
+ if (e && e->message)
+ return e->message;
+
+ return strerror(error);
+}
diff --git a/src/libsystemd-bus/bus-error.h b/src/libsystemd-bus/bus-error.h
new file mode 100644
index 0000000000..ceca7d678f
--- /dev/null
+++ b/src/libsystemd-bus/bus-error.h
@@ -0,0 +1,31 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "sd-bus.h"
+
+int bus_error_to_errno(const sd_bus_error *e);
+int bus_error_from_errno(sd_bus_error *e, int error);
+
+bool bus_error_is_dirty(sd_bus_error *e);
+
+const char *bus_error_message(const sd_bus_error *e, int error);
diff --git a/src/libsystemd-bus/bus-internal.c b/src/libsystemd-bus/bus-internal.c
new file mode 100644
index 0000000000..0e66f3d355
--- /dev/null
+++ b/src/libsystemd-bus/bus-internal.c
@@ -0,0 +1,256 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "bus-internal.h"
+
+bool object_path_is_valid(const char *p) {
+ const char *q;
+ bool slash;
+
+ if (!p)
+ return false;
+
+ if (p[0] != '/')
+ return false;
+
+ if (p[1] == 0)
+ return true;
+
+ for (slash = true, q = p+1; *q; q++)
+ if (*q == '/') {
+ if (slash)
+ return false;
+
+ slash = true;
+ } else {
+ bool good;
+
+ good =
+ (*q >= 'a' && *q <= 'z') ||
+ (*q >= 'A' && *q <= 'Z') ||
+ (*q >= '0' && *q <= '9') ||
+ *q == '_';
+
+ if (!good)
+ return false;
+
+ slash = false;
+ }
+
+ if (slash)
+ return false;
+
+ return true;
+}
+
+bool interface_name_is_valid(const char *p) {
+ const char *q;
+ bool dot, found_dot;
+
+ if (isempty(p))
+ return false;
+
+ for (dot = true, q = p; *q; q++)
+ if (*q == '.') {
+ if (dot)
+ return false;
+
+ found_dot = dot = true;
+ } else {
+ bool good;
+
+ good =
+ (*q >= 'a' && *q <= 'z') ||
+ (*q >= 'A' && *q <= 'Z') ||
+ (!dot && *q >= '0' && *q <= '9') ||
+ *q == '_';
+
+ if (!good)
+ return false;
+
+ dot = false;
+ }
+
+ if (q - p > 255)
+ return false;
+
+ if (dot)
+ return false;
+
+ if (!found_dot)
+ return false;
+
+ return true;
+}
+
+bool service_name_is_valid(const char *p) {
+ const char *q;
+ bool dot, found_dot, unique;
+
+ if (isempty(p))
+ return false;
+
+ unique = p[0] == ':';
+
+ for (dot = true, q = unique ? p+1 : p; *q; q++)
+ if (*q == '.') {
+ if (dot)
+ return false;
+
+ found_dot = dot = true;
+ } else {
+ bool good;
+
+ good =
+ (*q >= 'a' && *q <= 'z') ||
+ (*q >= 'A' && *q <= 'Z') ||
+ ((!dot || unique) && *q >= '0' && *q <= '9') ||
+ *q == '_' || *q == '-';
+
+ if (!good)
+ return false;
+
+ dot = false;
+ }
+
+ if (q - p > 255)
+ return false;
+
+ if (dot)
+ return false;
+
+ if (!found_dot)
+ return false;
+
+ return true;
+}
+
+bool member_name_is_valid(const char *p) {
+ const char *q;
+
+ if (isempty(p))
+ return false;
+
+ for (q = p; *q; q++) {
+ bool good;
+
+ good =
+ (*q >= 'a' && *q <= 'z') ||
+ (*q >= 'A' && *q <= 'Z') ||
+ (*q >= '0' && *q <= '9') ||
+ *q == '_';
+
+ if (!good)
+ return false;
+ }
+
+ if (q - p > 255)
+ return false;
+
+ return true;
+}
+
+static bool complex_pattern_check(char c, const char *a, const char *b) {
+ bool separator = false;
+
+ if (!a && !b)
+ return true;
+
+ if (!a || !b)
+ return false;
+
+ for (;;) {
+ if (*a != *b)
+ return (separator && (*a == 0 || *b == 0)) ||
+ (*a == 0 && *b == c && b[1] == 0) ||
+ (*b == 0 && *a == c && a[1] == 0);
+
+ if (*a == 0)
+ return true;
+
+ separator = *a == c;
+
+ a++, b++;
+ }
+}
+
+bool namespace_complex_pattern(const char *pattern, const char *value) {
+ return complex_pattern_check('.', pattern, value);
+}
+
+bool path_complex_pattern(const char *pattern, const char *value) {
+ return complex_pattern_check('/', pattern, value);
+}
+
+static bool simple_pattern_check(char c, const char *a, const char *b) {
+
+ if (!a && !b)
+ return true;
+
+ if (!a || !b)
+ return false;
+
+ for (;;) {
+ if (*a != *b)
+ return *a == 0 && *b == c;
+
+ if (*a == 0)
+ return true;
+
+ a++, b++;
+ }
+}
+
+bool namespace_simple_pattern(const char *pattern, const char *value) {
+ return simple_pattern_check('.', pattern, value);
+}
+
+bool path_simple_pattern(const char *pattern, const char *value) {
+ return simple_pattern_check('/', pattern, value);
+}
+
+int bus_message_type_from_string(const char *s, uint8_t *u) {
+ if (streq(s, "signal"))
+ *u = SD_BUS_MESSAGE_TYPE_SIGNAL;
+ else if (streq(s, "method_call"))
+ *u = SD_BUS_MESSAGE_TYPE_METHOD_CALL;
+ else if (streq(s, "error"))
+ *u = SD_BUS_MESSAGE_TYPE_METHOD_ERROR;
+ else if (streq(s, "method_return"))
+ *u = SD_BUS_MESSAGE_TYPE_METHOD_RETURN;
+ else
+ return -EINVAL;
+
+ return 0;
+}
+
+const char *bus_message_type_to_string(uint8_t u) {
+ if (u == SD_BUS_MESSAGE_TYPE_SIGNAL)
+ return "signal";
+ else if (u == SD_BUS_MESSAGE_TYPE_METHOD_CALL)
+ return "method_call";
+ else if (u == SD_BUS_MESSAGE_TYPE_METHOD_ERROR)
+ return "error";
+ else if (u == SD_BUS_MESSAGE_TYPE_METHOD_RETURN)
+ return "method_return";
+ else
+ return NULL;
+}
diff --git a/src/libsystemd-bus/bus-internal.h b/src/libsystemd-bus/bus-internal.h
new file mode 100644
index 0000000000..4babfac86d
--- /dev/null
+++ b/src/libsystemd-bus/bus-internal.h
@@ -0,0 +1,198 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <sys/socket.h>
+#include <sys/un.h>
+#include <netinet/in.h>
+
+#include "hashmap.h"
+#include "prioq.h"
+#include "list.h"
+#include "util.h"
+
+#include "sd-bus.h"
+#include "bus-error.h"
+#include "bus-match.h"
+
+struct reply_callback {
+ sd_bus_message_handler_t callback;
+ void *userdata;
+ usec_t timeout;
+ uint64_t serial;
+ unsigned prioq_idx;
+};
+
+struct filter_callback {
+ sd_bus_message_handler_t callback;
+ void *userdata;
+
+ unsigned last_iteration;
+
+ LIST_FIELDS(struct filter_callback, callbacks);
+};
+
+struct object_callback {
+ sd_bus_message_handler_t callback;
+ void *userdata;
+
+ char *path;
+ bool is_fallback;
+
+ unsigned last_iteration;
+};
+
+enum bus_state {
+ BUS_UNSET,
+ BUS_OPENING,
+ BUS_AUTHENTICATING,
+ BUS_HELLO,
+ BUS_RUNNING
+};
+
+enum bus_auth {
+ _BUS_AUTH_INVALID,
+ BUS_AUTH_EXTERNAL,
+ BUS_AUTH_ANONYMOUS
+};
+
+struct sd_bus {
+ unsigned n_ref;
+ enum bus_state state;
+ int input_fd, output_fd;
+ int message_version;
+
+ bool is_kernel:1;
+ bool negotiate_fds:1;
+ bool can_fds:1;
+ bool bus_client:1;
+ bool ucred_valid:1;
+ bool is_server:1;
+ bool anonymous_auth:1;
+ bool prefer_readv:1;
+ bool prefer_writev:1;
+ bool processing:1;
+ bool match_callbacks_modified:1;
+ bool filter_callbacks_modified:1;
+ bool object_callbacks_modified:1;
+
+ void *rbuffer;
+ size_t rbuffer_size;
+
+ sd_bus_message **rqueue;
+ unsigned rqueue_size;
+
+ sd_bus_message **wqueue;
+ unsigned wqueue_size;
+ size_t windex;
+
+ uint64_t serial;
+
+ char *unique_name;
+
+ struct bus_match_node match_callbacks;
+ Prioq *reply_callbacks_prioq;
+ Hashmap *reply_callbacks;
+ LIST_HEAD(struct filter_callback, filter_callbacks);
+ Hashmap *object_callbacks;
+
+ union {
+ struct sockaddr sa;
+ struct sockaddr_un un;
+ struct sockaddr_in in;
+ struct sockaddr_in6 in6;
+ } sockaddr;
+ socklen_t sockaddr_size;
+
+ char *kernel;
+
+ sd_id128_t server_id;
+
+ char *address;
+ unsigned address_index;
+
+ int last_connect_error;
+
+ enum bus_auth auth;
+ size_t auth_rbegin;
+ struct iovec auth_iovec[3];
+ unsigned auth_index;
+ char *auth_buffer;
+ usec_t auth_timeout;
+
+ struct ucred ucred;
+ char label[NAME_MAX];
+
+ int *fds;
+ unsigned n_fds;
+
+ char *exec_path;
+ char **exec_argv;
+
+ uint64_t hello_serial;
+ unsigned iteration_counter;
+};
+
+static inline void bus_unrefp(sd_bus **b) {
+ sd_bus_unref(*b);
+}
+
+#define _cleanup_bus_unref_ __attribute__((cleanup(bus_unrefp)))
+#define _cleanup_bus_error_free_ __attribute__((cleanup(sd_bus_error_free)))
+
+#define BUS_DEFAULT_TIMEOUT ((usec_t) (25 * USEC_PER_SEC))
+
+#define BUS_WQUEUE_MAX 128
+#define BUS_RQUEUE_MAX 128
+
+#define BUS_MESSAGE_SIZE_MAX (64*1024*1024)
+#define BUS_AUTH_SIZE_MAX (64*1024)
+
+#define BUS_CONTAINER_DEPTH 128
+
+/* Defined by the specification as maximum size of an array in
+ * bytes */
+#define BUS_ARRAY_MAX_SIZE 67108864
+
+#define BUS_FDS_MAX 1024
+
+#define BUS_EXEC_ARGV_MAX 256
+
+bool object_path_is_valid(const char *p);
+bool interface_name_is_valid(const char *p);
+bool service_name_is_valid(const char *p);
+bool member_name_is_valid(const char *p);
+
+bool namespace_complex_pattern(const char *pattern, const char *value);
+bool path_complex_pattern(const char *pattern, const char *value);
+
+bool namespace_simple_pattern(const char *pattern, const char *value);
+bool path_simple_pattern(const char *pattern, const char *value);
+
+int bus_message_type_from_string(const char *s, uint8_t *u);
+const char *bus_message_type_to_string(uint8_t u);
+
+#define error_name_is_valid interface_name_is_valid
+
+int bus_ensure_running(sd_bus *bus);
+int bus_start_running(sd_bus *bus);
+int bus_next_address(sd_bus *bus);
diff --git a/src/libsystemd-bus/bus-kernel.c b/src/libsystemd-bus/bus-kernel.c
new file mode 100644
index 0000000000..0762b7836f
--- /dev/null
+++ b/src/libsystemd-bus/bus-kernel.c
@@ -0,0 +1,618 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#ifdef HAVE_VALGRIND_MEMCHECK_H
+#include <valgrind/memcheck.h>
+#endif
+
+#include <fcntl.h>
+#include <malloc.h>
+
+#include "util.h"
+
+#include "bus-internal.h"
+#include "bus-message.h"
+#include "bus-kernel.h"
+#include "bus-bloom.h"
+
+#define KDBUS_ITEM_NEXT(item) \
+ (typeof(item))(((uint8_t *)item) + ALIGN8((item)->size))
+
+#define KDBUS_ITEM_FOREACH(item, head) \
+ for (item = (head)->items; \
+ (uint8_t *)(item) < (uint8_t *)(head) + (head)->size; \
+ item = KDBUS_ITEM_NEXT(item))
+
+#define KDBUS_ITEM_HEADER_SIZE offsetof(struct kdbus_item, data)
+#define KDBUS_ITEM_SIZE(s) ALIGN8((s) + KDBUS_ITEM_HEADER_SIZE)
+
+static int parse_unique_name(const char *s, uint64_t *id) {
+ int r;
+
+ assert(s);
+ assert(id);
+
+ if (!startswith(s, ":1."))
+ return 0;
+
+ r = safe_atou64(s + 3, id);
+ if (r < 0)
+ return r;
+
+ return 1;
+}
+
+static void append_payload_vec(struct kdbus_item **d, const void *p, size_t sz) {
+ assert(d);
+ assert(p);
+ assert(sz > 0);
+
+ *d = ALIGN8_PTR(*d);
+
+ (*d)->size = offsetof(struct kdbus_item, vec) + sizeof(struct kdbus_vec);
+ (*d)->type = KDBUS_MSG_PAYLOAD_VEC;
+ (*d)->vec.address = (intptr_t) p;
+ (*d)->vec.size = sz;
+
+ *d = (struct kdbus_item *) ((uint8_t*) *d + (*d)->size);
+}
+
+static void append_destination(struct kdbus_item **d, const char *s, size_t length) {
+ assert(d);
+ assert(s);
+
+ *d = ALIGN8_PTR(*d);
+
+ (*d)->size = offsetof(struct kdbus_item, str) + length + 1;
+ (*d)->type = KDBUS_MSG_DST_NAME;
+ memcpy((*d)->str, s, length + 1);
+
+ *d = (struct kdbus_item *) ((uint8_t*) *d + (*d)->size);
+}
+
+static void* append_bloom(struct kdbus_item **d, size_t length) {
+ void *r;
+
+ assert(d);
+
+ *d = ALIGN8_PTR(*d);
+
+ (*d)->size = offsetof(struct kdbus_item, data) + length;
+ (*d)->type = KDBUS_MSG_BLOOM;
+ r = (*d)->data;
+
+ *d = (struct kdbus_item *) ((uint8_t*) *d + (*d)->size);
+
+ return r;
+}
+
+static void append_fds(struct kdbus_item **d, const int fds[], unsigned n_fds) {
+ assert(d);
+ assert(fds);
+ assert(n_fds > 0);
+
+ *d = ALIGN8_PTR(*d);
+ (*d)->size = offsetof(struct kdbus_item, fds) + sizeof(int) * n_fds;
+ (*d)->type = KDBUS_MSG_UNIX_FDS;
+ memcpy((*d)->fds, fds, sizeof(int) * n_fds);
+
+ *d = (struct kdbus_item *) ((uint8_t*) *d + (*d)->size);
+}
+
+static int bus_message_setup_bloom(sd_bus_message *m, void *bloom) {
+ unsigned i;
+ int r;
+
+ assert(m);
+ assert(bloom);
+
+ memset(bloom, 0, BLOOM_SIZE);
+
+ bloom_add_pair(bloom, "message-type", bus_message_type_to_string(m->header->type));
+
+ if (m->interface)
+ bloom_add_pair(bloom, "interface", m->interface);
+ if (m->member)
+ bloom_add_pair(bloom, "member", m->member);
+ if (m->path) {
+ bloom_add_pair(bloom, "path", m->path);
+ bloom_add_prefixes(bloom, "path-slash-prefix", m->path, '/');
+ }
+
+ r = sd_bus_message_rewind(m, true);
+ if (r < 0)
+ return r;
+
+ for (i = 0; i < 64; i++) {
+ char type;
+ const char *t;
+ char buf[sizeof("arg")-1 + 2 + sizeof("-slash-prefix")];
+ char *e;
+
+ r = sd_bus_message_peek_type(m, &type, NULL);
+ if (r < 0)
+ return r;
+
+ if (type != SD_BUS_TYPE_STRING &&
+ type != SD_BUS_TYPE_OBJECT_PATH &&
+ type != SD_BUS_TYPE_SIGNATURE)
+ break;
+
+ r = sd_bus_message_read_basic(m, type, &t);
+ if (r < 0)
+ return r;
+
+ e = stpcpy(buf, "arg");
+ if (i < 10)
+ *(e++) = '0' + i;
+ else {
+ *(e++) = '0' + (i / 10);
+ *(e++) = '0' + (i % 10);
+ }
+
+ *e = 0;
+ bloom_add_pair(bloom, buf, t);
+
+ strcpy(e, "-dot-prefix");
+ bloom_add_prefixes(bloom, buf, t, '.');
+ strcpy(e, "-slash-prefix");
+ bloom_add_prefixes(bloom, buf, t, '/');
+ }
+
+ return 0;
+}
+
+static int bus_message_setup_kmsg(sd_bus *b, sd_bus_message *m) {
+ struct kdbus_item *d;
+ bool well_known;
+ uint64_t unique;
+ size_t sz, dl;
+ int r;
+
+ assert(b);
+ assert(m);
+ assert(m->sealed);
+
+ if (m->kdbus)
+ return 0;
+
+ if (m->destination) {
+ r = parse_unique_name(m->destination, &unique);
+ if (r < 0)
+ return r;
+
+ well_known = r == 0;
+ } else
+ well_known = false;
+
+ sz = offsetof(struct kdbus_msg, items);
+
+ /* Add in fixed header, fields header and payload */
+ sz += 3 * ALIGN8(offsetof(struct kdbus_item, vec) + sizeof(struct kdbus_vec));
+
+ /* Add space for bloom filter */
+ sz += ALIGN8(offsetof(struct kdbus_item, data) + BLOOM_SIZE);
+
+ /* Add in well-known destination header */
+ if (well_known) {
+ dl = strlen(m->destination);
+ sz += ALIGN8(offsetof(struct kdbus_item, str) + dl + 1);
+ }
+
+ /* Add space for unix fds */
+ if (m->n_fds > 0)
+ sz += ALIGN8(offsetof(struct kdbus_item, fds) + sizeof(int)*m->n_fds);
+
+ m->kdbus = memalign(8, sz);
+ if (!m->kdbus)
+ return -ENOMEM;
+
+ memset(m->kdbus, 0, sz);
+
+ m->kdbus->flags =
+ ((m->header->flags & SD_BUS_MESSAGE_NO_REPLY_EXPECTED) ? 0 : KDBUS_MSG_FLAGS_EXPECT_REPLY) |
+ ((m->header->flags & SD_BUS_MESSAGE_NO_AUTO_START) ? KDBUS_MSG_FLAGS_NO_AUTO_START : 0);
+ m->kdbus->dst_id =
+ well_known ? 0 :
+ m->destination ? unique : KDBUS_DST_ID_BROADCAST;
+ m->kdbus->payload_type = KDBUS_PAYLOAD_DBUS1;
+ m->kdbus->cookie = m->header->serial;
+
+ m->kdbus->timeout_ns = m->timeout * NSEC_PER_USEC;
+
+ d = m->kdbus->items;
+
+ if (well_known)
+ append_destination(&d, m->destination, dl);
+
+ append_payload_vec(&d, m->header, sizeof(*m->header));
+
+ if (m->fields)
+ append_payload_vec(&d, m->fields, ALIGN8(m->header->fields_size));
+
+ if (m->body)
+ append_payload_vec(&d, m->body, m->header->body_size);
+
+ if (m->kdbus->dst_id == KDBUS_DST_ID_BROADCAST) {
+ void *p;
+
+ p = append_bloom(&d, BLOOM_SIZE);
+ r = bus_message_setup_bloom(m, p);
+ if (r < 0) {
+ free(m->kdbus);
+ m->kdbus = NULL;
+ return -r;
+ }
+ }
+
+ if (m->n_fds > 0)
+ append_fds(&d, m->fds, m->n_fds);
+
+ m->kdbus->size = (uint8_t*) d - (uint8_t*) m->kdbus;
+ assert(m->kdbus->size <= sz);
+
+ m->free_kdbus = true;
+
+ return 0;
+}
+
+int bus_kernel_take_fd(sd_bus *b) {
+ struct kdbus_cmd_hello hello = {
+ .conn_flags =
+ KDBUS_HELLO_ACCEPT_FD|
+ KDBUS_HELLO_ATTACH_COMM|
+ KDBUS_HELLO_ATTACH_EXE|
+ KDBUS_HELLO_ATTACH_CMDLINE|
+ KDBUS_HELLO_ATTACH_CGROUP|
+ KDBUS_HELLO_ATTACH_CAPS|
+ KDBUS_HELLO_ATTACH_SECLABEL|
+ KDBUS_HELLO_ATTACH_AUDIT
+ };
+ int r;
+
+ assert(b);
+
+ if (b->is_server)
+ return -EINVAL;
+
+ r = ioctl(b->input_fd, KDBUS_CMD_HELLO, &hello);
+ if (r < 0)
+ return -errno;
+
+ /* The higher 32bit of both flags fields are considered
+ * 'incompatible flags'. Refuse them all for now. */
+ if (hello.bus_flags > 0xFFFFFFFFULL ||
+ hello.conn_flags > 0xFFFFFFFFULL)
+ return -ENOTSUP;
+
+ if (hello.bloom_size != BLOOM_SIZE)
+ return -ENOTSUP;
+
+ if (asprintf(&b->unique_name, ":1.%llu", (unsigned long long) hello.id) < 0)
+ return -ENOMEM;
+
+ b->is_kernel = true;
+ b->bus_client = true;
+ b->can_fds = true;
+
+ r = bus_start_running(b);
+ if (r < 0)
+ return r;
+
+ return 1;
+}
+
+int bus_kernel_connect(sd_bus *b) {
+ assert(b);
+ assert(b->input_fd < 0);
+ assert(b->output_fd < 0);
+ assert(b->kernel);
+
+ if (b->is_server)
+ return -EINVAL;
+
+ b->input_fd = open(b->kernel, O_RDWR|O_NOCTTY|O_CLOEXEC);
+ if (b->input_fd < 0)
+ return -errno;
+
+ b->output_fd = b->input_fd;
+
+ return bus_kernel_take_fd(b);
+}
+
+int bus_kernel_write_message(sd_bus *bus, sd_bus_message *m) {
+ int r;
+
+ assert(bus);
+ assert(m);
+ assert(bus->state == BUS_RUNNING);
+
+ r = bus_message_setup_kmsg(bus, m);
+ if (r < 0)
+ return r;
+
+ r = ioctl(bus->output_fd, KDBUS_CMD_MSG_SEND, m->kdbus);
+ if (r < 0)
+ return errno == EAGAIN ? 0 : -errno;
+
+ return 1;
+}
+
+static void close_kdbus_msg(struct kdbus_msg *k) {
+ struct kdbus_item *d;
+
+ KDBUS_ITEM_FOREACH(d, k) {
+
+ if (d->type != KDBUS_MSG_UNIX_FDS)
+ continue;
+
+ close_many(d->fds, (d->size - offsetof(struct kdbus_item, fds)) / sizeof(int));
+ }
+}
+
+static int bus_kernel_make_message(sd_bus *bus, struct kdbus_msg *k, sd_bus_message **ret) {
+ sd_bus_message *m = NULL;
+ struct kdbus_item *d;
+ unsigned n_payload = 0, n_fds = 0;
+ _cleanup_free_ int *fds = NULL;
+ struct bus_header *h = NULL;
+ size_t total, n_bytes = 0, idx = 0;
+ const char *destination = NULL, *seclabel = NULL;
+ int r;
+
+ assert(bus);
+ assert(k);
+ assert(ret);
+
+ if (k->payload_type != KDBUS_PAYLOAD_DBUS1)
+ return 0;
+
+ KDBUS_ITEM_FOREACH(d, k) {
+ size_t l;
+
+ l = d->size - offsetof(struct kdbus_item, data);
+
+ if (d->type == KDBUS_MSG_PAYLOAD) {
+
+ if (!h) {
+ if (l < sizeof(struct bus_header))
+ return -EBADMSG;
+
+ h = (struct bus_header*) d->data;
+ }
+
+ n_payload++;
+ n_bytes += l;
+
+ } else if (d->type == KDBUS_MSG_UNIX_FDS) {
+ int *f;
+ unsigned j;
+
+ j = l / sizeof(int);
+ f = realloc(fds, sizeof(int) * (n_fds + j));
+ if (!f)
+ return -ENOMEM;
+
+ fds = f;
+ memcpy(fds + n_fds, d->fds, sizeof(int) * j);
+ n_fds += j;
+
+ } else if (d->type == KDBUS_MSG_DST_NAME)
+ destination = d->str;
+ else if (d->type == KDBUS_MSG_SRC_SECLABEL)
+ seclabel = d->str;
+ }
+
+ if (!h)
+ return -EBADMSG;
+
+ r = bus_header_size(h, &total);
+ if (r < 0)
+ return r;
+
+ if (n_bytes != total)
+ return -EBADMSG;
+
+ r = bus_message_from_header(h, sizeof(struct bus_header), fds, n_fds, NULL, seclabel, 0, &m);
+ if (r < 0)
+ return r;
+
+ KDBUS_ITEM_FOREACH(d, k) {
+ size_t l;
+
+ l = d->size - offsetof(struct kdbus_item, data);
+
+ if (d->type == KDBUS_MSG_PAYLOAD) {
+
+ if (idx == sizeof(struct bus_header) &&
+ l == ALIGN8(BUS_MESSAGE_FIELDS_SIZE(m)))
+ m->fields = d->data;
+ else if (idx == sizeof(struct bus_header) + ALIGN8(BUS_MESSAGE_FIELDS_SIZE(m)) &&
+ l == BUS_MESSAGE_BODY_SIZE(m))
+ m->body = d->data;
+ else if (!(idx == 0 && l == sizeof(struct bus_header))) {
+ sd_bus_message_unref(m);
+ return -EBADMSG;
+ }
+
+ idx += l;
+ } else if (d->type == KDBUS_MSG_SRC_CREDS) {
+ m->pid_starttime = d->creds.starttime / NSEC_PER_USEC;
+ m->uid = d->creds.uid;
+ m->gid = d->creds.gid;
+ m->pid = d->creds.pid;
+ m->tid = d->creds.tid;
+ m->uid_valid = m->gid_valid = true;
+ } else if (d->type == KDBUS_MSG_TIMESTAMP) {
+ m->realtime = d->timestamp.realtime_ns / NSEC_PER_USEC;
+ m->monotonic = d->timestamp.monotonic_ns / NSEC_PER_USEC;
+ } else if (d->type == KDBUS_MSG_SRC_PID_COMM)
+ m->comm = d->str;
+ else if (d->type == KDBUS_MSG_SRC_TID_COMM)
+ m->tid_comm = d->str;
+ else if (d->type == KDBUS_MSG_SRC_EXE)
+ m->exe = d->str;
+ else if (d->type == KDBUS_MSG_SRC_CMDLINE) {
+ m->cmdline = d->str;
+ m->cmdline_length = l;
+ } else if (d->type == KDBUS_MSG_SRC_CGROUP)
+ m->cgroup = d->str;
+ else if (d->type == KDBUS_MSG_SRC_AUDIT)
+ m->audit = &d->audit;
+ else if (d->type == KDBUS_MSG_SRC_CAPS) {
+ m->capability = d->data;
+ m->capability_size = l;
+ } else
+ log_debug("Got unknown field from kernel %llu", d->type);
+ }
+
+ r = bus_message_parse_fields(m);
+ if (r < 0) {
+ sd_bus_message_unref(m);
+ return r;
+ }
+
+ if (k->src_id == KDBUS_SRC_ID_KERNEL)
+ m->sender = "org.freedesktop.DBus";
+ else {
+ snprintf(m->sender_buffer, sizeof(m->sender_buffer), ":1.%llu", (unsigned long long) k->src_id);
+ m->sender = m->sender_buffer;
+ }
+
+ if (!m->destination) {
+ if (destination)
+ m->destination = destination;
+ else if (k->dst_id != KDBUS_DST_ID_WELL_KNOWN_NAME &&
+ k->dst_id != KDBUS_DST_ID_BROADCAST) {
+ snprintf(m->destination_buffer, sizeof(m->destination_buffer), ":1.%llu", (unsigned long long) k->dst_id);
+ m->destination = m->destination_buffer;
+ }
+ }
+
+ /* We take possession of the kmsg struct now */
+ m->kdbus = k;
+ m->free_kdbus = true;
+ m->free_fds = true;
+
+ fds = NULL;
+
+ *ret = m;
+ return 1;
+}
+
+int bus_kernel_read_message(sd_bus *bus, sd_bus_message **m) {
+ struct kdbus_msg *k;
+ size_t sz = 1024;
+ int r;
+
+ assert(bus);
+ assert(m);
+
+ for (;;) {
+ void *q;
+
+ q = memalign(8, sz);
+ if (!q)
+ return -errno;
+
+ free(bus->rbuffer);
+ k = bus->rbuffer = q;
+ k->size = sz;
+
+ /* Let's tell valgrind that there's really no need to
+ * initialize this fully. This should be removed again
+ * when valgrind learned the kdbus ioctls natively. */
+#ifdef HAVE_VALGRIND_MEMCHECK_H
+ VALGRIND_MAKE_MEM_DEFINED(k, sz);
+#endif
+
+ r = ioctl(bus->input_fd, KDBUS_CMD_MSG_RECV, bus->rbuffer);
+ if (r >= 0)
+ break;
+
+ if (errno == EAGAIN)
+ return 0;
+
+ if (errno != ENOBUFS)
+ return -errno;
+
+ sz *= 2;
+ }
+
+ r = bus_kernel_make_message(bus, k, m);
+ if (r > 0)
+ bus->rbuffer = NULL;
+ else
+ close_kdbus_msg(k);
+
+ return r < 0 ? r : 1;
+}
+
+int bus_kernel_create(const char *name, char **s) {
+ struct kdbus_cmd_bus_make *make;
+ struct kdbus_item *n, *cg;
+ size_t l;
+ int fd;
+ char *p;
+
+ assert(name);
+ assert(s);
+
+ fd = open("/dev/kdbus/control", O_RDWR|O_NOCTTY|O_CLOEXEC);
+ if (fd < 0)
+ return -errno;
+
+ l = strlen(name);
+ make = alloca0(offsetof(struct kdbus_cmd_bus_make, items) +
+ KDBUS_ITEM_HEADER_SIZE + sizeof(uint64_t) +
+ KDBUS_ITEM_HEADER_SIZE + DECIMAL_STR_MAX(uid_t) + 1 + l + 1);
+
+ cg = make->items;
+ cg->type = KDBUS_MAKE_CGROUP;
+ cg->data64[0] = 1;
+ cg->size = KDBUS_ITEM_HEADER_SIZE + sizeof(uint64_t);
+
+ n = KDBUS_ITEM_NEXT(cg);
+ n->type = KDBUS_MAKE_NAME;
+ sprintf(n->str, "%lu-%s", (unsigned long) getuid(), name);
+ n->size = KDBUS_ITEM_HEADER_SIZE + strlen(n->str) + 1;
+
+ make->size = offsetof(struct kdbus_cmd_bus_make, items) + cg->size + n->size;
+ make->flags = KDBUS_MAKE_ACCESS_WORLD | KDBUS_MAKE_POLICY_OPEN;
+ make->bus_flags = 0;
+ make->bloom_size = BLOOM_SIZE;
+ assert_cc(BLOOM_SIZE % 8 == 0);
+
+ p = strjoin("/dev/kdbus/", n->str, "/bus", NULL);
+ if (!p)
+ return -ENOMEM;
+
+ if (ioctl(fd, KDBUS_CMD_BUS_MAKE, make) < 0) {
+ close_nointr_nofail(fd);
+ free(p);
+ return -errno;
+ }
+
+ if (s)
+ *s = p;
+
+ return fd;
+}
diff --git a/src/libsystemd-bus/bus-kernel.h b/src/libsystemd-bus/bus-kernel.h
new file mode 100644
index 0000000000..ac746afe03
--- /dev/null
+++ b/src/libsystemd-bus/bus-kernel.h
@@ -0,0 +1,32 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "sd-bus.h"
+
+int bus_kernel_connect(sd_bus *b);
+int bus_kernel_take_fd(sd_bus *b);
+
+int bus_kernel_write_message(sd_bus *bus, sd_bus_message *m);
+int bus_kernel_read_message(sd_bus *bus, sd_bus_message **m);
+
+int bus_kernel_create(const char *name, char **s);
diff --git a/src/libsystemd-bus/bus-match.c b/src/libsystemd-bus/bus-match.c
new file mode 100644
index 0000000000..501a38df70
--- /dev/null
+++ b/src/libsystemd-bus/bus-match.c
@@ -0,0 +1,994 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "bus-internal.h"
+#include "bus-message.h"
+#include "bus-match.h"
+
+/* Example:
+ *
+ * A: type=signal,sender=foo,interface=bar
+ * B: type=signal,sender=quux,interface=fips
+ * C: type=signal,sender=quux,interface=waldo
+ * D: type=signal,member=test
+ * E: sender=miau
+ * F: type=signal
+ * G: type=signal
+ *
+ * results in this tree:
+ *
+ * BUS_MATCH_ROOT
+ * + BUS_MATCH_MESSAGE_TYPE
+ * | ` BUS_MATCH_VALUE: value == signal
+ * | + DBUS_MATCH_SENDER
+ * | | + BUS_MATCH_VALUE: value == foo
+ * | | | ` DBUS_MATCH_INTERFACE
+ * | | | ` BUS_MATCH_VALUE: value == bar
+ * | | | ` BUS_MATCH_LEAF: A
+ * | | ` BUS_MATCH_VALUE: value == quux
+ * | | ` DBUS_MATCH_INTERFACE
+ * | | | BUS_MATCH_VALUE: value == fips
+ * | | | ` BUS_MATCH_LEAF: B
+ * | | ` BUS_MATCH_VALUE: value == waldo
+ * | | ` BUS_MATCH_LEAF: C
+ * | + DBUS_MATCH_MEMBER
+ * | | ` BUS_MATCH_VALUE: value == test
+ * | | ` BUS_MATCH_LEAF: D
+ * | + BUS_MATCH_LEAF: F
+ * | ` BUS_MATCH_LEAF: G
+ * ` BUS_MATCH_SENDER
+ * ` BUS_MATCH_VALUE: value == miau
+ * ` BUS_MATCH_LEAF: E
+ */
+
+static inline bool BUS_MATCH_IS_COMPARE(enum bus_match_node_type t) {
+ return t >= BUS_MATCH_MESSAGE_TYPE && t <= BUS_MATCH_ARG_NAMESPACE_LAST;
+}
+
+static inline bool BUS_MATCH_CAN_HASH(enum bus_match_node_type t) {
+ return (t >= BUS_MATCH_MESSAGE_TYPE && t <= BUS_MATCH_PATH) ||
+ (t >= BUS_MATCH_ARG && t <= BUS_MATCH_ARG_LAST);
+}
+
+static void bus_match_node_free(struct bus_match_node *node) {
+ assert(node);
+ assert(node->parent);
+ assert(!node->child);
+ assert(node->type != BUS_MATCH_ROOT);
+ assert(node->type < _BUS_MATCH_NODE_TYPE_MAX);
+
+ if (node->parent->child) {
+ /* We are apparently linked into the parent's child
+ * list. Let's remove us from there. */
+ if (node->prev) {
+ assert(node->prev->next == node);
+ node->prev->next = node->next;
+ } else {
+ assert(node->parent->child == node);
+ node->parent->child = node->next;
+ }
+
+ if (node->next)
+ node->next->prev = node->prev;
+ }
+
+ if (node->type == BUS_MATCH_VALUE) {
+ /* We might be in the parent's hash table, so clean
+ * this up */
+
+ if (node->parent->type == BUS_MATCH_MESSAGE_TYPE)
+ hashmap_remove(node->parent->compare.children, UINT_TO_PTR(node->value.u8));
+ else if (BUS_MATCH_CAN_HASH(node->parent->type) && node->value.str)
+ hashmap_remove(node->parent->compare.children, node->value.str);
+
+ free(node->value.str);
+ }
+
+ if (BUS_MATCH_IS_COMPARE(node->type)) {
+ assert(hashmap_isempty(node->compare.children));
+ hashmap_free(node->compare.children);
+ }
+
+ free(node);
+}
+
+static bool bus_match_node_maybe_free(struct bus_match_node *node) {
+ assert(node);
+
+ if (node->child)
+ return false;
+
+ if (BUS_MATCH_IS_COMPARE(node->type) && !hashmap_isempty(node->compare.children))
+ return true;
+
+ bus_match_node_free(node);
+ return true;
+}
+
+static bool value_node_test(
+ struct bus_match_node *node,
+ enum bus_match_node_type parent_type,
+ uint8_t value_u8,
+ const char *value_str) {
+
+ assert(node);
+ assert(node->type == BUS_MATCH_VALUE);
+
+ /* Tests parameters against this value node, doing prefix
+ * magic and stuff. */
+
+ switch (parent_type) {
+
+ case BUS_MATCH_MESSAGE_TYPE:
+ return node->value.u8 == value_u8;
+
+ case BUS_MATCH_SENDER:
+ case BUS_MATCH_DESTINATION:
+ case BUS_MATCH_INTERFACE:
+ case BUS_MATCH_MEMBER:
+ case BUS_MATCH_PATH:
+ case BUS_MATCH_ARG ... BUS_MATCH_ARG_LAST:
+ return streq_ptr(node->value.str, value_str);
+
+ case BUS_MATCH_ARG_NAMESPACE ... BUS_MATCH_ARG_NAMESPACE_LAST:
+ return namespace_simple_pattern(node->value.str, value_str);
+
+ case BUS_MATCH_PATH_NAMESPACE:
+ return path_simple_pattern(node->value.str, value_str);
+
+ case BUS_MATCH_ARG_PATH ... BUS_MATCH_ARG_PATH_LAST:
+ return path_complex_pattern(node->value.str, value_str);
+
+ default:
+ assert_not_reached("Invalid node type");
+ }
+}
+
+static bool value_node_same(
+ struct bus_match_node *node,
+ enum bus_match_node_type parent_type,
+ uint8_t value_u8,
+ const char *value_str) {
+
+ /* Tests parameters against this value node, not doing prefix
+ * magic and stuff, i.e. this one actually compares the match
+ * itself.*/
+
+ assert(node);
+ assert(node->type == BUS_MATCH_VALUE);
+
+ switch (parent_type) {
+
+ case BUS_MATCH_MESSAGE_TYPE:
+ return node->value.u8 == value_u8;
+
+ case BUS_MATCH_SENDER:
+ case BUS_MATCH_DESTINATION:
+ case BUS_MATCH_INTERFACE:
+ case BUS_MATCH_MEMBER:
+ case BUS_MATCH_PATH:
+ case BUS_MATCH_ARG ... BUS_MATCH_ARG_LAST:
+ case BUS_MATCH_ARG_NAMESPACE ... BUS_MATCH_ARG_NAMESPACE_LAST:
+ case BUS_MATCH_PATH_NAMESPACE:
+ case BUS_MATCH_ARG_PATH ... BUS_MATCH_ARG_PATH_LAST:
+ return streq(node->value.str, value_str);
+
+ default:
+ assert_not_reached("Invalid node type");
+ }
+}
+
+int bus_match_run(
+ sd_bus *bus,
+ struct bus_match_node *node,
+ int ret,
+ sd_bus_message *m) {
+
+
+ const char *test_str = NULL;
+ uint8_t test_u8 = 0;
+ int r;
+
+ assert(m);
+
+ if (!node)
+ return 0;
+
+ if (bus && bus->match_callbacks_modified)
+ return 0;
+
+ /* Not these special semantics: when traversing the tree we
+ * usually let bus_match_run() when called for a node
+ * recursively invoke bus_match_run(). There's are two
+ * exceptions here though, which are BUS_NODE_ROOT (which
+ * cannot have a sibling), and BUS_NODE_VALUE (whose siblings
+ * are invoked anyway by its parent. */
+
+ switch (node->type) {
+
+ case BUS_MATCH_ROOT:
+
+ /* Run all children. Since we cannot have any siblings
+ * we won't call any. The children of the root node
+ * are compares or leaves, they will automatically
+ * call their siblings. */
+ return bus_match_run(bus, node->child, ret, m);
+
+ case BUS_MATCH_VALUE:
+
+ /* Run all children. We don't execute any siblings, we
+ * assume our caller does that. The children of value
+ * nodes are compares or leaves, they will
+ * automatically call their siblings */
+
+ assert(node->child);
+ return bus_match_run(bus, node->child, ret, m);
+
+ case BUS_MATCH_LEAF:
+
+ if (bus) {
+ if (node->leaf.last_iteration == bus->iteration_counter)
+ return 0;
+
+ node->leaf.last_iteration = bus->iteration_counter;
+ }
+
+ r = sd_bus_message_rewind(m, true);
+ if (r < 0)
+ return r;
+
+ /* Run the callback. And then invoke siblings. */
+ assert(node->leaf.callback);
+ r = node->leaf.callback(bus, ret, m, node->leaf.userdata);
+ if (r != 0)
+ return r;
+
+ return bus_match_run(bus, node->next, ret, m);
+
+ case BUS_MATCH_MESSAGE_TYPE:
+ test_u8 = m->header->type;
+ break;
+
+ case BUS_MATCH_SENDER:
+ test_str = m->sender;
+ /* FIXME: resolve test_str from a well-known to a unique name first */
+ break;
+
+ case BUS_MATCH_DESTINATION:
+ test_str = m->destination;
+ break;
+
+ case BUS_MATCH_INTERFACE:
+ test_str = m->interface;
+ break;
+
+ case BUS_MATCH_MEMBER:
+ test_str = m->member;
+ break;
+
+ case BUS_MATCH_PATH:
+ case BUS_MATCH_PATH_NAMESPACE:
+ test_str = m->path;
+ break;
+
+ case BUS_MATCH_ARG ... BUS_MATCH_ARG_LAST:
+ test_str = bus_message_get_arg(m, node->type - BUS_MATCH_ARG);
+ break;
+
+ case BUS_MATCH_ARG_PATH ... BUS_MATCH_ARG_PATH_LAST:
+ test_str = bus_message_get_arg(m, node->type - BUS_MATCH_ARG_PATH);
+ break;
+
+ case BUS_MATCH_ARG_NAMESPACE ... BUS_MATCH_ARG_NAMESPACE_LAST:
+ test_str = bus_message_get_arg(m, node->type - BUS_MATCH_ARG_NAMESPACE);
+ break;
+
+ default:
+ assert_not_reached("Unknown match type.");
+ }
+
+ if (BUS_MATCH_CAN_HASH(node->type)) {
+ struct bus_match_node *found;
+
+ /* Lookup via hash table, nice! So let's jump directly. */
+
+ if (test_str)
+ found = hashmap_get(node->compare.children, test_str);
+ else if (node->type == BUS_MATCH_MESSAGE_TYPE)
+ found = hashmap_get(node->compare.children, UINT_TO_PTR(test_u8));
+ else
+ found = NULL;
+
+ if (found) {
+ r = bus_match_run(bus, found, ret, m);
+ if (r != 0)
+ return r;
+ }
+ } else {
+ struct bus_match_node *c;
+
+ /* No hash table, so let's iterate manually... */
+
+ for (c = node->child; c; c = c->next) {
+ if (!value_node_test(c, node->type, test_u8, test_str))
+ continue;
+
+ r = bus_match_run(bus, c, ret, m);
+ if (r != 0)
+ return r;
+ }
+ }
+
+ if (bus && bus->match_callbacks_modified)
+ return 0;
+
+ /* And now, let's invoke our siblings */
+ return bus_match_run(bus, node->next, ret, m);
+}
+
+static int bus_match_add_compare_value(
+ struct bus_match_node *where,
+ enum bus_match_node_type t,
+ uint8_t value_u8,
+ const char *value_str,
+ struct bus_match_node **ret) {
+
+ struct bus_match_node *c = NULL, *n = NULL;
+ int r;
+
+ assert(where);
+ assert(where->type == BUS_MATCH_ROOT || where->type == BUS_MATCH_VALUE);
+ assert(BUS_MATCH_IS_COMPARE(t));
+ assert(ret);
+
+ for (c = where->child; c && c->type != t; c = c->next)
+ ;
+
+ if (c) {
+ /* Comparison node already exists? Then let's see if
+ * the value node exists too. */
+
+ if (t == BUS_MATCH_MESSAGE_TYPE)
+ n = hashmap_get(c->compare.children, UINT_TO_PTR(value_u8));
+ else if (BUS_MATCH_CAN_HASH(t))
+ n = hashmap_get(c->compare.children, value_str);
+ else {
+ for (n = c->child; n && !value_node_same(n, t, value_u8, value_str); n = n->next)
+ ;
+ }
+
+ if (n) {
+ *ret = n;
+ return 0;
+ }
+ } else {
+ /* Comparison node, doesn't exist yet? Then let's
+ * create it. */
+
+ c = new0(struct bus_match_node, 1);
+ if (!c) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ c->type = t;
+ c->parent = where;
+ c->next = where->child;
+ if (c->next)
+ c->next->prev = c;
+ where->child = c;
+
+ if (t == BUS_MATCH_MESSAGE_TYPE) {
+ c->compare.children = hashmap_new(trivial_hash_func, trivial_compare_func);
+ if (!c->compare.children) {
+ r = -ENOMEM;
+ goto fail;
+ }
+ } else if (BUS_MATCH_CAN_HASH(t)) {
+ c->compare.children = hashmap_new(string_hash_func, string_compare_func);
+ if (!c->compare.children) {
+ r = -ENOMEM;
+ goto fail;
+ }
+ }
+ }
+
+ n = new0(struct bus_match_node, 1);
+ if (!n) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ n->type = BUS_MATCH_VALUE;
+ n->value.u8 = value_u8;
+ if (value_str) {
+ n->value.str = strdup(value_str);
+ if (!n->value.str) {
+ r = -ENOMEM;
+ goto fail;
+ }
+ }
+
+ n->parent = c;
+ if (c->compare.children) {
+
+ if (t == BUS_MATCH_MESSAGE_TYPE)
+ r = hashmap_put(c->compare.children, UINT_TO_PTR(value_u8), n);
+ else
+ r = hashmap_put(c->compare.children, n->value.str, n);
+
+ if (r < 0)
+ goto fail;
+ } else {
+ n->next = c->child;
+ if (n->next)
+ n->next->prev = n;
+ c->child = n;
+ }
+
+ *ret = n;
+ return 1;
+
+fail:
+ if (c)
+ bus_match_node_maybe_free(c);
+
+ if (n) {
+ free(n->value.str);
+ free(n);
+ }
+
+ return r;
+}
+
+static int bus_match_find_compare_value(
+ struct bus_match_node *where,
+ enum bus_match_node_type t,
+ uint8_t value_u8,
+ const char *value_str,
+ struct bus_match_node **ret) {
+
+ struct bus_match_node *c, *n;
+
+ assert(where);
+ assert(where->type == BUS_MATCH_ROOT || where->type == BUS_MATCH_VALUE);
+ assert(BUS_MATCH_IS_COMPARE(t));
+ assert(ret);
+
+ for (c = where->child; c && c->type != t; c = c->next)
+ ;
+
+ if (!c)
+ return 0;
+
+ if (t == BUS_MATCH_MESSAGE_TYPE)
+ n = hashmap_get(c->compare.children, UINT_TO_PTR(value_u8));
+ else if (BUS_MATCH_CAN_HASH(t))
+ n = hashmap_get(c->compare.children, value_str);
+ else {
+ for (n = c->child; !value_node_same(n, t, value_u8, value_str); n = n->next)
+ ;
+ }
+
+ if (n) {
+ *ret = n;
+ return 1;
+ }
+
+ return 0;
+}
+
+static int bus_match_add_leaf(
+ struct bus_match_node *where,
+ sd_bus_message_handler_t callback,
+ void *userdata,
+ struct bus_match_node **ret) {
+
+ struct bus_match_node *n;
+
+ assert(where);
+ assert(where->type == BUS_MATCH_ROOT || where->type == BUS_MATCH_VALUE);
+ assert(ret);
+
+ n = new0(struct bus_match_node, 1);
+ if (!n)
+ return -ENOMEM;
+
+ n->type = BUS_MATCH_LEAF;
+ n->parent = where;
+ n->next = where->child;
+ if (n->next)
+ n->next->prev = n;
+ n->leaf.callback = callback;
+ n->leaf.userdata = userdata;
+
+ where->child = n;
+
+ *ret = n;
+ return 1;
+}
+
+static int bus_match_find_leaf(
+ struct bus_match_node *where,
+ sd_bus_message_handler_t callback,
+ void *userdata,
+ struct bus_match_node **ret) {
+
+ struct bus_match_node *c;
+
+ assert(where);
+ assert(where->type == BUS_MATCH_ROOT || where->type == BUS_MATCH_VALUE);
+ assert(ret);
+
+ for (c = where->child; c; c = c->next) {
+ if (c->type == BUS_MATCH_LEAF &&
+ c->leaf.callback == callback &&
+ c->leaf.userdata == userdata) {
+ *ret = c;
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+enum bus_match_node_type bus_match_node_type_from_string(const char *k, size_t n) {
+ assert(k);
+
+ if (n == 4 && memcmp(k, "type", 4) == 0)
+ return BUS_MATCH_MESSAGE_TYPE;
+ if (n == 6 && memcmp(k, "sender", 6) == 0)
+ return BUS_MATCH_SENDER;
+ if (n == 11 && memcmp(k, "destination", 11) == 0)
+ return BUS_MATCH_DESTINATION;
+ if (n == 9 && memcmp(k, "interface", 9) == 0)
+ return BUS_MATCH_INTERFACE;
+ if (n == 6 && memcmp(k, "member", 6) == 0)
+ return BUS_MATCH_MEMBER;
+ if (n == 4 && memcmp(k, "path", 4) == 0)
+ return BUS_MATCH_PATH;
+ if (n == 14 && memcmp(k, "path_namespace", 14) == 0)
+ return BUS_MATCH_PATH_NAMESPACE;
+
+ if (n == 4 && memcmp(k, "arg", 3) == 0) {
+ int j;
+
+ j = undecchar(k[3]);
+ if (j < 0)
+ return -EINVAL;
+
+ return BUS_MATCH_ARG + j;
+ }
+
+ if (n == 5 && memcmp(k, "arg", 3) == 0) {
+ int a, b;
+ enum bus_match_node_type t;
+
+ a = undecchar(k[3]);
+ b = undecchar(k[4]);
+ if (a <= 0 || b < 0)
+ return -EINVAL;
+
+ t = BUS_MATCH_ARG + a * 10 + b;
+ if (t > BUS_MATCH_ARG_LAST)
+ return -EINVAL;
+
+ return t;
+ }
+
+ if (n == 8 && memcmp(k, "arg", 3) == 0 && memcmp(k + 4, "path", 4) == 0) {
+ int j;
+
+ j = undecchar(k[3]);
+ if (j < 0)
+ return -EINVAL;
+
+ return BUS_MATCH_ARG_PATH + j;
+ }
+
+ if (n == 9 && memcmp(k, "arg", 3) == 0 && memcmp(k + 5, "path", 4) == 0) {
+ enum bus_match_node_type t;
+ int a, b;
+
+ a = undecchar(k[3]);
+ b = undecchar(k[4]);
+ if (a <= 0 || b < 0)
+ return -EINVAL;
+
+ t = BUS_MATCH_ARG_PATH + a * 10 + b;
+ if (t > BUS_MATCH_ARG_PATH_LAST)
+ return -EINVAL;
+
+ return t;
+ }
+
+ if (n == 13 && memcmp(k, "arg", 3) == 0 && memcmp(k + 4, "namespace", 9) == 0) {
+ int j;
+
+ j = undecchar(k[3]);
+ if (j < 0)
+ return -EINVAL;
+
+ return BUS_MATCH_ARG_NAMESPACE + j;
+ }
+
+ if (n == 14 && memcmp(k, "arg", 3) == 0 && memcmp(k + 5, "namespace", 9) == 0) {
+ enum bus_match_node_type t;
+ int a, b;
+
+ a = undecchar(k[3]);
+ b = undecchar(k[4]);
+ if (a <= 0 || b < 0)
+ return -EINVAL;
+
+ t = BUS_MATCH_ARG_NAMESPACE + a * 10 + b;
+ if (t > BUS_MATCH_ARG_NAMESPACE_LAST)
+ return -EINVAL;
+
+ return t;
+ }
+
+ return -EINVAL;
+}
+
+struct match_component {
+ enum bus_match_node_type type;
+ uint8_t value_u8;
+ char *value_str;
+};
+
+static int match_component_compare(const void *a, const void *b) {
+ const struct match_component *x = a, *y = b;
+
+ if (x->type < y->type)
+ return -1;
+ if (x->type > y->type)
+ return 1;
+
+ return 0;
+}
+
+static void free_components(struct match_component *components, unsigned n_components) {
+ unsigned i;
+
+ for (i = 0; i < n_components; i++)
+ free(components[i].value_str);
+
+ free(components);
+}
+
+static int parse_match(
+ const char *match,
+ struct match_component **_components,
+ unsigned *_n_components) {
+
+ const char *p = match;
+ struct match_component *components = NULL;
+ size_t components_allocated = 0;
+ unsigned n_components = 0, i;
+ _cleanup_free_ char *value = NULL;
+ int r;
+
+ assert(match);
+ assert(_components);
+ assert(_n_components);
+
+ while (*p != 0) {
+ const char *eq, *q;
+ enum bus_match_node_type t;
+ unsigned j = 0;
+ size_t value_allocated = 0;
+ bool escaped = false;
+ uint8_t u;
+
+ eq = strchr(p, '=');
+ if (!eq)
+ return -EINVAL;
+
+ if (eq[1] != '\'')
+ return -EINVAL;
+
+ t = bus_match_node_type_from_string(p, eq - p);
+ if (t < 0)
+ return -EINVAL;
+
+ for (q = eq + 2;; q++) {
+
+ if (*q == 0) {
+ r = -EINVAL;
+ goto fail;
+ }
+
+ if (!escaped) {
+ if (*q == '\\') {
+ escaped = true;
+ continue;
+ }
+ if (*q == '\'') {
+ if (value)
+ value[j] = 0;
+ break;
+ }
+ }
+
+ if (!GREEDY_REALLOC(value, value_allocated, j + 2)) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ value[j++] = *q;
+ escaped = false;
+ }
+
+ if (t == BUS_MATCH_MESSAGE_TYPE) {
+ r = bus_message_type_from_string(value, &u);
+ if (r < 0)
+ goto fail;
+
+ free(value);
+ value = NULL;
+ } else
+ u = 0;
+
+ if (!GREEDY_REALLOC(components, components_allocated, n_components + 1)) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ components[n_components].type = t;
+ components[n_components].value_str = value;
+ components[n_components].value_u8 = u;
+ n_components++;
+
+ value = NULL;
+
+ if (q[1] == 0)
+ break;
+
+ if (q[1] != ',') {
+ r = -EINVAL;
+ goto fail;
+ }
+
+ p = q + 2;
+ }
+
+ /* Order the whole thing, so that we always generate the same tree */
+ qsort(components, n_components, sizeof(struct match_component), match_component_compare);
+
+ /* Check for duplicates */
+ for (i = 0; i+1 < n_components; i++)
+ if (components[i].type == components[i+1].type) {
+ r = -EINVAL;
+ goto fail;
+ }
+
+ *_components = components;
+ *_n_components = n_components;
+
+ return 0;
+
+fail:
+ free_components(components, n_components);
+ return r;
+}
+
+int bus_match_add(
+ struct bus_match_node *root,
+ const char *match,
+ sd_bus_message_handler_t callback,
+ void *userdata,
+ struct bus_match_node **ret) {
+
+ struct match_component *components = NULL;
+ unsigned n_components = 0, i;
+ struct bus_match_node *n;
+ int r;
+
+ assert(root);
+ assert(match);
+ assert(callback);
+
+ r = parse_match(match, &components, &n_components);
+ if (r < 0)
+ return r;
+
+ n = root;
+ for (i = 0; i < n_components; i++) {
+ r = bus_match_add_compare_value(
+ n, components[i].type,
+ components[i].value_u8, components[i].value_str, &n);
+ if (r < 0)
+ goto finish;
+ }
+
+ r = bus_match_add_leaf(n, callback, userdata, &n);
+ if (r < 0)
+ goto finish;
+
+ if (ret)
+ *ret = n;
+
+finish:
+ free_components(components, n_components);
+ return r;
+}
+
+int bus_match_remove(
+ struct bus_match_node *root,
+ const char *match,
+ sd_bus_message_handler_t callback,
+ void *userdata) {
+
+ struct match_component *components = NULL;
+ unsigned n_components = 0, i;
+ struct bus_match_node *n, **gc;
+ int r;
+
+ assert(root);
+ assert(match);
+
+ r = parse_match(match, &components, &n_components);
+ if (r < 0)
+ return r;
+
+ gc = newa(struct bus_match_node*, n_components);
+
+ n = root;
+ for (i = 0; i < n_components; i++) {
+ r = bus_match_find_compare_value(
+ n, components[i].type,
+ components[i].value_u8, components[i].value_str,
+ &n);
+ if (r <= 0)
+ goto finish;
+
+ gc[i] = n;
+ }
+
+ r = bus_match_find_leaf(n, callback, userdata, &n);
+ if (r <= 0)
+ goto finish;
+
+ /* Free the leaf */
+ bus_match_node_free(n);
+
+ /* Prune the tree above */
+ for (i = n_components; i > 0; i --) {
+ struct bus_match_node *p = gc[i-1]->parent;
+
+ if (!bus_match_node_maybe_free(gc[i-1]))
+ break;
+
+ if (!bus_match_node_maybe_free(p))
+ break;
+ }
+
+finish:
+ free_components(components, n_components);
+ return r;
+}
+
+void bus_match_free(struct bus_match_node *node) {
+ struct bus_match_node *c;
+
+ if (!node)
+ return;
+
+ if (BUS_MATCH_CAN_HASH(node->type)) {
+ Iterator i;
+
+ HASHMAP_FOREACH(c, node->compare.children, i)
+ bus_match_free(c);
+
+ assert(hashmap_isempty(node->compare.children));
+ }
+
+ while ((c = node->child))
+ bus_match_free(c);
+
+ if (node->type != BUS_MATCH_ROOT)
+ bus_match_node_free(node);
+}
+
+const char* bus_match_node_type_to_string(enum bus_match_node_type t, char buf[], size_t l) {
+ switch (t) {
+
+ case BUS_MATCH_ROOT:
+ return "root";
+
+ case BUS_MATCH_VALUE:
+ return "value";
+
+ case BUS_MATCH_LEAF:
+ return "leaf";
+
+ case BUS_MATCH_MESSAGE_TYPE:
+ return "type";
+
+ case BUS_MATCH_SENDER:
+ return "sender";
+
+ case BUS_MATCH_DESTINATION:
+ return "destination";
+
+ case BUS_MATCH_INTERFACE:
+ return "interface";
+
+ case BUS_MATCH_MEMBER:
+ return "member";
+
+ case BUS_MATCH_PATH:
+ return "path";
+
+ case BUS_MATCH_PATH_NAMESPACE:
+ return "path_namespace";
+
+ case BUS_MATCH_ARG ... BUS_MATCH_ARG_LAST:
+ snprintf(buf, l, "arg%i", t - BUS_MATCH_ARG);
+ return buf;
+
+ case BUS_MATCH_ARG_PATH ... BUS_MATCH_ARG_PATH_LAST:
+ snprintf(buf, l, "arg%ipath", t - BUS_MATCH_ARG_PATH);
+ return buf;
+
+ case BUS_MATCH_ARG_NAMESPACE ... BUS_MATCH_ARG_NAMESPACE_LAST:
+ snprintf(buf, l, "arg%inamespace", t - BUS_MATCH_ARG_NAMESPACE);
+ return buf;
+
+ default:
+ return NULL;
+ }
+}
+
+void bus_match_dump(struct bus_match_node *node, unsigned level) {
+ struct bus_match_node *c;
+ _cleanup_free_ char *pfx = NULL;
+ char buf[32];
+
+ if (!node)
+ return;
+
+ pfx = strrep(" ", level);
+ printf("%s[%s]", strempty(pfx), bus_match_node_type_to_string(node->type, buf, sizeof(buf)));
+
+ if (node->type == BUS_MATCH_VALUE) {
+ if (node->parent->type == BUS_MATCH_MESSAGE_TYPE)
+ printf(" <%u>\n", node->value.u8);
+ else
+ printf(" <%s>\n", node->value.str);
+ } else if (node->type == BUS_MATCH_ROOT)
+ puts(" root");
+ else if (node->type == BUS_MATCH_LEAF)
+ printf(" %p/%p\n", node->leaf.callback, node->leaf.userdata);
+ else
+ putchar('\n');
+
+ if (BUS_MATCH_CAN_HASH(node->type)) {
+ Iterator i;
+
+ HASHMAP_FOREACH(c, node->compare.children, i)
+ bus_match_dump(c, level + 1);
+ }
+
+ for (c = node->child; c; c = c->next)
+ bus_match_dump(c, level + 1);
+}
diff --git a/src/libsystemd-bus/bus-match.h b/src/libsystemd-bus/bus-match.h
new file mode 100644
index 0000000000..075f1a9e3a
--- /dev/null
+++ b/src/libsystemd-bus/bus-match.h
@@ -0,0 +1,82 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "hashmap.h"
+
+#include "sd-bus.h"
+
+enum bus_match_node_type {
+ BUS_MATCH_ROOT,
+ BUS_MATCH_VALUE,
+ BUS_MATCH_LEAF,
+
+ /* The following are all different kinds of compare nodes */
+ BUS_MATCH_MESSAGE_TYPE,
+ BUS_MATCH_SENDER,
+ BUS_MATCH_DESTINATION,
+ BUS_MATCH_INTERFACE,
+ BUS_MATCH_MEMBER,
+ BUS_MATCH_PATH,
+ BUS_MATCH_PATH_NAMESPACE,
+ BUS_MATCH_ARG,
+ BUS_MATCH_ARG_LAST = BUS_MATCH_ARG + 63,
+ BUS_MATCH_ARG_PATH,
+ BUS_MATCH_ARG_PATH_LAST = BUS_MATCH_ARG_PATH + 63,
+ BUS_MATCH_ARG_NAMESPACE,
+ BUS_MATCH_ARG_NAMESPACE_LAST = BUS_MATCH_ARG_NAMESPACE + 63,
+ _BUS_MATCH_NODE_TYPE_MAX,
+ _BUS_MATCH_NODE_TYPE_INVALID = -1
+};
+
+struct bus_match_node {
+ enum bus_match_node_type type;
+ struct bus_match_node *parent, *next, *prev, *child;
+
+ union {
+ struct {
+ char *str;
+ uint8_t u8;
+ } value;
+ struct {
+ sd_bus_message_handler_t callback;
+ void *userdata;
+ unsigned last_iteration;
+ } leaf;
+ struct {
+ /* If this is set, then the child is NULL */
+ Hashmap *children;
+ } compare;
+ };
+};
+
+int bus_match_run(sd_bus *bus, struct bus_match_node *root, int ret, sd_bus_message *m);
+
+int bus_match_add(struct bus_match_node *root, const char *match, sd_bus_message_handler_t callback, void *userdata, struct bus_match_node **ret);
+int bus_match_remove(struct bus_match_node *root, const char *match, sd_bus_message_handler_t callback, void *userdata);
+
+void bus_match_free(struct bus_match_node *node);
+
+void bus_match_dump(struct bus_match_node *node, unsigned level);
+
+const char* bus_match_node_type_to_string(enum bus_match_node_type t, char buf[], size_t l);
+enum bus_match_node_type bus_match_node_type_from_string(const char *k, size_t n);
diff --git a/src/libsystemd-bus/bus-message.c b/src/libsystemd-bus/bus-message.c
new file mode 100644
index 0000000000..835a9f9a44
--- /dev/null
+++ b/src/libsystemd-bus/bus-message.c
@@ -0,0 +1,3494 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <errno.h>
+#include <fcntl.h>
+
+#include "util.h"
+#include "utf8.h"
+#include "strv.h"
+#include "time-util.h"
+#include "cgroup-util.h"
+
+#include "sd-bus.h"
+#include "bus-message.h"
+#include "bus-internal.h"
+#include "bus-type.h"
+#include "bus-signature.h"
+
+static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
+
+static void reset_containers(sd_bus_message *m) {
+ unsigned i;
+
+ assert(m);
+
+ for (i = 0; i < m->n_containers; i++)
+ free(m->containers[i].signature);
+
+ free(m->containers);
+ m->containers = NULL;
+
+ m->n_containers = 0;
+ m->root_container.index = 0;
+}
+
+static void message_free(sd_bus_message *m) {
+ assert(m);
+
+ if (m->free_header)
+ free(m->header);
+
+ if (m->free_fields)
+ free(m->fields);
+
+ if (m->free_body)
+ free(m->body);
+
+ if (m->free_kdbus)
+ free(m->kdbus);
+
+ if (m->free_fds) {
+ close_many(m->fds, m->n_fds);
+ free(m->fds);
+ }
+
+ free(m->cmdline_array);
+
+ reset_containers(m);
+ free(m->root_container.signature);
+
+ free(m->peeked_signature);
+
+ free(m->unit);
+ free(m->user_unit);
+ free(m->session);
+ free(m);
+}
+
+static void* buffer_extend(void **p, uint32_t *sz, size_t align, size_t extend) {
+ size_t start, n;
+ void *k;
+
+ assert(p);
+ assert(sz);
+ assert(align > 0);
+
+ start = ALIGN_TO((size_t) *sz, align);
+ n = start + extend;
+
+ if (n == *sz)
+ return (uint8_t*) *p + start;
+
+ if (n > (size_t) ((uint32_t) -1))
+ return NULL;
+
+ k = realloc(*p, n);
+ if (!k)
+ return NULL;
+
+ /* Zero out padding */
+ if (start > *sz)
+ memset((uint8_t*) k + *sz, 0, start - *sz);
+
+ *p = k;
+ *sz = n;
+
+ return (uint8_t*) k + start;
+}
+
+static void *message_extend_fields(sd_bus_message *m, size_t align, size_t sz) {
+ void *p, *o;
+
+ assert(m);
+
+ o = m->fields;
+ p = buffer_extend(&m->fields, &m->header->fields_size, align, sz);
+ if (!p)
+ return NULL;
+
+ if (o != m->fields) {
+ /* Adjust quick access pointers */
+
+ if (m->path)
+ m->path = (const char*) m->fields + (m->path - (const char*) o);
+ if (m->interface)
+ m->interface = (const char*) m->fields + (m->interface - (const char*) o);
+ if (m->member)
+ m->member = (const char*) m->fields + (m->member - (const char*) o);
+ if (m->destination)
+ m->destination = (const char*) m->fields + (m->destination - (const char*) o);
+ if (m->sender)
+ m->sender = (const char*) m->fields + (m->sender - (const char*) o);
+ if (m->error.name)
+ m->error.name = (const char*) m->fields + (m->error.name - (const char*) o);
+ }
+
+ m->free_fields = true;
+
+ return p;
+}
+
+static int message_append_field_string(
+ sd_bus_message *m,
+ uint8_t h,
+ char type,
+ const char *s,
+ const char **ret) {
+
+ size_t l;
+ uint8_t *p;
+
+ assert(m);
+
+ l = strlen(s);
+ if (l > (size_t) (uint32_t) -1)
+ return -EINVAL;
+
+ /* field id byte + signature length + signature 's' + NUL + string length + string + NUL */
+ p = message_extend_fields(m, 8, 4 + 4 + l + 1);
+ if (!p)
+ return -ENOMEM;
+
+ p[0] = h;
+ p[1] = 1;
+ p[2] = type;
+ p[3] = 0;
+
+ ((uint32_t*) p)[1] = l;
+ memcpy(p + 8, s, l + 1);
+
+ if (ret)
+ *ret = (const char*) p + 8;
+
+ return 0;
+}
+
+static int message_append_field_signature(
+ sd_bus_message *m,
+ uint8_t h,
+ const char *s,
+ const char **ret) {
+
+ size_t l;
+ uint8_t *p;
+
+ assert(m);
+
+ l = strlen(s);
+ if (l > 255)
+ return -EINVAL;
+
+ /* field id byte + signature length + signature 'g' + NUL + string length + string + NUL */
+ p = message_extend_fields(m, 8, 4 + 1 + l + 1);
+ if (!p)
+ return -ENOMEM;
+
+ p[0] = h;
+ p[1] = 1;
+ p[2] = SD_BUS_TYPE_SIGNATURE;
+ p[3] = 0;
+ p[4] = l;
+ memcpy(p + 5, s, l + 1);
+
+ if (ret)
+ *ret = (const char*) p + 5;
+
+ return 0;
+}
+
+static int message_append_field_uint32(sd_bus_message *m, uint8_t h, uint32_t x) {
+ uint8_t *p;
+
+ assert(m);
+
+ /* field id byte + signature length + signature 'u' + NUL + value */
+ p = message_extend_fields(m, 8, 4 + 4);
+ if (!p)
+ return -ENOMEM;
+
+ p[0] = h;
+ p[1] = 1;
+ p[2] = SD_BUS_TYPE_UINT32;
+ p[3] = 0;
+
+ ((uint32_t*) p)[1] = x;
+
+ return 0;
+}
+
+int bus_message_from_header(
+ void *buffer,
+ size_t length,
+ int *fds,
+ unsigned n_fds,
+ const struct ucred *ucred,
+ const char *label,
+ size_t extra,
+ sd_bus_message **ret) {
+
+ sd_bus_message *m;
+ struct bus_header *h;
+ size_t a, label_sz;
+
+ assert(buffer || length <= 0);
+ assert(fds || n_fds <= 0);
+ assert(ret);
+
+ if (length < sizeof(struct bus_header))
+ return -EBADMSG;
+
+ h = buffer;
+ if (h->version != 1)
+ return -EBADMSG;
+
+ if (h->serial == 0)
+ return -EBADMSG;
+
+ if (h->type == _SD_BUS_MESSAGE_TYPE_INVALID)
+ return -EBADMSG;
+
+ if (h->endian != SD_BUS_LITTLE_ENDIAN &&
+ h->endian != SD_BUS_BIG_ENDIAN)
+ return -EBADMSG;
+
+ a = ALIGN(sizeof(sd_bus_message)) + ALIGN(extra);
+
+ if (label) {
+ label_sz = strlen(label);
+ a += label_sz + 1;
+ }
+
+ m = malloc0(a);
+ if (!m)
+ return -ENOMEM;
+
+ m->n_ref = 1;
+ m->sealed = true;
+ m->header = h;
+ m->fds = fds;
+ m->n_fds = n_fds;
+
+ if (ucred) {
+ m->uid = ucred->uid;
+ m->pid = ucred->pid;
+ m->gid = ucred->gid;
+ m->uid_valid = m->gid_valid = true;
+ }
+
+ if (label) {
+ m->label = (char*) m + ALIGN(sizeof(sd_bus_message)) + ALIGN(extra);
+ memcpy(m->label, label, label_sz + 1);
+ }
+
+ *ret = m;
+ return 0;
+}
+
+int bus_message_from_malloc(
+ void *buffer,
+ size_t length,
+ int *fds,
+ unsigned n_fds,
+ const struct ucred *ucred,
+ const char *label,
+ sd_bus_message **ret) {
+
+ sd_bus_message *m;
+ int r;
+
+ r = bus_message_from_header(buffer, length, fds, n_fds, ucred, label, 0, &m);
+ if (r < 0)
+ return r;
+
+ if (length != BUS_MESSAGE_SIZE(m)) {
+ r = -EBADMSG;
+ goto fail;
+ }
+
+ m->fields = (uint8_t*) buffer + sizeof(struct bus_header);
+ m->body = (uint8_t*) buffer + sizeof(struct bus_header) + ALIGN8(BUS_MESSAGE_FIELDS_SIZE(m));
+
+ m->n_iovec = 1;
+ m->iovec[0].iov_base = buffer;
+ m->iovec[0].iov_len = length;
+
+ r = bus_message_parse_fields(m);
+ if (r < 0)
+ goto fail;
+
+ /* We take possession of the memory and fds now */
+ m->free_header = true;
+ m->free_fds = true;
+
+ *ret = m;
+ return 0;
+
+fail:
+ message_free(m);
+ return r;
+}
+
+static sd_bus_message *message_new(sd_bus *bus, uint8_t type) {
+ sd_bus_message *m;
+
+ m = malloc0(ALIGN(sizeof(sd_bus_message)) + sizeof(struct bus_header));
+ if (!m)
+ return NULL;
+
+ m->n_ref = 1;
+ m->header = (struct bus_header*) ((uint8_t*) m + ALIGN(sizeof(struct sd_bus_message)));
+ m->header->endian = SD_BUS_NATIVE_ENDIAN;
+ m->header->type = type;
+ m->header->version = bus ? bus->message_version : 1;
+ m->allow_fds = !bus || bus->can_fds || (bus->state != BUS_HELLO && bus->state != BUS_RUNNING);
+
+ return m;
+}
+
+int sd_bus_message_new_signal(
+ sd_bus *bus,
+ const char *path,
+ const char *interface,
+ const char *member,
+ sd_bus_message **m) {
+
+ sd_bus_message *t;
+ int r;
+
+ if (!path)
+ return -EINVAL;
+ if (!interface)
+ return -EINVAL;
+ if (!member)
+ return -EINVAL;
+ if (!m)
+ return -EINVAL;
+ if (bus && bus->state == BUS_UNSET)
+ return -ENOTCONN;
+
+ t = message_new(bus, SD_BUS_MESSAGE_TYPE_SIGNAL);
+ if (!t)
+ return -ENOMEM;
+
+ t->header->flags |= SD_BUS_MESSAGE_NO_REPLY_EXPECTED;
+
+ r = message_append_field_string(t, SD_BUS_MESSAGE_HEADER_PATH, SD_BUS_TYPE_OBJECT_PATH, path, &t->path);
+ if (r < 0)
+ goto fail;
+ r = message_append_field_string(t, SD_BUS_MESSAGE_HEADER_INTERFACE, SD_BUS_TYPE_STRING, interface, &t->interface);
+ if (r < 0)
+ goto fail;
+ r = message_append_field_string(t, SD_BUS_MESSAGE_HEADER_MEMBER, SD_BUS_TYPE_STRING, member, &t->member);
+ if (r < 0)
+ goto fail;
+
+ *m = t;
+ return 0;
+
+fail:
+ sd_bus_message_unref(t);
+ return r;
+}
+
+int sd_bus_message_new_method_call(
+ sd_bus *bus,
+ const char *destination,
+ const char *path,
+ const char *interface,
+ const char *member,
+ sd_bus_message **m) {
+
+ sd_bus_message *t;
+ int r;
+
+ if (!path)
+ return -EINVAL;
+ if (!member)
+ return -EINVAL;
+ if (!m)
+ return -EINVAL;
+ if (bus && bus->state == BUS_UNSET)
+ return -ENOTCONN;
+
+ t = message_new(bus, SD_BUS_MESSAGE_TYPE_METHOD_CALL);
+ if (!t)
+ return -ENOMEM;
+
+ r = message_append_field_string(t, SD_BUS_MESSAGE_HEADER_PATH, SD_BUS_TYPE_OBJECT_PATH, path, &t->path);
+ if (r < 0)
+ goto fail;
+ r = message_append_field_string(t, SD_BUS_MESSAGE_HEADER_MEMBER, SD_BUS_TYPE_STRING, member, &t->member);
+ if (r < 0)
+ goto fail;
+
+ if (interface) {
+ r = message_append_field_string(t, SD_BUS_MESSAGE_HEADER_INTERFACE, SD_BUS_TYPE_STRING, interface, &t->interface);
+ if (r < 0)
+ goto fail;
+ }
+
+ if (destination) {
+ r = message_append_field_string(t, SD_BUS_MESSAGE_HEADER_DESTINATION, SD_BUS_TYPE_STRING, destination, &t->destination);
+ if (r < 0)
+ goto fail;
+ }
+
+ *m = t;
+ return 0;
+
+fail:
+ message_free(t);
+ return r;
+}
+
+static int message_new_reply(
+ sd_bus *bus,
+ sd_bus_message *call,
+ uint8_t type,
+ sd_bus_message **m) {
+
+ sd_bus_message *t;
+ int r;
+
+ if (!call)
+ return -EINVAL;
+ if (!call->sealed)
+ return -EPERM;
+ if (call->header->type != SD_BUS_MESSAGE_TYPE_METHOD_CALL)
+ return -EINVAL;
+ if (!m)
+ return -EINVAL;
+ if (bus && bus->state == BUS_UNSET)
+ return -ENOTCONN;
+
+ t = message_new(bus, type);
+ if (!t)
+ return -ENOMEM;
+
+ t->header->flags |= SD_BUS_MESSAGE_NO_REPLY_EXPECTED;
+ t->reply_serial = BUS_MESSAGE_SERIAL(call);
+
+ r = message_append_field_uint32(t, SD_BUS_MESSAGE_HEADER_REPLY_SERIAL, t->reply_serial);
+ if (r < 0)
+ goto fail;
+
+ if (call->sender) {
+ r = message_append_field_string(t, SD_BUS_MESSAGE_HEADER_DESTINATION, SD_BUS_TYPE_STRING, call->sender, &t->sender);
+ if (r < 0)
+ goto fail;
+ }
+
+ t->dont_send = !!(call->header->flags & SD_BUS_MESSAGE_NO_REPLY_EXPECTED);
+
+ *m = t;
+ return 0;
+
+fail:
+ message_free(t);
+ return r;
+}
+
+int sd_bus_message_new_method_return(
+ sd_bus *bus,
+ sd_bus_message *call,
+ sd_bus_message **m) {
+
+ return message_new_reply(bus, call, SD_BUS_MESSAGE_TYPE_METHOD_RETURN, m);
+}
+
+int sd_bus_message_new_method_error(
+ sd_bus *bus,
+ sd_bus_message *call,
+ const sd_bus_error *e,
+ sd_bus_message **m) {
+
+ sd_bus_message *t;
+ int r;
+
+ if (!sd_bus_error_is_set(e))
+ return -EINVAL;
+ if (!m)
+ return -EINVAL;
+
+ r = message_new_reply(bus, call, SD_BUS_MESSAGE_TYPE_METHOD_ERROR, &t);
+ if (r < 0)
+ return r;
+
+ r = message_append_field_string(t, SD_BUS_MESSAGE_HEADER_ERROR_NAME, SD_BUS_TYPE_STRING, e->name, &t->error.name);
+ if (r < 0)
+ goto fail;
+
+ if (e->message) {
+ r = message_append_basic(t, SD_BUS_TYPE_STRING, e->message, (const void**) &t->error.message);
+ if (r < 0)
+ goto fail;
+ }
+
+ *m = t;
+ return 0;
+
+fail:
+ message_free(t);
+ return r;
+}
+
+sd_bus_message* sd_bus_message_ref(sd_bus_message *m) {
+ if (!m)
+ return NULL;
+
+ assert(m->n_ref > 0);
+ m->n_ref++;
+
+ return m;
+}
+
+sd_bus_message* sd_bus_message_unref(sd_bus_message *m) {
+ if (!m)
+ return NULL;
+
+ assert(m->n_ref > 0);
+ m->n_ref--;
+
+ if (m->n_ref <= 0)
+ message_free(m);
+
+ return NULL;
+}
+
+int sd_bus_message_get_type(sd_bus_message *m, uint8_t *type) {
+ if (!m)
+ return -EINVAL;
+ if (!type)
+ return -EINVAL;
+
+ *type = m->header->type;
+ return 0;
+}
+
+int sd_bus_message_get_serial(sd_bus_message *m, uint64_t *serial) {
+ if (!m)
+ return -EINVAL;
+ if (!serial)
+ return -EINVAL;
+ if (m->header->serial == 0)
+ return -ENOENT;
+
+ *serial = BUS_MESSAGE_SERIAL(m);
+ return 0;
+}
+
+int sd_bus_message_get_reply_serial(sd_bus_message *m, uint64_t *serial) {
+ if (!m)
+ return -EINVAL;
+ if (!serial)
+ return -EINVAL;
+ if (m->reply_serial == 0)
+ return -ENOENT;
+
+ *serial = m->reply_serial;
+ return 0;
+}
+
+int sd_bus_message_get_no_reply(sd_bus_message *m) {
+ if (!m)
+ return -EINVAL;
+
+ return m->header->type == SD_BUS_MESSAGE_TYPE_METHOD_CALL ? !!(m->header->flags & SD_BUS_MESSAGE_NO_REPLY_EXPECTED) : 0;
+}
+
+const char *sd_bus_message_get_path(sd_bus_message *m) {
+ if (!m)
+ return NULL;
+
+ return m->path;
+}
+
+const char *sd_bus_message_get_interface(sd_bus_message *m) {
+ if (!m)
+ return NULL;
+
+ return m->interface;
+}
+
+const char *sd_bus_message_get_member(sd_bus_message *m) {
+ if (!m)
+ return NULL;
+
+ return m->member;
+}
+const char *sd_bus_message_get_destination(sd_bus_message *m) {
+ if (!m)
+ return NULL;
+
+ return m->destination;
+}
+
+const char *sd_bus_message_get_sender(sd_bus_message *m) {
+ if (!m)
+ return NULL;
+
+ return m->sender;
+}
+
+const sd_bus_error *sd_bus_message_get_error(sd_bus_message *m) {
+ if (!m)
+ return NULL;
+
+ if (!sd_bus_error_is_set(&m->error))
+ return NULL;
+
+ return &m->error;
+}
+
+int sd_bus_message_get_uid(sd_bus_message *m, uid_t *uid) {
+ if (!m)
+ return -EINVAL;
+ if (!uid)
+ return -EINVAL;
+ if (!m->uid_valid)
+ return -ESRCH;
+
+ *uid = m->uid;
+ return 0;
+}
+
+int sd_bus_message_get_gid(sd_bus_message *m, gid_t *gid) {
+ if (!m)
+ return -EINVAL;
+ if (!gid)
+ return -EINVAL;
+ if (!m->gid_valid)
+ return -ESRCH;
+
+ *gid = m->gid;
+ return 0;
+}
+
+int sd_bus_message_get_pid(sd_bus_message *m, pid_t *pid) {
+ if (!m)
+ return -EINVAL;
+ if (!pid)
+ return -EINVAL;
+ if (m->pid <= 0)
+ return -ESRCH;
+
+ *pid = m->pid;
+ return 0;
+}
+
+int sd_bus_message_get_tid(sd_bus_message *m, pid_t *tid) {
+ if (!m)
+ return -EINVAL;
+ if (!tid)
+ return -EINVAL;
+ if (m->tid <= 0)
+ return -ESRCH;
+
+ *tid = m->tid;
+ return 0;
+}
+
+int sd_bus_message_get_pid_starttime(sd_bus_message *m, uint64_t *usec) {
+ if (!m)
+ return -EINVAL;
+ if (!usec)
+ return -EINVAL;
+ if (m->pid_starttime <= 0)
+ return -ESRCH;
+
+ *usec = m->pid_starttime;
+ return 0;
+}
+
+int sd_bus_message_get_selinux_context(sd_bus_message *m, const char **ret) {
+ if (!m)
+ return -EINVAL;
+ if (!m->label)
+ return -ESRCH;
+
+ *ret = m->label;
+ return 0;
+}
+
+int sd_bus_message_get_monotonic_timestamp(sd_bus_message *m, uint64_t *usec) {
+ if (!m)
+ return -EINVAL;
+ if (!usec)
+ return -EINVAL;
+ if (m->monotonic <= 0)
+ return -ESRCH;
+
+ *usec = m->monotonic;
+ return 0;
+}
+
+int sd_bus_message_get_realtime_timestamp(sd_bus_message *m, uint64_t *usec) {
+ if (!m)
+ return -EINVAL;
+ if (!usec)
+ return -EINVAL;
+ if (m->realtime <= 0)
+ return -ESRCH;
+
+ *usec = m->realtime;
+ return 0;
+}
+
+int sd_bus_message_get_comm(sd_bus_message *m, const char **ret) {
+ if (!m)
+ return -EINVAL;
+ if (!ret)
+ return -EINVAL;
+ if (!m->comm)
+ return -ESRCH;
+
+ *ret = m->comm;
+ return 0;
+}
+
+int sd_bus_message_get_tid_comm(sd_bus_message *m, const char **ret) {
+ if (!m)
+ return -EINVAL;
+ if (!ret)
+ return -EINVAL;
+ if (!m->tid_comm)
+ return -ESRCH;
+
+ *ret = m->tid_comm;
+ return 0;
+}
+
+int sd_bus_message_get_exe(sd_bus_message *m, const char **ret) {
+ if (!m)
+ return -EINVAL;
+ if (!ret)
+ return -EINVAL;
+ if (!m->exe)
+ return -ESRCH;
+
+ *ret = m->exe;
+ return 0;
+}
+
+int sd_bus_message_get_cgroup(sd_bus_message *m, const char **ret) {
+ if (!m)
+ return -EINVAL;
+ if (!ret)
+ return -EINVAL;
+ if (!m->cgroup)
+ return -ESRCH;
+
+ *ret = m->cgroup;
+ return 0;
+}
+
+int sd_bus_message_get_unit(sd_bus_message *m, const char **ret) {
+ int r;
+
+ if (!m)
+ return -EINVAL;
+ if (!ret)
+ return -EINVAL;
+ if (!m->cgroup)
+ return -ESRCH;
+
+ if (!m->unit) {
+ r = cg_path_get_unit(m->cgroup, &m->unit);
+ if (r < 0)
+ return r;
+ }
+
+ *ret = m->unit;
+ return 0;
+}
+
+int sd_bus_message_get_user_unit(sd_bus_message *m, const char **ret) {
+ int r;
+
+ if (!m)
+ return -EINVAL;
+ if (!ret)
+ return -EINVAL;
+ if (!m->cgroup)
+ return -ESRCH;
+
+ if (!m->user_unit) {
+ r = cg_path_get_user_unit(m->cgroup, &m->user_unit);
+ if (r < 0)
+ return r;
+ }
+
+ *ret = m->user_unit;
+ return 0;
+}
+
+int sd_bus_message_get_session(sd_bus_message *m, const char **ret) {
+ int r;
+
+ if (!m)
+ return -EINVAL;
+ if (!ret)
+ return -EINVAL;
+ if (!m->cgroup)
+ return -ESRCH;
+
+ if (!m->session) {
+ r = cg_path_get_session(m->cgroup, &m->session);
+ if (r < 0)
+ return r;
+ }
+
+ *ret = m->session;
+ return 0;
+}
+
+int sd_bus_message_get_owner_uid(sd_bus_message *m, uid_t *uid) {
+ if (!m)
+ return -EINVAL;
+ if (!uid)
+ return -EINVAL;
+ if (!m->cgroup)
+ return -ESRCH;
+
+ return cg_path_get_owner_uid(m->cgroup, uid);
+}
+
+int sd_bus_message_get_cmdline(sd_bus_message *m, char ***cmdline) {
+ size_t n, i;
+ const char *p;
+ bool first;
+
+ if (!m)
+ return -EINVAL;
+
+ if (!m->cmdline)
+ return -ENOENT;
+
+ for (p = m->cmdline, n = 0; p < m->cmdline + m->cmdline_length; p++)
+ if (*p == 0)
+ n++;
+
+ m->cmdline_array = new(char*, n + 1);
+ if (!m->cmdline_array)
+ return -ENOMEM;
+
+ for (p = m->cmdline, i = 0, first = true; p < m->cmdline + m->cmdline_length; p++) {
+ if (first)
+ m->cmdline_array[i++] = (char*) p;
+
+ first = *p == 0;
+ }
+
+ m->cmdline_array[i] = NULL;
+ *cmdline = m->cmdline_array;
+
+ return 0;
+}
+
+int sd_bus_message_get_audit_sessionid(sd_bus_message *m, uint32_t *sessionid) {
+ if (!m)
+ return -EINVAL;
+ if (!sessionid)
+ return -EINVAL;
+ if (!m->audit)
+ return -ESRCH;
+
+ *sessionid = m->audit->sessionid;
+ return 0;
+}
+
+int sd_bus_message_get_audit_loginuid(sd_bus_message *m, uid_t *uid) {
+ if (!m)
+ return -EINVAL;
+ if (!uid)
+ return -EINVAL;
+ if (!m->audit)
+ return -ESRCH;
+
+ *uid = m->audit->loginuid;
+ return 0;
+}
+
+int sd_bus_message_has_effective_cap(sd_bus_message *m, int capability) {
+ unsigned sz;
+
+ if (!m)
+ return -EINVAL;
+ if (capability < 0)
+ return -EINVAL;
+ if (!m->capability)
+ return -ESRCH;
+
+ sz = m->capability_size / 4;
+ if ((unsigned) capability >= sz*8)
+ return 0;
+
+ return !!(m->capability[2 * sz + (capability / 8)] & (1 << (capability % 8)));
+}
+
+int sd_bus_message_is_signal(sd_bus_message *m, const char *interface, const char *member) {
+ if (!m)
+ return -EINVAL;
+
+ if (m->header->type != SD_BUS_MESSAGE_TYPE_SIGNAL)
+ return 0;
+
+ if (interface && (!m->interface || !streq(m->interface, interface)))
+ return 0;
+
+ if (member && (!m->member || !streq(m->member, member)))
+ return 0;
+
+ return 1;
+}
+
+int sd_bus_message_is_method_call(sd_bus_message *m, const char *interface, const char *member) {
+ if (!m)
+ return -EINVAL;
+
+ if (m->header->type != SD_BUS_MESSAGE_TYPE_METHOD_CALL)
+ return 0;
+
+ if (interface && (!m->interface || !streq(m->interface, interface)))
+ return 0;
+
+ if (member && (!m->member || !streq(m->member, member)))
+ return 0;
+
+ return 1;
+}
+
+int sd_bus_message_is_method_error(sd_bus_message *m, const char *name) {
+ if (!m)
+ return -EINVAL;
+
+ if (m->header->type != SD_BUS_MESSAGE_TYPE_METHOD_ERROR)
+ return 0;
+
+ if (name && (!m->error.name || !streq(m->error.name, name)))
+ return 0;
+
+ return 1;
+}
+
+int sd_bus_message_set_no_reply(sd_bus_message *m, int b) {
+ if (!m)
+ return -EINVAL;
+ if (m->sealed)
+ return -EPERM;
+ if (m->header->type != SD_BUS_MESSAGE_TYPE_METHOD_CALL)
+ return -EPERM;
+
+ if (b)
+ m->header->flags |= SD_BUS_MESSAGE_NO_REPLY_EXPECTED;
+ else
+ m->header->flags &= ~SD_BUS_MESSAGE_NO_REPLY_EXPECTED;
+
+ return 0;
+}
+
+static struct bus_container *message_get_container(sd_bus_message *m) {
+ assert(m);
+
+ if (m->n_containers == 0)
+ return &m->root_container;
+
+ assert(m->containers);
+ return m->containers + m->n_containers - 1;
+}
+
+static void *message_extend_body(sd_bus_message *m, size_t align, size_t sz) {
+ void *p, *o;
+ size_t added;
+ struct bus_container *c;
+
+ assert(m);
+ assert(align > 0);
+
+ o = m->body;
+ added = m->header->body_size;
+
+ p = buffer_extend(&m->body, &m->header->body_size, align, sz);
+ if (!p)
+ return NULL;
+
+ added = m->header->body_size - added;
+
+ for (c = m->containers; c < m->containers + m->n_containers; c++)
+ if (c->array_size) {
+ c->array_size = (uint32_t*) ((uint8_t*) m->body + ((uint8_t*) c->array_size - (uint8_t*) o));
+ *c->array_size += added;
+ }
+
+ if (o != m->body) {
+ if (m->error.message)
+ m->error.message = (const char*) m->body + (m->error.message - (const char*) o);
+ }
+
+ m->free_body = true;
+
+ return p;
+}
+
+int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored) {
+ struct bus_container *c;
+ ssize_t align, sz;
+ uint32_t k;
+ void *a;
+ char *e = NULL;
+ int fd = -1;
+ uint32_t fdi = 0;
+ int r;
+
+ if (!m)
+ return -EINVAL;
+ if (!p)
+ return -EINVAL;
+ if (m->sealed)
+ return -EPERM;
+ if (!bus_type_is_basic(type))
+ return -EINVAL;
+
+ c = message_get_container(m);
+
+ if (c->signature && c->signature[c->index]) {
+ /* Container signature is already set */
+
+ if (c->signature[c->index] != type)
+ return -ENXIO;
+ } else {
+ /* Maybe we can append to the signature? But only if this is the top-level container*/
+ if (c->enclosing != 0)
+ return -ENXIO;
+
+ e = strextend(&c->signature, CHAR_TO_STR(type), NULL);
+ if (!e)
+ return -ENOMEM;
+ }
+
+ switch (type) {
+
+ case SD_BUS_TYPE_STRING:
+ case SD_BUS_TYPE_OBJECT_PATH:
+
+ align = 4;
+ sz = 4 + strlen(p) + 1;
+ break;
+
+ case SD_BUS_TYPE_SIGNATURE:
+
+ align = 1;
+ sz = 1 + strlen(p) + 1;
+ break;
+
+ case SD_BUS_TYPE_BOOLEAN:
+ align = sz = 4;
+
+ assert_cc(sizeof(int) == sizeof(uint32_t));
+ memcpy(&k, p, 4);
+ k = !!k;
+ p = &k;
+ break;
+
+ case SD_BUS_TYPE_UNIX_FD: {
+ int z, *f;
+
+ if (!m->allow_fds) {
+ r = -ENOTSUP;
+ goto fail;
+ }
+
+ align = sz = 4;
+
+ z = *(int*) p;
+ if (z < 0) {
+ r = -EINVAL;
+ goto fail;
+ }
+
+ fd = fcntl(z, F_DUPFD_CLOEXEC, 3);
+ if (fd < 0) {
+ r = -errno;
+ goto fail;
+ }
+
+ f = realloc(m->fds, sizeof(int) * (m->n_fds + 1));
+ if (!f) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ fdi = m->n_fds;
+ f[fdi] = fd;
+ m->fds = f;
+ m->free_fds = true;
+ break;
+ }
+
+ default:
+ align = bus_type_get_alignment(type);
+ sz = bus_type_get_size(type);
+ break;
+ }
+
+ assert(align > 0);
+ assert(sz > 0);
+
+ a = message_extend_body(m, align, sz);
+ if (!a) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ if (type == SD_BUS_TYPE_STRING || type == SD_BUS_TYPE_OBJECT_PATH) {
+ *(uint32_t*) a = sz - 5;
+ memcpy((uint8_t*) a + 4, p, sz - 4);
+
+ if (stored)
+ *stored = (const uint8_t*) a + 4;
+
+ } else if (type == SD_BUS_TYPE_SIGNATURE) {
+ *(uint8_t*) a = sz - 1;
+ memcpy((uint8_t*) a + 1, p, sz - 1);
+
+ if (stored)
+ *stored = (const uint8_t*) a + 1;
+ } else if (type == SD_BUS_TYPE_UNIX_FD) {
+ *(uint32_t*) a = fdi;
+
+ if (stored)
+ *stored = a;
+
+ m->n_fds ++;
+
+ } else {
+ memcpy(a, p, sz);
+
+ if (stored)
+ *stored = a;
+ }
+
+ if (c->enclosing != SD_BUS_TYPE_ARRAY)
+ c->index++;
+
+ return 0;
+
+fail:
+ /* Truncate extended signature again */
+ if (e)
+ c->signature[c->index] = 0;
+
+ if (fd >= 0)
+ close_nointr_nofail(fd);
+
+ return r;
+}
+
+int sd_bus_message_append_basic(sd_bus_message *m, char type, const void *p) {
+ return message_append_basic(m, type, p, NULL);
+}
+
+static int bus_message_open_array(
+ sd_bus_message *m,
+ struct bus_container *c,
+ const char *contents,
+ uint32_t **array_size) {
+
+ unsigned nindex;
+ char *e = NULL;
+ void *a, *b;
+ int alignment;
+ size_t saved;
+
+ assert(m);
+ assert(c);
+ assert(contents);
+ assert(array_size);
+
+ if (!signature_is_single(contents))
+ return -EINVAL;
+
+ alignment = bus_type_get_alignment(contents[0]);
+ if (alignment < 0)
+ return alignment;
+
+ if (c->signature && c->signature[c->index]) {
+
+ /* Verify the existing signature */
+
+ if (c->signature[c->index] != SD_BUS_TYPE_ARRAY)
+ return -ENXIO;
+
+ if (!startswith(c->signature + c->index + 1, contents))
+ return -ENXIO;
+
+ nindex = c->index + 1 + strlen(contents);
+ } else {
+ if (c->enclosing != 0)
+ return -ENXIO;
+
+ /* Extend the existing signature */
+
+ e = strextend(&c->signature, CHAR_TO_STR(SD_BUS_TYPE_ARRAY), contents, NULL);
+ if (!e)
+ return -ENOMEM;
+
+ nindex = e - c->signature;
+ }
+
+ saved = m->header->body_size;
+ a = message_extend_body(m, 4, 4);
+ if (!a) {
+ /* Truncate extended signature again */
+ if (e)
+ c->signature[c->index] = 0;
+
+ return -ENOMEM;
+ }
+ b = m->body;
+
+ if (!message_extend_body(m, alignment, 0)) {
+ /* Add alignment between size and first element */
+ if (e)
+ c->signature[c->index] = 0;
+
+ m->header->body_size = saved;
+ return -ENOMEM;
+ }
+
+ if (c->enclosing != SD_BUS_TYPE_ARRAY)
+ c->index = nindex;
+
+ /* m->body might have changed so let's readjust a */
+ a = (uint8_t*) m->body + ((uint8_t*) a - (uint8_t*) b);
+ *(uint32_t*) a = 0;
+
+ *array_size = a;
+ return 0;
+}
+
+static int bus_message_open_variant(
+ sd_bus_message *m,
+ struct bus_container *c,
+ const char *contents) {
+
+ char *e = NULL;
+ size_t l;
+ void *a;
+
+ assert(m);
+ assert(c);
+ assert(contents);
+
+ if (!signature_is_single(contents))
+ return -EINVAL;
+
+ if (*contents == SD_BUS_TYPE_DICT_ENTRY_BEGIN)
+ return -EINVAL;
+
+ if (c->signature && c->signature[c->index]) {
+
+ if (c->signature[c->index] != SD_BUS_TYPE_VARIANT)
+ return -ENXIO;
+
+ } else {
+ if (c->enclosing != 0)
+ return -ENXIO;
+
+ e = strextend(&c->signature, CHAR_TO_STR(SD_BUS_TYPE_VARIANT), NULL);
+ if (!e)
+ return -ENOMEM;
+ }
+
+ l = strlen(contents);
+ a = message_extend_body(m, 1, 1 + l + 1);
+ if (!a) {
+ /* Truncate extended signature again */
+ if (e)
+ c->signature[c->index] = 0;
+
+ return -ENOMEM;
+ }
+
+ *(uint8_t*) a = l;
+ memcpy((uint8_t*) a + 1, contents, l + 1);
+
+ if (c->enclosing != SD_BUS_TYPE_ARRAY)
+ c->index++;
+
+ return 0;
+}
+
+static int bus_message_open_struct(
+ sd_bus_message *m,
+ struct bus_container *c,
+ const char *contents) {
+
+ size_t nindex;
+ char *e = NULL;
+
+ assert(m);
+ assert(c);
+ assert(contents);
+
+ if (!signature_is_valid(contents, false))
+ return -EINVAL;
+
+ if (c->signature && c->signature[c->index]) {
+ size_t l;
+
+ l = strlen(contents);
+
+ if (c->signature[c->index] != SD_BUS_TYPE_STRUCT_BEGIN ||
+ !startswith(c->signature + c->index + 1, contents) ||
+ c->signature[c->index + 1 + l] != SD_BUS_TYPE_STRUCT_END)
+ return -ENXIO;
+
+ nindex = c->index + 1 + l + 1;
+ } else {
+ if (c->enclosing != 0)
+ return -ENXIO;
+
+ e = strextend(&c->signature, CHAR_TO_STR(SD_BUS_TYPE_STRUCT_BEGIN), contents, CHAR_TO_STR(SD_BUS_TYPE_STRUCT_END), NULL);
+ if (!e)
+ return -ENOMEM;
+
+ nindex = e - c->signature;
+ }
+
+ /* Align contents to 8 byte boundary */
+ if (!message_extend_body(m, 8, 0)) {
+ if (e)
+ c->signature[c->index] = 0;
+
+ return -ENOMEM;
+ }
+
+ if (c->enclosing != SD_BUS_TYPE_ARRAY)
+ c->index = nindex;
+
+ return 0;
+}
+
+static int bus_message_open_dict_entry(
+ sd_bus_message *m,
+ struct bus_container *c,
+ const char *contents) {
+
+ size_t nindex;
+
+ assert(m);
+ assert(c);
+ assert(contents);
+
+ if (!signature_is_pair(contents))
+ return -EINVAL;
+
+ if (c->enclosing != SD_BUS_TYPE_ARRAY)
+ return -ENXIO;
+
+ if (c->signature && c->signature[c->index]) {
+ size_t l;
+
+ l = strlen(contents);
+
+ if (c->signature[c->index] != SD_BUS_TYPE_DICT_ENTRY_BEGIN ||
+ !startswith(c->signature + c->index + 1, contents) ||
+ c->signature[c->index + 1 + l] != SD_BUS_TYPE_DICT_ENTRY_END)
+ return -ENXIO;
+
+ nindex = c->index + 1 + l + 1;
+ } else
+ return -ENXIO;
+
+ /* Align contents to 8 byte boundary */
+ if (!message_extend_body(m, 8, 0))
+ return -ENOMEM;
+
+ if (c->enclosing != SD_BUS_TYPE_ARRAY)
+ c->index = nindex;
+
+ return 0;
+}
+
+int sd_bus_message_open_container(
+ sd_bus_message *m,
+ char type,
+ const char *contents) {
+
+ struct bus_container *c, *w;
+ uint32_t *array_size = NULL;
+ char *signature;
+ int r;
+
+ if (!m)
+ return -EINVAL;
+ if (m->sealed)
+ return -EPERM;
+ if (!contents)
+ return -EINVAL;
+
+ /* Make sure we have space for one more container */
+ w = realloc(m->containers, sizeof(struct bus_container) * (m->n_containers + 1));
+ if (!w)
+ return -ENOMEM;
+ m->containers = w;
+
+ c = message_get_container(m);
+
+ signature = strdup(contents);
+ if (!signature)
+ return -ENOMEM;
+
+ if (type == SD_BUS_TYPE_ARRAY)
+ r = bus_message_open_array(m, c, contents, &array_size);
+ else if (type == SD_BUS_TYPE_VARIANT)
+ r = bus_message_open_variant(m, c, contents);
+ else if (type == SD_BUS_TYPE_STRUCT)
+ r = bus_message_open_struct(m, c, contents);
+ else if (type == SD_BUS_TYPE_DICT_ENTRY)
+ r = bus_message_open_dict_entry(m, c, contents);
+ else
+ r = -EINVAL;
+
+ if (r < 0) {
+ free(signature);
+ return r;
+ }
+
+ /* OK, let's fill it in */
+ w += m->n_containers++;
+ w->enclosing = type;
+ w->signature = signature;
+ w->index = 0;
+ w->array_size = array_size;
+ w->begin = 0;
+
+ return 0;
+}
+
+int sd_bus_message_close_container(sd_bus_message *m) {
+ struct bus_container *c;
+
+ if (!m)
+ return -EINVAL;
+ if (m->sealed)
+ return -EPERM;
+ if (m->n_containers <= 0)
+ return -EINVAL;
+
+ c = message_get_container(m);
+ if (c->enclosing != SD_BUS_TYPE_ARRAY)
+ if (c->signature && c->signature[c->index] != 0)
+ return -EINVAL;
+
+ free(c->signature);
+ m->n_containers--;
+
+ return 0;
+}
+
+
+typedef struct {
+ const char *types;
+ unsigned n_struct;
+ unsigned n_array;
+} TypeStack;
+
+static int type_stack_push(TypeStack *stack, unsigned max, unsigned *i, const char *types, unsigned n_struct, unsigned n_array) {
+ assert(stack);
+ assert(max > 0);
+
+ if (*i >= max)
+ return -EINVAL;
+
+ stack[*i].types = types;
+ stack[*i].n_struct = n_struct;
+ stack[*i].n_array = n_array;
+ (*i)++;
+
+ return 0;
+}
+
+static int type_stack_pop(TypeStack *stack, unsigned max, unsigned *i, const char **types, unsigned *n_struct, unsigned *n_array) {
+ assert(stack);
+ assert(max > 0);
+ assert(types);
+ assert(n_struct);
+ assert(n_array);
+
+ if (*i <= 0)
+ return 0;
+
+ (*i)--;
+ *types = stack[*i].types;
+ *n_struct = stack[*i].n_struct;
+ *n_array = stack[*i].n_array;
+
+ return 1;
+}
+
+int bus_message_append_ap(
+ sd_bus_message *m,
+ const char *types,
+ va_list ap) {
+
+ unsigned n_array, n_struct;
+ TypeStack stack[BUS_CONTAINER_DEPTH];
+ unsigned stack_ptr = 0;
+ int r;
+
+ assert(m);
+
+ if (!types)
+ return 0;
+
+ n_array = (unsigned) -1;
+ n_struct = strlen(types);
+
+ for (;;) {
+ const char *t;
+
+ if (n_array == 0 || (n_array == (unsigned) -1 && n_struct == 0)) {
+ r = type_stack_pop(stack, ELEMENTSOF(stack), &stack_ptr, &types, &n_struct, &n_array);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ break;
+
+ r = sd_bus_message_close_container(m);
+ if (r < 0)
+ return r;
+
+ continue;
+ }
+
+ t = types;
+ if (n_array != (unsigned) -1)
+ n_array --;
+ else {
+ types ++;
+ n_struct--;
+ }
+
+ switch (*t) {
+
+ case SD_BUS_TYPE_BYTE: {
+ uint8_t x;
+
+ x = (uint8_t) va_arg(ap, int);
+ r = sd_bus_message_append_basic(m, *t, &x);
+ break;
+ }
+
+ case SD_BUS_TYPE_BOOLEAN:
+ case SD_BUS_TYPE_INT32:
+ case SD_BUS_TYPE_UINT32:
+ case SD_BUS_TYPE_UNIX_FD: {
+ uint32_t x;
+
+ /* We assume a boolean is the same as int32_t */
+ assert_cc(sizeof(int32_t) == sizeof(int));
+
+ x = va_arg(ap, uint32_t);
+ r = sd_bus_message_append_basic(m, *t, &x);
+ break;
+ }
+
+ case SD_BUS_TYPE_INT16:
+ case SD_BUS_TYPE_UINT16: {
+ uint16_t x;
+
+ x = (uint16_t) va_arg(ap, int);
+ r = sd_bus_message_append_basic(m, *t, &x);
+ break;
+ }
+
+ case SD_BUS_TYPE_INT64:
+ case SD_BUS_TYPE_UINT64:
+ case SD_BUS_TYPE_DOUBLE: {
+ uint64_t x;
+
+ x = va_arg(ap, uint64_t);
+ r = sd_bus_message_append_basic(m, *t, &x);
+ break;
+ }
+
+ case SD_BUS_TYPE_STRING:
+ case SD_BUS_TYPE_OBJECT_PATH:
+ case SD_BUS_TYPE_SIGNATURE: {
+ const char *x;
+
+ x = va_arg(ap, const char*);
+ r = sd_bus_message_append_basic(m, *t, x);
+ break;
+ }
+
+ case SD_BUS_TYPE_ARRAY: {
+ size_t k;
+
+ r = signature_element_length(t + 1, &k);
+ if (r < 0)
+ return r;
+
+ {
+ char s[k + 1];
+ memcpy(s, t + 1, k);
+ s[k] = 0;
+
+ r = sd_bus_message_open_container(m, SD_BUS_TYPE_ARRAY, s);
+ if (r < 0)
+ return r;
+ }
+
+ if (n_array == (unsigned) -1) {
+ types += k;
+ n_struct -= k;
+ }
+
+ r = type_stack_push(stack, ELEMENTSOF(stack), &stack_ptr, types, n_struct, n_array);
+ if (r < 0)
+ return r;
+
+ types = t + 1;
+ n_struct = k;
+ n_array = va_arg(ap, unsigned);
+
+ break;
+ }
+
+ case SD_BUS_TYPE_VARIANT: {
+ const char *s;
+
+ s = va_arg(ap, const char*);
+ if (!s)
+ return -EINVAL;
+
+ r = sd_bus_message_open_container(m, SD_BUS_TYPE_VARIANT, s);
+ if (r < 0)
+ return r;
+
+ r = type_stack_push(stack, ELEMENTSOF(stack), &stack_ptr, types, n_struct, n_array);
+ if (r < 0)
+ return r;
+
+ types = s;
+ n_struct = strlen(s);
+ n_array = (unsigned) -1;
+
+ break;
+ }
+
+ case SD_BUS_TYPE_STRUCT_BEGIN:
+ case SD_BUS_TYPE_DICT_ENTRY_BEGIN: {
+ size_t k;
+
+ r = signature_element_length(t, &k);
+ if (r < 0)
+ return r;
+
+ {
+ char s[k - 1];
+
+ memcpy(s, t + 1, k - 2);
+ s[k - 2] = 0;
+
+ r = sd_bus_message_open_container(m, *t == SD_BUS_TYPE_STRUCT_BEGIN ? SD_BUS_TYPE_STRUCT : SD_BUS_TYPE_DICT_ENTRY, s);
+ if (r < 0)
+ return r;
+ }
+
+ if (n_array == (unsigned) -1) {
+ types += k - 1;
+ n_struct -= k - 1;
+ }
+
+ r = type_stack_push(stack, ELEMENTSOF(stack), &stack_ptr, types, n_struct, n_array);
+ if (r < 0)
+ return r;
+
+ types = t + 1;
+ n_struct = k - 2;
+ n_array = (unsigned) -1;
+
+ break;
+ }
+
+ default:
+ r = -EINVAL;
+ }
+
+ if (r < 0)
+ return r;
+ }
+
+ return 0;
+}
+
+int sd_bus_message_append(sd_bus_message *m, const char *types, ...) {
+ va_list ap;
+ int r;
+
+ if (!m)
+ return -EINVAL;
+ if (m->sealed)
+ return -EPERM;
+ if (!types)
+ return 0;
+
+ va_start(ap, types);
+ r = bus_message_append_ap(m, types, ap);
+ va_end(ap);
+
+ return r;
+}
+
+static int buffer_peek(const void *p, uint32_t sz, size_t *rindex, size_t align, size_t nbytes, void **r) {
+ size_t k, start, n;
+
+ assert(rindex);
+ assert(align > 0);
+
+ start = ALIGN_TO((size_t) *rindex, align);
+ n = start + nbytes;
+
+ if (n > sz)
+ return -EBADMSG;
+
+ /* Verify that padding is 0 */
+ for (k = *rindex; k < start; k++)
+ if (((const uint8_t*) p)[k] != 0)
+ return -EBADMSG;
+
+ if (r)
+ *r = (uint8_t*) p + start;
+
+ *rindex = n;
+
+ return 1;
+}
+
+static bool message_end_of_array(sd_bus_message *m, size_t index) {
+ struct bus_container *c;
+
+ assert(m);
+
+ c = message_get_container(m);
+ if (!c->array_size)
+ return false;
+
+ return index >= c->begin + BUS_MESSAGE_BSWAP32(m, *c->array_size);
+}
+
+static int message_peek_body(sd_bus_message *m, size_t *rindex, size_t align, size_t nbytes, void **ret) {
+ assert(m);
+ assert(rindex);
+ assert(align > 0);
+
+ if (message_end_of_array(m, *rindex))
+ return 0;
+
+ return buffer_peek(m->body, BUS_MESSAGE_BODY_SIZE(m), rindex, align, nbytes, ret);
+}
+
+static bool validate_nul(const char *s, size_t l) {
+
+ /* Check for NUL chars in the string */
+ if (memchr(s, 0, l))
+ return false;
+
+ /* Check for NUL termination */
+ if (s[l] != 0)
+ return false;
+
+ return true;
+}
+
+static bool validate_string(const char *s, size_t l) {
+
+ if (!validate_nul(s, l))
+ return false;
+
+ /* Check if valid UTF8 */
+ if (!utf8_is_valid(s))
+ return false;
+
+ return true;
+}
+
+static bool validate_signature(const char *s, size_t l) {
+
+ if (!validate_nul(s, l))
+ return false;
+
+ /* Check if valid signature */
+ if (!signature_is_valid(s, true))
+ return false;
+
+ return true;
+}
+
+static bool validate_object_path(const char *s, size_t l) {
+
+ if (!validate_nul(s, l))
+ return false;
+
+ if (!object_path_is_valid(s))
+ return false;
+
+ return true;
+}
+
+int sd_bus_message_read_basic(sd_bus_message *m, char type, void *p) {
+ struct bus_container *c;
+ int r;
+ void *q;
+
+ if (!m)
+ return -EINVAL;
+ if (!m->sealed)
+ return -EPERM;
+ if (!bus_type_is_basic(type))
+ return -EINVAL;
+ if (!p)
+ return -EINVAL;
+
+ c = message_get_container(m);
+
+ if (!c->signature || c->signature[c->index] == 0)
+ return 0;
+
+ if (c->signature[c->index] != type)
+ return -ENXIO;
+
+ switch (type) {
+
+ case SD_BUS_TYPE_STRING:
+ case SD_BUS_TYPE_OBJECT_PATH: {
+ uint32_t l;
+ size_t rindex;
+
+ rindex = m->rindex;
+ r = message_peek_body(m, &rindex, 4, 4, &q);
+ if (r <= 0)
+ return r;
+
+ l = BUS_MESSAGE_BSWAP32(m, *(uint32_t*) q);
+ r = message_peek_body(m, &rindex, 1, l+1, &q);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ return -EBADMSG;
+
+ if (type == SD_BUS_TYPE_OBJECT_PATH) {
+ if (!validate_object_path(q, l))
+ return -EBADMSG;
+ } else {
+ if (!validate_string(q, l))
+ return -EBADMSG;
+ }
+
+ m->rindex = rindex;
+ *(const char**) p = q;
+ break;
+ }
+
+ case SD_BUS_TYPE_SIGNATURE: {
+ uint8_t l;
+ size_t rindex;
+
+ rindex = m->rindex;
+ r = message_peek_body(m, &rindex, 1, 1, &q);
+ if (r <= 0)
+ return r;
+
+ l = *(uint8_t*) q;
+ r = message_peek_body(m, &rindex, 1, l+1, &q);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ return -EBADMSG;
+
+ if (!validate_signature(q, l))
+ return -EBADMSG;
+
+ m->rindex = rindex;
+ *(const char**) p = q;
+ break;
+ }
+
+ default: {
+ ssize_t sz, align;
+ size_t rindex;
+
+ align = bus_type_get_alignment(type);
+ sz = bus_type_get_size(type);
+ assert(align > 0 && sz > 0);
+
+ rindex = m->rindex;
+ r = message_peek_body(m, &rindex, align, sz, &q);
+ if (r <= 0)
+ return r;
+
+ switch (type) {
+
+ case SD_BUS_TYPE_BYTE:
+ *(uint8_t*) p = *(uint8_t*) q;
+ break;
+
+ case SD_BUS_TYPE_BOOLEAN:
+ *(int*) p = !!*(uint32_t*) q;
+ break;
+
+ case SD_BUS_TYPE_INT16:
+ case SD_BUS_TYPE_UINT16:
+ *(uint16_t*) p = BUS_MESSAGE_BSWAP16(m, *(uint16_t*) q);
+ break;
+
+ case SD_BUS_TYPE_INT32:
+ case SD_BUS_TYPE_UINT32:
+ *(uint32_t*) p = BUS_MESSAGE_BSWAP32(m, *(uint32_t*) q);
+ break;
+
+ case SD_BUS_TYPE_INT64:
+ case SD_BUS_TYPE_UINT64:
+ case SD_BUS_TYPE_DOUBLE:
+ *(uint64_t*) p = BUS_MESSAGE_BSWAP64(m, *(uint64_t*) q);
+ break;
+
+ case SD_BUS_TYPE_UNIX_FD: {
+ uint32_t j;
+
+ j = BUS_MESSAGE_BSWAP32(m, *(uint32_t*) q);
+ if (j >= m->n_fds)
+ return -EBADMSG;
+
+ *(int*) p = m->fds[j];
+ break;
+ }
+
+ default:
+ assert_not_reached("Unknown basic type...");
+ }
+
+ m->rindex = rindex;
+
+ break;
+ }
+ }
+
+ if (c->enclosing != SD_BUS_TYPE_ARRAY)
+ c->index++;
+
+ return 1;
+}
+
+static int bus_message_enter_array(
+ sd_bus_message *m,
+ struct bus_container *c,
+ const char *contents,
+ uint32_t **array_size) {
+
+ size_t rindex;
+ void *q;
+ int r, alignment;
+
+ assert(m);
+ assert(c);
+ assert(contents);
+ assert(array_size);
+
+ if (!signature_is_single(contents))
+ return -EINVAL;
+
+ alignment = bus_type_get_alignment(contents[0]);
+ if (alignment < 0)
+ return alignment;
+
+ if (!c->signature || c->signature[c->index] == 0)
+ return 0;
+
+ if (c->signature[c->index] != SD_BUS_TYPE_ARRAY)
+ return -ENXIO;
+
+ if (!startswith(c->signature + c->index + 1, contents))
+ return -ENXIO;
+
+ rindex = m->rindex;
+ r = message_peek_body(m, &rindex, 4, 4, &q);
+ if (r <= 0)
+ return r;
+
+ if (BUS_MESSAGE_BSWAP32(m, *(uint32_t*) q) > BUS_ARRAY_MAX_SIZE)
+ return -EBADMSG;
+
+ r = message_peek_body(m, &rindex, alignment, 0, NULL);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ return -EBADMSG;
+
+ if (c->enclosing != SD_BUS_TYPE_ARRAY)
+ c->index += 1 + strlen(contents);
+
+ m->rindex = rindex;
+
+ *array_size = (uint32_t*) q;
+
+ return 1;
+}
+
+static int bus_message_enter_variant(
+ sd_bus_message *m,
+ struct bus_container *c,
+ const char *contents) {
+
+ size_t rindex;
+ uint8_t l;
+ void *q;
+ int r;
+
+ assert(m);
+ assert(c);
+ assert(contents);
+
+ if (!signature_is_single(contents))
+ return -EINVAL;
+
+ if (*contents == SD_BUS_TYPE_DICT_ENTRY_BEGIN)
+ return -EINVAL;
+
+ if (!c->signature || c->signature[c->index] == 0)
+ return 0;
+
+ if (c->signature[c->index] != SD_BUS_TYPE_VARIANT)
+ return -ENXIO;
+
+ rindex = m->rindex;
+ r = message_peek_body(m, &rindex, 1, 1, &q);
+ if (r <= 0)
+ return r;
+
+ l = *(uint8_t*) q;
+ r = message_peek_body(m, &rindex, 1, l+1, &q);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ return -EBADMSG;
+
+ if (!validate_signature(q, l))
+ return -EBADMSG;
+
+ if (!streq(q, contents))
+ return -ENXIO;
+
+ if (c->enclosing != SD_BUS_TYPE_ARRAY)
+ c->index++;
+
+ m->rindex = rindex;
+
+ return 1;
+}
+
+static int bus_message_enter_struct(
+ sd_bus_message *m,
+ struct bus_container *c,
+ const char *contents) {
+
+ size_t l;
+ int r;
+
+ assert(m);
+ assert(c);
+ assert(contents);
+
+ if (!signature_is_valid(contents, false))
+ return -EINVAL;
+
+ if (!c->signature || c->signature[c->index] == 0)
+ return 0;
+
+ l = strlen(contents);
+
+ if (c->signature[c->index] != SD_BUS_TYPE_STRUCT_BEGIN ||
+ !startswith(c->signature + c->index + 1, contents) ||
+ c->signature[c->index + 1 + l] != SD_BUS_TYPE_STRUCT_END)
+ return -ENXIO;
+
+ r = message_peek_body(m, &m->rindex, 8, 0, NULL);
+ if (r <= 0)
+ return r;
+
+ if (c->enclosing != SD_BUS_TYPE_ARRAY)
+ c->index += 1 + l + 1;
+
+ return 1;
+}
+
+static int bus_message_enter_dict_entry(
+ sd_bus_message *m,
+ struct bus_container *c,
+ const char *contents) {
+
+ size_t l;
+ int r;
+
+ assert(m);
+ assert(c);
+ assert(contents);
+
+ if (!signature_is_pair(contents))
+ return -EINVAL;
+
+ if (c->enclosing != SD_BUS_TYPE_ARRAY)
+ return -ENXIO;
+
+ if (!c->signature || c->signature[c->index] == 0)
+ return 0;
+
+ l = strlen(contents);
+
+ if (c->signature[c->index] != SD_BUS_TYPE_DICT_ENTRY_BEGIN ||
+ !startswith(c->signature + c->index + 1, contents) ||
+ c->signature[c->index + 1 + l] != SD_BUS_TYPE_DICT_ENTRY_END)
+ return -ENXIO;
+
+ r = message_peek_body(m, &m->rindex, 8, 0, NULL);
+ if (r <= 0)
+ return r;
+
+ if (c->enclosing != SD_BUS_TYPE_ARRAY)
+ c->index += 1 + l + 1;
+
+ return 1;
+}
+
+int sd_bus_message_enter_container(sd_bus_message *m, char type, const char *contents) {
+ struct bus_container *c, *w;
+ uint32_t *array_size = NULL;
+ char *signature;
+ int r;
+
+ if (!m)
+ return -EINVAL;
+ if (!m->sealed)
+ return -EPERM;
+ if (!contents)
+ return -EINVAL;
+
+ /*
+ * We enforce a global limit on container depth, that is much
+ * higher than the 32 structs and 32 arrays the specification
+ * mandates. This is simpler to implement for us, and we need
+ * this only to ensure our container array doesn't grow
+ * without bounds. We are happy to return any data from a
+ * message as long as the data itself is valid, even if the
+ * overall message might be not.
+ *
+ * Note that the message signature is validated when
+ * parsing the headers, and that validation does check the
+ * 32/32 limit.
+ *
+ * Note that the specification defines no limits on the depth
+ * of stacked variants, but we do.
+ */
+ if (m->n_containers >= BUS_CONTAINER_DEPTH)
+ return -EBADMSG;
+
+ w = realloc(m->containers, sizeof(struct bus_container) * (m->n_containers + 1));
+ if (!w)
+ return -ENOMEM;
+ m->containers = w;
+
+ c = message_get_container(m);
+
+ if (!c->signature || c->signature[c->index] == 0)
+ return 0;
+
+ signature = strdup(contents);
+ if (!signature)
+ return -ENOMEM;
+
+ if (type == SD_BUS_TYPE_ARRAY)
+ r = bus_message_enter_array(m, c, contents, &array_size);
+ else if (type == SD_BUS_TYPE_VARIANT)
+ r = bus_message_enter_variant(m, c, contents);
+ else if (type == SD_BUS_TYPE_STRUCT)
+ r = bus_message_enter_struct(m, c, contents);
+ else if (type == SD_BUS_TYPE_DICT_ENTRY)
+ r = bus_message_enter_dict_entry(m, c, contents);
+ else
+ r = -EINVAL;
+
+ if (r <= 0) {
+ free(signature);
+ return r;
+ }
+
+ /* OK, let's fill it in */
+ w += m->n_containers++;
+ w->enclosing = type;
+ w->signature = signature;
+ w->index = 0;
+ w->array_size = array_size;
+ w->begin = m->rindex;
+
+ return 1;
+}
+
+int sd_bus_message_exit_container(sd_bus_message *m) {
+ struct bus_container *c;
+
+ if (!m)
+ return -EINVAL;
+ if (!m->sealed)
+ return -EPERM;
+ if (m->n_containers <= 0)
+ return -EINVAL;
+
+ c = message_get_container(m);
+ if (c->enclosing == SD_BUS_TYPE_ARRAY) {
+ uint32_t l;
+
+ l = BUS_MESSAGE_BSWAP32(m, *c->array_size);
+ if (c->begin + l != m->rindex)
+ return -EBUSY;
+
+ } else {
+ if (c->signature && c->signature[c->index] != 0)
+ return -EINVAL;
+ }
+
+ free(c->signature);
+ m->n_containers--;
+
+ return 1;
+}
+
+int sd_bus_message_peek_type(sd_bus_message *m, char *type, const char **contents) {
+ struct bus_container *c;
+ int r;
+
+ if (!m)
+ return -EINVAL;
+ if (!m->sealed)
+ return -EPERM;
+
+ c = message_get_container(m);
+
+ if (!c->signature || c->signature[c->index] == 0)
+ goto eof;
+
+ if (message_end_of_array(m, m->rindex))
+ goto eof;
+
+ if (bus_type_is_basic(c->signature[c->index])) {
+ if (contents)
+ *contents = NULL;
+ if (type)
+ *type = c->signature[c->index];
+ return 1;
+ }
+
+ if (c->signature[c->index] == SD_BUS_TYPE_ARRAY) {
+
+ if (contents) {
+ size_t l;
+ char *sig;
+
+ r = signature_element_length(c->signature+c->index+1, &l);
+ if (r < 0)
+ return r;
+
+ assert(l >= 1);
+
+ sig = strndup(c->signature + c->index + 1, l);
+ if (!sig)
+ return -ENOMEM;
+
+ free(m->peeked_signature);
+ m->peeked_signature = sig;
+
+ *contents = sig;
+ }
+
+ if (type)
+ *type = SD_BUS_TYPE_ARRAY;
+
+ return 1;
+ }
+
+ if (c->signature[c->index] == SD_BUS_TYPE_STRUCT_BEGIN ||
+ c->signature[c->index] == SD_BUS_TYPE_DICT_ENTRY_BEGIN) {
+
+ if (contents) {
+ size_t l;
+ char *sig;
+
+ r = signature_element_length(c->signature+c->index, &l);
+ if (r < 0)
+ return r;
+
+ assert(l >= 2);
+ sig = strndup(c->signature + c->index + 1, l - 2);
+ if (!sig)
+ return -ENOMEM;
+
+ free(m->peeked_signature);
+ m->peeked_signature = sig;
+
+ *contents = sig;
+ }
+
+ if (type)
+ *type = c->signature[c->index] == SD_BUS_TYPE_STRUCT_BEGIN ? SD_BUS_TYPE_STRUCT : SD_BUS_TYPE_DICT_ENTRY;
+
+ return 1;
+ }
+
+ if (c->signature[c->index] == SD_BUS_TYPE_VARIANT) {
+ if (contents) {
+ size_t rindex, l;
+ void *q;
+
+ rindex = m->rindex;
+ r = message_peek_body(m, &rindex, 1, 1, &q);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ goto eof;
+
+ l = *(uint8_t*) q;
+ r = message_peek_body(m, &rindex, 1, l+1, &q);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ return -EBADMSG;
+
+ if (!validate_signature(q, l))
+ return -EBADMSG;
+
+ *contents = q;
+ }
+
+ if (type)
+ *type = SD_BUS_TYPE_VARIANT;
+
+ return 1;
+ }
+
+ return -EINVAL;
+
+eof:
+ if (type)
+ *type = c->enclosing;
+ if (contents)
+ *contents = NULL;
+ return 0;
+}
+
+int sd_bus_message_rewind(sd_bus_message *m, int complete) {
+ struct bus_container *c;
+
+ if (!m)
+ return -EINVAL;
+ if (!m->sealed)
+ return -EPERM;
+
+ if (complete) {
+ reset_containers(m);
+ m->rindex = 0;
+ m->root_container.index = 0;
+
+ c = message_get_container(m);
+ } else {
+ c = message_get_container(m);
+
+ c->index = 0;
+ m->rindex = c->begin;
+ }
+
+ return !isempty(c->signature);
+}
+static int message_read_ap(
+ sd_bus_message *m,
+ const char *types,
+ va_list ap) {
+
+ unsigned n_array, n_struct;
+ TypeStack stack[BUS_CONTAINER_DEPTH];
+ unsigned stack_ptr = 0;
+ int r;
+
+ assert(m);
+
+ if (!types)
+ return 0;
+
+ /* Ideally, we'd just call ourselves recursively on every
+ * complex type. However, the state of a va_list that is
+ * passed to a function is undefined after that function
+ * returns. This means we need to docode the va_list linearly
+ * in a single stackframe. We hence implement our own
+ * home-grown stack in an array. */
+
+ n_array = (unsigned) -1;
+ n_struct = strlen(types);
+
+ for (;;) {
+ const char *t;
+
+ if (n_array == 0 || (n_array == (unsigned) -1 && n_struct == 0)) {
+ r = type_stack_pop(stack, ELEMENTSOF(stack), &stack_ptr, &types, &n_struct, &n_array);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ break;
+
+ r = sd_bus_message_exit_container(m);
+ if (r < 0)
+ return r;
+
+ continue;
+ }
+
+ t = types;
+ if (n_array != (unsigned) -1)
+ n_array --;
+ else {
+ types ++;
+ n_struct--;
+ }
+
+ switch (*t) {
+
+ case SD_BUS_TYPE_BYTE:
+ case SD_BUS_TYPE_BOOLEAN:
+ case SD_BUS_TYPE_INT16:
+ case SD_BUS_TYPE_UINT16:
+ case SD_BUS_TYPE_INT32:
+ case SD_BUS_TYPE_UINT32:
+ case SD_BUS_TYPE_INT64:
+ case SD_BUS_TYPE_UINT64:
+ case SD_BUS_TYPE_DOUBLE:
+ case SD_BUS_TYPE_STRING:
+ case SD_BUS_TYPE_OBJECT_PATH:
+ case SD_BUS_TYPE_SIGNATURE:
+ case SD_BUS_TYPE_UNIX_FD: {
+ void *p;
+
+ p = va_arg(ap, void*);
+ r = sd_bus_message_read_basic(m, *t, p);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ return -ENXIO;
+
+ break;
+ }
+
+ case SD_BUS_TYPE_ARRAY: {
+ size_t k;
+
+ r = signature_element_length(t + 1, &k);
+ if (r < 0)
+ return r;
+
+ {
+ char s[k + 1];
+ memcpy(s, t + 1, k);
+ s[k] = 0;
+
+ r = sd_bus_message_enter_container(m, SD_BUS_TYPE_ARRAY, s);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ return -ENXIO;
+ }
+
+ if (n_array == (unsigned) -1) {
+ types += k;
+ n_struct -= k;
+ }
+
+ r = type_stack_push(stack, ELEMENTSOF(stack), &stack_ptr, types, n_struct, n_array);
+ if (r < 0)
+ return r;
+
+ types = t + 1;
+ n_struct = k;
+ n_array = va_arg(ap, unsigned);
+
+ break;
+ }
+
+ case SD_BUS_TYPE_VARIANT: {
+ const char *s;
+
+ s = va_arg(ap, const char *);
+ if (!s)
+ return -EINVAL;
+
+ r = sd_bus_message_enter_container(m, SD_BUS_TYPE_VARIANT, s);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ return -ENXIO;
+
+ r = type_stack_push(stack, ELEMENTSOF(stack), &stack_ptr, types, n_struct, n_array);
+ if (r < 0)
+ return r;
+
+ types = s;
+ n_struct = strlen(s);
+ n_array = (unsigned) -1;
+
+ break;
+ }
+
+ case SD_BUS_TYPE_STRUCT_BEGIN:
+ case SD_BUS_TYPE_DICT_ENTRY_BEGIN: {
+ size_t k;
+
+ r = signature_element_length(t, &k);
+ if (r < 0)
+ return r;
+
+ {
+ char s[k - 1];
+ memcpy(s, t + 1, k - 2);
+ s[k - 2] = 0;
+
+ r = sd_bus_message_enter_container(m, *t == SD_BUS_TYPE_STRUCT_BEGIN ? SD_BUS_TYPE_STRUCT : SD_BUS_TYPE_DICT_ENTRY, s);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ return -ENXIO;
+ }
+
+ if (n_array == (unsigned) -1) {
+ types += k - 1;
+ n_struct -= k - 1;
+ }
+
+ r = type_stack_push(stack, ELEMENTSOF(stack), &stack_ptr, types, n_struct, n_array);
+ if (r < 0)
+ return r;
+
+ types = t + 1;
+ n_struct = k - 2;
+ n_array = (unsigned) -1;
+
+ break;
+ }
+
+ default:
+ return -EINVAL;
+ }
+ }
+
+ return 1;
+}
+
+int sd_bus_message_read(sd_bus_message *m, const char *types, ...) {
+ va_list ap;
+ int r;
+
+ if (!m)
+ return -EINVAL;
+ if (!m->sealed)
+ return -EPERM;
+ if (!types)
+ return -EINVAL;
+
+ va_start(ap, types);
+ r = message_read_ap(m, types, ap);
+ va_end(ap);
+
+ return r;
+}
+
+static int message_peek_fields(
+ sd_bus_message *m,
+ size_t *rindex,
+ size_t align,
+ size_t nbytes,
+ void **ret) {
+
+ assert(m);
+ assert(rindex);
+ assert(align > 0);
+
+ return buffer_peek(m->fields, BUS_MESSAGE_FIELDS_SIZE(m), rindex, align, nbytes, ret);
+}
+
+static int message_peek_field_uint32(
+ sd_bus_message *m,
+ size_t *ri,
+ uint32_t *ret) {
+
+ int r;
+ void *q;
+
+ assert(m);
+ assert(ri);
+
+ r = message_peek_fields(m, ri, 4, 4, &q);
+ if (r < 0)
+ return r;
+
+ if (ret)
+ *ret = BUS_MESSAGE_BSWAP32(m, *(uint32_t*) q);
+
+ return 0;
+}
+
+static int message_peek_field_string(
+ sd_bus_message *m,
+ bool (*validate)(const char *p),
+ size_t *ri,
+ const char **ret) {
+
+ uint32_t l;
+ int r;
+ void *q;
+
+ assert(m);
+ assert(ri);
+
+ r = message_peek_field_uint32(m, ri, &l);
+ if (r < 0)
+ return r;
+
+ r = message_peek_fields(m, ri, 1, l+1, &q);
+ if (r < 0)
+ return r;
+
+ if (validate) {
+ if (!validate_nul(q, l))
+ return -EBADMSG;
+
+ if (!validate(q))
+ return -EBADMSG;
+ } else {
+ if (!validate_string(q, l))
+ return -EBADMSG;
+ }
+
+ if (ret)
+ *ret = q;
+
+ return 0;
+}
+
+static int message_peek_field_signature(
+ sd_bus_message *m,
+ size_t *ri,
+ const char **ret) {
+
+ size_t l;
+ int r;
+ void *q;
+
+ assert(m);
+ assert(ri);
+
+ r = message_peek_fields(m, ri, 1, 1, &q);
+ if (r < 0)
+ return r;
+
+ l = *(uint8_t*) q;
+ r = message_peek_fields(m, ri, 1, l+1, &q);
+ if (r < 0)
+ return r;
+
+ if (!validate_signature(q, l))
+ return -EBADMSG;
+
+ if (ret)
+ *ret = q;
+
+ return 0;
+}
+
+static int message_skip_fields(
+ sd_bus_message *m,
+ size_t *ri,
+ uint32_t array_size,
+ const char **signature) {
+
+ size_t original_index;
+ int r;
+
+ assert(m);
+ assert(ri);
+ assert(signature);
+
+ original_index = *ri;
+
+ for (;;) {
+ char t;
+ size_t l;
+
+ if (array_size != (uint32_t) -1 &&
+ array_size <= *ri - original_index)
+ return 0;
+
+ t = **signature;
+ if (!t)
+ return 0;
+
+ if (t == SD_BUS_TYPE_STRING) {
+
+ r = message_peek_field_string(m, NULL, ri, NULL);
+ if (r < 0)
+ return r;
+
+ (*signature)++;
+
+ } else if (t == SD_BUS_TYPE_OBJECT_PATH) {
+
+ r = message_peek_field_string(m, object_path_is_valid, ri, NULL);
+ if (r < 0)
+ return r;
+
+ (*signature)++;
+
+ } else if (t == SD_BUS_TYPE_SIGNATURE) {
+
+ r = message_peek_field_signature(m, ri, NULL);
+ if (r < 0)
+ return r;
+
+ (*signature)++;
+
+ } else if (bus_type_is_basic(t)) {
+ ssize_t align, k;
+
+ align = bus_type_get_alignment(t);
+ k = bus_type_get_size(t);
+ assert(align > 0 && k > 0);
+
+ r = message_peek_fields(m, ri, align, k, NULL);
+ if (r < 0)
+ return r;
+
+ (*signature)++;
+
+ } else if (t == SD_BUS_TYPE_ARRAY) {
+
+ r = signature_element_length(*signature+1, &l);
+ if (r < 0)
+ return r;
+
+ assert(l >= 1);
+ {
+ char sig[l-1], *s;
+ uint32_t nas;
+ int alignment;
+
+ strncpy(sig, *signature + 1, l-1);
+ s = sig;
+
+ alignment = bus_type_get_alignment(sig[0]);
+ if (alignment < 0)
+ return alignment;
+
+ r = message_peek_field_uint32(m, ri, &nas);
+ if (r < 0)
+ return r;
+ if (nas > BUS_ARRAY_MAX_SIZE)
+ return -EBADMSG;
+
+ r = message_peek_fields(m, ri, alignment, 0, NULL);
+ if (r < 0)
+ return r;
+
+ r = message_skip_fields(m, ri, nas, (const char**) &s);
+ if (r < 0)
+ return r;
+ }
+
+ (*signature) += 1 + l;
+
+ } else if (t == SD_BUS_TYPE_VARIANT) {
+ const char *s;
+
+ r = message_peek_field_signature(m, ri, &s);
+ if (r < 0)
+ return r;
+
+ r = message_skip_fields(m, ri, (uint32_t) -1, (const char**) &s);
+ if (r < 0)
+ return r;
+
+ (*signature)++;
+
+ } else if (t == SD_BUS_TYPE_STRUCT ||
+ t == SD_BUS_TYPE_DICT_ENTRY) {
+
+ r = signature_element_length(*signature, &l);
+ if (r < 0)
+ return r;
+
+ assert(l >= 2);
+ {
+ char sig[l-1], *s;
+ strncpy(sig, *signature + 1, l-1);
+ s = sig;
+
+ r = message_skip_fields(m, ri, (uint32_t) -1, (const char**) &s);
+ if (r < 0)
+ return r;
+ }
+
+ *signature += l;
+ } else
+ return -EINVAL;
+ }
+}
+
+int bus_message_parse_fields(sd_bus_message *m) {
+ size_t ri;
+ int r;
+ uint32_t unix_fds = 0;
+
+ assert(m);
+
+ for (ri = 0; ri < BUS_MESSAGE_FIELDS_SIZE(m); ) {
+ const char *signature;
+ uint8_t *header;
+
+ r = message_peek_fields(m, &ri, 8, 1, (void**) &header);
+ if (r < 0)
+ return r;
+
+ r = message_peek_field_signature(m, &ri, &signature);
+ if (r < 0)
+ return r;
+
+ switch (*header) {
+ case _SD_BUS_MESSAGE_HEADER_INVALID:
+ return -EBADMSG;
+
+ case SD_BUS_MESSAGE_HEADER_PATH:
+
+ if (m->path)
+ return -EBADMSG;
+
+ if (!streq(signature, "o"))
+ return -EBADMSG;
+
+ r = message_peek_field_string(m, object_path_is_valid, &ri, &m->path);
+ break;
+
+ case SD_BUS_MESSAGE_HEADER_INTERFACE:
+
+ if (m->interface)
+ return -EBADMSG;
+
+ if (!streq(signature, "s"))
+ return -EBADMSG;
+
+ r = message_peek_field_string(m, interface_name_is_valid, &ri, &m->interface);
+ break;
+
+ case SD_BUS_MESSAGE_HEADER_MEMBER:
+
+ if (m->member)
+ return -EBADMSG;
+
+ if (!streq(signature, "s"))
+ return -EBADMSG;
+
+ r = message_peek_field_string(m, member_name_is_valid, &ri, &m->member);
+ break;
+
+ case SD_BUS_MESSAGE_HEADER_ERROR_NAME:
+
+ if (m->error.name)
+ return -EBADMSG;
+
+ if (!streq(signature, "s"))
+ return -EBADMSG;
+
+ r = message_peek_field_string(m, error_name_is_valid, &ri, &m->error.name);
+ break;
+
+ case SD_BUS_MESSAGE_HEADER_DESTINATION:
+
+ if (m->destination)
+ return -EBADMSG;
+
+ if (!streq(signature, "s"))
+ return -EBADMSG;
+
+ r = message_peek_field_string(m, service_name_is_valid, &ri, &m->destination);
+ break;
+
+ case SD_BUS_MESSAGE_HEADER_SENDER:
+
+ if (m->sender)
+ return -EBADMSG;
+
+ if (!streq(signature, "s"))
+ return -EBADMSG;
+
+ r = message_peek_field_string(m, service_name_is_valid, &ri, &m->sender);
+ break;
+
+
+ case SD_BUS_MESSAGE_HEADER_SIGNATURE: {
+ const char *s;
+ char *c;
+
+ if (m->root_container.signature)
+ return -EBADMSG;
+
+ if (!streq(signature, "g"))
+ return -EBADMSG;
+
+ r = message_peek_field_signature(m, &ri, &s);
+ if (r < 0)
+ return r;
+
+ c = strdup(s);
+ if (!c)
+ return -ENOMEM;
+
+ free(m->root_container.signature);
+ m->root_container.signature = c;
+ break;
+ }
+
+ case SD_BUS_MESSAGE_HEADER_REPLY_SERIAL:
+ if (m->reply_serial != 0)
+ return -EBADMSG;
+
+ if (!streq(signature, "u"))
+ return -EBADMSG;
+
+ r = message_peek_field_uint32(m, &ri, &m->reply_serial);
+ if (r < 0)
+ return r;
+
+ if (m->reply_serial == 0)
+ return -EBADMSG;
+
+ break;
+
+ case SD_BUS_MESSAGE_HEADER_UNIX_FDS:
+ if (unix_fds != 0)
+ return -EBADMSG;
+
+ if (!streq(signature, "u"))
+ return -EBADMSG;
+
+ r = message_peek_field_uint32(m, &ri, &unix_fds);
+ if (r < 0)
+ return -EBADMSG;
+
+ if (unix_fds == 0)
+ return -EBADMSG;
+
+ break;
+
+ default:
+ r = message_skip_fields(m, &ri, (uint32_t) -1, (const char **) &signature);
+ }
+
+ if (r < 0)
+ return r;
+ }
+
+ if (m->n_fds != unix_fds)
+ return -EBADMSG;
+
+ if (isempty(m->root_container.signature) != (BUS_MESSAGE_BODY_SIZE(m) == 0))
+ return -EBADMSG;
+
+ switch (m->header->type) {
+
+ case SD_BUS_MESSAGE_TYPE_SIGNAL:
+ if (!m->path || !m->interface || !m->member)
+ return -EBADMSG;
+ break;
+
+ case SD_BUS_MESSAGE_TYPE_METHOD_CALL:
+
+ if (!m->path || !m->member)
+ return -EBADMSG;
+
+ break;
+
+ case SD_BUS_MESSAGE_TYPE_METHOD_RETURN:
+
+ if (m->reply_serial == 0)
+ return -EBADMSG;
+ break;
+
+ case SD_BUS_MESSAGE_TYPE_METHOD_ERROR:
+
+ if (m->reply_serial == 0 || !m->error.name)
+ return -EBADMSG;
+ break;
+ }
+
+ /* Try to read the error message, but if we can't it's a non-issue */
+ if (m->header->type == SD_BUS_MESSAGE_TYPE_METHOD_ERROR)
+ sd_bus_message_read(m, "s", &m->error.message);
+
+ return 0;
+}
+
+int bus_message_seal(sd_bus_message *m, uint64_t serial) {
+ int r;
+ size_t l, a;
+
+ assert(m);
+
+ if (m->sealed)
+ return -EPERM;
+
+ if (m->n_containers > 0)
+ return -EBADMSG;
+
+ /* If there's a non-trivial signature set, then add it in here */
+ if (!isempty(m->root_container.signature)) {
+ r = message_append_field_signature(m, SD_BUS_MESSAGE_HEADER_SIGNATURE, m->root_container.signature, NULL);
+ if (r < 0)
+ return r;
+ }
+
+ if (m->n_fds > 0) {
+ r = message_append_field_uint32(m, SD_BUS_MESSAGE_HEADER_UNIX_FDS, m->n_fds);
+ if (r < 0)
+ return r;
+ }
+
+ l = BUS_MESSAGE_FIELDS_SIZE(m);
+ a = ALIGN8(l) - l;
+
+ if (a > 0) {
+ /* Add padding at the end, since we know the body
+ * needs to start at an 8 byte alignment. */
+ void *p;
+
+ p = message_extend_fields(m, 1, a);
+ if (!p)
+ return -ENOMEM;
+
+ memset(p, 0, a);
+ m->header->fields_size -= a;
+ }
+
+ m->header->serial = serial;
+ m->sealed = true;
+
+ return 0;
+}
+
+int sd_bus_message_set_destination(sd_bus_message *m, const char *destination) {
+ if (!m)
+ return -EINVAL;
+ if (!destination)
+ return -EINVAL;
+ if (m->sealed)
+ return -EPERM;
+ if (m->destination)
+ return -EEXIST;
+
+ return message_append_field_string(m, SD_BUS_MESSAGE_HEADER_DESTINATION, SD_BUS_TYPE_STRING, destination, &m->destination);
+}
+
+int bus_message_dump(sd_bus_message *m) {
+ const char *u = NULL, *uu = NULL, *s = NULL;
+ char **cmdline = NULL;
+ unsigned level = 1;
+ int r;
+ uid_t owner, audit_loginuid;
+ uint32_t audit_sessionid;
+
+ assert(m);
+
+ printf("Message %p\n"
+ "\tn_ref=%u\n"
+ "\tendian=%c\n"
+ "\ttype=%i\n"
+ "\tflags=%u\n"
+ "\tversion=%u\n"
+ "\tserial=%u\n"
+ "\tfields_size=%u\n"
+ "\tbody_size=%u\n"
+ "\tpath=%s\n"
+ "\tinterface=%s\n"
+ "\tmember=%s\n"
+ "\tdestination=%s\n"
+ "\tsender=%s\n"
+ "\tsignature=%s\n"
+ "\treply_serial=%u\n"
+ "\terror.name=%s\n"
+ "\terror.message=%s\n"
+ "\tsealed=%s\n",
+ m,
+ m->n_ref,
+ m->header->endian,
+ m->header->type,
+ m->header->flags,
+ m->header->version,
+ BUS_MESSAGE_SERIAL(m),
+ BUS_MESSAGE_FIELDS_SIZE(m),
+ BUS_MESSAGE_BODY_SIZE(m),
+ strna(m->path),
+ strna(m->interface),
+ strna(m->member),
+ strna(m->destination),
+ strna(m->sender),
+ strna(m->root_container.signature),
+ m->reply_serial,
+ strna(m->error.name),
+ strna(m->error.message),
+ yes_no(m->sealed));
+
+ if (m->pid != 0)
+ printf("\tpid=%lu\n", (unsigned long) m->pid);
+ if (m->tid != 0)
+ printf("\ttid=%lu\n", (unsigned long) m->tid);
+ if (m->uid_valid)
+ printf("\tuid=%lu\n", (unsigned long) m->uid);
+ if (m->gid_valid)
+ printf("\tgid=%lu\n", (unsigned long) m->gid);
+ if (m->pid_starttime != 0)
+ printf("\tpid_starttime=%llu\n", (unsigned long long) m->pid_starttime);
+ if (m->monotonic != 0)
+ printf("\tmonotonic=%llu\n", (unsigned long long) m->monotonic);
+ if (m->realtime != 0)
+ printf("\trealtime=%llu\n", (unsigned long long) m->realtime);
+ if (m->exe)
+ printf("\texe=[%s]\n", m->exe);
+ if (m->comm)
+ printf("\tcomm=[%s]\n", m->comm);
+ if (m->tid_comm)
+ printf("\ttid_comm=[%s]\n", m->tid_comm);
+ if (m->label)
+ printf("\tlabel=[%s]\n", m->label);
+ if (m->cgroup)
+ printf("\tcgroup=[%s]\n", m->cgroup);
+
+ sd_bus_message_get_unit(m, &u);
+ if (u)
+ printf("\tunit=[%s]\n", u);
+ sd_bus_message_get_user_unit(m, &uu);
+ if (uu)
+ printf("\tuser_unit=[%s]\n", uu);
+ sd_bus_message_get_session(m, &s);
+ if (s)
+ printf("\tsession=[%s]\n", s);
+ if (sd_bus_message_get_owner_uid(m, &owner) >= 0)
+ printf("\towner_uid=%lu\n", (unsigned long) owner);
+ if (sd_bus_message_get_audit_loginuid(m, &audit_loginuid) >= 0)
+ printf("\taudit_loginuid=%lu\n", (unsigned long) audit_loginuid);
+ if (sd_bus_message_get_audit_sessionid(m, &audit_sessionid) >= 0)
+ printf("\taudit_sessionid=%lu\n", (unsigned long) audit_sessionid);
+
+ printf("\tCAP_KILL=%i\n", sd_bus_message_has_effective_cap(m, 5));
+
+ if (sd_bus_message_get_cmdline(m, &cmdline) >= 0) {
+ char **c;
+
+ fputs("\tcmdline=[", stdout);
+ STRV_FOREACH(c, cmdline) {
+ if (c != cmdline)
+ putchar(' ');
+
+ fputs(*c, stdout);
+ }
+
+ fputs("]\n", stdout);
+ }
+
+ r = sd_bus_message_rewind(m, true);
+ if (r < 0) {
+ log_error("Failed to rewind: %s", strerror(-r));
+ return r;
+ }
+
+ printf("BEGIN_MESSAGE \"%s\" {\n", strempty(m->root_container.signature));
+
+ for(;;) {
+ _cleanup_free_ char *prefix = NULL;
+ const char *contents = NULL;
+ char type;
+ union {
+ uint8_t u8;
+ uint16_t u16;
+ int16_t s16;
+ uint32_t u32;
+ int32_t s32;
+ uint64_t u64;
+ int64_t s64;
+ double d64;
+ const char *string;
+ int i;
+ } basic;
+
+ r = sd_bus_message_peek_type(m, &type, &contents);
+ if (r < 0) {
+ log_error("Failed to peek type: %s", strerror(-r));
+ return r;
+ }
+ if (r == 0) {
+ if (level <= 1)
+ break;
+
+ r = sd_bus_message_exit_container(m);
+ if (r < 0) {
+ log_error("Failed to exit container: %s", strerror(-r));
+ return r;
+ }
+
+ level--;
+
+ prefix = strrep("\t", level);
+ if (!prefix)
+ return log_oom();
+
+ if (type == SD_BUS_TYPE_ARRAY)
+ printf("%s} END_ARRAY \n", prefix);
+ else if (type == SD_BUS_TYPE_VARIANT)
+ printf("%s} END_VARIANT\n", prefix);
+ else if (type == SD_BUS_TYPE_STRUCT)
+ printf("%s} END_STRUCT\n", prefix);
+ else if (type == SD_BUS_TYPE_DICT_ENTRY)
+ printf("%s} END_DICT_ENTRY\n", prefix);
+
+ continue;
+ }
+
+ prefix = strrep("\t", level);
+ if (!prefix)
+ return log_oom();
+
+ if (bus_type_is_container(type) > 0) {
+ r = sd_bus_message_enter_container(m, type, contents);
+ if (r < 0) {
+ log_error("Failed to enter container: %s", strerror(-r));
+ return r;
+ }
+
+ if (type == SD_BUS_TYPE_ARRAY)
+ printf("%sBEGIN_ARRAY \"%s\" {\n", prefix, contents);
+ else if (type == SD_BUS_TYPE_VARIANT)
+ printf("%sBEGIN_VARIANT \"%s\" {\n", prefix, contents);
+ else if (type == SD_BUS_TYPE_STRUCT)
+ printf("%sBEGIN_STRUCT \"%s\" {\n", prefix, contents);
+ else if (type == SD_BUS_TYPE_DICT_ENTRY)
+ printf("%sBEGIN_DICT_ENTRY \"%s\" {\n", prefix, contents);
+
+ level ++;
+
+ continue;
+ }
+
+ r = sd_bus_message_read_basic(m, type, &basic);
+ if (r < 0) {
+ log_error("Failed to get basic: %s", strerror(-r));
+ return r;
+ }
+
+ switch (type) {
+
+ case SD_BUS_TYPE_BYTE:
+ printf("%sBYTE: %u\n", prefix, basic.u8);
+ break;
+
+ case SD_BUS_TYPE_BOOLEAN:
+ printf("%sBOOLEAN: %s\n", prefix, yes_no(basic.i));
+ break;
+
+ case SD_BUS_TYPE_INT16:
+ printf("%sINT16: %i\n", prefix, basic.s16);
+ break;
+
+ case SD_BUS_TYPE_UINT16:
+ printf("%sUINT16: %u\n", prefix, basic.u16);
+ break;
+
+ case SD_BUS_TYPE_INT32:
+ printf("%sINT32: %i\n", prefix, basic.s32);
+ break;
+
+ case SD_BUS_TYPE_UINT32:
+ printf("%sUINT32: %u\n", prefix, basic.u32);
+ break;
+
+ case SD_BUS_TYPE_INT64:
+ printf("%sINT64: %lli\n", prefix, (long long) basic.s64);
+ break;
+
+ case SD_BUS_TYPE_UINT64:
+ printf("%sUINT64: %llu\n", prefix, (unsigned long long) basic.u64);
+ break;
+
+ case SD_BUS_TYPE_DOUBLE:
+ printf("%sDOUBLE: %g\n", prefix, basic.d64);
+ break;
+
+ case SD_BUS_TYPE_STRING:
+ printf("%sSTRING: \"%s\"\n", prefix, basic.string);
+ break;
+
+ case SD_BUS_TYPE_OBJECT_PATH:
+ printf("%sOBJECT_PATH: \"%s\"\n", prefix, basic.string);
+ break;
+
+ case SD_BUS_TYPE_SIGNATURE:
+ printf("%sSIGNATURE: \"%s\"\n", prefix, basic.string);
+ break;
+
+ case SD_BUS_TYPE_UNIX_FD:
+ printf("%sUNIX_FD: %i\n", prefix, basic.i);
+ break;
+
+ default:
+ assert_not_reached("Unknown basic type.");
+ }
+ }
+
+ printf("} END_MESSAGE\n");
+ return 0;
+}
+
+int bus_message_get_blob(sd_bus_message *m, void **buffer, size_t *sz) {
+ size_t total;
+ void *p, *e;
+
+ assert(m);
+ assert(buffer);
+ assert(sz);
+
+ total = BUS_MESSAGE_SIZE(m);
+
+ p = malloc(total);
+ if (!p)
+ return -ENOMEM;
+
+ e = mempcpy(p, m->header, sizeof(*m->header));
+
+ if (m->fields) {
+ e = mempcpy(e, m->fields, m->header->fields_size);
+
+ if (m->header->fields_size % 8 != 0)
+ e = mempset(e, 0, 8 - (m->header->fields_size % 8));
+ }
+
+ if (m->body)
+ e = mempcpy(e, m->body, m->header->body_size);
+
+ assert(total == (size_t) ((uint8_t*) e - (uint8_t*) p));
+
+ *buffer = p;
+ *sz = total;
+
+ return 0;
+}
+
+int bus_message_read_strv_extend(sd_bus_message *m, char ***l) {
+ int r;
+
+ assert(m);
+ assert(l);
+
+ r = sd_bus_message_enter_container(m, 'a', "s");
+ if (r < 0)
+ return r;
+
+ for (;;) {
+ const char *s;
+
+ r = sd_bus_message_read_basic(m, 's', &s);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ break;
+
+ r = strv_extend(l, s);
+ if (r < 0)
+ return r;
+ }
+
+ r = sd_bus_message_exit_container(m);
+ if (r < 0)
+ return r;
+
+ return 0;
+}
+
+const char* bus_message_get_arg(sd_bus_message *m, unsigned i) {
+ int r;
+ const char *t = NULL;
+ unsigned j;
+
+ assert(m);
+
+ r = sd_bus_message_rewind(m, true);
+ if (r < 0)
+ return NULL;
+
+ for (j = 0; j <= i; j++) {
+ char type;
+
+ r = sd_bus_message_peek_type(m, &type, NULL);
+ if (r < 0)
+ return NULL;
+
+ if (type != SD_BUS_TYPE_STRING &&
+ type != SD_BUS_TYPE_OBJECT_PATH &&
+ type != SD_BUS_TYPE_SIGNATURE)
+ return NULL;
+
+ r = sd_bus_message_read_basic(m, type, &t);
+ if (r < 0)
+ return NULL;
+ }
+
+ return t;
+}
+
+int bus_header_size(struct bus_header *h, size_t *sum) {
+ size_t fs, bs;
+
+ assert(h);
+ assert(sum);
+
+ if (h->endian == SD_BUS_NATIVE_ENDIAN) {
+ fs = h->fields_size;
+ bs = h->body_size;
+ } else if (h->endian == SD_BUS_REVERSE_ENDIAN) {
+ fs = bswap_32(h->fields_size);
+ bs = bswap_32(h->body_size);
+ } else
+ return -EBADMSG;
+
+ *sum = sizeof(struct bus_header) + ALIGN8(fs) + bs;
+ return 0;
+}
diff --git a/src/libsystemd-bus/bus-message.h b/src/libsystemd-bus/bus-message.h
new file mode 100644
index 0000000000..9c0829c7fa
--- /dev/null
+++ b/src/libsystemd-bus/bus-message.h
@@ -0,0 +1,198 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdbool.h>
+#include <byteswap.h>
+#include <sys/socket.h>
+
+#include "macro.h"
+#include "sd-bus.h"
+#include "kdbus.h"
+#include "time-util.h"
+
+struct bus_container {
+ char enclosing;
+
+ char *signature;
+ unsigned index;
+
+ uint32_t *array_size;
+ size_t begin;
+};
+
+struct bus_header {
+ uint8_t endian;
+ uint8_t type;
+ uint8_t flags;
+ uint8_t version;
+ uint32_t body_size;
+ uint32_t serial;
+ uint32_t fields_size;
+} _packed_;
+
+struct sd_bus_message {
+ unsigned n_ref;
+
+ uint32_t reply_serial;
+
+ const char *path;
+ const char *interface;
+ const char *member;
+ const char *destination;
+ const char *sender;
+
+ sd_bus_error error;
+
+ uid_t uid;
+ gid_t gid;
+ pid_t pid;
+ pid_t tid;
+ usec_t pid_starttime;
+ usec_t monotonic;
+ usec_t realtime;
+
+ bool sealed:1;
+ bool dont_send:1;
+ bool allow_fds:1;
+ bool uid_valid:1;
+ bool gid_valid:1;
+ bool free_header:1;
+ bool free_fields:1;
+ bool free_body:1;
+ bool free_kdbus:1;
+ bool free_fds:1;
+
+ struct bus_header *header;
+ void *fields;
+ void *body;
+ struct kdbus_msg *kdbus;
+
+ char *label;
+
+ size_t rindex;
+
+ uint32_t n_fds;
+ int *fds;
+
+ struct bus_container root_container, *containers;
+ unsigned n_containers;
+
+ struct iovec iovec[3];
+ unsigned n_iovec;
+
+ char *peeked_signature;
+
+ usec_t timeout;
+
+ char sender_buffer[3 + DECIMAL_STR_MAX(uint64_t) + 1];
+ char destination_buffer[3 + DECIMAL_STR_MAX(uint64_t) + 1];
+
+ const char *exe;
+ const char *comm;
+ const char *tid_comm;
+ const char *cgroup;
+
+ const char *cmdline;
+ size_t cmdline_length;
+ char **cmdline_array;
+
+ char *session;
+ char *unit;
+ char *user_unit;
+
+ struct kdbus_audit *audit;
+
+ uint8_t *capability;
+ size_t capability_size;
+};
+
+#define BUS_MESSAGE_NEED_BSWAP(m) ((m)->header->endian != SD_BUS_NATIVE_ENDIAN)
+
+static inline uint16_t BUS_MESSAGE_BSWAP16(sd_bus_message *m, uint16_t u) {
+ return BUS_MESSAGE_NEED_BSWAP(m) ? bswap_16(u) : u;
+}
+
+static inline uint32_t BUS_MESSAGE_BSWAP32(sd_bus_message *m, uint32_t u) {
+ return BUS_MESSAGE_NEED_BSWAP(m) ? bswap_32(u) : u;
+}
+
+static inline uint64_t BUS_MESSAGE_BSWAP64(sd_bus_message *m, uint64_t u) {
+ return BUS_MESSAGE_NEED_BSWAP(m) ? bswap_64(u) : u;
+}
+
+static inline uint32_t BUS_MESSAGE_SERIAL(sd_bus_message *m) {
+ return BUS_MESSAGE_BSWAP32(m, m->header->serial);
+}
+
+static inline uint32_t BUS_MESSAGE_BODY_SIZE(sd_bus_message *m) {
+ return BUS_MESSAGE_BSWAP32(m, m->header->body_size);
+}
+
+static inline uint32_t BUS_MESSAGE_FIELDS_SIZE(sd_bus_message *m) {
+ return BUS_MESSAGE_BSWAP32(m, m->header->fields_size);
+}
+
+static inline uint32_t BUS_MESSAGE_SIZE(sd_bus_message *m) {
+ return
+ sizeof(struct bus_header) +
+ ALIGN8(BUS_MESSAGE_FIELDS_SIZE(m)) +
+ BUS_MESSAGE_BODY_SIZE(m);
+}
+
+static inline void bus_message_unrefp(sd_bus_message **m) {
+ sd_bus_message_unref(*m);
+}
+
+#define _cleanup_bus_message_unref_ __attribute__((cleanup(bus_message_unrefp)))
+
+int bus_message_seal(sd_bus_message *m, uint64_t serial);
+int bus_message_dump(sd_bus_message *m);
+int bus_message_get_blob(sd_bus_message *m, void **buffer, size_t *sz);
+int bus_message_read_strv_extend(sd_bus_message *m, char ***l);
+
+int bus_message_from_header(
+ void *header,
+ size_t length,
+ int *fds,
+ unsigned n_fds,
+ const struct ucred *ucred,
+ const char *label,
+ size_t extra,
+ sd_bus_message **ret);
+
+int bus_message_from_malloc(
+ void *buffer,
+ size_t length,
+ int *fds,
+ unsigned n_fds,
+ const struct ucred *ucred,
+ const char *label,
+ sd_bus_message **ret);
+
+const char* bus_message_get_arg(sd_bus_message *m, unsigned i);
+
+int bus_message_append_ap(sd_bus_message *m, const char *types, va_list ap);
+
+int bus_message_parse_fields(sd_bus_message *m);
+
+int bus_header_size(struct bus_header *h, size_t *sum);
diff --git a/src/libsystemd-bus/bus-signature.c b/src/libsystemd-bus/bus-signature.c
new file mode 100644
index 0000000000..a92b7124c3
--- /dev/null
+++ b/src/libsystemd-bus/bus-signature.c
@@ -0,0 +1,153 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <util.h>
+
+#include "bus-signature.h"
+#include "bus-type.h"
+
+static int signature_element_length_internal(
+ const char *s,
+ bool allow_dict_entry,
+ unsigned array_depth,
+ unsigned struct_depth,
+ size_t *l) {
+
+ int r;
+
+ assert(s);
+
+ if (bus_type_is_basic(*s) || *s == SD_BUS_TYPE_VARIANT) {
+ *l = 1;
+ return 0;
+ }
+
+ if (*s == SD_BUS_TYPE_ARRAY) {
+ size_t t;
+
+ if (array_depth >= 32)
+ return -EINVAL;
+
+ r = signature_element_length_internal(s + 1, true, array_depth+1, struct_depth, &t);
+ if (r < 0)
+ return r;
+
+ *l = t + 1;
+ return 0;
+ }
+
+ if (*s == SD_BUS_TYPE_STRUCT_BEGIN) {
+ const char *p = s + 1;
+
+ if (struct_depth >= 32)
+ return -EINVAL;
+
+ while (*p != SD_BUS_TYPE_STRUCT_END) {
+ size_t t;
+
+ r = signature_element_length_internal(p, false, array_depth, struct_depth+1, &t);
+ if (r < 0)
+ return r;
+
+ p += t;
+ }
+
+ *l = p - s + 1;
+ return 0;
+ }
+
+ if (*s == SD_BUS_TYPE_DICT_ENTRY_BEGIN && allow_dict_entry) {
+ const char *p = s + 1;
+ unsigned n = 0;
+
+ if (struct_depth >= 32)
+ return -EINVAL;
+
+ while (*p != SD_BUS_TYPE_DICT_ENTRY_END) {
+ size_t t;
+
+ if (n == 0 && !bus_type_is_basic(*p))
+ return -EINVAL;
+
+ r = signature_element_length_internal(p, false, array_depth, struct_depth+1, &t);
+ if (r < 0)
+ return r;
+
+ p += t;
+ n++;
+ }
+
+ if (n != 2)
+ return -EINVAL;
+
+ *l = p - s + 1;
+ return 0;
+ }
+
+ return -EINVAL;
+}
+
+
+int signature_element_length(const char *s, size_t *l) {
+ return signature_element_length_internal(s, true, 0, 0, l);
+}
+
+bool signature_is_single(const char *s) {
+ int r;
+ size_t t;
+
+ assert(s);
+
+ r = signature_element_length(s, &t);
+ if (r < 0)
+ return false;
+
+ return s[t] == 0;
+}
+
+bool signature_is_pair(const char *s) {
+ assert(s);
+
+ if (!bus_type_is_basic(*s))
+ return false;
+
+ return signature_is_single(s + 1);
+}
+
+bool signature_is_valid(const char *s, bool allow_dict_entry) {
+ const char *p;
+ int r;
+
+ assert(s);
+
+ p = s;
+ while (*p) {
+ size_t t;
+
+ r = signature_element_length_internal(p, allow_dict_entry, 0, 0, &t);
+ if (r < 0)
+ return false;
+
+ p += t;
+ }
+
+ return p - s <= 255;
+}
diff --git a/src/libsystemd-bus/bus-signature.h b/src/libsystemd-bus/bus-signature.h
new file mode 100644
index 0000000000..4000e0612a
--- /dev/null
+++ b/src/libsystemd-bus/bus-signature.h
@@ -0,0 +1,31 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdbool.h>
+#include <sys/types.h>
+
+bool signature_is_single(const char *s);
+bool signature_is_pair(const char *s);
+bool signature_is_valid(const char *s, bool allow_dict_entry);
+
+int signature_element_length(const char *s, size_t *l);
diff --git a/src/libsystemd-bus/bus-socket.c b/src/libsystemd-bus/bus-socket.c
new file mode 100644
index 0000000000..8a86b02c68
--- /dev/null
+++ b/src/libsystemd-bus/bus-socket.c
@@ -0,0 +1,1059 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <endian.h>
+#include <assert.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/poll.h>
+#include <byteswap.h>
+
+#include "util.h"
+#include "macro.h"
+#include "missing.h"
+#include "strv.h"
+#include "utf8.h"
+#include "sd-daemon.h"
+
+#include "sd-bus.h"
+#include "bus-socket.h"
+#include "bus-internal.h"
+#include "bus-message.h"
+
+static void iovec_advance(struct iovec iov[], unsigned *idx, size_t size) {
+
+ while (size > 0) {
+ struct iovec *i = iov + *idx;
+
+ if (i->iov_len > size) {
+ i->iov_base = (uint8_t*) i->iov_base + size;
+ i->iov_len -= size;
+ return;
+ }
+
+ size -= i->iov_len;
+
+ i->iov_base = NULL;
+ i->iov_len = 0;
+
+ (*idx) ++;
+ }
+}
+
+static void append_iovec(sd_bus_message *m, const void *p, size_t sz) {
+ assert(m);
+ assert(p);
+ assert(sz > 0);
+
+ m->iovec[m->n_iovec].iov_base = (void*) p;
+ m->iovec[m->n_iovec].iov_len = sz;
+ m->n_iovec++;
+}
+
+static void bus_message_setup_iovec(sd_bus_message *m) {
+ assert(m);
+ assert(m->sealed);
+
+ if (m->n_iovec > 0)
+ return;
+
+ append_iovec(m, m->header, sizeof(*m->header));
+
+ if (m->fields)
+ append_iovec(m, m->fields, ALIGN8(m->header->fields_size));
+
+ if (m->body)
+ append_iovec(m, m->body, m->header->body_size);
+}
+
+bool bus_socket_auth_needs_write(sd_bus *b) {
+
+ unsigned i;
+
+ if (b->auth_index >= ELEMENTSOF(b->auth_iovec))
+ return false;
+
+ for (i = b->auth_index; i < ELEMENTSOF(b->auth_iovec); i++) {
+ struct iovec *j = b->auth_iovec + i;
+
+ if (j->iov_len > 0)
+ return true;
+ }
+
+ return false;
+}
+
+static int bus_socket_write_auth(sd_bus *b) {
+ ssize_t k;
+
+ assert(b);
+ assert(b->state == BUS_AUTHENTICATING);
+
+ if (!bus_socket_auth_needs_write(b))
+ return 0;
+
+ if (b->prefer_writev)
+ k = writev(b->output_fd, b->auth_iovec + b->auth_index, ELEMENTSOF(b->auth_iovec) - b->auth_index);
+ else {
+ struct msghdr mh;
+ zero(mh);
+
+ mh.msg_iov = b->auth_iovec + b->auth_index;
+ mh.msg_iovlen = ELEMENTSOF(b->auth_iovec) - b->auth_index;
+
+ k = sendmsg(b->output_fd, &mh, MSG_DONTWAIT|MSG_NOSIGNAL);
+ if (k < 0 && errno == ENOTSOCK) {
+ b->prefer_writev = true;
+ k = writev(b->output_fd, b->auth_iovec + b->auth_index, ELEMENTSOF(b->auth_iovec) - b->auth_index);
+ }
+ }
+
+ if (k < 0)
+ return errno == EAGAIN ? 0 : -errno;
+
+ iovec_advance(b->auth_iovec, &b->auth_index, (size_t) k);
+ return 1;
+}
+
+static int bus_socket_auth_verify_client(sd_bus *b) {
+ char *e, *f, *start;
+ sd_id128_t peer;
+ unsigned i;
+ int r;
+
+ assert(b);
+
+ /* We expect two response lines: "OK" and possibly
+ * "AGREE_UNIX_FD" */
+
+ e = memmem(b->rbuffer, b->rbuffer_size, "\r\n", 2);
+ if (!e)
+ return 0;
+
+ if (b->negotiate_fds) {
+ f = memmem(e + 2, b->rbuffer_size - (e - (char*) b->rbuffer) - 2, "\r\n", 2);
+ if (!f)
+ return 0;
+
+ start = f + 2;
+ } else {
+ f = NULL;
+ start = e + 2;
+ }
+
+ /* Nice! We got all the lines we need. First check the OK
+ * line */
+
+ if (e - (char*) b->rbuffer != 3 + 32)
+ return -EPERM;
+
+ if (memcmp(b->rbuffer, "OK ", 3))
+ return -EPERM;
+
+ b->auth = b->anonymous_auth ? BUS_AUTH_ANONYMOUS : BUS_AUTH_EXTERNAL;
+
+ for (i = 0; i < 32; i += 2) {
+ int x, y;
+
+ x = unhexchar(((char*) b->rbuffer)[3 + i]);
+ y = unhexchar(((char*) b->rbuffer)[3 + i + 1]);
+
+ if (x < 0 || y < 0)
+ return -EINVAL;
+
+ peer.bytes[i/2] = ((uint8_t) x << 4 | (uint8_t) y);
+ }
+
+ if (!sd_id128_equal(b->server_id, SD_ID128_NULL) &&
+ !sd_id128_equal(b->server_id, peer))
+ return -EPERM;
+
+ b->server_id = peer;
+
+ /* And possibly check the second line, too */
+
+ if (f)
+ b->can_fds =
+ (f - e == sizeof("\r\nAGREE_UNIX_FD") - 1) &&
+ memcmp(e + 2, "AGREE_UNIX_FD", sizeof("AGREE_UNIX_FD") - 1) == 0;
+
+ b->rbuffer_size -= (start - (char*) b->rbuffer);
+ memmove(b->rbuffer, start, b->rbuffer_size);
+
+ r = bus_start_running(b);
+ if (r < 0)
+ return r;
+
+ return 1;
+}
+
+static bool line_equals(const char *s, size_t m, const char *line) {
+ size_t l;
+
+ l = strlen(line);
+ if (l != m)
+ return false;
+
+ return memcmp(s, line, l) == 0;
+}
+
+static bool line_begins(const char *s, size_t m, const char *word) {
+ size_t l;
+
+ l = strlen(word);
+ if (m < l)
+ return false;
+
+ if (memcmp(s, word, l) != 0)
+ return false;
+
+ return m == l || (m > l && s[l] == ' ');
+}
+
+static int verify_anonymous_token(sd_bus *b, const char *p, size_t l) {
+ _cleanup_free_ char *token = NULL;
+
+ if (!b->anonymous_auth)
+ return 0;
+
+ if (l <= 0)
+ return 1;
+
+ assert(p[0] == ' ');
+ p++; l--;
+
+ if (l % 2 != 0)
+ return 0;
+ token = unhexmem(p, l);
+ if (!token)
+ return -ENOMEM;
+
+ if (memchr(token, 0, l/2))
+ return 0;
+
+ return !!utf8_is_valid(token);
+}
+
+static int verify_external_token(sd_bus *b, const char *p, size_t l) {
+ _cleanup_free_ char *token = NULL;
+ uid_t u;
+ int r;
+
+ /* We don't do any real authentication here. Instead, we if
+ * the owner of this bus wanted authentication he should have
+ * checked SO_PEERCRED before even creating the bus object. */
+
+ if (!b->anonymous_auth && !b->ucred_valid)
+ return 0;
+
+ if (l <= 0)
+ return 1;
+
+ assert(p[0] == ' ');
+ p++; l--;
+
+ if (l % 2 != 0)
+ return 0;
+
+ token = unhexmem(p, l);
+ if (!token)
+ return -ENOMEM;
+
+ if (memchr(token, 0, l/2))
+ return 0;
+
+ r = parse_uid(token, &u);
+ if (r < 0)
+ return 0;
+
+ /* We ignore the passed value if anonymous authentication is
+ * on anyway. */
+ if (!b->anonymous_auth && u != b->ucred.uid)
+ return 0;
+
+ return 1;
+}
+
+static int bus_socket_auth_write(sd_bus *b, const char *t) {
+ char *p;
+ size_t l;
+
+ assert(b);
+ assert(t);
+
+ /* We only make use of the first iovec */
+ assert(b->auth_index == 0 || b->auth_index == 1);
+
+ l = strlen(t);
+ p = malloc(b->auth_iovec[0].iov_len + l);
+ if (!p)
+ return -ENOMEM;
+
+ memcpy(p, b->auth_iovec[0].iov_base, b->auth_iovec[0].iov_len);
+ memcpy(p + b->auth_iovec[0].iov_len, t, l);
+
+ b->auth_iovec[0].iov_base = p;
+ b->auth_iovec[0].iov_len += l;
+
+ free(b->auth_buffer);
+ b->auth_buffer = p;
+ b->auth_index = 0;
+ return 0;
+}
+
+static int bus_socket_auth_write_ok(sd_bus *b) {
+ char t[3 + 32 + 2 + 1];
+
+ assert(b);
+
+ snprintf(t, sizeof(t), "OK " SD_ID128_FORMAT_STR "\r\n", SD_ID128_FORMAT_VAL(b->server_id));
+ char_array_0(t);
+
+ return bus_socket_auth_write(b, t);
+}
+
+static int bus_socket_auth_verify_server(sd_bus *b) {
+ char *e;
+ const char *line;
+ size_t l;
+ bool processed = false;
+ int r;
+
+ assert(b);
+
+ if (b->rbuffer_size < 1)
+ return 0;
+
+ /* First char must be a NUL byte */
+ if (*(char*) b->rbuffer != 0)
+ return -EIO;
+
+ if (b->rbuffer_size < 3)
+ return 0;
+
+ /* Begin with the first line */
+ if (b->auth_rbegin <= 0)
+ b->auth_rbegin = 1;
+
+ for (;;) {
+ /* Check if line is complete */
+ line = (char*) b->rbuffer + b->auth_rbegin;
+ e = memmem(line, b->rbuffer_size - b->auth_rbegin, "\r\n", 2);
+ if (!e)
+ return processed;
+
+ l = e - line;
+
+ if (line_begins(line, l, "AUTH ANONYMOUS")) {
+
+ r = verify_anonymous_token(b, line + 14, l - 14);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ r = bus_socket_auth_write(b, "REJECTED\r\n");
+ else {
+ b->auth = BUS_AUTH_ANONYMOUS;
+ r = bus_socket_auth_write_ok(b);
+ }
+
+ } else if (line_begins(line, l, "AUTH EXTERNAL")) {
+
+ r = verify_external_token(b, line + 13, l - 13);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ r = bus_socket_auth_write(b, "REJECTED\r\n");
+ else {
+ b->auth = BUS_AUTH_EXTERNAL;
+ r = bus_socket_auth_write_ok(b);
+ }
+
+ } else if (line_begins(line, l, "AUTH"))
+ r = bus_socket_auth_write(b, "REJECTED EXTERNAL ANONYMOUS\r\n");
+ else if (line_equals(line, l, "CANCEL") ||
+ line_begins(line, l, "ERROR")) {
+
+ b->auth = _BUS_AUTH_INVALID;
+ r = bus_socket_auth_write(b, "REJECTED\r\n");
+
+ } else if (line_equals(line, l, "BEGIN")) {
+
+ if (b->auth == _BUS_AUTH_INVALID)
+ r = bus_socket_auth_write(b, "ERROR\r\n");
+ else {
+ /* We can't leave from the auth phase
+ * before we haven't written
+ * everything queued, so let's check
+ * that */
+
+ if (bus_socket_auth_needs_write(b))
+ return 1;
+
+ b->rbuffer_size -= (e + 2 - (char*) b->rbuffer);
+ memmove(b->rbuffer, e + 2, b->rbuffer_size);
+ return bus_start_running(b);
+ }
+
+ } else if (line_begins(line, l, "DATA")) {
+
+ if (b->auth == _BUS_AUTH_INVALID)
+ r = bus_socket_auth_write(b, "ERROR\r\n");
+ else {
+ if (b->auth == BUS_AUTH_ANONYMOUS)
+ r = verify_anonymous_token(b, line + 4, l - 4);
+ else
+ r = verify_external_token(b, line + 4, l - 4);
+
+ if (r < 0)
+ return r;
+ if (r == 0) {
+ b->auth = _BUS_AUTH_INVALID;
+ r = bus_socket_auth_write(b, "REJECTED\r\n");
+ } else
+ r = bus_socket_auth_write_ok(b);
+ }
+ } else if (line_equals(line, l, "NEGOTIATE_UNIX_FD")) {
+ if (b->auth == _BUS_AUTH_INVALID || !b->negotiate_fds)
+ r = bus_socket_auth_write(b, "ERROR\r\n");
+ else {
+ b->can_fds = true;
+ r = bus_socket_auth_write(b, "AGREE_UNIX_FD\r\n");
+ }
+ } else
+ r = bus_socket_auth_write(b, "ERROR\r\n");
+
+ if (r < 0)
+ return r;
+
+ b->auth_rbegin = e + 2 - (char*) b->rbuffer;
+
+ processed = true;
+ }
+}
+
+static int bus_socket_auth_verify(sd_bus *b) {
+ assert(b);
+
+ if (b->is_server)
+ return bus_socket_auth_verify_server(b);
+ else
+ return bus_socket_auth_verify_client(b);
+}
+
+static int bus_socket_read_auth(sd_bus *b) {
+ struct msghdr mh;
+ struct iovec iov;
+ size_t n;
+ ssize_t k;
+ int r;
+ void *p;
+ union {
+ struct cmsghdr cmsghdr;
+ uint8_t buf[CMSG_SPACE(sizeof(int) * BUS_FDS_MAX) +
+ CMSG_SPACE(sizeof(struct ucred)) +
+ CMSG_SPACE(NAME_MAX)]; /*selinux label */
+ } control;
+ struct cmsghdr *cmsg;
+ bool handle_cmsg = false;
+
+ assert(b);
+ assert(b->state == BUS_AUTHENTICATING);
+
+ r = bus_socket_auth_verify(b);
+ if (r != 0)
+ return r;
+
+ n = MAX(256u, b->rbuffer_size * 2);
+
+ if (n > BUS_AUTH_SIZE_MAX)
+ n = BUS_AUTH_SIZE_MAX;
+
+ if (b->rbuffer_size >= n)
+ return -ENOBUFS;
+
+ p = realloc(b->rbuffer, n);
+ if (!p)
+ return -ENOMEM;
+
+ b->rbuffer = p;
+
+ zero(iov);
+ iov.iov_base = (uint8_t*) b->rbuffer + b->rbuffer_size;
+ iov.iov_len = n - b->rbuffer_size;
+
+ if (b->prefer_readv)
+ k = readv(b->input_fd, &iov, 1);
+ else {
+ zero(mh);
+ mh.msg_iov = &iov;
+ mh.msg_iovlen = 1;
+ mh.msg_control = &control;
+ mh.msg_controllen = sizeof(control);
+
+ k = recvmsg(b->input_fd, &mh, MSG_DONTWAIT|MSG_NOSIGNAL|MSG_CMSG_CLOEXEC);
+ if (k < 0 && errno == ENOTSOCK) {
+ b->prefer_readv = true;
+ k = readv(b->input_fd, &iov, 1);
+ } else
+ handle_cmsg = true;
+ }
+ if (k < 0)
+ return errno == EAGAIN ? 0 : -errno;
+ if (k == 0)
+ return -ECONNRESET;
+
+ b->rbuffer_size += k;
+
+ if (handle_cmsg) {
+ for (cmsg = CMSG_FIRSTHDR(&mh); cmsg; cmsg = CMSG_NXTHDR(&mh, cmsg)) {
+ if (cmsg->cmsg_level == SOL_SOCKET &&
+ cmsg->cmsg_type == SCM_RIGHTS) {
+ int j;
+
+ /* Whut? We received fds during the auth
+ * protocol? Somebody is playing games with
+ * us. Close them all, and fail */
+ j = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int);
+ close_many((int*) CMSG_DATA(cmsg), j);
+ return -EIO;
+
+ } else if (cmsg->cmsg_level == SOL_SOCKET &&
+ cmsg->cmsg_type == SCM_CREDENTIALS &&
+ cmsg->cmsg_len == CMSG_LEN(sizeof(struct ucred))) {
+
+ /* Ignore bogus data, which we might
+ * get on socketpair() sockets */
+ if (((struct ucred*) CMSG_DATA(cmsg))->pid != 0) {
+ memcpy(&b->ucred, CMSG_DATA(cmsg), sizeof(struct ucred));
+ b->ucred_valid = true;
+ }
+
+ } else if (cmsg->cmsg_level == SOL_SOCKET &&
+ cmsg->cmsg_type == SCM_SECURITY) {
+
+ size_t l;
+
+ l = cmsg->cmsg_len - CMSG_LEN(0);
+ if (l > 0) {
+ memcpy(&b->label, CMSG_DATA(cmsg), l);
+ b->label[l] = 0;
+ }
+ }
+ }
+ }
+
+ r = bus_socket_auth_verify(b);
+ if (r != 0)
+ return r;
+
+ return 1;
+}
+
+static int bus_socket_setup(sd_bus *b) {
+ int enable;
+ socklen_t l;
+
+ assert(b);
+
+ /* Enable SO_PASSCRED + SO_PASSEC. We try this on any
+ * socket, just in case. */
+ enable = !b->bus_client;
+ setsockopt(b->input_fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable));
+ setsockopt(b->input_fd, SOL_SOCKET, SO_PASSSEC, &enable, sizeof(enable));
+
+ /* Increase the buffers to a MB */
+ fd_inc_rcvbuf(b->input_fd, 1024*1024);
+ fd_inc_sndbuf(b->output_fd, 1024*1024);
+
+ /* Get the peer for socketpair() sockets */
+ l = sizeof(b->ucred);
+ if (getsockopt(b->input_fd, SOL_SOCKET, SO_PEERCRED, &b->ucred, &l) >= 0 && l >= sizeof(b->ucred))
+ b->ucred_valid = b->ucred.pid > 0;
+
+ return 0;
+}
+
+static int bus_socket_start_auth_client(sd_bus *b) {
+ size_t l;
+ const char *auth_suffix, *auth_prefix;
+
+ assert(b);
+
+ if (b->anonymous_auth) {
+ auth_prefix = "\0AUTH ANONYMOUS ";
+
+ /* For ANONYMOUS auth we send some arbitrary "trace" string */
+ l = 9;
+ b->auth_buffer = hexmem("anonymous", l);
+ } else {
+ char text[20 + 1]; /* enough space for a 64bit integer plus NUL */
+
+ auth_prefix = "\0AUTH EXTERNAL ";
+
+ snprintf(text, sizeof(text), "%lu", (unsigned long) geteuid());
+ char_array_0(text);
+
+ l = strlen(text);
+ b->auth_buffer = hexmem(text, l);
+ }
+
+ if (!b->auth_buffer)
+ return -ENOMEM;
+
+ if (b->negotiate_fds)
+ auth_suffix = "\r\nNEGOTIATE_UNIX_FD\r\nBEGIN\r\n";
+ else
+ auth_suffix = "\r\nBEGIN\r\n";
+
+ b->auth_iovec[0].iov_base = (void*) auth_prefix;
+ b->auth_iovec[0].iov_len = 1 + strlen(auth_prefix + 1);
+ b->auth_iovec[1].iov_base = (void*) b->auth_buffer;
+ b->auth_iovec[1].iov_len = l * 2;
+ b->auth_iovec[2].iov_base = (void*) auth_suffix;
+ b->auth_iovec[2].iov_len = strlen(auth_suffix);
+
+ return bus_socket_write_auth(b);
+}
+
+static int bus_socket_start_auth(sd_bus *b) {
+ assert(b);
+
+ b->state = BUS_AUTHENTICATING;
+ b->auth_timeout = now(CLOCK_MONOTONIC) + BUS_DEFAULT_TIMEOUT;
+
+ if (sd_is_socket(b->input_fd, AF_UNIX, 0, 0) <= 0)
+ b->negotiate_fds = false;
+
+ if (b->output_fd != b->input_fd)
+ if (sd_is_socket(b->output_fd, AF_UNIX, 0, 0) <= 0)
+ b->negotiate_fds = false;
+
+ if (b->is_server)
+ return bus_socket_read_auth(b);
+ else
+ return bus_socket_start_auth_client(b);
+}
+
+int bus_socket_connect(sd_bus *b) {
+ int r;
+
+ assert(b);
+ assert(b->input_fd < 0);
+ assert(b->output_fd < 0);
+ assert(b->sockaddr.sa.sa_family != AF_UNSPEC);
+
+ b->input_fd = socket(b->sockaddr.sa.sa_family, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
+ if (b->input_fd < 0)
+ return -errno;
+
+ b->output_fd = b->input_fd;
+
+ r = bus_socket_setup(b);
+ if (r < 0)
+ return r;
+
+ r = connect(b->input_fd, &b->sockaddr.sa, b->sockaddr_size);
+ if (r < 0) {
+ if (errno == EINPROGRESS)
+ return 1;
+
+ return -errno;
+ }
+
+ return bus_socket_start_auth(b);
+}
+
+int bus_socket_exec(sd_bus *b) {
+ int s[2], r;
+ pid_t pid;
+
+ assert(b);
+ assert(b->input_fd < 0);
+ assert(b->output_fd < 0);
+ assert(b->exec_path);
+
+ r = socketpair(AF_UNIX, SOCK_STREAM|SOCK_NONBLOCK|SOCK_CLOEXEC, 0, s);
+ if (r < 0)
+ return -errno;
+
+ pid = fork();
+ if (pid < 0) {
+ close_pipe(s);
+ return -errno;
+ }
+ if (pid == 0) {
+ /* Child */
+
+ reset_all_signal_handlers();
+
+ close_all_fds(s+1, 1);
+
+ assert_se(dup3(s[1], STDIN_FILENO, 0) == STDIN_FILENO);
+ assert_se(dup3(s[1], STDOUT_FILENO, 0) == STDOUT_FILENO);
+
+ if (s[1] != STDIN_FILENO && s[1] != STDOUT_FILENO)
+ close_nointr_nofail(s[1]);
+
+ fd_cloexec(STDIN_FILENO, false);
+ fd_cloexec(STDOUT_FILENO, false);
+ fd_nonblock(STDIN_FILENO, false);
+ fd_nonblock(STDOUT_FILENO, false);
+
+ if (b->exec_argv)
+ execvp(b->exec_path, b->exec_argv);
+ else {
+ const char *argv[] = { b->exec_path, NULL };
+ execvp(b->exec_path, (char**) argv);
+ }
+
+ _exit(EXIT_FAILURE);
+ }
+
+ close_nointr_nofail(s[1]);
+ b->output_fd = b->input_fd = s[0];
+
+ return bus_socket_start_auth(b);
+}
+
+int bus_socket_take_fd(sd_bus *b) {
+ int r;
+ assert(b);
+
+ r = bus_socket_setup(b);
+ if (r < 0)
+ return r;
+
+ return bus_socket_start_auth(b);
+}
+
+int bus_socket_write_message(sd_bus *bus, sd_bus_message *m, size_t *idx) {
+ struct iovec *iov;
+ ssize_t k;
+ size_t n;
+ unsigned j;
+
+ assert(bus);
+ assert(m);
+ assert(idx);
+ assert(bus->state == BUS_RUNNING || bus->state == BUS_HELLO);
+
+ if (*idx >= BUS_MESSAGE_SIZE(m))
+ return 0;
+
+ bus_message_setup_iovec(m);
+
+ n = m->n_iovec * sizeof(struct iovec);
+ iov = alloca(n);
+ memcpy(iov, m->iovec, n);
+
+ j = 0;
+ iovec_advance(iov, &j, *idx);
+
+ if (bus->prefer_writev)
+ k = writev(bus->output_fd, iov, m->n_iovec);
+ else {
+ struct msghdr mh;
+ zero(mh);
+
+ if (m->n_fds > 0) {
+ struct cmsghdr *control;
+ control = alloca(CMSG_SPACE(sizeof(int) * m->n_fds));
+
+ mh.msg_control = control;
+ control->cmsg_level = SOL_SOCKET;
+ control->cmsg_type = SCM_RIGHTS;
+ mh.msg_controllen = control->cmsg_len = CMSG_LEN(sizeof(int) * m->n_fds);
+ memcpy(CMSG_DATA(control), m->fds, sizeof(int) * m->n_fds);
+ }
+
+ mh.msg_iov = iov;
+ mh.msg_iovlen = m->n_iovec;
+
+ k = sendmsg(bus->output_fd, &mh, MSG_DONTWAIT|MSG_NOSIGNAL);
+ if (k < 0 && errno == ENOTSOCK) {
+ bus->prefer_writev = true;
+ k = writev(bus->output_fd, iov, m->n_iovec);
+ }
+ }
+
+ if (k < 0)
+ return errno == EAGAIN ? 0 : -errno;
+
+ *idx += (size_t) k;
+ return 1;
+}
+
+static int bus_socket_read_message_need(sd_bus *bus, size_t *need) {
+ uint32_t a, b;
+ uint8_t e;
+ uint64_t sum;
+
+ assert(bus);
+ assert(need);
+ assert(bus->state == BUS_RUNNING || bus->state == BUS_HELLO);
+
+ if (bus->rbuffer_size < sizeof(struct bus_header)) {
+ *need = sizeof(struct bus_header) + 8;
+
+ /* Minimum message size:
+ *
+ * Header +
+ *
+ * Method Call: +2 string headers
+ * Signal: +3 string headers
+ * Method Error: +1 string headers
+ * +1 uint32 headers
+ * Method Reply: +1 uint32 headers
+ *
+ * A string header is at least 9 bytes
+ * A uint32 header is at least 8 bytes
+ *
+ * Hence the minimum message size of a valid message
+ * is header + 8 bytes */
+
+ return 0;
+ }
+
+ a = ((const uint32_t*) bus->rbuffer)[1];
+ b = ((const uint32_t*) bus->rbuffer)[3];
+
+ e = ((const uint8_t*) bus->rbuffer)[0];
+ if (e == SD_BUS_LITTLE_ENDIAN) {
+ a = le32toh(a);
+ b = le32toh(b);
+ } else if (e == SD_BUS_BIG_ENDIAN) {
+ a = be32toh(a);
+ b = be32toh(b);
+ } else
+ return -EBADMSG;
+
+ sum = (uint64_t) sizeof(struct bus_header) + (uint64_t) ALIGN_TO(b, 8) + (uint64_t) a;
+ if (sum >= BUS_MESSAGE_SIZE_MAX)
+ return -ENOBUFS;
+
+ *need = (size_t) sum;
+ return 0;
+}
+
+static int bus_socket_make_message(sd_bus *bus, size_t size, sd_bus_message **m) {
+ sd_bus_message *t;
+ void *b;
+ int r;
+
+ assert(bus);
+ assert(m);
+ assert(bus->rbuffer_size >= size);
+ assert(bus->state == BUS_RUNNING || bus->state == BUS_HELLO);
+
+ if (bus->rbuffer_size > size) {
+ b = memdup((const uint8_t*) bus->rbuffer + size,
+ bus->rbuffer_size - size);
+ if (!b)
+ return -ENOMEM;
+ } else
+ b = NULL;
+
+ r = bus_message_from_malloc(bus->rbuffer, size,
+ bus->fds, bus->n_fds,
+ bus->ucred_valid ? &bus->ucred : NULL,
+ bus->label[0] ? bus->label : NULL,
+ &t);
+ if (r < 0) {
+ free(b);
+ return r;
+ }
+
+ bus->rbuffer = b;
+ bus->rbuffer_size -= size;
+
+ bus->fds = NULL;
+ bus->n_fds = 0;
+
+ *m = t;
+ return 1;
+}
+
+int bus_socket_read_message(sd_bus *bus, sd_bus_message **m) {
+ struct msghdr mh;
+ struct iovec iov;
+ ssize_t k;
+ size_t need;
+ int r;
+ void *b;
+ union {
+ struct cmsghdr cmsghdr;
+ uint8_t buf[CMSG_SPACE(sizeof(int) * BUS_FDS_MAX) +
+ CMSG_SPACE(sizeof(struct ucred)) +
+ CMSG_SPACE(NAME_MAX)]; /*selinux label */
+ } control;
+ struct cmsghdr *cmsg;
+ bool handle_cmsg = false;
+
+ assert(bus);
+ assert(m);
+ assert(bus->state == BUS_RUNNING || bus->state == BUS_HELLO);
+
+ r = bus_socket_read_message_need(bus, &need);
+ if (r < 0)
+ return r;
+
+ if (bus->rbuffer_size >= need)
+ return bus_socket_make_message(bus, need, m);
+
+ b = realloc(bus->rbuffer, need);
+ if (!b)
+ return -ENOMEM;
+
+ bus->rbuffer = b;
+
+ zero(iov);
+ iov.iov_base = (uint8_t*) bus->rbuffer + bus->rbuffer_size;
+ iov.iov_len = need - bus->rbuffer_size;
+
+ if (bus->prefer_readv)
+ k = readv(bus->input_fd, &iov, 1);
+ else {
+ zero(mh);
+ mh.msg_iov = &iov;
+ mh.msg_iovlen = 1;
+ mh.msg_control = &control;
+ mh.msg_controllen = sizeof(control);
+
+ k = recvmsg(bus->input_fd, &mh, MSG_DONTWAIT|MSG_NOSIGNAL|MSG_CMSG_CLOEXEC);
+ if (k < 0 && errno == ENOTSOCK) {
+ bus->prefer_readv = true;
+ k = readv(bus->input_fd, &iov, 1);
+ } else
+ handle_cmsg = true;
+ }
+ if (k < 0)
+ return errno == EAGAIN ? 0 : -errno;
+ if (k == 0)
+ return -ECONNRESET;
+
+ bus->rbuffer_size += k;
+
+ if (handle_cmsg) {
+ for (cmsg = CMSG_FIRSTHDR(&mh); cmsg; cmsg = CMSG_NXTHDR(&mh, cmsg)) {
+ if (cmsg->cmsg_level == SOL_SOCKET &&
+ cmsg->cmsg_type == SCM_RIGHTS) {
+ int n, *f;
+
+ n = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int);
+
+ if (!bus->can_fds) {
+ /* Whut? We received fds but this
+ * isn't actually enabled? Close them,
+ * and fail */
+
+ close_many((int*) CMSG_DATA(cmsg), n);
+ return -EIO;
+ }
+
+ f = realloc(bus->fds, sizeof(int) + (bus->n_fds + n));
+ if (!f) {
+ close_many((int*) CMSG_DATA(cmsg), n);
+ return -ENOMEM;
+ }
+
+ memcpy(f + bus->n_fds, CMSG_DATA(cmsg), n * sizeof(int));
+ bus->fds = f;
+ bus->n_fds += n;
+ } else if (cmsg->cmsg_level == SOL_SOCKET &&
+ cmsg->cmsg_type == SCM_CREDENTIALS &&
+ cmsg->cmsg_len == CMSG_LEN(sizeof(struct ucred))) {
+
+ /* Ignore bogus data, which we might
+ * get on socketpair() sockets */
+ if (((struct ucred*) CMSG_DATA(cmsg))->pid != 0) {
+ memcpy(&bus->ucred, CMSG_DATA(cmsg), sizeof(struct ucred));
+ bus->ucred_valid = true;
+ }
+
+ } else if (cmsg->cmsg_level == SOL_SOCKET &&
+ cmsg->cmsg_type == SCM_SECURITY) {
+
+ size_t l;
+ l = cmsg->cmsg_len - CMSG_LEN(0);
+ if (l > 0) {
+ memcpy(&bus->label, CMSG_DATA(cmsg), l);
+ bus->label[l] = 0;
+ }
+ }
+ }
+ }
+
+ r = bus_socket_read_message_need(bus, &need);
+ if (r < 0)
+ return r;
+
+ if (bus->rbuffer_size >= need)
+ return bus_socket_make_message(bus, need, m);
+
+ return 1;
+}
+
+int bus_socket_process_opening(sd_bus *b) {
+ int error = 0;
+ socklen_t slen = sizeof(error);
+ struct pollfd p = {
+ .fd = b->output_fd,
+ .events = POLLOUT,
+ };
+ int r;
+
+ assert(b->state == BUS_OPENING);
+
+ r = poll(&p, 1, 0);
+ if (r < 0)
+ return -errno;
+
+ if (!(p.revents & (POLLOUT|POLLERR|POLLHUP)))
+ return 0;
+
+ r = getsockopt(b->output_fd, SOL_SOCKET, SO_ERROR, &error, &slen);
+ if (r < 0)
+ b->last_connect_error = errno;
+ else if (error != 0)
+ b->last_connect_error = error;
+ else if (p.revents & (POLLERR|POLLHUP))
+ b->last_connect_error = ECONNREFUSED;
+ else
+ return bus_socket_start_auth(b);
+
+ return bus_next_address(b);
+}
+
+int bus_socket_process_authenticating(sd_bus *b) {
+ int r;
+
+ assert(b);
+ assert(b->state == BUS_AUTHENTICATING);
+
+ if (now(CLOCK_MONOTONIC) >= b->auth_timeout)
+ return -ETIMEDOUT;
+
+ r = bus_socket_write_auth(b);
+ if (r != 0)
+ return r;
+
+ return bus_socket_read_auth(b);
+}
diff --git a/src/libsystemd-bus/bus-socket.h b/src/libsystemd-bus/bus-socket.h
new file mode 100644
index 0000000000..a9c43f82df
--- /dev/null
+++ b/src/libsystemd-bus/bus-socket.h
@@ -0,0 +1,36 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "sd-bus.h"
+
+int bus_socket_connect(sd_bus *b);
+int bus_socket_exec(sd_bus *b);
+int bus_socket_take_fd(sd_bus *b);
+
+int bus_socket_write_message(sd_bus *bus, sd_bus_message *m, size_t *idx);
+int bus_socket_read_message(sd_bus *bus, sd_bus_message **m);
+
+int bus_socket_process_opening(sd_bus *b);
+int bus_socket_process_authenticating(sd_bus *b);
+
+bool bus_socket_auth_needs_write(sd_bus *b);
diff --git a/src/libsystemd-bus/bus-type.c b/src/libsystemd-bus/bus-type.c
new file mode 100644
index 0000000000..0557328085
--- /dev/null
+++ b/src/libsystemd-bus/bus-type.c
@@ -0,0 +1,163 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "util.h"
+#include "bus-type.h"
+
+bool bus_type_is_valid(char c) {
+ static const char valid[] = {
+ SD_BUS_TYPE_BYTE,
+ SD_BUS_TYPE_BOOLEAN,
+ SD_BUS_TYPE_INT16,
+ SD_BUS_TYPE_UINT16,
+ SD_BUS_TYPE_INT32,
+ SD_BUS_TYPE_UINT32,
+ SD_BUS_TYPE_INT64,
+ SD_BUS_TYPE_UINT64,
+ SD_BUS_TYPE_DOUBLE,
+ SD_BUS_TYPE_STRING,
+ SD_BUS_TYPE_OBJECT_PATH,
+ SD_BUS_TYPE_SIGNATURE,
+ SD_BUS_TYPE_ARRAY,
+ SD_BUS_TYPE_VARIANT,
+ SD_BUS_TYPE_STRUCT,
+ SD_BUS_TYPE_DICT_ENTRY,
+ SD_BUS_TYPE_UNIX_FD
+ };
+
+ return !!memchr(valid, c, sizeof(valid));
+}
+
+bool bus_type_is_valid_in_signature(char c) {
+ static const char valid[] = {
+ SD_BUS_TYPE_BYTE,
+ SD_BUS_TYPE_BOOLEAN,
+ SD_BUS_TYPE_INT16,
+ SD_BUS_TYPE_UINT16,
+ SD_BUS_TYPE_INT32,
+ SD_BUS_TYPE_UINT32,
+ SD_BUS_TYPE_INT64,
+ SD_BUS_TYPE_UINT64,
+ SD_BUS_TYPE_DOUBLE,
+ SD_BUS_TYPE_STRING,
+ SD_BUS_TYPE_OBJECT_PATH,
+ SD_BUS_TYPE_SIGNATURE,
+ SD_BUS_TYPE_ARRAY,
+ SD_BUS_TYPE_VARIANT,
+ SD_BUS_TYPE_STRUCT_BEGIN,
+ SD_BUS_TYPE_STRUCT_END,
+ SD_BUS_TYPE_DICT_ENTRY_BEGIN,
+ SD_BUS_TYPE_DICT_ENTRY_END,
+ SD_BUS_TYPE_UNIX_FD
+ };
+
+ return !!memchr(valid, c, sizeof(valid));
+}
+
+bool bus_type_is_basic(char c) {
+ static const char valid[] = {
+ SD_BUS_TYPE_BYTE,
+ SD_BUS_TYPE_BOOLEAN,
+ SD_BUS_TYPE_INT16,
+ SD_BUS_TYPE_UINT16,
+ SD_BUS_TYPE_INT32,
+ SD_BUS_TYPE_UINT32,
+ SD_BUS_TYPE_INT64,
+ SD_BUS_TYPE_UINT64,
+ SD_BUS_TYPE_DOUBLE,
+ SD_BUS_TYPE_STRING,
+ SD_BUS_TYPE_OBJECT_PATH,
+ SD_BUS_TYPE_SIGNATURE,
+ SD_BUS_TYPE_UNIX_FD
+ };
+
+ return !!memchr(valid, c, sizeof(valid));
+}
+
+bool bus_type_is_container(char c) {
+ static const char valid[] = {
+ SD_BUS_TYPE_ARRAY,
+ SD_BUS_TYPE_VARIANT,
+ SD_BUS_TYPE_STRUCT,
+ SD_BUS_TYPE_DICT_ENTRY
+ };
+
+ return !!memchr(valid, c, sizeof(valid));
+}
+
+int bus_type_get_alignment(char c) {
+
+ switch (c) {
+ case SD_BUS_TYPE_BYTE:
+ case SD_BUS_TYPE_SIGNATURE:
+ case SD_BUS_TYPE_VARIANT:
+ return 1;
+
+ case SD_BUS_TYPE_INT16:
+ case SD_BUS_TYPE_UINT16:
+ return 2;
+
+ case SD_BUS_TYPE_BOOLEAN:
+ case SD_BUS_TYPE_INT32:
+ case SD_BUS_TYPE_UINT32:
+ case SD_BUS_TYPE_STRING:
+ case SD_BUS_TYPE_OBJECT_PATH:
+ case SD_BUS_TYPE_ARRAY:
+ case SD_BUS_TYPE_UNIX_FD:
+ return 4;
+
+ case SD_BUS_TYPE_INT64:
+ case SD_BUS_TYPE_UINT64:
+ case SD_BUS_TYPE_DOUBLE:
+ case SD_BUS_TYPE_STRUCT:
+ case SD_BUS_TYPE_STRUCT_BEGIN:
+ case SD_BUS_TYPE_DICT_ENTRY:
+ case SD_BUS_TYPE_DICT_ENTRY_BEGIN:
+ return 8;
+ }
+
+ return -EINVAL;
+}
+
+int bus_type_get_size(char c) {
+
+ switch (c) {
+ case SD_BUS_TYPE_BYTE:
+ return 1;
+
+ case SD_BUS_TYPE_INT16:
+ case SD_BUS_TYPE_UINT16:
+ return 2;
+
+ case SD_BUS_TYPE_BOOLEAN:
+ case SD_BUS_TYPE_INT32:
+ case SD_BUS_TYPE_UINT32:
+ case SD_BUS_TYPE_UNIX_FD:
+ return 4;
+
+ case SD_BUS_TYPE_INT64:
+ case SD_BUS_TYPE_UINT64:
+ case SD_BUS_TYPE_DOUBLE:
+ return 8;
+ }
+
+ return -EINVAL;
+}
diff --git a/src/libsystemd-bus/bus-type.h b/src/libsystemd-bus/bus-type.h
new file mode 100644
index 0000000000..e261136084
--- /dev/null
+++ b/src/libsystemd-bus/bus-type.h
@@ -0,0 +1,34 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdbool.h>
+
+#include "sd-bus.h"
+#include "sd-bus-protocol.h"
+
+bool bus_type_is_valid(char c);
+bool bus_type_is_valid_in_signature(char c);
+bool bus_type_is_basic(char c);
+bool bus_type_is_container(char c);
+int bus_type_get_alignment(char c);
+int bus_type_get_size(char c);
diff --git a/src/libsystemd-bus/busctl.c b/src/libsystemd-bus/busctl.c
new file mode 100644
index 0000000000..220c1eb34e
--- /dev/null
+++ b/src/libsystemd-bus/busctl.c
@@ -0,0 +1,340 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <getopt.h>
+
+#include "strv.h"
+#include "util.h"
+#include "log.h"
+#include "build.h"
+#include "pager.h"
+
+#include "sd-bus.h"
+#include "bus-message.h"
+#include "bus-internal.h"
+
+static bool arg_no_pager = false;
+static char *arg_address = NULL;
+static bool arg_user = false;
+static bool arg_no_unique = false;
+static char **arg_matches = NULL;
+
+static void pager_open_if_enabled(void) {
+
+ /* Cache result before we open the pager */
+ if (arg_no_pager)
+ return;
+
+ pager_open(false);
+}
+
+static int list_bus_names(sd_bus *bus, char **argv) {
+ _cleanup_strv_free_ char **l = NULL;
+ char **i;
+ int r;
+ size_t max_i = 0;
+
+ assert(bus);
+
+ r = sd_bus_list_names(bus, &l);
+ if (r < 0) {
+ log_error("Failed to list names: %s", strerror(-r));
+ return r;
+ }
+
+ pager_open_if_enabled();
+
+ strv_sort(l);
+
+ STRV_FOREACH(i, l)
+ max_i = MAX(max_i, strlen(*i));
+
+ printf("%-*s %*s %-*s %-*s CONNECTION\n",
+ (int) max_i, "NAME", 10, "PID", 15, "PROCESS", 16, "USER");
+
+ STRV_FOREACH(i, l) {
+ _cleanup_free_ char *owner = NULL;
+ pid_t pid;
+ uid_t uid;
+
+ if (arg_no_unique && (*i)[0] == ':')
+ continue;
+
+ printf("%-*s", (int) max_i, *i);
+
+ r = sd_bus_get_owner_pid(bus, *i, &pid);
+ if (r >= 0) {
+ _cleanup_free_ char *comm = NULL;
+
+ printf(" %10lu", (unsigned long) pid);
+
+ get_process_comm(pid, &comm);
+ printf(" %-15s", strna(comm));
+ } else
+ printf(" - - ");
+
+ r = sd_bus_get_owner_uid(bus, *i, &uid);
+ if (r >= 0) {
+ _cleanup_free_ char *u = NULL;
+
+ u = uid_to_name(uid);
+ if (!u)
+ return log_oom();
+
+ if (strlen(u) > 16)
+ u[16] = 0;
+
+ printf(" %-16s", u);
+ } else
+ printf(" - ");
+
+ r = sd_bus_get_owner(bus, *i, &owner);
+ if (r >= 0)
+ printf(" %s\n", owner);
+ else
+ printf(" -\n");
+ }
+
+ return 0;
+}
+
+static int monitor(sd_bus *bus, char *argv[]) {
+ char **i;
+ int r;
+
+ STRV_FOREACH(i, argv+1) {
+ _cleanup_free_ char *m = NULL;
+
+ if (!service_name_is_valid(*i)) {
+ log_error("Invalid service name '%s'", *i);
+ return -EINVAL;
+ }
+
+ m = strjoin("sender='", *i, "'", NULL);
+ if (!m)
+ return log_oom();
+
+ r = sd_bus_add_match(bus, m, NULL, NULL);
+ if (r < 0) {
+ log_error("Failed to add match: %s", strerror(-r));
+ return r;
+ }
+ }
+
+ STRV_FOREACH(i, arg_matches) {
+ r = sd_bus_add_match(bus, *i, NULL, NULL);
+ if (r < 0) {
+ log_error("Failed to add match: %s", strerror(-r));
+ return r;
+ }
+ }
+
+ for (;;) {
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
+
+ r = sd_bus_process(bus, &m);
+ if (r < 0) {
+ log_error("Failed to process bus: %s", strerror(-r));
+ return r;
+ }
+
+ if (m) {
+ bus_message_dump(m);
+ continue;
+ }
+
+ if (r > 0)
+ continue;
+
+ r = sd_bus_wait(bus, (uint64_t) -1);
+ if (r < 0) {
+ log_error("Failed to wait for bus: %s", strerror(-r));
+ return r;
+ }
+ }
+
+ return -EINVAL;
+}
+
+static int help(void) {
+
+ printf("%s [OPTIONS...] {COMMAND} ...\n\n"
+ "Introspect the bus.\n\n"
+ " -h --help Show this help\n"
+ " --version Show package version\n"
+ " --system Connect to system bus\n"
+ " --user Connect to user bus\n"
+ " --address=ADDRESS Connect to bus specified by address\n"
+ " --no-unique Only show well-known names\n"
+ " --match=MATCH Only show matching messages\n"
+ " --no-pager Do not pipe output into a pager\n\n"
+ "Commands:\n"
+ " list List bus names\n"
+ " monitor [SERVICE...] Show bus traffic\n",
+ program_invocation_short_name);
+
+ return 0;
+}
+
+static int parse_argv(int argc, char *argv[]) {
+
+ enum {
+ ARG_VERSION = 0x100,
+ ARG_NO_PAGER,
+ ARG_SYSTEM,
+ ARG_USER,
+ ARG_ADDRESS,
+ ARG_MATCH,
+ ARG_NO_UNIQUE
+ };
+
+ static const struct option options[] = {
+ { "help", no_argument, NULL, 'h' },
+ { "version", no_argument, NULL, ARG_VERSION },
+ { "no-pager", no_argument, NULL, ARG_NO_PAGER },
+ { "system", no_argument, NULL, ARG_SYSTEM },
+ { "user", no_argument, NULL, ARG_USER },
+ { "address", required_argument, NULL, ARG_ADDRESS },
+ { "no-unique", no_argument, NULL, ARG_NO_UNIQUE },
+ { "match", required_argument, NULL, ARG_MATCH },
+ { NULL, 0, NULL, 0 },
+ };
+
+ int c;
+
+ assert(argc >= 0);
+ assert(argv);
+
+ while ((c = getopt_long(argc, argv, "h", options, NULL)) >= 0) {
+
+ switch (c) {
+
+ case 'h':
+ return help();
+
+ case ARG_VERSION:
+ puts(PACKAGE_STRING);
+ puts(SYSTEMD_FEATURES);
+ return 0;
+
+ case ARG_NO_PAGER:
+ arg_no_pager = true;
+ break;
+
+ case ARG_USER:
+ arg_user = true;
+ break;
+
+ case ARG_SYSTEM:
+ arg_user = false;
+ break;
+
+ case ARG_ADDRESS:
+ arg_address = optarg;
+ break;
+
+ case ARG_NO_UNIQUE:
+ arg_no_unique = true;
+ break;
+
+ case ARG_MATCH:
+ if (strv_extend(&arg_matches, optarg) < 0)
+ return log_oom();
+ break;
+
+ case '?':
+ return -EINVAL;
+
+ default:
+ log_error("Unknown option code %c", c);
+ return -EINVAL;
+ }
+ }
+
+ return 1;
+}
+
+static int busctl_main(sd_bus *bus, int argc, char *argv[]) {
+ assert(bus);
+
+ if (optind >= argc ||
+ streq(argv[optind], "list"))
+ return list_bus_names(bus, argv + optind);
+
+ if (streq(argv[optind], "monitor"))
+ return monitor(bus, argv + optind);
+
+ if (streq(argv[optind], "help"))
+ return help();
+
+ log_error("Unknown command '%s'", argv[optind]);
+ return -EINVAL;
+}
+
+int main(int argc, char *argv[]) {
+ _cleanup_bus_unref_ sd_bus *bus = NULL;
+ int r;
+
+ log_parse_environment();
+ log_open();
+
+ r = parse_argv(argc, argv);
+ if (r <= 0)
+ goto finish;
+
+ if (arg_address) {
+ r = sd_bus_new(&bus);
+ if (r < 0) {
+ log_error("Failed to allocate bus: %s", strerror(-r));
+ goto finish;
+ }
+
+ r = sd_bus_set_address(bus, arg_address);
+ if (r < 0) {
+ log_error("Failed to set address: %s", strerror(-r));
+ goto finish;
+ }
+
+ r = sd_bus_set_bus_client(bus, true);
+ if (r < 0) {
+ log_error("Failed to set bus client: %s", strerror(-r));
+ goto finish;
+ }
+
+ r = sd_bus_start(bus);
+ } else if (arg_user)
+ r = sd_bus_open_user(&bus);
+ else
+ r = sd_bus_open_system(&bus);
+
+ if (r < 0) {
+ log_error("Failed to connect to bus: %s", strerror(-r));
+ goto finish;
+ }
+
+ r = busctl_main(bus, argc, argv);
+
+finish:
+ pager_close();
+ strv_free(arg_matches);
+
+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
+}
diff --git a/src/libsystemd-bus/kdbus.h b/src/libsystemd-bus/kdbus.h
new file mode 100644
index 0000000000..db5e243c17
--- /dev/null
+++ b/src/libsystemd-bus/kdbus.h
@@ -0,0 +1,418 @@
+/*
+ * Copyright (C) 2013 Kay Sievers
+ * Copyright (C) 2013 Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+ * Copyright (C) 2013 Linux Foundation
+ * Copyright (C) 2013 Lennart Poettering
+ * Copyright (C) 2013 Daniel Mack <daniel@zonque.org>
+ *
+ * kdbus is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the
+ * Free Software Foundation; either version 2.1 of the License, or (at
+ * your option) any later version.
+ */
+
+#ifndef _KDBUS_H_
+#define _KDBUS_H_
+
+#ifndef __KERNEL__
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <linux/types.h>
+#endif
+
+#define KDBUS_IOC_MAGIC 0x95
+
+/* Message sent from kernel to userspace, when the owner or starter of
+ * a well-known name changes */
+struct kdbus_manager_msg_name_change {
+ __u64 old_id;
+ __u64 new_id;
+ __u64 flags; /* 0 or (possibly?) KDBUS_NAME_IN_QUEUE */
+ char name[0];
+};
+
+struct kdbus_manager_msg_id_change {
+ __u64 id;
+ __u64 flags; /* The kernel flags field from KDBUS_HELLO */
+};
+
+struct kdbus_creds {
+ __u64 uid;
+ __u64 gid;
+ __u64 pid;
+ __u64 tid;
+
+ /* The starttime of the process PID. This is useful to detect
+ PID overruns from the client side. i.e. if you use the PID to
+ look something up in /proc/$PID/ you can afterwards check the
+ starttime field of it to ensure you didn't run into a PID
+ ovretun. */
+ __u64 starttime;
+};
+
+struct kdbus_audit {
+ __u64 sessionid;
+ __u64 loginuid;
+};
+
+struct kdbus_timestamp {
+ __u64 monotonic_ns;
+ __u64 realtime_ns;
+};
+
+#define KDBUS_SRC_ID_KERNEL (0)
+#define KDBUS_DST_ID_WELL_KNOWN_NAME (0)
+#define KDBUS_MATCH_SRC_ID_ANY (~0ULL)
+#define KDBUS_DST_ID_BROADCAST (~0ULL)
+
+/* Message Item Types */
+enum {
+ KDBUS_MSG_NULL,
+
+ /* Filled in by userspace */
+ KDBUS_MSG_PAYLOAD, /* .data, inline memory */
+ KDBUS_MSG_PAYLOAD_VEC, /* .data_vec, reference to memory area */
+ KDBUS_MSG_UNIX_FDS, /* .data_fds of file descriptors */
+ KDBUS_MSG_BLOOM, /* for broadcasts, carries bloom filter blob in .data */
+ KDBUS_MSG_DST_NAME, /* destination's well-known name, in .str */
+
+ /* Filled in by kernelspace */
+ KDBUS_MSG_SRC_NAMES = 0x200,/* NUL separated string list with well-known names of source */
+ KDBUS_MSG_TIMESTAMP, /* .timestamp */
+ KDBUS_MSG_SRC_CREDS, /* .creds */
+ KDBUS_MSG_SRC_PID_COMM, /* optional, in .str */
+ KDBUS_MSG_SRC_TID_COMM, /* optional, in .str */
+ KDBUS_MSG_SRC_EXE, /* optional, in .str */
+ KDBUS_MSG_SRC_CMDLINE, /* optional, in .str (a chain of NUL str) */
+ KDBUS_MSG_SRC_CGROUP, /* optional, in .str */
+ KDBUS_MSG_SRC_CAPS, /* caps data blob, in .data */
+ KDBUS_MSG_SRC_SECLABEL, /* NUL terminated string, in .str */
+ KDBUS_MSG_SRC_AUDIT, /* .audit */
+
+ /* Special messages from kernel, consisting of one and only one of these data blocks */
+ KDBUS_MSG_NAME_ADD = 0x400,/* .name_change */
+ KDBUS_MSG_NAME_REMOVE, /* .name_change */
+ KDBUS_MSG_NAME_CHANGE, /* .name_change */
+ KDBUS_MSG_ID_ADD, /* .id_change */
+ KDBUS_MSG_ID_REMOVE, /* .id_change */
+ KDBUS_MSG_REPLY_TIMEOUT, /* empty, but .reply_cookie in .kdbus_msg is filled in */
+ KDBUS_MSG_REPLY_DEAD, /* dito */
+};
+
+enum {
+ KDBUS_VEC_ALIGNED = 1 << 0,
+};
+
+struct kdbus_vec {
+ __u64 address;
+ __u64 size;
+ __u64 flags;
+};
+
+/**
+ * struct kdbus_item - chain of data blocks
+ *
+ * size: overall data record size
+ * type: kdbus_item type of data
+ */
+struct kdbus_item {
+ __u64 size;
+ __u64 type;
+ union {
+ /* inline data */
+ __u8 data[0];
+ __u32 data32[0];
+ __u64 data64[0];
+ char str[0];
+
+ /* connection */
+ __u64 id;
+
+ /* data vector */
+ struct kdbus_vec vec;
+
+ /* process credentials and properties*/
+ struct kdbus_creds creds;
+ struct kdbus_audit audit;
+ struct kdbus_timestamp timestamp;
+
+ /* specific fields */
+ int fds[0];
+ struct kdbus_manager_msg_name_change name_change;
+ struct kdbus_manager_msg_id_change id_change;
+ };
+};
+
+enum {
+ KDBUS_MSG_FLAGS_EXPECT_REPLY = 1 << 0,
+ KDBUS_MSG_FLAGS_NO_AUTO_START = 1 << 1,
+};
+
+enum {
+ KDBUS_PAYLOAD_NULL,
+ KDBUS_PAYLOAD_DBUS1 = 0x4442757356657231ULL, /* 'DBusVer1' */
+ KDBUS_PAYLOAD_GVARIANT = 0x4756617269616e74ULL, /* 'GVariant' */
+};
+
+/**
+ * struct kdbus_msg
+ *
+ * set by userspace:
+ * dst_id: destination id
+ * flags: KDBUS_MSG_FLAGS_*
+ * items: data records
+ *
+ * set by kernel:
+ * src_id: who sent the message
+ */
+struct kdbus_msg {
+ __u64 size;
+ __u64 flags;
+ __u64 dst_id; /* connection, 0 == name in data, ~0 broadcast */
+ __u64 src_id; /* connection, 0 == kernel */
+ __u64 payload_type; /* 'DBusVer1', 'GVariant', ... */
+ __u64 cookie; /* userspace-supplied cookie */
+ union {
+ __u64 cookie_reply; /* cookie we reply to */
+ __u64 timeout_ns; /* timespan to wait for reply */
+ };
+ struct kdbus_item items[0];
+};
+
+enum {
+ KDBUS_POLICY_NULL,
+ KDBUS_POLICY_NAME,
+ KDBUS_POLICY_ACCESS,
+};
+
+enum {
+ KDBUS_POLICY_ACCESS_NULL,
+ KDBUS_POLICY_ACCESS_USER,
+ KDBUS_POLICY_ACCESS_GROUP,
+ KDBUS_POLICY_ACCESS_WORLD,
+};
+
+enum {
+ KDBUS_POLICY_RECV = 1 << 2,
+ KDBUS_POLICY_SEND = 1 << 1,
+ KDBUS_POLICY_OWN = 1 << 0,
+};
+
+struct kdbus_policy {
+ __u64 size;
+ __u64 type; /* NAME or ACCESS */
+ union {
+ char name[0];
+ struct {
+ __u32 type; /* USER, GROUP, WORLD */
+ __u32 bits; /* RECV, SEND, OWN */
+ __u64 id; /* uid, gid, 0 */
+ } access;
+ };
+};
+
+struct kdbus_cmd_policy {
+ __u64 size;
+ __u8 buffer[0]; /* a series of KDBUS_POLICY_NAME plus one or
+ * more KDBUS_POLICY_ACCESS each. */
+};
+
+/* Flags for struct kdbus_cmd_hello */
+enum {
+ KDBUS_HELLO_STARTER = 1 << 0,
+ KDBUS_HELLO_ACCEPT_FD = 1 << 1,
+
+ /* The following have an effect on directed messages only --
+ * not for broadcasts */
+ KDBUS_HELLO_ATTACH_COMM = 1 << 10,
+ KDBUS_HELLO_ATTACH_EXE = 1 << 11,
+ KDBUS_HELLO_ATTACH_CMDLINE = 1 << 12,
+ KDBUS_HELLO_ATTACH_CGROUP = 1 << 13,
+ KDBUS_HELLO_ATTACH_CAPS = 1 << 14,
+ KDBUS_HELLO_ATTACH_SECLABEL = 1 << 15,
+ KDBUS_HELLO_ATTACH_AUDIT = 1 << 16,
+};
+
+/* Items to append to struct kdbus_cmd_hello */
+enum {
+ KDBUS_HELLO_NULL,
+};
+
+struct kdbus_cmd_hello {
+ __u64 size;
+
+ /* userspace → kernel, kernel → userspace */
+ __u64 conn_flags; /* userspace specifies its
+ * capabilities and more, kernel
+ * returns its capabilites and
+ * more. Kernel might refuse client's
+ * capabilities by returning an error
+ * from KDBUS_HELLO */
+
+ /* kernel → userspace */
+ __u64 bus_flags; /* this is .flags copied verbatim from
+ * from original KDBUS_CMD_BUS_MAKE
+ * ioctl. It's intended to be useful
+ * to do negotiation of features of
+ * the payload that is transfreted. */
+ __u64 id; /* id assigned to this connection */
+ __u64 bloom_size; /* The bloom filter size chosen by the
+ * bus owner */
+ struct kdbus_item items[0];
+};
+
+/* Flags for kdbus_cmd_{bus,ep,ns}_make */
+enum {
+ KDBUS_MAKE_ACCESS_GROUP = 1 << 0,
+ KDBUS_MAKE_ACCESS_WORLD = 1 << 1,
+ KDBUS_MAKE_POLICY_OPEN = 1 << 2,
+};
+
+/* Items to append to kdbus_cmd_{bus,ep,ns}_make */
+enum {
+ KDBUS_MAKE_NULL,
+ KDBUS_MAKE_NAME,
+ KDBUS_MAKE_CGROUP, /* the cgroup hierarchy ID for which to attach
+ * cgroup membership paths * to messages. */
+ KDBUS_MAKE_CRED, /* allow translator services which connect
+ * to the bus on behalf of somebody else,
+ * allow specifying the credentials of the
+ * client to connect on behalf on. Needs
+ * privileges */
+};
+
+struct kdbus_cmd_bus_make {
+ __u64 size;
+ __u64 flags; /* userspace → kernel, kernel → userspace
+ * When creating a bus feature
+ * kernel negotiation. */
+ __u64 bus_flags; /* userspace → kernel
+ * When a bus is created this value is
+ * copied verbatim into the bus
+ * structure and returned from
+ * KDBUS_CMD_HELLO, later */
+ __u64 bloom_size; /* size of the bloom filter for this bus */
+ struct kdbus_item items[0];
+
+};
+
+struct kdbus_cmd_ep_make {
+ __u64 size;
+ __u64 flags; /* userspace → kernel, kernel → userspace
+ * When creating an entry point
+ * feature kernel negotiation done the
+ * same way as for
+ * KDBUS_CMD_BUS_MAKE. Unused for
+ * now. */
+ struct kdbus_item items[0];
+};
+
+struct kdbus_cmd_ns_make {
+ __u64 size;
+ __u64 flags; /* userspace → kernel, kernel → userspace
+ * When creating an entry point
+ * feature kernel negotiation done the
+ * same way as for
+ * KDBUS_CMD_BUS_MAKE. Unused for
+ * now. */
+ struct kdbus_item items[0];
+};
+
+enum {
+ /* userspace → kernel */
+ KDBUS_NAME_REPLACE_EXISTING = 1 << 0,
+ KDBUS_NAME_QUEUE = 1 << 1,
+ KDBUS_NAME_ALLOW_REPLACEMENT = 1 << 2,
+
+ /* kernel → userspace */
+ KDBUS_NAME_IN_QUEUE = 1 << 16,
+};
+
+struct kdbus_cmd_name {
+ __u64 size;
+ __u64 name_flags;
+ __u64 id; /* We allow registration/deregestration of names of other peers */
+ __u64 conn_flags;
+ char name[0];
+};
+
+struct kdbus_cmd_names {
+ __u64 size;
+ struct kdbus_cmd_name names[0];
+};
+
+enum {
+ KDBUS_NAME_INFO_ITEM_NULL,
+ KDBUS_NAME_INFO_ITEM_NAME, /* userspace → kernel */
+ KDBUS_NAME_INFO_ITEM_SECLABEL, /* kernel → userspace */
+ KDBUS_NAME_INFO_ITEM_AUDIT, /* kernel → userspace */
+};
+
+struct kdbus_cmd_name_info {
+ __u64 size; /* overall size of info */
+ __u64 flags;
+ __u64 id; /* either ID, or 0 and _ITEM_NAME follows */
+ struct kdbus_creds creds;
+ struct kdbus_item items[0]; /* list of item records */
+};
+
+enum {
+ KDBUS_MATCH_NULL,
+ KDBUS_MATCH_BLOOM, /* Matches a mask blob against KDBUS_MSG_BLOOM */
+ KDBUS_MATCH_SRC_NAME, /* Matches a name string against KDBUS_MSG_SRC_NAMES */
+ KDBUS_MATCH_NAME_ADD, /* Matches a name string against KDBUS_MSG_NAME_ADD */
+ KDBUS_MATCH_NAME_REMOVE, /* Matches a name string against KDBUS_MSG_NAME_REMOVE */
+ KDBUS_MATCH_NAME_CHANGE, /* Matches a name string against KDBUS_MSG_NAME_CHANGE */
+ KDBUS_MATCH_ID_ADD, /* Matches an ID against KDBUS_MSG_ID_ADD */
+ KDBUS_MATCH_ID_REMOVE, /* Matches an ID against KDBUS_MSG_ID_REMOVE */
+};
+
+struct kdbus_cmd_match {
+ __u64 size;
+ __u64 id; /* We allow registration/deregestration of matches for other peers */
+ __u64 cookie; /* userspace supplied cookie; when removing; kernel deletes everything with same cookie */
+ __u64 src_id; /* ~0: any. other: exact unique match */
+ struct kdbus_item items[0];
+};
+
+struct kdbus_cmd_monitor {
+ __u64 id; /* We allow setting the monitor flag of other peers */
+ unsigned int enabled; /* A boolean to enable/disable monitoring */
+};
+
+/* FD states:
+ * control nodes: unset
+ * bus owner (via KDBUS_CMD_BUS_MAKE)
+ * ns owner (via KDBUS_CMD_NS_MAKE)
+ *
+ * ep nodes: unset
+ * connected (via KDBUS_CMD_HELLO)
+ * starter (via KDBUS_CMD_HELLO with KDBUS_CMD_HELLO_STARTER)
+ * ep owner (via KDBUS_CMD_EP_MAKE)
+ */
+enum kdbus_cmd {
+ /* kdbus control node commands: require unset state */
+ KDBUS_CMD_BUS_MAKE = _IOWR(KDBUS_IOC_MAGIC, 0x00, struct kdbus_cmd_bus_make),
+ KDBUS_CMD_NS_MAKE = _IOWR(KDBUS_IOC_MAGIC, 0x10, struct kdbus_cmd_ns_make),
+
+ /* kdbus ep node commands: require unset state */
+ KDBUS_CMD_EP_MAKE = _IOWR(KDBUS_IOC_MAGIC, 0x20, struct kdbus_cmd_ep_make),
+ KDBUS_CMD_HELLO = _IOWR(KDBUS_IOC_MAGIC, 0x30, struct kdbus_cmd_hello),
+
+ /* kdbus ep node commands: require connected state */
+ KDBUS_CMD_MSG_SEND = _IOWR(KDBUS_IOC_MAGIC, 0x40, struct kdbus_msg),
+ KDBUS_CMD_MSG_RECV = _IOWR(KDBUS_IOC_MAGIC, 0x41, struct kdbus_msg),
+
+ KDBUS_CMD_NAME_ACQUIRE = _IOWR(KDBUS_IOC_MAGIC, 0x50, struct kdbus_cmd_name),
+ KDBUS_CMD_NAME_RELEASE = _IOWR(KDBUS_IOC_MAGIC, 0x51, struct kdbus_cmd_name),
+ KDBUS_CMD_NAME_LIST = _IOWR(KDBUS_IOC_MAGIC, 0x52, struct kdbus_cmd_names),
+ KDBUS_CMD_NAME_QUERY = _IOWR(KDBUS_IOC_MAGIC, 0x53, struct kdbus_cmd_name_info),
+
+ KDBUS_CMD_MATCH_ADD = _IOWR(KDBUS_IOC_MAGIC, 0x60, struct kdbus_cmd_match),
+ KDBUS_CMD_MATCH_REMOVE = _IOWR(KDBUS_IOC_MAGIC, 0x61, struct kdbus_cmd_match),
+ KDBUS_CMD_MONITOR = _IOWR(KDBUS_IOC_MAGIC, 0x62, struct kdbus_cmd_monitor),
+
+ /* kdbus ep node commands: require ep owner state */
+ KDBUS_CMD_EP_POLICY_SET = _IOWR(KDBUS_IOC_MAGIC, 0x70, struct kdbus_cmd_policy),
+};
+#endif
diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c
new file mode 100644
index 0000000000..7d6d848ec5
--- /dev/null
+++ b/src/libsystemd-bus/sd-bus.c
@@ -0,0 +1,2425 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <endian.h>
+#include <assert.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <netdb.h>
+#include <sys/poll.h>
+#include <byteswap.h>
+
+#include "util.h"
+#include "macro.h"
+#include "strv.h"
+#include "set.h"
+#include "missing.h"
+
+#include "sd-bus.h"
+#include "bus-internal.h"
+#include "bus-message.h"
+#include "bus-type.h"
+#include "bus-socket.h"
+#include "bus-kernel.h"
+#include "bus-control.h"
+
+static int bus_poll(sd_bus *bus, bool need_more, uint64_t timeout_usec);
+
+static void bus_free(sd_bus *b) {
+ struct filter_callback *f;
+ struct object_callback *c;
+ unsigned i;
+
+ assert(b);
+
+ sd_bus_close(b);
+
+ free(b->rbuffer);
+ free(b->unique_name);
+ free(b->auth_buffer);
+ free(b->address);
+ free(b->kernel);
+
+ free(b->exec_path);
+ strv_free(b->exec_argv);
+
+ close_many(b->fds, b->n_fds);
+ free(b->fds);
+
+ for (i = 0; i < b->rqueue_size; i++)
+ sd_bus_message_unref(b->rqueue[i]);
+ free(b->rqueue);
+
+ for (i = 0; i < b->wqueue_size; i++)
+ sd_bus_message_unref(b->wqueue[i]);
+ free(b->wqueue);
+
+ hashmap_free_free(b->reply_callbacks);
+ prioq_free(b->reply_callbacks_prioq);
+
+ while ((f = b->filter_callbacks)) {
+ LIST_REMOVE(struct filter_callback, callbacks, b->filter_callbacks, f);
+ free(f);
+ }
+
+ while ((c = hashmap_steal_first(b->object_callbacks))) {
+ free(c->path);
+ free(c);
+ }
+
+ hashmap_free(b->object_callbacks);
+
+ bus_match_free(&b->match_callbacks);
+
+ free(b);
+}
+
+int sd_bus_new(sd_bus **ret) {
+ sd_bus *r;
+
+ if (!ret)
+ return -EINVAL;
+
+ r = new0(sd_bus, 1);
+ if (!r)
+ return -ENOMEM;
+
+ r->n_ref = 1;
+ r->input_fd = r->output_fd = -1;
+ r->message_version = 1;
+ r->negotiate_fds = true;
+
+ /* We guarantee that wqueue always has space for at least one
+ * entry */
+ r->wqueue = new(sd_bus_message*, 1);
+ if (!r->wqueue) {
+ free(r);
+ return -ENOMEM;
+ }
+
+ *ret = r;
+ return 0;
+}
+
+int sd_bus_set_address(sd_bus *bus, const char *address) {
+ char *a;
+
+ if (!bus)
+ return -EINVAL;
+ if (bus->state != BUS_UNSET)
+ return -EPERM;
+ if (!address)
+ return -EINVAL;
+
+ a = strdup(address);
+ if (!a)
+ return -ENOMEM;
+
+ free(bus->address);
+ bus->address = a;
+
+ return 0;
+}
+
+int sd_bus_set_fd(sd_bus *bus, int input_fd, int output_fd) {
+ if (!bus)
+ return -EINVAL;
+ if (bus->state != BUS_UNSET)
+ return -EPERM;
+ if (input_fd < 0)
+ return -EINVAL;
+ if (output_fd < 0)
+ return -EINVAL;
+
+ bus->input_fd = input_fd;
+ bus->output_fd = output_fd;
+ return 0;
+}
+
+int sd_bus_set_exec(sd_bus *bus, const char *path, char *const argv[]) {
+ char *p, **a;
+
+ if (!bus)
+ return -EINVAL;
+ if (bus->state != BUS_UNSET)
+ return -EPERM;
+ if (!path)
+ return -EINVAL;
+ if (strv_isempty(argv))
+ return -EINVAL;
+
+ p = strdup(path);
+ if (!p)
+ return -ENOMEM;
+
+ a = strv_copy(argv);
+ if (!a) {
+ free(p);
+ return -ENOMEM;
+ }
+
+ free(bus->exec_path);
+ strv_free(bus->exec_argv);
+
+ bus->exec_path = p;
+ bus->exec_argv = a;
+
+ return 0;
+}
+
+int sd_bus_set_bus_client(sd_bus *bus, int b) {
+ if (!bus)
+ return -EINVAL;
+ if (bus->state != BUS_UNSET)
+ return -EPERM;
+
+ bus->bus_client = !!b;
+ return 0;
+}
+
+int sd_bus_set_negotiate_fds(sd_bus *bus, int b) {
+ if (!bus)
+ return -EINVAL;
+ if (bus->state != BUS_UNSET)
+ return -EPERM;
+
+ bus->negotiate_fds = !!b;
+ return 0;
+}
+
+int sd_bus_set_server(sd_bus *bus, int b, sd_id128_t server_id) {
+ if (!bus)
+ return -EINVAL;
+ if (!b && !sd_id128_equal(server_id, SD_ID128_NULL))
+ return -EINVAL;
+ if (bus->state != BUS_UNSET)
+ return -EPERM;
+
+ bus->is_server = !!b;
+ bus->server_id = server_id;
+ return 0;
+}
+
+int sd_bus_set_anonymous(sd_bus *bus, int b) {
+ if (!bus)
+ return -EINVAL;
+ if (bus->state != BUS_UNSET)
+ return -EPERM;
+
+ bus->anonymous_auth = !!b;
+ return 0;
+}
+
+static int hello_callback(sd_bus *bus, int error, sd_bus_message *reply, void *userdata) {
+ const char *s;
+ int r;
+
+ assert(bus);
+ assert(bus->state == BUS_HELLO);
+
+ if (error != 0)
+ return -error;
+
+ assert(reply);
+
+ r = sd_bus_message_read(reply, "s", &s);
+ if (r < 0)
+ return r;
+
+ if (!service_name_is_valid(s) || s[0] != ':')
+ return -EBADMSG;
+
+ bus->unique_name = strdup(s);
+ if (!bus->unique_name)
+ return -ENOMEM;
+
+ bus->state = BUS_RUNNING;
+
+ return 1;
+}
+
+static int bus_send_hello(sd_bus *bus) {
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
+ int r;
+
+ assert(bus);
+
+ if (!bus->bus_client || bus->is_kernel)
+ return 0;
+
+ r = sd_bus_message_new_method_call(
+ bus,
+ "org.freedesktop.DBus",
+ "/",
+ "org.freedesktop.DBus",
+ "Hello",
+ &m);
+ if (r < 0)
+ return r;
+
+ return sd_bus_send_with_reply(bus, m, hello_callback, NULL, 0, &bus->hello_serial);
+}
+
+int bus_start_running(sd_bus *bus) {
+ assert(bus);
+
+ if (bus->bus_client && !bus->is_kernel) {
+ bus->state = BUS_HELLO;
+ return 1;
+ }
+
+ bus->state = BUS_RUNNING;
+ return 1;
+}
+
+static int parse_address_key(const char **p, const char *key, char **value) {
+ size_t l, n = 0;
+ const char *a;
+ char *r = NULL;
+
+ assert(p);
+ assert(*p);
+ assert(value);
+
+ if (key) {
+ l = strlen(key);
+ if (strncmp(*p, key, l) != 0)
+ return 0;
+
+ if ((*p)[l] != '=')
+ return 0;
+
+ if (*value)
+ return -EINVAL;
+
+ a = *p + l + 1;
+ } else
+ a = *p;
+
+ while (*a != ';' && *a != ',' && *a != 0) {
+ char c, *t;
+
+ if (*a == '%') {
+ int x, y;
+
+ x = unhexchar(a[1]);
+ if (x < 0) {
+ free(r);
+ return x;
+ }
+
+ y = unhexchar(a[2]);
+ if (y < 0) {
+ free(r);
+ return y;
+ }
+
+ c = (char) ((x << 4) | y);
+ a += 3;
+ } else {
+ c = *a;
+ a++;
+ }
+
+ t = realloc(r, n + 2);
+ if (!t) {
+ free(r);
+ return -ENOMEM;
+ }
+
+ r = t;
+ r[n++] = c;
+ }
+
+ if (!r) {
+ r = strdup("");
+ if (!r)
+ return -ENOMEM;
+ } else
+ r[n] = 0;
+
+ if (*a == ',')
+ a++;
+
+ *p = a;
+
+ free(*value);
+ *value = r;
+
+ return 1;
+}
+
+static void skip_address_key(const char **p) {
+ assert(p);
+ assert(*p);
+
+ *p += strcspn(*p, ",");
+
+ if (**p == ',')
+ (*p) ++;
+}
+
+static int parse_unix_address(sd_bus *b, const char **p, char **guid) {
+ _cleanup_free_ char *path = NULL, *abstract = NULL;
+ size_t l;
+ int r;
+
+ assert(b);
+ assert(p);
+ assert(*p);
+ assert(guid);
+
+ while (**p != 0 && **p != ';') {
+ r = parse_address_key(p, "guid", guid);
+ if (r < 0)
+ return r;
+ else if (r > 0)
+ continue;
+
+ r = parse_address_key(p, "path", &path);
+ if (r < 0)
+ return r;
+ else if (r > 0)
+ continue;
+
+ r = parse_address_key(p, "abstract", &abstract);
+ if (r < 0)
+ return r;
+ else if (r > 0)
+ continue;
+
+ skip_address_key(p);
+ }
+
+ if (!path && !abstract)
+ return -EINVAL;
+
+ if (path && abstract)
+ return -EINVAL;
+
+ if (path) {
+ l = strlen(path);
+ if (l > sizeof(b->sockaddr.un.sun_path))
+ return -E2BIG;
+
+ b->sockaddr.un.sun_family = AF_UNIX;
+ strncpy(b->sockaddr.un.sun_path, path, sizeof(b->sockaddr.un.sun_path));
+ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + l;
+ } else if (abstract) {
+ l = strlen(abstract);
+ if (l > sizeof(b->sockaddr.un.sun_path) - 1)
+ return -E2BIG;
+
+ b->sockaddr.un.sun_family = AF_UNIX;
+ b->sockaddr.un.sun_path[0] = 0;
+ strncpy(b->sockaddr.un.sun_path+1, abstract, sizeof(b->sockaddr.un.sun_path)-1);
+ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + 1 + l;
+ }
+
+ return 0;
+}
+
+static int parse_tcp_address(sd_bus *b, const char **p, char **guid) {
+ _cleanup_free_ char *host = NULL, *port = NULL, *family = NULL;
+ int r;
+ struct addrinfo *result, hints = {
+ .ai_socktype = SOCK_STREAM,
+ .ai_flags = AI_ADDRCONFIG,
+ };
+
+ assert(b);
+ assert(p);
+ assert(*p);
+ assert(guid);
+
+ while (**p != 0 && **p != ';') {
+ r = parse_address_key(p, "guid", guid);
+ if (r < 0)
+ return r;
+ else if (r > 0)
+ continue;
+
+ r = parse_address_key(p, "host", &host);
+ if (r < 0)
+ return r;
+ else if (r > 0)
+ continue;
+
+ r = parse_address_key(p, "port", &port);
+ if (r < 0)
+ return r;
+ else if (r > 0)
+ continue;
+
+ r = parse_address_key(p, "family", &family);
+ if (r < 0)
+ return r;
+ else if (r > 0)
+ continue;
+
+ skip_address_key(p);
+ }
+
+ if (!host || !port)
+ return -EINVAL;
+
+ if (family) {
+ if (streq(family, "ipv4"))
+ hints.ai_family = AF_INET;
+ else if (streq(family, "ipv6"))
+ hints.ai_family = AF_INET6;
+ else
+ return -EINVAL;
+ }
+
+ r = getaddrinfo(host, port, &hints, &result);
+ if (r == EAI_SYSTEM)
+ return -errno;
+ else if (r != 0)
+ return -EADDRNOTAVAIL;
+
+ memcpy(&b->sockaddr, result->ai_addr, result->ai_addrlen);
+ b->sockaddr_size = result->ai_addrlen;
+
+ freeaddrinfo(result);
+
+ return 0;
+}
+
+static int parse_exec_address(sd_bus *b, const char **p, char **guid) {
+ char *path = NULL;
+ unsigned n_argv = 0, j;
+ char **argv = NULL;
+ int r;
+
+ assert(b);
+ assert(p);
+ assert(*p);
+ assert(guid);
+
+ while (**p != 0 && **p != ';') {
+ r = parse_address_key(p, "guid", guid);
+ if (r < 0)
+ goto fail;
+ else if (r > 0)
+ continue;
+
+ r = parse_address_key(p, "path", &path);
+ if (r < 0)
+ goto fail;
+ else if (r > 0)
+ continue;
+
+ if (startswith(*p, "argv")) {
+ unsigned ul;
+
+ errno = 0;
+ ul = strtoul(*p + 4, (char**) p, 10);
+ if (errno > 0 || **p != '=' || ul > 256) {
+ r = -EINVAL;
+ goto fail;
+ }
+
+ (*p) ++;
+
+ if (ul >= n_argv) {
+ char **x;
+
+ x = realloc(argv, sizeof(char*) * (ul + 2));
+ if (!x) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ memset(x + n_argv, 0, sizeof(char*) * (ul - n_argv + 2));
+
+ argv = x;
+ n_argv = ul + 1;
+ }
+
+ r = parse_address_key(p, NULL, argv + ul);
+ if (r < 0)
+ goto fail;
+
+ continue;
+ }
+
+ skip_address_key(p);
+ }
+
+ if (!path) {
+ r = -EINVAL;
+ goto fail;
+ }
+
+ /* Make sure there are no holes in the array, with the
+ * exception of argv[0] */
+ for (j = 1; j < n_argv; j++)
+ if (!argv[j]) {
+ r = -EINVAL;
+ goto fail;
+ }
+
+ if (argv && argv[0] == NULL) {
+ argv[0] = strdup(path);
+ if (!argv[0]) {
+ r = -ENOMEM;
+ goto fail;
+ }
+ }
+
+ b->exec_path = path;
+ b->exec_argv = argv;
+ return 0;
+
+fail:
+ for (j = 0; j < n_argv; j++)
+ free(argv[j]);
+
+ free(argv);
+ free(path);
+ return r;
+}
+
+static int parse_kernel_address(sd_bus *b, const char **p, char **guid) {
+ _cleanup_free_ char *path = NULL;
+ int r;
+
+ assert(b);
+ assert(p);
+ assert(*p);
+ assert(guid);
+
+ while (**p != 0 && **p != ';') {
+ r = parse_address_key(p, "guid", guid);
+ if (r < 0)
+ return r;
+ else if (r > 0)
+ continue;
+
+ r = parse_address_key(p, "path", &path);
+ if (r < 0)
+ return r;
+ else if (r > 0)
+ continue;
+
+ skip_address_key(p);
+ }
+
+ if (!path)
+ return -EINVAL;
+
+ free(b->kernel);
+ b->kernel = path;
+ path = NULL;
+
+ return 0;
+}
+
+static void bus_reset_parsed_address(sd_bus *b) {
+ assert(b);
+
+ zero(b->sockaddr);
+ b->sockaddr_size = 0;
+ strv_free(b->exec_argv);
+ free(b->exec_path);
+ b->exec_path = NULL;
+ b->exec_argv = NULL;
+ b->server_id = SD_ID128_NULL;
+ free(b->kernel);
+ b->kernel = NULL;
+}
+
+static int bus_parse_next_address(sd_bus *b) {
+ _cleanup_free_ char *guid = NULL;
+ const char *a;
+ int r;
+
+ assert(b);
+
+ if (!b->address)
+ return 0;
+ if (b->address[b->address_index] == 0)
+ return 0;
+
+ bus_reset_parsed_address(b);
+
+ a = b->address + b->address_index;
+
+ while (*a != 0) {
+
+ if (*a == ';') {
+ a++;
+ continue;
+ }
+
+ if (startswith(a, "unix:")) {
+ a += 5;
+
+ r = parse_unix_address(b, &a, &guid);
+ if (r < 0)
+ return r;
+ break;
+
+ } else if (startswith(a, "tcp:")) {
+
+ a += 4;
+ r = parse_tcp_address(b, &a, &guid);
+ if (r < 0)
+ return r;
+
+ break;
+
+ } else if (startswith(a, "unixexec:")) {
+
+ a += 9;
+ r = parse_exec_address(b, &a, &guid);
+ if (r < 0)
+ return r;
+
+ break;
+
+ } else if (startswith(a, "kernel:")) {
+
+ a += 7;
+ r = parse_kernel_address(b, &a, &guid);
+ if (r < 0)
+ return r;
+
+ break;
+ }
+
+ a = strchr(a, ';');
+ if (!a)
+ return 0;
+ }
+
+ if (guid) {
+ r = sd_id128_from_string(guid, &b->server_id);
+ if (r < 0)
+ return r;
+ }
+
+ b->address_index = a - b->address;
+ return 1;
+}
+
+static int bus_start_address(sd_bus *b) {
+ int r;
+
+ assert(b);
+
+ for (;;) {
+ sd_bus_close(b);
+
+ if (b->sockaddr.sa.sa_family != AF_UNSPEC) {
+
+ r = bus_socket_connect(b);
+ if (r >= 0)
+ return r;
+
+ b->last_connect_error = -r;
+
+ } else if (b->exec_path) {
+
+ r = bus_socket_exec(b);
+ if (r >= 0)
+ return r;
+
+ b->last_connect_error = -r;
+ } else if (b->kernel) {
+
+ r = bus_kernel_connect(b);
+ if (r >= 0)
+ return r;
+
+ b->last_connect_error = -r;
+ }
+
+ r = bus_parse_next_address(b);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ return b->last_connect_error ? -b->last_connect_error : -ECONNREFUSED;
+ }
+}
+
+int bus_next_address(sd_bus *b) {
+ assert(b);
+
+ bus_reset_parsed_address(b);
+ return bus_start_address(b);
+}
+
+static int bus_start_fd(sd_bus *b) {
+ struct stat st;
+ int r;
+
+ assert(b);
+ assert(b->input_fd >= 0);
+ assert(b->output_fd >= 0);
+
+ r = fd_nonblock(b->input_fd, true);
+ if (r < 0)
+ return r;
+
+ r = fd_cloexec(b->input_fd, true);
+ if (r < 0)
+ return r;
+
+ if (b->input_fd != b->output_fd) {
+ r = fd_nonblock(b->output_fd, true);
+ if (r < 0)
+ return r;
+
+ r = fd_cloexec(b->output_fd, true);
+ if (r < 0)
+ return r;
+ }
+
+ if (fstat(b->input_fd, &st) < 0)
+ return -errno;
+
+ if (S_ISCHR(b->input_fd))
+ return bus_kernel_take_fd(b);
+ else
+ return bus_socket_take_fd(b);
+}
+
+int sd_bus_start(sd_bus *bus) {
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (bus->state != BUS_UNSET)
+ return -EPERM;
+
+ bus->state = BUS_OPENING;
+
+ if (bus->is_server && bus->bus_client)
+ return -EINVAL;
+
+ if (bus->input_fd >= 0)
+ r = bus_start_fd(bus);
+ else if (bus->address || bus->sockaddr.sa.sa_family != AF_UNSPEC || bus->exec_path || bus->kernel)
+ r = bus_start_address(bus);
+ else
+ return -EINVAL;
+
+ if (r < 0)
+ return r;
+
+ return bus_send_hello(bus);
+}
+
+int sd_bus_open_system(sd_bus **ret) {
+ const char *e;
+ sd_bus *b;
+ int r;
+
+ if (!ret)
+ return -EINVAL;
+
+ r = sd_bus_new(&b);
+ if (r < 0)
+ return r;
+
+ e = secure_getenv("DBUS_SYSTEM_BUS_ADDRESS");
+ if (e) {
+ r = sd_bus_set_address(b, e);
+ if (r < 0)
+ goto fail;
+ } else {
+ b->sockaddr.un.sun_family = AF_UNIX;
+ strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path));
+ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + sizeof("/run/dbus/system_bus_socket") - 1;
+ }
+
+ b->bus_client = true;
+
+ r = sd_bus_start(b);
+ if (r < 0)
+ goto fail;
+
+ *ret = b;
+ return 0;
+
+fail:
+ bus_free(b);
+ return r;
+}
+
+int sd_bus_open_user(sd_bus **ret) {
+ const char *e;
+ sd_bus *b;
+ size_t l;
+ int r;
+
+ if (!ret)
+ return -EINVAL;
+
+ r = sd_bus_new(&b);
+ if (r < 0)
+ return r;
+
+ e = secure_getenv("DBUS_SESSION_BUS_ADDRESS");
+ if (e) {
+ r = sd_bus_set_address(b, e);
+ if (r < 0)
+ goto fail;
+ } else {
+ e = secure_getenv("XDG_RUNTIME_DIR");
+ if (!e) {
+ r = -ENOENT;
+ goto fail;
+ }
+
+ l = strlen(e);
+ if (l + 4 > sizeof(b->sockaddr.un.sun_path)) {
+ r = -E2BIG;
+ goto fail;
+ }
+
+ b->sockaddr.un.sun_family = AF_UNIX;
+ memcpy(mempcpy(b->sockaddr.un.sun_path, e, l), "/bus", 4);
+ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + l + 4;
+ }
+
+ b->bus_client = true;
+
+ r = sd_bus_start(b);
+ if (r < 0)
+ goto fail;
+
+ *ret = b;
+ return 0;
+
+fail:
+ bus_free(b);
+ return r;
+}
+
+void sd_bus_close(sd_bus *bus) {
+ if (!bus)
+ return;
+
+ if (bus->input_fd >= 0)
+ close_nointr_nofail(bus->input_fd);
+ if (bus->output_fd >= 0 && bus->output_fd != bus->input_fd)
+ close_nointr_nofail(bus->output_fd);
+
+ bus->input_fd = bus->output_fd = -1;
+}
+
+sd_bus *sd_bus_ref(sd_bus *bus) {
+ if (!bus)
+ return NULL;
+
+ assert(bus->n_ref > 0);
+
+ bus->n_ref++;
+ return bus;
+}
+
+sd_bus *sd_bus_unref(sd_bus *bus) {
+ if (!bus)
+ return NULL;
+
+ assert(bus->n_ref > 0);
+ bus->n_ref--;
+
+ if (bus->n_ref <= 0)
+ bus_free(bus);
+
+ return NULL;
+}
+
+int sd_bus_is_open(sd_bus *bus) {
+ if (!bus)
+ return -EINVAL;
+
+ return bus->state != BUS_UNSET && bus->input_fd >= 0;
+}
+
+int sd_bus_can_send(sd_bus *bus, char type) {
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (bus->output_fd < 0)
+ return -ENOTCONN;
+
+ if (type == SD_BUS_TYPE_UNIX_FD) {
+ if (!bus->negotiate_fds)
+ return 0;
+
+ r = bus_ensure_running(bus);
+ if (r < 0)
+ return r;
+
+ return bus->can_fds;
+ }
+
+ return bus_type_is_valid(type);
+}
+
+int sd_bus_get_server_id(sd_bus *bus, sd_id128_t *server_id) {
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (!server_id)
+ return -EINVAL;
+
+ r = bus_ensure_running(bus);
+ if (r < 0)
+ return r;
+
+ *server_id = bus->server_id;
+ return 0;
+}
+
+static int bus_seal_message(sd_bus *b, sd_bus_message *m) {
+ assert(m);
+
+ if (m->header->version > b->message_version)
+ return -EPERM;
+
+ if (m->sealed)
+ return 0;
+
+ return bus_message_seal(m, ++b->serial);
+}
+
+static int dispatch_wqueue(sd_bus *bus) {
+ int r, ret = 0;
+
+ assert(bus);
+ assert(bus->state == BUS_RUNNING || bus->state == BUS_HELLO);
+
+ if (bus->output_fd < 0)
+ return -ENOTCONN;
+
+ while (bus->wqueue_size > 0) {
+
+ if (bus->is_kernel)
+ r = bus_kernel_write_message(bus, bus->wqueue[0]);
+ else
+ r = bus_socket_write_message(bus, bus->wqueue[0], &bus->windex);
+
+ if (r < 0) {
+ sd_bus_close(bus);
+ return r;
+ } else if (r == 0)
+ /* Didn't do anything this time */
+ return ret;
+ else if (bus->is_kernel || bus->windex >= BUS_MESSAGE_SIZE(bus->wqueue[0])) {
+ /* Fully written. Let's drop the entry from
+ * the queue.
+ *
+ * This isn't particularly optimized, but
+ * well, this is supposed to be our worst-case
+ * buffer only, and the socket buffer is
+ * supposed to be our primary buffer, and if
+ * it got full, then all bets are off
+ * anyway. */
+
+ sd_bus_message_unref(bus->wqueue[0]);
+ bus->wqueue_size --;
+ memmove(bus->wqueue, bus->wqueue + 1, sizeof(sd_bus_message*) * bus->wqueue_size);
+ bus->windex = 0;
+
+ ret = 1;
+ }
+ }
+
+ return ret;
+}
+
+static int dispatch_rqueue(sd_bus *bus, sd_bus_message **m) {
+ sd_bus_message *z = NULL;
+ int r, ret = 0;
+
+ assert(bus);
+ assert(m);
+ assert(bus->state == BUS_RUNNING || bus->state == BUS_HELLO);
+
+ if (bus->input_fd < 0)
+ return -ENOTCONN;
+
+ if (bus->rqueue_size > 0) {
+ /* Dispatch a queued message */
+
+ *m = bus->rqueue[0];
+ bus->rqueue_size --;
+ memmove(bus->rqueue, bus->rqueue + 1, sizeof(sd_bus_message*) * bus->rqueue_size);
+ return 1;
+ }
+
+ /* Try to read a new message */
+ do {
+ if (bus->is_kernel)
+ r = bus_kernel_read_message(bus, &z);
+ else
+ r = bus_socket_read_message(bus, &z);
+
+ if (r < 0) {
+ sd_bus_close(bus);
+ return r;
+ }
+ if (r == 0)
+ return ret;
+
+ r = 1;
+ } while (!z);
+
+ *m = z;
+ return 1;
+}
+
+int sd_bus_send(sd_bus *bus, sd_bus_message *m, uint64_t *serial) {
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (bus->state == BUS_UNSET)
+ return -ENOTCONN;
+ if (bus->output_fd < 0)
+ return -ENOTCONN;
+ if (!m)
+ return -EINVAL;
+
+ if (m->n_fds > 0) {
+ r = sd_bus_can_send(bus, SD_BUS_TYPE_UNIX_FD);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ return -ENOTSUP;
+ }
+
+ /* If the serial number isn't kept, then we know that no reply
+ * is expected */
+ if (!serial && !m->sealed)
+ m->header->flags |= SD_BUS_MESSAGE_NO_REPLY_EXPECTED;
+
+ r = bus_seal_message(bus, m);
+ if (r < 0)
+ return r;
+
+ /* If this is a reply and no reply was requested, then let's
+ * suppress this, if we can */
+ if (m->dont_send && !serial)
+ return 0;
+
+ if ((bus->state == BUS_RUNNING || bus->state == BUS_HELLO) && bus->wqueue_size <= 0) {
+ size_t idx = 0;
+
+ if (bus->is_kernel)
+ r = bus_kernel_write_message(bus, m);
+ else
+ r = bus_socket_write_message(bus, m, &idx);
+
+ if (r < 0) {
+ sd_bus_close(bus);
+ return r;
+ } else if (!bus->is_kernel && idx < BUS_MESSAGE_SIZE(m)) {
+ /* Wasn't fully written. So let's remember how
+ * much was written. Note that the first entry
+ * of the wqueue array is always allocated so
+ * that we always can remember how much was
+ * written. */
+ bus->wqueue[0] = sd_bus_message_ref(m);
+ bus->wqueue_size = 1;
+ bus->windex = idx;
+ }
+ } else {
+ sd_bus_message **q;
+
+ /* Just append it to the queue. */
+
+ if (bus->wqueue_size >= BUS_WQUEUE_MAX)
+ return -ENOBUFS;
+
+ q = realloc(bus->wqueue, sizeof(sd_bus_message*) * (bus->wqueue_size + 1));
+ if (!q)
+ return -ENOMEM;
+
+ bus->wqueue = q;
+ q[bus->wqueue_size ++] = sd_bus_message_ref(m);
+ }
+
+ if (serial)
+ *serial = BUS_MESSAGE_SERIAL(m);
+
+ return 0;
+}
+
+static usec_t calc_elapse(uint64_t usec) {
+ if (usec == (uint64_t) -1)
+ return 0;
+
+ if (usec == 0)
+ usec = BUS_DEFAULT_TIMEOUT;
+
+ return now(CLOCK_MONOTONIC) + usec;
+}
+
+static int timeout_compare(const void *a, const void *b) {
+ const struct reply_callback *x = a, *y = b;
+
+ if (x->timeout != 0 && y->timeout == 0)
+ return -1;
+
+ if (x->timeout == 0 && y->timeout != 0)
+ return 1;
+
+ if (x->timeout < y->timeout)
+ return -1;
+
+ if (x->timeout > y->timeout)
+ return 1;
+
+ return 0;
+}
+
+int sd_bus_send_with_reply(
+ sd_bus *bus,
+ sd_bus_message *m,
+ sd_bus_message_handler_t callback,
+ void *userdata,
+ uint64_t usec,
+ uint64_t *serial) {
+
+ struct reply_callback *c;
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (bus->state == BUS_UNSET)
+ return -ENOTCONN;
+ if (bus->output_fd < 0)
+ return -ENOTCONN;
+ if (!m)
+ return -EINVAL;
+ if (!callback)
+ return -EINVAL;
+ if (m->header->type != SD_BUS_MESSAGE_TYPE_METHOD_CALL)
+ return -EINVAL;
+ if (m->header->flags & SD_BUS_MESSAGE_NO_REPLY_EXPECTED)
+ return -EINVAL;
+
+ r = hashmap_ensure_allocated(&bus->reply_callbacks, uint64_hash_func, uint64_compare_func);
+ if (r < 0)
+ return r;
+
+ if (usec != (uint64_t) -1) {
+ r = prioq_ensure_allocated(&bus->reply_callbacks_prioq, timeout_compare);
+ if (r < 0)
+ return r;
+ }
+
+ r = bus_seal_message(bus, m);
+ if (r < 0)
+ return r;
+
+ c = new0(struct reply_callback, 1);
+ if (!c)
+ return -ENOMEM;
+
+ c->callback = callback;
+ c->userdata = userdata;
+ c->serial = BUS_MESSAGE_SERIAL(m);
+ c->timeout = calc_elapse(usec);
+
+ r = hashmap_put(bus->reply_callbacks, &c->serial, c);
+ if (r < 0) {
+ free(c);
+ return r;
+ }
+
+ if (c->timeout != 0) {
+ r = prioq_put(bus->reply_callbacks_prioq, c, &c->prioq_idx);
+ if (r < 0) {
+ c->timeout = 0;
+ sd_bus_send_with_reply_cancel(bus, c->serial);
+ return r;
+ }
+ }
+
+ r = sd_bus_send(bus, m, serial);
+ if (r < 0) {
+ sd_bus_send_with_reply_cancel(bus, c->serial);
+ return r;
+ }
+
+ return r;
+}
+
+int sd_bus_send_with_reply_cancel(sd_bus *bus, uint64_t serial) {
+ struct reply_callback *c;
+
+ if (!bus)
+ return -EINVAL;
+ if (serial == 0)
+ return -EINVAL;
+
+ c = hashmap_remove(bus->reply_callbacks, &serial);
+ if (!c)
+ return 0;
+
+ if (c->timeout != 0)
+ prioq_remove(bus->reply_callbacks_prioq, c, &c->prioq_idx);
+
+ free(c);
+ return 1;
+}
+
+int bus_ensure_running(sd_bus *bus) {
+ int r;
+
+ assert(bus);
+
+ if (bus->input_fd < 0)
+ return -ENOTCONN;
+ if (bus->state == BUS_UNSET)
+ return -ENOTCONN;
+
+ if (bus->state == BUS_RUNNING)
+ return 1;
+
+ for (;;) {
+ r = sd_bus_process(bus, NULL);
+ if (r < 0)
+ return r;
+ if (bus->state == BUS_RUNNING)
+ return 1;
+ if (r > 0)
+ continue;
+
+ r = sd_bus_wait(bus, (uint64_t) -1);
+ if (r < 0)
+ return r;
+ }
+}
+
+int sd_bus_send_with_reply_and_block(
+ sd_bus *bus,
+ sd_bus_message *m,
+ uint64_t usec,
+ sd_bus_error *error,
+ sd_bus_message **reply) {
+
+ int r;
+ usec_t timeout;
+ uint64_t serial;
+ bool room = false;
+
+ if (!bus)
+ return -EINVAL;
+ if (bus->output_fd < 0)
+ return -ENOTCONN;
+ if (bus->state == BUS_UNSET)
+ return -ENOTCONN;
+ if (!m)
+ return -EINVAL;
+ if (m->header->type != SD_BUS_MESSAGE_TYPE_METHOD_CALL)
+ return -EINVAL;
+ if (m->header->flags & SD_BUS_MESSAGE_NO_REPLY_EXPECTED)
+ return -EINVAL;
+ if (bus_error_is_dirty(error))
+ return -EINVAL;
+
+ r = bus_ensure_running(bus);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_send(bus, m, &serial);
+ if (r < 0)
+ return r;
+
+ timeout = calc_elapse(usec);
+
+ for (;;) {
+ usec_t left;
+ sd_bus_message *incoming = NULL;
+
+ if (!room) {
+ sd_bus_message **q;
+
+ if (bus->rqueue_size >= BUS_RQUEUE_MAX)
+ return -ENOBUFS;
+
+ /* Make sure there's room for queuing this
+ * locally, before we read the message */
+
+ q = realloc(bus->rqueue, (bus->rqueue_size + 1) * sizeof(sd_bus_message*));
+ if (!q)
+ return -ENOMEM;
+
+ bus->rqueue = q;
+ room = true;
+ }
+
+ if (bus->is_kernel)
+ r = bus_kernel_read_message(bus, &incoming);
+ else
+ r = bus_socket_read_message(bus, &incoming);
+ if (r < 0)
+ return r;
+ if (incoming) {
+
+ if (incoming->reply_serial == serial) {
+ /* Found a match! */
+
+ if (incoming->header->type == SD_BUS_MESSAGE_TYPE_METHOD_RETURN) {
+
+ if (reply)
+ *reply = incoming;
+ else
+ sd_bus_message_unref(incoming);
+
+ return 0;
+ }
+
+ if (incoming->header->type == SD_BUS_MESSAGE_TYPE_METHOD_ERROR) {
+ int k;
+
+ r = sd_bus_error_copy(error, &incoming->error);
+ if (r < 0) {
+ sd_bus_message_unref(incoming);
+ return r;
+ }
+
+ k = bus_error_to_errno(&incoming->error);
+ sd_bus_message_unref(incoming);
+ return k;
+ }
+
+ sd_bus_message_unref(incoming);
+ return -EIO;
+ }
+
+ /* There's already guaranteed to be room for
+ * this, so need to resize things here */
+ bus->rqueue[bus->rqueue_size ++] = incoming;
+ room = false;
+
+ /* Try to read more, right-away */
+ continue;
+ }
+ if (r != 0)
+ continue;
+
+ if (timeout > 0) {
+ usec_t n;
+
+ n = now(CLOCK_MONOTONIC);
+ if (n >= timeout)
+ return -ETIMEDOUT;
+
+ left = timeout - n;
+ } else
+ left = (uint64_t) -1;
+
+ r = bus_poll(bus, true, left);
+ if (r < 0)
+ return r;
+
+ r = dispatch_wqueue(bus);
+ if (r < 0)
+ return r;
+ }
+}
+
+int sd_bus_get_fd(sd_bus *bus) {
+ if (!bus)
+ return -EINVAL;
+ if (bus->input_fd < 0)
+ return -ENOTCONN;
+ if (bus->input_fd != bus->output_fd)
+ return -EPERM;
+
+ return bus->input_fd;
+}
+
+int sd_bus_get_events(sd_bus *bus) {
+ int flags = 0;
+
+ if (!bus)
+ return -EINVAL;
+ if (bus->state == BUS_UNSET)
+ return -ENOTCONN;
+ if (bus->input_fd < 0)
+ return -ENOTCONN;
+
+ if (bus->state == BUS_OPENING)
+ flags |= POLLOUT;
+ else if (bus->state == BUS_AUTHENTICATING) {
+
+ if (bus_socket_auth_needs_write(bus))
+ flags |= POLLOUT;
+
+ flags |= POLLIN;
+
+ } else if (bus->state == BUS_RUNNING || bus->state == BUS_HELLO) {
+ if (bus->rqueue_size <= 0)
+ flags |= POLLIN;
+ if (bus->wqueue_size > 0)
+ flags |= POLLOUT;
+ }
+
+ return flags;
+}
+
+int sd_bus_get_timeout(sd_bus *bus, uint64_t *timeout_usec) {
+ struct reply_callback *c;
+
+ if (!bus)
+ return -EINVAL;
+ if (!timeout_usec)
+ return -EINVAL;
+ if (bus->state == BUS_UNSET)
+ return -ENOTCONN;
+ if (bus->input_fd < 0)
+ return -ENOTCONN;
+
+ if (bus->state == BUS_AUTHENTICATING) {
+ *timeout_usec = bus->auth_timeout;
+ return 1;
+ }
+
+ if (bus->state != BUS_RUNNING && bus->state != BUS_HELLO) {
+ *timeout_usec = (uint64_t) -1;
+ return 0;
+ }
+
+ c = prioq_peek(bus->reply_callbacks_prioq);
+ if (!c) {
+ *timeout_usec = (uint64_t) -1;
+ return 0;
+ }
+
+ *timeout_usec = c->timeout;
+ return 1;
+}
+
+static int process_timeout(sd_bus *bus) {
+ struct reply_callback *c;
+ usec_t n;
+ int r;
+
+ assert(bus);
+
+ c = prioq_peek(bus->reply_callbacks_prioq);
+ if (!c)
+ return 0;
+
+ n = now(CLOCK_MONOTONIC);
+ if (c->timeout > n)
+ return 0;
+
+ assert_se(prioq_pop(bus->reply_callbacks_prioq) == c);
+ hashmap_remove(bus->reply_callbacks, &c->serial);
+
+ r = c->callback(bus, ETIMEDOUT, NULL, c->userdata);
+ free(c);
+
+ return r < 0 ? r : 1;
+}
+
+static int process_hello(sd_bus *bus, sd_bus_message *m) {
+ assert(bus);
+ assert(m);
+
+ if (bus->state != BUS_HELLO)
+ return 0;
+
+ /* Let's make sure the first message on the bus is the HELLO
+ * reply. But note that we don't actually parse the message
+ * here (we leave that to the usual handling), we just verify
+ * we don't let any earlier msg through. */
+
+ if (m->header->type != SD_BUS_MESSAGE_TYPE_METHOD_RETURN &&
+ m->header->type != SD_BUS_MESSAGE_TYPE_METHOD_ERROR)
+ return -EIO;
+
+ if (m->reply_serial != bus->hello_serial)
+ return -EIO;
+
+ return 0;
+}
+
+static int process_reply(sd_bus *bus, sd_bus_message *m) {
+ struct reply_callback *c;
+ int r;
+
+ assert(bus);
+ assert(m);
+
+ if (m->header->type != SD_BUS_MESSAGE_TYPE_METHOD_RETURN &&
+ m->header->type != SD_BUS_MESSAGE_TYPE_METHOD_ERROR)
+ return 0;
+
+ c = hashmap_remove(bus->reply_callbacks, &m->reply_serial);
+ if (!c)
+ return 0;
+
+ if (c->timeout != 0)
+ prioq_remove(bus->reply_callbacks_prioq, c, &c->prioq_idx);
+
+ r = sd_bus_message_rewind(m, true);
+ if (r < 0)
+ return r;
+
+ r = c->callback(bus, 0, m, c->userdata);
+ free(c);
+
+ return r;
+}
+
+static int process_filter(sd_bus *bus, sd_bus_message *m) {
+ struct filter_callback *l;
+ int r;
+
+ assert(bus);
+ assert(m);
+
+ do {
+ bus->filter_callbacks_modified = false;
+
+ LIST_FOREACH(callbacks, l, bus->filter_callbacks) {
+
+ if (bus->filter_callbacks_modified)
+ break;
+
+ /* Don't run this more than once per iteration */
+ if (l->last_iteration == bus->iteration_counter)
+ continue;
+
+ l->last_iteration = bus->iteration_counter;
+
+ r = sd_bus_message_rewind(m, true);
+ if (r < 0)
+ return r;
+
+ r = l->callback(bus, 0, m, l->userdata);
+ if (r != 0)
+ return r;
+
+ }
+
+ } while (bus->filter_callbacks_modified);
+
+ return 0;
+}
+
+static int process_match(sd_bus *bus, sd_bus_message *m) {
+ int r;
+
+ assert(bus);
+ assert(m);
+
+ do {
+ bus->match_callbacks_modified = false;
+
+ r = bus_match_run(bus, &bus->match_callbacks, 0, m);
+ if (r != 0)
+ return r;
+
+ } while (bus->match_callbacks_modified);
+
+ return 0;
+}
+
+static int process_builtin(sd_bus *bus, sd_bus_message *m) {
+ _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
+ int r;
+
+ assert(bus);
+ assert(m);
+
+ if (m->header->type != SD_BUS_MESSAGE_TYPE_METHOD_CALL)
+ return 0;
+
+ if (!streq_ptr(m->interface, "org.freedesktop.DBus.Peer"))
+ return 0;
+
+ if (m->header->flags & SD_BUS_MESSAGE_NO_REPLY_EXPECTED)
+ return 1;
+
+ if (streq_ptr(m->member, "Ping"))
+ r = sd_bus_message_new_method_return(bus, m, &reply);
+ else if (streq_ptr(m->member, "GetMachineId")) {
+ sd_id128_t id;
+ char sid[33];
+
+ r = sd_id128_get_machine(&id);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_message_new_method_return(bus, m, &reply);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_message_append(reply, "s", sd_id128_to_string(id, sid));
+ } else {
+ _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
+
+ sd_bus_error_set(&error,
+ "org.freedesktop.DBus.Error.UnknownMethod",
+ "Unknown method '%s' on interface '%s'.", m->member, m->interface);
+
+ r = sd_bus_message_new_method_error(bus, m, &error, &reply);
+ }
+
+ if (r < 0)
+ return r;
+
+ r = sd_bus_send(bus, reply, NULL);
+ if (r < 0)
+ return r;
+
+ return 1;
+}
+
+static int process_object(sd_bus *bus, sd_bus_message *m) {
+ _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
+ _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
+ struct object_callback *c;
+ int r;
+ bool found = false;
+ size_t pl;
+
+ assert(bus);
+ assert(m);
+
+ if (m->header->type != SD_BUS_MESSAGE_TYPE_METHOD_CALL)
+ return 0;
+
+ if (hashmap_isempty(bus->object_callbacks))
+ return 0;
+
+ pl = strlen(m->path);
+
+ do {
+ char p[pl+1];
+
+ bus->object_callbacks_modified = false;
+
+ c = hashmap_get(bus->object_callbacks, m->path);
+ if (c && c->last_iteration != bus->iteration_counter) {
+
+ c->last_iteration = bus->iteration_counter;
+
+ r = sd_bus_message_rewind(m, true);
+ if (r < 0)
+ return r;
+
+ r = c->callback(bus, 0, m, c->userdata);
+ if (r != 0)
+ return r;
+
+ found = true;
+ }
+
+ /* Look for fallback prefixes */
+ strcpy(p, m->path);
+ for (;;) {
+ char *e;
+
+ if (bus->object_callbacks_modified)
+ break;
+
+ e = strrchr(p, '/');
+ if (e == p || !e)
+ break;
+
+ *e = 0;
+
+ c = hashmap_get(bus->object_callbacks, p);
+ if (c && c->last_iteration != bus->iteration_counter && c->is_fallback) {
+
+ c->last_iteration = bus->iteration_counter;
+
+ r = sd_bus_message_rewind(m, true);
+ if (r < 0)
+ return r;
+
+ r = c->callback(bus, 0, m, c->userdata);
+ if (r != 0)
+ return r;
+
+ found = true;
+ }
+ }
+
+ } while (bus->object_callbacks_modified);
+
+ /* We found some handlers but none wanted to take this, then
+ * return this -- with one exception, we can handle
+ * introspection minimally ourselves */
+ if (!found || sd_bus_message_is_method_call(m, "org.freedesktop.DBus.Introspectable", "Introspect"))
+ return 0;
+
+ sd_bus_error_set(&error,
+ "org.freedesktop.DBus.Error.UnknownMethod",
+ "Unknown method '%s' or interface '%s'.", m->member, m->interface);
+
+ r = sd_bus_message_new_method_error(bus, m, &error, &reply);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_send(bus, reply, NULL);
+ if (r < 0)
+ return r;
+
+ return 1;
+}
+
+static int process_introspect(sd_bus *bus, sd_bus_message *m) {
+ _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
+ _cleanup_free_ char *introspection = NULL;
+ _cleanup_set_free_free_ Set *s = NULL;
+ _cleanup_fclose_ FILE *f = NULL;
+ struct object_callback *c;
+ Iterator i;
+ size_t size = 0;
+ char *node;
+ int r;
+
+ assert(bus);
+ assert(m);
+
+ if (!sd_bus_message_is_method_call(m, "org.freedesktop.DBus.Introspectable", "Introspect"))
+ return 0;
+
+ if (!m->path)
+ return 0;
+
+ s = set_new(string_hash_func, string_compare_func);
+ if (!s)
+ return -ENOMEM;
+
+ HASHMAP_FOREACH(c, bus->object_callbacks, i) {
+ const char *e;
+ char *a, *p;
+
+ if (streq(c->path, "/"))
+ continue;
+
+ if (streq(m->path, "/"))
+ e = c->path;
+ else {
+ e = startswith(c->path, m->path);
+ if (!e || *e != '/')
+ continue;
+ }
+
+ a = strdup(e+1);
+ if (!a)
+ return -ENOMEM;
+
+ p = strchr(a, '/');
+ if (p)
+ *p = 0;
+
+ r = set_consume(s, a);
+ if (r < 0 && r != -EEXIST)
+ return r;
+ }
+
+ f = open_memstream(&introspection, &size);
+ if (!f)
+ return -ENOMEM;
+
+ fputs(SD_BUS_INTROSPECT_DOCTYPE, f);
+ fputs("<node>\n", f);
+ fputs(SD_BUS_INTROSPECT_INTERFACE_PEER, f);
+ fputs(SD_BUS_INTROSPECT_INTERFACE_INTROSPECTABLE, f);
+
+ while ((node = set_steal_first(s))) {
+ fprintf(f, " <node name=\"%s\"/>\n", node);
+ free(node);
+ }
+
+ fputs("</node>\n", f);
+
+ fflush(f);
+
+ if (ferror(f))
+ return -ENOMEM;
+
+ r = sd_bus_message_new_method_return(bus, m, &reply);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_message_append(reply, "s", introspection);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_send(bus, reply, NULL);
+ if (r < 0)
+ return r;
+
+ return 1;
+}
+
+static int process_message(sd_bus *bus, sd_bus_message *m) {
+ int r;
+
+ assert(bus);
+ assert(m);
+
+ bus->iteration_counter++;
+
+ r = process_hello(bus, m);
+ if (r != 0)
+ return r;
+
+ r = process_reply(bus, m);
+ if (r != 0)
+ return r;
+
+ r = process_filter(bus, m);
+ if (r != 0)
+ return r;
+
+ r = process_match(bus, m);
+ if (r != 0)
+ return r;
+
+ r = process_builtin(bus, m);
+ if (r != 0)
+ return r;
+
+ r = process_object(bus, m);
+ if (r != 0)
+ return r;
+
+ return process_introspect(bus, m);
+}
+
+static int process_running(sd_bus *bus, sd_bus_message **ret) {
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
+ int r;
+
+ assert(bus);
+ assert(bus->state == BUS_RUNNING || bus->state == BUS_HELLO);
+
+ r = process_timeout(bus);
+ if (r != 0)
+ goto null_message;
+
+ r = dispatch_wqueue(bus);
+ if (r != 0)
+ goto null_message;
+
+ r = dispatch_rqueue(bus, &m);
+ if (r < 0)
+ return r;
+ if (!m)
+ goto null_message;
+
+ r = process_message(bus, m);
+ if (r != 0)
+ goto null_message;
+
+ if (ret) {
+ r = sd_bus_message_rewind(m, true);
+ if (r < 0)
+ return r;
+
+ *ret = m;
+ m = NULL;
+ return 1;
+ }
+
+ if (m->header->type == SD_BUS_MESSAGE_TYPE_METHOD_CALL) {
+ _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
+ _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
+
+ sd_bus_error_set(&error, "org.freedesktop.DBus.Error.UnknownObject", "Unknown object '%s'.", m->path);
+
+ r = sd_bus_message_new_method_error(bus, m, &error, &reply);
+ if (r < 0)
+ return r;
+
+ r = sd_bus_send(bus, reply, NULL);
+ if (r < 0)
+ return r;
+ }
+
+ return 1;
+
+null_message:
+ if (r >= 0 && ret)
+ *ret = NULL;
+
+ return r;
+}
+
+int sd_bus_process(sd_bus *bus, sd_bus_message **ret) {
+ int r;
+
+ /* Returns 0 when we didn't do anything. This should cause the
+ * caller to invoke sd_bus_wait() before returning the next
+ * time. Returns > 0 when we did something, which possibly
+ * means *ret is filled in with an unprocessed message. */
+
+ if (!bus)
+ return -EINVAL;
+ if (bus->input_fd < 0)
+ return -ENOTCONN;
+
+ /* We don't allow recursively invoking sd_bus_process(). */
+ if (bus->processing)
+ return -EBUSY;
+
+ switch (bus->state) {
+
+ case BUS_UNSET:
+ return -ENOTCONN;
+
+ case BUS_OPENING:
+ r = bus_socket_process_opening(bus);
+ if (r < 0)
+ return r;
+ if (ret)
+ *ret = NULL;
+ return r;
+
+ case BUS_AUTHENTICATING:
+
+ r = bus_socket_process_authenticating(bus);
+ if (r < 0)
+ return r;
+ if (ret)
+ *ret = NULL;
+ return r;
+
+ case BUS_RUNNING:
+ case BUS_HELLO:
+
+ bus->processing = true;
+ r = process_running(bus, ret);
+ bus->processing = false;
+
+ return r;
+ }
+
+ assert_not_reached("Unknown state");
+}
+
+static int bus_poll(sd_bus *bus, bool need_more, uint64_t timeout_usec) {
+ struct pollfd p[2] = {};
+ int r, e, n;
+ struct timespec ts;
+ usec_t until, m;
+
+ assert(bus);
+
+ if (bus->input_fd < 0)
+ return -ENOTCONN;
+
+ e = sd_bus_get_events(bus);
+ if (e < 0)
+ return e;
+
+ if (need_more)
+ e |= POLLIN;
+
+ r = sd_bus_get_timeout(bus, &until);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ m = (uint64_t) -1;
+ else {
+ usec_t nw;
+ nw = now(CLOCK_MONOTONIC);
+ m = until > nw ? until - nw : 0;
+ }
+
+ if (timeout_usec != (uint64_t) -1 && (m == (uint64_t) -1 || timeout_usec < m))
+ m = timeout_usec;
+
+ p[0].fd = bus->input_fd;
+ if (bus->output_fd == bus->input_fd) {
+ p[0].events = e;
+ n = 1;
+ } else {
+ p[0].events = e & POLLIN;
+ p[1].fd = bus->output_fd;
+ p[1].events = e & POLLOUT;
+ n = 2;
+ }
+
+ r = ppoll(p, n, m == (uint64_t) -1 ? NULL : timespec_store(&ts, m), NULL);
+ if (r < 0)
+ return -errno;
+
+ return r > 0 ? 1 : 0;
+}
+
+int sd_bus_wait(sd_bus *bus, uint64_t timeout_usec) {
+
+ if (!bus)
+ return -EINVAL;
+ if (bus->state == BUS_UNSET)
+ return -ENOTCONN;
+ if (bus->input_fd < 0)
+ return -ENOTCONN;
+ if (bus->rqueue_size > 0)
+ return 0;
+
+ return bus_poll(bus, false, timeout_usec);
+}
+
+int sd_bus_flush(sd_bus *bus) {
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (bus->state == BUS_UNSET)
+ return -ENOTCONN;
+ if (bus->output_fd < 0)
+ return -ENOTCONN;
+
+ r = bus_ensure_running(bus);
+ if (r < 0)
+ return r;
+
+ if (bus->wqueue_size <= 0)
+ return 0;
+
+ for (;;) {
+ r = dispatch_wqueue(bus);
+ if (r < 0)
+ return r;
+
+ if (bus->wqueue_size <= 0)
+ return 0;
+
+ r = bus_poll(bus, false, (uint64_t) -1);
+ if (r < 0)
+ return r;
+ }
+}
+
+int sd_bus_add_filter(sd_bus *bus, sd_bus_message_handler_t callback, void *userdata) {
+ struct filter_callback *f;
+
+ if (!bus)
+ return -EINVAL;
+ if (!callback)
+ return -EINVAL;
+
+ f = new0(struct filter_callback, 1);
+ if (!f)
+ return -ENOMEM;
+ f->callback = callback;
+ f->userdata = userdata;
+
+ bus->filter_callbacks_modified = true;
+ LIST_PREPEND(struct filter_callback, callbacks, bus->filter_callbacks, f);
+ return 0;
+}
+
+int sd_bus_remove_filter(sd_bus *bus, sd_bus_message_handler_t callback, void *userdata) {
+ struct filter_callback *f;
+
+ if (!bus)
+ return -EINVAL;
+ if (!callback)
+ return -EINVAL;
+
+ LIST_FOREACH(callbacks, f, bus->filter_callbacks) {
+ if (f->callback == callback && f->userdata == userdata) {
+ bus->filter_callbacks_modified = true;
+ LIST_REMOVE(struct filter_callback, callbacks, bus->filter_callbacks, f);
+ free(f);
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+static int bus_add_object(
+ sd_bus *bus,
+ bool fallback,
+ const char *path,
+ sd_bus_message_handler_t callback,
+ void *userdata) {
+
+ struct object_callback *c;
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (!path)
+ return -EINVAL;
+ if (!callback)
+ return -EINVAL;
+
+ r = hashmap_ensure_allocated(&bus->object_callbacks, string_hash_func, string_compare_func);
+ if (r < 0)
+ return r;
+
+ c = new0(struct object_callback, 1);
+ if (!c)
+ return -ENOMEM;
+
+ c->path = strdup(path);
+ if (!c->path) {
+ free(c);
+ return -ENOMEM;
+ }
+
+ c->callback = callback;
+ c->userdata = userdata;
+ c->is_fallback = fallback;
+
+ bus->object_callbacks_modified = true;
+ r = hashmap_put(bus->object_callbacks, c->path, c);
+ if (r < 0) {
+ free(c->path);
+ free(c);
+ return r;
+ }
+
+ return 0;
+}
+
+static int bus_remove_object(
+ sd_bus *bus,
+ bool fallback,
+ const char *path,
+ sd_bus_message_handler_t callback,
+ void *userdata) {
+
+ struct object_callback *c;
+
+ if (!bus)
+ return -EINVAL;
+ if (!path)
+ return -EINVAL;
+ if (!callback)
+ return -EINVAL;
+
+ c = hashmap_get(bus->object_callbacks, path);
+ if (!c)
+ return 0;
+
+ if (c->callback != callback || c->userdata != userdata || c->is_fallback != fallback)
+ return 0;
+
+ bus->object_callbacks_modified = true;
+ assert_se(c == hashmap_remove(bus->object_callbacks, c->path));
+
+ free(c->path);
+ free(c);
+
+ return 1;
+}
+
+int sd_bus_add_object(sd_bus *bus, const char *path, sd_bus_message_handler_t callback, void *userdata) {
+ return bus_add_object(bus, false, path, callback, userdata);
+}
+
+int sd_bus_remove_object(sd_bus *bus, const char *path, sd_bus_message_handler_t callback, void *userdata) {
+ return bus_remove_object(bus, false, path, callback, userdata);
+}
+
+int sd_bus_add_fallback(sd_bus *bus, const char *prefix, sd_bus_message_handler_t callback, void *userdata) {
+ return bus_add_object(bus, true, prefix, callback, userdata);
+}
+
+int sd_bus_remove_fallback(sd_bus *bus, const char *prefix, sd_bus_message_handler_t callback, void *userdata) {
+ return bus_remove_object(bus, true, prefix, callback, userdata);
+}
+
+int sd_bus_add_match(sd_bus *bus, const char *match, sd_bus_message_handler_t callback, void *userdata) {
+ int r = 0;
+
+ if (!bus)
+ return -EINVAL;
+ if (!match)
+ return -EINVAL;
+
+ if (bus->bus_client) {
+ r = bus_add_match_internal(bus, match);
+ if (r < 0)
+ return r;
+ }
+
+ if (callback) {
+ bus->match_callbacks_modified = true;
+ r = bus_match_add(&bus->match_callbacks, match, callback, userdata, NULL);
+ if (r < 0) {
+
+ if (bus->bus_client)
+ bus_remove_match_internal(bus, match);
+ }
+ }
+
+ return r;
+}
+
+int sd_bus_remove_match(sd_bus *bus, const char *match, sd_bus_message_handler_t callback, void *userdata) {
+ int r = 0, q = 0;
+
+ if (!bus)
+ return -EINVAL;
+ if (!match)
+ return -EINVAL;
+
+ if (bus->bus_client)
+ r = bus_remove_match_internal(bus, match);
+
+ if (callback) {
+ bus->match_callbacks_modified = true;
+ q = bus_match_remove(&bus->match_callbacks, match, callback, userdata);
+ }
+
+ if (r < 0)
+ return r;
+ return q;
+}
+
+int sd_bus_emit_signal(
+ sd_bus *bus,
+ const char *path,
+ const char *interface,
+ const char *member,
+ const char *types, ...) {
+
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
+ va_list ap;
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+
+ r = sd_bus_message_new_signal(bus, path, interface, member, &m);
+ if (r < 0)
+ return r;
+
+ va_start(ap, types);
+ r = bus_message_append_ap(m, types, ap);
+ va_end(ap);
+ if (r < 0)
+ return r;
+
+ return sd_bus_send(bus, m, NULL);
+}
+
+int sd_bus_call_method(
+ sd_bus *bus,
+ const char *destination,
+ const char *path,
+ const char *interface,
+ const char *member,
+ sd_bus_error *error,
+ sd_bus_message **reply,
+ const char *types, ...) {
+
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
+ va_list ap;
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+
+ r = sd_bus_message_new_method_call(bus, destination, path, interface, member, &m);
+ if (r < 0)
+ return r;
+
+ va_start(ap, types);
+ r = bus_message_append_ap(m, types, ap);
+ va_end(ap);
+ if (r < 0)
+ return r;
+
+ return sd_bus_send_with_reply_and_block(bus, m, 0, error, reply);
+}
+
+int sd_bus_reply_method_return(
+ sd_bus *bus,
+ sd_bus_message *call,
+ const char *types, ...) {
+
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
+ va_list ap;
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (!call)
+ return -EINVAL;
+ if (!call->sealed)
+ return -EPERM;
+ if (call->header->type != SD_BUS_MESSAGE_TYPE_METHOD_CALL)
+ return -EINVAL;
+
+ if (call->header->flags & SD_BUS_MESSAGE_NO_REPLY_EXPECTED)
+ return 0;
+
+ r = sd_bus_message_new_method_return(bus, call, &m);
+ if (r < 0)
+ return r;
+
+ va_start(ap, types);
+ r = bus_message_append_ap(m, types, ap);
+ va_end(ap);
+ if (r < 0)
+ return r;
+
+ return sd_bus_send(bus, m, NULL);
+}
+
+int sd_bus_reply_method_error(
+ sd_bus *bus,
+ sd_bus_message *call,
+ const sd_bus_error *e) {
+
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
+ int r;
+
+ if (!bus)
+ return -EINVAL;
+ if (!call)
+ return -EINVAL;
+ if (!call->sealed)
+ return -EPERM;
+ if (call->header->type != SD_BUS_MESSAGE_TYPE_METHOD_CALL)
+ return -EINVAL;
+ if (!sd_bus_error_is_set(e))
+ return -EINVAL;
+
+ if (call->header->flags & SD_BUS_MESSAGE_NO_REPLY_EXPECTED)
+ return 0;
+
+ r = sd_bus_message_new_method_error(bus, call, e, &m);
+ if (r < 0)
+ return r;
+
+ return sd_bus_send(bus, m, NULL);
+}
diff --git a/src/libsystemd-bus/test-bus-chat.c b/src/libsystemd-bus/test-bus-chat.c
new file mode 100644
index 0000000000..f457c8f88a
--- /dev/null
+++ b/src/libsystemd-bus/test-bus-chat.c
@@ -0,0 +1,576 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <assert.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "log.h"
+#include "util.h"
+#include "macro.h"
+
+#include "sd-bus.h"
+#include "bus-message.h"
+#include "bus-error.h"
+#include "bus-match.h"
+#include "bus-internal.h"
+
+static int match_callback(sd_bus *bus, int error, sd_bus_message *m, void *userdata) {
+ log_info("Match triggered! interface=%s member=%s", strna(sd_bus_message_get_interface(m)), strna(sd_bus_message_get_member(m)));
+ return 0;
+}
+
+static int object_callback(sd_bus *bus, int error, sd_bus_message *m, void *userdata) {
+ int r;
+
+ assert(bus);
+
+ if (error != 0)
+ return 0;
+
+ if (sd_bus_message_is_method_call(m, "org.object.test", "Foobar")) {
+ log_info("Invoked Foobar() on %s", sd_bus_message_get_path(m));
+
+ r = sd_bus_reply_method_return(bus, m, NULL);
+ if (r < 0) {
+ log_error("Failed to send reply: %s", strerror(-r));
+ return r;
+ }
+
+ return 1;
+ }
+
+ return 0;
+}
+
+static int server_init(sd_bus **_bus) {
+ sd_bus *bus = NULL;
+ sd_id128_t id;
+ int r;
+ const char *unique;
+
+ assert(_bus);
+
+ r = sd_bus_open_user(&bus);
+ if (r < 0) {
+ log_error("Failed to connect to user bus: %s", strerror(-r));
+ goto fail;
+ }
+
+ r = sd_bus_get_server_id(bus, &id);
+ if (r < 0) {
+ log_error("Failed to get server ID: %s", strerror(-r));
+ goto fail;
+ }
+
+ r = sd_bus_get_unique_name(bus, &unique);
+ if (r < 0) {
+ log_error("Failed to get unique name: %s", strerror(-r));
+ goto fail;
+ }
+
+ log_info("Peer ID is " SD_ID128_FORMAT_STR ".", SD_ID128_FORMAT_VAL(id));
+ log_info("Unique ID: %s", unique);
+ log_info("Can send file handles: %i", sd_bus_can_send(bus, 'h'));
+
+ r = sd_bus_request_name(bus, "org.freedesktop.systemd.test", 0);
+ if (r < 0) {
+ log_error("Failed to acquire name: %s", strerror(-r));
+ goto fail;
+ }
+
+ r = sd_bus_add_fallback(bus, "/foo/bar", object_callback, NULL);
+ if (r < 0) {
+ log_error("Failed to add object: %s", strerror(-r));
+ goto fail;
+ }
+
+ r = sd_bus_add_match(bus, "type='signal',interface='foo.bar',member='Notify'", match_callback, NULL);
+ if (r < 0) {
+ log_error("Failed to add match: %s", strerror(-r));
+ goto fail;
+ }
+
+ r = sd_bus_add_match(bus, "type='signal',interface='org.freedesktop.DBus',member='NameOwnerChanged'", match_callback, NULL);
+ if (r < 0) {
+ log_error("Failed to add match: %s", strerror(-r));
+ goto fail;
+ }
+
+ bus_match_dump(&bus->match_callbacks, 0);
+
+ *_bus = bus;
+ return 0;
+
+fail:
+ if (bus)
+ sd_bus_unref(bus);
+
+ return r;
+}
+
+static int server(sd_bus *bus) {
+ int r;
+ bool client1_gone = false, client2_gone = false;
+
+ while (!client1_gone || !client2_gone) {
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
+ pid_t pid = 0;
+ const char *label = NULL;
+
+ r = sd_bus_process(bus, &m);
+ if (r < 0) {
+ log_error("Failed to process requests: %s", strerror(-r));
+ goto fail;
+ }
+
+ if (r == 0) {
+ r = sd_bus_wait(bus, (uint64_t) -1);
+ if (r < 0) {
+ log_error("Failed to wait: %s", strerror(-r));
+ goto fail;
+ }
+
+ continue;
+ }
+
+ if (!m)
+ continue;
+
+ sd_bus_message_get_pid(m, &pid);
+ sd_bus_message_get_selinux_context(m, &label);
+ log_info("Got message! member=%s pid=%lu label=%s",
+ strna(sd_bus_message_get_member(m)),
+ (unsigned long) pid,
+ strna(label));
+ /* bus_message_dump(m); */
+ /* sd_bus_message_rewind(m, true); */
+
+ if (sd_bus_message_is_method_call(m, "org.freedesktop.systemd.test", "LowerCase")) {
+ const char *hello;
+ _cleanup_free_ char *lowercase = NULL;
+
+ r = sd_bus_message_read(m, "s", &hello);
+ if (r < 0) {
+ log_error("Failed to get parameter: %s", strerror(-r));
+ goto fail;
+ }
+
+ lowercase = strdup(hello);
+ if (!lowercase) {
+ r = log_oom();
+ goto fail;
+ }
+
+ ascii_strlower(lowercase);
+
+ r = sd_bus_reply_method_return(bus, m, "s", lowercase);
+ if (r < 0) {
+ log_error("Failed to send reply: %s", strerror(-r));
+ goto fail;
+ }
+ } else if (sd_bus_message_is_method_call(m, "org.freedesktop.systemd.test", "ExitClient1")) {
+
+ r = sd_bus_reply_method_return(bus, m, NULL);
+ if (r < 0) {
+ log_error("Failed to send reply: %s", strerror(-r));
+ goto fail;
+ }
+
+ client1_gone = true;
+ } else if (sd_bus_message_is_method_call(m, "org.freedesktop.systemd.test", "ExitClient2")) {
+
+ r = sd_bus_reply_method_return(bus, m, NULL);
+ if (r < 0) {
+ log_error("Failed to send reply: %s", strerror(-r));
+ goto fail;
+ }
+
+ client2_gone = true;
+ } else if (sd_bus_message_is_method_call(m, "org.freedesktop.systemd.test", "Slow")) {
+
+ sleep(1);
+
+ r = sd_bus_reply_method_return(bus, m, NULL);
+ if (r < 0) {
+ log_error("Failed to send reply: %s", strerror(-r));
+ goto fail;
+ }
+
+ } else if (sd_bus_message_is_method_call(m, "org.freedesktop.systemd.test", "FileDescriptor")) {
+ int fd;
+ static const char x = 'X';
+
+ r = sd_bus_message_read(m, "h", &fd);
+ if (r < 0) {
+ log_error("Failed to get parameter: %s", strerror(-r));
+ goto fail;
+ }
+
+ if (write(fd, &x, 1) < 0) {
+ log_error("Failed to write to fd: %m");
+ close_nointr_nofail(fd);
+ goto fail;
+ }
+
+ r = sd_bus_reply_method_return(bus, m, NULL);
+ if (r < 0) {
+ log_error("Failed to send reply: %s", strerror(-r));
+ goto fail;
+ }
+
+ } else if (sd_bus_message_is_method_call(m, NULL, NULL)) {
+
+ r = sd_bus_reply_method_error(
+ bus, m,
+ &SD_BUS_ERROR_MAKE("org.freedesktop.DBus.Error.UnknownMethod", "Unknown method."));
+ if (r < 0) {
+ log_error("Failed to send reply: %s", strerror(-r));
+ goto fail;
+ }
+ }
+ }
+
+ r = 0;
+
+fail:
+ if (bus) {
+ sd_bus_flush(bus);
+ sd_bus_unref(bus);
+ }
+
+ return r;
+}
+
+static void* client1(void*p) {
+ _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
+ sd_bus *bus = NULL;
+ sd_bus_error error = SD_BUS_ERROR_NULL;
+ const char *hello;
+ int r;
+ int pp[2] = { -1, -1 };
+ char x;
+
+ r = sd_bus_open_user(&bus);
+ if (r < 0) {
+ log_error("Failed to connect to user bus: %s", strerror(-r));
+ goto finish;
+ }
+
+ r = sd_bus_call_method(
+ bus,
+ "org.freedesktop.systemd.test",
+ "/",
+ "org.freedesktop.systemd.test",
+ "LowerCase",
+ &error,
+ &reply,
+ "s",
+ "HELLO");
+ if (r < 0) {
+ log_error("Failed to issue method call: %s", strerror(-r));
+ goto finish;
+ }
+
+ r = sd_bus_message_read(reply, "s", &hello);
+ if (r < 0) {
+ log_error("Failed to get string: %s", strerror(-r));
+ goto finish;
+ }
+
+ assert(streq(hello, "hello"));
+
+ if (pipe2(pp, O_CLOEXEC|O_NONBLOCK) < 0) {
+ log_error("Failed to allocate pipe: %m");
+ r = -errno;
+ goto finish;
+ }
+
+ r = sd_bus_call_method(
+ bus,
+ "org.freedesktop.systemd.test",
+ "/",
+ "org.freedesktop.systemd.test",
+ "FileDescriptor",
+ &error,
+ NULL,
+ "h",
+ pp[1]);
+ if (r < 0) {
+ log_error("Failed to issue method call: %s", strerror(-r));
+ goto finish;
+ }
+
+ errno = 0;
+ if (read(pp[0], &x, 1) <= 0) {
+ log_error("Failed to read from pipe: %s", errno ? strerror(errno) : "early read");
+ goto finish;
+ }
+
+ r = 0;
+
+finish:
+ if (bus) {
+ _cleanup_bus_message_unref_ sd_bus_message *q;
+
+ r = sd_bus_message_new_method_call(
+ bus,
+ "org.freedesktop.systemd.test",
+ "/",
+ "org.freedesktop.systemd.test",
+ "ExitClient1",
+ &q);
+ if (r < 0)
+ log_error("Failed to allocate method call: %s", strerror(-r));
+ else
+ sd_bus_send(bus, q, NULL);
+
+ sd_bus_flush(bus);
+ sd_bus_unref(bus);
+ }
+
+ sd_bus_error_free(&error);
+
+ close_pipe(pp);
+
+ return INT_TO_PTR(r);
+}
+
+static int quit_callback(sd_bus *b, int ret, sd_bus_message *m, void *userdata) {
+ bool *x = userdata;
+
+ log_error("Quit callback: %s", strerror(ret));
+
+ *x = 1;
+ return 1;
+}
+
+static void* client2(void*p) {
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL, *reply = NULL;
+ sd_bus *bus = NULL;
+ sd_bus_error error = SD_BUS_ERROR_NULL;
+ bool quit = false;
+ const char *mid;
+ int r;
+
+ r = sd_bus_open_user(&bus);
+ if (r < 0) {
+ log_error("Failed to connect to user bus: %s", strerror(-r));
+ goto finish;
+ }
+
+ r = sd_bus_message_new_method_call(
+ bus,
+ "org.freedesktop.systemd.test",
+ "/foo/bar/waldo/piep",
+ "org.object.test",
+ "Foobar",
+ &m);
+ if (r < 0) {
+ log_error("Failed to allocate method call: %s", strerror(-r));
+ goto finish;
+ }
+
+ r = sd_bus_send(bus, m, NULL);
+ if (r < 0) {
+ log_error("Failed to issue method call: %s", bus_error_message(&error, -r));
+ goto finish;
+ }
+
+ sd_bus_message_unref(m);
+ m = NULL;
+
+ r = sd_bus_message_new_signal(
+ bus,
+ "/foobar",
+ "foo.bar",
+ "Notify",
+ &m);
+ if (r < 0) {
+ log_error("Failed to allocate signal: %s", strerror(-r));
+ goto finish;
+ }
+
+ r = sd_bus_send(bus, m, NULL);
+ if (r < 0) {
+ log_error("Failed to issue signal: %s", bus_error_message(&error, -r));
+ goto finish;
+ }
+
+ sd_bus_message_unref(m);
+ m = NULL;
+
+ r = sd_bus_message_new_method_call(
+ bus,
+ "org.freedesktop.systemd.test",
+ "/",
+ "org.freedesktop.DBus.Peer",
+ "GetMachineId",
+ &m);
+ if (r < 0) {
+ log_error("Failed to allocate method call: %s", strerror(-r));
+ goto finish;
+ }
+
+ r = sd_bus_send_with_reply_and_block(bus, m, 0, &error, &reply);
+ if (r < 0) {
+ log_error("Failed to issue method call: %s", bus_error_message(&error, -r));
+ goto finish;
+ }
+
+ r = sd_bus_message_read(reply, "s", &mid);
+ if (r < 0) {
+ log_error("Failed to parse machine ID: %s", strerror(-r));
+ goto finish;
+ }
+
+ log_info("Machine ID is %s.", mid);
+
+ sd_bus_message_unref(m);
+ m = NULL;
+
+ r = sd_bus_message_new_method_call(
+ bus,
+ "org.freedesktop.systemd.test",
+ "/",
+ "org.freedesktop.systemd.test",
+ "Slow",
+ &m);
+ if (r < 0) {
+ log_error("Failed to allocate method call: %s", strerror(-r));
+ goto finish;
+ }
+
+ sd_bus_message_unref(reply);
+ reply = NULL;
+
+ r = sd_bus_send_with_reply_and_block(bus, m, 200 * USEC_PER_MSEC, &error, &reply);
+ if (r < 0)
+ log_info("Failed to issue method call: %s", bus_error_message(&error, -r));
+ else
+ log_info("Slow call succeed.");
+
+ sd_bus_message_unref(m);
+ m = NULL;
+
+ r = sd_bus_message_new_method_call(
+ bus,
+ "org.freedesktop.systemd.test",
+ "/",
+ "org.freedesktop.systemd.test",
+ "Slow",
+ &m);
+ if (r < 0) {
+ log_error("Failed to allocate method call: %s", strerror(-r));
+ goto finish;
+ }
+
+ r = sd_bus_send_with_reply(bus, m, quit_callback, &quit, 200 * USEC_PER_MSEC, NULL);
+ if (r < 0) {
+ log_info("Failed to issue method call: %s", bus_error_message(&error, -r));
+ goto finish;
+ }
+
+ while (!quit) {
+ r = sd_bus_process(bus, NULL);
+ if (r < 0) {
+ log_error("Failed to process requests: %s", strerror(-r));
+ goto finish;
+ }
+ if (r == 0) {
+ r = sd_bus_wait(bus, (uint64_t) -1);
+ if (r < 0) {
+ log_error("Failed to wait: %s", strerror(-r));
+ goto finish;
+ }
+ }
+ }
+
+ r = 0;
+
+finish:
+ if (bus) {
+ _cleanup_bus_message_unref_ sd_bus_message *q;
+
+ r = sd_bus_message_new_method_call(
+ bus,
+ "org.freedesktop.systemd.test",
+ "/",
+ "org.freedesktop.systemd.test",
+ "ExitClient2",
+ &q);
+ if (r < 0) {
+ log_error("Failed to allocate method call: %s", strerror(-r));
+ goto finish;
+ }
+
+ sd_bus_send(bus, q, NULL);
+ sd_bus_flush(bus);
+ sd_bus_unref(bus);
+ }
+
+ sd_bus_error_free(&error);
+ return INT_TO_PTR(r);
+}
+
+int main(int argc, char *argv[]) {
+ pthread_t c1, c2;
+ sd_bus *bus;
+ void *p;
+ int q, r;
+
+ r = server_init(&bus);
+ if (r < 0) {
+ log_info("Failed to connect to bus, skipping tests.");
+ return EXIT_TEST_SKIP;
+ }
+
+ log_info("Initialized...");
+
+ r = pthread_create(&c1, NULL, client1, bus);
+ if (r != 0)
+ return EXIT_FAILURE;
+
+ r = pthread_create(&c2, NULL, client2, bus);
+ if (r != 0)
+ return EXIT_FAILURE;
+
+ r = server(bus);
+
+ q = pthread_join(c1, &p);
+ if (q != 0)
+ return EXIT_FAILURE;
+ if (PTR_TO_INT(p) < 0)
+ return EXIT_FAILURE;
+
+ q = pthread_join(c2, &p);
+ if (q != 0)
+ return EXIT_FAILURE;
+ if (PTR_TO_INT(p) < 0)
+ return EXIT_FAILURE;
+
+ if (r < 0)
+ return EXIT_FAILURE;
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/libsystemd-bus/test-bus-kernel.c b/src/libsystemd-bus/test-bus-kernel.c
new file mode 100644
index 0000000000..1095e57e42
--- /dev/null
+++ b/src/libsystemd-bus/test-bus-kernel.c
@@ -0,0 +1,162 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <fcntl.h>
+
+#include "util.h"
+
+#include "sd-bus.h"
+#include "bus-message.h"
+#include "bus-error.h"
+#include "bus-kernel.h"
+
+int main(int argc, char *argv[]) {
+ _cleanup_close_ int bus_ref = -1;
+ _cleanup_free_ char *bus_name = NULL, *address = NULL;
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
+ const char *ua = NULL, *ub = NULL, *the_string = NULL;
+ sd_bus *a, *b;
+ int r, pipe_fds[2];
+
+ bus_ref = bus_kernel_create("deine-mutter", &bus_name);
+ if (bus_ref == -ENOENT)
+ return EXIT_TEST_SKIP;
+
+ assert_se(bus_ref >= 0);
+
+ address = strappend("kernel:path=", bus_name);
+ assert_se(address);
+
+ r = sd_bus_new(&a);
+ assert_se(r >= 0);
+
+ r = sd_bus_new(&b);
+ assert_se(r >= 0);
+
+ r = sd_bus_set_address(a, address);
+ assert_se(r >= 0);
+
+ r = sd_bus_set_address(b, address);
+ assert_se(r >= 0);
+
+ r = sd_bus_start(a);
+ assert_se(r >= 0);
+
+ r = sd_bus_start(b);
+ assert_se(r >= 0);
+
+ r = sd_bus_get_unique_name(a, &ua);
+ assert_se(r >= 0);
+
+ printf("unique a: %s\n", ua);
+
+ r = sd_bus_get_unique_name(b, &ub);
+ assert_se(r >= 0);
+
+ printf("unique b: %s\n", ub);
+
+ {
+ //FIXME:
+ struct kdbus_cmd_match cmd_match;
+
+ cmd_match.size = sizeof(cmd_match);
+ cmd_match.src_id = KDBUS_MATCH_SRC_ID_ANY;
+
+ r = ioctl(sd_bus_get_fd(a), KDBUS_CMD_MATCH_ADD, &cmd_match);
+ assert_se(r >= 0);
+
+ r = ioctl(sd_bus_get_fd(b), KDBUS_CMD_MATCH_ADD, &cmd_match);
+ assert_se(r >= 0);
+ }
+
+ r = sd_bus_emit_signal(a, "/foo/bar/waldo", "waldo.com", "Piep", "sss", "I am a string", "/this/is/a/path", "and.this.a.domain.name");
+ assert_se(r >= 0);
+
+ r = sd_bus_process(b, &m);
+ assert_se(r > 0);
+ assert_se(m);
+
+ bus_message_dump(m);
+ assert_se(sd_bus_message_rewind(m, true) >= 0);
+
+ r = sd_bus_message_read(m, "s", &the_string);
+ assert_se(r >= 0);
+ assert_se(streq(the_string, "I am a string"));
+
+ sd_bus_message_unref(m);
+ m = NULL;
+
+ r = sd_bus_request_name(a, "net.x0pointer.foobar", 0);
+ assert_se(r >= 0);
+
+ r = sd_bus_message_new_method_call(b, "net.x0pointer.foobar", "/a/path", "an.inter.face", "AMethod", &m);
+ assert_se(r >= 0);
+
+ assert_se(pipe2(pipe_fds, O_CLOEXEC) >= 0);
+
+ assert_se(write(pipe_fds[1], "x", 1) == 1);
+
+ close_nointr_nofail(pipe_fds[1]);
+ pipe_fds[1] = -1;
+
+ r = sd_bus_message_append(m, "h", pipe_fds[0]);
+ assert_se(r >= 0);
+
+ close_nointr_nofail(pipe_fds[0]);
+ pipe_fds[0] = -1;
+
+ r = sd_bus_send(b, m, NULL);
+ assert_se(r >= 0);
+
+ for (;;) {
+ sd_bus_message_unref(m);
+ m = NULL;
+ r = sd_bus_process(a, &m);
+ assert_se(r > 0);
+ assert_se(m);
+
+ bus_message_dump(m);
+ assert_se(sd_bus_message_rewind(m, true) >= 0);
+
+ if (sd_bus_message_is_method_call(m, "an.inter.face", "AMethod")) {
+ int fd;
+ char x;
+
+ r = sd_bus_message_read(m, "h", &fd);
+ assert_se(r >= 0);
+
+ assert_se(read(fd, &x, 1) == 1);
+ assert_se(x == 'x');
+ break;
+ }
+ }
+
+ r = sd_bus_release_name(a, "net.x0pointer.foobar");
+ assert_se(r >= 0);
+
+ r = sd_bus_release_name(a, "net.x0pointer.foobar");
+ assert_se(r == -ESRCH);
+
+ sd_bus_unref(a);
+ sd_bus_unref(b);
+
+ return 0;
+}
diff --git a/src/libsystemd-bus/test-bus-marshal.c b/src/libsystemd-bus/test-bus-marshal.c
new file mode 100644
index 0000000000..20ae723fbe
--- /dev/null
+++ b/src/libsystemd-bus/test-bus-marshal.c
@@ -0,0 +1,175 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <assert.h>
+#include <stdlib.h>
+#include <byteswap.h>
+
+#ifdef HAVE_GLIB
+#include <gio/gio.h>
+#endif
+
+#include <dbus.h>
+
+#include "log.h"
+#include "util.h"
+
+#include "sd-bus.h"
+#include "bus-message.h"
+
+int main(int argc, char *argv[]) {
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
+ int r, boolean;
+ const char *x, *y, *z, *a, *b, *c, *d;
+ uint8_t u, v;
+ void *buffer = NULL;
+ size_t sz;
+ char *h;
+
+ r = sd_bus_message_new_method_call(NULL, "foobar.waldo", "/", "foobar.waldo", "Piep", &m);
+ assert_se(r >= 0);
+
+ r = sd_bus_message_append(m, "s", "a string");
+ assert_se(r >= 0);
+
+ r = sd_bus_message_append(m, "s", NULL);
+ assert_se(r < 0);
+
+ r = sd_bus_message_append(m, "as", 2, "string #1", "string #2");
+ assert_se(r >= 0);
+
+ r = sd_bus_message_append(m, "sass", "foobar", 5, "foo", "bar", "waldo", "piep", "pap", "after");
+ assert_se(r >= 0);
+
+ r = sd_bus_message_append(m, "a{yv}", 2, 3, "s", "foo", 5, "s", "waldo");
+ assert_se(r >= 0);
+
+ r = sd_bus_message_append(m, "ba(ss)", 255, 3, "aaa", "1", "bbb", "2", "ccc", "3");
+ assert_se(r >= 0);
+
+ r = sd_bus_message_open_container(m, 'a', "s");
+ assert_se(r >= 0);
+
+ r = sd_bus_message_append_basic(m, 's', "foobar");
+ assert_se(r >= 0);
+
+ r = sd_bus_message_append_basic(m, 's', "waldo");
+ assert_se(r >= 0);
+
+ r = sd_bus_message_close_container(m);
+ assert_se(r >= 0);
+
+ r = bus_message_seal(m, 4711);
+ assert_se(r >= 0);
+
+ bus_message_dump(m);
+
+ r = bus_message_get_blob(m, &buffer, &sz);
+ assert_se(r >= 0);
+
+ h = hexmem(buffer, sz);
+ assert_se(h);
+
+ log_info("message size = %lu, contents =\n%s", (unsigned long) sz, h);
+ free(h);
+
+#ifdef HAVE_GLIB
+ {
+ GDBusMessage *g;
+ char *p;
+
+#if !defined(GLIB_VERSION_2_36)
+ g_type_init();
+#endif
+
+ g = g_dbus_message_new_from_blob(buffer, sz, 0, NULL);
+ p = g_dbus_message_print(g, 0);
+ log_info("%s", p);
+ g_free(p);
+ g_object_unref(g);
+ }
+#endif
+
+ {
+ DBusMessage *w;
+ DBusError error;
+
+ dbus_error_init(&error);
+
+ w = dbus_message_demarshal(buffer, sz, &error);
+ if (!w) {
+ log_error("%s", error.message);
+ } else
+ dbus_message_unref(w);
+ }
+
+ m = sd_bus_message_unref(m);
+
+ r = bus_message_from_malloc(buffer, sz, NULL, 0, NULL, NULL, &m);
+ assert_se(r >= 0);
+
+ bus_message_dump(m);
+
+ assert_se(sd_bus_message_rewind(m, true) >= 0);
+
+ r = sd_bus_message_read(m, "sas", &x, 2, &y, &z);
+ assert_se(r > 0);
+ assert_se(streq(x, "a string"));
+ assert_se(streq(y, "string #1"));
+ assert_se(streq(z, "string #2"));
+
+ r = sd_bus_message_read(m, "sass", &x, 5, &y, &z, &a, &b, &c, &d);
+ assert_se(r > 0);
+ assert_se(streq(x, "foobar"));
+ assert_se(streq(y, "foo"));
+ assert_se(streq(z, "bar"));
+ assert_se(streq(a, "waldo"));
+ assert_se(streq(b, "piep"));
+ assert_se(streq(c, "pap"));
+ assert_se(streq(d, "after"));
+
+ r = sd_bus_message_read(m, "a{yv}", 2, &u, "s", &x, &v, "s", &y);
+ assert_se(r > 0);
+ assert_se(u == 3);
+ assert_se(streq(x, "foo"));
+ assert_se(v == 5);
+ assert_se(streq(y, "waldo"));
+
+ r = sd_bus_message_read(m, "ba(ss)", &boolean, 3, &x, &y, &a, &b, &c, &d);
+ assert_se(r > 0);
+ assert_se(boolean);
+ assert_se(streq(x, "aaa"));
+ assert_se(streq(y, "1"));
+ assert_se(streq(a, "bbb"));
+ assert_se(streq(b, "2"));
+ assert_se(streq(c, "ccc"));
+ assert_se(streq(d, "3"));
+
+ r = sd_bus_message_read(m, "as", 2, &x, &y);
+ assert_se(r > 0);
+ assert_se(streq(x, "foobar"));
+ assert_se(streq(y, "waldo"));
+
+ r = sd_bus_message_peek_type(m, NULL, NULL);
+ assert_se(r == 0);
+
+ return 0;
+}
diff --git a/src/libsystemd-bus/test-bus-match.c b/src/libsystemd-bus/test-bus-match.c
new file mode 100644
index 0000000000..9cf994009d
--- /dev/null
+++ b/src/libsystemd-bus/test-bus-match.c
@@ -0,0 +1,114 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <assert.h>
+
+#include "log.h"
+#include "util.h"
+#include "macro.h"
+
+#include "bus-match.h"
+#include "bus-message.h"
+
+static bool mask[32];
+
+static int filter(sd_bus *b, int ret, sd_bus_message *m, void *userdata) {
+ log_info("Ran %i", PTR_TO_INT(userdata));
+ mask[PTR_TO_INT(userdata)] = true;
+ return 0;
+}
+
+static bool mask_contains(unsigned a[], unsigned n) {
+ unsigned i, j;
+
+ for (i = 0; i < ELEMENTSOF(mask); i++) {
+ bool found = false;
+
+ for (j = 0; j < n; j++)
+ if (a[j] == i) {
+ found = true;
+ break;
+ }
+
+ if (found != mask[i])
+ return false;
+ }
+
+ return true;
+}
+
+int main(int argc, char *argv[]) {
+ struct bus_match_node root;
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
+ enum bus_match_node_type i;
+
+ zero(root);
+ root.type = BUS_MATCH_ROOT;
+
+ assert_se(bus_match_add(&root, "arg2='wal\\'do',sender='foo',type='signal',interface='bar',", filter, INT_TO_PTR(1), NULL) >= 0);
+ assert_se(bus_match_add(&root, "arg2='wal\\'do2',sender='foo',type='signal',interface='bar',", filter, INT_TO_PTR(2), NULL) >= 0);
+ assert_se(bus_match_add(&root, "arg3='test',sender='foo',type='signal',interface='bar',", filter, INT_TO_PTR(3), NULL) >= 0);
+ assert_se(bus_match_add(&root, "arg3='test',sender='foo',type='method_call',interface='bar',", filter, INT_TO_PTR(4), NULL) >= 0);
+ assert_se(bus_match_add(&root, "", filter, INT_TO_PTR(5), NULL) >= 0);
+ assert_se(bus_match_add(&root, "interface='quux'", filter, INT_TO_PTR(6), NULL) >= 0);
+ assert_se(bus_match_add(&root, "interface='bar'", filter, INT_TO_PTR(7), NULL) >= 0);
+ assert_se(bus_match_add(&root, "member='waldo',path='/foo/bar'", filter, INT_TO_PTR(8), NULL) >= 0);
+ assert_se(bus_match_add(&root, "path='/foo/bar'", filter, INT_TO_PTR(9), NULL) >= 0);
+ assert_se(bus_match_add(&root, "path_namespace='/foo'", filter, INT_TO_PTR(10), NULL) >= 0);
+ assert_se(bus_match_add(&root, "path_namespace='/foo/quux'", filter, INT_TO_PTR(11), NULL) >= 0);
+ assert_se(bus_match_add(&root, "arg1='two'", filter, INT_TO_PTR(12), NULL) >= 0);
+ assert_se(bus_match_add(&root, "member='waldo',arg2path='/prefix/'", filter, INT_TO_PTR(13), NULL) >= 0);
+ assert_se(bus_match_add(&root, "member='waldo',path='/foo/bar',arg3namespace='prefix'", filter, INT_TO_PTR(14), NULL) >= 0);
+
+ bus_match_dump(&root, 0);
+
+ assert_se(sd_bus_message_new_signal(NULL, "/foo/bar", "bar", "waldo", &m) >= 0);
+ assert_se(sd_bus_message_append(m, "ssss", "one", "two", "/prefix/three", "prefix.four") >= 0);
+ assert_se(bus_message_seal(m, 1) >= 0);
+
+ zero(mask);
+ assert_se(bus_match_run(NULL, &root, 0, m) == 0);
+ assert_se(mask_contains((unsigned[]) { 9, 8, 7, 5, 10, 12, 13, 14 }, 8));
+
+ assert_se(bus_match_remove(&root, "member='waldo',path='/foo/bar'", filter, INT_TO_PTR(8)) > 0);
+ assert_se(bus_match_remove(&root, "arg2path='/prefix/',member='waldo'", filter, INT_TO_PTR(13)) > 0);
+ assert_se(bus_match_remove(&root, "interface='barxx'", filter, INT_TO_PTR(7)) == 0);
+
+ bus_match_dump(&root, 0);
+
+ zero(mask);
+ assert_se(bus_match_run(NULL, &root, 0, m) == 0);
+ assert_se(mask_contains((unsigned[]) { 9, 5, 10, 12, 14, 7 }, 6));
+
+ for (i = 0; i < _BUS_MATCH_NODE_TYPE_MAX; i++) {
+ char buf[32];
+ const char *x;
+
+ assert_se(x = bus_match_node_type_to_string(i, buf, sizeof(buf)));
+
+ if (i >= BUS_MATCH_MESSAGE_TYPE)
+ assert_se(bus_match_node_type_from_string(x, strlen(x)) == i);
+ }
+
+ bus_match_free(&root);
+
+ return 0;
+}
diff --git a/src/libsystemd-bus/test-bus-server.c b/src/libsystemd-bus/test-bus-server.c
new file mode 100644
index 0000000000..a9772624f2
--- /dev/null
+++ b/src/libsystemd-bus/test-bus-server.c
@@ -0,0 +1,223 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <assert.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "log.h"
+#include "util.h"
+#include "macro.h"
+
+#include "sd-bus.h"
+#include "bus-internal.h"
+#include "bus-message.h"
+
+struct context {
+ int fds[2];
+
+ bool client_negotiate_unix_fds;
+ bool server_negotiate_unix_fds;
+
+ bool client_anonymous_auth;
+ bool server_anonymous_auth;
+};
+
+static void *server(void *p) {
+ struct context *c = p;
+ sd_bus *bus = NULL;
+ sd_id128_t id;
+ bool quit = false;
+ int r;
+
+ assert_se(sd_id128_randomize(&id) >= 0);
+
+ assert_se(sd_bus_new(&bus) >= 0);
+ assert_se(sd_bus_set_fd(bus, c->fds[0], c->fds[0]) >= 0);
+ assert_se(sd_bus_set_server(bus, 1, id) >= 0);
+ assert_se(sd_bus_set_negotiate_fds(bus, c->server_negotiate_unix_fds) >= 0);
+ assert_se(sd_bus_set_anonymous(bus, c->server_anonymous_auth) >= 0);
+ assert_se(sd_bus_start(bus) >= 0);
+
+ while (!quit) {
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL, *reply = NULL;
+
+ r = sd_bus_process(bus, &m);
+ if (r < 0) {
+ log_error("Failed to process requests: %s", strerror(-r));
+ goto fail;
+ }
+
+ if (r == 0) {
+ r = sd_bus_wait(bus, (uint64_t) -1);
+ if (r < 0) {
+ log_error("Failed to wait: %s", strerror(-r));
+ goto fail;
+ }
+
+ continue;
+ }
+
+ if (!m)
+ continue;
+
+ log_info("Got message! member=%s", strna(sd_bus_message_get_member(m)));
+
+ if (sd_bus_message_is_method_call(m, "org.freedesktop.systemd.test", "Exit")) {
+
+ assert_se((sd_bus_can_send(bus, 'h') >= 1) == (c->server_negotiate_unix_fds && c->client_negotiate_unix_fds));
+
+ r = sd_bus_message_new_method_return(bus, m, &reply);
+ if (r < 0) {
+ log_error("Failed to allocate return: %s", strerror(-r));
+ goto fail;
+ }
+
+ quit = true;
+
+ } else if (sd_bus_message_is_method_call(m, NULL, NULL)) {
+ r = sd_bus_message_new_method_error(
+ bus, m,
+ &SD_BUS_ERROR_MAKE("org.freedesktop.DBus.Error.UnknownMethod", "Unknown method."),
+ &reply);
+ if (r < 0) {
+ log_error("Failed to allocate return: %s", strerror(-r));
+ goto fail;
+ }
+ }
+
+ if (reply) {
+ r = sd_bus_send(bus, reply, NULL);
+ if (r < 0) {
+ log_error("Failed to send reply: %s", strerror(-r));
+ goto fail;
+ }
+ }
+ }
+
+ r = 0;
+
+fail:
+ if (bus) {
+ sd_bus_flush(bus);
+ sd_bus_unref(bus);
+ }
+
+ return INT_TO_PTR(r);
+}
+
+static int client(struct context *c) {
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL, *reply = NULL;
+ _cleanup_bus_unref_ sd_bus *bus = NULL;
+ sd_bus_error error = SD_BUS_ERROR_NULL;
+ int r;
+
+ assert_se(sd_bus_new(&bus) >= 0);
+ assert_se(sd_bus_set_fd(bus, c->fds[1], c->fds[1]) >= 0);
+ assert_se(sd_bus_set_negotiate_fds(bus, c->client_negotiate_unix_fds) >= 0);
+ assert_se(sd_bus_set_anonymous(bus, c->client_anonymous_auth) >= 0);
+ assert_se(sd_bus_start(bus) >= 0);
+
+ r = sd_bus_message_new_method_call(
+ bus,
+ "org.freedesktop.systemd.test",
+ "/",
+ "org.freedesktop.systemd.test",
+ "Exit",
+ &m);
+ if (r < 0) {
+ log_error("Failed to allocate method call: %s", strerror(-r));
+ return r;
+ }
+
+ r = sd_bus_send_with_reply_and_block(bus, m, 0, &error, &reply);
+ if (r < 0) {
+ log_error("Failed to issue method call: %s", bus_error_message(&error, -r));
+ return r;
+ }
+
+ return 0;
+}
+
+static int test_one(bool client_negotiate_unix_fds, bool server_negotiate_unix_fds,
+ bool client_anonymous_auth, bool server_anonymous_auth) {
+
+ struct context c;
+ pthread_t s;
+ void *p;
+ int r, q;
+
+ zero(c);
+
+ assert_se(socketpair(AF_UNIX, SOCK_STREAM, 0, c.fds) >= 0);
+
+ c.client_negotiate_unix_fds = client_negotiate_unix_fds;
+ c.server_negotiate_unix_fds = server_negotiate_unix_fds;
+ c.client_anonymous_auth = client_anonymous_auth;
+ c.server_anonymous_auth = server_anonymous_auth;
+
+ r = pthread_create(&s, NULL, server, &c);
+ if (r != 0)
+ return -r;
+
+ r = client(&c);
+
+ q = pthread_join(s, &p);
+ if (q != 0)
+ return -q;
+
+ if (r < 0)
+ return r;
+
+ if (PTR_TO_INT(p) < 0)
+ return PTR_TO_INT(p);
+
+ return 0;
+}
+
+int main(int argc, char *argv[]) {
+ int r;
+
+ r = test_one(true, true, false, false);
+ assert_se(r >= 0);
+
+ r = test_one(true, false, false, false);
+ assert_se(r >= 0);
+
+ r = test_one(false, true, false, false);
+ assert_se(r >= 0);
+
+ r = test_one(false, false, false, false);
+ assert_se(r >= 0);
+
+ r = test_one(true, true, true, true);
+ assert_se(r >= 0);
+
+ r = test_one(true, true, false, true);
+ assert_se(r >= 0);
+
+ r = test_one(true, true, true, false);
+ assert_se(r == -EPERM);
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/libsystemd-bus/test-bus-signature.c b/src/libsystemd-bus/test-bus-signature.c
new file mode 100644
index 0000000000..cab0daa77e
--- /dev/null
+++ b/src/libsystemd-bus/test-bus-signature.c
@@ -0,0 +1,116 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <assert.h>
+#include <stdlib.h>
+
+#include "log.h"
+#include "bus-signature.h"
+#include "bus-internal.h"
+
+int main(int argc, char *argv[]) {
+
+ assert_se(signature_is_single("y"));
+ assert_se(signature_is_single("u"));
+ assert_se(signature_is_single("v"));
+ assert_se(signature_is_single("as"));
+ assert_se(signature_is_single("(ss)"));
+ assert_se(signature_is_single("()"));
+ assert_se(signature_is_single("(()()()()())"));
+ assert_se(signature_is_single("(((())))"));
+ assert_se(signature_is_single("((((s))))"));
+ assert_se(signature_is_single("{ss}"));
+ assert_se(signature_is_single("a{ss}"));
+ assert_se(!signature_is_single("uu"));
+ assert_se(!signature_is_single(""));
+ assert_se(!signature_is_single("("));
+ assert_se(!signature_is_single(")"));
+ assert_se(!signature_is_single("())"));
+ assert_se(!signature_is_single("((())"));
+ assert_se(!signature_is_single("{)"));
+ assert_se(!signature_is_single("{}"));
+ assert_se(!signature_is_single("{sss}"));
+ assert_se(!signature_is_single("{s}"));
+ assert_se(!signature_is_single("{ass}"));
+ assert_se(!signature_is_single("a}"));
+
+ assert_se(signature_is_pair("yy"));
+ assert_se(signature_is_pair("ss"));
+ assert_se(signature_is_pair("sas"));
+ assert_se(signature_is_pair("sv"));
+ assert_se(signature_is_pair("sa(vs)"));
+ assert_se(!signature_is_pair(""));
+ assert_se(!signature_is_pair("va"));
+ assert_se(!signature_is_pair("sss"));
+ assert_se(!signature_is_pair("{s}ss"));
+
+ assert_se(signature_is_valid("ssa{ss}sssub", true));
+ assert_se(signature_is_valid("ssa{ss}sssub", false));
+ assert_se(signature_is_valid("{ss}", true));
+ assert_se(!signature_is_valid("{ss}", false));
+ assert_se(signature_is_valid("", true));
+ assert_se(signature_is_valid("", false));
+
+ assert_se(signature_is_valid("sssusa(uuubbba(uu)uuuu)a{u(uuuvas)}", false));
+
+ assert_se(!signature_is_valid("a", false));
+ assert_se(signature_is_valid("as", false));
+ assert_se(signature_is_valid("aas", false));
+ assert_se(signature_is_valid("aaas", false));
+ assert_se(signature_is_valid("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaad", false));
+ assert_se(signature_is_valid("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas", false));
+ assert_se(!signature_is_valid("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaau", false));
+
+ assert_se(signature_is_valid("(((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))", false));
+ assert_se(!signature_is_valid("((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))", false));
+
+ assert_se(namespace_complex_pattern("", ""));
+ assert_se(namespace_complex_pattern("foobar", "foobar"));
+ assert_se(namespace_complex_pattern("foobar.waldo", "foobar.waldo"));
+ assert_se(namespace_complex_pattern("foobar.", "foobar.waldo"));
+ assert_se(namespace_complex_pattern("foobar.waldo", "foobar."));
+ assert_se(!namespace_complex_pattern("foobar.waldo", "foobar"));
+ assert_se(!namespace_complex_pattern("foobar", "foobar.waldo"));
+ assert_se(!namespace_complex_pattern("", "foo"));
+ assert_se(!namespace_complex_pattern("foo", ""));
+ assert_se(!namespace_complex_pattern("foo.", ""));
+
+ assert_se(path_complex_pattern("", ""));
+ assert_se(path_complex_pattern("", "/"));
+ assert_se(path_complex_pattern("/", ""));
+ assert_se(path_complex_pattern("/", "/"));
+ assert_se(path_complex_pattern("/foobar/", "/"));
+ assert_se(path_complex_pattern("/foobar/", "/foobar"));
+ assert_se(path_complex_pattern("/foobar", "/foobar"));
+ assert_se(path_complex_pattern("/foobar", "/foobar/"));
+ assert_se(!path_complex_pattern("/foobar", "/foobar/waldo"));
+ assert_se(path_complex_pattern("/foobar/", "/foobar/waldo"));
+
+ assert_se(namespace_simple_pattern("", ""));
+ assert_se(namespace_simple_pattern("foobar", "foobar"));
+ assert_se(namespace_simple_pattern("foobar.waldo", "foobar.waldo"));
+ assert_se(namespace_simple_pattern("foobar", "foobar.waldo"));
+ assert_se(!namespace_simple_pattern("foobar.waldo", "foobar"));
+ assert_se(!namespace_simple_pattern("", "foo"));
+ assert_se(!namespace_simple_pattern("foo", ""));
+
+ return 0;
+}
diff --git a/src/libsystemd-daemon/sd-daemon.c b/src/libsystemd-daemon/sd-daemon.c
index 80aadf7adf..485b301023 100644
--- a/src/libsystemd-daemon/sd-daemon.c
+++ b/src/libsystemd-daemon/sd-daemon.c
@@ -25,18 +25,14 @@
***/
#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
+# define _GNU_SOURCE
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <sys/un.h>
-#ifdef __BIONIC__
-#include <linux/fcntl.h>
-#else
-#include <sys/fcntl.h>
-#endif
+#include <fcntl.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <errno.h>
@@ -47,22 +43,22 @@
#include <stddef.h>
#include <limits.h>
-#if defined(__linux__)
-#include <mqueue.h>
+#if defined(__linux__) && !defined(SD_DAEMON_DISABLE_MQ)
+# include <mqueue.h>
#endif
#include "sd-daemon.h"
#if (__GNUC__ >= 4)
-#ifdef SD_EXPORT_SYMBOLS
+# ifdef SD_EXPORT_SYMBOLS
/* Export symbols */
-#define _sd_export_ __attribute__ ((visibility("default")))
-#else
+# define _sd_export_ __attribute__ ((visibility("default")))
+# else
/* Don't export the symbols */
-#define _sd_export_ __attribute__ ((visibility("hidden")))
-#endif
+# define _sd_export_ __attribute__ ((visibility("hidden")))
+# endif
#else
-#define _sd_export_
+# define _sd_export_
#endif
_sd_export_ int sd_listen_fds(int unset_environment) {
@@ -84,7 +80,7 @@ _sd_export_ int sd_listen_fds(int unset_environment) {
errno = 0;
l = strtoul(e, &p, 10);
- if (errno != 0) {
+ if (errno > 0) {
r = -errno;
goto finish;
}
@@ -109,7 +105,7 @@ _sd_export_ int sd_listen_fds(int unset_environment) {
errno = 0;
l = strtoul(e, &p, 10);
- if (errno != 0) {
+ if (errno > 0) {
r = -errno;
goto finish;
}
@@ -278,11 +274,8 @@ _sd_export_ int sd_is_socket(int fd, int family, int type, int listening) {
return r;
if (family > 0) {
- union sockaddr_union sockaddr;
- socklen_t l;
-
- memset(&sockaddr, 0, sizeof(sockaddr));
- l = sizeof(sockaddr);
+ union sockaddr_union sockaddr = {};
+ socklen_t l = sizeof(sockaddr);
if (getsockname(fd, &sockaddr.sa, &l) < 0)
return -errno;
@@ -297,8 +290,8 @@ _sd_export_ int sd_is_socket(int fd, int family, int type, int listening) {
}
_sd_export_ int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port) {
- union sockaddr_union sockaddr;
- socklen_t l;
+ union sockaddr_union sockaddr = {};
+ socklen_t l = sizeof(sockaddr);
int r;
if (family != 0 && family != AF_INET && family != AF_INET6)
@@ -308,9 +301,6 @@ _sd_export_ int sd_is_socket_inet(int fd, int family, int type, int listening, u
if (r <= 0)
return r;
- memset(&sockaddr, 0, sizeof(sockaddr));
- l = sizeof(sockaddr);
-
if (getsockname(fd, &sockaddr.sa, &l) < 0)
return -errno;
@@ -343,17 +333,14 @@ _sd_export_ int sd_is_socket_inet(int fd, int family, int type, int listening, u
}
_sd_export_ int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length) {
- union sockaddr_union sockaddr;
- socklen_t l;
+ union sockaddr_union sockaddr = {};
+ socklen_t l = sizeof(sockaddr);
int r;
r = sd_is_socket_internal(fd, type, listening);
if (r <= 0)
return r;
- memset(&sockaddr, 0, sizeof(sockaddr));
- l = sizeof(sockaddr);
-
if (getsockname(fd, &sockaddr.sa, &l) < 0)
return -errno;
@@ -387,7 +374,7 @@ _sd_export_ int sd_is_socket_unix(int fd, int type, int listening, const char *p
}
_sd_export_ int sd_is_mq(int fd, const char *path) {
-#if !defined(__linux__)
+#if !defined(__linux__) || defined(SD_DAEMON_DISABLE_MQ)
return 0;
#else
struct mq_attr attr;
@@ -519,18 +506,15 @@ _sd_export_ int sd_booted(void) {
#if defined(DISABLE_SYSTEMD) || !defined(__linux__)
return 0;
#else
+ struct stat st;
- struct stat a, b;
-
- /* We simply test whether the systemd cgroup hierarchy is
- * mounted */
-
- if (lstat("/sys/fs/cgroup", &a) < 0)
- return 0;
+ /* We test whether the runtime unit file directory has been
+ * created. This takes place in mount-setup.c, so is
+ * guaranteed to happen very early during boot. */
- if (lstat("/sys/fs/cgroup/systemd", &b) < 0)
+ if (lstat("/run/systemd/system/", &st) < 0)
return 0;
- return a.st_dev != b.st_dev;
+ return !!S_ISDIR(st.st_mode);
#endif
}
diff --git a/src/libsystemd-id128/sd-id128.c b/src/libsystemd-id128/sd-id128.c
index 4286ae7d14..64ddd09236 100644
--- a/src/libsystemd-id128/sd-id128.c
+++ b/src/libsystemd-id128/sd-id128.c
@@ -44,30 +44,50 @@ _public_ char *sd_id128_to_string(sd_id128_t id, char s[33]) {
return s;
}
-_public_ int sd_id128_from_string(const char s[33], sd_id128_t *ret) {
- unsigned n;
+_public_ int sd_id128_from_string(const char s[], sd_id128_t *ret) {
+ unsigned n, i;
sd_id128_t t;
+ bool is_guid = false;
if (!s)
return -EINVAL;
if (!ret)
return -EINVAL;
- for (n = 0; n < 16; n++) {
+ for (n = 0, i = 0; n < 16;) {
int a, b;
- a = unhexchar(s[n*2]);
+ if (s[i] == '-') {
+ /* Is this a GUID? Then be nice, and skip over
+ * the dashes */
+
+ if (i == 8)
+ is_guid = true;
+ else if (i == 13 || i == 18 || i == 23) {
+ if (!is_guid)
+ return -EINVAL;
+ } else
+ return -EINVAL;
+
+ i++;
+ continue;
+ }
+
+ a = unhexchar(s[i++]);
if (a < 0)
return -EINVAL;
- b = unhexchar(s[n*2+1]);
+ b = unhexchar(s[i++]);
if (b < 0)
return -EINVAL;
- t.bytes[n] = (a << 4) | b;
+ t.bytes[n++] = (a << 4) | b;
}
- if (s[32] != 0)
+ if (i != (is_guid ? 36 : 32))
+ return -EINVAL;
+
+ if (s[i] != 0)
return -EINVAL;
*ret = t;
@@ -90,8 +110,8 @@ static sd_id128_t make_v4_uuid(sd_id128_t id) {
_public_ int sd_id128_get_machine(sd_id128_t *ret) {
static __thread sd_id128_t saved_machine_id;
static __thread bool saved_machine_id_valid = false;
- int fd;
- char buf[32];
+ _cleanup_close_ int fd = -1;
+ char buf[33];
ssize_t k;
unsigned j;
sd_id128_t t;
@@ -108,13 +128,14 @@ _public_ int sd_id128_get_machine(sd_id128_t *ret) {
if (fd < 0)
return -errno;
- k = loop_read(fd, buf, 32, false);
- close_nointr_nofail(fd);
-
+ k = loop_read(fd, buf, 33, false);
if (k < 0)
return (int) k;
- if (k < 32)
+ if (k != 33)
+ return -EIO;
+
+ if (buf[32] !='\n')
return -EIO;
for (j = 0; j < 16; j++) {
@@ -139,7 +160,7 @@ _public_ int sd_id128_get_machine(sd_id128_t *ret) {
_public_ int sd_id128_get_boot(sd_id128_t *ret) {
static __thread sd_id128_t saved_boot_id;
static __thread bool saved_boot_id_valid = false;
- int fd;
+ _cleanup_close_ int fd = -1;
char buf[36];
ssize_t k;
unsigned j;
@@ -159,17 +180,18 @@ _public_ int sd_id128_get_boot(sd_id128_t *ret) {
return -errno;
k = loop_read(fd, buf, 36, false);
- close_nointr_nofail(fd);
-
if (k < 0)
return (int) k;
- if (k < 36)
+ if (k != 36)
return -EIO;
for (j = 0, p = buf; j < 16; j++) {
int a, b;
+ if (p >= buf + k)
+ return -EIO;
+
if (*p == '-')
p++;
@@ -192,9 +214,9 @@ _public_ int sd_id128_get_boot(sd_id128_t *ret) {
}
_public_ int sd_id128_randomize(sd_id128_t *ret) {
- int fd;
- ssize_t k;
+ _cleanup_close_ int fd = -1;
sd_id128_t t;
+ ssize_t k;
if (!ret)
return -EINVAL;
@@ -204,12 +226,10 @@ _public_ int sd_id128_randomize(sd_id128_t *ret) {
return -errno;
k = loop_read(fd, &t, 16, false);
- close_nointr_nofail(fd);
-
if (k < 0)
return (int) k;
- if (k < 16)
+ if (k != 16)
return -EIO;
/* Turn this into a valid v4 UUID, to be nice. Note that we
diff --git a/src/libudev/libudev-device-private.c b/src/libudev/libudev-device-private.c
index c123057907..cba08d2f65 100644
--- a/src/libudev/libudev-device-private.c
+++ b/src/libudev/libudev-device-private.c
@@ -38,7 +38,7 @@ static void udev_device_tag(struct udev_device *dev, const char *tag, bool add)
id = udev_device_get_id_filename(dev);
if (id == NULL)
return;
- util_strscpyl(filename, sizeof(filename), "/run/udev/tags/", tag, "/", id, NULL);
+ strscpyl(filename, sizeof(filename), "/run/udev/tags/", tag, "/", id, NULL);
if (add) {
int fd;
@@ -116,7 +116,7 @@ int udev_device_update_db(struct udev_device *udev_device)
return -1;
has_info = device_has_info(udev_device);
- util_strscpyl(filename, sizeof(filename), "/run/udev/data/", id, NULL);
+ strscpyl(filename, sizeof(filename), "/run/udev/data/", id, NULL);
/* do not store anything for otherwise empty devices */
if (!has_info &&
@@ -127,7 +127,7 @@ int udev_device_update_db(struct udev_device *udev_device)
}
/* write a database file */
- util_strscpyl(filename_tmp, sizeof(filename_tmp), filename, ".tmp", NULL);
+ strscpyl(filename_tmp, sizeof(filename_tmp), filename, ".tmp", NULL);
mkdir_parents(filename_tmp, 0755);
f = fopen(filename_tmp, "we");
if (f == NULL) {
@@ -186,7 +186,7 @@ int udev_device_delete_db(struct udev_device *udev_device)
id = udev_device_get_id_filename(udev_device);
if (id == NULL)
return -1;
- util_strscpyl(filename, sizeof(filename), "/run/udev/data/", id, NULL);
+ strscpyl(filename, sizeof(filename), "/run/udev/data/", id, NULL);
unlink(filename);
return 0;
}
diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c
index f218b0278a..6bb2e41510 100644
--- a/src/libudev/libudev-device.c
+++ b/src/libudev/libudev-device.c
@@ -379,7 +379,7 @@ static struct udev_list_entry *udev_device_add_property_from_string(struct udev_
char name[UTIL_LINE_SIZE];
char *val;
- util_strscpy(name, sizeof(name), property);
+ strscpy(name, sizeof(name), property);
val = strchr(name, '=');
if (val == NULL)
return NULL;
@@ -404,7 +404,7 @@ void udev_device_add_property_from_string_parse(struct udev_device *udev_device,
if (startswith(property, "DEVPATH=")) {
char path[UTIL_PATH_SIZE];
- util_strscpyl(path, sizeof(path), "/sys", &property[8], NULL);
+ strscpyl(path, sizeof(path), "/sys", &property[8], NULL);
udev_device_set_syspath(udev_device, path);
} else if (startswith(property, "SUBSYSTEM=")) {
udev_device_set_subsystem(udev_device, &property[10]);
@@ -417,7 +417,7 @@ void udev_device_add_property_from_string_parse(struct udev_device *udev_device,
char *slink;
char *next;
- util_strscpy(devlinks, sizeof(devlinks), &property[9]);
+ strscpy(devlinks, sizeof(devlinks), &property[9]);
slink = devlinks;
next = strchr(slink, ' ');
while (next != NULL) {
@@ -432,7 +432,7 @@ void udev_device_add_property_from_string_parse(struct udev_device *udev_device,
char tags[UTIL_PATH_SIZE];
char *next;
- util_strscpy(tags, sizeof(tags), &property[5]);
+ strscpy(tags, sizeof(tags), &property[5]);
next = strchr(tags, ':');
if (next != NULL) {
next++;
@@ -527,7 +527,7 @@ int udev_device_read_db(struct udev_device *udev_device, const char *dbfile)
id = udev_device_get_id_filename(udev_device);
if (id == NULL)
return -1;
- util_strscpyl(filename, sizeof(filename), "/run/udev/data/", id, NULL);
+ strscpyl(filename, sizeof(filename), "/run/udev/data/", id, NULL);
dbfile = filename;
}
@@ -550,7 +550,7 @@ int udev_device_read_db(struct udev_device *udev_device, const char *dbfile)
val = &line[2];
switch(line[0]) {
case 'S':
- util_strscpyl(filename, sizeof(filename), "/dev/", val, NULL);
+ strscpyl(filename, sizeof(filename), "/dev/", val, NULL);
udev_device_add_devlink(udev_device, filename);
break;
case 'L':
@@ -588,7 +588,7 @@ int udev_device_read_uevent_file(struct udev_device *udev_device)
if (udev_device->uevent_loaded)
return 0;
- util_strscpyl(filename, sizeof(filename), udev_device->syspath, "/uevent", NULL);
+ strscpyl(filename, sizeof(filename), udev_device->syspath, "/uevent", NULL);
f = fopen(filename, "re");
if (f == NULL)
return -1;
@@ -702,14 +702,14 @@ _public_ struct udev_device *udev_device_new_from_syspath(struct udev *udev, con
return NULL;
/* resolve possible symlink to real path */
- util_strscpy(path, sizeof(path), syspath);
+ strscpy(path, sizeof(path), syspath);
util_resolve_sys_link(udev, path, sizeof(path));
if (startswith(path + strlen("/sys"), "/devices/")) {
char file[UTIL_PATH_SIZE];
/* all "devices" require a "uevent" file */
- util_strscpyl(file, sizeof(file), path, "/uevent", NULL);
+ strscpyl(file, sizeof(file), path, "/uevent", NULL);
if (stat(file, &statbuf) != 0)
return NULL;
} else {
@@ -823,7 +823,7 @@ _public_ struct udev_device *udev_device_new_from_device_id(struct udev *udev, c
return NULL;
}
case '+':
- util_strscpy(subsys, sizeof(subsys), &id[1]);
+ strscpy(subsys, sizeof(subsys), &id[1]);
sysname = strchr(subsys, ':');
if (sysname == NULL)
return NULL;
@@ -856,22 +856,22 @@ _public_ struct udev_device *udev_device_new_from_subsystem_sysname(struct udev
struct stat statbuf;
if (streq(subsystem, "subsystem")) {
- util_strscpyl(path, sizeof(path), "/sys/subsystem/", sysname, NULL);
+ strscpyl(path, sizeof(path), "/sys/subsystem/", sysname, NULL);
if (stat(path, &statbuf) == 0)
goto found;
- util_strscpyl(path, sizeof(path), "/sys/bus/", sysname, NULL);
+ strscpyl(path, sizeof(path), "/sys/bus/", sysname, NULL);
if (stat(path, &statbuf) == 0)
goto found;
- util_strscpyl(path, sizeof(path), "/sys/class/", sysname, NULL);
+ strscpyl(path, sizeof(path), "/sys/class/", sysname, NULL);
if (stat(path, &statbuf) == 0)
goto found;
goto out;
}
if (streq(subsystem, "module")) {
- util_strscpyl(path, sizeof(path), "/sys/module/", sysname, NULL);
+ strscpyl(path, sizeof(path), "/sys/module/", sysname, NULL);
if (stat(path, &statbuf) == 0)
goto found;
goto out;
@@ -881,32 +881,32 @@ _public_ struct udev_device *udev_device_new_from_subsystem_sysname(struct udev
char subsys[UTIL_NAME_SIZE];
char *driver;
- util_strscpy(subsys, sizeof(subsys), sysname);
+ strscpy(subsys, sizeof(subsys), sysname);
driver = strchr(subsys, ':');
if (driver != NULL) {
driver[0] = '\0';
driver = &driver[1];
- util_strscpyl(path, sizeof(path), "/sys/subsystem/", subsys, "/drivers/", driver, NULL);
+ strscpyl(path, sizeof(path), "/sys/subsystem/", subsys, "/drivers/", driver, NULL);
if (stat(path, &statbuf) == 0)
goto found;
- util_strscpyl(path, sizeof(path), "/sys/bus/", subsys, "/drivers/", driver, NULL);
+ strscpyl(path, sizeof(path), "/sys/bus/", subsys, "/drivers/", driver, NULL);
if (stat(path, &statbuf) == 0)
goto found;
}
goto out;
}
- util_strscpyl(path, sizeof(path), "/sys/subsystem/", subsystem, "/devices/", sysname, NULL);
+ strscpyl(path, sizeof(path), "/sys/subsystem/", subsystem, "/devices/", sysname, NULL);
if (stat(path, &statbuf) == 0)
goto found;
- util_strscpyl(path, sizeof(path), "/sys/bus/", subsystem, "/devices/", sysname, NULL);
+ strscpyl(path, sizeof(path), "/sys/bus/", subsystem, "/devices/", sysname, NULL);
if (stat(path, &statbuf) == 0)
goto found;
- util_strscpyl(path, sizeof(path), "/sys/class/", subsystem, "/", sysname, NULL);
+ strscpyl(path, sizeof(path), "/sys/class/", subsystem, "/", sysname, NULL);
if (stat(path, &statbuf) == 0)
goto found;
out:
@@ -957,7 +957,7 @@ static struct udev_device *device_new_from_parent(struct udev_device *udev_devic
char path[UTIL_PATH_SIZE];
const char *subdir;
- util_strscpy(path, sizeof(path), udev_device->syspath);
+ strscpy(path, sizeof(path), udev_device->syspath);
subdir = path + strlen("/sys/");
for (;;) {
char *pos;
@@ -1260,9 +1260,9 @@ _public_ struct udev_list_entry *udev_device_get_properties_list_entry(struct ud
size_t l;
s = symlinks;
- l = util_strpcpyl(&s, sizeof(symlinks), udev_list_entry_get_name(list_entry), NULL);
+ l = strpcpyl(&s, sizeof(symlinks), udev_list_entry_get_name(list_entry), NULL);
udev_list_entry_foreach(list_entry, udev_list_entry_get_next(list_entry))
- l = util_strpcpyl(&s, l, " ", udev_list_entry_get_name(list_entry), NULL);
+ l = strpcpyl(&s, l, " ", udev_list_entry_get_name(list_entry), NULL);
udev_device_add_property(udev_device, "DEVLINKS", symlinks);
}
}
@@ -1275,9 +1275,9 @@ _public_ struct udev_list_entry *udev_device_get_properties_list_entry(struct ud
size_t l;
s = tags;
- l = util_strpcpyl(&s, sizeof(tags), ":", NULL);
+ l = strpcpyl(&s, sizeof(tags), ":", NULL);
udev_list_entry_foreach(list_entry, udev_device_get_tags_list_entry(udev_device))
- l = util_strpcpyl(&s, l, udev_list_entry_get_name(list_entry), ":", NULL);
+ l = strpcpyl(&s, l, udev_list_entry_get_name(list_entry), ":", NULL);
udev_device_add_property(udev_device, "TAGS", tags);
}
}
@@ -1374,15 +1374,13 @@ _public_ const char *udev_device_get_sysattr_value(struct udev_device *udev_devi
if (list_entry != NULL)
return udev_list_entry_get_value(list_entry);
- util_strscpyl(path, sizeof(path), udev_device_get_syspath(udev_device), "/", sysattr, NULL);
+ strscpyl(path, sizeof(path), udev_device_get_syspath(udev_device), "/", sysattr, NULL);
if (lstat(path, &statbuf) != 0) {
udev_list_entry_add(&udev_device->sysattr_value_list, sysattr, NULL);
goto out;
}
if (S_ISLNK(statbuf.st_mode)) {
- struct udev_device *dev;
-
/*
* Some core links return only the last element of the target path,
* these are just values, the paths should not be exposed.
@@ -1398,17 +1396,6 @@ _public_ const char *udev_device_get_sysattr_value(struct udev_device *udev_devi
goto out;
}
- /* resolve custom link to a device and return its syspath */
- if (!streq(sysattr, "device")) {
- util_strscpyl(path, sizeof(path), udev_device->syspath, "/", sysattr, NULL);
- dev = udev_device_new_from_syspath(udev_device->udev, path);
- if (dev != NULL) {
- list_entry = udev_list_entry_add(&udev_device->sysattr_value_list, sysattr,
- udev_device_get_syspath(dev));
- val = udev_list_entry_get_value(list_entry);
- udev_device_unref(dev);
- }
- }
goto out;
}
@@ -1440,6 +1427,91 @@ out:
return val;
}
+/**
+ * udev_device_set_sysattr_value:
+ * @udev_device: udev device
+ * @sysattr: attribute name
+ * @value: new value to be set
+ *
+ * Update the contents of the sys attribute and the cached value of the device.
+ *
+ * Returns: Negative error code on failure or 0 on success.
+ **/
+_public_ int udev_device_set_sysattr_value(struct udev_device *udev_device, const char *sysattr, char *value)
+{
+ struct udev_device *dev;
+ char path[UTIL_PATH_SIZE];
+ struct stat statbuf;
+ int fd;
+ ssize_t size, value_len;
+ int ret = 0;
+
+ if (udev_device == NULL)
+ return -EINVAL;
+ dev = udev_device;
+ if (sysattr == NULL)
+ return -EINVAL;
+ if (value == NULL)
+ value_len = 0;
+ else
+ value_len = strlen(value);
+
+ strscpyl(path, sizeof(path), udev_device_get_syspath(dev), "/", sysattr, NULL);
+ if (lstat(path, &statbuf) != 0) {
+ udev_list_entry_add(&dev->sysattr_value_list, sysattr, NULL);
+ ret = -ENXIO;
+ goto out;
+ }
+
+ if (S_ISLNK(statbuf.st_mode)) {
+ ret = -EINVAL;
+ goto out;
+ }
+
+ /* skip directories */
+ if (S_ISDIR(statbuf.st_mode)) {
+ ret = -EISDIR;
+ goto out;
+ }
+
+ /* skip non-readable files */
+ if ((statbuf.st_mode & S_IRUSR) == 0) {
+ ret = -EACCES;
+ goto out;
+ }
+
+ /* Value is limited to 4k */
+ if (value_len > 4096) {
+ ret = -EINVAL;
+ goto out;
+ }
+ util_remove_trailing_chars(value, '\n');
+
+ /* write attribute value */
+ fd = open(path, O_WRONLY|O_CLOEXEC);
+ if (fd < 0) {
+ ret = -errno;
+ goto out;
+ }
+ size = write(fd, value, value_len);
+ close(fd);
+ if (size < 0) {
+ ret = -errno;
+ goto out;
+ }
+ if (size < value_len) {
+ ret = -EIO;
+ goto out;
+ }
+
+ /* wrote a valid value, store it in cache and return it */
+ udev_list_entry_add(&dev->sysattr_value_list, sysattr, value);
+out:
+ if (dev != udev_device)
+ udev_device_unref(dev);
+ return ret;
+}
+
static int udev_device_sysattr_list_read(struct udev_device *udev_device)
{
struct dirent *dent;
@@ -1463,7 +1535,7 @@ static int udev_device_sysattr_list_read(struct udev_device *udev_device)
if (dent->d_type != DT_LNK && dent->d_type != DT_REG)
continue;
- util_strscpyl(path, sizeof(path), udev_device_get_syspath(udev_device), "/", dent->d_name, NULL);
+ strscpyl(path, sizeof(path), udev_device_get_syspath(udev_device), "/", dent->d_name, NULL);
if (lstat(path, &statbuf) != 0)
continue;
if ((statbuf.st_mode & S_IRUSR) == 0)
@@ -1722,10 +1794,10 @@ static int update_envp_monitor_buf(struct udev_device *udev_device)
return -EINVAL;
/* add property string to monitor buffer */
- l = util_strpcpyl(&s, l, key, "=", udev_list_entry_get_value(list_entry), NULL);
+ l = strpcpyl(&s, l, key, "=", udev_list_entry_get_value(list_entry), NULL);
if (l == 0)
return -EINVAL;
- /* advance past the trailing '\0' that util_strpcpyl() guarantees */
+ /* advance past the trailing '\0' that strpcpyl() guarantees */
s++;
l--;
}
diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c
index 6a5f4e025e..5ccaabdc6c 100644
--- a/src/libudev/libudev-enumerate.c
+++ b/src/libudev/libudev-enumerate.c
@@ -309,7 +309,7 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume
}
if (move_later &&
- strncmp(entry->syspath, move_later->syspath, move_later_prefix) != 0) {
+ !strneq(entry->syspath, move_later->syspath, move_later_prefix)) {
udev_list_entry_add(&udev_enumerate->devices_list, move_later->syspath, NULL);
move_later = NULL;
@@ -659,11 +659,11 @@ static int scan_dir_and_add_devices(struct udev_enumerate *udev_enumerate,
struct dirent *dent;
s = path;
- l = util_strpcpyl(&s, sizeof(path), "/sys/", basedir, NULL);
+ l = strpcpyl(&s, sizeof(path), "/sys/", basedir, NULL);
if (subdir1 != NULL)
- l = util_strpcpyl(&s, l, "/", subdir1, NULL);
+ l = strpcpyl(&s, l, "/", subdir1, NULL);
if (subdir2 != NULL)
- util_strpcpyl(&s, l, "/", subdir2, NULL);
+ strpcpyl(&s, l, "/", subdir2, NULL);
dir = opendir(path);
if (dir == NULL)
return -ENOENT;
@@ -677,7 +677,7 @@ static int scan_dir_and_add_devices(struct udev_enumerate *udev_enumerate,
if (!match_sysname(udev_enumerate, dent->d_name))
continue;
- util_strscpyl(syspath, sizeof(syspath), path, "/", dent->d_name, NULL);
+ strscpyl(syspath, sizeof(syspath), path, "/", dent->d_name, NULL);
dev = udev_device_new_from_syspath(udev_enumerate->udev, syspath);
if (dev == NULL)
continue;
@@ -738,7 +738,7 @@ static int scan_dir(struct udev_enumerate *udev_enumerate, const char *basedir,
DIR *dir;
struct dirent *dent;
- util_strscpyl(path, sizeof(path), "/sys/", basedir, NULL);
+ strscpyl(path, sizeof(path), "/sys/", basedir, NULL);
dir = opendir(path);
if (dir == NULL)
return -1;
@@ -789,7 +789,7 @@ static int scan_devices_tags(struct udev_enumerate *udev_enumerate)
struct dirent *dent;
char path[UTIL_PATH_SIZE];
- util_strscpyl(path, sizeof(path), "/run/udev/tags/", udev_list_entry_get_name(list_entry), NULL);
+ strscpyl(path, sizeof(path), "/run/udev/tags/", udev_list_entry_get_name(list_entry), NULL);
dir = opendir(path);
if (dir == NULL)
continue;
diff --git a/src/libudev/libudev-hwdb.c b/src/libudev/libudev-hwdb.c
index 09096c4d71..42ab6d9a6b 100644
--- a/src/libudev/libudev-hwdb.c
+++ b/src/libudev/libudev-hwdb.c
@@ -271,30 +271,30 @@ _public_ struct udev_hwdb *udev_hwdb_new(struct udev *udev) {
hwdb->refcount = 1;
udev_list_init(udev, &hwdb->properties_list, true);
- hwdb->f = fopen(HWDB_BIN, "re");
+ hwdb->f = fopen("/etc/udev/hwdb.bin", "re");
if (!hwdb->f) {
- log_debug("error reading %s: %m", HWDB_BIN);
+ log_debug("error reading /etc/udev/hwdb.bin: %m");
udev_hwdb_unref(hwdb);
return NULL;
}
if (fstat(fileno(hwdb->f), &hwdb->st) < 0 ||
(size_t)hwdb->st.st_size < offsetof(struct trie_header_f, strings_len) + 8) {
- log_debug("error reading %s: %m", HWDB_BIN);
+ log_debug("error reading /etc/udev/hwdb.bin: %m");
udev_hwdb_unref(hwdb);
return NULL;
}
hwdb->map = mmap(0, hwdb->st.st_size, PROT_READ, MAP_SHARED, fileno(hwdb->f), 0);
if (hwdb->map == MAP_FAILED) {
- log_debug("error mapping %s: %m", HWDB_BIN);
+ log_debug("error mapping /etc/udev/hwdb.bin: %m");
udev_hwdb_unref(hwdb);
return NULL;
}
if (memcmp(hwdb->map, sig, sizeof(hwdb->head->signature)) != 0 ||
(size_t)hwdb->st.st_size != le64toh(hwdb->head->file_size)) {
- log_debug("error recognizing the format of %s", HWDB_BIN);
+ log_debug("error recognizing the format of /etc/udev/hwdb.bin");
udev_hwdb_unref(hwdb);
return NULL;
}
diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c
index b02ea8808c..0212792552 100644
--- a/src/libudev/libudev-monitor.c
+++ b/src/libudev/libudev-monitor.c
@@ -115,9 +115,9 @@ struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const c
if (name == NULL)
group = UDEV_MONITOR_NONE;
- else if (strcmp(name, "udev") == 0)
+ else if (streq(name, "udev"))
group = UDEV_MONITOR_UDEV;
- else if (strcmp(name, "kernel") == 0)
+ else if (streq(name, "kernel"))
group = UDEV_MONITOR_KERNEL;
else
return NULL;
@@ -467,7 +467,7 @@ static int passes_filter(struct udev_monitor *udev_monitor, struct udev_device *
const char *devtype;
const char *ddevtype;
- if (strcmp(dsubsys, subsys) != 0)
+ if (!streq(dsubsys, subsys))
continue;
devtype = udev_list_entry_get_value(list_entry);
@@ -476,7 +476,7 @@ static int passes_filter(struct udev_monitor *udev_monitor, struct udev_device *
ddevtype = udev_device_get_devtype(udev_device);
if (ddevtype == NULL)
continue;
- if (strcmp(ddevtype, devtype) == 0)
+ if (streq(ddevtype, devtype))
goto tag;
}
return 0;
diff --git a/src/libudev/libudev-private.h b/src/libudev/libudev-private.h
index 1b86384703..54c51acc23 100644
--- a/src/libudev/libudev-private.h
+++ b/src/libudev/libudev-private.h
@@ -29,6 +29,7 @@
#include "macro.h"
#include "util.h"
#include "mkdir.h"
+#include "strxcpyx.h"
#define READ_END 0
#define WRITE_END 1
@@ -164,11 +165,6 @@ int util_resolve_sys_link(struct udev *udev, char *syspath, size_t size);
int util_log_priority(const char *priority);
size_t util_path_encode(const char *src, char *dest, size_t size);
void util_remove_trailing_chars(char *path, char c);
-size_t util_strpcpy(char **dest, size_t size, const char *src);
-size_t util_strpcpyf(char **dest, size_t size, const char *src, ...) __attribute__((format(printf, 3, 4)));
-size_t util_strpcpyl(char **dest, size_t size, const char *src, ...) __attribute__((sentinel));
-size_t util_strscpy(char *dest, size_t size, const char *src);
-size_t util_strscpyl(char *dest, size_t size, const char *src, ...) __attribute__((sentinel));
int util_replace_whitespace(const char *str, char *to, size_t len);
int util_replace_chars(char *str, const char *white);
unsigned int util_string_hash32(const char *key);
diff --git a/src/libudev/libudev-queue.c b/src/libudev/libudev-queue.c
index 08d52ab1f1..0dd20313d9 100644
--- a/src/libudev/libudev-queue.c
+++ b/src/libudev/libudev-queue.c
@@ -458,7 +458,7 @@ _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_qu
snprintf(seqnum_str, sizeof(seqnum_str), "%llu", seqnum);
s = syspath;
- l = util_strpcpy(&s, sizeof(syspath), "/sys");
+ l = strpcpy(&s, sizeof(syspath), "/sys");
len = udev_queue_read_devpath(queue_file, s, l);
if (len < 0)
break;
@@ -467,7 +467,7 @@ _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_qu
udev_list_entry_add(&udev_queue->queue_list, syspath, seqnum_str);
} else {
udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_queue->queue_list)) {
- if (strcmp(seqnum_str, udev_list_entry_get_value(list_entry)) == 0) {
+ if (streq(seqnum_str, udev_list_entry_get_value(list_entry))) {
udev_list_entry_delete(list_entry);
break;
}
diff --git a/src/libudev/libudev-util.c b/src/libudev/libudev-util.c
index b55bf75bfc..714dc50ae9 100644
--- a/src/libudev/libudev-util.c
+++ b/src/libudev/libudev-util.c
@@ -51,7 +51,7 @@ int util_delete_path(struct udev *udev, const char *path)
if (path[0] == '/')
while(path[1] == '/')
path++;
- util_strscpy(p, sizeof(p), path);
+ strscpy(p, sizeof(p), path);
pos = strrchr(p, '/');
if (pos == p || pos == NULL)
return 0;
@@ -83,7 +83,7 @@ uid_t util_lookup_user(struct udev *udev, const char *user)
size_t buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
char *buf = alloca(buflen);
- if (strcmp(user, "root") == 0)
+ if (streq(user, "root"))
return 0;
uid = strtoul(user, &endptr, 10);
if (endptr[0] == '\0')
@@ -108,7 +108,7 @@ gid_t util_lookup_group(struct udev *udev, const char *group)
size_t buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
char *buf = NULL;
- if (strcmp(group, "root") == 0)
+ if (streq(group, "root"))
return 0;
gid = strtoul(group, &endptr, 10);
if (endptr[0] == '\0')
@@ -151,7 +151,7 @@ int util_resolve_subsys_kernel(struct udev *udev, const char *string,
if (string[0] != '[')
return -1;
- util_strscpy(temp, sizeof(temp), string);
+ strscpy(temp, sizeof(temp), string);
subsys = &temp[1];
@@ -183,7 +183,7 @@ int util_resolve_subsys_kernel(struct udev *udev, const char *string,
val = udev_device_get_sysattr_value(dev, attr);
if (val != NULL)
- util_strscpy(result, maxsize, val);
+ strscpy(result, maxsize, val);
else
result[0] = '\0';
udev_dbg(udev, "value '[%s/%s]%s' is '%s'\n", subsys, sysname, attr, result);
@@ -192,9 +192,9 @@ int util_resolve_subsys_kernel(struct udev *udev, const char *string,
char *s;
s = result;
- l = util_strpcpyl(&s, maxsize, udev_device_get_syspath(dev), NULL);
+ l = strpcpyl(&s, maxsize, udev_device_get_syspath(dev), NULL);
if (attr != NULL)
- util_strpcpyl(&s, l, "/", attr, NULL);
+ strpcpyl(&s, l, "/", attr, NULL);
udev_dbg(udev, "path '[%s/%s]%s' is '%s'\n", subsys, sysname, attr, result);
}
udev_device_unref(dev);
@@ -207,7 +207,7 @@ ssize_t util_get_sys_core_link_value(struct udev *udev, const char *slink, const
ssize_t len;
const char *pos;
- util_strscpyl(path, sizeof(path), syspath, "/", slink, NULL);
+ strscpyl(path, sizeof(path), syspath, "/", slink, NULL);
len = readlink(path, target, sizeof(target));
if (len <= 0 || len == (ssize_t)sizeof(target))
return -1;
@@ -216,7 +216,7 @@ ssize_t util_get_sys_core_link_value(struct udev *udev, const char *slink, const
if (pos == NULL)
return -1;
pos = &pos[1];
- return util_strscpy(value, size, pos);
+ return strscpy(value, size, pos);
}
int util_resolve_sys_link(struct udev *udev, char *syspath, size_t size)
@@ -241,9 +241,8 @@ int util_resolve_sys_link(struct udev *udev, char *syspath, size_t size)
return -EINVAL;
base[0] = '\0';
}
- if (base == NULL)
- return -EINVAL;
- util_strscpyl(base, size - (base - syspath), "/", &link_target[back * 3], NULL);
+
+ strscpyl(base, size - (base - syspath), "/", &link_target[back * 3], NULL);
return 0;
}
@@ -307,89 +306,6 @@ void util_remove_trailing_chars(char *path, char c)
path[--len] = '\0';
}
-/*
- * Concatenates strings. In any case, terminates in _all_ cases with '\0'
- * and moves the @dest pointer forward to the added '\0'. Returns the
- * remaining size, and 0 if the string was truncated.
- */
-size_t util_strpcpy(char **dest, size_t size, const char *src)
-{
- size_t len;
-
- len = strlen(src);
- if (len >= size) {
- if (size > 1)
- *dest = mempcpy(*dest, src, size-1);
- size = 0;
- } else {
- if (len > 0) {
- *dest = mempcpy(*dest, src, len);
- size -= len;
- }
- }
- *dest[0] = '\0';
- return size;
-}
-
-size_t util_strpcpyf(char **dest, size_t size, const char *src, ...)
-{
- va_list va;
- int i;
-
- va_start(va, src);
- i = vsnprintf(*dest, size, src, va);
- if (i < (int)size) {
- *dest += i;
- size -= i;
- } else {
- *dest += size;
- size = 0;
- }
- va_end(va);
- *dest[0] = '\0';
- return size;
-}
-
-/* concatenates list of strings, moves dest forward */
-size_t util_strpcpyl(char **dest, size_t size, const char *src, ...)
-{
- va_list va;
-
- va_start(va, src);
- do {
- size = util_strpcpy(dest, size, src);
- src = va_arg(va, char *);
- } while (src != NULL);
- va_end(va);
- return size;
-}
-
-/* copies string */
-size_t util_strscpy(char *dest, size_t size, const char *src)
-{
- char *s;
-
- s = dest;
- return util_strpcpy(&s, size, src);
-}
-
-/* concatenates list of strings */
-size_t util_strscpyl(char *dest, size_t size, const char *src, ...)
-{
- va_list va;
- char *s;
-
- va_start(va, src);
- s = dest;
- do {
- size = util_strpcpy(&s, size, src);
- src = va_arg(va, char *);
- } while (src != NULL);
- va_end(va);
-
- return size;
-}
-
/* count of characters used to encode one unicode char */
static int utf8_encoded_expected_len(const char *str)
{
@@ -651,7 +567,7 @@ err:
* Murmurhash is under the MIT license.
*
*/
-static unsigned int murmur_hash2(const char *key, int len, unsigned int seed)
+static unsigned int murmur_hash2(const char *key, size_t len, unsigned int seed)
{
/*
* 'm' and 'r' are mixing constants generated offline.
@@ -666,17 +582,18 @@ static unsigned int murmur_hash2(const char *key, int len, unsigned int seed)
/* mix 4 bytes at a time into the hash */
const unsigned char * data = (const unsigned char *)key;
- while(len >= 4) {
- unsigned int k = *(unsigned int *)data;
+ while(len >= sizeof(unsigned int)) {
+ unsigned int k;
+ memcpy(&k, data, sizeof(k));
k *= m;
k ^= k >> r;
k *= m;
h *= m;
h ^= k;
- data += 4;
- len -= 4;
+ data += sizeof(k);
+ len -= sizeof(k);
}
/* handle the last few bytes of the input array */
diff --git a/src/libudev/libudev.c b/src/libudev/libudev.c
index d860ebc080..208039a1b2 100644
--- a/src/libudev/libudev.c
+++ b/src/libudev/libudev.c
@@ -191,7 +191,7 @@ _public_ struct udev *udev_new(void)
val++;
}
- if (strcmp(key, "udev_log") == 0) {
+ if (streq(key, "udev_log")) {
udev_set_log_priority(udev, util_log_priority(val));
continue;
}
diff --git a/src/libudev/libudev.h b/src/libudev/libudev.h
index bb41532a21..61567b1d67 100644
--- a/src/libudev/libudev.h
+++ b/src/libudev/libudev.h
@@ -107,6 +107,7 @@ const char *udev_device_get_action(struct udev_device *udev_device);
unsigned long long int udev_device_get_seqnum(struct udev_device *udev_device);
unsigned long long int udev_device_get_usec_since_initialized(struct udev_device *udev_device);
const char *udev_device_get_sysattr_value(struct udev_device *udev_device, const char *sysattr);
+int udev_device_set_sysattr_value(struct udev_device *udev_device, const char *sysattr, char *value);
int udev_device_has_tag(struct udev_device *udev_device, const char *tag);
/*
diff --git a/src/libudev/libudev.pc.in b/src/libudev/libudev.pc.in
index dad7139c85..2b183e9dc7 100644
--- a/src/libudev/libudev.pc.in
+++ b/src/libudev/libudev.pc.in
@@ -13,6 +13,6 @@ includedir=@includedir@
Name: libudev
Description: Library to access udev device information
Version: @VERSION@
-Libs: -L${libdir} -ludev -lrt
-Libs.private:
+Libs: -L${libdir} -ludev
+Libs.private: -lrt
Cflags: -I${includedir}
diff --git a/src/libudev/libudev.sym b/src/libudev/libudev.sym
index df6a1aeddf..8e09430aec 100644
--- a/src/libudev/libudev.sym
+++ b/src/libudev/libudev.sym
@@ -69,7 +69,6 @@ global:
udev_monitor_get_fd;
udev_monitor_get_udev;
udev_monitor_new_from_netlink;
- udev_monitor_new_from_socket;
udev_monitor_receive_device;
udev_monitor_ref;
udev_monitor_set_receive_buffer_size;
@@ -108,3 +107,7 @@ global:
udev_hwdb_unref;
udev_hwdb_get_properties_list_entry;
} LIBUDEV_189;
+
+LIBUDEV_199 {
+ udev_device_set_sysattr_value;
+} LIBUDEV_196;
diff --git a/src/locale/kbd-model-map b/src/locale/kbd-model-map
index b0860abe80..1fe9bca6ce 100644
--- a/src/locale/kbd-model-map
+++ b/src/locale/kbd-model-map
@@ -53,6 +53,7 @@ de-latin1-nodeadkeys de pc105 nodeadkeys terminate:ctrl_alt_bksp
no no pc105 - terminate:ctrl_alt_bksp
bg_bds-utf8 bg,us pc105 - terminate:ctrl_alt_bksp,grp:shifts_toggle,grp_led:scroll
dvorak us pc105 dvorak terminate:ctrl_alt_bksp
+dvorak us pc105 dvorak-alt-intl terminate:ctrl_alt_bksp
ru ru,us pc105 - terminate:ctrl_alt_bksp,grp:shifts_toggle,grp_led:scroll
cz-lat2 cz pc105 qwerty terminate:ctrl_alt_bksp
pl2 pl pc105 - terminate:ctrl_alt_bksp
diff --git a/src/locale/localectl.c b/src/locale/localectl.c
index 290edcc103..50250c4b47 100644
--- a/src/locale/localectl.c
+++ b/src/locale/localectl.c
@@ -37,6 +37,7 @@
#include "pager.h"
#include "set.h"
#include "path-util.h"
+#include "utf8.h"
static bool arg_no_pager = false;
static enum transport {
@@ -53,7 +54,7 @@ static void pager_open_if_enabled(void) {
if (arg_no_pager)
return;
- pager_open();
+ pager_open(false);
}
static void polkit_agent_open_if_enabled(void) {
@@ -158,7 +159,7 @@ static int show_status(DBusConnection *bus, char **args, unsigned n) {
const char *interface = "";
int r;
DBusMessageIter iter, sub, sub2, sub3;
- StatusInfo info;
+ StatusInfo info = {};
assert(args);
@@ -182,7 +183,6 @@ static int show_status(DBusConnection *bus, char **args, unsigned n) {
return -EIO;
}
- zero(info);
dbus_message_iter_recurse(&iter, &sub);
while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
@@ -360,15 +360,17 @@ static int add_locales_from_archive(Set *locales) {
if (e[i].locrec_offset == 0)
continue;
+ if (!utf8_is_valid((char*) p + e[i].name_offset))
+ continue;
+
z = strdup((char*) p + e[i].name_offset);
if (!z) {
r = log_oom();
goto finish;
}
- r = set_put(locales, z);
+ r = set_consume(locales, z);
if (r < 0) {
- free(z);
log_error("Failed to add locale: %s", strerror(-r));
goto finish;
}
@@ -384,7 +386,7 @@ static int add_locales_from_archive(Set *locales) {
}
static int add_locales_from_libdir (Set *locales) {
- DIR _cleanup_closedir_ *dir;
+ _cleanup_closedir_ DIR *dir;
struct dirent *entry;
int r;
@@ -408,20 +410,16 @@ static int add_locales_from_libdir (Set *locales) {
if (!z)
return log_oom();
- r = set_put(locales, z);
- if (r < 0) {
- free(z);
-
- if (r != -EEXIST) {
- log_error("Failed to add locale: %s", strerror(-r));
- return r;
- }
+ r = set_consume(locales, z);
+ if (r < 0 && r != -EEXIST) {
+ log_error("Failed to add locale: %s", strerror(-r));
+ return r;
}
errno = 0;
}
- if (errno != 0) {
+ if (errno > 0) {
log_error("Failed to read locale directory: %m");
return -errno;
}
@@ -432,7 +430,6 @@ static int add_locales_from_libdir (Set *locales) {
static int list_locales(DBusConnection *bus, char **args, unsigned n) {
_cleanup_set_free_ Set *locales;
_cleanup_strv_free_ char **l = NULL;
- char **j;
int r;
locales = set_new(string_hash_func, string_compare_func);
@@ -455,8 +452,7 @@ static int list_locales(DBusConnection *bus, char **args, unsigned n) {
pager_open_if_enabled();
- STRV_FOREACH(j, l)
- puts(*j);
+ strv_print(l);
return 0;
}
@@ -525,12 +521,9 @@ static int nftw_cb(
if (e)
*e = 0;
- r = set_put(keymaps, p);
- if (r == -EEXIST)
- free(p);
- else if (r < 0) {
+ r = set_consume(keymaps, p);
+ if (r < 0 && r != -EEXIST) {
log_error("Can't add keymap: %s", strerror(-r));
- free(p);
return r;
}
@@ -538,8 +531,7 @@ static int nftw_cb(
}
static int list_vconsole_keymaps(DBusConnection *bus, char **args, unsigned n) {
- char _cleanup_strv_free_ **l = NULL;
- char **i;
+ _cleanup_strv_free_ char **l = NULL;
keymaps = set_new(string_hash_func, string_compare_func);
if (!keymaps)
@@ -566,9 +558,7 @@ static int list_vconsole_keymaps(DBusConnection *bus, char **args, unsigned n) {
pager_open_if_enabled();
- STRV_FOREACH(i, l)
- puts(*i);
-
+ strv_print(l);
return 0;
}
@@ -611,24 +601,132 @@ static int set_x11_keymap(DBusConnection *bus, char **args, unsigned n) {
DBUS_TYPE_INVALID);
}
+static int list_x11_keymaps(DBusConnection *bus, char **args, unsigned n) {
+ _cleanup_fclose_ FILE *f = NULL;
+ _cleanup_strv_free_ char **list = NULL;
+ char line[LINE_MAX];
+ enum {
+ NONE,
+ MODELS,
+ LAYOUTS,
+ VARIANTS,
+ OPTIONS
+ } state = NONE, look_for;
+ int r;
+
+ if (n > 2) {
+ log_error("Too many arguments.");
+ return -EINVAL;
+ }
+
+ f = fopen("/usr/share/X11/xkb/rules/base.lst", "re");
+ if (!f) {
+ log_error("Failed to open keyboard mapping list. %m");
+ return -errno;
+ }
+
+ if (streq(args[0], "list-x11-keymap-models"))
+ look_for = MODELS;
+ else if (streq(args[0], "list-x11-keymap-layouts"))
+ look_for = LAYOUTS;
+ else if (streq(args[0], "list-x11-keymap-variants"))
+ look_for = VARIANTS;
+ else if (streq(args[0], "list-x11-keymap-options"))
+ look_for = OPTIONS;
+ else
+ assert_not_reached("Wrong parameter");
+
+ FOREACH_LINE(line, f, break) {
+ char *l, *w;
+
+ l = strstrip(line);
+
+ if (isempty(l))
+ continue;
+
+ if (l[0] == '!') {
+ if (startswith(l, "! model"))
+ state = MODELS;
+ else if (startswith(l, "! layout"))
+ state = LAYOUTS;
+ else if (startswith(l, "! variant"))
+ state = VARIANTS;
+ else if (startswith(l, "! option"))
+ state = OPTIONS;
+ else
+ state = NONE;
+
+ continue;
+ }
+
+ if (state != look_for)
+ continue;
+
+ w = l + strcspn(l, WHITESPACE);
+
+ if (n > 1) {
+ char *e;
+
+ if (*w == 0)
+ continue;
+
+ *w = 0;
+ w++;
+ w += strspn(w, WHITESPACE);
+
+ e = strchr(w, ':');
+ if (!e)
+ continue;
+
+ *e = 0;
+
+ if (!streq(w, args[1]))
+ continue;
+ } else
+ *w = 0;
+
+ r = strv_extend(&list, l);
+ if (r < 0)
+ return log_oom();
+ }
+
+ if (strv_isempty(list)) {
+ log_error("Couldn't find any entries.");
+ return -ENOENT;
+ }
+
+ strv_sort(list);
+ strv_uniq(list);
+
+ pager_open_if_enabled();
+
+ strv_print(list);
+ return 0;
+}
+
static int help(void) {
printf("%s [OPTIONS...] COMMAND ...\n\n"
- "Query or change system time and date settings.\n\n"
- " -h --help Show this help\n"
- " --version Show package version\n"
- " --no-convert Don't convert keyboard mappings\n"
- " --no-pager Do not pipe output into a pager\n"
- " --no-ask-password Do not prompt for password\n"
- " -H --host=[USER@]HOST Operate on remote host\n\n"
+ "Query or change system locale and keyboard settings.\n\n"
+ " -h --help Show this help\n"
+ " --version Show package version\n"
+ " --no-convert Don't convert keyboard mappings\n"
+ " --no-pager Do not pipe output into a pager\n"
+ " --no-ask-password Do not prompt for password\n"
+ " -H --host=[USER@]HOST Operate on remote host\n\n"
"Commands:\n"
- " status Show current locale settings\n"
- " set-locale LOCALE... Set system locale\n"
- " list-locales Show known locales\n"
- " set-keymap MAP [MAP] Set virtual console keyboard mapping\n"
- " list-keymaps Show known virtual console keyboard mappings\n"
+ " status Show current locale settings\n"
+ " set-locale LOCALE... Set system locale\n"
+ " list-locales Show known locales\n"
+ " set-keymap MAP [MAP] Set virtual console keyboard mapping\n"
+ " list-keymaps Show known virtual console keyboard mappings\n"
" set-x11-keymap LAYOUT [MODEL] [VARIANT] [OPTIONS]\n"
- " Set X11 keyboard mapping\n",
+ " Set X11 keyboard mapping\n"
+ " list-x11-keymap-models Show known X11 keyboard mapping models\n"
+ " list-x11-keymap-layouts Show known X11 keyboard mapping layouts\n"
+ " list-x11-keymap-variants [LAYOUT]\n"
+ " Show known X11 keyboard mapping variants\n"
+ " list-x11-keymap-options Show known X11 keyboard mapping options\n",
program_invocation_short_name);
return 0;
@@ -713,12 +811,16 @@ static int localectl_main(DBusConnection *bus, int argc, char *argv[], DBusError
const int argc;
int (* const dispatch)(DBusConnection *bus, char **args, unsigned n);
} verbs[] = {
- { "status", LESS, 1, show_status },
- { "set-locale", MORE, 2, set_locale },
- { "list-locales", EQUAL, 1, list_locales },
- { "set-keymap", MORE, 2, set_vconsole_keymap },
- { "list-keymaps", EQUAL, 1, list_vconsole_keymaps },
- { "set-x11-keymap", MORE, 2, set_x11_keymap },
+ { "status", LESS, 1, show_status },
+ { "set-locale", MORE, 2, set_locale },
+ { "list-locales", EQUAL, 1, list_locales },
+ { "set-keymap", MORE, 2, set_vconsole_keymap },
+ { "list-keymaps", EQUAL, 1, list_vconsole_keymaps },
+ { "set-x11-keymap", MORE, 2, set_x11_keymap },
+ { "list-x11-keymap-models", EQUAL, 1, list_x11_keymaps },
+ { "list-x11-keymap-layouts", EQUAL, 1, list_x11_keymaps },
+ { "list-x11-keymap-variants", LESS, 2, list_x11_keymaps },
+ { "list-x11-keymap-options", EQUAL, 1, list_x11_keymaps },
};
int left;
diff --git a/src/locale/localed.c b/src/locale/localed.c
index bb2a3a2e54..e160c046a4 100644
--- a/src/locale/localed.c
+++ b/src/locale/localed.c
@@ -31,6 +31,10 @@
#include "dbus-common.h"
#include "polkit.h"
#include "def.h"
+#include "env-util.h"
+#include "fileio.h"
+#include "fileio-label.h"
+#include "label.h"
#define INTERFACE \
" <interface name=\"org.freedesktop.locale1\">\n" \
@@ -114,21 +118,7 @@ static const char * const names[_PROP_MAX] = {
[PROP_LC_IDENTIFICATION] = "LC_IDENTIFICATION"
};
-static char *data[_PROP_MAX] = {
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
-};
+static char *data[_PROP_MAX] = {};
typedef struct State {
char *x11_layout, *x11_model, *x11_variant, *x11_options;
@@ -351,7 +341,7 @@ static int write_data_locale(void) {
int r, p;
char **l = NULL;
- r = load_env_file("/etc/locale.conf", &l);
+ r = load_env_file("/etc/locale.conf", NULL, &l);
if (r < 0 && r != -ENOENT)
return r;
@@ -389,7 +379,7 @@ static int write_data_locale(void) {
return 0;
}
- r = write_env_file("/etc/locale.conf", l);
+ r = write_env_file_label("/etc/locale.conf", l);
strv_free(l);
return r;
@@ -490,7 +480,7 @@ static int write_data_vconsole(void) {
int r;
char **l = NULL;
- r = load_env_file("/etc/vconsole.conf", &l);
+ r = load_env_file("/etc/vconsole.conf", NULL, &l);
if (r < 0 && r != -ENOENT)
return r;
@@ -545,7 +535,7 @@ static int write_data_vconsole(void) {
return 0;
}
- r = write_env_file("/etc/vconsole.conf", l);
+ r = write_env_file_label("/etc/vconsole.conf", l);
strv_free(l);
return r;
@@ -853,7 +843,7 @@ static int convert_x11_to_vconsole(DBusConnection *connection) {
* layout stripped off. */
if (x > 0 &&
strlen(a[1]) == x &&
- strncmp(state.x11_layout, a[1], x) == 0)
+ strneq(state.x11_layout, a[1], x))
matching = 5;
else {
size_t w;
@@ -1007,7 +997,7 @@ static DBusHandlerResult locale_message_handler(
dbus_bool_t interactive;
DBusMessageIter iter;
bool modified = false;
- bool passed[_PROP_MAX];
+ bool passed[_PROP_MAX] = {};
int p;
if (!dbus_message_iter_init(message, &iter))
@@ -1029,8 +1019,6 @@ static DBusHandlerResult locale_message_handler(
dbus_message_iter_get_basic(&iter, &interactive);
- zero(passed);
-
/* Check whether a variable changed and if so valid */
STRV_FOREACH(i, l) {
bool valid = false;
@@ -1273,7 +1261,7 @@ static DBusHandlerResult locale_message_handler(
if (!(reply = dbus_message_new_method_return(message)))
goto oom;
- if (!dbus_connection_send(connection, reply, NULL))
+ if (!bus_maybe_send_reply(connection, message, reply))
goto oom;
dbus_message_unref(reply);
@@ -1363,7 +1351,7 @@ int main(int argc, char *argv[]) {
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
-
+ label_init("/etc");
umask(0022);
if (argc == 2 && streq(argv[1], "--introspect")) {
diff --git a/src/login/70-uaccess.rules b/src/login/70-uaccess.rules
index d1275f2ca9..a118f8e887 100644
--- a/src/login/70-uaccess.rules
+++ b/src/login/70-uaccess.rules
@@ -9,7 +9,6 @@ ACTION=="remove", GOTO="uaccess_end"
ENV{MAJOR}=="", GOTO="uaccess_end"
# PTP/MTP protocol devices, cameras, portable media players
-SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id"
SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", TAG+="uaccess"
# Digicams with proprietary protocol
diff --git a/src/login/71-seat.rules.in b/src/login/71-seat.rules.in
index 4f1a9a59a1..ad26acbbb3 100644
--- a/src/login/71-seat.rules.in
+++ b/src/login/71-seat.rules.in
@@ -10,7 +10,7 @@ ACTION=="remove", GOTO="seat_end"
TAG=="uaccess", SUBSYSTEM!="sound", TAG+="seat"
SUBSYSTEM=="sound", KERNEL=="card*", TAG+="seat"
SUBSYSTEM=="input", KERNEL=="input*", TAG+="seat"
-SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="seat", TAG+="seat-master"
+SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="seat", TAG+="master-of-seat"
SUBSYSTEM=="usb", ATTR{bDeviceClass}=="09", TAG+="seat"
# 'Plugable' USB hub, sound, network, graphics adapter
@@ -38,7 +38,7 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="17e9", ATTR{idProduct}=="401a", ATTR{product}
SUBSYSTEM=="usb", ATTR{idVendor}=="17e9", ATTR{idProduct}=="401a", ATTR{product}=="mimo inc", \
ATTR{../idVendor}=="058f", ATTR{../idProduct}=="6254", \
ENV{ID_AVOID_LOOP}=="", \
- RUN+="@bindir@/udevadm trigger --parent-match=%p/.."
+ RUN+="@rootbindir@/udevadm trigger --parent-match=%p/.."
TAG=="seat", ENV{ID_PATH}=="", IMPORT{builtin}="path_id"
TAG=="seat", ENV{ID_FOR_SEAT}=="", ENV{ID_PATH_TAG}!="", ENV{ID_FOR_SEAT}="$env{SUBSYSTEM}-$env{ID_PATH_TAG}"
diff --git a/src/login/inhibit.c b/src/login/inhibit.c
index 9b6613340f..29e50c1447 100644
--- a/src/login/inhibit.c
+++ b/src/login/inhibit.c
@@ -42,7 +42,7 @@ static enum {
} arg_action = ACTION_INHIBIT;
static int inhibit(DBusConnection *bus, DBusError *error) {
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
int r;
r = bus_method_call_with_reply(
@@ -64,15 +64,13 @@ static int inhibit(DBusConnection *bus, DBusError *error) {
if (!dbus_message_get_args(reply, error,
DBUS_TYPE_UNIX_FD, &r,
DBUS_TYPE_INVALID))
- r = -EIO;
-
- dbus_message_unref(reply);
+ return -EIO;
return r;
}
static int print_inhibitors(DBusConnection *bus, DBusError *error) {
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
unsigned n = 0;
DBusMessageIter iter, sub, sub2;
int r;
@@ -87,36 +85,22 @@ static int print_inhibitors(DBusConnection *bus, DBusError *error) {
NULL,
DBUS_TYPE_INVALID);
if (r < 0)
- goto finish;
-
- if (!dbus_message_iter_init(reply, &iter)) {
- r = -ENOMEM;
- goto finish;
- }
+ return r;
- if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) {
- r = -EIO;
- goto finish;
- }
+ if (!dbus_message_iter_init(reply, &iter))
+ return -ENOMEM;
- printf("%-21s %-20s %-20s %-5s %6s %6s\n",
- "WHAT",
- "WHO",
- "WHY",
- "MODE",
- "UID",
- "PID");
+ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY)
+ return -EIO;
dbus_message_iter_recurse(&iter, &sub);
while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
const char *what, *who, *why, *mode;
- char *ewho, *ewhy;
+ _cleanup_free_ char *comm = NULL, *u = NULL;
dbus_uint32_t uid, pid;
- if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT) {
- r = -EIO;
- goto finish;
- }
+ if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT)
+ return -EIO;
dbus_message_iter_recurse(&sub, &sub2);
@@ -125,33 +109,28 @@ static int print_inhibitors(DBusConnection *bus, DBusError *error) {
bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &why, true) < 0 ||
bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &mode, true) < 0 ||
bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_UINT32, &uid, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_UINT32, &pid, false) < 0) {
- r = -EIO;
- goto finish;
- }
+ bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_UINT32, &pid, false) < 0)
+ return -EIO;
- ewho = ellipsize(who, 20, 66);
- ewhy = ellipsize(why, 20, 66);
+ get_process_comm(pid, &comm);
+ u = uid_to_name(uid);
- printf("%-21s %-20s %-20s %-5s %6lu %6lu\n",
- what, ewho ? ewho : who, ewhy ? ewhy : why, mode, (unsigned long) uid, (unsigned long) pid);
-
- free(ewho);
- free(ewhy);
+ printf(" Who: %s (UID %lu/%s, PID %lu/%s)\n"
+ " What: %s\n"
+ " Why: %s\n"
+ " Mode: %s\n\n",
+ who, (unsigned long) uid, strna(u), (unsigned long) pid, strna(comm),
+ what,
+ why,
+ mode);
dbus_message_iter_next(&sub);
n++;
}
- printf("\n%u inhibitors listed.\n", n);
- r = 0;
-
-finish:
- if (reply)
- dbus_message_unref(reply);
-
- return r;
+ printf("%u inhibitors listed.\n", n);
+ return 0;
}
static int help(void) {
@@ -239,7 +218,10 @@ static int parse_argv(int argc, char *argv[]) {
}
}
- if (arg_action == ACTION_INHIBIT && optind >= argc) {
+ if (arg_action == ACTION_INHIBIT && argc == 1)
+ arg_action = ACTION_LIST;
+
+ else if (arg_action == ACTION_INHIBIT && optind >= argc) {
log_error("Missing command line to execute.");
return -EINVAL;
}
@@ -251,7 +233,7 @@ int main(int argc, char *argv[]) {
int r, exit_code = 0;
DBusConnection *bus = NULL;
DBusError error;
- int fd = -1;
+ _cleanup_close_ int fd = -1;
dbus_error_init(&error);
@@ -273,7 +255,7 @@ int main(int argc, char *argv[]) {
r = print_inhibitors(bus, &error);
if (r < 0) {
- log_error("Failed to list inhibitors: %s", bus_error_message_or_strerror(&error, -r));
+ log_error("Failed to list inhibitors: %s", bus_error(&error, r));
goto finish;
}
@@ -288,7 +270,7 @@ int main(int argc, char *argv[]) {
free(w);
if (fd < 0) {
- log_error("Failed to inhibit: %s", bus_error_message_or_strerror(&error, -r));
+ log_error("Failed to inhibit: %s", bus_error(&error, r));
r = fd;
goto finish;
}
@@ -324,8 +306,5 @@ finish:
dbus_error_free(&error);
- if (fd >= 0)
- close_nointr_nofail(fd);
-
return r < 0 ? EXIT_FAILURE : exit_code;
}
diff --git a/src/login/libsystemd-login.sym b/src/login/libsystemd-login.sym
index ff51be729b..925fb91095 100644
--- a/src/login/libsystemd-login.sym
+++ b/src/login/libsystemd-login.sym
@@ -53,3 +53,25 @@ global:
sd_seat_can_tty;
sd_seat_can_graphical;
} LIBSYSTEMD_LOGIN_43;
+
+LIBSYSTEMD_LOGIN_198 {
+global:
+ sd_session_get_tty;
+} LIBSYSTEMD_LOGIN_186;
+
+LIBSYSTEMD_LOGIN_201 {
+global:
+ sd_login_monitor_get_events;
+ sd_login_monitor_get_timeout;
+} LIBSYSTEMD_LOGIN_198;
+
+LIBSYSTEMD_LOGIN_202 {
+global:
+ sd_pid_get_user_unit;
+ sd_pid_get_machine_name;
+} LIBSYSTEMD_LOGIN_201;
+
+LIBSYSTEMD_LOGIN_203 {
+global:
+ sd_get_machine_names;
+} LIBSYSTEMD_LOGIN_202;
diff --git a/src/login/loginctl.c b/src/login/loginctl.c
index e2b33a626c..caaea8dfaa 100644
--- a/src/login/loginctl.c
+++ b/src/login/loginctl.c
@@ -40,6 +40,7 @@
static char **arg_property = NULL;
static bool arg_all = false;
+static bool arg_full = false;
static bool arg_no_pager = false;
static const char *arg_kill_who = NULL;
static int arg_signal = SIGTERM;
@@ -57,7 +58,7 @@ static void pager_open_if_enabled(void) {
if (arg_no_pager)
return;
- pager_open();
+ pager_open(false);
}
static void polkit_agent_open_if_enabled(void) {
@@ -71,7 +72,7 @@ static void polkit_agent_open_if_enabled(void) {
}
static int list_sessions(DBusConnection *bus, char **args, unsigned n) {
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
int r;
DBusMessageIter iter, sub, sub2;
unsigned k = 0;
@@ -88,14 +89,13 @@ static int list_sessions(DBusConnection *bus, char **args, unsigned n) {
NULL,
DBUS_TYPE_INVALID);
if (r)
- goto finish;
+ return r;
if (!dbus_message_iter_init(reply, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_STRUCT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&iter, &sub);
@@ -109,8 +109,7 @@ static int list_sessions(DBusConnection *bus, char **args, unsigned n) {
if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&sub, &sub2);
@@ -121,8 +120,7 @@ static int list_sessions(DBusConnection *bus, char **args, unsigned n) {
bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &seat, true) < 0 ||
bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_OBJECT_PATH, &object, false) < 0) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
printf("%10s %10u %-16s %-16s\n", id, (unsigned) uid, user, seat);
@@ -135,17 +133,11 @@ static int list_sessions(DBusConnection *bus, char **args, unsigned n) {
if (on_tty())
printf("\n%u sessions listed.\n", k);
- r = 0;
-
-finish:
- if (reply)
- dbus_message_unref(reply);
-
- return r;
+ return 0;
}
static int list_users(DBusConnection *bus, char **args, unsigned n) {
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
int r;
DBusMessageIter iter, sub, sub2;
unsigned k = 0;
@@ -162,14 +154,13 @@ static int list_users(DBusConnection *bus, char **args, unsigned n) {
NULL,
DBUS_TYPE_INVALID);
if (r)
- goto finish;
+ return r;
if (!dbus_message_iter_init(reply, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_STRUCT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&iter, &sub);
@@ -183,8 +174,7 @@ static int list_users(DBusConnection *bus, char **args, unsigned n) {
if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&sub, &sub2);
@@ -193,8 +183,7 @@ static int list_users(DBusConnection *bus, char **args, unsigned n) {
bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &user, true) < 0 ||
bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_OBJECT_PATH, &object, false) < 0) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
printf("%10u %-16s\n", (unsigned) uid, user);
@@ -207,17 +196,11 @@ static int list_users(DBusConnection *bus, char **args, unsigned n) {
if (on_tty())
printf("\n%u users listed.\n", k);
- r = 0;
-
-finish:
- if (reply)
- dbus_message_unref(reply);
-
- return r;
+ return 0;
}
static int list_seats(DBusConnection *bus, char **args, unsigned n) {
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
int r;
DBusMessageIter iter, sub, sub2;
unsigned k = 0;
@@ -234,14 +217,13 @@ static int list_seats(DBusConnection *bus, char **args, unsigned n) {
NULL,
DBUS_TYPE_INVALID);
if (r)
- goto finish;
+ return r;
if (!dbus_message_iter_init(reply, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_STRUCT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&iter, &sub);
@@ -254,8 +236,7 @@ static int list_seats(DBusConnection *bus, char **args, unsigned n) {
if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&sub, &sub2);
@@ -263,8 +244,7 @@ static int list_seats(DBusConnection *bus, char **args, unsigned n) {
if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &seat, true) < 0 ||
bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_OBJECT_PATH, &object, false) < 0) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
printf("%-16s\n", seat);
@@ -277,13 +257,7 @@ static int list_seats(DBusConnection *bus, char **args, unsigned n) {
if (on_tty())
printf("\n%u seats listed.\n", k);
- r = 0;
-
-finish:
- if (reply)
- dbus_message_unref(reply);
-
- return r;
+ return 0;
}
typedef struct SessionStatusInfo {
@@ -402,6 +376,9 @@ static void print_session_status_info(SessionStatusInfo *i) {
if (i->default_control_group) {
unsigned c;
+ int output_flags =
+ arg_all * OUTPUT_SHOW_ALL |
+ arg_full * OUTPUT_FULL_WIDTH;
printf("\t CGroup: %s\n", i->default_control_group);
@@ -412,7 +389,10 @@ static void print_session_status_info(SessionStatusInfo *i) {
else
c = 0;
- show_cgroup_and_extra_by_spec(i->default_control_group, "\t\t ", c, false, arg_all, &i->leader, i->leader > 0 ? 1 : 0);
+ show_cgroup_and_extra_by_spec(i->default_control_group,
+ "\t\t ", c, false, &i->leader,
+ i->leader > 0 ? 1 : 0,
+ output_flags);
}
}
}
@@ -454,6 +434,9 @@ static void print_user_status_info(UserStatusInfo *i) {
if (i->default_control_group) {
unsigned c;
+ int output_flags =
+ arg_all * OUTPUT_SHOW_ALL |
+ arg_full * OUTPUT_FULL_WIDTH;
printf("\t CGroup: %s\n", i->default_control_group);
@@ -464,7 +447,8 @@ static void print_user_status_info(UserStatusInfo *i) {
else
c = 0;
- show_cgroup_by_path(i->default_control_group, "\t\t ", c, false, arg_all);
+ show_cgroup_by_path(i->default_control_group, "\t\t ",
+ c, false, output_flags);
}
}
}
@@ -850,17 +834,13 @@ static int show_one(const char *verb, DBusConnection *bus, const char *path, boo
const char *interface = "";
int r;
DBusMessageIter iter, sub, sub2, sub3;
- SessionStatusInfo session_info;
- UserStatusInfo user_info;
- SeatStatusInfo seat_info;
+ SessionStatusInfo session_info = {};
+ UserStatusInfo user_info = {};
+ SeatStatusInfo seat_info = {};
assert(path);
assert(new_line);
- zero(session_info);
- zero(user_info);
- zero(seat_info);
-
r = bus_method_call_with_reply(
bus,
"org.freedesktop.login1",
@@ -950,7 +930,7 @@ finish:
}
static int show(DBusConnection *bus, char **args, unsigned n) {
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
int r, ret = 0;
DBusError error;
unsigned i;
@@ -1037,15 +1017,9 @@ static int show(DBusConnection *bus, char **args, unsigned n) {
r = show_one(args[0], bus, path, show_properties, &new_line);
if (r != 0)
ret = r;
-
- dbus_message_unref(reply);
- reply = NULL;
}
finish:
- if (reply)
- dbus_message_unref(reply);
-
dbus_error_free(&error);
return ret;
@@ -1081,7 +1055,6 @@ finish:
}
static int kill_session(DBusConnection *bus, char **args, unsigned n) {
- int ret = 0;
unsigned i;
assert(args);
@@ -1090,28 +1063,28 @@ static int kill_session(DBusConnection *bus, char **args, unsigned n) {
arg_kill_who = "all";
for (i = 1; i < n; i++) {
- ret = bus_method_call_with_reply (
- bus,
- "org.freedesktop.login1",
- "/org/freedesktop/login1",
- "org.freedesktop.login1.Manager",
- "KillSession",
- NULL,
- NULL,
- DBUS_TYPE_STRING, &args[i],
- DBUS_TYPE_STRING, &arg_kill_who,
- DBUS_TYPE_INT32, &arg_signal,
- DBUS_TYPE_INVALID);
- if (ret)
- goto finish;
+ int r;
+
+ r = bus_method_call_with_reply (
+ bus,
+ "org.freedesktop.login1",
+ "/org/freedesktop/login1",
+ "org.freedesktop.login1.Manager",
+ "KillSession",
+ NULL,
+ NULL,
+ DBUS_TYPE_STRING, &args[i],
+ DBUS_TYPE_STRING, &arg_kill_who,
+ DBUS_TYPE_INT32, &arg_signal,
+ DBUS_TYPE_INVALID);
+ if (r)
+ return r;
}
-finish:
- return ret;
+ return 0;
}
static int enable_linger(DBusConnection *bus, char **args, unsigned n) {
- int ret = 0;
unsigned i;
dbus_bool_t b, interactive = true;
@@ -1124,36 +1097,35 @@ static int enable_linger(DBusConnection *bus, char **args, unsigned n) {
for (i = 1; i < n; i++) {
uint32_t u;
uid_t uid;
+ int r;
- ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL, NULL);
- if (ret < 0) {
- log_error("Failed to resolve user %s: %s", args[i], strerror(-ret));
- goto finish;
+ r = get_user_creds((const char**) (args+i), &uid, NULL, NULL, NULL);
+ if (r < 0) {
+ log_error("Failed to resolve user %s: %s", args[i], strerror(-r));
+ return r;
}
u = (uint32_t) uid;
- ret = bus_method_call_with_reply (
- bus,
- "org.freedesktop.login1",
- "/org/freedesktop/login1",
- "org.freedesktop.login1.Manager",
- "SetUserLinger",
- NULL,
- NULL,
- DBUS_TYPE_UINT32, &u,
- DBUS_TYPE_BOOLEAN, &b,
- DBUS_TYPE_BOOLEAN, &interactive,
- DBUS_TYPE_INVALID);
- if (ret)
- goto finish;
+ r = bus_method_call_with_reply (
+ bus,
+ "org.freedesktop.login1",
+ "/org/freedesktop/login1",
+ "org.freedesktop.login1.Manager",
+ "SetUserLinger",
+ NULL,
+ NULL,
+ DBUS_TYPE_UINT32, &u,
+ DBUS_TYPE_BOOLEAN, &b,
+ DBUS_TYPE_BOOLEAN, &interactive,
+ DBUS_TYPE_INVALID);
+ if (r)
+ return r;
}
-finish:
- return ret;
+ return 0;
}
static int terminate_user(DBusConnection *bus, char **args, unsigned n) {
- int ret = 0;
unsigned i;
assert(args);
@@ -1161,34 +1133,33 @@ static int terminate_user(DBusConnection *bus, char **args, unsigned n) {
for (i = 1; i < n; i++) {
uint32_t u;
uid_t uid;
+ int r;
- ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL, NULL);
- if (ret < 0) {
- log_error("Failed to look up user %s: %s", args[i], strerror(-ret));
- goto finish;
+ r = get_user_creds((const char**) (args+i), &uid, NULL, NULL, NULL);
+ if (r < 0) {
+ log_error("Failed to look up user %s: %s", args[i], strerror(-r));
+ return r;
}
u = (uint32_t) uid;
- ret = bus_method_call_with_reply (
- bus,
- "org.freedesktop.login1",
- "/org/freedesktop/login1",
- "org.freedesktop.login1.Manager",
- "TerminateUser",
- NULL,
- NULL,
- DBUS_TYPE_UINT32, &u,
- DBUS_TYPE_INVALID);
- if (ret)
- goto finish;
+ r = bus_method_call_with_reply (
+ bus,
+ "org.freedesktop.login1",
+ "/org/freedesktop/login1",
+ "org.freedesktop.login1.Manager",
+ "TerminateUser",
+ NULL,
+ NULL,
+ DBUS_TYPE_UINT32, &u,
+ DBUS_TYPE_INVALID);
+ if (r)
+ return r;
}
-finish:
- return ret;
+ return 0;
}
static int kill_user(DBusConnection *bus, char **args, unsigned n) {
- int ret = 0;
unsigned i;
assert(args);
@@ -1199,35 +1170,34 @@ static int kill_user(DBusConnection *bus, char **args, unsigned n) {
for (i = 1; i < n; i++) {
uid_t uid;
uint32_t u;
+ int r;
- ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL, NULL);
- if (ret < 0) {
- log_error("Failed to look up user %s: %s", args[i], strerror(-ret));
- goto finish;
+ r = get_user_creds((const char**) (args+i), &uid, NULL, NULL, NULL);
+ if (r < 0) {
+ log_error("Failed to look up user %s: %s", args[i], strerror(-r));
+ return r;
}
u = (uint32_t) uid;
- ret = bus_method_call_with_reply (
- bus,
- "org.freedesktop.login1",
- "/org/freedesktop/login1",
- "org.freedesktop.login1.Manager",
- "KillUser",
- NULL,
- NULL,
- DBUS_TYPE_UINT32, &u,
- DBUS_TYPE_INT32, &arg_signal,
- DBUS_TYPE_INVALID);
- if (ret)
- goto finish;
+ r = bus_method_call_with_reply (
+ bus,
+ "org.freedesktop.login1",
+ "/org/freedesktop/login1",
+ "org.freedesktop.login1.Manager",
+ "KillUser",
+ NULL,
+ NULL,
+ DBUS_TYPE_UINT32, &u,
+ DBUS_TYPE_INT32, &arg_signal,
+ DBUS_TYPE_INVALID);
+ if (r)
+ return r;
}
-finish:
- return ret;
+ return 0;
}
static int attach(DBusConnection *bus, char **args, unsigned n) {
- int ret = 0;
unsigned i;
dbus_bool_t interactive = true;
@@ -1236,24 +1206,25 @@ static int attach(DBusConnection *bus, char **args, unsigned n) {
polkit_agent_open_if_enabled();
for (i = 2; i < n; i++) {
- ret = bus_method_call_with_reply (
- bus,
- "org.freedesktop.login1",
- "/org/freedesktop/login1",
- "org.freedesktop.login1.Manager",
- "AttachDevice",
- NULL,
- NULL,
- DBUS_TYPE_STRING, &args[1],
- DBUS_TYPE_STRING, &args[i],
- DBUS_TYPE_BOOLEAN, &interactive,
- DBUS_TYPE_INVALID);
- if (ret)
- goto finish;
+ int r;
+
+ r = bus_method_call_with_reply (
+ bus,
+ "org.freedesktop.login1",
+ "/org/freedesktop/login1",
+ "org.freedesktop.login1.Manager",
+ "AttachDevice",
+ NULL,
+ NULL,
+ DBUS_TYPE_STRING, &args[1],
+ DBUS_TYPE_STRING, &args[i],
+ DBUS_TYPE_BOOLEAN, &interactive,
+ DBUS_TYPE_INVALID);
+ if (r)
+ return r;
}
-finish:
- return ret;
+ return 0;
}
static int flush_devices(DBusConnection *bus, char **args, unsigned n) {
@@ -1276,6 +1247,8 @@ static int flush_devices(DBusConnection *bus, char **args, unsigned n) {
}
static int lock_sessions(DBusConnection *bus, char **args, unsigned n) {
+ assert(args);
+
polkit_agent_open_if_enabled();
return bus_method_call_with_reply (
@@ -1283,35 +1256,35 @@ static int lock_sessions(DBusConnection *bus, char **args, unsigned n) {
"org.freedesktop.login1",
"/org/freedesktop/login1",
"org.freedesktop.login1.Manager",
- "LockSessions",
+ streq(args[0], "lock-sessions") ? "LockSessions" : "UnlockSessions",
NULL,
NULL,
DBUS_TYPE_INVALID);
}
static int terminate_seat(DBusConnection *bus, char **args, unsigned n) {
- int ret = 0;
unsigned i;
assert(args);
for (i = 1; i < n; i++) {
- ret = bus_method_call_with_reply (
- bus,
- "org.freedesktop.login1",
- "/org/freedesktop/login1",
- "org.freedesktop.login1.Manager",
- "TerminateSeat",
- NULL,
- NULL,
- DBUS_TYPE_STRING, &args[i],
- DBUS_TYPE_INVALID);
- if (ret)
- goto finish;
+ int r;
+
+ r = bus_method_call_with_reply (
+ bus,
+ "org.freedesktop.login1",
+ "/org/freedesktop/login1",
+ "org.freedesktop.login1.Manager",
+ "TerminateSeat",
+ NULL,
+ NULL,
+ DBUS_TYPE_STRING, &args[i],
+ DBUS_TYPE_INVALID);
+ if (r)
+ return r;
}
-finish:
- return ret;
+ return 0;
}
static int help(void) {
@@ -1323,6 +1296,7 @@ static int help(void) {
" -p --property=NAME Show only properties by this name\n"
" -a --all Show all properties, including empty ones\n"
" --kill-who=WHO Who to send signal to\n"
+ " --full Do not ellipsize output\n"
" -s --signal=SIGNAL Which signal to send\n"
" --no-ask-password Don't prompt for password\n"
" -H --host=[USER@]HOST Show information for remote host\n"
@@ -1336,6 +1310,7 @@ static int help(void) {
" lock-session [ID...] Screen lock one or more sessions\n"
" unlock-session [ID...] Screen unlock one or more sessions\n"
" lock-sessions Screen lock all current sessions\n"
+ " unlock-sessions Screen unlock all current sessions\n"
" terminate-session [ID...] Terminate one or more sessions\n"
" kill-session [ID...] Send signal to processes of a session\n"
" list-users List users\n"
@@ -1362,7 +1337,8 @@ static int parse_argv(int argc, char *argv[]) {
ARG_VERSION = 0x100,
ARG_NO_PAGER,
ARG_KILL_WHO,
- ARG_NO_ASK_PASSWORD
+ ARG_NO_ASK_PASSWORD,
+ ARG_FULL,
};
static const struct option options[] = {
@@ -1376,6 +1352,7 @@ static int parse_argv(int argc, char *argv[]) {
{ "host", required_argument, NULL, 'H' },
{ "privileged", no_argument, NULL, 'P' },
{ "no-ask-password", no_argument, NULL, ARG_NO_ASK_PASSWORD },
+ { "full", no_argument, NULL, ARG_FULL },
{ NULL, 0, NULL, 0 }
};
@@ -1447,6 +1424,10 @@ static int parse_argv(int argc, char *argv[]) {
arg_host = optarg;
break;
+ case ARG_FULL:
+ arg_full = true;
+ break;
+
case '?':
return -EINVAL;
@@ -1478,6 +1459,7 @@ static int loginctl_main(DBusConnection *bus, int argc, char *argv[], DBusError
{ "lock-session", MORE, 2, activate },
{ "unlock-session", MORE, 2, activate },
{ "lock-sessions", EQUAL, 1, lock_sessions },
+ { "unlock-sessions", EQUAL, 1, lock_sessions },
{ "terminate-session", MORE, 2, activate },
{ "kill-session", MORE, 2, kill_session },
{ "list-users", EQUAL, 1, list_users },
diff --git a/src/login/logind-action.c b/src/login/logind-action.c
index e1517d6ac2..c930591023 100644
--- a/src/login/logind-action.c
+++ b/src/login/logind-action.c
@@ -21,10 +21,13 @@
#include <unistd.h>
+#include <systemd/sd-messages.h>
+
#include "conf-parser.h"
#include "special.h"
#include "dbus-common.h"
#include "logind-action.h"
+#include "sleep-config.h"
int manager_handle_action(
Manager *m,
@@ -56,10 +59,15 @@ int manager_handle_action(
DBusError error;
int r;
InhibitWhat inhibit_operation;
- bool supported = true;
+ bool supported;
assert(m);
+ if (m->action_what) {
+ log_debug("Action already in progress, ignoring.");
+ return -EALREADY;
+ }
+
/* If the key handling is turned off, don't do anything */
if (handle == HANDLE_IGNORE) {
log_debug("Refusing operation, as it is turned off.");
@@ -67,13 +75,15 @@ int manager_handle_action(
}
if (handle == HANDLE_SUSPEND)
- supported = can_sleep("mem") > 0;
+ supported = can_sleep("suspend") > 0;
else if (handle == HANDLE_HIBERNATE)
- supported = can_sleep("disk") > 0;
+ supported = can_sleep("hibernate") > 0;
else if (handle == HANDLE_HYBRID_SLEEP)
- supported = can_sleep("disk") > 0 && can_sleep_disk("suspend") > 0;
+ supported = can_sleep("hybrid-sleep") > 0;
else if (handle == HANDLE_KEXEC)
supported = access("/sbin/kexec", X_OK) >= 0;
+ else
+ supported = true;
if (!supported) {
log_warning("Requested operation not supported, ignoring.");
diff --git a/src/login/logind-action.h b/src/login/logind-action.h
index 7ab44644f2..552713637d 100644
--- a/src/login/logind-action.h
+++ b/src/login/logind-action.h
@@ -46,9 +46,9 @@ int manager_handle_action(
bool ignore_inhibited,
bool is_edge);
-const char* handle_action_to_string(HandleAction h);
-HandleAction handle_action_from_string(const char *s);
+const char* handle_action_to_string(HandleAction h) _const_;
+HandleAction handle_action_from_string(const char *s) _pure_;
-int config_parse_handle_action(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_handle_action(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
#endif
diff --git a/src/login/logind-button.c b/src/login/logind-button.c
index dbf3d3c446..ea45c28eef 100644
--- a/src/login/logind-button.c
+++ b/src/login/logind-button.c
@@ -33,6 +33,7 @@
#include "logind-button.h"
#include "special.h"
#include "dbus-common.h"
+#include "sd-messages.h"
Button* button_new(Manager *m, const char *name) {
Button *b;
@@ -70,7 +71,11 @@ void button_free(Button *b) {
if (b->fd >= 0) {
hashmap_remove(b->manager->button_fds, INT_TO_PTR(b->fd + 1));
assert_se(epoll_ctl(b->manager->epoll_fd, EPOLL_CTL_DEL, b->fd, NULL) == 0);
- close_nointr_nofail(b->fd);
+
+ /* If the device has been unplugged close() returns
+ * ENODEV, let's ignore this, hence we don't use
+ * close_nointr_nofail() */
+ close(b->fd);
}
free(b->name);
@@ -102,7 +107,7 @@ int button_open(Button *b) {
assert(b);
if (b->fd >= 0) {
- close_nointr_nofail(b->fd);
+ close(b->fd);
b->fd = -1;
}
@@ -145,7 +150,7 @@ int button_open(Button *b) {
return 0;
fail:
- close_nointr_nofail(b->fd);
+ close(b->fd);
b->fd = -1;
return r;
}
@@ -188,7 +193,10 @@ int button_process(Button *b) {
case KEY_POWER:
case KEY_POWER2:
- log_info("Power key pressed.");
+ log_struct(LOG_INFO,
+ "MESSAGE=Power key pressed.",
+ MESSAGE_ID(SD_MESSAGE_POWER_KEY),
+ NULL);
return button_handle(b, INHIBIT_HANDLE_POWER_KEY, b->manager->handle_power_key, b->manager->power_key_ignore_inhibited, true);
/* The kernel is a bit confused here:
@@ -198,11 +206,17 @@ int button_process(Button *b) {
*/
case KEY_SLEEP:
- log_info("Suspend key pressed.");
+ log_struct(LOG_INFO,
+ "MESSAGE=Suspend key pressed.",
+ MESSAGE_ID(SD_MESSAGE_SUSPEND_KEY),
+ NULL);
return button_handle(b, INHIBIT_HANDLE_SUSPEND_KEY, b->manager->handle_suspend_key, b->manager->suspend_key_ignore_inhibited, true);
case KEY_SUSPEND:
- log_info("Hibernate key pressed.");
+ log_struct(LOG_INFO,
+ "MESSAGE=Hibernate key pressed.",
+ MESSAGE_ID(SD_MESSAGE_HIBERNATE_KEY),
+ NULL);
return button_handle(b, INHIBIT_HANDLE_HIBERNATE_KEY, b->manager->handle_hibernate_key, b->manager->hibernate_key_ignore_inhibited, true);
}
@@ -211,7 +225,10 @@ int button_process(Button *b) {
switch (ev.code) {
case SW_LID:
- log_info("Lid closed.");
+ log_struct(LOG_INFO,
+ "MESSAGE=Lid closed.",
+ MESSAGE_ID(SD_MESSAGE_LID_CLOSED),
+ NULL);
b->lid_close_queued = true;
return button_handle(b, INHIBIT_HANDLE_LID_SWITCH, b->manager->handle_lid_switch, b->manager->lid_switch_ignore_inhibited, true);
@@ -222,7 +239,10 @@ int button_process(Button *b) {
switch (ev.code) {
case SW_LID:
- log_info("Lid opened.");
+ log_struct(LOG_INFO,
+ "MESSAGE=Lid opened.",
+ MESSAGE_ID(SD_MESSAGE_LID_OPENED),
+ NULL);
b->lid_close_queued = false;
break;
}
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
index 77a06f2ce4..4a84b860f1 100644
--- a/src/login/logind-dbus.c
+++ b/src/login/logind-dbus.c
@@ -31,8 +31,11 @@
#include "path-util.h"
#include "polkit.h"
#include "special.h"
+#include "sleep-config.h"
#include "systemd/sd-id128.h"
#include "systemd/sd-messages.h"
+#include "fileio-label.h"
+#include "label.h"
#define BUS_MANAGER_INTERFACE \
" <interface name=\"org.freedesktop.login1.Manager\">\n" \
@@ -64,7 +67,7 @@
" <method name=\"CreateSession\">\n" \
" <arg name=\"uid\" type=\"u\" direction=\"in\"/>\n" \
" <arg name=\"leader\" type=\"u\" direction=\"in\"/>\n" \
- " <arg name=\"sevice\" type=\"s\" direction=\"in\"/>\n" \
+ " <arg name=\"service\" type=\"s\" direction=\"in\"/>\n" \
" <arg name=\"type\" type=\"s\" direction=\"in\"/>\n" \
" <arg name=\"class\" type=\"s\" direction=\"in\"/>\n" \
" <arg name=\"seat\" type=\"s\" direction=\"in\"/>\n" \
@@ -102,6 +105,7 @@
" <arg name=\"id\" type=\"s\" direction=\"in\"/>\n" \
" </method>\n" \
" <method name=\"LockSessions\"/>\n" \
+ " <method name=\"UnlockSessions\"/>\n" \
" <method name=\"KillSession\">\n" \
" <arg name=\"id\" type=\"s\" direction=\"in\"/>\n" \
" <arg name=\"who\" type=\"s\" direction=\"in\"/>\n" \
@@ -296,30 +300,30 @@ static int bus_manager_append_preparing(DBusMessageIter *i, const char *property
assert(property);
if (streq(property, "PreparingForShutdown"))
- b = !!(m->delayed_what & INHIBIT_SHUTDOWN);
+ b = !!(m->action_what & INHIBIT_SHUTDOWN);
else
- b = !!(m->delayed_what & INHIBIT_SLEEP);
+ b = !!(m->action_what & INHIBIT_SLEEP);
dbus_message_iter_append_basic(i, DBUS_TYPE_BOOLEAN, &b);
return 0;
}
static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMessage **_reply) {
- Session *session = NULL;
- User *user = NULL;
- const char *type, *class, *seat, *tty, *display, *remote_user, *remote_host, *service;
+ const char *type, *class, *cseat, *tty, *display, *remote_user, *remote_host, *service;
uint32_t uid, leader, audit_id = 0;
dbus_bool_t remote, kill_processes, exists;
- char **controllers = NULL, **reset_controllers = NULL;
+ _cleanup_strv_free_ char **controllers = NULL, **reset_controllers = NULL;
+ _cleanup_free_ char *cgroup = NULL, *id = NULL, *p = NULL;
SessionType t;
SessionClass c;
- Seat *s;
DBusMessageIter iter;
int r;
- char *id = NULL, *p;
uint32_t vtnr = 0;
- int fifo_fd = -1;
- DBusMessage *reply = NULL;
+ _cleanup_close_ int fifo_fd = -1;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ Session *session = NULL;
+ User *user = NULL;
+ Seat *seat = NULL;
bool b;
assert(m);
@@ -350,31 +354,38 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
return -EINVAL;
dbus_message_iter_get_basic(&iter, &type);
- t = session_type_from_string(type);
+ if (isempty(type))
+ t = _SESSION_TYPE_INVALID;
+ else {
+ t = session_type_from_string(type);
+ if (t < 0)
+ return -EINVAL;
+ }
- if (t < 0 ||
- !dbus_message_iter_next(&iter) ||
+ if (!dbus_message_iter_next(&iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING)
return -EINVAL;
dbus_message_iter_get_basic(&iter, &class);
if (isempty(class))
- c = SESSION_USER;
- else
+ c = _SESSION_CLASS_INVALID;
+ else {
c = session_class_from_string(class);
+ if (c < 0)
+ return -EINVAL;
+ }
- if (c < 0 ||
- !dbus_message_iter_next(&iter) ||
+ if (!dbus_message_iter_next(&iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING)
return -EINVAL;
- dbus_message_iter_get_basic(&iter, &seat);
+ dbus_message_iter_get_basic(&iter, &cseat);
- if (isempty(seat))
- s = NULL;
+ if (isempty(cseat))
+ seat = NULL;
else {
- s = hashmap_get(m->seats, seat);
- if (!s)
+ seat = hashmap_get(m->seats, cseat);
+ if (!seat)
return -ENOENT;
}
@@ -393,9 +404,9 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
if (tty_is_vc(tty)) {
int v;
- if (!s)
- s = m->vtconsole;
- else if (s != m->vtconsole)
+ if (!seat)
+ seat = m->vtconsole;
+ else if (seat != m->vtconsole)
return -EINVAL;
v = vtnr_from_tty(tty);
@@ -409,18 +420,17 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
return -EINVAL;
} else if (tty_is_console(tty)) {
- if (!s)
- s = m->vtconsole;
- else if (s != m->vtconsole)
+ if (!seat)
+ seat = m->vtconsole;
+ else if (seat != m->vtconsole)
return -EINVAL;
if (vtnr != 0)
return -EINVAL;
-
}
- if (s) {
- if (seat_can_multi_session(s)) {
+ if (seat) {
+ if (seat_can_multi_session(seat)) {
if (vtnr > 63)
return -EINVAL;
} else {
@@ -439,6 +449,22 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_BOOLEAN)
return -EINVAL;
+ if (t == _SESSION_TYPE_INVALID) {
+ if (!isempty(display))
+ t = SESSION_X11;
+ else if (!isempty(tty))
+ t = SESSION_TTY;
+ else
+ t = SESSION_UNSPECIFIED;
+ }
+
+ if (c == _SESSION_CLASS_INVALID) {
+ if (!isempty(display) || !isempty(tty))
+ c = SESSION_USER;
+ else
+ c = SESSION_BACKGROUND;
+ }
+
dbus_message_iter_get_basic(&iter, &remote);
if (!dbus_message_iter_next(&iter) ||
@@ -462,8 +488,7 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
if (r < 0)
return -EINVAL;
- if (strv_contains(controllers, "systemd") ||
- !dbus_message_iter_next(&iter) ||
+ if (!dbus_message_iter_next(&iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_STRING) {
r = -EINVAL;
@@ -474,8 +499,7 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
if (r < 0)
goto fail;
- if (strv_contains(reset_controllers, "systemd") ||
- !dbus_message_iter_next(&iter) ||
+ if (!dbus_message_iter_next(&iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_BOOLEAN) {
r = -EINVAL;
goto fail;
@@ -483,78 +507,84 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
dbus_message_iter_get_basic(&iter, &kill_processes);
- r = manager_add_user_by_uid(m, uid, &user);
+ r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, leader, &cgroup);
if (r < 0)
goto fail;
- audit_session_from_pid(leader, &audit_id);
-
- if (audit_id > 0) {
- asprintf(&id, "%lu", (unsigned long) audit_id);
+ r = manager_get_session_by_cgroup(m, cgroup, &session);
+ if (r < 0)
+ goto fail;
- if (!id) {
- r = -ENOMEM;
+ if (session) {
+ fifo_fd = session_create_fifo(session);
+ if (fifo_fd < 0) {
+ r = fifo_fd;
goto fail;
}
- session = hashmap_get(m->sessions, id);
+ /* Session already exists, client is probably
+ * something like "su" which changes uid but
+ * is still the same audit session */
- if (session) {
- free(id);
+ reply = dbus_message_new_method_return(message);
+ if (!reply) {
+ r = -ENOMEM;
+ goto fail;
+ }
- fifo_fd = session_create_fifo(session);
- if (fifo_fd < 0) {
- r = fifo_fd;
- goto fail;
- }
+ p = session_bus_path(session);
+ if (!p) {
+ r = -ENOMEM;
+ goto fail;
+ }
- /* Session already exists, client is probably
- * something like "su" which changes uid but
- * is still the same audit session */
+ cseat = session->seat ? session->seat->id : "";
+ vtnr = session->vtnr;
+ exists = true;
- reply = dbus_message_new_method_return(message);
- if (!reply) {
- r = -ENOMEM;
- goto fail;
- }
+ b = dbus_message_append_args(
+ reply,
+ DBUS_TYPE_STRING, &session->id,
+ DBUS_TYPE_OBJECT_PATH, &p,
+ DBUS_TYPE_STRING, &session->user->runtime_path,
+ DBUS_TYPE_UNIX_FD, &fifo_fd,
+ DBUS_TYPE_STRING, &cseat,
+ DBUS_TYPE_UINT32, &vtnr,
+ DBUS_TYPE_BOOLEAN, &exists,
+ DBUS_TYPE_INVALID);
+ if (!b) {
+ r = -ENOMEM;
+ goto fail;
+ }
- p = session_bus_path(session);
- if (!p) {
- r = -ENOMEM;
- goto fail;
- }
+ *_reply = reply;
+ reply = NULL;
- seat = session->seat ? session->seat->id : "";
- vtnr = session->vtnr;
- exists = true;
-
- b = dbus_message_append_args(
- reply,
- DBUS_TYPE_STRING, &session->id,
- DBUS_TYPE_OBJECT_PATH, &p,
- DBUS_TYPE_STRING, &session->user->runtime_path,
- DBUS_TYPE_UNIX_FD, &fifo_fd,
- DBUS_TYPE_STRING, &seat,
- DBUS_TYPE_UINT32, &vtnr,
- DBUS_TYPE_BOOLEAN, &exists,
- DBUS_TYPE_INVALID);
- free(p);
+ return 0;
+ }
- if (!b) {
- r = -ENOMEM;
- goto fail;
- }
+ audit_session_from_pid(leader, &audit_id);
+ if (audit_id > 0) {
+ /* Keep our session IDs and the audit session IDs in sync */
- close_nointr_nofail(fifo_fd);
- *_reply = reply;
+ if (asprintf(&id, "%lu", (unsigned long) audit_id) < 0) {
+ r = -ENOMEM;
+ goto fail;
+ }
- strv_free(controllers);
- strv_free(reset_controllers);
+ /* Wut? There's already a session by this name and we
+ * didn't find it above? Weird, then let's not trust
+ * the audit data and let's better register a new
+ * ID */
+ if (hashmap_get(m->sessions, id)) {
+ audit_id = 0;
- return 0;
+ free(id);
+ id = NULL;
}
+ }
- } else {
+ if (!id) {
do {
free(id);
id = NULL;
@@ -567,8 +597,11 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
} while (hashmap_get(m->sessions, id));
}
+ r = manager_add_user_by_uid(m, uid, &user);
+ if (r < 0)
+ goto fail;
+
r = manager_add_session(m, user, id, &session);
- free(id);
if (r < 0)
goto fail;
@@ -577,11 +610,11 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
session->type = t;
session->class = c;
session->remote = remote;
- session->controllers = controllers;
- session->reset_controllers = reset_controllers;
session->kill_processes = kill_processes;
session->vtnr = vtnr;
+ session->controllers = cg_shorten_controllers(controllers);
+ session->reset_controllers = cg_shorten_controllers(reset_controllers);
controllers = reset_controllers = NULL;
if (!isempty(tty)) {
@@ -630,8 +663,8 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
goto fail;
}
- if (s) {
- r = seat_attach_session(s, session);
+ if (seat) {
+ r = seat_attach_session(seat, session);
if (r < 0)
goto fail;
}
@@ -652,7 +685,7 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
goto fail;
}
- seat = s ? s->id : "";
+ cseat = seat ? seat->id : "";
exists = false;
b = dbus_message_append_args(
reply,
@@ -660,42 +693,38 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
DBUS_TYPE_OBJECT_PATH, &p,
DBUS_TYPE_STRING, &session->user->runtime_path,
DBUS_TYPE_UNIX_FD, &fifo_fd,
- DBUS_TYPE_STRING, &seat,
+ DBUS_TYPE_STRING, &cseat,
DBUS_TYPE_UINT32, &vtnr,
DBUS_TYPE_BOOLEAN, &exists,
DBUS_TYPE_INVALID);
- free(p);
if (!b) {
r = -ENOMEM;
goto fail;
}
- close_nointr_nofail(fifo_fd);
*_reply = reply;
+ reply = NULL;
return 0;
fail:
- strv_free(controllers);
- strv_free(reset_controllers);
-
if (session)
session_add_to_gc_queue(session);
if (user)
user_add_to_gc_queue(user);
- if (fifo_fd >= 0)
- close_nointr_nofail(fifo_fd);
-
- if (reply)
- dbus_message_unref(reply);
-
return r;
}
-static int bus_manager_inhibit(Manager *m, DBusConnection *connection, DBusMessage *message, DBusError *error, DBusMessage **_reply) {
+static int bus_manager_inhibit(
+ Manager *m,
+ DBusConnection *connection,
+ DBusMessage *message,
+ DBusError *error,
+ DBusMessage **_reply) {
+
Inhibitor *i = NULL;
char *id = NULL;
const char *who, *why, *what, *mode;
@@ -704,7 +733,7 @@ static int bus_manager_inhibit(Manager *m, DBusConnection *connection, DBusMessa
InhibitMode mm;
unsigned long ul;
int r, fifo_fd = -1;
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
assert(m);
assert(connection);
@@ -742,6 +771,15 @@ static int bus_manager_inhibit(Manager *m, DBusConnection *connection, DBusMessa
goto fail;
}
+ /* Don't allow taking delay locks while we are already
+ * executing the operation. We shouldn't create the impression
+ * that the lock was successful if the machine is about to go
+ * down/suspend any moment. */
+ if (m->action_what & w) {
+ r = -EALREADY;
+ goto fail;
+ }
+
r = verify_polkit(connection, message,
w == INHIBIT_SHUTDOWN ? (mm == INHIBIT_BLOCK ? "org.freedesktop.login1.inhibit-block-shutdown" : "org.freedesktop.login1.inhibit-delay-shutdown") :
w == INHIBIT_SLEEP ? (mm == INHIBIT_BLOCK ? "org.freedesktop.login1.inhibit-block-sleep" : "org.freedesktop.login1.inhibit-delay-sleep") :
@@ -816,6 +854,7 @@ static int bus_manager_inhibit(Manager *m, DBusConnection *connection, DBusMessa
close_nointr_nofail(fifo_fd);
*_reply = reply;
+ reply = NULL;
inhibitor_start(i);
@@ -828,9 +867,6 @@ fail:
if (fifo_fd >= 0)
close_nointr_nofail(fifo_fd);
- if (reply)
- dbus_message_unref(reply);
-
return r;
}
@@ -872,7 +908,7 @@ static int trigger_device(Manager *m, struct udev_device *d) {
goto finish;
}
- write_one_line_file(t, "change");
+ write_string_file(t, "change");
free(t);
}
@@ -887,7 +923,7 @@ finish:
static int attach_device(Manager *m, const char *seat, const char *sysfs) {
struct udev_device *d;
- char *rule = NULL, *file = NULL;
+ _cleanup_free_ char *rule = NULL, *file = NULL;
const char *id_for_seat;
int r;
@@ -921,16 +957,14 @@ static int attach_device(Manager *m, const char *seat, const char *sysfs) {
}
mkdir_p_label("/etc/udev/rules.d", 0755);
- r = write_one_line_file_atomic(file, rule);
+ label_init("/etc");
+ r = write_string_file_atomic_label(file, rule);
if (r < 0)
goto finish;
r = trigger_device(m, d);
finish:
- free(rule);
- free(file);
-
if (d)
udev_device_unref(d);
@@ -938,7 +972,7 @@ finish:
}
static int flush_devices(Manager *m) {
- DIR *d;
+ _cleanup_closedir_ DIR *d;
assert(m);
@@ -963,8 +997,6 @@ static int flush_devices(Manager *m) {
if (unlinkat(dirfd(d), de->d_name, 0) < 0)
log_warning("Failed to unlink %s: %m", de->d_name);
}
-
- closedir(d);
}
return trigger_device(m, NULL);
@@ -979,75 +1011,115 @@ static int have_multiple_sessions(
assert(m);
- /* Check for other users' sessions. Greeter sessions do not count. */
+ /* Check for other users' sessions. Greeter sessions do not
+ * count, and non-login sessions do not count either. */
HASHMAP_FOREACH(session, m->sessions, i)
- if (session->class == SESSION_USER && session->user->uid != uid)
+ if (session->class == SESSION_USER &&
+ session->user->uid != uid)
return true;
return false;
}
-static int send_start_unit(DBusConnection *connection, const char *unit_name, DBusError *error) {
- const char *mode = "replace";
+static int bus_manager_log_shutdown(
+ Manager *m,
+ InhibitWhat w,
+ const char *unit_name) {
+
+ const char *p, *q;
+
+ assert(m);
+ assert(unit_name);
+
+ if (w != INHIBIT_SHUTDOWN)
+ return 0;
+
+ if (streq(unit_name, SPECIAL_POWEROFF_TARGET)) {
+ p = "MESSAGE=System is powering down.";
+ q = "SHUTDOWN=power-off";
+ } else if (streq(unit_name, SPECIAL_HALT_TARGET)) {
+ p = "MESSAGE=System is halting.";
+ q = "SHUTDOWN=halt";
+ } else if (streq(unit_name, SPECIAL_REBOOT_TARGET)) {
+ p = "MESSAGE=System is rebooting.";
+ q = "SHUTDOWN=reboot";
+ } else if (streq(unit_name, SPECIAL_KEXEC_TARGET)) {
+ p = "MESSAGE=System is rebooting with kexec.";
+ q = "SHUTDOWN=kexec";
+ } else {
+ p = "MESSAGE=System is shutting down.";
+ q = NULL;
+ }
+
+ return log_struct(LOG_NOTICE, MESSAGE_ID(SD_MESSAGE_SHUTDOWN),
+ p,
+ q, NULL);
+}
+
+static int execute_shutdown_or_sleep(
+ Manager *m,
+ InhibitWhat w,
+ const char *unit_name,
+ DBusError *error) {
+
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ const char *mode = "replace-irreversibly", *p;
+ int r;
+ char *c;
+ assert(m);
+ assert(w >= 0);
+ assert(w < _INHIBIT_WHAT_MAX);
assert(unit_name);
- return bus_method_call_with_reply (
- connection,
+ bus_manager_log_shutdown(m, w, unit_name);
+
+ r = bus_method_call_with_reply(
+ m->bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
"StartUnit",
- NULL,
- NULL,
+ &reply,
+ error,
DBUS_TYPE_STRING, &unit_name,
DBUS_TYPE_STRING, &mode,
DBUS_TYPE_INVALID);
-}
-
-static int send_prepare_for(Manager *m, InhibitWhat w, bool _active) {
- static const char * const signal_name[_INHIBIT_WHAT_MAX] = {
- [INHIBIT_SHUTDOWN] = "PrepareForShutdown",
- [INHIBIT_SLEEP] = "PrepareForSleep"
- };
-
- dbus_bool_t active = _active;
- DBusMessage *message;
- int r = 0;
+ if (r < 0)
+ return r;
- assert(m);
- assert(w >= 0);
- assert(w < _INHIBIT_WHAT_MAX);
- assert(signal_name[w]);
+ if (!dbus_message_get_args(
+ reply,
+ error,
+ DBUS_TYPE_OBJECT_PATH, &p,
+ DBUS_TYPE_INVALID))
+ return -EINVAL;
- message = dbus_message_new_signal("/org/freedesktop/login1", "org.freedesktop.login1.Manager", signal_name[w]);
- if (!message)
+ c = strdup(p);
+ if (!c)
return -ENOMEM;
- if (!dbus_message_append_args(message, DBUS_TYPE_BOOLEAN, &active, DBUS_TYPE_INVALID) ||
- !dbus_connection_send(m->bus, message, NULL))
- r = -ENOMEM;
+ m->action_unit = unit_name;
+ free(m->action_job);
+ m->action_job = c;
+ m->action_what = w;
- dbus_message_unref(message);
- return r;
+ return 0;
}
-static int delay_shutdown_or_sleep(Manager *m, InhibitWhat w, const char *unit_name) {
+static int delay_shutdown_or_sleep(
+ Manager *m,
+ InhibitWhat w,
+ const char *unit_name) {
+
assert(m);
assert(w >= 0);
assert(w < _INHIBIT_WHAT_MAX);
+ assert(unit_name);
- /* Tell everybody to prepare for shutdown/sleep */
- send_prepare_for(m, w, true);
-
- /* Update timestamp for timeout */
- if (!m->delayed_unit)
- m->delayed_timestamp = now(CLOCK_MONOTONIC);
-
- /* Remember what we want to do, possibly overriding what kind
- * of unit we previously queued. */
- m->delayed_unit = unit_name;
- m->delayed_what = w;
+ m->action_timestamp = now(CLOCK_MONOTONIC);
+ m->action_unit = unit_name;
+ m->action_what = w;
return 0;
}
@@ -1060,14 +1132,13 @@ static int bus_manager_can_shutdown_or_sleep(
const char *action,
const char *action_multiple_sessions,
const char *action_ignore_inhibit,
- const char *sleep_type,
- const char *sleep_disk_type,
+ const char *sleep_verb,
DBusError *error,
DBusMessage **_reply) {
bool multiple_sessions, challenge, blocked, b;
- const char *result;
- DBusMessage *reply = NULL;
+ const char *result = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
int r;
unsigned long ul;
@@ -1082,22 +1153,10 @@ static int bus_manager_can_shutdown_or_sleep(
assert(error);
assert(_reply);
- if (sleep_type) {
- r = can_sleep(sleep_type);
- if (r < 0)
- return r;
-
- if (r == 0) {
- result = "na";
- goto finish;
- }
- }
-
- if (sleep_disk_type) {
- r = can_sleep_disk(sleep_disk_type);
+ if (sleep_verb) {
+ r = can_sleep(sleep_verb);
if (r < 0)
return r;
-
if (r == 0) {
result = "na";
goto finish;
@@ -1166,48 +1225,37 @@ finish:
reply,
DBUS_TYPE_STRING, &result,
DBUS_TYPE_INVALID);
- if (!b) {
- dbus_message_unref(reply);
+ if (!b)
return -ENOMEM;
- }
*_reply = reply;
+ reply = NULL;
return 0;
}
-static int bus_manager_log_shutdown(
- Manager *m,
- InhibitWhat w,
- const char *unit_name) {
+static int send_prepare_for(Manager *m, InhibitWhat w, bool _active) {
+ static const char * const signal_name[_INHIBIT_WHAT_MAX] = {
+ [INHIBIT_SHUTDOWN] = "PrepareForShutdown",
+ [INHIBIT_SLEEP] = "PrepareForSleep"
+ };
- const char *p, *q;
+ dbus_bool_t active = _active;
+ _cleanup_dbus_message_unref_ DBusMessage *message = NULL;
assert(m);
- assert(unit_name);
+ assert(w >= 0);
+ assert(w < _INHIBIT_WHAT_MAX);
+ assert(signal_name[w]);
- if (w != INHIBIT_SHUTDOWN)
- return 0;
+ message = dbus_message_new_signal("/org/freedesktop/login1", "org.freedesktop.login1.Manager", signal_name[w]);
+ if (!message)
+ return -ENOMEM;
- if (streq(unit_name, SPECIAL_POWEROFF_TARGET)) {
- p = "MESSAGE=System is powering down.";
- q = "SHUTDOWN=power-off";
- } else if (streq(unit_name, SPECIAL_HALT_TARGET)) {
- p = "MESSAGE=System is halting.";
- q = "SHUTDOWN=halt";
- } else if (streq(unit_name, SPECIAL_REBOOT_TARGET)) {
- p = "MESSAGE=System is rebooting.";
- q = "SHUTDOWN=reboot";
- } else if (streq(unit_name, SPECIAL_KEXEC_TARGET)) {
- p = "MESSAGE=System is rebooting with kexec.";
- q = "SHUTDOWN=kexec";
- } else {
- p = "MESSAGE=System is shutting down.";
- q = NULL;
- }
+ if (!dbus_message_append_args(message, DBUS_TYPE_BOOLEAN, &active, DBUS_TYPE_INVALID) ||
+ !dbus_connection_send(m->bus, message, NULL))
+ return -ENOMEM;
- return log_struct(LOG_NOTICE, MESSAGE_ID(SD_MESSAGE_SHUTDOWN),
- p,
- q, NULL);
+ return 0;
}
int bus_manager_shutdown_or_sleep_now_or_later(
@@ -1223,6 +1271,10 @@ int bus_manager_shutdown_or_sleep_now_or_later(
assert(unit_name);
assert(w >= 0);
assert(w <= _INHIBIT_WHAT_MAX);
+ assert(!m->action_job);
+
+ /* Tell everybody to prepare for shutdown/sleep */
+ send_prepare_for(m, w, true);
delayed =
m->inhibit_delay_max > 0 &&
@@ -1232,13 +1284,10 @@ int bus_manager_shutdown_or_sleep_now_or_later(
/* Shutdown is delayed, keep in mind what we
* want to do, and start a timeout */
r = delay_shutdown_or_sleep(m, w, unit_name);
- else {
- bus_manager_log_shutdown(m, w, unit_name);
-
+ else
/* Shutdown is not delayed, execute it
* immediately */
- r = send_start_unit(m->bus, unit_name, error);
- }
+ r = execute_shutdown_or_sleep(m, w, unit_name, error);
return r;
}
@@ -1252,8 +1301,7 @@ static int bus_manager_do_shutdown_or_sleep(
const char *action,
const char *action_multiple_sessions,
const char *action_ignore_inhibit,
- const char *sleep_type,
- const char *sleep_disk_type,
+ const char *sleep_verb,
DBusError *error,
DBusMessage **_reply) {
@@ -1275,6 +1323,10 @@ static int bus_manager_do_shutdown_or_sleep(
assert(error);
assert(_reply);
+ /* Don't allow multiple jobs being executed at the same time */
+ if (m->action_what)
+ return -EALREADY;
+
if (!dbus_message_get_args(
message,
error,
@@ -1282,17 +1334,8 @@ static int bus_manager_do_shutdown_or_sleep(
DBUS_TYPE_INVALID))
return -EINVAL;
- if (sleep_type) {
- r = can_sleep(sleep_type);
- if (r < 0)
- return r;
-
- if (r == 0)
- return -ENOTSUP;
- }
-
- if (sleep_disk_type) {
- r = can_sleep_disk(sleep_disk_type);
+ if (sleep_verb) {
+ r = can_sleep(sleep_verb);
if (r < 0)
return r;
@@ -1376,7 +1419,7 @@ static DBusHandlerResult manager_message_handler(
Manager *m = userdata;
DBusError error;
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
int r;
assert(connection);
@@ -1824,8 +1867,10 @@ static DBusHandlerResult manager_message_handler(
if (!reply)
goto oom;
- } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "LockSessions")) {
- r = session_send_lock_all(m, true);
+ } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "LockSessions") ||
+ dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "UnlockSessions")) {
+
+ r = session_send_lock_all(m, streq(dbus_message_get_member(message), "LockSessions"));
if (r < 0)
bus_send_error_reply(connection, message, NULL, r);
@@ -2093,7 +2138,7 @@ static DBusHandlerResult manager_message_handler(
"org.freedesktop.login1.power-off",
"org.freedesktop.login1.power-off-multiple-sessions",
"org.freedesktop.login1.power-off-ignore-inhibit",
- NULL, NULL,
+ NULL,
&error, &reply);
if (r < 0)
return bus_send_error_reply(connection, message, &error, r);
@@ -2105,7 +2150,7 @@ static DBusHandlerResult manager_message_handler(
"org.freedesktop.login1.reboot",
"org.freedesktop.login1.reboot-multiple-sessions",
"org.freedesktop.login1.reboot-ignore-inhibit",
- NULL, NULL,
+ NULL,
&error, &reply);
if (r < 0)
return bus_send_error_reply(connection, message, &error, r);
@@ -2118,7 +2163,7 @@ static DBusHandlerResult manager_message_handler(
"org.freedesktop.login1.suspend",
"org.freedesktop.login1.suspend-multiple-sessions",
"org.freedesktop.login1.suspend-ignore-inhibit",
- "mem", NULL,
+ "suspend",
&error, &reply);
if (r < 0)
return bus_send_error_reply(connection, message, &error, r);
@@ -2130,7 +2175,7 @@ static DBusHandlerResult manager_message_handler(
"org.freedesktop.login1.hibernate",
"org.freedesktop.login1.hibernate-multiple-sessions",
"org.freedesktop.login1.hibernate-ignore-inhibit",
- "disk", NULL,
+ "hibernate",
&error, &reply);
if (r < 0)
return bus_send_error_reply(connection, message, &error, r);
@@ -2143,7 +2188,7 @@ static DBusHandlerResult manager_message_handler(
"org.freedesktop.login1.hibernate",
"org.freedesktop.login1.hibernate-multiple-sessions",
"org.freedesktop.login1.hibernate-ignore-inhibit",
- "disk", "suspend",
+ "hybrid-sleep",
&error, &reply);
if (r < 0)
return bus_send_error_reply(connection, message, &error, r);
@@ -2156,7 +2201,7 @@ static DBusHandlerResult manager_message_handler(
"org.freedesktop.login1.power-off",
"org.freedesktop.login1.power-off-multiple-sessions",
"org.freedesktop.login1.power-off-ignore-inhibit",
- NULL, NULL,
+ NULL,
&error, &reply);
if (r < 0)
return bus_send_error_reply(connection, message, &error, r);
@@ -2167,7 +2212,7 @@ static DBusHandlerResult manager_message_handler(
"org.freedesktop.login1.reboot",
"org.freedesktop.login1.reboot-multiple-sessions",
"org.freedesktop.login1.reboot-ignore-inhibit",
- NULL, NULL,
+ NULL,
&error, &reply);
if (r < 0)
return bus_send_error_reply(connection, message, &error, r);
@@ -2179,7 +2224,7 @@ static DBusHandlerResult manager_message_handler(
"org.freedesktop.login1.suspend",
"org.freedesktop.login1.suspend-multiple-sessions",
"org.freedesktop.login1.suspend-ignore-inhibit",
- "mem", NULL,
+ "suspend",
&error, &reply);
if (r < 0)
return bus_send_error_reply(connection, message, &error, r);
@@ -2191,7 +2236,7 @@ static DBusHandlerResult manager_message_handler(
"org.freedesktop.login1.hibernate",
"org.freedesktop.login1.hibernate-multiple-sessions",
"org.freedesktop.login1.hibernate-ignore-inhibit",
- "disk", NULL,
+ "hibernate",
&error, &reply);
if (r < 0)
return bus_send_error_reply(connection, message, &error, r);
@@ -2203,7 +2248,7 @@ static DBusHandlerResult manager_message_handler(
"org.freedesktop.login1.hibernate",
"org.freedesktop.login1.hibernate-multiple-sessions",
"org.freedesktop.login1.hibernate-ignore-inhibit",
- "disk", "suspend",
+ "hybrid-sleep",
&error, &reply);
if (r < 0)
return bus_send_error_reply(connection, message, &error, r);
@@ -2282,16 +2327,11 @@ static DBusHandlerResult manager_message_handler(
if (reply) {
if (!bus_maybe_send_reply(connection, message, reply))
goto oom;
-
- dbus_message_unref(reply);
}
return DBUS_HANDLER_RESULT_HANDLED;
oom:
- if (reply)
- dbus_message_unref(reply);
-
dbus_error_free(&error);
return DBUS_HANDLER_RESULT_NEED_MEMORY;
@@ -2324,6 +2364,30 @@ DBusHandlerResult bus_message_filter(
log_error("Failed to parse Released message: %s", bus_error_message(&error));
else
manager_cgroup_notify_empty(m, cgroup);
+
+ } else if (dbus_message_is_signal(message, "org.freedesktop.systemd1.Manager", "JobRemoved")) {
+ uint32_t id;
+ const char *path, *result, *unit;
+
+ if (!dbus_message_get_args(message, &error,
+ DBUS_TYPE_UINT32, &id,
+ DBUS_TYPE_OBJECT_PATH, &path,
+ DBUS_TYPE_STRING, &unit,
+ DBUS_TYPE_STRING, &result,
+ DBUS_TYPE_INVALID))
+ log_error("Failed to parse JobRemoved message: %s", bus_error_message(&error));
+
+ else if (m->action_job && streq(m->action_job, path)) {
+ log_info("Operation finished.");
+
+ /* Tell people that they now may take a lock again */
+ send_prepare_for(m, m->action_what, false);
+
+ free(m->action_job);
+ m->action_job = NULL;
+ m->action_unit = NULL;
+ m->action_what = 0;
+ }
}
dbus_error_free(&error);
@@ -2332,62 +2396,51 @@ DBusHandlerResult bus_message_filter(
}
int manager_send_changed(Manager *manager, const char *properties) {
- DBusMessage *m;
- int r = -ENOMEM;
+ _cleanup_dbus_message_unref_ DBusMessage *m = NULL;
assert(manager);
- m = bus_properties_changed_new("/org/freedesktop/login1", "org.freedesktop.login1.Manager", properties);
+ m = bus_properties_changed_new("/org/freedesktop/login1",
+ "org.freedesktop.login1.Manager",
+ properties);
if (!m)
- goto finish;
+ return -ENOMEM;
if (!dbus_connection_send(manager->bus, m, NULL))
- goto finish;
-
- r = 0;
-
-finish:
- if (m)
- dbus_message_unref(m);
+ return -ENOMEM;
- return r;
+ return 0;
}
int manager_dispatch_delayed(Manager *manager) {
- const char *unit_name;
DBusError error;
- bool delayed;
int r;
assert(manager);
- if (!manager->delayed_unit)
+ if (manager->action_what == 0 || manager->action_job)
return 0;
/* Continue delay? */
- delayed =
- manager->delayed_timestamp + manager->inhibit_delay_max > now(CLOCK_MONOTONIC) &&
- manager_is_inhibited(manager, manager->delayed_what, INHIBIT_DELAY, NULL, false, false, 0);
- if (delayed)
- return 0;
+ if (manager_is_inhibited(manager, manager->action_what, INHIBIT_DELAY, NULL, false, false, 0)) {
- bus_manager_log_shutdown(manager, manager->delayed_what, manager->delayed_unit);
+ if (manager->action_timestamp + manager->inhibit_delay_max > now(CLOCK_MONOTONIC))
+ return 0;
- /* Reset delay data */
- unit_name = manager->delayed_unit;
- manager->delayed_unit = NULL;
+ log_info("Delay lock is active but inhibitor timeout is reached.");
+ }
- /* Actually do the shutdown */
+ /* Actually do the operation */
dbus_error_init(&error);
- r = send_start_unit(manager->bus, unit_name, &error);
+ r = execute_shutdown_or_sleep(manager, manager->action_what, manager->action_unit, &error);
if (r < 0) {
- log_warning("Failed to send delayed message: %s", bus_error_message_or_strerror(&error, -r));
+ log_warning("Failed to send delayed message: %s", bus_error(&error, r));
dbus_error_free(&error);
+
+ manager->action_unit = NULL;
+ manager->action_what = 0;
return r;
}
- /* Tell people about it */
- send_prepare_for(manager, manager->delayed_what, false);
-
return 1;
}
diff --git a/src/login/logind-gperf.gperf b/src/login/logind-gperf.gperf
index 076d116161..735d2dbc9c 100644
--- a/src/login/logind-gperf.gperf
+++ b/src/login/logind-gperf.gperf
@@ -21,7 +21,7 @@ Login.KillOnlyUsers, config_parse_strv, 0, offsetof(Manag
Login.KillExcludeUsers, config_parse_strv, 0, offsetof(Manager, kill_exclude_users)
Login.Controllers, config_parse_strv, 0, offsetof(Manager, controllers)
Login.ResetControllers, config_parse_strv, 0, offsetof(Manager, reset_controllers)
-Login.InhibitDelayMaxSec, config_parse_usec, 0, offsetof(Manager, inhibit_delay_max)
+Login.InhibitDelayMaxSec, config_parse_sec, 0, offsetof(Manager, inhibit_delay_max)
Login.HandlePowerKey, config_parse_handle_action, 0, offsetof(Manager, handle_power_key)
Login.HandleSuspendKey, config_parse_handle_action, 0, offsetof(Manager, handle_suspend_key)
Login.HandleHibernateKey, config_parse_handle_action, 0, offsetof(Manager, handle_hibernate_key)
@@ -31,4 +31,4 @@ Login.SuspendKeyIgnoreInhibited, config_parse_bool, 0, offsetof(Manag
Login.HibernateKeyIgnoreInhibited, config_parse_bool, 0, offsetof(Manager, hibernate_key_ignore_inhibited)
Login.LidSwitchIgnoreInhibited, config_parse_bool, 0, offsetof(Manager, lid_switch_ignore_inhibited)
Login.IdleAction, config_parse_handle_action, 0, offsetof(Manager, idle_action)
-Login.IdleActionSec, config_parse_usec, 0, offsetof(Manager, idle_action_usec)
+Login.IdleActionSec, config_parse_sec, 0, offsetof(Manager, idle_action_usec)
diff --git a/src/login/logind-inhibit.c b/src/login/logind-inhibit.c
index f1b9cca834..e77088364a 100644
--- a/src/login/logind-inhibit.c
+++ b/src/login/logind-inhibit.c
@@ -30,6 +30,7 @@
#include "mkdir.h"
#include "path-util.h"
#include "logind-inhibit.h"
+#include "fileio.h"
Inhibitor* inhibitor_new(Manager *m, const char* id) {
Inhibitor *i;
@@ -291,7 +292,7 @@ int inhibitor_create_fifo(Inhibitor *i) {
/* Open reading side */
if (i->fifo_fd < 0) {
- struct epoll_event ev;
+ struct epoll_event ev = {};
i->fifo_fd = open(i->fifo_path, O_RDONLY|O_CLOEXEC|O_NDELAY);
if (i->fifo_fd < 0)
@@ -301,7 +302,6 @@ int inhibitor_create_fifo(Inhibitor *i) {
if (r < 0)
return r;
- zero(ev);
ev.events = 0;
ev.data.u32 = FD_OTHER_BASE + i->fifo_fd;
@@ -353,9 +353,14 @@ static int pid_is_active(Manager *m, pid_t pid) {
int r;
r = manager_get_session_by_pid(m, pid, &s);
- if (r <= 0)
+ if (r < 0)
return r;
+ /* If there's no session assigned to it, then it's globally
+ * active on all ttys */
+ if (r == 0)
+ return 1;
+
return session_is_active(s);
}
@@ -439,19 +444,19 @@ InhibitWhat inhibit_what_from_string(const char *s) {
size_t l;
FOREACH_WORD_SEPARATOR(w, l, s, ":", state) {
- if (l == 8 && strncmp(w, "shutdown", l) == 0)
+ if (l == 8 && strneq(w, "shutdown", l))
what |= INHIBIT_SHUTDOWN;
- else if (l == 5 && strncmp(w, "sleep", l) == 0)
+ else if (l == 5 && strneq(w, "sleep", l))
what |= INHIBIT_SLEEP;
- else if (l == 4 && strncmp(w, "idle", l) == 0)
+ else if (l == 4 && strneq(w, "idle", l))
what |= INHIBIT_IDLE;
- else if (l == 16 && strncmp(w, "handle-power-key", l) == 0)
+ else if (l == 16 && strneq(w, "handle-power-key", l))
what |= INHIBIT_HANDLE_POWER_KEY;
- else if (l == 18 && strncmp(w, "handle-suspend-key", l) == 0)
+ else if (l == 18 && strneq(w, "handle-suspend-key", l))
what |= INHIBIT_HANDLE_SUSPEND_KEY;
- else if (l == 20 && strncmp(w, "handle-hibernate-key", l) == 0)
+ else if (l == 20 && strneq(w, "handle-hibernate-key", l))
what |= INHIBIT_HANDLE_HIBERNATE_KEY;
- else if (l == 17 && strncmp(w, "handle-lid-switch", l) == 0)
+ else if (l == 17 && strneq(w, "handle-lid-switch", l))
what |= INHIBIT_HANDLE_LID_SWITCH;
else
return _INHIBIT_WHAT_INVALID;
diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c
index 7833d70a03..5c535ba0ec 100644
--- a/src/login/logind-seat-dbus.c
+++ b/src/login/logind-seat-dbus.c
@@ -61,7 +61,7 @@ static int bus_seat_append_active(DBusMessageIter *i, const char *property, void
DBusMessageIter sub;
Seat *s = data;
const char *id, *path;
- char *p = NULL;
+ _cleanup_free_ char *p = NULL;
assert(i);
assert(property);
@@ -82,12 +82,8 @@ static int bus_seat_append_active(DBusMessageIter *i, const char *property, void
}
if (!dbus_message_iter_append_basic(&sub, DBUS_TYPE_STRING, &id) ||
- !dbus_message_iter_append_basic(&sub, DBUS_TYPE_OBJECT_PATH, &path)) {
- free(p);
+ !dbus_message_iter_append_basic(&sub, DBUS_TYPE_OBJECT_PATH, &path))
return -ENOMEM;
- }
-
- free(p);
if (!dbus_message_iter_close_container(i, &sub))
return -ENOMEM;
@@ -108,7 +104,7 @@ static int bus_seat_append_sessions(DBusMessageIter *i, const char *property, vo
return -ENOMEM;
LIST_FOREACH(sessions_by_seat, session, s->sessions) {
- char *p;
+ _cleanup_free_ char *p = NULL;
if (!dbus_message_iter_open_container(&sub, DBUS_TYPE_STRUCT, NULL, &sub2))
return -ENOMEM;
@@ -118,12 +114,8 @@ static int bus_seat_append_sessions(DBusMessageIter *i, const char *property, vo
return -ENOMEM;
if (!dbus_message_iter_append_basic(&sub2, DBUS_TYPE_STRING, &session->id) ||
- !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_OBJECT_PATH, &p)) {
- free(p);
+ !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_OBJECT_PATH, &p))
return -ENOMEM;
- }
-
- free(p);
if (!dbus_message_iter_close_container(&sub, &sub2))
return -ENOMEM;
@@ -260,7 +252,7 @@ static DBusHandlerResult seat_message_dispatch(
DBusMessage *message) {
DBusError error;
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
int r;
assert(s);
@@ -310,18 +302,13 @@ static DBusHandlerResult seat_message_dispatch(
}
if (reply) {
- if (!dbus_connection_send(connection, reply, NULL))
+ if (!bus_maybe_send_reply(connection, message, reply))
goto oom;
-
- dbus_message_unref(reply);
}
return DBUS_HANDLER_RESULT_HANDLED;
oom:
- if (reply)
- dbus_message_unref(reply);
-
dbus_error_free(&error);
return DBUS_HANDLER_RESULT_NEED_MEMORY;
@@ -361,7 +348,7 @@ const DBusObjectPathVTable bus_seat_vtable = {
};
char *seat_bus_path(Seat *s) {
- char *t, *r;
+ _cleanup_free_ char *t;
assert(s);
@@ -369,53 +356,41 @@ char *seat_bus_path(Seat *s) {
if (!t)
return NULL;
- r = strappend("/org/freedesktop/login1/seat/", t);
- free(t);
-
- return r;
+ return strappend("/org/freedesktop/login1/seat/", t);
}
int seat_send_signal(Seat *s, bool new_seat) {
- DBusMessage *m;
- int r = -ENOMEM;
- char *p = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *m = NULL;
+ _cleanup_free_ char *p = NULL;
assert(s);
m = dbus_message_new_signal("/org/freedesktop/login1",
"org.freedesktop.login1.Manager",
new_seat ? "SeatNew" : "SeatRemoved");
-
if (!m)
return -ENOMEM;
p = seat_bus_path(s);
if (!p)
- goto finish;
+ return -ENOMEM;
if (!dbus_message_append_args(
m,
DBUS_TYPE_STRING, &s->id,
DBUS_TYPE_OBJECT_PATH, &p,
DBUS_TYPE_INVALID))
- goto finish;
+ return -ENOMEM;
if (!dbus_connection_send(s->manager->bus, m, NULL))
- goto finish;
-
- r = 0;
-
-finish:
- dbus_message_unref(m);
- free(p);
+ return -ENOMEM;
- return r;
+ return 0;
}
int seat_send_changed(Seat *s, const char *properties) {
- DBusMessage *m;
- int r = -ENOMEM;
- char *p = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *m = NULL;
+ _cleanup_free_ char *p = NULL;
assert(s);
@@ -428,17 +403,10 @@ int seat_send_changed(Seat *s, const char *properties) {
m = bus_properties_changed_new(p, "org.freedesktop.login1.Seat", properties);
if (!m)
- goto finish;
+ return -ENOMEM;
if (!dbus_connection_send(s->manager->bus, m, NULL))
- goto finish;
-
- r = 0;
-
-finish:
- if (m)
- dbus_message_unref(m);
- free(p);
+ return -ENOMEM;
- return r;
+ return 0;
}
diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c
index ef73cd434a..ec823af547 100644
--- a/src/login/logind-session-dbus.c
+++ b/src/login/logind-session-dbus.c
@@ -108,12 +108,8 @@ static int bus_session_append_seat(DBusMessageIter *i, const char *property, voi
}
if (!dbus_message_iter_append_basic(&sub, DBUS_TYPE_STRING, &id) ||
- !dbus_message_iter_append_basic(&sub, DBUS_TYPE_OBJECT_PATH, &path)) {
- free(p);
+ !dbus_message_iter_append_basic(&sub, DBUS_TYPE_OBJECT_PATH, &path))
return -ENOMEM;
- }
-
- free(p);
if (!dbus_message_iter_close_container(i, &sub))
return -ENOMEM;
@@ -124,7 +120,7 @@ static int bus_session_append_seat(DBusMessageIter *i, const char *property, voi
static int bus_session_append_user(DBusMessageIter *i, const char *property, void *data) {
DBusMessageIter sub;
User *u = data;
- char *p = NULL;
+ _cleanup_free_ char *p = NULL;
assert(i);
assert(property);
@@ -138,12 +134,8 @@ static int bus_session_append_user(DBusMessageIter *i, const char *property, voi
return -ENOMEM;
if (!dbus_message_iter_append_basic(&sub, DBUS_TYPE_UINT32, &u->uid) ||
- !dbus_message_iter_append_basic(&sub, DBUS_TYPE_OBJECT_PATH, &p)) {
- free(p);
+ !dbus_message_iter_append_basic(&sub, DBUS_TYPE_OBJECT_PATH, &p))
return -ENOMEM;
- }
-
- free(p);
if (!dbus_message_iter_close_container(i, &sub))
return -ENOMEM;
@@ -205,7 +197,7 @@ static int bus_session_append_idle_hint_since(DBusMessageIter *i, const char *pr
static int bus_session_append_default_cgroup(DBusMessageIter *i, const char *property, void *data) {
Session *s = data;
- char *t;
+ _cleanup_free_ char *t = NULL;
int r;
bool success;
@@ -218,8 +210,6 @@ static int bus_session_append_default_cgroup(DBusMessageIter *i, const char *pro
return r;
success = dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, &t);
- free(t);
-
return success ? 0 : -ENOMEM;
}
@@ -307,7 +297,7 @@ static DBusHandlerResult session_message_dispatch(
DBusMessage *message) {
DBusError error;
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
int r;
assert(s);
@@ -412,18 +402,13 @@ static DBusHandlerResult session_message_dispatch(
}
if (reply) {
- if (!dbus_connection_send(connection, reply, NULL))
+ if (!bus_maybe_send_reply(connection, message, reply))
goto oom;
-
- dbus_message_unref(reply);
}
return DBUS_HANDLER_RESULT_HANDLED;
oom:
- if (reply)
- dbus_message_unref(reply);
-
dbus_error_free(&error);
return DBUS_HANDLER_RESULT_NEED_MEMORY;
@@ -463,7 +448,7 @@ const DBusObjectPathVTable bus_session_vtable = {
};
char *session_bus_path(Session *s) {
- char *t, *r;
+ _cleanup_free_ char *t;
assert(s);
@@ -471,16 +456,12 @@ char *session_bus_path(Session *s) {
if (!t)
return NULL;
- r = strappend("/org/freedesktop/login1/session/", t);
- free(t);
-
- return r;
+ return strappend("/org/freedesktop/login1/session/", t);
}
int session_send_signal(Session *s, bool new_session) {
- DBusMessage *m;
- int r = -ENOMEM;
- char *p = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *m = NULL;
+ _cleanup_free_ char *p = NULL;
assert(s);
@@ -493,31 +474,24 @@ int session_send_signal(Session *s, bool new_session) {
p = session_bus_path(s);
if (!p)
- goto finish;
+ return -ENOMEM;
if (!dbus_message_append_args(
m,
DBUS_TYPE_STRING, &s->id,
DBUS_TYPE_OBJECT_PATH, &p,
DBUS_TYPE_INVALID))
- goto finish;
+ return -ENOMEM;
if (!dbus_connection_send(s->manager->bus, m, NULL))
- goto finish;
-
- r = 0;
-
-finish:
- dbus_message_unref(m);
- free(p);
+ return -ENOMEM;
- return r;
+ return 0;
}
int session_send_changed(Session *s, const char *properties) {
- DBusMessage *m;
- int r = -ENOMEM;
- char *p = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *m = NULL;
+ _cleanup_free_ char *p = NULL;
assert(s);
@@ -530,25 +504,18 @@ int session_send_changed(Session *s, const char *properties) {
m = bus_properties_changed_new(p, "org.freedesktop.login1.Session", properties);
if (!m)
- goto finish;
+ return -ENOMEM;
if (!dbus_connection_send(s->manager->bus, m, NULL))
- goto finish;
-
- r = 0;
-
-finish:
- if (m)
- dbus_message_unref(m);
- free(p);
+ return -ENOMEM;
- return r;
+ return 0;
}
int session_send_lock(Session *s, bool lock) {
- DBusMessage *m;
+ _cleanup_dbus_message_unref_ DBusMessage *m = NULL;
bool b;
- char *p;
+ _cleanup_free_ char *p = NULL;
assert(s);
@@ -557,14 +524,11 @@ int session_send_lock(Session *s, bool lock) {
return -ENOMEM;
m = dbus_message_new_signal(p, "org.freedesktop.login1.Session", lock ? "Lock" : "Unlock");
- free(p);
if (!m)
return -ENOMEM;
b = dbus_connection_send(s->manager->bus, m, NULL);
- dbus_message_unref(m);
-
if (!b)
return -ENOMEM;
diff --git a/src/login/logind-session.c b/src/login/logind-session.c
index b64a5d302d..662273b07f 100644
--- a/src/login/logind-session.c
+++ b/src/login/logind-session.c
@@ -33,6 +33,7 @@
#include "path-util.h"
#include "cgroup-util.h"
#include "logind-session.h"
+#include "fileio.h"
Session* session_new(Manager *m, User *u, const char *id) {
Session *s;
@@ -435,15 +436,14 @@ static int session_create_one_group(Session *s, const char *controller, const ch
int r;
assert(s);
- assert(controller);
assert(path);
if (s->leader > 0) {
r = cg_create_and_attach(controller, path, s->leader);
if (r < 0)
- r = cg_create(controller, path);
+ r = cg_create(controller, path, NULL);
} else
- r = cg_create(controller, path);
+ r = cg_create(controller, path, NULL);
if (r < 0)
return r;
@@ -465,7 +465,18 @@ static int session_create_cgroup(Session *s) {
assert(s->user->cgroup_path);
if (!s->cgroup_path) {
- if (asprintf(&p, "%s/%s", s->user->cgroup_path, s->id) < 0)
+ _cleanup_free_ char *name = NULL, *escaped = NULL;
+
+ name = strappend(s->id, ".session");
+ if (!name)
+ return log_oom();
+
+ escaped = cg_escape(name);
+ if (!escaped)
+ return log_oom();
+
+ p = strjoin(s->user->cgroup_path, "/", escaped, NULL);
+ if (!p)
return log_oom();
} else
p = s->cgroup_path;
@@ -709,6 +720,8 @@ int session_stop(Session *s) {
if (s->started)
session_send_signal(s, false);
+ s->started = false;
+
if (s->seat) {
if (s->seat->active == s)
seat_set_active(s->seat, NULL);
@@ -720,8 +733,6 @@ int session_stop(Session *s) {
user_send_changed(s->user, "Sessions\0");
user_save(s->user);
- s->started = false;
-
return r;
}
@@ -772,7 +783,6 @@ static int get_process_ctty_atime(pid_t pid, usec_t *atime) {
}
int session_get_idle_hint(Session *s, dual_timestamp *t) {
- _cleanup_free_ char *p = NULL;
usec_t atime = 0, n;
int r;
@@ -786,7 +796,7 @@ int session_get_idle_hint(Session *s, dual_timestamp *t) {
return s->idle_hint;
}
- /* Graphical sessions really should really implement a real
+ /* Graphical sessions should really implement a real
* idle hint logic */
if (s->display)
goto dont_know;
@@ -898,7 +908,7 @@ int session_create_fifo(Session *s) {
/* Open reading side */
if (s->fifo_fd < 0) {
- struct epoll_event ev;
+ struct epoll_event ev = {};
s->fifo_fd = open(s->fifo_path, O_RDONLY|O_CLOEXEC|O_NDELAY);
if (s->fifo_fd < 0)
@@ -908,7 +918,6 @@ int session_create_fifo(Session *s) {
if (r < 0)
return r;
- zero(ev);
ev.events = 0;
ev.data.u32 = FD_OTHER_BASE + s->fifo_fd;
@@ -1057,7 +1066,8 @@ DEFINE_STRING_TABLE_LOOKUP(session_type, SessionType);
static const char* const session_class_table[_SESSION_CLASS_MAX] = {
[SESSION_USER] = "user",
[SESSION_GREETER] = "greeter",
- [SESSION_LOCK_SCREEN] = "lock-screen"
+ [SESSION_LOCK_SCREEN] = "lock-screen",
+ [SESSION_BACKGROUND] = "background"
};
DEFINE_STRING_TABLE_LOOKUP(session_class, SessionClass);
diff --git a/src/login/logind-session.h b/src/login/logind-session.h
index 7598afa618..a73df3a3bc 100644
--- a/src/login/logind-session.h
+++ b/src/login/logind-session.h
@@ -37,22 +37,23 @@ typedef enum SessionState {
_SESSION_STATE_INVALID = -1
} SessionState;
-typedef enum SessionType {
- SESSION_UNSPECIFIED,
- SESSION_TTY,
- SESSION_X11,
- _SESSION_TYPE_MAX,
- _SESSION_TYPE_INVALID = -1
-} SessionType;
-
typedef enum SessionClass {
SESSION_USER,
SESSION_GREETER,
SESSION_LOCK_SCREEN,
+ SESSION_BACKGROUND,
_SESSION_CLASS_MAX,
_SESSION_CLASS_INVALID = -1
} SessionClass;
+typedef enum SessionType {
+ SESSION_UNSPECIFIED,
+ SESSION_TTY,
+ SESSION_X11,
+ _SESSION_TYPE_MAX,
+ _SESSION_TYPE_INVALID = -1
+} SessionType;
+
typedef enum KillWho {
KILL_LEADER,
KILL_ALL,
@@ -134,14 +135,14 @@ int session_send_changed(Session *s, const char *properties);
int session_send_lock(Session *s, bool lock);
int session_send_lock_all(Manager *m, bool lock);
-const char* session_state_to_string(SessionState t);
-SessionState session_state_from_string(const char *s);
+const char* session_state_to_string(SessionState t) _const_;
+SessionState session_state_from_string(const char *s) _pure_;
-const char* session_type_to_string(SessionType t);
-SessionType session_type_from_string(const char *s);
+const char* session_type_to_string(SessionType t) _const_;
+SessionType session_type_from_string(const char *s) _pure_;
-const char* session_class_to_string(SessionClass t);
-SessionClass session_class_from_string(const char *s);
+const char* session_class_to_string(SessionClass t) _const_;
+SessionClass session_class_from_string(const char *s) _pure_;
-const char *kill_who_to_string(KillWho k);
-KillWho kill_who_from_string(const char *s);
+const char *kill_who_to_string(KillWho k) _const_;
+KillWho kill_who_from_string(const char *s) _pure_;
diff --git a/src/login/logind-user-dbus.c b/src/login/logind-user-dbus.c
index ddf9d9d5cf..3ec3ff8e61 100644
--- a/src/login/logind-user-dbus.c
+++ b/src/login/logind-user-dbus.c
@@ -65,7 +65,7 @@ static int bus_user_append_display(DBusMessageIter *i, const char *property, voi
DBusMessageIter sub;
User *u = data;
const char *id, *path;
- char *p = NULL;
+ _cleanup_free_ char *p = NULL;
assert(i);
assert(property);
@@ -86,12 +86,8 @@ static int bus_user_append_display(DBusMessageIter *i, const char *property, voi
}
if (!dbus_message_iter_append_basic(&sub, DBUS_TYPE_STRING, &id) ||
- !dbus_message_iter_append_basic(&sub, DBUS_TYPE_OBJECT_PATH, &path)) {
- free(p);
+ !dbus_message_iter_append_basic(&sub, DBUS_TYPE_OBJECT_PATH, &path))
return -ENOMEM;
- }
-
- free(p);
if (!dbus_message_iter_close_container(i, &sub))
return -ENOMEM;
@@ -191,7 +187,7 @@ static int bus_user_append_idle_hint_since(DBusMessageIter *i, const char *prope
static int bus_user_append_default_cgroup(DBusMessageIter *i, const char *property, void *data) {
User *u = data;
- char *t;
+ _cleanup_free_ char *t = NULL;
int r;
bool success;
@@ -204,8 +200,6 @@ static int bus_user_append_default_cgroup(DBusMessageIter *i, const char *proper
return r;
success = dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, &t);
- free(t);
-
return success ? 0 : -ENOMEM;
}
@@ -257,7 +251,7 @@ static DBusHandlerResult user_message_dispatch(
DBusMessage *message) {
DBusError error;
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
int r;
assert(u);
@@ -304,18 +298,13 @@ static DBusHandlerResult user_message_dispatch(
}
if (reply) {
- if (!dbus_connection_send(connection, reply, NULL))
+ if (!bus_maybe_send_reply(connection, message, reply))
goto oom;
-
- dbus_message_unref(reply);
}
return DBUS_HANDLER_RESULT_HANDLED;
oom:
- if (reply)
- dbus_message_unref(reply);
-
dbus_error_free(&error);
return DBUS_HANDLER_RESULT_NEED_MEMORY;
@@ -366,9 +355,8 @@ char *user_bus_path(User *u) {
}
int user_send_signal(User *u, bool new_user) {
- DBusMessage *m;
- int r = -ENOMEM;
- char *p = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *m = NULL;
+ _cleanup_free_ char *p = NULL;
uint32_t uid;
assert(u);
@@ -382,7 +370,7 @@ int user_send_signal(User *u, bool new_user) {
p = user_bus_path(u);
if (!p)
- goto finish;
+ return -ENOMEM;
uid = u->uid;
@@ -391,24 +379,17 @@ int user_send_signal(User *u, bool new_user) {
DBUS_TYPE_UINT32, &uid,
DBUS_TYPE_OBJECT_PATH, &p,
DBUS_TYPE_INVALID))
- goto finish;
+ return -ENOMEM;
if (!dbus_connection_send(u->manager->bus, m, NULL))
- goto finish;
-
- r = 0;
-
-finish:
- dbus_message_unref(m);
- free(p);
+ return -ENOMEM;
- return r;
+ return 0;
}
int user_send_changed(User *u, const char *properties) {
- DBusMessage *m;
- int r = -ENOMEM;
- char *p = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *m = NULL;
+ _cleanup_free_ char *p = NULL;
assert(u);
@@ -421,17 +402,10 @@ int user_send_changed(User *u, const char *properties) {
m = bus_properties_changed_new(p, "org.freedesktop.login1.User", properties);
if (!m)
- goto finish;
+ return -ENOMEM;
if (!dbus_connection_send(u->manager->bus, m, NULL))
- goto finish;
-
- r = 0;
-
-finish:
- if (m)
- dbus_message_unref(m);
- free(p);
+ return -ENOMEM;
- return r;
+ return 0;
}
diff --git a/src/login/logind-user.c b/src/login/logind-user.c
index b692b533e2..9e2cbf646b 100644
--- a/src/login/logind-user.c
+++ b/src/login/logind-user.c
@@ -29,6 +29,7 @@
#include "cgroup-util.h"
#include "hashmap.h"
#include "strv.h"
+#include "fileio.h"
User* user_new(Manager *m, uid_t uid, gid_t gid, const char *name) {
User *u;
@@ -314,12 +315,22 @@ static int user_create_cgroup(User *u) {
assert(u);
if (!u->cgroup_path) {
- if (asprintf(&p, "%s/%s", u->manager->cgroup_path, u->name) < 0)
+ _cleanup_free_ char *name = NULL, *escaped = NULL;
+
+ if (asprintf(&name, "%lu.user", (unsigned long) u->uid) < 0)
+ return log_oom();
+
+ escaped = cg_escape(name);
+ if (!escaped)
+ return log_oom();
+
+ p = strjoin(u->manager->cgroup_path, "/", escaped, NULL);
+ if (!p)
return log_oom();
} else
p = u->cgroup_path;
- r = cg_create(SYSTEMD_CGROUP_CONTROLLER, p);
+ r = cg_create(SYSTEMD_CGROUP_CONTROLLER, p, NULL);
if (r < 0) {
log_error("Failed to create cgroup "SYSTEMD_CGROUP_CONTROLLER":%s: %s", p, strerror(-r));
free(p);
@@ -334,7 +345,7 @@ static int user_create_cgroup(User *u) {
if (strv_contains(u->manager->reset_controllers, *k))
continue;
- r = cg_create(*k, p);
+ r = cg_create(*k, p, NULL);
if (r < 0)
log_warning("Failed to create cgroup %s:%s: %s", *k, p, strerror(-r));
}
diff --git a/src/login/logind-user.h b/src/login/logind-user.h
index a679d43a30..080354da74 100644
--- a/src/login/logind-user.h
+++ b/src/login/logind-user.h
@@ -80,5 +80,5 @@ extern const DBusObjectPathVTable bus_user_vtable;
int user_send_signal(User *u, bool new_user);
int user_send_changed(User *u, const char *properties);
-const char* user_state_to_string(UserState s);
-UserState user_state_from_string(const char *s);
+const char* user_state_to_string(UserState s) _const_;
+UserState user_state_from_string(const char *s) _pure_;
diff --git a/src/login/logind.c b/src/login/logind.c
index 6776229ee7..5a394401dc 100644
--- a/src/login/logind.c
+++ b/src/login/logind.c
@@ -37,6 +37,7 @@
#include "dbus-loop.h"
#include "strv.h"
#include "conf-parser.h"
+#include "mkdir.h"
Manager *manager_new(void) {
Manager *m;
@@ -187,6 +188,8 @@ void manager_free(Manager *m) {
strv_free(m->kill_only_users);
strv_free(m->kill_exclude_users);
+ free(m->action_job);
+
free(m->cgroup_path);
free(m);
}
@@ -459,7 +462,7 @@ int manager_enumerate_devices(Manager *m) {
goto finish;
}
- r = udev_enumerate_add_match_tag(e, "seat-master");
+ r = udev_enumerate_add_match_tag(e, "master-of-seat");
if (r < 0)
goto finish;
@@ -594,9 +597,9 @@ int manager_enumerate_seats(Manager *m) {
}
static int manager_enumerate_users_from_cgroup(Manager *m) {
+ _cleanup_closedir_ DIR *d = NULL;
int r = 0, k;
char *name;
- DIR *d;
r = cg_enumerate_subgroups(SYSTEMD_CGROUP_CONTROLLER, m->cgroup_path, &d);
if (r < 0) {
@@ -609,31 +612,37 @@ static int manager_enumerate_users_from_cgroup(Manager *m) {
while ((k = cg_read_subgroup(d, &name)) > 0) {
User *user;
+ char *e;
- k = manager_add_user_by_name(m, name, &user);
- if (k < 0) {
- free(name);
- r = k;
- continue;
- }
-
- user_add_to_gc_queue(user);
+ e = endswith(name, ".user");
+ if (e) {
+ *e = 0;
- if (!user->cgroup_path)
- if (asprintf(&user->cgroup_path, "%s/%s", m->cgroup_path, name) < 0) {
- r = -ENOMEM;
+ k = manager_add_user_by_name(m, name, &user);
+ if (k < 0) {
free(name);
- break;
+ r = k;
+ continue;
}
+ user_add_to_gc_queue(user);
+
+ if (!user->cgroup_path) {
+ user->cgroup_path = strjoin(m->cgroup_path, "/", name, NULL);
+ if (!user->cgroup_path) {
+ k = log_oom();
+ free(name);
+ break;
+ }
+ }
+ }
+
free(name);
}
- if (r >= 0 && k < 0)
+ if (k < 0)
r = k;
- closedir(d);
-
return r;
}
@@ -729,7 +738,7 @@ static int manager_enumerate_sessions_from_cgroup(Manager *m) {
int r = 0;
HASHMAP_FOREACH(u, m->users, i) {
- DIR *d;
+ _cleanup_closedir_ DIR *d = NULL;
char *name;
int k;
@@ -748,30 +757,34 @@ static int manager_enumerate_sessions_from_cgroup(Manager *m) {
while ((k = cg_read_subgroup(d, &name)) > 0) {
Session *session;
+ char *e;
- if (streq(name, "shared"))
- continue;
+ e = endswith(name, ".session");
+ if (e) {
+ *e = 0;
- k = manager_add_session(m, u, name, &session);
- if (k < 0) {
- free(name);
- break;
- }
+ k = manager_add_session(m, u, name, &session);
+ if (k < 0) {
+ free(name);
+ r = k;
+ continue;
+ }
- session_add_to_gc_queue(session);
+ session_add_to_gc_queue(session);
- if (!session->cgroup_path)
- if (asprintf(&session->cgroup_path, "%s/%s", u->cgroup_path, name) < 0) {
- k = -ENOMEM;
- free(name);
- break;
+ if (!session->cgroup_path) {
+ session->cgroup_path = strjoin(m->cgroup_path, "/", name, NULL);
+ if (!session->cgroup_path) {
+ k = log_oom();
+ free(name);
+ break;
+ }
}
+ }
free(name);
}
- closedir(d);
-
if (k < 0)
r = k;
}
@@ -1038,16 +1051,13 @@ int manager_get_session_by_cgroup(Manager *m, const char *cgroup, Session **sess
return 1;
}
- p = strdup(cgroup);
- if (!p)
- return log_oom();
+ p = strdupa(cgroup);
for (;;) {
char *e;
e = strrchr(p, '/');
if (!e || e == p) {
- free(p);
*session = NULL;
return 0;
}
@@ -1056,7 +1066,6 @@ int manager_get_session_by_cgroup(Manager *m, const char *cgroup, Session **sess
s = hashmap_get(m->session_cgroups, p);
if (s) {
- free(p);
*session = s;
return 1;
}
@@ -1077,7 +1086,7 @@ int manager_get_user_by_cgroup(Manager *m, const char *cgroup, User **user) {
return 1;
}
- p = strdup(cgroup);
+ p = strdupa(cgroup);
if (!p)
return log_oom();
@@ -1086,7 +1095,6 @@ int manager_get_user_by_cgroup(Manager *m, const char *cgroup, User **user) {
e = strrchr(p, '/');
if (!e || e == p) {
- free(p);
*user = NULL;
return 0;
}
@@ -1095,7 +1103,6 @@ int manager_get_user_by_cgroup(Manager *m, const char *cgroup, User **user) {
u = hashmap_get(m->user_cgroups, p);
if (u) {
- free(p);
*user = u;
return 1;
}
@@ -1103,21 +1110,18 @@ int manager_get_user_by_cgroup(Manager *m, const char *cgroup, User **user) {
}
int manager_get_session_by_pid(Manager *m, pid_t pid, Session **session) {
- char *p;
+ _cleanup_free_ char *p = NULL;
int r;
assert(m);
assert(pid >= 1);
assert(session);
- r = cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, pid, &p);
+ r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, pid, &p);
if (r < 0)
return r;
- r = manager_get_session_by_cgroup(m, p, session);
- free(p);
-
- return r;
+ return manager_get_session_by_cgroup(m, p, session);
}
void manager_cgroup_notify_empty(Manager *m, const char *cgroup) {
@@ -1171,7 +1175,10 @@ static void manager_dispatch_other(Manager *m, int fd) {
static int manager_connect_bus(Manager *m) {
DBusError error;
int r;
- struct epoll_event ev;
+ struct epoll_event ev = {
+ .events = EPOLLIN,
+ .data.u32 = FD_BUS,
+ };
assert(m);
assert(!m->bus);
@@ -1227,10 +1234,6 @@ static int manager_connect_bus(Manager *m) {
goto fail;
}
- zero(ev);
- ev.events = EPOLLIN;
- ev.data.u32 = FD_BUS;
-
if (epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, m->bus_fd, &ev) < 0)
goto fail;
@@ -1243,7 +1246,10 @@ fail:
}
static int manager_connect_console(Manager *m) {
- struct epoll_event ev;
+ struct epoll_event ev = {
+ .events = 0,
+ .data.u32 = FD_CONSOLE,
+ };
assert(m);
assert(m->console_active_fd < 0);
@@ -1268,10 +1274,6 @@ static int manager_connect_console(Manager *m) {
return -errno;
}
- zero(ev);
- ev.events = 0;
- ev.data.u32 = FD_CONSOLE;
-
if (epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, m->console_active_fd, &ev) < 0)
return -errno;
@@ -1279,8 +1281,11 @@ static int manager_connect_console(Manager *m) {
}
static int manager_connect_udev(Manager *m) {
- struct epoll_event ev;
int r;
+ struct epoll_event ev = {
+ .events = EPOLLIN,
+ .data.u32 = FD_SEAT_UDEV,
+ };
assert(m);
assert(!m->udev_seat_monitor);
@@ -1291,7 +1296,7 @@ static int manager_connect_udev(Manager *m) {
if (!m->udev_seat_monitor)
return -ENOMEM;
- r = udev_monitor_filter_add_match_tag(m->udev_seat_monitor, "seat-master");
+ r = udev_monitor_filter_add_match_tag(m->udev_seat_monitor, "master-of-seat");
if (r < 0)
return r;
@@ -1301,9 +1306,6 @@ static int manager_connect_udev(Manager *m) {
m->udev_seat_fd = udev_monitor_get_fd(m->udev_seat_monitor);
- zero(ev);
- ev.events = EPOLLIN;
- ev.data.u32 = FD_SEAT_UDEV;
if (epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, m->udev_seat_fd, &ev) < 0)
return -errno;
@@ -1444,7 +1446,7 @@ int manager_get_idle_hint(Manager *m, dual_timestamp *t) {
int manager_dispatch_idle_action(Manager *m) {
struct dual_timestamp since;
- struct itimerspec its;
+ struct itimerspec its = {};
int r;
usec_t n;
@@ -1456,12 +1458,11 @@ int manager_dispatch_idle_action(Manager *m) {
goto finish;
}
- zero(its);
n = now(CLOCK_MONOTONIC);
r = manager_get_idle_hint(m, &since);
if (r <= 0)
- /* Not idle. Let's check if after a timeout it it might be idle then. */
+ /* Not idle. Let's check if after a timeout it might be idle then. */
timespec_store(&its.it_value, n + m->idle_action_usec);
else {
/* Idle! Let's see if it's time to do something, or if
@@ -1479,7 +1480,10 @@ int manager_dispatch_idle_action(Manager *m) {
}
if (m->idle_action_fd < 0) {
- struct epoll_event ev;
+ struct epoll_event ev = {
+ .events = EPOLLIN,
+ .data.u32 = FD_IDLE_ACTION,
+ };
m->idle_action_fd = timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK|TFD_CLOEXEC);
if (m->idle_action_fd < 0) {
@@ -1488,10 +1492,6 @@ int manager_dispatch_idle_action(Manager *m) {
goto finish;
}
- zero(ev);
- ev.events = EPOLLIN;
- ev.data.u32 = FD_IDLE_ACTION;
-
if (epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, m->idle_action_fd, &ev) < 0) {
log_error("Failed to add idle action timer to epoll: %m");
r = -errno;
@@ -1626,11 +1626,11 @@ int manager_run(Manager *m) {
manager_gc(m, true);
- if (m->delayed_unit) {
+ if (m->action_what != 0 && !m->action_job) {
usec_t x, y;
x = now(CLOCK_MONOTONIC);
- y = m->delayed_timestamp + m->inhibit_delay_max;
+ y = m->action_timestamp + m->inhibit_delay_max;
msec = x >= y ? 0 : (int) ((y - x) / USEC_PER_MSEC);
}
@@ -1683,13 +1683,12 @@ int manager_run(Manager *m) {
}
static int manager_parse_config_file(Manager *m) {
- FILE *f;
- const char *fn;
+ static const char fn[] = "/etc/systemd/logind.conf";
+ _cleanup_fclose_ FILE *f = NULL;
int r;
assert(m);
- fn = "/etc/systemd/logind.conf";
f = fopen(fn, "re");
if (!f) {
if (errno == ENOENT)
@@ -1699,12 +1698,11 @@ static int manager_parse_config_file(Manager *m) {
return -errno;
}
- r = config_parse(fn, f, "Login\0", config_item_perf_lookup, (void*) logind_gperf_lookup, false, m);
+ r = config_parse(NULL, fn, f, "Login\0", config_item_perf_lookup,
+ (void*) logind_gperf_lookup, false, false, m);
if (r < 0)
log_warning("Failed to parse configuration file: %s", strerror(-r));
- fclose(f);
-
return r;
}
@@ -1725,6 +1723,15 @@ int main(int argc, char *argv[]) {
goto finish;
}
+ /* Always create the directories people can create inotify
+ * watches in. Note that some applications might check for the
+ * existence of /run/systemd/seats/ to determine whether
+ * logind is available, so please always make sure this check
+ * stays in. */
+ mkdir_label("/run/systemd/seats", 0755);
+ mkdir_label("/run/systemd/users", 0755);
+ mkdir_label("/run/systemd/sessions", 0755);
+
m = manager_new();
if (!m) {
r = log_oom();
diff --git a/src/login/logind.h b/src/login/logind.h
index 816635dcfc..904dc20467 100644
--- a/src/login/logind.h
+++ b/src/login/logind.h
@@ -91,16 +91,23 @@ struct Manager {
Hashmap *inhibitor_fds;
Hashmap *button_fds;
- /* If a shutdown was delayed due to a inhibitor this contains
- the unit name we are supposed to start after the delay is
- over */
- const char *delayed_unit;
- InhibitWhat delayed_what;
- usec_t delayed_timestamp;
-
usec_t inhibit_delay_max;
- int idle_action_fd;
+ /* If an action is currently being executed or is delayed,
+ * this is != 0 and encodes what is being done */
+ InhibitWhat action_what;
+
+ /* If a shutdown/suspend was delayed due to a inhibitor this
+ contains the unit name we are supposed to start after the
+ delay is over */
+ const char *action_unit;
+
+ /* If a shutdown/suspend is currently executed, then this is
+ * the job of it */
+ char *action_job;
+ usec_t action_timestamp;
+
+ int idle_action_fd; /* the timer_fd */
usec_t idle_action_usec;
usec_t idle_action_not_before_usec;
HandleAction idle_action;
diff --git a/src/login/org.freedesktop.login1.policy.in b/src/login/org.freedesktop.login1.policy.in
index b5f5db4f6a..0c551d4f9b 100644
--- a/src/login/org.freedesktop.login1.policy.in
+++ b/src/login/org.freedesktop.login1.policy.in
@@ -158,7 +158,7 @@
<defaults>
<allow_any>auth_admin_keep</allow_any>
<allow_inactive>auth_admin_keep</allow_inactive>
- <allow_active>auth_admin_keep</allow_active>
+ <allow_active>yes</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.power-off</annotate>
</action>
diff --git a/src/login/pam-module.c b/src/login/pam-module.c
index 88b0ef9e45..13290fd8ea 100644
--- a/src/login/pam-module.c
+++ b/src/login/pam-module.c
@@ -32,8 +32,6 @@
#include <security/pam_ext.h>
#include <security/pam_misc.h>
-#include <systemd/sd-daemon.h>
-
#include "util.h"
#include "audit.h"
#include "macro.h"
@@ -41,6 +39,7 @@
#include "dbus-common.h"
#include "def.h"
#include "socket-util.h"
+#include "fileio.h"
static int parse_argv(pam_handle_t *handle,
int argc, const char **argv,
@@ -257,13 +256,15 @@ static bool check_user_lists(
}
static int get_seat_from_display(const char *display, const char **seat, uint32_t *vtnr) {
- char *p = NULL;
+ _cleanup_free_ char *p = NULL;
int r;
- int fd;
- union sockaddr_union sa;
+ _cleanup_close_ int fd = -1;
+ union sockaddr_union sa = {
+ .un.sun_family = AF_UNIX,
+ };
struct ucred ucred;
socklen_t l;
- char *tty;
+ _cleanup_free_ char *tty = NULL;
int v;
assert(display);
@@ -278,27 +279,17 @@ static int get_seat_from_display(const char *display, const char **seat, uint32_
r = socket_from_display(display, &p);
if (r < 0)
return r;
+ strncpy(sa.un.sun_path, p, sizeof(sa.un.sun_path)-1);
fd = socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0);
- if (fd < 0) {
- free(p);
+ if (fd < 0)
return -errno;
- }
- zero(sa);
- sa.un.sun_family = AF_UNIX;
- strncpy(sa.un.sun_path, p, sizeof(sa.un.sun_path)-1);
- free(p);
-
- if (connect(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path)) < 0) {
- close_nointr_nofail(fd);
+ if (connect(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path)) < 0)
return -errno;
- }
l = sizeof(ucred);
r = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &ucred, &l);
- close_nointr_nofail(fd);
-
if (r < 0)
return -errno;
@@ -307,8 +298,6 @@ static int get_seat_from_display(const char *display, const char **seat, uint32_
return r;
v = vtnr_from_tty(tty);
- free(tty);
-
if (v < 0)
return v;
else if (v == 0)
@@ -347,8 +336,8 @@ _public_ PAM_EXTERN int pam_sm_open_session(
/* pam_syslog(handle, LOG_INFO, "pam-systemd initializing"); */
- /* Make this a NOP on non-systemd systems */
- if (sd_booted() <= 0)
+ /* Make this a NOP on non-logind systems */
+ if (!logind_running())
return PAM_SUCCESS;
if (parse_argv(handle,
@@ -451,9 +440,10 @@ _public_ PAM_EXTERN int pam_sm_open_session(
seat = strempty(seat);
if (strchr(tty, ':')) {
- /* A tty with a colon is usually an X11 display, place
- * there to show up in utmp. We rearrange things and
- * don't pretend that an X display was a tty */
+ /* A tty with a colon is usually an X11 display,
+ * placed there to show up in utmp. We rearrange
+ * things and don't pretend that an X display was a
+ * tty. */
if (isempty(display))
display = tty;
@@ -493,7 +483,7 @@ _public_ PAM_EXTERN int pam_sm_open_session(
if (isempty(class))
class = class_pam;
if (isempty(class))
- class = "user";
+ class = streq(type, "unspecified") ? "background" : "user";
remote = !isempty(remote_host) &&
!streq(remote_host, "localhost") &&
diff --git a/src/login/sd-login.c b/src/login/sd-login.c
index 45e3bb8dcd..d0dc42f685 100644
--- a/src/login/sd-login.c
+++ b/src/login/sd-login.c
@@ -23,114 +23,64 @@
#include <string.h>
#include <errno.h>
#include <sys/inotify.h>
+#include <sys/poll.h>
#include "util.h"
#include "cgroup-util.h"
#include "macro.h"
#include "sd-login.h"
#include "strv.h"
+#include "fileio.h"
_public_ int sd_pid_get_session(pid_t pid, char **session) {
- int r;
- char *cgroup, *p;
-
if (pid < 0)
return -EINVAL;
if (!session)
return -EINVAL;
- r = cg_pid_get_cgroup(pid, NULL, &cgroup);
- if (r < 0)
- return r;
-
- if (!startswith(cgroup, "/user/")) {
- free(cgroup);
- return -ENOENT;
- }
-
- p = strchr(cgroup + 6, '/');
- if (!p) {
- free(cgroup);
- return -ENOENT;
- }
-
- p++;
- if (startswith(p, "shared/") || streq(p, "shared")) {
- free(cgroup);
- return -ENOENT;
- }
-
- p = strndup(p, strcspn(p, "/"));
- free(cgroup);
-
- if (!p)
- return -ENOMEM;
-
- *session = p;
- return 0;
+ return cg_pid_get_session(pid, session);
}
_public_ int sd_pid_get_unit(pid_t pid, char **unit) {
if (pid < 0)
return -EINVAL;
-
if (!unit)
return -EINVAL;
return cg_pid_get_unit(pid, unit);
}
-_public_ int sd_pid_get_owner_uid(pid_t pid, uid_t *uid) {
- int r;
- char *root, *cgroup, *p, *cc;
- struct stat st;
+_public_ int sd_pid_get_user_unit(pid_t pid, char **unit) {
if (pid < 0)
return -EINVAL;
-
- if (!uid)
+ if (!unit)
return -EINVAL;
- r = cg_pid_get_cgroup(pid, &root, &cgroup);
- if (r < 0)
- return r;
-
- if (!startswith(cgroup, "/user/")) {
- free(cgroup);
- free(root);
- return -ENOENT;
- }
-
- p = strchr(cgroup + 6, '/');
- if (!p) {
- free(cgroup);
- return -ENOENT;
- }
+ return cg_pid_get_user_unit(pid, unit);
+}
- p++;
- p += strcspn(p, "/");
- *p = 0;
+_public_ int sd_pid_get_machine_name(pid_t pid, char **name) {
- r = cg_get_path(SYSTEMD_CGROUP_CONTROLLER, root, cgroup, &cc);
- free(root);
- free(cgroup);
+ if (pid < 0)
+ return -EINVAL;
+ if (!name)
+ return -EINVAL;
- if (r < 0)
- return -ENOMEM;
+ return cg_pid_get_machine_name(pid, name);
+}
- r = lstat(cc, &st);
- free(cc);
+_public_ int sd_pid_get_owner_uid(pid_t pid, uid_t *uid) {
- if (r < 0)
- return -errno;
+ if (pid < 0)
+ return -EINVAL;
- if (!S_ISDIR(st.st_mode))
- return -ENOTDIR;
+ if (!uid)
+ return -EINVAL;
- *uid = st.st_uid;
- return 0;
+ return cg_pid_get_owner_uid(pid, uid);
}
_public_ int sd_uid_get_state(uid_t uid, char**state) {
@@ -165,7 +115,8 @@ _public_ int sd_uid_get_state(uid_t uid, char**state) {
}
_public_ int sd_uid_is_on_seat(uid_t uid, int require_active, const char *seat) {
- char *p, *w, *t, *state, *s = NULL;
+ char *w, *state;
+ _cleanup_free_ char *t = NULL, *s = NULL, *p = NULL;
size_t l;
int r;
const char *variable;
@@ -180,38 +131,26 @@ _public_ int sd_uid_is_on_seat(uid_t uid, int require_active, const char *seat)
return -ENOMEM;
r = parse_env_file(p, NEWLINE, variable, &s, NULL);
- free(p);
- if (r < 0) {
- free(s);
+ if (r < 0)
return r;
- }
if (!s)
return -EIO;
- if (asprintf(&t, "%lu", (unsigned long) uid) < 0) {
- free(s);
+ if (asprintf(&t, "%lu", (unsigned long) uid) < 0)
return -ENOMEM;
- }
FOREACH_WORD(w, l, s, state) {
- if (strncmp(t, w, l) == 0) {
- free(s);
- free(t);
-
+ if (strneq(t, w, l))
return 1;
- }
}
- free(s);
- free(t);
-
return 0;
}
static int uid_get_array(uid_t uid, const char *variable, char ***array) {
- char *p, *s = NULL;
+ _cleanup_free_ char *p = NULL, *s = NULL;
char **a;
int r;
@@ -221,11 +160,7 @@ static int uid_get_array(uid_t uid, const char *variable, char ***array) {
r = parse_env_file(p, NEWLINE,
variable, &s,
NULL);
- free(p);
-
if (r < 0) {
- free(s);
-
if (r == -ENOENT) {
if (array)
*array = NULL;
@@ -242,7 +177,6 @@ static int uid_get_array(uid_t uid, const char *variable, char ***array) {
}
a = strv_split(s, " ");
- free(s);
if (!a)
return -ENOMEM;
@@ -304,31 +238,27 @@ static int file_of_session(const char *session, char **_p) {
_public_ int sd_session_is_active(const char *session) {
int r;
- char *p, *s = NULL;
+ _cleanup_free_ char *p = NULL, *s = NULL;
r = file_of_session(session, &p);
if (r < 0)
return r;
r = parse_env_file(p, NEWLINE, "ACTIVE", &s, NULL);
- free(p);
- if (r < 0) {
- free(s);
+ if (r < 0)
return r;
- }
if (!s)
return -EIO;
r = parse_boolean(s);
- free(s);
return r;
}
_public_ int sd_session_get_state(const char *session, char **state) {
- char *p, *s = NULL;
+ _cleanup_free_ char *p = NULL, *s = NULL;
int r;
if (!state)
@@ -339,21 +269,21 @@ _public_ int sd_session_get_state(const char *session, char **state) {
return r;
r = parse_env_file(p, NEWLINE, "STATE", &s, NULL);
- free(p);
- if (r < 0) {
- free(s);
+ if (r < 0)
return r;
- } else if (!s)
+ else if (!s)
return -EIO;
*state = s;
+ s = NULL;
+
return 0;
}
_public_ int sd_session_get_uid(const char *session, uid_t *uid) {
int r;
- char *p, *s = NULL;
+ _cleanup_free_ char *p = NULL, *s = NULL;
if (!uid)
return -EINVAL;
@@ -363,24 +293,20 @@ _public_ int sd_session_get_uid(const char *session, uid_t *uid) {
return r;
r = parse_env_file(p, NEWLINE, "UID", &s, NULL);
- free(p);
- if (r < 0) {
- free(s);
+ if (r < 0)
return r;
- }
if (!s)
return -EIO;
r = parse_uid(s, uid);
- free(s);
return r;
}
static int session_get_string(const char *session, const char *field, char **value) {
- char *p, *s = NULL;
+ _cleanup_free_ char *p = NULL, *s = NULL;
int r;
if (!value)
@@ -391,17 +317,15 @@ static int session_get_string(const char *session, const char *field, char **val
return r;
r = parse_env_file(p, NEWLINE, field, &s, NULL);
- free(p);
- if (r < 0) {
- free(s);
+ if (r < 0)
return r;
- }
if (isempty(s))
return -ENOENT;
*value = s;
+ s = NULL;
return 0;
}
@@ -409,6 +333,10 @@ _public_ int sd_session_get_seat(const char *session, char **seat) {
return session_get_string(session, "SEAT", seat);
}
+_public_ int sd_session_get_tty(const char *session, char **tty) {
+ return session_get_string(session, "TTY", tty);
+}
+
_public_ int sd_session_get_service(const char *session, char **service) {
return session_get_string(session, "SERVICE", service);
}
@@ -434,25 +362,25 @@ static int file_of_seat(const char *seat, char **_p) {
if (seat)
p = strappend("/run/systemd/seats/", seat);
else {
- char *buf;
+ _cleanup_free_ char *buf = NULL;
r = sd_session_get_seat(NULL, &buf);
if (r < 0)
return r;
p = strappend("/run/systemd/seats/", buf);
- free(buf);
}
if (!p)
return -ENOMEM;
*_p = p;
+ p = NULL;
return 0;
}
_public_ int sd_seat_get_active(const char *seat, char **session, uid_t *uid) {
- char *p, *s = NULL, *t = NULL;
+ _cleanup_free_ char *p = NULL, *s = NULL, *t = NULL;
int r;
if (!session && !uid)
@@ -466,46 +394,33 @@ _public_ int sd_seat_get_active(const char *seat, char **session, uid_t *uid) {
"ACTIVE", &s,
"ACTIVE_UID", &t,
NULL);
- free(p);
-
- if (r < 0) {
- free(s);
- free(t);
+ if (r < 0)
return r;
- }
- if (session && !s) {
- free(t);
+ if (session && !s)
return -ENOENT;
- }
- if (uid && !t) {
- free(s);
+ if (uid && !t)
return -ENOENT;
- }
if (uid && t) {
r = parse_uid(t, uid);
- if (r < 0) {
- free(t);
- free(s);
+ if (r < 0)
return r;
- }
}
- free(t);
-
- if (session && s)
+ if (session && s) {
*session = s;
- else
- free(s);
+ s = NULL;
+ }
return 0;
}
_public_ int sd_seat_get_sessions(const char *seat, char ***sessions, uid_t **uids, unsigned *n_uids) {
- char *p, *s = NULL, *t = NULL, **a = NULL;
- uid_t *b = NULL;
+ _cleanup_free_ char *p = NULL, *s = NULL, *t = NULL;
+ _cleanup_strv_free_ char **a = NULL;
+ _cleanup_free_ uid_t *b = NULL;
unsigned n = 0;
int r;
@@ -517,25 +432,16 @@ _public_ int sd_seat_get_sessions(const char *seat, char ***sessions, uid_t **ui
"SESSIONS", &s,
"ACTIVE_SESSIONS", &t,
NULL);
- free(p);
- if (r < 0) {
- free(s);
- free(t);
+ if (r < 0)
return r;
- }
if (s) {
a = strv_split(s, " ");
- if (!a) {
- free(s);
- free(t);
+ if (!a)
return -ENOMEM;
- }
}
- free(s);
-
if (uids && t) {
char *w, *state;
size_t l;
@@ -543,30 +449,22 @@ _public_ int sd_seat_get_sessions(const char *seat, char ***sessions, uid_t **ui
FOREACH_WORD(w, l, t, state)
n++;
- if (n == 0)
- b = NULL;
- else {
+ if (n > 0) {
unsigned i = 0;
b = new(uid_t, n);
- if (!b) {
- strv_free(a);
+ if (!b)
return -ENOMEM;
- }
FOREACH_WORD(w, l, t, state) {
- char *k;
+ _cleanup_free_ char *k = NULL;
k = strndup(w, l);
- if (!k) {
- free(t);
- free(b);
- strv_free(a);
+ if (!k)
return -ENOMEM;
- }
r = parse_uid(k, b + i);
- free(k);
+
if (r < 0)
continue;
@@ -575,17 +473,17 @@ _public_ int sd_seat_get_sessions(const char *seat, char ***sessions, uid_t **ui
}
}
- free(t);
-
r = strv_length(a);
- if (sessions)
+ if (sessions) {
*sessions = a;
- else
- strv_free(a);
+ a = NULL;
+ }
- if (uids)
+ if (uids) {
*uids = b;
+ b = NULL;
+ }
if (n_uids)
*n_uids = n;
@@ -594,7 +492,7 @@ _public_ int sd_seat_get_sessions(const char *seat, char ***sessions, uid_t **ui
}
static int seat_get_can(const char *seat, const char *variable) {
- char *p, *s = NULL;
+ _cleanup_free_ char *p = NULL, *s = NULL;
int r;
r = file_of_seat(seat, &p);
@@ -604,17 +502,12 @@ static int seat_get_can(const char *seat, const char *variable) {
r = parse_env_file(p, NEWLINE,
variable, &s,
NULL);
- free(p);
-
- if (r < 0) {
- free(s);
+ if (r < 0)
return r;
- }
- if (s) {
+ if (s)
r = parse_boolean(s);
- free(s);
- } else
+ else
r = 0;
return r;
@@ -641,10 +534,10 @@ _public_ int sd_get_sessions(char ***sessions) {
}
_public_ int sd_get_uids(uid_t **users) {
- DIR *d;
+ _cleanup_closedir_ DIR *d;
int r = 0;
unsigned n = 0;
- uid_t *l = NULL;
+ _cleanup_free_ uid_t *l = NULL;
d = opendir("/run/systemd/users/");
if (!d)
@@ -657,10 +550,8 @@ _public_ int sd_get_uids(uid_t **users) {
uid_t uid;
k = readdir_r(d, &buf.de, &de);
- if (k != 0) {
- r = -k;
- goto finish;
- }
+ if (k != 0)
+ return -k;
if (!de)
break;
@@ -680,10 +571,8 @@ _public_ int sd_get_uids(uid_t **users) {
n = MAX(16, 2*r);
t = realloc(l, sizeof(uid_t) * n);
- if (!t) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!t)
+ return -ENOMEM;
l = t;
}
@@ -694,19 +583,51 @@ _public_ int sd_get_uids(uid_t **users) {
r++;
}
-finish:
- if (d)
- closedir(d);
-
- if (r >= 0) {
- if (users)
- *users = l;
- } else
- free(l);
+ if (users) {
+ *users = l;
+ l = NULL;
+ }
return r;
}
+_public_ int sd_get_machine_names(char ***machines) {
+ _cleanup_closedir_ DIR *d = NULL;
+ _cleanup_strv_free_ char **l = NULL;
+ _cleanup_free_ char *md = NULL;
+ char *n;
+ int c = 0, r;
+
+ r = cg_get_machine_path(NULL, &md);
+ if (r < 0)
+ return r;
+
+ r = cg_enumerate_subgroups(SYSTEMD_CGROUP_CONTROLLER, md, &d);
+ if (r < 0)
+ return r;
+
+ while ((r = cg_read_subgroup(d, &n)) > 0) {
+
+ r = strv_push(&l, n);
+ if (r < 0) {
+ free(n);
+ return -ENOMEM;
+ }
+
+ c++;
+ }
+
+ if (r < 0)
+ return r;
+
+ if (machines) {
+ *machines = l;
+ l = NULL;
+ }
+
+ return c;
+}
+
static inline int MONITOR_TO_FD(sd_login_monitor *m) {
return (int) (unsigned long) m - 1;
}
@@ -724,7 +645,7 @@ _public_ int sd_login_monitor_new(const char *category, sd_login_monitor **m) {
fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC);
if (fd < 0)
- return errno;
+ return -errno;
if (!category || streq(category, "seat")) {
k = inotify_add_watch(fd, "/run/systemd/seats/", IN_MOVED_TO|IN_DELETE);
@@ -756,6 +677,27 @@ _public_ int sd_login_monitor_new(const char *category, sd_login_monitor **m) {
good = true;
}
+ if (!category || streq(category, "machine")) {
+ _cleanup_free_ char *md = NULL, *p = NULL;
+ int r;
+
+ r = cg_get_machine_path(NULL, &md);
+ if (r < 0)
+ return r;
+
+ r = cg_get_path(SYSTEMD_CGROUP_CONTROLLER, md, NULL, &p);
+ if (r < 0)
+ return r;
+
+ k = inotify_add_watch(fd, p, IN_MOVED_TO|IN_CREATE|IN_DELETE);
+ if (k < 0) {
+ close_nointr_nofail(fd);
+ return -errno;
+ }
+
+ good = true;
+ }
+
if (!good) {
close_nointr(fd);
return -EINVAL;
@@ -792,3 +734,29 @@ _public_ int sd_login_monitor_get_fd(sd_login_monitor *m) {
return MONITOR_TO_FD(m);
}
+
+_public_ int sd_login_monitor_get_events(sd_login_monitor *m) {
+
+ if (!m)
+ return -EINVAL;
+
+ /* For now we will only return POLLIN here, since we don't
+ * need anything else ever for inotify. However, let's have
+ * this API to keep our options open should we later on need
+ * it. */
+ return POLLIN;
+}
+
+_public_ int sd_login_monitor_get_timeout(sd_login_monitor *m, uint64_t *timeout_usec) {
+
+ if (!m)
+ return -EINVAL;
+ if (!timeout_usec)
+ return -EINVAL;
+
+ /* For now we will only return (uint64_t) -1, since we don't
+ * need any timeout. However, let's have this API to keep our
+ * options open should we later on need it. */
+ *timeout_usec = (uint64_t) -1;
+ return 0;
+}
diff --git a/src/login/sysfs-show.c b/src/login/sysfs-show.c
index d113ec3e43..3c03bd1f2e 100644
--- a/src/login/sysfs-show.c
+++ b/src/login/sysfs-show.c
@@ -45,6 +45,7 @@ static int show_sysfs_one(
struct udev_device *d;
const char *sn, *name, *sysfs, *subsystem, *sysname;
char *l, *k;
+ bool is_master;
sysfs = udev_list_entry_get_name(*item);
if (!path_startswith(sysfs, sub))
@@ -60,13 +61,15 @@ static int show_sysfs_one(
if (isempty(sn))
sn = "seat0";
- /* fixme, also check for tag 'seat' here */
+ /* Explicitly also check for tag 'seat' here */
if (!streq(seat, sn) || !udev_device_has_tag(d, "seat")) {
udev_device_unref(d);
*item = udev_list_entry_get_next(*item);
continue;
}
+ is_master = udev_device_has_tag(d, "master-of-seat");
+
name = udev_device_get_sysattr_value(d, "name");
if (!name)
name = udev_device_get_sysattr_value(d, "id");
@@ -110,7 +113,8 @@ static int show_sysfs_one(
free(k);
if (asprintf(&l,
- "(%s:%s)%s%s%s",
+ "%s%s:%s%s%s%s",
+ is_master ? "[MASTER] " : "",
subsystem, sysname,
name ? " \"" : "", name ? name : "", name ? "\"" : "") < 0) {
udev_device_unref(d);
diff --git a/src/login/test-login.c b/src/login/test-login.c
index 159ff3efc5..945cb38be9 100644
--- a/src/login/test-login.c
+++ b/src/login/test-login.c
@@ -35,7 +35,7 @@ int main(int argc, char* argv[]) {
char *state;
char *session2;
char *t;
- char **seats, **sessions;
+ char **seats, **sessions, **machines;
uid_t *uids;
unsigned n;
struct pollfd pollfd;
@@ -180,15 +180,34 @@ int main(int argc, char* argv[]) {
printf("n_uids = %i\n", r);
assert_se(sd_get_uids(NULL) == r);
- r = sd_login_monitor_new("session", &m);
+ r = sd_get_machine_names(&machines);
assert_se(r >= 0);
+ assert_se(r == (int) strv_length(machines));
+ assert_se(t = strv_join(machines, ", "));
+ strv_free(machines);
+ printf("n_machines = %i\n", r);
+ printf("machines = %s\n", t);
+ free(t);
- zero(pollfd);
- pollfd.fd = sd_login_monitor_get_fd(m);
- pollfd.events = POLLIN;
+ r = sd_login_monitor_new("session", &m);
+ assert_se(r >= 0);
for (n = 0; n < 5; n++) {
- r = poll(&pollfd, 1, -1);
+ usec_t timeout, nw;
+
+ zero(pollfd);
+ assert_se((pollfd.fd = sd_login_monitor_get_fd(m)) >= 0);
+ assert_se((pollfd.events = sd_login_monitor_get_events(m)) >= 0);
+
+ assert_se(sd_login_monitor_get_timeout(m, &timeout) >= 0);
+
+ nw = now(CLOCK_MONOTONIC);
+
+ r = poll(&pollfd, 1,
+ timeout == (uint64_t) -1 ? -1 :
+ timeout > nw ? (int) ((timeout - nw) / 1000) :
+ 0);
+
assert_se(r >= 0);
sd_login_monitor_flush(m);
diff --git a/src/login/uaccess.c b/src/login/uaccess.c
deleted file mode 100644
index 2c530c8f39..0000000000
--- a/src/login/uaccess.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-
-/***
- This file is part of systemd.
-
- Copyright 2011 Lennart Poettering
-
- systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- systemd is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
-***/
-
-#include <errno.h>
-#include <string.h>
-
-#include <systemd/sd-daemon.h>
-#include <systemd/sd-login.h>
-
-#include "logind-acl.h"
-#include "util.h"
-#include "log.h"
-
-int main(int argc, char *argv[]) {
- int r;
- const char *path = NULL, *seat;
- bool changed_acl = false;
- uid_t uid;
-
- log_set_target(LOG_TARGET_AUTO);
- log_parse_environment();
- log_open();
-
- umask(0022);
-
- if (argc < 2 || argc > 3) {
- log_error("This program expects one or two arguments.");
- r = -EINVAL;
- goto finish;
- }
-
- /* Make sure we don't muck around with ACLs the system is not
- * running systemd. */
- if (!sd_booted())
- return 0;
-
- path = argv[1];
- seat = argc < 3 || isempty(argv[2]) ? "seat0" : argv[2];
-
- r = sd_seat_get_active(seat, NULL, &uid);
- if (r == -ENOENT) {
- /* No active session on this seat */
- r = 0;
- goto finish;
- } else if (r < 0) {
- log_error("Failed to determine active user on seat %s.", seat);
- goto finish;
- }
-
- r = devnode_acl(path, true, false, 0, true, uid);
- if (r < 0) {
- log_error("Failed to apply ACL on %s: %s", path, strerror(-r));
- goto finish;
- }
-
- changed_acl = true;
- r = 0;
-
-finish:
- if (path && !changed_acl) {
- int k;
- /* Better be safe that sorry and reset ACL */
-
- k = devnode_acl(path, true, false, 0, false, 0);
- if (k < 0) {
- log_error("Failed to apply ACL on %s: %s", path, strerror(-k));
- if (r >= 0)
- r = k;
- }
- }
-
- return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
-}
diff --git a/src/login/user-sessions.c b/src/login/user-sessions.c
index 91531e8f38..41d32044e9 100644
--- a/src/login/user-sessions.c
+++ b/src/login/user-sessions.c
@@ -26,6 +26,7 @@
#include "log.h"
#include "util.h"
#include "cgroup-util.h"
+#include "fileio.h"
int main(int argc, char*argv[]) {
int ret = EXIT_FAILURE;
@@ -69,7 +70,7 @@ int main(int argc, char*argv[]) {
int r, q;
char *cgroup_user_tree = NULL;
- r = write_one_line_file_atomic("/run/nologin", "System is going down.");
+ r = write_string_file_atomic("/run/nologin", "System is going down.");
if (r < 0)
log_error("Failed to create /run/nologin: %s", strerror(-r));
diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c
index f6279e1975..7b19ee02ef 100644
--- a/src/modules-load/modules-load.c
+++ b/src/modules-load/modules-load.c
@@ -26,6 +26,7 @@
#include <sys/stat.h>
#include <limits.h>
#include <dirent.h>
+#include <getopt.h>
#include <libkmod.h>
#include "log.h"
@@ -33,9 +34,20 @@
#include "strv.h"
#include "conf-files.h"
#include "virt.h"
+#include "fileio.h"
static char **arg_proc_cmdline_modules = NULL;
+static const char conf_file_dirs[] =
+ "/etc/modules-load.d\0"
+ "/run/modules-load.d\0"
+ "/usr/local/lib/modules-load.d\0"
+ "/usr/lib/modules-load.d\0"
+#ifdef HAVE_SPLIT_USR
+ "/lib/modules-load.d\0"
+#endif
+ ;
+
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
static void systemd_kmod_log(void *data, int priority, const char *file, int line,
@@ -46,14 +58,14 @@ static void systemd_kmod_log(void *data, int priority, const char *file, int lin
#pragma GCC diagnostic pop
static int add_modules(const char *p) {
- char **t, **k;
+ char **t;
+ _cleanup_strv_free_ char **k = NULL;
k = strv_split(p, ",");
if (!k)
return log_oom();
t = strv_merge(arg_proc_cmdline_modules, k);
- strv_free(k);
if (!t)
return log_oom();
@@ -64,7 +76,7 @@ static int add_modules(const char *p) {
}
static int parse_proc_cmdline(void) {
- char _cleanup_free_ *line = NULL;
+ _cleanup_free_ char *line = NULL;
char *w, *state;
int r;
size_t l;
@@ -79,7 +91,7 @@ static int parse_proc_cmdline(void) {
}
FOREACH_WORD_QUOTED(w, l, line, state) {
- char _cleanup_free_ *word;
+ _cleanup_free_ char *word;
word = strndup(w, l);
if (!word)
@@ -136,7 +148,7 @@ static int load_module(struct kmod_ctx *ctx, const char *m) {
break;
case KMOD_MODULE_LIVE:
- log_info("Module '%s' is already loaded", kmod_module_get_name(mod));
+ log_debug("Module '%s' is already loaded", kmod_module_get_name(mod));
break;
default:
@@ -162,15 +174,98 @@ static int load_module(struct kmod_ctx *ctx, const char *m) {
return r;
}
+static int apply_file(struct kmod_ctx *ctx, const char *path, bool ignore_enoent) {
+ _cleanup_fclose_ FILE *f = NULL;
+ int r;
+
+ assert(ctx);
+ assert(path);
+
+ r = search_and_fopen_nulstr(path, "re", conf_file_dirs, &f);
+ if (r < 0) {
+ if (ignore_enoent && r == -ENOENT)
+ return 0;
+
+ log_error("Failed to open %s, ignoring: %s", path, strerror(-r));
+ return r;
+ }
+
+ log_debug("apply: %s\n", path);
+ for (;;) {
+ char line[LINE_MAX], *l;
+ int k;
+
+ if (!fgets(line, sizeof(line), f)) {
+ if (feof(f))
+ break;
+
+ log_error("Failed to read file '%s', ignoring: %m", path);
+ return -errno;
+ }
+
+ l = strstrip(line);
+ if (!*l)
+ continue;
+ if (strchr(COMMENTS "\n", *l))
+ continue;
+
+ k = load_module(ctx, l);
+ if (k < 0 && r == 0)
+ r = k;
+ }
+
+ return r;
+}
+
+static int help(void) {
+
+ printf("%s [OPTIONS...] [CONFIGURATION FILE...]\n\n"
+ "Loads statically configured kernel modules.\n\n"
+ " -h --help Show this help\n",
+ program_invocation_short_name);
+
+ return 0;
+}
+
+static int parse_argv(int argc, char *argv[]) {
+
+ static const struct option options[] = {
+ { "help", no_argument, NULL, 'h' },
+ { NULL, 0, NULL, 0 }
+ };
+
+ int c;
+
+ assert(argc >= 0);
+ assert(argv);
+
+ while ((c = getopt_long(argc, argv, "h", options, NULL)) >= 0) {
+
+ switch (c) {
+
+ case 'h':
+ help();
+ return 0;
+
+ case '?':
+ return -EINVAL;
+
+ default:
+ log_error("Unknown option code %c", c);
+ return -EINVAL;
+ }
+ }
+
+ return 1;
+}
+
int main(int argc, char *argv[]) {
- int r = EXIT_FAILURE, k;
- char **files = NULL, **fn, **i;
+ int r, k;
struct kmod_ctx *ctx;
- if (argc > 1) {
- log_error("This program takes no argument.");
- return EXIT_FAILURE;
- }
+ r = parse_argv(argc, argv);
+ if (r <= 0)
+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
@@ -190,70 +285,43 @@ int main(int argc, char *argv[]) {
kmod_load_resources(ctx);
kmod_set_log_fn(ctx, systemd_kmod_log, NULL);
- r = EXIT_SUCCESS;
+ r = 0;
- STRV_FOREACH(i, arg_proc_cmdline_modules) {
- k = load_module(ctx, *i);
- if (k < 0)
- r = EXIT_FAILURE;
- }
-
- k = conf_files_list(&files, ".conf",
- "/etc/modules-load.d",
- "/run/modules-load.d",
- "/usr/local/lib/modules-load.d",
- "/usr/lib/modules-load.d",
-#ifdef HAVE_SPLIT_USR
- "/lib/modules-load.d",
-#endif
- NULL);
- if (k < 0) {
- log_error("Failed to enumerate modules-load.d files: %s", strerror(-k));
- r = EXIT_FAILURE;
- goto finish;
- }
-
- STRV_FOREACH(fn, files) {
- FILE *f;
+ if (argc > optind) {
+ int i;
- f = fopen(*fn, "re");
- if (!f) {
- if (errno == ENOENT)
- continue;
-
- log_error("Failed to open %s: %m", *fn);
- r = EXIT_FAILURE;
- continue;
+ for (i = optind; i < argc; i++) {
+ k = apply_file(ctx, argv[i], false);
+ if (k < 0 && r == 0)
+ r = k;
}
- log_debug("apply: %s\n", *fn);
- for (;;) {
- char line[LINE_MAX], *l;
-
- if (!fgets(line, sizeof(line), f))
- break;
+ } else {
+ _cleanup_free_ char **files = NULL;
+ char **fn, **i;
- l = strstrip(line);
- if (*l == '#' || *l == 0)
- continue;
-
- k = load_module(ctx, l);
+ STRV_FOREACH(i, arg_proc_cmdline_modules) {
+ k = load_module(ctx, *i);
if (k < 0)
r = EXIT_FAILURE;
}
- if (ferror(f)) {
- log_error("Failed to read from file: %m");
- r = EXIT_FAILURE;
+ r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs);
+ if (r < 0) {
+ log_error("Failed to enumerate modules-load.d files: %s", strerror(-r));
+ goto finish;
}
- fclose(f);
+ STRV_FOREACH(fn, files) {
+ k = apply_file(ctx, *fn, true);
+ if (k < 0 && r == 0)
+ r = k;
+ }
}
finish:
- strv_free(files);
kmod_unref(ctx);
strv_free(arg_proc_cmdline_modules);
- return r;
+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}
diff --git a/src/notify/notify.c b/src/notify/notify.c
index f521f56659..1e9766f862 100644
--- a/src/notify/notify.c
+++ b/src/notify/notify.c
@@ -34,6 +34,7 @@
#include "log.h"
#include "sd-readahead.h"
#include "build.h"
+#include "env-util.h"
static bool arg_ready = false;
static pid_t arg_pid = 0;
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index 1f3bda5b4a..09153c87ce 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -33,6 +33,7 @@
#include <sys/prctl.h>
#include <sys/capability.h>
#include <getopt.h>
+#include <sys/poll.h>
#include <sys/epoll.h>
#include <termios.h>
#include <sys/signalfd.h>
@@ -41,6 +42,10 @@
#include <sys/un.h>
#include <sys/socket.h>
+#ifdef HAVE_XATTR
+#include <attr/xattr.h>
+#endif
+
#include <systemd/sd-daemon.h>
#include "log.h"
@@ -56,6 +61,12 @@
#include "sd-id128.h"
#include "dev-setup.h"
#include "fdset.h"
+#include "build.h"
+#include "fileio.h"
+
+#ifndef TTY_GID
+#define TTY_GID 5
+#endif
typedef enum LinkJournal {
LINK_NO,
@@ -68,6 +79,7 @@ static char *arg_directory = NULL;
static char *arg_user = NULL;
static char **arg_controllers = NULL;
static char *arg_uuid = NULL;
+static char *arg_machine = NULL;
static bool arg_private_network = false;
static bool arg_read_only = false;
static bool arg_boot = false;
@@ -95,23 +107,34 @@ static uint64_t arg_retain =
(1ULL << CAP_SYS_PTRACE) |
(1ULL << CAP_SYS_TTY_CONFIG) |
(1ULL << CAP_SYS_RESOURCE) |
- (1ULL << CAP_SYS_BOOT);
+ (1ULL << CAP_SYS_BOOT) |
+ (1ULL << CAP_AUDIT_WRITE) |
+ (1ULL << CAP_AUDIT_CONTROL);
+static char **arg_bind = NULL;
+static char **arg_bind_ro = NULL;
static int help(void) {
printf("%s [OPTIONS...] [PATH] [ARGUMENTS...]\n\n"
"Spawn a minimal namespace container for debugging, testing and building.\n\n"
- " -h --help Show this help\n"
- " -D --directory=NAME Root directory for the container\n"
- " -b --boot Boot up full system (i.e. invoke init)\n"
- " -u --user=USER Run the command under specified user or uid\n"
- " -C --controllers=LIST Put the container in specified comma-separated cgroup hierarchies\n"
- " --uuid=UUID Set a specific machine UUID for the container\n"
- " --private-network Disable network in container\n"
- " --read-only Mount the root directory read-only\n"
- " --capability=CAP In addition to the default, retain specified capability\n"
- " --link-journal=MODE Link up guest journal, one of no, auto, guest, host\n"
- " -j Equivalent to --link-journal=host\n",
+ " -h --help Show this help\n"
+ " --version Print version string\n"
+ " -D --directory=NAME Root directory for the container\n"
+ " -b --boot Boot up full system (i.e. invoke init)\n"
+ " -u --user=USER Run the command under specified user or uid\n"
+ " -C --controllers=LIST Put the container in specified comma-separated\n"
+ " cgroup hierarchies\n"
+ " --uuid=UUID Set a specific machine UUID for the container\n"
+ " -M --machine=NAME Set the machine name for the container\n"
+ " --private-network Disable network in container\n"
+ " --read-only Mount the root directory read-only\n"
+ " --capability=CAP In addition to the default, retain specified\n"
+ " capability\n"
+ " --link-journal=MODE Link up guest journal, one of no, auto, guest, host\n"
+ " -j Equivalent to --link-journal=host\n"
+ " --bind=PATH[:PATH] Bind mount a file or directory from the host into\n"
+ " the container\n"
+ " --bind-ro=PATH[:PATH] Similar, but creates a read-only bind mount\n",
program_invocation_short_name);
return 0;
@@ -120,15 +143,19 @@ static int help(void) {
static int parse_argv(int argc, char *argv[]) {
enum {
- ARG_PRIVATE_NETWORK = 0x100,
+ ARG_VERSION = 0x100,
+ ARG_PRIVATE_NETWORK,
ARG_UUID,
ARG_READ_ONLY,
ARG_CAPABILITY,
- ARG_LINK_JOURNAL
+ ARG_LINK_JOURNAL,
+ ARG_BIND,
+ ARG_BIND_RO
};
static const struct option options[] = {
{ "help", no_argument, NULL, 'h' },
+ { "version", no_argument, NULL, ARG_VERSION },
{ "directory", required_argument, NULL, 'D' },
{ "user", required_argument, NULL, 'u' },
{ "controllers", required_argument, NULL, 'C' },
@@ -138,6 +165,9 @@ static int parse_argv(int argc, char *argv[]) {
{ "read-only", no_argument, NULL, ARG_READ_ONLY },
{ "capability", required_argument, NULL, ARG_CAPABILITY },
{ "link-journal", required_argument, NULL, ARG_LINK_JOURNAL },
+ { "bind", required_argument, NULL, ARG_BIND },
+ { "bind-ro", required_argument, NULL, ARG_BIND_RO },
+ { "machine", required_argument, NULL, 'M' },
{ NULL, 0, NULL, 0 }
};
@@ -146,7 +176,7 @@ static int parse_argv(int argc, char *argv[]) {
assert(argc >= 0);
assert(argv);
- while ((c = getopt_long(argc, argv, "+hD:u:C:bj", options, NULL)) >= 0) {
+ while ((c = getopt_long(argc, argv, "+hD:u:C:bM:j", options, NULL)) >= 0) {
switch (c) {
@@ -154,6 +184,11 @@ static int parse_argv(int argc, char *argv[]) {
help();
return 0;
+ case ARG_VERSION:
+ puts(PACKAGE_STRING);
+ puts(SYSTEMD_FEATURES);
+ return 0;
+
case 'D':
free(arg_directory);
arg_directory = canonicalize_file_name(optarg);
@@ -166,22 +201,19 @@ static int parse_argv(int argc, char *argv[]) {
case 'u':
free(arg_user);
- if (!(arg_user = strdup(optarg))) {
- log_error("Failed to duplicate user name.");
- return -ENOMEM;
- }
+ arg_user = strdup(optarg);
+ if (!arg_user)
+ return log_oom();
break;
case 'C':
strv_free(arg_controllers);
arg_controllers = strv_split(optarg, ",");
- if (!arg_controllers) {
- log_error("Failed to split controllers list.");
- return -ENOMEM;
- }
- strv_uniq(arg_controllers);
+ if (!arg_controllers)
+ return log_oom();
+ cg_shorten_controllers(arg_controllers);
break;
case ARG_PRIVATE_NETWORK:
@@ -193,9 +225,27 @@ static int parse_argv(int argc, char *argv[]) {
break;
case ARG_UUID:
+ if (!id128_is_valid(optarg)) {
+ log_error("Invalid UUID: %s", optarg);
+ return -EINVAL;
+ }
+
arg_uuid = optarg;
break;
+ case 'M':
+ if (!hostname_is_valid(optarg)) {
+ log_error("Invalid machine name: %s", optarg);
+ return -EINVAL;
+ }
+
+ free(arg_machine);
+ arg_machine = strdup(optarg);
+ if (!arg_machine)
+ return log_oom();
+
+ break;
+
case ARG_READ_ONLY:
arg_read_only = true;
break;
@@ -245,6 +295,43 @@ static int parse_argv(int argc, char *argv[]) {
break;
+ case ARG_BIND:
+ case ARG_BIND_RO: {
+ _cleanup_free_ char *a = NULL, *b = NULL;
+ char *e;
+ char ***x;
+ int r;
+
+ x = c == ARG_BIND ? &arg_bind : &arg_bind_ro;
+
+ e = strchr(optarg, ':');
+ if (e) {
+ a = strndup(optarg, e - optarg);
+ b = strdup(e + 1);
+ } else {
+ a = strdup(optarg);
+ b = strdup(optarg);
+ }
+
+ if (!a || !b)
+ return log_oom();
+
+ if (!path_is_absolute(a) || !path_is_absolute(b)) {
+ log_error("Invalid bind mount specification: %s", optarg);
+ return -EINVAL;
+ }
+
+ r = strv_extend(x, a);
+ if (r < 0)
+ return r;
+
+ r = strv_extend(x, b);
+ if (r < 0)
+ return r;
+
+ break;
+ }
+
case '?':
return -EINVAL;
@@ -274,7 +361,7 @@ static int mount_all(const char *dest) {
{ NULL, "/proc/sys", NULL, NULL, MS_BIND|MS_RDONLY|MS_REMOUNT, true }, /* Then, make it r/o */
{ "sysfs", "/sys", "sysfs", NULL, MS_RDONLY|MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
{ "tmpfs", "/dev", "tmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, true },
- { "/dev/pts", "/dev/pts", NULL, NULL, MS_BIND, true },
+ { "devpts", "/dev/pts", "devpts","newinstance,ptmxmode=0666,mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, true },
{ "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true },
{ "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true },
#ifdef HAVE_SELINUX
@@ -287,17 +374,12 @@ static int mount_all(const char *dest) {
int r = 0;
for (k = 0; k < ELEMENTSOF(mount_table); k++) {
- char _cleanup_free_ *where = NULL;
+ _cleanup_free_ char *where = NULL;
int t;
- if (asprintf(&where, "%s/%s", dest, mount_table[k].where) < 0) {
- log_oom();
-
- if (r == 0)
- r = -ENOMEM;
-
- break;
- }
+ where = strjoin(dest, "/", mount_table[k].where, NULL);
+ if (!where)
+ return log_oom();
t = path_is_mount_point(where, true);
if (t < 0) {
@@ -313,7 +395,7 @@ static int mount_all(const char *dest) {
if (mount_table[k].what && t > 0)
continue;
- mkdir_p_label(where, 0755);
+ mkdir_p(where, 0755);
if (mount(mount_table[k].what,
where,
@@ -332,6 +414,32 @@ static int mount_all(const char *dest) {
return r;
}
+static int mount_binds(const char *dest, char **l, unsigned long flags) {
+ char **x, **y;
+
+ STRV_FOREACH_PAIR(x, y, l) {
+ _cleanup_free_ char *where = NULL;
+
+ where = strjoin(dest, "/", *y, NULL);
+ if (!where)
+ return log_oom();
+
+ mkdir_p_label(where, 0755);
+
+ if (mount(*x, where, "bind", MS_BIND, NULL) < 0) {
+ log_error("mount(%s) failed: %m", where);
+ return -errno;
+ }
+
+ if (flags && mount(NULL, where, NULL, MS_REMOUNT|MS_BIND|flags, NULL) < 0) {
+ log_error("mount(%s) failed: %m", where);
+ return -errno;
+ }
+ }
+
+ return 0;
+}
+
static int setup_timezone(const char *dest) {
_cleanup_free_ char *where = NULL, *p = NULL, *q = NULL, *check = NULL, *what = NULL;
char *z, *y;
@@ -393,7 +501,8 @@ static int setup_timezone(const char *dest) {
}
static int setup_resolv_conf(const char *dest) {
- char *where;
+ char _cleanup_free_ *where = NULL;
+ _cleanup_close_ int fd = -1;
assert(dest);
@@ -405,18 +514,24 @@ static int setup_resolv_conf(const char *dest) {
if (!where)
return log_oom();
+ fd = open(where, O_WRONLY|O_CREAT|O_EXCL|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW, 0644);
+
/* We don't really care for the results of this really. If it
* fails, it fails, but meh... */
- if (mount("/etc/resolv.conf", where, "bind", MS_BIND, NULL) >= 0)
- mount("/etc/resolv.conf", where, "bind", MS_BIND|MS_REMOUNT|MS_RDONLY, NULL);
-
- free(where);
+ if (mount("/etc/resolv.conf", where, "bind", MS_BIND, NULL) < 0)
+ log_warning("Failed to bind mount /etc/resolv.conf: %m");
+ else
+ if (mount("/etc/resolv.conf", where, "bind",
+ MS_BIND|MS_REMOUNT|MS_RDONLY, NULL) < 0) {
+ log_error("Failed to remount /etc/resolv.conf readonly: %m");
+ return -errno;
+ }
return 0;
}
static int setup_boot_id(const char *dest) {
- char _cleanup_free_ *from = NULL, *to = NULL;
+ _cleanup_free_ char *from = NULL, *to = NULL;
sd_id128_t rnd;
char as_uuid[37];
int r;
@@ -442,7 +557,7 @@ static int setup_boot_id(const char *dest) {
SD_ID128_FORMAT_VAL(rnd));
char_array_0(as_uuid);
- r = write_one_line_file(from, as_uuid);
+ r = write_string_file(from, as_uuid);
if (r < 0) {
log_error("Failed to write boot id: %s", strerror(-r));
return r;
@@ -451,8 +566,8 @@ static int setup_boot_id(const char *dest) {
if (mount(from, to, "bind", MS_BIND, NULL) < 0) {
log_error("Failed to bind mount boot id: %m");
r = -errno;
- } else
- mount(from, to, "bind", MS_BIND|MS_REMOUNT|MS_RDONLY, NULL);
+ } else if (mount(from, to, "bind", MS_BIND|MS_REMOUNT|MS_RDONLY, NULL))
+ log_warning("Failed to make boot id read-only: %m");
unlink(from);
return r;
@@ -466,12 +581,11 @@ static int copy_devnodes(const char *dest) {
"full\0"
"random\0"
"urandom\0"
- "tty\0"
- "ptmx\0";
+ "tty\0";
const char *d;
int r = 0;
- mode_t _cleanup_umask_ u;
+ _cleanup_umask_ mode_t u;
assert(dest);
@@ -479,7 +593,7 @@ static int copy_devnodes(const char *dest) {
NULSTR_FOREACH(d, devnodes) {
struct stat st;
- char _cleanup_free_ *from = NULL, *to = NULL;
+ _cleanup_free_ char *from = NULL, *to = NULL;
asprintf(&from, "/dev/%s", d);
asprintf(&to, "%s/dev/%s", dest, d);
@@ -518,11 +632,26 @@ static int copy_devnodes(const char *dest) {
return r;
}
+static int setup_ptmx(const char *dest) {
+ _cleanup_free_ char *p = NULL;
+
+ p = strappend(dest, "/dev/ptmx");
+ if (!p)
+ return log_oom();
+
+ if (symlink("pts/ptmx", p) < 0) {
+ log_error("Failed to create /dev/ptmx symlink: %m");
+ return -errno;
+ }
+
+ return 0;
+}
+
static int setup_dev_console(const char *dest, const char *console) {
struct stat st;
- char _cleanup_free_ *to = NULL;
+ _cleanup_free_ char *to = NULL;
int r;
- mode_t _cleanup_umask_ u;
+ _cleanup_umask_ mode_t u;
assert(dest);
assert(console);
@@ -568,14 +697,17 @@ static int setup_dev_console(const char *dest, const char *console) {
}
static int setup_kmsg(const char *dest, int kmsg_socket) {
- char _cleanup_free_ *from = NULL, *to = NULL;
+ _cleanup_free_ char *from = NULL, *to = NULL;
int r, fd, k;
- mode_t _cleanup_umask_ u;
+ _cleanup_umask_ mode_t u;
union {
struct cmsghdr cmsghdr;
uint8_t buf[CMSG_SPACE(sizeof(int))];
- } control;
- struct msghdr mh;
+ } control = {};
+ struct msghdr mh = {
+ .msg_control = &control,
+ .msg_controllen = sizeof(control),
+ };
struct cmsghdr *cmsg;
assert(dest);
@@ -616,12 +748,6 @@ static int setup_kmsg(const char *dest, int kmsg_socket) {
return -errno;
}
- zero(mh);
- zero(control);
-
- mh.msg_control = &control;
- mh.msg_controllen = sizeof(control);
-
cmsg = CMSG_FIRSTHDR(&mh);
cmsg->cmsg_level = SOL_SOCKET;
cmsg->cmsg_type = SCM_RIGHTS;
@@ -646,30 +772,16 @@ static int setup_kmsg(const char *dest, int kmsg_socket) {
}
static int setup_hostname(void) {
- char *hn;
- int r = 0;
-
- hn = path_get_file_name(arg_directory);
- if (hn) {
- hn = strdup(hn);
- if (!hn)
- return -ENOMEM;
-
- hostname_cleanup(hn);
-
- if (!isempty(hn))
- if (sethostname(hn, strlen(hn)) < 0)
- r = -errno;
- free(hn);
- }
+ if (sethostname(arg_machine, strlen(arg_machine)) < 0)
+ return -errno;
- return r;
+ return 0;
}
static int setup_journal(const char *directory) {
sd_id128_t machine_id;
- char _cleanup_free_ *p = NULL, *b = NULL, *q = NULL, *d = NULL;
+ _cleanup_free_ char *p = NULL, *b = NULL, *q = NULL, *d = NULL;
char *id;
int r;
@@ -799,22 +911,70 @@ static int setup_journal(const char *directory) {
return 0;
}
-static int drop_capabilities(void) {
- return capability_bounding_set_drop(~arg_retain, false);
+static int setup_cgroup(const char *path) {
+ char **c;
+ int r;
+
+ r = cg_create_and_attach(SYSTEMD_CGROUP_CONTROLLER, path, 1);
+ if (r < 0) {
+ log_error("Failed to create cgroup: %s", strerror(-r));
+ return r;
+ }
+
+ STRV_FOREACH(c, arg_controllers) {
+ r = cg_create_and_attach(*c, path, 1);
+ if (r < 0)
+ log_warning("Failed to create cgroup in controller %s: %s", *c, strerror(-r));
+ }
+
+ return 0;
}
-static int is_os_tree(const char *path) {
- int r;
- char *p;
- /* We use /bin/sh as flag file if something is an OS */
+static int save_attributes(const char *cgroup, pid_t pid, const char *uuid, const char *directory) {
+#ifdef HAVE_XATTR
+ _cleanup_free_ char *path = NULL;
+ char buf[DECIMAL_STR_MAX(pid_t)];
+ int r = 0, k;
- if (asprintf(&p, "%s/bin/sh", path) < 0)
- return -ENOMEM;
+ assert(cgroup);
+ assert(pid >= 0);
+ assert(arg_directory);
- r = access(p, F_OK);
- free(p);
+ assert_se(snprintf(buf, sizeof(buf), "%lu", (unsigned long) pid) < (int) sizeof(buf));
+
+ r = cg_get_path(SYSTEMD_CGROUP_CONTROLLER, cgroup, NULL, &path);
+ if (r < 0) {
+ log_error("Failed to get path: %s", strerror(-r));
+ return r;
+ }
- return r < 0 ? 0 : 1;
+ r = setxattr(path, "trusted.init_pid", buf, strlen(buf), XATTR_CREATE);
+ if (r < 0)
+ log_warning("Failed to set %s attribute on %s: %m", "trusted.init_pid", path);
+
+ if (uuid) {
+ k = setxattr(path, "trusted.machine_id", uuid, strlen(uuid), XATTR_CREATE);
+ if (k < 0) {
+ log_warning("Failed to set %s attribute on %s: %m", "trusted.machine_id", path);
+ if (r == 0)
+ r = k;
+ }
+ }
+
+ k = setxattr(path, "trusted.root_directory", directory, strlen(directory), XATTR_CREATE);
+ if (k < 0) {
+ log_warning("Failed to set %s attribute on %s: %m", "trusted.root_directory", path);
+ if (r == 0)
+ r = k;
+ }
+ return r;
+#else
+ return 0;
+#endif
+}
+
+static int drop_capabilities(void) {
+ return capability_bounding_set_drop(~arg_retain, false);
}
static int process_pty(int master, pid_t pid, sigset_t *mask) {
@@ -874,8 +1034,17 @@ static int process_pty(int master, pid_t pid, sigset_t *mask) {
signal_ev.events = EPOLLIN;
signal_ev.data.fd = signal_fd;
- if (epoll_ctl(ep, EPOLL_CTL_ADD, STDOUT_FILENO, &stdout_ev) < 0 ||
- epoll_ctl(ep, EPOLL_CTL_ADD, master, &master_ev) < 0 ||
+ if (epoll_ctl(ep, EPOLL_CTL_ADD, STDOUT_FILENO, &stdout_ev) < 0) {
+ if (errno != EPERM) {
+ log_error("Failed to register stdout in epoll: %m");
+ r = -errno;
+ goto finish;
+ }
+ /* stdout without epoll support. Likely redirected to regular file. */
+ stdout_writable = true;
+ }
+
+ if (epoll_ctl(ep, EPOLL_CTL_ADD, master, &master_ev) < 0 ||
epoll_ctl(ep, EPOLL_CTL_ADD, signal_fd, &signal_ev) < 0) {
log_error("Failed to register fds in epoll: %m");
r = -errno;
@@ -1053,9 +1222,9 @@ finish:
int main(int argc, char *argv[]) {
pid_t pid = 0;
int r = EXIT_FAILURE, k;
- char *oldcg = NULL, *newcg = NULL;
- char **controller = NULL;
- int master = -1, n_fd_passed;
+ _cleanup_free_ char *newcg = NULL;
+ _cleanup_close_ int master = -1;
+ int n_fd_passed;
const char *console = NULL;
struct termios saved_attr, raw_attr;
sigset_t mask;
@@ -1067,9 +1236,13 @@ int main(int argc, char *argv[]) {
log_parse_environment();
log_open();
- r = parse_argv(argc, argv);
- if (r <= 0)
+ k = parse_argv(argc, argv);
+ if (k < 0)
+ goto finish;
+ else if (k == 0) {
+ r = EXIT_SUCCESS;
goto finish;
+ }
if (arg_directory) {
char *p;
@@ -1081,12 +1254,26 @@ int main(int argc, char *argv[]) {
arg_directory = get_current_dir_name();
if (!arg_directory) {
- log_error("Failed to determine path");
+ log_error("Failed to determine path, please use -D.");
goto finish;
}
path_kill_slashes(arg_directory);
+ if (!arg_machine) {
+ arg_machine = strdup(path_get_file_name(arg_directory));
+ if (!arg_machine) {
+ log_oom();
+ goto finish;
+ }
+
+ hostname_cleanup(arg_machine, false);
+ if (isempty(arg_machine)) {
+ log_error("Failed to determine machine name automatically, please use -M.");
+ goto finish;
+ }
+ }
+
if (geteuid() != 0) {
log_error("Need to be root.");
goto finish;
@@ -1102,8 +1289,8 @@ int main(int argc, char *argv[]) {
goto finish;
}
- if (is_os_tree(arg_directory) <= 0) {
- log_error("Directory %s doesn't look like an OS root directory. Refusing.", arg_directory);
+ if (path_is_os_tree(arg_directory) <= 0) {
+ log_error("Directory %s doesn't look like an OS root directory (/etc/os-release is missing). Refusing.", arg_directory);
goto finish;
}
@@ -1119,27 +1306,20 @@ int main(int argc, char *argv[]) {
fdset_close_others(fds);
log_open();
- k = cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, 0, &oldcg);
+ k = cg_get_machine_path(arg_machine, &newcg);
if (k < 0) {
- log_error("Failed to determine current cgroup: %s", strerror(-k));
+ log_error("Failed to determine machine cgroup path: %s", strerror(-k));
goto finish;
}
- if (asprintf(&newcg, "%s/nspawn-%lu", oldcg, (unsigned long) getpid()) < 0) {
- log_error("Failed to allocate cgroup path.");
- goto finish;
- }
+ k = cg_is_empty_recursive(SYSTEMD_CGROUP_CONTROLLER, newcg, true);
+ if (k <= 0 && k != -ENOENT) {
+ log_error("Container already running.");
- k = cg_create_and_attach(SYSTEMD_CGROUP_CONTROLLER, newcg, 0);
- if (k < 0) {
- log_error("Failed to create cgroup: %s", strerror(-k));
- goto finish;
- }
+ free(newcg);
+ newcg = NULL;
- STRV_FOREACH(controller, arg_controllers) {
- k = cg_create_and_attach(*controller, newcg, 0);
- if (k < 0)
- log_warning("Failed to create cgroup in controller %s: %s", *controller, strerror(-k));
+ goto finish;
}
master = posix_openpt(O_RDWR|O_NOCTTY|O_CLOEXEC|O_NDELAY);
@@ -1173,22 +1353,29 @@ int main(int argc, char *argv[]) {
}
if (socketpair(AF_UNIX, SOCK_DGRAM|SOCK_NONBLOCK|SOCK_CLOEXEC, 0, kmsg_socket_pair) < 0) {
- log_error("Failed to create kmsg socket pair");
+ log_error("Failed to create kmsg socket pair.");
goto finish;
}
+ sd_notify(0, "READY=1");
+
assert_se(sigemptyset(&mask) == 0);
sigset_add_many(&mask, SIGCHLD, SIGWINCH, SIGTERM, SIGINT, -1);
assert_se(sigprocmask(SIG_BLOCK, &mask, NULL) == 0);
for (;;) {
siginfo_t status;
+ int pipefd[2], pipefd2[2];
- if (saved_attr_valid) {
- if (tcsetattr(STDIN_FILENO, TCSANOW, &raw_attr) < 0) {
- log_error("Failed to set terminal attributes: %m");
- goto finish;
- }
+ if (pipe2(pipefd, O_NONBLOCK|O_CLOEXEC) < 0) {
+ log_error("pipe2(): %m");
+ goto finish;
+ }
+
+ if (pipe2(pipefd2, O_NONBLOCK|O_CLOEXEC) < 0) {
+ log_error("pipe2(): %m");
+ close_pipe(pipefd);
+ goto finish;
}
pid = syscall(__NR_clone, SIGCHLD|CLONE_NEWIPC|CLONE_NEWNS|CLONE_NEWPID|CLONE_NEWUTS|(arg_private_network ? CLONE_NEWNET : 0), NULL);
@@ -1203,11 +1390,10 @@ int main(int argc, char *argv[]) {
if (pid == 0) {
/* child */
-
const char *home = NULL;
uid_t uid = (uid_t) -1;
gid_t gid = (gid_t) -1;
- unsigned n_env = 0;
+ unsigned n_env = 2;
const char *envp[] = {
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"container=systemd-nspawn", /* LXC sets container=lxc, so follow the scheme here */
@@ -1221,12 +1407,25 @@ int main(int argc, char *argv[]) {
NULL
};
- envp[2] = strv_find_prefix(environ, "TERM=");
- n_env = 3;
+ envp[n_env] = strv_find_prefix(environ, "TERM=");
+ if (envp[n_env])
+ n_env ++;
+
+ /* Wait for the parent process to log our PID */
+ close_nointr_nofail(pipefd[1]);
+ fd_wait_for_event(pipefd[0], POLLHUP, -1);
+ close_nointr_nofail(pipefd[0]);
close_nointr_nofail(master);
master = -1;
+ if (saved_attr_valid) {
+ if (tcsetattr(STDIN_FILENO, TCSANOW, &raw_attr) < 0) {
+ log_error("Failed to set terminal attributes: %m");
+ goto child_fail;
+ }
+ }
+
close_nointr(STDIN_FILENO);
close_nointr(STDOUT_FILENO);
close_nointr(STDERR_FILENO);
@@ -1266,6 +1465,11 @@ int main(int argc, char *argv[]) {
goto child_fail;
}
+ if (setup_cgroup(newcg) < 0)
+ goto child_fail;
+
+ close_pipe(pipefd2);
+
/* Mark everything as slave, so that we still
* receive mounts from the real root, but don't
* propagate mounts to the real root. */
@@ -1292,6 +1496,9 @@ int main(int argc, char *argv[]) {
if (copy_devnodes(arg_directory) < 0)
goto child_fail;
+ if (setup_ptmx(arg_directory) < 0)
+ goto child_fail;
+
dev_setup(arg_directory);
if (setup_dev_console(arg_directory, console) < 0)
@@ -1315,6 +1522,12 @@ int main(int argc, char *argv[]) {
if (setup_journal(arg_directory) < 0)
goto child_fail;
+ if (mount_binds(arg_directory, arg_bind, 0) < 0)
+ goto child_fail;
+
+ if (mount_binds(arg_directory, arg_bind_ro, MS_RDONLY) < 0)
+ goto child_fail;
+
if (chdir(arg_directory) < 0) {
log_error("chdir(%s) failed: %m", arg_directory);
goto child_fail;
@@ -1422,7 +1635,7 @@ int main(int argc, char *argv[]) {
}
if ((asprintf((char **)(envp + n_env++), "LISTEN_FDS=%u", n_fd_passed) < 0) ||
- (asprintf((char **)(envp + n_env++), "LISTEN_PID=%lu", (unsigned long) getpid()) < 0)) {
+ (asprintf((char **)(envp + n_env++), "LISTEN_PID=%lu", (unsigned long) 1) < 0)) {
log_oom();
goto child_fail;
}
@@ -1461,6 +1674,17 @@ int main(int argc, char *argv[]) {
_exit(EXIT_FAILURE);
}
+ log_info("Init process in the container running as PID %lu.", (unsigned long) pid);
+ close_nointr_nofail(pipefd[0]);
+ close_nointr_nofail(pipefd[1]);
+
+ /* Wait for the child process to establish cgroup hierarchy */
+ close_nointr_nofail(pipefd2[1]);
+ fd_wait_for_event(pipefd2[0], POLLHUP, -1);
+ close_nointr_nofail(pipefd2[0]);
+
+ save_attributes(newcg, pid, arg_uuid, arg_directory);
+
fdset_free(fds);
fds = NULL;
@@ -1470,16 +1694,16 @@ int main(int argc, char *argv[]) {
if (saved_attr_valid)
tcsetattr(STDIN_FILENO, TCSANOW, &saved_attr);
- r = wait_for_terminate(pid, &status);
- if (r < 0) {
+ k = wait_for_terminate(pid, &status);
+ if (k < 0) {
r = EXIT_FAILURE;
break;
}
if (status.si_code == CLD_EXITED) {
+ r = status.si_status;
if (status.si_status != 0) {
log_error("Container failed with error code %i.", status.si_status);
- r = status.si_status;
break;
}
@@ -1511,21 +1735,14 @@ finish:
if (saved_attr_valid)
tcsetattr(STDIN_FILENO, TCSANOW, &saved_attr);
- if (master >= 0)
- close_nointr_nofail(master);
-
close_pipe(kmsg_socket_pair);
- if (oldcg)
- cg_attach(SYSTEMD_CGROUP_CONTROLLER, oldcg, 0);
-
if (newcg)
cg_kill_recursive_and_wait(SYSTEMD_CGROUP_CONTROLLER, newcg, true);
free(arg_directory);
+ free(arg_machine);
strv_free(arg_controllers);
- free(oldcg);
- free(newcg);
fdset_free(fds);
diff --git a/src/nss-myhostname/Makefile b/src/nss-myhostname/Makefile
new file mode 120000
index 0000000000..d0b0e8e008
--- /dev/null
+++ b/src/nss-myhostname/Makefile
@@ -0,0 +1 @@
+../Makefile \ No newline at end of file
diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c
index 53c3b501be..b1ef912c8a 100644
--- a/src/nss-myhostname/netlink.c
+++ b/src/nss-myhostname/netlink.c
@@ -36,173 +36,171 @@
#include "ifconf.h"
-int ifconf_acquire_addresses(struct address **_list, unsigned *_n_list) {
-
+#define SEQ 4711
+
+static int read_reply(int fd, struct address **list, unsigned *n_list) {
+ ssize_t bytes;
+ struct cmsghdr *cmsg;
+ struct ucred *ucred;
+ struct nlmsghdr *p;
+ uint8_t cred_buffer[CMSG_SPACE(sizeof(struct ucred))];
struct {
struct nlmsghdr hdr;
- struct rtgenmsg gen;
- } req;
- struct rtgenmsg *gen;
- int fd, r, on = 1;
- uint32_t seq = 4711;
- struct address *list = NULL;
- unsigned n_list = 0;
-
- fd = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE);
- if (fd < 0)
+ struct ifaddrmsg ifaddrmsg;
+ uint8_t payload[16*1024];
+ } resp;
+ struct iovec iov = {
+ .iov_base = &resp,
+ .iov_len = sizeof(resp),
+ };
+ struct msghdr msg = {
+ .msg_name = NULL,
+ .msg_namelen = 0,
+ .msg_iov = &iov,
+ .msg_iovlen = 1,
+ .msg_control = cred_buffer,
+ .msg_controllen = sizeof(cred_buffer),
+ .msg_flags = 0,
+ };
+
+ assert(fd >= 0);
+ assert(list);
+
+ bytes = recvmsg(fd, &msg, 0);
+ if (bytes < 0)
return -errno;
- if (setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)) < 0) {
- r = -errno;
- goto finish;
- }
+ cmsg = CMSG_FIRSTHDR(&msg);
+ if (!cmsg || cmsg->cmsg_type != SCM_CREDENTIALS)
+ return -EIO;
- memset(&req, 0, sizeof(req));
- req.hdr.nlmsg_len = NLMSG_LENGTH(sizeof(struct rtgenmsg));
- req.hdr.nlmsg_type = RTM_GETADDR;
- req.hdr.nlmsg_flags = NLM_F_REQUEST|NLM_F_DUMP|NLM_F_ACK;
- req.hdr.nlmsg_seq = seq;
- req.hdr.nlmsg_pid = 0;
+ ucred = (struct ucred*) CMSG_DATA(cmsg);
+ if (ucred->uid != 0 || ucred->pid != 0)
+ return 0;
- gen = NLMSG_DATA(&req.hdr);
- gen->rtgen_family = AF_UNSPEC;
+ for (p = &resp.hdr; bytes > 0; p = NLMSG_NEXT(p, bytes)) {
+ struct ifaddrmsg *ifaddrmsg;
+ struct rtattr *a;
+ size_t l;
+ void *local = NULL, *address = NULL;
- if (send(fd, &req, req.hdr.nlmsg_len, 0) < 0) {
- r = -errno;
- goto finish;
- }
+ if (!NLMSG_OK(p, (size_t) bytes))
+ return -EIO;
- for (;;) {
- ssize_t bytes;
- struct msghdr msg;
- struct cmsghdr *cmsg;
- struct ucred *ucred;
- struct iovec iov;
- struct nlmsghdr *p;
- uint8_t cred_buffer[CMSG_SPACE(sizeof(struct ucred))];
- struct {
- struct nlmsghdr hdr;
- struct ifaddrmsg ifaddrmsg;
- uint8_t payload[16*1024];
- } resp;
-
- memset(&iov, 0, sizeof(iov));
- iov.iov_base = &resp;
- iov.iov_len = sizeof(resp);
-
- memset(&msg, 0, sizeof(msg));
- msg.msg_name = NULL;
- msg.msg_namelen = 0;
- msg.msg_iov = &iov;
- msg.msg_iovlen = 1;
- msg.msg_control = cred_buffer;
- msg.msg_controllen = sizeof(cred_buffer);
- msg.msg_flags = 0;
-
- bytes = recvmsg(fd, &msg, 0);
- if (bytes < 0) {
- r = -errno;
- goto finish;
- }
+ if (p->nlmsg_seq != SEQ)
+ continue;
+
+ if (p->nlmsg_type == NLMSG_DONE)
+ return 1;
- cmsg = CMSG_FIRSTHDR(&msg);
- if (!cmsg || cmsg->cmsg_type != SCM_CREDENTIALS) {
- r = -EIO;
- goto finish;
+ if (p->nlmsg_type == NLMSG_ERROR) {
+ struct nlmsgerr *nlmsgerr;
+
+ nlmsgerr = NLMSG_DATA(p);
+ return -nlmsgerr->error;
}
- ucred = (struct ucred*) CMSG_DATA(cmsg);
- if (ucred->uid != 0 || ucred->pid != 0)
+ if (p->nlmsg_type != RTM_NEWADDR)
continue;
- for (p = &resp.hdr; bytes > 0; p = NLMSG_NEXT(p, bytes)) {
- struct ifaddrmsg *ifaddrmsg;
- struct rtattr *a;
- size_t l;
- void *local = NULL, *address = NULL;
+ ifaddrmsg = NLMSG_DATA(p);
- if (!NLMSG_OK(p, (size_t) bytes)) {
- r = -EIO;
- goto finish;
- }
+ if (ifaddrmsg->ifa_family != AF_INET &&
+ ifaddrmsg->ifa_family != AF_INET6)
+ continue;
- if (p->nlmsg_seq != seq)
- continue;
+ if (ifaddrmsg->ifa_scope == RT_SCOPE_HOST ||
+ ifaddrmsg->ifa_scope == RT_SCOPE_NOWHERE)
+ continue;
- if (p->nlmsg_type == NLMSG_DONE) {
- r = 0;
- goto finish;
- }
+ if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED)
+ continue;
- if (p->nlmsg_type == NLMSG_ERROR) {
- struct nlmsgerr *nlmsgerr;
+ l = NLMSG_PAYLOAD(p, sizeof(struct ifaddrmsg));
+ a = IFA_RTA(ifaddrmsg);
- nlmsgerr = NLMSG_DATA(p);
- r = -nlmsgerr->error;
- goto finish;
- }
+ while (RTA_OK(a, l)) {
- if (p->nlmsg_type != RTM_NEWADDR)
- continue;
+ if (a->rta_type == IFA_ADDRESS)
+ address = RTA_DATA(a);
+ else if (a->rta_type == IFA_LOCAL)
+ local = RTA_DATA(a);
- ifaddrmsg = NLMSG_DATA(p);
+ a = RTA_NEXT(a, l);
+ }
- if (ifaddrmsg->ifa_family != AF_INET &&
- ifaddrmsg->ifa_family != AF_INET6)
- continue;
+ if (local)
+ address = local;
- if (ifaddrmsg->ifa_scope == RT_SCOPE_HOST ||
- ifaddrmsg->ifa_scope == RT_SCOPE_NOWHERE)
- continue;
+ if (!address)
+ continue;
- if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED)
- continue;
+ *list = realloc(*list, (*n_list+1) * sizeof(struct address));
+ if (!*list)
+ return -ENOMEM;
- l = NLMSG_PAYLOAD(p, sizeof(struct ifaddrmsg));
- a = IFA_RTA(ifaddrmsg);
+ (*list)[*n_list].family = ifaddrmsg->ifa_family;
+ (*list)[*n_list].scope = ifaddrmsg->ifa_scope;
+ memcpy((*list)[*n_list].address,
+ address, ifaddrmsg->ifa_family == AF_INET ? 4 : 16);
+ (*list)[*n_list].ifindex = ifaddrmsg->ifa_index;
- while (RTA_OK(a, l)) {
+ (*n_list)++;
+ }
- if (a->rta_type == IFA_ADDRESS)
- address = RTA_DATA(a);
- else if (a->rta_type == IFA_LOCAL)
- local = RTA_DATA(a);
+ return 0;
+}
- a = RTA_NEXT(a, l);
- }
- if (local)
- address = local;
+int ifconf_acquire_addresses(struct address **_list, unsigned *_n_list) {
- if (!address)
- continue;
+ struct {
+ struct nlmsghdr hdr;
+ struct rtgenmsg gen;
+ } req = { {
+ .nlmsg_len = NLMSG_LENGTH(sizeof(struct rtgenmsg)),
+ .nlmsg_type = RTM_GETADDR,
+ .nlmsg_flags = NLM_F_REQUEST|NLM_F_DUMP|NLM_F_ACK,
+ .nlmsg_seq = SEQ,
+ .nlmsg_pid = 0,
+ }, {
+ .rtgen_family = AF_UNSPEC,
+ }
+ };
+ int r, on = 1;
+ struct address *list = NULL;
+ unsigned n_list = 0;
+ int fd;
- list = realloc(list, (n_list+1) * sizeof(struct address));
- if (!list) {
- r = -ENOMEM;
- goto finish;
- }
+ fd = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE);
+ if (fd < 0)
+ return -errno;
- list[n_list].family = ifaddrmsg->ifa_family;
- list[n_list].scope = ifaddrmsg->ifa_scope;
- memcpy(list[n_list].address, address, ifaddrmsg->ifa_family == AF_INET ? 4 : 16);
- list[n_list].ifindex = ifaddrmsg->ifa_index;
+ if (setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)) < 0) {
+ r = -errno;
+ goto finish;
+ }
- n_list++;
- }
+ if (send(fd, &req, req.hdr.nlmsg_len, 0) < 0) {
+ r = -errno;
+ goto finish;
}
+ while((r = read_reply(fd, &list, &n_list)) == 0)
+ ;
+
finish:
close(fd);
- if (r < 0)
+ if (r < 0) {
free(list);
- else {
- qsort(list, n_list, sizeof(struct address), address_compare);
-
- *_list = list;
- *_n_list = n_list;
+ return r;
}
- return r;
+ qsort(list, n_list, sizeof(struct address), address_compare);
+
+ *_list = list;
+ *_n_list = n_list;
+
+ return 0;
}
diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c
index 834a80690f..60e256d54f 100644
--- a/src/nss-myhostname/nss-myhostname.c
+++ b/src/nss-myhostname/nss-myhostname.c
@@ -25,13 +25,18 @@
#include <netdb.h>
#include <errno.h>
#include <string.h>
-#include <assert.h>
#include <unistd.h>
#include <net/if.h>
#include <stdlib.h>
#include <arpa/inet.h>
#include "ifconf.h"
+#include "macro.h"
+
+/* Ensure that glibc's assert is used. We cannot use assert from macro.h, as
+ * libnss_myhostname will be linked into arbitrary programs which will, in turn
+ * attempt to write to the journal via log_dispatch() */
+#include <assert.h>
/* We use 127.0.0.2 as IPv4 address. This has the advantage over
* 127.0.0.1 that it can be translated back to the local hostname. For
@@ -42,8 +47,6 @@
#define LOCALADDRESS_IPV6 &in6addr_loopback
#define LOOPBACK_INTERFACE "lo"
-#define ALIGN(a) (((a+sizeof(void*)-1)/sizeof(void*))*sizeof(void*))
-
enum nss_status _nss_myhostname_gethostbyname4_r(
const char *name,
struct gaih_addrtuple **pat,
@@ -96,33 +99,47 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
int32_t *ttlp) {
unsigned lo_ifi;
- char hn[HOST_NAME_MAX+1];
+ char hn[HOST_NAME_MAX+1] = {};
+ const char *canonical = NULL;
size_t l, idx, ms;
char *r_name;
struct gaih_addrtuple *r_tuple, *r_tuple_prev = NULL;
struct address *addresses = NULL, *a;
unsigned n_addresses = 0, n;
+ uint32_t local_address_ipv4;
- memset(hn, 0, sizeof(hn));
- if (gethostname(hn, sizeof(hn)-1) < 0) {
- *errnop = errno;
- *h_errnop = NO_RECOVERY;
- return NSS_STATUS_UNAVAIL;
- }
+ if (strcasecmp(name, "localhost") == 0) {
+ /* We respond to 'localhost', so that /etc/hosts
+ * is optional */
- if (strcasecmp(name, hn) != 0) {
- *errnop = ENOENT;
- *h_errnop = HOST_NOT_FOUND;
- return NSS_STATUS_NOTFOUND;
- }
+ canonical = "localhost";
+ local_address_ipv4 = htonl(INADDR_LOOPBACK);
+ } else {
+ /* We respond to our local host name */
- /* If this fails, n_addresses is 0. Which is fine */
- ifconf_acquire_addresses(&addresses, &n_addresses);
+ if (gethostname(hn, sizeof(hn)-1) < 0) {
+ *errnop = errno;
+ *h_errnop = NO_RECOVERY;
+ return NSS_STATUS_UNAVAIL;
+ }
+
+ if (strcasecmp(name, hn) != 0) {
+ *errnop = ENOENT;
+ *h_errnop = HOST_NOT_FOUND;
+ return NSS_STATUS_NOTFOUND;
+ }
+
+ /* If this fails, n_addresses is 0. Which is fine */
+ ifconf_acquire_addresses(&addresses, &n_addresses);
+
+ canonical = hn;
+ local_address_ipv4 = LOCALADDRESS_IPV4;
+ }
/* If this call fails we fill in 0 as scope. Which is fine */
- lo_ifi = if_nametoindex(LOOPBACK_INTERFACE);
+ lo_ifi = n_addresses <= 0 ? if_nametoindex(LOOPBACK_INTERFACE) : 0;
- l = strlen(hn);
+ l = strlen(canonical);
ms = ALIGN(l+1)+ALIGN(sizeof(struct gaih_addrtuple))*(n_addresses > 0 ? n_addresses : 2);
if (buflen < ms) {
*errnop = ENOMEM;
@@ -133,7 +150,7 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
/* First, fill in hostname */
r_name = buffer;
- memcpy(r_name, hn, l+1);
+ memcpy(r_name, canonical, l+1);
idx = ALIGN(l+1);
if (n_addresses <= 0) {
@@ -153,7 +170,7 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
r_tuple->next = r_tuple_prev;
r_tuple->name = r_name;
r_tuple->family = AF_INET;
- *(uint32_t*) r_tuple->addr = LOCALADDRESS_IPV4;
+ *(uint32_t*) r_tuple->addr = local_address_ipv4;
r_tuple->scopeid = (uint32_t) lo_ifi;
idx += ALIGN(sizeof(struct gaih_addrtuple));
@@ -176,7 +193,11 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
/* Verify the size matches */
assert(idx == ms);
- *pat = r_tuple_prev;
+ /* Nscd expects us to store the first record in **pat. */
+ if (*pat)
+ **pat = *r_tuple_prev;
+ else
+ *pat = r_tuple_prev;
if (ttlp)
*ttlp = 0;
@@ -187,31 +208,34 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
}
static enum nss_status fill_in_hostent(
- const char *hn,
+ const char *canonical, const char *additional,
int af,
+ struct address *addresses, unsigned n_addresses,
+ uint32_t local_address_ipv4,
struct hostent *result,
char *buffer, size_t buflen,
int *errnop, int *h_errnop,
int32_t *ttlp,
char **canonp) {
- size_t l, idx, ms;
- char *r_addr, *r_name, *r_aliases, *r_addr_list;
+ size_t l_canonical, l_additional, idx, ms;
+ char *r_addr, *r_name, *r_aliases, *r_alias = NULL, *r_addr_list;
size_t alen;
- struct address *addresses = NULL, *a;
- unsigned n_addresses = 0, n, c;
+ struct address *a;
+ unsigned n, c;
alen = PROTO_ADDRESS_SIZE(af);
- ifconf_acquire_addresses(&addresses, &n_addresses);
-
for (a = addresses, n = 0, c = 0; n < n_addresses; a++, n++)
if (af == a->family)
c++;
- l = strlen(hn);
- ms = ALIGN(l+1)+
+ l_canonical = strlen(canonical);
+ l_additional = additional ? strlen(additional) : 0;
+ ms = ALIGN(l_canonical+1)+
+ (additional ? ALIGN(l_additional+1) : 0) +
sizeof(char*)+
+ (additional ? sizeof(char*) : 0) +
(c > 0 ? c : 1)*ALIGN(alen)+
(c > 0 ? c+1 : 2)*sizeof(char*);
@@ -222,15 +246,27 @@ static enum nss_status fill_in_hostent(
return NSS_STATUS_TRYAGAIN;
}
- /* First, fill in hostname */
+ /* First, fill in hostnames */
r_name = buffer;
- memcpy(r_name, hn, l+1);
- idx = ALIGN(l+1);
+ memcpy(r_name, canonical, l_canonical+1);
+ idx = ALIGN(l_canonical+1);
+
+ if (additional) {
+ r_alias = buffer + idx;
+ memcpy(r_alias, additional, l_additional+1);
+ idx += ALIGN(l_additional+1);
+ }
- /* Second, create (empty) aliases array */
+ /* Second, create aliases array */
r_aliases = buffer + idx;
- *(char**) r_aliases = NULL;
- idx += sizeof(char*);
+ if (additional) {
+ ((char**) r_aliases)[0] = r_alias;
+ ((char**) r_aliases)[1] = NULL;
+ idx += 2*sizeof(char*);
+ } else {
+ ((char**) r_aliases)[0] = NULL;
+ idx += sizeof(char*);
+ }
/* Third, add addresses */
r_addr = buffer + idx;
@@ -249,7 +285,7 @@ static enum nss_status fill_in_hostent(
idx += c*ALIGN(alen);
} else {
if (af == AF_INET)
- *(uint32_t*) r_addr = LOCALADDRESS_IPV4;
+ *(uint32_t*) r_addr = local_address_ipv4;
else
memcpy(r_addr, LOCALADDRESS_IPV6, 16);
@@ -308,7 +344,11 @@ enum nss_status _nss_myhostname_gethostbyname3_r(
int32_t *ttlp,
char **canonp) {
- char hn[HOST_NAME_MAX+1];
+ char hn[HOST_NAME_MAX+1] = {};
+ struct address *addresses = NULL;
+ unsigned n_addresses = 0;
+ const char *canonical, *additional = NULL;
+ uint32_t local_address_ipv4;
if (af == AF_UNSPEC)
af = AF_INET;
@@ -319,20 +359,39 @@ enum nss_status _nss_myhostname_gethostbyname3_r(
return NSS_STATUS_UNAVAIL;
}
- memset(hn, 0, sizeof(hn));
- if (gethostname(hn, sizeof(hn)-1) < 0) {
- *errnop = errno;
- *h_errnop = NO_RECOVERY;
- return NSS_STATUS_UNAVAIL;
- }
+ if (strcasecmp(name, "localhost") == 0) {
+ canonical = "localhost";
+ local_address_ipv4 = htonl(INADDR_LOOPBACK);
+ } else {
+ if (gethostname(hn, sizeof(hn)-1) < 0) {
+ *errnop = errno;
+ *h_errnop = NO_RECOVERY;
+ return NSS_STATUS_UNAVAIL;
+ }
+
+ if (strcasecmp(name, hn) != 0) {
+ *errnop = ENOENT;
+ *h_errnop = HOST_NOT_FOUND;
+ return NSS_STATUS_NOTFOUND;
+ }
+
+ ifconf_acquire_addresses(&addresses, &n_addresses);
- if (strcasecmp(name, hn) != 0) {
- *errnop = ENOENT;
- *h_errnop = HOST_NOT_FOUND;
- return NSS_STATUS_NOTFOUND;
+ canonical = hn;
+ additional = n_addresses <= 0 && af == AF_INET6 ? "localhost" : NULL;
+ local_address_ipv4 = LOCALADDRESS_IPV4;
}
- return fill_in_hostent(hn, af, host, buffer, buflen, errnop, h_errnop, ttlp, canonp);
+ return fill_in_hostent(
+ canonical, additional,
+ af,
+ addresses, n_addresses,
+ local_address_ipv4,
+ host,
+ buffer, buflen,
+ errnop, h_errnop,
+ ttlp,
+ canonp);
}
enum nss_status _nss_myhostname_gethostbyname2_r(
@@ -376,9 +435,12 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r(
int *errnop, int *h_errnop,
int32_t *ttlp) {
- char hn[HOST_NAME_MAX+1];
- struct address *addresses = NULL, *a;
+ char hn[HOST_NAME_MAX+1] = {};
+ struct address *addresses = NULL;
+ struct address *a;
unsigned n_addresses = 0, n;
+ uint32_t local_address_ipv4 = LOCALADDRESS_IPV4;
+ const char *canonical = NULL, *additional = NULL;
if (len != PROTO_ADDRESS_SIZE(af)) {
*errnop = EINVAL;
@@ -391,10 +453,18 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r(
if ((*(uint32_t*) addr) == LOCALADDRESS_IPV4)
goto found;
+ if ((*(uint32_t*) addr) == htonl(INADDR_LOOPBACK)) {
+ canonical = "localhost";
+ local_address_ipv4 = htonl(INADDR_LOOPBACK);
+ goto found;
+ }
+
} else if (af == AF_INET6) {
- if (memcmp(addr, LOCALADDRESS_IPV6, 16) == 0)
+ if (memcmp(addr, LOCALADDRESS_IPV6, 16) == 0) {
+ additional = "localhost";
goto found;
+ }
} else {
*errnop = EAFNOSUPPORT;
@@ -416,20 +486,33 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r(
*h_errnop = HOST_NOT_FOUND;
free(addresses);
+
return NSS_STATUS_NOTFOUND;
found:
- free(addresses);
+ if (!canonical) {
+ if (gethostname(hn, sizeof(hn)-1) < 0) {
+ *errnop = errno;
+ *h_errnop = NO_RECOVERY;
- memset(hn, 0, sizeof(hn));
- if (gethostname(hn, sizeof(hn)-1) < 0) {
- *errnop = errno;
- *h_errnop = NO_RECOVERY;
+ free(addresses);
- return NSS_STATUS_UNAVAIL;
+ return NSS_STATUS_UNAVAIL;
+ }
+
+ canonical = hn;
}
- return fill_in_hostent(hn, af, host, buffer, buflen, errnop, h_errnop, ttlp, NULL);
+ return fill_in_hostent(
+ canonical, additional,
+ af,
+ addresses, n_addresses,
+ local_address_ipv4,
+ host,
+ buffer, buflen,
+ errnop, h_errnop,
+ ttlp,
+ NULL);
}
diff --git a/src/python-systemd/.gitignore b/src/python-systemd/.gitignore
new file mode 100644
index 0000000000..4124b7affd
--- /dev/null
+++ b/src/python-systemd/.gitignore
@@ -0,0 +1,2 @@
+/id128-constants.h
+*.py[oc]
diff --git a/src/python-systemd/_daemon.c b/src/python-systemd/_daemon.c
new file mode 100644
index 0000000000..d3b4807368
--- /dev/null
+++ b/src/python-systemd/_daemon.c
@@ -0,0 +1,325 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#define PY_SSIZE_T_CLEAN
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wredundant-decls"
+#include <Python.h>
+#pragma GCC diagnostic pop
+
+#include <stdbool.h>
+#include <assert.h>
+#include <sys/socket.h>
+
+#include <systemd/sd-daemon.h>
+#include "pyutil.h"
+
+PyDoc_STRVAR(module__doc__,
+ "Python interface to the libsystemd-daemon library.\n\n"
+ "Provides _listen_fds, notify, booted, and is_* functions\n"
+ "which wrap sd_listen_fds, sd_notify, sd_booted, sd_is_* and\n"
+ "useful for socket activation and checking if the system is\n"
+ "running under systemd."
+);
+
+static PyObject* set_error(int r, const char* invalid_message) {
+ assert (r < 0);
+
+ if (r == -EINVAL && invalid_message)
+ PyErr_SetString(PyExc_ValueError, invalid_message);
+ else if (r == -ENOMEM)
+ PyErr_SetString(PyExc_MemoryError, "Not enough memory");
+ else {
+ errno = -r;
+ PyErr_SetFromErrno(PyExc_OSError);
+ }
+
+ return NULL;
+}
+
+
+#if PY_MAJOR_VERSION >=3 && PY_MINOR_VERSION >= 1
+static int Unicode_FSConverter(PyObject* obj, void *_result) {
+ PyObject **result = _result;
+
+ assert(result);
+
+ if (!obj)
+ /* cleanup: we don't return Py_CLEANUP_SUPPORTED, so
+ * we can assume that it was PyUnicode_FSConverter. */
+ return PyUnicode_FSConverter(obj, result);
+
+ if (obj == Py_None) {
+ *result = NULL;
+ return 1;
+ }
+
+ return PyUnicode_FSConverter(obj, result);
+}
+#endif
+
+
+PyDoc_STRVAR(booted__doc__,
+ "booted() -> bool\n\n"
+ "Return True iff this system is running under systemd.\n"
+ "Wraps sd_daemon_booted(3)."
+);
+
+static PyObject* booted(PyObject *self, PyObject *args) {
+ int r;
+ assert(args == NULL);
+
+ r = sd_booted();
+ if (r < 0)
+ return set_error(r, NULL);
+
+ return PyBool_FromLong(r);
+}
+
+
+PyDoc_STRVAR(listen_fds__doc__,
+ "_listen_fds(unset_environment=True) -> int\n\n"
+ "Return the number of descriptors passed to this process by the init system\n"
+ "as part of the socket-based activation logic.\n"
+ "Wraps sd_listen_fds(3)."
+);
+
+static PyObject* listen_fds(PyObject *self, PyObject *args) {
+ int r;
+ int unset = true;
+
+#if PY_MAJOR_VERSION >=3 && PY_MINOR_VERSION >= 3
+ if (!PyArg_ParseTuple(args, "|p:_listen_fds", &unset))
+ return NULL;
+#else
+ PyObject *obj = NULL;
+ if (!PyArg_ParseTuple(args, "|O:_listen_fds", &obj))
+ return NULL;
+ if (obj != NULL)
+ unset = PyObject_IsTrue(obj);
+ if (unset < 0)
+ return NULL;
+#endif
+
+ r = sd_listen_fds(unset);
+ if (r < 0)
+ return set_error(r, NULL);
+
+ return long_FromLong(r);
+}
+
+PyDoc_STRVAR(is_fifo__doc__,
+ "_is_fifo(fd, path) -> bool\n\n"
+ "Returns True iff the descriptor refers to a FIFO or a pipe.\n"
+ "Wraps sd_is_fifo(3)."
+);
+
+
+static PyObject* is_fifo(PyObject *self, PyObject *args) {
+ int r;
+ int fd;
+ const char *path = NULL;
+
+#if PY_MAJOR_VERSION >=3 && PY_MINOR_VERSION >= 1
+ if (!PyArg_ParseTuple(args, "i|O&:_is_fifo",
+ &fd, Unicode_FSConverter, &path))
+ return NULL;
+#else
+ if (!PyArg_ParseTuple(args, "i|z:_is_fifo", &fd, &path))
+ return NULL;
+#endif
+
+ r = sd_is_fifo(fd, path);
+ if (r < 0)
+ return set_error(r, NULL);
+
+ return PyBool_FromLong(r);
+}
+
+
+PyDoc_STRVAR(is_mq__doc__,
+ "_is_mq(fd, path) -> bool\n\n"
+ "Returns True iff the descriptor refers to a POSIX message queue.\n"
+ "Wraps sd_is_mq(3)."
+);
+
+static PyObject* is_mq(PyObject *self, PyObject *args) {
+ int r;
+ int fd;
+ const char *path = NULL;
+
+#if PY_MAJOR_VERSION >=3 && PY_MINOR_VERSION >= 1
+ if (!PyArg_ParseTuple(args, "i|O&:_is_mq",
+ &fd, Unicode_FSConverter, &path))
+ return NULL;
+#else
+ if (!PyArg_ParseTuple(args, "i|z:_is_mq", &fd, &path))
+ return NULL;
+#endif
+
+ r = sd_is_mq(fd, path);
+ if (r < 0)
+ return set_error(r, NULL);
+
+ return PyBool_FromLong(r);
+}
+
+
+
+PyDoc_STRVAR(is_socket__doc__,
+ "_is_socket(fd, family=AF_UNSPEC, type=0, listening=-1) -> bool\n\n"
+ "Returns True iff the descriptor refers to a socket.\n"
+ "Wraps sd_is_socket(3).\n\n"
+ "Constants for `family` are defined in the socket module."
+);
+
+static PyObject* is_socket(PyObject *self, PyObject *args) {
+ int r;
+ int fd, family = AF_UNSPEC, type = 0, listening = -1;
+
+ if (!PyArg_ParseTuple(args, "i|iii:_is_socket",
+ &fd, &family, &type, &listening))
+ return NULL;
+
+ r = sd_is_socket(fd, family, type, listening);
+ if (r < 0)
+ return set_error(r, NULL);
+
+ return PyBool_FromLong(r);
+}
+
+
+PyDoc_STRVAR(is_socket_inet__doc__,
+ "_is_socket_inet(fd, family=AF_UNSPEC, type=0, listening=-1, port=0) -> bool\n\n"
+ "Wraps sd_is_socket_inet(3).\n\n"
+ "Constants for `family` are defined in the socket module."
+);
+
+static PyObject* is_socket_inet(PyObject *self, PyObject *args) {
+ int r;
+ int fd, family = AF_UNSPEC, type = 0, listening = -1, port = 0;
+
+ if (!PyArg_ParseTuple(args, "i|iiii:_is_socket_inet",
+ &fd, &family, &type, &listening, &port))
+ return NULL;
+
+ if (port < 0 || port > INT16_MAX)
+ return set_error(-EINVAL, "port must fit into uint16_t");
+
+ r = sd_is_socket_inet(fd, family, type, listening, (uint16_t) port);
+ if (r < 0)
+ return set_error(r, NULL);
+
+ return PyBool_FromLong(r);
+}
+
+
+PyDoc_STRVAR(is_socket_unix__doc__,
+ "_is_socket_unix(fd, type, listening, path) -> bool\n\n"
+ "Wraps sd_is_socket_unix(3)."
+);
+
+static PyObject* is_socket_unix(PyObject *self, PyObject *args) {
+ int r;
+ int fd, type = 0, listening = -1;
+ char* path = NULL;
+ Py_ssize_t length = 0;
+
+#if PY_MAJOR_VERSION >=3 && PY_MINOR_VERSION >= 1
+ _cleanup_Py_DECREF_ PyObject *_path = NULL;
+ if (!PyArg_ParseTuple(args, "i|iiO&:_is_socket_unix",
+ &fd, &type, &listening, Unicode_FSConverter, &_path))
+ return NULL;
+ if (_path) {
+ assert(PyBytes_Check(_path));
+ if (PyBytes_AsStringAndSize(_path, &path, &length))
+ return NULL;
+ }
+#else
+ if (!PyArg_ParseTuple(args, "i|iiz#:_is_socket_unix",
+ &fd, &type, &listening, &path, &length))
+ return NULL;
+#endif
+
+ r = sd_is_socket_unix(fd, type, listening, path, length);
+ if (r < 0)
+ return set_error(r, NULL);
+
+ return PyBool_FromLong(r);
+}
+
+
+static PyMethodDef methods[] = {
+ { "booted", booted, METH_NOARGS, booted__doc__},
+ { "_listen_fds", listen_fds, METH_VARARGS, listen_fds__doc__},
+ { "_is_fifo", is_fifo, METH_VARARGS, is_fifo__doc__},
+ { "_is_mq", is_mq, METH_VARARGS, is_mq__doc__},
+ { "_is_socket", is_socket, METH_VARARGS, is_socket__doc__},
+ { "_is_socket_inet", is_socket_inet, METH_VARARGS, is_socket_inet__doc__},
+ { "_is_socket_unix", is_socket_unix, METH_VARARGS, is_socket_unix__doc__},
+ { NULL, NULL, 0, NULL } /* Sentinel */
+};
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wmissing-prototypes"
+
+#if PY_MAJOR_VERSION < 3
+
+PyMODINIT_FUNC init_daemon(void) {
+ PyObject *m;
+
+ m = Py_InitModule3("_daemon", methods, module__doc__);
+ if (m == NULL)
+ return;
+
+ PyModule_AddIntConstant(m, "LISTEN_FDS_START", SD_LISTEN_FDS_START);
+ PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION);
+}
+
+#else
+
+static struct PyModuleDef module = {
+ PyModuleDef_HEAD_INIT,
+ "_daemon", /* name of module */
+ module__doc__, /* module documentation, may be NULL */
+ 0, /* size of per-interpreter state of the module */
+ methods
+};
+
+PyMODINIT_FUNC PyInit__daemon(void) {
+ PyObject *m;
+
+ m = PyModule_Create(&module);
+ if (m == NULL)
+ return NULL;
+
+ if (PyModule_AddIntConstant(m, "LISTEN_FDS_START", SD_LISTEN_FDS_START) ||
+ PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+
+ return m;
+}
+
+#endif
+
+#pragma GCC diagnostic pop
diff --git a/src/python-systemd/_journal.c b/src/python-systemd/_journal.c
index 0bdf709aea..f8e0b4f7f2 100644
--- a/src/python-systemd/_journal.c
+++ b/src/python-systemd/_journal.c
@@ -3,7 +3,7 @@
/***
This file is part of systemd.
- Copyright 2012 David Strauss
+ Copyright 2012 David Strauss <david@davidstrauss.net>
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
@@ -119,7 +119,13 @@ static PyMethodDef methods[] = {
#if PY_MAJOR_VERSION < 3
PyMODINIT_FUNC init_journal(void) {
- (void) Py_InitModule("_journal", methods);
+ PyObject *m;
+
+ m = Py_InitModule("_journal", methods);
+ if (m == NULL)
+ return;
+
+ PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION);
}
#else
@@ -128,12 +134,23 @@ static struct PyModuleDef module = {
PyModuleDef_HEAD_INIT,
"_journal", /* name of module */
NULL, /* module documentation, may be NULL */
- 0, /* size of per-interpreter state of the module */
+ -1, /* size of per-interpreter state of the module */
methods
};
PyMODINIT_FUNC PyInit__journal(void) {
- return PyModule_Create(&module);
+ PyObject *m;
+
+ m = PyModule_Create(&module);
+ if (m == NULL)
+ return NULL;
+
+ if (PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+
+ return m;
}
#endif
diff --git a/src/python-systemd/_reader.c b/src/python-systemd/_reader.c
new file mode 100644
index 0000000000..d20c58d2a8
--- /dev/null
+++ b/src/python-systemd/_reader.c
@@ -0,0 +1,1131 @@
+/*-*- Mode: C; c-basic-offset: 4; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Steven Hiscocks, Zbigniew Jędrzejewski-Szmek
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <Python.h>
+#include <structmember.h>
+#include <datetime.h>
+#include <time.h>
+#include <stdio.h>
+
+#include <systemd/sd-journal.h>
+
+#include "pyutil.h"
+#include "macro.h"
+#include "util.h"
+#include "build.h"
+
+typedef struct {
+ PyObject_HEAD
+ sd_journal *j;
+} Reader;
+static PyTypeObject ReaderType;
+
+static int set_error(int r, const char* path, const char* invalid_message) {
+ if (r >= 0)
+ return r;
+ if (r == -EINVAL && invalid_message)
+ PyErr_SetString(PyExc_ValueError, invalid_message);
+ else if (r == -ENOMEM)
+ PyErr_SetString(PyExc_MemoryError, "Not enough memory");
+ else {
+ errno = -r;
+ PyErr_SetFromErrnoWithFilename(PyExc_OSError, path);
+ }
+ return -1;
+}
+
+
+PyDoc_STRVAR(module__doc__,
+ "Class to reads the systemd journal similar to journalctl.");
+
+
+#if PY_MAJOR_VERSION >= 3
+static PyTypeObject MonotonicType;
+
+PyDoc_STRVAR(MonotonicType__doc__,
+ "A tuple of (timestamp, bootid) for holding monotonic timestamps");
+
+static PyStructSequence_Field MonotonicType_fields[] = {
+ {(char*) "timestamp", (char*) "Time"},
+ {(char*) "bootid", (char*) "Unique identifier of the boot"},
+ {} /* Sentinel */
+};
+
+static PyStructSequence_Desc Monotonic_desc = {
+ (char*) "journal.Monotonic",
+ MonotonicType__doc__,
+ MonotonicType_fields,
+ 2,
+};
+#endif
+
+
+static void Reader_dealloc(Reader* self)
+{
+ sd_journal_close(self->j);
+ Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+PyDoc_STRVAR(Reader__doc__,
+ "_Reader([flags | path]) -> ...\n\n"
+ "_Reader allows filtering and retrieval of Journal entries.\n"
+ "Note: this is a low-level interface, and probably not what you\n"
+ "want, use systemd.journal.Reader instead.\n\n"
+ "Argument `flags` sets open flags of the journal, which can be one\n"
+ "of, or ORed combination of constants: LOCAL_ONLY (default) opens\n"
+ "journal on local machine only; RUNTIME_ONLY opens only\n"
+ "volatile journal files; and SYSTEM_ONLY opens only\n"
+ "journal files of system services and the kernel.\n\n"
+ "Argument `path` is the directory of journal files. Note that\n"
+ "`flags` and `path` are exclusive.\n\n"
+ "_Reader implements the context manager protocol: the journal\n"
+ "will be closed when exiting the block.");
+static int Reader_init(Reader *self, PyObject *args, PyObject *keywds)
+{
+ int flags = 0, r;
+ char *path = NULL;
+
+ static const char* const kwlist[] = {"flags", "path", NULL};
+ if (!PyArg_ParseTupleAndKeywords(args, keywds, "|iz", (char**) kwlist,
+ &flags, &path))
+ return -1;
+
+ if (!flags)
+ flags = SD_JOURNAL_LOCAL_ONLY;
+ else
+ if (path) {
+ PyErr_SetString(PyExc_ValueError, "cannot use both flags and path");
+ return -1;
+ }
+
+ Py_BEGIN_ALLOW_THREADS
+ if (path)
+ r = sd_journal_open_directory(&self->j, path, 0);
+ else
+ r = sd_journal_open(&self->j, flags);
+ Py_END_ALLOW_THREADS
+
+ return set_error(r, path, "Invalid flags or path");
+}
+
+
+PyDoc_STRVAR(Reader_fileno__doc__,
+ "fileno() -> int\n\n"
+ "Get a file descriptor to poll for changes in the journal.\n"
+ "This method invokes sd_journal_get_fd().\n"
+ "See man:sd_journal_get_fd(3).");
+static PyObject* Reader_fileno(Reader *self, PyObject *args)
+{
+ int fd = sd_journal_get_fd(self->j);
+ set_error(fd, NULL, NULL);
+ if (fd < 0)
+ return NULL;
+ return long_FromLong(fd);
+}
+
+
+PyDoc_STRVAR(Reader_reliable_fd__doc__,
+ "reliable_fd() -> bool\n\n"
+ "Returns True iff the journal can be polled reliably.\n"
+ "This method invokes sd_journal_reliable_fd().\n"
+ "See man:sd_journal_reliable_fd(3).");
+static PyObject* Reader_reliable_fd(Reader *self, PyObject *args)
+{
+ int r = sd_journal_reliable_fd(self->j);
+ set_error(r, NULL, NULL);
+ if (r < 0)
+ return NULL;
+ return PyBool_FromLong(r);
+}
+
+
+PyDoc_STRVAR(Reader_get_events__doc__,
+ "get_events() -> int\n\n"
+ "Returns a mask of poll() events to wait for on the file\n"
+ "descriptor returned by .fileno().\n\n"
+ "See man:sd_journal_get_events(3) for further discussion.");
+static PyObject* Reader_get_events(Reader *self, PyObject *args)
+{
+ int r = sd_journal_get_events(self->j);
+ set_error(r, NULL, NULL);
+ if (r < 0)
+ return NULL;
+ return long_FromLong(r);
+}
+
+
+PyDoc_STRVAR(Reader_get_timeout__doc__,
+ "get_timeout() -> int or None\n\n"
+ "Returns a timeout value for usage in poll(), the time since the\n"
+ "epoch of clock_gettime(2) in microseconds, or None if no timeout\n"
+ "is necessary.\n\n"
+ "The return value must be converted to a relative timeout in \n"
+ "milliseconds if it is to be used as an argument for poll().\n"
+ "See man:sd_journal_get_timeout(3) for further discussion.");
+static PyObject* Reader_get_timeout(Reader *self, PyObject *args)
+{
+ int r;
+ uint64_t t;
+
+ r = sd_journal_get_timeout(self->j, &t);
+ set_error(r, NULL, NULL);
+ if (r < 0)
+ return NULL;
+
+ if (t == (uint64_t) -1)
+ Py_RETURN_NONE;
+
+ assert_cc(sizeof(unsigned long long) == sizeof(t));
+ return PyLong_FromUnsignedLongLong(t);
+}
+
+
+PyDoc_STRVAR(Reader_get_timeout_ms__doc__,
+ "get_timeout_ms() -> int\n\n"
+ "Returns a timeout value suitable for usage in poll(), the value\n"
+ "returned by .get_timeout() converted to relative ms, or -1 if\n"
+ "no timeout is necessary.");
+static PyObject* Reader_get_timeout_ms(Reader *self, PyObject *args)
+{
+ int r;
+ uint64_t t;
+
+ r = sd_journal_get_timeout(self->j, &t);
+ set_error(r, NULL, NULL);
+ if (r < 0)
+ return NULL;
+
+ return absolute_timeout(t);
+}
+
+
+PyDoc_STRVAR(Reader_close__doc__,
+ "close() -> None\n\n"
+ "Free resources allocated by this Reader object.\n"
+ "This method invokes sd_journal_close().\n"
+ "See man:sd_journal_close(3).");
+static PyObject* Reader_close(Reader *self, PyObject *args)
+{
+ assert(self);
+ assert(!args);
+
+ sd_journal_close(self->j);
+ self->j = NULL;
+ Py_RETURN_NONE;
+}
+
+
+PyDoc_STRVAR(Reader_get_usage__doc__,
+ "get_usage() -> int\n\n"
+ "Returns the total disk space currently used by journal\n"
+ "files (in bytes). If `SD_JOURNAL_LOCAL_ONLY` was\n"
+ "passed when opening the journal this value will only reflect\n"
+ "the size of journal files of the local host, otherwise\n"
+ "of all hosts.\n\n"
+ "This method invokes sd_journal_get_usage().\n"
+ "See man:sd_journal_get_usage(3).");
+static PyObject* Reader_get_usage(Reader *self, PyObject *args)
+{
+ int r;
+ uint64_t bytes;
+
+ r = sd_journal_get_usage(self->j, &bytes);
+ if (set_error(r, NULL, NULL))
+ return NULL;
+
+ assert_cc(sizeof(unsigned long long) == sizeof(bytes));
+ return PyLong_FromUnsignedLongLong(bytes);
+}
+
+
+PyDoc_STRVAR(Reader___enter____doc__,
+ "__enter__() -> self\n\n"
+ "Part of the context manager protocol.\n"
+ "Returns self.\n");
+static PyObject* Reader___enter__(PyObject *self, PyObject *args)
+{
+ assert(self);
+ assert(!args);
+
+ Py_INCREF(self);
+ return self;
+}
+
+PyDoc_STRVAR(Reader___exit____doc__,
+ "__exit__(type, value, traceback) -> None\n\n"
+ "Part of the context manager protocol.\n"
+ "Closes the journal.\n");
+static PyObject* Reader___exit__(Reader *self, PyObject *args)
+{
+ assert(self);
+
+ sd_journal_close(self->j);
+ self->j = NULL;
+ Py_RETURN_NONE;
+}
+
+
+PyDoc_STRVAR(Reader_next__doc__,
+ "next([skip]) -> bool\n\n"
+ "Go to the next log entry. Optional skip value means to go to\n"
+ "the `skip`\\-th log entry.\n"
+ "Returns False if at end of file, True otherwise.");
+static PyObject* Reader_next(Reader *self, PyObject *args)
+{
+ int64_t skip = 1LL;
+ int r;
+
+ if (!PyArg_ParseTuple(args, "|L:next", &skip))
+ return NULL;
+
+ if (skip == 0LL) {
+ PyErr_SetString(PyExc_ValueError, "skip must be nonzero");
+ return NULL;
+ }
+
+ Py_BEGIN_ALLOW_THREADS
+ if (skip == 1LL)
+ r = sd_journal_next(self->j);
+ else if (skip == -1LL)
+ r = sd_journal_previous(self->j);
+ else if (skip > 1LL)
+ r = sd_journal_next_skip(self->j, skip);
+ else if (skip < -1LL)
+ r = sd_journal_previous_skip(self->j, -skip);
+ else
+ assert_not_reached("should not be here");
+ Py_END_ALLOW_THREADS
+
+ set_error(r, NULL, NULL);
+ if (r < 0)
+ return NULL;
+ return PyBool_FromLong(r);
+}
+
+PyDoc_STRVAR(Reader_previous__doc__,
+ "previous([skip]) -> bool\n\n"
+ "Go to the previous log entry. Optional skip value means to \n"
+ "go to the `skip`\\-th previous log entry.\n"
+ "Returns False if at start of file, True otherwise.");
+static PyObject* Reader_previous(Reader *self, PyObject *args)
+{
+ int64_t skip = 1LL;
+ if (!PyArg_ParseTuple(args, "|L:previous", &skip))
+ return NULL;
+
+ return PyObject_CallMethod((PyObject *)self, (char*) "_next",
+ (char*) "L", -skip);
+}
+
+
+static int extract(const char* msg, size_t msg_len,
+ PyObject **key, PyObject **value) {
+ PyObject *k = NULL, *v;
+ const char *delim_ptr;
+
+ delim_ptr = memchr(msg, '=', msg_len);
+ if (!delim_ptr) {
+ PyErr_SetString(PyExc_OSError,
+ "journal gave us a field without '='");
+ return -1;
+ }
+
+ if (key) {
+ k = unicode_FromStringAndSize(msg, delim_ptr - (const char*) msg);
+ if (!k)
+ return -1;
+ }
+
+ if (value) {
+ v = PyBytes_FromStringAndSize(delim_ptr + 1,
+ (const char*) msg + msg_len - (delim_ptr + 1));
+ if (!v) {
+ Py_XDECREF(k);
+ return -1;
+ }
+
+ *value = v;
+ }
+
+ if (key)
+ *key = k;
+
+ return 0;
+}
+
+PyDoc_STRVAR(Reader_get__doc__,
+ "get(str) -> str\n\n"
+ "Return data associated with this key in current log entry.\n"
+ "Throws KeyError is the data is not available.");
+static PyObject* Reader_get(Reader *self, PyObject *args)
+{
+ const char* field;
+ const void* msg;
+ size_t msg_len;
+ PyObject *value;
+ int r;
+
+ assert(self);
+ assert(args);
+
+ if (!PyArg_ParseTuple(args, "s:get", &field))
+ return NULL;
+
+ r = sd_journal_get_data(self->j, field, &msg, &msg_len);
+ if (r == -ENOENT) {
+ PyErr_SetString(PyExc_KeyError, field);
+ return NULL;
+ } else if (set_error(r, NULL, "field name is not valid"))
+ return NULL;
+
+ r = extract(msg, msg_len, NULL, &value);
+ if (r < 0)
+ return NULL;
+ return value;
+}
+
+
+PyDoc_STRVAR(Reader_get_all__doc__,
+ "_get_all() -> dict\n\n"
+ "Return dictionary of the current log entry.");
+static PyObject* Reader_get_all(Reader *self, PyObject *args)
+{
+ PyObject *dict;
+ const void *msg;
+ size_t msg_len;
+ int r;
+
+ dict = PyDict_New();
+ if (!dict)
+ return NULL;
+
+ SD_JOURNAL_FOREACH_DATA(self->j, msg, msg_len) {
+ _cleanup_Py_DECREF_ PyObject *key = NULL, *value = NULL;
+
+ r = extract(msg, msg_len, &key, &value);
+ if (r < 0)
+ goto error;
+
+ if (PyDict_Contains(dict, key)) {
+ PyObject *cur_value = PyDict_GetItem(dict, key);
+
+ if (PyList_CheckExact(cur_value)) {
+ r = PyList_Append(cur_value, value);
+ if (r < 0)
+ goto error;
+ } else {
+ _cleanup_Py_DECREF_ PyObject *tmp_list = PyList_New(0);
+ if (!tmp_list)
+ goto error;
+
+ r = PyList_Append(tmp_list, cur_value);
+ if (r < 0)
+ goto error;
+
+ r = PyList_Append(tmp_list, value);
+ if (r < 0)
+ goto error;
+
+ r = PyDict_SetItem(dict, key, tmp_list);
+ if (r < 0)
+ goto error;
+ }
+ } else {
+ r = PyDict_SetItem(dict, key, value);
+ if (r < 0)
+ goto error;
+ }
+ }
+
+ return dict;
+
+error:
+ Py_DECREF(dict);
+ return NULL;
+}
+
+
+PyDoc_STRVAR(Reader_get_realtime__doc__,
+ "get_realtime() -> int\n\n"
+ "Return the realtime timestamp for the current journal entry\n"
+ "in microseconds.\n\n"
+ "Wraps sd_journal_get_realtime_usec().\n"
+ "See man:sd_journal_get_realtime_usec(3).");
+static PyObject* Reader_get_realtime(Reader *self, PyObject *args)
+{
+ uint64_t timestamp;
+ int r;
+
+ assert(self);
+ assert(!args);
+
+ r = sd_journal_get_realtime_usec(self->j, &timestamp);
+ if (set_error(r, NULL, NULL))
+ return NULL;
+
+ assert_cc(sizeof(unsigned long long) == sizeof(timestamp));
+ return PyLong_FromUnsignedLongLong(timestamp);
+}
+
+
+PyDoc_STRVAR(Reader_get_monotonic__doc__,
+ "get_monotonic() -> (timestamp, bootid)\n\n"
+ "Return the monotonic timestamp for the current journal entry\n"
+ "as a tuple of time in microseconds and bootid.\n\n"
+ "Wraps sd_journal_get_monotonic_usec().\n"
+ "See man:sd_journal_get_monotonic_usec(3).");
+static PyObject* Reader_get_monotonic(Reader *self, PyObject *args)
+{
+ uint64_t timestamp;
+ sd_id128_t id;
+ PyObject *monotonic, *bootid, *tuple;
+ int r;
+
+ assert(self);
+ assert(!args);
+
+ r = sd_journal_get_monotonic_usec(self->j, &timestamp, &id);
+ if (set_error(r, NULL, NULL))
+ return NULL;
+
+ assert_cc(sizeof(unsigned long long) == sizeof(timestamp));
+ monotonic = PyLong_FromUnsignedLongLong(timestamp);
+ bootid = PyBytes_FromStringAndSize((const char*) &id.bytes, sizeof(id.bytes));
+#if PY_MAJOR_VERSION >= 3
+ tuple = PyStructSequence_New(&MonotonicType);
+#else
+ tuple = PyTuple_New(2);
+#endif
+ if (!monotonic || !bootid || !tuple) {
+ Py_XDECREF(monotonic);
+ Py_XDECREF(bootid);
+ Py_XDECREF(tuple);
+ return NULL;
+ }
+
+#if PY_MAJOR_VERSION >= 3
+ PyStructSequence_SET_ITEM(tuple, 0, monotonic);
+ PyStructSequence_SET_ITEM(tuple, 1, bootid);
+#else
+ PyTuple_SET_ITEM(tuple, 0, monotonic);
+ PyTuple_SET_ITEM(tuple, 1, bootid);
+#endif
+
+ return tuple;
+}
+
+PyDoc_STRVAR(Reader_add_match__doc__,
+ "add_match(match) -> None\n\n"
+ "Add a match to filter journal log entries. All matches of different\n"
+ "fields are combined with logical AND, and matches of the same field\n"
+ "are automatically combined with logical OR.\n"
+ "Match is a string of the form \"FIELD=value\".");
+static PyObject* Reader_add_match(Reader *self, PyObject *args, PyObject *keywds)
+{
+ char *match;
+ int match_len, r;
+ if (!PyArg_ParseTuple(args, "s#:add_match", &match, &match_len))
+ return NULL;
+
+ r = sd_journal_add_match(self->j, match, match_len);
+ set_error(r, NULL, "Invalid match");
+ if (r < 0)
+ return NULL;
+
+ Py_RETURN_NONE;
+}
+
+
+PyDoc_STRVAR(Reader_add_disjunction__doc__,
+ "add_disjunction() -> None\n\n"
+ "Inserts a logical OR between matches added since previous\n"
+ "add_disjunction() or add_conjunction() and the next\n"
+ "add_disjunction() or add_conjunction().\n\n"
+ "See man:sd_journal_add_disjunction(3) for explanation.");
+static PyObject* Reader_add_disjunction(Reader *self, PyObject *args)
+{
+ int r;
+ r = sd_journal_add_disjunction(self->j);
+ set_error(r, NULL, NULL);
+ if (r < 0)
+ return NULL;
+ Py_RETURN_NONE;
+}
+
+
+PyDoc_STRVAR(Reader_add_conjunction__doc__,
+ "add_conjunction() -> None\n\n"
+ "Inserts a logical AND between matches added since previous\n"
+ "add_disjunction() or add_conjunction() and the next\n"
+ "add_disjunction() or add_conjunction().\n\n"
+ "See man:sd_journal_add_disjunction(3) for explanation.");
+static PyObject* Reader_add_conjunction(Reader *self, PyObject *args)
+{
+ int r;
+ r = sd_journal_add_conjunction(self->j);
+ set_error(r, NULL, NULL);
+ if (r < 0)
+ return NULL;
+ Py_RETURN_NONE;
+}
+
+
+PyDoc_STRVAR(Reader_flush_matches__doc__,
+ "flush_matches() -> None\n\n"
+ "Clear all current match filters.");
+static PyObject* Reader_flush_matches(Reader *self, PyObject *args)
+{
+ sd_journal_flush_matches(self->j);
+ Py_RETURN_NONE;
+}
+
+
+PyDoc_STRVAR(Reader_seek_head__doc__,
+ "seek_head() -> None\n\n"
+ "Jump to the beginning of the journal.\n"
+ "This method invokes sd_journal_seek_head().\n"
+ "See man:sd_journal_seek_head(3).");
+static PyObject* Reader_seek_head(Reader *self, PyObject *args)
+{
+ int r;
+ Py_BEGIN_ALLOW_THREADS
+ r = sd_journal_seek_head(self->j);
+ Py_END_ALLOW_THREADS
+ if (set_error(r, NULL, NULL))
+ return NULL;
+ Py_RETURN_NONE;
+}
+
+
+PyDoc_STRVAR(Reader_seek_tail__doc__,
+ "seek_tail() -> None\n\n"
+ "Jump to the end of the journal.\n"
+ "This method invokes sd_journal_seek_tail().\n"
+ "See man:sd_journal_seek_tail(3).");
+static PyObject* Reader_seek_tail(Reader *self, PyObject *args)
+{
+ int r;
+ Py_BEGIN_ALLOW_THREADS
+ r = sd_journal_seek_tail(self->j);
+ Py_END_ALLOW_THREADS
+ if (set_error(r, NULL, NULL))
+ return NULL;
+ Py_RETURN_NONE;
+}
+
+
+PyDoc_STRVAR(Reader_seek_realtime__doc__,
+ "seek_realtime(realtime) -> None\n\n"
+ "Seek to nearest matching journal entry to `realtime`. Argument\n"
+ "`realtime` in specified in seconds.");
+static PyObject* Reader_seek_realtime(Reader *self, PyObject *args)
+{
+ uint64_t timestamp;
+ int r;
+
+ if (!PyArg_ParseTuple(args, "K:seek_realtime", &timestamp))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ r = sd_journal_seek_realtime_usec(self->j, timestamp);
+ Py_END_ALLOW_THREADS
+ if (set_error(r, NULL, NULL))
+ return NULL;
+ Py_RETURN_NONE;
+}
+
+
+PyDoc_STRVAR(Reader_seek_monotonic__doc__,
+ "seek_monotonic(monotonic[, bootid]) -> None\n\n"
+ "Seek to nearest matching journal entry to `monotonic`. Argument\n"
+ "`monotonic` is an timestamp from boot in microseconds.\n"
+ "Argument `bootid` is a string representing which boot the\n"
+ "monotonic time is reference to. Defaults to current bootid.");
+static PyObject* Reader_seek_monotonic(Reader *self, PyObject *args)
+{
+ char *bootid = NULL;
+ uint64_t timestamp;
+ sd_id128_t id;
+ int r;
+
+ if (!PyArg_ParseTuple(args, "K|z:seek_monotonic", &timestamp, &bootid))
+ return NULL;
+
+ if (bootid) {
+ r = sd_id128_from_string(bootid, &id);
+ if (set_error(r, NULL, "Invalid bootid"))
+ return NULL;
+ } else {
+ Py_BEGIN_ALLOW_THREADS
+ r = sd_id128_get_boot(&id);
+ Py_END_ALLOW_THREADS
+ if (set_error(r, NULL, NULL))
+ return NULL;
+ }
+
+ Py_BEGIN_ALLOW_THREADS
+ r = sd_journal_seek_monotonic_usec(self->j, id, timestamp);
+ Py_END_ALLOW_THREADS
+ if (set_error(r, NULL, NULL))
+ return NULL;
+
+ Py_RETURN_NONE;
+}
+
+
+PyDoc_STRVAR(Reader_process__doc__,
+ "process() -> state change (integer)\n\n"
+ "Process events and reset the readable state of the file\n"
+ "descriptor returned by .fileno().\n\n"
+ "Will return constants: NOP if no change; APPEND if new\n"
+ "entries have been added to the end of the journal; and\n"
+ "INVALIDATE if journal files have been added or removed.\n\n"
+ "See man:sd_journal_process(3) for further discussion.");
+static PyObject* Reader_process(Reader *self, PyObject *args)
+{
+ int r;
+
+ assert(!args);
+
+ Py_BEGIN_ALLOW_THREADS
+ r = sd_journal_process(self->j);
+ Py_END_ALLOW_THREADS
+ if (set_error(r, NULL, NULL) < 0)
+ return NULL;
+
+ return long_FromLong(r);
+}
+
+
+PyDoc_STRVAR(Reader_wait__doc__,
+ "wait([timeout]) -> state change (integer)\n\n"
+ "Wait for a change in the journal. Argument `timeout` specifies\n"
+ "the maximum number of microseconds to wait before returning\n"
+ "regardless of wheter the journal has changed. If `timeout` is -1,\n"
+ "then block forever.\n\n"
+ "Will return constants: NOP if no change; APPEND if new\n"
+ "entries have been added to the end of the journal; and\n"
+ "INVALIDATE if journal files have been added or removed.\n\n"
+ "See man:sd_journal_wait(3) for further discussion.");
+static PyObject* Reader_wait(Reader *self, PyObject *args)
+{
+ int r;
+ int64_t timeout;
+
+ if (!PyArg_ParseTuple(args, "|L:wait", &timeout))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ r = sd_journal_wait(self->j, timeout);
+ Py_END_ALLOW_THREADS
+ if (set_error(r, NULL, NULL) < 0)
+ return NULL;
+
+ return long_FromLong(r);
+}
+
+
+PyDoc_STRVAR(Reader_seek_cursor__doc__,
+ "seek_cursor(cursor) -> None\n\n"
+ "Seek to journal entry by given unique reference `cursor`.");
+static PyObject* Reader_seek_cursor(Reader *self, PyObject *args)
+{
+ const char *cursor;
+ int r;
+
+ if (!PyArg_ParseTuple(args, "s:seek_cursor", &cursor))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ r = sd_journal_seek_cursor(self->j, cursor);
+ Py_END_ALLOW_THREADS
+ if (set_error(r, NULL, "Invalid cursor"))
+ return NULL;
+ Py_RETURN_NONE;
+}
+
+
+PyDoc_STRVAR(Reader_get_cursor__doc__,
+ "get_cursor() -> str\n\n"
+ "Return a cursor string for the current journal entry.\n\n"
+ "Wraps sd_journal_get_cursor(). See man:sd_journal_get_cursor(3).");
+static PyObject* Reader_get_cursor(Reader *self, PyObject *args)
+{
+ _cleanup_free_ char *cursor = NULL;
+ int r;
+
+ assert(self);
+ assert(!args);
+
+ r = sd_journal_get_cursor(self->j, &cursor);
+ if (set_error(r, NULL, NULL))
+ return NULL;
+
+ return unicode_FromString(cursor);
+}
+
+
+PyDoc_STRVAR(Reader_test_cursor__doc__,
+ "test_cursor(str) -> bool\n\n"
+ "Test whether the cursor string matches current journal entry.\n\n"
+ "Wraps sd_journal_test_cursor(). See man:sd_journal_test_cursor(3).");
+static PyObject* Reader_test_cursor(Reader *self, PyObject *args)
+{
+ const char *cursor;
+ int r;
+
+ assert(self);
+ assert(args);
+
+ if (!PyArg_ParseTuple(args, "s:test_cursor", &cursor))
+ return NULL;
+
+ r = sd_journal_test_cursor(self->j, cursor);
+ set_error(r, NULL, NULL);
+ if (r < 0)
+ return NULL;
+
+ return PyBool_FromLong(r);
+}
+
+PyDoc_STRVAR(Reader_query_unique__doc__,
+ "query_unique(field) -> a set of values\n\n"
+ "Return a set of unique values appearing in journal for the\n"
+ "given `field`. Note this does not respect any journal matches.");
+static PyObject* Reader_query_unique(Reader *self, PyObject *args)
+{
+ char *query;
+ int r;
+ const void *uniq;
+ size_t uniq_len;
+ PyObject *value_set, *key, *value;
+
+ if (!PyArg_ParseTuple(args, "s:query_unique", &query))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ r = sd_journal_query_unique(self->j, query);
+ Py_END_ALLOW_THREADS
+ if (set_error(r, NULL, "Invalid field name"))
+ return NULL;
+
+ value_set = PySet_New(0);
+ key = unicode_FromString(query);
+
+ SD_JOURNAL_FOREACH_UNIQUE(self->j, uniq, uniq_len) {
+ const char *delim_ptr;
+
+ delim_ptr = memchr(uniq, '=', uniq_len);
+ value = PyBytes_FromStringAndSize(
+ delim_ptr + 1,
+ (const char*) uniq + uniq_len - (delim_ptr + 1));
+ PySet_Add(value_set, value);
+ Py_DECREF(value);
+ }
+ Py_DECREF(key);
+ return value_set;
+}
+
+
+PyDoc_STRVAR(Reader_get_catalog__doc__,
+ "get_catalog() -> str\n\n"
+ "Retrieve a message catalog entry for the current journal entry.\n"
+ "Will throw IndexError if the entry has no MESSAGE_ID\n"
+ "and KeyError is the id is specified, but hasn't been found\n"
+ "in the catalog.\n\n"
+ "Wraps man:sd_journal_get_catalog(3).");
+static PyObject* Reader_get_catalog(Reader *self, PyObject *args)
+{
+ int r;
+ _cleanup_free_ char *msg = NULL;
+
+ assert(self);
+ assert(!args);
+
+ Py_BEGIN_ALLOW_THREADS
+ r = sd_journal_get_catalog(self->j, &msg);
+ Py_END_ALLOW_THREADS
+ if (r == -ENOENT) {
+ const void* mid;
+ size_t mid_len;
+
+ r = sd_journal_get_data(self->j, "MESSAGE_ID", &mid, &mid_len);
+ if (r == 0) {
+ const int l = sizeof("MESSAGE_ID");
+ assert(mid_len > l);
+ PyErr_Format(PyExc_KeyError, "%.*s", (int) mid_len - l,
+ (const char*) mid + l);
+ } else if (r == -ENOENT)
+ PyErr_SetString(PyExc_IndexError, "no MESSAGE_ID field");
+ else
+ set_error(r, NULL, NULL);
+ return NULL;
+ } else if (set_error(r, NULL, NULL))
+ return NULL;
+
+ return unicode_FromString(msg);
+}
+
+
+PyDoc_STRVAR(get_catalog__doc__,
+ "get_catalog(id128) -> str\n\n"
+ "Retrieve a message catalog entry for the given id.\n"
+ "Wraps man:sd_journal_get_catalog_for_message_id(3).");
+static PyObject* get_catalog(PyObject *self, PyObject *args)
+{
+ int r;
+ char *id_ = NULL;
+ sd_id128_t id;
+ _cleanup_free_ char *msg = NULL;
+
+ assert(!self);
+ assert(args);
+
+ if (!PyArg_ParseTuple(args, "z:get_catalog", &id_))
+ return NULL;
+
+ r = sd_id128_from_string(id_, &id);
+ if (set_error(r, NULL, "Invalid id128"))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ r = sd_journal_get_catalog_for_message_id(id, &msg);
+ Py_END_ALLOW_THREADS
+ if (set_error(r, NULL, NULL))
+ return NULL;
+
+ return unicode_FromString(msg);
+}
+
+
+PyDoc_STRVAR(data_threshold__doc__,
+ "Threshold for field size truncation in bytes.\n\n"
+ "Fields longer than this will be truncated to the threshold size.\n"
+ "Defaults to 64Kb.");
+
+static PyObject* Reader_get_data_threshold(Reader *self, void *closure)
+{
+ size_t cvalue;
+ int r;
+
+ r = sd_journal_get_data_threshold(self->j, &cvalue);
+ if (set_error(r, NULL, NULL))
+ return NULL;
+
+ return long_FromSize_t(cvalue);
+}
+
+static int Reader_set_data_threshold(Reader *self, PyObject *value, void *closure)
+{
+ int r;
+ if (value == NULL) {
+ PyErr_SetString(PyExc_AttributeError, "Cannot delete data threshold");
+ return -1;
+ }
+ if (!long_Check(value)){
+ PyErr_SetString(PyExc_TypeError, "Data threshold must be an int");
+ return -1;
+ }
+ r = sd_journal_set_data_threshold(self->j, (size_t) long_AsLong(value));
+ return set_error(r, NULL, NULL);
+}
+
+
+PyDoc_STRVAR(closed__doc__,
+ "True iff journal is closed");
+static PyObject* Reader_get_closed(Reader *self, void *closure)
+{
+ return PyBool_FromLong(self->j == NULL);
+}
+
+
+static PyGetSetDef Reader_getsetters[] = {
+ {(char*) "data_threshold",
+ (getter) Reader_get_data_threshold,
+ (setter) Reader_set_data_threshold,
+ (char*) data_threshold__doc__,
+ NULL},
+ {(char*) "closed",
+ (getter) Reader_get_closed,
+ NULL,
+ (char*) closed__doc__,
+ NULL},
+ {} /* Sentinel */
+};
+
+static PyMethodDef Reader_methods[] = {
+ {"fileno", (PyCFunction) Reader_fileno, METH_NOARGS, Reader_fileno__doc__},
+ {"reliable_fd", (PyCFunction) Reader_reliable_fd, METH_NOARGS, Reader_reliable_fd__doc__},
+ {"get_events", (PyCFunction) Reader_get_events, METH_NOARGS, Reader_get_events__doc__},
+ {"get_timeout", (PyCFunction) Reader_get_timeout, METH_NOARGS, Reader_get_timeout__doc__},
+ {"get_timeout_ms", (PyCFunction) Reader_get_timeout_ms, METH_NOARGS, Reader_get_timeout_ms__doc__},
+ {"close", (PyCFunction) Reader_close, METH_NOARGS, Reader_close__doc__},
+ {"get_usage", (PyCFunction) Reader_get_usage, METH_NOARGS, Reader_get_usage__doc__},
+ {"__enter__", (PyCFunction) Reader___enter__, METH_NOARGS, Reader___enter____doc__},
+ {"__exit__", (PyCFunction) Reader___exit__, METH_VARARGS, Reader___exit____doc__},
+ {"_next", (PyCFunction) Reader_next, METH_VARARGS, Reader_next__doc__},
+ {"_previous", (PyCFunction) Reader_previous, METH_VARARGS, Reader_previous__doc__},
+ {"_get", (PyCFunction) Reader_get, METH_VARARGS, Reader_get__doc__},
+ {"_get_all", (PyCFunction) Reader_get_all, METH_NOARGS, Reader_get_all__doc__},
+ {"_get_realtime", (PyCFunction) Reader_get_realtime, METH_NOARGS, Reader_get_realtime__doc__},
+ {"_get_monotonic", (PyCFunction) Reader_get_monotonic, METH_NOARGS, Reader_get_monotonic__doc__},
+ {"add_match", (PyCFunction) Reader_add_match, METH_VARARGS|METH_KEYWORDS, Reader_add_match__doc__},
+ {"add_disjunction", (PyCFunction) Reader_add_disjunction, METH_NOARGS, Reader_add_disjunction__doc__},
+ {"add_conjunction", (PyCFunction) Reader_add_conjunction, METH_NOARGS, Reader_add_conjunction__doc__},
+ {"flush_matches", (PyCFunction) Reader_flush_matches, METH_NOARGS, Reader_flush_matches__doc__},
+ {"seek_head", (PyCFunction) Reader_seek_head, METH_NOARGS, Reader_seek_head__doc__},
+ {"seek_tail", (PyCFunction) Reader_seek_tail, METH_NOARGS, Reader_seek_tail__doc__},
+ {"seek_realtime", (PyCFunction) Reader_seek_realtime, METH_VARARGS, Reader_seek_realtime__doc__},
+ {"seek_monotonic", (PyCFunction) Reader_seek_monotonic, METH_VARARGS, Reader_seek_monotonic__doc__},
+ {"process", (PyCFunction) Reader_process, METH_NOARGS, Reader_process__doc__},
+ {"wait", (PyCFunction) Reader_wait, METH_VARARGS, Reader_wait__doc__},
+ {"seek_cursor", (PyCFunction) Reader_seek_cursor, METH_VARARGS, Reader_seek_cursor__doc__},
+ {"_get_cursor", (PyCFunction) Reader_get_cursor, METH_NOARGS, Reader_get_cursor__doc__},
+ {"test_cursor", (PyCFunction) Reader_test_cursor, METH_VARARGS, Reader_test_cursor__doc__},
+ {"query_unique", (PyCFunction) Reader_query_unique, METH_VARARGS, Reader_query_unique__doc__},
+ {"get_catalog", (PyCFunction) Reader_get_catalog, METH_NOARGS, Reader_get_catalog__doc__},
+ {} /* Sentinel */
+};
+
+static PyTypeObject ReaderType = {
+ PyVarObject_HEAD_INIT(NULL, 0)
+ "_reader._Reader", /*tp_name*/
+ sizeof(Reader), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ (destructor)Reader_dealloc, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ 0, /*tp_compare*/
+ 0, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ 0, /*tp_as_mapping*/
+ 0, /*tp_hash */
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/
+ Reader__doc__, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ Reader_methods, /* tp_methods */
+ 0, /* tp_members */
+ Reader_getsetters, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc) Reader_init, /* tp_init */
+ 0, /* tp_alloc */
+ PyType_GenericNew, /* tp_new */
+};
+
+static PyMethodDef methods[] = {
+ { "_get_catalog", get_catalog, METH_VARARGS, get_catalog__doc__},
+ { NULL, NULL, 0, NULL } /* Sentinel */
+};
+
+#if PY_MAJOR_VERSION >= 3
+static PyModuleDef module = {
+ PyModuleDef_HEAD_INIT,
+ "_reader",
+ module__doc__,
+ -1,
+ methods,
+ NULL, NULL, NULL, NULL
+};
+#endif
+
+#if PY_MAJOR_VERSION >= 3
+static bool initialized = false;
+#endif
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wmissing-prototypes"
+
+PyMODINIT_FUNC
+#if PY_MAJOR_VERSION >= 3
+PyInit__reader(void)
+#else
+init_reader(void)
+#endif
+{
+ PyObject* m;
+
+ PyDateTime_IMPORT;
+
+ if (PyType_Ready(&ReaderType) < 0)
+#if PY_MAJOR_VERSION >= 3
+ return NULL;
+#else
+ return;
+#endif
+
+#if PY_MAJOR_VERSION >= 3
+ m = PyModule_Create(&module);
+ if (m == NULL)
+ return NULL;
+
+ if (!initialized) {
+ PyStructSequence_InitType(&MonotonicType, &Monotonic_desc);
+ initialized = true;
+ }
+#else
+ m = Py_InitModule3("_reader", methods, module__doc__);
+ if (m == NULL)
+ return;
+#endif
+
+ Py_INCREF(&ReaderType);
+#if PY_MAJOR_VERSION >= 3
+ Py_INCREF(&MonotonicType);
+#endif
+ if (PyModule_AddObject(m, "_Reader", (PyObject *) &ReaderType) ||
+#if PY_MAJOR_VERSION >= 3
+ PyModule_AddObject(m, "Monotonic", (PyObject*) &MonotonicType) ||
+#endif
+ PyModule_AddIntConstant(m, "NOP", SD_JOURNAL_NOP) ||
+ PyModule_AddIntConstant(m, "APPEND", SD_JOURNAL_APPEND) ||
+ PyModule_AddIntConstant(m, "INVALIDATE", SD_JOURNAL_INVALIDATE) ||
+ PyModule_AddIntConstant(m, "LOCAL_ONLY", SD_JOURNAL_LOCAL_ONLY) ||
+ PyModule_AddIntConstant(m, "RUNTIME_ONLY", SD_JOURNAL_RUNTIME_ONLY) ||
+ PyModule_AddIntConstant(m, "SYSTEM_ONLY", SD_JOURNAL_SYSTEM_ONLY) ||
+ PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION)) {
+#if PY_MAJOR_VERSION >= 3
+ Py_DECREF(m);
+ return NULL;
+#endif
+ }
+
+#if PY_MAJOR_VERSION >= 3
+ return m;
+#endif
+}
+
+#pragma GCC diagnostic pop
diff --git a/src/python-systemd/daemon.py b/src/python-systemd/daemon.py
new file mode 100644
index 0000000000..e2829d1671
--- /dev/null
+++ b/src/python-systemd/daemon.py
@@ -0,0 +1,54 @@
+from ._daemon import (__version__,
+ booted,
+ _listen_fds,
+ _is_fifo,
+ _is_socket,
+ _is_socket_inet,
+ _is_socket_unix,
+ _is_mq,
+ LISTEN_FDS_START)
+from socket import AF_UNSPEC as _AF_UNSPEC
+
+def _convert_fileobj(fileobj):
+ try:
+ return fileobj.fileno()
+ except AttributeError:
+ return fileobj
+
+def is_fifo(fileobj, path=None):
+ fd = _convert_fileobj(fileobj)
+ return _is_fifo(fd, path)
+
+def is_socket(fileobj, family=_AF_UNSPEC, type=0, listening=-1):
+ fd = _convert_fileobj(fileobj)
+ return _is_socket(fd, family, type, listening)
+
+def is_socket_inet(fileobj, family=_AF_UNSPEC, type=0, listening=-1, port=0):
+ fd = _convert_fileobj(fileobj)
+ return _is_socket_inet(fd, family, type, listening)
+
+def is_socket_unix(fileobj, type=0, listening=-1, path=None):
+ fd = _convert_fileobj(fileobj)
+ return _is_socket_unix(fd, type, listening, path)
+
+def is_mq(fileobj, path=None):
+ fd = _convert_fileobj(fileobj)
+ return _is_mq(fd, path)
+
+def listen_fds(unset_environment=True):
+ """Return a list of socket activated descriptors
+
+ Example::
+
+ (in primary window)
+ $ systemd-activate -l 2000 python3 -c \\
+ 'from systemd.daemon import listen_fds; print(listen_fds())'
+ (in another window)
+ $ telnet localhost 2000
+ (in primary window)
+ ...
+ Execing python3 (...)
+ [3]
+ """
+ num = _listen_fds(unset_environment)
+ return list(range(LISTEN_FDS_START, LISTEN_FDS_START + num))
diff --git a/src/python-systemd/docs/.gitignore b/src/python-systemd/docs/.gitignore
new file mode 100644
index 0000000000..b06a965e6a
--- /dev/null
+++ b/src/python-systemd/docs/.gitignore
@@ -0,0 +1 @@
+!layout.html
diff --git a/src/python-systemd/docs/conf.py b/src/python-systemd/docs/conf.py
new file mode 100644
index 0000000000..1919170bb1
--- /dev/null
+++ b/src/python-systemd/docs/conf.py
@@ -0,0 +1,279 @@
+# -*- coding: utf-8 -*-
+#
+# python-systemd documentation build configuration file, created by
+# sphinx-quickstart on Sat Feb 9 13:49:42 2013.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration -----------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.intersphinx', 'sphinx.ext.coverage', 'sphinx.ext.viewcode']
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['.']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'python-systemd'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = []
+
+# The reST default role (used for this markup: `text`) to use for all documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+
+# -- Options for HTML output ---------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+html_theme = 'default'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further. For a list of options available for each theme, see the
+# documentation.
+#html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = []
+
+# The name for this set of Sphinx documents. If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar. Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['.']
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_domain_indices = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+html_show_sourcelink = False
+
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
+#html_show_sphinx = True
+
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
+#html_show_copyright = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it. The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# This is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = None
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'python-systemddoc'
+
+
+# -- Options for LaTeX output --------------------------------------------------
+
+latex_elements = {
+# The paper size ('letterpaper' or 'a4paper').
+#'papersize': 'letterpaper',
+
+# The font size ('10pt', '11pt' or '12pt').
+#'pointsize': '10pt',
+
+# Additional stuff for the LaTeX preamble.
+#'preamble': '',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title, author, documentclass [howto/manual]).
+latex_documents = [
+ ('index', 'python-systemd.tex', u'python-systemd Documentation',
+ None, 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# If true, show page references after internal links.
+#latex_show_pagerefs = False
+
+# If true, show URL addresses after external links.
+#latex_show_urls = False
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_domain_indices = True
+
+
+# -- Options for manual page output --------------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+ ('index', 'python-systemd', u'python-systemd Documentation',
+ [], 1)
+]
+
+# If true, show URL addresses after external links.
+#man_show_urls = False
+
+
+# -- Options for Texinfo output ------------------------------------------------
+
+# Grouping the document tree into Texinfo files. List of tuples
+# (source start file, target name, title, author,
+# dir menu entry, description, category)
+texinfo_documents = [
+ ('index', 'python-systemd', u'python-systemd Documentation',
+ u'David Strauss, Zbigniew Jędrzejewski-Szmek, Marti Raudsepp, Steven Hiscocks', 'python-systemd', 'One line description of project.',
+ 'Miscellaneous'),
+]
+
+# Documents to append as an appendix to all manuals.
+#texinfo_appendices = []
+
+# If false, no module index is generated.
+#texinfo_domain_indices = True
+
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
+#texinfo_show_urls = 'footnote'
+
+
+# -- Options for Epub output ---------------------------------------------------
+
+# Bibliographic Dublin Core info.
+epub_title = u'python-systemd'
+epub_author = u'David Strauss, Zbigniew Jędrzejewski-Szmek, Marti Raudsepp, Steven Hiscocks'
+epub_publisher = u'David Strauss, Zbigniew Jędrzejewski-Szmek, Marti Raudsepp, Steven Hiscocks'
+epub_copyright = u'2013, David Strauss, Zbigniew Jędrzejewski-Szmek, Marti Raudsepp, Steven Hiscocks'
+
+# The language of the text. It defaults to the language option
+# or en if the language is not set.
+#epub_language = ''
+
+# The scheme of the identifier. Typical schemes are ISBN or URL.
+#epub_scheme = ''
+
+# The unique identifier of the text. This can be a ISBN number
+# or the project homepage.
+#epub_identifier = ''
+
+# A unique identification for the text.
+#epub_uid = ''
+
+# A tuple containing the cover image and cover page html template filenames.
+#epub_cover = ()
+
+# HTML files that should be inserted before the pages created by sphinx.
+# The format is a list of tuples containing the path and title.
+#epub_pre_files = []
+
+# HTML files shat should be inserted after the pages created by sphinx.
+# The format is a list of tuples containing the path and title.
+#epub_post_files = []
+
+# A list of files that should not be packed into the epub file.
+#epub_exclude_files = []
+
+# The depth of the table of contents in toc.ncx.
+#epub_tocdepth = 3
+
+# Allow duplicate toc entries.
+#epub_tocdup = True
+
+
+# Example configuration for intersphinx: refer to the Python standard library.
+intersphinx_mapping = {'http://docs.python.org/': None}
diff --git a/src/python-systemd/docs/daemon.rst b/src/python-systemd/docs/daemon.rst
new file mode 100644
index 0000000000..72280ca2f0
--- /dev/null
+++ b/src/python-systemd/docs/daemon.rst
@@ -0,0 +1,16 @@
+`systemd.daemon` module
+=======================
+
+.. automodule:: systemd.daemon
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+ .. autoattribute:: systemd.daemon.LISTEN_FDS_START
+
+ .. autofunction:: _listen_fds
+ .. autofunction:: _is_fifo
+ .. autofunction:: _is_socket
+ .. autofunction:: _is_socket_unix
+ .. autofunction:: _is_socket_inet
+ .. autofunction:: _is_mq
diff --git a/src/python-systemd/docs/default.css b/src/python-systemd/docs/default.css
new file mode 100644
index 0000000000..7c097d64a2
--- /dev/null
+++ b/src/python-systemd/docs/default.css
@@ -0,0 +1,196 @@
+@import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+div.documentwrapper {
+ float: left;
+ width: 100%;
+}
+
+div.bodywrapper {
+ margin: 0 0 0 230px;
+}
+
+div.body {
+ background-color: #ffffff;
+ color: #000000;
+ padding: 0 20px 30px 20px;
+}
+
+div.footer {
+ color: #ffffff;
+ width: 100%;
+ padding: 9px 0 9px 0;
+ text-align: center;
+ font-size: 75%;
+}
+
+div.footer a {
+ color: #ffffff;
+ text-decoration: underline;
+}
+
+div.related {
+ background-color: #133f52;
+ line-height: 30px;
+ color: #ffffff;
+}
+
+div.related a {
+ color: #ffffff;
+}
+
+div.sphinxsidebar {
+ background-color: #dddddd;
+}
+
+div.sphinxsidebar p.topless {
+ margin: 5px 10px 10px 10px;
+}
+
+div.sphinxsidebar ul {
+ margin: 10px;
+ padding: 0;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid #000000;
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+
+
+/* -- hyperlink styles ------------------------------------------------------ */
+
+a {
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+
+
+/* -- body styles ----------------------------------------------------------- */
+
+div.body h1,
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6 {
+ font-family: 'Trebuchet MS', sans-serif;
+ background-color: #f2f2f2;
+ font-weight: normal;
+ color: #20435c;
+ border-bottom: 1px solid #ccc;
+ margin: 20px -20px 10px -20px;
+ padding: 3px 0 3px 10px;
+}
+
+div.body h1 { margin-top: 0; font-size: 200%; }
+div.body h2 { font-size: 160%; }
+div.body h3 { font-size: 140%; }
+div.body h4 { font-size: 120%; }
+div.body h5 { font-size: 110%; }
+div.body h6 { font-size: 100%; }
+
+a.headerlink {
+ color: #c60f0f;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+}
+
+a.headerlink:hover {
+ background-color: #c60f0f;
+ color: white;
+}
+
+div.body p, div.body dd, div.body li {
+ text-align: justify;
+ line-height: 130%;
+}
+
+div.admonition p.admonition-title + p {
+ display: inline;
+}
+
+div.admonition p {
+ margin-bottom: 5px;
+}
+
+div.admonition pre {
+ margin-bottom: 5px;
+}
+
+div.admonition ul, div.admonition ol {
+ margin-bottom: 5px;
+}
+
+div.note {
+ background-color: #eee;
+ border: 1px solid #ccc;
+}
+
+div.seealso {
+ background-color: #ffc;
+ border: 1px solid #ff6;
+}
+
+div.topic {
+ background-color: #eee;
+}
+
+div.warning {
+ background-color: #ffe4e4;
+ border: 1px solid #f66;
+}
+
+p.admonition-title {
+ display: inline;
+}
+
+p.admonition-title:after {
+ content: ":";
+}
+
+pre {
+ padding: 5px;
+ background-color: #eeffcc;
+ color: #333333;
+ line-height: 120%;
+ border: 1px solid #ac9;
+ border-left: none;
+ border-right: none;
+}
+
+tt {
+ background-color: #ecf0f3;
+ padding: 0 1px 0 1px;
+ font-size: 0.95em;
+}
+
+th {
+ background-color: #ede;
+}
+
+.warning tt {
+ background: #efc2c2;
+}
+
+.note tt {
+ background: #d6d6d6;
+}
+
+.viewcode-back {
+ font-family: sans-serif;
+}
+
+div.viewcode-block:target {
+ background-color: #f4debf;
+ border-top: 1px solid #ac9;
+ border-bottom: 1px solid #ac9;
+}
diff --git a/src/python-systemd/docs/id128.rst b/src/python-systemd/docs/id128.rst
new file mode 100644
index 0000000000..89c37f3470
--- /dev/null
+++ b/src/python-systemd/docs/id128.rst
@@ -0,0 +1,40 @@
+`systemd.id128` module
+======================
+
+.. automodule:: systemd.id128
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+ .. autoattribute:: systemd.id128.SD_MESSAGE_COREDUMP
+ .. autoattribute:: systemd.id128.SD_MESSAGE_FORWARD_SYSLOG_MISSED
+ .. autoattribute:: systemd.id128.SD_MESSAGE_HIBERNATE_KEY
+ .. autoattribute:: systemd.id128.SD_MESSAGE_JOURNAL_DROPPED
+ .. autoattribute:: systemd.id128.SD_MESSAGE_JOURNAL_MISSED
+ .. autoattribute:: systemd.id128.SD_MESSAGE_JOURNAL_START
+ .. autoattribute:: systemd.id128.SD_MESSAGE_JOURNAL_STOP
+ .. autoattribute:: systemd.id128.SD_MESSAGE_LID_CLOSED
+ .. autoattribute:: systemd.id128.SD_MESSAGE_LID_OPENED
+ .. autoattribute:: systemd.id128.SD_MESSAGE_OVERMOUNTING
+ .. autoattribute:: systemd.id128.SD_MESSAGE_POWER_KEY
+ .. autoattribute:: systemd.id128.SD_MESSAGE_SEAT_START
+ .. autoattribute:: systemd.id128.SD_MESSAGE_SEAT_STOP
+ .. autoattribute:: systemd.id128.SD_MESSAGE_SESSION_START
+ .. autoattribute:: systemd.id128.SD_MESSAGE_SESSION_STOP
+ .. autoattribute:: systemd.id128.SD_MESSAGE_SHUTDOWN
+ .. autoattribute:: systemd.id128.SD_MESSAGE_SLEEP_START
+ .. autoattribute:: systemd.id128.SD_MESSAGE_SLEEP_STOP
+ .. autoattribute:: systemd.id128.SD_MESSAGE_SPAWN_FAILED
+ .. autoattribute:: systemd.id128.SD_MESSAGE_STARTUP_FINISHED
+ .. autoattribute:: systemd.id128.SD_MESSAGE_SUSPEND_KEY
+ .. autoattribute:: systemd.id128.SD_MESSAGE_TIMEZONE_CHANGE
+ .. autoattribute:: systemd.id128.SD_MESSAGE_TIME_CHANGE
+ .. autoattribute:: systemd.id128.SD_MESSAGE_UNIT_FAILED
+ .. autoattribute:: systemd.id128.SD_MESSAGE_UNIT_RELOADED
+ .. autoattribute:: systemd.id128.SD_MESSAGE_UNIT_RELOADING
+ .. autoattribute:: systemd.id128.SD_MESSAGE_UNIT_STARTED
+ .. autoattribute:: systemd.id128.SD_MESSAGE_UNIT_STARTING
+ .. autoattribute:: systemd.id128.SD_MESSAGE_UNIT_STOPPED
+ .. autoattribute:: systemd.id128.SD_MESSAGE_UNIT_STOPPING
+ .. autoattribute:: systemd.id128.SD_MESSAGE_CONFIG_ERROR
+ .. autoattribute:: systemd.id128.SD_MESSAGE_BOOTCHART
diff --git a/src/python-systemd/docs/index.rst b/src/python-systemd/docs/index.rst
new file mode 100644
index 0000000000..e78d966274
--- /dev/null
+++ b/src/python-systemd/docs/index.rst
@@ -0,0 +1,24 @@
+.. python-systemd documentation master file, created by
+ sphinx-quickstart on Sat Feb 9 13:49:42 2013.
+ You can adapt this file completely to your liking, but it should at least
+ contain the root `toctree` directive.
+
+Welcome to python-systemd's documentation!
+==========================================
+
+Contents:
+
+.. toctree::
+ :maxdepth: 2
+
+ journal
+ id128
+ daemon
+ login
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
diff --git a/src/python-systemd/docs/journal.rst b/src/python-systemd/docs/journal.rst
new file mode 100644
index 0000000000..08756b99be
--- /dev/null
+++ b/src/python-systemd/docs/journal.rst
@@ -0,0 +1,63 @@
+`systemd.journal` module
+========================
+
+.. automodule:: systemd.journal
+ :members: send, sendv, stream, stream_fd
+ :undoc-members:
+
+`JournalHandler` class
+----------------------
+
+.. autoclass:: JournalHandler
+
+Accessing the Journal
+---------------------
+
+.. autoclass:: _Reader
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: Reader
+ :undoc-members:
+ :inherited-members:
+
+ .. automethod:: __init__
+
+.. autofunction:: _get_catalog
+.. autofunction:: get_catalog
+
+.. autoclass:: Monotonic
+
+.. autoattribute:: systemd.journal.DEFAULT_CONVERTERS
+
+Example: polling for journal events
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This example shows that journal events can be waited for (using
+e.g. `poll`). This makes it easy to integrate Reader in an external
+event loop:
+
+ >>> import select
+ >>> from systemd import journal
+ >>> j = journal.Reader()
+ >>> j.seek_tail()
+ >>> p = select.poll()
+ >>> p.register(j, select.POLLIN)
+ >>> p.poll()
+ [(3, 1)]
+ >>> j.get_next()
+
+
+Journal access types
+~~~~~~~~~~~~~~~~~~~~
+
+.. autoattribute:: systemd.journal.LOCAL_ONLY
+.. autoattribute:: systemd.journal.RUNTIME_ONLY
+.. autoattribute:: systemd.journal.SYSTEM_ONLY
+
+Journal event types
+~~~~~~~~~~~~~~~~~~~
+
+.. autoattribute:: systemd.journal.NOP
+.. autoattribute:: systemd.journal.APPEND
+.. autoattribute:: systemd.journal.INVALIDATE
diff --git a/src/python-systemd/docs/layout.html b/src/python-systemd/docs/layout.html
new file mode 100644
index 0000000000..be5ff980ef
--- /dev/null
+++ b/src/python-systemd/docs/layout.html
@@ -0,0 +1,17 @@
+{% extends "!layout.html" %}
+
+{% block relbar1 %}
+ <a href="../man/systemd.index.html">Index </a>·
+ <a href="../man/systemd.directives.html">Directives </a>·
+ <a href="index.html">Python </a>·
+ <a href="../libudev/index.html">libudev </a>·
+ <a href="../libudev/index.html">gudev </a>
+ <span style="float:right">systemd {{release}}</span>
+ <hr />
+{% endblock %}
+
+{# remove the lower relbar #}
+{% block relbar2 %} {% endblock %}
+
+{# remove the footer #}
+{% block footer %} {% endblock %}
diff --git a/src/python-systemd/docs/login.rst b/src/python-systemd/docs/login.rst
new file mode 100644
index 0000000000..2cd9d8cbee
--- /dev/null
+++ b/src/python-systemd/docs/login.rst
@@ -0,0 +1,5 @@
+`systemd.login` module
+=======================
+
+.. automodule:: systemd.login
+ :members:
diff --git a/src/python-systemd/id128.c b/src/python-systemd/id128.c
new file mode 100644
index 0000000000..ec1d9fb4a2
--- /dev/null
+++ b/src/python-systemd/id128.c
@@ -0,0 +1,161 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <Python.h>
+
+#include <systemd/sd-messages.h>
+
+#include "pyutil.h"
+
+PyDoc_STRVAR(module__doc__,
+ "Python interface to the libsystemd-id128 library.\n\n"
+ "Provides SD_MESSAGE_* constants and functions to query and generate\n"
+ "128-bit unique identifiers."
+);
+
+PyDoc_STRVAR(randomize__doc__,
+ "randomize() -> UUID\n\n"
+ "Return a new random 128-bit unique identifier.\n"
+ "Wraps sd_id128_randomize(3)."
+);
+
+PyDoc_STRVAR(get_machine__doc__,
+ "get_machine() -> UUID\n\n"
+ "Return a 128-bit unique identifier for this machine.\n"
+ "Wraps sd_id128_get_machine(3)."
+);
+
+PyDoc_STRVAR(get_boot__doc__,
+ "get_boot() -> UUID\n\n"
+ "Return a 128-bit unique identifier for this boot.\n"
+ "Wraps sd_id128_get_boot(3)."
+);
+
+static PyObject* make_uuid(sd_id128_t id) {
+ _cleanup_Py_DECREF_ PyObject
+ *uuid = NULL, *UUID = NULL, *bytes = NULL,
+ *args = NULL, *kwargs = NULL;
+
+ uuid = PyImport_ImportModule("uuid");
+ if (!uuid)
+ return NULL;
+
+ UUID = PyObject_GetAttrString(uuid, "UUID");
+ bytes = PyBytes_FromStringAndSize((const char*) &id.bytes, sizeof(id.bytes));
+ args = Py_BuildValue("()");
+ kwargs = PyDict_New();
+ if (!UUID || !bytes || !args || !kwargs)
+ return NULL;
+
+ if (PyDict_SetItemString(kwargs, "bytes", bytes) < 0)
+ return NULL;
+
+ return PyObject_Call(UUID, args, kwargs);
+}
+
+#define helper(name) \
+ static PyObject *name(PyObject *self, PyObject *args) { \
+ sd_id128_t id; \
+ int r; \
+ \
+ assert(args == NULL); \
+ \
+ r = sd_id128_##name(&id); \
+ if (r < 0) { \
+ errno = -r; \
+ return PyErr_SetFromErrno(PyExc_IOError); \
+ } \
+ \
+ return make_uuid(id); \
+ }
+
+helper(randomize)
+helper(get_machine)
+helper(get_boot)
+
+static PyMethodDef methods[] = {
+ { "randomize", randomize, METH_NOARGS, randomize__doc__},
+ { "get_machine", get_machine, METH_NOARGS, get_machine__doc__},
+ { "get_boot", get_boot, METH_NOARGS, get_boot__doc__},
+ { NULL, NULL, 0, NULL } /* Sentinel */
+};
+
+static int add_id(PyObject *module, const char* name, sd_id128_t id) {
+ PyObject *obj;
+
+ obj = make_uuid(id);
+ if (!obj)
+ return -1;
+
+ return PyModule_AddObject(module, name, obj);
+}
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wmissing-prototypes"
+
+#if PY_MAJOR_VERSION < 3
+
+PyMODINIT_FUNC initid128(void) {
+ PyObject *m;
+
+ m = Py_InitModule3("id128", methods, module__doc__);
+ if (m == NULL)
+ return;
+
+ /* a series of lines like 'add_id() ;' follow */
+#define JOINER ;
+#include "id128-constants.h"
+#undef JOINER
+ PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION);
+}
+
+#else
+
+static struct PyModuleDef module = {
+ PyModuleDef_HEAD_INIT,
+ "id128", /* name of module */
+ module__doc__, /* module documentation, may be NULL */
+ -1, /* size of per-interpreter state of the module */
+ methods
+};
+
+PyMODINIT_FUNC PyInit_id128(void) {
+ PyObject *m;
+
+ m = PyModule_Create(&module);
+ if (m == NULL)
+ return NULL;
+
+ if ( /* a series of lines like 'add_id() ||' follow */
+#define JOINER ||
+#include "id128-constants.h"
+#undef JOINER
+ PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+
+ return m;
+}
+
+#endif
+
+#pragma GCC diagnostic pop
diff --git a/src/python-systemd/journal.py b/src/python-systemd/journal.py
index 516ca1ab56..9ef1ede229 100644
--- a/src/python-systemd/journal.py
+++ b/src/python-systemd/journal.py
@@ -1,8 +1,10 @@
-# -*- Mode: python; indent-tabs-mode: nil -*- */
+# -*- Mode: python; coding:utf-8; indent-tabs-mode: nil -*- */
#
# This file is part of systemd.
#
-# Copyright 2012 David Strauss
+# Copyright 2012 David Strauss <david@davidstrauss.net>
+# Copyright 2012 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
+# Copyright 2012 Marti Raudsepp <marti@juffo.org>
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
@@ -17,12 +19,330 @@
# You should have received a copy of the GNU Lesser General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+from __future__ import division
+
+import sys as _sys
+import datetime as _datetime
+import uuid as _uuid
import traceback as _traceback
import os as _os
import logging as _logging
+if _sys.version_info >= (3,3):
+ from collections import ChainMap as _ChainMap
from syslog import (LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR,
LOG_WARNING, LOG_NOTICE, LOG_INFO, LOG_DEBUG)
-from ._journal import sendv, stream_fd
+from ._journal import __version__, sendv, stream_fd
+from ._reader import (_Reader, NOP, APPEND, INVALIDATE,
+ LOCAL_ONLY, RUNTIME_ONLY, SYSTEM_ONLY,
+ _get_catalog)
+from . import id128 as _id128
+
+if _sys.version_info >= (3,):
+ from ._reader import Monotonic
+else:
+ Monotonic = tuple
+
+def _convert_monotonic(m):
+ return Monotonic((_datetime.timedelta(microseconds=m[0]),
+ _uuid.UUID(bytes=m[1])))
+
+def _convert_source_monotonic(s):
+ return _datetime.timedelta(microseconds=int(s))
+
+def _convert_realtime(t):
+ return _datetime.datetime.fromtimestamp(t / 1000000)
+
+def _convert_timestamp(s):
+ return _datetime.datetime.fromtimestamp(int(s) / 1000000)
+
+if _sys.version_info >= (3,):
+ def _convert_uuid(s):
+ return _uuid.UUID(s.decode())
+else:
+ _convert_uuid = _uuid.UUID
+
+DEFAULT_CONVERTERS = {
+ 'MESSAGE_ID': _convert_uuid,
+ '_MACHINE_ID': _convert_uuid,
+ '_BOOT_ID': _convert_uuid,
+ 'PRIORITY': int,
+ 'LEADER': int,
+ 'SESSION_ID': int,
+ 'USERSPACE_USEC': int,
+ 'INITRD_USEC': int,
+ 'KERNEL_USEC': int,
+ '_UID': int,
+ '_GID': int,
+ '_PID': int,
+ 'SYSLOG_FACILITY': int,
+ 'SYSLOG_PID': int,
+ '_AUDIT_SESSION': int,
+ '_AUDIT_LOGINUID': int,
+ '_SYSTEMD_SESSION': int,
+ '_SYSTEMD_OWNER_UID': int,
+ 'CODE_LINE': int,
+ 'ERRNO': int,
+ 'EXIT_STATUS': int,
+ '_SOURCE_REALTIME_TIMESTAMP': _convert_timestamp,
+ '__REALTIME_TIMESTAMP': _convert_realtime,
+ '_SOURCE_MONOTONIC_TIMESTAMP': _convert_source_monotonic,
+ '__MONOTONIC_TIMESTAMP': _convert_monotonic,
+ 'COREDUMP': bytes,
+ 'COREDUMP_PID': int,
+ 'COREDUMP_UID': int,
+ 'COREDUMP_GID': int,
+ 'COREDUMP_SESSION': int,
+ 'COREDUMP_SIGNAL': int,
+ 'COREDUMP_TIMESTAMP': _convert_timestamp,
+}
+
+_IDENT_LETTER = set('ABCDEFGHIJKLMNOPQRTSUVWXYZ_')
+
+def _valid_field_name(s):
+ return not (set(s) - _IDENT_LETTER)
+
+class Reader(_Reader):
+ """Reader allows the access and filtering of systemd journal
+ entries. Note that in order to access the system journal, a
+ non-root user must be in the `systemd-journal` group.
+
+ Example usage to print out all informational or higher level
+ messages for systemd-udevd for this boot:
+
+ >>> j = journal.Reader()
+ >>> j.this_boot()
+ >>> j.log_level(journal.LOG_INFO)
+ >>> j.add_match(_SYSTEMD_UNIT="systemd-udevd.service")
+ >>> for entry in j:
+ ... print(entry['MESSAGE'])
+
+ See systemd.journal-fields(7) for more info on typical fields
+ found in the journal.
+ """
+ def __init__(self, flags=0, path=None, converters=None):
+ """Create an instance of Reader, which allows filtering and
+ return of journal entries.
+
+ Argument `flags` sets open flags of the journal, which can be one
+ of, or ORed combination of constants: LOCAL_ONLY (default) opens
+ journal on local machine only; RUNTIME_ONLY opens only
+ volatile journal files; and SYSTEM_ONLY opens only
+ journal files of system services and the kernel.
+
+ Argument `path` is the directory of journal files. Note that
+ `flags` and `path` are exclusive.
+
+ Argument `converters` is a dictionary which updates the
+ DEFAULT_CONVERTERS to convert journal field values. Field
+ names are used as keys into this dictionary. The values must
+ be single argument functions, which take a `bytes` object and
+ return a converted value. When there's no entry for a field
+ name, then the default UTF-8 decoding will be attempted. If
+ the conversion fails with a ValueError, unconverted bytes
+ object will be returned. (Note that ValueEror is a superclass
+ of UnicodeDecodeError).
+
+ Reader implements the context manager protocol: the journal
+ will be closed when exiting the block.
+ """
+ super(Reader, self).__init__(flags, path)
+ if _sys.version_info >= (3,3):
+ self.converters = _ChainMap()
+ if converters is not None:
+ self.converters.maps.append(converters)
+ self.converters.maps.append(DEFAULT_CONVERTERS)
+ else:
+ self.converters = DEFAULT_CONVERTERS.copy()
+ if converters is not None:
+ self.converters.update(converters)
+
+ def _convert_field(self, key, value):
+ """Convert value using self.converters[key]
+
+ If `key` is not present in self.converters, a standard unicode
+ decoding will be attempted. If the conversion (either
+ key-specific or the default one) fails with a ValueError, the
+ original bytes object will be returned.
+ """
+ convert = self.converters.get(key, bytes.decode)
+ try:
+ return convert(value)
+ except ValueError:
+ # Leave in default bytes
+ return value
+
+ def _convert_entry(self, entry):
+ """Convert entire journal entry utilising _covert_field"""
+ result = {}
+ for key, value in entry.items():
+ if isinstance(value, list):
+ result[key] = [self._convert_field(key, val) for val in value]
+ else:
+ result[key] = self._convert_field(key, value)
+ return result
+
+ def __iter__(self):
+ """Part of iterator protocol.
+ Returns self.
+ """
+ return self
+
+ if _sys.version_info >= (3,):
+ def __next__(self):
+ """Part of iterator protocol.
+ Returns self.get_next().
+ """
+ return self.get_next()
+ else:
+ def next(self):
+ """Part of iterator protocol.
+ Returns self.get_next().
+ """
+ return self.get_next()
+
+ def add_match(self, *args, **kwargs):
+ """Add one or more matches to the filter journal log entries.
+ All matches of different field are combined in a logical AND,
+ and matches of the same field are automatically combined in a
+ logical OR.
+ Matches can be passed as strings of form "FIELD=value", or
+ keyword arguments FIELD="value".
+ """
+ args = list(args)
+ args.extend(_make_line(key, val) for key, val in kwargs.items())
+ for arg in args:
+ super(Reader, self).add_match(arg)
+
+ def get_next(self, skip=1):
+ """Return the next log entry as a mapping type, currently
+ a standard dictionary of fields.
+
+ Optional skip value will return the `skip`\-th log entry.
+
+ Entries will be processed with converters specified during
+ Reader creation.
+ """
+ if super(Reader, self)._next(skip):
+ entry = super(Reader, self)._get_all()
+ if entry:
+ entry['__REALTIME_TIMESTAMP'] = self._get_realtime()
+ entry['__MONOTONIC_TIMESTAMP'] = self._get_monotonic()
+ entry['__CURSOR'] = self._get_cursor()
+ return self._convert_entry(entry)
+ return dict()
+
+ def get_previous(self, skip=1):
+ """Return the previous log entry as a mapping type,
+ currently a standard dictionary of fields.
+
+ Optional skip value will return the -`skip`\-th log entry.
+
+ Entries will be processed with converters specified during
+ Reader creation.
+
+ Equivalent to get_next(-skip).
+ """
+ return self.get_next(-skip)
+
+ def query_unique(self, field):
+ """Return unique values appearing in the journal for given `field`.
+
+ Note this does not respect any journal matches.
+
+ Entries will be processed with converters specified during
+ Reader creation.
+ """
+ return set(self._convert_field(field, value)
+ for value in super(Reader, self).query_unique(field))
+
+ def wait(self, timeout=None):
+ """Wait for a change in the journal. `timeout` is the maximum
+ time in seconds to wait, or None, to wait forever.
+
+ Returns one of NOP (no change), APPEND (new entries have been
+ added to the end of the journal), or INVALIDATE (journal files
+ have been added or removed).
+ """
+ us = -1 if timeout is None else int(timeout * 1000000)
+ return super(Reader, self).wait(us)
+
+ def seek_realtime(self, realtime):
+ """Seek to a matching journal entry nearest to `realtime` time.
+
+ Argument `realtime` must be either an integer unix timestamp
+ or datetime.datetime instance.
+ """
+ if isinstance(realtime, _datetime.datetime):
+ realtime = float(realtime.strftime("%s.%f")) * 1000000
+ return super(Reader, self).seek_realtime(int(realtime))
+
+ def seek_monotonic(self, monotonic, bootid=None):
+ """Seek to a matching journal entry nearest to `monotonic` time.
+
+ Argument `monotonic` is a timestamp from boot in either
+ seconds or a datetime.timedelta instance. Argument `bootid`
+ is a string or UUID representing which boot the monotonic time
+ is reference to. Defaults to current bootid.
+ """
+ if isinstance(monotonic, _datetime.timedelta):
+ monotonic = monotonic.totalseconds()
+ monotonic = int(monotonic * 1000000)
+ if isinstance(bootid, _uuid.UUID):
+ bootid = bootid.get_hex()
+ return super(Reader, self).seek_monotonic(monotonic, bootid)
+
+ def log_level(self, level):
+ """Set maximum log `level` by setting matches for PRIORITY.
+ """
+ if 0 <= level <= 7:
+ for i in range(level+1):
+ self.add_match(PRIORITY="%d" % i)
+ else:
+ raise ValueError("Log level must be 0 <= level <= 7")
+
+ def messageid_match(self, messageid):
+ """Add match for log entries with specified `messageid`.
+
+ `messageid` can be string of hexadicimal digits or a UUID
+ instance. Standard message IDs can be found in systemd.id128.
+
+ Equivalent to add_match(MESSAGE_ID=`messageid`).
+ """
+ if isinstance(messageid, _uuid.UUID):
+ messageid = messageid.get_hex()
+ self.add_match(MESSAGE_ID=messageid)
+
+ def this_boot(self, bootid=None):
+ """Add match for _BOOT_ID equal to current boot ID or the specified boot ID.
+
+ If specified, bootid should be either a UUID or a 32 digit hex number.
+
+ Equivalent to add_match(_BOOT_ID='bootid').
+ """
+ if bootid is None:
+ bootid = _id128.get_boot().hex
+ else:
+ bootid = getattr(bootid, 'hex', bootid)
+ self.add_match(_BOOT_ID=bootid)
+
+ def this_machine(self, machineid=None):
+ """Add match for _MACHINE_ID equal to the ID of this machine.
+
+ If specified, machineid should be either a UUID or a 32 digit hex number.
+
+ Equivalent to add_match(_MACHINE_ID='machineid').
+ """
+ if machineid is None:
+ machineid = _id128.get_machine().hex
+ else:
+ machineid = getattr(machineid, 'hex', machineid)
+ self.add_match(_MACHINE_ID=machineid)
+
+
+def get_catalog(mid):
+ if isinstance(mid, _uuid.UUID):
+ mid = mid.get_hex()
+ return _get_catalog(mid)
def _make_line(field, value):
if isinstance(value, bytes):
@@ -33,24 +353,18 @@ def _make_line(field, value):
def send(MESSAGE, MESSAGE_ID=None,
CODE_FILE=None, CODE_LINE=None, CODE_FUNC=None,
**kwargs):
- r"""Send a message to journald.
+ r"""Send a message to the journal.
>>> journal.send('Hello world')
>>> journal.send('Hello, again, world', FIELD2='Greetings!')
>>> journal.send('Binary message', BINARY=b'\xde\xad\xbe\xef')
Value of the MESSAGE argument will be used for the MESSAGE=
- field.
+ field. MESSAGE must be a string and will be sent as UTF-8 to
+ the journal.
MESSAGE_ID can be given to uniquely identify the type of
- message.
-
- Other parts of the message can be specified as keyword
- arguments.
-
- Both MESSAGE and MESSAGE_ID, if present, must be strings, and
- will be sent as UTF-8 to journal. Other arguments can be
- bytes, in which case they will be sent as-is to journal.
+ message. It must be a string or a uuid.UUID object.
CODE_LINE, CODE_FILE, and CODE_FUNC can be specified to
identify the caller. Unless at least on of the three is given,
@@ -58,6 +372,11 @@ def send(MESSAGE, MESSAGE_ID=None,
send(). CODE_FILE and CODE_FUNC must be strings, CODE_LINE
must be an integer.
+ Additional fields for the journal entry can only be specified
+ as keyword arguments. The payload can be either a string or
+ bytes. A string will be sent as UTF-8, and bytes will be sent
+ as-is to the journal.
+
Other useful fields include PRIORITY, SYSLOG_FACILITY,
SYSLOG_IDENTIFIER, SYSLOG_PID.
"""
@@ -65,7 +384,8 @@ def send(MESSAGE, MESSAGE_ID=None,
args = ['MESSAGE=' + MESSAGE]
if MESSAGE_ID is not None:
- args.append('MESSAGE_ID=' + MESSAGE_ID)
+ id = getattr(MESSAGE_ID, 'hex', MESSAGE_ID)
+ args.append('MESSAGE_ID=' + id)
if CODE_LINE == CODE_FILE == CODE_FUNC == None:
CODE_FILE, CODE_LINE, CODE_FUNC = \
@@ -94,19 +414,20 @@ def stream(identifier, priority=LOG_DEBUG, level_prefix=False):
<open file '<fdopen>', mode 'w' at 0x...>
>>> stream.write('message...\n')
- will produce the following message in the journal:
+ will produce the following message in the journal::
- PRIORITY=7
- SYSLOG_IDENTIFIER=myapp
- MESSAGE=message...
+ PRIORITY=7
+ SYSLOG_IDENTIFIER=myapp
+ MESSAGE=message...
Using the interface with print might be more convinient:
>>> from __future__ import print_function
>>> print('message...', file=stream)
- priority is the syslog priority, one of LOG_EMERG, LOG_ALERT,
- LOG_CRIT, LOG_ERR, LOG_WARNING, LOG_NOTICE, LOG_INFO, LOG_DEBUG.
+ priority is the syslog priority, one of `LOG_EMERG`,
+ `LOG_ALERT`, `LOG_CRIT`, `LOG_ERR`, `LOG_WARNING`,
+ `LOG_NOTICE`, `LOG_INFO`, `LOG_DEBUG`.
level_prefix is a boolean. If true, kernel-style log priority
level prefixes (such as '<1>') are interpreted. See
@@ -120,7 +441,7 @@ class JournalHandler(_logging.Handler):
"""Journal handler class for the Python logging framework.
Please see the Python logging module documentation for an
- overview: http://docs.python.org/library/logging.html
+ overview: http://docs.python.org/library/logging.html.
To create a custom logger whose messages go only to journal:
@@ -129,33 +450,51 @@ class JournalHandler(_logging.Handler):
>>> log.addHandler(journal.JournalHandler())
>>> log.warn("Some message: %s", detail)
- Note that by default, message levels INFO and DEBUG are ignored
- by the logging framework. To enable those log levels:
+ Note that by default, message levels `INFO` and `DEBUG` are
+ ignored by the logging framework. To enable those log levels:
>>> log.setLevel(logging.DEBUG)
- To attach journal MESSAGE_ID, an extra field is supported:
-
- >>> log.warn("Message with ID",
- >>> extra={'MESSAGE_ID': '22bb01335f724c959ac4799627d1cb61'})
-
To redirect all logging messages to journal regardless of where
they come from, attach it to the root logger:
>>> logging.root.addHandler(journal.JournalHandler())
- For more complex configurations when using dictConfig or
- fileConfig, specify 'systemd.journal.JournalHandler' as the
+ For more complex configurations when using `dictConfig` or
+ `fileConfig`, specify `systemd.journal.JournalHandler` as the
handler class. Only standard handler configuration options
- are supported: level, formatter, filters.
+ are supported: `level`, `formatter`, `filters`.
- The following journal fields will be sent:
+ To attach journal MESSAGE_ID, an extra field is supported:
+
+ >>> import uuid
+ >>> mid = uuid.UUID('0123456789ABCDEF0123456789ABCDEF')
+ >>> log.warn("Message with ID", extra={'MESSAGE_ID': mid})
+
+ Fields to be attached to all messages sent through this
+ handler can be specified as keyword arguments. This probably
+ makes sense only for SYSLOG_IDENTIFIER and similar fields
+ which are constant for the whole program:
+
+ >>> journal.JournalHandler(SYSLOG_IDENTIFIER='my-cool-app')
- MESSAGE, PRIORITY, THREAD_NAME, CODE_FILE, CODE_LINE,
- CODE_FUNC, LOGGER (name as supplied to getLogger call),
- MESSAGE_ID (optional, see above).
+ The following journal fields will be sent:
+ `MESSAGE`, `PRIORITY`, `THREAD_NAME`, `CODE_FILE`, `CODE_LINE`,
+ `CODE_FUNC`, `LOGGER` (name as supplied to getLogger call),
+ `MESSAGE_ID` (optional, see above), `SYSLOG_IDENTIFIER` (defaults
+ to sys.argv[0]).
"""
+ def __init__(self, level=_logging.NOTSET, **kwargs):
+ super(JournalHandler, self).__init__(level)
+
+ for name in kwargs:
+ if not _valid_field_name(name):
+ raise ValueError('Invalid field name: ' + name)
+ if 'SYSLOG_IDENTIFIER' not in kwargs:
+ kwargs['SYSLOG_IDENTIFIER'] = _sys.argv[0]
+ self._extra = kwargs
+
def emit(self, record):
"""Write record as journal event.
@@ -176,7 +515,8 @@ class JournalHandler(_logging.Handler):
THREAD_NAME=record.threadName,
CODE_FILE=record.pathname,
CODE_LINE=record.lineno,
- CODE_FUNC=record.funcName)
+ CODE_FUNC=record.funcName,
+ **self._extra)
except Exception:
self.handleError(record)
diff --git a/src/python-systemd/login.c b/src/python-systemd/login.c
new file mode 100644
index 0000000000..1dbe5ac5bf
--- /dev/null
+++ b/src/python-systemd/login.c
@@ -0,0 +1,176 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#define PY_SSIZE_T_CLEAN
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wredundant-decls"
+#include <Python.h>
+#pragma GCC diagnostic pop
+
+#include "systemd/sd-login.h"
+#include "pyutil.h"
+#include "util.h"
+#include "strv.h"
+
+PyDoc_STRVAR(module__doc__,
+ "Python interface to the libsystemd-login library."
+);
+
+#define helper(name) \
+static PyObject* name(PyObject *self, PyObject *args) { \
+ _cleanup_strv_free_ char **list = NULL; \
+ int r; \
+ PyObject *ans; \
+ \
+ assert(args == NULL); \
+ \
+ r = sd_get_##name(&list); \
+ if (r < 0) { \
+ errno = -r; \
+ return PyErr_SetFromErrno(PyExc_IOError); \
+ } \
+ \
+ ans = PyList_New(r); \
+ if (!ans) \
+ return NULL; \
+ \
+ for (r--; r >= 0; r--) { \
+ PyObject *s = unicode_FromString(list[r]); \
+ if (!s) { \
+ Py_DECREF(ans); \
+ return NULL; \
+ } \
+ \
+ PyList_SetItem(ans, r, s); \
+ } \
+ \
+ return ans; \
+}
+
+helper(seats)
+helper(sessions)
+helper(machine_names)
+#undef helper
+
+static PyObject* uids(PyObject *self, PyObject *args) {
+ _cleanup_free_ uid_t *list = NULL;
+ int r;
+ PyObject *ans;
+
+ assert(args == NULL);
+
+ r = sd_get_uids(&list);
+ if (r < 0) {
+ errno = -r;
+ return PyErr_SetFromErrno(PyExc_IOError);
+ }
+
+ ans = PyList_New(r);
+ if (!ans)
+ return NULL;
+
+ for (r--; r >= 0; r--) {
+ PyObject *s = long_FromLong(list[r]);
+ if (!s) {
+ Py_DECREF(ans);
+ return NULL;
+ }
+
+ PyList_SetItem(ans, r, s);
+ }
+
+ return ans;
+}
+
+PyDoc_STRVAR(seats__doc__,
+ "seats() -> list\n\n"
+ "Returns a list of currently available local seats.\n"
+ "Wraps sd_get_seats(3)."
+);
+
+PyDoc_STRVAR(sessions__doc__,
+ "sessions() -> list\n\n"
+ "Returns a list of current login sessions.\n"
+ "Wraps sd_get_sessions(3)."
+);
+
+PyDoc_STRVAR(machine_names__doc__,
+ "machine_names() -> list\n\n"
+ "Returns a list of currently running virtual machines\n"
+ "and containers on the system.\n"
+ "Wraps sd_get_machine_names(3)."
+);
+
+PyDoc_STRVAR(uids__doc__,
+ "uids() -> list\n\n"
+ "Returns a list of uids of users who currently have login sessions.\n"
+ "Wraps sd_get_uids(3)."
+);
+
+static PyMethodDef methods[] = {
+ { "seats", seats, METH_NOARGS, seats__doc__},
+ { "sessions", sessions, METH_NOARGS, sessions__doc__},
+ { "machine_names", machine_names, METH_NOARGS, machine_names__doc__},
+ { "uids", uids, METH_NOARGS, uids__doc__},
+ {} /* Sentinel */
+};
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wmissing-prototypes"
+
+#if PY_MAJOR_VERSION < 3
+
+PyMODINIT_FUNC initlogin(void) {
+ PyObject *m;
+
+ m = Py_InitModule3("login", methods, module__doc__);
+ if (m == NULL)
+ return;
+ PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION);
+}
+#else
+
+static struct PyModuleDef module = {
+ PyModuleDef_HEAD_INIT,
+ "login", /* name of module */
+ module__doc__, /* module documentation, may be NULL */
+ -1, /* size of per-interpreter state of the module */
+ methods
+};
+
+PyMODINIT_FUNC PyInit_login(void) {
+ PyObject *m;
+
+ m = PyModule_Create(&module);
+ if (m == NULL)
+ return NULL;
+
+ if (PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+
+ return m;
+}
+
+#endif
+
+#pragma GCC diagnostic pop
diff --git a/src/python-systemd/pyutil.c b/src/python-systemd/pyutil.c
new file mode 100644
index 0000000000..9510acdddb
--- /dev/null
+++ b/src/python-systemd/pyutil.c
@@ -0,0 +1,46 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <Python.h>
+#include "pyutil.h"
+
+void cleanup_Py_DECREFp(PyObject **p) {
+ if (!*p)
+ return;
+
+ Py_DECREF(*p);
+}
+
+PyObject* absolute_timeout(uint64_t t) {
+ if (t == (uint64_t) -1)
+ return PyLong_FromLong(-1);
+ else {
+ struct timespec ts;
+ uint64_t n;
+ int msec;
+
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+ n = (uint64_t) ts.tv_sec * 1000000 + ts.tv_nsec / 1000;
+ msec = t > n ? (int) ((t - n + 999) / 1000) : 0;
+
+ return PyLong_FromLong(msec);
+ }
+}
diff --git a/src/python-systemd/pyutil.h b/src/python-systemd/pyutil.h
new file mode 100644
index 0000000000..5c7ea37cdb
--- /dev/null
+++ b/src/python-systemd/pyutil.h
@@ -0,0 +1,49 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#ifndef Py_TYPE
+/* avoid duplication warnings from errors in Python 2.7 headers */
+# include <Python.h>
+#endif
+
+void cleanup_Py_DECREFp(PyObject **p);
+PyObject* absolute_timeout(uint64_t t);
+
+#define _cleanup_Py_DECREF_ __attribute__((cleanup(cleanup_Py_DECREFp)))
+
+#if PY_MAJOR_VERSION >=3
+# define unicode_FromStringAndSize PyUnicode_FromStringAndSize
+# define unicode_FromString PyUnicode_FromString
+# define long_FromLong PyLong_FromLong
+# define long_FromSize_t PyLong_FromSize_t
+# define long_Check PyLong_Check
+# define long_AsLong PyLong_AsLong
+#else
+/* Python 3 type naming convention is used */
+# define unicode_FromStringAndSize PyString_FromStringAndSize
+# define unicode_FromString PyString_FromString
+# define long_FromLong PyInt_FromLong
+# define long_FromSize_t PyInt_FromSize_t
+# define long_Check PyInt_Check
+# define long_AsLong PyInt_AsLong
+#endif
diff --git a/src/quotacheck/quotacheck.c b/src/quotacheck/quotacheck.c
index e7a4405027..1f63785041 100644
--- a/src/quotacheck/quotacheck.c
+++ b/src/quotacheck/quotacheck.c
@@ -27,19 +27,22 @@
#include "util.h"
#include "virt.h"
+#include "fileio.h"
static bool arg_skip = false;
static bool arg_force = false;
static int parse_proc_cmdline(void) {
- char *line, *w, *state;
- int r;
+ _cleanup_free_ char *line = NULL;
+ char *w, *state;
size_t l;
+ int r;
if (detect_container(NULL) > 0)
return 0;
- if ((r = read_one_line_file("/proc/cmdline", &line)) < 0) {
+ r = read_one_line_file("/proc/cmdline", &line);
+ if (r < 0) {
log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r));
return 0;
}
@@ -61,8 +64,6 @@ static int parse_proc_cmdline(void) {
}
#endif
}
-
- free(line);
return 0;
}
@@ -76,13 +77,13 @@ static void test_files(void) {
}
int main(int argc, char *argv[]) {
+
static const char * const cmdline[] = {
- "/sbin/quotacheck",
+ QUOTACHECK,
"-anug",
NULL
};
- int r = EXIT_FAILURE;
pid_t pid;
if (argc > 1) {
@@ -101,23 +102,21 @@ int main(int argc, char *argv[]) {
if (!arg_force) {
if (arg_skip)
- return 0;
+ return EXIT_SUCCESS;
if (access("/run/systemd/quotacheck", F_OK) < 0)
- return 0;
+ return EXIT_SUCCESS;
}
- if ((pid = fork()) < 0) {
+ pid = fork();
+ if (pid < 0) {
log_error("fork(): %m");
- goto finish;
+ return EXIT_FAILURE;
} else if (pid == 0) {
/* Child */
execv(cmdline[0], (char**) cmdline);
_exit(1); /* Operational error */
}
- r = wait_for_terminate_and_warn("quotacheck", pid) == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
-
-finish:
- return r;
+ return wait_for_terminate_and_warn("quotacheck", pid) >= 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
diff --git a/src/rc-local-generator/rc-local-generator.c b/src/rc-local-generator/rc-local-generator.c
index 448980ba2d..9265501250 100644
--- a/src/rc-local-generator/rc-local-generator.c
+++ b/src/rc-local-generator/rc-local-generator.c
@@ -59,7 +59,7 @@ static int add_symlink(const char *service, const char *where) {
if (errno == EEXIST)
r = 0;
else {
- log_error("Failed to create symlink from %s to %s: %m", from, to);
+ log_error("Failed to create symlink %s: %m", to);
r = -errno;
}
}
diff --git a/src/readahead/readahead-analyze.c b/src/readahead/readahead-analyze.c
index 9a929c0937..76db3cb7e4 100644
--- a/src/readahead/readahead-analyze.c
+++ b/src/readahead/readahead-analyze.c
@@ -34,10 +34,10 @@
int main_analyze(const char *pack_path) {
char line[LINE_MAX];
- FILE *pack;
+ _cleanup_fclose_ FILE *pack = NULL;
int a;
int missing = 0;
- off_t tsize = 0;
+ size_t tsize = 0;
if (!pack_path)
pack_path = "/.readahead";
@@ -114,11 +114,11 @@ int main_analyze(const char *pack_path) {
tsize += size;
- printf(" %4d%% (%2d) %12ld: %s\n",
- sections ? (int) (size * 100 / st.st_size) : 100,
- sections ? sections : 1,
- (unsigned long)size,
- path);
+ printf(" %4jd%% (%2d) %12jd: %s\n",
+ (intmax_t) (sections && st.st_size ? size * 100 / st.st_size : 100),
+ sections ? sections : 1,
+ (intmax_t) size,
+ path);
} else {
printf(" %4dp (%2d) %12s: %s (MISSING)\n",
sections ? pages : -1,
@@ -130,21 +130,17 @@ int main_analyze(const char *pack_path) {
}
- fclose(pack);
-
printf("\nHOST: %s"
"TYPE: %c\n"
"MISSING: %d\n"
- "TOTAL: %llu\n",
+ "TOTAL: %zu\n",
line,
a,
missing,
- (unsigned long long) tsize);
+ tsize);
return EXIT_SUCCESS;
fail:
- if(pack)
- fclose(pack);
return EXIT_FAILURE;
}
diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
index 5d07f4704a..ccd8408c1b 100644
--- a/src/readahead/readahead-collect.c
+++ b/src/readahead/readahead-collect.c
@@ -42,6 +42,7 @@
#include <sys/vfs.h>
#include <getopt.h>
#include <sys/inotify.h>
+#include <math.h>
#ifdef HAVE_FANOTIFY_INIT
#include <sys/fanotify.h>
@@ -67,16 +68,14 @@
*/
static ReadaheadShared *shared = NULL;
+static usec_t starttime;
/* Avoid collisions with the NULL pointer */
#define SECTOR_TO_PTR(s) ULONG_TO_PTR((s)+1)
#define PTR_TO_SECTOR(p) (PTR_TO_ULONG(p)-1)
static int btrfs_defrag(int fd) {
- struct btrfs_ioctl_vol_args data;
-
- zero(data);
- data.fd = fd;
+ struct btrfs_ioctl_vol_args data = { .fd = fd };
return ioctl(fd, BTRFS_IOC_DEFRAG, &data);
}
@@ -184,11 +183,10 @@ static unsigned long fd_first_block(int fd) {
struct {
struct fiemap fiemap;
struct fiemap_extent extent;
- } data;
-
- zero(data);
- data.fiemap.fm_length = ~0ULL;
- data.fiemap.fm_extent_count = 1;
+ } data = {
+ .fiemap.fm_length = ~0ULL,
+ .fiemap.fm_extent_count = 1,
+ };
if (ioctl(fd, FS_IOC_FIEMAP, &data) < 0)
return 0;
@@ -205,6 +203,7 @@ static unsigned long fd_first_block(int fd) {
struct item {
const char *path;
unsigned long block;
+ unsigned long bin;
};
static int qsort_compare(const void *a, const void *b) {
@@ -213,6 +212,13 @@ static int qsort_compare(const void *a, const void *b) {
i = a;
j = b;
+ /* sort by bin first */
+ if (i->bin < j->bin)
+ return -1;
+ if (i->bin > j->bin)
+ return 1;
+
+ /* then sort by sector */
if (i->block < j->block)
return -1;
if (i->block > j->block)
@@ -228,7 +234,7 @@ static int collect(const char *root) {
FD_INOTIFY, /* We get notifications to quit early via this fd */
_FD_MAX
};
- struct pollfd pollfd[_FD_MAX];
+ struct pollfd pollfd[_FD_MAX] = {};
int fanotify_fd = -1, signal_fd = -1, inotify_fd = -1, r = 0;
pid_t my_pid;
Hashmap *files = NULL;
@@ -250,6 +256,8 @@ static int collect(const char *root) {
goto finish;
}
+ starttime = now(CLOCK_MONOTONIC);
+
/* If there's no pack file yet we lower the kernel readahead
* so that mincore() is accurate. If there is a pack file
* already we assume it is accurate enough so that kernel
@@ -272,13 +280,15 @@ static int collect(const char *root) {
goto finish;
}
- if (!(files = hashmap_new(string_hash_func, string_compare_func))) {
+ files = hashmap_new(string_hash_func, string_compare_func);
+ if (!files) {
log_error("Failed to allocate set.");
r = -ENOMEM;
goto finish;
}
- if ((fanotify_fd = fanotify_init(FAN_CLOEXEC|FAN_NONBLOCK, O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_NOATIME)) < 0) {
+ fanotify_fd = fanotify_init(FAN_CLOEXEC|FAN_NONBLOCK, O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_NOATIME);
+ if (fanotify_fd < 0) {
log_error("Failed to create fanotify object: %m");
r = -errno;
goto finish;
@@ -290,7 +300,8 @@ static int collect(const char *root) {
goto finish;
}
- if ((inotify_fd = open_inotify()) < 0) {
+ inotify_fd = open_inotify();
+ if (inotify_fd < 0) {
r = inotify_fd;
goto finish;
}
@@ -299,7 +310,6 @@ static int collect(const char *root) {
my_pid = getpid();
- zero(pollfd);
pollfd[FD_FANOTIFY].fd = fanotify_fd;
pollfd[FD_FANOTIFY].events = POLLIN;
pollfd[FD_SIGNAL].fd = signal_fd;
@@ -447,11 +457,31 @@ static int collect(const char *root) {
free(p);
else {
unsigned long ul;
+ usec_t entrytime;
+ struct item *entry;
+
+ entry = new0(struct item, 1);
+ if (!entry) {
+ r = log_oom();
+ goto finish;
+ }
ul = fd_first_block(m->fd);
- if ((k = hashmap_put(files, p, SECTOR_TO_PTR(ul))) < 0) {
- log_warning("set_put() failed: %s", strerror(-k));
+ entrytime = now(CLOCK_MONOTONIC);
+
+ entry->block = ul;
+ entry->path = strdup(p);
+ if (!entry->path) {
+ free(entry);
+ r = log_oom();
+ goto finish;
+ }
+ entry->bin = (entrytime - starttime) / 2000000;
+
+ k = hashmap_put(files, p, entry);
+ if (k < 0) {
+ log_warning("hashmap_put() failed: %s", strerror(-k));
free(p);
}
}
@@ -476,7 +506,7 @@ done:
on_ssd = fs_on_ssd(root) > 0;
log_debug("On SSD: %s", yes_no(on_ssd));
- on_btrfs = statfs(root, &sfs) >= 0 && (long) sfs.f_type == (long) BTRFS_SUPER_MAGIC;
+ on_btrfs = statfs(root, &sfs) >= 0 && F_TYPE_CMP(sfs.f_type, BTRFS_SUPER_MAGIC);
log_debug("On btrfs: %s", yes_no(on_btrfs));
if (asprintf(&pack_fn_new, "%s/.readahead.new", root) < 0) {
@@ -518,8 +548,7 @@ done:
j = ordered;
HASHMAP_FOREACH_KEY(q, p, files, i) {
- j->path = p;
- j->block = PTR_TO_SECTOR(q);
+ memcpy(j, q, sizeof(struct item));
j++;
}
diff --git a/src/readahead/readahead-common.c b/src/readahead/readahead-common.c
index 41aaff0a3d..a234a89954 100644
--- a/src/readahead/readahead-common.c
+++ b/src/readahead/readahead-common.c
@@ -33,6 +33,7 @@
#include "readahead-common.h"
#include "util.h"
#include "missing.h"
+#include "fileio.h"
int file_verify(int fd, const char *fn, off_t file_size_max, struct stat *st) {
assert(fd >= 0);
@@ -215,16 +216,23 @@ bool enough_ram(void) {
return si.totalram > 127 * 1024*1024 / si.mem_unit;
}
+static void mkdirs(void) {
+ if (mkdir("/run/systemd", 0755) && errno != EEXIST)
+ log_warning("Failed to create /run/systemd: %m");
+ if (mkdir("/run/systemd/readahead", 0755) && errno != EEXIST)
+ log_warning("Failed to create /run/systemd: %m");
+}
+
int open_inotify(void) {
int fd;
- if ((fd = inotify_init1(IN_CLOEXEC|IN_NONBLOCK)) < 0) {
+ fd = inotify_init1(IN_CLOEXEC|IN_NONBLOCK);
+ if (fd < 0) {
log_error("Failed to create inotify handle: %m");
return -errno;
}
- mkdir("/run/systemd", 0755);
- mkdir("/run/systemd/readahead", 0755);
+ mkdirs();
if (inotify_add_watch(fd, "/run/systemd/readahead", IN_CREATE) < 0) {
log_error("Failed to watch /run/systemd/readahead: %m");
@@ -236,32 +244,28 @@ int open_inotify(void) {
}
ReadaheadShared *shared_get(void) {
- int fd;
+ int _cleanup_close_ fd = -1;
ReadaheadShared *m = NULL;
- mkdir("/run/systemd", 0755);
- mkdir("/run/systemd/readahead", 0755);
+ mkdirs();
- if ((fd = open("/run/systemd/readahead/shared", O_CREAT|O_RDWR|O_CLOEXEC, 0644)) < 0) {
+ fd = open("/run/systemd/readahead/shared", O_CREAT|O_RDWR|O_CLOEXEC, 0644);
+ if (fd < 0) {
log_error("Failed to create shared memory segment: %m");
- goto finish;
+ return NULL;
}
if (ftruncate(fd, sizeof(ReadaheadShared)) < 0) {
log_error("Failed to truncate shared memory segment: %m");
- goto finish;
+ return NULL;
}
- if ((m = mmap(NULL, sizeof(ReadaheadShared), PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0)) == MAP_FAILED) {
+ m = mmap(NULL, sizeof(ReadaheadShared), PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);
+ if (m == MAP_FAILED) {
log_error("Failed to mmap shared memory segment: %m");
- m = NULL;
- goto finish;
+ return NULL;
}
-finish:
- if (fd >= 0)
- close_nointr_nofail(fd);
-
return m;
}
@@ -315,7 +319,7 @@ int block_bump_request_nr(const char *p) {
goto finish;
}
- r = write_one_line_file(ap, line);
+ r = write_string_file(ap, line);
if (r < 0)
goto finish;
@@ -398,7 +402,7 @@ int block_set_readahead(const char *p, uint64_t bytes) {
goto finish;
}
- r = write_one_line_file(ap, line);
+ r = write_string_file(ap, line);
if (r < 0)
goto finish;
diff --git a/src/readahead/readahead.c b/src/readahead/readahead.c
index abeecc7634..29255c9f07 100644
--- a/src/readahead/readahead.c
+++ b/src/readahead/readahead.c
@@ -108,7 +108,7 @@ static int parse_argv(int argc, char *argv[]) {
}
case ARG_TIMEOUT:
- if (parse_usec(optarg, &arg_timeout) < 0 || arg_timeout <= 0) {
+ if (parse_sec(optarg, &arg_timeout) < 0 || arg_timeout <= 0) {
log_error("Failed to parse timeout %s.", optarg);
return -EINVAL;
}
diff --git a/src/readahead/sd-readahead.c b/src/readahead/sd-readahead.c
index d48cd76807..675d82cdd1 100644
--- a/src/readahead/sd-readahead.c
+++ b/src/readahead/sd-readahead.c
@@ -25,7 +25,7 @@
***/
#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
+# define _GNU_SOURCE
#endif
#include <unistd.h>
@@ -38,15 +38,15 @@
#include "sd-readahead.h"
#if (__GNUC__ >= 4)
-#ifdef SD_EXPORT_SYMBOLS
+# ifdef SD_EXPORT_SYMBOLS
/* Export symbols */
-#define _sd_export_ __attribute__ ((visibility("default")))
-#else
+# define _sd_export_ __attribute__ ((visibility("default")))
+# else
/* Don't export the symbols */
-#define _sd_export_ __attribute__ ((visibility("hidden")))
-#endif
+# define _sd_export_ __attribute__ ((visibility("hidden")))
+# endif
#else
-#define _sd_export_
+# define _sd_export_
#endif
static int touch(const char *path) {
@@ -65,7 +65,7 @@ static int touch(const char *path) {
if (close(fd) >= 0)
break;
- if (errno != -EINTR)
+ if (errno != EINTR)
return -errno;
}
diff --git a/src/remount-fs/remount-fs.c b/src/remount-fs/remount-fs.c
index b436203b16..75eaed2f9e 100644
--- a/src/remount-fs/remount-fs.c
+++ b/src/remount-fs/remount-fs.c
@@ -131,10 +131,9 @@ int main(int argc, char *argv[]) {
}
while (!hashmap_isempty(pids)) {
- siginfo_t si;
+ siginfo_t si = {};
char *s;
- zero(si);
if (waitid(P_ALL, 0, &si, WEXITED) < 0) {
if (errno == EINTR)
diff --git a/src/reply-password/reply-password.c b/src/reply-password/reply-password.c
index a935d0f084..2f168985b4 100644
--- a/src/reply-password/reply-password.c
+++ b/src/reply-password/reply-password.c
@@ -41,14 +41,14 @@ static int send_on_socket(int fd, const char *socket_name, const void *packet, s
union {
struct sockaddr sa;
struct sockaddr_un un;
- } sa;
+ } sa = {
+ .un.sun_family = AF_UNIX,
+ };
assert(fd >= 0);
assert(socket_name);
assert(packet);
- zero(sa);
- sa.un.sun_family = AF_UNIX;
strncpy(sa.un.sun_path, socket_name, sizeof(sa.un.sun_path));
if (sendto(fd, packet, size, MSG_NOSIGNAL, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(socket_name)) < 0) {
diff --git a/src/shared/MurmurHash3.c b/src/shared/MurmurHash3.c
new file mode 100644
index 0000000000..aa1387373f
--- /dev/null
+++ b/src/shared/MurmurHash3.c
@@ -0,0 +1,349 @@
+//-----------------------------------------------------------------------------
+// MurmurHash3 was written by Austin Appleby, and is placed in the public
+// domain. The author hereby disclaims copyright to this source code.
+
+// Note - The x86 and x64 versions do _not_ produce the same results, as the
+// algorithms are optimized for their respective platforms. You can still
+// compile and run any of them on any platform, but your performance with the
+// non-native version will be less than optimal.
+
+#include "MurmurHash3.h"
+
+//-----------------------------------------------------------------------------
+// Platform-specific functions and macros
+
+// Microsoft Visual Studio
+
+#if defined(_MSC_VER)
+
+#define FORCE_INLINE __forceinline
+
+#include <stdlib.h>
+
+#define ROTL32(x,y) _rotl(x,y)
+#define ROTL64(x,y) _rotl64(x,y)
+
+#define BIG_CONSTANT(x) (x)
+
+// Other compilers
+
+#else // defined(_MSC_VER)
+
+#define FORCE_INLINE inline __attribute__((always_inline))
+
+static inline uint32_t rotl32 ( uint32_t x, int8_t r )
+{
+ return (x << r) | (x >> (32 - r));
+}
+
+static inline uint64_t rotl64 ( uint64_t x, int8_t r )
+{
+ return (x << r) | (x >> (64 - r));
+}
+
+#define ROTL32(x,y) rotl32(x,y)
+#define ROTL64(x,y) rotl64(x,y)
+
+#define BIG_CONSTANT(x) (x##LLU)
+
+#endif // !defined(_MSC_VER)
+
+//-----------------------------------------------------------------------------
+// Block read - if your platform needs to do endian-swapping or can only
+// handle aligned reads, do the conversion here
+
+static FORCE_INLINE uint32_t getblock32 ( const uint32_t * p, int i )
+{
+ return p[i];
+}
+
+static FORCE_INLINE uint64_t getblock64 ( const uint64_t * p, int i )
+{
+ return p[i];
+}
+
+//-----------------------------------------------------------------------------
+// Finalization mix - force all bits of a hash block to avalanche
+
+static FORCE_INLINE uint32_t fmix32 ( uint32_t h )
+{
+ h ^= h >> 16;
+ h *= 0x85ebca6b;
+ h ^= h >> 13;
+ h *= 0xc2b2ae35;
+ h ^= h >> 16;
+
+ return h;
+}
+
+//----------
+
+static FORCE_INLINE uint64_t fmix64 ( uint64_t k )
+{
+ k ^= k >> 33;
+ k *= BIG_CONSTANT(0xff51afd7ed558ccd);
+ k ^= k >> 33;
+ k *= BIG_CONSTANT(0xc4ceb9fe1a85ec53);
+ k ^= k >> 33;
+
+ return k;
+}
+
+//-----------------------------------------------------------------------------
+
+void MurmurHash3_x86_32 ( const void * key, size_t len,
+ uint32_t seed, void * out )
+{
+ const uint8_t * data = (const uint8_t*)key;
+ const int nblocks = len / 4;
+
+ uint32_t h1 = seed;
+
+ const uint32_t c1 = 0xcc9e2d51;
+ const uint32_t c2 = 0x1b873593;
+
+ const uint8_t * tail;
+ uint32_t k1;
+
+ //----------
+ // body
+
+ const uint32_t * blocks = (const uint32_t *)(data + nblocks*4);
+
+ for(int i = -nblocks; i; i++)
+ {
+ k1 = getblock32(blocks,i);
+
+ k1 *= c1;
+ k1 = ROTL32(k1,15);
+ k1 *= c2;
+
+ h1 ^= k1;
+ h1 = ROTL32(h1,13);
+ h1 = h1*5+0xe6546b64;
+ }
+
+ //----------
+ // tail
+
+ tail = (const uint8_t*)(data + nblocks*4);
+
+ k1 = 0;
+
+ switch(len & 3)
+ {
+ case 3: k1 ^= tail[2] << 16;
+ case 2: k1 ^= tail[1] << 8;
+ case 1: k1 ^= tail[0];
+ k1 *= c1; k1 = ROTL32(k1,15); k1 *= c2; h1 ^= k1;
+ };
+
+ //----------
+ // finalization
+
+ h1 ^= len;
+
+ h1 = fmix32(h1);
+
+ *(uint32_t*)out = h1;
+}
+
+//-----------------------------------------------------------------------------
+
+void MurmurHash3_x86_128 ( const void * key, const size_t len,
+ uint32_t seed, void * out )
+{
+ const uint8_t * data = (const uint8_t*)key;
+ const int nblocks = len / 16;
+
+ uint32_t h1 = seed;
+ uint32_t h2 = seed;
+ uint32_t h3 = seed;
+ uint32_t h4 = seed;
+
+ const uint32_t c1 = 0x239b961b;
+ const uint32_t c2 = 0xab0e9789;
+ const uint32_t c3 = 0x38b34ae5;
+ const uint32_t c4 = 0xa1e38b93;
+
+ const uint8_t * tail;
+
+ uint32_t k1;
+ uint32_t k2;
+ uint32_t k3;
+ uint32_t k4;
+
+ //----------
+ // body
+
+ const uint32_t * blocks = (const uint32_t *)(data + nblocks*16);
+
+ for(int i = -nblocks; i; i++)
+ {
+ k1 = getblock32(blocks,i*4+0);
+ k2 = getblock32(blocks,i*4+1);
+ k3 = getblock32(blocks,i*4+2);
+ k4 = getblock32(blocks,i*4+3);
+
+ k1 *= c1; k1 = ROTL32(k1,15); k1 *= c2; h1 ^= k1;
+
+ h1 = ROTL32(h1,19); h1 += h2; h1 = h1*5+0x561ccd1b;
+
+ k2 *= c2; k2 = ROTL32(k2,16); k2 *= c3; h2 ^= k2;
+
+ h2 = ROTL32(h2,17); h2 += h3; h2 = h2*5+0x0bcaa747;
+
+ k3 *= c3; k3 = ROTL32(k3,17); k3 *= c4; h3 ^= k3;
+
+ h3 = ROTL32(h3,15); h3 += h4; h3 = h3*5+0x96cd1c35;
+
+ k4 *= c4; k4 = ROTL32(k4,18); k4 *= c1; h4 ^= k4;
+
+ h4 = ROTL32(h4,13); h4 += h1; h4 = h4*5+0x32ac3b17;
+ }
+
+ //----------
+ // tail
+
+ tail = (const uint8_t*)(data + nblocks*16);
+
+ k1 = 0;
+ k2 = 0;
+ k3 = 0;
+ k4 = 0;
+
+ switch(len & 15)
+ {
+ case 15: k4 ^= tail[14] << 16;
+ case 14: k4 ^= tail[13] << 8;
+ case 13: k4 ^= tail[12] << 0;
+ k4 *= c4; k4 = ROTL32(k4,18); k4 *= c1; h4 ^= k4;
+
+ case 12: k3 ^= tail[11] << 24;
+ case 11: k3 ^= tail[10] << 16;
+ case 10: k3 ^= tail[ 9] << 8;
+ case 9: k3 ^= tail[ 8] << 0;
+ k3 *= c3; k3 = ROTL32(k3,17); k3 *= c4; h3 ^= k3;
+
+ case 8: k2 ^= tail[ 7] << 24;
+ case 7: k2 ^= tail[ 6] << 16;
+ case 6: k2 ^= tail[ 5] << 8;
+ case 5: k2 ^= tail[ 4] << 0;
+ k2 *= c2; k2 = ROTL32(k2,16); k2 *= c3; h2 ^= k2;
+
+ case 4: k1 ^= tail[ 3] << 24;
+ case 3: k1 ^= tail[ 2] << 16;
+ case 2: k1 ^= tail[ 1] << 8;
+ case 1: k1 ^= tail[ 0] << 0;
+ k1 *= c1; k1 = ROTL32(k1,15); k1 *= c2; h1 ^= k1;
+ };
+
+ //----------
+ // finalization
+
+ h1 ^= len; h2 ^= len; h3 ^= len; h4 ^= len;
+
+ h1 += h2; h1 += h3; h1 += h4;
+ h2 += h1; h3 += h1; h4 += h1;
+
+ h1 = fmix32(h1);
+ h2 = fmix32(h2);
+ h3 = fmix32(h3);
+ h4 = fmix32(h4);
+
+ h1 += h2; h1 += h3; h1 += h4;
+ h2 += h1; h3 += h1; h4 += h1;
+
+ ((uint32_t*)out)[0] = h1;
+ ((uint32_t*)out)[1] = h2;
+ ((uint32_t*)out)[2] = h3;
+ ((uint32_t*)out)[3] = h4;
+}
+
+//-----------------------------------------------------------------------------
+
+void MurmurHash3_x64_128 ( const void * key, const size_t len,
+ const uint32_t seed, void * out )
+{
+ const uint8_t * data = (const uint8_t*)key;
+ const int nblocks = len / 16;
+
+ uint64_t h1 = seed;
+ uint64_t h2 = seed;
+
+ const uint64_t c1 = BIG_CONSTANT(0x87c37b91114253d5);
+ const uint64_t c2 = BIG_CONSTANT(0x4cf5ad432745937f);
+
+ const uint8_t *tail;
+
+ uint64_t k1;
+ uint64_t k2;
+
+ //----------
+ // body
+
+ const uint64_t * blocks = (const uint64_t *)(data);
+
+ for(int i = 0; i < nblocks; i++)
+ {
+ k1 = getblock64(blocks,i*2+0);
+ k2 = getblock64(blocks,i*2+1);
+
+ k1 *= c1; k1 = ROTL64(k1,31); k1 *= c2; h1 ^= k1;
+
+ h1 = ROTL64(h1,27); h1 += h2; h1 = h1*5+0x52dce729;
+
+ k2 *= c2; k2 = ROTL64(k2,33); k2 *= c1; h2 ^= k2;
+
+ h2 = ROTL64(h2,31); h2 += h1; h2 = h2*5+0x38495ab5;
+ }
+
+ //----------
+ // tail
+
+ tail = (const uint8_t*)(data + nblocks*16);
+
+ k1 = 0;
+ k2 = 0;
+
+ switch(len & 15)
+ {
+ case 15: k2 ^= (uint64_t)(tail[14]) << 48;
+ case 14: k2 ^= (uint64_t)(tail[13]) << 40;
+ case 13: k2 ^= (uint64_t)(tail[12]) << 32;
+ case 12: k2 ^= (uint64_t)(tail[11]) << 24;
+ case 11: k2 ^= (uint64_t)(tail[10]) << 16;
+ case 10: k2 ^= (uint64_t)(tail[ 9]) << 8;
+ case 9: k2 ^= (uint64_t)(tail[ 8]) << 0;
+ k2 *= c2; k2 = ROTL64(k2,33); k2 *= c1; h2 ^= k2;
+
+ case 8: k1 ^= (uint64_t)(tail[ 7]) << 56;
+ case 7: k1 ^= (uint64_t)(tail[ 6]) << 48;
+ case 6: k1 ^= (uint64_t)(tail[ 5]) << 40;
+ case 5: k1 ^= (uint64_t)(tail[ 4]) << 32;
+ case 4: k1 ^= (uint64_t)(tail[ 3]) << 24;
+ case 3: k1 ^= (uint64_t)(tail[ 2]) << 16;
+ case 2: k1 ^= (uint64_t)(tail[ 1]) << 8;
+ case 1: k1 ^= (uint64_t)(tail[ 0]) << 0;
+ k1 *= c1; k1 = ROTL64(k1,31); k1 *= c2; h1 ^= k1;
+ };
+
+ //----------
+ // finalization
+
+ h1 ^= len; h2 ^= len;
+
+ h1 += h2;
+ h2 += h1;
+
+ h1 = fmix64(h1);
+ h2 = fmix64(h2);
+
+ h1 += h2;
+ h2 += h1;
+
+ ((uint64_t*)out)[0] = h1;
+ ((uint64_t*)out)[1] = h2;
+}
+
+//-----------------------------------------------------------------------------
diff --git a/src/shared/MurmurHash3.h b/src/shared/MurmurHash3.h
new file mode 100644
index 0000000000..07c474eba4
--- /dev/null
+++ b/src/shared/MurmurHash3.h
@@ -0,0 +1,38 @@
+//-----------------------------------------------------------------------------
+// MurmurHash3 was written by Austin Appleby, and is placed in the public
+// domain. The author hereby disclaims copyright to this source code.
+
+#ifndef _MURMURHASH3_H_
+#define _MURMURHASH3_H_
+
+//-----------------------------------------------------------------------------
+// Platform-specific functions and macros
+
+// Microsoft Visual Studio
+
+#if defined(_MSC_VER)
+
+typedef unsigned char uint8_t;
+typedef unsigned long uint32_t;
+typedef unsigned __int64 uint64_t;
+
+// Other compilers
+
+#else // defined(_MSC_VER)
+
+#include <stdint.h>
+#include <sys/types.h>
+
+#endif // !defined(_MSC_VER)
+
+//-----------------------------------------------------------------------------
+
+void MurmurHash3_x86_32 ( const void * key, size_t len, uint32_t seed, void * out );
+
+void MurmurHash3_x86_128 ( const void * key, size_t len, uint32_t seed, void * out );
+
+void MurmurHash3_x64_128 ( const void * key, size_t len, uint32_t seed, void * out );
+
+//-----------------------------------------------------------------------------
+
+#endif // _MURMURHASH3_H_
diff --git a/src/shared/acl-util.c b/src/shared/acl-util.c
index d1eb6f2268..48bb12f46b 100644
--- a/src/shared/acl-util.c
+++ b/src/shared/acl-util.c
@@ -3,7 +3,7 @@
/***
This file is part of systemd.
- Copyright 2011 Lennart Poettering
+ Copyright 2011,2013 Lennart Poettering
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
@@ -26,6 +26,8 @@
#include <stdbool.h>
#include "acl-util.h"
+#include "util.h"
+#include "strv.h"
int acl_find_uid(acl_t acl, uid_t uid, acl_entry_t *entry) {
acl_entry_t i;
@@ -66,3 +68,59 @@ int acl_find_uid(acl_t acl, uid_t uid, acl_entry_t *entry) {
return 0;
}
+
+int search_acl_groups(char*** dst, const char* path, bool* belong) {
+ acl_t acl;
+
+ assert(path);
+ assert(belong);
+
+ acl = acl_get_file(path, ACL_TYPE_DEFAULT);
+ if (acl) {
+ acl_entry_t entry;
+ int r;
+
+ r = acl_get_entry(acl, ACL_FIRST_ENTRY, &entry);
+ while (r > 0) {
+ acl_tag_t tag;
+ gid_t *gid;
+ char *name;
+
+ r = acl_get_tag_type(entry, &tag);
+ if (r < 0)
+ break;
+
+ if (tag != ACL_GROUP)
+ goto next;
+
+ gid = acl_get_qualifier(entry);
+ if (!gid)
+ break;
+
+ if (in_gid(*gid) > 0) {
+ *belong = true;
+ break;
+ }
+
+ name = gid_to_name(*gid);
+ if (!name) {
+ acl_free(acl);
+ return log_oom();
+ }
+
+ r = strv_push(dst, name);
+ if (r < 0) {
+ free(name);
+ acl_free(acl);
+ return log_oom();
+ }
+
+ next:
+ r = acl_get_entry(acl, ACL_NEXT_ENTRY, &entry);
+ }
+
+ acl_free(acl);
+ }
+
+ return 0;
+}
diff --git a/src/shared/acl-util.h b/src/shared/acl-util.h
index 31fbbcd510..23090d9984 100644
--- a/src/shared/acl-util.h
+++ b/src/shared/acl-util.h
@@ -21,4 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#include <stdbool.h>
+
int acl_find_uid(acl_t acl, uid_t uid, acl_entry_t *entry);
+int search_acl_groups(char*** dst, const char* path, bool* belong);
diff --git a/src/shared/ask-password-api.c b/src/shared/ask-password-api.c
index 8a0fb89a84..4557155d45 100644
--- a/src/shared/ask-password-api.c
+++ b/src/shared/ask-password-api.c
@@ -109,7 +109,6 @@ int ask_password_tty(
}
zero(pollfd);
-
pollfd[POLL_TTY].fd = ttyfd >= 0 ? ttyfd : STDIN_FILENO;
pollfd[POLL_TTY].events = POLLIN;
pollfd[POLL_INOTIFY].fd = notify;
@@ -248,25 +247,25 @@ static int create_socket(char **name) {
union {
struct sockaddr sa;
struct sockaddr_un un;
- } sa;
+ } sa = {
+ .un.sun_family = AF_UNIX,
+ };
int one = 1, r;
char *c;
- mode_t u;
assert(name);
- if ((fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0)) < 0) {
+ fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
+ if (fd < 0) {
log_error("socket() failed: %m");
return -errno;
}
- zero(sa);
- sa.un.sun_family = AF_UNIX;
snprintf(sa.un.sun_path, sizeof(sa.un.sun_path)-1, "/run/systemd/ask-password/sck.%llu", random_ull());
- u = umask(0177);
- r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path));
- umask(u);
+ RUN_WITH_UMASK(0177) {
+ r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path));
+ }
if (r < 0) {
r = -errno;
@@ -280,7 +279,8 @@ static int create_socket(char **name) {
goto fail;
}
- if (!(c = strdup(sa.un.sun_path))) {
+ c = strdup(sa.un.sun_path);
+ if (!c) {
r = log_oom();
goto fail;
}
@@ -315,7 +315,6 @@ int ask_password_agent(
int socket_fd = -1, signal_fd = -1;
sigset_t mask, oldmask;
struct pollfd pollfd[_FD_MAX];
- mode_t u;
assert(_passphrases);
@@ -325,9 +324,9 @@ int ask_password_agent(
mkdir_p_label("/run/systemd/ask-password", 0755);
- u = umask(0022);
- fd = mkostemp(temp, O_CLOEXEC|O_CREAT|O_WRONLY);
- umask(u);
+ RUN_WITH_UMASK(0022) {
+ fd = mkostemp(temp, O_CLOEXEC|O_CREAT|O_WRONLY);
+ }
if (fd < 0) {
log_error("Failed to create password file: %m");
diff --git a/src/shared/audit.c b/src/shared/audit.c
index e5c483ab08..97560cc9a3 100644
--- a/src/shared/audit.c
+++ b/src/shared/audit.c
@@ -33,6 +33,8 @@
#include "audit.h"
#include "util.h"
#include "log.h"
+#include "fileio.h"
+#include "virt.h"
int audit_session_from_pid(pid_t pid, uint32_t *id) {
char *s;
@@ -44,6 +46,10 @@ int audit_session_from_pid(pid_t pid, uint32_t *id) {
if (have_effective_cap(CAP_AUDIT_CONTROL) <= 0)
return -ENOENT;
+ /* Audit doesn't support containers right now */
+ if (detect_container(NULL) > 0)
+ return -ENOTSUP;
+
if (pid == 0)
r = read_one_line_file("/proc/self/sessionid", &s);
else {
@@ -89,6 +95,10 @@ int audit_loginuid_from_pid(pid_t pid, uid_t *uid) {
if (have_effective_cap(CAP_AUDIT_CONTROL) <= 0)
return -ENOENT;
+ /* Audit doesn't support containers right now */
+ if (detect_container(NULL) > 0)
+ return -ENOTSUP;
+
if (pid == 0)
r = read_one_line_file("/proc/self/loginuid", &s);
else {
diff --git a/src/shared/calendarspec.c b/src/shared/calendarspec.c
index c2eae3f139..7979e2384f 100644
--- a/src/shared/calendarspec.c
+++ b/src/shared/calendarspec.c
@@ -133,7 +133,7 @@ int calendar_spec_normalize(CalendarSpec *c) {
return 0;
}
-static bool chain_valid(CalendarComponent *c, int from, int to) {
+_pure_ static bool chain_valid(CalendarComponent *c, int from, int to) {
if (!c)
return true;
@@ -149,7 +149,7 @@ static bool chain_valid(CalendarComponent *c, int from, int to) {
return true;
}
-bool calendar_spec_valid(CalendarSpec *c) {
+_pure_ bool calendar_spec_valid(CalendarSpec *c) {
assert(c);
if (c->weekdays_bits > 127)
@@ -391,7 +391,7 @@ static int prepend_component(const char **p, CalendarComponent **c) {
errno = 0;
value = strtoul(*p, &e, 10);
- if (errno != 0)
+ if (errno > 0)
return -errno;
if (e == *p)
return -EINVAL;
@@ -400,7 +400,7 @@ static int prepend_component(const char **p, CalendarComponent **c) {
if (*e == '/') {
repeat = strtoul(e+1, &ee, 10);
- if (errno != 0)
+ if (errno > 0)
return -errno;
if (ee == e+1)
return -EINVAL;
@@ -653,7 +653,7 @@ int calendar_spec_from_string(const char *p, CalendarSpec **spec) {
if (!c)
return -ENOMEM;
- if (strcasecmp(p, "hourly") == 0) {
+ if (strcaseeq(p, "hourly")) {
r = const_chain(0, &c->minute);
if (r < 0)
goto fail;
@@ -661,7 +661,7 @@ int calendar_spec_from_string(const char *p, CalendarSpec **spec) {
if (r < 0)
goto fail;
- } else if (strcasecmp(p, "daily") == 0) {
+ } else if (strcaseeq(p, "daily")) {
r = const_chain(0, &c->hour);
if (r < 0)
goto fail;
@@ -672,7 +672,7 @@ int calendar_spec_from_string(const char *p, CalendarSpec **spec) {
if (r < 0)
goto fail;
- } else if (strcasecmp(p, "monthly") == 0) {
+ } else if (strcaseeq(p, "monthly")) {
r = const_chain(1, &c->day);
if (r < 0)
goto fail;
@@ -686,7 +686,7 @@ int calendar_spec_from_string(const char *p, CalendarSpec **spec) {
if (r < 0)
goto fail;
- } else if (strcasecmp(p, "weekly") == 0) {
+ } else if (strcaseeq(p, "weekly")) {
c->weekdays_bits = 1;
diff --git a/src/shared/capability.c b/src/shared/capability.c
index 9b743e86d0..321952067d 100644
--- a/src/shared/capability.c
+++ b/src/shared/capability.c
@@ -34,6 +34,7 @@
#include "capability.h"
#include "util.h"
#include "log.h"
+#include "fileio.h"
int have_effective_cap(int value) {
cap_t cap;
@@ -203,7 +204,7 @@ static int drop_from_file(const char *fn, uint64_t drop) {
if (asprintf(&p, "%u %u", lo, hi) < 0)
return -ENOMEM;
- r = write_one_line_file(fn, p);
+ r = write_string_file(fn, p);
free(p);
return r;
diff --git a/src/shared/cgroup-label.c b/src/shared/cgroup-label.c
index beeeec5830..5b5163c250 100644
--- a/src/shared/cgroup-label.c
+++ b/src/shared/cgroup-label.c
@@ -36,47 +36,42 @@
#include "util.h"
#include "mkdir.h"
-int cg_create(const char *controller, const char *path) {
- char *fs;
+int cg_create(const char *controller, const char *path, const char *suffix) {
+ _cleanup_free_ char *fs = NULL;
int r;
- assert(controller);
- assert(path);
-
- r = cg_get_path_and_check(controller, path, NULL, &fs);
+ r = cg_get_path_and_check(controller, path, suffix, &fs);
if (r < 0)
return r;
r = mkdir_parents_label(fs, 0755);
+ if (r < 0)
+ return r;
- if (r >= 0) {
- if (mkdir(fs, 0755) >= 0)
- r = 1;
- else if (errno == EEXIST)
- r = 0;
- else
- r = -errno;
- }
+ if (mkdir(fs, 0755) < 0) {
- free(fs);
+ if (errno == EEXIST)
+ return 0;
- return r;
+ return -errno;
+ }
+
+ return 1;
}
int cg_create_and_attach(const char *controller, const char *path, pid_t pid) {
int r, q;
- assert(controller);
- assert(path);
assert(pid >= 0);
- if ((r = cg_create(controller, path)) < 0)
+ r = cg_create(controller, path, NULL);
+ if (r < 0)
return r;
- if ((q = cg_attach(controller, path, pid)) < 0)
+ q = cg_attach(controller, path, pid);
+ if (q < 0)
return q;
/* This does not remove the cgroup on failure */
-
return r;
}
diff --git a/src/shared/cgroup-show.c b/src/shared/cgroup-show.c
index 2b79f370f9..83cc0731b8 100644
--- a/src/shared/cgroup-show.c
+++ b/src/shared/cgroup-show.c
@@ -40,18 +40,7 @@ static int compare(const void *a, const void *b) {
return 0;
}
-static unsigned ilog10(unsigned long ul) {
- int n = 0;
-
- while (ul > 0) {
- n++;
- ul /= 10;
- }
-
- return n;
-}
-
-static void show_pid_array(int pids[], unsigned n_pids, const char *prefix, unsigned n_columns, bool extra, bool more, bool kernel_threads) {
+static void show_pid_array(int pids[], unsigned n_pids, const char *prefix, unsigned n_columns, bool extra, bool more, bool kernel_threads, OutputFlags flags) {
unsigned i, m, pid_width;
pid_t biggest = 0;
@@ -71,16 +60,19 @@ static void show_pid_array(int pids[], unsigned n_pids, const char *prefix, unsi
pids[m++] = pids[i];
}
n_pids = m;
- pid_width = ilog10(biggest);
+ pid_width = DECIMAL_STR_WIDTH(biggest);
/* And sort */
qsort(pids, n_pids, sizeof(pid_t), compare);
- if (n_columns > pid_width+2)
- n_columns -= pid_width+2;
- else
- n_columns = 20;
-
+ if(flags & OUTPUT_FULL_WIDTH)
+ n_columns = 0;
+ else {
+ if (n_columns > pid_width+2)
+ n_columns -= pid_width+2;
+ else
+ n_columns = 20;
+ }
for (i = 0; i < n_pids; i++) {
char *t = NULL;
@@ -99,22 +91,22 @@ static void show_pid_array(int pids[], unsigned n_pids, const char *prefix, unsi
}
-static int show_cgroup_one_by_path(const char *path, const char *prefix, unsigned n_columns, bool more, bool kernel_threads) {
+static int show_cgroup_one_by_path(const char *path, const char *prefix, unsigned n_columns, bool more, bool kernel_threads, OutputFlags flags) {
char *fn;
- FILE *f;
+ _cleanup_fclose_ FILE *f = NULL;
size_t n = 0, n_allocated = 0;
- pid_t *pids = NULL;
- char *p;
+ _cleanup_free_ pid_t *pids = NULL;
+ char *p = NULL;
pid_t pid;
int r;
- r = cg_fix_path(path, &p);
+ r = cg_mangle_path(path, &p);
if (r < 0)
return r;
- r = asprintf(&fn, "%s/cgroup.procs", p);
+ fn = strappend(p, "/cgroup.procs");
free(p);
- if (r < 0)
+ if (!fn)
return -ENOMEM;
f = fopen(fn, "re");
@@ -133,10 +125,8 @@ static int show_cgroup_one_by_path(const char *path, const char *prefix, unsigne
n_allocated = MAX(16U, n*2U);
npids = realloc(pids, sizeof(pid_t) * n_allocated);
- if (!npids) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!npids)
+ return -ENOMEM;
pids = npids;
}
@@ -146,26 +136,18 @@ static int show_cgroup_one_by_path(const char *path, const char *prefix, unsigne
}
if (r < 0)
- goto finish;
+ return r;
if (n > 0)
- show_pid_array(pids, n, prefix, n_columns, false, more, kernel_threads);
-
- r = 0;
-
-finish:
- free(pids);
-
- if (f)
- fclose(f);
+ show_pid_array(pids, n, prefix, n_columns, false, more, kernel_threads, flags);
- return r;
+ return 0;
}
-int show_cgroup_by_path(const char *path, const char *prefix, unsigned n_columns, bool kernel_threads, bool all) {
- DIR *d;
- char *last = NULL;
- char *p1 = NULL, *p2 = NULL, *fn = NULL, *gn = NULL;
+int show_cgroup_by_path(const char *path, const char *prefix, unsigned n_columns, bool kernel_threads, OutputFlags flags) {
+ _cleanup_free_ char *fn = NULL, *p1 = NULL, *last = NULL, *p2 = NULL;
+ _cleanup_closedir_ DIR *d = NULL;
+ char *gn = NULL;
bool shown_pids = false;
int r;
@@ -177,33 +159,27 @@ int show_cgroup_by_path(const char *path, const char *prefix, unsigned n_columns
if (!prefix)
prefix = "";
- r = cg_fix_path(path, &fn);
+ r = cg_mangle_path(path, &fn);
if (r < 0)
return r;
d = opendir(fn);
- if (!d) {
- free(fn);
+ if (!d)
return -errno;
- }
while ((r = cg_read_subgroup(d, &gn)) > 0) {
- char *k;
+ _cleanup_free_ char *k = NULL;
- r = asprintf(&k, "%s/%s", fn, gn);
+ k = strjoin(fn, "/", gn, NULL);
free(gn);
- if (r < 0) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!k)
+ return -ENOMEM;
- if (!all && cg_is_empty_recursive(NULL, k, false) > 0) {
- free(k);
+ if (!(flags & OUTPUT_SHOW_ALL) && cg_is_empty_recursive(NULL, k, false) > 0)
continue;
- }
if (!shown_pids) {
- show_cgroup_one_by_path(path, prefix, n_columns, true, kernel_threads);
+ show_cgroup_one_by_path(path, prefix, n_columns, true, kernel_threads, flags);
shown_pids = true;
}
@@ -213,25 +189,23 @@ int show_cgroup_by_path(const char *path, const char *prefix, unsigned n_columns
if (!p1) {
p1 = strappend(prefix, draw_special_char(DRAW_TREE_VERT));
- if (!p1) {
- free(k);
- r = -ENOMEM;
- goto finish;
- }
+ if (!p1)
+ return -ENOMEM;
}
- show_cgroup_by_path(last, p1, n_columns-2, kernel_threads, all);
+ show_cgroup_by_path(last, p1, n_columns-2, kernel_threads, flags);
free(last);
}
last = k;
+ k = NULL;
}
if (r < 0)
- goto finish;
+ return r;
if (!shown_pids)
- show_cgroup_one_by_path(path, prefix, n_columns, !!last, kernel_threads);
+ show_cgroup_one_by_path(path, prefix, n_columns, !!last, kernel_threads, flags);
if (last) {
printf("%s%s%s\n", prefix, draw_special_char(DRAW_TREE_RIGHT),
@@ -239,47 +213,31 @@ int show_cgroup_by_path(const char *path, const char *prefix, unsigned n_columns
if (!p2) {
p2 = strappend(prefix, " ");
- if (!p2) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!p2)
+ return -ENOMEM;
}
- show_cgroup_by_path(last, p2, n_columns-2, kernel_threads, all);
+ show_cgroup_by_path(last, p2, n_columns-2, kernel_threads, flags);
}
- r = 0;
-
-finish:
- free(p1);
- free(p2);
- free(last);
- free(fn);
-
- closedir(d);
-
- return r;
+ return 0;
}
-int show_cgroup(const char *controller, const char *path, const char *prefix, unsigned n_columns, bool kernel_threads, bool all) {
- char *p;
+int show_cgroup(const char *controller, const char *path, const char *prefix, unsigned n_columns, bool kernel_threads, OutputFlags flags) {
+ _cleanup_free_ char *p = NULL;
int r;
- assert(controller);
assert(path);
r = cg_get_path(controller, path, NULL, &p);
if (r < 0)
return r;
- r = show_cgroup_by_path(p, prefix, n_columns, kernel_threads, all);
- free(p);
-
- return r;
+ return show_cgroup_by_path(p, prefix, n_columns, kernel_threads, flags);
}
-static int show_extra_pids(const char *controller, const char *path, const char *prefix, unsigned n_columns, const pid_t pids[], unsigned n_pids) {
- pid_t *copy;
+static int show_extra_pids(const char *controller, const char *path, const char *prefix, unsigned n_columns, const pid_t pids[], unsigned n_pids, OutputFlags flags) {
+ _cleanup_free_ pid_t *copy = NULL;
unsigned i, j;
int r;
@@ -292,21 +250,18 @@ static int show_extra_pids(const char *controller, const char *path, const char
if (n_columns <= 0)
n_columns = columns();
- if (!prefix)
- prefix = "";
+ prefix = strempty(prefix);
copy = new(pid_t, n_pids);
if (!copy)
return -ENOMEM;
for (i = 0, j = 0; i < n_pids; i++) {
- char *k;
+ _cleanup_free_ char *k = NULL;
- r = cg_get_by_pid(controller, pids[i], &k);
- if (r < 0) {
- free(copy);
+ r = cg_pid_get_path(controller, pids[i], &k);
+ if (r < 0)
return r;
- }
if (path_startswith(k, path))
continue;
@@ -314,28 +269,26 @@ static int show_extra_pids(const char *controller, const char *path, const char
copy[j++] = pids[i];
}
- show_pid_array(copy, j, prefix, n_columns, true, false, false);
+ show_pid_array(copy, j, prefix, n_columns, true, false, false, flags);
- free(copy);
return 0;
}
-int show_cgroup_and_extra(const char *controller, const char *path, const char *prefix, unsigned n_columns, bool kernel_threads, bool all, const pid_t extra_pids[], unsigned n_extra_pids) {
+int show_cgroup_and_extra(const char *controller, const char *path, const char *prefix, unsigned n_columns, bool kernel_threads, const pid_t extra_pids[], unsigned n_extra_pids, OutputFlags flags) {
int r;
- assert(controller);
assert(path);
- r = show_cgroup(controller, path, prefix, n_columns, kernel_threads, all);
+ r = show_cgroup(controller, path, prefix, n_columns, kernel_threads, flags);
if (r < 0)
return r;
- return show_extra_pids(controller, path, prefix, n_columns, extra_pids, n_extra_pids);
+ return show_extra_pids(controller, path, prefix, n_columns, extra_pids, n_extra_pids, flags);
}
-int show_cgroup_and_extra_by_spec(const char *spec, const char *prefix, unsigned n_columns, bool kernel_threads, bool all, const pid_t extra_pids[], unsigned n_extra_pids) {
- int r;
+int show_cgroup_and_extra_by_spec(const char *spec, const char *prefix, unsigned n_columns, bool kernel_threads, const pid_t extra_pids[], unsigned n_extra_pids, OutputFlags flags) {
_cleanup_free_ char *controller = NULL, *path = NULL;
+ int r;
assert(spec);
@@ -343,5 +296,5 @@ int show_cgroup_and_extra_by_spec(const char *spec, const char *prefix, unsigned
if (r < 0)
return r;
- return show_cgroup_and_extra(controller, path, prefix, n_columns, kernel_threads, all, extra_pids, n_extra_pids);
+ return show_cgroup_and_extra(controller, path, prefix, n_columns, kernel_threads, extra_pids, n_extra_pids, flags);
}
diff --git a/src/shared/cgroup-show.h b/src/shared/cgroup-show.h
index dba900a153..72bc8a650f 100644
--- a/src/shared/cgroup-show.h
+++ b/src/shared/cgroup-show.h
@@ -24,11 +24,13 @@
#include <stdbool.h>
#include <sys/types.h>
+#include "util.h"
+#include "logs-show.h"
-int show_cgroup_by_path(const char *path, const char *prefix, unsigned columns, bool kernel_threads, bool all);
-int show_cgroup(const char *controller, const char *path, const char *prefix, unsigned columns, bool kernel_threads, bool all);
+int show_cgroup_by_path(const char *path, const char *prefix, unsigned columns, bool kernel_threads, OutputFlags flags);
+int show_cgroup(const char *controller, const char *path, const char *prefix, unsigned columns, bool kernel_threads, OutputFlags flags);
-int show_cgroup_and_extra_by_spec(const char *spec, const char *prefix, unsigned n_columns, bool kernel_threads, bool all, const pid_t extra_pids[], unsigned n_extra_pids);
-int show_cgroup_and_extra(const char *controller, const char *path, const char *prefix, unsigned n_columns, bool kernel_threads, bool all, const pid_t extra_pids[], unsigned n_extra_pids);
+int show_cgroup_and_extra_by_spec(const char *spec, const char *prefix, unsigned n_columns, bool kernel_threads, const pid_t extra_pids[], unsigned n_extra_pids, OutputFlags flags);
+int show_cgroup_and_extra(const char *controller, const char *path, const char *prefix, unsigned n_columns, bool kernel_threads, const pid_t extra_pids[], unsigned n_extra_pids, OutputFlags flags);
#endif
diff --git a/src/shared/cgroup-util.c b/src/shared/cgroup-util.c
index 18cbf0412a..43c415d760 100644
--- a/src/shared/cgroup-util.c
+++ b/src/shared/cgroup-util.c
@@ -36,13 +36,14 @@
#include "util.h"
#include "path-util.h"
#include "strv.h"
+#include "unit-name.h"
+#include "fileio.h"
int cg_enumerate_processes(const char *controller, const char *path, FILE **_f) {
- char *fs;
- int r;
+ _cleanup_free_ char *fs = NULL;
FILE *f;
+ int r;
- assert(path);
assert(_f);
r = cg_get_path(controller, path, "cgroup.procs", &fs);
@@ -50,8 +51,6 @@ int cg_enumerate_processes(const char *controller, const char *path, FILE **_f)
return r;
f = fopen(fs, "re");
- free(fs);
-
if (!f)
return -errno;
@@ -60,11 +59,10 @@ int cg_enumerate_processes(const char *controller, const char *path, FILE **_f)
}
int cg_enumerate_tasks(const char *controller, const char *path, FILE **_f) {
- char *fs;
- int r;
+ _cleanup_free_ char *fs = NULL;
FILE *f;
+ int r;
- assert(path);
assert(_f);
r = cg_get_path(controller, path, "tasks", &fs);
@@ -72,8 +70,6 @@ int cg_enumerate_tasks(const char *controller, const char *path, FILE **_f) {
return r;
f = fopen(fs, "re");
- free(fs);
-
if (!f)
return -errno;
@@ -87,6 +83,9 @@ int cg_read_pid(FILE *f, pid_t *_pid) {
/* Note that the cgroup.procs might contain duplicates! See
* cgroups.txt for details. */
+ assert(f);
+ assert(_pid);
+
errno = 0;
if (fscanf(f, "%lu", &ul) != 1) {
@@ -104,11 +103,10 @@ int cg_read_pid(FILE *f, pid_t *_pid) {
}
int cg_enumerate_subgroups(const char *controller, const char *path, DIR **_d) {
- char *fs;
+ _cleanup_free_ char *fs = NULL;
int r;
DIR *d;
- assert(path);
assert(_d);
/* This is not recursive! */
@@ -118,8 +116,6 @@ int cg_enumerate_subgroups(const char *controller, const char *path, DIR **_d) {
return r;
d = opendir(fs);
- free(fs);
-
if (!d)
return -errno;
@@ -131,9 +127,9 @@ int cg_read_subgroup(DIR *d, char **fn) {
struct dirent *de;
assert(d);
+ assert(fn);
- errno = 0;
- while ((de = readdir(d))) {
+ FOREACH_DIRENT(de, d, return -errno) {
char *b;
if (de->d_type != DT_DIR)
@@ -143,21 +139,19 @@ int cg_read_subgroup(DIR *d, char **fn) {
streq(de->d_name, ".."))
continue;
- if (!(b = strdup(de->d_name)))
+ b = strdup(de->d_name);
+ if (!b)
return -ENOMEM;
*fn = b;
return 1;
}
- if (errno)
- return -errno;
-
return 0;
}
int cg_rmdir(const char *controller, const char *path, bool honour_sticky) {
- char *p;
+ _cleanup_free_ char *p = NULL;
int r;
r = cg_get_path(controller, path, NULL, &p);
@@ -170,61 +164,59 @@ int cg_rmdir(const char *controller, const char *path, bool honour_sticky) {
/* If the sticky bit is set don't remove the directory */
tasks = strappend(p, "/tasks");
- if (!tasks) {
- free(p);
+ if (!tasks)
return -ENOMEM;
- }
r = file_is_priv_sticky(tasks);
free(tasks);
- if (r > 0) {
- free(p);
+ if (r > 0)
return 0;
- }
}
r = rmdir(p);
- free(p);
+ if (r < 0 && errno != ENOENT)
+ return -errno;
- return (r < 0 && errno != ENOENT) ? -errno : 0;
+ return 0;
}
int cg_kill(const char *controller, const char *path, int sig, bool sigcont, bool ignore_self, Set *s) {
+ _cleanup_set_free_ Set *allocated_set = NULL;
bool done = false;
int r, ret = 0;
pid_t my_pid;
- FILE *f = NULL;
- Set *allocated_set = NULL;
- assert(controller);
- assert(path);
assert(sig >= 0);
/* This goes through the tasks list and kills them all. This
* is repeated until no further processes are added to the
* tasks list, to properly handle forking processes */
- if (!s)
- if (!(s = allocated_set = set_new(trivial_hash_func, trivial_compare_func)))
+ if (!s) {
+ s = allocated_set = set_new(trivial_hash_func, trivial_compare_func);
+ if (!s)
return -ENOMEM;
+ }
my_pid = getpid();
do {
+ _cleanup_fclose_ FILE *f = NULL;
pid_t pid = 0;
done = true;
- if ((r = cg_enumerate_processes(controller, path, &f)) < 0) {
+ r = cg_enumerate_processes(controller, path, &f);
+ if (r < 0) {
if (ret >= 0 && r != -ENOENT)
- ret = r;
+ return r;
- goto finish;
+ return ret;
}
while ((r = cg_read_pid(f, &pid)) > 0) {
- if (pid == my_pid && ignore_self)
+ if (ignore_self && pid == my_pid)
continue;
if (set_get(s, LONG_TO_PTR(pid)) == LONG_TO_PTR(pid))
@@ -245,100 +237,77 @@ int cg_kill(const char *controller, const char *path, int sig, bool sigcont, boo
done = false;
- if ((r = set_put(s, LONG_TO_PTR(pid))) < 0) {
+ r = set_put(s, LONG_TO_PTR(pid));
+ if (r < 0) {
if (ret >= 0)
- ret = r;
+ return r;
- goto finish;
+ return ret;
}
}
if (r < 0) {
if (ret >= 0)
- ret = r;
+ return r;
- goto finish;
+ return ret;
}
- fclose(f);
- f = NULL;
-
/* To avoid racing against processes which fork
* quicker than we can kill them we repeat this until
* no new pids need to be killed. */
} while (!done);
-finish:
- if (allocated_set)
- set_free(allocated_set);
-
- if (f)
- fclose(f);
-
return ret;
}
int cg_kill_recursive(const char *controller, const char *path, int sig, bool sigcont, bool ignore_self, bool rem, Set *s) {
+ _cleanup_set_free_ Set *allocated_set = NULL;
+ _cleanup_closedir_ DIR *d = NULL;
int r, ret = 0;
- DIR *d = NULL;
char *fn;
- Set *allocated_set = NULL;
assert(path);
- assert(controller);
assert(sig >= 0);
- if (!s)
- if (!(s = allocated_set = set_new(trivial_hash_func, trivial_compare_func)))
+ if (!s) {
+ s = allocated_set = set_new(trivial_hash_func, trivial_compare_func);
+ if (!s)
return -ENOMEM;
+ }
ret = cg_kill(controller, path, sig, sigcont, ignore_self, s);
- if ((r = cg_enumerate_subgroups(controller, path, &d)) < 0) {
+ r = cg_enumerate_subgroups(controller, path, &d);
+ if (r < 0) {
if (ret >= 0 && r != -ENOENT)
- ret = r;
+ return r;
- goto finish;
+ return ret;
}
while ((r = cg_read_subgroup(d, &fn)) > 0) {
- char *p = NULL;
+ _cleanup_free_ char *p = NULL;
- r = asprintf(&p, "%s/%s", path, fn);
+ p = strjoin(path, "/", fn, NULL);
free(fn);
-
- if (r < 0) {
- if (ret >= 0)
- ret = -ENOMEM;
-
- goto finish;
- }
+ if (!p)
+ return -ENOMEM;
r = cg_kill_recursive(controller, p, sig, sigcont, ignore_self, rem, s);
- free(p);
-
- if (r != 0 && ret >= 0)
+ if (ret >= 0 && r != 0)
ret = r;
}
- if (r < 0 && ret >= 0)
+ if (ret >= 0 && r < 0)
ret = r;
- if (rem)
- if ((r = cg_rmdir(controller, path, true)) < 0) {
- if (ret >= 0 &&
- r != -ENOENT &&
- r != -EBUSY)
- ret = r;
- }
-
-finish:
- if (d)
- closedir(d);
-
- if (allocated_set)
- set_free(allocated_set);
+ if (rem) {
+ r = cg_rmdir(controller, path, true);
+ if (r < 0 && ret >= 0 && r != -ENOENT && r != -EBUSY)
+ return r;
+ }
return ret;
}
@@ -347,7 +316,6 @@ int cg_kill_recursive_and_wait(const char *controller, const char *path, bool re
unsigned i;
assert(path);
- assert(controller);
/* This safely kills all processes; first it sends a SIGTERM,
* then checks 8 times after 200ms whether the group is now
@@ -365,7 +333,8 @@ int cg_kill_recursive_and_wait(const char *controller, const char *path, bool re
else
sig = 0;
- if ((r = cg_kill_recursive(controller, path, sig, true, true, rem, NULL)) <= 0)
+ r = cg_kill_recursive(controller, path, sig, true, true, rem, NULL);
+ if (r <= 0)
return r;
usleep(200 * USEC_PER_MSEC);
@@ -374,31 +343,34 @@ int cg_kill_recursive_and_wait(const char *controller, const char *path, bool re
return 0;
}
-int cg_migrate(const char *controller, const char *from, const char *to, bool ignore_self) {
+int cg_migrate(const char *cfrom, const char *pfrom, const char *cto, const char *pto, bool ignore_self) {
bool done = false;
- Set *s;
+ _cleanup_set_free_ Set *s = NULL;
int r, ret = 0;
pid_t my_pid;
- FILE *f = NULL;
- assert(controller);
- assert(from);
- assert(to);
+ assert(cfrom);
+ assert(pfrom);
+ assert(cto);
+ assert(pto);
- if (!(s = set_new(trivial_hash_func, trivial_compare_func)))
+ s = set_new(trivial_hash_func, trivial_compare_func);
+ if (!s)
return -ENOMEM;
my_pid = getpid();
do {
+ _cleanup_fclose_ FILE *f = NULL;
pid_t pid = 0;
done = true;
- if ((r = cg_enumerate_tasks(controller, from, &f)) < 0) {
+ r = cg_enumerate_tasks(cfrom, pfrom, &f);
+ if (r < 0) {
if (ret >= 0 && r != -ENOENT)
- ret = r;
+ return r;
- goto finish;
+ return ret;
}
while ((r = cg_read_pid(f, &pid)) > 0) {
@@ -406,13 +378,14 @@ int cg_migrate(const char *controller, const char *from, const char *to, bool ig
/* This might do weird stuff if we aren't a
* single-threaded program. However, we
* luckily know we are not */
- if (pid == my_pid && ignore_self)
+ if (ignore_self && pid == my_pid)
continue;
if (set_get(s, LONG_TO_PTR(pid)) == LONG_TO_PTR(pid))
continue;
- if ((r = cg_attach(controller, to, pid)) < 0) {
+ r = cg_attach(cto, pto, pid);
+ if (r < 0) {
if (ret >= 0 && r != -ESRCH)
ret = r;
} else if (ret == 0)
@@ -420,68 +393,59 @@ int cg_migrate(const char *controller, const char *from, const char *to, bool ig
done = false;
- if ((r = set_put(s, LONG_TO_PTR(pid))) < 0) {
+ r = set_put(s, LONG_TO_PTR(pid));
+ if (r < 0) {
if (ret >= 0)
- ret = r;
+ return r;
- goto finish;
+ return ret;
}
}
if (r < 0) {
if (ret >= 0)
- ret = r;
+ return r;
- goto finish;
+ return ret;
}
-
- fclose(f);
- f = NULL;
-
} while (!done);
-finish:
- set_free(s);
-
- if (f)
- fclose(f);
-
return ret;
}
-int cg_migrate_recursive(const char *controller, const char *from, const char *to, bool ignore_self, bool rem) {
+int cg_migrate_recursive(const char *cfrom, const char *pfrom, const char *cto, const char *pto, bool ignore_self, bool rem) {
+ _cleanup_closedir_ DIR *d = NULL;
int r, ret = 0;
- DIR *d = NULL;
char *fn;
- assert(controller);
- assert(from);
- assert(to);
+ assert(cfrom);
+ assert(pfrom);
+ assert(cto);
+ assert(pto);
- ret = cg_migrate(controller, from, to, ignore_self);
+ ret = cg_migrate(cfrom, pfrom, cto, pto, ignore_self);
- if ((r = cg_enumerate_subgroups(controller, from, &d)) < 0) {
+ r = cg_enumerate_subgroups(cfrom, pfrom, &d);
+ if (r < 0) {
if (ret >= 0 && r != -ENOENT)
- ret = r;
- goto finish;
+ return r;
+
+ return ret;
}
while ((r = cg_read_subgroup(d, &fn)) > 0) {
- char *p = NULL;
+ _cleanup_free_ char *p = NULL;
- r = asprintf(&p, "%s/%s", from, fn);
+ p = strjoin(pfrom, "/", fn, NULL);
free(fn);
-
- if (r < 0) {
+ if (!p) {
if (ret >= 0)
- ret = -ENOMEM;
+ return -ENOMEM;
- goto finish;
+ return ret;
}
- r = cg_migrate_recursive(controller, p, to, ignore_self, rem);
- free(p);
-
+ r = cg_migrate_recursive(cfrom, p, cto, pto, ignore_self, rem);
if (r != 0 && ret >= 0)
ret = r;
}
@@ -489,23 +453,19 @@ int cg_migrate_recursive(const char *controller, const char *from, const char *t
if (r < 0 && ret >= 0)
ret = r;
- if (rem)
- if ((r = cg_rmdir(controller, from, true)) < 0) {
- if (ret >= 0 &&
- r != -ENOENT &&
- r != -EBUSY)
- ret = r;
- }
-
-finish:
- if (d)
- closedir(d);
+ if (rem) {
+ r = cg_rmdir(cfrom, pfrom, true);
+ if (r < 0 && ret >= 0 && r != -ENOENT && r != -EBUSY)
+ return r;
+ }
return ret;
}
static const char *normalize_controller(const char *controller) {
+ assert(controller);
+
if (streq(controller, SYSTEMD_CGROUP_CONTROLLER))
return "systemd";
else if (startswith(controller, "name="))
@@ -517,9 +477,6 @@ static const char *normalize_controller(const char *controller) {
static int join_path(const char *controller, const char *path, const char *suffix, char **fs) {
char *t = NULL;
- if (!(controller || path))
- return -EINVAL;
-
if (controller) {
if (path && suffix)
t = strjoin("/sys/fs/cgroup/", controller, "/", path, "/", suffix, NULL);
@@ -528,12 +485,14 @@ static int join_path(const char *controller, const char *path, const char *suffi
else if (suffix)
t = strjoin("/sys/fs/cgroup/", controller, "/", suffix, NULL);
else
- t = strjoin("/sys/fs/cgroup/", controller, NULL);
+ t = strappend("/sys/fs/cgroup/", controller);
} else {
if (path && suffix)
t = strjoin(path, "/", suffix, NULL);
else if (path)
t = strdup(path);
+ else
+ return -EINVAL;
}
if (!t)
@@ -551,6 +510,9 @@ int cg_get_path(const char *controller, const char *path, const char *suffix, ch
assert(fs);
+ if (controller && !cg_controller_is_valid(controller, true))
+ return -EINVAL;
+
if (_unlikely_(!good)) {
int r;
@@ -563,10 +525,11 @@ int cg_get_path(const char *controller, const char *path, const char *suffix, ch
}
p = controller ? normalize_controller(controller) : NULL;
+
return join_path(p, path, suffix, fs);
}
-static int check(const char *p) {
+static int check_hierarchy(const char *p) {
char *cc;
assert(p);
@@ -584,17 +547,16 @@ int cg_get_path_and_check(const char *controller, const char *path, const char *
const char *p;
int r;
- assert(controller);
assert(fs);
- if (isempty(controller))
+ if (!cg_controller_is_valid(controller, true))
return -EINVAL;
/* Normalize the controller syntax */
p = normalize_controller(controller);
/* Check if this controller actually really exists */
- r = check(p);
+ r = check_hierarchy(p);
if (r < 0)
return r;
@@ -628,10 +590,9 @@ static int trim_cb(const char *path, const struct stat *sb, int typeflag, struct
}
int cg_trim(const char *controller, const char *path, bool delete_root) {
- char *fs;
+ _cleanup_free_ char *fs = NULL;
int r = 0;
- assert(controller);
assert(path);
r = cg_get_path(controller, path, NULL, &fs);
@@ -639,7 +600,7 @@ int cg_trim(const char *controller, const char *path, bool delete_root) {
return r;
errno = 0;
- if (nftw(fs, trim_cb, 64, FTW_DEPTH|FTW_MOUNT|FTW_PHYS) < 0)
+ if (nftw(fs, trim_cb, 64, FTW_DEPTH|FTW_MOUNT|FTW_PHYS) != 0)
r = errno ? -errno : -EIO;
if (delete_root) {
@@ -647,48 +608,39 @@ int cg_trim(const char *controller, const char *path, bool delete_root) {
char *p;
p = strappend(fs, "/tasks");
- if (!p) {
- free(fs);
+ if (!p)
return -ENOMEM;
- }
is_sticky = file_is_priv_sticky(p) > 0;
free(p);
if (!is_sticky)
- if (rmdir(fs) < 0 && errno != ENOENT) {
- if (r == 0)
- r = -errno;
- }
+ if (rmdir(fs) < 0 && errno != ENOENT && r == 0)
+ return -errno;
}
- free(fs);
-
return r;
}
int cg_delete(const char *controller, const char *path) {
- char *parent;
+ _cleanup_free_ char *parent = NULL;
int r;
- assert(controller);
assert(path);
- if ((r = path_get_parent(path, &parent)) < 0)
+ r = path_get_parent(path, &parent);
+ if (r < 0)
return r;
- r = cg_migrate_recursive(controller, path, parent, false, true);
- free(parent);
-
+ r = cg_migrate_recursive(controller, path, controller, parent, false, true);
return r == -ENOENT ? 0 : r;
}
int cg_attach(const char *controller, const char *path, pid_t pid) {
- char *fs;
+ _cleanup_free_ char *fs = NULL;
+ char c[DECIMAL_STR_MAX(pid_t) + 2];
int r;
- char c[32];
- assert(controller);
assert(path);
assert(pid >= 0);
@@ -700,19 +652,20 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
pid = getpid();
snprintf(c, sizeof(c), "%lu\n", (unsigned long) pid);
- char_array_0(c);
-
- r = write_one_line_file(fs, c);
- free(fs);
- return r;
+ return write_string_file(fs, c);
}
-int cg_set_group_access(const char *controller, const char *path, mode_t mode, uid_t uid, gid_t gid) {
- char *fs;
+int cg_set_group_access(
+ const char *controller,
+ const char *path,
+ mode_t mode,
+ uid_t uid,
+ gid_t gid) {
+
+ _cleanup_free_ char *fs = NULL;
int r;
- assert(controller);
assert(path);
if (mode != (mode_t) -1)
@@ -722,17 +675,20 @@ int cg_set_group_access(const char *controller, const char *path, mode_t mode, u
if (r < 0)
return r;
- r = chmod_and_chown(fs, mode, uid, gid);
- free(fs);
-
- return r;
+ return chmod_and_chown(fs, mode, uid, gid);
}
-int cg_set_task_access(const char *controller, const char *path, mode_t mode, uid_t uid, gid_t gid, int sticky) {
- char *fs;
+int cg_set_task_access(
+ const char *controller,
+ const char *path,
+ mode_t mode,
+ uid_t uid,
+ gid_t gid,
+ int sticky) {
+
+ _cleanup_free_ char *fs = NULL, *procs = NULL;
int r;
- assert(controller);
assert(path);
if (mode == (mode_t) -1 && uid == (uid_t) -1 && gid == (gid_t) -1 && sticky < 0)
@@ -756,10 +712,8 @@ int cg_set_task_access(const char *controller, const char *path, mode_t mode, ui
* mode from the file itself */
r = lstat(fs, &st);
- if (r < 0) {
- free(fs);
+ if (r < 0)
return -errno;
- }
if (mode == (mode_t) -1)
/* No mode set, we just shall set the sticky bit */
@@ -770,144 +724,148 @@ int cg_set_task_access(const char *controller, const char *path, mode_t mode, ui
}
r = chmod_and_chown(fs, mode, uid, gid);
- free(fs);
+ if (r < 0)
+ return r;
- return r;
+ /* Always keep values for "cgroup.procs" in sync with "tasks" */
+ r = cg_get_path(controller, path, "cgroup.procs", &procs);
+ if (r < 0)
+ return r;
+
+ return chmod_and_chown(procs, mode, uid, gid);
}
-int cg_get_by_pid(const char *controller, pid_t pid, char **path) {
- int r;
- char *p = NULL;
- FILE *f;
- char *fs;
+int cg_pid_get_path(const char *controller, pid_t pid, char **path) {
+ _cleanup_fclose_ FILE *f = NULL;
+ char line[LINE_MAX];
+ const char *fs;
size_t cs;
- assert(controller);
assert(path);
assert(pid >= 0);
- if (pid == 0)
- pid = getpid();
+ if (controller) {
+ if (!cg_controller_is_valid(controller, true))
+ return -EINVAL;
- if (asprintf(&fs, "/proc/%lu/cgroup", (unsigned long) pid) < 0)
- return -ENOMEM;
+ controller = normalize_controller(controller);
+ } else
+ controller = SYSTEMD_CGROUP_CONTROLLER;
- f = fopen(fs, "re");
- free(fs);
+ if (pid == 0)
+ fs = "/proc/self/cgroup";
+ else
+ fs = procfs_file_alloca(pid, "cgroup");
+ f = fopen(fs, "re");
if (!f)
return errno == ENOENT ? -ESRCH : -errno;
cs = strlen(controller);
- while (!feof(f)) {
- char line[LINE_MAX];
- char *l;
-
- errno = 0;
- if (!(fgets(line, sizeof(line), f))) {
- if (feof(f))
- break;
-
- r = errno ? -errno : -EIO;
- goto finish;
- }
+ FOREACH_LINE(line, f, return -errno) {
+ char *l, *p, *w, *e;
+ size_t k;
+ char *state;
+ bool found = false;
truncate_nl(line);
- if (!(l = strchr(line, ':')))
+ l = strchr(line, ':');
+ if (!l)
continue;
l++;
- if (strncmp(l, controller, cs) != 0)
+ e = strchr(l, ':');
+ if (!e)
continue;
- if (l[cs] != ':')
- continue;
+ *e = 0;
- if (!(p = strdup(l + cs + 1))) {
- r = -ENOMEM;
- goto finish;
+ FOREACH_WORD_SEPARATOR(w, k, l, ",", state) {
+
+ if (k == cs && memcmp(w, controller, cs) == 0) {
+ found = true;
+ break;
+ }
+
+ if (k == 5 + cs &&
+ memcmp(w, "name=", 5) == 0 &&
+ memcmp(w+5, controller, cs) == 0) {
+ found = true;
+ break;
+ }
}
- *path = p;
- r = 0;
- goto finish;
- }
+ if (!found)
+ continue;
- r = -ENOENT;
+ p = strdup(e + 1);
+ if (!p)
+ return -ENOMEM;
-finish:
- fclose(f);
+ *path = p;
+ return 0;
+ }
- return r;
+ return -ENOENT;
}
int cg_install_release_agent(const char *controller, const char *agent) {
- char *fs = NULL, *contents = NULL, *line = NULL, *sc;
+ _cleanup_free_ char *fs = NULL, *contents = NULL;
+ char *sc;
int r;
- assert(controller);
assert(agent);
- if ((r = cg_get_path(controller, NULL, "release_agent", &fs)) < 0)
+ r = cg_get_path(controller, NULL, "release_agent", &fs);
+ if (r < 0)
return r;
- if ((r = read_one_line_file(fs, &contents)) < 0)
- goto finish;
+ r = read_one_line_file(fs, &contents);
+ if (r < 0)
+ return r;
sc = strstrip(contents);
if (sc[0] == 0) {
-
- if (asprintf(&line, "%s\n", agent) < 0) {
- r = -ENOMEM;
- goto finish;
- }
-
- if ((r = write_one_line_file(fs, line)) < 0)
- goto finish;
-
- } else if (!streq(sc, agent)) {
- r = -EEXIST;
- goto finish;
- }
+ r = write_string_file(fs, agent);
+ if (r < 0)
+ return r;
+ } else if (!streq(sc, agent))
+ return -EEXIST;
free(fs);
fs = NULL;
- if ((r = cg_get_path(controller, NULL, "notify_on_release", &fs)) < 0)
- goto finish;
+ r = cg_get_path(controller, NULL, "notify_on_release", &fs);
+ if (r < 0)
+ return r;
free(contents);
contents = NULL;
- if ((r = read_one_line_file(fs, &contents)) < 0)
- goto finish;
+ r = read_one_line_file(fs, &contents);
+ if (r < 0)
+ return r;
sc = strstrip(contents);
-
if (streq(sc, "0")) {
- if ((r = write_one_line_file(fs, "1\n")) < 0)
- goto finish;
+ r = write_string_file(fs, "1");
+ if (r < 0)
+ return r;
- r = 1;
- } else if (!streq(sc, "1")) {
- r = -EIO;
- goto finish;
- } else
- r = 0;
+ return 1;
+ }
-finish:
- free(fs);
- free(contents);
- free(line);
+ if (!streq(sc, "1"))
+ return -EIO;
- return r;
+ return 0;
}
int cg_is_empty(const char *controller, const char *path, bool ignore_self) {
+ _cleanup_fclose_ FILE *f = NULL;
pid_t pid = 0, self_pid;
- int r;
- FILE *f = NULL;
bool found = false;
+ int r;
assert(path);
@@ -926,8 +884,6 @@ int cg_is_empty(const char *controller, const char *path, bool ignore_self) {
break;
}
- fclose(f);
-
if (r < 0)
return r;
@@ -935,8 +891,8 @@ int cg_is_empty(const char *controller, const char *path, bool ignore_self) {
}
int cg_is_empty_by_spec(const char *spec, bool ignore_self) {
- int r;
_cleanup_free_ char *controller = NULL, *path = NULL;
+ int r;
assert(spec);
@@ -947,11 +903,10 @@ int cg_is_empty_by_spec(const char *spec, bool ignore_self) {
return cg_is_empty(controller, path, ignore_self);
}
-
int cg_is_empty_recursive(const char *controller, const char *path, bool ignore_self) {
- int r;
- DIR *d = NULL;
+ _cleanup_closedir_ DIR *d = NULL;
char *fn;
+ int r;
assert(path);
@@ -964,47 +919,41 @@ int cg_is_empty_recursive(const char *controller, const char *path, bool ignore_
return r == -ENOENT ? 1 : r;
while ((r = cg_read_subgroup(d, &fn)) > 0) {
- char *p = NULL;
+ _cleanup_free_ char *p = NULL;
- r = asprintf(&p, "%s/%s", path, fn);
+ p = strjoin(path, "/", fn, NULL);
free(fn);
-
- if (r < 0) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!p)
+ return -ENOMEM;
r = cg_is_empty_recursive(controller, p, ignore_self);
- free(p);
-
if (r <= 0)
- goto finish;
+ return r;
}
- if (r >= 0)
- r = 1;
-
-finish:
-
- if (d)
- closedir(d);
+ if (r < 0)
+ return r;
- return r;
+ return 1;
}
int cg_split_spec(const char *spec, char **controller, char **path) {
const char *e;
char *t = NULL, *u = NULL;
+ _cleanup_free_ char *v = NULL;
assert(spec);
- assert(controller || path);
if (*spec == '/') {
+ if (!path_is_safe(spec))
+ return -EINVAL;
if (path) {
- if (!(t = strdup(spec)))
+ t = strdup(spec);
+ if (!t)
return -ENOMEM;
+ path_kill_slashes(t);
*path = t;
}
@@ -1014,13 +963,14 @@ int cg_split_spec(const char *spec, char **controller, char **path) {
return 0;
}
- if (!(e = strchr(spec, ':'))) {
-
- if (strchr(spec, '/') || spec[0] == 0)
+ e = strchr(spec, ':');
+ if (!e) {
+ if (!cg_controller_is_valid(spec, true))
return -EINVAL;
if (controller) {
- if (!(t = strdup(spec)))
+ t = strdup(normalize_controller(spec));
+ if (!t)
return -ENOMEM;
*controller = t;
@@ -1032,61 +982,87 @@ int cg_split_spec(const char *spec, char **controller, char **path) {
return 0;
}
- if (e[1] != '/' ||
- e == spec ||
- memchr(spec, '/', e-spec))
+ v = strndup(spec, e-spec);
+ if (!v)
+ return -ENOMEM;
+ t = strdup(normalize_controller(v));
+ if (!t)
+ return -ENOMEM;
+ if (!cg_controller_is_valid(t, true)) {
+ free(t);
return -EINVAL;
+ }
- if (controller)
- if (!(t = strndup(spec, e-spec)))
- return -ENOMEM;
+ u = strdup(e+1);
+ if (!u) {
+ free(t);
+ return -ENOMEM;
+ }
+ if (!path_is_safe(u) ||
+ !path_is_absolute(u)) {
+ free(t);
+ free(u);
+ return -EINVAL;
+ }
- if (path)
- if (!(u = strdup(e+1))) {
- free(t);
- return -ENOMEM;
- }
+ path_kill_slashes(u);
if (controller)
*controller = t;
+ else
+ free(t);
if (path)
*path = u;
+ else
+ free(u);
return 0;
}
int cg_join_spec(const char *controller, const char *path, char **spec) {
- assert(controller);
+ char *s;
+
assert(path);
- if (!path_is_absolute(path) ||
- controller[0] == 0 ||
- strchr(controller, ':') ||
- strchr(controller, '/'))
+ if (!controller)
+ controller = "systemd";
+ else {
+ if (!cg_controller_is_valid(controller, true))
+ return -EINVAL;
+
+ controller = normalize_controller(controller);
+ }
+
+ if (!path_is_absolute(path))
return -EINVAL;
- if (asprintf(spec, "%s:%s", controller, path) < 0)
+ s = strjoin(controller, ":", path, NULL);
+ if (!s)
return -ENOMEM;
+ path_kill_slashes(s + strlen(controller) + 1);
+
+ *spec = s;
return 0;
}
-int cg_fix_path(const char *path, char **result) {
- char *t, *c, *p;
+int cg_mangle_path(const char *path, char **result) {
+ _cleanup_free_ char *c = NULL, *p = NULL;
+ char *t;
int r;
assert(path);
assert(result);
/* First check if it already is a filesystem path */
- if (path_startswith(path, "/sys/fs/cgroup") &&
- access(path, F_OK) >= 0) {
+ if (path_startswith(path, "/sys/fs/cgroup")) {
t = strdup(path);
if (!t)
return -ENOMEM;
+ path_kill_slashes(t);
*result = t;
return 0;
}
@@ -1096,15 +1072,61 @@ int cg_fix_path(const char *path, char **result) {
if (r < 0)
return r;
- r = cg_get_path(c ? c : SYSTEMD_CGROUP_CONTROLLER, p ? p : "/", NULL, result);
- free(c);
- free(p);
+ return cg_get_path(c ? c : SYSTEMD_CGROUP_CONTROLLER, p ? p : "/", NULL, result);
+}
- return r;
+int cg_get_system_path(char **path) {
+ char *p;
+ int r;
+
+ assert(path);
+
+ r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, 1, &p);
+ if (r < 0) {
+ p = strdup("/system");
+ if (!p)
+ return -ENOMEM;
+ }
+
+ if (endswith(p, "/system"))
+ *path = p;
+ else {
+ char *q;
+
+ q = strappend(p, "/system");
+ free(p);
+ if (!q)
+ return -ENOMEM;
+
+ *path = q;
+ }
+
+ return 0;
+}
+
+int cg_get_root_path(char **path) {
+ char *root, *e;
+ int r;
+
+ assert(path);
+
+ r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, 1, &root);
+ if (r < 0)
+ return r;
+
+ e = endswith(root, "/system");
+ if (e == root)
+ e[1] = 0;
+ else if (e)
+ *e = 0;
+
+ *path = root;
+ return 0;
}
int cg_get_user_path(char **path) {
- char *root, *p;
+ _cleanup_free_ char *root = NULL;
+ char *p;
assert(path);
@@ -1112,18 +1134,34 @@ int cg_get_user_path(char **path) {
* same as PID 1 has but with the "/system" suffix replaced by
* "/user" */
- if (cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, 1, &root) < 0)
+ if (cg_get_root_path(&root) < 0 || streq(root, "/"))
p = strdup("/user");
- else {
- if (endswith(root, "/system"))
- root[strlen(root) - 7] = 0;
- else if (streq(root, "/"))
- root[0] = 0;
-
+ else
p = strappend(root, "/user");
- free(root);
+
+ if (!p)
+ return -ENOMEM;
+
+ *path = p;
+ return 0;
+}
+
+int cg_get_machine_path(const char *machine, char **path) {
+ _cleanup_free_ char *root = NULL, *escaped = NULL;
+ char *p;
+
+ assert(path);
+
+ if (machine) {
+ const char *name = strappenda(machine, ".nspawn");
+
+ escaped = cg_escape(name);
+ if (!escaped)
+ return -ENOMEM;
}
+ p = strjoin(cg_get_root_path(&root) >= 0 && !streq(root, "/") ? root : "",
+ "/machine", machine ? "/" : "", machine ? escaped : "", NULL);
if (!p)
return -ENOMEM;
@@ -1134,25 +1172,29 @@ int cg_get_user_path(char **path) {
char **cg_shorten_controllers(char **controllers) {
char **f, **t;
- controllers = strv_uniq(controllers);
-
if (!controllers)
return controllers;
for (f = controllers, t = controllers; *f; f++) {
- int r;
const char *p;
+ int r;
+
+ p = normalize_controller(*f);
- if (streq(*f, "systemd") || streq(*f, SYSTEMD_CGROUP_CONTROLLER)) {
+ if (streq(p, "systemd")) {
free(*f);
continue;
}
- p = normalize_controller(*f);
+ if (!cg_controller_is_valid(p, true)) {
+ log_warning("Controller %s is not valid, removing from controllers list.", p);
+ free(*f);
+ continue;
+ }
- r = check(p);
+ r = check_hierarchy(p);
if (r < 0) {
- log_debug("Controller %s is not available, removing from controllers list.", *f);
+ log_debug("Controller %s is not available, removing from controllers list.", p);
free(*f);
continue;
}
@@ -1161,40 +1203,28 @@ char **cg_shorten_controllers(char **controllers) {
}
*t = NULL;
- return controllers;
+ return strv_uniq(controllers);
}
-int cg_pid_get_cgroup(pid_t pid, char **root, char **cgroup) {
- char *cg_process, *cg_init, *p;
+int cg_pid_get_path_shifted(pid_t pid, char **root, char **cgroup) {
+ _cleanup_free_ char *cg_root = NULL;
+ char *cg_process, *p;
int r;
- assert(pid >= 0);
-
- if (pid == 0)
- pid = getpid();
-
- r = cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, pid, &cg_process);
+ r = cg_get_root_path(&cg_root);
if (r < 0)
return r;
- r = cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, 1, &cg_init);
- if (r < 0) {
- free(cg_process);
+ r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, pid, &cg_process);
+ if (r < 0)
return r;
- }
- if (endswith(cg_init, "/system"))
- cg_init[strlen(cg_init)-7] = 0;
- else if (streq(cg_init, "/"))
- cg_init[0] = 0;
-
- if (startswith(cg_process, cg_init))
- p = cg_process + strlen(cg_init);
+ p = path_startswith(cg_process, cg_root);
+ if (p)
+ p--;
else
p = cg_process;
- free(cg_init);
-
if (cgroup) {
char* c;
@@ -1216,55 +1246,358 @@ int cg_pid_get_cgroup(pid_t pid, char **root, char **cgroup) {
return 0;
}
+int cg_path_decode_unit(const char *cgroup, char **unit){
+ char *p, *e, *c, *s, *k;
+
+ assert(cgroup);
+ assert(unit);
+
+ e = strchrnul(cgroup, '/');
+ c = strndupa(cgroup, e - cgroup);
+ c = cg_unescape(c);
+
+ /* Could this be a valid unit name? */
+ if (!unit_name_is_valid(c, true))
+ return -EINVAL;
+
+ if (!unit_name_is_template(c))
+ s = strdup(c);
+ else {
+ if (*e != '/')
+ return -EINVAL;
+
+ e += strspn(e, "/");
+
+ p = strchrnul(e, '/');
+ k = strndupa(e, p - e);
+ k = cg_unescape(k);
+
+ if (!unit_name_is_valid(k, false))
+ return -EINVAL;
+
+ s = strdup(k);
+ }
+
+ if (!s)
+ return -ENOMEM;
+
+ *unit = s;
+ return 0;
+}
+
+int cg_path_get_unit(const char *path, char **unit) {
+ const char *e;
+
+ assert(path);
+ assert(unit);
+
+ e = path_startswith(path, "/system/");
+ if (!e)
+ return -ENOENT;
+
+ return cg_path_decode_unit(e, unit);
+}
+
int cg_pid_get_unit(pid_t pid, char **unit) {
+ _cleanup_free_ char *cgroup = NULL;
int r;
- char *cgroup, *p, *at, *b;
- size_t k;
- assert(pid >= 0);
assert(unit);
- r = cg_pid_get_cgroup(pid, NULL, &cgroup);
+ r = cg_pid_get_path_shifted(pid, NULL, &cgroup);
if (r < 0)
return r;
- if (!startswith(cgroup, "/system/")) {
- free(cgroup);
+ return cg_path_get_unit(cgroup, unit);
+}
+
+_pure_ static const char *skip_label(const char *e) {
+ assert(e);
+
+ e = strchr(e, '/');
+ if (!e)
+ return NULL;
+
+ e += strspn(e, "/");
+ return e;
+}
+
+int cg_path_get_user_unit(const char *path, char **unit) {
+ const char *e;
+
+ assert(path);
+ assert(unit);
+
+ /* We always have to parse the path from the beginning as unit
+ * cgroups might have arbitrary child cgroups and we shouldn't get
+ * confused by those */
+
+ e = path_startswith(path, "/user/");
+ if (!e)
return -ENOENT;
- }
- p = cgroup + 8;
- k = strcspn(p, "/");
+ /* Skip the user name */
+ e = skip_label(e);
+ if (!e)
+ return -ENOENT;
- at = memchr(p, '@', k);
- if (at && at[1] == '.') {
- size_t j;
+ /* Skip the session ID */
+ e = skip_label(e);
+ if (!e)
+ return -ENOENT;
- /* This is a templated service */
- if (p[k] != '/') {
- free(cgroup);
- return -EIO;
- }
+ /* Skip the systemd cgroup */
+ e = skip_label(e);
+ if (!e)
+ return -ENOENT;
- j = strcspn(p+k+1, "/");
+ return cg_path_decode_unit(e, unit);
+}
- b = malloc(k + j + 1);
+int cg_pid_get_user_unit(pid_t pid, char **unit) {
+ _cleanup_free_ char *cgroup = NULL;
+ int r;
- if (b) {
- memcpy(b, p, at - p + 1);
- memcpy(b + (at - p) + 1, p + k + 1, j);
- memcpy(b + (at - p) + 1 + j, at + 1, k - (at - p) - 1);
- b[k+j] = 0;
- }
- } else
- b = strndup(p, k);
+ assert(unit);
- free(cgroup);
+ r = cg_pid_get_path_shifted(pid, NULL, &cgroup);
+ if (r < 0)
+ return r;
+
+ return cg_path_get_user_unit(cgroup, unit);
+}
+
+int cg_path_get_machine_name(const char *path, char **machine) {
+ const char *e, *n;
+ char *s, *r;
+
+ assert(path);
+ assert(machine);
+
+ e = path_startswith(path, "/machine/");
+ if (!e)
+ return -ENOENT;
+
+ n = strchrnul(e, '/');
+ if (e == n)
+ return -ENOENT;
- if (!b)
+ s = strndupa(e, n - e);
+
+ r = strdup(cg_unescape(s));
+ if (!r)
return -ENOMEM;
- *unit = b;
+ *machine = r;
return 0;
+}
+
+int cg_pid_get_machine_name(pid_t pid, char **machine) {
+ _cleanup_free_ char *cgroup = NULL;
+ int r;
+
+ assert(machine);
+
+ r = cg_pid_get_path_shifted(pid, NULL, &cgroup);
+ if (r < 0)
+ return r;
+
+ return cg_path_get_machine_name(cgroup, machine);
+}
+
+int cg_path_get_session(const char *path, char **session) {
+ const char *e, *n;
+ char *s;
+
+ assert(path);
+ assert(session);
+
+ e = path_startswith(path, "/user/");
+ if (!e)
+ return -ENOENT;
+
+ /* Skip the user name */
+ e = skip_label(e);
+ if (!e)
+ return -ENOENT;
+
+ n = strchrnul(e, '/');
+ if (n - e < 8)
+ return -ENOENT;
+ if (memcmp(n - 8, ".session", 8) != 0)
+ return -ENOENT;
+
+ s = strndup(e, n - e - 8);
+ if (!s)
+ return -ENOMEM;
+
+ *session = s;
+ return 0;
+}
+
+int cg_pid_get_session(pid_t pid, char **session) {
+ _cleanup_free_ char *cgroup = NULL;
+ int r;
+
+ assert(session);
+
+ r = cg_pid_get_path_shifted(pid, NULL, &cgroup);
+ if (r < 0)
+ return r;
+
+ return cg_path_get_session(cgroup, session);
+}
+
+int cg_path_get_owner_uid(const char *path, uid_t *uid) {
+ const char *e, *n;
+ char *s;
+
+ assert(path);
+ assert(uid);
+
+ e = path_startswith(path, "/user/");
+ if (!e)
+ return -ENOENT;
+
+ n = strchrnul(e, '/');
+ if (n - e < 5)
+ return -ENOENT;
+ if (memcmp(n - 5, ".user", 5) != 0)
+ return -ENOENT;
+
+ s = strndupa(e, n - e - 5);
+ if (!s)
+ return -ENOMEM;
+
+ return parse_uid(s, uid);
+}
+
+int cg_pid_get_owner_uid(pid_t pid, uid_t *uid) {
+ _cleanup_free_ char *cgroup = NULL;
+ int r;
+
+ assert(uid);
+
+ r = cg_pid_get_path_shifted(pid, NULL, &cgroup);
+ if (r < 0)
+ return r;
+
+ return cg_path_get_owner_uid(cgroup, uid);
+}
+
+int cg_controller_from_attr(const char *attr, char **controller) {
+ const char *dot;
+ char *c;
+
+ assert(attr);
+ assert(controller);
+
+ if (!filename_is_safe(attr))
+ return -EINVAL;
+
+ dot = strchr(attr, '.');
+ if (!dot) {
+ *controller = NULL;
+ return 0;
+ }
+
+ c = strndup(attr, dot - attr);
+ if (!c)
+ return -ENOMEM;
+
+ if (!cg_controller_is_valid(c, false)) {
+ free(c);
+ return -EINVAL;
+ }
+
+ *controller = c;
+ return 1;
+}
+
+char *cg_escape(const char *p) {
+ bool need_prefix = false;
+
+ /* This implements very minimal escaping for names to be used
+ * as file names in the cgroup tree: any name which might
+ * conflict with a kernel name or is prefixed with '_' is
+ * prefixed with a '_'. That way, when reading cgroup names it
+ * is sufficient to remove a single prefixing underscore if
+ * there is one. */
+
+ /* The return value of this function (unlike cg_unescape())
+ * needs free()! */
+
+ if (p[0] == 0 ||
+ p[0] == '_' ||
+ p[0] == '.' ||
+ streq(p, "notify_on_release") ||
+ streq(p, "release_agent") ||
+ streq(p, "tasks"))
+ need_prefix = true;
+ else {
+ const char *dot;
+
+ dot = strrchr(p, '.');
+ if (dot) {
+
+ if (dot - p == 6 && memcmp(p, "cgroup", 6) == 0)
+ need_prefix = true;
+ else {
+ char *n;
+
+ n = strndupa(p, dot - p);
+
+ if (check_hierarchy(n) >= 0)
+ need_prefix = true;
+ }
+ }
+ }
+
+ if (need_prefix)
+ return strappend("_", p);
+ else
+ return strdup(p);
+}
+
+char *cg_unescape(const char *p) {
+ assert(p);
+
+ /* The return value of this function (unlike cg_escape())
+ * doesn't need free()! */
+
+ if (p[0] == '_')
+ return (char*) p+1;
+
+ return (char*) p;
+}
+
+#define CONTROLLER_VALID \
+ "0123456789" \
+ "abcdefghijklmnopqrstuvwxyz" \
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
+ "_"
+
+bool cg_controller_is_valid(const char *p, bool allow_named) {
+ const char *t, *s;
+
+ if (!p)
+ return false;
+
+ if (allow_named) {
+ s = startswith(p, "name=");
+ if (s)
+ p = s;
+ }
+
+ if (*p == 0 || *p == '_')
+ return false;
+
+ for (t = p; *t; t++)
+ if (!strchr(CONTROLLER_VALID, *t))
+ return false;
+
+ if (t - p > FILENAME_MAX)
+ return false;
+ return true;
}
diff --git a/src/shared/cgroup-util.h b/src/shared/cgroup-util.h
index af2efc39b4..25dd277ba5 100644
--- a/src/shared/cgroup-util.h
+++ b/src/shared/cgroup-util.h
@@ -28,6 +28,21 @@
#include "set.h"
#include "def.h"
+/*
+ * General rules:
+ *
+ * We accept named hierarchies in the syntax "foo" and "name=foo".
+ *
+ * We expect that named hierarchies do not conflict in name with a
+ * kernel hierarchy, modulo the "name=" prefix.
+ *
+ * We always generate "normalized" controller names, i.e. without the
+ * "name=" prefix.
+ *
+ * We require absolute cgroup paths. When returning, we will always
+ * generate paths with multiple adjacent / removed.
+ */
+
int cg_enumerate_processes(const char *controller, const char *path, FILE **_f);
int cg_enumerate_tasks(const char *controller, const char *path, FILE **_f);
int cg_read_pid(FILE *f, pid_t *_pid);
@@ -39,23 +54,24 @@ int cg_kill(const char *controller, const char *path, int sig, bool sigcont, boo
int cg_kill_recursive(const char *controller, const char *path, int sig, bool sigcont, bool ignore_self, bool remove, Set *s);
int cg_kill_recursive_and_wait(const char *controller, const char *path, bool remove);
-int cg_migrate(const char *controller, const char *from, const char *to, bool ignore_self);
-int cg_migrate_recursive(const char *controller, const char *from, const char *to, bool ignore_self, bool remove);
+int cg_migrate(const char *cfrom, const char *pfrom, const char *cto, const char *pto, bool ignore_self);
+int cg_migrate_recursive(const char *cfrom, const char *pfrom, const char *cto, const char *pto, bool ignore_self, bool remove);
int cg_split_spec(const char *spec, char **controller, char **path);
int cg_join_spec(const char *controller, const char *path, char **spec);
-int cg_fix_path(const char *path, char **result);
+int cg_mangle_path(const char *path, char **result);
int cg_get_path(const char *controller, const char *path, const char *suffix, char **fs);
int cg_get_path_and_check(const char *controller, const char *path, const char *suffix, char **fs);
-int cg_get_by_pid(const char *controller, pid_t pid, char **path);
+
+int cg_pid_get_path(const char *controller, pid_t pid, char **path);
int cg_trim(const char *controller, const char *path, bool delete_root);
int cg_rmdir(const char *controller, const char *path, bool honour_sticky);
int cg_delete(const char *controller, const char *path);
-int cg_create(const char *controller, const char *path);
+int cg_create(const char *controller, const char *path, const char *suffix);
int cg_attach(const char *controller, const char *path, pid_t pid);
int cg_create_and_attach(const char *controller, const char *path, pid_t pid);
@@ -68,8 +84,32 @@ int cg_is_empty(const char *controller, const char *path, bool ignore_self);
int cg_is_empty_by_spec(const char *spec, bool ignore_self);
int cg_is_empty_recursive(const char *controller, const char *path, bool ignore_self);
+int cg_get_root_path(char **path);
+int cg_get_system_path(char **path);
int cg_get_user_path(char **path);
-int cg_pid_get_cgroup(pid_t pid, char **root, char **cgroup);
+int cg_get_machine_path(const char *machine, char **path);
+
+int cg_path_get_session(const char *path, char **session);
+int cg_path_get_owner_uid(const char *path, uid_t *uid);
+int cg_path_get_unit(const char *path, char **unit);
+int cg_path_get_user_unit(const char *path, char **unit);
+int cg_path_get_machine_name(const char *path, char **machine);
+
+int cg_pid_get_path_shifted(pid_t pid, char **root, char **cgroup);
+
+int cg_pid_get_session(pid_t pid, char **session);
+int cg_pid_get_owner_uid(pid_t pid, uid_t *uid);
int cg_pid_get_unit(pid_t pid, char **unit);
+int cg_pid_get_user_unit(pid_t pid, char **unit);
+int cg_pid_get_machine_name(pid_t pid, char **machine);
+
+int cg_path_decode_unit(const char *cgroup, char **unit);
char **cg_shorten_controllers(char **controllers);
+
+int cg_controller_from_attr(const char *attr, char **controller);
+
+char *cg_escape(const char *p);
+char *cg_unescape(const char *p) _pure_;
+
+bool cg_controller_is_valid(const char *p, bool allow_named);
diff --git a/src/shared/conf-files.c b/src/shared/conf-files.c
index 34b86293d3..6d99739353 100644
--- a/src/shared/conf-files.c
+++ b/src/shared/conf-files.c
@@ -37,11 +37,14 @@
#include "hashmap.h"
#include "conf-files.h"
-static int files_add(Hashmap *h, const char *path, const char *suffix) {
- DIR *dir;
- int r = 0;
+static int files_add(Hashmap *h, const char *root, const char *path, const char *suffix) {
+ _cleanup_closedir_ DIR *dir = NULL;
+ _cleanup_free_ char *dirpath = NULL;
- dir = opendir(path);
+ if (asprintf(&dirpath, "%s%s", root ? root : "", path) < 0)
+ return -ENOMEM;
+
+ dir = opendir(dirpath);
if (!dir) {
if (errno == ENOENT)
return 0;
@@ -51,14 +54,12 @@ static int files_add(Hashmap *h, const char *path, const char *suffix) {
for (;;) {
struct dirent *de;
union dirent_storage buf;
- int k;
char *p;
+ int r;
- k = readdir_r(dir, &buf.de, &de);
- if (k != 0) {
- r = -k;
- goto finish;
- }
+ r = readdir_r(dir, &buf.de, &de);
+ if (r != 0)
+ return -r;
if (!de)
break;
@@ -66,20 +67,24 @@ static int files_add(Hashmap *h, const char *path, const char *suffix) {
if (!dirent_is_file_with_suffix(de, suffix))
continue;
- if (asprintf(&p, "%s/%s", path, de->d_name) < 0) {
- r = -ENOMEM;
- goto finish;
- }
+ p = strjoin(dirpath, "/", de->d_name, NULL);
+ if (!p)
+ return -ENOMEM;
- if (hashmap_put(h, path_get_file_name(p), p) <= 0) {
- log_debug("Skip overridden file: %s.", p);
+ r = hashmap_put(h, path_get_file_name(p), p);
+ if (r == -EEXIST) {
+ log_debug("Skipping overridden file: %s.", p);
+ free(p);
+ } else if (r < 0) {
+ free(p);
+ return r;
+ } else if (r == 0) {
+ log_debug("Duplicate file %s", p);
free(p);
}
}
-finish:
- closedir(dir);
- return r;
+ return 0;
}
static int base_cmp(const void *a, const void *b) {
@@ -90,64 +95,84 @@ static int base_cmp(const void *a, const void *b) {
return strcmp(path_get_file_name(s1), path_get_file_name(s2));
}
-int conf_files_list_strv(char ***strv, const char *suffix, const char **dirs) {
- Hashmap *fh = NULL;
- char **files = NULL;
- const char **p;
+static int conf_files_list_strv_internal(char ***strv, const char *suffix, const char *root, char **dirs) {
+ Hashmap *fh;
+ char **files, **p;
int r;
- assert(dirs);
+ assert(strv);
+ assert(suffix);
+
+ /* This alters the dirs string array */
+ if (!path_strv_canonicalize_uniq(dirs))
+ return -ENOMEM;
fh = hashmap_new(string_hash_func, string_compare_func);
- if (!fh) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!fh)
+ return -ENOMEM;
STRV_FOREACH(p, dirs) {
- r = files_add(fh, *p, suffix);
- if (r < 0)
- log_warning("Failed to search for files in %s: %s",
- *p, strerror(-r));
+ r = files_add(fh, root, *p, suffix);
+ if (r == -ENOMEM) {
+ hashmap_free_free(fh);
+ return r;
+ } else if (r < 0)
+ log_debug("Failed to search for files in %s: %s",
+ *p, strerror(-r));
}
files = hashmap_get_strv(fh);
if (files == NULL) {
- log_error("Failed to compose list of files.");
- r = -ENOMEM;
- goto finish;
+ hashmap_free_free(fh);
+ return -ENOMEM;
}
+
qsort(files, hashmap_size(fh), sizeof(char *), base_cmp);
- r = 0;
+ *strv = files;
-finish:
hashmap_free(fh);
- *strv = files;
- return r;
+ return 0;
}
-int conf_files_list(char ***strv, const char *suffix, const char *dir, ...) {
- char **dirs = NULL;
+int conf_files_list_strv(char ***strv, const char *suffix, const char *root, const char* const* dirs) {
+ _cleanup_strv_free_ char **copy = NULL;
+
+ assert(strv);
+ assert(suffix);
+
+ copy = strv_copy((char**) dirs);
+ if (!copy)
+ return -ENOMEM;
+
+ return conf_files_list_strv_internal(strv, suffix, root, copy);
+}
+
+int conf_files_list(char ***strv, const char *suffix, const char *root, const char *dir, ...) {
+ _cleanup_strv_free_ char **dirs = NULL;
va_list ap;
- int r;
+
+ assert(strv);
+ assert(suffix);
va_start(ap, dir);
dirs = strv_new_ap(dir, ap);
va_end(ap);
- if (!dirs) {
- r = -ENOMEM;
- goto finish;
- }
- if (!path_strv_canonicalize(dirs)) {
- r = -ENOMEM;
- goto finish;
- }
- strv_uniq(dirs);
+ if (!dirs)
+ return -ENOMEM;
+
+ return conf_files_list_strv_internal(strv, suffix, root, dirs);
+}
+
+int conf_files_list_nulstr(char ***strv, const char *suffix, const char *root, const char *d) {
+ _cleanup_strv_free_ char **dirs = NULL;
+
+ assert(strv);
+ assert(suffix);
- r = conf_files_list_strv(strv, suffix, (const char **)dirs);
+ dirs = strv_split_nulstr(d);
+ if (!dirs)
+ return -ENOMEM;
-finish:
- strv_free(dirs);
- return r;
+ return conf_files_list_strv_internal(strv, suffix, root, dirs);
}
diff --git a/src/shared/conf-files.h b/src/shared/conf-files.h
index f37ee1f3db..3bd3d2f3d4 100644
--- a/src/shared/conf-files.h
+++ b/src/shared/conf-files.h
@@ -25,7 +25,8 @@
#include "macro.h"
-int conf_files_list(char ***strv, const char *suffix, const char *dir, ...);
-int conf_files_list_strv(char ***strv, const char *suffix, const char **dirs);
+int conf_files_list(char ***strv, const char *suffix, const char *root, const char *dir, ...);
+int conf_files_list_strv(char ***strv, const char *suffix, const char *root, const char* const* dirs);
+int conf_files_list_nulstr(char ***strv, const char *suffix, const char *root, const char *dirs);
#endif
diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
index 9f5c07c761..2303d9a50b 100644
--- a/src/shared/conf-parser.c
+++ b/src/shared/conf-parser.c
@@ -34,6 +34,45 @@
#include "path-util.h"
#include "set.h"
#include "exit-status.h"
+#include "sd-messages.h"
+
+int log_syntax_internal(const char *unit, int level,
+ const char *file, unsigned line, const char *func,
+ const char *config_file, unsigned config_line,
+ int error, const char *format, ...) {
+
+ _cleanup_free_ char *msg = NULL;
+ int r;
+ va_list ap;
+
+ va_start(ap, format);
+ r = vasprintf(&msg, format, ap);
+ va_end(ap);
+ if (r < 0)
+ return log_oom();
+
+ if (unit)
+ r = log_struct_internal(level,
+ file, line, func,
+ getpid() == 1 ? "UNIT=%s" : "USER_UNIT=%s", unit,
+ MESSAGE_ID(SD_MESSAGE_CONFIG_ERROR),
+ "CONFIG_FILE=%s", config_file,
+ "CONFIG_LINE=%u", config_line,
+ "ERRNO=%d", error > 0 ? error : EINVAL,
+ "MESSAGE=[%s:%u] %s", config_file, config_line, msg,
+ NULL);
+ else
+ r = log_struct_internal(level,
+ file, line, func,
+ MESSAGE_ID(SD_MESSAGE_CONFIG_ERROR),
+ "CONFIG_FILE=%s", config_file,
+ "CONFIG_LINE=%u", config_line,
+ "ERRNO=%d", error > 0 ? error : EINVAL,
+ "MESSAGE=[%s:%u] %s", config_file, config_line, msg,
+ NULL);
+
+ return r;
+}
int config_item_table_lookup(
void *table,
@@ -110,16 +149,16 @@ int config_item_perf_lookup(
}
/* Run the user supplied parser for an assignment */
-static int next_assignment(
- const char *filename,
- unsigned line,
- ConfigItemLookup lookup,
- void *table,
- const char *section,
- const char *lvalue,
- const char *rvalue,
- bool relaxed,
- void *userdata) {
+static int next_assignment(const char *unit,
+ const char *filename,
+ unsigned line,
+ ConfigItemLookup lookup,
+ void *table,
+ const char *section,
+ const char *lvalue,
+ const char *rvalue,
+ bool relaxed,
+ void *userdata) {
ConfigParserCallback func = NULL;
int ltype = 0;
@@ -138,29 +177,32 @@ static int next_assignment(
if (r > 0) {
if (func)
- return func(filename, line, section, lvalue, ltype, rvalue, data, userdata);
+ return func(unit, filename, line, section, lvalue, ltype,
+ rvalue, data, userdata);
return 0;
}
/* Warn about unknown non-extension fields. */
if (!relaxed && !startswith(lvalue, "X-"))
- log_info("[%s:%u] Unknown lvalue '%s' in section '%s'. Ignoring.", filename, line, lvalue, section);
+ log_syntax(unit, LOG_WARNING, filename, line, EINVAL,
+ "Unknown lvalue '%s' in section '%s'", lvalue, section);
return 0;
}
/* Parse a variable assignment line */
-static int parse_line(
- const char *filename,
- unsigned line,
- const char *sections,
- ConfigItemLookup lookup,
- void *table,
- bool relaxed,
- char **section,
- char *l,
- void *userdata) {
+static int parse_line(const char* unit,
+ const char *filename,
+ unsigned line,
+ const char *sections,
+ ConfigItemLookup lookup,
+ void *table,
+ bool relaxed,
+ bool allow_include,
+ char **section,
+ char *l,
+ void *userdata) {
char *e;
@@ -174,21 +216,23 @@ static int parse_line(
if (!*l)
return 0;
- if (strchr(COMMENTS, *l))
+ if (strchr(COMMENTS "\n", *l))
return 0;
if (startswith(l, ".include ")) {
- char *fn;
- int r;
+ _cleanup_free_ char *fn = NULL;
+
+ if (!allow_include) {
+ log_syntax(unit, LOG_ERR, filename, line, EBADMSG,
+ ".include not allowed here. Ignoring.");
+ return 0;
+ }
fn = file_in_same_dir(filename, strstrip(l+9));
if (!fn)
return -ENOMEM;
- r = config_parse(fn, NULL, sections, lookup, table, relaxed, userdata);
- free(fn);
-
- return r;
+ return config_parse(unit, fn, NULL, sections, lookup, table, relaxed, false, userdata);
}
if (*l == '[') {
@@ -199,7 +243,8 @@ static int parse_line(
assert(k > 0);
if (l[k-1] != ']') {
- log_error("[%s:%u] Invalid section header.", filename, line);
+ log_syntax(unit, LOG_ERR, filename, line, EBADMSG,
+ "Invalid section header '%s'", l);
return -EBADMSG;
}
@@ -210,7 +255,8 @@ static int parse_line(
if (sections && !nulstr_contains(sections, n)) {
if (!relaxed)
- log_info("[%s:%u] Unknown section '%s'. Ignoring.", filename, line, n);
+ log_syntax(unit, LOG_WARNING, filename, line, EINVAL,
+ "Unknown section '%s'. Ignoring.", n);
free(n);
*section = NULL;
@@ -225,60 +271,58 @@ static int parse_line(
if (sections && !*section) {
if (!relaxed)
- log_info("[%s:%u] Assignment outside of section. Ignoring.", filename, line);
+ log_syntax(unit, LOG_WARNING, filename, line, EINVAL,
+ "Assignment outside of section. Ignoring.");
return 0;
}
e = strchr(l, '=');
if (!e) {
- log_error("[%s:%u] Missing '='.", filename, line);
+ log_syntax(unit, LOG_WARNING, filename, line, EINVAL, "Missing '='.");
return -EBADMSG;
}
*e = 0;
e++;
- return next_assignment(
- filename,
- line,
- lookup,
- table,
- *section,
- strstrip(l),
- strstrip(e),
- relaxed,
- userdata);
+ return next_assignment(unit,
+ filename,
+ line,
+ lookup,
+ table,
+ *section,
+ strstrip(l),
+ strstrip(e),
+ relaxed,
+ userdata);
}
/* Go through the file and parse each line */
-int config_parse(
- const char *filename,
- FILE *f,
- const char *sections,
- ConfigItemLookup lookup,
- void *table,
- bool relaxed,
- void *userdata) {
-
+int config_parse(const char *unit,
+ const char *filename,
+ FILE *f,
+ const char *sections,
+ ConfigItemLookup lookup,
+ void *table,
+ bool relaxed,
+ bool allow_include,
+ void *userdata) {
+
+ _cleanup_free_ char *section = NULL, *continuation = NULL;
+ _cleanup_fclose_ FILE *ours = NULL;
unsigned line = 0;
- char *section = NULL;
int r;
- bool ours = false;
- char *continuation = NULL;
assert(filename);
assert(lookup);
if (!f) {
- f = fopen(filename, "re");
+ f = ours = fopen(filename, "re");
if (!f) {
- r = -errno;
- log_error("Failed to open configuration file '%s': %s", filename, strerror(-r));
- goto finish;
+ log_error("Failed to open configuration file '%s': %m", filename);
+ return -errno;
}
-
- ours = true;
}
while (!feof(f)) {
@@ -289,19 +333,16 @@ int config_parse(
if (feof(f))
break;
- r = -errno;
- log_error("Failed to read configuration file '%s': %s", filename, strerror(-r));
- goto finish;
+ log_error("Failed to read configuration file '%s': %m", filename);
+ return -errno;
}
truncate_nl(l);
if (continuation) {
c = strappend(continuation, l);
- if (!c) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!c)
+ return -ENOMEM;
free(continuation);
continuation = NULL;
@@ -323,166 +364,93 @@ int config_parse(
continuation = c;
else {
continuation = strdup(l);
- if (!continuation) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!continuation)
+ return -ENOMEM;
}
continue;
}
- r = parse_line(filename,
- ++line,
- sections,
- lookup,
- table,
- relaxed,
- &section,
- p,
- userdata);
+ r = parse_line(unit,
+ filename,
+ ++line,
+ sections,
+ lookup,
+ table,
+ relaxed,
+ allow_include,
+ &section,
+ p,
+ userdata);
free(c);
if (r < 0)
- goto finish;
- }
-
- r = 0;
-
-finish:
- free(section);
- free(continuation);
-
- if (f && ours)
- fclose(f);
-
- return r;
-}
-
-int config_parse_int(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- int *i = data;
- int r;
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
- assert(data);
-
- if ((r = safe_atoi(rvalue, i)) < 0) {
- log_error("[%s:%u] Failed to parse numeric value, ingoring: %s", filename, line, rvalue);
- return 0;
+ return r;
}
return 0;
}
-int config_parse_long(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- long *i = data;
- int r;
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
- assert(data);
-
- if ((r = safe_atoli(rvalue, i)) < 0) {
- log_error("[%s:%u] Failed to parse numeric value, ignoring: %s", filename, line, rvalue);
- return 0;
- }
-
- return 0;
-}
-
-int config_parse_uint64(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- uint64_t *u = data;
- int r;
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
- assert(data);
-
- if ((r = safe_atou64(rvalue, u)) < 0) {
- log_error("[%s:%u] Failed to parse numeric value, ignoring: %s", filename, line, rvalue);
- return 0;
- }
-
- return 0;
-}
-
-int config_parse_unsigned(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- unsigned *u = data;
- int r;
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
- assert(data);
-
- if ((r = safe_atou(rvalue, u)) < 0) {
- log_error("[%s:%u] Failed to parse numeric value: %s", filename, line, rvalue);
- return r;
+#define DEFINE_PARSER(type, vartype, conv_func) \
+ int config_parse_##type(const char *unit, \
+ const char *filename, \
+ unsigned line, \
+ const char *section, \
+ const char *lvalue, \
+ int ltype, \
+ const char *rvalue, \
+ void *data, \
+ void *userdata) { \
+ \
+ vartype *i = data; \
+ int r; \
+ \
+ assert(filename); \
+ assert(lvalue); \
+ assert(rvalue); \
+ assert(data); \
+ \
+ r = conv_func(rvalue, i); \
+ if (r < 0) \
+ log_syntax(unit, LOG_ERR, filename, line, -r, \
+ "Failed to parse %s value, ignoring: %s", \
+ #vartype, rvalue); \
+ \
+ return 0; \
}
- return 0;
-}
-
-int config_parse_bytes_size(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+DEFINE_PARSER(int, int, safe_atoi)
+DEFINE_PARSER(long, long, safe_atoli)
+DEFINE_PARSER(uint64, uint64_t, safe_atou64)
+DEFINE_PARSER(unsigned, unsigned, safe_atou)
+DEFINE_PARSER(double, double, safe_atod)
+DEFINE_PARSER(nsec, nsec_t, parse_nsec)
+DEFINE_PARSER(sec, usec_t, parse_sec)
+
+
+int config_parse_bytes_size(const char* unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
size_t *sz = data;
off_t o;
+ int r;
assert(filename);
assert(lvalue);
assert(rvalue);
assert(data);
- if (parse_bytes(rvalue, &o) < 0 || (off_t) (size_t) o != o) {
- log_error("[%s:%u] Failed to parse byte value, ignoring: %s", filename, line, rvalue);
+ r = parse_bytes(rvalue, &o);
+ if (r < 0 || (off_t) (size_t) o != o) {
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse byte value, ignoring: %s", rvalue);
return 0;
}
@@ -491,17 +459,18 @@ int config_parse_bytes_size(
}
-int config_parse_bytes_off(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_bytes_off(const char* unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
off_t *bytes = data;
+ int r;
assert(filename);
assert(lvalue);
@@ -510,23 +479,23 @@ int config_parse_bytes_off(
assert_cc(sizeof(off_t) == sizeof(uint64_t));
- if (parse_bytes(rvalue, bytes) < 0) {
- log_error("[%s:%u] Failed to parse bytes value, ignoring: %s", filename, line, rvalue);
- return 0;
- }
+ r = parse_bytes(rvalue, bytes);
+ if (r < 0)
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Failed to parse bytes value, ignoring: %s", rvalue);
return 0;
}
-int config_parse_bool(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_bool(const char* unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
int k;
bool *b = data;
@@ -536,8 +505,10 @@ int config_parse_bool(
assert(rvalue);
assert(data);
- if ((k = parse_boolean(rvalue)) < 0) {
- log_error("[%s:%u] Failed to parse boolean value, ignoring: %s", filename, line, rvalue);
+ k = parse_boolean(rvalue);
+ if (k < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, -k,
+ "Failed to parse boolean value, ignoring: %s", rvalue);
return 0;
}
@@ -545,15 +516,15 @@ int config_parse_bool(
return 0;
}
-int config_parse_tristate(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_tristate(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
int k;
int *b = data;
@@ -567,7 +538,8 @@ int config_parse_tristate(
k = parse_boolean(rvalue);
if (k < 0) {
- log_error("[%s:%u] Failed to parse boolean value, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, -k,
+ "Failed to parse boolean value, ignoring: %s", rvalue);
return 0;
}
@@ -575,15 +547,15 @@ int config_parse_tristate(
return 0;
}
-int config_parse_string(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_string(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
char **s = data;
char *n;
@@ -595,10 +567,11 @@ int config_parse_string(
n = strdup(rvalue);
if (!n)
- return -ENOMEM;
+ return log_oom();
if (!utf8_is_valid(n)) {
- log_error("[%s:%u] String is not UTF-8 clean, ignoring assignment: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "String is not UTF-8 clean, ignoring assignment: %s", rvalue);
free(n);
return 0;
}
@@ -614,15 +587,15 @@ int config_parse_string(
return 0;
}
-int config_parse_path(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_path(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
char **s = data;
char *n;
@@ -633,18 +606,20 @@ int config_parse_path(
assert(data);
if (!utf8_is_valid(rvalue)) {
- log_error("[%s:%u] Path is not UTF-8 clean, ignoring assignment: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Path is not UTF-8 clean, ignoring assignment: %s", rvalue);
return 0;
}
if (!path_is_absolute(rvalue)) {
- log_error("[%s:%u] Not an absolute path, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Not an absolute path, ignoring: %s", rvalue);
return 0;
}
n = strdup(rvalue);
if (!n)
- return -ENOMEM;
+ return log_oom();
path_kill_slashes(n);
@@ -654,22 +629,18 @@ int config_parse_path(
return 0;
}
-int config_parse_strv(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- char*** sv = data;
- char **n;
- char *w;
- unsigned k;
+int config_parse_strv(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
+
+ char *** sv = data, *w, *state;
size_t l;
- char *state;
int r;
assert(filename);
@@ -677,66 +648,55 @@ int config_parse_strv(
assert(rvalue);
assert(data);
- k = strv_length(*sv);
- FOREACH_WORD_QUOTED(w, l, rvalue, state)
- k++;
+ if (isempty(rvalue)) {
+ char **empty;
- n = new(char*, k+1);
- if (!n)
- return -ENOMEM;
+ /* Empty assignment resets the list. As a special rule
+ * we actually fill in a real empty array here rather
+ * than NULL, since some code wants to know if
+ * something was set at all... */
+ empty = strv_new(NULL, NULL);
+ if (!empty)
+ return log_oom();
- if (*sv)
- for (k = 0; (*sv)[k]; k++)
- n[k] = (*sv)[k];
- else
- k = 0;
+ strv_free(*sv);
+ *sv = empty;
+ return 0;
+ }
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
- n[k] = cunescape_length(w, l);
- if (!n[k]) {
- r = -ENOMEM;
- goto fail;
- }
+ _cleanup_free_ char *n;
- if (!utf8_is_valid(n[k])) {
- log_error("[%s:%u] String is not UTF-8 clean, ignoring assignment: %s", filename, line, rvalue);
- free(n[k]);
+ n = cunescape_length(w, l);
+ if (!n)
+ return log_oom();
+
+ if (!utf8_is_valid(n)) {
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "String is not UTF-8 clean, ignoring: %s", rvalue);
continue;
}
- k++;
+ r = strv_extend(sv, n);
+ if (r < 0)
+ return log_oom();
}
- n[k] = NULL;
- free(*sv);
- *sv = n;
-
return 0;
-
-fail:
- for (; k > 0; k--)
- free(n[k-1]);
- free(n);
-
- return r;
}
-int config_parse_path_strv(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- char*** sv = data;
- char **n;
- char *w;
- unsigned k;
+int config_parse_path_strv(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
+
+ char*** sv = data, *w, *state;
size_t l;
- char *state;
int r;
assert(filename);
@@ -744,115 +704,50 @@ int config_parse_path_strv(
assert(rvalue);
assert(data);
- k = strv_length(*sv);
- FOREACH_WORD_QUOTED(w, l, rvalue, state)
- k++;
-
- n = new(char*, k+1);
- if (!n)
- return -ENOMEM;
-
- k = 0;
- if (*sv)
- for (; (*sv)[k]; k++)
- n[k] = (*sv)[k];
+ if (isempty(rvalue)) {
+ /* Empty assignment resets the list */
+ strv_free(*sv);
+ *sv = NULL;
+ return 0;
+ }
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
- n[k] = strndup(w, l);
- if (!n[k]) {
- r = -ENOMEM;
- goto fail;
- }
+ _cleanup_free_ char *n;
- if (!utf8_is_valid(n[k])) {
- log_error("[%s:%u] Path is not UTF-8 clean, ignoring assignment: %s", filename, line, rvalue);
- free(n[k]);
+ n = strndup(w, l);
+ if (!n)
+ return log_oom();
+
+ if (!utf8_is_valid(n)) {
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Path is not UTF-8 clean, ignoring assignment: %s", rvalue);
continue;
}
- if (!path_is_absolute(n[k])) {
- log_error("[%s:%u] Not an absolute path, ignoring: %s", filename, line, rvalue);
- free(n[k]);
+ if (!path_is_absolute(n)) {
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Not an absolute path, ignoring: %s", rvalue);
continue;
}
- path_kill_slashes(n[k]);
- k++;
- }
-
- n[k] = NULL;
- free(*sv);
- *sv = n;
-
- return 0;
-
-fail:
- for (; k > 0; k--)
- free(n[k-1]);
- free(n);
-
- return r;
-}
-
-int config_parse_usec(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- usec_t *usec = data;
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
- assert(data);
-
- if (parse_usec(rvalue, usec) < 0) {
- log_error("[%s:%u] Failed to parse time value, ignoring: %s", filename, line, rvalue);
- return 0;
- }
-
- return 0;
-}
-
-int config_parse_nsec(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
-
- nsec_t *nsec = data;
-
- assert(filename);
- assert(lvalue);
- assert(rvalue);
- assert(data);
-
- if (parse_nsec(rvalue, nsec) < 0) {
- log_error("[%s:%u] Failed to parse time value, ignoring: %s", filename, line, rvalue);
- return 0;
+ path_kill_slashes(n);
+ r = strv_extend(sv, n);
+ if (r < 0)
+ return log_oom();
}
return 0;
}
-int config_parse_mode(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_mode(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
mode_t *m = data;
long l;
@@ -866,12 +761,14 @@ int config_parse_mode(
errno = 0;
l = strtol(rvalue, &x, 8);
if (!x || x == rvalue || *x || errno) {
- log_error("[%s:%u] Failed to parse mode value, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, errno,
+ "Failed to parse mode value, ignoring: %s", rvalue);
return 0;
}
if (l < 0000 || l > 07777) {
- log_error("[%s:%u] mode value out of range, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, ERANGE,
+ "Mode value out of range, ignoring: %s", rvalue);
return 0;
}
@@ -879,15 +776,15 @@ int config_parse_mode(
return 0;
}
-int config_parse_facility(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_facility(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
int *o = data, x;
@@ -899,7 +796,8 @@ int config_parse_facility(
x = log_facility_unshifted_from_string(rvalue);
if (x < 0) {
- log_error("[%s:%u] Failed to parse log facility, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse log facility, ignoring: %s", rvalue);
return 0;
}
@@ -908,15 +806,15 @@ int config_parse_facility(
return 0;
}
-int config_parse_level(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_level(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
int *o = data, x;
@@ -928,7 +826,8 @@ int config_parse_level(
x = log_level_from_string(rvalue);
if (x < 0) {
- log_error("[%s:%u] Failed to parse log level, ignoring: %s", filename, line, rvalue);
+ log_syntax(unit, LOG_ERR, filename, line, EINVAL,
+ "Failed to parse log level, ignoring: %s", rvalue);
return 0;
}
@@ -936,15 +835,15 @@ int config_parse_level(
return 0;
}
-int config_parse_set_status(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+int config_parse_set_status(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
char *w;
size_t l;
@@ -957,6 +856,16 @@ int config_parse_set_status(
assert(rvalue);
assert(data);
+ if (isempty(rvalue)) {
+ /* Empty assignment resets the list */
+
+ set_free(status_set->signal);
+ set_free(status_set->code);
+
+ status_set->signal = status_set->code = NULL;
+ return 0;
+ }
+
FOREACH_WORD(w, l, rvalue, state) {
int val;
char *temp;
@@ -977,18 +886,21 @@ int config_parse_set_status(
r = set_put(status_set->signal, INT_TO_PTR(val));
if (r < 0) {
- log_error("[%s:%u] Unable to store: %s", filename, line, w);
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Unable to store: %s", w);
return r;
}
} else {
- log_error("[%s:%u] Failed to parse value, ignoring: %s", filename, line, w);
+ log_syntax(unit, LOG_ERR, filename, line, -val,
+ "Failed to parse value, ignoring: %s", w);
return 0;
}
} else {
free(temp);
if (val < 0 || val > 255)
- log_warning("[%s:%u] Value %d is outside range 0-255, ignoring", filename, line, val);
+ log_syntax(unit, LOG_ERR, filename, line, ERANGE,
+ "Value %d is outside range 0-255, ignoring", val);
else {
r = set_ensure_allocated(&status_set->code, trivial_hash_func, trivial_compare_func);
if (r < 0)
@@ -996,7 +908,8 @@ int config_parse_set_status(
r = set_put(status_set->code, INT_TO_PTR(val));
if (r < 0) {
- log_error("[%s:%u] Unable to store: %s", filename, line, w);
+ log_syntax(unit, LOG_ERR, filename, line, -r,
+ "Unable to store: %s", w);
return r;
}
}
diff --git a/src/shared/conf-parser.h b/src/shared/conf-parser.h
index 56ffc2f8a8..08428a514a 100644
--- a/src/shared/conf-parser.h
+++ b/src/shared/conf-parser.h
@@ -24,19 +24,21 @@
#include <stdio.h>
#include <stdbool.h>
+#include "macro.h"
+
/* An abstract parser for simple, line based, shallow configuration
* files consisting of variable assignments only. */
/* Prototype for a parser for a specific configuration setting */
-typedef int (*ConfigParserCallback)(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata);
+typedef int (*ConfigParserCallback)(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata);
/* Wraps information for parsing a specific configuration variable, to
* be stored in a simple array */
@@ -78,45 +80,58 @@ int config_item_table_lookup(void *table, const char *section, const char *lvalu
* ConfigPerfItem tables */
int config_item_perf_lookup(void *table, const char *section, const char *lvalue, ConfigParserCallback *func, int *ltype, void **data, void *userdata);
-int config_parse(
- const char *filename,
- FILE *f,
- const char *sections, /* nulstr */
- ConfigItemLookup lookup,
- void *table,
- bool relaxed,
- void *userdata);
+int config_parse(const char *unit,
+ const char *filename,
+ FILE *f,
+ const char *sections, /* nulstr */
+ ConfigItemLookup lookup,
+ void *table,
+ bool relaxed,
+ bool allow_include,
+ void *userdata);
/* Generic parsers */
-int config_parse_int(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_unsigned(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_long(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_uint64(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_bytes_size(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_bytes_off(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_bool(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_tristate(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_string(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_path(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_strv(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_path_strv(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_usec(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_nsec(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_mode(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_facility(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_level(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-int config_parse_set_status(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_int(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_unsigned(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_long(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_uint64(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_double(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_bytes_size(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_bytes_off(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_bool(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_tristate(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_string(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_path(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_strv(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_path_strv(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_sec(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_nsec(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_mode(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_facility(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_level(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_set_status(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+
+int log_syntax_internal(const char *unit, int level,
+ const char *file, unsigned line, const char *func,
+ const char *config_file, unsigned config_line,
+ int error, const char *format, ...) _printf_attr_(9, 10);
+
+#define log_syntax(unit, level, config_file, config_line, error, ...) \
+ log_syntax_internal(unit, level, \
+ __FILE__, __LINE__, __func__, \
+ config_file, config_line, \
+ error, __VA_ARGS__)
#define DEFINE_CONFIG_PARSE_ENUM(function,name,type,msg) \
- int function( \
- const char *filename, \
- unsigned line, \
- const char *section, \
- const char *lvalue, \
- int ltype, \
- const char *rvalue, \
- void *data, \
- void *userdata) { \
+ int function(const char *unit, \
+ const char *filename, \
+ unsigned line, \
+ const char *section, \
+ const char *lvalue, \
+ int ltype, \
+ const char *rvalue, \
+ void *data, \
+ void *userdata) { \
\
type *i = data, x; \
\
@@ -126,11 +141,11 @@ int config_parse_set_status(const char *filename, unsigned line, const char *sec
assert(data); \
\
if ((x = name##_from_string(rvalue)) < 0) { \
- log_error("[%s:%u] " msg ", ignoring: %s", filename, line, rvalue); \
+ log_syntax(unit, LOG_ERR, filename, line, -x, \
+ msg ", ignoring: %s", rvalue); \
return 0; \
} \
\
*i = x; \
- \
return 0; \
}
diff --git a/src/shared/dbus-common.c b/src/shared/dbus-common.c
index e9a78c299e..b8c15cb9fc 100644
--- a/src/shared/dbus-common.c
+++ b/src/shared/dbus-common.c
@@ -258,12 +258,11 @@ const char *bus_error_message(const DBusError *error) {
return error->message;
}
-const char *bus_error_message_or_strerror(const DBusError *error, int err) {
-
+const char *bus_error(const DBusError *error, int err) {
if (error && dbus_error_is_set(error))
return bus_error_message(error);
- return strerror(err);
+ return strerror(err < 0 ? -err : err);
}
DBusHandlerResult bus_default_message_handler(
@@ -717,9 +716,14 @@ dbus_bool_t bus_maybe_send_reply (DBusConnection *c,
DBusMessage *message,
DBusMessage *reply)
{
- if (dbus_message_get_no_reply (message))
+ /* Some parts of systemd "reply" to signals, which of course
+ * have the no-reply flag set. We will be defensive here and
+ * still send out a reply if we're passed a signal.
+ */
+ if (dbus_message_get_type(message) == DBUS_MESSAGE_TYPE_METHOD_CALL &&
+ dbus_message_get_no_reply(message))
return TRUE;
- return dbus_connection_send (c, reply, NULL);
+ return dbus_connection_send(c, reply, NULL);
}
DBusHandlerResult bus_send_error_reply(DBusConnection *c, DBusMessage *message, DBusError *berror, int error) {
@@ -927,6 +931,95 @@ int bus_parse_strv_iter(DBusMessageIter *iter, char ***_l) {
return 0;
}
+int bus_parse_strv_pairs_iter(DBusMessageIter *iter, char ***_l) {
+ DBusMessageIter sub, sub2;
+ unsigned n = 0, i = 0;
+ char **l;
+
+ assert(iter);
+ assert(_l);
+
+ if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY ||
+ dbus_message_iter_get_element_type(iter) != DBUS_TYPE_STRUCT)
+ return -EINVAL;
+
+ dbus_message_iter_recurse(iter, &sub);
+
+ while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
+ n++;
+ dbus_message_iter_next(&sub);
+ }
+
+ l = new(char*, n*2+1);
+ if (!l)
+ return -ENOMEM;
+
+ dbus_message_iter_recurse(iter, &sub);
+
+ while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
+ const char *a, *b;
+
+ assert_se(dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_STRUCT);
+
+ dbus_message_iter_recurse(&sub, &sub2);
+
+ if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &a, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &b, false) < 0)
+ return -EINVAL;
+
+ l[i] = strdup(a);
+ if (!l[i]) {
+ strv_free(l);
+ return -ENOMEM;
+ }
+
+ l[++i] = strdup(b);
+ if (!l[i]) {
+ strv_free(l);
+ return -ENOMEM;
+ }
+
+ i++;
+ dbus_message_iter_next(&sub);
+ }
+
+ assert(i == n*2);
+ l[i] = NULL;
+
+ if (_l)
+ *_l = l;
+
+ return 0;
+}
+
+int bus_parse_unit_info(DBusMessageIter *iter, struct unit_info *u) {
+ DBusMessageIter sub;
+
+ assert(iter);
+ assert(u);
+
+ if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRUCT)
+ return -EINVAL;
+
+ dbus_message_iter_recurse(iter, &sub);
+
+ if (bus_iter_get_basic_and_next(&sub, DBUS_TYPE_STRING, &u->id, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub, DBUS_TYPE_STRING, &u->description, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub, DBUS_TYPE_STRING, &u->load_state, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub, DBUS_TYPE_STRING, &u->active_state, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub, DBUS_TYPE_STRING, &u->sub_state, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub, DBUS_TYPE_STRING, &u->following, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub, DBUS_TYPE_OBJECT_PATH, &u->unit_path, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub, DBUS_TYPE_UINT32, &u->job_id, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub, DBUS_TYPE_STRING, &u->job_type, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub, DBUS_TYPE_OBJECT_PATH, &u->job_path, false) < 0) {
+ log_error("Failed to parse reply.");
+ return -EIO;
+ }
+
+ return 0;
+}
+
int bus_append_strv_iter(DBusMessageIter *iter, char **l) {
DBusMessageIter sub;
@@ -1003,7 +1096,7 @@ int generic_print_property(const char *name, DBusMessageIter *iter, bool all) {
} else if (strstr(name, "USec")) {
char timespan[FORMAT_TIMESPAN_MAX];
- printf("%s=%s\n", name, format_timespan(timespan, sizeof(timespan), u));
+ printf("%s=%s\n", name, format_timespan(timespan, sizeof(timespan), u, 0));
} else
printf("%s=%llu\n", name, (unsigned long long) u);
diff --git a/src/shared/dbus-common.h b/src/shared/dbus-common.h
index bcbf18ffab..9752f08c05 100644
--- a/src/shared/dbus-common.h
+++ b/src/shared/dbus-common.h
@@ -25,6 +25,8 @@
#include <inttypes.h>
#include <sys/types.h>
+#include "macro.h"
+
#ifndef DBUS_ERROR_UNKNOWN_OBJECT
#define DBUS_ERROR_UNKNOWN_OBJECT "org.freedesktop.DBus.Error.UnknownObject"
#endif
@@ -92,7 +94,7 @@ int bus_connect_system_ssh(const char *user, const char *host, DBusConnection **
int bus_connect_system_polkit(DBusConnection **_bus, DBusError *error);
const char *bus_error_message(const DBusError *error);
-const char *bus_error_message_or_strerror(const DBusError *error, int err);
+const char *bus_error(const DBusError *e, int r);
typedef int (*BusPropertyCallback)(DBusMessageIter *iter, const char *property, void *data);
typedef int (*BusPropertySetCallback)(DBusMessageIter *iter, const char *property, void *data);
@@ -187,16 +189,32 @@ int bus_property_set_uint64(DBusMessageIter *i, const char *property, void *data
return 0; \
}
-const char *bus_errno_to_dbus(int error);
+const char *bus_errno_to_dbus(int error) _const_;
DBusMessage* bus_properties_changed_new(const char *path, const char *interface, const char *properties);
DBusMessage* bus_properties_changed_one_new(const char *path, const char *interface, const char *property);
-uint32_t bus_flags_to_events(DBusWatch *bus_watch);
-unsigned bus_events_to_flags(uint32_t events);
+uint32_t bus_flags_to_events(DBusWatch *bus_watch) _pure_;
+unsigned bus_events_to_flags(uint32_t events) _const_;
int bus_parse_strv(DBusMessage *m, char ***_l);
int bus_parse_strv_iter(DBusMessageIter *iter, char ***_l);
+int bus_parse_strv_pairs_iter(DBusMessageIter *iter, char ***_l);
+
+struct unit_info {
+ const char *id;
+ const char *description;
+ const char *load_state;
+ const char *active_state;
+ const char *sub_state;
+ const char *following;
+ const char *unit_path;
+ uint32_t job_id;
+ const char *job_type;
+ const char *job_path;
+};
+
+int bus_parse_unit_info(DBusMessageIter *iter, struct unit_info *u);
int bus_append_strv_iter(DBusMessageIter *iter, char **l);
diff --git a/src/shared/dbus-loop.c b/src/shared/dbus-loop.c
index da0a00443a..c533242220 100644
--- a/src/shared/dbus-loop.c
+++ b/src/shared/dbus-loop.c
@@ -44,8 +44,8 @@ typedef struct EpollData {
} EpollData;
static dbus_bool_t add_watch(DBusWatch *watch, void *data) {
- EpollData *e;
- struct epoll_event ev;
+ _cleanup_free_ EpollData *e = NULL;
+ struct epoll_event ev = {};
assert(watch);
@@ -57,16 +57,13 @@ static dbus_bool_t add_watch(DBusWatch *watch, void *data) {
e->object = watch;
e->is_timeout = false;
- zero(ev);
ev.events = bus_flags_to_events(watch);
ev.data.ptr = e;
if (epoll_ctl(PTR_TO_INT(data), EPOLL_CTL_ADD, e->fd, &ev) < 0) {
- if (errno != EEXIST) {
- free(e);
+ if (errno != EEXIST)
return FALSE;
- }
/* Hmm, bloody D-Bus creates multiple watches on the
* same fd. epoll() does not like that. As a dirty
@@ -74,14 +71,11 @@ static dbus_bool_t add_watch(DBusWatch *watch, void *data) {
* one we can safely add to the epoll(). */
e->fd = dup(e->fd);
- if (e->fd < 0) {
- free(e);
+ if (e->fd < 0)
return FALSE;
- }
if (epoll_ctl(PTR_TO_INT(data), EPOLL_CTL_ADD, e->fd, &ev) < 0) {
close_nointr_nofail(e->fd);
- free(e);
return FALSE;
}
@@ -89,12 +83,13 @@ static dbus_bool_t add_watch(DBusWatch *watch, void *data) {
}
dbus_watch_set_data(watch, e, NULL);
+ e = NULL; /* prevent freeing */
return TRUE;
}
static void remove_watch(DBusWatch *watch, void *data) {
- EpollData *e;
+ _cleanup_free_ EpollData *e = NULL;
assert(watch);
@@ -106,13 +101,11 @@ static void remove_watch(DBusWatch *watch, void *data) {
if (e->fd_is_dupped)
close_nointr_nofail(e->fd);
-
- free(e);
}
static void toggle_watch(DBusWatch *watch, void *data) {
EpollData *e;
- struct epoll_event ev;
+ struct epoll_event ev = {};
assert(watch);
@@ -120,21 +113,18 @@ static void toggle_watch(DBusWatch *watch, void *data) {
if (!e)
return;
- zero(ev);
- ev.events = bus_flags_to_events(watch);
ev.data.ptr = e;
+ ev.events = bus_flags_to_events(watch);
assert_se(epoll_ctl(PTR_TO_INT(data), EPOLL_CTL_MOD, e->fd, &ev) == 0);
}
static int timeout_arm(EpollData *e) {
- struct itimerspec its;
+ struct itimerspec its = {};
assert(e);
assert(e->is_timeout);
- zero(its);
-
if (dbus_timeout_get_enabled(e->object)) {
timespec_store(&its.it_value, dbus_timeout_get_interval(e->object) * USEC_PER_MSEC);
its.it_interval = its.it_value;
@@ -148,7 +138,7 @@ static int timeout_arm(EpollData *e) {
static dbus_bool_t add_timeout(DBusTimeout *timeout, void *data) {
EpollData *e;
- struct epoll_event ev;
+ struct epoll_event ev = {};
assert(timeout);
@@ -166,7 +156,6 @@ static dbus_bool_t add_timeout(DBusTimeout *timeout, void *data) {
if (timeout_arm(e) < 0)
goto fail;
- zero(ev);
ev.events = EPOLLIN;
ev.data.ptr = e;
@@ -186,7 +175,7 @@ fail:
}
static void remove_timeout(DBusTimeout *timeout, void *data) {
- EpollData *e;
+ _cleanup_free_ EpollData *e = NULL;
assert(timeout);
@@ -196,7 +185,6 @@ static void remove_timeout(DBusTimeout *timeout, void *data) {
assert_se(epoll_ctl(PTR_TO_INT(data), EPOLL_CTL_DEL, e->fd, NULL) >= 0);
close_nointr_nofail(e->fd);
- free(e);
}
static void toggle_timeout(DBusTimeout *timeout, void *data) {
@@ -234,13 +222,11 @@ int bus_loop_open(DBusConnection *c) {
int bus_loop_dispatch(int fd) {
int n;
- struct epoll_event event;
+ struct epoll_event event = {};
EpollData *d;
assert(fd >= 0);
- zero(event);
-
n = epoll_wait(fd, &event, 1, 0);
if (n < 0)
return errno == EAGAIN || errno == EINTR ? 0 : -errno;
diff --git a/src/shared/efivars.c b/src/shared/efivars.c
new file mode 100644
index 0000000000..8d004bad33
--- /dev/null
+++ b/src/shared/efivars.c
@@ -0,0 +1,503 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <unistd.h>
+#include <string.h>
+#include <fcntl.h>
+#include <ctype.h>
+
+#include "util.h"
+#include "utf8.h"
+#include "efivars.h"
+
+#ifdef ENABLE_EFI
+
+bool is_efi_boot(void) {
+ return access("/sys/firmware/efi", F_OK) >= 0;
+}
+
+static int read_flag(const char *varname) {
+ int r;
+ void *v;
+ size_t s;
+ uint8_t b;
+
+ r = efi_get_variable(EFI_VENDOR_GLOBAL, varname, NULL, &v, &s);
+ if (r < 0)
+ return r;
+
+ if (s != 1) {
+ r = -EINVAL;
+ goto finish;
+ }
+
+ b = *(uint8_t *)v;
+ r = b > 0;
+finish:
+ free(v);
+ return r;
+}
+
+int is_efi_secure_boot(void) {
+ return read_flag("SecureBoot");
+}
+
+int is_efi_secure_boot_setup_mode(void) {
+ return read_flag("SetupMode");
+}
+
+int efi_get_variable(
+ sd_id128_t vendor,
+ const char *name,
+ uint32_t *attribute,
+ void **value,
+ size_t *size) {
+
+ _cleanup_close_ int fd = -1;
+ _cleanup_free_ char *p = NULL;
+ uint32_t a;
+ ssize_t n;
+ struct stat st;
+ void *r;
+
+ assert(name);
+ assert(value);
+ assert(size);
+
+ if (asprintf(&p,
+ "/sys/firmware/efi/efivars/%s-%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+ name, SD_ID128_FORMAT_VAL(vendor)) < 0)
+ return -ENOMEM;
+
+ fd = open(p, O_RDONLY|O_NOCTTY|O_CLOEXEC);
+ if (fd < 0)
+ return -errno;
+
+ if (fstat(fd, &st) < 0)
+ return -errno;
+ if (st.st_size < 4)
+ return -EIO;
+ if (st.st_size > 4*1024*1024 + 4)
+ return -E2BIG;
+
+ n = read(fd, &a, sizeof(a));
+ if (n < 0)
+ return -errno;
+ if (n != sizeof(a))
+ return -EIO;
+
+ r = malloc(st.st_size - 4 + 2);
+ if (!r)
+ return -ENOMEM;
+
+ n = read(fd, r, (size_t) st.st_size - 4);
+ if (n < 0) {
+ free(r);
+ return -errno;
+ }
+ if (n != (ssize_t) st.st_size - 4) {
+ free(r);
+ return -EIO;
+ }
+
+ /* Always NUL terminate (2 bytes, to protect UTF-16) */
+ ((char*) r)[st.st_size - 4] = 0;
+ ((char*) r)[st.st_size - 4 + 1] = 0;
+
+ *value = r;
+ *size = (size_t) st.st_size - 4;
+
+ if (attribute)
+ *attribute = a;
+
+ return 0;
+}
+
+int efi_get_variable_string(sd_id128_t vendor, const char *name, char **p) {
+ _cleanup_free_ void *s = NULL;
+ size_t ss;
+ int r;
+ char *x;
+
+ r = efi_get_variable(vendor, name, NULL, &s, &ss);
+ if (r < 0)
+ return r;
+
+ x = utf16_to_utf8(s, ss);
+ if (!x)
+ return -ENOMEM;
+
+ *p = x;
+ return 0;
+}
+
+static size_t utf16_size(const uint16_t *s) {
+ size_t l = 0;
+
+ while (s[l] > 0)
+ l++;
+
+ return (l+1) * sizeof(uint16_t);
+}
+
+static void efi_guid_to_id128(const void *guid, sd_id128_t *id128) {
+ struct uuid {
+ uint32_t u1;
+ uint16_t u2;
+ uint16_t u3;
+ uint8_t u4[8];
+ } _packed_;
+ const struct uuid *uuid = guid;
+
+ id128->bytes[0] = (uuid->u1 >> 24) & 0xff;
+ id128->bytes[1] = (uuid->u1 >> 16) & 0xff;
+ id128->bytes[2] = (uuid->u1 >> 8) & 0xff;
+ id128->bytes[3] = (uuid->u1) & 0xff;
+ id128->bytes[4] = (uuid->u2 >> 8) & 0xff;
+ id128->bytes[5] = (uuid->u2) & 0xff;
+ id128->bytes[6] = (uuid->u3 >> 8) & 0xff;
+ id128->bytes[7] = (uuid->u3) & 0xff;
+ memcpy(&id128->bytes[8], uuid->u4, sizeof(uuid->u4));
+}
+
+int efi_get_boot_option(
+ uint16_t id,
+ char **title,
+ sd_id128_t *part_uuid,
+ char **path) {
+
+ struct boot_option {
+ uint32_t attr;
+ uint16_t path_len;
+ uint16_t title[];
+ } _packed_;
+
+ struct drive_path {
+ uint32_t part_nr;
+ uint64_t part_start;
+ uint64_t part_size;
+ char signature[16];
+ uint8_t mbr_type;
+ uint8_t signature_type;
+ } _packed_;
+
+ struct device_path {
+ uint8_t type;
+ uint8_t sub_type;
+ uint16_t length;
+ union {
+ uint16_t path[0];
+ struct drive_path drive;
+ };
+ } _packed_;
+
+ char boot_id[9];
+ _cleanup_free_ uint8_t *buf = NULL;
+ size_t l;
+ struct boot_option *header;
+ size_t title_size;
+ char *s = NULL;
+ char *p = NULL;
+ sd_id128_t p_uuid = SD_ID128_NULL;
+ int err;
+
+ snprintf(boot_id, sizeof(boot_id), "Boot%04X", id);
+ err = efi_get_variable(EFI_VENDOR_GLOBAL, boot_id, NULL, (void **)&buf, &l);
+ if (err < 0)
+ return err;
+ if (l < sizeof(struct boot_option))
+ return -ENOENT;
+
+ header = (struct boot_option *)buf;
+ title_size = utf16_size(header->title);
+ if (title_size > l - offsetof(struct boot_option, title))
+ return -EINVAL;
+
+ if (title) {
+ s = utf16_to_utf8(header->title, title_size);
+ if (!s) {
+ err = -ENOMEM;
+ goto err;
+ }
+ }
+
+ if (header->path_len > 0) {
+ uint8_t *dbuf;
+ size_t dnext;
+
+ dbuf = buf + offsetof(struct boot_option, title) + title_size;
+ dnext = 0;
+ while (dnext < header->path_len) {
+ struct device_path *dpath;
+
+ dpath = (struct device_path *)(dbuf + dnext);
+ if (dpath->length < 4)
+ break;
+
+ /* Type 0x7F – End of Hardware Device Path, Sub-Type 0xFF – End Entire Device Path */
+ if (dpath->type == 0x7f && dpath->sub_type == 0xff)
+ break;
+
+ dnext += dpath->length;
+
+ /* Type 0x04 – Media Device Path */
+ if (dpath->type != 0x04)
+ continue;
+
+ /* Sub-Type 1 – Hard Drive */
+ if (dpath->sub_type == 0x01) {
+ /* 0x02 – GUID Partition Table */
+ if (dpath->drive.mbr_type != 0x02)
+ continue;
+
+ /* 0x02 – GUID signature */
+ if (dpath->drive.signature_type != 0x02)
+ continue;
+
+ if (part_uuid)
+ efi_guid_to_id128(dpath->drive.signature, &p_uuid);
+ continue;
+ }
+
+ /* Sub-Type 4 – File Path */
+ if (dpath->sub_type == 0x04 && !p && path) {
+ p = utf16_to_utf8(dpath->path, dpath->length-4);
+ continue;
+ }
+ }
+ }
+
+ if (title)
+ *title = s;
+ if (part_uuid)
+ *part_uuid = p_uuid;
+ if (path)
+ *path = p;
+
+ return 0;
+err:
+ free(s);
+ free(p);
+ return err;
+}
+
+int efi_get_boot_order(uint16_t **order) {
+ void *buf;
+ size_t l;
+ int r;
+
+ r = efi_get_variable(EFI_VENDOR_GLOBAL, "BootOrder", NULL, &buf, &l);
+ if (r < 0)
+ return r;
+
+ if (l <= 0) {
+ free(buf);
+ return -ENOENT;
+ }
+
+ if ((l % sizeof(uint16_t) > 0) ||
+ (l / sizeof(uint16_t) > INT_MAX)) {
+ free(buf);
+ return -EINVAL;
+ }
+
+ *order = buf;
+ return (int) (l / sizeof(uint16_t));
+}
+
+static int boot_id_hex(const char s[4]) {
+ int i;
+ int id = 0;
+
+ for (i = 0; i < 4; i++)
+ if (s[i] >= '0' && s[i] <= '9')
+ id |= (s[i] - '0') << (3 - i) * 4;
+ else if (s[i] >= 'A' && s[i] <= 'F')
+ id |= (s[i] - 'A' + 10) << (3 - i) * 4;
+ else
+ return -1;
+
+ return id;
+}
+
+static int cmp_uint16(const void *_a, const void *_b) {
+ const uint16_t *a = _a, *b = _b;
+
+ return (int)*a - (int)*b;
+}
+
+int efi_get_boot_options(uint16_t **options) {
+ _cleanup_closedir_ DIR *dir = NULL;
+ struct dirent *de;
+ uint16_t *list = NULL;
+ int count = 0, r;
+
+ assert(options);
+
+ dir = opendir("/sys/firmware/efi/efivars/");
+ if (!dir)
+ return -errno;
+
+ FOREACH_DIRENT(de, dir, r = -errno; goto fail) {
+ int id;
+ uint16_t *t;
+
+ if (strncmp(de->d_name, "Boot", 4) != 0)
+ continue;
+
+ if (strlen(de->d_name) != 45)
+ continue;
+
+ if (strcmp(de->d_name + 8, "-8be4df61-93ca-11d2-aa0d-00e098032b8c") != 0)
+ continue;
+
+ id = boot_id_hex(de->d_name + 4);
+ if (id < 0)
+ continue;
+
+ t = realloc(list, (count + 1) * sizeof(uint16_t));
+ if (!t) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ list = t;
+ list[count ++] = id;
+ }
+
+ qsort(list, count, sizeof(uint16_t), cmp_uint16);
+
+ *options = list;
+ return count;
+
+fail:
+ free(list);
+ return r;
+}
+
+static int read_usec(sd_id128_t vendor, const char *name, usec_t *u) {
+ _cleanup_free_ char *j = NULL;
+ int r;
+ uint64_t x;
+
+ assert(name);
+ assert(u);
+
+ r = efi_get_variable_string(EFI_VENDOR_LOADER, name, &j);
+ if (r < 0)
+ return r;
+
+ r = safe_atou64(j, &x);
+ if (r < 0)
+ return r;
+
+ *u = x;
+ return 0;
+}
+
+static int get_boot_usec(usec_t *firmware, usec_t *loader) {
+ uint64_t x, y;
+ int r;
+
+ assert(firmware);
+ assert(loader);
+
+ r = read_usec(EFI_VENDOR_LOADER, "LoaderTimeInitUSec", &x);
+ if (r < 0)
+ return r;
+
+ r = read_usec(EFI_VENDOR_LOADER, "LoaderTimeExecUSec", &y);
+ if (r < 0)
+ return r;
+
+ if (y == 0 || y < x)
+ return -EIO;
+
+ if (y > USEC_PER_HOUR)
+ return -EIO;
+
+ *firmware = x;
+ *loader = y;
+
+ return 0;
+}
+
+int efi_get_boot_timestamps(const dual_timestamp *n, dual_timestamp *firmware, dual_timestamp *loader) {
+ usec_t x, y, a;
+ int r;
+ dual_timestamp _n;
+
+ assert(firmware);
+ assert(loader);
+
+ if (!n) {
+ dual_timestamp_get(&_n);
+ n = &_n;
+ }
+
+ r = get_boot_usec(&x, &y);
+ if (r < 0)
+ return r;
+
+ /* Let's convert this to timestamps where the firmware
+ * began/loader began working. To make this more confusing:
+ * since usec_t is unsigned and the kernel's monotonic clock
+ * begins at kernel initialization we'll actually initialize
+ * the monotonic timestamps here as negative of the actual
+ * value. */
+
+ firmware->monotonic = y;
+ loader->monotonic = y - x;
+
+ a = n->monotonic + firmware->monotonic;
+ firmware->realtime = n->realtime > a ? n->realtime - a : 0;
+
+ a = n->monotonic + loader->monotonic;
+ loader->realtime = n->realtime > a ? n->realtime - a : 0;
+
+ return 0;
+}
+
+int efi_get_loader_device_part_uuid(sd_id128_t *u) {
+ _cleanup_free_ char *p = NULL;
+ int r, parsed[16];
+ unsigned i;
+
+ assert(u);
+
+ r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderDevicePartUUID", &p);
+ if (r < 0)
+ return r;
+
+ if (sscanf(p, "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+ &parsed[0], &parsed[1], &parsed[2], &parsed[3],
+ &parsed[4], &parsed[5], &parsed[6], &parsed[7],
+ &parsed[8], &parsed[9], &parsed[10], &parsed[11],
+ &parsed[12], &parsed[13], &parsed[14], &parsed[15]) != 16)
+ return -EIO;
+
+ for (i = 0; i < ELEMENTSOF(parsed); i++)
+ u->bytes[i] = parsed[i];
+
+ return 0;
+}
+
+#endif
diff --git a/src/shared/efivars.h b/src/shared/efivars.h
new file mode 100644
index 0000000000..2b88c6075c
--- /dev/null
+++ b/src/shared/efivars.h
@@ -0,0 +1,47 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <sys/types.h>
+#include <inttypes.h>
+#include <stdbool.h>
+
+#include "sd-id128.h"
+#include "time-util.h"
+
+#define EFI_VENDOR_LOADER SD_ID128_MAKE(4a,67,b0,82,0a,4c,41,cf,b6,c7,44,0b,29,bb,8c,4f)
+#define EFI_VENDOR_GLOBAL SD_ID128_MAKE(8b,e4,df,61,93,ca,11,d2,aa,0d,00,e0,98,03,2b,8c)
+
+bool is_efi_boot(void);
+int is_efi_secure_boot(void);
+int is_efi_secure_boot_setup_mode(void);
+
+int efi_get_variable(sd_id128_t vendor, const char *name, uint32_t *attribute, void **value, size_t *size);
+int efi_get_variable_string(sd_id128_t vendor, const char *name, char **p);
+
+int efi_get_boot_option(uint16_t nr, char **title, sd_id128_t *partuuid, char **path);
+int efi_get_boot_order(uint16_t **order);
+int efi_get_boot_options(uint16_t **options);
+
+int efi_get_boot_timestamps(const dual_timestamp *n, dual_timestamp *firmware, dual_timestamp *loader);
+
+int efi_get_loader_device_part_uuid(sd_id128_t *u);
diff --git a/src/shared/env-util.c b/src/shared/env-util.c
new file mode 100644
index 0000000000..6a52fb960d
--- /dev/null
+++ b/src/shared/env-util.c
@@ -0,0 +1,415 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2012 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <limits.h>
+#include <sys/param.h>
+#include <unistd.h>
+
+#include "strv.h"
+#include "utf8.h"
+#include "util.h"
+#include "env-util.h"
+
+#define VALID_CHARS_ENV_NAME \
+ "0123456789" \
+ "abcdefghijklmnopqrstuvwxyz" \
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
+ "_"
+
+#ifndef ARG_MAX
+#define ARG_MAX ((size_t) sysconf(_SC_ARG_MAX))
+#endif
+
+static bool env_name_is_valid_n(const char *e, size_t n) {
+ const char *p;
+
+ if (!e)
+ return false;
+
+ if (n <= 0)
+ return false;
+
+ if (e[0] >= '0' && e[0] <= '9')
+ return false;
+
+ /* POSIX says the overall size of the environment block cannot
+ * be > ARG_MAX, an individual assignment hence cannot be
+ * either. Discounting the equal sign and trailing NUL this
+ * hence leaves ARG_MAX-2 as longest possible variable
+ * name. */
+ if (n > ARG_MAX - 2)
+ return false;
+
+ for (p = e; p < e + n; p++)
+ if (!strchr(VALID_CHARS_ENV_NAME, *p))
+ return false;
+
+ return true;
+}
+
+bool env_name_is_valid(const char *e) {
+ if (!e)
+ return false;
+
+ return env_name_is_valid_n(e, strlen(e));
+}
+
+bool env_value_is_valid(const char *e) {
+ if (!e)
+ return false;
+
+ if (!utf8_is_valid(e))
+ return false;
+
+ if (string_has_cc(e))
+ return false;
+
+ /* POSIX says the overall size of the environment block cannot
+ * be > ARG_MAX, an individual assignment hence cannot be
+ * either. Discounting the shortest possible variable name of
+ * length 1, the equal sign and trailing NUL this hence leaves
+ * ARG_MAX-3 as longest possible variable value. */
+ if (strlen(e) > ARG_MAX - 3)
+ return false;
+
+ return true;
+}
+
+bool env_assignment_is_valid(const char *e) {
+ const char *eq;
+
+ eq = strchr(e, '=');
+ if (!eq)
+ return false;
+
+ if (!env_name_is_valid_n(e, eq - e))
+ return false;
+
+ if (!env_value_is_valid(eq + 1))
+ return false;
+
+ /* POSIX says the overall size of the environment block cannot
+ * be > ARG_MAX, hence the individual variable assignments
+ * cannot be either, but let's leave room for one trailing NUL
+ * byte. */
+ if (strlen(e) > ARG_MAX - 1)
+ return false;
+
+ return true;
+}
+
+bool strv_env_is_valid(char **e) {
+ char **p, **q;
+
+ STRV_FOREACH(p, e) {
+ size_t k;
+
+ if (!env_assignment_is_valid(*p))
+ return false;
+
+ /* Check if there are duplicate assginments */
+ k = strcspn(*p, "=");
+ STRV_FOREACH(q, p + 1)
+ if (strneq(*p, *q, k) && (*q)[k] == '=')
+ return false;
+ }
+
+ return true;
+}
+
+bool strv_env_name_or_assignment_is_valid(char **l) {
+ char **p, **q;
+
+ STRV_FOREACH(p, l) {
+ if (!env_assignment_is_valid(*p) && !env_name_is_valid(*p))
+ return false;
+
+ STRV_FOREACH(q, p + 1)
+ if (streq(*p, *q))
+ return false;
+ }
+
+ return true;
+}
+
+static int env_append(char **r, char ***k, char **a) {
+ assert(r);
+ assert(k);
+
+ if (!a)
+ return 0;
+
+ /* Add the entries of a to *k unless they already exist in *r
+ * in which case they are overridden instead. This assumes
+ * there is enough space in the r array. */
+
+ for (; *a; a++) {
+ char **j;
+ size_t n;
+
+ n = strcspn(*a, "=");
+
+ if ((*a)[n] == '=')
+ n++;
+
+ for (j = r; j < *k; j++)
+ if (strneq(*j, *a, n))
+ break;
+
+ if (j >= *k)
+ (*k)++;
+ else
+ free(*j);
+
+ *j = strdup(*a);
+ if (!*j)
+ return -ENOMEM;
+ }
+
+ return 0;
+}
+
+char **strv_env_merge(unsigned n_lists, ...) {
+ size_t n = 0;
+ char **l, **k, **r;
+ va_list ap;
+ unsigned i;
+
+ /* Merges an arbitrary number of environment sets */
+
+ va_start(ap, n_lists);
+ for (i = 0; i < n_lists; i++) {
+ l = va_arg(ap, char**);
+ n += strv_length(l);
+ }
+ va_end(ap);
+
+ r = new(char*, n+1);
+ if (!r)
+ return NULL;
+
+ k = r;
+
+ va_start(ap, n_lists);
+ for (i = 0; i < n_lists; i++) {
+ l = va_arg(ap, char**);
+ if (env_append(r, &k, l) < 0)
+ goto fail;
+ }
+ va_end(ap);
+
+ *k = NULL;
+
+ return r;
+
+fail:
+ va_end(ap);
+ strv_free(r);
+
+ return NULL;
+}
+
+_pure_ static bool env_match(const char *t, const char *pattern) {
+ assert(t);
+ assert(pattern);
+
+ /* pattern a matches string a
+ * a matches a=
+ * a matches a=b
+ * a= matches a=
+ * a=b matches a=b
+ * a= does not match a
+ * a=b does not match a=
+ * a=b does not match a
+ * a=b does not match a=c */
+
+ if (streq(t, pattern))
+ return true;
+
+ if (!strchr(pattern, '=')) {
+ size_t l = strlen(pattern);
+
+ return strneq(t, pattern, l) && t[l] == '=';
+ }
+
+ return false;
+}
+
+char **strv_env_delete(char **x, unsigned n_lists, ...) {
+ size_t n, i = 0;
+ char **k, **r;
+ va_list ap;
+
+ /* Deletes every entry from x that is mentioned in the other
+ * string lists */
+
+ n = strv_length(x);
+
+ r = new(char*, n+1);
+ if (!r)
+ return NULL;
+
+ STRV_FOREACH(k, x) {
+ unsigned v;
+
+ va_start(ap, n_lists);
+ for (v = 0; v < n_lists; v++) {
+ char **l, **j;
+
+ l = va_arg(ap, char**);
+ STRV_FOREACH(j, l)
+ if (env_match(*k, *j))
+ goto skip;
+ }
+ va_end(ap);
+
+ r[i] = strdup(*k);
+ if (!r[i]) {
+ strv_free(r);
+ return NULL;
+ }
+
+ i++;
+ continue;
+
+ skip:
+ va_end(ap);
+ }
+
+ r[i] = NULL;
+
+ assert(i <= n);
+
+ return r;
+}
+
+char **strv_env_unset(char **l, const char *p) {
+
+ char **f, **t;
+
+ if (!l)
+ return NULL;
+
+ assert(p);
+
+ /* Drops every occurrence of the env var setting p in the
+ * string list. edits in-place. */
+
+ for (f = t = l; *f; f++) {
+
+ if (env_match(*f, p)) {
+ free(*f);
+ continue;
+ }
+
+ *(t++) = *f;
+ }
+
+ *t = NULL;
+ return l;
+}
+
+char **strv_env_set(char **x, const char *p) {
+
+ char **k, **r;
+ char* m[2] = { (char*) p, NULL };
+
+ /* Overrides the env var setting of p, returns a new copy */
+
+ r = new(char*, strv_length(x)+2);
+ if (!r)
+ return NULL;
+
+ k = r;
+ if (env_append(r, &k, x) < 0)
+ goto fail;
+
+ if (env_append(r, &k, m) < 0)
+ goto fail;
+
+ *k = NULL;
+
+ return r;
+
+fail:
+ strv_free(r);
+ return NULL;
+}
+
+char *strv_env_get_n(char **l, const char *name, size_t k) {
+ char **i;
+
+ assert(name);
+
+ if (k <= 0)
+ return NULL;
+
+ STRV_FOREACH(i, l)
+ if (strneq(*i, name, k) &&
+ (*i)[k] == '=')
+ return *i + k + 1;
+
+ return NULL;
+}
+
+char *strv_env_get(char **l, const char *name) {
+ assert(name);
+
+ return strv_env_get_n(l, name, strlen(name));
+}
+
+char **strv_env_clean_log(char **e, const char *message) {
+ char **p, **q;
+ int k = 0;
+
+ STRV_FOREACH(p, e) {
+ size_t n;
+ bool duplicate = false;
+
+ if (!env_assignment_is_valid(*p)) {
+ if (message)
+ log_error("Ignoring invalid environment '%s': %s", *p, message);
+ free(*p);
+ continue;
+ }
+
+ n = strcspn(*p, "=");
+ STRV_FOREACH(q, p + 1)
+ if (strneq(*p, *q, n) && (*q)[n] == '=') {
+ duplicate = true;
+ break;
+ }
+
+ if (duplicate) {
+ free(*p);
+ continue;
+ }
+
+ e[k++] = *p;
+ }
+
+ e[k] = NULL;
+ return e;
+}
+
+char **strv_env_clean(char **e) {
+ return strv_env_clean_log(e, NULL);
+}
diff --git a/src/shared/env-util.h b/src/shared/env-util.h
new file mode 100644
index 0000000000..8d2114b64c
--- /dev/null
+++ b/src/shared/env-util.h
@@ -0,0 +1,44 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdbool.h>
+#include <sys/types.h>
+
+bool env_name_is_valid(const char *e);
+bool env_value_is_valid(const char *e);
+bool env_assignment_is_valid(const char *e);
+
+bool strv_env_is_valid(char **e);
+char **strv_env_clean(char **l);
+char **strv_env_clean_log(char **e, const char *message);
+
+bool strv_env_name_or_assignment_is_valid(char **l);
+
+char **strv_env_merge(unsigned n_lists, ...);
+char **strv_env_delete(char **x, unsigned n_lists, ...); /* New copy */
+
+char **strv_env_set(char **x, const char *p); /* New copy ... */
+char **strv_env_unset(char **l, const char *p); /* In place ... */
+
+char *strv_env_get_n(char **l, const char *name, size_t k) _pure_;
+char *strv_env_get(char **x, const char *n) _pure_;
diff --git a/src/shared/exit-status.h b/src/shared/exit-status.h
index d3b548fc96..1f035a3007 100644
--- a/src/shared/exit-status.h
+++ b/src/shared/exit-status.h
@@ -82,7 +82,7 @@ typedef struct ExitStatusSet {
Set *signal;
} ExitStatusSet;
-const char* exit_status_to_string(ExitStatus status, ExitStatusLevel level);
+const char* exit_status_to_string(ExitStatus status, ExitStatusLevel level) _const_;
bool is_clean_exit(int code, int status, ExitStatusSet *success_status);
bool is_clean_exit_lsb(int code, int status, ExitStatusSet *success_status);
diff --git a/src/shared/fileio-label.c b/src/shared/fileio-label.c
new file mode 100644
index 0000000000..0711826e85
--- /dev/null
+++ b/src/shared/fileio-label.c
@@ -0,0 +1,55 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2010 Lennart Poettering
+ Copyright 2010 Harald Hoyer
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include "fileio-label.h"
+#include "label.h"
+
+int write_string_file_atomic_label(const char *fn, const char *line) {
+ int r;
+
+ r = label_context_set(fn, S_IFREG);
+ if (r < 0)
+ return r;
+
+ write_string_file_atomic(fn, line);
+
+ label_context_clear();
+
+ return r;
+}
+
+int write_env_file_label(const char *fname, char **l) {
+ int r;
+
+ r = label_context_set(fname, S_IFREG);
+ if (r < 0)
+ return r;
+
+ write_env_file(fname, l);
+
+ label_context_clear();
+
+ return r;
+}
diff --git a/src/shared/fileio-label.h b/src/shared/fileio-label.h
new file mode 100644
index 0000000000..fce4fe0d73
--- /dev/null
+++ b/src/shared/fileio-label.h
@@ -0,0 +1,29 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2010 Lennart Poettering
+ Copyright 2010 Harald Hoyer
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdio.h>
+#include "fileio.h"
+
+int write_string_file_atomic_label(const char *fn, const char *line);
+int write_env_file_label(const char *fname, char **l);
diff --git a/src/shared/fileio.c b/src/shared/fileio.c
new file mode 100644
index 0000000000..ad068bf30d
--- /dev/null
+++ b/src/shared/fileio.c
@@ -0,0 +1,596 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2010 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <unistd.h>
+#include "fileio.h"
+#include "util.h"
+#include "strv.h"
+
+
+int write_string_to_file(FILE *f, const char *line) {
+ errno = 0;
+ fputs(line, f);
+ if (!endswith(line, "\n"))
+ fputc('\n', f);
+
+ fflush(f);
+
+ if (ferror(f))
+ return errno ? -errno : -EIO;
+
+ return 0;
+}
+
+int write_string_file(const char *fn, const char *line) {
+ _cleanup_fclose_ FILE *f = NULL;
+
+ assert(fn);
+ assert(line);
+
+ f = fopen(fn, "we");
+ if (!f)
+ return -errno;
+
+ return write_string_to_file(f, line);
+}
+
+int write_string_file_atomic(const char *fn, const char *line) {
+ _cleanup_fclose_ FILE *f = NULL;
+ _cleanup_free_ char *p = NULL;
+ int r;
+
+ assert(fn);
+ assert(line);
+
+ r = fopen_temporary(fn, &f, &p);
+ if (r < 0)
+ return r;
+
+ fchmod_umask(fileno(f), 0644);
+
+ errno = 0;
+ fputs(line, f);
+ if (!endswith(line, "\n"))
+ fputc('\n', f);
+
+ fflush(f);
+
+ if (ferror(f))
+ r = errno ? -errno : -EIO;
+ else {
+ if (rename(p, fn) < 0)
+ r = -errno;
+ else
+ r = 0;
+ }
+
+ if (r < 0)
+ unlink(p);
+
+ return r;
+}
+
+int read_one_line_file(const char *fn, char **line) {
+ _cleanup_fclose_ FILE *f = NULL;
+ char t[LINE_MAX], *c;
+
+ assert(fn);
+ assert(line);
+
+ f = fopen(fn, "re");
+ if (!f)
+ return -errno;
+
+ if (!fgets(t, sizeof(t), f)) {
+
+ if (ferror(f))
+ return errno ? -errno : -EIO;
+
+ t[0] = 0;
+ }
+
+ c = strdup(t);
+ if (!c)
+ return -ENOMEM;
+ truncate_nl(c);
+
+ *line = c;
+ return 0;
+}
+
+int read_full_file(const char *fn, char **contents, size_t *size) {
+ _cleanup_fclose_ FILE *f = NULL;
+ size_t n, l;
+ _cleanup_free_ char *buf = NULL;
+ struct stat st;
+
+ assert(fn);
+ assert(contents);
+
+ f = fopen(fn, "re");
+ if (!f)
+ return -errno;
+
+ if (fstat(fileno(f), &st) < 0)
+ return -errno;
+
+ /* Safety check */
+ if (st.st_size > 4*1024*1024)
+ return -E2BIG;
+
+ n = st.st_size > 0 ? st.st_size : LINE_MAX;
+ l = 0;
+
+ for (;;) {
+ char *t;
+ size_t k;
+
+ t = realloc(buf, n+1);
+ if (!t)
+ return -ENOMEM;
+
+ buf = t;
+ k = fread(buf + l, 1, n - l, f);
+
+ if (k <= 0) {
+ if (ferror(f))
+ return -errno;
+
+ break;
+ }
+
+ l += k;
+ n *= 2;
+
+ /* Safety check */
+ if (n > 4*1024*1024)
+ return -E2BIG;
+ }
+
+ buf[l] = 0;
+ *contents = buf;
+ buf = NULL;
+
+ if (size)
+ *size = l;
+
+ return 0;
+}
+
+static int parse_env_file_internal(
+ const char *fname,
+ const char *newline,
+ int (*push) (const char *key, char *value, void *userdata),
+ void *userdata) {
+
+ _cleanup_free_ char *contents = NULL, *key = NULL;
+ size_t key_alloc = 0, n_key = 0, value_alloc = 0, n_value = 0, last_value_whitespace = (size_t) -1, last_key_whitespace = (size_t) -1;
+ char *p, *value = NULL;
+ int r;
+
+ enum {
+ PRE_KEY,
+ KEY,
+ PRE_VALUE,
+ VALUE,
+ VALUE_ESCAPE,
+ SINGLE_QUOTE_VALUE,
+ SINGLE_QUOTE_VALUE_ESCAPE,
+ DOUBLE_QUOTE_VALUE,
+ DOUBLE_QUOTE_VALUE_ESCAPE,
+ COMMENT,
+ COMMENT_ESCAPE
+ } state = PRE_KEY;
+
+ assert(fname);
+ assert(newline);
+
+ r = read_full_file(fname, &contents, NULL);
+ if (r < 0)
+ return r;
+
+ for (p = contents; *p; p++) {
+ char c = *p;
+
+ switch (state) {
+
+ case PRE_KEY:
+ if (strchr(COMMENTS, c))
+ state = COMMENT;
+ else if (!strchr(WHITESPACE, c)) {
+ state = KEY;
+ last_key_whitespace = (size_t) -1;
+
+ if (!greedy_realloc((void**) &key, &key_alloc, n_key+2)) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ key[n_key++] = c;
+ }
+ break;
+
+ case KEY:
+ if (strchr(newline, c)) {
+ state = PRE_KEY;
+ n_key = 0;
+ } else if (c == '=') {
+ state = PRE_VALUE;
+ last_value_whitespace = (size_t) -1;
+ } else {
+ if (!strchr(WHITESPACE, c))
+ last_key_whitespace = (size_t) -1;
+ else if (last_key_whitespace == (size_t) -1)
+ last_key_whitespace = n_key;
+
+ if (!greedy_realloc((void**) &key, &key_alloc, n_key+2)) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ key[n_key++] = c;
+ }
+
+ break;
+
+ case PRE_VALUE:
+ if (strchr(newline, c)) {
+ state = PRE_KEY;
+ key[n_key] = 0;
+
+ if (value)
+ value[n_value] = 0;
+
+ /* strip trailing whitespace from key */
+ if (last_key_whitespace != (size_t) -1)
+ key[last_key_whitespace] = 0;
+
+ r = push(key, value, userdata);
+ if (r < 0)
+ goto fail;
+
+ n_key = 0;
+ value = NULL;
+ value_alloc = n_value = 0;
+
+ } else if (c == '\'')
+ state = SINGLE_QUOTE_VALUE;
+ else if (c == '\"')
+ state = DOUBLE_QUOTE_VALUE;
+ else if (c == '\\')
+ state = VALUE_ESCAPE;
+ else if (!strchr(WHITESPACE, c)) {
+ state = VALUE;
+
+ if (!greedy_realloc((void**) &value, &value_alloc, n_value+2)) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ value[n_value++] = c;
+ }
+
+ break;
+
+ case VALUE:
+ if (strchr(newline, c)) {
+ state = PRE_KEY;
+
+ key[n_key] = 0;
+
+ if (value)
+ value[n_value] = 0;
+
+ /* Chomp off trailing whitespace from value */
+ if (last_value_whitespace != (size_t) -1)
+ value[last_value_whitespace] = 0;
+
+ /* strip trailing whitespace from key */
+ if (last_key_whitespace != (size_t) -1)
+ key[last_key_whitespace] = 0;
+
+ r = push(key, value, userdata);
+ if (r < 0)
+ goto fail;
+
+ n_key = 0;
+ value = NULL;
+ value_alloc = n_value = 0;
+
+ } else if (c == '\\') {
+ state = VALUE_ESCAPE;
+ last_value_whitespace = (size_t) -1;
+ } else {
+ if (!strchr(WHITESPACE, c))
+ last_value_whitespace = (size_t) -1;
+ else if (last_value_whitespace == (size_t) -1)
+ last_value_whitespace = n_value;
+
+ if (!greedy_realloc((void**) &value, &value_alloc, n_value+2)) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ value[n_value++] = c;
+ }
+
+ break;
+
+ case VALUE_ESCAPE:
+ state = VALUE;
+
+ if (!strchr(newline, c)) {
+ /* Escaped newlines we eat up entirely */
+ if (!greedy_realloc((void**) &value, &value_alloc, n_value+2)) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ value[n_value++] = c;
+ }
+ break;
+
+ case SINGLE_QUOTE_VALUE:
+ if (c == '\'')
+ state = PRE_VALUE;
+ else if (c == '\\')
+ state = SINGLE_QUOTE_VALUE_ESCAPE;
+ else {
+ if (!greedy_realloc((void**) &value, &value_alloc, n_value+2)) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ value[n_value++] = c;
+ }
+
+ break;
+
+ case SINGLE_QUOTE_VALUE_ESCAPE:
+ state = SINGLE_QUOTE_VALUE;
+
+ if (!strchr(newline, c)) {
+ if (!greedy_realloc((void**) &value, &value_alloc, n_value+2)) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ value[n_value++] = c;
+ }
+ break;
+
+ case DOUBLE_QUOTE_VALUE:
+ if (c == '\"')
+ state = PRE_VALUE;
+ else if (c == '\\')
+ state = DOUBLE_QUOTE_VALUE_ESCAPE;
+ else {
+ if (!greedy_realloc((void**) &value, &value_alloc, n_value+2)) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ value[n_value++] = c;
+ }
+
+ break;
+
+ case DOUBLE_QUOTE_VALUE_ESCAPE:
+ state = DOUBLE_QUOTE_VALUE;
+
+ if (!strchr(newline, c)) {
+ if (!greedy_realloc((void**) &value, &value_alloc, n_value+2)) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
+ value[n_value++] = c;
+ }
+ break;
+
+ case COMMENT:
+ if (c == '\\')
+ state = COMMENT_ESCAPE;
+ else if (strchr(newline, c))
+ state = PRE_KEY;
+ break;
+
+ case COMMENT_ESCAPE:
+ state = COMMENT;
+ break;
+ }
+ }
+
+ if (state == PRE_VALUE ||
+ state == VALUE ||
+ state == VALUE_ESCAPE ||
+ state == SINGLE_QUOTE_VALUE ||
+ state == SINGLE_QUOTE_VALUE_ESCAPE ||
+ state == DOUBLE_QUOTE_VALUE ||
+ state == DOUBLE_QUOTE_VALUE_ESCAPE) {
+
+ key[n_key] = 0;
+
+ if (value)
+ value[n_value] = 0;
+
+ if (state == VALUE)
+ if (last_value_whitespace != (size_t) -1)
+ value[last_value_whitespace] = 0;
+
+ /* strip trailing whitespace from key */
+ if (last_key_whitespace != (size_t) -1)
+ key[last_key_whitespace] = 0;
+
+ r = push(key, value, userdata);
+ if (r < 0)
+ goto fail;
+ }
+
+ return 0;
+
+fail:
+ free(value);
+ return r;
+}
+
+static int parse_env_file_push(const char *key, char *value, void *userdata) {
+ const char *k;
+ va_list* ap = (va_list*) userdata;
+ va_list aq;
+
+ va_copy(aq, *ap);
+
+ while ((k = va_arg(aq, const char *))) {
+ char **v;
+
+ v = va_arg(aq, char **);
+
+ if (streq(key, k)) {
+ va_end(aq);
+ free(*v);
+ *v = value;
+ return 1;
+ }
+ }
+
+ va_end(aq);
+
+ free(value);
+ return 0;
+}
+
+int parse_env_file(
+ const char *fname,
+ const char *newline, ...) {
+
+ va_list ap;
+ int r;
+
+ if (!newline)
+ newline = NEWLINE;
+
+ va_start(ap, newline);
+ r = parse_env_file_internal(fname, newline, parse_env_file_push, &ap);
+ va_end(ap);
+
+ return r;
+}
+
+static int load_env_file_push(const char *key, char *value, void *userdata) {
+ char ***m = userdata;
+ char *p;
+ int r;
+
+ p = strjoin(key, "=", strempty(value), NULL);
+ if (!p)
+ return -ENOMEM;
+
+ r = strv_push(m, p);
+ if (r < 0) {
+ free(p);
+ return r;
+ }
+
+ free(value);
+ return 0;
+}
+
+int load_env_file(const char *fname, const char *newline, char ***rl) {
+ char **m = NULL;
+ int r;
+
+ if (!newline)
+ newline = NEWLINE;
+
+ r = parse_env_file_internal(fname, newline, load_env_file_push, &m);
+ if (r < 0) {
+ strv_free(m);
+ return r;
+ }
+
+ *rl = m;
+ return 0;
+}
+
+static void write_env_var(FILE *f, const char *v) {
+ const char *p;
+
+ p = strchr(v, '=');
+ if (!p) {
+ /* Fallback */
+ fputs(v, f);
+ fputc('\n', f);
+ return;
+ }
+
+ p++;
+ fwrite(v, 1, p-v, f);
+
+ if (string_has_cc(p) || chars_intersect(p, WHITESPACE "\'\"\\`$")) {
+ fputc('\"', f);
+
+ for (; *p; p++) {
+ if (strchr("\'\"\\`$", *p))
+ fputc('\\', f);
+
+ fputc(*p, f);
+ }
+
+ fputc('\"', f);
+ } else
+ fputs(p, f);
+
+ fputc('\n', f);
+}
+
+int write_env_file(const char *fname, char **l) {
+ char **i;
+ _cleanup_free_ char *p = NULL;
+ _cleanup_fclose_ FILE *f = NULL;
+ int r;
+
+ r = fopen_temporary(fname, &f, &p);
+ if (r < 0)
+ return r;
+
+ fchmod_umask(fileno(f), 0644);
+
+ errno = 0;
+ STRV_FOREACH(i, l)
+ write_env_var(f, *i);
+
+ fflush(f);
+
+ if (ferror(f))
+ r = errno ? -errno : -EIO;
+ else {
+ if (rename(p, fname) < 0)
+ r = -errno;
+ else
+ r = 0;
+ }
+
+ if (r < 0)
+ unlink(p);
+
+ return r;
+}
diff --git a/src/shared/fileio.h b/src/shared/fileio.h
new file mode 100644
index 0000000000..0ca6878ea4
--- /dev/null
+++ b/src/shared/fileio.h
@@ -0,0 +1,37 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2010 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+#include <stddef.h>
+#include <stdio.h>
+
+#include "macro.h"
+
+int write_string_to_file(FILE *f, const char *line);
+int write_string_file(const char *fn, const char *line);
+int write_string_file_atomic(const char *fn, const char *line);
+
+int read_one_line_file(const char *fn, char **line);
+int read_full_file(const char *fn, char **contents, size_t *size);
+
+int parse_env_file(const char *fname, const char *separator, ...) _sentinel_;
+int load_env_file(const char *fname, const char *separator, char ***l);
+int write_env_file(const char *fname, char **l);
diff --git a/src/shared/hashmap.c b/src/shared/hashmap.c
index a2c728d642..9f7db34397 100644
--- a/src/shared/hashmap.c
+++ b/src/shared/hashmap.c
@@ -309,6 +309,17 @@ void hashmap_free_free(Hashmap *h) {
hashmap_free(h);
}
+void hashmap_free_free_free(Hashmap *h) {
+
+ /* Free the hashmap and all data and key objects in it */
+
+ if (!h)
+ return;
+
+ hashmap_clear_free_free(h);
+ hashmap_free(h);
+}
+
void hashmap_clear(Hashmap *h) {
if (!h)
return;
@@ -327,6 +338,22 @@ void hashmap_clear_free(Hashmap *h) {
free(p);
}
+void hashmap_clear_free_free(Hashmap *h) {
+ if (!h)
+ return;
+
+ while (h->iterate_list_head) {
+ void *a, *b;
+
+ a = h->iterate_list_head->value;
+ b = (void*) h->iterate_list_head->key;
+ remove_entry(h, h->iterate_list_head);
+ free(a);
+ free(b);
+ }
+}
+
+
static struct hashmap_entry *hash_scan(Hashmap *h, unsigned hash, const void *key) {
struct hashmap_entry *e;
assert(h);
diff --git a/src/shared/hashmap.h b/src/shared/hashmap.h
index 6fd71cf519..15b7e27585 100644
--- a/src/shared/hashmap.h
+++ b/src/shared/hashmap.h
@@ -23,6 +23,8 @@
#include <stdbool.h>
+#include "macro.h"
+
/* Pretty straightforward hash table implementation. As a minor
* optimization a NULL hashmap object will be treated as empty hashmap
* for all read operations. That way it is not necessary to
@@ -38,29 +40,33 @@ typedef _IteratorStruct* Iterator;
typedef unsigned (*hash_func_t)(const void *p);
typedef int (*compare_func_t)(const void *a, const void *b);
-unsigned string_hash_func(const void *p);
-int string_compare_func(const void *a, const void *b);
+unsigned string_hash_func(const void *p) _pure_;
+int string_compare_func(const void *a, const void *b) _pure_;
-unsigned trivial_hash_func(const void *p);
-int trivial_compare_func(const void *a, const void *b);
+/* This will compare the passed pointers directly, and will not
+ * dereference them. This is hence not useful for strings or
+ * suchlike. */
+unsigned trivial_hash_func(const void *p) _const_;
+int trivial_compare_func(const void *a, const void *b) _const_;
-unsigned uint64_hash_func(const void *p);
-int uint64_compare_func(const void *a, const void *b);
+unsigned uint64_hash_func(const void *p) _pure_;
+int uint64_compare_func(const void *a, const void *b) _pure_;
Hashmap *hashmap_new(hash_func_t hash_func, compare_func_t compare_func);
void hashmap_free(Hashmap *h);
void hashmap_free_free(Hashmap *h);
+void hashmap_free_free_free(Hashmap *h);
Hashmap *hashmap_copy(Hashmap *h);
int hashmap_ensure_allocated(Hashmap **h, hash_func_t hash_func, compare_func_t compare_func);
int hashmap_put(Hashmap *h, const void *key, void *value);
int hashmap_update(Hashmap *h, const void *key, void *value);
int hashmap_replace(Hashmap *h, const void *key, void *value);
-void* hashmap_get(Hashmap *h, const void *key);
-void* hashmap_get2(Hashmap *h, const void *key, void **rkey);
+void *hashmap_get(Hashmap *h, const void *key);
+void *hashmap_get2(Hashmap *h, const void *key, void **rkey);
bool hashmap_contains(Hashmap *h, const void *key);
-void* hashmap_remove(Hashmap *h, const void *key);
-void* hashmap_remove_value(Hashmap *h, const void *key, void *value);
+void *hashmap_remove(Hashmap *h, const void *key);
+void *hashmap_remove_value(Hashmap *h, const void *key, void *value);
int hashmap_remove_and_put(Hashmap *h, const void *old_key, const void *new_key, void *value);
int hashmap_remove_and_replace(Hashmap *h, const void *old_key, const void *new_key, void *value);
@@ -68,8 +74,8 @@ int hashmap_merge(Hashmap *h, Hashmap *other);
void hashmap_move(Hashmap *h, Hashmap *other);
int hashmap_move_one(Hashmap *h, Hashmap *other, const void *key);
-unsigned hashmap_size(Hashmap *h);
-bool hashmap_isempty(Hashmap *h);
+unsigned hashmap_size(Hashmap *h) _pure_;
+bool hashmap_isempty(Hashmap *h) _pure_;
void *hashmap_iterate(Hashmap *h, Iterator *i, const void **key);
void *hashmap_iterate_backwards(Hashmap *h, Iterator *i, const void **key);
@@ -77,12 +83,13 @@ void *hashmap_iterate_skip(Hashmap *h, const void *key, Iterator *i);
void hashmap_clear(Hashmap *h);
void hashmap_clear_free(Hashmap *h);
+void hashmap_clear_free_free(Hashmap *h);
void *hashmap_steal_first(Hashmap *h);
void *hashmap_steal_first_key(Hashmap *h);
-void* hashmap_first(Hashmap *h);
-void* hashmap_first_key(Hashmap *h);
-void* hashmap_last(Hashmap *h);
+void *hashmap_first(Hashmap *h) _pure_;
+void *hashmap_first_key(Hashmap *h) _pure_;
+void *hashmap_last(Hashmap *h) _pure_;
void *hashmap_next(Hashmap *h, const void *key);
diff --git a/src/shared/hwclock.c b/src/shared/hwclock.c
index f9adf0369e..cc11faa6c3 100644
--- a/src/shared/hwclock.c
+++ b/src/shared/hwclock.c
@@ -41,83 +41,7 @@
#include "log.h"
#include "strv.h"
#include "hwclock.h"
-
-static int rtc_open(int flags) {
- int fd;
- DIR *d;
-
- /* First, we try to make use of the /dev/rtc symlink. If that
- * doesn't exist, we open the first RTC which has hctosys=1
- * set. If we don't find any we just take the first RTC that
- * exists at all. */
-
- fd = open("/dev/rtc", flags);
- if (fd >= 0)
- return fd;
-
- d = opendir("/sys/class/rtc");
- if (!d)
- goto fallback;
-
- for (;;) {
- char *p, *v;
- struct dirent *de;
- union dirent_storage buf;
- int r;
-
- r = readdir_r(d, &buf.de, &de);
- if (r != 0)
- goto fallback;
-
- if (!de)
- goto fallback;
-
- if (ignore_file(de->d_name))
- continue;
-
- p = strjoin("/sys/class/rtc/", de->d_name, "/hctosys", NULL);
- if (!p) {
- closedir(d);
- return -ENOMEM;
- }
-
- r = read_one_line_file(p, &v);
- free(p);
-
- if (r < 0)
- continue;
-
- r = parse_boolean(v);
- free(v);
-
- if (r <= 0)
- continue;
-
- p = strappend("/dev/", de->d_name);
- if (!p) {
- closedir(d);
- return -ENOMEM;
- }
-
- fd = open(p, flags);
- free(p);
-
- if (fd >= 0) {
- closedir(d);
- return fd;
- }
- }
-
-fallback:
- if (d)
- closedir(d);
-
- fd = open("/dev/rtc0", flags);
- if (fd < 0)
- return -errno;
-
- return fd;
-}
+#include "fileio.h"
int hwclock_get_time(struct tm *tm) {
int fd;
@@ -125,7 +49,7 @@ int hwclock_get_time(struct tm *tm) {
assert(tm);
- fd = rtc_open(O_RDONLY|O_CLOEXEC);
+ fd = open("/dev/rtc", O_RDONLY|O_CLOEXEC);
if (fd < 0)
return -errno;
@@ -149,7 +73,7 @@ int hwclock_set_time(const struct tm *tm) {
assert(tm);
- fd = rtc_open(O_RDONLY|O_CLOEXEC);
+ fd = open("/dev/rtc", O_RDONLY|O_CLOEXEC);
if (fd < 0)
return -errno;
@@ -162,8 +86,7 @@ int hwclock_set_time(const struct tm *tm) {
}
int hwclock_is_localtime(void) {
- FILE *f;
- bool local = false;
+ _cleanup_fclose_ FILE *f;
/*
* The third line of adjtime is "UTC" or "LOCAL" or nothing.
@@ -180,19 +103,16 @@ int hwclock_is_localtime(void) {
b = fgets(line, sizeof(line), f) &&
fgets(line, sizeof(line), f) &&
fgets(line, sizeof(line), f);
-
- fclose(f);
-
if (!b)
return -EIO;
truncate_nl(line);
- local = streq(line, "LOCAL");
+ return streq(line, "LOCAL");
- } else if (errno != -ENOENT)
+ } else if (errno != ENOENT)
return -errno;
- return local;
+ return 0;
}
int hwclock_set_timezone(int *min) {
diff --git a/src/shared/install-printf.c b/src/shared/install-printf.c
new file mode 100644
index 0000000000..c44459b4e0
--- /dev/null
+++ b/src/shared/install-printf.c
@@ -0,0 +1,132 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <assert.h>
+#include <stdlib.h>
+
+#include "specifier.h"
+#include "unit-name.h"
+#include "util.h"
+#include "install-printf.h"
+
+static char *specifier_prefix_and_instance(char specifier, void *data, void *userdata) {
+ InstallInfo *i = userdata;
+ assert(i);
+
+ return unit_name_to_prefix_and_instance(i->name);
+}
+
+static char *specifier_prefix(char specifier, void *data, void *userdata) {
+ InstallInfo *i = userdata;
+ assert(i);
+
+ return unit_name_to_prefix(i->name);
+}
+
+static char *specifier_instance(char specifier, void *data, void *userdata) {
+ InstallInfo *i = userdata;
+ char *instance;
+ int r;
+
+ assert(i);
+
+ r = unit_name_to_instance(i->name, &instance);
+ if (r < 0)
+ return NULL;
+ if (instance != NULL)
+ return instance;
+ else
+ return strdup("");
+}
+
+static char *specifier_user_name(char specifier, void *data, void *userdata) {
+ InstallInfo *i = userdata;
+ const char *username;
+ _cleanup_free_ char *tmp = NULL;
+ char *printed = NULL;
+
+ assert(i);
+
+ if (i->user)
+ username = i->user;
+ else
+ /* get USER env from env or our own uid */
+ username = tmp = getusername_malloc();
+
+ switch (specifier) {
+ case 'u':
+ printed = strdup(username);
+ break;
+ case 'U': {
+ /* fish username from passwd */
+ uid_t uid;
+ int r;
+
+ r = get_user_creds(&username, &uid, NULL, NULL, NULL);
+ if (r < 0)
+ return NULL;
+
+ if (asprintf(&printed, "%d", uid) < 0)
+ return NULL;
+ break;
+ }}
+
+ return printed;
+}
+
+
+char *install_full_printf(InstallInfo *i, const char *format) {
+
+ /* This is similar to unit_full_printf() but does not support
+ * anything path-related.
+ *
+ * %n: the full id of the unit (foo@bar.waldo)
+ * %N: the id of the unit without the suffix (foo@bar)
+ * %p: the prefix (foo)
+ * %i: the instance (bar)
+
+ * %U the UID of the configured user or running user
+ * %u the username of the configured user or running user
+ * %m the machine ID of the running system
+ * %H the host name of the running system
+ * %b the boot ID of the running system
+ */
+
+ const Specifier table[] = {
+ { 'n', specifier_string, i->name },
+ { 'N', specifier_prefix_and_instance, NULL },
+ { 'p', specifier_prefix, NULL },
+ { 'i', specifier_instance, NULL },
+
+ { 'U', specifier_user_name, NULL },
+ { 'u', specifier_user_name, NULL },
+
+ { 'm', specifier_machine_id, NULL },
+ { 'H', specifier_host_name, NULL },
+ { 'b', specifier_boot_id, NULL },
+ { 0, NULL, NULL }
+ };
+
+ assert(i);
+ assert(format);
+
+ return specifier_printf(format, table, i);
+}
diff --git a/src/shared/install-printf.h b/src/shared/install-printf.h
new file mode 100644
index 0000000000..46f5294d21
--- /dev/null
+++ b/src/shared/install-printf.h
@@ -0,0 +1,25 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#pragma once
+
+#include "install.h"
+char *install_full_printf(InstallInfo *i, const char *format);
diff --git a/src/shared/install.c b/src/shared/install.c
index a9d75f3b7c..edf4d2a9fe 100644
--- a/src/shared/install.c
+++ b/src/shared/install.c
@@ -36,21 +36,19 @@
#include "install.h"
#include "conf-parser.h"
#include "conf-files.h"
-
-typedef struct {
- char *name;
- char *path;
-
- char **aliases;
- char **wanted_by;
- char **required_by;
-} InstallInfo;
+#include "specifier.h"
+#include "install-printf.h"
typedef struct {
Hashmap *will_install;
Hashmap *have_installed;
} InstallContext;
+#define _cleanup_lookup_paths_free_ \
+ __attribute__((cleanup(lookup_paths_free)))
+#define _cleanup_install_context_done_ \
+ __attribute__((cleanup(install_context_done)))
+
static int lookup_paths_init_from_scope(LookupPaths *paths, UnitFileScope scope) {
assert(paths);
assert(scope >= 0);
@@ -180,11 +178,9 @@ static int mark_symlink_for_removal(
path_kill_slashes(n);
- r = set_put(*remove_symlinks_to, n);
- if (r < 0) {
- free(n);
+ r = set_consume(*remove_symlinks_to, n);
+ if (r < 0)
return r == -EEXIST ? 0 : r;
- }
return 0;
}
@@ -200,7 +196,7 @@ static int remove_marked_symlinks_fd(
char** files) {
int r = 0;
- DIR *d;
+ _cleanup_closedir_ DIR *d = NULL;
assert(remove_symlinks_to);
assert(fd >= 0);
@@ -237,7 +233,7 @@ static int remove_marked_symlinks_fd(
if (de->d_type == DT_DIR) {
int nfd, q;
- char *p;
+ _cleanup_free_ char *p = NULL;
nfd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW);
if (nfd < 0) {
@@ -252,32 +248,26 @@ static int remove_marked_symlinks_fd(
p = path_make_absolute(de->d_name, path);
if (!p) {
close_nointr_nofail(nfd);
- r = -ENOMEM;
- break;
+ return -ENOMEM;
}
/* This will close nfd, regardless whether it succeeds or not */
q = remove_marked_symlinks_fd(remove_symlinks_to, nfd, p, config_path, deleted, changes, n_changes, files);
- free(p);
if (r == 0)
r = q;
} else if (de->d_type == DT_LNK) {
- char *p, *dest;
+ _cleanup_free_ char *p = NULL, *dest = NULL;
int q;
bool found;
p = path_make_absolute(de->d_name, path);
- if (!p) {
- r = -ENOMEM;
- break;
- }
+ if (!p)
+ return -ENOMEM;
q = readlink_and_canonicalize(p, &dest);
if (q < 0) {
- free(p);
-
if (q == -ENOENT)
continue;
@@ -316,14 +306,9 @@ static int remove_marked_symlinks_fd(
}
}
}
-
- free(p);
- free(dest);
}
}
- closedir(d);
-
return r;
}
@@ -375,7 +360,7 @@ static int find_symlinks_fd(
bool *same_name_link) {
int r = 0;
- DIR *d;
+ _cleanup_closedir_ DIR *d = NULL;
assert(name);
assert(fd >= 0);
@@ -395,13 +380,11 @@ static int find_symlinks_fd(
union dirent_storage buf;
k = readdir_r(d, &buf.de, &de);
- if (k != 0) {
- r = -errno;
- break;
- }
+ if (k != 0)
+ return -errno;
if (!de)
- break;
+ return r;
if (ignore_file(de->d_name))
continue;
@@ -410,7 +393,7 @@ static int find_symlinks_fd(
if (de->d_type == DT_DIR) {
int nfd, q;
- char *p;
+ _cleanup_free_ char *p = NULL;
nfd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW);
if (nfd < 0) {
@@ -425,39 +408,31 @@ static int find_symlinks_fd(
p = path_make_absolute(de->d_name, path);
if (!p) {
close_nointr_nofail(nfd);
- r = -ENOMEM;
- break;
+ return -ENOMEM;
}
/* This will close nfd, regardless whether it succeeds or not */
q = find_symlinks_fd(name, nfd, p, config_path, same_name_link);
- free(p);
- if (q > 0) {
- r = 1;
- break;
- }
+ if (q > 0)
+ return 1;
if (r == 0)
r = q;
} else if (de->d_type == DT_LNK) {
- char *p, *dest;
+ _cleanup_free_ char *p = NULL, *dest = NULL;
bool found_path, found_dest, b = false;
int q;
/* Acquire symlink name */
p = path_make_absolute(de->d_name, path);
- if (!p) {
- r = -ENOMEM;
- break;
- }
+ if (!p)
+ return -ENOMEM;
/* Acquire symlink destination */
q = readlink_and_canonicalize(p, &dest);
if (q < 0) {
- free(p);
-
if (q == -ENOENT)
continue;
@@ -480,37 +455,25 @@ static int find_symlinks_fd(
else
found_dest = streq(path_get_file_name(dest), name);
- free(dest);
-
if (found_path && found_dest) {
- char *t;
+ _cleanup_free_ char *t = NULL;
/* Filter out same name links in the main
* config path */
t = path_make_absolute(name, config_path);
- if (!t) {
- free(p);
- r = -ENOMEM;
- break;
- }
+ if (!t)
+ return -ENOMEM;
b = path_equal(t, p);
- free(t);
}
- free(p);
-
if (b)
*same_name_link = true;
- else if (found_path || found_dest) {
- r = 1;
- break;
- }
+ else if (found_path || found_dest)
+ return 1;
}
}
- closedir(d);
-
return r;
}
@@ -543,7 +506,7 @@ static int find_symlinks_in_scope(
UnitFileState *state) {
int r;
- char _cleanup_free_ *path = NULL;
+ _cleanup_free_ char *path = NULL;
bool same_name_link_runtime = false, same_name_link = false;
assert(scope >= 0);
@@ -602,7 +565,7 @@ int unit_file_mask(
unsigned *n_changes) {
char **i;
- char _cleanup_free_ *prefix;
+ _cleanup_free_ char *prefix;
int r;
assert(scope >= 0);
@@ -613,7 +576,7 @@ int unit_file_mask(
return r;
STRV_FOREACH(i, files) {
- char _cleanup_free_ *path = NULL;
+ _cleanup_free_ char *path = NULL;
if (!unit_name_is_valid(*i, true)) {
if (r == 0)
@@ -735,25 +698,25 @@ int unit_file_link(
UnitFileChange **changes,
unsigned *n_changes) {
- LookupPaths paths;
- char **i, *config_path = NULL;
+ _cleanup_lookup_paths_free_ LookupPaths paths = {};
+ char **i;
+ _cleanup_free_ char *config_path = NULL;
int r, q;
assert(scope >= 0);
assert(scope < _UNIT_FILE_SCOPE_MAX);
- zero(paths);
-
r = lookup_paths_init_from_scope(&paths, scope);
if (r < 0)
return r;
r = get_config_path(scope, runtime, root_dir, &config_path);
if (r < 0)
- goto finish;
+ return r;
STRV_FOREACH(i, files) {
- char *path, *fn;
+ _cleanup_free_ char *path = NULL;
+ char *fn;
struct stat st;
fn = path_get_file_name(*i);
@@ -777,48 +740,34 @@ int unit_file_link(
}
q = in_search_path(*i, paths.unit_path);
- if (q < 0) {
- r = q;
- break;
- }
+ if (q < 0)
+ return q;
if (q > 0)
continue;
path = path_make_absolute(fn, config_path);
- if (!path) {
- r = -ENOMEM;
- break;
- }
+ if (!path)
+ return -ENOMEM;
if (symlink(*i, path) >= 0) {
add_file_change(changes, n_changes, UNIT_FILE_SYMLINK, path, *i);
-
- free(path);
continue;
}
if (errno == EEXIST) {
- char *dest = NULL;
+ _cleanup_free_ char *dest = NULL;
q = readlink_and_make_absolute(path, &dest);
if (q < 0 && errno != ENOENT) {
- free(path);
-
if (r == 0)
r = q;
-
continue;
}
- if (q >= 0 && path_equal(dest, *i)) {
- free(dest);
- free(path);
+ if (q >= 0 && path_equal(dest, *i))
continue;
- }
-
- free(dest);
if (force) {
unlink(path);
@@ -828,7 +777,6 @@ int unit_file_link(
add_file_change(changes, n_changes, UNIT_FILE_UNLINK, path, NULL);
add_file_change(changes, n_changes, UNIT_FILE_SYMLINK, path, *i);
- free(path);
continue;
}
}
@@ -839,14 +787,8 @@ int unit_file_link(
if (r == 0)
r = -errno;
}
-
- free(path);
}
- finish:
- lookup_paths_free(&paths);
- free(config_path);
-
return r;
}
@@ -977,15 +919,15 @@ static int install_info_add_auto(
return install_info_add(c, name_or_path, NULL);
}
-static int config_parse_also(
- const char *filename,
- unsigned line,
- const char *section,
- const char *lvalue,
- int ltype,
- const char *rvalue,
- void *data,
- void *userdata) {
+static int config_parse_also(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
char *w;
size_t l;
@@ -997,7 +939,7 @@ static int config_parse_also(
assert(rvalue);
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
- char *n;
+ _cleanup_free_ char *n;
int r;
n = strndup(w, l);
@@ -1005,17 +947,40 @@ static int config_parse_also(
return -ENOMEM;
r = install_info_add(c, n, NULL);
- if (r < 0) {
- free(n);
+ if (r < 0)
return r;
- }
-
- free(n);
}
return 0;
}
+static int config_parse_user(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
+
+ InstallInfo *i = data;
+ char* printed;
+
+ assert(filename);
+ assert(lvalue);
+ assert(rvalue);
+
+ printed = install_full_printf(i, rvalue);
+ if (!printed)
+ return -ENOMEM;
+
+ free(i->user);
+ i->user = printed;
+
+ return 0;
+}
+
static int unit_file_load(
InstallContext *c,
InstallInfo *info,
@@ -1027,11 +992,12 @@ static int unit_file_load(
{ "Install", "WantedBy", config_parse_strv, 0, &info->wanted_by },
{ "Install", "RequiredBy", config_parse_strv, 0, &info->required_by },
{ "Install", "Also", config_parse_also, 0, c },
+ { "Exec", "User", config_parse_user, 0, info },
{ NULL, NULL, NULL, 0, NULL }
};
int fd;
- FILE *f;
+ _cleanup_fclose_ FILE *f = NULL;
int r;
assert(c);
@@ -1048,8 +1014,8 @@ static int unit_file_load(
return -ENOMEM;
}
- r = config_parse(path, f, NULL, config_item_table_lookup, (void*) items, true, info);
- fclose(f);
+ r = config_parse(NULL, path, f, NULL,
+ config_item_table_lookup, (void*) items, true, true, info);
if (r < 0)
return r;
@@ -1149,15 +1115,13 @@ static int unit_file_can_install(
const char *name,
bool allow_symlink) {
- InstallContext c;
+ _cleanup_install_context_done_ InstallContext c = {};
InstallInfo *i;
int r;
assert(paths);
assert(name);
- zero(c);
-
r = install_info_add_auto(&c, name);
if (r < 0)
return r;
@@ -1172,8 +1136,6 @@ static int unit_file_can_install(
strv_length(i->wanted_by) +
strv_length(i->required_by);
- install_context_done(&c);
-
return r;
}
@@ -1184,7 +1146,7 @@ static int create_symlink(
UnitFileChange **changes,
unsigned *n_changes) {
- char *dest;
+ _cleanup_free_ char *dest = NULL;
int r;
assert(old_path);
@@ -1204,12 +1166,8 @@ static int create_symlink(
if (r < 0)
return r;
- if (path_equal(dest, old_path)) {
- free(dest);
+ if (path_equal(dest, old_path))
return 0;
- }
-
- free(dest);
if (!force)
return -EEXIST;
@@ -1239,16 +1197,17 @@ static int install_info_symlink_alias(
assert(config_path);
STRV_FOREACH(s, i->aliases) {
- char *alias_path;
+ _cleanup_free_ char *alias_path = NULL, *dst = NULL;
- alias_path = path_make_absolute(*s, config_path);
+ dst = install_full_printf(i, *s);
+ if (!dst)
+ return -ENOMEM;
+ alias_path = path_make_absolute(dst, config_path);
if (!alias_path)
return -ENOMEM;
q = create_symlink(i->path, alias_path, force, changes, n_changes);
- free(alias_path);
-
if (r == 0)
r = q;
}
@@ -1270,18 +1229,21 @@ static int install_info_symlink_wants(
assert(config_path);
STRV_FOREACH(s, i->wanted_by) {
- char *path;
+ _cleanup_free_ char *path = NULL, *dst = NULL;
+
+ dst = install_full_printf(i, *s);
+ if (!dst)
+ return -ENOMEM;
- if (!unit_name_is_valid(*s, true)) {
+ if (!unit_name_is_valid(dst, true)) {
r = -EINVAL;
continue;
}
- if (asprintf(&path, "%s/%s.wants/%s", config_path, *s, i->name) < 0)
+ if (asprintf(&path, "%s/%s.wants/%s", config_path, dst, i->name) < 0)
return -ENOMEM;
q = create_symlink(i->path, path, force, changes, n_changes);
- free(path);
if (r == 0)
r = q;
@@ -1304,18 +1266,21 @@ static int install_info_symlink_requires(
assert(config_path);
STRV_FOREACH(s, i->required_by) {
- char *path;
+ _cleanup_free_ char *path = NULL, *dst = NULL;
- if (!unit_name_is_valid(*s, true)) {
+ dst = install_full_printf(i, *s);
+ if (!dst)
+ return -ENOMEM;
+
+ if (!unit_name_is_valid(dst, true)) {
r = -EINVAL;
continue;
}
- if (asprintf(&path, "%s/%s.requires/%s", config_path, *s, i->name) < 0)
+ if (asprintf(&path, "%s/%s.requires/%s", config_path, dst, i->name) < 0)
return -ENOMEM;
q = create_symlink(i->path, path, force, changes, n_changes);
- free(path);
if (r == 0)
r = q;
@@ -1333,7 +1298,7 @@ static int install_info_symlink_link(
unsigned *n_changes) {
int r;
- char *path;
+ _cleanup_free_ char *path = NULL;
assert(i);
assert(paths);
@@ -1348,8 +1313,6 @@ static int install_info_symlink_link(
return -ENOMEM;
r = create_symlink(i->path, path, force, changes, n_changes);
- free(path);
-
return r;
}
@@ -1488,29 +1451,27 @@ int unit_file_enable(
UnitFileChange **changes,
unsigned *n_changes) {
- LookupPaths paths;
- InstallContext c;
- char **i, *config_path = NULL;
+ _cleanup_lookup_paths_free_ LookupPaths paths = {};
+ _cleanup_install_context_done_ InstallContext c = {};
+ char **i;
+ _cleanup_free_ char *config_path = NULL;
int r;
assert(scope >= 0);
assert(scope < _UNIT_FILE_SCOPE_MAX);
- zero(paths);
- zero(c);
-
r = lookup_paths_init_from_scope(&paths, scope);
if (r < 0)
return r;
r = get_config_path(scope, runtime, root_dir, &config_path);
if (r < 0)
- goto finish;
+ return r;
STRV_FOREACH(i, files) {
r = install_info_add_auto(&c, *i);
if (r < 0)
- goto finish;
+ return r;
}
/* This will return the number of symlink rules that were
@@ -1518,12 +1479,6 @@ int unit_file_enable(
useful to determine whether the passed files had any
installation data at all. */
r = install_context_apply(&c, &paths, config_path, root_dir, force, changes, n_changes);
-
-finish:
- install_context_done(&c);
- lookup_paths_free(&paths);
- free(config_path);
-
return r;
}
@@ -1535,30 +1490,28 @@ int unit_file_disable(
UnitFileChange **changes,
unsigned *n_changes) {
- LookupPaths paths;
- InstallContext c;
- char **i, *config_path = NULL;
- Set *remove_symlinks_to = NULL;
+ _cleanup_lookup_paths_free_ LookupPaths paths = {};
+ _cleanup_install_context_done_ InstallContext c = {};
+ char **i;
+ _cleanup_free_ char *config_path = NULL;
+ _cleanup_set_free_free_ Set *remove_symlinks_to = NULL;
int r, q;
assert(scope >= 0);
assert(scope < _UNIT_FILE_SCOPE_MAX);
- zero(paths);
- zero(c);
-
r = lookup_paths_init_from_scope(&paths, scope);
if (r < 0)
return r;
r = get_config_path(scope, runtime, root_dir, &config_path);
if (r < 0)
- goto finish;
+ return r;
STRV_FOREACH(i, files) {
r = install_info_add_auto(&c, *i);
if (r < 0)
- goto finish;
+ return r;
}
r = install_context_mark_for_removal(&c, &paths, &remove_symlinks_to, config_path, root_dir);
@@ -1567,12 +1520,6 @@ int unit_file_disable(
if (r == 0)
r = q;
-finish:
- install_context_done(&c);
- lookup_paths_free(&paths);
- set_free_free(remove_symlinks_to);
- free(config_path);
-
return r;
}
@@ -1585,34 +1532,32 @@ int unit_file_reenable(
UnitFileChange **changes,
unsigned *n_changes) {
- LookupPaths paths;
- InstallContext c;
- char **i, *config_path = NULL;
- Set *remove_symlinks_to = NULL;
+ _cleanup_lookup_paths_free_ LookupPaths paths = {};
+ _cleanup_install_context_done_ InstallContext c = {};
+ char **i;
+ _cleanup_free_ char *config_path = NULL;
+ _cleanup_set_free_free_ Set *remove_symlinks_to = NULL;
int r, q;
assert(scope >= 0);
assert(scope < _UNIT_FILE_SCOPE_MAX);
- zero(paths);
- zero(c);
-
r = lookup_paths_init_from_scope(&paths, scope);
if (r < 0)
return r;
r = get_config_path(scope, runtime, root_dir, &config_path);
if (r < 0)
- goto finish;
+ return r;
STRV_FOREACH(i, files) {
r = mark_symlink_for_removal(&remove_symlinks_to, *i);
if (r < 0)
- goto finish;
+ return r;
r = install_info_add_auto(&c, *i);
if (r < 0)
- goto finish;
+ return r;
}
r = remove_marked_symlinks(remove_symlinks_to, config_path, changes, n_changes, files);
@@ -1622,12 +1567,6 @@ int unit_file_reenable(
if (r == 0)
r = q;
-finish:
- lookup_paths_free(&paths);
- install_context_done(&c);
- set_free_free(remove_symlinks_to);
- free(config_path);
-
return r;
}
@@ -1636,17 +1575,16 @@ UnitFileState unit_file_get_state(
const char *root_dir,
const char *name) {
- LookupPaths paths;
+ _cleanup_lookup_paths_free_ LookupPaths paths = {};
UnitFileState state = _UNIT_FILE_STATE_INVALID;
- char **i, *path = NULL;
+ char **i;
+ _cleanup_free_ char *path = NULL;
int r;
assert(scope >= 0);
assert(scope < _UNIT_FILE_SCOPE_MAX);
assert(name);
- zero(paths);
-
if (root_dir && scope != UNIT_FILE_SYSTEM)
return -EINVAL;
@@ -1668,65 +1606,50 @@ UnitFileState unit_file_get_state(
else
asprintf(&path, "%s/%s", *i, name);
- if (!path) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!path)
+ return -ENOMEM;
if (lstat(path, &st) < 0) {
r = -errno;
if (errno == ENOENT)
continue;
- goto finish;
+ return -errno;
}
- if (!S_ISREG(st.st_mode) && !S_ISLNK(st.st_mode)) {
- r = -ENOENT;
- goto finish;
- }
+ if (!S_ISREG(st.st_mode) && !S_ISLNK(st.st_mode))
+ return -ENOENT;
r = null_or_empty_path(path);
if (r < 0 && r != -ENOENT)
- goto finish;
+ return r;
else if (r > 0) {
state = path_startswith(*i, "/run") ?
UNIT_FILE_MASKED_RUNTIME : UNIT_FILE_MASKED;
- r = 0;
- goto finish;
+ return state;
}
r = find_symlinks_in_scope(scope, root_dir, name, &state);
- if (r < 0) {
- goto finish;
- } else if (r > 0) {
- r = 0;
- goto finish;
- }
+ if (r < 0)
+ return r;
+ else if (r > 0)
+ return state;
r = unit_file_can_install(&paths, root_dir, path, true);
- if (r < 0 && errno != -ENOENT)
- goto finish;
- else if (r > 0) {
- state = UNIT_FILE_DISABLED;
- r = 0;
- goto finish;
- } else if (r == 0) {
- state = UNIT_FILE_STATIC;
- r = 0;
- goto finish;
- }
+ if (r < 0 && errno != ENOENT)
+ return r;
+ else if (r > 0)
+ return UNIT_FILE_DISABLED;
+ else if (r == 0)
+ return UNIT_FILE_STATIC;
}
-finish:
- lookup_paths_free(&paths);
- free(path);
-
return r < 0 ? r : state;
}
int unit_file_query_preset(UnitFileScope scope, const char *name) {
- char **files, **i;
+ _cleanup_strv_free_ char **files = NULL;
+ char **i;
int r;
assert(scope >= 0);
@@ -1734,7 +1657,7 @@ int unit_file_query_preset(UnitFileScope scope, const char *name) {
assert(name);
if (scope == UNIT_FILE_SYSTEM)
- r = conf_files_list(&files, ".preset",
+ r = conf_files_list(&files, ".preset", NULL,
"/etc/systemd/system-preset",
"/usr/local/lib/systemd/system-preset",
"/usr/lib/systemd/system-preset",
@@ -1743,7 +1666,7 @@ int unit_file_query_preset(UnitFileScope scope, const char *name) {
#endif
NULL);
else if (scope == UNIT_FILE_GLOBAL)
- r = conf_files_list(&files, ".preset",
+ r = conf_files_list(&files, ".preset", NULL,
"/etc/systemd/user-preset",
"/usr/local/lib/systemd/user-preset",
"/usr/lib/systemd/user-preset",
@@ -1755,15 +1678,14 @@ int unit_file_query_preset(UnitFileScope scope, const char *name) {
return r;
STRV_FOREACH(i, files) {
- FILE *f;
+ _cleanup_fclose_ FILE *f;
f = fopen(*i, "re");
if (!f) {
if (errno == ENOENT)
continue;
- r = -errno;
- goto finish;
+ return -errno;
}
for (;;) {
@@ -1776,41 +1698,30 @@ int unit_file_query_preset(UnitFileScope scope, const char *name) {
if (!*l)
continue;
- if (strchr(COMMENTS, *l))
+ if (strchr(COMMENTS "\n", *l))
continue;
if (first_word(l, "enable")) {
l += 6;
l += strspn(l, WHITESPACE);
- if (fnmatch(l, name, FNM_NOESCAPE) == 0) {
- r = 1;
- fclose(f);
- goto finish;
- }
+ if (fnmatch(l, name, FNM_NOESCAPE) == 0)
+ return 1;
+
} else if (first_word(l, "disable")) {
l += 7;
l += strspn(l, WHITESPACE);
- if (fnmatch(l, name, FNM_NOESCAPE) == 0) {
- r = 0;
- fclose(f);
- goto finish;
- }
+ if (fnmatch(l, name, FNM_NOESCAPE) == 0)
+ return 0;
+
} else
log_debug("Couldn't parse line '%s'", l);
}
-
- fclose(f);
}
/* Default is "enable" */
- r = 1;
-
-finish:
- strv_free(files);
-
- return r;
+ return 1;
}
int unit_file_preset(
@@ -1822,37 +1733,32 @@ int unit_file_preset(
UnitFileChange **changes,
unsigned *n_changes) {
- LookupPaths paths;
- InstallContext plus, minus;
- char **i, *config_path = NULL;
- Set *remove_symlinks_to = NULL;
+ _cleanup_lookup_paths_free_ LookupPaths paths = {};
+ _cleanup_install_context_done_ InstallContext plus = {}, minus = {};
+ char **i;
+ _cleanup_free_ char *config_path = NULL;
+ _cleanup_set_free_free_ Set *remove_symlinks_to = NULL;
int r, q;
assert(scope >= 0);
assert(scope < _UNIT_FILE_SCOPE_MAX);
- zero(paths);
- zero(plus);
- zero(minus);
-
r = lookup_paths_init_from_scope(&paths, scope);
if (r < 0)
return r;
r = get_config_path(scope, runtime, root_dir, &config_path);
if (r < 0)
- goto finish;
+ return r;
STRV_FOREACH(i, files) {
- if (!unit_name_is_valid(*i, true)) {
- r = -EINVAL;
- goto finish;
- }
+ if (!unit_name_is_valid(*i, true))
+ return -EINVAL;
r = unit_file_query_preset(scope, *i);
if (r < 0)
- goto finish;
+ return r;
if (r)
r = install_info_add_auto(&plus, *i);
@@ -1860,46 +1766,49 @@ int unit_file_preset(
r = install_info_add_auto(&minus, *i);
if (r < 0)
- goto finish;
+ return r;
}
- r = install_context_mark_for_removal(&minus, &paths, &remove_symlinks_to, config_path, root_dir);
+ r = install_context_mark_for_removal(&minus, &paths, &remove_symlinks_to,
+ config_path, root_dir);
- q = remove_marked_symlinks(remove_symlinks_to, config_path, changes, n_changes, files);
+ q = remove_marked_symlinks(remove_symlinks_to, config_path,
+ changes, n_changes, files);
if (r == 0)
r = q;
/* Returns number of symlinks that where supposed to be installed. */
- q = install_context_apply(&plus, &paths, config_path, root_dir, force, changes, n_changes);
+ q = install_context_apply(&plus, &paths, config_path, root_dir, force,
+ changes, n_changes);
if (r == 0)
r = q;
-finish:
- lookup_paths_free(&paths);
- install_context_done(&plus);
- install_context_done(&minus);
- set_free_free(remove_symlinks_to);
- free(config_path);
-
return r;
}
+static void unitfilelist_free(UnitFileList **f) {
+ if (!*f)
+ return;
+
+ free((*f)->path);
+ free(*f);
+}
+
int unit_file_get_list(
UnitFileScope scope,
const char *root_dir,
Hashmap *h) {
- LookupPaths paths;
- char **i, *buf = NULL;
- DIR *d = NULL;
+ _cleanup_lookup_paths_free_ LookupPaths paths = {};
+ char **i;
+ _cleanup_free_ char *buf = NULL;
+ _cleanup_closedir_ DIR *d = NULL;
int r;
assert(scope >= 0);
assert(scope < _UNIT_FILE_SCOPE_MAX);
assert(h);
- zero(paths);
-
if (root_dir && scope != UNIT_FILE_SYSTEM)
return -EINVAL;
@@ -1914,10 +1823,9 @@ int unit_file_get_list(
buf = NULL;
if (root_dir) {
- if (asprintf(&buf, "%s/%s", root_dir, *i) < 0) {
- r = -ENOMEM;
- goto finish;
- }
+ if (asprintf(&buf, "%s/%s", root_dir, *i) < 0)
+ return -ENOMEM;
+
units_dir = buf;
} else
units_dir = *i;
@@ -1930,20 +1838,18 @@ int unit_file_get_list(
if (errno == ENOENT)
continue;
- r = -errno;
- goto finish;
+ return -errno;
}
for (;;) {
struct dirent *de;
union dirent_storage buffer;
- UnitFileList *f;
+ UnitFileList __attribute__((cleanup(unitfilelist_free)))
+ *f = NULL;
r = readdir_r(d, &buffer.de, &de);
- if (r != 0) {
- r = -r;
- goto finish;
- }
+ if (r != 0)
+ return -r;
if (!de)
break;
@@ -1962,31 +1868,24 @@ int unit_file_get_list(
if (r == -ENOENT)
continue;
- goto finish;
+ return r;
}
if (de->d_type != DT_LNK && de->d_type != DT_REG)
continue;
f = new0(UnitFileList, 1);
- if (!f) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!f)
+ return -ENOMEM;
f->path = path_make_absolute(de->d_name, units_dir);
- if (!f->path) {
- free(f);
- r = -ENOMEM;
- goto finish;
- }
+ if (!f->path)
+ return -ENOMEM;
r = null_or_empty_path(f->path);
- if (r < 0 && r != -ENOENT) {
- free(f->path);
- free(f);
- goto finish;
- } else if (r > 0) {
+ if (r < 0 && r != -ENOENT)
+ return r;
+ else if (r > 0) {
f->state =
path_startswith(*i, "/run") ?
UNIT_FILE_MASKED_RUNTIME : UNIT_FILE_MASKED;
@@ -1994,11 +1893,9 @@ int unit_file_get_list(
}
r = find_symlinks_in_scope(scope, root_dir, de->d_name, &f->state);
- if (r < 0) {
- free(f->path);
- free(f);
- goto finish;
- } else if (r > 0) {
+ if (r < 0)
+ return r;
+ else if (r > 0) {
f->state = UNIT_FILE_ENABLED;
goto found;
}
@@ -2008,32 +1905,21 @@ int unit_file_get_list(
r == -EBADMSG || /* Invalid format? */
r == -ENOENT /* Included file not found? */)
f->state = UNIT_FILE_INVALID;
- else if (r < 0) {
- free(f->path);
- free(f);
- goto finish;
- } else if (r > 0)
+ else if (r < 0)
+ return r;
+ else if (r > 0)
f->state = UNIT_FILE_DISABLED;
else
f->state = UNIT_FILE_STATIC;
found:
r = hashmap_put(h, path_get_file_name(f->path), f);
- if (r < 0) {
- free(f->path);
- free(f);
- goto finish;
- }
+ if (r < 0)
+ return r;
+ f = NULL; /* prevent cleanup */
}
}
-finish:
- lookup_paths_free(&paths);
- free(buf);
-
- if (d)
- closedir(d);
-
return r;
}
diff --git a/src/shared/install.h b/src/shared/install.h
index 55249914b1..94516c9d05 100644
--- a/src/shared/install.h
+++ b/src/shared/install.h
@@ -63,6 +63,16 @@ typedef struct UnitFileList {
UnitFileState state;
} UnitFileList;
+typedef struct {
+ char *name;
+ char *path;
+ char *user;
+
+ char **aliases;
+ char **wanted_by;
+ char **required_by;
+} InstallInfo;
+
int unit_file_enable(UnitFileScope scope, bool runtime, const char *root_dir, char *files[], bool force, UnitFileChange **changes, unsigned *n_changes);
int unit_file_disable(UnitFileScope scope, bool runtime, const char *root_dir, char *files[], UnitFileChange **changes, unsigned *n_changes);
int unit_file_reenable(UnitFileScope scope, bool runtime, const char *root_dir, char *files[], bool force, UnitFileChange **changes, unsigned *n_changes);
@@ -80,8 +90,8 @@ void unit_file_changes_free(UnitFileChange *changes, unsigned n_changes);
int unit_file_query_preset(UnitFileScope scope, const char *name);
-const char *unit_file_state_to_string(UnitFileState s);
-UnitFileState unit_file_state_from_string(const char *s);
+const char *unit_file_state_to_string(UnitFileState s) _const_;
+UnitFileState unit_file_state_from_string(const char *s) _pure_;
-const char *unit_file_change_type_to_string(UnitFileChangeType s);
-UnitFileChangeType unit_file_change_type_from_string(const char *s);
+const char *unit_file_change_type_to_string(UnitFileChangeType s) _const_;
+UnitFileChangeType unit_file_change_type_from_string(const char *s) _pure_;
diff --git a/src/shared/label.c b/src/shared/label.c
index d353da57ec..1fe4574633 100644
--- a/src/shared/label.c
+++ b/src/shared/label.c
@@ -25,8 +25,12 @@
#include <malloc.h>
#include <sys/socket.h>
#include <sys/un.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
#include "label.h"
+#include "strv.h"
#include "util.h"
#include "path-util.h"
@@ -78,7 +82,7 @@ int label_init(const char *prefix) {
l = after_mallinfo.uordblks > before_mallinfo.uordblks ? after_mallinfo.uordblks - before_mallinfo.uordblks : 0;
log_debug("Successfully loaded SELinux database in %s, size on heap is %iK.",
- format_timespan(timespan, sizeof(timespan), after_timestamp - before_timestamp),
+ format_timespan(timespan, sizeof(timespan), after_timestamp - before_timestamp, 0),
(l+1023)/1024);
}
#endif
diff --git a/src/shared/label.h b/src/shared/label.h
index 1220b18965..dda4d1c024 100644
--- a/src/shared/label.h
+++ b/src/shared/label.h
@@ -45,3 +45,7 @@ int label_mkdir(const char *path, mode_t mode, bool apply);
void label_retest_selinux(void);
int label_bind(int fd, const struct sockaddr *addr, socklen_t addrlen);
+
+int label_write_one_line_file_atomic(const char *fn, const char *line);
+int label_write_env_file(const char *fname, char **l);
+int label_fopen_temporary(const char *path, FILE **_f, char **_temp_path);
diff --git a/src/shared/log.c b/src/shared/log.c
index 8d3458e731..27317f7ed3 100644
--- a/src/shared/log.c
+++ b/src/shared/log.c
@@ -129,16 +129,15 @@ static int create_log_socket(int type) {
}
static int log_open_syslog(void) {
- union sockaddr_union sa;
int r;
+ union sockaddr_union sa = {
+ .un.sun_family = AF_UNIX,
+ .un.sun_path = "/dev/log",
+ };
if (syslog_fd >= 0)
return 0;
- zero(sa);
- sa.un.sun_family = AF_UNIX;
- strncpy(sa.un.sun_path, "/dev/log", sizeof(sa.un.sun_path));
-
syslog_fd = create_log_socket(SOCK_DGRAM);
if (syslog_fd < 0) {
r = syslog_fd;
@@ -183,7 +182,10 @@ void log_close_journal(void) {
}
static int log_open_journal(void) {
- union sockaddr_union sa;
+ union sockaddr_union sa = {
+ .un.sun_family = AF_UNIX,
+ .un.sun_path = "/run/systemd/journal/socket",
+ };
int r;
if (journal_fd >= 0)
@@ -195,10 +197,6 @@ static int log_open_journal(void) {
goto fail;
}
- zero(sa);
- sa.un.sun_family = AF_UNIX;
- strncpy(sa.un.sun_path, "/run/systemd/journal/socket", sizeof(sa.un.sun_path));
-
if (connect(journal_fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path)) < 0) {
r = -errno;
goto fail;
@@ -313,7 +311,7 @@ static int write_to_console(
const char *buffer) {
char location[64];
- struct iovec iovec[5];
+ struct iovec iovec[5] = {};
unsigned n = 0;
bool highlight;
@@ -322,8 +320,6 @@ static int write_to_console(
highlight = LOG_PRI(level) <= LOG_ERR && show_color;
- zero(iovec);
-
if (show_location) {
snprintf(location, sizeof(location), "(%s:%u) ", file, line);
char_array_0(location);
@@ -353,8 +349,11 @@ static int write_to_syslog(
const char *buffer) {
char header_priority[16], header_time[64], header_pid[16];
- struct iovec iovec[5];
- struct msghdr msghdr;
+ struct iovec iovec[5] = {};
+ struct msghdr msghdr = {
+ .msg_iov = iovec,
+ .msg_iovlen = ELEMENTSOF(iovec),
+ };
time_t t;
struct tm *tm;
@@ -375,7 +374,6 @@ static int write_to_syslog(
snprintf(header_pid, sizeof(header_pid), "[%lu]: ", (unsigned long) getpid());
char_array_0(header_pid);
- zero(iovec);
IOVEC_SET_STRING(iovec[0], header_priority);
IOVEC_SET_STRING(iovec[1], header_time);
IOVEC_SET_STRING(iovec[2], program_invocation_short_name);
@@ -386,10 +384,6 @@ static int write_to_syslog(
if (syslog_is_stream)
iovec[4].iov_len++;
- zero(msghdr);
- msghdr.msg_iov = iovec;
- msghdr.msg_iovlen = ELEMENTSOF(iovec);
-
for (;;) {
ssize_t n;
@@ -417,7 +411,7 @@ static int write_to_kmsg(
const char *buffer) {
char header_priority[16], header_pid[16];
- struct iovec iovec[5];
+ struct iovec iovec[5] = {};
if (kmsg_fd < 0)
return 0;
@@ -428,7 +422,6 @@ static int write_to_kmsg(
snprintf(header_pid, sizeof(header_pid), "[%lu]: ", (unsigned long) getpid());
char_array_0(header_pid);
- zero(iovec);
IOVEC_SET_STRING(iovec[0], header_priority);
IOVEC_SET_STRING(iovec[1], program_invocation_short_name);
IOVEC_SET_STRING(iovec[2], header_pid);
@@ -441,6 +434,37 @@ static int write_to_kmsg(
return 1;
}
+static int log_do_header(char *header, size_t size,
+ int level,
+ const char *file, int line, const char *func,
+ const char *object_name, const char *object) {
+ snprintf(header, size,
+ "PRIORITY=%i\n"
+ "SYSLOG_FACILITY=%i\n"
+ "%s%.*s%s"
+ "%s%.*i%s"
+ "%s%.*s%s"
+ "%s%.*s%s"
+ "SYSLOG_IDENTIFIER=%s\n",
+ LOG_PRI(level),
+ LOG_FAC(level),
+ file ? "CODE_FILE=" : "",
+ file ? LINE_MAX : 0, file, /* %.0s means no output */
+ file ? "\n" : "",
+ line ? "CODE_LINE=" : "",
+ line ? 1 : 0, line, /* %.0d means no output too, special case for 0 */
+ line ? "\n" : "",
+ func ? "CODE_FUNCTION=" : "",
+ func ? LINE_MAX : 0, func,
+ func ? "\n" : "",
+ object ? object_name : "",
+ object ? LINE_MAX : 0, object, /* %.0s means no output */
+ object ? "\n" : "",
+ program_invocation_short_name);
+ header[size - 1] = '\0';
+ return 0;
+}
+
static int write_to_journal(
int level,
const char*file,
@@ -451,39 +475,20 @@ static int write_to_journal(
const char *buffer) {
char header[LINE_MAX];
- struct iovec iovec[3];
- struct msghdr mh;
+ struct iovec iovec[4] = {};
+ struct msghdr mh = {};
if (journal_fd < 0)
return 0;
- snprintf(header, sizeof(header),
- "PRIORITY=%i\n"
- "SYSLOG_FACILITY=%i\n"
- "CODE_FILE=%s\n"
- "CODE_LINE=%i\n"
- "CODE_FUNCTION=%s\n"
- "%s%.*s%s"
- "SYSLOG_IDENTIFIER=%s\n"
- "MESSAGE=",
- LOG_PRI(level),
- LOG_FAC(level),
- file,
- line,
- func,
- object ? object_name : "",
- object ? LINE_MAX : 0, object, /* %.0s means no output */
- object ? "\n" : "",
- program_invocation_short_name);
+ log_do_header(header, sizeof(header), level,
+ file, line, func, object_name, object);
- char_array_0(header);
-
- zero(iovec);
IOVEC_SET_STRING(iovec[0], header);
- IOVEC_SET_STRING(iovec[1], buffer);
- IOVEC_SET_STRING(iovec[2], "\n");
+ IOVEC_SET_STRING(iovec[1], "MESSAGE=");
+ IOVEC_SET_STRING(iovec[2], buffer);
+ IOVEC_SET_STRING(iovec[3], "\n");
- zero(mh);
mh.msg_iov = iovec;
mh.msg_iovlen = ELEMENTSOF(iovec);
@@ -586,18 +591,14 @@ int log_dump_internal(
const char *func,
char *buffer) {
- int saved_errno, r;
+ PROTECT_ERRNO;
/* This modifies the buffer... */
if (_likely_(LOG_PRI(level) > log_max_level))
return 0;
- saved_errno = errno;
- r = log_dispatch(level, file, line, func, NULL, NULL, buffer);
- errno = saved_errno;
-
- return r;
+ return log_dispatch(level, file, line, func, NULL, NULL, buffer);
}
int log_metav(
@@ -608,20 +609,16 @@ int log_metav(
const char *format,
va_list ap) {
+ PROTECT_ERRNO;
char buffer[LINE_MAX];
- int saved_errno, r;
if (_likely_(LOG_PRI(level) > log_max_level))
return 0;
- saved_errno = errno;
vsnprintf(buffer, sizeof(buffer), format, ap);
char_array_0(buffer);
- r = log_dispatch(level, file, line, func, NULL, NULL, buffer);
- errno = saved_errno;
-
- return r;
+ return log_dispatch(level, file, line, func, NULL, NULL, buffer);
}
int log_meta(
@@ -651,21 +648,17 @@ int log_metav_object(
const char *format,
va_list ap) {
+ PROTECT_ERRNO;
char buffer[LINE_MAX];
- int saved_errno, r;
if (_likely_(LOG_PRI(level) > log_max_level))
return 0;
- saved_errno = errno;
vsnprintf(buffer, sizeof(buffer), format, ap);
char_array_0(buffer);
- r = log_dispatch(level, file, line, func,
- object_name, object, buffer);
- errno = saved_errno;
-
- return r;
+ return log_dispatch(level, file, line, func,
+ object_name, object, buffer);
}
int log_meta_object(
@@ -723,7 +716,7 @@ int log_struct_internal(
const char *func,
const char *format, ...) {
- int saved_errno;
+ PROTECT_ERRNO;
va_list ap;
int r;
@@ -736,37 +729,22 @@ int log_struct_internal(
if ((level & LOG_FACMASK) == 0)
level = log_facility | LOG_PRI(level);
- saved_errno = errno;
-
if ((log_target == LOG_TARGET_AUTO ||
log_target == LOG_TARGET_JOURNAL_OR_KMSG ||
log_target == LOG_TARGET_JOURNAL) &&
journal_fd >= 0) {
char header[LINE_MAX];
- struct iovec iovec[17];
+ struct iovec iovec[17] = {};
unsigned n = 0, i;
- struct msghdr mh;
- const char nl = '\n';
+ struct msghdr mh = {
+ .msg_iov = iovec,
+ };
+ static const char nl = '\n';
/* If the journal is available do structured logging */
-
- snprintf(header, sizeof(header),
- "PRIORITY=%i\n"
- "SYSLOG_FACILITY=%i\n"
- "CODE_FILE=%s\n"
- "CODE_LINE=%i\n"
- "CODE_FUNCTION=%s\n"
- "SYSLOG_IDENTIFIER=%s\n",
- LOG_PRI(level),
- LOG_FAC(level),
- file,
- line,
- func,
- program_invocation_short_name);
- char_array_0(header);
-
- zero(iovec);
+ log_do_header(header, sizeof(header), level,
+ file, line, func, NULL, NULL);
IOVEC_SET_STRING(iovec[n++], header);
va_start(ap, format);
@@ -799,8 +777,6 @@ int log_struct_internal(
format = va_arg(ap, char *);
}
- zero(mh);
- mh.msg_iov = iovec;
mh.msg_iovlen = n;
if (sendmsg(journal_fd, &mh, MSG_NOSIGNAL) < 0)
@@ -846,7 +822,6 @@ int log_struct_internal(
r = -EINVAL;
}
- errno = saved_errno;
return r;
}
diff --git a/src/shared/log.h b/src/shared/log.h
index 9aafcb4100..979f833d57 100644
--- a/src/shared/log.h
+++ b/src/shared/log.h
@@ -56,8 +56,8 @@ void log_show_location(bool b);
int log_show_color_from_string(const char *e);
int log_show_location_from_string(const char *e);
-LogTarget log_get_target(void);
-int log_get_max_level(void);
+LogTarget log_get_target(void) _pure_;
+int log_get_max_level(void) _pure_;
int log_open(void);
void log_close(void);
@@ -83,7 +83,7 @@ int log_metav(
int line,
const char *func,
const char *format,
- va_list ap);
+ va_list ap) _printf_attr_(5,0);
int log_meta_object(
int level,
@@ -102,14 +102,14 @@ int log_metav_object(
const char *object_name,
const char *object,
const char *format,
- va_list ap);
+ va_list ap) _printf_attr_(7,0);
int log_struct_internal(
int level,
const char *file,
int line,
const char *func,
- const char *format, ...) _sentinel_;
+ const char *format, ...) _printf_attr_(5,0) _sentinel_;
int log_oom_internal(
const char *file,
@@ -151,9 +151,9 @@ _noreturn_ void log_assert_failed_unreachable(
/* This modifies the buffer passed! */
#define log_dump(level, buffer) log_dump_internal(level, __FILE__, __LINE__, __func__, buffer)
-bool log_on_console(void);
+bool log_on_console(void) _pure_;
-const char *log_target_to_string(LogTarget target);
-LogTarget log_target_from_string(const char *s);
+const char *log_target_to_string(LogTarget target) _const_;
+LogTarget log_target_from_string(const char *s) _pure_;
#define MESSAGE_ID(x) "MESSAGE_ID=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(x)
diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
index 04450a5504..116dc8a36c 100644
--- a/src/shared/logs-show.c
+++ b/src/shared/logs-show.c
@@ -30,6 +30,7 @@
#include "util.h"
#include "utf8.h"
#include "hashmap.h"
+#include "journal-internal.h"
#define PRINT_THRESHOLD 128
#define JSON_THRESHOLD 4096
@@ -277,7 +278,7 @@ static int output_short(
} else if ((flags & OUTPUT_FULL_WIDTH) || (message_len + n + 1 < n_columns))
fprintf(f, ": %s%.*s%s\n", color_on, (int) message_len, message, color_off);
else if (n < n_columns && n_columns - n - 2 >= 3) {
- char *e;
+ _cleanup_free_ char *e;
e = ellipsize_mem(message, message_len, n_columns - n - 2, 90);
@@ -285,8 +286,6 @@ static int output_short(
fprintf(f, ": %s%.*s%s\n", color_on, (int) message_len, message, color_off);
else
fprintf(f, ": %s%s%s\n", color_on, e, color_off);
-
- free(e);
} else
fputs("\n", f);
@@ -305,7 +304,7 @@ static int output_verbose(
const void *data;
size_t length;
- char *cursor;
+ _cleanup_free_ char *cursor = NULL;
uint64_t realtime;
char ts[FORMAT_TIMESTAMP_MAX];
int r;
@@ -331,8 +330,6 @@ static int output_verbose(
format_timestamp(ts, sizeof(ts), realtime),
cursor);
- free(cursor);
-
SD_JOURNAL_FOREACH_DATA(j, data, length) {
if (!shall_print(data, length, flags)) {
const char *c;
@@ -369,7 +366,7 @@ static int output_export(
char sid[33];
int r;
usec_t realtime, monotonic;
- char *cursor;
+ _cleanup_free_ char *cursor = NULL;
const void *data;
size_t length;
@@ -405,8 +402,6 @@ static int output_export(
(unsigned long long) monotonic,
sd_id128_to_string(boot_id, sid));
- free(cursor);
-
SD_JOURNAL_FOREACH_DATA(j, data, length) {
/* We already printed the boot id, from the data in
@@ -500,11 +495,11 @@ static int output_json(
OutputFlags flags) {
uint64_t realtime, monotonic;
- char *cursor, *k;
+ _cleanup_free_ char *cursor = NULL;
const void *data;
size_t length;
sd_id128_t boot_id;
- char sid[33];
+ char sid[33], *k;
int r;
Hashmap *h = NULL;
bool done, separator;
@@ -556,7 +551,6 @@ static int output_json(
(unsigned long long) monotonic,
sd_id128_to_string(boot_id, sid));
}
- free(cursor);
h = hashmap_new(string_hash_func, string_compare_func);
if (!h)
@@ -781,72 +775,22 @@ int output_journal(
return ret;
}
-int show_journal_by_unit(
- FILE *f,
- const char *unit,
- OutputMode mode,
- unsigned n_columns,
- usec_t not_before,
- unsigned how_many,
- OutputFlags flags) {
+static int show_journal(FILE *f,
+ sd_journal *j,
+ OutputMode mode,
+ unsigned n_columns,
+ usec_t not_before,
+ unsigned how_many,
+ OutputFlags flags) {
- _cleanup_free_ char *m1 = NULL, *m2 = NULL, *m3 = NULL;
- sd_journal *j = NULL;
int r;
unsigned line = 0;
bool need_seek = false;
int warn_cutoff = flags & OUTPUT_WARN_CUTOFF;
+ assert(j);
assert(mode >= 0);
assert(mode < _OUTPUT_MODE_MAX);
- assert(unit);
-
- if (!endswith(unit, ".service") &&
- !endswith(unit, ".socket") &&
- !endswith(unit, ".mount") &&
- !endswith(unit, ".swap"))
- return 0;
-
- if (how_many <= 0)
- return 0;
-
- if (asprintf(&m1, "_SYSTEMD_UNIT=%s", unit) < 0 ||
- asprintf(&m2, "COREDUMP_UNIT=%s", unit) < 0 ||
- asprintf(&m3, "UNIT=%s", unit) < 0) {
- r = -ENOMEM;
- goto finish;
- }
-
- r = sd_journal_open(&j, SD_JOURNAL_LOCAL_ONLY|SD_JOURNAL_SYSTEM_ONLY);
- if (r < 0)
- goto finish;
-
- /* Look for messages from the service itself */
- r = sd_journal_add_match(j, m1, 0);
- if (r < 0)
- goto finish;
-
- /* Look for coredumps of the service */
- r = sd_journal_add_disjunction(j);
- if (r < 0)
- goto finish;
- r = sd_journal_add_match(j, "MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1", 0);
- if (r < 0)
- goto finish;
- r = sd_journal_add_match(j, m2, 0);
- if (r < 0)
- goto finish;
-
- /* Look for messages from PID 1 about this service */
- r = sd_journal_add_disjunction(j);
- if (r < 0)
- goto finish;
- r = sd_journal_add_match(j, "_PID=1", 0);
- if (r < 0)
- goto finish;
- r = sd_journal_add_match(j, m3, 0);
- if (r < 0)
- goto finish;
/* Seek to end */
r = sd_journal_seek_tail(j);
@@ -923,12 +867,110 @@ int show_journal_by_unit(
}
finish:
- if (j)
- sd_journal_close(j);
+ return r;
+}
+int add_matches_for_unit(sd_journal *j, const char *unit) {
+ int r;
+ _cleanup_free_ char *m1 = NULL, *m2 = NULL, *m3 = NULL;
+
+ assert(j);
+ assert(unit);
+
+ if (asprintf(&m1, "_SYSTEMD_UNIT=%s", unit) < 0 ||
+ asprintf(&m2, "COREDUMP_UNIT=%s", unit) < 0 ||
+ asprintf(&m3, "UNIT=%s", unit) < 0)
+ return -ENOMEM;
+
+ (void)(
+ /* Look for messages from the service itself */
+ (r = sd_journal_add_match(j, m1, 0)) ||
+
+ /* Look for coredumps of the service */
+ (r = sd_journal_add_disjunction(j)) ||
+ (r = sd_journal_add_match(j,
+ "MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1", 0)) ||
+ (r = sd_journal_add_match(j, m2, 0)) ||
+
+ /* Look for messages from PID 1 about this service */
+ (r = sd_journal_add_disjunction(j)) ||
+ (r = sd_journal_add_match(j, "_PID=1", 0)) ||
+ (r = sd_journal_add_match(j, m3, 0))
+ );
+ return r;
+}
+
+int add_matches_for_user_unit(sd_journal *j, const char *unit, uid_t uid) {
+ int r;
+ _cleanup_free_ char *m1 = NULL, *m2 = NULL, *m3 = NULL, *m4 = NULL;
+
+ assert(j);
+ assert(unit);
+
+ if (asprintf(&m1, "_SYSTEMD_USER_UNIT=%s", unit) < 0 ||
+ asprintf(&m2, "USER_UNIT=%s", unit) < 0 ||
+ asprintf(&m3, "COREDUMP_USER_UNIT=%s", unit) < 0 ||
+ asprintf(&m4, "_UID=%d", uid) < 0)
+ return -ENOMEM;
+
+ (void) (
+ /* Look for messages from the user service itself */
+ (r = sd_journal_add_match(j, m1, 0)) ||
+ (r = sd_journal_add_match(j, m4, 0)) ||
+
+ /* Look for messages from systemd about this service */
+ (r = sd_journal_add_disjunction(j)) ||
+ (r = sd_journal_add_match(j, m2, 0)) ||
+ (r = sd_journal_add_match(j, m4, 0)) ||
+
+ /* Look for coredumps of the service */
+ (r = sd_journal_add_disjunction(j)) ||
+ (r = sd_journal_add_match(j, m3, 0)) ||
+ (r = sd_journal_add_match(j, m4, 0))
+ );
return r;
}
+int show_journal_by_unit(
+ FILE *f,
+ const char *unit,
+ OutputMode mode,
+ unsigned n_columns,
+ usec_t not_before,
+ unsigned how_many,
+ uid_t uid,
+ OutputFlags flags,
+ bool system) {
+
+ _cleanup_journal_close_ sd_journal*j = NULL;
+ int r;
+ int jflags = SD_JOURNAL_LOCAL_ONLY | system * SD_JOURNAL_SYSTEM_ONLY;
+
+ assert(mode >= 0);
+ assert(mode < _OUTPUT_MODE_MAX);
+ assert(unit);
+
+ if (how_many <= 0)
+ return 0;
+
+ r = sd_journal_open(&j, jflags);
+ if (r < 0)
+ return r;
+
+ if (system)
+ r = add_matches_for_unit(j, unit);
+ else
+ r = add_matches_for_user_unit(j, unit, uid);
+ if (r < 0)
+ return r;
+
+ r = show_journal(f, j, mode, n_columns, not_before, how_many, flags);
+ if (r < 0)
+ return r;
+
+ return 0;
+}
+
static const char *const output_mode_table[_OUTPUT_MODE_MAX] = {
[OUTPUT_SHORT] = "short",
[OUTPUT_SHORT_MONOTONIC] = "short-monotonic",
diff --git a/src/shared/logs-show.h b/src/shared/logs-show.h
index 11cb41aab3..b0f93a661a 100644
--- a/src/shared/logs-show.h
+++ b/src/shared/logs-show.h
@@ -22,32 +22,13 @@
***/
#include <stdbool.h>
+#include <unistd.h>
+#include <sys/types.h>
#include <systemd/sd-journal.h>
#include "util.h"
-
-typedef enum OutputMode {
- OUTPUT_SHORT,
- OUTPUT_SHORT_MONOTONIC,
- OUTPUT_VERBOSE,
- OUTPUT_EXPORT,
- OUTPUT_JSON,
- OUTPUT_JSON_PRETTY,
- OUTPUT_JSON_SSE,
- OUTPUT_CAT,
- _OUTPUT_MODE_MAX,
- _OUTPUT_MODE_INVALID = -1
-} OutputMode;
-
-typedef enum OutputFlags {
- OUTPUT_SHOW_ALL = 1 << 0,
- OUTPUT_FOLLOW = 1 << 1,
- OUTPUT_WARN_CUTOFF = 1 << 2,
- OUTPUT_FULL_WIDTH = 1 << 3,
- OUTPUT_COLOR = 1 << 4,
- OUTPUT_CATALOG = 1 << 5
-} OutputFlags;
+#include "output-mode.h"
int output_journal(
FILE *f,
@@ -56,6 +37,15 @@ int output_journal(
unsigned n_columns,
OutputFlags flags);
+int add_matches_for_unit(
+ sd_journal *j,
+ const char *unit);
+
+int add_matches_for_user_unit(
+ sd_journal *j,
+ const char *unit,
+ uid_t uid);
+
int show_journal_by_unit(
FILE *f,
const char *unit,
@@ -63,7 +53,9 @@ int show_journal_by_unit(
unsigned n_columns,
usec_t not_before,
unsigned how_many,
- OutputFlags flags);
+ uid_t uid,
+ OutputFlags flags,
+ bool system);
void json_escape(
FILE *f,
@@ -71,5 +63,5 @@ void json_escape(
size_t l,
OutputFlags flags);
-const char* output_mode_to_string(OutputMode m);
-OutputMode output_mode_from_string(const char *s);
+const char* output_mode_to_string(OutputMode m) _const_;
+OutputMode output_mode_from_string(const char *s) _pure_;
diff --git a/src/shared/macro.h b/src/shared/macro.h
index 29d91392f8..0874102ece 100644
--- a/src/shared/macro.h
+++ b/src/shared/macro.h
@@ -28,6 +28,7 @@
#include <inttypes.h>
#define _printf_attr_(a,b) __attribute__ ((format (printf, a, b)))
+#define _alloc_(...) __attribute__ ((alloc_size(__VA_ARGS__)))
#define _sentinel_ __attribute__ ((sentinel))
#define _noreturn_ __attribute__((noreturn))
#define _unused_ __attribute__ ((unused))
@@ -45,16 +46,37 @@
#define _weakref_(x) __attribute__((weakref(#x)))
#define _introspect_(x) __attribute__((section("introspect." x)))
#define _alignas_(x) __attribute__((aligned(__alignof(x))))
+#define _cleanup_(x) __attribute__((cleanup(x)))
+
+/* automake test harness */
+#define EXIT_TEST_SKIP 77
#define XSTRINGIFY(x) #x
#define STRINGIFY(x) XSTRINGIFY(x)
/* Rounds up */
-#define ALIGN(l) ALIGN_TO((l), sizeof(void*))
+
+#define ALIGN4(l) (((l) + 3) & ~3)
+#define ALIGN8(l) (((l) + 7) & ~7)
+
+#if __SIZEOF_POINTER__ == 8
+#define ALIGN(l) ALIGN8(l)
+#elif __SIZEOF_POINTER__ == 4
+#define ALIGN(l) ALIGN4(l)
+#else
+#error "Wut? Pointers are neither 4 nor 8 bytes long?"
+#endif
+
+#define ALIGN_PTR(p) ((void*) ALIGN((unsigned long) p))
+#define ALIGN4_PTR(p) ((void*) ALIGN4((unsigned long) p))
+#define ALIGN8_PTR(p) ((void*) ALIGN8((unsigned long) p))
+
static inline size_t ALIGN_TO(size_t l, size_t ali) {
return ((l + ali - 1) & ~(ali - 1));
}
+#define ALIGN_TO_PTR(p, ali) ((void*) ALIGN_TO((unsigned long) p))
+
#define ELEMENTSOF(x) (sizeof(x)/sizeof((x)[0]))
/*
@@ -64,34 +86,35 @@ static inline size_t ALIGN_TO(size_t l, size_t ali) {
* @member: the name of the member within the struct.
*
*/
-#define container_of(ptr, type, member) ({ \
- const typeof( ((type *)0)->member ) *__mptr = (ptr); \
- (type *)( (char *)__mptr - offsetof(type,member) );})
+#define container_of(ptr, type, member) \
+ __extension__ ({ \
+ const typeof( ((type *)0)->member ) *__mptr = (ptr); \
+ (type *)( (char *)__mptr - offsetof(type,member) ); \
+ })
-#ifndef MAX
-#define MAX(a,b) \
- __extension__ ({ \
- typeof(a) _a = (a); \
- typeof(b) _b = (b); \
- _a > _b ? _a : _b; \
+#undef MAX
+#define MAX(a,b) \
+ __extension__ ({ \
+ typeof(a) _a = (a); \
+ typeof(b) _b = (b); \
+ _a > _b ? _a : _b; \
})
-#endif
-#define MAX3(a,b,c) \
- MAX(MAX(a,b),c)
+#define MAX3(x,y,z) \
+ __extension__ ({ \
+ typeof(x) _c = MAX(x,y); \
+ MAX(_c, z); \
+ })
-#ifndef MIN
+#undef MIN
#define MIN(a,b) \
__extension__ ({ \
typeof(a) _a = (a); \
typeof(b) _b = (b); \
_a < _b ? _a : _b; \
})
-#endif
-
-#define MIN3(a,b,c) \
- MIN(MIN(a,b),c)
+#ifndef CLAMP
#define CLAMP(x, low, high) \
__extension__ ({ \
typeof(x) _x = (x); \
@@ -99,6 +122,7 @@ static inline size_t ALIGN_TO(size_t l, size_t ali) {
typeof(high) _high = (high); \
((_x > _high) ? _high : ((_x < _low) ? _low : _x)); \
})
+#endif
#define assert_se(expr) \
do { \
@@ -156,6 +180,8 @@ static inline size_t ALIGN_TO(size_t l, size_t ali) {
#define memzero(x,l) (memset((x), 0, (l)))
#define zero(x) (memzero(&(x), sizeof(x)))
+#define CHAR_TO_STR(x) ((char[2]) { x, 0 })
+
#define char_array_0(x) x[sizeof(x)-1] = 0;
#define IOVEC_SET_STRING(i, s) \
@@ -194,14 +220,6 @@ static inline size_t IOVEC_INCREMENT(struct iovec *i, unsigned n, size_t k) {
return k;
}
-#define _cleanup_free_ __attribute__((cleanup(freep)))
-#define _cleanup_fclose_ __attribute__((cleanup(fclosep)))
-#define _cleanup_close_ __attribute__((cleanup(closep)))
-#define _cleanup_closedir_ __attribute__((cleanup(closedirp)))
-#define _cleanup_umask_ __attribute__((cleanup(umaskp)))
-#define _cleanup_set_free_ __attribute__((cleanup(set_freep)))
-#define _cleanup_strv_free_ __attribute__((cleanup(strv_freep)))
-
#define VA_FORMAT_ADVANCE(format, ap) \
do { \
int _argtypes[128]; \
@@ -247,4 +265,21 @@ do { \
} \
} while(false)
+ /* Because statfs.t_type can be int on some architecures, we have to cast
+ * the const magic to the type, otherwise the compiler warns about
+ * signed/unsigned comparison, because the magic can be 32 bit unsigned.
+ */
+#define F_TYPE_CMP(a, b) (a == (typeof(a)) b)
+
+
+/* Returns the number of chars needed to format variables of the
+ * specified type as a decimal string. Adds in extra space for a
+ * negative '-' prefix. */
+
+#define DECIMAL_STR_MAX(type) \
+ (1+(sizeof(type) <= 1 ? 3 : \
+ sizeof(type) <= 2 ? 5 : \
+ sizeof(type) <= 4 ? 10 : \
+ sizeof(type) <= 8 ? 20 : sizeof(int[-2*(sizeof(type) > 8)])))
+
#include "log.h"
diff --git a/src/shared/missing.h b/src/shared/missing.h
index c53579ff7f..d4ba0d3dcf 100644
--- a/src/shared/missing.h
+++ b/src/shared/missing.h
@@ -196,6 +196,14 @@ static inline pid_t gettid(void) {
#define MS_STRICTATIME (1<<24)
#endif
+#ifndef MS_REC
+#define MS_REC 16384
+#endif
+
+#ifndef MS_SHARED
+#define MS_SHARED (1<<20)
+#endif
+
#ifndef PR_SET_NO_NEW_PRIVS
#define PR_SET_NO_NEW_PRIVS 38
#endif
diff --git a/src/shared/output-mode.h b/src/shared/output-mode.h
new file mode 100644
index 0000000000..0efd430c5d
--- /dev/null
+++ b/src/shared/output-mode.h
@@ -0,0 +1,44 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+typedef enum OutputMode {
+ OUTPUT_SHORT,
+ OUTPUT_SHORT_MONOTONIC,
+ OUTPUT_VERBOSE,
+ OUTPUT_EXPORT,
+ OUTPUT_JSON,
+ OUTPUT_JSON_PRETTY,
+ OUTPUT_JSON_SSE,
+ OUTPUT_CAT,
+ _OUTPUT_MODE_MAX,
+ _OUTPUT_MODE_INVALID = -1
+} OutputMode;
+
+typedef enum OutputFlags {
+ OUTPUT_SHOW_ALL = 1 << 0,
+ OUTPUT_FOLLOW = 1 << 1,
+ OUTPUT_WARN_CUTOFF = 1 << 2,
+ OUTPUT_FULL_WIDTH = 1 << 3,
+ OUTPUT_COLOR = 1 << 4,
+ OUTPUT_CATALOG = 1 << 5
+} OutputFlags;
diff --git a/src/shared/pager.c b/src/shared/pager.c
index 488a12c763..8dddf24f4c 100644
--- a/src/shared/pager.c
+++ b/src/shared/pager.c
@@ -44,7 +44,7 @@ _noreturn_ static void pager_fallback(void) {
_exit(EXIT_SUCCESS);
}
-int pager_open(void) {
+int pager_open(bool jump_to_end) {
int fd[2];
const char *pager;
pid_t parent_pid;
@@ -85,7 +85,10 @@ int pager_open(void) {
dup2(fd[0], STDIN_FILENO);
close_pipe(fd);
- setenv("LESS", "FRSX", 0);
+ if (jump_to_end)
+ setenv("LESS", "FRSXMK+G", 1);
+ else
+ setenv("LESS", "FRSXMK", 1);
/* Make sure the pager goes away when the parent dies */
if (prctl(PR_SET_PDEATHSIG, SIGTERM) < 0)
diff --git a/src/shared/pager.h b/src/shared/pager.h
index 5e7b5ab91e..03dca8bc03 100644
--- a/src/shared/pager.h
+++ b/src/shared/pager.h
@@ -23,6 +23,8 @@
#include <stdbool.h>
-int pager_open(void);
+#include "macro.h"
+
+int pager_open(bool jump_to_end);
void pager_close(void);
-bool pager_have(void);
+bool pager_have(void) _pure_;
diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c
index 6e5529e0c7..1a47ea9ce7 100644
--- a/src/shared/path-lookup.c
+++ b/src/shared/path-lookup.c
@@ -41,21 +41,26 @@ DEFINE_STRING_TABLE_LOOKUP(systemd_running_as, SystemdRunningAs);
int user_config_home(char **config_home) {
const char *e;
+ char *r;
e = getenv("XDG_CONFIG_HOME");
if (e) {
- if (asprintf(config_home, "%s/systemd/user", e) < 0)
+ r = strappend(e, "/systemd/user");
+ if (!r)
return -ENOMEM;
+ *config_home = r;
return 1;
} else {
const char *home;
home = getenv("HOME");
if (home) {
- if (asprintf(config_home, "%s/.config/systemd/user", home) < 0)
+ r = strappend(home, "/.config/systemd/user");
+ if (!r)
return -ENOMEM;
+ *config_home = r;
return 1;
}
}
@@ -239,7 +244,6 @@ int lookup_paths_init(
const char *generator_late) {
const char *e;
- char *t;
assert(p);
@@ -316,15 +320,12 @@ int lookup_paths_init(
return -ENOMEM;
strv_uniq(p->unit_path);
- path_strv_remove_empty(p->unit_path);
if (!strv_isempty(p->unit_path)) {
-
- t = strv_join(p->unit_path, "\n\t");
+ _cleanup_free_ char *t = strv_join(p->unit_path, "\n\t");
if (!t)
return -ENOMEM;
- log_debug("Looking for unit files in:\n\t%s", t);
- free(t);
+ log_debug("Looking for unit files in (higher priority first):\n\t%s", t);
} else {
log_debug("Ignoring unit files.");
strv_free(p->unit_path);
@@ -379,16 +380,12 @@ int lookup_paths_init(
strv_uniq(p->sysvinit_path);
strv_uniq(p->sysvrcnd_path);
- path_strv_remove_empty(p->sysvinit_path);
- path_strv_remove_empty(p->sysvrcnd_path);
if (!strv_isempty(p->sysvinit_path)) {
-
- t = strv_join(p->sysvinit_path, "\n\t");
+ _cleanup_free_ char *t = strv_join(p->sysvinit_path, "\n\t");
if (!t)
return -ENOMEM;
log_debug("Looking for SysV init scripts in:\n\t%s", t);
- free(t);
} else {
log_debug("Ignoring SysV init scripts.");
strv_free(p->sysvinit_path);
@@ -396,20 +393,19 @@ int lookup_paths_init(
}
if (!strv_isempty(p->sysvrcnd_path)) {
-
- t = strv_join(p->sysvrcnd_path, "\n\t");
+ _cleanup_free_ char *t =
+ strv_join(p->sysvrcnd_path, "\n\t");
if (!t)
return -ENOMEM;
log_debug("Looking for SysV rcN.d links in:\n\t%s", t);
- free(t);
} else {
log_debug("Ignoring SysV rcN.d links.");
strv_free(p->sysvrcnd_path);
p->sysvrcnd_path = NULL;
}
#else
- log_debug("Disabled SysV init scripts and rcN.d links support");
+ log_debug("SysV init scripts and rcN.d links support disabled");
#endif
}
diff --git a/src/shared/path-lookup.h b/src/shared/path-lookup.h
index baef62228a..9dee85f967 100644
--- a/src/shared/path-lookup.h
+++ b/src/shared/path-lookup.h
@@ -36,8 +36,8 @@ typedef enum SystemdRunningAs {
_SYSTEMD_RUNNING_AS_INVALID = -1
} SystemdRunningAs;
-const char* systemd_running_as_to_string(SystemdRunningAs i);
-SystemdRunningAs systemd_running_as_from_string(const char *s);
+const char* systemd_running_as_to_string(SystemdRunningAs i) _const_;
+SystemdRunningAs systemd_running_as_from_string(const char *s) _pure_;
int user_config_home(char **config_home);
diff --git a/src/shared/path-util.c b/src/shared/path-util.c
index dd12d3d634..0c1b6a0ab0 100644
--- a/src/shared/path-util.c
+++ b/src/shared/path-util.c
@@ -50,7 +50,8 @@ char *path_get_file_name(const char *p) {
assert(p);
- if ((r = strrchr(p, '/')))
+ r = strrchr(p, '/');
+ if (r)
return r + 1;
return (char*) p;
@@ -135,7 +136,8 @@ char *path_make_absolute_cwd(const char *p) {
if (path_is_absolute(p))
return strdup(p);
- if (!(cwd = get_current_dir_name()))
+ cwd = get_current_dir_name();
+ if (!cwd)
return NULL;
r = path_make_absolute(p, cwd);
@@ -190,14 +192,18 @@ char **path_strv_canonicalize(char **l) {
errno = 0;
u = canonicalize_file_name(t);
- free(t);
-
if (!u) {
- if (errno == ENOMEM || !errno)
- enomem = true;
-
- continue;
- }
+ if (errno == ENOENT)
+ u = t;
+ else {
+ free(t);
+ if (errno == ENOMEM || !errno)
+ enomem = true;
+
+ continue;
+ }
+ } else
+ free(t);
l[k++] = u;
}
@@ -210,24 +216,14 @@ char **path_strv_canonicalize(char **l) {
return l;
}
-char **path_strv_remove_empty(char **l) {
- char **f, **t;
+char **path_strv_canonicalize_uniq(char **l) {
+ if (strv_isempty(l))
+ return l;
- if (!l)
+ if (!path_strv_canonicalize(l))
return NULL;
- for (f = t = l; *f; f++) {
-
- if (dir_is_empty(*f) > 0) {
- free(*f);
- continue;
- }
-
- *(t++) = *f;
- }
-
- *t = NULL;
- return l;
+ return strv_uniq(l);
}
char *path_kill_slashes(char *path) {
@@ -418,3 +414,15 @@ int path_is_read_only_fs(const char *path) {
return !!(st.f_flag & ST_RDONLY);
}
+
+int path_is_os_tree(const char *path) {
+ char *p;
+ int r;
+
+ /* We use /etc/os-release as flag file if something is an OS */
+
+ p = strappenda(path, "/etc/os-release");
+ r = access(p, F_OK);
+
+ return r < 0 ? 0 : 1;
+}
diff --git a/src/shared/path-util.h b/src/shared/path-util.h
index e81821a28f..d187743769 100644
--- a/src/shared/path-util.h
+++ b/src/shared/path-util.h
@@ -1,7 +1,6 @@
/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-#ifndef foopathutilhfoo
-#define foopathutilhfoo
+#pragma once
/***
This file is part of systemd.
@@ -22,24 +21,25 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-#include "stdbool.h"
+#include <stdbool.h>
-bool is_path(const char *p);
-char **path_split_and_make_absolute(const char *p);
-char *path_get_file_name(const char *p);
+#include "macro.h"
+
+bool is_path(const char *p) _pure_;
+char** path_split_and_make_absolute(const char *p);
+char* path_get_file_name(const char *p) _pure_;
int path_get_parent(const char *path, char **parent);
-bool path_is_absolute(const char *p);
-char *path_make_absolute(const char *p, const char *prefix);
-char *path_make_absolute_cwd(const char *p);
-char *path_kill_slashes(char *path);
-char *path_startswith(const char *path, const char *prefix);
-bool path_equal(const char *a, const char *b);
+bool path_is_absolute(const char *p) _pure_;
+char* path_make_absolute(const char *p, const char *prefix);
+char* path_make_absolute_cwd(const char *p);
+char* path_kill_slashes(char *path);
+char* path_startswith(const char *path, const char *prefix) _pure_;
+bool path_equal(const char *a, const char *b) _pure_;
-char **path_strv_make_absolute_cwd(char **l);
-char **path_strv_canonicalize(char **l);
-char **path_strv_remove_empty(char **l);
+char** path_strv_make_absolute_cwd(char **l);
+char** path_strv_canonicalize(char **l);
+char** path_strv_canonicalize_uniq(char **l);
int path_is_mount_point(const char *path, bool allow_symlink);
int path_is_read_only_fs(const char *path);
-
-#endif
+int path_is_os_tree(const char *path);
diff --git a/src/shared/polkit.c b/src/shared/polkit.c
index 826944585c..cea7074ad3 100644
--- a/src/shared/polkit.c
+++ b/src/shared/polkit.c
@@ -35,9 +35,10 @@ int verify_polkit(
bool *_challenge,
DBusError *error) {
+
+#ifdef ENABLE_POLKIT
DBusMessage *m = NULL, *reply = NULL;
const char *unix_process = "unix-process", *pid = "pid", *starttime = "start-time", *cancel_id = "";
- const char *sender;
uint32_t flags = interactive ? 1 : 0;
pid_t pid_raw;
uint32_t pid_u32;
@@ -46,6 +47,8 @@ int verify_polkit(
DBusMessageIter iter_msg, iter_struct, iter_array, iter_dict, iter_variant;
int r;
dbus_bool_t authorized = FALSE, challenge = FALSE;
+#endif
+ const char *sender;
unsigned long ul;
assert(c);
@@ -63,6 +66,8 @@ int verify_polkit(
if (ul == 0)
return 1;
+#ifdef ENABLE_POLKIT
+
pid_raw = bus_get_unix_process_id(c, sender, error);
if (pid_raw == 0)
return -EINVAL;
@@ -163,4 +168,7 @@ finish:
dbus_message_unref(reply);
return r;
+#else
+ return -EPERM;
+#endif
}
diff --git a/src/shared/prioq.c b/src/shared/prioq.c
new file mode 100644
index 0000000000..2d166360aa
--- /dev/null
+++ b/src/shared/prioq.c
@@ -0,0 +1,305 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "util.h"
+#include "prioq.h"
+
+struct prioq_item {
+ void *data;
+ unsigned *idx;
+};
+
+struct Prioq {
+ compare_func_t compare_func;
+ unsigned n_items, n_allocated;
+
+ struct prioq_item *items;
+};
+
+Prioq *prioq_new(compare_func_t compare_func) {
+ Prioq *q;
+
+ q = new0(Prioq, 1);
+ if (!q)
+ return q;
+
+ q->compare_func = compare_func;
+ return q;
+}
+
+void prioq_free(Prioq *q) {
+ if (!q)
+ return;
+
+ free(q->items);
+ free(q);
+}
+
+int prioq_ensure_allocated(Prioq **q, compare_func_t compare_func) {
+ assert(q);
+
+ if (*q)
+ return 0;
+
+ *q = prioq_new(compare_func);
+ if (!*q)
+ return -ENOMEM;
+
+ return 0;
+}
+
+static void swap(Prioq *q, unsigned j, unsigned k) {
+ void *saved_data;
+ unsigned *saved_idx;
+
+ assert(q);
+ assert(j < q->n_items);
+ assert(k < q->n_items);
+
+ assert(!q->items[j].idx || *(q->items[j].idx) == j);
+ assert(!q->items[k].idx || *(q->items[k].idx) == k);
+
+ saved_data = q->items[j].data;
+ saved_idx = q->items[j].idx;
+ q->items[j].data = q->items[k].data;
+ q->items[j].idx = q->items[k].idx;
+ q->items[k].data = saved_data;
+ q->items[k].idx = saved_idx;
+
+ if (q->items[j].idx)
+ *q->items[j].idx = j;
+
+ if (q->items[k].idx)
+ *q->items[k].idx = k;
+}
+
+static unsigned shuffle_up(Prioq *q, unsigned idx) {
+ assert(q);
+
+ while (idx > 0) {
+ unsigned k;
+
+ k = (idx-1)/2;
+
+ if (q->compare_func(q->items[k].data, q->items[idx].data) < 0)
+ break;
+
+ swap(q, idx, k);
+ idx = k;
+ }
+
+ return idx;
+}
+
+static unsigned shuffle_down(Prioq *q, unsigned idx) {
+ assert(q);
+
+ for (;;) {
+ unsigned j, k, s;
+
+ k = (idx+1)*2; /* right child */
+ j = k-1; /* left child */
+
+ if (j >= q->n_items)
+ break;
+
+ if (q->compare_func(q->items[j].data, q->items[idx].data) < 0)
+
+ /* So our left child is smaller than we are, let's
+ * remember this fact */
+ s = j;
+ else
+ s = idx;
+
+ if (k < q->n_items &&
+ q->compare_func(q->items[k].data, q->items[s].data) < 0)
+
+ /* So our right child is smaller than we are, let's
+ * remember this fact */
+ s = k;
+
+ /* s now points to the smallest of the three items */
+
+ if (s == idx)
+ /* No swap necessary, we're done */
+ break;
+
+ swap(q, idx, s);
+ idx = s;
+ }
+
+ return idx;
+}
+
+int prioq_put(Prioq *q, void *data, unsigned *idx) {
+ struct prioq_item *i;
+ unsigned k;
+
+ assert(q);
+
+ if (q->n_items >= q->n_allocated) {
+ unsigned n;
+ struct prioq_item *j;
+
+ n = MAX((q->n_items+1) * 2, 16u);
+ j = realloc(q->items, sizeof(struct prioq_item) * n);
+ if (!j)
+ return -ENOMEM;
+
+ q->items = j;
+ q->n_allocated = n;
+ }
+
+ k = q->n_items++;
+ i = q->items + k;
+ i->data = data;
+ i->idx = idx;
+
+ if (idx)
+ *idx = k;
+
+ shuffle_up(q, k);
+
+ return 0;
+}
+
+static void remove_item(Prioq *q, struct prioq_item *i) {
+ struct prioq_item *l;
+
+ assert(q);
+ assert(i);
+
+ l = q->items + q->n_items - 1;
+
+ if (i == l)
+ /* Last entry, let's just remove it */
+ q->n_items--;
+ else {
+ unsigned k;
+
+ /* Not last entry, let's replace the last entry with
+ * this one, and reshuffle */
+
+ k = i - q->items;
+
+ i->data = l->data;
+ i->idx = l->idx;
+ if (i->idx)
+ *i->idx = k;
+ q->n_items--;
+
+ k = shuffle_down(q, k);
+ shuffle_up(q, k);
+ }
+}
+
+_pure_ static struct prioq_item* find_item(Prioq *q, void *data, unsigned *idx) {
+ struct prioq_item *i;
+
+ assert(q);
+
+ if (idx) {
+ if (*idx > q->n_items)
+ return NULL;
+
+ i = q->items + *idx;
+ if (i->data != data)
+ return NULL;
+
+ return i;
+ } else {
+ for (i = q->items; i < q->items + q->n_items; i++)
+ if (i->data == data)
+ return i;
+ return NULL;
+ }
+}
+
+int prioq_remove(Prioq *q, void *data, unsigned *idx) {
+ struct prioq_item *i;
+
+ if (!q)
+ return 0;
+
+ i = find_item(q, data, idx);
+ if (!i)
+ return 0;
+
+ remove_item(q, i);
+ return 1;
+}
+
+int prioq_reshuffle(Prioq *q, void *data, unsigned *idx) {
+ struct prioq_item *i;
+ unsigned k;
+
+ assert(q);
+
+ i = find_item(q, data, idx);
+ if (!i)
+ return 0;
+
+ k = i - q->items;
+ k = shuffle_down(q, k);
+ shuffle_up(q, k);
+ return 1;
+}
+
+void *prioq_peek(Prioq *q) {
+
+ if (!q)
+ return NULL;
+
+ if (q->n_items <= 0)
+ return NULL;
+
+ return q->items[0].data;
+}
+
+void *prioq_pop(Prioq *q) {
+ void *data;
+
+ if (!q)
+ return NULL;
+
+ if (q->n_items <= 0)
+ return NULL;
+
+ data = q->items[0].data;
+ remove_item(q, q->items);
+ return data;
+}
+
+unsigned prioq_size(Prioq *q) {
+
+ if (!q)
+ return 0;
+
+ return q->n_items;
+
+}
+bool prioq_isempty(Prioq *q) {
+
+ if (!q)
+ return true;
+
+ return q->n_items <= 0;
+}
diff --git a/src/shared/prioq.h b/src/shared/prioq.h
new file mode 100644
index 0000000000..4a206a3e59
--- /dev/null
+++ b/src/shared/prioq.h
@@ -0,0 +1,40 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "hashmap.h"
+
+typedef struct Prioq Prioq;
+
+Prioq *prioq_new(compare_func_t compare);
+void prioq_free(Prioq *q);
+int prioq_ensure_allocated(Prioq **q, compare_func_t compare_func);
+
+int prioq_put(Prioq *q, void *data, unsigned *idx);
+int prioq_remove(Prioq *q, void *data, unsigned *idx);
+int prioq_reshuffle(Prioq *q, void *data, unsigned *idx);
+
+void *prioq_peek(Prioq *q) _pure_;
+void *prioq_pop(Prioq *q);
+
+unsigned prioq_size(Prioq *q) _pure_;
+bool prioq_isempty(Prioq *q) _pure_;
diff --git a/src/shared/ratelimit.c b/src/shared/ratelimit.c
index 1054d52f97..01b62b7b38 100644
--- a/src/shared/ratelimit.c
+++ b/src/shared/ratelimit.c
@@ -46,7 +46,7 @@ bool ratelimit_test(RateLimit *r) {
goto good;
}
- if (r->num <= r->burst)
+ if (r->num < r->burst)
goto good;
return false;
diff --git a/src/shared/set.c b/src/shared/set.c
index 53399b655b..c338dc3a44 100644
--- a/src/shared/set.c
+++ b/src/shared/set.c
@@ -37,14 +37,6 @@ void set_free(Set* s) {
hashmap_free(MAKE_HASHMAP(s));
}
-void set_freep(Set **s) {
- if (!s)
- return;
-
- set_free(*s);
- *s = NULL;
-}
-
void set_free_free(Set *s) {
hashmap_free_free(MAKE_HASHMAP(s));
}
@@ -57,6 +49,13 @@ int set_put(Set *s, void *value) {
return hashmap_put(MAKE_HASHMAP(s), value, value);
}
+int set_consume(Set *s, void *value) {
+ int r = set_put(s, value);
+ if (r < 0)
+ free(value);
+ return r;
+}
+
int set_replace(Set *s, void *value) {
return hashmap_replace(MAKE_HASHMAP(s), value, value);
}
diff --git a/src/shared/set.h b/src/shared/set.h
index ed5b5a44d6..e5d46e9a8f 100644
--- a/src/shared/set.h
+++ b/src/shared/set.h
@@ -33,12 +33,20 @@ typedef struct Set Set;
Set *set_new(hash_func_t hash_func, compare_func_t compare_func);
void set_free(Set* s);
-void set_freep(Set **s);
+static inline void set_freep(Set **s) {
+ set_free(*s);
+}
+
void set_free_free(Set *s);
+static inline void set_free_freep(Set **s) {
+ set_free_free(*s);
+}
+
Set* set_copy(Set *s);
int set_ensure_allocated(Set **s, hash_func_t hash_func, compare_func_t compare_func);
int set_put(Set *s, void *value);
+int set_consume(Set *s, void *value);
int set_replace(Set *s, void *value);
void *set_get(Set *s, void *value);
bool set_contains(Set *s, void *value);
@@ -70,3 +78,6 @@ char **set_get_strv(Set *s);
#define SET_FOREACH_BACKWARDS(e, s, i) \
for ((i) = ITERATOR_LAST, (e) = set_iterate_backwards((s), &(i)); (e); (e) = set_iterate_backwards((s), &(i)))
+
+#define _cleanup_set_free_ _cleanup_(set_freep)
+#define _cleanup_set_free_free_ _cleanup_(set_free_freep)
diff --git a/src/shared/sleep-config.c b/src/shared/sleep-config.c
new file mode 100644
index 0000000000..cd3238b405
--- /dev/null
+++ b/src/shared/sleep-config.c
@@ -0,0 +1,179 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdio.h>
+
+#include "conf-parser.h"
+#include "sleep-config.h"
+#include "fileio.h"
+#include "log.h"
+#include "strv.h"
+#include "util.h"
+
+int parse_sleep_config(const char *verb, char ***modes, char ***states) {
+ _cleanup_strv_free_ char
+ **suspend_mode = NULL, **suspend_state = NULL,
+ **hibernate_mode = NULL, **hibernate_state = NULL,
+ **hybrid_mode = NULL, **hybrid_state = NULL;
+
+ const ConfigTableItem items[] = {
+ { "Sleep", "SuspendMode", config_parse_strv, 0, &suspend_mode },
+ { "Sleep", "SuspendState", config_parse_strv, 0, &suspend_state },
+ { "Sleep", "HibernateMode", config_parse_strv, 0, &hibernate_mode },
+ { "Sleep", "HibernateState", config_parse_strv, 0, &hibernate_state },
+ { "Sleep", "HybridSleepMode", config_parse_strv, 0, &hybrid_mode },
+ { "Sleep", "HybridSleepState", config_parse_strv, 0, &hybrid_state },
+ {}};
+
+ int r;
+ FILE _cleanup_fclose_ *f;
+
+ f = fopen(PKGSYSCONFDIR "/sleep.conf", "re");
+ if (!f)
+ log_full(errno == ENOENT ? LOG_DEBUG: LOG_WARNING,
+ "Failed to open configuration file " PKGSYSCONFDIR "/sleep.conf: %m");
+ else {
+ r = config_parse(NULL, PKGSYSCONFDIR "/sleep.conf", f, "Sleep\0",
+ config_item_table_lookup, (void*) items, false, false, NULL);
+ if (r < 0)
+ log_warning("Failed to parse configuration file: %s", strerror(-r));
+ }
+
+ if (streq(verb, "suspend")) {
+ /* empty by default */
+ *modes = suspend_mode;
+
+ if (suspend_state)
+ *states = suspend_state;
+ else
+ *states = strv_split_nulstr("mem\0standby\0freeze\0");
+
+ suspend_mode = suspend_state = NULL;
+ } else if (streq(verb, "hibernate")) {
+ if (hibernate_mode)
+ *modes = hibernate_mode;
+ else
+ *modes = strv_split_nulstr("platform\0shutdown\0");
+
+ if (hibernate_state)
+ *states = hibernate_state;
+ else
+ *states = strv_split_nulstr("disk\0");
+
+ hibernate_mode = hibernate_state = NULL;
+ } else if (streq(verb, "hybrid-sleep")) {
+ if (hybrid_mode)
+ *modes = hybrid_mode;
+ else
+ *modes = strv_split_nulstr("suspend\0platform\0shutdown\0");
+
+ if (hybrid_state)
+ *states = hybrid_state;
+ else
+ *states = strv_split_nulstr("disk\0");
+
+ hybrid_mode = hybrid_state = NULL;
+ } else
+ assert_not_reached("what verb");
+
+ if (!modes || !states) {
+ strv_free(*modes);
+ strv_free(*states);
+ return log_oom();
+ }
+
+ return 0;
+}
+
+int can_sleep_state(char **types) {
+ char *w, *state, **type;
+ int r;
+ _cleanup_free_ char *p = NULL;
+
+ if (strv_isempty(types))
+ return true;
+
+ /* If /sys is read-only we cannot sleep */
+ if (access("/sys/power/state", W_OK) < 0)
+ return false;
+
+ r = read_one_line_file("/sys/power/state", &p);
+ if (r < 0)
+ return false;
+
+ STRV_FOREACH(type, types) {
+ size_t l, k;
+
+ k = strlen(*type);
+ FOREACH_WORD_SEPARATOR(w, l, p, WHITESPACE, state)
+ if (l == k && memcmp(w, *type, l) == 0)
+ return true;
+ }
+
+ return false;
+}
+
+int can_sleep_disk(char **types) {
+ char *w, *state, **type;
+ int r;
+ _cleanup_free_ char *p = NULL;
+
+ if (strv_isempty(types))
+ return true;
+
+ /* If /sys is read-only we cannot sleep */
+ if (access("/sys/power/disk", W_OK) < 0)
+ return false;
+
+ r = read_one_line_file("/sys/power/disk", &p);
+ if (r < 0)
+ return false;
+
+ STRV_FOREACH(type, types) {
+ size_t l, k;
+
+ k = strlen(*type);
+ FOREACH_WORD_SEPARATOR(w, l, p, WHITESPACE, state) {
+ if (l == k && memcmp(w, *type, l) == 0)
+ return true;
+
+ if (l == k + 2 && w[0] == '[' && memcmp(w + 1, *type, l - 2) == 0 && w[l-1] == ']')
+ return true;
+ }
+ }
+
+ return false;
+}
+
+int can_sleep(const char *verb) {
+ _cleanup_strv_free_ char **modes = NULL, **states = NULL;
+ int r;
+
+ assert(streq(verb, "suspend") ||
+ streq(verb, "hibernate") ||
+ streq(verb, "hybrid-sleep"));
+
+ r = parse_sleep_config(verb, &modes, &states);
+ if (r < 0)
+ return false;
+
+ return can_sleep_state(states) && can_sleep_disk(modes);
+}
diff --git a/src/shared/sleep-config.h b/src/shared/sleep-config.h
new file mode 100644
index 0000000000..51d2dec7b4
--- /dev/null
+++ b/src/shared/sleep-config.h
@@ -0,0 +1,26 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+int parse_sleep_config(const char *verb, char ***modes, char ***states);
+
+int can_sleep(const char *verb);
+int can_sleep_disk(char **types);
+int can_sleep_state(char **types);
diff --git a/src/shared/socket-util.c b/src/shared/socket-util.c
index 56ec99f442..c583d3dfea 100644
--- a/src/shared/socket-util.c
+++ b/src/shared/socket-util.c
@@ -38,6 +38,7 @@
#include "path-util.h"
#include "socket-util.h"
#include "missing.h"
+#include "fileio.h"
int socket_address_parse(SocketAddress *a, const char *s) {
int r;
@@ -67,7 +68,7 @@ int socket_address_parse(SocketAddress *a, const char *s) {
errno = 0;
if (inet_pton(AF_INET6, n, &a->sockaddr.in6.sin6_addr) <= 0) {
free(n);
- return errno != 0 ? -errno : -EINVAL;
+ return errno > 0 ? -errno : -EINVAL;
}
free(n);
@@ -203,7 +204,7 @@ int socket_address_parse_netlink(SocketAddress *a, const char *s) {
errno = 0;
if (sscanf(s, "%ms %u", &sfamily, &group) < 1)
- return errno ? -errno : -EINVAL;
+ return errno > 0 ? -errno : -EINVAL;
family = netlink_family_from_string(sfamily);
if (family < 0)
@@ -363,7 +364,7 @@ int socket_address_print(const SocketAddress *a, char **p) {
}
case AF_NETLINK: {
- char _cleanup_free_ *sfamily = NULL;
+ _cleanup_free_ char *sfamily = NULL;
r = netlink_family_to_string_alloc(a->protocol, &sfamily);
if (r < 0)
@@ -432,7 +433,7 @@ bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) {
return false;
if (a->sockaddr.un.sun_path[0]) {
- if (strncmp(a->sockaddr.un.sun_path, b->sockaddr.un.sun_path, sizeof(a->sockaddr.un.sun_path)) != 0)
+ if (!strneq(a->sockaddr.un.sun_path, b->sockaddr.un.sun_path, sizeof(a->sockaddr.un.sun_path)))
return false;
} else {
if (memcmp(a->sockaddr.un.sun_path, b->sockaddr.un.sun_path, a->size) != 0)
@@ -564,6 +565,45 @@ bool socket_address_matches_fd(const SocketAddress *a, int fd) {
return false;
}
+int make_socket_fd(const char* address, int flags) {
+ SocketAddress a;
+ int fd, r;
+ _cleanup_free_ char *p = NULL;
+
+ r = socket_address_parse(&a, address);
+ if (r < 0) {
+ log_error("failed to parse socket: %s", strerror(-r));
+ return r;
+ }
+
+ fd = socket(socket_address_family(&a), flags, 0);
+ if (fd < 0) {
+ log_error("socket(): %m");
+ return -errno;
+ }
+
+ r = socket_address_print(&a, &p);
+ if (r < 0) {
+ log_error("socket_address_print(): %s", strerror(-r));
+ return r;
+ }
+ log_info("Listening on %s", p);
+
+ r = bind(fd, &a.sockaddr.sa, a.size);
+ if (r < 0) {
+ log_error("bind to %s: %m", address);
+ return -errno;
+ }
+
+ r = listen(fd, SOMAXCONN);
+ if (r < 0) {
+ log_error("listen on %s: %m", address);
+ return -errno;
+ }
+
+ return fd;
+}
+
static const char* const netlink_family_table[] = {
[NETLINK_ROUTE] = "route",
[NETLINK_FIREWALL] = "firewall",
diff --git a/src/shared/socket-util.h b/src/shared/socket-util.h
index 771765d323..7829a337fc 100644
--- a/src/shared/socket-util.h
+++ b/src/shared/socket-util.h
@@ -67,9 +67,9 @@ typedef enum SocketAddressBindIPv6Only {
int socket_address_parse(SocketAddress *a, const char *s);
int socket_address_parse_netlink(SocketAddress *a, const char *s);
int socket_address_print(const SocketAddress *a, char **p);
-int socket_address_verify(const SocketAddress *a);
+int socket_address_verify(const SocketAddress *a) _pure_;
-bool socket_address_can_accept(const SocketAddress *a);
+bool socket_address_can_accept(const SocketAddress *a) _pure_;
int socket_address_listen(
const SocketAddress *a,
@@ -88,12 +88,14 @@ bool socket_address_is_netlink(const SocketAddress *a, const char *s);
bool socket_address_matches_fd(const SocketAddress *a, int fd);
-bool socket_address_equal(const SocketAddress *a, const SocketAddress *b);
+int make_socket_fd(const char* address, int flags);
+
+bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) _pure_;
bool socket_address_needs_mount(const SocketAddress *a, const char *prefix);
-const char* socket_address_bind_ipv6_only_to_string(SocketAddressBindIPv6Only b);
-SocketAddressBindIPv6Only socket_address_bind_ipv6_only_from_string(const char *s);
+const char* socket_address_bind_ipv6_only_to_string(SocketAddressBindIPv6Only b) _const_;
+SocketAddressBindIPv6Only socket_address_bind_ipv6_only_from_string(const char *s) _pure_;
int netlink_family_to_string_alloc(int b, char **s);
int netlink_family_from_string(const char *s);
diff --git a/src/shared/spawn-polkit-agent.c b/src/shared/spawn-polkit-agent.c
index fcb3722ddf..f9e52cdcbd 100644
--- a/src/shared/spawn-polkit-agent.c
+++ b/src/shared/spawn-polkit-agent.c
@@ -33,6 +33,7 @@
#include "util.h"
#include "spawn-polkit-agent.h"
+#ifdef ENABLE_POLKIT
static pid_t agent_pid = 0;
int polkit_agent_open(void) {
@@ -84,3 +85,14 @@ void polkit_agent_close(void) {
wait_for_terminate(agent_pid, NULL);
agent_pid = 0;
}
+
+#else
+
+int polkit_agent_open(void) {
+ return 0;
+}
+
+void polkit_agent_close(void) {
+}
+
+#endif
diff --git a/src/shared/specifier.c b/src/shared/specifier.c
index 599027cd47..7577c91052 100644
--- a/src/shared/specifier.c
+++ b/src/shared/specifier.c
@@ -109,3 +109,39 @@ char *specifier_printf(const char *text, const Specifier table[], void *userdata
char* specifier_string(char specifier, void *data, void *userdata) {
return strdup(strempty(data));
}
+
+char *specifier_machine_id(char specifier, void *data, void *userdata) {
+ sd_id128_t id;
+ char *buf;
+ int r;
+
+ r = sd_id128_get_machine(&id);
+ if (r < 0)
+ return NULL;
+
+ buf = new(char, 33);
+ if (!buf)
+ return NULL;
+
+ return sd_id128_to_string(id, buf);
+}
+
+char *specifier_boot_id(char specifier, void *data, void *userdata) {
+ sd_id128_t id;
+ char *buf;
+ int r;
+
+ r = sd_id128_get_boot(&id);
+ if (r < 0)
+ return NULL;
+
+ buf = new(char, 33);
+ if (!buf)
+ return NULL;
+
+ return sd_id128_to_string(id, buf);
+}
+
+char *specifier_host_name(char specifier, void *data, void *userdata) {
+ return gethostname_malloc();
+}
diff --git a/src/shared/specifier.h b/src/shared/specifier.h
index 25a27a423f..0440dcac48 100644
--- a/src/shared/specifier.h
+++ b/src/shared/specifier.h
@@ -31,4 +31,8 @@ typedef struct Specifier {
char *specifier_printf(const char *text, const Specifier table[], void *userdata);
-char* specifier_string(char specifier, void *data, void *userdata);
+char *specifier_string(char specifier, void *data, void *userdata);
+
+char *specifier_machine_id(char specifier, void *data, void *userdata);
+char *specifier_boot_id(char specifier, void *data, void *userdata);
+char *specifier_host_name(char specifier, void *data, void *userdata);
diff --git a/src/shared/strbuf.c b/src/shared/strbuf.c
index 915cd3ac99..01a076c2ba 100644
--- a/src/shared/strbuf.c
+++ b/src/shared/strbuf.c
@@ -26,7 +26,7 @@
#include "strbuf.h"
/*
- * Strbuf stores given strings in a single continous allocated memory
+ * Strbuf stores given strings in a single continuous allocated memory
* area. Identical strings are de-duplicated and return the same offset
* as the first string stored. If the tail of a string already exists
* in the buffer, the tail is returned.
@@ -95,13 +95,36 @@ void strbuf_cleanup(struct strbuf *str) {
free(str);
}
-static int strbuf_children_cmp(const void *v1, const void *v2) {
- const struct strbuf_child_entry *n1 = v1;
- const struct strbuf_child_entry *n2 = v2;
-
+static int strbuf_children_cmp(const struct strbuf_child_entry *n1,
+ const struct strbuf_child_entry *n2) {
return n1->c - n2->c;
}
+static void bubbleinsert(struct strbuf_node *node,
+ uint8_t c,
+ struct strbuf_node *node_child) {
+
+ struct strbuf_child_entry new = {
+ .c = c,
+ .child = node_child,
+ };
+ int left = 0, right = node->children_count;
+
+ while (right > left) {
+ int middle = (right + left) / 2 ;
+ if (strbuf_children_cmp(&node->children[middle], &new) <= 0)
+ left = middle + 1;
+ else
+ right = middle;
+ }
+
+ memmove(node->children + left + 1, node->children + left,
+ sizeof(struct strbuf_child_entry) * (node->children_count - left));
+ node->children[left] = new;
+
+ node->children_count ++;
+}
+
/* add string, return the index/offset into the buffer */
ssize_t strbuf_add_string(struct strbuf *str, const char *s, size_t len) {
uint8_t c;
@@ -137,8 +160,9 @@ ssize_t strbuf_add_string(struct strbuf *str, const char *s, size_t len) {
/* lookup child node */
c = s[len - 1 - depth];
search.c = c;
- child = bsearch(&search, node->children, node->children_count, sizeof(struct strbuf_child_entry),
- strbuf_children_cmp);
+ child = bsearch(&search, node->children, node->children_count,
+ sizeof(struct strbuf_child_entry),
+ (__compar_fn_t) strbuf_children_cmp);
if (!child)
break;
node = child->child;
@@ -158,19 +182,20 @@ ssize_t strbuf_add_string(struct strbuf *str, const char *s, size_t len) {
node_child = new0(struct strbuf_node, 1);
if (!node_child)
return -ENOMEM;
- str->nodes_count++;
node_child->value_off = off;
node_child->value_len = len;
/* extend array, add new entry, sort for bisection */
child = realloc(node->children, (node->children_count + 1) * sizeof(struct strbuf_child_entry));
- if (!child)
+ if (!child) {
+ free(node_child);
return -ENOMEM;
+ }
+
+ str->nodes_count++;
+
node->children = child;
- node->children[node->children_count].c = c;
- node->children[node->children_count].child = node_child;
- node->children_count++;
- qsort(node->children, node->children_count, sizeof(struct strbuf_child_entry), strbuf_children_cmp);
+ bubbleinsert(node, c, node_child);
return off;
}
diff --git a/src/shared/strv.c b/src/shared/strv.c
index 6b76d0eaef..a5ce7e9593 100644
--- a/src/shared/strv.c
+++ b/src/shared/strv.c
@@ -64,15 +64,7 @@ void strv_free(char **l) {
free(l);
}
-void strv_freep(char ***l) {
- if (!l)
- return;
-
- strv_free(*l);
- *l = NULL;
-}
-
-char **strv_copy(char **l) {
+char **strv_copy(char * const *l) {
char **r, **k;
k = r = new(char*, strv_length(l) + 1);
@@ -92,7 +84,7 @@ char **strv_copy(char **l) {
return r;
}
-unsigned strv_length(char **l) {
+unsigned strv_length(char * const *l) {
unsigned n = 0;
if (!l)
@@ -305,6 +297,31 @@ char **strv_split_quoted(const char *s) {
return r;
}
+char **strv_split_newlines(const char *s) {
+ char **l;
+ unsigned n;
+
+ assert(s);
+
+ /* Special version of strv_split() that splits on newlines and
+ * suppresses an empty string at the end */
+
+ l = strv_split(s, NEWLINE);
+ if (!l)
+ return NULL;
+
+ n = strv_length(l);
+ if (n <= 0)
+ return l;
+
+ if (isempty(l[n-1])) {
+ free(l[n-1]);
+ l[n-1] = NULL;
+ }
+
+ return l;
+}
+
char *strv_join(char **l, const char *separator) {
char *r, *e;
char **s;
@@ -370,6 +387,43 @@ fail:
return NULL;
}
+int strv_push(char ***l, char *value) {
+ char **c;
+ unsigned n;
+
+ if (!value)
+ return 0;
+
+ n = strv_length(*l);
+ c = realloc(*l, sizeof(char*) * (n + 2));
+ if (!c)
+ return -ENOMEM;
+
+ c[n] = value;
+ c[n+1] = NULL;
+
+ *l = c;
+ return 0;
+}
+
+int strv_extend(char ***l, const char *value) {
+ char *v;
+ int r;
+
+ if (!value)
+ return 0;
+
+ v = strdup(value);
+ if (!v)
+ return -ENOMEM;
+
+ r = strv_push(l, v);
+ if (r < 0)
+ free(v);
+
+ return r;
+}
+
char **strv_uniq(char **l) {
char **i;
@@ -432,249 +486,6 @@ char **strv_remove_prefix(char **l, const char *s) {
return l;
}
-static int env_append(char **r, char ***k, char **a) {
- assert(r);
- assert(k);
-
- if (!a)
- return 0;
-
- /* Add the entries of a to *k unless they already exist in *r
- * in which case they are overridden instead. This assumes
- * there is enough space in the r array. */
-
- for (; *a; a++) {
- char **j;
- size_t n;
-
- n = strcspn(*a, "=");
-
- if ((*a)[n] == '=')
- n++;
-
- for (j = r; j < *k; j++)
- if (strncmp(*j, *a, n) == 0)
- break;
-
- if (j >= *k)
- (*k)++;
- else
- free(*j);
-
- *j = strdup(*a);
- if (!*j)
- return -ENOMEM;
- }
-
- return 0;
-}
-
-char **strv_env_merge(unsigned n_lists, ...) {
- size_t n = 0;
- char **l, **k, **r;
- va_list ap;
- unsigned i;
-
- /* Merges an arbitrary number of environment sets */
-
- va_start(ap, n_lists);
- for (i = 0; i < n_lists; i++) {
- l = va_arg(ap, char**);
- n += strv_length(l);
- }
- va_end(ap);
-
- r = new(char*, n+1);
- if (!r)
- return NULL;
-
- k = r;
-
- va_start(ap, n_lists);
- for (i = 0; i < n_lists; i++) {
- l = va_arg(ap, char**);
- if (env_append(r, &k, l) < 0)
- goto fail;
- }
- va_end(ap);
-
- *k = NULL;
-
- return r;
-
-fail:
- va_end(ap);
- strv_free(r);
-
- return NULL;
-}
-
-static bool env_match(const char *t, const char *pattern) {
- assert(t);
- assert(pattern);
-
- /* pattern a matches string a
- * a matches a=
- * a matches a=b
- * a= matches a=
- * a=b matches a=b
- * a= does not match a
- * a=b does not match a=
- * a=b does not match a
- * a=b does not match a=c */
-
- if (streq(t, pattern))
- return true;
-
- if (!strchr(pattern, '=')) {
- size_t l = strlen(pattern);
-
- return strncmp(t, pattern, l) == 0 && t[l] == '=';
- }
-
- return false;
-}
-
-char **strv_env_delete(char **x, unsigned n_lists, ...) {
- size_t n, i = 0;
- char **k, **r;
- va_list ap;
-
- /* Deletes every entry from x that is mentioned in the other
- * string lists */
-
- n = strv_length(x);
-
- r = new(char*, n+1);
- if (!r)
- return NULL;
-
- STRV_FOREACH(k, x) {
- unsigned v;
-
- va_start(ap, n_lists);
- for (v = 0; v < n_lists; v++) {
- char **l, **j;
-
- l = va_arg(ap, char**);
- STRV_FOREACH(j, l)
- if (env_match(*k, *j))
- goto skip;
- }
- va_end(ap);
-
- r[i] = strdup(*k);
- if (!r[i]) {
- strv_free(r);
- return NULL;
- }
-
- i++;
- continue;
-
- skip:
- va_end(ap);
- }
-
- r[i] = NULL;
-
- assert(i <= n);
-
- return r;
-}
-
-char **strv_env_unset(char **l, const char *p) {
-
- char **f, **t;
-
- if (!l)
- return NULL;
-
- assert(p);
-
- /* Drops every occurrence of the env var setting p in the
- * string list. edits in-place. */
-
- for (f = t = l; *f; f++) {
-
- if (env_match(*f, p)) {
- free(*f);
- continue;
- }
-
- *(t++) = *f;
- }
-
- *t = NULL;
- return l;
-}
-
-char **strv_env_set(char **x, const char *p) {
-
- char **k, **r;
- char* m[2] = { (char*) p, NULL };
-
- /* Overrides the env var setting of p, returns a new copy */
-
- r = new(char*, strv_length(x)+2);
- if (!r)
- return NULL;
-
- k = r;
- if (env_append(r, &k, x) < 0)
- goto fail;
-
- if (env_append(r, &k, m) < 0)
- goto fail;
-
- *k = NULL;
-
- return r;
-
-fail:
- strv_free(r);
- return NULL;
-
-}
-
-char *strv_env_get_with_length(char **l, const char *name, size_t k) {
- char **i;
-
- assert(name);
-
- STRV_FOREACH(i, l)
- if (strncmp(*i, name, k) == 0 &&
- (*i)[k] == '=')
- return *i + k + 1;
-
- return NULL;
-}
-
-char *strv_env_get(char **l, const char *name) {
- return strv_env_get_with_length(l, name, strlen(name));
-}
-
-char **strv_env_clean(char **l) {
- char **r, **ret;
-
- for (r = ret = l; *l; l++) {
- const char *equal;
-
- equal = strchr(*l, '=');
-
- if (equal && equal[1] == 0) {
- free(*l);
- continue;
- }
-
- *(r++) = *l;
- }
-
- *r = NULL;
-
- return ret;
-}
-
char **strv_parse_nulstr(const char *s, size_t l) {
const char *p;
unsigned c = 0, i = 0;
@@ -721,6 +532,22 @@ char **strv_parse_nulstr(const char *s, size_t l) {
return v;
}
+char **strv_split_nulstr(const char *s) {
+ const char *i;
+ char **r = NULL;
+
+ NULSTR_FOREACH(i, s)
+ if (strv_extend(&r, i) < 0) {
+ strv_free(r);
+ return NULL;
+ }
+
+ if (!r)
+ return strv_new(NULL, NULL);
+
+ return r;
+}
+
bool strv_overlap(char **a, char **b) {
char **i, **j;
@@ -748,3 +575,13 @@ char **strv_sort(char **l) {
qsort(l, strv_length(l), sizeof(char*), str_compare);
return l;
}
+
+void strv_print(char **l) {
+ char **s;
+
+ if (!l)
+ return;
+
+ STRV_FOREACH(s, l)
+ puts(*s);
+}
diff --git a/src/shared/strv.h b/src/shared/strv.h
index 45558d8960..e35118752f 100644
--- a/src/shared/strv.h
+++ b/src/shared/strv.h
@@ -26,17 +26,24 @@
#include "macro.h"
-char *strv_find(char **l, const char *name);
-char *strv_find_prefix(char **l, const char *name);
+char *strv_find(char **l, const char *name) _pure_;
+char *strv_find_prefix(char **l, const char *name) _pure_;
void strv_free(char **l);
-void strv_freep(char ***l);
-char **strv_copy(char **l) _malloc_;
-unsigned strv_length(char **l);
+static inline void strv_freep(char ***l) {
+ strv_free(*l);
+}
+
+#define _cleanup_strv_free_ _cleanup_(strv_freep)
+
+char **strv_copy(char * const *l);
+unsigned strv_length(char * const *l) _pure_;
char **strv_merge(char **a, char **b);
char **strv_merge_concat(char **a, char **b, const char *suffix);
char **strv_append(char **l, const char *s);
+int strv_extend(char ***l, const char *value);
+int strv_push(char ***l, char *value);
char **strv_remove(char **l, const char *s);
char **strv_remove_prefix(char **l, const char *s);
@@ -44,36 +51,27 @@ char **strv_uniq(char **l);
#define strv_contains(l, s) (!!strv_find((l), (s)))
-char **strv_new(const char *x, ...) _sentinel_ _malloc_;
-char **strv_new_ap(const char *x, va_list ap) _malloc_;
+char **strv_new(const char *x, ...) _sentinel_;
+char **strv_new_ap(const char *x, va_list ap);
static inline const char* STRV_IFNOTNULL(const char *x) {
return x ? x : (const char *) -1;
}
-static inline bool strv_isempty(char **l) {
+static inline bool strv_isempty(char * const *l) {
return !l || !*l;
}
-char **strv_split(const char *s, const char *separator) _malloc_;
-char **strv_split_quoted(const char *s) _malloc_;
-
-char *strv_join(char **l, const char *separator) _malloc_;
-
-char **strv_env_merge(unsigned n_lists, ...);
-char **strv_env_delete(char **x, unsigned n_lists, ...);
+char **strv_split(const char *s, const char *separator);
+char **strv_split_quoted(const char *s);
+char **strv_split_newlines(const char *s);
-char **strv_env_set(char **x, const char *p);
-char **strv_env_unset(char **l, const char *p);
-
-char *strv_env_get_with_length(char **l, const char *name, size_t k);
-char *strv_env_get(char **x, const char *n);
-
-char **strv_env_clean(char **l);
+char *strv_join(char **l, const char *separator);
char **strv_parse_nulstr(const char *s, size_t l);
+char **strv_split_nulstr(const char *s);
-bool strv_overlap(char **a, char **b);
+bool strv_overlap(char **a, char **b) _pure_;
#define STRV_FOREACH(s, l) \
for ((s) = (l); (s) && *(s); (s)++)
@@ -81,4 +79,9 @@ bool strv_overlap(char **a, char **b);
#define STRV_FOREACH_BACKWARDS(s, l) \
for (; (l) && ((s) >= (l)); (s)--)
+#define STRV_FOREACH_PAIR(x, y, l) \
+ for ((x) = (l), (y) = (x+1); (x) && *(x) && *(y); (x) += 2, (y) = (x + 1))
+
+
char **strv_sort(char **l);
+void strv_print(char **l);
diff --git a/src/shared/strxcpyx.c b/src/shared/strxcpyx.c
new file mode 100644
index 0000000000..3cb04b25cd
--- /dev/null
+++ b/src/shared/strxcpyx.c
@@ -0,0 +1,104 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Kay Sievers
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+/*
+ * Concatenates/copies strings. In any case, terminates in all cases
+ * with '\0' * and moves the @dest pointer forward to the added '\0'.
+ * Returns the * remaining size, and 0 if the string was truncated.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include "strxcpyx.h"
+
+size_t strpcpy(char **dest, size_t size, const char *src)
+{
+ size_t len;
+
+ len = strlen(src);
+ if (len >= size) {
+ if (size > 1)
+ *dest = mempcpy(*dest, src, size-1);
+ size = 0;
+ } else {
+ if (len > 0) {
+ *dest = mempcpy(*dest, src, len);
+ size -= len;
+ }
+ }
+ *dest[0] = '\0';
+ return size;
+}
+
+size_t strpcpyf(char **dest, size_t size, const char *src, ...)
+{
+ va_list va;
+ int i;
+
+ va_start(va, src);
+ i = vsnprintf(*dest, size, src, va);
+ if (i < (int)size) {
+ *dest += i;
+ size -= i;
+ } else {
+ *dest += size;
+ size = 0;
+ }
+ va_end(va);
+ *dest[0] = '\0';
+ return size;
+}
+
+size_t strpcpyl(char **dest, size_t size, const char *src, ...)
+{
+ va_list va;
+
+ va_start(va, src);
+ do {
+ size = strpcpy(dest, size, src);
+ src = va_arg(va, char *);
+ } while (src != NULL);
+ va_end(va);
+ return size;
+}
+
+size_t strscpy(char *dest, size_t size, const char *src)
+{
+ char *s;
+
+ s = dest;
+ return strpcpy(&s, size, src);
+}
+
+size_t strscpyl(char *dest, size_t size, const char *src, ...) {
+ va_list va;
+ char *s;
+
+ va_start(va, src);
+ s = dest;
+ do {
+ size = strpcpy(&s, size, src);
+ src = va_arg(va, char *);
+ } while (src != NULL);
+ va_end(va);
+
+ return size;
+}
diff --git a/src/shared/strxcpyx.h b/src/shared/strxcpyx.h
new file mode 100644
index 0000000000..1229a4821d
--- /dev/null
+++ b/src/shared/strxcpyx.h
@@ -0,0 +1,31 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Kay Sievers
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdarg.h>
+#include <stdbool.h>
+
+size_t strpcpy(char **dest, size_t size, const char *src);
+size_t strpcpyf(char **dest, size_t size, const char *src, ...) __attribute__((format(printf, 3, 4)));
+size_t strpcpyl(char **dest, size_t size, const char *src, ...) __attribute__((sentinel));
+size_t strscpy(char *dest, size_t size, const char *src);
+size_t strscpyl(char *dest, size_t size, const char *src, ...) __attribute__((sentinel));
diff --git a/src/shared/time-dst.c b/src/shared/time-dst.c
index afc893cccc..3950a882bf 100644
--- a/src/shared/time-dst.c
+++ b/src/shared/time-dst.c
@@ -38,6 +38,7 @@
#include <sys/stat.h>
#include "time-dst.h"
+#include "util.h"
/*
* If tzh_version is '2' or greater, the above is followed by a second instance
@@ -84,15 +85,12 @@ static inline int64_t decode64(const void *ptr) {
int time_get_dst(time_t date, const char *tzfile,
time_t *switch_cur, char **zone_cur, bool *dst_cur,
time_t *switch_next, int *delta_next, char **zone_next, bool *dst_next) {
- time_t *transitions = NULL;
- size_t num_transitions = 0;
unsigned char *type_idxs = 0;
size_t num_types = 0;
struct ttinfo *types = NULL;
char *zone_names = NULL;
struct stat st;
size_t num_isstd, num_isgmt;
- FILE *f;
struct tzhead tzhead;
size_t chars;
size_t i;
@@ -102,22 +100,21 @@ int time_get_dst(time_t date, const char *tzfile,
size_t tzspec_len;
size_t num_leaps;
size_t lo, hi;
- int err = -EINVAL;
+ size_t num_transitions = 0;
+ _cleanup_free_ time_t *transitions = NULL;
+ _cleanup_fclose_ FILE *f;
f = fopen(tzfile, "re");
if (f == NULL)
return -errno;
- if (fstat(fileno(f), &st) < 0) {
- err = -errno;
- fclose(f);
- return err;
- }
+ if (fstat(fileno(f), &st) < 0)
+ return -errno;
read_again:
if (fread((void *)&tzhead, sizeof(tzhead), 1, f) != 1 ||
memcmp(tzhead.tzh_magic, TZ_MAGIC, sizeof(tzhead.tzh_magic)) != 0)
- goto lose;
+ return -EINVAL;
num_transitions = (size_t)decode(tzhead.tzh_timecnt);
num_types = (size_t)decode(tzhead.tzh_typecnt);
@@ -139,31 +136,31 @@ read_again:
+ chars
+ num_leaps * 8 + num_isstd + num_isgmt);
if (fseek(f, to_skip, SEEK_CUR) != 0)
- goto lose;
+ return -EINVAL;
goto read_again;
}
if (num_transitions > ((SIZE_MAX - (__alignof__(struct ttinfo) - 1)) / (sizeof(time_t) + 1)))
- goto lose;
+ return -EINVAL;
total_size = num_transitions * (sizeof(time_t) + 1);
total_size = ((total_size + __alignof__(struct ttinfo) - 1) & ~(__alignof__(struct ttinfo) - 1));
types_idx = total_size;
if (num_leaps > (SIZE_MAX - total_size) / sizeof(struct ttinfo))
- goto lose;
+ return -EINVAL;
total_size += num_types * sizeof(struct ttinfo);
if (chars > SIZE_MAX - total_size)
- goto lose;
+ return -EINVAL;
total_size += chars;
if (__alignof__(struct leap) - 1 > SIZE_MAX - total_size)
- goto lose;
+ return -EINVAL;
total_size = ((total_size + __alignof__(struct leap) - 1) & ~(__alignof__(struct leap) - 1));
if (num_leaps > (SIZE_MAX - total_size) / sizeof(struct leap))
- goto lose;
+ return -EINVAL;
total_size += num_leaps * sizeof(struct leap);
tzspec_len = 0;
@@ -171,24 +168,24 @@ read_again:
off_t rem = st.st_size - ftello(f);
if (rem < 0 || (size_t) rem < (num_transitions * (8 + 1) + num_types * 6 + chars))
- goto lose;
+ return -EINVAL;
tzspec_len = (size_t) rem - (num_transitions * (8 + 1) + num_types * 6 + chars);
if (num_leaps > SIZE_MAX / 12 || tzspec_len < num_leaps * 12)
- goto lose;
+ return -EINVAL;
tzspec_len -= num_leaps * 12;
if (tzspec_len < num_isstd)
- goto lose;
+ return -EINVAL;
tzspec_len -= num_isstd;
if (tzspec_len == 0 || tzspec_len - 1 < num_isgmt)
- goto lose;
+ return -EINVAL;
tzspec_len -= num_isgmt + 1;
if (SIZE_MAX - total_size < tzspec_len)
- goto lose;
+ return -EINVAL;
}
transitions = (time_t *)calloc(total_size + tzspec_len, 1);
if (transitions == NULL)
- goto lose;
+ return -EINVAL;
type_idxs = (unsigned char *)transitions + (num_transitions
* sizeof(time_t));
@@ -197,18 +194,18 @@ read_again:
if (sizeof(time_t) == 4 || trans_width == 8) {
if (fread(transitions, trans_width + 1, num_transitions, f) != num_transitions)
- goto lose;
+ return -EINVAL;
} else {
if (fread(transitions, 4, num_transitions, f) != num_transitions ||
fread(type_idxs, 1, num_transitions, f) != num_transitions)
- goto lose;
+ return -EINVAL;
}
/* Check for bogus indices in the data file, so we can hereafter
safely use type_idxs[T] as indices into `types' and never crash. */
for (i = 0; i < num_transitions; ++i)
if (type_idxs[i] >= num_types)
- goto lose;
+ return -EINVAL;
if ((BYTE_ORDER != BIG_ENDIAN && (sizeof(time_t) == 4 || trans_width == 4)) ||
(BYTE_ORDER == BIG_ENDIAN && sizeof(time_t) == 8 && trans_width == 4)) {
@@ -231,26 +228,26 @@ read_again:
int c;
if (fread(x, 1, sizeof(x), f) != sizeof(x))
- goto lose;
+ return -EINVAL;
c = getc(f);
if ((unsigned int)c > 1u)
- goto lose;
+ return -EINVAL;
types[i].isdst = c;
c = getc(f);
if ((size_t) c > chars)
/* Bogus index in data file. */
- goto lose;
+ return -EINVAL;
types[i].idx = c;
types[i].offset = (long int)decode(x);
}
if (fread(zone_names, 1, chars, f) != chars)
- goto lose;
+ return -EINVAL;
for (i = 0; i < num_isstd; ++i) {
int c = getc(f);
if (c == EOF)
- goto lose;
+ return -EINVAL;
types[i].isstd = c != 0;
}
@@ -260,7 +257,7 @@ read_again:
for (i = 0; i < num_isgmt; ++i) {
int c = getc(f);
if (c == EOF)
- goto lose;
+ return -EINVAL;
types[i].isgmt = c != 0;
}
@@ -268,10 +265,10 @@ read_again:
types[i++].isgmt = 0;
if (num_transitions == 0)
- goto lose;
+ return -EINVAL;
if (date < transitions[0] || date >= transitions[num_transitions - 1])
- goto lose;
+ return -EINVAL;
/* Find the first transition after TIMER, and
then pick the type of the transition before it. */
@@ -331,11 +328,5 @@ found:
if (dst_next)
*dst_next = types[type_idxs[i]].isdst;
- free(transitions);
- fclose(f);
return 0;
-lose:
- free(transitions);
- fclose(f);
- return err;
}
diff --git a/src/shared/time-util.c b/src/shared/time-util.c
index 4fd8f08984..9ee711a49e 100644
--- a/src/shared/time-util.c
+++ b/src/shared/time-util.c
@@ -225,11 +225,13 @@ char *format_timestamp_relative(char *buf, size_t l, usec_t t) {
return buf;
}
-char *format_timespan(char *buf, size_t l, usec_t t) {
+char *format_timespan(char *buf, size_t l, usec_t t, usec_t accuracy) {
static const struct {
const char *suffix;
usec_t usec;
} table[] = {
+ { "y", USEC_PER_YEAR },
+ { "month", USEC_PER_MONTH },
{ "w", USEC_PER_WEEK },
{ "d", USEC_PER_DAY },
{ "h", USEC_PER_HOUR },
@@ -241,6 +243,7 @@ char *format_timespan(char *buf, size_t l, usec_t t) {
unsigned i;
char *p = buf;
+ bool something = false;
assert(buf);
assert(l > 0);
@@ -248,17 +251,25 @@ char *format_timespan(char *buf, size_t l, usec_t t) {
if (t == (usec_t) -1)
return NULL;
- if (t == 0) {
+ if (t <= 0) {
snprintf(p, l, "0");
p[l-1] = 0;
return p;
}
- /* The result of this function can be parsed with parse_usec */
+ /* The result of this function can be parsed with parse_sec */
for (i = 0; i < ELEMENTSOF(table); i++) {
int k;
size_t n;
+ bool done = false;
+ usec_t a, b;
+
+ if (t <= 0)
+ break;
+
+ if (t < accuracy && something)
+ break;
if (t < table[i].usec)
continue;
@@ -266,13 +277,54 @@ char *format_timespan(char *buf, size_t l, usec_t t) {
if (l <= 1)
break;
- k = snprintf(p, l, "%s%llu%s", p > buf ? " " : "", (unsigned long long) (t / table[i].usec), table[i].suffix);
+ a = t / table[i].usec;
+ b = t % table[i].usec;
+
+ /* Let's see if we should shows this in dot notation */
+ if (t < USEC_PER_MINUTE && b > 0) {
+ usec_t cc;
+ int j;
+
+ j = 0;
+ for (cc = table[i].usec; cc > 1; cc /= 10)
+ j++;
+
+ for (cc = accuracy; cc > 1; cc /= 10) {
+ b /= 10;
+ j--;
+ }
+
+ if (j > 0) {
+ k = snprintf(p, l,
+ "%s%llu.%0*llu%s",
+ p > buf ? " " : "",
+ (unsigned long long) a,
+ j,
+ (unsigned long long) b,
+ table[i].suffix);
+
+ t = 0;
+ done = true;
+ }
+ }
+
+ /* No? Then let's show it normally */
+ if (!done) {
+ k = snprintf(p, l,
+ "%s%llu%s",
+ p > buf ? " " : "",
+ (unsigned long long) a,
+ table[i].suffix);
+
+ t = b;
+ }
+
n = MIN((size_t) k, l);
l -= n;
p += n;
- t %= table[i].usec;
+ something = true;
}
*p = 0;
@@ -380,14 +432,14 @@ int parse_timestamp(const char *t, usec_t *usec) {
} else if (t[0] == '+') {
- r = parse_usec(t+1, &plus);
+ r = parse_sec(t+1, &plus);
if (r < 0)
return r;
goto finish;
} else if (t[0] == '-') {
- r = parse_usec(t+1, &minus);
+ r = parse_sec(t+1, &minus);
if (r < 0)
return r;
@@ -400,7 +452,7 @@ int parse_timestamp(const char *t, usec_t *usec) {
if (!z)
return -ENOMEM;
- r = parse_usec(z, &minus);
+ r = parse_sec(z, &minus);
if (r < 0)
return r;
@@ -495,7 +547,7 @@ finish:
return 0;
}
-int parse_usec(const char *t, usec_t *usec) {
+int parse_sec(const char *t, usec_t *usec) {
static const struct {
const char *suffix;
usec_t usec;
@@ -532,41 +584,74 @@ int parse_usec(const char *t, usec_t *usec) {
const char *p;
usec_t r = 0;
+ bool something = false;
assert(t);
assert(usec);
p = t;
- do {
- long long l;
+ for (;;) {
+ long long l, z = 0;
char *e;
- unsigned i;
+ unsigned i, n = 0;
+
+ p += strspn(p, WHITESPACE);
+
+ if (*p == 0) {
+ if (!something)
+ return -EINVAL;
+
+ break;
+ }
errno = 0;
l = strtoll(p, &e, 10);
- if (errno != 0)
+ if (errno > 0)
return -errno;
if (l < 0)
return -ERANGE;
- if (e == p)
+ if (*e == '.') {
+ char *b = e + 1;
+
+ errno = 0;
+ z = strtoll(b, &e, 10);
+ if (errno > 0)
+ return -errno;
+
+ if (z < 0)
+ return -ERANGE;
+
+ if (e == b)
+ return -EINVAL;
+
+ n = e - b;
+
+ } else if (e == p)
return -EINVAL;
e += strspn(e, WHITESPACE);
for (i = 0; i < ELEMENTSOF(table); i++)
if (startswith(e, table[i].suffix)) {
- r += (usec_t) l * table[i].usec;
+ usec_t k = (usec_t) z * table[i].usec;
+
+ for (; n > 0; n--)
+ k /= 10;
+
+ r += (usec_t) l * table[i].usec + k;
p = e + strlen(table[i].suffix);
+
+ something = true;
break;
}
if (i >= ELEMENTSOF(table))
return -EINVAL;
- } while (*p != 0);
+ }
*usec = r;
@@ -612,41 +697,74 @@ int parse_nsec(const char *t, nsec_t *nsec) {
const char *p;
nsec_t r = 0;
+ bool something = false;
assert(t);
assert(nsec);
p = t;
- do {
- long long l;
+ for (;;) {
+ long long l, z = 0;
char *e;
- unsigned i;
+ unsigned i, n = 0;
+
+ p += strspn(p, WHITESPACE);
+
+ if (*p == 0) {
+ if (!something)
+ return -EINVAL;
+
+ break;
+ }
errno = 0;
l = strtoll(p, &e, 10);
- if (errno != 0)
+ if (errno > 0)
return -errno;
if (l < 0)
return -ERANGE;
- if (e == p)
+ if (*e == '.') {
+ char *b = e + 1;
+
+ errno = 0;
+ z = strtoll(b, &e, 10);
+ if (errno > 0)
+ return -errno;
+
+ if (z < 0)
+ return -ERANGE;
+
+ if (e == b)
+ return -EINVAL;
+
+ n = e - b;
+
+ } else if (e == p)
return -EINVAL;
e += strspn(e, WHITESPACE);
for (i = 0; i < ELEMENTSOF(table); i++)
if (startswith(e, table[i].suffix)) {
- r += (nsec_t) l * table[i].nsec;
+ nsec_t k = (nsec_t) z * table[i].nsec;
+
+ for (; n > 0; n--)
+ k /= 10;
+
+ r += (nsec_t) l * table[i].nsec + k;
p = e + strlen(table[i].suffix);
+
+ something = true;
break;
}
if (i >= ELEMENTSOF(table))
return -EINVAL;
- } while (*p != 0);
+ }
*nsec = r;
diff --git a/src/shared/time-util.h b/src/shared/time-util.h
index ec263c1a19..f27a006891 100644
--- a/src/shared/time-util.h
+++ b/src/shared/time-util.h
@@ -22,6 +22,7 @@
***/
#include <stdio.h>
+#include <inttypes.h>
typedef uint64_t usec_t;
typedef uint64_t nsec_t;
@@ -65,20 +66,20 @@ dual_timestamp* dual_timestamp_from_monotonic(dual_timestamp *ts, usec_t u);
#define dual_timestamp_is_set(ts) ((ts)->realtime > 0)
-usec_t timespec_load(const struct timespec *ts);
+usec_t timespec_load(const struct timespec *ts) _pure_;
struct timespec *timespec_store(struct timespec *ts, usec_t u);
-usec_t timeval_load(const struct timeval *tv);
+usec_t timeval_load(const struct timeval *tv) _pure_;
struct timeval *timeval_store(struct timeval *tv, usec_t u);
char *format_timestamp(char *buf, size_t l, usec_t t);
char *format_timestamp_relative(char *buf, size_t l, usec_t t);
-char *format_timespan(char *buf, size_t l, usec_t t);
+char *format_timespan(char *buf, size_t l, usec_t t, usec_t accuracy);
void dual_timestamp_serialize(FILE *f, const char *name, dual_timestamp *t);
void dual_timestamp_deserialize(const char *value, dual_timestamp *t);
int parse_timestamp(const char *t, usec_t *usec);
-int parse_usec(const char *t, usec_t *usec);
+int parse_sec(const char *t, usec_t *usec);
int parse_nsec(const char *t, nsec_t *nsec);
diff --git a/src/shared/unit-name.c b/src/shared/unit-name.c
index 88ca0b8f2c..a809713595 100644
--- a/src/shared/unit-name.c
+++ b/src/shared/unit-name.c
@@ -33,7 +33,7 @@
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
":-_.\\"
-const char* const unit_type_table[_UNIT_TYPE_MAX] = {
+static const char* const unit_type_table[_UNIT_TYPE_MAX] = {
[UNIT_SERVICE] = "service",
[UNIT_SOCKET] = "socket",
[UNIT_TARGET] = "target",
@@ -48,7 +48,7 @@ const char* const unit_type_table[_UNIT_TYPE_MAX] = {
DEFINE_STRING_TABLE_LOOKUP(unit_type, UnitType);
-const char* const unit_load_state_table[_UNIT_LOAD_STATE_MAX] = {
+static const char* const unit_load_state_table[_UNIT_LOAD_STATE_MAX] = {
[UNIT_STUB] = "stub",
[UNIT_LOADED] = "loaded",
[UNIT_ERROR] = "error",
@@ -506,6 +506,36 @@ char *unit_name_mangle(const char *name) {
return r;
}
+char *snapshot_name_mangle(const char *name) {
+ char *r, *t;
+ const char *f;
+
+ assert(name);
+
+ /* Similar to unit_name_mangle(), but is called when we know
+ * that this is about snapshot units. */
+
+ r = new(char, strlen(name) * 4 + 1 + sizeof(".snapshot")-1);
+ if (!r)
+ return NULL;
+
+ for (f = name, t = r; *f; f++) {
+ if (*f == '/')
+ *(t++) = '-';
+ else if (!strchr(VALID_CHARS, *f))
+ t = do_escape_char(*f, t);
+ else
+ *(t++) = *f;
+ }
+
+ if (!endswith(name, ".snapshot"))
+ strcpy(t, ".snapshot");
+ else
+ *t = 0;
+
+ return r;
+}
+
UnitType unit_name_to_type(const char *n) {
const char *e;
diff --git a/src/shared/unit-name.h b/src/shared/unit-name.h
index d7528a3ac7..9eca8eb3c1 100644
--- a/src/shared/unit-name.h
+++ b/src/shared/unit-name.h
@@ -23,6 +23,8 @@
#include <stdbool.h>
+#include "macro.h"
+
#define UNIT_NAME_MAX 256
typedef enum UnitType UnitType;
@@ -53,23 +55,21 @@ enum UnitLoadState {
_UNIT_LOAD_STATE_INVALID = -1
};
-extern const char* const unit_type_table[];
-const char *unit_type_to_string(UnitType i);
-UnitType unit_type_from_string(const char *s);
+const char *unit_type_to_string(UnitType i) _const_;
+UnitType unit_type_from_string(const char *s) _pure_;
-extern const char* const unit_load_state_table[];
-const char *unit_load_state_to_string(UnitLoadState i);
-UnitLoadState unit_load_state_from_string(const char *s);
+const char *unit_load_state_to_string(UnitLoadState i) _const_;
+UnitLoadState unit_load_state_from_string(const char *s) _pure_;
int unit_name_to_instance(const char *n, char **instance);
char* unit_name_to_prefix(const char *n);
char* unit_name_to_prefix_and_instance(const char *n);
-bool unit_name_is_valid(const char *n, bool template_ok);
-bool unit_prefix_is_valid(const char *p);
-bool unit_instance_is_valid(const char *i);
+bool unit_name_is_valid(const char *n, bool template_ok) _pure_;
+bool unit_prefix_is_valid(const char *p) _pure_;
+bool unit_instance_is_valid(const char *i) _pure_;
-UnitType unit_name_to_type(const char *n);
+UnitType unit_name_to_type(const char *n) _pure_;
char *unit_name_change_suffix(const char *n, const char *suffix);
@@ -80,8 +80,8 @@ char *unit_name_unescape(const char *f);
char *unit_name_path_escape(const char *f);
char *unit_name_path_unescape(const char *f);
-bool unit_name_is_template(const char *n);
-bool unit_name_is_instance(const char *n);
+bool unit_name_is_template(const char *n) _pure_;
+bool unit_name_is_instance(const char *n) _pure_;
char *unit_name_replace_instance(const char *f, const char *i);
@@ -94,3 +94,4 @@ char *unit_name_to_path(const char *name);
char *unit_dbus_path_from_name(const char *name);
char *unit_name_mangle(const char *name);
+char *snapshot_name_mangle(const char *name);
diff --git a/src/shared/utf8.c b/src/shared/utf8.c
index 62e2803919..3964e8b1ce 100644
--- a/src/shared/utf8.c
+++ b/src/shared/utf8.c
@@ -49,6 +49,7 @@
#include <stdbool.h>
#include "utf8.h"
+#include "util.h"
#define FILTER_CHAR '_'
@@ -283,3 +284,39 @@ char *ascii_filter(const char *str) {
return r;
}
+
+char *utf16_to_utf8(const void *s, size_t length) {
+ char *r;
+ const uint8_t *f;
+ uint8_t *t;
+
+ r = new(char, (length*3+1)/2 + 1);
+ if (!r)
+ return NULL;
+
+ t = (uint8_t*) r;
+
+ for (f = s; f < (const uint8_t*) s + length; f += 2) {
+ uint16_t c;
+
+ c = (f[1] << 8) | f[0];
+
+ if (c == 0) {
+ *t = 0;
+ return r;
+ } else if (c < 0x80) {
+ *(t++) = (uint8_t) c;
+ } else if (c < 0x800) {
+ *(t++) = (uint8_t) (0xc0 | (c >> 6));
+ *(t++) = (uint8_t) (0x80 | (c & 0x3f));
+ } else {
+ *(t++) = (uint8_t) (0xe0 | (c >> 12));
+ *(t++) = (uint8_t) (0x80 | ((c >> 6) & 0x3f));
+ *(t++) = (uint8_t) (0x80 | (c & 0x3f));
+ }
+ }
+
+ *t = 0;
+
+ return r;
+}
diff --git a/src/shared/utf8.h b/src/shared/utf8.h
index 13d2f6a980..794ae15ab9 100644
--- a/src/shared/utf8.h
+++ b/src/shared/utf8.h
@@ -30,3 +30,5 @@ char *utf8_is_printable_n(const char* str, size_t length) _pure_;
char *utf8_filter(const char *s);
char *ascii_filter(const char *s);
+
+char *utf16_to_utf8(const void *s, size_t length);
diff --git a/src/shared/util.c b/src/shared/util.c
index 49b58444c7..673e0da6b6 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -59,6 +59,7 @@
#include <limits.h>
#include <langinfo.h>
#include <locale.h>
+#include <libgen.h>
#include "macro.h"
#include "util.h"
@@ -70,6 +71,8 @@
#include "path-util.h"
#include "exit-status.h"
#include "hashmap.h"
+#include "env-util.h"
+#include "fileio.h"
int saved_argc = 0;
char **saved_argv = NULL;
@@ -77,10 +80,6 @@ char **saved_argv = NULL;
static volatile unsigned cached_columns = 0;
static volatile unsigned cached_lines = 0;
-bool is_efiboot(void) {
- return access("/sys/firmware/efi", F_OK) >= 0;
-}
-
size_t page_size(void) {
static __thread size_t pgsz = 0;
long r;
@@ -186,44 +185,62 @@ bool first_word(const char *s, const char *word) {
}
int close_nointr(int fd) {
- assert(fd >= 0);
-
- for (;;) {
- int r;
+ int r;
- r = close(fd);
- if (r >= 0)
- return r;
+ assert(fd >= 0);
+ r = close(fd);
- if (errno != EINTR)
- return -errno;
- }
+ /* Just ignore EINTR; a retry loop is the wrong
+ * thing to do on Linux.
+ *
+ * http://lkml.indiana.edu/hypermail/linux/kernel/0509.1/0877.html
+ * https://bugzilla.gnome.org/show_bug.cgi?id=682819
+ * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
+ * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
+ */
+ if (_unlikely_(r < 0 && errno == EINTR))
+ return 0;
+ else if (r >= 0)
+ return r;
+ else
+ return -errno;
}
void close_nointr_nofail(int fd) {
- int saved_errno = errno;
+ PROTECT_ERRNO;
/* like close_nointr() but cannot fail, and guarantees errno
* is unchanged */
assert_se(close_nointr(fd) == 0);
-
- errno = saved_errno;
}
void close_many(const int fds[], unsigned n_fd) {
unsigned i;
+ assert(fds || n_fd <= 0);
+
for (i = 0; i < n_fd; i++)
close_nointr_nofail(fds[i]);
}
+int unlink_noerrno(const char *path) {
+ PROTECT_ERRNO;
+ int r;
+
+ r = unlink(path);
+ if (r < 0)
+ return -errno;
+
+ return 0;
+}
+
int parse_boolean(const char *v) {
assert(v);
- if (streq(v, "1") || v[0] == 'y' || v[0] == 'Y' || v[0] == 't' || v[0] == 'T' || !strcasecmp(v, "on"))
+ if (streq(v, "1") || v[0] == 'y' || v[0] == 'Y' || v[0] == 't' || v[0] == 'T' || strcaseeq(v, "on"))
return 1;
- else if (streq(v, "0") || v[0] == 'n' || v[0] == 'N' || v[0] == 'f' || v[0] == 'F' || !strcasecmp(v, "off"))
+ else if (streq(v, "0") || v[0] == 'n' || v[0] == 'N' || v[0] == 'f' || v[0] == 'F' || strcaseeq(v, "off"))
return 0;
return -EINVAL;
@@ -285,7 +302,7 @@ int safe_atou(const char *s, unsigned *ret_u) {
l = strtoul(s, &x, 0);
if (!x || x == s || *x || errno)
- return errno ? -errno : -EINVAL;
+ return errno > 0 ? -errno : -EINVAL;
if ((unsigned long) (unsigned) l != l)
return -ERANGE;
@@ -305,7 +322,7 @@ int safe_atoi(const char *s, int *ret_i) {
l = strtol(s, &x, 0);
if (!x || x == s || *x || errno)
- return errno ? -errno : -EINVAL;
+ return errno > 0 ? -errno : -EINVAL;
if ((long) (int) l != l)
return -ERANGE;
@@ -348,6 +365,25 @@ int safe_atolli(const char *s, long long int *ret_lli) {
return 0;
}
+int safe_atod(const char *s, double *ret_d) {
+ char *x = NULL;
+ double d;
+
+ assert(s);
+ assert(ret_d);
+
+ RUN_WITH_LOCALE(LC_NUMERIC_MASK, "C") {
+ errno = 0;
+ d = strtod(s, &x);
+ }
+
+ if (!x || x == s || *x || errno)
+ return errno ? -errno : -EINVAL;
+
+ *ret_d = (double) d;
+ return 0;
+}
+
/* Split a string into words. */
char *split(const char *c, size_t *l, const char *separator, char **state) {
char *current;
@@ -424,22 +460,25 @@ char *split_quoted(const char *c, size_t *l, char **state) {
int get_parent_of_pid(pid_t pid, pid_t *_ppid) {
int r;
_cleanup_fclose_ FILE *f = NULL;
- char fn[PATH_MAX], line[LINE_MAX], *p;
+ char line[LINE_MAX];
long unsigned ppid;
+ const char *p;
- assert(pid > 0);
+ assert(pid >= 0);
assert(_ppid);
- assert_se(snprintf(fn, sizeof(fn)-1, "/proc/%lu/stat", (unsigned long) pid) < (int) (sizeof(fn)-1));
- char_array_0(fn);
+ if (pid == 0) {
+ *_ppid = getppid();
+ return 0;
+ }
- f = fopen(fn, "re");
+ p = procfs_file_alloca(pid, "stat");
+ f = fopen(p, "re");
if (!f)
return -errno;
if (!fgets(line, sizeof(line), f)) {
r = feof(f) ? -EIO : -errno;
- fclose(f);
return r;
}
@@ -469,15 +508,18 @@ int get_parent_of_pid(pid_t pid, pid_t *_ppid) {
int get_starttime_of_pid(pid_t pid, unsigned long long *st) {
_cleanup_fclose_ FILE *f = NULL;
- char fn[PATH_MAX], line[LINE_MAX], *p;
+ char line[LINE_MAX];
+ const char *p;
- assert(pid > 0);
+ assert(pid >= 0);
assert(st);
- assert_se(snprintf(fn, sizeof(fn)-1, "/proc/%lu/stat", (unsigned long) pid) < (int) (sizeof(fn)-1));
- char_array_0(fn);
+ if (pid == 0)
+ p = "/proc/self/stat";
+ else
+ p = procfs_file_alloca(pid, "stat");
- f = fopen(fn, "re");
+ f = fopen(p, "re");
if (!f)
return -errno;
@@ -525,31 +567,6 @@ int get_starttime_of_pid(pid_t pid, unsigned long long *st) {
return 0;
}
-int write_one_line_file(const char *fn, const char *line) {
- _cleanup_fclose_ FILE *f = NULL;
-
- assert(fn);
- assert(line);
-
- f = fopen(fn, "we");
- if (!f)
- return -errno;
-
- errno = 0;
- if (fputs(line, f) < 0)
- return errno ? -errno : -EIO;
-
- if (!endswith(line, "\n"))
- fputc('\n', f);
-
- fflush(f);
-
- if (ferror(f))
- return errno ? -errno : -EIO;
-
- return 0;
-}
-
int fchmod_umask(int fd, mode_t m) {
mode_t u;
int r;
@@ -561,413 +578,102 @@ int fchmod_umask(int fd, mode_t m) {
return r;
}
-int write_one_line_file_atomic(const char *fn, const char *line) {
- FILE *f;
- int r;
- char *p;
-
- assert(fn);
- assert(line);
-
- r = fopen_temporary(fn, &f, &p);
- if (r < 0)
- return r;
-
- fchmod_umask(fileno(f), 0644);
-
- errno = 0;
- if (fputs(line, f) < 0) {
- r = -errno;
- goto finish;
- }
-
- if (!endswith(line, "\n"))
- fputc('\n', f);
+char *truncate_nl(char *s) {
+ assert(s);
- fflush(f);
+ s[strcspn(s, NEWLINE)] = 0;
+ return s;
+}
- if (ferror(f)) {
- if (errno != 0)
- r = -errno;
- else
- r = -EIO;
- } else {
- if (rename(p, fn) < 0)
- r = -errno;
- else
- r = 0;
- }
+int get_process_comm(pid_t pid, char **name) {
+ const char *p;
-finish:
- if (r < 0)
- unlink(p);
+ assert(name);
+ assert(pid >= 0);
- fclose(f);
- free(p);
+ if (pid == 0)
+ p = "/proc/self/comm";
+ else
+ p = procfs_file_alloca(pid, "comm");
- return r;
+ return read_one_line_file(p, name);
}
-int read_one_line_file(const char *fn, char **line) {
+int get_process_cmdline(pid_t pid, size_t max_length, bool comm_fallback, char **line) {
_cleanup_fclose_ FILE *f = NULL;
- char t[LINE_MAX], *c;
+ char *r = NULL, *k;
+ const char *p;
+ int c;
- assert(fn);
assert(line);
+ assert(pid >= 0);
- f = fopen(fn, "re");
- if (!f)
- return -errno;
-
- if (!fgets(t, sizeof(t), f)) {
-
- if (ferror(f))
- return errno ? -errno : -EIO;
-
- t[0] = 0;
- }
-
- c = strdup(t);
- if (!c)
- return -ENOMEM;
- truncate_nl(c);
-
- *line = c;
- return 0;
-}
-
-int read_full_file(const char *fn, char **contents, size_t *size) {
- _cleanup_fclose_ FILE *f = NULL;
- size_t n, l;
- _cleanup_free_ char *buf = NULL;
- struct stat st;
+ if (pid == 0)
+ p = "/proc/self/cmdline";
+ else
+ p = procfs_file_alloca(pid, "cmdline");
- f = fopen(fn, "re");
+ f = fopen(p, "re");
if (!f)
return -errno;
- if (fstat(fileno(f), &st) < 0)
- return -errno;
-
- /* Safety check */
- if (st.st_size > 4*1024*1024)
- return -E2BIG;
-
- n = st.st_size > 0 ? st.st_size : LINE_MAX;
- l = 0;
-
- for (;;) {
- char *t;
- size_t k;
-
- t = realloc(buf, n+1);
- if (!t)
- return -ENOMEM;
-
- buf = t;
- k = fread(buf + l, 1, n - l, f);
-
- if (k <= 0) {
- if (ferror(f))
- return -errno;
-
- break;
- }
-
- l += k;
- n *= 2;
-
- /* Safety check */
- if (n > 4*1024*1024)
- return -E2BIG;
- }
-
- buf[l] = 0;
- *contents = buf;
- buf = NULL;
-
- if (size)
- *size = l;
-
- return 0;
-}
-
-int parse_env_file(
- const char *fname,
- const char *separator, ...) {
-
- int r = 0;
- char *contents = NULL, *p;
-
- assert(fname);
- assert(separator);
-
- if ((r = read_full_file(fname, &contents, NULL)) < 0)
- return r;
-
- p = contents;
- for (;;) {
- const char *key = NULL;
-
- p += strspn(p, separator);
- p += strspn(p, WHITESPACE);
-
- if (!*p)
- break;
-
- if (!strchr(COMMENTS, *p)) {
- va_list ap;
- char **value;
-
- va_start(ap, separator);
- while ((key = va_arg(ap, char *))) {
- size_t n;
- char *v;
-
- value = va_arg(ap, char **);
-
- n = strlen(key);
- if (strncmp(p, key, n) != 0 ||
- p[n] != '=')
- continue;
-
- p += n + 1;
- n = strcspn(p, separator);
-
- if (n >= 2 &&
- strchr(QUOTES, p[0]) &&
- p[n-1] == p[0])
- v = strndup(p+1, n-2);
- else
- v = strndup(p, n);
-
- if (!v) {
- r = -ENOMEM;
- va_end(ap);
- goto fail;
- }
-
- if (v[0] == '\0') {
- /* return empty value strings as NULL */
- free(v);
- v = NULL;
- }
-
- free(*value);
- *value = v;
+ if (max_length == 0) {
+ size_t len = 0, allocated = 0;
- p += n;
+ while ((c = getc(f)) != EOF) {
- r ++;
- break;
+ if (!GREEDY_REALLOC(r, allocated, len+2)) {
+ free(r);
+ return -ENOMEM;
}
- va_end(ap);
- }
-
- if (!key)
- p += strcspn(p, separator);
- }
-
-fail:
- free(contents);
- return r;
-}
-
-int load_env_file(
- const char *fname,
- char ***rl) {
-
- FILE *f;
- char **m = NULL;
- int r;
-
- assert(fname);
- assert(rl);
-
- if (!(f = fopen(fname, "re")))
- return -errno;
-
- while (!feof(f)) {
- char l[LINE_MAX], *p, *u;
- char **t;
-
- if (!fgets(l, sizeof(l), f)) {
- if (feof(f))
- break;
-
- r = -errno;
- goto finish;
- }
-
- p = strstrip(l);
-
- if (!*p)
- continue;
-
- if (strchr(COMMENTS, *p))
- continue;
-
- if (!(u = normalize_env_assignment(p))) {
- r = log_oom();
- goto finish;
- }
-
- t = strv_append(m, u);
- free(u);
- if (!t) {
- r = log_oom();
- goto finish;
+ r[len++] = isprint(c) ? c : ' ';
}
- strv_free(m);
- m = t;
- }
-
- r = 0;
-
- *rl = m;
- m = NULL;
-
-finish:
- if (f)
- fclose(f);
-
- strv_free(m);
-
- return r;
-}
-
-int write_env_file(const char *fname, char **l) {
- char **i, *p;
- FILE *f;
- int r;
-
- r = fopen_temporary(fname, &f, &p);
- if (r < 0)
- return r;
-
- fchmod_umask(fileno(f), 0644);
-
- errno = 0;
- STRV_FOREACH(i, l) {
- fputs(*i, f);
- fputc('\n', f);
- }
-
- fflush(f);
+ if (len > 0)
+ r[len-1] = 0;
- if (ferror(f)) {
- if (errno != 0)
- r = -errno;
- else
- r = -EIO;
} else {
- if (rename(p, fname) < 0)
- r = -errno;
- else
- r = 0;
- }
-
- if (r < 0)
- unlink(p);
-
- fclose(f);
- free(p);
-
- return r;
-}
-
-char *truncate_nl(char *s) {
- assert(s);
-
- s[strcspn(s, NEWLINE)] = 0;
- return s;
-}
-
-int get_process_comm(pid_t pid, char **name) {
- int r;
+ bool space = false;
+ size_t left;
- assert(name);
-
- if (pid == 0)
- r = read_one_line_file("/proc/self/comm", name);
- else {
- char *p;
- if (asprintf(&p, "/proc/%lu/comm", (unsigned long) pid) < 0)
- return -ENOMEM;
-
- r = read_one_line_file(p, name);
- free(p);
- }
-
- return r;
-}
-
-int get_process_cmdline(pid_t pid, size_t max_length, bool comm_fallback, char **line) {
- char *r, *k;
- int c;
- bool space = false;
- size_t left;
- FILE *f;
-
- assert(max_length > 0);
- assert(line);
-
- if (pid == 0)
- f = fopen("/proc/self/cmdline", "re");
- else {
- char *p;
- if (asprintf(&p, "/proc/%lu/cmdline", (unsigned long) pid) < 0)
+ r = new(char, max_length);
+ if (!r)
return -ENOMEM;
- f = fopen(p, "re");
- free(p);
- }
-
- if (!f)
- return -errno;
+ k = r;
+ left = max_length;
+ while ((c = getc(f)) != EOF) {
- r = new(char, max_length);
- if (!r) {
- fclose(f);
- return -ENOMEM;
- }
+ if (isprint(c)) {
+ if (space) {
+ if (left <= 4)
+ break;
- k = r;
- left = max_length;
- while ((c = getc(f)) != EOF) {
+ *(k++) = ' ';
+ left--;
+ space = false;
+ }
- if (isprint(c)) {
- if (space) {
if (left <= 4)
break;
- *(k++) = ' ';
+ *(k++) = (char) c;
left--;
- space = false;
- }
-
- if (left <= 4)
- break;
+ } else
+ space = true;
+ }
- *(k++) = (char) c;
- left--;
- } else
- space = true;
+ if (left <= 4) {
+ size_t n = MIN(left-1, 3U);
+ memcpy(k, "...", n);
+ k[n] = 0;
+ } else
+ *k = 0;
}
- if (left <= 4) {
- size_t n = MIN(left-1, 3U);
- memcpy(k, "...", n);
- k[n] = 0;
- } else
- *k = 0;
-
- fclose(f);
-
/* Kernel threads have no argv[] */
- if (r[0] == 0) {
+ if (r == NULL || r[0] == 0) {
char *t;
int h;
@@ -992,7 +698,7 @@ int get_process_cmdline(pid_t pid, size_t max_length, bool comm_fallback, char *
}
int is_kernel_thread(pid_t pid) {
- char *p;
+ const char *p;
size_t count;
char c;
bool eof;
@@ -1001,12 +707,10 @@ int is_kernel_thread(pid_t pid) {
if (pid == 0)
return 0;
- if (asprintf(&p, "/proc/%lu/cmdline", (unsigned long) pid) < 0)
- return -ENOMEM;
+ assert(pid > 0);
+ p = procfs_file_alloca(pid, "cmdline");
f = fopen(p, "re");
- free(p);
-
if (!f)
return -errno;
@@ -1022,54 +726,39 @@ int is_kernel_thread(pid_t pid) {
return 0;
}
+
int get_process_exe(pid_t pid, char **name) {
- int r;
+ const char *p;
+ assert(pid >= 0);
assert(name);
if (pid == 0)
- r = readlink_malloc("/proc/self/exe", name);
- else {
- char *p;
- if (asprintf(&p, "/proc/%lu/exe", (unsigned long) pid) < 0)
- return -ENOMEM;
-
- r = readlink_malloc(p, name);
- free(p);
- }
+ p = "/proc/self/exe";
+ else
+ p = procfs_file_alloca(pid, "exe");
- return r;
+ return readlink_malloc(p, name);
}
static int get_process_id(pid_t pid, const char *field, uid_t *uid) {
- char *p;
- FILE *f;
- int r;
+ _cleanup_fclose_ FILE *f = NULL;
+ char line[LINE_MAX];
+ const char *p;
+ assert(field);
assert(uid);
if (pid == 0)
return getuid();
- if (asprintf(&p, "/proc/%lu/status", (unsigned long) pid) < 0)
- return -ENOMEM;
-
+ p = procfs_file_alloca(pid, "status");
f = fopen(p, "re");
- free(p);
-
if (!f)
return -errno;
- while (!feof(f)) {
- char line[LINE_MAX], *l;
-
- if (!fgets(line, sizeof(line), f)) {
- if (feof(f))
- break;
-
- r = -errno;
- goto finish;
- }
+ FOREACH_LINE(line, f, return -errno) {
+ char *l;
l = strstrip(line);
@@ -1079,17 +768,11 @@ static int get_process_id(pid_t pid, const char *field, uid_t *uid) {
l[strcspn(l, WHITESPACE)] = 0;
- r = parse_uid(l, uid);
- goto finish;
+ return parse_uid(l, uid);
}
}
- r = -EIO;
-
-finish:
- fclose(f);
-
- return r;
+ return -EIO;
}
int get_process_uid(pid_t pid, uid_t *uid) {
@@ -1097,6 +780,7 @@ int get_process_uid(pid_t pid, uid_t *uid) {
}
int get_process_gid(pid_t pid, gid_t *gid) {
+ assert_cc(sizeof(uid_t) == sizeof(gid_t));
return get_process_id(pid, "Gid:", gid);
}
@@ -1212,15 +896,14 @@ int reset_all_signal_handlers(void) {
int sig;
for (sig = 1; sig < _NSIG; sig++) {
- struct sigaction sa;
+ struct sigaction sa = {
+ .sa_handler = SIG_DFL,
+ .sa_flags = SA_RESTART,
+ };
if (sig == SIGKILL || sig == SIGSTOP)
continue;
- zero(sa);
- sa.sa_handler = SIG_DFL;
- sa.sa_flags = SA_RESTART;
-
/* On Linux the first two RT signals are reserved by
* glibc, and sigaction() will return EINVAL for them. */
if ((sigaction(sig, &sa, NULL) < 0))
@@ -1351,7 +1034,6 @@ int rmdir_parents(const char *path, const char *stop) {
return 0;
}
-
char hexchar(int x) {
static const char table[16] = "0123456789abcdef";
@@ -1372,6 +1054,49 @@ int unhexchar(char c) {
return -1;
}
+char *hexmem(const void *p, size_t l) {
+ char *r, *z;
+ const uint8_t *x;
+
+ z = r = malloc(l * 2 + 1);
+ if (!r)
+ return NULL;
+
+ for (x = p; x < (const uint8_t*) p + l; x++) {
+ *(z++) = hexchar(*x >> 4);
+ *(z++) = hexchar(*x & 15);
+ }
+
+ *z = 0;
+ return r;
+}
+
+void *unhexmem(const char *p, size_t l) {
+ uint8_t *r, *z;
+ const char *x;
+
+ assert(p);
+
+ z = r = malloc((l + 1) / 2 + 1);
+ if (!r)
+ return NULL;
+
+ for (x = p; x < p + l; x += 2) {
+ int a, b;
+
+ a = unhexchar(x[0]);
+ if (x+1 < p + l)
+ b = unhexchar(x[1]);
+ else
+ b = 0;
+
+ *(z++) = (uint8_t) a << 4 | (uint8_t) b;
+ }
+
+ *z = 0;
+ return r;
+}
+
char octchar(int x) {
return '0' + (x & 7);
}
@@ -1647,16 +1372,24 @@ char *bus_path_escape(const char *s) {
assert(s);
/* Escapes all chars that D-Bus' object path cannot deal
- * with. Can be reverse with bus_path_unescape() */
+ * with. Can be reverse with bus_path_unescape(). We special
+ * case the empty string. */
- if (!(r = new(char, strlen(s)*3+1)))
+ if (*s == 0)
+ return strdup("_");
+
+ r = new(char, strlen(s)*3 + 1);
+ if (!r)
return NULL;
for (f = s, t = r; *f; f++) {
+ /* Escape everything that is not a-zA-Z0-9. We also
+ * escape 0-9 if it's the first character */
+
if (!(*f >= 'A' && *f <= 'Z') &&
!(*f >= 'a' && *f <= 'z') &&
- !(*f >= '0' && *f <= '9')) {
+ !(f > s && *f >= '0' && *f <= '9')) {
*(t++) = '_';
*(t++) = hexchar(*f >> 4);
*(t++) = hexchar(*f);
@@ -1674,7 +1407,12 @@ char *bus_path_unescape(const char *f) {
assert(f);
- if (!(r = strdup(f)))
+ /* Special case for the empty string */
+ if (streq(f, "_"))
+ return strdup("");
+
+ r = new(char, strlen(f) + 1);
+ if (!r)
return NULL;
for (t = r; *f; f++) {
@@ -1711,7 +1449,7 @@ char *ascii_strlower(char *t) {
return t;
}
-static bool ignore_file_allow_backup(const char *filename) {
+_pure_ static bool ignore_file_allow_backup(const char *filename) {
assert(filename);
return
@@ -1774,7 +1512,7 @@ int fd_cloexec(int fd, bool cloexec) {
return 0;
}
-static bool fd_in_set(int fd, const int fdset[], unsigned n_fdset) {
+_pure_ static bool fd_in_set(int fd, const int fdset[], unsigned n_fdset) {
unsigned i;
assert(n_fdset == 0 || fdset);
@@ -2126,29 +1864,28 @@ int open_terminal(const char *name, int mode) {
}
int flush_fd(int fd) {
- struct pollfd pollfd;
-
- zero(pollfd);
- pollfd.fd = fd;
- pollfd.events = POLLIN;
+ struct pollfd pollfd = {
+ .fd = fd,
+ .events = POLLIN,
+ };
for (;;) {
char buf[LINE_MAX];
ssize_t l;
int r;
- if ((r = poll(&pollfd, 1, 0)) < 0) {
-
+ r = poll(&pollfd, 1, 0);
+ if (r < 0) {
if (errno == EINTR)
continue;
return -errno;
- }
- if (r == 0)
+ } else if (r == 0)
return 0;
- if ((l = read(fd, buf, sizeof(buf))) < 0) {
+ l = read(fd, buf, sizeof(buf));
+ if (l < 0) {
if (errno == EINTR)
continue;
@@ -2157,9 +1894,7 @@ int flush_fd(int fd) {
return 0;
return -errno;
- }
-
- if (l <= 0)
+ } else if (l == 0)
return 0;
}
}
@@ -2173,7 +1908,6 @@ int acquire_terminal(
int fd = -1, notify = -1, r = 0, wd = -1;
usec_t ts = 0;
- struct sigaction sa_old, sa_new;
assert(name);
@@ -2208,6 +1942,11 @@ int acquire_terminal(
}
for (;;) {
+ struct sigaction sa_old, sa_new = {
+ .sa_handler = SIG_IGN,
+ .sa_flags = SA_RESTART,
+ };
+
if (notify >= 0) {
r = flush_fd(notify);
if (r < 0)
@@ -2223,9 +1962,6 @@ int acquire_terminal(
/* Temporarily ignore SIGHUP, so that we don't get SIGHUP'ed
* if we already own the tty. */
- zero(sa_new);
- sa_new.sa_handler = SIG_IGN;
- sa_new.sa_flags = SA_RESTART;
assert_se(sigaction(SIGHUP, &sa_new, &sa_old) == 0);
/* First, try to get the tty */
@@ -2332,18 +2068,19 @@ fail:
}
int release_terminal(void) {
- int r = 0, fd;
- struct sigaction sa_old, sa_new;
+ int r = 0;
+ struct sigaction sa_old, sa_new = {
+ .sa_handler = SIG_IGN,
+ .sa_flags = SA_RESTART,
+ };
+ _cleanup_close_ int fd;
- if ((fd = open("/dev/tty", O_RDWR|O_NOCTTY|O_NDELAY|O_CLOEXEC)) < 0)
+ fd = open("/dev/tty", O_RDWR|O_NOCTTY|O_NDELAY|O_CLOEXEC);
+ if (fd < 0)
return -errno;
/* Temporarily ignore SIGHUP, so that we don't get SIGHUP'ed
* by our own TIOCNOTTY */
-
- zero(sa_new);
- sa_new.sa_handler = SIG_IGN;
- sa_new.sa_flags = SA_RESTART;
assert_se(sigaction(SIGHUP, &sa_new, &sa_old) == 0);
if (ioctl(fd, TIOCNOTTY) < 0)
@@ -2351,7 +2088,6 @@ int release_terminal(void) {
assert_se(sigaction(SIGHUP, &sa_old, NULL) == 0);
- close_nointr_nofail(fd);
return r;
}
@@ -2369,13 +2105,13 @@ int sigaction_many(const struct sigaction *sa, ...) {
}
int ignore_signals(int sig, ...) {
- struct sigaction sa;
+ struct sigaction sa = {
+ .sa_handler = SIG_IGN,
+ .sa_flags = SA_RESTART,
+ };
va_list ap;
int r = 0;
- zero(sa);
- sa.sa_handler = SIG_IGN;
- sa.sa_flags = SA_RESTART;
if (sigaction(sig, &sa, NULL) < 0)
r = -errno;
@@ -2390,14 +2126,13 @@ int ignore_signals(int sig, ...) {
}
int default_signals(int sig, ...) {
- struct sigaction sa;
+ struct sigaction sa = {
+ .sa_handler = SIG_DFL,
+ .sa_flags = SA_RESTART,
+ };
va_list ap;
int r = 0;
- zero(sa);
- sa.sa_handler = SIG_DFL;
- sa.sa_flags = SA_RESTART;
-
if (sigaction(sig, &sa, NULL) < 0)
r = -errno;
@@ -2446,11 +2181,10 @@ ssize_t loop_read(int fd, void *buf, size_t nbytes, bool do_poll) {
continue;
if (k < 0 && errno == EAGAIN && do_poll) {
- struct pollfd pollfd;
-
- zero(pollfd);
- pollfd.fd = fd;
- pollfd.events = POLLIN;
+ struct pollfd pollfd = {
+ .fd = fd,
+ .events = POLLIN,
+ };
if (poll(&pollfd, 1, -1) < 0) {
if (errno == EINTR)
@@ -2495,11 +2229,10 @@ ssize_t loop_write(int fd, const void *buf, size_t nbytes, bool do_poll) {
continue;
if (k < 0 && errno == EAGAIN && do_poll) {
- struct pollfd pollfd;
-
- zero(pollfd);
- pollfd.fd = fd;
- pollfd.events = POLLOUT;
+ struct pollfd pollfd = {
+ .fd = fd,
+ .events = POLLOUT,
+ };
if (poll(&pollfd, 1, -1) < 0) {
if (errno == EINTR)
@@ -2555,7 +2288,7 @@ int parse_bytes(const char *t, off_t *bytes) {
errno = 0;
l = strtoll(p, &e, 10);
- if (errno != 0)
+ if (errno > 0)
return -errno;
if (l < 0)
@@ -2647,6 +2380,24 @@ int dir_is_empty(const char *path) {
}
}
+char* dirname_malloc(const char *path) {
+ char *d, *dir, *dir2;
+
+ d = strdup(path);
+ if (!d)
+ return NULL;
+ dir = dirname(d);
+ assert(dir);
+
+ if (dir != d) {
+ dir2 = strdup(dir);
+ free(d);
+ return dir2;
+ }
+
+ return dir;
+}
+
unsigned long long random_ull(void) {
_cleanup_close_ int fd;
uint64_t ull;
@@ -2815,27 +2566,29 @@ int getttyname_harder(int fd, char **r) {
}
int get_ctty_devnr(pid_t pid, dev_t *d) {
- int k;
- char line[LINE_MAX], *p, *fn;
+ _cleanup_fclose_ FILE *f = NULL;
+ char line[LINE_MAX], *p;
unsigned long ttynr;
- FILE *f;
+ const char *fn;
+ int k;
- if (asprintf(&fn, "/proc/%lu/stat", (unsigned long) (pid <= 0 ? getpid() : pid)) < 0)
- return -ENOMEM;
+ assert(pid >= 0);
+ assert(d);
+
+ if (pid == 0)
+ fn = "/proc/self/stat";
+ else
+ fn = procfs_file_alloca(pid, "stat");
f = fopen(fn, "re");
- free(fn);
if (!f)
return -errno;
if (!fgets(line, sizeof(line), f)) {
k = feof(f) ? -EIO : -errno;
- fclose(f);
return k;
}
- fclose(f);
-
p = strrchr(line, ')');
if (!p)
return -EIO;
@@ -2860,7 +2613,7 @@ int get_ctty_devnr(pid_t pid, dev_t *d) {
int get_ctty(pid_t pid, dev_t *_devnr, char **r) {
int k;
- char fn[PATH_MAX], *s, *b, *p;
+ char fn[sizeof("/dev/char/")-1 + 2*DECIMAL_STR_MAX(unsigned) + 1 + 1], *s, *b, *p;
dev_t devnr;
assert(r);
@@ -2870,7 +2623,6 @@ int get_ctty(pid_t pid, dev_t *_devnr, char **r) {
return k;
snprintf(fn, sizeof(fn), "/dev/char/%u:%u", major(devnr), minor(devnr));
- char_array_0(fn);
k = readlink_malloc(fn, &s);
if (k < 0) {
@@ -3018,10 +2770,11 @@ int rm_rf_children_dangerous(int fd, bool only_dirs, bool honour_sticky, struct
return ret;
}
-static int is_temporary_fs(struct statfs *s) {
+_pure_ static int is_temporary_fs(struct statfs *s) {
assert(s);
- return s->f_type == TMPFS_MAGIC ||
- (long)s->f_type == (long)RAMFS_MAGIC;
+ return
+ F_TYPE_CMP(s->f_type, TMPFS_MAGIC) ||
+ F_TYPE_CMP(s->f_type, RAMFS_MAGIC);
}
int rm_rf_children(int fd, bool only_dirs, bool honour_sticky, struct stat *root_dev) {
@@ -3181,12 +2934,13 @@ cpu_set_t* cpu_set_malloc(unsigned *ncpus) {
}
}
-int status_vprintf(const char *status, bool ellipse, const char *format, va_list ap) {
+int status_vprintf(const char *status, bool ellipse, bool ephemeral, const char *format, va_list ap) {
static const char status_indent[] = " "; /* "[" STATUS "] " */
_cleanup_free_ char *s = NULL;
_cleanup_close_ int fd = -1;
- struct iovec iovec[5];
+ struct iovec iovec[6] = {};
int n = 0;
+ static bool prev_ephemeral;
assert(format);
@@ -3222,7 +2976,9 @@ int status_vprintf(const char *status, bool ellipse, const char *format, va_list
}
}
- zero(iovec);
+ if (prev_ephemeral)
+ IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE);
+ prev_ephemeral = ephemeral;
if (status) {
if (!isempty(status)) {
@@ -3234,7 +2990,8 @@ int status_vprintf(const char *status, bool ellipse, const char *format, va_list
}
IOVEC_SET_STRING(iovec[n++], s);
- IOVEC_SET_STRING(iovec[n++], "\n");
+ if (!ephemeral)
+ IOVEC_SET_STRING(iovec[n++], "\n");
if (writev(fd, iovec, n) < 0)
return -errno;
@@ -3242,14 +2999,14 @@ int status_vprintf(const char *status, bool ellipse, const char *format, va_list
return 0;
}
-int status_printf(const char *status, bool ellipse, const char *format, ...) {
+int status_printf(const char *status, bool ellipse, bool ephemeral, const char *format, ...) {
va_list ap;
int r;
assert(format);
va_start(ap, format);
- r = status_vprintf(status, ellipse, format, ap);
+ r = status_vprintf(status, ellipse, ephemeral, format, ap);
va_end(ap);
return r;
@@ -3266,7 +3023,7 @@ int status_welcome(void) {
if (r < 0 && r != -ENOENT)
log_warning("Failed to read /etc/os-release: %s", strerror(-r));
- return status_printf(NULL, false,
+ return status_printf(NULL, false, false,
"\nWelcome to \x1B[%sm%s\x1B[0m!\n",
isempty(ansi_color) ? "1" : ansi_color,
isempty(pretty_name) ? "Linux" : pretty_name);
@@ -3321,10 +3078,10 @@ char *replace_env(const char *format, char **env) {
if (*e == '}') {
const char *t;
- if (!(t = strv_env_get_with_length(env, word+2, e-word-2)))
- t = "";
+ t = strempty(strv_env_get_n(env, word+2, e-word-2));
- if (!(k = strappend(r, t)))
+ k = strappend(r, t);
+ if (!k)
goto fail;
free(r);
@@ -3365,7 +3122,8 @@ char **replace_env_argv(char **argv, char **env) {
char **w, **m;
unsigned q;
- if ((e = strv_env_get(env, *i+1))) {
+ e = strv_env_get(env, *i+1);
+ if (e) {
if (!(m = strv_split_quoted(e))) {
r[k] = NULL;
@@ -3407,8 +3165,7 @@ char **replace_env_argv(char **argv, char **env) {
}
int fd_columns(int fd) {
- struct winsize ws;
- zero(ws);
+ struct winsize ws = {};
if (ioctl(fd, TIOCGWINSZ, &ws) < 0)
return -errno;
@@ -3442,8 +3199,7 @@ unsigned columns(void) {
}
int fd_lines(int fd) {
- struct winsize ws;
- zero(ws);
+ struct winsize ws = {};
if (ioctl(fd, TIOCGWINSZ, &ws) < 0)
return -errno;
@@ -3492,13 +3248,9 @@ bool on_tty(void) {
}
int running_in_chroot(void) {
- struct stat a, b;
-
- zero(a);
- zero(b);
+ struct stat a = {}, b = {};
/* Only works as root */
-
if (stat("/proc/1/root", &a) < 0)
return -errno;
@@ -3824,6 +3576,29 @@ int vtnr_from_tty(const char *tty) {
return i;
}
+char *resolve_dev_console(char **active) {
+ char *tty;
+
+ /* Resolve where /dev/console is pointing to, if /sys is actually ours
+ * (i.e. not read-only-mounted which is a sign for container setups) */
+
+ if (path_is_read_only_fs("/sys") > 0)
+ return NULL;
+
+ if (read_one_line_file("/sys/class/tty/console/active", active) < 0)
+ return NULL;
+
+ /* If multiple log outputs are configured the last one is what
+ * /dev/console points to */
+ tty = strrchr(*active, ' ');
+ if (tty)
+ tty++;
+ else
+ tty = *active;
+
+ return tty;
+}
+
bool tty_is_vc_resolve(const char *tty) {
char *active = NULL;
bool b;
@@ -3833,19 +3608,11 @@ bool tty_is_vc_resolve(const char *tty) {
if (startswith(tty, "/dev/"))
tty += 5;
- /* Resolve where /dev/console is pointing to, if /sys is
- * actually ours (i.e. not read-only-mounted which is a sign
- * for container setups) */
- if (streq(tty, "console") && path_is_read_only_fs("/sys") <= 0)
- if (read_one_line_file("/sys/class/tty/console/active", &active) >= 0) {
- /* If multiple log outputs are configured the
- * last one is what /dev/console points to */
- tty = strrchr(active, ' ');
- if (tty)
- tty++;
- else
- tty = active;
- }
+ if (streq(tty, "console")) {
+ tty = resolve_dev_console(&active);
+ if (!tty)
+ return false;
+ }
b = tty_is_vc(tty);
free(active);
@@ -3894,8 +3661,8 @@ void execute_directory(const char *directory, DIR *d, char *argv[]) {
assert(directory);
- /* Executes all binaries in a directory in parallel and waits
- * until all they all finished. */
+ /* Executes all binaries in a directory in parallel and
+ * waits for them to finish. */
if (!d) {
if (!(_d = opendir(directory))) {
@@ -3961,10 +3728,9 @@ void execute_directory(const char *directory, DIR *d, char *argv[]) {
while (!hashmap_isempty(pids)) {
pid_t pid = PTR_TO_UINT(hashmap_first_key(pids));
- siginfo_t si;
+ siginfo_t si = {};
char *path;
- zero(si);
if (waitid(P_PID, pid, &si, WEXITED) < 0) {
if (errno == EINTR)
@@ -4044,13 +3810,27 @@ static bool hostname_valid_char(char c) {
bool hostname_is_valid(const char *s) {
const char *p;
+ bool dot;
if (isempty(s))
return false;
- for (p = s; *p; p++)
- if (!hostname_valid_char(*p))
- return false;
+ for (p = s, dot = true; *p; p++) {
+ if (*p == '.') {
+ if (dot)
+ return false;
+
+ dot = true;
+ } else {
+ if (!hostname_valid_char(*p))
+ return false;
+
+ dot = false;
+ }
+ }
+
+ if (dot)
+ return false;
if (p-s > HOST_NAME_MAX)
return false;
@@ -4058,31 +3838,40 @@ bool hostname_is_valid(const char *s) {
return true;
}
-char* hostname_cleanup(char *s) {
+char* hostname_cleanup(char *s, bool lowercase) {
char *p, *d;
+ bool dot;
+
+ for (p = s, d = s, dot = true; *p; p++) {
+ if (*p == '.') {
+ if (dot)
+ continue;
+
+ *(d++) = '.';
+ dot = true;
+ } else if (hostname_valid_char(*p)) {
+ *(d++) = lowercase ? tolower(*p) : *p;
+ dot = false;
+ }
- for (p = s, d = s; *p; p++)
- if ((*p >= 'a' && *p <= 'z') ||
- (*p >= 'A' && *p <= 'Z') ||
- (*p >= '0' && *p <= '9') ||
- *p == '-' ||
- *p == '_' ||
- *p == '.')
- *(d++) = *p;
+ }
- *d = 0;
+ if (dot && d > s)
+ d[-1] = 0;
+ else
+ *d = 0;
strshorten(s, HOST_NAME_MAX);
+
return s;
}
int pipe_eof(int fd) {
- struct pollfd pollfd;
int r;
-
- zero(pollfd);
- pollfd.fd = fd;
- pollfd.events = POLLIN|POLLHUP;
+ struct pollfd pollfd = {
+ .fd = fd,
+ .events = POLLIN|POLLHUP,
+ };
r = poll(&pollfd, 1, 0);
if (r < 0)
@@ -4095,12 +3884,11 @@ int pipe_eof(int fd) {
}
int fd_wait_for_event(int fd, int event, usec_t t) {
- struct pollfd pollfd;
int r;
-
- zero(pollfd);
- pollfd.fd = fd;
- pollfd.events = event;
+ struct pollfd pollfd = {
+ .fd = fd,
+ .events = event,
+ };
r = poll(&pollfd, 1, t == (usec_t) -1 ? -1 : (int) (t / USEC_PER_MSEC));
if (r < 0)
@@ -4427,7 +4215,7 @@ int get_user_creds(
}
if (!p)
- return errno != 0 ? -errno : -ESRCH;
+ return errno > 0 ? -errno : -ESRCH;
if (uid)
*uid = p->pw_uid;
@@ -4444,6 +4232,40 @@ int get_user_creds(
return 0;
}
+char* uid_to_name(uid_t uid) {
+ struct passwd *p;
+ char *r;
+
+ if (uid == 0)
+ return strdup("root");
+
+ p = getpwuid(uid);
+ if (p)
+ return strdup(p->pw_name);
+
+ if (asprintf(&r, "%lu", (unsigned long) uid) < 0)
+ return NULL;
+
+ return r;
+}
+
+char* gid_to_name(gid_t gid) {
+ struct group *p;
+ char *r;
+
+ if (gid == 0)
+ return strdup("root");
+
+ p = getgrgid(gid);
+ if (p)
+ return strdup(p->gr_name);
+
+ if (asprintf(&r, "%lu", (unsigned long) gid) < 0)
+ return NULL;
+
+ return r;
+}
+
int get_group_creds(const char **groupname, gid_t *gid) {
struct group *g;
gid_t id;
@@ -4474,7 +4296,7 @@ int get_group_creds(const char **groupname, gid_t *gid) {
}
if (!g)
- return errno != 0 ? -errno : -ESRCH;
+ return errno > 0 ? -errno : -ESRCH;
if (gid)
*gid = g->gr_gid;
@@ -4482,14 +4304,10 @@ int get_group_creds(const char **groupname, gid_t *gid) {
return 0;
}
-int in_group(const char *name) {
- gid_t gid, *gids;
+int in_gid(gid_t gid) {
+ gid_t *gids;
int ngroups_max, r, i;
- r = get_group_creds(&name, &gid);
- if (r < 0)
- return r;
-
if (getgid() == gid)
return 1;
@@ -4512,13 +4330,23 @@ int in_group(const char *name) {
return 0;
}
+int in_group(const char *name) {
+ int r;
+ gid_t gid;
+
+ r = get_group_creds(&name, &gid);
+ if (r < 0)
+ return r;
+
+ return in_gid(gid);
+}
+
int glob_exists(const char *path) {
- glob_t g;
+ _cleanup_globfree_ glob_t g = {};
int r, k;
assert(path);
- zero(g);
errno = 0;
k = glob(path, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
@@ -4531,8 +4359,6 @@ int glob_exists(const char *path) {
else
r = errno ? -errno : -EIO;
- globfree(&g);
-
return r;
}
@@ -4934,7 +4760,7 @@ static const char *const __signal_table[] = {
DEFINE_PRIVATE_STRING_TABLE_LOOKUP(__signal, int);
const char *signal_to_string(int signo) {
- static __thread char buf[12];
+ static __thread char buf[sizeof("RTMIN+")-1 + DECIMAL_STR_MAX(int) + 1];
const char *name;
name = __signal_to_string(signo);
@@ -4942,10 +4768,10 @@ const char *signal_to_string(int signo) {
return name;
if (signo >= SIGRTMIN && signo <= SIGRTMAX)
- snprintf(buf, sizeof(buf) - 1, "RTMIN+%d", signo - SIGRTMIN);
+ snprintf(buf, sizeof(buf), "RTMIN+%d", signo - SIGRTMIN);
else
- snprintf(buf, sizeof(buf) - 1, "%d", signo);
- char_array_0(buf);
+ snprintf(buf, sizeof(buf), "%d", signo);
+
return buf;
}
@@ -5213,20 +5039,21 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) {
}
int getenv_for_pid(pid_t pid, const char *field, char **_value) {
- char path[sizeof("/proc/")-1+10+sizeof("/environ")], *value = NULL;
+ _cleanup_fclose_ FILE *f = NULL;
+ char *value = NULL;
int r;
- FILE *f;
bool done = false;
size_t l;
+ const char *path;
+ assert(pid >= 0);
assert(field);
assert(_value);
if (pid == 0)
- pid = getpid();
-
- snprintf(path, sizeof(path), "/proc/%lu/environ", (unsigned long) pid);
- char_array_0(path);
+ path = "/proc/self/environ";
+ else
+ path = procfs_file_alloca(pid, "environ");
f = fopen(path, "re");
if (!f)
@@ -5255,10 +5082,8 @@ int getenv_for_pid(pid_t pid, const char *field, char **_value) {
if (memcmp(line, field, l) == 0 && line[l] == '=') {
value = strdup(line + l + 1);
- if (!value) {
- r = -ENOMEM;
- break;
- }
+ if (!value)
+ return -ENOMEM;
r = 1;
break;
@@ -5266,67 +5091,10 @@ int getenv_for_pid(pid_t pid, const char *field, char **_value) {
} while (!done);
- fclose(f);
-
- if (r >= 0)
- *_value = value;
-
+ *_value = value;
return r;
}
-int can_sleep(const char *type) {
- char *w, *state;
- size_t l, k;
- int r;
- _cleanup_free_ char *p = NULL;
-
- assert(type);
-
- /* If /sys is read-only we cannot sleep */
- if (access("/sys/power/state", W_OK) < 0)
- return false;
-
- r = read_one_line_file("/sys/power/state", &p);
- if (r < 0)
- return false;
-
- k = strlen(type);
- FOREACH_WORD_SEPARATOR(w, l, p, WHITESPACE, state)
- if (l == k && memcmp(w, type, l) == 0)
- return true;
-
- return false;
-}
-
-int can_sleep_disk(const char *type) {
- char *w, *state;
- size_t l, k;
- int r;
- _cleanup_free_ char *p = NULL;
-
- assert(type);
-
- /* If /sys is read-only we cannot sleep */
- if (access("/sys/power/state", W_OK) < 0 ||
- access("/sys/power/disk", W_OK) < 0)
- return false;
-
- r = read_one_line_file("/sys/power/disk", &p);
- if (r < 0)
- return false;
-
- k = strlen(type);
- FOREACH_WORD_SEPARATOR(w, l, p, WHITESPACE, state) {
- if (l == k && memcmp(w, type, l) == 0)
- return true;
-
- if (l == k + 2 && w[0] == '[' && memcmp(w + 1, type, l - 2) == 0 && w[l-1] == ']')
- return true;
- }
-
- return false;
-}
-
bool is_valid_documentation_url(const char *url) {
assert(url);
@@ -5447,7 +5215,7 @@ int get_home_dir(char **_h) {
errno = 0;
p = getpwuid(u);
if (!p)
- return errno ? -errno : -ESRCH;
+ return errno > 0 ? -errno : -ESRCH;
if (!path_is_absolute(p->pw_dir))
return -EINVAL;
@@ -5460,76 +5228,6 @@ int get_home_dir(char **_h) {
return 0;
}
-int get_shell(char **_sh) {
- char *sh;
- const char *e;
- uid_t u;
- struct passwd *p;
-
- assert(_sh);
-
- /* Take the user specified one */
- e = getenv("SHELL");
- if (e) {
- sh = strdup(e);
- if (!sh)
- return -ENOMEM;
-
- *_sh = sh;
- return 0;
- }
-
- /* Hardcode home directory for root to avoid NSS */
- u = getuid();
- if (u == 0) {
- sh = strdup("/bin/sh");
- if (!sh)
- return -ENOMEM;
-
- *_sh = sh;
- return 0;
- }
-
- /* Check the database... */
- errno = 0;
- p = getpwuid(u);
- if (!p)
- return errno ? -errno : -ESRCH;
-
- if (!path_is_absolute(p->pw_shell))
- return -EINVAL;
-
- sh = strdup(p->pw_shell);
- if (!sh)
- return -ENOMEM;
-
- *_sh = sh;
- return 0;
-}
-
-void freep(void *p) {
- free(*(void**) p);
-}
-
-void fclosep(FILE **f) {
- if (*f)
- fclose(*f);
-}
-
-void closep(int *fd) {
- if (*fd >= 0)
- close_nointr_nofail(*fd);
-}
-
-void closedirp(DIR **d) {
- if (*d)
- closedir(*d);
-}
-
-void umaskp(mode_t *u) {
- umask(*u);
-}
-
bool filename_is_safe(const char *p) {
if (isempty(p))
@@ -5566,6 +5264,39 @@ bool string_is_safe(const char *p) {
return true;
}
+bool string_has_cc(const char *p) {
+ const char *t;
+
+ assert(p);
+
+ for (t = p; *t; t++)
+ if (*t > 0 && *t < ' ')
+ return true;
+
+ return false;
+}
+
+bool path_is_safe(const char *p) {
+
+ if (isempty(p))
+ return false;
+
+ if (streq(p, "..") || startswith(p, "../") || endswith(p, "/..") || strstr(p, "/../"))
+ return false;
+
+ if (strlen(p) > PATH_MAX)
+ return false;
+
+ /* The following two checks are not really dangerous, but hey, they still are confusing */
+ if (streq(p, ".") || startswith(p, "./") || endswith(p, "/.") || strstr(p, "/./"))
+ return false;
+
+ if (strstr(p, "//"))
+ return false;
+
+ return true;
+}
+
/* hey glibc, APIs with callbacks without a user pointer are so useless */
void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
int (*compar) (const void *, const void *, void *), void *arg) {
@@ -5607,7 +5338,23 @@ bool is_locale_utf8(void) {
goto out;
}
- cached_answer = streq(set, "UTF-8");
+ if(streq(set, "UTF-8")) {
+ cached_answer = true;
+ goto out;
+ }
+
+ /* For LC_CTYPE=="C" return true,
+ * because CTYPE is effectly unset and
+ * everything defaults to UTF-8 nowadays. */
+
+ set = setlocale(LC_CTYPE, NULL);
+ if (!set) {
+ cached_answer = true;
+ goto out;
+ }
+
+ cached_answer = streq(set, "C");
+
out:
return (bool)cached_answer;
}
@@ -5618,12 +5365,14 @@ const char *draw_special_char(DrawSpecialChar ch) {
[DRAW_TREE_VERT] = "\342\224\202 ", /* │ */
[DRAW_TREE_BRANCH] = "\342\224\234\342\224\200", /* ├─ */
[DRAW_TREE_RIGHT] = "\342\224\224\342\224\200", /* └─ */
+ [DRAW_TREE_SPACE] = " ", /* */
[DRAW_TRIANGULAR_BULLET] = "\342\200\243 ", /* ‣ */
},
/* ASCII fallback */ {
[DRAW_TREE_VERT] = "| ",
[DRAW_TREE_BRANCH] = "|-",
[DRAW_TREE_RIGHT] = "`-",
+ [DRAW_TREE_SPACE] = " ",
[DRAW_TRIANGULAR_BULLET] = "> ",
}
};
@@ -5775,7 +5524,6 @@ int on_ac_power(void) {
for (;;) {
struct dirent *de;
union dirent_storage buf;
- _cleanup_free_ char *p = NULL;
_cleanup_close_ int fd = -1, device = -1;
char contents[6];
ssize_t n;
@@ -5841,3 +5589,261 @@ int on_ac_power(void) {
return found_online || !found_offline;
}
+
+static int search_and_fopen_internal(const char *path, const char *mode, char **search, FILE **_f) {
+ char **i;
+
+ assert(path);
+ assert(mode);
+ assert(_f);
+
+ if (!path_strv_canonicalize_uniq(search))
+ return -ENOMEM;
+
+ STRV_FOREACH(i, search) {
+ _cleanup_free_ char *p = NULL;
+ FILE *f;
+
+ p = strjoin(*i, "/", path, NULL);
+ if (!p)
+ return -ENOMEM;
+
+ f = fopen(p, mode);
+ if (f) {
+ *_f = f;
+ return 0;
+ }
+
+ if (errno != ENOENT)
+ return -errno;
+ }
+
+ return -ENOENT;
+}
+
+int search_and_fopen(const char *path, const char *mode, const char **search, FILE **_f) {
+ _cleanup_strv_free_ char **copy = NULL;
+
+ assert(path);
+ assert(mode);
+ assert(_f);
+
+ if (path_is_absolute(path)) {
+ FILE *f;
+
+ f = fopen(path, mode);
+ if (f) {
+ *_f = f;
+ return 0;
+ }
+
+ return -errno;
+ }
+
+ copy = strv_copy((char**) search);
+ if (!copy)
+ return -ENOMEM;
+
+ return search_and_fopen_internal(path, mode, copy, _f);
+}
+
+int search_and_fopen_nulstr(const char *path, const char *mode, const char *search, FILE **_f) {
+ _cleanup_strv_free_ char **s = NULL;
+
+ if (path_is_absolute(path)) {
+ FILE *f;
+
+ f = fopen(path, mode);
+ if (f) {
+ *_f = f;
+ return 0;
+ }
+
+ return -errno;
+ }
+
+ s = strv_split_nulstr(search);
+ if (!s)
+ return -ENOMEM;
+
+ return search_and_fopen_internal(path, mode, s, _f);
+}
+
+int create_tmp_dir(char template[], char** dir_name) {
+ int r = 0;
+ char *d, *dt;
+
+ assert(dir_name);
+
+ RUN_WITH_UMASK(0077) {
+ d = mkdtemp(template);
+ }
+ if (!d) {
+ log_error("Can't create directory %s: %m", template);
+ return -errno;
+ }
+
+ dt = strjoin(d, "/tmp", NULL);
+ if (!dt) {
+ r = log_oom();
+ goto fail3;
+ }
+
+ RUN_WITH_UMASK(0000) {
+ r = mkdir(dt, 0777);
+ }
+ if (r < 0) {
+ log_error("Can't create directory %s: %m", dt);
+ r = -errno;
+ goto fail2;
+ }
+ log_debug("Created temporary directory %s", dt);
+
+ r = chmod(dt, 0777 | S_ISVTX);
+ if (r < 0) {
+ log_error("Failed to chmod %s: %m", dt);
+ r = -errno;
+ goto fail1;
+ }
+ log_debug("Set sticky bit on %s", dt);
+
+ *dir_name = dt;
+
+ return 0;
+fail1:
+ rmdir(dt);
+fail2:
+ free(dt);
+fail3:
+ rmdir(template);
+ return r;
+}
+
+char *strextend(char **x, ...) {
+ va_list ap;
+ size_t f, l;
+ char *r, *p;
+
+ assert(x);
+
+ l = f = *x ? strlen(*x) : 0;
+
+ va_start(ap, x);
+ for (;;) {
+ const char *t;
+ size_t n;
+
+ t = va_arg(ap, const char *);
+ if (!t)
+ break;
+
+ n = strlen(t);
+ if (n > ((size_t) -1) - l) {
+ va_end(ap);
+ return NULL;
+ }
+
+ l += n;
+ }
+ va_end(ap);
+
+ r = realloc(*x, l+1);
+ if (!r)
+ return NULL;
+
+ p = r + f;
+
+ va_start(ap, x);
+ for (;;) {
+ const char *t;
+
+ t = va_arg(ap, const char *);
+ if (!t)
+ break;
+
+ p = stpcpy(p, t);
+ }
+ va_end(ap);
+
+ *p = 0;
+ *x = r;
+
+ return r + l;
+}
+
+char *strrep(const char *s, unsigned n) {
+ size_t l;
+ char *r, *p;
+ unsigned i;
+
+ assert(s);
+
+ l = strlen(s);
+ p = r = malloc(l * n + 1);
+ if (!r)
+ return NULL;
+
+ for (i = 0; i < n; i++)
+ p = stpcpy(p, s);
+
+ *p = 0;
+ return r;
+}
+
+void* greedy_realloc(void **p, size_t *allocated, size_t need) {
+ size_t a;
+ void *q;
+
+ if (*allocated >= need)
+ return *p;
+
+ a = MAX(64u, need * 2);
+ q = realloc(*p, a);
+ if (!q)
+ return NULL;
+
+ *p = q;
+ *allocated = a;
+ return q;
+}
+
+bool id128_is_valid(const char *s) {
+ size_t i, l;
+
+ l = strlen(s);
+ if (l == 32) {
+
+ /* Simple formatted 128bit hex string */
+
+ for (i = 0; i < l; i++) {
+ char c = s[i];
+
+ if (!(c >= '0' && c <= '9') &&
+ !(c >= 'a' && c <= 'z') &&
+ !(c >= 'A' && c <= 'Z'))
+ return false;
+ }
+
+ } else if (l == 36) {
+
+ /* Formatted UUID */
+
+ for (i = 0; i < l; i++) {
+ char c = s[i];
+
+ if ((i == 8 || i == 13 || i == 18 || i == 23)) {
+ if (c != '-')
+ return false;
+ } else {
+ if (!(c >= '0' && c <= '9') &&
+ !(c >= 'a' && c <= 'z') &&
+ !(c >= 'A' && c <= 'Z'))
+ return false;
+ }
+ }
+
+ } else
+ return false;
+
+ return true;
+}
diff --git a/src/shared/util.h b/src/shared/util.h
index bb6602fb24..64e63b8c07 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
@@ -21,6 +21,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#include <alloca.h>
#include <inttypes.h>
#include <time.h>
#include <sys/time.h>
@@ -36,6 +37,8 @@
#include <dirent.h>
#include <sys/resource.h>
#include <stddef.h>
+#include <unistd.h>
+#include <locale.h>
#include "macro.h"
#include "time-util.h"
@@ -50,25 +53,28 @@ union dirent_storage {
#define WHITESPACE " \t\n\r"
#define NEWLINE "\n\r"
#define QUOTES "\"\'"
-#define COMMENTS "#;\n"
+#define COMMENTS "#;"
#define FORMAT_BYTES_MAX 8
#define ANSI_HIGHLIGHT_ON "\x1B[1;39m"
+#define ANSI_RED_ON "\x1B[31m"
#define ANSI_HIGHLIGHT_RED_ON "\x1B[1;31m"
+#define ANSI_GREEN_ON "\x1B[32m"
#define ANSI_HIGHLIGHT_GREEN_ON "\x1B[1;32m"
#define ANSI_HIGHLIGHT_YELLOW_ON "\x1B[1;33m"
#define ANSI_HIGHLIGHT_OFF "\x1B[0m"
-
-bool is_efiboot(void);
+#define ANSI_ERASE_TO_END_OF_LINE "\x1B[K"
size_t page_size(void);
#define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
#define streq(a,b) (strcmp((a),(b)) == 0)
#define strneq(a, b, n) (strncmp((a), (b), (n)) == 0)
+#define strcaseeq(a,b) (strcasecmp((a),(b)) == 0)
+#define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0)
-bool streq_ptr(const char *a, const char *b);
+bool streq_ptr(const char *a, const char *b) _pure_;
#define new(t, n) ((t*) malloc_multiply(sizeof(t), (n)))
@@ -100,17 +106,17 @@ static inline bool isempty(const char *p) {
return !p || !p[0];
}
-char *endswith(const char *s, const char *postfix);
-char *startswith(const char *s, const char *prefix);
-char *startswith_no_case(const char *s, const char *prefix);
+char *endswith(const char *s, const char *postfix) _pure_;
+char *startswith(const char *s, const char *prefix) _pure_;
+char *startswith_no_case(const char *s, const char *prefix) _pure_;
-bool first_word(const char *s, const char *word);
+bool first_word(const char *s, const char *word) _pure_;
int close_nointr(int fd);
void close_nointr_nofail(int fd);
void close_many(const int fds[], unsigned n_fd);
-int parse_boolean(const char *v);
+int parse_boolean(const char *v) _pure_;
int parse_bytes(const char *t, off_t *bytes);
int parse_pid(const char *s, pid_t* ret_pid);
int parse_uid(const char *s, uid_t* ret_uid);
@@ -122,6 +128,8 @@ int safe_atoi(const char *s, int *ret_i);
int safe_atollu(const char *s, unsigned long long *ret_u);
int safe_atolli(const char *s, long long int *ret_i);
+int safe_atod(const char *s, double *ret_d);
+
#if __WORDSIZE == 32
static inline int safe_atolu(const char *s, unsigned long *ret_u) {
assert_cc(sizeof(unsigned long) == sizeof(unsigned));
@@ -177,15 +185,6 @@ char *split_quoted(const char *c, size_t *l, char **state);
pid_t get_parent_of_pid(pid_t pid, pid_t *ppid);
int get_starttime_of_pid(pid_t pid, unsigned long long *st);
-int write_one_line_file(const char *fn, const char *line);
-int write_one_line_file_atomic(const char *fn, const char *line);
-int read_one_line_file(const char *fn, char **line);
-int read_full_file(const char *fn, char **contents, size_t *size);
-
-int parse_env_file(const char *fname, const char *separator, ...) _sentinel_;
-int load_env_file(const char *fname, char ***l);
-int write_env_file(const char *fname, char **l);
-
char *strappend(const char *s, const char *suffix);
char *strnappend(const char *s, const char *suffix, size_t length);
@@ -212,12 +211,12 @@ int get_process_exe(pid_t pid, char **name);
int get_process_uid(pid_t pid, uid_t *uid);
int get_process_gid(pid_t pid, gid_t *gid);
-char hexchar(int x);
-int unhexchar(char c);
-char octchar(int x);
-int unoctchar(char c);
-char decchar(int x);
-int undecchar(char c);
+char hexchar(int x) _const_;
+int unhexchar(char c) _const_;
+char octchar(int x) _const_;
+int unoctchar(char c) _const_;
+char decchar(int x) _const_;
+int undecchar(char c) _const_;
char *cescape(const char *s);
char *cunescape(const char *s);
@@ -231,12 +230,12 @@ char *bus_path_unescape(const char *s);
char *ascii_strlower(char *path);
-bool dirent_is_file(const struct dirent *de);
-bool dirent_is_file_with_suffix(const struct dirent *de, const char *suffix);
+bool dirent_is_file(const struct dirent *de) _pure_;
+bool dirent_is_file_with_suffix(const struct dirent *de, const char *suffix) _pure_;
-bool ignore_file(const char *filename);
+bool ignore_file(const char *filename) _pure_;
-bool chars_intersect(const char *a, const char *b);
+bool chars_intersect(const char *a, const char *b) _pure_;
int make_stdio(int fd);
int make_null_stdio(void);
@@ -308,7 +307,7 @@ bool fstype_is_network(const char *fstype);
int chvt(int vt);
int read_one_char(FILE *f, char *ret, usec_t timeout, bool *need_nl);
-int ask(char *ret, const char *replies, const char *text, ...);
+int ask(char *ret, const char *replies, const char *text, ...) _printf_attr_(3, 4);
int reset_terminal_fd(int fd, bool switch_to_text);
int reset_terminal(const char *name);
@@ -332,6 +331,7 @@ ssize_t loop_write(int fd, const void *buf, size_t nbytes, bool do_poll);
bool is_device_path(const char *path);
int dir_is_empty(const char *path);
+char* dirname_malloc(const char *path);
void rename_process(const char name[8]);
@@ -361,8 +361,8 @@ int pipe_eof(int fd);
cpu_set_t* cpu_set_malloc(unsigned *ncpus);
-int status_vprintf(const char *status, bool ellipse, const char *format, va_list ap);
-int status_printf(const char *status, bool ellipse, const char *format, ...);
+int status_vprintf(const char *status, bool ellipse, bool ephemeral, const char *format, va_list ap) _printf_attr_(4,0);
+int status_printf(const char *status, bool ellipse, bool ephemeral, const char *format, ...) _printf_attr_(4,5);
int status_welcome(void);
int fd_columns(int fd);
@@ -388,16 +388,17 @@ int wait_for_terminate_and_warn(const char *name, pid_t pid);
_noreturn_ void freeze(void);
-bool null_or_empty(struct stat *st);
+bool null_or_empty(struct stat *st) _pure_;
int null_or_empty_path(const char *fn);
DIR *xopendirat(int dirfd, const char *name, int flags);
char *fstab_node_to_udev_node(const char *p);
+char *resolve_dev_console(char **active);
bool tty_is_vc(const char *tty);
bool tty_is_vc_resolve(const char *tty);
-bool tty_is_console(const char *tty);
+bool tty_is_console(const char *tty) _pure_;
int vtnr_from_tty(const char *tty);
const char *default_term_for_tty(const char *tty);
@@ -409,8 +410,8 @@ bool nulstr_contains(const char*nulstr, const char *needle);
bool plymouth_running(void);
-bool hostname_is_valid(const char *s);
-char* hostname_cleanup(char *s);
+bool hostname_is_valid(const char *s) _pure_;
+char* hostname_cleanup(char *s, bool lowercase);
char* strshorten(char *s, size_t l);
@@ -425,14 +426,18 @@ int symlink_atomic(const char *from, const char *to);
int fchmod_umask(int fd, mode_t mode);
-bool display_is_local(const char *display);
+bool display_is_local(const char *display) _pure_;
int socket_from_display(const char *display, char **path);
int get_user_creds(const char **username, uid_t *uid, gid_t *gid, const char **home, const char **shell);
int get_group_creds(const char **groupname, gid_t *gid);
+int in_gid(gid_t gid);
int in_group(const char *name);
+char* uid_to_name(uid_t uid);
+char* gid_to_name(gid_t gid);
+
int glob_exists(const char *path);
int dirent_ensure_type(DIR *d, struct dirent *de);
@@ -444,7 +449,7 @@ char *strjoin(const char *x, ...) _sentinel_;
bool is_main_thread(void);
-bool in_charset(const char *s, const char* charset);
+bool in_charset(const char *s, const char* charset) _pure_;
int block_get_whole_disk(dev_t d, dev_t *ret);
@@ -461,8 +466,8 @@ int strdup_or_null(const char *a, char **b);
int ioprio_class_to_string_alloc(int i, char **s);
int ioprio_class_from_string(const char *s);
-const char *sigchld_code_to_string(int i);
-int sigchld_code_from_string(const char *s);
+const char *sigchld_code_to_string(int i) _const_;
+int sigchld_code_from_string(const char *s) _pure_;
int log_facility_unshifted_to_string_alloc(int i, char **s);
int log_facility_unshifted_from_string(const char *s);
@@ -473,14 +478,14 @@ int log_level_from_string(const char *s);
int sched_policy_to_string_alloc(int i, char **s);
int sched_policy_from_string(const char *s);
-const char *rlimit_to_string(int i);
-int rlimit_from_string(const char *s);
+const char *rlimit_to_string(int i) _const_;
+int rlimit_from_string(const char *s) _pure_;
int ip_tos_to_string_alloc(int i, char **s);
int ip_tos_from_string(const char *s);
-const char *signal_to_string(int i);
-int signal_from_string(const char *s);
+const char *signal_to_string(int i) _const_;
+int signal_from_string(const char *s) _pure_;
int signal_from_string_try_harder(const char *s);
@@ -489,13 +494,13 @@ extern char **saved_argv;
bool kexec_loaded(void);
-int prot_from_flags(int flags);
+int prot_from_flags(int flags) _const_;
char *format_bytes(char *buf, size_t l, off_t t);
int fd_wait_for_event(int fd, int event, usec_t timeout);
-void* memdup(const void *p, size_t l) _malloc_;
+void* memdup(const void *p, size_t l) _alloc_(2);
int is_kernel_thread(pid_t pid);
@@ -508,40 +513,68 @@ int setrlimit_closest(int resource, const struct rlimit *rlim);
int getenv_for_pid(pid_t pid, const char *field, char **_value);
-int can_sleep(const char *type);
-int can_sleep_disk(const char *type);
-
-bool is_valid_documentation_url(const char *url);
+bool is_valid_documentation_url(const char *url) _pure_;
bool in_initrd(void);
void warn_melody(void);
-int get_shell(char **ret);
int get_home_dir(char **ret);
-void freep(void *p);
-void fclosep(FILE **f);
-void closep(int *fd);
-void closedirp(DIR **d);
-void umaskp(mode_t *u);
+static inline void freep(void *p) {
+ free(*(void**) p);
+}
+
+static inline void fclosep(FILE **f) {
+ if (*f)
+ fclose(*f);
+}
+
+static inline void pclosep(FILE **f) {
+ if (*f)
+ pclose(*f);
+}
+
+static inline void closep(int *fd) {
+ if (*fd >= 0)
+ close_nointr_nofail(*fd);
+}
+
+static inline void closedirp(DIR **d) {
+ if (*d)
+ closedir(*d);
+}
-_malloc_ static inline void *malloc_multiply(size_t a, size_t b) {
+static inline void umaskp(mode_t *u) {
+ umask(*u);
+}
+
+#define _cleanup_free_ _cleanup_(freep)
+#define _cleanup_fclose_ _cleanup_(fclosep)
+#define _cleanup_pclose_ _cleanup_(pclosep)
+#define _cleanup_close_ _cleanup_(closep)
+#define _cleanup_closedir_ _cleanup_(closedirp)
+#define _cleanup_umask_ _cleanup_(umaskp)
+#define _cleanup_globfree_ _cleanup_(globfree)
+
+_malloc_ _alloc_(1, 2) static inline void *malloc_multiply(size_t a, size_t b) {
if (_unlikely_(b == 0 || a > ((size_t) -1) / b))
return NULL;
return malloc(a * b);
}
-_malloc_ static inline void *memdup_multiply(const void *p, size_t a, size_t b) {
+_alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t a, size_t b) {
if (_unlikely_(b == 0 || a > ((size_t) -1) / b))
return NULL;
return memdup(p, a * b);
}
-bool filename_is_safe(const char *p);
-bool string_is_safe(const char *p);
+bool filename_is_safe(const char *p) _pure_;
+bool path_is_safe(const char *p) _pure_;
+bool string_is_safe(const char *p) _pure_;
+bool string_has_cc(const char *p) _pure_;
void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
int (*compar) (const void *, const void *, void *),
@@ -553,6 +586,7 @@ typedef enum DrawSpecialChar {
DRAW_TREE_VERT,
DRAW_TREE_BRANCH,
DRAW_TREE_RIGHT,
+ DRAW_TREE_SPACE,
DRAW_TRIANGULAR_BULLET,
_DRAW_SPECIAL_CHAR_MAX
} DrawSpecialChar;
@@ -563,3 +597,138 @@ char *strreplace(const char *text, const char *old_string, const char *new_strin
char *strip_tab_ansi(char **p, size_t *l);
int on_ac_power(void);
+
+int search_and_fopen(const char *path, const char *mode, const char **search, FILE **_f);
+int search_and_fopen_nulstr(const char *path, const char *mode, const char *search, FILE **_f);
+int create_tmp_dir(char template[], char** dir_name);
+
+#define FOREACH_LINE(line, f, on_error) \
+ for (;;) \
+ if (!fgets(line, sizeof(line), f)) { \
+ if (ferror(f)) { \
+ on_error; \
+ } \
+ break; \
+ } else
+
+#define FOREACH_DIRENT(de, d, on_error) \
+ for (errno = 0, de = readdir(d);; errno = 0, de = readdir(d)) \
+ if (!de) { \
+ if (errno > 0) { \
+ on_error; \
+ } \
+ break; \
+ } else if (ignore_file((de)->d_name)) \
+ continue; \
+ else
+
+static inline void *mempset(void *s, int c, size_t n) {
+ memset(s, c, n);
+ return (uint8_t*)s + n;
+}
+
+char *hexmem(const void *p, size_t l);
+void *unhexmem(const char *p, size_t l);
+
+char *strextend(char **x, ...) _sentinel_;
+char *strrep(const char *s, unsigned n);
+
+void* greedy_realloc(void **p, size_t *allocated, size_t need);
+#define GREEDY_REALLOC(array, allocated, need) \
+ greedy_realloc((void**) &(array), &(allocated), sizeof((array)[0]) * (need))
+
+static inline void _reset_errno_(int *saved_errno) {
+ errno = *saved_errno;
+}
+
+#define PROTECT_ERRNO _cleanup_(_reset_errno_) __attribute__((unused)) int _saved_errno_ = errno
+
+struct _umask_struct_ {
+ mode_t mask;
+ bool quit;
+};
+
+static inline void _reset_umask_(struct _umask_struct_ *s) {
+ umask(s->mask);
+};
+
+#define RUN_WITH_UMASK(mask) \
+ for (_cleanup_(_reset_umask_) struct _umask_struct_ _saved_umask_ = { umask(mask), false }; \
+ !_saved_umask_.quit ; \
+ _saved_umask_.quit = true)
+
+static inline unsigned u64log2(uint64_t n) {
+ return (n > 1) ? __builtin_clzll(n) ^ 63U : 0;
+}
+
+static inline bool logind_running(void) {
+ return access("/run/systemd/seats/", F_OK) >= 0;
+}
+
+#define DECIMAL_STR_WIDTH(x) \
+ ({ \
+ typeof(x) _x_ = (x); \
+ unsigned ans = 1; \
+ while (_x_ /= 10) \
+ ans++; \
+ ans; \
+ })
+
+int unlink_noerrno(const char *path);
+
+#define alloca0(n) \
+ ({ \
+ char *_new_; \
+ size_t _len_ = n; \
+ _new_ = alloca(_len_); \
+ (void *) memset(_new_, 0, _len_); \
+ })
+
+#define strappenda(a, b) \
+ ({ \
+ const char *_a_ = (a), *_b_ = (b); \
+ char *_c_; \
+ size_t _x_, _y_; \
+ _x_ = strlen(_a_); \
+ _y_ = strlen(_b_); \
+ _c_ = alloca(_x_ + _y_ + 1); \
+ strcpy(stpcpy(_c_, _a_), _b_); \
+ _c_; \
+ })
+
+#define procfs_file_alloca(pid, field) \
+ ({ \
+ pid_t _pid_ = (pid); \
+ char *_r_; \
+ _r_ = alloca(sizeof("/proc/") -1 + DECIMAL_STR_MAX(pid_t) + 1 + sizeof(field)); \
+ sprintf(_r_, "/proc/%lu/" field, (unsigned long) _pid_); \
+ _r_; \
+ })
+
+struct _locale_struct_ {
+ locale_t saved_locale;
+ locale_t new_locale;
+ bool quit;
+};
+
+static inline void _reset_locale_(struct _locale_struct_ *s) {
+ PROTECT_ERRNO;
+ if (s->saved_locale != (locale_t) 0)
+ uselocale(s->saved_locale);
+ if (s->new_locale != (locale_t) 0)
+ freelocale(s->new_locale);
+}
+
+#define RUN_WITH_LOCALE(mask, loc) \
+ for (_cleanup_(_reset_locale_) struct _locale_struct_ _saved_locale_ = { (locale_t) 0, (locale_t) 0, false }; \
+ ({ \
+ if (!_saved_locale_.quit) { \
+ PROTECT_ERRNO; \
+ _saved_locale_.new_locale = newlocale((mask), (loc), (locale_t) 0); \
+ if (_saved_locale_.new_locale != (locale_t) 0) \
+ _saved_locale_.saved_locale = uselocale(_saved_locale_.new_locale); \
+ } \
+ !_saved_locale_.quit; }) ; \
+ _saved_locale_.quit = true)
+
+bool id128_is_valid(const char *s) _pure_;
diff --git a/src/shared/utmp-wtmp.c b/src/shared/utmp-wtmp.c
index 046fb584fb..5d88405e13 100644
--- a/src/shared/utmp-wtmp.c
+++ b/src/shared/utmp-wtmp.c
@@ -33,7 +33,7 @@
#include "utmp-wtmp.h"
int utmp_get_runlevel(int *runlevel, int *previous) {
- struct utmpx lookup, *found;
+ struct utmpx *found, lookup = { .ut_type = RUN_LVL };
int r;
const char *e;
@@ -66,9 +66,6 @@ int utmp_get_runlevel(int *runlevel, int *previous) {
setutxent();
- zero(lookup);
- lookup.ut_type = RUN_LVL;
-
if (!(found = getutxid(&lookup)))
r = -errno;
else {
@@ -77,15 +74,11 @@ int utmp_get_runlevel(int *runlevel, int *previous) {
a = found->ut_pid & 0xFF;
b = (found->ut_pid >> 8) & 0xFF;
- if (a < 0 || b < 0)
- r = -EIO;
- else {
- *runlevel = a;
+ *runlevel = a;
+ if (previous)
+ *previous = b;
- if (previous)
- *previous = b;
- r = 0;
- }
+ r = 0;
}
endutxent();
@@ -106,14 +99,12 @@ static void init_timestamp(struct utmpx *store, usec_t t) {
}
static void init_entry(struct utmpx *store, usec_t t) {
- struct utsname uts;
+ struct utsname uts = {};
assert(store);
init_timestamp(store, t);
- zero(uts);
-
if (uname(&uts) >= 0)
strncpy(store->ut_host, uts.release, sizeof(store->ut_host));
@@ -199,7 +190,7 @@ int utmp_put_reboot(usec_t t) {
return write_entry_both(&store);
}
-static const char *sanitize_id(const char *id) {
+_pure_ static const char *sanitize_id(const char *id) {
size_t l;
assert(id);
@@ -296,7 +287,7 @@ int utmp_put_runlevel(int runlevel, int previous) {
#define TIMEOUT_MSEC 50
static int write_to_terminal(const char *tty, const char *message) {
- int fd, r;
+ _cleanup_close_ int fd = -1;
const char *p;
size_t left;
usec_t end;
@@ -304,14 +295,10 @@ static int write_to_terminal(const char *tty, const char *message) {
assert(tty);
assert(message);
- if ((fd = open(tty, O_WRONLY|O_NDELAY|O_NOCTTY|O_CLOEXEC)) < 0)
+ fd = open(tty, O_WRONLY|O_NDELAY|O_NOCTTY|O_CLOEXEC);
+ if (fd < 0 || !isatty(fd))
return -errno;
- if (!isatty(fd)) {
- r = -errno;
- goto finish;
- }
-
p = message;
left = strlen(message);
@@ -319,36 +306,31 @@ static int write_to_terminal(const char *tty, const char *message) {
while (left > 0) {
ssize_t n;
- struct pollfd pollfd;
+ struct pollfd pollfd = {
+ .fd = fd,
+ .events = POLLOUT,
+ };
usec_t t;
int k;
t = now(CLOCK_MONOTONIC);
- if (t >= end) {
- r = -ETIME;
- goto finish;
- }
-
- zero(pollfd);
- pollfd.fd = fd;
- pollfd.events = POLLOUT;
+ if (t >= end)
+ return -ETIME;
- if ((k = poll(&pollfd, 1, (end - t) / USEC_PER_MSEC)) < 0)
+ k = poll(&pollfd, 1, (end - t) / USEC_PER_MSEC);
+ if (k < 0)
return -errno;
- if (k <= 0) {
- r = -ETIME;
- goto finish;
- }
-
- if ((n = write(fd, p, left)) < 0) {
+ if (k == 0)
+ return -ETIME;
+ n = write(fd, p, left);
+ if (n < 0) {
if (errno == EAGAIN)
continue;
- r = -errno;
- goto finish;
+ return -errno;
}
assert((size_t) n <= left);
@@ -357,12 +339,7 @@ static int write_to_terminal(const char *tty, const char *message) {
left -= n;
}
- r = 0;
-
-finish:
- close_nointr_nofail(fd);
-
- return r;
+ return 0;
}
int utmp_wall(const char *message, bool (*match_tty)(const char *tty)) {
@@ -403,10 +380,12 @@ int utmp_wall(const char *message, bool (*match_tty)(const char *tty)) {
if (u->ut_type != USER_PROCESS || u->ut_user[0] == 0)
continue;
+ /* this access is fine, because strlen("/dev/") << 32 (UT_LINESIZE) */
if (path_startswith(u->ut_line, "/dev/"))
path = u->ut_line;
else {
- if (asprintf(&buf, "/dev/%s", u->ut_line) < 0) {
+ if (asprintf(&buf, "/dev/%.*s",
+ (int) sizeof(u->ut_line), u->ut_line) < 0) {
r = -ENOMEM;
goto finish;
}
diff --git a/src/shared/virt.c b/src/shared/virt.c
index fc62c72328..1c86a3dd1e 100644
--- a/src/shared/virt.c
+++ b/src/shared/virt.c
@@ -25,6 +25,7 @@
#include "util.h"
#include "virt.h"
+#include "fileio.h"
/* Returns a short identifier for the various VM implementations */
int detect_vm(const char **id) {
@@ -61,13 +62,28 @@ int detect_vm(const char **id) {
union {
uint32_t sig32[3];
char text[13];
- } sig;
+ } sig = {};
unsigned i;
const char *j, *k;
bool hypervisor;
+ _cleanup_free_ char *hvtype = NULL;
+ int r;
+
+ /* Try high-level hypervisor sysfs file first:
+ *
+ * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */
+ r = read_one_line_file("/sys/hypervisor/type", &hvtype);
+ if (r >= 0) {
+ if (streq(hvtype, "xen")) {
+ if (id)
+ *id = "xen";
+
+ return 1;
+ }
+ } else if (r != -ENOENT)
+ return r;
/* http://lwn.net/Articles/301888/ */
- zero(sig);
#if defined (__i386__)
#define REG_a "eax"
@@ -117,11 +133,11 @@ int detect_vm(const char **id) {
}
for (i = 0; i < ELEMENTSOF(dmi_vendors); i++) {
- char *s;
- int r;
+ _cleanup_free_ char *s = NULL;
const char *found = NULL;
- if ((r = read_one_line_file(dmi_vendors[i], &s)) < 0) {
+ r = read_one_line_file(dmi_vendors[i], &s);
+ if (r < 0) {
if (r != -ENOENT)
return r;
@@ -131,7 +147,6 @@ int detect_vm(const char **id) {
NULSTR_FOREACH_PAIR(j, k, dmi_vendor_table)
if (startswith(s, j))
found = k;
- free(s);
if (found) {
if (id)
@@ -141,7 +156,7 @@ int detect_vm(const char **id) {
}
}
- if (hypervisor) {
+ if (hypervisor || hvtype) {
if (id)
*id = "other";
@@ -153,7 +168,7 @@ int detect_vm(const char **id) {
}
int detect_container(const char **id) {
- char *e = NULL;
+ _cleanup_free_ char *e = NULL;
int r;
/* Unfortunately many of these operations require root access
@@ -201,8 +216,6 @@ int detect_container(const char **id) {
*id = "other";
}
- free(e);
-
return r;
}
diff --git a/src/shared/watchdog.c b/src/shared/watchdog.c
index 13265e7692..ddbe7afd3c 100644
--- a/src/shared/watchdog.c
+++ b/src/shared/watchdog.c
@@ -60,7 +60,7 @@ static int update_timeout(void) {
}
watchdog_timeout = (usec_t) sec * USEC_PER_SEC;
- log_info("Set hardware watchdog to %s.", format_timespan(buf, sizeof(buf), watchdog_timeout));
+ log_info("Set hardware watchdog to %s.", format_timespan(buf, sizeof(buf), watchdog_timeout, 0));
flags = WDIOS_ENABLECARD;
r = ioctl(watchdog_fd, WDIOC_SETOPTIONS, &flags);
diff --git a/src/shutdownd/shutdownd.c b/src/shutdownd/shutdownd.c
index c0747415fd..461a7261f4 100644
--- a/src/shutdownd/shutdownd.c
+++ b/src/shutdownd/shutdownd.c
@@ -38,6 +38,7 @@
#include "util.h"
#include "utmp-wtmp.h"
#include "mkdir.h"
+#include "fileio.h"
union shutdown_buffer {
struct sd_shutdown_command command;
@@ -45,30 +46,29 @@ union shutdown_buffer {
};
static int read_packet(int fd, union shutdown_buffer *_b) {
- struct msghdr msghdr;
- struct iovec iovec;
struct ucred *ucred;
+ ssize_t n;
+
+ union shutdown_buffer b; /* We maintain our own copy here, in
+ * order not to corrupt the last message */
+ struct iovec iovec = {
+ iovec.iov_base = &b,
+ iovec.iov_len = sizeof(b) - 1,
+ };
union {
struct cmsghdr cmsghdr;
uint8_t buf[CMSG_SPACE(sizeof(struct ucred))];
- } control;
- ssize_t n;
- union shutdown_buffer b; /* We maintain our own copy here, in order not to corrupt the last message */
+ } control = {};
+ struct msghdr msghdr = {
+ .msg_iov = &iovec,
+ msghdr.msg_iovlen = 1,
+ msghdr.msg_control = &control,
+ msghdr.msg_controllen = sizeof(control),
+ };
assert(fd >= 0);
assert(_b);
- zero(iovec);
- iovec.iov_base = &b;
- iovec.iov_len = sizeof(b) - 1;
-
- zero(control);
- zero(msghdr);
- msghdr.msg_iov = &iovec;
- msghdr.msg_iovlen = 1;
- msghdr.msg_control = &control;
- msghdr.msg_controllen = sizeof(control);
-
n = recvmsg(fd, &msghdr, MSG_DONTWAIT);
if (n <= 0) {
if (n == 0) {
@@ -150,35 +150,32 @@ static void warn_wall(usec_t n, struct sd_shutdown_command *c) {
}
}
-static usec_t when_wall(usec_t n, usec_t elapse) {
+_const_ static usec_t when_wall(usec_t n, usec_t elapse) {
static const struct {
usec_t delay;
usec_t interval;
} table[] = {
- { 10 * USEC_PER_MINUTE, USEC_PER_MINUTE },
- { USEC_PER_HOUR, 15 * USEC_PER_MINUTE },
- { 3 * USEC_PER_HOUR, 30 * USEC_PER_MINUTE }
+ { 0, USEC_PER_MINUTE },
+ { 10 * USEC_PER_MINUTE, 15 * USEC_PER_MINUTE },
+ { USEC_PER_HOUR, 30 * USEC_PER_MINUTE },
+ { 3 * USEC_PER_HOUR, USEC_PER_HOUR },
};
usec_t left, sub;
- unsigned i;
+ unsigned i = ELEMENTSOF(table) - 1;
/* If the time is already passed, then don't announce */
if (n >= elapse)
return 0;
left = elapse - n;
- for (i = 0; i < ELEMENTSOF(table); i++)
- if (n + table[i].delay >= elapse) {
- sub = ((left / table[i].interval) * table[i].interval);
- break;
- }
-
- if (i >= ELEMENTSOF(table))
- sub = ((left / USEC_PER_HOUR) * USEC_PER_HOUR);
+ while (left < table[i].delay)
+ i--;
+ sub = (left / table[i].interval) * table[i].interval;
- return elapse > sub ? elapse - sub : 1;
+ assert(sub < elapse);
+ return elapse - sub;
}
static usec_t when_nologin(usec_t elapse) {
@@ -272,8 +269,8 @@ int main(int argc, char *argv[]) {
};
int r = EXIT_FAILURE, n_fds;
- union shutdown_buffer b;
- struct pollfd pollfd[_FD_MAX];
+ union shutdown_buffer b = {};
+ struct pollfd pollfd[_FD_MAX] = {};
bool exec_shutdown = false, unlink_nologin = false;
unsigned i;
@@ -304,9 +301,6 @@ int main(int argc, char *argv[]) {
return EXIT_FAILURE;
}
- zero(b);
- zero(pollfd);
-
pollfd[FD_SOCKET].fd = SD_LISTEN_FDS_START;
pollfd[FD_SOCKET].events = POLLIN;
@@ -404,13 +398,12 @@ int main(int argc, char *argv[]) {
}
if (pollfd[FD_WALL_TIMER].revents) {
- struct itimerspec its;
+ struct itimerspec its = {};
warn_wall(n, &b.command);
flush_fd(pollfd[FD_WALL_TIMER].fd);
/* Restart timer */
- zero(its);
timespec_store(&its.it_value, when_wall(n, b.command.usec));
if (timerfd_settime(pollfd[FD_WALL_TIMER].fd, TFD_TIMER_ABSTIME, &its, NULL) < 0) {
log_error("timerfd_settime(): %m");
@@ -423,7 +416,7 @@ int main(int argc, char *argv[]) {
log_info("Creating /run/nologin, blocking further logins...");
- e = write_one_line_file_atomic("/run/nologin", "System is going down.");
+ e = write_string_file_atomic("/run/nologin", "System is going down.");
if (e < 0)
log_error("Failed to create /run/nologin: %s", strerror(-e));
else
diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
index 218de3a567..a56ab89e54 100644
--- a/src/sleep/sleep.c
+++ b/src/sleep/sleep.c
@@ -4,6 +4,7 @@
This file is part of systemd.
Copyright 2012 Lennart Poettering
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
@@ -22,106 +23,200 @@
#include <stdio.h>
#include <errno.h>
#include <string.h>
+#include <getopt.h>
-#include "log.h"
-#include "util.h"
#include "systemd/sd-id128.h"
#include "systemd/sd-messages.h"
+#include "log.h"
+#include "util.h"
+#include "strv.h"
+#include "fileio.h"
+#include "build.h"
+#include "sleep-config.h"
+
+static char* arg_verb = NULL;
+
+static int write_mode(char **modes) {
+ int r = 0;
+ char **mode;
+
+ STRV_FOREACH(mode, modes) {
+ int k = write_string_file("/sys/power/disk", *mode);
+ if (k == 0)
+ return 0;
+ log_debug("Failed to write '%s' to /sys/power/disk: %s",
+ *mode, strerror(-k));
+ if (r == 0)
+ r = k;
+ }
-int main(int argc, char *argv[]) {
- const char *verb;
- char* arguments[4];
- int r;
- FILE *f;
+ if (r < 0)
+ log_error("Failed to write mode to /sys/power/disk: %s",
+ strerror(-r));
- log_set_target(LOG_TARGET_AUTO);
- log_parse_environment();
- log_open();
+ return r;
+}
- if (argc != 2) {
- log_error("Invalid number of arguments.");
- r = -EINVAL;
- goto finish;
+static int write_state(FILE *f0, char **states) {
+ FILE _cleanup_fclose_ *f = f0;
+ char **state;
+ int r = 0;
+
+ STRV_FOREACH(state, states) {
+ int k;
+
+ k = write_string_to_file(f, *state);
+ if (k == 0)
+ return 0;
+ log_debug("Failed to write '%s' to /sys/power/state: %s",
+ *state, strerror(-k));
+ if (r == 0)
+ r = k;
+
+ fclose(f);
+ f = fopen("/sys/power/state", "we");
+ if (!f) {
+ log_error("Failed to open /sys/power/state: %m");
+ return -errno;
+ }
}
- if (streq(argv[1], "suspend"))
- verb = "mem";
- else if (streq(argv[1], "hibernate") || streq(argv[1], "hybrid-sleep"))
- verb = "disk";
- else {
- log_error("Unknown action '%s'.", argv[1]);
- r = -EINVAL;
- goto finish;
- }
+ return r;
+}
- /* Configure the hibernation mode */
- if (streq(argv[1], "hibernate")) {
- if (write_one_line_file("/sys/power/disk", "platform") < 0)
- write_one_line_file("/sys/power/disk", "shutdown");
- } else if (streq(argv[1], "hybrid-sleep")) {
- if (write_one_line_file("/sys/power/disk", "suspend") < 0)
- if (write_one_line_file("/sys/power/disk", "platform") < 0)
- write_one_line_file("/sys/power/disk", "shutdown");
- }
+static int execute(char **modes, char **states) {
+ char* arguments[4];
+ int r;
+ FILE *f;
+ const char* note = strappenda("SLEEP=", arg_verb);
+ /* This file is opened first, so that if we hit an error,
+ * we can abort before modyfing any state. */
f = fopen("/sys/power/state", "we");
if (!f) {
log_error("Failed to open /sys/power/state: %m");
- r = -errno;
- goto finish;
+ return -errno;
}
+ /* Configure the hibernation mode */
+ r = write_mode(modes);
+ if (r < 0)
+ return r;
+
arguments[0] = NULL;
arguments[1] = (char*) "pre";
- arguments[2] = argv[1];
+ arguments[2] = arg_verb;
arguments[3] = NULL;
execute_directory(SYSTEM_SLEEP_PATH, NULL, arguments);
- if (streq(argv[1], "suspend"))
- log_struct(LOG_INFO,
- MESSAGE_ID(SD_MESSAGE_SLEEP_START),
- "MESSAGE=Suspending system...",
- "SLEEP=suspend",
- NULL);
- else if (streq(argv[1], "hibernate"))
- log_struct(LOG_INFO,
- MESSAGE_ID(SD_MESSAGE_SLEEP_START),
- "MESSAGE=Hibernating system...",
- "SLEEP=hibernate",
- NULL);
- else
- log_struct(LOG_INFO,
- MESSAGE_ID(SD_MESSAGE_SLEEP_START),
- "MESSAGE=Hibernating and suspending system...",
- "SLEEP=hybrid-sleep",
- NULL);
-
- fputs(verb, f);
- fputc('\n', f);
- fflush(f);
-
- r = ferror(f) ? -errno : 0;
-
- if (streq(argv[1], "suspend"))
- log_struct(LOG_INFO,
- MESSAGE_ID(SD_MESSAGE_SLEEP_STOP),
- "MESSAGE=System resumed.",
- "SLEEP=suspend",
- NULL);
- else
- log_struct(LOG_INFO,
- MESSAGE_ID(SD_MESSAGE_SLEEP_STOP),
- "MESSAGE=System thawed.",
- "SLEEP=hibernate",
- NULL);
+ log_struct(LOG_INFO,
+ MESSAGE_ID(SD_MESSAGE_SLEEP_START),
+ "MESSAGE=Suspending system...",
+ note,
+ NULL);
+
+ r = write_state(f, states);
+ if (r < 0)
+ return r;
+
+ log_struct(LOG_INFO,
+ MESSAGE_ID(SD_MESSAGE_SLEEP_STOP),
+ "MESSAGE=System resumed.",
+ note,
+ NULL);
arguments[1] = (char*) "post";
execute_directory(SYSTEM_SLEEP_PATH, NULL, arguments);
- fclose(f);
+ return r;
+}
-finish:
+static int help(void) {
+ printf("%s COMMAND\n\n"
+ "Suspend the system, hibernate the system, or both.\n\n"
+ "Commands:\n"
+ " -h --help Show this help and exit\n"
+ " --version Print version string and exit\n"
+ " suspend Suspend the system\n"
+ " hibernate Hibernate the system\n"
+ " hybrid-sleep Both hibernate and suspend the system\n"
+ , program_invocation_short_name
+ );
+
+ return 0;
+}
- return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
+static int parse_argv(int argc, char *argv[]) {
+ enum {
+ ARG_VERSION = 0x100,
+ };
+
+ static const struct option options[] = {
+ { "help", no_argument, NULL, 'h' },
+ { "version", no_argument, NULL, ARG_VERSION },
+ { NULL, 0, NULL, 0 }
+ };
+
+ int c;
+
+ assert(argc >= 0);
+ assert(argv);
+
+ while ((c = getopt_long(argc, argv, "+h", options, NULL)) >= 0)
+ switch(c) {
+ case 'h':
+ help();
+ return 0 /* done */;
+
+ case ARG_VERSION:
+ puts(PACKAGE_STRING);
+ puts(SYSTEMD_FEATURES);
+ return 0 /* done */;
+
+ case '?':
+ return -EINVAL;
+
+ default:
+ log_error("Unknown option code %c", c);
+ return -EINVAL;
+ }
+
+ if (argc - optind != 1) {
+ log_error("Usage: %s COMMAND",
+ program_invocation_short_name);
+ return -EINVAL;
+ }
+
+ arg_verb = argv[optind];
+ if (!streq(arg_verb, "suspend") &&
+ !streq(arg_verb, "hibernate") &&
+ !streq(arg_verb, "hybrid-sleep")) {
+ log_error("Unknown command '%s'.", arg_verb);
+ return -EINVAL;
+ }
+
+ return 1 /* work to do */;
+}
+
+int main(int argc, char *argv[]) {
+ _cleanup_strv_free_ char **modes = NULL, **states = NULL;
+ int r;
+
+ log_set_target(LOG_TARGET_AUTO);
+ log_parse_environment();
+ log_open();
+
+ r = parse_argv(argc, argv);
+ if (r <= 0)
+ goto finish;
+
+ r = parse_sleep_config(arg_verb, &modes, &states);
+ if (r < 0)
+ goto finish;
+
+ r = execute(modes, states);
+
+finish:
+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}
diff --git a/src/stdio-bridge/stdio-bridge.c b/src/stdio-bridge/stdio-bridge.c
index f926fe5538..a5bdb03416 100644
--- a/src/stdio-bridge/stdio-bridge.c
+++ b/src/stdio-bridge/stdio-bridge.c
@@ -26,121 +26,22 @@
#include <unistd.h>
#include <string.h>
#include <errno.h>
-#include <sys/epoll.h>
+#include <sys/poll.h>
#include <stddef.h>
#include "log.h"
#include "util.h"
#include "socket-util.h"
-
-#define BUFFER_SIZE (64*1024)
-#define EXTRA_SIZE 16
-
-static bool initial_nul = false;
-static bool auth_over = false;
-
-static void format_uid(char *buf, size_t l) {
- char text[20 + 1]; /* enough space for a 64bit integer plus NUL */
- unsigned j;
-
- assert(l > 0);
-
- snprintf(text, sizeof(text)-1, "%llu", (unsigned long long) geteuid());
- text[sizeof(text)-1] = 0;
-
- memset(buf, 0, l);
-
- for (j = 0; text[j] && j*2+2 < l; j++) {
- buf[j*2] = hexchar(text[j] >> 4);
- buf[j*2+1] = hexchar(text[j] & 0xF);
- }
-
- buf[j*2] = 0;
-}
-
-static size_t patch_in_line(char *line, size_t l, size_t left) {
- size_t r;
-
- if (line[0] == 0 && !initial_nul) {
- initial_nul = true;
- line += 1;
- l -= 1;
- r = 1;
- } else
- r = 0;
-
- if (l == 5 && strncmp(line, "BEGIN", 5) == 0) {
- r += l;
- auth_over = true;
-
- } else if (l == 17 && strncmp(line, "NEGOTIATE_UNIX_FD", 17) == 0) {
- memmove(line + 13, line + 17, left);
- memcpy(line, "NEGOTIATE_NOP", 13);
- r += 13;
-
- } else if (l >= 14 && strncmp(line, "AUTH EXTERNAL ", 14) == 0) {
- char uid[20*2 + 1];
- size_t len;
-
- format_uid(uid, sizeof(uid));
- len = strlen(uid);
- assert(len <= EXTRA_SIZE);
-
- memmove(line + 14 + len, line + l, left);
- memcpy(line + 14, uid, len);
-
- r += 14 + len;
- } else
- r += l;
-
- return r;
-}
-
-static size_t patch_in_buffer(char* in_buffer, size_t *in_buffer_full) {
- size_t i, good = 0;
-
- if (*in_buffer_full <= 0)
- return *in_buffer_full;
-
- /* If authentication is done, we don't touch anything anymore */
- if (auth_over)
- return *in_buffer_full;
-
- if (*in_buffer_full < 2)
- return 0;
-
- for (i = 0; i <= *in_buffer_full - 2; i ++) {
-
- /* Fully lines can be send on */
- if (in_buffer[i] == '\r' && in_buffer[i+1] == '\n') {
- if (i > good) {
- size_t old_length, new_length;
-
- old_length = i - good;
- new_length = patch_in_line(in_buffer+good, old_length, *in_buffer_full - i);
- *in_buffer_full = *in_buffer_full + new_length - old_length;
-
- good += new_length + 2;
-
- } else
- good = i+2;
- }
-
- if (auth_over)
- break;
- }
-
- return good;
-}
+#include "sd-daemon.h"
+#include "sd-bus.h"
+#include "bus-internal.h"
+#include "bus-message.h"
int main(int argc, char *argv[]) {
- int r = EXIT_FAILURE, fd = -1, ep = -1;
- union sockaddr_union sa;
- char in_buffer[BUFFER_SIZE+EXTRA_SIZE], out_buffer[BUFFER_SIZE+EXTRA_SIZE];
- size_t in_buffer_full = 0, out_buffer_full = 0;
- struct epoll_event stdin_ev, stdout_ev, fd_ev;
- bool stdin_readable = false, stdout_writable = false, fd_readable = false, fd_writable = false;
- bool stdin_rhup = false, stdout_whup = false, fd_rhup = false, fd_whup = false;
+ _cleanup_bus_unref_ sd_bus *a = NULL, *b = NULL;
+ sd_id128_t server_id;
+ bool is_unix;
+ int r;
if (argc > 1) {
log_error("This program takes no argument.");
@@ -151,217 +52,180 @@ int main(int argc, char *argv[]) {
log_parse_environment();
log_open();
- if ((fd = socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0)) < 0) {
- log_error("Failed to create socket: %s", strerror(errno));
+ is_unix =
+ sd_is_socket(STDIN_FILENO, AF_UNIX, 0, 0) > 0 &&
+ sd_is_socket(STDOUT_FILENO, AF_UNIX, 0, 0) > 0;
+
+ r = sd_bus_new(&a);
+ if (r < 0) {
+ log_error("Failed to allocate bus: %s", strerror(-r));
goto finish;
}
- zero(sa);
- sa.un.sun_family = AF_UNIX;
- strncpy(sa.un.sun_path, "/run/dbus/system_bus_socket", sizeof(sa.un.sun_path));
+ r = sd_bus_set_address(a, "unix:path=/run/dbus/system_bus_socket");
+ if (r < 0) {
+ log_error("Failed to set address to connect to: %s", strerror(-r));
+ goto finish;
+ }
- if (connect(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path)) < 0) {
- log_error("Failed to connect: %m");
+ r = sd_bus_set_negotiate_fds(a, is_unix);
+ if (r < 0) {
+ log_error("Failed to set FD negotiation: %s", strerror(-r));
goto finish;
}
- fd_nonblock(STDIN_FILENO, 1);
- fd_nonblock(STDOUT_FILENO, 1);
+ r = sd_bus_start(a);
+ if (r < 0) {
+ log_error("Failed to start bus client: %s", strerror(-r));
+ goto finish;
+ }
- if ((ep = epoll_create1(EPOLL_CLOEXEC)) < 0) {
- log_error("Failed to create epoll: %m");
+ r = sd_bus_get_server_id(a, &server_id);
+ if (r < 0) {
+ log_error("Failed to get server ID: %s", strerror(-r));
goto finish;
}
- zero(stdin_ev);
- stdin_ev.events = EPOLLIN|EPOLLET;
- stdin_ev.data.fd = STDIN_FILENO;
+ r = sd_bus_new(&b);
+ if (r < 0) {
+ log_error("Failed to allocate bus: %s", strerror(-r));
+ goto finish;
+ }
- zero(stdout_ev);
- stdout_ev.events = EPOLLOUT|EPOLLET;
- stdout_ev.data.fd = STDOUT_FILENO;
+ r = sd_bus_set_fd(b, STDIN_FILENO, STDOUT_FILENO);
+ if (r < 0) {
+ log_error("Failed to set fds: %s", strerror(-r));
+ goto finish;
+ }
- zero(fd_ev);
- fd_ev.events = EPOLLIN|EPOLLOUT|EPOLLET;
- fd_ev.data.fd = fd;
+ r = sd_bus_set_server(b, 1, server_id);
+ if (r < 0) {
+ log_error("Failed to set server mode: %s", strerror(-r));
+ goto finish;
+ }
- if (epoll_ctl(ep, EPOLL_CTL_ADD, STDIN_FILENO, &stdin_ev) < 0 ||
- epoll_ctl(ep, EPOLL_CTL_ADD, STDOUT_FILENO, &stdout_ev) < 0 ||
- epoll_ctl(ep, EPOLL_CTL_ADD, fd, &fd_ev) < 0) {
- log_error("Failed to regiser fds in epoll: %m");
+ r = sd_bus_set_negotiate_fds(b, is_unix);
+ if (r < 0) {
+ log_error("Failed to set FD negotiation: %s", strerror(-r));
goto finish;
}
- do {
- struct epoll_event ev[16];
- ssize_t k;
- int i, nfds;
+ r = sd_bus_set_anonymous(b, true);
+ if (r < 0) {
+ log_error("Failed to set anonymous authentication: %s", strerror(-r));
+ goto finish;
+ }
- if ((nfds = epoll_wait(ep, ev, ELEMENTSOF(ev), -1)) < 0) {
+ r = sd_bus_start(b);
+ if (r < 0) {
+ log_error("Failed to start bus client: %s", strerror(-r));
+ goto finish;
+ }
- if (errno == EINTR || errno == EAGAIN)
- continue;
+ for (;;) {
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
+ int events_a, events_b, fd;
+ uint64_t timeout_a, timeout_b, t;
+ struct timespec _ts, *ts;
- log_error("epoll_wait(): %m");
+ r = sd_bus_process(a, &m);
+ if (r < 0) {
+ log_error("Failed to process bus: %s", strerror(-r));
goto finish;
}
- assert(nfds >= 1);
-
- for (i = 0; i < nfds; i++) {
- if (ev[i].data.fd == STDIN_FILENO) {
-
- if (!stdin_rhup && (ev[i].events & (EPOLLHUP|EPOLLIN)))
- stdin_readable = true;
-
- } else if (ev[i].data.fd == STDOUT_FILENO) {
-
- if (ev[i].events & EPOLLHUP) {
- stdout_writable = false;
- stdout_whup = true;
- }
+ if (m) {
+ r = sd_bus_send(b, m, NULL);
+ if (r < 0) {
+ log_error("Failed to send message: %s", strerror(-r));
+ goto finish;
+ }
+ }
- if (!stdout_whup && (ev[i].events & EPOLLOUT))
- stdout_writable = true;
+ if (r > 0)
+ continue;
- } else if (ev[i].data.fd == fd) {
+ r = sd_bus_process(b, &m);
+ if (r < 0) {
+ log_error("Failed to process bus: %s", strerror(-r));
+ goto finish;
+ }
- if (ev[i].events & EPOLLHUP) {
- fd_writable = false;
- fd_whup = true;
- }
+ if (m) {
+ r = sd_bus_send(a, m, NULL);
+ if (r < 0) {
+ log_error("Failed to send message: %s", strerror(-r));
+ goto finish;
+ }
+ }
- if (!fd_rhup && (ev[i].events & (EPOLLHUP|EPOLLIN)))
- fd_readable = true;
+ if (r > 0)
+ continue;
- if (!fd_whup && (ev[i].events & EPOLLOUT))
- fd_writable = true;
- }
+ fd = sd_bus_get_fd(a);
+ if (fd < 0) {
+ log_error("Failed to get fd: %s", strerror(-r));
+ goto finish;
}
- while ((stdin_readable && in_buffer_full <= 0) ||
- (fd_writable && patch_in_buffer(in_buffer, &in_buffer_full) > 0) ||
- (fd_readable && out_buffer_full <= 0) ||
- (stdout_writable && out_buffer_full > 0)) {
-
- size_t in_buffer_good = 0;
-
- if (stdin_readable && in_buffer_full < BUFFER_SIZE) {
-
- if ((k = read(STDIN_FILENO, in_buffer + in_buffer_full, BUFFER_SIZE - in_buffer_full)) < 0) {
-
- if (errno == EAGAIN)
- stdin_readable = false;
- else if (errno == EPIPE || errno == ECONNRESET)
- k = 0;
- else {
- log_error("read(): %m");
- goto finish;
- }
- } else
- in_buffer_full += (size_t) k;
-
- if (k == 0) {
- stdin_rhup = true;
- stdin_readable = false;
- shutdown(STDIN_FILENO, SHUT_RD);
- close_nointr_nofail(STDIN_FILENO);
- }
- }
+ events_a = sd_bus_get_events(a);
+ if (events_a < 0) {
+ log_error("Failed to get events mask: %s", strerror(-r));
+ goto finish;
+ }
- in_buffer_good = patch_in_buffer(in_buffer, &in_buffer_full);
+ r = sd_bus_get_timeout(a, &timeout_a);
+ if (r < 0) {
+ log_error("Failed to get timeout: %s", strerror(-r));
+ goto finish;
+ }
- if (fd_writable && in_buffer_good > 0) {
+ events_b = sd_bus_get_events(b);
+ if (events_b < 0) {
+ log_error("Failed to get events mask: %s", strerror(-r));
+ goto finish;
+ }
- if ((k = write(fd, in_buffer, in_buffer_good)) < 0) {
+ r = sd_bus_get_timeout(b, &timeout_b);
+ if (r < 0) {
+ log_error("Failed to get timeout: %s", strerror(-r));
+ goto finish;
+ }
- if (errno == EAGAIN)
- fd_writable = false;
- else if (errno == EPIPE || errno == ECONNRESET) {
- fd_whup = true;
- fd_writable = false;
- shutdown(fd, SHUT_WR);
- } else {
- log_error("write(): %m");
- goto finish;
- }
+ t = timeout_a;
+ if (t == (uint64_t) -1 || (timeout_b != (uint64_t) -1 && timeout_b < timeout_a))
+ t = timeout_b;
- } else {
- assert(in_buffer_full >= (size_t) k);
- memmove(in_buffer, in_buffer + k, in_buffer_full - k);
- in_buffer_full -= k;
- }
- }
+ if (t == (uint64_t) -1)
+ ts = NULL;
+ else {
+ usec_t nw;
- if (fd_readable && out_buffer_full < BUFFER_SIZE) {
-
- if ((k = read(fd, out_buffer + out_buffer_full, BUFFER_SIZE - out_buffer_full)) < 0) {
-
- if (errno == EAGAIN)
- fd_readable = false;
- else if (errno == EPIPE || errno == ECONNRESET)
- k = 0;
- else {
- log_error("read(): %m");
- goto finish;
- }
- } else
- out_buffer_full += (size_t) k;
-
- if (k == 0) {
- fd_rhup = true;
- fd_readable = false;
- shutdown(fd, SHUT_RD);
- }
- }
+ nw = now(CLOCK_MONOTONIC);
+ if (t > nw)
+ t -= nw;
+ else
+ t = 0;
- if (stdout_writable && out_buffer_full > 0) {
-
- if ((k = write(STDOUT_FILENO, out_buffer, out_buffer_full)) < 0) {
-
- if (errno == EAGAIN)
- stdout_writable = false;
- else if (errno == EPIPE || errno == ECONNRESET) {
- stdout_whup = true;
- stdout_writable = false;
- shutdown(STDOUT_FILENO, SHUT_WR);
- close_nointr(STDOUT_FILENO);
- } else {
- log_error("write(): %m");
- goto finish;
- }
-
- } else {
- assert(out_buffer_full >= (size_t) k);
- memmove(out_buffer, out_buffer + k, out_buffer_full - k);
- out_buffer_full -= k;
- }
- }
+ ts = timespec_store(&_ts, t);
}
- if (stdin_rhup && in_buffer_full <= 0 && !fd_whup) {
- fd_whup = true;
- fd_writable = false;
- shutdown(fd, SHUT_WR);
- }
+ {
+ struct pollfd p[3] = {
+ {.fd = fd, .events = events_a, },
+ {.fd = STDIN_FILENO, .events = events_b & POLLIN, },
+ {.fd = STDOUT_FILENO, .events = events_b & POLLOUT, }};
- if (fd_rhup && out_buffer_full <= 0 && !stdout_whup) {
- stdout_whup = true;
- stdout_writable = false;
- shutdown(STDOUT_FILENO, SHUT_WR);
- close_nointr(STDOUT_FILENO);
+ r = ppoll(p, ELEMENTSOF(p), ts, NULL);
}
+ if (r < 0) {
+ log_error("ppoll() failed: %m");
+ goto finish;
+ }
+ }
- } while (!stdout_whup || !fd_whup);
-
- r = EXIT_SUCCESS;
+ r = 0;
finish:
- if (fd >= 0)
- close_nointr_nofail(fd);
-
- if (ep >= 0)
- close_nointr_nofail(ep);
-
- return r;
+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}
diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c
index 035e0ec321..db18dd9f6e 100644
--- a/src/sysctl/sysctl.c
+++ b/src/sysctl/sysctl.c
@@ -34,29 +34,44 @@
#include "hashmap.h"
#include "path-util.h"
#include "conf-files.h"
+#include "fileio.h"
-#define PROC_SYS_PREFIX "/proc/sys/"
+static char **arg_prefixes = NULL;
-static char **arg_prefixes;
-static Hashmap *sysctl_options;
+static const char conf_file_dirs[] =
+ "/etc/sysctl.d\0"
+ "/run/sysctl.d\0"
+ "/usr/local/lib/sysctl.d\0"
+ "/usr/lib/sysctl.d\0"
+#ifdef HAVE_SPLIT_USR
+ "/lib/sysctl.d\0"
+#endif
+ ;
+
+static char *normalize_sysctl(char *s) {
+ char *n;
+
+ for (n = s; *n; n++)
+ if (*n == '.')
+ *n = '/';
+
+ return s;
+}
static int apply_sysctl(const char *property, const char *value) {
- char *p, *n;
+ _cleanup_free_ char *p = NULL;
+ char *n;
int r = 0, k;
log_debug("Setting '%s' to '%s'", property, value);
- p = new(char, sizeof(PROC_SYS_PREFIX) + strlen(property));
+ p = new(char, sizeof("/proc/sys/") + strlen(property));
if (!p)
return log_oom();
- n = stpcpy(p, PROC_SYS_PREFIX);
+ n = stpcpy(p, "/proc/sys/");
strcpy(n, property);
- for (; *n; n++)
- if (*n == '.')
- *n = '/';
-
if (!strv_isempty(arg_prefixes)) {
char **i;
bool good = false;
@@ -69,14 +84,12 @@ static int apply_sysctl(const char *property, const char *value) {
if (!good) {
log_debug("Skipping %s", p);
- free(p);
return 0;
}
}
- k = write_one_line_file(p, value);
+ k = write_string_file(p, value);
if (k < 0) {
-
log_full(k == -ENOENT ? LOG_DEBUG : LOG_WARNING,
"Failed to write '%s' to '%s': %s", value, p, strerror(-k));
@@ -84,16 +97,16 @@ static int apply_sysctl(const char *property, const char *value) {
r = k;
}
- free(p);
-
return r;
}
-static int apply_all(void) {
+static int apply_all(Hashmap *sysctl_options) {
int r = 0;
char *property, *value;
Iterator i;
+ assert(sysctl_options);
+
HASHMAP_FOREACH_KEY(value, property, sysctl_options, i) {
int k;
@@ -104,40 +117,39 @@ static int apply_all(void) {
return r;
}
-static int parse_file(const char *path, bool ignore_enoent) {
- FILE *f;
- int r = 0;
+static int parse_file(Hashmap *sysctl_options, const char *path, bool ignore_enoent) {
+ _cleanup_fclose_ FILE *f = NULL;
+ int r;
assert(path);
- f = fopen(path, "re");
- if (!f) {
- if (ignore_enoent && errno == ENOENT)
+ r = search_and_fopen_nulstr(path, "re", conf_file_dirs, &f);
+ if (r < 0) {
+ if (ignore_enoent && r == -ENOENT)
return 0;
- log_error("Failed to open file '%s', ignoring: %m", path);
- return -errno;
+ log_error("Failed to open file '%s', ignoring: %s", path, strerror(-r));
+ return r;
}
log_debug("parse: %s\n", path);
while (!feof(f)) {
- char l[LINE_MAX], *p, *value, *new_value, *property;
+ char l[LINE_MAX], *p, *value, *new_value, *property, *existing;
+ int k;
if (!fgets(l, sizeof(l), f)) {
if (feof(f))
break;
log_error("Failed to read file '%s', ignoring: %m", path);
- r = -errno;
- goto finish;
+ return -errno;
}
p = strstrip(l);
-
if (!*p)
continue;
- if (strchr(COMMENTS, *p))
+ if (strchr(COMMENTS "\n", *p))
continue;
value = strchr(p, '=');
@@ -152,40 +164,37 @@ static int parse_file(const char *path, bool ignore_enoent) {
*value = 0;
value++;
- property = strdup(strstrip(p));
- if (!property) {
- r = log_oom();
- goto finish;
+ p = normalize_sysctl(strstrip(p));
+ value = strstrip(value);
+
+ existing = hashmap_get(sysctl_options, p);
+ if (existing) {
+ if (!streq(value, existing))
+ log_warning("Duplicate assignment of %s in file '%s', ignoring.",
+ p, path);
+
+ continue;
}
- new_value = strdup(strstrip(value));
+ property = strdup(p);
+ if (!property)
+ return log_oom();
+
+ new_value = strdup(value);
if (!new_value) {
free(property);
- r = log_oom();
- goto finish;
+ return log_oom();
}
- r = hashmap_put(sysctl_options, property, new_value);
- if (r < 0) {
- if (r == -EEXIST) {
- /* ignore this "error" to avoid returning it
- * for the function when this is the last key
- * in the file being parsed. */
- r = 0;
- log_debug("Skipping previously assigned sysctl variable %s", property);
- } else
- log_error("Failed to add sysctl variable %s to hashmap: %s", property, strerror(-r));
-
+ k = hashmap_put(sysctl_options, property, new_value);
+ if (k < 0) {
+ log_error("Failed to add sysctl variable %s to hashmap: %s", property, strerror(-r));
free(property);
free(new_value);
- if (r != 0)
- goto finish;
+ return k;
}
}
-finish:
- fclose(f);
-
return r;
}
@@ -257,8 +266,7 @@ static int parse_argv(int argc, char *argv[]) {
int main(int argc, char *argv[]) {
int r = 0, k;
- char *property, *value;
- Iterator it;
+ Hashmap *sysctl_options;
r = parse_argv(argc, argv);
if (r <= 0)
@@ -282,54 +290,35 @@ int main(int argc, char *argv[]) {
int i;
for (i = optind; i < argc; i++) {
- k = parse_file(argv[i], false);
- if (k < 0)
+ k = parse_file(sysctl_options, argv[i], false);
+ if (k < 0 && r == 0)
r = k;
}
} else {
- char **files, **f;
+ _cleanup_strv_free_ char **files = NULL;
+ char **f;
- r = conf_files_list(&files, ".conf",
- "/etc/sysctl.d",
- "/run/sysctl.d",
- "/usr/local/lib/sysctl.d",
- "/usr/lib/sysctl.d",
-#ifdef HAVE_SPLIT_USR
- "/lib/sysctl.d",
-#endif
- NULL);
+ r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs);
if (r < 0) {
log_error("Failed to enumerate sysctl.d files: %s", strerror(-r));
goto finish;
}
- /* We parse the files in decreasing order of precedence.
- * parse_file() will skip keys that were already assigned. */
+ r = parse_file(sysctl_options, "/etc/sysctl.conf", true);
- r = parse_file("/etc/sysctl.conf", true);
-
- f = files + strv_length(files) - 1;
- STRV_FOREACH_BACKWARDS(f, files) {
- k = parse_file(*f, true);
- if (k < 0)
+ STRV_FOREACH(f, files) {
+ k = parse_file(sysctl_options, *f, true);
+ if (k < 0 && r == 0)
r = k;
}
-
- strv_free(files);
}
- k = apply_all();
- if (k < 0)
+ k = apply_all(sysctl_options);
+ if (k < 0 && r == 0)
r = k;
finish:
- HASHMAP_FOREACH_KEY(value, property, sysctl_options, it) {
- hashmap_remove(sysctl_options, property);
- free(property);
- free(value);
- }
- hashmap_free(sysctl_options);
-
+ hashmap_free_free_free(sysctl_options);
strv_free(arg_prefixes);
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
diff --git a/src/system-update-generator/system-update-generator.c b/src/system-update-generator/system-update-generator.c
index 6660192f5e..13b8a0c426 100644
--- a/src/system-update-generator/system-update-generator.c
+++ b/src/system-update-generator/system-update-generator.c
@@ -36,7 +36,7 @@ static const char *arg_dest = "/tmp";
static int generate_symlink(void) {
struct stat st;
- char *p;
+ char _cleanup_free_ *p = NULL;
if (lstat("/system-update", &st) < 0) {
if (errno == ENOENT)
@@ -51,13 +51,10 @@ static int generate_symlink(void) {
return log_oom();
if (symlink(SYSTEM_DATA_UNIT_PATH "/system-update.target", p) < 0) {
- free(p);
- log_error("Failed to create symlink: %m");
+ log_error("Failed to create symlink %s: %m", p);
return -errno;
}
- free(p);
-
return 0;
}
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 2ebfff8daf..3cca861cf6 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -38,6 +38,7 @@
#include <systemd/sd-daemon.h>
#include <systemd/sd-shutdown.h>
+#include <systemd/sd-login.h>
#include "log.h"
#include "util.h"
@@ -65,11 +66,18 @@
#include "logs-show.h"
#include "path-util.h"
#include "socket-util.h"
+#include "fileio.h"
-static const char *arg_type = NULL;
-static const char *arg_load_state = NULL;
-static char **arg_property = NULL;
+static char **arg_types = NULL;
+static char **arg_load_states = NULL;
+static char **arg_properties = NULL;
static bool arg_all = false;
+static enum dependency {
+ DEPENDENCY_FORWARD,
+ DEPENDENCY_REVERSE,
+ DEPENDENCY_AFTER,
+ DEPENDENCY_BEFORE,
+} arg_dependency = DEPENDENCY_FORWARD;
static const char *arg_job_mode = "replace";
static UnitFileScope arg_scope = UNIT_FILE_SYSTEM;
static bool arg_no_block = false;
@@ -78,6 +86,8 @@ static bool arg_no_pager = false;
static bool arg_no_wtmp = false;
static bool arg_no_wall = false;
static bool arg_no_reload = false;
+static bool arg_show_types = false;
+static bool arg_ignore_inhibitors = false;
static bool arg_dry = false;
static bool arg_quiet = false;
static bool arg_full = false;
@@ -114,11 +124,6 @@ static enum action {
ACTION_CANCEL_SHUTDOWN,
_ACTION_MAX
} arg_action = ACTION_SYSTEMCTL;
-static enum dot {
- DOT_ALL,
- DOT_ORDER,
- DOT_REQUIRE
-} arg_dot = DOT_ALL;
static enum transport {
TRANSPORT_NORMAL,
TRANSPORT_SSH,
@@ -127,6 +132,7 @@ static enum transport {
static const char *arg_host = NULL;
static unsigned arg_lines = 10;
static OutputMode arg_output = OUTPUT_SHORT;
+static bool arg_plain = false;
static bool private_bus = false;
@@ -138,7 +144,7 @@ static void pager_open_if_enabled(void) {
if (arg_no_pager)
return;
- pager_open();
+ pager_open(false);
}
static void ask_password_agent_open_if_enabled(void) {
@@ -236,21 +242,18 @@ static void warn_wall(enum action a) {
return;
if (arg_wall) {
- char *p;
+ _cleanup_free_ char *p;
p = strv_join(arg_wall, " ");
if (!p) {
- log_error("Failed to join strings.");
+ log_oom();
return;
}
if (*p) {
utmp_wall(p, NULL);
- free(p);
return;
}
-
- free(p);
}
if (!table[a])
@@ -276,19 +279,6 @@ static bool avoid_bus(void) {
return false;
}
-struct unit_info {
- const char *id;
- const char *description;
- const char *load_state;
- const char *active_state;
- const char *sub_state;
- const char *following;
- const char *unit_path;
- uint32_t job_id;
- const char *job_type;
- const char *job_path;
-};
-
static int compare_unit_info(const void *a, const void *b) {
const char *d1, *d2;
const struct unit_info *u = a, *v = b;
@@ -299,7 +289,8 @@ static int compare_unit_info(const void *a, const void *b) {
if (d1 && d2) {
int r;
- if ((r = strcasecmp(d1, d2)) != 0)
+ r = strcasecmp(d1, d2);
+ if (r != 0)
return r;
}
@@ -312,9 +303,9 @@ static bool output_show_unit(const struct unit_info *u) {
if (arg_failed)
return streq(u->active_state, "failed");
- return (!arg_type || ((dot = strrchr(u->id, '.')) &&
- streq(dot+1, arg_type))) &&
- (!arg_load_state || streq(u->load_state, arg_load_state)) &&
+ return (!arg_types || ((dot = strrchr(u->id, '.')) &&
+ strv_find(arg_types, dot+1))) &&
+ (!arg_load_states || strv_find(arg_load_states, u->load_state)) &&
(arg_all || !(streq(u->active_state, "inactive")
|| u->following[0]) || u->job_id > 0);
}
@@ -345,7 +336,7 @@ static void output_units_list(const struct unit_info *unit_infos, unsigned c) {
if (!arg_full) {
unsigned basic_len;
- id_len = MIN(max_id_len, 25);
+ id_len = MIN(max_id_len, 25u);
basic_len = 5 + id_len + 5 + active_len + sub_len;
if (job_count)
basic_len += job_len + 1;
@@ -354,7 +345,7 @@ static void output_units_list(const struct unit_info *unit_infos, unsigned c) {
extra_len = columns() - basic_len;
/* Either UNIT already got 25, or is fully satisfied.
* Grant up to 25 to DESC now. */
- incr = MIN(extra_len, 25);
+ incr = MIN(extra_len, 25u);
desc_len += incr;
extra_len -= incr;
/* split the remaining space between UNIT and DESC,
@@ -369,9 +360,9 @@ static void output_units_list(const struct unit_info *unit_infos, unsigned c) {
id_len = max_id_len;
for (u = unit_infos; u < unit_infos + c; u++) {
- char *e;
- const char *on_loaded, *off_loaded;
- const char *on_active, *off_active;
+ _cleanup_free_ char *e = NULL;
+ const char *on_loaded, *off_loaded, *on = "";
+ const char *on_active, *off_active, *off = "";
if (!output_show_unit(u))
continue;
@@ -390,21 +381,21 @@ static void output_units_list(const struct unit_info *unit_infos, unsigned c) {
n_shown++;
if (streq(u->load_state, "error")) {
- on_loaded = ansi_highlight_red(true);
- off_loaded = ansi_highlight_red(false);
+ on_loaded = on = ansi_highlight_red(true);
+ off_loaded = off = ansi_highlight_red(false);
} else
on_loaded = off_loaded = "";
if (streq(u->active_state, "failed")) {
- on_active = ansi_highlight_red(true);
- off_active = ansi_highlight_red(false);
+ on_active = on = ansi_highlight_red(true);
+ off_active = off = ansi_highlight_red(false);
} else
on_active = off_active = "";
e = arg_full ? NULL : ellipsize(u->id, id_len, 33);
- printf("%-*s %s%-6s%s %s%-*s %-*s%s %-*s",
- id_len, e ? e : u->id,
+ printf("%s%-*s%s %s%-6s%s %s%-*s %-*s%s %-*s",
+ on, id_len, e ? e : u->id, off,
on_loaded, u->load_state, off_loaded,
on_active, active_len, u->active_state,
sub_len, u->sub_state, off_active,
@@ -413,8 +404,6 @@ static void output_units_list(const struct unit_info *unit_infos, unsigned c) {
printf("%.*s\n", desc_len, u->description);
else
printf("%s\n", u->description);
-
- free(e);
}
if (!arg_no_legend) {
@@ -445,96 +434,334 @@ static void output_units_list(const struct unit_info *unit_infos, unsigned c) {
}
}
-static int list_units(DBusConnection *bus, char **args) {
- DBusMessage *reply = NULL;
+static int get_unit_list(DBusConnection *bus, DBusMessage **reply,
+ struct unit_info **unit_infos, unsigned *c) {
+ DBusMessageIter iter, sub;
+ size_t size = 0;
int r;
- DBusMessageIter iter, sub, sub2;
- unsigned c = 0, n_units = 0;
- struct unit_info *unit_infos = NULL;
- pager_open_if_enabled();
+ assert(bus);
+ assert(unit_infos);
+ assert(c);
- r = bus_method_call_with_reply (
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
"ListUnits",
- &reply,
+ reply,
NULL,
DBUS_TYPE_INVALID);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
- if (!dbus_message_iter_init(reply, &iter) ||
+ if (!dbus_message_iter_init(*reply, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_STRUCT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&iter, &sub);
while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
- struct unit_info *u;
+ if (!GREEDY_REALLOC(*unit_infos, size, *c + 1))
+ return log_oom();
- if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT) {
+ bus_parse_unit_info(&sub, *unit_infos + *c);
+ (*c)++;
+
+ dbus_message_iter_next(&sub);
+ }
+
+ return 0;
+}
+
+static int list_units(DBusConnection *bus, char **args) {
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ _cleanup_free_ struct unit_info *unit_infos = NULL;
+ unsigned c = 0;
+ int r;
+
+ pager_open_if_enabled();
+
+ r = get_unit_list(bus, &reply, &unit_infos, &c);
+ if (r < 0)
+ return r;
+
+ qsort(unit_infos, c, sizeof(struct unit_info), compare_unit_info);
+
+ output_units_list(unit_infos, c);
+
+ return 0;
+}
+
+static int get_triggered_units(DBusConnection *bus, const char* unit_path,
+ char*** triggered)
+{
+ const char *interface = "org.freedesktop.systemd1.Unit",
+ *triggers_property = "Triggers";
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ DBusMessageIter iter, sub;
+ int r;
+
+ r = bus_method_call_with_reply(bus,
+ "org.freedesktop.systemd1",
+ unit_path,
+ "org.freedesktop.DBus.Properties",
+ "Get",
+ &reply,
+ NULL,
+ DBUS_TYPE_STRING, &interface,
+ DBUS_TYPE_STRING, &triggers_property,
+ DBUS_TYPE_INVALID);
+ if (r < 0)
+ return r;
+
+ if (!dbus_message_iter_init(reply, &iter) ||
+ dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) {
+ log_error("Failed to parse reply.");
+ return -EBADMSG;
+ }
+
+ dbus_message_iter_recurse(&iter, &sub);
+ dbus_message_iter_recurse(&sub, &iter);
+ sub = iter;
+
+ while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
+ const char *unit;
+
+ if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRING) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EBADMSG;
}
- if (c >= n_units) {
- struct unit_info *w;
+ dbus_message_iter_get_basic(&sub, &unit);
+ r = strv_extend(triggered, unit);
+ if (r < 0)
+ return r;
- n_units = MAX(2*c, 16);
- w = realloc(unit_infos, sizeof(struct unit_info) * n_units);
+ dbus_message_iter_next(&sub);
+ }
- if (!w) {
- log_error("Failed to allocate unit array.");
- r = -ENOMEM;
- goto finish;
- }
+ return 0;
+}
- unit_infos = w;
- }
+static int get_listening(DBusConnection *bus, const char* unit_path,
+ char*** listen, unsigned *c)
+{
+ const char *interface = "org.freedesktop.systemd1.Socket",
+ *listen_property = "Listen";
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ DBusMessageIter iter, sub;
+ int r;
- u = unit_infos+c;
+ r = bus_method_call_with_reply(bus,
+ "org.freedesktop.systemd1",
+ unit_path,
+ "org.freedesktop.DBus.Properties",
+ "Get",
+ &reply,
+ NULL,
+ DBUS_TYPE_STRING, &interface,
+ DBUS_TYPE_STRING, &listen_property,
+ DBUS_TYPE_INVALID);
+ if (r < 0)
+ return r;
- dbus_message_iter_recurse(&sub, &sub2);
+ if (!dbus_message_iter_init(reply, &iter) ||
+ dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) {
+ log_error("Failed to parse reply.");
+ return -EBADMSG;
+ }
+
+ dbus_message_iter_recurse(&iter, &sub);
+ dbus_message_iter_recurse(&sub, &iter);
+ sub = iter;
+
+ while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
+ DBusMessageIter sub2;
+ const char *type, *path;
- if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &u->id, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &u->description, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &u->load_state, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &u->active_state, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &u->sub_state, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &u->following, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_OBJECT_PATH, &u->unit_path, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_UINT32, &u->job_id, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &u->job_type, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_OBJECT_PATH, &u->job_path, false) < 0) {
+ if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EBADMSG;
+ }
+
+ dbus_message_iter_recurse(&sub, &sub2);
+
+ if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &type, true) >= 0 &&
+ bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &path, false) >= 0) {
+ r = strv_extend(listen, type);
+ if (r < 0)
+ return r;
+
+ r = strv_extend(listen, path);
+ if (r < 0)
+ return r;
+
+ (*c) ++;
}
dbus_message_iter_next(&sub);
- c++;
}
- if (c > 0) {
- qsort(unit_infos, c, sizeof(struct unit_info), compare_unit_info);
- output_units_list(unit_infos, c);
+ return 0;
+}
+
+struct socket_info {
+ const char* id;
+
+ char* type;
+ char* path;
+
+ /* Note: triggered is a list here, although it almost certainly
+ * will always be one unit. Nevertheless, dbus API allows for multiple
+ * values, so let's follow that.*/
+ char** triggered;
+
+ /* The strv above is shared. free is set only in the first one. */
+ bool own_triggered;
+};
+
+static int socket_info_compare(struct socket_info *a, struct socket_info *b) {
+ int o = strcmp(a->path, b->path);
+ if (o == 0)
+ o = strcmp(a->type, b->type);
+ return o;
+}
+
+static int output_sockets_list(struct socket_info *socket_infos, unsigned cs) {
+ struct socket_info *s;
+ unsigned pathlen = sizeof("LISTEN") - 1,
+ typelen = (sizeof("TYPE") - 1) * arg_show_types,
+ socklen = sizeof("UNIT") - 1,
+ servlen = sizeof("ACTIVATES") - 1;
+ const char *on, *off;
+
+ for (s = socket_infos; s < socket_infos + cs; s++) {
+ char **a;
+ unsigned tmp = 0;
+
+ socklen = MAX(socklen, strlen(s->id));
+ if (arg_show_types)
+ typelen = MAX(typelen, strlen(s->type));
+ pathlen = MAX(pathlen, strlen(s->path));
+
+ STRV_FOREACH(a, s->triggered)
+ tmp += strlen(*a) + 2*(a != s->triggered);
+ servlen = MAX(servlen, tmp);
+ }
+
+ if (cs) {
+ printf("%-*s %-*.*s%-*s %s\n",
+ pathlen, "LISTEN",
+ typelen + arg_show_types, typelen + arg_show_types, "TYPE ",
+ socklen, "UNIT",
+ "ACTIVATES");
+
+ for (s = socket_infos; s < socket_infos + cs; s++) {
+ char **a;
+
+ if (arg_show_types)
+ printf("%-*s %-*s %-*s",
+ pathlen, s->path, typelen, s->type, socklen, s->id);
+ else
+ printf("%-*s %-*s",
+ pathlen, s->path, socklen, s->id);
+ STRV_FOREACH(a, s->triggered)
+ printf("%s %s",
+ a == s->triggered ? "" : ",", *a);
+ printf("\n");
+ }
+
+ on = ansi_highlight(true);
+ off = ansi_highlight(false);
+ printf("\n");
+ } else {
+ on = ansi_highlight_red(true);
+ off = ansi_highlight_red(false);
}
-finish:
- if (reply)
- dbus_message_unref(reply);
+ printf("%s%u sockets listed.%s\n", on, cs, off);
+ if (!arg_all)
+ printf("Pass --all to see loaded but inactive sockets, too.\n");
- free(unit_infos);
+ return 0;
+}
- return r;
+static int list_sockets(DBusConnection *bus, char **args) {
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ _cleanup_free_ struct unit_info *unit_infos = NULL;
+ struct socket_info *socket_infos = NULL;
+ const struct unit_info *u;
+ struct socket_info *s;
+ unsigned cu = 0, cs = 0;
+ size_t size = 0;
+ int r;
+
+ pager_open_if_enabled();
+
+ r = get_unit_list(bus, &reply, &unit_infos, &cu);
+ if (r < 0)
+ return r;
+
+ for (u = unit_infos; u < unit_infos + cu; u++) {
+ const char *dot;
+ _cleanup_strv_free_ char **listen = NULL, **triggered = NULL;
+ unsigned c = 0, i;
+
+ if (!output_show_unit(u))
+ continue;
+
+ if ((dot = strrchr(u->id, '.')) && !streq(dot+1, "socket"))
+ continue;
+
+ r = get_triggered_units(bus, u->unit_path, &triggered);
+ if (r < 0)
+ goto cleanup;
+
+ r = get_listening(bus, u->unit_path, &listen, &c);
+ if (r < 0)
+ goto cleanup;
+
+ if (!GREEDY_REALLOC(socket_infos, size, cs + c)) {
+ r = log_oom();
+ goto cleanup;
+ }
+
+ for (i = 0; i < c; i++)
+ socket_infos[cs + i] = (struct socket_info) {
+ .id = u->id,
+ .type = listen[i*2],
+ .path = listen[i*2 + 1],
+ .triggered = triggered,
+ .own_triggered = i==0,
+ };
+
+ /* from this point on we will cleanup those socket_infos */
+ cs += c;
+ free(listen);
+ listen = triggered = NULL; /* avoid cleanup */
+ }
+
+ qsort(socket_infos, cs, sizeof(struct socket_info),
+ (__compar_fn_t) socket_info_compare);
+
+ output_sockets_list(socket_infos, cs);
+
+ cleanup:
+ assert(cs == 0 || socket_infos);
+ for (s = socket_infos; s < socket_infos + cs; s++) {
+ free(s->type);
+ free(s->path);
+ if (s->own_triggered)
+ strv_free(s->triggered);
+ }
+ free(socket_infos);
+
+ return 0;
}
static int compare_unit_file_list(const void *a, const void *b) {
@@ -558,7 +785,7 @@ static int compare_unit_file_list(const void *a, const void *b) {
static bool output_show_unit_file(const UnitFileList *u) {
const char *dot;
- return !arg_type || ((dot = strrchr(u->path, '.')) && streq(dot+1, arg_type));
+ return !arg_types || ((dot = strrchr(u->path, '.')) && strv_find(arg_types, dot+1));
}
static void output_unit_file_list(const UnitFileList *units, unsigned c) {
@@ -577,7 +804,7 @@ static void output_unit_file_list(const UnitFileList *units, unsigned c) {
if (!arg_full) {
unsigned basic_cols;
- id_cols = MIN(max_id_len, 25);
+ id_cols = MIN(max_id_len, 25u);
basic_cols = 1 + id_cols + state_cols;
if (basic_cols < (unsigned) columns())
id_cols += MIN(columns() - basic_cols, max_id_len - id_cols);
@@ -588,7 +815,7 @@ static void output_unit_file_list(const UnitFileList *units, unsigned c) {
printf("%-*s %-*s\n", id_cols, "UNIT FILE", state_cols, "STATE");
for (u = units; u < units + c; u++) {
- char *e;
+ _cleanup_free_ char *e = NULL;
const char *on, *off;
const char *id;
@@ -616,8 +843,6 @@ static void output_unit_file_list(const UnitFileList *units, unsigned c) {
printf("%-*s %s%-*s%s\n",
id_cols, e ? e : id,
on, state_cols, unit_file_state_to_string(u->state), off);
-
- free(e);
}
if (!arg_no_legend)
@@ -625,11 +850,11 @@ static void output_unit_file_list(const UnitFileList *units, unsigned c) {
}
static int list_unit_files(DBusConnection *bus, char **args) {
- DBusMessage *reply = NULL;
- int r;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ _cleanup_free_ UnitFileList *units = NULL;
DBusMessageIter iter, sub, sub2;
unsigned c = 0, n_units = 0;
- UnitFileList *units = NULL;
+ int r;
pager_open_if_enabled();
@@ -663,7 +888,7 @@ static int list_unit_files(DBusConnection *bus, char **args) {
hashmap_free(h);
} else {
- r = bus_method_call_with_reply (
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
@@ -672,15 +897,14 @@ static int list_unit_files(DBusConnection *bus, char **args) {
&reply,
NULL,
DBUS_TYPE_INVALID);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
if (!dbus_message_iter_init(reply, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_STRUCT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&iter, &sub);
@@ -689,36 +913,27 @@ static int list_unit_files(DBusConnection *bus, char **args) {
UnitFileList *u;
const char *state;
- if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT) {
- log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
- }
+ assert(dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_STRUCT);
if (c >= n_units) {
UnitFileList *w;
- n_units = MAX(2*c, 16);
+ n_units = MAX(2*c, 16u);
w = realloc(units, sizeof(struct UnitFileList) * n_units);
-
- if (!w) {
- log_error("Failed to allocate unit array.");
- r = -ENOMEM;
- goto finish;
- }
+ if (!w)
+ return log_oom();
units = w;
}
- u = units+c;
+ u = units + c;
dbus_message_iter_recurse(&sub, &sub2);
if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &u->path, true) < 0 ||
bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &state, false) < 0) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
u->state = unit_file_state_from_string(state);
@@ -733,99 +948,95 @@ static int list_unit_files(DBusConnection *bus, char **args) {
output_unit_file_list(units, c);
}
- r = 0;
-
-finish:
- if (reply)
- dbus_message_unref(reply);
-
- free(units);
-
- return r;
+ return 0;
}
-static int dot_one_property(const char *name, const char *prop, DBusMessageIter *iter) {
- static const char * const colors[] = {
- "Requires", "[color=\"black\"]",
- "RequiresOverridable", "[color=\"black\"]",
- "Requisite", "[color=\"darkblue\"]",
- "RequisiteOverridable", "[color=\"darkblue\"]",
- "Wants", "[color=\"grey66\"]",
- "Conflicts", "[color=\"red\"]",
- "ConflictedBy", "[color=\"red\"]",
- "After", "[color=\"green\"]"
- };
-
- const char *c = NULL;
- unsigned i;
-
- assert(name);
- assert(prop);
- assert(iter);
-
- for (i = 0; i < ELEMENTSOF(colors); i += 2)
- if (streq(colors[i], prop)) {
- c = colors[i+1];
- break;
+static int list_dependencies_print(const char *name, int level, unsigned int branches, bool last) {
+ int i;
+ _cleanup_free_ char *n = NULL;
+ size_t len = 0;
+ size_t max_len = MAX(columns(),20u);
+
+ if (!arg_plain) {
+ for (i = level - 1; i >= 0; i--) {
+ len += 2;
+ if(len > max_len - 3 && !arg_full) {
+ printf("%s...\n",max_len % 2 ? "" : " ");
+ return 0;
+ }
+ printf("%s", draw_special_char(branches & (1 << i) ? DRAW_TREE_VERT : DRAW_TREE_SPACE));
}
+ len += 2;
+ if(len > max_len - 3 && !arg_full) {
+ printf("%s...\n",max_len % 2 ? "" : " ");
+ return 0;
+ }
+ printf("%s", draw_special_char(last ? DRAW_TREE_RIGHT : DRAW_TREE_BRANCH));
+ }
- if (!c)
+ if(arg_full){
+ printf("%s\n", name);
return 0;
+ }
- if (arg_dot != DOT_ALL)
- if ((arg_dot == DOT_ORDER) != streq(prop, "After"))
- return 0;
-
- switch (dbus_message_iter_get_arg_type(iter)) {
+ n = ellipsize(name, max_len-len, 100);
+ if(!n)
+ return log_oom();
- case DBUS_TYPE_ARRAY:
+ printf("%s\n", n);
+ return 0;
+}
- if (dbus_message_iter_get_element_type(iter) == DBUS_TYPE_STRING) {
- DBusMessageIter sub;
+static int list_dependencies_get_dependencies(DBusConnection *bus, const char *name, char ***deps) {
+ static const char *dependencies[] = {
+ [DEPENDENCY_FORWARD] = "Requires\0"
+ "RequiresOverridable\0"
+ "Requisite\0"
+ "RequisiteOverridable\0"
+ "Wants\0",
+ [DEPENDENCY_REVERSE] = "RequiredBy\0"
+ "RequiredByOverridable\0"
+ "WantedBy\0"
+ "PartOf\0",
+ [DEPENDENCY_AFTER] = "After\0",
+ [DEPENDENCY_BEFORE] = "Before\0",
+ };
- dbus_message_iter_recurse(iter, &sub);
+ _cleanup_free_ char *path;
+ const char *interface = "org.freedesktop.systemd1.Unit";
- while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
- const char *s;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ DBusMessageIter iter, sub, sub2, sub3;
- assert(dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_STRING);
- dbus_message_iter_get_basic(&sub, &s);
- printf("\t\"%s\"->\"%s\" %s;\n", name, s, c);
+ int r = 0;
+ char **ret = NULL;
- dbus_message_iter_next(&sub);
- }
+ assert(bus);
+ assert(name);
+ assert(deps);
- return 0;
- }
+ path = unit_dbus_path_from_name(name);
+ if (path == NULL) {
+ r = -EINVAL;
+ goto finish;
}
- return 0;
-}
-
-static int dot_one(DBusConnection *bus, const char *name, const char *path) {
- DBusMessage *reply = NULL;
- const char *interface = "org.freedesktop.systemd1.Unit";
- int r;
- DBusMessageIter iter, sub, sub2, sub3;
-
- assert(path);
-
- r = bus_method_call_with_reply (
- bus,
- "org.freedesktop.systemd1",
- path,
- "org.freedesktop.DBus.Properties",
- "GetAll",
- &reply,
- NULL,
- DBUS_TYPE_STRING, &interface,
- DBUS_TYPE_INVALID);
- if (r)
+ r = bus_method_call_with_reply(
+ bus,
+ "org.freedesktop.systemd1",
+ path,
+ "org.freedesktop.DBus.Properties",
+ "GetAll",
+ &reply,
+ NULL,
+ DBUS_TYPE_STRING, &interface,
+ DBUS_TYPE_INVALID);
+ if (r < 0)
goto finish;
if (!dbus_message_iter_init(reply, &iter) ||
- dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
- dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_DICT_ENTRY) {
+ dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
+ dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_DICT_ENTRY) {
log_error("Failed to parse reply.");
r = -EIO;
goto finish;
@@ -836,12 +1047,7 @@ static int dot_one(DBusConnection *bus, const char *name, const char *path) {
while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
const char *prop;
- if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_DICT_ENTRY) {
- log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
- }
-
+ assert(dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_DICT_ENTRY);
dbus_message_iter_recurse(&sub, &sub2);
if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &prop, true) < 0) {
@@ -850,118 +1056,203 @@ static int dot_one(DBusConnection *bus, const char *name, const char *path) {
goto finish;
}
- if (dbus_message_iter_get_arg_type(&sub2) != DBUS_TYPE_VARIANT) {
+ if (dbus_message_iter_get_arg_type(&sub2) != DBUS_TYPE_VARIANT) {
log_error("Failed to parse reply.");
r = -EIO;
goto finish;
}
dbus_message_iter_recurse(&sub2, &sub3);
+ dbus_message_iter_next(&sub);
- if (dot_one_property(name, prop, &sub3)) {
- log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
- }
+ assert(arg_dependency < ELEMENTSOF(dependencies));
+ if (!nulstr_contains(dependencies[arg_dependency], prop))
+ continue;
- dbus_message_iter_next(&sub);
- }
+ if (dbus_message_iter_get_arg_type(&sub3) == DBUS_TYPE_ARRAY) {
+ if (dbus_message_iter_get_element_type(&sub3) == DBUS_TYPE_STRING) {
+ DBusMessageIter sub4;
+ dbus_message_iter_recurse(&sub3, &sub4);
-finish:
- if (reply)
- dbus_message_unref(reply);
+ while (dbus_message_iter_get_arg_type(&sub4) != DBUS_TYPE_INVALID) {
+ const char *s;
+
+ assert(dbus_message_iter_get_arg_type(&sub4) == DBUS_TYPE_STRING);
+ dbus_message_iter_get_basic(&sub4, &s);
+
+ r = strv_extend(&ret, s);
+ if (r < 0) {
+ log_oom();
+ goto finish;
+ }
+ dbus_message_iter_next(&sub4);
+ }
+ }
+ }
+ }
+finish:
+ if (r < 0)
+ strv_free(ret);
+ else
+ *deps = ret;
return r;
}
-static int dot(DBusConnection *bus, char **args) {
- DBusMessage *reply = NULL;
- int r;
- DBusMessageIter iter, sub, sub2;
+static int list_dependencies_compare(const void *_a, const void *_b) {
+ const char **a = (const char**) _a, **b = (const char**) _b;
+ if (unit_name_to_type(*a) == UNIT_TARGET && unit_name_to_type(*b) != UNIT_TARGET)
+ return 1;
+ if (unit_name_to_type(*a) != UNIT_TARGET && unit_name_to_type(*b) == UNIT_TARGET)
+ return -1;
+ return strcasecmp(*a, *b);
+}
- r = bus_method_call_with_reply (
- bus,
- "org.freedesktop.systemd1",
- "/org/freedesktop/systemd1",
- "org.freedesktop.systemd1.Manager",
- "ListUnits",
- &reply,
- NULL,
- DBUS_TYPE_INVALID);
- if (r)
- goto finish;
+static int list_dependencies_one(DBusConnection *bus, const char *name, int level, char ***units, unsigned int branches) {
+ _cleanup_strv_free_ char **deps = NULL, **u;
+ char **c;
+ int r = 0;
- if (!dbus_message_iter_init(reply, &iter) ||
- dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
- dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_STRUCT) {
- log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
- }
+ u = strv_append(*units, name);
+ if (!u)
+ return log_oom();
- printf("digraph systemd {\n");
+ r = list_dependencies_get_dependencies(bus, name, &deps);
+ if (r < 0)
+ return r;
- dbus_message_iter_recurse(&iter, &sub);
- while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
- const char *id, *description, *load_state, *active_state, *sub_state, *following, *unit_path;
+ qsort(deps, strv_length(deps), sizeof (char*), list_dependencies_compare);
- if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT) {
- log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ STRV_FOREACH(c, deps) {
+ if (strv_contains(u, *c)) {
+ if (!arg_plain) {
+ r = list_dependencies_print("...", level + 1, (branches << 1) | (c[1] == NULL ? 0 : 1), 1);
+ if (r < 0)
+ return r;
+ }
+ continue;
}
- dbus_message_iter_recurse(&sub, &sub2);
+ r = list_dependencies_print(*c, level, branches, c[1] == NULL);
+ if (r < 0)
+ return r;
- if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &id, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &description, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &load_state, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &active_state, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &sub_state, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &following, true) < 0 ||
- bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_OBJECT_PATH, &unit_path, true) < 0) {
- log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ if (arg_all || unit_name_to_type(*c) == UNIT_TARGET) {
+ r = list_dependencies_one(bus, *c, level + 1, &u, (branches << 1) | (c[1] == NULL ? 0 : 1));
+ if(r < 0)
+ return r;
}
+ }
+ if (arg_plain) {
+ strv_free(*units);
+ *units = u;
+ u = NULL;
+ }
+ return 0;
+}
- if ((r = dot_one(bus, id, unit_path)) < 0)
- goto finish;
+static int list_dependencies(DBusConnection *bus, char **args) {
+ _cleanup_free_ char *unit = NULL;
+ _cleanup_strv_free_ char **units = NULL;
+ const char *u;
- /* printf("\t\"%s\";\n", id); */
- dbus_message_iter_next(&sub);
+ assert(bus);
+
+ if (args[1]) {
+ unit = unit_name_mangle(args[1]);
+ if (!unit)
+ return log_oom();
+ u = unit;
+ } else
+ u = SPECIAL_DEFAULT_TARGET;
+
+ pager_open_if_enabled();
+
+ puts(u);
+
+ return list_dependencies_one(bus, u, 0, &units, 0);
+}
+
+struct job_info {
+ uint32_t id;
+ char *name, *type, *state;
+};
+
+static void list_jobs_print(struct job_info* jobs, size_t n) {
+ size_t i;
+ struct job_info *j;
+ const char *on, *off;
+ bool shorten = false;
+
+ assert(n == 0 || jobs);
+
+ if (n == 0) {
+ on = ansi_highlight_green(true);
+ off = ansi_highlight_green(false);
+
+ printf("%sNo jobs running.%s\n", on, off);
+ return;
}
- printf("}\n");
+ pager_open_if_enabled();
- log_info(" Color legend: black = Requires\n"
- " dark blue = Requisite\n"
- " dark grey = Wants\n"
- " red = Conflicts\n"
- " green = After\n");
+ {
+ /* JOB UNIT TYPE STATE */
+ unsigned l0 = 3, l1 = 4, l2 = 4, l3 = 5;
- if (on_tty())
- log_notice("-- You probably want to process this output with graphviz' dot tool.\n"
- "-- Try a shell pipeline like 'systemctl dot | dot -Tsvg > systemd.svg'!\n");
+ for (i = 0, j = jobs; i < n; i++, j++) {
+ assert(j->name && j->type && j->state);
+ l0 = MAX(l0, DECIMAL_STR_WIDTH(j->id));
+ l1 = MAX(l1, strlen(j->name));
+ l2 = MAX(l2, strlen(j->type));
+ l3 = MAX(l3, strlen(j->state));
+ }
- r = 0;
+ if (!arg_full && l0 + 1 + l1 + l2 + 1 + l3 > columns()) {
+ l1 = MAX(33u, columns() - l0 - l2 - l3 - 3);
+ shorten = true;
+ }
-finish:
- if (reply)
- dbus_message_unref(reply);
+ if (on_tty())
+ printf("%*s %-*s %-*s %-*s\n",
+ l0, "JOB",
+ l1, "UNIT",
+ l2, "TYPE",
+ l3, "STATE");
- return r;
+ for (i = 0, j = jobs; i < n; i++, j++) {
+ _cleanup_free_ char *e = NULL;
+
+ if (streq(j->state, "running")) {
+ on = ansi_highlight(true);
+ off = ansi_highlight(false);
+ } else
+ on = off = "";
+
+ e = shorten ? ellipsize(j->name, l1, 33) : NULL;
+ printf("%*u %s%-*s%s %-*s %s%-*s%s\n",
+ l0, j->id,
+ on, l1, e ? e : j->name, off,
+ l2, j->type,
+ on, l3, j->state, off);
+ }
+ }
+
+ on = ansi_highlight(true);
+ off = ansi_highlight(false);
+
+ if (on_tty())
+ printf("\n%s%zu jobs listed%s.\n", on, n, off);
}
static int list_jobs(DBusConnection *bus, char **args) {
- DBusMessage *reply = NULL;
- int r;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
DBusMessageIter iter, sub, sub2;
- unsigned k = 0;
-
- pager_open_if_enabled();
+ int r;
+ struct job_info *jobs = NULL;
+ size_t size = 0, used = 0;
- r = bus_method_call_with_reply (
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
@@ -970,31 +1261,25 @@ static int list_jobs(DBusConnection *bus, char **args) {
&reply,
NULL,
DBUS_TYPE_INVALID);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
if (!dbus_message_iter_init(reply, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_STRUCT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&iter, &sub);
- if (on_tty())
- printf("%4s %-25s %-15s %-7s\n", "JOB", "UNIT", "TYPE", "STATE");
-
while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
const char *name, *type, *state, *job_path, *unit_path;
uint32_t id;
- char *e;
if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&sub, &sub2);
@@ -1010,36 +1295,50 @@ static int list_jobs(DBusConnection *bus, char **args) {
goto finish;
}
- e = arg_full ? NULL : ellipsize(name, 25, 33);
- printf("%4u %-25s %-15s %-7s\n", id, e ? e : name, type, state);
- free(e);
+ if (!GREEDY_REALLOC(jobs, size, used + 1)) {
+ r = log_oom();
+ goto finish;
+ }
- k++;
+ jobs[used++] = (struct job_info) { id,
+ strdup(name),
+ strdup(type),
+ strdup(state) };
+ if (!jobs[used-1].name || !jobs[used-1].type || !jobs[used-1].state) {
+ r = log_oom();
+ goto finish;
+ }
dbus_message_iter_next(&sub);
}
- if (on_tty())
- printf("\n%u jobs listed.\n", k);
+ list_jobs_print(jobs, used);
- r = 0;
-
-finish:
- if (reply)
- dbus_message_unref(reply);
+ finish:
+ while (used--) {
+ free(jobs[used].name);
+ free(jobs[used].type);
+ free(jobs[used].state);
+ }
+ free(jobs);
- return r;
+ return 0;
}
static int load_unit(DBusConnection *bus, char **args) {
- int r = 0;
- char **name, *n;
+ char **name;
assert(args);
STRV_FOREACH(name, args+1) {
+ _cleanup_free_ char *n = NULL;
+ int r;
+
n = unit_name_mangle(*name);
- r = bus_method_call_with_reply (
+ if (!n)
+ return log_oom();
+
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
@@ -1047,20 +1346,16 @@ static int load_unit(DBusConnection *bus, char **args) {
"LoadUnit",
NULL,
NULL,
- DBUS_TYPE_STRING, n ? &n : name,
+ DBUS_TYPE_STRING, &n,
DBUS_TYPE_INVALID);
- free(n);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
}
-finish:
- return r;
+ return 0;
}
static int cancel_job(DBusConnection *bus, char **args) {
- DBusMessage *reply = NULL;
- int r = 0;
char **name;
assert(args);
@@ -1069,71 +1364,50 @@ static int cancel_job(DBusConnection *bus, char **args) {
return daemon_reload(bus, args);
STRV_FOREACH(name, args+1) {
- unsigned id;
- const char *path;
+ uint32_t id;
+ int r;
- r = safe_atou(*name, &id);
+ r = safe_atou32(*name, &id);
if (r < 0) {
log_error("Failed to parse job id: %s", strerror(-r));
- goto finish;
+ return r;
}
- assert_cc(sizeof(uint32_t) == sizeof(id));
- r = bus_method_call_with_reply (
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
- "GetJob",
- &reply,
- NULL,
- DBUS_TYPE_UINT32, &id,
- DBUS_TYPE_INVALID);
- if (r)
- goto finish;
-
- if (!dbus_message_get_args(reply, NULL,
- DBUS_TYPE_OBJECT_PATH, &path,
- DBUS_TYPE_INVALID)) {
- log_error("Failed to parse reply");
- dbus_message_unref(reply);
- r = -EIO;
- goto finish;
- }
- dbus_message_unref(reply);
-
- r = bus_method_call_with_reply (
- bus,
- "org.freedesktop.systemd1",
- path,
- "org.freedesktop.systemd1.Job",
- "Cancel",
+ "CancelJob",
NULL,
NULL,
+ DBUS_TYPE_UINT32, &id,
DBUS_TYPE_INVALID);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
}
-finish:
- return r;
+ return 0;
}
static bool need_daemon_reload(DBusConnection *bus, const char *unit) {
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
dbus_bool_t b = FALSE;
DBusMessageIter iter, sub;
const char
*interface = "org.freedesktop.systemd1.Unit",
*property = "NeedDaemonReload",
*path;
- char *n;
+ _cleanup_free_ char *n = NULL;
int r;
/* We ignore all errors here, since this is used to show a warning only */
n = unit_name_mangle(unit);
- r = bus_method_call_with_reply (
+ if (!n)
+ return log_oom();
+
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
@@ -1141,19 +1415,20 @@ static bool need_daemon_reload(DBusConnection *bus, const char *unit) {
"GetUnit",
&reply,
NULL,
- DBUS_TYPE_STRING, n ? (const char**) &n : &unit,
+ DBUS_TYPE_STRING, &n,
DBUS_TYPE_INVALID);
- free(n);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
if (!dbus_message_get_args(reply, NULL,
DBUS_TYPE_OBJECT_PATH, &path,
DBUS_TYPE_INVALID))
- goto finish;
+ return -EIO;
dbus_message_unref(reply);
- r = bus_method_call_with_reply (
+ reply = NULL;
+
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
path,
@@ -1164,24 +1439,18 @@ static bool need_daemon_reload(DBusConnection *bus, const char *unit) {
DBUS_TYPE_STRING, &interface,
DBUS_TYPE_STRING, &property,
DBUS_TYPE_INVALID);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
if (!dbus_message_iter_init(reply, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT)
- goto finish;
+ return -EIO;
dbus_message_iter_recurse(&iter, &sub);
-
if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_BOOLEAN)
- goto finish;
+ return -EIO;
dbus_message_iter_get_basic(&sub, &b);
-
-finish:
- if (reply)
- dbus_message_unref(reply);
-
return b;
}
@@ -1193,15 +1462,15 @@ typedef struct WaitData {
} WaitData;
static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *message, void *data) {
- DBusError error;
+ _cleanup_dbus_error_free_ DBusError error;
WaitData *d = data;
+ dbus_error_init(&error);
+
assert(connection);
assert(message);
assert(d);
- dbus_error_init(&error);
-
log_debug("Got D-Bus request: %s.%s() on %s",
dbus_message_get_interface(message),
dbus_message_get_member(message),
@@ -1214,7 +1483,6 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me
} else if (dbus_message_is_signal(message, "org.freedesktop.systemd1.Manager", "JobRemoved")) {
uint32_t id;
const char *path, *result, *unit;
- dbus_bool_t success = true;
if (dbus_message_get_args(message, &error,
DBUS_TYPE_UINT32, &id,
@@ -1222,10 +1490,8 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me
DBUS_TYPE_STRING, &unit,
DBUS_TYPE_STRING, &result,
DBUS_TYPE_INVALID)) {
- char *p;
- p = set_remove(d->set, (char*) path);
- free(p);
+ free(set_remove(d->set, (char*) path));
if (!isempty(result))
d->result = strdup(result);
@@ -1233,7 +1499,7 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me
if (!isempty(unit))
d->name = strdup(unit);
- goto finish;
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
#ifndef LEGACY
dbus_error_free(&error);
@@ -1242,47 +1508,21 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me
DBUS_TYPE_OBJECT_PATH, &path,
DBUS_TYPE_STRING, &result,
DBUS_TYPE_INVALID)) {
- char *p;
-
/* Compatibility with older systemd versions <
* 183 during upgrades. This should be dropped
* one day. */
- p = set_remove(d->set, (char*) path);
- free(p);
+ free(set_remove(d->set, (char*) path));
if (*result)
d->result = strdup(result);
- goto finish;
- }
-
- dbus_error_free(&error);
- if (dbus_message_get_args(message, &error,
- DBUS_TYPE_UINT32, &id,
- DBUS_TYPE_OBJECT_PATH, &path,
- DBUS_TYPE_BOOLEAN, &success,
- DBUS_TYPE_INVALID)) {
- char *p;
-
- /* Compatibility with older systemd versions <
- * 19 during upgrades. This should be dropped
- * one day */
-
- p = set_remove(d->set, (char*) path);
- free(p);
-
- if (!success)
- d->result = strdup("failed");
-
- goto finish;
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
#endif
log_error("Failed to parse message: %s", bus_error_message(&error));
}
-finish:
- dbus_error_free(&error);
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
@@ -1315,14 +1555,11 @@ static int enable_wait_for_jobs(DBusConnection *bus) {
static int wait_for_jobs(DBusConnection *bus, Set *s) {
int r = 0;
- WaitData d;
+ WaitData d = { .set = s };
assert(bus);
assert(s);
- zero(d);
- d.set = s;
-
if (!dbus_connection_add_filter(bus, wait_filter, &d, NULL))
return log_oom();
@@ -1366,20 +1603,25 @@ static int wait_for_jobs(DBusConnection *bus, Set *s) {
return r;
}
-static int check_one_unit(DBusConnection *bus, char *name, char **check_states, bool quiet) {
- DBusMessage *reply = NULL;
+static int check_one_unit(DBusConnection *bus, const char *name, char **check_states, bool quiet) {
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ _cleanup_free_ char *n = NULL;
DBusMessageIter iter, sub;
const char
*interface = "org.freedesktop.systemd1.Unit",
*property = "ActiveState";
- const char *path = NULL;
- const char *state;
+ const char *state, *path;
+ DBusError error;
int r;
- char *n;
assert(name);
+ dbus_error_init(&error);
+
n = unit_name_mangle(name);
+ if (!n)
+ return log_oom();
+
r = bus_method_call_with_reply (
bus,
"org.freedesktop.systemd1",
@@ -1387,26 +1629,28 @@ static int check_one_unit(DBusConnection *bus, char *name, char **check_states,
"org.freedesktop.systemd1.Manager",
"GetUnit",
&reply,
- NULL,
- DBUS_TYPE_STRING, n ? &n : &name,
+ &error,
+ DBUS_TYPE_STRING, &n,
DBUS_TYPE_INVALID);
- free(n);
- if (r) {
- if ((r != -ENOMEM) && (!quiet))
+ if (r < 0) {
+ dbus_error_free(&error);
+
+ if (!quiet)
puts("unknown");
- goto finish;
+ return 0;
}
if (!dbus_message_get_args(reply, NULL,
DBUS_TYPE_OBJECT_PATH, &path,
DBUS_TYPE_INVALID)) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_unref(reply);
- r = bus_method_call_with_reply (
+ reply = NULL;
+
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
path,
@@ -1417,22 +1661,23 @@ static int check_one_unit(DBusConnection *bus, char *name, char **check_states,
DBUS_TYPE_STRING, &interface,
DBUS_TYPE_STRING, &property,
DBUS_TYPE_INVALID);
- if (r)
- goto finish;
+ if (r < 0) {
+ if (!quiet)
+ puts("unknown");
+ return 0;
+ }
if (!dbus_message_iter_init(reply, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return r;
}
dbus_message_iter_recurse(&iter, &sub);
if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRING) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return r;
}
dbus_message_iter_get_basic(&sub, &state);
@@ -1440,16 +1685,7 @@ static int check_one_unit(DBusConnection *bus, char *name, char **check_states,
if (!quiet)
puts(state);
- if (strv_find(check_states, state))
- r = 0;
- else
- r = 3; /* According to LSB: "program is not running" */
-
-finish:
- if (reply)
- dbus_message_unref(reply);
-
- return r;
+ return strv_find(check_states, state) ? 1 : 0;
}
static void check_triggering_units(
@@ -1458,11 +1694,11 @@ static void check_triggering_units(
_cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
DBusMessageIter iter, sub;
- char *service_trigger = NULL;
const char *interface = "org.freedesktop.systemd1.Unit",
- *triggered_by_property = "TriggeredBy";
-
- char _cleanup_free_ *unit_path = NULL, *n = NULL;
+ *load_state_property = "LoadState",
+ *triggered_by_property = "TriggeredBy",
+ *state;
+ _cleanup_free_ char *unit_path = NULL, *n = NULL;
bool print_warning_label = true;
int r;
@@ -1478,7 +1714,42 @@ static void check_triggering_units(
return;
}
- r = bus_method_call_with_reply (
+ r = bus_method_call_with_reply(
+ bus,
+ "org.freedesktop.systemd1",
+ unit_path,
+ "org.freedesktop.DBus.Properties",
+ "Get",
+ &reply,
+ NULL,
+ DBUS_TYPE_STRING, &interface,
+ DBUS_TYPE_STRING, &load_state_property,
+ DBUS_TYPE_INVALID);
+ if (r < 0)
+ return;
+
+ if (!dbus_message_iter_init(reply, &iter) ||
+ dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) {
+ log_error("Failed to parse reply.");
+ return;
+ }
+
+ dbus_message_iter_recurse(&iter, &sub);
+
+ if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRING) {
+ log_error("Failed to parse reply.");
+ return;
+ }
+
+ dbus_message_iter_get_basic(&sub, &state);
+
+ if (streq(state, "masked"))
+ return;
+
+ dbus_message_unref(reply);
+ reply = NULL;
+
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
unit_path,
@@ -1489,7 +1760,7 @@ static void check_triggering_units(
DBUS_TYPE_STRING, &interface,
DBUS_TYPE_STRING, &triggered_by_property,
DBUS_TYPE_INVALID);
- if (r)
+ if (r < 0)
return;
if (!dbus_message_iter_init(reply, &iter) ||
@@ -1503,7 +1774,12 @@ static void check_triggering_units(
sub = iter;
while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
- char **check_states = NULL;
+ const char * const check_states[] = {
+ "active",
+ "reloading",
+ NULL
+ };
+ const char *service_trigger;
if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRING) {
log_error("Failed to parse reply.");
@@ -1512,16 +1788,15 @@ static void check_triggering_units(
dbus_message_iter_get_basic(&sub, &service_trigger);
- check_states = strv_new("active", "reloading", NULL);
- r = check_one_unit(bus, service_trigger, check_states, true);
- strv_free(check_states);
+ r = check_one_unit(bus, service_trigger, (char**) check_states, true);
if (r < 0)
return;
- if (r == 0) {
+ if (r > 0) {
if (print_warning_label) {
log_warning("Warning: Stopping %s, but it can still be activated by:", unit_name);
print_warning_label = false;
}
+
log_warning(" %s", service_trigger);
}
@@ -1538,9 +1813,9 @@ static int start_unit_one(
Set *s) {
_cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ _cleanup_free_ char *n;
const char *path;
int r;
- _cleanup_free_ char *n, *p = NULL;
assert(method);
assert(name);
@@ -1585,73 +1860,59 @@ static int start_unit_one(
n, arg_scope == UNIT_FILE_SYSTEM ? "--system" : "--user");
if (s) {
+ char *p;
+
p = strdup(path);
if (!p)
return log_oom();
- r = set_put(s, p);
+ r = set_consume(s, p);
if (r < 0) {
log_error("Failed to add path to set.");
return r;
}
-
- p = NULL;
}
return 0;
}
+static const struct {
+ const char *target;
+ const char *verb;
+ const char *mode;
+} action_table[_ACTION_MAX] = {
+ [ACTION_HALT] = { SPECIAL_HALT_TARGET, "halt", "replace-irreversibly" },
+ [ACTION_POWEROFF] = { SPECIAL_POWEROFF_TARGET, "poweroff", "replace-irreversibly" },
+ [ACTION_REBOOT] = { SPECIAL_REBOOT_TARGET, "reboot", "replace-irreversibly" },
+ [ACTION_KEXEC] = { SPECIAL_KEXEC_TARGET, "kexec", "replace-irreversibly" },
+ [ACTION_RUNLEVEL2] = { SPECIAL_RUNLEVEL2_TARGET, NULL, "isolate" },
+ [ACTION_RUNLEVEL3] = { SPECIAL_RUNLEVEL3_TARGET, NULL, "isolate" },
+ [ACTION_RUNLEVEL4] = { SPECIAL_RUNLEVEL4_TARGET, NULL, "isolate" },
+ [ACTION_RUNLEVEL5] = { SPECIAL_RUNLEVEL5_TARGET, NULL, "isolate" },
+ [ACTION_RESCUE] = { SPECIAL_RESCUE_TARGET, "rescue", "isolate" },
+ [ACTION_EMERGENCY] = { SPECIAL_EMERGENCY_TARGET, "emergency", "isolate" },
+ [ACTION_DEFAULT] = { SPECIAL_DEFAULT_TARGET, "default", "isolate" },
+ [ACTION_EXIT] = { SPECIAL_EXIT_TARGET, "exit", "replace-irreversibly" },
+ [ACTION_SUSPEND] = { SPECIAL_SUSPEND_TARGET, "suspend", "replace-irreversibly" },
+ [ACTION_HIBERNATE] = { SPECIAL_HIBERNATE_TARGET, "hibernate", "replace-irreversibly" },
+ [ACTION_HYBRID_SLEEP] = { SPECIAL_HYBRID_SLEEP_TARGET, "hybrid-sleep", "replace-irreversibly" },
+};
+
static enum action verb_to_action(const char *verb) {
- if (streq(verb, "halt"))
- return ACTION_HALT;
- else if (streq(verb, "poweroff"))
- return ACTION_POWEROFF;
- else if (streq(verb, "reboot"))
- return ACTION_REBOOT;
- else if (streq(verb, "kexec"))
- return ACTION_KEXEC;
- else if (streq(verb, "rescue"))
- return ACTION_RESCUE;
- else if (streq(verb, "emergency"))
- return ACTION_EMERGENCY;
- else if (streq(verb, "default"))
- return ACTION_DEFAULT;
- else if (streq(verb, "exit"))
- return ACTION_EXIT;
- else if (streq(verb, "suspend"))
- return ACTION_SUSPEND;
- else if (streq(verb, "hibernate"))
- return ACTION_HIBERNATE;
- else if (streq(verb, "hybrid-sleep"))
- return ACTION_HYBRID_SLEEP;
- else
- return ACTION_INVALID;
+ enum action i;
+
+ for (i = ACTION_INVALID; i < _ACTION_MAX; i++)
+ if (action_table[i].verb && streq(verb, action_table[i].verb))
+ return i;
+ return ACTION_INVALID;
}
static int start_unit(DBusConnection *bus, char **args) {
- static const char * const table[_ACTION_MAX] = {
- [ACTION_HALT] = SPECIAL_HALT_TARGET,
- [ACTION_POWEROFF] = SPECIAL_POWEROFF_TARGET,
- [ACTION_REBOOT] = SPECIAL_REBOOT_TARGET,
- [ACTION_KEXEC] = SPECIAL_KEXEC_TARGET,
- [ACTION_RUNLEVEL2] = SPECIAL_RUNLEVEL2_TARGET,
- [ACTION_RUNLEVEL3] = SPECIAL_RUNLEVEL3_TARGET,
- [ACTION_RUNLEVEL4] = SPECIAL_RUNLEVEL4_TARGET,
- [ACTION_RUNLEVEL5] = SPECIAL_RUNLEVEL5_TARGET,
- [ACTION_RESCUE] = SPECIAL_RESCUE_TARGET,
- [ACTION_EMERGENCY] = SPECIAL_EMERGENCY_TARGET,
- [ACTION_DEFAULT] = SPECIAL_DEFAULT_TARGET,
- [ACTION_EXIT] = SPECIAL_EXIT_TARGET,
- [ACTION_SUSPEND] = SPECIAL_SUSPEND_TARGET,
- [ACTION_HIBERNATE] = SPECIAL_HIBERNATE_TARGET,
- [ACTION_HYBRID_SLEEP] = SPECIAL_HYBRID_SLEEP_TARGET
- };
-
int r, ret = 0;
const char *method, *mode, *one_name;
- Set *s = NULL;
- DBusError error;
+ _cleanup_set_free_free_ Set *s = NULL;
+ _cleanup_dbus_error_free_ DBusError error;
char **name;
dbus_error_init(&error);
@@ -1661,6 +1922,7 @@ static int start_unit(DBusConnection *bus, char **args) {
ask_password_agent_open_if_enabled();
if (arg_action == ACTION_SYSTEMCTL) {
+ enum action action;
method =
streq(args[0], "stop") ||
streq(args[0], "condstop") ? "StopUnit" :
@@ -1677,42 +1939,33 @@ static int start_unit(DBusConnection *bus, char **args) {
streq(args[0], "force-reload") ? "ReloadOrTryRestartUnit" :
"StartUnit";
+ action = verb_to_action(args[0]);
- mode =
- (streq(args[0], "isolate") ||
- streq(args[0], "rescue") ||
- streq(args[0], "emergency")) ? "isolate" : arg_job_mode;
+ mode = streq(args[0], "isolate") ? "isolate" :
+ action_table[action].mode ?: arg_job_mode;
- one_name = table[verb_to_action(args[0])];
+ one_name = action_table[action].target;
} else {
- assert(arg_action < ELEMENTSOF(table));
- assert(table[arg_action]);
+ assert(arg_action < ELEMENTSOF(action_table));
+ assert(action_table[arg_action].target);
method = "StartUnit";
- mode = (arg_action == ACTION_EMERGENCY ||
- arg_action == ACTION_RESCUE ||
- arg_action == ACTION_RUNLEVEL2 ||
- arg_action == ACTION_RUNLEVEL3 ||
- arg_action == ACTION_RUNLEVEL4 ||
- arg_action == ACTION_RUNLEVEL5) ? "isolate" : "replace";
-
- one_name = table[arg_action];
+ mode = action_table[arg_action].mode;
+ one_name = action_table[arg_action].target;
}
if (!arg_no_block) {
ret = enable_wait_for_jobs(bus);
if (ret < 0) {
log_error("Could not watch jobs: %s", strerror(-ret));
- goto finish;
+ return ret;
}
s = set_new(string_hash_func, string_compare_func);
- if (!s) {
- ret = log_oom();
- goto finish;
- }
+ if (!s)
+ return log_oom();
}
if (one_name) {
@@ -1731,10 +1984,8 @@ static int start_unit(DBusConnection *bus, char **args) {
if (!arg_no_block) {
r = wait_for_jobs(bus, s);
- if (r < 0) {
- ret = r;
- goto finish;
- }
+ if (r < 0)
+ return r;
/* When stopping units, warn if they can still be triggered by
* another active unit (socket, path, timer) */
@@ -1747,10 +1998,6 @@ static int start_unit(DBusConnection *bus, char **args) {
}
}
-finish:
- set_free_free(s);
- dbus_error_free(&error);
-
return ret;
}
@@ -1761,6 +2008,9 @@ static int reboot_with_logind(DBusConnection *bus, enum action a) {
const char *method;
dbus_bool_t interactive = true;
+ if (!bus)
+ return -EIO;
+
polkit_agent_open_if_enabled();
switch (a) {
@@ -1789,7 +2039,7 @@ static int reboot_with_logind(DBusConnection *bus, enum action a) {
return -EINVAL;
}
- return bus_method_call_with_reply (
+ return bus_method_call_with_reply(
bus,
"org.freedesktop.login1",
"/org/freedesktop/login1",
@@ -1804,6 +2054,136 @@ static int reboot_with_logind(DBusConnection *bus, enum action a) {
#endif
}
+static int check_inhibitors(DBusConnection *bus, enum action a) {
+#ifdef HAVE_LOGIND
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ DBusMessageIter iter, sub, sub2;
+ int r;
+ unsigned c = 0;
+ _cleanup_strv_free_ char **sessions = NULL;
+ char **s;
+
+ if (!bus)
+ return 0;
+
+ if (arg_ignore_inhibitors || arg_force > 0)
+ return 0;
+
+ if (arg_when > 0)
+ return 0;
+
+ if (geteuid() == 0)
+ return 0;
+
+ if (!on_tty())
+ return 0;
+
+ r = bus_method_call_with_reply(
+ bus,
+ "org.freedesktop.login1",
+ "/org/freedesktop/login1",
+ "org.freedesktop.login1.Manager",
+ "ListInhibitors",
+ &reply,
+ NULL,
+ DBUS_TYPE_INVALID);
+ if (r < 0)
+ /* If logind is not around, then there are no inhibitors... */
+ return 0;
+
+ if (!dbus_message_iter_init(reply, &iter) ||
+ dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
+ dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_STRUCT) {
+ log_error("Failed to parse reply.");
+ return -EIO;
+ }
+
+ dbus_message_iter_recurse(&iter, &sub);
+ while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
+ const char *what, *who, *why, *mode;
+ uint32_t uid, pid;
+ _cleanup_strv_free_ char **sv = NULL;
+ _cleanup_free_ char *comm = NULL, *user = NULL;
+
+ if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT) {
+ log_error("Failed to parse reply.");
+ return -EIO;
+ }
+
+ dbus_message_iter_recurse(&sub, &sub2);
+
+ if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &what, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &who, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &why, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &mode, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_UINT32, &uid, true) < 0 ||
+ bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_UINT32, &pid, false) < 0) {
+ log_error("Failed to parse reply.");
+ return -EIO;
+ }
+
+ if (!streq(mode, "block"))
+ goto next;
+
+ sv = strv_split(what, ":");
+ if (!sv)
+ return log_oom();
+
+ if (!strv_contains(sv,
+ a == ACTION_HALT ||
+ a == ACTION_POWEROFF ||
+ a == ACTION_REBOOT ||
+ a == ACTION_KEXEC ? "shutdown" : "sleep"))
+ goto next;
+
+ get_process_comm(pid, &comm);
+ user = uid_to_name(uid);
+ log_warning("Operation inhibited by \"%s\" (PID %lu \"%s\", user %s), reason is \"%s\".",
+ who, (unsigned long) pid, strna(comm), strna(user), why);
+ c++;
+
+ next:
+ dbus_message_iter_next(&sub);
+ }
+
+ dbus_message_iter_recurse(&iter, &sub);
+
+ /* Check for current sessions */
+ sd_get_sessions(&sessions);
+ STRV_FOREACH(s, sessions) {
+ uid_t uid;
+ _cleanup_free_ char *type = NULL, *tty = NULL, *seat = NULL, *user = NULL, *service = NULL, *class = NULL;
+
+ if (sd_session_get_uid(*s, &uid) < 0 || uid == getuid())
+ continue;
+
+ if (sd_session_get_class(*s, &class) < 0 || !streq(class, "user"))
+ continue;
+
+ if (sd_session_get_type(*s, &type) < 0 || (!streq(type, "x11") && !streq(type, "tty")))
+ continue;
+
+ sd_session_get_tty(*s, &tty);
+ sd_session_get_seat(*s, &seat);
+ sd_session_get_service(*s, &service);
+ user = uid_to_name(uid);
+
+ log_warning("User %s is logged in on %s.", strna(user), isempty(tty) ? (isempty(seat) ? strna(service) : seat) : tty);
+ c++;
+ }
+
+ if (c <= 0)
+ return 0;
+
+ log_error("Please retry operation after closing inhibitors and logging out other users.\nAlternatively, ignore inhibitors and users with 'systemctl %s -i'.",
+ action_table[a].verb);
+
+ return -EPERM;
+#else
+ return 0;
+#endif
+}
+
static int start_special(DBusConnection *bus, char **args) {
enum action a;
int r;
@@ -1812,6 +2192,10 @@ static int start_special(DBusConnection *bus, char **args) {
a = verb_to_action(args[0]);
+ r = check_inhibitors(bus, a);
+ if (r < 0)
+ return r;
+
if (arg_force >= 2 && geteuid() != 0) {
log_error("Must be root.");
return -EPERM;
@@ -1844,13 +2228,19 @@ static int start_special(DBusConnection *bus, char **args) {
}
r = start_unit(bus, args);
- if (r >= 0)
+ if (r == EXIT_SUCCESS)
warn_wall(a);
return r;
}
static int check_unit_active(DBusConnection *bus, char **args) {
+ const char * const check_states[] = {
+ "active",
+ "reloading",
+ NULL
+ };
+
char **name;
int r = 3; /* According to LSB: "program is not running" */
@@ -1858,12 +2248,12 @@ static int check_unit_active(DBusConnection *bus, char **args) {
assert(args);
STRV_FOREACH(name, args+1) {
- char **check_states = strv_new("active", "reloading", NULL);
- int state = check_one_unit(bus, *name, check_states, arg_quiet);
- strv_free(check_states);
+ int state;
+
+ state = check_one_unit(bus, *name, (char**) check_states, arg_quiet);
if (state < 0)
return state;
- if (state == 0)
+ if (state > 0)
r = 0;
}
@@ -1871,6 +2261,11 @@ static int check_unit_active(DBusConnection *bus, char **args) {
}
static int check_unit_failed(DBusConnection *bus, char **args) {
+ const char * const check_states[] = {
+ "failed",
+ NULL
+ };
+
char **name;
int r = 1;
@@ -1878,12 +2273,12 @@ static int check_unit_failed(DBusConnection *bus, char **args) {
assert(args);
STRV_FOREACH(name, args+1) {
- char **check_states = strv_new("failed", NULL);
- int state = check_one_unit(bus, *name, check_states, arg_quiet);
- strv_free(check_states);
+ int state;
+
+ state = check_one_unit(bus, *name, (char**) check_states, arg_quiet);
if (state < 0)
return state;
- if (state == 0)
+ if (state > 0)
r = 0;
}
@@ -1891,17 +2286,23 @@ static int check_unit_failed(DBusConnection *bus, char **args) {
}
static int kill_unit(DBusConnection *bus, char **args) {
+ char **name;
int r = 0;
- char **name, *n;
+ assert(bus);
assert(args);
if (!arg_kill_who)
arg_kill_who = "all";
STRV_FOREACH(name, args+1) {
+ _cleanup_free_ char *n = NULL;
+
n = unit_name_mangle(*name);
- r = bus_method_call_with_reply (
+ if (!n)
+ return log_oom();
+
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
@@ -1909,14 +2310,157 @@ static int kill_unit(DBusConnection *bus, char **args) {
"KillUnit",
NULL,
NULL,
- DBUS_TYPE_STRING, n ? &n : name,
+ DBUS_TYPE_STRING, &n,
DBUS_TYPE_STRING, &arg_kill_who,
DBUS_TYPE_INT32, &arg_signal,
DBUS_TYPE_INVALID);
- free(n);
- if (r)
+ if (r < 0)
+ return r;
+ }
+ return 0;
+}
+
+static int set_cgroup(DBusConnection *bus, char **args) {
+ _cleanup_free_ char *n = NULL;
+ const char *method, *runtime;
+ char **argument;
+ int r;
+
+ assert(bus);
+ assert(args);
+
+ method =
+ streq(args[0], "set-cgroup") ? "SetUnitControlGroup" :
+ streq(args[0], "unset-cgroup") ? "UnsetUnitControlGroup"
+ : "UnsetUnitControlGroupAttribute";
+
+ runtime = arg_runtime ? "runtime" : "persistent";
+
+ n = unit_name_mangle(args[1]);
+ if (!n)
+ return log_oom();
+
+ STRV_FOREACH(argument, args + 2) {
+
+ r = bus_method_call_with_reply(
+ bus,
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ method,
+ NULL,
+ NULL,
+ DBUS_TYPE_STRING, &n,
+ DBUS_TYPE_STRING, argument,
+ DBUS_TYPE_STRING, &runtime,
+ DBUS_TYPE_INVALID);
+ if (r < 0)
+ return r;
+ }
+
+ return 0;
+}
+
+static int set_cgroup_attr(DBusConnection *bus, char **args) {
+ _cleanup_dbus_message_unref_ DBusMessage *m = NULL, *reply = NULL;
+ DBusError error;
+ DBusMessageIter iter;
+ _cleanup_free_ char *n = NULL;
+ const char *runtime;
+ int r;
+
+ assert(bus);
+ assert(args);
+
+ dbus_error_init(&error);
+
+ runtime = arg_runtime ? "runtime" : "persistent";
+
+ n = unit_name_mangle(args[1]);
+ if (!n)
+ return log_oom();
+
+ m = dbus_message_new_method_call(
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "SetUnitControlGroupAttribute");
+ if (!m)
+ return log_oom();
+
+ dbus_message_iter_init_append(m, &iter);
+ if (!dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &n) ||
+ !dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &args[2]))
+ return log_oom();
+
+ r = bus_append_strv_iter(&iter, args + 3);
+ if (r < 0)
+ return log_oom();
+
+ if (!dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &runtime))
+ return log_oom();
+
+ reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error);
+ if (!reply) {
+ log_error("Failed to issue method call: %s", bus_error_message(&error));
+ dbus_error_free(&error);
+ return -EIO;
+ }
+
+ return 0;
+}
+
+static int get_cgroup_attr(DBusConnection *bus, char **args) {
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ _cleanup_free_ char *n = NULL;
+ char **argument;
+ int r;
+
+ assert(bus);
+ assert(args);
+
+ n = unit_name_mangle(args[1]);
+ if (!n)
+ return log_oom();
+
+ STRV_FOREACH(argument, args + 2) {
+ _cleanup_strv_free_ char **list = NULL;
+ DBusMessageIter iter;
+ char **a;
+
+ r = bus_method_call_with_reply(
+ bus,
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "GetUnitControlGroupAttribute",
+ &reply,
+ NULL,
+ DBUS_TYPE_STRING, &n,
+ DBUS_TYPE_STRING, argument,
+ DBUS_TYPE_INVALID);
+ if (r < 0)
+ return r;
+
+ if (!dbus_message_iter_init(reply, &iter)) {
+ log_error("Failed to initialize iterator.");
+ return -EIO;
+ }
+
+ r = bus_parse_strv_iter(&iter, &list);
+ if (r < 0) {
+ log_error("Failed to parse value list.");
return r;
+ }
+
+ STRV_FOREACH(a, list) {
+ if (endswith(*a, "\n"))
+ fputs(*a, stdout);
+ else
+ puts(*a);
+ }
}
+
return 0;
}
@@ -1966,7 +2510,8 @@ static int exec_status_info_deserialize(DBusMessageIter *sub, ExecStatusInfo *i)
if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &path, true) < 0)
return -EIO;
- if (!(i->path = strdup(path)))
+ i->path = strdup(path);
+ if (!i->path)
return -ENOMEM;
if (dbus_message_iter_get_arg_type(&sub2) != DBUS_TYPE_ARRAY ||
@@ -1981,8 +2526,8 @@ static int exec_status_info_deserialize(DBusMessageIter *sub, ExecStatusInfo *i)
n++;
}
-
- if (!(i->argv = new0(char*, n+1)))
+ i->argv = new0(char*, n+1);
+ if (!i->argv)
return -ENOMEM;
n = 0;
@@ -1994,8 +2539,11 @@ static int exec_status_info_deserialize(DBusMessageIter *sub, ExecStatusInfo *i)
dbus_message_iter_get_basic(&sub3, &s);
dbus_message_iter_next(&sub3);
- if (!(i->argv[n++] = strdup(s)))
+ i->argv[n] = strdup(s);
+ if (!i->argv[n])
return -ENOMEM;
+
+ n++;
}
if (!dbus_message_iter_next(&sub2) ||
@@ -2035,6 +2583,8 @@ typedef struct UnitStatusInfo {
const char *source_path;
const char *default_control_group;
+ char **dropin_paths;
+
const char *load_error;
const char *result;
@@ -2065,6 +2615,9 @@ typedef struct UnitStatusInfo {
unsigned n_connections;
bool accept;
+ /* Pairs of type, path */
+ char **listen;
+
/* Device */
const char *sysfs_path;
@@ -2084,9 +2637,26 @@ static void print_status_info(UnitStatusInfo *i) {
char since1[FORMAT_TIMESTAMP_RELATIVE_MAX], *s1;
char since2[FORMAT_TIMESTAMP_MAX], *s2;
const char *path;
+ int flags =
+ arg_all * OUTPUT_SHOW_ALL |
+ (!on_tty() || pager_have()) * OUTPUT_FULL_WIDTH |
+ on_tty() * OUTPUT_COLOR |
+ !arg_quiet * OUTPUT_WARN_CUTOFF |
+ arg_full * OUTPUT_FULL_WIDTH;
+ int maxlen = 8; /* a value that'll suffice most of the time */
+ char **t, **t2;
assert(i);
+ STRV_FOREACH_PAIR(t, t2, i->listen)
+ maxlen = MAX(maxlen, (int)(sizeof("Listen") - 1 + strlen(*t)));
+ if (i->accept)
+ maxlen = MAX(maxlen, (int)sizeof("Accept") - 1);
+ if (i->main_pid > 0)
+ maxlen = MAX(maxlen, (int)sizeof("Main PID") - 1);
+ else if (i->control_pid > 0)
+ maxlen = MAX(maxlen, (int)sizeof("Control") - 1);
+
/* This shows pretty information about a unit. See
* print_property() for a low-level property printer */
@@ -2098,7 +2668,7 @@ static void print_status_info(UnitStatusInfo *i) {
printf("\n");
if (i->following)
- printf("\t Follow: unit currently follows state of %s\n", i->following);
+ printf(" %*s: unit currently follows state of %s\n", maxlen, "Follow", i->following);
if (streq_ptr(i->load_state, "error")) {
on = ansi_highlight_red(true);
@@ -2109,13 +2679,45 @@ static void print_status_info(UnitStatusInfo *i) {
path = i->source_path ? i->source_path : i->fragment_path;
if (i->load_error)
- printf("\t Loaded: %s%s%s (Reason: %s)\n", on, strna(i->load_state), off, i->load_error);
+ printf(" %*s: %s%s%s (Reason: %s)\n",
+ maxlen, "Loaded", on, strna(i->load_state), off, i->load_error);
else if (path && i->unit_file_state)
- printf("\t Loaded: %s%s%s (%s; %s)\n", on, strna(i->load_state), off, path, i->unit_file_state);
+ printf(" %*s: %s%s%s (%s; %s)\n",
+ maxlen, "Loaded", on, strna(i->load_state), off, path, i->unit_file_state);
else if (path)
- printf("\t Loaded: %s%s%s (%s)\n", on, strna(i->load_state), off, path);
+ printf(" %*s: %s%s%s (%s)\n",
+ maxlen, "Loaded", on, strna(i->load_state), off, path);
else
- printf("\t Loaded: %s%s%s\n", on, strna(i->load_state), off);
+ printf(" %*s: %s%s%s\n",
+ maxlen, "Loaded", on, strna(i->load_state), off);
+
+ if (!strv_isempty(i->dropin_paths)) {
+ char ** dropin;
+ char * dir = NULL;
+ bool last = false;
+
+ STRV_FOREACH(dropin, i->dropin_paths) {
+ if (! dir || last) {
+ printf(" %*s ", maxlen, dir ? "" : "Drop-In:");
+
+ free(dir);
+
+ if (path_get_parent(*dropin, &dir) < 0) {
+ log_oom();
+ return;
+ }
+
+ printf("%s\n %*s %s", dir, maxlen, "",
+ draw_special_char(DRAW_TREE_RIGHT));
+ }
+
+ last = ! (*(dropin + 1) && startswith(*(dropin + 1), dir));
+
+ printf("%s%s", path_get_file_name(*dropin), last ? "\n" : ", ");
+ }
+
+ free(dir);
+ }
ss = streq_ptr(i->active_state, i->sub_state) ? NULL : i->sub_state;
@@ -2129,16 +2731,11 @@ static void print_status_info(UnitStatusInfo *i) {
on = off = "";
if (ss)
- printf("\t Active: %s%s (%s)%s",
- on,
- strna(i->active_state),
- ss,
- off);
+ printf(" %*s: %s%s (%s)%s",
+ maxlen, "Active", on, strna(i->active_state), ss, off);
else
- printf("\t Active: %s%s%s",
- on,
- strna(i->active_state),
- off);
+ printf(" %*s: %s%s%s",
+ maxlen, "Active", on, strna(i->active_state), off);
if (!isempty(i->result) && !streq(i->result, "success"))
printf(" (Result: %s)", i->result);
@@ -2165,45 +2762,37 @@ static void print_status_info(UnitStatusInfo *i) {
s2 = format_timestamp(since2, sizeof(since2), i->condition_timestamp);
if (s1)
- printf("\t start condition failed at %s; %s\n", s2, s1);
+ printf(" %*s start condition failed at %s; %s\n", maxlen, "", s2, s1);
else if (s2)
- printf("\t start condition failed at %s\n", s2);
+ printf(" %*s start condition failed at %s\n", maxlen, "", s2);
}
if (i->sysfs_path)
- printf("\t Device: %s\n", i->sysfs_path);
+ printf(" %*s: %s\n", maxlen, "Device", i->sysfs_path);
if (i->where)
- printf("\t Where: %s\n", i->where);
+ printf(" %*s: %s\n", maxlen, "Where", i->where);
if (i->what)
- printf("\t What: %s\n", i->what);
+ printf(" %*s: %s\n", maxlen, "What", i->what);
- if (!strv_isempty(i->documentation)) {
- char **t;
- bool first = true;
+ STRV_FOREACH(t, i->documentation)
+ printf(" %*s %s\n", maxlen+1, t == i->documentation ? "Docs:" : "", *t);
- STRV_FOREACH(t, i->documentation) {
- if (first) {
- printf("\t Docs: %s\n", *t);
- first = false;
- } else
- printf("\t %s\n", *t);
- }
- }
+ STRV_FOREACH_PAIR(t, t2, i->listen)
+ printf(" %*s %s (%s)\n", maxlen+1, t == i->listen ? "Listen:" : "", *t2, *t);
if (i->accept)
- printf("\tAccepted: %u; Connected: %u\n", i->n_accepted, i->n_connections);
+ printf(" %*s: %u; Connected: %u\n", maxlen, "Accepted", i->n_accepted, i->n_connections);
LIST_FOREACH(exec, p, i->exec) {
- char *t;
+ _cleanup_free_ char *argv = NULL;
bool good;
/* Only show exited processes here */
if (p->code == 0)
continue;
- t = strv_join(p->argv, " ");
- printf("\t Process: %u %s=%s ", p->pid, p->name, strna(t));
- free(t);
+ argv = strv_join(p->argv, " ");
+ printf(" %*s: %u %s=%s ", maxlen, "Process", p->pid, p->name, strna(argv));
good = is_clean_exit_lsb(p->code, p->status, NULL);
if (!good) {
@@ -2239,18 +2828,14 @@ static void print_status_info(UnitStatusInfo *i) {
}
if (i->main_pid > 0 || i->control_pid > 0) {
- printf("\t");
-
if (i->main_pid > 0) {
- printf("Main PID: %u", (unsigned) i->main_pid);
+ printf(" %*s: %u", maxlen, "Main PID", (unsigned) i->main_pid);
if (i->running) {
- char *t = NULL;
- get_process_comm(i->main_pid, &t);
- if (t) {
- printf(" (%s)", t);
- free(t);
- }
+ _cleanup_free_ char *comm = NULL;
+ get_process_comm(i->main_pid, &comm);
+ if (comm)
+ printf(" (%s)", comm);
} else if (i->exit_code > 0) {
printf(" (code=%s, ", sigchld_code_to_string(i->exit_code));
@@ -2267,42 +2852,43 @@ static void print_status_info(UnitStatusInfo *i) {
printf("signal=%s", signal_to_string(i->exit_status));
printf(")");
}
- }
- if (i->main_pid > 0 && i->control_pid > 0)
- printf(";");
+ if (i->control_pid > 0)
+ printf(";");
+ }
if (i->control_pid > 0) {
- char *t = NULL;
+ _cleanup_free_ char *c = NULL;
- printf(" Control: %u", (unsigned) i->control_pid);
+ printf(" %*s: %u", i->main_pid ? 0 : maxlen, "Control", (unsigned) i->control_pid);
- get_process_comm(i->control_pid, &t);
- if (t) {
- printf(" (%s)", t);
- free(t);
- }
+ get_process_comm(i->control_pid, &c);
+ if (c)
+ printf(" (%s)", c);
}
printf("\n");
}
if (i->status_text)
- printf("\t Status: \"%s\"\n", i->status_text);
+ printf(" %*s: \"%s\"\n", maxlen, "Status", i->status_text);
if (i->default_control_group &&
(i->main_pid > 0 || i->control_pid > 0 || cg_is_empty_by_spec(i->default_control_group, false) == 0)) {
unsigned c;
- printf("\t CGroup: %s\n", i->default_control_group);
+ printf(" %*s: %s\n", maxlen, "CGroup", i->default_control_group);
if (arg_transport != TRANSPORT_SSH) {
unsigned k = 0;
pid_t extra[2];
+ char prefix[maxlen + 4];
+ memset(prefix, ' ', sizeof(prefix) - 1);
+ prefix[sizeof(prefix) - 1] = '\0';
c = columns();
- if (c > 18)
- c -= 18;
+ if (c > sizeof(prefix) - 1)
+ c -= sizeof(prefix) - 1;
else
c = 0;
@@ -2312,17 +2898,12 @@ static void print_status_info(UnitStatusInfo *i) {
if (i->control_pid > 0)
extra[k++] = i->control_pid;
- show_cgroup_and_extra_by_spec(i->default_control_group, "\t\t ", c, false, arg_all, extra, k);
+ show_cgroup_and_extra_by_spec(i->default_control_group, prefix,
+ c, false, extra, k, flags);
}
}
if (i->id && arg_transport != TRANSPORT_SSH) {
- int flags =
- arg_all * OUTPUT_SHOW_ALL |
- (!on_tty() || pager_have()) * OUTPUT_FULL_WIDTH |
- on_tty() * OUTPUT_COLOR |
- !arg_quiet * OUTPUT_WARN_CUTOFF;
-
printf("\n");
show_journal_by_unit(stdout,
i->id,
@@ -2330,7 +2911,9 @@ static void print_status_info(UnitStatusInfo *i) {
0,
i->inactive_exit_timestamp_monotonic,
arg_lines,
- flags);
+ getuid(),
+ flags,
+ arg_scope == UNIT_FILE_SYSTEM);
}
if (i->need_daemon_reload)
@@ -2355,7 +2938,7 @@ static void show_unit_help(UnitStatusInfo *i) {
if (startswith(*p, "man:")) {
size_t k;
char *e = NULL;
- char *page = NULL, *section = NULL;
+ _cleanup_free_ char *page = NULL, *section = NULL;
const char *args[4] = { "man", NULL, NULL, NULL };
pid_t pid;
@@ -2366,14 +2949,8 @@ static void show_unit_help(UnitStatusInfo *i) {
if (e) {
page = strndup((*p) + 4, e - *p - 4);
- if (!page) {
- log_oom();
- return;
- }
-
section = strndup(e + 1, *p + k - e - 2);
- if (!section) {
- free(page);
+ if (!page || !section) {
log_oom();
return;
}
@@ -2386,8 +2963,6 @@ static void show_unit_help(UnitStatusInfo *i) {
pid = fork();
if (pid < 0) {
log_error("Failed to fork: %m");
- free(page);
- free(section);
continue;
}
@@ -2398,9 +2973,6 @@ static void show_unit_help(UnitStatusInfo *i) {
_exit(EXIT_FAILURE);
}
- free(page);
- free(section);
-
wait_for_terminate(pid, NULL);
} else
log_info("Can't show: %s", *p);
@@ -2560,6 +3132,38 @@ static int status_property(const char *name, DBusMessageIter *iter, UnitStatusIn
dbus_message_iter_next(&sub);
}
+
+ } else if (dbus_message_iter_get_element_type(iter) == DBUS_TYPE_STRUCT && streq(name, "Listen")) {
+ DBusMessageIter sub, sub2;
+
+ dbus_message_iter_recurse(iter, &sub);
+ while (dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_STRUCT) {
+ const char *type, *path;
+
+ dbus_message_iter_recurse(&sub, &sub2);
+
+ if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &type, true) >= 0 &&
+ bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &path, false) >= 0) {
+ int r;
+
+ r = strv_extend(&i->listen, type);
+ if (r < 0)
+ return r;
+ r = strv_extend(&i->listen, path);
+ if (r < 0)
+ return r;
+ }
+
+ dbus_message_iter_next(&sub);
+ }
+
+ return 0;
+
+ } else if (dbus_message_iter_get_element_type(iter) == DBUS_TYPE_STRING && streq(name, "DropInPaths")) {
+ int r = bus_parse_strv_iter(iter, &i->dropin_paths);
+ if (r < 0)
+ return r;
+
} else if (dbus_message_iter_get_element_type(iter) == DBUS_TYPE_STRING &&
streq(name, "Documentation")) {
@@ -2568,16 +3172,13 @@ static int status_property(const char *name, DBusMessageIter *iter, UnitStatusIn
dbus_message_iter_recurse(iter, &sub);
while (dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_STRING) {
const char *s;
- char **l;
+ int r;
dbus_message_iter_get_basic(&sub, &s);
- l = strv_append(i->documentation, s);
- if (!l)
- return -ENOMEM;
-
- strv_free(i->documentation);
- i->documentation = l;
+ r = strv_extend(&i->documentation, s);
+ if (r < 0)
+ return r;
dbus_message_iter_next(&sub);
}
@@ -2621,7 +3222,7 @@ static int print_property(const char *name, DBusMessageIter *iter) {
/* This is a low-level property printer, see
* print_status_info() for the nicer output */
- if (arg_property && !strv_find(arg_property, name))
+ if (arg_properties && !strv_find(arg_properties, name))
return 0;
switch (dbus_message_iter_get_arg_type(iter)) {
@@ -2690,6 +3291,7 @@ static int print_property(const char *name, DBusMessageIter *iter) {
DBusMessageIter sub, sub2;
dbus_message_iter_recurse(iter, &sub);
+
while (dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_STRUCT) {
const char *type, *path;
@@ -2704,6 +3306,24 @@ static int print_property(const char *name, DBusMessageIter *iter) {
return 0;
+ } else if (dbus_message_iter_get_element_type(iter) == DBUS_TYPE_STRUCT && streq(name, "Listen")) {
+ DBusMessageIter sub, sub2;
+
+ dbus_message_iter_recurse(iter, &sub);
+ while (dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_STRUCT) {
+ const char *type, *path;
+
+ dbus_message_iter_recurse(&sub, &sub2);
+
+ if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &type, true) >= 0 &&
+ bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &path, false) >= 0)
+ printf("Listen%s=%s\n", type, path);
+
+ dbus_message_iter_next(&sub);
+ }
+
+ return 0;
+
} else if (dbus_message_iter_get_element_type(iter) == DBUS_TYPE_STRUCT && streq(name, "Timers")) {
DBusMessageIter sub, sub2;
@@ -2721,8 +3341,8 @@ static int print_property(const char *name, DBusMessageIter *iter) {
printf("%s={ value=%s ; next_elapse=%s }\n",
base,
- format_timespan(timespan1, sizeof(timespan1), value),
- format_timespan(timespan2, sizeof(timespan2), next_elapse));
+ format_timespan(timespan1, sizeof(timespan1), value, 0),
+ format_timespan(timespan2, sizeof(timespan2), next_elapse, 0));
}
dbus_message_iter_next(&sub);
@@ -2743,7 +3363,7 @@ static int print_property(const char *name, DBusMessageIter *iter) {
bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &attr, true) >= 0 &&
bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &value, false) >= 0) {
- printf("ControlGroupAttribute={ controller=%s ; attribute=%s ; value=\"%s\" }\n",
+ printf("ControlGroupAttributes={ controller=%s ; attribute=%s ; value=\"%s\" }\n",
controller,
attr,
value);
@@ -2759,12 +3379,11 @@ static int print_property(const char *name, DBusMessageIter *iter) {
dbus_message_iter_recurse(iter, &sub);
while (dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_STRUCT) {
- ExecStatusInfo info;
+ ExecStatusInfo info = {};
- zero(info);
if (exec_status_info_deserialize(&sub, &info) >= 0) {
char timestamp1[FORMAT_TIMESTAMP_MAX], timestamp2[FORMAT_TIMESTAMP_MAX];
- char *t;
+ _cleanup_free_ char *t;
t = strv_join(info.argv, " ");
@@ -2780,8 +3399,6 @@ static int print_property(const char *name, DBusMessageIter *iter) {
info.status,
info.code == CLD_EXITED ? "" : "/",
strempty(info.code == CLD_EXITED ? NULL : signal_to_string(info.status)));
-
- free(t);
}
free(info.path);
@@ -2806,19 +3423,17 @@ static int print_property(const char *name, DBusMessageIter *iter) {
}
static int show_one(const char *verb, DBusConnection *bus, const char *path, bool show_properties, bool *new_line) {
- DBusMessage *reply = NULL;
+ _cleanup_free_ DBusMessage *reply = NULL;
const char *interface = "";
int r;
DBusMessageIter iter, sub, sub2, sub3;
- UnitStatusInfo info;
+ UnitStatusInfo info = {};
ExecStatusInfo *p;
assert(path);
assert(new_line);
- zero(info);
-
- r = bus_method_call_with_reply (
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
path,
@@ -2828,15 +3443,14 @@ static int show_one(const char *verb, DBusConnection *bus, const char *path, boo
NULL,
DBUS_TYPE_STRING, &interface,
DBUS_TYPE_INVALID);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
if (!dbus_message_iter_init(reply, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_DICT_ENTRY) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&iter, &sub);
@@ -2849,24 +3463,13 @@ static int show_one(const char *verb, DBusConnection *bus, const char *path, boo
while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
const char *name;
- if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_DICT_ENTRY) {
- log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
- }
-
+ assert(dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_DICT_ENTRY);
dbus_message_iter_recurse(&sub, &sub2);
- if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &name, true) < 0) {
+ if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &name, true) < 0 ||
+ dbus_message_iter_get_arg_type(&sub2) != DBUS_TYPE_VARIANT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
- }
-
- if (dbus_message_iter_get_arg_type(&sub2) != DBUS_TYPE_VARIANT) {
- log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&sub2, &sub3);
@@ -2875,11 +3478,9 @@ static int show_one(const char *verb, DBusConnection *bus, const char *path, boo
r = print_property(name, &sub3);
else
r = status_property(name, &sub3, &info);
-
if (r < 0) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_next(&sub);
@@ -2895,6 +3496,8 @@ static int show_one(const char *verb, DBusConnection *bus, const char *path, boo
}
strv_free(info.documentation);
+ strv_free(info.dropin_paths);
+ strv_free(info.listen);
if (!streq_ptr(info.active_state, "active") &&
!streq_ptr(info.active_state, "reloading") &&
@@ -2907,22 +3510,18 @@ static int show_one(const char *verb, DBusConnection *bus, const char *path, boo
exec_status_info_free(p);
}
-finish:
- if (reply)
- dbus_message_unref(reply);
-
return r;
}
static int show_one_by_pid(const char *verb, DBusConnection *bus, uint32_t pid, bool *new_line) {
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
const char *path = NULL;
- DBusError error;
+ _cleanup_dbus_error_free_ DBusError error;
int r;
dbus_error_init(&error);
- r = bus_method_call_with_reply (
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
@@ -2932,85 +3531,107 @@ static int show_one_by_pid(const char *verb, DBusConnection *bus, uint32_t pid,
NULL,
DBUS_TYPE_UINT32, &pid,
DBUS_TYPE_INVALID);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
if (!dbus_message_get_args(reply, &error,
DBUS_TYPE_OBJECT_PATH, &path,
DBUS_TYPE_INVALID)) {
log_error("Failed to parse reply: %s", bus_error_message(&error));
- r = -EIO;
- goto finish;
+ return -EIO;
}
r = show_one(verb, bus, path, false, new_line);
+ return r;
+}
-finish:
- if (reply)
- dbus_message_unref(reply);
+static int show_all(const char* verb, DBusConnection *bus, bool show_properties, bool *new_line) {
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+ _cleanup_free_ struct unit_info *unit_infos = NULL;
+ unsigned c = 0;
+ const struct unit_info *u;
+ int r;
- dbus_error_free(&error);
+ r = get_unit_list(bus, &reply, &unit_infos, &c);
+ if (r < 0)
+ return r;
- return r;
+ qsort(unit_infos, c, sizeof(struct unit_info), compare_unit_info);
+
+ for (u = unit_infos; u < unit_infos + c; u++) {
+ _cleanup_free_ char *p = NULL;
+
+ if (!output_show_unit(u))
+ continue;
+
+ p = unit_dbus_path_from_name(u->id);
+ if (!p)
+ return log_oom();
+
+ printf("%s -> '%s'\n", u->id, p);
+
+ r = show_one(verb, bus, p, show_properties, new_line);
+ if (r != 0)
+ return r;
+ }
+
+ return 0;
}
static int show(DBusConnection *bus, char **args) {
int r, ret = 0;
- bool show_properties, new_line = false;
+ bool show_properties, show_status, new_line = false;
char **name;
assert(bus);
assert(args);
show_properties = streq(args[0], "show");
+ show_status = streq(args[0], "status");
if (show_properties)
pager_open_if_enabled();
- if (show_properties && strv_length(args) <= 1) {
- /* If not argument is specified inspect the manager
- * itself */
+ /* If no argument is specified inspect the manager itself */
+ if (show_properties && strv_length(args) <= 1)
return show_one(args[0], bus, "/org/freedesktop/systemd1", show_properties, &new_line);
- }
+
+ if (show_status && strv_length(args) <= 1)
+ return show_all(args[0], bus, false, &new_line);
STRV_FOREACH(name, args+1) {
uint32_t id;
if (safe_atou32(*name, &id) < 0) {
- char *p, *n;
+ _cleanup_free_ char *p = NULL, *n = NULL;
/* Interpret as unit name */
n = unit_name_mangle(*name);
- p = unit_dbus_path_from_name(n ? n : *name);
- free(n);
+ if (!n)
+ return log_oom();
+
+ p = unit_dbus_path_from_name(n);
if (!p)
return log_oom();
r = show_one(args[0], bus, p, show_properties, &new_line);
- free(p);
-
if (r != 0)
ret = r;
} else if (show_properties) {
+ _cleanup_free_ char *p = NULL;
/* Interpret as job id */
-
- char *p;
if (asprintf(&p, "/org/freedesktop/systemd1/job/%u", id) < 0)
return log_oom();
r = show_one(args[0], bus, p, show_properties, &new_line);
- free(p);
-
if (r != 0)
ret = r;
} else {
-
/* Interpret as PID */
-
r = show_one_by_pid(args[0], bus, id, &new_line);
if (r != 0)
ret = r;
@@ -3021,7 +3642,7 @@ static int show(DBusConnection *bus, char **args) {
}
static int dump(DBusConnection *bus, char **args) {
- DBusMessage *reply = NULL;
+ _cleanup_free_ DBusMessage *reply = NULL;
DBusError error;
int r;
const char *text;
@@ -3030,7 +3651,7 @@ static int dump(DBusConnection *bus, char **args) {
pager_open_if_enabled();
- r = bus_method_call_with_reply (
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
@@ -3039,46 +3660,42 @@ static int dump(DBusConnection *bus, char **args) {
&reply,
NULL,
DBUS_TYPE_INVALID);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
if (!dbus_message_get_args(reply, &error,
DBUS_TYPE_STRING, &text,
DBUS_TYPE_INVALID)) {
log_error("Failed to parse reply: %s", bus_error_message(&error));
- r = -EIO;
- goto finish;
+ dbus_error_free(&error);
+ return -EIO;
}
fputs(text, stdout);
-
-finish:
- if (reply)
- dbus_message_unref(reply);
-
- dbus_error_free(&error);
-
- return r;
+ return 0;
}
static int snapshot(DBusConnection *bus, char **args) {
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
DBusError error;
int r;
dbus_bool_t cleanup = FALSE;
DBusMessageIter iter, sub;
const char
- *name = "", *path, *id,
+ *path, *id,
*interface = "org.freedesktop.systemd1.Unit",
*property = "Id";
- char *n;
+ _cleanup_free_ char *n = NULL;
dbus_error_init(&error);
if (strv_length(args) > 1)
- name = args[1];
+ n = snapshot_name_mangle(args[1]);
+ else
+ n = strdup("");
+ if (!n)
+ return log_oom();
- n = unit_name_mangle(name);
r = bus_method_call_with_reply (
bus,
"org.freedesktop.systemd1",
@@ -3087,22 +3704,23 @@ static int snapshot(DBusConnection *bus, char **args) {
"CreateSnapshot",
&reply,
NULL,
- DBUS_TYPE_STRING, n ? (const char**) &n : &name,
+ DBUS_TYPE_STRING, &n,
DBUS_TYPE_BOOLEAN, &cleanup,
DBUS_TYPE_INVALID);
- free(n);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
if (!dbus_message_get_args(reply, &error,
DBUS_TYPE_OBJECT_PATH, &path,
DBUS_TYPE_INVALID)) {
log_error("Failed to parse reply: %s", bus_error_message(&error));
- r = -EIO;
- goto finish;
+ dbus_error_free(&error);
+ return -EIO;
}
dbus_message_unref(reply);
+ reply = NULL;
+
r = bus_method_call_with_reply (
bus,
"org.freedesktop.systemd1",
@@ -3114,22 +3732,20 @@ static int snapshot(DBusConnection *bus, char **args) {
DBUS_TYPE_STRING, &interface,
DBUS_TYPE_STRING, &property,
DBUS_TYPE_INVALID);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
if (!dbus_message_iter_init(reply, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&iter, &sub);
if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRING) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_get_basic(&sub, &id);
@@ -3137,70 +3753,37 @@ static int snapshot(DBusConnection *bus, char **args) {
if (!arg_quiet)
puts(id);
-finish:
- if (reply)
- dbus_message_unref(reply);
-
- dbus_error_free(&error);
-
- return r;
+ return 0;
}
static int delete_snapshot(DBusConnection *bus, char **args) {
- DBusMessage *reply = NULL;
- int r = 0;
- DBusError error;
char **name;
assert(args);
- dbus_error_init(&error);
-
STRV_FOREACH(name, args+1) {
- const char *path = NULL;
- char *n;
+ _cleanup_free_ char *n = NULL;
+ int r;
- n = unit_name_mangle(*name);
- r = bus_method_call_with_reply (
+ n = snapshot_name_mangle(*name);
+ if (!n)
+ return log_oom();
+
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
- "GetUnit",
- &reply,
- NULL,
- DBUS_TYPE_STRING, n ? &n : name,
- DBUS_TYPE_INVALID);
- free(n);
- if (r)
- goto finish;
-
- if (!dbus_message_get_args(reply, &error,
- DBUS_TYPE_OBJECT_PATH, &path,
- DBUS_TYPE_INVALID)) {
- log_error("Failed to parse reply: %s", bus_error_message(&error));
- r = -EIO;
- dbus_message_unref(reply);
- dbus_error_free(&error);
- goto finish;
- }
- dbus_message_unref(reply);
-
- r = bus_method_call_with_reply (
- bus,
- "org.freedesktop.systemd1",
- path,
- "org.freedesktop.systemd1.Snapshot",
- "Remove",
+ "RemoveSnapshot",
NULL,
NULL,
+ DBUS_TYPE_STRING, &n,
DBUS_TYPE_INVALID);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
}
-finish:
- return r;
+ return 0;
}
static int daemon_reload(DBusConnection *bus, char **args) {
@@ -3228,7 +3811,7 @@ static int daemon_reload(DBusConnection *bus, char **args) {
/* "daemon-reload" */ "Reload";
}
- r = bus_method_call_with_reply (
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
@@ -3246,23 +3829,28 @@ static int daemon_reload(DBusConnection *bus, char **args) {
/* On reexecution, we expect a disconnect, not
* a reply */
r = 0;
- else if (r)
+ else if (r < 0)
log_error("Failed to issue method call: %s", bus_error_message(&error));
- dbus_error_free(&error);
+ dbus_error_free(&error);
return r;
}
static int reset_failed(DBusConnection *bus, char **args) {
int r = 0;
- char **name, *n;
+ char **name;
if (strv_length(args) <= 1)
return daemon_reload(bus, args);
STRV_FOREACH(name, args+1) {
+ _cleanup_free_ char *n;
+
n = unit_name_mangle(*name);
- r = bus_method_call_with_reply (
+ if (!n)
+ return log_oom();
+
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
@@ -3270,19 +3858,17 @@ static int reset_failed(DBusConnection *bus, char **args) {
"ResetFailedUnit",
NULL,
NULL,
- DBUS_TYPE_STRING, n ? &n : name,
+ DBUS_TYPE_STRING, &n,
DBUS_TYPE_INVALID);
- free(n);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
}
-finish:
- return r;
+ return 0;
}
static int show_enviroment(DBusConnection *bus, char **args) {
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
DBusMessageIter iter, sub, sub2;
int r;
const char
@@ -3291,7 +3877,7 @@ static int show_enviroment(DBusConnection *bus, char **args) {
pager_open_if_enabled();
- r = bus_method_call_with_reply (
+ r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
@@ -3302,14 +3888,13 @@ static int show_enviroment(DBusConnection *bus, char **args) {
DBUS_TYPE_STRING, &interface,
DBUS_TYPE_STRING, &property,
DBUS_TYPE_INVALID);
- if (r)
- goto finish;
+ if (r < 0)
+ return r;
if (!dbus_message_iter_init(reply, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&iter, &sub);
@@ -3317,8 +3902,7 @@ static int show_enviroment(DBusConnection *bus, char **args) {
if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_ARRAY ||
dbus_message_iter_get_element_type(&sub) != DBUS_TYPE_STRING) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_recurse(&sub, &sub2);
@@ -3328,23 +3912,16 @@ static int show_enviroment(DBusConnection *bus, char **args) {
if (dbus_message_iter_get_arg_type(&sub2) != DBUS_TYPE_STRING) {
log_error("Failed to parse reply.");
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_iter_get_basic(&sub2, &text);
- printf("%s\n", text);
+ puts(text);
dbus_message_iter_next(&sub2);
}
- r = 0;
-
-finish:
- if (reply)
- dbus_message_unref(reply);
-
- return r;
+ return 0;
}
static int switch_root(DBusConnection *bus, char **args) {
@@ -3369,15 +3946,13 @@ static int switch_root(DBusConnection *bus, char **args) {
if (!init)
init = strdup("");
-
- if (!init)
- return log_oom();
-
}
+ if (!init)
+ return log_oom();
log_debug("switching root - root: %s; init: %s", root, init);
- return bus_method_call_with_reply (
+ return bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
@@ -3398,6 +3973,7 @@ static int set_environment(DBusConnection *bus, char **args) {
int r;
assert(bus);
+ assert(args);
dbus_error_init(&error);
@@ -3422,15 +3998,11 @@ static int set_environment(DBusConnection *bus, char **args) {
reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error);
if (!reply) {
log_error("Failed to issue method call: %s", bus_error_message(&error));
- r = -EIO;
- goto finish;
+ dbus_error_free(&error);
+ return -EIO;
}
- r = 0;
-
-finish:
- dbus_error_free(&error);
- return r;
+ return 0;
}
static int enable_sysv_units(char **args) {
@@ -3439,7 +4011,7 @@ static int enable_sysv_units(char **args) {
#if defined(HAVE_SYSV_COMPAT) && defined(HAVE_CHKCONFIG)
const char *verb = args[0];
unsigned f = 1, t = 1;
- LookupPaths paths;
+ LookupPaths paths = {};
if (arg_scope != UNIT_FILE_SYSTEM)
return 0;
@@ -3452,7 +4024,6 @@ static int enable_sysv_units(char **args) {
/* Processes all SysV units, and reshuffles the array so that
* afterwards only the native units remain */
- zero(paths);
r = lookup_paths_init(&paths, SYSTEMD_SYSTEM, false, NULL, NULL, NULL);
if (r < 0)
return r;
@@ -3460,11 +4031,11 @@ static int enable_sysv_units(char **args) {
r = 0;
for (f = 1; args[f]; f++) {
const char *name;
- char *p;
+ _cleanup_free_ char *p = NULL, *q = NULL;
bool found_native = false, found_sysv;
unsigned c = 1;
const char *argv[6] = { "/sbin/chkconfig", NULL, NULL, NULL, NULL };
- char **k, *l, *q = NULL;
+ char **k, *l;
int j;
pid_t pid;
siginfo_t status;
@@ -3478,8 +4049,6 @@ static int enable_sysv_units(char **args) {
continue;
STRV_FOREACH(k, paths.unit_path) {
- p = NULL;
-
if (!isempty(arg_root))
asprintf(&p, "%s/%s/%s", arg_root, *k, name);
else
@@ -3492,6 +4061,7 @@ static int enable_sysv_units(char **args) {
found_native = access(p, F_OK) >= 0;
free(p);
+ p = NULL;
if (found_native)
break;
@@ -3500,7 +4070,6 @@ static int enable_sysv_units(char **args) {
if (found_native)
continue;
- p = NULL;
if (!isempty(arg_root))
asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/%s", arg_root, name);
else
@@ -3513,10 +4082,8 @@ static int enable_sysv_units(char **args) {
p[strlen(p) - sizeof(".service") + 1] = 0;
found_sysv = access(p, F_OK) >= 0;
- if (!found_sysv) {
- free(p);
+ if (!found_sysv)
continue;
- }
/* Mark this entry, so that we don't try enabling it as native unit */
args[f] = (char*) "";
@@ -3534,8 +4101,6 @@ static int enable_sysv_units(char **args) {
l = strv_join((char**)argv, " ");
if (!l) {
- free(q);
- free(p);
r = log_oom();
goto finish;
}
@@ -3546,8 +4111,6 @@ static int enable_sysv_units(char **args) {
pid = fork();
if (pid < 0) {
log_error("Failed to fork: %m");
- free(p);
- free(q);
r = -errno;
goto finish;
} else if (pid == 0) {
@@ -3557,9 +4120,6 @@ static int enable_sysv_units(char **args) {
_exit(EXIT_FAILURE);
}
- free(p);
- free(q);
-
j = wait_for_terminate(pid, &status);
if (j < 0) {
log_error("Failed to wait for child: %s", strerror(-r));
@@ -3643,10 +4203,12 @@ static int enable_unit(DBusConnection *bus, char **args) {
UnitFileChange *changes = NULL;
unsigned n_changes = 0, i;
int carries_install_info = -1;
- DBusMessage *m = NULL, *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *m = NULL, *reply = NULL;
int r;
- DBusError error;
- char **mangled_names = NULL;
+ _cleanup_dbus_error_free_ DBusError error;
+ _cleanup_strv_free_ char **mangled_names = NULL;
+
+ dbus_error_init(&error);
r = enable_sysv_units(args);
if (r < 0)
@@ -3655,8 +4217,6 @@ static int enable_unit(DBusConnection *bus, char **args) {
if (!args[1])
return 0;
- dbus_error_init(&error);
-
if (!bus || avoid_bus()) {
if (streq(verb, "enable")) {
r = unit_file_enable(arg_scope, arg_runtime, arg_root, args+1, arg_force, &changes, &n_changes);
@@ -3825,39 +4385,29 @@ static int enable_unit(DBusConnection *bus, char **args) {
}
if (carries_install_info == 0)
- log_warning(
-"The unit files have no [Install] section. They are not meant to be enabled\n"
-"using systemctl.\n"
-"Possible reasons for having this kind of units are:\n"
-"1) A unit may be statically enabled by being symlinked from another unit's\n"
-" .wants/ or .requires/ directory.\n"
-"2) A unit's purpose may be to act as a helper for some other unit which has\n"
-" a requirement dependency on it.\n"
-"3) A unit may be started when needed via activation (socket, path, timer,\n"
-" D-Bus, udev, scripted systemctl call, ...).\n");
+ log_warning("The unit files have no [Install] section. They are not meant to be enabled\n"
+ "using systemctl.\n"
+ "Possible reasons for having this kind of units are:\n"
+ "1) A unit may be statically enabled by being symlinked from another unit's\n"
+ " .wants/ or .requires/ directory.\n"
+ "2) A unit's purpose may be to act as a helper for some other unit which has\n"
+ " a requirement dependency on it.\n"
+ "3) A unit may be started when needed via activation (socket, path, timer,\n"
+ " D-Bus, udev, scripted systemctl call, ...).\n");
finish:
- if (m)
- dbus_message_unref(m);
-
- if (reply)
- dbus_message_unref(reply);
-
unit_file_changes_free(changes, n_changes);
- dbus_error_free(&error);
-
- strv_free(mangled_names);
-
return r;
}
static int unit_is_enabled(DBusConnection *bus, char **args) {
- DBusError error;
+ _cleanup_dbus_error_free_ DBusError error;
int r;
- DBusMessage *reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
bool enabled;
char **name;
+ char *n;
dbus_error_init(&error);
@@ -3872,11 +4422,16 @@ static int unit_is_enabled(DBusConnection *bus, char **args) {
STRV_FOREACH(name, args+1) {
UnitFileState state;
- state = unit_file_get_state(arg_scope, arg_root, *name);
- if (state < 0) {
- r = state;
- goto finish;
- }
+ n = unit_name_mangle(*name);
+ if (!n)
+ return log_oom();
+
+ state = unit_file_get_state(arg_scope, arg_root, n);
+
+ free(n);
+
+ if (state < 0)
+ return state;
if (state == UNIT_FILE_ENABLED ||
state == UNIT_FILE_ENABLED_RUNTIME ||
@@ -3891,6 +4446,10 @@ static int unit_is_enabled(DBusConnection *bus, char **args) {
STRV_FOREACH(name, args+1) {
const char *s;
+ n = unit_name_mangle(*name);
+ if (!n)
+ return log_oom();
+
r = bus_method_call_with_reply (
bus,
"org.freedesktop.systemd1",
@@ -3899,17 +4458,19 @@ static int unit_is_enabled(DBusConnection *bus, char **args) {
"GetUnitFileState",
&reply,
NULL,
- DBUS_TYPE_STRING, name,
+ DBUS_TYPE_STRING, &n,
DBUS_TYPE_INVALID);
+
+ free(n);
+
if (r)
- goto finish;
+ return r;
if (!dbus_message_get_args(reply, &error,
DBUS_TYPE_STRING, &s,
DBUS_TYPE_INVALID)) {
log_error("Failed to parse reply: %s", bus_error_message(&error));
- r = -EIO;
- goto finish;
+ return -EIO;
}
dbus_message_unref(reply);
@@ -3925,14 +4486,7 @@ static int unit_is_enabled(DBusConnection *bus, char **args) {
}
}
- r = enabled ? 0 : 1;
-
-finish:
- if (reply)
- dbus_message_unref(reply);
-
- dbus_error_free(&error);
- return r;
+ return enabled ? 0 : 1;
}
static int systemctl_help(void) {
@@ -3945,13 +4499,20 @@ static int systemctl_help(void) {
" --version Show package version\n"
" -t --type=TYPE List only units of a particular type\n"
" -p --property=NAME Show only properties by this name\n"
- " -a --all Show all units/properties, including dead/empty ones\n"
+ " -a --all Show all loaded units/properties, including dead/empty\n"
+ " ones. To list all units installed on the system, use\n"
+ " the 'list-unit-files' command instead.\n"
+ " --reverse Show reverse dependencies with 'list-dependencies'\n"
" --failed Show only failed units\n"
" --full Don't ellipsize unit names on output\n"
" --fail When queueing a new job, fail if conflicting jobs are\n"
" pending\n"
+ " --irreversible Create jobs which cannot be implicitly cancelled\n"
+ " --show-types When showing sockets, explicitly show their type\n"
" --ignore-dependencies\n"
" When queueing a new job, ignore all its dependencies\n"
+ " -i --ignore-inhibitors\n"
+ " When shutting down or sleeping, ignore inhibitors\n"
" --kill-who=WHO Who to send signal to\n"
" -s --signal=SIGNAL Which signal to send\n"
" -H --host=[USER@]HOST\n"
@@ -3966,8 +4527,6 @@ static int systemctl_help(void) {
" --no-pager Do not pipe output into a pager\n"
" --no-ask-password\n"
" Do not ask for system passwords\n"
- " --order When generating graph for dot, show only order\n"
- " --require When generating graph for dot, show only requirement\n"
" --system Connect to system manager\n"
" --user Connect to user service manager\n"
" --global Enable/disable unit files globally\n"
@@ -3996,10 +4555,21 @@ static int systemctl_help(void) {
" status [NAME...|PID...] Show runtime status of one or more units\n"
" show [NAME...|JOB...] Show properties of one or more\n"
" units/jobs or the manager\n"
- " help [NAME...|PID...] Show manual for one or more units\n"
+ " help [NAME...|PID...] Show manual for one or more units\n"
" reset-failed [NAME...] Reset failed state for all, one, or more\n"
" units\n"
- " load [NAME...] Load one or more units\n\n"
+ " get-cgroup-attr [NAME] [ATTR] ...\n"
+ " Get control group attrubute\n"
+ " set-cgroup-attr [NAME] [ATTR] [VALUE] ...\n"
+ " Set control group attribute\n"
+ " unset-cgroup-attr [NAME] [ATTR...]\n"
+ " Unset control group attribute\n"
+ " set-cgroup [NAME] [CGROUP...] Add unit to a control group\n"
+ " unset-cgroup [NAME] [CGROUP...] Remove unit from a control group\n"
+ " load [NAME...] Load one or more units\n"
+ " list-dependencies [NAME] Recursively show units which are required\n"
+ " or wanted by this unit or by which this\n"
+ " unit is required or wanted\n\n"
"Unit File Commands:\n"
" list-unit-files List installed unit files\n"
" enable [NAME...] Enable one or more unit files\n"
@@ -4017,7 +4587,6 @@ static int systemctl_help(void) {
" cancel [JOB...] Cancel all, one, or more jobs\n\n"
"Status Commands:\n"
" dump Dump server status\n"
- " dot Dump dependency graph for dot(1)\n\n"
"Snapshot Commands:\n"
" snapshot [NAME] Create a snapshot\n"
" delete [NAME...] Remove one or more snapshots\n\n"
@@ -4113,16 +4682,21 @@ static int runlevel_help(void) {
static int help_types(void) {
int i;
+ const char *t;
puts("Available unit types:");
- for(i = UNIT_SERVICE; i < _UNIT_TYPE_MAX; i++)
- if (unit_type_table[i])
- puts(unit_type_table[i]);
+ for(i = 0; i < _UNIT_TYPE_MAX; i++) {
+ t = unit_type_to_string(i);
+ if (t)
+ puts(t);
+ }
puts("\nAvailable unit load states: ");
- for(i = UNIT_STUB; i < _UNIT_LOAD_STATE_MAX; i++)
- if (unit_type_table[i])
- puts(unit_load_state_table[i]);
+ for(i = 0; i < _UNIT_LOAD_STATE_MAX; i++) {
+ t = unit_load_state_to_string(i);
+ if (t)
+ puts(t);
+ }
return 0;
}
@@ -4131,6 +4705,11 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
enum {
ARG_FAIL = 0x100,
+ ARG_REVERSE,
+ ARG_AFTER,
+ ARG_BEFORE,
+ ARG_SHOW_TYPES,
+ ARG_IRREVERSIBLE,
ARG_IGNORE_DEPENDENCIES,
ARG_VERSION,
ARG_USER,
@@ -4140,8 +4719,6 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
ARG_NO_LEGEND,
ARG_NO_PAGER,
ARG_NO_WALL,
- ARG_ORDER,
- ARG_REQUIRE,
ARG_ROOT,
ARG_FULL,
ARG_NO_RELOAD,
@@ -4149,7 +4726,8 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
ARG_NO_ASK_PASSWORD,
ARG_FAILED,
ARG_RUNTIME,
- ARG_FORCE
+ ARG_FORCE,
+ ARG_PLAIN
};
static const struct option options[] = {
@@ -4158,10 +4736,16 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
{ "type", required_argument, NULL, 't' },
{ "property", required_argument, NULL, 'p' },
{ "all", no_argument, NULL, 'a' },
+ { "reverse", no_argument, NULL, ARG_REVERSE },
+ { "after", no_argument, NULL, ARG_AFTER },
+ { "before", no_argument, NULL, ARG_BEFORE },
+ { "show-types", no_argument, NULL, ARG_SHOW_TYPES },
{ "failed", no_argument, NULL, ARG_FAILED },
{ "full", no_argument, NULL, ARG_FULL },
{ "fail", no_argument, NULL, ARG_FAIL },
+ { "irreversible", no_argument, NULL, ARG_IRREVERSIBLE },
{ "ignore-dependencies", no_argument, NULL, ARG_IGNORE_DEPENDENCIES },
+ { "ignore-inhibitors", no_argument, NULL, 'i' },
{ "user", no_argument, NULL, ARG_USER },
{ "system", no_argument, NULL, ARG_SYSTEM },
{ "global", no_argument, NULL, ARG_GLOBAL },
@@ -4170,8 +4754,6 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
{ "no-pager", no_argument, NULL, ARG_NO_PAGER },
{ "no-wall", no_argument, NULL, ARG_NO_WALL },
{ "quiet", no_argument, NULL, 'q' },
- { "order", no_argument, NULL, ARG_ORDER },
- { "require", no_argument, NULL, ARG_REQUIRE },
{ "root", required_argument, NULL, ARG_ROOT },
{ "force", no_argument, NULL, ARG_FORCE },
{ "no-reload", no_argument, NULL, ARG_NO_RELOAD },
@@ -4183,6 +4765,7 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
{ "runtime", no_argument, NULL, ARG_RUNTIME },
{ "lines", required_argument, NULL, 'n' },
{ "output", required_argument, NULL, 'o' },
+ { "plain", no_argument, NULL, ARG_PLAIN },
{ NULL, 0, NULL, 0 }
};
@@ -4191,7 +4774,7 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
assert(argc >= 0);
assert(argv);
- while ((c = getopt_long(argc, argv, "ht:p:aqfs:H:Pn:o:", options, NULL)) >= 0) {
+ while ((c = getopt_long(argc, argv, "ht:p:aqfs:H:Pn:o:i", options, NULL)) >= 0) {
switch (c) {
@@ -4204,37 +4787,74 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
puts(SYSTEMD_FEATURES);
return 0;
- case 't':
- if (streq(optarg, "help")) {
- help_types();
- return 0;
- }
+ case 't': {
+ char *word, *state;
+ size_t size;
- if (unit_type_from_string(optarg) >= 0) {
- arg_type = optarg;
- break;
- }
- if (unit_load_state_from_string(optarg) >= 0) {
- arg_load_state = optarg;
- break;
+ FOREACH_WORD_SEPARATOR(word, size, optarg, ",", state) {
+ _cleanup_free_ char *type;
+
+ type = strndup(word, size);
+ if (!type)
+ return -ENOMEM;
+
+ if (streq(type, "help")) {
+ help_types();
+ return 0;
+ }
+
+ if (unit_type_from_string(type) >= 0) {
+ if (strv_push(&arg_types, type))
+ return log_oom();
+ type = NULL;
+ continue;
+ }
+
+ if (unit_load_state_from_string(optarg) >= 0) {
+ if (strv_push(&arg_load_states, type))
+ return log_oom();
+ type = NULL;
+ continue;
+ }
+
+ log_error("Unknown unit type or load state '%s'.", type);
+ log_info("Use -t help to see a list of allowed values.");
+ return -EINVAL;
}
- log_error("Unkown unit type or load state '%s'.",
- optarg);
- log_info("Use -t help to see a list of allowed values.");
- return -EINVAL;
+
+ break;
+ }
+
case 'p': {
- char **l;
+ /* Make sure that if the empty property list
+ was specified, we won't show any properties. */
+ if (isempty(optarg) && !arg_properties) {
+ arg_properties = strv_new(NULL, NULL);
+ if (!arg_properties)
+ return log_oom();
+ } else {
+ char *word, *state;
+ size_t size;
- if (!(l = strv_append(arg_property, optarg)))
- return -ENOMEM;
+ FOREACH_WORD_SEPARATOR(word, size, optarg, ",", state) {
+ char *prop;
- strv_free(arg_property);
- arg_property = l;
+ prop = strndup(word, size);
+ if (!prop)
+ return log_oom();
+
+ if (strv_push(&arg_properties, prop)) {
+ free(prop);
+ return log_oom();
+ }
+ }
+ }
/* If the user asked for a particular
* property, show it to him, even if it is
* empty. */
arg_all = true;
+
break;
}
@@ -4242,10 +4862,30 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
arg_all = true;
break;
+ case ARG_REVERSE:
+ arg_dependency = DEPENDENCY_REVERSE;
+ break;
+
+ case ARG_AFTER:
+ arg_dependency = DEPENDENCY_AFTER;
+ break;
+
+ case ARG_BEFORE:
+ arg_dependency = DEPENDENCY_BEFORE;
+ break;
+
+ case ARG_SHOW_TYPES:
+ arg_show_types = true;
+ break;
+
case ARG_FAIL:
arg_job_mode = "fail";
break;
+ case ARG_IRREVERSIBLE:
+ arg_job_mode = "replace-irreversibly";
+ break;
+
case ARG_IGNORE_DEPENDENCIES:
arg_job_mode = "ignore-dependencies";
break;
@@ -4278,14 +4918,6 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
arg_no_wall = true;
break;
- case ARG_ORDER:
- arg_dot = DOT_ORDER;
- break;
-
- case ARG_REQUIRE:
- arg_dot = DOT_REQUIRE;
- break;
-
case ARG_ROOT:
arg_root = optarg;
break;
@@ -4357,6 +4989,14 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
}
break;
+ case 'i':
+ arg_ignore_inhibitors = true;
+ break;
+
+ case ARG_PLAIN:
+ arg_plain = true;
+ break;
+
case '?':
return -EINVAL;
@@ -4479,23 +5119,22 @@ static int parse_time_spec(const char *t, usec_t *_u) {
} else {
char *e = NULL;
long hour, minute;
- struct tm tm;
+ struct tm tm = {};
time_t s;
usec_t n;
errno = 0;
hour = strtol(t, &e, 10);
- if (errno != 0 || *e != ':' || hour < 0 || hour > 23)
+ if (errno > 0 || *e != ':' || hour < 0 || hour > 23)
return -EINVAL;
minute = strtol(e+1, &e, 10);
- if (errno != 0 || *e != 0 || minute < 0 || minute > 59)
+ if (errno > 0 || *e != 0 || minute < 0 || minute > 59)
return -EINVAL;
n = now(CLOCK_REALTIME);
s = (time_t) (n / USEC_PER_SEC);
- zero(tm);
assert_se(localtime_r(&s, &tm));
tm.tm_hour = (int) hour;
@@ -4774,7 +5413,7 @@ static int parse_argv(int argc, char *argv[]) {
* request to it. For now we simply
* guess that it is Upstart. */
- execv("/lib/upstart/telinit", argv);
+ execv(TELINIT, argv);
log_error("Couldn't find an alternative telinit implementation to spawn.");
return -EIO;
@@ -4790,7 +5429,7 @@ static int parse_argv(int argc, char *argv[]) {
return systemctl_parse_argv(argc, argv);
}
-static int action_to_runlevel(void) {
+_pure_ static int action_to_runlevel(void) {
static const char table[_ACTION_MAX] = {
[ACTION_HALT] = '0',
@@ -4809,8 +5448,8 @@ static int action_to_runlevel(void) {
}
static int talk_upstart(void) {
- DBusMessage *m = NULL, *reply = NULL;
- DBusError error;
+ _cleanup_dbus_message_unref_ DBusMessage *m = NULL, *reply = NULL;
+ _cleanup_dbus_error_free_ DBusError error;
int previous, rl, r;
char
env1_buf[] = "RUNLEVEL=X",
@@ -4887,39 +5526,32 @@ static int talk_upstart(void) {
r = 1;
finish:
- if (m)
- dbus_message_unref(m);
-
- if (reply)
- dbus_message_unref(reply);
-
if (bus) {
dbus_connection_flush(bus);
dbus_connection_close(bus);
dbus_connection_unref(bus);
}
- dbus_error_free(&error);
-
return r;
}
static int talk_initctl(void) {
- struct init_request request;
- int r, fd;
+ struct init_request request = {};
+ int r;
+ _cleanup_close_ int fd = -1;
char rl;
- if (!(rl = action_to_runlevel()))
+ rl = action_to_runlevel();
+ if (!rl)
return 0;
- zero(request);
request.magic = INIT_MAGIC;
request.sleeptime = 0;
request.cmd = INIT_CMD_RUNLVL;
request.runlevel = rl;
- if ((fd = open(INIT_FIFO, O_WRONLY|O_NDELAY|O_CLOEXEC|O_NOCTTY)) < 0) {
-
+ fd = open(INIT_FIFO, O_WRONLY|O_NDELAY|O_CLOEXEC|O_NOCTTY);
+ if (fd < 0) {
if (errno == ENOENT)
return 0;
@@ -4929,11 +5561,9 @@ static int talk_initctl(void) {
errno = 0;
r = loop_write(fd, &request, sizeof(request), false) != sizeof(request);
- close_nointr_nofail(fd);
-
- if (r < 0) {
+ if (r) {
log_error("Failed to write to "INIT_FIFO": %m");
- return errno ? -errno : -EIO;
+ return errno > 0 ? -errno : -EIO;
}
return 1;
@@ -4953,6 +5583,7 @@ static int systemctl_main(DBusConnection *bus, int argc, char *argv[], DBusError
} verbs[] = {
{ "list-units", LESS, 1, list_units },
{ "list-unit-files", EQUAL, 1, list_unit_files },
+ { "list-sockets", LESS, 1, list_sockets },
{ "list-jobs", EQUAL, 1, list_jobs },
{ "clear-jobs", EQUAL, 1, daemon_reload },
{ "load", MORE, 2, load_unit },
@@ -4969,15 +5600,19 @@ static int systemctl_main(DBusConnection *bus, int argc, char *argv[], DBusError
{ "condreload", MORE, 2, start_unit }, /* For compatibility with ALTLinux */
{ "condrestart", MORE, 2, start_unit }, /* For compatibility with RH */
{ "isolate", EQUAL, 2, start_unit },
+ { "set-cgroup", MORE, 3, set_cgroup },
+ { "unset-cgroup", MORE, 3, set_cgroup },
+ { "get-cgroup-attr", MORE, 3, get_cgroup_attr },
+ { "set-cgroup-attr", MORE, 4, set_cgroup_attr },
+ { "unset-cgroup-attr", MORE, 3, set_cgroup },
{ "kill", MORE, 2, kill_unit },
{ "is-active", MORE, 2, check_unit_active },
{ "check", MORE, 2, check_unit_active },
{ "is-failed", MORE, 2, check_unit_failed },
{ "show", MORE, 1, show },
- { "status", MORE, 2, show },
+ { "status", MORE, 1, show },
{ "help", MORE, 2, show },
{ "dump", EQUAL, 1, dump },
- { "dot", EQUAL, 1, dot },
{ "snapshot", LESS, 2, snapshot },
{ "delete", MORE, 2, delete_snapshot },
{ "daemon-reload", EQUAL, 1, daemon_reload },
@@ -5006,6 +5641,7 @@ static int systemctl_main(DBusConnection *bus, int argc, char *argv[], DBusError
{ "unmask", MORE, 2, enable_unit },
{ "link", MORE, 2, enable_unit },
{ "switch-root", MORE, 2, switch_root },
+ { "list-dependencies", LESS, 2, list_dependencies },
};
int left;
@@ -5105,49 +5741,43 @@ static int systemctl_main(DBusConnection *bus, int argc, char *argv[], DBusError
}
static int send_shutdownd(usec_t t, char mode, bool dry_run, bool warn, const char *message) {
- int fd;
- struct msghdr msghdr;
- struct iovec iovec[2];
- union sockaddr_union sockaddr;
- struct sd_shutdown_command c;
+ _cleanup_close_ int fd;
+ struct sd_shutdown_command c = {
+ .usec = t,
+ .mode = mode,
+ .dry_run = dry_run,
+ .warn_wall = warn,
+ };
+ union sockaddr_union sockaddr = {
+ .un.sun_family = AF_UNIX,
+ .un.sun_path = "/run/systemd/shutdownd",
+ };
+ struct iovec iovec[2] = {
+ {.iov_base = (char*) &c,
+ .iov_len = offsetof(struct sd_shutdown_command, wall_message),
+ }
+ };
+ struct msghdr msghdr = {
+ .msg_name = &sockaddr,
+ .msg_namelen = offsetof(struct sockaddr_un, sun_path)
+ + sizeof("/run/systemd/shutdownd") - 1,
+ .msg_iov = iovec,
+ .msg_iovlen = 1,
+ };
fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0);
if (fd < 0)
return -errno;
- zero(c);
- c.usec = t;
- c.mode = mode;
- c.dry_run = dry_run;
- c.warn_wall = warn;
-
- zero(sockaddr);
- sockaddr.sa.sa_family = AF_UNIX;
- strncpy(sockaddr.un.sun_path, "/run/systemd/shutdownd", sizeof(sockaddr.un.sun_path));
-
- zero(msghdr);
- msghdr.msg_name = &sockaddr;
- msghdr.msg_namelen = offsetof(struct sockaddr_un, sun_path) + sizeof("/run/systemd/shutdownd") - 1;
-
- zero(iovec);
- iovec[0].iov_base = (char*) &c;
- iovec[0].iov_len = offsetof(struct sd_shutdown_command, wall_message);
-
- if (isempty(message))
- msghdr.msg_iovlen = 1;
- else {
+ if (!isempty(message)) {
iovec[1].iov_base = (char*) message;
iovec[1].iov_len = strlen(message);
- msghdr.msg_iovlen = 2;
+ msghdr.msg_iovlen++;
}
- msghdr.msg_iov = iovec;
- if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) {
- close_nointr_nofail(fd);
+ if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0)
return -errno;
- }
- close_nointr_nofail(fd);
return 0;
}
@@ -5229,6 +5859,10 @@ static _noreturn_ void halt_now(enum action a) {
static int halt_main(DBusConnection *bus) {
int r;
+ r = check_inhibitors(bus, arg_action);
+ if (r < 0)
+ return r;
+
if (geteuid() != 0) {
/* Try logind if we are a normal user and no special
* mode applies. Maybe PolicyKit allows us to shutdown
@@ -5236,7 +5870,7 @@ static int halt_main(DBusConnection *bus) {
if (arg_when <= 0 &&
!arg_dry &&
- !arg_force &&
+ arg_force <= 0 &&
(arg_action == ACTION_POWEROFF ||
arg_action == ACTION_REBOOT)) {
r = reboot_with_logind(bus, arg_action);
@@ -5249,7 +5883,7 @@ static int halt_main(DBusConnection *bus) {
}
if (arg_when > 0) {
- char *m;
+ _cleanup_free_ char *m;
m = strv_join(arg_wall, " ");
r = send_shutdownd(arg_when,
@@ -5260,7 +5894,6 @@ static int halt_main(DBusConnection *bus) {
arg_dry,
!arg_no_wall,
m);
- free(m);
if (r < 0)
log_warning("Failed to talk to shutdownd, proceeding with immediate shutdown: %s", strerror(-r));
@@ -5313,7 +5946,7 @@ static int runlevel_main(void) {
int main(int argc, char*argv[]) {
int r, retval = EXIT_FAILURE;
DBusConnection *bus = NULL;
- DBusError error;
+ _cleanup_dbus_error_free_ DBusError error;
dbus_error_init(&error);
@@ -5416,11 +6049,11 @@ finish:
dbus_connection_unref(bus);
}
- dbus_error_free(&error);
-
dbus_shutdown();
- strv_free(arg_property);
+ strv_free(arg_types);
+ strv_free(arg_load_states);
+ strv_free(arg_properties);
pager_close();
ask_password_agent_close();
diff --git a/src/systemd/sd-bus-protocol.h b/src/systemd/sd-bus-protocol.h
new file mode 100644
index 0000000000..a26d27c31a
--- /dev/null
+++ b/src/systemd/sd-bus-protocol.h
@@ -0,0 +1,153 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#ifndef foosdbusprotocolhfoo
+#define foosdbusprotocolhfoo
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <endian.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Types of message */
+
+enum {
+ _SD_BUS_MESSAGE_TYPE_INVALID = 0,
+ SD_BUS_MESSAGE_TYPE_METHOD_CALL,
+ SD_BUS_MESSAGE_TYPE_METHOD_RETURN,
+ SD_BUS_MESSAGE_TYPE_METHOD_ERROR,
+ SD_BUS_MESSAGE_TYPE_SIGNAL,
+ _SD_BUS_MESSAGE_TYPE_MAX
+};
+
+/* Primitive types */
+
+enum {
+ _SD_BUS_TYPE_INVALID = 0,
+ SD_BUS_TYPE_BYTE = 'y',
+ SD_BUS_TYPE_BOOLEAN = 'b',
+ SD_BUS_TYPE_INT16 = 'n',
+ SD_BUS_TYPE_UINT16 = 'q',
+ SD_BUS_TYPE_INT32 = 'i',
+ SD_BUS_TYPE_UINT32 = 'u',
+ SD_BUS_TYPE_INT64 = 'x',
+ SD_BUS_TYPE_UINT64 = 't',
+ SD_BUS_TYPE_DOUBLE = 'd',
+ SD_BUS_TYPE_STRING = 's',
+ SD_BUS_TYPE_OBJECT_PATH = 'o',
+ SD_BUS_TYPE_SIGNATURE = 'g',
+ SD_BUS_TYPE_UNIX_FD = 'h',
+ SD_BUS_TYPE_ARRAY = 'a',
+ SD_BUS_TYPE_VARIANT = 'v',
+ SD_BUS_TYPE_STRUCT = 'r', /* not actually used in signatures */
+ SD_BUS_TYPE_STRUCT_BEGIN = '(',
+ SD_BUS_TYPE_STRUCT_END = ')',
+ SD_BUS_TYPE_DICT_ENTRY = 'e', /* not actually used in signatures */
+ SD_BUS_TYPE_DICT_ENTRY_BEGIN = '{',
+ SD_BUS_TYPE_DICT_ENTRY_END = '}',
+};
+
+/* Endianness */
+
+enum {
+ _SD_BUS_INVALID_ENDIAN = 0,
+ SD_BUS_LITTLE_ENDIAN = 'l',
+ SD_BUS_BIG_ENDIAN = 'B',
+#if __BYTE_ORDER == __BIG_ENDIAN
+ SD_BUS_NATIVE_ENDIAN = SD_BUS_BIG_ENDIAN,
+ SD_BUS_REVERSE_ENDIAN = SD_BUS_LITTLE_ENDIAN
+#else
+ SD_BUS_NATIVE_ENDIAN = SD_BUS_LITTLE_ENDIAN,
+ SD_BUS_REVERSE_ENDIAN = SD_BUS_BIG_ENDIAN
+#endif
+};
+
+/* Flags */
+
+enum {
+ SD_BUS_MESSAGE_NO_REPLY_EXPECTED = 1,
+ SD_BUS_MESSAGE_NO_AUTO_START = 2
+};
+
+/* Header fields */
+
+enum {
+ _SD_BUS_MESSAGE_HEADER_INVALID = 0,
+ SD_BUS_MESSAGE_HEADER_PATH,
+ SD_BUS_MESSAGE_HEADER_INTERFACE,
+ SD_BUS_MESSAGE_HEADER_MEMBER,
+ SD_BUS_MESSAGE_HEADER_ERROR_NAME,
+ SD_BUS_MESSAGE_HEADER_REPLY_SERIAL,
+ SD_BUS_MESSAGE_HEADER_DESTINATION,
+ SD_BUS_MESSAGE_HEADER_SENDER,
+ SD_BUS_MESSAGE_HEADER_SIGNATURE,
+ SD_BUS_MESSAGE_HEADER_UNIX_FDS,
+ _SD_BUS_MESSAGE_HEADER_MAX
+};
+
+#define SD_BUS_INTROSPECT_DOCTYPE \
+ "<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\"\n" \
+ "\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n"
+
+#define SD_BUS_INTROSPECT_INTERFACE_PROPERTIES \
+ " <interface name=\"org.freedesktop.DBus.Properties\">\n" \
+ " <method name=\"Get\">\n" \
+ " <arg name=\"interface\" direction=\"in\" type=\"s\"/>\n" \
+ " <arg name=\"property\" direction=\"in\" type=\"s\"/>\n" \
+ " <arg name=\"value\" direction=\"out\" type=\"v\"/>\n" \
+ " </method>\n" \
+ " <method name=\"GetAll\">\n" \
+ " <arg name=\"interface\" direction=\"in\" type=\"s\"/>\n" \
+ " <arg name=\"properties\" direction=\"out\" type=\"a{sv}\"/>\n" \
+ " </method>\n" \
+ " <method name=\"Set\">\n" \
+ " <arg name=\"interface\" direction=\"in\" type=\"s\"/>\n" \
+ " <arg name=\"property\" direction=\"in\" type=\"s\"/>\n" \
+ " <arg name=\"value\" direction=\"in\" type=\"v\"/>\n" \
+ " </method>\n" \
+ " <signal name=\"PropertiesChanged\">\n" \
+ " <arg type=\"s\" name=\"interface\"/>\n" \
+ " <arg type=\"a{sv}\" name=\"changed_properties\"/>\n" \
+ " <arg type=\"as\" name=\"invalidated_properties\"/>\n" \
+ " </signal>\n" \
+ " </interface>\n"
+
+#define SD_BUS_INTROSPECT_INTERFACE_INTROSPECTABLE \
+ " <interface name=\"org.freedesktop.DBus.Introspectable\">\n" \
+ " <method name=\"Introspect\">\n" \
+ " <arg name=\"data\" type=\"s\" direction=\"out\"/>\n" \
+ " </method>\n" \
+ " </interface>\n"
+
+#define SD_BUS_INTROSPECT_INTERFACE_PEER \
+ "<interface name=\"org.freedesktop.DBus.Peer\">\n" \
+ " <method name=\"Ping\"/>\n" \
+ " <method name=\"GetMachineId\">\n" \
+ " <arg type=\"s\" name=\"machine_uuid\" direction=\"out\"/>\n" \
+ " </method>\n" \
+ "</interface>\n"
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/systemd/sd-bus.h b/src/systemd/sd-bus.h
new file mode 100644
index 0000000000..c1ec50871f
--- /dev/null
+++ b/src/systemd/sd-bus.h
@@ -0,0 +1,210 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#ifndef foosdbushfoo
+#define foosdbushfoo
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <inttypes.h>
+#include <sys/types.h>
+
+#include <sd-id128.h>
+#include "sd-bus-protocol.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _sd_printf_attr_
+# if __GNUC__ >= 4
+# define _sd_printf_attr_(a,b) __attribute__ ((format (printf, a, b)))
+# else
+# define _sd_printf_attr_(a,b)
+# endif
+#endif
+
+/* TODO:
+ * - add page donation logic
+ * - api for appending/reading fixed arrays
+ * - merge busctl into systemctl or so?
+ * - default policy (allow uid == 0 and our own uid)
+ *
+ * - enforce alignment of pointers passed in
+ * - negotiation for attach attributes
+ *
+ * - for kernel and unix transports allow setting the unix user/access mode for the node
+ */
+
+typedef struct sd_bus sd_bus;
+typedef struct sd_bus_message sd_bus_message;
+
+typedef struct {
+ const char *name;
+ const char *message;
+ int need_free;
+} sd_bus_error;
+
+typedef int (*sd_bus_message_handler_t)(sd_bus *bus, int ret, sd_bus_message *m, void *userdata);
+
+/* Connections */
+
+int sd_bus_open_system(sd_bus **ret);
+int sd_bus_open_user(sd_bus **ret);
+
+int sd_bus_new(sd_bus **ret);
+int sd_bus_set_address(sd_bus *bus, const char *address);
+int sd_bus_set_fd(sd_bus *bus, int input_fd, int output_fd);
+int sd_bus_set_exec(sd_bus *bus, const char *path, char *const argv[]);
+int sd_bus_set_bus_client(sd_bus *bus, int b);
+int sd_bus_set_server(sd_bus *bus, int b, sd_id128_t server_id);
+int sd_bus_set_anonymous(sd_bus *bus, int b);
+int sd_bus_set_negotiate_fds(sd_bus *bus, int b);
+int sd_bus_start(sd_bus *ret);
+
+void sd_bus_close(sd_bus *bus);
+
+sd_bus *sd_bus_ref(sd_bus *bus);
+sd_bus *sd_bus_unref(sd_bus *bus);
+
+int sd_bus_is_open(sd_bus *bus);
+int sd_bus_can_send(sd_bus *bus, char type);
+int sd_bus_get_server_id(sd_bus *bus, sd_id128_t *peer);
+
+int sd_bus_send(sd_bus *bus, sd_bus_message *m, uint64_t *serial);
+int sd_bus_send_with_reply(sd_bus *bus, sd_bus_message *m, sd_bus_message_handler_t callback, void *userdata, uint64_t usec, uint64_t *serial);
+int sd_bus_send_with_reply_cancel(sd_bus *bus, uint64_t serial);
+int sd_bus_send_with_reply_and_block(sd_bus *bus, sd_bus_message *m, uint64_t usec, sd_bus_error *error, sd_bus_message **r);
+
+int sd_bus_get_fd(sd_bus *bus);
+int sd_bus_get_events(sd_bus *bus);
+int sd_bus_get_timeout(sd_bus *bus, uint64_t *timeout_usec);
+int sd_bus_process(sd_bus *bus, sd_bus_message **r);
+int sd_bus_wait(sd_bus *bus, uint64_t timeout_usec);
+int sd_bus_flush(sd_bus *bus);
+
+int sd_bus_add_filter(sd_bus *bus, sd_bus_message_handler_t callback, void *userdata);
+int sd_bus_remove_filter(sd_bus *bus, sd_bus_message_handler_t callback, void *userdata);
+
+int sd_bus_add_object(sd_bus *bus, const char *path, sd_bus_message_handler_t callback, void *userdata);
+int sd_bus_remove_object(sd_bus *bus, const char *path, sd_bus_message_handler_t callback, void *userdata);
+
+int sd_bus_add_fallback(sd_bus *bus, const char *prefix, sd_bus_message_handler_t callback, void *userdata);
+int sd_bus_remove_fallback(sd_bus *bus, const char *prefix, sd_bus_message_handler_t callback, void *userdata);
+
+int sd_bus_add_match(sd_bus *bus, const char *match, sd_bus_message_handler_t callback, void *userdata);
+int sd_bus_remove_match(sd_bus *bus, const char *match, sd_bus_message_handler_t callback, void *userdata);
+
+/* Message object */
+
+int sd_bus_message_new_signal(sd_bus *bus, const char *path, const char *interface, const char *member, sd_bus_message **m);
+int sd_bus_message_new_method_call(sd_bus *bus, const char *destination, const char *path, const char *interface, const char *member, sd_bus_message **m);
+int sd_bus_message_new_method_return(sd_bus *bus, sd_bus_message *call, sd_bus_message **m);
+int sd_bus_message_new_method_error(sd_bus *bus, sd_bus_message *call, const sd_bus_error *e, sd_bus_message **m);
+
+sd_bus_message* sd_bus_message_ref(sd_bus_message *m);
+sd_bus_message* sd_bus_message_unref(sd_bus_message *m);
+
+int sd_bus_message_get_type(sd_bus_message *m, uint8_t *type);
+int sd_bus_message_get_serial(sd_bus_message *m, uint64_t *serial);
+int sd_bus_message_get_reply_serial(sd_bus_message *m, uint64_t *serial);
+int sd_bus_message_get_no_reply(sd_bus_message *m);
+
+const char *sd_bus_message_get_path(sd_bus_message *m);
+const char *sd_bus_message_get_interface(sd_bus_message *m);
+const char *sd_bus_message_get_member(sd_bus_message *m);
+const char *sd_bus_message_get_destination(sd_bus_message *m);
+const char *sd_bus_message_get_sender(sd_bus_message *m);
+const sd_bus_error *sd_bus_message_get_error(sd_bus_message *m);
+
+int sd_bus_message_get_monotonic_timestamp(sd_bus_message *m, uint64_t *usec);
+int sd_bus_message_get_realtime_timestamp(sd_bus_message *m, uint64_t *usec);
+int sd_bus_message_get_uid(sd_bus_message *m, uid_t *uid);
+int sd_bus_message_get_gid(sd_bus_message *m, gid_t *gid);
+int sd_bus_message_get_pid(sd_bus_message *m, pid_t *pid);
+int sd_bus_message_get_tid(sd_bus_message *m, pid_t *tid);
+int sd_bus_message_get_pid_starttime(sd_bus_message *m, uint64_t *usec);
+int sd_bus_message_get_selinux_context(sd_bus_message *m, const char **r);
+int sd_bus_message_get_comm(sd_bus_message *m, const char **r);
+int sd_bus_message_get_tid_comm(sd_bus_message *m, const char **r);
+int sd_bus_message_get_exe(sd_bus_message *m, const char **r);
+int sd_bus_message_get_cgroup(sd_bus_message *m, const char **r);
+int sd_bus_message_get_cmdline(sd_bus_message *m, char ***cmdline);
+int sd_bus_message_get_unit(sd_bus_message *m, const char **unit);
+int sd_bus_message_get_user_unit(sd_bus_message *m, const char **unit);
+int sd_bus_message_get_session(sd_bus_message *m, const char **session);
+int sd_bus_message_get_owner_uid(sd_bus_message *m, uid_t *uid);
+int sd_bus_message_get_audit_sessionid(sd_bus_message *m, uint32_t *sessionid);
+int sd_bus_message_get_audit_loginuid(sd_bus_message *m, uid_t *loginuid);
+int sd_bus_message_has_effective_cap(sd_bus_message *m, int capability);
+
+int sd_bus_message_is_signal(sd_bus_message *m, const char *interface, const char *member);
+int sd_bus_message_is_method_call(sd_bus_message *m, const char *interface, const char *member);
+int sd_bus_message_is_method_error(sd_bus_message *m, const char *name);
+
+int sd_bus_message_set_no_reply(sd_bus_message *m, int b);
+int sd_bus_message_set_destination(sd_bus_message *m, const char *destination);
+
+int sd_bus_message_append(sd_bus_message *m, const char *types, ...);
+int sd_bus_message_append_basic(sd_bus_message *m, char type, const void *p);
+int sd_bus_message_open_container(sd_bus_message *m, char type, const char *contents);
+int sd_bus_message_close_container(sd_bus_message *m);
+
+int sd_bus_message_read(sd_bus_message *m, const char *types, ...);
+int sd_bus_message_read_basic(sd_bus_message *m, char type, void *p);
+int sd_bus_message_enter_container(sd_bus_message *m, char type, const char *contents);
+int sd_bus_message_exit_container(sd_bus_message *m);
+int sd_bus_message_peek_type(sd_bus_message *m, char *type, const char **contents);
+int sd_bus_message_rewind(sd_bus_message *m, int complete);
+
+/* Convenience calls */
+
+int sd_bus_emit_signal(sd_bus *bus, const char *path, const char *interface, const char *member, const char *types, ...);
+int sd_bus_call_method(sd_bus *bus, const char *destination, const char *path, const char *interface, const char *member, sd_bus_error *error, sd_bus_message **reply, const char *types, ...);
+int sd_bus_reply_method_return(sd_bus *bus, sd_bus_message *call, const char *types, ...);
+int sd_bus_reply_method_error(sd_bus *bus, sd_bus_message *call, const sd_bus_error *e);
+
+/* Bus management */
+
+int sd_bus_get_unique_name(sd_bus *bus, const char **unique);
+int sd_bus_request_name(sd_bus *bus, const char *name, int flags);
+int sd_bus_release_name(sd_bus *bus, const char *name);
+int sd_bus_list_names(sd_bus *bus, char ***l);
+int sd_bus_get_owner(sd_bus *bus, const char *name, char **owner);
+int sd_bus_get_owner_uid(sd_bus *bus, const char *name, uid_t *uid);
+int sd_bus_get_owner_pid(sd_bus *bus, const char *name, pid_t *pid);
+int sd_bus_get_owner_machine_id(sd_bus *bus, const char *name, sd_id128_t *machine);
+
+/* Error structures */
+
+#define SD_BUS_ERROR_NULL ((sd_bus_error) {NULL, NULL, 0})
+#define SD_BUS_ERROR_MAKE(name, message) ((sd_bus_error) {(name), (message), 0})
+
+void sd_bus_error_free(sd_bus_error *e);
+int sd_bus_error_set(sd_bus_error *e, const char *name, const char *format, ...) _sd_printf_attr_(3, 0);
+void sd_bus_error_set_const(sd_bus_error *e, const char *name, const char *message);
+int sd_bus_error_copy(sd_bus_error *dest, const sd_bus_error *e);
+int sd_bus_error_is_set(const sd_bus_error *e);
+int sd_bus_error_has_name(const sd_bus_error *e, const char *name);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/systemd/sd-daemon.h b/src/systemd/sd-daemon.h
index fb7456d50f..daa3f4c857 100644
--- a/src/systemd/sd-daemon.h
+++ b/src/systemd/sd-daemon.h
@@ -68,11 +68,11 @@ extern "C" {
*/
#ifndef _sd_printf_attr_
-#if __GNUC__ >= 4
-#define _sd_printf_attr_(a,b) __attribute__ ((format (printf, a, b)))
-#else
-#define _sd_printf_attr_(a,b)
-#endif
+# if __GNUC__ >= 4
+# define _sd_printf_attr_(a,b) __attribute__ ((format (printf, a, b)))
+# else
+# define _sd_printf_attr_(a,b)
+# endif
#endif
/*
diff --git a/src/systemd/sd-id128.h b/src/systemd/sd-id128.h
index 79bb8b3c99..3a83932093 100644
--- a/src/systemd/sd-id128.h
+++ b/src/systemd/sd-id128.h
@@ -40,7 +40,7 @@ union sd_id128 {
char *sd_id128_to_string(sd_id128_t id, char s[33]);
-int sd_id128_from_string(const char s[33], sd_id128_t *ret);
+int sd_id128_from_string(const char *s, sd_id128_t *ret);
int sd_id128_randomize(sd_id128_t *ret);
diff --git a/src/systemd/sd-journal.h b/src/systemd/sd-journal.h
index 2e8d2d882f..5375d49963 100644
--- a/src/systemd/sd-journal.h
+++ b/src/systemd/sd-journal.h
@@ -34,19 +34,31 @@
extern "C" {
#endif
+#ifndef _sd_printf_attr_
+# if __GNUC__ >= 4
+# define _sd_printf_attr_(a,b) __attribute__ ((format (printf, a, b)))
+# else
+# define _sd_printf_attr_(a,b)
+# endif
+#endif
+
+#ifndef _sd_sentinel_attr_
+# define _sd_sentinel_attr_ __attribute__((sentinel))
+#endif
+
/* Journal APIs. See sd-journal(3) for more information. */
/* Write to daemon */
-int sd_journal_print(int priority, const char *format, ...) __attribute__ ((format (printf, 2, 3)));
-int sd_journal_printv(int priority, const char *format, va_list ap);
-int sd_journal_send(const char *format, ...) __attribute__((sentinel));
+int sd_journal_print(int priority, const char *format, ...) _sd_printf_attr_(2, 3);
+int sd_journal_printv(int priority, const char *format, va_list ap) _sd_printf_attr_(2, 0);
+int sd_journal_send(const char *format, ...) _sd_printf_attr_(1, 0) _sd_sentinel_attr_;
int sd_journal_sendv(const struct iovec *iov, int n);
int sd_journal_perror(const char *message);
/* Used by the macros below. Don't call this directly. */
-int sd_journal_print_with_location(int priority, const char *file, const char *line, const char *func, const char *format, ...) __attribute__ ((format (printf, 5, 6)));
-int sd_journal_printv_with_location(int priority, const char *file, const char *line, const char *func, const char *format, va_list ap);
-int sd_journal_send_with_location(const char *file, const char *line, const char *func, const char *format, ...) __attribute__((sentinel));
+int sd_journal_print_with_location(int priority, const char *file, const char *line, const char *func, const char *format, ...) _sd_printf_attr_(5, 6);
+int sd_journal_printv_with_location(int priority, const char *file, const char *line, const char *func, const char *format, va_list ap) _sd_printf_attr_(5, 0);
+int sd_journal_send_with_location(const char *file, const char *line, const char *func, const char *format, ...) _sd_printf_attr_(4, 0) _sd_sentinel_attr_;
int sd_journal_sendv_with_location(const char *file, const char *line, const char *func, const struct iovec *iov, int n);
int sd_journal_perror_with_location(const char *file, const char *line, const char *func, const char *message);
@@ -106,6 +118,7 @@ void sd_journal_restart_data(sd_journal *j);
int sd_journal_add_match(sd_journal *j, const void *data, size_t size);
int sd_journal_add_disjunction(sd_journal *j);
+int sd_journal_add_conjunction(sd_journal *j);
void sd_journal_flush_matches(sd_journal *j);
int sd_journal_seek_head(sd_journal *j);
@@ -127,9 +140,11 @@ int sd_journal_enumerate_unique(sd_journal *j, const void **data, size_t *l);
void sd_journal_restart_unique(sd_journal *j);
int sd_journal_get_fd(sd_journal *j);
-int sd_journal_reliable_fd(sd_journal *j);
+int sd_journal_get_events(sd_journal *j);
+int sd_journal_get_timeout(sd_journal *j, uint64_t *timeout_usec);
int sd_journal_process(sd_journal *j);
int sd_journal_wait(sd_journal *j, uint64_t timeout_usec);
+int sd_journal_reliable_fd(sd_journal *j);
int sd_journal_get_catalog(sd_journal *j, char **text);
int sd_journal_get_catalog_for_message_id(sd_id128_t id, char **ret);
diff --git a/src/systemd/sd-login.h b/src/systemd/sd-login.h
index 6bd1f2da4a..4855e327a1 100644
--- a/src/systemd/sd-login.h
+++ b/src/systemd/sd-login.h
@@ -23,6 +23,7 @@
***/
#include <sys/types.h>
+#include <inttypes.h>
#ifdef __cplusplus
extern "C" {
@@ -61,9 +62,18 @@ int sd_pid_get_session(pid_t pid, char **session);
* return an error for system processes. */
int sd_pid_get_owner_uid(pid_t pid, uid_t *uid);
-/* Get systemd unit (i.e. service) name from PID. This will return an
- * error for non-service processes. */
-int sd_pid_get_unit(pid_t, char **unit);
+/* Get systemd unit (i.e. service) name from PID, for system
+ * services. This will return an error for non-service processes. */
+int sd_pid_get_unit(pid_t pid, char **unit);
+
+/* Get systemd unit (i.e. service) name from PID, for user
+ * services. This will return an error for non-user-service
+ * processes. */
+int sd_pid_get_user_unit(pid_t pid, char **unit);
+
+/* Get machine name from PID, for processes assigned to VM or
+ * container. This will return an error for non-service processes. */
+int sd_pid_get_machine_name(pid_t pid, char **name);
/* Get state from uid. Possible states: offline, lingering, online, active, closing */
int sd_uid_get_state(uid_t uid, char**state);
@@ -108,6 +118,9 @@ int sd_session_get_class(const char *session, char **clazz);
/* Determine the X11 display of this session. */
int sd_session_get_display(const char *session, char **display);
+/* Determine the TTY of this session. */
+int sd_session_get_tty(const char *session, char **display);
+
/* Return active session and user of seat */
int sd_seat_get_active(const char *seat, char **session, uid_t *uid);
@@ -137,11 +150,15 @@ int sd_get_sessions(char ***sessions);
* users. If users is NULL only returns the number of users. */
int sd_get_uids(uid_t **users);
+/* Get all running virtual machines/containers */
+int sd_get_machine_names(char ***machines);
+
/* Monitor object */
typedef struct sd_login_monitor sd_login_monitor;
/* Create a new monitor. Category must be NULL, "seat", "session",
- * "uid" to get monitor events for the specific category (or all). */
+ * "uid", "machine" to get monitor events for the specific category
+ * (or all). */
int sd_login_monitor_new(const char *category, sd_login_monitor** ret);
/* Destroys the passed monitor. Returns NULL. */
@@ -153,6 +170,12 @@ int sd_login_monitor_flush(sd_login_monitor *m);
/* Get FD from monitor */
int sd_login_monitor_get_fd(sd_login_monitor *m);
+/* Get poll() mask to monitor */
+int sd_login_monitor_get_events(sd_login_monitor *m);
+
+/* Get timeout for poll(), as usec value relative to CLOCK_MONOTONIC's epoch */
+int sd_login_monitor_get_timeout(sd_login_monitor *m, uint64_t *timeout_usec);
+
#ifdef __cplusplus
}
#endif
diff --git a/src/systemd/sd-messages.h b/src/systemd/sd-messages.h
index bc560947d4..c8de331691 100644
--- a/src/systemd/sd-messages.h
+++ b/src/systemd/sd-messages.h
@@ -67,6 +67,16 @@ extern "C" {
#define SD_MESSAGE_OVERMOUNTING SD_ID128_MAKE(1d,ee,03,69,c7,fc,47,36,b7,09,9b,38,ec,b4,6e,e7)
+#define SD_MESSAGE_LID_OPENED SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,6f)
+#define SD_MESSAGE_LID_CLOSED SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,70)
+#define SD_MESSAGE_POWER_KEY SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,71)
+#define SD_MESSAGE_SUSPEND_KEY SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,72)
+#define SD_MESSAGE_HIBERNATE_KEY SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,73)
+
+#define SD_MESSAGE_CONFIG_ERROR SD_ID128_MAKE(c7,72,d2,4e,9a,88,4c,be,b9,ea,12,62,5c,30,6c,01)
+
+#define SD_MESSAGE_BOOTCHART SD_ID128_MAKE(9f,26,aa,56,2c,f4,40,c2,b1,6c,77,3d,04,79,b5,18)
+
#ifdef __cplusplus
}
#endif
diff --git a/src/systemd/sd-shutdown.h b/src/systemd/sd-shutdown.h
index cee4350173..b8f6a487ec 100644
--- a/src/systemd/sd-shutdown.h
+++ b/src/systemd/sd-shutdown.h
@@ -37,7 +37,7 @@ typedef enum sd_shutdown_mode {
/* Calculate the size of the message as "offsetof(struct
* sd_shutdown_command, wall_message) +
* strlen(command.wall_message)" */
-__attribute__((packed)) struct sd_shutdown_command {
+struct sd_shutdown_command {
/* Microseconds after the epoch 1970 UTC */
uint64_t usec;
@@ -55,7 +55,7 @@ __attribute__((packed)) struct sd_shutdown_command {
/* The wall message to send around. Leave empty for the
* default wall message */
char wall_message[];
-};
+} __attribute__((packed));
/* The scheme is very simple:
*
diff --git a/src/test/test-cgroup-util.c b/src/test/test-cgroup-util.c
new file mode 100644
index 0000000000..c9634d42b0
--- /dev/null
+++ b/src/test/test-cgroup-util.c
@@ -0,0 +1,183 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <assert.h>
+
+#include "util.h"
+#include "cgroup-util.h"
+
+static void check_p_d_u(const char *path, int code, const char *result) {
+ _cleanup_free_ char *unit = NULL;
+
+ assert_se(cg_path_decode_unit(path, &unit) == code);
+ assert_se(streq_ptr(unit, result));
+}
+
+static void test_path_decode_unit(void) {
+ check_p_d_u("getty@.service/getty@tty2.service", 0, "getty@tty2.service");
+ check_p_d_u("getty@.service/getty@tty2.service/xxx", 0, "getty@tty2.service");
+ check_p_d_u("getty@.service/", -EINVAL, NULL);
+ check_p_d_u("getty@.service", -EINVAL, NULL);
+ check_p_d_u("getty.service", 0, "getty.service");
+ check_p_d_u("getty", -EINVAL, NULL);
+}
+
+static void check_p_g_u(const char *path, int code, const char *result) {
+ _cleanup_free_ char *unit = NULL;
+
+ assert_se(cg_path_get_unit(path, &unit) == code);
+ assert_se(streq_ptr(unit, result));
+}
+
+static void check_p_g_u_u(const char *path, int code, const char *result) {
+ _cleanup_free_ char *unit = NULL;
+
+ assert_se(cg_path_get_user_unit(path, &unit) == code);
+ assert_se(streq_ptr(unit, result));
+}
+
+static void test_path_get_unit(void) {
+ check_p_g_u("/system/foobar.service/sdfdsaf", 0, "foobar.service");
+ check_p_g_u("/system/getty@.service/getty@tty5.service", 0, "getty@tty5.service");
+ check_p_g_u("/system/getty@.service/getty@tty5.service/aaa/bbb", 0, "getty@tty5.service");
+ check_p_g_u("/system/getty@.service/getty@tty5.service/", 0, "getty@tty5.service");
+ check_p_g_u("/system/getty@tty6.service/tty5", 0, "getty@tty6.service");
+ check_p_g_u("sadfdsafsda", -ENOENT, NULL);
+ check_p_g_u("/system/getty####@tty6.service/tty5", -EINVAL, NULL);
+}
+
+static void test_path_get_user_unit(void) {
+ check_p_g_u_u("/user/lennart/2/systemd-21548/foobar.service", 0, "foobar.service");
+ check_p_g_u_u("/user/lennart/2/systemd-21548/foobar.service/waldo", 0, "foobar.service");
+ check_p_g_u_u("/user/lennart/2/systemd-21548/foobar.service/waldo/uuuux", 0, "foobar.service");
+ check_p_g_u_u("/user/lennart/2/systemd-21548/waldo/waldo/uuuux", -EINVAL, NULL);
+ check_p_g_u_u("/user/lennart/2/foobar.service", -ENOENT, NULL);
+ check_p_g_u_u("/user/lennart/2/systemd-21548/foobar@.service/foobar@pie.service/pa/po", 0, "foobar@pie.service");
+}
+
+static void test_get_paths(void) {
+ _cleanup_free_ char *a = NULL, *b = NULL, *c = NULL, *d = NULL;
+
+ assert_se(cg_get_root_path(&a) >= 0);
+ log_info("Root = %s", a);
+
+ assert_se(cg_get_system_path(&b) >= 0);
+ log_info("System = %s", b);
+
+ assert_se(cg_get_user_path(&c) >= 0);
+ log_info("User = %s", c);
+
+ assert_se(cg_get_machine_path("harley", &d) >= 0);
+ log_info("Machine = %s", d);
+}
+
+static void test_proc(void) {
+ _cleanup_closedir_ DIR *d = NULL;
+ struct dirent *de;
+ int r;
+
+ d = opendir("/proc");
+ assert_se(d);
+
+ FOREACH_DIRENT(de, d, break) {
+ _cleanup_free_ char *path = NULL, *path_shifted = NULL, *session = NULL, *unit = NULL, *user_unit = NULL, *machine = NULL, *prefix = NULL;
+ pid_t pid;
+ uid_t uid = (uid_t) -1;
+
+ if (de->d_type != DT_DIR &&
+ de->d_type != DT_UNKNOWN)
+ continue;
+
+ r = parse_pid(de->d_name, &pid);
+ if (r < 0)
+ continue;
+
+ if (is_kernel_thread(pid))
+ continue;
+
+ cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, pid, &path);
+ cg_pid_get_path_shifted(pid, &prefix, &path_shifted);
+ cg_pid_get_owner_uid(pid, &uid);
+ cg_pid_get_session(pid, &session);
+ cg_pid_get_unit(pid, &unit);
+ cg_pid_get_user_unit(pid, &user_unit);
+ cg_pid_get_machine_name(pid, &machine);
+
+ printf("%lu\t%s\t%s\t%s\t%lu\t%s\t%s\t%s\t%s\n",
+ (unsigned long) pid,
+ path,
+ prefix,
+ path_shifted,
+ (unsigned long) uid,
+ session,
+ unit,
+ user_unit,
+ machine);
+ }
+}
+
+static void test_escape_one(const char *s, const char *r) {
+ _cleanup_free_ char *b;
+
+ b = cg_escape(s);
+ assert_se(b);
+ assert_se(streq(b, r));
+
+ assert_se(streq(cg_unescape(b), s));
+}
+
+static void test_escape(void) {
+ test_escape_one("foobar", "foobar");
+ test_escape_one(".foobar", "_.foobar");
+ test_escape_one("foobar.service", "foobar.service");
+ test_escape_one("cgroup.service", "_cgroup.service");
+ test_escape_one("cpu.service", "_cpu.service");
+ test_escape_one("tasks", "_tasks");
+ test_escape_one("_foobar", "__foobar");
+ test_escape_one("", "_");
+ test_escape_one("_", "__");
+ test_escape_one(".", "_.");
+}
+
+static void test_controller_is_valid(void) {
+ assert_se(cg_controller_is_valid("foobar", false));
+ assert_se(cg_controller_is_valid("foo_bar", false));
+ assert_se(cg_controller_is_valid("name=foo", true));
+ assert_se(!cg_controller_is_valid("", false));
+ assert_se(!cg_controller_is_valid("name=", true));
+ assert_se(!cg_controller_is_valid("=", false));
+ assert_se(!cg_controller_is_valid("cpu,cpuacct", false));
+ assert_se(!cg_controller_is_valid("_", false));
+ assert_se(!cg_controller_is_valid("_foobar", false));
+ assert_se(!cg_controller_is_valid("tatü", false));
+}
+
+int main(void) {
+ test_path_decode_unit();
+ test_path_get_unit();
+ test_path_get_user_unit();
+ test_get_paths();
+ test_proc();
+ test_escape();
+ test_controller_is_valid();
+
+ return 0;
+}
diff --git a/src/test/test-cgroup.c b/src/test/test-cgroup.c
index 6d64a4e47f..3a3489d6a2 100644
--- a/src/test/test-cgroup.c
+++ b/src/test/test-cgroup.c
@@ -31,25 +31,25 @@ int main(int argc, char*argv[]) {
char *path;
char *c, *p;
- assert_se(cg_create(SYSTEMD_CGROUP_CONTROLLER, "/test-a") == 0);
- assert_se(cg_create(SYSTEMD_CGROUP_CONTROLLER, "/test-a") == 0);
- assert_se(cg_create(SYSTEMD_CGROUP_CONTROLLER, "/test-b") == 0);
- assert_se(cg_create(SYSTEMD_CGROUP_CONTROLLER, "/test-b/test-c") == 0);
+ assert_se(cg_create(SYSTEMD_CGROUP_CONTROLLER, "/test-a", NULL) == 0);
+ assert_se(cg_create(SYSTEMD_CGROUP_CONTROLLER, "/test-a", NULL) == 0);
+ assert_se(cg_create(SYSTEMD_CGROUP_CONTROLLER, "/test-b", NULL) == 0);
+ assert_se(cg_create(SYSTEMD_CGROUP_CONTROLLER, "/test-b/test-c", NULL) == 0);
assert_se(cg_create_and_attach(SYSTEMD_CGROUP_CONTROLLER, "/test-b", 0) == 0);
- assert_se(cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, getpid(), &path) == 0);
+ assert_se(cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, getpid(), &path) == 0);
assert_se(streq(path, "/test-b"));
free(path);
assert_se(cg_attach(SYSTEMD_CGROUP_CONTROLLER, "/test-a", 0) == 0);
- assert_se(cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, getpid(), &path) == 0);
+ assert_se(cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, getpid(), &path) == 0);
assert_se(path_equal(path, "/test-a"));
free(path);
assert_se(cg_create_and_attach(SYSTEMD_CGROUP_CONTROLLER, "/test-b/test-d", 0) == 0);
- assert_se(cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, getpid(), &path) == 0);
+ assert_se(cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, getpid(), &path) == 0);
assert_se(path_equal(path, "/test-b/test-d"));
free(path);
@@ -65,7 +65,7 @@ int main(int argc, char*argv[]) {
assert_se(cg_kill_recursive(SYSTEMD_CGROUP_CONTROLLER, "/test-a", 0, false, false, false, NULL) == 0);
assert_se(cg_kill_recursive(SYSTEMD_CGROUP_CONTROLLER, "/test-b", 0, false, false, false, NULL) > 0);
- assert_se(cg_migrate_recursive(SYSTEMD_CGROUP_CONTROLLER, "/test-b", "/test-a", false, false) > 0);
+ assert_se(cg_migrate_recursive(SYSTEMD_CGROUP_CONTROLLER, "/test-b", SYSTEMD_CGROUP_CONTROLLER, "/test-a", false, false) > 0);
assert_se(cg_is_empty_recursive(SYSTEMD_CGROUP_CONTROLLER, "/test-a", false) == 0);
assert_se(cg_is_empty_recursive(SYSTEMD_CGROUP_CONTROLLER, "/test-b", false) > 0);
diff --git a/src/test/test-efivars.c b/src/test/test-efivars.c
new file mode 100644
index 0000000000..43ea5917b6
--- /dev/null
+++ b/src/test/test-efivars.c
@@ -0,0 +1,47 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "util.h"
+#include "log.h"
+#include "efivars.h"
+
+int main(int argc, char* argv[]) {
+ char s[MAX(FORMAT_TIMESPAN_MAX, FORMAT_TIMESTAMP_MAX)];
+ int r;
+ dual_timestamp fw, l, k;
+
+ dual_timestamp_from_monotonic(&k, 0);
+
+ r = efi_get_boot_timestamps(NULL, &fw, &l);
+ if (r < 0) {
+ log_error("Failed to read variables: %s", strerror(-r));
+ return 1;
+ }
+
+ log_info("Firmware began %s before kernel.", format_timespan(s, sizeof(s), fw.monotonic, 0));
+ log_info("Loader began %s before kernel.", format_timespan(s, sizeof(s), l.monotonic, 0));
+
+ log_info("Firmware began %s.", format_timestamp(s, sizeof(s), fw.realtime));
+ log_info("Loader began %s.", format_timestamp(s, sizeof(s), l.realtime));
+ log_info("Kernel began %s.", format_timestamp(s, sizeof(s), k.realtime));
+
+ return 0;
+}
diff --git a/src/test/test-env-replace.c b/src/test/test-env-replace.c
index cd596a6e16..0274e97618 100644
--- a/src/test/test-env-replace.c
+++ b/src/test/test-env-replace.c
@@ -23,17 +23,92 @@
#include <string.h>
#include "util.h"
-#include "log.h"
#include "strv.h"
+#include "env-util.h"
-int main(int argc, char *argv[]) {
+static void test_strv_env_delete(void) {
+ _cleanup_strv_free_ char **a = NULL, **b = NULL, **c = NULL, **d = NULL;
+
+ a = strv_new("FOO=BAR", "WALDO=WALDO", "WALDO=", "PIEP", "SCHLUMPF=SMURF", NULL);
+ assert_se(a);
+
+ b = strv_new("PIEP", "FOO", NULL);
+ assert_se(b);
+
+ c = strv_new("SCHLUMPF", NULL);
+ assert_se(c);
+
+ d = strv_env_delete(a, 2, b, c);
+ assert_se(d);
+
+ assert_se(streq(d[0], "WALDO=WALDO"));
+ assert_se(streq(d[1], "WALDO="));
+ assert_se(strv_length(d) == 2);
+}
+
+static void test_strv_env_unset(void) {
+ _cleanup_strv_free_ char **l = NULL;
+
+ l = strv_new("PIEP", "SCHLUMPF=SMURFF", "NANANANA=YES", NULL);
+ assert_se(l);
+
+ assert_se(strv_env_unset(l, "SCHLUMPF") == l);
+
+ assert_se(streq(l[0], "PIEP"));
+ assert_se(streq(l[1], "NANANANA=YES"));
+ assert_se(strv_length(l) == 2);
+}
+
+static void test_strv_env_set(void) {
+ _cleanup_strv_free_ char **l = NULL, **r = NULL;
+ l = strv_new("PIEP", "SCHLUMPF=SMURFF", "NANANANA=YES", NULL);
+ assert_se(l);
+
+ r = strv_env_set(l, "WALDO=WALDO");
+ assert_se(r);
+
+ assert_se(streq(r[0], "PIEP"));
+ assert_se(streq(r[1], "SCHLUMPF=SMURFF"));
+ assert_se(streq(r[2], "NANANANA=YES"));
+ assert_se(streq(r[3], "WALDO=WALDO"));
+ assert_se(strv_length(r) == 4);
+}
+
+static void test_strv_env_merge(void) {
+ _cleanup_strv_free_ char **a = NULL, **b = NULL, **r = NULL;
+
+ a = strv_new("FOO=BAR", "WALDO=WALDO", "WALDO=", "PIEP", "SCHLUMPF=SMURF", NULL);
+ assert_se(a);
+
+ b = strv_new("FOO=KKK", "FOO=", "PIEP=", "SCHLUMPF=SMURFF", "NANANANA=YES", NULL);
+ assert_se(b);
+
+ r = strv_env_merge(2, a, b);
+ assert_se(r);
+ assert_se(streq(r[0], "FOO="));
+ assert_se(streq(r[1], "WALDO="));
+ assert_se(streq(r[2], "PIEP"));
+ assert_se(streq(r[3], "SCHLUMPF=SMURFF"));
+ assert_se(streq(r[4], "PIEP="));
+ assert_se(streq(r[5], "NANANANA=YES"));
+ assert_se(strv_length(r) == 6);
+
+ assert_se(strv_env_clean(r) == r);
+ assert_se(streq(r[0], "FOO="));
+ assert_se(streq(r[1], "WALDO="));
+ assert_se(streq(r[2], "SCHLUMPF=SMURFF"));
+ assert_se(streq(r[3], "PIEP="));
+ assert_se(streq(r[4], "NANANANA=YES"));
+ assert_se(strv_length(r) == 5);
+}
+
+static void test_replace_env_arg(void) {
const char *env[] = {
"FOO=BAR BAR",
"BAR=waldo",
NULL
};
-
const char *line[] = {
"FOO$FOO",
"FOO$FOOFOO",
@@ -46,98 +121,98 @@ int main(int argc, char *argv[]) {
"${FOO",
NULL
};
-
- char **i, **r, *t, **a, **b;
- const char nulstr[] = "fuck\0fuck2\0fuck3\0\0fuck5\0\0xxx";
-
- a = strv_parse_nulstr(nulstr, sizeof(nulstr)-1);
-
- STRV_FOREACH(i, a)
- printf("nulstr--%s\n", *i);
-
- strv_free(a);
+ _cleanup_strv_free_ char **r = NULL;
r = replace_env_argv((char**) line, (char**) env);
+ assert_se(r);
+ assert_se(streq(r[0], "FOO$FOO"));
+ assert_se(streq(r[1], "FOO$FOOFOO"));
+ assert_se(streq(r[2], "FOOBAR BAR$FOO"));
+ assert_se(streq(r[3], "FOOBAR BAR"));
+ assert_se(streq(r[4], "BAR BAR"));
+ assert_se(streq(r[5], "BAR"));
+ assert_se(streq(r[6], "BAR"));
+ assert_se(streq(r[7], "BAR BARwaldo"));
+ assert_se(streq(r[8], "${FOO"));
+ assert_se(strv_length(r) == 9);
+}
- STRV_FOREACH(i, r)
- printf("%s\n", *i);
-
- strv_free(r);
-
- t = normalize_env_assignment("foo=bar");
- printf("%s\n", t);
- free(t);
-
- t = normalize_env_assignment("=bar");
- printf("%s\n", t);
- free(t);
-
- t = normalize_env_assignment("foo=");
- printf("%s\n", t);
- free(t);
-
- t = normalize_env_assignment("=");
- printf("%s\n", t);
- free(t);
-
- t = normalize_env_assignment("");
- printf("%s\n", t);
- free(t);
-
- t = normalize_env_assignment("a=\"waldo\"");
- printf("%s\n", t);
- free(t);
-
- t = normalize_env_assignment("a=\"waldo");
- printf("%s\n", t);
- free(t);
-
- t = normalize_env_assignment("a=waldo\"");
- printf("%s\n", t);
- free(t);
-
- t = normalize_env_assignment("a=\'");
- printf("%s\n", t);
- free(t);
-
- t = normalize_env_assignment("a=\'\'");
- printf("%s\n", t);
- free(t);
-
- t = normalize_env_assignment(" xyz ");
- printf("<%s>\n", t);
- free(t);
-
- t = normalize_env_assignment(" xyz = bar ");
- printf("<%s>\n", t);
- free(t);
-
- t = normalize_env_assignment(" xyz = 'bar ' ");
- printf("<%s>\n", t);
- free(t);
-
- t = normalize_env_assignment(" ' xyz' = 'bar ' ");
- printf("<%s>\n", t);
- free(t);
-
- a = strv_new("FOO=BAR", "WALDO=WALDO", "WALDO=", "PIEP", "SCHLUMPF=SMURF", NULL);
- b = strv_new("FOO=KKK", "FOO=", "PIEP=", "SCHLUMPF=SMURFF", "NANANANA=YES", NULL);
+static void test_one_normalize(const char *input, const char *output) {
+ _cleanup_free_ char *t;
- r = strv_env_merge(2, a, b);
- strv_free(a);
- strv_free(b);
+ t = normalize_env_assignment(input);
+ assert_se(t);
+ assert_se(streq(t, output));
+}
- STRV_FOREACH(i, r)
- printf("%s\n", *i);
+static void test_normalize_env_assignment(void) {
+ test_one_normalize("foo=bar", "foo=bar");
+ test_one_normalize("=bar", "=bar");
+ test_one_normalize("foo=", "foo=");
+ test_one_normalize("=", "=");
+ test_one_normalize("", "");
+ test_one_normalize("a=\"waldo\"", "a=waldo");
+ test_one_normalize("a=\"waldo", "a=\"waldo");
+ test_one_normalize("a=waldo\"", "a=waldo\"");
+ test_one_normalize("a=\'", "a='");
+ test_one_normalize("a=\'\'", "a=");
+ test_one_normalize(" xyz ", "xyz");
+ test_one_normalize(" xyz = bar ", "xyz=bar");
+ test_one_normalize(" xyz = 'bar ' ", "xyz=bar ");
+ test_one_normalize(" ' xyz' = 'bar ' ", "' xyz'=bar ");
+}
- printf("CLEANED UP:\n");
+static void test_env_clean(void) {
+ _cleanup_strv_free_ char **e;
+
+ e = strv_new("FOOBAR=WALDO",
+ "FOOBAR=WALDO",
+ "FOOBAR",
+ "F",
+ "X=",
+ "F=F",
+ "=",
+ "=F",
+ "",
+ "0000=000",
+ "äöüß=abcd",
+ "abcd=äöüß",
+ "xyz\n=xyz",
+ "xyz=xyz\n",
+ "another=one",
+ "another=final one",
+ NULL);
+ assert_se(e);
+ assert_se(!strv_env_is_valid(e));
+ assert_se(strv_env_clean(e) == e);
+ assert_se(strv_env_is_valid(e));
+
+ assert_se(streq(e[0], "FOOBAR=WALDO"));
+ assert_se(streq(e[1], "X="));
+ assert_se(streq(e[2], "F=F"));
+ assert_se(streq(e[3], "abcd=äöüß"));
+ assert_se(streq(e[4], "another=final one"));
+ assert_se(e[5] == NULL);
+}
- r = strv_env_clean(r);
+static void test_env_name_is_valid(void) {
+ assert_se(env_name_is_valid("test"));
- STRV_FOREACH(i, r)
- printf("%s\n", *i);
+ assert_se(!env_name_is_valid(NULL));
+ assert_se(!env_name_is_valid(""));
+ assert_se(!env_name_is_valid("5_starting_with_a_number_is_wrong"));
+ assert_se(!env_name_is_valid("#¤%&?_only_numbers_letters_and_underscore_allowed"));
+}
- strv_free(r);
+int main(int argc, char *argv[]) {
+ test_strv_env_delete();
+ test_strv_env_unset();
+ test_strv_env_set();
+ test_strv_env_merge();
+ test_replace_env_arg();
+ test_normalize_env_assignment();
+ test_env_clean();
+ test_env_name_is_valid();
return 0;
}
diff --git a/src/test/test-fileio.c b/src/test/test-fileio.c
new file mode 100644
index 0000000000..d56f7cc856
--- /dev/null
+++ b/src/test/test-fileio.c
@@ -0,0 +1,145 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "util.h"
+#include "fileio.h"
+#include "strv.h"
+#include "env-util.h"
+
+static void test_parse_env_file(void) {
+ char t[] = "/tmp/test-parse-env-file-XXXXXX";
+ int fd, r;
+ FILE *f;
+ _cleanup_free_ char *one = NULL, *two = NULL, *three = NULL, *four = NULL, *five = NULL,
+ *six = NULL, *seven = NULL, *eight = NULL, *nine = NULL, *ten = NULL;
+ _cleanup_strv_free_ char **a = NULL, **b = NULL;
+ char **i;
+ unsigned k;
+
+ fd = mkostemp(t, O_CLOEXEC);
+ assert_se(fd >= 0);
+
+ f = fdopen(fd, "w");
+ assert_se(f);
+
+ fputs("one=BAR \n"
+ "# comment\n"
+ " # comment \n"
+ " ; comment \n"
+ " two = bar \n"
+ "invalid line\n"
+ "invalid line #comment\n"
+ "three = \"333\n"
+ "xxxx\"\n"
+ "four = \'44\\\"44\'\n"
+ "five = \'55\\\'55\' \"FIVE\" cinco \n"
+ "six = seis sechs\\\n"
+ " sis\n"
+ "seven=\"sevenval\" #nocomment\n"
+ "eight=eightval #nocomment\n"
+ "export nine=nineval\n"
+ "ten=", f);
+
+ fflush(f);
+ fclose(f);
+
+ r = load_env_file(t, NULL, &a);
+ assert_se(r >= 0);
+
+ STRV_FOREACH(i, a)
+ log_info("Got: <%s>", *i);
+
+ assert_se(streq(a[0], "one=BAR"));
+ assert_se(streq(a[1], "two=bar"));
+ assert_se(streq(a[2], "three=333\nxxxx"));
+ assert_se(streq(a[3], "four=44\"44"));
+ assert_se(streq(a[4], "five=55\'55FIVEcinco"));
+ assert_se(streq(a[5], "six=seis sechs sis"));
+ assert_se(streq(a[6], "seven=sevenval#nocomment"));
+ assert_se(streq(a[7], "eight=eightval #nocomment"));
+ assert_se(streq(a[8], "export nine=nineval"));
+ assert_se(streq(a[9], "ten="));
+ assert_se(a[10] == NULL);
+
+ strv_env_clean_log(a, "/tmp/test-fileio");
+
+ k = 0;
+ STRV_FOREACH(i, b) {
+ log_info("Got2: <%s>", *i);
+ assert_se(streq(*i, a[k++]));
+ }
+
+ r = parse_env_file(
+ t, NULL,
+ "one", &one,
+ "two", &two,
+ "three", &three,
+ "four", &four,
+ "five", &five,
+ "six", &six,
+ "seven", &seven,
+ "eight", &eight,
+ "export nine", &nine,
+ "ten", &ten,
+ NULL);
+
+ assert_se(r >= 0);
+
+ log_info("one=[%s]", strna(one));
+ log_info("two=[%s]", strna(two));
+ log_info("three=[%s]", strna(three));
+ log_info("four=[%s]", strna(four));
+ log_info("five=[%s]", strna(five));
+ log_info("six=[%s]", strna(six));
+ log_info("seven=[%s]", strna(seven));
+ log_info("eight=[%s]", strna(eight));
+ log_info("export nine=[%s]", strna(nine));
+ log_info("ten=[%s]", strna(nine));
+
+ assert_se(streq(one, "BAR"));
+ assert_se(streq(two, "bar"));
+ assert_se(streq(three, "333\nxxxx"));
+ assert_se(streq(four, "44\"44"));
+ assert_se(streq(five, "55\'55FIVEcinco"));
+ assert_se(streq(six, "seis sechs sis"));
+ assert_se(streq(seven, "sevenval#nocomment"));
+ assert_se(streq(eight, "eightval #nocomment"));
+ assert_se(streq(nine, "nineval"));
+ assert_se(ten == NULL);
+
+ r = write_env_file("/tmp/test-fileio", a);
+ assert_se(r >= 0);
+
+ r = load_env_file("/tmp/test-fileio", NULL, &b);
+ assert_se(r >= 0);
+
+ unlink(t);
+ unlink("/tmp/test-fileio");
+}
+
+int main(int argc, char *argv[]) {
+ test_parse_env_file();
+ return 0;
+}
diff --git a/src/test/test-hashmap.c b/src/test/test-hashmap.c
new file mode 100644
index 0000000000..2aead79bb1
--- /dev/null
+++ b/src/test/test-hashmap.c
@@ -0,0 +1,508 @@
+/***
+ This file is part of systemd
+
+ Copyright 2013 Daniel Buch
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <inttypes.h>
+#include "strv.h"
+#include "util.h"
+#include "hashmap.h"
+
+static void test_hashmap_replace(void) {
+ Hashmap *m;
+ char *val1, *val2, *val3, *val4, *val5, *r;
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+
+ val1 = strdup("val1");
+ assert_se(val1);
+ val2 = strdup("val2");
+ assert_se(val2);
+ val3 = strdup("val3");
+ assert_se(val3);
+ val4 = strdup("val4");
+ assert_se(val4);
+ val5 = strdup("val5");
+ assert_se(val5);
+
+ hashmap_put(m, "key 1", val1);
+ hashmap_put(m, "key 2", val2);
+ hashmap_put(m, "key 3", val3);
+ hashmap_put(m, "key 4", val4);
+
+ hashmap_replace(m, "key 3", val1);
+ r = hashmap_get(m, "key 3");
+ assert_se(streq(r, "val1"));
+
+ hashmap_replace(m, "key 5", val5);
+ r = hashmap_get(m, "key 5");
+ assert_se(streq(r, "val5"));
+
+ free(val1);
+ free(val2);
+ free(val3);
+ free(val4);
+ free(val5);
+ hashmap_free(m);
+}
+
+static void test_hashmap_copy(void) {
+ Hashmap *m, *copy;
+ char *val1, *val2, *val3, *val4, *r;
+
+ val1 = strdup("val1");
+ assert_se(val1);
+ val2 = strdup("val2");
+ assert_se(val2);
+ val3 = strdup("val3");
+ assert_se(val3);
+ val4 = strdup("val4");
+ assert_se(val4);
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+
+ hashmap_put(m, "key 1", val1);
+ hashmap_put(m, "key 2", val2);
+ hashmap_put(m, "key 3", val3);
+ hashmap_put(m, "key 4", val4);
+
+ copy = hashmap_copy(m);
+
+ r = hashmap_get(copy, "key 1");
+ assert_se(streq(r, "val1"));
+ r = hashmap_get(copy, "key 2");
+ assert_se(streq(r, "val2"));
+ r = hashmap_get(copy, "key 3");
+ assert_se(streq(r, "val3"));
+ r = hashmap_get(copy, "key 4");
+ assert_se(streq(r, "val4"));
+
+ hashmap_free_free(copy);
+ hashmap_free(m);
+}
+
+static void test_hashmap_get_strv(void) {
+ Hashmap *m;
+ char **strv;
+ char *val1, *val2, *val3, *val4;
+
+ val1 = strdup("val1");
+ assert_se(val1);
+ val2 = strdup("val2");
+ assert_se(val2);
+ val3 = strdup("val3");
+ assert_se(val3);
+ val4 = strdup("val4");
+ assert_se(val4);
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+
+ hashmap_put(m, "key 1", val1);
+ hashmap_put(m, "key 2", val2);
+ hashmap_put(m, "key 3", val3);
+ hashmap_put(m, "key 4", val4);
+
+ strv = hashmap_get_strv(m);
+
+ assert_se(streq(strv[0], "val1"));
+ assert_se(streq(strv[1], "val2"));
+ assert_se(streq(strv[2], "val3"));
+ assert_se(streq(strv[3], "val4"));
+
+ strv_free(strv);
+
+ hashmap_free(m);
+}
+
+static void test_hashmap_move_one(void) {
+ Hashmap *m, *n;
+ char *val1, *val2, *val3, *val4, *r;
+
+ val1 = strdup("val1");
+ assert_se(val1);
+ val2 = strdup("val2");
+ assert_se(val2);
+ val3 = strdup("val3");
+ assert_se(val3);
+ val4 = strdup("val4");
+ assert_se(val4);
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+ n = hashmap_new(string_hash_func, string_compare_func);
+
+ hashmap_put(m, "key 1", val1);
+ hashmap_put(m, "key 2", val2);
+ hashmap_put(m, "key 3", val3);
+ hashmap_put(m, "key 4", val4);
+
+ hashmap_move_one(n, m, "key 3");
+ hashmap_move_one(n, m, "key 4");
+
+ r = hashmap_get(n, "key 3");
+ assert_se(r && streq(r, "val3"));
+ r = hashmap_get(n, "key 4");
+ assert_se(r && streq(r, "val4"));
+ r = hashmap_get(m, "key 3");
+ assert_se(!r);
+
+
+ hashmap_free_free(m);
+ hashmap_free_free(n);
+}
+
+static void test_hashmap_next(void) {
+ Hashmap *m;
+ char *val1, *val2, *val3, *val4, *r;
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+ val1 = strdup("val1");
+ assert_se(val1);
+ val2 = strdup("val2");
+ assert_se(val2);
+ val3 = strdup("val3");
+ assert_se(val3);
+ val4 = strdup("val4");
+ assert_se(val4);
+
+ hashmap_put(m, "key 1", val1);
+ hashmap_put(m, "key 2", val2);
+ hashmap_put(m, "key 3", val3);
+ hashmap_put(m, "key 4", val4);
+
+ r = hashmap_next(m, "key 1");
+ assert_se(streq(r, val2));
+ r = hashmap_next(m, "key 2");
+ assert_se(streq(r, val3));
+ r = hashmap_next(m, "key 3");
+ assert_se(streq(r, val4));
+ r = hashmap_next(m, "key 4");
+ assert_se(!r);
+
+ hashmap_free_free(m);
+}
+
+static void test_hashmap_update(void) {
+ Hashmap *m;
+ char *val1, *val2, *r;
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+ val1 = strdup("old_value");
+ assert_se(val1);
+ val2 = strdup("new_value");
+ assert_se(val2);
+
+ hashmap_put(m, "key 1", val1);
+ r = hashmap_get(m, "key 1");
+ assert_se(streq(r, "old_value"));
+
+ hashmap_update(m, "key 1", val2);
+ r = hashmap_get(m, "key 1");
+ assert_se(streq(r, "new_value"));
+
+ free(val1);
+ free(val2);
+ hashmap_free(m);
+}
+
+static void test_hashmap_put(void) {
+ Hashmap *m;
+ int valid_hashmap_put;
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+
+ valid_hashmap_put = hashmap_put(m, "key 1", (void*) (const char *) "val 1");
+ assert_se(valid_hashmap_put == 1);
+
+ assert_se(m);
+ hashmap_free(m);
+}
+
+static void test_hashmap_ensure_allocated(void) {
+ Hashmap *m;
+ int valid_hashmap;
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+
+ valid_hashmap = hashmap_ensure_allocated(&m, string_hash_func, string_compare_func);
+ assert_se(valid_hashmap == 0);
+
+ assert_se(m);
+ hashmap_free(m);
+}
+
+static void test_hashmap_foreach_key(void) {
+ Hashmap *m;
+ Iterator i;
+ bool key_found[] = { false, false, false, false };
+ const char *s;
+ const char *key;
+ static const char key_table[] =
+ "key 1\0"
+ "key 2\0"
+ "key 3\0"
+ "key 4\0";
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+
+ NULSTR_FOREACH(key, key_table)
+ hashmap_put(m, key, (void*) (const char*) "my dummy val");
+
+ HASHMAP_FOREACH_KEY(s, key, m, i) {
+ if (!key_found[0] && streq(key, "key 1"))
+ key_found[0] = true;
+ else if (!key_found[1] && streq(key, "key 2"))
+ key_found[1] = true;
+ else if (!key_found[2] && streq(key, "key 3"))
+ key_found[2] = true;
+ else if (!key_found[3] && streq(key, "fail"))
+ key_found[3] = true;
+ }
+
+ assert_se(m);
+ assert_se(key_found[0] && key_found[1] && key_found[2] && !key_found[3]);
+
+ hashmap_free(m);
+}
+
+static void test_hashmap_foreach(void) {
+ Hashmap *m;
+ Iterator i;
+ bool value_found[] = { false, false, false, false };
+ char *val1, *val2, *val3, *val4, *s;
+
+ val1 = strdup("my val1");
+ assert_se(val1);
+ val2 = strdup("my val2");
+ assert_se(val2);
+ val3 = strdup("my val3");
+ assert_se(val3);
+ val4 = strdup("my val4");
+ assert_se(val4);
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+
+ hashmap_put(m, "Key 1", val1);
+ hashmap_put(m, "Key 2", val2);
+ hashmap_put(m, "Key 3", val3);
+ hashmap_put(m, "Key 4", val4);
+
+ HASHMAP_FOREACH(s, m, i) {
+ if (!value_found[0] && streq(s, val1))
+ value_found[0] = true;
+ else if (!value_found[1] && streq(s, val2))
+ value_found[1] = true;
+ else if (!value_found[2] && streq(s, val3))
+ value_found[2] = true;
+ else if (!value_found[3] && streq(s, val4))
+ value_found[3] = true;
+ }
+
+ assert_se(m);
+ assert_se(value_found[0] && value_found[1] && value_found[2] && value_found[3]);
+
+ hashmap_free_free(m);
+}
+
+static void test_hashmap_foreach_backwards(void) {
+ Hashmap *m;
+ Iterator i;
+ char *val1, *val2, *val3, *val4, *s;
+ bool value_found[] = { false, false, false, false };
+
+ val1 = strdup("my val1");
+ assert_se(val1);
+ val2 = strdup("my val2");
+ assert_se(val2);
+ val3 = strdup("my val3");
+ assert_se(val3);
+ val4 = strdup("my val4");
+ assert_se(val4);
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+ hashmap_put(m, "Key 1", val1);
+ hashmap_put(m, "Key 2", val2);
+ hashmap_put(m, "Key 3", val3);
+ hashmap_put(m, "Key 4", val4);
+
+ HASHMAP_FOREACH_BACKWARDS(s, m, i) {
+ if (!value_found[0] && streq(s, val1))
+ value_found[0] = true;
+ else if (!value_found[1] && streq(s, val2))
+ value_found[1] = true;
+ else if (!value_found[2] && streq(s, val3))
+ value_found[2] = true;
+ else if (!value_found[3] && streq(s, val4))
+ value_found[3] = true;
+ }
+
+ assert_se(m);
+ assert_se(value_found[0] && value_found[1] && value_found[2] && value_found[3]);
+
+ hashmap_free_free(m);
+}
+
+static void test_hashmap_merge(void) {
+ Hashmap *m;
+ Hashmap *n;
+ char *val1, *val2, *val3, *val4, *r;
+
+ val1 = strdup("my val1");
+ assert_se(val1);
+ val2 = strdup("my val2");
+ assert_se(val2);
+ val3 = strdup("my val3");
+ assert_se(val3);
+ val4 = strdup("my val4");
+ assert_se(val4);
+
+ n = hashmap_new(string_hash_func, string_compare_func);
+ m = hashmap_new(string_hash_func, string_compare_func);
+
+ hashmap_put(m, "Key 1", val1);
+ hashmap_put(m, "Key 2", val2);
+ hashmap_put(n, "Key 3", val3);
+ hashmap_put(n, "Key 4", val4);
+
+ assert_se(hashmap_merge(m, n) == 0);
+ r = hashmap_get(m, "Key 3");
+ assert_se(r && streq(r, "my val3"));
+ r = hashmap_get(m, "Key 4");
+ assert_se(r && streq(r, "my val4"));
+
+ assert_se(n);
+ assert_se(m);
+ hashmap_free(n);
+ hashmap_free_free(m);
+}
+
+static void test_hashmap_contains(void) {
+ Hashmap *m;
+ char *val1;
+
+ val1 = strdup("my val");
+ assert_se(val1);
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+
+ assert_se(!hashmap_contains(m, "Key 1"));
+ hashmap_put(m, "Key 1", val1);
+ assert_se(hashmap_contains(m, "Key 1"));
+
+ assert_se(m);
+ hashmap_free_free(m);
+}
+
+static void test_hashmap_isempty(void) {
+ Hashmap *m;
+ char *val1;
+
+ val1 = strdup("my val");
+ assert_se(val1);
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+
+ assert_se(hashmap_isempty(m));
+ hashmap_put(m, "Key 1", val1);
+ assert_se(!hashmap_isempty(m));
+
+ assert_se(m);
+ hashmap_free_free(m);
+}
+
+static void test_hashmap_size(void) {
+ Hashmap *m;
+ char *val1, *val2, *val3, *val4;
+
+ val1 = strdup("my val");
+ assert_se(val1);
+ val2 = strdup("my val");
+ assert_se(val2);
+ val3 = strdup("my val");
+ assert_se(val3);
+ val4 = strdup("my val");
+ assert_se(val4);
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+
+ hashmap_put(m, "Key 1", val1);
+ hashmap_put(m, "Key 2", val2);
+ hashmap_put(m, "Key 3", val3);
+ hashmap_put(m, "Key 4", val4);
+
+ assert_se(m);
+ assert_se(hashmap_size(m) == 4);
+ hashmap_free_free(m);
+}
+
+static void test_hashmap_get(void) {
+ Hashmap *m;
+ char *r;
+ char *val;
+
+ val = strdup("my val");
+ assert_se(val);
+
+ m = hashmap_new(string_hash_func, string_compare_func);
+
+ hashmap_put(m, "Key 1", val);
+
+ r = hashmap_get(m, "Key 1");
+ assert_se(streq(r, val));
+
+ assert_se(m);
+ hashmap_free_free(m);
+}
+
+static void test_uint64_compare_func(void) {
+ assert_se(uint64_compare_func("a", "a") == 0);
+ assert_se(uint64_compare_func("a", "b") == -1);
+ assert_se(uint64_compare_func("b", "a") == 1);
+}
+
+static void test_trivial_compare_func(void) {
+ assert_se(trivial_compare_func(INT_TO_PTR('a'), INT_TO_PTR('a')) == 0);
+ assert_se(trivial_compare_func(INT_TO_PTR('a'), INT_TO_PTR('b')) == -1);
+ assert_se(trivial_compare_func(INT_TO_PTR('b'), INT_TO_PTR('a')) == 1);
+}
+
+static void test_string_compare_func(void) {
+ assert_se(!string_compare_func("fred", "wilma") == 0);
+ assert_se(string_compare_func("fred", "fred") == 0);
+}
+
+int main(int argc, const char *argv[])
+{
+ test_hashmap_copy();
+ test_hashmap_get_strv();
+ test_hashmap_move_one();
+ test_hashmap_next();
+ test_hashmap_replace();
+ test_hashmap_update();
+ test_hashmap_put();
+ test_hashmap_ensure_allocated();
+ test_hashmap_foreach();
+ test_hashmap_foreach_backwards();
+ test_hashmap_foreach_key();
+ test_hashmap_contains();
+ test_hashmap_merge();
+ test_hashmap_isempty();
+ test_hashmap_get();
+ test_hashmap_size();
+ test_uint64_compare_func();
+ test_trivial_compare_func();
+ test_string_compare_func();
+}
diff --git a/src/test/test-id128.c b/src/test/test-id128.c
index bfd743eca3..2ed8e292e6 100644
--- a/src/test/test-id128.c
+++ b/src/test/test-id128.c
@@ -27,10 +27,13 @@
#include "macro.h"
#define ID128_WALDI SD_ID128_MAKE(01, 02, 03, 04, 05, 06, 07, 08, 09, 0a, 0b, 0c, 0d, 0e, 0f, 10)
+#define STR_WALDI "0102030405060708090a0b0c0d0e0f10"
+#define UUID_WALDI "01020304-0506-0708-090a-0b0c0d0e0f10"
int main(int argc, char *argv[]) {
sd_id128_t id, id2;
char t[33];
+ _cleanup_free_ char *b = NULL;
assert_se(sd_id128_randomize(&id) == 0);
printf("random: %s\n", sd_id128_to_string(id, t));
@@ -45,8 +48,28 @@ int main(int argc, char *argv[]) {
printf("boot: %s\n", sd_id128_to_string(id, t));
printf("waldi: %s\n", sd_id128_to_string(ID128_WALDI, t));
-
- printf("waldi2: " SD_ID128_FORMAT_STR "\n", SD_ID128_FORMAT_VAL(ID128_WALDI));
+ assert_se(streq(t, STR_WALDI));
+
+ assert_se(asprintf(&b, SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(ID128_WALDI)) == 32);
+ printf("waldi2: %s\n", b);
+ assert_se(streq(t, b));
+
+ assert_se(sd_id128_from_string(UUID_WALDI, &id) >= 0);
+ assert_se(sd_id128_equal(id, ID128_WALDI));
+
+ assert_se(sd_id128_from_string("", &id) < 0);
+ assert_se(sd_id128_from_string("01020304-0506-0708-090a-0b0c0d0e0f101", &id) < 0);
+ assert_se(sd_id128_from_string("01020304-0506-0708-090a-0b0c0d0e0f10-", &id) < 0);
+ assert_se(sd_id128_from_string("01020304-0506-0708-090a0b0c0d0e0f10", &id) < 0);
+ assert_se(sd_id128_from_string("010203040506-0708-090a-0b0c0d0e0f10", &id) < 0);
+
+ assert_se(id128_is_valid(STR_WALDI));
+ assert_se(id128_is_valid(UUID_WALDI));
+ assert_se(!id128_is_valid(""));
+ assert_se(!id128_is_valid("01020304-0506-0708-090a-0b0c0d0e0f101"));
+ assert_se(!id128_is_valid("01020304-0506-0708-090a-0b0c0d0e0f10-"));
+ assert_se(!id128_is_valid("01020304-0506-0708-090a0b0c0d0e0f10"));
+ assert_se(!id128_is_valid("010203040506-0708-090a-0b0c0d0e0f10"));
return 0;
}
diff --git a/src/test/test-ns.c b/src/test/test-ns.c
index b1c759fc20..ad0d0419c4 100644
--- a/src/test/test-ns.c
+++ b/src/test/test-ns.c
@@ -26,6 +26,7 @@
#include <linux/fs.h>
#include "namespace.h"
+#include "execute.h"
#include "log.h"
int main(int argc, char *argv[]) {
@@ -47,8 +48,19 @@ int main(int argc, char *argv[]) {
};
int r;
+ char tmp_dir[] = "/tmp/systemd-private-XXXXXX",
+ var_tmp_dir[] = "/var/tmp/systemd-private-XXXXXX";
- r = setup_namespace((char**) writable, (char**) readonly, (char**) inaccessible, true, 0);
+ assert_se(mkdtemp(tmp_dir));
+ assert_se(mkdtemp(var_tmp_dir));
+
+ r = setup_namespace((char **) writable,
+ (char **) readonly,
+ (char **) inaccessible,
+ tmp_dir,
+ var_tmp_dir,
+ true,
+ 0);
if (r < 0) {
log_error("Failed to setup namespace: %s", strerror(-r));
return 1;
diff --git a/src/test/test-path-util.c b/src/test/test-path-util.c
new file mode 100644
index 0000000000..127e17803f
--- /dev/null
+++ b/src/test/test-path-util.c
@@ -0,0 +1,89 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdio.h>
+
+#include "path-util.h"
+#include "util.h"
+#include "macro.h"
+
+
+static void test_path(void) {
+ assert_se(path_equal("/goo", "/goo"));
+ assert_se(path_equal("//goo", "/goo"));
+ assert_se(path_equal("//goo/////", "/goo"));
+ assert_se(path_equal("goo/////", "goo"));
+
+ assert_se(path_equal("/goo/boo", "/goo//boo"));
+ assert_se(path_equal("//goo/boo", "/goo/boo//"));
+
+ assert_se(path_equal("/", "///"));
+
+ assert_se(!path_equal("/x", "x/"));
+ assert_se(!path_equal("x/", "/"));
+
+ assert_se(!path_equal("/x/./y", "x/y"));
+ assert_se(!path_equal("x/.y", "x/y"));
+
+ assert_se(path_is_absolute("/"));
+ assert_se(!path_is_absolute("./"));
+
+ assert_se(is_path("/dir"));
+ assert_se(is_path("a/b"));
+ assert_se(!is_path("."));
+
+ assert_se(streq(path_get_file_name("./aa/bb/../file.da."), "file.da."));
+ assert_se(streq(path_get_file_name("/aa///.file"), ".file"));
+ assert_se(streq(path_get_file_name("/aa///file..."), "file..."));
+ assert_se(streq(path_get_file_name("file.../"), ""));
+
+#define test_parent(x, y) { \
+ char *z; \
+ int r = path_get_parent(x, &z); \
+ printf("expected: %s\n", y ? y : "error"); \
+ printf("actual: %s\n", r<0 ? "error" : z); \
+ assert_se((y==NULL) ^ (r==0)); \
+ assert_se(y==NULL || path_equal(z, y)); \
+ }
+
+ test_parent("./aa/bb/../file.da.", "./aa/bb/..");
+ test_parent("/aa///.file", "/aa///");
+ test_parent("/aa///file...", "/aa///");
+ test_parent("file.../", NULL);
+
+ assert_se(path_is_mount_point("/", true));
+ assert_se(path_is_mount_point("/", false));
+
+ {
+ char p1[] = "aaa/bbb////ccc";
+ char p2[] = "//aaa/.////ccc";
+ char p3[] = "/./";
+
+ assert(path_equal(path_kill_slashes(p1), "aaa/bbb/ccc"));
+ assert(path_equal(path_kill_slashes(p2), "/aaa/./ccc"));
+ assert(path_equal(path_kill_slashes(p3), "/./"));
+ }
+}
+
+int main(void) {
+ test_path();
+ return 0;
+}
diff --git a/src/test/test-prioq.c b/src/test/test-prioq.c
new file mode 100644
index 0000000000..aeac73973b
--- /dev/null
+++ b/src/test/test-prioq.c
@@ -0,0 +1,166 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdlib.h>
+
+#include "util.h"
+#include "set.h"
+#include "prioq.h"
+
+#define SET_SIZE 1024*4
+
+static int unsigned_compare(const void *a, const void *b) {
+ const unsigned *x = a, *y = b;
+
+ if (*x < *y)
+ return -1;
+
+ if (*x > *y)
+ return 1;
+
+ return 0;
+}
+
+static void test_unsigned(void) {
+ unsigned buffer[SET_SIZE], i;
+ Prioq *q;
+
+ srand(0);
+
+ q = prioq_new(trivial_compare_func);
+ assert_se(q);
+
+ for (i = 0; i < ELEMENTSOF(buffer); i++) {
+ unsigned u;
+
+ u = (unsigned) rand();
+ buffer[i] = u;
+ assert_se(prioq_put(q, UINT_TO_PTR(u), NULL) >= 0);
+ }
+
+ qsort(buffer, ELEMENTSOF(buffer), sizeof(buffer[0]), unsigned_compare);
+
+ for (i = 0; i < ELEMENTSOF(buffer); i++) {
+ unsigned u;
+
+ assert_se(prioq_size(q) == ELEMENTSOF(buffer) - i);
+
+ u = PTR_TO_UINT(prioq_pop(q));
+ assert_se(buffer[i] == u);
+ }
+
+ assert_se(prioq_isempty(q));
+ prioq_free(q);
+}
+
+struct test {
+ unsigned value;
+ unsigned idx;
+};
+
+static int test_compare(const void *a, const void *b) {
+ const struct test *x = a, *y = b;
+
+ if (x->value < y->value)
+ return -1;
+
+ if (x->value > y->value)
+ return 1;
+
+ return 0;
+}
+
+static unsigned test_hash(const void *a) {
+ const struct test *x = a;
+
+ return x->value;
+}
+
+static void test_struct(void) {
+ Prioq *q;
+ Set *s;
+ unsigned previous = 0, i;
+ int r;
+
+ srand(0);
+
+ q = prioq_new(test_compare);
+ assert_se(q);
+
+ s = set_new(test_hash, test_compare);
+ assert_se(s);
+
+ for (i = 0; i < SET_SIZE; i++) {
+ struct test *t;
+
+ t = new0(struct test, 1);
+ assert_se(t);
+ t->value = (unsigned) rand();
+
+ r = prioq_put(q, t, &t->idx);
+ assert_se(r >= 0);
+
+ if (i % 4 == 0) {
+ r = set_consume(s, t);
+ assert_se(r >= 0);
+ }
+ }
+
+ for (;;) {
+ struct test *t;
+
+ t = set_steal_first(s);
+ if (!t)
+ break;
+
+ r = prioq_remove(q, t, &t->idx);
+ assert_se(r > 0);
+
+ free(t);
+ }
+
+ for (i = 0; i < SET_SIZE * 3 / 4; i++) {
+ struct test *t;
+
+ assert_se(prioq_size(q) == (SET_SIZE * 3 / 4) - i);
+
+ t = prioq_pop(q);
+ assert_se(t);
+
+ assert_se(previous <= t->value);
+ previous = t->value;
+ free(t);
+ }
+
+ assert_se(prioq_isempty(q));
+ prioq_free(q);
+
+ assert_se(set_isempty(s));
+ set_free(s);
+}
+
+int main(int argc, char* argv[]) {
+
+ test_unsigned();
+ test_struct();
+
+ return 0;
+}
diff --git a/src/test/test-sched-prio.c b/src/test/test-sched-prio.c
index 29235e8347..ba0aacf79d 100644
--- a/src/test/test-sched-prio.c
+++ b/src/test/test-sched-prio.c
@@ -22,7 +22,7 @@
#include <sched.h>
#include "manager.h"
-
+#include "macro.h"
int main(int argc, char *argv[]) {
Manager *m;
@@ -30,10 +30,16 @@ int main(int argc, char *argv[]) {
Service *ser;
FILE *serial = NULL;
FDSet *fdset = NULL;
+ int r;
/* prepare the test */
assert_se(set_unit_path(TEST_DIR) >= 0);
- assert_se(manager_new(SYSTEMD_SYSTEM, &m) >= 0);
+ r = manager_new(SYSTEMD_USER, &m);
+ if (r == -EPERM) {
+ puts("manager_new: Permission denied. Skipping test.");
+ return EXIT_TEST_SKIP;
+ }
+ assert(r >= 0);
assert_se(manager_startup(m, serial, fdset) >= 0);
/* load idle ok */
@@ -82,5 +88,5 @@ int main(int argc, char *argv[]) {
assert_se(ser->exec_context.cpu_sched_policy == SCHED_RR);
assert_se(ser->exec_context.cpu_sched_priority == 99);
- return 0;
+ return EXIT_SUCCESS;
}
diff --git a/src/test/test-sleep.c b/src/test/test-sleep.c
index 5a98ecda2f..c3cb9c531d 100644
--- a/src/test/test-sleep.c
+++ b/src/test/test-sleep.c
@@ -26,14 +26,32 @@
#include "util.h"
#include "log.h"
+#include "sleep-config.h"
+#include "strv.h"
int main(int argc, char* argv[]) {
- log_info("Can Suspend: %s", yes_no(can_sleep("mem") > 0));
- log_info("Can Hibernate: %s", yes_no(can_sleep("disk") > 0));
- log_info("Can Hibernate+Suspend (Hybrid-Sleep): %s", yes_no(can_sleep_disk("suspend") > 0));
- log_info("Can Hibernate+Reboot: %s", yes_no(can_sleep_disk("reboot") > 0));
- log_info("Can Hibernate+Platform: %s", yes_no(can_sleep_disk("platform") > 0));
- log_info("Can Hibernate+Shutdown: %s", yes_no(can_sleep_disk("shutdown") > 0));
+ _cleanup_strv_free_ char
+ **standby = strv_new("standby", NULL),
+ **mem = strv_new("mem", NULL),
+ **disk = strv_new("disk", NULL),
+ **suspend = strv_new("suspend", NULL),
+ **reboot = strv_new("reboot", NULL),
+ **platform = strv_new("platform", NULL),
+ **shutdown = strv_new("shutdown", NULL),
+ **freez = strv_new("freeze", NULL);
+
+ log_info("Can Standby: %s", yes_no(can_sleep_state(standby) > 0));
+ log_info("Can Suspend: %s", yes_no(can_sleep_state(mem) > 0));
+ log_info("Can Hibernate: %s", yes_no(can_sleep_state(disk) > 0));
+ log_info("Can Hibernate+Suspend (Hybrid-Sleep): %s", yes_no(can_sleep_disk(suspend) > 0));
+ log_info("Can Hibernate+Reboot: %s", yes_no(can_sleep_disk(reboot) > 0));
+ log_info("Can Hibernate+Platform: %s", yes_no(can_sleep_disk(platform) > 0));
+ log_info("Can Hibernate+Shutdown: %s", yes_no(can_sleep_disk(shutdown) > 0));
+ log_info("Can Freeze: %s", yes_no(can_sleep_disk(freez) > 0));
+
+ log_info("Suspend configured and possible: %s", yes_no(can_sleep("suspend") > 0));
+ log_info("Hibernation configured and possible: %s", yes_no(can_sleep("hibernate") > 0));
+ log_info("Hybrid-sleep configured and possible: %s", yes_no(can_sleep("hybrid-sleep") > 0));
return 0;
}
diff --git a/src/test/test-strbuf.c b/src/test/test-strbuf.c
new file mode 100644
index 0000000000..e9b6c033fd
--- /dev/null
+++ b/src/test/test-strbuf.c
@@ -0,0 +1,93 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Thomas H.P. Andersen
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "strbuf.h"
+#include "strv.h"
+#include "util.h"
+
+static ssize_t add_string(struct strbuf *sb, const char *s) {
+ return strbuf_add_string(sb, s, strlen(s));
+}
+
+static void test_strbuf(void) {
+ struct strbuf *sb;
+ _cleanup_strv_free_ char **l;
+ ssize_t a, b, c, d, e, f, g;
+
+ sb = strbuf_new();
+
+ a = add_string(sb, "waldo");
+ b = add_string(sb, "foo");
+ c = add_string(sb, "bar");
+ d = add_string(sb, "waldo"); /* duplicate */
+ e = add_string(sb, "aldo"); /* duplicate */
+ f = add_string(sb, "do"); /* duplicate */
+ g = add_string(sb, "waldorf"); /* not a duplicate: matches from tail */
+
+ /* check the content of the buffer directly */
+ l = strv_parse_nulstr(sb->buf, sb->len);
+
+ assert(streq(l[0], "")); /* root*/
+ assert(streq(l[1], "waldo"));
+ assert(streq(l[2], "foo"));
+ assert(streq(l[3], "bar"));
+ assert(streq(l[4], "waldorf"));
+
+ assert(sb->nodes_count == 5); /* root + 4 non-duplicates */
+ assert(sb->dedup_count == 3);
+ assert(sb->in_count == 7);
+
+ assert(sb->in_len == 29); /* length of all strings added */
+ assert(sb->dedup_len == 11); /* length of all strings duplicated */
+ assert(sb->len == 23); /* buffer length: in - dedup + \0 for each node */
+
+ /* check the returned offsets and the respective content in the buffer */
+ assert(a == 1);
+ assert(b == 7);
+ assert(c == 11);
+ assert(d == 1);
+ assert(e == 2);
+ assert(f == 4);
+ assert(g == 15);
+
+ assert(streq(sb->buf + a, "waldo"));
+ assert(streq(sb->buf + b, "foo"));
+ assert(streq(sb->buf + c, "bar"));
+ assert(streq(sb->buf + d, "waldo"));
+ assert(streq(sb->buf + e, "aldo"));
+ assert(streq(sb->buf + f, "do"));
+ assert(streq(sb->buf + g, "waldorf"));
+
+ strbuf_complete(sb);
+ assert(sb->root == NULL);
+
+ strbuf_cleanup(sb);
+}
+
+int main(int argc, const char *argv[])
+{
+ test_strbuf();
+
+ return 0;
+}
diff --git a/src/test/test-strv.c b/src/test/test-strv.c
index 5ee4447669..074e1bb3d4 100644
--- a/src/test/test-strv.c
+++ b/src/test/test-strv.c
@@ -4,6 +4,7 @@
This file is part of systemd.
Copyright 2010 Lennart Poettering
+ Copyright 2013 Thomas H.P. Andersen
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
@@ -23,44 +24,242 @@
#include "util.h"
#include "specifier.h"
+#include "strv.h"
+
+static void test_specifier_printf(void) {
+ _cleanup_free_ char *w = NULL;
-int main(int argc, char *argv[]) {
const Specifier table[] = {
{ 'a', specifier_string, (char*) "AAAA" },
{ 'b', specifier_string, (char*) "BBBB" },
{ 0, NULL, NULL }
};
- char *w, *state;
- size_t l;
- const char test[] = "test a b c 'd' e '' '' hhh '' ''";
+ w = specifier_printf("xxx a=%a b=%b yyy", table, NULL);
+ puts(w);
+
+ assert_se(w);
+ assert_se(streq(w, "xxx a=AAAA b=BBBB yyy"));
+}
- printf("<%s>\n", test);
+static void test_strv_find(void) {
+ const char * const input_table[] = {
+ "one",
+ "two",
+ "three",
+ NULL
+ };
- FOREACH_WORD_QUOTED(w, l, test, state) {
- char *t;
+ assert_se(strv_find((char **)input_table, "three"));
+ assert_se(!strv_find((char **)input_table, "four"));
+}
- assert_se(t = strndup(w, l));
- printf("<%s>\n", t);
- free(t);
- }
+static void test_strv_find_prefix(void) {
+ const char * const input_table[] = {
+ "one",
+ "two",
+ "three",
+ NULL
+ };
+
+ assert_se(strv_find_prefix((char **)input_table, "o"));
+ assert_se(strv_find_prefix((char **)input_table, "one"));
+ assert_se(strv_find_prefix((char **)input_table, ""));
+ assert_se(!strv_find_prefix((char **)input_table, "xxx"));
+ assert_se(!strv_find_prefix((char **)input_table, "onee"));
+}
- printf("%s\n", default_term_for_tty("/dev/tty23"));
- printf("%s\n", default_term_for_tty("/dev/ttyS23"));
- printf("%s\n", default_term_for_tty("/dev/tty0"));
- printf("%s\n", default_term_for_tty("/dev/pty0"));
- printf("%s\n", default_term_for_tty("/dev/pts/0"));
- printf("%s\n", default_term_for_tty("/dev/console"));
- printf("%s\n", default_term_for_tty("tty23"));
- printf("%s\n", default_term_for_tty("ttyS23"));
- printf("%s\n", default_term_for_tty("tty0"));
- printf("%s\n", default_term_for_tty("pty0"));
- printf("%s\n", default_term_for_tty("pts/0"));
- printf("%s\n", default_term_for_tty("console"));
+static void test_strv_join(void) {
+ _cleanup_free_ char *p = NULL, *q = NULL, *r = NULL, *s = NULL, *t = NULL;
- w = specifier_printf("xxx a=%a b=%b yyy", table, NULL);
- printf("<%s>\n", w);
- free(w);
+ const char * const input_table_multiple[] = {
+ "one",
+ "two",
+ "three",
+ NULL
+ };
+ const char * const input_table_one[] = {
+ "one",
+ NULL
+ };
+ const char * const input_table_none[] = {
+ NULL
+ };
+
+ p = strv_join((char **)input_table_multiple, ", ");
+ assert_se(p);
+ assert_se(streq(p, "one, two, three"));
+
+ q = strv_join((char **)input_table_multiple, ";");
+ assert_se(q);
+ assert_se(streq(q, "one;two;three"));
+
+ r = strv_join((char **)input_table_multiple, NULL);
+ assert_se(r);
+ assert_se(streq(r, "one two three"));
+
+ s = strv_join((char **)input_table_one, ", ");
+ assert_se(s);
+ assert_se(streq(s, "one"));
+
+ t = strv_join((char **)input_table_none, ", ");
+ assert_se(t);
+ assert_se(streq(t, ""));
+}
+
+static void test_strv_split_nulstr(void) {
+ _cleanup_strv_free_ char **l = NULL;
+ const char nulstr[] = "str0\0str1\0str2\0str3\0";
+
+ l = strv_split_nulstr (nulstr);
+ assert_se(l);
+
+ assert_se(streq(l[0], "str0"));
+ assert_se(streq(l[1], "str1"));
+ assert_se(streq(l[2], "str2"));
+ assert_se(streq(l[3], "str3"));
+}
+
+static void test_strv_parse_nulstr(void) {
+ _cleanup_strv_free_ char **l = NULL;
+ const char nulstr[] = "fuck\0fuck2\0fuck3\0\0fuck5\0\0xxx";
+
+ l = strv_parse_nulstr(nulstr, sizeof(nulstr)-1);
+ assert_se(l);
+ puts("Parse nulstr:");
+ strv_print(l);
+
+ assert_se(streq(l[0], "fuck"));
+ assert_se(streq(l[1], "fuck2"));
+ assert_se(streq(l[2], "fuck3"));
+ assert_se(streq(l[3], ""));
+ assert_se(streq(l[4], "fuck5"));
+ assert_se(streq(l[5], ""));
+ assert_se(streq(l[6], "xxx"));
+}
+
+static void test_strv_overlap(void) {
+ const char * const input_table[] = {
+ "one",
+ "two",
+ "three",
+ NULL
+ };
+ const char * const input_table_overlap[] = {
+ "two",
+ NULL
+ };
+ const char * const input_table_unique[] = {
+ "four",
+ "five",
+ "six",
+ NULL
+ };
+
+ assert_se(strv_overlap((char **)input_table, (char**)input_table_overlap));
+ assert_se(!strv_overlap((char **)input_table, (char**)input_table_unique));
+}
+
+static void test_strv_sort(void) {
+ const char* input_table[] = {
+ "durian",
+ "apple",
+ "citrus",
+ "CAPITAL LETTERS FIRST",
+ "banana",
+ NULL
+ };
+
+ strv_sort((char **)input_table);
+
+ assert_se(streq(input_table[0], "CAPITAL LETTERS FIRST"));
+ assert_se(streq(input_table[1], "apple"));
+ assert_se(streq(input_table[2], "banana"));
+ assert_se(streq(input_table[3], "citrus"));
+ assert_se(streq(input_table[4], "durian"));
+}
+
+static void test_strv_merge_concat(void) {
+ _cleanup_strv_free_ char **a = NULL, **b = NULL, **c = NULL;
+
+ a = strv_new("without", "suffix", NULL);
+ b = strv_new("with", "suffix", NULL);
+ assert_se(a);
+ assert_se(b);
+
+ c = strv_merge_concat(a, b, "_suffix");
+ assert_se(c);
+
+ assert_se(streq(c[0], "without"));
+ assert_se(streq(c[1], "suffix"));
+ assert_se(streq(c[2], "with_suffix"));
+ assert_se(streq(c[3], "suffix_suffix"));
+}
+
+static void test_strv_merge(void) {
+ _cleanup_strv_free_ char **a = NULL, **b = NULL, **c = NULL;
+
+ a = strv_new("abc", "def", "ghi", NULL);
+ b = strv_new("jkl", "mno", "pqr", NULL);
+ assert_se(a);
+ assert_se(b);
+
+ c = strv_merge(a, b);
+ assert_se(c);
+
+ assert_se(streq(c[0], "abc"));
+ assert_se(streq(c[1], "def"));
+ assert_se(streq(c[2], "ghi"));
+ assert_se(streq(c[3], "jkl"));
+ assert_se(streq(c[4], "mno"));
+ assert_se(streq(c[5], "pqr"));
+
+ assert_se(strv_length(c) == 6);
+}
+
+static void test_strv_append(void) {
+ _cleanup_strv_free_ char **a = NULL, **b = NULL, **c = NULL;
+
+ a = strv_new("test", "test1", NULL);
+ assert_se(a);
+ b = strv_append(a, "test2");
+ c = strv_append(NULL, "test3");
+ assert_se(b);
+ assert_se(c);
+
+ assert_se(streq(b[0], "test"));
+ assert_se(streq(b[1], "test1"));
+ assert_se(streq(b[2], "test2"));
+ assert_se(streq(c[0], "test3"));
+}
+
+static void test_strv_foreach_pair(void) {
+ _cleanup_strv_free_ char **a = NULL;
+ char **x, **y;
+
+ a = strv_new("pair_one", "pair_one",
+ "pair_two", "pair_two",
+ "pair_three", "pair_three",
+ NULL);
+
+ STRV_FOREACH_PAIR(x, y, a) {
+ assert_se(streq(*x, *y));
+ }
+}
+
+int main(int argc, char *argv[]) {
+ test_specifier_printf();
+ test_strv_foreach_pair();
+ test_strv_find();
+ test_strv_find_prefix();
+ test_strv_join();
+ test_strv_split_nulstr();
+ test_strv_parse_nulstr();
+ test_strv_overlap();
+ test_strv_sort();
+ test_strv_merge();
+ test_strv_merge_concat();
+ test_strv_append();
return 0;
}
diff --git a/src/test/test-strxcpyx.c b/src/test/test-strxcpyx.c
new file mode 100644
index 0000000000..b7b70d4c15
--- /dev/null
+++ b/src/test/test-strxcpyx.c
@@ -0,0 +1,101 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Thomas H.P. Andersen
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <string.h>
+
+#include "util.h"
+#include "strv.h"
+#include "strxcpyx.h"
+
+static void test_strpcpy(void) {
+ char target[25];
+ char *s = target;
+ size_t space_left;
+
+ space_left = sizeof(target);
+ space_left = strpcpy(&s, space_left, "12345");
+ space_left = strpcpy(&s, space_left, "hey hey hey");
+ space_left = strpcpy(&s, space_left, "waldo");
+ space_left = strpcpy(&s, space_left, "ba");
+ space_left = strpcpy(&s, space_left, "r");
+ space_left = strpcpy(&s, space_left, "foo");
+
+ assert(streq(target, "12345hey hey heywaldobar"));
+ assert(space_left == 0);
+}
+
+static void test_strpcpyf(void) {
+ char target[25];
+ char *s = target;
+ size_t space_left;
+
+ space_left = sizeof(target);
+ space_left = strpcpyf(&s, space_left, "space left: %zd. ", space_left);
+ space_left = strpcpyf(&s, space_left, "foo%s", "bar");
+
+ assert(streq(target, "space left: 25. foobar"));
+ assert(space_left == 3);
+}
+
+static void test_strpcpyl(void) {
+ char target[25];
+ char *s = target;
+ size_t space_left;
+
+ space_left = sizeof(target);
+ space_left = strpcpyl(&s, space_left, "waldo", " test", " waldo. ", NULL);
+ space_left = strpcpyl(&s, space_left, "Banana", NULL);
+
+ assert(streq(target, "waldo test waldo. Banana"));
+ assert(space_left == 1);
+}
+
+static void test_strscpy(void) {
+ char target[25];
+ size_t space_left;
+
+ space_left = sizeof(target);
+ space_left = strscpy(target, space_left, "12345");
+
+ assert(streq(target, "12345"));
+ assert(space_left == 20);
+}
+
+static void test_strscpyl(void) {
+ char target[25];
+ size_t space_left;
+
+ space_left = sizeof(target);
+ space_left = strscpyl(target, space_left, "12345", "waldo", "waldo", NULL);
+
+ assert(streq(target, "12345waldowaldo"));
+ assert(space_left == 10);
+}
+
+int main(int argc, char *argv[]) {
+ test_strpcpy();
+ test_strpcpyf();
+ test_strpcpyl();
+ test_strscpy();
+ test_strscpyl();
+
+ return 0;
+}
diff --git a/src/test/test-time.c b/src/test/test-time.c
new file mode 100644
index 0000000000..36a33046a2
--- /dev/null
+++ b/src/test/test-time.c
@@ -0,0 +1,136 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "time-util.h"
+
+static void test_parse_sec(void) {
+ usec_t u;
+
+ assert_se(parse_sec("5s", &u) >= 0);
+ assert_se(u == 5 * USEC_PER_SEC);
+ assert_se(parse_sec("5s500ms", &u) >= 0);
+ assert_se(u == 5 * USEC_PER_SEC + 500 * USEC_PER_MSEC);
+ assert_se(parse_sec(" 5s 500ms ", &u) >= 0);
+ assert_se(u == 5 * USEC_PER_SEC + 500 * USEC_PER_MSEC);
+ assert_se(parse_sec(" 5.5s ", &u) >= 0);
+ assert_se(u == 5 * USEC_PER_SEC + 500 * USEC_PER_MSEC);
+ assert_se(parse_sec(" 5.5s 0.5ms ", &u) >= 0);
+ assert_se(u == 5 * USEC_PER_SEC + 500 * USEC_PER_MSEC + 500);
+ assert_se(parse_sec(" .22s ", &u) >= 0);
+ assert_se(u == 220 * USEC_PER_MSEC);
+ assert_se(parse_sec(" .50y ", &u) >= 0);
+ assert_se(u == USEC_PER_YEAR / 2);
+ assert_se(parse_sec("2.5", &u) >= 0);
+ assert_se(u == 2500 * USEC_PER_MSEC);
+ assert_se(parse_sec(".7", &u) >= 0);
+ assert_se(u == 700 * USEC_PER_MSEC);
+
+ assert_se(parse_sec(" xyz ", &u) < 0);
+ assert_se(parse_sec("", &u) < 0);
+ assert_se(parse_sec(" . ", &u) < 0);
+ assert_se(parse_sec(" 5. ", &u) < 0);
+ assert_se(parse_sec(".s ", &u) < 0);
+}
+
+static void test_parse_nsec(void) {
+ nsec_t u;
+
+ assert_se(parse_nsec("5s", &u) >= 0);
+ assert_se(u == 5 * NSEC_PER_SEC);
+ assert_se(parse_nsec("5s500ms", &u) >= 0);
+ assert_se(u == 5 * NSEC_PER_SEC + 500 * NSEC_PER_MSEC);
+ assert_se(parse_nsec(" 5s 500ms ", &u) >= 0);
+ assert_se(u == 5 * NSEC_PER_SEC + 500 * NSEC_PER_MSEC);
+ assert_se(parse_nsec(" 5.5s ", &u) >= 0);
+ assert_se(u == 5 * NSEC_PER_SEC + 500 * NSEC_PER_MSEC);
+ assert_se(parse_nsec(" 5.5s 0.5ms ", &u) >= 0);
+ assert_se(u == 5 * NSEC_PER_SEC + 500 * NSEC_PER_MSEC + 500 * NSEC_PER_USEC);
+ assert_se(parse_nsec(" .22s ", &u) >= 0);
+ assert_se(u == 220 * NSEC_PER_MSEC);
+ assert_se(parse_nsec(" .50y ", &u) >= 0);
+ assert_se(u == NSEC_PER_YEAR / 2);
+ assert_se(parse_nsec("2.5", &u) >= 0);
+ assert_se(u == 2);
+ assert_se(parse_nsec(".7", &u) >= 0);
+ assert_se(u == 0);
+
+ assert_se(parse_nsec(" xyz ", &u) < 0);
+ assert_se(parse_nsec("", &u) < 0);
+ assert_se(parse_nsec(" . ", &u) < 0);
+ assert_se(parse_nsec(" 5. ", &u) < 0);
+ assert_se(parse_nsec(".s ", &u) < 0);
+}
+
+static void test_format_timespan_one(usec_t x, usec_t accuracy) {
+ char *r;
+ char l[FORMAT_TIMESPAN_MAX];
+ usec_t y;
+
+ log_info("%llu (at accuracy %llu)", (unsigned long long) x, (unsigned long long) accuracy);
+
+ r = format_timespan(l, sizeof(l), x, accuracy);
+ assert_se(r);
+
+ log_info(" = <%s>", l);
+
+ assert_se(parse_sec(l, &y) >= 0);
+
+ log_info(" = %llu", (unsigned long long) y);
+
+ if (accuracy <= 0)
+ accuracy = 1;
+
+ assert_se(x / accuracy == y / accuracy);
+}
+
+static void test_format_timespan(usec_t accuracy) {
+ test_format_timespan_one(0, accuracy);
+ test_format_timespan_one(1, accuracy);
+ test_format_timespan_one(1*USEC_PER_SEC, accuracy);
+ test_format_timespan_one(999*USEC_PER_MSEC, accuracy);
+ test_format_timespan_one(1234567, accuracy);
+ test_format_timespan_one(12, accuracy);
+ test_format_timespan_one(123, accuracy);
+ test_format_timespan_one(1234, accuracy);
+ test_format_timespan_one(12345, accuracy);
+ test_format_timespan_one(123456, accuracy);
+ test_format_timespan_one(1234567, accuracy);
+ test_format_timespan_one(12345678, accuracy);
+ test_format_timespan_one(1200000, accuracy);
+ test_format_timespan_one(1230000, accuracy);
+ test_format_timespan_one(1230000, accuracy);
+ test_format_timespan_one(1234000, accuracy);
+ test_format_timespan_one(1234500, accuracy);
+ test_format_timespan_one(1234560, accuracy);
+ test_format_timespan_one(1234567, accuracy);
+ test_format_timespan_one(986087, accuracy);
+ test_format_timespan_one(500 * USEC_PER_MSEC, accuracy);
+ test_format_timespan_one(9*USEC_PER_YEAR/5 - 23, accuracy);
+}
+
+int main(int argc, char *argv[]) {
+ test_parse_sec();
+ test_parse_nsec();
+ test_format_timespan(1);
+ test_format_timespan(USEC_PER_MSEC);
+ test_format_timespan(USEC_PER_SEC);
+ return 0;
+}
diff --git a/src/test/test-udev.c b/src/test/test-udev.c
index db9d36124e..52b61b4206 100644
--- a/src/test/test-udev.c
+++ b/src/test/test-udev.c
@@ -32,6 +32,7 @@
#include <sys/mount.h>
#include <sys/signalfd.h>
+#include "missing.h"
#include "udev.h"
void udev_main_log(struct udev *udev, int priority,
@@ -117,7 +118,7 @@ int main(int argc, char *argv[])
rules = udev_rules_new(udev, 1);
- util_strscpyl(syspath, sizeof(syspath), "/sys", devpath, NULL);
+ strscpyl(syspath, sizeof(syspath), "/sys", devpath, NULL);
dev = udev_device_new_from_syspath(udev, syspath);
if (dev == NULL) {
log_debug("unknown device '%s'\n", devpath);
@@ -139,12 +140,12 @@ int main(int argc, char *argv[])
if (udev_device_get_devnode(dev) != NULL) {
mode_t mode = 0600;
- if (strcmp(udev_device_get_subsystem(dev), "block") == 0)
+ if (streq(udev_device_get_subsystem(dev), "block"))
mode |= S_IFBLK;
else
mode |= S_IFCHR;
- if (strcmp(action, "remove") != 0) {
+ if (!streq(action, "remove")) {
mkdir_parents_label(udev_device_get_devnode(dev), 0755);
mknod(udev_device_get_devnode(dev), mode, udev_device_get_devnum(dev));
} else {
diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c
index 6636b949ea..a7fe77af24 100644
--- a/src/test/test-unit-file.c
+++ b/src/test/test-unit-file.c
@@ -4,6 +4,7 @@
This file is part of systemd.
Copyright 2012 Lennart Poettering
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
@@ -23,12 +24,17 @@
#include <stdio.h>
#include <stddef.h>
#include <string.h>
+#include <unistd.h>
#include "install.h"
+#include "install-printf.h"
+#include "specifier.h"
#include "util.h"
#include "macro.h"
#include "hashmap.h"
#include "load-fragment.h"
+#include "strv.h"
+#include "fileio.h"
static void test_unit_file_get_set(void) {
int r;
@@ -79,13 +85,13 @@ static void test_config_parse_exec(void) {
ExecCommand *c = NULL, *c1;
/* basic test */
- r = config_parse_exec("fake", 1, "section",
+ r = config_parse_exec(NULL, "fake", 1, "section",
"LValue", 0, "/RValue r1",
&c, NULL);
assert_se(r >= 0);
check_execcommand(c, "/RValue", "/RValue", "r1", false);
- r = config_parse_exec("fake", 2, "section",
+ r = config_parse_exec(NULL, "fake", 2, "section",
"LValue", 0, "/RValue///slashes/// r1",
&c, NULL);
/* test slashes */
@@ -95,7 +101,7 @@ static void test_config_parse_exec(void) {
"r1", false);
/* honour_argv0 */
- r = config_parse_exec("fake", 3, "section",
+ r = config_parse_exec(NULL, "fake", 3, "section",
"LValue", 0, "@/RValue///slashes2/// argv0 r1",
&c, NULL);
assert_se(r >= 0);
@@ -103,7 +109,7 @@ static void test_config_parse_exec(void) {
check_execcommand(c1, "/RValue/slashes2", "argv0", "r1", false);
/* ignore && honour_argv0 */
- r = config_parse_exec("fake", 4, "section",
+ r = config_parse_exec(NULL, "fake", 4, "section",
"LValue", 0, "-@/RValue///slashes3/// argv0a r1",
&c, NULL);
assert_se(r >= 0);
@@ -112,7 +118,7 @@ static void test_config_parse_exec(void) {
"/RValue/slashes3", "argv0a", "r1", true);
/* ignore && honour_argv0 */
- r = config_parse_exec("fake", 4, "section",
+ r = config_parse_exec(NULL, "fake", 4, "section",
"LValue", 0, "@-/RValue///slashes4/// argv0b r1",
&c, NULL);
assert_se(r >= 0);
@@ -121,21 +127,21 @@ static void test_config_parse_exec(void) {
"/RValue/slashes4", "argv0b", "r1", true);
/* ignore && ignore */
- r = config_parse_exec("fake", 4, "section",
+ r = config_parse_exec(NULL, "fake", 4, "section",
"LValue", 0, "--/RValue argv0 r1",
&c, NULL);
assert_se(r == 0);
assert_se(c1->command_next == NULL);
/* ignore && ignore */
- r = config_parse_exec("fake", 4, "section",
+ r = config_parse_exec(NULL, "fake", 4, "section",
"LValue", 0, "-@-/RValue argv0 r1",
&c, NULL);
assert_se(r == 0);
assert_se(c1->command_next == NULL);
/* semicolon */
- r = config_parse_exec("fake", 5, "section",
+ r = config_parse_exec(NULL, "fake", 5, "section",
"LValue", 0,
"-@/RValue argv0 r1 ; "
"/goo/goo boo",
@@ -150,7 +156,7 @@ static void test_config_parse_exec(void) {
"/goo/goo", "/goo/goo", "boo", false);
/* trailing semicolon */
- r = config_parse_exec("fake", 5, "section",
+ r = config_parse_exec(NULL, "fake", 5, "section",
"LValue", 0,
"-@/RValue argv0 r1 ; ",
&c, NULL);
@@ -162,7 +168,7 @@ static void test_config_parse_exec(void) {
assert_se(c1->command_next == NULL);
/* escaped semicolon */
- r = config_parse_exec("fake", 5, "section",
+ r = config_parse_exec(NULL, "fake", 5, "section",
"LValue", 0,
"/usr/bin/find \\;",
&c, NULL);
@@ -174,10 +180,188 @@ static void test_config_parse_exec(void) {
exec_command_free_list(c);
}
+#define env_file_1 \
+ "a=a\n" \
+ "b=b\\\n" \
+ "c\n" \
+ "d=d\\\n" \
+ "e\\\n" \
+ "f\n" \
+ "g=g\\ \n" \
+ "h=h\n" \
+ "i=i\\"
+
+#define env_file_2 \
+ "a=a\\\n"
+
+#define env_file_3 \
+ "#SPAMD_ARGS=\"-d --socketpath=/var/lib/bulwark/spamd \\\n" \
+ "#--nouser-config \\\n" \
+ "normal=line"
+
+#define env_file_4 \
+ "# Generated\n" \
+ "\n" \
+ "HWMON_MODULES=\"coretemp f71882fg\"\n" \
+ "\n" \
+ "# For compatibility reasons\n" \
+ "\n" \
+ "MODULE_0=coretemp\n" \
+ "MODULE_1=f71882fg"
+
+
+static void test_load_env_file_1(void) {
+ _cleanup_strv_free_ char **data = NULL;
+ int r;
+
+ char name[] = "/tmp/test-load-env-file.XXXXXX";
+ _cleanup_close_ int fd = mkstemp(name);
+ assert(fd >= 0);
+ assert_se(write(fd, env_file_1, sizeof(env_file_1)) == sizeof(env_file_1));
+
+ r = load_env_file(name, NULL, &data);
+ assert(r == 0);
+ assert(streq(data[0], "a=a"));
+ assert(streq(data[1], "b=bc"));
+ assert(streq(data[2], "d=def"));
+ assert(streq(data[3], "g=g "));
+ assert(streq(data[4], "h=h"));
+ assert(streq(data[5], "i=i"));
+ assert(data[6] == NULL);
+ unlink(name);
+}
+
+static void test_load_env_file_2(void) {
+ _cleanup_strv_free_ char **data = NULL;
+ int r;
+
+ char name[] = "/tmp/test-load-env-file.XXXXXX";
+ _cleanup_close_ int fd = mkstemp(name);
+ assert(fd >= 0);
+ assert_se(write(fd, env_file_2, sizeof(env_file_2)) == sizeof(env_file_2));
+
+ r = load_env_file(name, NULL, &data);
+ assert(r == 0);
+ assert(streq(data[0], "a=a"));
+ assert(data[1] == NULL);
+ unlink(name);
+}
+
+static void test_load_env_file_3(void) {
+ _cleanup_strv_free_ char **data = NULL;
+ int r;
+
+ char name[] = "/tmp/test-load-env-file.XXXXXX";
+ _cleanup_close_ int fd = mkstemp(name);
+ assert(fd >= 0);
+ assert_se(write(fd, env_file_3, sizeof(env_file_3)) == sizeof(env_file_3));
+
+ r = load_env_file(name, NULL, &data);
+ assert(r == 0);
+ assert(data == NULL);
+ unlink(name);
+}
+
+static void test_load_env_file_4(void) {
+ _cleanup_strv_free_ char **data = NULL;
+ int r;
+
+ char name[] = "/tmp/test-load-env-file.XXXXXX";
+ _cleanup_close_ int fd = mkstemp(name);
+ assert(fd >= 0);
+ assert_se(write(fd, env_file_4, sizeof(env_file_4)) == sizeof(env_file_4));
+
+ r = load_env_file(name, NULL, &data);
+ assert(r == 0);
+ assert(streq(data[0], "HWMON_MODULES=coretemp f71882fg"));
+ assert(streq(data[1], "MODULE_0=coretemp"));
+ assert(streq(data[2], "MODULE_1=f71882fg"));
+ assert(data[3] == NULL);
+ unlink(name);
+}
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wnonnull"
+
+static void test_install_printf(void) {
+ char name[] = "name.service",
+ path[] = "/run/systemd/system/name.service",
+ user[] = "xxxx-no-such-user";
+ InstallInfo i = {name, path, user};
+ InstallInfo i2 = {name, path, NULL};
+ char name3[] = "name@inst.service",
+ path3[] = "/run/systemd/system/name.service";
+ InstallInfo i3 = {name3, path3, user};
+ InstallInfo i4 = {name3, path3, NULL};
+
+ _cleanup_free_ char *mid, *bid, *host;
+
+ assert_se((mid = specifier_machine_id('m', NULL, NULL)));
+ assert_se((bid = specifier_boot_id('b', NULL, NULL)));
+ assert_se((host = gethostname_malloc()));
+
+#define expect(src, pattern, result) \
+ do { \
+ _cleanup_free_ char *t = install_full_printf(&src, pattern); \
+ _cleanup_free_ char \
+ *d1 = strdup(i.name), \
+ *d2 = strdup(i.path), \
+ *d3 = strdup(i.user); \
+ memzero(i.name, strlen(i.name)); \
+ memzero(i.path, strlen(i.path)); \
+ memzero(i.user, strlen(i.user)); \
+ assert(d1 && d2 && d3); \
+ if (result) { \
+ printf("%s\n", t); \
+ assert(streq(t, result)); \
+ } else assert(t == NULL); \
+ strcpy(i.name, d1); \
+ strcpy(i.path, d2); \
+ strcpy(i.user, d3); \
+ } while(false)
+
+ assert_se(setenv("USER", "root", 1) == 0);
+
+ expect(i, "%n", "name.service");
+ expect(i, "%N", "name");
+ expect(i, "%p", "name");
+ expect(i, "%i", "");
+ expect(i, "%u", "xxxx-no-such-user");
+ expect(i, "%U", NULL);
+ expect(i, "%m", mid);
+ expect(i, "%b", bid);
+ expect(i, "%H", host);
+
+ expect(i2, "%u", "root");
+ expect(i2, "%U", "0");
+
+ expect(i3, "%n", "name@inst.service");
+ expect(i3, "%N", "name@inst");
+ expect(i3, "%p", "name");
+ expect(i3, "%u", "xxxx-no-such-user");
+ expect(i3, "%U", NULL);
+ expect(i3, "%m", mid);
+ expect(i3, "%b", bid);
+ expect(i3, "%H", host);
+
+ expect(i4, "%u", "root");
+ expect(i4, "%U", "0");
+}
+#pragma GCC diagnostic pop
+
int main(int argc, char *argv[]) {
+ log_parse_environment();
+ log_open();
+
test_unit_file_get_set();
test_config_parse_exec();
+ test_load_env_file_1();
+ test_load_env_file_2();
+ test_load_env_file_3();
+ test_load_env_file_4();
+ test_install_printf();
return 0;
}
diff --git a/src/test/test-unit-name.c b/src/test/test-unit-name.c
index 50187e1129..86cb2b8da6 100644
--- a/src/test/test-unit-name.c
+++ b/src/test/test-unit-name.c
@@ -4,6 +4,7 @@
This file is part of systemd.
Copyright 2012 Lennart Poettering
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
@@ -22,156 +23,177 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/types.h>
+#include <pwd.h>
+#include "manager.h"
+#include "unit.h"
#include "unit-name.h"
+#include "unit-printf.h"
+#include "install.h"
+#include "specifier.h"
#include "util.h"
+#include "macro.h"
+
+static void test_replacements(void) {
+#define expect(pattern, repl, expected) \
+ { \
+ _cleanup_free_ char *t = \
+ unit_name_replace_instance(pattern, repl); \
+ puts(t); \
+ assert(streq(t, expected)); \
+ }
+
+ expect("foo@.service", "waldo", "foo@waldo.service");
+ expect("foo@xyz.service", "waldo", "foo@waldo.service");
+ expect("xyz", "waldo", "xyz");
+ expect("", "waldo", "");
+ expect("foo.service", "waldo", "foo.service");
+ expect(".service", "waldo", ".service");
+ expect("foo@", "waldo", "foo@waldo");
+ expect("@bar", "waldo", "@waldo");
+
+ puts("-------------------------------------------------");
+#undef expect
+#define expect(path, suffix, expected) \
+ { \
+ _cleanup_free_ char *k, *t = \
+ unit_name_from_path(path, suffix); \
+ puts(t); \
+ k = unit_name_to_path(t); \
+ puts(k); \
+ assert(streq(k, expected ? expected : path)); \
+ }
+
+ expect("/waldo", ".mount", NULL);
+ expect("/waldo/quuix", ".mount", NULL);
+ expect("/waldo/quuix/", ".mount", "/waldo/quuix");
+ expect("/", ".mount", NULL);
+ expect("///", ".mount", "/");
+
+ puts("-------------------------------------------------");
+#undef expect
+#define expect(pattern, path, suffix, expected) \
+ { \
+ _cleanup_free_ char *t = \
+ unit_name_from_path_instance(pattern, path, suffix); \
+ puts(t); \
+ assert(streq(t, expected)); \
+ }
+
+ expect("waldo", "/waldo", ".mount", "waldo@waldo.mount");
+ expect("waldo", "/waldo////quuix////", ".mount", "waldo@waldo-quuix.mount");
+ expect("waldo", "/", ".mount", "waldo@-.mount");
+ expect("wa--ldo", "/--", ".mount", "wa--ldo@\\x2d\\x2d.mount");
+
+ puts("-------------------------------------------------");
+#undef expect
+#define expect(pattern) \
+ { \
+ _cleanup_free_ char *k, *t; \
+ assert_se(t = unit_name_mangle(pattern)); \
+ assert_se(k = unit_name_mangle(t)); \
+ puts(t); \
+ assert_se(streq(t, k)); \
+ }
+
+ expect("/home");
+ expect("/dev/sda");
+ expect("üxknürz.service");
+ expect("foobar-meh...waldi.service");
+ expect("_____####----.....service");
+ expect("_____##@;;;,,,##----.....service");
+ expect("xxx@@@@/////\\\\\\\\\\yyy.service");
+
+#undef expect
+}
-int main(int argc, char* argv[]) {
- char *t, *k;
-
- t = unit_name_replace_instance("foo@.service", "waldo");
- puts(t);
- free(t);
-
- t = unit_name_replace_instance("foo@xyz.service", "waldo");
- puts(t);
- free(t);
-
- t = unit_name_replace_instance("xyz", "waldo");
- puts(t);
- free(t);
-
- t = unit_name_replace_instance("", "waldo");
- puts(t);
- free(t);
-
- t = unit_name_replace_instance("", "");
- puts(t);
- free(t);
-
- t = unit_name_replace_instance("foo.service", "waldo");
- puts(t);
- free(t);
-
- t = unit_name_replace_instance(".service", "waldo");
- puts(t);
- free(t);
-
- t = unit_name_replace_instance("foo@bar", "waldo");
- puts(t);
- free(t);
-
- t = unit_name_replace_instance("foo@", "waldo");
- puts(t);
- free(t);
-
- t = unit_name_replace_instance("@", "waldo");
- puts(t);
- free(t);
-
- t = unit_name_replace_instance("@bar", "waldo");
- puts(t);
- free(t);
-
- t = unit_name_from_path("/waldo", ".mount");
- puts(t);
- k = unit_name_to_path(t);
- puts(k);
- free(k);
- free(t);
-
- t = unit_name_from_path("/waldo/quuix", ".mount");
- puts(t);
- k = unit_name_to_path(t);
- puts(k);
- free(k);
- free(t);
-
- t = unit_name_from_path("/waldo/quuix/", ".mount");
- puts(t);
- k = unit_name_to_path(t);
- puts(k);
- free(k);
- free(t);
-
- t = unit_name_from_path("/", ".mount");
- puts(t);
- k = unit_name_to_path(t);
- puts(k);
- free(k);
- free(t);
-
- t = unit_name_from_path("///", ".mount");
- puts(t);
- k = unit_name_to_path(t);
- puts(k);
- free(k);
- free(t);
-
- t = unit_name_from_path_instance("waldo", "/waldo", ".mount");
- puts(t);
- free(t);
-
- t = unit_name_from_path_instance("waldo", "/waldo////quuix////", ".mount");
- puts(t);
- free(t);
-
- t = unit_name_from_path_instance("waldo", "/", ".mount");
- puts(t);
- free(t);
-
- t = unit_name_from_path_instance("wa--ldo", "/--", ".mount");
- puts(t);
- free(t);
-
- assert_se(t = unit_name_mangle("/home"));
- assert_se(k = unit_name_mangle(t));
- puts(t);
- assert_se(streq(t, k));
- free(t);
- free(k);
-
- assert_se(t = unit_name_mangle("/dev/sda"));
- assert_se(k = unit_name_mangle(t));
- puts(t);
- assert_se(streq(t, k));
- free(t);
- free(k);
-
- assert_se(t = unit_name_mangle("üxknürz.service"));
- assert_se(k = unit_name_mangle(t));
- puts(t);
- assert_se(streq(t, k));
- free(t);
- free(k);
-
- assert_se(t = unit_name_mangle("foobar-meh...waldi.service"));
- assert_se(k = unit_name_mangle(t));
- puts(t);
- assert_se(streq(t, k));
- free(t);
- free(k);
-
- assert_se(t = unit_name_mangle("_____####----.....service"));
- assert_se(k = unit_name_mangle(t));
- puts(t);
- assert_se(streq(t, k));
- free(t);
- free(k);
-
- assert_se(t = unit_name_mangle("_____##@;;;,,,##----.....service"));
- assert_se(k = unit_name_mangle(t));
- puts(t);
- assert_se(streq(t, k));
- free(t);
- free(k);
-
- assert_se(t = unit_name_mangle("xxx@@@@/////\\\\\\\\\\yyy.service"));
- assert_se(k = unit_name_mangle(t));
- puts(t);
- assert_se(streq(t, k));
- free(t);
- free(k);
+static int test_unit_printf(void) {
+ Manager *m;
+ Unit *u, *u2;
+ int r;
+
+ _cleanup_free_ char *mid, *bid, *host, *root_uid;
+ struct passwd *root;
+
+ assert_se((mid = specifier_machine_id('m', NULL, NULL)));
+ assert_se((bid = specifier_boot_id('b', NULL, NULL)));
+ assert_se((host = gethostname_malloc()));
+
+ assert_se((root = getpwnam("root")));
+ assert_se(asprintf(&root_uid, "%d", (int) root->pw_uid) > 0);
+
+ r = manager_new(SYSTEMD_USER, &m);
+ if (r == -EPERM) {
+ puts("manager_new: Permission denied. Skipping test.");
+ return EXIT_TEST_SKIP;
+ }
+ assert(r == 0);
+
+#define expect(unit, pattern, expected) \
+ { \
+ char *e; \
+ _cleanup_free_ char *t = \
+ unit_full_printf(unit, pattern); \
+ printf("result: %s\nexpect: %s\n", t, expected); \
+ if ((e = endswith(expected, "*"))) \
+ assert(strncmp(t, e, e-expected)); \
+ else \
+ assert(streq(t, expected)); \
+ }
+
+ assert_se(setenv("USER", "root", 1) == 0);
+ assert_se(setenv("HOME", "/root", 1) == 0);
+
+ assert_se(u = unit_new(m, sizeof(Service)));
+ assert_se(unit_add_name(u, "blah.service") == 0);
+ assert_se(unit_add_name(u, "blah.service") == 0);
+
+ /* general tests */
+ expect(u, "%%", "%");
+ expect(u, "%%s", "%s");
+ expect(u, "%", ""); // REALLY?
+
+ /* normal unit */
+ expect(u, "%n", "blah.service");
+ expect(u, "%N", "blah");
+ expect(u, "%p", "blah");
+ expect(u, "%P", "blah");
+ expect(u, "%i", "");
+ expect(u, "%I", "");
+ expect(u, "%u", root->pw_name);
+ expect(u, "%U", root_uid);
+ expect(u, "%h", root->pw_dir);
+ expect(u, "%s", "/bin/sh");
+ expect(u, "%m", mid);
+ expect(u, "%b", bid);
+ expect(u, "%H", host);
+ expect(u, "%t", "/run/user/*");
+
+ /* templated */
+ assert_se(u2 = unit_new(m, sizeof(Service)));
+ assert_se(unit_add_name(u2, "blah@foo-foo.service") == 0);
+ assert_se(unit_add_name(u2, "blah@foo-foo.service") == 0);
+
+ expect(u2, "%n", "blah@foo-foo.service");
+ expect(u2, "%N", "blah@foo-foo");
+ expect(u2, "%p", "blah");
+ expect(u2, "%P", "blah");
+ expect(u2, "%i", "foo-foo");
+ expect(u2, "%I", "foo/foo");
+ expect(u2, "%u", root->pw_name);
+ expect(u2, "%U", root_uid);
+ expect(u2, "%h", root->pw_dir);
+ expect(u2, "%s", "/bin/sh");
+ expect(u2, "%m", mid);
+ expect(u2, "%b", bid);
+ expect(u2, "%H", host);
+ expect(u2, "%t", "/run/user/*");
return 0;
}
+
+int main(int argc, char* argv[]) {
+ test_replacements();
+ return test_unit_printf();
+}
diff --git a/src/test/test-util.c b/src/test/test-util.c
new file mode 100644
index 0000000000..4c3a8a6b88
--- /dev/null
+++ b/src/test/test-util.c
@@ -0,0 +1,472 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2010 Lennart Poettering
+ Copyright 2013 Thomas H.P. Andersen
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <locale.h>
+#include <errno.h>
+
+#include "util.h"
+
+static void test_streq_ptr(void) {
+ assert_se(streq_ptr(NULL, NULL));
+ assert_se(!streq_ptr("abc", "cdef"));
+}
+
+static void test_first_word(void) {
+ assert_se(first_word("Hello", ""));
+ assert_se(first_word("Hello", "Hello"));
+ assert_se(first_word("Hello world", "Hello"));
+ assert_se(first_word("Hello\tworld", "Hello"));
+ assert_se(first_word("Hello\nworld", "Hello"));
+ assert_se(first_word("Hello\rworld", "Hello"));
+ assert_se(first_word("Hello ", "Hello"));
+
+ assert_se(!first_word("Hello", "Hellooo"));
+ assert_se(!first_word("Hello", "xxxxx"));
+ assert_se(!first_word("Hellooo", "Hello"));
+}
+
+static void test_close_many(void) {
+ int fds[3];
+ char name0[] = "/tmp/test-close-many.XXXXXX";
+ char name1[] = "/tmp/test-close-many.XXXXXX";
+ char name2[] = "/tmp/test-close-many.XXXXXX";
+
+ fds[0] = mkstemp(name0);
+ fds[1] = mkstemp(name1);
+ fds[2] = mkstemp(name2);
+
+ close_many(fds, 2);
+
+ assert_se(fcntl(fds[0], F_GETFD) == -1);
+ assert_se(fcntl(fds[1], F_GETFD) == -1);
+ assert_se(fcntl(fds[2], F_GETFD) >= 0);
+
+ close_nointr_nofail(fds[2]);
+
+ unlink(name0);
+ unlink(name1);
+ unlink(name2);
+}
+
+static void test_parse_boolean(void) {
+ assert_se(parse_boolean("1") == 1);
+ assert_se(parse_boolean("y") == 1);
+ assert_se(parse_boolean("Y") == 1);
+ assert_se(parse_boolean("yes") == 1);
+ assert_se(parse_boolean("YES") == 1);
+ assert_se(parse_boolean("true") == 1);
+ assert_se(parse_boolean("TRUE") == 1);
+ assert_se(parse_boolean("on") == 1);
+ assert_se(parse_boolean("ON") == 1);
+
+ assert_se(parse_boolean("0") == 0);
+ assert_se(parse_boolean("n") == 0);
+ assert_se(parse_boolean("N") == 0);
+ assert_se(parse_boolean("no") == 0);
+ assert_se(parse_boolean("NO") == 0);
+ assert_se(parse_boolean("false") == 0);
+ assert_se(parse_boolean("FALSE") == 0);
+ assert_se(parse_boolean("off") == 0);
+ assert_se(parse_boolean("OFF") == 0);
+
+ assert_se(parse_boolean("garbage") < 0);
+ assert_se(parse_boolean("") < 0);
+}
+
+static void test_parse_pid(void) {
+ int r;
+ pid_t pid;
+
+ r = parse_pid("100", &pid);
+ assert_se(r == 0);
+ assert_se(pid == 100);
+
+ r = parse_pid("0x7FFFFFFF", &pid);
+ assert_se(r == 0);
+ assert_se(pid == 2147483647);
+
+ pid = 65; /* pid is left unchanged on ERANGE. Set to known arbitrary value. */
+ r = parse_pid("0", &pid);
+ assert_se(r == -ERANGE);
+ assert_se(pid == 65);
+
+ pid = 65; /* pid is left unchanged on ERANGE. Set to known arbitrary value. */
+ r = parse_pid("-100", &pid);
+ assert_se(r == -ERANGE);
+ assert_se(pid == 65);
+
+ pid = 65; /* pid is left unchanged on ERANGE. Set to known arbitrary value. */
+ r = parse_pid("0xFFFFFFFFFFFFFFFFF", &pid);
+ assert(r == -ERANGE);
+ assert_se(pid == 65);
+}
+
+static void test_parse_uid(void) {
+ int r;
+ uid_t uid;
+
+ r = parse_uid("100", &uid);
+ assert_se(r == 0);
+ assert_se(uid == 100);
+}
+
+static void test_safe_atolli(void) {
+ int r;
+ long long l;
+
+ r = safe_atolli("12345", &l);
+ assert_se(r == 0);
+ assert_se(l == 12345);
+
+ r = safe_atolli("junk", &l);
+ assert_se(r == -EINVAL);
+}
+
+static void test_safe_atod(void) {
+ int r;
+ double d;
+ char *e;
+
+ r = safe_atod("junk", &d);
+ assert_se(r == -EINVAL);
+
+ r = safe_atod("0.2244", &d);
+ assert_se(r == 0);
+ assert_se(abs(d - 0.2244) < 0.000001);
+
+ r = safe_atod("0,5", &d);
+ assert_se(r == -EINVAL);
+
+ errno = 0;
+ strtod("0,5", &e);
+ assert_se(*e == ',');
+
+ /* Check if this really is locale independent */
+ setlocale(LC_NUMERIC, "de_DE.utf8");
+
+ r = safe_atod("0.2244", &d);
+ assert_se(r == 0);
+ assert_se(abs(d - 0.2244) < 0.000001);
+
+ r = safe_atod("0,5", &d);
+ assert_se(r == -EINVAL);
+
+ errno = 0;
+ assert_se(abs(strtod("0,5", &e) - 0.5) < 0.00001);
+
+ /* And check again, reset */
+ setlocale(LC_NUMERIC, "C");
+
+ r = safe_atod("0.2244", &d);
+ assert_se(r == 0);
+ assert_se(abs(d - 0.2244) < 0.000001);
+
+ r = safe_atod("0,5", &d);
+ assert_se(r == -EINVAL);
+
+ errno = 0;
+ strtod("0,5", &e);
+ assert_se(*e == ',');
+}
+
+static void test_strappend(void) {
+ _cleanup_free_ char *t1, *t2, *t3, *t4;
+
+ t1 = strappend(NULL, NULL);
+ assert_se(streq(t1, ""));
+
+ t2 = strappend(NULL, "suf");
+ assert_se(streq(t2, "suf"));
+
+ t3 = strappend("pre", NULL);
+ assert_se(streq(t3, "pre"));
+
+ t4 = strappend("pre", "suf");
+ assert_se(streq(t4, "presuf"));
+}
+
+static void test_strstrip(void) {
+ char *r;
+ char input[] = " hello, waldo. ";
+
+ r = strstrip(input);
+ assert_se(streq(r, "hello, waldo."));
+
+}
+
+static void test_delete_chars(void) {
+ char *r;
+ char input[] = " hello, waldo. abc";
+
+ r = delete_chars(input, WHITESPACE);
+ assert_se(streq(r, "hello,waldo.abc"));
+}
+
+static void test_in_charset(void) {
+ assert_se(in_charset("dddaaabbbcccc", "abcd"));
+ assert_se(!in_charset("dddaaabbbcccc", "abc f"));
+}
+
+static void test_hexchar(void) {
+ assert_se(hexchar(0xa) == 'a');
+ assert_se(hexchar(0x0) == '0');
+}
+
+static void test_unhexchar(void) {
+ assert_se(unhexchar('a') == 0xA);
+ assert_se(unhexchar('A') == 0xA);
+ assert_se(unhexchar('0') == 0x0);
+}
+
+static void test_octchar(void) {
+ assert_se(octchar(00) == '0');
+ assert_se(octchar(07) == '7');
+}
+
+static void test_unoctchar(void) {
+ assert_se(unoctchar('0') == 00);
+ assert_se(unoctchar('7') == 07);
+}
+
+static void test_decchar(void) {
+ assert_se(decchar(0) == '0');
+ assert_se(decchar(9) == '9');
+}
+
+static void test_undecchar(void) {
+ assert_se(undecchar('0') == 0);
+ assert_se(undecchar('9') == 9);
+}
+
+static void test_foreach_word(void) {
+ char *w, *state;
+ size_t l;
+ int i = 0;
+ const char test[] = "test abc d\te f ";
+ const char * const expected[] = {
+ "test",
+ "abc",
+ "d",
+ "e",
+ "f",
+ "",
+ NULL
+ };
+
+ FOREACH_WORD(w, l, test, state) {
+ assert_se(strneq(expected[i++], w, l));
+ }
+}
+
+static void test_foreach_word_quoted(void) {
+ char *w, *state;
+ size_t l;
+ int i = 0;
+ const char test[] = "test a b c 'd' e '' '' hhh '' '' \"a b c\"";
+ const char * const expected[] = {
+ "test",
+ "a",
+ "b",
+ "c",
+ "d",
+ "e",
+ "",
+ "",
+ "hhh",
+ "",
+ "",
+ "a b c",
+ NULL
+ };
+
+ printf("<%s>\n", test);
+ FOREACH_WORD_QUOTED(w, l, test, state) {
+ _cleanup_free_ char *t = NULL;
+
+ assert_se(t = strndup(w, l));
+ assert_se(strneq(expected[i++], w, l));
+ printf("<%s>\n", t);
+ }
+}
+
+static void test_default_term_for_tty(void) {
+ puts(default_term_for_tty("/dev/tty23"));
+ puts(default_term_for_tty("/dev/ttyS23"));
+ puts(default_term_for_tty("/dev/tty0"));
+ puts(default_term_for_tty("/dev/pty0"));
+ puts(default_term_for_tty("/dev/pts/0"));
+ puts(default_term_for_tty("/dev/console"));
+ puts(default_term_for_tty("tty23"));
+ puts(default_term_for_tty("ttyS23"));
+ puts(default_term_for_tty("tty0"));
+ puts(default_term_for_tty("pty0"));
+ puts(default_term_for_tty("pts/0"));
+ puts(default_term_for_tty("console"));
+}
+
+static void test_memdup_multiply(void) {
+ int org[] = {1, 2, 3};
+ int *dup;
+
+ dup = (int*)memdup_multiply(org, sizeof(int), 3);
+
+ assert_se(dup);
+ assert_se(dup[0] == 1);
+ assert_se(dup[1] == 2);
+ assert_se(dup[2] == 3);
+ free(dup);
+}
+
+static void test_bus_path_escape_one(const char *a, const char *b) {
+ _cleanup_free_ char *t = NULL, *x = NULL, *y = NULL;
+
+ assert_se(t = bus_path_escape(a));
+ assert_se(streq(t, b));
+
+ assert_se(x = bus_path_unescape(t));
+ assert_se(streq(a, x));
+
+ assert_se(y = bus_path_unescape(b));
+ assert_se(streq(a, y));
+}
+
+static void test_bus_path_escape(void) {
+ test_bus_path_escape_one("foo123bar", "foo123bar");
+ test_bus_path_escape_one("foo.bar", "foo_2ebar");
+ test_bus_path_escape_one("foo_2ebar", "foo_5f2ebar");
+ test_bus_path_escape_one("", "_");
+ test_bus_path_escape_one("_", "_5f");
+ test_bus_path_escape_one("1", "_31");
+ test_bus_path_escape_one(":1", "_3a1");
+}
+
+static void test_hostname_is_valid(void) {
+ assert(hostname_is_valid("foobar"));
+ assert(hostname_is_valid("foobar.com"));
+ assert(!hostname_is_valid("fööbar"));
+ assert(!hostname_is_valid(""));
+ assert(!hostname_is_valid("."));
+ assert(!hostname_is_valid(".."));
+ assert(!hostname_is_valid("foobar."));
+ assert(!hostname_is_valid(".foobar"));
+ assert(!hostname_is_valid("foo..bar"));
+ assert(!hostname_is_valid("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"));
+}
+
+static void test_u64log2(void) {
+ assert(u64log2(0) == 0);
+ assert(u64log2(8) == 3);
+ assert(u64log2(9) == 3);
+ assert(u64log2(15) == 3);
+ assert(u64log2(16) == 4);
+ assert(u64log2(1024*1024) == 20);
+ assert(u64log2(1024*1024+5) == 20);
+}
+
+static void test_get_process_comm(void) {
+ _cleanup_free_ char *a = NULL, *c = NULL, *d = NULL, *f = NULL, *i = NULL;
+ unsigned long long b;
+ pid_t e;
+ uid_t u;
+ gid_t g;
+ dev_t h;
+ int r;
+
+ assert_se(get_process_comm(1, &a) >= 0);
+ log_info("pid1 comm: '%s'", a);
+
+ assert_se(get_starttime_of_pid(1, &b) >= 0);
+ log_info("pid1 starttime: '%llu'", b);
+
+ assert_se(get_process_cmdline(1, 0, true, &c) >= 0);
+ log_info("pid1 cmdline: '%s'", c);
+
+ assert_se(get_process_cmdline(1, 8, false, &d) >= 0);
+ log_info("pid1 cmdline truncated: '%s'", d);
+
+ assert_se(get_parent_of_pid(1, &e) >= 0);
+ log_info("pid1 ppid: '%llu'", (unsigned long long) e);
+ assert_se(e == 0);
+
+ assert_se(is_kernel_thread(1) == 0);
+
+ r = get_process_exe(1, &f);
+ assert_se(r >= 0 || r == -EACCES);
+ log_info("pid1 exe: '%s'", strna(f));
+
+ assert_se(get_process_uid(1, &u) == 0);
+ log_info("pid1 uid: '%llu'", (unsigned long long) u);
+ assert_se(u == 0);
+
+ assert_se(get_process_gid(1, &g) == 0);
+ log_info("pid1 gid: '%llu'", (unsigned long long) g);
+ assert_se(g == 0);
+
+ assert(get_ctty_devnr(1, &h) == -ENOENT);
+
+ getenv_for_pid(1, "PATH", &i);
+ log_info("pid1 $PATH: '%s'", strna(i));
+}
+
+static void test_protect_errno(void) {
+ errno = 12;
+ {
+ PROTECT_ERRNO;
+ errno = 11;
+ }
+ assert(errno == 12);
+}
+
+int main(int argc, char *argv[]) {
+ test_streq_ptr();
+ test_first_word();
+ test_close_many();
+ test_parse_boolean();
+ test_parse_pid();
+ test_parse_uid();
+ test_safe_atolli();
+ test_safe_atod();
+ test_strappend();
+ test_strstrip();
+ test_delete_chars();
+ test_in_charset();
+ test_hexchar();
+ test_unhexchar();
+ test_octchar();
+ test_unoctchar();
+ test_decchar();
+ test_undecchar();
+ test_foreach_word();
+ test_foreach_word_quoted();
+ test_default_term_for_tty();
+ test_memdup_multiply();
+ test_bus_path_escape();
+ test_hostname_is_valid();
+ test_u64log2();
+ test_get_process_comm();
+ test_protect_errno();
+
+ return 0;
+}
diff --git a/src/timedate/timedatectl.c b/src/timedate/timedatectl.c
index 281c0524da..8d4e560b93 100644
--- a/src/timedate/timedatectl.c
+++ b/src/timedate/timedatectl.c
@@ -51,7 +51,7 @@ static void pager_open_if_enabled(void) {
if (arg_no_pager)
return;
- pager_open();
+ pager_open(false);
}
static void polkit_agent_open_if_enabled(void) {
@@ -68,12 +68,12 @@ typedef struct StatusInfo {
const char *timezone;
bool local_rtc;
bool ntp;
+ bool can_ntp;
} StatusInfo;
static bool ntp_synced(void) {
- struct timex txc;
+ struct timex txc = {};
- zero(txc);
if (adjtimex(&txc) < 0)
return false;
@@ -153,7 +153,7 @@ static void print_status_info(StatusInfo *i) {
" RTC in local TZ: %s\n",
strna(i->timezone),
a,
- yes_no(i->ntp),
+ i->can_ntp ? yes_no(i->ntp) : "n/a",
yes_no(ntp_synced()),
yes_no(i->local_rtc));
@@ -228,6 +228,8 @@ static int status_property(const char *name, DBusMessageIter *iter, StatusInfo *
i->local_rtc = b;
else if (streq(name, "NTP"))
i->ntp = b;
+ else if (streq(name, "CanNTP"))
+ i->can_ntp = b;
}
}
@@ -239,7 +241,7 @@ static int show_status(DBusConnection *bus, char **args, unsigned n) {
const char *interface = "";
int r;
DBusMessageIter iter, sub, sub2, sub3;
- StatusInfo info;
+ StatusInfo info = {};
assert(args);
@@ -263,7 +265,6 @@ static int show_status(DBusConnection *bus, char **args, unsigned n) {
return -EIO;
}
- zero(info);
dbus_message_iter_recurse(&iter, &sub);
while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
@@ -425,7 +426,6 @@ static int list_timezones(DBusConnection *bus, char **args, unsigned n) {
_cleanup_fclose_ FILE *f = NULL;
_cleanup_strv_free_ char **zones = NULL;
size_t n_zones = 0;
- char **i;
assert(args);
assert(n == 1);
@@ -487,8 +487,7 @@ static int list_timezones(DBusConnection *bus, char **args, unsigned n) {
pager_open_if_enabled();
strv_sort(zones);
- STRV_FOREACH(i, zones)
- puts(*i);
+ strv_print(zones);
return 0;
}
diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c
index fdb4335464..cdb6e5b16c 100644
--- a/src/timedate/timedated.c
+++ b/src/timedate/timedated.c
@@ -35,6 +35,8 @@
#include "hwclock.h"
#include "conf-files.h"
#include "path-util.h"
+#include "fileio-label.h"
+#include "label.h"
#define NULL_ADJTIME_UTC "0.0 0 0\n0\nUTC\n"
#define NULL_ADJTIME_LOCAL "0.0 0 0\n0\nLOCAL\n"
@@ -43,6 +45,7 @@
" <interface name=\"org.freedesktop.timedate1\">\n" \
" <property name=\"Timezone\" type=\"s\" access=\"read\"/>\n" \
" <property name=\"LocalRTC\" type=\"b\" access=\"read\"/>\n" \
+ " <property name=\"CanNTP\" type=\"b\" access=\"read\"/>\n" \
" <property name=\"NTP\" type=\"b\" access=\"read\"/>\n" \
" <method name=\"SetTime\">\n" \
" <arg name=\"usec_utc\" type=\"x\" direction=\"in\"/>\n" \
@@ -82,10 +85,14 @@ const char timedate_interface[] _introspect_("timedate1") = INTERFACE;
typedef struct TZ {
char *zone;
bool local_rtc;
+ int can_ntp;
int use_ntp;
} TZ;
static TZ tz = {
+ .zone = NULL,
+ .local_rtc = false,
+ .can_ntp = -1,
.use_ntp = -1,
};
@@ -176,14 +183,6 @@ static int read_data(void) {
}
}
-#ifdef HAVE_DEBIAN
- r = read_one_line_file("/etc/timezone", &tz.zone);
- if (r < 0) {
- if (r != -ENOENT)
- log_warning("Failed to read /etc/timezone: %s", strerror(-r));
- }
-#endif
-
have_timezone:
if (isempty(tz.zone)) {
free(tz.zone);
@@ -219,7 +218,7 @@ static int write_data_timezone(void) {
static int write_data_local_rtc(void) {
int r;
- char *s, *w;
+ _cleanup_free_ char *s = NULL, *w = NULL;
r = read_full_file("/etc/adjtime", &s, NULL);
if (r < 0) {
@@ -237,58 +236,45 @@ static int write_data_local_rtc(void) {
size_t a, b;
p = strchr(s, '\n');
- if (!p) {
- free(s);
+ if (!p)
return -EIO;
- }
p = strchr(p+1, '\n');
- if (!p) {
- free(s);
+ if (!p)
return -EIO;
- }
p++;
e = strchr(p, '\n');
- if (!e) {
- free(s);
+ if (!e)
return -EIO;
- }
a = p - s;
b = strlen(e);
w = new(char, a + (tz.local_rtc ? 5 : 3) + b + 1);
- if (!w) {
- free(s);
+ if (!w)
return -ENOMEM;
- }
*(char*) mempcpy(stpcpy(mempcpy(w, s, a), tz.local_rtc ? "LOCAL" : "UTC"), e, b) = 0;
if (streq(w, NULL_ADJTIME_UTC)) {
- free(w);
-
- if (unlink("/etc/adjtime") < 0) {
+ if (unlink("/etc/adjtime") < 0)
if (errno != ENOENT)
return -errno;
- }
return 0;
}
}
-
- r = write_one_line_file_atomic("/etc/adjtime", w);
- free(w);
-
- return r;
+ label_init("/etc");
+ return write_string_file_atomic_label("/etc/adjtime", w);
}
static char** get_ntp_services(void) {
- char **r = NULL, **files, **i;
+ _cleanup_strv_free_ char **r = NULL, **files;
+ char **i;
int k;
- k = conf_files_list(&files, ".list",
+ k = conf_files_list(&files, ".list", NULL,
"/etc/systemd/ntp-units.d",
"/run/systemd/ntp-units.d",
"/usr/local/lib/systemd/ntp-units.d",
@@ -298,14 +284,14 @@ static char** get_ntp_services(void) {
return NULL;
STRV_FOREACH(i, files) {
- FILE *f;
+ _cleanup_fclose_ FILE *f;
f = fopen(*i, "re");
if (!f)
continue;
for (;;) {
- char line[PATH_MAX], *l, **q;
+ char line[PATH_MAX], *l;
if (!fgets(line, sizeof(line), f)) {
@@ -319,22 +305,17 @@ static char** get_ntp_services(void) {
if (l[0] == 0 || l[0] == '#')
continue;
- q = strv_append(r, l);
- if (!q) {
+ if (strv_extend(&r, l) < 0) {
log_oom();
- break;
+ return NULL;
}
-
- strv_free(r);
- r = q;
}
-
- fclose(f);
}
- strv_free(files);
+ i = r;
+ r = NULL; /* avoid cleanup */
- return strv_uniq(r);
+ return strv_uniq(i);
}
static int read_ntp(DBusConnection *bus) {
@@ -370,8 +351,6 @@ static int read_ntp(DBusConnection *bus) {
goto finish;
}
- if (reply)
- dbus_message_unref(reply);
reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error);
if (!reply) {
if (streq(error.name, "org.freedesktop.DBus.Error.FileNotFound")) {
@@ -393,6 +372,7 @@ static int read_ntp(DBusConnection *bus) {
goto finish;
}
+ tz.can_ntp = 1;
tz.use_ntp =
streq(s, "enabled") ||
streq(s, "enabled-runtime");
@@ -401,6 +381,7 @@ static int read_ntp(DBusConnection *bus) {
}
/* NTP is not installed. */
+ tz.can_ntp = 0;
tz.use_ntp = 0;
r = 0;
@@ -451,8 +432,6 @@ static int start_ntp(DBusConnection *bus, DBusError *error) {
goto finish;
}
- if (reply)
- dbus_message_unref(reply);
reply = dbus_connection_send_with_reply_and_block(bus, m, -1, error);
if (!reply) {
if (streq(error->name, "org.freedesktop.DBus.Error.FileNotFound") ||
@@ -541,8 +520,6 @@ static int enable_ntp(DBusConnection *bus, DBusError *error) {
}
}
- if (reply)
- dbus_message_unref(reply);
reply = dbus_connection_send_with_reply_and_block(bus, m, -1, error);
if (!reply) {
if (streq(error->name, "org.freedesktop.DBus.Error.FileNotFound")) {
@@ -594,6 +571,20 @@ finish:
return r;
}
+static int property_append_can_ntp(DBusMessageIter *i, const char *property, void *data) {
+ dbus_bool_t db;
+
+ assert(i);
+ assert(property);
+
+ db = tz.can_ntp > 0;
+
+ if (!dbus_message_iter_append_basic(i, DBUS_TYPE_BOOLEAN, &db))
+ return -ENOMEM;
+
+ return 0;
+}
+
static int property_append_ntp(DBusMessageIter *i, const char *property, void *data) {
dbus_bool_t db;
@@ -611,6 +602,7 @@ static int property_append_ntp(DBusMessageIter *i, const char *property, void *d
static const BusProperty bus_timedate_properties[] = {
{ "Timezone", bus_property_append_string, "s", offsetof(TZ, zone), true },
{ "LocalRTC", bus_property_append_bool, "b", offsetof(TZ, local_rtc) },
+ { "CanNTP", property_append_can_ntp, "b", offsetof(TZ, can_ntp) },
{ "NTP", property_append_ntp, "b", offsetof(TZ, use_ntp) },
{ NULL, }
};
@@ -802,15 +794,24 @@ static DBusHandlerResult timedate_message_handler(
struct timespec ts;
struct tm* tm;
+ if (relative) {
+ usec_t n, x;
+
+ n = now(CLOCK_REALTIME);
+ x = n + utc;
+
+ if ((utc > 0 && x < n) ||
+ (utc < 0 && x > n))
+ return bus_send_error_reply(connection, message, NULL, -EOVERFLOW);
+
+ timespec_store(&ts, x);
+ } else
+ timespec_store(&ts, (usec_t) utc);
+
r = verify_polkit(connection, message, "org.freedesktop.timedate1.set-time", interactive, NULL, &error);
if (r < 0)
return bus_send_error_reply(connection, message, &error, r);
- if (relative)
- timespec_store(&ts, now(CLOCK_REALTIME) + utc);
- else
- timespec_store(&ts, utc);
-
/* Set system clock */
if (clock_settime(CLOCK_REALTIME, &ts) < 0) {
log_error("Failed to set local time: %m");
@@ -875,7 +876,7 @@ static DBusHandlerResult timedate_message_handler(
if (!(reply = dbus_message_new_method_return(message)))
goto oom;
- if (!dbus_connection_send(connection, reply, NULL))
+ if (!bus_maybe_send_reply(connection, message, reply))
goto oom;
dbus_message_unref(reply);
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
index d8fb07e59a..f4885ec942 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -43,6 +43,7 @@
#include "log.h"
#include "util.h"
#include "macro.h"
+#include "missing.h"
#include "mkdir.h"
#include "path-util.h"
#include "strv.h"
@@ -70,6 +71,7 @@ typedef enum ItemType {
/* These ones take globs */
IGNORE_PATH = 'x',
+ IGNORE_DIRECTORY_PATH = 'X',
REMOVE_PATH = 'r',
RECURSIVE_REMOVE_PATH = 'R',
RELABEL_PATH = 'z',
@@ -105,21 +107,20 @@ static bool arg_remove = false;
static const char *arg_prefix = NULL;
-static const char * const conf_file_dirs[] = {
- "/etc/tmpfiles.d",
- "/run/tmpfiles.d",
- "/usr/local/lib/tmpfiles.d",
- "/usr/lib/tmpfiles.d",
+static const char conf_file_dirs[] =
+ "/etc/tmpfiles.d\0"
+ "/run/tmpfiles.d\0"
+ "/usr/local/lib/tmpfiles.d\0"
+ "/usr/lib/tmpfiles.d\0"
#ifdef HAVE_SPLIT_USR
- "/lib/tmpfiles.d",
+ "/lib/tmpfiles.d\0"
#endif
- NULL
-};
+ ;
#define MAX_DEPTH 256
static bool needs_glob(ItemType t) {
- return t == IGNORE_PATH || t == REMOVE_PATH || t == RECURSIVE_REMOVE_PATH || t == RELABEL_PATH || t == RECURSIVE_RELABEL_PATH;
+ return t == IGNORE_PATH || t == IGNORE_DIRECTORY_PATH || t == REMOVE_PATH || t == RECURSIVE_REMOVE_PATH || t == RELABEL_PATH || t == RECURSIVE_RELABEL_PATH;
}
static struct Item* find_glob(Hashmap *h, const char *match) {
@@ -134,7 +135,7 @@ static struct Item* find_glob(Hashmap *h, const char *match) {
}
static void load_unix_sockets(void) {
- FILE *f = NULL;
+ _cleanup_fclose_ FILE *f = NULL;
char line[LINE_MAX];
if (unix_sockets)
@@ -185,24 +186,16 @@ static void load_unix_sockets(void) {
path_kill_slashes(s);
- k = set_put(unix_sockets, s);
- if (k < 0) {
- free(s);
-
- if (k != -EEXIST)
- goto fail;
- }
+ k = set_consume(unix_sockets, s);
+ if (k < 0 && k != -EEXIST)
+ goto fail;
}
- fclose(f);
return;
fail:
set_free_free(unix_sockets);
unix_sockets = NULL;
-
- if (f)
- fclose(f);
}
static bool unix_socket_alive(const char *fn) {
@@ -217,7 +210,44 @@ static bool unix_socket_alive(const char *fn) {
return true;
}
+static int dir_is_mount_point(DIR *d, const char *subdir) {
+ struct file_handle *h;
+ int mount_id_parent, mount_id;
+ int r_p, r;
+
+ h = alloca(MAX_HANDLE_SZ);
+
+ h->handle_bytes = MAX_HANDLE_SZ;
+ r_p = name_to_handle_at(dirfd(d), ".", h, &mount_id_parent, 0);
+ if (r_p < 0)
+ r_p = -errno;
+
+ h->handle_bytes = MAX_HANDLE_SZ;
+ r = name_to_handle_at(dirfd(d), subdir, h, &mount_id, 0);
+ if (r < 0)
+ r = -errno;
+
+ /* got no handle; make no assumptions, return error */
+ if (r_p < 0 && r < 0)
+ return r_p;
+
+ /* got both handles; if they differ, it is a mount point */
+ if (r_p >= 0 && r >= 0)
+ return mount_id_parent != mount_id;
+
+ /* got only one handle; assume different mount points if one
+ * of both queries was not supported by the filesystem */
+ if (r_p == -ENOSYS || r_p == -ENOTSUP || r == -ENOSYS || r == -ENOTSUP)
+ return true;
+
+ /* return error */
+ if (r_p < 0)
+ return r_p;
+ return r;
+}
+
static int dir_cleanup(
+ Item *i,
const char *p,
DIR *d,
const struct stat *ds,
@@ -230,12 +260,12 @@ static int dir_cleanup(
struct dirent *dent;
struct timespec times[2];
bool deleted = false;
- char *sub_path = NULL;
int r = 0;
while ((dent = readdir(d))) {
struct stat s;
usec_t age;
+ _cleanup_free_ char *sub_path = NULL;
if (streq(dent->d_name, ".") ||
streq(dent->d_name, ".."))
@@ -255,13 +285,16 @@ static int dir_cleanup(
if (s.st_dev != rootdev)
continue;
+ /* Try to detect bind mounts of the same filesystem instance; they
+ * do not differ in device major/minors. This type of query is not
+ * supported on all kernels or filesystem types though. */
+ if (S_ISDIR(s.st_mode) && dir_is_mount_point(d, dent->d_name) > 0)
+ continue;
+
/* Do not delete read-only files owned by root */
if (s.st_uid == 0 && !(s.st_mode & S_IWUSR))
continue;
- free(sub_path);
- sub_path = NULL;
-
if (asprintf(&sub_path, "%s/%s", p, dent->d_name) < 0) {
r = log_oom();
goto finish;
@@ -284,7 +317,7 @@ static int dir_cleanup(
if (maxdepth <= 0)
log_warning("Reached max depth on %s.", sub_path);
else {
- DIR *sub_dir;
+ _cleanup_closedir_ DIR *sub_dir;
int q;
sub_dir = xopendirat(dirfd(d), dent->d_name, O_NOFOLLOW|O_NOATIME);
@@ -297,8 +330,7 @@ static int dir_cleanup(
continue;
}
- q = dir_cleanup(sub_path, sub_dir, &s, cutoff, rootdev, false, maxdepth-1, false);
- closedir(sub_dir);
+ q = dir_cleanup(i, sub_path, sub_dir, &s, cutoff, rootdev, false, maxdepth-1, false);
if (q < 0)
r = q;
@@ -320,12 +352,14 @@ static int dir_cleanup(
if (age >= cutoff)
continue;
- log_debug("rmdir '%s'\n", sub_path);
+ if (i->type != IGNORE_DIRECTORY_PATH || !streq(dent->d_name, p)) {
+ log_debug("rmdir '%s'\n", sub_path);
- if (unlinkat(dirfd(d), dent->d_name, AT_REMOVEDIR) < 0) {
- if (errno != ENOENT && errno != ENOTEMPTY) {
- log_error("rmdir(%s): %m", sub_path);
- r = -errno;
+ if (unlinkat(dirfd(d), dent->d_name, AT_REMOVEDIR) < 0) {
+ if (errno != ENOENT && errno != ENOTEMPTY) {
+ log_error("rmdir(%s): %m", sub_path);
+ r = -errno;
+ }
}
}
@@ -390,70 +424,6 @@ finish:
log_error("utimensat(%s): %m", p);
}
- free(sub_path);
-
- return r;
-}
-
-static int clean_item(Item *i) {
- DIR *d;
- struct stat s, ps;
- bool mountpoint;
- int r;
- usec_t cutoff, n;
-
- assert(i);
-
- if (i->type != CREATE_DIRECTORY &&
- i->type != TRUNCATE_DIRECTORY &&
- i->type != IGNORE_PATH)
- return 0;
-
- if (!i->age_set)
- return 0;
-
- n = now(CLOCK_REALTIME);
- if (n < i->age)
- return 0;
-
- cutoff = n - i->age;
-
- d = opendir(i->path);
- if (!d) {
- if (errno == ENOENT)
- return 0;
-
- log_error("Failed to open directory %s: %m", i->path);
- return -errno;
- }
-
- if (fstat(dirfd(d), &s) < 0) {
- log_error("stat(%s) failed: %m", i->path);
- r = -errno;
- goto finish;
- }
-
- if (!S_ISDIR(s.st_mode)) {
- log_error("%s is not a directory.", i->path);
- r = -ENOTDIR;
- goto finish;
- }
-
- if (fstatat(dirfd(d), "..", &ps, AT_SYMLINK_NOFOLLOW) != 0) {
- log_error("stat(%s/..) failed: %m", i->path);
- r = -errno;
- goto finish;
- }
-
- mountpoint = s.st_dev != ps.st_dev ||
- (s.st_dev == ps.st_dev && s.st_ino == ps.st_ino);
-
- r = dir_cleanup(i->path, d, &s, cutoff, s.st_dev, mountpoint, MAX_DEPTH, i->keep_first_level);
-
-finish:
- if (d)
- closedir(d);
-
return r;
}
@@ -480,18 +450,17 @@ static int item_set_perms(Item *i, const char *path) {
static int write_one_file(Item *i, const char *path) {
int r, e, fd, flags;
struct stat st;
- mode_t u;
flags = i->type == CREATE_FILE ? O_CREAT|O_APPEND :
i->type == TRUNCATE_FILE ? O_CREAT|O_TRUNC : 0;
- u = umask(0);
- label_context_set(path, S_IFREG);
- fd = open(path, flags|O_NDELAY|O_CLOEXEC|O_WRONLY|O_NOCTTY|O_NOFOLLOW, i->mode);
- e = errno;
- label_context_clear();
- umask(u);
- errno = e;
+ RUN_WITH_UMASK(0) {
+ label_context_set(path, S_IFREG);
+ fd = open(path, flags|O_NDELAY|O_CLOEXEC|O_WRONLY|O_NOCTTY|O_NOFOLLOW, i->mode);
+ e = errno;
+ label_context_clear();
+ errno = e;
+ }
if (fd < 0) {
if (i->type == WRITE_FILE && errno == ENOENT)
@@ -542,7 +511,7 @@ static int write_one_file(Item *i, const char *path) {
}
static int recursive_relabel_children(Item *i, const char *path) {
- DIR *d;
+ _cleanup_closedir_ DIR *d;
int ret = 0;
/* This returns the first error we run into, but nevertheless
@@ -557,7 +526,7 @@ static int recursive_relabel_children(Item *i, const char *path) {
union dirent_storage buf;
bool is_dir;
int r;
- char *entry_path;
+ _cleanup_free_ char *entry_path = NULL;
r = readdir_r(d, &buf.de, &de);
if (r != 0) {
@@ -584,7 +553,6 @@ static int recursive_relabel_children(Item *i, const char *path) {
if (lstat(entry_path, &st) < 0) {
if (ret == 0 && errno != ENOENT)
ret = -errno;
- free(entry_path);
continue;
}
@@ -597,7 +565,6 @@ static int recursive_relabel_children(Item *i, const char *path) {
if (r < 0) {
if (ret == 0 && r != -ENOENT)
ret = r;
- free(entry_path);
continue;
}
@@ -606,12 +573,8 @@ static int recursive_relabel_children(Item *i, const char *path) {
if (r < 0 && ret == 0)
ret = r;
}
-
- free(entry_path);
}
- closedir(d);
-
return ret;
}
@@ -634,34 +597,31 @@ static int recursive_relabel(Item *i, const char *path) {
static int glob_item(Item *i, int (*action)(Item *, const char *)) {
int r = 0, k;
- glob_t g;
+ _cleanup_globfree_ glob_t g = {};
char **fn;
- zero(g);
-
errno = 0;
- if ((k = glob(i->path, GLOB_NOSORT|GLOB_BRACE, NULL, &g)) != 0) {
-
+ k = glob(i->path, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
+ if (k != 0)
if (k != GLOB_NOMATCH) {
- if (errno != 0)
+ if (errno > 0)
errno = EIO;
log_error("glob(%s) failed: %m", i->path);
return -errno;
}
- }
- STRV_FOREACH(fn, g.gl_pathv)
- if ((k = action(i, *fn)) < 0)
+ STRV_FOREACH(fn, g.gl_pathv) {
+ k = action(i, *fn);
+ if (k < 0)
r = k;
+ }
- globfree(&g);
return r;
}
static int create_item(Item *i) {
int r, e;
- mode_t u;
struct stat st;
assert(i);
@@ -669,6 +629,7 @@ static int create_item(Item *i) {
switch (i->type) {
case IGNORE_PATH:
+ case IGNORE_DIRECTORY_PATH:
case REMOVE_PATH:
case RECURSIVE_REMOVE_PATH:
return 0;
@@ -689,10 +650,10 @@ static int create_item(Item *i) {
case TRUNCATE_DIRECTORY:
case CREATE_DIRECTORY:
- u = umask(0);
- mkdir_parents_label(i->path, 0755);
- r = mkdir(i->path, i->mode);
- umask(u);
+ RUN_WITH_UMASK(0000) {
+ mkdir_parents_label(i->path, 0755);
+ r = mkdir(i->path, i->mode);
+ }
if (r < 0 && errno != EEXIST) {
log_error("Failed to create directory %s: %m", i->path);
@@ -717,9 +678,9 @@ static int create_item(Item *i) {
case CREATE_FIFO:
- u = umask(0);
- r = mkfifo(i->path, i->mode);
- umask(u);
+ RUN_WITH_UMASK(0000) {
+ r = mkfifo(i->path, i->mode);
+ }
if (r < 0 && errno != EEXIST) {
log_error("Failed to create fifo %s: %m", i->path);
@@ -778,7 +739,7 @@ static int create_item(Item *i) {
if (have_effective_cap(CAP_MKNOD) == 0) {
/* In a container we lack CAP_MKNOD. We
- shouldnt attempt to create the device node in
+ shouldn't attempt to create the device node in
that case to avoid noise, and we don't support
virtualized devices in containers anyway. */
@@ -788,13 +749,13 @@ static int create_item(Item *i) {
file_type = (i->type == CREATE_BLOCK_DEVICE ? S_IFBLK : S_IFCHR);
- u = umask(0);
- label_context_set(i->path, file_type);
- r = mknod(i->path, i->mode | file_type, i->major_minor);
- e = errno;
- label_context_clear();
- umask(u);
- errno = e;
+ RUN_WITH_UMASK(0000) {
+ label_context_set(i->path, file_type);
+ r = mknod(i->path, i->mode | file_type, i->major_minor);
+ e = errno;
+ label_context_clear();
+ errno = e;
+ }
if (r < 0 && errno != EEXIST) {
log_error("Failed to create device node %s: %m", i->path);
@@ -852,6 +813,7 @@ static int remove_item_instance(Item *i, const char *instance) {
case CREATE_BLOCK_DEVICE:
case CREATE_CHAR_DEVICE:
case IGNORE_PATH:
+ case IGNORE_DIRECTORY_PATH:
case RELABEL_PATH:
case RECURSIVE_RELABEL_PATH:
case WRITE_FILE:
@@ -896,6 +858,7 @@ static int remove_item(Item *i) {
case CREATE_CHAR_DEVICE:
case CREATE_BLOCK_DEVICE:
case IGNORE_PATH:
+ case IGNORE_DIRECTORY_PATH:
case RELABEL_PATH:
case RECURSIVE_RELABEL_PATH:
case WRITE_FILE:
@@ -911,6 +874,77 @@ static int remove_item(Item *i) {
return r;
}
+static int clean_item_instance(Item *i, const char* instance) {
+ _cleanup_closedir_ DIR *d = NULL;
+ struct stat s, ps;
+ bool mountpoint;
+ int r;
+ usec_t cutoff, n;
+
+ assert(i);
+
+ if (!i->age_set)
+ return 0;
+
+ n = now(CLOCK_REALTIME);
+ if (n < i->age)
+ return 0;
+
+ cutoff = n - i->age;
+
+ d = opendir(instance);
+ if (!d) {
+ if (errno == ENOENT || errno == ENOTDIR)
+ return 0;
+
+ log_error("Failed to open directory %s: %m", i->path);
+ return -errno;
+ }
+
+ if (fstat(dirfd(d), &s) < 0) {
+ log_error("stat(%s) failed: %m", i->path);
+ return -errno;
+ }
+
+ if (!S_ISDIR(s.st_mode)) {
+ log_error("%s is not a directory.", i->path);
+ return -ENOTDIR;
+ }
+
+ if (fstatat(dirfd(d), "..", &ps, AT_SYMLINK_NOFOLLOW) != 0) {
+ log_error("stat(%s/..) failed: %m", i->path);
+ return -errno;
+ }
+
+ mountpoint = s.st_dev != ps.st_dev ||
+ (s.st_dev == ps.st_dev && s.st_ino == ps.st_ino);
+
+ r = dir_cleanup(i, instance, d, &s, cutoff, s.st_dev, mountpoint,
+ MAX_DEPTH, i->keep_first_level);
+ return r;
+}
+
+static int clean_item(Item *i) {
+ int r = 0;
+
+ assert(i);
+
+ switch (i->type) {
+ case CREATE_DIRECTORY:
+ case TRUNCATE_DIRECTORY:
+ case IGNORE_PATH:
+ clean_item_instance(i, i->path);
+ break;
+ case IGNORE_DIRECTORY_PATH:
+ r = glob_item(i, clean_item_instance);
+ break;
+ default:
+ break;
+ }
+
+ return r;
+}
+
static int process_item(Item *i) {
int r, q, p;
@@ -979,8 +1013,10 @@ static bool item_equal(Item *a, Item *b) {
}
static int parse_line(const char *fname, unsigned line, const char *buffer) {
- Item *i, *existing;
- char *mode = NULL, *user = NULL, *group = NULL, *age = NULL;
+ _cleanup_free_ Item *i = NULL;
+ Item *existing;
+ _cleanup_free_ char
+ *mode = NULL, *user = NULL, *group = NULL, *age = NULL;
char type;
Hashmap *h;
int r, n = -1;
@@ -993,24 +1029,18 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
if (!i)
return log_oom();
- if (sscanf(buffer,
- "%c "
- "%ms "
- "%ms "
- "%ms "
- "%ms "
- "%ms "
- "%n",
+ r = sscanf(buffer,
+ "%c %ms %ms %ms %ms %ms %n",
&type,
&i->path,
&mode,
&user,
&group,
&age,
- &n) < 2) {
+ &n);
+ if (r < 2) {
log_error("[%s:%u] Syntax error.", fname, line);
- r = -EIO;
- goto finish;
+ return -EIO;
}
if (n >= 0) {
@@ -1030,6 +1060,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
case TRUNCATE_DIRECTORY:
case CREATE_FIFO:
case IGNORE_PATH:
+ case IGNORE_DIRECTORY_PATH:
case REMOVE_PATH:
case RECURSIVE_REMOVE_PATH:
case RELABEL_PATH:
@@ -1039,16 +1070,14 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
case CREATE_SYMLINK:
if (!i->argument) {
log_error("[%s:%u] Symlink file requires argument.", fname, line);
- r = -EBADMSG;
- goto finish;
+ return -EBADMSG;
}
break;
case WRITE_FILE:
if (!i->argument) {
log_error("[%s:%u] Write file requires argument.", fname, line);
- r = -EBADMSG;
- goto finish;
+ return -EBADMSG;
}
break;
@@ -1058,14 +1087,12 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
if (!i->argument) {
log_error("[%s:%u] Device file requires argument.", fname, line);
- r = -EBADMSG;
- goto finish;
+ return -EBADMSG;
}
if (sscanf(i->argument, "%u:%u", &major, &minor) != 2) {
log_error("[%s:%u] Can't parse device file major/minor '%s'.", fname, line, i->argument);
- r = -EBADMSG;
- goto finish;
+ return -EBADMSG;
}
i->major_minor = makedev(major, minor);
@@ -1074,24 +1101,20 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
default:
log_error("[%s:%u] Unknown file type '%c'.", fname, line, type);
- r = -EBADMSG;
- goto finish;
+ return -EBADMSG;
}
i->type = type;
if (!path_is_absolute(i->path)) {
log_error("[%s:%u] Path '%s' not absolute.", fname, line, i->path);
- r = -EBADMSG;
- goto finish;
+ return -EBADMSG;
}
path_kill_slashes(i->path);
- if (arg_prefix && !path_startswith(i->path, arg_prefix)) {
- r = 0;
- goto finish;
- }
+ if (arg_prefix && !path_startswith(i->path, arg_prefix))
+ return 0;
if (user && !streq(user, "-")) {
const char *u = user;
@@ -1099,7 +1122,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
r = get_user_creds(&u, &i->uid, NULL, NULL, NULL);
if (r < 0) {
log_error("[%s:%u] Unknown user '%s'.", fname, line, user);
- goto finish;
+ return r;
}
i->uid_set = true;
@@ -1111,7 +1134,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
r = get_group_creds(&g, &i->gid);
if (r < 0) {
log_error("[%s:%u] Unknown group '%s'.", fname, line, group);
- goto finish;
+ return r;
}
i->gid_set = true;
@@ -1122,8 +1145,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
if (sscanf(mode, "%o", &m) != 1) {
log_error("[%s:%u] Invalid mode '%s'.", fname, line, mode);
- r = -ENOENT;
- goto finish;
+ return -ENOENT;
}
i->mode = m;
@@ -1141,10 +1163,9 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
a++;
}
- if (parse_usec(a, &i->age) < 0) {
+ if (parse_sec(a, &i->age) < 0) {
log_error("[%s:%u] Invalid age '%s'.", fname, line, age);
- r = -EBADMSG;
- goto finish;
+ return -EBADMSG;
}
i->age_set = true;
@@ -1159,29 +1180,18 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
if (!item_equal(existing, i))
log_warning("Two or more conflicting lines for %s configured, ignoring.", i->path);
- r = 0;
- goto finish;
+ return 0;
}
r = hashmap_put(h, i->path, i);
if (r < 0) {
log_error("Failed to insert item %s: %s", i->path, strerror(-r));
- goto finish;
+ return r;
}
- i = NULL;
- r = 0;
-
-finish:
- free(user);
- free(group);
- free(mode);
- free(age);
-
- if (i)
- item_free(i);
+ i = NULL; /* avoid cleanup */
- return r;
+ return 0;
}
static int help(void) {
@@ -1265,18 +1275,19 @@ static int parse_argv(int argc, char *argv[]) {
static int read_config_file(const char *fn, bool ignore_enoent) {
FILE *f;
unsigned v = 0;
- int r = 0;
+ int r;
+ Iterator iterator;
+ Item *i;
assert(fn);
- f = fopen(fn, "re");
- if (!f) {
-
- if (ignore_enoent && errno == ENOENT)
+ r = search_and_fopen_nulstr(fn, "re", conf_file_dirs, &f);
+ if (r < 0) {
+ if (ignore_enoent && r == -ENOENT)
return 0;
- log_error("Failed to open %s: %m", fn);
- return -errno;
+ log_error("Failed to open '%s', ignoring: %s", fn, strerror(-r));
+ return r;
}
log_debug("apply: %s\n", fn);
@@ -1298,43 +1309,47 @@ static int read_config_file(const char *fn, bool ignore_enoent) {
r = k;
}
- if (ferror(f)) {
- log_error("Failed to read from file %s: %m", fn);
- if (r == 0)
- r = -EIO;
- }
-
- fclose(f);
+ /* we have to determine age parameter for each entry of type X */
+ HASHMAP_FOREACH(i, globs, iterator) {
+ Iterator iter;
+ Item *j, *candidate_item = NULL;
- return r;
-}
+ if (i->type != IGNORE_DIRECTORY_PATH)
+ continue;
-static char *resolve_fragment(const char *fragment, const char **search_paths) {
- const char **p;
- char *resolved_path;
+ HASHMAP_FOREACH(j, items, iter) {
+ if (j->type != CREATE_DIRECTORY && j->type != TRUNCATE_DIRECTORY)
+ continue;
- if (is_path(fragment))
- return strdup(fragment);
+ if (path_equal(j->path, i->path)) {
+ candidate_item = j;
+ break;
+ }
- STRV_FOREACH(p, search_paths) {
- resolved_path = strjoin(*p, "/", fragment, NULL);
- if (resolved_path == NULL) {
- log_oom();
- return NULL;
+ if ((!candidate_item && path_startswith(i->path, j->path)) ||
+ (candidate_item && path_startswith(j->path, candidate_item->path) && (fnmatch(i->path, j->path, FNM_PATHNAME | FNM_PERIOD) == 0)))
+ candidate_item = j;
}
- if (access(resolved_path, F_OK) == 0)
- return resolved_path;
+ if (candidate_item) {
+ i->age = candidate_item->age;
+ i->age_set = true;
+ }
+ }
- free(resolved_path);
+ if (ferror(f)) {
+ log_error("Failed to read from file %s: %m", fn);
+ if (r == 0)
+ r = -EIO;
}
- errno = ENOENT;
- return NULL;
+ fclose(f);
+
+ return r;
}
int main(int argc, char *argv[]) {
- int r;
+ int r, k;
Item *i;
Iterator iterator;
@@ -1354,46 +1369,36 @@ int main(int argc, char *argv[]) {
globs = hashmap_new(string_hash_func, string_compare_func);
if (!items || !globs) {
- log_oom();
- r = EXIT_FAILURE;
+ r = log_oom();
goto finish;
}
- r = EXIT_SUCCESS;
+ r = 0;
if (optind < argc) {
int j;
for (j = optind; j < argc; j++) {
- char *fragment;
-
- fragment = resolve_fragment(argv[j], (const char **)conf_file_dirs);
- if (!fragment) {
- log_error("Failed to find a %s file: %m", argv[j]);
- r = EXIT_FAILURE;
- goto finish;
- }
- if (read_config_file(fragment, false) < 0)
- r = EXIT_FAILURE;
- free(fragment);
+ k = read_config_file(argv[j], false);
+ if (k < 0 && r == 0)
+ r = k;
}
} else {
- char **files, **f;
+ _cleanup_strv_free_ char **files = NULL;
+ char **f;
- r = conf_files_list_strv(&files, ".conf", (const char **)conf_file_dirs);
+ r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs);
if (r < 0) {
log_error("Failed to enumerate tmpfiles.d files: %s", strerror(-r));
- r = EXIT_FAILURE;
goto finish;
}
STRV_FOREACH(f, files) {
- if (read_config_file(*f, true) < 0)
- r = EXIT_FAILURE;
+ k = read_config_file(*f, true);
+ if (k < 0 && r == 0)
+ r = k;
}
-
- strv_free(files);
}
HASHMAP_FOREACH(i, globs, iterator)
@@ -1416,5 +1421,5 @@ finish:
label_finish();
- return r;
+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}
diff --git a/src/tty-ask-password-agent/tty-ask-password-agent.c b/src/tty-ask-password-agent/tty-ask-password-agent.c
index 99a626c6c5..f463662d6b 100644
--- a/src/tty-ask-password-agent/tty-ask-password-agent.c
+++ b/src/tty-ask-password-agent/tty-ask-password-agent.c
@@ -60,11 +60,11 @@ static int ask_password_plymouth(
char ***_passphrases) {
int fd = -1, notify = -1;
- union sockaddr_union sa;
+ union sockaddr_union sa = {};
char *packet = NULL;
ssize_t k;
int r, n;
- struct pollfd pollfd[2];
+ struct pollfd pollfd[2] = {};
char buffer[LINE_MAX];
size_t p = 0;
enum {
@@ -91,7 +91,6 @@ static int ask_password_plymouth(
goto finish;
}
- zero(sa);
sa.sa.sa_family = AF_UNIX;
strncpy(sa.un.sun_path+1, "/org/freedesktop/plymouthd", sizeof(sa.un.sun_path)-1);
if (connect(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1)) < 0) {
@@ -116,7 +115,6 @@ static int ask_password_plymouth(
goto finish;
}
- zero(pollfd);
pollfd[POLL_SOCKET].fd = fd;
pollfd[POLL_SOCKET].events = POLLIN;
pollfd[POLL_INOTIFY].fd = notify;
@@ -277,7 +275,7 @@ static int parse_password(const char *filename, char **wall) {
return -errno;
}
- r = config_parse(filename, f, NULL, config_item_table_lookup, (void*) items, true, NULL);
+ r = config_parse(NULL, filename, f, NULL, config_item_table_lookup, (void*) items, true, false, NULL);
if (r < 0) {
log_error("Failed to parse password file %s: %s", filename, strerror(-r));
goto finish;
@@ -325,7 +323,7 @@ static int parse_password(const char *filename, char **wall) {
union {
struct sockaddr sa;
struct sockaddr_un un;
- } sa;
+ } sa = {};
size_t packet_length = 0;
assert(arg_action == ACTION_QUERY ||
@@ -341,7 +339,7 @@ static int parse_password(const char *filename, char **wall) {
}
if (arg_plymouth) {
- char **passwords = NULL;
+ _cleanup_strv_free_ char **passwords = NULL;
if ((r = ask_password_plymouth(message, not_after, filename, accept_cached, &passwords)) >= 0) {
char **p;
@@ -410,7 +408,6 @@ static int parse_password(const char *filename, char **wall) {
goto finish;
}
- zero(sa);
sa.un.sun_family = AF_UNIX;
strncpy(sa.un.sun_path, socket_name, sizeof(sa.un.sun_path));
@@ -563,7 +560,7 @@ static int watch_passwords(void) {
};
int notify = -1, signal_fd = -1, tty_block_fd = -1;
- struct pollfd pollfd[_FD_MAX];
+ struct pollfd pollfd[_FD_MAX] = {};
sigset_t mask;
int r;
@@ -591,7 +588,6 @@ static int watch_passwords(void) {
goto finish;
}
- zero(pollfd);
pollfd[FD_INOTIFY].fd = notify;
pollfd[FD_INOTIFY].events = POLLIN;
pollfd[FD_SIGNAL].fd = signal_fd;
diff --git a/src/udev/accelerometer/accelerometer.c b/src/udev/accelerometer/accelerometer.c
index 21f51936ee..e611b48a42 100644
--- a/src/udev/accelerometer/accelerometer.c
+++ b/src/udev/accelerometer/accelerometer.c
@@ -46,6 +46,7 @@
#include <stdio.h>
#include <string.h>
+#include <stdbool.h>
#include <math.h>
#include <sys/types.h>
#include <sys/stat.h>
@@ -122,7 +123,7 @@ string_to_orientation (const char *orientation)
if (orientation == NULL)
return ORIENTATION_UNDEFINED;
for (i = 0; orientations[i] != NULL; i++) {
- if (strcmp (orientation, orientations[i]) == 0)
+ if (streq (orientation, orientations[i]))
return i;
}
return ORIENTATION_UNDEFINED;
@@ -178,7 +179,7 @@ get_prev_orientation(struct udev_device *dev)
return string_to_orientation(value);
}
-#define SET_AXIS(axis, code_) if (ev[i].code == code_) { if (got_##axis == 0) { axis = ev[i].value; got_##axis = 1; } }
+#define SET_AXIS(axis, code_) if (ev[i].code == code_) { if (got_##axis == 0) { axis = ev[i].value; got_##axis = true; } }
/* accelerometers */
static void test_orientation(struct udev *udev,
@@ -186,54 +187,46 @@ static void test_orientation(struct udev *udev,
const char *devpath)
{
OrientationUp old, new;
- int fd, r;
+ _cleanup_close_ int fd = -1;
struct input_event ev[64];
- int got_syn = 0;
- int got_x, got_y, got_z;
+ bool got_syn = false;
+ bool got_x = false, got_y = false, got_z = false;
int x = 0, y = 0, z = 0;
char text[64];
old = get_prev_orientation(dev);
- if ((fd = open(devpath, O_RDONLY)) < 0)
+ fd = open(devpath, O_RDONLY);
+ if (fd < 0)
return;
- got_x = got_y = got_z = 0;
-
while (1) {
- int i;
+ int i, r;
r = read(fd, ev, sizeof(struct input_event) * 64);
- if (r < (int) sizeof(struct input_event)) {
- close(fd);
+ if (r < (int) sizeof(struct input_event))
return;
- }
for (i = 0; i < r / (int) sizeof(struct input_event); i++) {
- if (got_syn == 1) {
+ if (got_syn) {
if (ev[i].type == EV_ABS) {
SET_AXIS(x, ABS_X);
SET_AXIS(y, ABS_Y);
SET_AXIS(z, ABS_Z);
}
}
- if (ev[i].type == EV_SYN && ev[i].code == SYN_REPORT) {
- got_syn = 1;
- }
+ if (ev[i].type == EV_SYN && ev[i].code == SYN_REPORT)
+ got_syn = true;
if (got_x && got_y && got_z)
goto read_dev;
}
}
read_dev:
- close(fd);
-
- if (!got_x || !got_y || !got_z)
- return;
-
new = orientation_calc(old, x, y, z);
- snprintf(text, sizeof(text), "ID_INPUT_ACCELEROMETER_ORIENTATION=%s", orientation_to_string(new));
+ snprintf(text, sizeof(text),
+ "ID_INPUT_ACCELEROMETER_ORIENTATION=%s", orientation_to_string(new));
puts(text);
}
@@ -257,7 +250,6 @@ int main (int argc, char** argv)
char devpath[PATH_MAX];
char *devnode;
- const char *id_path;
struct udev_enumerate *enumerate;
struct udev_list_entry *list_entry;
@@ -303,18 +295,10 @@ int main (int argc, char** argv)
return 1;
}
- id_path = udev_device_get_property_value(dev, "ID_PATH");
- if (id_path == NULL) {
- fprintf (stderr, "unable to get property ID_PATH for '%s'", devpath);
- return 0;
- }
-
/* Get the children devices and find the devnode */
- /* FIXME: use udev_enumerate_add_match_parent() instead */
devnode = NULL;
enumerate = udev_enumerate_new(udev);
- udev_enumerate_add_match_property(enumerate, "ID_PATH", id_path);
- udev_enumerate_add_match_subsystem(enumerate, "input");
+ udev_enumerate_add_match_parent(enumerate, dev);
udev_enumerate_scan_devices(enumerate);
udev_list_entry_foreach(list_entry, udev_enumerate_get_list_entry(enumerate)) {
struct udev_device *device;
diff --git a/src/udev/ata_id/ata_id.c b/src/udev/ata_id/ata_id.c
index 488fed4ac4..68a06b93b8 100644
--- a/src/udev/ata_id/ata_id.c
+++ b/src/udev/ata_id/ata_id.c
@@ -51,65 +51,58 @@ static int disk_scsi_inquiry_command(int fd,
void *buf,
size_t buf_len)
{
- struct sg_io_v4 io_v4;
- uint8_t cdb[6];
- uint8_t sense[32];
+ uint8_t cdb[6] = {
+ /*
+ * INQUIRY, see SPC-4 section 6.4
+ */
+ [0] = 0x12, /* OPERATION CODE: INQUIRY */
+ [3] = (buf_len >> 8), /* ALLOCATION LENGTH */
+ [4] = (buf_len & 0xff),
+ };
+ uint8_t sense[32] = {};
+ struct sg_io_v4 io_v4 = {
+ .guard = 'Q',
+ .protocol = BSG_PROTOCOL_SCSI,
+ .subprotocol = BSG_SUB_PROTOCOL_SCSI_CMD,
+ .request_len = sizeof(cdb),
+ .request = (uintptr_t) cdb,
+ .max_response_len = sizeof(sense),
+ .response = (uintptr_t) sense,
+ .din_xfer_len = buf_len,
+ .din_xferp = (uintptr_t) buf,
+ .timeout = COMMAND_TIMEOUT_MSEC,
+ };
int ret;
- /*
- * INQUIRY, see SPC-4 section 6.4
- */
- memset(cdb, 0, sizeof(cdb));
- cdb[0] = 0x12; /* OPERATION CODE: INQUIRY */
- cdb[3] = (buf_len >> 8); /* ALLOCATION LENGTH */
- cdb[4] = (buf_len & 0xff);
-
- memset(sense, 0, sizeof(sense));
-
- memset(&io_v4, 0, sizeof(struct sg_io_v4));
- io_v4.guard = 'Q';
- io_v4.protocol = BSG_PROTOCOL_SCSI;
- io_v4.subprotocol = BSG_SUB_PROTOCOL_SCSI_CMD;
- io_v4.request_len = sizeof (cdb);
- io_v4.request = (uintptr_t) cdb;
- io_v4.max_response_len = sizeof (sense);
- io_v4.response = (uintptr_t) sense;
- io_v4.din_xfer_len = buf_len;
- io_v4.din_xferp = (uintptr_t) buf;
- io_v4.timeout = COMMAND_TIMEOUT_MSEC;
-
ret = ioctl(fd, SG_IO, &io_v4);
if (ret != 0) {
/* could be that the driver doesn't do version 4, try version 3 */
if (errno == EINVAL) {
- struct sg_io_hdr io_hdr;
-
- memset(&io_hdr, 0, sizeof(struct sg_io_hdr));
- io_hdr.interface_id = 'S';
- io_hdr.cmdp = (unsigned char*) cdb;
- io_hdr.cmd_len = sizeof (cdb);
- io_hdr.dxferp = buf;
- io_hdr.dxfer_len = buf_len;
- io_hdr.sbp = sense;
- io_hdr.mx_sb_len = sizeof (sense);
- io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
- io_hdr.timeout = COMMAND_TIMEOUT_MSEC;
+ struct sg_io_hdr io_hdr = {
+ .interface_id = 'S',
+ .cmdp = (unsigned char*) cdb,
+ .cmd_len = sizeof (cdb),
+ .dxferp = buf,
+ .dxfer_len = buf_len,
+ .sbp = sense,
+ .mx_sb_len = sizeof(sense),
+ .dxfer_direction = SG_DXFER_FROM_DEV,
+ .timeout = COMMAND_TIMEOUT_MSEC,
+ };
ret = ioctl(fd, SG_IO, &io_hdr);
if (ret != 0)
- goto out;
+ return ret;
/* even if the ioctl succeeds, we need to check the return value */
if (!(io_hdr.status == 0 &&
io_hdr.host_status == 0 &&
io_hdr.driver_status == 0)) {
errno = EIO;
- ret = -1;
- goto out;
+ return -1;
}
- } else {
- goto out;
- }
+ } else
+ return ret;
}
/* even if the ioctl succeeds, we need to check the return value */
@@ -117,172 +110,156 @@ static int disk_scsi_inquiry_command(int fd,
io_v4.transport_status == 0 &&
io_v4.driver_status == 0)) {
errno = EIO;
- ret = -1;
- goto out;
+ return -1;
}
- out:
- return ret;
+ return 0;
}
static int disk_identify_command(int fd,
void *buf,
size_t buf_len)
{
- struct sg_io_v4 io_v4;
- uint8_t cdb[12];
- uint8_t sense[32];
- uint8_t *desc = sense+8;
+ uint8_t cdb[12] = {
+ /*
+ * ATA Pass-Through 12 byte command, as described in
+ *
+ * T10 04-262r8 ATA Command Pass-Through
+ *
+ * from http://www.t10.org/ftp/t10/document.04/04-262r8.pdf
+ */
+ [0] = 0xa1, /* OPERATION CODE: 12 byte pass through */
+ [1] = 4 << 1, /* PROTOCOL: PIO Data-in */
+ [2] = 0x2e, /* OFF_LINE=0, CK_COND=1, T_DIR=1, BYT_BLOK=1, T_LENGTH=2 */
+ [3] = 0, /* FEATURES */
+ [4] = 1, /* SECTORS */
+ [5] = 0, /* LBA LOW */
+ [6] = 0, /* LBA MID */
+ [7] = 0, /* LBA HIGH */
+ [8] = 0 & 0x4F, /* SELECT */
+ [9] = 0xEC, /* Command: ATA IDENTIFY DEVICE */
+ };
+ uint8_t sense[32] = {};
+ uint8_t *desc = sense + 8;
+ struct sg_io_v4 io_v4 = {
+ .guard = 'Q',
+ .protocol = BSG_PROTOCOL_SCSI,
+ .subprotocol = BSG_SUB_PROTOCOL_SCSI_CMD,
+ .request_len = sizeof(cdb),
+ .request = (uintptr_t) cdb,
+ .max_response_len = sizeof(sense),
+ .response = (uintptr_t) sense,
+ .din_xfer_len = buf_len,
+ .din_xferp = (uintptr_t) buf,
+ .timeout = COMMAND_TIMEOUT_MSEC,
+ };
int ret;
- /*
- * ATA Pass-Through 12 byte command, as described in
- *
- * T10 04-262r8 ATA Command Pass-Through
- *
- * from http://www.t10.org/ftp/t10/document.04/04-262r8.pdf
- */
- memset(cdb, 0, sizeof(cdb));
- cdb[0] = 0xa1; /* OPERATION CODE: 12 byte pass through */
- cdb[1] = 4 << 1; /* PROTOCOL: PIO Data-in */
- cdb[2] = 0x2e; /* OFF_LINE=0, CK_COND=1, T_DIR=1, BYT_BLOK=1, T_LENGTH=2 */
- cdb[3] = 0; /* FEATURES */
- cdb[4] = 1; /* SECTORS */
- cdb[5] = 0; /* LBA LOW */
- cdb[6] = 0; /* LBA MID */
- cdb[7] = 0; /* LBA HIGH */
- cdb[8] = 0 & 0x4F; /* SELECT */
- cdb[9] = 0xEC; /* Command: ATA IDENTIFY DEVICE */;
- memset(sense, 0, sizeof(sense));
-
- memset(&io_v4, 0, sizeof(struct sg_io_v4));
- io_v4.guard = 'Q';
- io_v4.protocol = BSG_PROTOCOL_SCSI;
- io_v4.subprotocol = BSG_SUB_PROTOCOL_SCSI_CMD;
- io_v4.request_len = sizeof (cdb);
- io_v4.request = (uintptr_t) cdb;
- io_v4.max_response_len = sizeof (sense);
- io_v4.response = (uintptr_t) sense;
- io_v4.din_xfer_len = buf_len;
- io_v4.din_xferp = (uintptr_t) buf;
- io_v4.timeout = COMMAND_TIMEOUT_MSEC;
-
ret = ioctl(fd, SG_IO, &io_v4);
if (ret != 0) {
/* could be that the driver doesn't do version 4, try version 3 */
if (errno == EINVAL) {
- struct sg_io_hdr io_hdr;
-
- memset(&io_hdr, 0, sizeof(struct sg_io_hdr));
- io_hdr.interface_id = 'S';
- io_hdr.cmdp = (unsigned char*) cdb;
- io_hdr.cmd_len = sizeof (cdb);
- io_hdr.dxferp = buf;
- io_hdr.dxfer_len = buf_len;
- io_hdr.sbp = sense;
- io_hdr.mx_sb_len = sizeof (sense);
- io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
- io_hdr.timeout = COMMAND_TIMEOUT_MSEC;
+ struct sg_io_hdr io_hdr = {
+ .interface_id = 'S',
+ .cmdp = (unsigned char*) cdb,
+ .cmd_len = sizeof (cdb),
+ .dxferp = buf,
+ .dxfer_len = buf_len,
+ .sbp = sense,
+ .mx_sb_len = sizeof (sense),
+ .dxfer_direction = SG_DXFER_FROM_DEV,
+ .timeout = COMMAND_TIMEOUT_MSEC,
+ };
ret = ioctl(fd, SG_IO, &io_hdr);
if (ret != 0)
- goto out;
- } else {
- goto out;
- }
+ return ret;
+ } else
+ return ret;
}
if (!(sense[0] == 0x72 && desc[0] == 0x9 && desc[1] == 0x0c)) {
errno = EIO;
- ret = -1;
- goto out;
+ return -1;
}
- out:
- return ret;
+ return 0;
}
static int disk_identify_packet_device_command(int fd,
void *buf,
size_t buf_len)
{
- struct sg_io_v4 io_v4;
- uint8_t cdb[16];
- uint8_t sense[32];
- uint8_t *desc = sense+8;
+ uint8_t cdb[16] = {
+ /*
+ * ATA Pass-Through 16 byte command, as described in
+ *
+ * T10 04-262r8 ATA Command Pass-Through
+ *
+ * from http://www.t10.org/ftp/t10/document.04/04-262r8.pdf
+ */
+ [0] = 0x85, /* OPERATION CODE: 16 byte pass through */
+ [1] = 4 << 1, /* PROTOCOL: PIO Data-in */
+ [2] = 0x2e, /* OFF_LINE=0, CK_COND=1, T_DIR=1, BYT_BLOK=1, T_LENGTH=2 */
+ [3] = 0, /* FEATURES */
+ [4] = 0, /* FEATURES */
+ [5] = 0, /* SECTORS */
+ [6] = 1, /* SECTORS */
+ [7] = 0, /* LBA LOW */
+ [8] = 0, /* LBA LOW */
+ [9] = 0, /* LBA MID */
+ [10] = 0, /* LBA MID */
+ [11] = 0, /* LBA HIGH */
+ [12] = 0, /* LBA HIGH */
+ [13] = 0, /* DEVICE */
+ [14] = 0xA1, /* Command: ATA IDENTIFY PACKET DEVICE */
+ [15] = 0, /* CONTROL */
+ };
+ uint8_t sense[32] = {};
+ uint8_t *desc = sense + 8;
+ struct sg_io_v4 io_v4 = {
+ .guard = 'Q',
+ .protocol = BSG_PROTOCOL_SCSI,
+ .subprotocol = BSG_SUB_PROTOCOL_SCSI_CMD,
+ .request_len = sizeof (cdb),
+ .request = (uintptr_t) cdb,
+ .max_response_len = sizeof (sense),
+ .response = (uintptr_t) sense,
+ .din_xfer_len = buf_len,
+ .din_xferp = (uintptr_t) buf,
+ .timeout = COMMAND_TIMEOUT_MSEC,
+ };
int ret;
- /*
- * ATA Pass-Through 16 byte command, as described in
- *
- * T10 04-262r8 ATA Command Pass-Through
- *
- * from http://www.t10.org/ftp/t10/document.04/04-262r8.pdf
- */
- memset(cdb, 0, sizeof(cdb));
- cdb[0] = 0x85; /* OPERATION CODE: 16 byte pass through */
- cdb[1] = 4 << 1; /* PROTOCOL: PIO Data-in */
- cdb[2] = 0x2e; /* OFF_LINE=0, CK_COND=1, T_DIR=1, BYT_BLOK=1, T_LENGTH=2 */
- cdb[3] = 0; /* FEATURES */
- cdb[4] = 0; /* FEATURES */
- cdb[5] = 0; /* SECTORS */
- cdb[6] = 1; /* SECTORS */
- cdb[7] = 0; /* LBA LOW */
- cdb[8] = 0; /* LBA LOW */
- cdb[9] = 0; /* LBA MID */
- cdb[10] = 0; /* LBA MID */
- cdb[11] = 0; /* LBA HIGH */
- cdb[12] = 0; /* LBA HIGH */
- cdb[13] = 0; /* DEVICE */
- cdb[14] = 0xA1; /* Command: ATA IDENTIFY PACKET DEVICE */;
- cdb[15] = 0; /* CONTROL */
- memset(sense, 0, sizeof(sense));
-
- memset(&io_v4, 0, sizeof(struct sg_io_v4));
- io_v4.guard = 'Q';
- io_v4.protocol = BSG_PROTOCOL_SCSI;
- io_v4.subprotocol = BSG_SUB_PROTOCOL_SCSI_CMD;
- io_v4.request_len = sizeof (cdb);
- io_v4.request = (uintptr_t) cdb;
- io_v4.max_response_len = sizeof (sense);
- io_v4.response = (uintptr_t) sense;
- io_v4.din_xfer_len = buf_len;
- io_v4.din_xferp = (uintptr_t) buf;
- io_v4.timeout = COMMAND_TIMEOUT_MSEC;
-
ret = ioctl(fd, SG_IO, &io_v4);
if (ret != 0) {
/* could be that the driver doesn't do version 4, try version 3 */
if (errno == EINVAL) {
- struct sg_io_hdr io_hdr;
-
- memset(&io_hdr, 0, sizeof(struct sg_io_hdr));
- io_hdr.interface_id = 'S';
- io_hdr.cmdp = (unsigned char*) cdb;
- io_hdr.cmd_len = sizeof (cdb);
- io_hdr.dxferp = buf;
- io_hdr.dxfer_len = buf_len;
- io_hdr.sbp = sense;
- io_hdr.mx_sb_len = sizeof (sense);
- io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
- io_hdr.timeout = COMMAND_TIMEOUT_MSEC;
+ struct sg_io_hdr io_hdr = {
+ .interface_id = 'S',
+ .cmdp = (unsigned char*) cdb,
+ .cmd_len = sizeof (cdb),
+ .dxferp = buf,
+ .dxfer_len = buf_len,
+ .sbp = sense,
+ .mx_sb_len = sizeof (sense),
+ .dxfer_direction = SG_DXFER_FROM_DEV,
+ .timeout = COMMAND_TIMEOUT_MSEC,
+ };
ret = ioctl(fd, SG_IO, &io_hdr);
if (ret != 0)
- goto out;
- } else {
- goto out;
- }
+ return ret;
+ } else
+ return ret;
}
if (!(sense[0] == 0x72 && desc[0] == 0x9 && desc[1] == 0x0c)) {
errno = EIO;
- ret = -1;
- goto out;
+ return -1;
}
- out:
- return ret;
+ return 0;
}
/**
@@ -348,20 +325,19 @@ static void disk_identify_fixup_uint16 (uint8_t identify[512], unsigned int offs
* non-zero with errno set.
*/
static int disk_identify(struct udev *udev,
- int fd,
- uint8_t out_identify[512],
- int *out_is_packet_device)
+ int fd,
+ uint8_t out_identify[512],
+ int *out_is_packet_device)
{
int ret;
uint8_t inquiry_buf[36];
int peripheral_device_type;
int all_nul_bytes;
int n;
- int is_packet_device;
+ int is_packet_device = 0;
/* init results */
- memset(out_identify, '\0', 512);
- is_packet_device = 0;
+ memzero(out_identify, 512);
/* If we were to use ATA PASS_THROUGH (12) on an ATAPI device
* we could accidentally blank media. This is because MMC's BLANK
@@ -425,7 +401,7 @@ static int disk_identify(struct udev *udev,
out:
if (out_is_packet_device != NULL)
- *out_is_packet_device = is_packet_device;
+ *out_is_packet_device = is_packet_device;
return ret;
}
diff --git a/src/udev/cdrom_id/cdrom_id.c b/src/udev/cdrom_id/cdrom_id.c
index 1056536b7d..1ad0459236 100644
--- a/src/udev/cdrom_id/cdrom_id.c
+++ b/src/udev/cdrom_id/cdrom_id.c
@@ -17,10 +17,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-
#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
@@ -513,6 +509,8 @@ static int cd_profiles_old_mmc(struct udev *udev, int fd)
if (cd_media == 1) {
log_debug("no current profile, but disc is present; assuming CD-ROM\n");
cd_media_cd_rom = 1;
+ cd_media_track_count = 1;
+ cd_media_track_count_data = 1;
return 0;
} else {
log_debug("no current profile, assuming no media\n");
diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c
index 3c46e40de1..f95ee23b75 100644
--- a/src/udev/collect/collect.c
+++ b/src/udev/collect/collect.c
@@ -35,8 +35,8 @@
#include "libudev-private.h"
#include "macro.h"
-#define BUFSIZE 16
-#define UDEV_ALARM_TIMEOUT 180
+#define BUFSIZE 16
+#define UDEV_ALARM_TIMEOUT 180
enum collect_state {
STATE_NONE,
@@ -139,12 +139,12 @@ static int checkout(int fd)
restart:
len = bufsize >> 1;
- buf = calloc(1,bufsize + 1);
- if (!buf) {
- fprintf(stderr, "Out of memory.\n");
+ buf = malloc(bufsize + 1);
+ if (!buf)
return log_oom();
- }
memset(buf, ' ', bufsize);
+ buf[bufsize] = '\0';
+
ptr = buf + len;
while ((read(fd, buf + len, len)) > 0) {
while (ptr && *ptr) {
@@ -213,7 +213,7 @@ static void invite(char *us)
udev_list_node_foreach(him_node, &bunch) {
struct _mate *him = node_to_mate(him_node);
- if (!strcmp(him->name, us)) {
+ if (streq(him->name, us)) {
him->state = STATE_CONFIRMED;
who = him;
}
@@ -241,7 +241,7 @@ static void reject(char *us)
udev_list_node_foreach(him_node, &bunch) {
struct _mate *him = node_to_mate(him_node);
- if (!strcmp(him->name, us)) {
+ if (streq(him->name, us)) {
him->state = STATE_NONE;
who = him;
}
@@ -414,7 +414,7 @@ int main(int argc, char **argv)
if (debug)
fprintf(stderr, "Using checkpoint '%s'\n", checkpoint);
- util_strscpyl(tmpdir, sizeof(tmpdir), "/run/udev/collect", NULL);
+ strscpyl(tmpdir, sizeof(tmpdir), "/run/udev/collect", NULL);
fd = prepare(tmpdir, checkpoint);
if (fd < 0) {
ret = 3;
@@ -434,7 +434,7 @@ int main(int argc, char **argv)
udev_list_node_foreach(him_node, &bunch) {
struct _mate *him = node_to_mate(him_node);
- if (!strcmp(him->name, argv[i]))
+ if (streq(him->name, argv[i]))
who = him;
}
if (!who) {
diff --git a/src/udev/keymap/95-keyboard-force-release.rules b/src/udev/keymap/95-keyboard-force-release.rules
index f97a022d8d..3e33e85535 100644
--- a/src/udev/keymap/95-keyboard-force-release.rules
+++ b/src/udev/keymap/95-keyboard-force-release.rules
@@ -42,7 +42,7 @@ ENV{DMI_VENDOR}=="Viooo Corporation", ATTR{[dmi/id]product_name}=="PT17", RUN+="
# These are all the HP laptops that setup a touchpad toggle key
ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[pP][aA][vV][iI][lL][iI][oO][nN]*", RUN+="keyboard-force-release.sh $devpath hp-other"
ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[tT][xX]2*", RUN+="keyboard-force-release.sh $devpath hp-other"
-ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*2510p*|*2530p*|HP G60 Notebook PC", RUN+="keyboard-force-release.sh $devpath hp-other"
+ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*2510p*|*2530p*|HP G60 Notebook PC|HDX9494NR", RUN+="keyboard-force-release.sh $devpath hp-other"
ENV{DMI_VENDOR}=="Zepto", ATTR{[dmi/id]product_name}=="Znote 6615WD", RUN+="keyboard-force-release.sh $devpath common-volume-keys"
diff --git a/src/udev/keymap/95-keymap.rules b/src/udev/keymap/95-keymap.rules
index 347b5a1dda..7956092030 100644
--- a/src/udev/keymap/95-keymap.rules
+++ b/src/udev/keymap/95-keymap.rules
@@ -86,6 +86,8 @@ ENV{DMI_VENDOR}=="LENOVO*", ATTR{[dmi/id]product_version}=="*IdeaPad*", RUN+="ke
ENV{DMI_VENDOR}=="LENOVO*", ATTR{[dmi/id]product_name}=="S10-*", RUN+="keymap $name lenovo-ideapad"
ENV{DMI_VENDOR}=="LENOVO", ATTR{[dmi/id]product_version}=="*IdeaPad Y550*", RUN+="keymap $name 0x95 media 0xA3 play"
ENV{DMI_VENDOR}=="LENOVO", ATTR{[dmi/id]product_version}=="*Lenovo V480*", RUN+="keymap $name 0xf1 f21"
+# 0xf1 is touchpad toggle, 0xCE is microphone mute in Lenovo U300s
+ENV{DMI_VENDOR}=="LENOVO", ATTR{[dmi/id]product_version}=="*IdeaPad U300s*", RUN+="keymap $name 0xf1 f21 0xCE f20"
ENV{DMI_VENDOR}=="Hewlett-Packard*", RUN+="keymap $name hewlett-packard"
ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[tT][aA][bB][lL][eE][tT]*", RUN+="keymap $name hewlett-packard-tablet"
@@ -96,9 +98,11 @@ ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*2510p*|*2530p
ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[tT][xX]2*", RUN+="keymap $name hewlett-packard-tx2"
ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="Presario 2100*", RUN+="keymap $name hewlett-packard-presario-2100"
ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP G62 Notebook PC", RUN+="keymap $name 0xB2 www"
-ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP ProBook*", RUN+="keymap $name 0xF8 rfkill"
+ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP ProBook*", RUN+="keymap $name 0xF8 rfkill 0xB2 www"
ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP EliteBook 8440p", RUN+="keymap $name hewlett-packard_elitebook-8440p"
-# HP Pavillion dv6315ea has empty DMI_VENDOR
+ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP EliteBook 8460p", RUN+="keymap $name hewlett-packard_elitebook-8460p"
+ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HDX9494NR", RUN+="keymap $name hewlett-packard-hdx9494nr"
+# HP Pavilion dv6315ea has empty DMI_VENDOR
ATTR{[dmi/id]board_vendor}=="Quanta", ATTR{[dmi/id]board_name}=="30B7", ATTR{[dmi/id]board_version}=="65.2B", RUN+="keymap $name 0x88 media" # "quick play
# Gateway clone of Acer Aspire One AOA110/AOA150
@@ -140,6 +144,9 @@ ENV{DMI_VENDOR}=="MICRO-STAR*|Micro-Star*", RUN+="keymap $name micro-star"
# brightness; so ignore those atkbd ones, to avoid loops
ENV{DMI_VENDOR}=="MICRO-STAR*", ATTR{[dmi/id]product_name}=="*U-100*|*U100*|*N033", RUN+="keymap $name 0xF7 reserved 0xF8 reserved"
+# MSI Wind U90/U100 generates separate touchpad on/off keycodes so ignore touchpad toggle keycode
+ENV{DMI_VENDOR}=="MICRO-STAR*", ATTR{[dmi/id]product_name}=="U90/U100", RUN+="keymap $name 0xE4 reserved"
+
ENV{DMI_VENDOR}=="INVENTEC", ATTR{[dmi/id]product_name}=="SYMPHONY 6.0/7.0", RUN+="keymap $name inventec-symphony_6.0_7.0"
ENV{DMI_VENDOR}=="MAXDATA", ATTR{[dmi/id]product_name}=="Pro 7000*", RUN+="keymap $name maxdata-pro_7000"
diff --git a/src/udev/keymap/findkeyboards b/src/udev/keymap/findkeyboards
index 9ce27429b2..c6b50d12d0 100755
--- a/src/udev/keymap/findkeyboards
+++ b/src/udev/keymap/findkeyboards
@@ -33,12 +33,12 @@ str_line_starts() {
keyboard_devices() {
# standard AT keyboard
for dev in `udevadm trigger --dry-run --verbose --property-match=ID_INPUT_KEYBOARD=1`; do
- walk=`udevadm info --attribute-walk --path=$dev`
env=`udevadm info --query=env --path=$dev`
# filter out non-event devices, such as the parent input devices which have no devnode
if ! echo "$env" | str_line_starts 'DEVNAME='; then
continue
fi
+ walk=`udevadm info --attribute-walk --path=$dev`
if strstr "$walk" 'DRIVERS=="atkbd"'; then
echo -n 'AT keyboard: '
elif echo "$env" | str_line_starts 'ID_USB_DRIVER=usbhid'; then
diff --git a/src/udev/keymap/keymap.c b/src/udev/keymap/keymap.c
index 27aaf6b670..ae0a19d3a3 100644
--- a/src/udev/keymap/keymap.c
+++ b/src/udev/keymap/keymap.c
@@ -36,7 +36,7 @@
#include <linux/limits.h>
#include <linux/input.h>
-const struct key* lookup_key (const char *str, unsigned int len);
+static const struct key* lookup_key (const char *str, unsigned int len);
#include "keys-from-name.h"
#include "keys-to-name.h"
diff --git a/src/udev/scsi_id/scsi_id.c b/src/udev/scsi_id/scsi_id.c
index c90b6aa581..ab7c54c3f2 100644
--- a/src/udev/scsi_id/scsi_id.c
+++ b/src/udev/scsi_id/scsi_id.c
@@ -108,7 +108,7 @@ static void set_type(const char *from, char *to, size_t len)
break;
}
}
- util_strscpy(to, len, type);
+ strscpy(to, len, type);
}
/*
@@ -227,7 +227,7 @@ static int get_file_options(struct udev *udev,
continue;
str1 = strsep(&buf, "=");
- if (str1 && strcasecmp(str1, "VENDOR") == 0) {
+ if (str1 && strcaseeq(str1, "VENDOR")) {
str1 = get_value(&buf);
if (!str1) {
retval = log_oom();
@@ -236,7 +236,7 @@ static int get_file_options(struct udev *udev,
vendor_in = str1;
str1 = strsep(&buf, "=");
- if (str1 && strcasecmp(str1, "MODEL") == 0) {
+ if (str1 && strcaseeq(str1, "MODEL")) {
str1 = get_value(&buf);
if (!str1) {
retval = log_oom();
@@ -247,7 +247,7 @@ static int get_file_options(struct udev *udev,
}
}
- if (str1 && strcasecmp(str1, "OPTIONS") == 0) {
+ if (str1 && strcaseeq(str1, "OPTIONS")) {
str1 = get_value(&buf);
if (!str1) {
retval = log_oom();
@@ -267,10 +267,10 @@ static int get_file_options(struct udev *udev,
if (vendor == NULL) {
if (vendor_in == NULL)
break;
- } else if ((vendor_in && strncmp(vendor, vendor_in,
- strlen(vendor_in)) == 0) &&
- (!model_in || (strncmp(model, model_in,
- strlen(model_in)) == 0))) {
+ } else if ((vendor_in && strneq(vendor, vendor_in,
+ strlen(vendor_in))) &&
+ (!model_in || (strneq(model, model_in,
+ strlen(model_in))))) {
/*
* Matched vendor and optionally model.
*
@@ -341,7 +341,7 @@ static int set_options(struct udev *udev,
case 'd':
dev_specified = 1;
- util_strscpy(maj_min_dev, MAX_PATH_LEN, optarg);
+ strscpy(maj_min_dev, MAX_PATH_LEN, optarg);
break;
case 'e':
@@ -349,7 +349,7 @@ static int set_options(struct udev *udev,
break;
case 'f':
- util_strscpy(config_file, MAX_PATH_LEN, optarg);
+ strscpy(config_file, MAX_PATH_LEN, optarg);
break;
case 'g':
@@ -372,11 +372,11 @@ static int set_options(struct udev *udev,
exit(0);
case 'p':
- if (strcmp(optarg, "0x80") == 0) {
+ if (streq(optarg, "0x80")) {
default_page_code = PAGE_80;
- } else if (strcmp(optarg, "0x83") == 0) {
+ } else if (streq(optarg, "0x83")) {
default_page_code = PAGE_83;
- } else if (strcmp(optarg, "pre-spc3-83") == 0) {
+ } else if (streq(optarg, "pre-spc3-83")) {
default_page_code = PAGE_83_PRE_SPC3;
} else {
log_error("Unknown page code '%s'\n", optarg);
@@ -415,7 +415,7 @@ static int set_options(struct udev *udev,
}
if (optind < argc && !dev_specified) {
dev_specified = 1;
- util_strscpy(maj_min_dev, MAX_PATH_LEN, argv[optind]);
+ strscpy(maj_min_dev, MAX_PATH_LEN, argv[optind]);
}
return 0;
}
@@ -449,11 +449,11 @@ static int per_dev_options(struct udev *udev,
break;
case 'p':
- if (strcmp(optarg, "0x80") == 0) {
+ if (streq(optarg, "0x80")) {
*page_code = PAGE_80;
- } else if (strcmp(optarg, "0x83") == 0) {
+ } else if (streq(optarg, "0x83")) {
*page_code = PAGE_83;
- } else if (strcmp(optarg, "pre-spc3-83") == 0) {
+ } else if (streq(optarg, "pre-spc3-83")) {
*page_code = PAGE_83_PRE_SPC3;
} else {
log_error("Unknown page code '%s'\n", optarg);
diff --git a/src/udev/scsi_id/scsi_id.h b/src/udev/scsi_id/scsi_id.h
index 828a98305f..103e443d07 100644
--- a/src/udev/scsi_id/scsi_id.h
+++ b/src/udev/scsi_id/scsi_id.h
@@ -15,25 +15,25 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#define MAX_PATH_LEN 512
+#define MAX_PATH_LEN 512
/*
* MAX_ATTR_LEN: maximum length of the result of reading a sysfs
* attribute.
*/
-#define MAX_ATTR_LEN 256
+#define MAX_ATTR_LEN 256
/*
* MAX_SERIAL_LEN: the maximum length of the serial number, including
* added prefixes such as vendor and product (model) strings.
*/
-#define MAX_SERIAL_LEN 256
+#define MAX_SERIAL_LEN 256
/*
* MAX_BUFFER_LEN: maximum buffer size and line length used while reading
* the config file.
*/
-#define MAX_BUFFER_LEN 256
+#define MAX_BUFFER_LEN 256
struct scsi_id_device {
char vendor[9];
@@ -58,9 +58,9 @@ struct scsi_id_device {
char tgpt_group[8];
};
-extern int scsi_std_inquiry(struct udev *udev, struct scsi_id_device *dev_scsi, const char *devname);
-extern int scsi_get_serial (struct udev *udev, struct scsi_id_device *dev_scsi, const char *devname,
- int page_code, int len);
+int scsi_std_inquiry(struct udev *udev, struct scsi_id_device *dev_scsi, const char *devname);
+int scsi_get_serial(struct udev *udev, struct scsi_id_device *dev_scsi, const char *devname,
+ int page_code, int len);
/*
* Page code values.
@@ -68,6 +68,6 @@ extern int scsi_get_serial (struct udev *udev, struct scsi_id_device *dev_scsi,
enum page_code {
PAGE_83_PRE_SPC3 = -0x83,
PAGE_UNSPECIFIED = 0x00,
- PAGE_80 = 0x80,
- PAGE_83 = 0x83,
+ PAGE_80 = 0x80,
+ PAGE_83 = 0x83,
};
diff --git a/src/udev/scsi_id/scsi_serial.c b/src/udev/scsi_id/scsi_serial.c
index 3c52dee62d..d522a23a08 100644
--- a/src/udev/scsi_id/scsi_serial.c
+++ b/src/udev/scsi_id/scsi_serial.c
@@ -436,7 +436,7 @@ static int do_scsi_page0_inquiry(struct udev *udev,
* If the vendor id appears in the page assume the page is
* invalid.
*/
- if (!strncmp((char *)&buffer[VENDOR_LENGTH], dev_scsi->vendor, VENDOR_LENGTH)) {
+ if (strneq((char *)&buffer[VENDOR_LENGTH], dev_scsi->vendor, VENDOR_LENGTH)) {
log_debug("%s: invalid page0 data\n", dev_scsi->kernel);
return 1;
}
@@ -799,7 +799,7 @@ static int do_scsi_page80_inquiry(struct udev *udev,
ser_ind = prepend_vendor_model(udev, dev_scsi, &serial[1]);
if (ser_ind < 0)
return 1;
- ser_ind++; /* for the leading 'S' */
+ ser_ind++; /* for the leading 'S' */
for (i = 4; i < len + 4; i++, ser_ind++)
serial[ser_ind] = buf[i];
}
diff --git a/src/udev/udev-builtin-blkid.c b/src/udev/udev-builtin-blkid.c
index 4293103046..bae429344f 100644
--- a/src/udev/udev-builtin-blkid.c
+++ b/src/udev/udev-builtin-blkid.c
@@ -76,8 +76,24 @@ static void print_property(struct udev_device *dev, bool test, const char *name,
udev_builtin_add_property(dev, test, "ID_PART_ENTRY_TYPE", s);
} else if (startswith(name, "PART_ENTRY_")) {
- util_strscpyl(s, sizeof(s), "ID_", name, NULL);
+ strscpyl(s, sizeof(s), "ID_", name, NULL);
udev_builtin_add_property(dev, test, s, value);
+
+ } else if (streq(name, "SYSTEM_ID")) {
+ blkid_encode_string(value, s, sizeof(s));
+ udev_builtin_add_property(dev, test, "ID_FS_SYSTEM_ID", s);
+
+ } else if (streq(name, "PUBLISHER_ID")) {
+ blkid_encode_string(value, s, sizeof(s));
+ udev_builtin_add_property(dev, test, "ID_FS_PUBLISHER_ID", s);
+
+ } else if (streq(name, "APPLICATION_ID")) {
+ blkid_encode_string(value, s, sizeof(s));
+ udev_builtin_add_property(dev, test, "ID_FS_APPLICATION_ID", s);
+
+ } else if (streq(name, "BOOT_SYSTEM_ID")) {
+ blkid_encode_string(value, s, sizeof(s));
+ udev_builtin_add_property(dev, test, "ID_FS_BOOT_SYSTEM_ID", s);
}
}
diff --git a/src/udev/udev-builtin-btrfs.c b/src/udev/udev-builtin-btrfs.c
index dfb05525ad..f7bea69b26 100644
--- a/src/udev/udev-builtin-btrfs.c
+++ b/src/udev/udev-builtin-btrfs.c
@@ -48,7 +48,7 @@ static int builtin_btrfs(struct udev_device *dev, int argc, char *argv[], bool t
if (fd < 0)
return EXIT_FAILURE;
- util_strscpy(args.name, sizeof(args.name), argv[2]);
+ strscpy(args.name, sizeof(args.name), argv[2]);
err = ioctl(fd, BTRFS_IOC_DEVICES_READY, &args);
close(fd);
if (err < 0)
diff --git a/src/udev/udev-builtin-firmware.c b/src/udev/udev-builtin-firmware.c
index 4a91d33575..b80940b6ef 100644
--- a/src/udev/udev-builtin-firmware.c
+++ b/src/udev/udev-builtin-firmware.c
@@ -78,8 +78,6 @@ static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], boo
{
struct udev *udev = udev_device_get_udev(dev);
static const char *searchpath[] = { FIRMWARE_PATH };
- char fwencpath[UTIL_PATH_SIZE];
- char misspath[UTIL_PATH_SIZE];
char loadpath[UTIL_PATH_SIZE];
char datapath[UTIL_PATH_SIZE];
char fwpath[UTIL_PATH_SIZE];
@@ -100,34 +98,21 @@ static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], boo
/* lookup firmware file */
uname(&kernel);
for (i = 0; i < ELEMENTSOF(searchpath); i++) {
- util_strscpyl(fwpath, sizeof(fwpath), searchpath[i], kernel.release, "/", firmware, NULL);
+ strscpyl(fwpath, sizeof(fwpath), searchpath[i], kernel.release, "/", firmware, NULL);
fwfile = fopen(fwpath, "re");
if (fwfile != NULL)
break;
- util_strscpyl(fwpath, sizeof(fwpath), searchpath[i], firmware, NULL);
+ strscpyl(fwpath, sizeof(fwpath), searchpath[i], firmware, NULL);
fwfile = fopen(fwpath, "re");
if (fwfile != NULL)
break;
}
- util_path_encode(firmware, fwencpath, sizeof(fwencpath));
- util_strscpyl(misspath, sizeof(misspath), "/run/udev/firmware-missing/", fwencpath, NULL);
- util_strscpyl(loadpath, sizeof(loadpath), udev_device_get_syspath(dev), "/loading", NULL);
+ strscpyl(loadpath, sizeof(loadpath), udev_device_get_syspath(dev), "/loading", NULL);
if (fwfile == NULL) {
- int err;
-
- /* This link indicates the missing firmware file and the associated device */
log_debug("did not find firmware file '%s'\n", firmware);
- do {
- err = mkdir_parents(misspath, 0755);
- if (err != 0 && err != -ENOENT)
- break;
- err = symlink(udev_device_get_devpath(dev), misspath);
- if (err != 0)
- err = -errno;
- } while (err == -ENOENT);
rc = EXIT_FAILURE;
/*
* Do not cancel the request in the initrd, the real root might have
@@ -146,13 +131,10 @@ static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], boo
goto exit;
}
- if (unlink(misspath) == 0)
- util_delete_path(udev, misspath);
-
if (!set_loading(udev, loadpath, "1"))
goto exit;
- util_strscpyl(datapath, sizeof(datapath), udev_device_get_syspath(dev), "/data", NULL);
+ strscpyl(datapath, sizeof(datapath), udev_device_get_syspath(dev), "/data", NULL);
if (!copy_firmware(udev, fwpath, datapath, statbuf.st_size)) {
log_error("error sending firmware '%s' to device\n", firmware);
set_loading(udev, loadpath, "-1");
diff --git a/src/udev/udev-builtin-kmod.c b/src/udev/udev-builtin-kmod.c
index 17aca2944d..fc28121267 100644
--- a/src/udev/udev-builtin-kmod.c
+++ b/src/udev/udev-builtin-kmod.c
@@ -78,7 +78,7 @@ static int builtin_kmod(struct udev_device *dev, int argc, char *argv[], bool te
if (!ctx)
return 0;
- if (argc < 3 || strcmp(argv[1], "load")) {
+ if (argc < 3 || !streq(argv[1], "load")) {
log_error("expect: %s load <module>\n", argv[0]);
return EXIT_FAILURE;
}
diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
index d5db762e80..5719021e93 100644
--- a/src/udev/udev-builtin-net_id.c
+++ b/src/udev/udev-builtin-net_id.c
@@ -24,6 +24,8 @@
* - physical/geographical location of the hardware
* - the interface's MAC address
*
+ * http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
+ *
* Two character prefixes based on the type of interface:
* en -- ethernet
* wl -- wlan
@@ -89,11 +91,13 @@
#include <linux/pci_regs.h>
#include "udev.h"
+#include "fileio.h"
enum netname_type{
NET_UNDEF,
NET_PCI,
NET_USB,
+ NET_BCMA,
};
struct netnames {
@@ -108,8 +112,9 @@ struct netnames {
char pci_onboard[IFNAMSIZ];
const char *pci_onboard_label;
- struct udev_device *usbdev;
char usb_ports[IFNAMSIZ];
+
+ char bcma_core[IFNAMSIZ];
};
/* retrieve on-board index number and label from firmware */
@@ -136,7 +141,7 @@ static int dev_pci_onboard(struct udev_device *dev, struct netnames *names) {
/* read the 256 bytes PCI configuration space to check the multi-function bit */
static bool is_pci_multifunction(struct udev_device *dev) {
char filename[256];
- FILE *f;
+ FILE *f = NULL;
char config[64];
bool multi = false;
@@ -151,7 +156,8 @@ static bool is_pci_multifunction(struct udev_device *dev) {
if ((config[PCI_HEADER_TYPE] & 0x80) != 0)
multi = true;
out:
- fclose(f);
+ if(f)
+ fclose(f);
return multi;
}
@@ -182,11 +188,11 @@ static int dev_pci_slot(struct udev_device *dev, struct netnames *names) {
/* compose a name based on the raw kernel's PCI bus, slot numbers */
s = names->pci_path;
- l = util_strpcpyf(&s, sizeof(names->pci_path), "p%ds%d", bus, slot);
+ l = strpcpyf(&s, sizeof(names->pci_path), "p%ds%d", bus, slot);
if (func > 0 || is_pci_multifunction(names->pcidev))
- l = util_strpcpyf(&s, l, "f%d", func);
+ l = strpcpyf(&s, l, "f%d", func);
if (dev_id > 0)
- l = util_strpcpyf(&s, l, "d%d", dev_id);
+ l = strpcpyf(&s, l, "d%d", dev_id);
if (l == 0)
names->pci_path[0] = '\0';
@@ -218,7 +224,7 @@ static int dev_pci_slot(struct udev_device *dev, struct netnames *names) {
snprintf(str, sizeof(str), "%s/%s/address", slots, dent->d_name);
if (read_one_line_file(str, &address) >= 0) {
/* match slot address with device by stripping the function */
- if (strncmp(address, udev_device_get_sysname(names->pcidev), strlen(address)) == 0)
+ if (strneq(address, udev_device_get_sysname(names->pcidev), strlen(address)))
hotplug_slot = i;
free(address);
}
@@ -230,11 +236,11 @@ static int dev_pci_slot(struct udev_device *dev, struct netnames *names) {
if (hotplug_slot > 0) {
s = names->pci_slot;
- l = util_strpcpyf(&s, sizeof(names->pci_slot), "s%d", hotplug_slot);
+ l = strpcpyf(&s, sizeof(names->pci_slot), "s%d", hotplug_slot);
if (func > 0 || is_pci_multifunction(names->pcidev))
- l = util_strpcpyf(&s, l, "f%d", func);
+ l = strpcpyf(&s, l, "f%d", func);
if (dev_id > 0)
- l = util_strpcpyf(&s, l, "d%d", dev_id);
+ l = strpcpyf(&s, l, "d%d", dev_id);
if (l == 0)
names->pci_path[0] = '\0';
}
@@ -250,7 +256,7 @@ static int names_pci(struct udev_device *dev, struct netnames *names) {
if (!parent)
return -ENOENT;
/* check if our direct parent is a PCI device with no other bus in-between */
- if (streq("pci", udev_device_get_subsystem(parent))) {
+ if (streq_ptr("pci", udev_device_get_subsystem(parent))) {
names->type = NET_PCI;
names->pcidev = parent;
} else {
@@ -264,6 +270,7 @@ static int names_pci(struct udev_device *dev, struct netnames *names) {
}
static int names_usb(struct udev_device *dev, struct netnames *names) {
+ struct udev_device *usbdev;
char name[256];
char *ports;
char *config;
@@ -271,12 +278,12 @@ static int names_usb(struct udev_device *dev, struct netnames *names) {
size_t l;
char *s;
- names->usbdev = udev_device_get_parent_with_subsystem_devtype(dev, "usb", "usb_interface");
- if (!names->usbdev)
+ usbdev = udev_device_get_parent_with_subsystem_devtype(dev, "usb", "usb_interface");
+ if (!usbdev)
return -ENOENT;
/* get USB port number chain, configuration, interface */
- util_strscpy(name, sizeof(name), udev_device_get_sysname(names->usbdev));
+ strscpy(name, sizeof(name), udev_device_get_sysname(usbdev));
s = strchr(name, '-');
if (!s)
return -EINVAL;
@@ -299,15 +306,15 @@ static int names_usb(struct udev_device *dev, struct netnames *names) {
while ((s = strchr(s, '.')))
s[0] = 'u';
s = names->usb_ports;
- l = util_strpcpyl(&s, sizeof(names->usb_ports), "u", ports, NULL);
+ l = strpcpyl(&s, sizeof(names->usb_ports), "u", ports, NULL);
/* append USB config number, suppress the common config == 1 */
if (!streq(config, "1"))
- l = util_strpcpyl(&s, sizeof(names->usb_ports), "c", config, NULL);
+ l = strpcpyl(&s, sizeof(names->usb_ports), "c", config, NULL);
/* append USB interface number, suppress the interface == 0 */
if (!streq(interf, "0"))
- l = util_strpcpyl(&s, sizeof(names->usb_ports), "i", interf, NULL);
+ l = strpcpyl(&s, sizeof(names->usb_ports), "i", interf, NULL);
if (l == 0)
return -ENAMETOOLONG;
@@ -315,6 +322,25 @@ static int names_usb(struct udev_device *dev, struct netnames *names) {
return 0;
}
+static int names_bcma(struct udev_device *dev, struct netnames *names) {
+ struct udev_device *bcmadev;
+ unsigned int core;
+
+ bcmadev = udev_device_get_parent_with_subsystem_devtype(dev, "bcma", NULL);
+ if (!bcmadev)
+ return -ENOENT;
+
+ /* bus num:core num */
+ if (sscanf(udev_device_get_sysname(bcmadev), "bcma%*d:%d", &core) != 1)
+ return -EINVAL;
+ /* suppress the common core == 0 */
+ if (core > 0)
+ snprintf(names->bcma_core, sizeof(names->bcma_core), "b%d", core);
+
+ names->type = NET_BCMA;
+ return 0;
+}
+
static int names_mac(struct udev_device *dev, struct netnames *names) {
const char *s;
unsigned int i;
@@ -366,10 +392,11 @@ static int ieee_oui(struct udev_device *dev, struct netnames *names, bool test)
static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool test) {
const char *s;
+ const char *p;
unsigned int i;
const char *devtype;
const char *prefix = "en";
- struct netnames names;
+ struct netnames names = {};
int err;
/* handle only ARPHRD_ETHER devices */
@@ -380,6 +407,16 @@ static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool
if (i != 1)
return 0;
+ /* skip stacked devices, like VLANs, ... */
+ s = udev_device_get_sysattr_value(dev, "ifindex");
+ if (!s)
+ return EXIT_FAILURE;
+ p = udev_device_get_sysattr_value(dev, "iflink");
+ if (!p)
+ return EXIT_FAILURE;
+ if (!streq(s, p))
+ return 0;
+
devtype = udev_device_get_devtype(dev);
if (devtype) {
if (streq("wlan", devtype))
@@ -388,7 +425,6 @@ static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool
prefix = "ww";
}
- zero(names);
err = names_mac(dev, &names);
if (err >= 0 && names.mac_valid) {
char str[IFNAMSIZ];
@@ -440,7 +476,24 @@ static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool
if (names.pci_slot[0])
if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.usb_ports) < (int)sizeof(str))
udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str);
+ goto out;
+ }
+
+ /* Broadcom bus */
+ err = names_bcma(dev, &names);
+ if (err >= 0 && names.type == NET_BCMA) {
+ char str[IFNAMSIZ];
+
+ if (names.pci_path[0])
+ if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.bcma_core) < (int)sizeof(str))
+ udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str);
+
+ if (names.pci_slot[0])
+ if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.bcma_core) < (int)sizeof(str))
+ udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str);
+ goto out;
}
+
out:
return EXIT_SUCCESS;
}
diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
index c2c9161c94..da0273197b 100644
--- a/src/udev/udev-builtin-path_id.c
+++ b/src/udev/udev-builtin-path_id.c
@@ -83,7 +83,7 @@ static struct udev_device *skip_subsystem(struct udev_device *dev, const char *s
const char *subsystem;
subsystem = udev_device_get_subsystem(parent);
- if (subsystem == NULL || strcmp(subsystem, subsys) != 0)
+ if (subsystem == NULL || !streq(subsystem, subsys))
break;
dev = parent;
parent = udev_device_get_parent(parent);
@@ -345,7 +345,7 @@ static struct udev_device *handle_scsi(struct udev_device *parent, char **path)
const char *id;
devtype = udev_device_get_devtype(parent);
- if (devtype == NULL || strcmp(devtype, "scsi_device") != 0)
+ if (devtype == NULL || !streq(devtype, "scsi_device"))
return parent;
/* firewire */
@@ -356,7 +356,7 @@ static struct udev_device *handle_scsi(struct udev_device *parent, char **path)
goto out;
}
- /* lousy scsi sysfs does not have a "subsystem" for the transport */
+ /* scsi sysfs does not have a "subsystem" for the transport */
name = udev_device_get_syspath(parent);
if (strstr(name, "/rport-") != NULL) {
@@ -375,12 +375,15 @@ static struct udev_device *handle_scsi(struct udev_device *parent, char **path)
}
/*
- * We do not support the ATA transport class, it creates duplicated link
- * names as the fake SCSI host adapters are all separated, they are all
- * re-based as host == 0. ATA should just stop faking two duplicated
- * hierarchies for a single topology and leave the SCSI stuff alone;
- * until that happens, there are no by-path/ links for ATA devices behind
- * an ATA transport class.
+ * We do not support the ATA transport class, it uses global counters
+ * to name the ata devices which numbers spread across multiple
+ * controllers.
+ *
+ * The real link numbers are not exported. Also, possible chains of ports
+ * behind port multipliers cannot be composed that way.
+ *
+ * Until all that is solved at the kernel level, there are no by-path/
+ * links for ATA devices.
*/
if (strstr(name, "/ata") != NULL) {
parent = NULL;
@@ -435,7 +438,7 @@ static struct udev_device *handle_usb(struct udev_device *parent, char **path)
devtype = udev_device_get_devtype(parent);
if (devtype == NULL)
return parent;
- if (strcmp(devtype, "usb_interface") != 0 && strcmp(devtype, "usb_device") != 0)
+ if (!streq(devtype, "usb_interface") && !streq(devtype, "usb_device"))
return parent;
str = udev_device_get_sysname(parent);
@@ -495,37 +498,37 @@ static int builtin_path_id(struct udev_device *dev, int argc, char *argv[], bool
subsys = udev_device_get_subsystem(parent);
if (subsys == NULL) {
;
- } else if (strcmp(subsys, "scsi_tape") == 0) {
+ } else if (streq(subsys, "scsi_tape")) {
handle_scsi_tape(parent, &path);
- } else if (strcmp(subsys, "scsi") == 0) {
+ } else if (streq(subsys, "scsi")) {
parent = handle_scsi(parent, &path);
some_transport = true;
- } else if (strcmp(subsys, "cciss") == 0) {
+ } else if (streq(subsys, "cciss")) {
parent = handle_cciss(parent, &path);
some_transport = true;
- } else if (strcmp(subsys, "usb") == 0) {
+ } else if (streq(subsys, "usb")) {
parent = handle_usb(parent, &path);
some_transport = true;
- } else if (strcmp(subsys, "serio") == 0) {
+ } else if (streq(subsys, "serio")) {
path_prepend(&path, "serio-%s", udev_device_get_sysnum(parent));
parent = skip_subsystem(parent, "serio");
- } else if (strcmp(subsys, "pci") == 0) {
+ } else if (streq(subsys, "pci")) {
path_prepend(&path, "pci-%s", udev_device_get_sysname(parent));
parent = skip_subsystem(parent, "pci");
- } else if (strcmp(subsys, "platform") == 0) {
+ } else if (streq(subsys, "platform")) {
path_prepend(&path, "platform-%s", udev_device_get_sysname(parent));
parent = skip_subsystem(parent, "platform");
some_transport = true;
- } else if (strcmp(subsys, "acpi") == 0) {
+ } else if (streq(subsys, "acpi")) {
path_prepend(&path, "acpi-%s", udev_device_get_sysname(parent));
parent = skip_subsystem(parent, "acpi");
- } else if (strcmp(subsys, "xen") == 0) {
+ } else if (streq(subsys, "xen")) {
path_prepend(&path, "xen-%s", udev_device_get_sysname(parent));
parent = skip_subsystem(parent, "xen");
- } else if (strcmp(subsys, "virtio") == 0) {
+ } else if (streq(subsys, "virtio")) {
path_prepend(&path, "virtio-pci-%s", udev_device_get_sysname(parent));
parent = skip_subsystem(parent, "virtio");
- } else if (strcmp(subsys, "scm") == 0) {
+ } else if (streq(subsys, "scm")) {
path_prepend(&path, "scm-%s", udev_device_get_sysname(parent));
parent = skip_subsystem(parent, "scm");
}
diff --git a/src/udev/udev-builtin-uaccess.c b/src/udev/udev-builtin-uaccess.c
index 662bac9e0b..354ee08f28 100644
--- a/src/udev/udev-builtin-uaccess.c
+++ b/src/udev/udev-builtin-uaccess.c
@@ -29,7 +29,6 @@
#include <dirent.h>
#include <getopt.h>
-#include <systemd/sd-daemon.h>
#include <systemd/sd-login.h>
#include "logind-acl.h"
#include "udev.h"
@@ -49,7 +48,7 @@ static int builtin_uaccess(struct udev_device *dev, int argc, char *argv[], bool
umask(0022);
/* don't muck around with ACLs when the system is not running systemd */
- if (!sd_booted())
+ if (!logind_running())
return 0;
path = udev_device_get_devnode(dev);
diff --git a/src/udev/udev-builtin-usb_id.c b/src/udev/udev-builtin-usb_id.c
index 13d1226393..e3bbd05e4b 100644
--- a/src/udev/udev-builtin-usb_id.c
+++ b/src/udev/udev-builtin-usb_id.c
@@ -111,7 +111,7 @@ static int set_usb_mass_storage_ifsubtype(char *to, const char *from, size_t len
break;
}
}
- util_strscpy(to, len, type);
+ strscpy(to, len, type);
return type_num;
}
@@ -143,7 +143,7 @@ static void set_scsi_type(char *to, const char *from, size_t len)
break;
}
}
- util_strscpy(to, len, type);
+ strscpy(to, len, type);
}
#define USB_DT_DEVICE 0x01
@@ -151,11 +151,12 @@ static void set_scsi_type(char *to, const char *from, size_t len)
static int dev_if_packed_info(struct udev_device *dev, char *ifs_str, size_t len)
{
- char *filename = NULL;
- int fd;
+ _cleanup_free_ char *filename = NULL;
+ _cleanup_close_ int fd = -1;
ssize_t size;
unsigned char buf[18 + 65535];
- unsigned int pos, strpos;
+ int pos = 0;
+ unsigned strpos = 0;
struct usb_interface_descriptor {
u_int8_t bLength;
u_int8_t bDescriptorType;
@@ -167,29 +168,22 @@ static int dev_if_packed_info(struct udev_device *dev, char *ifs_str, size_t len
u_int8_t bInterfaceProtocol;
u_int8_t iInterface;
} __attribute__((packed));
- int err = 0;
- if (asprintf(&filename, "%s/descriptors", udev_device_get_syspath(dev)) < 0) {
- err = -1;
- goto out;
- }
+ if (asprintf(&filename, "%s/descriptors", udev_device_get_syspath(dev)) < 0)
+ return log_oom();
+
fd = open(filename, O_RDONLY|O_CLOEXEC);
if (fd < 0) {
fprintf(stderr, "error opening USB device 'descriptors' file\n");
- err = -1;
- goto out;
+ return -errno;
}
+
size = read(fd, buf, sizeof(buf));
- close(fd);
- if (size < 18 || size == sizeof(buf)) {
- err = -1;
- goto out;
- }
+ if (size < 18 || size == sizeof(buf))
+ return -EIO;
- pos = 0;
- strpos = 0;
ifs_str[0] = '\0';
- while (pos < sizeof(buf) && strpos+7 < len-2) {
+ while (pos < size && strpos+7 < len-2) {
struct usb_interface_descriptor *desc;
char if_str[8];
@@ -213,13 +207,13 @@ static int dev_if_packed_info(struct udev_device *dev, char *ifs_str, size_t len
memcpy(&ifs_str[strpos], if_str, 8),
strpos += 7;
}
+
if (strpos > 0) {
ifs_str[strpos++] = ':';
ifs_str[strpos++] = '\0';
}
-out:
- free(filename);
- return err;
+
+ return 0;
}
/*
@@ -273,7 +267,7 @@ static int builtin_usb_id(struct udev_device *dev, int argc, char *argv[], bool
instance_str[0] = '\0';
/* shortcut, if we are called directly for a "usb_device" type */
- if (udev_device_get_devtype(dev) != NULL && strcmp(udev_device_get_devtype(dev), "usb_device") == 0) {
+ if (udev_device_get_devtype(dev) != NULL && streq(udev_device_get_devtype(dev), "usb_device")) {
dev_if_packed_info(dev, packed_if_str, sizeof(packed_if_str));
dev_usb = dev;
goto fallback;
@@ -432,18 +426,29 @@ fallback:
usb_serial = udev_device_get_sysattr_value(dev_usb, "serial");
if (usb_serial) {
+ const unsigned char *p;
+
+ /* http://msdn.microsoft.com/en-us/library/windows/hardware/gg487321.aspx */
+ for (p = (unsigned char *)usb_serial; *p != '\0'; p++)
+ if (*p < 0x20 || *p > 0x7f || *p == ',') {
+ usb_serial = NULL;
+ break;
+ }
+ }
+
+ if (usb_serial) {
util_replace_whitespace(usb_serial, serial_str, sizeof(serial_str)-1);
util_replace_chars(serial_str, NULL);
}
}
s = serial;
- l = util_strpcpyl(&s, sizeof(serial), vendor_str, "_", model_str, NULL);
+ l = strpcpyl(&s, sizeof(serial), vendor_str, "_", model_str, NULL);
if (serial_str[0] != '\0')
- l = util_strpcpyl(&s, l, "_", serial_str, NULL);
+ l = strpcpyl(&s, l, "_", serial_str, NULL);
if (instance_str[0] != '\0')
- util_strpcpyl(&s, l, "-", instance_str, NULL);
+ strpcpyl(&s, l, "-", instance_str, NULL);
udev_builtin_add_property(dev, test, "ID_VENDOR", vendor_str);
udev_builtin_add_property(dev, test, "ID_VENDOR_ENC", vendor_str_enc);
diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c
index 32e6e1e90c..c7d431988d 100644
--- a/src/udev/udev-builtin.c
+++ b/src/udev/udev-builtin.c
@@ -34,7 +34,9 @@ static const struct udev_builtin *builtins[] = {
[UDEV_BUILTIN_BLKID] = &udev_builtin_blkid,
#endif
[UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs,
+#ifdef HAVE_FIRMWARE
[UDEV_BUILTIN_FIRMWARE] = &udev_builtin_firmware,
+#endif
[UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb,
[UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id,
#ifdef HAVE_KMOD
@@ -110,12 +112,12 @@ enum udev_builtin_cmd udev_builtin_lookup(const char *command)
enum udev_builtin_cmd i;
char *pos;
- util_strscpy(name, sizeof(name), command);
+ strscpy(name, sizeof(name), command);
pos = strchr(name, ' ');
if (pos)
pos[0] = '\0';
for (i = 0; i < ELEMENTSOF(builtins); i++)
- if (strcmp(builtins[i]->name, name) == 0)
+ if (streq(builtins[i]->name, name))
return i;
return UDEV_BUILTIN_MAX;
}
@@ -128,7 +130,7 @@ int udev_builtin_run(struct udev_device *dev, enum udev_builtin_cmd cmd, const c
/* we need '0' here to reset the internal state */
optind = 0;
- util_strscpy(arg, sizeof(arg), command);
+ strscpy(arg, sizeof(arg), command);
udev_build_argv(udev_device_get_udev(dev), arg, &argc, argv);
return builtins[cmd]->cmd(dev, argc, argv, test);
}
diff --git a/src/udev/udev-ctrl.c b/src/udev/udev-ctrl.c
index a235912ffb..e60da906c5 100644
--- a/src/udev/udev-ctrl.c
+++ b/src/udev/udev-ctrl.c
@@ -73,6 +73,7 @@ struct udev_ctrl_connection {
struct udev_ctrl *udev_ctrl_new_from_fd(struct udev *udev, int fd)
{
struct udev_ctrl *uctrl;
+ const int on = 1;
uctrl = calloc(1, sizeof(struct udev_ctrl));
if (uctrl == NULL)
@@ -91,9 +92,10 @@ struct udev_ctrl *udev_ctrl_new_from_fd(struct udev *udev, int fd)
uctrl->bound = true;
uctrl->sock = fd;
}
+ setsockopt(uctrl->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on));
uctrl->saddr.sun_family = AF_LOCAL;
- util_strscpy(uctrl->saddr.sun_path, sizeof(uctrl->saddr.sun_path), "/run/udev/control");
+ strscpy(uctrl->saddr.sun_path, sizeof(uctrl->saddr.sun_path), "/run/udev/control");
uctrl->addrlen = offsetof(struct sockaddr_un, sun_path) + strlen(uctrl->saddr.sun_path);
return uctrl;
}
@@ -250,7 +252,7 @@ static int ctrl_send(struct udev_ctrl *uctrl, enum udev_ctrl_msg_type type, int
ctrl_msg_wire.type = type;
if (buf != NULL)
- util_strscpy(ctrl_msg_wire.buf, sizeof(ctrl_msg_wire.buf), buf);
+ strscpy(ctrl_msg_wire.buf, sizeof(ctrl_msg_wire.buf), buf);
else
ctrl_msg_wire.intval = intval;
diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
index 5eedf4f0df..3db2cb7165 100644
--- a/src/udev/udev-event.c
+++ b/src/udev/udev-event.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003-2010 Kay Sievers <kay@vrfy.org>
+ * Copyright (C) 2003-2013 Kay Sievers <kay@vrfy.org>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -191,20 +191,20 @@ subst:
switch (type) {
case SUBST_DEVPATH:
- l = util_strpcpy(&s, l, udev_device_get_devpath(dev));
+ l = strpcpy(&s, l, udev_device_get_devpath(dev));
break;
case SUBST_KERNEL:
- l = util_strpcpy(&s, l, udev_device_get_sysname(dev));
+ l = strpcpy(&s, l, udev_device_get_sysname(dev));
break;
case SUBST_KERNEL_NUMBER:
if (udev_device_get_sysnum(dev) == NULL)
break;
- l = util_strpcpy(&s, l, udev_device_get_sysnum(dev));
+ l = strpcpy(&s, l, udev_device_get_sysnum(dev));
break;
case SUBST_ID:
if (event->dev_parent == NULL)
break;
- l = util_strpcpy(&s, l, udev_device_get_sysname(event->dev_parent));
+ l = strpcpy(&s, l, udev_device_get_sysname(event->dev_parent));
break;
case SUBST_DRIVER: {
const char *driver;
@@ -215,21 +215,21 @@ subst:
driver = udev_device_get_driver(event->dev_parent);
if (driver == NULL)
break;
- l = util_strpcpy(&s, l, driver);
+ l = strpcpy(&s, l, driver);
break;
}
case SUBST_MAJOR: {
char num[UTIL_PATH_SIZE];
sprintf(num, "%d", major(udev_device_get_devnum(dev)));
- l = util_strpcpy(&s, l, num);
+ l = strpcpy(&s, l, num);
break;
}
case SUBST_MINOR: {
char num[UTIL_PATH_SIZE];
sprintf(num, "%d", minor(udev_device_get_devnum(dev)));
- l = util_strpcpy(&s, l, num);
+ l = strpcpy(&s, l, num);
break;
}
case SUBST_RESULT: {
@@ -247,7 +247,7 @@ subst:
char tmp[UTIL_PATH_SIZE];
char *cpos;
- util_strscpy(result, sizeof(result), event->program_result);
+ strscpy(result, sizeof(result), event->program_result);
cpos = result;
while (--i) {
while (cpos[0] != '\0' && !isspace(cpos[0]))
@@ -259,16 +259,16 @@ subst:
log_error("requested part of result string not found\n");
break;
}
- util_strscpy(tmp, sizeof(tmp), cpos);
+ strscpy(tmp, sizeof(tmp), cpos);
/* %{2+}c copies the whole string from the second part on */
if (rest[0] != '+') {
cpos = strchr(tmp, ' ');
if (cpos)
cpos[0] = '\0';
}
- l = util_strpcpy(&s, l, tmp);
+ l = strpcpy(&s, l, tmp);
} else {
- l = util_strpcpy(&s, l, event->program_result);
+ l = strpcpy(&s, l, event->program_result);
}
break;
}
@@ -300,14 +300,14 @@ subst:
/* strip trailing whitespace, and replace unwanted characters */
if (value != vbuf)
- util_strscpy(vbuf, sizeof(vbuf), value);
+ strscpy(vbuf, sizeof(vbuf), value);
len = strlen(vbuf);
while (len > 0 && isspace(vbuf[--len]))
vbuf[len] = '\0';
count = util_replace_chars(vbuf, UDEV_ALLOWED_CHARS_INPUT);
if (count > 0)
log_debug("%i character(s) replaced\n" , count);
- l = util_strpcpy(&s, l, vbuf);
+ l = strpcpy(&s, l, vbuf);
break;
}
case SUBST_PARENT: {
@@ -319,20 +319,20 @@ subst:
break;
devnode = udev_device_get_devnode(dev_parent);
if (devnode != NULL)
- l = util_strpcpy(&s, l, devnode + strlen("/dev/"));
+ l = strpcpy(&s, l, devnode + strlen("/dev/"));
break;
}
case SUBST_DEVNODE:
if (udev_device_get_devnode(dev) != NULL)
- l = util_strpcpy(&s, l, udev_device_get_devnode(dev));
+ l = strpcpy(&s, l, udev_device_get_devnode(dev));
break;
case SUBST_NAME:
if (event->name != NULL)
- l = util_strpcpy(&s, l, event->name);
+ l = strpcpy(&s, l, event->name);
else if (udev_device_get_devnode(dev) != NULL)
- l = util_strpcpy(&s, l, udev_device_get_devnode(dev) + strlen("/dev/"));
+ l = strpcpy(&s, l, udev_device_get_devnode(dev) + strlen("/dev/"));
else
- l = util_strpcpy(&s, l, udev_device_get_sysname(dev));
+ l = strpcpy(&s, l, udev_device_get_sysname(dev));
break;
case SUBST_LINKS: {
struct udev_list_entry *list_entry;
@@ -340,16 +340,16 @@ subst:
list_entry = udev_device_get_devlinks_list_entry(dev);
if (list_entry == NULL)
break;
- l = util_strpcpy(&s, l, udev_list_entry_get_name(list_entry) + strlen("/dev/"));
+ l = strpcpy(&s, l, udev_list_entry_get_name(list_entry) + strlen("/dev/"));
udev_list_entry_foreach(list_entry, udev_list_entry_get_next(list_entry))
- l = util_strpcpyl(&s, l, " ", udev_list_entry_get_name(list_entry) + strlen("/dev/"), NULL);
+ l = strpcpyl(&s, l, " ", udev_list_entry_get_name(list_entry) + strlen("/dev/"), NULL);
break;
}
case SUBST_ROOT:
- l = util_strpcpy(&s, l, "/dev");
+ l = strpcpy(&s, l, "/dev");
break;
case SUBST_SYS:
- l = util_strpcpy(&s, l, "/sys");
+ l = strpcpy(&s, l, "/sys");
break;
case SUBST_ENV:
if (attr == NULL) {
@@ -360,7 +360,7 @@ subst:
value = udev_device_get_property_value(event->dev, attr);
if (value == NULL)
break;
- l = util_strpcpy(&s, l, value);
+ l = strpcpy(&s, l, value);
break;
}
default:
@@ -667,7 +667,7 @@ int udev_event_spawn(struct udev_event *event,
char program[UTIL_PATH_SIZE];
int err = 0;
- util_strscpy(arg, sizeof(arg), cmd);
+ strscpy(arg, sizeof(arg), cmd);
udev_build_argv(event->udev, arg, NULL, argv);
/* pipes from child to parent */
@@ -688,7 +688,7 @@ int udev_event_spawn(struct udev_event *event,
/* allow programs in /usr/lib/udev/ to be called without the path */
if (argv[0][0] != '/') {
- util_strscpyl(program, sizeof(program), UDEVLIBEXECDIR "/", argv[0], NULL);
+ strscpyl(program, sizeof(program), UDEVLIBEXECDIR "/", argv[0], NULL);
argv[0] = program;
}
@@ -763,8 +763,8 @@ static int rename_netif(struct udev_event *event)
}
memset(&ifr, 0x00, sizeof(struct ifreq));
- util_strscpy(ifr.ifr_name, IFNAMSIZ, udev_device_get_sysname(dev));
- util_strscpy(ifr.ifr_newname, IFNAMSIZ, event->name);
+ strscpy(ifr.ifr_name, IFNAMSIZ, udev_device_get_sysname(dev));
+ strscpy(ifr.ifr_newname, IFNAMSIZ, event->name);
err = ioctl(sk, SIOCSIFNAME, &ifr);
if (err >= 0) {
print_kmsg("renamed network interface %s to %s\n", ifr.ifr_name, ifr.ifr_newname);
@@ -784,7 +784,7 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
if (udev_device_get_subsystem(dev) == NULL)
return -1;
- if (strcmp(udev_device_get_action(dev), "remove") == 0) {
+ if (streq(udev_device_get_action(dev), "remove")) {
udev_device_read_db(dev, NULL);
udev_device_delete_db(dev);
udev_device_tag_index(dev, NULL, false);
@@ -812,8 +812,8 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
udev_rules_apply_to_event(rules, event, sigmask);
/* rename a new network interface, if needed */
- if (udev_device_get_ifindex(dev) > 0 && strcmp(udev_device_get_action(dev), "add") == 0 &&
- event->name != NULL && strcmp(event->name, udev_device_get_sysname(dev)) != 0) {
+ if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") &&
+ event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) {
char syspath[UTIL_PATH_SIZE];
char *pos;
@@ -825,11 +825,11 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
udev_device_add_property(dev, "INTERFACE_OLD", udev_device_get_sysname(dev));
/* now change the devpath, because the kernel device name has changed */
- util_strscpy(syspath, sizeof(syspath), udev_device_get_syspath(dev));
+ strscpy(syspath, sizeof(syspath), udev_device_get_syspath(dev));
pos = strrchr(syspath, '/');
if (pos != NULL) {
pos++;
- util_strscpy(pos, sizeof(syspath) - (pos - syspath), event->name);
+ strscpy(pos, sizeof(syspath) - (pos - syspath), event->name);
udev_device_set_syspath(event->dev, syspath);
udev_device_add_property(dev, "INTERFACE", udev_device_get_sysname(dev));
log_debug("changed devpath to '%s'\n", udev_device_get_devpath(dev));
@@ -838,6 +838,8 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
}
if (major(udev_device_get_devnum(dev)) > 0) {
+ bool apply;
+
/* remove/update possible left-over symlinks from old database entry */
if (event->dev_db != NULL)
udev_node_update_old_links(dev, event->dev_db);
@@ -861,7 +863,8 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
}
}
- udev_node_add(dev, event->mode, event->uid, event->gid);
+ apply = streq(udev_device_get_action(dev), "add") || event->owner_set || event->group_set || event->mode_set;
+ udev_node_add(dev, apply, event->mode, event->uid, event->gid);
}
/* preserve old, or get new initialization timestamp */
diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c
index 1e378adf29..1148a1529c 100644
--- a/src/udev/udev-node.c
+++ b/src/udev/udev-node.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003-2010 Kay Sievers <kay@vrfy.org>
+ * Copyright (C) 2003-2013 Kay Sievers <kay@vrfy.org>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -31,15 +31,13 @@
#include "udev.h"
-#define TMP_FILE_EXT ".udev-tmp"
-
-static int node_symlink(struct udev *udev, const char *node, const char *slink)
+static int node_symlink(struct udev_device *dev, const char *node, const char *slink)
{
struct stat stats;
char target[UTIL_PATH_SIZE];
char *s;
size_t l;
- char slink_tmp[UTIL_PATH_SIZE + sizeof(TMP_FILE_EXT)];
+ char slink_tmp[UTIL_PATH_SIZE + 32];
int i = 0;
int tail = 0;
int err = 0;
@@ -55,10 +53,10 @@ static int node_symlink(struct udev *udev, const char *node, const char *slink)
l = sizeof(target);
while (slink[i] != '\0') {
if (slink[i] == '/')
- l = util_strpcpy(&s, l, "../");
+ l = strpcpy(&s, l, "../");
i++;
}
- l = util_strscpy(s, l, &node[tail]);
+ l = strscpy(s, l, &node[tail]);
if (l == 0) {
err = -EINVAL;
goto exit;
@@ -76,7 +74,7 @@ static int node_symlink(struct udev *udev, const char *node, const char *slink)
len = readlink(slink, buf, sizeof(buf));
if (len > 0 && len < (int)sizeof(buf)) {
buf[len] = '\0';
- if (strcmp(target, buf) == 0) {
+ if (streq(target, buf)) {
log_debug("preserve already existing symlink '%s' to '%s'\n", slink, target);
label_fix(slink, true, false);
utimensat(AT_FDCWD, slink, NULL, AT_SYMLINK_NOFOLLOW);
@@ -101,7 +99,7 @@ static int node_symlink(struct udev *udev, const char *node, const char *slink)
}
log_debug("atomically replace '%s'\n", slink);
- util_strscpyl(slink_tmp, sizeof(slink_tmp), slink, TMP_FILE_EXT, NULL);
+ strscpyl(slink_tmp, sizeof(slink_tmp), slink, ".tmp-", udev_device_get_id_filename(dev), NULL);
unlink(slink_tmp);
do {
err = mkdir_parents_label(slink_tmp, 0755);
@@ -136,7 +134,7 @@ static const char *link_find_prioritized(struct udev_device *dev, bool add, cons
if (add) {
priority = udev_device_get_devlink_priority(dev);
- util_strscpy(buf, bufsize, udev_device_get_devnode(dev));
+ strscpy(buf, bufsize, udev_device_get_devnode(dev));
target = buf;
}
@@ -156,7 +154,7 @@ static const char *link_find_prioritized(struct udev_device *dev, bool add, cons
log_debug("found '%s' claiming '%s'\n", dent->d_name, stackdir);
/* did we find ourself? */
- if (strcmp(dent->d_name, udev_device_get_id_filename(dev)) == 0)
+ if (streq(dent->d_name, udev_device_get_id_filename(dev)))
continue;
dev_db = udev_device_new_from_device_id(udev, dent->d_name);
@@ -169,7 +167,7 @@ static const char *link_find_prioritized(struct udev_device *dev, bool add, cons
log_debug("'%s' claims priority %i for '%s'\n",
udev_device_get_syspath(dev_db), udev_device_get_devlink_priority(dev_db), stackdir);
priority = udev_device_get_devlink_priority(dev_db);
- util_strscpy(buf, bufsize, devnode);
+ strscpy(buf, bufsize, devnode);
target = buf;
}
}
@@ -191,8 +189,8 @@ static void link_update(struct udev_device *dev, const char *slink, bool add)
char buf[UTIL_PATH_SIZE];
util_path_encode(slink + strlen("/dev"), name_enc, sizeof(name_enc));
- util_strscpyl(dirname, sizeof(dirname), "/run/udev/links/", name_enc, NULL);
- util_strscpyl(filename, sizeof(filename), dirname, "/", udev_device_get_id_filename(dev), NULL);
+ strscpyl(dirname, sizeof(dirname), "/run/udev/links/", name_enc, NULL);
+ strscpyl(filename, sizeof(filename), dirname, "/", udev_device_get_id_filename(dev), NULL);
if (!add && unlink(filename) == 0)
rmdir(dirname);
@@ -204,7 +202,7 @@ static void link_update(struct udev_device *dev, const char *slink, bool add)
util_delete_path(udev, slink);
} else {
log_debug("creating link '%s' to '%s'\n", slink, target);
- node_symlink(udev, target, slink);
+ node_symlink(dev, target, slink);
}
if (add) {
@@ -240,7 +238,7 @@ void udev_node_update_old_links(struct udev_device *dev, struct udev_device *dev
udev_list_entry_foreach(list_entry_current, udev_device_get_devlinks_list_entry(dev)) {
const char *name_current = udev_list_entry_get_name(list_entry_current);
- if (strcmp(name, name_current) == 0) {
+ if (streq(name, name_current)) {
found = 1;
break;
}
@@ -254,14 +252,14 @@ void udev_node_update_old_links(struct udev_device *dev, struct udev_device *dev
}
}
-static int node_fixup(struct udev_device *dev, mode_t mode, uid_t uid, gid_t gid)
+static int node_permissions_apply(struct udev_device *dev, bool apply, mode_t mode, uid_t uid, gid_t gid)
{
const char *devnode = udev_device_get_devnode(dev);
dev_t devnum = udev_device_get_devnum(dev);
struct stat stats;
int err = 0;
- if (strcmp(udev_device_get_subsystem(dev), "block") == 0)
+ if (streq(udev_device_get_subsystem(dev), "block"))
mode |= S_IFBLK;
else
mode |= S_IFCHR;
@@ -279,13 +277,7 @@ static int node_fixup(struct udev_device *dev, mode_t mode, uid_t uid, gid_t gid
goto out;
}
- /*
- * Set permissions and selinux file context only on add events. We always
- * set it on bootup (coldplug) with "trigger --action=add" for all devices
- * and for any newly added devices (hotplug). We don't want to change it
- * later, in case something else has applied custom settings in the meantime.
- */
- if (strcmp(udev_device_get_action(dev), "add") == 0) {
+ if (apply) {
if ((stats.st_mode & 0777) != (mode & 0777) || stats.st_uid != uid || stats.st_gid != gid) {
log_debug("set permissions %s, %#o, uid=%u, gid=%u\n", devnode, mode, uid, gid);
chmod(devnode, mode);
@@ -293,7 +285,6 @@ static int node_fixup(struct udev_device *dev, mode_t mode, uid_t uid, gid_t gid
} else {
log_debug("preserve permissions %s, %#o, uid=%u, gid=%u\n", devnode, mode, uid, gid);
}
-
label_fix(devnode, true, false);
}
@@ -303,23 +294,22 @@ out:
return err;
}
-void udev_node_add(struct udev_device *dev, mode_t mode, uid_t uid, gid_t gid)
+void udev_node_add(struct udev_device *dev, bool apply, mode_t mode, uid_t uid, gid_t gid)
{
- struct udev *udev = udev_device_get_udev(dev);
char filename[UTIL_PATH_SIZE];
struct udev_list_entry *list_entry;
log_debug("handling device node '%s', devnum=%s, mode=%#o, uid=%d, gid=%d\n",
udev_device_get_devnode(dev), udev_device_get_id_filename(dev), mode, uid, gid);
- if (node_fixup(dev, mode, uid, gid) < 0)
+ if (node_permissions_apply(dev, apply, mode, uid, gid) < 0)
return;
/* always add /dev/{block,char}/$major:$minor */
snprintf(filename, sizeof(filename), "/dev/%s/%u:%u",
- strcmp(udev_device_get_subsystem(dev), "block") == 0 ? "block" : "char",
+ streq(udev_device_get_subsystem(dev), "block") ? "block" : "char",
major(udev_device_get_devnum(dev)), minor(udev_device_get_devnum(dev)));
- node_symlink(udev, udev_device_get_devnode(dev), filename);
+ node_symlink(dev, udev_device_get_devnode(dev), filename);
/* create/update symlinks, add symlinks to name index */
udev_list_entry_foreach(list_entry, udev_device_get_devlinks_list_entry(dev))
@@ -337,7 +327,7 @@ void udev_node_remove(struct udev_device *dev)
/* remove /dev/{block,char}/$major:$minor */
snprintf(filename, sizeof(filename), "/dev/%s/%u:%u",
- strcmp(udev_device_get_subsystem(dev), "block") == 0 ? "block" : "char",
+ streq(udev_device_get_subsystem(dev), "block") ? "block" : "char",
major(udev_device_get_devnum(dev)), minor(udev_device_get_devnum(dev)));
unlink(filename);
}
diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
index 9743243a37..7a4fb70258 100644
--- a/src/udev/udev-rules.c
+++ b/src/udev/udev-rules.c
@@ -55,7 +55,7 @@ struct udev_rules {
unsigned int token_cur;
unsigned int token_max;
- /* all key strings are copied and de-duplicated in a single continous string buffer */
+ /* all key strings are copied and de-duplicated in a single continuous string buffer */
struct strbuf *strbuf;
/* during rule parsing, uid/gid lookup results are cached */
@@ -600,7 +600,7 @@ static int import_property_from_string(struct udev_device *dev, char *line)
log_debug("updating devpath from '%s' to '%s'\n",
udev_device_get_devpath(dev), val);
- util_strscpyl(syspath, sizeof(syspath), "/sys", val, NULL);
+ strscpyl(syspath, sizeof(syspath), "/sys", val, NULL);
udev_device_set_syspath(dev, syspath);
} else {
struct udev_list_entry *entry;
@@ -691,8 +691,8 @@ static int wait_for_file(struct udev_device *dev, const char *file, int timeout)
/* a relative path is a device attribute */
devicepath[0] = '\0';
if (file[0] != '/') {
- util_strscpyl(devicepath, sizeof(devicepath), udev_device_get_syspath(dev), NULL);
- util_strscpyl(filepath, sizeof(filepath), devicepath, "/", file, NULL);
+ strscpyl(devicepath, sizeof(devicepath), udev_device_get_syspath(dev), NULL);
+ strscpyl(filepath, sizeof(filepath), devicepath, "/", file, NULL);
file = filepath;
}
@@ -726,7 +726,7 @@ static int attr_subst_subdir(char *attr, size_t len)
const char *tail;
DIR *dir;
- util_strscpy(dirname, sizeof(dirname), attr);
+ strscpy(dirname, sizeof(dirname), attr);
pos = strstr(dirname, "/*/");
if (pos == NULL)
return -1;
@@ -741,7 +741,7 @@ static int attr_subst_subdir(char *attr, size_t len)
if (dent->d_name[0] == '.')
continue;
- util_strscpyl(attr, len, dirname, "/", dent->d_name, tail, NULL);
+ strscpyl(attr, len, dirname, "/", dent->d_name, tail, NULL);
if (stat(attr, &stats) == 0) {
found = true;
break;
@@ -1619,7 +1619,7 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
return udev_rules_unref(rules);
udev_rules_check_timestamp(rules);
- r = conf_files_list_strv(&files, ".rules", (const char **)rules->dirs);
+ r = conf_files_list_strv(&files, ".rules", NULL, (const char **)rules->dirs);
if (r < 0) {
log_error("failed to enumerate rules files: %s\n", strerror(-r));
return udev_rules_unref(rules);
@@ -1737,7 +1737,7 @@ static int match_key(struct udev_rules *rules, struct token *token, const char *
if (next != NULL) {
size_t matchlen = (size_t)(next - s);
- match = (matchlen == len && strncmp(s, val, matchlen) == 0);
+ match = (matchlen == len && strneq(s, val, matchlen));
if (match)
break;
} else {
@@ -1752,7 +1752,7 @@ static int match_key(struct udev_rules *rules, struct token *token, const char *
{
char value[UTIL_PATH_SIZE];
- util_strscpy(value, sizeof(value), rules_str(rules, token->key.value_off));
+ strscpy(value, sizeof(value), rules_str(rules, token->key.value_off));
key_value = value;
while (key_value != NULL) {
pos = strchr(key_value, '|');
@@ -1819,7 +1819,7 @@ static int match_attr(struct udev_rules *rules, struct udev_device *dev, struct
klen = strlen(key_value);
if (klen > 0 && !isspace(key_value[klen-1])) {
if (value != vbuf) {
- util_strscpy(vbuf, sizeof(vbuf), value);
+ strscpy(vbuf, sizeof(vbuf), value);
value = vbuf;
}
while (len > 0 && isspace(vbuf[--len]))
@@ -2015,8 +2015,8 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
if (filename[0] != '/') {
char tmp[UTIL_PATH_SIZE];
- util_strscpy(tmp, sizeof(tmp), filename);
- util_strscpyl(filename, sizeof(filename),
+ strscpy(tmp, sizeof(tmp), filename);
+ strscpyl(filename, sizeof(filename),
udev_device_get_syspath(event->dev), "/", tmp, NULL);
}
}
@@ -2328,7 +2328,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
/* append value separated by space */
udev_event_apply_format(event, value, temp, sizeof(temp));
- util_strscpyl(value_new, sizeof(value_new), value_old, " ", temp, NULL);
+ strscpyl(value_new, sizeof(value_new), value_old, " ", temp, NULL);
} else
udev_event_apply_format(event, value, value_new, sizeof(value_new));
@@ -2419,7 +2419,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
next[0] = '\0';
log_debug("LINK '%s' %s:%u\n", pos,
rules_str(rules, rule->rule.filename_off), rule->rule.filename_line);
- util_strscpyl(filename, sizeof(filename), "/dev/", pos, NULL);
+ strscpyl(filename, sizeof(filename), "/dev/", pos, NULL);
udev_device_add_devlink(event->dev, filename);
while (isspace(next[1]))
next++;
@@ -2429,7 +2429,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
if (pos[0] != '\0') {
log_debug("LINK '%s' %s:%u\n", pos,
rules_str(rules, rule->rule.filename_off), rule->rule.filename_line);
- util_strscpyl(filename, sizeof(filename), "/dev/", pos, NULL);
+ strscpyl(filename, sizeof(filename), "/dev/", pos, NULL);
udev_device_add_devlink(event->dev, filename);
}
break;
@@ -2441,7 +2441,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
FILE *f;
if (util_resolve_subsys_kernel(event->udev, key_name, attr, sizeof(attr), 0) != 0)
- util_strscpyl(attr, sizeof(attr), udev_device_get_syspath(event->dev), "/", key_name, NULL);
+ strscpyl(attr, sizeof(attr), udev_device_get_syspath(event->dev), "/", key_name, NULL);
attr_subst_subdir(attr, sizeof(attr));
udev_event_apply_format(event, rules_str(rules, cur->key.value_off), value, sizeof(value));
@@ -2539,7 +2539,7 @@ void udev_rules_apply_static_dev_perms(struct udev_rules *rules)
/* we assure, that the permissions tokens are sorted before the static token */
if (mode == 0 && uid == 0 && gid == 0)
goto next;
- util_strscpyl(filename, sizeof(filename), "/dev/", rules_str(rules, cur->key.value_off), NULL);
+ strscpyl(filename, sizeof(filename), "/dev/", rules_str(rules, cur->key.value_off), NULL);
if (stat(filename, &stats) != 0)
goto next;
if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
diff --git a/src/udev/udev-watch.c b/src/udev/udev-watch.c
index 311f5bdf23..9b694c6666 100644
--- a/src/udev/udev-watch.c
+++ b/src/udev/udev-watch.c
@@ -116,7 +116,7 @@ void udev_watch_begin(struct udev *udev, struct udev_device *dev)
unlink(filename);
r = symlink(udev_device_get_id_filename(dev), filename);
if (r < 0)
- log_error("Failed to create symlink: %m");
+ log_error("Failed to create symlink %s: %m", filename);
udev_device_set_watch_handle(dev, wd);
}
diff --git a/src/udev/udev.h b/src/udev/udev.h
index 72a7623e34..caec5f0a5d 100644
--- a/src/udev/udev.h
+++ b/src/udev/udev.h
@@ -16,13 +16,13 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef _UDEV_H_
-#define _UDEV_H_
+#pragma once
#include <sys/types.h>
#include <sys/param.h>
#include <signal.h>
+#include "macro.h"
#include "libudev.h"
#include "libudev-private.h"
#include "util.h"
@@ -95,7 +95,7 @@ void udev_watch_end(struct udev *udev, struct udev_device *dev);
struct udev_device *udev_watch_lookup(struct udev *udev, int wd);
/* udev-node.c */
-void udev_node_add(struct udev_device *dev, mode_t mode, uid_t uid, gid_t gid);
+void udev_node_add(struct udev_device *dev, bool apply, mode_t mode, uid_t uid, gid_t gid);
void udev_node_remove(struct udev_device *dev);
void udev_node_update_old_links(struct udev_device *dev, struct udev_device *dev_old);
@@ -140,7 +140,9 @@ enum udev_builtin_cmd {
UDEV_BUILTIN_BLKID,
#endif
UDEV_BUILTIN_BTRFS,
+#ifdef HAVE_FIRMWARE
UDEV_BUILTIN_FIRMWARE,
+#endif
UDEV_BUILTIN_HWDB,
UDEV_BUILTIN_INPUT_ID,
#ifdef HAVE_KMOD
@@ -167,7 +169,9 @@ struct udev_builtin {
extern const struct udev_builtin udev_builtin_blkid;
#endif
extern const struct udev_builtin udev_builtin_btrfs;
+#ifdef HAVE_FIRMWARE
extern const struct udev_builtin udev_builtin_firmware;
+#endif
extern const struct udev_builtin udev_builtin_hwdb;
extern const struct udev_builtin udev_builtin_input_id;
#ifdef HAVE_KMOD
@@ -191,7 +195,7 @@ int udev_builtin_hwdb_lookup(struct udev_device *dev, const char *modalias, bool
/* udev logging */
void udev_main_log(struct udev *udev, int priority,
const char *file, int line, const char *fn,
- const char *format, va_list args);
+ const char *format, va_list args) _printf_attr_(6, 0);
/* udevadm commands */
struct udevadm_cmd {
@@ -208,4 +212,3 @@ extern const struct udevadm_cmd udevadm_monitor;
extern const struct udevadm_cmd udevadm_hwdb;
extern const struct udevadm_cmd udevadm_test;
extern const struct udevadm_cmd udevadm_test_builtin;
-#endif
diff --git a/src/udev/udevadm-hwdb.c b/src/udev/udevadm-hwdb.c
index 00c0d3d4c4..3e849aaed6 100644
--- a/src/udev/udevadm-hwdb.c
+++ b/src/udev/udevadm-hwdb.c
@@ -84,14 +84,12 @@ static int trie_children_cmp(const void *v1, const void *v2) {
static int node_add_child(struct trie *trie, struct trie_node *node, struct trie_node *node_child, uint8_t c) {
struct trie_child_entry *child;
- int err = 0;
/* extend array, add new entry, sort for bisection */
child = realloc(node->children, (node->children_count + 1) * sizeof(struct trie_child_entry));
- if (!child) {
- err = -ENOMEM;
- goto out;
- }
+ if (!child)
+ return -ENOMEM;
+
node->children = child;
trie->children_count++;
node->children[node->children_count].c = c;
@@ -99,8 +97,8 @@ static int node_add_child(struct trie *trie, struct trie_node *node, struct trie
node->children_count++;
qsort(node->children, node->children_count, sizeof(struct trie_child_entry), trie_children_cmp);
trie->nodes_count++;
-out:
- return err;
+
+ return 0;
}
static struct trie_node *node_lookup(const struct trie_node *node, uint8_t c) {
@@ -183,46 +181,44 @@ static int trie_insert(struct trie *trie, struct trie_node *node, const char *se
struct trie_node *child;
for (p = 0; (c = trie->strings->buf[node->prefix_off + p]); p++) {
- char *s;
+ _cleanup_free_ char *s = NULL;
ssize_t off;
+ _cleanup_free_ struct trie_node *new_child = NULL;
if (c == search[i + p])
continue;
/* split node */
- child = calloc(sizeof(struct trie_node), 1);
- if (!child) {
- err = -ENOMEM;
- goto out;
- }
+ new_child = calloc(sizeof(struct trie_node), 1);
+ if (!new_child)
+ return -ENOMEM;
/* move values from parent to child */
- child->prefix_off = node->prefix_off + p+1;
- child->children = node->children;
- child->children_count = node->children_count;
- child->values = node->values;
- child->values_count = node->values_count;
+ new_child->prefix_off = node->prefix_off + p+1;
+ new_child->children = node->children;
+ new_child->children_count = node->children_count;
+ new_child->values = node->values;
+ new_child->values_count = node->values_count;
/* update parent; use strdup() because the source gets realloc()d */
s = strndup(trie->strings->buf + node->prefix_off, p);
- if (!s) {
- err = -ENOMEM;
- goto out;
- }
+ if (!s)
+ return -ENOMEM;
+
off = strbuf_add_string(trie->strings, s, p);
- free(s);
- if (off < 0) {
- err = off;
- goto out;
- }
+ if (off < 0)
+ return off;
+
node->prefix_off = off;
node->children = NULL;
node->children_count = 0;
node->values = NULL;
node->values_count = 0;
- err = node_add_child(trie, node, child, c);
+ err = node_add_child(trie, node, new_child, c);
if (err)
- goto out;
+ return err;
+
+ new_child = NULL; /* avoid cleanup */
break;
}
i += p;
@@ -237,27 +233,28 @@ static int trie_insert(struct trie *trie, struct trie_node *node, const char *se
/* new child */
child = calloc(sizeof(struct trie_node), 1);
- if (!child) {
- err = -ENOMEM;
- goto out;
- }
+ if (!child)
+ return -ENOMEM;
+
off = strbuf_add_string(trie->strings, search + i+1, strlen(search + i+1));
if (off < 0) {
- err = off;
- goto out;
+ free(child);
+ return off;
}
+
child->prefix_off = off;
err = node_add_child(trie, node, child, c);
- if (err)
- goto out;
+ if (err) {
+ free(child);
+ return err;
+ }
+
return trie_node_add_value(trie, child, key, value);
}
node = child;
i++;
}
-out:
- return err;
}
struct trie_f {
@@ -471,18 +468,21 @@ static int import_file(struct trie *trie, const char *filename) {
static void help(void) {
printf("Usage: udevadm hwdb OPTIONS\n"
" --update update the hardware database\n"
- " --test <modalias> query database and print result\n"
+ " --test=<modalias> query database and print result\n"
+ " --root=<path> alternative root path in the filesystem\n"
" --help\n\n");
}
static int adm_hwdb(struct udev *udev, int argc, char *argv[]) {
static const struct option options[] = {
{ "update", no_argument, NULL, 'u' },
+ { "root", required_argument, NULL, 'r' },
{ "test", required_argument, NULL, 't' },
{ "help", no_argument, NULL, 'h' },
{}
};
const char *test = NULL;
+ const char *root = "";
bool update = false;
struct trie *trie = NULL;
int err;
@@ -491,7 +491,7 @@ static int adm_hwdb(struct udev *udev, int argc, char *argv[]) {
for (;;) {
int option;
- option = getopt_long(argc, argv, "ut:h", options, NULL);
+ option = getopt_long(argc, argv, "ut:r:h", options, NULL);
if (option == -1)
break;
@@ -502,6 +502,9 @@ static int adm_hwdb(struct udev *udev, int argc, char *argv[]) {
case 't':
test = optarg;
break;
+ case 'r':
+ root = optarg;
+ break;
case 'h':
help();
return EXIT_SUCCESS;
@@ -515,6 +518,7 @@ static int adm_hwdb(struct udev *udev, int argc, char *argv[]) {
if (update) {
char **files, **f;
+ _cleanup_free_ char *hwdb_bin = NULL;
trie = calloc(sizeof(struct trie), 1);
if (!trie) {
@@ -537,7 +541,7 @@ static int adm_hwdb(struct udev *udev, int argc, char *argv[]) {
}
trie->nodes_count++;
- err = conf_files_list_strv(&files, ".hwdb", (const char **)conf_file_dirs);
+ err = conf_files_list_strv(&files, ".hwdb", root, conf_file_dirs);
if (err < 0) {
log_error("failed to enumerate hwdb files: %s\n", strerror(-err));
rc = EXIT_FAILURE;
@@ -565,11 +569,14 @@ static int adm_hwdb(struct udev *udev, int argc, char *argv[]) {
log_debug("strings dedup'ed: %8zu bytes (%8zu)\n",
trie->strings->dedup_len, trie->strings->dedup_count);
- mkdir_parents(HWDB_BIN, 0755);
- err = trie_store(trie, HWDB_BIN);
+ if (asprintf(&hwdb_bin, "%s/etc/udev/hwdb.bin", root) < 0) {
+ rc = EXIT_FAILURE;
+ goto out;
+ }
+ mkdir_parents(hwdb_bin, 0755);
+ err = trie_store(trie, hwdb_bin);
if (err < 0) {
- log_error("Failure writing hardware database '%s': %s",
- HWDB_BIN, strerror(-err));
+ log_error("Failure writing database %s: %s", hwdb_bin, strerror(-err));
rc = EXIT_FAILURE;
}
}
diff --git a/src/udev/udevadm-info.c b/src/udev/udevadm-info.c
index 95f077ca95..002876594f 100644
--- a/src/udev/udevadm-info.c
+++ b/src/udev/udevadm-info.c
@@ -33,7 +33,7 @@
static bool skip_attribute(const char *name)
{
- static const char const *skip[] = {
+ static const char* const skip[] = {
"uevent",
"dev",
"modalias",
@@ -45,7 +45,7 @@ static bool skip_attribute(const char *name)
unsigned int i;
for (i = 0; i < ELEMENTSOF(skip); i++)
- if (strcmp(name, skip[i]) == 0)
+ if (streq(name, skip[i]))
return true;
return false;
}
@@ -256,12 +256,6 @@ static void cleanup_db(struct udev *udev)
cleanup_dir(dir, 0, 1);
closedir(dir);
}
-
- dir = opendir("/run/udev/firmware-missing");
- if (dir != NULL) {
- cleanup_dir(dir, 0, 1);
- closedir(dir);
- }
}
static struct udev_device *find_device(struct udev *udev, const char *id, const char *prefix)
@@ -269,7 +263,7 @@ static struct udev_device *find_device(struct udev *udev, const char *id, const
char name[UTIL_PATH_SIZE];
if (prefix && !startswith(id, prefix)) {
- util_strscpyl(name, sizeof(name), prefix, id, NULL);
+ strscpyl(name, sizeof(name), prefix, id, NULL);
id = name;
}
@@ -393,15 +387,15 @@ static int uinfo(struct udev *udev, int argc, char *argv[])
break;
case 'q':
action = ACTION_QUERY;
- if (strcmp(optarg, "property") == 0 || strcmp(optarg, "env") == 0) {
+ if (streq(optarg, "property") || streq(optarg, "env")) {
query = QUERY_PROPERTY;
- } else if (strcmp(optarg, "name") == 0) {
+ } else if (streq(optarg, "name")) {
query = QUERY_NAME;
- } else if (strcmp(optarg, "symlink") == 0) {
+ } else if (streq(optarg, "symlink")) {
query = QUERY_SYMLINK;
- } else if (strcmp(optarg, "path") == 0) {
+ } else if (streq(optarg, "path")) {
query = QUERY_PATH;
- } else if (strcmp(optarg, "all") == 0) {
+ } else if (streq(optarg, "all")) {
query = QUERY_ALL;
} else {
fprintf(stderr, "unknown query type\n");
@@ -414,7 +408,7 @@ static int uinfo(struct udev *udev, int argc, char *argv[])
break;
case 'd':
action = ACTION_DEVICE_ID_FILE;
- util_strscpy(name, sizeof(name), optarg);
+ strscpy(name, sizeof(name), optarg);
break;
case 'a':
action = ACTION_ATTRIBUTE_WALK;
diff --git a/src/udev/udevadm-monitor.c b/src/udev/udevadm-monitor.c
index ffa70d8300..a390ee6c34 100644
--- a/src/udev/udevadm-monitor.c
+++ b/src/udev/udevadm-monitor.c
@@ -116,7 +116,7 @@ static int adm_monitor(struct udev *udev, int argc, char *argv[])
char subsys[UTIL_NAME_SIZE];
char *devtype;
- util_strscpy(subsys, sizeof(subsys), optarg);
+ strscpy(subsys, sizeof(subsys), optarg);
devtype = strchr(subsys, '/');
if (devtype != NULL) {
devtype[0] = '\0';
diff --git a/src/udev/udevadm-test-builtin.c b/src/udev/udevadm-test-builtin.c
index 9853d83b49..f4aa21ee72 100644
--- a/src/udev/udevadm-test-builtin.c
+++ b/src/udev/udevadm-test-builtin.c
@@ -96,9 +96,9 @@ static int adm_builtin(struct udev *udev, int argc, char *argv[])
/* add /sys if needed */
if (!startswith(syspath, "/sys"))
- util_strscpyl(filename, sizeof(filename), "/sys", syspath, NULL);
+ strscpyl(filename, sizeof(filename), "/sys", syspath, NULL);
else
- util_strscpy(filename, sizeof(filename), syspath);
+ strscpy(filename, sizeof(filename), syspath);
util_remove_trailing_chars(filename, '/');
dev = udev_device_new_from_syspath(udev, filename);
diff --git a/src/udev/udevadm-test.c b/src/udev/udevadm-test.c
index 2d8aa7913e..df1409bff6 100644
--- a/src/udev/udevadm-test.c
+++ b/src/udev/udevadm-test.c
@@ -66,11 +66,11 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
action = optarg;
break;
case 'N':
- if (strcmp (optarg, "early") == 0) {
+ if (streq (optarg, "early")) {
resolve_names = 1;
- } else if (strcmp (optarg, "late") == 0) {
+ } else if (streq (optarg, "late")) {
resolve_names = 0;
- } else if (strcmp (optarg, "never") == 0) {
+ } else if (streq (optarg, "never")) {
resolve_names = -1;
} else {
fprintf(stderr, "resolve-names must be early, late or never\n");
@@ -113,9 +113,9 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
/* add /sys if needed */
if (!startswith(syspath, "/sys"))
- util_strscpyl(filename, sizeof(filename), "/sys", syspath, NULL);
+ strscpyl(filename, sizeof(filename), "/sys", syspath, NULL);
else
- util_strscpy(filename, sizeof(filename), syspath);
+ strscpy(filename, sizeof(filename), syspath);
util_remove_trailing_chars(filename, '/');
dev = udev_device_new_from_syspath(udev, filename);
diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c
index d52ae461fe..f472996965 100644
--- a/src/udev/udevadm-trigger.c
+++ b/src/udev/udevadm-trigger.c
@@ -48,7 +48,7 @@ static void exec_list(struct udev_enumerate *udev_enumerate, const char *action)
printf("%s\n", udev_list_entry_get_name(entry));
if (dry_run)
continue;
- util_strscpyl(filename, sizeof(filename), udev_list_entry_get_name(entry), "/uevent", NULL);
+ strscpyl(filename, sizeof(filename), udev_list_entry_get_name(entry), "/uevent", NULL);
fd = open(filename, O_WRONLY);
if (fd < 0)
continue;
@@ -62,7 +62,7 @@ static const char *keyval(const char *str, const char **val, char *buf, size_t s
{
char *pos;
- util_strscpy(buf, size,str);
+ strscpy(buf, size,str);
pos = strchr(buf, '=');
if (pos != NULL) {
pos[0] = 0;
@@ -122,9 +122,9 @@ static int adm_trigger(struct udev *udev, int argc, char *argv[])
dry_run = 1;
break;
case 't':
- if (strcmp(optarg, "devices") == 0) {
+ if (streq(optarg, "devices")) {
device_type = TYPE_DEVICES;
- } else if (strcmp(optarg, "subsystems") == 0) {
+ } else if (streq(optarg, "subsystems")) {
device_type = TYPE_SUBSYSTEMS;
} else {
log_error("unknown type --type=%s\n", optarg);
@@ -165,9 +165,9 @@ static int adm_trigger(struct udev *udev, int argc, char *argv[])
/* add sys dir if needed */
if (!startswith(optarg, "/sys"))
- util_strscpyl(path, sizeof(path), "/sys", optarg, NULL);
+ strscpyl(path, sizeof(path), "/sys", optarg, NULL);
else
- util_strscpy(path, sizeof(path), optarg);
+ strscpy(path, sizeof(path), optarg);
util_remove_trailing_chars(path, '/');
dev = udev_device_new_from_syspath(udev, path);
if (dev == NULL) {
@@ -214,7 +214,7 @@ static int adm_trigger(struct udev *udev, int argc, char *argv[])
exec_list(udev_enumerate, action);
goto exit;
default:
- goto exit;
+ assert_not_reached("device_type");
}
exit:
udev_enumerate_unref(udev_enumerate);
diff --git a/src/udev/udevadm.c b/src/udev/udevadm.c
index 53419ffa62..e14b3ca27c 100644
--- a/src/udev/udevadm.c
+++ b/src/udev/udevadm.c
@@ -131,7 +131,7 @@ int main(int argc, char *argv[])
if (command != NULL)
for (i = 0; i < ELEMENTSOF(udevadm_cmds); i++) {
- if (strcmp(udevadm_cmds[i]->name, command) == 0) {
+ if (streq(udevadm_cmds[i]->name, command)) {
argc -= optind;
argv += optind;
/* we need '0' here to reset the internal state */
diff --git a/src/udev/udevd.c b/src/udev/udevd.c
index ffc48a03bd..7d13b4f532 100644
--- a/src/udev/udevd.c
+++ b/src/udev/udevd.c
@@ -48,6 +48,7 @@
#include "sd-daemon.h"
#include "cgroup-util.h"
#include "dev-setup.h"
+#include "fileio.h"
static bool debug;
@@ -97,7 +98,9 @@ struct event {
dev_t devnum;
int ifindex;
bool is_block;
+#ifdef HAVE_FIRMWARE
bool nodelay;
+#endif
};
static inline struct event *node_to_event(struct udev_list_node *node)
@@ -264,7 +267,7 @@ static void worker_new(struct event *event)
prctl(PR_SET_PDEATHSIG, SIGTERM);
/* reset OOM score, we only protect the main daemon */
- write_one_line_file("/proc/self/oom_score_adj", "0");
+ write_string_file("/proc/self/oom_score_adj", "0");
for (;;) {
struct udev_event *udev_event;
@@ -441,8 +444,10 @@ static int event_queue_insert(struct udev_device *dev)
event->devnum = udev_device_get_devnum(dev);
event->is_block = streq("block", udev_device_get_subsystem(dev));
event->ifindex = udev_device_get_ifindex(dev);
+#ifdef HAVE_FIRMWARE
if (streq(udev_device_get_subsystem(dev), "firmware"))
event->nodelay = true;
+#endif
udev_queue_export_device_queued(udev_queue_export, dev);
log_debug("seq %llu queued, '%s' '%s'\n", udev_device_get_seqnum(dev),
@@ -499,7 +504,7 @@ static bool is_devpath_busy(struct event *event)
return true;
/* check our old name */
- if (event->devpath_old != NULL && strcmp(loop_event->devpath, event->devpath_old) == 0) {
+ if (event->devpath_old != NULL && streq(loop_event->devpath, event->devpath_old)) {
event->delaying_seqnum = loop_event->seqnum;
return true;
}
@@ -522,9 +527,11 @@ static bool is_devpath_busy(struct event *event)
return true;
}
+#ifdef HAVE_FIRMWARE
/* allow to bypass the dependency tracking */
if (event->nodelay)
continue;
+#endif
/* parent device event found */
if (event->devpath[common] == '/') {
@@ -726,7 +733,7 @@ static int handle_inotify(struct udev *udev)
int fd;
log_debug("device %s closed, synthesising 'change'\n", udev_device_get_devnode(dev));
- util_strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
fd = open(filename, O_WRONLY);
if (fd >= 0) {
if (write(fd, "change", 6) < 0)
@@ -812,8 +819,12 @@ static void static_dev_create_from_modules(struct udev *udev)
char buf[4096];
FILE *f;
- uname(&kernel);
- util_strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL);
+ if (uname(&kernel) < 0) {
+ log_error("uname failed: %m");
+ return;
+ }
+
+ strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL);
f = fopen(modules, "re");
if (f == NULL)
return;
@@ -860,7 +871,7 @@ static void static_dev_create_from_modules(struct udev *udev)
else
continue;
- util_strscpyl(filename, sizeof(filename), "/dev/", devname, NULL);
+ strscpyl(filename, sizeof(filename), "/dev/", devname, NULL);
mkdir_parents_label(filename, 0755);
label_context_set(filename, mode);
log_debug("mknod '%s' %c%u:%u\n", filename, type, maj, min);
@@ -872,113 +883,6 @@ static void static_dev_create_from_modules(struct udev *udev)
fclose(f);
}
-static int mem_size_mb(void)
-{
- FILE *f;
- char buf[4096];
- long int memsize = -1;
-
- f = fopen("/proc/meminfo", "re");
- if (f == NULL)
- return -1;
-
- while (fgets(buf, sizeof(buf), f) != NULL) {
- long int value;
-
- if (sscanf(buf, "MemTotal: %ld kB", &value) == 1) {
- memsize = value / 1024;
- break;
- }
- }
-
- fclose(f);
- return memsize;
-}
-
-static int convert_db(struct udev *udev)
-{
- char filename[UTIL_PATH_SIZE];
- struct udev_enumerate *udev_enumerate;
- struct udev_list_entry *list_entry;
-
- /* current database */
- if (access("/run/udev/data", F_OK) >= 0)
- return 0;
-
- /* make sure we do not get here again */
- mkdir_p("/run/udev/data", 0755);
-
- /* old database */
- util_strscpyl(filename, sizeof(filename), "/dev/.udev/db", NULL);
- if (access(filename, F_OK) < 0)
- return 0;
-
- print_kmsg("converting old udev database\n");
-
- udev_enumerate = udev_enumerate_new(udev);
- if (udev_enumerate == NULL)
- return -1;
- udev_enumerate_scan_devices(udev_enumerate);
- udev_list_entry_foreach(list_entry, udev_enumerate_get_list_entry(udev_enumerate)) {
- struct udev_device *device;
-
- device = udev_device_new_from_syspath(udev, udev_list_entry_get_name(list_entry));
- if (device == NULL)
- continue;
-
- /* try to find the old database for devices without a current one */
- if (udev_device_read_db(device, NULL) < 0) {
- bool have_db;
- const char *id;
- struct stat stats;
- char devpath[UTIL_PATH_SIZE];
- char from[UTIL_PATH_SIZE];
-
- have_db = false;
-
- /* find database in old location */
- id = udev_device_get_id_filename(device);
- util_strscpyl(from, sizeof(from), "/dev/.udev/db/", id, NULL);
- if (lstat(from, &stats) == 0) {
- if (!have_db) {
- udev_device_read_db(device, from);
- have_db = true;
- }
- unlink(from);
- }
-
- /* find old database with $subsys:$sysname name */
- util_strscpyl(from, sizeof(from), "/dev/.udev/db/",
- udev_device_get_subsystem(device), ":", udev_device_get_sysname(device), NULL);
- if (lstat(from, &stats) == 0) {
- if (!have_db) {
- udev_device_read_db(device, from);
- have_db = true;
- }
- unlink(from);
- }
-
- /* find old database with the encoded devpath name */
- util_path_encode(udev_device_get_devpath(device), devpath, sizeof(devpath));
- util_strscpyl(from, sizeof(from), "/dev/.udev/db/", devpath, NULL);
- if (lstat(from, &stats) == 0) {
- if (!have_db) {
- udev_device_read_db(device, from);
- have_db = true;
- }
- unlink(from);
- }
-
- /* write out new database */
- if (have_db)
- udev_device_update_db(device);
- }
- udev_device_unref(device);
- }
- udev_enumerate_unref(udev_enumerate);
- return 0;
-}
-
static int systemd_fds(struct udev *udev, int *rctrl, int *rnetlink)
{
int ctrl = -1, netlink = -1;
@@ -1117,11 +1021,11 @@ int main(int argc, char *argv[])
udev_set_log_priority(udev, LOG_DEBUG);
break;
case 'N':
- if (strcmp (optarg, "early") == 0) {
+ if (streq(optarg, "early")) {
resolve_names = 1;
- } else if (strcmp (optarg, "late") == 0) {
+ } else if (streq(optarg, "late")) {
resolve_names = 0;
- } else if (strcmp (optarg, "never") == 0) {
+ } else if (streq(optarg, "never")) {
resolve_names = -1;
} else {
fprintf(stderr, "resolve-names must be early, late or never\n");
@@ -1200,7 +1104,7 @@ int main(int argc, char *argv[])
}
/* get our own cgroup, we regularly kill everything udev has left behind */
- if (cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, 0, &udev_cgroup) < 0)
+ if (cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, 0, &udev_cgroup) < 0)
udev_cgroup = NULL;
} else {
/* open control and netlink socket */
@@ -1264,7 +1168,7 @@ int main(int argc, char *argv[])
setsid();
- write_one_line_file("/proc/self/oom_score_adj", "-1000");
+ write_string_file("/proc/self/oom_score_adj", "-1000");
} else {
sd_notify(1, "READY=1");
}
@@ -1354,17 +1258,14 @@ int main(int argc, char *argv[])
goto exit;
}
- /* if needed, convert old database from earlier udev version */
- convert_db(udev);
-
if (children_max <= 0) {
- int memsize = mem_size_mb();
+ cpu_set_t cpu_set;
- /* set value depending on the amount of RAM */
- if (memsize > 0)
- children_max = 16 + (memsize / 8);
- else
- children_max = 16;
+ children_max = 8;
+
+ if (sched_getaffinity(0, sizeof (cpu_set), &cpu_set) == 0) {
+ children_max += CPU_COUNT(&cpu_set) * 2;
+ }
}
log_debug("set children_max to %u\n", children_max);
diff --git a/src/update-utmp/update-utmp.c b/src/update-utmp/update-utmp.c
index a311280c27..9184025554 100644
--- a/src/update-utmp/update-utmp.c
+++ b/src/update-utmp/update-utmp.c
@@ -313,11 +313,10 @@ static int on_runlevel(Context *c) {
int main(int argc, char *argv[]) {
int r;
DBusError error;
- Context c;
+ Context c = {};
dbus_error_init(&error);
- zero(c);
#ifdef HAVE_AUDIT
c.audit_fd = -1;
#endif
diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
index b9d8681a85..1bbf737c36 100644
--- a/src/vconsole/vconsole-setup.c
+++ b/src/vconsole/vconsole-setup.c
@@ -33,11 +33,13 @@
#include <sys/wait.h>
#include <linux/tiocl.h>
#include <linux/kd.h>
+#include <linux/vt.h>
#include "util.h"
#include "log.h"
#include "macro.h"
#include "virt.h"
+#include "fileio.h"
static bool is_vconsole(int fd) {
unsigned char data[1];
@@ -55,7 +57,7 @@ static int disable_utf8(int fd) {
if (loop_write(fd, "\033%@", 3, false) < 0)
r = -errno;
- k = write_one_line_file("/sys/module/vt/parameters/default_utf8", "0");
+ k = write_string_file("/sys/module/vt/parameters/default_utf8", "0");
if (k < 0)
r = k;
@@ -67,14 +69,27 @@ static int disable_utf8(int fd) {
static int enable_utf8(int fd) {
int r = 0, k;
-
- if (ioctl(fd, KDSKBMODE, K_UNICODE) < 0)
- r = -errno;
+ long current = 0;
+
+ if (ioctl(fd, KDGKBMODE, &current) < 0 || current == K_XLATE) {
+ /*
+ * Change the current keyboard to unicode, unless it
+ * is currently in raw or off mode anyway. We
+ * shouldn't interfere with X11's processing of the
+ * key events.
+ *
+ * http://lists.freedesktop.org/archives/systemd-devel/2013-February/008573.html
+ *
+ */
+
+ if (ioctl(fd, KDSKBMODE, K_UNICODE) < 0)
+ r = -errno;
+ }
if (loop_write(fd, "\033%G", 3, false) < 0)
r = -errno;
- k = write_one_line_file("/sys/module/vt/parameters/default_utf8", "1");
+ k = write_string_file("/sys/module/vt/parameters/default_utf8", "1");
if (k < 0)
r = k;
@@ -84,7 +99,7 @@ static int enable_utf8(int fd) {
return r;
}
-static int load_keymap(const char *vc, const char *map, const char *map_toggle, bool utf8, pid_t *_pid) {
+static int keymap_load(const char *vc, const char *map, const char *map_toggle, bool utf8, pid_t *_pid) {
const char *args[8];
int i = 0;
pid_t pid;
@@ -119,7 +134,7 @@ static int load_keymap(const char *vc, const char *map, const char *map_toggle,
return 0;
}
-static int load_font(const char *vc, const char *font, const char *map, const char *unimap, pid_t *_pid) {
+static int font_load(const char *vc, const char *font, const char *map, const char *unimap, pid_t *_pid) {
const char *args[9];
int i = 0;
pid_t pid;
@@ -157,6 +172,46 @@ static int load_font(const char *vc, const char *font, const char *map, const ch
return 0;
}
+/*
+ * A newly allocated VT uses the font from the active VT. Here
+ * we update all possibly already allocated VTs with the configured
+ * font. It also allows to restart systemd-vconsole-setup.service,
+ * to apply a new font to all VTs.
+ */
+static void font_copy_to_all_vcs(int fd) {
+ struct vt_stat vcs = {};
+ int i, r;
+
+ /* get active, and 16 bit mask of used VT numbers */
+ r = ioctl(fd, VT_GETSTATE, &vcs);
+ if (r < 0)
+ return;
+
+ for (i = 1; i <= 15; i++) {
+ char vcname[16];
+ _cleanup_close_ int vcfd = -1;
+ struct console_font_op cfo = {};
+
+ if (i == vcs.v_active)
+ continue;
+
+ /* skip non-allocated ttys */
+ snprintf(vcname, sizeof(vcname), "/dev/vcs%i", i);
+ if (access(vcname, F_OK) < 0)
+ continue;
+
+ snprintf(vcname, sizeof(vcname), "/dev/tty%i", i);
+ vcfd = open_terminal(vcname, O_RDWR|O_CLOEXEC);
+ if (vcfd < 0)
+ continue;
+
+ /* copy font from active VT, where the font was uploaded to */
+ cfo.op = KD_FONT_OP_COPY;
+ cfo.height = vcs.v_active-1; /* tty1 == index 0 */
+ ioctl(vcfd, KDFONTOP, &cfo);
+ }
+}
+
int main(int argc, char **argv) {
const char *vc;
char *vc_keymap = NULL;
@@ -166,8 +221,9 @@ int main(int argc, char **argv) {
char *vc_font_unimap = NULL;
int fd = -1;
bool utf8;
- int r = EXIT_FAILURE;
pid_t font_pid = 0, keymap_pid = 0;
+ bool font_copy = false;
+ int r = EXIT_FAILURE;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
@@ -177,8 +233,10 @@ int main(int argc, char **argv) {
if (argv[1])
vc = argv[1];
- else
+ else {
vc = "/dev/tty0";
+ font_copy = true;
+ }
fd = open_terminal(vc, O_RDWR|O_CLOEXEC);
if (fd < 0) {
@@ -193,8 +251,18 @@ int main(int argc, char **argv) {
utf8 = is_locale_utf8();
- r = 0;
+ r = parse_env_file("/etc/vconsole.conf", NEWLINE,
+ "KEYMAP", &vc_keymap,
+ "KEYMAP_TOGGLE", &vc_keymap_toggle,
+ "FONT", &vc_font,
+ "FONT_MAP", &vc_font_map,
+ "FONT_UNIMAP", &vc_font_unimap,
+ NULL);
+
+ if (r < 0 && r != -ENOENT)
+ log_warning("Failed to read /etc/vconsole.conf: %s", strerror(-r));
+ /* Let the kernel command line override /etc/vconsole.conf */
if (detect_container(NULL) <= 0) {
r = parse_env_file("/proc/cmdline", WHITESPACE,
"vconsole.keymap", &vc_keymap,
@@ -208,42 +276,25 @@ int main(int argc, char **argv) {
log_warning("Failed to read /proc/cmdline: %s", strerror(-r));
}
- /* Hmm, nothing set on the kernel cmd line? Then let's
- * try /etc/vconsole.conf */
- if (r <= 0) {
- r = parse_env_file("/etc/vconsole.conf", NEWLINE,
- "KEYMAP", &vc_keymap,
- "KEYMAP_TOGGLE", &vc_keymap_toggle,
- "FONT", &vc_font,
- "FONT_MAP", &vc_font_map,
- "FONT_UNIMAP", &vc_font_unimap,
- NULL);
-
- if (r < 0 && r != -ENOENT)
- log_warning("Failed to read /etc/vconsole.conf: %s", strerror(-r));
- }
-
- if (r <= 0) {
- }
-
- r = EXIT_FAILURE;
-
if (utf8)
enable_utf8(fd);
else
disable_utf8(fd);
-
- if (load_keymap(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 &&
- load_font(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0)
+ r = EXIT_FAILURE;
+ if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 &&
+ font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0)
r = EXIT_SUCCESS;
finish:
if (keymap_pid > 0)
wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
- if (font_pid > 0)
+ if (font_pid > 0) {
wait_for_terminate_and_warn(KBD_SETFONT, font_pid);
+ if (font_copy)
+ font_copy_to_all_vcs(fd);
+ }
free(vc_keymap);
free(vc_font);
diff --git a/sysctl.d/.gitignore b/sysctl.d/.gitignore
index 7563539ab0..e326c180c3 100644
--- a/sysctl.d/.gitignore
+++ b/sysctl.d/.gitignore
@@ -1 +1 @@
-/coredump.conf
+/50-coredump.conf
diff --git a/sysctl.d/coredump.conf.in b/sysctl.d/50-coredump.conf.in
index 5c791b791b..d5795a37d5 100644
--- a/sysctl.d/coredump.conf.in
+++ b/sysctl.d/50-coredump.conf.in
@@ -5,6 +5,6 @@
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
-# See sysctl.d(5) for details
+# See sysctl.d(5) and core(5) for for details.
kernel.core_pattern=|@rootlibexecdir@/systemd-coredump %p %u %g %s %t %e
diff --git a/sysctl.d/50-default.conf b/sysctl.d/50-default.conf
new file mode 100644
index 0000000000..46bae210c7
--- /dev/null
+++ b/sysctl.d/50-default.conf
@@ -0,0 +1,24 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+# See sysctl.d(5) and core(5) for for details.
+
+# System Request functionality of the kernel (SYNC)
+kernel.sysrq = 16
+
+# Append the PID to the core filename
+kernel.core_uses_pid = 1
+
+# Source route verification
+net.ipv4.conf.default.rp_filter = 1
+
+# Do not accept source routing
+net.ipv4.conf.default.accept_source_route = 0
+
+# Enable hard and soft link protection
+fs.protected_hardlinks = 1
+fs.protected_symlinks = 1
diff --git a/test/.gitignore b/test/.gitignore
index 93c1f950fe..fd7483da0a 100644
--- a/test/.gitignore
+++ b/test/.gitignore
@@ -1,3 +1,5 @@
.testdir
test.log
+/dev
+/run
/sys
diff --git a/test/README.testsuite b/test/README.testsuite
index 0f96b984a9..54d0eaac50 100644
--- a/test/README.testsuite
+++ b/test/README.testsuite
@@ -28,8 +28,8 @@ $ sudo make clean setup run
If you want to log in the testsuite virtual machine, you can specify
additional kernel command line parameter with $DEBUGFAIL.
-$ sudo sh -c 'DEBUGFAIL="systemd.unit=multi-user.target" make clean setup run'
+$ sudo make DEBUGFAIL="systemd.unit=multi-user.target" clean setup run
you can even skip the "clean" and "setup" if you want to run the machine again.
-$ sudo sh -c 'DEBUGFAIL="systemd.unit=multi-user.target" make run'
+$ sudo make DEBUGFAIL="systemd.unit=multi-user.target" run
diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh
index eb6a80a07c..e41ed9dcfe 100755
--- a/test/TEST-01-BASIC/test.sh
+++ b/test/TEST-01-BASIC/test.sh
@@ -3,8 +3,7 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="Basic systemd setup"
-KVERSION=${KVERSION-$(uname -r)}
-KERNEL_VER=$(uname -r)
+. $TEST_BASE_DIR/test-functions
# Uncomment this to debug failures
#DEBUGFAIL="systemd.unit=multi-user.target"
@@ -33,7 +32,7 @@ run_qemu() {
run_nspawn() {
- systemd-nspawn -b -D $TESTDIR/nspawn-root --capability=CAP_AUDIT_CONTROL,CAP_AUDIT_WRITE /usr/lib/systemd/systemd
+ ../../systemd-nspawn -b -D $TESTDIR/nspawn-root /usr/lib/systemd/systemd
ret=1
[[ -e $TESTDIR/nspawn-root/testok ]] && ret=0
cp -a $TESTDIR/nspawn-root/failed $TESTDIR
@@ -123,15 +122,8 @@ EOF
LABEL=systemd / ext3 rw 0 1
EOF
- # setup the testsuite target
- cat >$initdir/etc/systemd/system/testsuite.target <<EOF
-[Unit]
-Description=Testsuite target
-Requires=multi-user.target
-After=multi-user.target
-Conflicts=rescue.target
-AllowIsolate=yes
-EOF
+ # setup the testsuite target and the test ending service
+ cp $TEST_BASE_DIR/{testsuite.target,end.service} $initdir/etc/systemd/system/
# setup the testsuite service
cat >$initdir/etc/systemd/system/testsuite.service <<EOF
@@ -141,11 +133,12 @@ After=multi-user.target
[Service]
ExecStart=/bin/bash -c 'set -x; systemctl --failed --no-legend --no-pager > /failed ; echo OK > /testok; while : ;do echo "testsuite service waiting for journal to move to /var/log/journal" > /dev/console ; for i in /var/log/journal/*;do [ -d "\$i" ] && echo "\$i" && break 2; done; sleep 1; done; sleep 1; exit 0;'
-ExecStopPost=/usr/bin/systemctl poweroff
Type=oneshot
EOF
+
mkdir -p $initdir/etc/systemd/system/testsuite.target.wants
ln -fs ../testsuite.service $initdir/etc/systemd/system/testsuite.target.wants/testsuite.service
+ ln -fs ../end.service $initdir/etc/systemd/system/testsuite.target.wants/end.service
# make the testsuite the default target
ln -fs testsuite.target $initdir/etc/systemd/system/default.target
@@ -219,7 +212,7 @@ EOF
# install ld.so.conf* and run ldconfig
cp -a /etc/ld.so.conf* $initdir/etc
ldconfig -r "$initdir"
- ddebug "Strip binaeries"
+ ddebug "Strip binaries"
find "$initdir" -perm +111 -type f | xargs strip --strip-unneeded | ddebug
# copy depmod files
@@ -236,7 +229,7 @@ EOF
ddebug "cp -ar $TESTDIR/root $TESTDIR/nspawn-root"
cp -ar $TESTDIR/root $TESTDIR/nspawn-root
# we don't mount in the nspawn root
- rm -fr $TESTDIR/nspawn-root/etc/fstab
+ rm -f $TESTDIR/nspawn-root/etc/fstab
ddebug "umount $TESTDIR/root"
umount $TESTDIR/root
@@ -248,5 +241,4 @@ test_cleanup() {
return 0
}
-. $TEST_BASE_DIR/test-functions
do_test "$@"
diff --git a/test/TEST-02-CRYPTSETUP/test.sh b/test/TEST-02-CRYPTSETUP/test.sh
index 790dc3074c..ec714301c6 100755
--- a/test/TEST-02-CRYPTSETUP/test.sh
+++ b/test/TEST-02-CRYPTSETUP/test.sh
@@ -3,8 +3,7 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="cryptsetup systemd setup"
-KVERSION=${KVERSION-$(uname -r)}
-KERNEL_VER=$(uname -r)
+. $TEST_BASE_DIR/test-functions
# Uncomment this to debug failures
#DEBUGFAIL="systemd.unit=multi-user.target"
@@ -122,15 +121,8 @@ LABEL=systemd / ext3 rw 0 1
/dev/mapper/varcrypt /var ext3 defaults 0 1
EOF
- # setup the testsuite target
- cat >$initdir/etc/systemd/system/testsuite.target <<EOF
-[Unit]
-Description=Testsuite target
-Requires=multi-user.target
-After=multi-user.target
-Conflicts=rescue.target
-AllowIsolate=yes
-EOF
+ # setup the testsuite target and the test ending service
+ cp $TEST_BASE_DIR/{testsuite.target,end.service} $initdir/etc/systemd/system/
# setup the testsuite service
cat >$initdir/etc/systemd/system/testsuite.service <<EOF
@@ -140,11 +132,12 @@ After=multi-user.target
[Service]
ExecStart=/bin/bash -c 'set -x; systemctl --failed --no-legend --no-pager > /failed ; echo OK > /testok; while : ;do systemd-cat echo "testsuite service waiting for /var/log/journal" ; echo "testsuite service waiting for journal to move to /var/log/journal" > /dev/console ; for i in /var/log/journal/*;do [ -d "\$i" ] && echo "\$i" && break 2; done; sleep 1; done; sleep 1; exit 0;'
-ExecStopPost=/usr/bin/systemctl poweroff
Type=oneshot
EOF
+
mkdir -p $initdir/etc/systemd/system/testsuite.target.wants
ln -fs ../testsuite.service $initdir/etc/systemd/system/testsuite.target.wants/testsuite.service
+ ln -fs ../end.service $initdir/etc/systemd/system/testsuite.target.wants/end.service
# make the testsuite the default target
ln -fs testsuite.target $initdir/etc/systemd/system/default.target
@@ -260,5 +253,4 @@ test_cleanup() {
return 0
}
-. $TEST_BASE_DIR/test-functions
do_test "$@"
diff --git a/test/TEST-03-JOBS/Makefile b/test/TEST-03-JOBS/Makefile
new file mode 120000
index 0000000000..e9f93b1104
--- /dev/null
+++ b/test/TEST-03-JOBS/Makefile
@@ -0,0 +1 @@
+../TEST-01-BASIC/Makefile \ No newline at end of file
diff --git a/test/TEST-03-JOBS/test-jobs.sh b/test/TEST-03-JOBS/test-jobs.sh
new file mode 100755
index 0000000000..12b38af942
--- /dev/null
+++ b/test/TEST-03-JOBS/test-jobs.sh
@@ -0,0 +1,41 @@
+#!/bin/bash -x
+
+# Test merging of a --ignore-dependencies job into a previously
+# installed job.
+
+systemctl start --no-block hello-after-sleep.target
+# sleep is now running, hello/start is waiting. Verify that:
+systemctl list-jobs > /root/list-jobs.txt
+grep 'sleep\.service.*running' /root/list-jobs.txt || exit 1
+grep 'hello\.service.*waiting' /root/list-jobs.txt || exit 1
+
+# This is supposed to finish quickly, not wait for sleep to finish.
+START_SEC=$(date -u '+%s')
+systemctl start --ignore-dependencies hello
+END_SEC=$(date -u '+%s')
+ELAPSED=$(($END_SEC-$START_SEC))
+
+[ "$ELAPSED" -lt 3 ] || exit 1
+
+# sleep should still be running, hello not.
+systemctl list-jobs > /root/list-jobs.txt
+grep 'sleep\.service.*running' /root/list-jobs.txt || exit 1
+grep 'hello\.service' /root/list-jobs.txt && exit 1
+
+# TODO: add more job queueing/merging tests here.
+
+# Test for irreversible jobs
+systemctl start unstoppable.service || exit 1
+
+# This is expected to fail with 'job cancelled'
+systemctl stop unstoppable.service && exit 1
+# But this should succeed
+systemctl stop --irreversible unstoppable.service || exit 1
+
+# We're going to shutdown soon. Let's see if it succeeds when
+# there's an active service that tries to be unstoppable.
+# Shutdown of the container/VM will hang if not.
+systemctl start unstoppable.service || exit 1
+
+touch /testok
+exit 0
diff --git a/test/TEST-03-JOBS/test.sh b/test/TEST-03-JOBS/test.sh
new file mode 100755
index 0000000000..6440d1f54b
--- /dev/null
+++ b/test/TEST-03-JOBS/test.sh
@@ -0,0 +1,249 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+TEST_DESCRIPTION="Job-related tests"
+
+. $TEST_BASE_DIR/test-functions
+
+# Uncomment this to debug failures
+#DEBUGFAIL="systemd.unit=multi-user.target"
+DEBUGTOOLS="df free ls stty cat ps ln ip route dmesg dhclient mkdir cp ping dhclient strace less grep id tty touch du sort"
+
+run_qemu() {
+ # TODO: qemu wrapper script: http://www.spinics.net/lists/kvm/msg72389.html
+ qemu-kvm \
+ -hda $TESTDIR/rootdisk.img \
+ -m 512M -nographic \
+ -net none -kernel /boot/vmlinuz-$KERNEL_VER \
+ -append "root=/dev/sda1 systemd.log_level=debug raid=noautodetect loglevel=2 init=/usr/lib/systemd/systemd ro console=ttyS0,115200n81 selinux=0 $DEBUGFAIL" || return 1
+
+ ret=1
+ mkdir -p $TESTDIR/root
+ mount ${LOOPDEV}p1 $TESTDIR/root
+ [[ -e $TESTDIR/root/testok ]] && ret=0
+ cp -a $TESTDIR/root/failed $TESTDIR
+ cp -a $TESTDIR/root/var/log/journal $TESTDIR
+ umount $TESTDIR/root
+ cat $TESTDIR/failed
+ ls -l $TESTDIR/journal/*/*.journal
+ test -s $TESTDIR/failed && ret=$(($ret+1))
+ return $ret
+}
+
+
+run_nspawn() {
+ ../../systemd-nspawn -b -D $TESTDIR/nspawn-root /usr/lib/systemd/systemd
+ ret=1
+ [[ -e $TESTDIR/nspawn-root/testok ]] && ret=0
+ cp -a $TESTDIR/nspawn-root/failed $TESTDIR
+ cp -a $TESTDIR/nspawn-root/var/log/journal $TESTDIR
+ cat $TESTDIR/failed
+ ls -l $TESTDIR/journal/*/*.journal
+ test -s $TESTDIR/failed && ret=$(($ret+1))
+ return $ret
+}
+
+
+test_run() {
+ if check_qemu ; then
+ run_qemu || return 1
+ else
+ dwarn "can't run qemu-kvm, skipping"
+ fi
+ if check_nspawn; then
+ run_nspawn || return 1
+ else
+ dwarn "can't run systemd-nspawn, skipping"
+ fi
+ return 0
+}
+
+test_setup() {
+ rm -f $TESTDIR/rootdisk.img
+ # Create the blank file to use as a root filesystem
+ dd if=/dev/null of=$TESTDIR/rootdisk.img bs=1M seek=200
+ LOOPDEV=$(losetup --show -P -f $TESTDIR/rootdisk.img)
+ [ -b $LOOPDEV ] || return 1
+ echo "LOOPDEV=$LOOPDEV" >> $STATEFILE
+ sfdisk -C 6400 -H 2 -S 32 -L $LOOPDEV <<EOF
+,3200
+,
+EOF
+
+ mkfs.ext3 -L systemd ${LOOPDEV}p1
+ echo -n test >$TESTDIR/keyfile
+ mkdir -p $TESTDIR/root
+ mount ${LOOPDEV}p1 $TESTDIR/root
+ mkdir -p $TESTDIR/root/run
+
+ # Create what will eventually be our root filesystem onto an overlay
+ (
+ LOG_LEVEL=5
+ initdir=$TESTDIR/root
+
+ # create the basic filesystem layout
+ setup_basic_dirs
+
+ # install compiled files
+ (cd ../..; make DESTDIR=$initdir install)
+
+ # remove unneeded documentation
+ rm -fr $initdir/usr/share/{man,doc,gtk-doc}
+
+ # install possible missing libraries
+ for i in $initdir/{sbin,bin}/* $initdir/lib/systemd/*; do
+ inst_libs $i
+ done
+
+ # make a journal directory
+ mkdir -p $initdir/var/log/journal
+
+ # install some basic config files
+ inst /etc/sysconfig/init
+ inst /etc/passwd
+ inst /etc/shadow
+ inst /etc/group
+ inst /etc/shells
+ inst /etc/nsswitch.conf
+ inst /etc/pam.conf
+ inst /etc/securetty
+ inst /etc/os-release
+ inst /etc/localtime
+ # we want an empty environment
+ > $initdir/etc/environment
+ > $initdir/etc/machine-id
+
+ # set the hostname
+ echo systemd-testsuite > $initdir/etc/hostname
+
+ eval $(udevadm info --export --query=env --name=${LOOPDEV}p2)
+
+ cat >$initdir/etc/fstab <<EOF
+LABEL=systemd / ext3 rw 0 1
+EOF
+
+ # setup the testsuite target and the test ending service
+ cp $TEST_BASE_DIR/{testsuite.target,end.service} $initdir/etc/systemd/system/
+
+ # setup the testsuite service
+ cat >$initdir/etc/systemd/system/testsuite.service <<EOF
+[Unit]
+Description=Testsuite service
+After=multi-user.target
+
+[Service]
+ExecStart=/test-jobs.sh
+Type=oneshot
+EOF
+
+ # copy the units used by this test
+ cp $TEST_BASE_DIR/{hello.service,sleep.service,hello-after-sleep.target,unstoppable.service} \
+ $initdir/etc/systemd/system
+ cp test-jobs.sh $initdir/
+
+ mkdir -p $initdir/etc/systemd/system/testsuite.target.wants
+ ln -fs ../testsuite.service $initdir/etc/systemd/system/testsuite.target.wants/testsuite.service
+ ln -fs ../end.service $initdir/etc/systemd/system/testsuite.target.wants/end.service
+
+ # make the testsuite the default target
+ ln -fs testsuite.target $initdir/etc/systemd/system/default.target
+ mkdir -p $initdir/etc/rc.d
+ cat >$initdir/etc/rc.d/rc.local <<EOF
+#!/bin/bash
+exit 0
+EOF
+ chmod 0755 $initdir/etc/rc.d/rc.local
+ # install basic tools needed
+ dracut_install sh bash setsid loadkeys setfont \
+ login sushell sulogin gzip sleep echo mount umount cryptsetup date
+ dracut_install dmsetup modprobe
+
+ # install libnss_files for login
+ inst_libdir_file "libnss_files*"
+
+ # install dbus and pam
+ find \
+ /etc/dbus-1 \
+ /etc/pam.d \
+ /etc/security \
+ /lib64/security \
+ /lib/security -xtype f \
+ | while read file; do
+ inst $file
+ done
+
+ # install dbus socket and service file
+ inst /usr/lib/systemd/system/dbus.socket
+ inst /usr/lib/systemd/system/dbus.service
+
+ # install basic keyboard maps and fonts
+ for i in \
+ /usr/lib/kbd/consolefonts/latarcyrheb-sun16* \
+ /usr/lib/kbd/keymaps/include/* \
+ /usr/lib/kbd/keymaps/i386/include/* \
+ /usr/lib/kbd/keymaps/i386/qwerty/us.*; do
+ [[ -f $i ]] || continue
+ inst $i
+ done
+
+ # some basic terminfo files
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+ dracut_install -o ${_terminfodir}/l/linux
+
+ # softlink mtab
+ ln -fs /proc/self/mounts $initdir/etc/mtab
+
+ # install any Exec's from the service files
+ egrep -ho '^Exec[^ ]*=[^ ]+' $initdir/lib/systemd/system/*.service \
+ | while read i; do
+ i=${i##Exec*=}; i=${i##-}
+ inst $i
+ done
+
+ # install plymouth, if found... else remove plymouth service files
+ # if [ -x /usr/libexec/plymouth/plymouth-populate-initrd ]; then
+ # PLYMOUTH_POPULATE_SOURCE_FUNCTIONS="$TEST_BASE_DIR/test-functions" \
+ # /usr/libexec/plymouth/plymouth-populate-initrd -t $initdir
+ # dracut_install plymouth plymouthd
+ # else
+ rm -f $initdir/{usr/lib,etc}/systemd/system/plymouth* $initdir/{usr/lib,etc}/systemd/system/*/plymouth*
+ # fi
+
+ # some helper tools for debugging
+ [[ $DEBUGTOOLS ]] && dracut_install $DEBUGTOOLS
+
+ # install ld.so.conf* and run ldconfig
+ cp -a /etc/ld.so.conf* $initdir/etc
+ ldconfig -r "$initdir"
+ ddebug "Strip binaeries"
+ find "$initdir" -perm +111 -type f | xargs strip --strip-unneeded | ddebug
+
+ # copy depmod files
+ inst /lib/modules/$KERNEL_VER/modules.order
+ inst /lib/modules/$KERNEL_VER/modules.builtin
+ # generate module dependencies
+ if [[ -d $initdir/lib/modules/$KERNEL_VER ]] && \
+ ! depmod -a -b "$initdir" $KERNEL_VER; then
+ dfatal "\"depmod -a $KERNEL_VER\" failed."
+ exit 1
+ fi
+ )
+ rm -fr $TESTDIR/nspawn-root
+ ddebug "cp -ar $TESTDIR/root $TESTDIR/nspawn-root"
+ cp -ar $TESTDIR/root $TESTDIR/nspawn-root
+ # we don't mount in the nspawn root
+ rm -fr $TESTDIR/nspawn-root/etc/fstab
+
+ ddebug "umount $TESTDIR/root"
+ umount $TESTDIR/root
+}
+
+test_cleanup() {
+ umount $TESTDIR/root 2>/dev/null
+ [[ $LOOPDEV ]] && losetup -d $LOOPDEV
+ return 0
+}
+
+do_test "$@"
diff --git a/test/end.service b/test/end.service
new file mode 100644
index 0000000000..0f04dfeb20
--- /dev/null
+++ b/test/end.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=End the test
+After=testsuite.service
+
+[Service]
+ExecStart=/usr/bin/systemctl poweroff --no-block
diff --git a/test/hello-after-sleep.target b/test/hello-after-sleep.target
new file mode 100644
index 0000000000..526fbd2a12
--- /dev/null
+++ b/test/hello-after-sleep.target
@@ -0,0 +1,5 @@
+[Unit]
+Description=Sleep for a minute, then say hello.
+Wants=sleep.service hello.service
+After=sleep.service
+Before=hello.service
diff --git a/test/hello.service b/test/hello.service
new file mode 100644
index 0000000000..82907b64e1
--- /dev/null
+++ b/test/hello.service
@@ -0,0 +1,5 @@
+[Unit]
+Description=Hello World
+
+[Service]
+ExecStart=/bin/echo "Hello World"
diff --git a/test/sleep.service b/test/sleep.service
new file mode 100644
index 0000000000..946c44b621
--- /dev/null
+++ b/test/sleep.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=Sleep for 1 minute
+
+[Service]
+Type=oneshot
+ExecStart=/bin/sleep 60
diff --git a/test/testsuite.target b/test/testsuite.target
new file mode 100644
index 0000000000..1a7e5b371a
--- /dev/null
+++ b/test/testsuite.target
@@ -0,0 +1,6 @@
+[Unit]
+Description=Testsuite target
+Requires=multi-user.target
+After=multi-user.target
+Conflicts=rescue.target
+AllowIsolate=yes
diff --git a/test/udev-test.pl b/test/udev-test.pl
index a9f5db03cf..23f1b726e0 100755
--- a/test/udev-test.pl
+++ b/test/udev-test.pl
@@ -1518,7 +1518,7 @@ if ($list[0]) {
}
}
-print "$error errors occured\n\n";
+print "$error errors occurred\n\n";
# cleanup
system("rm", "-rf", "$udev_dev");
diff --git a/test/unstoppable.service b/test/unstoppable.service
new file mode 100644
index 0000000000..24fb0a25e1
--- /dev/null
+++ b/test/unstoppable.service
@@ -0,0 +1,5 @@
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/bin/echo 'I'm unstoppable!'
+ExecStop=/bin/systemctl start --no-block unstoppable.service
diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf
index f3928d6967..ee86f2ebce 100644
--- a/tmpfiles.d/systemd.conf
+++ b/tmpfiles.d/systemd.conf
@@ -21,4 +21,4 @@ d /run/systemd/sessions 0755 root root -
d /run/systemd/users 0755 root root -
d /run/systemd/shutdown 0755 root root -
-F /run/nologin 0755 - - - "System is booting up."
+F /run/nologin 0644 - - - "System is booting up."
diff --git a/tmpfiles.d/tmp.conf b/tmpfiles.d/tmp.conf
index 1284fc4700..3b534a1f75 100644
--- a/tmpfiles.d/tmp.conf
+++ b/tmpfiles.d/tmp.conf
@@ -10,3 +10,9 @@
# Clear tmp directories separately, to make them easier to override
d /tmp 1777 root root 10d
d /var/tmp 1777 root root 30d
+
+# Exclude namespace mountpoints created with PrivateTmp=yes
+x /tmp/systemd-private-*
+x /var/tmp/systemd-private-*
+X /tmp/systemd-private-*/tmp
+X /var/tmp/systemd-private-*/tmp
diff --git a/units/.gitignore b/units/.gitignore
index 5e86d30113..606d947634 100644
--- a/units/.gitignore
+++ b/units/.gitignore
@@ -6,6 +6,7 @@
/systemd-hibernate.service
/systemd-suspend.service
/console-getty.service
+/console-getty.service.m4
/systemd-journald.service
/user@.service
/systemd-logind.service
@@ -13,9 +14,11 @@
/systemd-timedated.service
/systemd-hostnamed.service
/console-shell.service
+/console-shell.service.m4
/systemd-sysctl.service
/systemd-ask-password-console.service
/rescue.service
+/rescue.service.m4
/systemd-ask-password-wall.service
/systemd-quotacheck.service
/quotaon.service
@@ -23,6 +26,7 @@
/systemd-fsck-root.service
/systemd-tmpfiles-clean.service
/systemd-tmpfiles-setup.service
+/systemd-tmpfiles-setup-dev.service
/systemd-halt.service
/systemd-poweroff.service
/systemd-reboot.service
@@ -49,3 +53,8 @@
/systemd-udev-trigger.service
/systemd-udevd.service
/debug-shell.service
+/initrd-cleanup.service
+/initrd-parse-etc.service
+/initrd-switch-root.service
+/initrd-udevadm-cleanup-db.service
+/systemd-nspawn@.service
diff --git a/units/basic.target b/units/basic.target
index f9d03fa16f..6b9cfe4c97 100644
--- a/units/basic.target
+++ b/units/basic.target
@@ -8,6 +8,7 @@
[Unit]
Description=Basic System
Documentation=man:systemd.special(7)
-Requires=sysinit.target sockets.target
-After=sysinit.target sockets.target
+Requires=sysinit.target
+Wants=sockets.target timers.target paths.target
+After=sysinit.target sockets.target timers.target paths.target
RefuseManualStart=yes
diff --git a/units/debug-shell.service.in b/units/debug-shell.service.in
index 2aa98d3cc5..a6acad3ec5 100644
--- a/units/debug-shell.service.in
+++ b/units/debug-shell.service.in
@@ -6,18 +6,18 @@
# (at your option) any later version.
[Unit]
-Description=Early root shell on tty9 FOR DEBUGGING ONLY
+Description=Early root shell on @DEBUGTTY@ FOR DEBUGGING ONLY
Documentation=man:sushell(8)
DefaultDependencies=no
IgnoreOnIsolate=yes
[Service]
Environment=TERM=linux
-ExecStart=@sushell@
+ExecStart=@SUSHELL@
Restart=always
RestartSec=0
StandardInput=tty
-TTYPath=/dev/tty9
+TTYPath=@DEBUGTTY@
TTYReset=yes
TTYVHangup=yes
KillMode=process
diff --git a/units/dev-hugepages.mount b/units/dev-hugepages.mount
index 9381167c83..d711faed55 100644
--- a/units/dev-hugepages.mount
+++ b/units/dev-hugepages.mount
@@ -8,6 +8,7 @@
[Unit]
Description=Huge Pages File System
Documentation=https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt
+Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
DefaultDependencies=no
Before=sysinit.target
ConditionPathExists=/sys/kernel/mm/hugepages
diff --git a/units/dev-mqueue.mount b/units/dev-mqueue.mount
index 5786bb1519..5c11ca7d35 100644
--- a/units/dev-mqueue.mount
+++ b/units/dev-mqueue.mount
@@ -8,6 +8,7 @@
[Unit]
Description=POSIX Message Queue File System
Documentation=man:mq_overview(7)
+Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
DefaultDependencies=no
Before=sysinit.target
ConditionPathExists=/proc/sys/fs/mqueue
diff --git a/units/initrd-cleanup.service.in b/units/initrd-cleanup.service.in
new file mode 100644
index 0000000000..218ec807ff
--- /dev/null
+++ b/units/initrd-cleanup.service.in
@@ -0,0 +1,17 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Cleaning Up and Shutting Down Daemons
+DefaultDependencies=no
+ConditionPathExists=/etc/initrd-release
+OnFailure=emergency.target
+After=initrd-root-fs.target initrd-fs.target initrd.target
+
+[Service]
+Type=oneshot
+ExecStart=@rootbindir@/systemctl --no-block isolate initrd-switch-root.target
diff --git a/units/initrd-fs.target b/units/initrd-fs.target
new file mode 100644
index 0000000000..7578b8824b
--- /dev/null
+++ b/units/initrd-fs.target
@@ -0,0 +1,14 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Initrd File Systems
+Documentation=man:systemd.special(7)
+OnFailure=emergency.target
+OnFailureIsolate=yes
+ConditionPathExists=/etc/initrd-release
+After=initrd-parse-etc.service
diff --git a/units/initrd-parse-etc.service.in b/units/initrd-parse-etc.service.in
new file mode 100644
index 0000000000..07728e200f
--- /dev/null
+++ b/units/initrd-parse-etc.service.in
@@ -0,0 +1,21 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Reload Configuration from the Real Root
+DefaultDependencies=no
+Requires=initrd-root-fs.target
+After=initrd-root-fs.target
+OnFailure=emergency.target
+ConditionPathExists=/etc/initrd-release
+
+[Service]
+Type=oneshot
+ExecStartPre=@rootbindir@/systemctl daemon-reload
+# we have to retrigger initrd-fs.target after daemon-reload
+ExecStart=-@rootbindir@/systemctl --no-block start initrd-fs.target
+ExecStart=@rootbindir@/systemctl --no-block start initrd-cleanup.service
diff --git a/units/mail-transfer-agent.target b/units/initrd-root-fs.target
index d2f24d15b9..cd189f0296 100644
--- a/units/mail-transfer-agent.target
+++ b/units/initrd-root-fs.target
@@ -5,9 +5,9 @@
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
-# This exists mostly for compatibility with SysV/LSB units, and
-# implementations lacking socket/bus activation.
-
[Unit]
-Description=Mail Transfer Agent
+Description=Initrd Root File System
Documentation=man:systemd.special(7)
+ConditionPathExists=/etc/initrd-release
+OnFailure=emergency.target
+OnFailureIsolate=yes
diff --git a/units/initrd-switch-root.service.in b/units/initrd-switch-root.service.in
new file mode 100644
index 0000000000..6740264149
--- /dev/null
+++ b/units/initrd-switch-root.service.in
@@ -0,0 +1,19 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Switch Root
+DefaultDependencies=no
+ConditionPathExists=/etc/initrd-release
+OnFailure=emergency.target
+AllowIsolate=yes
+
+[Service]
+Type=oneshot
+# we have to use "--force" here, otherwise systemd would umount /run
+ExecStart=@rootbindir@/systemctl --no-block --force switch-root /sysroot
+KillMode=none
diff --git a/units/initrd-switch-root.target b/units/initrd-switch-root.target
new file mode 100644
index 0000000000..f34768790b
--- /dev/null
+++ b/units/initrd-switch-root.target
@@ -0,0 +1,16 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Switch Root
+ConditionPathExists=/etc/initrd-release
+DefaultDependencies=no
+Requires=initrd-switch-root.service
+Before=initrd-switch-root.service
+AllowIsolate=yes
+Wants=initrd-udevadm-cleanup-db.service initrd-root-fs.target initrd-fs.target systemd-journald.service
+After=initrd-udevadm-cleanup-db.service initrd-root-fs.target initrd-fs.target emergency.service emergency.target
diff --git a/units/initrd-udevadm-cleanup-db.service.in b/units/initrd-udevadm-cleanup-db.service.in
new file mode 100644
index 0000000000..5c6654efc4
--- /dev/null
+++ b/units/initrd-udevadm-cleanup-db.service.in
@@ -0,0 +1,18 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Cleanup udevd DB
+DefaultDependencies=no
+ConditionPathExists=/etc/initrd-release
+Conflicts=systemd-udevd.service systemd-udevd-control.socket systemd-udevd-kernel.socket
+After=systemd-udevd.service systemd-udevd-control.socket systemd-udevd-kernel.socket
+Before=initrd-switch-root.target
+
+[Service]
+Type=oneshot
+ExecStart=-@rootbindir@/udevadm info --cleanup-db
diff --git a/units/initrd.target b/units/initrd.target
new file mode 100644
index 0000000000..bb9054fb89
--- /dev/null
+++ b/units/initrd.target
@@ -0,0 +1,17 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Initrd Default Target
+Documentation=man:systemd.special(7)
+OnFailure=emergency.target
+OnFailureIsolate=yes
+ConditionPathExists=/etc/initrd-release
+Requires=basic.target
+Wants=initrd-root-fs.target initrd-fs.target initrd-parse-etc.service
+After=initrd-root-fs.target initrd-fs.target basic.target rescue.service rescue.target
+AllowIsolate=yes
diff --git a/units/local-fs-pre.target b/units/local-fs-pre.target
index f8760ec9df..809f2ed236 100644
--- a/units/local-fs-pre.target
+++ b/units/local-fs-pre.target
@@ -8,3 +8,4 @@
[Unit]
Description=Local File Systems (Pre)
Documentation=man:systemd.special(7)
+RefuseManualStart=yes
diff --git a/units/local-fs.target b/units/local-fs.target
index dd92b17b6a..18c3d74f18 100644
--- a/units/local-fs.target
+++ b/units/local-fs.target
@@ -8,5 +8,6 @@
[Unit]
Description=Local File Systems
Documentation=man:systemd.special(7)
+After=local-fs-pre.target
OnFailure=emergency.target
-OnFailureIsolate=yes
+OnFailureIsolate=no
diff --git a/units/multi-user.target b/units/multi-user.target
index 6e3f0b4f7a..998e04603e 100644
--- a/units/multi-user.target
+++ b/units/multi-user.target
@@ -6,7 +6,7 @@
# (at your option) any later version.
[Unit]
-Description=Multi-User
+Description=Multi-User System
Documentation=man:systemd.special(7)
Requires=basic.target
Conflicts=rescue.service rescue.target
diff --git a/units/network-online.target b/units/network-online.target
new file mode 100644
index 0000000000..a40c44c9be
--- /dev/null
+++ b/units/network-online.target
@@ -0,0 +1,11 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Network is Online
+Documentation=man:systemd.special(7)
+Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
diff --git a/units/network.target b/units/network.target
index 5406f4e5d9..65fc64b02c 100644
--- a/units/network.target
+++ b/units/network.target
@@ -8,3 +8,4 @@
[Unit]
Description=Network
Documentation=man:systemd.special(7)
+Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
diff --git a/units/nss-lookup.target b/units/nss-lookup.target
index eea905a715..c9e3a7c419 100644
--- a/units/nss-lookup.target
+++ b/units/nss-lookup.target
@@ -11,4 +11,4 @@
[Unit]
Description=Host and Network Name Lookups
Documentation=man:systemd.special(7)
-After=network.target
+RefuseManualStart=yes
diff --git a/units/nss-user-lookup.target b/units/nss-user-lookup.target
index 3e0fced101..80023cdfb6 100644
--- a/units/nss-user-lookup.target
+++ b/units/nss-user-lookup.target
@@ -11,4 +11,4 @@
[Unit]
Description=User and Group Name Lookups
Documentation=man:systemd.special(7)
-After=network.target
+RefuseManualStart=yes
diff --git a/units/paths.target b/units/paths.target
new file mode 100644
index 0000000000..25c7fd031e
--- /dev/null
+++ b/units/paths.target
@@ -0,0 +1,10 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Paths
+Documentation=man:systemd.special(7)
diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount
index 7fd5afe3cd..6be38937b1 100644
--- a/units/proc-sys-fs-binfmt_misc.automount
+++ b/units/proc-sys-fs-binfmt_misc.automount
@@ -8,6 +8,7 @@
[Unit]
Description=Arbitrary Executable File Formats File System Automount Point
Documentation=https://www.kernel.org/doc/Documentation/binfmt_misc.txt
+Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
DefaultDependencies=no
Before=sysinit.target
ConditionPathExists=/proc/sys/fs/binfmt_misc/
diff --git a/units/proc-sys-fs-binfmt_misc.mount b/units/proc-sys-fs-binfmt_misc.mount
index c64c84951e..8c7c386318 100644
--- a/units/proc-sys-fs-binfmt_misc.mount
+++ b/units/proc-sys-fs-binfmt_misc.mount
@@ -8,6 +8,7 @@
[Unit]
Description=Arbitrary Executable File Formats File System
Documentation=https://www.kernel.org/doc/Documentation/binfmt_misc.txt
+Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
DefaultDependencies=no
[Mount]
diff --git a/units/remote-fs-pre.target b/units/remote-fs-pre.target
index 2169533bd3..36a196cfda 100644
--- a/units/remote-fs-pre.target
+++ b/units/remote-fs-pre.target
@@ -8,4 +8,4 @@
[Unit]
Description=Remote File Systems (Pre)
Documentation=man:systemd.special(7)
-After=network.target nss-lookup.target
+RefuseManualStart=yes
diff --git a/units/remote-fs.target b/units/remote-fs.target
index 9e68878ad8..09213e8fca 100644
--- a/units/remote-fs.target
+++ b/units/remote-fs.target
@@ -8,6 +8,7 @@
[Unit]
Description=Remote File Systems
Documentation=man:systemd.special(7)
+After=remote-fs-pre.target
[Install]
WantedBy=multi-user.target
diff --git a/units/rpcbind.target b/units/rpcbind.target
index eb06a6db26..e03e915ee0 100644
--- a/units/rpcbind.target
+++ b/units/rpcbind.target
@@ -11,3 +11,4 @@
[Unit]
Description=RPC Port Mapper
Documentation=man:systemd.special(7)
+RefuseManualStart=yes
diff --git a/units/sys-fs-fuse-connections.mount b/units/sys-fs-fuse-connections.mount
index 9269ea4272..ebd93e2cda 100644
--- a/units/sys-fs-fuse-connections.mount
+++ b/units/sys-fs-fuse-connections.mount
@@ -8,6 +8,7 @@
[Unit]
Description=FUSE Control File System
Documentation=https://www.kernel.org/doc/Documentation/filesystems/fuse.txt
+Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
DefaultDependencies=no
ConditionPathExists=/sys/fs/fuse/connections
After=systemd-modules-load.service
diff --git a/units/sys-kernel-config.mount b/units/sys-kernel-config.mount
index e7cd4909c1..020101c0d8 100644
--- a/units/sys-kernel-config.mount
+++ b/units/sys-kernel-config.mount
@@ -8,6 +8,7 @@
[Unit]
Description=Configuration File System
Documentation=https://www.kernel.org/doc/Documentation/filesystems/configfs/configfs.txt
+Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
DefaultDependencies=no
ConditionPathExists=/sys/kernel/config
After=systemd-modules-load.service
diff --git a/units/sys-kernel-debug.mount b/units/sys-kernel-debug.mount
index 8b1e33e7f7..5369728a9f 100644
--- a/units/sys-kernel-debug.mount
+++ b/units/sys-kernel-debug.mount
@@ -8,6 +8,7 @@
[Unit]
Description=Debug File System
Documentation=https://www.kernel.org/doc/Documentation/filesystems/debugfs.txt
+Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
DefaultDependencies=no
ConditionPathExists=/sys/kernel/debug
Before=sysinit.target
diff --git a/units/syslog.socket b/units/syslog.socket
index c784357627..e6e9cf8525 100644
--- a/units/syslog.socket
+++ b/units/syslog.socket
@@ -10,14 +10,11 @@ Description=Syslog Socket
Documentation=man:systemd.special(7)
Documentation=http://www.freedesktop.org/wiki/Software/systemd/syslog
DefaultDependencies=no
-Before=sockets.target syslog.target shutdown.target
+Before=sockets.target shutdown.target
# Don't allow logging until the very end
Conflicts=shutdown.target
-# Pull in syslog.target to tell people that /dev/log is now accessible
-Wants=syslog.target
-
[Socket]
ListenDatagram=/run/systemd/journal/syslog
SocketMode=0666
diff --git a/units/syslog.target b/units/syslog.target
deleted file mode 100644
index 423fef30ad..0000000000
--- a/units/syslog.target
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file is part of systemd.
-#
-# systemd is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2.1 of the License, or
-# (at your option) any later version.
-
-# This exists mostly for compatibility with SysV/LSB units, and
-# implementations lacking socket/bus activation.
-
-[Unit]
-Description=Syslog
-Documentation=man:systemd.special(7)
-Documentation=http://www.freedesktop.org/wiki/Software/systemd/syslog
-
-# Avoid that we conflict with shutdown.target, so that we can stay
-# until the very end and do not cancel shutdown.target if we should
-# happen to be activated very late.
-DefaultDependencies=no
diff --git a/units/systemd-ask-password-console.path b/units/systemd-ask-password-console.path
index 80f6cc4c18..2949635fea 100644
--- a/units/systemd-ask-password-console.path
+++ b/units/systemd-ask-password-console.path
@@ -11,7 +11,7 @@ Documentation=man:systemd-ask-password-console.service(8)
DefaultDependencies=no
Conflicts=shutdown.target
After=plymouth-start.service
-Before=basic.target shutdown.target
+Before=paths.target shutdown.target
ConditionPathExists=!/run/plymouth/pid
[Path]
diff --git a/units/systemd-ask-password-console.service.in b/units/systemd-ask-password-console.service.in
index 4bcb30be02..a24fa51903 100644
--- a/units/systemd-ask-password-console.service.in
+++ b/units/systemd-ask-password-console.service.in
@@ -10,7 +10,7 @@ Description=Dispatch Password Requests to Console
Documentation=man:systemd-ask-password-console.service(8)
DefaultDependencies=no
Conflicts=shutdown.target
-After=plymouth-start.service
+After=plymouth-start.service systemd-vconsole-setup.service
Before=shutdown.target
ConditionPathExists=!/run/plymouth/pid
diff --git a/units/systemd-ask-password-wall.path b/units/systemd-ask-password-wall.path
index 62dee80552..95ec9bc8a0 100644
--- a/units/systemd-ask-password-wall.path
+++ b/units/systemd-ask-password-wall.path
@@ -10,7 +10,7 @@ Description=Forward Password Requests to Wall Directory Watch
Documentation=man:systemd-ask-password-console.service(8)
DefaultDependencies=no
Conflicts=shutdown.target
-Before=basic.target shutdown.target
+Before=paths.target shutdown.target
[Path]
DirectoryNotEmpty=/run/systemd/ask-password
diff --git a/units/systemd-journal-gatewayd.service.in b/units/systemd-journal-gatewayd.service.in
index c3b5c725bf..a01ce8da45 100644
--- a/units/systemd-journal-gatewayd.service.in
+++ b/units/systemd-journal-gatewayd.service.in
@@ -11,6 +11,9 @@ Requires=systemd-journal-gatewayd.socket
[Service]
ExecStart=@rootlibexecdir@/systemd-journal-gatewayd
+User=systemd-journal-gateway
+Group=systemd-journal-gateway
+SupplementaryGroups=systemd-journal
[Install]
Also=systemd-journal-gatewayd.socket
diff --git a/units/systemd-journald.socket b/units/systemd-journald.socket
index dbe8882c0e..4f0619d258 100644
--- a/units/systemd-journald.socket
+++ b/units/systemd-journald.socket
@@ -9,7 +9,7 @@
Description=Journal Socket
Documentation=man:systemd-journald.service(8) man:journald.conf(5)
DefaultDependencies=no
-Before=sockets.target syslog.target
+Before=sockets.target
# Mount and swap units need this. If this socket unit is removed by an
# isolate request the mount and and swap units would be removed too,
diff --git a/units/systemd-nspawn@.service.in b/units/systemd-nspawn@.service.in
new file mode 100644
index 0000000000..c0d5886f88
--- /dev/null
+++ b/units/systemd-nspawn@.service.in
@@ -0,0 +1,18 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Container %i
+Documentation=man:systemd-nspawn(1)
+
+[Service]
+ExecStart=@bindir@/systemd-nspawn -bjD /var/lib/container/%i
+ControlGroup=%R/machine/%i.nspawn cpu:/
+Type=notify
+
+[Install]
+Also=multi-user.target
diff --git a/units/systemd-readahead-done.timer b/units/systemd-readahead-done.timer
index 2828d198a6..41bfb2bd32 100644
--- a/units/systemd-readahead-done.timer
+++ b/units/systemd-readahead-done.timer
@@ -14,7 +14,7 @@ After=default.target
Before=shutdown.target
[Timer]
-OnActiveSec=10s
+OnActiveSec=30s
[Install]
Also=systemd-readahead-collect.service
diff --git a/units/systemd-remount-fs.service.in b/units/systemd-remount-fs.service.in
index cddb0a1fb9..70e1a8680a 100644
--- a/units/systemd-remount-fs.service.in
+++ b/units/systemd-remount-fs.service.in
@@ -8,6 +8,7 @@
[Unit]
Description=Remount Root and Kernel File Systems
Documentation=man:systemd-remount-fs.service(8)
+Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-fsck-root.service
diff --git a/units/systemd-tmpfiles-clean.service.in b/units/systemd-tmpfiles-clean.service.in
index a288232e12..a5b5acb0c2 100644
--- a/units/systemd-tmpfiles-clean.service.in
+++ b/units/systemd-tmpfiles-clean.service.in
@@ -7,7 +7,7 @@
[Unit]
Description=Cleanup of Temporary Directories
-Documentation=man:tmpfiles.d(5)
+Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
DefaultDependencies=no
Wants=local-fs.target
After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target
diff --git a/units/systemd-tmpfiles-clean.timer b/units/systemd-tmpfiles-clean.timer
index fac4ee3da8..9975dcfaca 100644
--- a/units/systemd-tmpfiles-clean.timer
+++ b/units/systemd-tmpfiles-clean.timer
@@ -7,7 +7,7 @@
[Unit]
Description=Daily Cleanup of Temporary Directories
-Documentation=man:tmpfiles.d(5)
+Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
[Timer]
OnBootSec=15min
diff --git a/units/systemd-tmpfiles-setup-dev.service.in b/units/systemd-tmpfiles-setup-dev.service.in
new file mode 100644
index 0000000000..f029285bc0
--- /dev/null
+++ b/units/systemd-tmpfiles-setup-dev.service.in
@@ -0,0 +1,17 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Create static device nodes in /dev
+Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
+DefaultDependencies=no
+Before=sysinit.target systemd-udevd.service
+ConditionCapability=CAP_MKNOD
+
+[Service]
+Type=oneshot
+ExecStart=@rootbindir@/systemd-tmpfiles --prefix=/dev --create
diff --git a/units/systemd-tmpfiles-setup.service.in b/units/systemd-tmpfiles-setup.service.in
index dbd6bfb6d5..4a3441c3ac 100644
--- a/units/systemd-tmpfiles-setup.service.in
+++ b/units/systemd-tmpfiles-setup.service.in
@@ -7,7 +7,7 @@
[Unit]
Description=Recreate Volatile Files and Directories
-Documentation=man:tmpfiles.d(5)
+Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
DefaultDependencies=no
Wants=local-fs.target
After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target
diff --git a/units/systemd-udev-settle.service.in b/units/systemd-udev-settle.service.in
index b631949648..037dd9a872 100644
--- a/units/systemd-udev-settle.service.in
+++ b/units/systemd-udev-settle.service.in
@@ -5,15 +5,9 @@
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
-# This service is usually not enabled by default. If enabled, it
-# acts as a barrier for basic.target -- so all later services will
-# wait for udev completely finishing its coldplug run.
-#
-# If needed, to work around broken or non-hotplug-aware services,
-# it might be enabled unconditionally, or pulled-in on-demand by
-# the services that assume a fully populated /dev at startup. It
-# should not be used or pulled-in ever on systems without such
-# legacy services running.
+# This service can dynamically be pulled-in by legacy services which
+# cannot reliably cope with dynamic device configurations, and wrongfully
+# expect a populated /dev during bootup.
[Unit]
Description=udev Wait for Complete Device Initialization
@@ -21,10 +15,11 @@ Documentation=man:udev(7) man:systemd-udevd.service(8)
DefaultDependencies=no
Wants=systemd-udevd.service
After=systemd-udev-trigger.service
+Before=sysinit.target
ConditionCapability=CAP_MKNOD
[Service]
Type=oneshot
TimeoutSec=180
RemainAfterExit=yes
-ExecStart=@bindir@/udevadm settle
+ExecStart=@rootbindir@/udevadm settle
diff --git a/units/systemd-udev-trigger.service.in b/units/systemd-udev-trigger.service.in
index 391f996930..604c369a1b 100644
--- a/units/systemd-udev-trigger.service.in
+++ b/units/systemd-udev-trigger.service.in
@@ -8,12 +8,13 @@
[Unit]
Description=udev Coldplug all Devices
Documentation=man:udev(7) man:systemd-udevd.service(8)
+DefaultDependencies=no
Wants=systemd-udevd.service
After=systemd-udevd-kernel.socket systemd-udevd-control.socket
-DefaultDependencies=no
+Before=sysinit.target
ConditionCapability=CAP_MKNOD
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart=@bindir@/udevadm trigger --type=subsystems --action=add ; @bindir@/udevadm trigger --type=devices --action=add
+ExecStart=@rootbindir@/udevadm trigger --type=subsystems --action=add ; @rootbindir@/udevadm trigger --type=devices --action=add
diff --git a/units/systemd-udevd-control.socket b/units/systemd-udevd-control.socket
index 9065ea2c64..ca17102dfa 100644
--- a/units/systemd-udevd-control.socket
+++ b/units/systemd-udevd-control.socket
@@ -9,6 +9,7 @@
Description=udev Control Socket
Documentation=man:systemd-udevd.service(8) man:udev(7)
DefaultDependencies=no
+Before=sockets.target
ConditionCapability=CAP_MKNOD
[Socket]
diff --git a/units/systemd-udevd-kernel.socket b/units/systemd-udevd-kernel.socket
index 54a005b7a7..4b8a5b0fb5 100644
--- a/units/systemd-udevd-kernel.socket
+++ b/units/systemd-udevd-kernel.socket
@@ -9,6 +9,7 @@
Description=udev Kernel Socket
Documentation=man:systemd-udevd.service(8) man:udev(7)
DefaultDependencies=no
+Before=sockets.target
ConditionCapability=CAP_MKNOD
[Socket]
diff --git a/units/systemd-udevd.service.in b/units/systemd-udevd.service.in
index 2fe7822fe9..ddef423625 100644
--- a/units/systemd-udevd.service.in
+++ b/units/systemd-udevd.service.in
@@ -8,10 +8,10 @@
[Unit]
Description=udev Kernel Device Manager
Documentation=man:systemd-udevd.service(8) man:udev(7)
+DefaultDependencies=no
Wants=systemd-udevd-control.socket systemd-udevd-kernel.socket
After=systemd-udevd-control.socket systemd-udevd-kernel.socket
-Before=basic.target
-DefaultDependencies=no
+Before=sysinit.target local-fs-pre.target
ConditionCapability=CAP_MKNOD
[Service]
diff --git a/units/time-sync.target b/units/time-sync.target
index ec00ecbbf4..54078069f2 100644
--- a/units/time-sync.target
+++ b/units/time-sync.target
@@ -11,3 +11,4 @@
[Unit]
Description=System Time Synchronized
Documentation=man:systemd.special(7)
+RefuseManualStart=yes
diff --git a/units/timers.target b/units/timers.target
new file mode 100644
index 0000000000..07fda3d9d0
--- /dev/null
+++ b/units/timers.target
@@ -0,0 +1,10 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Timers
+Documentation=man:systemd.special(7)
diff --git a/units/tmp.mount b/units/tmp.mount
index 94c41c29ba..99a3ba3f6c 100644
--- a/units/tmp.mount
+++ b/units/tmp.mount
@@ -8,6 +8,7 @@
[Unit]
Description=Temporary Directory
Documentation=man:hier(7)
+Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
DefaultDependencies=no
Conflicts=umount.target
Before=local-fs.target umount.target
diff --git a/units/user/default.target b/units/user/default.target
index 56cf4dcb9c..71eed51b09 100644
--- a/units/user/default.target
+++ b/units/user/default.target
@@ -8,3 +8,4 @@
[Unit]
Description=Default
Documentation=man:systemd.special(7)
+AllowIsolate=yes
diff --git a/units/user@.service.in b/units/user@.service.in
index 2c154953b1..3cf1347b16 100644
--- a/units/user@.service.in
+++ b/units/user@.service.in
@@ -6,14 +6,18 @@
# (at your option) any later version.
[Unit]
-Description=User Manager for %I
+Description=User Manager for %u
After=systemd-user-sessions.service
[Service]
User=%I
PAMName=systemd-shared
-ControlGroup=%R/user/%I/shared cpu:/
+# in order to allow MEM_CG features to work, add "memory:/" here
+ControlGroup=%R/user/%U.user/shared cpu:/
ControlGroupModify=yes
Type=notify
ExecStart=-@rootlibexecdir@/systemd --user
-Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%I/dbus/user_bus_socket
+Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%U/dbus/user_bus_socket
+
+[Install]
+Alias=user@%i.service
diff --git a/xml_helper.py b/xml_helper.py
new file mode 100644
index 0000000000..08e226fa21
--- /dev/null
+++ b/xml_helper.py
@@ -0,0 +1,41 @@
+# -*- Mode: python; coding: utf-8; indent-tabs-mode: nil -*- */
+#
+# This file is part of systemd.
+#
+# Copyright 2012-2013 Zbigniew Jędrzejewski-Szmek
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+try:
+ from lxml import etree as tree
+
+ class CustomResolver(tree.Resolver):
+ def resolve(self, url, id, context):
+ if 'custom-entities.ent' in url:
+ return self.resolve_filename('man/custom-entities.ent', context)
+
+ _parser = tree.XMLParser()
+ _parser.resolvers.add(CustomResolver())
+ xml_parse = lambda page: tree.parse(page, _parser)
+ xml_print = lambda xml: tree.tostring(xml, pretty_print=True,
+ encoding='utf-8')
+except ImportError:
+ import xml.etree.ElementTree as tree
+ import re as _re
+ import io as _io
+
+ def xml_parse(page):
+ s = _re.sub(b'&[a-zA-Z0-9_]+;', b'', open(page, 'rb').read())
+ return tree.parse(_io.BytesIO(s))
+ xml_print = lambda xml: tree.tostring(xml, encoding='utf-8')